SMBX Player Offsets
Jump to navigation
Jump to search
This is the memory map for the player struct. This struct is not fully analysed. Any help is appreciated!
Please note that the data may not be fully 100% accurate.
| PC Memory (0x184 bytes) | |||
|---|---|---|---|
| Name | Memory address | Memory type | Description |
| SMBX PC+0x00 | PC+0x00 | FIELD_WORD | Toad doublejump ready (FFFF true) |
| SMBX PC+0x02 | PC+0x02 | FIELD_WORD | Star sparkling effect on player |
| SMBX PC+0x04 | PC+0x04 | FIELD_WORD | Horizontal and ducking disabled (?) |
| SMBX PC+0x06 | PC+0x06 | FIELD_WORD | Ducking enabled? |
| SMBX PC+0x08 | PC+0x08 | FIELD_WORD | Water or quicksand timer |
| SMBX PC+0x0A | PC+0x0A | FIELD_WORD | Is on slippery ground |
| Link Content Below | N/A | N/A | N/A |
| SMBX PC+0x0C | PC+0x0C | FIELD_WORD | Is a fairy |
| SMBX PC+0x0E | PC+0x0E | FIELD_WORD | Fairy already used this jump (1 true) |
| SMBX PC+0x10 | PC+0x10 | FIELD_WORD | Frames until fairy runs out |
| SMBX PC+0x12 | PC+0x12 | FIELD_WORD | Link has a key |
| SMBX PC+0x14 | PC+0x14 | FIELD_WORD | Link slash cooldown timer |
| SMBX PC+0x16 | PC+0x16 | FIELD_WORD | # of hearts (all characters) |
| Peach Content Below | N/A | N/A | N/A |
| SMBX PC+0x18 | PC+0x18 | FIELD_WORD | Princess hover is available |
| SMBX PC+0x1A | PC+0x1A | FIELD_WORD | Holding jump button |
| SMBX PC+0x1C | PC+0x1C | FIELD_WORD | Princess hover timer |
| SMBX PC+0x1E | PC+0x1E | FIELD_WORD | Unused (not cleared on level load) |
| SMBX PC+0x20 | PC+0x20 | FIELD_FLOAT | Princess hover Y tremble speed |
| SMBX PC+0x24 | PC+0x24 | FIELD_WORD | Princess hover Y tremble direction |
| Misc Content Below | N/A | N/A | N/A |
| SMBX PC+0x26 | PC+0x26 | FIELD_WORD | Ground item pull-up timer |
| SMBX PC+0x28 | PC+0x28 | FIELD_FLOAT | Ground item pull-up momentum save |
| SMBX PC+0x2A | PC+0x2A | FIELD_WORD | Unused (not cleared on level load) |
| Climbing Content Below | N/A | N/A | N/A |
| SMBX PC+0x2C | PC+0x2C | FIELD_WORD | Climbing related |
| SMBX PC+0x30 | PC+0x30 | FIELD_WORD | Climbing related |
| SMBX PC+0x32 | PC+0x32 | FIELD_WORD | Climbing related |
| Water Content Below | N/A | N/A | N/A |
| SMBX PC+0x34 | PC+0x34 | FIELD_WORD | 2 when in water |
| SMBX PC+0x36 | PC+0x36 | FIELD_WORD | 0xFFFF when in water |
| SMBX PC+0x38 | PC+0x38 | FIELD_WORD | Water stroke timer (can't stroke again until 0) |
| Misc Content Below | N/A | N/A | N/A |
| SMBX PC+0x3A | PC+0x3A | FIELD_WORD | Unknown hover timer |
| SMBX PC+0x3C | PC+0x3C | FIELD_WORD | Is sliding |
| SMBX PC+0x3E | PC+0x3E | FIELD_WORD | Is generating sliding smoke puffs |
| SMBX PC+0x40 | PC+0x40 | FIELD_WORD | Climbing state (3 climbing, 2 pushed up against edge of climbable area) |
| SMBX PC+0x42 | PC+0x42 | FIELD_WORD | Unknown timer42 |
| SMBX PC+0x44 | PC+0x44 | FIELD_WORD | Unknown flag44 |
| SMBX PC+0x46 | PC+0x46 | FIELD_WORD | Unknown46 (powerup pickup related) |
| SMBX PC+0x48 | PC+0x48 | FIELD_WORD | Slope modifier |
| Tanooki Suit Content Below | N/A | N/A | N/A |
| SMBX PC+0x4A | PC+0x4A | FIELD_WORD | Tanooki suit statue flag |
| SMBX PC+0x4C | PC+0x4C | FIELD_WORD | Statue transform cooldown frame timer |
| SMBX PC+0x4E | PC+0x4E | FIELD_WORD | Frames spent as statue |
| Spinjump Content Below | N/A | N/A | N/A |
| SMBX PC+0x50 | PC+0x50 | FIELD_WORD | Spinjump flag (-1 true) |
| SMBX PC+0x52 | PC+0x52 | FIELD_WORD | Spinjump state counter |
| SMBX PC+0x54 | PC+0x54 | FIELD_WORD | Spinjump land direction (will face this direction when landing) |
| State Content Below | N/A | N/A | N/A |
| SMBX PC+0x56 | PC+0x56 | FIELD_WORD | Current enemy kill combo count |
| SMBX PC+0x58 | PC+0x58 | FIELD_WORD | Ground sliding smoke puffs state |
| SMBX PC+0x5A | PC+0x5A | FIELD_WORD | Warp is nearby (1 pipe, 2 instant, 3 door) |
| SMBX PC+0x60 | PC+0x60 | FIELD_WORD | Has jumped |
| Unknown Content Below | N/A | N/A | N/A |
| SMBX PC+0x62 | PC+0x62 | FIELD_WORD | Unknown62 |
| SMBX PC+0x64 | PC+0x64 | FIELD_WORD | Unknown64 |
| SMBX PC+0x66 | PC+0x66 | FIELD_WORD | Unknown66 |
| SMBX PC+0x68 | PC+0x68 | FIELD_WORD | Unknown68 |
| SMBX PC+0x7A | PC+0x7A | FIELD_WORD | Yoshi's animation frame (0-6 is left, 7-13 is right) |
| SMBX PC+0x7C | PC+0x7C | FIELD_WORD | Yoshi animation frame timer (rapidly increments from 0 to 31, freezes in the air, resets to 0 when pressing down; probably used to to move body and head with the animation) |
| Mount Content Below | N/A | N/A | N/A |
| SMBX PC+0x7E | PC+0x7E | FIELD_WORD | Mount upper X offset |
| SMBX PC+0x80 | PC+0x80 | FIELD_WORD | Mount upper Y offset |
| SMBX PC+0x82 | PC+0x82 | FIELD_WORD | Mount upper GFX index |
| SMBX PC+0x84 | PC+0x84 | FIELD_WORD | Mount item in mouth swallow timer |
| SMBX PC+0x86 | PC+0x86 | FIELD_WORD | Mount lower X offset |
| SMBX PC+0x88 | PC+0x88 | FIELD_WORD | Mount upper Y offset |
| SMBX PC+0x8A | PC+0x8A | FIELD_WORD | Mount lower GFX index |
| SMBX PC+0x8C | PC+0x8C | FIELD_WORD | Unknown82 |
| SMBX PC+0x8E | PC+0x8E | FIELD_WORD | Unknown82 |
| SMBX PC+0x90 | PC+0x90 | FIELD_WORD | Tongue X position |
| SMBX PC+0x98 | PC+0x98 | FIELD_WORD | Tongue Y position |
| SMBX PC+0xA0 | PC+0xA0 | FIELD_WORD | Tongue height or hitbox related |
| SMBX PC+0xA8 | PC+0xA8 | FIELD_WORD | Tongue height or hitbox related |
| Position Content Below | N/A | N/A | N/A |
| SMBX PC+0xC0 | PC+0xC0 | FIELD_WORD | Player X position (absolute coordinates within level) |
| SMBX PC+0xC8 | PC+0xC8 | FIELD_WORD | Player Y position (absolute coordinates within level) |
| SMBX PC+0xD0 | PC+0xD0 | FIELD_DFLOAT | Player height or hitbox related |
| SMBX PC+0xD8 | PC+0xD8 | FIELD_DFLOAT | Player width or hitbox related |
| SMBX PC+0xE0 | PC+0xE0 | FIELD_WORD | Player X speed |
| SMBX PC+0xE8 | PC+0xE8 | FIELD_WORD | Player Y speed |
| SMBX PC+0xF0 | PC+0xF0 | FIELD_WORD | Player identity index (0 nothing! don't use, 1 demo, 2 iris, 3 princess, 5 sheath) |
| Input Content Below | N/A | N/A | N/A |
| SMBX PC+0xF2 | PC+0xF2 | FIELD_WORD | U key pressing |
| SMBX PC+0xF4 | PC+0xF4 | FIELD_WORD | D key pressing |
| SMBX PC+0xF6 | PC+0xF6 | FIELD_WORD | L key pressing |
| SMBX PC+0xF8 | PC+0xF8 | FIELD_WORD | R key pressing |
| SMBX PC+0xFA | PC+0xFA | FIELD_WORD | J key pressing |
| SMBX PC+0xFC | PC+0xFC | FIELD_WORD | SJ key pressing |
| SMBX PC+0xFE | PC+0xFE | FIELD_WORD | X key pressing |
| SMBX PC+0x100 | PC+0x100 | FIELD_WORD | RN key pressing |
| SMBX PC+0x102 | PC+0x102 | FIELD_WORD | SEL key pressing |
| SMBX PC+0x104 | PC+0x104 | FIELD_WORD | STR key pressing |
| SMBX PC+0x106 | PC+0x106 | FIELD_WORD | Direction faced (-1 left) |
| Mount Content Below | N/A | N/A | N/A |
| SMBX PC+0x108 | PC+0x108 | FIELD_WORD | Mount identity (0 no mount,1 boot, 2 clowncar, 3 yoshi) |
| SMBX PC+0x10A | PC+0x10A | FIELD_WORD | Mount color |
| SMBX PC+0x10C | PC+0x10C | FIELD_WORD | Mount state |
| SMBX PC+0x10E | PC+0x10E | FIELD_WORD | Mount height offset or something |
| SMBX PC+0x110 | PC+0x110 | FIELD_WORD | Mount gfx index |
| State Content Below | N/A | N/A | N/A |
| SMBX PC+0x112 | PC+0x112 | FIELD_WORD | Current powerup |
| SMBX PC+0x114 | PC+0x114 | FIELD_WORD | Current player sprite index being displayed |
| SMBX PC+0x116 | PC+0x116 | FIELD_WORD | Unused |
| SMBX PC+0x118 | PC+0x118 | FIELD_FLOAT | X momentum assumption (used when determining how to draw the sprite) |
| SMBX PC+0x11C | PC+0x11C | FIELD_WORD | Current upward jumping force (2 byte integer representation) |
| SMBX PC+0x11E | PC+0x11E | FIELD_WORD | Holding jump button (-1 is Can Jump. 1 is Can't Jump) |
| SMBX PC+0x120 | PC+0x120 | FIELD_WORD | Holding spinjump button |
| SMBX PC+0x122 | PC+0x122 | FIELD_WORD | Forced animation state. (1 is powerup, 2 is powerdown, 3 is entering pipe, 4 is getting fire flower, 7 is entering door, 500 is tanooki statue poof state) |
| SMBX PC+0x124 | PC+0x124 | FIELD_FLOAT | Unknown124 |
| SMBX PC+0x128 | PC+0x128 | FIELD_FLOAT | Unknown128 |
| SMBX PC+0x12C | PC+0x12C | FIELD_WORD | Down button mirror (redundant?) |
| SMBX PC+0x12E | PC+0x12E | FIELD_WORD | In ducking state |
| SMBX PC+0x130 | PC+0x130 | FIELD_WORD | Select button mirror (redundant?) |
| SMBX PC+0x132 | PC+0x132 | FIELD_WORD | Triggered to -1 when the collected-powerup invincibility animation ends. |
| SMBX PC+0x134 | PC+0x134 | FIELD_WORD | Down button pressed this frame (reset next frame) |
| SMBX PC+0x136 | PC+0x136 | FIELD_WORD | Unknown136 |
| SMBX PC+0x138 | PC+0x138 | FIELD_FLOAT | X momentum push (eg. pushed by a bully) |
| SMBX PC+0x13C | PC+0x13C | FIELD_WORD | Player death state |
| SMBX PC+0x13E | PC+0x13E | FIELD_WORD | Player death animation timer |
| SMBX PC+0x140 | PC+0x140 | FIELD_WORD | Powerup blinking timer (starts at nil and goes to 50 for powerup and 150 for hurt) |
| SMBX PC+0x142 | PC+0x142 | FIELD_WORD | Powerup blinking state |
| SMBX PC+0x144 | PC+0x144 | FIELD_WORD | Unknown144 |
| Layer Content Below | N/A | N/A | N/A |
| SMBX PC+0x146 | PC+0x146 | FIELD_WORD | Bottom state (0 not on the ground or standing on sprite, 2 foot contact with a solid layer) |
| SMBX PC+0x148 | PC+0x148 | FIELD_WORD | Left state (0 no left contact, 1 half or pushed back by a solid layer, 2 pushing against layer) |
| SMBX PC+0x14A | PC+0x14A | FIELD_WORD | Top state (0 no top contact, 1 half or pushed back by a solid layer, 2 pushing against layer) |
| SMBX PC+0x14C | PC+0x14C | FIELD_WORD | Right state (0 no right contact, 1 half or pushed back by a solid layer, 2 pushing against layer) |
| SMBX PC+0x14E | PC+0x14E | FIELD_WORD | Pushed by a moving layer (0 not pushed by any, 2 being pushed to the left or right) |
| SMBX PC+0x150 | PC+0x150 | FIELD_WORD | Unused150 |
| SMBX PC+0x152 | PC+0x152 | FIELD_WORD | Unused152 |
| Misc Content Below | N/A | N/A | N/A |
| SMBX PC+0x154 | PC+0x154 | FIELD_WORD | Index of sprite being held (index to a specific sprite object that was generated only, -1 can't carry anything) |
| SMBX PC+0x156 | PC+0x156 | FIELD_WORD | Unknown156, usually reset to 0 (grabAll-cheat related) |
| SMBX PC+0x158 | PC+0x158 | FIELD_WORD | Powerup box contents (0 no item) |
| Section Content Below | N/A | N/A | N/A |
| SMBX PC+0x15A | PC+0x15A | FIELD_WORD | Current section |
| SMBX PC+0x15C | PC+0x15C | FIELD_WORD | Warp timer (can't warp / pipe until 0) |
| SMBX PC+0x15E | PC+0x15E | FIELD_WORD | Warp ID |
| Projectile Content Below | N/A | N/A | N/A |
| SMBX PC+0x160 | PC+0x160 | FIELD_WORD | Projectile timer (fireballs, hammers, link slash..) |
| SMBX PC+0x162 | PC+0x162 | FIELD_WORD | Projectile timer 2 (link projectiles) |
| SMBX PC+0x164 | PC+0x164 | FIELD_WORD | Tail swipe timer |
| SMBX PC+0x166 | PC+0x166 | FIELD_WORD | Unknown166 |
| Flight Content Below | N/A | N/A | N/A |
| SMBX PC+0x168 | PC+0x168 | FIELD_FLOAT | Run speed aggregate until flight achieveable |
| SMBX PC+0x16C | PC+0x16C | FIELD_WORD | Can fly |
| SMBX PC+0x16E | PC+0x16E | FIELD_WORD | Is flying |
| SMBX PC+0x170 | PC+0x170 | FIELD_WORD | Flight time remaining |
| SMBX PC+0x172 | PC+0x172 | FIELD_WORD | Holding flight run button |
| SMBX PC+0x174 | PC+0x174 | FIELD_WORD | Holding flight button |
| Misc Content Below | N/A | N/A | N/A |
| SMBX PC+0x176 | PC+0x176 | FIELD_WORD | Index of sprite being stood on |
| SMBX PC+0x178 | PC+0x178 | FIELD_WORD | Unknown X momentum with sprites |
| SMBX PC+0x17A | PC+0x17A | FIELD_WORD | Usually forced to -1 |
| Unused Content Below | N/A | N/A | N/A |
| SMBX PC+0x17C | PC+0x17C | FIELD_WORD | Unused17C |
| SMBX PC+0x17E | PC+0x17E | FIELD_WORD | Unused17E |
| SMBX PC+0x180 | PC+0x180 | FIELD_WORD | Unused180 |
| SMBX PC+0x182 | PC+0x182 | FIELD_WORD | Unused182 |
| SMBX PC+0x184 | PC+0x184 | FIELD_WORD | Unused184 |