Name object fields

This commit is contained in:
Arceveti
2021-09-21 13:38:29 -07:00
parent d766e5448d
commit 39586c6cde
68 changed files with 1649 additions and 1548 deletions

View File

@@ -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),

File diff suppressed because it is too large Load Diff

View File

@@ -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);
}

View File

@@ -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;
}

View File

@@ -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);

View File

@@ -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);

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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();
}

View File

@@ -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);

View File

@@ -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;
}
}

View File

@@ -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();

View File

@@ -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);
}
}

View File

@@ -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);
}
}

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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;
}

View File

@@ -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) {

View File

@@ -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;
}

View File

@@ -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;
}
}

Some files were not shown because too many files have changed in this diff Show More