This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
super_mario_64:structs [2019/05/24 21:27] jesusyoshi54 [Object] |
super_mario_64:structs [2019/12/20 19:47] (current) jesusyoshi54 [Object] |
||
---|---|---|---|
Line 21: | Line 21: | ||
| 0x20 | float | normal_y | | | 0x20 | float | normal_y | | ||
| 0x24 | float | normal_z | | | 0x24 | float | normal_z | | ||
- | | 0x28 | float | negdot | | + | | 0x28 | float | origin offset | |
- | | 0x2C | u32 | unused? | | + | | 0x2C | u32 | *object | |
===== Controller ===== | ===== Controller ===== | ||
Line 68: | Line 68: | ||
| 0x20 | u32* | object_spawn_info_ptr (objects linked list head)| | | 0x20 | u32* | object_spawn_info_ptr (objects linked list head)| | ||
| 0x24 | u32* | LevelCameraPointer (generated at run-time) | | | 0x24 | u32* | LevelCameraPointer (generated at run-time) | | ||
- | | 0x28 | u32 | | | + | | 0x28 | u32 | unused | |
| 0x2C | u32* | Whirlpool_1_ptr | | | 0x2C | u32* | Whirlpool_1_ptr | | ||
| 0x30 | u32* | Whirlpool_2_ptr | | | 0x30 | u32* | Whirlpool_2_ptr | | ||
| 0x34 | u8 | Level start dialog number (see: [[super_mario_64:level_commands#show_dialog|Level command 0x30]]) | | | 0x34 | u8 | Level start dialog number (see: [[super_mario_64:level_commands#show_dialog|Level command 0x30]]) | | ||
- | | 0x35 | u8 | Always 0xFF? | | + | | 0x35 | u8 | Level start dialog 2 (unused?) | |
| 0x36 | s16 | music_param | | | 0x36 | s16 | music_param | | ||
| 0x38 | s16 | music_param2 (title screen,etc) | | | 0x38 | s16 | music_param2 (title screen,etc) | | ||
- | | 0x3A | u16 | unused (padding) | | ||
===== Object ===== | ===== Object ===== | ||
Line 103: | Line 102: | ||
| 0x44 | u16 | anim_current_frame_copy | | | 0x44 | u16 | anim_current_frame_copy | | ||
| 0x46 | u16 | animation_increment | | | 0x46 | u16 | animation_increment | | ||
- | | 0x48 | u32 | | | + | | 0x48 | u32 | animation accel | |
- | | 0x4C | u32 | | | + | | 0x4C | struct | Spawn Info | |
| 0x50 | struct matrix* | transform_matrix_ptr (4x4 affine) | | | 0x50 | struct matrix* | transform_matrix_ptr (4x4 affine) | | ||
- | | 0x54 | float | | | + | | 0x54 | float | Cam to Obj X | |
- | | 0x58 | float | | | + | | 0x58 | float | Cam to Obj Y | |
- | | 0x5C | float | | | + | | 0x5C | float | Cam to Obj Z | |
| 0x60 | struct object* | next_object_ptr | | | 0x60 | struct object* | next_object_ptr | | ||
| 0x64 | struct object* | prev_object_ptr | | | 0x64 | struct object* | prev_object_ptr | | ||
| 0x68 | struct object* | parent_object_ptr | | | 0x68 | struct object* | parent_object_ptr | | ||
- | | 0x6C | u32 | | | + | | 0x6C | struct object* | prev object | |
- | | 0x70 | u32 | | | + | | 0x70 | u32 | Collided Obj Interact Type | |
- | | 0x74 | u16 | active (0x0000 = inactive, 0x0101 = active) | | + | | 0x74 | u16 | active (0x0000 = inactive, 0x0101 = active, 0x20 move in time stop) | |
| 0x76 | u16 | num_collided_obj | | | 0x76 | u16 | num_collided_obj | | ||
| 0x78 | struct object* | collided_obj_ptr1 (according to YE, pointer to object collided with) | | | 0x78 | struct object* | collided_obj_ptr1 (according to YE, pointer to object collided with) | | ||
Line 122: | Line 121: | ||
| 0x88 | u32 | | | | 0x88 | u32 | | | ||
| 0x8C | u32 | obj_flags | | | 0x8C | u32 | obj_flags | | ||
- | | 0x90 | u32 | | | + | | 0x90 | s16 | dialog response | |
- | | 0x94 | u32 | | | + | | 0x92 | s16 | dialog state | |
- | | 0x98 | u32 | | | + | | 0x94 | u32 | unused | |
+ | | 0x98 | u32 | unused | | ||
| 0x9C | u32 | collision_timer | | | 0x9C | u32 | collision_timer | | ||
| 0xA0 | float | x_pos | | | 0xA0 | float | x_pos | | ||
Line 141: | Line 141: | ||
| 0xD4 | u32 | y_rotation2 | | | 0xD4 | u32 | y_rotation2 | | ||
| 0xD8 | u32 | z_rotation2 | | | 0xD8 | u32 | z_rotation2 | | ||
- | | 0xDC | u32 | | | + | | 0xDC | u32 | Graph Y Offset | |
- | | 0xE0 | u32 | | | + | | 0xE0 | u32 | Active Particle Flags | |
| 0xE4 | float | gravity | | | 0xE4 | float | gravity | | ||
| 0xE8 | u32 | floor_height | | | 0xE8 | u32 | floor_height | | ||
Line 155: | Line 155: | ||
| 0x10C | u32 | | | | 0x10C | u32 | | | ||
| 0x110 | u32 | | | | 0x110 | u32 | | | ||
- | | 0x114 | u16 | | | + | | 0x114 | s32 | Moves Mario's pitch while ontop of the object | |
- | | 0x116 | s16 | Moves Mario in Z direction while ontop of the object | | + | | 0x118 | s32 | Spins Mario around while ontop of the object | |
- | | 0x118 | u16 | | | + | | 0x11C | s32 | Moves Mario's roll while ontop of the object | |
- | | 0x11A | s16 | Spins Mario around while ontop of the object | | + | | 0x120 | u32 | animation_list_ptr (set by 0x27 26 behavior command)| |
- | | 0x11C | u16 | | | + | | 0x124 | u32 | Held State | |
- | | 0x11E | s16 | Moves Mario in X direction while ontop of the object | | + | |
- | | 0x120 | u32 | animation_list_ptr (set by 0x27 26 behavior command) entry for animation?| | + | |
- | | 0x124 | u32 | in some behaviors, action related? | | + | |
| 0x128 | float | min_wall_dist | | | 0x128 | float | min_wall_dist | | ||
| 0x12C | float | drag_coeff | | | 0x12C | float | drag_coeff | | ||
| 0x130 | u32 | interaction (collision_type) | | | 0x130 | u32 | interaction (collision_type) | | ||
- | | 0x134 | u32 | | | + | | 0x134 | u32 | interaction status | |
- | | 0x138 | u32 | | | + | | 0x138 | u32 | Parent relative X pos | |
- | | 0x13C | u32 | | | + | | 0x13C | u32 | Parent relative Y pos | |
- | | 0x140 | u32 | | | + | | 0x140 | u32 | Parent relative Z pos | |
| 0x144 | u32 | behav_param (sub_type) | | | 0x144 | u32 | behav_param (sub_type) | | ||
- | | 0x148 | u32 | | | + | | 0x148 | u32 | unused | |
| 0x14C | u32 | action | | | 0x14C | u32 | action | | ||
- | | 0x150 | u32 | resets when action changes | | + | | 0x150 | u32 | sub action (resets when action changes) | |
| 0x154 | u32 | timer (always incremented) | | | 0x154 | u32 | timer (always incremented) | | ||
| 0x158 | float | bounce | | | 0x158 | float | bounce | | ||
Line 181: | Line 178: | ||
| 0x168 | float | spawn_y | | | 0x168 | float | spawn_y | | ||
| 0x16C | float | spanw_z | | | 0x16C | float | spanw_z | | ||
- | | 0x170 | float | | | + | | 0x170 | float | friction | |
| 0x174 | float | buoyancy| | | 0x174 | float | buoyancy| | ||
- | | 0x178 | u32 | | | + | | 0x178 | u32 | sound state ID | |
| 0x17C | u32 | transparency | | | 0x17C | u32 | transparency | | ||
| 0x180 | u32 | damage_to_mario | | | 0x180 | u32 | damage_to_mario | | ||
| 0x184 | u32 | health | | | 0x184 | u32 | health | | ||
- | | 0x188 | u32 | behav_param2 (re-check) | | + | | 0x188 | u32 | behav_param | |
| 0x18C | u32 | previous_action | | | 0x18C | u32 | previous_action | | ||
- | | 0x190 | u32 | | | + | | 0x190 | u32 | Interaction Sub Type | |
| 0x194 | float | collision_distance | | | 0x194 | float | collision_distance | | ||
- | | 0x198 | u32 | | | + | | 0x198 | u32 | Num Loot Coins | |
| 0x19C | float | drawing_distance | | | 0x19C | float | drawing_distance | | ||
- | | 0x1A0 | u32 | | | + | | 0x1A0 | u32 | Room | |
- | | 0x1A4 | u32 | | | + | | 0x1A4 | u32 | Unused | |
| 0x1A8 | u32 | | | | 0x1A8 | u32 | | | ||
| 0x1AC | u32 | | | | 0x1AC | u32 | | | ||
| 0x1B0 | u32 | | | | 0x1B0 | u32 | | | ||
- | | 0x1B4 | u32 | | | + | | 0x1B4 | u32 | Wall Angle | |
- | | 0x1B8 | u32 | | | + | | 0x1B8 | s16 | Floor Type | |
- | | 0x1BC | u32 | | | + | | 0x1BA | s16 | Floor Room | |
- | | 0x1C0 | u32 | | | + | | 0x1BC | s32 | | |
- | | 0x1C4 | u32 | | | + | | 0x1C0 | u32 | Floor | |
- | | 0x1C8 | u32 | | | + | | 0x1C4 | s32 | Death Sound | |
- | | 0x1CC | u32 | script_entry_ptr | | + | | 0x1C8 | u32 | Unused | |
+ | | 0x1CC | u32 | Behav script_entry_ptr | | ||
| 0x1D0 | u32 | stack_index | | | 0x1D0 | u32 | stack_index | | ||
- | | 0x1D4 | u32 | stack | | + | | 0x1D4 | u32 | stack [8] | |
- | | 0x1D8 | u32 | | | + | | 0x1F4 | s16 | unk14 | |
- | | 0x1DC | u32 | | | + | | 0x1F6 | s16 | respawn info type | |
- | | 0x1E0 | u32 | | | + | |
- | | 0x1E4 | u32 | | | + | |
- | | 0x1E8 | u32 | | | + | |
- | | 0x1EC | u32 | | | + | |
- | | 0x1F0 | u32 | | | + | |
- | | 0x1F4 | u16 | | | + | |
- | | 0x1F6 | u16 | | | + | |
| 0x1F8 | float | col_cylinder_radius | | | 0x1F8 | float | col_cylinder_radius | | ||
| 0x1FC | float | col_cylinder_height | | | 0x1FC | float | col_cylinder_height | | ||
- | | 0x200 | float | | | + | | 0x200 | float | hurtbox radius | |
- | | 0x204 | float | | | + | | 0x204 | float | hurtbox height | |
- | | 0x208 | float | col_cylinder_vertical_offset | | + | | 0x208 | float | col_cylinder_downward_offset | |
| 0x20C | u32 | script_start_ptr (Behavior ID) | | | 0x20C | u32 | script_start_ptr (Behavior ID) | | ||
- | | 0x210 | u32 | | | + | | 0x210 | u32 | unused | |
- | | 0x214 | u32 | collide_obj_ptr | | + | | 0x214 | struct | *collide_obj_ptr(platform) | |
| 0x218 | u32 | collision_ptr | | | 0x218 | u32 | collision_ptr | | ||
- | | 0x21C | float | matrix[0][0] (uknown matrix) | | + | | 0x21C | float | matrix[0][0] (transform matrix) | |
| 0x220 | float | matrix[0][1] | | | 0x220 | float | matrix[0][1] | | ||
| 0x224 | float | matrix[0][2] | | | 0x224 | float | matrix[0][2] | | ||
Line 241: | Line 232: | ||
| 0x254 | float | matrix[3][2] | | | 0x254 | float | matrix[3][2] | | ||
| 0x258 | float | matrix[3][3] | | | 0x258 | float | matrix[3][3] | | ||
- | | 0x25C | u32 | behav_param_copy_ptr | | + | | 0x25C | u32 | respawn info (behav_param_copy_ptr) | |
===== Mario ===== | ===== Mario ===== | ||
Line 256: | Line 247: | ||
| 0x1A | u16 | action variable (different uses based on Mario->0x0C) | | | 0x1A | u16 | action variable (different uses based on Mario->0x0C) | | ||
| 0x1C | u16 | Front tilt (just visuals?) | | | 0x1C | u16 | Front tilt (just visuals?) | | ||
- | | 0x1E | u32 | squish_timer | | + | | 0x1E | u16 | squish_timer | |
| 0x20 | float | analogTilt | | | 0x20 | float | analogTilt | | ||
| 0x24 | s16 | Yaw (Facing) rotation | | | 0x24 | s16 | Yaw (Facing) rotation | | ||
Line 310: | Line 301: | ||
| 0xBA | u16 | unused? | | | 0xBA | u16 | unused? | | ||
| 0xBC | float | highest y_pos achieved while gaining height | | | 0xBC | float | highest y_pos achieved while gaining height | | ||
- | | 0xC0 | float | y_pos offset (usually always 0.0f, but can be modified during cut-scenes) | | + | | 0xC0 | float | y_pos offset (modified while in quicksand or cutscenes, otherwise 0.0f) | |
===== References ===== | ===== References ===== |