summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorpetrie911 <69443847+petrie911@users.noreply.github.com>2024-05-25 12:17:03 -0500
committerGitHub <noreply@github.com>2024-05-25 12:17:03 -0500
commit0f6d7cca339705baa473b709be30e08ed85a67a6 (patch)
treeab0d5b4d19d3a46b2a0316f40f4cab194438813c /src
parent03ce166cca2b9d71b13b9af40cf6875698d36136 (diff)
Player and Vs docs, some improvement to ve1 boss (#259)
* playerstuff * stuff * small fixes * Torch * torch update again
Diffstat (limited to 'src')
-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
-rw-r--r--src/mods/fpscounter.c3
-rw-r--r--src/mods/levelselect.c20
-rw-r--r--src/mods/object_ram.c36
-rw-r--r--src/mods/sfxjukebox.c220
-rw-r--r--src/mods/sfxjukebox2.c227
-rw-r--r--src/overlays/ovl_ending/fox_end2.c2
-rw-r--r--src/overlays/ovl_i1/fox_co.c2
-rw-r--r--src/overlays/ovl_i1/fox_ve1.c310
-rw-r--r--src/overlays/ovl_i2/fox_sx.c4
-rw-r--r--src/overlays/ovl_i3/fox_a6.c4
-rw-r--r--src/overlays/ovl_i3/fox_aq.c44
-rw-r--r--src/overlays/ovl_i3/fox_so.c2
-rw-r--r--src/overlays/ovl_i3/fox_zo.c2
-rw-r--r--src/overlays/ovl_i4/fox_bo.c16
-rw-r--r--src/overlays/ovl_i4/fox_fo.c10
-rw-r--r--src/overlays/ovl_i4/fox_ka.c9
-rw-r--r--src/overlays/ovl_i4/fox_sz.c12
-rw-r--r--src/overlays/ovl_i5/fox_ma.c20
-rw-r--r--src/overlays/ovl_i5/fox_ti.c8
-rw-r--r--src/overlays/ovl_i5/fox_ti_cs.c6
-rw-r--r--src/overlays/ovl_i6/fox_andross.c26
-rw-r--r--src/overlays/ovl_i6/fox_sy.c6
-rw-r--r--src/overlays/ovl_i6/fox_ve2.c2
-rw-r--r--src/overlays/ovl_menu/fox_map.c8
-rw-r--r--src/overlays/ovl_menu/fox_option.c2
39 files changed, 1277 insertions, 1411 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;
+ }
}
}
}
diff --git a/src/mods/fpscounter.c b/src/mods/fpscounter.c
index 033c2fbd..2f9a135e 100644
--- a/src/mods/fpscounter.c
+++ b/src/mods/fpscounter.c
@@ -24,7 +24,8 @@ static void CalculateFrameTimeFromOSTime(OSTime diff) {
static void Play_RenderFps(void) {
// Toggle rendering framerate with the L button.
- if (gControllerPress[0].button & L_TRIG) {
+ if ((gControllerPress[gMainController].button & L_TRIG) &&
+ !(~gControllerHold[gMainController].button & (Z_TRIG | R_TRIG))) {
gRenderFPS ^= 1;
}
if (gRenderFPS) {
diff --git a/src/mods/levelselect.c b/src/mods/levelselect.c
index f386ebd4..30cc4d25 100644
--- a/src/mods/levelselect.c
+++ b/src/mods/levelselect.c
@@ -28,21 +28,23 @@ void Map_LevelSelect(void) {
"ZONESS", "CORNERIA", "TITANIA", "AQUAS", "FORTUNA", "VENOM 1", "SOLAR", "VENOM 2",
};
static s32 startOption = 0;
+
// static f32 zStart = 0.0f;
// f32 zInc;
s32 nextPlanetId;
+ OSContPad* contPress = &gControllerPress[gMainController];
- if (gControllerPress[0].button & L_JPAD) {
+ if (contPress->button & L_JPAD) {
mission--;
if (mission < 0) {
mission = 6;
}
- } else if (gControllerPress[0].button & R_JPAD) {
+ } else if (contPress->button & R_JPAD) {
mission++;
if (mission > 6) {
mission = 0;
}
- } else if ((gControllerPress[0].button & U_JPAD) && (mission != 0)) {
+ } else if ((contPress->button & U_JPAD) && (mission != 0)) {
difficulty++;
if (difficulty > 2) {
difficulty = 0;
@@ -50,7 +52,7 @@ void Map_LevelSelect(void) {
if ((difficulty == 1) && ((mission == 1) || (mission == 5) || (mission == 6))) {
difficulty = 2;
}
- } else if ((gControllerPress[0].button & D_JPAD) && (mission != 0)) {
+ } else if ((contPress->button & D_JPAD) && (mission != 0)) {
difficulty--;
if ((difficulty != 2) && ((mission == 1) || (mission == 5) || (mission == 6))) {
difficulty--;
@@ -68,17 +70,17 @@ void Map_LevelSelect(void) {
Map_801A6368();
Map_801A914C();
}
- if (gControllerPress[0].button & L_TRIG) {
+ if (contPress->button & L_TRIG) {
startOption ^= 1;
}
- // if (gControllerPress[0].button & U_CBUTTONS) {
+ // if (contPress->button & U_CBUTTONS) {
// zInc = 100.0f;
- // } else if (gControllerPress[0].button & R_CBUTTONS) {
+ // } else if (contPress->button & R_CBUTTONS) {
// zInc = 1000.0f;
- // } else if (gControllerPress[0].button & D_CBUTTONS) {
+ // } else if (contPress->button & D_CBUTTONS) {
// zInc = -100.0f;
- // } else if (gControllerPress[0].button & L_CBUTTONS) {
+ // } else if (contPress->button & L_CBUTTONS) {
// zInc = -1000.0f;
// }
// if (gControllerHold[0].button & R_TRIG) {
diff --git a/src/mods/object_ram.c b/src/mods/object_ram.c
index 9c748b7d..2ceb3153 100644
--- a/src/mods/object_ram.c
+++ b/src/mods/object_ram.c
@@ -1,18 +1,15 @@
#include "object_ram.h"
static RamEntry oRamEntries[7] = {
- ORAM_ENTRY(PlayerShot, 15, obj.id, u8),
- ORAM_ENTRY(Player, 0, pos.y, f32),
- ORAM_ENTRY(Player, 0, pos.z, f32),
- ORAM_ENTRY(Actor, 0, obj.status, x32),
- ORAM_OFF,
- ORAM_OFF,
- ORAM_OFF,
+ ORAM_ENTRY(Player, 0, unk_20C, s32), ORAM_ENTRY(Player, 0, unk_19C, s32), ORAM_ENTRY(Player, 0, unk_1A0, s32),
+ ORAM_ENTRY(Player, 0, dmgType, s32), ORAM_ENTRY(Player, 0, unk_2C0, f32), ORAM_ENTRY(Player, 0, xRot_0FC, f32),
+ ORAM_ENTRY(Player, 0, zRot_0FC, f32),
};
static s32 holdTimer = 0;
static s32 selectNum = 0;
-static RamModMode oRamActive = RAMMOD_OFF;
+static bool oRamActive = false;
+static RamModMode oRamMode = RAMMOD_OFF;
static s32 editMode = EDM_TYPE;
static s32 editing = false;
static s32 editingValue = false;
@@ -662,6 +659,8 @@ void CheatRam_Update(void) {
}
void RamMod_Update(void) {
+ static s32 toggle;
+ static s32 toggle2;
contPress = &gControllerPress[gMainController];
contHold = &gControllerHold[gMainController];
@@ -677,12 +676,25 @@ void RamMod_Update(void) {
cheats[CHEAT_COMPLETE].hold = false;
}
- if ((gPlayState == PLAY_PAUSE) && (contPress->button & R_CBUTTONS)) {
- oRamActive++;
- oRamActive = WRAP_MODE(oRamActive, RAMMOD_MAX);
+ // if (!(~contHold->button & (R_CBUTTONS | Z_TRIG | R_TRIG))) {
+ // if(!toggle) {
+ // oRamActive ^= 1;
+ // toggle = true;
+ // }
+ // } else {
+ // toggle = false;
+ // }
+
+ // if(!oRamActive) {
+ // return;
+ // }
+
+ if (!(~contHold->button & (Z_TRIG | R_TRIG)) && (contPress->button & R_CBUTTONS)) {
+ oRamMode++;
+ oRamMode = WRAP_MODE(oRamMode, RAMMOD_MAX);
}
- switch (oRamActive) {
+ switch (oRamMode) {
case RAMMOD_OFF:
break;
case RAMMOD_CHEAT:
diff --git a/src/mods/sfxjukebox.c b/src/mods/sfxjukebox.c
index 40303f94..b7d3d728 100644
--- a/src/mods/sfxjukebox.c
+++ b/src/mods/sfxjukebox.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "fox_map.h"
#include "fox_option.h"
+#include "sf64audio_provisional.h"
extern s32 spectrumAnalyzerMode;
extern bool D_menu_801B9320;
@@ -8,100 +9,175 @@ extern s32 D_menu_801B9244;
extern OptionId D_menu_801B9124;
extern s32 D_menu_801B912C;
-u32 prevSfx = 0;
-u32 sfx = 0x09000000;
-s32 sfxId = 0;
-s32 sfxBank = 0;
-int holdTimer = 0;
-
-void decimalToHex(int num, char* hexString, size_t hexStringLength) {
- int i;
- // Define hexadecimal digits
- char hexDigits[] = "0123456789ABCDEF";
- // Check for null pointer or insufficient buffer size
- if (hexString == NULL || hexStringLength < 9) {
- // You might need to adjust the buffer size based on the maximum expected length
- return;
+static s32 showJukebox = 0;
+static u32 prevSfx = NA_SE_NONE;
+static u32 sfx = NA_SE_NONE;
+static s32 sfxId = 0;
+static u32 sfxBank = SFX_BANK_PLAYER;
+static u32 sfxRange = 0;
+static s32 sfxImport = 0;
+static int holdTimer = 0;
+static u8 sfxFlag = 0;
+static u8 sfxFlags[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
+static char* flagNames[] = { "F18", "F19", "F20", "F21", "F22", "F23", "STT", "F25", "F26", "SFX" };
+static u8 bankSizes[] = { 0x33, 0x85, 0x9C, 0x9C, 0x37 };
+static u32 sfxEditMode = 9;
+static u32 srcEditMode = 0;
+static u32 editMode = 0;
+static s32 srcVec[3] = { 0, 0, 0 };
+static f32 sfxSource[3] = { 0.0f, 0.0f, 0.0f };
+static OSContPad* contPress;
+static OSContPad* contHold;
+
+void Jukebox_SelectFlag(u8* flag) {
+ if (contPress->button & (U_CBUTTONS | D_CBUTTONS | R_CBUTTONS | L_CBUTTONS)) {
+ *flag ^= 1;
}
+}
- // Ensure the buffer is null-terminated
- hexString[8] = '\0';
+void Jukebox_SelectWrap(u32* option, s32 range) {
+ if (contPress->button & (U_CBUTTONS | R_CBUTTONS)) {
+ (*option)++;
+ } else if (contPress->button & (D_CBUTTONS | L_CBUTTONS)) {
+ (*option)--;
+ }
+ *option = (*option + range) % range;
+}
- // Iterate through each hex digit
- for (i = 7; i >= 0; --i) {
- // Extract the 4 bits representing one hex digit
- int hexValue = (num >> (i * 4)) & 0xF;
+Jukebox_SelectClamp(s32* option, s32 range, s32 skip) {
+ if (contHold->button & (U_CBUTTONS | D_CBUTTONS)) {
+ holdTimer++;
+ } else {
+ holdTimer = 0;
+ }
- // Convert the 4-bit value to its corresponding hex character
- hexString[7 - i] = hexDigits[hexValue];
+ if (((contHold->button & U_CBUTTONS) && (holdTimer > 15)) || (contPress->button & U_CBUTTONS)) {
+ (*option)++;
+ } else if (((contHold->button & D_CBUTTONS) && (holdTimer > 15)) || (contPress->button & D_CBUTTONS)) {
+ (*option)--;
+ } else if (contPress->button & L_CBUTTONS) {
+ *option -= skip;
+ } else if (contPress->button & R_CBUTTONS) {
+ *option += skip;
+ }
+ if (*option < 0) {
+ *option = 0;
+ } else if (*option >= range) {
+ *option = range - 1;
}
}
-void Option_ExpertSoundUpdate(void) {
- char hexString[9]; // Buffer to store the hexadecimal string
-
- if ((gControllerPress[gMainController].button & R_TRIG) && (sfxBank < 4)) {
- sfxBank++;
- } else if ((gControllerPress[gMainController].button & L_TRIG) && (sfxBank > 0)) {
- sfxBank--;
+void Jukebox_UpdateSource(void) {
+ if (contPress->button & L_JPAD) {
+ srcEditMode--;
+ } else if (contPress->button & R_JPAD) {
+ srcEditMode++;
}
- sfx &= 0x0FFFFFFF;
- sfx |= (sfxBank << 28);
+ srcEditMode = (srcEditMode + 3) % 3;
- if (gControllerHold[gMainController].button & (U_JPAD | D_JPAD)) {
+ if (contHold->button & (U_CBUTTONS | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS)) {
holdTimer++;
} else {
holdTimer = 0;
}
- if (((gControllerHold[gMainController].button & U_JPAD) && (holdTimer > 15)) ||
- (gControllerPress[gMainController].button & U_JPAD)) {
- sfxId++;
- } else if (((gControllerHold[gMainController].button & D_JPAD) && (holdTimer > 15)) ||
- (gControllerPress[gMainController].button & D_JPAD)) {
- sfxId--;
- } else if (gControllerPress[gMainController].button & L_JPAD) {
- sfxId -= 0x10;
- } else if (gControllerPress[gMainController].button & R_JPAD) {
- sfxId += 0x10;
+ if (((contHold->button & U_CBUTTONS) && (holdTimer > 15)) || (contPress->button & U_CBUTTONS)) {
+ sfxSource[srcEditMode] += 100.0f;
+ } else if (((contHold->button & D_CBUTTONS) && (holdTimer > 15)) || (contPress->button & D_CBUTTONS)) {
+ sfxSource[srcEditMode] -= 100.0f;
+ } else if (((contHold->button & R_CBUTTONS) && (holdTimer > 15)) || (contPress->button & R_CBUTTONS)) {
+ sfxSource[srcEditMode] += 10.0f;
+ } else if (((contHold->button & L_CBUTTONS) && (holdTimer > 15)) || (contPress->button & L_CBUTTONS)) {
+ sfxSource[srcEditMode] -= 10.0f;
+ }
+}
+
+void Jukebox_UpdateSfx(void) {
+ s32 i;
+ u16 flags = 0;
+
+ if (contPress->button & L_JPAD) {
+ sfxEditMode--;
+ } else if (contPress->button & R_JPAD) {
+ sfxEditMode++;
+ }
+ sfxEditMode = (sfxEditMode + 13) % 13;
+ switch (sfxEditMode) {
+ case 9:
+ Jukebox_SelectWrap(&sfxBank, 5);
+ break;
+ case 10:
+ Jukebox_SelectClamp(&sfxId, bankSizes[sfxBank], 0x10);
+ break;
+ case 11:
+ Jukebox_SelectFlag(&sfxFlag);
+ break;
+ case 12:
+ Jukebox_SelectWrap(&sfxRange, 4);
+ break;
+ case 8:
+ Jukebox_SelectClamp(&sfxImport, 0x100, 0x10);
+ break;
+ default:
+ if ((sfxEditMode >= 0) && (sfxEditMode < 8)) {
+ Jukebox_SelectFlag(&sfxFlags[sfxEditMode]);
+ }
+ break;
}
+ for (i = 0; i < 8; i++) {
+ flags |= sfxFlags[i] << (i + (i > 5));
+ }
+ sfx = SFX_PACK(sfxBank, sfxId, sfxRange, sfxImport, (sfxFlag << 27) | (flags << 18));
+}
+
+s32 sfxModeX[] = { 95, 104, 113, 122, 131, 140, 149, 158, 180, 0, 22, 43, 60 };
+s32 srcModeX[] = { 45, 135, 225 };
- if (((sfxBank == 0) || (sfxBank == 4)) && (sfxId > 0x3F)) {
- sfxId = 0x3F;
- } else if (((sfxBank == 2) || (sfxBank == 3)) && (sfxId > 0xA7)) {
- sfxId = 0xA7;
- } else if ((sfxBank == 1) && (sfxId > 0x8F)) {
- sfxId = 0x8F;
- } else if (sfxId < 0) {
- sfxId = 0;
+void Jukebox_Update(void) {
+ s32 i;
+
+ contPress = &gControllerPress[gMainController];
+ contHold = &gControllerHold[gMainController];
+
+ if (contPress->button & U_JPAD) {
+ editMode--;
+ } else if (contPress->button & D_JPAD) {
+ editMode++;
+ }
+ editMode %= 2;
+ switch (editMode) {
+ case 0:
+ Jukebox_UpdateSfx();
+ break;
+ case 1:
+ Jukebox_UpdateSource();
+ break;
}
- sfx &= 0xFFFFFF00;
- sfx |= sfxId & 0xFF;
if (prevSfx != sfx) {
AUDIO_PLAY_SFX(NA_SE_CURSOR, gDefaultSfxSource, 4);
prevSfx = sfx;
}
- decimalToHex(sfx, hexString, sizeof(hexString));
-
- if (gControllerPress[gMainController].button & A_BUTTON) {
+ if (contPress->button & A_BUTTON) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
- AUDIO_PLAY_SFX(sfx, gDefaultSfxSource, 4);
+ AUDIO_PLAY_SFX(sfx, sfxSource, 4);
D_menu_801B9320 = true;
}
- if (gControllerPress[gMainController].button & B_BUTTON) {
+ if (contPress->button & B_BUTTON) {
if (!D_menu_801B9320) {
+ AUDIO_PLAY_SFX(NA_SE_ARWING_CANCEL, gDefaultSfxSource, 4);
AUDIO_PLAY_BGM(NA_BGM_SELECT);
gDrawMode = DRAW_NONE;
D_menu_801B9124 = 1000;
D_menu_801B912C = 0;
D_menu_801B9244 = 1;
+ return;
} else {
AUDIO_PLAY_SFX(NA_SE_CANCEL, gDefaultSfxSource, 4);
- Audio_KillSfxBySource(gDefaultSfxSource);
+ Audio_KillSfxBySource(sfxSource);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
D_menu_801B9320 = false;
@@ -109,7 +185,7 @@ void Option_ExpertSoundUpdate(void) {
}
// Spectrum Analyzer mode selector
- if (gControllerPress[gMainController].button & R_CBUTTONS) {
+ if (contPress->button & Z_TRIG) {
spectrumAnalyzerMode++;
if (spectrumAnalyzerMode > 2) {
spectrumAnalyzerMode = 0;
@@ -121,6 +197,28 @@ void Option_ExpertSoundUpdate(void) {
RCP_SetupDL(&gMasterDisp, SETUPDL_83);
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
- Graphics_DisplaySmallText(20, 50, 1.0f, 1.0f, "SFX ID:");
- Graphics_DisplaySmallText(80, 50, 1.0f, 1.0f, hexString);
+ Graphics_Printf("SFX ID: %08X", sfx);
+ Graphics_DisplaySmallText(20, 50, 1.0f, 1.0f, D_801619A0);
+ Graphics_DisplaySmallText(20, 80, 1.0f, 1.0f, "B ID X R S FLAG IMP");
+ Graphics_Printf("%d %02X %d %d %d %d%d%d%d%d%d%d%d %02X", sfxBank, sfxId, sfxFlag, sfxRange, 1, sfxFlags[0],
+ sfxFlags[1], sfxFlags[2], sfxFlags[3], sfxFlags[4], sfxFlags[5], sfxFlags[6], sfxFlags[7],
+ sfxImport);
+ Graphics_DisplaySmallText(20, 70, 1.0f, 1.0f, D_801619A0);
+
+ // Graphics_DisplaySmallText(80, 50, 1.0f, 1.0f, hexString);
+ for (i = 0; i < 3; i++) {
+ Graphics_Printf("%5.0f", sfxSource[i]);
+ Graphics_DisplaySmallText(20 + 90 * i, 100, 1.0f, 1.0f, D_801619A0);
+ }
+ Graphics_DisplaySmallText(45, 110, 1.0f, 1.0f, "X");
+ Graphics_DisplaySmallText(135, 110, 1.0f, 1.0f, "Y");
+ Graphics_DisplaySmallText(225, 110, 1.0f, 1.0f, "Z");
+ switch (editMode) {
+ case 0:
+ Graphics_DisplaySmallText(20 + sfxModeX[sfxEditMode], 60, 1.0f, 1.0f, "V");
+ break;
+ case 1:
+ Graphics_DisplaySmallText(45 + 90 * srcEditMode, 90, 1.0f, 1.0f, "V");
+ break;
+ }
}
diff --git a/src/mods/sfxjukebox2.c b/src/mods/sfxjukebox2.c
deleted file mode 100644
index 3ac9d414..00000000
--- a/src/mods/sfxjukebox2.c
+++ /dev/null
@@ -1,227 +0,0 @@
-#include "global.h"
-#include "fox_map.h"
-#include "fox_option.h"
-#include "sf64audio_provisional.h"
-
-extern s32 spectrumAnalyzerMode;
-extern bool D_menu_801B9320;
-extern s32 D_menu_801B9244;
-extern OptionId D_menu_801B9124;
-extern s32 D_menu_801B912C;
-
-static s32 showJukebox = 0;
-static u32 prevSfx = NA_SE_NONE;
-static u32 sfx = NA_SE_NONE;
-static s32 sfxId = 0;
-static u32 sfxBank = SFX_BANK_PLAYER;
-static u32 sfxRange = 0;
-static s32 sfxImport = 0;
-static int holdTimer = 0;
-static u8 sfxFlag = 0;
-static u8 sfxFlags[] = { 0, 0, 0, 0, 0, 0, 0, 0 };
-static char* flagNames[] = { "F18", "F19", "F20", "F21", "F22", "F23", "STT", "F25", "F26", "SFX" };
-static u8 bankSizes[] = { 0x33, 0x85, 0x9C, 0x9C, 0x37 };
-static u32 sfxEditMode = 9;
-static u32 srcEditMode = 0;
-static u32 editMode = 0;
-static s32 srcVec[3] = { 0, 0, 0 };
-static f32 sfxSource[3] = { 0.0f, 0.0f, 0.0f };
-
-void Jukebox_SelectFlag(u8* flag) {
- if (gControllerPress[gMainController].button & (U_CBUTTONS | D_CBUTTONS | R_CBUTTONS | L_CBUTTONS)) {
- *flag ^= 1;
- }
-}
-
-void Jukebox_SelectWrap(u32* option, s32 range) {
- if (gControllerPress[gMainController].button & (U_CBUTTONS | R_CBUTTONS)) {
- (*option)++;
- } else if (gControllerPress[gMainController].button & (D_CBUTTONS | L_CBUTTONS)) {
- (*option)--;
- }
- *option = (*option + range) % range;
-}
-
-Jukebox_SelectClamp(s32* option, s32 range, s32 skip) {
- OSContPad* contPress = &gControllerPress[gMainController];
- OSContPad* contHold = &gControllerHold[gMainController];
-
- if (contHold->button & (U_CBUTTONS | D_CBUTTONS)) {
- holdTimer++;
- } else {
- holdTimer = 0;
- }
-
- if (((contHold->button & U_CBUTTONS) && (holdTimer > 15)) || (contPress->button & U_CBUTTONS)) {
- (*option)++;
- } else if (((contHold->button & D_CBUTTONS) && (holdTimer > 15)) || (contPress->button & D_CBUTTONS)) {
- (*option)--;
- } else if (contPress->button & L_CBUTTONS) {
- *option -= skip;
- } else if (contPress->button & R_CBUTTONS) {
- *option += skip;
- }
- if (*option < 0) {
- *option = 0;
- } else if (*option >= range) {
- *option = range - 1;
- }
-}
-
-void Jukebox_UpdateSource(void) {
- OSContPad* contPress = &gControllerPress[gMainController];
- OSContPad* contHold = &gControllerHold[gMainController];
-
- if (contPress->button & L_JPAD) {
- srcEditMode--;
- } else if (contPress->button & R_JPAD) {
- srcEditMode++;
- }
- srcEditMode = (srcEditMode + 3) % 3;
-
- if (contHold->button & (U_CBUTTONS | D_CBUTTONS | L_CBUTTONS | R_CBUTTONS)) {
- holdTimer++;
- } else {
- holdTimer = 0;
- }
-
- if (((contHold->button & U_CBUTTONS) && (holdTimer > 15)) || (contPress->button & U_CBUTTONS)) {
- sfxSource[srcEditMode] += 100.0f;
- } else if (((contHold->button & D_CBUTTONS) && (holdTimer > 15)) || (contPress->button & D_CBUTTONS)) {
- sfxSource[srcEditMode] -= 100.0f;
- } else if (((contHold->button & R_CBUTTONS) && (holdTimer > 15)) || (contPress->button & R_CBUTTONS)) {
- sfxSource[srcEditMode] += 10.0f;
- } else if (((contHold->button & L_CBUTTONS) && (holdTimer > 15)) || (contPress->button & L_CBUTTONS)) {
- sfxSource[srcEditMode] -= 10.0f;
- }
-}
-
-void Jukebox_UpdateSfx(void) {
- s32 i;
- u16 flags = 0;
-
- if (gControllerPress[gMainController].button & L_JPAD) {
- sfxEditMode--;
- } else if (gControllerPress[gMainController].button & R_JPAD) {
- sfxEditMode++;
- }
- sfxEditMode = (sfxEditMode + 13) % 13;
- switch (sfxEditMode) {
- case 9:
- Jukebox_SelectWrap(&sfxBank, 5);
- break;
- case 10:
- Jukebox_SelectClamp(&sfxId, bankSizes[sfxBank], 0x10);
- break;
- case 11:
- Jukebox_SelectFlag(&sfxFlag);
- break;
- case 12:
- Jukebox_SelectWrap(&sfxRange, 4);
- break;
- case 8:
- Jukebox_SelectClamp(&sfxImport, 0x100, 0x10);
- break;
- default:
- if ((sfxEditMode >= 0) && (sfxEditMode < 8)) {
- Jukebox_SelectFlag(&sfxFlags[sfxEditMode]);
- }
- break;
- }
- for (i = 0; i < 8; i++) {
- flags |= sfxFlags[i] << (i + (i > 5));
- }
- sfx = SFX_PACK(sfxBank, sfxId, sfxRange, sfxImport, (sfxFlag << 27) | (flags << 18));
-}
-
-s32 sfxModeX[] = { 95, 104, 113, 122, 131, 140, 149, 158, 180, 0, 22, 43, 60 };
-s32 srcModeX[] = { 45, 135, 225 };
-
-void Jukebox_Update(void) {
- s32 i;
- OSContPad* contPress = &gControllerPress[gMainController];
- OSContPad* contHold = &gControllerHold[gMainController];
-
- if (contPress->button & U_JPAD) {
- editMode--;
- } else if (contPress->button & D_JPAD) {
- editMode++;
- }
- editMode %= 2;
- switch (editMode) {
- case 0:
- Jukebox_UpdateSfx();
- break;
- case 1:
- Jukebox_UpdateSource();
- break;
- }
-
- if (prevSfx != sfx) {
- AUDIO_PLAY_SFX(NA_SE_CURSOR, gDefaultSfxSource, 4);
- prevSfx = sfx;
- }
-
- if (contPress->button & A_BUTTON) {
- SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
- SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
- AUDIO_PLAY_SFX(sfx, sfxSource, 4);
- D_menu_801B9320 = true;
- }
-
- if (contPress->button & B_BUTTON) {
- if (!D_menu_801B9320) {
- AUDIO_PLAY_SFX(NA_SE_ARWING_CANCEL, gDefaultSfxSource, 4);
- AUDIO_PLAY_BGM(NA_BGM_SELECT);
- gDrawMode = DRAW_NONE;
- D_menu_801B9124 = 1000;
- D_menu_801B912C = 0;
- D_menu_801B9244 = 1;
- return;
- } else {
- AUDIO_PLAY_SFX(NA_SE_CANCEL, gDefaultSfxSource, 4);
- Audio_KillSfxBySource(sfxSource);
- SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 1);
- SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 1);
- D_menu_801B9320 = false;
- }
- }
-
- // Spectrum Analyzer mode selector
- if (contPress->button & Z_TRIG) {
- spectrumAnalyzerMode++;
- if (spectrumAnalyzerMode > 2) {
- spectrumAnalyzerMode = 0;
- }
- }
-
- /* Draw */
-
- RCP_SetupDL(&gMasterDisp, SETUPDL_83);
- gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
-
- Graphics_Printf("SFX ID: %08X", sfx);
- Graphics_DisplaySmallText(20, 50, 1.0f, 1.0f, D_801619A0);
- Graphics_DisplaySmallText(20, 80, 1.0f, 1.0f, "B ID X R S FLAG IMP");
- Graphics_Printf("%d %02X %d %d %d %d%d%d%d%d%d%d%d %02X", sfxBank, sfxId, sfxFlag, sfxRange, 1, sfxFlags[0],
- sfxFlags[1], sfxFlags[2], sfxFlags[3], sfxFlags[4], sfxFlags[5], sfxFlags[6], sfxFlags[7],
- sfxImport);
- Graphics_DisplaySmallText(20, 70, 1.0f, 1.0f, D_801619A0);
-
- // Graphics_DisplaySmallText(80, 50, 1.0f, 1.0f, hexString);
- for (i = 0; i < 3; i++) {
- Graphics_Printf("%5.0f", sfxSource[i]);
- Graphics_DisplaySmallText(20 + 90 * i, 100, 1.0f, 1.0f, D_801619A0);
- }
- Graphics_DisplaySmallText(45, 110, 1.0f, 1.0f, "X");
- Graphics_DisplaySmallText(135, 110, 1.0f, 1.0f, "Y");
- Graphics_DisplaySmallText(225, 110, 1.0f, 1.0f, "Z");
- switch (editMode) {
- case 0:
- Graphics_DisplaySmallText(20 + sfxModeX[sfxEditMode], 60, 1.0f, 1.0f, "V");
- break;
- case 1:
- Graphics_DisplaySmallText(45 + 90 * srcEditMode, 90, 1.0f, 1.0f, "V");
- break;
- }
-}
diff --git a/src/overlays/ovl_ending/fox_end2.c b/src/overlays/ovl_ending/fox_end2.c
index 71f44963..97be8082 100644
--- a/src/overlays/ovl_ending/fox_end2.c
+++ b/src/overlays/ovl_ending/fox_end2.c
@@ -1076,7 +1076,7 @@ void Ending_801926D4(void) {
if ((0 <= D_ending_80192E70) && (D_ending_80192E70 < 100)) {
D_ending_80192E70 = 100;
- if (D_ctx_80177824 == 0) {
+ if (!gClearPlayerInfo) {
D_ending_80198590 = gPlayer[0].wings;
} else {
D_ending_80198590.rightState = D_ending_80198590.leftState = WINGSTATE_INTACT;
diff --git a/src/overlays/ovl_i1/fox_co.c b/src/overlays/ovl_i1/fox_co.c
index cd7b7fa4..880d9c9a 100644
--- a/src/overlays/ovl_i1/fox_co.c
+++ b/src/overlays/ovl_i1/fox_co.c
@@ -2989,7 +2989,7 @@ void Corneria_LevelStart(Player* player) {
}
if (player->csTimer < 150) {
- player->unk_204 = 0;
+ player->wingPosition = 0;
}
if ((player->csTimer < 120) && ((player->csTimer % 16) == 0)) {
diff --git a/src/overlays/ovl_i1/fox_ve1.c b/src/overlays/ovl_i1/fox_ve1.c
index 71be172f..f87fb53a 100644
--- a/src/overlays/ovl_i1/fox_ve1.c
+++ b/src/overlays/ovl_i1/fox_ve1.c
@@ -494,124 +494,6 @@ void Venom1_80192AA4(Actor* actor) {
}
}
-Gfx* D_VE1_8019A008[17] = {
- D_VE1_90150A0, D_VE1_9015BB0, D_VE1_9015900, D_VE1_9000000, D_VE1_9022A20, D_VE1_9021630,
- D_VE1_9015480, D_VE1_90007F0, D_VE1_9014DF0, D_VE1_9022D80, D_VE1_901E350, D_VE1_901F990,
- D_VE1_901F6D0, D_VE1_9021900, D_VE1_901FC40, D_VE1_9021B80, D_VE1_9013880,
-};
-s16 D_i1_8019A04C[3][2] = { { -2500, 300 }, { -1000, 0 }, { -5000, 0 } };
-UnkStruct_i1_8019A058 D_i1_8019A058[33] = {
- { { 56.0f, 35.0f, 5.0f }, 70.0f }, { { 64.0f, -86.0f, 5.0f }, 60.0f }, { { 54.0f, 0.0f, 2.0f }, 50.0f },
- { { 54.0f, 4.0f, -2.0f }, 50.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 56.0f, 35.0f, -5.0f }, 70.0f },
- { { 64.0f, -86.0f, -5.0f }, 60.0f }, { { 54.0f, 0.0f, -2.0f }, 50.0f }, { { 54.0f, 0.0f, 2.0f }, 50.0f },
- { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 24.0f, 18.0f, 4.0f }, 50.0f }, { { 126.0f, -8.0f, 7.0f }, 80.0f },
- { { 23.0f, 10.0f, 0.0f }, 40.0f }, { { 101.0f, 12.0f, 2.0f }, 50.0f }, { { 56.0f, 0.0f, -3.0f }, 50.0f },
- { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 24.0f, 18.0f, -4.0f }, 50.0f }, { { 126.0f, -8.0f, -7.0f }, 80.0f },
- { { 23.0f, 10.0f, 0.0f }, 40.0f }, { { 101.0f, 12.0f, -2.0f }, 50.0f }, { { 56.0f, 0.0f, 3.0f }, 50.0f },
- { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 74.0f, -3.0f, -6.0f }, 60.0f },
- { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 74.0f, -3.0f, 6.0f }, 60.0f }, { { 44.0f, 0.0f, 0.0f }, 70.0f },
- { { 108.0f, 0.0f, 0.0f }, 160.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 134.0f, 70.0f, 84.0f }, 70.0f },
- { { 134.0f, -70.0f, 84.0f }, 70.0f }, { { 122.0f, 81.0f, -73.0f }, 80.0f }, { { 122.0f, -81.0f, -73.0f }, 80.0f },
-};
-UnkStruct_i1_8019A058 D_i1_8019A268[33] = {
- { { 54.0f, -83.0f, 9.0f }, 50.0f }, { { 46.0f, 34.0f, 9.0f }, 60.0f }, { { 48.0f, 0.0f, 9.0f }, 50.0f },
- { { 3.0f, 0.0f, 9.0f }, 30.0f }, { { 70.0f, 0.0f, 6.0f }, 30.0f }, { { 54.0f, -83.0f, -8.0f }, 50.0f },
- { { 46.0f, 34.0f, -8.0f }, 60.0f }, { { 48.0f, 0.0f, -8.0f }, 50.0f }, { { 3.0f, 0.0f, -8.0f }, 30.0f },
- { { 70.0f, 0.0f, -6.0f }, 30.0f }, { { 48.0f, 7.0f, -6.0f }, 50.0f }, { { 156.0f, -3.0f, -6.0f }, 70.0f },
- { { 27.0f, 12.0f, -6.0f }, 40.0f }, { { 100.0f, 18.0f, -6.0f }, 40.0f }, { { 0.0f, 0.0f, -6.0f }, 40.0f },
- { { 80.0f, 2.0f, -6.0f }, 40.0f }, { { 48.0f, 7.0f, 6.0f }, 50.0f }, { { 156.0f, -3.0f, 6.0f }, 70.0f },
- { { 27.0f, 12.0f, 6.0f }, 40.0f }, { { 100.0f, 18.0f, 6.0f }, 50.0f }, { { 0.0f, 0.0f, 6.0f }, 40.0f },
- { { 80.0f, 2.0f, 6.0f }, 40.0f }, { { -4.0f, 6.0f, -6.0f }, 50.0f }, { { 89.0f, -3.0f, -6.0f }, 50.0f },
- { { -4.0f, 6.0f, 6.0f }, 50.0f }, { { 89.0f, -3.0f, 6.0f }, 50.0f }, { { 0.0f, 0.0f, 0.0f }, 50.0f },
- { { 166.0f, 0.0f, 0.0f }, 110.0f }, { { 5.0f, 0.0f, 0.0f }, 60.0f }, { { 115.0f, 0.0f, 0.0f }, 90.0f },
- { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f },
-};
-s16 D_i1_8019A478[17][4] = {
- { 1, 0, 2, 0 }, { 2, 2, 1, 0 }, { 3, 3, 2, 0 }, { 4, 5, 2, 0 }, { 5, 7, 1, 0 }, { 6, 8, 2, 0 },
- { 7, 10, 2, 0 }, { 8, 12, 2, 0 }, { 9, 14, 2, 0 }, { 10, 16, 2, 0 }, { 11, 18, 2, 0 }, { 12, 20, 2, 0 },
- { 16, 22, 2, 0 }, { 17, 24, 2, 0 }, { 20, 26, 1, 0 }, { 21, 27, 2, 0 }, { 25, 29, 4, 0 },
-};
-s16 D_i1_8019A500[33] = {
- 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 16, 16, 16,
-};
-Vec3f D_i1_8019A544[43] = {
- { 66.0f, -84.0f, 11.0f }, { 64.0f, -10.0f, -11.0f }, { 69.0f, 54.0f, 11.0f }, { 20.0f, 0.0f, -2.0f },
- { 85.0f, 0.0f, 3.0f }, { 11.0f, 0.0f, 30.0f }, { 63.0f, 0.0f, -12.0f }, { 66.0f, -84.0f, -11.0f },
- { 64.0f, -10.0f, -11.0f }, { 69.0f, 54.0f, -11.0f }, { 20.0f, 0.0f, 2.0f }, { 85.0f, 0.0f, -3.0f },
- { 11.0f, 0.0f, -30.0f }, { 63.0f, 0.0f, 12.0f }, { 40.0f, -18.0f, -6.0f }, { 108.0f, 6.0f, -6.0f },
- { 179.0f, -31.0f, -6.0f }, { 24.0f, -1.0f, -6.0f }, { 92.0f, -7.0f, -6.0f }, { 20.0f, -4.0f, -6.0f },
- { 57.0f, -4.0f, -6.0f }, { 40.0f, -18.0f, 6.0f }, { 108.0f, 6.0f, 6.0f }, { 179.0f, -31.0f, 6.0f },
- { 24.0f, -1.0f, 6.0f }, { 92.0f, -7.0f, 6.0f }, { 20.0f, -4.0f, 6.0f }, { 77.0f, -4.0f, 6.0f },
- { 58.0f, 29.0f, -6.0f }, { 41.0f, -33.0f, -6.0f }, { 109.0f, -22.0f, -6.0f }, { 58.0f, 29.0f, 6.0f },
- { 41.0f, -33.0f, 6.0f }, { 109.0f, -22.0f, 6.0f }, { 24.0f, 0.0f, 0.0f }, { 81.0f, 0.0f, -38.0f },
- { 81.0f, 0.0f, 38.0f }, { 205.0f, -21.0f, 0.0f }, { 58.0f, -21.0f, 98.0f }, { 58.0f, -21.0f, -98.0f },
- { 134.0f, 0.0f, -24.0f }, { 104.0f, 106.0f, -24.0f }, { 104.0f, -106.0f, -24.0f },
-};
-UnkStruct_i1_8019A748 D_i1_8019A748[18] = {
- { 1, D_VE1_90150A0, 0, 0 }, { 2, D_VE1_9015BB0, 1, 0 }, { 3, D_VE1_9015900, 2, 0 },
- { 4, D_VE1_9000000, 3, 0 }, { 5, D_VE1_9022A20, 4, 0 }, { 6, D_VE1_9021630, 5, 0 },
- { 7, D_VE1_9015480, 6, 0 }, { 8, D_VE1_90007F0, 7, 0 }, { 9, D_VE1_9014DF0, 8, 0 },
- { 10, D_VE1_9022D80, 9, 0 }, { 11, D_VE1_901E350, 10, 0 }, { 12, D_VE1_901F990, 11, 0 },
- { 13, D_VE1_9024750, 15, 1 }, { 16, D_VE1_901F6D0, 12, 0 }, { 17, D_VE1_9021900, 13, 0 },
- { 20, D_VE1_901FC40, 14, 0 }, { 21, D_VE1_9021B80, 15, 0 }, { 25, D_VE1_9013880, 16, 0 },
-};
-UnkStruct_i1_8019A820 D_i1_8019A820[17] = {
- { 1, 50, 0, 3, 1, 2, 5, -1, -1, -1, -1, 1 }, { 2, 60, 3, 2, 0, 2, 5, 0, -1, -1, -1, 1 },
- { 3, 100, 5, 2, 0, 1, 5, 1, -1, -1, -1, 1 }, { 4, 50, 7, 3, 4, 5, 5, -1, -1, -1, -1, 1 },
- { 5, 60, 10, 2, 3, 5, 5, 3, -1, -1, -1, 1 }, { 6, 100, 12, 2, 3, 4, 5, 4, -1, -1, -1, 1 },
- { 7, 40, 14, 3, -1, -1, 5, -1, -1, -1, -1, 1 }, { 8, 50, 17, 2, 6, -1, 5, 6, -1, -1, -1, 1 },
- { 9, 60, 19, 2, 7, -1, 5, 7, -1, -1, -1, 1 }, { 10, 40, 21, 3, -1, -1, 5, -1, -1, -1, -1, 1 },
- { 11, 50, 24, 2, 9, -1, 5, 9, -1, -1, -1, 1 }, { 12, 60, 26, 2, 10, -1, 5, 10, -1, -1, -1, 1 },
- { 16, 100, 28, 3, 8, -1, 5, 8, -1, -1, -1, 1 }, { 17, 100, 31, 3, 11, -1, 5, 11, -1, -1, -1, 1 },
- { 20, 150, 34, 3, -1, -1, 5, -1, -1, -1, -1, 1 }, { 21, 250, 37, 3, -1, -1, 5, 14, 16, 12, 13, 1 },
- { 25, 200, 40, 3, -1, -1, 5, 2, 5, -1, -1, 1 },
-};
-f32 D_VE1_8019A9B8[199] = {
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
-};
-Animation* D_i1_8019ACD4[9] = {
- &D_VE1_9018BD0, &D_VE1_901A4B8, &D_VE1_901BDA8, &D_VE1_901DA38, &D_VE1_9024738,
- &D_VE1_9024738, &D_VE1_9018BD0, &D_VE1_9010FC4, NULL,
-};
-UnkStruct_i1_8019ACF8 D_i1_8019ACF8[2] = { { 0, 1 }, { -1, 0 } };
-UnkStruct_i1_8019ACF8 D_i1_8019AD00[4] = { { 1, 0 }, { 2, 1 }, { 3, 0 }, { -1, 0 } };
-UnkStruct_i1_8019ACF8 D_i1_8019AD10[3] = { { 4, 0 }, { 5, 0 }, { -1, 0 } };
-UnkStruct_i1_8019ACF8 D_i1_8019AD1C[2] = { { 7, 0 }, { -1, 0 } };
-UnkStruct_i1_8019ACF8 D_i1_8019AD24[2] = { { 6, 1 }, { -1, 0 } };
-UnkStruct_i1_8019AD2C D_i1_8019AD2C[5] = {
- { D_i1_8019ACF8, 0 }, { D_i1_8019AD00, 0 }, { D_i1_8019AD10, 0 }, { D_i1_8019AD24, 0 }, { D_i1_8019AD1C, 0 },
-};
-s16 D_i1_8019AD54[3] = { 0, 1, -1 };
-Vec3f D_i1_8019AD5C = { 162.0f, 50.0f, 0.0f };
-u8 D_i1_8019AD68[24] = {
- 0, 33, 64, 97, 128, 143, 161, 192, 223, 255, 234, 213, 192, 171, 153, 129, 108, 87, 66, 45, 22, 0, 0, 0,
-};
-s16 D_i1_8019AD80[16][4] = {
- { 0, 0, 0, 1 }, { 1, 0, 0, 1 }, { 0, 1, 0, 1 }, { 0, 0, 8, 1 }, { 0, 0, 0, 1 }, { 0, 1, 0, 1 },
- { 0, 0, 0, 1 }, { 0, 0, 0, 1 }, { 0, 1, 0, 1 }, { 0, 0, 8, 1 }, { 0, 0, 0, 1 }, { 0, 1, 0, 1 },
- { 0, 0, 0, 1 }, { 1, 0, 0, 1 }, { 0, 1, 0, 1 }, { 0, 0, 8, 1 },
-};
-UnkStruct_i1_8019AE00 D_i1_8019AE00[4] = {
- { 270.0f, 3, 2 },
- { 90.0f, 2, 3 },
- { 180.0f, 0, 1 },
- { 0.0f, 1, 0 },
-};
-f32 D_i1_8019AE20[6] = {
- 258.0f, 0.0f, 0.0f, 133.0f, 0.0f, 0.0f,
-};
-Vec3f D_i1_8019AE38 = { 130.0f, 0.0f, 0.0f };
-
void Venom1_80192CB0(Actor* actor) {
actor->iwork[0] = actor->obj.rot.x;
actor->obj.rot.x = 0.0f;
@@ -808,6 +690,131 @@ void Venom1_80193540(Scenery* scenery) {
}
}
+Gfx* D_VE1_8019A008[17] = {
+ D_VE1_90150A0, D_VE1_9015BB0, D_VE1_9015900, D_VE1_9000000, D_VE1_9022A20, D_VE1_9021630,
+ D_VE1_9015480, D_VE1_90007F0, D_VE1_9014DF0, D_VE1_9022D80, D_VE1_901E350, D_VE1_901F990,
+ D_VE1_901F6D0, D_VE1_9021900, D_VE1_901FC40, D_VE1_9021B80, D_VE1_9013880,
+};
+s16 D_i1_8019A04C[3][2] = { { -2500, 300 }, { -1000, 0 }, { -5000, 0 } };
+UnkStruct_i1_8019A058 D_i1_8019A058[33] = {
+ { { 56.0f, 35.0f, 5.0f }, 70.0f }, { { 64.0f, -86.0f, 5.0f }, 60.0f }, { { 54.0f, 0.0f, 2.0f }, 50.0f },
+ { { 54.0f, 4.0f, -2.0f }, 50.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 56.0f, 35.0f, -5.0f }, 70.0f },
+ { { 64.0f, -86.0f, -5.0f }, 60.0f }, { { 54.0f, 0.0f, -2.0f }, 50.0f }, { { 54.0f, 0.0f, 2.0f }, 50.0f },
+ { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 24.0f, 18.0f, 4.0f }, 50.0f }, { { 126.0f, -8.0f, 7.0f }, 80.0f },
+ { { 23.0f, 10.0f, 0.0f }, 40.0f }, { { 101.0f, 12.0f, 2.0f }, 50.0f }, { { 56.0f, 0.0f, -3.0f }, 50.0f },
+ { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 24.0f, 18.0f, -4.0f }, 50.0f }, { { 126.0f, -8.0f, -7.0f }, 80.0f },
+ { { 23.0f, 10.0f, 0.0f }, 40.0f }, { { 101.0f, 12.0f, -2.0f }, 50.0f }, { { 56.0f, 0.0f, 3.0f }, 50.0f },
+ { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 74.0f, -3.0f, -6.0f }, 60.0f },
+ { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 74.0f, -3.0f, 6.0f }, 60.0f }, { { 44.0f, 0.0f, 0.0f }, 70.0f },
+ { { 108.0f, 0.0f, 0.0f }, 160.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 134.0f, 70.0f, 84.0f }, 70.0f },
+ { { 134.0f, -70.0f, 84.0f }, 70.0f }, { { 122.0f, 81.0f, -73.0f }, 80.0f }, { { 122.0f, -81.0f, -73.0f }, 80.0f },
+};
+UnkStruct_i1_8019A058 D_i1_8019A268[33] = {
+ { { 54.0f, -83.0f, 9.0f }, 50.0f }, { { 46.0f, 34.0f, 9.0f }, 60.0f }, { { 48.0f, 0.0f, 9.0f }, 50.0f },
+ { { 3.0f, 0.0f, 9.0f }, 30.0f }, { { 70.0f, 0.0f, 6.0f }, 30.0f }, { { 54.0f, -83.0f, -8.0f }, 50.0f },
+ { { 46.0f, 34.0f, -8.0f }, 60.0f }, { { 48.0f, 0.0f, -8.0f }, 50.0f }, { { 3.0f, 0.0f, -8.0f }, 30.0f },
+ { { 70.0f, 0.0f, -6.0f }, 30.0f }, { { 48.0f, 7.0f, -6.0f }, 50.0f }, { { 156.0f, -3.0f, -6.0f }, 70.0f },
+ { { 27.0f, 12.0f, -6.0f }, 40.0f }, { { 100.0f, 18.0f, -6.0f }, 40.0f }, { { 0.0f, 0.0f, -6.0f }, 40.0f },
+ { { 80.0f, 2.0f, -6.0f }, 40.0f }, { { 48.0f, 7.0f, 6.0f }, 50.0f }, { { 156.0f, -3.0f, 6.0f }, 70.0f },
+ { { 27.0f, 12.0f, 6.0f }, 40.0f }, { { 100.0f, 18.0f, 6.0f }, 50.0f }, { { 0.0f, 0.0f, 6.0f }, 40.0f },
+ { { 80.0f, 2.0f, 6.0f }, 40.0f }, { { -4.0f, 6.0f, -6.0f }, 50.0f }, { { 89.0f, -3.0f, -6.0f }, 50.0f },
+ { { -4.0f, 6.0f, 6.0f }, 50.0f }, { { 89.0f, -3.0f, 6.0f }, 50.0f }, { { 0.0f, 0.0f, 0.0f }, 50.0f },
+ { { 166.0f, 0.0f, 0.0f }, 110.0f }, { { 5.0f, 0.0f, 0.0f }, 60.0f }, { { 115.0f, 0.0f, 0.0f }, 90.0f },
+ { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f }, { { 0.0f, 0.0f, 0.0f }, 0.0f },
+};
+s16 D_i1_8019A478[17][4] = {
+ { 1, 0, 2, 0 }, { 2, 2, 1, 0 }, { 3, 3, 2, 0 }, { 4, 5, 2, 0 }, { 5, 7, 1, 0 }, { 6, 8, 2, 0 },
+ { 7, 10, 2, 0 }, { 8, 12, 2, 0 }, { 9, 14, 2, 0 }, { 10, 16, 2, 0 }, { 11, 18, 2, 0 }, { 12, 20, 2, 0 },
+ { 16, 22, 2, 0 }, { 17, 24, 2, 0 }, { 20, 26, 1, 0 }, { 21, 27, 2, 0 }, { 25, 29, 4, 0 },
+};
+s16 D_i1_8019A500[33] = {
+ 0, 0, 1, 2, 2, 3, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 16, 16, 16,
+};
+Vec3f D_i1_8019A544[43] = {
+ { 66.0f, -84.0f, 11.0f }, { 64.0f, -10.0f, -11.0f }, { 69.0f, 54.0f, 11.0f }, { 20.0f, 0.0f, -2.0f },
+ { 85.0f, 0.0f, 3.0f }, { 11.0f, 0.0f, 30.0f }, { 63.0f, 0.0f, -12.0f }, { 66.0f, -84.0f, -11.0f },
+ { 64.0f, -10.0f, -11.0f }, { 69.0f, 54.0f, -11.0f }, { 20.0f, 0.0f, 2.0f }, { 85.0f, 0.0f, -3.0f },
+ { 11.0f, 0.0f, -30.0f }, { 63.0f, 0.0f, 12.0f }, { 40.0f, -18.0f, -6.0f }, { 108.0f, 6.0f, -6.0f },
+ { 179.0f, -31.0f, -6.0f }, { 24.0f, -1.0f, -6.0f }, { 92.0f, -7.0f, -6.0f }, { 20.0f, -4.0f, -6.0f },
+ { 57.0f, -4.0f, -6.0f }, { 40.0f, -18.0f, 6.0f }, { 108.0f, 6.0f, 6.0f }, { 179.0f, -31.0f, 6.0f },
+ { 24.0f, -1.0f, 6.0f }, { 92.0f, -7.0f, 6.0f }, { 20.0f, -4.0f, 6.0f }, { 77.0f, -4.0f, 6.0f },
+ { 58.0f, 29.0f, -6.0f }, { 41.0f, -33.0f, -6.0f }, { 109.0f, -22.0f, -6.0f }, { 58.0f, 29.0f, 6.0f },
+ { 41.0f, -33.0f, 6.0f }, { 109.0f, -22.0f, 6.0f }, { 24.0f, 0.0f, 0.0f }, { 81.0f, 0.0f, -38.0f },
+ { 81.0f, 0.0f, 38.0f }, { 205.0f, -21.0f, 0.0f }, { 58.0f, -21.0f, 98.0f }, { 58.0f, -21.0f, -98.0f },
+ { 134.0f, 0.0f, -24.0f }, { 104.0f, 106.0f, -24.0f }, { 104.0f, -106.0f, -24.0f },
+};
+UnkStruct_i1_8019A748 D_i1_8019A748[18] = {
+ { 1, D_VE1_90150A0, 0, 0 }, { 2, D_VE1_9015BB0, 1, 0 }, { 3, D_VE1_9015900, 2, 0 },
+ { 4, D_VE1_9000000, 3, 0 }, { 5, D_VE1_9022A20, 4, 0 }, { 6, D_VE1_9021630, 5, 0 },
+ { 7, D_VE1_9015480, 6, 0 }, { 8, D_VE1_90007F0, 7, 0 }, { 9, D_VE1_9014DF0, 8, 0 },
+ { 10, D_VE1_9022D80, 9, 0 }, { 11, D_VE1_901E350, 10, 0 }, { 12, D_VE1_901F990, 11, 0 },
+ { 13, D_VE1_9024750, 15, 1 }, { 16, D_VE1_901F6D0, 12, 0 }, { 17, D_VE1_9021900, 13, 0 },
+ { 20, D_VE1_901FC40, 14, 0 }, { 21, D_VE1_9021B80, 15, 0 }, { 25, D_VE1_9013880, 16, 0 },
+};
+UnkStruct_i1_8019A820 D_i1_8019A820[17] = {
+ { 1, 50, 0, 3, 1, 2, 5, -1, -1, -1, -1, 1 }, { 2, 60, 3, 2, 0, 2, 5, 0, -1, -1, -1, 1 },
+ { 3, 100, 5, 2, 0, 1, 5, 1, -1, -1, -1, 1 }, { 4, 50, 7, 3, 4, 5, 5, -1, -1, -1, -1, 1 },
+ { 5, 60, 10, 2, 3, 5, 5, 3, -1, -1, -1, 1 }, { 6, 100, 12, 2, 3, 4, 5, 4, -1, -1, -1, 1 },
+ { 7, 40, 14, 3, -1, -1, 5, -1, -1, -1, -1, 1 }, { 8, 50, 17, 2, 6, -1, 5, 6, -1, -1, -1, 1 },
+ { 9, 60, 19, 2, 7, -1, 5, 7, -1, -1, -1, 1 }, { 10, 40, 21, 3, -1, -1, 5, -1, -1, -1, -1, 1 },
+ { 11, 50, 24, 2, 9, -1, 5, 9, -1, -1, -1, 1 }, { 12, 60, 26, 2, 10, -1, 5, 10, -1, -1, -1, 1 },
+ { 16, 100, 28, 3, 8, -1, 5, 8, -1, -1, -1, 1 }, { 17, 100, 31, 3, 11, -1, 5, 11, -1, -1, -1, 1 },
+ { 20, 150, 34, 3, -1, -1, 5, -1, -1, -1, -1, 1 }, { 21, 250, 37, 3, -1, -1, 5, 14, 16, 12, 13, 1 },
+ { 25, 200, 40, 3, -1, -1, 5, 2, 5, -1, -1, 1 },
+};
+f32 D_VE1_8019A9B8[199] = {
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+ 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
+};
+Animation* D_i1_8019ACD4[9] = {
+ &D_VE1_9018BD0, &D_VE1_901A4B8, &D_VE1_901BDA8, &D_VE1_901DA38, &D_VE1_9024738,
+ &D_VE1_9024738, &D_VE1_9018BD0, &D_VE1_9010FC4, NULL,
+};
+UnkStruct_i1_8019ACF8 D_i1_8019ACF8[2] = { { 0, 1 }, { -1, 0 } };
+UnkStruct_i1_8019ACF8 D_i1_8019AD00[4] = { { 1, 0 }, { 2, 1 }, { 3, 0 }, { -1, 0 } };
+UnkStruct_i1_8019ACF8 D_i1_8019AD10[3] = { { 4, 0 }, { 5, 0 }, { -1, 0 } };
+UnkStruct_i1_8019ACF8 D_i1_8019AD1C[2] = { { 7, 0 }, { -1, 0 } };
+UnkStruct_i1_8019ACF8 D_i1_8019AD24[2] = { { 6, 1 }, { -1, 0 } };
+UnkStruct_i1_8019AD2C D_i1_8019AD2C[5] = {
+ { D_i1_8019ACF8, 0 }, { D_i1_8019AD00, 0 }, { D_i1_8019AD10, 0 }, { D_i1_8019AD24, 0 }, { D_i1_8019AD1C, 0 },
+};
+s16 D_i1_8019AD54[3] = { 0, 1, -1 };
+Vec3f D_i1_8019AD5C = { 162.0f, 50.0f, 0.0f };
+u8 D_i1_8019AD68[24] = {
+ 0, 33, 64, 97, 128, 143, 161, 192, 223, 255, 234, 213, 192, 171, 153, 129, 108, 87, 66, 45, 22, 0, 0, 0,
+};
+typedef struct {
+ s16 unk_0;
+ s16 unk_2;
+ s16 unk_4;
+ s16 unk_6;
+} UnkStruct_i1_8019AD80;
+
+s16 D_i1_8019AD80[16][4] = {
+ { 0, 0, 0, 1 }, { 1, 0, 0, 1 }, { 0, 1, 0, 1 }, { 0, 0, 8, 1 }, { 0, 0, 0, 1 }, { 0, 1, 0, 1 },
+ { 0, 0, 0, 1 }, { 0, 0, 0, 1 }, { 0, 1, 0, 1 }, { 0, 0, 8, 1 }, { 0, 0, 0, 1 }, { 0, 1, 0, 1 },
+ { 0, 0, 0, 1 }, { 1, 0, 0, 1 }, { 0, 1, 0, 1 }, { 0, 0, 8, 1 },
+};
+UnkStruct_i1_8019AE00 D_i1_8019AE00[4] = {
+ { 270.0f, 3, 2 },
+ { 90.0f, 2, 3 },
+ { 180.0f, 0, 1 },
+ { 0.0f, 1, 0 },
+};
+f32 D_i1_8019AE20[6] = {
+ 258.0f, 0.0f, 0.0f, 133.0f, 0.0f, 0.0f,
+};
+Vec3f D_i1_8019AE38 = { 130.0f, 0.0f, 0.0f };
+
void Venom1_Boss319_Init(Boss319* this) {
s32 i;
s32 var_v0;
@@ -1094,7 +1101,7 @@ void Venom1_Boss_Update(Boss* boss) {
s32 is4;
s32 is7;
s32 pad1;
- f32 pad2;
+ UnkStruct_i1_8019ACF8* pad2;
s32 spB8;
s32 spB4;
f32 temp_fs0;
@@ -1295,6 +1302,7 @@ void Venom1_Boss_Update(Boss* boss) {
func_effect_8007D2C8(spF8.x, spF8.y, spF8.z, D_i1_8019AD80[is4][2]);
}
for (is1 = 0; is1 < D_i1_8019AD80[is4][0]; is1++) {
+ if (boss->sfxSource) {}
actor = Game_SpawnActor(OBJ_ACTOR_DEBRIS);
if (actor != NULL) {
actor->obj.status = OBJ_ACTIVE;
@@ -1317,6 +1325,7 @@ void Venom1_Boss_Update(Boss* boss) {
actor->vel.z = 20.0f + RAND_FLOAT_CENTERED(2.0f);
actor->fwork[0] = 5.0f + RAND_FLOAT_CENTERED(1.0f);
actor->fwork[1] = 5.0f + RAND_FLOAT_CENTERED(1.0f);
+ D_i1_8019C0B8 += 0;
actor->fwork[2] = 5.0f + RAND_FLOAT_CENTERED(1.0f);
actor->gravity = 1.0f;
}
@@ -1508,11 +1517,9 @@ void Venom1_Boss_Update(Boss* boss) {
}
}
if ((boss->state == 0) && (boss->swork[20] == 0)) {
- if (is4 > 0) {
- if (boss->swork[21] < (is4 - 1) / 5) {
- boss->swork[21] = (is4 - 1) / 5;
- boss->swork[20] = 1;
- }
+ if ((is4 > 0) && (boss->swork[21] < (is4 - 1) / 5)) {
+ boss->swork[21] = (is4 - 1) / 5;
+ boss->swork[20] = 1;
}
if (D_i1_8019C0C0 == 1) {
D_i1_8019C0C0 = 0;
@@ -1591,6 +1598,7 @@ void Venom1_Boss_Update(Boss* boss) {
break;
}
}
+
switch (boss->state) {
case 0:
case 1:
@@ -1637,11 +1645,10 @@ void Venom1_Boss_Update(Boss* boss) {
D_i1_8019B7F0[spF4] = 0;
}
}
-
break;
}
is4 = 0;
- for (spF4 = 0; spF4 < 17; spF4++) {
+ for (spF4 = 0; spF4 < 17U; spF4++) {
is4 += (D_i1_8019B838[spF4].unk_00 < 0) ? 0 : D_i1_8019B838[spF4].unk_00;
}
boss->swork[30] = boss->health + is4;
@@ -1743,7 +1750,7 @@ void Venom1_Boss_Update(Boss* boss) {
}
temp_fs0 = gPlayer[0].trueZpos + boss->fwork[2] - boss->obj.pos.z;
if ((fabsf(temp_fs0) <= 70.0f) && (boss->state == 3)) {
- boss->swork[5] = D_i1_8019AD2C[4].unk_0[0].unk_0;
+ boss->swork[5] = D_i1_8019AD2C[4].unk_0->unk_0;
boss->swork[4] = boss->swork[4];
boss->fwork[0] = 0.0f;
boss->fwork[10] = 0.0f;
@@ -2041,11 +2048,14 @@ void Venom1_Boss_Update(Boss* boss) {
temp_fv1 = gPlayer[0].pos.z - boss->obj.pos.z;
// is0 = boss->swork[1];
// is5 = boss->swork[2];
- pad1 = spE8; // probably fake, but unclear how to resolve
- if ((pad1 != 0) && (D_i1_8019AD2C[boss->swork[1]].unk_0[boss->swork[2]].unk_2 & 1) && (boss->swork[3] != 0)) {
- spE4 = 1;
- if (boss->swork[3] > 0) {
- boss->swork[3]--;
+ // pad1 = spE8; // probably fake, but unclear how to resolve
+ if (spE8 != 0) {
+ pad2 = D_i1_8019AD2C[boss->swork[1]].unk_0;
+ if ((pad2[boss->swork[2]].unk_2 & 1) && (boss->swork[3] != 0)) {
+ spE4 = 1;
+ if (boss->swork[3] > 0) {
+ boss->swork[3]--;
+ }
}
}
@@ -2053,10 +2063,10 @@ void Venom1_Boss_Update(Boss* boss) {
D_i1_8019C0BC = 0;
}
if ((D_i1_8019C0BC != 0) && (boss->swork[1] != 2) && (boss->state < 3)) {
- pad1 |= 2;
+ spE8 |= 2;
spE4 = 1;
}
- if (pad1 != 0) {
+ if (spE8 != 0) {
is0 = boss->swork[1];
is5 = boss->swork[2] - spE4 + 1;
is1 = boss->swork[4];
@@ -2066,13 +2076,14 @@ void Venom1_Boss_Update(Boss* boss) {
is5 = 0;
is0 = 2;
} else {
- pad1 &= ~2;
+ spE8 &= ~2;
}
D_i1_8019C0BC = 0;
}
- if (((pad1 & 1) == 1) && (D_i1_8019AD2C[is0].unk_0[is5].unk_0 == -1)) {
+ pad2 = D_i1_8019AD2C[is0].unk_0;
+ if (((spE8 & 1) == 1) && (pad2[is5].unk_0 == -1)) {
is5 = 0;
- spE8 = pad1;
+ // spE8 = pad1;
do {
is4 = 0;
is1 = boss->swork[4] + 1;
@@ -2115,10 +2126,11 @@ void Venom1_Boss_Update(Boss* boss) {
D_i1_8019C0B8 = 0;
}
} while (is4 != 0);
- pad1 = spE8;
+ // pad1 = spE8;
}
- is2 = D_i1_8019AD2C[is0].unk_0[is5].unk_0;
- if (pad1 != 0) {
+ pad2 = D_i1_8019AD2C[is0].unk_0;
+ is2 = pad2[is5].unk_0;
+ if (spE8 != 0) {
boss->swork[27] = 0;
switch (is2) {
@@ -2173,7 +2185,7 @@ void Venom1_Boss_Update(Boss* boss) {
}
}
if ((boss->health <= 0) && (boss->state == 2) && (boss->swork[1] != 2) && (boss->obj.pos.y <= 0)) {
- boss->swork[5] = D_i1_8019AD2C[3].unk_0[0].unk_0;
+ boss->swork[5] = D_i1_8019AD2C[3].unk_0->unk_0;
boss->swork[4] = boss->swork[4];
boss->swork[9] = 3;
boss->swork[3] = -1;
@@ -2184,7 +2196,6 @@ void Venom1_Boss_Update(Boss* boss) {
boss->swork[1] = 3;
boss->swork[2] = 0;
boss->swork[6] = 4;
-
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 0);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 0);
}
@@ -2250,18 +2261,17 @@ void Venom1_Boss_Update(Boss* boss) {
var_fv0 = -1500.0f;
for (spF4 = 0; spF4 < ARRAY_COUNT(gActors); spF4++, actor++) {
if (actor->obj.status == OBJ_FREE) {
-
- while ((is3 > boss->swork[22]) &&
- (gPlayer[0].pos.z + var_fv0) <= (temp_fs0 + D_i1_80199CD0[is4][is3].z)) {
+ while ((is3 < boss->swork[22]) &&
+ (D_i1_80199B40[is4][is3].z + temp_fs0) >= (gPlayer[0].pos.z + var_fv0)) {
is3++;
}
if (is3 <= boss->swork[22]) {
Actor_Initialize(actor);
actor->obj.status = OBJ_ACTIVE;
actor->obj.id = OBJ_ACTOR_280;
- actor->obj.pos.x = D_i1_80199CD0[is4][is3].x;
- actor->obj.pos.y = D_i1_80199CD0[is4][is3].y;
- actor->obj.pos.z = D_i1_80199CD0[is4][is3].z + boss->obj.pos.z;
+ actor->obj.pos.x = D_i1_80199B40[is4][is3].x;
+ actor->obj.pos.y = D_i1_80199B40[is4][is3].y;
+ actor->obj.pos.z = D_i1_80199B40[is4][is3].z + boss->obj.pos.z;
actor->obj.rot.y = 180.0f;
actor->state = 1;
Object_SetInfo(&actor->info, actor->obj.id);
@@ -2280,10 +2290,10 @@ void Venom1_Boss_Update(Boss* boss) {
actor = gActors;
is4 = boss->swork[23];
temp_fs0 = boss->obj.pos.z;
- var_fv0 = (gPlayer[0].pos.z + -1500.0f);
+ var_fv0 = gPlayer[0].pos.z + -1500.0f;
for (spF4 = 0; spF4 < ARRAY_COUNT(gActors); spF4++, actor++) {
if (actor->obj.status == OBJ_FREE) {
- while ((is3 > D_i1_80199E60[is4]) && (var_fv0) <= (temp_fs0 + D_i1_80199E6C[is4][is3].z)) {
+ while ((is3 < D_i1_80199E60[is4]) && (D_i1_80199E6C[is4][is3].z + temp_fs0 >= var_fv0)) {
is3++;
}
if (is3 <= D_i1_80199E60[is4]) {
diff --git a/src/overlays/ovl_i2/fox_sx.c b/src/overlays/ovl_i2/fox_sx.c
index 64319094..d7a92903 100644
--- a/src/overlays/ovl_i2/fox_sx.c
+++ b/src/overlays/ovl_i2/fox_sx.c
@@ -1,4 +1,4 @@
-#include "prevent_bss_reordering.h"
+// #include "prevent_bss_reordering.h"
#include "global.h"
#include "assets/ast_sector_x.h"
@@ -1073,7 +1073,7 @@ void SectorX_80190078(Boss* boss) {
if ((gPlayer[0].state_1C8 != PLAYERSTATE_1C8_NEXT) && (gPlayer[0].state_1C8 != PLAYERSTATE_1C8_DOWN)) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;
gPlayer[0].csState = 0;
- gPlayer[0].unk_234 = 1;
+ gPlayer[0].draw = true;
}
Object_Kill(&boss->obj, boss->sfxSource);
gMissionStatus = boss->swork[6];
diff --git a/src/overlays/ovl_i3/fox_a6.c b/src/overlays/ovl_i3/fox_a6.c
index 676906c8..596b6ab6 100644
--- a/src/overlays/ovl_i3/fox_a6.c
+++ b/src/overlays/ovl_i3/fox_a6.c
@@ -2686,7 +2686,7 @@ void Area6_LevelComplete(Player* player) {
}
if (gCsFrameCount == 60) {
- player->unk_234 = 0;
+ player->draw = false;
player->baseSpeed = 0.0f;
}
@@ -2763,7 +2763,7 @@ void Area6_LevelComplete(Player* player) {
}
if (gCsFrameCount == 300) {
- player->unk_234 = 1;
+ player->draw = true;
player->pos.x = 0.0f;
player->pos.y = 200.0f;
diff --git a/src/overlays/ovl_i3/fox_aq.c b/src/overlays/ovl_i3/fox_aq.c
index 98c3fb2c..0a883288 100644
--- a/src/overlays/ovl_i3/fox_aq.c
+++ b/src/overlays/ovl_i3/fox_aq.c
@@ -648,7 +648,7 @@ void Aquas_801AA20C(void) {
f32 var_fs2;
s32 i;
- if (gPlayer[0].unk_234 != 0) {
+ if (gPlayer[0].draw) {
Matrix_Push(&gGfxMatrix);
Math_SmoothStepToF(&D_i3_801C41B8[5], 3.0f, 1.0f, 4.0f, 0.0001f);
RCP_SetupDL(&gMasterDisp, SETUPDL_61);
@@ -720,25 +720,25 @@ void Aquas_801AA4BC(Player* player) {
if ((gInputPress->button & Z_TRIG) && (player->unk_230 == 0)) {
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->unk_230 == 0)) {
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;
}
}
@@ -753,15 +753,15 @@ void Aquas_801AA4BC(Player* player) {
}
}
- 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) {
@@ -770,16 +770,16 @@ void Aquas_801AA4BC(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->barrelInputTimerL = player->barrelInputTimerR = 0;
+ if (player->rollState != 0) {
+ player->rollInputTimerL = player->rollInputTimerR = 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;
}
@@ -787,7 +787,7 @@ void Aquas_801AA4BC(Player* player) {
player->rollRate += 5;
}
if (player->rollRate == 0) {
- player->barrelRoll = 0;
+ player->rollState = 0;
}
} else {
if (player->barrelRollAlpha < 180) {
@@ -1073,7 +1073,7 @@ void Aquas_BlueMarineMove(Player* player) {
}
}
-void Aquas_801AB9B0(Player* player) {
+void Aquas_BlueMarineDown(Player* player) {
func_effect_8007D0E0(player->pos.x, player->pos.y, player->trueZpos, 6.0f);
func_effect_8007B344(player->pos.x, player->pos.y, player->trueZpos, 3.0f, 5);
func_effect_8007BFFC(player->pos.x, player->pos.y, player->trueZpos, 0.0f, 0.0f, 0.0f, 3.0f, 80);
@@ -5452,7 +5452,7 @@ void Aquas_801BADF8(Actor* actor) {
actor->dmgType = DMG_NONE;
if (actor->damage == 0) {
gPlayer[0].hitTimer = 6;
- gPlayer[0].unk_21C = 0;
+ gPlayer[0].hitDirection = 0;
}
actor->state++;
}
diff --git a/src/overlays/ovl_i3/fox_so.c b/src/overlays/ovl_i3/fox_so.c
index 3d6fd0a6..6cdd7512 100644
--- a/src/overlays/ovl_i3/fox_so.c
+++ b/src/overlays/ovl_i3/fox_so.c
@@ -3135,7 +3135,7 @@ void Solar_LevelComplete(Player* player) {
player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 =
player->zRotBarrelRoll = player->zRotBank = player->boostSpeed = 0.0f;
- player->unk_234 = 1;
+ player->draw = true;
gCsCamEyeX = player->cam.eye.x;
gCsCamEyeY = player->cam.eye.y;
diff --git a/src/overlays/ovl_i3/fox_zo.c b/src/overlays/ovl_i3/fox_zo.c
index 861fd3d3..81080d1a 100644
--- a/src/overlays/ovl_i3/fox_zo.c
+++ b/src/overlays/ovl_i3/fox_zo.c
@@ -4475,7 +4475,7 @@ void Zoness_LevelComplete(Player* player) {
player->aerobaticPitch = 0.0f;
player->camRoll = 0.0f;
player->baseSpeed = 40.0f;
- player->unk_234 = 1;
+ player->draw = true;
player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 =
player->zRotBarrelRoll = player->zRotBank = player->boostSpeed = 0.0f;
gCsCamEyeX = player->cam.eye.x;
diff --git a/src/overlays/ovl_i4/fox_bo.c b/src/overlays/ovl_i4/fox_bo.c
index 761c2328..b8afe00b 100644
--- a/src/overlays/ovl_i4/fox_bo.c
+++ b/src/overlays/ovl_i4/fox_bo.c
@@ -7,6 +7,9 @@
#include "global.h"
#include "assets/ast_bolse.h"
#include "prevent_bss_reordering.h"
+
+extern s32 dummy200;
+
struct Dummy200 {
int x;
};
@@ -64,9 +67,6 @@ struct Dummy223 {
struct Dummy224 {
int x;
};
-struct Dummy225 {
- int x;
-};
typedef struct UnkStruct_D_i4_801A03E0 {
f32 unk_00;
@@ -346,7 +346,7 @@ void Bolse_UpdateEventHandler(Actor* this) {
player->unk_014 = 0.0f;
D_hud_80161708 = 0;
}
- gPauseEnabled = 0;
+ gPauseEnabled = false;
break;
case 10:
@@ -1192,7 +1192,7 @@ void Bolse_LevelStart(Player* player) {
gCsCamAtZ = player->pos.z;
player->csState = 1;
- player->unk_204 = 1;
+ player->wingPosition = 1;
D_ctx_80177A48[0] = 1.0f;
gFillScreenAlpha = gFillScreenAlphaTarget = 255;
@@ -1299,7 +1299,7 @@ void Bolse_LevelStart(Player* player) {
Math_SmoothStepToF(&player->rot.z, 0.0f, 0.1f, 1.0f, 0.0f);
if (gCsFrameCount == 200) {
- player->unk_204 = 2;
+ player->wingPosition = 2;
}
if (gCsFrameCount == 270) {
@@ -1458,7 +1458,7 @@ void Bolse_LevelComplete(Player* player) {
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 50);
gCsFrameCount = 0;
gGroundHeight = -10000.0f;
- player->unk_240 = 1;
+ player->hideShadow = true;
player->wings.modelId = 1;
AUDIO_PLAY_SFX(NA_SE_EN_ANDROSS_EXPLOSION, actor50->sfxSource, 0);
Audio_StartPlayerNoise(0);
@@ -1539,7 +1539,7 @@ void Bolse_LevelComplete(Player* player) {
break;
case 235:
- player->unk_204 = 1;
+ player->wingPosition = 1;
gLevelClearScreenTimer = 100;
break;
diff --git a/src/overlays/ovl_i4/fox_fo.c b/src/overlays/ovl_i4/fox_fo.c
index c42d3313..d2d6b630 100644
--- a/src/overlays/ovl_i4/fox_fo.c
+++ b/src/overlays/ovl_i4/fox_fo.c
@@ -299,7 +299,7 @@ void Fortuna_UpdateEvents(Actor* actor) {
player->unk_014 = 0.0f;
D_hud_80161708 = 0;
}
- gPauseEnabled = 0;
+ gPauseEnabled = false;
break;
case 5:
@@ -747,7 +747,7 @@ void Fortuna_LevelComplete(Player* player) {
Audio_StopPlayerNoise(0);
Audio_KillSfxBySource(player->sfxSource);
- player->unk_234 = 0;
+ player->draw = false;
gFillScreenAlpha = 255;
gFillScreenAlphaTarget = 255;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 0;
@@ -818,7 +818,7 @@ void Fortuna_LevelComplete(Player* player) {
player->pos.z = -10000.0f;
gCsFrameCount = 0;
player->wings.modelId = 1;
- player->unk_204 = 1;
+ player->wingPosition = 1;
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 100);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 100);
Audio_StartPlayerNoise(0);
@@ -829,7 +829,7 @@ void Fortuna_LevelComplete(Player* player) {
break;
case 10:
- player->unk_234 = 1;
+ player->draw = true;
gFillScreenAlphaTarget = 0;
gFillScreenAlphaStep = 4;
player->cam.eye.x = 400.0f;
@@ -1126,7 +1126,7 @@ void Fortuna_LevelComplete(Player* player) {
actor0->info.bonus = 1;
gCsFrameCount = 0;
player->csState = 21;
- player->unk_234 = 1;
+ player->draw = true;
for (i = 0; i < 9; i++) {
D_ctx_80177A48[i] = 0.0f;
diff --git a/src/overlays/ovl_i4/fox_ka.c b/src/overlays/ovl_i4/fox_ka.c
index ea4f24c9..39a46533 100644
--- a/src/overlays/ovl_i4/fox_ka.c
+++ b/src/overlays/ovl_i4/fox_ka.c
@@ -4,6 +4,7 @@
* Description: Level: Katina
*/
+#include "prevent_bss_reordering.h"
#include "global.h"
#include "assets/ast_katina.h"
@@ -1217,7 +1218,7 @@ void Katina_BossUpdate(Saucerer* this) {
if (this->timer_050 == 500) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;
gPlayer[0].csState = 100;
- gPlayer[0].unk_234 = 0;
+ gPlayer[0].draw = false;
gCsFrameCount = 5000;
}
@@ -1371,7 +1372,7 @@ void Katina_BossUpdate(Saucerer* this) {
if (gFillScreenAlpha == 255) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;
gPlayer[0].csState = 2;
- gPlayer[0].unk_234 = 1;
+ gPlayer[0].draw = true;
gCsFrameCount = 200;
@@ -1811,7 +1812,7 @@ void Katina_LevelComplete(Player* player) {
case 0:
Audio_StopSfxByBankAndSource(1, &player->sfxSource[0]);
gCsFrameCount = 0;
- player->unk_234 = 1;
+ player->draw = true;
player->pos.x = boss->obj.pos.x;
player->pos.y = 800.0f;
@@ -1897,7 +1898,7 @@ void Katina_LevelComplete(Player* player) {
case 2:
if (player->csTimer == 0) {
- player->unk_240 = 1;
+ player->hideShadow = true;
player->pos.x = 0.0f;
player->pos.y = 3500.0f;
diff --git a/src/overlays/ovl_i4/fox_sz.c b/src/overlays/ovl_i4/fox_sz.c
index d3842f11..e1844221 100644
--- a/src/overlays/ovl_i4/fox_sz.c
+++ b/src/overlays/ovl_i4/fox_sz.c
@@ -793,7 +793,7 @@ void SectorZ_LevelStart(Player* player) {
gCsCamAtZ = 0.0f;
D_ctx_80177A48[0] = 1.0f;
- player->unk_234 = 0;
+ player->draw = false;
player->baseSpeed = 0.0f;
player->camRoll = -20.0f;
@@ -983,7 +983,7 @@ void SectorZ_LevelStart(Player* player) {
player->unk_190 = 5.0f;
player->yRot_114 = 90.0f;
player->baseSpeed = gArwingSpeed;
- player->unk_234 = 1;
+ player->draw = true;
AUDIO_PLAY_SFX(NA_SE_ARWING_BOOST, player->sfxSource, 0);
break;
}
@@ -1148,7 +1148,7 @@ void SectorZ_LevelComplete(Player* player) {
D_ctx_80177A48[0] = 1.0f;
gProjectFar = 30000.0f;
- player->unk_234 = 0;
+ player->draw = false;
player->baseSpeed = 0.0f;
player->camRoll = 0.0f;
@@ -1160,7 +1160,7 @@ void SectorZ_LevelComplete(Player* player) {
case 0:
gCsFrameCount = 0;
- player->unk_234 = 0;
+ player->draw = false;
gCsCamEyeX = boss0->obj.pos.x;
gCsCamEyeY = boss0->obj.pos.y;
@@ -1243,7 +1243,7 @@ void SectorZ_LevelComplete(Player* player) {
player->pos.z = 0.0f;
player->rot.x = 0.0f;
- player->unk_234 = 1;
+ player->draw = true;
player->rot.y = 180.0f;
player->rot.z = 0.0f;
player->yRot_114 = 0.0f;
@@ -1493,7 +1493,7 @@ void SectorZ_LevelComplete(Player* player) {
break;
case 1700:
- player->unk_204 = gLevelType;
+ player->wingPosition = gLevelType;
break;
case 2450:
diff --git a/src/overlays/ovl_i5/fox_ma.c b/src/overlays/ovl_i5/fox_ma.c
index 0d7349ce..dda93b69 100644
--- a/src/overlays/ovl_i5/fox_ma.c
+++ b/src/overlays/ovl_i5/fox_ma.c
@@ -3194,7 +3194,7 @@ void Macbeth_801A57D0(Effect* effect) {
effect->vel.z = sp44.z;
AUDIO_PLAY_SFX(NA_SE_ROLLING_REFLECT, effect->sfxSource, 4);
}
- if ((gPlayer[0].barrelRollAlpha == 0) && (gPlayer[0].timer_498 == 0)) {
+ if ((gPlayer[0].barrelRollAlpha == 0) && (gPlayer[0].mercyTimer == 0)) {
Player_ApplyDamage(&gPlayer[0], 0, effect->info.damage);
gPlayer[0].knockback.x = 20.0f;
if (effect->vel.x < 0.0f) {
@@ -3239,7 +3239,7 @@ void Macbeth_801A5B4C(Effect* effect) {
effect->obj.rot.z = 0.0f;
if ((fabsf(gPlayer[0].trueZpos - effect->obj.pos.z) < 100.0f) &&
(fabsf(gPlayer[0].pos.x - effect->obj.pos.x) < 100.0f) &&
- (fabsf(gPlayer[0].pos.y - effect->obj.pos.y) < 30.0f) && (gPlayer[0].timer_498 == 0)) {
+ (fabsf(gPlayer[0].pos.y - effect->obj.pos.y) < 30.0f) && (gPlayer[0].mercyTimer == 0)) {
Player_ApplyDamage(gPlayer, 0, effect->info.damage);
gPlayer[0].knockback.x = 20.0f;
if (effect->vel.x < 0.0f) {
@@ -4965,7 +4965,7 @@ void Macbeth_LevelStart(Player* player) {
player->cam.at.x = gCsCamAtX = -910.0f;
player->cam.at.y = gCsCamAtY = 42.0f;
player->cam.at.z = gCsCamAtZ = -800.0f;
- player->unk_240 = 1;
+ player->hideShadow = true;
player->csState = 2;
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 255;
gFillScreenAlpha = 255;
@@ -5013,7 +5013,7 @@ void Macbeth_LevelStart(Player* player) {
AUDIO_PLAY_BGM(NA_BGM_STAGE_MA);
gLevelStartStatusScreenTimer = 50;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
- player->csState = player->csTimer = player->csEventTimer = player->unk_240 = 0;
+ player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0;
player->gravity = 3.0f;
player->unk_014 = 0.0f;
D_ctx_8017782C = 1;
@@ -5248,7 +5248,7 @@ void Macbeth_801AD6F0(Actor* actor) {
if ((fabsf(gPlayer[0].trueZpos - actor->obj.pos.z) < 40.0f) &&
(fabsf(gPlayer[0].pos.x - actor->obj.pos.x) < 80.0f)) {
if ((gPlayer[0].pos.y - actor->obj.pos.y > -5.0f) &&
- (gPlayer[0].pos.y - actor->obj.pos.y < (actor->scale * 35.0f)) && (gPlayer[0].timer_498 == 0)) {
+ (gPlayer[0].pos.y - actor->obj.pos.y < (actor->scale * 35.0f)) && (gPlayer[0].mercyTimer == 0)) {
Player_ApplyDamage(&gPlayer[0], 0, actor->info.damage);
}
}
@@ -5824,7 +5824,7 @@ void Macbeth_LevelComplete2(Player* player) {
case 0:
gCsFrameCount = 0;
gLoadLevelObjects = 1;
- player->unk_234 = 0;
+ player->draw = false;
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_BGM, 30);
SEQCMD_STOP_SEQUENCE(SEQ_PLAYER_FANFARE, 30);
player->csState = 1;
@@ -6220,7 +6220,7 @@ void Macbeth_LevelComplete2(Player* player) {
gFillScreenAlphaTarget = 0;
gFillScreenAlphaStep = 8;
D_ctx_80177A48[0] = 0.0f;
- player->unk_234 = 1;
+ player->draw = true;
player->cam.at.x = gCsCamAtX = player->cam.eye.x = gCsCamEyeX = player->pos.x;
player->cam.at.y = gCsCamAtY = player->pos.y + 70.0f;
player->cam.eye.y = gCsCamEyeY = player->pos.y + 30.0f;
@@ -6239,9 +6239,9 @@ void Macbeth_LevelComplete2(Player* player) {
player->hitTimer = 0;
player->pos.y = gGroundHeight - 3.0f;
player->vel.y = -3.0f;
- player->barrelRoll = player->boostCooldown = player->boostMeter = player->unk_184 = player->rot_104.y =
+ player->rollState = player->boostCooldown = player->boostMeter = player->unk_184 = player->rot_104.y =
player->rot_104.z = player->rot.y = player->rot.x = player->rot_104.x = 0.0f;
- player->barrelInputTimerL = player->sfx.bank = 0;
+ player->rollInputTimerL = player->sfx.bank = 0;
}
break;
case 7:
@@ -6427,7 +6427,7 @@ void Macbeth_LevelComplete2(Player* player) {
break;
case 2160:
gProjectFar = 30000.0f;
- player->unk_240 = 1;
+ player->hideShadow = true;
Audio_StopPlayerNoise(0);
AUDIO_PLAY_SFX(NA_SE_TANK_GO_UP, player->sfxSource, 0);
break;
diff --git a/src/overlays/ovl_i5/fox_ti.c b/src/overlays/ovl_i5/fox_ti.c
index 9c784c0e..62931d6c 100644
--- a/src/overlays/ovl_i5/fox_ti.c
+++ b/src/overlays/ovl_i5/fox_ti.c
@@ -643,8 +643,8 @@ void Titania_8018AB44(Actor* actor) {
func_effect_8007D2C8(actor->obj.pos.x, actor->obj.pos.y + 50.0f, actor->obj.pos.z, (10.0f / 3.0f));
gPlayer[0].vel.y = 20.0f;
gPlayer[0].pos.y += 15.0f;
- gPlayer[0].barrelRoll = 1;
- gPlayer[0].timer_1E8 = 15;
+ gPlayer[0].rollState = 1;
+ gPlayer[0].rollTimer = 15;
gPlayer[0].rollRate = 20;
if (actor->obj.pos.x < gPlayer[0].pos.x) {
gPlayer[0].rollRate = -20;
@@ -978,8 +978,8 @@ void Titania_8018B9D0(Actor* actor) {
Player_ApplyDamage(gPlayer, 0, 60);
gPlayer[0].vel.y = 20.0f;
gPlayer[0].pos.y += 15.0f;
- gPlayer[0].barrelRoll = 1;
- gPlayer[0].timer_1E8 = 15;
+ gPlayer[0].rollState = 1;
+ gPlayer[0].rollTimer = 15;
gPlayer[0].rollRate = 20;
if (actor->obj.pos.x < gPlayer[0].pos.x) {
gPlayer[0].rollRate = -20;
diff --git a/src/overlays/ovl_i5/fox_ti_cs.c b/src/overlays/ovl_i5/fox_ti_cs.c
index 942bc850..6a0cbe17 100644
--- a/src/overlays/ovl_i5/fox_ti_cs.c
+++ b/src/overlays/ovl_i5/fox_ti_cs.c
@@ -74,7 +74,7 @@ void Titania_LevelStart(Player* player) {
player->cam.at.y = gCsCamAtY = player->pos.y;
player->cam.at.z = gCsCamAtZ = player->pos.z;
- player->unk_240 = 1;
+ player->hideShadow = true;
player->csState = 1;
gFogFar = 1006;
gPlayer[0].unk_19C = 0;
@@ -222,7 +222,7 @@ void Titania_LevelStart(Player* player) {
if (gCsFrameCount == 580) {
gLevelStartStatusScreenTimer = 50;
player->state_1C8 = PLAYERSTATE_1C8_ACTIVE;
- player->csState = player->csTimer = player->csEventTimer = player->unk_240 = 0;
+ player->csState = player->csTimer = player->csEventTimer = player->hideShadow = 0;
player->gravity = 3.0f;
player->unk_014 = 0.0f;
D_ctx_8017782C = 1;
@@ -499,7 +499,7 @@ void Titania_LevelComplete(Player* player) {
player->vel.y = 0.0f;
Titania_80188108(&gActors[3], 3);
gProjectFar = 30000.0f;
- player->unk_240 = 1;
+ player->hideShadow = true;
Audio_StopPlayerNoise(0);
AUDIO_PLAY_SFX(NA_SE_TANK_GO_UP, player->sfxSource, 0);
break;
diff --git a/src/overlays/ovl_i6/fox_andross.c b/src/overlays/ovl_i6/fox_andross.c
index faf8c4ca..0017f88d 100644
--- a/src/overlays/ovl_i6/fox_andross.c
+++ b/src/overlays/ovl_i6/fox_andross.c
@@ -573,7 +573,7 @@ void Andross_80189214(void) {
}
gLevelMode = LEVELMODE_ON_RAILS;
- player->unk_204 = 0;
+ player->wingPosition = 0;
gPlayer[0].pos.x = 0.0f;
player->cam.eye.z = 400.0f;
player->cam.at.z = player->cam.eye.z - 1000.0f;
@@ -653,7 +653,7 @@ void Andross_80189470(Actor* actor) {
gCsCamAtX = 0.0f;
gCsCamAtY = 620.0f;
gCsCamAtZ = 0.0f;
- player->unk_234 = 0;
+ player->draw = false;
player->camRoll = 0.0f;
D_ctx_80177A48[0] = 1.0f;
Play_ClearObjectData();
@@ -809,7 +809,7 @@ void Andross_80189B70(Boss* boss) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_START_360;
gPlayer[0].csState = 0;
boss->state = 1;
- gPlayer[0].unk_240 = 1;
+ gPlayer[0].hideShadow = true;
}
break;
case 1:
@@ -839,7 +839,7 @@ void Andross_80189B70(Boss* boss) {
gFillScreenRed = gFillScreenGreen = gFillScreenBlue = 255;
gFillScreenAlphaTarget = 80;
gFillScreenAlphaStep = 1;
- gPlayer[0].timer_224 = gGameFrameCount % 8U;
+ gPlayer[0].dmgEffectTimer = gGameFrameCount % 8U;
gPlayer[0].radioDamageTimer = 3;
Math_SmoothStepToF(&D_ctx_801779A8[gMainController], 40.0f, 1.0f, 3.0f, 0.0f);
if (((gGameFrameCount % 32) == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE)) {
@@ -1012,7 +1012,7 @@ void Andross_80189B70(Boss* boss) {
gPlayer[0].state_1C8 = PLAYERSTATE_1C8_LEVEL_COMPLETE;
gPlayer[0].csState = 100;
gPlayer[0].csTimer = 240;
- gPlayer[0].unk_234 = 1;
+ gPlayer[0].draw = true;
D_ctx_80177A48[5] = -1200.0f;
Andross_80188468();
@@ -1550,7 +1550,7 @@ void Andross_8018CF98(Effect* effect) {
}
void Andross_8018D0D8(Boss* boss) {
- if ((gPlayer[0].timer_498 == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) &&
+ if ((gPlayer[0].mercyTimer == 0) && (gPlayer[0].state_1C8 == PLAYERSTATE_1C8_ACTIVE) &&
(fabsf(boss->vwork[10].x - gPlayer[0].pos.x) < 700.0f) &&
(fabsf(boss->vwork[10].y - gPlayer[0].pos.y) < 700.0f)) {
Player_ApplyDamage(&gPlayer[0], 0, 40);
@@ -1837,7 +1837,7 @@ void Andross_8018DBF0(Boss* boss) {
Math_SmoothStepToF(&boss->fwork[11], 0.0f, 0.1f, 2.0f, 0);
Math_SmoothStepToF(&boss->fwork[12], 0.0f, 0.1f, 2.0f, 0);
Math_SmoothStepToF(&boss->fwork[13], 0.0f, 0.1f, 2.0f, 0);
- if (player->unk_234 != 0) {
+ if (player->draw) {
xDisplacement = gPlayer[0].pos.x - boss->vwork[2].x;
yDisplacement = gPlayer[0].pos.y - boss->vwork[2].y;
zDisplacement = gPlayer[0].trueZpos - boss->vwork[2].z;
@@ -1862,7 +1862,7 @@ void Andross_8018DBF0(Boss* boss) {
}
Math_SmoothStepToAngle(&boss->vwork[4].x, pitch, 0.5f, 5.0f, 0);
Math_SmoothStepToAngle(&boss->vwork[4].y, yaw, 0.5f, 5.0f, 0);
- if (player->unk_234 != 0) {
+ if (player->draw) {
xDisplacement = gPlayer[0].pos.x - boss->vwork[3].x;
yDisplacement = gPlayer[0].pos.y - boss->vwork[3].y;
zDisplacement = gPlayer[0].trueZpos - boss->vwork[3].z;
@@ -2277,7 +2277,7 @@ void Andross_8018DBF0(Boss* boss) {
}
}
if ((boss->unk_04C == 20) && (player->state_1C8 == PLAYERSTATE_1C8_ANDROSS_MOUTH)) {
- player->unk_234 = 0;
+ player->draw = false;
for (i = 0; i < ARRAY_COUNT(gEffects); i++) {
if (gEffects[i].obj.id == OBJ_EFFECT_396) {
Object_Kill(&gEffects[i].obj, gEffects[i].sfxSource);
@@ -2332,10 +2332,10 @@ void Andross_8018DBF0(Boss* boss) {
AUDIO_PLAY_SFX(NA_SE_EN_ANDROSS_VOMIT, boss->sfxSource, 4);
}
if ((boss->unk_04C == 13) && (player->state_1C8 == PLAYERSTATE_1C8_ANDROSS_MOUTH)) {
- player->unk_234 = 1;
+ player->draw = true;
player->csState = 1;
player->csTimer = 60;
- player->timer_498 = 50;
+ player->mercyTimer = 50;
boss->swork[8] = 0;
gControllerRumbleTimers[0] = 30;
if (player->wings.rightState == 2) {
@@ -3649,7 +3649,7 @@ void Andross_80193C4C(Player* player) {
gCsCamAtY = 620.0f;
gCsCamAtZ = 0.0f;
player->camRoll = 0.0f;
- player->unk_234 = 0;
+ player->draw = false;
D_ctx_80177A48[0] = 1.0f;
Play_ClearObjectData();
gScenery360 = Memory_Allocate(200 * sizeof(Scenery360));
@@ -3781,7 +3781,7 @@ void Andross_80193C4C(Player* player) {
if (gCsFrameCount == 190) {
Play_GenerateStarfield();
gStarCount = 1000;
- player->unk_204 = 0;
+ player->wingPosition = 0;
}
if (gCsFrameCount == 360) {
gCsFrameCount = 340;
diff --git a/src/overlays/ovl_i6/fox_sy.c b/src/overlays/ovl_i6/fox_sy.c
index a7bf0db3..7c39ed0e 100644
--- a/src/overlays/ovl_i6/fox_sy.c
+++ b/src/overlays/ovl_i6/fox_sy.c
@@ -2047,7 +2047,7 @@ void SectorY_LevelComplete(Player* player) {
player->boostSpeed = 0.0f;
player->wings.unk_04 = player->wings.unk_0C = player->wings.unk_08 = player->wings.unk_10 =
player->zRotBarrelRoll = player->zRotBank = 0.0f;
- player->unk_234 = 1;
+ player->draw = true;
D_ctx_80177A48[8] = Math_RadToDeg(
Math_Atan2F(gPlayer[0].cam.eye.x - boss->obj.pos.x, gPlayer[0].cam.eye.z - boss->obj.pos.z));
Matrix_RotateY(gCalcMatrix, D_ctx_80177A48[8] * M_DTOR, MTXF_NEW);
@@ -2130,7 +2130,7 @@ void SectorY_LevelComplete(Player* player) {
case 2:
if (player->csTimer == 0) {
- player->unk_240 = 1;
+ player->hideShadow = true;
player->pos.x = 0.0f;
player->pos.y = 3500.0f;
player->pos.z = 0.0f;
@@ -2163,7 +2163,7 @@ void SectorY_LevelComplete(Player* player) {
gFillScreenAlphaTarget = 0;
gFillScreenAlphaStep = 4;
if (gFillScreenAlpha == 0) {
- player->unk_204 = 1;
+ player->wingPosition = 1;
}
if (gCsFrameCount == 343) {
diff --git a/src/overlays/ovl_i6/fox_ve2.c b/src/overlays/ovl_i6/fox_ve2.c
index 94661f7b..86c3713a 100644
--- a/src/overlays/ovl_i6/fox_ve2.c
+++ b/src/overlays/ovl_i6/fox_ve2.c
@@ -120,7 +120,7 @@ void Venom2_UpdateEvents(Actor* this) {
}
break;
case 3:
- gPauseEnabled = 0;
+ gPauseEnabled = false;
if (gStarWolfMsgTimer < 600) {
player->cam.eye.x += wolf->vel.x * 0.23f;
player->cam.eye.y += wolf->vel.y * 0.23f;
diff --git a/src/overlays/ovl_menu/fox_map.c b/src/overlays/ovl_menu/fox_map.c
index 1bb2080a..84f51d3d 100644
--- a/src/overlays/ovl_menu/fox_map.c
+++ b/src/overlays/ovl_menu/fox_map.c
@@ -5,10 +5,12 @@
*/
#include "mods.h"
-// #include "prevent_bss_reordering.h"
#include "global.h"
#include "fox_map.h"
#include "fox_option.h"
+// #include "prevent_bss_reordering.h"
+// #include "prevent_bss_reordering2.h"
+// #include "prevent_bss_reordering3.h"
#include "assets/ast_map.h"
#include "assets/ast_text.h"
#include "assets/ast_font_3d.h"
@@ -1704,6 +1706,10 @@ bool Map_8019FD1C(LevelId levelId, s32 arg1) {
s32 ret;
s32 planetSaveSlot;
+#ifdef AVOID_UB
+ planetSaveSlot = PLANET_CORNERIA;
+#endif
+
switch (levelId) {
case LEVEL_METEO:
planetSaveSlot = PLANET_METEO;
diff --git a/src/overlays/ovl_menu/fox_option.c b/src/overlays/ovl_menu/fox_option.c
index 612278b8..64566083 100644
--- a/src/overlays/ovl_menu/fox_option.c
+++ b/src/overlays/ovl_menu/fox_option.c
@@ -1634,7 +1634,7 @@ void Option_ExpertSoundInit(void) {
}
#if MODS_SFX_JUKEBOX == 1
-#include "../../mods/sfxjukebox2.c"
+#include "../../mods/sfxjukebox.c"
#endif
// Expert Sound Options