summaryrefslogtreecommitdiff
path: root/src/engine
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/fox_360.c6
-rw-r--r--src/engine/fox_bg.c2
-rw-r--r--src/engine/fox_context.c4
-rw-r--r--src/engine/fox_demo.c28
-rw-r--r--src/engine/fox_display.c34
-rw-r--r--src/engine/fox_edisplay.c4
-rw-r--r--src/engine/fox_effect.c14
-rw-r--r--src/engine/fox_enmy.c3
-rw-r--r--src/engine/fox_enmy2.c10
-rw-r--r--src/engine/fox_game.c4
-rw-r--r--src/engine/fox_hud.c20
-rw-r--r--src/engine/fox_play.c598
-rw-r--r--src/engine/fox_tank.c114
-rw-r--r--src/engine/fox_versus.c846
14 files changed, 825 insertions, 862 deletions
diff --git a/src/engine/fox_360.c b/src/engine/fox_360.c
index 04935130..dfa2b95c 100644
--- a/src/engine/fox_360.c
+++ b/src/engine/fox_360.c
@@ -95,7 +95,7 @@ bool AllRange_PlayMessage(u16* msg, RadioCharacterId rcid) {
}
void AllRange_DrawCountdown(void) {
- if (gShowAllRangeCountdown != 0) {
+ if (gShowAllRangeCountdown) {
s32 seconds = gAllRangeCountdown[1];
HUD_DrawCountdown(gAllRangeCountdown, gAllRangeCountdownScale);
@@ -144,7 +144,7 @@ void AllRange_GreatFoxRepair(Player* player) {
gCsFrameCount++;
switch (player->csState) {
case 0:
- player->hitTimer = player->timer_498 = player->damage = player->barrelRollAlpha = player->boostMeter =
+ player->hitTimer = player->mercyTimer = player->damage = player->barrelRollAlpha = player->boostMeter =
player->boostCooldown = player->somersault = gCsFrameCount = 0;
player->zRotBarrelRoll = player->camRoll = player->boostSpeed = player->camDist = player->knockback.x =
player->knockback.y = player->knockback.z = player->damageShake = player->aerobaticPitch = 0.0f;
@@ -1476,7 +1476,7 @@ void ActorAllRange_Update(Actor* this) {
ActorAllRange_PlayMessage(gMsg_ID_9369, RCID_WOLF);
}
break;
- } else if ((this->iwork[4] > 200) && (gPlayer[0].timer_224 != 0)) {
+ } else if ((this->iwork[4] > 200) && (gPlayer[0].dmgEffectTimer != 0)) {
this->iwork[4] = 100;
break;
}
diff --git a/src/engine/fox_bg.c b/src/engine/fox_bg.c
index 0fd101f0..9979ac97 100644
--- a/src/engine/fox_bg.c
+++ b/src/engine/fox_bg.c
@@ -22,7 +22,7 @@
#include "assets/ast_zoness.h"
#include "prevent_bss_reordering2.h"
-#include "prevent_bss_reordering3.h"
+// #include "prevent_bss_reordering3.h"
f32 gWarpZoneBgAlpha;
u8 D_bg_8015F964; // related to water surfaces
diff --git a/src/engine/fox_context.c b/src/engine/fox_context.c
index 3384f5e3..afd62d62 100644
--- a/src/engine/fox_context.c
+++ b/src/engine/fox_context.c
@@ -6,8 +6,8 @@
s32 gSceneId;
s32 gSceneSetup;
-s32 D_ctx_80177824; // some sort of flag
-s32 D_ctx_8017782C; // some sort of flag. all range related?
+s32 gClearPlayerInfo; // some sort of flag
+s32 D_ctx_8017782C; // some sort of flag. all range related?
GameState gGameState;
s32 gNextGameStateTimer;
s32 gVsItemSpawnTimer;
diff --git a/src/engine/fox_demo.c b/src/engine/fox_demo.c
index 7b01c79f..67daab35 100644
--- a/src/engine/fox_demo.c
+++ b/src/engine/fox_demo.c
@@ -465,7 +465,7 @@ void Cutscene_EnterWarpZone(Player* player) {
if (player->camDist < -15000.0f) {
player->camDist = 0.0f;
player->warpCamSpeed = 0.0f;
- player->unk_234 = 0;
+ player->draw = false;
}
}
var_v0 = 1;
@@ -518,7 +518,7 @@ void Cutscene_EnterWarpZone(Player* player) {
player->meteoWarpTimer = gSavedHitCount = gObjectLoadIndex = gSavedObjectLoadIndex = 0;
- player->unk_234 = 1;
+ player->draw = true;
gLevelPhase = 1;
gCamDistortion = 0.15f;
AUDIO_PLAY_SFX(NA_SE_WARP_OUT, gDefaultSfxSource, 0);
@@ -798,7 +798,7 @@ void Cutscene_AllRangeMode(Player* player) {
Math_SmoothStepToF(&D_ctx_80177A48[2], -70.0f, 0.1f, 0.7f, 0.0f);
if (D_ctx_80177A48[1] > 220.0f) {
- player->unk_204 = 2;
+ player->wingPosition = 2;
}
if ((gCsFrameCount > 135) && (gCsFrameCount < 180)) {
@@ -1225,7 +1225,7 @@ void Cutscene_CoComplete2(Player* player) {
gCsCamAtX += D_ctx_80177A48[7];
gCsCamAtY += D_ctx_80177A48[8];
gCsCamAtZ += D_ctx_80177A48[9];
- player->unk_234 = 0;
+ player->draw = false;
if (player->csTimer == 0) {
player->state_1C8 = PLAYERSTATE_1C8_NEXT;
player->csTimer = 0;
@@ -1556,7 +1556,7 @@ void Cutscene_KillPlayer(Player* player) {
Player_PlaySfx(player->sfxSource, NA_SE_ARWING_EXPLOSION, player->num);
player->state_1C8 = PLAYERSTATE_1C8_NEXT;
player->csTimer = 70;
- player->timer_224 = 20;
+ player->dmgEffectTimer = 20;
gFadeoutType = 7;
if (player->grounded) {
@@ -1615,7 +1615,7 @@ void Cutscene_KillPlayer(Player* player) {
}
}
-void func_demo_8004D738(Player* player) {
+void Cutscene_LandmasterDown(Player* player) {
player->pos.y += 30.0f;
func_effect_8007D0E0(player->pos.x, player->pos.y, player->trueZpos, 6.0f);
if (gCamCount == 1) {
@@ -1627,7 +1627,7 @@ void func_demo_8004D738(Player* player) {
Cutscene_KillPlayer(player);
}
-void func_demo_8004D828(Player* player) {
+void Cutscene_ArwingDown360(Player* player) {
s32 i;
Vec3f src;
Vec3f dest;
@@ -1737,12 +1737,12 @@ void func_demo_8004D828(Player* player) {
player->cam.at.y = player->pos.y;
}
- if (gVersusMode != 0) {
+ if (gVersusMode) {
Player_CheckBounds360(player);
}
}
-void func_demo_8004DEF8(Player* player) {
+void Cutscene_ArwingDownOnRails(Player* player) {
s32 i;
if (player->rot.x < 0.0f) {
@@ -1841,9 +1841,9 @@ void Cutscene_PlayerDown(Player* player) {
switch (player->form) {
case FORM_ARWING:
if (gLevelMode == LEVELMODE_ALL_RANGE) {
- func_demo_8004D828(player);
+ Cutscene_ArwingDown360(player);
} else {
- func_demo_8004DEF8(player);
+ Cutscene_ArwingDownOnRails(player);
Player_UpdatePath(player);
}
Player_CollisionCheck(player);
@@ -1851,15 +1851,15 @@ void Cutscene_PlayerDown(Player* player) {
break;
case FORM_LANDMASTER:
- func_demo_8004D738(player);
+ Cutscene_LandmasterDown(player);
break;
case FORM_BLUE_MARINE:
- Aquas_801AB9B0(player);
+ Aquas_BlueMarineDown(player);
break;
case FORM_ON_FOOT:
- func_demo_8004D738(player);
+ Cutscene_LandmasterDown(player);
break;
}
}
diff --git a/src/engine/fox_display.c b/src/engine/fox_display.c
index db098152..935754de 100644
--- a/src/engine/fox_display.c
+++ b/src/engine/fox_display.c
@@ -18,7 +18,7 @@ f32 D_display_801615B8[4];
s32 D_display_800CA220 = 0;
u8 sPlayersVisible[] = { 0, 0, 0, 0 }; //
s32 sDrawCockpit = 0; //
-s32 D_display_800CA22C = 0; //
+s32 D_display_800CA22C = false; //
f32 gCamDistortion = 0.0f;
Actor* gTeamHelpActor = NULL;
s32 gTeamHelpTimer = 0;
@@ -417,7 +417,7 @@ void func_display_8005314C(void) {
bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot, void* wingData) {
WingInfo* wings = (WingInfo*) wingData;
- if ((D_display_800CA22C != 0) && (gPlayer[0].unk_200 == 0)) {
+ if (D_display_800CA22C && (gPlayer[0].dmgEffect == 0)) {
RCP_SetupDL(&gMasterDisp, SETUPDL_29);
func_display_8005314C();
}
@@ -429,7 +429,7 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->rightState == WINGSTATE_BROKEN) {
*gfxPtr = D_arwing_3015120;
}
- if ((D_display_800CA22C != 0) && ((gRightWingFlashTimer[0] % 2) != 0)) {
+ if (D_display_800CA22C && ((gRightWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, SETUPDL_34);
func_display_8005314C();
if (gRightWingFlashTimer[0] > 1000) {
@@ -444,7 +444,7 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->rightState != 2) {
*gfxPtr = NULL;
}
- if ((D_display_800CA22C != 0) && ((gRightWingFlashTimer[0] % 2) != 0)) {
+ if (D_display_800CA22C && ((gRightWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, SETUPDL_34);
func_display_8005314C();
if (gRightWingFlashTimer[0] > 1000) {
@@ -461,7 +461,7 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->leftState == WINGSTATE_BROKEN) {
*gfxPtr = D_arwing_3014BF0;
}
- if ((D_display_800CA22C != 0) && ((gLeftWingFlashTimer[0] % 2) != 0)) {
+ if (D_display_800CA22C && ((gLeftWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, SETUPDL_34);
func_display_8005314C();
if (gLeftWingFlashTimer[0] > 1000) {
@@ -476,7 +476,7 @@ bool func_display_800531A4(s32 limbIndex, Gfx** gfxPtr, Vec3f* pos, Vec3f* rot,
if (wings->leftState != 2) {
*gfxPtr = NULL;
}
- if ((D_display_800CA22C != 0) && ((gLeftWingFlashTimer[0] % 2) != 0)) {
+ if (D_display_800CA22C && ((gLeftWingFlashTimer[0] % 2) != 0)) {
RCP_SetupDL(&gMasterDisp, SETUPDL_34);
func_display_8005314C();
if (gLeftWingFlashTimer[0] > 1000) {
@@ -538,7 +538,7 @@ void func_display_80053658(WingInfo* wings) {
}
Animation_DrawSkeleton(1, D_arwing_3016610, sp68, func_display_800531A4, NULL, wings, &gIdentityMatrix);
}
- D_display_800CA22C = 0;
+ D_display_800CA22C = false;
modelId = wings->modelId;
if (D_display_800CA220 != 0) {
modelId = 1;
@@ -644,7 +644,7 @@ void func_display_80053C38(Player* player, s32 arg1) {
player->wings.unk_28 = player->wings.unk_04 = player->wings.unk_08 = player->wings.unk_0C =
player->wings.unk_10 = 0.0f;
}
- D_display_800CA22C = 1;
+ D_display_800CA22C = true;
gReflectY = arg1;
func_display_80053658(&player->wings);
}
@@ -656,7 +656,7 @@ void func_display_80053F7C(Player* player) {
s32 i;
if ((gPlayerNum == player->num) && ((player->form == FORM_ARWING) || (player->form == FORM_LANDMASTER)) &&
- (player->unk_234 != 0) &&
+ player->draw &&
(((gGameState == GSTATE_PLAY) && (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE)) ||
(gGameState == GSTATE_MENU))) {
for (i = 0; i < 2; i++) {
@@ -1044,7 +1044,7 @@ void func_display_80055B58(Player* player) {
f32 var_fv0;
s32 pad[3];
- if ((player->unk_234 != 0) && (player->state_1C8 != PLAYERSTATE_1C8_DOWN)) {
+ if (player->draw && (player->state_1C8 != PLAYERSTATE_1C8_DOWN)) {
switch (player->form) {
case FORM_ARWING:
Matrix_RotateY(gCalcMatrix, (player->yRot_114 + player->rot.y + player->damageShake + 180.0f) * M_DTOR,
@@ -1104,7 +1104,7 @@ void func_display_80055E98(Player* player) {
sp5C = 70.0f;
sp58 = -18.0f;
- if (player->unk_204 == 2) {
+ if (player->wingPosition == 2) {
sp5C = 108.0f;
sp58 = -22.0f;
}
@@ -1155,7 +1155,7 @@ void func_display_80055E98(Player* player) {
}
void func_display_80056230(Player* player) {
- if ((player->unk_234 != 0) && (player->form == FORM_ARWING) && (gCurrentLevel != LEVEL_VENOM_ANDROSS) &&
+ if (player->draw && (player->form == FORM_ARWING) && (gCurrentLevel != LEVEL_VENOM_ANDROSS) &&
(gCurrentLevel != LEVEL_TRAINING) && (gLevelType == LEVELTYPE_PLANET)) {
Matrix_Push(&gGfxMatrix);
Matrix_Translate(gGfxMatrix, player->pos.x, player->pos.y, player->trueZpos + player->zPath, MTXF_APPLY);
@@ -1197,7 +1197,7 @@ void func_display_800564C0(Player* player, s32 arg1) {
s32 i;
Vec3f sp50 = { 0.0f, 0.0f, 0.0f };
- if (player->unk_234 != 0) {
+ if (player->draw) {
Matrix_Push(&gGfxMatrix);
if (player->form == FORM_LANDMASTER) {
if (player->grounded) {
@@ -1281,7 +1281,7 @@ void func_display_800564C0(Player* player, s32 arg1) {
Matrix_Translate(gGfxMatrix, player->xShake, player->yBob, 0.0f, MTXF_APPLY);
Matrix_SetGfxMtx(&gMasterDisp);
}
- switch (player->unk_200) {
+ switch (player->dmgEffect) {
case 0:
if (!gVersusMode) {
if ((gCurrentLevel == LEVEL_FORTUNA) || (gCurrentLevel == LEVEL_TITANIA)) {
@@ -1330,7 +1330,7 @@ void func_display_80056E2C(Player* player) {
f32 sp30;
f32 sp2C;
- if ((player->unk_234 != 0) && (player->unk_240 == 0)) {
+ if (player->draw && !player->hideShadow) {
sp34 = D_display_800CA334[gGameFrameCount % 8U];
sp30 = D_display_800CA334[(gGameFrameCount + 4) % 8U];
if (player->grounded) {
@@ -1350,8 +1350,8 @@ void func_display_80056E2C(Player* player) {
player->groundPos.z + player->zPath, MTXF_APPLY);
}
Matrix_RotateY(gGfxMatrix, player->groundRotY, MTXF_APPLY);
- Matrix_RotateX(gGfxMatrix, player->unk_248, MTXF_APPLY);
- Matrix_RotateZ(gGfxMatrix, player->unk_24C, MTXF_APPLY);
+ Matrix_RotateX(gGfxMatrix, player->shadowRotX, MTXF_APPLY);
+ Matrix_RotateZ(gGfxMatrix, player->shadowRotZ, MTXF_APPLY);
Matrix_Scale(gGfxMatrix, 0.8f + sp34, 0.0f, 0.8f + sp30, MTXF_APPLY);
if ((player->form == FORM_ARWING) || (player->form == FORM_BLUE_MARINE) || (player->form == FORM_ON_FOOT)) {
sp2C = player->bankAngle + player->rockAngle + player->damageShake;
diff --git a/src/engine/fox_edisplay.c b/src/engine/fox_edisplay.c
index 5a5e4c85..92d72551 100644
--- a/src/engine/fox_edisplay.c
+++ b/src/engine/fox_edisplay.c
@@ -512,7 +512,7 @@ void func_edisplay_8005B388(Actor* actor) {
Vec3f sp30;
Matrix_MultVec3f(gGfxMatrix, &sp3C, &sp30);
- if ((((fabsf(sp30.z) < 3000.0f) && (fabsf(sp30.x) < 3000.0f) && (gBossActive == 0)) ||
+ if ((((fabsf(sp30.z) < 3000.0f) && (fabsf(sp30.x) < 3000.0f) && !gBossActive) ||
(gPlayer[0].state_1C8 == PLAYERSTATE_1C8_STANDBY) || (gCurrentLevel == LEVEL_VENOM_ANDROSS) ||
(gCurrentLevel == LEVEL_VENOM_2) || (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_LEVEL_COMPLETE)) &&
(gCurrentLevel != LEVEL_MACBETH) && (gCurrentLevel != LEVEL_TITANIA)) {
@@ -548,7 +548,7 @@ void func_edisplay_8005B388(Actor* actor) {
func_display_80053658(&D_edisplay_80161630);
} else if (gLevelType == LEVELTYPE_PLANET) {
gSPDisplayList(gMasterDisp++, D_ENMY_PLANET_40018A0);
- } else if (gPlayer[0].unk_204 == 2) {
+ } else if (gPlayer[0].wingPosition == 2) {
gSPDisplayList(gMasterDisp++, D_ENMY_SPACE_4003BD0);
} else {
gSPDisplayList(gMasterDisp++, D_ENMY_SPACE_4007870);
diff --git a/src/engine/fox_effect.c b/src/engine/fox_effect.c
index ac5711fd..e0098b77 100644
--- a/src/engine/fox_effect.c
+++ b/src/engine/fox_effect.c
@@ -982,7 +982,7 @@ void func_effect_8007A748(Effect* effect) {
bool func_effect_8007A774(Player* player, Effect* effect, f32 arg2) {
if ((fabsf(player->trueZpos - effect->obj.pos.z) < arg2) && (fabsf(player->pos.x - effect->obj.pos.x) < arg2) &&
- (fabsf(player->pos.y - effect->obj.pos.y) < arg2) && (player->timer_498 == 0)) {
+ (fabsf(player->pos.y - effect->obj.pos.y) < arg2) && (player->mercyTimer == 0)) {
Player_ApplyDamage(player, 0, effect->info.damage);
return true;
} else {
@@ -2212,7 +2212,7 @@ void func_effect_8007DB70(Effect* effect) {
(fabsf(gPlayer[0].pos.x - effect->obj.pos.x) < 80.0f)) {
if ((effect->obj.pos.y < gPlayer[0].pos.y) &&
((gPlayer[0].pos.y - effect->obj.pos.y) < (effect->scale2 * 35.0f)) &&
- (gPlayer[0].timer_498 == 0)) {
+ (gPlayer[0].mercyTimer == 0)) {
Player_ApplyDamage(gPlayer, 0, effect->info.damage);
}
}
@@ -2869,11 +2869,11 @@ void func_effect_8007FE88(Effect* effect) {
effect->vel.x = destVelocity.x;
effect->vel.y = destVelocity.y;
effect->vel.z = destVelocity.z;
- gPlayer[0].unk_2C4++;
+ gPlayer[0].deflectCount++;
AUDIO_PLAY_SFX(NA_SE_ROLLING_REFLECT, effect->sfxSource, 0);
}
- if ((gPlayer[0].barrelRollAlpha == 0) && (gPlayer[0].timer_498 == 0)) {
+ if ((gPlayer[0].barrelRollAlpha == 0) && (gPlayer[0].mercyTimer == 0)) {
Player_ApplyDamage(gPlayer, 0, effect->info.damage);
gPlayer[0].knockback.x = 20.0f;
if (effect->vel.x < 0.0f) {
@@ -3002,11 +3002,11 @@ void func_effect_8008040C(Effect* effect) {
effect->vel.x = destVelocity.x;
effect->vel.y = destVelocity.y;
effect->vel.z = destVelocity.z;
- gPlayer[0].unk_2C4++;
+ gPlayer[0].deflectCount++;
AUDIO_PLAY_SFX(NA_SE_ROLLING_REFLECT, effect->sfxSource, 0);
}
- if ((gPlayer[0].barrelRollAlpha == 0) && (gPlayer[0].timer_498 == 0)) {
+ if ((gPlayer[0].barrelRollAlpha == 0) && (gPlayer[0].mercyTimer == 0)) {
Player_ApplyDamage(gPlayer, 0, effect->info.damage);
gPlayer[0].knockback.x = 20.0f;
if (effect->vel.x < 0.0f) {
@@ -3813,7 +3813,7 @@ void func_effect_80081C5C(Effect* effect) {
if ((((effect->timer_50 == 0) &&
(fabsf(gPlayer[0].pos.x - (effect->obj.pos.x + velocityDest.x)) <= (effect->unk_60.x * 50.0f))) &&
(fabsf(gPlayer[0].pos.y - (effect->obj.pos.y + velocityDest.y)) <= (effect->unk_60.y * 50.0f))) &&
- (gPlayer[0].timer_498 == 0)) {
+ (gPlayer[0].mercyTimer == 0)) {
Player_ApplyDamage(gPlayer, 0, 40);
}
break;
diff --git a/src/engine/fox_enmy.c b/src/engine/fox_enmy.c
index 7d918bbb..6dccb46b 100644
--- a/src/engine/fox_enmy.c
+++ b/src/engine/fox_enmy.c
@@ -1651,8 +1651,7 @@ void Actor_Despawn(Actor* actor) {
s32 i;
if (gVersusMode) {
- if ((actor->dmgSource >= 1) && (actor->dmgSource < 4 + 1) &&
- !((D_versus_80178768[0] == 0) && (D_versus_80178768[1] == 0) && (D_versus_80178768[2] == 0))) {
+ if ((actor->dmgSource >= 1) && (actor->dmgSource < 4 + 1) && !VS_TIME_UP(gVsCountdown)) {
gPlayerScores[actor->dmgSource - 1] += actor->info.bonus;
}
} else if (!((actor->obj.id == OBJ_ACTOR_ALLRANGE) && (actor->animFrame == 1))) {
diff --git a/src/engine/fox_enmy2.c b/src/engine/fox_enmy2.c
index 9be372f4..2ad954ad 100644
--- a/src/engine/fox_enmy2.c
+++ b/src/engine/fox_enmy2.c
@@ -1165,7 +1165,7 @@ void ActorEvent_ProcessScript(ActorEvent* this) {
}
}
- if ((this->eventType == EVID_2) || (this->eventType == EVID_TEAMMATE)) {
+ if ((this->eventType == EVID_SLIPPY_METEO) || (this->eventType == EVID_TEAMMATE)) {
this->drawShadow = true;
this->iwork[11] = 1;
}
@@ -2152,7 +2152,7 @@ void ActorEvent_800701E0(ActorEvent* this) {
if (gLevelType == LEVELTYPE_PLANET) {
this->timer_04C = RAND_INT(2.9f);
- if (this->eventType == EVID_2) {
+ if (this->eventType == EVID_SLIPPY_METEO) {
this->timer_04C = 1;
if (this->obj.pos.x < this->hitPos.x) {
Play_SpawnDebris(1, this->obj.pos.x + 20.0f, this->obj.pos.y, this->obj.pos.z);
@@ -3043,7 +3043,7 @@ void ActorEvent_Update(ActorEvent* this) {
return;
}
if (this->eventType == EVID_300) {
- gPlayer[0].unk_1A4 = this->index;
+ gPlayer[0].dmgType = this->index;
this->timer_0C2 = 100;
} else if (this->eventType >= EVID_200) {
this->counter_04E++;
@@ -3920,7 +3920,7 @@ void ActorEvent_Draw(ActorEvent* this) {
Actor_DrawEngineAndContrails(this);
break;
- case EVID_2:
+ case EVID_SLIPPY_METEO:
this->fwork[15] -= this->fwork[15] * 0.1f;
this->fwork[26] -= this->fwork[26] * 0.1f;
this->fwork[16] -= this->fwork[16] * 0.1f;
@@ -4309,7 +4309,7 @@ void func_enmy2_800763A4(Actor* actor) {
func_effect_8007A6F0(&actor->obj.pos, NA_SE_EN_EXPLOSION_S);
}
- if ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_2)) {
+ if ((actor->obj.id == OBJ_ACTOR_EVENT) && (actor->eventType == EVID_SLIPPY_METEO)) {
if (actor->fwork[17] < 360.0f) {
Play_SpawnDebris(1, actor->obj.pos.x + 20.0f, actor->obj.pos.y, actor->obj.pos.z);
actor->fwork[17] = 777.0f;
diff --git a/src/engine/fox_game.c b/src/engine/fox_game.c
index a676865a..a695fa6c 100644
--- a/src/engine/fox_game.c
+++ b/src/engine/fox_game.c
@@ -405,7 +405,7 @@ void Game_Update(void) {
case GSTATE_INIT:
gGameState = GSTATE_TITLE;
gTitleState = 1;
- D_ctx_80177824 = 1;
+ gClearPlayerInfo = true;
Memory_FreeAll();
Play_ClearObjectData();
gCamCount = 1;
@@ -552,7 +552,7 @@ void Game_Update(void) {
}
} else {
for (i = 0; i < gCamCount; i++) {
- if (gPlayer[i].timer_224 != 0) {
+ if (gPlayer[i].dmgEffectTimer != 0) {
Graphics_FillRectangle(&gMasterDisp, sVsCameraULx[i], sVsCameraULy[i], sVsCameraLRx[i],
sVsCameraLRy[i], gFillScreenRed, gFillScreenGreen, gFillScreenBlue,
diff --git a/src/engine/fox_hud.c b/src/engine/fox_hud.c
index 3f1d24fd..b6c2cde7 100644
--- a/src/engine/fox_hud.c
+++ b/src/engine/fox_hud.c
@@ -1410,7 +1410,7 @@ void func_hud_80088970(void) {
}
if (D_80161810[0] >= 2) {
- gPauseEnabled = 0;
+ gPauseEnabled = false;
}
player = &gPlayer[gPlayerNum];
@@ -2066,7 +2066,7 @@ s32 func_hud_8008A4DC(void) {
y = 162.000f;
x1 += D_800D1E10 * temp3;
} else {
- if ((gVsMatchStart == 0) || (D_versus_80178750 != 0)) {
+ if (!gVsMatchStart || (D_versus_80178750 != 0)) {
return 0;
}
temp2 = 13000.00f;
@@ -2460,7 +2460,7 @@ s32 func_hud_8008B774(void) {
(gCurrentLevel == LEVEL_SECTOR_Y))) {
for (i = 0; i < ARRAY_COUNT(gActors); i++) {
if ((gActors[i].obj.status == OBJ_ACTIVE) && (gActors[i].iwork[12] == temp)) {
- if ((gActors[i].eventType == EVID_2) || (gActors[i].eventType == EVID_TEAMMATE) ||
+ if ((gActors[i].eventType == EVID_SLIPPY_METEO) || (gActors[i].eventType == EVID_TEAMMATE) ||
((gActors[i].obj.id == OBJ_ACTOR_TEAM_BOSS) &&
((gActors[i].aiType == AI360_FALCO) || (gActors[i].aiType == AI360_SLIPPY) ||
(gActors[i].aiType == AI360_PEPPY)))) {
@@ -2814,7 +2814,7 @@ void func_hud_8008CBE4(void) {
s32 i;
s32 j;
- if (gVsMatchType != 0) {
+ if (gVsMatchType != VS_MATCH_POINTS) {
return;
}
@@ -2829,7 +2829,7 @@ void func_hud_8008CBE4(void) {
break;
case 1:
- if (gVsMatchStart == 0) {
+ if (!gVsMatchStart) {
D_80161758 = 0;
break;
}
@@ -3030,7 +3030,7 @@ void func_hud_8008D984(void) {
}
void func_hud_8008DC34(void) {
- if ((gVsMatchStart != 0) && (D_versus_80178750 == 0)) {
+ if (gVsMatchStart && (D_versus_80178750 == 0)) {
func_hud_8008D250();
func_hud_8008D7F4();
func_hud_8008D4F0(0, 0);
@@ -4916,7 +4916,7 @@ void HUD_AquasStart(Player* player) {
gCsFrameCount = 0;
gDrawBackdrop = 1;
gAqDrawMode = 1;
- player->unk_234 = 0;
+ player->draw = false;
player->csState = 1;
player->unk_208 = 0;
player->baseSpeed = 0.0f;
@@ -5213,7 +5213,7 @@ void HUD_AquasStart(Player* player) {
player->rot.y = 0.0f;
player->baseSpeed = 20.0f;
- player->unk_234 = 1;
+ player->draw = true;
player->csState = 6;
player->csTimer = 1000;
@@ -5713,7 +5713,7 @@ void HUD_AquasComplete(Player* player) {
break;
case 10:
- player->unk_234 = 1;
+ player->draw = true;
gAqDrawMode = 2;
player->csState = 11;
@@ -5952,7 +5952,7 @@ void HUD_AquasComplete(Player* player) {
player->yBob = -SIN_DEG(player->bobPhase) * 0.5f;
player->rockAngle = SIN_DEG(player->rockPhase) * 1.5f;
- if (player->unk_234) {
+ if (player->draw) {
src.x = 0.0f;
src.y = 0.0f;
src.z = -70.0f;
diff --git a/src/engine/fox_play.c b/src/engine/fox_play.c
index af3dd807..bbbff3fa 100644
--- a/src/engine/fox_play.c
+++ b/src/engine/fox_play.c
@@ -220,12 +220,13 @@ void Player_DamageEffects(Player* player) {
player->pos.y + sp40 + RAND_FLOAT(10.0f),
player->trueZpos + RAND_FLOAT_CENTERED(30.0f), player->vel.x, player->vel.y,
player->vel.z, 0.04f + RAND_FLOAT(0.03f), player->num + 1);
- if (player->timer_224 == 0) {
- player->timer_224 = 2;
+ if (player->dmgEffectTimer == 0) {
+ player->dmgEffectTimer = 2;
}
}
- } else if (((gGameFrameCount & (var_v1 >> 2)) == 0) && (Rand_ZeroOne() < 0.5f) && (player->timer_224 == 0)) {
- player->timer_224 = 2;
+ } else if (((gGameFrameCount & (var_v1 >> 2)) == 0) && (Rand_ZeroOne() < 0.5f) &&
+ (player->dmgEffectTimer == 0)) {
+ player->dmgEffectTimer = 2;
}
}
}
@@ -292,7 +293,7 @@ void Play_InitVsStage(void) {
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_versus_302E0E4);
break;
case VS_STAGE_SECTOR_Z:
- if (gVsMatchType == 2) {
+ if (gVsMatchType == VS_MATCH_TIME) {
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_versus_302E378);
} else {
gLevelObjects = SEGMENTED_TO_VIRTUAL(D_versus_302E170);
@@ -819,8 +820,8 @@ void Player_ApplyDamage(Player* player, s32 direction, s32 damage) {
Vec3f sp38;
f32 sp34 = 20.0f;
- player->unk_1A4 = damage;
- player->unk_21C = direction;
+ player->dmgType = damage;
+ player->hitDirection = direction;
if ((damage == 39) || (damage == 41) || (damage == 42) || (damage == 43)) {
damage = 40;
}
@@ -834,15 +835,15 @@ void Player_ApplyDamage(Player* player, s32 direction, s32 damage) {
}
player->unk_284 = 0;
player->hitTimer = 20;
- if (player->unk_1A4 > 40) {
+ if (player->dmgType > 40) {
sp34 = (player->boostSpeed * 0.3f) + 20.0f;
- player->timer_498 = 5;
+ player->mercyTimer = 5;
} else if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && !gBossActive) {
- player->timer_498 = 3;
+ player->mercyTimer = 3;
} else if ((gCurrentLevel == LEVEL_VENOM_1) || (gCurrentLevel == LEVEL_AQUAS)) {
- player->timer_498 = 5;
+ player->mercyTimer = 5;
} else {
- player->timer_498 = 20;
+ player->mercyTimer = 20;
}
if (gHasShield[player->num]) {
Player_PlaySfx(player->sfxSource, NA_SE_DAMAGE_S, player->num);
@@ -866,9 +867,9 @@ void Player_ApplyDamage(Player* player, s32 direction, s32 damage) {
Matrix_RotateY(gCalcMatrix, player->yRot_114 * M_DTOR, MTXF_NEW);
Matrix_RotateZ(gCalcMatrix, player->bankAngle * M_DTOR, MTXF_APPLY);
sp44.z = 0.0f;
- switch (player->unk_21C) {
+ switch (player->hitDirection) {
case 0:
- player->timer_224 = 20;
+ player->dmgEffectTimer = 20;
player->knockback.x = 0.f;
player->knockback.y = 0.f;
player->knockback.z = 0.f;
@@ -896,7 +897,7 @@ void Player_ApplyDamage(Player* player, s32 direction, s32 damage) {
Player_DamageWings(player, 2, 20);
break;
case 3:
- player->timer_224 = 20;
+ player->dmgEffectTimer = 20;
Play_SpawnHitmark(player->hit4.x - player->vel.x, player->hit4.y, player->hit4.z - player->vel.z);
if (player->form != FORM_LANDMASTER) {
sp44.x = 0.0f;
@@ -913,7 +914,7 @@ void Player_ApplyDamage(Player* player, s32 direction, s32 damage) {
}
break;
case 4:
- player->timer_224 = 20;
+ player->dmgEffectTimer = 20;
Play_SpawnHitmark(player->hit3.x - player->vel.x, player->hit3.y, player->hit3.z - player->vel.z);
sp44.x = 0.0f;
sp44.y = sp34;
@@ -928,13 +929,13 @@ void Player_ApplyDamage(Player* player, s32 direction, s32 damage) {
}
break;
}
- if ((gCurrentLevel == LEVEL_VENOM_1) && (player->unk_1A4 == 42)) {
+ if ((gCurrentLevel == LEVEL_VENOM_1) && (player->dmgType == 42)) {
if (player->pos.x > 0.0f) {
player->knockback.x = -30.0f;
} else {
player->knockback.x = 30.0f;
}
- player->timer_498 = 10;
+ player->mercyTimer = 10;
}
}
@@ -943,15 +944,15 @@ f32 D_800D2FEC[5] = {
};
void Player_GroundedCollision(Player* player, u32 arg1, f32 arg2, f32 arg3) {
- player->unk_21C = arg1;
+ player->hitDirection = arg1;
switch (arg1) {
case 1:
case 2:
player->pos.x = player->basePos.x;
player->knockback.x = 0.0f;
- player->pos.x += D_800D2FEC[player->unk_21C];
+ player->pos.x += D_800D2FEC[player->hitDirection];
if (player->form == FORM_LANDMASTER) {
- player->pos.x -= D_800D2FEC[player->unk_21C];
+ player->pos.x -= D_800D2FEC[player->hitDirection];
}
Math_SmoothStepToF(&player->baseSpeed, 2.0f, 1.0f, 2.0f, 0.00001f);
break;
@@ -959,9 +960,9 @@ void Player_GroundedCollision(Player* player, u32 arg1, f32 arg2, f32 arg3) {
case 4:
player->pos.z = player->basePos.z;
player->knockback.z = 0.0f;
- player->pos.z += D_800D2FEC[player->unk_21C];
+ player->pos.z += D_800D2FEC[player->hitDirection];
if (player->form == FORM_LANDMASTER) {
- player->pos.z += D_800D2FEC[player->unk_21C];
+ player->pos.z += D_800D2FEC[player->hitDirection];
}
player->trueZpos = player->pos.z;
Math_SmoothStepToF(&player->baseSpeed, 2.0f, 1.0f, 2.0f, 0.00001f);
@@ -1487,7 +1488,7 @@ Vec3f D_800D30B8[4] = {
};
void Player_Collide(Player* playerA, Player* playerB) {
- if (playerA->timer_498 == 0) {
+ if (playerA->mercyTimer == 0) {
Player_ApplyDamage(playerA, 0, D_800D3000[playerA->form][playerB->form]);
playerA->attacker = playerB->num + 1;
playerB->attacker = playerA->num + 1;
@@ -1628,7 +1629,7 @@ void Player_CollisionCheck(Player* player) {
func_tank_800444BC(player);
}
- if ((player->timer_498 == 0) || ((gCamCount != 1) && (player->form != FORM_ARWING))) {
+ if ((player->mercyTimer == 0) || ((gCamCount != 1) && (player->form != FORM_ARWING))) {
if (gLevelMode == LEVELMODE_ALL_RANGE) {
Scenery360* scenery360;
@@ -1705,7 +1706,7 @@ void Player_CollisionCheck(Player* player) {
player->pos.y = player->basePos.y;
player->pos.z = player->basePos.z;
player->yRot_114 = scenery360->obj.rot.y + 180.0f;
- player->timer_498 = 5;
+ player->mercyTimer = 5;
}
if ((scenery360->obj.id == OBJ_SCENERY_135) ||
(scenery360->obj.id == OBJ_SCENERY_136)) {
@@ -1730,7 +1731,7 @@ void Player_CollisionCheck(Player* player) {
} else {
player->yRot_114 = scenery360->obj.rot.y;
}
- player->timer_498 = 5;
+ player->mercyTimer = 5;
}
}
}
@@ -1808,7 +1809,7 @@ void Player_CollisionCheck(Player* player) {
player->knockback.x = spBC.x;
player->knockback.y = spBC.y;
player->pos.x = player->basePos.x;
- player->timer_498 = 5;
+ player->mercyTimer = 5;
} else if (scenery->obj.id == OBJ_SCENERY_50) {
if (player->pos.x < scenery->obj.pos.x) {
player->knockback.x = -30.0f;
@@ -1819,7 +1820,7 @@ void Player_CollisionCheck(Player* player) {
}
player->knockback.y = 0.0f;
player->pos.x = player->basePos.x;
- player->timer_498 = 5;
+ player->mercyTimer = 5;
} else if (scenery->obj.id == OBJ_SCENERY_131) {
Matrix_RotateY(gCalcMatrix, (scenery->obj.rot.y + 180.0f) * M_DTOR, MTXF_NEW);
Matrix_RotateZ(gCalcMatrix, -scenery->obj.rot.z * M_DTOR, MTXF_APPLY);
@@ -1828,7 +1829,7 @@ void Player_CollisionCheck(Player* player) {
player->knockback.y = spBC.y;
player->rot.y = 0.0f;
player->rot.x = 0.0f;
- player->timer_498 = 5;
+ player->mercyTimer = 5;
player->pos.x = player->basePos.x;
player->pos.y = player->basePos.y;
}
@@ -1857,7 +1858,7 @@ void Player_CollisionCheck(Player* player) {
if ((VEC3F_MAG(&spfD4)) < 1500.0f) {
Player_ApplyDamage(player, 0, boss->info.damage);
player->boostSpeed = 0.0f;
- player->timer_498 = 5;
+ player->mercyTimer = 5;
player->knockback.y = 30.0f;
boss->dmgType = DMG_BEAM;
func_effect_8007BFFC(player->pos.x + RAND_FLOAT_CENTERED(10.0f),
@@ -2022,7 +2023,7 @@ void Player_CollisionCheck(Player* player) {
(sprite->obj.id == OBJ_SPRITE_TI_CACTUS) || (sprite->obj.id == OBJ_SPRITE_CO_TREE)) {
sprite->destroy = 1;
player->hitTimer = 6;
- player->unk_21C = 0;
+ player->hitDirection = 0;
} else {
Player_ApplyDamage(player, temp_v0, sprite->info.damage);
}
@@ -2155,73 +2156,130 @@ void Player_FloorCheck(Player* player) {
s32 pad3;
s32 pad4;
- if (player->unk_240 == 0) {
- player->groundPos.x = player->pos.x;
- player->groundPos.z = player->trueZpos - player->pos.y;
- if (gGroundType != 4) {
- if (gCamCount == 1) {
- player->groundPos.y = gGroundHeight + 3.0f;
- } else {
- player->groundPos.y = gGroundHeight;
- if (player->form == FORM_ON_FOOT) {
- player->groundPos.z = player->trueZpos;
+ if (player->hideShadow) {
+ return;
+ }
+ player->groundPos.x = player->pos.x;
+ player->groundPos.z = player->trueZpos - player->pos.y;
+ if (gGroundType != 4) {
+ if (gCamCount == 1) {
+ player->groundPos.y = gGroundHeight + 3.0f;
+ } else {
+ player->groundPos.y = gGroundHeight;
+ if (player->form == FORM_ON_FOOT) {
+ player->groundPos.z = player->trueZpos;
+ }
+ }
+ player->shadowRotX = player->shadowRotZ = player->groundRotY = 0.0f;
+ }
+ sp100 = 0.0f;
+ spFC = 0.0f;
+ spF8 = 0.0f;
+ if (gCamCount != 1) {
+ if (player->form == FORM_ON_FOOT) {
+ for (sp144 = 0; sp144 < 200; sp144++) {
+ scenery360 = &gScenery360[sp144];
+ if ((scenery360->obj.status == OBJ_ACTIVE) &&
+ ((scenery360->obj.id == OBJ_SCENERY_143) || (scenery360->obj.id == OBJ_SCENERY_140) ||
+ (scenery360->obj.id == OBJ_SCENERY_141)) &&
+ (fabsf(scenery360->obj.pos.x - player->pos.x) < 2000.0f) &&
+ (fabsf(scenery360->obj.pos.z - player->trueZpos) < 2000.0f)) {
+ spC8.x = scenery360->obj.pos.x;
+ spC8.y = scenery360->obj.pos.y;
+ spC8.z = scenery360->obj.pos.z;
+ spD4.x = player->pos.x;
+ spD4.y = gGroundHeight;
+ spD4.z = player->trueZpos;
+ colId = COL2_4;
+ if (scenery360->obj.id == OBJ_SCENERY_141) {
+ colId = COL2_6;
+ } else if (scenery360->obj.id == OBJ_SCENERY_143) {
+ colId = COL2_17;
+ }
+ if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
+ player->groundPos.y = spBC.y + 1.0f;
+ player->shadowRotX = spBC.x;
+ player->shadowRotZ = spBC.z;
+ break;
+ }
}
}
- player->unk_248 = player->unk_24C = player->groundRotY = 0.0f;
}
- sp100 = 0.0f;
- spFC = 0.0f;
- spF8 = 0.0f;
- if (gCamCount != 1) {
- if (player->form == FORM_ON_FOOT) {
- for (sp144 = 0; sp144 < 200; sp144++) {
- scenery360 = &gScenery360[sp144];
- if ((scenery360->obj.status == OBJ_ACTIVE) &&
- ((scenery360->obj.id == OBJ_SCENERY_143) || (scenery360->obj.id == OBJ_SCENERY_140) ||
- (scenery360->obj.id == OBJ_SCENERY_141)) &&
- (fabsf(scenery360->obj.pos.x - player->pos.x) < 2000.0f) &&
- (fabsf(scenery360->obj.pos.z - player->trueZpos) < 2000.0f)) {
- spC8.x = scenery360->obj.pos.x;
- spC8.y = scenery360->obj.pos.y;
- spC8.z = scenery360->obj.pos.z;
- spD4.x = player->pos.x;
- spD4.y = gGroundHeight;
- spD4.z = player->trueZpos;
- colId = COL2_4;
- if (scenery360->obj.id == OBJ_SCENERY_141) {
- colId = COL2_6;
- } else if (scenery360->obj.id == OBJ_SCENERY_143) {
- colId = COL2_17;
+ } else {
+ if ((gLevelMode == LEVELMODE_ALL_RANGE) && (gLevelType == LEVELTYPE_PLANET)) {
+ player->groundPos.x = player->pos.x;
+ player->groundPos.z = player->trueZpos;
+ for (sp144 = 0, scenery360 = gScenery360; sp144 < 200; sp144++, scenery360++) {
+ if ((scenery360->obj.status == OBJ_ACTIVE) &&
+ ((scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_149) ||
+ (scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_1) ||
+ (scenery360->obj.id == OBJ_SCENERY_3)) &&
+ (fabsf(scenery360->obj.pos.x - player->pos.x) < 2500.0f) &&
+ (fabsf(scenery360->obj.pos.z - player->trueZpos) < 2500.0f)) {
+ tempx = scenery360->obj.pos.x;
+ tempy = scenery360->obj.pos.y;
+ tempz = scenery360->obj.pos.z;
+ sp120 = scenery360->obj.rot.y;
+ Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
+ spEC.x = player->pos.x - tempx;
+ spEC.y = 0.0f;
+ spEC.z = player->trueZpos - tempz;
+ Matrix_MultVec3fNoTranslate(gCalcMatrix, &spEC, &spE0);
+ spD4.x = spE0.x + tempx;
+ spD4.y = spE0.y + tempy;
+ spD4.z = spE0.z + tempz;
+ spC8.x = tempx;
+ spC8.y = tempy;
+ spC8.z = tempz;
+
+ if ((scenery360->obj.id == OBJ_SCENERY_149) || (scenery360->obj.id == OBJ_SCENERY_150)) {
+ if (scenery360->obj.id == OBJ_SCENERY_149) {
+ colId = COL1_5;
+ } else {
+ colId = COL1_6;
+ }
+ if (func_col1_800998FC(&spD4, &spC8, &sp9C, colId, &spB0, spA8) > 0) {
+ player->groundPos.y = spB0.y;
+ player->shadowRotX = spA8[0];
+ player->shadowRotZ = spA8[1];
+ player->groundRotY = DEG_TO_RAD(sp120);
+ }
+ } else {
+ colId = COL2_0;
+ if (scenery360->obj.id == OBJ_SCENERY_3) {
+ colId = COL2_3;
}
if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
- player->groundPos.y = spBC.y + 1.0f;
- player->unk_248 = spBC.x;
- player->unk_24C = spBC.z;
- break;
+ player->groundPos.y = spBC.y;
+ player->shadowRotX = spBC.x;
+ player->shadowRotZ = spBC.z;
+ player->groundRotY = DEG_TO_RAD(sp120);
}
}
}
}
- } else {
- if ((gLevelMode == LEVELMODE_ALL_RANGE) && (gLevelType == LEVELTYPE_PLANET)) {
- player->groundPos.x = player->pos.x;
- player->groundPos.z = player->trueZpos;
- for (sp144 = 0, scenery360 = gScenery360; sp144 < 200; sp144++, scenery360++) {
- if ((scenery360->obj.status == OBJ_ACTIVE) &&
- ((scenery360->obj.id == OBJ_SCENERY_150) || (scenery360->obj.id == OBJ_SCENERY_149) ||
- (scenery360->obj.id == OBJ_SCENERY_148) || (scenery360->obj.id == OBJ_SCENERY_1) ||
- (scenery360->obj.id == OBJ_SCENERY_3)) &&
- (fabsf(scenery360->obj.pos.x - player->pos.x) < 2500.0f) &&
- (fabsf(scenery360->obj.pos.z - player->trueZpos) < 2500.0f)) {
- tempx = scenery360->obj.pos.x;
- tempy = scenery360->obj.pos.y;
- tempz = scenery360->obj.pos.z;
- sp120 = scenery360->obj.rot.y;
- Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
+ }
+ for (sp144 = 0, scenery = gScenery;
+ (sp144 < 50) && (gLevelMode == LEVELMODE_ON_RAILS) && (gCurrentLevel != LEVEL_VENOM_1);
+ sp144++, scenery++) {
+ if ((scenery->obj.status == OBJ_ACTIVE) && ((player->trueZpos - 3000.0f) < scenery->obj.pos.z) &&
+ (scenery->obj.id != OBJ_SCENERY_0) && (scenery->obj.id != OBJ_SCENERY_8)) {
+ tempx = scenery->obj.pos.x;
+ tempy = scenery->obj.pos.y;
+ tempz = scenery->obj.pos.z;
+ sp120 = scenery->obj.rot.y;
+ if ((scenery->obj.id == OBJ_SCENERY_3) || (scenery->obj.id == OBJ_SCENERY_2) ||
+ (scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_4) ||
+ (scenery->obj.id == OBJ_SCENERY_5)) {
+ Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
+ for (var_fs1 = var_fs0 = -50.0f; var_fs0 > -500.0f; var_fs0 -= 5.0f, var_fs1 -= 5.0f) {
spEC.x = player->pos.x - tempx;
- spEC.y = 0.0f;
- spEC.z = player->trueZpos - tempz;
+ spEC.y = player->pos.y + var_fs0 - tempy;
+ spEC.z = player->trueZpos + var_fs1 - tempz;
Matrix_MultVec3fNoTranslate(gCalcMatrix, &spEC, &spE0);
+ if ((player->pos.y + var_fs0) <= gGroundHeight) {
+ break;
+ }
spD4.x = spE0.x + tempx;
spD4.y = spE0.y + tempy;
spD4.z = spE0.z + tempz;
@@ -2229,129 +2287,73 @@ void Player_FloorCheck(Player* player) {
spC8.y = tempy;
spC8.z = tempz;
- if ((scenery360->obj.id == OBJ_SCENERY_149) || (scenery360->obj.id == OBJ_SCENERY_150)) {
- if (scenery360->obj.id == OBJ_SCENERY_149) {
- colId = COL1_5;
- } else {
- colId = COL1_6;
- }
- if (func_col1_800998FC(&spD4, &spC8, &sp9C, colId, &spB0, spA8) > 0) {
- player->groundPos.y = spB0.y;
- player->unk_248 = spA8[0];
- player->unk_24C = spA8[1];
- player->groundRotY = DEG_TO_RAD(sp120);
- }
- } else {
- colId = COL2_0;
- if (scenery360->obj.id == OBJ_SCENERY_3) {
- colId = COL2_3;
- }
- if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
- player->groundPos.y = spBC.y;
- player->unk_248 = spBC.x;
- player->unk_24C = spBC.z;
- player->groundRotY = DEG_TO_RAD(sp120);
- }
+ colId = COL2_0;
+
+ if (scenery->obj.id == OBJ_SCENERY_47) {
+ colId = COL2_7;
+ }
+ if (scenery->obj.id == OBJ_SCENERY_2) {
+ colId = COL2_2;
+ } else if (scenery->obj.id == OBJ_SCENERY_3) {
+ colId = COL2_3;
+ } else if ((scenery->obj.id == OBJ_SCENERY_4) || (scenery->obj.id == OBJ_SCENERY_5)) {
+ colId = COL2_1;
+ }
+ if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
+ player->groundPos.y = spBC.y;
+ player->groundPos.z = player->trueZpos + var_fs1;
+ player->shadowRotX = spBC.x;
+ player->shadowRotZ = spBC.z;
+ player->groundRotY = DEG_TO_RAD(sp120);
+ break;
}
}
- }
- }
- for (sp144 = 0, scenery = gScenery;
- (sp144 < 50) && (gLevelMode == LEVELMODE_ON_RAILS) && (gCurrentLevel != LEVEL_VENOM_1);
- sp144++, scenery++) {
- if ((scenery->obj.status == OBJ_ACTIVE) && ((player->trueZpos - 3000.0f) < scenery->obj.pos.z) &&
- (scenery->obj.id != OBJ_SCENERY_0) && (scenery->obj.id != OBJ_SCENERY_8)) {
- tempx = scenery->obj.pos.x;
- tempy = scenery->obj.pos.y;
- tempz = scenery->obj.pos.z;
- sp120 = scenery->obj.rot.y;
- if ((scenery->obj.id == OBJ_SCENERY_3) || (scenery->obj.id == OBJ_SCENERY_2) ||
- (scenery->obj.id == OBJ_SCENERY_47) || (scenery->obj.id == OBJ_SCENERY_4) ||
- (scenery->obj.id == OBJ_SCENERY_5)) {
- Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
- for (var_fs1 = var_fs0 = -50.0f; var_fs0 > -500.0f; var_fs0 -= 5.0f, var_fs1 -= 5.0f) {
- spEC.x = player->pos.x - tempx;
- spEC.y = player->pos.y + var_fs0 - tempy;
- spEC.z = player->trueZpos + var_fs1 - tempz;
- Matrix_MultVec3fNoTranslate(gCalcMatrix, &spEC, &spE0);
- if ((player->pos.y + var_fs0) <= gGroundHeight) {
+ } else {
+ hitboxData = scenery->info.hitbox;
+ count = *hitboxData;
+ if (count != 0) {
+ if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) {
+ sp120 = 0.0f;
+ }
+ hitboxData++;
+ for (i = 0; i < count; i++, hitboxData += 6) {
+ if (*hitboxData >= HITBOX_SHADOW) {
break;
}
- spD4.x = spE0.x + tempx;
- spD4.y = spE0.y + tempy;
- spD4.z = spE0.z + tempz;
- spC8.x = tempx;
- spC8.y = tempy;
- spC8.z = tempz;
- colId = COL2_0;
-
- if (scenery->obj.id == OBJ_SCENERY_47) {
- colId = COL2_7;
- }
- if (scenery->obj.id == OBJ_SCENERY_2) {
- colId = COL2_2;
- } else if (scenery->obj.id == OBJ_SCENERY_3) {
- colId = COL2_3;
- } else if ((scenery->obj.id == OBJ_SCENERY_4) || (scenery->obj.id == OBJ_SCENERY_5)) {
- colId = COL2_1;
- }
- if (func_col2_800A3690(&spD4, &spC8, colId, &spBC)) {
- player->groundPos.y = spBC.y;
- player->groundPos.z = player->trueZpos + var_fs1;
- player->unk_248 = spBC.x;
- player->unk_24C = spBC.z;
- player->groundRotY = DEG_TO_RAD(sp120);
- break;
- }
- }
- } else {
- hitboxData = scenery->info.hitbox;
- count = *hitboxData;
- if (count != 0) {
- if (scenery->info.action == (ObjectFunc) func_enmy_80066EA8) {
- sp120 = 0.0f;
+ if (*hitboxData == HITBOX_ROTATED) {
+ sp100 = hitboxData[1];
+ spFC = hitboxData[2];
+ spF8 = hitboxData[3];
+ hitboxData += 4;
+ Matrix_RotateZ(gCalcMatrix, -spF8 * M_DTOR, MTXF_NEW);
+ Matrix_RotateX(gCalcMatrix, -sp100 * M_DTOR, MTXF_APPLY);
+ Matrix_RotateY(gCalcMatrix, -spFC * M_DTOR, MTXF_APPLY);
+ Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_APPLY);
+ } else {
+ Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
}
- hitboxData++;
- for (i = 0; i < count; i++, hitboxData += 6) {
- if (*hitboxData >= HITBOX_SHADOW) {
+ hitbox = (Hitbox*) hitboxData;
+ for (var_fs0 = var_fs1 = -50.0f; var_fs0 > -500.0f; var_fs0 -= 5.0f, var_fs1 -= 5.0f) {
+ spEC.x = player->pos.x - tempx;
+ spEC.y = player->pos.y + var_fs0 - tempy;
+ spEC.z = player->trueZpos + var_fs1 - tempz;
+ Matrix_MultVec3fNoTranslate(gCalcMatrix, &spEC, &spE0);
+ tempx2 = spE0.x + tempx;
+ tempy2 = spE0.y + tempy;
+ tempz2 = spE0.z + tempz;
+ if (spEC.y + tempy <= gGroundHeight) {
break;
}
- if (*hitboxData == HITBOX_ROTATED) {
- sp100 = hitboxData[1];
- spFC = hitboxData[2];
- spF8 = hitboxData[3];
- hitboxData += 4;
- Matrix_RotateZ(gCalcMatrix, -spF8 * M_DTOR, MTXF_NEW);
- Matrix_RotateX(gCalcMatrix, -sp100 * M_DTOR, MTXF_APPLY);
- Matrix_RotateY(gCalcMatrix, -spFC * M_DTOR, MTXF_APPLY);
- Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_APPLY);
- } else {
- Matrix_RotateY(gCalcMatrix, -sp120 * M_DTOR, MTXF_NEW);
- }
- hitbox = (Hitbox*) hitboxData;
- for (var_fs0 = var_fs1 = -50.0f; var_fs0 > -500.0f; var_fs0 -= 5.0f, var_fs1 -= 5.0f) {
- spEC.x = player->pos.x - tempx;
- spEC.y = player->pos.y + var_fs0 - tempy;
- spEC.z = player->trueZpos + var_fs1 - tempz;
- Matrix_MultVec3fNoTranslate(gCalcMatrix, &spEC, &spE0);
- tempx2 = spE0.x + tempx;
- tempy2 = spE0.y + tempy;
- tempz2 = spE0.z + tempz;
- if (spEC.y + tempy <= gGroundHeight) {
- break;
- }
-
- if (Play_CheckSingleHitbox(hitbox, tempx, tempy, tempz, tempx2, tempy2, tempz2)) {
- if (gGroundHeight < player->groundPos.y) {
- player->groundPos.y = spEC.y + 15.0f + tempy;
- player->groundPos.z = spEC.z + 10.0f + tempz;
- player->unk_248 = DEG_TO_RAD(sp100);
- player->groundRotY = DEG_TO_RAD(sp120);
- }
- break;
+ if (Play_CheckSingleHitbox(hitbox, tempx, tempy, tempz, tempx2, tempy2, tempz2)) {
+ if (gGroundHeight < player->groundPos.y) {
+ player->groundPos.y = spEC.y + 15.0f + tempy;
+ player->groundPos.z = spEC.z + 10.0f + tempz;
+ player->shadowRotX = DEG_TO_RAD(sp100);
+ player->groundRotY = DEG_TO_RAD(sp120);
}
+ break;
}
}
}
@@ -2520,7 +2522,7 @@ void Player_ResetVsData(void) {
s32 i;
s32 j;
- gVsMatchState = 0;
+ gVsMatchState = VS_STATE_0;
for (i = 0; i < 4; i++) {
gVsPoints[i] = 0;
for (j = 0; j < 10; j++) {
@@ -2529,7 +2531,7 @@ void Player_ResetVsData(void) {
gLaserStrength[i] = LASERS_SINGLE;
gBombCount[i] = 0;
}
- gVsMatchStart = gVsMatchOver = 0;
+ gVsMatchStart = gVsMatchOver = false;
}
void Player_InitVersus(void) {
@@ -2559,7 +2561,7 @@ void Play_Init(void) {
} else {
gEnemyShotSpeed = 100;
}
- gPauseEnabled = 0;
+ gPauseEnabled = false;
gVIsPerFrame = 2;
D_ctx_80177C70 = 0;
gTeamHelpActor = NULL;
@@ -2591,7 +2593,7 @@ void Play_Init(void) {
if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gLevelPhase == 1)) {
gLevelMode = LEVELMODE_ALL_RANGE;
}
- gVsMatchStart = 0;
+ gVsMatchStart = false;
Play_InitEnvironment();
gDropHitCountItem = gTeamLowHealthMsgTimer = gStartAndrossFightTimer = gSoShieldsEmpty = gAllRangeEventTimer =
gAllRangeFrameCount = gBossActive = gGameFrameCount = gCameraShake = gDynaFloorTimer = gBossFrameCount =
@@ -3185,24 +3187,24 @@ void Player_ArwingBank(Player* player) {
Math_SmoothStepToF(&player->zRotBank, sp3C, sp38, 10.0f, 0.f);
if (gInputPress->button & Z_TRIG) {
player->sfx.bank = 1;
- if (player->barrelInputTimerL != 0) {
- player->barrelRoll = 1;
- player->timer_1E8 = 10;
+ if (player->rollInputTimerL != 0) {
+ player->rollState = 1;
+ player->rollTimer = 10;
player->rollRate = player->baseRollRate = 30;
player->sfx.roll = 1;
} else {
- player->barrelInputTimerL = 10;
+ player->rollInputTimerL = 10;
}
}
if (gInputPress->button & R_TRIG) {
player->sfx.bank = 1;
- if (player->barrelInputTimerR != 0) {
- player->barrelRoll = 1;
- player->timer_1E8 = 10;
+ if (player->rollInputTimerR != 0) {
+ player->rollState = 1;
+ player->rollTimer = 10;
player->rollRate = player->baseRollRate = -30;
player->sfx.roll = 1;
} else {
- player->barrelInputTimerR = 10;
+ player->rollInputTimerR = 10;
}
}
}
@@ -3211,21 +3213,21 @@ void Player_UseTankJets(Player* player) {
Math_SmoothStepToF(&player->unk_170, 0.0f, 1.0f, 0.2f, 0.0f);
Math_SmoothStepToF(&player->unk_16C, 0.0f, 1.0f, 0.2f, 0.0f);
if (gInputPress->button & Z_TRIG) {
- if ((player->barrelInputTimerL != 0) && (player->zRotBank > 0.0f) && (player->boostMeter < 10.0f)) {
- player->barrelRoll = 1;
- player->timer_1E8 = 15;
+ if ((player->rollInputTimerL != 0) && (player->zRotBank > 0.0f) && (player->boostMeter < 10.0f)) {
+ player->rollState = 1;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = 20;
} else {
- player->barrelInputTimerL = 10;
+ player->rollInputTimerL = 10;
}
}
if (gInputPress->button & R_TRIG) {
- if ((player->barrelInputTimerR != 0) && (player->zRotBank < 0.0f) && (player->boostMeter < 10.0f)) {
- player->barrelRoll = 1;
- player->timer_1E8 = 15;
+ if ((player->rollInputTimerR != 0) && (player->zRotBank < 0.0f) && (player->boostMeter < 10.0f)) {
+ player->rollState = 1;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = -20;
} else {
- player->barrelInputTimerR = 10;
+ player->rollInputTimerR = 10;
}
}
player->unk_18C = fabsf(SIN_DEG(player->zRotBank) * 25.0f);
@@ -3614,7 +3616,7 @@ void Player_MoveArwingOnRails(Player* player) {
sp84 = 0.2f;
gPlayerTurnRate *= 2.0f;
}
- if (player->barrelRoll != 0) {
+ if (player->rollState != 0) {
sp84 = 0.2f;
gPlayerTurnRate = 6.8999996f; // 690.0f * 0.01f
}
@@ -3783,7 +3785,7 @@ void Player_MoveTank360(Player* player) {
var_fa0 = 0.1f;
var_fa1 = 4.0f;
}
- if (player->barrelRoll != 0) {
+ if (player->rollState != 0) {
if ((player->rollRate > 0) && (sp5C < 0.0f)) {
var_fa0 = 0.2f;
var_fa1 = 20.0f;
@@ -3816,7 +3818,7 @@ void Player_MoveTank360(Player* player) {
if (!(player->unk_170 > 0.2f) && !(player->unk_16C > 0.2f) && player->grounded) {
Math_SmoothStepToF(&player->unk_184, 0.0f, 1.0f, 0.75f, 0.0f);
}
- if (player->barrelRoll != 0) {
+ if (player->rollState != 0) {
if (player->rollRate < 0) {
player->unk_184 = 15.0f;
}
@@ -4131,7 +4133,7 @@ void Player_Setup(Player* playerx) {
player->cam.at.z = player->cam.eye.z - 1000.0f;
D_ctx_80177950 = 1.0f;
if ((gLevelType == LEVELTYPE_SPACE) && (gCurrentLevel != LEVEL_BOLSE)) {
- player->unk_240 = 1;
+ player->hideShadow = true;
player->unk_0A8 = 3000.0f;
player->pathWidth = 700.0f;
player->pathHeight = 612.0f;
@@ -4275,19 +4277,19 @@ void Player_Setup(Player* playerx) {
Camera_Update360(player, 1);
}
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
- player->unk_204 = gLevelType;
+ player->wingPosition = gLevelType;
if ((gLevelMode == LEVELMODE_ALL_RANGE) && !gVersusMode) {
player->pos.z = 8000.0f;
player->pos.y = 670.0f;
player->pathHeight = 730.0f;
- player->unk_204 = 2;
+ player->wingPosition = 2;
if ((gCurrentLevel == LEVEL_VENOM_ANDROSS) && (gLevelPhase == 1)) {
player->pos.x = -7910.0f;
player->pos.y = 300.0f;
player->pos.z = -11808.0f;
player->yRot_114 = 188.0f;
- player->unk_240 = 1;
+ player->hideShadow = true;
}
Camera_UpdateArwing360(player, 1);
} else {
@@ -4305,12 +4307,12 @@ void Player_Setup(Player* playerx) {
switch (gCurrentLevel) {
case LEVEL_CORNERIA:
player->state_1C8 = PLAYERSTATE_1C8_LEVEL_INTRO;
- player->unk_204 = 1;
+ player->wingPosition = 1;
gGroundSurface = gSavedGroundSurface = SURFACE_WATER;
Play_dummy_MuteSfx();
break;
case LEVEL_BOLSE:
- player->unk_204 = 1;
+ player->wingPosition = 1;
D_BO_801A03DC = 6;
/* fallthrough */
case LEVEL_SECTOR_X:
@@ -4354,7 +4356,7 @@ void Player_Setup(Player* playerx) {
}
}
if (player->state_1C8 == PLAYERSTATE_1C8_LEVEL_INTRO) {
- player->unk_234 = 1;
+ player->draw = true;
switch (gCurrentLevel) {
case LEVEL_CORNERIA:
AUDIO_PLAY_BGM(NA_BGM_START_DEMO);
@@ -4398,14 +4400,14 @@ void Player_Setup(Player* playerx) {
gLevelClearScreenTimer = gBossHealthBar = D_ctx_80177850 = 0;
if ((gCurrentLevel == LEVEL_TRAINING)) {
- D_ctx_80177824 = 1;
+ gClearPlayerInfo = true;
}
- if (D_ctx_80177824 && !gVersusMode) {
+ if (gClearPlayerInfo && !gVersusMode) {
for (j = TEAM_ID_FALCO; j < TEAM_ID_MAX; j++) {
gTeamShields[j] = gSavedTeamShields[j] = gPrevPlanetTeamShields[j] = gPrevPlanetSavedTeamShields[j] = 255;
}
for (j = 0; j < 6; j++) {
- gStarWolfTeamAlive[j] = gSavedStarWolfTeamAlive[j] = 1;
+ gStarWolfTeamAlive[j] = gSavedStarWolfTeamAlive[j] = true;
}
gLaserStrength[gPlayerNum] = LASERS_SINGLE;
gGoldRingCount[0] = gSavedGoldRingCount[0] = gTotalHits = 0;
@@ -4418,11 +4420,11 @@ void Player_Setup(Player* playerx) {
D_hud_80161720[2] = 0.0f;
gDisplayedHitCount = 0;
gHitCount = 0;
- D_ctx_80177824 = 0;
+ gClearPlayerInfo = false;
}
}
if ((gCurrentLevel == LEVEL_TRAINING)) {
- D_ctx_80177824 = 1;
+ gClearPlayerInfo = true;
}
player->sfx.levelType = gLevelType;
player->sfx.form = player->form;
@@ -4432,7 +4434,7 @@ void Player_Setup(Player* playerx) {
Audio_StartPlayerNoise(gPlayerNum);
}
if ((player->form == FORM_ARWING) && !gVersusMode) {
- switch (player->unk_204) {
+ switch (player->wingPosition) {
case 0:
Animation_GetFrameData(&D_arwing_3015AF4, 0, player->jointTable);
break;
@@ -4447,7 +4449,7 @@ void Player_Setup(Player* playerx) {
if (gLaserStrength[gPlayerNum] > LASERS_SINGLE) {
player->wings.unk_14 = -10.0f;
}
- gPauseEnabled = 0;
+ gPauseEnabled = false;
}
void Player_UpdateArwingRoll(Player* player) {
@@ -4473,14 +4475,14 @@ void Player_UpdateArwingRoll(Player* player) {
}
}
if (player->meteoWarpTimer == 0) {
- if (player->barrelRoll == 0) {
+ if (player->rollState == 0) {
Math_SmoothStepToF(&player->zRotBarrelRoll, 0.0f, 0.1f, 10.0f, 0.00001f);
}
- if (player->barrelInputTimerL != 0) {
- player->barrelInputTimerL--;
+ if (player->rollInputTimerL != 0) {
+ player->rollInputTimerL--;
}
- if (player->barrelInputTimerR != 0) {
- player->barrelInputTimerR--;
+ if (player->rollInputTimerR != 0) {
+ player->rollInputTimerR--;
}
if (player->timer_214 != 0) {
player->timer_214--;
@@ -4488,15 +4490,15 @@ void Player_UpdateArwingRoll(Player* player) {
if (player->timer_218 != 0) {
player->timer_218--;
}
- if (player->timer_1E8 != 0) {
- player->timer_1E8--;
+ if (player->rollTimer != 0) {
+ player->rollTimer--;
}
- if (player->barrelRoll != 0) {
- player->barrelInputTimerR = 0;
- player->barrelInputTimerL = 0;
+ if (player->rollState != 0) {
+ player->rollInputTimerR = 0;
+ player->rollInputTimerL = 0;
player->unk_150 = 1.5f;
player->zRotBarrelRoll += player->rollRate;
- if (player->timer_1E8 == 0) {
+ if (player->rollTimer == 0) {
if (player->rollRate > 0) {
player->rollRate -= 5;
}
@@ -4504,7 +4506,7 @@ void Player_UpdateArwingRoll(Player* player) {
player->rollRate += 5;
}
if (player->rollRate == 0) {
- player->barrelRoll = 0;
+ player->rollState = 0;
}
} else if (player->barrelRollAlpha < 180) {
player->barrelRollAlpha += 100;
@@ -4529,7 +4531,7 @@ void Player_UpdateTankRoll(Player* player) {
s32 var_v0;
player->zRotBarrelRoll = Math_ModF(player->zRotBarrelRoll, 360.0f);
- if (player->barrelRoll == 0) {
+ if (player->rollState == 0) {
temp_fv0 = player->zRotBarrelRoll;
if (player->zRotBarrelRoll > 0.0f) {
player->zRotBarrelRoll -= (player->zRotBarrelRoll * 0.1f);
@@ -4544,19 +4546,19 @@ void Player_UpdateTankRoll(Player* player) {
}
}
}
- temp_v0 = player->barrelInputTimerL;
- if (player->barrelInputTimerL != 0) {
- player->barrelInputTimerL--;
+ temp_v0 = player->rollInputTimerL;
+ if (player->rollInputTimerL != 0) {
+ player->rollInputTimerL--;
}
- if (player->barrelInputTimerR != 0) {
- player->barrelInputTimerR--;
+ if (player->rollInputTimerR != 0) {
+ player->rollInputTimerR--;
}
- if (player->timer_1E8 != 0) {
- player->timer_1E8--;
+ if (player->rollTimer != 0) {
+ player->rollTimer--;
}
- if (player->barrelRoll != 0) {
- player->barrelInputTimerR = 0;
- player->barrelInputTimerL = 0;
+ if (player->rollState != 0) {
+ player->rollInputTimerR = 0;
+ player->rollInputTimerL = 0;
player->zRotBarrelRoll += player->rollRate;
if (player->zRotBank > 0.0f) {
player->zRotBank -= 8.0f;
@@ -4570,7 +4572,7 @@ void Player_UpdateTankRoll(Player* player) {
player->zRotBank = 0.0f;
}
}
- if (player->timer_1E8 == 0) {
+ if (player->rollTimer == 0) {
if (player->rollRate > 0) {
player->rollRate -= 2;
}
@@ -4578,12 +4580,12 @@ void Player_UpdateTankRoll(Player* player) {
player->rollRate += 2;
}
if (player->rollRate == 0) {
- player->barrelRoll = 0;
+ player->rollState = 0;
}
} else {
Math_SmoothStepToF(&D_ctx_801779A8[player->num], 30.0f, 1.0f, 30.0f, 0.0f);
}
- if ((player->timer_1E8 >= 5) && (player->timer_498 == 0)) {
+ if ((player->rollTimer >= 5) && (player->mercyTimer == 0)) {
if (player->rollRate > 0) {
player->unk_170 = 1.3f;
}
@@ -4927,7 +4929,7 @@ void Player_UpdateTankJets(Player* player) {
func_effect_8007BC7C(RAND_FLOAT_CENTERED(20.0f) + player->pos.x, player->groundPos.y + 10.0f,
player->trueZpos - 10.0f, RAND_FLOAT(2.0f) + 4.0f);
}
- } else if ((gCamCount == 1) && ((gGameFrameCount % 4) == 0) && (player->barrelRoll == 0)) {
+ } else if ((gCamCount == 1) && ((gGameFrameCount % 4) == 0) && (player->rollState == 0)) {
if ((player->unk_16C > 0.2f) && (player->radioDamageTimer == 0)) {
func_effect_8007BC7C(RAND_FLOAT_CENTERED(10.0f) + (player->pos.x - 57.0f), player->groundPos.y + 10.0f,
player->trueZpos - 10.0f, RAND_FLOAT(2.0f) + 3.0f);
@@ -4959,11 +4961,11 @@ void Player_UpdateEffects(Player* player) {
if (player->radioDamageTimer != 0) {
player->radioDamageTimer--;
}
- if (player->timer_498 != 0) {
- player->timer_498--;
+ if (player->mercyTimer != 0) {
+ player->mercyTimer--;
}
- if (player->timer_224 != 0) {
- player->timer_224--;
+ if (player->dmgEffectTimer != 0) {
+ player->dmgEffectTimer--;
}
if (gVersusMode) {
for (i = 0; i < gCamCount; i++) {
@@ -5000,11 +5002,11 @@ void Player_UpdateEffects(Player* player) {
if ((player->form == FORM_LANDMASTER) && (player->unk_1A0 != 0)) {
player->unk_1A0--;
}
- player->unk_200 = player->timer_224 & 1;
- if (player->timer_224 != 0) {
+ player->dmgEffect = player->dmgEffectTimer & 1;
+ if (player->dmgEffectTimer != 0) {
gFillScreenAlphaStep = 8;
}
- if (player->timer_224 == 19) {
+ if (player->dmgEffectTimer == 19) {
gFillScreenAlpha = 128;
gFillScreenRed = 255;
gFillScreenGreen = gFillScreenBlue = 0;
@@ -5025,19 +5027,20 @@ void Player_UpdateEffects(Player* player) {
}
player->hitTimer--;
if (player->form == FORM_ARWING) {
- player->damageShake = (SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer) * D_800D3164[player->unk_21C];
+ player->damageShake =
+ SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer * D_800D3164[player->hitDirection];
if (player->state_1C8 == PLAYERSTATE_1C8_ACTIVE) {
player->xShake =
- (SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer) * D_800D3164[player->unk_21C] * 0.8f;
+ SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer * D_800D3164[player->hitDirection] * 0.8f;
}
} else {
player->damageShake =
- (SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer) * D_800D3164[player->unk_21C] * 1.5f;
+ SIN_DEG(player->hitTimer * 400.0f) * player->hitTimer * D_800D3164[player->hitDirection] * 1.5f;
player->xShake = 0.0f;
}
if ((gLevelMode != LEVELMODE_UNK_2) &&
((player->knockback.x != 0.f) || (player->knockback.y != 0.f) || (player->knockback.z != 0.f)) &&
- ((player->unk_1A4 >= 40) || (player->unk_1A4 == 21))) {
+ ((player->dmgType >= 40) || (player->dmgType == 21))) {
player->boostCooldown = true;
player->rot.x = 0;
player->rot.y = 0;
@@ -5336,7 +5339,7 @@ void Player_Update(Player* player) {
}
player->flags_228 = 0;
if ((player->state_1C8 > PLAYERSTATE_1C8_INIT) && (player->form == FORM_ARWING) && !gVersusMode) {
- switch (player->unk_204) {
+ switch (player->wingPosition) {
case 0:
sp1C4 = Animation_GetFrameData(&D_arwing_3015AF4, 0, sp58);
break;
@@ -5356,18 +5359,18 @@ void Player_Update(Player* player) {
}
switch (player->state_1C8) {
case PLAYERSTATE_1C8_STANDBY:
- player->unk_234 = 0;
+ player->draw = false;
gShowHud = 0;
- gPauseEnabled = 0;
+ gPauseEnabled = false;
break;
case PLAYERSTATE_1C8_INIT:
Player_Setup(player);
gFillScreenAlphaTarget = 0;
- gPauseEnabled = 0;
+ gPauseEnabled = false;
break;
case PLAYERSTATE_1C8_LEVEL_INTRO:
gShowHud = 0;
- gPauseEnabled = 0;
+ gPauseEnabled = false;
player->wings.modelId = 1;
Cutscene_LevelStart(player);
break;
@@ -5376,7 +5379,7 @@ void Player_Update(Player* player) {
Player_LowHealthMsg(player);
player->wings.modelId = 0;
D_hud_80161704 = 255;
- if ((!gVersusMode || (gVsMatchStart != 0)) && !player->somersault && (gInputPress->button & U_CBUTTONS) &&
+ if ((!gVersusMode || gVsMatchStart) && !player->somersault && (gInputPress->button & U_CBUTTONS) &&
((player->form == FORM_ARWING) || (gVersusMode && (player->form == FORM_LANDMASTER)))) {
if (player->alternateView = 1 - player->alternateView) {
AUDIO_PLAY_SFX(NA_SE_VIEW_MOVE_IN, gDefaultSfxSource, 4);
@@ -5392,13 +5395,13 @@ void Player_Update(Player* player) {
case LEVELMODE_ON_RAILS:
gLoadLevelObjects = true;
Player_UpdateOnRails(player);
- player->unk_234 = 1;
+ player->draw = true;
break;
case LEVELMODE_ALL_RANGE:
if (!gVersusMode) {
Player_Update360(player);
- player->unk_234 = 1;
- } else if (gVsMatchStart != 0) {
+ player->draw = true;
+ } else if (gVsMatchStart) {
if (gPlayerInactive[player->num] == true) {
do {
sp1C4 = RAND_INT(3.9f);
@@ -5416,12 +5419,12 @@ void Player_Update(Player* player) {
}
}
Player_Update360(player);
- player->unk_234 = 1;
+ player->draw = true;
}
} else {
gInputPress->stick_x = gInputPress->stick_y = 0;
gVsItemSpawnTimer = 0;
- gPauseEnabled = 0;
+ gPauseEnabled = false;
}
break;
case LEVELMODE_UNK_2:
@@ -5462,20 +5465,20 @@ void Player_Update(Player* player) {
gShowHud = gChargeTimers[player->num] = 0;
break;
case PLAYERSTATE_1C8_ENTER_WARP_ZONE:
- gPauseEnabled = 0;
+ gPauseEnabled = false;
Player_UpdateShields(player);
Cutscene_EnterWarpZone(player);
gShowHud = 0;
break;
case PLAYERSTATE_1C8_START_360:
- gPauseEnabled = 0;
+ gPauseEnabled = false;
Player_UpdateShields(player);
Cutscene_AllRangeMode(player);
Player_UpdateArwingRoll(player);
gChargeTimers[player->num] = player->alternateView = gShowHud = 0;
break;
case PLAYERSTATE_1C8_GFOX_REPAIR:
- gPauseEnabled = 0;
+ gPauseEnabled = false;
AllRange_GreatFoxRepair(player);
gShowHud = 0;
break;
@@ -5486,10 +5489,10 @@ void Player_Update(Player* player) {
case PLAYERSTATE_1C8_12:
break;
case PLAYERSTATE_1C8_VS_STANDBY:
- player->unk_234 = 0;
+ player->draw = false;
if (gPlayerInactive[player->num] == true) {
Camera_FollowPlayer(player, player->attacker - 1, 0);
- } else if ((gVsMatchOver == 0) && (player->csState != 0)) {
+ } else if (!gVsMatchOver && (player->csState != 0)) {
player->csState = 0;
Player_Initialize(player);
Player_Setup(player);
@@ -5507,9 +5510,9 @@ void Player_Update(Player* player) {
case PLAYERSTATE_1C8_NEXT:
gShowHud = 0;
if (!gVersusMode) {
- gPauseEnabled = 0;
+ gPauseEnabled = false;
}
- player->unk_234 = 0;
+ player->draw = false;
player->vel.z = player->vel.x = player->vel.y = player->knockback.x = player->knockback.y = 0.0f;
if ((gLevelMode == LEVELMODE_ALL_RANGE) && (gFadeoutType == 7)) {
@@ -6178,7 +6181,7 @@ void Play_UpdateLevel(void) {
if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_LEVEL_COMPLETE) && (gLevelPhase == 2)) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;
gPlayer[0].csState = 0;
- gPlayer[0].unk_234 = 1;
+ gPlayer[0].draw = true;
gPlayer[0].pos.z = 15000.0f;
Camera_Update360(gPlayer, 1);
gFillScreenAlpha = 255;
@@ -6505,13 +6508,12 @@ void Play_Main(void) {
}
}
}
- if ((D_ctx_80177868 == 4) && (gControllerPress[gMainController].button & START_BUTTON) &&
- (gPauseEnabled != 0)) {
+ if ((D_ctx_80177868 == 4) && (gControllerPress[gMainController].button & START_BUTTON) && gPauseEnabled) {
Audio_PlayPauseSfx(0);
gPlayState = PLAY_UPDATE;
gDrawMode = DRAW_PLAY;
}
- gPauseEnabled = 1;
+ gPauseEnabled = true;
break;
}
}
diff --git a/src/engine/fox_tank.c b/src/engine/fox_tank.c
index 3310efc8..53f247fa 100644
--- a/src/engine/fox_tank.c
+++ b/src/engine/fox_tank.c
@@ -165,7 +165,7 @@ void func_tank_80043B18(Player* player) {
sp48.y = 0.0f;
sp48.z = -20.0f;
sp38 = player->yRot_114;
- if (player->barrelRoll != 0) {
+ if (player->rollState != 0) {
sp48.x = 0.0f;
sp48.z = RAND_FLOAT_CENTERED(50.0f) + -20.0f;
@@ -422,7 +422,7 @@ void func_tank_80044868(Player* player) {
if (!(player->unk_170 > 0.2f) && !(player->unk_16C > 0.2f) && player->grounded) {
Math_SmoothStepToF(&player->unk_184, 0.0f, 1.0f, 0.75f, 0.0f);
}
- if (player->barrelRoll != 0) {
+ if (player->rollState != 0) {
if (player->rollRate < 0) {
player->unk_184 = 15.0f;
}
@@ -480,7 +480,7 @@ void func_tank_80044868(Player* player) {
if (player->baseSpeed != 0.0f) {
func_tank_80043B18(player);
}
- if (player->barrelRoll != 0.0f) {
+ if (player->rollState != 0.0f) {
func_tank_80043B18(player);
}
}
@@ -508,28 +508,28 @@ void func_tank_80045130(Player* player) {
Math_SmoothStepToF(&player->unk_16C, 0.0f, 1.0f, 0.2f, 0.0f);
if (gInputPress->button & Z_TRIG) {
player->sfx.bank = 1;
- if ((player->barrelInputTimerL != 0) && (player->zRotBank > 0.0f) && (player->boostMeter < 10.0f)) {
- player->barrelRoll = 1;
- player->timer_1E8 = 15;
+ if ((player->rollInputTimerL != 0) && (player->zRotBank > 0.0f) && (player->boostMeter < 10.0f)) {
+ player->rollState = 1;
+ player->rollTimer = 15;
player->baseRollRate = 20;
player->rollRate = 20;
player->sfx.roll = 1;
AUDIO_PLAY_SFX(NA_SE_TANK_SLIDE, player->sfxSource, 0);
} else {
- player->barrelInputTimerL = 10;
+ player->rollInputTimerL = 10;
}
}
if (gInputPress->button & R_TRIG) {
player->sfx.bank = 1;
- if ((player->barrelInputTimerR != 0) && (player->zRotBank < 0.0f) && (player->boostMeter < 10.0f)) {
- player->barrelRoll = 1;
- player->timer_1E8 = 15;
+ if ((player->rollInputTimerR != 0) && (player->zRotBank < 0.0f) && (player->boostMeter < 10.0f)) {
+ player->rollState = 1;
+ player->rollTimer = 15;
player->baseRollRate = -20;
player->rollRate = -20;
player->sfx.roll = 1;
AUDIO_PLAY_SFX(NA_SE_TANK_SLIDE, player->sfxSource, 0);
} else {
- player->barrelInputTimerR = 10;
+ player->rollInputTimerR = 10;
}
}
player->unk_18C = fabsf(SIN_DEG(player->zRotBank) * 25.0f);
@@ -678,7 +678,7 @@ void func_tank_80045678(Player* player) {
}
} else {
D_800C9F3C = 0;
- if ((gCamCount == 1) && ((gGameFrameCount % 4) == 0) && (player->barrelRoll == 0)) {
+ if ((gCamCount == 1) && ((gGameFrameCount % 4) == 0) && (player->rollState == 0)) {
if ((player->unk_16C > 0.2f) && (player->radioDamageTimer == 0)) {
func_effect_8007A900(RAND_FLOAT_CENTERED(10.0f) + (player->pos.x - 57.0f), player->groundPos.y + 10.0f,
player->trueZpos - 10.0f, RAND_FLOAT(1.0f) + 1.5f, 255, 15, 0);
@@ -693,7 +693,7 @@ void func_tank_80045678(Player* player) {
void func_tank_80045E7C(Player* player) {
player->zRotBarrelRoll = Math_ModF(player->zRotBarrelRoll, 360.0f);
- if (player->barrelRoll == 0) {
+ if (player->rollState == 0) {
if (player->zRotBarrelRoll > 0.0f) {
player->zRotBarrelRoll -= player->zRotBarrelRoll * 0.1f;
if (player->zRotBarrelRoll < 0.1f) {
@@ -707,18 +707,18 @@ void func_tank_80045E7C(Player* player) {
}
}
}
- if (player->barrelInputTimerL != 0) {
- player->barrelInputTimerL--;
+ if (player->rollInputTimerL != 0) {
+ player->rollInputTimerL--;
}
- if (player->barrelInputTimerR != 0) {
- player->barrelInputTimerR--;
+ if (player->rollInputTimerR != 0) {
+ player->rollInputTimerR--;
}
- if (player->timer_1E8 != 0) {
- player->timer_1E8--;
+ if (player->rollTimer != 0) {
+ player->rollTimer--;
}
- if (player->barrelRoll != 0) {
- player->barrelInputTimerR = 0;
- player->barrelInputTimerL = 0;
+ if (player->rollState != 0) {
+ player->rollInputTimerR = 0;
+ player->rollInputTimerL = 0;
player->zRotBarrelRoll += player->rollRate;
if (player->zRotBank > 0.0f) {
player->zRotBank -= 8.0f;
@@ -732,7 +732,7 @@ void func_tank_80045E7C(Player* player) {
player->zRotBank = 0.0f;
}
}
- if (player->timer_1E8 == 0) {
+ if (player->rollTimer == 0) {
D_ctx_801779A8[player->num] = 25.0f;
if (player->rollRate > 0) {
player->rollRate -= 2;
@@ -741,11 +741,11 @@ void func_tank_80045E7C(Player* player) {
player->rollRate += 2;
}
if (player->rollRate == 0) {
- player->barrelRoll = 0;
+ player->rollState = 0;
Audio_KillSfxBySourceAndId(player->sfxSource, NA_SE_TANK_SLIDE);
}
}
- if ((player->timer_1E8 >= 5) && (player->hitTimer == 0) && (player->barrelRoll != 9)) {
+ if ((player->rollTimer >= 5) && (player->hitTimer == 0) && (player->rollState != 9)) {
if (player->rollRate > 0) {
player->unk_170 = 1.3f;
}
@@ -809,13 +809,13 @@ void func_tank_80046358(Player* player) {
player->groundPos.x = player->pos.x;
player->groundPos.z = player->trueZpos + -20.0f;
player->groundPos.y = gGroundHeight + 3.0f;
- player->unk_248 = 0.0f;
- player->unk_24C = 0.0f;
+ player->shadowRotX = 0.0f;
+ player->shadowRotZ = 0.0f;
player->groundRotY = 0.0f;
Ground_801B6E20(player->groundPos.x, player->groundPos.z + player->zPath, &spD4, &spD0, &spCC);
player->groundPos.y = spD0 + 2.0f;
- player->unk_248 = spD4;
- player->unk_24C = spCC;
+ player->shadowRotX = spD4;
+ player->shadowRotZ = spCC;
}
void func_tank_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7) {
@@ -845,7 +845,7 @@ void func_tank_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4,
if (D_MA_801BE250[27] < arg3 + sp58.y) {
D_MA_801BE250[27] = arg3 + sp58.y;
if (arg1 == OBJ_SCENERY_67) {
- player->barrelRoll = 0;
+ player->rollState = 0;
D_800C9F04 = 1;
}
}
@@ -853,8 +853,8 @@ void func_tank_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4,
D_MA_801BE250[29] = sp58.z;
} else if ((arg1 == OBJ_SCENERY_67) && (D_MA_801BE250[27] == 0.0f) &&
Play_CheckPolyCollision(arg1, arg2 + 20.0f, arg3, arg4, sp84, sp80, sp7C, &sp58, &sp4C)) {
- player->barrelRoll = 9;
- player->timer_1E8 = 15;
+ player->rollState = 9;
+ player->rollTimer = 15;
if ((arg6 > 90.0f) && (arg6 < 270.0f)) {
player->rollRate = player->baseRollRate = 20;
} else {
@@ -866,8 +866,8 @@ void func_tank_8004641C(Player* player, s32 arg1, f32 arg2, f32 arg3, f32 arg4,
D_800C9F10 = arg3 + sp58.y;
player->groundPos.x = player->pos.x;
player->groundPos.y = D_800C9F10 - 2.0f;
- player->unk_248 = sp58.x;
- player->unk_24C = sp58.z;
+ player->shadowRotX = sp58.x;
+ player->shadowRotZ = sp58.z;
}
}
@@ -956,8 +956,8 @@ void func_tank_80046704(Player* player) {
if (!(((player->pos.x - 210.0f) <= scenery->obj.pos.x) &&
(scenery->obj.pos.x <= (player->pos.x + 210.0f))) &&
(D_MA_801BE250[27] == 0.f) && (player->vel.y < 0.f)) {
- player->barrelRoll = 9;
- player->timer_1E8 = 15;
+ player->rollState = 9;
+ player->rollTimer = 15;
if ((player->pos.x - 200.0f) <= scenery->obj.pos.x) {
player->rollRate = player->baseRollRate = 20;
} else {
@@ -966,7 +966,7 @@ void func_tank_80046704(Player* player) {
} else {
D_800C9F04 = 1;
D_MA_801BE250[27] = scenery->obj.pos.y + 206.0f;
- player->barrelRoll = 0;
+ player->rollState = 0;
}
}
if (((player->pos.x - 220.0f) <= scenery->obj.pos.x) &&
@@ -1106,7 +1106,7 @@ s32 func_tank_80046E40(Player* player, f32* hitboxData, s32* index, f32 xPos, f3
void Tank_UpdateOnRails(Player* player) {
s32 pad;
- player->unk_204 = 1;
+ player->wingPosition = 1;
func_tank_80045130(player);
D_800C9F14 = 0;
func_tank_80045678(player);
@@ -1150,8 +1150,8 @@ void Tank_UpdateOnRails(Player* player) {
player->groundPos.x = player->pos.x;
player->groundPos.z = player->trueZpos + -10.0f;
player->groundPos.y = gGroundHeight - 4.0f;
- player->unk_248 = 0.0f;
- player->unk_24C = 0.0f;
+ player->shadowRotX = 0.0f;
+ player->shadowRotZ = 0.0f;
player->groundRotY = 0.0f;
func_tank_800481F4(player);
}
@@ -1271,9 +1271,9 @@ void func_tank_80047E7C(Player* player, f32 arg1, f32 arg2) {
Math_SmoothStepToF(&player->zRotBank, 30.0f, 0.5f, 20.0f, 0);
} else {
Math_SmoothStepToF(&player->pos.y, arg2, 0.5f, 30.0f, 0);
- if (player->barrelRoll == 0) {
- player->barrelRoll = 9;
- player->timer_1E8 = 15;
+ if (player->rollState == 0) {
+ player->rollState = 9;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = -20;
}
}
@@ -1282,9 +1282,9 @@ void func_tank_80047E7C(Player* player, f32 arg1, f32 arg2) {
Math_SmoothStepToF(&player->zRotBank, -30.0f, 0.5f, 20.0f, 0);
} else {
Math_SmoothStepToF(&player->pos.y, arg2, 0.5f, 30.0f, 0);
- if (player->barrelRoll == 0) {
- player->barrelRoll = 9;
- player->timer_1E8 = 15;
+ if (player->rollState == 0) {
+ player->rollState = 9;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = 20;
}
}
@@ -1340,7 +1340,7 @@ void func_tank_800481F4(Player* player) {
Player_UpdateHitbox(player);
func_tank_800444BC(player);
- if (player->timer_498 == 0) {
+ if (player->mercyTimer == 0) {
for (i = 0, scenery = gScenery; i < ARRAY_COUNT(gScenery); i++, scenery++) {
if ((scenery->obj.status == OBJ_ACTIVE) && (scenery->obj.id != OBJ_SCENERY_58) &&
(scenery->obj.id != OBJ_SCENERY_105) && (scenery->obj.id != OBJ_SCENERY_59) &&
@@ -1411,13 +1411,13 @@ void func_tank_800481F4(Player* player) {
0.0f, 0.0f) != 0) {
if (player->pos.x < actor->obj.pos.x) {
player->knockback.x = (actor->vel.z > 5.0f) ? -5.0f : -1.5f;
- player->barrelRoll = 8;
- player->timer_1E8 = 15;
+ player->rollState = 8;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = 20;
} else {
player->knockback.x = (actor->vel.z > 5.0f) ? 5.0f : 1.5f;
- player->barrelRoll = 8;
- player->timer_1E8 = 15;
+ player->rollState = 8;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = -20;
}
Math_SmoothStepToF(&player->baseSpeed, 15.0f, 0.3f, 3.5f, 0.001f);
@@ -1427,7 +1427,7 @@ void func_tank_800481F4(Player* player) {
player->pos.x = player->basePos.x;
actor->dmgType = DMG_COLLISION;
Player_ApplyDamage(player, 0, 5);
- player->timer_498 = 1;
+ player->mercyTimer = 1;
}
} else if ((OBJ_ACTOR_205 <= actor->obj.id) && (actor->obj.id <= OBJ_ACTOR_213)) {
if (func_tank_80046E40(player, actor->info.hitbox, &sp98, actor->fwork[25] + actor->obj.pos.x,
@@ -1438,13 +1438,13 @@ void func_tank_800481F4(Player* player) {
Math_SmoothStepToF(&player->camDist, 0, 0.3f, 3.5f, 0.001f);
if (player->pos.x < (actor->fwork[23] + actor->obj.pos.x)) {
player->knockback.x = (actor->vel.z > 5.0f) ? -5.0f : -1.5f;
- player->barrelRoll = 8;
- player->timer_1E8 = 15;
+ player->rollState = 8;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = 20;
} else {
player->knockback.x = (actor->vel.z > 5.0f) ? 5.0f : 1.5f;
- player->barrelRoll = 8;
- player->timer_1E8 = 15;
+ player->rollState = 8;
+ player->rollTimer = 15;
player->rollRate = player->baseRollRate = -20;
}
player->vel.x = 0.0f;
@@ -1489,7 +1489,7 @@ void func_tank_800481F4(Player* player) {
(sprite->obj.id == OBJ_SPRITE_CO_TREE)) {
sprite->destroy = 1;
player->hitTimer = 6;
- player->unk_21C = 0;
+ player->hitDirection = 0;
} else if (sprite->obj.id == OBJ_SPRITE_TI_CACTUS) {
sprite->destroy = 1;
} else {
diff --git a/src/engine/fox_versus.c b/src/engine/fox_versus.c
index 10892059..015853d1 100644
--- a/src/engine/fox_versus.c
+++ b/src/engine/fox_versus.c
@@ -5,24 +5,27 @@
#include "assets/ast_text.h"
#include "assets/ast_versus.h"
+#define VS_TIE 99
+
s32 D_versus_80178750;
s32 gVsMatchState;
s32 D_versus_80178758;
s32 sUnlockLandmaster;
s32 sUnlockOnFoot;
-s32 D_versus_80178768[4];
-s32 D_80178778;
-s32 D_80178780[4];
-s32 D_80178790;
-s32 D_80178794;
+s32 gVsCountdown[3];
+s32 PAD_80178774;
+s32 sVsDrawMode;
+s32 sPlayerFormOption[4];
+s32 sStartCountdown;
+s32 sStartTimer;
s32 D_80178798;
s32 D_8017879C;
s32 D_801787A0;
-s32 D_801787A4;
-s32 gVsWinner;
+s32 sVsMatchMenuOption;
+s32 sVsWinner;
f32 D_801787AC;
f32 D_801787B0;
-s32 D_801787B4;
+s32 sVsPlayerCount;
s32 D_801787B8;
s32 D_801787BC;
f32 D_801787C0;
@@ -32,23 +35,23 @@ f32 D_801787CC;
f32 D_801787D0;
f32 D_801787D8[4];
f32 D_801787E8[4];
-s32 D_801787F8[4];
-u16 D_80178808[4];
+s32 sPlayerRespawnTimer[4];
+u16 sVsDisplayedScores[4];
s32 D_80178810[4];
-s32 D_80178820[4];
+s32 sPlayerDownFrames[4];
s32 D_80178830;
s32 D_80178838[5];
s32 D_80178850[4];
-OSTime D_80178860;
-OSTime D_80178868;
+OSTime sDrawTime;
+OSTime sPrevDrawTime;
s32 D_800D4A90 = 0;
s32 D_800D4A94 = 0;
s32 D_800D4A98 = 0;
-s32 sStartVsHurryBgm = 0;
-s32 sVsHurryBgmPlaying = 0;
+bool sStartVsHurryBgm = false;
+bool sVsHurryBgmPlaying = false;
-void func_versus_800BC760(void) {
+void Versus_Exit(void) {
s32 i;
Memory_FreeAll();
@@ -77,7 +80,7 @@ void func_versus_800BC760(void) {
gVersusMode = 0;
gFillScreenAlphaTarget = 0;
gFillScreenAlpha = 255;
- D_ctx_80177824 = 1;
+ gClearPlayerInfo = true;
}
void func_versus_800BC88C(f32 xPos, f32 yPos, f32 scale) {
@@ -296,39 +299,29 @@ void func_versus_800BDAA0(f32 xPos, f32 yPos, s32 arg2, s32 arg3, s32 arg4) {
}
}
-void func_versus_800BDE3C(void) {
+void Versus_dummy_800BDE3C(void) {
}
void func_versus_800BDE44(void) {
s32 i;
- f32 D_800D4B70[] = {
- 82.0f,
- 242.0f,
- 82.0f,
- 242.0f,
- };
- f32 D_800D4B80[] = {
- 82.0f,
- 82.0f,
- 202.0f,
- 202.0f,
- };
+ f32 D_800D4B70[] = { 82.0f, 242.0f, 82.0f, 242.0f };
+ f32 D_800D4B80[] = { 82.0f, 82.0f, 202.0f, 202.0f };
RCP_SetupDL(&gMasterDisp, SETUPDL_76);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
for (i = 0; i < 4; i++) {
if ((gPlayer[i].state_1C8 == PLAYERSTATE_1C8_ACTIVE) || (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_U_TURN)) {
- if ((gPlayerScores[i] != D_80178808[i]) || (D_80178810[i] != 0)) {
+ if ((gPlayerScores[i] != sVsDisplayedScores[i]) || (D_80178810[i] != 0)) {
D_80178810[i] += 4;
if (D_80178810[i] > 15) {
- if (gPlayerScores[i] > D_80178808[i]) {
- D_80178808[i] += 1; // can't be ++
+ if (gPlayerScores[i] > sVsDisplayedScores[i]) {
+ sVsDisplayedScores[i] += 1; // can't be ++
} else {
- D_80178808[i] -= 1; // can't be --
+ sVsDisplayedScores[i] -= 1; // can't be --
}
- if (gPlayerScores[i] != D_80178808[i]) {
+ if (gPlayerScores[i] != sVsDisplayedScores[i]) {
D_80178810[i] -= 15;
} else {
D_80178810[i] = 0;
@@ -337,45 +330,47 @@ void func_versus_800BDE44(void) {
}
}
- if (gPlayerScores[i] >= D_80178808[i]) {
- func_versus_800BDAA0(D_800D4B70[i], D_800D4B80[i], D_80178808[i] + 1, D_80178808[i], D_80178810[i]);
+ if (gPlayerScores[i] >= sVsDisplayedScores[i]) {
+ func_versus_800BDAA0(D_800D4B70[i], D_800D4B80[i], sVsDisplayedScores[i] + 1, sVsDisplayedScores[i],
+ D_80178810[i]);
} else {
- func_versus_800BDAA0(D_800D4B70[i], D_800D4B80[i], D_80178808[i] - 1, D_80178808[i], D_80178810[i]);
+ func_versus_800BDAA0(D_800D4B70[i], D_800D4B80[i], sVsDisplayedScores[i] - 1, sVsDisplayedScores[i],
+ D_80178810[i]);
}
}
}
}
s32 Versus_UpdateTimer(void) {
- s32 temp = (s32) CYCLES_TO_USEC((D_80178860 - D_80178868)) / 10000;
-
- D_versus_80178768[2] -= temp;
- if (D_versus_80178768[2] < 0) {
- D_versus_80178768[2] *= -1;
- temp = (D_versus_80178768[2] / 100) + 1;
- D_versus_80178768[2] %= 100;
- D_versus_80178768[2] = (100 - D_versus_80178768[2]) % 100;
- D_versus_80178768[1] -= temp;
-
- if (D_versus_80178768[1] >= 0) {
- if ((D_versus_80178768[0] == 0) && (D_versus_80178768[1] < 15) && (D_versus_80178768[1] >= 0)) {
+ s32 temp = (s32) CYCLES_TO_USEC((sDrawTime - sPrevDrawTime)) / 10000;
+
+ gVsCountdown[2] -= temp;
+ if (gVsCountdown[2] < 0) {
+ gVsCountdown[2] *= -1;
+ temp = (gVsCountdown[2] / 100) + 1;
+ gVsCountdown[2] %= 100;
+ gVsCountdown[2] = (100 - gVsCountdown[2]) % 100;
+ gVsCountdown[1] -= temp;
+
+ if (gVsCountdown[1] >= 0) {
+ if ((gVsCountdown[0] == 0) && (gVsCountdown[1] < 15) && (gVsCountdown[1] >= 0)) {
AUDIO_PLAY_SFX(NA_SE_COUNTDOWN, gDefaultSfxSource, 4);
}
} else {
// clang-format off
- if (D_versus_80178768[0] == 0) {\
+ if (gVsCountdown[0] == 0) {\
AUDIO_PLAY_SFX(NA_SE_TIME_OVER, gDefaultSfxSource, 4);\
}
// clang-format on
- D_versus_80178768[1] *= -1;
- temp = (D_versus_80178768[1] / 60) + 1;
- D_versus_80178768[1] %= 60;
- D_versus_80178768[1] = (60 - D_versus_80178768[1]) % 60;
- D_versus_80178768[0] -= temp;
- if (D_versus_80178768[0] < 0) {
- D_versus_80178768[0] = 0;
- D_versus_80178768[1] = 0;
- D_versus_80178768[2] = 0;
+ gVsCountdown[1] *= -1;
+ temp = (gVsCountdown[1] / 60) + 1;
+ gVsCountdown[1] %= 60;
+ gVsCountdown[1] = (60 - gVsCountdown[1]) % 60;
+ gVsCountdown[0] -= temp;
+ if (gVsCountdown[0] < 0) {
+ gVsCountdown[0] = 0;
+ gVsCountdown[1] = 0;
+ gVsCountdown[2] = 0;
}
}
}
@@ -383,7 +378,7 @@ s32 Versus_UpdateTimer(void) {
return 0;
}
-s32 func_versus_800BE300(f32 xPos, f32 yPos, s32* arg2) {
+s32 Versus_DrawCountdown(f32 xPos, f32 yPos, s32* countdown) {
s32 i;
f32 xTemp;
f32 x;
@@ -402,11 +397,11 @@ s32 func_versus_800BE300(f32 xPos, f32 yPos, s32* arg2) {
for (i = 0; i < 5; i++) {
if ((i == 0) || (i == 2)) {
- temp = arg2[i / 2] % 60;
+ temp = countdown[i / 2] % 60;
}
if (i == 4) {
- temp = arg2[i / 2] % 100;
+ temp = countdown[i / 2] % 100;
}
if ((i % 2) == 1) {
@@ -425,7 +420,7 @@ s32 func_versus_800BE300(f32 xPos, f32 yPos, s32* arg2) {
return 0;
}
-s32 func_versus_800BE564(void) {
+s32 Versus_SelectStartingForm(void) {
s32 i;
s32 ret = 0;
@@ -434,7 +429,7 @@ s32 func_versus_800BE564(void) {
if (gPlayerInactive[i]) {
continue;
}
- D_80178780[i] = 1;
+ sPlayerFormOption[i] = 1;
gPlayerForms[i] = FORM_ARWING;
ret++;
}
@@ -446,38 +441,38 @@ s32 func_versus_800BE564(void) {
continue;
}
- if ((D_80178780[i] == 0) && (D_801787F8[i] == 0)) {
+ if ((sPlayerFormOption[i] == 0) && (sPlayerRespawnTimer[i] == 0)) {
if (sUnlockLandmaster && sUnlockOnFoot) {
- D_80178780[i] = RAND_INT(3.0f) + 1;
+ sPlayerFormOption[i] = RAND_INT(3.0f) + 1;
}
if (sUnlockLandmaster && !sUnlockOnFoot) {
- D_80178780[i] = RAND_INT(2.0f) + 1;
+ sPlayerFormOption[i] = RAND_INT(2.0f) + 1;
}
}
- if (D_801787F8[i] != 0) {
- D_801787F8[i]--;
+ if (sPlayerRespawnTimer[i] != 0) {
+ sPlayerRespawnTimer[i]--;
}
- if (sUnlockLandmaster && (D_80178780[i] == 0) && (gControllerPress[i].button & B_BUTTON)) {
+ if (sUnlockLandmaster && (sPlayerFormOption[i] == 0) && (gControllerPress[i].button & B_BUTTON)) {
AUDIO_PLAY_SFX(NA_SE_DECIDE, gDefaultSfxSource, 4);
- D_80178780[i] = 2;
+ sPlayerFormOption[i] = 2;
}
- if (sUnlockOnFoot && (D_80178780[i] == 0) &&
+ if (sUnlockOnFoot && (sPlayerFormOption[i] == 0) &&
((gControllerPress[i].button & L_CBUTTONS) || (gControllerPress[i].button & D_CBUTTONS) ||
(gControllerPress[i].button & U_CBUTTONS) || (gControllerPress[i].button & R_CBUTTONS))) {
AUDIO_PLAY_SFX(NA_SE_DECIDE, gDefaultSfxSource, 4);
- D_80178780[i] = 3;
+ sPlayerFormOption[i] = 3;
}
- if ((D_80178780[i] == 0) && (gControllerPress[i].button & A_BUTTON)) {
+ if ((sPlayerFormOption[i] == 0) && (gControllerPress[i].button & A_BUTTON)) {
AUDIO_PLAY_SFX(NA_SE_DECIDE, gDefaultSfxSource, 4);
- D_80178780[i] = 1;
+ sPlayerFormOption[i] = 1;
}
- if (D_80178780[i] != 0) {
- switch (D_80178780[i]) {
+ if (sPlayerFormOption[i] != 0) {
+ switch (sPlayerFormOption[i]) {
case 1:
gPlayerForms[i] = FORM_ARWING;
break;
@@ -534,8 +529,9 @@ void func_versus_800BE924(s32 index) {
RCP_SetupDL(&gMasterDisp, SETUPDL_76);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
- func_versus_800BD4D4(D_800D4B90[index] + 32.0f, D_800D4BA0[index] + 84.0f, (D_801787F8[index] / 30) + 1);
+ func_versus_800BD4D4(D_800D4B90[index] + 32.0f, D_800D4BA0[index] + 84.0f, (sPlayerRespawnTimer[index] / 30) + 1);
}
+
void func_versus_800BECA8(s32 index) {
f32 D_800D4BB0[] = { 40.0f, 200.0f, 40.0f, 200.0f };
f32 D_800D4BC0[] = { 40.0f, 40.0f, 160.0f, 160.0f };
@@ -565,15 +561,15 @@ s32 func_versus_800BEDDC(void) {
continue;
}
- if (D_80178780[i] == 0) {
+ if (sPlayerFormOption[i] == 0) {
func_versus_800BE924(i);
} else {
func_versus_800BECA8(i);
}
- if (D_80178780[i] != 0) {
+ if (sPlayerFormOption[i] != 0) {
var_s4++;
- if (var_s4 == D_801787B4) {
+ if (var_s4 == sVsPlayerCount) {
func_versus_800BED78();
}
}
@@ -582,26 +578,26 @@ s32 func_versus_800BEDDC(void) {
return 0;
}
-s32 func_versus_800BEF00(void) {
+s32 Versus_UpdateStartCountdown(void) {
s32 ret;
ret = 0;
- if (D_80178790 == 0) {
+ if (sStartCountdown == 0) {
return 2;
}
- D_80178794--;
+ sStartTimer--;
- if (D_80178794 == 0) {
- D_80178790--;
- if (D_80178790 != 0) {
+ if (sStartTimer == 0) {
+ sStartCountdown--;
+ if (sStartCountdown != 0) {
AUDIO_PLAY_SFX(NA_SE_READY, gDefaultSfxSource, 4);
ret = 0;
} else {
AUDIO_PLAY_SFX(NA_SE_GO, gDefaultSfxSource, 4);
ret = 1;
}
- D_80178794 = 30;
+ sStartTimer = 30;
}
return ret;
@@ -621,8 +617,9 @@ s32 func_versus_800BEFE4(void) {
continue;
}
- if (D_80178790 != 0) {
- func_versus_800BC9DC(D_800D4BD0[i] + D_800D4BF0[D_80178790 - 1], D_800D4BE0[i], 1.0f, D_80178790 - 1);
+ if (sStartCountdown != 0) {
+ func_versus_800BC9DC(D_800D4BD0[i] + D_800D4BF0[sStartCountdown - 1], D_800D4BE0[i], 1.0f,
+ sStartCountdown - 1);
} else {
func_versus_800BCB44(D_800D4BD0[i] - 16.0f, D_800D4BE0[i], 1.0f);
}
@@ -630,22 +627,22 @@ s32 func_versus_800BEFE4(void) {
return 0;
}
-s32 func_versus_800BF17C(void) {
+s32 Versus_UpdatePlayerStatus(void) {
s32 i;
f32 ret;
for (i = 0, ret = 0; i < 4; i++) {
- D_80178850[i] = 1;
+ D_80178850[i] = true;
if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) {
- D_80178850[i] = 0;
- D_801787F8[i] = 150;
+ D_80178850[i] = false;
+ sPlayerRespawnTimer[i] = 150;
continue;
}
- if (gPlayerInactive[i] || (gVsMatchType == 1) || ((D_801787B4 == 1) && (gVsMatchType != 2)) ||
- ((gVsMatchType == 2) && (D_versus_80178768[0] == 0) && (D_versus_80178768[1] == 0) &&
- (D_versus_80178768[2] == 0))) {
+ if (gPlayerInactive[i] || (gVsMatchType == VS_MATCH_BATTLE) ||
+ ((sVsPlayerCount == 1) && (gVsMatchType != VS_MATCH_TIME)) ||
+ ((gVsMatchType == VS_MATCH_TIME) && VS_TIME_UP(gVsCountdown))) {
ret = Math_SmoothStepToF(&D_801787D8[i], D_801787E8[i], 0.3f, 100.0f, 1.0f);
if (ret == 0.0f) {
if (D_801787E8[i] == 32.0f) {
@@ -656,42 +653,42 @@ s32 func_versus_800BF17C(void) {
}
gPlayer[i].csState = 0;
} else {
- D_80178780[i] = 0;
+ sPlayerFormOption[i] = 0;
gPlayer[i].csState = 0;
- if ((D_80178780[i] == 0) && (D_801787F8[i] == 0)) {
+ if ((sPlayerFormOption[i] == 0) && (sPlayerRespawnTimer[i] == 0)) {
if (sUnlockLandmaster && sUnlockOnFoot) {
- D_80178780[i] = RAND_INT(3.0f) + 1;
+ sPlayerFormOption[i] = RAND_INT(3.0f) + 1;
}
if (sUnlockLandmaster && !sUnlockOnFoot) {
- D_80178780[i] = RAND_INT(2.0f) + 1;
+ sPlayerFormOption[i] = RAND_INT(2.0f) + 1;
}
}
- if (D_801787F8[i] != 0) {
- D_801787F8[i]--;
+ if (sPlayerRespawnTimer[i] != 0) {
+ sPlayerRespawnTimer[i]--;
}
- if (sUnlockLandmaster && (D_80178780[i] == 0) && (gControllerPress[i].button & B_BUTTON)) {
- D_80178780[i] = 2;
+ if (sUnlockLandmaster && (sPlayerFormOption[i] == 0) && (gControllerPress[i].button & B_BUTTON)) {
+ sPlayerFormOption[i] = 2;
}
- if (sUnlockOnFoot && (D_80178780[i] == 0) &&
+ if (sUnlockOnFoot && (sPlayerFormOption[i] == 0) &&
((gControllerPress[i].button & L_CBUTTONS) || (gControllerPress[i].button & D_CBUTTONS) ||
(gControllerPress[i].button & U_CBUTTONS) || (gControllerPress[i].button & R_CBUTTONS))) {
- D_80178780[i] = 3;
+ sPlayerFormOption[i] = 3;
}
- if ((D_80178780[i] == 0) && (gControllerPress[i].button & A_BUTTON)) {
- D_80178780[i] = 1;
+ if ((sPlayerFormOption[i] == 0) && (gControllerPress[i].button & A_BUTTON)) {
+ sPlayerFormOption[i] = 1;
}
if ((!sUnlockLandmaster && !sUnlockOnFoot) || (gVersusStage == VS_STAGE_SECTOR_Z)) {
- D_80178850[i] = 0;
- D_80178780[i] = 1;
+ D_80178850[i] = false;
+ sPlayerFormOption[i] = 1;
}
- if (D_80178780[i] != 0) {
- switch (D_80178780[i]) {
+ if (sPlayerFormOption[i] != 0) {
+ switch (sPlayerFormOption[i]) {
case 1:
gPlayerForms[i] = FORM_ARWING;
break;
@@ -709,10 +706,10 @@ s32 func_versus_800BF17C(void) {
break;
}
- D_80178820[i]++;
+ sPlayerDownFrames[i]++;
- if (gVsMatchType == 2) {
- gPlayerScores[i] = D_80178838[i] = D_80178808[i] = D_80178810[i] = 0;
+ if (gVsMatchType == VS_MATCH_TIME) {
+ gPlayerScores[i] = D_80178838[i] = sVsDisplayedScores[i] = D_80178810[i] = 0;
}
gPlayer[i].csState = 1;
}
@@ -735,7 +732,7 @@ s32 func_versus_800BF59C(void) {
continue;
}
- if ((gPlayerInactive[i]) || (gVsMatchType == 1)) {
+ if (gPlayerInactive[i] || (gVsMatchType == VS_MATCH_BATTLE)) {
colorGB = D_801787D8[i];
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255);
func_versus_800BD76C(D_800D4BFC[i], D_800D4C0C[i]);
@@ -774,214 +771,184 @@ void func_versus_800BF750(void) {
}
}
-s32 Versus_CheckForWinner(void) {
+bool Versus_CheckForWinner(void) {
s32 i;
s32 j;
- s32 temp;
- s32 var_a3;
- s32 temp2[4];
+ s32 tieScore;
+ s32 numDown;
+ bool beaten[4];
switch (gVsMatchType) {
- case 0:
- for (i = 0, var_a3 = 0; i < 4; i++) {
+ case VS_MATCH_POINTS:
+ for (i = 0, numDown = 0; i < 4; i++) {
if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) {
- gVsWinner = i;
+ sVsWinner = i;
}
if (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY) {
- var_a3++;
+ numDown++;
}
}
- if ((D_801787B4 == 1) && (var_a3 == 4)) {
- gVsMatchOver = 1;
- gVsWinner = 99;
- break;
- }
-
- for (i = 0; i < 4; i++) {
- if (gVsPoints[i] == gVsPointsToWin) {
- break;
- }
- if (gVsPoints[i] == (gVsPointsToWin - 1)) {
- sStartVsHurryBgm = 1;
+ if ((sVsPlayerCount == 1) && (numDown == 4)) {
+ gVsMatchOver = true;
+ sVsWinner = VS_TIE;
+ } else {
+ for (i = 0; i < 4; i++) {
+ if (gVsPoints[i] == gVsPointsToWin) {
+ break;
+ } else if (gVsPoints[i] == (gVsPointsToWin - 1)) {
+ sStartVsHurryBgm = true;
+ }
}
- }
- if (i >= 4) {
- return 0;
- }
-
- if (gPlayer[i].timer_278 != 0) {
- return 0;
- }
+ if (i >= 4) {
+ return false;
+ }
- for (j = 0; j < 4; j++) {
- if (j == i) {
- continue;
+ if (gPlayer[i].timer_278 != 0) {
+ return false;
}
- if (gPlayer[j].attacker >= 0) {
- gPlayer[j].attacker = i + 1;
+
+ for (j = 0; j < 4; j++) {
+ if (j == i) {
+ continue;
+ }
+ if (gPlayer[j].attacker >= 0) {
+ gPlayer[j].attacker = i + 1;
+ }
+ gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
}
- gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
+ gVsMatchOver = true;
+ sVsWinner = i;
}
- gVsMatchOver = 1;
- gVsWinner = i;
break;
- case 1:
-
- for (i = 0, var_a3 = 0; i < 4; i++) {
+ case VS_MATCH_BATTLE:
+ for (i = 0, numDown = 0; i < 4; i++) {
if (gPlayer[i].state_1C8 != PLAYERSTATE_1C8_VS_STANDBY) {
- gVsWinner = i;
+ sVsWinner = i;
}
if (gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY) {
- var_a3++;
+ numDown++;
}
}
- if ((D_801787B4 == 1) && (var_a3 == 4)) {
- gVsMatchOver = 1;
- gVsWinner = 99;
- break;
- }
-
- if (var_a3 >= 2) {
- sStartVsHurryBgm = 1;
- }
-
- if ((var_a3 < 3) || (D_801787B4 == 1)) {
- return (0);
- }
+ if ((sVsPlayerCount == 1) && (numDown == 4)) {
+ gVsMatchOver = true;
+ sVsWinner = VS_TIE;
+ } else {
+ if (numDown >= 2) {
+ sStartVsHurryBgm = true;
+ }
- if (var_a3 >= 4) {
- gVsWinner = 99;
- }
+ if ((numDown < 3) || (sVsPlayerCount == 1)) {
+ return false;
+ }
- for (j = 0; j < 4; j++) {
- if (j == gVsWinner) {
- continue;
+ if (numDown >= 4) {
+ sVsWinner = VS_TIE;
}
- if (gPlayer[j].attacker >= 0) {
- gPlayer[j].attacker = i + 1;
+
+ for (j = 0; j < 4; j++) {
+ if (j == sVsWinner) {
+ continue;
+ }
+ if (gPlayer[j].attacker >= 0) {
+ gPlayer[j].attacker = i + 1;
+ }
+ gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
}
- gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
+ gVsMatchOver = true;
}
- gVsMatchOver = 1;
break;
- case 2:
- if ((D_versus_80178768[0] != 0) || (D_versus_80178768[1] != 0) || (D_versus_80178768[2] != 0)) {
- return (0);
+ case VS_MATCH_TIME:
+ if (!VS_TIME_UP(gVsCountdown)) {
+ return false;
}
- if (gVsMatchType == 2) {
+ if (gVsMatchType == VS_MATCH_TIME) {
for (i = 0; i < 4; i++) {
if ((gPlayer[i].state_1C8 == PLAYERSTATE_1C8_DOWN) ||
(gPlayer[i].state_1C8 == PLAYERSTATE_1C8_VS_STANDBY)) {
- gPlayerScores[i] = D_80178838[i] = D_80178808[i] = D_80178810[i] = 0;
- D_80178820[i]++;
+ gPlayerScores[i] = D_80178838[i] = sVsDisplayedScores[i] = D_80178810[i] = 0;
+ sPlayerDownFrames[i]++;
}
}
}
for (i = 0; i < 4; i++) {
- temp2[i] = 0;
+ beaten[i] = false;
}
for (i = 0; i < 4; i++) {
if (!gControllerPlugged[i]) {
continue;
}
- for (j = 0, temp = 0; j < 4; j++) {
- if (!gControllerPlugged[j]) {
+ for (j = 0, tieScore = 0; j < 4; j++) {
+ if (!gControllerPlugged[j] || beaten[j] || (i == j)) {
continue;
}
- if (temp2[j]) {
- continue;
- }
-
- if (i != j) {
- if (gPlayerScores[i] < gPlayerScores[j]) {
- temp2[i] = 1;
- break;
- }
- if (gPlayerScores[i] == gPlayerScores[j]) {
- temp = 1;
- }
+ if (gPlayerScores[i] < gPlayerScores[j]) {
+ beaten[i] = true;
+ break;
+ } else if (gPlayerScores[i] == gPlayerScores[j]) {
+ tieScore = true;
}
}
- if ((j == 4) && (temp == 0)) {
- gVsWinner = i;
+ if ((j == 4) && !tieScore) {
+ sVsWinner = i;
}
}
- if (gVsWinner == 99) {
+ if (sVsWinner == VS_TIE) {
for (i = 0; i < 4; i++) {
- if (!gControllerPlugged[i]) {
- continue;
- }
- if (temp2[i]) {
+ if (!gControllerPlugged[i] || beaten[i]) {
continue;
}
+ if (0) {}
- for (j = 0, temp = 0; j < 4; j++) {
- if (!gControllerPlugged[j]) {
- continue;
- }
- if (temp2[j]) {
+ for (j = 0, tieScore = 0; j < 4; j++) {
+ if (!gControllerPlugged[j] || beaten[j] || (i == j)) {
continue;
}
-
- if (i != j) {
- if (D_80178820[i] > D_80178820[j]) {
- temp2[i] = 1;
- break;
- }
- if (D_80178820[i] == D_80178820[j]) {
- temp = 1;
- }
+ if (sPlayerDownFrames[i] > sPlayerDownFrames[j]) {
+ beaten[i] = true;
+ break;
+ } else if (sPlayerDownFrames[i] == sPlayerDownFrames[j]) {
+ tieScore = true;
}
}
- if ((j == 4) && (temp == 0)) {
- gVsWinner = i;
+ if ((j == 4) && !tieScore) {
+ sVsWinner = i;
}
}
- if (gVsWinner == 99) {
+ if (sVsWinner == VS_TIE) {
for (i = 0; i < 4; i++) {
- if (!gControllerPlugged[i]) {
- continue;
- }
- if (temp2[i]) {
+ if (!gControllerPlugged[i] || beaten[i]) {
continue;
}
-
- for (j = 0, temp = 0; j < 4; j++) {
- if (!gControllerPlugged[j]) {
- continue;
- }
- if (temp2[j]) {
+ for (j = 0, tieScore = 0; j < 4; j++) {
+ if (!gControllerPlugged[j] || beaten[j] || (i == j)) {
continue;
}
- if (i != j) {
- if (gPlayer[i].shields < gPlayer[j].shields) {
- temp2[i] = 1;
- break;
- }
- if (gPlayer[i].shields == gPlayer[j].shields) {
- temp = 1;
- }
+ if (gPlayer[i].shields < gPlayer[j].shields) {
+ beaten[i] = true;
+ break;
+ } else if (gPlayer[i].shields == gPlayer[j].shields) {
+ tieScore = true;
}
}
- if ((j == 4) && (temp == 0)) {
- gVsWinner = i;
+ if ((j == 4) && !tieScore) {
+ sVsWinner = i;
}
}
}
}
for (j = 0; j < 4; j++) {
- if (j == gVsWinner) {
+ if (j == sVsWinner) {
continue;
}
@@ -991,14 +958,14 @@ s32 Versus_CheckForWinner(void) {
gPlayer[j].state_1C8 = PLAYERSTATE_1C8_VS_STANDBY;
}
- gVsMatchOver = 1;
+ gVsMatchOver = true;
break;
default:
break;
}
- return 1;
+ return true;
}
void func_versus_800C024C(void) {
@@ -1014,7 +981,7 @@ bool func_versus_800C0294(s32 index) {
s32 ret = false;
s32 temp;
- if (index == 99) {
+ if (index == VS_TIE) {
index = 4;
}
@@ -1030,7 +997,7 @@ bool func_versus_800C0294(s32 index) {
break;
case 2:
- if (0.0f == Math_SmoothStepToF(&D_801787C8, 0.3f, 0.4f, 100.0f, 0.01f)) {
+ if (Math_SmoothStepToF(&D_801787C8, 0.3f, 0.4f, 100.0f, 0.01f) == 0.0f) {
D_801787BC = 3;
D_801787C4 = 0.0f;
}
@@ -1061,7 +1028,7 @@ s32 func_versus_800C04DC(f32 xPos, f32 scale, s32 arg2) {
f32 x;
f32 y;
- if ((gVsMatchType == 2) && ((D_800D4A98 & 0x20) != 0) && (gVsWinner != 99)) {
+ if ((gVsMatchType == VS_MATCH_TIME) && ((D_800D4A98 & 0x20) != 0) && (sVsWinner != VS_TIE)) {
x = 118.0f;
y = 110.0f;
@@ -1099,14 +1066,17 @@ s32 func_versus_800C075C(void) {
return 0;
}
-s32 func_versus_800C07C4(void) {
+s32 Versus_GetMenuInput(void) {
s32 i;
s32 stick_y = 0;
s32 ret = 0;
for (i = 0; i < 4; i++) {
- if ((gControllerPlugged[i] == true) && (stick_y = gControllerPress[i].stick_y)) {
- break;
+ if (gControllerPlugged[i] == true) {
+ stick_y = gControllerPress[i].stick_y;
+ if (stick_y != 0) {
+ break;
+ }
}
}
@@ -1154,22 +1124,21 @@ void func_versus_800C0970(f32 yScale1, f32 yScale2) {
func_versus_800BCFFC(98.0f, 152.0f, 5.19f, yScale2);
}
-s32 func_versus_800C0A04(void) {
- s32 ret = func_versus_800C07C4();
- s32 var_v1;
+s32 Versus_UpdateMenuOptions(void) {
+ s32 input = Versus_GetMenuInput();
- if (ret != 0) {
+ if (input != 0) {
D_801787AC = 255.0f;
D_801787B0 = 255.0f;
- D_801787A4 += ret;
+ sVsMatchMenuOption += input;
- if (D_801787A4 >= 3) {
- D_801787A4 = 0;
- D_801787A4 = 0;
+ if (sVsMatchMenuOption >= 3) {
+ sVsMatchMenuOption = 0;
+ sVsMatchMenuOption = 0;
}
- if (D_801787A4 < 0) {
- D_801787A4 = 2;
+ if (sVsMatchMenuOption < 0) {
+ sVsMatchMenuOption = 2;
}
}
@@ -1181,7 +1150,7 @@ s32 func_versus_800C0A04(void) {
}
}
- return D_801787A4;
+ return sVsMatchMenuOption;
}
s32 func_versus_800C0B0C(void) {
@@ -1191,7 +1160,7 @@ s32 func_versus_800C0B0C(void) {
RCP_SetupDL(&gMasterDisp, SETUPDL_78);
for (i = 0; i < 3; i++) {
- if (i == D_801787A4) {
+ if (i == sVsMatchMenuOption) {
colorGB[i] = D_801787AC;
} else {
colorGB[i] = 255;
@@ -1208,19 +1177,17 @@ s32 func_versus_800C0B0C(void) {
return 0;
}
-bool func_versus_800C0C84(void) {
+bool Versus_UpdateMenu(void) {
s32 i;
for (i = 0; i < 4; i++) {
- if (gControllerPlugged[i] == true) {
- if (gControllerPress[i].button & A_BUTTON) {
- D_801787AC = 32.0f;
- return true;
- }
+ if ((gControllerPlugged[i] == true) && (gControllerPress[i].button & A_BUTTON)) {
+ D_801787AC = 32.0f;
+ return true;
}
}
- func_versus_800C0A04();
+ Versus_UpdateMenuOptions();
return false;
}
@@ -1233,7 +1200,7 @@ bool func_versus_800C0D10(void) {
switch (D_800D4A90) {
case 0:
// clang-format off
- for( i=0; i<5; i++ ) { D_80178838[ i]= 0; }
+ for (i = 0; i < 5; i++) { D_80178838[i] = 0; }
// clang-format on
D_800D4A90 = 1;
D_800D4A94 = 0;
@@ -1337,14 +1304,14 @@ s32 func_versus_800C1138(s32 max, s32 arg1) {
return 0;
}
-void func_versus_800C1368(void) {
+void Versus_InitMatch(void) {
s32 i;
- for (i = 0, D_801787B4 = 0; i < 4; i++) {
+ for (i = 0, sVsPlayerCount = 0; i < 4; i++) {
if (!gPlayerInactive[i]) {
- D_801787B4++;
+ sVsPlayerCount++;
}
- D_80178780[i] = 0;
+ sPlayerFormOption[i] = 0;
D_801787D8[i] = 0.0f;
D_801787E8[i] = 0.0f;
}
@@ -1354,33 +1321,33 @@ void func_versus_800C1368(void) {
D_801787AC = 255.0f;
D_801787B0 = 0.0f;
gNextVsViewScale = 0.5f;
- D_80178778 = 0;
- D_80178790 = 4;
- D_80178794 = 1;
+ sVsDrawMode = 0;
+ sStartCountdown = 4;
+ sStartTimer = 1;
D_8017879C = 0;
D_801787A0 = 0;
- D_801787A4 = 0;
- gVsWinner = 99;
+ sVsMatchMenuOption = 0;
+ sVsWinner = VS_TIE;
D_801787B8 = 0;
D_versus_80178750 = 0;
gBgColor = 0;
D_80178830 = 0;
D_800D4A90 = 0;
D_800D4A98 = 0;
- sStartVsHurryBgm = sVsHurryBgmPlaying = 0;
+ sStartVsHurryBgm = sVsHurryBgmPlaying = false;
gFillScreenAlpha = 255;
gFillScreenAlphaStep = 0;
gFillScreenAlphaTarget = 0;
for (i = 0; i < 4; i++) {
gPlayerScores[i] = 0;
- D_80178808[i] = 0;
+ sVsDisplayedScores[i] = 0;
D_80178810[i] = 0;
- D_80178820[i] = 0;
+ sPlayerDownFrames[i] = 0;
}
// clang-format off
- for (i = 0; i < 4; i++) { D_801787F8[i] = 150; }
+ for (i = 0; i < 4; i++) { sPlayerRespawnTimer[i] = 150; }
// clang-format on
if (gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].normalClear == 1) {
@@ -1395,19 +1362,19 @@ void func_versus_800C1368(void) {
sUnlockOnFoot = false;
}
- if (gVsMatchType == 2) {
+ if (gVsMatchType == VS_MATCH_TIME) {
gVsPointsToWin = 10000;
}
if (!sUnlockLandmaster) {
sUnlockOnFoot = false;
}
- D_versus_80178768[0] = gVsTimeTrialLimit + 1;
- D_versus_80178768[1] = 0;
- D_versus_80178768[2] = 0;
+ gVsCountdown[0] = gVsTimeTrialLimit + 1;
+ gVsCountdown[1] = 0;
+ gVsCountdown[2] = 0;
}
-bool func_versus_800C15D8(void) {
+bool Versus_InitViewports(void) {
bool ret = false;
if (gNextVsViewScale >= 1.5f) {
@@ -1439,12 +1406,12 @@ bool func_versus_800C15D8(void) {
}
/* return type needs to be s32 for Versus_Update to match */
-s32 func_versus_800C1690(void) {
+s32 Versus_ClearFrameCounter(void) {
D_80178798 = 0;
}
-bool func_versus_800C16A0(s32 arg0) {
- if (arg0 != D_80178798) {
+bool Versus_WaitFrames(s32 frame) {
+ if (frame != D_80178798) {
D_80178798++;
} else {
return true;
@@ -1452,14 +1419,14 @@ bool func_versus_800C16A0(s32 arg0) {
return false;
}
-void func_versus_800C16D0(void) {
+void Versus_PlayAgain(void) {
Player_InitVersus();
- gVsMatchState = 0;
- D_80178778 = 0;
+ gVsMatchState = VS_STATE_0;
+ sVsDrawMode = 0;
}
-void func_versus_800C1700(void) {
- func_versus_800BC760();
+void Versus_ReturnToMenu(void) {
+ Versus_Exit();
gGameState = GSTATE_MENU;
gNextGameStateTimer = 2;
gOptionMenuStatus = OPTION_WAIT;
@@ -1467,106 +1434,103 @@ void func_versus_800C1700(void) {
gBgColor = 0;
}
-void dummy(void) {
+void Versus_dummy_800C1758(void) {
}
-void func_versus_800C175C(void) {
+void Versus_dummy_800C175C(void) {
}
-void func_versus_800C1764(void) {
+void Versus_dummy_800C1764(void) {
}
bool Versus_Update(void) {
s32 ret = 0;
switch (gVsMatchState) {
- case 0:
- func_versus_800C1368();
- gVsMatchState = 1;
- func_versus_800C1690();
+ case VS_STATE_0:
+ Versus_InitMatch();
+ gVsMatchState = VS_STATE_1;
+ Versus_ClearFrameCounter();
break;
- case 1:
- if (!func_versus_800C15D8()) {
+ case VS_STATE_1:
+ if (!Versus_InitViewports()) {
break;
}
- if (func_versus_800C16A0(30)) {
+ if (Versus_WaitFrames(30)) {
AUDIO_PLAY_BGM(gBgmSeqId);
- gVsMatchState = 2;
- func_versus_800C1690();
+ gVsMatchState = VS_STATE_2;
+ Versus_ClearFrameCounter();
}
break;
- case 2:
- D_80178778 = 1;
- if (D_801787B4 != func_versus_800BE564()) {
+ case VS_STATE_2:
+ sVsDrawMode = 1;
+ if (sVsPlayerCount != Versus_SelectStartingForm()) {
break;
}
- if (func_versus_800C16A0(30)) {
+ if (Versus_WaitFrames(30)) {
Player_InitVersus();
- gVsMatchState = 3;
- func_versus_800C1690();
+ gVsMatchState = VS_STATE_3;
+ Versus_ClearFrameCounter();
}
break;
- case 3:
- D_80178778 = 2;
- ret = func_versus_800BEF00();
+ case VS_STATE_3:
+ sVsDrawMode = 2;
+ ret = Versus_UpdateStartCountdown();
if (ret == 0) {
break;
}
if (ret == 1) {
- gVsMatchStart = 1;
+ gVsMatchStart = true;
}
- if (func_versus_800C16A0(30)) {
- gVsMatchState = 4;
+ if (Versus_WaitFrames(30)) {
+ gVsMatchState = VS_STATE_4;
}
break;
- case 4:
- if ((sStartVsHurryBgm == 1) && (sVsHurryBgmPlaying == 0)) {
+ case VS_STATE_4:
+ if ((sStartVsHurryBgm == true) && !sVsHurryBgmPlaying) {
AUDIO_PLAY_BGM(NA_BGM_BATTLE_LAST);
- sVsHurryBgmPlaying = 1;
+ sVsHurryBgmPlaying = true;
}
- if (gVsMatchType == 2) {
- D_80178778 = 10;
+ if (gVsMatchType == VS_MATCH_TIME) {
+ sVsDrawMode = 10;
Versus_UpdateTimer();
- func_versus_800BDE3C();
+ Versus_dummy_800BDE3C();
} else {
- D_80178778 = 8;
+ sVsDrawMode = 8;
}
if (Versus_CheckForWinner()) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
- if (gVsMatchType == 2) {
- D_80178778 = 11;
+ if (gVsMatchType == VS_MATCH_TIME) {
+ sVsDrawMode = 11;
} else {
- D_80178778 = 0;
+ sVsDrawMode = 0;
}
- gVsMatchState = 5;
- func_versus_800C1690();
+ gVsMatchState = VS_STATE_5;
+ Versus_ClearFrameCounter();
} else {
- func_versus_800BF17C();
+ Versus_UpdatePlayerStatus();
}
break;
- case 5:
- if (func_versus_800C16A0(60)) {
- switch (gVsWinner) {
+ case VS_STATE_5:
+ if (Versus_WaitFrames(60)) {
+ switch (sVsWinner) {
case 0:
-
case 1:
-
case 2:
-
case 3:
AUDIO_PLAY_BGM(NA_BGM_COURSE_CLEAR);
break;
- case 99:
+ case VS_TIE:
AUDIO_PLAY_BGM(NA_BGM_COURSE_FAILURE);
break;
@@ -1575,46 +1539,46 @@ bool Versus_Update(void) {
}
D_versus_80178750 = 1;
- gVsMatchState = 6;
+ gVsMatchState = VS_STATE_6;
func_versus_800C024C();
}
break;
- case 6:
- D_80178778 = 3;
- if (!func_versus_800C0294(gVsWinner)) {
+ case VS_STATE_6:
+ sVsDrawMode = 3;
+ if (!func_versus_800C0294(sVsWinner)) {
break;
}
- if (func_versus_800C16A0(30)) {
- func_versus_800C1690();
- gVsMatchState = 7;
+ if (Versus_WaitFrames(30)) {
+ Versus_ClearFrameCounter();
+ gVsMatchState = VS_STATE_7;
}
break;
- case 7:
- D_80178778 = 4;
- if (func_versus_800C16A0(15)) {
- func_versus_800C1690();
- if (((gVsMatchType == 0) && (D_801787B4 > 1)) || (gVsMatchType == 2)) {
- gVsMatchState = 8;
+ case VS_STATE_7:
+ sVsDrawMode = 4;
+ if (Versus_WaitFrames(15)) {
+ Versus_ClearFrameCounter();
+ if (((gVsMatchType == VS_MATCH_POINTS) && (sVsPlayerCount > 1)) || (gVsMatchType == VS_MATCH_TIME)) {
+ gVsMatchState = VS_STATE_8;
} else {
- gVsMatchState = 9;
+ gVsMatchState = VS_STATE_9;
}
}
break;
- case 8:
- D_80178778 = 5;
+ case VS_STATE_8:
+ sVsDrawMode = 5;
switch (gVsMatchType) {
- case 0:
- if (func_versus_800C107C(gVsWinner)) {
- gVsMatchState = 9;
+ case VS_MATCH_POINTS:
+ if (func_versus_800C107C(sVsWinner)) {
+ gVsMatchState = VS_STATE_9;
}
break;
- case 2:
+ case VS_MATCH_TIME:
if (func_versus_800C0D10()) {
- gVsMatchState = 9;
+ gVsMatchState = VS_STATE_9;
}
break;
@@ -1624,34 +1588,34 @@ bool Versus_Update(void) {
break;
- case 9:
- D_80178778 = 6;
+ case VS_STATE_9:
+ sVsDrawMode = 6;
if (func_versus_800C08D0()) {
- func_versus_800C1690();
+ Versus_ClearFrameCounter();
D_801787AC = 0.0f;
D_80178830 = 0;
- gVsMatchState = 10;
+ gVsMatchState = VS_STATE_10;
}
break;
- case 10:
- D_80178778 = 7;
- if (func_versus_800C16A0(60) && func_versus_800C0C84()) {
- switch (D_801787A4) {
+ case VS_STATE_10:
+ sVsDrawMode = 7;
+ if (Versus_WaitFrames(60) && Versus_UpdateMenu()) {
+ switch (sVsMatchMenuOption) {
case 0:
- gVsMatchState = 11;
+ gVsMatchState = VS_STATE_11;
break;
case 1:
- gVsMatchState = 12;
+ gVsMatchState = VS_STATE_12;
break;
case 2:
- gVsMatchState = 13;
+ gVsMatchState = VS_STATE_13;
break;
default:
- gVsMatchState = 14;
+ gVsMatchState = VS_STATE_14;
break;
}
@@ -1660,17 +1624,17 @@ bool Versus_Update(void) {
}
break;
- case 11:
+ case VS_STATE_11:
D_80178830 += 16;
if (D_80178830 > 480) {
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
gFillScreenAlpha = gFillScreenAlphaTarget = 255;
gBgColor = 0;
- func_versus_800C16D0();
+ Versus_PlayAgain();
}
break;
- case 12:
+ case VS_STATE_12:
D_80178830 += 16;
if (D_80178830 > 160) {
if (D_80178830 > 176) {
@@ -1679,12 +1643,12 @@ bool Versus_Update(void) {
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
gBgColor = 0;
if (D_80178830 > 224) {
- func_versus_800C1700();
+ Versus_ReturnToMenu();
}
}
break;
- case 13:
+ case VS_STATE_13:
D_80178830 += 16;
if (D_80178830 > 160) {
if (D_80178830 > 176) {
@@ -1695,31 +1659,31 @@ bool Versus_Update(void) {
gBgColor = 0;
if (D_80178830 > 224) {
- func_versus_800BC760();
+ Versus_Exit();
D_menu_801B827C = 1;
}
}
break;
- case 14:
+ case VS_STATE_14:
break;
- case 20:
- D_80178778 = 9;
+ case VS_STATE_20:
+ sVsDrawMode = 9;
if (gInputPress->button & B_BUTTON) {
- gVsMatchState = 13;
+ gVsMatchState = VS_STATE_13;
} else {
- func_versus_800C175C();
+ Versus_dummy_800C175C();
}
break;
}
- if (((gVsMatchState == 8) || (gVsMatchState == 9)) || (gVsMatchState == 10)) {
+ if ((gVsMatchState == VS_STATE_8) || (gVsMatchState == VS_STATE_9) || (gVsMatchState == VS_STATE_10)) {
D_800D4A98++;
}
- if (gVsMatchState >= 5) {
- gPauseEnabled = 0;
+ if (gVsMatchState >= VS_STATE_5) {
+ gPauseEnabled = false;
}
return false;
@@ -1735,10 +1699,10 @@ s32 Versus_Main(void) {
void Versus_Draw(void) {
s32 var_a1;
- D_80178868 = D_80178860;
- D_80178860 = osGetTime();
+ sPrevDrawTime = sDrawTime;
+ sDrawTime = osGetTime();
- switch (D_80178778) {
+ switch (sVsDrawMode) {
case 1:
func_versus_800BEDDC();
break;
@@ -1750,46 +1714,45 @@ void Versus_Draw(void) {
case 7:
case 6:
func_versus_800C0970(D_801787CC, D_801787D0);
-
+ /* fallthrough*/
case 5:
switch (gVsMatchType) {
- case 0:
- func_versus_800C1138(D_801787B8, gVsWinner);
+ case VS_MATCH_POINTS:
+ func_versus_800C1138(D_801787B8, sVsWinner);
break;
- case 2:
+ case VS_MATCH_TIME:
func_versus_800C0E78();
break;
}
+ /* fallthrough*/
case 4:
- if ((gVsMatchType != 2) || ((D_800D4A98 & 0x20) == 0)) {
- if (gVsWinner < 4) {
- func_versus_800C075C();
- }
+ if (((gVsMatchType != VS_MATCH_TIME) || ((D_800D4A98 & 0x20) == 0)) && (sVsWinner < 4)) {
+ func_versus_800C075C();
}
-
+ /* fallthrough*/
case 3:
- func_versus_800C04DC(D_801787C0, D_801787C8, gVsWinner);
- if (D_80178778 == 7) {
+ func_versus_800C04DC(D_801787C0, D_801787C8, sVsWinner);
+ if (sVsDrawMode == 7) {
func_versus_800C0B0C();
}
break;
case 10:
func_versus_800BDE44();
-
+ /* fallthrough*/
case 8:
func_versus_800BF750();
func_versus_800BF59C();
-
+ /* fallthrough*/
case 11:
- if (gVsMatchType == 2) {
- func_versus_800BE300(124.0f, 116.0f, D_versus_80178768);
+ if (gVsMatchType == VS_MATCH_TIME) {
+ Versus_DrawCountdown(124.0f, 116.0f, gVsCountdown);
}
break;
case 9:
- func_versus_800C1764();
+ Versus_dummy_800C1764();
break;
}
@@ -1967,38 +1930,37 @@ void func_versus_800C26C8(void) {
Vec3f dest;
Actor* actor;
- if ((gVsMatchType != 2) || (gVsMatchStart == 0)) {
- return;
- }
-
- if (D_versus_80178758 != 0) {
- D_versus_80178758--;
- }
+ if ((gVsMatchType == VS_MATCH_TIME) && gVsMatchStart) {
- if (D_versus_80178758 == 0) {
- D_versus_80178758 = 2;
-
- src.x = 0.0f;
- src.y = 500.0f;
- src.z = -10000.0f;
-
- for (i = 0, actor = &gActors[10]; i < 5; i++, actor++) {
- if (actor->obj.status == OBJ_FREE) {
- Actor_Initialize(actor);
- actor->obj.status = OBJ_ACTIVE;
- actor->obj.id = 197;
- Matrix_RotateY(gCalcMatrix, M_DTOR * RAND_FLOAT(360.0f), MTXF_NEW);
- Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
- actor->obj.pos.x = dest.x;
- actor->obj.pos.y = dest.y;
- actor->obj.pos.z = dest.z;
- actor->aiType = i + AI360_10;
- actor->health = 24;
- actor->timer_0C2 = 30;
+ if (D_versus_80178758 != 0) {
+ D_versus_80178758--;
+ }
- Object_SetInfo(&actor->info, actor->obj.id);
- actor->info.action = (ObjectFunc) func_versus_800C2244;
- break;
+ if (D_versus_80178758 == 0) {
+ D_versus_80178758 = 2;
+
+ src.x = 0.0f;
+ src.y = 500.0f;
+ src.z = -10000.0f;
+
+ for (i = 0, actor = &gActors[10]; i < 5; i++, actor++) {
+ if (actor->obj.status == OBJ_FREE) {
+ Actor_Initialize(actor);
+ actor->obj.status = OBJ_ACTIVE;
+ actor->obj.id = 197;
+ Matrix_RotateY(gCalcMatrix, M_DTOR * RAND_FLOAT(360.0f), MTXF_NEW);
+ Matrix_MultVec3fNoTranslate(gCalcMatrix, &src, &dest);
+ actor->obj.pos.x = dest.x;
+ actor->obj.pos.y = dest.y;
+ actor->obj.pos.z = dest.z;
+ actor->aiType = i + AI360_10;
+ actor->health = 24;
+ actor->timer_0C2 = 30;
+
+ Object_SetInfo(&actor->info, actor->obj.id);
+ actor->info.action = (ObjectFunc) func_versus_800C2244;
+ break;
+ }
}
}
}