From 87bfa11a9863e8e6cd9c6e26f21c516dd83e60ac Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 20 Aug 2022 18:40:38 +1000 Subject: [PATCH] Decompile bgunTickIncReload --- src/game/bondgun.c | 2965 +++----------------------------------------- 1 file changed, 202 insertions(+), 2763 deletions(-) diff --git a/src/game/bondgun.c b/src/game/bondgun.c index b1946c66d..d4c1c3dd4 100644 --- a/src/game/bondgun.c +++ b/src/game/bondgun.c @@ -2531,7 +2531,7 @@ void bgunStartAnimation(struct guncmd *cmd, s32 handnum, struct hand *hand) hand->animload = cmd->unk02; hand->animmode = HANDANIMMODE_IDLE; hand->unk0cc8_01 = 0; - hand->unk0cc8_03 = 0; + hand->unk0cc8_03 = false; hand->unk0ce8 = cmd; hand->animloopcount = 0; hand->unk0cc8_02 = 0; @@ -3139,2769 +3139,208 @@ bool bgunIsReloading(struct hand *hand) return false; } -#if VERSION >= VERSION_JPN_FINAL -GLOBAL_ASM( -glabel bgunTickIncReload -.late_rodata -glabel var7f1ac1b8 -.word 0x3f5f5dd8 -.word 0x7f09b0d0 -.word 0x7f09b0d0 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b0d0 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b0d0 -.word 0x7f09b0d0 -.word 0x7f09b094 -.word 0x7f09b0d0 -.word 0x7f09b0d0 -.word 0x7f09b0d0 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b0d0 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b0d0 -.word 0x7f09b0d0 -.word 0x7f09b0d0 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b094 -.word 0x7f09b0d0 -.word 0x3f5f5dd8 -.text -/* f09ab30: 27bdffc8 */ addiu $sp,$sp,-56 -/* f09ab34: afbf002c */ sw $ra,0x2c($sp) -/* f09ab38: afb00028 */ sw $s0,0x28($sp) -/* f09ab3c: afa40038 */ sw $a0,0x38($sp) -/* f09ab40: 00c08025 */ move $s0,$a2 -/* f09ab44: afa5003c */ sw $a1,0x3c($sp) -/* f09ab48: afa70044 */ sw $a3,0x44($sp) -/* f09ab4c: 0fc2c83f */ jal gsetGetWeaponFunction -/* f09ab50: 00c02025 */ move $a0,$a2 -/* f09ab54: 3c0e800a */ lui $t6,0x800a -/* f09ab58: 8dcea8b4 */ lw $t6,-0x574c($t6) -/* f09ab5c: afa20030 */ sw $v0,0x30($sp) -/* f09ab60: 2418ffff */ li $t8,-1 -/* f09ab64: 8dcf00d8 */ lw $t7,0xd8($t6) -/* f09ab68: 00002825 */ move $a1,$zero -/* f09ab6c: 51e0000a */ beqzl $t7,.JF0f09ab98 -/* f09ab70: 8e190618 */ lw $t9,0x618($s0) -/* f09ab74: ae00068c */ sw $zero,0x68c($s0) -/* f09ab78: ae180680 */ sw $t8,0x680($s0) -/* f09ab7c: 0fc2770c */ jal bgunSetState -/* f09ab80: 8fa4003c */ lw $a0,0x3c($sp) -/* f09ab84: 50400004 */ beqzl $v0,.JF0f09ab98 -/* f09ab88: 8e190618 */ lw $t9,0x618($s0) -/* f09ab8c: 100001a1 */ b .JF0f09b214 -/* f09ab90: 8fa20044 */ lw $v0,0x44($sp) -/* f09ab94: 8e190618 */ lw $t9,0x618($s0) -.JF0f09ab98: -/* f09ab98: 8fa9003c */ lw $t1,0x3c($sp) -/* f09ab9c: 3c08800a */ lui $t0,0x800a -/* f09aba0: 17200018 */ bnez $t9,.JF0f09ac04 -/* f09aba4: 00095100 */ sll $t2,$t1,0x4 -/* f09aba8: 01495023 */ subu $t2,$t2,$t1 -/* f09abac: 000a5080 */ sll $t2,$t2,0x2 -/* f09abb0: 01495021 */ addu $t2,$t2,$t1 -/* f09abb4: 000a50c0 */ sll $t2,$t2,0x3 -/* f09abb8: 8d08a8b4 */ lw $t0,-0x574c($t0) -/* f09abbc: 01495021 */ addu $t2,$t2,$t1 -/* f09abc0: 000a5080 */ sll $t2,$t2,0x2 -/* f09abc4: 000a5823 */ negu $t3,$t2 -/* f09abc8: 240cffff */ li $t4,-1 -/* f09abcc: ae0c0670 */ sw $t4,0x670($s0) -/* f09abd0: ae000674 */ sw $zero,0x674($s0) -/* f09abd4: 010b1021 */ addu $v0,$t0,$t3 -/* f09abd8: 8c4d13e0 */ lw $t5,0x13e0($v0) -/* f09abdc: 24010001 */ li $at,0x1 -/* f09abe0: 24420ddc */ addiu $v0,$v0,0xddc -/* f09abe4: 55a10008 */ bnel $t5,$at,.JF0f09ac08 -/* f09abe8: 8e030608 */ lw $v1,0x608($s0) -/* f09abec: 8c4e0614 */ lw $t6,0x614($v0) -/* f09abf0: 240f0009 */ li $t7,0x9 -/* f09abf4: 29c10014 */ slti $at,$t6,0x14 -/* f09abf8: 50200003 */ beqzl $at,.JF0f09ac08 -/* f09abfc: 8e030608 */ lw $v1,0x608($s0) -/* f09ac00: ae0f0608 */ sw $t7,0x608($s0) -.JF0f09ac04: -/* f09ac04: 8e030608 */ lw $v1,0x608($s0) -.JF0f09ac08: -/* f09ac08: 8fb9003c */ lw $t9,0x3c($sp) -/* f09ac0c: 24010009 */ li $at,0x9 -/* f09ac10: 1461001a */ bne $v1,$at,.JF0f09ac7c -/* f09ac14: 00194900 */ sll $t1,$t9,0x4 -/* f09ac18: 01394823 */ subu $t1,$t1,$t9 -/* f09ac1c: 00094880 */ sll $t1,$t1,0x2 -/* f09ac20: 01394821 */ addu $t1,$t1,$t9 -/* f09ac24: 000948c0 */ sll $t1,$t1,0x3 -/* f09ac28: 3c18800a */ lui $t8,0x800a -/* f09ac2c: 8f18a8b4 */ lw $t8,-0x574c($t8) -/* f09ac30: 01394821 */ addu $t1,$t1,$t9 -/* f09ac34: 00094880 */ sll $t1,$t1,0x2 -/* f09ac38: 00095023 */ negu $t2,$t1 -/* f09ac3c: 030a1021 */ addu $v0,$t8,$t2 -/* f09ac40: 8c4813e0 */ lw $t0,0x13e0($v0) -/* f09ac44: 24010001 */ li $at,0x1 -/* f09ac48: 24420ddc */ addiu $v0,$v0,0xddc -/* f09ac4c: 15010007 */ bne $t0,$at,.JF0f09ac6c -/* f09ac50: 00001825 */ move $v1,$zero -/* f09ac54: 8c4b0614 */ lw $t3,0x614($v0) -/* f09ac58: 29610014 */ slti $at,$t3,0x14 -/* f09ac5c: 50200004 */ beqzl $at,.JF0f09ac70 -/* f09ac60: ae000614 */ sw $zero,0x614($s0) -/* f09ac64: 1000016b */ b .JF0f09b214 -/* f09ac68: 00001025 */ move $v0,$zero -.JF0f09ac6c: -/* f09ac6c: ae000614 */ sw $zero,0x614($s0) -.JF0f09ac70: -/* f09ac70: ae000618 */ sw $zero,0x618($s0) -/* f09ac74: ae000608 */ sw $zero,0x608($s0) -/* f09ac78: ae00061c */ sw $zero,0x61c($s0) -.JF0f09ac7c: -/* f09ac7c: 546000a1 */ bnezl $v1,.JF0f09af04 -/* f09ac80: 24010001 */ li $at,0x1 -/* f09ac84: 8e0c0618 */ lw $t4,0x618($s0) -/* f09ac88: 8fad0030 */ lw $t5,0x30($sp) -/* f09ac8c: 8faa0030 */ lw $t2,0x30($sp) -/* f09ac90: 5580003f */ bnezl $t4,.JF0f09ad90 -/* f09ac94: 8fb80038 */ lw $t8,0x38($sp) -/* f09ac98: 11a00034 */ beqz $t5,.JF0f09ad6c -/* f09ac9c: 8fa4003c */ lw $a0,0x3c($sp) -/* f09aca0: 81a20007 */ lb $v0,0x7($t5) -/* f09aca4: 24010001 */ li $at,0x1 -/* f09aca8: 8fae0038 */ lw $t6,0x38($sp) -/* f09acac: 50400004 */ beqzl $v0,.JF0f09acc0 -/* f09acb0: 8dcf0004 */ lw $t7,0x4($t6) -/* f09acb4: 1441002d */ bne $v0,$at,.JF0f09ad6c -/* f09acb8: 00000000 */ nop -/* f09acbc: 8dcf0004 */ lw $t7,0x4($t6) -.JF0f09acc0: -/* f09acc0: 0002c880 */ sll $t9,$v0,0x2 -/* f09acc4: 01f94821 */ addu $t1,$t7,$t9 -/* f09acc8: 8d38001c */ lw $t8,0x1c($t1) -/* f09accc: 24690001 */ addiu $t1,$v1,0x1 -/* f09acd0: 8f04000c */ lw $a0,0xc($t8) -/* f09acd4: 10800023 */ beqz $a0,.JF0f09ad64 -/* f09acd8: 00000000 */ nop -/* f09acdc: 8dca0000 */ lw $t2,0x0($t6) -/* f09ace0: 2401001a */ li $at,0x1a -/* f09ace4: 8fa5003c */ lw $a1,0x3c($sp) -/* f09ace8: 1141001e */ beq $t2,$at,.JF0f09ad64 -/* f09acec: 00000000 */ nop -/* f09acf0: 0fc265ee */ jal bgunStartAnimation -/* f09acf4: 02003025 */ move $a2,$s0 -/* f09acf8: 920b06d6 */ lbu $t3,0x6d6($s0) -/* f09acfc: 8fa30038 */ lw $v1,0x38($sp) -/* f09ad00: 356c0001 */ ori $t4,$t3,0x1 -/* f09ad04: a20c06d6 */ sb $t4,0x6d6($s0) -/* f09ad08: 8faf0030 */ lw $t7,0x30($sp) -/* f09ad0c: 8c6d0004 */ lw $t5,0x4($v1) -/* f09ad10: 81f90007 */ lb $t9,0x7($t7) -/* f09ad14: 00194880 */ sll $t1,$t9,0x2 -/* f09ad18: 01a9c021 */ addu $t8,$t5,$t1 -/* f09ad1c: 8f0e001c */ lw $t6,0x1c($t8) -/* f09ad20: 91ca0010 */ lbu $t2,0x10($t6) -/* f09ad24: 31480004 */ andi $t0,$t2,0x4 -/* f09ad28: 51000005 */ beqzl $t0,.JF0f09ad40 -/* f09ad2c: 8c620000 */ lw $v0,0x0($v1) -/* f09ad30: 920c0690 */ lbu $t4,0x690($s0) -/* f09ad34: 358f0020 */ ori $t7,$t4,0x20 -/* f09ad38: a20f0690 */ sb $t7,0x690($s0) -/* f09ad3c: 8c620000 */ lw $v0,0x0($v1) -.JF0f09ad40: -/* f09ad40: 2401001e */ li $at,0x1e -/* f09ad44: 10410003 */ beq $v0,$at,.JF0f09ad54 -/* f09ad48: 2401001f */ li $at,0x1f -/* f09ad4c: 1441000d */ bne $v0,$at,.JF0f09ad84 -/* f09ad50: 00000000 */ nop -.JF0f09ad54: -/* f09ad54: 921906d6 */ lbu $t9,0x6d6($s0) -/* f09ad58: 332dff0f */ andi $t5,$t9,0xff0f -/* f09ad5c: 10000009 */ b .JF0f09ad84 -/* f09ad60: a20d06d6 */ sb $t5,0x6d6($s0) -.JF0f09ad64: -/* f09ad64: 10000007 */ b .JF0f09ad84 -/* f09ad68: ae090608 */ sw $t1,0x608($s0) -.JF0f09ad6c: -/* f09ad6c: 0fc2770c */ jal bgunSetState -/* f09ad70: 00002825 */ move $a1,$zero -/* f09ad74: 10400003 */ beqz $v0,.JF0f09ad84 -/* f09ad78: 00000000 */ nop -/* f09ad7c: 10000125 */ b .JF0f09b214 -/* f09ad80: 8fa20044 */ lw $v0,0x44($sp) -.JF0f09ad84: -/* f09ad84: 1000005e */ b .JF0f09af00 -/* f09ad88: 8e030608 */ lw $v1,0x608($s0) -/* f09ad8c: 8fb80038 */ lw $t8,0x38($sp) -.JF0f09ad90: -/* f09ad90: 81480007 */ lb $t0,0x7($t2) -/* f09ad94: 02002025 */ move $a0,$s0 -/* f09ad98: 8f0e0004 */ lw $t6,0x4($t8) -/* f09ad9c: 00085880 */ sll $t3,$t0,0x2 -/* f09ada0: 01cb6021 */ addu $t4,$t6,$t3 -/* f09ada4: 8d8f001c */ lw $t7,0x1c($t4) -/* f09ada8: 91f90010 */ lbu $t9,0x10($t7) -/* f09adac: 332d0004 */ andi $t5,$t9,0x4 -/* f09adb0: 51a00037 */ beqzl $t5,.JF0f09ae90 -/* f09adb4: 8e19060c */ lw $t9,0x60c($s0) -/* f09adb8: 0fc26647 */ jal bgun0f098a44 -/* f09adbc: 24050001 */ li $a1,0x1 -/* f09adc0: 5040001f */ beqzl $v0,.JF0f09ae40 -/* f09adc4: ae00060c */ sw $zero,0x60c($s0) -/* f09adc8: 8e09060c */ lw $t1,0x60c($s0) -/* f09adcc: 8fa50038 */ lw $a1,0x38($sp) -/* f09add0: 02003025 */ move $a2,$s0 -/* f09add4: 31380010 */ andi $t8,$t1,0x10 -/* f09add8: 17000019 */ bnez $t8,.JF0f09ae40 -/* f09addc: 24070001 */ li $a3,0x1 -/* f09ade0: 92040003 */ lbu $a0,0x3($s0) -/* f09ade4: 0fc26733 */ jal bgun0f098df8 -/* f09ade8: afa00010 */ sw $zero,0x10($sp) -/* f09adec: 8e0a060c */ lw $t2,0x60c($s0) -/* f09adf0: 92040003 */ lbu $a0,0x3($s0) -/* f09adf4: 02003025 */ move $a2,$s0 -/* f09adf8: 35480010 */ ori $t0,$t2,0x10 -/* f09adfc: ae08060c */ sw $t0,0x60c($s0) -/* f09ae00: 0fc266dd */ jal bgun0f098ca0 -/* f09ae04: 8fa50038 */ lw $a1,0x38($sp) -/* f09ae08: 28410002 */ slti $at,$v0,0x2 -/* f09ae0c: 54200005 */ bnezl $at,.JF0f09ae24 -/* f09ae10: 2401ffff */ li $at,-1 -/* f09ae14: 920e0690 */ lbu $t6,0x690($s0) -/* f09ae18: 31cbffdf */ andi $t3,$t6,0xffdf -/* f09ae1c: a20b0690 */ sb $t3,0x690($s0) -/* f09ae20: 2401ffff */ li $at,-1 -.JF0f09ae24: -/* f09ae24: 54410007 */ bnel $v0,$at,.JF0f09ae44 -/* f09ae28: 8e19000c */ lw $t9,0xc($s0) -/* f09ae2c: 920c0690 */ lbu $t4,0x690($s0) -/* f09ae30: 318fffdf */ andi $t7,$t4,0xffdf -/* f09ae34: 10000002 */ b .JF0f09ae40 -/* f09ae38: a20f0690 */ sb $t7,0x690($s0) -/* f09ae3c: ae00060c */ sw $zero,0x60c($s0) -.JF0f09ae40: -/* f09ae40: 8e19000c */ lw $t9,0xc($s0) -.JF0f09ae44: -/* f09ae44: 3c02800a */ lui $v0,0x800a -/* f09ae48: 13200004 */ beqz $t9,.JF0f09ae5c -/* f09ae4c: 00000000 */ nop -/* f09ae50: 920d0690 */ lbu $t5,0x690($s0) -/* f09ae54: 31a9ffdf */ andi $t1,$t5,0xffdf -/* f09ae58: a2090690 */ sb $t1,0x690($s0) -.JF0f09ae5c: -/* f09ae5c: 8c42a8b4 */ lw $v0,-0x574c($v0) -/* f09ae60: 8c4a1c54 */ lw $t2,0x1c54($v0) -/* f09ae64: 8c5800c4 */ lw $t8,0xc4($v0) -/* f09ae68: 01404027 */ nor $t0,$t2,$zero -/* f09ae6c: 03087024 */ and $t6,$t8,$t0 -/* f09ae70: 31cb0004 */ andi $t3,$t6,0x4 -/* f09ae74: 51600017 */ beqzl $t3,.JF0f09aed4 -/* f09ae78: 8e18068c */ lw $t8,0x68c($s0) -/* f09ae7c: 920c0690 */ lbu $t4,0x690($s0) -/* f09ae80: 318fffdf */ andi $t7,$t4,0xffdf -/* f09ae84: 10000012 */ b .JF0f09aed0 -/* f09ae88: a20f0690 */ sb $t7,0x690($s0) -/* f09ae8c: 8e19060c */ lw $t9,0x60c($s0) -.JF0f09ae90: -/* f09ae90: 02002025 */ move $a0,$s0 -/* f09ae94: 332d0010 */ andi $t5,$t9,0x10 -/* f09ae98: 55a0000e */ bnezl $t5,.JF0f09aed4 -/* f09ae9c: 8e18068c */ lw $t8,0x68c($s0) -/* f09aea0: 0fc26647 */ jal bgun0f098a44 -/* f09aea4: 24050001 */ li $a1,0x1 -/* f09aea8: 10400009 */ beqz $v0,.JF0f09aed0 -/* f09aeac: 8fa50038 */ lw $a1,0x38($sp) -/* f09aeb0: 92040003 */ lbu $a0,0x3($s0) -/* f09aeb4: afa00010 */ sw $zero,0x10($sp) -/* f09aeb8: 02003025 */ move $a2,$s0 -/* f09aebc: 0fc26733 */ jal bgun0f098df8 -/* f09aec0: 00003825 */ move $a3,$zero -/* f09aec4: 8e09060c */ lw $t1,0x60c($s0) -/* f09aec8: 352a0010 */ ori $t2,$t1,0x10 -/* f09aecc: ae0a060c */ sw $t2,0x60c($s0) -.JF0f09aed0: -/* f09aed0: 8e18068c */ lw $t8,0x68c($s0) -.JF0f09aed4: -/* f09aed4: 24010002 */ li $at,0x2 -/* f09aed8: 8fa4003c */ lw $a0,0x3c($sp) -/* f09aedc: 53010008 */ beql $t8,$at,.JF0f09af00 -/* f09aee0: 8e030608 */ lw $v1,0x608($s0) -/* f09aee4: 0fc2770c */ jal bgunSetState -/* f09aee8: 00002825 */ move $a1,$zero -/* f09aeec: 50400004 */ beqzl $v0,.JF0f09af00 -/* f09aef0: 8e030608 */ lw $v1,0x608($s0) -/* f09aef4: 100000c7 */ b .JF0f09b214 -/* f09aef8: 8fa20044 */ lw $v0,0x44($sp) -/* f09aefc: 8e030608 */ lw $v1,0x608($s0) -.JF0f09af00: -/* f09af00: 24010001 */ li $at,0x1 -.JF0f09af04: -/* f09af04: 5461001f */ bnel $v1,$at,.JF0f09af84 -/* f09af08: 24010002 */ li $at,0x2 -/* f09af0c: 8e02001c */ lw $v0,0x1c($s0) -/* f09af10: 240e000b */ li $t6,0xb -/* f09af14: 246b0001 */ addiu $t3,$v1,0x1 -/* f09af18: 28410010 */ slti $at,$v0,0x10 -/* f09af1c: 10200004 */ beqz $at,.JF0f09af30 -/* f09af20: 240c0011 */ li $t4,0x11 -/* f09af24: 82080007 */ lb $t0,0x7($s0) -/* f09af28: 55000009 */ bnezl $t0,.JF0f09af50 -/* f09af2c: 44822000 */ mtc1 $v0,$f4 -.JF0f09af30: -/* f09af30: ae0e0020 */ sw $t6,0x20($s0) -/* f09af34: ae0b0608 */ sw $t3,0x608($s0) -/* f09af38: ae0c0038 */ sw $t4,0x38($s0) -/* f09af3c: ae00001c */ sw $zero,0x1c($s0) -/* f09af40: ae000018 */ sw $zero,0x18($s0) -/* f09af44: 1000000e */ b .JF0f09af80 -/* f09af48: 01601825 */ move $v1,$t3 -/* f09af4c: 44822000 */ mtc1 $v0,$f4 -.JF0f09af50: -/* f09af50: 3c017f1b */ lui $at,0x7f1b -/* f09af54: c428ce38 */ lwc1 $f8,-0x31c8($at) -/* f09af58: 468021a0 */ cvt.s.w $f6,$f4 -/* f09af5c: 3c014180 */ lui $at,0x4180 -/* f09af60: 44818000 */ mtc1 $at,$f16 -/* f09af64: 02002025 */ move $a0,$s0 -/* f09af68: 46083282 */ mul.s $f10,$f6,$f8 -/* f09af6c: 46105483 */ div.s $f18,$f10,$f16 -/* f09af70: 44059000 */ mfc1 $a1,$f18 -/* f09af74: 0fc2699c */ jal bgun0f099780 -/* f09af78: 00000000 */ nop -/* f09af7c: 8e030608 */ lw $v1,0x608($s0) -.JF0f09af80: -/* f09af80: 24010002 */ li $at,0x2 -.JF0f09af84: -/* f09af84: 54610069 */ bnel $v1,$at,.JF0f09b12c -/* f09af88: 24010003 */ li $at,0x3 -/* f09af8c: 8e0f0018 */ lw $t7,0x18($s0) -/* f09af90: 8fb90038 */ lw $t9,0x38($sp) -/* f09af94: 55e0004f */ bnezl $t7,.JF0f09b0d4 -/* f09af98: 8e0a001c */ lw $t2,0x1c($s0) -/* f09af9c: 8f2d0000 */ lw $t5,0x0($t9) -/* f09afa0: 2401001a */ li $at,0x1a -/* f09afa4: 8fa90030 */ lw $t1,0x30($sp) -/* f09afa8: 55a10012 */ bnel $t5,$at,.JF0f09aff4 -/* f09afac: 8e0d060c */ lw $t5,0x60c($s0) -/* f09afb0: 81220007 */ lb $v0,0x7($t1) -/* f09afb4: 0442000f */ bltzl $v0,.JF0f09aff4 -/* f09afb8: 8e0d060c */ lw $t5,0x60c($s0) -/* f09afbc: 8f2a0004 */ lw $t2,0x4($t9) -/* f09afc0: 0002c080 */ sll $t8,$v0,0x2 -/* f09afc4: 8fa5003c */ lw $a1,0x3c($sp) -/* f09afc8: 01584021 */ addu $t0,$t2,$t8 -/* f09afcc: 8d0e001c */ lw $t6,0x1c($t0) -/* f09afd0: 8dc4000c */ lw $a0,0xc($t6) -/* f09afd4: 50800007 */ beqzl $a0,.JF0f09aff4 -/* f09afd8: 8e0d060c */ lw $t5,0x60c($s0) -/* f09afdc: 0fc265ee */ jal bgunStartAnimation -/* f09afe0: 02003025 */ move $a2,$s0 -/* f09afe4: 920c0690 */ lbu $t4,0x690($s0) -/* f09afe8: 358f0040 */ ori $t7,$t4,0x40 -/* f09afec: a20f0690 */ sb $t7,0x690($s0) -/* f09aff0: 8e0d060c */ lw $t5,0x60c($s0) -.JF0f09aff4: -/* f09aff4: 8fa50038 */ lw $a1,0x38($sp) -/* f09aff8: 02003025 */ move $a2,$s0 -/* f09affc: 31a90010 */ andi $t1,$t5,0x10 -/* f09b000: 15200004 */ bnez $t1,.JF0f09b014 -/* f09b004: 00003825 */ move $a3,$zero -/* f09b008: 92040003 */ lbu $a0,0x3($s0) -/* f09b00c: 0fc26733 */ jal bgun0f098df8 -/* f09b010: afa00010 */ sw $zero,0x10($sp) -.JF0f09b014: -/* f09b014: 3c19800a */ lui $t9,0x800a -/* f09b018: 8f39a664 */ lw $t9,-0x599c($t9) -/* f09b01c: 3c0a800a */ lui $t2,0x800a -/* f09b020: 5b20002c */ blezl $t9,.JF0f09b0d4 -/* f09b024: 8e0a001c */ lw $t2,0x1c($s0) -/* f09b028: 8d4aa8b4 */ lw $t2,-0x574c($t2) -/* f09b02c: 24010001 */ li $at,0x1 -/* f09b030: 8d580000 */ lw $t8,0x0($t2) -/* f09b034: 53010027 */ beql $t8,$at,.JF0f09b0d4 -/* f09b038: 8e0a001c */ lw $t2,0x1c($s0) -/* f09b03c: 0fc27b28 */ jal bgun0f09dd7c -/* f09b040: 00000000 */ nop -/* f09b044: 10400022 */ beqz $v0,.JF0f09b0d0 -/* f09b048: 3c088007 */ lui $t0,0x8007 -/* f09b04c: 8d080cb0 */ lw $t0,0xcb0($t0) -/* f09b050: 3c0e800a */ lui $t6,0x800a -/* f09b054: 5500001f */ bnezl $t0,.JF0f09b0d4 -/* f09b058: 8e0a001c */ lw $t2,0x1c($s0) -/* f09b05c: 8dcea8b4 */ lw $t6,-0x574c($t6) -/* f09b060: 8fac0038 */ lw $t4,0x38($sp) -/* f09b064: 8dcb00d8 */ lw $t3,0xd8($t6) -/* f09b068: 5560001a */ bnezl $t3,.JF0f09b0d4 -/* f09b06c: 8e0a001c */ lw $t2,0x1c($s0) -/* f09b070: 8d8f0000 */ lw $t7,0x0($t4) -/* f09b074: 2de10058 */ sltiu $at,$t7,0x58 -/* f09b078: 10200006 */ beqz $at,.JF0f09b094 -/* f09b07c: 000f7880 */ sll $t7,$t7,0x2 -/* f09b080: 3c017f1b */ lui $at,0x7f1b -/* f09b084: 002f0821 */ addu $at,$at,$t7 -/* f09b088: 8c2fce3c */ lw $t7,-0x31c4($at) -/* f09b08c: 01e00008 */ jr $t7 -/* f09b090: 00000000 */ nop -.JF0f09b094: -/* f09b094: 3c01bf80 */ lui $at,0xbf80 -/* f09b098: 44812000 */ mtc1 $at,$f4 -/* f09b09c: 3c048009 */ lui $a0,0x8009 -/* f09b0a0: 240dffff */ li $t5,-1 -/* f09b0a4: 2409ffff */ li $t1,-1 -/* f09b0a8: 2419ffff */ li $t9,-1 -/* f09b0ac: afb9001c */ sw $t9,0x1c($sp) -/* f09b0b0: afa90018 */ sw $t1,0x18($sp) -/* f09b0b4: afad0010 */ sw $t5,0x10($sp) -/* f09b0b8: 8c845870 */ lw $a0,0x5870($a0) -/* f09b0bc: 2405804f */ li $a1,-32689 -/* f09b0c0: 00003025 */ move $a2,$zero -/* f09b0c4: 2407ffff */ li $a3,-1 -/* f09b0c8: 0c004230 */ jal sndStart -/* f09b0cc: e7a40014 */ swc1 $f4,0x14($sp) -.JF0f09b0d0: -/* f09b0d0: 8e0a001c */ lw $t2,0x1c($s0) -.JF0f09b0d4: -/* f09b0d4: 8e180038 */ lw $t8,0x38($s0) -/* f09b0d8: 02002025 */ move $a0,$s0 -/* f09b0dc: 3c053f5f */ lui $a1,0x3f5f -/* f09b0e0: 0158082a */ slt $at,$t2,$t8 -/* f09b0e4: 1420000d */ bnez $at,.JF0f09b11c -/* f09b0e8: 00000000 */ nop -/* f09b0ec: 8e080018 */ lw $t0,0x18($s0) -/* f09b0f0: 240e000c */ li $t6,0xc -/* f09b0f4: 29010002 */ slti $at,$t0,0x2 -/* f09b0f8: 14200008 */ bnez $at,.JF0f09b11c -/* f09b0fc: 00000000 */ nop -/* f09b100: 8e0b0608 */ lw $t3,0x608($s0) -/* f09b104: ae0e0020 */ sw $t6,0x20($s0) -/* f09b108: ae00001c */ sw $zero,0x1c($s0) -/* f09b10c: 25630001 */ addiu $v1,$t3,0x1 -/* f09b110: ae030608 */ sw $v1,0x608($s0) -/* f09b114: 10000004 */ b .JF0f09b128 -/* f09b118: ae000018 */ sw $zero,0x18($s0) -.JF0f09b11c: -/* f09b11c: 0fc2699c */ jal bgun0f099780 -/* f09b120: 34a55dd8 */ ori $a1,$a1,0x5dd8 -/* f09b124: 8e030608 */ lw $v1,0x608($s0) -.JF0f09b128: -/* f09b128: 24010003 */ li $at,0x3 -.JF0f09b12c: -/* f09b12c: 14610038 */ bne $v1,$at,.JF0f09b210 -/* f09b130: 8faf0038 */ lw $t7,0x38($sp) -/* f09b134: 8ded0000 */ lw $t5,0x0($t7) -/* f09b138: 2401001a */ li $at,0x1a -/* f09b13c: 3c19800a */ lui $t9,0x800a -/* f09b140: 55a10003 */ bnel $t5,$at,.JF0f09b150 -/* f09b144: 8e090018 */ lw $t1,0x18($s0) -/* f09b148: ae00068c */ sw $zero,0x68c($s0) -/* f09b14c: 8e090018 */ lw $t1,0x18($s0) -.JF0f09b150: -/* f09b150: 55200004 */ bnezl $t1,.JF0f09b164 -/* f09b154: 8e0a001c */ lw $t2,0x1c($s0) -/* f09b158: 8f39a8b4 */ lw $t9,-0x574c($t9) -/* f09b15c: af201600 */ sw $zero,0x1600($t9) -/* f09b160: 8e0a001c */ lw $t2,0x1c($s0) -.JF0f09b164: -/* f09b164: 8fb80038 */ lw $t8,0x38($sp) -/* f09b168: 29410017 */ slti $at,$t2,0x17 -/* f09b16c: 50200010 */ beqzl $at,.JF0f09b1b0 -/* f09b170: ae000020 */ sw $zero,0x20($s0) -/* f09b174: 0fc2cad4 */ jal weaponGetModelNum2 -/* f09b178: 8f040000 */ lw $a0,0x0($t8) -/* f09b17c: 1040000b */ beqz $v0,.JF0f09b1ac -/* f09b180: 8fa80038 */ lw $t0,0x38($sp) -/* f09b184: 8d040000 */ lw $a0,0x0($t0) -/* f09b188: 0fc2ca10 */ jal weaponHasFlag -/* f09b18c: 24050040 */ li $a1,0x40 -/* f09b190: 10400006 */ beqz $v0,.JF0f09b1ac -/* f09b194: 8fae0038 */ lw $t6,0x38($sp) -/* f09b198: 8dc40000 */ lw $a0,0x0($t6) -/* f09b19c: 0fc2ca10 */ jal weaponHasFlag -/* f09b1a0: 24050080 */ li $a1,0x80 -/* f09b1a4: 5040000c */ beqzl $v0,.JF0f09b1d8 -/* f09b1a8: 8e0b001c */ lw $t3,0x1c($s0) -.JF0f09b1ac: -/* f09b1ac: ae000020 */ sw $zero,0x20($s0) -.JF0f09b1b0: -/* f09b1b0: ae00001c */ sw $zero,0x1c($s0) -/* f09b1b4: ae000018 */ sw $zero,0x18($s0) -/* f09b1b8: 8fa4003c */ lw $a0,0x3c($sp) -/* f09b1bc: 0fc2770c */ jal bgunSetState -/* f09b1c0: 00002825 */ move $a1,$zero -/* f09b1c4: 50400013 */ beqzl $v0,.JF0f09b214 -/* f09b1c8: 00001025 */ move $v0,$zero -/* f09b1cc: 10000011 */ b .JF0f09b214 -/* f09b1d0: 8fa20044 */ lw $v0,0x44($sp) -/* f09b1d4: 8e0b001c */ lw $t3,0x1c($s0) -.JF0f09b1d8: -/* f09b1d8: 240c0017 */ li $t4,0x17 -/* f09b1dc: 3c017f1b */ lui $at,0x7f1b -/* f09b1e0: 018b7823 */ subu $t7,$t4,$t3 -/* f09b1e4: 448f3000 */ mtc1 $t7,$f6 -/* f09b1e8: c42acf9c */ lwc1 $f10,-0x3064($at) -/* f09b1ec: 3c0141b8 */ lui $at,0x41b8 -/* f09b1f0: 46803220 */ cvt.s.w $f8,$f6 -/* f09b1f4: 44819000 */ mtc1 $at,$f18 -/* f09b1f8: 02002025 */ move $a0,$s0 -/* f09b1fc: 460a4402 */ mul.s $f16,$f8,$f10 -/* f09b200: 46128103 */ div.s $f4,$f16,$f18 -/* f09b204: 44052000 */ mfc1 $a1,$f4 -/* f09b208: 0fc2699c */ jal bgun0f099780 -/* f09b20c: 00000000 */ nop -.JF0f09b210: -/* f09b210: 00001025 */ move $v0,$zero -.JF0f09b214: -/* f09b214: 8fbf002c */ lw $ra,0x2c($sp) -/* f09b218: 8fb00028 */ lw $s0,0x28($sp) -/* f09b21c: 27bd0038 */ addiu $sp,$sp,0x38 -/* f09b220: 03e00008 */ jr $ra -/* f09b224: 00000000 */ nop -); -#elif VERSION >= VERSION_PAL_BETA -GLOBAL_ASM( -glabel bgunTickIncReload -.late_rodata -glabel var7f1ac1b8 -.word 0x3f5f5dd8 -glabel var7f1ac1bc -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac1c0 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac1c4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1c8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1cc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1dc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1ec -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1fc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac200 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac204 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac208 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac20c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac210 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac214 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac218 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac21c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac220 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac224 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac228 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac22c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac230 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac234 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac238 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac23c -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac240 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac244 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac248 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac24c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac250 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac254 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac258 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac25c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac260 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac264 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac268 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac26c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac270 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac274 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac278 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac27c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac280 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac284 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac288 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac28c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac290 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac294 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac298 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac29c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2ac -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2b0 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2b4 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2b8 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2bc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2cc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2dc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2ec -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2fc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac300 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac304 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac308 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac30c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac310 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac314 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac318 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac31c -.word 0x3f5f5dd8 -.text -/* f099c48: 27bdffc8 */ addiu $sp,$sp,-56 -/* f099c4c: afbf002c */ sw $ra,0x2c($sp) -/* f099c50: afb00028 */ sw $s0,0x28($sp) -/* f099c54: afa40038 */ sw $a0,0x38($sp) -/* f099c58: 00c08025 */ or $s0,$a2,$zero -/* f099c5c: afa5003c */ sw $a1,0x3c($sp) -/* f099c60: afa70044 */ sw $a3,0x44($sp) -/* f099c64: 0fc2c41f */ jal gsetGetWeaponFunction -/* f099c68: 00c02025 */ or $a0,$a2,$zero -/* f099c6c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) -/* f099c70: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) -/* f099c74: afa20030 */ sw $v0,0x30($sp) -/* f099c78: 2418ffff */ addiu $t8,$zero,-1 -/* f099c7c: 8dcf00d8 */ lw $t7,0xd8($t6) -/* f099c80: 00002825 */ or $a1,$zero,$zero -/* f099c84: 51e0000a */ beqzl $t7,.L0f099cb0 -/* f099c88: 8e190618 */ lw $t9,0x618($s0) -/* f099c8c: ae00068c */ sw $zero,0x68c($s0) -/* f099c90: ae180680 */ sw $t8,0x680($s0) -/* f099c94: 0fc27346 */ jal bgunSetState -/* f099c98: 8fa4003c */ lw $a0,0x3c($sp) -/* f099c9c: 50400004 */ beqzl $v0,.L0f099cb0 -/* f099ca0: 8e190618 */ lw $t9,0x618($s0) -/* f099ca4: 10000195 */ b .L0f09a2fc -/* f099ca8: 8fa20044 */ lw $v0,0x44($sp) -/* f099cac: 8e190618 */ lw $t9,0x618($s0) -.L0f099cb0: -/* f099cb0: 8fa9003c */ lw $t1,0x3c($sp) -/* f099cb4: 3c08800a */ lui $t0,%hi(g_Vars+0x284) -/* f099cb8: 17200018 */ bnez $t9,.L0f099d1c -/* f099cbc: 00095100 */ sll $t2,$t1,0x4 -/* f099cc0: 01495023 */ subu $t2,$t2,$t1 -/* f099cc4: 000a5080 */ sll $t2,$t2,0x2 -/* f099cc8: 01495021 */ addu $t2,$t2,$t1 -/* f099ccc: 000a50c0 */ sll $t2,$t2,0x3 -/* f099cd0: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) -/* f099cd4: 01495021 */ addu $t2,$t2,$t1 -/* f099cd8: 000a5080 */ sll $t2,$t2,0x2 -/* f099cdc: 000a5823 */ negu $t3,$t2 -/* f099ce0: 240cffff */ addiu $t4,$zero,-1 -/* f099ce4: ae0c0670 */ sw $t4,0x670($s0) -/* f099ce8: ae000674 */ sw $zero,0x674($s0) -/* f099cec: 010b1021 */ addu $v0,$t0,$t3 -/* f099cf0: 8c4d13e0 */ lw $t5,0x13e0($v0) -/* f099cf4: 24010001 */ addiu $at,$zero,0x1 -/* f099cf8: 24420ddc */ addiu $v0,$v0,0xddc -/* f099cfc: 55a10008 */ bnel $t5,$at,.L0f099d20 -/* f099d00: 8e030608 */ lw $v1,0x608($s0) -/* f099d04: 8c4e0614 */ lw $t6,0x614($v0) -/* f099d08: 240f0009 */ addiu $t7,$zero,0x9 -/* f099d0c: 29c10014 */ slti $at,$t6,0x10 -/* f099d10: 50200003 */ beqzl $at,.L0f099d20 -/* f099d14: 8e030608 */ lw $v1,0x608($s0) -/* f099d18: ae0f0608 */ sw $t7,0x608($s0) -.L0f099d1c: -/* f099d1c: 8e030608 */ lw $v1,0x608($s0) -.L0f099d20: -/* f099d20: 8fb9003c */ lw $t9,0x3c($sp) -/* f099d24: 24010009 */ addiu $at,$zero,0x9 -/* f099d28: 1461001a */ bne $v1,$at,.L0f099d94 -/* f099d2c: 00194900 */ sll $t1,$t9,0x4 -/* f099d30: 01394823 */ subu $t1,$t1,$t9 -/* f099d34: 00094880 */ sll $t1,$t1,0x2 -/* f099d38: 01394821 */ addu $t1,$t1,$t9 -/* f099d3c: 000948c0 */ sll $t1,$t1,0x3 -/* f099d40: 3c18800a */ lui $t8,%hi(g_Vars+0x284) -/* f099d44: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) -/* f099d48: 01394821 */ addu $t1,$t1,$t9 -/* f099d4c: 00094880 */ sll $t1,$t1,0x2 -/* f099d50: 00095023 */ negu $t2,$t1 -/* f099d54: 030a1021 */ addu $v0,$t8,$t2 -/* f099d58: 8c4813e0 */ lw $t0,0x13e0($v0) -/* f099d5c: 24010001 */ addiu $at,$zero,0x1 -/* f099d60: 24420ddc */ addiu $v0,$v0,0xddc -/* f099d64: 15010007 */ bne $t0,$at,.L0f099d84 -/* f099d68: 00001825 */ or $v1,$zero,$zero -/* f099d6c: 8c4b0614 */ lw $t3,0x614($v0) -/* f099d70: 29610014 */ slti $at,$t3,0x10 -/* f099d74: 50200004 */ beqzl $at,.L0f099d88 -/* f099d78: ae000614 */ sw $zero,0x614($s0) -/* f099d7c: 1000015f */ b .L0f09a2fc -/* f099d80: 00001025 */ or $v0,$zero,$zero -.L0f099d84: -/* f099d84: ae000614 */ sw $zero,0x614($s0) -.L0f099d88: -/* f099d88: ae000618 */ sw $zero,0x618($s0) -/* f099d8c: ae000608 */ sw $zero,0x608($s0) -/* f099d90: ae00061c */ sw $zero,0x61c($s0) -.L0f099d94: -/* f099d94: 54600095 */ bnezl $v1,.L0f099fec -/* f099d98: 24010001 */ addiu $at,$zero,0x1 -/* f099d9c: 8e0c0618 */ lw $t4,0x618($s0) -/* f099da0: 8fad0030 */ lw $t5,0x30($sp) -/* f099da4: 8faa0030 */ lw $t2,0x30($sp) -/* f099da8: 5580003f */ bnezl $t4,.L0f099ea8 -/* f099dac: 8fb80038 */ lw $t8,0x38($sp) -/* f099db0: 11a00034 */ beqz $t5,.L0f099e84 -/* f099db4: 8fa4003c */ lw $a0,0x3c($sp) -/* f099db8: 81a20007 */ lb $v0,0x7($t5) -/* f099dbc: 24010001 */ addiu $at,$zero,0x1 -/* f099dc0: 8fae0038 */ lw $t6,0x38($sp) -/* f099dc4: 50400004 */ beqzl $v0,.L0f099dd8 -/* f099dc8: 8dcf0004 */ lw $t7,0x4($t6) -/* f099dcc: 1441002d */ bne $v0,$at,.L0f099e84 -/* f099dd0: 00000000 */ nop -/* f099dd4: 8dcf0004 */ lw $t7,0x4($t6) -.L0f099dd8: -/* f099dd8: 0002c880 */ sll $t9,$v0,0x2 -/* f099ddc: 01f94821 */ addu $t1,$t7,$t9 -/* f099de0: 8d38001c */ lw $t8,0x1c($t1) -/* f099de4: 24690001 */ addiu $t1,$v1,0x1 -/* f099de8: 8f04000c */ lw $a0,0xc($t8) -/* f099dec: 10800023 */ beqz $a0,.L0f099e7c -/* f099df0: 00000000 */ nop -/* f099df4: 8dca0000 */ lw $t2,0x0($t6) -/* f099df8: 2401001a */ addiu $at,$zero,0x1a -/* f099dfc: 8fa5003c */ lw $a1,0x3c($sp) -/* f099e00: 1141001e */ beq $t2,$at,.L0f099e7c -/* f099e04: 00000000 */ nop -/* f099e08: 0fc26238 */ jal bgunStartAnimation -/* f099e0c: 02003025 */ or $a2,$s0,$zero -/* f099e10: 920b06d6 */ lbu $t3,0x6d6($s0) -/* f099e14: 8fa30038 */ lw $v1,0x38($sp) -/* f099e18: 356c0001 */ ori $t4,$t3,0x1 -/* f099e1c: a20c06d6 */ sb $t4,0x6d6($s0) -/* f099e20: 8faf0030 */ lw $t7,0x30($sp) -/* f099e24: 8c6d0004 */ lw $t5,0x4($v1) -/* f099e28: 81f90007 */ lb $t9,0x7($t7) -/* f099e2c: 00194880 */ sll $t1,$t9,0x2 -/* f099e30: 01a9c021 */ addu $t8,$t5,$t1 -/* f099e34: 8f0e001c */ lw $t6,0x1c($t8) -/* f099e38: 91ca0010 */ lbu $t2,0x10($t6) -/* f099e3c: 31480004 */ andi $t0,$t2,0x4 -/* f099e40: 51000005 */ beqzl $t0,.L0f099e58 -/* f099e44: 8c620000 */ lw $v0,0x0($v1) -/* f099e48: 920c0690 */ lbu $t4,0x690($s0) -/* f099e4c: 358f0020 */ ori $t7,$t4,0x20 -/* f099e50: a20f0690 */ sb $t7,0x690($s0) -/* f099e54: 8c620000 */ lw $v0,0x0($v1) -.L0f099e58: -/* f099e58: 2401001e */ addiu $at,$zero,0x1e -/* f099e5c: 10410003 */ beq $v0,$at,.L0f099e6c -/* f099e60: 2401001f */ addiu $at,$zero,0x1f -/* f099e64: 1441000d */ bne $v0,$at,.L0f099e9c -/* f099e68: 00000000 */ nop -.L0f099e6c: -/* f099e6c: 921906d6 */ lbu $t9,0x6d6($s0) -/* f099e70: 332dff0f */ andi $t5,$t9,0xff0f -/* f099e74: 10000009 */ b .L0f099e9c -/* f099e78: a20d06d6 */ sb $t5,0x6d6($s0) -.L0f099e7c: -/* f099e7c: 10000007 */ b .L0f099e9c -/* f099e80: ae090608 */ sw $t1,0x608($s0) -.L0f099e84: -/* f099e84: 0fc27346 */ jal bgunSetState -/* f099e88: 00002825 */ or $a1,$zero,$zero -/* f099e8c: 10400003 */ beqz $v0,.L0f099e9c -/* f099e90: 00000000 */ nop -/* f099e94: 10000119 */ b .L0f09a2fc -/* f099e98: 8fa20044 */ lw $v0,0x44($sp) -.L0f099e9c: -/* f099e9c: 10000052 */ b .L0f099fe8 -/* f099ea0: 8e030608 */ lw $v1,0x608($s0) -/* f099ea4: 8fb80038 */ lw $t8,0x38($sp) -.L0f099ea8: -/* f099ea8: 81480007 */ lb $t0,0x7($t2) -/* f099eac: 02002025 */ or $a0,$s0,$zero -/* f099eb0: 8f0e0004 */ lw $t6,0x4($t8) -/* f099eb4: 00085880 */ sll $t3,$t0,0x2 -/* f099eb8: 01cb6021 */ addu $t4,$t6,$t3 -/* f099ebc: 8d8f001c */ lw $t7,0x1c($t4) -/* f099ec0: 91f90010 */ lbu $t9,0x10($t7) -/* f099ec4: 332d0004 */ andi $t5,$t9,0x4 -/* f099ec8: 51a0002b */ beqzl $t5,.L0f099f78 -/* f099ecc: 8e18060c */ lw $t8,0x60c($s0) -/* f099ed0: 0fc26291 */ jal bgun0f098a44 -/* f099ed4: 24050001 */ addiu $a1,$zero,0x1 -/* f099ed8: 5040001f */ beqzl $v0,.L0f099f58 -/* f099edc: ae00060c */ sw $zero,0x60c($s0) -/* f099ee0: 8e09060c */ lw $t1,0x60c($s0) -/* f099ee4: 8fa50038 */ lw $a1,0x38($sp) -/* f099ee8: 02003025 */ or $a2,$s0,$zero -/* f099eec: 31380010 */ andi $t8,$t1,0x10 -/* f099ef0: 17000019 */ bnez $t8,.L0f099f58 -/* f099ef4: 24070001 */ addiu $a3,$zero,0x1 -/* f099ef8: 92040003 */ lbu $a0,0x3($s0) -/* f099efc: 0fc2637e */ jal bgun0f098df8 -/* f099f00: afa00010 */ sw $zero,0x10($sp) -/* f099f04: 8e0a060c */ lw $t2,0x60c($s0) -/* f099f08: 92040003 */ lbu $a0,0x3($s0) -/* f099f0c: 02003025 */ or $a2,$s0,$zero -/* f099f10: 35480010 */ ori $t0,$t2,0x10 -/* f099f14: ae08060c */ sw $t0,0x60c($s0) -/* f099f18: 0fc26328 */ jal bgun0f098ca0 -/* f099f1c: 8fa50038 */ lw $a1,0x38($sp) -/* f099f20: 28410002 */ slti $at,$v0,0x2 -/* f099f24: 54200005 */ bnezl $at,.L0f099f3c -/* f099f28: 2401ffff */ addiu $at,$zero,-1 -/* f099f2c: 920e0690 */ lbu $t6,0x690($s0) -/* f099f30: 31cbffdf */ andi $t3,$t6,0xffdf -/* f099f34: a20b0690 */ sb $t3,0x690($s0) -/* f099f38: 2401ffff */ addiu $at,$zero,-1 -.L0f099f3c: -/* f099f3c: 54410007 */ bnel $v0,$at,.L0f099f5c -/* f099f40: 8e19000c */ lw $t9,0xc($s0) -/* f099f44: 920c0690 */ lbu $t4,0x690($s0) -/* f099f48: 318fffdf */ andi $t7,$t4,0xffdf -/* f099f4c: 10000002 */ b .L0f099f58 -/* f099f50: a20f0690 */ sb $t7,0x690($s0) -/* f099f54: ae00060c */ sw $zero,0x60c($s0) -.L0f099f58: -/* f099f58: 8e19000c */ lw $t9,0xc($s0) -.L0f099f5c: -/* f099f5c: 53200017 */ beqzl $t9,.L0f099fbc -/* f099f60: 8e0b068c */ lw $t3,0x68c($s0) -/* f099f64: 920d0690 */ lbu $t5,0x690($s0) -/* f099f68: 31a9ffdf */ andi $t1,$t5,0xffdf -/* f099f6c: 10000012 */ b .L0f099fb8 -/* f099f70: a2090690 */ sb $t1,0x690($s0) -/* f099f74: 8e18060c */ lw $t8,0x60c($s0) -.L0f099f78: -/* f099f78: 02002025 */ or $a0,$s0,$zero -/* f099f7c: 330a0010 */ andi $t2,$t8,0x10 -/* f099f80: 5540000e */ bnezl $t2,.L0f099fbc -/* f099f84: 8e0b068c */ lw $t3,0x68c($s0) -/* f099f88: 0fc26291 */ jal bgun0f098a44 -/* f099f8c: 24050001 */ addiu $a1,$zero,0x1 -/* f099f90: 10400009 */ beqz $v0,.L0f099fb8 -/* f099f94: 8fa50038 */ lw $a1,0x38($sp) -/* f099f98: 92040003 */ lbu $a0,0x3($s0) -/* f099f9c: afa00010 */ sw $zero,0x10($sp) -/* f099fa0: 02003025 */ or $a2,$s0,$zero -/* f099fa4: 0fc2637e */ jal bgun0f098df8 -/* f099fa8: 00003825 */ or $a3,$zero,$zero -/* f099fac: 8e08060c */ lw $t0,0x60c($s0) -/* f099fb0: 350e0010 */ ori $t6,$t0,0x10 -/* f099fb4: ae0e060c */ sw $t6,0x60c($s0) -.L0f099fb8: -/* f099fb8: 8e0b068c */ lw $t3,0x68c($s0) -.L0f099fbc: -/* f099fbc: 24010002 */ addiu $at,$zero,0x2 -/* f099fc0: 8fa4003c */ lw $a0,0x3c($sp) -/* f099fc4: 51610008 */ beql $t3,$at,.L0f099fe8 -/* f099fc8: 8e030608 */ lw $v1,0x608($s0) -/* f099fcc: 0fc27346 */ jal bgunSetState -/* f099fd0: 00002825 */ or $a1,$zero,$zero -/* f099fd4: 50400004 */ beqzl $v0,.L0f099fe8 -/* f099fd8: 8e030608 */ lw $v1,0x608($s0) -/* f099fdc: 100000c7 */ b .L0f09a2fc -/* f099fe0: 8fa20044 */ lw $v0,0x44($sp) -/* f099fe4: 8e030608 */ lw $v1,0x608($s0) -.L0f099fe8: -/* f099fe8: 24010001 */ addiu $at,$zero,0x1 -.L0f099fec: -/* f099fec: 5461001f */ bnel $v1,$at,.L0f09a06c -/* f099ff0: 24010002 */ addiu $at,$zero,0x2 -/* f099ff4: 8e02001c */ lw $v0,0x1c($s0) -/* f099ff8: 240f000b */ addiu $t7,$zero,0xb -/* f099ffc: 24790001 */ addiu $t9,$v1,0x1 -/* f09a000: 28410010 */ slti $at,$v0,0xd -/* f09a004: 10200004 */ beqz $at,.L0f09a018 -/* f09a008: 240d0011 */ addiu $t5,$zero,0xe -/* f09a00c: 820c0007 */ lb $t4,0x7($s0) -/* f09a010: 55800009 */ bnezl $t4,.L0f09a038 -/* f09a014: 44822000 */ mtc1 $v0,$f4 -.L0f09a018: -/* f09a018: ae0f0020 */ sw $t7,0x20($s0) -/* f09a01c: ae190608 */ sw $t9,0x608($s0) -/* f09a020: ae0d0038 */ sw $t5,0x38($s0) -/* f09a024: ae00001c */ sw $zero,0x1c($s0) -/* f09a028: ae000018 */ sw $zero,0x18($s0) -/* f09a02c: 1000000e */ b .L0f09a068 -/* f09a030: 03201825 */ or $v1,$t9,$zero -/* f09a034: 44822000 */ mtc1 $v0,$f4 -.L0f09a038: -/* f09a038: 3c017f1b */ lui $at,%hi(var7f1ac1b8) -/* f09a03c: c428c1b8 */ lwc1 $f8,%lo(var7f1ac1b8)($at) -/* f09a040: 468021a0 */ cvt.s.w $f6,$f4 -/* f09a044: 3c014180 */ lui $at,0x4150 -/* f09a048: 44818000 */ mtc1 $at,$f16 -/* f09a04c: 02002025 */ or $a0,$s0,$zero -/* f09a050: 46083282 */ mul.s $f10,$f6,$f8 -/* f09a054: 46105483 */ div.s $f18,$f10,$f16 -/* f09a058: 44059000 */ mfc1 $a1,$f18 -/* f09a05c: 0fc265e0 */ jal bgun0f099780 -/* f09a060: 00000000 */ nop -/* f09a064: 8e030608 */ lw $v1,0x608($s0) -.L0f09a068: -/* f09a068: 24010002 */ addiu $at,$zero,0x2 -.L0f09a06c: -/* f09a06c: 54610069 */ bnel $v1,$at,.L0f09a214 -/* f09a070: 24010003 */ addiu $at,$zero,0x3 -/* f09a074: 8e090018 */ lw $t1,0x18($s0) -/* f09a078: 8fb80038 */ lw $t8,0x38($sp) -/* f09a07c: 5520004f */ bnezl $t1,.L0f09a1bc -/* f09a080: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a084: 8f0a0000 */ lw $t2,0x0($t8) -/* f09a088: 2401001a */ addiu $at,$zero,0x1a -/* f09a08c: 8fa80030 */ lw $t0,0x30($sp) -/* f09a090: 55410012 */ bnel $t2,$at,.L0f09a0dc -/* f09a094: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a098: 81020007 */ lb $v0,0x7($t0) -/* f09a09c: 0442000f */ bltzl $v0,.L0f09a0dc -/* f09a0a0: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a0a4: 8f0e0004 */ lw $t6,0x4($t8) -/* f09a0a8: 00025880 */ sll $t3,$v0,0x2 -/* f09a0ac: 8fa5003c */ lw $a1,0x3c($sp) -/* f09a0b0: 01cb6021 */ addu $t4,$t6,$t3 -/* f09a0b4: 8d8f001c */ lw $t7,0x1c($t4) -/* f09a0b8: 8de4000c */ lw $a0,0xc($t7) -/* f09a0bc: 50800007 */ beqzl $a0,.L0f09a0dc -/* f09a0c0: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a0c4: 0fc26238 */ jal bgunStartAnimation -/* f09a0c8: 02003025 */ or $a2,$s0,$zero -/* f09a0cc: 920d0690 */ lbu $t5,0x690($s0) -/* f09a0d0: 35a90040 */ ori $t1,$t5,0x40 -/* f09a0d4: a2090690 */ sb $t1,0x690($s0) -/* f09a0d8: 8e0a060c */ lw $t2,0x60c($s0) -.L0f09a0dc: -/* f09a0dc: 8fa50038 */ lw $a1,0x38($sp) -/* f09a0e0: 02003025 */ or $a2,$s0,$zero -/* f09a0e4: 31480010 */ andi $t0,$t2,0x10 -/* f09a0e8: 15000004 */ bnez $t0,.L0f09a0fc -/* f09a0ec: 00003825 */ or $a3,$zero,$zero -/* f09a0f0: 92040003 */ lbu $a0,0x3($s0) -/* f09a0f4: 0fc2637e */ jal bgun0f098df8 -/* f09a0f8: afa00010 */ sw $zero,0x10($sp) -.L0f09a0fc: -/* f09a0fc: 3c18800a */ lui $t8,%hi(g_Vars+0x34) -/* f09a100: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) -/* f09a104: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) -/* f09a108: 5b00002c */ blezl $t8,.L0f09a1bc -/* f09a10c: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a110: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) -/* f09a114: 24010001 */ addiu $at,$zero,0x1 -/* f09a118: 8dcb0000 */ lw $t3,0x0($t6) -/* f09a11c: 51610027 */ beql $t3,$at,.L0f09a1bc -/* f09a120: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a124: 0fc2775f */ jal bgun0f09dd7c -/* f09a128: 00000000 */ nop -/* f09a12c: 10400022 */ beqz $v0,.L0f09a1b8 -/* f09a130: 3c0c8007 */ lui $t4,%hi(g_PlayerInvincible) -/* f09a134: 8d8c0760 */ lw $t4,%lo(g_PlayerInvincible)($t4) -/* f09a138: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) -/* f09a13c: 5580001f */ bnezl $t4,.L0f09a1bc -/* f09a140: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a144: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) -/* f09a148: 8fad0038 */ lw $t5,0x38($sp) -/* f09a14c: 8df900d8 */ lw $t9,0xd8($t7) -/* f09a150: 5720001a */ bnezl $t9,.L0f09a1bc -/* f09a154: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a158: 8da90000 */ lw $t1,0x0($t5) -/* f09a15c: 2d210058 */ sltiu $at,$t1,0x58 -/* f09a160: 10200006 */ beqz $at,.L0f09a17c -/* f09a164: 00094880 */ sll $t1,$t1,0x2 -/* f09a168: 3c017f1b */ lui $at,%hi(var7f1ac1bc) -/* f09a16c: 00290821 */ addu $at,$at,$t1 -/* f09a170: 8c29c1bc */ lw $t1,%lo(var7f1ac1bc)($at) -/* f09a174: 01200008 */ jr $t1 -/* f09a178: 00000000 */ nop -.L0f09a17c: -/* f09a17c: 3c01bf80 */ lui $at,0xbf80 -/* f09a180: 44812000 */ mtc1 $at,$f4 -/* f09a184: 3c048009 */ lui $a0,%hi(var80095200) -/* f09a188: 240affff */ addiu $t2,$zero,-1 -/* f09a18c: 2408ffff */ addiu $t0,$zero,-1 -/* f09a190: 2418ffff */ addiu $t8,$zero,-1 -/* f09a194: afb8001c */ sw $t8,0x1c($sp) -/* f09a198: afa80018 */ sw $t0,0x18($sp) -/* f09a19c: afaa0010 */ sw $t2,0x10($sp) -/* f09a1a0: 8c845200 */ lw $a0,%lo(var80095200)($a0) -/* f09a1a4: 2405804f */ addiu $a1,$zero,-32689 -/* f09a1a8: 00003025 */ or $a2,$zero,$zero -/* f09a1ac: 2407ffff */ addiu $a3,$zero,-1 -/* f09a1b0: 0c004241 */ jal sndStart -/* f09a1b4: e7a40014 */ swc1 $f4,0x14($sp) -.L0f09a1b8: -/* f09a1b8: 8e0e001c */ lw $t6,0x1c($s0) -.L0f09a1bc: -/* f09a1bc: 8e0b0038 */ lw $t3,0x38($s0) -/* f09a1c0: 02002025 */ or $a0,$s0,$zero -/* f09a1c4: 3c053f5f */ lui $a1,0x3f5f -/* f09a1c8: 01cb082a */ slt $at,$t6,$t3 -/* f09a1cc: 1420000d */ bnez $at,.L0f09a204 -/* f09a1d0: 00000000 */ nop -/* f09a1d4: 8e0c0018 */ lw $t4,0x18($s0) -/* f09a1d8: 240f000c */ addiu $t7,$zero,0xc -/* f09a1dc: 29810002 */ slti $at,$t4,0x2 -/* f09a1e0: 14200008 */ bnez $at,.L0f09a204 -/* f09a1e4: 00000000 */ nop -/* f09a1e8: 8e190608 */ lw $t9,0x608($s0) -/* f09a1ec: ae0f0020 */ sw $t7,0x20($s0) -/* f09a1f0: ae00001c */ sw $zero,0x1c($s0) -/* f09a1f4: 27230001 */ addiu $v1,$t9,0x1 -/* f09a1f8: ae030608 */ sw $v1,0x608($s0) -/* f09a1fc: 10000004 */ b .L0f09a210 -/* f09a200: ae000018 */ sw $zero,0x18($s0) -.L0f09a204: -/* f09a204: 0fc265e0 */ jal bgun0f099780 -/* f09a208: 34a55dd8 */ ori $a1,$a1,0x5dd8 -/* f09a20c: 8e030608 */ lw $v1,0x608($s0) -.L0f09a210: -/* f09a210: 24010003 */ addiu $at,$zero,0x3 -.L0f09a214: -/* f09a214: 14610038 */ bne $v1,$at,.L0f09a2f8 -/* f09a218: 8fa90038 */ lw $t1,0x38($sp) -/* f09a21c: 8d2a0000 */ lw $t2,0x0($t1) -/* f09a220: 2401001a */ addiu $at,$zero,0x1a -/* f09a224: 3c18800a */ lui $t8,%hi(g_Vars+0x284) -/* f09a228: 55410003 */ bnel $t2,$at,.L0f09a238 -/* f09a22c: 8e080018 */ lw $t0,0x18($s0) -/* f09a230: ae00068c */ sw $zero,0x68c($s0) -/* f09a234: 8e080018 */ lw $t0,0x18($s0) -.L0f09a238: -/* f09a238: 55000004 */ bnezl $t0,.L0f09a24c -/* f09a23c: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a240: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) -/* f09a244: af001600 */ sw $zero,0x1600($t8) -/* f09a248: 8e0e001c */ lw $t6,0x1c($s0) -.L0f09a24c: -/* f09a24c: 8fab0038 */ lw $t3,0x38($sp) -/* f09a250: 29c10017 */ slti $at,$t6,0x13 -/* f09a254: 50200010 */ beqzl $at,.L0f09a298 -/* f09a258: ae000020 */ sw $zero,0x20($s0) -/* f09a25c: 0fc2c6b4 */ jal weaponGetModelNum2 -/* f09a260: 8d640000 */ lw $a0,0x0($t3) -/* f09a264: 1040000b */ beqz $v0,.L0f09a294 -/* f09a268: 8fac0038 */ lw $t4,0x38($sp) -/* f09a26c: 8d840000 */ lw $a0,0x0($t4) -/* f09a270: 0fc2c5f0 */ jal weaponHasFlag -/* f09a274: 24050040 */ addiu $a1,$zero,0x40 -/* f09a278: 10400006 */ beqz $v0,.L0f09a294 -/* f09a27c: 8faf0038 */ lw $t7,0x38($sp) -/* f09a280: 8de40000 */ lw $a0,0x0($t7) -/* f09a284: 0fc2c5f0 */ jal weaponHasFlag -/* f09a288: 24050080 */ addiu $a1,$zero,0x80 -/* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 -/* f09a290: 8e19001c */ lw $t9,0x1c($s0) -.L0f09a294: -/* f09a294: ae000020 */ sw $zero,0x20($s0) -.L0f09a298: -/* f09a298: ae00001c */ sw $zero,0x1c($s0) -/* f09a29c: ae000018 */ sw $zero,0x18($s0) -/* f09a2a0: 8fa4003c */ lw $a0,0x3c($sp) -/* f09a2a4: 0fc27346 */ jal bgunSetState -/* f09a2a8: 00002825 */ or $a1,$zero,$zero -/* f09a2ac: 50400013 */ beqzl $v0,.L0f09a2fc -/* f09a2b0: 00001025 */ or $v0,$zero,$zero -/* f09a2b4: 10000011 */ b .L0f09a2fc -/* f09a2b8: 8fa20044 */ lw $v0,0x44($sp) -/* f09a2bc: 8e19001c */ lw $t9,0x1c($s0) -.L0f09a2c0: -/* f09a2c0: 240d0017 */ addiu $t5,$zero,0x13 -/* f09a2c4: 3c017f1b */ lui $at,%hi(var7f1ac31c) -/* f09a2c8: 01b94823 */ subu $t1,$t5,$t9 -/* f09a2cc: 44893000 */ mtc1 $t1,$f6 -/* f09a2d0: c42ac31c */ lwc1 $f10,%lo(var7f1ac31c)($at) -/* f09a2d4: 3c0141b8 */ lui $at,0x4198 -/* f09a2d8: 46803220 */ cvt.s.w $f8,$f6 -/* f09a2dc: 44819000 */ mtc1 $at,$f18 -/* f09a2e0: 02002025 */ or $a0,$s0,$zero -/* f09a2e4: 460a4402 */ mul.s $f16,$f8,$f10 -/* f09a2e8: 46128103 */ div.s $f4,$f16,$f18 -/* f09a2ec: 44052000 */ mfc1 $a1,$f4 -/* f09a2f0: 0fc265e0 */ jal bgun0f099780 -/* f09a2f4: 00000000 */ nop -.L0f09a2f8: -/* f09a2f8: 00001025 */ or $v0,$zero,$zero -.L0f09a2fc: -/* f09a2fc: 8fbf002c */ lw $ra,0x2c($sp) -/* f09a300: 8fb00028 */ lw $s0,0x28($sp) -/* f09a304: 27bd0038 */ addiu $sp,$sp,0x38 -/* f09a308: 03e00008 */ jr $ra -/* f09a30c: 00000000 */ nop -); -#elif VERSION >= VERSION_NTSC_1_0 -GLOBAL_ASM( -glabel bgunTickIncReload -.late_rodata -glabel var7f1ac1b8 -.word 0x3f5f5dd8 -glabel var7f1ac1bc -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac1c0 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac1c4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1c8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1cc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1dc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1ec -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1fc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac200 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac204 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac208 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac20c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac210 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac214 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac218 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac21c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac220 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac224 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac228 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac22c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac230 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac234 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac238 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac23c -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac240 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac244 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac248 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac24c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac250 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac254 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac258 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac25c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac260 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac264 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac268 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac26c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac270 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac274 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac278 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac27c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac280 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac284 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac288 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac28c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac290 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac294 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac298 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac29c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2ac -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2b0 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2b4 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2b8 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2bc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2cc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2dc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2ec -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2fc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac300 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac304 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac308 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac30c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac310 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac314 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac318 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac31c -.word 0x3f5f5dd8 -.text -/* f099c48: 27bdffc8 */ addiu $sp,$sp,-56 -/* f099c4c: afbf002c */ sw $ra,0x2c($sp) -/* f099c50: afb00028 */ sw $s0,0x28($sp) -/* f099c54: afa40038 */ sw $a0,0x38($sp) -/* f099c58: 00c08025 */ or $s0,$a2,$zero -/* f099c5c: afa5003c */ sw $a1,0x3c($sp) -/* f099c60: afa70044 */ sw $a3,0x44($sp) -/* f099c64: 0fc2c41f */ jal gsetGetWeaponFunction -/* f099c68: 00c02025 */ or $a0,$a2,$zero -/* f099c6c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) -/* f099c70: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) -/* f099c74: afa20030 */ sw $v0,0x30($sp) -/* f099c78: 2418ffff */ addiu $t8,$zero,-1 -/* f099c7c: 8dcf00d8 */ lw $t7,0xd8($t6) -/* f099c80: 00002825 */ or $a1,$zero,$zero -/* f099c84: 51e0000a */ beqzl $t7,.L0f099cb0 -/* f099c88: 8e190618 */ lw $t9,0x618($s0) -/* f099c8c: ae00068c */ sw $zero,0x68c($s0) -/* f099c90: ae180680 */ sw $t8,0x680($s0) -/* f099c94: 0fc27346 */ jal bgunSetState -/* f099c98: 8fa4003c */ lw $a0,0x3c($sp) -/* f099c9c: 50400004 */ beqzl $v0,.L0f099cb0 -/* f099ca0: 8e190618 */ lw $t9,0x618($s0) -/* f099ca4: 10000195 */ b .L0f09a2fc -/* f099ca8: 8fa20044 */ lw $v0,0x44($sp) -/* f099cac: 8e190618 */ lw $t9,0x618($s0) -.L0f099cb0: -/* f099cb0: 8fa9003c */ lw $t1,0x3c($sp) -/* f099cb4: 3c08800a */ lui $t0,%hi(g_Vars+0x284) -/* f099cb8: 17200018 */ bnez $t9,.L0f099d1c -/* f099cbc: 00095100 */ sll $t2,$t1,0x4 -/* f099cc0: 01495023 */ subu $t2,$t2,$t1 -/* f099cc4: 000a5080 */ sll $t2,$t2,0x2 -/* f099cc8: 01495021 */ addu $t2,$t2,$t1 -/* f099ccc: 000a50c0 */ sll $t2,$t2,0x3 -/* f099cd0: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) -/* f099cd4: 01495021 */ addu $t2,$t2,$t1 -/* f099cd8: 000a5080 */ sll $t2,$t2,0x2 -/* f099cdc: 000a5823 */ negu $t3,$t2 -/* f099ce0: 240cffff */ addiu $t4,$zero,-1 -/* f099ce4: ae0c0670 */ sw $t4,0x670($s0) -/* f099ce8: ae000674 */ sw $zero,0x674($s0) -/* f099cec: 010b1021 */ addu $v0,$t0,$t3 -/* f099cf0: 8c4d13e0 */ lw $t5,0x13e0($v0) -/* f099cf4: 24010001 */ addiu $at,$zero,0x1 -/* f099cf8: 24420ddc */ addiu $v0,$v0,0xddc -/* f099cfc: 55a10008 */ bnel $t5,$at,.L0f099d20 -/* f099d00: 8e030608 */ lw $v1,0x608($s0) -/* f099d04: 8c4e0614 */ lw $t6,0x614($v0) -/* f099d08: 240f0009 */ addiu $t7,$zero,0x9 -/* f099d0c: 29c10014 */ slti $at,$t6,0x14 -/* f099d10: 50200003 */ beqzl $at,.L0f099d20 -/* f099d14: 8e030608 */ lw $v1,0x608($s0) -/* f099d18: ae0f0608 */ sw $t7,0x608($s0) -.L0f099d1c: -/* f099d1c: 8e030608 */ lw $v1,0x608($s0) -.L0f099d20: -/* f099d20: 8fb9003c */ lw $t9,0x3c($sp) -/* f099d24: 24010009 */ addiu $at,$zero,0x9 -/* f099d28: 1461001a */ bne $v1,$at,.L0f099d94 -/* f099d2c: 00194900 */ sll $t1,$t9,0x4 -/* f099d30: 01394823 */ subu $t1,$t1,$t9 -/* f099d34: 00094880 */ sll $t1,$t1,0x2 -/* f099d38: 01394821 */ addu $t1,$t1,$t9 -/* f099d3c: 000948c0 */ sll $t1,$t1,0x3 -/* f099d40: 3c18800a */ lui $t8,%hi(g_Vars+0x284) -/* f099d44: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) -/* f099d48: 01394821 */ addu $t1,$t1,$t9 -/* f099d4c: 00094880 */ sll $t1,$t1,0x2 -/* f099d50: 00095023 */ negu $t2,$t1 -/* f099d54: 030a1021 */ addu $v0,$t8,$t2 -/* f099d58: 8c4813e0 */ lw $t0,0x13e0($v0) -/* f099d5c: 24010001 */ addiu $at,$zero,0x1 -/* f099d60: 24420ddc */ addiu $v0,$v0,0xddc -/* f099d64: 15010007 */ bne $t0,$at,.L0f099d84 -/* f099d68: 00001825 */ or $v1,$zero,$zero -/* f099d6c: 8c4b0614 */ lw $t3,0x614($v0) -/* f099d70: 29610014 */ slti $at,$t3,0x14 -/* f099d74: 50200004 */ beqzl $at,.L0f099d88 -/* f099d78: ae000614 */ sw $zero,0x614($s0) -/* f099d7c: 1000015f */ b .L0f09a2fc -/* f099d80: 00001025 */ or $v0,$zero,$zero -.L0f099d84: -/* f099d84: ae000614 */ sw $zero,0x614($s0) -.L0f099d88: -/* f099d88: ae000618 */ sw $zero,0x618($s0) -/* f099d8c: ae000608 */ sw $zero,0x608($s0) -/* f099d90: ae00061c */ sw $zero,0x61c($s0) -.L0f099d94: -/* f099d94: 54600095 */ bnezl $v1,.L0f099fec -/* f099d98: 24010001 */ addiu $at,$zero,0x1 -/* f099d9c: 8e0c0618 */ lw $t4,0x618($s0) -/* f099da0: 8fad0030 */ lw $t5,0x30($sp) -/* f099da4: 8faa0030 */ lw $t2,0x30($sp) -/* f099da8: 5580003f */ bnezl $t4,.L0f099ea8 -/* f099dac: 8fb80038 */ lw $t8,0x38($sp) -/* f099db0: 11a00034 */ beqz $t5,.L0f099e84 -/* f099db4: 8fa4003c */ lw $a0,0x3c($sp) -/* f099db8: 81a20007 */ lb $v0,0x7($t5) -/* f099dbc: 24010001 */ addiu $at,$zero,0x1 -/* f099dc0: 8fae0038 */ lw $t6,0x38($sp) -/* f099dc4: 50400004 */ beqzl $v0,.L0f099dd8 -/* f099dc8: 8dcf0004 */ lw $t7,0x4($t6) -/* f099dcc: 1441002d */ bne $v0,$at,.L0f099e84 -/* f099dd0: 00000000 */ nop -/* f099dd4: 8dcf0004 */ lw $t7,0x4($t6) -.L0f099dd8: -/* f099dd8: 0002c880 */ sll $t9,$v0,0x2 -/* f099ddc: 01f94821 */ addu $t1,$t7,$t9 -/* f099de0: 8d38001c */ lw $t8,0x1c($t1) -/* f099de4: 24690001 */ addiu $t1,$v1,0x1 -/* f099de8: 8f04000c */ lw $a0,0xc($t8) -/* f099dec: 10800023 */ beqz $a0,.L0f099e7c -/* f099df0: 00000000 */ nop -/* f099df4: 8dca0000 */ lw $t2,0x0($t6) -/* f099df8: 2401001a */ addiu $at,$zero,0x1a -/* f099dfc: 8fa5003c */ lw $a1,0x3c($sp) -/* f099e00: 1141001e */ beq $t2,$at,.L0f099e7c -/* f099e04: 00000000 */ nop -/* f099e08: 0fc26238 */ jal bgunStartAnimation -/* f099e0c: 02003025 */ or $a2,$s0,$zero -/* f099e10: 920b06d6 */ lbu $t3,0x6d6($s0) -/* f099e14: 8fa30038 */ lw $v1,0x38($sp) -/* f099e18: 356c0001 */ ori $t4,$t3,0x1 -/* f099e1c: a20c06d6 */ sb $t4,0x6d6($s0) -/* f099e20: 8faf0030 */ lw $t7,0x30($sp) -/* f099e24: 8c6d0004 */ lw $t5,0x4($v1) -/* f099e28: 81f90007 */ lb $t9,0x7($t7) -/* f099e2c: 00194880 */ sll $t1,$t9,0x2 -/* f099e30: 01a9c021 */ addu $t8,$t5,$t1 -/* f099e34: 8f0e001c */ lw $t6,0x1c($t8) -/* f099e38: 91ca0010 */ lbu $t2,0x10($t6) -/* f099e3c: 31480004 */ andi $t0,$t2,0x4 -/* f099e40: 51000005 */ beqzl $t0,.L0f099e58 -/* f099e44: 8c620000 */ lw $v0,0x0($v1) -/* f099e48: 920c0690 */ lbu $t4,0x690($s0) -/* f099e4c: 358f0020 */ ori $t7,$t4,0x20 -/* f099e50: a20f0690 */ sb $t7,0x690($s0) -/* f099e54: 8c620000 */ lw $v0,0x0($v1) -.L0f099e58: -/* f099e58: 2401001e */ addiu $at,$zero,0x1e -/* f099e5c: 10410003 */ beq $v0,$at,.L0f099e6c -/* f099e60: 2401001f */ addiu $at,$zero,0x1f -/* f099e64: 1441000d */ bne $v0,$at,.L0f099e9c -/* f099e68: 00000000 */ nop -.L0f099e6c: -/* f099e6c: 921906d6 */ lbu $t9,0x6d6($s0) -/* f099e70: 332dff0f */ andi $t5,$t9,0xff0f -/* f099e74: 10000009 */ b .L0f099e9c -/* f099e78: a20d06d6 */ sb $t5,0x6d6($s0) -.L0f099e7c: -/* f099e7c: 10000007 */ b .L0f099e9c -/* f099e80: ae090608 */ sw $t1,0x608($s0) -.L0f099e84: -/* f099e84: 0fc27346 */ jal bgunSetState -/* f099e88: 00002825 */ or $a1,$zero,$zero -/* f099e8c: 10400003 */ beqz $v0,.L0f099e9c -/* f099e90: 00000000 */ nop -/* f099e94: 10000119 */ b .L0f09a2fc -/* f099e98: 8fa20044 */ lw $v0,0x44($sp) -.L0f099e9c: -/* f099e9c: 10000052 */ b .L0f099fe8 -/* f099ea0: 8e030608 */ lw $v1,0x608($s0) -/* f099ea4: 8fb80038 */ lw $t8,0x38($sp) -.L0f099ea8: -/* f099ea8: 81480007 */ lb $t0,0x7($t2) -/* f099eac: 02002025 */ or $a0,$s0,$zero -/* f099eb0: 8f0e0004 */ lw $t6,0x4($t8) -/* f099eb4: 00085880 */ sll $t3,$t0,0x2 -/* f099eb8: 01cb6021 */ addu $t4,$t6,$t3 -/* f099ebc: 8d8f001c */ lw $t7,0x1c($t4) -/* f099ec0: 91f90010 */ lbu $t9,0x10($t7) -/* f099ec4: 332d0004 */ andi $t5,$t9,0x4 -/* f099ec8: 51a0002b */ beqzl $t5,.L0f099f78 -/* f099ecc: 8e18060c */ lw $t8,0x60c($s0) -/* f099ed0: 0fc26291 */ jal bgun0f098a44 -/* f099ed4: 24050001 */ addiu $a1,$zero,0x1 -/* f099ed8: 5040001f */ beqzl $v0,.L0f099f58 -/* f099edc: ae00060c */ sw $zero,0x60c($s0) -/* f099ee0: 8e09060c */ lw $t1,0x60c($s0) -/* f099ee4: 8fa50038 */ lw $a1,0x38($sp) -/* f099ee8: 02003025 */ or $a2,$s0,$zero -/* f099eec: 31380010 */ andi $t8,$t1,0x10 -/* f099ef0: 17000019 */ bnez $t8,.L0f099f58 -/* f099ef4: 24070001 */ addiu $a3,$zero,0x1 -/* f099ef8: 92040003 */ lbu $a0,0x3($s0) -/* f099efc: 0fc2637e */ jal bgun0f098df8 -/* f099f00: afa00010 */ sw $zero,0x10($sp) -/* f099f04: 8e0a060c */ lw $t2,0x60c($s0) -/* f099f08: 92040003 */ lbu $a0,0x3($s0) -/* f099f0c: 02003025 */ or $a2,$s0,$zero -/* f099f10: 35480010 */ ori $t0,$t2,0x10 -/* f099f14: ae08060c */ sw $t0,0x60c($s0) -/* f099f18: 0fc26328 */ jal bgun0f098ca0 -/* f099f1c: 8fa50038 */ lw $a1,0x38($sp) -/* f099f20: 28410002 */ slti $at,$v0,0x2 -/* f099f24: 54200005 */ bnezl $at,.L0f099f3c -/* f099f28: 2401ffff */ addiu $at,$zero,-1 -/* f099f2c: 920e0690 */ lbu $t6,0x690($s0) -/* f099f30: 31cbffdf */ andi $t3,$t6,0xffdf -/* f099f34: a20b0690 */ sb $t3,0x690($s0) -/* f099f38: 2401ffff */ addiu $at,$zero,-1 -.L0f099f3c: -/* f099f3c: 54410007 */ bnel $v0,$at,.L0f099f5c -/* f099f40: 8e19000c */ lw $t9,0xc($s0) -/* f099f44: 920c0690 */ lbu $t4,0x690($s0) -/* f099f48: 318fffdf */ andi $t7,$t4,0xffdf -/* f099f4c: 10000002 */ b .L0f099f58 -/* f099f50: a20f0690 */ sb $t7,0x690($s0) -/* f099f54: ae00060c */ sw $zero,0x60c($s0) -.L0f099f58: -/* f099f58: 8e19000c */ lw $t9,0xc($s0) -.L0f099f5c: -/* f099f5c: 53200017 */ beqzl $t9,.L0f099fbc -/* f099f60: 8e0b068c */ lw $t3,0x68c($s0) -/* f099f64: 920d0690 */ lbu $t5,0x690($s0) -/* f099f68: 31a9ffdf */ andi $t1,$t5,0xffdf -/* f099f6c: 10000012 */ b .L0f099fb8 -/* f099f70: a2090690 */ sb $t1,0x690($s0) -/* f099f74: 8e18060c */ lw $t8,0x60c($s0) -.L0f099f78: -/* f099f78: 02002025 */ or $a0,$s0,$zero -/* f099f7c: 330a0010 */ andi $t2,$t8,0x10 -/* f099f80: 5540000e */ bnezl $t2,.L0f099fbc -/* f099f84: 8e0b068c */ lw $t3,0x68c($s0) -/* f099f88: 0fc26291 */ jal bgun0f098a44 -/* f099f8c: 24050001 */ addiu $a1,$zero,0x1 -/* f099f90: 10400009 */ beqz $v0,.L0f099fb8 -/* f099f94: 8fa50038 */ lw $a1,0x38($sp) -/* f099f98: 92040003 */ lbu $a0,0x3($s0) -/* f099f9c: afa00010 */ sw $zero,0x10($sp) -/* f099fa0: 02003025 */ or $a2,$s0,$zero -/* f099fa4: 0fc2637e */ jal bgun0f098df8 -/* f099fa8: 00003825 */ or $a3,$zero,$zero -/* f099fac: 8e08060c */ lw $t0,0x60c($s0) -/* f099fb0: 350e0010 */ ori $t6,$t0,0x10 -/* f099fb4: ae0e060c */ sw $t6,0x60c($s0) -.L0f099fb8: -/* f099fb8: 8e0b068c */ lw $t3,0x68c($s0) -.L0f099fbc: -/* f099fbc: 24010002 */ addiu $at,$zero,0x2 -/* f099fc0: 8fa4003c */ lw $a0,0x3c($sp) -/* f099fc4: 51610008 */ beql $t3,$at,.L0f099fe8 -/* f099fc8: 8e030608 */ lw $v1,0x608($s0) -/* f099fcc: 0fc27346 */ jal bgunSetState -/* f099fd0: 00002825 */ or $a1,$zero,$zero -/* f099fd4: 50400004 */ beqzl $v0,.L0f099fe8 -/* f099fd8: 8e030608 */ lw $v1,0x608($s0) -/* f099fdc: 100000c7 */ b .L0f09a2fc -/* f099fe0: 8fa20044 */ lw $v0,0x44($sp) -/* f099fe4: 8e030608 */ lw $v1,0x608($s0) -.L0f099fe8: -/* f099fe8: 24010001 */ addiu $at,$zero,0x1 -.L0f099fec: -/* f099fec: 5461001f */ bnel $v1,$at,.L0f09a06c -/* f099ff0: 24010002 */ addiu $at,$zero,0x2 -/* f099ff4: 8e02001c */ lw $v0,0x1c($s0) -/* f099ff8: 240f000b */ addiu $t7,$zero,0xb -/* f099ffc: 24790001 */ addiu $t9,$v1,0x1 -/* f09a000: 28410010 */ slti $at,$v0,0x10 -/* f09a004: 10200004 */ beqz $at,.L0f09a018 -/* f09a008: 240d0011 */ addiu $t5,$zero,0x11 -/* f09a00c: 820c0007 */ lb $t4,0x7($s0) -/* f09a010: 55800009 */ bnezl $t4,.L0f09a038 -/* f09a014: 44822000 */ mtc1 $v0,$f4 -.L0f09a018: -/* f09a018: ae0f0020 */ sw $t7,0x20($s0) -/* f09a01c: ae190608 */ sw $t9,0x608($s0) -/* f09a020: ae0d0038 */ sw $t5,0x38($s0) -/* f09a024: ae00001c */ sw $zero,0x1c($s0) -/* f09a028: ae000018 */ sw $zero,0x18($s0) -/* f09a02c: 1000000e */ b .L0f09a068 -/* f09a030: 03201825 */ or $v1,$t9,$zero -/* f09a034: 44822000 */ mtc1 $v0,$f4 -.L0f09a038: -/* f09a038: 3c017f1b */ lui $at,%hi(var7f1ac1b8) -/* f09a03c: c428c1b8 */ lwc1 $f8,%lo(var7f1ac1b8)($at) -/* f09a040: 468021a0 */ cvt.s.w $f6,$f4 -/* f09a044: 3c014180 */ lui $at,0x4180 -/* f09a048: 44818000 */ mtc1 $at,$f16 -/* f09a04c: 02002025 */ or $a0,$s0,$zero -/* f09a050: 46083282 */ mul.s $f10,$f6,$f8 -/* f09a054: 46105483 */ div.s $f18,$f10,$f16 -/* f09a058: 44059000 */ mfc1 $a1,$f18 -/* f09a05c: 0fc265e0 */ jal bgun0f099780 -/* f09a060: 00000000 */ nop -/* f09a064: 8e030608 */ lw $v1,0x608($s0) -.L0f09a068: -/* f09a068: 24010002 */ addiu $at,$zero,0x2 -.L0f09a06c: -/* f09a06c: 54610069 */ bnel $v1,$at,.L0f09a214 -/* f09a070: 24010003 */ addiu $at,$zero,0x3 -/* f09a074: 8e090018 */ lw $t1,0x18($s0) -/* f09a078: 8fb80038 */ lw $t8,0x38($sp) -/* f09a07c: 5520004f */ bnezl $t1,.L0f09a1bc -/* f09a080: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a084: 8f0a0000 */ lw $t2,0x0($t8) -/* f09a088: 2401001a */ addiu $at,$zero,0x1a -/* f09a08c: 8fa80030 */ lw $t0,0x30($sp) -/* f09a090: 55410012 */ bnel $t2,$at,.L0f09a0dc -/* f09a094: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a098: 81020007 */ lb $v0,0x7($t0) -/* f09a09c: 0442000f */ bltzl $v0,.L0f09a0dc -/* f09a0a0: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a0a4: 8f0e0004 */ lw $t6,0x4($t8) -/* f09a0a8: 00025880 */ sll $t3,$v0,0x2 -/* f09a0ac: 8fa5003c */ lw $a1,0x3c($sp) -/* f09a0b0: 01cb6021 */ addu $t4,$t6,$t3 -/* f09a0b4: 8d8f001c */ lw $t7,0x1c($t4) -/* f09a0b8: 8de4000c */ lw $a0,0xc($t7) -/* f09a0bc: 50800007 */ beqzl $a0,.L0f09a0dc -/* f09a0c0: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a0c4: 0fc26238 */ jal bgunStartAnimation -/* f09a0c8: 02003025 */ or $a2,$s0,$zero -/* f09a0cc: 920d0690 */ lbu $t5,0x690($s0) -/* f09a0d0: 35a90040 */ ori $t1,$t5,0x40 -/* f09a0d4: a2090690 */ sb $t1,0x690($s0) -/* f09a0d8: 8e0a060c */ lw $t2,0x60c($s0) -.L0f09a0dc: -/* f09a0dc: 8fa50038 */ lw $a1,0x38($sp) -/* f09a0e0: 02003025 */ or $a2,$s0,$zero -/* f09a0e4: 31480010 */ andi $t0,$t2,0x10 -/* f09a0e8: 15000004 */ bnez $t0,.L0f09a0fc -/* f09a0ec: 00003825 */ or $a3,$zero,$zero -/* f09a0f0: 92040003 */ lbu $a0,0x3($s0) -/* f09a0f4: 0fc2637e */ jal bgun0f098df8 -/* f09a0f8: afa00010 */ sw $zero,0x10($sp) -.L0f09a0fc: -/* f09a0fc: 3c18800a */ lui $t8,%hi(g_Vars+0x34) -/* f09a100: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) -/* f09a104: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) -/* f09a108: 5b00002c */ blezl $t8,.L0f09a1bc -/* f09a10c: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a110: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) -/* f09a114: 24010001 */ addiu $at,$zero,0x1 -/* f09a118: 8dcb0000 */ lw $t3,0x0($t6) -/* f09a11c: 51610027 */ beql $t3,$at,.L0f09a1bc -/* f09a120: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a124: 0fc2775f */ jal bgun0f09dd7c -/* f09a128: 00000000 */ nop -/* f09a12c: 10400022 */ beqz $v0,.L0f09a1b8 -/* f09a130: 3c0c8007 */ lui $t4,%hi(g_PlayerInvincible) -/* f09a134: 8d8c0760 */ lw $t4,%lo(g_PlayerInvincible)($t4) -/* f09a138: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) -/* f09a13c: 5580001f */ bnezl $t4,.L0f09a1bc -/* f09a140: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a144: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) -/* f09a148: 8fad0038 */ lw $t5,0x38($sp) -/* f09a14c: 8df900d8 */ lw $t9,0xd8($t7) -/* f09a150: 5720001a */ bnezl $t9,.L0f09a1bc -/* f09a154: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a158: 8da90000 */ lw $t1,0x0($t5) -/* f09a15c: 2d210058 */ sltiu $at,$t1,0x58 -/* f09a160: 10200006 */ beqz $at,.L0f09a17c -/* f09a164: 00094880 */ sll $t1,$t1,0x2 -/* f09a168: 3c017f1b */ lui $at,%hi(var7f1ac1bc) -/* f09a16c: 00290821 */ addu $at,$at,$t1 -/* f09a170: 8c29c1bc */ lw $t1,%lo(var7f1ac1bc)($at) -/* f09a174: 01200008 */ jr $t1 -/* f09a178: 00000000 */ nop -.L0f09a17c: -/* f09a17c: 3c01bf80 */ lui $at,0xbf80 -/* f09a180: 44812000 */ mtc1 $at,$f4 -/* f09a184: 3c048009 */ lui $a0,%hi(var80095200) -/* f09a188: 240affff */ addiu $t2,$zero,-1 -/* f09a18c: 2408ffff */ addiu $t0,$zero,-1 -/* f09a190: 2418ffff */ addiu $t8,$zero,-1 -/* f09a194: afb8001c */ sw $t8,0x1c($sp) -/* f09a198: afa80018 */ sw $t0,0x18($sp) -/* f09a19c: afaa0010 */ sw $t2,0x10($sp) -/* f09a1a0: 8c845200 */ lw $a0,%lo(var80095200)($a0) -/* f09a1a4: 2405804f */ addiu $a1,$zero,-32689 -/* f09a1a8: 00003025 */ or $a2,$zero,$zero -/* f09a1ac: 2407ffff */ addiu $a3,$zero,-1 -/* f09a1b0: 0c004241 */ jal sndStart -/* f09a1b4: e7a40014 */ swc1 $f4,0x14($sp) -.L0f09a1b8: -/* f09a1b8: 8e0e001c */ lw $t6,0x1c($s0) -.L0f09a1bc: -/* f09a1bc: 8e0b0038 */ lw $t3,0x38($s0) -/* f09a1c0: 02002025 */ or $a0,$s0,$zero -/* f09a1c4: 3c053f5f */ lui $a1,0x3f5f -/* f09a1c8: 01cb082a */ slt $at,$t6,$t3 -/* f09a1cc: 1420000d */ bnez $at,.L0f09a204 -/* f09a1d0: 00000000 */ nop -/* f09a1d4: 8e0c0018 */ lw $t4,0x18($s0) -/* f09a1d8: 240f000c */ addiu $t7,$zero,0xc -/* f09a1dc: 29810002 */ slti $at,$t4,0x2 -/* f09a1e0: 14200008 */ bnez $at,.L0f09a204 -/* f09a1e4: 00000000 */ nop -/* f09a1e8: 8e190608 */ lw $t9,0x608($s0) -/* f09a1ec: ae0f0020 */ sw $t7,0x20($s0) -/* f09a1f0: ae00001c */ sw $zero,0x1c($s0) -/* f09a1f4: 27230001 */ addiu $v1,$t9,0x1 -/* f09a1f8: ae030608 */ sw $v1,0x608($s0) -/* f09a1fc: 10000004 */ b .L0f09a210 -/* f09a200: ae000018 */ sw $zero,0x18($s0) -.L0f09a204: -/* f09a204: 0fc265e0 */ jal bgun0f099780 -/* f09a208: 34a55dd8 */ ori $a1,$a1,0x5dd8 -/* f09a20c: 8e030608 */ lw $v1,0x608($s0) -.L0f09a210: -/* f09a210: 24010003 */ addiu $at,$zero,0x3 -.L0f09a214: -/* f09a214: 14610038 */ bne $v1,$at,.L0f09a2f8 -/* f09a218: 8fa90038 */ lw $t1,0x38($sp) -/* f09a21c: 8d2a0000 */ lw $t2,0x0($t1) -/* f09a220: 2401001a */ addiu $at,$zero,0x1a -/* f09a224: 3c18800a */ lui $t8,%hi(g_Vars+0x284) -/* f09a228: 55410003 */ bnel $t2,$at,.L0f09a238 -/* f09a22c: 8e080018 */ lw $t0,0x18($s0) -/* f09a230: ae00068c */ sw $zero,0x68c($s0) -/* f09a234: 8e080018 */ lw $t0,0x18($s0) -.L0f09a238: -/* f09a238: 55000004 */ bnezl $t0,.L0f09a24c -/* f09a23c: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a240: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) -/* f09a244: af001600 */ sw $zero,0x1600($t8) -/* f09a248: 8e0e001c */ lw $t6,0x1c($s0) -.L0f09a24c: -/* f09a24c: 8fab0038 */ lw $t3,0x38($sp) -/* f09a250: 29c10017 */ slti $at,$t6,0x17 -/* f09a254: 50200010 */ beqzl $at,.L0f09a298 -/* f09a258: ae000020 */ sw $zero,0x20($s0) -/* f09a25c: 0fc2c6b4 */ jal weaponGetModelNum2 -/* f09a260: 8d640000 */ lw $a0,0x0($t3) -/* f09a264: 1040000b */ beqz $v0,.L0f09a294 -/* f09a268: 8fac0038 */ lw $t4,0x38($sp) -/* f09a26c: 8d840000 */ lw $a0,0x0($t4) -/* f09a270: 0fc2c5f0 */ jal weaponHasFlag -/* f09a274: 24050040 */ addiu $a1,$zero,0x40 -/* f09a278: 10400006 */ beqz $v0,.L0f09a294 -/* f09a27c: 8faf0038 */ lw $t7,0x38($sp) -/* f09a280: 8de40000 */ lw $a0,0x0($t7) -/* f09a284: 0fc2c5f0 */ jal weaponHasFlag -/* f09a288: 24050080 */ addiu $a1,$zero,0x80 -/* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 -/* f09a290: 8e19001c */ lw $t9,0x1c($s0) -.L0f09a294: -/* f09a294: ae000020 */ sw $zero,0x20($s0) -.L0f09a298: -/* f09a298: ae00001c */ sw $zero,0x1c($s0) -/* f09a29c: ae000018 */ sw $zero,0x18($s0) -/* f09a2a0: 8fa4003c */ lw $a0,0x3c($sp) -/* f09a2a4: 0fc27346 */ jal bgunSetState -/* f09a2a8: 00002825 */ or $a1,$zero,$zero -/* f09a2ac: 50400013 */ beqzl $v0,.L0f09a2fc -/* f09a2b0: 00001025 */ or $v0,$zero,$zero -/* f09a2b4: 10000011 */ b .L0f09a2fc -/* f09a2b8: 8fa20044 */ lw $v0,0x44($sp) -/* f09a2bc: 8e19001c */ lw $t9,0x1c($s0) -.L0f09a2c0: -/* f09a2c0: 240d0017 */ addiu $t5,$zero,0x17 -/* f09a2c4: 3c017f1b */ lui $at,%hi(var7f1ac31c) -/* f09a2c8: 01b94823 */ subu $t1,$t5,$t9 -/* f09a2cc: 44893000 */ mtc1 $t1,$f6 -/* f09a2d0: c42ac31c */ lwc1 $f10,%lo(var7f1ac31c)($at) -/* f09a2d4: 3c0141b8 */ lui $at,0x41b8 -/* f09a2d8: 46803220 */ cvt.s.w $f8,$f6 -/* f09a2dc: 44819000 */ mtc1 $at,$f18 -/* f09a2e0: 02002025 */ or $a0,$s0,$zero -/* f09a2e4: 460a4402 */ mul.s $f16,$f8,$f10 -/* f09a2e8: 46128103 */ div.s $f4,$f16,$f18 -/* f09a2ec: 44052000 */ mfc1 $a1,$f4 -/* f09a2f0: 0fc265e0 */ jal bgun0f099780 -/* f09a2f4: 00000000 */ nop -.L0f09a2f8: -/* f09a2f8: 00001025 */ or $v0,$zero,$zero -.L0f09a2fc: -/* f09a2fc: 8fbf002c */ lw $ra,0x2c($sp) -/* f09a300: 8fb00028 */ lw $s0,0x28($sp) -/* f09a304: 27bd0038 */ addiu $sp,$sp,0x38 -/* f09a308: 03e00008 */ jr $ra -/* f09a30c: 00000000 */ nop -); -#else -GLOBAL_ASM( -glabel bgunTickIncReload -.late_rodata -glabel var7f1ac1b8 -.word 0x3f5f5dd8 -glabel var7f1ac1bc -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac1c0 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac1c4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1c8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1cc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1d8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1dc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1e8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1ec -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1f8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac1fc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac200 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac204 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac208 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac20c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac210 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac214 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac218 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac21c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac220 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac224 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac228 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac22c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac230 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac234 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac238 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac23c -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac240 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac244 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac248 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac24c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac250 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac254 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac258 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac25c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac260 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac264 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac268 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac26c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac270 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac274 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac278 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac27c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac280 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac284 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac288 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac28c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac290 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac294 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac298 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac29c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2a8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2ac -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2b0 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2b4 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2b8 -.word bgunTickIncReload+0x570 # f09a1b8 -glabel var7f1ac2bc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2c8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2cc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2d8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2dc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2e8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2ec -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f0 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f4 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2f8 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac2fc -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac300 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac304 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac308 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac30c -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac310 -.word bgunTickIncReload+0x534 # f09a17c -glabel var7f1ac314 -.word bgunTickIncReload+0x570 -glabel var7f1ac31c -.word 0x3f5f5dd8 -.text -/* f099c48: 27bdffc8 */ addiu $sp,$sp,-56 -/* f099c4c: afbf002c */ sw $ra,0x2c($sp) -/* f099c50: afb00028 */ sw $s0,0x28($sp) -/* f099c54: afa40038 */ sw $a0,0x38($sp) -/* f099c58: 00c08025 */ or $s0,$a2,$zero -/* f099c5c: afa5003c */ sw $a1,0x3c($sp) -/* f099c60: afa70044 */ sw $a3,0x44($sp) -/* f099c64: 0fc2c41f */ jal gsetGetWeaponFunction -/* f099c68: 00c02025 */ or $a0,$a2,$zero -/* f099c6c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) -/* f099c70: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) -/* f099c74: afa20030 */ sw $v0,0x30($sp) -/* f099c78: 2418ffff */ addiu $t8,$zero,-1 -/* f099c7c: 8dcf00d8 */ lw $t7,0xd8($t6) -/* f099c80: 00002825 */ or $a1,$zero,$zero -/* f099c84: 51e0000a */ beqzl $t7,.L0f099cb0 -/* f099c88: 8e190618 */ lw $t9,0x618($s0) -/* f099c8c: ae00068c */ sw $zero,0x68c($s0) -/* f099c90: ae180680 */ sw $t8,0x680($s0) -/* f099c94: 0fc27346 */ jal bgunSetState -/* f099c98: 8fa4003c */ lw $a0,0x3c($sp) -/* f099c9c: 50400004 */ beqzl $v0,.L0f099cb0 -/* f099ca0: 8e190618 */ lw $t9,0x618($s0) -/* f099ca4: 10000195 */ b .L0f09a2fc -/* f099ca8: 8fa20044 */ lw $v0,0x44($sp) -/* f099cac: 8e190618 */ lw $t9,0x618($s0) -.L0f099cb0: -/* f099cb0: 8fa9003c */ lw $t1,0x3c($sp) -/* f099cb4: 3c08800a */ lui $t0,%hi(g_Vars+0x284) -/* f099cb8: 17200018 */ bnez $t9,.L0f099d1c -/* f099cbc: 00095100 */ sll $t2,$t1,0x4 -/* f099cc0: 01495023 */ subu $t2,$t2,$t1 -/* f099cc4: 000a5080 */ sll $t2,$t2,0x2 -/* f099cc8: 01495021 */ addu $t2,$t2,$t1 -/* f099ccc: 000a50c0 */ sll $t2,$t2,0x3 -/* f099cd0: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) -/* f099cd4: 01495021 */ addu $t2,$t2,$t1 -/* f099cd8: 000a5080 */ sll $t2,$t2,0x2 -/* f099cdc: 000a5823 */ negu $t3,$t2 -/* f099ce0: 240cffff */ addiu $t4,$zero,-1 -/* f099ce4: ae0c0670 */ sw $t4,0x670($s0) -/* f099ce8: ae000674 */ sw $zero,0x674($s0) -/* f099cec: 010b1021 */ addu $v0,$t0,$t3 -/* f099cf0: 8c4d13e0 */ lw $t5,0x13e0($v0) -/* f099cf4: 24010001 */ addiu $at,$zero,0x1 -/* f099cf8: 24420ddc */ addiu $v0,$v0,0xddc -/* f099cfc: 55a10008 */ bnel $t5,$at,.L0f099d20 -/* f099d00: 8e030608 */ lw $v1,0x608($s0) -/* f099d04: 8c4e0614 */ lw $t6,0x614($v0) -/* f099d08: 240f0009 */ addiu $t7,$zero,0x9 -/* f099d0c: 29c10014 */ slti $at,$t6,0x14 -/* f099d10: 50200003 */ beqzl $at,.L0f099d20 -/* f099d14: 8e030608 */ lw $v1,0x608($s0) -/* f099d18: ae0f0608 */ sw $t7,0x608($s0) -.L0f099d1c: -/* f099d1c: 8e030608 */ lw $v1,0x608($s0) -.L0f099d20: -/* f099d20: 8fb9003c */ lw $t9,0x3c($sp) -/* f099d24: 24010009 */ addiu $at,$zero,0x9 -/* f099d28: 1461001a */ bne $v1,$at,.L0f099d94 -/* f099d2c: 00194900 */ sll $t1,$t9,0x4 -/* f099d30: 01394823 */ subu $t1,$t1,$t9 -/* f099d34: 00094880 */ sll $t1,$t1,0x2 -/* f099d38: 01394821 */ addu $t1,$t1,$t9 -/* f099d3c: 000948c0 */ sll $t1,$t1,0x3 -/* f099d40: 3c18800a */ lui $t8,%hi(g_Vars+0x284) -/* f099d44: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) -/* f099d48: 01394821 */ addu $t1,$t1,$t9 -/* f099d4c: 00094880 */ sll $t1,$t1,0x2 -/* f099d50: 00095023 */ negu $t2,$t1 -/* f099d54: 030a1021 */ addu $v0,$t8,$t2 -/* f099d58: 8c4813e0 */ lw $t0,0x13e0($v0) -/* f099d5c: 24010001 */ addiu $at,$zero,0x1 -/* f099d60: 24420ddc */ addiu $v0,$v0,0xddc -/* f099d64: 15010007 */ bne $t0,$at,.L0f099d84 -/* f099d68: 00001825 */ or $v1,$zero,$zero -/* f099d6c: 8c4b0614 */ lw $t3,0x614($v0) -/* f099d70: 29610014 */ slti $at,$t3,0x14 -/* f099d74: 50200004 */ beqzl $at,.L0f099d88 -/* f099d78: ae000614 */ sw $zero,0x614($s0) -/* f099d7c: 1000015f */ b .L0f09a2fc -/* f099d80: 00001025 */ or $v0,$zero,$zero -.L0f099d84: -/* f099d84: ae000614 */ sw $zero,0x614($s0) -.L0f099d88: -/* f099d88: ae000618 */ sw $zero,0x618($s0) -/* f099d8c: ae000608 */ sw $zero,0x608($s0) -/* f099d90: ae00061c */ sw $zero,0x61c($s0) -.L0f099d94: -/* f099d94: 54600095 */ bnezl $v1,.L0f099fec -/* f099d98: 24010001 */ addiu $at,$zero,0x1 -/* f099d9c: 8e0c0618 */ lw $t4,0x618($s0) -/* f099da0: 8fad0030 */ lw $t5,0x30($sp) -/* f099da4: 8faa0030 */ lw $t2,0x30($sp) -/* f099da8: 5580003f */ bnezl $t4,.L0f099ea8 -/* f099dac: 8fb80038 */ lw $t8,0x38($sp) -/* f099db0: 11a00034 */ beqz $t5,.L0f099e84 -/* f099db4: 8fa4003c */ lw $a0,0x3c($sp) -/* f099db8: 81a20007 */ lb $v0,0x7($t5) -/* f099dbc: 24010001 */ addiu $at,$zero,0x1 -/* f099dc0: 8fae0038 */ lw $t6,0x38($sp) -/* f099dc4: 50400004 */ beqzl $v0,.L0f099dd8 -/* f099dc8: 8dcf0004 */ lw $t7,0x4($t6) -/* f099dcc: 1441002d */ bne $v0,$at,.L0f099e84 -/* f099dd0: 00000000 */ nop -/* f099dd4: 8dcf0004 */ lw $t7,0x4($t6) -.L0f099dd8: -/* f099dd8: 0002c880 */ sll $t9,$v0,0x2 -/* f099ddc: 01f94821 */ addu $t1,$t7,$t9 -/* f099de0: 8d38001c */ lw $t8,0x1c($t1) -/* f099de4: 24690001 */ addiu $t1,$v1,0x1 -/* f099de8: 8f04000c */ lw $a0,0xc($t8) -/* f099dec: 10800023 */ beqz $a0,.L0f099e7c -/* f099df0: 00000000 */ nop -/* f099df4: 8dca0000 */ lw $t2,0x0($t6) -/* f099df8: 2401001a */ addiu $at,$zero,0x1a -/* f099dfc: 8fa5003c */ lw $a1,0x3c($sp) -/* f099e00: 1141001e */ beq $t2,$at,.L0f099e7c -/* f099e04: 00000000 */ nop -/* f099e08: 0fc26238 */ jal bgunStartAnimation -/* f099e0c: 02003025 */ or $a2,$s0,$zero -/* f099e10: 920b06d6 */ lbu $t3,0x6d6($s0) -/* f099e14: 8fa30038 */ lw $v1,0x38($sp) -/* f099e18: 356c0001 */ ori $t4,$t3,0x1 -/* f099e1c: a20c06d6 */ sb $t4,0x6d6($s0) -/* f099e20: 8faf0030 */ lw $t7,0x30($sp) -/* f099e24: 8c6d0004 */ lw $t5,0x4($v1) -/* f099e28: 81f90007 */ lb $t9,0x7($t7) -/* f099e2c: 00194880 */ sll $t1,$t9,0x2 -/* f099e30: 01a9c021 */ addu $t8,$t5,$t1 -/* f099e34: 8f0e001c */ lw $t6,0x1c($t8) -/* f099e38: 91ca0010 */ lbu $t2,0x10($t6) -/* f099e3c: 31480004 */ andi $t0,$t2,0x4 -/* f099e40: 51000005 */ beqzl $t0,.L0f099e58 -/* f099e44: 8c620000 */ lw $v0,0x0($v1) -/* f099e48: 920c0690 */ lbu $t4,0x690($s0) -/* f099e4c: 358f0020 */ ori $t7,$t4,0x20 -/* f099e50: a20f0690 */ sb $t7,0x690($s0) -/* f099e54: 8c620000 */ lw $v0,0x0($v1) -.L0f099e58: -/* f099e58: 2401001e */ addiu $at,$zero,0x1e -/* f099e5c: 10410003 */ beq $v0,$at,.L0f099e6c -/* f099e60: 2401001f */ addiu $at,$zero,0x1f -/* f099e64: 1441000d */ bne $v0,$at,.L0f099e9c -/* f099e68: 00000000 */ nop -.L0f099e6c: -/* f099e6c: 921906d6 */ lbu $t9,0x6d6($s0) -/* f099e70: 332dff0f */ andi $t5,$t9,0xff0f -/* f099e74: 10000009 */ b .L0f099e9c -/* f099e78: a20d06d6 */ sb $t5,0x6d6($s0) -.L0f099e7c: -/* f099e7c: 10000007 */ b .L0f099e9c -/* f099e80: ae090608 */ sw $t1,0x608($s0) -.L0f099e84: -/* f099e84: 0fc27346 */ jal bgunSetState -/* f099e88: 00002825 */ or $a1,$zero,$zero -/* f099e8c: 10400003 */ beqz $v0,.L0f099e9c -/* f099e90: 00000000 */ nop -/* f099e94: 10000119 */ b .L0f09a2fc -/* f099e98: 8fa20044 */ lw $v0,0x44($sp) -.L0f099e9c: -/* f099e9c: 10000052 */ b .L0f099fe8 -/* f099ea0: 8e030608 */ lw $v1,0x608($s0) -/* f099ea4: 8fb80038 */ lw $t8,0x38($sp) -.L0f099ea8: -/* f099ea8: 81480007 */ lb $t0,0x7($t2) -/* f099eac: 02002025 */ or $a0,$s0,$zero -/* f099eb0: 8f0e0004 */ lw $t6,0x4($t8) -/* f099eb4: 00085880 */ sll $t3,$t0,0x2 -/* f099eb8: 01cb6021 */ addu $t4,$t6,$t3 -/* f099ebc: 8d8f001c */ lw $t7,0x1c($t4) -/* f099ec0: 91f90010 */ lbu $t9,0x10($t7) -/* f099ec4: 332d0004 */ andi $t5,$t9,0x4 -/* f099ec8: 51a0002b */ beqzl $t5,.L0f099f78 -/* f099ecc: 8e18060c */ lw $t8,0x60c($s0) -/* f099ed0: 0fc26291 */ jal bgun0f098a44 -/* f099ed4: 24050001 */ addiu $a1,$zero,0x1 -/* f099ed8: 5040001f */ beqzl $v0,.L0f099f58 -/* f099edc: ae00060c */ sw $zero,0x60c($s0) -/* f099ee0: 8e09060c */ lw $t1,0x60c($s0) -/* f099ee4: 8fa50038 */ lw $a1,0x38($sp) -/* f099ee8: 02003025 */ or $a2,$s0,$zero -/* f099eec: 31380010 */ andi $t8,$t1,0x10 -/* f099ef0: 17000019 */ bnez $t8,.L0f099f58 -/* f099ef4: 24070001 */ addiu $a3,$zero,0x1 -/* f099ef8: 92040003 */ lbu $a0,0x3($s0) -/* f099efc: 0fc2637e */ jal bgun0f098df8 -/* f099f00: afa00010 */ sw $zero,0x10($sp) -/* f099f04: 8e0a060c */ lw $t2,0x60c($s0) -/* f099f08: 92040003 */ lbu $a0,0x3($s0) -/* f099f0c: 02003025 */ or $a2,$s0,$zero -/* f099f10: 35480010 */ ori $t0,$t2,0x10 -/* f099f14: ae08060c */ sw $t0,0x60c($s0) -/* f099f18: 0fc26328 */ jal bgun0f098ca0 -/* f099f1c: 8fa50038 */ lw $a1,0x38($sp) -/* f099f20: 28410002 */ slti $at,$v0,0x2 -/* f099f24: 54200005 */ bnezl $at,.L0f099f3c -/* f099f28: 2401ffff */ addiu $at,$zero,-1 -/* f099f2c: 920e0690 */ lbu $t6,0x690($s0) -/* f099f30: 31cbffdf */ andi $t3,$t6,0xffdf -/* f099f34: a20b0690 */ sb $t3,0x690($s0) -/* f099f38: 2401ffff */ addiu $at,$zero,-1 -.L0f099f3c: -/* f099f3c: 54410007 */ bnel $v0,$at,.L0f099f5c -/* f099f40: 8e19000c */ lw $t9,0xc($s0) -/* f099f44: 920c0690 */ lbu $t4,0x690($s0) -/* f099f48: 318fffdf */ andi $t7,$t4,0xffdf -/* f099f4c: 10000002 */ b .L0f099f58 -/* f099f50: a20f0690 */ sb $t7,0x690($s0) -/* f099f54: ae00060c */ sw $zero,0x60c($s0) -.L0f099f58: -/* f099f58: 8e19000c */ lw $t9,0xc($s0) -.L0f099f5c: -/* f099f5c: 53200017 */ beqzl $t9,.L0f099fbc -/* f099f60: 8e0b068c */ lw $t3,0x68c($s0) -/* f099f64: 920d0690 */ lbu $t5,0x690($s0) -/* f099f68: 31a9ffdf */ andi $t1,$t5,0xffdf -/* f099f6c: 10000012 */ b .L0f099fb8 -/* f099f70: a2090690 */ sb $t1,0x690($s0) -/* f099f74: 8e18060c */ lw $t8,0x60c($s0) -.L0f099f78: -/* f099f78: 02002025 */ or $a0,$s0,$zero -/* f099f7c: 330a0010 */ andi $t2,$t8,0x10 -/* f099f80: 5540000e */ bnezl $t2,.L0f099fbc -/* f099f84: 8e0b068c */ lw $t3,0x68c($s0) -/* f099f88: 0fc26291 */ jal bgun0f098a44 -/* f099f8c: 24050001 */ addiu $a1,$zero,0x1 -/* f099f90: 10400009 */ beqz $v0,.L0f099fb8 -/* f099f94: 8fa50038 */ lw $a1,0x38($sp) -/* f099f98: 92040003 */ lbu $a0,0x3($s0) -/* f099f9c: afa00010 */ sw $zero,0x10($sp) -/* f099fa0: 02003025 */ or $a2,$s0,$zero -/* f099fa4: 0fc2637e */ jal bgun0f098df8 -/* f099fa8: 00003825 */ or $a3,$zero,$zero -/* f099fac: 8e08060c */ lw $t0,0x60c($s0) -/* f099fb0: 350e0010 */ ori $t6,$t0,0x10 -/* f099fb4: ae0e060c */ sw $t6,0x60c($s0) -.L0f099fb8: -/* f099fb8: 8e0b068c */ lw $t3,0x68c($s0) -.L0f099fbc: -/* f099fbc: 24010002 */ addiu $at,$zero,0x2 -/* f099fc0: 8fa4003c */ lw $a0,0x3c($sp) -/* f099fc4: 51610008 */ beql $t3,$at,.L0f099fe8 -/* f099fc8: 8e030608 */ lw $v1,0x608($s0) -/* f099fcc: 0fc27346 */ jal bgunSetState -/* f099fd0: 00002825 */ or $a1,$zero,$zero -/* f099fd4: 50400004 */ beqzl $v0,.L0f099fe8 -/* f099fd8: 8e030608 */ lw $v1,0x608($s0) -/* f099fdc: 100000c7 */ b .L0f09a2fc -/* f099fe0: 8fa20044 */ lw $v0,0x44($sp) -/* f099fe4: 8e030608 */ lw $v1,0x608($s0) -.L0f099fe8: -/* f099fe8: 24010001 */ addiu $at,$zero,0x1 -.L0f099fec: -/* f099fec: 5461001f */ bnel $v1,$at,.L0f09a06c -/* f099ff0: 24010002 */ addiu $at,$zero,0x2 -/* f099ff4: 8e02001c */ lw $v0,0x1c($s0) -/* f099ff8: 240f000b */ addiu $t7,$zero,0xb -/* f099ffc: 24790001 */ addiu $t9,$v1,0x1 -/* f09a000: 28410010 */ slti $at,$v0,0x10 -/* f09a004: 10200004 */ beqz $at,.L0f09a018 -/* f09a008: 240d0011 */ addiu $t5,$zero,0x11 -/* f09a00c: 820c0007 */ lb $t4,0x7($s0) -/* f09a010: 55800009 */ bnezl $t4,.L0f09a038 -/* f09a014: 44822000 */ mtc1 $v0,$f4 -.L0f09a018: -/* f09a018: ae0f0020 */ sw $t7,0x20($s0) -/* f09a01c: ae190608 */ sw $t9,0x608($s0) -/* f09a020: ae0d0038 */ sw $t5,0x38($s0) -/* f09a024: ae00001c */ sw $zero,0x1c($s0) -/* f09a028: ae000018 */ sw $zero,0x18($s0) -/* f09a02c: 1000000e */ b .L0f09a068 -/* f09a030: 03201825 */ or $v1,$t9,$zero -/* f09a034: 44822000 */ mtc1 $v0,$f4 -.L0f09a038: -/* f09a038: 3c017f1b */ lui $at,%hi(var7f1ac1b8) -/* f09a03c: c428c1b8 */ lwc1 $f8,%lo(var7f1ac1b8)($at) -/* f09a040: 468021a0 */ cvt.s.w $f6,$f4 -/* f09a044: 3c014180 */ lui $at,0x4180 -/* f09a048: 44818000 */ mtc1 $at,$f16 -/* f09a04c: 02002025 */ or $a0,$s0,$zero -/* f09a050: 46083282 */ mul.s $f10,$f6,$f8 -/* f09a054: 46105483 */ div.s $f18,$f10,$f16 -/* f09a058: 44059000 */ mfc1 $a1,$f18 -/* f09a05c: 0fc265e0 */ jal bgun0f099780 -/* f09a060: 00000000 */ nop -/* f09a064: 8e030608 */ lw $v1,0x608($s0) -.L0f09a068: -/* f09a068: 24010002 */ addiu $at,$zero,0x2 -.L0f09a06c: -/* f09a06c: 54610069 */ bnel $v1,$at,.L0f09a214 -/* f09a070: 24010003 */ addiu $at,$zero,0x3 -/* f09a074: 8e090018 */ lw $t1,0x18($s0) -/* f09a078: 8fb80038 */ lw $t8,0x38($sp) -/* f09a07c: 5520004f */ bnezl $t1,.L0f09a1bc -/* f09a080: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a084: 8f0a0000 */ lw $t2,0x0($t8) -/* f09a088: 2401001a */ addiu $at,$zero,0x1a -/* f09a08c: 8fa80030 */ lw $t0,0x30($sp) -/* f09a090: 55410012 */ bnel $t2,$at,.L0f09a0dc -/* f09a094: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a098: 81020007 */ lb $v0,0x7($t0) -/* f09a09c: 0442000f */ bltzl $v0,.L0f09a0dc -/* f09a0a0: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a0a4: 8f0e0004 */ lw $t6,0x4($t8) -/* f09a0a8: 00025880 */ sll $t3,$v0,0x2 -/* f09a0ac: 8fa5003c */ lw $a1,0x3c($sp) -/* f09a0b0: 01cb6021 */ addu $t4,$t6,$t3 -/* f09a0b4: 8d8f001c */ lw $t7,0x1c($t4) -/* f09a0b8: 8de4000c */ lw $a0,0xc($t7) -/* f09a0bc: 50800007 */ beqzl $a0,.L0f09a0dc -/* f09a0c0: 8e0a060c */ lw $t2,0x60c($s0) -/* f09a0c4: 0fc26238 */ jal bgunStartAnimation -/* f09a0c8: 02003025 */ or $a2,$s0,$zero -/* f09a0cc: 920d0690 */ lbu $t5,0x690($s0) -/* f09a0d0: 35a90040 */ ori $t1,$t5,0x40 -/* f09a0d4: a2090690 */ sb $t1,0x690($s0) -/* f09a0d8: 8e0a060c */ lw $t2,0x60c($s0) -.L0f09a0dc: -/* f09a0dc: 8fa50038 */ lw $a1,0x38($sp) -/* f09a0e0: 02003025 */ or $a2,$s0,$zero -/* f09a0e4: 31480010 */ andi $t0,$t2,0x10 -/* f09a0e8: 15000004 */ bnez $t0,.L0f09a0fc -/* f09a0ec: 00003825 */ or $a3,$zero,$zero -/* f09a0f0: 92040003 */ lbu $a0,0x3($s0) -/* f09a0f4: 0fc2637e */ jal bgun0f098df8 -/* f09a0f8: afa00010 */ sw $zero,0x10($sp) -.L0f09a0fc: -/* f09a0fc: 3c18800a */ lui $t8,%hi(g_Vars+0x34) -/* f09a100: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) -/* f09a104: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) -/* f09a108: 5b00002c */ blezl $t8,.L0f09a1bc -/* f09a10c: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a110: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) -/* f09a114: 24010001 */ addiu $at,$zero,0x1 -/* f09a118: 8dcb0000 */ lw $t3,0x0($t6) -/* f09a11c: 51610027 */ beql $t3,$at,.L0f09a1bc -/* f09a120: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a124: 0fc2775f */ jal bgun0f09dd7c -/* f09a128: 00000000 */ nop -/* f09a12c: 10400022 */ beqz $v0,.L0f09a1b8 -/* f09a130: 3c0c8007 */ lui $t4,%hi(g_PlayerInvincible) -/* f09a134: 8d8c0760 */ lw $t4,%lo(g_PlayerInvincible)($t4) -/* f09a138: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) -/* f09a13c: 5580001f */ bnezl $t4,.L0f09a1bc -/* f09a140: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a144: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) -/* f09a148: 8fad0038 */ lw $t5,0x38($sp) -/* f09a14c: 8df900d8 */ lw $t9,0xd8($t7) -/* f09a150: 5720001a */ bnezl $t9,.L0f09a1bc -/* f09a154: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a158: 8da90000 */ lw $t1,0x0($t5) -/* f09a15c: 2d210058 */ sltiu $at,$t1,0x57 -/* f09a160: 10200006 */ beqz $at,.L0f09a17c -/* f09a164: 00094880 */ sll $t1,$t1,0x2 -/* f09a168: 3c017f1b */ lui $at,%hi(var7f1ac1bc) -/* f09a16c: 00290821 */ addu $at,$at,$t1 -/* f09a170: 8c29c1bc */ lw $t1,%lo(var7f1ac1bc)($at) -/* f09a174: 01200008 */ jr $t1 -/* f09a178: 00000000 */ nop -.L0f09a17c: -/* f09a17c: 3c01bf80 */ lui $at,0xbf80 -/* f09a180: 44812000 */ mtc1 $at,$f4 -/* f09a184: 3c048009 */ lui $a0,%hi(var80095200) -/* f09a188: 240affff */ addiu $t2,$zero,-1 -/* f09a18c: 2408ffff */ addiu $t0,$zero,-1 -/* f09a190: 2418ffff */ addiu $t8,$zero,-1 -/* f09a194: afb8001c */ sw $t8,0x1c($sp) -/* f09a198: afa80018 */ sw $t0,0x18($sp) -/* f09a19c: afaa0010 */ sw $t2,0x10($sp) -/* f09a1a0: 8c845200 */ lw $a0,%lo(var80095200)($a0) -/* f09a1a4: 2405804f */ addiu $a1,$zero,-32689 -/* f09a1a8: 00003025 */ or $a2,$zero,$zero -/* f09a1ac: 2407ffff */ addiu $a3,$zero,-1 -/* f09a1b0: 0c004241 */ jal sndStart -/* f09a1b4: e7a40014 */ swc1 $f4,0x14($sp) -.L0f09a1b8: -/* f09a1b8: 8e0e001c */ lw $t6,0x1c($s0) -.L0f09a1bc: -/* f09a1bc: 8e0b0038 */ lw $t3,0x38($s0) -/* f09a1c0: 02002025 */ or $a0,$s0,$zero -/* f09a1c4: 3c053f5f */ lui $a1,0x3f5f -/* f09a1c8: 01cb082a */ slt $at,$t6,$t3 -/* f09a1cc: 1420000d */ bnez $at,.L0f09a204 -/* f09a1d0: 00000000 */ nop -/* f09a1d4: 8e0c0018 */ lw $t4,0x18($s0) -/* f09a1d8: 240f000c */ addiu $t7,$zero,0xc -/* f09a1dc: 29810002 */ slti $at,$t4,0x2 -/* f09a1e0: 14200008 */ bnez $at,.L0f09a204 -/* f09a1e4: 00000000 */ nop -/* f09a1e8: 8e190608 */ lw $t9,0x608($s0) -/* f09a1ec: ae0f0020 */ sw $t7,0x20($s0) -/* f09a1f0: ae00001c */ sw $zero,0x1c($s0) -/* f09a1f4: 27230001 */ addiu $v1,$t9,0x1 -/* f09a1f8: ae030608 */ sw $v1,0x608($s0) -/* f09a1fc: 10000004 */ b .L0f09a210 -/* f09a200: ae000018 */ sw $zero,0x18($s0) -.L0f09a204: -/* f09a204: 0fc265e0 */ jal bgun0f099780 -/* f09a208: 34a55dd8 */ ori $a1,$a1,0x5dd8 -/* f09a20c: 8e030608 */ lw $v1,0x608($s0) -.L0f09a210: -/* f09a210: 24010003 */ addiu $at,$zero,0x3 -.L0f09a214: -/* f09a214: 14610038 */ bne $v1,$at,.L0f09a2f8 -/* f09a218: 8fa90038 */ lw $t1,0x38($sp) -/* f09a21c: 8d2a0000 */ lw $t2,0x0($t1) -/* f09a220: 2401001a */ addiu $at,$zero,0x1a -/* f09a224: 3c18800a */ lui $t8,%hi(g_Vars+0x284) -/* f09a228: 55410003 */ bnel $t2,$at,.L0f09a238 -/* f09a22c: 8e080018 */ lw $t0,0x18($s0) -/* f09a230: ae00068c */ sw $zero,0x68c($s0) -/* f09a234: 8e080018 */ lw $t0,0x18($s0) -.L0f09a238: -/* f09a238: 55000004 */ bnezl $t0,.L0f09a24c -/* f09a23c: 8e0e001c */ lw $t6,0x1c($s0) -/* f09a240: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) -/* f09a244: af001600 */ sw $zero,0x1600($t8) -/* f09a248: 8e0e001c */ lw $t6,0x1c($s0) -.L0f09a24c: -/* f09a24c: 8fab0038 */ lw $t3,0x38($sp) -/* f09a250: 29c10017 */ slti $at,$t6,0x17 -/* f09a254: 50200010 */ beqzl $at,.L0f09a298 -/* f09a258: ae000020 */ sw $zero,0x20($s0) -/* f09a25c: 0fc2c6b4 */ jal weaponGetModelNum2 -/* f09a260: 8d640000 */ lw $a0,0x0($t3) -/* f09a264: 1040000b */ beqz $v0,.L0f09a294 -/* f09a268: 8fac0038 */ lw $t4,0x38($sp) -/* f09a26c: 8d840000 */ lw $a0,0x0($t4) -/* f09a270: 0fc2c5f0 */ jal weaponHasFlag -/* f09a274: 24050040 */ addiu $a1,$zero,0x40 -/* f09a278: 10400006 */ beqz $v0,.L0f09a294 -/* f09a27c: 8faf0038 */ lw $t7,0x38($sp) -/* f09a280: 8de40000 */ lw $a0,0x0($t7) -/* f09a284: 0fc2c5f0 */ jal weaponHasFlag -/* f09a288: 24050080 */ addiu $a1,$zero,0x80 -/* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 -/* f09a290: 8e19001c */ lw $t9,0x1c($s0) -.L0f09a294: -/* f09a294: ae000020 */ sw $zero,0x20($s0) -.L0f09a298: -/* f09a298: ae00001c */ sw $zero,0x1c($s0) -/* f09a29c: ae000018 */ sw $zero,0x18($s0) -/* f09a2a0: 8fa4003c */ lw $a0,0x3c($sp) -/* f09a2a4: 0fc27346 */ jal bgunSetState -/* f09a2a8: 00002825 */ or $a1,$zero,$zero -/* f09a2ac: 50400013 */ beqzl $v0,.L0f09a2fc -/* f09a2b0: 00001025 */ or $v0,$zero,$zero -/* f09a2b4: 10000011 */ b .L0f09a2fc -/* f09a2b8: 8fa20044 */ lw $v0,0x44($sp) -/* f09a2bc: 8e19001c */ lw $t9,0x1c($s0) -.L0f09a2c0: -/* f09a2c0: 240d0017 */ addiu $t5,$zero,0x17 -/* f09a2c4: 3c017f1b */ lui $at,%hi(var7f1ac31c) -/* f09a2c8: 01b94823 */ subu $t1,$t5,$t9 -/* f09a2cc: 44893000 */ mtc1 $t1,$f6 -/* f09a2d0: c42ac31c */ lwc1 $f10,%lo(var7f1ac31c)($at) -/* f09a2d4: 3c0141b8 */ lui $at,0x41b8 -/* f09a2d8: 46803220 */ cvt.s.w $f8,$f6 -/* f09a2dc: 44819000 */ mtc1 $at,$f18 -/* f09a2e0: 02002025 */ or $a0,$s0,$zero -/* f09a2e4: 460a4402 */ mul.s $f16,$f8,$f10 -/* f09a2e8: 46128103 */ div.s $f4,$f16,$f18 -/* f09a2ec: 44052000 */ mfc1 $a1,$f4 -/* f09a2f0: 0fc265e0 */ jal bgun0f099780 -/* f09a2f4: 00000000 */ nop -.L0f09a2f8: -/* f09a2f8: 00001025 */ or $v0,$zero,$zero -.L0f09a2fc: -/* f09a2fc: 8fbf002c */ lw $ra,0x2c($sp) -/* f09a300: 8fb00028 */ lw $s0,0x28($sp) -/* f09a304: 27bd0038 */ addiu $sp,$sp,0x38 -/* f09a308: 03e00008 */ jr $ra -/* f09a30c: 00000000 */ nop -); -#endif +s32 bgunTickIncReload(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) +{ + u32 stack; + struct weaponfunc *func = gsetGetWeaponFunction(&hand->gset); -// Mismatch: Branch logic near e9c is different (but functionally the same) -//s32 bgunTickIncReload(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) -//{ -// struct weaponfunc *func = gsetGetWeaponFunction(&hand->gset); -// -// if (g_Vars.currentplayer->isdead) { -// hand->animmode = HANDANIMMODE_IDLE; -// hand->animload = -1; -// -// if (bgunSetState(handnum, HANDSTATE_IDLE)) { -// return lvupdate; -// } -// } -// -// if (hand->statecycles == 0) { -// struct hand *hand2 = &g_Vars.currentplayer->hands[1 - handnum]; -// -// hand->gs_int1 = -1; -// hand->gs_int2 = 0; -// -// if (hand2->state == HANDSTATE_RELOAD && hand2->stateframes < TICKS(20)) { -// hand->stateminor = 9; -// } -// } -// -// if (hand->stateminor == 9) { -// struct hand *hand2 = &g_Vars.currentplayer->hands[1 - handnum]; -// -// if (hand2->state == HANDSTATE_RELOAD && hand2->stateframes < TICKS(20)) { -// return 0; -// } -// -// hand->stateframes = 0; -// hand->statecycles = 0; -// hand->stateminor = 0; -// hand->statelastframe = 0; -// } -// -// // d94 -// if (hand->stateminor == 0) { -// if (hand->statecycles == 0) { -// if (func && (func->ammoindex == 0 || func->ammoindex == 1)) { -// if (info->definition->ammos[func->ammoindex]->reload_animation -// && info->weaponnum != WEAPON_COMBATKNIFE) { -// bgunStartAnimation(info->definition->ammos[func->ammoindex]->reload_animation, handnum, hand); -// -// hand->unk0d0e_07 = true; -// -// if (info->definition->ammos[func->ammoindex]->flags & AMMOFLAG_INCREMENTALRELOAD) { -// hand->unk0cc8_03 = true; -// } -// -// if (info->weaponnum == WEAPON_GRENADE || info->weaponnum == WEAPON_NBOMB) { -// hand->unk0d0e_00 = 0; -// } -// } else { -// hand->stateminor++; -// } -// } else { -// if (bgunSetState(handnum, HANDSTATE_IDLE)) { -// return lvupdate; -// } -// } -// -// // e9c -// if (hand); -// } else { -// if (info->definition->ammos[func->ammoindex]->flags & AMMOFLAG_INCREMENTALRELOAD) { -// if (bgun0f098a44(hand, 1)) { -// if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { -// s32 value; -// -// bgun0f098df8(hand->gset.weaponfunc, info, hand, 1, 0); -// hand->stateflags |= HANDSTATEFLAG_00000010; -// value = bgun0f098ca0(hand->gset.weaponfunc, info, hand); -// -// if (value >= 2) { -// hand->unk0cc8_03 = false; -// } -// -// if (value == -1) { -// hand->unk0cc8_03 = false; -// } -// } -// } else { -// hand->stateflags = 0; -// } -// -// if (hand->triggeron) { -// hand->unk0cc8_03 = false; -// } -// } else { -// if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { -// if (bgun0f098a44(hand, 1)) { -// bgun0f098df8(hand->gset.weaponfunc, info, hand, 0, 0); -// hand->stateflags |= HANDSTATEFLAG_00000010; -// } -// } -// } -// -// if (hand->animmode != HANDANIMMODE_BUSY) { -// if (bgunSetState(handnum, HANDSTATE_IDLE)) { -// return lvupdate; -// } -// } -// } -// } -// -// if (1); -// -// if (hand->stateminor == 1) { -// if (hand->count60 > TICKS(15) || !hand->visible) { -// hand->mode = HANDMODE_11; -// hand->stateminor++; -// hand->pausetime60 = TICKS(17); -// hand->count60 = 0; -// hand->count = 0; -// } else { -// bgun0f099780(hand, (hand->count60 * 0.87252569198608f) / TICKS(16)); -// } -// } -// -// if (hand->stateminor == 2) { -// if (hand->count == 0) { -// if (info->weaponnum == WEAPON_COMBATKNIFE -// && func->ammoindex >= 0 -// && info->definition->ammos[func->ammoindex]->reload_animation) { -// bgunStartAnimation(info->definition->ammos[func->ammoindex]->reload_animation, handnum, hand); -// hand->unk0cc8_02 = true; -// } -// -// if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { -// bgun0f098df8(hand->gset.weaponfunc, info, hand, 0, 0); -// } -// -// if (g_Vars.lvupdate240 > 0 -// && g_Vars.currentplayer->cameramode != CAMERAMODE_THIRDPERSON -// && bgun0f09dd7c() -// && !g_PlayerInvincible -// && !g_Vars.currentplayer->isdead) { -// switch (info->weaponnum) { -// default: -// sndStart(var80095200, SFX_RELOAD_DEFAULT, 0, -1, -1, -1, -1, -1); -// break; -// case WEAPON_NONE: -// case WEAPON_UNARMED: -// case WEAPON_COMBATKNIFE: -// case WEAPON_LASER: -// case WEAPON_GRENADE: -// case WEAPON_NBOMB: -// case WEAPON_PROXIMITYMINE: -// case WEAPON_REMOTEMINE: -// case WEAPON_ECMMINE: -// case WEAPON_COMMSRIDER: -// case WEAPON_TRACERBUG: -// case WEAPON_TARGETAMPLIFIER: -// case WEAPON_BRIEFCASE2: -// break; -// } -// } -// } -// -// if (hand->count60 >= hand->pausetime60 && hand->count >= 2) { -// hand->mode = HANDMODE_12; -// hand->stateminor++; -// hand->count60 = 0; -// hand->count = 0; -// } else { -// bgun0f099780(hand, 0.87252569198608f); -// } -// } -// -// if (hand->stateminor == 3) { -// if (info->weaponnum == WEAPON_COMBATKNIFE) { -// hand->animmode = HANDANIMMODE_IDLE; -// } -// -// if (hand->count == 0) { -// g_Vars.currentplayer->doautoselect = false; -// } -// -// if (hand->count60 >= TICKS(23) -// || !weaponGetModelNum2(info->weaponnum) -// || !weaponHasFlag(info->weaponnum, WEAPONFLAG_00000040) -// || weaponHasFlag(info->weaponnum, WEAPONFLAG_00000080)) { -// hand->mode = HANDMODE_NONE; -// hand->count60 = 0; -// hand->count = 0; -// -// if (bgunSetState(handnum, HANDSTATE_IDLE)) { -// return lvupdate; -// } -// } else { -// bgun0f099780(hand, (TICKS(23) - hand->count60) * 0.87252569198608f / TICKS(23)); -// } -// } -// -// return 0; -//} + if (g_Vars.currentplayer->isdead) { + hand->animmode = HANDANIMMODE_IDLE; + hand->animload = -1; + + if (bgunSetState(handnum, HANDSTATE_IDLE)) { + return lvupdate; + } + } + + if (hand->statecycles == 0) { + struct hand *hand2 = &g_Vars.currentplayer->hands[1 - handnum]; + + hand->gs_int1 = -1; + hand->gs_int2 = 0; + + if (hand2->state == HANDSTATE_RELOAD && hand2->stateframes < TICKS(20)) { + hand->stateminor = 9; + } + } + + if (hand->stateminor == 9) { + struct hand *hand2 = &g_Vars.currentplayer->hands[1 - handnum]; + + if (hand2->state == HANDSTATE_RELOAD && hand2->stateframes < TICKS(20)) { + return 0; + } + + hand->stateframes = 0; + hand->statecycles = 0; + hand->stateminor = 0; + hand->statelastframe = 0; + } + + if (hand->stateminor == 0) { + if (hand->statecycles == 0) { + if (func && (func->ammoindex == 0 || func->ammoindex == 1)) { + if (info->definition->ammos[func->ammoindex]->reload_animation + && info->weaponnum != WEAPON_COMBATKNIFE) { + bgunStartAnimation(info->definition->ammos[func->ammoindex]->reload_animation, handnum, hand); + + hand->unk0d0e_07 = true; + + if (info->definition->ammos[func->ammoindex]->flags & AMMOFLAG_INCREMENTALRELOAD) { + hand->unk0cc8_03 = true; + } + + if (info->weaponnum == WEAPON_GRENADE || info->weaponnum == WEAPON_NBOMB) { + hand->unk0d0e_00 = 0; + } + } else { + hand->stateminor++; + } + } else { + if (bgunSetState(handnum, HANDSTATE_IDLE)) { + return lvupdate; + } + } + } else { + if (info->definition->ammos[func->ammoindex]->flags & AMMOFLAG_INCREMENTALRELOAD) { + if (bgun0f098a44(hand, 1)) { + if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { + s32 value; + + bgun0f098df8(hand->gset.weaponfunc, info, hand, 1, 0); + hand->stateflags |= HANDSTATEFLAG_00000010; + value = bgun0f098ca0(hand->gset.weaponfunc, info, hand); + + if (value >= 2) { + hand->unk0cc8_03 = false; + } + + if (value == -1) { + hand->unk0cc8_03 = false; + } + } + } else { + hand->stateflags = 0; + } + + if (hand->triggeron) { + hand->unk0cc8_03 = false; + } + +#if VERSION >= VERSION_JPN_FINAL + if (g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_EYESPY) { + hand->unk0cc8_03 = false; + } +#endif + } else { + if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { + if (bgun0f098a44(hand, 1)) { + bgun0f098df8(hand->gset.weaponfunc, info, hand, 0, 0); + hand->stateflags |= HANDSTATEFLAG_00000010; + } + } + } + + if (hand->animmode != HANDANIMMODE_BUSY) { + if (bgunSetState(handnum, HANDSTATE_IDLE)) { + return lvupdate; + } + } + + if (1); + } + } + + if (hand->stateminor == 1) { + if (hand->count60 > TICKS(15) || !hand->visible) { + hand->mode = HANDMODE_11; + hand->stateminor++; + hand->pausetime60 = TICKS(17); + hand->count60 = 0; + hand->count = 0; + } else { + bgun0f099780(hand, (hand->count60 * 0.87252569198608f) / TICKS(16)); + } + } + + if (hand->stateminor == 2) { + if (hand->count == 0) { + if (info->weaponnum == WEAPON_COMBATKNIFE + && func->ammoindex >= 0 + && info->definition->ammos[func->ammoindex]->reload_animation) { + bgunStartAnimation(info->definition->ammos[func->ammoindex]->reload_animation, handnum, hand); + hand->unk0cc8_02 = true; + } + + if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { + bgun0f098df8(hand->gset.weaponfunc, info, hand, 0, 0); + } + + if (g_Vars.lvupdate240 > 0 + && g_Vars.currentplayer->cameramode != CAMERAMODE_THIRDPERSON + && bgun0f09dd7c() + && !g_PlayerInvincible + && !g_Vars.currentplayer->isdead) { + switch (info->weaponnum) { + case WEAPON_NONE: + case WEAPON_UNARMED: + case WEAPON_COMBATKNIFE: + case WEAPON_LASER: + case WEAPON_GRENADE: + case WEAPON_TIMEDMINE: + case WEAPON_PROXIMITYMINE: + case WEAPON_REMOTEMINE: + case WEAPON_ECMMINE: + case WEAPON_COMMSRIDER: + case WEAPON_TRACERBUG: + case WEAPON_TARGETAMPLIFIER: + case WEAPON_BRIEFCASE2: + // No reload sound + break; + default: + sndStart(var80095200, SFX_RELOAD_DEFAULT, 0, -1, -1, -1, -1, -1); + break; + } + } + } + + if (hand->count60 >= hand->pausetime60 && hand->count >= 2) { + hand->mode = HANDMODE_12; + hand->stateminor++; + hand->count60 = 0; + hand->count = 0; + } else { + bgun0f099780(hand, 0.87252569198608f); + } + } + + if (hand->stateminor == 3) { + if (info->weaponnum == WEAPON_COMBATKNIFE) { + hand->animmode = HANDANIMMODE_IDLE; + } + + if (hand->count == 0) { + g_Vars.currentplayer->doautoselect = false; + } + + if (hand->count60 >= TICKS(23) + || !weaponGetModelNum2(info->weaponnum) + || !weaponHasFlag(info->weaponnum, WEAPONFLAG_00000040) + || weaponHasFlag(info->weaponnum, WEAPONFLAG_00000080)) { + hand->mode = HANDMODE_NONE; + hand->count60 = 0; + hand->count = 0; + + if (bgunSetState(handnum, HANDSTATE_IDLE)) { + return lvupdate; + } + } else { + bgun0f099780(hand, (TICKS(23) - hand->count60) * 0.87252569198608f / TICKS(23)); + } + } + + return 0; +} s32 bgunTickIncChangeFunc(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) {