Hey
Tater
I just realized that some flags and a “move ID” I’ve been poking and prodding at in RAM for a couple weeks match all of the flags used in the Move Logic table included with v1.31. Actually, I can reconstruct the whole table as currently loaded player data from the player data table (which presumably load off of the values editable here in Crazy Hand.)
To see these in Dolphin or Cheat Engine, follow a player data pointer (ex, P1 is pointed to by 0x80453130, P2 by 0x804534C0) and add the following offsets to the resulting pointer to get the exact address in RAM of any of the following during a game:
player.0x74 - “Subaction ID”
player.0x20D0 - “Flags 1”
player.0x20CB - “Flags 2” -- (just one byte?)
Also, the function pointers--I’ve been playing with these a bit lately and I think they have the potential to make Achilles’ recent
chimera of a subaction event dance in ways that are really interesting:
player.0x21FC - IASA function pointer
player.0x2200 - Animation Interrupt function pointer
player.0x2204 - Action Physics function pointer
player.0x2208 - Collision Interrupt function pointer
player.0x220C - Camera Behaviour function pointer
Here’s something I’m pretty certain of:
I also know just a couple of things about the flags:
---
I can also confirm what
Itaru
said about
Event 94 -- the effect can be seen normally in the “blink” animation for various teleport-like moves. It also seems to have 2 sister events, each of which use the exact same syntax:
Event 8C -- toggles held item visibility
Event 90 -- toggles visibility of other articles (tested with the Bunny Hood)
Here are my notes on a few other unknown subaction events:
30 00 00 XX
--”Adjust Hitbox Damage”
- XX -- Damage to replace hitbox value
- note that there is a 3-bit hitbox ID in the first 2 bytes that is identical to 2C events:
64 00 00 0X
--”Ground Anchor?” (Don't know much about this one; used in many recovery moves)
- 0 - seems to move the player to nearest point on last used platform/surface (gfycat)
- 1 - ?
- 2 - ?
A4 XX Y0 00
--”Animate Bodypart”
- XX - body part selector (ex: 18 = Fox’s left eye, 20 = Fox’s right eye, 00 = Fox’s left hand)
- Y - Animation state (ex: 0 = closed eye, 1 = half-closed eye, 2 = open eye, 3 = tightly closed eye)
C4 00 00 0X
--”Sword Trail Visibility”
- Input written to player.0x2160
- byte appears to use "0" "1" and "2" to initialize a status "3" of being on; and "FF" when off.
- X = 0-based number of sword trails? May be something else, but increases number of trails.
- special syntax C5 FF FF FF equates to “-1” byte; used to terminate sword trail