From e561533bfe627f29bc3fbd7fa3862e5fbbaf6de0 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 13 Aug 2020 19:34:25 +1000 Subject: [PATCH] Decompile bioMenuTextName --- src/game/data/data_02e820.c | 4 ++-- src/game/game_1a3340.c | 25 +++++++------------------ src/include/game/game_1a3340.h | 2 +- src/include/game/training.h | 1 + 4 files changed, 11 insertions(+), 21 deletions(-) diff --git a/src/game/data/data_02e820.c b/src/game/data/data_02e820.c index cbf6037b5..f51b0c61a 100644 --- a/src/game/data/data_02e820.c +++ b/src/game/data/data_02e820.c @@ -486,7 +486,7 @@ struct menudialog menudialog_holograph = { // 2f938 struct menudialog menudialog_2f938 = { MENUDIALOGTYPE_DEFAULT, - (u32)&func0f1a6c8c, + (u32)&bioMenuTextName, menuitems_2f858, NULL, 0x00000202, @@ -496,7 +496,7 @@ struct menudialog menudialog_2f938 = { // 2f950 struct menudialog menudialog_2f950 = { MENUDIALOGTYPE_DEFAULT, - (u32)&func0f1a6c8c, + (u32)&bioMenuTextName, menuitems_2f858, NULL, 0x00000202, diff --git a/src/game/game_1a3340.c b/src/game/game_1a3340.c index 3da4fadc7..fe804a3b1 100644 --- a/src/game/game_1a3340.c +++ b/src/game/game_1a3340.c @@ -3523,23 +3523,12 @@ bool menudialogFiringRangeResults(u32 operation, struct menudialog *dialog, stru return false; } -GLOBAL_ASM( -glabel func0f1a6c8c -/* f1a6c8c: 27bdffe8 */ addiu $sp,$sp,-24 -/* f1a6c90: afa40018 */ sw $a0,0x18($sp) -/* f1a6c94: afbf0014 */ sw $ra,0x14($sp) -/* f1a6c98: 3c048009 */ lui $a0,%hi(g_HangarBioSlot) -/* f1a6c9c: 0fc685db */ jal ciGetHangarBioIndexBySlot -/* f1a6ca0: 90848964 */ lbu $a0,%lo(g_HangarBioSlot)($a0) -/* f1a6ca4: 0fc6852d */ jal ciGetHangarBio -/* f1a6ca8: 00402025 */ or $a0,$v0,$zero -/* f1a6cac: 0fc5b9f1 */ jal langGet -/* f1a6cb0: 8c440000 */ lw $a0,0x0($v0) -/* f1a6cb4: 8fbf0014 */ lw $ra,0x14($sp) -/* f1a6cb8: 27bd0018 */ addiu $sp,$sp,0x18 -/* f1a6cbc: 03e00008 */ jr $ra -/* f1a6cc0: 00000000 */ nop -); +char *bioMenuTextName(struct menuitem *item) +{ + struct hangarbio *bio = ciGetHangarBio(ciGetHangarBioIndexBySlot(g_HangarBioSlot)); + + return langGet(bio->name); +} GLOBAL_ASM( glabel func0f1a6cc4 @@ -3894,7 +3883,7 @@ glabel menuhandler001a6ea4 /* f1a71a8: 0fc54d8a */ jal func0f153628 /* f1a71ac: 8fa400a4 */ lw $a0,0xa4($sp) /* f1a71b0: afa200a4 */ sw $v0,0xa4($sp) -/* f1a71b4: 0fc69b23 */ jal func0f1a6c8c +/* f1a71b4: 0fc69b23 */ jal bioMenuTextName /* f1a71b8: 00002025 */ or $a0,$zero,$zero /* f1a71bc: 3c0a8008 */ lui $t2,%hi(var8007fb14) /* f1a71c0: 8d4afb14 */ lw $t2,%lo(var8007fb14)($t2) diff --git a/src/include/game/game_1a3340.h b/src/include/game/game_1a3340.h index 58f44c0cf..a3d873969 100644 --- a/src/include/game/game_1a3340.h +++ b/src/include/game/game_1a3340.h @@ -30,7 +30,7 @@ char *htMenuTextName(struct menuitem *item); char *htMenuTextOkOrResume(struct menuitem *item); char *htMenuTextCancelOrAbort(struct menuitem *item); char *htMenuTextTimeTakenValue(struct menuitem *item); -u32 func0f1a6c8c(void); +char *bioMenuTextName(struct menuitem *item); u32 func0f1a6cc4(void); struct menudialog *ciGetFrWeaponListMenuDialog(void); void func0f1a7560(void *ptr, u16 fileid, u32 arg2, void *arg3, s32 arg4, bool arg5); diff --git a/src/include/game/training.h b/src/include/game/training.h index d399f24fb..80f5cdbbd 100644 --- a/src/include/game/training.h +++ b/src/include/game/training.h @@ -7,6 +7,7 @@ extern u8 g_FrIsValidWeapon; extern s32 g_FrWeaponNum; extern u8 var800888a0; extern u8 var80088bb4; +extern u8 g_HangarBioSlot; bool ciIsTourDone(void); u8 ciGetFiringRangeScore(s32 weaponindex);