From 5709a180ceca1726a88340a515d3ce563122c1c6 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 20 Mar 2020 17:44:28 +1000 Subject: [PATCH] Decompile mpMenuTextChallengeName --- src/game/data/data_020df0.c | 6 ++--- src/game/game_179060.c | 42 ++++++++-------------------------- src/include/game/game_179060.h | 2 +- 3 files changed, 13 insertions(+), 37 deletions(-) diff --git a/src/game/data/data_020df0.c b/src/game/data/data_020df0.c index 72f94cfdb..ef5934cbc 100644 --- a/src/game/data/data_020df0.c +++ b/src/game/data/data_020df0.c @@ -10070,7 +10070,7 @@ struct menu_dialog menudialog_mpendgame = { // 2a6cc struct menu_item menuitems_2a6cc[] = { - { MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&func0f17eac8, 0x00000000, menuhandler00178018 }, + { MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextChallengeName, 0x00000000, menuhandler00178018 }, { MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&mpMenuTextScenarioName, 0x00000000, NULL }, { MENUITEMTYPE_LABEL, 0, L_AME(0), L_MPWEAPONS(162), (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Time Limit:" { MENUITEMTYPE_LABEL, 1, L_AME(0), L_MPWEAPONS(163), (u32)&mpMenuTextInGameLimit, menuhandlerMpInGameLimitLabel }, // "Score Limit:" @@ -11050,7 +11050,7 @@ struct menu_item menuitems_mpchallengedetails[] = { // 2c038 struct menu_dialog menudialog_mpchallengedetails = { MENUDIALOGTYPE_DEFAULT, - (u32)&func0f17eac8, + (u32)&mpMenuTextChallengeName, menuitems_mpchallengedetails, menudialog0017eb34, 0x00000808, @@ -11062,7 +11062,7 @@ struct menu_dialog menudialog_mpgamesetup2; // 2c050 struct menu_dialog menudialog_mpchallengedetails2 = { MENUDIALOGTYPE_DEFAULT, - (u32)&func0f17eac8, + (u32)&mpMenuTextChallengeName, menuitems_mpchallengedetails, menudialog0017eb34, 0x00000808, diff --git a/src/game/game_179060.c b/src/game/game_179060.c index c2339b6eb..f3fc52e54 100644 --- a/src/game/game_179060.c +++ b/src/game/game_179060.c @@ -4617,7 +4617,6 @@ char *mpMenuTextChrNameForTeamSetup(struct menu_item *item) } const char var7f1b8044[] = "\n"; -const char var7f1b8048[] = "%s:\n"; GLOBAL_ASM( glabel func0f17dac4 @@ -5703,38 +5702,15 @@ s32 menuhandlerMpStartChallenge(u32 operation, struct menu_item *item, s32 *valu return 0; } -GLOBAL_ASM( -glabel func0f17eac8 -/* f17eac8: 3c0e800b */ lui $t6,%hi(g_MpSetup+0x88) -/* f17eacc: 91cecc10 */ lbu $t6,%lo(g_MpSetup+0x88)($t6) -/* f17ead0: 27bdffe8 */ addiu $sp,$sp,-24 -/* f17ead4: 24010005 */ addiu $at,$zero,0x5 -/* f17ead8: afbf0014 */ sw $ra,0x14($sp) -/* f17eadc: 11c10005 */ beq $t6,$at,.L0f17eaf4 -/* f17eae0: afa40018 */ sw $a0,0x18($sp) -/* f17eae4: 0fc5b9f1 */ jal langGet -/* f17eae8: 24045032 */ addiu $a0,$zero,0x5032 -/* f17eaec: 1000000e */ beqz $zero,.L0f17eb28 -/* f17eaf0: 8fbf0014 */ lw $ra,0x14($sp) -.L0f17eaf4: -/* f17eaf4: 0fc66dfd */ jal mpGetCurrentChallengeIndex -/* f17eaf8: 00000000 */ sll $zero,$zero,0x0 -/* f17eafc: 0fc66daf */ jal mpChallengeGetName -/* f17eb00: 00402025 */ or $a0,$v0,$zero -/* f17eb04: 3c048007 */ lui $a0,%hi(g_StringPointer) -/* f17eb08: 3c057f1c */ lui $a1,%hi(var7f1b8048) -/* f17eb0c: 24a58048 */ addiu $a1,$a1,%lo(var7f1b8048) -/* f17eb10: 8c841440 */ lw $a0,%lo(g_StringPointer)($a0) -/* f17eb14: 0c004dad */ jal sprintf -/* f17eb18: 00403025 */ or $a2,$v0,$zero -/* f17eb1c: 3c028007 */ lui $v0,%hi(g_StringPointer) -/* f17eb20: 8c421440 */ lw $v0,%lo(g_StringPointer)($v0) -/* f17eb24: 8fbf0014 */ lw $ra,0x14($sp) -.L0f17eb28: -/* f17eb28: 27bd0018 */ addiu $sp,$sp,0x18 -/* f17eb2c: 03e00008 */ jr $ra -/* f17eb30: 00000000 */ sll $zero,$zero,0x0 -); +char *mpMenuTextChallengeName(struct menu_item *item) +{ + if (g_MpSetup.locktype != MPLOCKTYPE_CHALLENGE) { + return langGet(L_MPMENU(50)); // "Combat Challenges" + } + + sprintf(g_StringPointer, "%s:\n", mpChallengeGetName(mpGetCurrentChallengeIndex())); + return g_StringPointer; +} GLOBAL_ASM( glabel menudialog0017eb34 diff --git a/src/include/game/game_179060.h b/src/include/game/game_179060.h index 5fc28fbd2..1f2cd9597 100644 --- a/src/include/game/game_179060.h +++ b/src/include/game/game_179060.h @@ -57,7 +57,7 @@ u32 func0f17e288(void); u32 func0f17e318(void); s32 menudialog0017e3fc(u32, u32, u32 *); s32 menuhandler0017e4d4(u32, u32, u32 *); -u32 func0f17eac8(void); +char *mpMenuTextChallengeName(struct menu_item *item); s32 menudialog0017eb34(u32, u32, u32 *); char *mpMenuTextSavePlayerOrCopy(struct menu_item *item); char *mpMenuTextArenaName(struct menu_item *item);