Decompile mpMenuTitleStatsFor

This commit is contained in:
Ryan Dwyer
2021-02-16 19:20:45 +10:00
parent 47d532454b
commit 113f79d6db
6 changed files with 27 additions and 54 deletions
+2 -2
View File
@@ -527,7 +527,7 @@ struct menuitem g_MpInGamePlayerStatsMenuItems[] = {
// 2a858
struct menudialog g_MpPausePlayerStatsMenuDialog = {
MENUDIALOGTYPE_DEFAULT,
(u32)&func0f1783a0,
(u32)&mpMenuTitleStatsFor,
g_MpInGamePlayerStatsMenuItems,
NULL,
0x00000000,
@@ -537,7 +537,7 @@ struct menudialog g_MpPausePlayerStatsMenuDialog = {
// 2a870
struct menudialog g_MpEndscreenPlayerStatsMenuDialog = {
MENUDIALOGTYPE_DEFAULT,
(u32)&func0f1783a0,
(u32)&mpMenuTitleStatsFor,
g_MpInGamePlayerStatsMenuItems,
NULL,
0x00000000,
+2 -2
View File
@@ -7244,7 +7244,7 @@ Gfx *menuRenderItemPlayerStats(Gfx *gdl, struct menurendercontext *context)
s32 x;
s32 y;
u32 maincolour;
s32 playernum = var8009deb0[g_MpPlayerNum];
s32 playernum = g_MpSelectedPlayersForStats[g_MpPlayerNum];
struct mpchr *mpchr;
u32 selectioncolour;
s32 textheight;
@@ -7487,7 +7487,7 @@ Gfx *menuRenderOverlayPlayerStats(Gfx *gdl, s16 x, s16 y, s16 x2, s16 y2, struct
void menuInitItemPlayerStats(struct menuitem *item, union menuitemdata *data)
{
data->dropdown.scrolloffset = 0;
var8009deb0[g_MpPlayerNum] = g_MpPlayerNum;
g_MpSelectedPlayersForStats[g_MpPlayerNum] = g_MpPlayerNum;
menuInitItemDropdown(item, data);
}
+20 -47
View File
@@ -109,8 +109,8 @@ glabel menuhandler00177e00
.L0f177f14:
/* f177f14: 3c03800b */ lui $v1,%hi(g_MpSetup+0x16)
/* f177f18: 3c098007 */ lui $t1,%hi(g_MpPlayerNum)
/* f177f1c: 3c07800a */ lui $a3,%hi(var8009deb0)
/* f177f20: 24e7deb0 */ addiu $a3,$a3,%lo(var8009deb0)
/* f177f1c: 3c07800a */ lui $a3,%hi(g_MpSelectedPlayersForStats)
/* f177f20: 24e7deb0 */ addiu $a3,$a3,%lo(g_MpSelectedPlayersForStats)
/* f177f24: 25291448 */ addiu $t1,$t1,%lo(g_MpPlayerNum)
/* f177f28: 9463cb9e */ lhu $v1,%lo(g_MpSetup+0x16)($v1)
/* f177f2c: 00002825 */ or $a1,$zero,$zero
@@ -148,9 +148,9 @@ glabel menuhandler00177e00
/* f177f98: 11a00009 */ beqz $t5,.L0f177fc0
/* f177f9c: 3c0f8007 */ lui $t7,%hi(g_MpPlayerNum)
/* f177fa0: 8def1448 */ lw $t7,%lo(g_MpPlayerNum)($t7)
/* f177fa4: 3c04800a */ lui $a0,%hi(var8009deb0)
/* f177fa4: 3c04800a */ lui $a0,%hi(g_MpSelectedPlayersForStats)
/* f177fa8: 008f2021 */ addu $a0,$a0,$t7
/* f177fac: 9084deb0 */ lbu $a0,%lo(var8009deb0)($a0)
/* f177fac: 9084deb0 */ lbu $a0,%lo(g_MpSelectedPlayersForStats)($a0)
/* f177fb0: 54640003 */ bnel $v1,$a0,.L0f177fc0
/* f177fb4: 24420001 */ addiu $v0,$v0,0x1
/* f177fb8: acc20000 */ sw $v0,0x0($a2)
@@ -272,50 +272,23 @@ char *mpMenuTextWeaponDescription(struct menuitem *item)
return "\n";
}
char *mpMenuTitleStatsFor(struct menudialog *dialog)
{
char *name;
if (g_MpSelectedPlayersForStats[g_MpPlayerNum] < 4) {
name = g_MpPlayers[g_MpSelectedPlayersForStats[g_MpPlayerNum]].base.name;
} else {
name = g_MpSimulants[g_MpSelectedPlayersForStats[g_MpPlayerNum] - 4].base.name;
}
// "Stats for %s"
sprintf(g_StringPointer, langGet(L_MPMENU(280)), name);
return g_StringPointer;
}
GLOBAL_ASM(
glabel func0f1783a0
/* f1783a0: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum)
/* f1783a4: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6)
/* f1783a8: 3c02800a */ lui $v0,%hi(var8009deb0)
/* f1783ac: 27bdffe0 */ addiu $sp,$sp,-32
/* f1783b0: 004e1021 */ addu $v0,$v0,$t6
/* f1783b4: 9042deb0 */ lbu $v0,%lo(var8009deb0)($v0)
/* f1783b8: afbf0014 */ sw $ra,0x14($sp)
/* f1783bc: afa40020 */ sw $a0,0x20($sp)
/* f1783c0: 28410004 */ slti $at,$v0,0x4
/* f1783c4: 10200008 */ beqz $at,.L0f1783e8
/* f1783c8: 00401825 */ or $v1,$v0,$zero
/* f1783cc: 00027880 */ sll $t7,$v0,0x2
/* f1783d0: 01e27821 */ addu $t7,$t7,$v0
/* f1783d4: 3c18800b */ lui $t8,%hi(g_MpPlayers)
/* f1783d8: 2718c7b8 */ addiu $t8,$t8,%lo(g_MpPlayers)
/* f1783dc: 000f7940 */ sll $t7,$t7,0x5
/* f1783e0: 1000000a */ b .L0f17840c
/* f1783e4: 01f83021 */ addu $a2,$t7,$t8
.L0f1783e8:
/* f1783e8: 0003c880 */ sll $t9,$v1,0x2
/* f1783ec: 0323c821 */ addu $t9,$t9,$v1
/* f1783f0: 0019c880 */ sll $t9,$t9,0x2
/* f1783f4: 0323c823 */ subu $t9,$t9,$v1
/* f1783f8: 0019c880 */ sll $t9,$t9,0x2
/* f1783fc: 3c09800b */ lui $t1,%hi(g_MpSimulants)
/* f178400: 2529c538 */ addiu $t1,$t1,%lo(g_MpSimulants)
/* f178404: 2728fed0 */ addiu $t0,$t9,-304
/* f178408: 01093021 */ addu $a2,$t0,$t1
.L0f17840c:
/* f17840c: 24045118 */ addiu $a0,$zero,0x5118
/* f178410: 0fc5b9f1 */ jal langGet
/* f178414: afa6001c */ sw $a2,0x1c($sp)
/* f178418: 3c048007 */ lui $a0,%hi(g_StringPointer)
/* f17841c: 8c841440 */ lw $a0,%lo(g_StringPointer)($a0)
/* f178420: 8fa6001c */ lw $a2,0x1c($sp)
/* f178424: 0c004dad */ jal sprintf
/* f178428: 00402825 */ or $a1,$v0,$zero
/* f17842c: 8fbf0014 */ lw $ra,0x14($sp)
/* f178430: 3c028007 */ lui $v0,%hi(g_StringPointer)
/* f178434: 8c421440 */ lw $v0,%lo(g_StringPointer)($v0)
/* f178438: 03e00008 */ jr $ra
/* f17843c: 27bd0020 */ addiu $sp,$sp,0x20
glabel func0f178440
/* f178440: afa50004 */ sw $a1,0x4($sp)
/* f178444: afa60008 */ sw $a2,0x8($sp)
/* f178448: 03e00008 */ jr $ra
+1 -1
View File
@@ -14272,7 +14272,7 @@ u32 g_NextHudMessageId = 0;
u32 var8009dea4 = 0;
u32 var8009dea8 = 0;
u32 var8009deac = 0;
u8 var8009deb0[4] = {0};
u8 g_MpSelectedPlayersForStats[4] = {0};
u32 var8009deb4 = 0;
u32 var8009deb8 = 0;
u32 var8009debc = 0;
+1 -1
View File
@@ -8,7 +8,7 @@ char *mpMenuTextInGameLimit(struct menuitem *item);
char *menutextPauseOrUnpause(s32 arg0);
char *menutextMatchTime(s32 arg0);
char *mpMenuTextWeaponDescription(struct menuitem *item);
u32 func0f1783a0(void);
char *mpMenuTitleStatsFor(struct menudialog *dialog);
char *mpMenuTextWeaponOfChoiceName(struct menuitem *item);
char *mpMenuTextAward1(struct menuitem *item);
char *mpMenuTextAward2(struct menuitem *item);
+1 -1
View File
@@ -617,7 +617,7 @@ extern u32 var8009de78;
extern u32 var8009de98;
extern u32 var8009de9c;
extern u32 g_NextHudMessageId;
extern u8 var8009deb0[4];
extern u8 g_MpSelectedPlayersForStats[4];
extern char g_CheatMarqueeString[];
extern u32 var8009dfbc;
extern s32 var8009dfc0;