Decompile func0f108a80
This commit is contained in:
parent
6c235c87a6
commit
3eb9e00675
|
|
@ -8183,7 +8183,7 @@ void func0f0f8120(void)
|
|||
}
|
||||
}
|
||||
|
||||
void func0f0f820c(struct menudialog *dialog, s32 arg1)
|
||||
void func0f0f820c(struct menudialog *dialog, s32 root)
|
||||
{
|
||||
s32 i;
|
||||
s32 prevplayernum = g_MpPlayerNum;
|
||||
|
|
@ -8197,7 +8197,7 @@ void func0f0f820c(struct menudialog *dialog, s32 arg1)
|
|||
|
||||
g_MpPlayerNum = prevplayernum;
|
||||
|
||||
g_MenuData.unk008 = arg1;
|
||||
g_MenuData.unk008 = root;
|
||||
g_MenuData.unk00c = dialog;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -418,139 +418,47 @@ void func0f10898c(void)
|
|||
}
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f108a80
|
||||
.late_rodata
|
||||
glabel var7f1b3628
|
||||
.word func0f108a80+0xf0 # f108b70
|
||||
glabel var7f1b362c
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b3630
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b3634
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b3638
|
||||
.word func0f108a80+0x14c # f108bcc
|
||||
glabel var7f1b363c
|
||||
.word func0f108a80+0x14c # f108bcc
|
||||
glabel var7f1b3640
|
||||
.word func0f108a80+0x14c # f108bcc
|
||||
glabel var7f1b3644
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b3648
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b364c
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b3650
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b3654
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b3658
|
||||
.word func0f108a80+0x160 # f108be0
|
||||
glabel var7f1b365c
|
||||
.word func0f108a80+0x98 # f108b18
|
||||
glabel var7f1b3660
|
||||
.word func0f108a80+0x98 # f108b18
|
||||
glabel var7f1b3664
|
||||
.word func0f108a80+0x98 # f108b18
|
||||
.text
|
||||
/* f108a80: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f108a84: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f108a88: 2404ffff */ addiu $a0,$zero,-1
|
||||
/* f108a8c: 0fc3c328 */ jal func0f0f0ca0
|
||||
/* f108a90: 00002825 */ or $a1,$zero,$zero
|
||||
/* f108a94: 3c0e8007 */ lui $t6,%hi(g_MpPlayerNum)
|
||||
/* f108a98: 8dce1448 */ lw $t6,%lo(g_MpPlayerNum)($t6)
|
||||
/* f108a9c: 3c18800a */ lui $t8,%hi(g_Menus)
|
||||
/* f108aa0: 2718e000 */ addiu $t8,$t8,%lo(g_Menus)
|
||||
/* f108aa4: 000e78c0 */ sll $t7,$t6,0x3
|
||||
/* f108aa8: 01ee7823 */ subu $t7,$t7,$t6
|
||||
/* f108aac: 000f7880 */ sll $t7,$t7,0x2
|
||||
/* f108ab0: 01ee7821 */ addu $t7,$t7,$t6
|
||||
/* f108ab4: 000f78c0 */ sll $t7,$t7,0x3
|
||||
/* f108ab8: 01ee7823 */ subu $t7,$t7,$t6
|
||||
/* f108abc: 000f7900 */ sll $t7,$t7,0x4
|
||||
/* f108ac0: 01f81821 */ addu $v1,$t7,$t8
|
||||
/* f108ac4: 90670e42 */ lbu $a3,0xe42($v1)
|
||||
/* f108ac8: 28e10009 */ slti $at,$a3,0x9
|
||||
/* f108acc: 1420000a */ bnez $at,.L0f108af8
|
||||
/* f108ad0: 00e01025 */ or $v0,$a3,$zero
|
||||
/* f108ad4: 2459ff9c */ addiu $t9,$v0,-100
|
||||
/* f108ad8: 2f210007 */ sltiu $at,$t9,0x7
|
||||
/* f108adc: 10200040 */ beqz $at,.L0f108be0
|
||||
/* f108ae0: 0019c880 */ sll $t9,$t9,0x2
|
||||
/* f108ae4: 3c017f1b */ lui $at,%hi(var7f1b3628)
|
||||
/* f108ae8: 00390821 */ addu $at,$at,$t9
|
||||
/* f108aec: 8c393628 */ lw $t9,%lo(var7f1b3628)($at)
|
||||
/* f108af0: 03200008 */ jr $t9
|
||||
/* f108af4: 00000000 */ nop
|
||||
.L0f108af8:
|
||||
/* f108af8: 2c410009 */ sltiu $at,$v0,0x9
|
||||
/* f108afc: 10200038 */ beqz $at,.L0f108be0
|
||||
/* f108b00: 00024080 */ sll $t0,$v0,0x2
|
||||
/* f108b04: 3c017f1b */ lui $at,%hi(var7f1b3644)
|
||||
/* f108b08: 00280821 */ addu $at,$at,$t0
|
||||
/* f108b0c: 8c283644 */ lw $t0,%lo(var7f1b3644)($at)
|
||||
/* f108b10: 01000008 */ jr $t0
|
||||
/* f108b14: 00000000 */ nop
|
||||
/* f108b18: 8c690e1c */ lw $t1,0xe1c($v1)
|
||||
/* f108b1c: 3c047f1b */ lui $a0,%hi(var7f1b2f3c-0x4)
|
||||
/* f108b20: 00095080 */ sll $t2,$t1,0x2
|
||||
/* f108b24: 008a2021 */ addu $a0,$a0,$t2
|
||||
/* f108b28: 0fc5db69 */ jal align16
|
||||
/* f108b2c: 8c842f38 */ lw $a0,%lo(var7f1b2f3c-0x4)($a0)
|
||||
/* f108b30: 3c0b8007 */ lui $t3,%hi(g_MpPlayerNum)
|
||||
/* f108b34: 8d6b1448 */ lw $t3,%lo(g_MpPlayerNum)($t3)
|
||||
/* f108b38: 3c04800a */ lui $a0,%hi(g_Menus+0xe44)
|
||||
/* f108b3c: 00402825 */ or $a1,$v0,$zero
|
||||
/* f108b40: 000b60c0 */ sll $t4,$t3,0x3
|
||||
/* f108b44: 018b6023 */ subu $t4,$t4,$t3
|
||||
/* f108b48: 000c6080 */ sll $t4,$t4,0x2
|
||||
/* f108b4c: 018b6021 */ addu $t4,$t4,$t3
|
||||
/* f108b50: 000c60c0 */ sll $t4,$t4,0x3
|
||||
/* f108b54: 018b6023 */ subu $t4,$t4,$t3
|
||||
/* f108b58: 000c6100 */ sll $t4,$t4,0x4
|
||||
/* f108b5c: 008c2021 */ addu $a0,$a0,$t4
|
||||
/* f108b60: 0c004b2d */ jal func00012cb4
|
||||
/* f108b64: 8c84ee44 */ lw $a0,%lo(g_Menus+0xe44)($a0)
|
||||
/* f108b68: 1000001e */ b .L0f108be4
|
||||
/* f108b6c: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f108b70: 8c6d0e48 */ lw $t5,0xe48($v1)
|
||||
/* f108b74: 8c6e0e4c */ lw $t6,0xe4c($v1)
|
||||
/* f108b78: 3c02800a */ lui $v0,%hi(g_Vars)
|
||||
/* f108b7c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
|
||||
/* f108b80: ac4d047c */ sw $t5,0x47c($v0)
|
||||
/* f108b84: 0fc44270 */ jal func0f1109c0
|
||||
/* f108b88: a44e0480 */ sh $t6,0x480($v0)
|
||||
/* f108b8c: 3c0f8009 */ lui $t7,%hi(g_Is4Mb)
|
||||
/* f108b90: 91ef0af0 */ lbu $t7,%lo(g_Is4Mb)($t7)
|
||||
/* f108b94: 24010001 */ addiu $at,$zero,0x1
|
||||
/* f108b98: 3c048007 */ lui $a0,%hi(g_MainMenuMenuDialog)
|
||||
/* f108b9c: 15e10007 */ bne $t7,$at,.L0f108bbc
|
||||
/* f108ba0: 24843a5c */ addiu $a0,$a0,%lo(g_MainMenuMenuDialog)
|
||||
/* f108ba4: 3c048007 */ lui $a0,%hi(g_4MbMainMenu)
|
||||
/* f108ba8: 24845294 */ addiu $a0,$a0,%lo(g_4MbMainMenu)
|
||||
/* f108bac: 0fc3e083 */ jal func0f0f820c
|
||||
/* f108bb0: 2405000b */ addiu $a1,$zero,0xb
|
||||
/* f108bb4: 1000000b */ b .L0f108be4
|
||||
/* f108bb8: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f108bbc:
|
||||
/* f108bbc: 0fc3e083 */ jal func0f0f820c
|
||||
/* f108bc0: 24050002 */ addiu $a1,$zero,0x2
|
||||
/* f108bc4: 10000007 */ b .L0f108be4
|
||||
/* f108bc8: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f108bcc: 3c04800a */ lui $a0,%hi(var800a21e8)
|
||||
/* f108bd0: 248421e8 */ addiu $a0,$a0,%lo(var800a21e8)
|
||||
/* f108bd4: 24e5ff9e */ addiu $a1,$a3,-98
|
||||
/* f108bd8: 0fc42539 */ jal func0f1094e4
|
||||
/* f108bdc: 8c660e44 */ lw $a2,0xe44($v1)
|
||||
.L0f108be0:
|
||||
/* f108be0: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f108be4:
|
||||
/* f108be4: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f108be8: 03e00008 */ jr $ra
|
||||
/* f108bec: 00000000 */ nop
|
||||
);
|
||||
void func0f108a80(void)
|
||||
{
|
||||
func0f0f0ca0(-1, false);
|
||||
|
||||
switch (g_Menus[g_MpPlayerNum].unke42) {
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
func00012cb4(g_Menus[g_MpPlayerNum].unke44,
|
||||
align16(var7f1b2f3c[g_Menus[g_MpPlayerNum].data.pak.unke1c - 1]));
|
||||
break;
|
||||
case 100:
|
||||
g_Vars.unk00047c = g_Menus[g_MpPlayerNum].unke48;
|
||||
g_Vars.unk000480 = g_Menus[g_MpPlayerNum].unke4c;
|
||||
func0f1109c0();
|
||||
|
||||
if (IS4MB()) {
|
||||
func0f0f820c(&g_4MbMainMenu, MENUROOT_4MBMAINMENU);
|
||||
} else {
|
||||
func0f0f820c(&g_MainMenuMenuDialog, MENUROOT_MAINMENU);
|
||||
}
|
||||
break;
|
||||
case 104:
|
||||
case 105:
|
||||
case 106:
|
||||
func0f1094e4(&var800a21e8,
|
||||
g_Menus[g_MpPlayerNum].unke42 - 98,
|
||||
g_Menus[g_MpPlayerNum].unke44);
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 101:
|
||||
case 102:
|
||||
case 103:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
s32 menuhandlerPakErrorTryAgain(u32 operation, struct menuitem *item, union handlerdata *data)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ u32 func0f0f7728(void);
|
|||
void func0f0f7e98(struct menuframe *frame);
|
||||
void func0f0f8040(void);
|
||||
void func0f0f8120(void);
|
||||
void func0f0f820c(struct menudialog *dialog, s32 arg1);
|
||||
void func0f0f820c(struct menudialog *dialog, s32 root);
|
||||
bool func0f0f82a8(s32 arg0);
|
||||
void func0f0f8300(void);
|
||||
void menuPushRootDialog(struct menudialog *dialog, s32 arg1);
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ char *func0f1086b8(s32 arg0, s32 arg1, s32 arg2);
|
|||
char *func0f10876c(struct menuitem *item);
|
||||
char *pakMenuTextFileType(struct menuitem *item);
|
||||
void func0f10898c(void);
|
||||
u32 func0f108a80(void);
|
||||
void func0f108a80(void);
|
||||
void func0f108d8c(void);
|
||||
char *pakMenuTextPleaseInsertOriginalPak(struct menuitem *item);
|
||||
void func0f109038(s32 arg0);
|
||||
|
|
|
|||
|
|
@ -5715,7 +5715,7 @@ struct frdata {
|
|||
struct menudata {
|
||||
/*0x000*/ s32 count;
|
||||
/*0x004*/ s32 root;
|
||||
/*0x008*/ s32 unk008;
|
||||
/*0x008*/ s32 unk008; // also a menuroot constant
|
||||
/*0x00c*/ struct menudialog *unk00c;
|
||||
/*0x010*/ f32 unk010;
|
||||
/*0x014*/ u8 unk014;
|
||||
|
|
|
|||
Loading…
Reference in New Issue