Decomped some of 80057C60 & 800431B0

This commit is contained in:
CoderStig
2021-12-25 18:12:52 -07:00
parent 5a151c1457
commit d6e9866399
15 changed files with 5056 additions and 6012 deletions
+246 -245
View File
@@ -14,6 +14,13 @@ extern struct GfxPool *gGfxPool;
extern s32 gPlayerCountSelection1;
extern s16 gCurrentCourseId;
extern void func_802A3730(struct UnkStruct_800DC5EC*);
extern struct UnkStruct_800DC5EC *D_800DC5EC;
extern struct UnkStruct_800DC5EC *D_800DC5F0;
extern struct UnkStruct_800DC5EC *D_800DC5F4;
extern struct UnkStruct_800DC5EC *D_800DC5F8;
extern s32 D_8018D21C;
// UI Code?
void func_80057C60(void) {
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_802B8880));
@@ -21,52 +28,38 @@ void func_80057C60(void) {
gSPMatrix(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_80183D60), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_802A3730(s32); /* extern */
void func_80057CE4(void) {
u32 temp_t6;
temp_t6 = D_8018D21C;
switch (temp_t6) {
switch (D_8018D21C) {
case 0:
func_802A3730(D_800DC5EC);
return;
break;
case 1:
func_802A3730(D_800DC5EC);
return;
break;
case 2:
func_802A3730(D_800DC5F0);
return;
break;
case 3:
func_802A3730(D_800DC5EC);
return;
break;
case 4:
func_802A3730(D_800DC5F0);
return;
break;
case 8:
func_802A3730(D_800DC5EC);
return;
break;
case 9:
func_802A3730(D_800DC5F0);
return;
break;
case 10:
func_802A3730(D_800DC5F4);
return;
break;
case 11:
func_802A3730(D_800DC5F8);
/* fallthrough */
default:
return;
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80057CE4.s")
#endif
//#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
void func_8004C024(s32, s32, s32, s32, s32, s32, s32); // extern
void func_8004C148(s32, s32, s32, s32, s32, s32, s32); // extern
extern s8 D_801657B2;
@@ -87,109 +80,106 @@ void func_80057DD0(void) {
func_8004C148(0x18, 0x15, 0xC4, 0, 0, 0xFF, 0xFF);
}
}
//#else
//GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80057DD0.s")
//#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_80041EF4(Gfx **); /* extern */
? func_80051EBC(); /* extern */
? func_80051EF8(); /* extern */
? func_80051F9C(); /* extern */
? func_80052044(); /* extern */
? func_80052080(); /* extern */
extern ? D_0D0076F8;
extern u8 D_0D0076F8;
extern s8 D_801657C8;
extern s8 D_801657B0;
void func_80057FC4(u32 arg0) {
Gfx *temp_v1;
if ((D_801657B0 == 0) && (temp_v1 = gDisplayListHead, gDisplayListHead = temp_v1 + 8, temp_v1->words.w0 = 0x6000000, temp_v1->words.w1 = &D_0D0076F8, func_80041EF4(&gDisplayListHead), (D_801657C8 == 0))) {
switch (arg0) {
if ((D_801657B0 != 0)) {
return;
}
gSPDisplayList(gDisplayListHead++, &D_0D0076F8);
func_80041EF4(&gDisplayListHead);
if ((D_801657C8 != 0)){
return;
}
switch (arg0) {
case 0:
func_80051EBC();
return;
break;
case 1:
func_80051EF8();
return;
break;
case 2:
func_80051F9C();
return;
break;
case 3:
func_80052044();
return;
break;
case 4:
func_80052080();
/* Duplicate return node #9. Try simplifying control flow for better match */
return;
}
} else {
default:
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80057FC4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_800581C8(Gfx **, u32); /* extern */
? func_800582CC(Gfx **, u32); /* extern */
? func_80058394(Gfx **, u32); /* extern */
? func_8005845C(Gfx **, u32); /* extern */
extern ? D_0D0076F8;
extern s32 D_8018D22C;
void func_800581C8();
void func_800582CC();
void func_80058394();
void func_8005845C();
void func_80058090(u32 arg0) {
Gfx *temp_v1;
if ((D_801657B0 == 0) && (temp_v1 = gDisplayListHead, gDisplayListHead = temp_v1 + 8, temp_v1->words.w0 = 0x6000000, temp_v1->words.w1 = &D_0D0076F8, (D_8018D22C == 0))) {
switch (arg0) {
if (D_801657B0 != 0) {
return;
}
gSPDisplayList(gDisplayListHead++, &D_0D0076F8);
if (D_8018D22C != 0) {
return;
}
switch (arg0) {
case 0:
func_800581C8(&gDisplayListHead, arg0);
return;
func_800581C8();
break;
case 1:
func_800581C8(&gDisplayListHead, arg0);
return;
func_800581C8();
break;
case 2:
func_800582CC(&gDisplayListHead, arg0);
return;
func_800582CC();
break;
case 3:
func_800581C8(&gDisplayListHead, arg0);
return;
func_800581C8();
break;
case 4:
func_800582CC(&gDisplayListHead, arg0);
return;
func_800582CC();
break;
case 5:
func_800581C8(&gDisplayListHead, arg0);
return;
func_800581C8();
break;
case 6:
func_800582CC(&gDisplayListHead, arg0);
return;
func_800582CC();
break;
case 7:
func_80058394(&gDisplayListHead, arg0);
return;
func_80058394();
break;
case 8:
func_800581C8(&gDisplayListHead, arg0);
return;
func_800581C8();
break;
case 9:
func_800582CC(&gDisplayListHead, arg0);
return;
func_800582CC();
break;
case 10:
func_80058394(&gDisplayListHead, arg0);
return;
func_80058394();
break;
case 11:
func_8005845C(&gDisplayListHead, arg0);
/* Duplicate return node #16. Try simplifying control flow for better match */
return;
}
} else {
default:
func_8005845C();
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058090.s")
#endif
void func_8005217C(s32);
void func_800588F4(s32 arg0);
extern s32 D_800DC50C;
extern u16 D_800DC51C;
void func_800581C8(void) {
@@ -247,55 +237,53 @@ void func_8005845C(void) {
func_800588F4(3);
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_80058640(Gfx **, u32); /* extern */
? func_800586FC(Gfx **, u32); /* extern */
? func_800587A4(Gfx **, u32); /* extern */
? func_8005884C(Gfx **, u32); /* extern */
extern ? D_0D0076F8;
void func_80058640(); /* extern */
void func_800586FC(); /* extern */
void func_800587A4(); /* extern */
void func_8005884C(); /* extern */
void func_80058538(u32 arg0) {
Gfx *temp_v1;
if ((D_801657B0 == 0) && (temp_v1 = gDisplayListHead, gDisplayListHead = temp_v1 + 8, temp_v1->words.w0 = 0x6000000, temp_v1->words.w1 = &D_0D0076F8, (D_8018D22C == 0))) {
switch (arg0) {
if (D_801657B0 != 0) {
return;
}
gSPDisplayList(gDisplayListHead++, &D_0D0076F8);
if (D_8018D22C != 0) {
return;
}
switch (arg0) {
case 0:
func_80058640(&gDisplayListHead, arg0);
return;
func_80058640();
break;
case 1:
func_80058640(&gDisplayListHead, arg0);
return;
func_80058640();
break;
case 2:
func_800586FC(&gDisplayListHead, arg0);
return;
func_800586FC();
break;
case 3:
func_80058640(&gDisplayListHead, arg0);
return;
func_80058640();
break;
case 4:
func_800586FC(&gDisplayListHead, arg0);
return;
func_800586FC();
break;
case 8:
func_80058640(&gDisplayListHead, arg0);
return;
func_80058640();
break;
case 9:
func_800586FC(&gDisplayListHead, arg0);
return;
func_800586FC();
break;
case 10:
func_800587A4(&gDisplayListHead, arg0);
return;
func_800587A4();
break;
case 11:
func_8005884C(&gDisplayListHead, arg0);
/* Duplicate return node #13. Try simplifying control flow for better match */
return;
}
} else {
default:
func_8005884C();
break;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058538.s")
#endif
void func_80058B58(s32 arg0);
@@ -329,123 +317,131 @@ void func_8005884C(void) {
func_80058B58(3);
}
#ifdef MIPS_TO_C
//generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909
? func_80051638(s32); /* extern */
? func_8005217C(s32); /* extern */
? func_800524B4(s32); /* extern */
? func_80052590(s32); /* extern */
? func_800527D8(s32); /* extern */
? func_80052E30(s32); /* extern */
? func_8005327C(s32); /* extern */
? func_80053870(s32); /* extern */
? func_80053E6C(s32); /* extern */
? func_800541BC(s32); /* extern */
? func_80054414(s32); /* extern */
? func_80054664(s32); /* extern */
? func_80054938(s32); /* extern */
? func_800550A4(s32); /* extern */
? func_80055228(s32); /* extern */
? func_80055380(s32); /* extern */
? func_80055528(s32); /* extern */
? func_8005568C(s32); /* extern */
? func_8005592C(s32); /* extern */
? func_80055C38(s32); /* extern */
? func_80055E68(s32); /* extern */
? func_80056188(s32); /* extern */
? func_80056AC0(s32); /* extern */
u16 gCurrentCourseId; /* unable to generate initializer */
void func_80051638(s32);
void func_800524B4(s32);
void func_80052590(s32);
void func_800527D8(s32);
void func_80052E30(s32);
void func_8005327C(s32);
void func_80053870(s32);
void func_80053E6C(s32);
void func_800541BC(s32);
void func_80054414(s32);
void func_80054664(s32);
void func_80054938(s32);
void func_800550A4(s32);
void func_80055228(s32);
void func_80055380(s32);
void func_80055528(s32);
void func_8005568C(s32);
void func_8005592C(s32);
void func_80055C38(s32);
void func_80055E68(s32);
void func_80056188(s32);
void func_80056AC0(s32);
extern s32 gModeSelection;
extern s16 D_80165730;
extern s8 D_8018EDF3;
extern s8 D_80165898;
void func_800588F4(s32 arg0) {
s32 temp_v0;
s8 temp_v0_2;
u16 temp_t6;
s32 phi_v0;
temp_t6 = gCurrentCourseId;
switch (temp_t6) {
case 2:
func_80053870(arg0);
func_80054664(arg0);
break;
case 3:
if (D_800DC50C != 9) {
func_800527D8(arg0);
func_80052590(arg0);
func_8005217C(arg0);
func_800524B4(arg0);
}
break;
case 4:
func_80055228(arg0);
if (D_800DC50C != 9) {
func_8005568C(arg0);
}
break;
case 5:
if (D_800DC50C != 9) {
func_8005327C(arg0);
}
break;
case 6:
temp_v0 = D_800DC50C;
phi_v0 = temp_v0;
if (temp_v0 != 9) {
func_80055528(arg0);
phi_v0 = D_800DC50C;
}
if (phi_v0 != 9) {
temp_v0_2 = D_8018EDF3;
if ((temp_v0_2 == 1) || (temp_v0_2 == 2)) {
switch (gCurrentCourseId) {
case 0:
break;
case 1:
break;
case 2:
func_80053870(arg0);
func_80054664(arg0);
break;
case 3:
if (D_800DC50C != 9) {
func_800527D8(arg0);
func_80052590(arg0);
func_8005217C(arg0);
func_800524B4(arg0);
}
break;
case 4:
func_80055228(arg0);
if (D_800DC50C != 9) {
func_8005568C(arg0);
}
break;
case 5:
if (D_800DC50C != 9) {
func_8005327C(arg0);
}
break;
case 6:
if (D_800DC50C != 9) {
func_80055528(arg0);
}
if (D_800DC50C != 9) {
if ((D_8018EDF3 == 1) || (D_8018EDF3 == 2)) {
func_80055380(arg0);
}
} else {
func_80055380(arg0);
}
} else {
func_80055380(arg0);
break;
case 7:
break;
case 8:
if (D_80165898 != 0) {
func_80055E68(arg0);
}
break;
case 9:
if (D_800DC50C != 9) {
func_800550A4(arg0);
}
break;
case 10:
break;
case 11:
func_800541BC(arg0);
break;
case 12:
if (D_800DC50C != 9) {
func_80052E30(arg0);
}
func_8005592C(arg0);
break;
case 13:
if (D_800DC50C != 9) {
func_80056188(arg0);
func_80055C38(arg0);
}
break;
case 14:
break;
case 15:
break;
case 16:
break;
case 17:
break;
case 18:
if (D_800DC50C != 9) {
func_80054414(arg0);
}
break;
}
break;
case 8:
if (D_80165898 != 0) {
func_80055E68(arg0);
func_80054938(arg0);
func_80051638(arg0);
if (D_80165730 != 0) {
func_80053E6C(arg0);
}
break;
case 9:
if (D_800DC50C != 9) {
func_800550A4(arg0);
if (gModeSelection == BATTLE) {
func_80056AC0(arg0);
}
break;
case 11:
func_800541BC(arg0);
break;
case 12:
if (D_800DC50C != 9) {
func_80052E30(arg0);
}
func_8005592C(arg0);
break;
case 13:
if (D_800DC50C != 9) {
func_80056188(arg0);
func_80055C38(arg0);
}
break;
case 18:
if (D_800DC50C != 9) {
func_80054414(arg0);
}
break;
}
func_80054938(arg0);
func_80051638(arg0);
if (D_80165730 != 0) {
func_80053E6C(arg0);
}
if (gModeSelection == BATTLE) {
func_80056AC0(arg0);
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_800588F4.s")
#endif
#ifdef MIPS_TO_C
//generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307
@@ -459,21 +455,26 @@ void func_80058B58(s32 arg0) {
if (gCurrentCourseId != COURSE_FRAPPE_SNOWLAND) {
if (gCurrentCourseId != COURSE_SHERBET_LAND) {
} else {
func_80052C60();
}
return;// Duplicate return node #9. Try simplifying control flow for better match
}
if (D_800DC50C != 9) {
if ((D_8015F894 == 0) && (gPlayerCountSelection1 == COURSE_CHOCO_MOUNTAIN)) {
if (D_800DC50C != 9) {
if (D_8015F894 == 0) {
if (gPlayerCountSelection1 == COURSE_CHOCO_MOUNTAIN) {
func_800517C8();
}
return;
}
func_800517C8();
//return;
return;
}
//return;
}
func_800517C8();
//return arg0;
func_80052C60();
return;
}
}
#else
GLOBAL_ASM("asm/non_matchings/code_80057C60/func_80058B58.s")