From bbb692bef018152ca1f87264bc2cdf696ec4cea4 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 12 Mar 2020 22:36:06 +1000 Subject: [PATCH] Decompile weaponGetName --- src/game/bondeyespy.c | 2 +- src/game/game_016100.c | 2 +- src/game/game_097ba0.c | 34 ++++++++++------------------------ src/game/game_102240.c | 2 +- src/game/game_1a3340.c | 8 ++++---- src/game/mplayer.c | 2 +- src/game/propobj.c | 2 +- src/include/game/game_097ba0.h | 2 +- 8 files changed, 20 insertions(+), 34 deletions(-) diff --git a/src/game/bondeyespy.c b/src/game/bondeyespy.c index ce5402a54..cc199f3fb 100644 --- a/src/game/bondeyespy.c +++ b/src/game/bondeyespy.c @@ -1607,7 +1607,7 @@ glabel var7f1ada9c /* f0d07bc: 0fc5b9f1 */ jal langGet /* f0d07c0: 240458da */ addiu $a0,$zero,0x58da /* f0d07c4: afa20060 */ sw $v0,0x60($sp) -/* f0d07c8: 0fc28857 */ jal func0f0a215c +/* f0d07c8: 0fc28857 */ jal weaponGetName /* f0d07cc: 2404002e */ addiu $a0,$zero,0x2e /* f0d07d0: 3c057f1b */ lui $a1,%hi(var7f1ada78) /* f0d07d4: 24a5da78 */ addiu $a1,$a1,%lo(var7f1ada78) diff --git a/src/game/game_016100.c b/src/game/game_016100.c index 222325350..14b2360b8 100644 --- a/src/game/game_016100.c +++ b/src/game/game_016100.c @@ -56,7 +56,7 @@ glabel func0f016100 /* f01613c: 10000001 */ beqz $zero,.L0f016144 /* f016140: 8fa40024 */ lw $a0,0x24($sp) .L0f016144: -/* f016144: 0fc28857 */ jal func0f0a215c +/* f016144: 0fc28857 */ jal weaponGetName /* f016148: 00000000 */ sll $zero,$zero,0x0 /* f01614c: afa2002c */ sw $v0,0x2c($sp) /* f016150: 0fc4a24b */ jal setCurrentPlayerNum diff --git a/src/game/game_097ba0.c b/src/game/game_097ba0.c index a3aa498c0..0ee7aac62 100644 --- a/src/game/game_097ba0.c +++ b/src/game/game_097ba0.c @@ -116,7 +116,6 @@ const char var7f1ac0b8[] = "Gun : After Cached Setup : Base 0x%08x Free %d\n"; const char var7f1ac0ec[] = "Gun : TotalUsed %d, Free %d\n"; const char var7f1ac10c[] = "BriGun: Set Master State: MASTER_GUN_LOADSTATE_LOADED\n"; const char var7f1ac144[] = "GunLockTimer: %d\n"; -const char var7f1ac158[] = "** error\n"; GLOBAL_ASM( glabel func0f097ba0 @@ -12714,29 +12713,16 @@ glabel func0f0a212c /* f0a2158: 8f020ce4 */ lw $v0,0xce4($t8) ); -GLOBAL_ASM( -glabel func0f0a215c -/* f0a215c: 00047080 */ sll $t6,$a0,0x2 -/* f0a2160: 3c028007 */ lui $v0,%hi(g_Weapons) -/* f0a2164: 004e1021 */ addu $v0,$v0,$t6 -/* f0a2168: 8c42ff18 */ lw $v0,%lo(g_Weapons)($v0) -/* f0a216c: 27bdffe8 */ addiu $sp,$sp,-24 -/* f0a2170: afbf0014 */ sw $ra,0x14($sp) -/* f0a2174: 10400005 */ beqz $v0,.L0f0a218c -/* f0a2178: 00000000 */ sll $zero,$zero,0x0 -/* f0a217c: 0fc5b9f1 */ jal langGet -/* f0a2180: 94440046 */ lhu $a0,0x46($v0) -/* f0a2184: 10000004 */ beqz $zero,.L0f0a2198 -/* f0a2188: 8fbf0014 */ lw $ra,0x14($sp) -.L0f0a218c: -/* f0a218c: 3c027f1b */ lui $v0,%hi(var7f1ac158) -/* f0a2190: 2442c158 */ addiu $v0,$v0,%lo(var7f1ac158) -/* f0a2194: 8fbf0014 */ lw $ra,0x14($sp) -.L0f0a2198: -/* f0a2198: 27bd0018 */ addiu $sp,$sp,0x18 -/* f0a219c: 03e00008 */ jr $ra -/* f0a21a0: 00000000 */ sll $zero,$zero,0x0 -); +char *weaponGetName(s32 weaponnum) +{ + struct weapon *weapon = g_Weapons[weaponnum]; + + if (weapon) { + return langGet(weapon->name); + } + + return "** error\n"; +} u16 weaponGetNameId(s32 weaponnum) { diff --git a/src/game/game_102240.c b/src/game/game_102240.c index c4677dce0..74e2b92f0 100644 --- a/src/game/game_102240.c +++ b/src/game/game_102240.c @@ -4035,7 +4035,7 @@ glabel var7f1b2e44 /* f106088: 3c018007 */ lui $at,0x8007 /* f10608c: 0fc6749a */ jal func0f19d268 /* f106090: a0243544 */ sb $a0,0x3544($at) -/* f106094: 0fc28857 */ jal func0f0a215c +/* f106094: 0fc28857 */ jal weaponGetName /* f106098: 00402025 */ or $a0,$v0,$zero /* f10609c: 10000033 */ beqz $zero,.L0f10616c /* f1060a0: 8fbf0014 */ lw $ra,0x14($sp) diff --git a/src/game/game_1a3340.c b/src/game/game_1a3340.c index 8b09c4299..6205fd7de 100644 --- a/src/game/game_1a3340.c +++ b/src/game/game_1a3340.c @@ -307,7 +307,7 @@ glabel var7f1b9940 /* f1a35e0: 0fc54d8a */ jal func0f153628 /* f1a35e4: afb80080 */ sw $t8,0x80($sp) /* f1a35e8: afa2009c */ sw $v0,0x9c($sp) -/* f1a35ec: 0fc28857 */ jal func0f0a215c +/* f1a35ec: 0fc28857 */ jal weaponGetName /* f1a35f0: 8fa40090 */ lw $a0,0x90($sp) /* f1a35f4: 0c002f02 */ jal func0000bc08 /* f1a35f8: afa20044 */ sw $v0,0x44($sp) @@ -1016,7 +1016,7 @@ glabel func0f1a3fc0 /* f1a3fcc: afa40018 */ sw $a0,0x18($sp) /* f1a3fd0: 0fc6749a */ jal func0f19d268 /* f1a3fd4: 00402025 */ or $a0,$v0,$zero -/* f1a3fd8: 0fc28857 */ jal func0f0a215c +/* f1a3fd8: 0fc28857 */ jal weaponGetName /* f1a3fdc: 00402025 */ or $a0,$v0,$zero /* f1a3fe0: 8fbf0014 */ lw $ra,0x14($sp) /* f1a3fe4: 27bd0018 */ addiu $sp,$sp,0x18 @@ -3527,7 +3527,7 @@ glabel var7f1b9994 /* f1a642c: 8cc40000 */ lw $a0,0x0($a2) /* f1a6430: 0fc68778 */ jal func0f1a1de0 /* f1a6434: 00402025 */ or $a0,$v0,$zero -/* f1a6438: 0fc28857 */ jal func0f0a215c +/* f1a6438: 0fc28857 */ jal weaponGetName /* f1a643c: 00402025 */ or $a0,$v0,$zero /* f1a6440: 10000014 */ beqz $zero,.L0f1a6494 /* f1a6444: 8fbf0014 */ lw $ra,0x14($sp) @@ -3568,7 +3568,7 @@ glabel func0f1a64a0 /* f1a64b4: 90848ad8 */ lbu $a0,%lo(var80088ad8)($a0) /* f1a64b8: 0fc68778 */ jal func0f1a1de0 /* f1a64bc: 00402025 */ or $a0,$v0,$zero -/* f1a64c0: 0fc28857 */ jal func0f0a215c +/* f1a64c0: 0fc28857 */ jal weaponGetName /* f1a64c4: 00402025 */ or $a0,$v0,$zero /* f1a64c8: 8fbf0014 */ lw $ra,0x14($sp) /* f1a64cc: 27bd0018 */ addiu $sp,$sp,0x18 diff --git a/src/game/mplayer.c b/src/game/mplayer.c index 36c45a595..c93a9f75f 100644 --- a/src/game/mplayer.c +++ b/src/game/mplayer.c @@ -1668,7 +1668,7 @@ glabel mpGetWeaponLabel /* f188cd0: 1000000c */ beqz $zero,.L0f188d04 /* f188cd4: 8fbf0024 */ lw $ra,0x24($sp) .L0f188cd8: -/* f188cd8: 0fc28857 */ jal func0f0a215c +/* f188cd8: 0fc28857 */ jal weaponGetName /* f188cdc: 00000000 */ sll $zero,$zero,0x0 /* f188ce0: 10000008 */ beqz $zero,.L0f188d04 /* f188ce4: 8fbf0024 */ lw $ra,0x24($sp) diff --git a/src/game/propobj.c b/src/game/propobj.c index 5cb235367..4c09c5cdc 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -39512,7 +39512,7 @@ glabel func0f08841c .L0f088664: /* f088664: 1160000b */ beqz $t3,.L0f088694 /* f088668: 00000000 */ sll $zero,$zero,0x0 -/* f08866c: 0fc28857 */ jal func0f0a215c +/* f08866c: 0fc28857 */ jal weaponGetName /* f088670: 8fa40024 */ lw $a0,0x24($sp) /* f088674: 8fa40020 */ lw $a0,0x20($sp) /* f088678: 0c004c89 */ jal strcat diff --git a/src/include/game/game_097ba0.h b/src/include/game/game_097ba0.h index 26612bd05..44f401d21 100644 --- a/src/include/game/game_097ba0.h +++ b/src/include/game/game_097ba0.h @@ -100,7 +100,7 @@ u32 func0f0a1df4(void); void currentPlayerEquipWeapon(u32 arg0, u32 arg1); u32 func0f0a20fc(void); u32 func0f0a212c(void); -u32 func0f0a215c(void); +char *weaponGetName(s32 weaponnum); u16 weaponGetNameId(s32 weaponnum); char *weaponGetShortName(s32 arg0); u32 func0f0a2218(void);