![]() |
Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
|
#include "types.h"Go to the source code of this file.
Data Structures | |
| struct | BullyCollisionData |
Macros | |
| #define | INTERACT_HOOT /* 0x00000001 */ (1 << 0) |
| #define | INTERACT_GRABBABLE /* 0x00000002 */ (1 << 1) |
| #define | INTERACT_DOOR /* 0x00000004 */ (1 << 2) |
| #define | INTERACT_DAMAGE /* 0x00000008 */ (1 << 3) |
| #define | INTERACT_COIN /* 0x00000010 */ (1 << 4) |
| #define | INTERACT_CAP /* 0x00000020 */ (1 << 5) |
| #define | INTERACT_POLE /* 0x00000040 */ (1 << 6) |
| #define | INTERACT_KOOPA /* 0x00000080 */ (1 << 7) |
| #define | INTERACT_UNKNOWN_08 /* 0x00000100 */ (1 << 8) |
| #define | INTERACT_BREAKABLE /* 0x00000200 */ (1 << 9) |
| #define | INTERACT_WIND /* 0x00000400 */ (1 << 10) |
| #define | INTERACT_WARP_DOOR /* 0x00000800 */ (1 << 11) |
| #define | INTERACT_STAR_OR_KEY /* 0x00001000 */ (1 << 12) |
| #define | INTERACT_WARP /* 0x00002000 */ (1 << 13) |
| #define | INTERACT_CANNON_BASE /* 0x00004000 */ (1 << 14) |
| #define | INTERACT_BOUNCE_TOP /* 0x00008000 */ (1 << 15) |
| #define | INTERACT_WATER_RING /* 0x00010000 */ (1 << 16) |
| #define | INTERACT_BULLY /* 0x00020000 */ (1 << 17) |
| #define | INTERACT_FLAME /* 0x00040000 */ (1 << 18) |
| #define | INTERACT_KOOPA_SHELL /* 0x00080000 */ (1 << 19) |
| #define | INTERACT_TRAP_TURN /* 0x00100000 */ (1 << 20) |
| #define | INTERACT_MR_BLIZZARD /* 0x00200000 */ (1 << 21) |
| #define | INTERACT_HIT_FROM_BELOW /* 0x00400000 */ (1 << 22) |
| #define | INTERACT_TEXT /* 0x00800000 */ (1 << 23) |
| #define | INTERACT_TORNADO /* 0x01000000 */ (1 << 24) |
| #define | INTERACT_WHIRLPOOL /* 0x02000000 */ (1 << 25) |
| #define | INTERACT_CLAM_OR_BUBBA /* 0x04000000 */ (1 << 26) |
| #define | INTERACT_BBH_ENTRANCE /* 0x08000000 */ (1 << 27) |
| #define | INTERACT_SNUFIT_BULLET /* 0x10000000 */ (1 << 28) |
| #define | INTERACT_SHOCK /* 0x20000000 */ (1 << 29) |
| #define | INTERACT_IGLOO_BARRIER /* 0x40000000 */ (1 << 30) |
| #define | INTERACT_UNKNOWN_31 /* 0x80000000 */ (1 << 31) |
| #define | ATTACK_PUNCH 1 |
| #define | ATTACK_KICK_OR_TRIP 2 |
| #define | ATTACK_FROM_ABOVE 3 |
| #define | ATTACK_GROUND_POUND_OR_TWIRL 4 |
| #define | ATTACK_FAST_ATTACK 5 |
| #define | ATTACK_FROM_BELOW 6 |
| #define | INT_STATUS_ATTACK_MASK 0x000000FF |
| #define | INT_STATUS_HOOT_GRABBED_BY_MARIO (1 << 0) /* 0x00000001 */ |
| #define | INT_STATUS_MARIO_UNK1 (1 << 1) /* 0x00000002 */ |
| #define | INT_STATUS_MARIO_UNK2 (1 << 2) /* 0x00000004 */ |
| #define | INT_STATUS_MARIO_DROP_OBJECT (1 << 3) /* 0x00000008 */ |
| #define | INT_STATUS_MARIO_UNK4 (1 << 4) /* 0x00000010 */ |
| #define | INT_STATUS_MARIO_UNK5 (1 << 5) /* 0x00000020 */ |
| #define | INT_STATUS_MARIO_UNK6 (1 << 6) /* 0x00000040 */ |
| #define | INT_STATUS_MARIO_UNK7 (1 << 7) /* 0x00000080 */ |
| #define | INT_STATUS_GRABBED_MARIO (1 << 11) /* 0x00000800 */ |
| #define | INT_STATUS_ATTACKED_MARIO (1 << 13) /* 0x00002000 */ |
| #define | INT_STATUS_WAS_ATTACKED (1 << 14) /* 0x00004000 */ |
| #define | INT_STATUS_INTERACTED (1 << 15) /* 0x00008000 */ |
| #define | INT_STATUS_STOP_RIDING (1 << 22) /* 0x00400000 */ |
| #define | INT_STATUS_TOUCHED_BOB_OMB (1 << 23) /* 0x00800000 */ |
Functions | |
| s16 | mario_angle_to_object (struct MarioState *, struct Object *) |
| void | mario_stop_riding_object (struct MarioState *) |
| void | mario_grab_used_object (struct MarioState *) |
| void | mario_drop_held_object (struct MarioState *) |
| void | mario_throw_held_object (struct MarioState *) |
| void | mario_stop_riding_and_holding (struct MarioState *) |
| u32 | func_8024C75C (struct MarioState *) |
| void | mario_blow_off_cap (struct MarioState *, f32) |
| u32 | mario_lose_cap_to_enemy (u32) |
| void | mario_retrieve_cap (void) |
| struct Object * | mario_get_collided_object (struct MarioState *, u32) |
| u32 | mario_check_object_grab (struct MarioState *) |
| u32 | get_door_save_file_flag (struct Object *) |
| void | mario_process_interactions (struct MarioState *) |
| void | mario_handle_special_floors (struct MarioState *) |
| void | init_bully_collision_data (struct BullyCollisionData *data, f32 posX, f32 posZ, f32 forwardVel, s16 yaw, f32 conversionRatio, f32 radius) |
| void | transfer_bully_speed (struct BullyCollisionData *, struct BullyCollisionData *) |
Variables | |
| u8 | D_03009AC8 [] |
| #define ATTACK_FAST_ATTACK 5 |
| #define ATTACK_FROM_ABOVE 3 |
| #define ATTACK_FROM_BELOW 6 |
| #define ATTACK_GROUND_POUND_OR_TWIRL 4 |
| #define ATTACK_KICK_OR_TRIP 2 |
| #define ATTACK_PUNCH 1 |
| #define INT_STATUS_ATTACK_MASK 0x000000FF |
| #define INT_STATUS_ATTACKED_MARIO (1 << 13) /* 0x00002000 */ |
| #define INT_STATUS_GRABBED_MARIO (1 << 11) /* 0x00000800 */ |
| #define INT_STATUS_HOOT_GRABBED_BY_MARIO (1 << 0) /* 0x00000001 */ |
| #define INT_STATUS_INTERACTED (1 << 15) /* 0x00008000 */ |
| #define INT_STATUS_MARIO_DROP_OBJECT (1 << 3) /* 0x00000008 */ |
| #define INT_STATUS_MARIO_UNK1 (1 << 1) /* 0x00000002 */ |
| #define INT_STATUS_MARIO_UNK2 (1 << 2) /* 0x00000004 */ |
| #define INT_STATUS_MARIO_UNK4 (1 << 4) /* 0x00000010 */ |
| #define INT_STATUS_MARIO_UNK5 (1 << 5) /* 0x00000020 */ |
| #define INT_STATUS_MARIO_UNK6 (1 << 6) /* 0x00000040 */ |
| #define INT_STATUS_MARIO_UNK7 (1 << 7) /* 0x00000080 */ |
| #define INT_STATUS_STOP_RIDING (1 << 22) /* 0x00400000 */ |
| #define INT_STATUS_TOUCHED_BOB_OMB (1 << 23) /* 0x00800000 */ |
| #define INT_STATUS_WAS_ATTACKED (1 << 14) /* 0x00004000 */ |
| #define INTERACT_BBH_ENTRANCE /* 0x08000000 */ (1 << 27) |
| #define INTERACT_BOUNCE_TOP /* 0x00008000 */ (1 << 15) |
| #define INTERACT_BREAKABLE /* 0x00000200 */ (1 << 9) |
| #define INTERACT_BULLY /* 0x00020000 */ (1 << 17) |
| #define INTERACT_CANNON_BASE /* 0x00004000 */ (1 << 14) |
| #define INTERACT_CAP /* 0x00000020 */ (1 << 5) |
| #define INTERACT_CLAM_OR_BUBBA /* 0x04000000 */ (1 << 26) |
| #define INTERACT_COIN /* 0x00000010 */ (1 << 4) |
| #define INTERACT_DAMAGE /* 0x00000008 */ (1 << 3) |
| #define INTERACT_DOOR /* 0x00000004 */ (1 << 2) |
| #define INTERACT_FLAME /* 0x00040000 */ (1 << 18) |
| #define INTERACT_GRABBABLE /* 0x00000002 */ (1 << 1) |
| #define INTERACT_HIT_FROM_BELOW /* 0x00400000 */ (1 << 22) |
| #define INTERACT_HOOT /* 0x00000001 */ (1 << 0) |
| #define INTERACT_IGLOO_BARRIER /* 0x40000000 */ (1 << 30) |
| #define INTERACT_KOOPA /* 0x00000080 */ (1 << 7) |
| #define INTERACT_KOOPA_SHELL /* 0x00080000 */ (1 << 19) |
| #define INTERACT_MR_BLIZZARD /* 0x00200000 */ (1 << 21) |
| #define INTERACT_POLE /* 0x00000040 */ (1 << 6) |
| #define INTERACT_SHOCK /* 0x20000000 */ (1 << 29) |
| #define INTERACT_SNUFIT_BULLET /* 0x10000000 */ (1 << 28) |
| #define INTERACT_STAR_OR_KEY /* 0x00001000 */ (1 << 12) |
| #define INTERACT_TEXT /* 0x00800000 */ (1 << 23) |
| #define INTERACT_TORNADO /* 0x01000000 */ (1 << 24) |
| #define INTERACT_TRAP_TURN /* 0x00100000 */ (1 << 20) |
| #define INTERACT_UNKNOWN_08 /* 0x00000100 */ (1 << 8) |
| #define INTERACT_UNKNOWN_31 /* 0x80000000 */ (1 << 31) |
| #define INTERACT_WARP /* 0x00002000 */ (1 << 13) |
| #define INTERACT_WARP_DOOR /* 0x00000800 */ (1 << 11) |
| #define INTERACT_WATER_RING /* 0x00010000 */ (1 << 16) |
| #define INTERACT_WHIRLPOOL /* 0x02000000 */ (1 << 25) |
| #define INTERACT_WIND /* 0x00000400 */ (1 << 10) |
| u32 func_8024C75C | ( | struct MarioState * | ) |
| void init_bully_collision_data | ( | struct BullyCollisionData * | data, |
| f32 | posX, | ||
| f32 | posZ, | ||
| f32 | forwardVel, | ||
| s16 | yaw, | ||
| f32 | conversionRatio, | ||
| f32 | radius | ||
| ) |
| s16 mario_angle_to_object | ( | struct MarioState * | , |
| struct Object * | |||
| ) |
| void mario_blow_off_cap | ( | struct MarioState * | , |
| f32 | |||
| ) |
| u32 mario_check_object_grab | ( | struct MarioState * | ) |
| void mario_drop_held_object | ( | struct MarioState * | ) |
| struct Object* mario_get_collided_object | ( | struct MarioState * | , |
| u32 | |||
| ) |
| void mario_grab_used_object | ( | struct MarioState * | ) |
| void mario_handle_special_floors | ( | struct MarioState * | ) |
| void mario_process_interactions | ( | struct MarioState * | ) |
If the kick/punch flags are set and an object collision changes mario's
| void mario_stop_riding_and_holding | ( | struct MarioState * | ) |
| void mario_stop_riding_object | ( | struct MarioState * | ) |
| void mario_throw_held_object | ( | struct MarioState * | ) |
| void transfer_bully_speed | ( | struct BullyCollisionData * | , |
| struct BullyCollisionData * | |||
| ) |
Bully NaN crash
Bully battery
| u8 D_03009AC8[] |
1.8.13