Matched func_800B5B94 (#329)

* Matched func_800B5B94
This commit is contained in:
tomas
2023-07-02 19:00:51 +00:00
committed by GitHub
parent c9ad612442
commit dc44aad0ec
6 changed files with 60 additions and 230 deletions
+4 -4
View File
@@ -6947,7 +6947,7 @@ loop_3:
return;
case 0x69:
func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0);
if (func_800B5B94() == 0) {
if (controller_pak_status() == 0) {
func_800B6708();
return;
}
@@ -6962,7 +6962,7 @@ loop_3:
return;
case 0x8C:
func_800996BC(segmented_to_virtual_dupe(D_02004A34), 0);
if (func_800B5B94() == 0) {
if (controller_pak_status() == 0) {
func_800B6708();
return;
}
@@ -7054,7 +7054,7 @@ block_63:
var_ra->unk1C = (s32) gTimeTrialDataCourseIndex;
func_800996BC(segmented_to_virtual_dupe(D_02004A0C), 0);
func_8006EF60();
if (func_800B5B94() == 0) {
if (controller_pak_status) == 0) {
func_800B6708();
return;
}
@@ -15598,7 +15598,7 @@ void func_800AEDBC(struct_8018D9E0_entry *arg0) {
if (arg0->unk1C != gTimeTrialDataCourseIndex) {
arg0->unk1C = (s32) gTimeTrialDataCourseIndex;
func_8009A594(arg0->D_8018DEE0_index, 0, segmented_to_virtual_dupe_2(D_800E7E34[gCupCourseOrder[gTimeTrialDataCourseIndex / 4][gTimeTrialDataCourseIndex % 4]]));
if (func_800B5B94() == 0) {
if (controller_pak_status() == 0) {
func_800B6708();
} else {
D_8018EE10[0].ghostDataSaved = 0;
+51 -73
View File
@@ -720,85 +720,63 @@ s32 check_for_controller_pak(s32 controller) {
return 0;
}
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-11-2022
s32 check_for_controller_pak(?); /* extern */
s32 func_800B5B94(void) {
s32 temp_v0;
s32 temp_v0_2;
s32 var_v0;
s8 var_v0_2;
var_v0_2 = D_800E86F8;
if (var_v0_2 != 0) {
temp_v0 = osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84);
switch (temp_v0) { /* irregular */
default:
D_800E86F8 = 0;
block_8:
var_v0_2 = 0;
goto block_9;
case 0:
return 0;
case 5:
var_v0_2 = D_800E86F8;
goto block_9;
case 2:
D_800E86F8 = 0;
goto block_8;
}
} else {
block_9:
if (var_v0_2 == 0) {
if (check_for_controller_pak(0) == 0) {
return 1;
}
temp_v0_2 = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
if (temp_v0_2 != 0) {
if (temp_v0_2 != 1) {
if (temp_v0_2 != 4) {
if (temp_v0_2 != 0x0000000A) {
if (temp_v0_2 == 0x0000000B) {
goto block_17;
}
goto block_19;
}
return 2;
}
block_19:
return 2;
}
block_17:
return 1;
}
D_800E86F8 = 1;
if (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84) == 0) {
s32 controller_pak_status(void) {
if (D_800E86F8 != 0) {
switch (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84)) {
case PFS_READ:
return 0;
}
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) != 0) {
return 2;
}
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) != 0) {
return 2;
}
gControllerPakNumPagesFree = (s32) gControllerPakNumPagesFree >> 8;
goto block_27;
case PFS_ERR_INVALID:
break;
case PFS_ERR_NEW_PACK:
D_800E86F8 = 0;
break;
default:
D_800E86F8 = 0;
break;
}
block_27:
if (D_8018EB7C >= D_8018EB78) {
return 4;
}
if (D_800E86F8 == 0) {
s32 ret;
if (check_for_controller_pak(0) == 0) {
return 1;
}
var_v0 = 4;
if (gControllerPakNumPagesFree >= 0x79) {
var_v0 = -1;
ret = osPfsInit(&gSIEventMesgQueue, &D_8018E868, 0);
if (ret) {
switch(ret) {
case PFS_ERR_NOPACK:
case PFS_ERR_DEVICE:
return 1;
case PFS_ERR_ID_FATAL:
return 2;
default:
case PFS_ERR_CONTRFAIL:
return 2;
}
}
return var_v0;
D_800E86F8 = 1;
if (osPfsFindFile(&D_8018E868, D_800E86F0, D_800E86F4, D_800F2E64, D_800F2E74, &D_8018EB84) == 0) {
return 0;
}
if (osPfsNumFiles(&D_8018E868, &D_8018EB78, &D_8018EB7C) != 0) {
return 2;
}
if (osPfsFreeBlocks(&D_8018E868, &gControllerPakNumPagesFree) != 0) {
return 2;
}
gControllerPakNumPagesFree = (s32) gControllerPakNumPagesFree >> 8;
}
if (D_8018EB7C >= D_8018EB78) {
return 4;
}
if (gControllerPakNumPagesFree >= 0x79) {
return -1;
}
return 4;
}
#else
GLOBAL_ASM("asm/non_matchings/menus/func_800B5B94.s")
#endif
#ifdef MIPS_TO_C
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-11-2022
+1 -1
View File
@@ -46,7 +46,7 @@ u8 compute_save_data_checksum_backup_1(void);
u8 compute_save_data_checksum_backup_2(void);
s32 validate_save_data_checksum_backup();
s32 func_800B5B2C(s32);
s32 func_800B5B94(void);
s32 controller_pak_status(void);
s32 func_800B5DA4(void);
s32 func_800B5F30();
s32 func_800B6014();
+1 -1
View File
@@ -310,7 +310,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) {
return;
case 0:
func_800B6798();
sp2C = func_800B5B94();
sp2C = controller_pak_status();
switch (sp2C) {
case -1:
D_8018EDEC = 0x46;