Log In  

I've been plucking away, a function or two a day, or a SFX, or a handful of sprites, etc. Still just mashing on my days off and lunch breaks. Starting to see some little tidbits of going somewhere, at least.

Anyways, I ran into a thing I could use someone with a little deeper expertise in dealing with.

I'm devising a kind of proc-gen DDR game/song generator, using four hex-character seeds to implement 12 randomizable sequencers*, which are then used to pull table data and plant music data structurally (and then apply stepchart logic to that). The part in particular I'm needing help with is making a few functions that can universally change the speed, octave, and instrument choice of a selection of SFX (32-62, in fact - 00-31 only need speed adjusted since they're bass/percussion layers), maybe one to change the speed of one SFX in particular (for multiplied-speed layering after that).

I'm not 100% sure where the "poke" ranges I need to target for that kind of thing are.

The other function is simply one that pokes the SFX ids in the music editor, after this step.

*sequencing follows musical structure, like
1, 2, 1, 3, 1, 2, 1, 4; 5, 6, 5, 7, 5, 6, 5, 8;... and so forth. It's not just "randomly" cobbled together!

P#55327 2018-08-17 11:11 ( Edited 2018-08-21 16:13)

Here's Zep describing some audio data addresses:

This cart also has some interesting poke values:

Hope this helps!

P#55331 2018-08-17 12:14 ( Edited 2018-08-17 16:14)

So I can do the speed and the instrument... but the octave shift appears to be considerably more troubling, since I'm literally rewriting every note on a byte-by-byte basis...

That'll probably push me over my code target, right there; and that sucks, because that's one of the main ways I'm trying to make variance in... maybe if I make some kind of subset that's like +/-12s to the note data? thinks

Also, do you poke() in standard notation, or in hex? I'm presuming the latter?

P#55357 2018-08-18 01:35 ( Edited 2018-08-18 05:54)

It doesn't seem like it would take much code to iterate through a sequence and shift all octaves in that sequence.

Or am I missing something?

P#55360 2018-08-18 04:44 ( Edited 2018-08-18 08:44)

I think I've got a few functions, thanks to some help on the Discord. The real pain in the butt is the instrument variation; because it's poked across two different bytes. Also, I thought I had to poke each specific address for the octave shift, but it turns out a simple for/do loop simplifies that plenty.

Later I might split that up into four bars (since chord progression is a Very Real Thing tm), but for now I think I've got a basis for what I need.

Now to write the verse/chorus/interlude/outro-intro parts that wrap around those editing functions...

P#55461 2018-08-21 12:13 ( Edited 2018-08-21 16:13)

[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2023-06-02 07:36:50 | 0.007s | Q:12