From 7a7be8ff32c7beff67bf6799788f494b96bf501b Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 5 Nov 2020 22:00:52 +1000 Subject: [PATCH] Decompile pakConsiderPushingFileSelectMenuDialog --- src/game/game_0b63b0.c | 2 +- src/game/game_107fb0.c | 43 ++++++++-------------------------- src/include/game/game_107fb0.h | 2 +- 3 files changed, 12 insertions(+), 35 deletions(-) diff --git a/src/game/game_0b63b0.c b/src/game/game_0b63b0.c index 6c7ba03fc..abc0f7ceb 100644 --- a/src/game/game_0b63b0.c +++ b/src/game/game_0b63b0.c @@ -5107,7 +5107,7 @@ glabel var7f1ad630 /* f0bade4: 00000000 */ nop /* f0bade8: 10000006 */ b .L0f0bae04 /* f0badec: 00402025 */ or $a0,$v0,$zero -/* f0badf0: 0fc43240 */ jal func0f10c900 +/* f0badf0: 0fc43240 */ jal pakConsiderPushingFileSelectMenuDialog /* f0badf4: 00000000 */ nop /* f0badf8: 10000002 */ b .L0f0bae04 /* f0badfc: 00402025 */ or $a0,$v0,$zero diff --git a/src/game/game_107fb0.c b/src/game/game_107fb0.c index 179e1c4f0..a6970aa9d 100644 --- a/src/game/game_107fb0.c +++ b/src/game/game_107fb0.c @@ -4451,39 +4451,16 @@ s32 fileSelectMenuDialog(u32 operation, struct menudialog *dialog, union handler return 0; } -GLOBAL_ASM( -glabel func0f10c900 -/* f10c900: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum) -/* f10c904: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6) -/* f10c908: 3c18800a */ lui $t8,%hi(g_Menus) -/* f10c90c: 2718e000 */ addiu $t8,$t8,%lo(g_Menus) -/* f10c910: 000e78c0 */ sll $t7,$t6,0x3 -/* f10c914: 01ee7823 */ subu $t7,$t7,$t6 -/* f10c918: 000f7880 */ sll $t7,$t7,0x2 -/* f10c91c: 01ee7821 */ addu $t7,$t7,$t6 -/* f10c920: 000f78c0 */ sll $t7,$t7,0x3 -/* f10c924: 01ee7823 */ subu $t7,$t7,$t6 -/* f10c928: 000f7900 */ sll $t7,$t7,0x4 -/* f10c92c: 01f81021 */ addu $v0,$t7,$t8 -/* f10c930: 9059083c */ lbu $t9,0x83c($v0) -/* f10c934: 27bdffe8 */ addiu $sp,$sp,-24 -/* f10c938: afbf0014 */ sw $ra,0x14($sp) -/* f10c93c: 17200007 */ bnez $t9,.L0f10c95c -/* f10c940: 3c048007 */ lui $a0,%hi(menudialog_fileselect) -/* f10c944: a040083b */ sb $zero,0x83b($v0) -/* f10c948: 24844dd4 */ addiu $a0,$a0,%lo(menudialog_fileselect) -/* f10c94c: 0fc3e0cc */ jal menuPushRootDialog -/* f10c950: 24050006 */ addiu $a1,$zero,0x6 -/* f10c954: 10000002 */ b .L0f10c960 -/* f10c958: 24020001 */ addiu $v0,$zero,0x1 -.L0f10c95c: -/* f10c95c: 00001025 */ or $v0,$zero,$zero -.L0f10c960: -/* f10c960: 8fbf0014 */ lw $ra,0x14($sp) -/* f10c964: 27bd0018 */ addiu $sp,$sp,0x18 -/* f10c968: 03e00008 */ jr $ra -/* f10c96c: 00000000 */ nop -); +bool pakConsiderPushingFileSelectMenuDialog(void) +{ + if (g_Menus[g_MpPlayerNum].unk83c == 0) { + g_Menus[g_MpPlayerNum].playernum = 0; + menuPushRootDialog(&menudialog_fileselect, MENUROOT_FILESELECT); + return true; + } + + return false; +} void pakPushPakMenuDialog(void) { diff --git a/src/include/game/game_107fb0.h b/src/include/game/game_107fb0.h index 5801ab62f..9e300f488 100644 --- a/src/include/game/game_107fb0.h +++ b/src/include/game/game_107fb0.h @@ -45,7 +45,7 @@ char *pakMenuTextPagesFree(struct menuitem *item); char *pakMenuTextPagesUsed(struct menuitem *item); char *pakMenuTextStatusMessage(struct menuitem *item); char *pakMenuTextEditingPakName(struct menuitem *item); -u32 func0f10c900(void); +bool pakConsiderPushingFileSelectMenuDialog(void); void pakPushPakMenuDialog(void); s32 menucustomChooseAgent(u32 operation, struct menuitem *item, union handlerdata *data); s32 menucustomDeleteGameNote(u32 operation, struct menuitem *item, union handlerdata *data);