Decompile menuhandlerFrFailedContinue

This commit is contained in:
Ryan Dwyer
2020-01-04 20:22:38 +10:00
parent 89b45519e8
commit eea924d78e
7 changed files with 29 additions and 43 deletions
+2 -2
View File
@@ -38161,7 +38161,7 @@ glabel func0f086f40
/* f087034: 0fc6830c */ jal func0f1a0c30
/* f087038: a3ab002b */ sb $t3,0x2b($sp)
/* f08703c: 10400007 */ beqz $v0,.L0f08705c
/* f087040: 3c048009 */ lui $a0,%hi(menudialog_frweapon)
/* f087040: 3c048009 */ lui $a0,%hi(g_frWeaponMenuDialog)
/* f087044: 3c048009 */ lui $a0,%hi(menudialog_frtraininginfo)
/* f087048: 24848e6c */ addiu $a0,$a0,%lo(menudialog_frtraininginfo)
/* f08704c: 0fc3e178 */ jal func0f0f85e0
@@ -38169,7 +38169,7 @@ glabel func0f086f40
/* f087054: 10000005 */ beqz $zero,.L0f08706c
/* f087058: 93ac002b */ lbu $t4,0x2b($sp)
.L0f08705c:
/* f08705c: 24848d78 */ addiu $a0,$a0,%lo(menudialog_frweapon)
/* f08705c: 24848d78 */ addiu $a0,$a0,%lo(g_frWeaponMenuDialog)
/* f087060: 0fc3e178 */ jal func0f0f85e0
/* f087064: 2405000d */ addiu $a1,$zero,0xd
.L0f087068:
+2 -2
View File
@@ -4769,7 +4769,7 @@ glabel func0f106b20
/* f106cc0: 0fc6830c */ jal func0f1a0c30
/* f106cc4: 00000000 */ sll $zero,$zero,0x0
/* f106cc8: 10400007 */ beqz $v0,.L0f106ce8
/* f106ccc: 3c048009 */ lui $a0,%hi(menudialog_frweapon)
/* f106ccc: 3c048009 */ lui $a0,%hi(g_frWeaponMenuDialog)
/* f106cd0: 3c048009 */ lui $a0,%hi(menudialog_frtraininginfo)
/* f106cd4: 24848e6c */ addiu $a0,$a0,%lo(menudialog_frtraininginfo)
/* f106cd8: 0fc3e0cc */ jal func0f0f8330
@@ -4777,7 +4777,7 @@ glabel func0f106b20
/* f106ce0: 10000005 */ beqz $zero,.L0f106cf8
/* f106ce4: 24050001 */ addiu $a1,$zero,0x1
.L0f106ce8:
/* f106ce8: 24848d78 */ addiu $a0,$a0,%lo(menudialog_frweapon)
/* f106ce8: 24848d78 */ addiu $a0,$a0,%lo(g_frWeaponMenuDialog)
/* f106cec: 0fc3e0cc */ jal func0f0f8330
/* f106cf0: 2405000d */ addiu $a1,$zero,0xd
/* f106cf4: 24050001 */ addiu $a1,$zero,0x1
+14 -33
View File
@@ -3015,37 +3015,18 @@ glabel menuhandler001a44c0
/* f1a5d58: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel menuhandler001a5d5c
/* f1a5d5c: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a5d60: 24010006 */ addiu $at,$zero,0x6
/* f1a5d64: afbf0014 */ sw $ra,0x14($sp)
/* f1a5d68: afa5001c */ sw $a1,0x1c($sp)
/* f1a5d6c: 1481000f */ bne $a0,$at,.L0f1a5dac
/* f1a5d70: afa60020 */ sw $a2,0x20($sp)
/* f1a5d74: 3c0e800a */ lui $t6,0x800a
/* f1a5d78: 8dcea244 */ lw $t6,-0x5dbc($t6)
/* f1a5d7c: 2401000a */ addiu $at,$zero,0xa
/* f1a5d80: 3c048009 */ lui $a0,%hi(menudialog_frweapon)
/* f1a5d84: 8dcf00bc */ lw $t7,0xbc($t6)
/* f1a5d88: 85f80028 */ lh $t8,0x28($t7)
/* f1a5d8c: 17010005 */ bne $t8,$at,.L0f1a5da4
/* f1a5d90: 00000000 */ sll $zero,$zero,0x0
/* f1a5d94: 0fc3cdc1 */ jal func0f0f3704
/* f1a5d98: 24848d78 */ addiu $a0,$a0,%lo(menudialog_frweapon)
/* f1a5d9c: 10000004 */ beqz $zero,.L0f1a5db0
/* f1a5da0: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1a5da4:
/* f1a5da4: 0fc3cdb7 */ jal menuPopDialog
/* f1a5da8: 00000000 */ sll $zero,$zero,0x0
.L0f1a5dac:
/* f1a5dac: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1a5db0:
/* f1a5db0: 27bd0018 */ addiu $sp,$sp,0x18
/* f1a5db4: 00001025 */ or $v0,$zero,$zero
/* f1a5db8: 03e00008 */ jr $ra
/* f1a5dbc: 00000000 */ sll $zero,$zero,0x0
);
s32 menuhandlerFrFailedContinue(u32 operation, struct menu_item *item, s32 *value)
{
if (operation == MENUOP_SET) {
if (g_Vars.currentplayer->prop->rooms[0] == 0xa) {
func0f0f3704(&g_frWeaponMenuDialog);
} else {
menuPopDialog();
}
}
return 0;
}
GLOBAL_ASM(
glabel menuhandler001a5dc0
@@ -4714,9 +4695,9 @@ glabel menudialog001a737c
GLOBAL_ASM(
glabel func0f1a7554
/* f1a7554: 3c028009 */ lui $v0,%hi(menudialog_frweapon)
/* f1a7554: 3c028009 */ lui $v0,%hi(g_frWeaponMenuDialog)
/* f1a7558: 03e00008 */ jr $ra
/* f1a755c: 24428d78 */ addiu $v0,$v0,%lo(menudialog_frweapon)
/* f1a755c: 24428d78 */ addiu $v0,$v0,%lo(g_frWeaponMenuDialog)
);
GLOBAL_ASM(
+1 -1
View File
@@ -49,7 +49,7 @@ s32 menuhandler001a3340(u32, u32, u32 *);
s32 menuhandler001a3448(u32 operation, struct menu_item *item, s32 *value);
s32 menuhandler001a348c(u32, u32, u32 *);
s32 menuhandler001a44c0(u32, u32, u32 *);
s32 menuhandler001a5d5c(u32, u32, u32 *);
s32 menuhandlerFrFailedContinue(u32 operation, struct menu_item *item, s32 *value);
s32 menuhandler001a5dc0(u32, u32, u32 *);
s32 menuhandler001a63e4(u32, u32, u32 *);
s32 menuhandler001a64d8(u32 operation, struct menu_item *item, s32 *value);
+1 -1
View File
@@ -352,7 +352,7 @@ extern u32 var80088ca0;
extern u32 var80088ca4;
extern u32 var80088ca8;
extern struct menu_dialog menudialog_frdifficulty;
extern struct menu_dialog menudialog_frweapon;
extern struct menu_dialog g_frWeaponMenuDialog;
extern struct menu_dialog menudialog_frtraininginfo;
extern struct menu_dialog menudialog_frtraininginfo2;
extern struct menu_dialog menudialog_frtrainingstats;
+6 -1
View File
@@ -3921,7 +3921,12 @@ struct menustackitem {
};
struct savefile_solo {
/*0x00*/ char name[12];
/**
* This is a little weird. The name entry is clearly 10 characters plus a
* null byte, but there is other code that uses unk08 for other purposes.
*/
/*0x00*/ char name[8];
/*0x08*/ u32 unk08;
/*0x0c*/ u32 unk0c;
/*0x10*/ u32 unk10;
/*0x14*/ u32 flags;
+3 -3
View File
@@ -13021,7 +13021,7 @@ struct menu_item menuitems_frweapon[] = {
};
// 2ed98
struct menu_dialog menudialog_frweapon = {
struct menu_dialog g_frWeaponMenuDialog = {
MENUDIALOGTYPE_DEFAULT,
0x51be, // "Weapon"
menuitems_frweapon,
@@ -13093,7 +13093,7 @@ struct menu_item menuitems_frtrainingstats[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000002, 0x000051c7, (u32)&func0f1a402c, NULL }, // "Accuracy:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_MODEL, 0, 0x00200002, 0x000000d2, 0x00000050, menuhandler001a44c0 },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, 0x000054fc, 0x00000000, menuhandler001a5d5c }, // "Continue"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, 0x000054fc, 0x00000000, menuhandlerFrFailedContinue }, // "Continue"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
};
@@ -13120,7 +13120,7 @@ struct menu_item menuitems_frtrainingstats2[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000002, 0x000051c7, (u32)&func0f1a402c, NULL }, // "Accuracy:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_MODEL, 0, 0x00200002, 0x000000d2, 0x00000050, menuhandler001a44c0 },
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, 0x000054fc, 0x00000000, menuhandler001a5d5c }, // "Continue"
{ MENUITEMTYPE_SELECTABLE, 0, 0x00000020, 0x000054fc, 0x00000000, menuhandlerFrFailedContinue }, // "Continue"
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
};