From 5b75e37d3408e05da07263e971423d47ac4c6693 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 1 Jan 2020 21:11:16 +1000 Subject: [PATCH] Decompile menuhandlerMpAbortChallenge --- src/game/game_176d70.c | 43 +++++++++++----------------------- src/gvars/gvars.c | 2 +- src/include/game/game_176d70.h | 2 +- src/include/game/game_1999b0.h | 2 +- src/include/gvars/gvars.h | 2 +- 5 files changed, 18 insertions(+), 33 deletions(-) diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index ac1342302..bfef1c240 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -9564,35 +9564,20 @@ glabel menuhandler0017e9d8 /* f17ea0c: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel menuhandlerMpAbortChallenge -/* f17ea10: 27bdffe8 */ addiu $sp,$sp,-24 -/* f17ea14: 24010018 */ addiu $at,$zero,0x18 -/* f17ea18: afbf0014 */ sw $ra,0x14($sp) -/* f17ea1c: afa5001c */ sw $a1,0x1c($sp) -/* f17ea20: 14810008 */ bne $a0,$at,.L0f17ea44 -/* f17ea24: afa60020 */ sw $a2,0x20($sp) -/* f17ea28: 3c0e800b */ lui $t6,0x800b -/* f17ea2c: 91cecc10 */ lbu $t6,-0x33f0($t6) -/* f17ea30: 24010005 */ addiu $at,$zero,0x5 -/* f17ea34: 51c10004 */ beql $t6,$at,.L0f17ea48 -/* f17ea38: 24010006 */ addiu $at,$zero,0x6 -/* f17ea3c: 10000007 */ beqz $zero,.L0f17ea5c -/* f17ea40: 24020001 */ addiu $v0,$zero,0x1 -.L0f17ea44: -/* f17ea44: 24010006 */ addiu $at,$zero,0x6 -.L0f17ea48: -/* f17ea48: 54810004 */ bnel $a0,$at,.L0f17ea5c -/* f17ea4c: 00001025 */ or $v0,$zero,$zero -/* f17ea50: 0fc67088 */ jal func0f19c220 -/* f17ea54: 00000000 */ sll $zero,$zero,0x0 -/* f17ea58: 00001025 */ or $v0,$zero,$zero -.L0f17ea5c: -/* f17ea5c: 8fbf0014 */ lw $ra,0x14($sp) -/* f17ea60: 27bd0018 */ addiu $sp,$sp,0x18 -/* f17ea64: 03e00008 */ jr $ra -/* f17ea68: 00000000 */ sll $zero,$zero,0x0 -); +s32 menuhandlerMpAbortChallenge(u32 operation, struct menu_item *item, s32 *value) +{ + if (operation == MENUOP_CHECKHIDDEN) { + if (var800acc10 != 5) { + return true; + } + } + + if (operation == MENUOP_SET) { + func0f19c220(); + } + + return 0; +} GLOBAL_ASM( glabel menuhandlerMpStartChallenge diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 866a269ac..c1c6f5c5d 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -31035,7 +31035,7 @@ u32 var800acc00 = 0; u32 var800acc04 = 0; u32 var800acc08 = 0; u32 var800acc0c = 0; -u32 var800acc10 = 0; +u8 var800acc10 = 0; u32 var800acc14 = 0; u32 var800acc18 = 0; u32 var800acc1c = 0; diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index 8bcf78e5d..1e8b71aeb 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -216,7 +216,7 @@ s32 menuhandler0017f4fc(u32, u32, u32 *); s32 menuhandler0017f74c(u32, u32, u32 *); s32 menuhandler00181a98(u32, u32, u32 *); s32 menuhandler00185068(u32, u32, u32 *); -s32 menuhandlerMpAbortChallenge(u32, u32, u32 *); +s32 menuhandlerMpAbortChallenge(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpAddSimulant(u32, u32, u32 *); s32 menuhandlerMpAdvancedSetup(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpAimControl(u32, u32, u32 *); diff --git a/src/include/game/game_1999b0.h b/src/include/game/game_1999b0.h index 4868ffe21..a23819970 100644 --- a/src/include/game/game_1999b0.h +++ b/src/include/game/game_1999b0.h @@ -44,7 +44,7 @@ u32 func0f19bd4c(void); u32 func0f19bfa0(void); u32 func0f19c190(void); u32 func0f19c1cc(void); -u32 func0f19c220(void); +void func0f19c220(void); u32 func0f19c244(void); u32 func0f19c268(void); u32 func0f19c274(void); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 7fa702bd4..72746f194 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -854,7 +854,7 @@ extern u32 var800acb88; extern u32 var800acb94; extern u32 var800acba8; extern u32 var800acbb0; -extern u32 var800acc10; +extern u8 var800acc10; extern u32 var800acc20; extern u32 var800acc28; extern u32 var800acc70;