diff --git a/src/game/game_0b0fd0.c b/src/game/game_0b0fd0.c index fd4fda9b3..c7c96b723 100644 --- a/src/game/game_0b0fd0.c +++ b/src/game/game_0b0fd0.c @@ -109,23 +109,16 @@ u32 weaponGetNumFunctions(u32 weaponnum) return 2; } -GLOBAL_ASM( -glabel func0f0b11bc -/* f0b11bc: 27bdffe8 */ addiu $sp,$sp,-24 -/* f0b11c0: afbf0014 */ sw $ra,0x14($sp) -/* f0b11c4: 0fc2c3f4 */ jal weaponFindById -/* f0b11c8: 90840000 */ lbu $a0,0x0($a0) -/* f0b11cc: 10400003 */ beqz $v0,.L0f0b11dc -/* f0b11d0: 8fbf0014 */ lw $ra,0x14($sp) -/* f0b11d4: 10000003 */ b .L0f0b11e4 -/* f0b11d8: 8c420024 */ lw $v0,0x24($v0) -.L0f0b11dc: -/* f0b11dc: 3c028007 */ lui $v0,%hi(inve_000110c0) -/* f0b11e0: 2442b0a0 */ addiu $v0,$v0,%lo(inve_000110c0) -.L0f0b11e4: -/* f0b11e4: 03e00008 */ jr $ra -/* f0b11e8: 27bd0018 */ addiu $sp,$sp,0x18 -); +struct inventory_typee *func0f0b11bc(struct hand *hand) +{ + struct weapon *weapon = weaponFindById(hand->weaponnum); + + if (weapon) { + return weapon->eptr; + } + + return &inve_000110c0; +} struct inventory_ammo *weaponGetAmmoByFunction(u32 weaponnum, u32 funcnum) { diff --git a/src/include/game/game_0b0fd0.h b/src/include/game/game_0b0fd0.h index 82d54023a..5a71beb1c 100644 --- a/src/include/game/game_0b0fd0.h +++ b/src/include/game/game_0b0fd0.h @@ -9,7 +9,7 @@ struct weaponfunc *handGetWeaponFunction2(struct hand *hand); struct weaponfunc *handGetWeaponFunction(struct hand *hand); struct weaponfunc *weaponGetFunction(u8 *arg0, s32 which); struct weaponfunc *currentPlayerGetWeaponFunction(u32 hand); -u32 func0f0b11bc(void); +struct inventory_typee *func0f0b11bc(struct hand *hand); struct inventory_ammo *weaponGetAmmoByFunction(u32 weaponnum, u32 funcnum); f32 handGetXOffset(u32 arg0); f32 func0f0b131c(u32 hand);