55
66#pragma enumsalwaysint off
77typedef enum MarioMotion {
8- kStay , //0x0
9- kWalk , //0x1
10- kDash , //0x2
11- kJump , //0x3
12- kJumpNPC , //0x4
13- kJumpSw , //0x5
14- kJumpStand , //0x6
15- kJump2 , //0x7
16- kJump3 , //0x8
17- kJumpSmall , //0x9
18- kFall , //0xA
19- kFall2 , //0xB
20- kUpstairs , //0xC
21- kLand , //0xD
22- kTalk , //0xE
23- kGetItem , //0xF
24- kHip , //0x10
25- kHip2 , //0x11
26- kHammer , //0x12
27- kHammer2 , //0x13
28- kJabara , //0x14
29- kSlit , //0x15
30- kRoll , //0x16
31- kKaze , //0x17
32- kPlane , //0x18
33- kShip , //0x19
34- kYoshi , //0x1A
35- kCloud , //0x1B
36- kVivian , //0x1C
37- kDokan , //0x1D
38- kGrasp , //0x1E
39- kDamage , //0x1F
40- kDamageToge , //0x20
41- kBottomless , //0x21
42- kForceReset , //0x22
43- kShadow , //0x23
44- kPartyUse , //0x24
45- kKpaSwim , //0x25
46- kKpaPowUp , //0x26
47- kKpaPowDown , //0x27
48- kDummy , //0x28
49- kMotionMax = 0xFFFF
8+ MARIO_MOTION_STAY , //0x0
9+ MARIO_MOTION_WALK , //0x1
10+ MARIO_MOTION_DASH , //0x2
11+ MARIO_MOTION_JUMP , //0x3
12+ MARIO_MOTION_JUMP_NPC , //0x4
13+ MARIO_MOTION_JUMP_SW , //0x5
14+ MARIO_MOTION_JUMP_STAND , //0x6
15+ MARIO_MOTION_JUMP_2 , //0x7
16+ MARIO_MOTION_JUMP_3 , //0x8
17+ MARIO_MOTION_JUMP_SMALL , //0x9
18+ MARIO_MOTION_FALL , //0xA
19+ MARIO_MOTION_FALL_2 , //0xB
20+ MARIO_MOTION_UPSTAIRS , //0xC
21+ MARIO_MOTION_LAND , //0xD
22+ MARIO_MOTION_TALK , //0xE
23+ MARIO_MOTION_GET_ITEM , //0xF
24+ MARIO_MOTION_HIP , //0x10
25+ MARIO_MOTION_HIP_2 , //0x11
26+ MARIO_MOTION_HAMMER , //0x12
27+ MARIO_MOTION_HAMMER_2 , //0x13
28+ MARIO_MOTION_JABARA , //0x14
29+ MARIO_MOTION_SLIT , //0x15
30+ MARIO_MOTION_ROLL , //0x16
31+ MARIO_MOTION_KAZE , //0x17
32+ MARIO_MOTION_PLANE , //0x18
33+ MARIO_MOTION_SHIP , //0x19
34+ MARIO_MOTION_YOSHI , //0x1A
35+ MARIO_MOTION_CLOUD , //0x1B
36+ MARIO_MOTION_VIVIAN , //0x1C
37+ MARIO_MOTION_DOKAN , //0x1D
38+ MARIO_MOTION_GRASP , //0x1E
39+ MARIO_MOTION_DAMAGE , //0x1F
40+ MARIO_MOTION_DAMAGE_TOGE , //0x20
41+ MARIO_MOTION_BOTTOMLESS , //0x21
42+ MARIO_MOTION_FORCE_RESET , //0x22
43+ MARIO_MOTION_SHADOW , //0x23
44+ MARIO_MOTION_PARTY_USE , //0x24
45+ MARIO_MOTION_KPA_SWIM , //0x25
46+ MARIO_MOTION_KPA_POW_UP , //0x26
47+ MARIO_MOTION_KPA_POW_DOWN , //0x27
48+ MARIO_MOTION_DUMMY , //0x28
49+ MARIO_MOTION_MOTION_MAX = 0xFFFF
5050} MarioMotion ;
5151#pragma enumsalwaysint on
5252
53+ #pragma enumsalwaysint off
54+ typedef enum MarioFlags {
55+ MARIO_FLAG_ACTIVE = (1 << 0 ),
56+ MARIO_FLAG_CTRL_OFF = (1 << 1 ),
57+ MARIO_FLAG_CTRL_OFF_2 = (1 << 2 ),
58+ MARIO_FLAG_KEY_OFF = (1 << 3 ),
59+ MARIO_FLAG_FORCED_MOVEMENT = (1 << 5 ),
60+ MARIO_FLAG_USE_FORCE_DIRECTION = (1 << 6 ),
61+ MARIO_FLAG_STOP_AIR_MOVEMENT = (1 << 7 ),
62+ MARIO_FLAG_FLOORS_DISABLED = (1 << 8 ),
63+ MARIO_FLAG_FORCE_WALL = (1 << 9 ),
64+ MARIO_FLAG_WALLS_DISABLED = (1 << 10 ),
65+ MARIO_FLAG_HAMMER_HIT_WALL = (1 << 11 ),
66+ MARIO_FLAG_PRE_BATTLE_PHYSICS = (1 << 12 ),
67+ MARIO_FLAG_IS_CARRYING_BOBBERY = (1 << 13 ),
68+ MARIO_FLAG_ITEM_GET_DISABLED = (1 << 14 ),
69+ MARIO_FLAG_IS_PUSHING = (1 << 15 ),
70+ MARIO_FLAG_IS_JUMPING = (1 << 16 ),
71+ MARIO_FLAG_IS_FALLING = (1 << 17 ),
72+ MARIO_FLAG_IS_STEPPING = (1 << 18 ),
73+ MARIO_FLAG_HAS_INPUT_JUMP = (1 << 19 ),
74+ MARIO_FLAG_PAPER_MODE = (1 << 20 ),
75+ MARIO_FLAG_GONE_THROUGH_BARS = (1 << 21 ),
76+ MARIO_FLAG_PARTY_WALK_DISABLED = (1 << 22 ),
77+ MARIO_FLAG_SLIT_ABILITY_DISABLED = (1 << 23 ),
78+ MARIO_FLAG_TUBE_MODE = (1 << 24 ),
79+ MARIO_FLAG_BG_MODE = (1 << 25 ),
80+ MARIO_FLAG_IN_SHALLOW_WATER = (1 << 26 ),
81+ MARIO_FLAG_IS_TOUCHING_CEILING = (1 << 27 ),
82+ MARIO_FLAG_CHG_MOT_DISABLED = (1 << 28 ),
83+ MARIO_FLAG_IS_SHADOW_MARIO = (1 << 30 ),
84+ MARIO_FLAG_IS_8_BIT = (1 << 31 )
85+ } MarioFlags ;
86+ #pragma enumsalwaysint on
87+
5388//TODO: US struct is bigger, 0x2F8 vs 0x2E0
5489typedef struct MarioWork {
5590 u32 flags ; //0x0
@@ -70,7 +105,10 @@ typedef struct MarioWork {
70105 s8 colorId ; //0x3D
71106 u8 field_0x3E [0x44 - 0x3E ]; //0x3E
72107 u32 currSubMotionId ; //0x44
73- u8 field_0x48 [0x5C - 0x48 ]; //0x48
108+ u32 multiTimer ; //0x48, ???
109+ u8 field_0x4C [0x50 - 0x4C ]; //0x4C
110+ s16 airTimer ; // 0x50
111+ u8 field_0x52 [0x5C - 0x52 ]; //0x52
74112 s16 unk5C ; //0x5C
75113 s16 unk5E ; //0x5E
76114 s16 unk60 ; //0x60
@@ -94,9 +132,7 @@ typedef struct MarioWork {
94132 f32 unk144 ; //0x144
95133 f32 unk148 ; //0x148
96134 f32 unk14C ; //0x14C
97- f32 unk150 ; //0x150
98- f32 unk154 ; //0x154
99- f32 unk158 ; //0x158
135+ Vec unk150 ; //0x150
100136 f32 camFollowRate ; //0x15C
101137 u8 unk160 [0x168 - 0x160 ]; //0x160
102138 s32 unk168 ; //0x168
0 commit comments