From 787ddad7c148dd2a495219650cbb5abf0ee2c82a Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 3 Jan 2020 21:08:35 +1000 Subject: [PATCH] Decompile menuhandlerQuickTeamSeparator --- src/game/game_0f09f0.c | 4 ++-- src/game/game_176d70.c | 32 ++++++++++++-------------------- src/include/game/game_176d70.h | 4 ++-- src/include/setup/setup_020df0.h | 2 +- src/setup/setup_020df0.c | 18 +++++++++--------- 5 files changed, 26 insertions(+), 34 deletions(-) diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index e19d6aad2..838064a43 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -12460,8 +12460,8 @@ glabel func0f0fa704 /* f0fb39c: 1000002f */ beqz $zero,.L0f0fb45c /* f0fb3a0: 8fbf003c */ lw $ra,0x3c($sp) .L0f0fb3a4: -/* f0fb3a4: 3c0e8008 */ lui $t6,%hi(menudialog_2c6a0) -/* f0fb3a8: 25ce6680 */ addiu $t6,$t6,%lo(menudialog_2c6a0) +/* f0fb3a4: 3c0e8008 */ lui $t6,%hi(g_MpQuickTeamGameSetupMenuDialog) +/* f0fb3a8: 25ce6680 */ addiu $t6,$t6,%lo(g_MpQuickTeamGameSetupMenuDialog) /* f0fb3ac: 55c2002b */ bnel $t6,$v0,.L0f0fb45c /* f0fb3b0: 8fbf003c */ lw $ra,0x3c($sp) /* f0fb3b4: 0fc5fd0a */ jal func0f17f428 diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index 2265dabf7..84b507bcf 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -9673,24 +9673,16 @@ s32 menuhandlerMpFinishedSetup(u32 operation, struct menu_item *item, s32 *value return 0; } -GLOBAL_ASM( -glabel menuhandler0017f4c8 -/* f17f4c8: 24010018 */ addiu $at,$zero,0x18 -/* f17f4cc: afa50004 */ sw $a1,0x4($sp) -/* f17f4d0: 14810007 */ bne $a0,$at,.L0f17f4f0 -/* f17f4d4: afa60008 */ sw $a2,0x8($sp) -/* f17f4d8: 3c0e800a */ lui $t6,0x800a -/* f17f4dc: 8dcea470 */ lw $t6,-0x5b90($t6) -/* f17f4e0: 55c00004 */ bnezl $t6,.L0f17f4f4 -/* f17f4e4: 00001025 */ or $v0,$zero,$zero -/* f17f4e8: 03e00008 */ jr $ra -/* f17f4ec: 24020001 */ addiu $v0,$zero,0x1 -.L0f17f4f0: -/* f17f4f0: 00001025 */ or $v0,$zero,$zero -.L0f17f4f4: -/* f17f4f4: 03e00008 */ jr $ra -/* f17f4f8: 00000000 */ sll $zero,$zero,0x0 -); +s32 menuhandlerQuickTeamSeparator(u32 operation, struct menu_item *item, s32 *value) +{ + if (operation == MENUOP_CHECKHIDDEN) { + if (g_Vars.mpquickteam == MPQUICKTEAM_PLAYERSONLY) { + return true; + } + } + + return 0; +} GLOBAL_ASM( glabel menuhandler0017f4fc @@ -9952,7 +9944,7 @@ glabel menuhandler0017f74c /* f17f88c: 27bd0030 */ addiu $sp,$sp,0x30 ); -s32 menuhandlerMpQuickteamOption(u32 operation, struct menu_item *item, s32 *value) +s32 menuhandlerMpQuickTeamOption(u32 operation, struct menu_item *item, s32 *value) { if (operation == MENUOP_SET) { g_Vars.mpquickteam = item->param; @@ -9969,7 +9961,7 @@ s32 menuhandlerMpQuickteamOption(u32 operation, struct menu_item *item, s32 *val } } - menuPushDialog(&menudialog_2c6a0); + menuPushDialog(&g_MpQuickTeamGameSetupMenuDialog); } return 0; diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index 668874b60..86539dacb 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -211,7 +211,7 @@ s32 menuhandler0017e9d8(u32, u32, u32 *); s32 menuhandler0017ec64(u32, u32, u32 *); s32 menuhandler0017ee60(u32, u32, u32 *); s32 menuhandler0017ef30(u32, u32, u32 *); -s32 menuhandler0017f4c8(u32, u32, u32 *); +s32 menuhandlerQuickTeamSeparator(u32 operation, struct menu_item *item, s32 *value); s32 menuhandler0017f4fc(u32, u32, u32 *); s32 menuhandler0017f74c(u32, u32, u32 *); s32 menuhandler00181a98(u32, u32, u32 *); @@ -242,7 +242,7 @@ s32 menuhandlerMpMultipleTunes(u32 operation, struct menu_item *item, s32 *value s32 menuhandlerMpNumberOfSimulants(u32, u32, u32 *); s32 menuhandlerMpOneHitKills(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpOpenOptions(u32 operation, struct menu_item *item, s32 *value); -s32 menuhandlerMpQuickteamOption(u32 operation, struct menu_item *item, s32 *value); +s32 menuhandlerMpQuickTeamOption(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpRestoreHandicapDefaults(u32, u32, u32 *); s32 menuhandlerMpRestoreScoreDefaults(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpSaveSettings(u32 operation, struct menu_item *item, s32 *value); diff --git a/src/include/setup/setup_020df0.h b/src/include/setup/setup_020df0.h index 9ccce0e38..c6b895325 100644 --- a/src/include/setup/setup_020df0.h +++ b/src/include/setup/setup_020df0.h @@ -274,7 +274,7 @@ extern struct menu_dialog menudialog_2c0cc; extern u16 mplockoptions[]; extern struct menu_dialog menudialog_mpgamesetup3; extern struct menu_dialog menudialog_mpquickgo; -extern struct menu_dialog menudialog_2c6a0; +extern struct menu_dialog g_MpQuickTeamGameSetupMenuDialog; extern struct menu_dialog g_CombatSimulatorMenuDialog; extern u16 mpslowmotionoptions[]; extern struct menu_dialog menudialog_mpcombatoptions; diff --git a/src/setup/setup_020df0.c b/src/setup/setup_020df0.c index e924408ee..d3040f470 100644 --- a/src/setup/setup_020df0.c +++ b/src/setup/setup_020df0.c @@ -11220,13 +11220,13 @@ struct menu_dialog menudialog_mpquickgo = { struct menu_dialog menudialog_mpscenario2; // 2c538 -struct menu_item menuitems_2c538[] = { +struct menu_item menuitems_mpquickteamgamesetup[] = { { MENUITEMTYPE_SELECTABLE, 0, 0x00020004, 0x00005013, (u32)&func0f184fb0, &menudialog_mpscenario2 }, // "Scenario" { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, 0x00005015, 0x00000000, menuhandlerMpOpenOptions }, // "Options" { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, 0x00005014, (u32)&func0f17f024, &menudialog_mparena }, // "Arena" { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, 0x00005017, (u32)&func0f17f088, &menudialog_mpweapons2 }, // "Weapons" { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, 0x00005018, 0x00000000, &menudialog_mplimits }, // "Limits" - { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, menuhandler0017f4c8 }, + { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, menuhandlerQuickTeamSeparator }, { MENUITEMTYPE_DROPDOWN, 0, 0x00000000, 0x000059c1, 0x00000000, menuhandler0017f4fc }, // "Player 1 Team" { MENUITEMTYPE_DROPDOWN, 1, 0x00000000, 0x000059c2, 0x00000000, menuhandler0017f4fc }, // "Player 2 Team" { MENUITEMTYPE_DROPDOWN, 2, 0x00000000, 0x000059c3, 0x00000000, menuhandler0017f4fc }, // "Player 3 Team" @@ -11242,10 +11242,10 @@ struct menu_item menuitems_2c538[] = { }; // 2c6a0 -struct menu_dialog menudialog_2c6a0 = { +struct menu_dialog g_MpQuickTeamGameSetupMenuDialog = { MENUDIALOGTYPE_DEFAULT, 0x5011, // "Game Setup" - menuitems_2c538, + menuitems_mpquickteamgamesetup, NULL, 0x00000000, NULL, @@ -11253,12 +11253,12 @@ struct menu_dialog menudialog_2c6a0 = { // 2c6b8 struct menu_item menuitems_mpquickteam[] = { - { MENUITEMTYPE_SELECTABLE, 0, 0x00400000, 0x000059cf, 0x00000000, menuhandlerMpQuickteamOption }, // "Players Only" - { MENUITEMTYPE_SELECTABLE, 1, 0x00400000, 0x000059d0, 0x00000000, menuhandlerMpQuickteamOption }, // "Players and Simulants" + { MENUITEMTYPE_SELECTABLE, 0, 0x00400000, 0x000059cf, 0x00000000, menuhandlerMpQuickTeamOption }, // "Players Only" + { MENUITEMTYPE_SELECTABLE, 1, 0x00400000, 0x000059d0, 0x00000000, menuhandlerMpQuickTeamOption }, // "Players and Simulants" { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000082, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 2, 0x00400000, 0x000059d1, 0x00000000, menuhandlerMpQuickteamOption }, // "Player Teams" - { MENUITEMTYPE_SELECTABLE, 3, 0x00400000, 0x000059d2, 0x00000000, menuhandlerMpQuickteamOption }, // "Players vs. Simulants" - { MENUITEMTYPE_SELECTABLE, 4, 0x00400000, 0x000059d3, 0x00000000, menuhandlerMpQuickteamOption }, // "Player-Simulant Teams" + { MENUITEMTYPE_SELECTABLE, 2, 0x00400000, 0x000059d1, 0x00000000, menuhandlerMpQuickTeamOption }, // "Player Teams" + { MENUITEMTYPE_SELECTABLE, 3, 0x00400000, 0x000059d2, 0x00000000, menuhandlerMpQuickTeamOption }, // "Players vs. Simulants" + { MENUITEMTYPE_SELECTABLE, 4, 0x00400000, 0x000059d3, 0x00000000, menuhandlerMpQuickTeamOption }, // "Player-Simulant Teams" { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, };