The spam move with frame mods code uses InternetExplorer's Action State Hack that can force characters into an action at a certain frame number.
To customize this code for a specific move (for any character), there are three parameters to consider.
1) The move to spam
2) Beginning frame number
3) Ending frame number which then loops back to the beginning frame number
----------------------
1) Action to spam (not even necessarily an attack, but any action):
- The input for this is an action state reference value. For common values shared between all characters (normal aerials, smash attacks, dash attack,etc), use the Action State Reference tab in
this document to get the value.
- For action state values not in that document (e.g. special attacks), you'll need to find them yourself.
1. Open Debug Dolphin, get in a match (as P1, for simplicity sake) and perform the move you want. Pause the game during the middle of the move.
2. Go to the memory viewer tab and go to 0x453130. The value at this address is a pointer to a memory location that is the start of P1's character data info offset.
3. In that document linked to above, go to the "Data Offset" sheet. One of the items listed there is 0x70 - Action State Value.
4. Add 0x70 to the start of P1's data offset (value at 0x453130) and you will now be at the memory address that gives a value for the current action state the character is in. You can make sure you are at the correct address by doing an action that is on the Google Doc list, like a dash attack, and comparing the values.
2) & 3)
- You can use the debug menu to get to Dblevel Develop mode and use the frame advance feature to find accurate frame data or just mess with values yourself to get the starting frame and ending frame for an attack you want.
- Once you have the frame numbers, you need to convert them into 32-bit floating point values.
- Go to this
decimal to hex conversion site and put your decimal value (ex. 9) into the top field and hit enter. It will give you a floating point hex value for that number.
Ex. 9 (decimal) = 0x41100000 (32-bit floating point)
Because we'll only be using integers, the code I wrote is only concerned with the first 4 characters of that hex value (so 4110).
- Get the first 4 hex characters for your frame numbers you want.
Overwrite Current Values in DOL
- In the 20XX DOL,
0x00426372 = frame number for action to end and loop
0x0042637a = action state value
0x00426382 = frame to start action state on
So for the F-Smash, I did
0x
41C80000 = (25) frame number for action to end and loop
0x0000
003C = AttackS4S - Mid Fsmash
0x
41100000 = (9) frame to start action state on
View attachment 20184