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!
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?
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...
[Please log in to post a comment]