mirror of
https://github.com/coop-deluxe/sm64coopdx.git
synced 2024-11-25 13:35:12 +00:00
2f7d432143
Eyerok was synchronized, but I'm still not super pleased with the result. I had to sacrifice dialog to prevent weird states and he's completely controlled by the server. His synchronization should be revisited in the future. SSL should be fully synchronized now.
984 lines
31 KiB
C
984 lines
31 KiB
C
#ifndef OBJECT_CONSTANTS_H
|
|
#define OBJECT_CONSTANTS_H
|
|
|
|
// This file contains macros that provide descriptive names for
|
|
// field-specific and object-specific constants, e.g. actions.
|
|
|
|
/* activeFlags */
|
|
#define ACTIVE_FLAG_DEACTIVATED 0 // 0x0000
|
|
#define ACTIVE_FLAG_ACTIVE (1 << 0) // 0x0001
|
|
#define ACTIVE_FLAG_FAR_AWAY (1 << 1) // 0x0002
|
|
#define ACTIVE_FLAG_UNK2 (1 << 2) // 0x0004
|
|
#define ACTIVE_FLAG_IN_DIFFERENT_ROOM (1 << 3) // 0x0008
|
|
#define ACTIVE_FLAG_UNIMPORTANT (1 << 4) // 0x0010
|
|
#define ACTIVE_FLAG_INITIATED_TIME_STOP (1 << 5) // 0x0020
|
|
#define ACTIVE_FLAG_MOVE_THROUGH_GRATE (1 << 6) // 0x0040
|
|
#define ACTIVE_FLAG_DITHERED_ALPHA (1 << 7) // 0x0080
|
|
#define ACTIVE_FLAG_UNK8 (1 << 8) // 0x0100
|
|
#define ACTIVE_FLAG_UNK9 (1 << 9) // 0x0200
|
|
#define ACTIVE_FLAG_UNK10 (1 << 10) // 0x0400
|
|
|
|
|
|
/* respawnInfoType */
|
|
#define RESPAWN_INFO_TYPE_NULL 0
|
|
#define RESPAWN_INFO_TYPE_32 1
|
|
#define RESPAWN_INFO_TYPE_16 2
|
|
|
|
/* respawnInfo */
|
|
#define RESPAWN_INFO_DONT_RESPAWN 0xFF
|
|
|
|
/* oFlags */
|
|
#define OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE (1 << 0) // 0x00000001
|
|
#define OBJ_FLAG_MOVE_XZ_USING_FVEL (1 << 1) // 0x00000002
|
|
#define OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL (1 << 2) // 0x00000004
|
|
#define OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW (1 << 3) // 0x00000008
|
|
#define OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE (1 << 4) // 0x00000010
|
|
#define OBJ_FLAG_0020 (1 << 5) // 0x00000020
|
|
#define OBJ_FLAG_COMPUTE_DIST_TO_MARIO (1 << 6) // 0x00000040
|
|
#define OBJ_FLAG_ACTIVE_FROM_AFAR (1 << 7) // 0x00000080
|
|
#define OBJ_FLAG_0100 (1 << 8) // 0x00000100
|
|
#define OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT (1 << 9) // 0x00000200
|
|
#define OBJ_FLAG_HOLDABLE (1 << 10) // 0x00000400
|
|
#define OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM (1 << 11) // 0x00000800
|
|
#define OBJ_FLAG_1000 (1 << 12) // 0x00001000
|
|
#define OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO (1 << 13) // 0x00002000
|
|
#define OBJ_FLAG_PERSISTENT_RESPAWN (1 << 14) // 0x00004000
|
|
#define OBJ_FLAG_8000 (1 << 15) // 0x00008000
|
|
#define OBJ_FLAG_30 (1 << 30) // 0x40000000
|
|
|
|
/* oHeldState */
|
|
#define HELD_FREE 0
|
|
#define HELD_HELD 1
|
|
#define HELD_THROWN 2
|
|
#define HELD_DROPPED 3
|
|
|
|
/* oDialogState */
|
|
#define DIALOG_UNK1_ENABLE_TIME_STOP 0
|
|
#define DIALOG_UNK1_INTERRUPT_MARIO_ACTION 1
|
|
#define DIALOG_UNK1_BEGIN_DIALOG 2
|
|
#define DIALOG_UNK1_AWAIT_DIALOG 3
|
|
#define DIALOG_UNK1_DISABLE_TIME_STOP 4
|
|
|
|
#define DIALOG_UNK1_FLAG_DEFAULT (1 << 1) // 0x02
|
|
#define DIALOG_UNK1_FLAG_RESPONSE (1 << 2) // 0x04
|
|
#define DIALOG_UNK1_FLAG_4 (1 << 4) // 0x10
|
|
|
|
#define DIALOG_UNK2_ENABLE_TIME_STOP 0
|
|
#define DIALOG_UNK2_TURN_AND_INTERRUPT_MARIO_ACTION 1
|
|
#define DIALOG_UNK2_AWAIT_DIALOG 2
|
|
#define DIALOG_UNK2_END_DIALOG 3
|
|
|
|
#define DIALOG_UNK2_FLAG_0 (1 << 0) // 0x01
|
|
#define DIALOG_UNK2_LEAVE_TIME_STOP_ENABLED (1 << 4) // 0x10
|
|
|
|
/* oMoveFlags */
|
|
#define OBJ_MOVE_LANDED (1 << 0) // 0x0001
|
|
#define OBJ_MOVE_ON_GROUND (1 << 1) // 0x0002 // mutually exclusive to OBJ_MOVE_LANDED
|
|
#define OBJ_MOVE_LEFT_GROUND (1 << 2) // 0x0004
|
|
#define OBJ_MOVE_ENTERED_WATER (1 << 3) // 0x0008
|
|
#define OBJ_MOVE_AT_WATER_SURFACE (1 << 4) // 0x0010
|
|
#define OBJ_MOVE_UNDERWATER_OFF_GROUND (1 << 5) // 0x0020
|
|
#define OBJ_MOVE_UNDERWATER_ON_GROUND (1 << 6) // 0x0040
|
|
#define OBJ_MOVE_IN_AIR (1 << 7) // 0x0080
|
|
#define OBJ_MOVE_OUT_SCOPE (1 << 8) // 0x0100
|
|
#define OBJ_MOVE_HIT_WALL (1 << 9) // 0x0200
|
|
#define OBJ_MOVE_HIT_EDGE (1 << 10) // 0x0400
|
|
#define OBJ_MOVE_ABOVE_LAVA (1 << 11) // 0x0800
|
|
#define OBJ_MOVE_LEAVING_WATER (1 << 12) // 0x1000
|
|
#define OBJ_MOVE_BOUNCE (1 << 13) // 0x2000
|
|
#ifndef VERSION_JP
|
|
#define OBJ_MOVE_ABOVE_DEATH_BARRIER (1 << 14) // 0x4000
|
|
#endif
|
|
|
|
#define OBJ_MOVE_MASK_ON_GROUND (OBJ_MOVE_LANDED | OBJ_MOVE_ON_GROUND)
|
|
#define OBJ_MOVE_MASK_IN_WATER (\
|
|
OBJ_MOVE_ENTERED_WATER |\
|
|
OBJ_MOVE_AT_WATER_SURFACE |\
|
|
OBJ_MOVE_UNDERWATER_OFF_GROUND |\
|
|
OBJ_MOVE_UNDERWATER_ON_GROUND)
|
|
|
|
/* oActiveParticleFlags */
|
|
#define ACTIVE_PARTICLE_DUST (1 << 0) // 0x00000001
|
|
#define ACTIVE_PARTICLE_UNUSED_1 (1 << 1) // 0x00000002
|
|
#define ACTIVE_PARTICLE_UNUSED_2 (1 << 2) // 0x00000004
|
|
#define ACTIVE_PARTICLE_SPARKLES (1 << 3) // 0x00000008
|
|
#define ACTIVE_PARTICLE_H_STAR (1 << 4) // 0x00000010
|
|
#define ACTIVE_PARTICLE_BUBBLE (1 << 5) // 0x00000020
|
|
#define ACTIVE_PARTICLE_WATER_SPLASH (1 << 6) // 0x00000040
|
|
#define ACTIVE_PARTICLE_IDLE_WATER_WAVE (1 << 7) // 0x00000080
|
|
#define ACTIVE_PARTICLE_SHALLOW_WATER_WAVE (1 << 8) // 0x00000100
|
|
#define ACTIVE_PARTICLE_PLUNGE_BUBBLE (1 << 9) // 0x00000200
|
|
#define ACTIVE_PARTICLE_WAVE_TRAIL (1 << 10) // 0x00000400
|
|
#define ACTIVE_PARTICLE_FIRE (1 << 11) // 0x00000800
|
|
#define ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH (1 << 12) // 0x00001000
|
|
#define ACTIVE_PARTICLE_LEAF (1 << 13) // 0x00002000
|
|
#define ACTIVE_PARTICLE_DIRT (1 << 14) // 0x00004000
|
|
#define ACTIVE_PARTICLE_MIST_CIRCLE (1 << 15) // 0x00008000
|
|
#define ACTIVE_PARTICLE_SNOW (1 << 16) // 0x00010000
|
|
#define ACTIVE_PARTICLE_BREATH (1 << 17) // 0x00020000
|
|
#define ACTIVE_PARTICLE_V_STAR (1 << 18) // 0x00040000
|
|
#define ACTIVE_PARTICLE_TRIANGLE (1 << 19) // 0x00080000
|
|
|
|
/* oAction */
|
|
#define OBJ_ACT_LAVA_DEATH 100
|
|
#define OBJ_ACT_DEATH_PLANE_DEATH 101
|
|
|
|
#define OBJ_ACT_HORIZONTAL_KNOCKBACK 100
|
|
#define OBJ_ACT_VERTICAL_KNOCKBACK 101
|
|
#define OBJ_ACT_SQUISHED 102
|
|
|
|
/* gTTCSpeedSetting */
|
|
#define TTC_SPEED_SLOW 0
|
|
#define TTC_SPEED_FAST 1
|
|
#define TTC_SPEED_RANDOM 2
|
|
#define TTC_SPEED_STOPPED 3
|
|
|
|
/* Bob-omb */
|
|
/* oBehParams2ndByte */
|
|
#define BOBOMB_BP_STYPE_GENERIC 0
|
|
#define BOBOMB_BP_STYPE_STATIONARY 1
|
|
/* oAction */
|
|
#define BOBOMB_ACT_PATROL 0
|
|
#define BOBOMB_ACT_LAUNCHED 1
|
|
#define BOBOMB_ACT_CHASE_MARIO 2
|
|
#define BOBOMB_ACT_EXPLODE 3
|
|
#define BOBOMB_ACT_LAVA_DEATH 100
|
|
#define BOBOMB_ACT_DEATH_PLANE_DEATH 101
|
|
|
|
/* Hidden Blue Coin */
|
|
/* oAction */
|
|
#define HIDDEN_BLUE_COIN_ACT_INACTIVE 0
|
|
#define HIDDEN_BLUE_COIN_ACT_WAITING 1
|
|
#define HIDDEN_BLUE_COIN_ACT_ACTIVE 2
|
|
|
|
/* Blue Coin Switch */
|
|
/* oAction */
|
|
#define BLUE_COIN_SWITCH_ACT_IDLE 0
|
|
#define BLUE_COIN_SWITCH_ACT_RECEDING 1
|
|
#define BLUE_COIN_SWITCH_ACT_TICKING 2
|
|
|
|
/* Moving Blue Coin */
|
|
/* oAction */
|
|
#define MOV_BCOIN_ACT_STILL 0
|
|
#define MOV_BCOIN_ACT_MOVING 1
|
|
|
|
/* Moving Yellow Coin */
|
|
/* oAction */
|
|
#define MOV_YCOIN_ACT_IDLE 0
|
|
#define MOV_YCOIN_ACT_BLINKING 1
|
|
#define MOV_YCOIN_ACT_LAVA_DEATH 100
|
|
#define MOV_YCOIN_ACT_DEATH_PLANE_DEATH 101
|
|
|
|
/* Bob-omb Buddy */
|
|
/* oBehParams2ndByte */
|
|
#define BOBOMB_BUDDY_BP_STYPE_GENERIC 0
|
|
#define BOBOMB_BUDDY_BP_STYPE_BOB_GRASS_KBB 1
|
|
#define BOBOMB_BUDDY_BP_STYPE_BOB_CANNON_KBB 2
|
|
#define BOBOMB_BUDDY_BP_STYPE_BOB_GRASS 3
|
|
/* oAction */
|
|
#define BOBOMB_BUDDY_ACT_IDLE 0
|
|
#define BOBOMB_BUDDY_ACT_TURN_TO_TALK 2
|
|
#define BOBOMB_BUDDY_ACT_TALK 3
|
|
/* oBobombBuddyRole */
|
|
#define BOBOMB_BUDDY_ROLE_ADVICE 0
|
|
#define BOBOMB_BUDDY_ROLE_CANNON 1
|
|
/* oBobombBuddyCannonStatus */
|
|
#define BOBOMB_BUDDY_CANNON_UNOPENED 0
|
|
#define BOBOMB_BUDDY_CANNON_OPENING 1
|
|
#define BOBOMB_BUDDY_CANNON_OPENED 2
|
|
#define BOBOMB_BUDDY_CANNON_STOP_TALKING 3
|
|
/* oBobombBuddyHasTalkedToMario */
|
|
#define BOBOMB_BUDDY_HAS_NOT_TALKED 0
|
|
#define BOBOMB_BUDDY_HAS_TALKED 2
|
|
|
|
/* Fish */
|
|
/* oAction */
|
|
#define FISH_ACT_INIT 0
|
|
#define FISH_ACT_ACTIVE 1
|
|
#define FISH_ACT_RESPAWN 2
|
|
|
|
/* Blue_Fish */
|
|
/* oAction */
|
|
#define BLUE_FISH_ACT_DIVE 0
|
|
#define BLUE_FISH_ACT_TURN 1
|
|
#define BLUE_FISH_ACT_ASCEND 2
|
|
#define BLUE_FISH_ACT_TURN_BACK 3
|
|
|
|
/* oAction: bhv_blue_fish_spawn_loop */
|
|
#define BLUE_FISH_ACT_SPAWN 0
|
|
#define BLUE_FISH_ACT_ROOM 1
|
|
#define BLUE_FISH_ACT_DUPLICATE 2
|
|
|
|
/* Cannon Trap Door */
|
|
/* oAction */
|
|
#define CANNON_TRAP_DOOR_ACT_CLOSED 0
|
|
#define CANNON_TRAP_DOOR_ACT_CAM_ZOOM 1
|
|
#define CANNON_TRAP_DOOR_ACT_OPENING 2
|
|
#define CANNON_TRAP_DOOR_ACT_OPEN 3
|
|
|
|
/* Homing Amp */
|
|
/* oAction */
|
|
#define HOMING_AMP_ACT_INACTIVE 0
|
|
#define HOMING_AMP_ACT_APPEAR 1
|
|
#define HOMING_AMP_ACT_CHASE 2
|
|
#define HOMING_AMP_ACT_GIVE_UP 3
|
|
#define HOMING_AMP_ACT_ATTACK_COOLDOWN 4
|
|
|
|
/* Amp */
|
|
/* oBehParams2ndByte */
|
|
#define AMP_BP_ROT_RADIUS_200 0
|
|
#define AMP_BP_ROT_RADIUS_300 1
|
|
#define AMP_BP_ROT_RADIUS_400 2
|
|
#define AMP_BP_ROT_RADIUS_0 3
|
|
|
|
/* oAction */
|
|
#define AMP_ACT_IDLE 2
|
|
#define AMP_ACT_ATTACK_COOLDOWN 4
|
|
|
|
/* Butterfly */
|
|
/* oAction */
|
|
#define BUTTERFLY_ACT_RESTING 0
|
|
#define BUTTERFLY_ACT_FOLLOW_MARIO 1
|
|
#define BUTTERFLY_ACT_RETURN_HOME 2
|
|
|
|
/* Hoot */
|
|
/* oHootAvailability */
|
|
#define HOOT_AVAIL_ASLEEP_IN_TREE 0
|
|
#define HOOT_AVAIL_WANTS_TO_TALK 1
|
|
#define HOOT_AVAIL_READY_TO_FLY 2
|
|
/* oAction */
|
|
#define HOOT_ACT_ASCENT 0
|
|
#define HOOT_ACT_CARRY 1
|
|
#define HOOT_ACT_TIRED 2
|
|
|
|
/* Bully (all variants) */
|
|
/* oBehParams2ndByte */
|
|
#define BULLY_BP_SIZE_SMALL 0
|
|
#define BULLY_BP_SIZE_BIG 1
|
|
/* oAction */
|
|
#define BULLY_ACT_PATROL 0
|
|
#define BULLY_ACT_CHASE_MARIO 1
|
|
#define BULLY_ACT_KNOCKBACK 2
|
|
#define BULLY_ACT_BACK_UP 3
|
|
#define BULLY_ACT_INACTIVE 4
|
|
#define BULLY_ACT_ACTIVATE_AND_FALL 5
|
|
#define BULLY_ACT_LAVA_DEATH 100
|
|
#define BULLY_ACT_DEATH_PLANE_DEATH 101
|
|
/* oBullySubtype */
|
|
#define BULLY_STYPE_GENERIC 0
|
|
#define BULLY_STYPE_MINION 1
|
|
#define BULLY_STYPE_CHILL 16
|
|
|
|
/* Water Ring (all variants) */
|
|
/* oAction */
|
|
#define WATER_RING_ACT_NOT_COLLECTED 0
|
|
#define WATER_RING_ACT_COLLECTED 1
|
|
|
|
/* Jet Stream Water Ring Spawner */
|
|
/* oAction */
|
|
#define JS_RING_SPAWNER_ACT_ACTIVE 0
|
|
#define JS_RING_SPAWNER_ACT_INACTIVE 1
|
|
|
|
/* Celebration Star */
|
|
/* oAction */
|
|
#define CELEB_STAR_ACT_SPIN_AROUND_MARIO 0
|
|
#define CELEB_STAR_ACT_FACE_CAMERA 1
|
|
|
|
/* LLL Drawbridge */
|
|
/* oAction */
|
|
#define LLL_DRAWBRIDGE_ACT_LOWER 0
|
|
#define LLL_DRAWBRIDGE_ACT_RAISE 1
|
|
|
|
/* Bomp (both variants) */
|
|
/* oAction */
|
|
#define BOMP_ACT_WAIT 0
|
|
#define BOMP_ACT_POKE_OUT 1
|
|
#define BOMP_ACT_EXTEND 2
|
|
#define BOMP_ACT_RETRACT 3
|
|
|
|
/* WF Sliding Brick Platform */
|
|
/* oBehParams2ndByte */
|
|
#define WF_SLID_BRICK_PTFM_BP_MOV_VEL_10 1
|
|
#define WF_SLID_BRICK_PTFM_BP_MOV_VEL_15 2
|
|
#define WF_SLID_BRICK_PTFM_BP_MOV_VEL_20 3
|
|
/* oAction */
|
|
#define WF_SLID_BRICK_PTFM_ACT_WAIT 0
|
|
#define WF_SLID_BRICK_PTFM_ACT_EXTEND 1
|
|
#define WF_SLID_BRICK_PTFM_ACT_RETRACT 2
|
|
|
|
/* Fake Moneybag Coin */
|
|
/* oAction */
|
|
#define FAKE_MONEYBAG_COIN_ACT_IDLE 0
|
|
#define FAKE_MONEYBAG_COIN_ACT_TRANSFORM 1
|
|
|
|
/* Moneybag */
|
|
/* oAction */
|
|
#define MONEYBAG_ACT_APPEAR 0
|
|
#define MONEYBAG_ACT_UNUSED_APPEAR 1
|
|
#define MONEYBAG_ACT_MOVE_AROUND 2
|
|
#define MONEYBAG_ACT_RETURN_HOME 3
|
|
#define MONEYBAG_ACT_DISAPPEAR 4
|
|
#define MONEYBAG_ACT_DEATH 5
|
|
/* oMoneybagJumpState */
|
|
#define MONEYBAG_JUMP_LANDING 0
|
|
#define MONEYBAG_JUMP_PREPARE 1
|
|
#define MONEYBAG_JUMP_JUMP 2
|
|
#define MONEYBAG_JUMP_JUMP_AND_BOUNCE 3
|
|
#define MONEYBAG_JUMP_WALK_AROUND 4
|
|
#define MONEYBAG_JUMP_WALK_HOME 5
|
|
|
|
/* Bowling Ball */
|
|
/* oAction */
|
|
#define BBALL_ACT_INITIALIZE 0
|
|
#define BBALL_ACT_ROLL 1
|
|
|
|
/* Bowling Ball + Bowling Ball Spawner (all variants) */
|
|
/* oBehParams2ndByte */
|
|
#define BBALL_BP_STYPE_BOB_UPPER 0
|
|
#define BBALL_BP_STYPE_TTM 1
|
|
#define BBALL_BP_STYPE_BOB_LOWER 2
|
|
#define BBALL_BP_STYPE_THI_LARGE 3
|
|
#define BBALL_BP_STYPE_THI_SMALL 4
|
|
|
|
/* Bowling Ball (Free) */
|
|
/* oAction */
|
|
#define FREE_BBALL_ACT_IDLE 0
|
|
#define FREE_BBALL_ACT_ROLL 1
|
|
#define FREE_BBALL_ACT_RESET 2
|
|
|
|
/* Beta Chest Lid */
|
|
/* oAction */
|
|
#define BETA_CHEST_ACT_IDLE_CLOSED 0
|
|
#define BETA_CHEST_ACT_OPENING 1
|
|
#define BETA_CHEST_ACT_IDLE_OPEN 2
|
|
|
|
/* BBH Tilting Trap Platform */
|
|
/* oAction */
|
|
// Unused in original Japanese version
|
|
#define BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_ON 0
|
|
#define BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_OFF 1
|
|
|
|
/* Boo */
|
|
/* oBooDeathStatus */
|
|
#define BOO_DEATH_STATUS_ALIVE 0
|
|
#define BOO_DEATH_STATUS_DYING 1
|
|
#define BOO_DEATH_STATUS_DEAD 2
|
|
|
|
/* attackStatus */
|
|
#define BOO_NOT_ATTACKED 0
|
|
#define BOO_ATTACKED 1
|
|
#define BOO_BOUNCED_ON -1
|
|
|
|
/* Beta Boo Key */
|
|
/* oAction */
|
|
#define BETA_BOO_KEY_ACT_IN_BOO 0
|
|
#define BETA_BOO_KEY_ACT_DROPPING 1
|
|
#define BETA_BOO_KEY_ACT_DROPPED 2
|
|
|
|
/* Boo Cage */
|
|
/* oAction */
|
|
#define BOO_CAGE_ACT_IN_BOO 0
|
|
#define BOO_CAGE_ACT_FALLING 1
|
|
#define BOO_CAGE_ACT_ON_GROUND 2
|
|
#define BOO_CAGE_ACT_MARIO_JUMPING_IN 3
|
|
#define BOO_CAGE_ACT_USELESS 4
|
|
|
|
/* BBH Haunted Bookshelf */
|
|
/* oAction */
|
|
#define HAUNTED_BOOKSHELF_ACT_IDLE 0
|
|
#define HAUNTED_BOOKSHELF_ACT_RECEDE 1
|
|
|
|
/* BBH Merry-Go-Round */
|
|
/* gMarioCurrentRoom */
|
|
#define BBH_NEAR_MERRY_GO_ROUND_ROOM 10
|
|
#define BBH_DYNAMIC_SURFACE_ROOM 0
|
|
#define BBH_OUTSIDE_ROOM 13
|
|
|
|
/* Coffin Spawner */
|
|
/* oAction */
|
|
#define COFFIN_SPAWNER_ACT_COFFINS_UNLOADED 0
|
|
|
|
/* Coffin */
|
|
/* oAction */
|
|
#define COFFIN_ACT_IDLE 0
|
|
#define COFFIN_ACT_STAND_UP 1
|
|
|
|
/* oBehParams2ndByte */
|
|
#define COFFIN_BP_STATIC 0
|
|
|
|
/* WDW Arrow Lift */
|
|
/* oAction */
|
|
#define ARROW_LIFT_ACT_IDLE 0
|
|
#define ARROW_LIFT_ACT_MOVING_AWAY 1
|
|
#define ARROW_LIFT_ACT_MOVING_BACK 2
|
|
|
|
/* status */
|
|
#define ARROW_LIFT_NOT_DONE_MOVING 0
|
|
#define ARROW_LIFT_DONE_MOVING 1
|
|
|
|
/* Yoshi */
|
|
/* oAction */
|
|
#define YOSHI_ACT_IDLE 0
|
|
#define YOSHI_ACT_WALK 1
|
|
#define YOSHI_ACT_TALK 2
|
|
#define YOSHI_ACT_WALK_JUMP_OFF_ROOF 3
|
|
#define YOSHI_ACT_FINISH_JUMPING_AND_DESPAWN 4
|
|
#define YOSHI_ACT_GIVE_PRESENT 5
|
|
#define YOSHI_ACT_CREDITS 10
|
|
|
|
/* Koopa */
|
|
/* oAction */
|
|
#define KOOPA_UNSHELLED_ACT_RUN 0
|
|
#define KOOPA_UNSHELLED_ACT_DIVE 1
|
|
#define KOOPA_UNSHELLED_ACT_LYING 2
|
|
#define KOOPA_UNSHELLED_ACT_UNUSED3 3
|
|
|
|
#define KOOPA_SHELLED_ACT_STOPPED 0
|
|
#define KOOPA_SHELLED_ACT_WALK 1
|
|
#define KOOPA_SHELLED_ACT_RUN_FROM_MARIO 2
|
|
#define KOOPA_SHELLED_ACT_LYING 3
|
|
#define KOOPA_SHELLED_ACT_DIE 4
|
|
|
|
#define KOOPA_THE_QUICK_ACT_WAIT_BEFORE_RACE 0
|
|
#define KOOPA_THE_QUICK_ACT_UNUSED1 1
|
|
#define KOOPA_THE_QUICK_ACT_SHOW_INIT_TEXT 2
|
|
#define KOOPA_THE_QUICK_ACT_RACE 3
|
|
#define KOOPA_THE_QUICK_ACT_DECELERATE 4
|
|
#define KOOPA_THE_QUICK_ACT_STOP 5
|
|
#define KOOPA_THE_QUICK_ACT_AFTER_RACE 6
|
|
|
|
/* oSubAction */
|
|
#define KOOPA_SHELLED_SUB_ACT_START_WALK 0
|
|
#define KOOPA_SHELLED_SUB_ACT_WALK 1
|
|
#define KOOPA_SHELLED_SUB_ACT_STOP_WALK 2
|
|
|
|
#define KOOPA_THE_QUICK_SUB_ACT_START_RUN 0
|
|
#define KOOPA_THE_QUICK_SUB_ACT_RUN 1
|
|
#define KOOPA_THE_QUICK_SUB_ACT_JUMP 2
|
|
|
|
/* oKoopaTheQuickRaceIndex */
|
|
#define KOOPA_THE_QUICK_BOB_INDEX 0
|
|
#define KOOPA_THE_QUICK_THI_INDEX 1
|
|
|
|
/* oBehParams2ndByte */
|
|
#define KOOPA_BP_UNSHELLED 0
|
|
#define KOOPA_BP_NORMAL 1
|
|
#define KOOPA_BP_KOOPA_THE_QUICK_BASE 2
|
|
#define KOOPA_BP_KOOPA_THE_QUICK_BOB (KOOPA_BP_KOOPA_THE_QUICK_BASE + KOOPA_THE_QUICK_BOB_INDEX)
|
|
#define KOOPA_BP_KOOPA_THE_QUICK_THI (KOOPA_BP_KOOPA_THE_QUICK_BASE + KOOPA_THE_QUICK_THI_INDEX)
|
|
#define KOOPA_BP_TINY 4
|
|
|
|
/* Pokey */
|
|
/* oAction */
|
|
#define POKEY_ACT_UNINITIALIZED 0
|
|
#define POKEY_ACT_WANDER 1
|
|
#define POKEY_ACT_UNLOAD_PARTS 2
|
|
|
|
/* Swoop */
|
|
/* oAction */
|
|
#define SWOOP_ACT_IDLE 0
|
|
#define SWOOP_ACT_MOVE 1
|
|
|
|
/* Fly guy */
|
|
/* oAction */
|
|
#define FLY_GUY_ACT_IDLE 0
|
|
#define FLY_GUY_ACT_APPROACH_MARIO 1
|
|
#define FLY_GUY_ACT_LUNGE 2
|
|
#define FLY_GUY_ACT_SHOOT_FIRE 3
|
|
|
|
/* Goomba triplet spawner */
|
|
/* oBehParams2ndByte */
|
|
#define GOOMBA_TRIPLET_SPAWNER_BP_SIZE_MASK 0x00000003
|
|
#define GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS_MASK 0x000000FC
|
|
/* oAction */
|
|
#define GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED 0
|
|
#define GOOMBA_TRIPLET_SPAWNER_ACT_LOADED 1
|
|
|
|
/* Goomba */
|
|
/* oBehParams2ndByte */
|
|
#define GOOMBA_BP_SIZE_MASK 0x00000003
|
|
#define GOOMBA_SIZE_REGULAR 0
|
|
#define GOOMBA_SIZE_HUGE 1
|
|
#define GOOMBA_SIZE_TINY 2
|
|
#define GOOMBA_BP_TRIPLET_FLAG_MASK 0x000000FC
|
|
/* oAction */
|
|
#define GOOMBA_ACT_WALK 0
|
|
#define GOOMBA_ACT_ATTACKED_MARIO 1
|
|
#define GOOMBA_ACT_JUMP 2
|
|
|
|
/* Chain chomp */
|
|
/* oAction */
|
|
#define CHAIN_CHOMP_ACT_UNINITIALIZED 0
|
|
#define CHAIN_CHOMP_ACT_MOVE 1
|
|
#define CHAIN_CHOMP_ACT_UNLOAD_CHAIN 2
|
|
|
|
/* oSubAction */
|
|
#define CHAIN_CHOMP_SUB_ACT_TURN 0
|
|
#define CHAIN_CHOMP_SUB_ACT_LUNGE 1
|
|
|
|
/* oChainChompReleaseStatus */
|
|
#define CHAIN_CHOMP_NOT_RELEASED 0
|
|
#define CHAIN_CHOMP_RELEASED_TRIGGER_CUTSCENE 1
|
|
#define CHAIN_CHOMP_RELEASED_LUNGE_AROUND 2
|
|
#define CHAIN_CHOMP_RELEASED_BREAK_GATE 3
|
|
#define CHAIN_CHOMP_RELEASED_JUMP_AWAY 4
|
|
#define CHAIN_CHOMP_RELEASED_END_CUTSCENE 5
|
|
|
|
/* Chain chomp chain part */
|
|
/* oBehParams2ndByte */
|
|
#define CHAIN_CHOMP_CHAIN_PART_BP_PIVOT 0
|
|
|
|
/* Wooden post */
|
|
/* oBehParams */
|
|
#define WOODEN_POST_BP_NO_COINS_MASK 0x0000FF00
|
|
|
|
/* Wiggler */
|
|
/* oAction */
|
|
#define WIGGLER_ACT_UNINITIALIZED 0
|
|
#define WIGGLER_ACT_WALK 1
|
|
#define WIGGLER_ACT_KNOCKBACK 2
|
|
#define WIGGLER_ACT_JUMPED_ON 3
|
|
#define WIGGLER_ACT_SHRINK 4
|
|
#define WIGGLER_ACT_FALL_THROUGH_FLOOR 5
|
|
|
|
/* oWigglerTextStatus */
|
|
#define WIGGLER_TEXT_STATUS_AWAIT_DIALOG 0
|
|
#define WIGGLER_TEXT_STATUS_SHOWING_DIALOG 1
|
|
#define WIGGLER_TEXT_STATUS_COMPLETED_DIALOG 2
|
|
|
|
/* Spiny */
|
|
/* oAction */
|
|
#define SPINY_ACT_WALK 0
|
|
#define SPINY_ACT_HELD_BY_LAKITU 1
|
|
#define SPINY_ACT_THROWN_BY_LAKITU 2
|
|
#define SPINY_ACT_ATTACKED_MARIO 3
|
|
|
|
/* Evil lakitu */
|
|
/* oAction */
|
|
#define ENEMY_LAKITU_ACT_UNINITIALIZED 0
|
|
#define ENEMY_LAKITU_ACT_MAIN 1
|
|
|
|
/* oSubAction */
|
|
#define ENEMY_LAKITU_SUB_ACT_NO_SPINY 0
|
|
#define ENEMY_LAKITU_SUB_ACT_HOLD_SPINY 1
|
|
#define ENEMY_LAKITU_SUB_ACT_THROW_SPINY 2
|
|
|
|
/* Cloud */
|
|
/* oAction */
|
|
#define CLOUD_ACT_SPAWN_PARTS 0
|
|
#define CLOUD_ACT_MAIN 1
|
|
#define CLOUD_ACT_UNLOAD 2
|
|
#define CLOUD_ACT_FWOOSH_HIDDEN 3
|
|
|
|
/* oBehParams2ndByte */
|
|
#define CLOUD_BP_FWOOSH 0
|
|
#define CLOUD_BP_LAKITU_CLOUD 1
|
|
|
|
/* Camera lakitu */
|
|
/* oAction */
|
|
#define CAMERA_LAKITU_INTRO_ACT_TRIGGER_CUTSCENE 0
|
|
#define CAMERA_LAKITU_INTRO_ACT_SPAWN_CLOUD 1
|
|
#define CAMERA_LAKITU_INTRO_ACT_UNK2 2
|
|
|
|
/* oBehParams2ndByte */
|
|
#define CAMERA_LAKITU_BP_FOLLOW_CAMERA 0
|
|
#define CAMERA_LAKITU_BP_INTRO 1
|
|
|
|
/* Monty mole */
|
|
/* oAction */
|
|
#define MONTY_MOLE_ACT_SELECT_HOLE 0
|
|
#define MONTY_MOLE_ACT_RISE_FROM_HOLE 1
|
|
#define MONTY_MOLE_ACT_SPAWN_ROCK 2
|
|
#define MONTY_MOLE_ACT_BEGIN_JUMP_INTO_HOLE 3
|
|
#define MONTY_MOLE_ACT_THROW_ROCK 4
|
|
#define MONTY_MOLE_ACT_JUMP_INTO_HOLE 5
|
|
#define MONTY_MOLE_ACT_HIDE 6
|
|
#define MONTY_MOLE_ACT_JUMP_OUT_OF_HOLE 7
|
|
|
|
/* oBehParams2ndByte */
|
|
#define MONTY_MOLE_BP_NO_ROCK 0
|
|
|
|
/* Monty mole rock */
|
|
/* oAction */
|
|
#define MONTY_MOLE_ROCK_ACT_HELD 0
|
|
#define MONTY_MOLE_ROCK_ACT_MOVE 1
|
|
|
|
/* Ukiki */
|
|
/* oAction */
|
|
#define UKIKI_ACT_IDLE 0
|
|
#define UKIKI_ACT_RUN 1
|
|
#define UKIKI_ACT_TURN_TO_MARIO 2
|
|
#define UKIKI_ACT_JUMP 3
|
|
#define UKIKI_ACT_GO_TO_CAGE 4
|
|
#define UKIKI_ACT_WAIT_TO_RESPAWN 5
|
|
#define UKIKI_ACT_UNUSED_TURN 6
|
|
#define UKIKI_ACT_RETURN_HOME 7
|
|
|
|
/* oSubAction */
|
|
#define UKIKI_SUB_ACT_TAUNT_NONE 0
|
|
#define UKIKI_SUB_ACT_TAUNT_ITCH 1
|
|
#define UKIKI_SUB_ACT_TAUNT_SCREECH 2
|
|
#define UKIKI_SUB_ACT_TAUNT_JUMP_CLAP 3
|
|
#define UKIKI_SUB_ACT_TAUNT_HANDSTAND 4
|
|
|
|
#define UKIKI_SUB_ACT_CAGE_RUN_TO_CAGE 0
|
|
#define UKIKI_SUB_ACT_CAGE_WAIT_FOR_MARIO 1
|
|
#define UKIKI_SUB_ACT_CAGE_TALK_TO_MARIO 2
|
|
#define UKIKI_SUB_ACT_CAGE_TURN_TO_CAGE 3
|
|
#define UKIKI_SUB_ACT_CAGE_JUMP_TO_CAGE 4
|
|
#define UKIKI_SUB_ACT_CAGE_LAND_ON_CAGE 5
|
|
#define UKIKI_SUB_ACT_CAGE_SPIN_ON_CAGE 6
|
|
#define UKIKI_SUB_ACT_CAGE_DESPAWN 7
|
|
|
|
/* oUkikiTextState */
|
|
#define UKIKI_TEXT_DEFAULT 0
|
|
#define UKIKI_TEXT_CAGE_TEXTBOX 1
|
|
#define UKIKI_TEXT_GO_TO_CAGE 2
|
|
#define UKIKI_TEXT_STOLE_HAT 3
|
|
#define UKIKI_TEXT_HAS_HAT 4
|
|
#define UKIKI_TEXT_GAVE_HAT_BACK 5
|
|
#define UKIKI_TEXT_DO_NOT_LET_GO 6
|
|
#define UKIKI_TEXT_STEAL_HAT 7
|
|
|
|
/* oBehParams2ndByte */
|
|
#define UKIKI_CAGE 0
|
|
#define UKIKI_HAT 1
|
|
|
|
/* Animations */
|
|
#define UKIKI_ANIM_RUN 0
|
|
#define UKIKI_ANIM_UNUSED_WALK 1
|
|
#define UKIKI_ANIM_UNUSED_APOSE 2
|
|
#define UKIKI_ANIM_UNUSED_DEATH 3
|
|
#define UKIKI_ANIM_SCREECH 4
|
|
#define UKIKI_ANIM_JUMP_CLAP 5
|
|
#define UKIKI_ANIM_UNUSED_HOP 6
|
|
#define UKIKI_ANIM_LAND 7
|
|
#define UKIKI_ANIM_JUMP 8
|
|
#define UKIKI_ANIM_ITCH 9
|
|
#define UKIKI_ANIM_HANDSTAND 10
|
|
#define UKIKI_ANIM_TURN 11
|
|
#define UKIKI_ANIM_HELD 12
|
|
|
|
/* oAnimState */
|
|
#define UKIKI_ANIM_STATE_DEFAULT 0
|
|
#define UKIKI_ANIM_STATE_EYE_CLOSED 1
|
|
#define UKIKI_ANIM_STATE_HAT_ON 2
|
|
|
|
/* oUkikiHasHat */
|
|
#define UKIKI_HAT_ON 1
|
|
|
|
/* Ukiki Cage Star */
|
|
/* oAction */
|
|
#define UKIKI_CAGE_STAR_ACT_IN_CAGE 0
|
|
#define UKIKI_CAGE_STAR_ACT_SPAWN_STAR 1
|
|
|
|
/* Ukiki Cage */
|
|
/* oAction */
|
|
#define UKIKI_CAGE_ACT_WAIT_FOR_UKIKI 0
|
|
#define UKIKI_CAGE_ACT_SPIN 1
|
|
#define UKIKI_CAGE_ACT_FALL 2
|
|
#define UKIKI_CAGE_ACT_HIDE 3
|
|
|
|
/* Piranha Plant */
|
|
/* oAction */
|
|
#define PIRANHA_PLANT_ACT_IDLE 0
|
|
#define PIRANHA_PLANT_ACT_SLEEPING 1
|
|
#define PIRANHA_PLANT_ACT_BITING 2
|
|
#define PIRANHA_PLANT_ACT_WOKEN_UP 3
|
|
#define PIRANHA_PLANT_ACT_STOPPED_BITING 4
|
|
#define PIRANHA_PLANT_ACT_ATTACKED 5
|
|
#define PIRANHA_PLANT_ACT_SHRINK_AND_DIE 6
|
|
#define PIRANHA_PLANT_ACT_WAIT_TO_RESPAWN 7
|
|
#define PIRANHA_PLANT_ACT_RESPAWN 8
|
|
|
|
/* Piranha Plant bubble */
|
|
#define PIRANHA_PLANT_BUBBLE_ACT_IDLE 0
|
|
#define PIRANHA_PLANT_BUBBLE_ACT_GROW_SHRINK_LOOP 1
|
|
#define PIRANHA_PLANT_BUBBLE_ACT_BURST 2
|
|
|
|
/* Platform on track */
|
|
/* oAction */
|
|
#define PLATFORM_ON_TRACK_ACT_INIT 0
|
|
#define PLATFORM_ON_TRACK_ACT_WAIT_FOR_MARIO 1
|
|
#define PLATFORM_ON_TRACK_ACT_MOVE_ALONG_TRACK 2
|
|
#define PLATFORM_ON_TRACK_ACT_PAUSE_BRIEFLY 3
|
|
#define PLATFORM_ON_TRACK_ACT_FALL 4
|
|
|
|
/* oBehParams >> 16 */
|
|
#define PLATFORM_ON_TRACK_BP_MASK_PATH 0xF
|
|
#define PLATFORM_ON_TRACK_BP_MASK_TYPE (0x7 << 4)
|
|
#define PLATFORM_ON_TRACK_BP_RETURN_TO_START (1 << 8)
|
|
#define PLATFORM_ON_TRACK_BP_DONT_DISAPPEAR (1 << 9)
|
|
#define PLATFORM_ON_TRACK_BP_DONT_TURN_YAW (1 << 10)
|
|
#define PLATFORM_ON_TRACK_BP_DONT_TURN_ROLL (1 << 11)
|
|
|
|
#define PLATFORM_ON_TRACK_TYPE_CARPET 0
|
|
#define PLATFORM_ON_TRACK_TYPE_SKI_LIFT 1
|
|
#define PLATFORM_ON_TRACK_TYPE_CHECKERED 2
|
|
#define PLATFORM_ON_TRACK_TYPE_GRATE 3
|
|
|
|
/* Purple switch */
|
|
#define PURPLE_SWITCH_IDLE 0
|
|
#define PURPLE_SWITCH_PRESSED 1
|
|
#define PURPLE_SWITCH_TICKING 2
|
|
#define PURPLE_SWITCH_UNPRESSED 3
|
|
#define PURPLE_SWITCH_WAIT_FOR_MARIO_TO_GET_OFF 4
|
|
|
|
/* Pyramid elevator */
|
|
#define PYRAMID_ELEVATOR_IDLE 0
|
|
#define PYRAMID_ELEVATOR_START_MOVING 1
|
|
#define PYRAMID_ELEVATOR_CONSTANT_VELOCITY 2
|
|
#define PYRAMID_ELEVATOR_AT_BOTTOM 3
|
|
|
|
/* Pyramid top */
|
|
#define PYRAMID_TOP_ACT_CHECK_IF_SOLVED 0
|
|
#define PYRAMID_TOP_ACT_SPINNING 1
|
|
#define PYRAMID_TOP_ACT_EXPLODE 2
|
|
|
|
/* Pyramid wall */
|
|
/* oAction */
|
|
#define PYRAMID_WALL_ACT_MOVING_DOWN 0
|
|
#define PYRAMID_WALL_ACT_MOVING_UP 1
|
|
|
|
/* oBehParams2ndByte */
|
|
#define PYRAMID_WALL_BP_POSITION_HIGH 0
|
|
#define PYRAMID_WALL_BP_POSITION_MIDDLE 1
|
|
#define PYRAMID_WALL_BP_POSITION_LOW 2
|
|
|
|
/* Penguins (general) */
|
|
/* Walking sounds */
|
|
#define PENGUIN_WALK_BABY 0
|
|
#define PENGUIN_WALK_BIG 1
|
|
|
|
/* Animations */
|
|
#define PENGUIN_ANIM_WALK 0
|
|
#define PENGUIN_ANIM_IDLE 3
|
|
|
|
/* Racing penguin */
|
|
/* oAction */
|
|
#define RACING_PENGUIN_ACT_WAIT_FOR_MARIO 0
|
|
#define RACING_PENGUIN_ACT_SHOW_INIT_TEXT 1
|
|
#define RACING_PENGUIN_ACT_PREPARE_FOR_RACE 2
|
|
#define RACING_PENGUIN_ACT_RACE 3
|
|
#define RACING_PENGUIN_ACT_FINISH_RACE 4
|
|
#define RACING_PENGUIN_ACT_SHOW_FINAL_TEXT 5
|
|
|
|
/* SL walking penguin */
|
|
/* oAction */
|
|
#define SL_WALKING_PENGUIN_ACT_MOVING_FORWARDS 0
|
|
#define SL_WALKING_PENGUIN_ACT_TURNING_BACK 1
|
|
#define SL_WALKING_PENGUIN_ACT_RETURNING 2
|
|
#define SL_WALKING_PENGUIN_ACT_TURNING_FORWARDS 3
|
|
|
|
/* Snowman wind */
|
|
/* oSubAction */
|
|
#define SL_SNOWMAN_WIND_ACT_IDLE 0
|
|
#define SL_SNOWMAN_WIND_ACT_TALKING 1
|
|
#define SL_SNOWMAN_WIND_ACT_BLOWING 2
|
|
|
|
|
|
/* Water bomb */
|
|
/* oAction */
|
|
#define WATER_BOMB_ACT_SHOT_FROM_CANNON 0
|
|
#define WATER_BOMB_ACT_INIT 1
|
|
#define WATER_BOMB_ACT_DROP 2
|
|
#define WATER_BOMB_ACT_EXPLODE 3
|
|
|
|
/* TTC rotating solid */
|
|
/* oBehParams2ndByte */
|
|
#define TTC_ROTATING_SOLID_BP_CUBE 0
|
|
#define TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM 1
|
|
|
|
/* TTC moving bar */
|
|
/* oAction */
|
|
#define TTC_MOVING_BAR_ACT_WAIT 0
|
|
#define TTC_MOVING_BAR_ACT_PULL_BACK 1
|
|
#define TTC_MOVING_BAR_ACT_EXTEND 2
|
|
#define TTC_MOVING_BAR_ACT_RETRACT 3
|
|
|
|
/* TTC cog */
|
|
/* oBehParams2ndByte */
|
|
#define TTC_COG_BP_SHAPE_MASK 0x00000002
|
|
#define TTC_COG_BP_SHAPE_HEXAGON (0 << 1)
|
|
#define TTC_COG_BP_SHAPE_TRIANGLE (1 << 1)
|
|
#define TTC_COG_BP_DIR_MASK 0x00000001
|
|
#define TTC_COG_BP_DIR_CCW (0 << 0) // TODO: Check these
|
|
#define TTC_COG_BP_DIR_CW (1 << 0)
|
|
|
|
/* TTC 2D Rotator */
|
|
/* oBehParams2ndByte */
|
|
#define TTC_2D_ROTATOR_BP_HAND 0
|
|
#define TTC_2D_ROTATOR_BP_2D_COG 1
|
|
|
|
/* Activated Back-and-Forth Platform */
|
|
/* ((u16)(o->oBehParams >> 16) & 0x0300) >> 8 aka platform type */
|
|
#define ACTIVATED_BF_PLAT_TYPE_BITS_ARROW_PLAT 0
|
|
#define ACTIVATED_BF_PLAT_TYPE_BITFS_MESH_PLAT 1
|
|
#define ACTIVATED_BF_PLAT_TYPE_BITFS_ELEVATOR 2
|
|
|
|
/* Dorrie */
|
|
/* oAction */
|
|
#define DORRIE_ACT_MOVE 0
|
|
#define DORRIE_ACT_LOWER_HEAD 1
|
|
#define DORRIE_ACT_RAISE_HEAD 2
|
|
|
|
/* Mad piano */
|
|
/* oAction */
|
|
#define MAD_PIANO_ACT_WAIT 0
|
|
#define MAD_PIANO_ACT_ATTACK 1
|
|
|
|
/* Fire piranha plant */
|
|
/* oAction */
|
|
#define FIRE_PIRANHA_PLANT_ACT_HIDE 0
|
|
#define FIRE_PIRANHA_PLANT_ACT_GROW 1
|
|
|
|
/* Fire spitter */
|
|
/* oAction */
|
|
#define FIRE_SPITTER_ACT_IDLE 0
|
|
#define FIRE_SPITTER_ACT_SPIT_FIRE 1
|
|
|
|
/* Eyerok boss */
|
|
/* oAction */
|
|
#define EYEROK_BOSS_ACT_SLEEP 0
|
|
#define EYEROK_BOSS_ACT_WAKE_UP 1
|
|
#define EYEROK_BOSS_ACT_SHOW_INTRO_TEXT 2
|
|
#define EYEROK_BOSS_ACT_FIGHT 3
|
|
#define EYEROK_BOSS_ACT_DIE 4
|
|
#define EYEROK_BOSS_ACT_DEAD 5
|
|
#define EYEROK_BOSS_ACT_PAUSE 6
|
|
|
|
/* Eyerok hand */
|
|
/* oAction */
|
|
#define EYEROK_HAND_ACT_SLEEP 0
|
|
#define EYEROK_HAND_ACT_IDLE 1
|
|
#define EYEROK_HAND_ACT_OPEN 2
|
|
#define EYEROK_HAND_ACT_SHOW_EYE 3
|
|
#define EYEROK_HAND_ACT_CLOSE 4
|
|
#define EYEROK_HAND_ACT_RETREAT 5
|
|
#define EYEROK_HAND_ACT_TARGET_MARIO 6
|
|
#define EYEROK_HAND_ACT_SMASH 7
|
|
#define EYEROK_HAND_ACT_FIST_PUSH 8
|
|
#define EYEROK_HAND_ACT_FIST_SWEEP 9
|
|
#define EYEROK_HAND_ACT_BEGIN_DOUBLE_POUND 10 // raising for double smash
|
|
#define EYEROK_HAND_ACT_DOUBLE_POUND 11 // double smashing
|
|
#define EYEROK_HAND_ACT_ATTACKED 12
|
|
#define EYEROK_HAND_ACT_RECOVER 13
|
|
#define EYEROK_HAND_ACT_BECOME_ACTIVE 14
|
|
#define EYEROK_HAND_ACT_DIE 15
|
|
#define EYEROK_HAND_ACT_DEAD 16
|
|
#define EYEROK_HAND_ACT_PAUSE 17
|
|
|
|
/* Klepto */
|
|
/* oAction */
|
|
#define KLEPTO_ACT_CIRCLE_TARGET_HOLDING 0
|
|
#define KLEPTO_ACT_APPROACH_TARGET_HOLDING 1
|
|
#define KLEPTO_ACT_WAIT_FOR_MARIO 2
|
|
#define KLEPTO_ACT_TURN_TOWARD_MARIO 3
|
|
#define KLEPTO_ACT_DIVE_AT_MARIO 4
|
|
#define KLEPTO_ACT_RESET_POSITION 5
|
|
#define KLEPTO_ACT_STRUCK_BY_MARIO 6
|
|
#define KLEPTO_ACT_RETREAT 7
|
|
|
|
/* oAnimState */
|
|
#define KLEPTO_ANIM_STATE_HOLDING_NOTHING 0
|
|
#define KLEPTO_ANIM_STATE_HOLDING_CAP 1
|
|
#define KLEPTO_ANIM_STATE_HOLDING_STAR 2
|
|
|
|
/* Bird */
|
|
/* oAction */
|
|
#define BIRD_ACT_INACTIVE 0
|
|
#define BIRD_ACT_FLY 1
|
|
|
|
/* oBehParams2ndByte */
|
|
#define BIRD_BP_SPAWNED 0
|
|
#define BIRD_BP_SPAWNER 1
|
|
|
|
/* Skeeter */
|
|
/* oAction */
|
|
#define SKEETER_ACT_IDLE 0
|
|
#define SKEETER_ACT_LUNGE 1
|
|
#define SKEETER_ACT_WALK 2
|
|
|
|
/* Snufit */
|
|
/* oAction */
|
|
#define SNUFIT_ACT_IDLE 0
|
|
#define SNUFIT_ACT_SHOOT 1
|
|
|
|
/* Tweester */
|
|
/* oAction */
|
|
#define TWEESTER_ACT_IDLE 0
|
|
#define TWEESTER_ACT_CHASE 1
|
|
#define TWEESTER_ACT_HIDE 2
|
|
|
|
/* oSubAction */
|
|
#define TWEESTER_SUB_ACT_WAIT 0
|
|
|
|
#define TWEESTER_SUB_ACT_CHASE 0
|
|
|
|
/* Triplet butterfly */
|
|
/* oAction */
|
|
#define TRIPLET_BUTTERFLY_ACT_INIT 0
|
|
#define TRIPLET_BUTTERFLY_ACT_WANDER 1
|
|
#define TRIPLET_BUTTERFLY_ACT_ACTIVATE 2
|
|
#define TRIPLET_BUTTERFLY_ACT_EXPLODE 3
|
|
|
|
/* oBehParams2ndByte */
|
|
#define TRIPLET_BUTTERFLY_BP_BUTTERFLY_NUM 0x00000003
|
|
#define TRIPLET_BUTTERFLY_BP_NO_BOMBS 0x00000004
|
|
|
|
/* oTripletButterflyType */
|
|
#define TRIPLET_BUTTERFLY_TYPE_NORMAL -1
|
|
#define TRIPLET_BUTTERFLY_TYPE_EXPLODES 0
|
|
#define TRIPLET_BUTTERFLY_TYPE_SPAWN_1UP 1
|
|
|
|
/* Water level diamond */
|
|
/* oAction */
|
|
// Loading
|
|
#define WATER_LEVEL_DIAMOND_ACT_INIT 0
|
|
// Idling when Mario isn't inside its hitbox
|
|
#define WATER_LEVEL_DIAMOND_ACT_IDLE 1
|
|
// While the water level is changing
|
|
#define WATER_LEVEL_DIAMOND_ACT_CHANGE_WATER_LEVEL 2
|
|
// After the water level has changed but Mario hasn't left its hitbox yet
|
|
#define WATER_LEVEL_DIAMOND_ACT_IDLE_SPINNING 3
|
|
|
|
/* Mips */
|
|
/* oAction */
|
|
#define MIPS_ACT_WAIT_FOR_NEARBY_MARIO 0
|
|
#define MIPS_ACT_FOLLOW_PATH 1
|
|
#define MIPS_ACT_WAIT_FOR_ANIMATION_DONE 2
|
|
#define MIPS_ACT_FALL_DOWN 3
|
|
#define MIPS_ACT_IDLE 4
|
|
|
|
/* oMipsStarStatus */
|
|
#define MIPS_STAR_STATUS_HAVENT_SPAWNED_STAR 0
|
|
#define MIPS_STAR_STATUS_SHOULD_SPAWN_STAR 1
|
|
#define MIPS_STAR_STATUS_ALREADY_SPAWNED_STAR 2
|
|
|
|
/* Falling Pillar */
|
|
/* oAction */
|
|
#define FALLING_PILLAR_ACT_IDLE 0
|
|
#define FALLING_PILLAR_ACT_TURNING 1
|
|
#define FALLING_PILLAR_ACT_FALLING 2
|
|
|
|
/* Bowser Puzzle */
|
|
/* oAction */
|
|
#define BOWSER_PUZZLE_ACT_SPAWN_PIECES 0
|
|
#define BOWSER_PUZZLE_ACT_WAIT_FOR_COMPLETE 1
|
|
#define BOWSER_PUZZLE_ACT_DONE 2
|
|
|
|
/* Mr Blizzard */
|
|
/* oAction */
|
|
#define MR_BLIZZARD_ACT_SPAWN_SNOWBALL 0
|
|
#define MR_BLIZZARD_ACT_HIDE_UNHIDE 1
|
|
#define MR_BLIZZARD_ACT_RISE_FROM_GROUND 2
|
|
#define MR_BLIZZARD_ACT_ROTATE 3
|
|
#define MR_BLIZZARD_ACT_THROW_SNOWBALL 4
|
|
#define MR_BLIZZARD_ACT_BURROW 5
|
|
#define MR_BLIZZARD_ACT_DEATH 6
|
|
#define MR_BLIZZARD_ACT_JUMP 7
|
|
/* oBehParams2ndByte */
|
|
#define MR_BLIZZARD_STYPE_NO_CAP 0
|
|
#define MR_BLIZZARD_STYPE_JUMPING 1
|
|
|
|
#endif // OBJECT_CONSTANTS_H
|