You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
3043 lines
80 KiB
C
3043 lines
80 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 */
|
|
enum ObjActiveFlags {
|
|
ACTIVE_FLAG_DEACTIVATED = 0x0,
|
|
ACTIVE_FLAG_ACTIVE = BIT( 0), // 0x0001
|
|
ACTIVE_FLAG_FAR_AWAY = BIT( 1), // 0x0002
|
|
ACTIVE_FLAG_UNUSED = BIT( 2), // 0x0004
|
|
ACTIVE_FLAG_IN_DIFFERENT_ROOM = BIT( 3), // 0x0008
|
|
ACTIVE_FLAG_UNIMPORTANT = BIT( 4), // 0x0010
|
|
ACTIVE_FLAG_INITIATED_TIME_STOP = BIT( 5), // 0x0020
|
|
ACTIVE_FLAG_MOVE_THROUGH_GRATE = BIT( 6), // 0x0040
|
|
ACTIVE_FLAG_DITHERED_ALPHA = BIT( 7), // 0x0080
|
|
ACTIVE_FLAG_ALLOCATED = BIT( 8), // 0x0100
|
|
ACTIVE_FLAG_DESTRUCTIVE_OBJ_DONT_DESTROY = BIT( 9), // 0x0200
|
|
ACTIVE_FLAG_IGNORE_ENV_BOXES = BIT(10), // 0x0400
|
|
};
|
|
|
|
/* respawnInfoType */
|
|
enum RespawnInfoType {
|
|
RESPAWN_INFO_TYPE_NULL,
|
|
RESPAWN_INFO_TYPE_NORMAL,
|
|
RESPAWN_INFO_TYPE_MACRO_OBJECT,
|
|
};
|
|
|
|
/* respawnInfo */
|
|
#define RESPAWN_INFO_DONT_RESPAWN 0xFF
|
|
|
|
/* oFlags */
|
|
enum ObjFlags {
|
|
OBJ_FLAGS_NONE = 0x0,
|
|
OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE = BIT( 0), // 0x00000001
|
|
OBJ_FLAG_MOVE_XZ_USING_FVEL = BIT( 1), // 0x00000002
|
|
OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL = BIT( 2), // 0x00000004
|
|
OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW = BIT( 3), // 0x00000008
|
|
OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE = BIT( 4), // 0x00000010
|
|
OBJ_FLAG_UPDATE_TRANSFORM_FOR_THROW_MATRIX = BIT( 5), // 0x00000020
|
|
OBJ_FLAG_COMPUTE_DIST_TO_MARIO = BIT( 6), // 0x00000040
|
|
OBJ_FLAG_ACTIVE_FROM_AFAR = BIT( 7), // 0x00000080
|
|
OBJ_FLAG_PLAYER = BIT( 8), // 0x00000100
|
|
OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT = BIT( 9), // 0x00000200
|
|
OBJ_FLAG_HOLDABLE = BIT(10), // 0x00000400
|
|
OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM = BIT(11), // 0x00000800
|
|
OBJ_FLAG_UNUSED_12 = BIT(12), // 0x00001000
|
|
OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO = BIT(13), // 0x00002000
|
|
OBJ_FLAG_PERSISTENT_RESPAWN = BIT(14), // 0x00004000
|
|
OBJ_FLAG_VELOCITY_PLATFORM = BIT(15), // 0x00008000
|
|
OBJ_FLAG_DONT_CALC_COLL_DIST = BIT(16), // 0x00010000
|
|
OBJ_FLAG_UCODE_SMALL = BIT(17), // 0x00020000
|
|
OBJ_FLAG_UCODE_LARGE = BIT(18), // 0x00040000
|
|
OBJ_FLAG_SILHOUETTE = BIT(19), // 0x00080000
|
|
OBJ_FLAG_OCCLUDE_SILHOUETTE = BIT(20), // 0x00100000
|
|
OBJ_FLAG_OPACITY_FROM_CAMERA_DIST = BIT(21), // 0x00200000
|
|
OBJ_FLAG_EMIT_LIGHT = BIT(22), // 0x00400000
|
|
OBJ_FLAG_UNUSED_23 = BIT(23), // 0x00800000
|
|
OBJ_FLAG_UNUSED_24 = BIT(24), // 0x01000000
|
|
OBJ_FLAG_UNUSED_25 = BIT(25), // 0x02000000
|
|
OBJ_FLAG_UNUSED_26 = BIT(26), // 0x04000000
|
|
OBJ_FLAG_UNUSED_27 = BIT(27), // 0x08000000
|
|
OBJ_FLAG_UNUSED_28 = BIT(28), // 0x10000000
|
|
OBJ_FLAG_UNUSED_29 = BIT(29), // 0x20000000
|
|
OBJ_FLAG_HITBOX_WAS_SET = BIT(30), // 0x40000000
|
|
OBJ_FLAG_UNUSED_31 = BIT(31), // 0x80000000
|
|
};
|
|
|
|
/* oHeldState */
|
|
enum HeldState {
|
|
HELD_FREE,
|
|
HELD_HELD,
|
|
HELD_THROWN,
|
|
HELD_DROPPED,
|
|
};
|
|
|
|
/* oDialogState */
|
|
enum DialogState {
|
|
DIALOG_STATUS_ENABLE_TIME_STOP,
|
|
DIALOG_STATUS_INTERRUPT,
|
|
DIALOG_STATUS_START_DIALOG,
|
|
DIALOG_STATUS_STOP_DIALOG,
|
|
DIALOG_STATUS_DISABLE_TIME_STOP,
|
|
};
|
|
|
|
enum DialogFlags {
|
|
DIALOG_FLAG_NONE = 0x0,
|
|
DIALOG_FLAG_TURN_TO_MARIO = BIT( 0), // 0x01 // cutscene only
|
|
DIALOG_FLAG_TEXT_DEFAULT = BIT( 1), // 0x02
|
|
DIALOG_FLAG_TEXT_RESPONSE = BIT( 2), // 0x04 // non-cutscene only
|
|
DIALOG_FLAG_UNK_CAPSWITCH = BIT( 3), // 0x08 // not defined
|
|
DIALOG_FLAG_TIME_STOP_ENABLED = BIT( 4), // 0x10
|
|
};
|
|
|
|
/* oMoveFlags */
|
|
enum ObjMoveFlags {
|
|
OBJ_MOVE_NONE = 0x0,
|
|
OBJ_MOVE_LANDED = BIT( 0), // 0x0001
|
|
OBJ_MOVE_ON_GROUND = BIT( 1), // 0x0002 // mutually exclusive to OBJ_MOVE_LANDED
|
|
OBJ_MOVE_LEFT_GROUND = BIT( 2), // 0x0004
|
|
OBJ_MOVE_ENTERED_WATER = BIT( 3), // 0x0008
|
|
OBJ_MOVE_AT_WATER_SURFACE = BIT( 4), // 0x0010
|
|
OBJ_MOVE_UNDERWATER_OFF_GROUND = BIT( 5), // 0x0020
|
|
OBJ_MOVE_UNDERWATER_ON_GROUND = BIT( 6), // 0x0040
|
|
OBJ_MOVE_IN_AIR = BIT( 7), // 0x0080
|
|
OBJ_MOVE_OUT_SCOPE = BIT( 8), // 0x0100
|
|
OBJ_MOVE_HIT_WALL = BIT( 9), // 0x0200
|
|
OBJ_MOVE_HIT_EDGE = BIT(10), // 0x0400
|
|
OBJ_MOVE_ABOVE_LAVA = BIT(11), // 0x0800
|
|
OBJ_MOVE_LEAVING_WATER = BIT(12), // 0x1000
|
|
OBJ_MOVE_BOUNCE = BIT(13), // 0x2000
|
|
OBJ_MOVE_ABOVE_DEATH_BARRIER = BIT(14), // 0x4000
|
|
OBJ_MOVE_UNUSED = BIT(15), // 0x8000
|
|
};
|
|
|
|
#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 */
|
|
enum ActiveParticleFlags {
|
|
ACTIVE_PARTICLE_NONE = 0x0,
|
|
ACTIVE_PARTICLE_DUST = BIT( 0), // 0x00000001
|
|
ACTIVE_PARTICLE_UNUSED_1 = BIT( 1), // 0x00000002
|
|
ACTIVE_PARTICLE_UNUSED_2 = BIT( 2), // 0x00000004
|
|
ACTIVE_PARTICLE_SPARKLES = BIT( 3), // 0x00000008
|
|
ACTIVE_PARTICLE_H_STAR = BIT( 4), // 0x00000010
|
|
ACTIVE_PARTICLE_BUBBLE = BIT( 5), // 0x00000020
|
|
ACTIVE_PARTICLE_WATER_SPLASH = BIT( 6), // 0x00000040
|
|
ACTIVE_PARTICLE_IDLE_WATER_WAVE = BIT( 7), // 0x00000080
|
|
ACTIVE_PARTICLE_SHALLOW_WATER_WAVE = BIT( 8), // 0x00000100
|
|
ACTIVE_PARTICLE_PLUNGE_BUBBLE = BIT( 9), // 0x00000200
|
|
ACTIVE_PARTICLE_WAVE_TRAIL = BIT(10), // 0x00000400
|
|
ACTIVE_PARTICLE_FIRE = BIT(11), // 0x00000800
|
|
ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH = BIT(12), // 0x00001000
|
|
ACTIVE_PARTICLE_LEAF = BIT(13), // 0x00002000
|
|
ACTIVE_PARTICLE_DIRT = BIT(14), // 0x00004000
|
|
ACTIVE_PARTICLE_MIST_CIRCLE = BIT(15), // 0x00008000
|
|
ACTIVE_PARTICLE_SNOW = BIT(16), // 0x00010000
|
|
ACTIVE_PARTICLE_BREATH = BIT(17), // 0x00020000
|
|
ACTIVE_PARTICLE_V_STAR = BIT(18), // 0x00040000
|
|
ACTIVE_PARTICLE_TRIANGLE = BIT(19), // 0x00080000
|
|
};
|
|
|
|
/* oBehParams */
|
|
|
|
/**
|
|
* behParams: oBehParams
|
|
* index: index of bparam in oBehParams
|
|
* val: bparam value
|
|
* num: number of bparams to read as one value
|
|
*/
|
|
// Number of bparams in oBehParams
|
|
#define NUM_BPARAMS 4
|
|
// Number of bits in one bparam
|
|
#define BPARAM_SIZE 8
|
|
// Number of bits in bparam bitmask
|
|
#define BPARAM_MASK_SIZE(num) (BPARAM_SIZE * (num))
|
|
// bparam bitmask ('num' 1 -> 0xFF, 'num' 2 -> 0xFFFF, etc.)
|
|
#define BPARAM_MASK(num) BITMASK(BPARAM_MASK_SIZE(num))
|
|
// Returns the amount of bits to shift a bparam value ('index' == bparam index)
|
|
#define BPARAM_NSHIFT(index, num) (((NUM_BPARAMS - ((num) - 1)) - (index)) * BPARAM_SIZE)
|
|
// Returns the bparam(s) value shifted to the index location in oBehParams
|
|
#define SHIFTED_BPARAM(val, index, num) (((val) & BPARAM_MASK(num)) << BPARAM_NSHIFT((index), (num)))
|
|
// Returns the bparam(s) value from the index location in oBehParams
|
|
#define GET_BPARAMS(behParams, index, num) ((behParams >> BPARAM_NSHIFT((index), (num))) & BPARAM_MASK(num))
|
|
// bparam mask shifted to the index location in oBehParams
|
|
#define BPARAM_SHIFTED_MASK(index, num) (BPARAM_MASK(num) << BPARAM_NSHIFT((index), (num)))
|
|
// oBehParams with the specified bparam(s) cleared
|
|
#define CLEARED_BPARAM(behParams, index, num) ((behParams) & ~BPARAM_SHIFTED_MASK((index), (num)))
|
|
|
|
// Get a u8 bparam from oBehParams
|
|
#define GET_BPARAM1(behParams) GET_BPARAMS((behParams), 1, 1)
|
|
#define GET_BPARAM2(behParams) GET_BPARAMS((behParams), 2, 1)
|
|
#define GET_BPARAM3(behParams) GET_BPARAMS((behParams), 3, 1)
|
|
#define GET_BPARAM4(behParams) GET_BPARAMS((behParams), 4, 1)
|
|
|
|
// Read 2 bparams as a single value
|
|
#define GET_BPARAM12(behParams) GET_BPARAMS((behParams), 1, 2)
|
|
#define GET_BPARAM23(behParams) GET_BPARAMS((behParams), 2, 2)
|
|
#define GET_BPARAM34(behParams) GET_BPARAMS((behParams), 3, 2)
|
|
|
|
// Read 3 bparams as a single value
|
|
#define GET_BPARAM123(behParams) GET_BPARAMS((behParams), 1, 3)
|
|
#define GET_BPARAM234(behParams) GET_BPARAMS((behParams), 2, 3)
|
|
|
|
// Set a bparam in oBehParams without overwriting other bparams
|
|
#define SET_BPARAM(behParams, val, index, num) (behParams) = (CLEARED_BPARAM((behParams), (index), (num)) | SHIFTED_BPARAM((val), (index), (num)))
|
|
#define SET_BPARAM1(behParams, val) SET_BPARAM((behParams), (val), 1, 1)
|
|
#define SET_BPARAM2(behParams, val) SET_BPARAM((behParams), (val), 2, 1)
|
|
#define SET_BPARAM3(behParams, val) SET_BPARAM((behParams), (val), 3, 1)
|
|
#define SET_BPARAM4(behParams, val) SET_BPARAM((behParams), (val), 4, 1)
|
|
|
|
// Set a bparam in oBehParams, clearing other bparams
|
|
#define SET_FULL_BPARAM(behParams, val, index, num) (behParams) = SHIFTED_BPARAM((val), (index), (num))
|
|
#define SET_FULL_BPARAM1(behParams, val) SET_FULL_BPARAM((behParams), (val), 1, 1)
|
|
#define SET_FULL_BPARAM2(behParams, val) SET_FULL_BPARAM((behParams), (val), 2, 1)
|
|
#define SET_FULL_BPARAM3(behParams, val) SET_FULL_BPARAM((behParams), (val), 3, 1)
|
|
#define SET_FULL_BPARAM4(behParams, val) SET_FULL_BPARAM((behParams), (val), 4, 1)
|
|
|
|
// OR a bparam into an index in oBehParams
|
|
#define OR_BPARAM(behParams, val, index, num) (behParams) |= SHIFTED_BPARAM((val), (index), (num))
|
|
#define OR_BPARAM1(behParams, val) OR_BPARAM((behParams), (val), 1, 1)
|
|
#define OR_BPARAM2(behParams, val) OR_BPARAM((behParams), (val), 2, 1)
|
|
#define OR_BPARAM3(behParams, val) OR_BPARAM((behParams), (val), 3, 1)
|
|
#define OR_BPARAM4(behParams, val) OR_BPARAM((behParams), (val), 4, 1)
|
|
|
|
// NAND a bparam into an index in oBehParams
|
|
#define NAND_BPARAM(behParams, val, index, num) (behParams) &= ~SHIFTED_BPARAM((val), (index), (num))
|
|
#define NAND_BPARAM1(behParams, val) NAND_BPARAM((behParams), (val), 1, 1)
|
|
#define NAND_BPARAM2(behParams, val) NAND_BPARAM((behParams), (val), 2, 1)
|
|
#define NAND_BPARAM3(behParams, val) NAND_BPARAM((behParams), (val), 3, 1)
|
|
#define NAND_BPARAM4(behParams, val) NAND_BPARAM((behParams), (val), 4, 1)
|
|
|
|
// Current object bparams
|
|
#define BPARAM1 GET_BPARAM1(o->oBehParams)
|
|
#define BPARAM2 GET_BPARAM2(o->oBehParams)
|
|
#define BPARAM3 GET_BPARAM3(o->oBehParams)
|
|
#define BPARAM4 GET_BPARAM4(o->oBehParams)
|
|
|
|
|
|
|
|
/* oBehParams2ndByte */
|
|
enum ObjGeneralBehParams {
|
|
OBJ_BP_NONE,
|
|
};
|
|
|
|
/* oAction */
|
|
enum ObjGeneralProjectileActions {
|
|
OBJ_ACT_PROJECTILE_HIT_MARIO = -1,
|
|
};
|
|
|
|
/* oAction */
|
|
enum ObjGeneralDeathActions {
|
|
OBJ_ACT_LAVA_DEATH = 100,
|
|
OBJ_ACT_DEATH_PLANE_DEATH,
|
|
};
|
|
|
|
enum ObjGeneralKnockbackActions {
|
|
OBJ_ACT_HORIZONTAL_KNOCKBACK = 100,
|
|
OBJ_ACT_VERTICAL_KNOCKBACK,
|
|
OBJ_ACT_SQUISHED,
|
|
};
|
|
|
|
/* oAnimState */
|
|
enum ObjGeneralAnimStates {
|
|
OBJ_ANIM_STATE_INIT_ANIM = -1,
|
|
OBJ_ANIM_STATE_DEFAULT = 0,
|
|
};
|
|
|
|
/* cur_obj_update_blinking */
|
|
enum AnimStateBlinking {
|
|
OBJ_BLINKING_ANIM_STATE_EYES_OPEN,
|
|
OBJ_BLINKING_ANIM_STATE_EYES_CLOSED,
|
|
};
|
|
|
|
/* geo_update_layer_transparency */
|
|
enum AnimStateLayerTransparency {
|
|
TRANSPARENCY_ANIM_STATE_OPAQUE,
|
|
TRANSPARENCY_ANIM_STATE_TRANSPARENT,
|
|
};
|
|
|
|
/* Animations */
|
|
enum ObjGeneralAnimations {
|
|
OBJ_ANIM_NONE = -1,
|
|
};
|
|
|
|
/* gTTCSpeedSetting */
|
|
enum TTCSpeedSetting {
|
|
TTC_SPEED_SLOW,
|
|
TTC_SPEED_FAST,
|
|
TTC_SPEED_RANDOM,
|
|
TTC_SPEED_STOPPED,
|
|
};
|
|
|
|
/* Orange Number */
|
|
enum OrangeNumbers { // oBehParams2ndByte, oAnimState
|
|
ORANGE_NUMBER_0,
|
|
ORANGE_NUMBER_1,
|
|
ORANGE_NUMBER_2,
|
|
ORANGE_NUMBER_3,
|
|
ORANGE_NUMBER_4,
|
|
ORANGE_NUMBER_5,
|
|
ORANGE_NUMBER_6,
|
|
ORANGE_NUMBER_7,
|
|
ORANGE_NUMBER_8,
|
|
ORANGE_NUMBER_9,
|
|
ORANGE_NUMBER_A,
|
|
ORANGE_NUMBER_B,
|
|
ORANGE_NUMBER_C,
|
|
ORANGE_NUMBER_D,
|
|
ORANGE_NUMBER_E,
|
|
ORANGE_NUMBER_F,
|
|
};
|
|
|
|
/* Coin Type */
|
|
enum CoinTypes { // coinType
|
|
COIN_TYPE_NONE,
|
|
COIN_TYPE_YELLOW,
|
|
COIN_TYPE_BLUE,
|
|
};
|
|
|
|
/* Bouncing Coin */
|
|
enum oActionsBouncingCoin {
|
|
BOUNCING_COIN_ACT_FALLING,
|
|
BOUNCING_COIN_ACT_BOUNCING,
|
|
};
|
|
|
|
/* Hidden Blue Coin */
|
|
enum oActionsHiddenBlueCoin {
|
|
HIDDEN_BLUE_COIN_ACT_INACTIVE,
|
|
HIDDEN_BLUE_COIN_ACT_WAITING,
|
|
HIDDEN_BLUE_COIN_ACT_ACTIVE,
|
|
};
|
|
|
|
/* Blue Coin Switch */
|
|
enum oActionsBlueCoinSwitch {
|
|
BLUE_COIN_SWITCH_ACT_IDLE,
|
|
BLUE_COIN_SWITCH_ACT_RECEDING,
|
|
BLUE_COIN_SWITCH_ACT_TICKING,
|
|
BLUE_COIN_SWITCH_ACT_EXTENDING,
|
|
};
|
|
|
|
/* Moving Blue Coin */
|
|
enum oActionsMovingBlueCoin {
|
|
MOV_BCOIN_ACT_STILL,
|
|
MOV_BCOIN_ACT_MOVING,
|
|
MOV_BCOIN_ACT_SLOWING_DOWN,
|
|
MOV_BCOIN_ACT_STOPPED,
|
|
MOV_BCOIN_ACT_FLICKERING,
|
|
};
|
|
|
|
/* Yellow Coin */
|
|
enum oBehParams2ndByteYellowCoin {
|
|
YELLOW_COIN_BP_NO_COINS,
|
|
YELLOW_COIN_BP_ONE_COIN,
|
|
};
|
|
|
|
/* Moving Yellow Coin */
|
|
enum oActionsMovingYellowCoin {
|
|
MOV_YCOIN_ACT_IDLE,
|
|
MOV_YCOIN_ACT_BLINKING,
|
|
};
|
|
|
|
/* Coin Formation */
|
|
enum CoinFormationFlags {
|
|
COIN_FORMATION_FLAG_NONE = 0x0,
|
|
COIN_FORMATION_FLAG_VERTICAL = BIT(0),
|
|
COIN_FORMATION_FLAG_RING = BIT(1),
|
|
COIN_FORMATION_FLAG_ARROW = BIT(2),
|
|
COIN_FORMATION_FLAG_FLYING = BIT(4),
|
|
};
|
|
enum oBehParams2ndByteCoinFormation {
|
|
COIN_FORMATION_BP_SHAPE_HORIZONTAL_LINE = (COIN_FORMATION_FLAG_NONE),
|
|
COIN_FORMATION_BP_SHAPE_VERTICAL_LINE = (COIN_FORMATION_FLAG_VERTICAL),
|
|
COIN_FORMATION_BP_SHAPE_HORIZONTAL_RING = (COIN_FORMATION_FLAG_RING),
|
|
COIN_FORMATION_BP_SHAPE_VERTICAL_RING = (COIN_FORMATION_FLAG_RING | COIN_FORMATION_FLAG_VERTICAL),
|
|
COIN_FORMATION_BP_SHAPE_ARROW = (COIN_FORMATION_FLAG_ARROW),
|
|
COIN_FORMATION_BP_SHAPE_MASK = 0x07,
|
|
COIN_FORMATION_BP_FLYING = 0x10,
|
|
};
|
|
enum oActionsCoinFormation {
|
|
COIN_FORMATION_ACT_INACTIVE,
|
|
COIN_FORMATION_ACT_ACTIVE,
|
|
COIN_FORMATION_ACT_DEACTIVATE,
|
|
};
|
|
|
|
/* Coin Inside Boo */
|
|
enum oBehParam1stByteCoinInsideBoo {
|
|
COIN_INSIDE_BOO_BP_BLUE_COIN,
|
|
COIN_INSIDE_BOO_BP_YELLOW_COIN,
|
|
};
|
|
enum oActionsCoinInsideBoo {
|
|
COIN_INSIDE_BOO_ACT_CARRIED,
|
|
COIN_INSIDE_BOO_ACT_DROPPED,
|
|
};
|
|
|
|
/* 1-Up Mushroom */
|
|
enum oBehParams2ndByte1UpMushroom {
|
|
MUSHROOM_BP_REQUIRES_NONE,
|
|
MUSHROOM_BP_REQUIRES_BOWSER_1,
|
|
MUSHROOM_BP_REQUIRES_BOWSER_2,
|
|
};
|
|
enum oActions1UpMushroom {
|
|
MUSHROOM_ACT_INIT,
|
|
MUSHROOM_ACT_MOVING,
|
|
MUSHROOM_ACT_DISAPPEARING,
|
|
MUSHROOM_ACT_LOOP_IN_AIR,
|
|
};
|
|
|
|
/* Bob-omb */
|
|
enum oBehParams2ndByteBobOmb {
|
|
BOBOMB_BP_STYPE_GENERIC,
|
|
BOBOMB_BP_STYPE_STATIONARY,
|
|
};
|
|
enum oActionsBobOmb {
|
|
BOBOMB_ACT_PATROL,
|
|
BOBOMB_ACT_LAUNCHED,
|
|
BOBOMB_ACT_CHASE_MARIO,
|
|
BOBOMB_ACT_EXPLODE,
|
|
};
|
|
enum animIDsBobOmb {
|
|
BOBOMB_ANIM_WALKING,
|
|
BOBOMB_ANIM_HELD,
|
|
};
|
|
|
|
/* Bob-omb Buddy */
|
|
enum oBehParams2ndByteBobOmbBuddy {
|
|
BOBOMB_BUDDY_BP_STYPE_GENERIC,
|
|
BOBOMB_BUDDY_BP_STYPE_BOB_GRASS_KBB,
|
|
BOBOMB_BUDDY_BP_STYPE_BOB_CANNON_KBB,
|
|
BOBOMB_BUDDY_BP_STYPE_BOB_GRASS,
|
|
};
|
|
enum oActionsBobOmbBuddy {
|
|
BOBOMB_BUDDY_ACT_IDLE,
|
|
BOBOMB_BUDDY_ACT_1,
|
|
BOBOMB_BUDDY_ACT_TURN_TO_TALK,
|
|
BOBOMB_BUDDY_ACT_TALK,
|
|
};
|
|
enum oBobombBuddyRoles {
|
|
BOBOMB_BUDDY_ROLE_ADVICE,
|
|
BOBOMB_BUDDY_ROLE_CANNON
|
|
};
|
|
enum oBobombBuddyCannonStatuses {
|
|
BOBOMB_BUDDY_CANNON_UNOPENED,
|
|
BOBOMB_BUDDY_CANNON_OPENING,
|
|
BOBOMB_BUDDY_CANNON_OPENED,
|
|
BOBOMB_BUDDY_CANNON_STOP_TALKING,
|
|
};
|
|
enum oBobombBuddyHasTalkedToMarioStates {
|
|
BOBOMB_BUDDY_HAS_NOT_TALKED,
|
|
BOBOMB_BUDDY_TALKED_STATE_UNUSED,
|
|
BOBOMB_BUDDY_HAS_TALKED,
|
|
};
|
|
|
|
/* Bowser */
|
|
enum oBehParams2ndByteBowser {
|
|
BOWSER_BP_BITDW,
|
|
BOWSER_BP_BITFS,
|
|
BOWSER_BP_BITS,
|
|
};
|
|
enum oActionsBowserTail {
|
|
BOWSER_ACT_TAIL_DEFAULT,
|
|
BOWSER_ACT_TAIL_THROWN,
|
|
BOWSER_ACT_TAIL_TOUCHED_MARIO,
|
|
};
|
|
enum oActionsBowser {
|
|
BOWSER_ACT_DEFAULT,
|
|
BOWSER_ACT_THROWN,
|
|
BOWSER_ACT_JUMP_ONTO_STAGE,
|
|
BOWSER_ACT_DANCE,
|
|
BOWSER_ACT_DEAD,
|
|
BOWSER_ACT_WAIT,
|
|
BOWSER_ACT_INTRO_WALK,
|
|
BOWSER_ACT_CHARGE_MARIO,
|
|
BOWSER_ACT_SPIT_FIRE_INTO_SKY,
|
|
BOWSER_ACT_SPIT_FIRE_ONTO_FLOOR,
|
|
BOWSER_ACT_HIT_EDGE,
|
|
BOWSER_ACT_TURN_FROM_EDGE,
|
|
BOWSER_ACT_HIT_MINE,
|
|
BOWSER_ACT_BIG_JUMP,
|
|
BOWSER_ACT_WALK_TO_MARIO,
|
|
BOWSER_ACT_BREATH_FIRE,
|
|
BOWSER_ACT_TELEPORT,
|
|
BOWSER_ACT_QUICK_JUMP,
|
|
BOWSER_ACT_UNUSED_SLOW_WALK,
|
|
BOWSER_ACT_TILT_LAVA_PLATFORM,
|
|
};
|
|
enum oAnimStatesBowser {
|
|
BOWSER_ANIM_STATE_OPAQUE = TRANSPARENCY_ANIM_STATE_OPAQUE,
|
|
BOWSER_ANIM_STATE_TRANSPARENT = TRANSPARENCY_ANIM_STATE_TRANSPARENT,
|
|
BOWSER_ANIM_STATE_INVISIBLE = 2,
|
|
};
|
|
enum animIDsBowser {
|
|
BOWSER_ANIM_STAND_UP,
|
|
BOWSER_ANIM_STAND_UP_UNUSED, // slightly different
|
|
BOWSER_ANIM_SHAKING,
|
|
BOWSER_ANIM_GRABBED,
|
|
BOWSER_ANIM_BROKEN, // broken animation
|
|
BOWSER_ANIM_FALL_DOWN, // unused
|
|
BOWSER_ANIM_BREATH,
|
|
BOWSER_ANIM_JUMP, // unused, short jump, replaced by start/stop
|
|
BOWSER_ANIM_JUMP_STOP,
|
|
BOWSER_ANIM_JUMP_START,
|
|
BOWSER_ANIM_DANCE,
|
|
BOWSER_ANIM_BREATH_UP,
|
|
BOWSER_ANIM_IDLE,
|
|
BOWSER_ANIM_SLOW_GAIT,
|
|
BOWSER_ANIM_LOOK_DOWN_STOP_WALK,
|
|
BOWSER_ANIM_LOOK_UP_START_WALK,
|
|
BOWSER_ANIM_FLIP_DOWN,
|
|
BOWSER_ANIM_LAY_DOWN,
|
|
BOWSER_ANIM_RUN_START,
|
|
BOWSER_ANIM_RUN,
|
|
BOWSER_ANIM_RUN_STOP,
|
|
BOWSER_ANIM_RUN_SLIP,
|
|
BOWSER_ANIM_BREATH_QUICK,
|
|
BOWSER_ANIM_EDGE_MOVE,
|
|
BOWSER_ANIM_EDGE_STOP,
|
|
BOWSER_ANIM_FLIP,
|
|
BOWSER_ANIM_STAND_UP_FROM_FLIP,
|
|
};
|
|
enum oBowserCamActions {
|
|
BOWSER_CAM_ACT_IDLE,
|
|
BOWSER_CAM_ACT_WALK,
|
|
BOWSER_CAM_ACT_END,
|
|
};
|
|
enum oBowserStatuses {
|
|
BOWSER_STATUS_ANGLE_MARIO = BIT( 1), // 0x00000002
|
|
BOWSER_STATUS_ANGLE_CENTER = BIT( 2), // 0x00000004
|
|
BOWSER_STATUS_DIST_MARIO = BIT( 3), // 0x00000008
|
|
BOWSER_STATUS_DIST_CENTER = BIT( 4), // 0x00000010
|
|
BOWSER_STATUS_BIG_JUMP = BIT(16), // 0x00010000
|
|
BOWSER_STATUS_FIRE_SKY = BIT(17), // 0x00020000
|
|
BOWSER_STATUS_MASK = 0xFF,
|
|
};
|
|
enum oBowserGrabbedStatuses {
|
|
BOWSER_GRAB_STATUS_NONE,
|
|
BOWSER_GRAB_STATUS_GRABBED,
|
|
BOWSER_GRAB_STATUS_HOLDING,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsBowserActThrown { // BOWSER_ACT_THROWN
|
|
BOWSER_SUB_ACT_THROWN_BOUNCE,
|
|
BOWSER_SUB_ACT_THROWN_STOP,
|
|
};
|
|
enum oSubActionsBowserActDead { // BOWSER_ACT_DEAD
|
|
BOWSER_SUB_ACT_DEAD_FLY_BACK,
|
|
BOWSER_SUB_ACT_DEAD_BOUNCE,
|
|
BOWSER_SUB_ACT_DEAD_WAIT,
|
|
BOWSER_SUB_ACT_DEAD_DEFAULT_END,
|
|
BOWSER_SUB_ACT_DEAD_DEFAULT_END_OVER,
|
|
BOWSER_SUB_ACT_DEAD_FINAL_END = 0xA,
|
|
BOWSER_SUB_ACT_DEAD_FINAL_END_OVER,
|
|
};
|
|
enum oSubActionsBowserActIntroWalk { // BOWSER_ACT_INTRO_WALK
|
|
BOWSER_SUB_ACT_INTRO_WALK_LOOK_UP,
|
|
BOWSER_SUB_ACT_INTRO_WALK_SLOWLY,
|
|
BOWSER_SUB_ACT_INTRO_WALK_STOP,
|
|
};
|
|
enum oSubActionsBowserActChargeMario { // BOWSER_ACT_CHARGE_MARIO
|
|
BOWSER_SUB_ACT_CHARGE_START,
|
|
BOWSER_SUB_ACT_CHARGE_RUN,
|
|
BOWSER_SUB_ACT_CHARGE_END,
|
|
BOWSER_SUB_ACT_CHARGE_SLIP,
|
|
};
|
|
enum oSubActionsBowserActTeleport { // BOWSER_ACT_TELEPORT
|
|
BOWSER_SUB_ACT_TELEPORT_START,
|
|
BOWSER_SUB_ACT_TELEPORT_MOVE,
|
|
BOWSER_SUB_ACT_TELEPORT_STOP,
|
|
};
|
|
enum oSubActionsBowserActSpitFireOntoFloor { // BOWSER_ACT_SPIT_FIRE_ONTO_FLOOR
|
|
BOWSER_SUB_ACT_SPIT_FIRE_FLOOR_START,
|
|
BOWSER_SUB_ACT_SPIT_FIRE_FLOOR_STOP,
|
|
};
|
|
enum oSubActionsBowserActHitEdge { // BOWSER_ACT_HIT_EDGE
|
|
BOWSER_SUB_ACT_HIT_EDGE_START,
|
|
BOWSER_SUB_ACT_HIT_EDGE_STOP,
|
|
};
|
|
enum oSubActionsBowserActTurnFromEdge { // BOWSER_ACT_TURN_FROM_EDGE
|
|
BOWSER_SUB_ACT_TURN_FROM_EDGE_START,
|
|
BOWSER_SUB_ACT_TURN_FROM_EDGE_STOP,
|
|
BOWSER_SUB_ACT_TURN_FROM_EDGE_END,
|
|
};
|
|
enum oSubActionsBowserActHitMine { // BOWSER_ACT_HIT_MINE
|
|
BOWSER_SUB_ACT_HIT_MINE_START,
|
|
BOWSER_SUB_ACT_HIT_MINE_FALL,
|
|
BOWSER_SUB_ACT_HIT_MINE_STOP,
|
|
};
|
|
enum oSubActionsBowserActJumpOntoStage { // BOWSER_ACT_JUMP_ONTO_STAGE
|
|
BOWSER_SUB_ACT_JUMP_ON_STAGE_IDLE,
|
|
BOWSER_SUB_ACT_JUMP_ON_STAGE_START,
|
|
BOWSER_SUB_ACT_JUMP_ON_STAGE_LAND,
|
|
BOWSER_SUB_ACT_JUMP_ON_STAGE_STOP,
|
|
};
|
|
enum oSubActionsBowserActBigJump { // BOWSER_ACT_BIG_JUMP
|
|
BOWSER_SUB_ACT_BIG_JUMP_START,
|
|
BOWSER_SUB_ACT_BIG_JUMP_LAND,
|
|
BOWSER_SUB_ACT_BIG_JUMP_STOP,
|
|
};
|
|
enum oSubActionsBowserActWalkToMario { // BOWSER_ACT_WALK_TO_MARIO
|
|
BOWSER_SUB_ACT_WALK_TO_MARIO_START,
|
|
BOWSER_SUB_ACT_WALK_TO_MARIO_WALKING,
|
|
BOWSER_SUB_ACT_WALK_TO_MARIO_STOP,
|
|
};
|
|
enum oSubActionsBowserActQuickJump { // BOWSER_ACT_QUICK_JUMP
|
|
BOWSER_SUB_ACT_QUICK_JUMP_START,
|
|
BOWSER_SUB_ACT_QUICK_JUMP_LAND,
|
|
BOWSER_SUB_ACT_QUICK_JUMP_STOP,
|
|
};
|
|
|
|
/* Bowser BITS Platform */
|
|
enum oActionsBowserBITSPlatform {
|
|
BOWSER_BITS_PLAT_ACT_START,
|
|
BOWSER_BITS_PLAT_ACT_CHECK,
|
|
BOWSER_BITS_PLAT_ACT_FALL,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsBowserBITSPlatformActCheck { // BOWSER_BITS_PLAT_ACT_CHECK
|
|
BOWSER_BITS_PLAT_SUB_ACT_CHECK_RESET_TIMER,
|
|
BOWSER_BITS_PLAT_SUB_ACT_CHECK_DEBUG_FALL,
|
|
};
|
|
|
|
/* Bowser Flame */
|
|
enum oActionsBowserFlame {
|
|
BOWSER_FLAME_ACT_FLOATING,
|
|
BOWSER_FLAME_ACT_LANDED,
|
|
};
|
|
|
|
/* Blue Bowser Flame */
|
|
enum oBehParams2ndByteBlueBowserFlame {
|
|
BOWSER_FLAME_BLUE_BP_SPAWN_RED_FLAMES,
|
|
BOWSER_FLAME_BLUE_BP_SPAWN_BLUE_FLAMES,
|
|
};
|
|
|
|
/* Bowser Floating Flame */
|
|
enum oBehParams2ndByteBowserFloatingFlame {
|
|
BOWSER_FLOATING_FLAME_SPAWN_RED_FLAME,
|
|
BOWSER_FLOATING_FLAME_SPAWN_BLUE_FLAME_1,
|
|
BOWSER_FLOATING_FLAME_SPAWN_BLUE_FLAME_2,
|
|
};
|
|
|
|
/* Bowser Key */
|
|
enum oActionsBowserKey {
|
|
BOWSER_KEY_ACT_BOUNCING,
|
|
BOWSER_KEY_ACT_LANDED,
|
|
};
|
|
|
|
/* Bowser Key Cutscene */
|
|
enum animIDsBowserKeyCutscene {
|
|
BOWSER_KEY_CUTSCENE_ANIM_UNLOCK_DOOR,
|
|
BOWSER_KEY_CUTSCENE_ANIM_COURSE_EXIT,
|
|
};
|
|
|
|
/* Fish Spawer */
|
|
enum oBehParams2ndByteFishSpawner {
|
|
FISH_SPAWNER_BP_MANY_BLUE,
|
|
FISH_SPAWNER_BP_FEW_BLUE,
|
|
FISH_SPAWNER_BP_MANY_CYAN,
|
|
FISH_SPAWNER_BP_FEW_CYAN,
|
|
};
|
|
enum oActionsFishSpawner {
|
|
FISH_SPAWNER_ACT_SPAWN,
|
|
FISH_SPAWNER_ACT_IDLE,
|
|
FISH_SPAWNER_ACT_RESPAWN,
|
|
};
|
|
|
|
/* Fish */
|
|
enum oActionsFish {
|
|
FISH_ACT_INIT,
|
|
FISH_ACT_ROAM,
|
|
FISH_ACT_FLEE,
|
|
};
|
|
enum animIDsFish {
|
|
FISH_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Blue Fish Spawner */
|
|
enum oActionsBlueFishSpawner { // bhv_blue_fish_spawn_loop
|
|
BLUE_FISH_ACT_SPAWN,
|
|
BLUE_FISH_ACT_ROOM,
|
|
BLUE_FISH_ACT_DUPLICATE,
|
|
};
|
|
|
|
/* Blue Fish */
|
|
enum oActionsBlueFish {
|
|
BLUE_FISH_ACT_DIVE,
|
|
BLUE_FISH_ACT_TURN,
|
|
BLUE_FISH_ACT_ASCEND,
|
|
BLUE_FISH_ACT_TURN_BACK,
|
|
};
|
|
enum animIDsBlueFish {
|
|
BLUE_FISH_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Cheep Cheep Spawner */
|
|
enum oActionsBubSpawner {
|
|
BUB_SPAWNER_ACT_SPAWN_BUBS,
|
|
BUB_SPAWNER_ACT_IDLE,
|
|
BUB_SPAWNER_ACT_REMOVE_BUBS,
|
|
BUB_SPAWNER_ACT_RESET,
|
|
};
|
|
|
|
/* Cheep Cheep */
|
|
enum oActionsBub {
|
|
BUB_ACT_INIT,
|
|
BUB_ACT_SWIMMING_TOWARDS_MARIO,
|
|
BUB_ACT_SWIMMING_AWAY_FROM_MARIO,
|
|
};
|
|
enum animIDsBub {
|
|
BUB_ANIM_SWIM,
|
|
};
|
|
|
|
/* Bubba */
|
|
enum oActionsBubba {
|
|
BUBBA_ACT_IDLE,
|
|
BUBBA_ACT_ATTACK,
|
|
};
|
|
enum oAnimStatesBubba {
|
|
BUBBA_ANIM_STATE_CLOSED_MOUTH,
|
|
BUBBA_ANIM_STATE_OPEN_MOUTH,
|
|
};
|
|
|
|
/* Seaweed */
|
|
enum animIDsSeaweed {
|
|
SEAWEED_ANIM_WAVE,
|
|
};
|
|
|
|
/* Clam */
|
|
enum oActionsClam {
|
|
CLAM_ACT_CLOSING,
|
|
CLAM_ACT_OPENING,
|
|
};
|
|
enum animIDsClam {
|
|
CLAM_ANIM_CLOSING,
|
|
CLAM_ANIM_OPENING,
|
|
};
|
|
|
|
/* Purple Switch */
|
|
enum oBehParams2ndBytePurpleSwitch {
|
|
PURPLE_SWITCH_BP_NO_TICK,
|
|
PURPLE_SWITCH_BP_ANIMATES,
|
|
PURPLE_SWITCH_BP_REVEAL_HIDDEN,
|
|
};
|
|
enum oActionsPurpleSwitch {
|
|
PURPLE_SWITCH_ACT_IDLE,
|
|
PURPLE_SWITCH_ACT_PRESSED,
|
|
PURPLE_SWITCH_ACT_TICKING,
|
|
PURPLE_SWITCH_ACT_UNPRESSED,
|
|
PURPLE_SWITCH_ACT_WAIT_FOR_MARIO_TO_GET_OFF,
|
|
};
|
|
|
|
/* Animates on Floor Switch */
|
|
enum oBehParams2ndByteAnimatesOnFloorSwitch {
|
|
ANIMATES_ON_FLOOR_SWITCH_BP_BITS_STAIRS,
|
|
ANIMATES_ON_FLOOR_SWITCH_BP_BITDW_STAIRS,
|
|
ANIMATES_ON_FLOOR_SWITCH_BP_RR_TRIGANGLES,
|
|
};
|
|
|
|
/* Openable Grill */
|
|
enum oBehParams2ndByteOpenableGrill {
|
|
OPENABLE_GRILL_BP_BOB,
|
|
OPENABLE_GRILL_BP_HMC,
|
|
};
|
|
enum oActionsOpenableGrill {
|
|
OEPNABLE_GRILL_ACT_SPAWN,
|
|
OEPNABLE_GRILL_IDLE_CLOSED,
|
|
OEPNABLE_GRILL_OPENING,
|
|
OEPNABLE_GRILL_IDLE_OPEN,
|
|
};
|
|
|
|
/* Openable Grill Door */
|
|
enum oBehParams2ndByteOpenableGrillDoor {
|
|
OPENABLE_GRILL_DOOR_BP_SIDE_FLIPPED = -1,
|
|
OPENABLE_GRILL_DOOR_BP_SIDE_UNFLIPPED = 1,
|
|
};
|
|
enum oActionsOpenableGrillDoor {
|
|
OPENABLE_GRILL_DOOR_ACT_CLOSED,
|
|
OPENABLE_GRILL_DOOR_ACT_OPENING,
|
|
OPENABLE_GRILL_DOOR_ACT_OPEN,
|
|
};
|
|
|
|
/* Breakable Box */
|
|
enum oBehParams2ndByteBreakableBox {
|
|
BREAKABLE_BOX_BP_NO_COINS,
|
|
BREAKABLE_BOX_BP_3_COINS,
|
|
BREAKABLE_BOX_BP_5_COINS,
|
|
BREAKABLE_BOX_BP_LARGE,
|
|
};
|
|
enum oActionsBreakableBox {
|
|
BREAKABLE_BOX_ACT_HIDDEN,
|
|
BREAKABLE_BOX_ACT_ACTIVE,
|
|
BREAKABLE_BOX_ACT_BROKEN,
|
|
};
|
|
enum oAnimStatesBreakableBox {
|
|
BREAKABLE_BOX_ANIM_STATE_CRAZY_BOX,
|
|
BREAKABLE_BOX_ANIM_STATE_CORK_BOX,
|
|
};
|
|
|
|
/* Small Breakable Box */
|
|
enum oActionsSmallBreakableBox {
|
|
BREAKABLE_BOX_SMALL_ACT_MOVE,
|
|
};
|
|
|
|
/* Jumping Box */
|
|
enum oActionsJumpingBox {
|
|
JUMPING_BOX_ACT_IDLE,
|
|
JUMPING_BOX_ACT_DROPPED,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsJumpingBoxActIdle { // JUMPING_BOX_ACT_IDLE
|
|
JUMPING_BOX_SUB_ACT_IDLE_BOUNCING,
|
|
JUMPING_BOX_SUB_ACT_IDLE_RESET_TIMER,
|
|
};
|
|
|
|
/* Exclamation Box */
|
|
enum ExclamationBoxContentsList { // oBehParams2ndByte, ExclamationBoxContents->id
|
|
EXCLAMATION_BOX_BP_WING_CAP,
|
|
EXCLAMATION_BOX_BP_METAL_CAP,
|
|
EXCLAMATION_BOX_BP_VANISH_CAP,
|
|
EXCLAMATION_BOX_BP_KOOPA_SHELL,
|
|
EXCLAMATION_BOX_BP_COINS_1,
|
|
EXCLAMATION_BOX_BP_COINS_3,
|
|
EXCLAMATION_BOX_BP_COINS_10,
|
|
EXCLAMATION_BOX_BP_1UP_WALKING,
|
|
EXCLAMATION_BOX_BP_STAR_1,
|
|
EXCLAMATION_BOX_BP_1UP_RUNNING_AWAY,
|
|
EXCLAMATION_BOX_BP_STAR_2,
|
|
EXCLAMATION_BOX_BP_STAR_3,
|
|
EXCLAMATION_BOX_BP_STAR_4,
|
|
EXCLAMATION_BOX_BP_STAR_5,
|
|
EXCLAMATION_BOX_BP_STAR_6,
|
|
EXCLAMATION_BOX_BP_NULL = 99
|
|
};
|
|
enum oBehParam1stByteExclamationBox {
|
|
EXCLAMATION_BOX_BP1_NEEDS_SWITCH,
|
|
EXCLAMATION_BOX_BP1_ALWAYS_ACTIVE,
|
|
};
|
|
enum oActionsExclamationBox {
|
|
EXCLAMATION_BOX_ACT_INIT,
|
|
EXCLAMATION_BOX_ACT_OUTLINE,
|
|
EXCLAMATION_BOX_ACT_ACTIVE,
|
|
EXCLAMATION_BOX_ACT_SCALING,
|
|
EXCLAMATION_BOX_ACT_EXPLODE,
|
|
EXCLAMATION_BOX_ACT_WAIT_FOR_RESPAWN
|
|
};
|
|
enum oAnimStatesExcalamationBox {
|
|
EXCLAMATION_BOX_ANIM_STATE_RED,
|
|
EXCLAMATION_BOX_ANIM_STATE_GREEN,
|
|
EXCLAMATION_BOX_ANIM_STATE_BLUE,
|
|
EXCLAMATION_BOX_ANIM_STATE_YELLOW
|
|
};
|
|
|
|
/* Cap Switch */
|
|
enum oBehParams2ndByteCapSwitch {
|
|
CAP_SWITCH_BP_WING_CAP,
|
|
CAP_SWITCH_BP_METAL_CAP,
|
|
CAP_SWITCH_BP_VANISH_CAP,
|
|
CAP_SWITCH_BP_YELLOW_CAP,
|
|
};
|
|
enum oActionsCapSwitch {
|
|
CAP_SWITCH_ACT_INIT,
|
|
CAP_SWITCH_ACT_IDLE_UNPRESSED,
|
|
CAP_SWITCH_ACT_BEING_PRESSED,
|
|
CAP_SWITCH_ACT_IDLE_PRESSED
|
|
};
|
|
|
|
/* Mario Cap */
|
|
enum oActionsMarioCap {
|
|
CAP_ACT_MOVE,
|
|
CAP_ACT_QUICKSAND = 0xA,
|
|
CAP_ACT_MOVING_QUICKSAND,
|
|
CAP_ACT_INSTANT_QUICKSAND,
|
|
CAP_ACT_INSTANT_MOVING_QUICKSAND,
|
|
};
|
|
|
|
/* Koopa Shell */
|
|
enum oActionsKoopaShell {
|
|
KOOPA_SHELL_ACT_MARIO_NOT_RIDING,
|
|
KOOPA_SHELL_ACT_MARIO_RIDING,
|
|
};
|
|
|
|
/* Koopa Shell Underwater */
|
|
enum oActionsKoopaShellUnderwater {
|
|
KOOPA_SHELL_UNDERWATER_ACT_DEFAULT,
|
|
};
|
|
|
|
/* Cannon Trap Door */
|
|
enum oActionsCannonTrapDoor {
|
|
CANNON_TRAP_DOOR_ACT_CLOSED,
|
|
CANNON_TRAP_DOOR_ACT_CAM_ZOOM,
|
|
CANNON_TRAP_DOOR_ACT_OPENING,
|
|
CANNON_TRAP_DOOR_ACT_OPEN,
|
|
};
|
|
|
|
/* Opened Cannon */
|
|
enum oActionsOpenedCannon {
|
|
OPENED_CANNON_ACT_IDLE,
|
|
OPENED_CANNON_ACT_READY,
|
|
OPENED_CANNON_ACT_SHOOT,
|
|
OPENED_CANNON_ACT_RESETTING,
|
|
OPENED_CANNON_ACT_RISING,
|
|
OPENED_CANNON_ACT_RAISE_BARREL,
|
|
OPENED_CANNON_ACT_TURNING_YAW,
|
|
};
|
|
|
|
/* Door */
|
|
enum oBehParams1stByteKeyDoor {
|
|
KEY_DOOR_BP1_BASEMENT,
|
|
KEY_DOOR_BP1_UPSTAIRS,
|
|
};
|
|
enum oActionsDoor {
|
|
DOOR_ACT_CLOSED,
|
|
DOOR_ACT_PULLED,
|
|
DOOR_ACT_PUSHED,
|
|
DOOR_ACT_WARP_PULLED,
|
|
DOOR_ACT_WARP_PUSHED,
|
|
};
|
|
enum animIDsDoor {
|
|
DOOR_ANIM_CLOSED,
|
|
DOOR_ANIM_PULLED,
|
|
DOOR_ANIM_PUSHED,
|
|
DOOR_ANIM_WARP_PULLED,
|
|
DOOR_ANIM_WARP_PUSHED,
|
|
};
|
|
|
|
/* Star Door */
|
|
enum oActionsStarDoor {
|
|
STAR_DOOR_ACT_CLOSED,
|
|
STAR_DOOR_ACT_OPENING,
|
|
STAR_DOOR_ACT_OPEN,
|
|
STAR_DOOR_ACT_CLOSING,
|
|
STAR_DOOR_ACT_RESET,
|
|
};
|
|
|
|
/* Castle Trap Door */
|
|
enum oActionsCastleTrapDoor {
|
|
CASTLE_FLOOR_TRAP_ACT_OPEN_DETECT,
|
|
CASTLE_FLOOR_TRAP_ACT_OPEN,
|
|
CASTLE_FLOOR_TRAP_ACT_CLOSE_DETECT,
|
|
CASTLE_FLOOR_TRAP_ACT_CLOSE,
|
|
CASTLE_FLOOR_TRAP_ACT_ROTATE,
|
|
};
|
|
|
|
/* Castle Flag */
|
|
enum animIDsCastleFlag {
|
|
CASTLE_FLAG_ANIM_WAVE,
|
|
};
|
|
|
|
/* Homing Amp */
|
|
enum oActionsHomingAmp {
|
|
HOMING_AMP_ACT_INACTIVE,
|
|
HOMING_AMP_ACT_APPEAR,
|
|
HOMING_AMP_ACT_CHASE,
|
|
HOMING_AMP_ACT_GIVE_UP,
|
|
HOMING_AMP_ACT_ATTACK_COOLDOWN,
|
|
};
|
|
|
|
/* Amp */
|
|
enum oBehParams2ndByteAmp {
|
|
AMP_BP_ROT_RADIUS_200,
|
|
AMP_BP_ROT_RADIUS_300,
|
|
AMP_BP_ROT_RADIUS_400,
|
|
AMP_BP_ROT_RADIUS_0,
|
|
};
|
|
enum oActionsAmp {
|
|
AMP_ACT_IDLE = 2,
|
|
AMP_ACT_ATTACK_COOLDOWN = 4,
|
|
};
|
|
enum oAnimStatesAmp {
|
|
AMP_ANIM_STATE_OFF,
|
|
AMP_ANIM_STATE_ON,
|
|
};
|
|
enum animIDsAmp {
|
|
AMP_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Butterfly */
|
|
enum oActionsButterfly {
|
|
BUTTERFLY_ACT_RESTING,
|
|
BUTTERFLY_ACT_FOLLOW_MARIO,
|
|
BUTTERFLY_ACT_RETURN_HOME,
|
|
};
|
|
enum animIDsButterfly {
|
|
BUTTERFLY_ANIM_FLYING,
|
|
BUTTERFLY_ANIM_RESTING,
|
|
};
|
|
|
|
/* Hoot */
|
|
enum oActionsHoot {
|
|
HOOT_ACT_ASCENT,
|
|
HOOT_ACT_CARRY,
|
|
HOOT_ACT_TIRED,
|
|
};
|
|
enum oHootAvailabilityStates {
|
|
HOOT_AVAIL_ASLEEP_IN_TREE,
|
|
HOOT_AVAIL_WANTS_TO_TALK,
|
|
HOOT_AVAIL_READY_TO_FLY,
|
|
};
|
|
enum animIDsHoot {
|
|
HOOT_ANIM_DEFAULT,
|
|
HOOT_ANIM_HOLDING_MARIO,
|
|
};
|
|
|
|
/* Bully (all variants) */
|
|
enum oBehParams2ndByteBully {
|
|
BULLY_BP_SIZE_SMALL,
|
|
BULLY_BP_SIZE_BIG,
|
|
};
|
|
enum oActionsBully {
|
|
BULLY_ACT_PATROL,
|
|
BULLY_ACT_CHASE_MARIO,
|
|
BULLY_ACT_KNOCKBACK,
|
|
BULLY_ACT_BACK_UP,
|
|
BULLY_ACT_INACTIVE,
|
|
BULLY_ACT_ACTIVATE_AND_FALL,
|
|
};
|
|
enum oBullySubtypes {
|
|
BULLY_STYPE_GENERIC = 0x00,
|
|
BULLY_STYPE_MINION = 0x01,
|
|
BULLY_STYPE_CHILL = 0x10,
|
|
};
|
|
enum animIDsBully {
|
|
BULLY_ANIM_WALKING,
|
|
BULLY_ANIM_RUNNING,
|
|
BULLY_ANIM_UNUSED,
|
|
BULLY_ANIM_BOAST,
|
|
};
|
|
|
|
/* Water Ring (all variants) */
|
|
enum oActionsWaterRing {
|
|
WATER_RING_ACT_NOT_COLLECTED,
|
|
WATER_RING_ACT_COLLECTED,
|
|
};
|
|
enum animIDsWaterRing {
|
|
WATER_RING_ANIM_WOBBLE,
|
|
};
|
|
|
|
/* Jet Stream Water Ring Spawner */
|
|
enum oActionsJetStreamWaterRingSpawner {
|
|
JS_RING_SPAWNER_ACT_ACTIVE,
|
|
JS_RING_SPAWNER_ACT_INACTIVE,
|
|
};
|
|
|
|
/* Star General */
|
|
enum oBehParam1stByteStarAct { // BPARAM1
|
|
STAR_BP_ACT_1,
|
|
STAR_BP_ACT_2,
|
|
STAR_BP_ACT_3,
|
|
STAR_BP_ACT_4,
|
|
STAR_BP_ACT_5,
|
|
STAR_BP_ACT_6,
|
|
STAR_BP_ACT_100_COINS,
|
|
};
|
|
|
|
/* Hidden Star */
|
|
enum oActionsHiddenStar {
|
|
HIDDEN_STAR_ACT_INACTIVE,
|
|
HIDDEN_STAR_ACT_ACTIVE,
|
|
};
|
|
|
|
/* Spawn Star stay at position cutscene */
|
|
enum oBehParams2ndByteSpawnStarPos {
|
|
SPAWN_STAR_POS_CUTSCENE_BP_SPAWN_AT_MARIO,
|
|
SPAWN_STAR_POS_CUTSCENE_BP_SPAWN_AT_HOME,
|
|
};
|
|
enum oActionsSpawnStarPos {
|
|
SPAWN_STAR_POS_CUTSCENE_ACT_START,
|
|
SPAWN_STAR_POS_CUTSCENE_ACT_BOUNCE,
|
|
SPAWN_STAR_POS_CUTSCENE_ACT_END,
|
|
SPAWN_STAR_POS_CUTSCENE_ACT_SLOW_STAR_ROTATION,
|
|
};
|
|
|
|
/* Spawn Star arc to position cutscene */
|
|
enum oBehParams2ndByteSpawnStarArc {
|
|
SPAWN_STAR_ARC_CUTSCENE_BP_DEFAULT_STAR,
|
|
SPAWN_STAR_ARC_CUTSCENE_BP_HIDDEN_STAR,
|
|
};
|
|
enum oActionsSpawnStarArc {
|
|
SPAWN_STAR_ARC_CUTSCENE_ACT_START,
|
|
SPAWN_STAR_ARC_CUTSCENE_ACT_GO_TO_HOME,
|
|
SPAWN_STAR_ARC_CUTSCENE_ACT_BOUNCE,
|
|
SPAWN_STAR_ARC_CUTSCENE_ACT_END,
|
|
};
|
|
|
|
/* Celebration Star */
|
|
enum oActionsCelebrationStar {
|
|
CELEB_STAR_ACT_SPIN_AROUND_MARIO,
|
|
CELEB_STAR_ACT_FACE_CAMERA,
|
|
};
|
|
|
|
/* Grand Star */
|
|
enum oActionsGrandStar {
|
|
GRAND_STAR_ACT_APPEAR,
|
|
GRAND_STAR_ACT_JUMP,
|
|
GRAND_STAR_ACT_WAIT_FOR_INTERACTION,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsGrandStarActJump { // GRAND_STAR_ACT_JUMP
|
|
GRAND_STAR_SUB_ACT_START_JUMP,
|
|
GRAND_STAR_SUB_ACT_CONTINUE_JUMP,
|
|
};
|
|
|
|
/* LLL Drawbridge */
|
|
enum oActionsLLLDrawbridge {
|
|
LLL_DRAWBRIDGE_ACT_LOWER,
|
|
LLL_DRAWBRIDGE_ACT_RAISE,
|
|
};
|
|
|
|
/* LLL Volcano Trap */
|
|
enum oActionsLLLVolcanoTrap {
|
|
LLL_VOLCANO_TRAP_ACT_WAIT,
|
|
LLL_VOLCANO_TRAP_ACT_FALL,
|
|
LLL_VOLCANO_TRAP_ACT_LAND,
|
|
LLL_VOLCANO_TRAP_ACT_RISE,
|
|
};
|
|
|
|
/* LLL Floating Wood Bridge */
|
|
enum oActionsLLLFloatingWoodBridge {
|
|
LLL_FLOATING_WOOD_ACT_INACTIVE,
|
|
LLL_FLOATING_WOOD_ACT_ACTIVE,
|
|
LLL_FLOATING_WOOD_ACT_REMOVE_PIECES,
|
|
};
|
|
|
|
/* LLL Hexagonal Ring */
|
|
enum oActionsLLLHexagonalRing {
|
|
LLL_HEXAGONAL_RING_ACT_MARIO_OFF_PLATFORM,
|
|
LLL_HEXAGONAL_RING_ACT_MARIO_ON_PLATFORM,
|
|
LLL_HEXAGONAL_RING_ACT_SPAWN_FLAMES,
|
|
LLL_HEXAGONAL_RING_ACT_MARIO_LEFT_PLATFORM,
|
|
LLL_HEXAGONAL_RING_ACT_RESET,
|
|
};
|
|
|
|
/* LLL Octagonal Rotating Mesh */
|
|
enum oActionsLLLOctagonalRotatingMesh {
|
|
LLL_OCTAGONAL_ROTATING_MESH_ACT_RESET,
|
|
LLL_OCTAGONAL_ROTATING_MESH_ACT_MOVE,
|
|
};
|
|
|
|
/* LLL Fire Bar */
|
|
enum oBehParams2ndByteLLLFireBar {
|
|
LLL_FIRE_BAR_BP_DEFAULT = 4,
|
|
};
|
|
enum oActionsLLLFireBar {
|
|
LLL_FIRE_BAR_ACT_INACTIVE,
|
|
LLL_FIRE_BAR_ACT_SPAWN_FLAMES,
|
|
LLL_FIRE_BAR_ACT_ACTIVE,
|
|
LLL_FIRE_BAR_ACT_REMOVE_FLAMES,
|
|
};
|
|
|
|
/* BITFS Sinking Cage Platform with Pole */
|
|
enum oBehParams2ndByteBITFSSinkingPolePlatform {
|
|
SINKING_POLE_PLATFORM_BP_LOW,
|
|
SINKING_POLE_PLATFORM_BP_HIGH,
|
|
};
|
|
|
|
/* Tumbling Bridge Platform */
|
|
enum oActionsTumblingBridgePlatform {
|
|
TUMBLING_BRIDGE_PLATFORM_ACT_IDLE,
|
|
TUMBLING_BRIDGE_PLATFORM_ACT_UNSTABLE,
|
|
TUMBLING_BRIDGE_PLATFORM_ACT_FALL,
|
|
TUMBLING_BRIDGE_PLATFORM_ACT_END,
|
|
};
|
|
|
|
/* Tumbling Bridge */
|
|
enum oBehParams2ndByteTumblingBridge { // bridgeID
|
|
TUMBLING_BRIDGE_BP_WF,
|
|
TUMBLING_BRIDGE_BP_BBH,
|
|
TUMBLING_BRIDGE_BP_LLL,
|
|
TUMBLING_BRIDGE_BP_BITFS,
|
|
};
|
|
enum oActionsTumblingBridge {
|
|
TUMBLING_BRIDGE_ACT_FAR,
|
|
TUMBLING_BRIDGE_ACT_SPAWN_SECTIONS,
|
|
TUMBLING_BRIDGE_ACT_NEAR,
|
|
TUMBLING_BRIDGE_ACT_RESET,
|
|
};
|
|
|
|
/* Bomp (both variants) */
|
|
enum oActionsBomp {
|
|
BOMP_ACT_WAIT,
|
|
BOMP_ACT_POKE_OUT,
|
|
BOMP_ACT_EXTEND,
|
|
BOMP_ACT_RETRACT,
|
|
};
|
|
|
|
/* WF Tower Platform Group */
|
|
enum oActionsWFTowerPlatformGroup {
|
|
WF_TOWER_PLATFORM_GROUP_ACT_INACTIVE,
|
|
WF_TOWER_PLATFORM_GROUP_ACT_SPAWN_PLATFORMS,
|
|
WF_TOWER_PLATFORM_GROUP_ACT_ACTIVE,
|
|
WF_TOWER_PLATFORM_GROUP_ACT_REMOVE_PLATFORMS,
|
|
};
|
|
|
|
/* WF Tower Sliding Platform */
|
|
enum oActionsWFTowerSlidingPlatform {
|
|
WF_TOWER_SLIDING_PLATFORM_ACT_BACKWARD,
|
|
WF_TOWER_SLIDING_PLATFORM_ACT_FORWARD,
|
|
};
|
|
|
|
/* WF Tower Elevator Platform */
|
|
enum oActionsWFTowerElevatorPlatform {
|
|
WF_TOWER_ELEVATOR_PLATFORM_ACT_BOTTOM,
|
|
WF_TOWER_ELEVATOR_PLATFORM_ACT_MOVING_UP,
|
|
WF_TOWER_ELEVATOR_PLATFORM_ACT_TOP,
|
|
WF_TOWER_ELEVATOR_PLATFORM_ACT_MOVING_DOWN,
|
|
};
|
|
|
|
/* WF Sliding Brick Platform */
|
|
enum oBehParams2ndByteWFSlidingBrickPlatform {
|
|
WF_SLID_BRICK_PTFM_BP_0,
|
|
WF_SLID_BRICK_PTFM_BP_MOV_VEL_10,
|
|
WF_SLID_BRICK_PTFM_BP_MOV_VEL_15,
|
|
WF_SLID_BRICK_PTFM_BP_MOV_VEL_20,
|
|
};
|
|
enum oActionsWFSlidingBrickPlatform {
|
|
WF_SLID_BRICK_PTFM_ACT_WAIT,
|
|
WF_SLID_BRICK_PTFM_ACT_EXTEND,
|
|
WF_SLID_BRICK_PTFM_ACT_RETRACT,
|
|
};
|
|
|
|
/* Sliding Platform */
|
|
enum oBehParams1stByteSlidingPlatform { // collisionDataIndex
|
|
/*0x00*/ SLIDING_PLATFORM_BP1_BITS_SLIDING_PLATFORM,
|
|
/*0x01*/ SLIDING_PLATFORM_BP1_BITS_TWIN_SLIDING_PLATFORMS,
|
|
/*0x02*/ SLIDING_PLATFORM_BP1_BITFS_MOVING_SQUARE,
|
|
/*0x03*/ SLIDING_PLATFORM_BP1_BITFS_SLIDING_PLATFORM,
|
|
/*0x04*/ SLIDING_PLATFORM_BP1_RR_SLIDING_PLATFORM,
|
|
/*0x05*/ SLIDING_PLATFORM_BP1_RR_PYRAMID,
|
|
/*0x06*/ SLIDING_PLATFORM_BP1_NULL,
|
|
/*0x07*/ SLIDING_PLATFORM_BP1_BITDW_SLIDING_PLATFORM,
|
|
/*0x07*/ SLIDING_PLATFORM_BP1_TYPES_MASK = 0x07,
|
|
};
|
|
enum oBehParams2ndByteSlidingPlatform {
|
|
SLIDING_PLATFORM_BP2_LENGTH_MASK = 0x3F,
|
|
SLIDING_PLATFORM_BP2_FLAG_INVERTED = BIT(6),
|
|
};
|
|
|
|
/* BITDW Pyramid Platforms */
|
|
enum oActionsBITDWPyramidPlatforms {
|
|
BITDW_PYRAMID_PLATFORM_ACT_INIT_DIRECTION,
|
|
BITDW_PYRAMID_PLATFORM_ACT_MOVE_0,
|
|
BITDW_PYRAMID_PLATFORM_ACT_MOVE_90,
|
|
BITDW_PYRAMID_PLATFORM_ACT_MOVE_180,
|
|
BITDW_PYRAMID_PLATFORM_ACT_MOVE_270,
|
|
};
|
|
|
|
/* Rotating Platform */
|
|
enum oActionsRotatingPlatform {
|
|
ROTATING_PLATFORM_ACT_STOPPED,
|
|
ROTATING_PLATFORM_ACT_MOVING,
|
|
};
|
|
|
|
/* Seesaw Platform */
|
|
enum oBehParams2ndByteSeesawPlatform {
|
|
SEESAW_PLATFORM_BP_BITDW,
|
|
SEESAW_PLATFORM_BP_BITS,
|
|
SEESAW_PLATFORM_BP_BITS_W_SHAPED,
|
|
SEESAW_PLATFORM_BP_BOB_BRIDGE,
|
|
SEESAW_PLATFORM_BP_BITFS,
|
|
SEESAW_PLATFORM_BP_RR,
|
|
SEESAW_PLATFORM_BP_RR_L_SHAPED,
|
|
SEESAW_PLATFORM_BP_VCUTM,
|
|
};
|
|
|
|
/* Fake Moneybag Coin */
|
|
enum oActionsFakeMoneybagCoin {
|
|
FAKE_MONEYBAG_COIN_ACT_IDLE,
|
|
FAKE_MONEYBAG_COIN_ACT_TRANSFORM,
|
|
};
|
|
|
|
/* Moneybag */
|
|
enum oActionsMoneybag {
|
|
MONEYBAG_ACT_APPEAR,
|
|
MONEYBAG_ACT_UNUSED_APPEAR,
|
|
MONEYBAG_ACT_MOVE_AROUND,
|
|
MONEYBAG_ACT_RETURN_HOME,
|
|
MONEYBAG_ACT_DISAPPEAR,
|
|
MONEYBAG_ACT_DEATH,
|
|
};
|
|
enum oMoneybagJumpStates {
|
|
MONEYBAG_JUMP_LANDING,
|
|
MONEYBAG_JUMP_PREPARE,
|
|
MONEYBAG_JUMP_JUMP,
|
|
MONEYBAG_JUMP_JUMP_AND_BOUNCE,
|
|
MONEYBAG_JUMP_WALK_AROUND,
|
|
MONEYBAG_JUMP_WALK_HOME,
|
|
};
|
|
enum animIDsMoneybag {
|
|
MONEYBAG_ANIM_IDLE,
|
|
MONEYBAG_ANIM_PREPARE_JUMP,
|
|
MONEYBAG_ANIM_JUMP,
|
|
MONEYBAG_ANIM_LAND,
|
|
MONEYBAG_ANIM_WALK,
|
|
};
|
|
|
|
/* Bowling Ball */
|
|
enum oActionsBowlingBall {
|
|
BBALL_ACT_INITIALIZE,
|
|
BBALL_ACT_ROLL,
|
|
};
|
|
|
|
/* Bowling Ball + Bowling Ball Spawner (all variants) */
|
|
enum oBehParams2ndByteBowlingBall {
|
|
BBALL_BP_STYPE_BOB_UPPER,
|
|
BBALL_BP_STYPE_TTM,
|
|
BBALL_BP_STYPE_BOB_LOWER,
|
|
BBALL_BP_STYPE_THI_LARGE,
|
|
BBALL_BP_STYPE_THI_SMALL,
|
|
};
|
|
|
|
/* Bowling Ball (Free) */
|
|
enum oActionsFreeBowlingBall {
|
|
FREE_BBALL_ACT_IDLE,
|
|
FREE_BBALL_ACT_ROLL,
|
|
FREE_BBALL_ACT_RESET,
|
|
};
|
|
|
|
/* THI Top */
|
|
enum oActionsTHITop {
|
|
THI_TOP_ACT_IDLE,
|
|
THI_TOP_ACT_DRAIN_WATER,
|
|
};
|
|
|
|
/* Beta Chest Lid */
|
|
enum oActionsBetaChestLid {
|
|
BETA_CHEST_ACT_IDLE_CLOSED,
|
|
BETA_CHEST_ACT_OPENING,
|
|
BETA_CHEST_ACT_IDLE_OPEN,
|
|
};
|
|
|
|
/* Treasure Chest Top */
|
|
enum oActionsTreasureChestTop {
|
|
TREASURE_CHEST_TOP_ACT_CLOSED,
|
|
TREASURE_CHEST_TOP_ACT_OPENING,
|
|
TREASURE_CHEST_TOP_ACT_OPENED,
|
|
TREASURE_CHEST_TOP_ACT_CLOSING,
|
|
};
|
|
|
|
/* Treasure Chest Bottom */
|
|
enum oBehParams2ndByteTreasureChest {
|
|
TREASURE_CHEST_BP_0,
|
|
TREASURE_CHEST_BP_1,
|
|
TREASURE_CHEST_BP_2,
|
|
TREASURE_CHEST_BP_3,
|
|
TREASURE_CHEST_BP_4,
|
|
};
|
|
enum oActionsTreasureChestBottom {
|
|
TREASURE_CHEST_BOTTOM_ACT_CLOSE,
|
|
TREASURE_CHEST_BOTTOM_ACT_OPENING,
|
|
TREASURE_CHEST_BOTTOM_ACT_OPENED,
|
|
};
|
|
|
|
/* Treasure Chest Manager */
|
|
enum oActionsTreasureChestManager {
|
|
TREASURE_CHEST_ACT_SUCCESS_SOUND,
|
|
TREASURE_CHEST_ACT_REWARD,
|
|
TREASURE_CHEST_ACT_END,
|
|
};
|
|
|
|
/* BBH Tilting Trap Platform */
|
|
enum oActionsBBHTiltingTrapPlatform {
|
|
BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_ON,
|
|
BBH_TILTING_TRAP_PLATFORM_ACT_MARIO_OFF,
|
|
};
|
|
|
|
/* Boo in Castle */
|
|
enum oActionsBooInCastle {
|
|
BOO_IN_CASTLE_ACT_INIT,
|
|
BOO_IN_CASTLE_ACT_IDLE,
|
|
BOO_IN_CASTLE_ACT_FLEE,
|
|
};
|
|
|
|
/* Boo */
|
|
enum oBehParams2ndByteBoo {
|
|
BOO_BP_GHOST_HUNT,
|
|
BOO_BP_NORMAL,
|
|
BOO_BP_MERRY_GO_ROUND,
|
|
};
|
|
enum oActionsBoo {
|
|
BOO_ACT_STOPPED,
|
|
BOO_ACT_CHASING_MARIO,
|
|
BOO_ACT_BOUNCED_ON,
|
|
BOO_ACT_ATTACKED,
|
|
BOO_ACT_DEATH,
|
|
BOO_ACT_MERRY_GO_ROUND_WAIT,
|
|
};
|
|
enum oBooDeathStatuses {
|
|
BOO_DEATH_STATUS_ALIVE,
|
|
BOO_DEATH_STATUS_DYING,
|
|
BOO_DEATH_STATUS_DEAD,
|
|
};
|
|
enum BooAttackStatuses {
|
|
BOO_NOT_ATTACKED,
|
|
BOO_ATTACKED,
|
|
BOO_BOUNCED_ON = -1,
|
|
};
|
|
|
|
/* Big Boo */
|
|
enum oBehParams2ndByteBigBoo {
|
|
BIG_BOO_BP_GHOST_HUNT,
|
|
BIG_BOO_BP_MERRY_GO_ROUND,
|
|
BIG_BOO_BP_BALCONY,
|
|
};
|
|
|
|
/* Fishing Boo */
|
|
enum oActionsFishingBoo {
|
|
FISHING_BOO_ACT_0,
|
|
FISHING_BOO_ACT_1,
|
|
FISHING_BOO_ACT_2,
|
|
FISHING_BOO_ACT_3,
|
|
FISHING_BOO_ACT_4,
|
|
FISHING_BOO_ACT_5,
|
|
FISHING_BOO_ACT_6,
|
|
FISHING_BOO_ACT_SPAWN_FLAMES,
|
|
FISHING_BOO_ACT_8,
|
|
FISHING_BOO_ACT_9,
|
|
FISHING_BOO_ACT_10,
|
|
};
|
|
|
|
/* Beta Boo Key */
|
|
enum oActionsBetaBooKey {
|
|
BETA_BOO_KEY_ACT_IN_BOO,
|
|
BETA_BOO_KEY_ACT_DROPPING,
|
|
BETA_BOO_KEY_ACT_DROPPED,
|
|
};
|
|
|
|
/* Boo Cage */
|
|
enum oActionsBooCage {
|
|
BOO_CAGE_ACT_IN_BOO,
|
|
BOO_CAGE_ACT_FALLING,
|
|
BOO_CAGE_ACT_ON_GROUND,
|
|
BOO_CAGE_ACT_MARIO_JUMPING_IN,
|
|
BOO_CAGE_ACT_USELESS,
|
|
};
|
|
|
|
/* BBH Staircase */
|
|
enum oBehParams2ndByteBBHStaircase {
|
|
BOO_STAIRCASE_BP_0,
|
|
BOO_STAIRCASE_BP_1,
|
|
BOO_STAIRCASE_BP_2,
|
|
};
|
|
enum oActionsBBHStaircase {
|
|
BOO_STAIRCASE_ACT_INIT,
|
|
BOO_STAIRCASE_ACT_RISE,
|
|
BOO_STAIRCASE_ACT_WOBBLE,
|
|
BOO_STAIRCASE_ACT_PLAY_JINGLE,
|
|
};
|
|
|
|
/* BBH Haunted Bookshelf */
|
|
enum oActionsBBHHauntedBookshelf {
|
|
HAUNTED_BOOKSHELF_ACT_IDLE,
|
|
HAUNTED_BOOKSHELF_ACT_RECEDE,
|
|
};
|
|
|
|
/* BBH Bookshelf Manager */
|
|
enum oActionsBBHBookshelfManager {
|
|
BOOKSHELF_MANAGER_ACT_SPAWN_SWITCHES,
|
|
BOOKSHELF_MANAGER_ACT_CHECK_ACTIVATE,
|
|
BOOKSHELF_MANAGER_ACT_ACTIVE,
|
|
BOOKSHELF_MANAGER_ACT_RECEDE,
|
|
BOOKSHELF_MANAGER_ACT_END,
|
|
};
|
|
|
|
/* BBH Book Switch */
|
|
enum oBehParams2ndByteBBHBookSwitch {
|
|
BOOK_SWITCH_BP_CHOICE_1,
|
|
BOOK_SWITCH_BP_CHOICE_2,
|
|
BOOK_SWITCH_BP_CHOICE_3,
|
|
};
|
|
enum oActionsBBHBookSwitch {
|
|
BOOK_SWITCH_ACT_UNPRESSED,
|
|
BOOK_SWITCH_ACT_ACTIVE,
|
|
BOOK_SWITCH_ACT_PRESSED,
|
|
};
|
|
|
|
/* Flying Bookend */
|
|
enum oActionsFlyingBookend {
|
|
FLYING_BOOKEND_ACT_INIT,
|
|
FLYING_BOOKEND_ACT_GROW,
|
|
FLYING_BOOKEND_ACT_TURN_TOWARD_MARIO,
|
|
FLYING_BOOKEND_ACT_FLY_FORWARD,
|
|
};
|
|
enum animIDsFlyingBookend {
|
|
FLYING_BOOKEND_ANIM_SPAWN,
|
|
FLYING_BOOKEND_ANIM_BITE,
|
|
FLYING_BOOKEND_ANIM_GROW,
|
|
};
|
|
|
|
/* BBH Merry-Go-Round */
|
|
enum oActionsBBHMerryGoRound {
|
|
BBH_MERRY_GO_ROUND_ACT_SPAWN_BOOS,
|
|
BBH_MERRY_GO_ROUND_ACT_WAIT,
|
|
BBH_MERRY_GO_ROUND_ACT_STOPPED,
|
|
};
|
|
enum BBHRooms { // gMarioCurrentRoom
|
|
BBH_NEAR_MERRY_GO_ROUND_ROOM = 0xA,
|
|
BBH_DYNAMIC_SURFACE_ROOM = 0x0,
|
|
BBH_OUTSIDE_ROOM = 0xD,
|
|
};
|
|
|
|
/* Coffin Spawner */
|
|
enum oActionsCoffinSpawner {
|
|
COFFIN_SPAWNER_ACT_COFFINS_UNLOADED,
|
|
COFFIN_SPAWNER_ACT_COFFINS_LOADED,
|
|
};
|
|
|
|
/* Coffin */
|
|
enum oBehParams2ndByteCoffin {
|
|
COFFIN_BP_STATIONARY,
|
|
COFFIN_BP_MOVING,
|
|
};
|
|
enum oActionsCoffin {
|
|
COFFIN_ACT_IDLE,
|
|
COFFIN_ACT_STAND_UP,
|
|
};
|
|
|
|
/* WDW Arrow Lift */
|
|
enum oActionsArrowLift {
|
|
ARROW_LIFT_ACT_IDLE,
|
|
ARROW_LIFT_ACT_MOVING_AWAY,
|
|
ARROW_LIFT_ACT_MOVING_BACK,
|
|
};
|
|
|
|
/* Toad */
|
|
enum animIDsToad {
|
|
TOAD_ANIM_WEST_WAVE_THEN_TURN, // 1 frame
|
|
TOAD_ANIM_WEST_WALKING,
|
|
TOAD_ANIM_EAST_NOD_THEN_TURN, // 1 frame
|
|
TOAD_ANIM_EAST_WALKING,
|
|
TOAD_ANIM_WEST_STANDING,
|
|
TOAD_ANIM_EAST_STANDING,
|
|
TOAD_ANIM_WEST_WAVING_BOTH_ARMS,
|
|
TOAD_ANIM_EAST_WAVING_ONE_ARM,
|
|
};
|
|
|
|
/* Intro Peach */
|
|
enum oActionsIntroPeach {
|
|
PEACH_ACT_INIT,
|
|
PEACH_ACT_FADE_1,
|
|
PEACH_ACT_UNFADE,
|
|
PEACH_ACT_FADE_2,
|
|
};
|
|
enum animIDsPeach { //! TODO: anim names 0-3 & 6-8
|
|
PEACH_ANIM_0,
|
|
PEACH_ANIM_1,
|
|
PEACH_ANIM_2,
|
|
PEACH_ANIM_3,
|
|
PEACH_ANIM_DESCEND_FROM_WINDOW,
|
|
PEACH_ANIM_LOOK_UP_AND_OPEN_EYES,
|
|
PEACH_ANIM_DIALOG_1_PART_1,
|
|
PEACH_ANIM_DIALOG_1_PART_2,
|
|
PEACH_ANIM_DIALOG_1_PART_3,
|
|
PEACH_ANIM_THANKS_TO_YOU,
|
|
PEACH_ANIM_KISS,
|
|
PEACH_ANIM_WAVING,
|
|
};
|
|
|
|
/* Yoshi */
|
|
enum oActionsYoshi {
|
|
YOSHI_ACT_IDLE,
|
|
YOSHI_ACT_WALK,
|
|
YOSHI_ACT_TALK,
|
|
YOSHI_ACT_WALK_JUMP_OFF_ROOF,
|
|
YOSHI_ACT_FINISH_JUMPING_AND_DESPAWN,
|
|
YOSHI_ACT_GIVE_PRESENT,
|
|
YOSHI_ACT_CREDITS = 0xA,
|
|
};
|
|
enum animIDsYoshi {
|
|
YOSHI_ANIM_IDLE,
|
|
YOSHI_ANIM_WALK,
|
|
YOSHI_ANIM_JUMP,
|
|
};
|
|
|
|
/* Koopa Race end waypoint */
|
|
enum oKoopaRaceEndpointRaceStatuses {
|
|
KOOPA_RACE_ENDPOINT_STATUS_MARIO_CHEATED = -1,
|
|
KOOPA_RACE_ENDPOINT_STATUS_KOOPA_WON = 0,
|
|
KOOPA_RACE_ENDPOINT_STATUS_MARIO_WON = 1,
|
|
};
|
|
|
|
/* Koopa (General) */
|
|
enum oKoopaTheQuickRaceIndices {
|
|
KOOPA_THE_QUICK_BOB_INDEX,
|
|
KOOPA_THE_QUICK_THI_INDEX,
|
|
};
|
|
enum oBehParams2ndByteKoopa {
|
|
KOOPA_BP_UNSHELLED,
|
|
KOOPA_BP_NORMAL,
|
|
KOOPA_BP_KOOPA_THE_QUICK_BASE,
|
|
KOOPA_BP_KOOPA_THE_QUICK_BOB = (KOOPA_BP_KOOPA_THE_QUICK_BASE + KOOPA_THE_QUICK_BOB_INDEX),
|
|
KOOPA_BP_KOOPA_THE_QUICK_THI = (KOOPA_BP_KOOPA_THE_QUICK_BASE + KOOPA_THE_QUICK_THI_INDEX),
|
|
KOOPA_BP_TINY,
|
|
};
|
|
enum animIDsKoopa {
|
|
KOOPA_ANIM_SHELLED_UNUSED3,
|
|
KOOPA_ANIM_SHELLED_RUN_AWAY,
|
|
KOOPA_ANIM_UNSHELLED_LYING,
|
|
KOOPA_ANIM_UNSHELLED_RUN,
|
|
KOOPA_ANIM_UNUSED_4,
|
|
KOOPA_ANIM_SHELLED_LYING,
|
|
KOOPA_ANIM_STAND_UP,
|
|
KOOPA_ANIM_STOPPED,
|
|
KOOPA_ANIM_UNUSED_8,
|
|
KOOPA_ANIM_WALK,
|
|
KOOPA_ANIM_SHELLED_WALK_STOP,
|
|
KOOPA_ANIM_WALK_START,
|
|
KOOPA_ANIM_THE_QUICK_JUMP,
|
|
KOOPA_ANIM_THE_QUICK_LAND,
|
|
};
|
|
|
|
/* Unshelled Koopa */
|
|
enum oActionsUnshelledKoopa {
|
|
KOOPA_UNSHELLED_ACT_RUN,
|
|
KOOPA_UNSHELLED_ACT_DIVE,
|
|
KOOPA_UNSHELLED_ACT_LYING,
|
|
KOOPA_UNSHELLED_ACT_UNUSED3,
|
|
};
|
|
|
|
/* Shelled Koopa */
|
|
enum oActionsShelledKoopa {
|
|
KOOPA_SHELLED_ACT_STOPPED,
|
|
KOOPA_SHELLED_ACT_WALK,
|
|
KOOPA_SHELLED_ACT_RUN_FROM_MARIO,
|
|
KOOPA_SHELLED_ACT_LYING,
|
|
KOOPA_SHELLED_ACT_DIE,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsShelledKoopaActWalk { // KOOPA_SHELLED_ACT_WALK
|
|
KOOPA_SHELLED_SUB_ACT_START_WALK,
|
|
KOOPA_SHELLED_SUB_ACT_WALK,
|
|
KOOPA_SHELLED_SUB_ACT_STOP_WALK,
|
|
};
|
|
|
|
/* Koopa The Quick */
|
|
enum oActionsKoopaTheQuick {
|
|
KOOPA_THE_QUICK_ACT_WAIT_BEFORE_RACE,
|
|
KOOPA_THE_QUICK_ACT_UNUSED1,
|
|
KOOPA_THE_QUICK_ACT_SHOW_INIT_TEXT,
|
|
KOOPA_THE_QUICK_ACT_RACE,
|
|
KOOPA_THE_QUICK_ACT_DECELERATE,
|
|
KOOPA_THE_QUICK_ACT_STOP,
|
|
KOOPA_THE_QUICK_ACT_AFTER_RACE,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsKoopaTheQuickActRace { // KOOPA_THE_QUICK_ACT_RACE
|
|
KOOPA_THE_QUICK_SUB_ACT_START_RUN,
|
|
KOOPA_THE_QUICK_SUB_ACT_RUN,
|
|
KOOPA_THE_QUICK_SUB_ACT_JUMP,
|
|
};
|
|
|
|
/* Koopa Flag */
|
|
enum animIDsKoopaFlag {
|
|
KOOPA_FLAG_ANIM_WAVE,
|
|
};
|
|
|
|
/* Pokey */
|
|
enum oActionsPokey {
|
|
POKEY_ACT_UNINITIALIZED,
|
|
POKEY_ACT_WANDER,
|
|
POKEY_ACT_UNLOAD_PARTS,
|
|
};
|
|
enum oAnimStatesPokey {
|
|
POKEY_ANIM_STATE_0,
|
|
POKEY_ANIM_STATE_NONSTANDARD_ACTION,
|
|
};
|
|
|
|
/* Pokey Body Part */
|
|
enum oBehParams2ndBytePokeyBodeyPart {
|
|
POKEY_PART_BP_HEAD,
|
|
POKEY_PART_BP_LOWEST = (POKEY_NUM_SEGMENTS - 0x1),
|
|
};
|
|
|
|
/* Swoop */
|
|
enum oBehParams2ndByteSwoop {
|
|
SWOOP_BP_0,
|
|
SWOOP_BP_1,
|
|
};
|
|
enum oActionsSwoop {
|
|
SWOOP_ACT_IDLE,
|
|
SWOOP_ACT_MOVE,
|
|
};
|
|
enum animIDsSwoop {
|
|
SWOOP_ANIM_FLY,
|
|
SWOOP_ANIM_IDLE,
|
|
};
|
|
|
|
/* Fly Guy */
|
|
enum oBehParams2ndByteFlyGuy {
|
|
FLY_GUY_BP_LUNGES,
|
|
FLY_GUY_BP_SHOOTS_FIRE,
|
|
};
|
|
enum oActionsFlyGuy {
|
|
FLY_GUY_ACT_IDLE,
|
|
FLY_GUY_ACT_APPROACH_MARIO,
|
|
FLY_GUY_ACT_LUNGE,
|
|
FLY_GUY_ACT_SHOOT_FIRE,
|
|
};
|
|
enum animIDsFlyGuy {
|
|
FLY_GUY_ANIM_FLYING,
|
|
};
|
|
|
|
/* Goomba Triplet Spawner */
|
|
enum oBehParams2ndByteGoombaTripletSpawner {
|
|
GOOMBA_TRIPLET_SPAWNER_BP_SIZE_MASK = 0x03,
|
|
GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS_MASK = 0xFC,
|
|
};
|
|
enum oActionsGoombaTripletSpawner {
|
|
GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED,
|
|
GOOMBA_TRIPLET_SPAWNER_ACT_LOADED,
|
|
};
|
|
|
|
/* Goomba */
|
|
enum oBehParams2ndByteGoomba {
|
|
GOOMBA_SIZE_REGULAR,
|
|
GOOMBA_SIZE_HUGE,
|
|
GOOMBA_SIZE_TINY,
|
|
GOOMBA_BP_SIZE_MASK = 0x03,
|
|
GOOMBA_BP_TRIPLET_FLAG_MASK = 0xFC,
|
|
};
|
|
#if defined(FLOOMBAS) && defined(INTRO_FLOOMBAS)
|
|
enum oBehParams3rdByteGoomba {
|
|
GOOMBA_BP3_FLOOMBA_MIRRORED_STARTUP_ANIM = BIT(7),
|
|
};
|
|
#endif
|
|
enum oActionsGoomba {
|
|
GOOMBA_ACT_WALK,
|
|
GOOMBA_ACT_ATTACKED_MARIO,
|
|
GOOMBA_ACT_JUMP,
|
|
#if defined(FLOOMBAS) && defined(INTRO_FLOOMBAS)
|
|
FLOOMBA_ACT_STARTUP,
|
|
#endif
|
|
};
|
|
enum oAnimStatesGoomba {
|
|
GOOMBA_ANIM_STATE_EYES_OPEN = OBJ_BLINKING_ANIM_STATE_EYES_OPEN,
|
|
GOOMBA_ANIM_STATE_EYES_CLOSED = OBJ_BLINKING_ANIM_STATE_EYES_CLOSED,
|
|
#ifdef FLOOMBAS
|
|
FLOOMBA_ANIM_STATE_EYES_OPEN = (OBJ_BLINKING_ANIM_STATE_EYES_OPEN + 2),
|
|
FLOOMBA_ANIM_STATE_EYES_CLOSED = (OBJ_BLINKING_ANIM_STATE_EYES_CLOSED + 2),
|
|
#endif
|
|
};
|
|
enum animIDsGoomba {
|
|
GOOMBA_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Chain Chomp */
|
|
enum oActionsChainChomp {
|
|
CHAIN_CHOMP_ACT_UNINITIALIZED,
|
|
CHAIN_CHOMP_ACT_MOVE,
|
|
CHAIN_CHOMP_ACT_UNLOAD_CHAIN,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsChainChompActMove { // CHAIN_CHOMP_ACT_MOVE
|
|
CHAIN_CHOMP_SUB_ACT_TURN,
|
|
CHAIN_CHOMP_SUB_ACT_LUNGE,
|
|
};
|
|
enum oChainChompReleaseStatuses {
|
|
CHAIN_CHOMP_NOT_RELEASED,
|
|
CHAIN_CHOMP_RELEASED_TRIGGER_CUTSCENE,
|
|
CHAIN_CHOMP_RELEASED_LUNGE_AROUND,
|
|
CHAIN_CHOMP_RELEASED_BREAK_GATE,
|
|
CHAIN_CHOMP_RELEASED_JUMP_AWAY,
|
|
CHAIN_CHOMP_RELEASED_END_CUTSCENE,
|
|
};
|
|
enum animIDsChainChomp {
|
|
CHAIN_CHOMP_ANIM_CHOMPING,
|
|
};
|
|
|
|
/* Chain Chomp Chain Part */
|
|
enum oBehParams2ndByteChainChompChainPart {
|
|
CHAIN_CHOMP_CHAIN_PART_BP_PIVOT,
|
|
};
|
|
|
|
/* Wooden Post */
|
|
enum oBehParams3rdByteWoodenPost {
|
|
WOODEN_POST_BP_HAS_COINS,
|
|
WOODEN_POST_BP_NO_COINS,
|
|
};
|
|
|
|
/* Wiggler */
|
|
enum oActionsWiggler {
|
|
WIGGLER_ACT_UNINITIALIZED,
|
|
WIGGLER_ACT_WALK,
|
|
WIGGLER_ACT_KNOCKBACK,
|
|
WIGGLER_ACT_JUMPED_ON,
|
|
WIGGLER_ACT_SHRINK,
|
|
WIGGLER_ACT_FALL_THROUGH_FLOOR,
|
|
};
|
|
enum oWigglerTextStatuses {
|
|
WIGGLER_TEXT_STATUS_AWAIT_DIALOG,
|
|
WIGGLER_TEXT_STATUS_SHOWING_DIALOG,
|
|
WIGGLER_TEXT_STATUS_COMPLETED_DIALOG,
|
|
};
|
|
enum animIDsWiggler {
|
|
WIGGLER_ANIM_WALK,
|
|
};
|
|
|
|
/* Spiny */
|
|
enum oActionsSpiny {
|
|
SPINY_ACT_WALK,
|
|
SPINY_ACT_HELD_BY_LAKITU,
|
|
SPINY_ACT_THROWN_BY_LAKITU,
|
|
SPINY_ACT_ATTACKED_MARIO,
|
|
};
|
|
enum animIDsSpiny {
|
|
SPINY_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Enemy lakitu */
|
|
enum oActionsEnemyLakitu {
|
|
ENEMY_LAKITU_ACT_UNINITIALIZED,
|
|
ENEMY_LAKITU_ACT_MAIN,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsEnemuLakituActMain { // ENEMY_LAKITU_ACT_MAIN
|
|
ENEMY_LAKITU_SUB_ACT_NO_SPINY,
|
|
ENEMY_LAKITU_SUB_ACT_HOLD_SPINY,
|
|
ENEMY_LAKITU_SUB_ACT_THROW_SPINY,
|
|
};
|
|
enum animIDsEnemyLakitu {
|
|
ENEMY_LAKITU_ANIM_SPAWN,
|
|
ENEMY_LAKITU_ANIM_NO_SPINY,
|
|
ENEMY_LAKITU_ANIM_THROW_SPINY,
|
|
ENEMY_LAKITU_ANIM_HOLD_SPINY,
|
|
};
|
|
|
|
/* Cloud */
|
|
enum oBehParams2ndByteCloud {
|
|
CLOUD_BP_FWOOSH,
|
|
CLOUD_BP_LAKITU_CLOUD,
|
|
CLOUD_BP_FWOOSH_FACE = 5,
|
|
};
|
|
enum oActionsCloud {
|
|
CLOUD_ACT_SPAWN_PARTS,
|
|
CLOUD_ACT_MAIN,
|
|
CLOUD_ACT_UNLOAD,
|
|
CLOUD_ACT_FWOOSH_HIDDEN,
|
|
};
|
|
|
|
/* Intro Lakitu */
|
|
enum oActionsIntroLakitu {
|
|
INTRO_LAKITU_ACT_INIT,
|
|
INTRO_LAKITU_ACT_CUTSCENE_INTRO_1,
|
|
INTRO_LAKITU_ACT_CUTSCENE_INTRO_2,
|
|
INTRO_LAKITU_ACT_CUTSCENE_INTRO_3,
|
|
INTRO_LAKITU_ACT_CUTSCENE_END_WAVING_1 = 0x64,
|
|
INTRO_LAKITU_ACT_CUTSCENE_END_WAVING_2,
|
|
INTRO_LAKITU_ACT_CUTSCENE_END_WAVING_3,
|
|
};
|
|
enum animIDsIntroLakitu {
|
|
INTRO_LAKITU_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Camera Lakitu */
|
|
enum oBehParams2ndByteCameraLakitu {
|
|
CAMERA_LAKITU_BP_FOLLOW_CAMERA,
|
|
CAMERA_LAKITU_BP_INTRO,
|
|
};
|
|
enum oActionCameraLakitu {
|
|
CAMERA_LAKITU_INTRO_ACT_TRIGGER_CUTSCENE,
|
|
CAMERA_LAKITU_INTRO_ACT_SPAWN_CLOUD,
|
|
CAMERA_LAKITU_INTRO_ACT_SHOW_DIALOG,
|
|
};
|
|
enum animIDsCameraLakitu {
|
|
CAMERA_LAKITU_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* RR Cruiser Wing */
|
|
enum oBehParams2ndByteRRCruiserWing {
|
|
CRUISER_WING_BP_CLOCKWISE,
|
|
CRUISER_WING_BP_COUNTERCLOCKWISE,
|
|
};
|
|
|
|
/* Manta Ray */
|
|
enum oActionsMantaRay {
|
|
MANTA_ACT_SPAWN_RINGS,
|
|
MANTA_ACT_NO_RINGS,
|
|
};
|
|
enum animIDsMantaRay {
|
|
MANTA_ANIM_SWIM,
|
|
};
|
|
|
|
/* Sushi Shark */
|
|
enum animIDsSushiShark {
|
|
SUSHI_ANIM_SWIM,
|
|
};
|
|
|
|
/* Monty Mole */
|
|
enum oBehParams2ndByteMontyMole {
|
|
MONTY_MOLE_BP_NO_ROCK,
|
|
MONTY_MOLE_BP_ROCK,
|
|
};
|
|
enum oActionsMontyMole {
|
|
MONTY_MOLE_ACT_SELECT_HOLE,
|
|
MONTY_MOLE_ACT_RISE_FROM_HOLE,
|
|
MONTY_MOLE_ACT_SPAWN_ROCK,
|
|
MONTY_MOLE_ACT_BEGIN_JUMP_INTO_HOLE,
|
|
MONTY_MOLE_ACT_THROW_ROCK,
|
|
MONTY_MOLE_ACT_JUMP_INTO_HOLE,
|
|
MONTY_MOLE_ACT_HIDE,
|
|
MONTY_MOLE_ACT_JUMP_OUT_OF_HOLE,
|
|
};
|
|
enum animIDsMontyMole {
|
|
MONTY_MOLE_ANIM_JUMP_INTO_HOLE,
|
|
MONTY_MOLE_ANIM_RISE,
|
|
MONTY_MOLE_ANIM_GET_ROCK,
|
|
MONTY_MOLE_ANIM_BEGIN_JUMP_INTO_HOLE,
|
|
MONTY_MOLE_ANIM_JUMP_OUT_OF_HOLE_DOWN,
|
|
MONTY_MOLE_ANIM_UNUSED_5,
|
|
MONTY_MOLE_ANIM_UNUSED_6,
|
|
MONTY_MOLE_ANIM_UNUSED_7,
|
|
MONTY_MOLE_ANIM_THROW_ROCK,
|
|
MONTY_MOLE_ANIM_JUMP_OUT_OF_HOLE_UP,
|
|
};
|
|
|
|
/* Monty Mole Rock */
|
|
enum oActionsMontyMoleRock {
|
|
MONTY_MOLE_ROCK_ACT_HELD,
|
|
MONTY_MOLE_ROCK_ACT_MOVE,
|
|
};
|
|
|
|
/* Ukiki */
|
|
enum oBehParams2ndByteUkiki {
|
|
UKIKI_BP_CAGE,
|
|
UKIKI_BP_CAP,
|
|
};
|
|
enum oActionsUkiki {
|
|
UKIKI_ACT_IDLE,
|
|
UKIKI_ACT_RUN,
|
|
UKIKI_ACT_TURN_TO_MARIO,
|
|
UKIKI_ACT_JUMP,
|
|
UKIKI_ACT_GO_TO_CAGE,
|
|
UKIKI_ACT_WAIT_TO_RESPAWN,
|
|
UKIKI_ACT_UNUSED_TURN,
|
|
UKIKI_ACT_RETURN_HOME,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsUkikiActShared { // UKIKI_ACT_IDLE, UKIKI_ACT_WAIT_TO_RESPAWN, UKIKI_ACT_UNUSED_TURN
|
|
UKIKI_SUB_ACT_TAUNT_NONE,
|
|
UKIKI_SUB_ACT_TAUNT_ITCH,
|
|
UKIKI_SUB_ACT_TAUNT_SCREECH,
|
|
UKIKI_SUB_ACT_TAUNT_JUMP_CLAP,
|
|
UKIKI_SUB_ACT_TAUNT_HANDSTAND,
|
|
};
|
|
enum oSubActionsUkikiActJump { // UKIKI_ACT_JUMP
|
|
UKIKI_SUB_ACT_JUMP_JUMP,
|
|
UKIKI_SUB_ACT_JUMP_LAND,
|
|
};
|
|
enum oSubActionsUkikiActGoToCage { // UKIKI_ACT_GO_TO_CAGE
|
|
UKIKI_SUB_ACT_CAGE_RUN_TO_CAGE,
|
|
UKIKI_SUB_ACT_CAGE_WAIT_FOR_MARIO,
|
|
UKIKI_SUB_ACT_CAGE_TALK_TO_MARIO,
|
|
UKIKI_SUB_ACT_CAGE_TURN_TO_CAGE,
|
|
UKIKI_SUB_ACT_CAGE_JUMP_TO_CAGE,
|
|
UKIKI_SUB_ACT_CAGE_LAND_ON_CAGE,
|
|
UKIKI_SUB_ACT_CAGE_SPIN_ON_CAGE,
|
|
UKIKI_SUB_ACT_CAGE_DESPAWN,
|
|
};
|
|
enum oUkikiTextStates {
|
|
UKIKI_TEXT_DEFAULT,
|
|
UKIKI_TEXT_CAGE_TEXTBOX,
|
|
UKIKI_TEXT_GO_TO_CAGE,
|
|
UKIKI_TEXT_STOLE_CAP,
|
|
UKIKI_TEXT_HAS_CAP,
|
|
UKIKI_TEXT_GAVE_CAP_BACK,
|
|
UKIKI_TEXT_DO_NOT_LET_GO,
|
|
UKIKI_TEXT_STEAL_CAP,
|
|
};
|
|
enum animIDsUkiki {
|
|
UKIKI_ANIM_RUN,
|
|
UKIKI_ANIM_UNUSED_WALK,
|
|
UKIKI_ANIM_UNUSED_APOSE,
|
|
UKIKI_ANIM_UNUSED_DEATH,
|
|
UKIKI_ANIM_SCREECH,
|
|
UKIKI_ANIM_JUMP_CLAP,
|
|
UKIKI_ANIM_UNUSED_HOP,
|
|
UKIKI_ANIM_LAND,
|
|
UKIKI_ANIM_JUMP,
|
|
UKIKI_ANIM_ITCH,
|
|
UKIKI_ANIM_HANDSTAND,
|
|
UKIKI_ANIM_TURN,
|
|
UKIKI_ANIM_HELD,
|
|
};
|
|
enum oAnimStatesUkiki {
|
|
UKIKI_ANIM_STATE_DEFAULT,
|
|
UKIKI_ANIM_STATE_EYE_CLOSED,
|
|
UKIKI_ANIM_STATE_CAP_ON,
|
|
};
|
|
enum oUkikiHasCapStates {
|
|
UKIKI_CAP_OFF,
|
|
UKIKI_CAP_ON,
|
|
};
|
|
|
|
/* Ukiki Cage Star */
|
|
enum oActionsUkikiCageStar {
|
|
UKIKI_CAGE_STAR_ACT_IN_CAGE,
|
|
UKIKI_CAGE_STAR_ACT_SPAWN_STAR,
|
|
};
|
|
|
|
/* Ukiki Cage */
|
|
enum oActionsUkikiCage {
|
|
UKIKI_CAGE_ACT_WAIT_FOR_UKIKI,
|
|
UKIKI_CAGE_ACT_SPIN,
|
|
UKIKI_CAGE_ACT_FALL,
|
|
UKIKI_CAGE_ACT_HIDE,
|
|
};
|
|
|
|
/* Piranha Plant */
|
|
enum oActionsPiranhaPlant {
|
|
PIRANHA_PLANT_ACT_IDLE,
|
|
PIRANHA_PLANT_ACT_SLEEPING,
|
|
PIRANHA_PLANT_ACT_BITING,
|
|
PIRANHA_PLANT_ACT_WOKEN_UP,
|
|
PIRANHA_PLANT_ACT_STOPPED_BITING,
|
|
PIRANHA_PLANT_ACT_ATTACKED,
|
|
PIRANHA_PLANT_ACT_SHRINK_AND_DIE,
|
|
PIRANHA_PLANT_ACT_WAIT_TO_RESPAWN,
|
|
PIRANHA_PLANT_ACT_RESPAWN,
|
|
};
|
|
enum animIDsPiranhaPlant {
|
|
PIRANHA_PLANT_ANIM_BITE,
|
|
PIRANHA_PLANT_ANIM_UNUSED_1,
|
|
PIRANHA_PLANT_ANIM_FALLING_OVER,
|
|
PIRANHA_PLANT_ANIM_UNUSED_3,
|
|
PIRANHA_PLANT_ANIM_UNUSED_4,
|
|
PIRANHA_PLANT_ANIM_UNUSED_5,
|
|
PIRANHA_PLANT_ANIM_STOP_BITING,
|
|
PIRANHA_PLANT_ANIM_UNUSED_7,
|
|
PIRANHA_PLANT_ANIM_SLEEPING,
|
|
};
|
|
|
|
/* Piranha Plant Bubble */
|
|
enum oActionsPiranhaPlantBubble {
|
|
PIRANHA_PLANT_BUBBLE_ACT_IDLE,
|
|
PIRANHA_PLANT_BUBBLE_ACT_GROW_SHRINK_LOOP,
|
|
PIRANHA_PLANT_BUBBLE_ACT_BURST,
|
|
};
|
|
|
|
/* Checkerboard Platform Group */
|
|
enum oBehParams2ndByteCheckerboardPlatformGroup {
|
|
CHECKERBOARD_PLATFORM_GROUP_BP_SET_DEFAULT = 0x00,
|
|
CHECKERBOARD_PLATFORM_GROUP_BP_DEFAULT_MAX = 0x41,
|
|
};
|
|
|
|
/* Checkerboard Platform */
|
|
enum oBehParams2ndByteCheckerboardPlatform {
|
|
CHECKERBOARD_PLATFORM_BP_MOVE_UP,
|
|
CHECKERBOARD_PLATFORM_BP_MOVE_DOWN,
|
|
};
|
|
enum oActionsCheckerboardPlatform {
|
|
CHECKERBOARD_PLATFORM_ACT_MOVE_VERTICALLY,
|
|
CHECKERBOARD_PLATFORM_ACT_MOVE_UP,
|
|
CHECKERBOARD_PLATFORM_ACT_ROTATE_UP,
|
|
CHECKERBOARD_PLATFORM_ACT_MOVE_DOWN,
|
|
CHECKERBOARD_PLATFORM_ACT_ROTATE_DOWN,
|
|
};
|
|
|
|
/* Platform on track */
|
|
enum oActionsPlatformOnTrack {
|
|
PLATFORM_ON_TRACK_ACT_INIT,
|
|
PLATFORM_ON_TRACK_ACT_WAIT_FOR_MARIO,
|
|
PLATFORM_ON_TRACK_ACT_MOVE_ALONG_TRACK,
|
|
PLATFORM_ON_TRACK_ACT_PAUSE_BRIEFLY,
|
|
PLATFORM_ON_TRACK_ACT_FALL,
|
|
};
|
|
enum oBehParams2ndBytePlatformOnTrack {
|
|
PLATFORM_ON_TRACK_BP_SPAWN_BALLS = BIT(7), // 0x80
|
|
|
|
PLATFORM_ON_TRACK_BP_MASK_TYPE = 0x70,
|
|
PLATFORM_ON_TRACK_BP_MASK_PATH = 0x0F,
|
|
};
|
|
enum oBehParams1stBytePlatformOnTrack {
|
|
PLATFORM_ON_TRACK_BP_RETURN_TO_START = BIT(0), // 0x1
|
|
PLATFORM_ON_TRACK_BP_DONT_DISAPPEAR = BIT(1), // 0x2
|
|
PLATFORM_ON_TRACK_BP_DONT_TURN_YAW = BIT(2), // 0x4
|
|
PLATFORM_ON_TRACK_BP_DONT_TURN_ROLL = BIT(4), // 0x8
|
|
};
|
|
enum oPlatformOnTrackTypes {
|
|
PLATFORM_ON_TRACK_TYPE_CARPET,
|
|
PLATFORM_ON_TRACK_TYPE_SKI_LIFT,
|
|
PLATFORM_ON_TRACK_TYPE_CHECKERED,
|
|
PLATFORM_ON_TRACK_TYPE_GRATE,
|
|
};
|
|
|
|
/* HMC Controllable Platform */
|
|
enum oBehParams2ndByteControllablePlatformDirectionState { // oBehParams2ndByte / sControllablePlatformDirectionState
|
|
DIRECTION_STATE_STOPPED,
|
|
DIRECTION_STATE_SOUTH,
|
|
DIRECTION_STATE_NORTH,
|
|
DIRECTION_STATE_EAST,
|
|
DIRECTION_STATE_WEST,
|
|
DIRECTION_STATE_HIT_WALL,
|
|
DIRECTION_STATE_DISAPPEARING,
|
|
};
|
|
enum oControllablePlatformWallHitDirections {
|
|
MOVE_DIRECTION_NONE,
|
|
MOVE_DIRECTION_NORTH,
|
|
MOVE_DIRECTION_SOUTH,
|
|
MOVE_DIRECTION_WEST,
|
|
MOVE_DIRECTION_EAST,
|
|
};
|
|
|
|
/* HMC Controllable Platform Button */
|
|
enum oActionsControllablePlatformButton {
|
|
CONTROLLABLE_PLATFORM_ACT_UNPRESSED,
|
|
CONTROLLABLE_PLATFORM_BUTTON_ACT_PRESSED,
|
|
CONTROLLABLE_PLATFORM_BUTTON_ACT_CHECK_UNPRESS,
|
|
};
|
|
|
|
/* Elevator */
|
|
enum oBehParams2ndByteElevator {
|
|
ELEVATOR_BP_HMC_WORK,
|
|
ELEVATOR_BP_HMC_EMERGENCY_EXIT,
|
|
ELEVATOR_BP_HMC_NAVIGATING_THE_TOXIC_MAZE,
|
|
ELEVATOR_BP_HMC_LAKE,
|
|
ELEVATOR_BP_BBH_MESH,
|
|
ELEVATOR_BP_RAINBOW_RIDE,
|
|
ELEVATOR_BP_UNUSED,
|
|
};
|
|
enum oActionsElevator {
|
|
ELEVATOR_ACT_IDLE,
|
|
ELEVATOR_ACT_MOVING_UP,
|
|
ELEVATOR_ACT_MOVING_DOWN,
|
|
ELEVATOR_ACT_LANDED,
|
|
ELEVATOR_ACT_LANDED_RR,
|
|
};
|
|
enum oElevatorTypes {
|
|
ELEVATOR_TYPE_DEFAULT,
|
|
ELEVATOR_TYPE_RR,
|
|
ELEVATOR_TYPE_ABOVE_HOME, // roomless?
|
|
};
|
|
|
|
/* WDW Express Elevator */
|
|
enum oActionsExpressElevator {
|
|
EXPRESS_ELEVATOR_ACT_IDLE,
|
|
EXPRESS_ELEVATOR_ACT_MOVING_DOWN,
|
|
EXPRESS_ELEVATOR_ACT_PAUSING_AT_BOTTOM,
|
|
EXPRESS_ELEVATOR_ACT_MOVING_UP,
|
|
EXPRESS_ELEVATOR_ACT_DONE,
|
|
};
|
|
|
|
/* Pyramid Elevator */
|
|
enum oActionsPyramidElevator {
|
|
PYRAMID_ELEVATOR_IDLE,
|
|
PYRAMID_ELEVATOR_START_MOVING,
|
|
PYRAMID_ELEVATOR_CONSTANT_VELOCITY,
|
|
PYRAMID_ELEVATOR_AT_BOTTOM,
|
|
};
|
|
|
|
/* Pyramid Top */
|
|
enum oActionsPyramidTop {
|
|
PYRAMID_TOP_ACT_CHECK_IF_SOLVED,
|
|
PYRAMID_TOP_ACT_SPINNING,
|
|
PYRAMID_TOP_ACT_EXPLODE,
|
|
};
|
|
|
|
/* Pyramid Wall */
|
|
enum oBehParams2ndBytePyramidWall {
|
|
PYRAMID_WALL_BP_POSITION_HIGH,
|
|
PYRAMID_WALL_BP_POSITION_MIDDLE,
|
|
PYRAMID_WALL_BP_POSITION_LOW,
|
|
};
|
|
enum oActionsPyramidWall {
|
|
PYRAMID_WALL_ACT_MOVING_DOWN,
|
|
PYRAMID_WALL_ACT_MOVING_UP,
|
|
};
|
|
|
|
/* Tox Box */
|
|
enum BehParamsToxBoxPatterns { // oBehParams2ndByte
|
|
TOX_BOX_BP_PATTERN_1,
|
|
TOX_BOX_BP_PATTERN_2,
|
|
TOX_BOX_BP_PATTERN_3
|
|
};
|
|
|
|
enum oActionsToxBox {
|
|
TOX_BOX_ACT_END = -1,
|
|
TOX_BOX_ACT_INIT,
|
|
TOX_BOX_ACT_STEP,
|
|
TOX_BOX_ACT_WAIT,
|
|
TOX_BOX_ACT_MOVE_FORWARD,
|
|
TOX_BOX_ACT_MOVE_BACKWARD,
|
|
TOX_BOX_ACT_MOVE_DOWN,
|
|
TOX_BOX_ACT_MOVE_UP
|
|
};
|
|
|
|
/* Penguins (general) */
|
|
enum PenguinWalkingSounds {
|
|
PENGUIN_SOUND_WALK_BABY,
|
|
PENGUIN_SOUND_WALK_BIG
|
|
};
|
|
enum oAnimStatesPenguin { // geo_switch_tuxie_mother_eyes
|
|
PENGUIN_ANIM_STATE_EYES_OPEN,
|
|
PENGUIN_ANIM_STATE_EYES_HALF_CLOSED,
|
|
PENGUIN_ANIM_STATE_EYES_CLOSED,
|
|
PENGUIN_ANIM_STATE_EYES_ANGRY,
|
|
PENGUIN_ANIM_STATE_EYES_SAD
|
|
};
|
|
enum animIDsPenguin {
|
|
PENGUIN_ANIM_WALK,
|
|
PENGUIN_ANIM_DIVE_SLIDE,
|
|
PENGUIN_ANIM_STAND_UP,
|
|
PENGUIN_ANIM_IDLE
|
|
};
|
|
|
|
/* Racing Penguin */
|
|
enum oBehParams2ndByteRacingPenguin {
|
|
RACING_PENGUIN_BP_NORMAL,
|
|
RACING_PENGUIN_BP_120_STARS,
|
|
};
|
|
enum oActionsRacingPenguin {
|
|
RACING_PENGUIN_ACT_WAIT_FOR_MARIO,
|
|
RACING_PENGUIN_ACT_SHOW_INIT_TEXT,
|
|
RACING_PENGUIN_ACT_PREPARE_FOR_RACE,
|
|
RACING_PENGUIN_ACT_RACE,
|
|
RACING_PENGUIN_ACT_FINISH_RACE,
|
|
RACING_PENGUIN_ACT_SHOW_FINAL_TEXT,
|
|
};
|
|
|
|
/* Mother Penguin */
|
|
enum oActionsMotherPenguin {
|
|
MOTHER_PENGUIN_ACT_IDLE,
|
|
MOTHER_PENGUIN_ACT_RECEIVE_BABY,
|
|
MOTHER_PENGUIN_ACT_RECEIVED_BABY,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsMotherPenguinActIdle { // MOTHER_PENGUIN_ACT_IDLE
|
|
MOTHER_PENGUIN_SUB_ACT_READY_TO_ASK,
|
|
MOTHER_PENGUIN_SUB_ACT_ASK_FOR_BABY,
|
|
MOTHER_PENGUIN_SUB_ACT_ALREADY_ASKED,
|
|
};
|
|
enum oSubActionsMotherPenguinActReceiveBaby { // MOTHER_PENGUIN_ACT_RECEIVE_BABY
|
|
MOTHER_PENGUIN_SUB_ACT_RECEIVE_BABY,
|
|
MOTHER_PENGUIN_SUB_ACT_CORRECT_BABY,
|
|
MOTHER_PENGUIN_SUB_ACT_WRONG_BABY,
|
|
};
|
|
enum oSubActionsMotherPenguinActReceivedBaby { // MOTHER_PENGUIN_ACT_RECEIVED_BABY
|
|
MOTHER_PENGUIN_SUB_ACT_CHASE_MARIO,
|
|
MOTHER_PENGUIN_SUB_ACT_STOP_CHASING_MARIO,
|
|
};
|
|
|
|
/* Small Penguin */
|
|
enum oActionsSmallPenguin {
|
|
SMALL_PENGUIN_ACT_WALKING,
|
|
SMALL_PENGUIN_ACT_WALKING_TOWARD_MARIO,
|
|
SMALL_PENGUIN_ACT_WALKING_AWAY_FROM_MARIO,
|
|
SMALL_PENGUIN_ACT_DIVE_SLIDING,
|
|
SMALL_PENGUIN_ACT_DIVE_SLIDING_STOP,
|
|
SMALL_PENGUIN_ACT_NEAR_MOTHER,
|
|
};
|
|
|
|
/* SL Walking Penguin */
|
|
enum oActionsSLWalkingPenguin {
|
|
SL_WALKING_PENGUIN_ACT_MOVING_FORWARDS,
|
|
SL_WALKING_PENGUIN_ACT_TURNING_BACK,
|
|
SL_WALKING_PENGUIN_ACT_RETURNING,
|
|
SL_WALKING_PENGUIN_ACT_TURNING_FORWARDS,
|
|
};
|
|
|
|
/* Snowman Wind */
|
|
enum oSubActions {
|
|
SL_SNOWMAN_WIND_ACT_IDLE,
|
|
SL_SNOWMAN_WIND_ACT_TALKING,
|
|
SL_SNOWMAN_WIND_ACT_BLOWING,
|
|
};
|
|
|
|
/* Snow Mound */
|
|
enum oActionsSnowMound {
|
|
SNOW_MOUND_ACT_MOVE,
|
|
SNOW_MOUND_ACT_SINK,
|
|
};
|
|
|
|
/* Snowman's Head */
|
|
enum oActionsSnowmansHead {
|
|
SNOWMANS_HEAD_ACT_ASK,
|
|
SNOWMANS_HEAD_ACT_NONE,
|
|
SNOWMANS_HEAD_ACT_JUMPING,
|
|
SNOWMANS_HEAD_ACT_LAND,
|
|
SNOWMANS_HEAD_ACT_THANK,
|
|
};
|
|
|
|
/* Snowman's Bottom */
|
|
enum oActionsSnowmansBottom {
|
|
SNOWMANS_BOTTOM_ACT_WAITING,
|
|
SNOWMANS_BOTTOM_ACT_FOLLOW_PATH,
|
|
SNOWMANS_BOTTOM_ACT_FINAL_STRETCH,
|
|
SNOWMANS_BOTTOM_ACT_REACH_END,
|
|
SNOWMANS_BOTTOM_ACT_COLLISION,
|
|
};
|
|
|
|
/* Water Bomb Cannon */
|
|
enum oBehParams2ndByteWaterBombCannon {
|
|
WATER_BOMB_CANNON_BP_ACTIVE = 0x0,
|
|
};
|
|
enum oActionsWaterBombCannon {
|
|
WATER_BOMB_CANNON_ACT_HIDDEN,
|
|
WATER_BOMB_CANNON_ACT_ACTIVE,
|
|
WATER_BOMB_CANNON_ACT_HIDE,
|
|
};
|
|
|
|
/* Water bomb */
|
|
enum oActionsWaterBomb {
|
|
WATER_BOMB_ACT_SHOT_FROM_CANNON,
|
|
WATER_BOMB_ACT_INIT,
|
|
WATER_BOMB_ACT_DROP,
|
|
WATER_BOMB_ACT_EXPLODE,
|
|
};
|
|
|
|
/* TTC Painting Clock Arm */
|
|
enum oActionsTTCPaintingClockArm {
|
|
TTC_PAINTING_CLOCK_ARM_WAIT,
|
|
TTC_PAINTING_CLOCK_ARM_ACT_MOVING,
|
|
TTC_PAINTING_CLOCK_ARM_ACT_STOPPED,
|
|
};
|
|
|
|
/* TTC rotating solid */
|
|
enum oBehParams2ndByteTTCRotatingSolid {
|
|
TTC_ROTATING_SOLID_BP_CUBE,
|
|
TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM,
|
|
};
|
|
|
|
/* TTC moving bar */
|
|
enum oActionsTTCMovingBar {
|
|
TTC_MOVING_BAR_ACT_WAIT,
|
|
TTC_MOVING_BAR_ACT_PULL_BACK,
|
|
TTC_MOVING_BAR_ACT_EXTEND,
|
|
TTC_MOVING_BAR_ACT_RETRACT,
|
|
};
|
|
|
|
/* TTC cog */
|
|
enum oBehParams2ndByteTTCCog {
|
|
TTC_COG_BP_SHAPE_MASK = 0x02,
|
|
TTC_COG_BP_SHAPE_HEXAGON = (0 << 1),
|
|
TTC_COG_BP_SHAPE_TRIANGLE = (1 << 1),
|
|
TTC_COG_BP_DIR_MASK = 0x01,
|
|
TTC_COG_BP_DIR_CCW = (0 << 0), // TODO: Check these
|
|
TTC_COG_BP_DIR_CW = (1 << 0),
|
|
};
|
|
|
|
/* TTC Pit Block */
|
|
enum oBehParams2ndByteTTCPitBlock {
|
|
TTC_PIT_BLOCK_BP_0,
|
|
TTC_PIT_BLOCK_BP_1,
|
|
};
|
|
|
|
/* TTC 2D Rotator */
|
|
enum oBehParams2ndByteTTC2DRotator {
|
|
TTC_2D_ROTATOR_BP_HAND,
|
|
TTC_2D_ROTATOR_BP_2D_COG,
|
|
};
|
|
|
|
/* TTC Treadmill */
|
|
enum oBehParams2ndByteTTCTreadmill {
|
|
TREADMILL_BP_LARGE,
|
|
TREADMILL_BP_SMALL,
|
|
TREADMILL_BP_SIZE_MASK = 0x1,
|
|
TREADMILL_BP_UNKNOWN,
|
|
};
|
|
|
|
/* Activated Back-and-Forth Platform */
|
|
enum oBehParams1stByteActivatedBackAndForthPlatform { // (bparam1 & 0x03) aka platform type
|
|
ACTIVATED_BF_PLAT_TYPE_BITS_ARROW_PLAT,
|
|
ACTIVATED_BF_PLAT_TYPE_BITFS_MESH_PLAT,
|
|
ACTIVATED_BF_PLAT_TYPE_BITFS_ELEVATOR,
|
|
ACTIVATED_BF_PLAT_TYPES_MASK,
|
|
};
|
|
enum oBehParams2ndByteActivatedBackAndForthPlatform {
|
|
ACTIVATED_BF_PLAT_DISTANCE_MASK = 0x7F,
|
|
ACTIVATED_BF_PLAT_FLAG_VERTICAL = BIT(7),
|
|
};
|
|
|
|
/* Unagi */
|
|
enum oBehParams2ndByteUnagi {
|
|
UNAGI_BP_IN_SHIP,
|
|
UNAGI_BP_IN_CAVE,
|
|
UNAGI_BP_START_SWIMMING,
|
|
};
|
|
enum oActionsUnagi {
|
|
UNAGI_ACT_SHIP_RESET_PATH,
|
|
UNAGI_ACT_SHIP_PATH,
|
|
UNAGI_ACT_RETURN_TO_CAVE,
|
|
UNAGI_ACT_IN_CAVE,
|
|
UNAGI_ACT_CAVE_PATH,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsUnagiActShipResetPath { // UNAGI_ACT_SHIP_RESET_PATH
|
|
UNAGI_SUB_ACT_SHIP_RESET_PATH_WAIT_FOR_MARIO,
|
|
UNAGI_SUB_ACT_SHIP_RESET_PATH_DO_RESET,
|
|
};
|
|
enum oAnimStatesUnagi {
|
|
UNAGI_ANIM_STATE_NO_STAR,
|
|
UNAGI_ANIM_STATE_HAS_STAR,
|
|
UNAGI_ANIM_STATE_HAS_TRANSPARENT_STAR,
|
|
};
|
|
enum animIDsUnagi {
|
|
UNAGI_ANIM_YAWN,
|
|
UNAGI_ANIM_BITE,
|
|
UNAGI_ANIM_SWIM,
|
|
UNAGI_ANIM_STATIC_STRAIGHT,
|
|
UNAGI_ANIM_IDLE_2_1,
|
|
UNAGI_ANIM_OPEN_MOUTH,
|
|
UNAGI_ANIM_IDLE_2,
|
|
};
|
|
|
|
/* Unagi Sub Object */
|
|
enum oBehParams2ndByteUnagiSubObject {
|
|
UNAGI_PART_BP_BACK = -4,
|
|
UNAGI_PART_BP_CONTROL_DISTANCE = 3,
|
|
UNAGI_PART_BP_FRONT = 4,
|
|
};
|
|
|
|
/* Dorrie */
|
|
enum oActionsDorrie {
|
|
DORRIE_ACT_MOVE,
|
|
DORRIE_ACT_LOWER_HEAD,
|
|
DORRIE_ACT_RAISE_HEAD,
|
|
};
|
|
enum animIDsDorrie {
|
|
DORRIE_ANIM_UNUSED,
|
|
DORRIE_ANIM_RAISE_HEAD,
|
|
DORRIE_ANIM_LOWER_HEAD,
|
|
};
|
|
|
|
/* Mad Piano */
|
|
enum oActionsMadPiano {
|
|
MAD_PIANO_ACT_WAIT,
|
|
MAD_PIANO_ACT_ATTACK,
|
|
};
|
|
enum animIDsMadPiano {
|
|
MAD_PIANO_ANIM_SLEEPING,
|
|
MAD_PIANO_ANIM_CHOMPING,
|
|
};
|
|
|
|
/* Haunted Chair */
|
|
enum oActionsHauntedChair {
|
|
HAUNTED_CHAIR_ACT_FALL_OR_SPIN,
|
|
HAUNTED_CHAIR_ACT_FLY,
|
|
};
|
|
enum animIDsHauntedChair {
|
|
HAUNTED_CHAIR_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Fire Piranha Plant */
|
|
enum oBehParam2ndByteFirePiranhaPlant {
|
|
FIRE_PIRANHA_PLANT_BP_NORMAL,
|
|
FIRE_PIRANHA_PLANT_BP_THI,
|
|
};
|
|
enum oActionsFirePiranhaPlant {
|
|
FIRE_PIRANHA_PLANT_ACT_HIDE,
|
|
FIRE_PIRANHA_PLANT_ACT_GROW,
|
|
};
|
|
enum animIDsFirePiranhaPlant {
|
|
FIRE_PIRANHA_PLANT_ANIM_SHRINK,
|
|
FIRE_PIRANHA_PLANT_ANIM_UNUSED_1,
|
|
FIRE_PIRANHA_PLANT_ANIM_ATTACKED,
|
|
FIRE_PIRANHA_PLANT_ANIM_UNUSED_3,
|
|
FIRE_PIRANHA_PLANT_ANIM_GROW,
|
|
};
|
|
|
|
/* Fire Spitter */
|
|
enum oActionsFireSpitter {
|
|
FIRE_SPITTER_ACT_IDLE,
|
|
FIRE_SPITTER_ACT_SPIT_FIRE,
|
|
};
|
|
|
|
/* Moving Flame */
|
|
enum oBehParams2ndByteMovingFlame {
|
|
MOVING_FLAME_BP_1FRAME,
|
|
MOVING_FLAME_BP_MOVE,
|
|
};
|
|
|
|
/* Fly Guy Flame */
|
|
enum oBehParams2ndByteFlyGuyFlame {
|
|
MOVING_FLAME_PARTICLE_BP_UNK0,
|
|
MOVING_FLAME_PARTICLE_BP_UNK1,
|
|
};
|
|
|
|
/* Flamethrower */
|
|
enum oBehParams2ndByteFlamethrower {
|
|
FLAMETHROWER_BP_0,
|
|
FLAMETHROWER_BP_BLUE,
|
|
FLAMETHROWER_BP_SLOW,
|
|
FLAMETHROWER_BP_TALL_HITBOX,
|
|
FLAMETHROWER_BP_UPWARDS,
|
|
};
|
|
enum oActionsFlamethrower {
|
|
FLAMETHROWER_ACT_IDLE,
|
|
FLAMETHROWER_ACT_BLOW_FIRE,
|
|
FLAMETHROWER_ACT_COOLDOWN,
|
|
};
|
|
|
|
/* Bouncing Fireball Flame */
|
|
enum oActionsBouncingFireballFlame {
|
|
BOUNCING_FLAME_ACT_SPAWNED,
|
|
BOUNCING_FLAME_ACT_LANDED,
|
|
};
|
|
|
|
/* Bouncing Fireball */
|
|
enum oActionsBouncingFireball {
|
|
BOUNCING_FIREBALL_SPAWNER_ACT_IDLE,
|
|
BOUNCING_FIREBALL_SPAWNER_ACT_SPAWN_FLAME,
|
|
BOUNCING_FIREBALL_SPAWNER_ACT_COOLDOWN,
|
|
};
|
|
|
|
/* Eyerok Boss */
|
|
enum oActionsEyerokBoss {
|
|
EYEROK_BOSS_ACT_SLEEP,
|
|
EYEROK_BOSS_ACT_WAKE_UP,
|
|
EYEROK_BOSS_ACT_SHOW_INTRO_TEXT,
|
|
EYEROK_BOSS_ACT_FIGHT,
|
|
EYEROK_BOSS_ACT_DIE,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsEyerokBossWakeUp { // EYEROK_BOSS_ACT_WAKE_UP
|
|
EYEROK_BOSS_SUB_ACT_WAKE_LOWER_VOLUME,
|
|
EYEROK_BOSS_SUB_ACT_WAKE_WAIT_FOR_DIALOG,
|
|
};
|
|
|
|
/* Eyerok Hand */
|
|
enum oBehParams2ndByteEyerokHand {
|
|
EYEROK_BP_LEFT_HAND = -1,
|
|
EYEROK_BP_RIGHT_HAND = 1,
|
|
};
|
|
enum oActionsEyerokHand {
|
|
EYEROK_HAND_ACT_SLEEP,
|
|
EYEROK_HAND_ACT_IDLE,
|
|
EYEROK_HAND_ACT_OPEN,
|
|
EYEROK_HAND_ACT_SHOW_EYE,
|
|
EYEROK_HAND_ACT_CLOSE,
|
|
EYEROK_HAND_ACT_RETREAT,
|
|
EYEROK_HAND_ACT_TARGET_MARIO,
|
|
EYEROK_HAND_ACT_SMASH,
|
|
EYEROK_HAND_ACT_FIST_PUSH,
|
|
EYEROK_HAND_ACT_FIST_SWEEP,
|
|
EYEROK_HAND_ACT_BEGIN_DOUBLE_POUND, // raising for double smash
|
|
EYEROK_HAND_ACT_DOUBLE_POUND, // double smashing
|
|
EYEROK_HAND_ACT_ATTACKED,
|
|
EYEROK_HAND_ACT_RECOVER,
|
|
EYEROK_HAND_ACT_BECOME_ACTIVE,
|
|
EYEROK_HAND_ACT_DIE,
|
|
};
|
|
enum oAnimStatesEyerokHand {
|
|
EYEROK_HAND_ANIM_STATE_EYE_OPEN,
|
|
EYEROK_HAND_ANIM_STATE_EYE_MOSTLY_OPEN,
|
|
EYEROK_HAND_ANIM_STATE_EYE_MOSTLY_CLOSED,
|
|
EYEROK_HAND_ANIM_STATE_EYE_CLOSED,
|
|
};
|
|
enum oEyerokHandAnimStateIndices {
|
|
EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPEN_1,
|
|
EYEROK_HAND_ANIM_STATE_INDEX_EYE_CLOSING, // mostly open
|
|
EYEROK_HAND_ANIM_STATE_INDEX_EYE_CLOSED,
|
|
EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPENING_1, // mostly closed
|
|
EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPENING_2, // mostly open
|
|
EYEROK_HAND_ANIM_STATE_INDEX_EYE_OPEN_2,
|
|
};
|
|
enum animIDsEyerokHand {
|
|
EYEROK_HAND_ANIM_RECOVER,
|
|
EYEROK_HAND_ANIM_DEATH,
|
|
EYEROK_HAND_ANIM_IDLE,
|
|
EYEROK_HAND_ANIM_ATTACKED,
|
|
EYEROK_HAND_ANIM_OPEN,
|
|
EYEROK_HAND_ANIM_SHOW_EYE,
|
|
EYEROK_HAND_ANIM_SLEEPING,
|
|
EYEROK_HAND_ANIM_CLOSE,
|
|
};
|
|
|
|
/* King Bob-omb */
|
|
enum oActionsKingBobomb {
|
|
KING_BOBOMB_ACT_INACTIVE,
|
|
KING_BOBOMB_ACT_ACTIVATE,
|
|
KING_BOBOMB_ACT_ACTIVE,
|
|
KING_BOBOMB_ACT_GRABBED_MARIO,
|
|
KING_BOBOMB_ACT_BEEN_THROWN,
|
|
KING_BOBOMB_ACT_RETURN_HOME,
|
|
KING_BOBOMB_ACT_HIT_GROUND,
|
|
KING_BOBOMB_ACT_DEATH,
|
|
KING_BOBOMB_ACT_STOP_MUSIC,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsKingBobombActInactive { // KING_BOBOMB_ACT_INACTIVE
|
|
KING_BOBOMB_SUB_ACT_INACTIVE_INIT,
|
|
KING_BOBOMB_SUB_ACT_INACTIVE_DIALOG,
|
|
};
|
|
enum oSubActionsKingBobombActGrabbedMario { // KING_BOBOMB_ACT_GRABBED_MARIO
|
|
KING_BOBOMB_SUB_ACT_GRABBED_MARIO_GRAB,
|
|
KING_BOBOMB_SUB_ACT_GRABBED_MARIO_HOLDING,
|
|
KING_BOBOMB_SUB_ACT_GRABBED_MARIO_THROW,
|
|
};
|
|
enum oSubActionsKingBobombActBeenThrown { // KING_BOBOMB_ACT_BEEN_THROWN
|
|
KING_BOBOMB_SUB_ACT_THROWN_FALL,
|
|
KING_BOBOMB_SUB_ACT_THROWN_STAND_UP,
|
|
KING_BOBOMB_SUB_ACT_THROWN_END,
|
|
};
|
|
enum oSubActionsKingBobombActReturnHome { // KING_BOBOMB_ACT_RETURN_HOME
|
|
KING_BOBOMB_SUB_ACT_RETURN_HOME_JUMP,
|
|
KING_BOBOMB_SUB_ACT_RETURN_HOME_LANDING,
|
|
KING_BOBOMB_SUB_ACT_RETURN_HOME_LANDING_END,
|
|
KING_BOBOMB_SUB_ACT_RETURN_HOME_WAIT_FOR_DIALOG,
|
|
KING_BOBOMB_SUB_ACT_RETURN_HOME_DIALOG,
|
|
};
|
|
enum oSubActionsKingBobombActHitGround { // KING_BOBOMB_ACT_HIT_GROUND
|
|
KING_BOBOMB_SUB_ACT_HIT_GROUND_HIT,
|
|
KING_BOBOMB_SUB_ACT_HIT_GROUND_STAND_UP,
|
|
KING_BOBOMB_SUB_ACT_HIT_GROUND_START_WALKING,
|
|
};
|
|
enum animIDsKingBobomb {
|
|
KING_BOBOMB_ANIM_GRAB_MARIO,
|
|
KING_BOBOMB_ANIM_HOLDING_MARIO,
|
|
KING_BOBOMB_ANIM_HIT_GROUND,
|
|
KING_BOBOMB_ANIM_UNUSED_3,
|
|
KING_BOBOMB_ANIM_STOMP,
|
|
KING_BOBOMB_ANIM_IDLE,
|
|
KING_BOBOMB_ANIM_HELD,
|
|
KING_BOBOMB_ANIM_T_POSE,
|
|
KING_BOBOMB_ANIM_JUMP,
|
|
KING_BOBOMB_ANIM_THROW_MARIO,
|
|
KING_BOBOMB_ANIM_STAND_UP,
|
|
KING_BOBOMB_ANIM_WALKING,
|
|
};
|
|
|
|
/* Chuckya */
|
|
enum oActionsChuckya {
|
|
CHUCKYA_ACT_MOVING,
|
|
CHUCKYA_ACT_GRABBED_MARIO,
|
|
CHUCKYA_ACT_THROWN,
|
|
CHUCKYA_ACT_RELEASE_MARIO,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsChuckyaActMoving { // CHUCKYA_ACT_MOVING
|
|
CHUCKYA_SUB_ACT_TURN_TOWARD_MARIO,
|
|
CHUCKYA_SUB_ACT_ACCELERATE,
|
|
CHUCKYA_SUB_ACT_STOP,
|
|
CHUCKYA_SUB_ACT_TURN_TOWARD_HOME,
|
|
};
|
|
enum oSubActionsChuckyaActGrabbedMario { // CHUCKYA_ACT_GRABBED_MARIO
|
|
CHUCKYA_SUB_ACT_GRAB_MARIO,
|
|
CHUCKYA_SUB_ACT_HOLD_MARIO,
|
|
CHUCKYA_SUB_ACT_THROW_MARIO,
|
|
};
|
|
enum oCommonAnchorActions {
|
|
COMMON_ANCHOR_ACT_INACTIVE,
|
|
COMMON_ANCHOR_ACT_SET_MARIO_GFX_TO_POS,
|
|
COMMON_ANCHOR_ACT_THROW_MARIO,
|
|
COMMON_ANCHOR_ACT_DROP_MARIO,
|
|
};
|
|
enum animIDsChuckya {
|
|
CHUCKYA_ANIM_GRAB_MARIO,
|
|
CHUCKYA_ANIM_THROW_1,
|
|
CHUCKYA_ANIM_HELD,
|
|
CHUCKYA_ANIM_THROW_2,
|
|
CHUCKYA_ANIM_IDLE,
|
|
CHUCKYA_ANIM_SPAWN,
|
|
};
|
|
|
|
/* Heave Ho */
|
|
enum oActionsHeaveHo {
|
|
HEAVE_HO_ACT_INACTIVE,
|
|
HEAVE_HO_ACT_WINDING_UP,
|
|
HEAVE_HO_ACT_MOVING,
|
|
HEAVE_HO_ACT_THROW_MARIO,
|
|
};
|
|
enum animIDsHeaveHo {
|
|
HEAVE_HO_ANIM_MOVING,
|
|
HEAVE_HO_ANIM_THROW,
|
|
HEAVE_HO_ANIM_WINDING_UP,
|
|
};
|
|
|
|
/* Klepto */
|
|
enum oBehParams2ndByteKlepto {
|
|
KLEPTO_BP_NO_STAR,
|
|
KLEPTO_BP_HAS_STAR,
|
|
};
|
|
enum oActionsKlepto {
|
|
KLEPTO_ACT_CIRCLE_TARGET_HOLDING,
|
|
KLEPTO_ACT_APPROACH_TARGET_HOLDING,
|
|
KLEPTO_ACT_WAIT_FOR_MARIO,
|
|
KLEPTO_ACT_TURN_TOWARD_MARIO,
|
|
KLEPTO_ACT_DIVE_AT_MARIO,
|
|
KLEPTO_ACT_RESET_POSITION,
|
|
KLEPTO_ACT_STRUCK_BY_MARIO,
|
|
KLEPTO_ACT_RETREAT,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsKleptoActDiveAtMario { // KLEPTO_ACT_DIVE_AT_MARIO
|
|
KLEPTO_SUB_ACT_DIVE_TURN_PITCH,
|
|
KLEPTO_SUB_ACT_DIVE_STOP,
|
|
};
|
|
enum oAnimStatesKlepto {
|
|
KLEPTO_ANIM_STATE_HOLDING_NOTHING,
|
|
KLEPTO_ANIM_STATE_HOLDING_CAP,
|
|
KLEPTO_ANIM_STATE_HOLDING_STAR,
|
|
KLEPTO_ANIM_STATE_HOLDING_TRANSPARENT_STAR,
|
|
};
|
|
enum animIDsKlepto {
|
|
KLEPTO_ANIM_DIVE_0,
|
|
KLEPTO_ANIM_STRUCK_BY_MARIO,
|
|
KLEPTO_ANIM_DIVE_AT_MARIO_2,
|
|
KLEPTO_ANIM_DIVE_AT_MARIO_3,
|
|
KLEPTO_ANIM_DIVE_AT_MARIO_4,
|
|
KLEPTO_ANIM_DIVE_FLAP_5,
|
|
KLEPTO_ANIM_DIVE_FLAP_6,
|
|
};
|
|
|
|
/* Bird */
|
|
enum oBehParams2ndByteBird {
|
|
BIRD_BP_SPAWNED,
|
|
BIRD_BP_SPAWNER,
|
|
};
|
|
enum oActionsBird {
|
|
BIRD_ACT_INACTIVE,
|
|
BIRD_ACT_FLY,
|
|
};
|
|
enum animIDs {
|
|
BIRD_ANIM_FLY,
|
|
};
|
|
|
|
/* End Birds */
|
|
enum oActionsEndBirds {
|
|
END_BIRDS_ACT_INIT,
|
|
END_BIRDS_ACT_ACTIVE,
|
|
};
|
|
|
|
/* Birds Sound */
|
|
enum oActionsBirdsSound {
|
|
SOUND_BIRDS_BP_OBJ2_BIRD_CHIRP1,
|
|
SOUND_BIRDS_BP_GENERAL2_BIRD_CHIRP2,
|
|
SOUND_BIRDS_BP_OBJ_BIRD_CHIRP3,
|
|
};
|
|
|
|
/* Scuttlebug Spawner */
|
|
enum oActionsScuttlebugSpawner {
|
|
SCUTTLEBUG_SPAWNER_ACT_ACTIVE,
|
|
SCUTTLEBUG_SPAWNER_ACT_INACTIVE,
|
|
};
|
|
|
|
/* Scuttlebug */
|
|
enum oSubActionsScuttlebug {
|
|
SCUTTLEBUG_SUB_ACT_RESET,
|
|
SCUTTLEBUG_SUB_ACT_MOVING,
|
|
SCUTTLEBUG_SUB_ACT_HIT_WALL,
|
|
SCUTTLEBUG_SUB_ACT_ALERT,
|
|
SCUTTLEBUG_SUB_ACT_JUMP,
|
|
SCUTTLEBUG_SUB_ACT_LAND,
|
|
};
|
|
enum animIDsScuttlebug {
|
|
SCUTTLEBUG_ANIM_JUMP,
|
|
SCUTTLEBUG_ANIM_WALK,
|
|
};
|
|
|
|
/* Skeeter */
|
|
enum oActionsSkeeter {
|
|
SKEETER_ACT_IDLE,
|
|
SKEETER_ACT_LUNGE,
|
|
SKEETER_ACT_WALK,
|
|
};
|
|
enum animIDsSkeeter {
|
|
SKEETER_ANIM_WATER_LUNGE,
|
|
SKEETER_ANIM_WATER_IDLE,
|
|
SKEETER_ANIM_WALK,
|
|
SKEETER_ANIM_IDLE,
|
|
};
|
|
|
|
/* Snufit */
|
|
enum oActionsSnufit {
|
|
SNUFIT_ACT_IDLE,
|
|
SNUFIT_ACT_SHOOT,
|
|
};
|
|
|
|
/* Snufit Balls (gottem) */
|
|
enum oActionsSnufitBalls {
|
|
SNUFIT_BALL_ACT_MOVE,
|
|
SNUFIT_BALL_ACT_HIT_MARIO,
|
|
};
|
|
|
|
/* Tweester */
|
|
enum oActionsTweester {
|
|
TWEESTER_ACT_IDLE,
|
|
TWEESTER_ACT_CHASE,
|
|
TWEESTER_ACT_HIDE,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionTweesterActIdle { // TWEESTER_ACT_IDLE
|
|
TWEESTER_SUB_ACT_WAIT,
|
|
TWEESTER_SUB_ACT_GROW,
|
|
};
|
|
enum oSubActionTweesterActChase { // TWEESTER_ACT_CHASE
|
|
TWEESTER_SUB_ACT_CHASE_MARIO,
|
|
TWEESTER_SUB_ACT_CHASE_HOME,
|
|
};
|
|
|
|
/* Triplet Butterfly */
|
|
enum oBehParams2ndByteTripletButterfly {
|
|
TRIPLET_BUTTERFLY_BP_0,
|
|
TRIPLET_BUTTERFLY_BP_BUTTERFLY_NUM = 3,
|
|
TRIPLET_BUTTERFLY_BP_NO_BOMBS,
|
|
};
|
|
enum oActionsTripletButterfly {
|
|
TRIPLET_BUTTERFLY_ACT_INIT,
|
|
TRIPLET_BUTTERFLY_ACT_WANDER,
|
|
TRIPLET_BUTTERFLY_ACT_ACTIVATE,
|
|
TRIPLET_BUTTERFLY_ACT_EXPLODE,
|
|
};
|
|
enum oTripletButterflyTypes {
|
|
TRIPLET_BUTTERFLY_TYPE_NORMAL = -1,
|
|
TRIPLET_BUTTERFLY_TYPE_EXPLODES,
|
|
TRIPLET_BUTTERFLY_TYPE_SPAWN_1UP,
|
|
};
|
|
|
|
/* Changing Water Level */
|
|
enum oActionsChangingWaterLevel {
|
|
WATER_LEVEL_ACT_INIT,
|
|
WATER_LEVEL_ACT_IDLE,
|
|
};
|
|
|
|
/* Water Level Diamond */
|
|
enum oActionsWaterLevelDiamond {
|
|
WATER_LEVEL_DIAMOND_ACT_INIT, // Loading
|
|
WATER_LEVEL_DIAMOND_ACT_IDLE, // Idling when Mario isn't inside its hitbox
|
|
WATER_LEVEL_DIAMOND_ACT_CHANGE_WATER_LEVEL, // While the water level is changing
|
|
WATER_LEVEL_DIAMOND_ACT_IDLE_SPINNING, // After the water level has changed but Mario hasn't left its hitbox yet
|
|
};
|
|
|
|
/* Castle Water Level Pillars */
|
|
enum oActionsCastleWaterLevelPillars {
|
|
WATER_PILLAR_ACT_UNPOUNDED_IDLE,
|
|
WATER_PILLAR_ACT_LOWER_SELF,
|
|
WATER_PILLAR_ACT_POUNDED_1,
|
|
WATER_PILLAR_ACT_POUNDED_2,
|
|
WATER_PILLAR_ACT_DRAIN_WATER,
|
|
WATER_PILLAR_ACT_END,
|
|
};
|
|
|
|
/* Mips */
|
|
enum oBehParams2ndByteMips {
|
|
MIPS_BP_STAR_1,
|
|
MIPS_BP_STAR_2,
|
|
};
|
|
enum oActionsMips {
|
|
MIPS_ACT_WAIT_FOR_NEARBY_MARIO,
|
|
MIPS_ACT_FOLLOW_PATH,
|
|
MIPS_ACT_WAIT_FOR_ANIMATION_DONE,
|
|
MIPS_ACT_FALL_DOWN,
|
|
MIPS_ACT_IDLE,
|
|
};
|
|
enum oMipsStarStatuses {
|
|
MIPS_STAR_STATUS_HAVENT_SPAWNED_STAR,
|
|
MIPS_STAR_STATUS_SHOULD_SPAWN_STAR,
|
|
MIPS_STAR_STATUS_ALREADY_SPAWNED_STAR,
|
|
};
|
|
enum animIDsMips {
|
|
MIPS_ANIM_IDLE,
|
|
MIPS_ANIM_HOPPING,
|
|
MIPS_ANIM_THROWN,
|
|
MIPS_ANIM_UNUSED,
|
|
MIPS_ANIM_HELD,
|
|
};
|
|
|
|
/* Falling Pillar */
|
|
enum oActionsFallingPillar {
|
|
FALLING_PILLAR_ACT_IDLE,
|
|
FALLING_PILLAR_ACT_TURNING,
|
|
FALLING_PILLAR_ACT_FALLING,
|
|
};
|
|
|
|
/* Bowser Puzzle */
|
|
enum oActionsBowserPuzzle {
|
|
BOWSER_PUZZLE_ACT_SPAWN_PIECES,
|
|
BOWSER_PUZZLE_ACT_WAIT_FOR_COMPLETE,
|
|
BOWSER_PUZZLE_ACT_DONE,
|
|
};
|
|
enum BowserPuzzleCompletionFlags { // oBowserPuzzleCompletionFlags
|
|
BOWSER_PUZZLE_COMPLETION_FLAGS_NONE = 0x0,
|
|
BOWSER_PUZZLE_COMPLETION_FLAG_MARIO_ON_PLATFORM = BIT(0), // 0x1
|
|
BOWSER_PUZZLE_COMPLETION_FLAG_PUZZLE_COMPLETE = BIT(1), // 0x2
|
|
};
|
|
|
|
/* Bowser Puzzle Piece */
|
|
enum oActionsBowserPuzzlePiece {
|
|
BOWSER_PUZZLE_PIECE_ACT_IDLE,
|
|
BOWSER_PUZZLE_PIECE_ACT_LEFT,
|
|
BOWSER_PUZZLE_PIECE_ACT_RIGHT,
|
|
BOWSER_PUZZLE_PIECE_ACT_UP,
|
|
BOWSER_PUZZLE_PIECE_ACT_DOWN,
|
|
};
|
|
|
|
/* Spindrift */
|
|
enum oActionsSpindrift {
|
|
SPINDRIFT_ACT_ACTIVE,
|
|
SPINDRIFT_ACT_HIT_MARIO,
|
|
};
|
|
enum animIDsSpindrift {
|
|
SPINDRIFT_ANIM_DEFAULT,
|
|
};
|
|
|
|
/* Mr Blizzard */
|
|
enum oBehParams2ndByteMrBlizzard {
|
|
MR_BLIZZARD_STYPE_NO_CAP,
|
|
MR_BLIZZARD_STYPE_JUMPING,
|
|
};
|
|
enum oActionsMrBlizzard {
|
|
MR_BLIZZARD_ACT_SPAWN_SNOWBALL,
|
|
MR_BLIZZARD_ACT_HIDE_UNHIDE,
|
|
MR_BLIZZARD_ACT_RISE_FROM_GROUND,
|
|
MR_BLIZZARD_ACT_ROTATE,
|
|
MR_BLIZZARD_ACT_THROW_SNOWBALL,
|
|
MR_BLIZZARD_ACT_BURROW,
|
|
MR_BLIZZARD_ACT_DEATH,
|
|
MR_BLIZZARD_ACT_JUMP,
|
|
};
|
|
enum oAnimStatesMrBlizzard {
|
|
MR_BLIZZARD_ANIM_STATE_NO_CAP,
|
|
MR_BLIZZARD_ANIM_STATE_HAS_CAP,
|
|
};
|
|
enum animIDsMrBlizzard {
|
|
MR_BLIZZARD_ANIM_SPAWN_SNOWBALL,
|
|
MR_BLIZZARD_ANIM_THROW_SNOWBALL,
|
|
};
|
|
|
|
/* Mr Blizzard Snowball */
|
|
enum oActionsMrBlizzardSnowball {
|
|
MR_BLIZZARD_SNOWBALL_ACT_INIT,
|
|
MR_BLIZZARD_SNOWBALL_ACT_LAUNCH,
|
|
MR_BLIZZARD_SNOWBALL_ACT_COLLISION,
|
|
};
|
|
|
|
/* Mr I */
|
|
enum oBehParams2ndByteMrI {
|
|
MR_I_BP_NORMAL,
|
|
MR_I_BP_LARGE_WITH_STAR,
|
|
};
|
|
enum oActionsMrI {
|
|
MR_I_BODY_ACT_FAR_AWAY,
|
|
MR_I_BODY_ACT_IDLE,
|
|
MR_I_BODY_ACT_LOOKING_AT_MARIO,
|
|
MR_I_BODY_ACT_SPIN_DEATH,
|
|
};
|
|
|
|
/* Mr I & Piranha Plant Particle */
|
|
enum oActionsMrIPiranhaPlantParticle {
|
|
MR_I_PIRANHA_PARTICLE_ACT_MOVE,
|
|
MR_I_PIRANHA_PARTICLE_ACT_INTERACTED,
|
|
};
|
|
|
|
/* Bullet Bill */
|
|
enum oActionsBulletBill {
|
|
BULLET_BILL_ACT_RESET,
|
|
BULLET_BILL_ACT_IDLE,
|
|
BULLET_BILL_ACT_CHASING_MARIO,
|
|
BULLET_BILL_ACT_HIT,
|
|
};
|
|
|
|
/* Thwomp & Grindel */
|
|
enum oActionsThwompGrindel {
|
|
GRINDEL_THWOMP_ACT_RISING,
|
|
GRINDEL_THWOMP_ACT_FLOATING,
|
|
GRINDEL_THWOMP_ACT_FALLING,
|
|
GRINDEL_THWOMP_ACT_LAND,
|
|
GRINDEL_THWOMP_ACT_ON_GROUND,
|
|
};
|
|
|
|
/* Whomp */
|
|
enum oBehParams2ndByteWhomp {
|
|
WHOMP_BP_NORMAL,
|
|
WHOMP_BP_KING,
|
|
};
|
|
enum oActionsWhomp {
|
|
WHOMP_ACT_INIT,
|
|
WHOMP_ACT_PATROL,
|
|
WHOMP_ACT_KING_CHASE,
|
|
WHOMP_ACT_PREPARE_JUMP,
|
|
WHOMP_ACT_JUMP,
|
|
WHOMP_ACT_LAND,
|
|
WHOMP_ACT_ON_GROUND_GENERAL,
|
|
WHOMP_ACT_TURN,
|
|
WHOMP_ACT_DIE,
|
|
WHOMP_ACT_STOP_BOSS_MUSIC,
|
|
};
|
|
/* oSubAction */
|
|
enum oSubActionsWhompActInit { // WHOMP_ACT_INIT
|
|
WHOMP_SUB_ACT_INIT_IDLE,
|
|
WHOMP_SUB_ACT_INIT_DIALOG,
|
|
};
|
|
enum oSubActionsWhompActLand { // WHOMP_ACT_LAND
|
|
WHOMP_SUB_ACT_LAND_EFFECTS,
|
|
WHOMP_SUB_ACT_LAND_ON_GROUND,
|
|
};
|
|
enum oSubActionsWhompActOnGroundGeneral { // WHOMP_ACT_ON_GROUND_GENERAL
|
|
WHOMP_SUB_ACT_GROUND_LYING_DOWN,
|
|
WHOMP_SUB_ACT_GROUND_PREPARE_STAND_UP,
|
|
WHOMP_SUB_ACT_GROUND_STAND_UP = 0xA,
|
|
};
|
|
enum oSubActionsWhompActTurn { // WHOMP_ACT_TURN
|
|
WHOMP_SUB_ACT_TURN_TURNING,
|
|
WHOMP_SUB_ACT_TURN_END,
|
|
};
|
|
enum animIDsWhomp {
|
|
WHOMP_ANIM_WALK,
|
|
WHOMP_ANIM_JUMP,
|
|
};
|
|
|
|
/* WF Kickable Board */
|
|
enum oActionsKickableBoard {
|
|
KICKABLE_BOARD_ACT_IDLE_VERTICAL,
|
|
KICKABLE_BOARD_ACT_ROCKING,
|
|
KICKABLE_BOARD_ACT_FALLING,
|
|
KICKABLE_BOARD_ACT_IDLE_HORIZONTAL,
|
|
};
|
|
enum WFAttackTypes { // check_mario_attacking
|
|
WF_ATTACK_NONE,
|
|
WF_ATTACK_GROUND,
|
|
WF_ATTACK_AIR,
|
|
};
|
|
|
|
/* White Puff Explosion */
|
|
enum oBehParams2ndByteWhitePuffExplosion {
|
|
WHITE_PUFF_EXPLODE_BP_FAST_FADE = 2,
|
|
WHITE_PUFF_EXPLODE_BP_SLOW_FADE = 3,
|
|
};
|
|
|
|
/* Dirt Particle */
|
|
enum oAnimStatesTinyDirtParticle {
|
|
TINY_DIRT_PARTICLE_ANIM_STATE_RED,
|
|
TINY_DIRT_PARTICLE_ANIM_STATE_GREEN,
|
|
TINY_DIRT_PARTICLE_ANIM_STATE_BLUE,
|
|
TINY_DIRT_PARTICLE_ANIM_STATE_DIRT,
|
|
TINY_DIRT_PARTICLE_ANIM_STATE_YELLOW,
|
|
TINY_DIRT_PARTICLE_ANIM_STATE_BILLBOARD
|
|
};
|
|
|
|
/* Cartoon Star Particle */
|
|
enum oAnimStatesCartoonStarParticle {
|
|
CARTOON_STAR_PARTICLE_ANIM_STATE_RED,
|
|
CARTOON_STAR_PARTICLE_ANIM_STATE_GREEN,
|
|
CARTOON_STAR_PARTICLE_ANIM_STATE_BLUE,
|
|
CARTOON_STAR_PARTICLE_ANIM_STATE_YELLOW,
|
|
CARTOON_STAR_PARTICLE_ANIM_STATE_BILLBOARD
|
|
};
|
|
|
|
/* Music Touch */
|
|
enum oActionsMusicTouch {
|
|
MUSIC_TOUCH_ACT_PLAY_SOUND,
|
|
MUSIC_TOUCH_ACT_DONE
|
|
};
|
|
|
|
/* Intro Scene */
|
|
enum gCutsceneObjSpawns {
|
|
CUTSCENE_OBJ_NONE,
|
|
CUTSCENE_OBJ_UNUSED_1,
|
|
CUTSCENE_OBJ_UNUSED_2,
|
|
CUTSCENE_OBJ_UNUSED_3,
|
|
CUTSCENE_OBJ_UNUSED_4,
|
|
CUTSCENE_OBJ_BEGINNING_PEACH,
|
|
CUTSCENE_OBJ_BEGINNING_LAKITU,
|
|
CUTSCENE_OBJ_7_END_BIRDS_1,
|
|
CUTSCENE_OBJ_5_END_BIRDS_2,
|
|
CUTSCENE_OBJ_2_END_BIRDS_1
|
|
};
|
|
|
|
#endif // OBJECT_CONSTANTS_H
|