Decompile dtMenuTextName

This commit is contained in:
Ryan Dwyer 2020-08-13 19:38:36 +10:00
parent e561533bfe
commit 81e099f2b7
5 changed files with 29 additions and 39 deletions

View File

@ -306,7 +306,7 @@ struct menuitem menuitems_2f424[] = {
// 2f49c
struct menudialog g_DeviceTrainingDetailsMenuDialog = {
MENUDIALOGTYPE_DEFAULT,
(u32)&func0f1a64a0,
(u32)&dtMenuTextName,
menuitems_2f424,
menudialog001a6548,
0x00000206,

View File

@ -3067,7 +3067,7 @@ glabel var7f1b9994
/* f1a641c: 8fa60020 */ lw $a2,0x20($sp)
/* f1a6420: 1000001a */ b .L0f1a648c
/* f1a6424: acc20000 */ sw $v0,0x0($a2)
/* f1a6428: 0fc6875a */ jal func0f1a1d68
/* f1a6428: 0fc6875a */ jal dtGetIndexBySlot
/* f1a642c: 8cc40000 */ lw $a0,0x0($a2)
/* f1a6430: 0fc68778 */ jal dtGetWeaponByDeviceIndex
/* f1a6434: 00402025 */ or $a0,$v0,$zero
@ -3076,15 +3076,15 @@ glabel var7f1b9994
/* f1a6440: 10000014 */ b .L0f1a6494
/* f1a6444: 8fbf0014 */ lw $ra,0x14($sp)
/* f1a6448: 8ccf0000 */ lw $t7,0x0($a2)
/* f1a644c: 3c018009 */ lui $at,%hi(var80088ad8)
/* f1a644c: 3c018009 */ lui $at,%hi(g_DtSlot)
/* f1a6450: 3c048009 */ lui $a0,%hi(g_DeviceTrainingDetailsMenuDialog)
/* f1a6454: 2484947c */ addiu $a0,$a0,%lo(g_DeviceTrainingDetailsMenuDialog)
/* f1a6458: 0fc3cbd3 */ jal menuPushDialog
/* f1a645c: a02f8ad8 */ sb $t7,%lo(var80088ad8)($at)
/* f1a645c: a02f8ad8 */ sb $t7,%lo(g_DtSlot)($at)
/* f1a6460: 1000000b */ b .L0f1a6490
/* f1a6464: 00001025 */ or $v0,$zero,$zero
/* f1a6468: 3c188009 */ lui $t8,%hi(var80088ad8)
/* f1a646c: 93188ad8 */ lbu $t8,%lo(var80088ad8)($t8)
/* f1a6468: 3c188009 */ lui $t8,%hi(g_DtSlot)
/* f1a646c: 93188ad8 */ lbu $t8,%lo(g_DtSlot)($t8)
/* f1a6470: 10000006 */ b .L0f1a648c
/* f1a6474: acd80000 */ sw $t8,0x0($a2)
/* f1a6478: 10000004 */ b .L0f1a648c
@ -3102,23 +3102,12 @@ glabel var7f1b9994
/* f1a649c: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f1a64a0
/* f1a64a0: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a64a4: afa40018 */ sw $a0,0x18($sp)
/* f1a64a8: afbf0014 */ sw $ra,0x14($sp)
/* f1a64ac: 3c048009 */ lui $a0,%hi(var80088ad8)
/* f1a64b0: 0fc6875a */ jal func0f1a1d68
/* f1a64b4: 90848ad8 */ lbu $a0,%lo(var80088ad8)($a0)
/* f1a64b8: 0fc68778 */ jal dtGetWeaponByDeviceIndex
/* f1a64bc: 00402025 */ or $a0,$v0,$zero
/* f1a64c0: 0fc28857 */ jal weaponGetName
/* f1a64c4: 00402025 */ or $a0,$v0,$zero
/* f1a64c8: 8fbf0014 */ lw $ra,0x14($sp)
/* f1a64cc: 27bd0018 */ addiu $sp,$sp,0x18
/* f1a64d0: 03e00008 */ jr $ra
/* f1a64d4: 00000000 */ nop
);
char *dtMenuTextName(struct menuitem *item)
{
u32 weaponnum = dtGetWeaponByDeviceIndex(dtGetIndexBySlot(g_DtSlot));
return weaponGetName(weaponnum);
}
s32 menuhandlerDtOkOrResume(u32 operation, struct menuitem *item, s32 *value)
{
@ -3160,9 +3149,9 @@ glabel var7f1b9998
/* f1a6570: 1000008b */ b .L0f1a67a0
/* f1a6574: 8fbf0014 */ lw $ra,0x14($sp)
.L0f1a6578:
/* f1a6578: 3c048009 */ lui $a0,%hi(var80088ad8)
/* f1a657c: 0fc6875a */ jal func0f1a1d68
/* f1a6580: 90848ad8 */ lbu $a0,%lo(var80088ad8)($a0)
/* f1a6578: 3c048009 */ lui $a0,%hi(g_DtSlot)
/* f1a657c: 0fc6875a */ jal dtGetIndexBySlot
/* f1a6580: 90848ad8 */ lbu $a0,%lo(g_DtSlot)($a0)
/* f1a6584: 0fc68778 */ jal dtGetWeaponByDeviceIndex
/* f1a6588: 00402025 */ or $a0,$v0,$zero
/* f1a658c: 3c0f8009 */ lui $t7,%hi(var800893f8)
@ -3251,11 +3240,11 @@ glabel var7f1b9998
/* f1a66cc: 50400034 */ beqzl $v0,.L0f1a67a0
/* f1a66d0: 8fbf0014 */ lw $ra,0x14($sp)
/* f1a66d4: 8c480000 */ lw $t0,0x0($v0)
/* f1a66d8: 3c048009 */ lui $a0,%hi(var80088ad8)
/* f1a66d8: 3c048009 */ lui $a0,%hi(g_DtSlot)
/* f1a66dc: 54a80030 */ bnel $a1,$t0,.L0f1a67a0
/* f1a66e0: 8fbf0014 */ lw $ra,0x14($sp)
/* f1a66e4: 0fc6875a */ jal func0f1a1d68
/* f1a66e8: 90848ad8 */ lbu $a0,%lo(var80088ad8)($a0)
/* f1a66e4: 0fc6875a */ jal dtGetIndexBySlot
/* f1a66e8: 90848ad8 */ lbu $a0,%lo(g_DtSlot)($a0)
/* f1a66ec: 0fc68778 */ jal dtGetWeaponByDeviceIndex
/* f1a66f0: 00402025 */ or $a0,$v0,$zero
/* f1a66f4: 24010041 */ addiu $at,$zero,0x41

View File

@ -4540,7 +4540,7 @@ struct hangarbio *ciGetHangarBio(s32 index)
return NULL;
}
u8 var80088ad8 = 0;
u8 g_DtSlot = 0;
u8 var80088adc = 0;
bool ciIsHangarBioUnlocked(u32 bioindex)
@ -4678,7 +4678,7 @@ void dtRestorePlayer(void)
g_DtData.obj = NULL;
if (dtGetWeaponByDeviceIndex(func0f1a1d68(var80088ad8)) == WEAPON_ECMMINE) {
if (dtGetWeaponByDeviceIndex(dtGetIndexBySlot(g_DtSlot)) == WEAPON_ECMMINE) {
currentPlayerSetAmmoQuantity(AMMOTYPE_ECM_MINE, 0);
}
@ -4767,7 +4767,7 @@ void dtBegin(void)
chrUnsetStageFlag(NULL, STAGEFLAG_CI_DEVICE_ABORTING);
chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_SUCCESS);
chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE);
chrSetStageFlag(NULL, ciGetStageFlagByDeviceIndex(func0f1a1d68(var80088ad8)));
chrSetStageFlag(NULL, ciGetStageFlagByDeviceIndex(dtGetIndexBySlot(g_DtSlot)));
g_Vars.currentplayer->training = true;
playersSetPassiveMode(false);
chrSetStageFlag(NULL, STAGEFLAG_CI_IN_TRAINING);
@ -4780,7 +4780,7 @@ void dtEnd(void)
currentPlayerSetAmmoQuantity(AMMOTYPE_CLOAK, 0);
chrSetStageFlag(NULL, STAGEFLAG_CI_DEVICE_ABORTING);
chrUnsetStageFlag(NULL, STAGEFLAG_CI_TRIGGER_DEVICE_FAILURE);
chrUnsetStageFlag(NULL, ciGetStageFlagByDeviceIndex(func0f1a1d68(var80088ad8)));
chrUnsetStageFlag(NULL, ciGetStageFlagByDeviceIndex(dtGetIndexBySlot(g_DtSlot)));
g_Vars.currentplayer->training = false;
chrUnsetStageFlag(NULL, STAGEFLAG_CI_IN_TRAINING);
func0f0bb69c();
@ -4829,7 +4829,7 @@ s32 dtGetNumAvailable(void)
return count;
}
s32 func0f1a1d68(s32 wantindex)
s32 dtGetIndexBySlot(s32 wantindex)
{
s32 index = -1;
s32 i;
@ -4898,7 +4898,7 @@ char *dtGetDescription(void)
/*9*/ L_MISC(278), // Cloak
};
return langGet(texts[func0f1a1d68(var80088ad8)]);
return langGet(texts[dtGetIndexBySlot(g_DtSlot)]);
}
char *dtGetTip1(void)
@ -4916,7 +4916,7 @@ char *dtGetTip1(void)
/*9*/ L_MISC(366),
};
return langGet(texts[func0f1a1d68(var80088ad8)]);
return langGet(texts[dtGetIndexBySlot(g_DtSlot)]);
}
char *dtGetTip2(void)
@ -4934,7 +4934,7 @@ char *dtGetTip2(void)
/*9*/ L_MISC(376),
};
return langGet(texts[func0f1a1d68(var80088ad8)]);
return langGet(texts[dtGetIndexBySlot(g_DtSlot)]);
}
struct trainingdata *getHoloTrainingData(void)

View File

@ -22,7 +22,7 @@ char *ciMenuTextBioName(struct menuitem *item);
char *ciMenuTextBioAge(struct menuitem *item);
char *ciMenuTextBioRace(struct menuitem *item);
u32 func0f1a6388(void);
u32 func0f1a64a0(void);
char *dtMenuTextName(struct menuitem *item);
char *dtMenuTextOkOrResume(struct menuitem *item);
char *dtMenuTextCancelOrAbort(struct menuitem *item);
char *dtMenuTextTimeTakenValue(struct menuitem *item);

View File

@ -8,6 +8,7 @@ extern s32 g_FrWeaponNum;
extern u8 var800888a0;
extern u8 var80088bb4;
extern u8 g_HangarBioSlot;
extern u8 g_DtSlot;
bool ciIsTourDone(void);
u8 ciGetFiringRangeScore(s32 weaponindex);
@ -89,7 +90,7 @@ void dtBegin(void);
void dtEnd(void);
bool dtIsAvailable(s32 deviceindex);
s32 dtGetNumAvailable(void);
s32 func0f1a1d68(s32 wantindex);
s32 dtGetIndexBySlot(s32 wantindex);
u32 dtGetWeaponByDeviceIndex(s32 deviceindex);
u32 ciGetStageFlagByDeviceIndex(u32 deviceindex);
char *dtGetDescription(void);