#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 << 0) // 0x0000 #define ACTIVE_FLAG_ACTIVE (1 << 0) // 0x0001 #define ACTIVE_FLAG_FAR_AWAY (1 << 1) // 0x0002 #define ACTIVE_FLAG_UNUSED (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_ALLOCATED (1 << 8) // 0x0100 #define ACTIVE_FLAG_DESTRUCTIVE_OBJ_DONT_DESTROY (1 << 9) // 0x0200 #define ACTIVE_FLAG_IGNORE_ENV_BOXES (1 << 10) // 0x0400 /* respawnInfoType */ #define RESPAWN_INFO_TYPE_NULL 0x00 #define RESPAWN_INFO_TYPE_32 0x01 #define RESPAWN_INFO_TYPE_16 0x02 /* 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_UPDATE_TRANSFORM_FOR_THROW_MATRIX (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_PLAYER (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_VELOCITY_PLATFORM (1 << 15) // 0x00008000 #define OBJ_FLAG_DONT_CALC_COLL_DIST (1 << 16) // 0x00010000 #define OBJ_FLAG_EMIT_LIGHT (1 << 17) // 0x00020000 #define OBJ_FLAG_UCODE_LARGE (1 << 18) // 0x00040000 #define OBJ_FLAG_SILHOUETTE (1 << 19) // 0x00080000 #define OBJ_FLAG_OCCLUDE_SILHOUETTE (1 << 20) // 0x00100000 #define OBJ_FLAG_OPACITY_FROM_CAMERA_DIST (1 << 21) // 0x00200000 #define OBJ_FLAG_UCODE_SMALL (1 << 22) // 0x00400000 #define OBJ_FLAG_HITBOX_WAS_SET (1 << 30) // 0x40000000 /* oHeldState */ #define HELD_FREE 0x00 #define HELD_HELD 0x01 #define HELD_THROWN 0x02 #define HELD_DROPPED 0x03 /* oDialogState */ #define DIALOG_STATUS_ENABLE_TIME_STOP 0x00 #define DIALOG_STATUS_INTERRUPT 0x01 #define DIALOG_STATUS_START_DIALOG 0x02 #define DIALOG_STATUS_STOP_DIALOG 0x03 #define DIALOG_STATUS_DISABLE_TIME_STOP 0x04 #define DIALOG_FLAG_NONE (0 << 0) // 0x00 #define DIALOG_FLAG_TURN_TO_MARIO (1 << 0) // 0x01 // cutscene only #define DIALOG_FLAG_TEXT_DEFAULT (1 << 1) // 0x02 #define DIALOG_FLAG_TEXT_RESPONSE (1 << 2) // 0x04 // non-cutscene only #define DIALOG_FLAG_UNK_CAPSWITCH (1 << 3) // 0x08 // not defined #define DIALOG_FLAG_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_NONE (0 << 0) // 0x00000000 #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 /* oBehParams2ndByte */ #define OBJ_BP_NONE 0x0 /* oAction */ #define OBJ_ACT_PROJECTILE_HIT_MARIO -0x1 /* 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 /* oAnimState */ #define OBJ_ANIM_STATE_INIT_ANIM -0x1 #define OBJ_ANIM_STATE_DEFAULT 0x0 /* cur_obj_update_blinking */ #define OBJ_BLINKING_ANIM_STATE_EYES_OPEN 0x0 #define OBJ_BLINKING_ANIM_STATE_EYES_CLOSED 0x1 /* Animations */ #define OBJ_ANIM_NONE -0x1 /* gTTCSpeedSetting */ #define TTC_SPEED_SLOW 0x0 #define TTC_SPEED_FAST 0x1 #define TTC_SPEED_RANDOM 0x2 #define TTC_SPEED_STOPPED 0x3 /* geo_update_layer_transparency */ #define TRANSPARENCY_ANIM_STATE_OPAQUE 0x0 #define TRANSPARENCY_ANIM_STATE_TRANSPARENT 0x1 /* Orange Number */ /* oBehParams2ndByte, oAnimState */ #define ORANGE_NUMBER_0 0x0 #define ORANGE_NUMBER_1 0x1 #define ORANGE_NUMBER_2 0x2 #define ORANGE_NUMBER_3 0x3 #define ORANGE_NUMBER_4 0x4 #define ORANGE_NUMBER_5 0x5 #define ORANGE_NUMBER_6 0x6 #define ORANGE_NUMBER_7 0x7 #define ORANGE_NUMBER_8 0x8 #define ORANGE_NUMBER_9 0x9 #define ORANGE_NUMBER_A 0xA #define ORANGE_NUMBER_B 0xB #define ORANGE_NUMBER_C 0xC #define ORANGE_NUMBER_D 0xD #define ORANGE_NUMBER_E 0xE #define ORANGE_NUMBER_F 0xF /* Coin Type */ /* coinType */ #define COIN_TYPE_NONE 0x0 #define COIN_TYPE_YELLOW 0x1 #define COIN_TYPE_BLUE 0x2 /* Hidden Blue Coin */ /* oAction */ #define HIDDEN_BLUE_COIN_ACT_INACTIVE 0x0 #define HIDDEN_BLUE_COIN_ACT_WAITING 0x1 #define HIDDEN_BLUE_COIN_ACT_ACTIVE 0x2 /* Blue Coin Switch */ /* oAction */ #define BLUE_COIN_SWITCH_ACT_IDLE 0x0 #define BLUE_COIN_SWITCH_ACT_RECEDING 0x1 #define BLUE_COIN_SWITCH_ACT_TICKING 0x2 #define BLUE_COIN_SWITCH_ACT_EXTENDING 0x3 /* Moving Blue Coin */ /* oAction */ #define MOV_BCOIN_ACT_STILL 0x0 #define MOV_BCOIN_ACT_MOVING 0x1 #define MOV_BCOIN_ACT_SLOWING_DOWN 0x2 #define MOV_BCOIN_ACT_STOPPED 0x3 #define MOV_BCOIN_ACT_FLICKERING 0x4 /* Yellow Coin */ /* oBehParams2ndByte */ #define YELLOW_COIN_BP_ONE_COIN 0x1 /* Moving Yellow Coin */ /* oAction */ #define MOV_YCOIN_ACT_IDLE 0x0 #define MOV_YCOIN_ACT_BLINKING 0x1 /* oSubAction */ /* Coin Formation */ /* (oBehParams2ndByte & 0x7) */ #define COIN_FORMATION_BP_HORIZONTAL_LINE 0x0 #define COIN_FORMATION_BP_VERTICAL_LINE 0x1 #define COIN_FORMATION_BP_HORIZONTAL_RING 0x2 #define COIN_FORMATION_BP_VERTICAL_RING 0x3 #define COIN_FORMATION_BP_ARROW 0x4 /* oAction */ #define COIN_FORMATION_ACT_INACTIVE 0x0 #define COIN_FORMATION_ACT_ACTIVE 0x1 #define COIN_FORMATION_ACT_DEACTIVATE 0x2 /* Coin Inside Boo */ /* oAction */ #define COIN_INSIDE_BOO_ACT_CARRIED 0x0 #define COIN_INSIDE_BOO_ACT_DROPPED 0x1 /* 1-Up Mushroom */ /* oBehParams2ndByte */ #define MUSHROOM_BP_REQUIRES_NONE 0x0 #define MUSHROOM_BP_REQUIRES_BOWSER_1 0x1 #define MUSHROOM_BP_REQUIRES_BOWSER_2 0x2 /* oAction */ #define MUSHROOM_ACT_INIT 0x0 #define MUSHROOM_ACT_MOVING 0x1 #define MUSHROOM_ACT_DISAPPEARING 0x2 #define MUSHROOM_ACT_LOOP_IN_AIR 0x3 /* Bob-omb */ /* oBehParams2ndByte */ #define BOBOMB_BP_STYPE_GENERIC 0x0 #define BOBOMB_BP_STYPE_STATIONARY 0x1 /* oAction */ #define BOBOMB_ACT_PATROL 0x0 #define BOBOMB_ACT_LAUNCHED 0x1 #define BOBOMB_ACT_CHASE_MARIO 0x2 #define BOBOMB_ACT_EXPLODE 0x3 /* oAnimState */ #define BOBOMB_ANIM_STATE_EYES_OPEN OBJ_BLINKING_ANIM_STATE_EYES_OPEN #define BOBOMB_ANIM_STATE_EYES_CLOSED OBJ_BLINKING_ANIM_STATE_EYES_CLOSED /* Animations */ #define BOBOMB_ANIM_WALKING 0x0 #define BOBOMB_ANIM_HELD 0x1 /* Bob-omb Buddy */ /* oBehParams2ndByte */ #define BOBOMB_BUDDY_BP_STYPE_GENERIC 0x0 #define BOBOMB_BUDDY_BP_STYPE_BOB_GRASS_KBB 0x1 #define BOBOMB_BUDDY_BP_STYPE_BOB_CANNON_KBB 0x2 #define BOBOMB_BUDDY_BP_STYPE_BOB_GRASS 0x3 /* oAction */ #define BOBOMB_BUDDY_ACT_IDLE 0x0 #define BOBOMB_BUDDY_ACT_TURN_TO_TALK 0x2 #define BOBOMB_BUDDY_ACT_TALK 0x3 /* oBobombBuddyRole */ #define BOBOMB_BUDDY_ROLE_ADVICE 0x0 #define BOBOMB_BUDDY_ROLE_CANNON 0x1 /* oBobombBuddyCannonStatus */ #define BOBOMB_BUDDY_CANNON_UNOPENED 0x0 #define BOBOMB_BUDDY_CANNON_OPENING 0x1 #define BOBOMB_BUDDY_CANNON_OPENED 0x2 #define BOBOMB_BUDDY_CANNON_STOP_TALKING 0x3 /* oBobombBuddyHasTalkedToMario */ #define BOBOMB_BUDDY_HAS_NOT_TALKED 0x0 #define BOBOMB_BUDDY_HAS_TALKED 0x2 /* Bowser */ /* oBehParams2ndByte */ #define BOWSER_BP_BITDW 0x0 #define BOWSER_BP_BITFS 0x1 #define BOWSER_BP_BITS 0x2 /* Tail oAction */ #define BOWSER_ACT_TAIL_DEFAULT 0x00 #define BOWSER_ACT_TAIL_THROWN 0x01 #define BOWSER_ACT_TAIL_TOUCHED_MARIO 0x02 /* oAction */ #define BOWSER_ACT_DEFAULT 0x00 #define BOWSER_ACT_THROWN 0x01 #define BOWSER_ACT_JUMP_ONTO_STAGE 0x02 #define BOWSER_ACT_DANCE 0x03 #define BOWSER_ACT_DEAD 0x04 #define BOWSER_ACT_WAIT 0x05 #define BOWSER_ACT_INTRO_WALK 0x06 #define BOWSER_ACT_CHARGE_MARIO 0x07 #define BOWSER_ACT_SPIT_FIRE_INTO_SKY 0x08 #define BOWSER_ACT_SPIT_FIRE_ONTO_FLOOR 0x09 #define BOWSER_ACT_HIT_EDGE 0x0A #define BOWSER_ACT_TURN_FROM_EDGE 0x0B #define BOWSER_ACT_HIT_MINE 0x0C #define BOWSER_ACT_BIG_JUMP 0x0D #define BOWSER_ACT_WALK_TO_MARIO 0x0E #define BOWSER_ACT_BREATH_FIRE 0x0F #define BOWSER_ACT_TELEPORT 0x10 #define BOWSER_ACT_QUICK_JUMP 0x11 #define BOWSER_ACT_UNUSED_SLOW_WALK 0x12 #define BOWSER_ACT_TILT_LAVA_PLATFORM 0x13 /* oAnimState */ #define BOWSER_ANIM_STATE_OPAQUE TRANSPARENCY_ANIM_STATE_OPAQUE #define BOWSER_ANIM_STATE_TRANSPARENT TRANSPARENCY_ANIM_STATE_TRANSPARENT #define BOWSER_ANIM_STATE_INVISIBLE 0x02 /* Animations */ #define BOWSER_ANIM_STAND_UP 0x00 #define BOWSER_ANIM_STAND_UP_UNUSED 0x01 // slightly different #define BOWSER_ANIM_SHAKING 0x02 #define BOWSER_ANIM_GRABBED 0x03 #define BOWSER_ANIM_BROKEN 0x04 // broken animation #define BOWSER_ANIM_FALL_DOWN 0x05 // unused #define BOWSER_ANIM_BREATH 0x06 #define BOWSER_ANIM_JUMP 0x07 // unused, short jump, replaced by start/stop #define BOWSER_ANIM_JUMP_STOP 0x08 #define BOWSER_ANIM_JUMP_START 0x09 #define BOWSER_ANIM_DANCE 0x0A #define BOWSER_ANIM_BREATH_UP 0x0B #define BOWSER_ANIM_IDLE 0x0C #define BOWSER_ANIM_SLOW_GAIT 0x0D #define BOWSER_ANIM_LOOK_DOWN_STOP_WALK 0x0E #define BOWSER_ANIM_LOOK_UP_START_WALK 0x0F #define BOWSER_ANIM_FLIP_DOWN 0x10 #define BOWSER_ANIM_LAY_DOWN 0x11 #define BOWSER_ANIM_RUN_START 0x12 #define BOWSER_ANIM_RUN 0x13 #define BOWSER_ANIM_RUN_STOP 0x14 #define BOWSER_ANIM_RUN_SLIP 0x15 #define BOWSER_ANIM_BREATH_QUICK 0x16 #define BOWSER_ANIM_EDGE_MOVE 0x17 #define BOWSER_ANIM_EDGE_STOP 0x18 #define BOWSER_ANIM_FLIP 0x19 #define BOWSER_ANIM_STAND_UP_FROM_FLIP 0x1A /* oBowserCamAct */ #define BOWSER_CAM_ACT_IDLE 0x0 #define BOWSER_CAM_ACT_WALK 0x1 #define BOWSER_CAM_ACT_END 0x2 /* oBowserStatus */ #define BOWSER_STATUS_ANGLE_MARIO (1 << 1) // 0x00000002 #define BOWSER_STATUS_ANGLE_CENTRE (1 << 2) // 0x00000004 #define BOWSER_STATUS_DIST_MARIO (1 << 3) // 0x00000008 #define BOWSER_STATUS_DIST_CENTRE (1 << 4) // 0x00000010 #define BOWSER_STATUS_BIG_JUMP (1 << 16) // 0x00010000 #define BOWSER_STATUS_FIRE_SKY (1 << 17) // 0x00020000 /* oBowserGrabbedStatus */ #define BOWSER_GRAB_STATUS_NONE 0x0 #define BOWSER_GRAB_STATUS_GRABBED 0x1 #define BOWSER_GRAB_STATUS_HOLDING 0x2 /* oSubAction */ /* BOWSER_ACT_THROWN */ #define BOWSER_SUB_ACT_THROWN_BOUNCE 0x0 #define BOWSER_SUB_ACT_THROWN_STOP 0x1 /* BOWSER_ACT_DEAD */ #define BOWSER_SUB_ACT_DEAD_FLY_BACK 0x0 #define BOWSER_SUB_ACT_DEAD_BOUNCE 0x1 #define BOWSER_SUB_ACT_DEAD_WAIT 0x2 #define BOWSER_SUB_ACT_DEAD_DEFAULT_END 0x3 #define BOWSER_SUB_ACT_DEAD_DEFAULT_END_OVER 0x4 #define BOWSER_SUB_ACT_DEAD_FINAL_END 0xA #define BOWSER_SUB_ACT_DEAD_FINAL_END_OVER 0xB /* BOWSER_ACT_INTRO_WALK */ #define BOWSER_SUB_ACT_INTRO_WALK_LOOK_UP 0x0 #define BOWSER_SUB_ACT_INTRO_WALK_SLOWLY 0x1 #define BOWSER_SUB_ACT_INTRO_WALK_STOP 0x2 /* BOWSER_ACT_CHARGE_MARIO */ #define BOWSER_SUB_ACT_CHARGE_START 0x0 #define BOWSER_SUB_ACT_CHARGE_RUN 0x1 #define BOWSER_SUB_ACT_CHARGE_END 0x2 #define BOWSER_SUB_ACT_CHARGE_SLIP 0x3 /* BOWSER_ACT_TELEPORT */ #define BOWSER_SUB_ACT_TELEPORT_START 0x0 #define BOWSER_SUB_ACT_TELEPORT_MOVE 0x1 #define BOWSER_SUB_ACT_TELEPORT_STOP 0x2 /* BOWSER_ACT_SPIT_FIRE_ONTO_FLOOR */ #define BOWSER_SUB_ACT_SPIT_FIRE_FLOOR_START 0x0 #define BOWSER_SUB_ACT_SPIT_FIRE_FLOOR_STOP 0x1 /* BOWSER_ACT_HIT_EDGE */ #define BOWSER_SUB_ACT_HIT_EDGE_START 0x0 #define BOWSER_SUB_ACT_HIT_EDGE_STOP 0x1 /* BOWSER_ACT_TURN_FROM_EDGE */ #define BOWSER_SUB_ACT_TURN_FROM_EDGE_START 0x0 #define BOWSER_SUB_ACT_TURN_FROM_EDGE_STOP 0x1 #define BOWSER_SUB_ACT_TURN_FROM_EDGE_END 0x2 /* BOWSER_ACT_HIT_MINE */ #define BOWSER_SUB_ACT_HIT_MINE_START 0x0 #define BOWSER_SUB_ACT_HIT_MINE_FALL 0x1 #define BOWSER_SUB_ACT_HIT_MINE_STOP 0x2 /* BOWSER_ACT_JUMP_ONTO_STAGE */ #define BOWSER_SUB_ACT_JUMP_ON_STAGE_IDLE 0x0 #define BOWSER_SUB_ACT_JUMP_ON_STAGE_START 0x1 #define BOWSER_SUB_ACT_JUMP_ON_STAGE_LAND 0x2 #define BOWSER_SUB_ACT_JUMP_ON_STAGE_STOP 0x3 /* BOWSER_ACT_BIG_JUMP */ #define BOWSER_SUB_ACT_BIG_JUMP_START 0x0 #define BOWSER_SUB_ACT_BIG_JUMP_LAND 0x1 #define BOWSER_SUB_ACT_BIG_JUMP_STOP 0x2 /* BOWSER_ACT_WALK_TO_MARIO */ #define BOWSER_SUB_ACT_WALK_TO_MARIO_START 0x0 #define BOWSER_SUB_ACT_WALK_TO_MARIO_WALKING 0x1 #define BOWSER_SUB_ACT_WALK_TO_MARIO_STOP 0x2 /* BOWSER_ACT_QUICK_JUMP */ #define BOWSER_SUB_ACT_QUICK_JUMP_START 0x0 #define BOWSER_SUB_ACT_QUICK_JUMP_LAND 0x1 #define BOWSER_SUB_ACT_QUICK_JUMP_STOP 0x2 /* Bowser BITS Platform */ /* oAction */ #define BOWSER_BITS_PLAT_ACT_START 0x0 #define BOWSER_BITS_PLAT_ACT_CHECK 0x1 #define BOWSER_BITS_PLAT_ACT_FALL 0x2 /* oSubAction */ /* BOWSER_BITS_PLAT_ACT_CHECK */ #define BOWSER_BITS_PLAT_SUB_ACT_CHECK_RESET_TIMER 0x0 #define BOWSER_BITS_PLAT_SUB_ACT_CHECK_DEBUG_FALL 0x1 /* Bowser Flame */ /* oAction */ #define BOWSER_FLAME_ACT_FLOATING 0x0 #define BOWSER_FLAME_ACT_LANDED 0x1 /* Blue Bowser Flame */ /* oBehParams2ndByte */ #define BOWSER_FLAME_BLUE_BP_SPAWN_RED_FLAMES 0x0 #define BOWSER_FLAME_BLUE_BP_SPAWN_BLUE_FLAMES 0x1 /* Bowser Floating Flame */ /* oBehParams2ndByte */ #define BOWSER_FLOATING_FLAME_SPAWN_RED_FLAME 0x0 #define BOWSER_FLOATING_FLAME_SPAWN_BLUE_FLAME_1 0x1 #define BOWSER_FLOATING_FLAME_SPAWN_BLUE_FLAME_2 0x2 /* Bowser Key */ /* oAction */ #define BOWSER_KEY_ACT_BOUNCING 0x0 #define BOWSER_KEY_ACT_LANDED 0x1 /* Bowser Key Cutscene */ /* Animations */ #define BOWSER_KEY_CUTSCENE_ANIM_UNLOCK_DOOR 0x0 #define BOWSER_KEY_CUTSCENE_ANIM_COURSE_EXIT 0x1 /* Fish Spawer */ /* oBehParams2ndByte */ #define FISH_SPAWNER_BP_MANY_BLUE 0x0 #define FISH_SPAWNER_BP_FEW_BLUE 0x1 #define FISH_SPAWNER_BP_MANY_CYAN 0x2 #define FISH_SPAWNER_BP_FEW_CYAN 0x3 /* oAction */ #define FISH_SPAWNER_ACT_SPAWN 0x0 #define FISH_SPAWNER_ACT_IDLE 0x1 #define FISH_SPAWNER_ACT_RESPAWN 0x2 /* Fish */ /* oAction */ #define FISH_ACT_INIT 0x0 #define FISH_ACT_ROAM 0x1 #define FISH_ACT_FLEE 0x2 /* Animations */ #define FISH_ANIM_DEFAULT 0x0 /* Blue Fish Spawner */ /* oAction: bhv_blue_fish_spawn_loop */ #define BLUE_FISH_ACT_SPAWN 0x0 #define BLUE_FISH_ACT_ROOM 0x1 #define BLUE_FISH_ACT_DUPLICATE 0x2 /* Blue Fish */ /* oAction */ #define BLUE_FISH_ACT_DIVE 0x0 #define BLUE_FISH_ACT_TURN 0x1 #define BLUE_FISH_ACT_ASCEND 0x2 #define BLUE_FISH_ACT_TURN_BACK 0x3 /* Animations */ #define BLUE_FISH_ANIM_DEFAULT 0x0 /* Blue Fish */ /* oAction */ #define BLUE_FISH_ACT_DIVE 0x0 #define BLUE_FISH_ACT_TURN 0x1 #define BLUE_FISH_ACT_ASCEND 0x2 #define BLUE_FISH_ACT_TURN_BACK 0x3 /* Animations */ #define BLUE_FISH_ANIM_DEFAULT 0x0 /* Cheep Cheep Spawner */ /* oAction */ #define BUB_SPAWNER_ACT_SPAWN_BUBS 0x0 #define BUB_SPAWNER_ACT_IDLE 0x1 #define BUB_SPAWNER_ACT_REMOVE_BUBS 0x2 #define BUB_SPAWNER_ACT_RESET 0x3 /* Cheep Cheep */ /* oAction */ #define BUB_ACT_INIT 0x0 #define BUB_ACT_SWIMMING_TOWARDS_MARIO 0x1 #define BUB_ACT_SWIMMING_AWAY_FROM_MARIO 0x2 /* Animations */ #define BUB_ANIM_SWIM 0x0 /* Bubba */ /* oAction */ #define BUBBA_ACT_IDLE 0x0 #define BUBBA_ACT_ATTACK 0x1 /* oAnimState */ #define BUBBA_ANIM_STATE_CLOSED_MOUTH 0x0 #define BUBBA_ANIM_STATE_OPEN_MOUTH 0x1 /* Seaweed */ /* Animations */ #define SEAWEED_ANIM_WAVE 0x0 /* Clam */ /* oAction */ #define CLAM_ACT_CLOSING 0x0 #define CLAM_ACT_OPENING 0x1 /* Animations */ #define CLAM_ANIM_CLOSING 0x0 #define CLAM_ANIM_OPENING 0x1 /* Purple Switch */ /* oBehParams2ndByte */ #define PURPLE_SWITCH_BP_NO_TICK 0x0 #define PURPLE_SWITCH_BP_ANIMATES 0x1 #define PURPLE_SWITCH_BP_REVEAL_HIDDEN 0x2 /* oAction */ #define PURPLE_SWITCH_ACT_IDLE 0x0 #define PURPLE_SWITCH_ACT_PRESSED 0x1 #define PURPLE_SWITCH_ACT_TICKING 0x2 #define PURPLE_SWITCH_ACT_UNPRESSED 0x3 #define PURPLE_SWITCH_ACT_WAIT_FOR_MARIO_TO_GET_OFF 0x4 /* Animates on Floor Switch */ /* oBehParams2ndByte */ #define ANIMATES_ON_FLOOR_SWITCH_BP_BITS_STAIRS 0x0 #define ANIMATES_ON_FLOOR_SWITCH_BP_BITDW_STAIRS 0x1 #define ANIMATES_ON_FLOOR_SWITCH_BP_RR_TRIGANGLES 0x2 /* Openable Grill */ /* oBehParams2ndByte */ #define OPENABLE_GRILL_BP_BOB 0x0 #define OPENABLE_GRILL_BP_HMC 0x1 /* oAction */ #define OEPNABLE_GRILL_ACT_SPAWN 0x0 #define OEPNABLE_GRILL_IDLE_CLOSED 0x1 #define OEPNABLE_GRILL_OPENING 0x2 #define OEPNABLE_GRILL_IDLE_OPEN 0x3 /* Openable Grill Door */ /* oBehParams2ndByte */ #define OPENABLE_GRILL_DOOR_BP_SIDE_FLIPPED -0x1 #define OPENABLE_GRILL_DOOR_BP_SIDE_UNFLIPPED 0x1 /* oAction */ #define OPENABLE_GRILL_DOOR_ACT_CLOSED 0x0 #define OPENABLE_GRILL_DOOR_ACT_OPENING 0x1 #define OPENABLE_GRILL_DOOR_ACT_OPEN 0x2 /* Breakable Box */ /* oBehParams2ndByte */ #define BREAKABLE_BOX_BP_NO_COINS 0x0 #define BREAKABLE_BOX_BP_3_COINS 0x1 #define BREAKABLE_BOX_BP_5_COINS 0x2 #define BREAKABLE_BOX_BP_LARGE 0x3 /* oAction */ #define BREAKABLE_BOX_ACT_HIDDEN 0x0 #define BREAKABLE_BOX_ACT_ACTIVE 0x1 #define BREAKABLE_BOX_ACT_BROKEN 0x2 /* oAnimState */ #define BREAKABLE_BOX_ANIM_STATE_CRAZY_BOX 0x0 #define BREAKABLE_BOX_ANIM_STATE_CORK_BOX 0x1 /* Small Breakable Box */ /* oAction */ #define BREAKABLE_BOX_SMALL_ACT_MOVE 0x0 /* Jumping Box */ /* oAction */ #define JUMPING_BOX_ACT_IDLE 0x0 #define JUMPING_BOX_ACT_DROPPED 0x1 /* oSubAction */ /* JUMPING_BOX_ACT_IDLE */ #define JUMPING_BOX_SUB_ACT_IDLE_BOUNCING 0x0 #define JUMPING_BOX_SUB_ACT_IDLE_RESET_TIMER 0x1 /* Exclamation Box */ /* oBehParams2ndByte, ExclamationBoxContents->id */ #define EXCLAMATION_BOX_BP_WING_CAP 0x0 #define EXCLAMATION_BOX_BP_METAL_CAP 0x1 #define EXCLAMATION_BOX_BP_VANISH_CAP 0x2 #define EXCLAMATION_BOX_BP_KOOPA_SHELL 0x3 #define EXCLAMATION_BOX_BP_COINS_1 0x4 #define EXCLAMATION_BOX_BP_COINS_3 0x5 #define EXCLAMATION_BOX_BP_COINS_10 0x6 #define EXCLAMATION_BOX_BP_1UP_WALKING 0x7 #define EXCLAMATION_BOX_BP_STAR_1 0x8 #define EXCLAMATION_BOX_BP_1UP_RUNNING_AWAY 0x9 #define EXCLAMATION_BOX_BP_STAR_2 0xA #define EXCLAMATION_BOX_BP_STAR_3 0xB #define EXCLAMATION_BOX_BP_STAR_4 0xC #define EXCLAMATION_BOX_BP_STAR_5 0xD #define EXCLAMATION_BOX_BP_STAR_6 0xE #define EXCLAMATION_BOX_BP_NULL 0x63 /* oAction */ #define EXCLAMATION_BOX_ACT_INIT 0x0 #define EXCLAMATION_BOX_ACT_OUTLINE 0x1 #define EXCLAMATION_BOX_ACT_ACTIVE 0x2 #define EXCLAMATION_BOX_ACT_SCALING 0x3 #define EXCLAMATION_BOX_ACT_EXPLODE 0x4 #define EXCLAMATION_BOX_ACT_WAIT_FOR_RESPAWN 0x5 /* oAnimState */ #define EXCLAMATION_BOX_ANIM_STATE_RED 0x0 #define EXCLAMATION_BOX_ANIM_STATE_GREEN 0x1 #define EXCLAMATION_BOX_ANIM_STATE_BLUE 0x2 #define EXCLAMATION_BOX_ANIM_STATE_YELLOW 0x3 /* Cap Switch */ /* oAction */ #define CAP_SWITCH_ACT_INIT 0x0 #define CAP_SWITCH_ACT_IDLE 0x1 #define CAP_SWITCH_ACT_BEING_PRESSED 0x2 #define CAP_SWITCH_ACT_DONE 0x3 /* Mario Cap */ /* oAction */ #define CAP_ACT_MOVE 0x0 #define CAP_ACT_QUICKSAND 0xA #define CAP_ACT_MOVING_QUICKSAND 0xB #define CAP_ACT_INSTANT_QUICKSAND 0xC #define CAP_ACT_INSTANT_MOVING_QUICKSAND 0xD /* Koopa Shell */ /* oAction */ #define KOOPA_SHELL_ACT_MARIO_NOT_RIDING 0x0 #define KOOPA_SHELL_ACT_MARIO_RIDING 0x1 /* Koopa Shell Underwater */ /* oAction */ #define KOOPA_SHELL_UNDERWATER_ACT_DEFAULT 0x0 /* Cannon Trap Door */ /* oAction */ #define CANNON_TRAP_DOOR_ACT_CLOSED 0x0 #define CANNON_TRAP_DOOR_ACT_CAM_ZOOM 0x1 #define CANNON_TRAP_DOOR_ACT_OPENING 0x2 #define CANNON_TRAP_DOOR_ACT_OPEN 0x3 /* Opened Cannon */ /* oAction */ #define OPENED_CANNON_ACT_IDLE 0x0 #define OPENED_CANNON_ACT_READY 0x1 #define OPENED_CANNON_ACT_SHOOT 0x2 #define OPENED_CANNON_ACT_RESETTING 0x3 #define OPENED_CANNON_ACT_RISING 0x4 #define OPENED_CANNON_ACT_RAISE_BARREL 0x5 #define OPENED_CANNON_ACT_TURNING_YAW 0x6 /* Door */ /* oAction */ #define DOOR_ACT_CLOSED 0x0 #define DOOR_ACT_PULLED 0x1 #define DOOR_ACT_PUSHED 0x2 #define DOOR_ACT_WARP_PULLED 0x3 #define DOOR_ACT_WARP_PUSHED 0x4 /* Animations */ #define DOOR_ANIM_CLOSED 0x0 #define DOOR_ANIM_PULLED 0x1 #define DOOR_ANIM_PUSHED 0x2 #define DOOR_ANIM_WARP_PULLED 0x3 #define DOOR_ANIM_WARP_PUSHED 0x4 /* Star Door */ /* oAction */ #define STAR_DOOR_ACT_CLOSED 0x0 #define STAR_DOOR_ACT_OPENING 0x1 #define STAR_DOOR_ACT_OPEN 0x2 #define STAR_DOOR_ACT_CLOSING 0x3 #define STAR_DOOR_ACT_RESET 0x4 /* Castle Trap Door */ /* oAction */ #define CASTLE_FLOOR_TRAP_ACT_OPEN_DETECT 0x0 #define CASTLE_FLOOR_TRAP_ACT_OPEN 0x1 #define CASTLE_FLOOR_TRAP_ACT_CLOSE_DETECT 0x2 #define CASTLE_FLOOR_TRAP_ACT_CLOSE 0x3 #define CASTLE_FLOOR_TRAP_ACT_ROTATE 0x4 /* Castle Flag */ /* Animations */ #define CASTLE_FLAG_ANIM_WAVE 0x0 /* Homing Amp */ /* oAction */ #define HOMING_AMP_ACT_INACTIVE 0x0 #define HOMING_AMP_ACT_APPEAR 0x1 #define HOMING_AMP_ACT_CHASE 0x2 #define HOMING_AMP_ACT_GIVE_UP 0x3 #define HOMING_AMP_ACT_ATTACK_COOLDOWN 0x4 /* Amp */ /* oBehParams2ndByte */ #define AMP_BP_ROT_RADIUS_200 0x0 #define AMP_BP_ROT_RADIUS_300 0x1 #define AMP_BP_ROT_RADIUS_400 0x2 #define AMP_BP_ROT_RADIUS_0 0x3 /* oAction */ #define AMP_ACT_IDLE 0x2 #define AMP_ACT_ATTACK_COOLDOWN 0x4 /* oAnimState */ #define AMP_ANIM_STATE_OFF 0x0 #define AMP_ANIM_STATE_ON 0x1 /* Animations */ #define AMP_ANIM_DEFAULT 0x0 /* Butterfly */ /* oAction */ #define BUTTERFLY_ACT_RESTING 0x0 #define BUTTERFLY_ACT_FOLLOW_MARIO 0x1 #define BUTTERFLY_ACT_RETURN_HOME 0x2 /* Animations */ #define BUTTERFLY_ANIM_FLYING 0x0 #define BUTTERFLY_ANIM_RESTING 0x1 /* Hoot */ /* oAction */ #define HOOT_ACT_ASCENT 0x0 #define HOOT_ACT_CARRY 0x1 #define HOOT_ACT_TIRED 0x2 /* oHootAvailability */ #define HOOT_AVAIL_ASLEEP_IN_TREE 0x0 #define HOOT_AVAIL_WANTS_TO_TALK 0x1 #define HOOT_AVAIL_READY_TO_FLY 0x2 /* Animations */ #define HOOT_ANIM_DEFAULT 0x0 #define HOOT_ANIM_HOLDING_MARIO 0x1 /* Bully (all variants) */ /* oBehParams2ndByte */ #define BULLY_BP_SIZE_SMALL 0x0 #define BULLY_BP_SIZE_BIG 0x1 /* oAction */ #define BULLY_ACT_PATROL 0x0 #define BULLY_ACT_CHASE_MARIO 0x1 #define BULLY_ACT_KNOCKBACK 0x2 #define BULLY_ACT_BACK_UP 0x3 #define BULLY_ACT_INACTIVE 0x4 #define BULLY_ACT_ACTIVATE_AND_FALL 0x5 /* oBullySubtype */ #define BULLY_STYPE_GENERIC 0x00 #define BULLY_STYPE_MINION 0x01 #define BULLY_STYPE_CHILL 0x10 /* Animations */ #define BULLY_ANIM_WALKING 0x0 #define BULLY_ANIM_RUNNING 0x1 #define BULLY_ANIM_UNUSED 0x2 #define BULLY_ANIM_BOAST 0x3 /* Water Ring (all variants) */ /* oAction */ #define WATER_RING_ACT_NOT_COLLECTED 0x0 #define WATER_RING_ACT_COLLECTED 0x1 /* Animations */ #define WATER_RING_ANIM_WOBBLE 0x0 /* Jet Stream Water Ring Spawner */ /* oAction */ #define JS_RING_SPAWNER_ACT_ACTIVE 0x0 #define JS_RING_SPAWNER_ACT_INACTIVE 0x1 /* Hidden Star */ /* oAction */ #define HIDDEN_STAR_ACT_INACTIVE 0x0 #define HIDDEN_STAR_ACT_ACTIVE 0x1 /* Spawn Star stay at position cutscene */ /* oBehParams2ndByte */ #define SPAWN_STAR_POS_CUTSCENE_BP_SPAWN_AT_MARIO 0x0 #define SPAWN_STAR_POS_CUTSCENE_BP_SPAWN_AT_HOME 0x1 /* oAction */ #define SPAWN_STAR_POS_CUTSCENE_ACT_START 0x0 #define SPAWN_STAR_POS_CUTSCENE_ACT_BOUNCE 0x1 #define SPAWN_STAR_POS_CUTSCENE_ACT_END 0x2 #define SPAWN_STAR_POS_CUTSCENE_ACT_SLOW_STAR_ROTATION 0x3 /* Spawn Star arc to position cutscene */ /* oBehParams2ndByte */ #define SPAWN_STAR_ARC_CUTSCENE_BP_DEFAULT_STAR 0x0 #define SPAWN_STAR_ARC_CUTSCENE_BP_HIDDEN_STAR 0x1 /* oAction */ #define SPAWN_STAR_ARC_CUTSCENE_ACT_START 0x0 #define SPAWN_STAR_ARC_CUTSCENE_ACT_GO_TO_HOME 0x1 #define SPAWN_STAR_ARC_CUTSCENE_ACT_BOUNCE 0x2 #define SPAWN_STAR_ARC_CUTSCENE_ACT_END 0x3 /* Celebration Star */ /* oAction */ #define CELEB_STAR_ACT_SPIN_AROUND_MARIO 0x0 #define CELEB_STAR_ACT_FACE_CAMERA 0x1 /* Grand Star */ /* oAction */ #define GRAND_STAR_ACT_APPEAR 0x0 #define GRAND_STAR_ACT_JUMP 0x1 #define GRAND_STAR_ACT_WAIT_FOR_INTERACTION 0x2 /* oSubAction */ /* GRAND_STAR_ACT_JUMP */ #define GRAND_STAR_SUB_ACT_START_JUMP 0x0 #define GRAND_STAR_SUB_ACT_CONTINUE_JUMP 0x1 /* LLL Drawbridge */ /* oAction */ #define LLL_DRAWBRIDGE_ACT_LOWER 0x0 #define LLL_DRAWBRIDGE_ACT_RAISE 0x1 /* LLL Volcano Trap */ /* oAction */ #define LLL_VOLCANO_TRAP_ACT_WAIT 0x0 #define LLL_VOLCANO_TRAP_ACT_FALL 0x1 #define LLL_VOLCANO_TRAP_ACT_LAND 0x2 #define LLL_VOLCANO_TRAP_ACT_RISE 0x3 /* LLL Floating Wood Bridge */ /* oAction */ #define LLL_FLOATING_WOOD_ACT_INACTIVE 0x0 #define LLL_FLOATING_WOOD_ACT_ACTIVE 0x1 #define LLL_FLOATING_WOOD_ACT_REMOVE_PIECES 0x2 /* LLL Hexagonal Ring */ /* oAction */ #define LLL_HEXAGONAL_RING_ACT_MARIO_OFF_PLATFORM 0x0 #define LLL_HEXAGONAL_RING_ACT_MARIO_ON_PLATFORM 0x1 #define LLL_HEXAGONAL_RING_ACT_SPAWN_FLAMES 0x2 #define LLL_HEXAGONAL_RING_ACT_MARIO_LEFT_PLATFORM 0x3 #define LLL_HEXAGONAL_RING_ACT_RESET 0x4 /* LLL Octagonal Rotating Mesh */ /* oAction */ #define LLL_OCTAGONAL_ROTATING_MESH_ACT_RESET 0x0 #define LLL_OCTAGONAL_ROTATING_MESH_ACT_MOVE 0x1 /* LLL Fire Bar */ /* oBehParams2ndByte */ #define LLL_FIRE_BAR_BP_DEFAULT 0x4 /* oAction */ #define LLL_FIRE_BAR_ACT_INACTIVE 0x0 #define LLL_FIRE_BAR_ACT_SPAWN_FLAMES 0x1 #define LLL_FIRE_BAR_ACT_ACTIVE 0x2 #define LLL_FIRE_BAR_ACT_REMOVE_FLAMES 0x3 /* BITFS Sinking Cage Platform with pole */ /* oBehParams2ndByte */ #define SINKING_POLE_PLATFORM_BP_LOW 0x0 #define SINKING_POLE_PLATFORM_BP_HIGH 0x1 /* Tumbling Bridge Platform */ /* oAction */ #define TUMBLING_BRIDGE_PLATFORM_ACT_IDLE 0x0 #define TUMBLING_BRIDGE_PLATFORM_ACT_UNSTABLE 0x1 #define TUMBLING_BRIDGE_PLATFORM_ACT_FALL 0x2 #define TUMBLING_BRIDGE_PLATFORM_ACT_END 0x3 /* Tumbling Bridge */ /* oBehParams2ndByte, bridgeID */ #define TUMBLING_BRIDGE_BP_WF 0x0 #define TUMBLING_BRIDGE_BP_BBH 0x1 #define TUMBLING_BRIDGE_BP_LLL 0x2 #define TUMBLING_BRIDGE_BP_BITFS 0x3 /* oAction */ #define TUMBLING_BRIDGE_ACT_FAR 0x0 #define TUMBLING_BRIDGE_ACT_SPAWN_SECTIONS 0x1 #define TUMBLING_BRIDGE_ACT_NEAR 0x2 #define TUMBLING_BRIDGE_ACT_RESET 0x3 /* Bomp (both variants) */ /* oAction */ #define BOMP_ACT_WAIT 0x0 #define BOMP_ACT_POKE_OUT 0x1 #define BOMP_ACT_EXTEND 0x2 #define BOMP_ACT_RETRACT 0x3 /* WF Tower Platform Group */ /* oAction */ #define WF_TOWER_PLATFORM_GROUP_ACT_INACTIVE 0x0 #define WF_TOWER_PLATFORM_GROUP_ACT_SPAWN_PLATFORMS 0x1 #define WF_TOWER_PLATFORM_GROUP_ACT_ACTIVE 0x2 #define WF_TOWER_PLATFORM_GROUP_ACT_REMOVE_PLATFORMS 0x3 /* WF Tower Sliding Platform */ /* oAction */ #define WF_TOWER_SLIDING_PLATFORM_ACT_BACKWARD 0x0 #define WF_TOWER_SLIDING_PLATFORM_ACT_FORWARD 0x1 /* WF Tower Elevator Platform */ /* oAction */ #define WF_TOWER_ELEVATOR_PLATFORM_ACT_BOTTOM 0x0 #define WF_TOWER_ELEVATOR_PLATFORM_ACT_MOVING_UP 0x1 #define WF_TOWER_ELEVATOR_PLATFORM_ACT_TOP 0x2 #define WF_TOWER_ELEVATOR_PLATFORM_ACT_MOVING_DOWN 0x3 /* WF Sliding Brick Platform */ /* oBehParams2ndByte */ #define WF_SLID_BRICK_PTFM_BP_MOV_VEL_10 0x1 #define WF_SLID_BRICK_PTFM_BP_MOV_VEL_15 0x2 #define WF_SLID_BRICK_PTFM_BP_MOV_VEL_20 0x3 /* oAction */ #define WF_SLID_BRICK_PTFM_ACT_WAIT 0x0 #define WF_SLID_BRICK_PTFM_ACT_EXTEND 0x1 #define WF_SLID_BRICK_PTFM_ACT_RETRACT 0x2 /* Sliding Platform */ #define SLIDING_PLATFORM_TYPE_MASK 0x0380 #define SLIDING_PLATFORM_LENGTH_MASK 0x003F #define SLIDING_PLATFORM_DIRECTION_MASK 0x0040 /* collisionDataIndex */ #define SLIDING_PLATFORM_BP_BITS_SLIDING_PLATFORM 0x0 #define SLIDING_PLATFORM_BP_BITS_TWIN_SLIDING_PLATFORMS 0x1 #define SLIDING_PLATFORM_BP_BITFS_MOVING_SQUARE 0x2 #define SLIDING_PLATFORM_BP_BITFS_SLIDING_PLATFORM 0x3 #define SLIDING_PLATFORM_BP_RR_SLIDING_PLATFORM 0x4 #define SLIDING_PLATFORM_BP_RR_PYRAMID 0x5 #define SLIDING_PLATFORM_BP_NULL 0x6 #define SLIDING_PLATFORM_BP_BITDW_SLIDING_PLATFORM 0x7 /* BITDW Pyramid Platforms */ /* oAction */ #define BITDW_PYRAMID_PLATFORM_ACT_INIT_DIRECTION 0x0 #define BITDW_PYRAMID_PLATFORM_ACT_MOVE_0 0x1 #define BITDW_PYRAMID_PLATFORM_ACT_MOVE_90 0x2 #define BITDW_PYRAMID_PLATFORM_ACT_MOVE_180 0x3 #define BITDW_PYRAMID_PLATFORM_ACT_MOVE_270 0x4 /* Rotating Platform */ /* oAction */ #define ROTATING_PLATFORM_ACT_STOPPED 0x0 #define ROTATING_PLATFORM_ACT_MOVING 0x1 /* Seesaw Platform */ /* oBehParams2ndByte */ #define SEESAW_PLATFORM_BP_BITDW 0x0 #define SEESAW_PLATFORM_BP_BITS 0x1 #define SEESAW_PLATFORM_BP_BITS_W_SHAPED 0x2 #define SEESAW_PLATFORM_BP_BOB_BRIDGE 0x3 #define SEESAW_PLATFORM_BP_BITFS 0x4 #define SEESAW_PLATFORM_BP_RR 0x5 #define SEESAW_PLATFORM_BP_RR_L_SHAPED 0x6 #define SEESAW_PLATFORM_BP_VCUTM 0x7 /* Fake Moneybag Coin */ /* oAction */ #define FAKE_MONEYBAG_COIN_ACT_IDLE 0x0 #define FAKE_MONEYBAG_COIN_ACT_TRANSFORM 0x1 /* Moneybag */ /* oAction */ #define MONEYBAG_ACT_APPEAR 0x0 #define MONEYBAG_ACT_UNUSED_APPEAR 0x1 #define MONEYBAG_ACT_MOVE_AROUND 0x2 #define MONEYBAG_ACT_RETURN_HOME 0x3 #define MONEYBAG_ACT_DISAPPEAR 0x4 #define MONEYBAG_ACT_DEATH 0x5 /* oMoneybagJumpState */ #define MONEYBAG_JUMP_LANDING 0x0 #define MONEYBAG_JUMP_PREPARE 0x1 #define MONEYBAG_JUMP_JUMP 0x2 #define MONEYBAG_JUMP_JUMP_AND_BOUNCE 0x3 #define MONEYBAG_JUMP_WALK_AROUND 0x4 #define MONEYBAG_JUMP_WALK_HOME 0x5 /* Animations */ #define MONEYBAG_ANIM_IDLE 0x0 #define MONEYBAG_ANIM_PREPARE_JUMP 0x1 #define MONEYBAG_ANIM_JUMP 0x2 #define MONEYBAG_ANIM_LAND 0x3 #define MONEYBAG_ANIM_WALK 0x4 /* Bowling Ball */ /* oAction */ #define BBALL_ACT_INITIALIZE 0x0 #define BBALL_ACT_ROLL 0x1 /* Bowling Ball + Bowling Ball Spawner (all variants) */ /* oBehParams2ndByte */ #define BBALL_BP_STYPE_BOB_UPPER 0x0 #define BBALL_BP_STYPE_TTM 0x1 #define BBALL_BP_STYPE_BOB_LOWER 0x2 #define BBALL_BP_STYPE_THI_LARGE 0x3 #define BBALL_BP_STYPE_THI_SMALL 0x4 /* Bowling Ball (Free) */ /* oAction */ #define FREE_BBALL_ACT_IDLE 0x0 #define FREE_BBALL_ACT_ROLL 0x1 #define FREE_BBALL_ACT_RESET 0x2 /* THI Top */ /* oAction */ #define THI_TOP_ACT_IDLE 0x0 #define THI_TOP_ACT_DRAIN_WATER 0x1 /* Beta Chest Lid */ /* oAction */ #define BETA_CHEST_ACT_IDLE_CLOSED 0x0 #define BETA_CHEST_ACT_OPENING 0x1 #define BETA_CHEST_ACT_IDLE_OPEN 0x2 /* Treasure Chest Top */ /* oAction */ #define TREASURE_CHEST_TOP_ACT_CLOSED 0x0 #define TREASURE_CHEST_TOP_ACT_OPENING 0x1 #define TREASURE_CHEST_TOP_ACT_OPENED 0x2 #define TREASURE_CHEST_TOP_ACT_CLOSING 0x3 /* Treasure Chest Bottom */ /* oBehParams2ndByte */ #define TREASURE_CHEST_BP_1 0x1 #define TREASURE_CHEST_BP_2 0x2 #define TREASURE_CHEST_BP_3 0x3 #define TREASURE_CHEST_BP_4 0x4 /* oAction */ #define TREASURE_CHEST_BOTTOM_ACT_CLOSE 0x0 #define TREASURE_CHEST_BOTTOM_ACT_OPENING 0x1 #define TREASURE_CHEST_BOTTOM_ACT_OPENED 0x2 /* Treasure Chest Manager */ /* oAction */ #define TREASURE_CHEST_ACT_SUCCESS_SOUND 0x0 #define TREASURE_CHEST_ACT_REWARD 0x1 #define TREASURE_CHEST_ACT_END 0x2 /* BBH Tilting Trap Platform */ /* oAction */ #define BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_ON 0x0 #define BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_OFF 0x1 /* Boo in Castle */ /* oAction */ #define BOO_IN_CASTLE_ACT_INIT 0x0 #define BOO_IN_CASTLE_ACT_IDLE 0x1 #define BOO_IN_CASTLE_ACT_FLEE 0x2 /* Boo */ /* oBehParams2ndByte */ #define BOO_BP_GHOST_HUNT 0x0 #define BOO_BP_NORMAL 0x1 #define BOO_BP_MERRY_GO_ROUND 0x2 /* oAction */ #define BOO_ACT_STOPPED 0x0 #define BOO_ACT_CHASING_MARIO 0x1 #define BOO_ACT_BOUNCED_ON 0x2 #define BOO_ACT_ATTACKED 0x3 #define BOO_ACT_DEATH 0x4 #define BOO_ACT_MERRY_GO_ROUND_WAIT 0x5 /* oBooDeathStatus */ #define BOO_DEATH_STATUS_ALIVE 0x0 #define BOO_DEATH_STATUS_DYING 0x1 #define BOO_DEATH_STATUS_DEAD 0x2 /* attackStatus */ #define BOO_NOT_ATTACKED 0x0 #define BOO_ATTACKED 0x1 #define BOO_BOUNCED_ON -0x1 /* Big Boo */ /* oBehParams2ndByte */ #define BIG_BOO_BP_GHOST_HUNT 0x0 #define BIG_BOO_BP_MERRY_GO_ROUND 0x1 #define BIG_BOO_BP_BALCONY 0x2 /* Fishing Boo */ /* oAction */ #define FISHING_BOO_ACT_0 0x0 #define FISHING_BOO_ACT_1 0x1 #define FISHING_BOO_ACT_2 0x2 #define FISHING_BOO_ACT_3 0x3 #define FISHING_BOO_ACT_4 0x4 #define FISHING_BOO_ACT_5 0x5 #define FISHING_BOO_ACT_6 0x6 #define FISHING_BOO_ACT_SPAWN_FLAMES 0x7 #define FISHING_BOO_ACT_8 0x8 #define FISHING_BOO_ACT_9 0x9 #define FISHING_BOO_ACT_10 0xA /* Beta Boo Key */ /* oAction */ #define BETA_BOO_KEY_ACT_IN_BOO 0x0 #define BETA_BOO_KEY_ACT_DROPPING 0x1 #define BETA_BOO_KEY_ACT_DROPPED 0x2 /* Boo Cage */ /* oAction */ #define BOO_CAGE_ACT_IN_BOO 0x0 #define BOO_CAGE_ACT_FALLING 0x1 #define BOO_CAGE_ACT_ON_GROUND 0x2 #define BOO_CAGE_ACT_MARIO_JUMPING_IN 0x3 #define BOO_CAGE_ACT_USELESS 0x4 /* BBH Staircase */ /* oBehParams2ndByte */ #define BOO_STAIRCASE_BP_0 0x0 #define BOO_STAIRCASE_BP_1 0x1 #define BOO_STAIRCASE_BP_2 0x2 /* oAction */ #define BOO_STAIRCASE_ACT_INIT 0x0 #define BOO_STAIRCASE_ACT_RISE 0x1 #define BOO_STAIRCASE_ACT_WOBBLE 0x2 #define BOO_STAIRCASE_ACT_PLAY_JINGLE 0x3 /* BBH Haunted Bookshelf */ /* oAction */ #define HAUNTED_BOOKSHELF_ACT_IDLE 0x0 #define HAUNTED_BOOKSHELF_ACT_RECEDE 0x1 /* BBH Bookshelf Manager */ /* oAction */ #define BOOKSHELF_MANAGER_ACT_SPAWN_SWITCHES 0x0 #define BOOKSHELF_MANAGER_ACT_CHECK_ACTIVATE 0x1 #define BOOKSHELF_MANAGER_ACT_ACTIVE 0x2 #define BOOKSHELF_MANAGER_ACT_RECEDE 0x3 #define BOOKSHELF_MANAGER_ACT_END 0x4 /* BBH Book Switch */ /* oBehParams2ndByte */ #define BOOK_SWITCH_BP_CHOICE_1 0x0 #define BOOK_SWITCH_BP_CHOICE_2 0x1 #define BOOK_SWITCH_BP_CHOICE_3 0x2 /* oAction */ #define BOOK_SWITCH_ACT_UNPRESSED 0x0 #define BOOK_SWITCH_ACT_ACTIVE 0x1 #define BOOK_SWITCH_ACT_PRESSED 0x2 /* Flying Bookend */ /* oAction */ #define FLYING_BOOKEND_ACT_INIT 0x0 #define FLYING_BOOKEND_ACT_GROW 0x1 #define FLYING_BOOKEND_ACT_TURN_TOWARD_MARIO 0x2 #define FLYING_BOOKEND_ACT_FLY_FORWARD 0x3 /* Animations */ #define FLYING_BOOKEND_ANIM_SPAWN 0x0 #define FLYING_BOOKEND_ANIM_BITE 0x1 #define FLYING_BOOKEND_ANIM_GROW 0x2 /* BBH Merry-Go-Round */ /* oAction */ #define BBH_MERRY_GO_ROUND_ACT_SPAWN_BOOS 0x0 #define BBH_MERRY_GO_ROUND_ACT_WAIT 0x1 #define BBH_MERRY_GO_ROUND_ACT_STOPPED 0x2 /* gMarioCurrentRoom */ #define BBH_NEAR_MERRY_GO_ROUND_ROOM 0xA #define BBH_DYNAMIC_SURFACE_ROOM 0x0 #define BBH_OUTSIDE_ROOM 0xD /* Coffin Spawner */ /* oAction */ #define COFFIN_SPAWNER_ACT_COFFINS_UNLOADED 0x0 #define COFFIN_SPAWNER_ACT_COFFINS_LOADED 0x1 /* Coffin */ /* oBehParams2ndByte */ #define COFFIN_BP_STATIONARY 0x0 #define COFFIN_BP_MOVING 0x1 /* oAction */ #define COFFIN_ACT_IDLE 0x0 #define COFFIN_ACT_STAND_UP 0x1 /* WDW Arrow Lift */ /* oAction */ #define ARROW_LIFT_ACT_IDLE 0x0 #define ARROW_LIFT_ACT_MOVING_AWAY 0x1 #define ARROW_LIFT_ACT_MOVING_BACK 0x2 /* Toad */ /* Animations */ #define TOAD_ANIM_0 0x0 //! anim name #define TOAD_ANIM_6 0x6 //! anim name /* Intro Peach */ /* oAction */ #define PEACH_ACT_INIT 0x0 #define PEACH_ACT_FADE_1 0x1 #define PEACH_ACT_UNFADE 0x2 #define PEACH_ACT_FADE_2 0x3 /* Animations */ #define PEACH_ANIM_0 0x0 //! anim name /* Yoshi */ /* Yoshi */ /* oAction */ #define YOSHI_ACT_IDLE 0x0 #define YOSHI_ACT_WALK 0x1 #define YOSHI_ACT_TALK 0x2 #define YOSHI_ACT_WALK_JUMP_OFF_ROOF 0x3 #define YOSHI_ACT_FINISH_JUMPING_AND_DESPAWN 0x4 #define YOSHI_ACT_GIVE_PRESENT 0x5 #define YOSHI_ACT_CREDITS 0xA /* Animations */ #define YOSHI_ANIM_IDLE 0x0 #define YOSHI_ANIM_WALK 0x1 #define YOSHI_ANIM_JUMP 0x2 /* Koopa (General) */ /* oBehParams2ndByte */ #define KOOPA_BP_UNSHELLED 0x0 #define KOOPA_BP_NORMAL 0x1 #define KOOPA_BP_KOOPA_THE_QUICK_BASE 0x2 #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 0x4 /* oAnimState */ #define KOOPA_ANIM_STATE_EYES_OPEN OBJ_BLINKING_ANIM_STATE_EYES_OPEN #define KOOPA_ANIM_STATE_EYES_CLOSED OBJ_BLINKING_ANIM_STATE_EYES_CLOSED /* Animations */ #define KOOPA_ANIM_SHELLED_UNUSED3 0x0 #define KOOPA_ANIM_SHELLED_RUN_AWAY 0x1 #define KOOPA_ANIM_UNSHELLED_LYING 0x2 #define KOOPA_ANIM_UNSHELLED_RUN 0x3 #define KOOPA_ANIM_UNUSED_4 0x4 #define KOOPA_ANIM_SHELLED_LYING 0x5 #define KOOPA_ANIM_STAND_UP 0x6 #define KOOPA_ANIM_STOPPED 0x7 #define KOOPA_ANIM_UNUSED_8 0x8 #define KOOPA_ANIM_WALK 0x9 #define KOOPA_ANIM_SHELLED_WALK_STOP 0xA #define KOOPA_ANIM_WALK_START 0xB #define KOOPA_ANIM_THE_QUICK_JUMP 0xC #define KOOPA_ANIM_THE_QUICK_LAND 0xD /* Unshelled Koopa */ /* oAction */ #define KOOPA_UNSHELLED_ACT_RUN 0x0 #define KOOPA_UNSHELLED_ACT_DIVE 0x1 #define KOOPA_UNSHELLED_ACT_LYING 0x2 // #define KOOPA_UNSHELLED_ACT_UNUSED3 0x3 /* Shelled Koopa */ /* oAction */ #define KOOPA_SHELLED_ACT_STOPPED 0x0 #define KOOPA_SHELLED_ACT_WALK 0x1 #define KOOPA_SHELLED_ACT_RUN_FROM_MARIO 0x2 #define KOOPA_SHELLED_ACT_LYING 0x3 #define KOOPA_SHELLED_ACT_DIE 0x4 /* oSubAction */ /* KOOPA_SHELLED_ACT_WALK */ #define KOOPA_SHELLED_SUB_ACT_START_WALK 0x0 #define KOOPA_SHELLED_SUB_ACT_WALK 0x1 #define KOOPA_SHELLED_SUB_ACT_STOP_WALK 0x2 /* Koopa The Quick */ /* oAction */ #define KOOPA_THE_QUICK_ACT_WAIT_BEFORE_RACE 0x0 #define KOOPA_THE_QUICK_ACT_UNUSED1 0x1 #define KOOPA_THE_QUICK_ACT_SHOW_INIT_TEXT 0x2 #define KOOPA_THE_QUICK_ACT_RACE 0x3 #define KOOPA_THE_QUICK_ACT_DECELERATE 0x4 #define KOOPA_THE_QUICK_ACT_STOP 0x5 #define KOOPA_THE_QUICK_ACT_AFTER_RACE 0x6 /* oSubAction */ /* KOOPA_THE_QUICK_ACT_RACE */ #define KOOPA_THE_QUICK_SUB_ACT_START_RUN 0x0 #define KOOPA_THE_QUICK_SUB_ACT_RUN 0x1 #define KOOPA_THE_QUICK_SUB_ACT_JUMP 0x2 /* oKoopaTheQuickRaceIndex */ #define KOOPA_THE_QUICK_BOB_INDEX 0x0 #define KOOPA_THE_QUICK_THI_INDEX 0x1 /* Koopa Flag */ /* Animations */ #define KOOPA_FLAG_ANIM_WAVE 0x0 /* Pokey */ /* oAction */ #define POKEY_ACT_UNINITIALIZED 0x0 #define POKEY_ACT_WANDER 0x1 #define POKEY_ACT_UNLOAD_PARTS 0x2 /* oAnimState */ #define POKEY_ANIM_STATE_NONSTANDARD_ACTION 0x1 /* Pokey Body Part */ /* oBehParams2ndByte */ #define POKEY_PART_BP_HEAD 0x0 #define POKEY_PART_BP_LOWEST (POKEY_NUM_SEGMENTS - 0x1) /* Swoop */ /* oAction */ #define SWOOP_ACT_IDLE 0x0 #define SWOOP_ACT_MOVE 0x1 /* Animations */ #define SWOOP_ANIM_FLY 0x0 #define SWOOP_ANIM_IDLE 0x1 /* Fly guy */ /* oBehParams2ndByte */ #define FLY_GUY_BP_LUNGES 0x0 #define FLY_GUY_BP_SHOOTS_FIRE 0x1 /* oAction */ #define FLY_GUY_ACT_IDLE 0x0 #define FLY_GUY_ACT_APPROACH_MARIO 0x1 #define FLY_GUY_ACT_LUNGE 0x2 #define FLY_GUY_ACT_SHOOT_FIRE 0x3 /* Animations */ #define FLY_GUY_ANIM_FLYING 0x0 /* 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 0x0 #define GOOMBA_TRIPLET_SPAWNER_ACT_LOADED 0x1 /* Goomba */ /* oBehParams2ndByte */ #define GOOMBA_SIZE_REGULAR 0x0 #define GOOMBA_SIZE_HUGE 0x1 #define GOOMBA_SIZE_TINY 0x2 #define GOOMBA_BP_SIZE_MASK 0x3 #define GOOMBA_BP_TRIPLET_FLAG_MASK 0x000000FC /* oAction */ #define GOOMBA_ACT_WALK 0x0 #define GOOMBA_ACT_ATTACKED_MARIO 0x1 #define GOOMBA_ACT_JUMP 0x2 /* oAnimState */ #define GOOMBA_ANIM_STATE_EYES_OPEN OBJ_BLINKING_ANIM_STATE_EYES_OPEN #define GOOMBA_ANIM_STATE_EYES_CLOSED OBJ_BLINKING_ANIM_STATE_EYES_CLOSED /* Animations */ #define GOOMBA_ANIM_DEFAULT 0x0 /* Chain chomp */ /* oAction */ #define CHAIN_CHOMP_ACT_UNINITIALIZED 0x0 #define CHAIN_CHOMP_ACT_MOVE 0x1 #define CHAIN_CHOMP_ACT_UNLOAD_CHAIN 0x2 /* oSubAction */ /* CHAIN_CHOMP_ACT_MOVE */ #define CHAIN_CHOMP_SUB_ACT_TURN 0x0 #define CHAIN_CHOMP_SUB_ACT_LUNGE 0x1 /* oChainChompReleaseStatus */ #define CHAIN_CHOMP_NOT_RELEASED 0x0 #define CHAIN_CHOMP_RELEASED_TRIGGER_CUTSCENE 0x1 #define CHAIN_CHOMP_RELEASED_LUNGE_AROUND 0x2 #define CHAIN_CHOMP_RELEASED_BREAK_GATE 0x3 #define CHAIN_CHOMP_RELEASED_JUMP_AWAY 0x4 #define CHAIN_CHOMP_RELEASED_END_CUTSCENE 0x5 /* Animations */ #define CHAIN_CHOMP_ANIM_CHOMPING 0x0 /* Chain chomp chain part */ /* oBehParams2ndByte */ #define CHAIN_CHOMP_CHAIN_PART_BP_PIVOT 0x0 /* Wooden post */ /* oBehParams */ #define WOODEN_POST_BP_NO_COINS_MASK 0x0000FF00 /* Wiggler */ /* oAction */ #define WIGGLER_ACT_UNINITIALIZED 0x0 #define WIGGLER_ACT_WALK 0x1 #define WIGGLER_ACT_KNOCKBACK 0x2 #define WIGGLER_ACT_JUMPED_ON 0x3 #define WIGGLER_ACT_SHRINK 0x4 #define WIGGLER_ACT_FALL_THROUGH_FLOOR 0x5 /* oWigglerTextStatus */ #define WIGGLER_TEXT_STATUS_AWAIT_DIALOG 0x0 #define WIGGLER_TEXT_STATUS_SHOWING_DIALOG 0x1 #define WIGGLER_TEXT_STATUS_COMPLETED_DIALOG 0x2 /* Animations */ #define WIGGLER_ANIM_WALK 0x0 /* Spiny */ /* oAction */ #define SPINY_ACT_WALK 0x0 #define SPINY_ACT_HELD_BY_LAKITU 0x1 #define SPINY_ACT_THROWN_BY_LAKITU 0x2 #define SPINY_ACT_ATTACKED_MARIO 0x3 /* Animations */ #define SPINY_ANIM_DEFAULT 0x0 /* Enemy lakitu */ /* oAction */ #define ENEMY_LAKITU_ACT_UNINITIALIZED 0x0 #define ENEMY_LAKITU_ACT_MAIN 0x1 /* oSubAction */ /* ENEMY_LAKITU_ACT_MAIN */ #define ENEMY_LAKITU_SUB_ACT_NO_SPINY 0x0 #define ENEMY_LAKITU_SUB_ACT_HOLD_SPINY 0x1 #define ENEMY_LAKITU_SUB_ACT_THROW_SPINY 0x2 /* Animations */ #define ENEMY_LAKITU_ANIM_SPAWN 0x0 #define ENEMY_LAKITU_ANIM_NO_SPINY 0x1 #define ENEMY_LAKITU_ANIM_THROW_SPINY 0x2 #define ENEMY_LAKITU_ANIM_HOLD_SPINY 0x3 /* Cloud */ /* oBehParams2ndByte */ #define CLOUD_BP_FWOOSH 0x0 #define CLOUD_BP_LAKITU_CLOUD 0x1 #define CLOUD_BP_FWOOSH_FACE 0x5 /* oAction */ #define CLOUD_ACT_SPAWN_PARTS 0x0 #define CLOUD_ACT_MAIN 0x1 #define CLOUD_ACT_UNLOAD 0x2 #define CLOUD_ACT_FWOOSH_HIDDEN 0x3 /* Intro Lakitu */ /* oAction */ #define INTRO_LAKITU_ACT_INIT 0x0 #define INTRO_LAKITU_ACT_CUTSCENE_INTRO_1 0x1 #define INTRO_LAKITU_ACT_CUTSCENE_INTRO_2 0x2 #define INTRO_LAKITU_ACT_CUTSCENE_INTRO_3 0x3 #define INTRO_LAKITU_ACT_CUTSCENE_END_WAVING_1 0x64 #define INTRO_LAKITU_ACT_CUTSCENE_END_WAVING_2 0x65 #define INTRO_LAKITU_ACT_CUTSCENE_END_WAVING_3 0x66 /* Animations */ #define INTRO_LAKITU_ACT_DEFAULT 0x0 /* Camera Lakitu */ /* oBehParams2ndByte */ #define CAMERA_LAKITU_BP_FOLLOW_CAMERA 0x0 #define CAMERA_LAKITU_BP_INTRO 0x1 /* oAction */ #define CAMERA_LAKITU_INTRO_ACT_TRIGGER_CUTSCENE 0x0 #define CAMERA_LAKITU_INTRO_ACT_SPAWN_CLOUD 0x1 #define CAMERA_LAKITU_INTRO_ACT_SHOW_DIALOG 0x2 /* Animations */ #define CAMERA_LAKITU_ANIM_DEFAULT 0x0 /* RR Cruiser Wing */ /* oBehParams2ndByte */ #define CRUISER_WING_BP_CLOCKWISE 0x0 #define CRUISER_WING_BP_COUNTERCLOCKWISE 0x1 /* Manta Ray */ /* oAction */ #define MANTA_ACT_SPAWN_RINGS 0x0 #define MANTA_ACT_NO_RINGS 0x1 /* Animations */ #define MANTA_ANIM_SWIM 0x0 /* Sushi Shark */ /* Animations */ #define SUSHI_ANIM_SWIM 0x0 /* Monty mole */ /* oBehParams2ndByte */ #define MONTY_MOLE_BP_NO_ROCK 0x0 /* oAction */ #define MONTY_MOLE_ACT_SELECT_HOLE 0x0 #define MONTY_MOLE_ACT_RISE_FROM_HOLE 0x1 #define MONTY_MOLE_ACT_SPAWN_ROCK 0x2 #define MONTY_MOLE_ACT_BEGIN_JUMP_INTO_HOLE 0x3 #define MONTY_MOLE_ACT_THROW_ROCK 0x4 #define MONTY_MOLE_ACT_JUMP_INTO_HOLE 0x5 #define MONTY_MOLE_ACT_HIDE 0x6 #define MONTY_MOLE_ACT_JUMP_OUT_OF_HOLE 0x7 /* Animations */ #define MONTY_MOLE_ANIM_JUMP_INTO_HOLE 0x0 #define MONTY_MOLE_ANIM_RISE 0x1 #define MONTY_MOLE_ANIM_GET_ROCK 0x2 #define MONTY_MOLE_ANIM_BEGIN_JUMP_INTO_HOLE 0x3 #define MONTY_MOLE_ANIM_JUMP_OUT_OF_HOLE_DOWN 0x4 #define MONTY_MOLE_ANIM_UNUSED_5 0x5 #define MONTY_MOLE_ANIM_UNUSED_6 0x6 #define MONTY_MOLE_ANIM_UNUSED_7 0x7 #define MONTY_MOLE_ANIM_THROW_ROCK 0x8 #define MONTY_MOLE_ANIM_JUMP_OUT_OF_HOLE_UP 0x9 /* Monty mole rock */ /* oAction */ #define MONTY_MOLE_ROCK_ACT_HELD 0x0 #define MONTY_MOLE_ROCK_ACT_MOVE 0x1 /* Ukiki */ /* oBehParams2ndByte */ #define UKIKI_CAGE 0x0 #define UKIKI_CAP 0x1 /* oAction */ #define UKIKI_ACT_IDLE 0x0 #define UKIKI_ACT_RUN 0x1 #define UKIKI_ACT_TURN_TO_MARIO 0x2 #define UKIKI_ACT_JUMP 0x3 #define UKIKI_ACT_GO_TO_CAGE 0x4 #define UKIKI_ACT_WAIT_TO_RESPAWN 0x5 #define UKIKI_ACT_UNUSED_TURN 0x6 #define UKIKI_ACT_RETURN_HOME 0x7 /* oSubAction */ /* UKIKI_ACT_IDLE, UKIKI_ACT_WAIT_TO_RESPAWN, UKIKI_ACT_UNUSED_TURN */ #define UKIKI_SUB_ACT_TAUNT_NONE 0x0 #define UKIKI_SUB_ACT_TAUNT_ITCH 0x1 #define UKIKI_SUB_ACT_TAUNT_SCREECH 0x2 #define UKIKI_SUB_ACT_TAUNT_JUMP_CLAP 0x3 #define UKIKI_SUB_ACT_TAUNT_HANDSTAND 0x4 /* UKIKI_ACT_JUMP */ #define UKIKI_SUB_ACT_JUMP_JUMP 0x0 #define UKIKI_SUB_ACT_JUMP_LAND 0x1 /* UKIKI_ACT_GO_TO_CAGE */ #define UKIKI_SUB_ACT_CAGE_RUN_TO_CAGE 0x0 #define UKIKI_SUB_ACT_CAGE_WAIT_FOR_MARIO 0x1 #define UKIKI_SUB_ACT_CAGE_TALK_TO_MARIO 0x2 #define UKIKI_SUB_ACT_CAGE_TURN_TO_CAGE 0x3 #define UKIKI_SUB_ACT_CAGE_JUMP_TO_CAGE 0x4 #define UKIKI_SUB_ACT_CAGE_LAND_ON_CAGE 0x5 #define UKIKI_SUB_ACT_CAGE_SPIN_ON_CAGE 0x6 #define UKIKI_SUB_ACT_CAGE_DESPAWN 0x7 /* oUkikiTextState */ #define UKIKI_TEXT_DEFAULT 0x0 #define UKIKI_TEXT_CAGE_TEXTBOX 0x1 #define UKIKI_TEXT_GO_TO_CAGE 0x2 #define UKIKI_TEXT_STOLE_CAP 0x3 #define UKIKI_TEXT_HAS_CAP 0x4 #define UKIKI_TEXT_GAVE_CAP_BACK 0x5 #define UKIKI_TEXT_DO_NOT_LET_GO 0x6 #define UKIKI_TEXT_STEAL_CAP 0x7 /* Animations */ #define UKIKI_ANIM_RUN 0x0 #define UKIKI_ANIM_UNUSED_WALK 0x1 #define UKIKI_ANIM_UNUSED_APOSE 0x2 #define UKIKI_ANIM_UNUSED_DEATH 0x3 #define UKIKI_ANIM_SCREECH 0x4 #define UKIKI_ANIM_JUMP_CLAP 0x5 #define UKIKI_ANIM_UNUSED_HOP 0x6 #define UKIKI_ANIM_LAND 0x7 #define UKIKI_ANIM_JUMP 0x8 #define UKIKI_ANIM_ITCH 0x9 #define UKIKI_ANIM_HANDSTAND 0xA #define UKIKI_ANIM_TURN 0xB #define UKIKI_ANIM_HELD 0xC /* oAnimState */ #define UKIKI_ANIM_STATE_DEFAULT 0x0 #define UKIKI_ANIM_STATE_EYE_CLOSED 0x1 #define UKIKI_ANIM_STATE_CAP_ON 0x2 /* oUkikiHasCap */ #define UKIKI_CAP_ON 0x1 //! /* Ukiki Cage Star */ /* oAction */ #define UKIKI_CAGE_STAR_ACT_IN_CAGE 0x0 #define UKIKI_CAGE_STAR_ACT_SPAWN_STAR 0x1 /* Ukiki Cage */ /* oAction */ #define UKIKI_CAGE_ACT_WAIT_FOR_UKIKI 0x0 #define UKIKI_CAGE_ACT_SPIN 0x1 #define UKIKI_CAGE_ACT_FALL 0x2 #define UKIKI_CAGE_ACT_HIDE 0x3 /* Piranha Plant */ /* oAction */ #define PIRANHA_PLANT_ACT_IDLE 0x0 #define PIRANHA_PLANT_ACT_SLEEPING 0x1 #define PIRANHA_PLANT_ACT_BITING 0x2 #define PIRANHA_PLANT_ACT_WOKEN_UP 0x3 #define PIRANHA_PLANT_ACT_STOPPED_BITING 0x4 #define PIRANHA_PLANT_ACT_ATTACKED 0x5 #define PIRANHA_PLANT_ACT_SHRINK_AND_DIE 0x6 #define PIRANHA_PLANT_ACT_WAIT_TO_RESPAWN 0x7 #define PIRANHA_PLANT_ACT_RESPAWN 0x8 /* Animations */ #define PIRANHA_PLANT_ANIM_BITE 0x0 #define PIRANHA_PLANT_ANIM_UNUSED_1 0x1 #define PIRANHA_PLANT_ANIM_FALLING_OVER 0x2 #define PIRANHA_PLANT_ANIM_UNUSED_3 0x3 #define PIRANHA_PLANT_ANIM_UNUSED_4 0x4 #define PIRANHA_PLANT_ANIM_UNUSED_5 0x5 #define PIRANHA_PLANT_ANIM_STOP_BITING 0x6 #define PIRANHA_PLANT_ANIM_UNUSED_7 0x7 #define PIRANHA_PLANT_ANIM_SLEEPING 0x8 /* Piranha Plant Bubble */ /* oAction */ #define PIRANHA_PLANT_BUBBLE_ACT_IDLE 0x0 #define PIRANHA_PLANT_BUBBLE_ACT_GROW_SHRINK_LOOP 0x1 #define PIRANHA_PLANT_BUBBLE_ACT_BURST 0x2 /* Checkerboard Platform Group */ /* oBehParams2ndByte */ #define CHECKERBOARD_PLATFORM_GROUP_BP_SET_DEFAULT 0x00 #define CHECKERBOARD_PLATFORM_GROUP_BP_DEFAULT_MAX 0x41 /* Checkerboard Platform */ /* oBehParams2ndByte */ #define CHECKERBOARD_PLATFORM_BP_MOVE_UP 0x0 #define CHECKERBOARD_PLATFORM_BP_MOVE_DOWN 0x1 /* oAction */ #define CHECKERBOARD_PLATFORM_ACT_MOVE_VERTICALLY 0x0 #define CHECKERBOARD_PLATFORM_ACT_MOVE_UP 0x1 #define CHECKERBOARD_PLATFORM_ACT_ROTATE_UP 0x2 #define CHECKERBOARD_PLATFORM_ACT_MOVE_DOWN 0x3 #define CHECKERBOARD_PLATFORM_ACT_ROTATE_DOWN 0x4 /* Platform on track */ /* oAction */ #define PLATFORM_ON_TRACK_ACT_INIT 0x0 #define PLATFORM_ON_TRACK_ACT_WAIT_FOR_MARIO 0x1 #define PLATFORM_ON_TRACK_ACT_MOVE_ALONG_TRACK 0x2 #define PLATFORM_ON_TRACK_ACT_PAUSE_BRIEFLY 0x3 #define PLATFORM_ON_TRACK_ACT_FALL 0x4 /* 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) /* oPlatformOnTrackType */ #define PLATFORM_ON_TRACK_TYPE_CARPET 0x0 #define PLATFORM_ON_TRACK_TYPE_SKI_LIFT 0x1 #define PLATFORM_ON_TRACK_TYPE_CHECKERED 0x2 #define PLATFORM_ON_TRACK_TYPE_GRATE 0x3 /* HMC Controllable Platform */ /* oBehParams2ndByte / sControllablePlatformDirectionState */ #define DIRECTION_STATE_STOPPED 0x0 #define DIRECTION_STATE_SOUTH 0x1 #define DIRECTION_STATE_NORTH 0x2 #define DIRECTION_STATE_EAST 0x3 #define DIRECTION_STATE_WEST 0x4 #define DIRECTION_STATE_HIT_WALL 0x5 #define DIRECTION_STATE_DISAPPEARING 0x6 /* oControllablePlatformWallHitDirection */ #define MOVE_DIRECTION_NORTH 0x1 #define MOVE_DIRECTION_SOUTH 0x2 #define MOVE_DIRECTION_WEST 0x3 #define MOVE_DIRECTION_EAST 0x4 /* HMC Controllable Platform Button */ /* oAction */ #define CONTROLLABLE_PLATFORM_ACT_UNPRESSED 0x0 #define CONTROLLABLE_PLATFORM_BUTTON_ACT_PRESSED 0x1 #define CONTROLLABLE_PLATFORM_BUTTON_ACT_CHECK_UNPRESS 0x2 /* Elevator */ /* oBehParams2ndByte */ #define ELEVATOR_BP_HMC_WORK 0x0 #define ELEVATOR_BP_HMC_EMERGENCY_EXIT 0x1 #define ELEVATOR_BP_HMC_NAVIGATING_THE_TOXIC_MAZE 0x2 #define ELEVATOR_BP_HMC_LAKE 0x3 #define ELEVATOR_BP_BBH_MESH 0x4 #define ELEVATOR_BP_RAINBOW_RIDE 0x5 #define ELEVATOR_BP_UNUSED 0x6 /* oAction */ #define ELEVATOR_ACT_IDLE 0x0 #define ELEVATOR_ACT_MOVING_UP 0x1 #define ELEVATOR_ACT_MOVING_DOWN 0x2 #define ELEVATOR_ACT_LANDED 0x3 #define ELEVATOR_ACT_LANDED_RR 0x4 /* oElevatorType */ #define ELEVATOR_TYPE_DEFAULT 0x0 #define ELEVATOR_TYPE_RR 0x1 #define ELEVATOR_TYPE_ABOVE_HOME 0x2 // roomless? /* WDW Express Elevator */ /* oAction */ #define EXPRESS_ELEVATOR_ACT_IDLE 0x0 #define EXPRESS_ELEVATOR_ACT_MOVING_DOWN 0x1 #define EXPRESS_ELEVATOR_ACT_PAUSING_AT_BOTTOM 0x2 #define EXPRESS_ELEVATOR_ACT_MOVING_UP 0x3 #define EXPRESS_ELEVATOR_ACT_DONE 0x4 /* Pyramid elevator */ /* oAction */ #define PYRAMID_ELEVATOR_IDLE 0x0 #define PYRAMID_ELEVATOR_START_MOVING 0x1 #define PYRAMID_ELEVATOR_CONSTANT_VELOCITY 0x2 #define PYRAMID_ELEVATOR_AT_BOTTOM 0x3 /* Pyramid top */ /* oAction */ #define PYRAMID_TOP_ACT_CHECK_IF_SOLVED 0x0 #define PYRAMID_TOP_ACT_SPINNING 0x1 #define PYRAMID_TOP_ACT_EXPLODE 0x2 /* Pyramid wall */ /* oBehParams2ndByte */ #define PYRAMID_WALL_BP_POSITION_HIGH 0x0 #define PYRAMID_WALL_BP_POSITION_MIDDLE 0x1 #define PYRAMID_WALL_BP_POSITION_LOW 0x2 /* oAction */ #define PYRAMID_WALL_ACT_MOVING_DOWN 0x0 #define PYRAMID_WALL_ACT_MOVING_UP 0x1 /* Tox Box */ /* oBehParams2ndByte */ #define TOX_BOX_BP_PATTERN_1 0x0 #define TOX_BOX_BP_PATTERN_2 0x1 #define TOX_BOX_BP_PATTERN_3 0x2 /* oAction */ #define TOX_BOX_ACT_END -0x1 #define TOX_BOX_ACT_INIT 0x0 #define TOX_BOX_ACT_STEP 0x1 #define TOX_BOX_ACT_WAIT 0x2 #define TOX_BOX_ACT_MOVE_FORWARD 0x3 #define TOX_BOX_ACT_MOVE_BACKWARD 0x4 #define TOX_BOX_ACT_MOVE_DOWN 0x5 #define TOX_BOX_ACT_MOVE_UP 0x6 /* Penguins (general) */ /* Walking sounds */ #define PENGUIN_SOUND_WALK_BABY 0x0 #define PENGUIN_SOUND_WALK_BIG 0x1 /* geo_switch_tuxie_mother_eyes */ #define PENGUIN_ANIM_STATE_EYES_OPEN 0x0 #define PENGUIN_ANIM_STATE_EYES_HALF_CLOSED 0x1 #define PENGUIN_ANIM_STATE_EYES_CLOSED 0x2 #define PENGUIN_ANIM_STATE_EYES_ANGRY 0x3 #define PENGUIN_ANIM_STATE_EYES_SAD 0x4 /* Animations */ #define PENGUIN_ANIM_WALK 0x0 #define PENGUIN_ANIM_DIVE_SLIDE 0x1 #define PENGUIN_ANIM_STAND_UP 0x2 #define PENGUIN_ANIM_IDLE 0x3 /* Racing Penguin */ /* oBehParams2ndByte */ #define RACING_PENGUIN_BP_NORMAL 0x0 #define RACING_PENGUIN_BP_120_STARS 0x1 /* oAction */ #define RACING_PENGUIN_ACT_WAIT_FOR_MARIO 0x0 #define RACING_PENGUIN_ACT_SHOW_INIT_TEXT 0x1 #define RACING_PENGUIN_ACT_PREPARE_FOR_RACE 0x2 #define RACING_PENGUIN_ACT_RACE 0x3 #define RACING_PENGUIN_ACT_FINISH_RACE 0x4 #define RACING_PENGUIN_ACT_SHOW_FINAL_TEXT 0x5 /* Mother Penguin */ /* oAction */ #define MOTHER_PENGUIN_ACT_IDLE 0x0 #define MOTHER_PENGUIN_ACT_RECEIVE_BABY 0x1 #define MOTHER_PENGUIN_ACT_RECEIVED_BABY 0x2 /* oSubAction */ /* MOTHER_PENGUIN_ACT_IDLE */ #define MOTHER_PENGUIN_SUB_ACT_READY_TO_ASK 0x0 #define MOTHER_PENGUIN_SUB_ACT_ASK_FOR_BABY 0x1 #define MOTHER_PENGUIN_SUB_ACT_ALREADY_ASKED 0x2 /* MOTHER_PENGUIN_ACT_RECEIVE_BABY */ #define MOTHER_PENGUIN_SUB_ACT_RECEIVE_BABY 0x0 #define MOTHER_PENGUIN_SUB_ACT_CORRECT_BABY 0x1 #define MOTHER_PENGUIN_SUB_ACT_WRONG_BABY 0x2 /* MOTHER_PENGUIN_ACT_RECEIVED_BABY */ #define MOTHER_PENGUIN_SUB_ACT_CHASE_MARIO 0x0 #define MOTHER_PENGUIN_SUB_ACT_STOP_CHASING_MARIO 0x1 /* Small Penguin */ /* oAction */ #define SMALL_PENGUIN_ACT_WALKING 0x0 #define SMALL_PENGUIN_ACT_WALKING_TOWARD_MARIO 0x1 #define SMALL_PENGUIN_ACT_WALKING_AWAY_FROM_MARIO 0x2 #define SMALL_PENGUIN_ACT_DIVE_SLIDING 0x3 #define SMALL_PENGUIN_ACT_DIVE_SLIDING_STOP 0x4 #define SMALL_PENGUIN_ACT_NEAR_MOTHER 0x5 /* SL walking Penguin */ /* oAction */ #define SL_WALKING_PENGUIN_ACT_MOVING_FORWARDS 0x0 #define SL_WALKING_PENGUIN_ACT_TURNING_BACK 0x1 #define SL_WALKING_PENGUIN_ACT_RETURNING 0x2 #define SL_WALKING_PENGUIN_ACT_TURNING_FORWARDS 0x3 /* Snowman wind */ /* oSubAction */ #define SL_SNOWMAN_WIND_ACT_IDLE 0x0 #define SL_SNOWMAN_WIND_ACT_TALKING 0x1 #define SL_SNOWMAN_WIND_ACT_BLOWING 0x2 /* Snow Mound */ /* oAction */ #define SNOW_MOUND_ACT_MOVE 0x0 #define SNOW_MOUND_ACT_SINK 0x1 /* Snowman Head */ /* oAction */ #define SNOWMANS_HEAD_ACT_ASK 0x0 #define SNOWMANS_HEAD_ACT_NONE 0x1 #define SNOWMANS_HEAD_ACT_JUMPING 0x2 #define SNOWMANS_HEAD_ACT_LAND 0x3 #define SNOWMANS_HEAD_ACT_THANK 0x4 /* Snowman Bottom */ /* oAction */ #define SNOWMANS_BOTTOM_ACT_WAITING 0x0 #define SNOWMANS_BOTTOM_ACT_FOLLOW_PATH 0x1 #define SNOWMANS_BOTTOM_ACT_FINAL_STRETCH 0x2 #define SNOWMANS_BOTTOM_ACT_REACH_END 0x3 #define SNOWMANS_BOTTOM_ACT_COLLISION 0x4 /* Water Bomb Cannon */ /* oBehParams2ndByte */ #define WATER_BOMB_CANNON_BP_ACTIVE 0x0 /* oAction */ #define WATER_BOMB_CANNON_ACT_HIDDEN 0x0 #define WATER_BOMB_CANNON_ACT_ACTIVE 0x1 #define WATER_BOMB_CANNON_ACT_HIDE 0x2 /* Water bomb */ /* oAction */ #define WATER_BOMB_ACT_SHOT_FROM_CANNON 0x0 #define WATER_BOMB_ACT_INIT 0x1 #define WATER_BOMB_ACT_DROP 0x2 #define WATER_BOMB_ACT_EXPLODE 0x3 /* TTC Painting Clock Arm */ /* oAction */ #define CLOCK_ARM_ACT_CHECK_DEFAULT 0x0 #define CLOCK_ARM_ACT_MOVING 0x1 #define CLOCK_ARM_ACT_STOP 0x2 /* TTC rotating solid */ /* oBehParams2ndByte */ #define TTC_ROTATING_SOLID_BP_CUBE 0x0 #define TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM 0x1 /* TTC moving bar */ /* oAction */ #define TTC_MOVING_BAR_ACT_WAIT 0x0 #define TTC_MOVING_BAR_ACT_PULL_BACK 0x1 #define TTC_MOVING_BAR_ACT_EXTEND 0x2 #define TTC_MOVING_BAR_ACT_RETRACT 0x3 /* 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 0x0 #define TTC_2D_ROTATOR_BP_2D_COG 0x1 /* TTC Treadmill */ /* oBehParams2ndByte */ #define TREADMILL_BP_LARGE 0x0 #define TREADMILL_BP_SMALL 0x1 #define TREADMILL_BP_SIZE_MASK 0x1 /* Activated Back-and-Forth Platform */ /* ((u16)(o->oBehParams >> 16) & 0x0300) >> 8 aka platform type */ #define ACTIVATED_BF_PLAT_TYPE_BITS_ARROW_PLAT 0x0 #define ACTIVATED_BF_PLAT_TYPE_BITFS_MESH_PLAT 0x1 #define ACTIVATED_BF_PLAT_TYPE_BITFS_ELEVATOR 0x2 /* Unagi */ /* oBehParams2ndByte */ #define UNAGI_BP_IN_SHIP 0x0 #define UNAGI_BP_IN_CAVE 0x1 #define UNAGI_BP_START_SWIMMING 0x2 /* oAction */ #define UNAGI_ACT_SHIP_RESET_PATH 0x0 #define UNAGI_ACT_SHIP_PATH 0x1 #define UNAGI_ACT_RETURN_TO_CAVE 0x2 #define UNAGI_ACT_IN_CAVE 0x3 #define UNAGI_ACT_CAVE_PATH 0x4 /* oSubAction */ /* UNAGI_ACT_SHIP_RESET_PATH */ #define UNAGI_SUB_ACT_SHIP_RESET_PATH_WAIT_FOR_MARIO 0x0 #define UNAGI_SUB_ACT_SHIP_RESET_PATH_DO_RESET 0x1 /* oAnimState */ #define UNAGI_ANIM_STATE_NO_STAR 0x0 #define UNAGI_ANIM_STATE_HAS_STAR 0x1 #define UNAGI_ANIM_STATE_HAS_TRANSPARENT_STAR 0x2 /* Animations */ #define UNAGI_ANIM_YAWN 0x0 #define UNAGI_ANIM_BITE 0x1 #define UNAGI_ANIM_SWIM 0x2 #define UNAGI_ANIM_STATIC_STRAIGHT 0x3 #define UNAGI_ANIM_IDLE_2_1 0x4 #define UNAGI_ANIM_OPEN_MOUTH 0x5 #define UNAGI_ANIM_IDLE_2 0x6 /* Unagi Sub Object */ /* oBehParams2ndByte */ #define UNAGI_PART_BP_BACK -0x4 #define UNAGI_PART_BP_CONTROL_DISTANCE 0x3 #define UNAGI_PART_BP_FRONT 0x4 /* Dorrie */ /* oAction */ #define DORRIE_ACT_MOVE 0x0 #define DORRIE_ACT_LOWER_HEAD 0x1 #define DORRIE_ACT_RAISE_HEAD 0x2 /* Animations */ #define DORRIE_ANIM_UNUSED 0x0 #define DORRIE_ANIM_RAISE_HEAD 0x1 #define DORRIE_ANIM_LOWER_HEAD 0x2 /* Mad piano */ /* oAction */ #define MAD_PIANO_ACT_WAIT 0x0 #define MAD_PIANO_ACT_ATTACK 0x1 /* Animations */ #define MAD_PIANO_ANIM_SLEEPING 0x0 #define MAD_PIANO_ANIM_CHOMPING 0x1 /* Haunted Chair */ /* oAction */ #define HAUNTED_CHAIR_ACT_FALL_OR_SPIN 0x0 #define HAUNTED_CHAIR_ACT_FLY 0x1 /* Animations */ #define HAUNTED_CHAIR_ANIM_DEFAULT 0x0 /* Fire piranha plant */ /* oAction */ #define FIRE_PIRANHA_PLANT_ACT_HIDE 0x0 #define FIRE_PIRANHA_PLANT_ACT_GROW 0x1 /* Animations */ #define FIRE_PIRANHA_PLANT_ANIM_SHRINK 0x0 #define FIRE_PIRANHA_PLANT_ANIM_UNUSED_1 0x1 #define FIRE_PIRANHA_PLANT_ANIM_ATTACKED 0x2 #define FIRE_PIRANHA_PLANT_ANIM_UNUSED_3 0x3 #define FIRE_PIRANHA_PLANT_ANIM_GROW 0x4 /* Fire spitter */ /* oAction */ #define FIRE_SPITTER_ACT_IDLE 0x0 #define FIRE_SPITTER_ACT_SPIT_FIRE 0x1 /* Moving Flame */ /* oBehParams2ndByte */ #define MOVING_FLAME_BP_1FRAME 0x0 #define MOVING_FLAME_BP_MOVE 0x1 /* Fly Guy Flame */ /* oBehParams2ndByte */ #define MOVING_FLAME_PARTICLE_BP_UNK1 0x1 /* Flamethrower */ /* oBehParams2ndByte */ #define FLAMETHROWER_BP_0 0x0 #define FLAMETHROWER_BP_BLUE 0x1 #define FLAMETHROWER_BP_SLOW 0x2 #define FLAMETHROWER_BP_TALL_HITBOX 0x3 #define FLAMETHROWER_BP_UPWARDS 0x4 /* oAction */ #define FLAMETHROWER_ACT_IDLE 0x0 #define FLAMETHROWER_ACT_BLOW_FIRE 0x1 #define FLAMETHROWER_ACT_COOLDOWN 0x2 /* Bouncing Fireball Flame */ /* oAction */ #define BOUNCING_FLAME_ACT_SPAWNED 0x0 #define BOUNCING_FLAME_ACT_LANDED 0x1 /* Bouncing Fireball */ /* oAction */ #define BOUNCING_FIREBALL_SPAWNER_ACT_IDLE 0x0 #define BOUNCING_FIREBALL_SPAWNER_ACT_SPAWN_FLAME 0x1 #define BOUNCING_FIREBALL_SPAWNER_ACT_COOLDOWN 0x2 /* Eyerok boss */ /* oAction */ #define EYEROK_BOSS_ACT_SLEEP 0x0 #define EYEROK_BOSS_ACT_WAKE_UP 0x1 #define EYEROK_BOSS_ACT_SHOW_INTRO_TEXT 0x2 #define EYEROK_BOSS_ACT_FIGHT 0x3 #define EYEROK_BOSS_ACT_DIE 0x4 /* oSubAction */ /* EYEROK_BOSS_ACT_WAKE_UP */ #define EYEROK_BOSS_SUB_ACT_WAKE_LOWER_VOLUME 0x0 #define EYEROK_BOSS_SUB_ACT_WAKE_WAIT_FOR_DIALOG 0x1 /* Eyerok hand */ /* oBehParams2ndByte */ #define EYEROK_BP_LEFT_HAND -0x1 #define EYEROK_BP_RIGHT_HAND 0x1 /* oAction */ #define EYEROK_HAND_ACT_SLEEP 0x0 #define EYEROK_HAND_ACT_IDLE 0x1 #define EYEROK_HAND_ACT_OPEN 0x2 #define EYEROK_HAND_ACT_SHOW_EYE 0x3 #define EYEROK_HAND_ACT_CLOSE 0x4 #define EYEROK_HAND_ACT_RETREAT 0x5 #define EYEROK_HAND_ACT_TARGET_MARIO 0x6 #define EYEROK_HAND_ACT_SMASH 0x7 #define EYEROK_HAND_ACT_FIST_PUSH 0x8 #define EYEROK_HAND_ACT_FIST_SWEEP 0x9 #define EYEROK_HAND_ACT_BEGIN_DOUBLE_POUND 0xA // raising for double smash #define EYEROK_HAND_ACT_DOUBLE_POUND 0xB // double smashing #define EYEROK_HAND_ACT_ATTACKED 0xC #define EYEROK_HAND_ACT_RECOVER 0xD #define EYEROK_HAND_ACT_BECOME_ACTIVE 0xE #define EYEROK_HAND_ACT_DIE 0xF /* oAnimState */ #define EYEROK_HAND_ANIM_STATE_EYE_OPEN 0x0 #define EYEROK_HAND_ANIM_STATE_EYE_MOSTLY_OPEN 0x1 #define EYEROK_HAND_ANIM_STATE_EYE_MOSTLY_CLOSED 0x2 #define EYEROK_HAND_ANIM_STATE_EYE_CLOSED 0x3 /* oEyerokHandAnimStateIndex */ #define EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPEN_1 0x0 #define EYEROK_HAND_ANIM_STATE_INDEX_EYE_CLOSING 0x1 // mostly open #define EYEROK_HAND_ANIM_STATE_INDEX_EYE_CLOSED 0x2 #define EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPENING_1 0x3 // mostly closed #define EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPENING_2 0x4 // mostly open #define EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPEN_2 0x5 /* Animations */ #define EYEROK_HAND_ANIM_RECOVER 0x0 #define EYEROK_HAND_ANIM_DEATH 0x1 #define EYEROK_HAND_ANIM_IDLE 0x2 #define EYEROK_HAND_ANIM_ATTACKED 0x3 #define EYEROK_HAND_ANIM_OPEN 0x4 #define EYEROK_HAND_ANIM_SHOW_EYE 0x5 #define EYEROK_HAND_ANIM_SLEEPING 0x6 #define EYEROK_HAND_ANIM_CLOSE 0x7 /* King Bobomb */ /* oAction */ #define KING_BOBOMB_ACT_INACTIVE 0x0 #define KING_BOBOMB_ACT_ACTIVATE 0x1 #define KING_BOBOMB_ACT_ACTIVE 0x2 #define KING_BOBOMB_ACT_GRABBED_MARIO 0x3 #define KING_BOBOMB_ACT_BEEN_THROWN 0x4 #define KING_BOBOMB_ACT_RETURN_HOME 0x5 #define KING_BOBOMB_ACT_HIT_GROUND 0x6 #define KING_BOBOMB_ACT_DEATH 0x7 #define KING_BOBOMB_ACT_STOP_MUSIC 0x8 /* oSubAction */ /* KING_BOBOMB_ACT_INACTIVE */ #define KING_BOBOMB_SUB_ACT_INACTIVE_INIT 0x0 #define KING_BOBOMB_SUB_ACT_INACTIVE_DIALOG 0x1 /* KING_BOBOMB_ACT_GRABBED_MARIO */ #define KING_BOBOMB_SUB_ACT_GRABBED_MARIO_GRAB 0x0 #define KING_BOBOMB_SUB_ACT_GRABBED_MARIO_HOLDING 0x1 #define KING_BOBOMB_SUB_ACT_GRABBED_MARIO_THROW 0x2 /* KING_BOBOMB_ACT_BEEN_THROWN */ #define KING_BOBOMB_SUB_ACT_THROWN_FALL 0x0 #define KING_BOBOMB_SUB_ACT_THROWN_STAND_UP 0x1 #define KING_BOBOMB_SUB_ACT_THROWN_END 0x2 /* KING_BOBOMB_ACT_RETURN_HOME */ #define KING_BOBOMB_SUB_ACT_RETURN_HOME_JUMP 0x0 #define KING_BOBOMB_SUB_ACT_RETURN_HOME_LANDING 0x1 #define KING_BOBOMB_SUB_ACT_RETURN_HOME_LANDING_END 0x2 #define KING_BOBOMB_SUB_ACT_RETURN_HOME_WAIT_FOR_DIALOG 0x3 #define KING_BOBOMB_SUB_ACT_RETURN_HOME_DIALOG 0x4 /* KING_BOBOMB_ACT_HIT_GROUND */ #define KING_BOBOMB_SUB_ACT_HIT_GROUND_HIT 0x0 #define KING_BOBOMB_SUB_ACT_HIT_GROUND_STAND_UP 0x1 #define KING_BOBOMB_SUB_ACT_HIT_GROUND_START_WALKING 0x2 /* Animations */ #define KING_BOBOMB_ANIM_GRAB_MARIO 0x0 #define KING_BOBOMB_ANIM_HOLDING_MARIO 0x1 #define KING_BOBOMB_ANIM_HIT_GROUND 0x2 #define KING_BOBOMB_ANIM_UNUSED_3 0x3 #define KING_BOBOMB_ANIM_STOMP 0x4 #define KING_BOBOMB_ANIM_IDLE 0x5 #define KING_BOBOMB_ANIM_HELD 0x6 #define KING_BOBOMB_ANIM_T_POSE 0x7 #define KING_BOBOMB_ANIM_JUMP 0x8 #define KING_BOBOMB_ANIM_THROW_MARIO 0x9 #define KING_BOBOMB_ANIM_STAND_UP 0xA #define KING_BOBOMB_ANIM_WALKING 0xB /* Chuckya */ /* oAction */ #define CHUCKYA_ACT_MOVING 0x0 #define CHUCKYA_ACT_GRABBED_MARIO 0x1 #define CHUCKYA_ACT_THROWN 0x2 #define CHUCKYA_ACT_RELEASE_MARIO 0x3 /* oSubAction */ /* CHUCKYA_ACT_MOVING */ #define CHUCKYA_SUB_ACT_TURN_TOWARD_MARIO 0x0 #define CHUCKYA_SUB_ACT_ACCELERATE 0x1 #define CHUCKYA_SUB_ACT_STOP 0x2 #define CHUCKYA_SUB_ACT_TURN_TOWARD_HOME 0x3 /* CHUCKYA_ACT_GRABBED_MARIO */ #define CHUCKYA_SUB_ACT_GRAB_MARIO 0x0 #define CHUCKYA_SUB_ACT_HOLD_MARIO 0x1 #define CHUCKYA_SUB_ACT_THROW_MARIO 0x2 /* oCommonAnchorAction */ #define COMMON_ANCHOR_ACT_INACTIVE 0x0 #define COMMON_ANCHOR_ACT_SET_MARIO_GFX_TO_POS 0x1 #define COMMON_ANCHOR_ACT_THROW_MARIO 0x2 #define COMMON_ANCHOR_ACT_DROP_MARIO 0x3 /* Animations */ #define CHUCKYA_ANIM_GRAB_MARIO 0x0 #define CHUCKYA_ANIM_THROW_1 0x1 #define CHUCKYA_ANIM_HELD 0x2 #define CHUCKYA_ANIM_THROW_2 0x3 #define CHUCKYA_ANIM_IDLE 0x4 #define CHUCKYA_ANIM_SPAWN 0x5 /* Heave Ho */ /* oAction */ #define HEAVE_HO_ACT_INACTIVE 0x0 #define HEAVE_HO_ACT_WINDING_UP 0x1 #define HEAVE_HO_ACT_MOVING 0x2 #define HEAVE_HO_ACT_THROW_MARIO 0x3 /* Animations */ #define HEAVE_HO_ANIM_MOVING 0x0 #define HEAVE_HO_ANIM_THROW 0x1 #define HEAVE_HO_ANIM_WINDING_UP 0x2 /* Klepto */ /* oBehParams2ndByte */ #define KLEPTO_BP_NO_STAR 0x0 #define KLEPTO_BP_HAS_STAR 0x1 /* oAction */ #define KLEPTO_ACT_CIRCLE_TARGET_HOLDING 0x0 #define KLEPTO_ACT_APPROACH_TARGET_HOLDING 0x1 #define KLEPTO_ACT_WAIT_FOR_MARIO 0x2 #define KLEPTO_ACT_TURN_TOWARD_MARIO 0x3 #define KLEPTO_ACT_DIVE_AT_MARIO 0x4 #define KLEPTO_ACT_RESET_POSITION 0x5 #define KLEPTO_ACT_STRUCK_BY_MARIO 0x6 #define KLEPTO_ACT_RETREAT 0x7 /* oSubAction */ /* KLEPTO_ACT_DIVE_AT_MARIO */ #define KLEPTO_SUB_ACT_DIVE_TURN_PITCH 0x0 #define KLEPTO_SUB_ACT_DIVE_STOP 0x1 /* oAnimState */ #define KLEPTO_ANIM_STATE_HOLDING_NOTHING 0x0 #define KLEPTO_ANIM_STATE_HOLDING_CAP 0x1 #define KLEPTO_ANIM_STATE_HOLDING_STAR 0x2 #define KLEPTO_ANIM_STATE_HOLDING_TRANSPARENT_STAR 0x3 /* Animations */ #define KLEPTO_ANIM_DIVE_0 0x0 #define KLEPTO_ANIM_STRUCK_BY_MARIO 0x1 #define KLEPTO_ANIM_DIVE_AT_MARIO_2 0x2 #define KLEPTO_ANIM_DIVE_AT_MARIO_3 0x3 #define KLEPTO_ANIM_DIVE_AT_MARIO_4 0x4 #define KLEPTO_ANIM_DIVE_FLAP_5 0x5 #define KLEPTO_ANIM_DIVE_FLAP_6 0x6 /* Bird */ /* oBehParams2ndByte */ #define BIRD_BP_SPAWNED 0x0 #define BIRD_BP_SPAWNER 0x1 /* oAction */ #define BIRD_ACT_INACTIVE 0x0 #define BIRD_ACT_FLY 0x1 /* Animation */ #define BIRD_ANIM_FLY 0x0 /* End Birds */ /* oAction */ #define END_BIRDS_ACT_INIT 0x0 #define END_BIRDS_ACT_ACTIVE 0x1 /* Animations */ #define END_BIRDS_ANIM_FLY 0x0 /* Birds Sound */ /* oAction */ #define SOUND_BIRDS_BP_OBJ2_BIRD_CHIRP1 0x0 #define SOUND_BIRDS_BP_GENERAL2_BIRD_CHIRP2 0x1 #define SOUND_BIRDS_BP_OBJ_BIRD_CHIRP3 0x2 /* Scuttlebug Spawner */ /* oAction */ #define SCUTTLEBUG_SPAWNER_ACT_ACTIVE 0x0 #define SCUTTLEBUG_SPAWNER_ACT_INACTIVE 0x1 /* Scuttlebug */ /* oSubAction */ #define SCUTTLEBUG_SUB_ACT_RESET 0x0 #define SCUTTLEBUG_SUB_ACT_MOVING 0x1 #define SCUTTLEBUG_SUB_ACT_HIT_WALL 0x2 #define SCUTTLEBUG_SUB_ACT_ALERT 0x3 #define SCUTTLEBUG_SUB_ACT_JUMP 0x4 #define SCUTTLEBUG_SUB_ACT_LAND 0x5 /* Animations */ #define SCUTTLEBUG_ANIM_JUMP 0x0 #define SCUTTLEBUG_ANIM_WALK 0x1 /* Skeeter */ /* oAction */ #define SKEETER_ACT_IDLE 0x0 #define SKEETER_ACT_LUNGE 0x1 #define SKEETER_ACT_WALK 0x2 /* Animations */ #define SKEETER_ANIM_WATER_LUNGE 0x0 #define SKEETER_ANIM_WATER_IDLE 0x1 #define SKEETER_ANIM_WALK 0x2 #define SKEETER_ANIM_IDLE 0x3 /* Snufit */ /* oAction */ #define SNUFIT_ACT_IDLE 0x0 #define SNUFIT_ACT_SHOOT 0x1 /* Snufit Balls (gottem) */ /* oAction */ #define SNUFIT_BALL_ACT_MOVE 0x0 #define SNUFIT_BALL_ACT_HIT_MARIO 0x1 /* Tweester */ /* oAction */ #define TWEESTER_ACT_IDLE 0x0 #define TWEESTER_ACT_CHASE 0x1 #define TWEESTER_ACT_HIDE 0x2 /* oSubAction */ /* TWEESTER_ACT_IDLE */ #define TWEESTER_SUB_ACT_WAIT 0x0 #define TWEESTER_SUB_ACT_GROW 0x1 /* TWEESTER_ACT_CHASE */ #define TWEESTER_SUB_ACT_CHASE_MARIO 0x0 #define TWEESTER_SUB_ACT_CHASE_HOME 0x1 /* Triplet butterfly */ /* oBehParams2ndByte */ #define TRIPLET_BUTTERFLY_BP_BUTTERFLY_NUM 0x3 #define TRIPLET_BUTTERFLY_BP_NO_BOMBS 0x4 /* oAction */ #define TRIPLET_BUTTERFLY_ACT_INIT 0x0 #define TRIPLET_BUTTERFLY_ACT_WANDER 0x1 #define TRIPLET_BUTTERFLY_ACT_ACTIVATE 0x2 #define TRIPLET_BUTTERFLY_ACT_EXPLODE 0x3 /* oTripletButterflyType */ #define TRIPLET_BUTTERFLY_TYPE_NORMAL -0x1 #define TRIPLET_BUTTERFLY_TYPE_EXPLODES 0x0 #define TRIPLET_BUTTERFLY_TYPE_SPAWN_1UP 0x1 /* Changing Water Level */ /* oAction */ #define WATER_LEVEL_ACT_INIT 0x0 #define WATER_LEVEL_ACT_IDLE 0x1 /* Water Level Diamond */ /* oAction */ // Loading #define WATER_LEVEL_DIAMOND_ACT_INIT 0x0 // Idling when Mario isn't inside its hitbox #define WATER_LEVEL_DIAMOND_ACT_IDLE 0x1 // While the water level is changing #define WATER_LEVEL_DIAMOND_ACT_CHANGE_WATER_LEVEL 0x2 // After the water level has changed but Mario hasn't left its hitbox yet #define WATER_LEVEL_DIAMOND_ACT_IDLE_SPINNING 0x3 /* Castle Water Level Pillars */ /* oAction */ #define WATER_PILLAR_ACT_UNPOUNDED_IDLE 0x0 #define WATER_PILLAR_ACT_LOWER_SELF 0x1 #define WATER_PILLAR_ACT_POUNDED_1 0x2 #define WATER_PILLAR_ACT_POUNDED_2 0x3 #define WATER_PILLAR_ACT_DRAIN_WATER 0x4 #define WATER_PILLAR_ACT_END 0x5 /* Mips */ /* oBehParams2ndByte */ #define MIPS_BP_STAR_1 0x0 #define MIPS_BP_STAR_2 0x1 /* oAction */ #define MIPS_ACT_WAIT_FOR_NEARBY_MARIO 0x0 #define MIPS_ACT_FOLLOW_PATH 0x1 #define MIPS_ACT_WAIT_FOR_ANIMATION_DONE 0x2 #define MIPS_ACT_FALL_DOWN 0x3 #define MIPS_ACT_IDLE 0x4 /* oMipsStarStatus */ #define MIPS_STAR_STATUS_HAVENT_SPAWNED_STAR 0x0 #define MIPS_STAR_STATUS_SHOULD_SPAWN_STAR 0x1 #define MIPS_STAR_STATUS_ALREADY_SPAWNED_STAR 0x2 /* Animations */ #define MIPS_ANIM_IDLE 0x0 #define MIPS_ANIM_HOPPING 0x1 #define MIPS_ANIM_THROWN 0x2 #define MIPS_ANIM_UNUSED 0x3 #define MIPS_ANIM_HELD 0x4 /* Falling Pillar */ /* oAction */ #define FALLING_PILLAR_ACT_IDLE 0x0 #define FALLING_PILLAR_ACT_TURNING 0x1 #define FALLING_PILLAR_ACT_FALLING 0x2 /* Bowser Puzzle */ /* oAction */ #define BOWSER_PUZZLE_ACT_SPAWN_PIECES 0x0 #define BOWSER_PUZZLE_ACT_WAIT_FOR_COMPLETE 0x1 #define BOWSER_PUZZLE_ACT_DONE 0x2 /* oBowserPuzzleCompletionFlags */ #define BOWSER_PUZZLE_COMPLETION_FLAGS_NONE 0x0 #define BOWSER_PUZZLE_COMPLETION_FLAG_MARIO_ON_PLATFORM 0x1 #define BOWSER_PUZZLE_COMPLETION_FLAG_PUZZLE_COMPLETE 0x2 /* Bowser Puzzle Piece */ /* oAction */ #define BOWSER_PUZZLE_PIECE_ACT_IDLE 0x0 #define BOWSER_PUZZLE_PIECE_ACT_LEFT 0x1 #define BOWSER_PUZZLE_PIECE_ACT_RIGHT 0x2 #define BOWSER_PUZZLE_PIECE_ACT_UP 0x3 #define BOWSER_PUZZLE_PIECE_ACT_DOWN 0x4 /* Spindrift */ /* oAction */ #define SPINDRIFT_ACT_ACTIVE 0x0 #define SPINDRIFT_ACT_HIT_MARIO 0x1 /* oAction */ #define SPINDRIFT_ANIM_DEFAULT 0x0 /* Mr Blizzard */ /* oBehParams2ndByte */ #define MR_BLIZZARD_STYPE_NO_CAP 0x0 #define MR_BLIZZARD_STYPE_JUMPING 0x1 /* oAction */ #define MR_BLIZZARD_ACT_SPAWN_SNOWBALL 0x0 #define MR_BLIZZARD_ACT_HIDE_UNHIDE 0x1 #define MR_BLIZZARD_ACT_RISE_FROM_GROUND 0x2 #define MR_BLIZZARD_ACT_ROTATE 0x3 #define MR_BLIZZARD_ACT_THROW_SNOWBALL 0x4 #define MR_BLIZZARD_ACT_BURROW 0x5 #define MR_BLIZZARD_ACT_DEATH 0x6 #define MR_BLIZZARD_ACT_JUMP 0x7 /* oAnimState */ #define MR_BLIZZARD_ANIM_STATE_NO_CAP 0x0 #define MR_BLIZZARD_ANIM_STATE_HAS_CAP 0x1 /* Animations */ #define MR_BLIZZARD_ANIM_SPAWN_SNOWBALL 0x0 #define MR_BLIZZARD_ANIM_THROW_SNOWBALL 0x1 /* Mr Blizzard Snowball */ /* oAction */ #define MR_BLIZZARD_SNOWBALL_ACT_INIT 0x0 #define MR_BLIZZARD_SNOWBALL_ACT_LAUNCH 0x1 #define MR_BLIZZARD_SNOWBALL_ACT_COLLISION 0x2 /* Mr I */ /* oBehParams2ndByte */ #define MR_I_BP_NORMAL 0x0 #define MR_I_BP_LARGE_WITH_STAR 0x1 /* oAction */ #define MR_I_BODY_ACT_FAR_AWAY 0x0 #define MR_I_BODY_ACT_IDLE 0x1 #define MR_I_BODY_ACT_LOOKING_AT_MARIO 0x2 #define MR_I_BODY_ACT_SPIN_DEATH 0x3 /* Mr I & Piranha Plant Particle */ /* oAction */ #define MR_I_PIRANHA_PARTICLE_ACT_MOVE 0x0 #define MR_I_PIRANHA_PARTICLE_ACT_INTERACTED 0x1 /* Bullet Bill */ /* oAction */ #define BULLET_BILL_ACT_RESET 0x0 #define BULLET_BILL_ACT_IDLE 0x1 #define BULLET_BILL_ACT_CHASING_MARIO 0x2 #define BULLET_BILL_ACT_HIT 0x3 /* Thwomp & Grindel */ /* oAction */ #define GRINDEL_THWOMP_ACT_RISING 0x0 #define GRINDEL_THWOMP_ACT_FLOATING 0x1 #define GRINDEL_THWOMP_ACT_FALLING 0x2 #define GRINDEL_THWOMP_ACT_LAND 0x3 #define GRINDEL_THWOMP_ACT_ON_GROUND 0x4 /* Whomp */ /* oBehParams2ndByte */ #define WHOMP_BP_NORMAL 0x0 #define WHOMP_BP_KING 0x1 /* oAction */ #define WHOMP_ACT_INIT 0x0 #define WHOMP_ACT_PATROL 0x1 #define WHOMP_ACT_KING_CHASE 0x2 #define WHOMP_ACT_PREPARE_JUMP 0x3 #define WHOMP_ACT_JUMP 0x4 #define WHOMP_ACT_LAND 0x5 #define WHOMP_ACT_ON_GROUND_GENERAL 0x6 #define WHOMP_ACT_TURN 0x7 #define WHOMP_ACT_DIE 0x8 #define WHOMP_ACT_STOP_BOSS_MUSIC 0x9 /* oSubAction */ /* WHOMP_ACT_INIT */ #define WHOMP_SUB_ACT_INIT_IDLE 0x0 #define WHOMP_SUB_ACT_INIT_DIALOG 0x1 /* WHOMP_ACT_LAND */ #define WHOMP_SUB_ACT_LAND_EFFECTS 0x0 #define WHOMP_SUB_ACT_LAND_ON_GROUND 0x1 /* WHOMP_ACT_ON_GROUND_GENERAL */ #define WHOMP_SUB_ACT_GROUND_LYING_DOWN 0x0 #define WHOMP_SUB_ACT_GROUND_PREPARE_STAND_UP 0x1 #define WHOMP_SUB_ACT_GROUND_STAND_UP 0xA /* WHOMP_ACT_TURN */ #define WHOMP_SUB_ACT_TURN_TURNING 0x0 #define WHOMP_SUB_ACT_TURN_END 0x1 /* Animations */ #define WHOMP_ANIM_WALK 0x0 #define WHOMP_ANIM_JUMP 0x1 /* WF Kickable Board */ /* oAction */ #define KICKABLE_BOARD_ACT_IDLE_VERTICAL 0x0 #define KICKABLE_BOARD_ACT_ROCKING 0x1 #define KICKABLE_BOARD_ACT_FALLING 0x2 #define KICKABLE_BOARD_ACT_IDLE_HORIZONTAL 0x3 /* check_mario_attacking */ #define WF_ATTACK_NONE 0x0 #define WF_ATTACK_GROUND 0x1 #define WF_ATTACK_AIR 0x2 /* White Puff Explosion */ /* oBehParams2ndByte */ #define WHITE_PUFF_EXPLODE_BP_FAST_FADE 0x2 #define WHITE_PUFF_EXPLODE_BP_SLOW_FADE 0x3 /* Dirt Particle */ /* oAnimState */ #define TINY_DIRT_PARTICLE_ANIM_STATE_RED 0x0 #define TINY_DIRT_PARTICLE_ANIM_STATE_GREEN 0x1 #define TINY_DIRT_PARTICLE_ANIM_STATE_BLUE 0x2 #define TINY_DIRT_PARTICLE_ANIM_STATE_DIRT 0x3 #define TINY_DIRT_PARTICLE_ANIM_STATE_YELLOW 0x4 #define TINY_DIRT_PARTICLE_ANIM_STATE_BILLBOARD 0x5 /* Cartoon Star Particle */ /* oAnimState */ #define CARTOON_STAR_PARTICLE_ANIM_STATE_RED 0x0 #define CARTOON_STAR_PARTICLE_ANIM_STATE_GREEN 0x1 #define CARTOON_STAR_PARTICLE_ANIM_STATE_BLUE 0x2 #define CARTOON_STAR_PARTICLE_ANIM_STATE_YELLOW 0x3 #define CARTOON_STAR_PARTICLE_ANIM_STATE_BILLBOARD 0x4 /* Music Touch */ /* oAction */ #define MUSIC_TOUCH_ACT_PLAY_SOUND 0x0 #define MUSIC_TOUCH_ACT_DONE 0x1 /* Intro Scene */ /* gCutsceneObjSpawn */ #define CUTSCENE_OBJ_NONE 0x0 #define CUTSCENE_OBJ_BEGINNING_PEACH 0x5 #define CUTSCENE_OBJ_BEGINNING_LAKITU 0x6 #define CUTSCENE_OBJ_7_END_BIRDS_1 0x7 #define CUTSCENE_OBJ_5_END_BIRDS_2 0x8 #define CUTSCENE_OBJ_2_END_BIRDS_1 0x9 #endif // OBJECT_CONSTANTS_H