Decompile htMenuTextTimeTakenValue

This commit is contained in:
Ryan Dwyer 2020-03-20 17:35:36 +10:00
parent 2ea2613858
commit 70d70250be
7 changed files with 31 additions and 71 deletions

View File

@ -13184,7 +13184,7 @@ struct menu_dialog menudialog_2f68c = {
struct menu_item menuitems_trainingstats_failed2[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(426), 0x00000000, NULL }, // "Failed!"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&func0f1a6b7c, NULL }, // "Time Taken:"
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SCROLLABLE, 9, 0x00000000, 0x00000082, 0x00000064, NULL },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },
@ -13204,7 +13204,7 @@ struct menu_dialog menudialog_trainingstats_failed2 = {
struct menu_item menuitems_trainingstats_completed2[] = {
{ MENUITEMTYPE_LABEL, 0, 0x00000032, L_MPMENU(425), 0x00000000, NULL }, // "Completed!"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&func0f1a6b7c, NULL }, // "Time Taken:"
{ MENUITEMTYPE_LABEL, 0, 0x00000002, L_MPMENU(424), (u32)&htMenuTextTimeTakenValue, NULL }, // "Time Taken:"
{ MENUITEMTYPE_SEPARATOR, 0, 0x00000002, 0x00000000, 0x00000000, NULL },
{ MENUITEMTYPE_SCROLLABLE, 10, 0x00000000, 0x00000082, 0x00000064, NULL },
{ MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL },

View File

@ -4779,7 +4779,7 @@ glabel func0f106b20
/* f106bb0: 2881001a */ slti $at,$a0,0x1a
/* f106bb4: 50200019 */ beqzl $at,.L0f106c1c
/* f106bb8: 2401001e */ addiu $at,$zero,0x1e
/* f106bbc: 0fc687f8 */ jal func0f1a1fe0
/* f106bbc: 0fc687f8 */ jal getHoloTrainingData
/* f106bc0: 00000000 */ sll $zero,$zero,0x0
/* f106bc4: 8c430000 */ lw $v1,0x0($v0)
/* f106bc8: 3c048009 */ lui $a0,%hi(menudialog_2f68c)

View File

@ -6424,7 +6424,7 @@ glabel func0f1a1f70
);
GLOBAL_ASM(
glabel func0f1a1fe0
glabel getHoloTrainingData
/* f1a1fe0: 3c02800b */ lui $v0,%hi(g_HoloTrainingData)
/* f1a1fe4: 03e00008 */ jr $ra
/* f1a1fe8: 2442d1b0 */ addiu $v0,$v0,%lo(g_HoloTrainingData)

View File

@ -3574,7 +3574,7 @@ GLOBAL_ASM(
glabel func0f1a6aec
/* f1a6aec: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a6af0: afbf0014 */ sw $ra,0x14($sp)
/* f1a6af4: 0fc687f8 */ jal func0f1a1fe0
/* f1a6af4: 0fc687f8 */ jal getHoloTrainingData
/* f1a6af8: afa40018 */ sw $a0,0x18($sp)
/* f1a6afc: 8c4e0000 */ lw $t6,0x0($v0)
/* f1a6b00: 000e7fc2 */ srl $t7,$t6,0x1f
@ -3598,7 +3598,7 @@ GLOBAL_ASM(
glabel func0f1a6b34
/* f1a6b34: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a6b38: afbf0014 */ sw $ra,0x14($sp)
/* f1a6b3c: 0fc687f8 */ jal func0f1a1fe0
/* f1a6b3c: 0fc687f8 */ jal getHoloTrainingData
/* f1a6b40: afa40018 */ sw $a0,0x18($sp)
/* f1a6b44: 8c4e0000 */ lw $t6,0x0($v0)
/* f1a6b48: 000e7fc2 */ srl $t7,$t6,0x1f
@ -3618,67 +3618,27 @@ glabel func0f1a6b34
/* f1a6b78: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel func0f1a6b7c
/* f1a6b7c: 27bdffd0 */ addiu $sp,$sp,-48
/* f1a6b80: afbf001c */ sw $ra,0x1c($sp)
/* f1a6b84: 0fc687f8 */ jal func0f1a1fe0
/* f1a6b88: afa40030 */ sw $a0,0x30($sp)
/* f1a6b8c: 8c4e0004 */ lw $t6,0x4($v0)
/* f1a6b90: 3c014270 */ lui $at,0x4270
/* f1a6b94: 44810000 */ mtc1 $at,$f0
/* f1a6b98: 448e2000 */ mtc1 $t6,$f4
/* f1a6b9c: 3c057f1c */ lui $a1,%hi(var7f1b98dc)
/* f1a6ba0: 3c067f1c */ lui $a2,%hi(var7f1b98e8)
/* f1a6ba4: 468021a0 */ cvt.s.w $f6,$f4
/* f1a6ba8: 3c077f1c */ lui $a3,%hi(var7f1b98ec)
/* f1a6bac: 24e798ec */ addiu $a3,$a3,%lo(var7f1b98ec)
/* f1a6bb0: 24c698e8 */ addiu $a2,$a2,%lo(var7f1b98e8)
/* f1a6bb4: 24a598dc */ addiu $a1,$a1,%lo(var7f1b98dc)
/* f1a6bb8: 3c048007 */ lui $a0,%hi(g_StringPointer)
/* f1a6bbc: 46003303 */ div.s $f12,$f6,$f0
/* f1a6bc0: 460c003e */ c.le.s $f0,$f12
/* f1a6bc4: 00000000 */ sll $zero,$zero,0x0
/* f1a6bc8: 45020019 */ bc1fl .L0f1a6c30
/* f1a6bcc: 460062a1 */ cvt.d.s $f10,$f12
/* f1a6bd0: 460c003e */ c.le.s $f0,$f12
/* f1a6bd4: 00003025 */ or $a2,$zero,$zero
/* f1a6bd8: 45000007 */ bc1f .L0f1a6bf8
/* f1a6bdc: 00000000 */ sll $zero,$zero,0x0
/* f1a6be0: 46006301 */ sub.s $f12,$f12,$f0
.L0f1a6be4:
/* f1a6be4: 24c60001 */ addiu $a2,$a2,0x1
/* f1a6be8: 460c003e */ c.le.s $f0,$f12
/* f1a6bec: 00000000 */ sll $zero,$zero,0x0
/* f1a6bf0: 4503fffc */ bc1tl .L0f1a6be4
/* f1a6bf4: 46006301 */ sub.s $f12,$f12,$f0
.L0f1a6bf8:
/* f1a6bf8: 0fc25e5c */ jal func0f097970
/* f1a6bfc: afa60024 */ sw $a2,0x24($sp)
/* f1a6c00: 4600020d */ trunc.w.s $f8,$f0
/* f1a6c04: 3c048007 */ lui $a0,%hi(g_StringPointer)
/* f1a6c08: 3c057f1c */ lui $a1,%hi(var7f1b98d0)
/* f1a6c0c: 24a598d0 */ addiu $a1,$a1,%lo(var7f1b98d0)
/* f1a6c10: 44074000 */ mfc1 $a3,$f8
/* f1a6c14: 8c841440 */ lw $a0,%lo(g_StringPointer)($a0)
/* f1a6c18: 0c004dad */ jal sprintf
/* f1a6c1c: 8fa60024 */ lw $a2,0x24($sp)
/* f1a6c20: 3c028007 */ lui $v0,%hi(g_StringPointer)
/* f1a6c24: 10000007 */ beqz $zero,.L0f1a6c44
/* f1a6c28: 8c421440 */ lw $v0,%lo(g_StringPointer)($v0)
/* f1a6c2c: 460062a1 */ cvt.d.s $f10,$f12
.L0f1a6c30:
/* f1a6c30: 8c841440 */ lw $a0,%lo(g_StringPointer)($a0)
/* f1a6c34: 0c004dad */ jal sprintf
/* f1a6c38: f7aa0010 */ sdc1 $f10,0x10($sp)
/* f1a6c3c: 3c028007 */ lui $v0,%hi(g_StringPointer)
/* f1a6c40: 8c421440 */ lw $v0,%lo(g_StringPointer)($v0)
.L0f1a6c44:
/* f1a6c44: 8fbf001c */ lw $ra,0x1c($sp)
/* f1a6c48: 27bd0030 */ addiu $sp,$sp,0x30
/* f1a6c4c: 03e00008 */ jr $ra
/* f1a6c50: 00000000 */ sll $zero,$zero,0x0
);
char *htMenuTextTimeTakenValue(struct menu_item *item)
{
struct trainingdata *data = getHoloTrainingData();
f32 secs = data->timetaken / 60.0f;
if (secs >= 60.0f) {
s32 mins = 0;
while (secs >= 60.0f) {
secs -= 60.0f;
mins++;
}
sprintf(g_StringPointer, "%dm %2ds\n", mins, (s32)func0f097970(secs));
return g_StringPointer;
} else {
sprintf(g_StringPointer, "%s%s%2.2fs\n", "", "", secs);
}
return g_StringPointer;
}
bool menudialogFiringRangeResults(u32 operation, struct menu_dialog *dialog, struct menustackitem *stackitem)
{

View File

@ -37966,7 +37966,7 @@ glabel func0f086f40
.L0f086fd4:
/* f086fd4: 54410015 */ bnel $v0,$at,.L0f08702c
/* f086fd8: 2401007f */ addiu $at,$zero,0x7f
/* f086fdc: 0fc687f8 */ jal func0f1a1fe0
/* f086fdc: 0fc687f8 */ jal getHoloTrainingData
/* f086fe0: 00000000 */ sll $zero,$zero,0x0
/* f086fe4: 24080001 */ addiu $t0,$zero,0x1
/* f086fe8: a3a8002b */ sb $t0,0x2b($sp)
@ -48693,7 +48693,7 @@ bool func0f09018c(struct prop *doorprop)
if (g_Vars.stagenum == STAGE_CITRAINING) {
struct trainingdata *a = getDeviceTrainingData();
struct trainingdata *b = func0f1a1fe0();
struct trainingdata *b = getHoloTrainingData();
intraining = (a && a->unk00_00) || (b && b->unk00_00) ||
g_Vars.currentplayer->prop->rooms[0] == 0x0a;

View File

@ -89,7 +89,7 @@ u32 func0f1a1e38(void);
u32 func0f1a1e90(void);
u32 func0f1a1f00(void);
u32 func0f1a1f70(void);
struct trainingdata *func0f1a1fe0(void); // might be a different but similar struct
struct trainingdata *getHoloTrainingData(void);
u32 func0f1a1fec(void);
void func0f1a2070(void);
u32 func0f1a2198(void);

View File

@ -29,7 +29,7 @@ char *dtMenuTextTimeTakenValue(struct menu_item *item);
u32 func0f1a6a04(void);
u32 func0f1a6aec(void);
u32 func0f1a6b34(void);
u32 func0f1a6b7c(void);
char *htMenuTextTimeTakenValue(struct menu_item *item);
u32 func0f1a6c8c(void);
u32 func0f1a6cc4(void);
u32 func0f1a7554(void);