From 38764f99cda07317152ba5c9932992ca032b9a97 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 1 Jan 2020 23:24:07 +1000 Subject: [PATCH] Decompile menuhandlerMpTeamsEnabled --- src/game/game_176d70.c | 40 ++++++++++------------------------ src/gvars/gvars.c | 2 +- src/include/game/game_176d70.h | 2 +- src/include/gvars/gvars.h | 1 + 4 files changed, 15 insertions(+), 30 deletions(-) diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index af26e7d2c..55a746163 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -3657,34 +3657,18 @@ s32 menuhandlerMpCheckboxOption(u32 operation, struct menu_item *item, s32 *valu return 0; } -GLOBAL_ASM( -glabel menuhandlerMpTeamsEnabled -/* f179914: 27bdffe8 */ addiu $sp,$sp,-24 -/* f179918: 2401000c */ addiu $at,$zero,0xc -/* f17991c: 1481000c */ bne $a0,$at,.L0f179950 -/* f179920: afbf0014 */ sw $ra,0x14($sp) -/* f179924: 3c02800b */ lui $v0,0x800b -/* f179928: 9042cb98 */ lbu $v0,-0x3468($v0) -/* f17992c: 24010005 */ addiu $at,$zero,0x5 -/* f179930: 10410003 */ beq $v0,$at,.L0f179940 -/* f179934: 24010004 */ addiu $at,$zero,0x4 -/* f179938: 14410003 */ bne $v0,$at,.L0f179948 -/* f17993c: 00000000 */ sll $zero,$zero,0x0 -.L0f179940: -/* f179940: 10000005 */ beqz $zero,.L0f179958 -/* f179944: 24020001 */ addiu $v0,$zero,0x1 -.L0f179948: -/* f179948: 10000003 */ beqz $zero,.L0f179958 -/* f17994c: 00001025 */ or $v0,$zero,$zero -.L0f179950: -/* f179950: 0fc5e626 */ jal menuhandlerMpCheckboxOption -/* f179954: 00000000 */ sll $zero,$zero,0x0 -.L0f179958: -/* f179958: 8fbf0014 */ lw $ra,0x14($sp) -/* f17995c: 27bd0018 */ addiu $sp,$sp,0x18 -/* f179960: 03e00008 */ jr $ra -/* f179964: 00000000 */ sll $zero,$zero,0x0 -); +s32 menuhandlerMpTeamsEnabled(u32 operation, struct menu_item *item, s32 *value) +{ + if (operation == MENUOP_CHECKDISABLED) { + if (var800acb98 == 5 || var800acb98 == 4) { + return true; + } + + return false; + } + + return menuhandlerMpCheckboxOption(operation, item, value); +} GLOBAL_ASM( glabel menuhandler00179968 diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 80da92be8..ccdaca030 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -31002,7 +31002,7 @@ u32 var800acb7c = 0; u32 var800acb80 = 0; u32 var800acb84 = 0; struct mpsetup g_MpSetup = {0}; -u32 var800acb98 = 0; +u8 var800acb98 = 0; u32 var800acb9c = 0; u32 var800acba0 = 0; u32 var800acba4 = 0; diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index ad939fed1..d0bb68760 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -257,7 +257,7 @@ s32 menuhandlerMpStartChallenge(u32 operation, struct menu_item *item, s32 *valu s32 menuhandlerMpTeamNameSlot(u32, u32, u32 *); s32 menuhandlerMpTeamScore(u32, u32, u32 *); s32 menuhandlerMpTeamSlot(u32, u32, u32 *); -s32 menuhandlerMpTeamsEnabled(u32, u32, u32 *); +s32 menuhandlerMpTeamsEnabled(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpThreeTeams(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpTime(u32, u32, u32 *); s32 menuhandlerMpTwoTeams(u32 operation, struct menu_item *item, s32 *value); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 622b7dcfe..2a22beb3a 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -851,6 +851,7 @@ extern u32 var800aca38; extern u32 var800acad8; extern u32 var800acb78; extern struct mpsetup g_MpSetup; +extern u8 var800acb98; extern u32 var800acba8; extern u32 var800acbb0; extern u8 var800acc10;