diff --git a/data/behavior_data.c b/data/behavior_data.c index d2b4dc77..7e8ad437 100644 --- a/data/behavior_data.c +++ b/data/behavior_data.c @@ -508,8 +508,8 @@ const BehaviorScript bhvBetaChestLid[] = { const BehaviorScript bhvBubbleParticleSpawner[] = { BEGIN(OBJ_LIST_DEFAULT), DISABLE_RENDERING(), - SET_RANDOM_INT(oWaterObjUnkF4, /*Minimum*/ 2, /*Range*/ 9), - DELAY_VAR(oWaterObjUnkF4), + SET_RANDOM_INT(oWaterObjScaleXAngle, /*Minimum*/ 2, /*Range*/ 9), + DELAY_VAR(oWaterObjScaleXAngle), SPAWN_CHILD(/*Model*/ MODEL_BUBBLE, /*Behavior*/ bhvSmallWaterWave), PARENT_BIT_CLEAR(oActiveParticleFlags, ACTIVE_PARTICLE_BUBBLE), DEACTIVATE(), @@ -520,12 +520,12 @@ const BehaviorScript bhvBubbleMaybe[] = { OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE), BILLBOARD(), CALL_NATIVE(bhv_bubble_wave_init), - SET_RANDOM_FLOAT(oWaterObjUnkF4, /*Minimum*/ -75, /*Range*/ 150), - SET_RANDOM_FLOAT(oWaterObjUnkF8, /*Minimum*/ -75, /*Range*/ 150), - SET_RANDOM_FLOAT(oWaterObjUnkFC, /*Minimum*/ -75, /*Range*/ 150), - SUM_FLOAT(/*Dest*/ oPosX, /*Value 1*/ oPosX, /*Value 2*/ oWaterObjUnkF4), - SUM_FLOAT(/*Dest*/ oPosZ, /*Value 1*/ oPosZ, /*Value 2*/ oWaterObjUnkF8), - SUM_FLOAT(/*Dest*/ oPosY, /*Value 1*/ oPosY, /*Value 2*/ oWaterObjUnkFC), + SET_RANDOM_FLOAT(oWaterObjScaleXAngle, /*Minimum*/ -75, /*Range*/ 150), + SET_RANDOM_FLOAT(oWaterObjScaleYAngle, /*Minimum*/ -75, /*Range*/ 150), + SET_RANDOM_FLOAT(oWaterObjScaleXAngleVel, /*Minimum*/ -75, /*Range*/ 150), + SUM_FLOAT(/*Dest*/ oPosX, /*Value 1*/ oPosX, /*Value 2*/ oWaterObjScaleXAngle), + SUM_FLOAT(/*Dest*/ oPosZ, /*Value 1*/ oPosZ, /*Value 2*/ oWaterObjScaleYAngle), + SUM_FLOAT(/*Dest*/ oPosY, /*Value 1*/ oPosY, /*Value 2*/ oWaterObjScaleXAngleVel), SET_INT(oAnimState, -1), BEGIN_REPEAT(60), ADD_INT(oAnimState, 1), @@ -539,12 +539,12 @@ const BehaviorScript bhvSmallWaterWave[] = { OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE), BILLBOARD(), CALL_NATIVE(bhv_bubble_wave_init), - SET_RANDOM_FLOAT(oWaterObjUnkF4, /*Minimum*/ -50, /*Range*/ 100), - SET_RANDOM_FLOAT(oWaterObjUnkF8, /*Minimum*/ -50, /*Range*/ 100), - SUM_FLOAT(/*Dest*/ oPosX, /*Value 1*/ oPosX, /*Value 2*/ oWaterObjUnkF4), - SUM_FLOAT(/*Dest*/ oPosZ, /*Value 1*/ oPosZ, /*Value 2*/ oWaterObjUnkF8), - SET_RANDOM_FLOAT(oWaterObjUnkFC, /*Minimum*/ 0, /*Range*/ 50), - SUM_FLOAT(/*Dest*/ oPosY, /*Value 1*/ oPosY, /*Value 2*/ oWaterObjUnkFC), + SET_RANDOM_FLOAT(oWaterObjScaleXAngle, /*Minimum*/ -50, /*Range*/ 100), + SET_RANDOM_FLOAT(oWaterObjScaleYAngle, /*Minimum*/ -50, /*Range*/ 100), + SUM_FLOAT(/*Dest*/ oPosX, /*Value 1*/ oPosX, /*Value 2*/ oWaterObjScaleXAngle), + SUM_FLOAT(/*Dest*/ oPosZ, /*Value 1*/ oPosZ, /*Value 2*/ oWaterObjScaleYAngle), + SET_RANDOM_FLOAT(oWaterObjScaleXAngleVel, /*Minimum*/ 0, /*Range*/ 50), + SUM_FLOAT(/*Dest*/ oPosY, /*Value 1*/ oPosY, /*Value 2*/ oWaterObjScaleXAngleVel), SET_INT(oAnimState, -1), CALL(bhvSmallWaterWave398), BEGIN_REPEAT(60), @@ -557,10 +557,10 @@ const BehaviorScript bhvSmallWaterWave[] = { const BehaviorScript bhvSmallWaterWave398[] = { ADD_INT(oAnimState, 1), ADD_FLOAT(oPosY, 7), - SET_RANDOM_FLOAT(oWaterObjUnkF4, /*Minimum*/ -2, /*Range*/ 5), - SET_RANDOM_FLOAT(oWaterObjUnkF8, /*Minimum*/ -2, /*Range*/ 5), - SUM_FLOAT(/*Dest*/ oPosX, /*Value 1*/ oPosX, /*Value 2*/ oWaterObjUnkF4), - SUM_FLOAT(/*Dest*/ oPosZ, /*Value 1*/ oPosZ, /*Value 2*/ oWaterObjUnkF8), + SET_RANDOM_FLOAT(oWaterObjScaleXAngle, /*Minimum*/ -2, /*Range*/ 5), + SET_RANDOM_FLOAT(oWaterObjScaleYAngle, /*Minimum*/ -2, /*Range*/ 5), + SUM_FLOAT(/*Dest*/ oPosX, /*Value 1*/ oPosX, /*Value 2*/ oWaterObjScaleXAngle), + SUM_FLOAT(/*Dest*/ oPosZ, /*Value 1*/ oPosZ, /*Value 2*/ oWaterObjScaleYAngle), RETURN(), }; @@ -782,7 +782,7 @@ const BehaviorScript bhvWfRotatingWoodenPlatform[] = { const BehaviorScript bhvKoopaShellUnderwater[] = { BEGIN(OBJ_LIST_GENACTOR), - OR_INT(oFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)), + OR_LONG(oFlags, (OBJ_FLAG_HOLDABLE | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_SILHOUETTE)), BEGIN_LOOP(), CALL_NATIVE(bhv_koopa_shell_underwater_loop), END_LOOP(), @@ -871,7 +871,7 @@ const BehaviorScript bhvMrIBlueCoin[] = { OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE), BILLBOARD(), SET_INT(oIntangibleTimer, 0), - SET_FLOAT(oMrIUnk110, 20), + SET_FLOAT(oMrIBlinking, 20), SET_INT(oAnimState, -1), SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 30, /*Gravity*/ -400, /*Bounciness*/ -70, /*Drag strength*/ 1000, /*Friction*/ 1000, /*Buoyancy*/ 200, /*Unused*/ 0, 0), CALL_NATIVE(bhv_coin_init), @@ -2371,7 +2371,7 @@ const BehaviorScript bhvLllTiltingInvertedPyramid[] = { const BehaviorScript bhvKoopaShell[] = { BEGIN(OBJ_LIST_LEVEL), - OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE), + OR_LONG(oFlags, (OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_SILHOUETTE)), //! Silhouette doesn't show up in-game SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 30, /*Gravity*/ -400, /*Bounciness*/ -50, /*Drag strength*/ 1000, /*Friction*/ 1000, /*Buoyancy*/ 200, /*Unused*/ 0, 0), BEGIN_LOOP(), CALL_NATIVE(bhv_koopa_shell_loop), @@ -2547,7 +2547,7 @@ const BehaviorScript bhvWdwExpressElevatorPlatform[] = { const BehaviorScript bhvChirpChirp[] = { BEGIN(OBJ_LIST_DEFAULT), - SET_INT(oBirdChirpChirpUnkF4, 1), + SET_INT(oCheepCheepSpawnerSpawnAmount, 1), GOTO(bhvChirpChirpUnused), }; @@ -4787,7 +4787,7 @@ const BehaviorScript bhvWdwSquareFloatingPlatform[] = { BEGIN(OBJ_LIST_SURFACE), OR_LONG(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)), LOAD_COLLISION_DATA(wdw_seg7_collision_square_floating_platform), - SET_FLOAT(oFloatingPlatformUnkFC, 64), + SET_FLOAT(oFloatingPlatformHeightOffset, 64), SET_HOME(), BEGIN_LOOP(), CALL_NATIVE(bhv_floating_platform_loop), @@ -4799,7 +4799,7 @@ const BehaviorScript bhvWdwRectangularFloatingPlatform[] = { BEGIN(OBJ_LIST_SURFACE), OR_LONG(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)), LOAD_COLLISION_DATA(wdw_seg7_collision_rect_floating_platform), - SET_FLOAT(oFloatingPlatformUnkFC, 64), + SET_FLOAT(oFloatingPlatformHeightOffset, 64), SET_HOME(), BEGIN_LOOP(), CALL_NATIVE(bhv_floating_platform_loop), @@ -4811,7 +4811,7 @@ const BehaviorScript bhvJrbFloatingPlatform[] = { BEGIN(OBJ_LIST_SURFACE), OR_LONG(oFlags, (OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_UCODE_LARGE)), LOAD_COLLISION_DATA(jrb_seg7_collision_floating_platform), - SET_FLOAT(oFloatingPlatformUnkFC, 64), + SET_FLOAT(oFloatingPlatformHeightOffset, 64), SET_HOME(), BEGIN_LOOP(), CALL_NATIVE(bhv_floating_platform_loop), @@ -4823,7 +4823,6 @@ const BehaviorScript bhvArrowLift[] = { BEGIN(OBJ_LIST_SURFACE), OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE), LOAD_COLLISION_DATA(wdw_seg7_collision_arrow_lift), - SET_INT_RAND_RSHIFT(oArrowLiftUnk100, /*Minimum*/ 1, /*Right shift*/ 32), SET_HOME(), BEGIN_LOOP(), CALL_NATIVE(bhv_arrow_lift_loop), diff --git a/include/object_fields.h b/include/object_fields.h index 74756195..02bb5872 100644 --- a/include/object_fields.h +++ b/include/object_fields.h @@ -50,1115 +50,1220 @@ // 0x088 (0x00), the first field, is object-specific and defined below the common fields. /* Common fields */ -#define /*0x08C*/ oFlags OBJECT_FIELD_U32(0x01) -#define /*0x090*/ oDialogResponse OBJECT_FIELD_S16(0x02, 0) -#define /*0x092*/ oDialogState OBJECT_FIELD_S16(0x02, 1) -#define /*0x094*/ oUnk94 OBJECT_FIELD_U32(0x03) +#define /*0x08C*/ oFlags OBJECT_FIELD_U32(0x01) +#define /*0x090*/ oDialogResponse OBJECT_FIELD_S16(0x02, 0) +#define /*0x092*/ oDialogState OBJECT_FIELD_S16(0x02, 1) +#define /*0x094*/ oUnk94 OBJECT_FIELD_U32(0x03) // 0x98 unused/removed. -#define /*0x09C*/ oIntangibleTimer OBJECT_FIELD_S32(0x05) -#define /*0x0A0*/ O_POS_INDEX 0x06 -#define /*0x0A0*/ oPosX OBJECT_FIELD_F32(O_POS_INDEX + 0) -#define /*0x0A4*/ oPosY OBJECT_FIELD_F32(O_POS_INDEX + 1) -#define /*0x0A8*/ oPosZ OBJECT_FIELD_F32(O_POS_INDEX + 2) -#define /*0x0AC*/ oVelX OBJECT_FIELD_F32(0x09) -#define /*0x0B0*/ oVelY OBJECT_FIELD_F32(0x0A) -#define /*0x0B4*/ oVelZ OBJECT_FIELD_F32(0x0B) -#define /*0x0B8*/ oForwardVel OBJECT_FIELD_F32(0x0C) -#define /*0x0B8*/ oForwardVelS32 OBJECT_FIELD_S32(0x0C) -#define /*0x0BC*/ oLeftVel OBJECT_FIELD_F32(0x0D) -#define /*0x0C0*/ oUpVel OBJECT_FIELD_F32(0x0E) -#define /*0x0C4*/ O_MOVE_ANGLE_INDEX 0x0F -#define /*0x0C4*/ O_MOVE_ANGLE_PITCH_INDEX (O_MOVE_ANGLE_INDEX + 0) -#define /*0x0C4*/ O_MOVE_ANGLE_YAW_INDEX (O_MOVE_ANGLE_INDEX + 1) -#define /*0x0C4*/ O_MOVE_ANGLE_ROLL_INDEX (O_MOVE_ANGLE_INDEX + 2) -#define /*0x0C4*/ oMoveAnglePitch OBJECT_FIELD_S32(O_MOVE_ANGLE_PITCH_INDEX) -#define /*0x0C8*/ oMoveAngleYaw OBJECT_FIELD_S32(O_MOVE_ANGLE_YAW_INDEX) -#define /*0x0CC*/ oMoveAngleRoll OBJECT_FIELD_S32(O_MOVE_ANGLE_ROLL_INDEX) -#define /*0x0D0*/ O_FACE_ANGLE_INDEX 0x12 -#define /*0x0D0*/ O_FACE_ANGLE_PITCH_INDEX (O_FACE_ANGLE_INDEX + 0) -#define /*0x0D0*/ O_FACE_ANGLE_YAW_INDEX (O_FACE_ANGLE_INDEX + 1) -#define /*0x0D0*/ O_FACE_ANGLE_ROLL_INDEX (O_FACE_ANGLE_INDEX + 2) -#define /*0x0D0*/ oFaceAnglePitch OBJECT_FIELD_S32(O_FACE_ANGLE_PITCH_INDEX) -#define /*0x0D4*/ oFaceAngleYaw OBJECT_FIELD_S32(O_FACE_ANGLE_YAW_INDEX) -#define /*0x0D8*/ oFaceAngleRoll OBJECT_FIELD_S32(O_FACE_ANGLE_ROLL_INDEX) -#define /*0x0DC*/ oGraphYOffset OBJECT_FIELD_F32(0x15) -#define /*0x0E0*/ oActiveParticleFlags OBJECT_FIELD_U32(0x16) -#define /*0x0E4*/ oGravity OBJECT_FIELD_F32(0x17) -#define /*0x0E8*/ oFloorHeight OBJECT_FIELD_F32(0x18) -#define /*0x0EC*/ oMoveFlags OBJECT_FIELD_U32(0x19) -#define /*0x0F0*/ oAnimState OBJECT_FIELD_S32(0x1A) +#define /*0x09C*/ oIntangibleTimer OBJECT_FIELD_S32(0x05) +/* Position vector */ +#define /*0x0A0*/ O_POS_INDEX 0x06 +#define /*0x0A0*/ O_POS_X_INDEX (O_POS_INDEX + 0) // 0x06 +#define /*0x0A4*/ O_POS_Y_INDEX (O_POS_INDEX + 1) // 0x07 +#define /*0x0A8*/ O_POS_Z_INDEX (O_POS_INDEX + 2) // 0x08 +#define /*0x0A0*/ oPosVec OBJECT_FIELD_F32(O_POS_INDEX) +#define /*0x0A0*/ oPosX OBJECT_FIELD_F32(O_POS_X_INDEX) +#define /*0x0A4*/ oPosY OBJECT_FIELD_F32(O_POS_Y_INDEX) +#define /*0x0A8*/ oPosZ OBJECT_FIELD_F32(O_POS_Z_INDEX) +/* Velocity vector */ +#define /*0x0AC*/ O_VEL_INDEX 0x09 +#define /*0x0AC*/ O_VEL_X_INDEX (O_VEL_INDEX + 0) // 0x09 +#define /*0x0B0*/ O_VEL_Y_INDEX (O_VEL_INDEX + 1) // 0x0A +#define /*0x0B4*/ O_VEL_Z_INDEX (O_VEL_INDEX + 2) // 0x0B +#define /*0x0AC*/ oVelVec OBJECT_FIELD_F32(O_VEL_INDEX) +#define /*0x0AC*/ oVelX OBJECT_FIELD_F32(O_VEL_X_INDEX) +#define /*0x0B0*/ oVelY OBJECT_FIELD_F32(O_VEL_Y_INDEX) +#define /*0x0B4*/ oVelZ OBJECT_FIELD_F32(O_VEL_Z_INDEX) +/* Local Position vector */ +#define /*0x0B8*/ O_LOCAL_VEL_INDEX 0x0C +#define /*0x0B8*/ O_LOCAL_VEL_X_INDEX (O_LOCAL_VEL_INDEX + 0) // 0x0C +#define /*0x0BC*/ O_LOCAL_VEL_Y_INDEX (O_LOCAL_VEL_INDEX + 1) // 0x0D +#define /*0x0C0*/ O_LOCAL_VEL_Z_INDEX (O_LOCAL_VEL_INDEX + 2) // 0x0E +#define /*0x0B8*/ oLocalVelVec OBJECT_FIELD_F32(O_LOCAL_VEL_INDEX) +#define /*0x0B8*/ oLeftVel OBJECT_FIELD_F32(O_LOCAL_VEL_X_INDEX) +#define /*0x0BC*/ oUpVel OBJECT_FIELD_F32(O_LOCAL_VEL_Y_INDEX) +#define /*0x0C0*/ oForwardVel OBJECT_FIELD_F32(O_LOCAL_VEL_Z_INDEX) // moved +/* Move Angle vector */ +#define /*0x0C4*/ O_MOVE_ANGLE_INDEX 0x0F +#define /*0x0C4*/ O_MOVE_ANGLE_PITCH_INDEX (O_MOVE_ANGLE_INDEX + 0) // 0x0F +#define /*0x0C8*/ O_MOVE_ANGLE_YAW_INDEX (O_MOVE_ANGLE_INDEX + 1) // 0x10 +#define /*0x0CC*/ O_MOVE_ANGLE_ROLL_INDEX (O_MOVE_ANGLE_INDEX + 2) // 0x11 +#define /*0x0C4*/ oMoveAngleVec OBJECT_FIELD_S32(O_MOVE_ANGLE_INDEX) +#define /*0x0C4*/ oMoveAnglePitch OBJECT_FIELD_S32(O_MOVE_ANGLE_PITCH_INDEX) +#define /*0x0C8*/ oMoveAngleYaw OBJECT_FIELD_S32(O_MOVE_ANGLE_YAW_INDEX) +#define /*0x0CC*/ oMoveAngleRoll OBJECT_FIELD_S32(O_MOVE_ANGLE_ROLL_INDEX) +/* Face Angle vector */ +#define /*0x0D0*/ O_FACE_ANGLE_INDEX 0x12 +#define /*0x0D0*/ O_FACE_ANGLE_PITCH_INDEX (O_FACE_ANGLE_INDEX + 0) // 0x12 +#define /*0x0D4*/ O_FACE_ANGLE_YAW_INDEX (O_FACE_ANGLE_INDEX + 1) // 0x13 +#define /*0x0D8*/ O_FACE_ANGLE_ROLL_INDEX (O_FACE_ANGLE_INDEX + 2) // 0x14 +#define /*0x0D0*/ oFaceAngleVec OBJECT_FIELD_S32(O_FACE_ANGLE_INDEX) +#define /*0x0D0*/ oFaceAnglePitch OBJECT_FIELD_S32(O_FACE_ANGLE_PITCH_INDEX) +#define /*0x0D4*/ oFaceAngleYaw OBJECT_FIELD_S32(O_FACE_ANGLE_YAW_INDEX) +#define /*0x0D8*/ oFaceAngleRoll OBJECT_FIELD_S32(O_FACE_ANGLE_ROLL_INDEX) +/* Common fields */ +#define /*0x0DC*/ oGraphYOffset OBJECT_FIELD_F32(0x15) +#define /*0x0E0*/ oActiveParticleFlags OBJECT_FIELD_U32(0x16) +#define /*0x0E4*/ oGravity OBJECT_FIELD_F32(0x17) +#define /*0x0E8*/ oFloorHeight OBJECT_FIELD_F32(0x18) +#define /*0x0EC*/ oMoveFlags OBJECT_FIELD_U32(0x19) +#define /*0x0F0*/ oAnimState OBJECT_FIELD_S32(0x1A) // 0x0F4-0x110 (0x1B-0x22) are object specific and defined below the common fields. -#define /*0x114*/ oAngleVelPitch OBJECT_FIELD_S32(0x23) -#define /*0x118*/ oAngleVelYaw OBJECT_FIELD_S32(0x24) -#define /*0x11C*/ oAngleVelRoll OBJECT_FIELD_S32(0x25) -#define /*0x120*/ oAnimations OBJECT_FIELD_ANIMS(0x26) -#define /*0x124*/ oHeldState OBJECT_FIELD_U32(0x27) -#define /*0x128*/ oWallHitboxRadius OBJECT_FIELD_F32(0x28) -#define /*0x12C*/ oDragStrength OBJECT_FIELD_F32(0x29) -#define /*0x130*/ oInteractType OBJECT_FIELD_U32(0x2A) -#define /*0x134*/ oInteractStatus OBJECT_FIELD_S32(0x2B) -#define /*0x138*/ O_PARENT_RELATIVE_POS_INDEX 0x2C -#define /*0x138*/ oParentRelativePosX OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 0) -#define /*0x13C*/ oParentRelativePosY OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 1) -#define /*0x140*/ oParentRelativePosZ OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX + 2) -#define /*0x144*/ oBehParams2ndByte OBJECT_FIELD_S32(0x2F) +/* Angle Velocity vector */ +#define /*0x114*/ O_ANGLE_VEL_INDEX 0x23 +#define /*0x114*/ O_ANGLE_VEL_PITCH_INDEX (O_ANGLE_VEL_INDEX + 0) // 0x23 +#define /*0x118*/ O_ANGLE_VEL_YAW_INDEX (O_ANGLE_VEL_INDEX + 1) // 0x24 +#define /*0x11C*/ O_ANGLE_VEL_ROLL_INDEX (O_ANGLE_VEL_INDEX + 2) // 0x25 +#define /*0x114*/ oAngleVelVec OBJECT_FIELD_S32(O_ANGLE_VEL_INDEX) +#define /*0x114*/ oAngleVelPitch OBJECT_FIELD_S32(O_ANGLE_VEL_PITCH_INDEX) +#define /*0x118*/ oAngleVelYaw OBJECT_FIELD_S32(O_ANGLE_VEL_YAW_INDEX) +#define /*0x11C*/ oAngleVelRoll OBJECT_FIELD_S32(O_ANGLE_VEL_ROLL_INDEX) +/* Common fields */ +#define /*0x120*/ oAnimations OBJECT_FIELD_ANIMS(0x26) +#define /*0x124*/ oHeldState OBJECT_FIELD_U32(0x27) +#define /*0x128*/ oWallHitboxRadius OBJECT_FIELD_F32(0x28) +#define /*0x12C*/ oDragStrength OBJECT_FIELD_F32(0x29) +#define /*0x130*/ oInteractType OBJECT_FIELD_U32(0x2A) +#define /*0x134*/ oInteractStatus OBJECT_FIELD_S32(0x2B) +/* Parent Relative Position vector */ +#define /*0x138*/ O_PARENT_RELATIVE_POS_INDEX 0x2C +#define /*0x138*/ O_PARENT_RELATIVE_POS_X_INDEX (O_PARENT_RELATIVE_POS_INDEX + 0) // 0x2C +#define /*0x13C*/ O_PARENT_RELATIVE_POS_Y_INDEX (O_PARENT_RELATIVE_POS_INDEX + 1) // 0x2D +#define /*0x140*/ O_PARENT_RELATIVE_POS_Z_INDEX (O_PARENT_RELATIVE_POS_INDEX + 2) // 0x2E +#define /*0x138*/ oParentRelativePosVec OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_INDEX) +#define /*0x138*/ oParentRelativePosX OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_X_INDEX) +#define /*0x13C*/ oParentRelativePosY OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_Y_INDEX) +#define /*0x140*/ oParentRelativePosZ OBJECT_FIELD_F32(O_PARENT_RELATIVE_POS_Z_INDEX) +/* Common fields */ +#define /*0x144*/ oBehParams2ndByte OBJECT_FIELD_S32(0x2F) // 0x148 unused, possibly a third param byte. -#define /*0x14C*/ oAction OBJECT_FIELD_S32(0x31) -#define /*0x150*/ oSubAction OBJECT_FIELD_S32(0x32) -#define /*0x154*/ oTimer OBJECT_FIELD_S32(0x33) -#define /*0x158*/ oBounciness OBJECT_FIELD_F32(0x34) -#define /*0x15C*/ oDistanceToMario OBJECT_FIELD_F32(0x35) -#define /*0x160*/ oAngleToMario OBJECT_FIELD_S32(0x36) -#define /*0x164*/ oHomeX OBJECT_FIELD_F32(0x37) -#define /*0x168*/ oHomeY OBJECT_FIELD_F32(0x38) -#define /*0x16C*/ oHomeZ OBJECT_FIELD_F32(0x39) -#define /*0x170*/ oFriction OBJECT_FIELD_F32(0x3A) -#define /*0x174*/ oBuoyancy OBJECT_FIELD_F32(0x3B) -#define /*0x178*/ oSoundStateID OBJECT_FIELD_S32(0x3C) -#define /*0x17C*/ oOpacity OBJECT_FIELD_S32(0x3D) -#define /*0x180*/ oDamageOrCoinValue OBJECT_FIELD_S32(0x3E) -#define /*0x184*/ oHealth OBJECT_FIELD_S32(0x3F) -#define /*0x188*/ oBehParams OBJECT_FIELD_S32(0x40) -#define /*0x18C*/ oPrevAction OBJECT_FIELD_S32(0x41) -#define /*0x190*/ oInteractionSubtype OBJECT_FIELD_U32(0x42) -#define /*0x194*/ oCollisionDistance OBJECT_FIELD_F32(0x43) -#define /*0x198*/ oNumLootCoins OBJECT_FIELD_S32(0x44) -#define /*0x19C*/ oDrawingDistance OBJECT_FIELD_F32(0x45) -#define /*0x1A0*/ oRoom OBJECT_FIELD_S32(0x46) +#define /*0x14C*/ oAction OBJECT_FIELD_S32(0x31) +#define /*0x150*/ oSubAction OBJECT_FIELD_S32(0x32) +#define /*0x154*/ oTimer OBJECT_FIELD_S32(0x33) +#define /*0x158*/ oBounciness OBJECT_FIELD_F32(0x34) +#define /*0x15C*/ oDistanceToMario OBJECT_FIELD_F32(0x35) +#define /*0x160*/ oAngleToMario OBJECT_FIELD_S32(0x36) +/* Home Position vector */ +#define /*0x164*/ O_HOME_INDEX 0x37 +#define /*0x164*/ O_HOME_X_INDEX (O_HOME_INDEX + 0) // 0x37 +#define /*0x168*/ O_HOME_Y_INDEX (O_HOME_INDEX + 1) // 0x38 +#define /*0x16C*/ O_HOME_Z_INDEX (O_HOME_INDEX + 2) // 0x39 +#define /*0x164*/ oHomeVec OBJECT_FIELD_F32(O_HOME_INDEX) +#define /*0x164*/ oHomeX OBJECT_FIELD_F32(O_HOME_X_INDEX) +#define /*0x168*/ oHomeY OBJECT_FIELD_F32(O_HOME_Y_INDEX) +#define /*0x16C*/ oHomeZ OBJECT_FIELD_F32(O_HOME_Z_INDEX) +/* Common fields */ +#define /*0x170*/ oFriction OBJECT_FIELD_F32(0x3A) +#define /*0x174*/ oBuoyancy OBJECT_FIELD_F32(0x3B) +#define /*0x178*/ oSoundStateID OBJECT_FIELD_S32(0x3C) +#define /*0x17C*/ oOpacity OBJECT_FIELD_S32(0x3D) +#define /*0x180*/ oDamageOrCoinValue OBJECT_FIELD_S32(0x3E) +#define /*0x184*/ oHealth OBJECT_FIELD_S32(0x3F) +#define /*0x188*/ oBehParams OBJECT_FIELD_S32(0x40) +#define /*0x18C*/ oPrevAction OBJECT_FIELD_S32(0x41) +#define /*0x190*/ oInteractionSubtype OBJECT_FIELD_U32(0x42) +#define /*0x194*/ oCollisionDistance OBJECT_FIELD_F32(0x43) +#define /*0x198*/ oNumLootCoins OBJECT_FIELD_S32(0x44) +#define /*0x19C*/ oDrawingDistance OBJECT_FIELD_F32(0x45) +#define /*0x1A0*/ oRoom OBJECT_FIELD_S32(0x46) // 0x1A4 is unused, possibly related to 0x1A8 in removed macro purposes. -#define /*0x1A8*/ oUnk1A8 OBJECT_FIELD_U32(0x48) +#define /*0x1A8*/ oUnk1A8 OBJECT_FIELD_U32(0x48) // 0x1AC-0x1B2 (0x48-0x4A) are object specific and defined below the common fields. -#define /*0x1B4*/ oWallAngle OBJECT_FIELD_S32(0x4B) -#define /*0x1B8*/ oFloorType OBJECT_FIELD_S16(0x4C, 0) -#define /*0x1BA*/ oFloorRoom OBJECT_FIELD_S16(0x4C, 1) -#define /*0x1BC*/ oAngleToHome OBJECT_FIELD_S32(0x4D) -#define /*0x1C0*/ oFloor OBJECT_FIELD_SURFACE(0x4E) -#define /*0x1C4*/ oDeathSound OBJECT_FIELD_S32(0x4F) +#define /*0x1B4*/ oWallAngle OBJECT_FIELD_S32(0x4B) +#define /*0x1B8*/ oFloorType OBJECT_FIELD_S16(0x4C, 0) +#define /*0x1BA*/ oFloorRoom OBJECT_FIELD_S16(0x4C, 1) +#define /*0x1BC*/ oAngleToHome OBJECT_FIELD_S32(0x4D) +#define /*0x1C0*/ oFloor OBJECT_FIELD_SURFACE(0x4E) +#define /*0x1C4*/ oDeathSound OBJECT_FIELD_S32(0x4F) #ifdef PUPPYLIGHTS -#define /*0x1C4*/ oLightID OBJECT_FIELD_S32(0x50) +#define /*0x1C4*/ oLightID OBJECT_FIELD_S32(0x50) #endif /* Pathed (see obj_follow_path) */ -#define /*0x0FC*/ oPathedStartWaypoint OBJECT_FIELD_WAYPOINT(0x1D) -#define /*0x100*/ oPathedPrevWaypoint OBJECT_FIELD_WAYPOINT(0x1E) -#define /*0x104*/ oPathedPrevWaypointFlags OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oPathedTargetPitch OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oPathedTargetYaw OBJECT_FIELD_S32(0x21) +#define /*0x0FC*/ oPathedStartWaypoint OBJECT_FIELD_WAYPOINT(0x1D) +#define /*0x100*/ oPathedPrevWaypoint OBJECT_FIELD_WAYPOINT(0x1E) +#define /*0x104*/ oPathedPrevWaypointFlags OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oPathedTargetPitch OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oPathedTargetYaw OBJECT_FIELD_S32(0x21) /* Special Object Macro */ -#define /*0x108*/ oMacroUnk108 OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oMacroUnk10C OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oMacroUnk110 OBJECT_FIELD_F32(0x22) +#define /*0x108*/ oMacroUnk108 OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oMacroUnk10C OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oMacroUnk110 OBJECT_FIELD_F32(0x22) /* Mario */ -#define /*0x0F4*/ oMarioParticleFlags OBJECT_FIELD_S32(0x1B) -#define /*0x108*/ oMarioPoleUnk108 OBJECT_FIELD_S32(0x20) -#define /*0x108*/ oMarioReadingSignDYaw OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oMarioPoleYawVel OBJECT_FIELD_S32(0x21) -#define /*0x10C*/ oMarioCannonObjectYaw OBJECT_FIELD_S32(0x21) -#define /*0x10C*/ oMarioTornadoYawVel OBJECT_FIELD_S32(0x21) -#define /*0x10C*/ oMarioReadingSignDPosX OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oMarioPolePos OBJECT_FIELD_F32(0x22) -#define /*0x110*/ oMarioCannonInputYaw OBJECT_FIELD_S32(0x22) -#define /*0x110*/ oMarioTornadoPosY OBJECT_FIELD_F32(0x22) -#define /*0x110*/ oMarioReadingSignDPosZ OBJECT_FIELD_F32(0x22) -#define /*0x110*/ oMarioWhirlpoolPosY OBJECT_FIELD_F32(0x22) -#define /*0x110*/ oMarioBurnTimer OBJECT_FIELD_S32(0x22) -#define /*0x110*/ oMarioLongJumpIsSlow OBJECT_FIELD_S32(0x22) -#define /*0x110*/ oMarioSteepJumpYaw OBJECT_FIELD_S32(0x22) -#define /*0x110*/ oMarioWalkingPitch OBJECT_FIELD_S32(0x22) +#define /*0x0F4*/ oMarioParticleFlags OBJECT_FIELD_S32(0x1B) +#define /*0x108*/ oMarioPoleUnk108 OBJECT_FIELD_S32(0x20) +#define /*0x108*/ oMarioReadingSignDYaw OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oMarioPoleYawVel OBJECT_FIELD_S32(0x21) +#define /*0x10C*/ oMarioCannonObjectYaw OBJECT_FIELD_S32(0x21) +#define /*0x10C*/ oMarioTornadoYawVel OBJECT_FIELD_S32(0x21) +#define /*0x10C*/ oMarioReadingSignDPosX OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oMarioPolePos OBJECT_FIELD_F32(0x22) +#define /*0x110*/ oMarioCannonInputYaw OBJECT_FIELD_S32(0x22) +#define /*0x110*/ oMarioTornadoPosY OBJECT_FIELD_F32(0x22) +#define /*0x110*/ oMarioReadingSignDPosZ OBJECT_FIELD_F32(0x22) +#define /*0x110*/ oMarioWhirlpoolPosY OBJECT_FIELD_F32(0x22) +#define /*0x110*/ oMarioBurnTimer OBJECT_FIELD_S32(0x22) +#define /*0x110*/ oMarioLongJumpIsSlow OBJECT_FIELD_S32(0x22) +#define /*0x110*/ oMarioSteepJumpYaw OBJECT_FIELD_S32(0x22) +#define /*0x110*/ oMarioWalkingPitch OBJECT_FIELD_S32(0x22) /* 1-Up Hidden */ -#define /*0x0F4*/ o1UpHiddenUnkF4 OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ o1UpHiddenTimesTriggered OBJECT_FIELD_S32(0x1B) /* Activated Back and Forth Platform */ -#define /*0x0F4*/ oActivatedBackAndForthPlatformMaxOffset OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oActivatedBackAndForthPlatformOffset OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oActivatedBackAndForthPlatformVel OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oActivatedBackAndForthPlatformCountdown OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oActivatedBackAndForthPlatformStartYaw OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oActivatedBackAndForthPlatformVertical OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oActivatedBackAndForthPlatformFlipRotation OBJECT_FIELD_S32(0x21) +#define /*0x0F4*/ oActivatedBackAndForthPlatformMaxOffset OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oActivatedBackAndForthPlatformOffset OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oActivatedBackAndForthPlatformVel OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oActivatedBackAndForthPlatformCountdown OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oActivatedBackAndForthPlatformStartYaw OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oActivatedBackAndForthPlatformVertical OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oActivatedBackAndForthPlatformFlipRotation OBJECT_FIELD_S32(0x21) /* Amp */ -#define /*0x0F4*/ oAmpRadiusOfRotation OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oAmpYPhase OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oAmpRadiusOfRotation OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oAmpYPhase OBJECT_FIELD_S32(0x1C) /* Homing Amp */ -#define /*0x0F4*/ oHomingAmpLockedOn OBJECT_FIELD_S32(0x1B) -#define /*0x0FC*/ oHomingAmpAvgY OBJECT_FIELD_F32(0x1D) +#define /*0x0F4*/ oHomingAmpLockedOn OBJECT_FIELD_S32(0x1B) +#define /*0x0FC*/ oHomingAmpAvgY OBJECT_FIELD_F32(0x1D) /* Arrow Lift */ -#define /*0x0F4*/ oArrowLiftDisplacement OBJECT_FIELD_F32(0x1B) -#define /*0x100*/ oArrowLiftUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oArrowLiftDisplacement OBJECT_FIELD_F32(0x1B) /* Back-and-Forth Platform */ -#define /*0x0F4*/ oBackAndForthPlatformDirection OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oBackAndForthPlatformPathLength OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oBackAndForthPlatformDistance OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oBackAndForthPlatformVel OBJECT_FIELD_F32(0x1E) +#define /*0x0F4*/ oBackAndForthPlatformDirection OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oBackAndForthPlatformPathLength OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oBackAndForthPlatformDistance OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oBackAndForthPlatformVel OBJECT_FIELD_F32(0x1E) /* Bird */ -#define /*0x0F4*/ oBirdSpeed OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oBirdTargetPitch OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oBirdTargetYaw OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oBirdSpeed OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ O_BIRD_TARGET_ANGLE_INDEX 0x1C +#define /*0x0F8*/ O_BIRD_TARGET_PITCH_INDEX (O_BIRD_TARGET_ANGLE_INDEX + 0) // 0x1C +#define /*0x0FC*/ O_BIRD_TARGET_YAW_INDEX (O_BIRD_TARGET_ANGLE_INDEX + 1) // 0x1D +#define /*0x100*/ O_BIRD_TARGET_ROLL_INDEX (O_BIRD_TARGET_ANGLE_INDEX + 2) // 0x1E +#define /*0x0F8*/ oBirdTargetAngleVec OBJECT_FIELD_S32(O_BIRD_TARGET_ANGLE_INDEX) +#define /*0x0F8*/ oBirdTargetPitch OBJECT_FIELD_S32(O_BIRD_TARGET_PITCH_INDEX) +#define /*0x0FC*/ oBirdTargetYaw OBJECT_FIELD_S32(O_BIRD_TARGET_YAW_INDEX) +#define /*0x100*/ oBirdTargetRoll OBJECT_FIELD_S32(O_BIRD_TARGET_ROLL_INDEX) // unused /* Bird Chirp Chirp */ -#define /*0x0F4*/ oBirdChirpChirpUnkF4 OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oCheepCheepSpawnerSpawnAmount OBJECT_FIELD_S32(0x1B) /* End Birds */ -#define /*0x104*/ oEndBirdUnk104 OBJECT_FIELD_F32(0x1F) +#define /*0x104*/ oEndBirdCutsceneVars9PointX OBJECT_FIELD_F32(0x1F) /* Hidden Blue Coin */ -#define /*0x0F8*/ oHiddenBlueCoinSwitch OBJECT_FIELD_OBJ(0x1C) +#define /*0x0F8*/ oHiddenBlueCoinSwitch OBJECT_FIELD_OBJ(0x1C) /* Bob-omb */ -#define /*0x0F4*/ oBobombBlinkTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oBobombFuseLit OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oBobombFuseTimer OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oBobombBlinkTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oBobombFuseLit OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oBobombFuseTimer OBJECT_FIELD_S32(0x1D) /* Bob-omb Buddy */ -#define /*0x0F4*/ oBobombBuddyBlinkTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oBobombBuddyHasTalkedToMario OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oBobombBuddyRole OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oBobombBuddyCannonStatus OBJECT_FIELD_S32(0x1E) -#define /*0x108*/ oBobombBuddyPosXCopy OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oBobombBuddyPosYCopy OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oBobombBuddyPosZCopy OBJECT_FIELD_F32(0x22) +#define /*0x0F4*/ oBobombBuddyBlinkTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oBobombBuddyHasTalkedToMario OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oBobombBuddyRole OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oBobombBuddyCannonStatus OBJECT_FIELD_S32(0x1E) +#define /*0x108*/ O_BOBOMB_BUDDY_POS_COPY_INDEX 0x20 +#define /*0x108*/ O_BOBOMB_BUDDY_POS_X_COPY_INDEX (O_BOBOMB_BUDDY_POS_COPY_INDEX + 0) // 0x20 +#define /*0x10C*/ O_BOBOMB_BUDDY_POS_Y_COPY_INDEX (O_BOBOMB_BUDDY_POS_COPY_INDEX + 1) // 0x21 +#define /*0x110*/ O_BOBOMB_BUDDY_POS_Z_COPY_INDEX (O_BOBOMB_BUDDY_POS_COPY_INDEX + 2) // 0x22 +#define /*0x108*/ oBobombBuddyPosCopyVec OBJECT_FIELD_F32(O_BOBOMB_BUDDY_POS_COPY_INDEX) +#define /*0x108*/ oBobombBuddyPosXCopy OBJECT_FIELD_F32(O_BOBOMB_BUDDY_POS_X_COPY_INDEX) +#define /*0x10C*/ oBobombBuddyPosYCopy OBJECT_FIELD_F32(O_BOBOMB_BUDDY_POS_Y_COPY_INDEX) +#define /*0x110*/ oBobombBuddyPosZCopy OBJECT_FIELD_F32(O_BOBOMB_BUDDY_POS_Z_COPY_INDEX) /* Bob-omb Explosion Bubble */ -#define /*0x0FC*/ oBobombExpBubGfxScaleFacX OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oBobombExpBubGfxScaleFacY OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oBobombExpBubGfxExpRateX OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oBobombExpBubGfxExpRateY OBJECT_FIELD_S32(0x20) +#define /*0x0FC*/ oBobombExpBubGfxScaleFacX OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oBobombExpBubGfxScaleFacY OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oBobombExpBubGfxExpRateX OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oBobombExpBubGfxExpRateY OBJECT_FIELD_S32(0x20) /* Bomp (Small) */ -#define /*0x100*/ oSmallBompInitX OBJECT_FIELD_F32(0x1E) +#define /*0x100*/ oSmallBompInitX OBJECT_FIELD_F32(0x1E) /* Boo */ -#define /*0x088*/ oBooDeathStatus OBJECT_FIELD_S32(0x00) -#define /*0x0F4*/ oBooTargetOpacity OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oBooBaseScale OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oBooOscillationTimer OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oBooMoveYawDuringHit OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oBooMoveYawBeforeHit OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oBooParentBigBoo OBJECT_FIELD_OBJ(0x20) -#define /*0x10C*/ oBooNegatedAggressiveness OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oBooInitialMoveYaw OBJECT_FIELD_S32(0x22) -#define /*0x1B0*/ oBooTurningSpeed OBJECT_FIELD_S16(0x4A, 0) +#define /*0x088*/ oBooDeathStatus OBJECT_FIELD_S32(0x00) +#define /*0x0F4*/ oBooTargetOpacity OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oBooBaseScale OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oBooOscillationTimer OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oBooMoveYawDuringHit OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oBooMoveYawBeforeHit OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oBooParentBigBoo OBJECT_FIELD_OBJ(0x20) +#define /*0x10C*/ oBooNegatedAggressiveness OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oBooInitialMoveYaw OBJECT_FIELD_S32(0x22) +#define /*0x1B0*/ oBooTurningSpeed OBJECT_FIELD_S16(0x4A, 0) /* Big Boo */ -#define /*0x1AC*/ oBigBooNumMinionBoosKilled OBJECT_FIELD_S32(0x49) +#define /*0x1AC*/ oBigBooNumMinionBoosKilled OBJECT_FIELD_S32(0x49) /* Bookend */ -#define /*0x0F4*/ oBookendUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oBookendUnkF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oBookendTargetPitch OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oBookendTargetRoll OBJECT_FIELD_S32(0x1C) /* Book Switch */ -#define /*0x0F4*/ oBookSwitchUnkF4 OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oBookSwitchDistFromHome OBJECT_FIELD_F32(0x1B) /* Book Switch Manager */ -#define /*0x0F4*/ oBookSwitchManagerUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oBookSwitchManagerUnkF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oBookSwitchManagerNumCorrectChoices OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oBookSwitchManagerIsActive OBJECT_FIELD_S32(0x1C) /* Haunted Bookshelf */ -#define /*0x088*/ oHauntedBookshelfShouldOpen OBJECT_FIELD_S32(0x00) +#define /*0x088*/ oHauntedBookshelfShouldOpen OBJECT_FIELD_S32(0x00) /* Bouncing FireBall */ -#define /*0x0F4*/ oBouncingFireBallUnkF4 OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oBouncingFireBallSpawnerRandomCooldown OBJECT_FIELD_S32(0x1B) /* Bowling Ball */ -#define /*0x0F4*/ oBowlingBallTargetYaw OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oBowlingBallTargetYaw OBJECT_FIELD_S32(0x1B) // 0x1D-0x21 reserved for pathing /* Bowling Ball Spawner (Generic) */ -#define /*0x0F4*/ oBBallSpawnerMaxSpawnDist OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oBBallSpawnerSpawnOdds OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oBBallSpawnerPeriodMinus1 OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oBBallSpawnerMaxSpawnDist OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oBBallSpawnerSpawnOdds OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oBBallSpawnerPeriodMinus1 OBJECT_FIELD_S32(0x1D) /* Bowser */ -#define /*0x088*/ oBowserCamAct OBJECT_FIELD_S32(0x00) -#define /*0x0F4*/ oBowserStatus OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oBowserTimer OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oBowserDistToCentre OBJECT_FIELD_F32(0x1D) -#define /*0x106*/ oBowserBitsJustJump OBJECT_FIELD_S16(0x1F, 1) -#define /*0x108*/ oBowserRandSplitFloor OBJECT_FIELD_S16(0x20, 0) -#define /*0x10A*/ oBowserHeldAnglePitch OBJECT_FIELD_S16(0x20, 1) -#define /*0x10D*/ oBowserHeldAngleVelYaw OBJECT_FIELD_S16(0x21, 0) -#define /*0x10E*/ oBowserGrabbedStatus OBJECT_FIELD_S16(0x21, 1) -#define /*0x110*/ oBowserIsReacting OBJECT_FIELD_S16(0x22, 0) -#define /*0x112*/ oBowserAngleToCentre OBJECT_FIELD_S16(0x22, 1) -#define /*0x1AC*/ oBowserTargetOpacity OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oBowserEyesTimer OBJECT_FIELD_S16(0x49, 1) -#define /*0x1B0*/ oBowserEyesShut OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oBowserRainbowLight OBJECT_FIELD_S16(0x4A, 1) +#define /*0x088*/ oBowserCamAct OBJECT_FIELD_S32(0x00) +#define /*0x0F4*/ oBowserStatus OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oBowserTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oBowserDistToCentre OBJECT_FIELD_F32(0x1D) +#define /*0x106*/ oBowserBitsJustJump OBJECT_FIELD_S16(0x1F, 1) +#define /*0x108*/ oBowserRandSplitFloor OBJECT_FIELD_S16(0x20, 0) +#define /*0x10A*/ oBowserHeldAnglePitch OBJECT_FIELD_S16(0x20, 1) +#define /*0x10D*/ oBowserHeldAngleVelYaw OBJECT_FIELD_S16(0x21, 0) +#define /*0x10E*/ oBowserGrabbedStatus OBJECT_FIELD_S16(0x21, 1) +#define /*0x110*/ oBowserIsReacting OBJECT_FIELD_S16(0x22, 0) +#define /*0x112*/ oBowserAngleToCentre OBJECT_FIELD_S16(0x22, 1) +#define /*0x1AC*/ oBowserTargetOpacity OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oBowserEyesTimer OBJECT_FIELD_S16(0x49, 1) +#define /*0x1B0*/ oBowserEyesShut OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oBowserRainbowLight OBJECT_FIELD_S16(0x4A, 1) /* Bowser Shockwave */ -#define /*0x0F4*/ oBowserShockWaveScale OBJECT_FIELD_F32(0x1B) - -/* Black Smoke Bowser */ -#define /*0x0F4*/ oBlackSmokeBowserUnkF4 OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oBowserShockWaveScale OBJECT_FIELD_F32(0x1B) /* Bowser Key Cutscene */ -#define /*0x0F4*/ oBowserKeyScale OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oBowserKeyScale OBJECT_FIELD_F32(0x1B) /* Bowser Puzzle */ -#define /*0x0F4*/ oBowserPuzzleCompletionFlags OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oBowserPuzzleCompletionFlags OBJECT_FIELD_S32(0x1B) /* Bowser Puzzle Piece */ -#define /*0x0FC*/ oBowserPuzzlePieceOffsetX OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oBowserPuzzlePieceOffsetY OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oBowserPuzzlePieceOffsetZ OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oBowserPuzzlePieceContinuePerformingAction OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oBowserPuzzlePieceActionList OBJECT_FIELD_VPTR(0x21) -#define /*0x110*/ oBowserPuzzlePieceNextAction OBJECT_FIELD_VPTR(0x22) +#define /*0x0FC*/ O_BOWSER_PUZZLE_PIECE_OFFSET_INDEX 0x1D +#define /*0x0FC*/ O_BOWSER_PUZZLE_PIECE_OFFSET_X_INDEX (O_BOWSER_PUZZLE_PIECE_OFFSET_INDEX + 0) // 0x1D +#define /*0x100*/ O_BOWSER_PUZZLE_PIECE_OFFSET_Y_INDEX (O_BOWSER_PUZZLE_PIECE_OFFSET_INDEX + 1) // 0x1E +#define /*0x104*/ O_BOWSER_PUZZLE_PIECE_OFFSET_Z_INDEX (O_BOWSER_PUZZLE_PIECE_OFFSET_INDEX + 2) // 0x1F +#define /*0x0FC*/ oBowserPuzzlePieceOffsetVec OBJECT_FIELD_F32(O_BOWSER_PUZZLE_PIECE_OFFSET_INDEX) +#define /*0x0FC*/ oBowserPuzzlePieceOffsetX OBJECT_FIELD_F32(O_BOWSER_PUZZLE_PIECE_OFFSET_X_INDEX) +#define /*0x100*/ oBowserPuzzlePieceOffsetY OBJECT_FIELD_F32(O_BOWSER_PUZZLE_PIECE_OFFSET_Y_INDEX) +#define /*0x104*/ oBowserPuzzlePieceOffsetZ OBJECT_FIELD_F32(O_BOWSER_PUZZLE_PIECE_OFFSET_Z_INDEX) +#define /*0x108*/ oBowserPuzzlePieceContinuePerformingAction OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oBowserPuzzlePieceActionList OBJECT_FIELD_VPTR(0x21) +#define /*0x110*/ oBowserPuzzlePieceNextAction OBJECT_FIELD_VPTR(0x22) /* Bubba */ -#define /*0x0F4*/ oBubbaUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oBubbaUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oBubbaUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oBubbaUnk100 OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oBubbaUnk104 OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oBubbaUnk108 OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oBubbaUnk10C OBJECT_FIELD_F32(0x21) -#define /*0x1AC*/ oBubbaUnk1AC OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oBubbaUnk1AE OBJECT_FIELD_S16(0x49, + 1) -#define /*0x1B0*/ oBubbaUnk1B0 OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oBubbaUnk1B2 OBJECT_FIELD_S16(0x4A, + 1) +#define /*0x0F4*/ oBubbaMovePitch OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oBubbaRandomTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oBubbaHitWall OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oBubbaLungeTimer OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oBubbaNextTargetPitchTowardMario OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oBubbaAirVelY OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oBubbaJumpHeight OBJECT_FIELD_F32(0x21) +#define /*0x1AC*/ oBubbaTargetPitch OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oBubbaTargetYaw OBJECT_FIELD_S16(0x49, + 1) +#define /*0x1B0*/ oBubbaPitchVel OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oBubbaYawVel OBJECT_FIELD_S16(0x4A, + 1) /* Bullet Bill */ -#define /*0x0F8*/ oBulletBillInitialMoveYaw OBJECT_FIELD_S32(0x1C) +#define /*0x0F8*/ oBulletBillInitialMoveYaw OBJECT_FIELD_S32(0x1C) /* Bully (all variants) */ -#define /*0x0F4*/ oBullySubtype OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oBullyPrevX OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oBullyPrevY OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oBullyPrevZ OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oBullyKBTimerAndMinionKOCounter OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oBullyMarioCollisionAngle OBJECT_FIELD_S32(0x20) +#define /*0x0F4*/ oBullySubtype OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ O_BULLY_PREV_INDEX 0x1C +#define /*0x0F8*/ O_BULLY_PREV_X_INDEX (O_BULLY_PREV_INDEX + 0) // 0x1C +#define /*0x0FC*/ O_BULLY_PREV_Y_INDEX (O_BULLY_PREV_INDEX + 1) // 0x1D +#define /*0x100*/ O_BULLY_PREV_Z_INDEX (O_BULLY_PREV_INDEX + 2) // 0x1E +#define /*0x0F8*/ oBullyPrevVec OBJECT_FIELD_F32(O_BULLY_PREV_INDEX) +#define /*0x0F8*/ oBullyPrevX OBJECT_FIELD_F32(O_BULLY_PREV_X_INDEX) +#define /*0x0FC*/ oBullyPrevY OBJECT_FIELD_F32(O_BULLY_PREV_Y_INDEX) +#define /*0x100*/ oBullyPrevZ OBJECT_FIELD_F32(O_BULLY_PREV_Z_INDEX) +#define /*0x104*/ oBullyKBTimerAndMinionKOCounter OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oBullyMarioCollisionAngle OBJECT_FIELD_S32(0x20) /* Butterfly */ -#define /*0x0F4*/ oButterflyYPhase OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oButterflyYPhase OBJECT_FIELD_S32(0x1B) /* Triplet Butterfly */ -#define /*0x0F4*/ oTripletButterflyScale OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oTripletButterflySpeed OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oTripletButterflyBaseYaw OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oTripletButterflyTargetPitch OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oTripletButterflyTargetYaw OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oTripletButterflyType OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oTripletButterflyModel OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oTripletButterflySelectedButterfly OBJECT_FIELD_S32(0x22) -#define /*0x1AC*/ oTripletButterflyScalePhase OBJECT_FIELD_S32(0x49) +#define /*0x0F4*/ oTripletButterflyScale OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oTripletButterflySpeed OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oTripletButterflyBaseYaw OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oTripletButterflyTargetPitch OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oTripletButterflyTargetYaw OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oTripletButterflyType OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oTripletButterflyModel OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oTripletButterflySelectedButterfly OBJECT_FIELD_S32(0x22) +#define /*0x1AC*/ oTripletButterflyScalePhase OBJECT_FIELD_S32(0x49) /* Cannon */ -#define /*0x0F4*/ oCannonUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oCannonUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x10C*/ oCannonUnk10C OBJECT_FIELD_S32(0x21) +#define /*0x0F4*/ oCannonAngle OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oCannonTimeSinceActivated OBJECT_FIELD_S32(0x1C) +#define /*0x10C*/ oCannonIsActive OBJECT_FIELD_S32(0x21) /* Cap */ -#define /*0x0F4*/ oCapUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oCapUnkF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oCapDoScaleVertically OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oCapScaleAngle OBJECT_FIELD_S32(0x1C) /* Chain Chomp */ -#define /*0x0F4*/ oChainChompSegments OBJECT_FIELD_CHAIN_SEGMENT(0x1B) -#define /*0x0F8*/ oChainChompMaxDistFromPivotPerChainPart OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oChainChompMaxDistBetweenChainParts OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oChainChompDistToPivot OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oChainChompUnk104 OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oChainChompRestrictedByChain OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oChainChompTargetPitch OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oChainChompNumLunges OBJECT_FIELD_S32(0x22) -#define /*0x1AC*/ oChainChompReleaseStatus OBJECT_FIELD_S32(0x49) -#define /*0x1B0*/ oChainChompHitGate OBJECT_FIELD_S32(0x4A) +#define /*0x0F4*/ oChainChompSegments OBJECT_FIELD_CHAIN_SEGMENT(0x1B) +#define /*0x0F8*/ oChainChompMaxDistFromPivotPerChainPart OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oChainChompMaxDistBetweenChainParts OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oChainChompDistToPivot OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oChainChompSignedMaxDistBetweenChainParts OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oChainChompRestrictedByChain OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oChainChompTargetPitch OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oChainChompNumLunges OBJECT_FIELD_S32(0x22) +#define /*0x1AC*/ oChainChompReleaseStatus OBJECT_FIELD_S32(0x49) +#define /*0x1B0*/ oChainChompHitGate OBJECT_FIELD_S32(0x4A) /* Checkerboard Platform */ -#define /*0x0F8*/ oCheckerBoardPlatformUnkF8 OBJECT_FIELD_S32(0x1C) // oAction like -#define /*0x0FC*/ oCheckerBoardPlatformUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x1AC*/ oCheckerBoardPlatformUnk1AC OBJECT_FIELD_F32(0x49) +#define /*0x0F8*/ oCheckerBoardPlatformRotateAction OBJECT_FIELD_S32(0x1C) // oAction like +#define /*0x0FC*/ oCheckerBoardPlatformHeight OBJECT_FIELD_S32(0x1D) +#define /*0x1AC*/ oCheckerBoardPlatformRadius OBJECT_FIELD_F32(0x49) /* Cheep Cheep */ -#define /*0x0F4*/ oCheepCheepUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oCheepCheepUnkF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oCheepCheepUnkFC OBJECT_FIELD_F32(0x1D) -#define /*0x104*/ oCheepCheepUnk104 OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oCheepCheepUnk108 OBJECT_FIELD_F32(0x20) +#define /*0x0F4*/ oCheepCheepWaterLevel OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oCheepCheepTargetY OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oCheepCheepTargetYOffset OBJECT_FIELD_F32(0x1D) +#define /*0x104*/ oCheepCheepMaxYOffset OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oCheepCheepRandomSwimAway OBJECT_FIELD_F32(0x20) /* Chuckya */ -#define /*0x088*/ oChuckyaUnk88 OBJECT_FIELD_S32(0x00) -#define /*0x0F8*/ oChuckyaUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oChuckyaUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oChuckyaUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x088*/ oCommonAnchorAction OBJECT_FIELD_S32(0x00) +#define /*0x0F8*/ oChuckyaUnused OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oChuckyaSubActionTimer OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oChuckyaNumPlayerEscapeActions OBJECT_FIELD_S32(0x1E) /* Clam */ -#define /*0x0F4*/ oClamUnkF4 OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oClamShakeTimer OBJECT_FIELD_S32(0x1B) /* Cloud */ -#define /*0x0F4*/ oCloudCenterX OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oCloudCenterY OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oCloudBlowing OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oCloudGrowSpeed OBJECT_FIELD_F32(0x1E) -#define /*0x1AC*/ oCloudFwooshMovementRadius OBJECT_FIELD_S16(0x49, 0) +#define /*0x0F4*/ oCloudCenterX OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oCloudCenterY OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oCloudBlowing OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oCloudGrowSpeed OBJECT_FIELD_F32(0x1E) +#define /*0x1AC*/ oCloudFwooshMovementRadius OBJECT_FIELD_S16(0x49, 0) /* Coin */ -#define /*0x0F4*/ oCoinUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oCoinUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x110*/ oCoinUnk110 OBJECT_FIELD_F32(0x22) +#define /*0x0F4*/ oCoinRespawnBits OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oCoinSnapToGround OBJECT_FIELD_S32(0x1C) +#define /*0x110*/ oCoinBaseYVel OBJECT_FIELD_F32(0x22) #ifndef VERSION_JP -#define /*0x1B0*/ oCoinUnk1B0 OBJECT_FIELD_S32(0x4A) +#define /*0x1B0*/ oCoinBounceTimer OBJECT_FIELD_S32(0x4A) #endif /* Collision Particle */ -#define /*0x0F4*/ oCollisionParticleUnkF4 OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oCollisionParticleScale OBJECT_FIELD_F32(0x1B) /* Controllable Platform */ -#define /*0x0F8*/ oControllablePlatformUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oControllablePlatformUnkFC OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oControllablePlatformUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F8*/ oControllablePlatformWallHitDirection OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oControllablePlatformInitPosY OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oControllablePlatformIsFarFromMario OBJECT_FIELD_S32(0x1E) /* Breakable Box Small (Small Cork Box) */ -#define /*0x0F4*/ oBreakableBoxSmallReleased OBJECT_FIELD_S32(0x1B) -#define /*0x0FC*/ oBreakableBoxSmallFramesSinceReleased OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oBreakableBoxSmallReleased OBJECT_FIELD_S32(0x1B) +#define /*0x0FC*/ oBreakableBoxSmallFramesSinceReleased OBJECT_FIELD_S32(0x1D) /* Jumping Box (Crazy Box) */ -#define /*0x0F4*/ oJumpingBoxUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oJumpingBoxUnkF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oJumpingBoxUnusedTimerMin OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oJumpingBoxRandomTimer OBJECT_FIELD_S32(0x1C) /* RR Cruiser Wing */ -#define /*0x0F4*/ oRRCruiserWingUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oRRCruiserWingUnkF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oRRCruiserWingInitYaw OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oRRCruiserWingInitPitch OBJECT_FIELD_S32(0x1C) /* Donut Platform Spawner */ -#define /*0x0F4*/ oDonutPlatformSpawnerSpawnedPlatforms OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oDonutPlatformSpawnerSpawnedPlatforms OBJECT_FIELD_S32(0x1B) /* Door */ -#define /*0x088*/ oDoorUnk88 OBJECT_FIELD_S32(0x00) -#define /*0x0F8*/ oDoorUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oDoorUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oDoorUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x088*/ oDoorIsRendering OBJECT_FIELD_S32(0x00) +#define /*0x0F8*/ oDoorSelfRoom OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oDoorForwardRoom OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oDoorBackwardRoom OBJECT_FIELD_S32(0x1E) /* Dorrie */ -#define /*0x0F4*/ oDorrieDistToHome OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oDorrieOffsetY OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oDorrieVelY OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oDorrieForwardDistToMario OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oDorrieYawVel OBJECT_FIELD_S32(0x1F) -#define /*0x10C*/ oDorrieLiftingMario OBJECT_FIELD_S32(0x21) -#define /*0x1AC*/ oDorrieGroundPounded OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oDorrieAngleToHome OBJECT_FIELD_S16(0x49, + 1) -#define /*0x1B0*/ oDorrieNeckAngle OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oDorrieHeadRaiseSpeed OBJECT_FIELD_S16(0x4A, + 1) +#define /*0x0F4*/ oDorrieDistToHome OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oDorrieOffsetY OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oDorrieVelY OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oDorrieForwardDistToMario OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oDorrieYawVel OBJECT_FIELD_S32(0x1F) +#define /*0x10C*/ oDorrieLiftingMario OBJECT_FIELD_S32(0x21) +#define /*0x1AC*/ oDorrieGroundPounded OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oDorrieAngleToHome OBJECT_FIELD_S16(0x49, + 1) +#define /*0x1B0*/ oDorrieNeckAngle OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oDorrieHeadRaiseSpeed OBJECT_FIELD_S16(0x4A, + 1) /* Elevator */ -#define /*0x0F4*/ oElevatorUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oElevatorUnkF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oElevatorUnkFC OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oElevatorUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oElevatorMinY OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oElevatorMaxY OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oElevatorMidY OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oElevatorType OBJECT_FIELD_S32(0x1E) /* Exclamation Box */ -#define /*0x0F4*/ oExclamationBoxUnkF4 OBJECT_FIELD_F32(0x1B) // scale? -#define /*0x0F8*/ oExclamationBoxUnkF8 OBJECT_FIELD_F32(0x1C) // scale? -#define /*0x0FC*/ oExclamationBoxUnkFC OBJECT_FIELD_S32(0x1D) // angle? +#define /*0x0F4*/ oExclamationBoxHorizontalScale OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oExclamationBoxVerticalScale OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oExclamationBoxScaleAngle OBJECT_FIELD_S32(0x1D) /* Eyerok Boss */ -#define /*0x0F8*/ oEyerokBossNumHands OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oEyerokBossUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oEyerokBossActiveHand OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oEyerokBossUnk104 OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oEyerokBossUnk108 OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oEyerokBossUnk10C OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oEyerokBossUnk110 OBJECT_FIELD_F32(0x22) -#define /*0x1AC*/ oEyerokBossUnk1AC OBJECT_FIELD_S32(0x49) +#define /*0x0F8*/ oEyerokBossNumHands OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oEyerokBossAttackPhase OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oEyerokBossActiveHand OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oEyerokBossAttackCountdown OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oEyerokBossFightSideZ OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oEyerokBossClampedMarioPosZ OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oEyerokBossOffsetFromHome OBJECT_FIELD_F32(0x22) +#define /*0x1AC*/ oEyerokBossActiveHandId OBJECT_FIELD_S32(0x49) /* Eyerok Hand */ -#define /*0x0F4*/ oEyerokHandWakeUpTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oEyerokReceivedAttack OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oEyerokHandUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oEyerokHandUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oEyerokHandWakeUpTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oEyerokReceivedAttack OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oEyerokHandAnimStateIndex OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oEyerokHandEyeShownTimer OBJECT_FIELD_S32(0x1E) /* Falling Pillar */ -#define /*0x0F4*/ oFallingPillarPitchAcceleration OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oFallingPillarPitchAcceleration OBJECT_FIELD_F32(0x1B) /* Fire Spitter */ -#define /*0x0F4*/ oFireSpitterScaleVel OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oFireSpitterScaleVel OBJECT_FIELD_F32(0x1B) /* Blue Fish */ -#define /*0x0F4*/ oBlueFishRandomVel OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oBlueFishRandomTime OBJECT_FIELD_S32(0x1C) -#define /*0x100*/ oBlueFishRandomAngle OBJECT_FIELD_F32(0x1E) +#define /*0x0F4*/ oBlueFishRandomVel OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oBlueFishRandomTime OBJECT_FIELD_S32(0x1C) +#define /*0x100*/ oBlueFishRandomAngle OBJECT_FIELD_F32(0x1E) /* Fish Group */ -#define /*0x0F4*/ oFishWaterLevel OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oFishGoalY OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oFishHeightOffset OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oFishYawVel OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oFishRoamDistance OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oFishGoalVel OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oFishDepthDistance OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oFishActiveDistance OBJECT_FIELD_F32(0x22) +#define /*0x0F4*/ oFishWaterLevel OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oFishGoalY OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oFishHeightOffset OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oFishYawVel OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oFishRoamDistance OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oFishGoalVel OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oFishDepthDistance OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oFishActiveDistance OBJECT_FIELD_F32(0x22) /* Flame */ -#define /*0x0F4*/ oFlameScale OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oFlameSpeedTimerOffset OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oFlameUnusedRand OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oFlameBowser OBJECT_FIELD_OBJ(0x1E) +#define /*0x0F4*/ oFlameScale OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oFlameSpeedTimerOffset OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oFlameUnusedRand OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oFlameBowser OBJECT_FIELD_OBJ(0x1E) /* Blue Flame */ -#define /*0x0F8*/ oBlueFlameNextScale OBJECT_FIELD_F32(0x1C) +#define /*0x0F8*/ oBlueFlameNextScale OBJECT_FIELD_F32(0x1C) /* Small Piranha Flame */ -#define /*0x0F4*/ oSmallPiranhaFlameStartSpeed OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oSmallPiranhaFlameEndSpeed OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oSmallPiranhaFlameModel OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oSmallPiranhaFlameNextFlameTimer OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oSmallPiranhaFlameSpeed OBJECT_FIELD_F32(0x1F) +#define /*0x0F4*/ oSmallPiranhaFlameStartSpeed OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oSmallPiranhaFlameEndSpeed OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oSmallPiranhaFlameModel OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oSmallPiranhaFlameNextFlameTimer OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oSmallPiranhaFlameSpeed OBJECT_FIELD_F32(0x1F) /* Moving Flame */ -#define /*0x0F4*/ oMovingFlameTimer OBJECT_FIELD_S32(0x1B) - -/* Flamethrower Flame */ -#define /*0x110*/ oFlameThowerFlameUnk110 OBJECT_FIELD_S32(0x22) +#define /*0x0F4*/ oMovingFlameTimer OBJECT_FIELD_S32(0x1B) /* Flamethrower */ -#define /*0x110*/ oFlameThowerUnk110 OBJECT_FIELD_S32(0x22) +#define /*0x110*/ oFlameThowerTimeRemaining OBJECT_FIELD_S32(0x22) /* Floating Platform */ -#define /*0x0F4*/ oFloatingPlatformUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oFloatingPlatformUnkF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oFloatingPlatformUnkFC OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oFloatingPlatformUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oFloatingPlatformIsOnFloor OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oFloatingPlatformMarioWeightWobbleOffset OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oFloatingPlatformHeightOffset OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oFloatingPlatformWaterSurfaceWobbleOffset OBJECT_FIELD_S32(0x1E) /* Floor Switch Press Animation */ -#define /*0x0F4*/ oFloorSwitchPressAnimationUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oFloorSwitchPressAnimationUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oFloorSwitchPressAnimationUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oFloorSwitchPressAnimationUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oFloorSwitchPressAnimationTickTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oFloorSwitchPressAnimationDoubleFrame OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oFloorSwitchPressAnimationDoResetTime OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oFloorSwitchPressAnimationSwitchNotTicking OBJECT_FIELD_S32(0x1E) /* Fly Guy */ -#define /*0x0F4*/ oFlyGuyIdleTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oFlyGuyOscTimer OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oFlyGuyUnusedJitter OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oFlyGuyLungeYDecel OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oFlyGuyLungeTargetPitch OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oFlyGuyTargetRoll OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oFlyGuyScaleVel OBJECT_FIELD_F32(0x21) +#define /*0x0F4*/ oFlyGuyIdleTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oFlyGuyOscTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oFlyGuyUnusedJitter OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oFlyGuyLungeYDecel OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oFlyGuyLungeTargetPitch OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oFlyGuyTargetRoll OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oFlyGuyScaleVel OBJECT_FIELD_F32(0x21) /* Grand Star */ -#define /*0x108*/ oGrandStarUnk108 OBJECT_FIELD_S32(0x20) +#define /*0x108*/ oGrandStarArcTime OBJECT_FIELD_S32(0x20) /* Horizontal Grindel */ -#define /*0x0F4*/ oHorizontalGrindelTargetYaw OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oHorizontalGrindelDistToHome OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oHorizontalGrindelOnGround OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oHorizontalGrindelTargetYaw OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oHorizontalGrindelDistToHome OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oHorizontalGrindelOnGround OBJECT_FIELD_S32(0x1D) /* Goomba */ -#define /*0x0F4*/ oGoombaSize OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oGoombaScale OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oGoombaWalkTimer OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oGoombaTargetYaw OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oGoombaBlinkTimer OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oGoombaTurningAwayFromWall OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oGoombaRelativeSpeed OBJECT_FIELD_F32(0x21) +#define /*0x0F4*/ oGoombaSize OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oGoombaScale OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oGoombaWalkTimer OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oGoombaTargetYaw OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oGoombaBlinkTimer OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oGoombaTurningAwayFromWall OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oGoombaRelativeSpeed OBJECT_FIELD_F32(0x21) /* Haunted Chair */ -#define /*0x0F4*/ oHauntedChairUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oHauntedChairUnkF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oHauntedChairUnkFC OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oHauntedChairUnk100 OBJECT_FIELD_S32P(0x1E) -#define /*0x104*/ oHauntedChairUnk104 OBJECT_FIELD_S32(0x1F) +#define /*0x0F4*/ oHauntedChairSpinTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oHauntedChairPitchVel OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oHauntedChairRollVel OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oHauntedChairFallFromPianoAngle OBJECT_FIELD_S32P(0x1E) +#define /*0x104*/ oHauntedChairFallTargetAngle OBJECT_FIELD_S32(0x1F) /* Heave-Ho */ -#define /*0x088*/ oHeaveHoUnk88 OBJECT_FIELD_S32(0x00) -#define /*0x0F4*/ oHeaveHoUnkF4 OBJECT_FIELD_F32(0x1B) +#define /*0x088*/ oHeaveHoThrowState OBJECT_FIELD_S32(0x00) +#define /*0x0F4*/ oHeaveHoTimedSpeed OBJECT_FIELD_F32(0x1B) /* Hidden Object */ -#define /*0x0F4*/ oHiddenObjectUnkF4 OBJECT_FIELD_OBJ(0x1B) +#define /*0x0F4*/ oHiddenObjectSwitchObj OBJECT_FIELD_OBJ(0x1B) /* Hoot */ -#define /*0x0F4*/ oHootAvailability OBJECT_FIELD_S32(0x1B) -#define /*0x110*/ oHootMarioReleaseTime OBJECT_FIELD_S32(0x22) +#define /*0x0F4*/ oHootAvailability OBJECT_FIELD_S32(0x1B) +#define /*0x110*/ oHootMarioReleaseTime OBJECT_FIELD_S32(0x22) /* Horizontal Movement */ -#define /*0x0F4*/ oLllOctMeshWaveTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oLllOctMeshActionOffset OBJECT_FIELD_S32(0x1C) -#define /*0x100*/ oLllOctMeshWaveOffset1 OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oLllOctMeshStandTimer OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oLllOctMeshWaveOffset2 OBJECT_FIELD_F32(0x20) +#define /*0x0F4*/ oLllOctMeshWaveTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oLllOctMeshActionOffset OBJECT_FIELD_S32(0x1C) +#define /*0x100*/ oLllOctMeshWaveYOffset OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oLllOctMeshStandTimer OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oLllOctMeshYOffsetFromHome OBJECT_FIELD_F32(0x20) /* Kickable Board */ -#define /*0x0F4*/ oKickableBoardF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oKickableBoardF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oKickableBoardRockingAngleAmount OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oKickableBoardRockingTimer OBJECT_FIELD_S32(0x1C) /* King Bob-omb */ -#define /*0x088*/ oKingBobombUnk88 OBJECT_FIELD_S32(0x00) -#define /*0x0F8*/ oKingBobombUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oKingBobombUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oKingBobombUnk100 OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oKingBobombUnk104 OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oKingBobombUnk108 OBJECT_FIELD_S32(0x20) +#define /*0x088*/ oKingBobombHoldingMarioState OBJECT_FIELD_S32(0x00) +#define /*0x0F8*/ oKingBobombIsJumping OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oKingBobombPlayerGrabEscapeActions OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oKingBobombShouldStomp OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oKingBobombStationaryTimer OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oKingBobombPlayerGrabEscapeCooldown OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oKingBobombBlinkTimer OBJECT_FIELD_S32(0x21) /* Klepto */ -#define /*0x0F4*/ oKleptoDistanceToTarget OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oKleptoUnkF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oKleptoUnkFC OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oKleptoSpeed OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oKleptoStartPosX OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oKleptoStartPosY OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oKleptoStartPosZ OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oKleptoTimeUntilTargetChange OBJECT_FIELD_S32(0x22) -#define /*0x1AC*/ oKleptoTargetNumber OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oKleptoUnk1AE OBJECT_FIELD_S16(0x49, + 1) -#define /*0x1B0*/ oKleptoUnk1B0 OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oKleptoYawToTarget OBJECT_FIELD_S16(0x4A, + 1) +#define /*0x0F4*/ oKleptoDistanceToTarget OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oKleptoHomeYOffset OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oKleptoHalfLateralDistToHome OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oKleptoSpeed OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ O_KLEPTO_START_POS_INDEX 0x1F +#define /*0x104*/ O_KLEPTO_START_POS_X_INDEX (O_KLEPTO_START_POS_INDEX + 0) // 0x1F +#define /*0x108*/ O_KLEPTO_START_POS_Y_INDEX (O_KLEPTO_START_POS_INDEX + 1) // 0x20 +#define /*0x10C*/ O_KLEPTO_START_POS_Z_INDEX (O_KLEPTO_START_POS_INDEX + 2) // 0x21 +#define /*0x104*/ oKleptoStartPosVec OBJECT_FIELD_F32(O_KLEPTO_START_POS_INDEX) +#define /*0x104*/ oKleptoStartPosX OBJECT_FIELD_F32(O_KLEPTO_START_POS_X_INDEX) +#define /*0x108*/ oKleptoStartPosY OBJECT_FIELD_F32(O_KLEPTO_START_POS_Y_INDEX) +#define /*0x10C*/ oKleptoStartPosZ OBJECT_FIELD_F32(O_KLEPTO_START_POS_Z_INDEX) +#define /*0x110*/ oKleptoTimeUntilTargetChange OBJECT_FIELD_S32(0x22) +#define /*0x1AC*/ oKleptoTargetNumber OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oKleptoDiveTimer OBJECT_FIELD_S16(0x49, + 1) +#define /*0x1B0*/ oKleptoPitchToTarget OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oKleptoYawToTarget OBJECT_FIELD_S16(0x4A, + 1) /* Koopa */ -#define /*0x0F4*/ oKoopaAgility OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oKoopaMovementType OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oKoopaTargetYaw OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oKoopaUnshelledTimeUntilTurn OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oKoopaTurningAwayFromWall OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oKoopaDistanceToMario OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oKoopaAngleToMario OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oKoopaBlinkTimer OBJECT_FIELD_S32(0x22) -#define /*0x1AC*/ oKoopaCountdown OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oKoopaTheQuickRaceIndex OBJECT_FIELD_S16(0x49, 1) -#define /*0x1B0*/ oKoopaTheQuickInitTextboxCooldown OBJECT_FIELD_S16(0x4A, 0) +#define /*0x0F4*/ oKoopaAgility OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oKoopaMovementType OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oKoopaTargetYaw OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oKoopaUnshelledTimeUntilTurn OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oKoopaTurningAwayFromWall OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oKoopaDistanceToMario OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oKoopaAngleToMario OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oKoopaBlinkTimer OBJECT_FIELD_S32(0x22) +#define /*0x1AC*/ oKoopaCountdown OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oKoopaTheQuickRaceIndex OBJECT_FIELD_S16(0x49, 1) +#define /*0x1B0*/ oKoopaTheQuickInitTextboxCooldown OBJECT_FIELD_S16(0x4A, 0) // 0x1D-0x21 for koopa the quick reserved for pathing /* Koopa Race Endpoint */ -#define /*0x0F4*/ oKoopaRaceEndpointRaceBegun OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oKoopaRaceEndpointKoopaFinished OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oKoopaRaceEndpointRaceStatus OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oKoopaRaceEndpointDialog OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oKoopaRaceEndpointRaceEnded OBJECT_FIELD_S32(0x1F) +#define /*0x0F4*/ oKoopaRaceEndpointRaceBegun OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oKoopaRaceEndpointKoopaFinished OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oKoopaRaceEndpointRaceStatus OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oKoopaRaceEndpointDialog OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oKoopaRaceEndpointRaceEnded OBJECT_FIELD_S32(0x1F) /* Koopa Shell Flame */ -#define /*0x0F4*/ oKoopaShellFlameUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oKoopaShellFlameUnkF8 OBJECT_FIELD_F32(0x1C) +#define /*0x0F4*/ oKoopaShellFlameUnused OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oKoopaShellFlameScale OBJECT_FIELD_F32(0x1C) /* Camera Lakitu */ -#define /*0x0F4*/ oCameraLakituBlinkTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oCameraLakituSpeed OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oCameraLakituCircleRadius OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oCameraLakituFinishedDialog OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oCameraLakituBlinkTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oCameraLakituSpeed OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oCameraLakituCircleRadius OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oCameraLakituFinishedDialog OBJECT_FIELD_S32(0x1E) #ifndef VERSION_JP -#define /*0x104*/ oCameraLakituUnk104 OBJECT_FIELD_S32(0x1F) +#define /*0x104*/ oCameraLakituIntroMusicPlayed OBJECT_FIELD_S32(0x1F) #endif -#define /*0x1AC*/ oCameraLakituPitchVel OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oCameraLakituYawVel OBJECT_FIELD_S16(0x49, + 1) +#define /*0x1AC*/ oCameraLakituPitchVel OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oCameraLakituYawVel OBJECT_FIELD_S16(0x49, + 1) /* Evil Lakitu */ -#define /*0x0F4*/ oEnemyLakituNumSpinies OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oEnemyLakituBlinkTimer OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oEnemyLakituSpinyCooldown OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oEnemyLakituFaceForwardCountdown OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oEnemyLakituNumSpinies OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oEnemyLakituBlinkTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oEnemyLakituSpinyCooldown OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oEnemyLakituFaceForwardCountdown OBJECT_FIELD_S32(0x1E) /* Intro Cutscene Lakitu */ -#define /*0x0F8*/ oIntroLakituSplineSegmentProgress OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oIntroLakituSplineSegment OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oIntroLakituUnk100 OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oIntroLakituUnk104 OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oIntroLakituUnk108 OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oIntroLakituUnk10C OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oIntroLakituUnk110 OBJECT_FIELD_F32(0x22) -#define /*0x1AC*/ oIntroLakituCloud OBJECT_FIELD_OBJ(0x49) +#define /*0x0F8*/ oIntroLakituSplineSegmentProgress OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oIntroLakituSplineSegment OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oIntroLakituDistToBirdsX OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oIntroLakituDistToBirdsZ OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ O_INTRO_LAKITU_END_BIRDS_DEST_INDEX 0x20 +#define /*0x108*/ O_INTRO_LAKITU_END_BIRDS_DEST_Z_INDEX (O_INTRO_LAKITU_END_BIRDS_DEST_INDEX + 0) // 0x20 +#define /*0x10C*/ O_INTRO_LAKITU_END_BIRDS_DEST_Y_INDEX (O_INTRO_LAKITU_END_BIRDS_DEST_INDEX + 1) // 0x21 +#define /*0x110*/ O_INTRO_LAKITU_END_BIRDS_DEST_X_INDEX (O_INTRO_LAKITU_END_BIRDS_DEST_INDEX + 2) // 0x22 +#define /*0x108*/ oIntroLakituEndBirds1DestVec OBJECT_FIELD_F32(O_INTRO_LAKITU_END_BIRDS_DEST_INDEX) +#define /*0x108*/ oIntroLakituEndBirds1DestZ OBJECT_FIELD_F32(O_INTRO_LAKITU_END_BIRDS_DEST_Z_INDEX) +#define /*0x10C*/ oIntroLakituEndBirds1DestY OBJECT_FIELD_F32(O_INTRO_LAKITU_END_BIRDS_DEST_Y_INDEX) +#define /*0x110*/ oIntroLakituEndBirds1DestX OBJECT_FIELD_F32(O_INTRO_LAKITU_END_BIRDS_DEST_X_INDEX) +#define /*0x1AC*/ oIntroLakituCloud OBJECT_FIELD_OBJ(0x49) /* Main Menu Button */ -#define /*0x0F4*/ oMenuButtonState OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oMenuButtonTimer OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oMenuButtonOrigPosX OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oMenuButtonOrigPosY OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oMenuButtonOrigPosZ OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oMenuButtonScale OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oMenuButtonActionPhase OBJECT_FIELD_S32(0x21) +#define /*0x0F4*/ oMenuButtonState OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oMenuButtonTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ O_MENU_BUTTON_ORIG_POS_INDEX 0x1D +#define /*0x0FC*/ O_MENU_BUTTON_ORIG_POS_X_INDEX (O_MENU_BUTTON_ORIG_POS_INDEX + 0) // 0x1D +#define /*0x100*/ O_MENU_BUTTON_ORIG_POS_Y_INDEX (O_MENU_BUTTON_ORIG_POS_INDEX + 1) // 0x1E +#define /*0x104*/ O_MENU_BUTTON_ORIG_POS_Z_INDEX (O_MENU_BUTTON_ORIG_POS_INDEX + 2) // 0x1F +#define /*0x0FC*/ oMenuButtonOrigPosVec OBJECT_FIELD_F32(O_MENU_BUTTON_ORIG_POS_INDEX) +#define /*0x0FC*/ oMenuButtonOrigPosX OBJECT_FIELD_F32(O_MENU_BUTTON_ORIG_POS_X_INDEX) +#define /*0x100*/ oMenuButtonOrigPosY OBJECT_FIELD_F32(O_MENU_BUTTON_ORIG_POS_Y_INDEX) +#define /*0x104*/ oMenuButtonOrigPosZ OBJECT_FIELD_F32(O_MENU_BUTTON_ORIG_POS_Z_INDEX) +#define /*0x108*/ oMenuButtonScale OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oMenuButtonActionPhase OBJECT_FIELD_S32(0x21) /* Manta Ray */ -#define /*0x0F4*/ oMantaTargetPitch OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oMantaTargetYaw OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ O_MANTA_TARGET_ANGLE_INDEX 0x1B +#define /*0x0F4*/ O_MANTA_TARGET_PITCH_INDEX (O_MANTA_TARGET_ANGLE_INDEX + 0) // 0x1B +#define /*0x0F8*/ O_MANTA_TARGET_YAW_INDEX (O_MANTA_TARGET_ANGLE_INDEX + 1) // 0x1C +#define /*0x0FC*/ O_MANTA_TARGET_ROLL_INDEX (O_MANTA_TARGET_ANGLE_INDEX + 2) // 0x1D +#define /*0x0F4*/ oMantaTargetAngleVec OBJECT_FIELD_S32(O_MANTA_TARGET_ANGLE_INDEX) +#define /*0x0F4*/ oMantaTargetPitch OBJECT_FIELD_S32(O_MANTA_TARGET_PITCH_INDEX) +#define /*0x0F8*/ oMantaTargetYaw OBJECT_FIELD_S32(O_MANTA_TARGET_YAW_INDEX) +#define /*0x0FC*/ oMantaTargetRoll OBJECT_FIELD_S32(O_MANTA_TARGET_ROLL_INDEX) // unused /* Merry-Go-Round */ -#define /*0x088*/ oMerryGoRoundStopped OBJECT_FIELD_S32(0x00) -#define /*0x0F8*/ oMerryGoRoundMusicShouldPlay OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oMerryGoRoundMarioIsOutside OBJECT_FIELD_S32(0x1D) +#define /*0x088*/ oMerryGoRoundStopped OBJECT_FIELD_S32(0x00) +#define /*0x0F8*/ oMerryGoRoundMusicShouldPlay OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oMerryGoRoundMarioIsOutside OBJECT_FIELD_S32(0x1D) /* Merry-Go-Round Boo Manager */ -#define /*0x088*/ oMerryGoRoundBooManagerNumBoosKilled OBJECT_FIELD_S32(0x00) -#define /*0x0FC*/ oMerryGoRoundBooManagerNumBoosSpawned OBJECT_FIELD_S32(0x1D) +#define /*0x088*/ oMerryGoRoundBooManagerNumBoosKilled OBJECT_FIELD_S32(0x00) +#define /*0x0FC*/ oMerryGoRoundBooManagerNumBoosSpawned OBJECT_FIELD_S32(0x1D) /* Mips */ -#define /*0x0F4*/ oMipsStarStatus OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oMipsStartWaypointIndex OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oMipsStarStatus OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oMipsStartWaypointIndex OBJECT_FIELD_S32(0x1C) // 0x1D-0x21 reserved for pathing -#define /*0x1AC*/ oMipsForwardVelocity OBJECT_FIELD_F32(0x49) +#define /*0x1AC*/ oMipsForwardVelocity OBJECT_FIELD_F32(0x49) /* Moneybag */ -#define /*0x0F4*/ oMoneybagJumpState OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oMoneybagJumpState OBJECT_FIELD_S32(0x1B) /* Monty Mole */ -#define /*0x0F4*/ oMontyMoleCurrentHole OBJECT_FIELD_OBJ(0x1B) -#define /*0x0F8*/ oMontyMoleHeightRelativeToFloor OBJECT_FIELD_F32(0x1C) +#define /*0x0F4*/ oMontyMoleCurrentHole OBJECT_FIELD_OBJ(0x1B) +#define /*0x0F8*/ oMontyMoleHeightRelativeToFloor OBJECT_FIELD_F32(0x1C) /* Monty Mole Hole */ -#define /*0x0F4*/ oMontyMoleHoleCooldown OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oMontyMoleHoleCooldown OBJECT_FIELD_S32(0x1B) /* Mr. Blizzard */ -#define /*0x0F4*/ oMrBlizzardScale OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oMrBlizzardHeldObj OBJECT_FIELD_OBJ(0x1C) -#define /*0x0FC*/ oMrBlizzardGraphYVel OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oMrBlizzardTimer OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oMrBlizzardDizziness OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oMrBlizzardChangeInDizziness OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oMrBlizzardGraphYOffset OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oMrBlizzardDistFromHome OBJECT_FIELD_S32(0x22) -#define /*0x1AC*/ oMrBlizzardTargetMoveYaw OBJECT_FIELD_S32(0x49) +#define /*0x0F4*/ oMrBlizzardScale OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oMrBlizzardHeldObj OBJECT_FIELD_OBJ(0x1C) +#define /*0x0FC*/ oMrBlizzardGraphYVel OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oMrBlizzardTimer OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oMrBlizzardDizziness OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oMrBlizzardChangeInDizziness OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oMrBlizzardGraphYOffset OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oMrBlizzardDistFromHome OBJECT_FIELD_S32(0x22) +#define /*0x1AC*/ oMrBlizzardTargetMoveYaw OBJECT_FIELD_S32(0x49) /* Mr. I */ -#define /*0x0F4*/ oMrIUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0FC*/ oMrIUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oMrIUnk100 OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oMrIUnk104 OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oMrIUnk108 OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oMrISize OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oMrIUnk110 OBJECT_FIELD_S32(0x22) +#define /*0x0F4*/ oMrISpinAngle OBJECT_FIELD_S32(0x1B) +#define /*0x0FC*/ oMrISpinAmount OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oMrISpinDirection OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oMrIParticleTimer OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oMrIParticleTimerTarget OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oMrISize OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oMrIBlinking OBJECT_FIELD_S32(0x22) /* Object Respawner */ -#define /*0x0F4*/ oRespawnerModelToRespawn OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oRespawnerMinSpawnDist OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oRespawnerBehaviorToRespawn OBJECT_FIELD_CVPTR(0x1D) +#define /*0x0F4*/ oRespawnerModelToRespawn OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oRespawnerMinSpawnDist OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oRespawnerBehaviorToRespawn OBJECT_FIELD_CVPTR(0x1D) /* Openable Grill */ -#define /*0x088*/ oOpenableGrillUnk88 OBJECT_FIELD_S32(0x00) -#define /*0x0F4*/ oOpenableGrillUnkF4 OBJECT_FIELD_OBJ(0x1B) +#define /*0x088*/ oOpenableGrillIsOpen OBJECT_FIELD_S32(0x00) +#define /*0x0F4*/ oOpenableGrillFloorSwitchObj OBJECT_FIELD_OBJ(0x1B) /* Intro Cutscene Peach */ -#define /*0x108*/ oIntroPeachYawFromFocus OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oIntroPeachPitchFromFocus OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oIntroPeachDistToCamera OBJECT_FIELD_F32(0x22) +#define /*0x108*/ oIntroPeachYawFromFocus OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oIntroPeachPitchFromFocus OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oIntroPeachDistToCamera OBJECT_FIELD_F32(0x22) /* Racing Penguin */ -#define /*0x0F4*/ oRacingPenguinInitTextCooldown OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oRacingPenguinInitTextCooldown OBJECT_FIELD_S32(0x1B) // 0x1D-0x21 reserved for pathing -#define /*0x110*/ oRacingPenguinWeightedNewTargetSpeed OBJECT_FIELD_F32(0x22) -#define /*0x1AC*/ oRacingPenguinFinalTextbox OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oRacingPenguinMarioWon OBJECT_FIELD_S16(0x49, + 1) -#define /*0x1B0*/ oRacingPenguinReachedBottom OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oRacingPenguinMarioCheated OBJECT_FIELD_S16(0x4A, + 1) +#define /*0x110*/ oRacingPenguinWeightedNewTargetSpeed OBJECT_FIELD_F32(0x22) +#define /*0x1AC*/ oRacingPenguinFinalTextbox OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oRacingPenguinMarioWon OBJECT_FIELD_S16(0x49, + 1) +#define /*0x1B0*/ oRacingPenguinReachedBottom OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oRacingPenguinMarioCheated OBJECT_FIELD_S16(0x4A, + 1) /* Small Penguin */ -#define /*0x088*/ oSmallPenguinUnk88 OBJECT_FIELD_S32(0x00) -#define /*0x100*/ oSmallPenguinUnk100 OBJECT_FIELD_S32(0x1E) // angle? -#define /*0x104*/ oSmallPenguinUnk104 OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oSmallPenguinUnk108 OBJECT_FIELD_F32(0x20) -#define /*0x110*/ oSmallPenguinUnk110 OBJECT_FIELD_S32(0x22) +#define /*0x088*/ oSmallPenguinReturnedToMother OBJECT_FIELD_S32(0x00) +#define /*0x100*/ oSmallPenguinStoredAction OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oSmallPenguinNextForwardVel OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oSmallPenguinRandomDistanceCheck OBJECT_FIELD_F32(0x20) +#define /*0x110*/ oSmallPenguinYawIncrement OBJECT_FIELD_S32(0x22) /* SL Walking Penguin */ -#define /*0x100*/ oSLWalkingPenguinWindCollisionXPos OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oSLWalkingPenguinWindCollisionZPos OBJECT_FIELD_F32(0x1F) -#define /*0x10C*/ oSLWalkingPenguinCurStep OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oSLWalkingPenguinCurStepTimer OBJECT_FIELD_S32(0x22) +#define /*0x100*/ oSLWalkingPenguinWindCollisionXPos OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oSLWalkingPenguinWindCollisionZPos OBJECT_FIELD_F32(0x1F) +#define /*0x10C*/ oSLWalkingPenguinCurStep OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oSLWalkingPenguinCurStepTimer OBJECT_FIELD_S32(0x22) /* Piranha Plant */ -#define /*0x0F4*/ oPiranhaPlantSleepMusicState OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oPiranhaPlantScale OBJECT_FIELD_F32(0x1C) +#define /*0x0F4*/ oPiranhaPlantSleepMusicState OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oPiranhaPlantScale OBJECT_FIELD_F32(0x1C) /* Fire Piranha Plant */ -#define /*0x0F4*/ oFirePiranhaPlantNeutralScale OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oFirePiranhaPlantScale OBJECT_FIELD_F32(0x1C) //Shared with above obj? Coincidence? -#define /*0x0FC*/ oFirePiranhaPlantActive OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oFirePiranhaPlantDeathSpinTimer OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oFirePiranhaPlantDeathSpinVel OBJECT_FIELD_F32(0x1F) - -/* Pitoune */ -#define /*0x0F4*/ oPitouneUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oPitouneUnkF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oPitouneUnkFC OBJECT_FIELD_F32(0x1D) - -/* Falling Rising Bitfs Platform */ -#define /*0x0F4*/ oBitfsPlatformTimer OBJECT_FIELD_S32(0x1B) - -/* Falling Bowser Bits Platform */ -#define /*0x0F8*/ oBitsPlatformBowser OBJECT_FIELD_OBJ(0x1C) -#define /*0x0FC*/ oBitsPlatformTimer OBJECT_FIELD_S32(0x1D) - -/* WF Platform */ -#define /*0x10C*/ oPlatformUnk10C OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oPlatformUnk110 OBJECT_FIELD_F32(0x22) - -/* Platform on Tracks */ -#define /*0x088*/ oPlatformOnTrackBaseBallIndex OBJECT_FIELD_S32(0x00) -#define /*0x0F4*/ oPlatformOnTrackDistMovedSinceLastBall OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oPlatformOnTrackSkiLiftRollVel OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oPlatformOnTrackStartWaypoint OBJECT_FIELD_WAYPOINT(0x1D) -#define /*0x100*/ oPlatformOnTrackPrevWaypoint OBJECT_FIELD_WAYPOINT(0x1E) -#define /*0x104*/ oPlatformOnTrackPrevWaypointFlags OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oPlatformOnTrackPitch OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oPlatformOnTrackYaw OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oPlatformOnTrackOffsetY OBJECT_FIELD_F32(0x22) -#define /*0x1AC*/ oPlatformOnTrackIsNotSkiLift OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oPlatformOnTrackIsNotHMC OBJECT_FIELD_S16(0x49, + 1) -#define /*0x1B0*/ oPlatformOnTrackType OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oPlatformOnTrackWasStoodOn OBJECT_FIELD_S16(0x4A, + 1) - -/* Platform Spawner */ -#define /*0x0F4*/ oPlatformSpawnerUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oPlatformSpawnerUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oPlatformSpawnerUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oPlatformSpawnerUnk100 OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oPlatformSpawnerUnk104 OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oPlatformSpawnerUnk108 OBJECT_FIELD_F32(0x20) - -/* Pokey */ -#define /*0x0F4*/ oPokeyAliveBodyPartFlags OBJECT_FIELD_U32(0x1B) -#define /*0x0F8*/ oPokeyNumAliveBodyParts OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oPokeyBottomBodyPartSize OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oPokeyHeadWasKilled OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oPokeyTargetYaw OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oPokeyChangeTargetTimer OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oPokeyTurningAwayFromWall OBJECT_FIELD_S32(0x21) - -/* Pokey Body Part */ -#define /*0x0F8*/ oPokeyBodyPartDeathDelayAfterHeadKilled OBJECT_FIELD_S32(0x1C) -#define /*0x110*/ oPokeyBodyPartBlinkTimer OBJECT_FIELD_S32(0x22) - -/* DDD Pole */ -#define /*0x0F4*/ oDDDPoleVel OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oDDDPoleMaxOffset OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oDDDPoleOffset OBJECT_FIELD_F32(0x1D) - -/* Pyramid Top */ -#define /*0x0F4*/ oPyramidTopPillarsTouched OBJECT_FIELD_S32(0x1B) - -/* Pyramid Top Explosion */ -#define /*0x0F4*/ oPyramidTopFragmentsScale OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oFirePiranhaPlantNeutralScale OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oFirePiranhaPlantScale OBJECT_FIELD_F32(0x1C) // Shared with above obj? Coincidence? +#define /*0x0FC*/ oFirePiranhaPlantActive OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oFirePiranhaPlantDeathSpinTimer OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oFirePiranhaPlantDeathSpinVel OBJECT_FIELD_F32(0x1F) /* Rolling Log */ -#define /*0x0F4*/ oRollingLogUnkF4 OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oRollingLogMaxDist OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oRollingLogX OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oRollingLogZ OBJECT_FIELD_F32(0x1D) + +/* Falling Rising Bitfs Platform */ +#define /*0x0F4*/ oBitfsPlatformTimer OBJECT_FIELD_S32(0x1B) + +/* Falling Bowser Bits Platform */ +#define /*0x0F8*/ oBitsPlatformBowser OBJECT_FIELD_OBJ(0x1C) +#define /*0x0FC*/ oBitsPlatformTimer OBJECT_FIELD_S32(0x1D) + +/* WF Platform */ +#define /*0x10C*/ oPlatformWFTowerForwardVel OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oPlatformWFTowerMoveDistance OBJECT_FIELD_F32(0x22) + +/* Platform on Tracks */ +#define /*0x088*/ oPlatformOnTrackBaseBallIndex OBJECT_FIELD_S32(0x00) +#define /*0x0F4*/ oPlatformOnTrackDistMovedSinceLastBall OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oPlatformOnTrackSkiLiftRollVel OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oPlatformOnTrackStartWaypoint OBJECT_FIELD_WAYPOINT(0x1D) +#define /*0x100*/ oPlatformOnTrackPrevWaypoint OBJECT_FIELD_WAYPOINT(0x1E) +#define /*0x104*/ oPlatformOnTrackPrevWaypointFlags OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oPlatformOnTrackPitch OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oPlatformOnTrackYaw OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oPlatformOnTrackOffsetY OBJECT_FIELD_F32(0x22) +#define /*0x1AC*/ oPlatformOnTrackIsNotSkiLift OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oPlatformOnTrackIsNotHMC OBJECT_FIELD_S16(0x49, + 1) +#define /*0x1B0*/ oPlatformOnTrackType OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oPlatformOnTrackWasStoodOn OBJECT_FIELD_S16(0x4A, + 1) + +/* Platform Spawner */ +#define /*0x0F4*/ oPlatformSpawnerWFTowerPlatformNum OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oPlatformSpawnerWFTowerYawOffset OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oPlatformSpawnerWFTowerDYaw OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oPlatformSpawnerWFTowerRadius OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oPlatformSpawnerWFTowerMoveDistance OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oPlatformSpawnerWFTowerForwardVel OBJECT_FIELD_F32(0x20) + +/* Pokey */ +#define /*0x0F4*/ oPokeyAliveBodyPartFlags OBJECT_FIELD_U32(0x1B) +#define /*0x0F8*/ oPokeyNumAliveBodyParts OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oPokeyBottomBodyPartSize OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oPokeyHeadWasKilled OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oPokeyTargetYaw OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oPokeyChangeTargetTimer OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oPokeyTurningAwayFromWall OBJECT_FIELD_S32(0x21) + +/* Pokey Body Part */ +#define /*0x0F8*/ oPokeyBodyPartDeathDelayAfterHeadKilled OBJECT_FIELD_S32(0x1C) +#define /*0x110*/ oPokeyBodyPartBlinkTimer OBJECT_FIELD_S32(0x22) + +/* DDD Pole */ +#define /*0x0F4*/ oDDDPoleVel OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oDDDPoleMaxOffset OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oDDDPoleOffset OBJECT_FIELD_F32(0x1D) + +/* Pyramid Top */ +#define /*0x0F4*/ oPyramidTopPillarsTouched OBJECT_FIELD_S32(0x1B) + +/* Pyramid Top Explosion */ +#define /*0x0F4*/ oPyramidTopFragmentsScale OBJECT_FIELD_F32(0x1B) + +/* Volcano Trap */ +#define /*0x0F4*/ oVolcanoTrapPitchVel OBJECT_FIELD_F32(0x1B) /* Lll Rotating Hex Flame */ -#define /*0x0F4*/ oLllRotatingHexFlameUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oLllRotatingHexFlameUnkF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oLllRotatingHexFlameUnkFC OBJECT_FIELD_F32(0x1D) +#define /*0x0F4*/ O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_INDEX 0x1B +#define /*0x0F4*/ O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_X_INDEX (O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_INDEX + 0) // 0x1B +#define /*0x0F8*/ O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_Y_INDEX (O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_INDEX + 1) // 0x1C +#define /*0x0FC*/ O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_Z_INDEX (O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_INDEX + 2) // 0x1D +#define /*0x0F4*/ oLllRotatingHexFlameRelativePosVec OBJECT_FIELD_F32(O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_INDEX) +#define /*0x0F4*/ oLllRotatingHexFlameRelativePosX OBJECT_FIELD_F32(O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_X_INDEX) +#define /*0x0F8*/ oLllRotatingHexFlameRelativePosY OBJECT_FIELD_F32(O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_Y_INDEX) +#define /*0x0FC*/ oLllRotatingHexFlameRelativePosZ OBJECT_FIELD_F32(O_LLL_ROTATING_HEX_FLAME_RELATIVE_POS_Z_INDEX) /* Scuttlebug */ -#define /*0x0F4*/ oScuttlebugUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oScuttlebugUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oScuttlebugUnkFC OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oScuttlebugHasNoLootCoins OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oScuttlebugIsAtttacking OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oScuttlebugTimer OBJECT_FIELD_S32(0x1D) /* Scuttlebug Spawner */ -#define /*0x088*/ oScuttlebugSpawnerUnk88 OBJECT_FIELD_S32(0x00) -#define /*0x0F4*/ oScuttlebugSpawnerUnkF4 OBJECT_FIELD_S32(0x1B) +#define /*0x088*/ oScuttlebugSpawnerIsDeactivated OBJECT_FIELD_S32(0x00) +#define /*0x0F4*/ oScuttlebugSpawnerSpawnWithNoLootCoins OBJECT_FIELD_S32(0x1B) /* Seesaw Platform */ -#define /*0x0F4*/ oSeesawPlatformPitchVel OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oSeesawPlatformPitchVel OBJECT_FIELD_F32(0x1B) /* Ship Part 3 */ -#define /*0x0F4*/ oShipPart3UnkF4 OBJECT_FIELD_S32(0x1B) // angle? -#define /*0x0F8*/ oShipPart3UnkF8 OBJECT_FIELD_S32(0x1C) // angle? +#define /*0x0F4*/ oShipPart3LoopPitch OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oShipPart3LoopRoll OBJECT_FIELD_S32(0x1C) /* Sink When Stepped On */ -#define /*0x104*/ oSinkWhenSteppedOnUnk104 OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oSinkWhenSteppedOnUnk108 OBJECT_FIELD_F32(0x20) +#define /*0x104*/ oSinkWhenSteppedOnTimer OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oSinkWhenSteppedOnYOffsetFromHome OBJECT_FIELD_F32(0x20) /* Skeeter */ -#define /*0x0F4*/ oSkeeterTargetAngle OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oSkeeterUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oSkeeterUnkFC OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oSkeeterWaitTime OBJECT_FIELD_S32(0x1E) -#define /*0x1AC*/ oSkeeterUnk1AC OBJECT_FIELD_S16(0x49, 0) +#define /*0x0F4*/ oSkeeterTargetAngle OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oSkeeterTurningAwayFromWall OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oSkeeterTargetForwardVel OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oSkeeterWaitTime OBJECT_FIELD_S32(0x1E) +#define /*0x1AC*/ oSkeeterAngleVel OBJECT_FIELD_S16(0x49, 0) /* Jrb Sliding Box */ -#define /*0x0F4*/ oJrbSlidingBoxUnkF4 OBJECT_FIELD_OBJ(0x1B) -#define /*0x0F8*/ oJrbSlidingBoxUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oJrbSlidingBoxUnkFC OBJECT_FIELD_F32(0x1D) +#define /*0x0F4*/ oJrbSlidingBoxShipObj OBJECT_FIELD_OBJ(0x1B) +#define /*0x0F8*/ oJrbSlidingBoxAngle OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oJrbSlidingBoxAdditiveZ OBJECT_FIELD_F32(0x1D) /* WF Sliding Brick Platform */ -#define /*0x0F4*/ oWFSlidBrickPtfmMovVel OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oWFSlidBrickPtfmMovVel OBJECT_FIELD_F32(0x1B) /* Smoke */ -#define /*0x0F4*/ oSmokeTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oSmokeTimer OBJECT_FIELD_S32(0x1B) /* Snowman's Bottom */ -#define /*0x0F4*/ oSnowmansBottomUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oSnowmansBottomUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x1AC*/ oSnowmansBottomUnk1AC OBJECT_FIELD_S32(0x49) +#define /*0x0F4*/ oSnowmansBottomRollingFacePitch OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oSnowmansBottomTargetYaw OBJECT_FIELD_S32(0x1C) +#define /*0x1AC*/ oSnowmansBottomHitCheckpointNearMario OBJECT_FIELD_S32(0x49) // 0x1D-0x21 reserved for pathing /* Snowman's Head */ -#define /*0x0F4*/ oSnowmansHeadDialogActive OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oSnowmansHeadDialogActive OBJECT_FIELD_S32(0x1B) /* Snowman Wind Blowing */ -#define /*0x0F4*/ oSLSnowmanWindOriginalYaw OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oSLSnowmanWindOriginalYaw OBJECT_FIELD_S32(0x1B) /* Snufit */ -#define /*0x0F4*/ oSnufitRecoil OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oSnufitScale OBJECT_FIELD_F32(0x1C) -#define /*0x100*/ oSnufitCircularPeriod OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oSnufitBodyScalePeriod OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oSnufitBodyBaseScale OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oSnufitBullets OBJECT_FIELD_S32(0x21) -#define /*0x1AC*/ oSnufitXOffset OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oSnufitYOffset OBJECT_FIELD_S16(0x49, + 1) -#define /*0x1B0*/ oSnufitZOffset OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oSnufitBodyScale OBJECT_FIELD_S16(0x4A, + 1) +#define /*0x0F4*/ oSnufitRecoil OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oSnufitScale OBJECT_FIELD_F32(0x1C) +// 0x1D +#define /*0x100*/ oSnufitCircularPeriod OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oSnufitBodyScalePeriod OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oSnufitBodyBaseScale OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oSnufitBullets OBJECT_FIELD_S32(0x21) +#define /*0x1AC*/ oSnufitOffsetVec OBJECT_FIELD_S16(0x49, 0) // start pos of s16 vec +#define /*0x1AC*/ oSnufitXOffset OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oSnufitYOffset OBJECT_FIELD_S16(0x49, + 1) +#define /*0x1B0*/ oSnufitZOffset OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oSnufitBodyScale OBJECT_FIELD_S16(0x4A, + 1) /* Spindel */ -#define /*0x0F4*/ oSpindelUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oSpindelUnkF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oSpindelMoveTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oSpindelMoveDirection OBJECT_FIELD_S32(0x1C) /* Spinning Heart */ -#define /*0x0F4*/ oSpinningHeartTotalSpin OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oSpinningHeartPlayedSound OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oSpinningHeartTotalSpin OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oSpinningHeartPlayedSound OBJECT_FIELD_S32(0x1C) /* Spiny */ -#define /*0x0F4*/ oSpinyTimeUntilTurn OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oSpinyTargetYaw OBJECT_FIELD_S32(0x1C) -#define /*0x100*/ oSpinyTurningAwayFromWall OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oSpinyTimeUntilTurn OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oSpinyTargetYaw OBJECT_FIELD_S32(0x1C) +#define /*0x100*/ oSpinyTurningAwayFromWall OBJECT_FIELD_S32(0x1E) /* Sound Effect */ -#define /*0x0F4*/ oSoundEffectUnkF4 OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oSoundEffectBits OBJECT_FIELD_S32(0x1B) /* Star Spawn */ -#define /*0x0F4*/ oStarSpawnDisFromHome OBJECT_FIELD_F32(0x1B) -#define /*0x0FC*/ oStarSpawnUnkFC OBJECT_FIELD_F32(0x1D) +#define /*0x0F4*/ oStarSpawnDisFromHome OBJECT_FIELD_F32(0x1B) +#define /*0x0FC*/ oStarSpawnVelY OBJECT_FIELD_F32(0x1D) /* Hidden Star */ // Secrets/Red Coins -#define /*0x0F4*/ oHiddenStarTriggerCounter OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oHiddenStarTriggerCounter OBJECT_FIELD_S32(0x1B) /* Sealed Door Star */ -#define /*0x108*/ oUnlockDoorStarState OBJECT_FIELD_U32(0x20) -#define /*0x10C*/ oUnlockDoorStarTimer OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oUnlockDoorStarYawVel OBJECT_FIELD_S32(0x22) +#define /*0x108*/ oUnlockDoorStarState OBJECT_FIELD_U32(0x20) +#define /*0x10C*/ oUnlockDoorStarTimer OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oUnlockDoorStarYawVel OBJECT_FIELD_S32(0x22) /* Celebration Star */ -#define /*0x0F4*/ oCelebStarUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x108*/ oCelebStarDiameterOfRotation OBJECT_FIELD_S32(0x20) +#define /*0x0F4*/ oCelebStarIsBowserKey OBJECT_FIELD_S32(0x1B) +#define /*0x108*/ oCelebStarDiameterOfRotation OBJECT_FIELD_S32(0x20) /* Star Selector */ -#define /*0x0F4*/ oStarSelectorType OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oStarSelectorTimer OBJECT_FIELD_S32(0x1C) -#define /*0x108*/ oStarSelectorSize OBJECT_FIELD_F32(0x20) +#define /*0x0F4*/ oStarSelectorType OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oStarSelectorTimer OBJECT_FIELD_S32(0x1C) +#define /*0x108*/ oStarSelectorSize OBJECT_FIELD_F32(0x20) /* Sushi Shark */ -#define /*0x0F4*/ oSushiSharkUnkF4 OBJECT_FIELD_S32(0x1B) // angle? +#define /*0x0F4*/ oSushiSharkAngleFromHome OBJECT_FIELD_S32(0x1B) /* Swing Platform */ -#define /*0x0F4*/ oSwingPlatformAngle OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oSwingPlatformSpeed OBJECT_FIELD_F32(0x1C) +#define /*0x0F4*/ oSwingPlatformAngle OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oSwingPlatformSpeed OBJECT_FIELD_F32(0x1C) /* Swoop */ -#define /*0x0F4*/ oSwoopBonkCountdown OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oSwoopTargetPitch OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oSwoopTargetYaw OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oSwoopBonkCountdown OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ O_SWOOP_TARGET_ANGLE_INDEX 0x1C +#define /*0x0F8*/ O_SWOOP_TARGET_PITCH_INDEX (O_SWOOP_TARGET_ANGLE_INDEX + 0) // 0x1C +#define /*0x0F8*/ O_SWOOP_TARGET_YAW_INDEX (O_SWOOP_TARGET_ANGLE_INDEX + 1) // 0x1D +#define /*0x0F8*/ O_SWOOP_TARGET_ROLL_INDEX (O_SWOOP_TARGET_ANGLE_INDEX + 2) // 0x1E +#define /*0x0F8*/ oSwoopTargetAngleVec OBJECT_FIELD_S32(O_SWOOP_TARGET_ANGLE_INDEX) +#define /*0x0F8*/ oSwoopTargetPitch OBJECT_FIELD_S32(O_SWOOP_TARGET_PITCH_INDEX) +#define /*0x0FC*/ oSwoopTargetYaw OBJECT_FIELD_S32(O_SWOOP_TARGET_YAW_INDEX) +#define /*0x100*/ oSwoopTargetRoll OBJECT_FIELD_S32(O_SWOOP_TARGET_ROLL_INDEX) // unused /* Thwomp */ -#define /*0x0F4*/ oThwompRandomTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oThwompRandomTimer OBJECT_FIELD_S32(0x1B) /* Tilting Platform */ -#define /*0x0F4*/ oTiltingPyramidNormalX OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oTiltingPyramidNormalY OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oTiltingPyramidNormalZ OBJECT_FIELD_F32(0x1D) -#define /*0x10C*/ oTiltingPyramidMarioOnPlatform OBJECT_FIELD_S32(0x21) +#define /*0x0F4*/ O_TILTING_PYRAMID_NORMAL_INDEX 0x1B +#define /*0x0F4*/ O_TILTING_PYRAMID_NORMAL_X_INDEX (O_TILTING_PYRAMID_NORMAL_INDEX + 0) // 0x1B +#define /*0x0F8*/ O_TILTING_PYRAMID_NORMAL_Y_INDEX (O_TILTING_PYRAMID_NORMAL_INDEX + 1) // 0x1C +#define /*0x0FC*/ O_TILTING_PYRAMID_NORMAL_Z_INDEX (O_TILTING_PYRAMID_NORMAL_INDEX + 2) // 0x1D +#define /*0x0F4*/ oTiltingPyramidNormalVec OBJECT_FIELD_F32(O_TILTING_PYRAMID_NORMAL_INDEX) +#define /*0x0F4*/ oTiltingPyramidNormalX OBJECT_FIELD_F32(O_TILTING_PYRAMID_NORMAL_X_INDEX) +#define /*0x0F8*/ oTiltingPyramidNormalY OBJECT_FIELD_F32(O_TILTING_PYRAMID_NORMAL_Y_INDEX) +#define /*0x0FC*/ oTiltingPyramidNormalZ OBJECT_FIELD_F32(O_TILTING_PYRAMID_NORMAL_Z_INDEX) +#define /*0x10C*/ oTiltingPyramidMarioOnPlatform OBJECT_FIELD_S32(0x21) /* Toad Message */ -#define /*0x108*/ oToadMessageDialogId OBJECT_FIELD_U32(0x20) -#define /*0x10C*/ oToadMessageRecentlyTalked OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oToadMessageState OBJECT_FIELD_S32(0x22) +#define /*0x108*/ oToadMessageDialogId OBJECT_FIELD_U32(0x20) +#define /*0x10C*/ oToadMessageRecentlyTalked OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oToadMessageState OBJECT_FIELD_S32(0x22) /* Tox Box */ -#define /*0x1AC*/ oToxBoxMovementPattern OBJECT_FIELD_VPTR(0x49) -#define /*0x1B0*/ oToxBoxMovementStep OBJECT_FIELD_S32(0x4A) +#define /*0x1AC*/ oToxBoxMovementPattern OBJECT_FIELD_VPTR(0x49) +#define /*0x1B0*/ oToxBoxMovementStep OBJECT_FIELD_S32(0x4A) /* TTC Rotating Solid */ -#define /*0x0F4*/ oTTCRotatingSolidNumTurns OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oTTCRotatingSolidNumSides OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oTTCRotatingSolidRotationDelay OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oTTCRotatingSolidVelY OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oTTCRotatingSolidSoundTimer OBJECT_FIELD_S32(0x1F) +#define /*0x0F4*/ oTTCRotatingSolidNumTurns OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oTTCRotatingSolidNumSides OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oTTCRotatingSolidRotationDelay OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oTTCRotatingSolidVelY OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oTTCRotatingSolidSoundTimer OBJECT_FIELD_S32(0x1F) /* TTC Pendulum */ -#define /*0x0F4*/ oTTCPendulumAccelDir OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oTTCPendulumAngle OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oTTCPendulumAngleVel OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oTTCPendulumAngleAccel OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oTTCPendulumDelay OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oTTCPendulumSoundTimer OBJECT_FIELD_S32(0x20) +#define /*0x0F4*/ oTTCPendulumAccelDir OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oTTCPendulumAngle OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oTTCPendulumAngleVel OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oTTCPendulumAngleAccel OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oTTCPendulumDelay OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oTTCPendulumSoundTimer OBJECT_FIELD_S32(0x20) /* TTC Treadmill */ -#define /*0x0F4*/ oTTCTreadmillBigSurface OBJECT_FIELD_S16P(0x1B) -#define /*0x0F8*/ oTTCTreadmillSmallSurface OBJECT_FIELD_S16P(0x1C) -#define /*0x0FC*/ oTTCTreadmillSpeed OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oTTCTreadmillTargetSpeed OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oTTCTreadmillTimeUntilSwitch OBJECT_FIELD_S32(0x1F) +#define /*0x0F4*/ oTTCTreadmillBigSurface OBJECT_FIELD_S16P(0x1B) +#define /*0x0F8*/ oTTCTreadmillSmallSurface OBJECT_FIELD_S16P(0x1C) +#define /*0x0FC*/ oTTCTreadmillSpeed OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oTTCTreadmillTargetSpeed OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oTTCTreadmillTimeUntilSwitch OBJECT_FIELD_S32(0x1F) /* TTC Moving Bar */ -#define /*0x0F4*/ oTTCMovingBarDelay OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oTTCMovingBarStoppedTimer OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oTTCMovingBarOffset OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oTTCMovingBarSpeed OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oTTCMovingBarStartOffset OBJECT_FIELD_F32(0x1F) +#define /*0x0F4*/ oTTCMovingBarDelay OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oTTCMovingBarStoppedTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oTTCMovingBarOffset OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oTTCMovingBarSpeed OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oTTCMovingBarStartOffset OBJECT_FIELD_F32(0x1F) /* TTC Cog */ -#define /*0x0F4*/ oTTCCogDir OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oTTCCogSpeed OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oTTCCogTargetVel OBJECT_FIELD_F32(0x1D) +#define /*0x0F4*/ oTTCCogDir OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oTTCCogSpeed OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oTTCCogTargetVel OBJECT_FIELD_F32(0x1D) /* TTC Pit Block */ -#define /*0x0F4*/ oTTCPitBlockPeakY OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oTTCPitBlockDir OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oTTCPitBlockWaitTime OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oTTCPitBlockPeakY OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oTTCPitBlockDir OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oTTCPitBlockWaitTime OBJECT_FIELD_S32(0x1D) /* TTC Elevator */ -#define /*0x0F4*/ oTTCElevatorDir OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oTTCElevatorPeakY OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oTTCElevatorMoveTime OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oTTCElevatorDir OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oTTCElevatorPeakY OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oTTCElevatorMoveTime OBJECT_FIELD_S32(0x1D) /* TTC 2D Rotator */ -#define /*0x0F4*/ oTTC2DRotatorMinTimeUntilNextTurn OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oTTC2DRotatorTargetYaw OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oTTC2DRotatorIncrement OBJECT_FIELD_S32(0x1D) -#define /*0x104*/ oTTC2DRotatorRandomDirTimer OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ oTTC2DRotatorSpeed OBJECT_FIELD_S32(0x20) +#define /*0x0F4*/ oTTC2DRotatorMinTimeUntilNextTurn OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oTTC2DRotatorTargetYaw OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oTTC2DRotatorIncrement OBJECT_FIELD_S32(0x1D) +#define /*0x104*/ oTTC2DRotatorRandomDirTimer OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ oTTC2DRotatorSpeed OBJECT_FIELD_S32(0x20) /* TTC Spinner */ -#define /*0x0F4*/ oTTCSpinnerDir OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oTTCChangeDirTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oTTCSpinnerDir OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oTTCChangeDirTimer OBJECT_FIELD_S32(0x1C) /* Beta Trampoline */ -#define /*0x110*/ oBetaTrampolineMarioOnTrampoline OBJECT_FIELD_S32(0x22) +#define /*0x110*/ oBetaTrampolineMarioOnTrampoline OBJECT_FIELD_S32(0x22) /* Treasure Chest */ -#define /*0x0F4*/ oTreasureChestUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oTreasureChestUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oTreasureChestUnkFC OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oTreasureChestNumOpenedChests OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oTreasureChestDoCloseChests OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oTreasureChestAboveWater OBJECT_FIELD_S32(0x1D) /* Tree Snow Or Leaf */ -#define /*0x0F4*/ oTreeSnowOrLeafUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oTreeSnowOrLeafUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oTreeSnowOrLeafUnkFC OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oTreeSnowOrLeafSidewardAngle OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oTreeSnowOrLeafSidewardVel OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oTreeSnowOrLeafSidewardAngleVel OBJECT_FIELD_S32(0x1D) /* Tumbling Bridge */ -#define /*0x0F4*/ oTumblingBridgeUnkF4 OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oTumblingBridgeRollAccel OBJECT_FIELD_S32(0x1B) /* Tweester */ -#define /*0x0F4*/ oTweesterScaleTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oTweesterUnused OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oTweesterScaleTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oTweesterUnused OBJECT_FIELD_S32(0x1C) /* Ukiki */ -#define /*0x0F4*/ oUkikiTauntCounter OBJECT_FIELD_S16(0x1B, 0) -#define /*0x0F6*/ oUkikiTauntsToBeDone OBJECT_FIELD_S16(0x1B, 1) +#define /*0x0F4*/ oUkikiTauntCounter OBJECT_FIELD_S16(0x1B, 0) +#define /*0x0F6*/ oUkikiTauntsToBeDone OBJECT_FIELD_S16(0x1B, 1) // 0x1D-0x21 reserved for pathing -#define /*0x110*/ oUkikiChaseFleeRange OBJECT_FIELD_F32(0x22) -#define /*0x1AC*/ oUkikiTextState OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oUkikiTextboxTimer OBJECT_FIELD_S16(0x49, 1) -#define /*0x1B0*/ oUkikiCageSpinTimer OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oUkikiHasCap OBJECT_FIELD_S16(0x4A, 1) +#define /*0x110*/ oUkikiChaseFleeRange OBJECT_FIELD_F32(0x22) +#define /*0x1AC*/ oUkikiTextState OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oUkikiTextboxTimer OBJECT_FIELD_S16(0x49, 1) +#define /*0x1B0*/ oUkikiCageSpinTimer OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oUkikiHasCap OBJECT_FIELD_S16(0x4A, 1) /* Ukiki Cage*/ -#define /*0x088*/ oUkikiCageNextAction OBJECT_FIELD_S32(0x00) +#define /*0x088*/ oUkikiCageNextAction OBJECT_FIELD_S32(0x00) /* Unagi */ -#define /*0x0F4*/ oUnagiUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oUnagiUnkF8 OBJECT_FIELD_F32(0x1C) +#define /*0x0F4*/ oUnagiDistFromHome OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oUnagiNextForwardVel OBJECT_FIELD_F32(0x1C) // 0x1D-0x21 reserved for pathing -#define /*0x110*/ oUnagiUnk110 OBJECT_FIELD_F32(0x22) -#define /*0x1AC*/ oUnagiUnk1AC OBJECT_FIELD_F32(0x49) -#define /*0x1B0*/ oUnagiUnk1B0 OBJECT_FIELD_S16(0x4A, 0) -#define /*0x1B2*/ oUnagiUnk1B2 OBJECT_FIELD_S16(0x4A, + 1) +#define /*0x110*/ oUnagiTargetNextForwardVel OBJECT_FIELD_F32(0x22) +#define /*0x1AC*/ oUnagiDistanceToMario OBJECT_FIELD_F32(0x49) +#define /*0x1B0*/ oUnagiInitMoveYaw OBJECT_FIELD_S16(0x4A, 0) +#define /*0x1B2*/ oUnagiHasStar OBJECT_FIELD_S16(0x4A, + 1) /* Water Bomb */ -#define /*0x0F8*/ oWaterBombVerticalStretch OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oWaterBombStretchSpeed OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oWaterBombOnGround OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oWaterBombNumBounces OBJECT_FIELD_F32(0x1F) +#define /*0x0F8*/ oWaterBombVerticalStretch OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oWaterBombStretchSpeed OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oWaterBombOnGround OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oWaterBombNumBounces OBJECT_FIELD_F32(0x1F) /* Water Bomb Spawner */ -#define /*0x0F4*/ oWaterBombSpawnerBombActive OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWaterBombSpawnerTimeToSpawn OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oWaterBombSpawnerBombActive OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oWaterBombSpawnerTimeToSpawn OBJECT_FIELD_S32(0x1C) /* Water Bomb Cannon */ -#define /*0x0F4*/ oWaterCannonUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWaterCannonUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oWaterCannonUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oWaterCannonUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oWaterCannonIdleTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oWaterCannonRotationTimer OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oWaterCannonTargetMovePitch OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oWaterCannonTargetFaceYaw OBJECT_FIELD_S32(0x1E) /* Cannon Barrel Bubbles */ -#define /*0x0F4*/ oCannonBarrelBubblesUnkF4 OBJECT_FIELD_F32(0x1B) +#define /*0x0F4*/ oCannonBarrelBubblesForwardVelCheck OBJECT_FIELD_F32(0x1B) /* Water Level Pillar */ -#define /*0x0F8*/ oWaterLevelPillarDrained OBJECT_FIELD_S32(0x1C) +#define /*0x0F8*/ oWaterLevelPillarDrained OBJECT_FIELD_S32(0x1C) /* Water Level Trigger */ -#define /*0x0F4*/ oWaterLevelTriggerUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWaterLevelTriggerTargetWaterLevel OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oWaterLevelTriggerAmbientWaves OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oWaterLevelTriggerTargetWaterLevel OBJECT_FIELD_S32(0x1C) /* Water Objects */ -#define /*0x0F4*/ oWaterObjUnkF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWaterObjUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oWaterObjUnkFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oWaterObjUnk100 OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oWaterObjScaleXAngle OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oWaterObjScaleYAngle OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oWaterObjScaleXAngleVel OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oWaterObjScaleYAngleVel OBJECT_FIELD_S32(0x1E) /* Water Ring (both variants) */ -#define /*0x0F4*/ oWaterRingScalePhaseX OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWaterRingScalePhaseY OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oWaterRingScalePhaseZ OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oWaterRingNormalX OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oWaterRingNormalY OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oWaterRingNormalZ OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oWaterRingMarioDistInFront OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oWaterRingIndex OBJECT_FIELD_S32(0x22) -#define /*0x1AC*/ oWaterRingAvgScale OBJECT_FIELD_F32(0x49) +#define /*0x0F4*/ O_WATER_RING_SCALE_PHASE_INDEX 0x1B +#define /*0x0F4*/ O_WATER_RING_SCALE_PHASE_X_INDEX (O_WATER_RING_SCALE_PHASE_INDEX + 0) // 0x1B +#define /*0x0F8*/ O_WATER_RING_SCALE_PHASE_Y_INDEX (O_WATER_RING_SCALE_PHASE_INDEX + 1) // 0x1C +#define /*0x0FC*/ O_WATER_RING_SCALE_PHASE_Z_INDEX (O_WATER_RING_SCALE_PHASE_INDEX + 2) // 0x1D +#define /*0x0F4*/ oWaterRingScalePhaseVec OBJECT_FIELD_S32(O_WATER_RING_SCALE_PHASE_INDEX) +#define /*0x0F4*/ oWaterRingScalePhaseX OBJECT_FIELD_S32(O_WATER_RING_SCALE_PHASE_X_INDEX) +#define /*0x0F8*/ oWaterRingScalePhaseY OBJECT_FIELD_S32(O_WATER_RING_SCALE_PHASE_Y_INDEX) +#define /*0x0FC*/ oWaterRingScalePhaseZ OBJECT_FIELD_S32(O_WATER_RING_SCALE_PHASE_Z_INDEX) +#define /*0x100*/ O_WATER_RING_NORMAL_INDEX 0x1E +#define /*0x100*/ O_WATER_RING_NORMAL_X_INDEX (O_WATER_RING_NORMAL_INDEX + 0) // 0x1E +#define /*0x104*/ O_WATER_RING_NORMAL_Y_INDEX (O_WATER_RING_NORMAL_INDEX + 1) // 0x1F +#define /*0x108*/ O_WATER_RING_NORMAL_Z_INDEX (O_WATER_RING_NORMAL_INDEX + 2) // 0x20 +#define /*0x100*/ oWaterRingNormalVec OBJECT_FIELD_F32(O_WATER_RING_NORMAL_INDEX) +#define /*0x100*/ oWaterRingNormalX OBJECT_FIELD_F32(O_WATER_RING_NORMAL_X_INDEX) +#define /*0x104*/ oWaterRingNormalY OBJECT_FIELD_F32(O_WATER_RING_NORMAL_Y_INDEX) +#define /*0x108*/ oWaterRingNormalZ OBJECT_FIELD_F32(O_WATER_RING_NORMAL_Z_INDEX) +#define /*0x10C*/ oWaterRingMarioDistInFront OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oWaterRingIndex OBJECT_FIELD_S32(0x22) +#define /*0x1AC*/ oWaterRingAvgScale OBJECT_FIELD_F32(0x49) /* Water Ring Spawner (Jet Stream Ring Spawner and Manta Ray) */ -#define /*0x1AC*/ oWaterRingSpawnerRingsCollected OBJECT_FIELD_S32(0x49) +#define /*0x1AC*/ oWaterRingSpawnerRingsCollected OBJECT_FIELD_S32(0x49) /* Water Ring Manager (Jet Stream Ring Spawner and Manta Ray Ring Manager) */ -#define /*0x0F4*/ oWaterRingMgrNextRingIndex OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWaterRingMgrLastRingCollected OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oWaterRingMgrNextRingIndex OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oWaterRingMgrLastRingCollected OBJECT_FIELD_S32(0x1C) /* Wave Trail */ -#define /*0x0F8*/ oWaveTrailSize OBJECT_FIELD_F32(0x1C) +#define /*0x0F8*/ oWaveTrailSize OBJECT_FIELD_F32(0x1C) /* Whirlpool */ -#define /*0x0F4*/ oWhirlpoolInitFacePitch OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWhirlpoolInitFaceRoll OBJECT_FIELD_S32(0x1C) +#define /*0x0F4*/ oWhirlpoolInitFacePitch OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oWhirlpoolInitFaceRoll OBJECT_FIELD_S32(0x1C) /* White Puff Explode */ -#define /*0x0F4*/ oWhitePuffUnkF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oWhitePuffUnkF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oWhitePuffUnkFC OBJECT_FIELD_S32(0x1D) +#define /*0x0F4*/ oWhitePuffScaleX OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oWhitePuffOpacityDiff OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oWhitePuffSlowFade OBJECT_FIELD_S32(0x1D) /* White Wind Particle */ -#define /*0x0F4*/ oStrongWindParticlePenguinObj OBJECT_FIELD_OBJ(0x1B) +#define /*0x0F4*/ oStrongWindParticlePenguinObj OBJECT_FIELD_OBJ(0x1B) /* Whomp */ -#define /*0x0F8*/ oWhompShakeVal OBJECT_FIELD_S32(0x1C) +#define /*0x0F8*/ oWhompShakeVal OBJECT_FIELD_S32(0x1C) /* Wiggler */ -#define /*0x0F4*/ oWigglerFallThroughFloorsHeight OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oWigglerSegments OBJECT_FIELD_CHAIN_SEGMENT(0x1C) -#define /*0x0FC*/ oWigglerWalkAnimSpeed OBJECT_FIELD_F32(0x1D) -#define /*0x104*/ oWigglerSquishSpeed OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oWigglerTimeUntilRandomTurn OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ oWigglerTargetYaw OBJECT_FIELD_S32(0x21) -#define /*0x110*/ oWigglerWalkAwayFromWallTimer OBJECT_FIELD_S32(0x22) -#define /*0x1AC*/ oWigglerUnused OBJECT_FIELD_S16(0x49, 0) -#define /*0x1AE*/ oWigglerTextStatus OBJECT_FIELD_S16(0x49, + 1) +#define /*0x0F4*/ oWigglerFallThroughFloorsHeight OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oWigglerSegments OBJECT_FIELD_CHAIN_SEGMENT(0x1C) +#define /*0x0FC*/ oWigglerWalkAnimSpeed OBJECT_FIELD_F32(0x1D) +#define /*0x104*/ oWigglerSquishSpeed OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oWigglerTimeUntilRandomTurn OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ oWigglerTargetYaw OBJECT_FIELD_S32(0x21) +#define /*0x110*/ oWigglerWalkAwayFromWallTimer OBJECT_FIELD_S32(0x22) +#define /*0x1AC*/ oWigglerUnused OBJECT_FIELD_S16(0x49, 0) +#define /*0x1AE*/ oWigglerTextStatus OBJECT_FIELD_S16(0x49, + 1) /* Lll Wood Piece */ -#define /*0x0F4*/ oLllWoodPieceOscillationTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0F4*/ oLllWoodPieceOscillationTimer OBJECT_FIELD_S32(0x1B) /* Wooden Post */ -#define /*0x0F4*/ oWoodenPostTotalMarioAngle OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oWoodenPostPrevAngleToMario OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oWoodenPostSpeedY OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oWoodenPostMarioPounding OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ oWoodenPostOffsetY OBJECT_FIELD_F32(0x1F) +#define /*0x0F4*/ oWoodenPostTotalMarioAngle OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oWoodenPostPrevAngleToMario OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oWoodenPostSpeedY OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oWoodenPostMarioPounding OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ oWoodenPostOffsetY OBJECT_FIELD_F32(0x1F) /* Yoshi */ -#define /*0x0F4*/ oYoshiBlinkTimer OBJECT_FIELD_S32(0x1B) -#define /*0x0FC*/ oYoshiChosenHome OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ oYoshiTargetYaw OBJECT_FIELD_S32(0x1E) +#define /*0x0F4*/ oYoshiBlinkTimer OBJECT_FIELD_S32(0x1B) +#define /*0x0FC*/ oYoshiChosenHome OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ oYoshiTargetYaw OBJECT_FIELD_S32(0x1E) /*Custom general defines: @@ -1188,59 +1293,58 @@ os1610E os16110 os16112*/ -#define /*0x0F4*/ oF4 OBJECT_FIELD_S32(0x1B) -#define /*0x0F8*/ oF8 OBJECT_FIELD_S32(0x1C) -#define /*0x0FC*/ oFC OBJECT_FIELD_S32(0x1D) -#define /*0x100*/ o100 OBJECT_FIELD_S32(0x1E) -#define /*0x104*/ o104 OBJECT_FIELD_S32(0x1F) -#define /*0x108*/ o108 OBJECT_FIELD_S32(0x20) -#define /*0x10C*/ o10C OBJECT_FIELD_S32(0x21) -#define /*0x110*/ o110 OBJECT_FIELD_S32(0x22) +#define /*0x0F4*/ oF4 OBJECT_FIELD_S32(0x1B) +#define /*0x0F8*/ oF8 OBJECT_FIELD_S32(0x1C) +#define /*0x0FC*/ oFC OBJECT_FIELD_S32(0x1D) +#define /*0x100*/ o100 OBJECT_FIELD_S32(0x1E) +#define /*0x104*/ o104 OBJECT_FIELD_S32(0x1F) +#define /*0x108*/ o108 OBJECT_FIELD_S32(0x20) +#define /*0x10C*/ o10C OBJECT_FIELD_S32(0x21) +#define /*0x110*/ o110 OBJECT_FIELD_S32(0x22) +#define /*0x0F4*/ oFloatF4 OBJECT_FIELD_F32(0x1B) +#define /*0x0F8*/ oFloatF8 OBJECT_FIELD_F32(0x1C) +#define /*0x0FC*/ oFloatFC OBJECT_FIELD_F32(0x1D) +#define /*0x100*/ oFloat100 OBJECT_FIELD_F32(0x1E) +#define /*0x104*/ oFloat104 OBJECT_FIELD_F32(0x1F) +#define /*0x108*/ oFloat108 OBJECT_FIELD_F32(0x20) +#define /*0x10C*/ oFloat10C OBJECT_FIELD_F32(0x21) +#define /*0x110*/ oFloat110 OBJECT_FIELD_F32(0x22) -#define /*0x0F4*/ oFloatF4 OBJECT_FIELD_F32(0x1B) -#define /*0x0F8*/ oFloatF8 OBJECT_FIELD_F32(0x1C) -#define /*0x0FC*/ oFloatFC OBJECT_FIELD_F32(0x1D) -#define /*0x100*/ oFloat100 OBJECT_FIELD_F32(0x1E) -#define /*0x104*/ oFloat104 OBJECT_FIELD_F32(0x1F) -#define /*0x108*/ oFloat108 OBJECT_FIELD_F32(0x20) -#define /*0x10C*/ oFloat10C OBJECT_FIELD_F32(0x21) -#define /*0x110*/ oFloat110 OBJECT_FIELD_F32(0x22) +#define /*0x0F4*/ oObjF4 OBJECT_FIELD_OBJ(0x1B) +#define /*0x0F8*/ oObjF8 OBJECT_FIELD_OBJ(0x1C) +#define /*0x0FC*/ oObjFC OBJECT_FIELD_OBJ(0x1D) +#define /*0x100*/ oObj100 OBJECT_FIELD_OBJ(0x1E) +#define /*0x104*/ oObj104 OBJECT_FIELD_OBJ(0x1F) +#define /*0x108*/ oObj108 OBJECT_FIELD_OBJ(0x20) +#define /*0x10C*/ oObj10C OBJECT_FIELD_OBJ(0x21) +#define /*0x110*/ oObj110 OBJECT_FIELD_OBJ(0x22) -#define /*0x0F4*/ oObjF4 OBJECT_FIELD_OBJ(0x1B) -#define /*0x0F8*/ oObjF8 OBJECT_FIELD_OBJ(0x1C) -#define /*0x0FC*/ oObjFC OBJECT_FIELD_OBJ(0x1D) -#define /*0x100*/ oObj100 OBJECT_FIELD_OBJ(0x1E) -#define /*0x104*/ oObj104 OBJECT_FIELD_OBJ(0x1F) -#define /*0x108*/ oObj108 OBJECT_FIELD_OBJ(0x20) -#define /*0x10C*/ oObj10C OBJECT_FIELD_OBJ(0x21) -#define /*0x110*/ oObj110 OBJECT_FIELD_OBJ(0x22) +#define /*0x0F4*/ oSurfF4 OBJECT_FIELD_SURFACE(0x1B) +#define /*0x0F8*/ oSurfF8 OBJECT_FIELD_SURFACE(0x1C) +#define /*0x0FC*/ oSurfFC OBJECT_FIELD_SURFACE(0x1D) +#define /*0x100*/ oSurf100 OBJECT_FIELD_SURFACE(0x1E) +#define /*0x104*/ oSurf104 OBJECT_FIELD_SURFACE(0x1F) +#define /*0x108*/ oSurf108 OBJECT_FIELD_SURFACE(0x20) +#define /*0x10C*/ oSurf10C OBJECT_FIELD_SURFACE(0x21) +#define /*0x110*/ oSurf110 OBJECT_FIELD_SURFACE(0x22) -#define /*0x0F4*/ oSurfF4 OBJECT_FIELD_SURFACE(0x1B) -#define /*0x0F8*/ oSurfF8 OBJECT_FIELD_SURFACE(0x1C) -#define /*0x0FC*/ oSurfFC OBJECT_FIELD_SURFACE(0x1D) -#define /*0x100*/ oSurf100 OBJECT_FIELD_SURFACE(0x1E) -#define /*0x104*/ oSurf104 OBJECT_FIELD_SURFACE(0x1F) -#define /*0x108*/ oSurf108 OBJECT_FIELD_SURFACE(0x20) -#define /*0x10C*/ oSurf10C OBJECT_FIELD_SURFACE(0x21) -#define /*0x110*/ oSurf110 OBJECT_FIELD_SURFACE(0x22) - -#define /*0x0F4*/ os16F4 OBJECT_FIELD_S16(0x1B, 0) -#define /*0x0F6*/ os16F6 OBJECT_FIELD_S16(0x1B, 1) -#define /*0x0F8*/ os16F8 OBJECT_FIELD_S16(0x1C, 0) -#define /*0x0FA*/ os16FA OBJECT_FIELD_S16(0x1C, 1) -#define /*0x0FC*/ os16FC OBJECT_FIELD_S16(0x1D, 0) -#define /*0x0FE*/ os16FE OBJECT_FIELD_S16(0x1D, 1) -#define /*0x100*/ os16100 OBJECT_FIELD_S16(0x1E, 0) -#define /*0x102*/ os16102 OBJECT_FIELD_S16(0x1E, 1) -#define /*0x104*/ os16104 OBJECT_FIELD_S16(0x1F, 0) -#define /*0x106*/ os16106 OBJECT_FIELD_S16(0x1F, 1) -#define /*0x108*/ os16108 OBJECT_FIELD_S16(0x20, 0) -#define /*0x10A*/ os1610A OBJECT_FIELD_S16(0x20, 1) -#define /*0x10C*/ os1610C OBJECT_FIELD_S16(0x21, 0) -#define /*0x10E*/ os1610E OBJECT_FIELD_S16(0x21, 1) -#define /*0x110*/ os16110 OBJECT_FIELD_S16(0x22, 0) -#define /*0x112*/ os16112 OBJECT_FIELD_S16(0x22, 1) +#define /*0x0F4*/ os16F4 OBJECT_FIELD_S16(0x1B, 0) +#define /*0x0F6*/ os16F6 OBJECT_FIELD_S16(0x1B, 1) +#define /*0x0F8*/ os16F8 OBJECT_FIELD_S16(0x1C, 0) +#define /*0x0FA*/ os16FA OBJECT_FIELD_S16(0x1C, 1) +#define /*0x0FC*/ os16FC OBJECT_FIELD_S16(0x1D, 0) +#define /*0x0FE*/ os16FE OBJECT_FIELD_S16(0x1D, 1) +#define /*0x100*/ os16100 OBJECT_FIELD_S16(0x1E, 0) +#define /*0x102*/ os16102 OBJECT_FIELD_S16(0x1E, 1) +#define /*0x104*/ os16104 OBJECT_FIELD_S16(0x1F, 0) +#define /*0x106*/ os16106 OBJECT_FIELD_S16(0x1F, 1) +#define /*0x108*/ os16108 OBJECT_FIELD_S16(0x20, 0) +#define /*0x10A*/ os1610A OBJECT_FIELD_S16(0x20, 1) +#define /*0x10C*/ os1610C OBJECT_FIELD_S16(0x21, 0) +#define /*0x10E*/ os1610E OBJECT_FIELD_S16(0x21, 1) +#define /*0x110*/ os16110 OBJECT_FIELD_S16(0x22, 0) +#define /*0x112*/ os16112 OBJECT_FIELD_S16(0x22, 1) #endif // OBJECT_FIELDS_H diff --git a/src/game/behaviors/animated_floor_switch.inc.c b/src/game/behaviors/animated_floor_switch.inc.c index 49f5392c..7cbe323c 100644 --- a/src/game/behaviors/animated_floor_switch.inc.c +++ b/src/game/behaviors/animated_floor_switch.inc.c @@ -36,42 +36,42 @@ void bhv_animates_on_floor_switch_press_init(void) { } void bhv_animates_on_floor_switch_press_loop(void) { - if (o->oFloorSwitchPressAnimationUnk100 != 0) { + if (o->oFloorSwitchPressAnimationSwitchNotTicking != 0) { if (o->parentObj->oAction != 2) { - o->oFloorSwitchPressAnimationUnk100 = 0; + o->oFloorSwitchPressAnimationSwitchNotTicking = 0; } - if (o->oFloorSwitchPressAnimationUnkFC != 0) { - o->oFloorSwitchPressAnimationUnkF4 = sAnimatesOnFloorSwitchPressTimers[o->oBehParams2ndByte]; + if (o->oFloorSwitchPressAnimationDoResetTime != 0) { + o->oFloorSwitchPressAnimationTickTimer = sAnimatesOnFloorSwitchPressTimers[o->oBehParams2ndByte]; } else { - o->oFloorSwitchPressAnimationUnkF4 = 0; + o->oFloorSwitchPressAnimationTickTimer = 0; } } else if (o->parentObj->oAction == 2) { - o->oFloorSwitchPressAnimationUnkFC ^= 1; - o->oFloorSwitchPressAnimationUnk100 = 1; + o->oFloorSwitchPressAnimationDoResetTime ^= 1; + o->oFloorSwitchPressAnimationSwitchNotTicking = 1; } - if (o->oFloorSwitchPressAnimationUnkF4 != 0) { - if (o->oFloorSwitchPressAnimationUnkF4 < 60) { + if (o->oFloorSwitchPressAnimationTickTimer != 0) { + if (o->oFloorSwitchPressAnimationTickTimer < 60) { cur_obj_play_sound_1(SOUND_GENERAL2_SWITCH_TICK_SLOW); } else { cur_obj_play_sound_1(SOUND_GENERAL2_SWITCH_TICK_FAST); } - if (--o->oFloorSwitchPressAnimationUnkF4 == 0) { - o->oFloorSwitchPressAnimationUnkFC = 0; + if (--o->oFloorSwitchPressAnimationTickTimer == 0) { + o->oFloorSwitchPressAnimationDoResetTime = 0; } - if (o->oFloorSwitchPressAnimationUnkF8 < 9) { - o->oFloorSwitchPressAnimationUnkF8 += 1; + if (o->oFloorSwitchPressAnimationDoubleFrame < 9) { + o->oFloorSwitchPressAnimationDoubleFrame += 1; } - } else if ((o->oFloorSwitchPressAnimationUnkF8 -= 2) < 0) { - o->oFloorSwitchPressAnimationUnkF8 = 0; - o->oFloorSwitchPressAnimationUnkFC = 1; + } else if ((o->oFloorSwitchPressAnimationDoubleFrame -= 2) < 0) { + o->oFloorSwitchPressAnimationDoubleFrame = 0; + o->oFloorSwitchPressAnimationDoResetTime = 1; } o->collisionData = segmented_to_virtual( - sFloorSwitchTriggeredAnimationFrames[o->oBehParams2ndByte][o->oFloorSwitchPressAnimationUnkF8 / 2].collisionDataPtr); + sFloorSwitchTriggeredAnimationFrames[o->oBehParams2ndByte][o->oFloorSwitchPressAnimationDoubleFrame / 2].collisionDataPtr); - cur_obj_set_model(sFloorSwitchTriggeredAnimationFrames[o->oBehParams2ndByte][o->oFloorSwitchPressAnimationUnkF8 / 2].model); + cur_obj_set_model(sFloorSwitchTriggeredAnimationFrames[o->oBehParams2ndByte][o->oFloorSwitchPressAnimationDoubleFrame / 2].model); } diff --git a/src/game/behaviors/bouncing_fireball.inc.c b/src/game/behaviors/bouncing_fireball.inc.c index 9dde41f0..560c0406 100644 --- a/src/game/behaviors/bouncing_fireball.inc.c +++ b/src/game/behaviors/bouncing_fireball.inc.c @@ -46,8 +46,8 @@ void bhv_bouncing_fireball_spawner_loop(void) { break; case 2: if (o->oTimer == 0) - o->oBouncingFireBallUnkF4 = random_float() * 100.0f; - if (o->oBouncingFireBallUnkF4 + 100 < o->oTimer) + o->oBouncingFireBallSpawnerRandomCooldown = random_float() * 100.0f; + if (o->oBouncingFireBallSpawnerRandomCooldown + 100 < o->oTimer) o->oAction = 0; break; } diff --git a/src/game/behaviors/bub.inc.c b/src/game/behaviors/bub.inc.c index e8e63096..b208625f 100644 --- a/src/game/behaviors/bub.inc.c +++ b/src/game/behaviors/bub.inc.c @@ -7,7 +7,7 @@ // TODO: Rename these. These have nothing to do with birds. void bub_spawner_act_0(void) { s32 i; - s32 sp18 = o->oBirdChirpChirpUnkF4; + s32 sp18 = o->oCheepCheepSpawnerSpawnAmount; if (o->oDistanceToMario < 1500.0f) { for (i = 0; i < sp18; i++) spawn_object(o, MODEL_BUB, bhvBub); @@ -37,16 +37,16 @@ void bhv_bub_spawner_loop(void) { void bub_move_vertically(s32 a0) { f32 sp1C = o->parentObj->oPosY; - if (sp1C - 100.0f - o->oCheepCheepUnk104 < o->oPosY - && o->oPosY < sp1C + 1000.0f + o->oCheepCheepUnk104) - o->oPosY = approach_f32_symmetric(o->oPosY, o->oCheepCheepUnkF8, a0); + if (sp1C - 100.0f - o->oCheepCheepMaxYOffset < o->oPosY + && o->oPosY < sp1C + 1000.0f + o->oCheepCheepMaxYOffset) + o->oPosY = approach_f32_symmetric(o->oPosY, o->oCheepCheepTargetY, a0); else { } } void bub_act_0(void) { - o->oCheepCheepUnkFC = random_float() * 100.0f; - o->oCheepCheepUnk104 = random_float() * 300.0f; + o->oCheepCheepTargetYOffset = random_float() * 100.0f; + o->oCheepCheepMaxYOffset = random_float() * 300.0f; o->oAction = 1; } @@ -54,10 +54,10 @@ void bub_act_1(void) { f32 dy; if (o->oTimer == 0) { o->oForwardVel = random_float() * 2 + 2; - o->oCheepCheepUnk108 = random_float(); + o->oCheepCheepRandomSwimAway = random_float(); } dy = o->oPosY - gMarioObject->oPosY; - if (o->oPosY < o->oCheepCheepUnkF4 - 50.0f) { + if (o->oPosY < o->oCheepCheepWaterLevel - 50.0f) { if (dy < 0.0f) dy = 0.0f - dy; if (dy < 500.0f) @@ -65,7 +65,7 @@ void bub_act_1(void) { else bub_move_vertically(4); } else { - o->oPosY = o->oCheepCheepUnkF4 - 50.0f; + o->oPosY = o->oCheepCheepWaterLevel - 50.0f; if (dy > 300.0f) o->oPosY = o->oPosY - 1.0f; } @@ -73,7 +73,7 @@ void bub_act_1(void) { o->oAngleToMario = cur_obj_angle_to_home(); cur_obj_rotate_yaw_toward(o->oAngleToMario, 0x100); if (o->oDistanceToMario < 200.0f) - if (o->oCheepCheepUnk108 < 0.5) + if (o->oCheepCheepRandomSwimAway < 0.5) o->oAction = 2; if (o->oInteractStatus & INT_STATUS_INTERACTED) o->oAction = 2; @@ -91,7 +91,7 @@ void bub_act_2(void) { if (o->oForwardVel == 0.0f) o->oForwardVel = 6.0f; dy = o->oPosY - gMarioObject->oPosY; - if (o->oPosY < o->oCheepCheepUnkF4 - 50.0f) { + if (o->oPosY < o->oCheepCheepWaterLevel - 50.0f) { if (dy < 0.0f) dy = 0.0f - dy; if (dy < 500.0f) @@ -99,7 +99,7 @@ void bub_act_2(void) { else bub_move_vertically(4); } else { - o->oPosY = o->oCheepCheepUnkF4 - 50.0f; + o->oPosY = o->oCheepCheepWaterLevel - 50.0f; if (dy > 300.0f) o->oPosY -= 1.0f; } @@ -113,8 +113,8 @@ void bub_act_2(void) { void (*sCheepCheepActions[])(void) = { bub_act_0, bub_act_1, bub_act_2 }; void bhv_bub_loop(void) { - o->oCheepCheepUnkF4 = find_water_level(o->oPosX, o->oPosZ); - o->oCheepCheepUnkF8 = gMarioObject->oPosY + o->oCheepCheepUnkFC; + o->oCheepCheepWaterLevel = find_water_level(o->oPosX, o->oPosZ); + o->oCheepCheepTargetY = gMarioObject->oPosY + o->oCheepCheepTargetYOffset; o->oWallHitboxRadius = 30.0f; cur_obj_update_floor_and_walls(); cur_obj_call_action_function(sCheepCheepActions); diff --git a/src/game/behaviors/bubba.inc.c b/src/game/behaviors/bubba.inc.c index 7bb521b7..d51a4b40 100644 --- a/src/game/behaviors/bubba.inc.c +++ b/src/game/behaviors/bubba.inc.c @@ -17,29 +17,29 @@ void bubba_act_0(void) { treat_far_home_as_mario(2000.0f); o->oAnimState = 0; - o->oBubbaUnk1AC = obj_get_pitch_to_home(lateralDistToHome); + o->oBubbaTargetPitch = obj_get_pitch_to_home(lateralDistToHome); - approach_f32_ptr(&o->oBubbaUnkF4, 5.0f, 0.5f); + approach_f32_ptr(&o->oBubbaMovePitch, 5.0f, 0.5f); - if (o->oBubbaUnkFC != 0) { - if (abs_angle_diff(o->oMoveAngleYaw, o->oBubbaUnk1AE) < 800) { - o->oBubbaUnkFC = 0; + if (o->oBubbaHitWall != 0) { + if (abs_angle_diff(o->oMoveAngleYaw, o->oBubbaTargetYaw) < 800) { + o->oBubbaHitWall = 0; } } else { if (o->oDistanceToMario >= 25000.0f) { - o->oBubbaUnk1AE = o->oAngleToMario; - o->oBubbaUnkF8 = random_linear_offset(20, 30); + o->oBubbaTargetYaw = o->oAngleToMario; + o->oBubbaRandomTimer = random_linear_offset(20, 30); } - if ((o->oBubbaUnkFC = o->oMoveFlags & OBJ_MOVE_HIT_WALL) != 0) { - o->oBubbaUnk1AE = cur_obj_reflect_move_angle_off_wall(); + if ((o->oBubbaHitWall = o->oMoveFlags & OBJ_MOVE_HIT_WALL) != 0) { + o->oBubbaTargetYaw = cur_obj_reflect_move_angle_off_wall(); } else if (o->oTimer > 30 && o->oDistanceToMario < 2000.0f) { o->oAction = 1; - } else if (o->oBubbaUnkF8 != 0) { - o->oBubbaUnkF8 -= 1; + } else if (o->oBubbaRandomTimer != 0) { + o->oBubbaRandomTimer -= 1; } else { - o->oBubbaUnk1AE = obj_random_fixed_turn(0x2000); - o->oBubbaUnkF8 = random_linear_offset(100, 100); + o->oBubbaTargetYaw = obj_random_fixed_turn(0x2000); + o->oBubbaRandomTimer = random_linear_offset(100, 100); } } } @@ -48,25 +48,25 @@ void bubba_act_1(void) { treat_far_home_as_mario(2500.0f); if (o->oDistanceToMario > 2500.0f) { o->oAction = 0; - } else if (o->oBubbaUnk100 != 0) { - if (--o->oBubbaUnk100 == 0) { + } else if (o->oBubbaLungeTimer != 0) { + if (--o->oBubbaLungeTimer == 0) { cur_obj_play_sound_2(SOUND_OBJ_BUBBA_CHOMP); o->oAction = 0; - } else if (o->oBubbaUnk100 < 15) { + } else if (o->oBubbaLungeTimer < 15) { o->oAnimState = 1; - } else if (o->oBubbaUnk100 == 20) { + } else if (o->oBubbaLungeTimer == 20) { s16 targetPitch = 10000 - (s16)(20.0f * (find_water_level(o->oPosX, o->oPosZ) - o->oPosY)); - o->oBubbaUnk1AC -= targetPitch; - o->oMoveAnglePitch = o->oBubbaUnk1AC; - o->oBubbaUnkF4 = 40.0f; - obj_compute_vel_from_move_pitch(o->oBubbaUnkF4); + o->oBubbaTargetPitch -= targetPitch; + o->oMoveAnglePitch = o->oBubbaTargetPitch; + o->oBubbaMovePitch = 40.0f; + obj_compute_vel_from_move_pitch(o->oBubbaMovePitch); o->oAnimState = 0; } else { - o->oBubbaUnk1AE = o->oAngleToMario; - o->oBubbaUnk1AC = o->oBubbaUnk104; + o->oBubbaTargetYaw = o->oAngleToMario; + o->oBubbaTargetPitch = o->oBubbaNextTargetPitchTowardMario; - cur_obj_rotate_yaw_toward(o->oBubbaUnk1AE, 400); - obj_move_pitch_approach(o->oBubbaUnk1AC, 400); + cur_obj_rotate_yaw_toward(o->oBubbaTargetYaw, 400); + obj_move_pitch_approach(o->oBubbaTargetPitch, 400); } } else { if (abs_angle_diff(gMarioObject->oFaceAngleYaw, o->oAngleToMario) < 0x3000) { @@ -75,30 +75,30 @@ void bubba_act_1(void) { targetDYaw = -targetDYaw; } - o->oBubbaUnk1AE = o->oAngleToMario + targetDYaw; + o->oBubbaTargetYaw = o->oAngleToMario + targetDYaw; } else { - o->oBubbaUnk1AE = o->oAngleToMario; + o->oBubbaTargetYaw = o->oAngleToMario; } - o->oBubbaUnk1AC = o->oBubbaUnk104; + o->oBubbaTargetPitch = o->oBubbaNextTargetPitchTowardMario; if (obj_is_near_to_and_facing_mario(500.0f, 3000) - && abs_angle_diff(o->oBubbaUnk1AC, o->oMoveAnglePitch) < 3000) { - o->oBubbaUnk100 = 30; - o->oBubbaUnkF4 = 0; + && abs_angle_diff(o->oBubbaTargetPitch, o->oMoveAnglePitch) < 3000) { + o->oBubbaLungeTimer = 30; + o->oBubbaMovePitch = 0; o->oAnimState = 1; } else { - approach_f32_ptr(&o->oBubbaUnkF4, 20.0f, 0.5f); + approach_f32_ptr(&o->oBubbaMovePitch, 20.0f, 0.5f); } } } void bhv_bubba_loop(void) { o->oInteractionSubtype &= ~INT_SUBTYPE_EATS_MARIO; - o->oBubbaUnk104 = obj_turn_pitch_toward_mario(120.0f, 0); + o->oBubbaNextTargetPitchTowardMario = obj_turn_pitch_toward_mario(120.0f, 0); if (abs_angle_diff(o->oAngleToMario, o->oMoveAngleYaw) < 0x1000 - && abs_angle_diff(o->oBubbaUnk104 + 0x800, o->oMoveAnglePitch) < 0x2000) { + && abs_angle_diff(o->oBubbaNextTargetPitchTowardMario + 0x800, o->oMoveAnglePitch) < 0x2000) { if (o->oAnimState != 0 && o->oDistanceToMario < 250.0f) { o->oInteractionSubtype |= INT_SUBTYPE_EATS_MARIO; } @@ -126,26 +126,26 @@ void bhv_bubba_loop(void) { obj_scale(splashObj, 3.0f); } - o->oBubbaUnk108 = o->oVelY; - o->oBubbaUnk10C = 0.0f; + o->oBubbaAirVelY = o->oVelY; + o->oBubbaJumpHeight = 0.0f; } else { - approach_f32_ptr(&o->oBubbaUnk108, 0.0f, 4.0f); - if ((o->oBubbaUnk10C -= o->oBubbaUnk108) > 1.0f) { + approach_f32_ptr(&o->oBubbaAirVelY, 0.0f, 4.0f); + if ((o->oBubbaJumpHeight -= o->oBubbaAirVelY) > 1.0f) { s16 rand = random_u16(); - o->oBubbaUnk10C -= 1.0f; + o->oBubbaJumpHeight -= 1.0f; spawn_object_relative(0, 150.0f * coss(rand), 0x64, 150.0f * sins(rand), o, MODEL_WHITE_PARTICLE_SMALL, bhvSmallParticleSnow); } } - obj_smooth_turn(&o->oBubbaUnk1B0, &o->oMoveAnglePitch, o->oBubbaUnk1AC, 0.05f, 10, 50, 2000); - obj_smooth_turn(&o->oBubbaUnk1B2, &o->oMoveAngleYaw, o->oBubbaUnk1AE, 0.05f, 10, 50, 2000); - obj_compute_vel_from_move_pitch(o->oBubbaUnkF4); + obj_smooth_turn(&o->oBubbaPitchVel, &o->oMoveAnglePitch, o->oBubbaTargetPitch, 0.05f, 10, 50, 2000); + obj_smooth_turn(&o->oBubbaYawVel, &o->oMoveAngleYaw, o->oBubbaTargetYaw, 0.05f, 10, 50, 2000); + obj_compute_vel_from_move_pitch(o->oBubbaMovePitch); } else { - o->oBubbaUnkF4 = sqrtf(o->oForwardVel * o->oForwardVel + o->oVelY * o->oVelY); + o->oBubbaMovePitch = sqrtf(o->oForwardVel * o->oForwardVel + o->oVelY * o->oVelY); o->oMoveAnglePitch = obj_get_pitch_from_vel(); obj_face_pitch_approach(o->oMoveAnglePitch, 400); - o->oBubbaUnk1B0 = 0; + o->oBubbaPitchVel = 0; } obj_face_pitch_approach(o->oMoveAnglePitch, 400); diff --git a/src/game/behaviors/camera_lakitu.inc.c b/src/game/behaviors/camera_lakitu.inc.c index 2b66cff3..d4ab5f32 100644 --- a/src/game/behaviors/camera_lakitu.inc.c +++ b/src/game/behaviors/camera_lakitu.inc.c @@ -103,9 +103,9 @@ static void camera_lakitu_intro_act_show_dialog(void) { approach_f32_ptr(&o->oCameraLakituCircleRadius, 200.0f, 50.0f); if (o->oDistanceToMario < 1000.0f) { #ifndef VERSION_JP - if (!o->oCameraLakituUnk104) { + if (!o->oCameraLakituIntroMusicPlayed) { play_music(SEQ_PLAYER_LEVEL, SEQUENCE_ARGS(15, SEQ_EVENT_CUTSCENE_LAKITU), 0); - o->oCameraLakituUnk104 = TRUE; + o->oCameraLakituIntroMusicPlayed = TRUE; } #endif diff --git a/src/game/behaviors/cannon.inc.c b/src/game/behaviors/cannon.inc.c index 6a18f18d..242b964d 100644 --- a/src/game/behaviors/cannon.inc.c +++ b/src/game/behaviors/cannon.inc.c @@ -12,8 +12,8 @@ void opened_cannon_act_0(void) { o->oPosZ = o->oHomeZ; o->oMoveAnglePitch = 0; o->oMoveAngleYaw = (s16)(o->oBehParams2ndByte << 8); - o->oCannonUnkF4 = 0; - o->oCannonUnk10C = 0; + o->oCannonAngle = 0; + o->oCannonIsActive = 0; cur_obj_enable_rendering(); cur_obj_become_tangible(); } @@ -25,14 +25,14 @@ void opened_cannon_act_0(void) { & INT_STATUS_TOUCHED_BOB_OMB))) // bob-omb explodes when it gets into a cannon { o->oAction = 4; - o->oCannonUnk10C = 1; - o->oCannonUnkF8 = 1; + o->oCannonIsActive = 1; + o->oCannonTimeSinceActivated = 1; } else o->oInteractStatus = 0; } else { cur_obj_become_intangible(); cur_obj_disable_rendering(); - o->oCannonUnk10C = 0; + o->oCannonIsActive = 0; } } @@ -60,11 +60,11 @@ void opened_cannon_act_6(void) { } else { if (o->oTimer < 22) { o->oMoveAngleYaw = - sins(o->oCannonUnkF4) * 0x4000 + ((s16)(o->oBehParams2ndByte << 8)); - o->oCannonUnkF4 += 0x400; + sins(o->oCannonAngle) * 0x4000 + ((s16)(o->oBehParams2ndByte << 8)); + o->oCannonAngle += 0x400; } else if (o->oTimer < 26) { } else { - o->oCannonUnkF4 = 0; + o->oCannonAngle = 0; o->oAction = 5; } } @@ -77,8 +77,8 @@ void opened_cannon_act_5(void) { if (o->oTimer < 4) { } else { if (o->oTimer < 20) { - o->oCannonUnkF4 += 0x400; - o->oMoveAnglePitch = sins(o->oCannonUnkF4) * 0x2000; + o->oCannonAngle += 0x400; + o->oMoveAnglePitch = sins(o->oCannonAngle) * 0x2000; } else if (o->oTimer < 25) { } else o->oAction = 1; @@ -89,7 +89,7 @@ void opened_cannon_act_1(void) { UNUSED s32 unused; cur_obj_become_intangible(); cur_obj_disable_rendering(); - o->oCannonUnk10C = 0; + o->oCannonIsActive = 0; gMarioShotFromCannon = 1; } @@ -109,8 +109,8 @@ void (*sOpenedCannonActions[])(void) = { opened_cannon_act_0, opened_cannon_act_ void bhv_cannon_base_loop(void) { cur_obj_call_action_function(sOpenedCannonActions); - if (o->oCannonUnkF8) - o->oCannonUnkF8++; + if (o->oCannonTimeSinceActivated) + o->oCannonTimeSinceActivated++; o->oInteractStatus = 0; } diff --git a/src/game/behaviors/cap.inc.c b/src/game/behaviors/cap.inc.c index 09e13d1a..909c26a7 100644 --- a/src/game/behaviors/cap.inc.c +++ b/src/game/behaviors/cap.inc.c @@ -109,11 +109,11 @@ void bhv_wing_cap_init(void) { } void cap_scale_vertically(void) { - o->oCapUnkF8 += 0x2000; - o->header.gfx.scale[1] = coss(o->oCapUnkF8) * 0.3 + 0.7; - if (o->oCapUnkF8 == 0x10000) { - o->oCapUnkF8 = 0; - o->oCapUnkF4 = 2; + o->oCapScaleAngle += 0x2000; + o->header.gfx.scale[1] = coss(o->oCapScaleAngle) * 0.3 + 0.7; + if (o->oCapScaleAngle == 0x10000) { + o->oCapScaleAngle = 0; + o->oCapDoScaleVertically = 2; } } @@ -125,12 +125,12 @@ void wing_vanish_cap_act_0(void) { if (collisionFlags & OBJ_COL_FLAG_GROUNDED) { cap_check_quicksand(); if (o->oVelY != 0.0f) { - o->oCapUnkF4 = 1; + o->oCapDoScaleVertically = 1; o->oVelY = 0.0f; } } - if (o->oCapUnkF4 == 1) + if (o->oCapDoScaleVertically == 1) cap_scale_vertically(); } @@ -229,13 +229,13 @@ void normal_cap_act_0(void) { cap_check_quicksand(); if (o->oVelY != 0.0f) { - o->oCapUnkF4 = 1; + o->oCapDoScaleVertically = 1; o->oVelY = 0.0f; o->oFaceAnglePitch = 0; } } - if (o->oCapUnkF4 == 1) + if (o->oCapDoScaleVertically == 1) cap_scale_vertically(); } diff --git a/src/game/behaviors/celebration_star.inc.c b/src/game/behaviors/celebration_star.inc.c index 85f8964b..8706adb6 100644 --- a/src/game/behaviors/celebration_star.inc.c +++ b/src/game/behaviors/celebration_star.inc.c @@ -12,13 +12,13 @@ void bhv_celebration_star_init(void) { o->oFaceAnglePitch = 0; o->oFaceAngleRoll = 49152; cur_obj_scale(0.1f); - o->oCelebStarUnkF4 = 1; + o->oCelebStarIsBowserKey = 1; } else { o->header.gfx.sharedChild = gLoadedGraphNodes[MODEL_STAR]; o->oFaceAnglePitch = 0; o->oFaceAngleRoll = 0; cur_obj_scale(0.4f); - o->oCelebStarUnkF4 = 0; + o->oCelebStarIsBowserKey = 0; } #else o->header.gfx.sharedChild = gLoadedGraphNodes[MODEL_STAR]; @@ -48,7 +48,7 @@ void celeb_star_act_face_camera(void) { if (o->oTimer < 10) { #if BUGFIX_STAR_BOWSER_KEY - if (o->oCelebStarUnkF4 == 0) { + if (o->oCelebStarIsBowserKey == 0) { cur_obj_scale((f32) o->oTimer / 10.0); } else { cur_obj_scale((f32) o->oTimer / 30.0); diff --git a/src/game/behaviors/chain_chomp.inc.c b/src/game/behaviors/chain_chomp.inc.c index 57afa831..6af473e1 100644 --- a/src/game/behaviors/chain_chomp.inc.c +++ b/src/game/behaviors/chain_chomp.inc.c @@ -214,7 +214,7 @@ static void chain_chomp_sub_act_lunge(void) { if (o->oChainChompRestrictedByChain == TRUE) { o->oForwardVel = o->oVelY = 0.0f; - o->oChainChompUnk104 = 30.0f; + o->oChainChompSignedMaxDistBetweenChainParts = 30.0f; } // TODO: What is this @@ -230,15 +230,15 @@ static void chain_chomp_sub_act_lunge(void) { cur_obj_rotate_yaw_toward(atan2s(o->oChainChompSegments[0].posZ, o->oChainChompSegments[0].posX), 0x1000); - if (o->oChainChompUnk104 != 0.0f) { - approach_f32_ptr(&o->oChainChompUnk104, 0.0f, 0.8f); + if (o->oChainChompSignedMaxDistBetweenChainParts != 0.0f) { + approach_f32_ptr(&o->oChainChompSignedMaxDistBetweenChainParts, 0.0f, 0.8f); } else { o->oSubAction = CHAIN_CHOMP_SUB_ACT_TURN; } - o->oChainChompMaxDistBetweenChainParts = o->oChainChompUnk104; + o->oChainChompMaxDistBetweenChainParts = o->oChainChompSignedMaxDistBetweenChainParts; if (gGlobalTimer % 2 != 0) { - o->oChainChompMaxDistBetweenChainParts = -o->oChainChompUnk104; + o->oChainChompMaxDistBetweenChainParts = -o->oChainChompSignedMaxDistBetweenChainParts; } } diff --git a/src/game/behaviors/checkerboard_platform.inc.c b/src/game/behaviors/checkerboard_platform.inc.c index 57d71dd5..cf7c7f6c 100644 --- a/src/game/behaviors/checkerboard_platform.inc.c +++ b/src/game/behaviors/checkerboard_platform.inc.c @@ -21,7 +21,7 @@ void bhv_checkerboard_elevator_group_init(void) { platformObj = spawn_object_relative(i, 0, i * relativePosY, relativePosZ, o, MODEL_CHECKERBOARD_PLATFORM, bhvCheckerboardPlatformSub); - platformObj->oCheckerBoardPlatformUnk1AC = sCheckerBoardPlatformInitPositions[type].radius; + platformObj->oCheckerBoardPlatformRadius = sCheckerBoardPlatformInitPositions[type].radius; vec3f_copy_2(platformObj->header.gfx.scale, sCheckerBoardPlatformInitPositions[type].scale); } } @@ -40,16 +40,16 @@ void checkerboard_plat_act_rotate(s32 nextAction, s16 pitch) { o->oAngleVelPitch = pitch; if (o->oTimer + 1 == 0x8000 / absi(pitch)) o->oAction = nextAction; - o->oCheckerBoardPlatformUnkF8 = nextAction; + o->oCheckerBoardPlatformRotateAction = nextAction; } void bhv_checkerboard_platform_init(void) { - o->oCheckerBoardPlatformUnkFC = o->parentObj->oBehParams2ndByte; + o->oCheckerBoardPlatformHeight = o->parentObj->oBehParams2ndByte; } void bhv_checkerboard_platform_loop(void) { - f32 radius = o->oCheckerBoardPlatformUnk1AC; - o->oCheckerBoardPlatformUnkF8 = 0; + f32 radius = o->oCheckerBoardPlatformRadius; + o->oCheckerBoardPlatformRotateAction = 0; if (o->oDistanceToMario < 1000.0f) cur_obj_play_sound_1(SOUND_ENV_ELEVATOR4); switch (o->oAction) { @@ -60,13 +60,13 @@ void bhv_checkerboard_platform_loop(void) { o->oAction = 3; break; case 1: - checkerboard_plat_act_move_y(2, 10.0f, o->oCheckerBoardPlatformUnkFC); + checkerboard_plat_act_move_y(2, 10.0f, o->oCheckerBoardPlatformHeight); break; case 2: checkerboard_plat_act_rotate(3, 512); break; case 3: - checkerboard_plat_act_move_y(4, -10.0f, o->oCheckerBoardPlatformUnkFC); + checkerboard_plat_act_move_y(4, -10.0f, o->oCheckerBoardPlatformHeight); break; case 4: checkerboard_plat_act_rotate(1, -512); @@ -79,7 +79,7 @@ void bhv_checkerboard_platform_loop(void) { o->oForwardVel = signum_positive(o->oAngleVelPitch) * sins(o->oMoveAnglePitch) * radius; o->oVelY = signum_positive(o->oAngleVelPitch) * coss(o->oMoveAnglePitch) * radius; } - if (o->oCheckerBoardPlatformUnkF8 == 1) { + if (o->oCheckerBoardPlatformRotateAction == 1) { o->oAngleVelPitch = 0; o->oFaceAnglePitch &= ~0x7FFF; cur_obj_move_using_fvel_and_gravity(); diff --git a/src/game/behaviors/chuckya.inc.c b/src/game/behaviors/chuckya.inc.c index a4e5eb0a..abafa416 100644 --- a/src/game/behaviors/chuckya.inc.c +++ b/src/game/behaviors/chuckya.inc.c @@ -13,7 +13,7 @@ struct UnusedChuckyaData sUnusedChuckyaData[] = { { 2, 0.f, 1.f }, { 8, 10.f, 1.f }}; void common_anchor_mario_behavior(f32 forwardVel, f32 yVel, s32 flag) { - switch (o->parentObj->oChuckyaUnk88) { + switch (o->parentObj->oCommonAnchorAction) { case 0: break; case 1: @@ -23,14 +23,14 @@ void common_anchor_mario_behavior(f32 forwardVel, f32 yVel, s32 flag) { gMarioObject->oInteractStatus |= (flag + INT_STATUS_MARIO_UNK2); gMarioStates[0].forwardVel = forwardVel; gMarioStates[0].vel[1] = yVel; - o->parentObj->oChuckyaUnk88 = 0; + o->parentObj->oCommonAnchorAction = 0; break; case 3: gMarioObject->oInteractStatus |= (INT_STATUS_MARIO_UNK2 + INT_STATUS_MARIO_UNK6); // loads 2 interactions at once? gMarioStates[0].forwardVel = 10.0f; gMarioStates[0].vel[1] = 10.0f; - o->parentObj->oChuckyaUnk88 = 0; + o->parentObj->oCommonAnchorAction = 0; break; } o->oMoveAngleYaw = o->parentObj->oMoveAngleYaw; @@ -44,7 +44,7 @@ void bhv_chuckya_anchor_mario_loop(void) { s32 unknown_chuckya_function(s32 sp20, f32 sp24, f32 sp28, s32 sp2C) { s32 sp1C = 0; - if (o->oChuckyaUnkF8 != 4) { + if (o->oChuckyaUnused != 4) { if (sp24 < cur_obj_lateral_dist_from_mario_to_home()) { if (cur_obj_lateral_dist_to_home() < 200.0f) sp1C = 0; @@ -60,7 +60,7 @@ s32 unknown_chuckya_function(s32 sp20, f32 sp24, f32 sp28, s32 sp2C) { sp1C = 3; if (sp20 && update_angle_from_move_flags(&o->oAngleToMario)) { sp1C = 4; - o->oChuckyaUnkF8 = 4; + o->oChuckyaUnused = 4; } } else sp1C = 4; @@ -85,14 +85,14 @@ s32 approach_forward_vel(f32 *arr, f32 target, f32 inc) { void chuckya_act_0(void) { s32 initialSubAction; if (o->oTimer == 0) - o->oChuckyaUnkFC = 0; + o->oChuckyaSubActionTimer = 0; o->oAngleToMario = obj_angle_to_object(o, gMarioObject); switch (initialSubAction = o->oSubAction) { case 0: o->oForwardVel = 0; if (cur_obj_lateral_dist_from_mario_to_home() < 2000.0f) { cur_obj_rotate_yaw_toward(o->oAngleToMario, 0x400); - if (o->oChuckyaUnkFC > 40 + if (o->oChuckyaSubActionTimer > 40 || abs_angle_diff(o->oMoveAngleYaw, o->oAngleToMario) < 0x1000) o->oSubAction = 1; } else @@ -107,7 +107,7 @@ void chuckya_act_0(void) { break; case 2: approach_forward_vel(&o->oForwardVel, 0, 4.0f); - if (o->oChuckyaUnkFC > 48) + if (o->oChuckyaSubActionTimer > 48) o->oSubAction = 0; break; case 3: @@ -123,9 +123,9 @@ void chuckya_act_0(void) { break; } if (o->oSubAction != initialSubAction) - o->oChuckyaUnkFC = 0; + o->oChuckyaSubActionTimer = 0; else - o->oChuckyaUnkFC++; + o->oChuckyaSubActionTimer++; cur_obj_init_animation_with_sound(4); if (o->oForwardVel > 1.0f) cur_obj_play_sound_1(SOUND_AIR_CHUCKYA_MOVE); @@ -136,22 +136,22 @@ void chuckya_act_1(void) { if (o->oSubAction == 0) { if (cur_obj_init_animation_and_check_if_near_end(0)) o->oSubAction++; - o->oChuckyaUnkFC = random_float() * 30.0f + 10.0f; - o->oChuckyaUnk100 = 0; + o->oChuckyaSubActionTimer = random_float() * 30.0f + 10.0f; + o->oChuckyaNumPlayerEscapeActions = 0; o->oForwardVel = 0.0f; } else { if (o->oSubAction == 1) { - o->oChuckyaUnk100 += player_performed_grab_escape_action(); - print_debug_bottom_up("%d", o->oChuckyaUnk100); - if (o->oChuckyaUnk100 > 10) { - o->oChuckyaUnk88 = 3; + o->oChuckyaNumPlayerEscapeActions += player_performed_grab_escape_action(); + print_debug_bottom_up("%d", o->oChuckyaNumPlayerEscapeActions); + if (o->oChuckyaNumPlayerEscapeActions > 10) { + o->oCommonAnchorAction = 3; o->oAction = 3; o->oInteractStatus &= ~(INT_STATUS_GRABBED_MARIO); } else { cur_obj_init_animation_with_sound(1); o->oMoveAngleYaw += INT_STATUS_GRABBED_MARIO; - if (o->oChuckyaUnkFC-- < 0) - if (check_if_moving_over_floor(50.0f, 150.0f) || o->oChuckyaUnkFC < -16) { + if (o->oChuckyaSubActionTimer-- < 0) + if (check_if_moving_over_floor(50.0f, 150.0f) || o->oChuckyaSubActionTimer < -16) { o->oSubAction++; } } @@ -159,7 +159,7 @@ void chuckya_act_1(void) { cur_obj_init_animation_with_sound(3); if (cur_obj_check_anim_frame(18)) { cur_obj_play_sound_2(SOUND_OBJ_UNKNOWN4); - o->oChuckyaUnk88 = 2; + o->oCommonAnchorAction = 2; o->oAction = 3; o->oInteractStatus &= ~(INT_STATUS_GRABBED_MARIO); } @@ -191,7 +191,7 @@ void chuckya_move(void) { cur_obj_move_standard(-30); if (o->oInteractStatus & INT_STATUS_GRABBED_MARIO) { o->oAction = 1; - o->oChuckyaUnk88 = 1; + o->oCommonAnchorAction = 1; cur_obj_play_sound_2(SOUND_OBJ_UNKNOWN3); } } diff --git a/src/game/behaviors/clam.inc.c b/src/game/behaviors/clam.inc.c index 0b997348..b9ef5038 100644 --- a/src/game/behaviors/clam.inc.c +++ b/src/game/behaviors/clam.inc.c @@ -18,13 +18,13 @@ void clam_act_0(void) { spawn_mist_from_global(); cur_obj_become_tangible(); - o->oClamUnkF4 = 10; + o->oClamShakeTimer = 10; o->oTimer = 0; } else if (o->oTimer > 150 && o->oDistanceToMario < 500.0f) { cur_obj_play_sound_2(SOUND_GENERAL_CLAM_SHELL2); o->oAction = 1; - } else if (o->oClamUnkF4 != 0) { - o->oClamUnkF4 -= 1; + } else if (o->oClamShakeTimer != 0) { + o->oClamShakeTimer -= 1; cur_obj_shake_y(3.0f); } } diff --git a/src/game/behaviors/coin.inc.c b/src/game/behaviors/coin.inc.c index 00274f2e..1620de1c 100644 --- a/src/game/behaviors/coin.inc.c +++ b/src/game/behaviors/coin.inc.c @@ -49,7 +49,7 @@ void bhv_temp_coin_loop(void) { } void bhv_coin_init(void) { - o->oVelY = random_float() * 10.0f + 30 + o->oCoinUnk110; + o->oVelY = random_float() * 10.0f + 30 + o->oCoinBaseYVel; o->oForwardVel = random_float() * 10.0f; o->oMoveAngleYaw = random_u16(); cur_obj_set_behavior(bhvYellowCoin); @@ -94,9 +94,9 @@ void bhv_coin_loop(void) { } #ifndef VERSION_JP if (o->oMoveFlags & OBJ_MOVE_BOUNCE) { - if (o->oCoinUnk1B0 < 5) + if (o->oCoinBounceTimer < 5) cur_obj_play_sound_2(SOUND_GENERAL_COIN_DROP); - o->oCoinUnk1B0++; + o->oCoinBounceTimer++; } #else if (o->oMoveFlags & OBJ_MOVE_BOUNCE) @@ -112,7 +112,7 @@ void bhv_coin_formation_spawn_loop(void) { cur_obj_set_behavior(bhvYellowCoin); obj_set_hitbox(o, &sYellowCoinHitbox); bhv_init_room(); - if (o->oCoinUnkF8) { + if (o->oCoinSnapToGround) { o->oPosY += 300.0f; cur_obj_update_floor_height(); if (o->oPosY < o->oFloorHeight || o->oFloorHeight < FLOOR_LOWER_LIMIT_MISC) @@ -126,7 +126,7 @@ void bhv_coin_formation_spawn_loop(void) { } } else { if (bhv_coin_sparkles_init()) - o->parentObj->oCoinUnkF4 |= (1 << o->oBehParams2ndByte); + o->parentObj->oCoinRespawnBits |= (1 << o->oBehParams2ndByte); o->oAnimState++; } if (o->parentObj->oAction == 2) @@ -170,12 +170,12 @@ void spawn_coin_in_formation(s32 index, s32 shape) { if (spawnCoin) { newCoin = spawn_object_relative(index, pos[0], pos[1], pos[2], o, MODEL_YELLOW_COIN, bhvCoinFormationSpawn); - newCoin->oCoinUnkF8 = snapToGround; + newCoin->oCoinSnapToGround = snapToGround; } } void bhv_coin_formation_init(void) { - o->oCoinUnkF4 = (o->oBehParams >> 8) & 0xFF; + o->oCoinRespawnBits = (o->oBehParams >> 8) & 0xFF; } void bhv_coin_formation_loop(void) { @@ -184,7 +184,7 @@ void bhv_coin_formation_loop(void) { case 0: if (o->oDistanceToMario < 2000.0f) { for (bitIndex = 0; bitIndex < 8; bitIndex++) { - if (!(o->oCoinUnkF4 & (1 << bitIndex))) + if (!(o->oCoinRespawnBits & (1 << bitIndex))) spawn_coin_in_formation(bitIndex, o->oBehParams2ndByte); } o->oAction++; @@ -200,7 +200,7 @@ void bhv_coin_formation_loop(void) { } // Casting to u8 doesn't seem to match - set_object_respawn_info_bits(o, o->oCoinUnkF4 & 0xFF); + set_object_respawn_info_bits(o, o->oCoinRespawnBits & 0xFF); } void coin_inside_boo_act_1(void) { diff --git a/src/game/behaviors/collide_particles.inc.c b/src/game/behaviors/collide_particles.inc.c index 605e8a92..67ca9566 100644 --- a/src/game/behaviors/collide_particles.inc.c +++ b/src/game/behaviors/collide_particles.inc.c @@ -10,14 +10,14 @@ void bhv_punch_tiny_triangle_loop(void) { s16 yaw; if (o->oTimer == 0) { yaw = o->oMoveAngleYaw; - o->oCollisionParticleUnkF4 = 1.28f; + o->oCollisionParticleScale = 1.28f; cur_obj_set_pos_relative(gMarioObject, 0.0f, 60.0f, 100.0f); o->oMoveAngleYaw = yaw; } cur_obj_move_using_fvel_and_gravity(); o->oAnimState = 5; - cur_obj_scale(o->oCollisionParticleUnkF4); - o->oCollisionParticleUnkF4 -= 0.2f; + cur_obj_scale(o->oCollisionParticleScale); + o->oCollisionParticleScale -= 0.2f; if (gDebugInfo[4][0] + 6 < o->oTimer) obj_mark_for_deletion(o); } @@ -38,14 +38,14 @@ void bhv_wall_tiny_star_particle_loop(void) { s16 yaw; if (o->oTimer == 0) { yaw = o->oMoveAngleYaw; - o->oCollisionParticleUnkF4 = 0.28f; + o->oCollisionParticleScale = 0.28f; cur_obj_set_pos_relative(gMarioObject, 0.0f, 30.0f, 110.0f); o->oMoveAngleYaw = yaw; } cur_obj_move_using_fvel_and_gravity(); o->oAnimState = 4; - cur_obj_scale(o->oCollisionParticleUnkF4); - o->oCollisionParticleUnkF4 -= 0.015f; + cur_obj_scale(o->oCollisionParticleScale); + o->oCollisionParticleScale -= 0.015f; } void bhv_tiny_star_particles_init(void) { @@ -62,15 +62,15 @@ void bhv_tiny_star_particles_init(void) { void bhv_pound_tiny_star_particle_loop(void) { if (o->oTimer == 0) { - o->oCollisionParticleUnkF4 = 0.28f; + o->oCollisionParticleScale = 0.28f; o->oForwardVel = 25.0f; o->oPosY -= 20.0f; o->oVelY = 14.0f; } cur_obj_move_using_fvel_and_gravity(); o->oAnimState = 4; - cur_obj_scale(o->oCollisionParticleUnkF4); - o->oCollisionParticleUnkF4 -= 0.015f; + cur_obj_scale(o->oCollisionParticleScale); + o->oCollisionParticleScale -= 0.015f; } void bhv_pound_tiny_star_particle_init(void) { diff --git a/src/game/behaviors/controllable_platform.inc.c b/src/game/behaviors/controllable_platform.inc.c index 09322fbc..b453402e 100644 --- a/src/game/behaviors/controllable_platform.inc.c +++ b/src/game/behaviors/controllable_platform.inc.c @@ -70,11 +70,11 @@ void bhv_controllable_platform_init(void) { sControllablePlatformDirectionState = 0; - o->oControllablePlatformUnkFC = o->oPosY; + o->oControllablePlatformInitPosY = o->oPosY; } void controllable_platform_hit_wall(s8 nextDirection) { - o->oControllablePlatformUnkF8 = nextDirection; + o->oControllablePlatformWallHitDirection = nextDirection; o->oTimer = 0; sControllablePlatformDirectionState = 5; @@ -111,25 +111,25 @@ void controllable_platform_check_walls(s8 nextDirection, s8 wallDisplacement[3], if (!is_point_within_radius_of_mario(o->oPosX, o->oPosY, o->oPosZ, 400)) { sControllablePlatformDirectionState = 6; - o->oControllablePlatformUnk100 = 1; + o->oControllablePlatformIsFarFromMario = 1; o->oTimer = 0; } } void controllable_platform_shake_on_wall_hit(void) { - if (o->oControllablePlatformUnkF8 == 1 || o->oControllablePlatformUnkF8 == 2) { + if (o->oControllablePlatformWallHitDirection == 1 || o->oControllablePlatformWallHitDirection == 2) { o->oFaceAnglePitch = sins(o->oTimer * 0x1000) * 182.04444 * 10.0; - o->oPosY = o->oControllablePlatformUnkFC + sins(o->oTimer * 0x2000) * 20.0f; + o->oPosY = o->oControllablePlatformInitPosY + sins(o->oTimer * 0x2000) * 20.0f; } else { o->oFaceAngleRoll = sins(o->oTimer * 0x1000) * 182.04444 * 10.0; - o->oPosY = o->oControllablePlatformUnkFC + sins(o->oTimer * 0x2000) * 20.0f; + o->oPosY = o->oControllablePlatformInitPosY + sins(o->oTimer * 0x2000) * 20.0f; } if (o->oTimer == 32) { - sControllablePlatformDirectionState = o->oControllablePlatformUnkF8; + sControllablePlatformDirectionState = o->oControllablePlatformWallHitDirection; o->oFaceAnglePitch = 0; o->oFaceAngleRoll = 0; - o->oPosY = o->oControllablePlatformUnkFC; + o->oPosY = o->oControllablePlatformInitPosY; } } @@ -163,7 +163,7 @@ void bhv_controllable_platform_loop(void) { case 0: o->oFaceAnglePitch /= 2; o->oFaceAngleRoll /= 2; - if (o->oControllablePlatformUnk100 == 1 && o->oTimer > 30) { + if (o->oControllablePlatformIsFarFromMario == 1 && o->oTimer > 30) { sControllablePlatformDirectionState = 6; o->oTimer = 0; } diff --git a/src/game/behaviors/cruiser.inc.c b/src/game/behaviors/cruiser.inc.c index a705bb2c..0d336695 100644 --- a/src/game/behaviors/cruiser.inc.c +++ b/src/game/behaviors/cruiser.inc.c @@ -1,17 +1,17 @@ // cruiser.c.inc void bhv_rr_cruiser_wing_init(void) { - o->oRRCruiserWingUnkF4 = o->oFaceAngleYaw; - o->oRRCruiserWingUnkF8 = o->oFaceAnglePitch; + o->oRRCruiserWingInitYaw = o->oFaceAngleYaw; + o->oRRCruiserWingInitPitch = o->oFaceAnglePitch; } void bhv_rr_cruiser_wing_loop(void) { if (o->oBehParams2ndByte == 0) { - o->oFaceAngleYaw = o->oRRCruiserWingUnkF4 + sins(o->oTimer * 0x400) * 8192.0f; - o->oFaceAnglePitch = o->oRRCruiserWingUnkF8 + coss(o->oTimer * 0x400) * 2048.0f; + o->oFaceAngleYaw = o->oRRCruiserWingInitYaw + sins(o->oTimer * 0x400) * 8192.0f; + o->oFaceAnglePitch = o->oRRCruiserWingInitPitch + coss(o->oTimer * 0x400) * 2048.0f; } else { - o->oFaceAngleYaw = o->oRRCruiserWingUnkF4 - sins(o->oTimer * 0x400) * 8192.0f; - o->oFaceAnglePitch = o->oRRCruiserWingUnkF8 + coss(o->oTimer * 0x400) * 2048.0f; + o->oFaceAngleYaw = o->oRRCruiserWingInitYaw - sins(o->oTimer * 0x400) * 8192.0f; + o->oFaceAnglePitch = o->oRRCruiserWingInitPitch + coss(o->oTimer * 0x400) * 2048.0f; } #ifndef VERSION_JP if (o->oTimer == 64) { diff --git a/src/game/behaviors/door.inc.c b/src/game/behaviors/door.inc.c index 5c108784..0a68204f 100644 --- a/src/game/behaviors/door.inc.c +++ b/src/game/behaviors/door.inc.c @@ -86,45 +86,45 @@ void bhv_door_init(void) { struct Surface *floor; find_floor(x, o->oPosY, z, &floor); if (floor != NULL) { - o->oDoorUnkF8 = floor->room; + o->oDoorSelfRoom = floor->room; } x = o->oPosX + sins(o->oMoveAngleYaw) * 200.0f; z = o->oPosZ + coss(o->oMoveAngleYaw) * 200.0f; find_floor(x, o->oPosY, z, &floor); if (floor != NULL) { - o->oDoorUnkFC = floor->room; + o->oDoorForwardRoom = floor->room; } x = o->oPosX + sins(o->oMoveAngleYaw) * -200.0f; z = o->oPosZ + coss(o->oMoveAngleYaw) * -200.0f; find_floor(x, o->oPosY, z, &floor); if (floor != NULL) { - o->oDoorUnk100 = floor->room; + o->oDoorBackwardRoom = floor->room; } - if (o->oDoorUnkF8 > 0 && o->oDoorUnkF8 < 60) { - gDoorAdjacentRooms[o->oDoorUnkF8][0] = o->oDoorUnkFC; - gDoorAdjacentRooms[o->oDoorUnkF8][1] = o->oDoorUnk100; + if (o->oDoorSelfRoom > 0 && o->oDoorSelfRoom < 60) { + gDoorAdjacentRooms[o->oDoorSelfRoom][0] = o->oDoorForwardRoom; + gDoorAdjacentRooms[o->oDoorSelfRoom][1] = o->oDoorBackwardRoom; } } void bhv_star_door_loop_2(void) { s32 doorIsRendering = FALSE; if (gMarioCurrentRoom != 0) { - if (o->oDoorUnkF8 == gMarioCurrentRoom) + if (o->oDoorSelfRoom == gMarioCurrentRoom) doorIsRendering = TRUE; - else if (gMarioCurrentRoom == o->oDoorUnkFC) + else if (gMarioCurrentRoom == o->oDoorForwardRoom) doorIsRendering = TRUE; - else if (gMarioCurrentRoom == o->oDoorUnk100) + else if (gMarioCurrentRoom == o->oDoorBackwardRoom) doorIsRendering = TRUE; - else if (gDoorAdjacentRooms[gMarioCurrentRoom][0] == o->oDoorUnkFC) + else if (gDoorAdjacentRooms[gMarioCurrentRoom][0] == o->oDoorForwardRoom) doorIsRendering = TRUE; - else if (gDoorAdjacentRooms[gMarioCurrentRoom][0] == o->oDoorUnk100) + else if (gDoorAdjacentRooms[gMarioCurrentRoom][0] == o->oDoorBackwardRoom) doorIsRendering = TRUE; - else if (gDoorAdjacentRooms[gMarioCurrentRoom][1] == o->oDoorUnkFC) + else if (gDoorAdjacentRooms[gMarioCurrentRoom][1] == o->oDoorForwardRoom) doorIsRendering = TRUE; - else if (gDoorAdjacentRooms[gMarioCurrentRoom][1] == o->oDoorUnk100) + else if (gDoorAdjacentRooms[gMarioCurrentRoom][1] == o->oDoorBackwardRoom) doorIsRendering = TRUE; } else doorIsRendering = TRUE; @@ -134,5 +134,5 @@ void bhv_star_door_loop_2(void) { } else { o->header.gfx.node.flags &= ~GRAPH_RENDER_ACTIVE; } - o->oDoorUnk88 = doorIsRendering; + o->oDoorIsRendering = doorIsRendering; } diff --git a/src/game/behaviors/elevator.inc.c b/src/game/behaviors/elevator.inc.c index f53a91aa..b143bef6 100644 --- a/src/game/behaviors/elevator.inc.c +++ b/src/game/behaviors/elevator.inc.c @@ -15,19 +15,19 @@ void elevator_starting_shake(void) { void elevator_act_0(void) { o->oVelY = 0; - if (o->oElevatorUnk100 == 2) { + if (o->oElevatorType == 2) { if (gMarioObject->platform == o) { - if (o->oPosY > o->oElevatorUnkFC) + if (o->oPosY > o->oElevatorMidY) o->oAction = 2; else o->oAction = 1; } - } else if (gMarioObject->oPosY > o->oElevatorUnkFC || o->oElevatorUnk100 == 1) { - o->oPosY = o->oElevatorUnkF8; + } else if (gMarioObject->oPosY > o->oElevatorMidY || o->oElevatorType == 1) { + o->oPosY = o->oElevatorMaxY; if (gMarioObject->platform == o) o->oAction = 2; } else { - o->oPosY = o->oElevatorUnkF4; + o->oPosY = o->oElevatorMinY; if (gMarioObject->platform == o) o->oAction = 1; } @@ -39,11 +39,11 @@ void elevator_act_1(void) { elevator_starting_shake(); approach_f32_signed(&o->oVelY, 10.0f, 2.0f); o->oPosY += o->oVelY; - if (o->oPosY > o->oElevatorUnkF8) { - o->oPosY = o->oElevatorUnkF8; - if (o->oElevatorUnk100 == 2 || o->oElevatorUnk100 == 1) + if (o->oPosY > o->oElevatorMaxY) { + o->oPosY = o->oElevatorMaxY; + if (o->oElevatorType == 2 || o->oElevatorType == 1) o->oAction = 3; - else if (gMarioObject->oPosY < o->oElevatorUnkFC) + else if (gMarioObject->oPosY < o->oElevatorMidY) o->oAction = 2; else o->oAction = 3; @@ -57,13 +57,13 @@ void elevator_act_2(void) // Pretty similar code to action 1 elevator_starting_shake(); approach_f32_signed(&o->oVelY, -10.0f, -2.0f); o->oPosY += o->oVelY; - if (o->oPosY < o->oElevatorUnkF4) { - o->oPosY = o->oElevatorUnkF4; - if (o->oElevatorUnk100 == 1) + if (o->oPosY < o->oElevatorMinY) { + o->oPosY = o->oElevatorMinY; + if (o->oElevatorType == 1) o->oAction = 4; - else if (o->oElevatorUnk100 == 2) + else if (o->oElevatorType == 2) o->oAction = 3; - else if (gMarioObject->oPosY > o->oElevatorUnkFC) + else if (gMarioObject->oPosY > o->oElevatorMidY) o->oAction = 1; else o->oAction = 3; @@ -94,15 +94,15 @@ void elevator_act_3(void) // nearly identical to action 2 void bhv_elevator_init(void) { s32 index = sElevatorHeights[o->oBehParams2ndByte * 3 + 2]; if (index == 0) { - o->oElevatorUnkF4 = sElevatorHeights[o->oBehParams2ndByte * 3]; - o->oElevatorUnkF8 = o->oHomeY; - o->oElevatorUnkFC = (o->oElevatorUnkF4 + o->oElevatorUnkF8) / 2; - o->oElevatorUnk100 = cur_obj_has_behavior(bhvRrElevatorPlatform); + o->oElevatorMinY = sElevatorHeights[o->oBehParams2ndByte * 3]; + o->oElevatorMaxY = o->oHomeY; + o->oElevatorMidY = (o->oElevatorMinY + o->oElevatorMaxY) / 2; + o->oElevatorType = cur_obj_has_behavior(bhvRrElevatorPlatform); } else { - o->oElevatorUnkF4 = sElevatorHeights[o->oBehParams2ndByte * 3]; - o->oElevatorUnkF8 = sElevatorHeights[o->oBehParams2ndByte * 3 + 1]; - o->oElevatorUnkFC = (o->oElevatorUnkF4 + o->oElevatorUnkF8) / 2; - o->oElevatorUnk100 = 2; + o->oElevatorMinY = sElevatorHeights[o->oBehParams2ndByte * 3]; + o->oElevatorMaxY = sElevatorHeights[o->oBehParams2ndByte * 3 + 1]; + o->oElevatorMidY = (o->oElevatorMinY + o->oElevatorMaxY) / 2; + o->oElevatorType = 2; } } diff --git a/src/game/behaviors/end_birds_1.inc.c b/src/game/behaviors/end_birds_1.inc.c index 72cd9a08..38deec59 100644 --- a/src/game/behaviors/end_birds_1.inc.c +++ b/src/game/behaviors/end_birds_1.inc.c @@ -6,18 +6,18 @@ void bhv_end_birds_1_loop(void) { switch (gCurrentObject->oAction) { case 0: cur_obj_scale(0.7f); - gCurrentObject->oIntroLakituUnk110 = -554.f; - gCurrentObject->oIntroLakituUnk10C = 3044.f; - gCurrentObject->oIntroLakituUnk108 = -1314.f; + gCurrentObject->oIntroLakituEndBirds1DestX = -554.f; + gCurrentObject->oIntroLakituEndBirds1DestY = 3044.f; + gCurrentObject->oIntroLakituEndBirds1DestZ = -1314.f; gCurrentObject->oAction += 1; break; case 1: - vec3f_set(pos, gCurrentObject->oIntroLakituUnk110, gCurrentObject->oIntroLakituUnk10C, - gCurrentObject->oIntroLakituUnk108); + vec3f_set(pos, gCurrentObject->oIntroLakituEndBirds1DestX, gCurrentObject->oIntroLakituEndBirds1DestY, + gCurrentObject->oIntroLakituEndBirds1DestZ); if (gCurrentObject->oTimer < 100) obj_rotate_towards_point(gCurrentObject, pos, 0, 0, 0x20, 0x20); - if ((gCurrentObject->oEndBirdUnk104 == 0.f) && (gCurrentObject->oTimer == 0)) + if ((gCurrentObject->oEndBirdCutsceneVars9PointX == 0.f) && (gCurrentObject->oTimer == 0)) cur_obj_play_sound_2(SOUND_GENERAL_BIRDS_FLY_AWAY); if (gCutsceneTimer == 0) obj_mark_for_deletion(gCurrentObject); diff --git a/src/game/behaviors/end_birds_2.inc.c b/src/game/behaviors/end_birds_2.inc.c index b0f84ccf..44fdd0f2 100644 --- a/src/game/behaviors/end_birds_2.inc.c +++ b/src/game/behaviors/end_birds_2.inc.c @@ -18,7 +18,7 @@ void bhv_end_birds_2_loop(void) { vec3f_set_dist_and_angle(gCamera->pos, pos, 14000.f, pitch, yaw); obj_rotate_towards_point(gCurrentObject, pos, 0, 0, 8, 8); - if ((gCurrentObject->oEndBirdUnk104 == 0.f) && (gCurrentObject->oTimer == 0)) + if ((gCurrentObject->oEndBirdCutsceneVars9PointX == 0.f) && (gCurrentObject->oTimer == 0)) cur_obj_play_sound_2(SOUND_GENERAL_BIRDS_FLY_AWAY); break; } diff --git a/src/game/behaviors/exclamation_box.inc.c b/src/game/behaviors/exclamation_box.inc.c index 7c98afbd..a05ff040 100644 --- a/src/game/behaviors/exclamation_box.inc.c +++ b/src/game/behaviors/exclamation_box.inc.c @@ -73,7 +73,7 @@ void exclamation_box_act_2(void) { } if (cur_obj_was_attacked_or_ground_pounded()) { cur_obj_become_intangible(); - o->oExclamationBoxUnkFC = 0x4000; + o->oExclamationBoxScaleAngle = 0x4000; o->oVelY = 30.0f; o->oGravity = -8.0f; o->oFloorHeight = o->oPosY; @@ -92,13 +92,13 @@ void exclamation_box_act_3(void) { o->oVelY = 0.0f; o->oGravity = 0.0f; } - o->oExclamationBoxUnkF8 = (sins(o->oExclamationBoxUnkFC) + 1.0) * 0.3 + 0.0; - o->oExclamationBoxUnkF4 = (-sins(o->oExclamationBoxUnkFC) + 1.0) * 0.5 + 1.0; - o->oGraphYOffset = (-sins(o->oExclamationBoxUnkFC) + 1.0) * 26.0; - o->oExclamationBoxUnkFC += 0x1000; - o->header.gfx.scale[0] = o->oExclamationBoxUnkF4 * 2.0f; - o->header.gfx.scale[1] = o->oExclamationBoxUnkF8 * 2.0f; - o->header.gfx.scale[2] = o->oExclamationBoxUnkF4 * 2.0f; + o->oExclamationBoxVerticalScale = (sins(o->oExclamationBoxScaleAngle) + 1.0) * 0.3 + 0.0; + o->oExclamationBoxHorizontalScale = (-sins(o->oExclamationBoxScaleAngle) + 1.0) * 0.5 + 1.0; + o->oGraphYOffset = (-sins(o->oExclamationBoxScaleAngle) + 1.0) * 26.0; + o->oExclamationBoxScaleAngle += 0x1000; + o->header.gfx.scale[0] = o->oExclamationBoxHorizontalScale * 2.0f; + o->header.gfx.scale[1] = o->oExclamationBoxVerticalScale * 2.0f; + o->header.gfx.scale[2] = o->oExclamationBoxHorizontalScale * 2.0f; if (o->oTimer == 7) o->oAction = 4; } diff --git a/src/game/behaviors/eyerok.inc.c b/src/game/behaviors/eyerok.inc.c index 46d750b1..eb7f7c73 100644 --- a/src/game/behaviors/eyerok.inc.c +++ b/src/game/behaviors/eyerok.inc.c @@ -47,14 +47,14 @@ static void eyerok_boss_act_wake_up(void) { o->oSubAction += 1; } - if (o->oEyerokBossUnk110 == 0.0f && mario_ready_to_speak() != 0) { + if (o->oEyerokBossOffsetFromHome == 0.0f && mario_ready_to_speak() != 0) { o->oAction = EYEROK_BOSS_ACT_SHOW_INTRO_TEXT; } else if (o->oTimer > 150) { - if (approach_f32_ptr(&o->oEyerokBossUnk110, 0.0f, 10.0f)) { + if (approach_f32_ptr(&o->oEyerokBossOffsetFromHome, 0.0f, 10.0f)) { o->oTimer = 0; } } else if (o->oTimer > 90) { - approach_f32_ptr(&o->oEyerokBossUnk110, 300.f, 10.0f); + approach_f32_ptr(&o->oEyerokBossOffsetFromHome, 300.f, 10.0f); } } } else { @@ -71,44 +71,44 @@ static void eyerok_boss_act_show_intro_text(void) { static void eyerok_boss_act_fight(void) { if (o->oEyerokBossNumHands == 0) { o->oAction = EYEROK_BOSS_ACT_DIE; - } else if (o->oEyerokBossUnk1AC == 0 && o->oEyerokBossActiveHand == 0) { - if (o->oEyerokBossUnk104 != 0) { - if (approach_f32_ptr(&o->oEyerokBossUnk110, 1.0f, 0.02f)) { - if (o->oEyerokBossUnk104 < 0) { - if (eyerok_check_mario_relative_z(400) == 0 && ++o->oEyerokBossUnk104 == 0) { - o->oEyerokBossUnk104 = 1; + } else if (o->oEyerokBossActiveHandId == 0 && o->oEyerokBossActiveHand == 0) { + if (o->oEyerokBossAttackCountdown != 0) { + if (approach_f32_ptr(&o->oEyerokBossOffsetFromHome, 1.0f, 0.02f)) { + if (o->oEyerokBossAttackCountdown < 0) { + if (eyerok_check_mario_relative_z(400) == 0 && ++o->oEyerokBossAttackCountdown == 0) { + o->oEyerokBossAttackCountdown = 1; } } else { - o->oEyerokBossUnk104 -= 1; + o->oEyerokBossAttackCountdown -= 1; } - if (o->oEyerokBossUnk104 != 0 && o->oEyerokBossUnk104 != 1) { - o->oEyerokBossUnkFC += 1; - if ((o->oEyerokBossActiveHand = o->oEyerokBossUnkFC & 0x1) == 0) { + if (o->oEyerokBossAttackCountdown != 0 && o->oEyerokBossAttackCountdown != 1) { + o->oEyerokBossAttackPhase += 1; + if ((o->oEyerokBossActiveHand = o->oEyerokBossAttackPhase & 0x1) == 0) { o->oEyerokBossActiveHand = -1; } } } } else { - o->oEyerokBossUnkFC += 1; + o->oEyerokBossAttackPhase += 1; if (eyerok_check_mario_relative_z(400)) { - o->oEyerokBossUnk104 = -8; - o->oEyerokBossUnk110 = 1.0f; - o->oEyerokBossUnk108 = 0.0f; - } else if (o->oEyerokBossNumHands == 2 && o->oEyerokBossUnkFC % 6 == 0) { - o->oEyerokBossUnk104 = 8; - o->oEyerokBossUnk110 = 0.0f; + o->oEyerokBossAttackCountdown = -8; + o->oEyerokBossOffsetFromHome = 1.0f; + o->oEyerokBossFightSideZ = 0.0f; + } else if (o->oEyerokBossNumHands == 2 && o->oEyerokBossAttackPhase % 6 == 0) { + o->oEyerokBossAttackCountdown = 8; + o->oEyerokBossOffsetFromHome = 0.0f; - if ((o->oEyerokBossUnkFC = random_u16() & 0x1) != 0) { - o->oEyerokBossUnk108 = -1.0f; + if ((o->oEyerokBossAttackPhase = random_u16() & 0x1) != 0) { + o->oEyerokBossFightSideZ = -1.0f; } else { - o->oEyerokBossUnk108 = 1.0f; + o->oEyerokBossFightSideZ = 1.0f; } - o->oEyerokBossUnk10C = gMarioObject->oPosZ; - clamp_f32(&o->oEyerokBossUnk10C, o->oPosZ + 400.0f, o->oPosZ + 1600.0f); - } else if ((o->oEyerokBossActiveHand = o->oEyerokBossUnkFC & 0x1) == 0) { + o->oEyerokBossClampedMarioPosZ = gMarioObject->oPosZ; + clamp_f32(&o->oEyerokBossClampedMarioPosZ, o->oPosZ + 400.0f, o->oPosZ + 1600.0f); + } else if ((o->oEyerokBossActiveHand = o->oEyerokBossAttackPhase & 0x1) == 0) { o->oEyerokBossActiveHand = -1; } } @@ -209,12 +209,12 @@ static void eyerok_hand_act_idle(void) { cur_obj_init_animation_with_sound(2); if (o->parentObj->oAction == EYEROK_BOSS_ACT_FIGHT) { - if (o->parentObj->oEyerokBossUnk104 != 0) { - if (o->parentObj->oEyerokBossUnk104 != 1) { + if (o->parentObj->oEyerokBossAttackCountdown != 0) { + if (o->parentObj->oEyerokBossAttackCountdown != 1) { o->oAction = EYEROK_HAND_ACT_BEGIN_DOUBLE_POUND; o->oGravity = 0.0f; } - } else if (o->parentObj->oEyerokBossUnk1AC == 0 && o->parentObj->oEyerokBossActiveHand != 0) { + } else if (o->parentObj->oEyerokBossActiveHandId == 0 && o->parentObj->oEyerokBossActiveHand != 0) { if (o->parentObj->oEyerokBossActiveHand == o->oBehParams2ndByte) { if (eyerok_check_mario_relative_z(400) != 0 || random_u16() % 2 != 0) { o->oAction = EYEROK_HAND_ACT_TARGET_MARIO; @@ -236,17 +236,17 @@ static void eyerok_hand_act_idle(void) { } } } else { - o->oPosY = o->oHomeY + o->parentObj->oEyerokBossUnk110; + o->oPosY = o->oHomeY + o->parentObj->oEyerokBossOffsetFromHome; } } static void eyerok_hand_act_open(void) { - o->parentObj->oEyerokBossUnk1AC = o->oBehParams2ndByte; + o->parentObj->oEyerokBossActiveHandId = o->oBehParams2ndByte; if (cur_obj_init_anim_and_check_if_end(4)) { o->oAction = EYEROK_HAND_ACT_SHOW_EYE; - o->oEyerokHandUnkFC = 2; - o->oEyerokHandUnk100 = 60; + o->oEyerokHandAnimStateIndex = 2; + o->oEyerokHandEyeShownTimer = 60; o->collisionData = segmented_to_virtual(ssl_seg7_collision_070282F8); @@ -273,14 +273,14 @@ static void eyerok_hand_act_show_eye(void) { o->oAction = EYEROK_HAND_ACT_CLOSE; } } else { - if (o->oEyerokHandUnk100--) { - if (o->oEyerokHandUnkFC != 0) { - o->oEyerokHandUnkFC -= 1; + if (o->oEyerokHandEyeShownTimer--) { + if (o->oEyerokHandAnimStateIndex != 0) { + o->oEyerokHandAnimStateIndex -= 1; } - o->oAnimState = sEyerokAnimStatesList[o->oEyerokHandUnkFC]; + o->oAnimState = sEyerokAnimStatesList[o->oEyerokHandAnimStateIndex]; } else { - o->oEyerokHandUnkFC = 5; - o->oEyerokHandUnk100 = random_linear_offset(20, 50); + o->oEyerokHandAnimStateIndex = 5; + o->oEyerokHandEyeShownTimer = random_linear_offset(20, 50); } if (o->parentObj->oEyerokBossNumHands != 2) { @@ -304,7 +304,7 @@ static void eyerok_hand_act_close(void) { o->parentObj->oEyerokBossActiveHand = o->oBehParams2ndByte; } else if (o->parentObj->oEyerokBossActiveHand == 0) { o->oAction = EYEROK_HAND_ACT_IDLE; - o->parentObj->oEyerokBossUnk1AC = 0; + o->parentObj->oEyerokBossActiveHandId = 0; } } } @@ -335,7 +335,7 @@ static void eyerok_hand_act_become_active(void) { static void eyerok_hand_act_die(void) { if (cur_obj_init_anim_and_check_if_end(1)) { - o->parentObj->oEyerokBossUnk1AC = 0; + o->parentObj->oEyerokBossActiveHandId = 0; obj_explode_and_spawn_coins(150.0f, 1); create_sound_spawner(SOUND_OBJ2_EYEROK_SOUND_LONG); } @@ -363,8 +363,8 @@ static void eyerok_hand_act_retreat(void) { o->oAction = EYEROK_HAND_ACT_IDLE; o->parentObj->oEyerokBossActiveHand -= o->oBehParams2ndByte; - if (o->parentObj->oEyerokBossUnk1AC == o->oBehParams2ndByte) { - o->parentObj->oEyerokBossUnk1AC = 0; + if (o->parentObj->oEyerokBossActiveHandId == o->oBehParams2ndByte) { + o->parentObj->oEyerokBossActiveHandId = 0; } } } @@ -440,18 +440,18 @@ static void eyerok_hand_act_fist_sweep(void) { static void eyerok_hand_act_begin_double_pound(void) { f32 homeXOffset; - if (o->parentObj->oEyerokBossUnk104 < 0 + if (o->parentObj->oEyerokBossAttackCountdown < 0 || o->parentObj->oEyerokBossActiveHand == o->oBehParams2ndByte) { o->oAction = EYEROK_HAND_ACT_DOUBLE_POUND; - o->oMoveAngleYaw = (s32)(o->oFaceAngleYaw - 0x4000 * o->parentObj->oEyerokBossUnk108); + o->oMoveAngleYaw = (s32)(o->oFaceAngleYaw - 0x4000 * o->parentObj->oEyerokBossFightSideZ); } else { - homeXOffset = o->parentObj->oPosX + 400.0f * o->parentObj->oEyerokBossUnk108 + homeXOffset = o->parentObj->oPosX + 400.0f * o->parentObj->oEyerokBossFightSideZ - 180.0f * o->oBehParams2ndByte; - o->oPosX = o->oHomeX + (homeXOffset - o->oHomeX) * o->parentObj->oEyerokBossUnk110; - o->oPosY = o->oHomeY + 300.0f * o->parentObj->oEyerokBossUnk110; + o->oPosX = o->oHomeX + (homeXOffset - o->oHomeX) * o->parentObj->oEyerokBossOffsetFromHome; + o->oPosY = o->oHomeY + 300.0f * o->parentObj->oEyerokBossOffsetFromHome; o->oPosZ = - o->oHomeZ + (o->parentObj->oEyerokBossUnk10C - o->oHomeZ) * o->parentObj->oEyerokBossUnk110; + o->oHomeZ + (o->parentObj->oEyerokBossClampedMarioPosZ - o->oHomeZ) * o->parentObj->oEyerokBossOffsetFromHome; } } @@ -460,9 +460,9 @@ static void eyerok_hand_act_double_pound(void) { o->parentObj->oEyerokBossActiveHand = o->oBehParams2ndByte; } - if (o->parentObj->oEyerokBossUnk104 == 1) { + if (o->parentObj->oEyerokBossAttackCountdown == 1) { o->oAction = EYEROK_HAND_ACT_RETREAT; - o->parentObj->oEyerokBossUnk1AC = o->oBehParams2ndByte; + o->parentObj->oEyerokBossActiveHandId = o->oBehParams2ndByte; } else if (o->parentObj->oEyerokBossActiveHand == o->oBehParams2ndByte) { if (o->oMoveFlags & OBJ_MOVE_MASK_ON_GROUND) { if (o->oGravity < -15.0f) { @@ -471,7 +471,7 @@ static void eyerok_hand_act_double_pound(void) { o->oForwardVel = 0.0f; o->oGravity = -15.0f; } else { - o->oForwardVel = 30.0f * absf(o->parentObj->oEyerokBossUnk108); + o->oForwardVel = 30.0f * absf(o->parentObj->oEyerokBossFightSideZ); o->oVelY = 100.0f; o->oMoveFlags = 0; } diff --git a/src/game/behaviors/flame_mario.inc.c b/src/game/behaviors/flame_mario.inc.c index 52e4bae6..c82ff13f 100644 --- a/src/game/behaviors/flame_mario.inc.c +++ b/src/game/behaviors/flame_mario.inc.c @@ -9,7 +9,7 @@ void bhv_black_smoke_bowser_loop(void) { o->oForwardVel = random_float() * 2 + 0.5; o->oMoveAngleYaw = random_u16(); o->oVelY = 8; - o->oBlackSmokeBowserUnkF4 = o->header.gfx.scale[0]; + o->oFlameScale = o->header.gfx.scale[0]; } o->oMoveAngleYaw += o->oAngleVelYaw; o->oPosY += o->oVelY; diff --git a/src/game/behaviors/flamethrower.inc.c b/src/game/behaviors/flamethrower.inc.c index 798e6f1a..4d1bb909 100644 --- a/src/game/behaviors/flamethrower.inc.c +++ b/src/game/behaviors/flamethrower.inc.c @@ -20,9 +20,9 @@ void bhv_flamethrower_flame_loop(void) { o->oVelY = 0; o->oPosY = o->oFloorHeight + 25.0f * size; } - remainingTime = o->parentObj->oFlameThowerFlameUnk110 / 1.2; + remainingTime = o->parentObj->oFlameThowerTimeRemaining / 1.2; } else - remainingTime = o->parentObj->oFlameThowerFlameUnk110; + remainingTime = o->parentObj->oFlameThowerTimeRemaining; cur_obj_scale(size); if (o->oBehParams2ndByte == 4) o->oPosY += o->oForwardVel; // weird? @@ -57,7 +57,7 @@ void bhv_flamethrower_loop(void) { flameTimeRemaining = 75 - o->oTimer; // Range: [15..2] else o->oAction++; - o->oFlameThowerUnk110 = flameTimeRemaining; + o->oFlameThowerTimeRemaining = flameTimeRemaining; flame = spawn_object_relative(o->oBehParams2ndByte, 0, 0, 0, o, model, bhvFlamethrowerFlame); flame->oForwardVel = flameVel; cur_obj_play_sound_1(SOUND_AIR_BLOW_FIRE); diff --git a/src/game/behaviors/floating_platform.inc.c b/src/game/behaviors/floating_platform.inc.c index 31b73602..1d9c986f 100644 --- a/src/game/behaviors/floating_platform.inc.c +++ b/src/game/behaviors/floating_platform.inc.c @@ -4,12 +4,12 @@ f32 floating_platform_find_home_y(void) { struct Surface *floor; f32 waterLevel = find_water_level(o->oPosX, o->oPosZ); f32 floorHeight = find_floor(o->oPosX, o->oPosY, o->oPosZ, &floor); - if (waterLevel > floorHeight + o->oFloatingPlatformUnkFC) { - o->oFloatingPlatformUnkF4 = 0; - return waterLevel + o->oFloatingPlatformUnkFC; + if (waterLevel > floorHeight + o->oFloatingPlatformHeightOffset) { + o->oFloatingPlatformIsOnFloor = 0; + return waterLevel + o->oFloatingPlatformHeightOffset; } else { - o->oFloatingPlatformUnkF4 = 1; - return floorHeight + o->oFloatingPlatformUnkFC; + o->oFloatingPlatformIsOnFloor = 1; + return floorHeight + o->oFloatingPlatformHeightOffset; } } @@ -25,27 +25,27 @@ void floating_platform_act_0(void) { if (o->oVelY < 0.0f) o->oVelY = 0.0f; - o->oFloatingPlatformUnkF8 += o->oVelY; - if (o->oFloatingPlatformUnkF8 > 90.0f) - o->oFloatingPlatformUnkF8 = 90.0f; + o->oFloatingPlatformMarioWeightWobbleOffset += o->oVelY; + if (o->oFloatingPlatformMarioWeightWobbleOffset > 90.0f) + o->oFloatingPlatformMarioWeightWobbleOffset = 90.0f; } else { o->oFaceAnglePitch /= 2; o->oFaceAngleRoll /= 2; - o->oFloatingPlatformUnkF8 -= 5.0; + o->oFloatingPlatformMarioWeightWobbleOffset -= 5.0; o->oVelY = 10.0f; - if (o->oFloatingPlatformUnkF8 < 0.0f) - o->oFloatingPlatformUnkF8 = 0.0f; + if (o->oFloatingPlatformMarioWeightWobbleOffset < 0.0f) + o->oFloatingPlatformMarioWeightWobbleOffset = 0.0f; } - o->oPosY = o->oHomeY - 64.0f - o->oFloatingPlatformUnkF8 + sins(o->oFloatingPlatformUnk100 * 0x800) * 10.0f; - o->oFloatingPlatformUnk100++; - if (o->oFloatingPlatformUnk100 == 32) - o->oFloatingPlatformUnk100 = 0; + o->oPosY = o->oHomeY - 64.0f - o->oFloatingPlatformMarioWeightWobbleOffset + sins(o->oFloatingPlatformWaterSurfaceWobbleOffset * 0x800) * 10.0f; + o->oFloatingPlatformWaterSurfaceWobbleOffset++; + if (o->oFloatingPlatformWaterSurfaceWobbleOffset == 32) + o->oFloatingPlatformWaterSurfaceWobbleOffset = 0; } void bhv_floating_platform_loop(void) { o->oHomeY = floating_platform_find_home_y(); - if (o->oFloatingPlatformUnkF4 == 0) + if (o->oFloatingPlatformIsOnFloor == 0) o->oAction = 0; else o->oAction = 1; diff --git a/src/game/behaviors/flying_bookend_switch.inc.c b/src/game/behaviors/flying_bookend_switch.inc.c index 8fb2e1bd..76418346 100644 --- a/src/game/behaviors/flying_bookend_switch.inc.c +++ b/src/game/behaviors/flying_bookend_switch.inc.c @@ -39,8 +39,8 @@ void flying_bookend_act_0(void) { if (obj_is_near_to_and_facing_mario(400.0f, 0x3000)) { cur_obj_play_sound_2(SOUND_OBJ_DEFAULT_DEATH); o->oAction = 1; - o->oBookendUnkF4 = o->oFaceAnglePitch + 0x7FFF; - o->oBookendUnkF8 = o->oFaceAngleRoll - 0x7FFF; + o->oBookendTargetPitch = o->oFaceAnglePitch + 0x7FFF; + o->oBookendTargetRoll = o->oFaceAngleRoll - 0x7FFF; cur_obj_set_model(MODEL_BOOKEND_PART); } } @@ -53,9 +53,9 @@ void flying_bookend_act_1(void) { } else { o->oForwardVel = 3.0f; if (o->oTimer > 5) { - obj_face_pitch_approach(o->oBookendUnkF4, 2000); + obj_face_pitch_approach(o->oBookendTargetPitch, 2000); if (o->oTimer >= 10) { - obj_face_roll_approach(o->oBookendUnkF8, 2000); + obj_face_roll_approach(o->oBookendTargetRoll, 2000); if (o->oTimer >= 20) { approach_f32_ptr(&o->header.gfx.scale[0], 3.0f, 0.2f); } @@ -156,26 +156,26 @@ void bookshelf_manager_act_0(void) { } void bookshelf_manager_act_1(void) { - if (o->oBookSwitchManagerUnkF8 == 0) { + if (o->oBookSwitchManagerIsActive == 0) { if (obj_is_near_to_and_facing_mario(500.0f, 0x3000)) { - o->oBookSwitchManagerUnkF8 = 1; + o->oBookSwitchManagerIsActive = 1; } } else if (o->oTimer > 60) { o->oAction = 2; - o->oBookSwitchManagerUnkF8 = 0; + o->oBookSwitchManagerIsActive = 0; } } void bookshelf_manager_act_2(void) { if (!(o->activeFlags & ACTIVE_FLAG_IN_DIFFERENT_ROOM)) { - if (o->oBookSwitchManagerUnkF4 < 0) { + if (o->oBookSwitchManagerNumCorrectChoices < 0) { if (o->oTimer > 30) { - o->oBookSwitchManagerUnkF4 = o->oBookSwitchManagerUnkF8 = 0; + o->oBookSwitchManagerNumCorrectChoices = o->oBookSwitchManagerIsActive = 0; } else if (o->oTimer > 10) { - o->oBookSwitchManagerUnkF8 = 1; + o->oBookSwitchManagerIsActive = 1; } } else { - if (o->oBookSwitchManagerUnkF4 >= 3) { + if (o->oBookSwitchManagerNumCorrectChoices >= 3) { if (o->oTimer > 100) { o->parentObj = cur_obj_nearest_object_with_behavior(bhvHauntedBookshelf); o->parentObj->oAction = 1; @@ -203,7 +203,7 @@ void bookshelf_manager_act_3(void) { } void bookshelf_manager_act_4(void) { - if (o->oBookSwitchManagerUnkF4 >= 3) { + if (o->oBookSwitchManagerNumCorrectChoices >= 3) { obj_mark_for_deletion(o); } else { o->oAction = 0; @@ -243,7 +243,7 @@ void bhv_book_switch_loop(void) { obj_mark_for_deletion(o); } else { attackType = obj_check_attacks(&sBookSwitchHitbox, o->oAction); - if (o->parentObj->oBookSwitchManagerUnkF8 != 0 || o->oAction == 1) { + if (o->parentObj->oBookSwitchManagerIsActive != 0 || o->oAction == 1) { if (o->oDistanceToMario < 100.0f) { cur_obj_become_tangible(); } else { @@ -251,12 +251,12 @@ void bhv_book_switch_loop(void) { } o->oAction = 1; - if (o->oBookSwitchUnkF4 == 0.0f) { + if (o->oBookSwitchDistFromHome == 0.0f) { cur_obj_play_sound_2(SOUND_OBJ_DEFAULT_DEATH); } - if (approach_f32_ptr(&o->oBookSwitchUnkF4, 50.0f, 20.0f)) { - if (o->parentObj->oBookSwitchManagerUnkF4 >= 0 && o->oTimer > 60) { + if (approach_f32_ptr(&o->oBookSwitchDistFromHome, 50.0f, 20.0f)) { + if (o->parentObj->oBookSwitchManagerNumCorrectChoices >= 0 && o->oTimer > 60) { if (attackType == 1 || attackType == 2 || attackType == 6) { o->oAction = 2; } @@ -266,11 +266,11 @@ void bhv_book_switch_loop(void) { } } else { cur_obj_become_intangible(); - if (approach_f32_ptr(&o->oBookSwitchUnkF4, 0.0f, 20.0f)) { + if (approach_f32_ptr(&o->oBookSwitchDistFromHome, 0.0f, 20.0f)) { if (o->oAction != 0) { - if (o->parentObj->oBookSwitchManagerUnkF4 == o->oBehParams2ndByte) { + if (o->parentObj->oBookSwitchManagerNumCorrectChoices == o->oBehParams2ndByte) { play_sound(SOUND_GENERAL2_RIGHT_ANSWER, gGlobalSoundSource); - o->parentObj->oBookSwitchManagerUnkF4 += 1; + o->parentObj->oBookSwitchManagerNumCorrectChoices += 1; } else { rand01 = random_u16() & 0x1; z = gMarioObject->oPosZ + 1.5f * gMarioStates[0].vel[2]; @@ -288,7 +288,7 @@ void bhv_book_switch_loop(void) { bookendObj->oAction = 3; } - o->parentObj->oBookSwitchManagerUnkF4 = -1; + o->parentObj->oBookSwitchManagerNumCorrectChoices = -1; } o->oAction = 0; @@ -297,7 +297,7 @@ void bhv_book_switch_loop(void) { } o->oPosX += o->parentObj->oForwardVel; - o->oPosZ = o->oHomeZ - o->oBookSwitchUnkF4; + o->oPosZ = o->oHomeZ - o->oBookSwitchDistFromHome; cur_obj_push_mario_away_from_cylinder(70.0f, 70.0f); } } diff --git a/src/game/behaviors/grand_star.inc.c b/src/game/behaviors/grand_star.inc.c index 7069ed19..333aea6c 100644 --- a/src/game/behaviors/grand_star.inc.c +++ b/src/game/behaviors/grand_star.inc.c @@ -34,7 +34,7 @@ void bhv_grand_star_loop(void) { if (o->oTimer == 0) { cur_obj_play_sound_2(SOUND_GENERAL_GRAND_STAR); cutscene_object(CUTSCENE_STAR_SPAWN, o); - o->oGrandStarUnk108 = arc_to_goal_pos(dest, &o->oPosX, 80.0f, -2.0f); + o->oGrandStarArcTime = arc_to_goal_pos(dest, &o->oPosX, 80.0f, -2.0f); } cur_obj_move_using_fvel_and_gravity(); if (o->oSubAction == 0) { diff --git a/src/game/behaviors/grill_door.inc.c b/src/game/behaviors/grill_door.inc.c index 3cff966b..74dd82fa 100644 --- a/src/game/behaviors/grill_door.inc.c +++ b/src/game/behaviors/grill_door.inc.c @@ -5,7 +5,7 @@ struct OpenableGrill gOpenableGrills[] = { { 320, MODEL_BOB_BARS_GRILLS, bob_seg void bhv_openable_cage_door_loop(void) { if (gCurrentObject->oAction == 0) { - if (gCurrentObject->parentObj->oOpenableGrillUnk88 != 0) + if (gCurrentObject->parentObj->oOpenableGrillIsOpen != 0) gCurrentObject->oAction++; } else if (gCurrentObject->oAction == 1) { if (gCurrentObject->oTimer < 64) @@ -31,14 +31,14 @@ void bhv_openable_grill_loop(void) { o->oAction++; break; case 1: - if ((o->oOpenableGrillUnkF4 = cur_obj_nearest_object_with_behavior(bhvFloorSwitchGrills)) + if ((o->oOpenableGrillFloorSwitchObj = cur_obj_nearest_object_with_behavior(bhvFloorSwitchGrills)) != NULL) o->oAction++; break; case 2: - grillObj = o->oOpenableGrillUnkF4; + grillObj = o->oOpenableGrillFloorSwitchObj; if (grillObj->oAction == 2) { - o->oOpenableGrillUnk88 = 2; + o->oOpenableGrillIsOpen = 2; cur_obj_play_sound_2(SOUND_GENERAL_CAGE_OPEN); o->oAction++; if (o->oBehParams2ndByte != 0) diff --git a/src/game/behaviors/haunted_chair.inc.c b/src/game/behaviors/haunted_chair.inc.c index 509f7319..4b6a6120 100644 --- a/src/game/behaviors/haunted_chair.inc.c +++ b/src/game/behaviors/haunted_chair.inc.c @@ -20,7 +20,7 @@ void bhv_haunted_chair_init(void) { if (pianoObj != NULL && dist < 300.0f) { o->parentObj = pianoObj; } else { - o->oHauntedChairUnkF4 = 1; + o->oHauntedChairSpinTimer = 1; } } @@ -28,38 +28,38 @@ void haunted_chair_act_0(void) { s16 dAngleToPiano; if (o->parentObj != o) { - if (o->oHauntedChairUnk104 == 0) { + if (o->oHauntedChairFallTargetAngle == 0) { if (lateral_dist_between_objects(o, o->parentObj) < 250.0f) { dAngleToPiano = obj_angle_to_object(o, o->parentObj) - o->oFaceAngleYaw + 0x2000; if (dAngleToPiano & 0x4000) { - o->oHauntedChairUnk100 = &o->oFaceAngleRoll; + o->oHauntedChairFallFromPianoAngle = &o->oFaceAngleRoll; if (dAngleToPiano > 0) { - o->oHauntedChairUnk104 = 0x4000; + o->oHauntedChairFallTargetAngle = 0x4000; } else { - o->oHauntedChairUnk104 = -0x4000; + o->oHauntedChairFallTargetAngle = -0x4000; } } else { - o->oHauntedChairUnk100 = &o->oFaceAnglePitch; + o->oHauntedChairFallFromPianoAngle = &o->oFaceAnglePitch; if (dAngleToPiano < 0) { - o->oHauntedChairUnk104 = 0x5000; + o->oHauntedChairFallTargetAngle = 0x5000; } else { - o->oHauntedChairUnk104 = -0x4000; + o->oHauntedChairFallTargetAngle = -0x4000; } } - if (o->oHauntedChairUnk104 < 0) { - o->oHauntedChairUnkF8 = -1500.0f; + if (o->oHauntedChairFallTargetAngle < 0) { + o->oHauntedChairPitchVel = -1500.0f; } else { - o->oHauntedChairUnkF8 = 1500.0f; + o->oHauntedChairPitchVel = 1500.0f; } } } else { - oscillate_toward(o->oHauntedChairUnk100, &o->oHauntedChairUnkF8, o->oHauntedChairUnk104, + oscillate_toward(o->oHauntedChairFallFromPianoAngle, &o->oHauntedChairPitchVel, o->oHauntedChairFallTargetAngle, 4000.0f, 20.0f, 2.0f); } - } else if (o->oHauntedChairUnkF4 != 0) { + } else if (o->oHauntedChairSpinTimer != 0) { if (o->oDistanceToMario < 500.0f) { - o->oHauntedChairUnkF4 -= 1; + o->oHauntedChairSpinTimer -= 1; } o->oTimer = 0.0f; } else { @@ -83,9 +83,9 @@ void haunted_chair_act_0(void) { if (o->oTimer > 30) { o->oAction = 1; - o->oHauntedChairUnkF8 = 0.0f; - o->oHauntedChairUnkFC = 200.0f; - o->oHauntedChairUnkF4 = 40; + o->oHauntedChairPitchVel = 0.0f; + o->oHauntedChairRollVel = 200.0f; + o->oHauntedChairSpinTimer = 40; } } @@ -103,16 +103,16 @@ void haunted_chair_act_1(void) { } o->oGravity = 0.0f; - oscillate_toward(&o->oFaceAnglePitch, &o->oHauntedChairUnkF8, -4000, 200.0f, 20.0f, 2.0f); - oscillate_toward(&o->oFaceAngleRoll, &o->oHauntedChairUnkFC, 0, 0.0f, 20.0f, 1.0f); + oscillate_toward(&o->oFaceAnglePitch, &o->oHauntedChairPitchVel, -4000, 200.0f, 20.0f, 2.0f); + oscillate_toward(&o->oFaceAngleRoll, &o->oHauntedChairRollVel, 0, 0.0f, 20.0f, 1.0f); } else { - if (o->oHauntedChairUnkF4 != 0) { - if (--o->oHauntedChairUnkF4 == 0) { + if (o->oHauntedChairSpinTimer != 0) { + if (--o->oHauntedChairSpinTimer == 0) { cur_obj_play_sound_2(SOUND_GENERAL_HAUNTED_CHAIR); o->oMoveAnglePitch = obj_turn_pitch_toward_mario(120.0f, 0); o->oMoveAngleYaw = o->oAngleToMario; obj_compute_vel_from_move_pitch(50.0f); - } else if (o->oHauntedChairUnkF4 > 20) { + } else if (o->oHauntedChairSpinTimer > 20) { if (gGlobalTimer % 4 == 0) { cur_obj_play_sound_2(SOUND_GENERAL_SWISH_AIR_2); } diff --git a/src/game/behaviors/heave_ho.inc.c b/src/game/behaviors/heave_ho.inc.c index 7dbd5092..a69c68f7 100644 --- a/src/game/behaviors/heave_ho.inc.c +++ b/src/game/behaviors/heave_ho.inc.c @@ -8,7 +8,7 @@ void bhv_heave_ho_throw_mario_loop(void) { o->oParentRelativePosY = -50.0f; o->oParentRelativePosZ = 0.0f; o->oMoveAngleYaw = o->parentObj->oMoveAngleYaw; - switch (o->parentObj->oHeaveHoUnk88) { + switch (o->parentObj->oHeaveHoThrowState) { case 0: break; case 1: @@ -18,7 +18,7 @@ void bhv_heave_ho_throw_mario_loop(void) { gMarioObject->oInteractStatus |= INT_STATUS_MARIO_UNK2; gMarioStates[0].forwardVel = -45.0f; gMarioStates[0].vel[1] = 95.0f; - o->parentObj->oHeaveHoUnk88 = 0; + o->parentObj->oHeaveHoThrowState = 0; break; } } @@ -46,23 +46,23 @@ void heave_ho_act_2(void) { if (1000.0f < cur_obj_lateral_dist_from_mario_to_home()) o->oAngleToMario = cur_obj_angle_to_home(); if (o->oTimer > 150) { - o->oHeaveHoUnkF4 = (302 - o->oTimer) / 152.0f; - if (o->oHeaveHoUnkF4 < 0.1) { - o->oHeaveHoUnkF4 = 0.1; + o->oHeaveHoTimedSpeed = (302 - o->oTimer) / 152.0f; + if (o->oHeaveHoTimedSpeed < 0.1) { + o->oHeaveHoTimedSpeed = 0.1; o->oAction = 1; } } else - o->oHeaveHoUnkF4 = 1.0f; - cur_obj_init_animation_with_accel_and_sound(0, o->oHeaveHoUnkF4); - o->oForwardVel = o->oHeaveHoUnkF4 * 10.0f; - angleVel = o->oHeaveHoUnkF4 * 0x400; + o->oHeaveHoTimedSpeed = 1.0f; + cur_obj_init_animation_with_accel_and_sound(0, o->oHeaveHoTimedSpeed); + o->oForwardVel = o->oHeaveHoTimedSpeed * 10.0f; + angleVel = o->oHeaveHoTimedSpeed * 0x400; o->oMoveAngleYaw = approach_s16_symmetric(o->oMoveAngleYaw, o->oAngleToMario, angleVel); } void heave_ho_act_3(void) { o->oForwardVel = 0.0f; if (o->oTimer == 0) - o->oHeaveHoUnk88 = 2; + o->oHeaveHoThrowState = 2; if (o->oTimer == 1) { cur_obj_init_animation_with_accel_and_sound(1, 1.0f); o->numCollidedObjs = 20; @@ -99,7 +99,7 @@ void heave_ho_move(void) { o->oAction = 0; if (o->oInteractStatus & INT_STATUS_GRABBED_MARIO) { o->oInteractStatus = 0; - o->oHeaveHoUnk88 = 1; + o->oHeaveHoThrowState = 1; o->oAction = 3; } } diff --git a/src/game/behaviors/intro_lakitu.inc.c b/src/game/behaviors/intro_lakitu.inc.c index 963064f8..275baffd 100644 --- a/src/game/behaviors/intro_lakitu.inc.c +++ b/src/game/behaviors/intro_lakitu.inc.c @@ -124,10 +124,10 @@ void bhv_intro_lakitu_loop(void) { if (gCutsceneTimer > 720) { #endif gCurrentObject->oAction += 1; - gCurrentObject->oIntroLakituUnk100 = 1400.f; - gCurrentObject->oIntroLakituUnk104 = -4096.f; - gCurrentObject->oIntroLakituUnk108 = 2048.f; - gCurrentObject->oIntroLakituUnk10C = -200.f; + gCurrentObject->oIntroLakituDistToBirdsX = 1400.f; + gCurrentObject->oIntroLakituDistToBirdsZ = -4096.f; + gCurrentObject->oIntroLakituEndBirds1DestZ = 2048.f; + gCurrentObject->oIntroLakituEndBirds1DestY = -200.f; gCurrentObject->oMoveAngleYaw = 0x8000; gCurrentObject->oFaceAngleYaw = gCurrentObject->oMoveAngleYaw + 0x4000; gCurrentObject->oMoveAnglePitch = 0x800; @@ -139,20 +139,20 @@ void bhv_intro_lakitu_loop(void) { cur_obj_play_sound_1(SOUND_AIR_LAKITU_FLY_HIGHPRIO); vec3f_set(fromPoint, -1128.f, 560.f, 4664.f); gCurrentObject->oMoveAngleYaw += 0x200; - gCurrentObject->oIntroLakituUnk100 = - approach_f32_asymptotic(gCurrentObject->oIntroLakituUnk100, 100.f, 0.03f); + gCurrentObject->oIntroLakituDistToBirdsX = + approach_f32_asymptotic(gCurrentObject->oIntroLakituDistToBirdsX, 100.f, 0.03f); gCurrentObject->oFaceAnglePitch = atan2s(200.f, gCurrentObject->oPosY - 400.f); gCurrentObject->oFaceAngleYaw = approach_s16_asymptotic( gCurrentObject->oFaceAngleYaw, gCurrentObject->oMoveAngleYaw + 0x8000, 4); - vec3f_set_dist_and_angle(fromPoint, toPoint, gCurrentObject->oIntroLakituUnk100, 0, + vec3f_set_dist_and_angle(fromPoint, toPoint, gCurrentObject->oIntroLakituDistToBirdsX, 0, gCurrentObject->oMoveAngleYaw); - toPoint[1] += 150.f * coss((s16) gCurrentObject->oIntroLakituUnk104); - gCurrentObject->oIntroLakituUnk104 += gCurrentObject->oIntroLakituUnk108; - gCurrentObject->oIntroLakituUnk108 = - approach_f32_asymptotic(gCurrentObject->oIntroLakituUnk108, 512.f, 0.05f); - toPoint[0] += gCurrentObject->oIntroLakituUnk10C; - gCurrentObject->oIntroLakituUnk10C = - approach_f32_asymptotic(gCurrentObject->oIntroLakituUnk10C, 0.f, 0.05f); + toPoint[1] += 150.f * coss((s16) gCurrentObject->oIntroLakituDistToBirdsZ); + gCurrentObject->oIntroLakituDistToBirdsZ += gCurrentObject->oIntroLakituEndBirds1DestZ; + gCurrentObject->oIntroLakituEndBirds1DestZ = + approach_f32_asymptotic(gCurrentObject->oIntroLakituEndBirds1DestZ, 512.f, 0.05f); + toPoint[0] += gCurrentObject->oIntroLakituEndBirds1DestY; + gCurrentObject->oIntroLakituEndBirds1DestY = + approach_f32_asymptotic(gCurrentObject->oIntroLakituEndBirds1DestY, 0.f, 0.05f); vec3f_to_object_pos(gCurrentObject, toPoint); if (gCurrentObject->oTimer == 31) { diff --git a/src/game/behaviors/intro_scene.inc.c b/src/game/behaviors/intro_scene.inc.c index 6b1136f9..2cf1f5ee 100644 --- a/src/game/behaviors/intro_scene.inc.c +++ b/src/game/behaviors/intro_scene.inc.c @@ -6,7 +6,7 @@ void spawn_child_obj_relative(struct Object *parent, s16 xOffset, s16 yOffset, s struct Object *obj = spawn_object(parent, model, behavior); obj->header.gfx.animInfo.animFrame = random_float() * 6.f; - obj->oEndBirdUnk104 = sCutsceneVars[9].point[0]; + obj->oEndBirdCutsceneVars9PointX = sCutsceneVars[9].point[0]; sCutsceneVars[9].point[0] += 1.f; obj->oPosX += xOffset; obj->oPosY += yOffset; diff --git a/src/game/behaviors/jrb_ship.inc.c b/src/game/behaviors/jrb_ship.inc.c index 1d5fc2db..43ad25b7 100644 --- a/src/game/behaviors/jrb_ship.inc.c +++ b/src/game/behaviors/jrb_ship.inc.c @@ -24,9 +24,9 @@ void bhv_ship_part_3_loop(void) { s16 initialPitch = o->oFaceAnglePitch; s16 initialRoll = o->oFaceAngleRoll; cur_obj_set_pos_to_home_with_debug(); - o->oShipPart3UnkF4 += 0x100; - o->oFaceAnglePitch = sins(o->oShipPart3UnkF4) * 1024.0f; - o->oFaceAngleRoll = sins(o->oShipPart3UnkF8) * 1024.0f; + o->oShipPart3LoopPitch += 0x100; + o->oFaceAnglePitch = sins(o->oShipPart3LoopPitch) * 1024.0f; + o->oFaceAngleRoll = sins(o->oShipPart3LoopRoll) * 1024.0f; o->oAngleVelPitch = o->oFaceAnglePitch - initialPitch; o->oAngleVelRoll = o->oFaceAngleRoll - initialRoll; if (gMarioObject->oPosY > 1000.0f) @@ -39,16 +39,16 @@ void bhv_jrb_sliding_box_loop(void) { Vec3f shipToBoxPos2; Vec3s shipRotation; struct Object *shipObj; - if (o->oJrbSlidingBoxUnkF4 == NULL) { + if (o->oJrbSlidingBoxShipObj == NULL) { shipObj = cur_obj_nearest_object_with_behavior(bhvInSunkenShip3); if (shipObj != NULL) { - o->oJrbSlidingBoxUnkF4 = shipObj; + o->oJrbSlidingBoxShipObj = shipObj; o->oParentRelativePosX = o->oPosX - shipObj->oPosX; o->oParentRelativePosY = o->oPosY - shipObj->oPosY; o->oParentRelativePosZ = o->oPosZ - shipObj->oPosZ; } } else { - shipObj = o->oJrbSlidingBoxUnkF4; + shipObj = o->oJrbSlidingBoxShipObj; shipRotation[0] = shipObj->oFaceAnglePitch; shipRotation[1] = shipObj->oFaceAngleYaw; shipRotation[2] = shipObj->oFaceAngleRoll; @@ -62,14 +62,14 @@ void bhv_jrb_sliding_box_loop(void) { o->oPosZ = shipObj->oPosZ + shipToBoxPos2[2]; o->oFaceAnglePitch = shipObj->oFaceAnglePitch; } - o->oJrbSlidingBoxUnkFC = sins(o->oJrbSlidingBoxUnkF8) * 20.0f; - o->oJrbSlidingBoxUnkF8 += 0x100; - o->oParentRelativePosZ += o->oJrbSlidingBoxUnkFC; + o->oJrbSlidingBoxAdditiveZ = sins(o->oJrbSlidingBoxAngle) * 20.0f; + o->oJrbSlidingBoxAngle += 0x100; + o->oParentRelativePosZ += o->oJrbSlidingBoxAdditiveZ; if (gMarioObject->oPosY > 1000.0f) - if (absf(o->oJrbSlidingBoxUnkFC) > 3.0f) + if (absf(o->oJrbSlidingBoxAdditiveZ) > 3.0f) cur_obj_play_sound_1(SOUND_AIR_ROUGH_SLIDE); obj_set_hitbox(o, &sSkullSlidingBoxHitbox); - if (!(o->oJrbSlidingBoxUnkF8 & 0x7FFF)) + if (!(o->oJrbSlidingBoxAngle & 0x7FFF)) cur_obj_become_tangible(); if (obj_check_if_collided_with_object(o, gMarioObject)) { o->oInteractStatus = 0; diff --git a/src/game/behaviors/jumping_box.inc.c b/src/game/behaviors/jumping_box.inc.c index 5c86169d..90b5b9a1 100644 --- a/src/game/behaviors/jumping_box.inc.c +++ b/src/game/behaviors/jumping_box.inc.c @@ -14,15 +14,15 @@ struct ObjectHitbox sJumpingBoxHitbox = { void jumping_box_act_0(void) { if (o->oSubAction == 0) { - if (o->oJumpingBoxUnkF8-- < 0) + if (o->oJumpingBoxRandomTimer-- < 0) o->oSubAction++; - if (o->oTimer > o->oJumpingBoxUnkF4) { + if (o->oTimer > o->oJumpingBoxUnusedTimerMin) { o->oVelY = random_float() * 5.0f + 15.0f; o->oSubAction++; } } else if (o->oMoveFlags & OBJ_MOVE_ON_GROUND) { o->oSubAction = 0; - o->oJumpingBoxUnkF8 = random_float() * 60.0f + 30.0f; + o->oJumpingBoxRandomTimer = random_float() * 60.0f + 30.0f; } } diff --git a/src/game/behaviors/kickable_board.inc.c b/src/game/behaviors/kickable_board.inc.c index 2821debc..a0cfa5f1 100644 --- a/src/game/behaviors/kickable_board.inc.c +++ b/src/game/behaviors/kickable_board.inc.c @@ -21,8 +21,8 @@ s32 check_mario_attacking(void) { } void init_kickable_board_rock(void) { - o->oKickableBoardF8 = 1600; - o->oKickableBoardF4 = 0; + o->oKickableBoardRockingTimer = 1600; + o->oKickableBoardRockingAngleAmount = 0; } void bhv_kickable_board_loop(void) { @@ -39,7 +39,7 @@ void bhv_kickable_board_loop(void) { case 1: o->oFaceAnglePitch = 0; load_object_collision_model(); - o->oFaceAnglePitch = -sins(o->oKickableBoardF4) * o->oKickableBoardF8; + o->oFaceAnglePitch = -sins(o->oKickableBoardRockingAngleAmount) * o->oKickableBoardRockingTimer; if (o->oTimer > 30 && (attackValue = check_mario_attacking())) { if (gMarioObject->oPosY > o->oPosY + 160.0f && attackValue == 2) { o->oAction++; @@ -48,14 +48,14 @@ void bhv_kickable_board_loop(void) { o->oTimer = 0; } if (o->oTimer != 0) { - o->oKickableBoardF8 -= 8; - if (o->oKickableBoardF8 < 0) + o->oKickableBoardRockingTimer -= 8; + if (o->oKickableBoardRockingTimer < 0) o->oAction = 0; } else init_kickable_board_rock(); - if (!(o->oKickableBoardF4 & 0x7FFF)) + if (!(o->oKickableBoardRockingAngleAmount & 0x7FFF)) cur_obj_play_sound_2(SOUND_GENERAL_BUTTON_PRESS_2); - o->oKickableBoardF4 += 0x400; + o->oKickableBoardRockingAngleAmount += 0x400; break; case 2: cur_obj_become_intangible(); diff --git a/src/game/behaviors/king_bobomb.inc.c b/src/game/behaviors/king_bobomb.inc.c index 4718477e..beb40462 100644 --- a/src/game/behaviors/king_bobomb.inc.c +++ b/src/game/behaviors/king_bobomb.inc.c @@ -56,23 +56,23 @@ void king_bobomb_act_2(void) { o->oAction = 5; cur_obj_become_intangible(); } - if (o->oKingBobombUnk100 == 0) { + if (o->oKingBobombShouldStomp == 0) { if (cur_obj_check_anim_frame(15)) cur_obj_shake_screen(SHAKE_POS_SMALL); if (cur_obj_init_animation_and_check_if_near_end(4)) - o->oKingBobombUnk100++; + o->oKingBobombShouldStomp++; } else { - if (o->oKingBobombUnk100 == 1) { + if (o->oKingBobombShouldStomp == 1) { cur_obj_init_animation_and_anim_frame(11, 7); - o->oKingBobombUnk100 = 2; + o->oKingBobombShouldStomp = 2; } else cur_obj_init_animation_with_sound(11); - if (o->oKingBobombUnk108 == 0) { + if (o->oKingBobombPlayerGrabEscapeCooldown == 0) { o->oForwardVel = 3.0f; cur_obj_rotate_yaw_toward(o->oAngleToMario, 0x100); } else { o->oForwardVel = 0.0f; - o->oKingBobombUnk108--; + o->oKingBobombPlayerGrabEscapeCooldown--; } } if (cur_obj_check_grabbed_mario()) @@ -86,8 +86,8 @@ void king_bobomb_act_2(void) { void king_bobomb_act_3(void) { if (o->oSubAction == 0) { o->oForwardVel = 0; - o->oKingBobombUnk104 = 0; - o->oKingBobombUnkFC = 0; + o->oKingBobombStationaryTimer = 0; + o->oKingBobombPlayerGrabEscapeActions = 0; if (o->oTimer == 0) cur_obj_play_sound_2(SOUND_OBJ_UNKNOWN3); if (cur_obj_init_animation_and_check_if_near_end(0)) { @@ -97,25 +97,25 @@ void king_bobomb_act_3(void) { } else { if (o->oSubAction == 1) { cur_obj_init_animation_with_sound(1); - o->oKingBobombUnkFC += player_performed_grab_escape_action(); - print_debug_bottom_up("%d", o->oKingBobombUnkFC); - if (o->oKingBobombUnkFC > 10) { - o->oKingBobombUnk88 = 3; + o->oKingBobombPlayerGrabEscapeActions += player_performed_grab_escape_action(); + print_debug_bottom_up("%d", o->oKingBobombPlayerGrabEscapeActions); + if (o->oKingBobombPlayerGrabEscapeActions > 10) { + o->oKingBobombHoldingMarioState = 3; o->oAction = 2; - o->oKingBobombUnk108 = 35; + o->oKingBobombPlayerGrabEscapeCooldown = 35; o->oInteractStatus &= ~(INT_STATUS_GRABBED_MARIO); } else { o->oForwardVel = 3.0f; - if (o->oKingBobombUnk104 > 20 && cur_obj_rotate_yaw_toward(0, 0x400)) { + if (o->oKingBobombStationaryTimer > 20 && cur_obj_rotate_yaw_toward(0, 0x400)) { o->oSubAction++; cur_obj_init_animation_and_anim_frame(9, 22); } } - o->oKingBobombUnk104++; + o->oKingBobombStationaryTimer++; } else { cur_obj_init_animation_with_sound(9); if (cur_obj_check_anim_frame(31)) { - o->oKingBobombUnk88 = 2; + o->oKingBobombHoldingMarioState = 2; cur_obj_play_sound_2(SOUND_OBJ_UNKNOWN4); } else if (cur_obj_check_if_near_animation_end()) { o->oAction = 1; @@ -141,7 +141,7 @@ void king_bobomb_act_1(void) { void king_bobomb_act_6(void) { if (o->oSubAction == 0) { if (o->oTimer == 0) { - o->oKingBobombUnk104 = 0; + o->oKingBobombStationaryTimer = 0; cur_obj_play_sound_2(SOUND_OBJ_KING_BOBOMB); cur_obj_play_sound_2(SOUND_OBJ2_KING_BOBOMB_DAMAGE); cur_obj_shake_screen(SHAKE_POS_SMALL); @@ -150,8 +150,8 @@ void king_bobomb_act_6(void) { cur_obj_become_tangible(); } if (cur_obj_init_animation_and_check_if_near_end(2)) - o->oKingBobombUnk104++; - if (o->oKingBobombUnk104 > 3) { + o->oKingBobombStationaryTimer++; + if (o->oKingBobombStationaryTimer > 3) { o->oSubAction++; } } else { @@ -227,7 +227,7 @@ void king_bobomb_act_5(void) { // bobomb returns home case 0: if (o->oTimer == 0) cur_obj_play_sound_2(SOUND_OBJ_KING_BOBOMB_JUMP); - o->oKingBobombUnkF8 = 1; + o->oKingBobombIsJumping = 1; cur_obj_init_animation_and_extend_if_at_end(8); o->oMoveAngleYaw = cur_obj_angle_to_home(); if (o->oPosY < o->oHomeY) @@ -244,7 +244,7 @@ void king_bobomb_act_5(void) { // bobomb returns home o->oVelY = 0; o->oForwardVel = 0; o->oGravity = -4.0f; - o->oKingBobombUnkF8 = 0; + o->oKingBobombIsJumping = 0; cur_obj_init_animation_with_sound(7); cur_obj_play_sound_2(SOUND_OBJ_KING_BOBOMB); cur_obj_shake_screen(SHAKE_POS_SMALL); @@ -292,7 +292,7 @@ struct SoundState sKingBobombSoundStates[] = { void king_bobomb_move(void) { cur_obj_update_floor_and_walls(); - if (o->oKingBobombUnkF8 == 0) + if (o->oKingBobombIsJumping == 0) cur_obj_move_standard(-78); else cur_obj_move_using_fvel_and_gravity(); diff --git a/src/game/behaviors/klepto.inc.c b/src/game/behaviors/klepto.inc.c index 1a5768a5..e0ff9830 100644 --- a/src/game/behaviors/klepto.inc.c +++ b/src/game/behaviors/klepto.inc.c @@ -20,9 +20,9 @@ static u8 sKleptoAttackHandlers[] = { 2, 2, 5, 5, 2, 2 }; static void klepto_target_mario(void) { o->oKleptoDistanceToTarget = lateral_dist_between_objects(gMarioObject, o); - o->oKleptoUnk1B0 = obj_turn_pitch_toward_mario(250.0f, 0); + o->oKleptoPitchToTarget = obj_turn_pitch_toward_mario(250.0f, 0); o->oKleptoYawToTarget = o->oAngleToMario; - o->oKleptoUnk1AE = -60; + o->oKleptoDiveTimer = -60; } static s32 klepto_set_and_check_if_anim_at_end(void) { @@ -44,28 +44,28 @@ static s32 klepto_set_and_check_if_anim_at_end(void) { } static void klepto_anim_dive(void) { - if (o->oKleptoUnk1AE > 0) { - if (o->oKleptoUnk1B0 < -400) { - o->oKleptoUnk1AE = 0; + if (o->oKleptoDiveTimer > 0) { + if (o->oKleptoPitchToTarget < -400) { + o->oKleptoDiveTimer = 0; } else { if (o->oSoundStateID == 0) { if (cur_obj_check_anim_frame(9)) { cur_obj_play_sound_2(SOUND_GENERAL_SWISH_WATER); cur_obj_init_animation_with_sound(6); } - } else if (--o->oKleptoUnk1AE == 0) { - o->oKleptoUnk1AE = -random_linear_offset(60, 60); + } else if (--o->oKleptoDiveTimer == 0) { + o->oKleptoDiveTimer = -random_linear_offset(60, 60); } obj_move_pitch_approach(400, 10); } } else { - obj_move_pitch_approach(o->oKleptoUnk1B0, 600); + obj_move_pitch_approach(o->oKleptoPitchToTarget, 600); if (klepto_set_and_check_if_anim_at_end() != 0) { - if (o->oKleptoUnk1AE != 0) { - o->oKleptoUnk1AE += 1; - } else if (o->oKleptoUnk1B0 > -100) { - o->oKleptoUnk1AE = random_linear_offset(60, 60); + if (o->oKleptoDiveTimer != 0) { + o->oKleptoDiveTimer += 1; + } else if (o->oKleptoPitchToTarget > -100) { + o->oKleptoDiveTimer = random_linear_offset(60, 60); } } } @@ -114,14 +114,14 @@ static void klepto_change_target(void) { newTarget = random_u16() % 3; } - o->oKleptoUnkF8 = 400 * absi(newTarget - o->oKleptoTargetNumber); + o->oKleptoHomeYOffset = 400 * absi(newTarget - o->oKleptoTargetNumber); o->oKleptoTargetNumber = newTarget; o->oHomeX = sKleptoTargetPositions[o->oKleptoTargetNumber][0]; - o->oHomeY = sKleptoTargetPositions[o->oKleptoTargetNumber][1] + o->oKleptoUnkF8; + o->oHomeY = sKleptoTargetPositions[o->oKleptoTargetNumber][1] + o->oKleptoHomeYOffset; o->oHomeZ = sKleptoTargetPositions[o->oKleptoTargetNumber][2]; - o->oKleptoUnkFC = cur_obj_lateral_dist_to_home() / 2; + o->oKleptoHalfLateralDistToHome = cur_obj_lateral_dist_to_home() / 2; } static void klepto_circle_target(f32 radius, f32 targetSpeed) { @@ -163,9 +163,9 @@ static void klepto_approach_target(f32 targetSpeed) { if (o->oKleptoDistanceToTarget < 1800.0f) { o->oAction = KLEPTO_ACT_CIRCLE_TARGET_HOLDING; } else { - if (o->oKleptoUnkFC > 0.0f) { - if ((o->oKleptoUnkFC -= o->oForwardVel) <= 0.0f) { - o->oHomeY -= o->oKleptoUnkF8; + if (o->oKleptoHalfLateralDistToHome > 0.0f) { + if ((o->oKleptoHalfLateralDistToHome -= o->oForwardVel) <= 0.0f) { + o->oHomeY -= o->oKleptoHomeYOffset; } } @@ -191,7 +191,7 @@ static void klepto_act_turn_toward_mario(void) { klepto_target_mario(); if (klepto_set_and_check_if_anim_at_end() && cur_obj_check_if_at_animation_end() && o->oKleptoDistanceToTarget > 800.0f - && abs_angle_diff(o->oAngleToMario, o->oFaceAngleYaw) < 0x800 && o->oKleptoUnk1B0 < 0x400) { + && abs_angle_diff(o->oAngleToMario, o->oFaceAngleYaw) < 0x800 && o->oKleptoPitchToTarget < 0x400) { cur_obj_play_sound_2(SOUND_OBJ_KLEPTO1); o->oAction = KLEPTO_ACT_DIVE_AT_MARIO; o->oMoveAngleYaw = o->oFaceAngleYaw; @@ -227,10 +227,10 @@ static void klepto_act_dive_at_mario(void) { cur_obj_init_animation_with_sound(2); } - o->oKleptoUnk1B0 = -0x3000; + o->oKleptoPitchToTarget = -0x3000; if (o->oAnimState == KLEPTO_ANIM_STATE_HOLDING_NOTHING) { if (o->oSubAction == 0) { - o->oKleptoUnk1B0 = obj_turn_pitch_toward_mario(0.0f, 0); + o->oKleptoPitchToTarget = obj_turn_pitch_toward_mario(0.0f, 0); o->oKleptoYawToTarget = o->oAngleToMario; if (dy < 160.0f) { @@ -248,7 +248,7 @@ static void klepto_act_dive_at_mario(void) { } } - obj_move_pitch_approach(o->oKleptoUnk1B0, 600); + obj_move_pitch_approach(o->oKleptoPitchToTarget, 600); obj_face_pitch_approach(o->oMoveAnglePitch, 600); obj_rotate_yaw_and_bounce_off_walls(o->oKleptoYawToTarget, 600); } @@ -277,7 +277,7 @@ static void klepto_act_retreat(void) { cur_obj_init_animation_with_sound(0); approach_f32_ptr(&o->oKleptoSpeed, 40.0f, 10.0f); - obj_move_pitch_approach(o->oKleptoUnk1B0, 1000); + obj_move_pitch_approach(o->oKleptoPitchToTarget, 1000); obj_face_pitch_approach(o->oMoveAnglePitch, 1000); obj_rotate_yaw_and_bounce_off_walls(o->oKleptoYawToTarget, 600); @@ -286,7 +286,7 @@ static void klepto_act_retreat(void) { if (abs_angle_diff(o->oFaceAnglePitch, o->oMoveAnglePitch) == 0) { o->oAction = KLEPTO_ACT_RESET_POSITION; o->oHomeY = 1500.0f; - o->oKleptoUnk1AE = -100; + o->oKleptoDiveTimer = -100; o->oFlags |= OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW; cur_obj_become_tangible(); } @@ -324,7 +324,7 @@ void bhv_klepto_update(void) { cur_obj_update_floor_and_walls(); o->oKleptoDistanceToTarget = cur_obj_lateral_dist_to_home(); - o->oKleptoUnk1B0 = obj_get_pitch_to_home(o->oKleptoDistanceToTarget); + o->oKleptoPitchToTarget = obj_get_pitch_to_home(o->oKleptoDistanceToTarget); o->oKleptoYawToTarget = cur_obj_angle_to_home(); if (o->oAction == KLEPTO_ACT_STRUCK_BY_MARIO) { diff --git a/src/game/behaviors/koopa_shell.inc.c b/src/game/behaviors/koopa_shell.inc.c index a7c7071e..4a790de9 100644 --- a/src/game/behaviors/koopa_shell.inc.c +++ b/src/game/behaviors/koopa_shell.inc.c @@ -30,14 +30,14 @@ void bhv_koopa_shell_flame_loop(void) { o->oGravity = -4.0f; o->oAnimState = random_float() * 10.0f; obj_translate_xz_random(o, 110.0f); - o->oKoopaShellFlameUnkF8 = 4.0f; + o->oKoopaShellFlameScale = 4.0f; } cur_obj_update_floor_height(); cur_obj_move_using_fvel_and_gravity(); if (o->oFloorHeight > o->oPosY || o->oTimer > 10) obj_mark_for_deletion(o); - o->oKoopaShellFlameUnkF8 += -0.3; - cur_obj_scale(o->oKoopaShellFlameUnkF8); + o->oKoopaShellFlameScale += -0.3; + cur_obj_scale(o->oKoopaShellFlameScale); } void bhv_koopa_shell_flame_spawn(void) { diff --git a/src/game/behaviors/lll_octagonal_rotating_mesh.inc.c b/src/game/behaviors/lll_octagonal_rotating_mesh.inc.c index 8070da3d..97df3a20 100644 --- a/src/game/behaviors/lll_octagonal_rotating_mesh.inc.c +++ b/src/game/behaviors/lll_octagonal_rotating_mesh.inc.c @@ -105,9 +105,9 @@ void bhv_lll_moving_octagonal_mesh_platform_loop(void) { lll_octagonal_mesh_move(gLllOctagonalMeshActionList[o->oBehParams2ndByte], o->oLllOctMeshActionOffset); print_debug_top_down_objectinfo("number %d\n", o->oLllOctMeshActionOffset); cur_obj_move_using_fvel_and_gravity(); - if (lll_octagonal_mesh_find_y_offset(&o->oLllOctMeshStandTimer, &o->oLllOctMeshWaveOffset2, 0x400, -80)) { + if (lll_octagonal_mesh_find_y_offset(&o->oLllOctMeshStandTimer, &o->oLllOctMeshYOffsetFromHome, 0x400, -80)) { o->oLllOctMeshWaveTimer += 0x800; - o->oLllOctMeshWaveOffset1 -= sins(o->oLllOctMeshWaveTimer) * 2; + o->oLllOctMeshWaveYOffset -= sins(o->oLllOctMeshWaveTimer) * 2; } - o->oPosY = o->oLllOctMeshWaveOffset1 + o->oHomeY + o->oLllOctMeshWaveOffset2; + o->oPosY = o->oLllOctMeshWaveYOffset + o->oHomeY + o->oLllOctMeshYOffsetFromHome; } diff --git a/src/game/behaviors/lll_rotating_hex_flame.inc.c b/src/game/behaviors/lll_rotating_hex_flame.inc.c index 0284a538..668a3a8d 100644 --- a/src/game/behaviors/lll_rotating_hex_flame.inc.c +++ b/src/game/behaviors/lll_rotating_hex_flame.inc.c @@ -1,9 +1,9 @@ // lll_rotating_hex_flame.c.inc void bhv_lll_rotating_hex_flame_loop(void) { - f32 relPosX = o->oLllRotatingHexFlameUnkF4; - f32 relPosY = o->oLllRotatingHexFlameUnkF8; - f32 relPosZ = o->oLllRotatingHexFlameUnkFC; + f32 relPosX = o->oLllRotatingHexFlameRelativePosX; + f32 relPosY = o->oLllRotatingHexFlameRelativePosY; + f32 relPosZ = o->oLllRotatingHexFlameRelativePosZ; cur_obj_set_pos_relative(o->parentObj, relPosX, relPosY, relPosZ); o->oPosY = o->parentObj->oPosY + 100.0f; if (o->parentObj->oAction == 3) @@ -18,9 +18,9 @@ void fire_bar_spawn_flames(s16 yaw) { s32 amt = (o->oBehParams2ndByte == 0) ? 4 : 3; for (i = 0; i < amt; i++) { flameObj = spawn_object(o, MODEL_RED_FLAME, bhvLllRotatingHexFlame); - flameObj->oLllRotatingHexFlameUnkF4 += xOffset; - flameObj->oLllRotatingHexFlameUnkF8 = o->oPosY - 200.0f; - flameObj->oLllRotatingHexFlameUnkFC += zOffset; + flameObj->oLllRotatingHexFlameRelativePosX += xOffset; + flameObj->oLllRotatingHexFlameRelativePosY = o->oPosY - 200.0f; + flameObj->oLllRotatingHexFlameRelativePosZ += zOffset; obj_scale_xyz(flameObj, 6.0f, 6.0f, 6.0f); xOffset += sins(yaw) * 150.0f; zOffset += coss(yaw) * 150.0f; diff --git a/src/game/behaviors/lll_sinking_rock_block.inc.c b/src/game/behaviors/lll_sinking_rock_block.inc.c index 056d0aaa..cb014c3e 100644 --- a/src/game/behaviors/lll_sinking_rock_block.inc.c +++ b/src/game/behaviors/lll_sinking_rock_block.inc.c @@ -1,7 +1,7 @@ // lll_sinking_rock_block.c.inc void bhv_lll_sinking_rock_block_loop(void) { - lll_octagonal_mesh_find_y_offset(&o->oSinkWhenSteppedOnUnk104, &o->oSinkWhenSteppedOnUnk108, 124, -110); + lll_octagonal_mesh_find_y_offset(&o->oSinkWhenSteppedOnTimer, &o->oSinkWhenSteppedOnYOffsetFromHome, 124, -110); o->oGraphYOffset = 0.0f; - o->oPosY = o->oHomeY + o->oSinkWhenSteppedOnUnk108; + o->oPosY = o->oHomeY + o->oSinkWhenSteppedOnYOffsetFromHome; } diff --git a/src/game/behaviors/mr_i.inc.c b/src/game/behaviors/mr_i.inc.c index 507bf1f6..e100756b 100644 --- a/src/game/behaviors/mr_i.inc.c +++ b/src/game/behaviors/mr_i.inc.c @@ -56,12 +56,12 @@ void bhv_mr_i_body_loop(void) { o->oFaceAnglePitch = o->oMoveAnglePitch; o->oGraphYOffset = o->header.gfx.scale[1] * 100.f; } - if (o->parentObj->oMrIUnk110 != 1) + if (o->parentObj->oMrIBlinking != 1) o->oAnimState = -1; else { o->oAnimState++; if (o->oAnimState == 15) - o->parentObj->oMrIUnk110 = 0; + o->parentObj->oMrIBlinking = 0; } if (o->parentObj->activeFlags == ACTIVE_FLAG_DEACTIVATED) obj_mark_for_deletion(o); @@ -78,7 +78,7 @@ void mr_i_act_3(void) { scaleModifier = 2.0f; else scaleModifier = 1.0f; - if (o->oMrIUnk100 < 0) + if (o->oMrISpinDirection < 0) direction = 0x1000; else direction = -0x1000; @@ -126,53 +126,53 @@ void mr_i_act_2(void) { s16 startYaw = o->oMoveAngleYaw; if (o->oTimer == 0) { if (o->oBehParams2ndByte) - o->oMrIUnkF4 = 200; + o->oMrISpinAngle = 200; else - o->oMrIUnkF4 = 120; - o->oMrIUnkFC = 0; - o->oMrIUnk100 = 0; - o->oMrIUnk104 = 0; + o->oMrISpinAngle = 120; + o->oMrISpinAmount = 0; + o->oMrISpinDirection = 0; + o->oMrIParticleTimer = 0; } obj_turn_toward_object(o, gMarioObject, 0x10, 0x800); obj_turn_toward_object(o, gMarioObject, 0x0F, 0x400); dYaw = startYaw - (s16)(o->oMoveAngleYaw); if (!dYaw) { - o->oMrIUnkFC = 0; - o->oMrIUnk100 = 0; + o->oMrISpinAmount = 0; + o->oMrISpinDirection = 0; } else if (dYaw > 0) { - if (o->oMrIUnk100 > 0) - o->oMrIUnkFC += dYaw; + if (o->oMrISpinDirection > 0) + o->oMrISpinAmount += dYaw; else - o->oMrIUnkFC = 0; - o->oMrIUnk100 = 1; + o->oMrISpinAmount = 0; + o->oMrISpinDirection = 1; } else { - if (o->oMrIUnk100 < 0) - o->oMrIUnkFC -= dYaw; + if (o->oMrISpinDirection < 0) + o->oMrISpinAmount -= dYaw; else - o->oMrIUnkFC = 0; - o->oMrIUnk100 = -1; + o->oMrISpinAmount = 0; + o->oMrISpinDirection = -1; } - if (!o->oMrIUnkFC) - o->oMrIUnkF4 = 120; - if (o->oMrIUnkFC > 1 << 16) + if (!o->oMrISpinAmount) + o->oMrISpinAngle = 120; + if (o->oMrISpinAmount > 1 << 16) o->oAction = 3; - o->oMrIUnkF4 -= 1; - if (!o->oMrIUnkF4) { - o->oMrIUnkF4 = 120; - o->oMrIUnkFC = 0; + o->oMrISpinAngle -= 1; + if (!o->oMrISpinAngle) { + o->oMrISpinAngle = 120; + o->oMrISpinAmount = 0; } - if (o->oMrIUnkFC < 5000) { - if (o->oMrIUnk104 == o->oMrIUnk108) - o->oMrIUnk110 = 1; - if (o->oMrIUnk104 == o->oMrIUnk108 + 20) { + if (o->oMrISpinAmount < 5000) { + if (o->oMrIParticleTimer == o->oMrIParticleTimerTarget) + o->oMrIBlinking = 1; + if (o->oMrIParticleTimer == o->oMrIParticleTimerTarget + 20) { spawn_mr_i_particle(); - o->oMrIUnk104 = 0; - o->oMrIUnk108 = (s32)(random_float() * 50.0f + 50.0f); + o->oMrIParticleTimer = 0; + o->oMrIParticleTimerTarget = (s32)(random_float() * 50.0f + 50.0f); } - o->oMrIUnk104++; + o->oMrIParticleTimer++; } else { - o->oMrIUnk104 = 0; - o->oMrIUnk108 = (s32)(random_float() * 50.0f + 50.0f); + o->oMrIParticleTimer = 0; + o->oMrIParticleTimerTarget = (s32)(random_float() * 50.0f + 50.0f); } if (o->oDistanceToMario > 800.0f) o->oAction = 1; @@ -185,9 +185,9 @@ void mr_i_act_1(void) { if (o->oTimer == 0) { cur_obj_become_tangible(); o->oMoveAnglePitch = 0; - o->oMrIUnk104 = 30; - o->oMrIUnk108 = random_float() * 20.0f; - if (o->oMrIUnk108 & 1) + o->oMrIParticleTimer = 30; + o->oMrIParticleTimerTarget = random_float() * 20.0f; + if (o->oMrIParticleTimerTarget & 1) o->oAngleVelYaw = -256; else o->oAngleVelYaw = 256; @@ -196,16 +196,16 @@ void mr_i_act_1(void) { if (o->oDistanceToMario < 700.0f) o->oAction = 2; else - o->oMrIUnk104++; + o->oMrIParticleTimer++; } else { o->oMoveAngleYaw += o->oAngleVelYaw; - o->oMrIUnk104 = 30; + o->oMrIParticleTimer = 30; } - if (o->oMrIUnk104 == o->oMrIUnk108 + 60) - o->oMrIUnk110 = 1; - if (o->oMrIUnk108 + 80 < o->oMrIUnk104) { - o->oMrIUnk104 = 0; - o->oMrIUnk108 = random_float() * 80.0f; + if (o->oMrIParticleTimer == o->oMrIParticleTimerTarget + 60) + o->oMrIBlinking = 1; + if (o->oMrIParticleTimerTarget + 80 < o->oMrIParticleTimer) { + o->oMrIParticleTimer = 0; + o->oMrIParticleTimerTarget = random_float() * 80.0f; spawn_mr_i_particle(); } } diff --git a/src/game/behaviors/mushroom_1up.inc.c b/src/game/behaviors/mushroom_1up.inc.c index 96781a48..a7f006f6 100644 --- a/src/game/behaviors/mushroom_1up.inc.c +++ b/src/game/behaviors/mushroom_1up.inc.c @@ -210,7 +210,7 @@ void bhv_1up_hidden_loop(void) { switch (o->oAction) { case 0: o->header.gfx.node.flags |= GRAPH_RENDER_INVISIBLE; - if (o->o1UpHiddenUnkF4 == o->oBehParams2ndByte) { + if (o->o1UpHiddenTimesTriggered == o->oBehParams2ndByte) { o->oVelY = 40.0f; o->oAction = 3; o->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE; @@ -251,7 +251,7 @@ void bhv_1up_hidden_trigger_loop(void) { if (obj_check_if_collided_with_object(o, gMarioObject) == 1) { nearestHidden1up = cur_obj_nearest_object_with_behavior(bhvHidden1up); if (nearestHidden1up != NULL) - nearestHidden1up->o1UpHiddenUnkF4++; + nearestHidden1up->o1UpHiddenTimesTriggered++; o->activeFlags = ACTIVE_FLAG_DEACTIVATED; } @@ -261,7 +261,7 @@ void bhv_1up_hidden_in_pole_loop(void) { switch (o->oAction) { case 0: o->header.gfx.node.flags |= GRAPH_RENDER_INVISIBLE; - if (o->o1UpHiddenUnkF4 == o->oBehParams2ndByte) { + if (o->o1UpHiddenTimesTriggered == o->oBehParams2ndByte) { o->oVelY = 40.0f; o->oAction = 3; o->header.gfx.node.flags &= ~GRAPH_RENDER_INVISIBLE; @@ -296,7 +296,7 @@ void bhv_1up_hidden_in_pole_trigger_loop(void) { if (obj_check_if_collided_with_object(o, gMarioObject) == 1) { nearestHidden1upInPole = cur_obj_nearest_object_with_behavior(bhvHidden1upInPole); if (nearestHidden1upInPole != NULL) { - nearestHidden1upInPole->o1UpHiddenUnkF4++; + nearestHidden1upInPole->o1UpHiddenTimesTriggered++; } o->activeFlags = ACTIVE_FLAG_DEACTIVATED; diff --git a/src/game/behaviors/rolling_log.inc.c b/src/game/behaviors/rolling_log.inc.c index e3af4dc5..652e0a17 100644 --- a/src/game/behaviors/rolling_log.inc.c +++ b/src/game/behaviors/rolling_log.inc.c @@ -7,9 +7,9 @@ // a rolling log of another variation. void bhv_ttm_rolling_log_init(void) { - o->oPitouneUnkF8 = 3970.0f; - o->oPitouneUnkFC = 3654.0f; - o->oPitouneUnkF4 = 271037.0f; + o->oRollingLogX = 3970.0f; + o->oRollingLogZ = 3654.0f; + o->oRollingLogMaxDist = 271037.0f; o->oMoveAngleYaw = 8810; o->oForwardVel = 0; o->oVelX = 0; @@ -72,7 +72,7 @@ void bhv_rolling_log_loop(void) { o->oPosX += o->oVelX; o->oPosZ += o->oVelZ; - if (o->oPitouneUnkF4 < sqr(o->oPosX - o->oPitouneUnkF8) + sqr(o->oPosZ - o->oPitouneUnkFC)) { + if (o->oRollingLogMaxDist < sqr(o->oPosX - o->oRollingLogX) + sqr(o->oPosZ - o->oRollingLogZ)) { o->oForwardVel = 0; o->oPosX = prevX; o->oPosZ = prevZ; @@ -87,14 +87,14 @@ void bhv_rolling_log_loop(void) { } void volcano_act_1(void) { - o->oRollingLogUnkF4 += 4.0f; - o->oAngleVelPitch += o->oRollingLogUnkF4; + o->oVolcanoTrapPitchVel += 4.0f; + o->oAngleVelPitch += o->oVolcanoTrapPitchVel; o->oFaceAnglePitch -= o->oAngleVelPitch; if (o->oFaceAnglePitch < -0x4000) { o->oFaceAnglePitch = -0x4000; o->oAngleVelPitch = 0; - o->oRollingLogUnkF4 = 0; + o->oVolcanoTrapPitchVel = 0; o->oAction = 2; cur_obj_play_sound_2(SOUND_GENERAL_BIG_POUND); set_camera_shake_from_point(SHAKE_POS_LARGE, o->oPosX, o->oPosY, o->oPosZ); @@ -141,9 +141,9 @@ void bhv_volcano_trap_loop(void) { } void bhv_lll_rolling_log_init(void) { - o->oPitouneUnkF8 = 5120.0f; - o->oPitouneUnkFC = 6016.0f; - o->oPitouneUnkF4 = 1048576.0f; + o->oRollingLogX = 5120.0f; + o->oRollingLogZ = 6016.0f; + o->oRollingLogMaxDist = 1048576.0f; o->oMoveAngleYaw = 0x3FFF; o->oForwardVel = 0; diff --git a/src/game/behaviors/scuttlebug.inc.c b/src/game/behaviors/scuttlebug.inc.c index 8b480a06..c7631cd6 100644 --- a/src/game/behaviors/scuttlebug.inc.c +++ b/src/game/behaviors/scuttlebug.inc.c @@ -29,10 +29,10 @@ void bhv_scuttlebug_loop(void) { cur_obj_update_floor_and_walls(); if (o->oSubAction != 0 && cur_obj_set_hitbox_and_die_if_attacked(&sScuttlebugHitbox, SOUND_OBJ_DYING_ENEMY1, - o->oScuttlebugUnkF4)) + o->oScuttlebugHasNoLootCoins)) o->oSubAction = 3; if (o->oSubAction != 1) - o->oScuttlebugUnkF8 = 0; + o->oScuttlebugIsAtttacking = 0; switch (o->oSubAction) { case 0: if (o->oMoveFlags & OBJ_MOVE_LANDED) @@ -49,19 +49,19 @@ void bhv_scuttlebug_loop(void) { if (cur_obj_lateral_dist_from_mario_to_home() > 1000.0f) o->oAngleToMario = cur_obj_angle_to_home(); else { - if (o->oScuttlebugUnkF8 == 0) { - o->oScuttlebugUnkFC = 0; + if (o->oScuttlebugIsAtttacking == 0) { + o->oScuttlebugTimer = 0; o->oAngleToMario = obj_angle_to_object(o, gMarioObject); if (abs_angle_diff(o->oAngleToMario, o->oMoveAngleYaw) < 0x800) { - o->oScuttlebugUnkF8 = 1; + o->oScuttlebugIsAtttacking = 1; o->oVelY = 20.0f; cur_obj_play_sound_2(SOUND_OBJ2_SCUTTLEBUG_ALERT); } - } else if (o->oScuttlebugUnkF8 == 1) { + } else if (o->oScuttlebugIsAtttacking == 1) { o->oForwardVel = 15.0f; - o->oScuttlebugUnkFC++; - if (o->oScuttlebugUnkFC > 50) - o->oScuttlebugUnkF8 = 0; + o->oScuttlebugTimer++; + if (o->oScuttlebugTimer > 50) + o->oScuttlebugIsAtttacking = 0; } } if (update_angle_from_move_flags(&o->oAngleToMario)) @@ -88,15 +88,15 @@ void bhv_scuttlebug_loop(void) { if (o->oMoveFlags & OBJ_MOVE_LANDED) { o->oSubAction++; o->oVelY = 0.0f; - o->oScuttlebugUnkFC = 0; + o->oScuttlebugTimer = 0; o->oFlags |= OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW; o->oInteractStatus = 0; } break; case 5: o->oForwardVel = 2.0f; - o->oScuttlebugUnkFC++; - if (o->oScuttlebugUnkFC > 30) + o->oScuttlebugTimer++; + if (o->oScuttlebugTimer > 30) o->oSubAction = 0; break; } @@ -111,7 +111,7 @@ void bhv_scuttlebug_loop(void) { if (obj_is_hidden(o)) obj_mark_for_deletion(o); if (o->activeFlags == ACTIVE_FLAG_DEACTIVATED) - o->parentObj->oScuttlebugSpawnerUnk88 = 1; + o->parentObj->oScuttlebugSpawnerIsDeactivated = 1; } cur_obj_move_standard(-50); } @@ -122,14 +122,14 @@ void bhv_scuttlebug_spawn_loop(void) { if (o->oTimer > 30 && 500.0f < o->oDistanceToMario && o->oDistanceToMario < 1500.0f) { cur_obj_play_sound_2(SOUND_OBJ2_SCUTTLEBUG_ALERT); scuttlebug = spawn_object(o, MODEL_SCUTTLEBUG, bhvScuttlebug); - scuttlebug->oScuttlebugUnkF4 = o->oScuttlebugSpawnerUnkF4; + scuttlebug->oScuttlebugHasNoLootCoins = o->oScuttlebugSpawnerSpawnWithNoLootCoins; scuttlebug->oForwardVel = 30.0f; scuttlebug->oVelY = 80.0f; o->oAction++; - o->oScuttlebugUnkF4 = 1; + o->oScuttlebugHasNoLootCoins = 1; } - } else if (o->oScuttlebugSpawnerUnk88 != 0) { - o->oScuttlebugSpawnerUnk88 = 0; + } else if (o->oScuttlebugSpawnerIsDeactivated != 0) { + o->oScuttlebugSpawnerIsDeactivated = 0; o->oAction = 0; } } diff --git a/src/game/behaviors/skeeter.inc.c b/src/game/behaviors/skeeter.inc.c index 0a60eaaa..f44c749d 100644 --- a/src/game/behaviors/skeeter.inc.c +++ b/src/game/behaviors/skeeter.inc.c @@ -45,7 +45,7 @@ static void skeeter_act_idle(void) { if (o->oMoveFlags & OBJ_MOVE_AT_WATER_SURFACE) { skeeter_spawn_waves(); if (o->oTimer > 60 - && obj_smooth_turn(&o->oSkeeterUnk1AC, &o->oMoveAngleYaw, o->oSkeeterTargetAngle, 0.02f, + && obj_smooth_turn(&o->oSkeeterAngleVel, &o->oMoveAngleYaw, o->oSkeeterTargetAngle, 0.02f, 5, 50, 200)) { if (o->oSkeeterWaitTime != 0) { o->oSkeeterWaitTime -= 1; @@ -53,7 +53,7 @@ static void skeeter_act_idle(void) { cur_obj_play_sound_2(SOUND_OBJ_WALKING_WATER); o->oAction = SKEETER_ACT_LUNGE; o->oForwardVel = 80.0f; - o->oSkeeterUnk1AC = 0; + o->oSkeeterAngleVel = 0; } } } @@ -95,26 +95,26 @@ static void skeeter_act_walk(void) { if (!(o->oMoveFlags & OBJ_MOVE_MASK_ON_GROUND)) { o->oAction = SKEETER_ACT_IDLE; } else { - obj_forward_vel_approach(o->oSkeeterUnkFC, 0.4f); + obj_forward_vel_approach(o->oSkeeterTargetForwardVel, 0.4f); accel = 0.12f * o->oForwardVel; cur_obj_init_animation_with_accel_and_sound(2, accel); cur_obj_play_sound_at_anim_range(3, 13, SOUND_OBJ_SKEETER_WALK); - if (o->oSkeeterUnkF8 != 0) { - o->oSkeeterUnkF8 = obj_resolve_collisions_and_turn(o->oSkeeterTargetAngle, 0x400); + if (o->oSkeeterTurningAwayFromWall != 0) { + o->oSkeeterTurningAwayFromWall = obj_resolve_collisions_and_turn(o->oSkeeterTargetAngle, 0x400); } else { if (o->oDistanceToMario >= 25000.0f) { o->oSkeeterTargetAngle = o->oAngleToMario; o->oSkeeterWaitTime = random_linear_offset(20, 30); } - if ((o->oSkeeterUnkF8 = obj_bounce_off_walls_edges_objects(&o->oSkeeterTargetAngle)) == 0) { + if ((o->oSkeeterTurningAwayFromWall = obj_bounce_off_walls_edges_objects(&o->oSkeeterTargetAngle)) == 0) { if (o->oDistanceToMario < 500.0f) { o->oSkeeterTargetAngle = o->oAngleToMario; - o->oSkeeterUnkFC = 20.0f; + o->oSkeeterTargetForwardVel = 20.0f; } else { - o->oSkeeterUnkFC = 10.0f; + o->oSkeeterTargetForwardVel = 10.0f; if (o->oSkeeterWaitTime != 0) { o->oSkeeterWaitTime -= 1; } else if (cur_obj_check_if_near_animation_end() != 0) { diff --git a/src/game/behaviors/snowman.inc.c b/src/game/behaviors/snowman.inc.c index e6d73709..a2989bf4 100644 --- a/src/game/behaviors/snowman.inc.c +++ b/src/game/behaviors/snowman.inc.c @@ -25,7 +25,7 @@ void bhv_snowmans_bottom_init(void) { o->oVelY = 0; o->oForwardVel = 0; - o->oSnowmansBottomUnkF4 = 0.4f; + o->oSnowmansBottomRollingFacePitch = 0.4f; headObj = cur_obj_nearest_object_with_behavior(bhvSnowmansHead); if (headObj != NULL) { @@ -44,10 +44,10 @@ void set_rolling_sphere_hitbox(void) { void adjust_rolling_face_pitch(f32 f12) { o->oFaceAnglePitch += (s16)(o->oForwardVel * (100.0f / f12)); - o->oSnowmansBottomUnkF4 += o->oForwardVel * 1e-4; + o->oSnowmansBottomRollingFacePitch += o->oForwardVel * 1e-4; - if (o->oSnowmansBottomUnkF4 > 1.0) - o->oSnowmansBottomUnkF4 = 1.0f; + if (o->oSnowmansBottomRollingFacePitch > 1.0) + o->oSnowmansBottomRollingFacePitch = 1.0f; } void snowmans_bottom_act_1(void) { @@ -56,18 +56,18 @@ void snowmans_bottom_act_1(void) { o->oPathedStartWaypoint = segmented_to_virtual(&ccm_seg7_trajectory_snowman); object_step_without_floor_orient(); pathResult = cur_obj_follow_path(pathResult); - o->oSnowmansBottomUnkF8 = o->oPathedTargetYaw; - o->oMoveAngleYaw = approach_s16_symmetric(o->oMoveAngleYaw, o->oSnowmansBottomUnkF8, 0x400); + o->oSnowmansBottomTargetYaw = o->oPathedTargetYaw; + o->oMoveAngleYaw = approach_s16_symmetric(o->oMoveAngleYaw, o->oSnowmansBottomTargetYaw, 0x400); if (o->oForwardVel > 70.0) o->oForwardVel = 70.0f; if (pathResult == -1) { if (obj_check_if_facing_toward_angle(o->oMoveAngleYaw, o->oAngleToMario, 0x2000) == TRUE - && o->oSnowmansBottomUnk1AC == 1) { - o->oSnowmansBottomUnkF8 = o->oAngleToMario; + && o->oSnowmansBottomHitCheckpointNearMario == 1) { + o->oSnowmansBottomTargetYaw = o->oAngleToMario; } else { - o->oSnowmansBottomUnkF8 = o->oMoveAngleYaw; + o->oSnowmansBottomTargetYaw = o->oMoveAngleYaw; } o->oAction = 2; } @@ -78,7 +78,7 @@ void snowmans_bottom_act_2(void) { if (o->oForwardVel > 70.0) o->oForwardVel = 70.0f; - o->oMoveAngleYaw = approach_s16_symmetric(o->oMoveAngleYaw, o->oSnowmansBottomUnkF8, 0x400); + o->oMoveAngleYaw = approach_s16_symmetric(o->oMoveAngleYaw, o->oSnowmansBottomTargetYaw, 0x400); if (is_point_close_to_object(o, -4230.0f, -1344.0f, 1813.0f, 300)) { spawn_mist_particles_variable(0, 0, 70.0f); o->oMoveAngleYaw = atan2s(1813.0f - o->oPosZ, -4230.0f - o->oPosX); @@ -127,13 +127,13 @@ void bhv_snowmans_bottom_loop(void) { case 1: snowmans_bottom_act_1(); - adjust_rolling_face_pitch(o->oSnowmansBottomUnkF4); + adjust_rolling_face_pitch(o->oSnowmansBottomRollingFacePitch); cur_obj_play_sound_1(SOUND_ENV_UNKNOWN2); break; case 2: snowmans_bottom_act_2(); - adjust_rolling_face_pitch(o->oSnowmansBottomUnkF4); + adjust_rolling_face_pitch(o->oSnowmansBottomRollingFacePitch); cur_obj_play_sound_1(SOUND_ENV_UNKNOWN2); break; @@ -148,8 +148,8 @@ void bhv_snowmans_bottom_loop(void) { set_rolling_sphere_hitbox(); set_object_visibility(o, 8000); - cur_obj_scale(o->oSnowmansBottomUnkF4); - o->oGraphYOffset = o->oSnowmansBottomUnkF4 * 180.0f; + cur_obj_scale(o->oSnowmansBottomRollingFacePitch); + o->oGraphYOffset = o->oSnowmansBottomRollingFacePitch * 180.0f; } void bhv_snowmans_head_init(void) { @@ -217,7 +217,7 @@ void bhv_snowmans_head_loop(void) { void bhv_snowmans_body_checkpoint_loop(void) { if (is_point_within_radius_of_mario(o->oPosX, o->oPosY, o->oPosZ, 800)) { - o->parentObj->oSnowmansBottomUnk1AC++; + o->parentObj->oSnowmansBottomHitCheckpointNearMario++; o->activeFlags = ACTIVE_FLAG_DEACTIVATED; } diff --git a/src/game/behaviors/sound_spawner.inc.c b/src/game/behaviors/sound_spawner.inc.c index e5e2943d..b753af07 100644 --- a/src/game/behaviors/sound_spawner.inc.c +++ b/src/game/behaviors/sound_spawner.inc.c @@ -1,5 +1,5 @@ // sound_spawner.c.inc void bhv_sound_spawner_init(void) { - play_sound(o->oSoundEffectUnkF4, o->header.gfx.cameraToObject); + play_sound(o->oSoundEffectBits, o->header.gfx.cameraToObject); } diff --git a/src/game/behaviors/spawn_star.inc.c b/src/game/behaviors/spawn_star.inc.c index 859f6b25..5c7509b9 100644 --- a/src/game/behaviors/spawn_star.inc.c +++ b/src/game/behaviors/spawn_star.inc.c @@ -48,7 +48,7 @@ void bhv_star_spawn_init(void) { o->oStarSpawnDisFromHome = sqrtf(sqr(o->oHomeX - o->oPosX) + sqr(o->oHomeZ - o->oPosZ)); o->oVelY = (o->oHomeY - o->oPosY) / 30.0f; o->oForwardVel = o->oStarSpawnDisFromHome / 30.0f; - o->oStarSpawnUnkFC = o->oPosY; + o->oStarSpawnVelY = o->oPosY; if (o->oBehParams2ndByte == 0 || gCurrCourseNum == COURSE_BBH) cutscene_object(CUTSCENE_STAR_SPAWN, o); else @@ -69,8 +69,8 @@ void bhv_star_spawn_loop(void) { case 1: obj_move_xyz_using_fvel_and_yaw(o); - o->oStarSpawnUnkFC += o->oVelY; - o->oPosY = o->oStarSpawnUnkFC + sins((o->oTimer * 0x8000) / 30) * 400.0f; + o->oStarSpawnVelY += o->oVelY; + o->oPosY = o->oStarSpawnVelY + sins((o->oTimer * 0x8000) / 30) * 400.0f; o->oFaceAngleYaw += 0x1000; spawn_object(o, MODEL_NONE, bhvSparkleSpawn); cur_obj_play_sound_1(SOUND_ENV_STAR); diff --git a/src/game/behaviors/spindel.inc.c b/src/game/behaviors/spindel.inc.c index 38b4a57a..6ca17abc 100644 --- a/src/game/behaviors/spindel.inc.c +++ b/src/game/behaviors/spindel.inc.c @@ -2,17 +2,17 @@ void bhv_spindel_init(void) { o->oHomeY = o->oPosY; - o->oSpindelUnkF4 = 0; - o->oSpindelUnkF8 = 0; + o->oSpindelMoveTimer = 0; + o->oSpindelMoveDirection = 0; } void bhv_spindel_loop(void) { f32 homeYOffset; s32 shake; - if (o->oSpindelUnkF4 == -1) { + if (o->oSpindelMoveTimer == -1) { if (o->oTimer == 32) { - o->oSpindelUnkF4 = 0; + o->oSpindelMoveTimer = 0; o->oTimer = 0; } else { o->oVelZ = 0.0f; @@ -21,7 +21,7 @@ void bhv_spindel_loop(void) { } } - shake = 10 - o->oSpindelUnkF4; + shake = 10 - o->oSpindelMoveTimer; if (shake < 0) shake *= -1; @@ -32,15 +32,15 @@ void bhv_spindel_loop(void) { if (o->oTimer == shake + 8) { o->oTimer = 0; - o->oSpindelUnkF4++; - if (o->oSpindelUnkF4 == 20) { - if (o->oSpindelUnkF8 == 0) { - o->oSpindelUnkF8 = 1; + o->oSpindelMoveTimer++; + if (o->oSpindelMoveTimer == 20) { + if (o->oSpindelMoveDirection == 0) { + o->oSpindelMoveDirection = 1; } else { - o->oSpindelUnkF8 = 0; + o->oSpindelMoveDirection = 0; } - o->oSpindelUnkF4 = -1; + o->oSpindelMoveTimer = -1; } } @@ -52,7 +52,7 @@ void bhv_spindel_loop(void) { shake = 1; if (o->oTimer < shake * 8) { - if (o->oSpindelUnkF8 == 0) { + if (o->oSpindelMoveDirection == 0) { o->oVelZ = 20 / shake; o->oAngleVelPitch = 1024 / shake; } else { diff --git a/src/game/behaviors/sushi.inc.c b/src/game/behaviors/sushi.inc.c index 912096e5..6accfefc 100644 --- a/src/game/behaviors/sushi.inc.c +++ b/src/game/behaviors/sushi.inc.c @@ -5,11 +5,11 @@ void bhv_sushi_shark_collision_loop(void) { void bhv_sushi_shark_loop(void) { f32 waterLevel = find_water_level(o->oPosX, o->oPosZ); - o->oPosX = o->oHomeX + sins(o->oSushiSharkUnkF4) * 1700.0f; - o->oPosZ = o->oHomeZ + coss(o->oSushiSharkUnkF4) * 1700.0f; - o->oPosY = waterLevel + o->oHomeY + sins(o->oSushiSharkUnkF4) * 200.0f; - o->oMoveAngleYaw = o->oSushiSharkUnkF4 + 0x4000; - o->oSushiSharkUnkF4 += 0x80; + o->oPosX = o->oHomeX + sins(o->oSushiSharkAngleFromHome) * 1700.0f; + o->oPosZ = o->oHomeZ + coss(o->oSushiSharkAngleFromHome) * 1700.0f; + o->oPosY = waterLevel + o->oHomeY + sins(o->oSushiSharkAngleFromHome) * 200.0f; + o->oMoveAngleYaw = o->oSushiSharkAngleFromHome + 0x4000; + o->oSushiSharkAngleFromHome += 0x80; if (gMarioObject->oPosY - waterLevel > -500.0f) if (o->oPosY - waterLevel > -200.0f) spawn_object_with_scale(o, MODEL_WAVE_TRAIL, bhvObjectWaveTrail, 4.0f); diff --git a/src/game/behaviors/switch_hidden_objects.inc.c b/src/game/behaviors/switch_hidden_objects.inc.c index 09875866..0bf7cd6d 100644 --- a/src/game/behaviors/switch_hidden_objects.inc.c +++ b/src/game/behaviors/switch_hidden_objects.inc.c @@ -13,7 +13,7 @@ struct ObjectHitbox sBreakableBoxHitbox = { }; void breakable_box_init(void) { - o->oHiddenObjectUnkF4 = NULL; + o->oHiddenObjectSwitchObj = NULL; o->oAnimState = 1; switch (o->oBehParams2ndByte) { case 0: @@ -40,9 +40,9 @@ void hidden_breakable_box_actions(void) { cur_obj_become_intangible(); if (o->oTimer == 0) breakable_box_init(); - if (o->oHiddenObjectUnkF4 == NULL) - o->oHiddenObjectUnkF4 = cur_obj_nearest_object_with_behavior(bhvFloorSwitchHiddenObjects); - if ((sp1C = o->oHiddenObjectUnkF4) != NULL) + if (o->oHiddenObjectSwitchObj == NULL) + o->oHiddenObjectSwitchObj = cur_obj_nearest_object_with_behavior(bhvFloorSwitchHiddenObjects); + if ((sp1C = o->oHiddenObjectSwitchObj) != NULL) if (sp1C->oAction == 2) { o->oAction++; cur_obj_enable_rendering(); @@ -63,7 +63,7 @@ void hidden_breakable_box_actions(void) { cur_obj_become_intangible(); cur_obj_disable_rendering(); o->oInteractStatus = 0; - if ((sp1C = o->oHiddenObjectUnkF4) != NULL) + if ((sp1C = o->oHiddenObjectSwitchObj) != NULL) if (sp1C->oAction == 0) o->oAction = 0; } @@ -75,9 +75,9 @@ void hidden_unbreakable_box_actions(void) { if (o->oAction == 0) { cur_obj_disable_rendering(); cur_obj_become_intangible(); - if (o->oHiddenObjectUnkF4 == NULL) - o->oHiddenObjectUnkF4 = cur_obj_nearest_object_with_behavior(bhvFloorSwitchHiddenObjects); - if ((sp1C = o->oHiddenObjectUnkF4) != NULL) + if (o->oHiddenObjectSwitchObj == NULL) + o->oHiddenObjectSwitchObj = cur_obj_nearest_object_with_behavior(bhvFloorSwitchHiddenObjects); + if ((sp1C = o->oHiddenObjectSwitchObj) != NULL) if (sp1C->oAction == 2) { o->oAction++; cur_obj_enable_rendering(); diff --git a/src/game/behaviors/tower_platform.inc.c b/src/game/behaviors/tower_platform.inc.c index 5a973dff..2bf4ce34 100644 --- a/src/game/behaviors/tower_platform.inc.c +++ b/src/game/behaviors/tower_platform.inc.c @@ -35,17 +35,17 @@ void bhv_wf_elevator_tower_platform_loop(void) { } void bhv_wf_sliding_tower_platform_loop(void) { - s32 moveTimer = o->oPlatformUnk110 / o->oPlatformUnk10C; + s32 moveTimer = o->oPlatformWFTowerMoveDistance / o->oPlatformWFTowerForwardVel; switch (o->oAction) { case 0: if (o->oTimer > moveTimer) o->oAction++; - o->oForwardVel = -o->oPlatformUnk10C; + o->oForwardVel = -o->oPlatformWFTowerForwardVel; break; case 1: if (o->oTimer > moveTimer) o->oAction = 0; - o->oForwardVel = o->oPlatformUnk10C; + o->oForwardVel = o->oPlatformWFTowerForwardVel; break; } cur_obj_compute_vel_xz(); @@ -58,24 +58,24 @@ void bhv_wf_sliding_tower_platform_loop(void) { void spawn_and_init_wf_platforms(s16 a, const BehaviorScript *bhv) { s16 yaw; struct Object *platform = spawn_object(o, a, bhv); - yaw = o->oPlatformSpawnerUnkF4 * o->oPlatformSpawnerUnkFC + o->oPlatformSpawnerUnkF8; + yaw = o->oPlatformSpawnerWFTowerPlatformNum * o->oPlatformSpawnerWFTowerDYaw + o->oPlatformSpawnerWFTowerYawOffset; platform->oMoveAngleYaw = yaw; - platform->oPosX += o->oPlatformSpawnerUnk100 * sins(yaw); - platform->oPosY += 100 * o->oPlatformSpawnerUnkF4; - platform->oPosZ += o->oPlatformSpawnerUnk100 * coss(yaw); - platform->oPlatformUnk110 = o->oPlatformSpawnerUnk104; - platform->oPlatformUnk10C = o->oPlatformSpawnerUnk108; - o->oPlatformSpawnerUnkF4++; + platform->oPosX += o->oPlatformSpawnerWFTowerRadius * sins(yaw); + platform->oPosY += 100 * o->oPlatformSpawnerWFTowerPlatformNum; + platform->oPosZ += o->oPlatformSpawnerWFTowerRadius * coss(yaw); + platform->oPlatformWFTowerMoveDistance = o->oPlatformSpawnerWFTowerMoveDistance; + platform->oPlatformWFTowerForwardVel = o->oPlatformSpawnerWFTowerForwardVel; + o->oPlatformSpawnerWFTowerPlatformNum++; } void spawn_wf_platform_group(void) { UNUSED s32 unused = 8; - o->oPlatformSpawnerUnkF4 = 0; - o->oPlatformSpawnerUnkF8 = 0; - o->oPlatformSpawnerUnkFC = 0x2000; - o->oPlatformSpawnerUnk100 = 704.0f; - o->oPlatformSpawnerUnk104 = 380.0f; - o->oPlatformSpawnerUnk108 = 3.0f; + o->oPlatformSpawnerWFTowerPlatformNum = 0; + o->oPlatformSpawnerWFTowerYawOffset = 0; + o->oPlatformSpawnerWFTowerDYaw = 0x2000; + o->oPlatformSpawnerWFTowerRadius = 704.0f; + o->oPlatformSpawnerWFTowerMoveDistance = 380.0f; + o->oPlatformSpawnerWFTowerForwardVel = 3.0f; spawn_and_init_wf_platforms(MODEL_WF_TOWER_SQUARE_PLATORM, bhvWfSolidTowerPlatform); spawn_and_init_wf_platforms(MODEL_WF_TOWER_SQUARE_PLATORM, bhvWfSlidingTowerPlatform); spawn_and_init_wf_platforms(MODEL_WF_TOWER_SQUARE_PLATORM, bhvWfSolidTowerPlatform); diff --git a/src/game/behaviors/tox_box.inc.c b/src/game/behaviors/tox_box.inc.c index 1055c1e7..a731d4fb 100644 --- a/src/game/behaviors/tox_box.inc.c +++ b/src/game/behaviors/tox_box.inc.c @@ -14,10 +14,10 @@ void tox_box_shake_screen(void) { } } -void tox_box_move(f32 forwardVel, f32 a1, s16 deltaPitch, s16 deltaRoll) { +void tox_box_move(f32 forwardVel, f32 leftVel, s16 deltaPitch, s16 deltaRoll) { o->oPosY = 99.41124 * sins((f32)(o->oTimer + 1) / 8 * 0x8000) + o->oHomeY + 3.0f; o->oForwardVel = forwardVel; - o->oUpVel = a1; + o->oLeftVel = leftVel; o->oFaceAnglePitch += deltaPitch; if ((s16) o->oFaceAnglePitch < 0) deltaRoll = -deltaRoll; diff --git a/src/game/behaviors/treasure_chest.inc.c b/src/game/behaviors/treasure_chest.inc.c index 1851b778..afb7a05e 100644 --- a/src/game/behaviors/treasure_chest.inc.c +++ b/src/game/behaviors/treasure_chest.inc.c @@ -26,7 +26,7 @@ void bhv_treasure_chest_top_loop(void) { case 1: if (o->oTimer == 0) { - if (parent->oTreasureChestUnkFC == 0) { + if (parent->oTreasureChestAboveWater == 0) { spawn_object_relative(0, 0, -80, 120, o, MODEL_BUBBLE, bhvWaterAirBubble); play_sound(SOUND_GENERAL_CLAM_SHELL1, o->header.gfx.cameraToObject); } else { @@ -67,14 +67,14 @@ void bhv_treasure_chest_bottom_loop(void) { case 0: if (obj_check_if_facing_toward_angle(o->oMoveAngleYaw, gMarioObject->header.gfx.angle[1] + 0x8000, 0x3000)) { if (is_point_within_radius_of_mario(o->oPosX, o->oPosY, o->oPosZ, 150)) { - if (!o->parentObj->oTreasureChestUnkF8) { - if (o->parentObj->oTreasureChestUnkF4 == o->oBehParams2ndByte) { + if (!o->parentObj->oTreasureChestDoCloseChests) { + if (o->parentObj->oTreasureChestNumOpenedChests == o->oBehParams2ndByte) { play_sound(SOUND_GENERAL2_RIGHT_ANSWER, gGlobalSoundSource); - o->parentObj->oTreasureChestUnkF4++; + o->parentObj->oTreasureChestNumOpenedChests++; o->oAction = 1; } else { - o->parentObj->oTreasureChestUnkF4 = 1; - o->parentObj->oTreasureChestUnkF8 = 1; + o->parentObj->oTreasureChestNumOpenedChests = 1; + o->parentObj->oTreasureChestDoCloseChests = 1; o->oAction = 2; cur_obj_become_tangible(); play_sound(SOUND_MENU_CAMERA_BUZZ, gGlobalSoundSource); @@ -85,14 +85,14 @@ void bhv_treasure_chest_bottom_loop(void) { break; case 1: - if (o->parentObj->oTreasureChestUnkF8 == 1) + if (o->parentObj->oTreasureChestDoCloseChests == 1) o->oAction = 0; break; case 2: cur_obj_become_intangible(); if (!is_point_within_radius_of_mario(o->oPosX, o->oPosY, o->oPosZ, 500)) { - o->parentObj->oTreasureChestUnkF8 = 0; + o->parentObj->oTreasureChestDoCloseChests = 0; o->oAction = 0; } } @@ -113,14 +113,14 @@ void bhv_treasure_chest_ship_init(void) { spawn_treasure_chest(2, 650, -350, -940, -0x6001); spawn_treasure_chest(3, -550, -350, -770, 0x5FFF); spawn_treasure_chest(4, 100, -350, -1700, 0); - o->oTreasureChestUnkF4 = 1; - o->oTreasureChestUnkFC = 0; + o->oTreasureChestNumOpenedChests = 1; + o->oTreasureChestAboveWater = 0; } void bhv_treasure_chest_ship_loop(void) { switch (o->oAction) { case 0: - if (o->oTreasureChestUnkF4 == 5) { + if (o->oTreasureChestNumOpenedChests == 5) { play_puzzle_jingle(); fade_volume_scale(0, 127, 1000); o->oAction = 1; @@ -149,14 +149,14 @@ void bhv_treasure_chest_jrb_init(void) { spawn_treasure_chest(2, -1150, -2812, -1550, 0x7FFF); spawn_treasure_chest(3, -2400, -2812, -1800, 0x7FFF); spawn_treasure_chest(4, -1800, -2812, -2100, 0x7FFF); - o->oTreasureChestUnkF4 = 1; - o->oTreasureChestUnkFC = 1; + o->oTreasureChestNumOpenedChests = 1; + o->oTreasureChestAboveWater = 1; } void bhv_treasure_chest_jrb_loop(void) { switch (o->oAction) { case 0: - if (o->oTreasureChestUnkF4 == 5) { + if (o->oTreasureChestNumOpenedChests == 5) { play_puzzle_jingle(); o->oAction = 1; } @@ -181,14 +181,14 @@ void bhv_treasure_chest_init(void) { spawn_treasure_chest(3, -4500, -5119, -1100, 9102); spawn_treasure_chest(4, -2400, -4607, 125, 16019); - o->oTreasureChestUnkF4 = 1; - o->oTreasureChestUnkFC = 0; + o->oTreasureChestNumOpenedChests = 1; + o->oTreasureChestAboveWater = 0; } void bhv_treasure_chest_loop(void) { switch (o->oAction) { case 0: - if (o->oTreasureChestUnkF4 == 5) { + if (o->oTreasureChestNumOpenedChests == 5) { play_puzzle_jingle(); o->oAction = 1; } diff --git a/src/game/behaviors/tree_particles.inc.c b/src/game/behaviors/tree_particles.inc.c index 2ae44920..34c2e02c 100644 --- a/src/game/behaviors/tree_particles.inc.c +++ b/src/game/behaviors/tree_particles.inc.c @@ -6,8 +6,8 @@ void bhv_tree_snow_or_leaf_loop(void) { if (o->oTimer == 0) { o->oAngleVelPitch = (random_float() - 0.5) * 0x1000; o->oAngleVelRoll = (random_float() - 0.5) * 0x1000; - o->oTreeSnowOrLeafUnkF8 = 4; - o->oTreeSnowOrLeafUnkFC = random_float() * 0x400 + 0x600; + o->oTreeSnowOrLeafSidewardVel = 4; + o->oTreeSnowOrLeafSidewardAngleVel = random_float() * 0x400 + 0x600; } if (o->oPosY < o->oFloorHeight) obj_mark_for_deletion(o); @@ -26,9 +26,9 @@ void bhv_tree_snow_or_leaf_loop(void) { o->oForwardVel -= 0.3; else o->oForwardVel = 0; - o->oPosX += sins(o->oMoveAngleYaw) * sins(o->oTreeSnowOrLeafUnkF4) * o->oTreeSnowOrLeafUnkF8; - o->oPosZ += coss(o->oMoveAngleYaw) * sins(o->oTreeSnowOrLeafUnkF4) * o->oTreeSnowOrLeafUnkF8; - o->oTreeSnowOrLeafUnkF4 += o->oTreeSnowOrLeafUnkFC; + o->oPosX += sins(o->oMoveAngleYaw) * sins(o->oTreeSnowOrLeafSidewardAngle) * o->oTreeSnowOrLeafSidewardVel; + o->oPosZ += coss(o->oMoveAngleYaw) * sins(o->oTreeSnowOrLeafSidewardAngle) * o->oTreeSnowOrLeafSidewardVel; + o->oTreeSnowOrLeafSidewardAngle += o->oTreeSnowOrLeafSidewardAngleVel; o->oPosY += o->oVelY; } diff --git a/src/game/behaviors/tumbling_bridge.inc.c b/src/game/behaviors/tumbling_bridge.inc.c index cd5bdf91..86f3915c 100644 --- a/src/game/behaviors/tumbling_bridge.inc.c +++ b/src/game/behaviors/tumbling_bridge.inc.c @@ -17,7 +17,7 @@ void bhv_tumbling_bridge_platform_loop(void) { case 0: if (gMarioObject->platform == o) { o->oAction++; - o->oTumblingBridgeUnkF4 = random_sign() * 0x80; + o->oTumblingBridgeRollAccel = random_sign() * 0x80; } break; case 1: @@ -31,7 +31,7 @@ void bhv_tumbling_bridge_platform_loop(void) { if (o->oAngleVelPitch < 0x400) o->oAngleVelPitch += 0x80; if (o->oAngleVelRoll > -0x400 && o->oAngleVelRoll < 0x400) - o->oAngleVelRoll += o->oTumblingBridgeUnkF4; // acceleration? + o->oAngleVelRoll += o->oTumblingBridgeRollAccel; // acceleration? o->oGravity = -3.0f; cur_obj_rotate_face_angle_using_vel(); cur_obj_move_using_fvel_and_gravity(); diff --git a/src/game/behaviors/tuxie.inc.c b/src/game/behaviors/tuxie.inc.c index a2434251..30515a9a 100644 --- a/src/game/behaviors/tuxie.inc.c +++ b/src/game/behaviors/tuxie.inc.c @@ -34,7 +34,7 @@ void tuxies_mother_act_2(void) { } if (smallPenguinObj != NULL && dist < 300.0f && smallPenguinObj->oHeldState != HELD_FREE) { o->oAction = 1; - smallPenguinObj->oSmallPenguinUnk88 = 1; + smallPenguinObj->oSmallPenguinReturnedToMother = 1; o->prevObj = smallPenguinObj; } } @@ -105,7 +105,7 @@ void tuxies_mother_act_0(void) { nearBaby = TRUE; if (smallPenguinObj != NULL && dist < 300.0f && smallPenguinObj->oHeldState != HELD_FREE) { o->oAction = 1; - smallPenguinObj->oSmallPenguinUnk88 = 1; + smallPenguinObj->oSmallPenguinReturnedToMother = 1; o->prevObj = smallPenguinObj; } else { switch (o->oSubAction) { @@ -143,7 +143,7 @@ void bhv_tuxies_mother_loop(void) { void small_penguin_dive_with_mario(void) { if (mario_is_dive_sliding()) { - o->oSmallPenguinUnk100 = o->oAction; + o->oSmallPenguinStoredAction = o->oAction; o->oAction = 3; } } @@ -154,9 +154,9 @@ void small_penguin_act_2(void) { if (cur_obj_dist_to_nearest_object_with_behavior(bhvTuxiesMother) < 1000.0f) nearMother = TRUE; cur_obj_init_animation_with_sound(0); - o->oForwardVel = o->oSmallPenguinUnk104 + 3.0f; - cur_obj_rotate_yaw_toward(o->oAngleToMario + 0x8000, o->oSmallPenguinUnk110 + 0x600); - if (o->oDistanceToMario > o->oSmallPenguinUnk108 + 500.0f) + o->oForwardVel = o->oSmallPenguinNextForwardVel + 3.0f; + cur_obj_rotate_yaw_toward(o->oAngleToMario + 0x8000, o->oSmallPenguinYawIncrement + 0x600); + if (o->oDistanceToMario > o->oSmallPenguinRandomDistanceCheck + 500.0f) o->oAction = 0; small_penguin_dive_with_mario(); if (nearMother) @@ -165,9 +165,9 @@ void small_penguin_act_2(void) { void small_penguin_act_1(void) { cur_obj_init_animation_with_sound(0); - o->oForwardVel = o->oSmallPenguinUnk104 + 3.0f; - cur_obj_rotate_yaw_toward(o->oAngleToMario, o->oSmallPenguinUnk110 + 0x600); - if (o->oDistanceToMario < o->oSmallPenguinUnk108 + 300.0f) + o->oForwardVel = o->oSmallPenguinNextForwardVel + 3.0f; + cur_obj_rotate_yaw_toward(o->oAngleToMario, o->oSmallPenguinYawIncrement + 0x600); + if (o->oDistanceToMario < o->oSmallPenguinRandomDistanceCheck + 300.0f) o->oAction = 0; if (o->oDistanceToMario > 1100.0f) o->oAction = 0; @@ -190,7 +190,7 @@ void small_penguin_act_4(void) { o->oForwardVel = 0.0f; cur_obj_init_animation_with_sound(2); if (o->oTimer > 40) - o->oAction = o->oSmallPenguinUnk100; + o->oAction = o->oSmallPenguinStoredAction; } } @@ -198,16 +198,16 @@ void small_penguin_act_0(void) { s32 nearMother = FALSE; cur_obj_init_animation_with_sound(3); if (o->oTimer == 0) { - o->oSmallPenguinUnk110 = (s32)(random_float() * 0x400); - o->oSmallPenguinUnk108 = random_float() * 100.0f; - o->oSmallPenguinUnk104 = random_float(); + o->oSmallPenguinYawIncrement = (s32)(random_float() * 0x400); + o->oSmallPenguinRandomDistanceCheck = random_float() * 100.0f; + o->oSmallPenguinNextForwardVel = random_float(); o->oForwardVel = 0.0f; if (cur_obj_dist_to_nearest_object_with_behavior(bhvTuxiesMother) < 1000.0f) nearMother = TRUE; } - if (o->oDistanceToMario < 1000.0f && o->oSmallPenguinUnk108 + 600.0f < o->oDistanceToMario) + if (o->oDistanceToMario < 1000.0f && o->oSmallPenguinRandomDistanceCheck + 600.0f < o->oDistanceToMario) o->oAction = 1; - else if (o->oDistanceToMario < o->oSmallPenguinUnk108 + 300.0f) + else if (o->oDistanceToMario < o->oSmallPenguinRandomDistanceCheck + 300.0f) o->oAction = 2; if (nearMother) o->oAction = 5; @@ -241,9 +241,9 @@ void (*sSmallPenguinActions[])(void) = { }; void small_penguin_free_actions(void) { - if (o->oSmallPenguinUnk88 != 0) { + if (o->oSmallPenguinReturnedToMother != 0) { o->oAction = 5; - o->oSmallPenguinUnk88 = 0; + o->oSmallPenguinReturnedToMother = 0; } cur_obj_update_floor_and_walls(); cur_obj_call_action_function(sSmallPenguinActions); diff --git a/src/game/behaviors/unagi.inc.c b/src/game/behaviors/unagi.inc.c index da2e036c..e500ff12 100644 --- a/src/game/behaviors/unagi.inc.c +++ b/src/game/behaviors/unagi.inc.c @@ -25,7 +25,7 @@ void bhv_unagi_init(void) { o->oAction = 3; o->oAnimState = 1; - o->oUnagiUnk1B0 = o->oMoveAngleYaw; + o->oUnagiInitMoveYaw = o->oMoveAngleYaw; } o->oPathedPrevWaypoint = o->oPathedStartWaypoint; @@ -37,7 +37,7 @@ void unagi_act_0(void) { o->oPosX = o->oPathedStartWaypoint->pos[0]; o->oPosY = o->oPathedStartWaypoint->pos[1]; o->oPosZ = o->oPathedStartWaypoint->pos[2]; - } else if (o->oUnagiUnk1AC < 700.0f) { + } else if (o->oUnagiDistanceToMario < 700.0f) { o->oSubAction = 1; } } @@ -82,76 +82,76 @@ void unagi_act_2(void) { cur_obj_set_pos_to_home(); o->oMoveAnglePitch = o->oFaceAnglePitch = 0; - o->oMoveAngleYaw = o->oFaceAngleYaw = o->oUnagiUnk1B0; + o->oMoveAngleYaw = o->oFaceAngleYaw = o->oUnagiInitMoveYaw; o->oFaceAngleRoll = 0; - o->oForwardVel = o->oVelX = o->oVelZ = o->oUnagiUnkF8 = 0.0f; + o->oForwardVel = o->oVelX = o->oVelZ = o->oUnagiNextForwardVel = 0.0f; - o->oUnagiUnkF4 = -800.0f; + o->oUnagiDistFromHome = -800.0f; o->oAction = 3; } void unagi_act_3(void) { - if (o->oUnagiUnkF4 < 0.0f) { + if (o->oUnagiDistFromHome < 0.0f) { cur_obj_init_animation_with_sound(6); - if ((o->oUnagiUnkF4 += 10.0f) > 0.0f) { - o->oUnagiUnkF4 = 0.0f; + if ((o->oUnagiDistFromHome += 10.0f) > 0.0f) { + o->oUnagiDistFromHome = 0.0f; } } else { - if (o->oUnagiUnkF4 == 0.0f) { + if (o->oUnagiDistFromHome == 0.0f) { cur_obj_init_animation_with_sound(6); - if (o->oTimer > 60 && o->oUnagiUnk1AC < 1000.0f) { + if (o->oTimer > 60 && o->oUnagiDistanceToMario < 1000.0f) { cur_obj_play_sound_2(SOUND_OBJ_EEL_2); - o->oUnagiUnkF8 = o->oUnagiUnk110 = 30.0f; + o->oUnagiNextForwardVel = o->oUnagiTargetNextForwardVel = 30.0f; } else { - o->oUnagiUnk110 = 0.0f; + o->oUnagiTargetNextForwardVel = 0.0f; } - } else if (o->oUnagiUnk110 > 0.0f) { + } else if (o->oUnagiTargetNextForwardVel > 0.0f) { if (cur_obj_init_anim_and_check_if_end(5)) { - o->oUnagiUnk110 = 0.0f; + o->oUnagiTargetNextForwardVel = 0.0f; } - } else if (o->oUnagiUnk110 == 0.0f) { + } else if (o->oUnagiTargetNextForwardVel == 0.0f) { cur_obj_init_animation_with_sound(0); if (cur_obj_check_if_at_animation_end()) { - if (o->oUnagiUnk1AC < 1000.0f) { + if (o->oUnagiDistanceToMario < 1000.0f) { o->oAction = 4; - o->oForwardVel = o->oUnagiUnkF8; + o->oForwardVel = o->oUnagiNextForwardVel; cur_obj_init_animation_with_sound(1); } else { - o->oUnagiUnk110 = -50.0f; + o->oUnagiTargetNextForwardVel = -50.0f; cur_obj_init_animation_with_sound(4); } } } - approach_f32_ptr(&o->oUnagiUnkF8, o->oUnagiUnk110, 4.0f); + approach_f32_ptr(&o->oUnagiNextForwardVel, o->oUnagiTargetNextForwardVel, 4.0f); - if ((o->oUnagiUnkF4 += o->oUnagiUnkF8) < 0.0f) { - o->oUnagiUnkF4 = o->oUnagiUnkF8 = 0.0f; + if ((o->oUnagiDistFromHome += o->oUnagiNextForwardVel) < 0.0f) { + o->oUnagiDistFromHome = o->oUnagiNextForwardVel = 0.0f; o->oTimer = 0; } } - o->oPosX = o->oHomeX + o->oUnagiUnkF4 * sins(o->oMoveAngleYaw); - o->oPosZ = o->oHomeZ + o->oUnagiUnkF4 * coss(o->oMoveAngleYaw); + o->oPosX = o->oHomeX + o->oUnagiDistFromHome * sins(o->oMoveAngleYaw); + o->oPosZ = o->oHomeZ + o->oUnagiDistFromHome * coss(o->oMoveAngleYaw); } void bhv_unagi_loop(void) { s32 i; - if (o->oUnagiUnk1B2 == 0) { - o->oUnagiUnk1AC = 99999.0f; + if (o->oUnagiHasStar == 0) { + o->oUnagiDistanceToMario = 99999.0f; if (o->oDistanceToMario < 3000.0f) { for (i = -4; i < 4; i++) { spawn_object_relative(i, 0, 0, 0, o, MODEL_NONE, bhvUnagiSubobject); } - o->oUnagiUnk1B2 = 1; + o->oUnagiHasStar = 1; } } else if (o->oDistanceToMario > 4000.0f) { - o->oUnagiUnk1B2 = 0; + o->oUnagiHasStar = 0; } switch (o->oAction) { @@ -176,7 +176,7 @@ void bhv_unagi_loop(void) { void bhv_unagi_subobject_loop(void) { f32 offset; - if (o->parentObj->oUnagiUnk1B2 == 0) { + if (o->parentObj->oUnagiHasStar == 0) { obj_mark_for_deletion(o); } else { offset = 300.0f * o->oBehParams2ndByte; @@ -197,7 +197,7 @@ void bhv_unagi_subobject_loop(void) { } else { obj_check_attacks(&sUnagiHitbox, o->oAction); if (o->oBehParams2ndByte == 3) { - o->parentObj->oUnagiUnk1AC = o->oDistanceToMario; + o->parentObj->oUnagiDistanceToMario = o->oDistanceToMario; } } } diff --git a/src/game/behaviors/water_bomb_cannon.inc.c b/src/game/behaviors/water_bomb_cannon.inc.c index 66057fd5..a606d48d 100644 --- a/src/game/behaviors/water_bomb_cannon.inc.c +++ b/src/game/behaviors/water_bomb_cannon.inc.c @@ -10,15 +10,15 @@ void bhv_bubble_cannon_barrel_loop(void) { o->oMoveAnglePitch = o->parentObj->oMoveAnglePitch + 0x4000; o->oFaceAnglePitch = o->parentObj->oMoveAnglePitch; - if ((o->oCannonBarrelBubblesUnkF4 += o->oForwardVel) > 0.0f) { + if ((o->oCannonBarrelBubblesForwardVelCheck += o->oForwardVel) > 0.0f) { cur_obj_set_pos_via_transform(); obj_forward_vel_approach(-5.0f, 18.0f); } else { - o->oCannonBarrelBubblesUnkF4 = 0.0f; + o->oCannonBarrelBubblesForwardVelCheck = 0.0f; obj_copy_pos(o, o->parentObj); // check this - if (o->parentObj->oWaterCannonUnkF4 != 0) { + if (o->parentObj->oWaterCannonIdleTimer != 0) { if (o->oForwardVel == 0.0f) { o->oForwardVel = 35.0f; @@ -43,7 +43,7 @@ void water_bomb_cannon_act_0(void) { cur_obj_unhide(); o->oAction = 1; - o->oMoveAnglePitch = o->oWaterCannonUnkFC = 0x1C00; + o->oMoveAnglePitch = o->oWaterCannonTargetMovePitch = 0x1C00; } } @@ -51,21 +51,21 @@ void water_bomb_cannon_act_1(void) { if (o->oDistanceToMario > 2500.0f) { o->oAction = 2; } else if (o->oBehParams2ndByte == 0) { - if (o->oWaterCannonUnkF4 != 0) { - o->oWaterCannonUnkF4 -= 1; + if (o->oWaterCannonIdleTimer != 0) { + o->oWaterCannonIdleTimer -= 1; } else { - obj_move_pitch_approach(o->oWaterCannonUnkFC, 0x80); - obj_face_yaw_approach(o->oWaterCannonUnk100, 0x100); + obj_move_pitch_approach(o->oWaterCannonTargetMovePitch, 0x80); + obj_face_yaw_approach(o->oWaterCannonTargetFaceYaw, 0x100); - if ((s16) o->oFaceAngleYaw == (s16) o->oWaterCannonUnk100) { - if (o->oWaterCannonUnkF8 != 0) { - o->oWaterCannonUnkF8 -= 1; + if ((s16) o->oFaceAngleYaw == (s16) o->oWaterCannonTargetFaceYaw) { + if (o->oWaterCannonRotationTimer != 0) { + o->oWaterCannonRotationTimer -= 1; } else { cur_obj_play_sound_2(SOUND_OBJ_CANNON4); - o->oWaterCannonUnkF4 = 70; - o->oWaterCannonUnkFC = 0x1000 + 0x400 * (random_u16() & 0x3); - o->oWaterCannonUnk100 = -0x2000 + o->oMoveAngleYaw + 0x1000 * (random_u16() % 5); - o->oWaterCannonUnkF8 = 60; + o->oWaterCannonIdleTimer = 70; + o->oWaterCannonTargetMovePitch = 0x1000 + 0x400 * (random_u16() & 0x3); + o->oWaterCannonTargetFaceYaw = -0x2000 + o->oMoveAngleYaw + 0x1000 * (random_u16() % 5); + o->oWaterCannonRotationTimer = 60; } } } diff --git a/src/game/behaviors/water_objs.inc.c b/src/game/behaviors/water_objs.inc.c index df729cf4..4746cb84 100644 --- a/src/game/behaviors/water_objs.inc.c +++ b/src/game/behaviors/water_objs.inc.c @@ -9,9 +9,9 @@ void bhv_water_air_bubble_init(void) { void bhv_water_air_bubble_loop(void) { s32 i; - o->header.gfx.scale[0] = sins(o->oWaterObjUnkF4) * 0.5 + 4.0; - o->header.gfx.scale[1] = -sins(o->oWaterObjUnkF4) * 0.5 + 4.0; - o->oWaterObjUnkF4 += 0x400; + o->header.gfx.scale[0] = sins(o->oWaterObjScaleXAngle) * 0.5 + 4.0; + o->header.gfx.scale[1] = -sins(o->oWaterObjScaleXAngle) * 0.5 + 4.0; + o->oWaterObjScaleXAngle += 0x400; if (o->oTimer < 30) { cur_obj_become_intangible(); o->oPosY += 3.0f; @@ -35,8 +35,8 @@ void bhv_water_air_bubble_loop(void) { } void bhv_bubble_wave_init(void) { - o->oWaterObjUnkFC = 0x800 + (s32)(random_float() * 2048.0f); - o->oWaterObjUnk100 = 0x800 + (s32)(random_float() * 2048.0f); + o->oWaterObjScaleXAngleVel = 0x800 + (s32)(random_float() * 2048.0f); + o->oWaterObjScaleYAngleVel = 0x800 + (s32)(random_float() * 2048.0f); cur_obj_play_sound_2(SOUND_GENERAL_QUIET_BUBBLE); } @@ -48,18 +48,18 @@ void bhv_bubble_maybe_loop(void) { o->oPosY += random_float() * 3.0f + 6.0f; o->oPosX += random_float() * 10.0f - 5.0f; o->oPosZ += random_float() * 10.0f - 5.0f; - o->header.gfx.scale[0] = sins(o->oWaterObjUnkF4) * 0.2 + 1.0; - o->oWaterObjUnkF4 += o->oWaterObjUnkFC; - o->header.gfx.scale[1] = sins(o->oWaterObjUnkF8) * 0.2 + 1.0; - o->oWaterObjUnkF8 += o->oWaterObjUnk100; + o->header.gfx.scale[0] = sins(o->oWaterObjScaleXAngle) * 0.2 + 1.0; + o->oWaterObjScaleXAngle += o->oWaterObjScaleXAngleVel; + o->header.gfx.scale[1] = sins(o->oWaterObjScaleYAngle) * 0.2 + 1.0; + o->oWaterObjScaleYAngle += o->oWaterObjScaleYAngleVel; } void bhv_small_water_wave_loop(void) { f32 waterLevel = find_water_level(o->oPosX, o->oPosZ); - o->header.gfx.scale[0] = sins(o->oWaterObjUnkF4) * 0.2 + 1.0; - o->oWaterObjUnkF4 += o->oWaterObjUnkFC; - o->header.gfx.scale[1] = sins(o->oWaterObjUnkF8) * 0.2 + 1.0; - o->oWaterObjUnkF8 += o->oWaterObjUnk100; + o->header.gfx.scale[0] = sins(o->oWaterObjScaleXAngle) * 0.2 + 1.0; + o->oWaterObjScaleXAngle += o->oWaterObjScaleXAngleVel; + o->header.gfx.scale[1] = sins(o->oWaterObjScaleYAngle) * 0.2 + 1.0; + o->oWaterObjScaleYAngle += o->oWaterObjScaleYAngleVel; if (o->oPosY > waterLevel) { o->activeFlags = ACTIVE_FLAG_DEACTIVATED; o->oPosY += 5.0f; @@ -71,16 +71,16 @@ void bhv_small_water_wave_loop(void) { } void scale_bubble_sin(void) { - o->header.gfx.scale[0] = sins(o->oWaterObjUnkF4) * 0.5 + 2.0; - o->oWaterObjUnkF4 += o->oWaterObjUnkFC; - o->header.gfx.scale[1] = sins(o->oWaterObjUnkF8) * 0.5 + 2.0; - o->oWaterObjUnkF8 += o->oWaterObjUnk100; + o->header.gfx.scale[0] = sins(o->oWaterObjScaleXAngle) * 0.5 + 2.0; + o->oWaterObjScaleXAngle += o->oWaterObjScaleXAngleVel; + o->header.gfx.scale[1] = sins(o->oWaterObjScaleYAngle) * 0.5 + 2.0; + o->oWaterObjScaleYAngle += o->oWaterObjScaleYAngleVel; } void bhv_particle_init(void) { obj_scale_xyz(o, 2.0f, 2.0f, 1.0f); - o->oWaterObjUnkFC = 0x800 + (s32)(random_float() * 2048.0f); - o->oWaterObjUnk100 = 0x800 + (s32)(random_float() * 2048.0f); + o->oWaterObjScaleXAngleVel = 0x800 + (s32)(random_float() * 2048.0f); + o->oWaterObjScaleYAngleVel = 0x800 + (s32)(random_float() * 2048.0f); obj_translate_xyz_random(o, 100.0f); } diff --git a/src/game/behaviors/wdw_water_level.inc.c b/src/game/behaviors/wdw_water_level.inc.c index 54469211..40de162b 100644 --- a/src/game/behaviors/wdw_water_level.inc.c +++ b/src/game/behaviors/wdw_water_level.inc.c @@ -8,8 +8,8 @@ void bhv_init_changing_water_level_loop(void) { } else if (gCurrentObject->oTimer < 10) *gEnvironmentLevels = gEnvironmentRegions[6]; else { - gEnvironmentRegions[6] = *gEnvironmentLevels + sins(o->oWaterLevelTriggerUnkF4) * 20.0f; - gCurrentObject->oWaterLevelTriggerUnkF4 += 0x200; + gEnvironmentRegions[6] = *gEnvironmentLevels + sins(o->oWaterLevelTriggerAmbientWaves) * 20.0f; + gCurrentObject->oWaterLevelTriggerAmbientWaves += 0x200; } } diff --git a/src/game/behaviors/white_puff_explode.inc.c b/src/game/behaviors/white_puff_explode.inc.c index 0e48c782..9ff322ff 100644 --- a/src/game/behaviors/white_puff_explode.inc.c +++ b/src/game/behaviors/white_puff_explode.inc.c @@ -4,17 +4,17 @@ void bhv_white_puff_exploding_loop(void) { f32 scale; if (o->oTimer == 0) { cur_obj_compute_vel_xz(); - o->oWhitePuffUnkF4 = o->header.gfx.scale[0]; + o->oWhitePuffScaleX = o->header.gfx.scale[0]; switch (o->oBehParams2ndByte) { case 2: o->oOpacity = 254; - o->oWhitePuffUnkF8 = -21; - o->oWhitePuffUnkFC = 0; + o->oWhitePuffOpacityDiff = -21; + o->oWhitePuffSlowFade = 0; break; case 3: o->oOpacity = 254; - o->oWhitePuffUnkF8 = -13; - o->oWhitePuffUnkFC = 1; + o->oWhitePuffOpacityDiff = -13; + o->oWhitePuffSlowFade = 1; break; } } @@ -25,13 +25,13 @@ void bhv_white_puff_exploding_loop(void) { if (o->oTimer > 20) obj_mark_for_deletion(o); if (o->oOpacity) { - o->oOpacity += o->oWhitePuffUnkF8; + o->oOpacity += o->oWhitePuffOpacityDiff; if (o->oOpacity < 2) obj_mark_for_deletion(o); - if (o->oWhitePuffUnkFC) - scale = o->oWhitePuffUnkF4 * ((254 - o->oOpacity) / 254.0); + if (o->oWhitePuffSlowFade) + scale = o->oWhitePuffScaleX * ((254 - o->oOpacity) / 254.0); else - scale = o->oWhitePuffUnkF4 * (o->oOpacity / 254.0); + scale = o->oWhitePuffScaleX * (o->oOpacity / 254.0); cur_obj_scale(scale); } } diff --git a/src/game/mario.c b/src/game/mario.c index f427db40..3a48d898 100644 --- a/src/game/mario.c +++ b/src/game/mario.c @@ -1871,7 +1871,7 @@ void init_mario(void) { capObject->oPosY = capPos[1]; capObject->oPosZ = capPos[2]; - capObject->oForwardVelS32 = 0; + capObject->oForwardVel = 0; capObject->oMoveAngleYaw = 0; } diff --git a/src/game/object_helpers.c b/src/game/object_helpers.c index 4bc808b9..37aa9c4c 100644 --- a/src/game/object_helpers.c +++ b/src/game/object_helpers.c @@ -1611,7 +1611,7 @@ static void obj_spawn_loot_coins(struct Object *obj, s32 numCoins, f32 baseYVel, coin = spawn_object(obj, model, coinBehavior); obj_translate_xz_random(coin, posJitter); coin->oPosY = spawnHeight; - coin->oCoinUnk110 = baseYVel; + coin->oCoinBaseYVel = baseYVel; } } @@ -1905,8 +1905,8 @@ void obj_translate_local(struct Object *obj, s16 posIndex, s16 localTranslateInd } void obj_build_transform_from_pos_and_angle(struct Object *obj, s16 posIndex, s16 angleIndex) { - f32 translate[3]; - s16 rotation[3]; + Vec3f translate; + Vec3s rotation; translate[0] = obj->rawData.asF32[posIndex + 0]; translate[1] = obj->rawData.asF32[posIndex + 1]; @@ -1945,9 +1945,7 @@ void obj_build_transform_relative_to_parent(struct Object *obj) { obj->header.gfx.throwMatrix = &obj->transform; - //! Sets scale of gCurrentObject instead of obj. Not exploitable since this - // function is only called with obj = gCurrentObject - cur_obj_scale(1.0f); + obj_scale(obj, 1.0f); } void obj_create_transform_from_self(struct Object *obj) { @@ -2062,9 +2060,9 @@ static void obj_build_vel_from_transform(struct Object *obj) { f32 forward = obj->oForwardVel; //! Typo, up and left should be swapped - obj->oVelX = obj->transform[0][0] * up + obj->transform[1][0] * left + obj->transform[2][0] * forward; - obj->oVelY = obj->transform[0][1] * up + obj->transform[1][1] * left + obj->transform[2][1] * forward; - obj->oVelZ = obj->transform[0][2] * up + obj->transform[1][2] * left + obj->transform[2][2] * forward; + obj->oVelX = obj->transform[0][0] * left + obj->transform[1][0] * up + obj->transform[2][0] * forward; + obj->oVelY = obj->transform[0][1] * left + obj->transform[1][1] * up + obj->transform[2][1] * forward; + obj->oVelZ = obj->transform[0][2] * left + obj->transform[1][2] * up + obj->transform[2][2] * forward; } void cur_obj_set_pos_via_transform(void) { @@ -2837,7 +2835,7 @@ void cur_obj_init_animation_and_extend_if_at_end(s32 animIndex) { s32 cur_obj_check_grabbed_mario(void) { if (o->oInteractStatus & INT_STATUS_GRABBED_MARIO) { - o->oKingBobombUnk88 = 1; + o->oKingBobombHoldingMarioState = 1; cur_obj_become_intangible(); return TRUE; } diff --git a/src/game/spawn_sound.c b/src/game/spawn_sound.c index 18168b59..6e2ce273 100644 --- a/src/game/spawn_sound.c +++ b/src/game/spawn_sound.c @@ -51,7 +51,7 @@ void exec_anim_sound_state(struct SoundState *soundStates) { void create_sound_spawner(s32 soundMagic) { struct Object *obj = spawn_object(gCurrentObject, 0, bhvSoundSpawner); - obj->oSoundEffectUnkF4 = soundMagic; + obj->oSoundEffectBits = soundMagic; } /*