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
This commit is contained in:
petrie911 2023-12-14 11:58:53 -06:00 committed by GitHub
parent 89ae8dff96
commit 19410dedd5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 189 additions and 249 deletions

View File

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

View File

@ -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,9 +1050,9 @@ 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)))) {
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);
@ -1063,6 +1062,8 @@ void func_8005DBC0(Object_2F4* arg0) {
D_80177E98[0] = D_801615E0;
}
}
}
}
} else {
Matrix_Translate(gGfxMatrix, arg0->obj.pos.x, arg0->obj.pos.y, arg0->obj.pos.z, 1);
Matrix_MultVec3f(gGfxMatrix, &sp50, &D_801615E0);
@ -1078,22 +1079,27 @@ 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))) {
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) &&
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 (D_801615EC == 0) {
arg0->unk_0CA[D_801778A0] = 0;
if ((arg0->obj.id == OBJECT_189) || (arg0->obj.id == OBJECT_286)) {
@ -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,12 +1153,12 @@ 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)))) {
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) {
if (arg0->obj.id != OBJECT_309) {
if (arg0->obj.id != OBJECT_316) {
func_8005F670(&arg0->obj.pos);
}
if (arg0->unk_01C.drawType != 2) {
@ -1170,6 +1170,8 @@ void func_8005E1B8(Object_408* arg0, s32 arg1) {
arg0->unk_01C.draw(&arg0->obj);
}
}
}
}
D_801615D0.y = sp3C;
if (arg0->obj.id == OBJECT_309) {
arg0->unk_308 = D_801615D0;
@ -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,8 +1216,9 @@ 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 ((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);
@ -1231,18 +1228,14 @@ void func_8005E538(Object_8C* arg0) {
}
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,8 +1244,9 @@ 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 ((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);
@ -1266,17 +1260,14 @@ void func_8005E7B8(Object_6C* arg0, s32 arg1) {
}
var_v0 = 1;
}
}
}
func_8005F290(&arg0->unk_5C, &sp38);
if ((var_v0 == 0) && (D_80177880 == 1) && (gCamCount == 1) && (arg0->obj.id < 336) &&
(gCurrentLevel != LEVEL_VENOM_2)) {
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,8 +1436,9 @@ 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))) {
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);
@ -1464,11 +1455,8 @@ void func_8005F2F4(Object_58* arg0) {
}
}
}
#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))) {
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];

View File

@ -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];
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) {
if (D_80177880 == 1) {
if (D_801778B0[spC4 - 1] > 0) {
arg0->unk_054 = spC4;
goto label;
} else {
arg0->unk_054 = 10000;
}
} else {
if (D_801778B0[spC4 + 1] > 0) {
arg0->unk_054 = spC4;
goto label;
} else {
arg0->unk_054 = 10000;
}
}
}
arg0->unk_054 = 10000;
label:
arg0->unk_058 = 1;
}
spC4 = arg0->unk_054;

View File

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