I was thinking about this the other day and had some thoughts that might help clarify what I'm trying to accomplish here.
I have some very basic knowledge of coding. I've done some GameShark hacking back in the day, so I know how those code structures work:
XXYYYYYY ZZZZ
X's - code type (activator or value rewrite 8-bit vs. 16 bit, etc.)
Y's - memory address
Z's - value
Unfortunately, I don't know how action replay or Gecko codes are formatted. That said, I'm sure they can operate on the same principle.
So if the game determines Link's jump type like this (for simplicity's sake, "Y" is used instead of "Y or X")...
-Y Pressed, Link enters JumpSquat state on Frame 1
-If Y is let go on:
-- Frame 2 of JumpSquat >> SH on frame 7
-- Frame 3 " " >> SH on frame 7
-- Frame 4 " " >> SH on frame 7
-- Frame 5 " " >> SH on frame 7
-- Frame 6 " " >> SH on frame 7
-- Frame 7 " " >> Nope, too late, it's a FH now. Besides, there's no frame 7 of Jumpsquat, dude
...can we implement codes that do the following?:
-Y pressed, Link enters Jumpsquat state on Frame 1
-If Y is let go on:
-- Frame 2 of JumpSquat >> SH on frame 7
-- Frame 3 " " >> SH on frame 7
-- Frame 4 " " >> Nope, too late, we're gonna tell the game that you're still holding Y for the next 3 frames so it results in a FH
-- Frame 5 " " >> Gonna tell the game you're still holding Y for 2 more frames, so FH
-- Frame 6 " " >> You're a Link main, aren't you? Y for one more frame, FH
-- Frame 7 " " >> FH. Derr.
Yeah, I know this would almost certainly cause desyncs on Slippi, but that's not a concern. And it doesn't have to be for every character, or even every controller port. If this were the N64, I'd know how to format the code, but unfortunately that's not the case. Thoughts?