2021-09-26 11:34:20 -07:00
|
|
|
#ifndef OBJECT_CONSTANTS_H
|
|
|
|
|
#define OBJECT_CONSTANTS_H
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
// This file contains macros that provide descriptive names for
|
|
|
|
|
// field-specific and object-specific constants, e.g. actions.
|
|
|
|
|
|
|
|
|
|
/* activeFlags */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjActiveFlags {
|
|
|
|
|
ACTIVE_FLAG_DEACTIVATED = (0 << 0), // 0x0000
|
|
|
|
|
ACTIVE_FLAG_ACTIVE = (1 << 0), // 0x0001
|
|
|
|
|
ACTIVE_FLAG_FAR_AWAY = (1 << 1), // 0x0002
|
|
|
|
|
ACTIVE_FLAG_UNUSED = (1 << 2), // 0x0004
|
|
|
|
|
ACTIVE_FLAG_IN_DIFFERENT_ROOM = (1 << 3), // 0x0008
|
|
|
|
|
ACTIVE_FLAG_UNIMPORTANT = (1 << 4), // 0x0010
|
|
|
|
|
ACTIVE_FLAG_INITIATED_TIME_STOP = (1 << 5), // 0x0020
|
|
|
|
|
ACTIVE_FLAG_MOVE_THROUGH_GRATE = (1 << 6), // 0x0040
|
|
|
|
|
ACTIVE_FLAG_DITHERED_ALPHA = (1 << 7), // 0x0080
|
|
|
|
|
ACTIVE_FLAG_ALLOCATED = (1 << 8), // 0x0100
|
|
|
|
|
ACTIVE_FLAG_DESTRUCTIVE_OBJ_DONT_DESTROY = (1 << 9), // 0x0200
|
|
|
|
|
ACTIVE_FLAG_IGNORE_ENV_BOXES = (1 << 10), // 0x0400
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* respawnInfoType */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum RespawnInfoType {
|
|
|
|
|
RESPAWN_INFO_TYPE_NULL,
|
|
|
|
|
RESPAWN_INFO_TYPE_NORMAL,
|
|
|
|
|
RESPAWN_INFO_TYPE_MACRO_OBJECT
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* respawnInfo */
|
2021-09-22 17:09:31 -07:00
|
|
|
#define RESPAWN_INFO_DONT_RESPAWN 0xFF
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* oFlags */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjFlags {
|
|
|
|
|
OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE = (1 << 0), // 0x00000001
|
|
|
|
|
OBJ_FLAG_MOVE_XZ_USING_FVEL = (1 << 1), // 0x00000002
|
|
|
|
|
OBJ_FLAG_MOVE_Y_WITH_TERMINAL_VEL = (1 << 2), // 0x00000004
|
|
|
|
|
OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW = (1 << 3), // 0x00000008
|
|
|
|
|
OBJ_FLAG_SET_FACE_ANGLE_TO_MOVE_ANGLE = (1 << 4), // 0x00000010
|
|
|
|
|
OBJ_FLAG_UPDATE_TRANSFORM_FOR_THROW_MATRIX = (1 << 5), // 0x00000020
|
|
|
|
|
OBJ_FLAG_COMPUTE_DIST_TO_MARIO = (1 << 6), // 0x00000040
|
|
|
|
|
OBJ_FLAG_ACTIVE_FROM_AFAR = (1 << 7), // 0x00000080
|
|
|
|
|
OBJ_FLAG_PLAYER = (1 << 8), // 0x00000100
|
|
|
|
|
OBJ_FLAG_TRANSFORM_RELATIVE_TO_PARENT = (1 << 9), // 0x00000200
|
|
|
|
|
OBJ_FLAG_HOLDABLE = (1 << 10), // 0x00000400
|
|
|
|
|
OBJ_FLAG_SET_THROW_MATRIX_FROM_TRANSFORM = (1 << 11), // 0x00000800
|
|
|
|
|
OBJ_FLAG_1000 = (1 << 12), // 0x00001000
|
|
|
|
|
OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO = (1 << 13), // 0x00002000
|
|
|
|
|
OBJ_FLAG_PERSISTENT_RESPAWN = (1 << 14), // 0x00004000
|
|
|
|
|
OBJ_FLAG_VELOCITY_PLATFORM = (1 << 15), // 0x00008000
|
|
|
|
|
OBJ_FLAG_DONT_CALC_COLL_DIST = (1 << 16), // 0x00010000
|
|
|
|
|
OBJ_FLAG_SILHOUETTE = (1 << 19), // 0x00080000
|
|
|
|
|
OBJ_FLAG_OCCLUDE_SILHOUETTE = (1 << 20), // 0x00100000
|
|
|
|
|
OBJ_FLAG_OPACITY_FROM_CAMERA_DIST = (1 << 21), // 0x00200000
|
|
|
|
|
OBJ_FLAG_EMIT_LIGHT = (1 << 22), // 0x00400000
|
2023-03-15 09:49:07 -05:00
|
|
|
OBJ_FLAG_ONLY_PROCESS_INSIDE_ROOM = (1 << 23), // 0x00800000
|
2021-12-30 10:57:51 -06:00
|
|
|
OBJ_FLAG_HITBOX_WAS_SET = (1 << 30), // 0x40000000
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* oHeldState */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum HeldState {
|
|
|
|
|
HELD_FREE,
|
|
|
|
|
HELD_HELD,
|
|
|
|
|
HELD_THROWN,
|
|
|
|
|
HELD_DROPPED
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* oDialogState */
|
2021-12-30 10:57:51 -06:00
|
|
|
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 = (0 << 0), // 0x00
|
|
|
|
|
DIALOG_FLAG_TURN_TO_MARIO = (1 << 0), // 0x01 // cutscene only
|
|
|
|
|
DIALOG_FLAG_TEXT_DEFAULT = (1 << 1), // 0x02
|
|
|
|
|
DIALOG_FLAG_TEXT_RESPONSE = (1 << 2), // 0x04 // non-cutscene only
|
|
|
|
|
DIALOG_FLAG_UNK_CAPSWITCH = (1 << 3), // 0x08 // not defined
|
|
|
|
|
DIALOG_FLAG_TIME_STOP_ENABLED = (1 << 4), // 0x10
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* oMoveFlags */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjMoveFlags {
|
|
|
|
|
OBJ_MOVE_NONE = (0 << 0), // 0x0000
|
|
|
|
|
OBJ_MOVE_LANDED = (1 << 0), // 0x0001
|
|
|
|
|
OBJ_MOVE_ON_GROUND = (1 << 1), // 0x0002 // mutually exclusive to OBJ_MOVE_LANDED
|
|
|
|
|
OBJ_MOVE_LEFT_GROUND = (1 << 2), // 0x0004
|
|
|
|
|
OBJ_MOVE_ENTERED_WATER = (1 << 3), // 0x0008
|
|
|
|
|
OBJ_MOVE_AT_WATER_SURFACE = (1 << 4), // 0x0010
|
|
|
|
|
OBJ_MOVE_UNDERWATER_OFF_GROUND = (1 << 5), // 0x0020
|
|
|
|
|
OBJ_MOVE_UNDERWATER_ON_GROUND = (1 << 6), // 0x0040
|
|
|
|
|
OBJ_MOVE_IN_AIR = (1 << 7), // 0x0080
|
|
|
|
|
OBJ_MOVE_OUT_SCOPE = (1 << 8), // 0x0100
|
|
|
|
|
OBJ_MOVE_HIT_WALL = (1 << 9), // 0x0200
|
|
|
|
|
OBJ_MOVE_HIT_EDGE = (1 << 10), // 0x0400
|
|
|
|
|
OBJ_MOVE_ABOVE_LAVA = (1 << 11), // 0x0800
|
|
|
|
|
OBJ_MOVE_LEAVING_WATER = (1 << 12), // 0x1000
|
|
|
|
|
OBJ_MOVE_BOUNCE = (1 << 13), // 0x2000
|
|
|
|
|
OBJ_MOVE_ABOVE_DEATH_BARRIER = (1 << 14), // 0x4000
|
|
|
|
|
OBJ_MOVE_UNUSED = (1 << 15), // 0x8000
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
#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 */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ActiveParticleFlags {
|
|
|
|
|
ACTIVE_PARTICLE_NONE = (0 << 0), // 0x00000000
|
|
|
|
|
ACTIVE_PARTICLE_DUST = (1 << 0), // 0x00000001
|
|
|
|
|
ACTIVE_PARTICLE_UNUSED_1 = (1 << 1), // 0x00000002
|
|
|
|
|
ACTIVE_PARTICLE_UNUSED_2 = (1 << 2), // 0x00000004
|
|
|
|
|
ACTIVE_PARTICLE_SPARKLES = (1 << 3), // 0x00000008
|
|
|
|
|
ACTIVE_PARTICLE_H_STAR = (1 << 4), // 0x00000010
|
|
|
|
|
ACTIVE_PARTICLE_BUBBLE = (1 << 5), // 0x00000020
|
|
|
|
|
ACTIVE_PARTICLE_WATER_SPLASH = (1 << 6), // 0x00000040
|
|
|
|
|
ACTIVE_PARTICLE_IDLE_WATER_WAVE = (1 << 7), // 0x00000080
|
|
|
|
|
ACTIVE_PARTICLE_SHALLOW_WATER_WAVE = (1 << 8), // 0x00000100
|
|
|
|
|
ACTIVE_PARTICLE_PLUNGE_BUBBLE = (1 << 9), // 0x00000200
|
|
|
|
|
ACTIVE_PARTICLE_WAVE_TRAIL = (1 << 10), // 0x00000400
|
|
|
|
|
ACTIVE_PARTICLE_FIRE = (1 << 11), // 0x00000800
|
|
|
|
|
ACTIVE_PARTICLE_SHALLOW_WATER_SPLASH = (1 << 12), // 0x00001000
|
|
|
|
|
ACTIVE_PARTICLE_LEAF = (1 << 13), // 0x00002000
|
|
|
|
|
ACTIVE_PARTICLE_DIRT = (1 << 14), // 0x00004000
|
|
|
|
|
ACTIVE_PARTICLE_MIST_CIRCLE = (1 << 15), // 0x00008000
|
|
|
|
|
ACTIVE_PARTICLE_SNOW = (1 << 16), // 0x00010000
|
|
|
|
|
ACTIVE_PARTICLE_BREATH = (1 << 17), // 0x00020000
|
|
|
|
|
ACTIVE_PARTICLE_V_STAR = (1 << 18), // 0x00040000
|
|
|
|
|
ACTIVE_PARTICLE_TRIANGLE = (1 << 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)
|
|
|
|
|
|
|
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-25 11:45:19 -07:00
|
|
|
/* oBehParams2ndByte */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjGeneralBehParams {
|
|
|
|
|
OBJ_BP_NONE
|
|
|
|
|
};
|
2021-09-25 11:45:19 -07:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjGeneralProjectileActions {
|
|
|
|
|
OBJ_ACT_PROJECTILE_HIT_MARIO = -1
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-25 11:45:19 -07:00
|
|
|
/* oAction */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjGeneralDeathActions {
|
|
|
|
|
OBJ_ACT_LAVA_DEATH = 100,
|
|
|
|
|
OBJ_ACT_DEATH_PLANE_DEATH
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjGeneralKnockbackActions {
|
|
|
|
|
OBJ_ACT_HORIZONTAL_KNOCKBACK = 100,
|
|
|
|
|
OBJ_ACT_VERTICAL_KNOCKBACK,
|
|
|
|
|
OBJ_ACT_SQUISHED
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-25 11:45:19 -07:00
|
|
|
/* oAnimState */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-25 11:45:19 -07:00
|
|
|
|
|
|
|
|
/* Animations */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum ObjGeneralAnimations {
|
|
|
|
|
OBJ_ANIM_NONE = -1
|
|
|
|
|
};
|
2021-09-25 11:45:19 -07:00
|
|
|
|
|
|
|
|
/* gTTCSpeedSetting */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum TTCSpeedSetting {
|
|
|
|
|
TTC_SPEED_SLOW,
|
|
|
|
|
TTC_SPEED_FAST,
|
|
|
|
|
TTC_SPEED_RANDOM,
|
|
|
|
|
TTC_SPEED_STOPPED
|
|
|
|
|
};
|
2021-09-25 11:45:19 -07:00
|
|
|
|
|
|
|
|
/* Orange Number */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-25 11:45:19 -07:00
|
|
|
|
|
|
|
|
/* Coin Type */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum CoinTypes { // coinType
|
|
|
|
|
COIN_TYPE_NONE,
|
|
|
|
|
COIN_TYPE_YELLOW,
|
|
|
|
|
COIN_TYPE_BLUE
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/* Bouncing Coin */
|
|
|
|
|
enum oActionsBouncingCoin {
|
|
|
|
|
BOUNCING_COIN_ACT_FALLING,
|
|
|
|
|
BOUNCING_COIN_ACT_BOUNCING
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Hidden Blue Coin */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oActionsHiddenBlueCoin {
|
|
|
|
|
HIDDEN_BLUE_COIN_ACT_INACTIVE,
|
|
|
|
|
HIDDEN_BLUE_COIN_ACT_WAITING,
|
|
|
|
|
HIDDEN_BLUE_COIN_ACT_ACTIVE
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Blue Coin Switch */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oActionsBlueCoinSwitch {
|
|
|
|
|
BLUE_COIN_SWITCH_ACT_IDLE,
|
|
|
|
|
BLUE_COIN_SWITCH_ACT_RECEDING,
|
|
|
|
|
BLUE_COIN_SWITCH_ACT_TICKING,
|
|
|
|
|
BLUE_COIN_SWITCH_ACT_EXTENDING
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Moving Blue Coin */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oActionsMovingBlueCoin {
|
|
|
|
|
MOV_BCOIN_ACT_STILL,
|
|
|
|
|
MOV_BCOIN_ACT_MOVING,
|
|
|
|
|
MOV_BCOIN_ACT_SLOWING_DOWN,
|
|
|
|
|
MOV_BCOIN_ACT_STOPPED,
|
|
|
|
|
MOV_BCOIN_ACT_FLICKERING
|
|
|
|
|
};
|
2021-09-25 11:45:19 -07:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Yellow Coin */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oBehParams2ndByteYellowCoin {
|
|
|
|
|
YELLOW_COIN_BP_NO_COINS,
|
|
|
|
|
YELLOW_COIN_BP_ONE_COIN
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Moving Yellow Coin */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oActionsMovingYellowCoin {
|
|
|
|
|
MOV_YCOIN_ACT_IDLE,
|
|
|
|
|
MOV_YCOIN_ACT_BLINKING
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Coin Formation */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum CoinFormationFlags {
|
|
|
|
|
COIN_FORMATION_FLAG_NONE = (0 << 0),
|
|
|
|
|
COIN_FORMATION_FLAG_VERTICAL = (1 << 0),
|
|
|
|
|
COIN_FORMATION_FLAG_RING = (1 << 1),
|
|
|
|
|
COIN_FORMATION_FLAG_ARROW = (1 << 2),
|
|
|
|
|
COIN_FORMATION_FLAG_FLYING = (1 << 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
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Coin Inside Boo */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* 1-Up Mushroom */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Bob-omb */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Bob-omb Buddy */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-07-12 23:17:54 -04:00
|
|
|
/* Bowser */
|
2021-12-30 10:57:51 -06:00
|
|
|
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 = 0x02,
|
|
|
|
|
};
|
|
|
|
|
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 = (1 << 1), // 0x00000002
|
|
|
|
|
BOWSER_STATUS_ANGLE_CENTER = (1 << 2), // 0x00000004
|
|
|
|
|
BOWSER_STATUS_DIST_MARIO = (1 << 3), // 0x00000008
|
|
|
|
|
BOWSER_STATUS_DIST_CENTER = (1 << 4), // 0x00000010
|
|
|
|
|
BOWSER_STATUS_BIG_JUMP = (1 << 16), // 0x00010000
|
|
|
|
|
BOWSER_STATUS_FIRE_SKY = (1 << 17), // 0x00020000
|
|
|
|
|
};
|
|
|
|
|
enum oBowserGrabbedStatuses {
|
|
|
|
|
BOWSER_GRAB_STATUS_NONE,
|
|
|
|
|
BOWSER_GRAB_STATUS_GRABBED,
|
|
|
|
|
BOWSER_GRAB_STATUS_HOLDING
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oSubAction */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oSubActionBowserActThrown { // BOWSER_ACT_THROWN
|
|
|
|
|
BOWSER_SUB_ACT_THROWN_BOUNCE,
|
|
|
|
|
BOWSER_SUB_ACT_THROWN_STOP
|
|
|
|
|
};
|
|
|
|
|
enum oSubActionBowserActDead { // 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 oSubActionBowserActIntroWalk { // BOWSER_ACT_INTRO_WALK
|
|
|
|
|
BOWSER_SUB_ACT_INTRO_WALK_LOOK_UP,
|
|
|
|
|
BOWSER_SUB_ACT_INTRO_WALK_SLOWLY,
|
|
|
|
|
BOWSER_SUB_ACT_INTRO_WALK_STOP
|
|
|
|
|
};
|
|
|
|
|
enum oSubActionBowserActChargeMario { // 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 oSubActionBowserActTeleport { // BOWSER_ACT_TELEPORT
|
|
|
|
|
BOWSER_SUB_ACT_TELEPORT_START,
|
|
|
|
|
BOWSER_SUB_ACT_TELEPORT_MOVE,
|
|
|
|
|
BOWSER_SUB_ACT_TELEPORT_STOP
|
|
|
|
|
};
|
|
|
|
|
enum oSubActionBowserActSpitFireOntoFloor { // BOWSER_ACT_SPIT_FIRE_ONTO_FLOOR
|
|
|
|
|
BOWSER_SUB_ACT_SPIT_FIRE_FLOOR_START,
|
|
|
|
|
BOWSER_SUB_ACT_SPIT_FIRE_FLOOR_STOP
|
|
|
|
|
};
|
|
|
|
|
enum oSubActionBowserActHitEdge { // BOWSER_ACT_HIT_EDGE
|
|
|
|
|
BOWSER_SUB_ACT_HIT_EDGE_START,
|
|
|
|
|
BOWSER_SUB_ACT_HIT_EDGE_STOP
|
|
|
|
|
};
|
|
|
|
|
enum oSubActionBowserActTurnFromEdge { // 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 oSubActionBowserActHitMine { // BOWSER_ACT_HIT_MINE
|
|
|
|
|
BOWSER_SUB_ACT_HIT_MINE_START,
|
|
|
|
|
BOWSER_SUB_ACT_HIT_MINE_FALL,
|
|
|
|
|
BOWSER_SUB_ACT_HIT_MINE_STOP
|
|
|
|
|
};
|
|
|
|
|
enum oSubActionBowserActJumpOntoStage { // 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 oSubActionBowserActBigJump { // BOWSER_ACT_BIG_JUMP
|
|
|
|
|
BOWSER_SUB_ACT_BIG_JUMP_START,
|
|
|
|
|
BOWSER_SUB_ACT_BIG_JUMP_LAND,
|
|
|
|
|
BOWSER_SUB_ACT_BIG_JUMP_STOP
|
|
|
|
|
};
|
|
|
|
|
enum oSubActionBowserActWalkToMario { // 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 oSubActionBowserActQuickJump { // BOWSER_ACT_QUICK_JUMP
|
|
|
|
|
BOWSER_SUB_ACT_QUICK_JUMP_START,
|
|
|
|
|
BOWSER_SUB_ACT_QUICK_JUMP_LAND,
|
|
|
|
|
BOWSER_SUB_ACT_QUICK_JUMP_STOP
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* 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
|
2021-07-12 23:17:54 -04:00
|
|
|
/* oSubAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2021-07-12 23:17:54 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Bowser Flame */
|
2020-12-03 14:26:38 -05:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BOWSER_FLAME_ACT_FLOATING 0x0
|
|
|
|
|
#define BOWSER_FLAME_ACT_LANDED 0x1
|
|
|
|
|
|
|
|
|
|
/* Blue Bowser Flame */
|
2020-12-03 14:26:38 -05:00
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BOWSER_FLAME_BLUE_BP_SPAWN_RED_FLAMES 0x0
|
|
|
|
|
#define BOWSER_FLAME_BLUE_BP_SPAWN_BLUE_FLAMES 0x1
|
2020-12-03 14:26:38 -05:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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 */
|
2020-03-01 22:42:52 -05:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BOWSER_KEY_ACT_BOUNCING 0x0
|
|
|
|
|
#define BOWSER_KEY_ACT_LANDED 0x1
|
2020-03-01 22:42:52 -05:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2020-03-01 22:42:52 -05:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2020-06-02 12:44:34 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Blue Fish Spawner */
|
2020-03-01 22:42:52 -05:00
|
|
|
/* oAction: bhv_blue_fish_spawn_loop */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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 */
|
2021-12-30 10:57:51 -06:00
|
|
|
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,
|
|
|
|
|
};
|
|
|
|
|
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
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Cap Switch */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Mario Cap */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oActionsMarioCap {
|
|
|
|
|
CAP_ACT_MOVE,
|
|
|
|
|
CAP_ACT_QUICKSAND = 0xA,
|
|
|
|
|
CAP_ACT_MOVING_QUICKSAND,
|
|
|
|
|
CAP_ACT_INSTANT_QUICKSAND,
|
|
|
|
|
CAP_ACT_INSTANT_MOVING_QUICKSAND,
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* 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
|
2020-03-01 22:42:52 -05:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
/* Cannon Trap Door */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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 */
|
2021-12-30 10:57:51 -06:00
|
|
|
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,
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Star Door */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oActionsStarDoor {
|
|
|
|
|
STAR_DOOR_ACT_CLOSED,
|
|
|
|
|
STAR_DOOR_ACT_OPENING,
|
|
|
|
|
STAR_DOOR_ACT_OPEN,
|
|
|
|
|
STAR_DOOR_ACT_CLOSING,
|
|
|
|
|
STAR_DOOR_ACT_RESET,
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Homing Amp */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Amp */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Butterfly */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Hoot */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Bully (all variants) */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oBullySubtype */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Water Ring (all variants) */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define WATER_RING_ACT_NOT_COLLECTED 0x0
|
|
|
|
|
#define WATER_RING_ACT_COLLECTED 0x1
|
|
|
|
|
/* Animations */
|
|
|
|
|
#define WATER_RING_ANIM_WOBBLE 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Jet Stream Water Ring Spawner */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define JS_RING_SPAWNER_ACT_ACTIVE 0x0
|
|
|
|
|
#define JS_RING_SPAWNER_ACT_INACTIVE 0x1
|
|
|
|
|
|
2021-12-30 10:57:51 -06:00
|
|
|
/* 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,
|
|
|
|
|
};
|
|
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Celebration Star */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* LLL Drawbridge */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Bomp (both variants) */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* WF Sliding Brick Platform */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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 */
|
2021-12-30 10:57:51 -06:00
|
|
|
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,
|
|
|
|
|
};
|
|
|
|
|
/* bparam2 */
|
|
|
|
|
#define SLIDING_PLATFORM_BP2_LENGTH_MASK 0x3F
|
|
|
|
|
#define SLIDING_PLATFORM_BP2_FLAG_INVERTED (1 << 6)
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Fake Moneybag Coin */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define FAKE_MONEYBAG_COIN_ACT_IDLE 0x0
|
|
|
|
|
#define FAKE_MONEYBAG_COIN_ACT_TRANSFORM 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Moneybag */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oMoneybagJumpState */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Bowling Ball */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BBALL_ACT_INITIALIZE 0x0
|
|
|
|
|
#define BBALL_ACT_ROLL 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Bowling Ball + Bowling Ball Spawner (all variants) */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Bowling Ball (Free) */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Beta Chest Lid */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* BBH Tilting Trap Platform */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Boo */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oBooDeathStatus */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BOO_DEATH_STATUS_ALIVE 0x0
|
|
|
|
|
#define BOO_DEATH_STATUS_DYING 0x1
|
|
|
|
|
#define BOO_DEATH_STATUS_DEAD 0x2
|
2019-10-05 15:08:05 -04:00
|
|
|
/* attackStatus */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-10-05 15:08:05 -04:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
/* Beta Boo Key */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BETA_BOO_KEY_ACT_IN_BOO 0x0
|
|
|
|
|
#define BETA_BOO_KEY_ACT_DROPPING 0x1
|
|
|
|
|
#define BETA_BOO_KEY_ACT_DROPPED 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Boo Cage */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* BBH Haunted Bookshelf */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* BBH Merry-Go-Round */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* gMarioCurrentRoom */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BBH_NEAR_MERRY_GO_ROUND_ROOM 0xA
|
|
|
|
|
#define BBH_DYNAMIC_SURFACE_ROOM 0x0
|
|
|
|
|
#define BBH_OUTSIDE_ROOM 0xD
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2020-02-03 00:51:26 -05:00
|
|
|
/* Coffin Spawner */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define COFFIN_SPAWNER_ACT_COFFINS_UNLOADED 0x0
|
|
|
|
|
#define COFFIN_SPAWNER_ACT_COFFINS_LOADED 0x1
|
2020-02-03 00:51:26 -05:00
|
|
|
|
|
|
|
|
/* Coffin */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define COFFIN_BP_STATIONARY 0x0
|
|
|
|
|
#define COFFIN_BP_MOVING 0x1
|
|
|
|
|
/* oAction */
|
|
|
|
|
#define COFFIN_ACT_IDLE 0x0
|
|
|
|
|
#define COFFIN_ACT_STAND_UP 0x1
|
2020-02-03 00:51:26 -05:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
/* WDW Arrow Lift */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define ARROW_LIFT_ACT_IDLE 0x0
|
|
|
|
|
#define ARROW_LIFT_ACT_MOVING_AWAY 0x1
|
|
|
|
|
#define ARROW_LIFT_ACT_MOVING_BACK 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Toad */
|
2021-12-30 10:57:51 -06:00
|
|
|
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,
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Intro Peach */
|
2021-12-30 10:57:51 -06:00
|
|
|
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,
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-12-30 10:57:51 -06:00
|
|
|
/* 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,
|
|
|
|
|
};
|
|
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
|
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oKoopaTheQuickRaceIndex */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define KOOPA_THE_QUICK_BOB_INDEX 0x0
|
|
|
|
|
#define KOOPA_THE_QUICK_THI_INDEX 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Koopa Flag */
|
|
|
|
|
/* Animations */
|
|
|
|
|
#define KOOPA_FLAG_ANIM_WAVE 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Pokey */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2021-09-30 15:09:01 -07:00
|
|
|
#define POKEY_PART_BP_LOWEST (POKEY_NUM_SEGMENTS - 0x1)
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Swoop */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oBehParams2ndByteSwoop {
|
|
|
|
|
SWOOP_BP_0,
|
|
|
|
|
SWOOP_BP_1,
|
|
|
|
|
};
|
|
|
|
|
enum oActionsSwoop {
|
|
|
|
|
SWOOP_ACT_IDLE,
|
|
|
|
|
SWOOP_ACT_MOVE,
|
|
|
|
|
};
|
|
|
|
|
enum animIDsSwoop {
|
|
|
|
|
SWOOP_ANIM_FLY,
|
|
|
|
|
SWOOP_ANIM_IDLE,
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Fly guy */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oBehParams2ndByte */
|
|
|
|
|
#define FLY_GUY_BP_LUNGES 0x0
|
|
|
|
|
#define FLY_GUY_BP_SHOOTS_FIRE 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Goomba triplet spawner */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-12-30 10:57:51 -06:00
|
|
|
#define GOOMBA_TRIPLET_SPAWNER_BP_SIZE_MASK 0x03
|
|
|
|
|
#define GOOMBA_TRIPLET_SPAWNER_BP_EXTRA_GOOMBAS_MASK 0xFC
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define GOOMBA_TRIPLET_SPAWNER_ACT_UNLOADED 0x0
|
|
|
|
|
#define GOOMBA_TRIPLET_SPAWNER_ACT_LOADED 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Goomba */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-12-30 10:57:51 -06:00
|
|
|
#define GOOMBA_SIZE_REGULAR 0x00
|
|
|
|
|
#define GOOMBA_SIZE_HUGE 0x01
|
|
|
|
|
#define GOOMBA_SIZE_TINY 0x02
|
|
|
|
|
#define GOOMBA_BP_SIZE_MASK 0x03
|
|
|
|
|
#define GOOMBA_BP_TRIPLET_FLAG_MASK 0xFC
|
|
|
|
|
#if defined(FLOOMBAS) && defined(INTRO_FLOOMBAS)
|
|
|
|
|
/* BPARAM3 */
|
|
|
|
|
#define GOOMBA_BP3_FLOOMBA_MIRRORED_STARTUP_ANIM (1 << 7)
|
|
|
|
|
#endif
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oAction */
|
|
|
|
|
#define GOOMBA_ACT_WALK 0x0
|
|
|
|
|
#define GOOMBA_ACT_ATTACKED_MARIO 0x1
|
|
|
|
|
#define GOOMBA_ACT_JUMP 0x2
|
2021-12-30 10:57:51 -06:00
|
|
|
#if defined(FLOOMBAS) && defined(INTRO_FLOOMBAS)
|
|
|
|
|
#define FLOOMBA_ACT_STARTUP 0x3
|
|
|
|
|
#endif
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2021-12-30 10:57:51 -06:00
|
|
|
#ifdef FLOOMBAS
|
|
|
|
|
#define FLOOMBA_ANIM_STATE_EYES_OPEN (OBJ_BLINKING_ANIM_STATE_EYES_OPEN + 2)
|
|
|
|
|
#define FLOOMBA_ANIM_STATE_EYES_CLOSED (OBJ_BLINKING_ANIM_STATE_EYES_CLOSED + 2)
|
|
|
|
|
#endif
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Animations */
|
|
|
|
|
#define GOOMBA_ANIM_DEFAULT 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Chain chomp */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define CHAIN_CHOMP_ACT_UNINITIALIZED 0x0
|
|
|
|
|
#define CHAIN_CHOMP_ACT_MOVE 0x1
|
|
|
|
|
#define CHAIN_CHOMP_ACT_UNLOAD_CHAIN 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oSubAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* CHAIN_CHOMP_ACT_MOVE */
|
|
|
|
|
#define CHAIN_CHOMP_SUB_ACT_TURN 0x0
|
|
|
|
|
#define CHAIN_CHOMP_SUB_ACT_LUNGE 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oChainChompReleaseStatus */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Chain chomp chain part */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define CHAIN_CHOMP_CHAIN_PART_BP_PIVOT 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Wooden post */
|
|
|
|
|
/* oBehParams */
|
|
|
|
|
|
|
|
|
|
/* Wiggler */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oWigglerTextStatus */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Spiny */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Enemy lakitu */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define ENEMY_LAKITU_ACT_UNINITIALIZED 0x0
|
|
|
|
|
#define ENEMY_LAKITU_ACT_MAIN 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oSubAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Cloud */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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 */
|
2021-12-30 10:57:51 -06:00
|
|
|
#define INTRO_LAKITU_ANIM_DEFAULT 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Camera Lakitu */
|
|
|
|
|
/* oBehParams2ndByte */
|
|
|
|
|
#define CAMERA_LAKITU_BP_FOLLOW_CAMERA 0x0
|
|
|
|
|
#define CAMERA_LAKITU_BP_INTRO 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* RR Cruiser Wing */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define CRUISER_WING_BP_CLOCKWISE 0x0
|
|
|
|
|
#define CRUISER_WING_BP_COUNTERCLOCKWISE 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2020-12-03 14:26:38 -05:00
|
|
|
/* Manta Ray */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define MANTA_ACT_SPAWN_RINGS 0x0
|
|
|
|
|
#define MANTA_ACT_NO_RINGS 0x1
|
|
|
|
|
/* Animations */
|
|
|
|
|
#define MANTA_ANIM_SWIM 0x0
|
2020-12-03 14:26:38 -05:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Sushi Shark */
|
|
|
|
|
/* Animations */
|
|
|
|
|
#define SUSHI_ANIM_SWIM 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Monty mole */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define MONTY_MOLE_BP_NO_ROCK 0x0
|
2021-12-30 10:57:51 -06:00
|
|
|
#define MONTY_MOLE_BP_ROCK 0x1
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Monty mole rock */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define MONTY_MOLE_ROCK_ACT_HELD 0x0
|
|
|
|
|
#define MONTY_MOLE_ROCK_ACT_MOVE 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2019-09-01 15:50:50 -04:00
|
|
|
/* Ukiki */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oBehParams2ndByte */
|
2021-12-30 10:57:51 -06:00
|
|
|
#define UKIKI_BP_CAGE 0x0
|
|
|
|
|
#define UKIKI_BP_CAP 0x1
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-09-01 15:50:50 -04:00
|
|
|
/* oSubAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-09-01 15:50:50 -04:00
|
|
|
/* oUkikiTextState */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-09-01 15:50:50 -04:00
|
|
|
/* Animations */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-09-01 15:50:50 -04:00
|
|
|
/* oAnimState */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define UKIKI_ANIM_STATE_DEFAULT 0x0
|
|
|
|
|
#define UKIKI_ANIM_STATE_EYE_CLOSED 0x1
|
|
|
|
|
#define UKIKI_ANIM_STATE_CAP_ON 0x2
|
2020-09-20 11:15:47 -04:00
|
|
|
/* oUkikiHasCap */
|
2021-12-30 10:57:51 -06:00
|
|
|
#define UKIKI_CAP_OFF 0x0
|
|
|
|
|
#define UKIKI_CAP_ON 0x1
|
2019-09-01 15:50:50 -04:00
|
|
|
|
|
|
|
|
/* Ukiki Cage Star */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define UKIKI_CAGE_STAR_ACT_IN_CAGE 0x0
|
|
|
|
|
#define UKIKI_CAGE_STAR_ACT_SPAWN_STAR 0x1
|
2019-09-01 15:50:50 -04:00
|
|
|
|
|
|
|
|
/* Ukiki Cage */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-09-01 15:50:50 -04:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
/* Piranha Plant */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Checkerboard Platform */
|
|
|
|
|
/* oBehParams2ndByte */
|
|
|
|
|
#define CHECKERBOARD_PLATFORM_BP_MOVE_UP 0x0
|
|
|
|
|
#define CHECKERBOARD_PLATFORM_BP_MOVE_DOWN 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Platform on track */
|
2021-12-30 10:57:51 -06:00
|
|
|
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 = (1 << 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 = (1 << 0), // 0x1
|
|
|
|
|
PLATFORM_ON_TRACK_BP_DONT_DISAPPEAR = (1 << 1), // 0x2
|
|
|
|
|
PLATFORM_ON_TRACK_BP_DONT_TURN_YAW = (1 << 2), // 0x4
|
|
|
|
|
PLATFORM_ON_TRACK_BP_DONT_TURN_ROLL = (1 << 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,
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Pyramid elevator */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oAction */
|
|
|
|
|
#define PYRAMID_ELEVATOR_IDLE 0x0
|
|
|
|
|
#define PYRAMID_ELEVATOR_START_MOVING 0x1
|
|
|
|
|
#define PYRAMID_ELEVATOR_CONSTANT_VELOCITY 0x2
|
|
|
|
|
#define PYRAMID_ELEVATOR_AT_BOTTOM 0x3
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Pyramid top */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oAction */
|
|
|
|
|
#define PYRAMID_TOP_ACT_CHECK_IF_SOLVED 0x0
|
|
|
|
|
#define PYRAMID_TOP_ACT_SPINNING 0x1
|
|
|
|
|
#define PYRAMID_TOP_ACT_EXPLODE 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Pyramid wall */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oBehParams2ndByte */
|
|
|
|
|
#define PYRAMID_WALL_BP_POSITION_HIGH 0x0
|
|
|
|
|
#define PYRAMID_WALL_BP_POSITION_MIDDLE 0x1
|
|
|
|
|
#define PYRAMID_WALL_BP_POSITION_LOW 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define PYRAMID_WALL_ACT_MOVING_DOWN 0x0
|
|
|
|
|
#define PYRAMID_WALL_ACT_MOVING_UP 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Tox Box */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2020-03-01 22:42:52 -05:00
|
|
|
/* Penguins (general) */
|
2021-12-30 10:57:51 -06:00
|
|
|
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 { // Animations
|
|
|
|
|
PENGUIN_ANIM_WALK,
|
|
|
|
|
PENGUIN_ANIM_DIVE_SLIDE,
|
|
|
|
|
PENGUIN_ANIM_STAND_UP,
|
|
|
|
|
PENGUIN_ANIM_IDLE
|
|
|
|
|
};
|
2020-06-02 12:44:34 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Racing Penguin */
|
|
|
|
|
/* oBehParams2ndByte */
|
|
|
|
|
#define RACING_PENGUIN_BP_NORMAL 0x0
|
|
|
|
|
#define RACING_PENGUIN_BP_120_STARS 0x1
|
2020-03-01 22:42:52 -05:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2020-06-02 12:44:34 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Mother Penguin */
|
2020-03-01 22:42:52 -05:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2020-06-02 12:44:34 -04:00
|
|
|
|
2020-03-01 22:42:52 -05:00
|
|
|
/* Snowman wind */
|
|
|
|
|
/* oSubAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2020-03-01 22:42:52 -05:00
|
|
|
|
2021-12-30 10:57:51 -06:00
|
|
|
/* 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,
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Water bomb */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* TTC rotating solid */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define TTC_ROTATING_SOLID_BP_CUBE 0x0
|
|
|
|
|
#define TTC_ROTATING_SOLID_BP_TRIANGULAR_PRISM 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* TTC moving bar */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* TTC cog */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-12-30 10:57:51 -06:00
|
|
|
#define TTC_COG_BP_SHAPE_MASK 0x02
|
2021-09-27 16:41:43 -07:00
|
|
|
#define TTC_COG_BP_SHAPE_HEXAGON (0 << 1)
|
|
|
|
|
#define TTC_COG_BP_SHAPE_TRIANGLE (1 << 1)
|
2021-12-30 10:57:51 -06:00
|
|
|
#define TTC_COG_BP_DIR_MASK 0x01
|
2021-09-27 16:41:43 -07:00
|
|
|
#define TTC_COG_BP_DIR_CCW (0 << 0) // TODO: Check these
|
|
|
|
|
#define TTC_COG_BP_DIR_CW (1 << 0)
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-12-30 10:57:51 -06:00
|
|
|
/* TTC Pit Block */
|
|
|
|
|
enum oBehParams2ndByteTTCPitBlock {
|
|
|
|
|
TTC_PIT_BLOCK_BP_0,
|
|
|
|
|
TTC_PIT_BLOCK_BP_1,
|
|
|
|
|
};
|
|
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
/* TTC 2D Rotator */
|
|
|
|
|
/* oBehParams2ndByte */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2021-12-30 10:57:51 -06:00
|
|
|
#define TREADMILL_BP_UNKNOWN 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Activated Back-and-Forth Platform */
|
2021-12-30 10:57:51 -06:00
|
|
|
/* (bparam1 & 0x03) aka platform type */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2021-12-30 10:57:51 -06:00
|
|
|
#define ACTIVATED_BF_PLAT_TYPES_MASK 0x3
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Dorrie */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Mad piano */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-12-30 10:57:51 -06:00
|
|
|
/* 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 */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define FIRE_SPITTER_ACT_IDLE 0x0
|
|
|
|
|
#define FIRE_SPITTER_ACT_SPIT_FIRE 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define FLAMETHROWER_ACT_IDLE 0x0
|
|
|
|
|
#define FLAMETHROWER_ACT_BLOW_FIRE 0x1
|
|
|
|
|
#define FLAMETHROWER_ACT_COOLDOWN 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Bouncing Fireball Flame */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BOUNCING_FLAME_ACT_SPAWNED 0x0
|
|
|
|
|
#define BOUNCING_FLAME_ACT_LANDED 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Bouncing Fireball */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAnimState */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Bird */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oBehParams2ndByte */
|
|
|
|
|
#define BIRD_BP_SPAWNED 0x0
|
|
|
|
|
#define BIRD_BP_SPAWNER 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define BIRD_ACT_INACTIVE 0x0
|
|
|
|
|
#define BIRD_ACT_FLY 0x1
|
|
|
|
|
/* Animation */
|
|
|
|
|
#define BIRD_ANIM_FLY 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Skeeter */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2020-03-01 22:42:52 -05:00
|
|
|
/* Snufit */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define SNUFIT_ACT_IDLE 0x0
|
|
|
|
|
#define SNUFIT_ACT_SHOOT 0x1
|
2020-03-01 22:42:52 -05:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Snufit Balls (gottem) */
|
2020-02-03 00:51:26 -05:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define SNUFIT_BALL_ACT_MOVE 0x0
|
|
|
|
|
#define SNUFIT_BALL_ACT_HIT_MARIO 0x1
|
2020-02-03 00:51:26 -05:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Tweester */
|
|
|
|
|
/* oAction */
|
|
|
|
|
#define TWEESTER_ACT_IDLE 0x0
|
|
|
|
|
#define TWEESTER_ACT_CHASE 0x1
|
|
|
|
|
#define TWEESTER_ACT_HIDE 0x2
|
2020-02-03 00:51:26 -05:00
|
|
|
/* oSubAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2020-02-03 00:51:26 -05:00
|
|
|
|
2019-08-25 00:46:40 -04:00
|
|
|
/* Triplet butterfly */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* oBehParams2ndByte */
|
2021-12-30 10:57:51 -06:00
|
|
|
#define TRIPLET_BUTTERFLY_BP_0 0x0
|
2021-09-27 16:41:43 -07:00
|
|
|
#define TRIPLET_BUTTERFLY_BP_BUTTERFLY_NUM 0x3
|
|
|
|
|
#define TRIPLET_BUTTERFLY_BP_NO_BOMBS 0x4
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Changing Water Level */
|
|
|
|
|
/* oAction */
|
|
|
|
|
#define WATER_LEVEL_ACT_INIT 0x0
|
|
|
|
|
#define WATER_LEVEL_ACT_IDLE 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Water Level Diamond */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
|
|
|
|
// Loading
|
2021-09-27 16:41:43 -07:00
|
|
|
#define WATER_LEVEL_DIAMOND_ACT_INIT 0x0
|
2019-08-25 00:46:40 -04:00
|
|
|
// Idling when Mario isn't inside its hitbox
|
2021-09-27 16:41:43 -07:00
|
|
|
#define WATER_LEVEL_DIAMOND_ACT_IDLE 0x1
|
2019-08-25 00:46:40 -04:00
|
|
|
// While the water level is changing
|
2021-09-27 16:41:43 -07:00
|
|
|
#define WATER_LEVEL_DIAMOND_ACT_CHANGE_WATER_LEVEL 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
// After the water level has changed but Mario hasn't left its hitbox yet
|
2021-09-27 16:41:43 -07:00
|
|
|
#define WATER_LEVEL_DIAMOND_ACT_IDLE_SPINNING 0x3
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* Castle Water Level Pillars */
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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
|
2019-08-25 00:46:40 -04:00
|
|
|
/* oMipsStarStatus */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Falling Pillar */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#define FALLING_PILLAR_ACT_IDLE 0x0
|
|
|
|
|
#define FALLING_PILLAR_ACT_TURNING 0x1
|
|
|
|
|
#define FALLING_PILLAR_ACT_FALLING 0x2
|
2019-08-25 00:46:40 -04:00
|
|
|
|
|
|
|
|
/* Bowser Puzzle */
|
|
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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
|
2019-08-25 00:46:40 -04:00
|
|
|
|
2020-07-04 11:18:55 -04:00
|
|
|
/* Mr Blizzard */
|
2021-09-27 16:41:43 -07:00
|
|
|
/* 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 */
|
2020-07-04 11:18:55 -04:00
|
|
|
/* oAction */
|
2021-09-27 16:41:43 -07:00
|
|
|
#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 */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Cartoon Star Particle */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Music Touch */
|
2021-12-30 10:57:51 -06:00
|
|
|
enum oActionsMusicTouch {
|
|
|
|
|
MUSIC_TOUCH_ACT_PLAY_SOUND,
|
|
|
|
|
MUSIC_TOUCH_ACT_DONE
|
|
|
|
|
};
|
2021-09-27 16:41:43 -07:00
|
|
|
|
|
|
|
|
/* Intro Scene */
|
2021-12-30 10:57:51 -06:00
|
|
|
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
|
|
|
|
|
};
|
2021-09-26 11:34:20 -07:00
|
|
|
|
|
|
|
|
#endif // OBJECT_CONSTANTS_H
|