From 19410dedd5f59bed67f7483cffa761bc3dc37b39 Mon Sep 17 00:00:00 2001 From: petrie911 <69443847+petrie911@users.noreply.github.com> Date: Thu, 14 Dec 2023 11:58:53 -0600 Subject: [PATCH] A bunch of matches, fox_52730 and fox_edisplay OK (#51) * stuff * three whole files * format * format and such * a switch in time * merge prep * nintendo switch * format * the great switch statement of our time * 43AC0 matched * stuff * Enums everywhere * oh god the switch * knakyo * new headers * format * fox * everyone hates recursion * format * one more thing * one more one more thing * renames * matches --- src/main/fox_52730.c | 108 ++++++++---------- src/main/fox_edisplay.c | 239 +++++++++++++++++++--------------------- src/main/fox_enmy1.c | 27 +++-- src/main/sf_A4B50.c | 64 +++-------- 4 files changed, 189 insertions(+), 249 deletions(-) diff --git a/src/main/fox_52730.c b/src/main/fox_52730.c index dfb89777..ef65e620 100644 --- a/src/main/fox_52730.c +++ b/src/main/fox_52730.c @@ -1149,40 +1149,32 @@ void func_80056230(Player* arg0) { } } -#ifdef NON_MATCHING -// Vec3f D_800CA2DC = {0.0f, 0.0f, 0.0f}; bool func_800563B4(s32 arg0, s32 arg1) { Vec3f sp2C = { 0.0f, 0.0f, 0.0f }; Vec3f sp20; Matrix_MultVec3f(gGfxMatrix, &sp2C, &sp20); - if ((sp20.z < 200.0f) && (sp20.z > -12000.0f) && (fabsf(sp20.x) < (fabsf(sp20.z * 0.5f) + 500.0f)) && - (fabsf(sp20.y) < (fabsf(sp20.z * 0.5f) + 500.0f))) { - if (arg1 == 0) { - D_800CA224[arg0] = 1; + if ((sp20.z < 200.0f) && (sp20.z > -12000.0f)) { + if (fabsf(sp20.x) < (fabsf(sp20.z * 0.5f) + 500.0f)) { + if (fabsf(sp20.y) < (fabsf(sp20.z * 0.5f) + 500.0f)) { + if (arg1 == 0) { + D_800CA224[arg0] = 1; + } + return true; + } } - return true; - } else { - if (arg1 == 0) { - D_800CA224[arg0] = 0; - } - return false; } + if (arg1 == 0) { + D_800CA224[arg0] = 0; + } + return false; } -#else -Vec3f D_800CA2DC = { 0.0f, 0.0f, 0.0f }; -s32 func_800563B4(s32, s32); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_52730/func_800563B4.s") -#endif s32 D_800CA2E8[16] = { 60, 40, 20, 20, 20, 20, 20, 20, 0, 0, 0, 0, 0, 0, 0, 0 }; -#ifdef NON_MATCHING -// Vec3f D_800CA328 = {0.0f, 0.0f, 0.0f}; void func_800564C0(Player* arg0, s32 arg1) { s32 i; Vec3f sp50 = { 0.0f, 0.0f, 0.0f }; - Vec3f* temp_s0; if (arg0->unk_234 != 0) { Matrix_Push(&gGfxMatrix); @@ -1195,11 +1187,12 @@ void func_800564C0(Player* arg0, s32 arg1) { if (D_801778E8 != 0) { for (i = 0; i < gCamCount; i++) { if (D_80177B00[arg0->unk_1C4][i] != 0) { - temp_s0 = &D_80161578[i]; - Matrix_MultVec3f(gGfxMatrix, &sp50, temp_s0); - if ((i == D_801778A0) && ((temp_s0->z > 300.0f) || (temp_s0->z < -8000.0f) || - ((fabsf(temp_s0->z * 0.5f) + 100.0f) < fabsf(temp_s0->x)) || - ((fabsf(temp_s0->z * 0.5f) + 100.0f) < fabsf(temp_s0->y)))) { + Matrix_MultVec3f(gGfxMatrix, &sp50, &D_80161578[i]); + if ((i == D_801778A0) && + ((D_80161578[i].z > 300.0f) || (D_80161578[i].z < -8000.0f) || + (fabsf(D_80161578[i].x) > (fabsf(D_80161578[i].z * 0.5f) + 100.0f)) || + (fabsf(D_80161578[i].y)) > (fabsf(D_80161578[i].z * 0.5f) + 100.0f))) { + D_80177B00[arg0->unk_1C4][i] = 0; } } @@ -1237,11 +1230,12 @@ void func_800564C0(Player* arg0, s32 arg1) { if (D_801778E8 != 0) { for (i = 0; i < gCamCount; i++) { if (D_80177B00[arg0->unk_1C4][i] != 0) { - temp_s0 = &D_80161578[i]; - Matrix_MultVec3f(gGfxMatrix, &sp50, temp_s0); - if ((i == D_801778A0) && ((temp_s0->z > 300.0f) || (temp_s0->z < -8000.0f) || - ((fabsf(temp_s0->z * 0.5f) + 100.0f) < fabsf(temp_s0->x)) || - ((fabsf(temp_s0->z * 0.5f) + 100.0f) < fabsf(temp_s0->y)))) { + Matrix_MultVec3f(gGfxMatrix, &sp50, &D_80161578[i]); + if ((i == D_801778A0) && + ((D_80161578[i].z > 300.0f) || (D_80161578[i].z < -8000.0f) || + (fabsf(D_80161578[i].x) > (fabsf(D_80161578[i].z * 0.5f) + 100.0f)) || + (fabsf(D_80161578[i].y) > (fabsf(D_80161578[i].z * 0.5f) + 100.0f)))) { + D_80177B00[arg0->unk_1C4][i] = 0; } } @@ -1288,11 +1282,6 @@ void func_800564C0(Player* arg0, s32 arg1) { Matrix_Pop(&gGfxMatrix); } } -#else -Vec3f D_800CA328 = { 0.0f, 0.0f, 0.0f }; -void func_800564C0(Player*, s32); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_52730/func_800564C0.s") -#endif f32 D_800CA334[] = { 0.02f, 0.06f, 0.08f, 0.05f, 0.04f, 0.03f, 0.06f, 0.04f, @@ -1357,24 +1346,22 @@ void func_80056E2C(Player* arg0) { } } -#ifdef NON_MATCHING void func_80057248(void) { s32 i; - Vec3f* var_s0; f32 var_fs0; if (!(gFrameCount & 4)) { RCP_SetupDL_40(); - for (i = 0, var_s0 = D_80177E98; i < ARRAY_COUNT(D_80177E98); i++, var_s0++) { - if (var_s0->z < 0.0f) { - var_fs0 = sqrtf(VEC3F_SQ(*var_s0)) * 0.0015f; + for (i = 0; i < ARRAY_COUNT(D_80177E98); i++) { + if (D_80177E98[i].z < 0.0f) { + var_fs0 = sqrtf(VEC3F_SQ(D_80177E98[i])) * 0.0015f; if (var_fs0 > 100.0f) { var_fs0 = 100.0f; } else if (var_fs0 < 1.0f) { var_fs0 = 1.0f; } Matrix_Push(&gGfxMatrix); - Matrix_Translate(gGfxMatrix, var_s0->x, var_s0->y, var_s0->z, 1); + Matrix_Translate(gGfxMatrix, D_80177E98[i].x, D_80177E98[i].y, D_80177E98[i].z, 1); Matrix_Scale(gGfxMatrix, var_fs0 * 0.25f, var_fs0 * 0.25f, 1.0f, 1); if ((i == 0) && (gCurrentLevel == LEVEL_SECTOR_Z)) { Matrix_Scale(gGfxMatrix, 2.0f, 2.0f, 1.0f, 1); @@ -1389,29 +1376,23 @@ void func_80057248(void) { } Matrix_Pop(&gGfxMatrix); } - var_s0->x = var_s0->y = 0; - var_s0->z = 100.0f; + D_80177E98[i].x = D_80177E98[i].y = 0; + D_80177E98[i].z = 100.0f; } gDPSetTextureFilter(gMasterDisp++, G_TF_BILERP); } } -#else -void func_80057248(void); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_52730/func_80057248.s") -#endif -#ifdef NON_MATCHING void func_80057504(void) { s32 i; + s32 j; f32 var_fs0; - Vec3f* var_s0; - f32 tm; - for (i = 0, var_s0 = D_80161578; i < gCamCount; i++, var_s0++) { - if (var_s0->z < 0.f) { - tm = sqrtf(VEC3F_SQ(*var_s0)); - if (tm < 20000.0f) { - var_fs0 = tm * 0.0015f; + for (i = 0; i < gCamCount; i++) { + if (D_80161578[i].z < 0.0f) { + var_fs0 = sqrtf(VEC3F_SQ(D_80161578[i])); + if (var_fs0 < 20000.0f) { + var_fs0 *= 0.0015f; if (var_fs0 > 100.0f) { var_fs0 = 100.0f; } @@ -1419,10 +1400,10 @@ void func_80057504(void) { var_fs0 = 1.2f; } Matrix_Push(&gGfxMatrix); - Matrix_Translate(gGfxMatrix, var_s0->x, var_s0->y, var_s0->z, 1); + Matrix_Translate(gGfxMatrix, D_80161578[i].x, D_80161578[i].y, D_80161578[i].z, 1); if ((D_80177854 != 0x64) && (i == D_801778A0)) { - Math_SmoothStepToF(&D_801615A8[i], 0.0f, 0.5f, 20.0f, 0.0f); - Math_SmoothStepToF(&D_801615B8[i], 1.0, 0.5f, 0.2f, 0.0f); + Math_SmoothStepToF(&D_801615A8[i], 0.0f, 0.5f, 20.0f, 0); + Math_SmoothStepToF(&D_801615B8[i], 1.0, 0.5f, 0.2f, 0); } var_fs0 *= D_801615B8[i]; Matrix_Scale(gGfxMatrix, var_fs0 * 1.5f, var_fs0 * 1.5f, 1.0f, 1); @@ -1436,15 +1417,12 @@ void func_80057504(void) { } } } - for (i = 0; i < gCamCount; i++) { - D_80161578[i].x = D_80161578[i].y = 0; - D_80161578[i].z = 100.0f; + for (j = 0; j < gCamCount; j++) { + + D_80161578[j].x = D_80161578[j].y = 0.f; + D_80161578[j].z = 100.0f; } } -#else -void func_80057504(void); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_52730/func_80057504.s") -#endif void func_80057814(Player* arg0) { Vec3f sp2C; diff --git a/src/main/fox_edisplay.c b/src/main/fox_edisplay.c index 3b29d31e..cdbeab9b 100644 --- a/src/main/fox_edisplay.c +++ b/src/main/fox_edisplay.c @@ -1028,7 +1028,6 @@ void func_8005D954(Object_2F4* arg0) { } } -#ifdef NON_MATCHING void func_8005DBC0(Object_2F4* arg0) { s32 var_v1; Vec3f sp50 = { 0.0f, 0.0f, 0.0f }; @@ -1051,16 +1050,18 @@ void func_8005DBC0(Object_2F4* arg0) { var_fv0 = 1000.0f; var_fv1 = -25000.0f; } - if (((var_fv0 > D_801615E0.z) && (D_801615E0.z > var_fv1)) && - ((fabsf(D_801615E0.x) < (fabsf(D_801615E0.z * 0.5f) + 500.0f)) && - (fabsf(D_801615E0.y) < (fabsf(D_801615E0.z * 0.5f) + 500.0f)))) { - Matrix_RotateY(gCalcMatrix, arg0->obj.rot.y * M_DTOR, 1); - Matrix_RotateX(gCalcMatrix, arg0->obj.rot.x * M_DTOR, 1); - Matrix_RotateZ(gCalcMatrix, arg0->obj.rot.z * M_DTOR, 1); - arg0->unk_01C.draw(&arg0->obj); - D_801615EC = 1; - if ((gPlayer[0].unk_1C8 == 3) && (arg0->obj.id == OBJECT_197) && (arg0->unk_0E4 == 200)) { - D_80177E98[0] = D_801615E0; + if ((var_fv0 > D_801615E0.z) && (D_801615E0.z > var_fv1)) { + if (fabsf(D_801615E0.x) < (fabsf(D_801615E0.z * 0.5f) + 500.0f)) { + if (fabsf(D_801615E0.y) < (fabsf(D_801615E0.z * 0.5f) + 500.0f)) { + Matrix_RotateY(gCalcMatrix, arg0->obj.rot.y * M_DTOR, 1); + Matrix_RotateX(gCalcMatrix, arg0->obj.rot.x * M_DTOR, 1); + Matrix_RotateZ(gCalcMatrix, arg0->obj.rot.z * M_DTOR, 1); + arg0->unk_01C.draw(&arg0->obj); + D_801615EC = 1; + if ((gPlayer[0].unk_1C8 == 3) && (arg0->obj.id == OBJECT_197) && (arg0->unk_0E4 == 200)) { + D_80177E98[0] = D_801615E0; + } + } } } } else { @@ -1078,19 +1079,24 @@ void func_8005DBC0(Object_2F4* arg0) { var_fv1 = -20000.0f; var_fa1 = 0.5f; } - if (((D_801615E0.z < var_fv0) && (var_fv1 < D_801615E0.z)) && - ((fabsf(D_801615E0.x) < (fabsf(D_801615E0.z * var_fa1) + var_ft5)) && - (fabsf(D_801615E0.y) < (fabsf(D_801615E0.z * var_fa1) + var_ft5)) && (arg0->unk_01C.draw != NULL))) { - Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); - Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); - Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); - Matrix_SetGfxMtx(&gMasterDisp); - arg0->unk_01C.draw(&arg0->obj); - D_801615EC = 1; - if ((gPlayer[0].unk_1C8 == 3) && (((arg0->obj.id == OBJECT_197) && - ((arg0->unk_0E4 < 4) || (arg0->unk_0E4 == 8) || (arg0->unk_0E4 == 9))) || - (arg0->obj.id == OBJECT_198))) { - D_80177E98[arg0->unk_0E4] = D_801615E0; + if ((var_fv0 > D_801615E0.z) && (D_801615E0.z > var_fv1)) { + if (fabsf(D_801615E0.x) < (fabsf(D_801615E0.z * var_fa1) + var_ft5)) { + if (fabsf(D_801615E0.y) < (fabsf(D_801615E0.z * var_fa1) + var_ft5)) { + if (arg0->unk_01C.draw != NULL) { + Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); + Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); + Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); + Matrix_SetGfxMtx(&gMasterDisp); + arg0->unk_01C.draw(&arg0->obj); + D_801615EC = 1; + if ((gPlayer[0].unk_1C8 == 3) && + (((arg0->obj.id == OBJECT_197) && + ((arg0->unk_0E4 < 4) || (arg0->unk_0E4 == 8) || (arg0->unk_0E4 == 9))) || + (arg0->obj.id == OBJECT_198))) { + D_80177E98[arg0->unk_0E4] = D_801615E0; + } + } + } } } } @@ -1112,13 +1118,7 @@ void func_8005DBC0(Object_2F4* arg0) { func_8005F290(&arg0->unk_100, &D_801615E0); arg0->unk_0B0 = D_801615EC; } -#else -Vec3f D_800CFCF8 = { 0.0f, 0.0f, 0.0f }; -void func_8005DBC0(Object_2F4* arg0); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005DBC0.s") -#endif -#ifdef NON_MATCHING void func_8005E1B8(Object_408* arg0, s32 arg1) { f32 var_fa1; f32 var_ft5; @@ -1153,21 +1153,23 @@ void func_8005E1B8(Object_408* arg0, s32 arg1) { var_fv1 = -15000.0f; } sp3C = -1.0f; - if (((D_801615D0.z < var_fv0) && (var_fv1 < D_801615D0.z)) && - ((fabsf(D_801615D0.x) < (fabsf(D_801615D0.z * var_ft5) + var_fa1)) && - (fabsf(D_801615D0.y) < (fabsf(D_801615D0.z * var_ft5) + var_fa1)))) { - sp3C = 1.0f; - if (arg0->obj.id == OBJECT_309) { - if (arg0->obj.id == OBJECT_316) { - func_8005F670(&arg0->obj.pos); + if ((D_801615D0.z < var_fv0) && (var_fv1 < D_801615D0.z)) { + if (fabsf(D_801615D0.x) < (fabsf(D_801615D0.z * var_ft5) + var_fa1)) { + if (fabsf(D_801615D0.y) < (fabsf(D_801615D0.z * var_ft5) + var_fa1)) { + sp3C = 1.0f; + if (arg0->obj.id != OBJECT_309) { + if (arg0->obj.id != OBJECT_316) { + func_8005F670(&arg0->obj.pos); + } + if (arg0->unk_01C.drawType != 2) { + Matrix_SetGfxMtx(&gMasterDisp); + } + if (arg1 < 0) { + func_800596C0(); + } + arg0->unk_01C.draw(&arg0->obj); + } } - if (arg0->unk_01C.drawType != 2) { - Matrix_SetGfxMtx(&gMasterDisp); - } - if (arg1 < 0) { - func_800596C0(); - } - arg0->unk_01C.draw(&arg0->obj); } } D_801615D0.y = sp3C; @@ -1178,11 +1180,6 @@ void func_8005E1B8(Object_408* arg0, s32 arg1) { arg0->unk_01C.draw(&arg0->obj); } } -#else -Vec3f D_800CFD04 = { 0.0f, 0.0f, 0.0f }; -void func_8005E1B8(Object_408* arg0, s32 arg1); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005E1B8.s") -#endif void func_8005E454(Object_8C* arg0, s32 arg1) { if ((arg1 < 0) && (arg0->obj.pos.y < 7.0f)) { @@ -1202,7 +1199,6 @@ void func_8005E454(Object_8C* arg0, s32 arg1) { } } -#ifdef NON_MATCHING void func_8005E538(Object_8C* arg0) { Vec3f sp4C = { 0.0f, 0.0f, 0.0f }; Vec3f sp40; @@ -1220,29 +1216,26 @@ void func_8005E538(Object_8C* arg0) { } else { var_fv0 = -10000.0f; } - if ((sp40.z < 0.0f) && (var_fv0 < sp40.z) && (fabsf(sp40.x) < (fabsf(sp40.z * 0.5f) + 500.0f)) && - (fabsf(sp40.y) < (fabsf(sp40.z * 0.5f) + 500.0f))) { - if (arg0->unk_1C.draw != NULL) { - Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); - Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); - Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); - Matrix_SetGfxMtx(&gMasterDisp); - arg0->unk_1C.draw(&arg0->obj); + if ((sp40.z < 0.0f) && (var_fv0 < sp40.z)) { + if (fabsf(sp40.x) < (fabsf(sp40.z * 0.5f) + 500.0f)) { + if (fabsf(sp40.y) < (fabsf(sp40.z * 0.5f) + 500.0f)) { + if (arg0->unk_1C.draw != NULL) { + Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); + Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); + Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); + Matrix_SetGfxMtx(&gMasterDisp); + arg0->unk_1C.draw(&arg0->obj); + } + sp3B = 1; + } } - sp3B = 1; } func_8005F290(&arg0->unk_80, &sp40); - if ((sp3B == 0) && (arg0->obj.id == OBJECT_352) && (arg0->obj.id == OBJECT_373) && (D_801778E8 == 0)) { + if ((sp3B == 0) && (arg0->obj.id != OBJECT_352) && (arg0->obj.id != OBJECT_373) && (D_801778E8 == 0)) { Object_Kill(&arg0->obj, &arg0->unk_80); } } -#else -Vec3f D_800CFD10 = { 0.0f, 0.0f, 0.0f }; -void func_8005E538(Object_8C* arg0); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005E538.s") -#endif -#ifdef NON_MATCHING void func_8005E7B8(Object_6C* arg0, s32 arg1) { Vec3f sp44 = { 0.0f, 0.0f, 0.0f }; Vec3f sp38; @@ -1251,20 +1244,23 @@ void func_8005E7B8(Object_6C* arg0, s32 arg1) { Matrix_Translate(gGfxMatrix, arg0->obj.pos.x, arg0->obj.pos.y, arg0->obj.pos.z + D_80177D20, 1); Matrix_MultVec3f(gGfxMatrix, &sp44, &sp38); var_v0 = 0; - if ((sp38.z < 0.0f) && (sp38.z > -12000.0f) && (fabsf(sp38.x) < (fabsf(sp38.z * 0.5f) + 500.0f)) && - (fabsf(sp38.y) < (fabsf(sp38.z * 0.5f) + 500.0f))) { - if (arg0->unk_1C.draw != NULL) { - Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); - Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); - Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); - Matrix_SetGfxMtx(&gMasterDisp); - if (arg0->unk_1C.drawType == 0) { - gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList); - } else { - arg0->unk_1C.draw(&arg0->obj); + if ((sp38.z < 0.0f) && (sp38.z > -12000.0f)) { + if (fabsf(sp38.x) < (fabsf(sp38.z * 0.5f) + 500.0f)) { + if (fabsf(sp38.y) < (fabsf(sp38.z * 0.5f) + 500.0f)) { + if (arg0->unk_1C.draw != NULL) { + Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); + Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); + Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); + Matrix_SetGfxMtx(&gMasterDisp); + if (arg0->unk_1C.drawType == 0) { + gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList); + } else { + arg0->unk_1C.draw(&arg0->obj); + } + } + var_v0 = 1; } } - var_v0 = 1; } func_8005F290(&arg0->unk_5C, &sp38); if ((var_v0 == 0) && (D_80177880 == 1) && (gCamCount == 1) && (arg0->obj.id < 336) && @@ -1272,11 +1268,6 @@ void func_8005E7B8(Object_6C* arg0, s32 arg1) { Object_Kill(&arg0->obj, &arg0->unk_5C); } } -#else -Vec3f D_800CFD1C = { 0.0f, 0.0f, 0.0f }; -void func_8005E7B8(Object_6C* arg0, s32 arg1); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005E7B8.s") -#endif void func_8005EA24(Object_2F4* arg0) { Matrix_Translate(gGfxMatrix, arg0->obj.pos.x, arg0->unk_178 + 3.0f, arg0->obj.pos.z, 1); @@ -1418,7 +1409,6 @@ void func_8005F290(Vec3f* arg0, Vec3f* arg1) { func_8005F030(arg0); } -#ifdef NON_MATCHING void func_8005F2F4(Object_58* arg0) { Vec3f sp54 = { 0.0f, 0.0f, 0.0f }; Vec3f sp48; @@ -1446,29 +1436,27 @@ void func_8005F2F4(Object_58* arg0) { Matrix_Translate(gGfxMatrix, arg0->obj.pos.x, arg0->obj.pos.y, arg0->obj.pos.z, 1); } Matrix_MultVec3f(gGfxMatrix, &sp54, &sp48); - if ((sp48.z < sp44) && (sp40 < sp48.z) && (fabsf(sp48.y) < (fabsf(sp48.z * sp38) + sp3C)) && - (fabsf(sp48.x) < (fabsf(sp48.z * sp38) + sp3C))) { - func_8005F670(&arg0->obj.pos); - if (arg0->obj.id == OBJECT_131) { - Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); - Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); - Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); - Matrix_RotateY(gGfxMatrix, M_PI / 2.0f, 1); - Matrix_Translate(gGfxMatrix, -551.0f, 0.0f, 0.0f, 1); - Matrix_SetGfxMtx(&gMasterDisp); - gSPDisplayList(gMasterDisp++, D_6007650); - } else { - Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); - Matrix_SetGfxMtx(&gMasterDisp); - gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList); + if ((sp48.z < sp44) && (sp40 < sp48.z)) { + if (fabsf(sp48.y) < (fabsf(sp48.z * sp38) + sp3C)) { + if (fabsf(sp48.x) < (fabsf(sp48.z * sp38) + sp3C)) { + func_8005F670(&arg0->obj.pos); + if (arg0->obj.id == OBJECT_131) { + Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); + Matrix_RotateX(gGfxMatrix, arg0->obj.rot.x * M_DTOR, 1); + Matrix_RotateZ(gGfxMatrix, arg0->obj.rot.z * M_DTOR, 1); + Matrix_RotateY(gGfxMatrix, M_PI / 2.0f, 1); + Matrix_Translate(gGfxMatrix, -551.0f, 0.0f, 0.0f, 1); + Matrix_SetGfxMtx(&gMasterDisp); + gSPDisplayList(gMasterDisp++, D_6007650); + } else { + Matrix_RotateY(gGfxMatrix, arg0->obj.rot.y * M_DTOR, 1); + Matrix_SetGfxMtx(&gMasterDisp); + gSPDisplayList(gMasterDisp++, arg0->unk_1C.dList); + } + } } } } -#else -Vec3f D_800CFD34 = { 0.0f, 0.0f, 0.0f }; -void func_8005F2F4(Object_58*); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005F2F4.s") -#endif void func_8005F670(Vec3f* arg0) { Vec3f sp9C; @@ -1519,7 +1507,6 @@ void func_8005F670(Vec3f* arg0) { } } -#ifdef NON_MATCHING bool func_8005F9DC(Vec3f* arg0) { Vec3f sp2C; Vec3f sp20; @@ -1530,16 +1517,15 @@ bool func_8005F9DC(Vec3f* arg0) { sp2C.y = arg0->y - gPlayer[D_801778A0].unk_040.y; sp2C.z = arg0->z - gPlayer[D_801778A0].unk_040.z; Matrix_MultVec3fNoTranslate(gCalcMatrix, &sp2C, &sp20); - if ((sp20.z < 1000.0f) && (sp20.z > -13000.0f) && (fabsf(sp20.x) < (fabsf(sp20.z * 0.4f) + 2000.0f)) && - (fabsf(sp20.y) < (fabsf(sp20.y * 0.4f) + 2000.0f))) { - return true; + if ((sp20.z < 1000.0f) && (sp20.z > -13000.0f)) { + if (fabsf(sp20.x) < (fabsf(sp20.z * 0.4f) + 2000.0f)) { + if (fabsf(sp20.y) < (fabsf(sp20.y * 0.4f) + 2000.0f)) { + return true; + } + } } return false; } -#else -bool func_8005F9DC(Vec3f* arg0); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_8005F9DC.s") -#endif void func_8005FB70(s32 arg0) { Vec3f spAC; @@ -1766,10 +1752,8 @@ Gfx D_800CFD80[] = { gsSPEndDisplayList(), }; -#ifdef NON_MATCHING void func_80060968(void) { s32 i; - s32 var_a1; if (gCurrentLevel == LEVEL_MACBETH) { RCP_SetupDL(&gMasterDisp, 0x21); @@ -1780,17 +1764,20 @@ void func_80060968(void) { RCP_SetupDL_14(); } for (i = 0; i < ARRAY_COUNT(gUnkEntities30); i++) { + UnkEntity30* ent30 = &gUnkEntities30[i]; + if (gUnkEntities30[i].mode != 0) { Matrix_Push(&gGfxMatrix); - Matrix_Translate(gGfxMatrix, gUnkEntities30[i].unk_04.x, gUnkEntities30[i].unk_04.y, - gUnkEntities30[i].unk_04.z + D_80177D20, 1); - Matrix_RotateY(gGfxMatrix, gUnkEntities30[i].unk_20, 1); - Matrix_RotateX(gGfxMatrix, gUnkEntities30[i].unk_1C, 1); - Matrix_RotateZ(gGfxMatrix, gUnkEntities30[i].unk_20, 1); - Matrix_Scale(gGfxMatrix, gUnkEntities30[i].unk_28, gUnkEntities30[i].unk_28, gUnkEntities30[i].unk_24, 1); + Matrix_Translate(gGfxMatrix, ent30->unk_04.x, ent30->unk_04.y, ent30->unk_04.z + D_80177D20, 1); + Matrix_RotateY(gGfxMatrix, ent30->unk_20, 1); + Matrix_RotateX(gGfxMatrix, ent30->unk_1C, 1); + Matrix_RotateZ(gGfxMatrix, ent30->unk_20, 1); + Matrix_Scale(gGfxMatrix, ent30->unk_28, ent30->unk_28, ent30->unk_24, 1); + if ((gCurrentLevel == LEVEL_AQUAS) || (gCurrentLevel == LEVEL_VENOM_2)) { - var_a1 = (gFrameCount & 1) ? 180 : 50; - gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, var_a1); + s32 alpha = (gFrameCount & 1) ? 180 : 50; + + gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, 255, 255, 255, alpha); if (gCurrentLevel == LEVEL_AQUAS) { Matrix_Scale(gGfxMatrix, 0.01f, 0.3f, 0.0025f, 1); Matrix_Translate(gGfxMatrix, 0.0f, 0.0f, -200.0f, 1); @@ -1809,8 +1796,8 @@ void func_80060968(void) { if (gCurrentLevel == LEVEL_MACBETH) { gSPDisplayList(gMasterDisp++, D_6012C00); } else { - gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, gUnkEntities30[i].unk_2C, gUnkEntities30[i].unk_2D, - gUnkEntities30[i].unk_2E, gUnkEntities30[i].unk_2F); + gDPSetPrimColor(gMasterDisp++, 0x00, 0x00, ent30->unk_2C, ent30->unk_2D, ent30->unk_2E, + ent30->unk_2F); gSPDisplayList(gMasterDisp++, D_800CFD80); } } @@ -1818,10 +1805,6 @@ void func_80060968(void) { } } } -#else -void func_80060968(void); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/fox_edisplay/func_80060968.s") -#endif void func_80060D94(s32 arg0) { UnkEntity30* temp_s0 = &gUnkEntities30[arg0]; diff --git a/src/main/fox_enmy1.c b/src/main/fox_enmy1.c index af7bb5cd..2074e50a 100644 --- a/src/main/fox_enmy1.c +++ b/src/main/fox_enmy1.c @@ -1431,10 +1431,10 @@ void func_800656D4(Object_2F4* arg0) { for (i = 0, j = 1; j < 3; i++, j++) { temp_a0 = spB4[i]; temp_a2 = spB4[j]; - if (spB4[i] < temp_a2) { - temp_v0 = spA8[j]; - spB4[j] = spB4[i]; + temp_v0 = spA8[j]; + if (spB4[i] < spB4[j]) { spA8[j] = spA8[i]; + spB4[j] = temp_a0; spB4[i] = temp_a2; spA8[i] = temp_v0; } @@ -1454,14 +1454,25 @@ void func_800656D4(Object_2F4* arg0) { break; } - if (((D_80177880 == 1) && (D_801778B0[spC4 - 1] > 0)) || D_801778B0[spC4 + 1] > 0) { - arg0->unk_054 = spC4; + if (D_80177880 == 1) { + + if (D_801778B0[spC4 - 1] > 0) { + arg0->unk_054 = spC4; + goto label; + } else { + arg0->unk_054 = 10000; + } } else { - arg0->unk_054 = 10000; + if (D_801778B0[spC4 + 1] > 0) { + arg0->unk_054 = spC4; + goto label; + } else { + arg0->unk_054 = 10000; + } } - } else { - arg0->unk_054 = 10000; } + arg0->unk_054 = 10000; + label: arg0->unk_058 = 1; } spC4 = arg0->unk_054; diff --git a/src/main/sf_A4B50.c b/src/main/sf_A4B50.c index b8b393dc..5a3aaea0 100644 --- a/src/main/sf_A4B50.c +++ b/src/main/sf_A4B50.c @@ -28,7 +28,6 @@ s32 Play_GetMaxHealth(void) { return 0xFF; } -#ifdef NON_MATCHING void func_800A3FEC(void) { Vec3f spC4; Vec3f spB8; @@ -49,7 +48,11 @@ void func_800A3FEC(void) { D_801782FC++; switch (gCurrentLevel) { case LEVEL_SOLAR: - spB4 = (gFrameCount & 1) ? SEGMENTED_TO_VIRTUAL(D_6001C50) : SEGMENTED_TO_VIRTUAL(D_6004500); + if (gFrameCount & 1) { + spB4 = SEGMENTED_TO_VIRTUAL(D_6001C50); + } else { + spB4 = SEGMENTED_TO_VIRTUAL(D_6004500); + } spB0 = SEGMENTED_TO_VIRTUAL(D_6022760); spA8 = 15; sp90 = 70.0f; @@ -58,7 +61,11 @@ void func_800A3FEC(void) { sp84 = 0.5f; break; case LEVEL_ZONESS: - spB4 = (gFrameCount & 1) ? SEGMENTED_TO_VIRTUAL(D_6009ED0) : SEGMENTED_TO_VIRTUAL(D_600C780); + if (gFrameCount & 1) { + spB4 = SEGMENTED_TO_VIRTUAL(D_6009ED0); + } else { + spB4 = SEGMENTED_TO_VIRTUAL(D_600C780); + } spB0 = SEGMENTED_TO_VIRTUAL(D_602AC50); spA8 = 7; sp90 = 40.0f; @@ -75,17 +82,16 @@ void func_800A3FEC(void) { for (i = 0; i < 17 * 17; i++, var_s3++, var_s5++, var_s4++, var_s0++, var_s1++, spB0++) { Math_SmoothStepToF(var_s3, *var_s5, sp8C, *var_s4, 0.0f); Math_SmoothStepToF(var_s4, 100.0f, 1.0f, sp84, 0.0f); - if ((i & spA8) == (D_801782FC & spA8)) { + if ((D_801782FC & spA8) == (i & spA8)) { *var_s5 = Rand_ZeroOne() * sp90; *var_s4 = 0.0f; } *var_s0 += *var_s1; *var_s1 -= 0.5f; if (*var_s0 < 0.0f) { - *var_s0 = 0.0f; - *var_s1 = 0.0f; + *var_s1 = *var_s0 = 0.0f; } - spB4[*spB0].n.ob[1] = (s32) *var_s0 + (s32) *var_s3; + spB4[*spB0].n.ob[1] = (s16) *var_s3 + (s16) *var_s0; Matrix_RotateZ(gCalcMatrix, *var_s3 * sp88 * M_DTOR, 0); spC4.x = 120.0f; spC4.y = 0.0f; @@ -95,34 +101,7 @@ void func_800A3FEC(void) { spB4[*spB0].n.n[1] = spB8.y; spB4[*spB0].n.n[2] = spB8.z; } - // for(i = 0; i < 17 * 17; i++) { - // Math_SmoothStepToF(&D_801782CC[i], D_801782D4[i], var_fs5, D_801782DC[i], 0.0f); - // Math_SmoothStepToF(&D_801782DC[i], 100.0f, 1.0f, sp84, 0.0f); - // if ((i & spA8) == (D_801782FC & spA8)) { - // D_801782D4[i] = Rand_ZeroOne() * var_fs4; - // D_801782DC[i] = 0.0f; - // } - // D_801782E4[i] += *var_s1; - // D_801782EC[i] -= 0.5f; - // if (D_801782E4[i] < 0.0f) { - // D_801782E4[i] = 0.0f; - // D_801782EC[i] = 0.0f; - // } - // var_s7[var_s2[i]].n.ob[1] = (s32) D_801782E4[i] + (s32) D_801782CC[i]; - // Matrix_RotateZ(gCalcMatrix, D_801782CC[i] * sp88 * M_DTOR, 0); - // spC4.x = 120.0f; - // spC4.y = 0.0f; - // spC4.z = 0.0f; - // Matrix_MultVec3fNoTranslate(gCalcMatrix, &spC4, &spB8); - // var_s7[var_s2[i]].n.n[0]= spB8.x; - // var_s7[var_s2[i]].n.n[1]= spB8.y; - // var_s7[var_s2[i]].n.n[2]= spB8.z; - // } } -#else -void func_800A3FEC(void); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A4B50/func_800A3FEC.s") -#endif void func_800A4460(Player* arg0) { if ((gCurrentLevel == LEVEL_VENOM_2) && (gObjects408[0].obj.status == 2) && (gObjects408[0].unk_04E == 0x11)) { @@ -747,14 +726,10 @@ void func_800A69F8(s32 arg0, f32 arg1, f32 arg2, f32 arg3) { } } -#ifdef NON_MATCHING -s32 func_800A6A74(void) { +// has to be int. s32 and u32 don't match +int func_800A6A74(void) { return gGoldRingCount[0] && gGoldRingCount[1] && gGoldRingCount[2] && gGoldRingCount[3]; } -#else -s32 func_800A6A74(void); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A4B50/func_800A6A74.s") -#endif void func_800A6AC0(Player* player, s32 side, s32 damage) { if ((player->unk_1CC == 0) && (D_80177AB8[player->unk_1C4] < 1.0f)) { @@ -1045,8 +1020,6 @@ s32 func_800A78C4(f32* arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f return false; } -#ifdef NON_MATCHING -// stupid 0.0f stuff s32 func_800A7974(Player* arg0, f32* arg1, s32* arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, f32 arg9, f32 argA, f32 argB) { s32 spB4; @@ -1079,7 +1052,7 @@ s32 func_800A7974(Player* arg0, f32* arg1, s32* arg2, f32 arg3, f32 arg4, f32 ar Matrix_RotateX(gCalcMatrix, -arg6 * M_DTOR, 1); Matrix_RotateY(gCalcMatrix, -arg7 * M_DTOR, 1); } - if (!((arg9 == 0.0f) && (argA == 0.0f) && (argB == 0.0f))) { + if (!((arg9 == 0) && (argA == 0) && (argB == 0))) { Matrix_RotateZ(gCalcMatrix, -argB * M_DTOR, 1); Matrix_RotateX(gCalcMatrix, -arg9 * M_DTOR, 1); Matrix_RotateY(gCalcMatrix, -argA * M_DTOR, 1); @@ -1164,11 +1137,6 @@ s32 func_800A7974(Player* arg0, f32* arg1, s32* arg2, f32 arg3, f32 arg4, f32 ar } return 0; } -#else -s32 func_800A7974(Player* arg0, f32* arg1, s32* arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, f32 arg8, - f32 arg9, f32 argA, f32 argB); -#pragma GLOBAL_ASM("asm/us/nonmatchings/main/sf_A4B50/func_800A7974.s") -#endif bool func_800A8054(s32 objId, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, Vec3f* arg7, Vec3f* arg8) { Vec3f sp54;