decomp more 80057C60.c to reach 20 percent (#118)

This commit is contained in:
MegaMech
2021-12-26 00:14:52 -07:00
committed by GitHub
parent f069034c37
commit dd0b6e2ff2
27 changed files with 294 additions and 1195 deletions
+225 -443
View File
@@ -285,7 +285,7 @@ void func_80058538(u32 arg0) {
}
}
void func_80058B58(s32 arg0);
void func_80058B58();
void func_80058640(void) {
gDPSetTexturePersp(gDisplayListHead++, G_TP_PERSP);
@@ -443,38 +443,24 @@ void func_800588F4(s32 arg0) {
}
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern u16 D_8015F894;
void func_80058B58(s32 arg0) {
//s16 temp_v0;
//temp_v0 = gCurrentCourseId;
if (gCurrentCourseId != COURSE_FRAPPE_SNOWLAND) {
if (gCurrentCourseId != COURSE_SHERBET_LAND) {
if (D_800DC50C != CREDITS_SEQUENCE) {
if (D_8015F894 == 0) {
if (gPlayerCountSelection1 == COURSE_CHOCO_MOUNTAIN) {
func_800517C8();
}
return;
void func_80058B58() {
switch(gCurrentCourseId) {
case 5:
if (D_800DC50C != 9) {
if ((D_8015F894 == 0) && (gPlayerCountSelection1 == COURSE_CHOCO_MOUNTAIN)) {
func_800517C8();
}
func_800517C8();
return;
break;
}
}
func_80052C60();
return;
func_800517C8();
break;
case 12:
func_80052C60();
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058B58.s")
#endif
extern u8 D_0D0076F8;
@@ -482,185 +468,159 @@ void func_80058BF4(void) {
gSPDisplayList(gDisplayListHead++, &D_0D0076F8);
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_80058F48(Gfx **); /* extern */
? func_80059358(Gfx **); /* extern */
? func_800593F0(Gfx **); /* extern */
? func_800594F0(Gfx **); /* extern */
? func_80059528(Gfx **); /* extern */
? func_800596A8(Gfx **); /* extern */
? func_80059710(Gfx **); /* extern */
? func_80059750(Gfx **); /* extern */
? func_800597B8(Gfx **); /* extern */
extern ? D_0D0076F8;
void func_80058F48(void);
void func_80059358(void);
void func_800593F0(void);
void func_800594F0(void);
void func_80059528(void);
void func_800596A8(void);
void func_80059710(void);
void func_80059750(void);
void func_800597B8(void);
void func_80058C20(u32 arg0) {
Gfx *temp_v1;
D_8018D21C = arg0;
temp_v1 = gDisplayListHead;
gDisplayListHead = temp_v1 + 8;
temp_v1->words.w0 = 0x6000000;
temp_v1->words.w1 = &D_0D0076F8;
gSPDisplayList(gDisplayListHead++, &D_0D0076F8);
if (D_8018D22C == 0) {
switch (arg0) {
case 0:
func_80058F48(&gDisplayListHead);
return;
case 1:
if (D_800DC51C == 0) {
func_80059358(&gDisplayListHead);
return;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 2:
if (D_800DC51C == 0) {
func_800593F0(&gDisplayListHead);
return;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 3:
if (D_800DC51C == 0) {
func_800594F0(&gDisplayListHead);
return;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 4:
if (D_800DC51C == 0) {
func_80059528(&gDisplayListHead);
return;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 8:
if (D_800DC51C == 0) {
func_800596A8(&gDisplayListHead);
return;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 9:
if (D_800DC51C == 0) {
func_80059710(&gDisplayListHead);
return;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 10:
if (D_800DC51C == 0) {
func_80059750(&gDisplayListHead);
return;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 11:
if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) {
func_800597B8(&gDisplayListHead);
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
case 0:
func_80058F48();
break;
case 1:
if (D_800DC51C == 0) {
func_80059358();
break;
}
break;
case 2:
if (D_800DC51C == 0) {
func_800593F0();
break;
}
break;
case 3:
if (D_800DC51C == 0) {
func_800594F0();
break;
}
break;
case 4:
if (D_800DC51C == 0) {
func_80059528();
break;
}
break;
case 8:
if (D_800DC51C == 0) {
func_800596A8();
break;
}
break;
case 9:
if (D_800DC51C == 0) {
func_80059710();
break;
}
break;
case 10:
if (D_800DC51C == 0) {
func_80059750();
break;
}
break;
case 11:
if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) {
func_800597B8();
}
break;
}
} else {
default:
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058C20.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_80058F78(Gfx **); /* extern */
? func_80059360(Gfx **); /* extern */
? func_800593F8(Gfx **); /* extern */
? func_800594F8(Gfx **); /* extern */
? func_80059530(Gfx **); /* extern */
? func_800596D8(Gfx **); /* extern */
? func_80059718(Gfx **); /* extern */
? func_80059780(Gfx **); /* extern */
? func_800597E8(Gfx **); /* extern */
extern ? D_0D0076F8;
void func_800593F8(void);
void func_80058F78(void);
void func_800594F8(void);
void func_80059530(void);
void func_800596D8(void);
void func_80059718(void);
void func_80059780(void);
void func_800597E8(void);
void func_80058DB4(u32 arg0) {
Gfx *temp_v1;
D_8018D21C = arg0;
temp_v1 = gDisplayListHead;
gDisplayListHead = temp_v1 + 8;
temp_v1->words.w0 = 0x6000000;
temp_v1->words.w1 = &D_0D0076F8;
gSPDisplayList(gDisplayListHead++, &D_0D0076F8);
if (D_8018D22C == 0) {
switch (arg0) {
case 0:
func_80058F78(&gDisplayListHead);
return;
func_80058F78();
break;
case 1:
if (D_800DC51C == 0) {
func_80059360(&gDisplayListHead);
return;
func_80059360();
break;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
case 2:
if (D_800DC51C == 0) {
func_800593F8(&gDisplayListHead);
return;
func_800593F8();
break;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
case 3:
if (D_800DC51C == 0) {
func_800594F8(&gDisplayListHead);
return;
func_800594F8();
break;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
case 4:
if (D_800DC51C == 0) {
func_80059530(&gDisplayListHead);
return;
func_80059530();
break;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
case 8:
if (D_800DC51C == 0) {
func_800596D8(&gDisplayListHead);
return;
func_800596D8();
break;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
case 9:
if (D_800DC51C == 0) {
func_80059718(&gDisplayListHead);
return;
func_80059718();
break;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
case 10:
if (D_800DC51C == 0) {
func_80059780(&gDisplayListHead);
return;
func_80059780();
break;
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
case 11:
if ((D_800DC51C == 0) && (gPlayerCountSelection1 == 4)) {
func_800597E8(&gDisplayListHead);
func_800597E8();
}
/* Duplicate return node #21. Try simplifying control flow for better match */
return;
break;
}
} else {
default:
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058DB4.s")
#endif
extern s8 D_801657B0;
@@ -696,147 +656,83 @@ void func_80059024(void) {
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s32 D_8018D2AC;
// needs rodata
void func_8005902C(void) {
s32 temp_v0;
switch(gPlayerCountSelection1) {
case 0:
break;
case 1:
break;
case 2:
func_8004EB30(0);
func_8004EB30(1);
break;
case 3:
func_8004EB30(0);
func_8004EB30(1);
func_8004EB30(2);
break;
case 4:
func_8004EB30(0);
func_8004EB30(1);
func_8004EB30(2);
func_8004EB30(3);
break;
}
/*
void func_8005902C(void) {
if (D_8018D2AC != 0) {
temp_v0 = gPlayerCountSelection1;
if (temp_v0 != 2) {
if (temp_v0 != 3) {
if (temp_v0 != 4) {
return;
}
switch(gPlayerCountSelection1) {
case 2:
func_8004EB30(0);
func_8004EB30(1);
break;
case 3:
func_8004EB30(0);
func_8004EB30(1);
func_8004EB30(2);
break;
case 4:
func_8004EB30(0);
func_8004EB30(1);
func_8004EB30(2);
func_8004EB30(3);
// Duplicate return node #8. Try simplifying control flow for better match
return;
}
func_8004EB30(0);
func_8004EB30(1);
func_8004EB30(2);
return;
break;
}
func_8004EB30(0);
func_8004EB30(1);
}
*/
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005902C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_8004E800(?, s32); // extern
? func_8004E998(?, s32); // extern
extern s32 D_8018D2A4;
void func_800590D4(void) {
s32 temp_v0;
s32 temp_v1;
if ((D_8018D2A4 != 0) && (temp_v1 = gModeSelection, (temp_v1 != BATTLE))) {
temp_v0 = gPlayerCountSelection1;
if (temp_v0 != 1) {
if (temp_v0 != 2) {
if (temp_v0 != 3) {
if (temp_v0 != 4) {
return;
if (D_8018D2A4 != 0) {
if (gModeSelection != 3) {
switch (gPlayerCountSelection1) {
case 1:
if (gModeSelection != 1) {
func_8004E800(0);
break;
}
func_8004E998(0, 1);
break;
case 2:
func_8004E800(0);
func_8004E800(1);
break;
case 3:
func_8004E998(0);
func_8004E998(1);
func_8004E998(2);
break;
case 4:
func_8004E998(0);
func_8004E998(1);
func_8004E998(2);
func_8004E998(3);
// Duplicate return node #12. Try simplifying control flow for better match
return;
}
func_8004E998(0, 1);
func_8004E998(1);
func_8004E998(2);
return;
break;
}
func_8004E800(0, 1);
func_8004E800(1);
return;
}
if (temp_v1 != 1) {
func_8004E800(0, 1);
return;
}
// Duplicate return node #12. Try simplifying control flow for better match
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800590D4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_8004EE54(?); // extern
? func_8004F020(?); // extern
? func_8004F3E4(?); // extern
? func_80050320(); // extern
? func_800514BC(void **); // extern
? func_80057C60(); // extern
? func_80057CE4(); // extern
? func_80057DD0(); // extern
? func_8005902C(); // extern
? func_800590D4(); // extern
extern ? D_0D0076F8;
extern u16 D_800DC5B8;
extern s8 D_801657B0;
extern s8 D_801657D8;
extern s8 D_801657E4;
extern s8 D_801657E8;
extern s8 D_801657F0;
extern s8 D_80165800;
extern s8 D_80165801;
extern s32 D_8018D188;
extern s32 D_8018D2BC;
extern void *gDisplayListHead;
extern s32 D_800DC530;
void func_800591B4(void) {
void *temp_v1;
if ((D_801657B0 == 0) && (D_800DC5B8 != 0)) {
func_80057C60();
temp_v1 = gDisplayListHead;
gDisplayListHead = temp_v1 + 8;
temp_v1->unk0 = 0x6000000;
temp_v1->unk4 = &D_0D0076F8;
gSPDisplayList(gDisplayListHead++, &D_0D0076F8);
if (D_8018D188 != 0) {
if (D_801657D8 == 0) {
if (D_801657F0 != 0) {
func_800514BC(&gDisplayListHead);
func_800514BC();
}
if ((D_800DC51C == 0) && (D_801657E8 != 0)) {
if (D_80165800 != 0) {
@@ -865,9 +761,6 @@ void func_800591B4(void) {
func_80057CE4();
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800591B4.s")
#endif
void func_80059358(void) {
@@ -875,13 +768,12 @@ void func_80059358(void) {
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_8004CB60(s16, s16, ? *); // extern
? func_8004E638(?); // extern
? func_8004FA78(?); // extern
? func_8004FC78(s16, s16, s8); // extern
extern ? D_0D00A958;
extern s8 D_801657B0;
extern ? D_8018CA70;
//? func_8004CB60(s16, s16, ? *); // extern
//? func_8004E638(?); // extern
//? func_8004FA78(?); // extern
//? func_8004FC78(s16, s16, s8); // extern
extern s8 D_0D00A958;
extern s32 D_8018CA70;
void func_80059360(void) {
if (D_801657B0 == 0) {
@@ -897,14 +789,9 @@ void func_80059360(void) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059360.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800593F0(void) {
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800593F0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -930,12 +817,7 @@ void func_800593F8(void) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800593F8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_8004E638(s32); // extern
? func_8004E78C(s32); // extern
? func_8004FA78(); // extern
extern ? D_80165800;
extern s8 D_80165800;
extern s32 D_8018D188;
void func_80059488(s32 arg0) {
@@ -945,22 +827,11 @@ void func_80059488(s32 arg0) {
}
func_8004E638(arg0);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059488.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_800594F0(void) {
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800594F0.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80059488(?); // extern
extern s8 D_801657B0;
void func_800594F8(void) {
@@ -968,32 +839,16 @@ void func_800594F8(void) {
func_80059488(0);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800594F8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_80059528(void) {
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059528.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80059488(?); // extern
extern s8 D_801657B0;
void func_80059530(void) {
if (D_801657B0 == 0) {
func_80059488(1);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059530.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -1036,9 +891,6 @@ void func_80059560(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059560.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80041EF4(); // extern
extern s8 D_801657B0;
void func_800596A8(void) {
@@ -1046,15 +898,6 @@ void func_800596A8(void) {
func_80041EF4();
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800596A8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80041EF4(); // extern
? func_80059560(?); // extern
extern s8 D_801657B0;
void func_800596D8(void) {
if (D_801657B0 == 0) {
@@ -1062,23 +905,11 @@ void func_800596D8(void) {
func_80059560(0);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800596D8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_80059710(void) {
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059710.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80041EF4(); // extern
? func_80059560(?); // extern
extern s8 D_801657B0;
void func_80059718(void) {
@@ -1087,13 +918,7 @@ void func_80059718(void) {
func_80059560(1);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059718.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80041EF4(); // extern
extern s8 D_801657B0;
void func_80059750(void) {
@@ -1101,14 +926,7 @@ void func_80059750(void) {
func_80041EF4();
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059750.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80041EF4(); // extern
? func_80059560(?); // extern
extern s8 D_801657B0;
void func_80059780(void) {
@@ -1117,13 +935,7 @@ void func_80059780(void) {
func_80059560(2);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059780.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80041EF4(); // extern
extern s8 D_801657B0;
void func_800597B8(void) {
@@ -1131,14 +943,7 @@ void func_800597B8(void) {
func_80041EF4();
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800597B8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80041EF4(); // extern
? func_80059560(?); // extern
extern s8 D_801657B0;
void func_800597E8(void) {
@@ -1147,22 +952,22 @@ void func_800597E8(void) {
func_80059560(3);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800597E8.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern ? D_8018CA70;
//extern ? D_8018CA70;
extern s32 D_8018CF14;
extern Player *D_800DC4DC;
extern Player *D_8018CF1C;
extern Camera *camera1;
extern s8 D_8018CA70;
void func_80059820(s32 arg0) {
Player *temp_v1;
void *temp_v0;
Camera *temp_v0;
D_8018CF1C = &D_800DC4DC[arg0];
D_8018CF14 = (arg0 * 0xB8) + camera1;
D_8018CF1C = D_800DC4DC; //&D_800DC4DC[arg0];
D_8018CF14 = camera1->unk27 * arg0; //(arg0 * 0xB8) + camera1;
temp_v1 = D_8018CF1C;
temp_v0 = (arg0 * 0x84) + &D_8018CA70;
temp_v0->unk2C = temp_v1->posX;
@@ -1173,41 +978,27 @@ void func_80059820(s32 arg0) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059820.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern u8 D_801658FF;
extern struct Controller *D_800DC4BC;
void func_800598D4(s32 arg0) {
struct Controller *temp_v0;
u16 phi_v1;
struct Controller *controller = &D_800DC4BC[arg0];
temp_v0 = &D_800DC4BC[arg0];
if ((temp_v0->button & 0x8000) != 0) {
D_801658FF = D_801658FF + 1;
if ((controller->button & 0x8000) != 0) {
D_801658FF++;
}
phi_v1 = temp_v0->button;
if ((temp_v0->button & 0x4000) != 0) {
D_801658FF = D_801658FF + 1;
phi_v1 = temp_v0->button;
if ((controller->button & 0x4000) != 0) {
D_801658FF++;
}
if ((phi_v1 & 0x10) != 0) {
D_801658FF = D_801658FF + 1;
if ((controller->button & 0x10) != 0) {
D_801658FF++;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800598D4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
extern s32 D_8018D214;
void func_8005994C(void) {
D_8018D214 = 1;
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005994C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -1258,12 +1049,6 @@ void func_8005995C(void) {
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_8005995C.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80059820(); // extern
? func_8007A948(s32); // extern
? func_8007BB9C(s32); // extern
void func_80059A88(s32 arg0) {
func_80059820();
if (D_800DC51C == 0) {
@@ -1271,72 +1056,69 @@ void func_80059A88(s32 arg0) {
func_8007BB9C(arg0);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80059A88.s")
#endif
#ifdef MIPS_TO_C
#ifdef NON_MATCHING
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_80059820(?); // extern
? func_8005995C(); // extern
? func_80059A88(?); // extern
? func_8005A71C(); // extern
? func_800892E0(s32); // extern
s16 func_8008A890(s32); // extern
? func_8008C1D8(? *); // extern
//? func_80059820(?); // extern
//? func_8005995C(); // extern
//? func_80059A88(?); // extern
//? func_8005A71C(); // extern
//? func_800892E0(s32); // extern
s32 func_8008A890(struct UnkStruct8008A890*); // extern
//? func_8008C1D8(? *); // extern
extern u16 D_800DC5FC;
extern ? D_80165678;
extern s16 D_8018CF68;
extern s32 D_80165678;
extern s32 D_8018CF68;
extern s32 gRaceFrameCounter;
extern Camera *camera1;
// unused?
void func_80059AC8(void) {
s32 temp_s0;
//s32 temp_s0;
s32 temp_v0;
s32 phi_s1;
s16 *phi_s2;
s32 phi_s0;
if (D_800DC5FC == 0) {
func_8008C1D8(&D_80165678);
gRaceFrameCounter = gRaceFrameCounter + 1;
phi_s1 = 0;
gRaceFrameCounter++;
phi_s2 = &D_8018CF68;
phi_s0 = 0;
do {
*phi_s2 = func_8008A890(phi_s1 + camera1);
//phi_s1 = 0;
for (phi_s0 = 0; phi_s0 != 8; phi_s0++) {
*phi_s2 = func_8008A890(phi_s0 + camera1);
func_800892E0(phi_s0);
temp_s0 = phi_s0 + 1;
phi_s1 += 0xB8;
//temp_s0 = phi_s0 + 1;
//phi_s1 += 0xB8;
phi_s2 += 2;
phi_s0 = temp_s0;
} while (temp_s0 != 8);
temp_v0 = D_800DC530;
if (temp_v0 != 0) {
if (temp_v0 != 1) {
if (temp_v0 != 2) {
if (temp_v0 != 3) {
} else {
func_80059A88(0);
func_80059A88(1);
func_80059A88(2);
func_80059A88(3);
phi_s0++;
} //while (phi_s0 != 8);
switch (D_800DC530) {
case 0:
if (D_800DC50C != 9) {
func_80059A88(0);
if (gModeSelection == 1) {
func_8005995C();
}
} else {
func_80059A88(0);
func_80059A88(1);
func_80059820(0);
}
} else {
break;
case 2:
func_80059A88(0);
func_80059A88(1);
}
} else if (D_800DC50C != CREDITS_SEQUENCE) {
func_80059A88(0);
if (gModeSelection == TIME_TRIALS) {
func_8005995C();
}
} else {
func_80059820(0);
break;
case 1:
func_80059A88(0);
func_80059A88(1);
break;
case 3:
func_80059A88(0);
func_80059A88(1);
func_80059A88(2);
func_80059A88(3);
break;
}
func_8005A71C();
}
+4 -9
View File
@@ -1,5 +1,7 @@
#include <ultra64.h>
#include <macros.h>
#include <common_structs.h>
#include <types.h>
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -1893,16 +1895,9 @@ void func_8008A6DC(s32 arg0, f32 arg1) {
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A6DC.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
? func_802ABD40(u16); // extern
void func_8008A890(void *arg0) {
func_802ABD40(arg0->unk5E);
s32 func_8008A890(struct UnkStruct8008A890 *arg0) {
return func_802ABD40(arg0->value);
}
#else
GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A890.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307