Decompile frTrainingStatsMenuDialog

This commit is contained in:
Ryan Dwyer 2020-08-13 21:32:50 +10:00
parent 6163d46dce
commit 8d4bb5a1d2
5 changed files with 27 additions and 39 deletions

View File

@ -114,7 +114,7 @@ struct menudialog menudialog_frtraininginfo2 = {
};
// 2ef98
struct menuitem menuitems_frtrainingstats[] = {
struct menuitem g_MenuItemsFrTrainingStatsCompleted[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000020, L_MPMENU(449), 0x00000000, NULL }, // "Completed!"
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(450), (u32)&frMenuTextScoreValue, NULL }, // "Score:"
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(451), (u32)&frMenuTextTargetsDestroyedValue, NULL }, // "Targets Destroyed:"
@ -131,17 +131,17 @@ struct menuitem menuitems_frtrainingstats[] = {
};
// 2f09c
struct menudialog menudialog_frtrainingstats = {
struct menudialog g_MenuDialogFrTrainingStatsCompleted = {
MENUDIALOGTYPE_SUCCESS,
L_MPMENU(448), // "Training Stats"
menuitems_frtrainingstats,
menudialog001a3af4,
g_MenuItemsFrTrainingStatsCompleted,
frTrainingStatsMenuDialog,
0x00000004,
NULL,
};
// 2f0b4
struct menuitem menuitems_frtrainingstats2[] = {
struct menuitem g_MenuItemsFrTrainingStatsFailed[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000020, (u32)&frMenuTextFailReason, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(450), (u32)&frMenuTextScoreValue, NULL }, // "Score:"
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(451), (u32)&frMenuTextTargetsDestroyedValue, NULL }, // "Targets Destroyed:"
@ -158,11 +158,11 @@ struct menuitem menuitems_frtrainingstats2[] = {
};
// 2f1b8
struct menudialog menudialog_frtrainingstats2 = {
struct menudialog g_MenuDialogFrTrainingStatsFailed = {
MENUDIALOGTYPE_DANGER,
L_MPMENU(448), // "Training Stats"
menuitems_frtrainingstats2,
menudialog001a3af4,
g_MenuItemsFrTrainingStatsFailed,
frTrainingStatsMenuDialog,
0x00000004,
NULL,
};

View File

@ -567,28 +567,16 @@ glabel var7f1b9944
/* f1a3af0: 00000000 */ nop
);
GLOBAL_ASM(
glabel menudialog001a3af4
/* f1a3af4: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a3af8: 24010065 */ addiu $at,$zero,0x65
/* f1a3afc: afbf0014 */ sw $ra,0x14($sp)
/* f1a3b00: afa5001c */ sw $a1,0x1c($sp)
/* f1a3b04: 14810007 */ bne $a0,$at,.L0f1a3b24
/* f1a3b08: afa60020 */ sw $a2,0x20($sp)
/* f1a3b0c: 0fc6830c */ jal frIsInTraining
/* f1a3b10: 00000000 */ nop
/* f1a3b14: 54400004 */ bnezl $v0,.L0f1a3b28
/* f1a3b18: 8fbf0014 */ lw $ra,0x14($sp)
/* f1a3b1c: 0fc67b37 */ jal frEndSession
/* f1a3b20: 24040001 */ addiu $a0,$zero,0x1
.L0f1a3b24:
/* f1a3b24: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1a3b28:
/* f1a3b28: 27bd0018 */ addiu $sp,$sp,0x18
/* f1a3b2c: 00001025 */ or $v0,$zero,$zero
/* f1a3b30: 03e00008 */ jr $ra
/* f1a3b34: 00000000 */ nop
);
s32 frTrainingStatsMenuDialog(u32 operation, u32 arg1, u32 *arg2)
{
if (operation == MENUOP_101) {
if (frIsInTraining() == false) {
frEndSession(true);
}
}
return 0;
}
/**
* This is an unused menu handler which implements the difficulty selection

View File

@ -2538,8 +2538,8 @@ glabel var7f1b94e4
/* f19fb60: 2407ffff */ addiu $a3,$zero,-1
/* f19fb64: 0c004241 */ jal audioStart
/* f19fb68: e7b80014 */ swc1 $f24,0x14($sp)
/* f19fb6c: 3c048009 */ lui $a0,%hi(menudialog_frtrainingstats2)
/* f19fb70: 24849198 */ addiu $a0,$a0,%lo(menudialog_frtrainingstats2)
/* f19fb6c: 3c048009 */ lui $a0,%hi(g_MenuDialogFrTrainingStatsFailed)
/* f19fb70: 24849198 */ addiu $a0,$a0,%lo(g_MenuDialogFrTrainingStatsFailed)
/* f19fb74: 0fc3e178 */ jal func0f0f85e0
/* f19fb78: 2405000d */ addiu $a1,$zero,0xd
/* f19fb7c: 1000035d */ b .L0f1a08f4
@ -2559,8 +2559,8 @@ glabel var7f1b94e4
/* f19fbb0: 2407ffff */ addiu $a3,$zero,-1
/* f19fbb4: 0c004241 */ jal audioStart
/* f19fbb8: e7b80014 */ swc1 $f24,0x14($sp)
/* f19fbbc: 3c048009 */ lui $a0,%hi(menudialog_frtrainingstats)
/* f19fbc0: 2484907c */ addiu $a0,$a0,%lo(menudialog_frtrainingstats)
/* f19fbbc: 3c048009 */ lui $a0,%hi(g_MenuDialogFrTrainingStatsCompleted)
/* f19fbc0: 2484907c */ addiu $a0,$a0,%lo(g_MenuDialogFrTrainingStatsCompleted)
/* f19fbc4: 0fc3e178 */ jal func0f0f85e0
/* f19fbc8: 2405000d */ addiu $a1,$zero,0xd
/* f19fbcc: 3c04800a */ lui $a0,%hi(var800a22c0)
@ -3567,11 +3567,11 @@ glabel var7f1b94e4
// break;
// case FRMENUTYPE_FAILED:
// audioStart(var80095200, 0x5db, NULL, -1, -1, -1, -1, -1);
// func0f0f85e0(&menudialog_frtrainingstats2, MENUROOT_TRAINING);
// func0f0f85e0(&g_MenuDialogFrTrainingStatsFailed, MENUROOT_TRAINING);
// break;
// case FRMENUTYPE_COMPLETED:
// audioStart(var80095200, 0x5dc, NULL, -1, -1, -1, -1, -1);
// func0f0f85e0(&menudialog_frtrainingstats, MENUROOT_TRAINING);
// func0f0f85e0(&g_MenuDialogFrTrainingStatsCompleted, MENUROOT_TRAINING);
// func0f1094e4(&var800a22c0, 0, 0);
// break;
// }

View File

@ -20,8 +20,8 @@ extern struct menudialog menudialog_frdifficulty;
extern struct menudialog g_FrWeaponListMenuDialog;
extern struct menudialog g_FrTrainingInfoMenuDialog;
extern struct menudialog menudialog_frtraininginfo2;
extern struct menudialog menudialog_frtrainingstats;
extern struct menudialog menudialog_frtrainingstats2;
extern struct menudialog g_MenuDialogFrTrainingStatsCompleted;
extern struct menudialog g_MenuDialogFrTrainingStatsFailed;
extern u32 var800891b0;
extern struct menudialog menudialog_information;
extern u32 var80089268;

View File

@ -38,7 +38,7 @@ void func0f1a7730(void *ptr);
void *func0f1a7794(u16 fileid, u8 *arg1, s32 arg2, s32 arg3);
void *fileLoad(u16 fileid);
s32 menudialog001a39a8(u32, u32, u32 *);
s32 menudialog001a3af4(u32, u32, u32 *);
s32 frTrainingStatsMenuDialog(u32 operation, u32 arg1, u32 *arg2);
s32 menudialog001a5f48(u32, u32, u32 *);
s32 menudialog001a6548(u32, u32, u32 *);
bool menudialogDeviceTrainingResults(u32 operation, struct menudialog *dialog, struct menu *menu);