diff --git a/src/game/botact.c b/src/game/botact.c index 29c7e97aa..fe5a81743 100644 --- a/src/game/botact.c +++ b/src/game/botact.c @@ -510,7 +510,7 @@ void botactCreateSlayerRocket(struct chrdata *chr) struct coord sp100; yrot = chrGetAimAngle(chr); - xrot = func0f03e754(chr); + xrot = chrGetPitchAngle(chr); sp100.x = cosf(xrot) * sinf(yrot); sp100.y = sinf(xrot); diff --git a/src/game/chraction.c b/src/game/chraction.c index 3bb9008ff..124c79c22 100644 --- a/src/game/chraction.c +++ b/src/game/chraction.c @@ -7434,20 +7434,6 @@ bool chrTryRunFromTarget(struct chrdata *chr) return false; } -const char var7f1a8ae4[] = "aimadjust=%d"; - -#if VERSION >= VERSION_PAL_FINAL -const char var7f1a8af4[] = "chr/chraction.c"; -#else -const char var7f1a8af4[] = "chraction.c"; -#endif - -const char var7f1a8b00[] = "firing(%d) %d, beam(%d) %s"; -const char var7f1a8b1c[] = "on"; -const char var7f1a8b20[] = "off"; -const char var7f1a8b24[] = "firecount(%d) = %d"; -const char var7f1a8b38[] = "numshots(%d) = %d"; - /** * Attempt to make the chr find a suitable prop in their current room to use as * cover and run to it. However, a bug prevents this from working. @@ -8919,7 +8905,7 @@ f32 chrGetAimAngle(struct chrdata *chr) return angle; } -f32 func0f03e754(struct chrdata *chr) +f32 chrGetPitchAngle(struct chrdata *chr) { f32 sum = chr->aimuprshoulder + chr->aimupback; @@ -9838,7947 +9824,21 @@ void chrCalculateTrajectory(struct coord *frompos, f32 arg1, struct coord *aimpo arg3->z = zvel / latvel * sp28; } -#if MATCHING -#if VERSION == VERSION_JPN_FINAL -GLOBAL_ASM( -glabel chrShoot -.late_rodata -glabel var7f1a90c8 -.word 0x3d638e39 -glabel var7f1a90cc -.word 0x481c4000 -glabel var7f1a90d0 -.word 0x3fd55555 -glabel var7f1a90d4 -.word 0x3fd55555 -glabel var7f1a90d8 -.word 0x3fd55555 -glabel var7f1a90dc -.word 0x461c4000 -glabel var7f1a90e0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14e8 # f0419bc -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.word chrShoot+0x14dc # f0419b0 -.text -/* f0404d4: 27bdfd88 */ addiu $sp,$sp,-632 -/* f0404d8: afbf0044 */ sw $ra,0x44($sp) -/* f0404dc: afa5027c */ sw $a1,0x27c($sp) -/* f0404e0: 8c8e001c */ lw $t6,0x1c($a0) -/* f0404e4: 240f0001 */ addiu $t7,$zero,0x1 -/* f0404e8: a3af026e */ sb $t7,0x26e($sp) -/* f0404ec: afae0274 */ sw $t6,0x274($sp) -/* f0404f0: 8c9802d4 */ lw $t8,0x2d4($a0) -/* f0404f4: 00001025 */ or $v0,$zero,$zero -/* f0404f8: 8fa5027c */ lw $a1,0x27c($sp) -/* f0404fc: 53000003 */ beqzl $t8,.L0f04050c -/* f040500: a3a2026f */ sb $v0,0x26f($sp) -/* f040504: 24020001 */ addiu $v0,$zero,0x1 -/* f040508: a3a2026f */ sb $v0,0x26f($sp) -.L0f04050c: -/* f04050c: 0fc0a209 */ jal chrGetHeldProp -/* f040510: afa40278 */ sw $a0,0x278($sp) -/* f040514: 50400554 */ beqzl $v0,.L0f041a68 -/* f040518: 8fbf0044 */ lw $ra,0x44($sp) -/* f04051c: afa00268 */ sw $zero,0x268($sp) -/* f040520: 8c590004 */ lw $t9,0x4($v0) -/* f040524: 8fa40278 */ lw $a0,0x278($sp) -/* f040528: 0fc0a221 */ jal chrGetTargetProp -/* f04052c: afb90264 */ sw $t9,0x264($sp) -/* f040530: 8fab0264 */ lw $t3,0x264($sp) -/* f040534: afa2025c */ sw $v0,0x25c($sp) -/* f040538: 8fa70278 */ lw $a3,0x278($sp) -/* f04053c: 8961005c */ lwl $at,0x5c($t3) -/* f040540: 9961005f */ lwr $at,0x5f($t3) -/* f040544: 27aa0260 */ addiu $t2,$sp,0x260 -/* f040548: 24080200 */ addiu $t0,$zero,0x200 -/* f04054c: ad410000 */ sw $at,0x0($t2) -/* f040550: 80e30007 */ lb $v1,0x7($a3) -/* f040554: 24010008 */ addiu $at,$zero,0x8 -/* f040558: 10610007 */ beq $v1,$at,.L0f040578 -/* f04055c: 2401001b */ addiu $at,$zero,0x1b -/* f040560: 10610005 */ beq $v1,$at,.L0f040578 -/* f040564: 2401001c */ addiu $at,$zero,0x1c -/* f040568: 10610003 */ beq $v1,$at,.L0f040578 -/* f04056c: 2401001d */ addiu $at,$zero,0x1d -/* f040570: 54610003 */ bnel $v1,$at,.L0f040580 -/* f040574: afa00250 */ sw $zero,0x250($sp) -.L0f040578: -/* f040578: 8ce8004c */ lw $t0,0x4c($a3) -/* f04057c: afa00250 */ sw $zero,0x250($sp) -.L0f040580: -/* f040580: afa00224 */ sw $zero,0x224($sp) -/* f040584: afa00210 */ sw $zero,0x210($sp) -/* f040588: 93a40260 */ lbu $a0,0x260($sp) -/* f04058c: 93a50263 */ lbu $a1,0x263($sp) -/* f040590: afa00254 */ sw $zero,0x254($sp) -/* f040594: 0fc2c7ba */ jal weaponGetNumTicksPerShot -/* f040598: afa80258 */ sw $t0,0x258($sp) -/* f04059c: 8fa60254 */ lw $a2,0x254($sp) -/* f0405a0: 1c400005 */ bgtz $v0,.L0f0405b8 -/* f0405a4: 00402025 */ or $a0,$v0,$zero -/* f0405a8: 240f0001 */ addiu $t7,$zero,0x1 -/* f0405ac: 24060001 */ addiu $a2,$zero,0x1 -/* f0405b0: 10000055 */ b .L0f040708 -/* f0405b4: afaf0250 */ sw $t7,0x250($sp) -.L0f0405b8: -/* f0405b8: 8fb80278 */ lw $t8,0x278($sp) -/* f0405bc: 8f0302d4 */ lw $v1,0x2d4($t8) -/* f0405c0: 5060001d */ beqzl $v1,.L0f040638 -/* f0405c4: 8faa0278 */ lw $t2,0x278($sp) -/* f0405c8: 8c790020 */ lw $t9,0x20($v1) -/* f0405cc: 24010014 */ addiu $at,$zero,0x14 -/* f0405d0: 57210019 */ bnel $t9,$at,.L0f040638 -/* f0405d4: 8faa0278 */ lw $t2,0x278($sp) -/* f0405d8: 8c6d004c */ lw $t5,0x4c($v1) -/* f0405dc: 8fab027c */ lw $t3,0x27c($sp) -/* f0405e0: 000d5080 */ sll $t2,$t5,0x2 -/* f0405e4: 05400013 */ bltz $t2,.L0f040634 -/* f0405e8: 000b7040 */ sll $t6,$t3,0x1 -/* f0405ec: 006e7821 */ addu $t7,$v1,$t6 -/* f0405f0: 85f800e0 */ lh $t8,0xe0($t7) -/* f0405f4: 2419005a */ addiu $t9,$zero,0x5a -/* f0405f8: 3c017f1b */ lui $at,%hi(var7f1a90c8) -/* f0405fc: 03386823 */ subu $t5,$t9,$t8 -/* f040600: 448d2000 */ mtc1 $t5,$f4 -/* f040604: c42890c8 */ lwc1 $f8,%lo(var7f1a90c8)($at) -/* f040608: 44825000 */ mtc1 $v0,$f10 -/* f04060c: 468021a0 */ cvt.s.w $f6,$f4 -/* f040610: 3c013f80 */ lui $at,0x3f80 -/* f040614: 44819000 */ mtc1 $at,$f18 -/* f040618: 46805420 */ cvt.s.w $f16,$f10 -/* f04061c: 46083002 */ mul.s $f0,$f6,$f8 -/* f040620: 46009100 */ add.s $f4,$f18,$f0 -/* f040624: 46048182 */ mul.s $f6,$f16,$f4 -/* f040628: 4600320d */ trunc.w.s $f8,$f6 -/* f04062c: 44044000 */ mfc1 $a0,$f8 -/* f040630: 00000000 */ nop -.L0f040634: -/* f040634: 8faa0278 */ lw $t2,0x278($sp) -.L0f040638: -/* f040638: 8fab027c */ lw $t3,0x27c($sp) -/* f04063c: 3c0f800a */ lui $t7,%hi(g_Vars+0x38) -/* f040640: 8def9ff8 */ lw $t7,%lo(g_Vars+0x38)($t7) -/* f040644: 014b1821 */ addu $v1,$t2,$t3 -/* f040648: 906e0004 */ lbu $t6,0x4($v1) -/* f04064c: 01cfc821 */ addu $t9,$t6,$t7 -/* f040650: 333800ff */ andi $t8,$t9,0xff -/* f040654: 0304082a */ slt $at,$t8,$a0 -/* f040658: 1420002b */ bnez $at,.L0f040708 -/* f04065c: a0790004 */ sb $t9,0x4($v1) -/* f040660: a0600004 */ sb $zero,0x4($v1) -/* f040664: 8faa0278 */ lw $t2,0x278($sp) -/* f040668: 8fad027c */ lw $t5,0x27c($sp) -/* f04066c: 240c0001 */ addiu $t4,$zero,0x1 -/* f040670: 8d4b032c */ lw $t3,0x32c($t2) -/* f040674: 01ac1004 */ sllv $v0,$t4,$t5 -/* f040678: 24060001 */ addiu $a2,$zero,0x1 -/* f04067c: 000b7300 */ sll $t6,$t3,0xc -/* f040680: 914b032d */ lbu $t3,0x32d($t2) -/* f040684: 000e7f82 */ srl $t7,$t6,0x1e -/* f040688: 01e2c026 */ xor $t8,$t7,$v0 -/* f04068c: 00186080 */ sll $t4,$t8,0x2 -/* f040690: 318d000c */ andi $t5,$t4,0xc -/* f040694: 316efff3 */ andi $t6,$t3,0xfff3 -/* f040698: 01ae7825 */ or $t7,$t5,$t6 -/* f04069c: a14f032d */ sb $t7,0x32d($t2) -/* f0406a0: 8d59032c */ lw $t9,0x32c($t2) -/* f0406a4: 93ad0260 */ lbu $t5,0x260($sp) -/* f0406a8: 2401001d */ addiu $at,$zero,0x1d -/* f0406ac: 0019c300 */ sll $t8,$t9,0xc -/* f0406b0: 00186782 */ srl $t4,$t8,0x1e -/* f0406b4: 01825824 */ and $t3,$t4,$v0 -/* f0406b8: 15600003 */ bnez $t3,.L0f0406c8 -/* f0406bc: 240e0001 */ addiu $t6,$zero,0x1 -/* f0406c0: 55a10003 */ bnel $t5,$at,.L0f0406d0 -/* f0406c4: 8faf0278 */ lw $t7,0x278($sp) -.L0f0406c8: -/* f0406c8: afae0250 */ sw $t6,0x250($sp) -/* f0406cc: 8faf0278 */ lw $t7,0x278($sp) -.L0f0406d0: -/* f0406d0: 24010008 */ addiu $at,$zero,0x8 -/* f0406d4: 81ea0007 */ lb $t2,0x7($t7) -/* f0406d8: 1541000b */ bne $t2,$at,.L0f040708 -/* f0406dc: 00000000 */ nop -/* f0406e0: 8de40020 */ lw $a0,0x20($t7) -/* f0406e4: 0c00744f */ jal modelGetAnimNum -/* f0406e8: afa60254 */ sw $a2,0x254($sp) -/* f0406ec: 2401026a */ addiu $at,$zero,0x26a -/* f0406f0: 14410005 */ bne $v0,$at,.L0f040708 -/* f0406f4: 8fa60254 */ lw $a2,0x254($sp) -/* f0406f8: 8fb90278 */ lw $t9,0x278($sp) -/* f0406fc: 83380033 */ lb $t8,0x33($t9) -/* f040700: 270c0001 */ addiu $t4,$t8,0x1 -/* f040704: a32c0033 */ sb $t4,0x33($t9) -.L0f040708: -/* f040708: 50c0049b */ beqzl $a2,.L0f041978 -/* f04070c: 8fa80268 */ lw $t0,0x268($sp) -/* f040710: 0fc0f97c */ jal chrGetAimAngle -/* f040714: 8fa40278 */ lw $a0,0x278($sp) -/* f040718: e7a00204 */ swc1 $f0,0x204($sp) -/* f04071c: 0fc0f9d5 */ jal func0f03e754 -/* f040720: 8fa40278 */ lw $a0,0x278($sp) -/* f040724: 93ab026f */ lbu $t3,0x26f($sp) -/* f040728: e7a00200 */ swc1 $f0,0x200($sp) -/* f04072c: 240e0001 */ addiu $t6,$zero,0x1 -/* f040730: 11600004 */ beqz $t3,.L0f040744 -/* f040734: 27a60244 */ addiu $a2,$sp,0x244 -/* f040738: 240d0004 */ addiu $t5,$zero,0x4 -/* f04073c: 10000002 */ b .L0f040748 -/* f040740: afad01fc */ sw $t5,0x1fc($sp) -.L0f040744: -/* f040744: afa001fc */ sw $zero,0x1fc($sp) -.L0f040748: -/* f040748: afae0268 */ sw $t6,0x268($sp) -/* f04074c: 8fa40278 */ lw $a0,0x278($sp) -/* f040750: 0fc0ff79 */ jal chrGetGunPos -/* f040754: 8fa5027c */ lw $a1,0x27c($sp) -/* f040758: 54400032 */ bnezl $v0,.L0f040824 -/* f04075c: 8fa40278 */ lw $a0,0x278($sp) -/* f040760: 8fa20274 */ lw $v0,0x274($sp) -/* f040764: 3c0141f0 */ lui $at,0x41f0 -/* f040768: 44818000 */ mtc1 $at,$f16 -/* f04076c: c44a0008 */ lwc1 $f10,0x8($v0) -/* f040770: 8faa027c */ lw $t2,0x27c($sp) -/* f040774: 24010001 */ addiu $at,$zero,0x1 -/* f040778: e7aa0244 */ swc1 $f10,0x244($sp) -/* f04077c: c452000c */ lwc1 $f18,0xc($v0) -/* f040780: 46109100 */ add.s $f4,$f18,$f16 -/* f040784: e7a40248 */ swc1 $f4,0x248($sp) -/* f040788: c4460010 */ lwc1 $f6,0x10($v0) -/* f04078c: 15410013 */ bne $t2,$at,.L0f0407dc -/* f040790: e7a6024c */ swc1 $f6,0x24c($sp) -/* f040794: 0c0068f4 */ jal cosf -/* f040798: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f04079c: 3c014120 */ lui $at,0x4120 -/* f0407a0: 44815000 */ mtc1 $at,$f10 -/* f0407a4: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0407a8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407ac: 460a0482 */ mul.s $f18,$f0,$f10 -/* f0407b0: 46124400 */ add.s $f16,$f8,$f18 -/* f0407b4: 0c0068f7 */ jal sinf -/* f0407b8: e7b00244 */ swc1 $f16,0x244($sp) -/* f0407bc: 3c014120 */ lui $at,0x4120 -/* f0407c0: 44813000 */ mtc1 $at,$f6 -/* f0407c4: 46000107 */ neg.s $f4,$f0 -/* f0407c8: c7a8024c */ lwc1 $f8,0x24c($sp) -/* f0407cc: 46062282 */ mul.s $f10,$f4,$f6 -/* f0407d0: 460a4480 */ add.s $f18,$f8,$f10 -/* f0407d4: 10000012 */ b .L0f040820 -/* f0407d8: e7b2024c */ swc1 $f18,0x24c($sp) -.L0f0407dc: -/* f0407dc: 0c0068f4 */ jal cosf -/* f0407e0: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407e4: 3c014120 */ lui $at,0x4120 -/* f0407e8: 44812000 */ mtc1 $at,$f4 -/* f0407ec: 46000407 */ neg.s $f16,$f0 -/* f0407f0: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0407f4: 46048182 */ mul.s $f6,$f16,$f4 -/* f0407f8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407fc: 46064280 */ add.s $f10,$f8,$f6 -/* f040800: 0c0068f7 */ jal sinf -/* f040804: e7aa0244 */ swc1 $f10,0x244($sp) -/* f040808: 3c014120 */ lui $at,0x4120 -/* f04080c: 44818000 */ mtc1 $at,$f16 -/* f040810: c7b2024c */ lwc1 $f18,0x24c($sp) -/* f040814: 46100102 */ mul.s $f4,$f0,$f16 -/* f040818: 46049200 */ add.s $f8,$f18,$f4 -/* f04081c: e7a8024c */ swc1 $f8,0x24c($sp) -.L0f040820: -/* f040820: 8fa40278 */ lw $a0,0x278($sp) -.L0f040824: -/* f040824: 0fc079ef */ jal chrSetPerimEnabled -/* f040828: 00002825 */ or $a1,$zero,$zero -/* f04082c: 8fb801fc */ lw $t8,0x1fc($sp) -/* f040830: 8faf0274 */ lw $t7,0x274($sp) -/* f040834: 24190010 */ addiu $t9,$zero,0x10 -/* f040838: 370c082a */ ori $t4,$t8,0x82a -/* f04083c: afac0010 */ sw $t4,0x10($sp) -/* f040840: afb90014 */ sw $t9,0x14($sp) -/* f040844: 27a60244 */ addiu $a2,$sp,0x244 -/* f040848: 27a70234 */ addiu $a3,$sp,0x234 -/* f04084c: 25e40008 */ addiu $a0,$t7,0x8 -/* f040850: 0c00b78d */ jal cd0002de34 -/* f040854: 25e50028 */ addiu $a1,$t7,0x28 -/* f040858: 14400002 */ bnez $v0,.L0f040864 -/* f04085c: 24050001 */ addiu $a1,$zero,0x1 -/* f040860: afa00268 */ sw $zero,0x268($sp) -.L0f040864: -/* f040864: 0fc079ef */ jal chrSetPerimEnabled -/* f040868: 8fa40278 */ lw $a0,0x278($sp) -/* f04086c: 8fab0268 */ lw $t3,0x268($sp) -/* f040870: 240d0001 */ addiu $t5,$zero,0x1 -/* f040874: 51600440 */ beqzl $t3,.L0f041978 -/* f040878: 8fa80268 */ lw $t0,0x268($sp) -/* f04087c: 93ae026f */ lbu $t6,0x26f($sp) -/* f040880: afa001f8 */ sw $zero,0x1f8($sp) -/* f040884: afa001f4 */ sw $zero,0x1f4($sp) -/* f040888: afad01f0 */ sw $t5,0x1f0($sp) -/* f04088c: 11c00004 */ beqz $t6,.L0f0408a0 -/* f040890: afa001cc */ sw $zero,0x1cc($sp) -/* f040894: 240a083f */ addiu $t2,$zero,0x83f -/* f040898: 10000003 */ b .L0f0408a8 -/* f04089c: afaa01c8 */ sw $t2,0x1c8($sp) -.L0f0408a0: -/* f0408a0: 240f083b */ addiu $t7,$zero,0x83b -/* f0408a4: afaf01c8 */ sw $t7,0x1c8($sp) -.L0f0408a8: -/* f0408a8: 8fa7025c */ lw $a3,0x25c($sp) -/* f0408ac: 8ce20004 */ lw $v0,0x4($a3) -/* f0408b0: 50400004 */ beqzl $v0,.L0f0408c4 -/* f0408b4: 00004825 */ or $t1,$zero,$zero -/* f0408b8: 10000002 */ b .L0f0408c4 -/* f0408bc: 904902fe */ lbu $t1,0x2fe($v0) -/* f0408c0: 00004825 */ or $t1,$zero,$zero -.L0f0408c4: -/* f0408c4: 39220003 */ xori $v0,$t1,0x3 -/* f0408c8: 2c420001 */ sltiu $v0,$v0,0x1 -/* f0408cc: 1040000f */ beqz $v0,.L0f04090c -/* f0408d0: 00401825 */ or $v1,$v0,$zero -/* f0408d4: afa2005c */ sw $v0,0x5c($sp) -/* f0408d8: 0fc12472 */ jal chrGetDistanceToTarget -/* f0408dc: 8fa40278 */ lw $a0,0x278($sp) -/* f0408e0: 3c014316 */ lui $at,0x4316 -/* f0408e4: 44813000 */ mtc1 $at,$f6 -/* f0408e8: 0000c025 */ or $t8,$zero,$zero -/* f0408ec: 4600303c */ c.lt.s $f6,$f0 -/* f0408f0: 00000000 */ nop -/* f0408f4: 45020003 */ bc1fl .L0f040904 -/* f0408f8: afb8005c */ sw $t8,0x5c($sp) -/* f0408fc: 24180001 */ addiu $t8,$zero,0x1 -/* f040900: afb8005c */ sw $t8,0x5c($sp) -.L0f040904: -/* f040904: 8fa7025c */ lw $a3,0x25c($sp) -/* f040908: 03001825 */ or $v1,$t8,$zero -.L0f04090c: -/* f04090c: afa301c0 */ sw $v1,0x1c0($sp) -/* f040910: 10600016 */ beqz $v1,.L0f04096c -/* f040914: afa001bc */ sw $zero,0x1bc($sp) -/* f040918: c4ea0008 */ lwc1 $f10,0x8($a3) -/* f04091c: c7b00244 */ lwc1 $f16,0x244($sp) -/* f040920: c7a80248 */ lwc1 $f8,0x248($sp) -/* f040924: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040928: 46105481 */ sub.s $f18,$f10,$f16 -/* f04092c: c7b0024c */ lwc1 $f16,0x24c($sp) -/* f040930: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040934: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040938: e7b201e0 */ swc1 $f18,0x1e0($sp) -/* f04093c: c4e4000c */ lwc1 $f4,0xc($a3) -/* f040940: 46082181 */ sub.s $f6,$f4,$f8 -/* f040944: e7a601e4 */ swc1 $f6,0x1e4($sp) -/* f040948: c4ea0010 */ lwc1 $f10,0x10($a3) -/* f04094c: 46105481 */ sub.s $f18,$f10,$f16 -/* f040950: 0c0011e4 */ jal guNormalize -/* f040954: e7b201e8 */ swc1 $f18,0x1e8($sp) -/* f040958: 8fa4025c */ lw $a0,0x25c($sp) -/* f04095c: 0fc1905e */ jal propSetPerimEnabled -/* f040960: 24050001 */ addiu $a1,$zero,0x1 -/* f040964: 1000002f */ b .L0f040a24 -/* f040968: 8fab0278 */ lw $t3,0x278($sp) -.L0f04096c: -/* f04096c: 0c0068f4 */ jal cosf -/* f040970: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040974: e7a00060 */ swc1 $f0,0x60($sp) -/* f040978: 0c0068f7 */ jal sinf -/* f04097c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040980: c7a40060 */ lwc1 $f4,0x60($sp) -/* f040984: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040988: 46040202 */ mul.s $f8,$f0,$f4 -/* f04098c: 0c0068f7 */ jal sinf -/* f040990: e7a801e0 */ swc1 $f8,0x1e0($sp) -/* f040994: e7a001e4 */ swc1 $f0,0x1e4($sp) -/* f040998: 0c0068f4 */ jal cosf -/* f04099c: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f0409a0: e7a00060 */ swc1 $f0,0x60($sp) -/* f0409a4: 0c0068f4 */ jal cosf -/* f0409a8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0409ac: c7a60060 */ lwc1 $f6,0x60($sp) -/* f0409b0: 93ac026f */ lbu $t4,0x26f($sp) -/* f0409b4: 46060282 */ mul.s $f10,$f0,$f6 -/* f0409b8: 11800019 */ beqz $t4,.L0f040a20 -/* f0409bc: e7aa01e8 */ swc1 $f10,0x1e8($sp) -/* f0409c0: 0fc644fe */ jal botGuessCrouchPos -/* f0409c4: 8fa40278 */ lw $a0,0x278($sp) -/* f0409c8: 8fb90278 */ lw $t9,0x278($sp) -/* f0409cc: 00404825 */ or $t1,$v0,$zero -/* f0409d0: 8fae0278 */ lw $t6,0x278($sp) -/* f0409d4: 8f280170 */ lw $t0,0x170($t9) -/* f0409d8: 0008582b */ sltu $t3,$zero,$t0 -/* f0409dc: 11600004 */ beqz $t3,.L0f0409f0 -/* f0409e0: 01604025 */ or $t0,$t3,$zero -/* f0409e4: 8f280174 */ lw $t0,0x174($t9) -/* f0409e8: 0008682b */ sltu $t5,$zero,$t0 -/* f0409ec: 01a04025 */ or $t0,$t5,$zero -.L0f0409f0: -/* f0409f0: 8dc302d4 */ lw $v1,0x2d4($t6) -/* f0409f4: 8fb8027c */ lw $t8,0x27c($sp) -/* f0409f8: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f0409fc: 8c66004c */ lw $a2,0x4c($v1) -/* f040a00: 00786021 */ addu $t4,$v1,$t8 -/* f040a04: 9187004d */ lbu $a3,0x4d($t4) -/* f040a08: 8c650020 */ lw $a1,0x20($v1) -/* f040a0c: 00065080 */ sll $t2,$a2,0x2 -/* f040a10: 000a37c2 */ srl $a2,$t2,0x1f -/* f040a14: afa80014 */ sw $t0,0x14($sp) -/* f040a18: 0fc283eb */ jal bgunCalculateBotShotSpread -/* f040a1c: afa90010 */ sw $t1,0x10($sp) -.L0f040a20: -/* f040a20: 8fab0278 */ lw $t3,0x278($sp) -.L0f040a24: -/* f040a24: 93b90260 */ lbu $t9,0x260($sp) -/* f040a28: 24010016 */ addiu $at,$zero,0x16 -/* f040a2c: 8d6302d4 */ lw $v1,0x2d4($t3) -/* f040a30: 50600018 */ beqzl $v1,.L0f040a94 -/* f040a34: 3c014780 */ lui $at,0x4780 -/* f040a38: 57210016 */ bnel $t9,$at,.L0f040a94 -/* f040a3c: 3c014780 */ lui $at,0x4780 -/* f040a40: 8c6d0128 */ lw $t5,0x128($v1) -/* f040a44: 240e0001 */ addiu $t6,$zero,0x1 -/* f040a48: 01602025 */ or $a0,$t3,$zero -/* f040a4c: 15a00010 */ bnez $t5,.L0f040a90 -/* f040a50: 00002825 */ or $a1,$zero,$zero -/* f040a54: afae0250 */ sw $t6,0x250($sp) -/* f040a58: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040a5c: 0fc667e1 */ jal botactShootFarsight -/* f040a60: 27a70244 */ addiu $a3,$sp,0x244 -/* f040a64: 24010002 */ addiu $at,$zero,0x2 -/* f040a68: 5441000a */ bnel $v0,$at,.L0f040a94 -/* f040a6c: 3c014780 */ lui $at,0x4780 -/* f040a70: 0c004b70 */ jal random -/* f040a74: 00000000 */ nop -/* f040a78: 240100ff */ addiu $at,$zero,0xff -/* f040a7c: 0041001b */ divu $zero,$v0,$at -/* f040a80: 00005010 */ mfhi $t2 -/* f040a84: 2d4f00c9 */ sltiu $t7,$t2,0xc9 -/* f040a88: 39ef0001 */ xori $t7,$t7,0x1 -/* f040a8c: a3af026e */ sb $t7,0x26e($sp) -.L0f040a90: -/* f040a90: 3c014780 */ lui $at,0x4780 -.L0f040a94: -/* f040a94: 44810000 */ mtc1 $at,$f0 -/* f040a98: c7b001e0 */ lwc1 $f16,0x1e0($sp) -/* f040a9c: c7a40244 */ lwc1 $f4,0x244($sp) -/* f040aa0: c7a601e4 */ lwc1 $f6,0x1e4($sp) -/* f040aa4: 46008482 */ mul.s $f18,$f16,$f0 -/* f040aa8: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040aac: 8fa40278 */ lw $a0,0x278($sp) -/* f040ab0: 46003282 */ mul.s $f10,$f6,$f0 -/* f040ab4: c7a6024c */ lwc1 $f6,0x24c($sp) -/* f040ab8: 00002825 */ or $a1,$zero,$zero -/* f040abc: 46049200 */ add.s $f8,$f18,$f4 -/* f040ac0: c7a401e8 */ lwc1 $f4,0x1e8($sp) -/* f040ac4: 46105480 */ add.s $f18,$f10,$f16 -/* f040ac8: e7a80228 */ swc1 $f8,0x228($sp) -/* f040acc: 46002202 */ mul.s $f8,$f4,$f0 -/* f040ad0: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040ad4: 46064280 */ add.s $f10,$f8,$f6 -/* f040ad8: 0fc079ef */ jal chrSetPerimEnabled -/* f040adc: e7aa0230 */ swc1 $f10,0x230($sp) -/* f040ae0: 93b8026f */ lbu $t8,0x26f($sp) -/* f040ae4: 27a40244 */ addiu $a0,$sp,0x244 -/* f040ae8: 27a50234 */ addiu $a1,$sp,0x234 -/* f040aec: 13000004 */ beqz $t8,.L0f040b00 -/* f040af0: 27a60228 */ addiu $a2,$sp,0x228 -/* f040af4: 240c0001 */ addiu $t4,$zero,0x1 -/* f040af8: 3c01800a */ lui $at,%hi(g_Vars+0x48c) -/* f040afc: ac2ca44c */ sw $t4,%lo(g_Vars+0x48c)($at) -.L0f040b00: -/* f040b00: 24190010 */ addiu $t9,$zero,0x10 -/* f040b04: afb90010 */ sw $t9,0x10($sp) -/* f040b08: 0c00b764 */ jal cdTestAToB4 -/* f040b0c: 8fa701c8 */ lw $a3,0x1c8($sp) -/* f040b10: 1440000a */ bnez $v0,.L0f040b3c -/* f040b14: 240d0001 */ addiu $t5,$zero,0x1 -/* f040b18: 3c067f1b */ lui $a2,%hi(var7f1a8af4) -/* f040b1c: afad0224 */ sw $t5,0x224($sp) -/* f040b20: 24c68af4 */ addiu $a2,$a2,%lo(var7f1a8af4) -/* f040b24: 27a40228 */ addiu $a0,$sp,0x228 -/* f040b28: 0c0093af */ jal cdGetPos -/* f040b2c: 24052f30 */ addiu $a1,$zero,0x2f30 -/* f040b30: 0c0093ac */ jal cdGetObstacle -/* f040b34: 00000000 */ nop -/* f040b38: afa201cc */ sw $v0,0x1cc($sp) -.L0f040b3c: -/* f040b3c: 8fa40278 */ lw $a0,0x278($sp) -/* f040b40: 0fc079ef */ jal chrSetPerimEnabled -/* f040b44: 24050001 */ addiu $a1,$zero,0x1 -/* f040b48: 93ae026f */ lbu $t6,0x26f($sp) -/* f040b4c: 3c01800a */ lui $at,%hi(g_Vars+0x48c) -/* f040b50: 51c00003 */ beqzl $t6,.L0f040b60 -/* f040b54: 8fab01cc */ lw $t3,0x1cc($sp) -/* f040b58: ac20a44c */ sw $zero,%lo(g_Vars+0x48c)($at) -/* f040b5c: 8fab01cc */ lw $t3,0x1cc($sp) -.L0f040b60: -/* f040b60: 8faa01c0 */ lw $t2,0x1c0($sp) -/* f040b64: 55600015 */ bnezl $t3,.L0f040bbc -/* f040b68: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040b6c: 51400013 */ beqzl $t2,.L0f040bbc -/* f040b70: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040b74: 0c004b70 */ jal random -/* f040b78: 00000000 */ nop -/* f040b7c: 24010064 */ addiu $at,$zero,0x64 -/* f040b80: 0041001b */ divu $zero,$v0,$at -/* f040b84: 00001810 */ mfhi $v1 -/* f040b88: 2c6f0033 */ sltiu $t7,$v1,0x33 -/* f040b8c: 39ef0001 */ xori $t7,$t7,0x1 -/* f040b90: 11e00009 */ beqz $t7,.L0f040bb8 -/* f040b94: afaf01bc */ sw $t7,0x1bc($sp) -/* f040b98: 8fb8025c */ lw $t8,0x25c($sp) -/* f040b9c: afb801cc */ sw $t8,0x1cc($sp) -/* f040ba0: c7100008 */ lwc1 $f16,0x8($t8) -/* f040ba4: e7b00228 */ swc1 $f16,0x228($sp) -/* f040ba8: c712000c */ lwc1 $f18,0xc($t8) -/* f040bac: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040bb0: c7040010 */ lwc1 $f4,0x10($t8) -/* f040bb4: e7a40230 */ swc1 $f4,0x230($sp) -.L0f040bb8: -/* f040bb8: c7a80228 */ lwc1 $f8,0x228($sp) -.L0f040bbc: -/* f040bbc: c7a60244 */ lwc1 $f6,0x244($sp) -/* f040bc0: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f040bc4: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040bc8: 46064001 */ sub.s $f0,$f8,$f6 -/* f040bcc: c7b20230 */ lwc1 $f18,0x230($sp) -/* f040bd0: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f040bd4: 46105081 */ sub.s $f2,$f10,$f16 -/* f040bd8: 46000202 */ mul.s $f8,$f0,$f0 -/* f040bdc: 93a40260 */ lbu $a0,0x260($sp) -/* f040be0: 46049301 */ sub.s $f12,$f18,$f4 -/* f040be4: 46021182 */ mul.s $f6,$f2,$f2 -/* f040be8: 24010018 */ addiu $at,$zero,0x18 -/* f040bec: 460c6402 */ mul.s $f16,$f12,$f12 -/* f040bf0: 46064280 */ add.s $f10,$f8,$f6 -/* f040bf4: 46105480 */ add.s $f18,$f10,$f16 -/* f040bf8: 1081000f */ beq $a0,$at,.L0f040c38 -/* f040bfc: e7b201d0 */ swc1 $f18,0x1d0($sp) -/* f040c00: 24010019 */ addiu $at,$zero,0x19 -/* f040c04: 1081000c */ beq $a0,$at,.L0f040c38 -/* f040c08: 24010012 */ addiu $at,$zero,0x12 -/* f040c0c: 14810003 */ bne $a0,$at,.L0f040c1c -/* f040c10: 93ac0263 */ lbu $t4,0x263($sp) -/* f040c14: 24010001 */ addiu $at,$zero,0x1 -/* f040c18: 11810007 */ beq $t4,$at,.L0f040c38 -.L0f040c1c: -/* f040c1c: 24010017 */ addiu $at,$zero,0x17 -/* f040c20: 10810005 */ beq $a0,$at,.L0f040c38 -/* f040c24: 2401001b */ addiu $at,$zero,0x1b -/* f040c28: 10810003 */ beq $a0,$at,.L0f040c38 -/* f040c2c: 24010034 */ addiu $at,$zero,0x34 -/* f040c30: 54810171 */ bnel $a0,$at,.L0f0411f8 -/* f040c34: 24010006 */ addiu $at,$zero,0x6 -.L0f040c38: -/* f040c38: 93b9026f */ lbu $t9,0x26f($sp) -/* f040c3c: afa00250 */ sw $zero,0x250($sp) -/* f040c40: 3c017f1b */ lui $at,%hi(var7f1a90cc) -/* f040c44: 17200006 */ bnez $t9,.L0f040c60 -/* f040c48: c7a801d0 */ lwc1 $f8,0x1d0($sp) -/* f040c4c: c42490cc */ lwc1 $f4,%lo(var7f1a90cc)($at) -/* f040c50: 4608203c */ c.lt.s $f4,$f8 -/* f040c54: 00000000 */ nop -/* f040c58: 45020164 */ bc1fl .L0f0411ec -/* f040c5c: afa00268 */ sw $zero,0x268($sp) -.L0f040c60: -/* f040c60: 0fc2c3f4 */ jal weaponFindById -/* f040c64: 00000000 */ nop -/* f040c68: 93ad0263 */ lbu $t5,0x263($sp) -/* f040c6c: 93a40260 */ lbu $a0,0x260($sp) -/* f040c70: 24010018 */ addiu $at,$zero,0x18 -/* f040c74: 000d7080 */ sll $t6,$t5,0x2 -/* f040c78: 004e5821 */ addu $t3,$v0,$t6 -/* f040c7c: 10810006 */ beq $a0,$at,.L0f040c98 -/* f040c80: 8d630014 */ lw $v1,0x14($t3) -/* f040c84: 24010034 */ addiu $at,$zero,0x34 -/* f040c88: 10810003 */ beq $a0,$at,.L0f040c98 -/* f040c8c: 24010019 */ addiu $at,$zero,0x19 -/* f040c90: 5481000e */ bnel $a0,$at,.L0f040ccc -/* f040c94: 2401001b */ addiu $at,$zero,0x1b -.L0f040c98: -/* f040c98: 8c6a0010 */ lw $t2,0x10($v1) -/* f040c9c: 24050053 */ addiu $a1,$zero,0x53 -/* f040ca0: 8fa60278 */ lw $a2,0x278($sp) -/* f040ca4: 000a7840 */ sll $t7,$t2,0x1 -/* f040ca8: 05e30003 */ bgezl $t7,.L0f040cb8 -/* f040cac: 8c640040 */ lw $a0,0x40($v1) -/* f040cb0: 24050054 */ addiu $a1,$zero,0x54 -/* f040cb4: 8c640040 */ lw $a0,0x40($v1) -.L0f040cb8: -/* f040cb8: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040cbc: afa300d4 */ sw $v1,0xd4($sp) -/* f040cc0: 1000002e */ b .L0f040d7c -/* f040cc4: afa201b8 */ sw $v0,0x1b8($sp) -/* f040cc8: 2401001b */ addiu $at,$zero,0x1b -.L0f040ccc: -/* f040ccc: 1481000a */ bne $a0,$at,.L0f040cf8 -/* f040cd0: 24050056 */ addiu $a1,$zero,0x56 -/* f040cd4: 8c640040 */ lw $a0,0x40($v1) -/* f040cd8: afa300d4 */ sw $v1,0xd4($sp) -/* f040cdc: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040ce0: 8fa60278 */ lw $a2,0x278($sp) -/* f040ce4: 10400025 */ beqz $v0,.L0f040d7c -/* f040ce8: afa201b8 */ sw $v0,0x1b8($sp) -/* f040cec: 93b80263 */ lbu $t8,0x263($sp) -/* f040cf0: 10000022 */ b .L0f040d7c -/* f040cf4: a058005f */ sb $t8,0x5f($v0) -.L0f040cf8: -/* f040cf8: 24010017 */ addiu $at,$zero,0x17 -/* f040cfc: 1481000a */ bne $a0,$at,.L0f040d28 -/* f040d00: 24050055 */ addiu $a1,$zero,0x55 -/* f040d04: 8c640040 */ lw $a0,0x40($v1) -/* f040d08: afa300d4 */ sw $v1,0xd4($sp) -/* f040d0c: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040d10: 8fa60278 */ lw $a2,0x278($sp) -/* f040d14: 10400019 */ beqz $v0,.L0f040d7c -/* f040d18: afa201b8 */ sw $v0,0x1b8($sp) -/* f040d1c: 93ac0263 */ lbu $t4,0x263($sp) -/* f040d20: 10000016 */ b .L0f040d7c -/* f040d24: a04c005f */ sb $t4,0x5f($v0) -.L0f040d28: -/* f040d28: 24010012 */ addiu $at,$zero,0x12 -/* f040d2c: 1481000b */ bne $a0,$at,.L0f040d5c -/* f040d30: 3c0d800a */ lui $t5,%hi(g_Vars+0x284) -/* f040d34: 8c640040 */ lw $a0,0x40($v1) -/* f040d38: afa300d4 */ sw $v1,0xd4($sp) -/* f040d3c: 24050055 */ addiu $a1,$zero,0x55 -/* f040d40: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040d44: 8fa60278 */ lw $a2,0x278($sp) -/* f040d48: 1040000c */ beqz $v0,.L0f040d7c -/* f040d4c: afa201b8 */ sw $v0,0x1b8($sp) -/* f040d50: 24190002 */ addiu $t9,$zero,0x2 -/* f040d54: 10000009 */ b .L0f040d7c -/* f040d58: a059005f */ sb $t9,0x5f($v0) -.L0f040d5c: -/* f040d5c: 8dada244 */ lw $t5,%lo(g_Vars+0x284)($t5) -/* f040d60: 8c640040 */ lw $a0,0x40($v1) -/* f040d64: 27a50260 */ addiu $a1,$sp,0x260 -/* f040d68: 8dae00bc */ lw $t6,0xbc($t5) -/* f040d6c: 8dc60004 */ lw $a2,0x4($t6) -/* f040d70: 0fc22d96 */ jal weaponCreateProjectileFromGset -/* f040d74: afa300d4 */ sw $v1,0xd4($sp) -/* f040d78: afa201b8 */ sw $v0,0x1b8($sp) -.L0f040d7c: -/* f040d7c: 1040011b */ beqz $v0,.L0f0411ec -/* f040d80: 8fab00d4 */ lw $t3,0xd4($sp) -/* f040d84: 8d6a004c */ lw $t2,0x4c($t3) -/* f040d88: 3c017f1b */ lui $at,%hi(var7f1a90d0) -/* f040d8c: c43090d0 */ lwc1 $f16,%lo(var7f1a90d0)($at) -/* f040d90: 448a3000 */ mtc1 $t2,$f6 -/* f040d94: 3c014270 */ lui $at,0x4270 -/* f040d98: 44812000 */ mtc1 $at,$f4 -/* f040d9c: 468032a0 */ cvt.s.w $f10,$f6 -/* f040da0: 3c017f1b */ lui $at,%hi(var7f1a90d4) -/* f040da4: 93b8026f */ lbu $t8,0x26f($sp) -/* f040da8: 8fa40278 */ lw $a0,0x278($sp) -/* f040dac: 2405001e */ addiu $a1,$zero,0x1e -/* f040db0: 46105482 */ mul.s $f18,$f10,$f16 -/* f040db4: c43090d4 */ lwc1 $f16,%lo(var7f1a90d4)($at) -/* f040db8: 46049203 */ div.s $f8,$f18,$f4 -/* f040dbc: e7a80168 */ swc1 $f8,0x168($sp) -/* f040dc0: 8d6f0054 */ lw $t7,0x54($t3) -/* f040dc4: 448f3000 */ mtc1 $t7,$f6 -/* f040dc8: 00000000 */ nop -/* f040dcc: 468032a0 */ cvt.s.w $f10,$f6 -/* f040dd0: 46105482 */ mul.s $f18,$f10,$f16 -/* f040dd4: 13000080 */ beqz $t8,.L0f040fd8 -/* f040dd8: e7b200cc */ swc1 $f18,0xcc($sp) -/* f040ddc: 0fc1241a */ jal chrIsTargetInFov -/* f040de0: 00003025 */ or $a2,$zero,$zero -/* f040de4: 1040007c */ beqz $v0,.L0f040fd8 -/* f040de8: 00000000 */ nop -/* f040dec: 93a20263 */ lbu $v0,0x263($sp) -/* f040df0: 00001825 */ or $v1,$zero,$zero -/* f040df4: 93a40260 */ lbu $a0,0x260($sp) -/* f040df8: 14400025 */ bnez $v0,.L0f040e90 -/* f040dfc: 24010018 */ addiu $at,$zero,0x18 -/* f040e00: 10810006 */ beq $a0,$at,.L0f040e1c -/* f040e04: 8fac025c */ lw $t4,0x25c($sp) -/* f040e08: 24010034 */ addiu $at,$zero,0x34 -/* f040e0c: 10810003 */ beq $a0,$at,.L0f040e1c -/* f040e10: 24010019 */ addiu $at,$zero,0x19 -/* f040e14: 5481001f */ bnel $a0,$at,.L0f040e94 -/* f040e18: 93a40260 */ lbu $a0,0x260($sp) -.L0f040e1c: -/* f040e1c: 91820000 */ lbu $v0,0x0($t4) -/* f040e20: 24010003 */ addiu $at,$zero,0x3 -/* f040e24: 8fb9025c */ lw $t9,0x25c($sp) -/* f040e28: 10410003 */ beq $v0,$at,.L0f040e38 -/* f040e2c: 24010006 */ addiu $at,$zero,0x6 -/* f040e30: 14410051 */ bne $v0,$at,.L0f040f78 -/* f040e34: 00000000 */ nop -.L0f040e38: -/* f040e38: c7240008 */ lwc1 $f4,0x8($t9) -/* f040e3c: c7aa0244 */ lwc1 $f10,0x244($sp) -/* f040e40: c7b20248 */ lwc1 $f18,0x248($sp) -/* f040e44: e7a400b8 */ swc1 $f4,0xb8($sp) -/* f040e48: 8f2d0004 */ lw $t5,0x4($t9) -/* f040e4c: 460a2401 */ sub.s $f16,$f4,$f10 -/* f040e50: c7aa024c */ lwc1 $f10,0x24c($sp) -/* f040e54: c5a800b4 */ lwc1 $f8,0xb4($t5) -/* f040e58: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040e5c: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040e60: e7a800bc */ swc1 $f8,0xbc($sp) -/* f040e64: c7260010 */ lwc1 $f6,0x10($t9) -/* f040e68: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f040e6c: 46124101 */ sub.s $f4,$f8,$f18 -/* f040e70: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040e74: e7a600c0 */ swc1 $f6,0xc0($sp) -/* f040e78: 460a3401 */ sub.s $f16,$f6,$f10 -/* f040e7c: e7a401e4 */ swc1 $f4,0x1e4($sp) -/* f040e80: 0c0011e4 */ jal guNormalize -/* f040e84: e7b001e8 */ swc1 $f16,0x1e8($sp) -/* f040e88: 1000003b */ b .L0f040f78 -/* f040e8c: 24030001 */ addiu $v1,$zero,0x1 -.L0f040e90: -/* f040e90: 93a40260 */ lbu $a0,0x260($sp) -.L0f040e94: -/* f040e94: 24050017 */ addiu $a1,$zero,0x17 -/* f040e98: 24010012 */ addiu $at,$zero,0x12 -/* f040e9c: 14a40003 */ bne $a1,$a0,.L0f040eac -/* f040ea0: 00000000 */ nop -/* f040ea4: 50400004 */ beqzl $v0,.L0f040eb8 -/* f040ea8: 8fae025c */ lw $t6,0x25c($sp) -.L0f040eac: -/* f040eac: 14810017 */ bne $a0,$at,.L0f040f0c -/* f040eb0: 00000000 */ nop -/* f040eb4: 8fae025c */ lw $t6,0x25c($sp) -.L0f040eb8: -/* f040eb8: 24010003 */ addiu $at,$zero,0x3 -/* f040ebc: 8faa025c */ lw $t2,0x25c($sp) -/* f040ec0: 91c20000 */ lbu $v0,0x0($t6) -/* f040ec4: 10410003 */ beq $v0,$at,.L0f040ed4 -/* f040ec8: 24010006 */ addiu $at,$zero,0x6 -/* f040ecc: 1441002a */ bne $v0,$at,.L0f040f78 -/* f040ed0: 00000000 */ nop -.L0f040ed4: -/* f040ed4: c5480008 */ lwc1 $f8,0x8($t2) -/* f040ed8: 27a40244 */ addiu $a0,$sp,0x244 -/* f040edc: 8fa500cc */ lw $a1,0xcc($sp) -/* f040ee0: e7a800b8 */ swc1 $f8,0xb8($sp) -/* f040ee4: 8d4b0004 */ lw $t3,0x4($t2) -/* f040ee8: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f040eec: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f040ef0: c57200b4 */ lwc1 $f18,0xb4($t3) -/* f040ef4: e7b200bc */ swc1 $f18,0xbc($sp) -/* f040ef8: c5440010 */ lwc1 $f4,0x10($t2) -/* f040efc: 0fc100c7 */ jal chrCalculateTrajectory -/* f040f00: e7a400c0 */ swc1 $f4,0xc0($sp) -/* f040f04: 1000001c */ b .L0f040f78 -/* f040f08: 24030001 */ addiu $v1,$zero,0x1 -.L0f040f0c: -/* f040f0c: 14a40002 */ bne $a1,$a0,.L0f040f18 -/* f040f10: 24010001 */ addiu $at,$zero,0x1 -/* f040f14: 10410003 */ beq $v0,$at,.L0f040f24 -.L0f040f18: -/* f040f18: 2401001b */ addiu $at,$zero,0x1b -/* f040f1c: 14810016 */ bne $a0,$at,.L0f040f78 -/* f040f20: 00000000 */ nop -.L0f040f24: -/* f040f24: 8faf025c */ lw $t7,0x25c($sp) -/* f040f28: 24010006 */ addiu $at,$zero,0x6 -/* f040f2c: 27a40244 */ addiu $a0,$sp,0x244 -/* f040f30: c5e60008 */ lwc1 $f6,0x8($t7) -/* f040f34: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f040f38: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f040f3c: e7a600b8 */ swc1 $f6,0xb8($sp) -/* f040f40: c5ea000c */ lwc1 $f10,0xc($t7) -/* f040f44: e7aa00bc */ swc1 $f10,0xbc($sp) -/* f040f48: c5f00010 */ lwc1 $f16,0x10($t7) -/* f040f4c: e7b000c0 */ swc1 $f16,0xc0($sp) -/* f040f50: 91f80000 */ lbu $t8,0x0($t7) -/* f040f54: 17010005 */ bne $t8,$at,.L0f040f6c -/* f040f58: 3c0141c8 */ lui $at,0x41c8 -/* f040f5c: 44814000 */ mtc1 $at,$f8 -/* f040f60: 00000000 */ nop -/* f040f64: 46085481 */ sub.s $f18,$f10,$f8 -/* f040f68: e7b200bc */ swc1 $f18,0xbc($sp) -.L0f040f6c: -/* f040f6c: 0fc100c7 */ jal chrCalculateTrajectory -/* f040f70: 8fa500cc */ lw $a1,0xcc($sp) -/* f040f74: 24030001 */ addiu $v1,$zero,0x1 -.L0f040f78: -/* f040f78: 10600017 */ beqz $v1,.L0f040fd8 -/* f040f7c: 8fa40278 */ lw $a0,0x278($sp) -/* f040f80: 0fc122a1 */ jal chrGetAngleToPos -/* f040f84: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f040f88: e7a000b4 */ swc1 $f0,0xb4($sp) -/* f040f8c: 0c0068f4 */ jal cosf -/* f040f90: 46000306 */ mov.s $f12,$f0 -/* f040f94: c7ac00b4 */ lwc1 $f12,0xb4($sp) -/* f040f98: 0c0068f7 */ jal sinf -/* f040f9c: e7a000b0 */ swc1 $f0,0xb0($sp) -/* f040fa0: c7ac01e8 */ lwc1 $f12,0x1e8($sp) -/* f040fa4: c7ae00b0 */ lwc1 $f14,0xb0($sp) -/* f040fa8: c7a201e0 */ lwc1 $f2,0x1e0($sp) -/* f040fac: 460c0102 */ mul.s $f4,$f0,$f12 -/* f040fb0: 00000000 */ nop -/* f040fb4: 46027182 */ mul.s $f6,$f14,$f2 -/* f040fb8: 00000000 */ nop -/* f040fbc: 460c7282 */ mul.s $f10,$f14,$f12 -/* f040fc0: 00000000 */ nop -/* f040fc4: 46020202 */ mul.s $f8,$f0,$f2 -/* f040fc8: 46062400 */ add.s $f16,$f4,$f6 -/* f040fcc: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f040fd0: 46085481 */ sub.s $f18,$f10,$f8 -/* f040fd4: e7b201e8 */ swc1 $f18,0x1e8($sp) -.L0f040fd8: -/* f040fd8: 0c00566c */ jal mtx4LoadIdentity -/* f040fdc: 27a40178 */ addiu $a0,$sp,0x178 -/* f040fe0: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040fe4: 0c0058ba */ jal mtx4LoadXRotation -/* f040fe8: 27a5011c */ addiu $a1,$sp,0x11c -/* f040fec: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040ff0: 0c0058dd */ jal mtx4LoadYRotation -/* f040ff4: 27a500dc */ addiu $a1,$sp,0xdc -/* f040ff8: 27a400dc */ addiu $a0,$sp,0xdc -/* f040ffc: 0c0056f8 */ jal mtx00015be0 -/* f041000: 27a5011c */ addiu $a1,$sp,0x11c -/* f041004: c7ac0168 */ lwc1 $f12,0x168($sp) -/* f041008: c7a401e0 */ lwc1 $f4,0x1e0($sp) -/* f04100c: c7b001e4 */ lwc1 $f16,0x1e4($sp) -/* f041010: c7a801e8 */ lwc1 $f8,0x1e8($sp) -/* f041014: 460c2182 */ mul.s $f6,$f4,$f12 -/* f041018: c7a200cc */ lwc1 $f2,0xcc($sp) -/* f04101c: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f041020: 460c8282 */ mul.s $f10,$f16,$f12 -/* f041024: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) -/* f041028: 8fac00d4 */ lw $t4,0xd4($sp) -/* f04102c: 460c4482 */ mul.s $f18,$f8,$f12 -/* f041030: e7a6015c */ swc1 $f6,0x15c($sp) -/* f041034: 8fa401b8 */ lw $a0,0x1b8($sp) -/* f041038: 46022102 */ mul.s $f4,$f4,$f2 -/* f04103c: e7aa0160 */ swc1 $f10,0x160($sp) -/* f041040: 2401ffff */ addiu $at,$zero,-1 -/* f041044: 46003182 */ mul.s $f6,$f6,$f0 -/* f041048: e7b20164 */ swc1 $f18,0x164($sp) -/* f04104c: 27a50244 */ addiu $a1,$sp,0x244 -/* f041050: 27a60234 */ addiu $a2,$sp,0x234 -/* f041054: 27a7011c */ addiu $a3,$sp,0x11c -/* f041058: 27ae016c */ addiu $t6,$sp,0x16c -/* f04105c: 27ab0178 */ addiu $t3,$sp,0x178 -/* f041060: 46062100 */ add.s $f4,$f4,$f6 -/* f041064: 46028182 */ mul.s $f6,$f16,$f2 -/* f041068: e7a4016c */ swc1 $f4,0x16c($sp) -/* f04106c: 46005102 */ mul.s $f4,$f10,$f0 -/* f041070: 46043400 */ add.s $f16,$f6,$f4 -/* f041074: 46024282 */ mul.s $f10,$f8,$f2 -/* f041078: 00000000 */ nop -/* f04107c: 46009182 */ mul.s $f6,$f18,$f0 -/* f041080: e7b00170 */ swc1 $f16,0x170($sp) -/* f041084: 46065100 */ add.s $f4,$f10,$f6 -/* f041088: e7a40174 */ swc1 $f4,0x174($sp) -/* f04108c: 8d8d0058 */ lw $t5,0x58($t4) -/* f041090: a48d0062 */ sh $t5,0x62($a0) -/* f041094: 84820062 */ lh $v0,0x62($a0) -/* f041098: 10410002 */ beq $v0,$at,.L0f0410a4 -/* f04109c: 0002c880 */ sll $t9,$v0,0x2 -/* f0410a0: a4990062 */ sh $t9,0x62($a0) -.L0f0410a4: -/* f0410a4: 8faa0274 */ lw $t2,0x274($sp) -/* f0410a8: afae0010 */ sw $t6,0x10($sp) -/* f0410ac: afab0014 */ sw $t3,0x14($sp) -/* f0410b0: afa5001c */ sw $a1,0x1c($sp) -/* f0410b4: 0fc27af3 */ jal bgun0f09ebcc -/* f0410b8: afaa0018 */ sw $t2,0x18($sp) -/* f0410bc: 8fa301b8 */ lw $v1,0x1b8($sp) -/* f0410c0: 8fac00d4 */ lw $t4,0xd4($sp) -/* f0410c4: 8c6f0040 */ lw $t7,0x40($v1) -/* f0410c8: 31f80080 */ andi $t8,$t7,0x80 -/* f0410cc: 13000047 */ beqz $t8,.L0f0411ec -/* f0410d0: 00000000 */ nop -/* f0410d4: 8d820010 */ lw $v0,0x10($t4) -/* f0410d8: 00026800 */ sll $t5,$v0,0x0 -/* f0410dc: 05a10007 */ bgez $t5,.L0f0410fc -/* f0410e0: 00025900 */ sll $t3,$v0,0x4 -/* f0410e4: 8c620048 */ lw $v0,0x48($v1) -/* f0410e8: 3c014000 */ lui $at,0x4000 -/* f0410ec: 8c590000 */ lw $t9,0x0($v0) -/* f0410f0: 03217025 */ or $t6,$t9,$at -/* f0410f4: 10000007 */ b .L0f041114 -/* f0410f8: ac4e0000 */ sw $t6,0x0($v0) -.L0f0410fc: -/* f0410fc: 05630006 */ bgezl $t3,.L0f041118 -/* f041100: c7b0015c */ lwc1 $f16,0x15c($sp) -/* f041104: 8c620048 */ lw $v0,0x48($v1) -/* f041108: 8c4a0000 */ lw $t2,0x0($v0) -/* f04110c: 354f0010 */ ori $t7,$t2,0x10 -/* f041110: ac4f0000 */ sw $t7,0x0($v0) -.L0f041114: -/* f041114: c7b0015c */ lwc1 $f16,0x15c($sp) -.L0f041118: -/* f041118: 8c780048 */ lw $t8,0x48($v1) -/* f04111c: 241900f0 */ addiu $t9,$zero,0xf0 -/* f041120: 3c017f1b */ lui $at,%hi(var7f1a90d8) -/* f041124: e7100010 */ swc1 $f16,0x10($t8) -/* f041128: 8c6c0048 */ lw $t4,0x48($v1) -/* f04112c: c7a80160 */ lwc1 $f8,0x160($sp) -/* f041130: e5880014 */ swc1 $f8,0x14($t4) -/* f041134: 8c6d0048 */ lw $t5,0x48($v1) -/* f041138: c7b20164 */ lwc1 $f18,0x164($sp) -/* f04113c: e5b20018 */ swc1 $f18,0x18($t5) -/* f041140: 8c6e0048 */ lw $t6,0x48($v1) -/* f041144: add900b4 */ sw $t9,0xb4($t6) -/* f041148: 8fab00d4 */ lw $t3,0xd4($sp) -/* f04114c: 8c6a0048 */ lw $t2,0x48($v1) -/* f041150: c56a005c */ lwc1 $f10,0x5c($t3) -/* f041154: e54a008c */ swc1 $f10,0x8c($t2) -/* f041158: 8faf00d4 */ lw $t7,0xd4($sp) -/* f04115c: c42490d8 */ lwc1 $f4,%lo(var7f1a90d8)($at) -/* f041160: 8c780048 */ lw $t8,0x48($v1) -/* f041164: c5e60050 */ lwc1 $f6,0x50($t7) -/* f041168: 46043402 */ mul.s $f16,$f6,$f4 -/* f04116c: e7100098 */ swc1 $f16,0x98($t8) -/* f041170: 0fc0a221 */ jal chrGetTargetProp -/* f041174: 8fa40278 */ lw $a0,0x278($sp) -/* f041178: 8fac01b8 */ lw $t4,0x1b8($sp) -/* f04117c: 3c01bf80 */ lui $at,0xbf80 -/* f041180: 00002025 */ or $a0,$zero,$zero -/* f041184: 8d8d0048 */ lw $t5,0x48($t4) -/* f041188: 2407ffff */ addiu $a3,$zero,-1 -/* f04118c: 240effff */ addiu $t6,$zero,-1 -/* f041190: ada200e8 */ sw $v0,0xe8($t5) -/* f041194: 8fb900d4 */ lw $t9,0xd4($sp) -/* f041198: 240bffff */ addiu $t3,$zero,-1 -/* f04119c: 87260060 */ lh $a2,0x60($t9) -/* f0411a0: 18c00012 */ blez $a2,.L0f0411ec -/* f0411a4: 00000000 */ nop -/* f0411a8: 8d850014 */ lw $a1,0x14($t4) -/* f0411ac: 44810000 */ mtc1 $at,$f0 -/* f0411b0: afab002c */ sw $t3,0x2c($sp) -/* f0411b4: afa00028 */ sw $zero,0x28($sp) -/* f0411b8: afa00020 */ sw $zero,0x20($sp) -/* f0411bc: afa0001c */ sw $zero,0x1c($sp) -/* f0411c0: afa00018 */ sw $zero,0x18($sp) -/* f0411c4: afa00014 */ sw $zero,0x14($sp) -/* f0411c8: afae0010 */ sw $t6,0x10($sp) -/* f0411cc: e7a00024 */ swc1 $f0,0x24($sp) -/* f0411d0: e7a00030 */ swc1 $f0,0x30($sp) -/* f0411d4: e7a00034 */ swc1 $f0,0x34($sp) -/* f0411d8: 0fc24e7e */ jal propsnd0f0939f8 -/* f0411dc: e7a00038 */ swc1 $f0,0x38($sp) -/* f0411e0: 10000002 */ b .L0f0411ec -/* f0411e4: 00000000 */ nop -/* f0411e8: afa00268 */ sw $zero,0x268($sp) -.L0f0411ec: -/* f0411ec: 10000019 */ b .L0f041254 -/* f0411f0: a3a0026e */ sb $zero,0x26e($sp) -/* f0411f4: 24010006 */ addiu $at,$zero,0x6 -.L0f0411f8: -/* f0411f8: 14810016 */ bne $a0,$at,.L0f041254 -/* f0411fc: 93aa026f */ lbu $t2,0x26f($sp) -/* f041200: 11400014 */ beqz $t2,.L0f041254 -/* f041204: 93af0263 */ lbu $t7,0x263($sp) -/* f041208: 24010001 */ addiu $at,$zero,0x1 -/* f04120c: 15e10011 */ bne $t7,$at,.L0f041254 -/* f041210: 8fad0278 */ lw $t5,0x278($sp) -/* f041214: 8fa2027c */ lw $v0,0x27c($sp) -/* f041218: 8db902d4 */ lw $t9,0x2d4($t5) -/* f04121c: 3c014120 */ lui $at,0x4120 -/* f041220: 0002c080 */ sll $t8,$v0,0x2 -/* f041224: 03386021 */ addu $t4,$t9,$t8 -/* f041228: c58800e4 */ lwc1 $f8,0xe4($t4) -/* f04122c: 44819000 */ mtc1 $at,$f18 -/* f041230: 44802000 */ mtc1 $zero,$f4 -/* f041234: 46124282 */ mul.s $f10,$f8,$f18 -/* f041238: 4600518d */ trunc.w.s $f6,$f10 -/* f04123c: 440b3000 */ mfc1 $t3,$f6 -/* f041240: 00000000 */ nop -/* f041244: a3ab0262 */ sb $t3,0x262($sp) -/* f041248: 8daa02d4 */ lw $t2,0x2d4($t5) -/* f04124c: 01587821 */ addu $t7,$t2,$t8 -/* f041250: e5e400e4 */ swc1 $f4,0xe4($t7) -.L0f041254: -/* f041254: 93b8026e */ lbu $t8,0x26e($sp) -/* f041258: 93b9026f */ lbu $t9,0x26f($sp) -/* f04125c: 530001c0 */ beqzl $t8,.L0f041960 -/* f041260: 8fae01c0 */ lw $t6,0x1c0($sp) -/* f041264: 172000d6 */ bnez $t9,.L0f0415c0 -/* f041268: 8fac0258 */ lw $t4,0x258($sp) -/* f04126c: 318e0200 */ andi $t6,$t4,0x200 -/* f041270: 11c0004c */ beqz $t6,.L0f0413a4 -/* f041274: 8fab025c */ lw $t3,0x25c($sp) -/* f041278: 916d0000 */ lbu $t5,0x0($t3) -/* f04127c: 24010006 */ addiu $at,$zero,0x6 -/* f041280: 8fa40278 */ lw $a0,0x278($sp) -/* f041284: 15a10047 */ bne $t5,$at,.L0f0413a4 -/* f041288: 27a50244 */ addiu $a1,$sp,0x244 -/* f04128c: 27a60234 */ addiu $a2,$sp,0x234 -/* f041290: 0fc0e47b */ jal chrCanSeeAttackTarget -/* f041294: 00003825 */ or $a3,$zero,$zero -/* f041298: 10400042 */ beqz $v0,.L0f0413a4 -/* f04129c: 8faa025c */ lw $t2,0x25c($sp) -/* f0412a0: 8d440004 */ lw $a0,0x4($t2) -/* f0412a4: 8fa50278 */ lw $a1,0x278($sp) -/* f0412a8: 0fc12aa3 */ jal chrCompareTeams -/* f0412ac: 24060002 */ addiu $a2,$zero,0x2 -/* f0412b0: 1040003c */ beqz $v0,.L0f0413a4 -/* f0412b4: 3c014170 */ lui $at,0x4170 -/* f0412b8: 44817000 */ mtc1 $at,$f14 -/* f0412bc: 8faf025c */ lw $t7,0x25c($sp) -/* f0412c0: c7aa01e0 */ lwc1 $f10,0x1e0($sp) -/* f0412c4: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0412c8: c5f00008 */ lwc1 $f16,0x8($t7) -/* f0412cc: 460e5182 */ mul.s $f6,$f10,$f14 -/* f0412d0: c7aa01e4 */ lwc1 $f10,0x1e4($sp) -/* f0412d4: 46088481 */ sub.s $f18,$f16,$f8 -/* f0412d8: c7b00248 */ lwc1 $f16,0x248($sp) -/* f0412dc: c5e4000c */ lwc1 $f4,0xc($t7) -/* f0412e0: 8fa40278 */ lw $a0,0x278($sp) -/* f0412e4: 27a501f8 */ addiu $a1,$sp,0x1f8 -/* f0412e8: 46069001 */ sub.s $f0,$f18,$f6 -/* f0412ec: 460e5482 */ mul.s $f18,$f10,$f14 -/* f0412f0: c7aa01e8 */ lwc1 $f10,0x1e8($sp) -/* f0412f4: 46102201 */ sub.s $f8,$f4,$f16 -/* f0412f8: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f0412fc: c5e60010 */ lwc1 $f6,0x10($t7) -/* f041300: 27a601f4 */ addiu $a2,$sp,0x1f4 -/* f041304: 46124081 */ sub.s $f2,$f8,$f18 -/* f041308: 460e5202 */ mul.s $f8,$f10,$f14 -/* f04130c: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f041310: 46043401 */ sub.s $f16,$f6,$f4 -/* f041314: 46000182 */ mul.s $f6,$f0,$f0 -/* f041318: 00000000 */ nop -/* f04131c: 46021102 */ mul.s $f4,$f2,$f2 -/* f041320: 46088301 */ sub.s $f12,$f16,$f8 -/* f041324: 460c6402 */ mul.s $f16,$f12,$f12 -/* f041328: 46043280 */ add.s $f10,$f6,$f4 -/* f04132c: 46105200 */ add.s $f8,$f10,$f16 -/* f041330: 4612403e */ c.le.s $f8,$f18 -/* f041334: 00000000 */ nop -/* f041338: 4500002b */ bc1f .L0f0413e8 -/* f04133c: 00000000 */ nop -/* f041340: 0fc0feac */ jal chrCalculateHit -/* f041344: 27a70260 */ addiu $a3,$sp,0x260 -/* f041348: 8fb801f4 */ lw $t8,0x1f4($sp) -/* f04134c: 8fac01f8 */ lw $t4,0x1f8($sp) -/* f041350: 8fae0278 */ lw $t6,0x278($sp) -/* f041354: 2f190001 */ sltiu $t9,$t8,0x1 -/* f041358: 11800023 */ beqz $t4,.L0f0413e8 -/* f04135c: afb901f0 */ sw $t9,0x1f0($sp) -/* f041360: 81c30007 */ lb $v1,0x7($t6) -/* f041364: 24010008 */ addiu $at,$zero,0x8 -/* f041368: 3c0b800a */ lui $t3,%hi(g_Vars+0x8) -/* f04136c: 1061000a */ beq $v1,$at,.L0f041398 -/* f041370: 8fad0278 */ lw $t5,0x278($sp) -/* f041374: 2401000a */ addiu $at,$zero,0xa -/* f041378: 10610007 */ beq $v1,$at,.L0f041398 -/* f04137c: 2401001b */ addiu $at,$zero,0x1b -/* f041380: 10610005 */ beq $v1,$at,.L0f041398 -/* f041384: 2401001c */ addiu $at,$zero,0x1c -/* f041388: 10610003 */ beq $v1,$at,.L0f041398 -/* f04138c: 2401001d */ addiu $at,$zero,0x1d -/* f041390: 54610016 */ bnel $v1,$at,.L0f0413ec -/* f041394: 8fb901f4 */ lw $t9,0x1f4($sp) -.L0f041398: -/* f041398: 8d6b9fc8 */ lw $t3,%lo(g_Vars+0x8)($t3) -/* f04139c: 10000012 */ b .L0f0413e8 -/* f0413a0: adab0048 */ sw $t3,0x48($t5) -.L0f0413a4: -/* f0413a4: 8faa0278 */ lw $t2,0x278($sp) -/* f0413a8: 24010008 */ addiu $at,$zero,0x8 -/* f0413ac: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f0413b0: 81430007 */ lb $v1,0x7($t2) -/* f0413b4: 8fb80278 */ lw $t8,0x278($sp) -/* f0413b8: 10610009 */ beq $v1,$at,.L0f0413e0 -/* f0413bc: 2401000a */ addiu $at,$zero,0xa -/* f0413c0: 10610007 */ beq $v1,$at,.L0f0413e0 -/* f0413c4: 2401001b */ addiu $at,$zero,0x1b -/* f0413c8: 10610005 */ beq $v1,$at,.L0f0413e0 -/* f0413cc: 2401001c */ addiu $at,$zero,0x1c -/* f0413d0: 10610003 */ beq $v1,$at,.L0f0413e0 -/* f0413d4: 2401001d */ addiu $at,$zero,0x1d -/* f0413d8: 54610004 */ bnel $v1,$at,.L0f0413ec -/* f0413dc: 8fb901f4 */ lw $t9,0x1f4($sp) -.L0f0413e0: -/* f0413e0: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f0413e4: af0f0048 */ sw $t7,0x48($t8) -.L0f0413e8: -/* f0413e8: 8fb901f4 */ lw $t9,0x1f4($sp) -.L0f0413ec: -/* f0413ec: 8faa01cc */ lw $t2,0x1cc($sp) -/* f0413f0: 13200065 */ beqz $t9,.L0f041588 -/* f0413f4: 00000000 */ nop -/* f0413f8: 0fc2c74a */ jal gsetGetDamage -/* f0413fc: 27a40260 */ addiu $a0,$sp,0x260 -/* f041400: 8fab025c */ lw $t3,0x25c($sp) -/* f041404: 240cffff */ addiu $t4,$zero,-1 -/* f041408: 240e00c8 */ addiu $t6,$zero,0xc8 -/* f04140c: e7a0009c */ swc1 $f0,0x9c($sp) -/* f041410: afa00098 */ sw $zero,0x98($sp) -/* f041414: afa00094 */ sw $zero,0x94($sp) -/* f041418: afac0090 */ sw $t4,0x90($sp) -/* f04141c: afae008c */ sw $t6,0x8c($sp) -/* f041420: 8d6d0004 */ lw $t5,0x4($t3) -/* f041424: afad0088 */ sw $t5,0x88($sp) -/* f041428: c5660008 */ lwc1 $f6,0x8($t3) -/* f04142c: e7a60228 */ swc1 $f6,0x228($sp) -/* f041430: c564000c */ lwc1 $f4,0xc($t3) -/* f041434: e7a4022c */ swc1 $f4,0x22c($sp) -/* f041438: c56a0010 */ lwc1 $f10,0x10($t3) -/* f04143c: 0c004b70 */ jal random -/* f041440: e7aa0230 */ swc1 $f10,0x230($sp) -/* f041444: 304a0001 */ andi $t2,$v0,0x1 -/* f041448: 11400012 */ beqz $t2,.L0f041494 -/* f04144c: 00000000 */ nop -/* f041450: 0c004b70 */ jal random -/* f041454: 00000000 */ nop -/* f041458: 2401000a */ addiu $at,$zero,0xa -/* f04145c: 0041001b */ divu $zero,$v0,$at -/* f041460: 00007810 */ mfhi $t7 -/* f041464: 25f80002 */ addiu $t8,$t7,0x2 -/* f041468: 44989000 */ mtc1 $t8,$f18 -/* f04146c: c7b0022c */ lwc1 $f16,0x22c($sp) -/* f041470: 07010005 */ bgez $t8,.L0f041488 -/* f041474: 46809220 */ cvt.s.w $f8,$f18 -/* f041478: 3c014f80 */ lui $at,0x4f80 -/* f04147c: 44813000 */ mtc1 $at,$f6 -/* f041480: 00000000 */ nop -/* f041484: 46064200 */ add.s $f8,$f8,$f6 -.L0f041488: -/* f041488: 46088100 */ add.s $f4,$f16,$f8 -/* f04148c: 10000011 */ b .L0f0414d4 -/* f041490: e7a4022c */ swc1 $f4,0x22c($sp) -.L0f041494: -/* f041494: 0c004b70 */ jal random -/* f041498: 00000000 */ nop -/* f04149c: 2401000a */ addiu $at,$zero,0xa -/* f0414a0: 0041001b */ divu $zero,$v0,$at -/* f0414a4: 0000c810 */ mfhi $t9 -/* f0414a8: 272c0002 */ addiu $t4,$t9,0x2 -/* f0414ac: 448c9000 */ mtc1 $t4,$f18 -/* f0414b0: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f0414b4: 05810005 */ bgez $t4,.L0f0414cc -/* f0414b8: 468091a0 */ cvt.s.w $f6,$f18 -/* f0414bc: 3c014f80 */ lui $at,0x4f80 -/* f0414c0: 44818000 */ mtc1 $at,$f16 -/* f0414c4: 00000000 */ nop -/* f0414c8: 46103180 */ add.s $f6,$f6,$f16 -.L0f0414cc: -/* f0414cc: 46065201 */ sub.s $f8,$f10,$f6 -/* f0414d0: e7a8022c */ swc1 $f8,0x22c($sp) -.L0f0414d4: -/* f0414d4: 27a40260 */ addiu $a0,$sp,0x260 -/* f0414d8: 8fa5025c */ lw $a1,0x25c($sp) -/* f0414dc: 0fc29f66 */ jal bgunPlayPropHitSound -/* f0414e0: 2406ffff */ addiu $a2,$zero,-1 -/* f0414e4: 8fa40088 */ lw $a0,0x88($sp) -/* f0414e8: 8c8e0020 */ lw $t6,0x20($a0) -/* f0414ec: 51c00012 */ beqzl $t6,.L0f041538 -/* f0414f0: 8faf0278 */ lw $t7,0x278($sp) -/* f0414f4: 0fc0cfe8 */ jal chrGetShield -/* f0414f8: 00000000 */ nop -/* f0414fc: 44802000 */ mtc1 $zero,$f4 -/* f041500: 8fa40088 */ lw $a0,0x88($sp) -/* f041504: 27a50228 */ addiu $a1,$sp,0x228 -/* f041508: 4600203c */ c.lt.s $f4,$f0 -/* f04150c: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041510: 27a70098 */ addiu $a3,$sp,0x98 -/* f041514: 27ad008c */ addiu $t5,$sp,0x8c -/* f041518: 45000006 */ bc1f .L0f041534 -/* f04151c: 27ab0094 */ addiu $t3,$sp,0x94 -/* f041520: 27aa0090 */ addiu $t2,$sp,0x90 -/* f041524: afaa0018 */ sw $t2,0x18($sp) -/* f041528: afad0010 */ sw $t5,0x10($sp) -/* f04152c: 0fc0ffcb */ jal chrCalculateShieldHit -/* f041530: afab0014 */ sw $t3,0x14($sp) -.L0f041534: -/* f041534: 8faf0278 */ lw $t7,0x278($sp) -.L0f041538: -/* f041538: 8fac025c */ lw $t4,0x25c($sp) -/* f04153c: 8fae0098 */ lw $t6,0x98($sp) -/* f041540: 8df8001c */ lw $t8,0x1c($t7) -/* f041544: 8fad0094 */ lw $t5,0x94($sp) -/* f041548: 8fab0090 */ lw $t3,0x90($sp) -/* f04154c: 241900c8 */ addiu $t9,$zero,0xc8 -/* f041550: 8fa40088 */ lw $a0,0x88($sp) -/* f041554: afb90014 */ sw $t9,0x14($sp) -/* f041558: afa00028 */ sw $zero,0x28($sp) -/* f04155c: 8fa5009c */ lw $a1,0x9c($sp) -/* f041560: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041564: 27a70260 */ addiu $a3,$sp,0x260 -/* f041568: afac0018 */ sw $t4,0x18($sp) -/* f04156c: afae001c */ sw $t6,0x1c($sp) -/* f041570: afb80010 */ sw $t8,0x10($sp) -/* f041574: afad0020 */ sw $t5,0x20($sp) -/* f041578: 0fc0d077 */ jal func0f0341dc -/* f04157c: afab0024 */ sw $t3,0x24($sp) -/* f041580: 10000010 */ b .L0f0415c4 -/* f041584: 8faf01f0 */ lw $t7,0x1f0($sp) -.L0f041588: -/* f041588: 11400006 */ beqz $t2,.L0f0415a4 -/* f04158c: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f041590: 91420000 */ lbu $v0,0x0($t2) -/* f041594: 24010003 */ addiu $at,$zero,0x3 -/* f041598: 10410009 */ beq $v0,$at,.L0f0415c0 -/* f04159c: 24010006 */ addiu $at,$zero,0x6 -/* f0415a0: 10410007 */ beq $v0,$at,.L0f0415c0 -.L0f0415a4: -/* f0415a4: 3c017f1b */ lui $at,%hi(var7f1a90dc) -/* f0415a8: c43090dc */ lwc1 $f16,%lo(var7f1a90dc)($at) -/* f0415ac: 4610903c */ c.lt.s $f18,$f16 -/* f0415b0: 00000000 */ nop -/* f0415b4: 45020003 */ bc1fl .L0f0415c4 -/* f0415b8: 8faf01f0 */ lw $t7,0x1f0($sp) -/* f0415bc: afa001f0 */ sw $zero,0x1f0($sp) -.L0f0415c0: -/* f0415c0: 8faf01f0 */ lw $t7,0x1f0($sp) -.L0f0415c4: -/* f0415c4: 8fb801cc */ lw $t8,0x1cc($sp) -/* f0415c8: 51e000e5 */ beqzl $t7,.L0f041960 -/* f0415cc: 8fae01c0 */ lw $t6,0x1c0($sp) -/* f0415d0: 130000a2 */ beqz $t8,.L0f04185c -/* f0415d4: 8fae0224 */ lw $t6,0x224($sp) -/* f0415d8: 93020000 */ lbu $v0,0x0($t8) -/* f0415dc: 24010006 */ addiu $at,$zero,0x6 -/* f0415e0: 93b9026f */ lbu $t9,0x26f($sp) -/* f0415e4: 10410003 */ beq $v0,$at,.L0f0415f4 -/* f0415e8: 24010003 */ addiu $at,$zero,0x3 -/* f0415ec: 54410053 */ bnel $v0,$at,.L0f04173c -/* f0415f0: 24010001 */ addiu $at,$zero,0x1 -.L0f0415f4: -/* f0415f4: 1720000c */ bnez $t9,.L0f041628 -/* f0415f8: 8fac01bc */ lw $t4,0x1bc($sp) -/* f0415fc: 1580000a */ bnez $t4,.L0f041628 -/* f041600: 8fae0278 */ lw $t6,0x278($sp) -/* f041604: 8dcd0018 */ lw $t5,0x18($t6) -/* f041608: 8faa01cc */ lw $t2,0x1cc($sp) -/* f04160c: 01c02825 */ or $a1,$t6,$zero -/* f041610: 31ab0040 */ andi $t3,$t5,0x40 -/* f041614: 11600045 */ beqz $t3,.L0f04172c -/* f041618: 24060002 */ addiu $a2,$zero,0x2 -/* f04161c: 0fc12aa3 */ jal chrCompareTeams -/* f041620: 8d440004 */ lw $a0,0x4($t2) -/* f041624: 10400041 */ beqz $v0,.L0f04172c -.L0f041628: -/* f041628: 240fffff */ addiu $t7,$zero,-1 -/* f04162c: 241800c8 */ addiu $t8,$zero,0xc8 -/* f041630: afa00084 */ sw $zero,0x84($sp) -/* f041634: afa00080 */ sw $zero,0x80($sp) -/* f041638: afaf007c */ sw $t7,0x7c($sp) -/* f04163c: afb80078 */ sw $t8,0x78($sp) -/* f041640: 0fc2c74a */ jal gsetGetDamage -/* f041644: 27a40260 */ addiu $a0,$sp,0x260 -/* f041648: 8fa501cc */ lw $a1,0x1cc($sp) -/* f04164c: e7a00074 */ swc1 $f0,0x74($sp) -/* f041650: 27a40260 */ addiu $a0,$sp,0x260 -/* f041654: 8cac0004 */ lw $t4,0x4($a1) -/* f041658: 2406ffff */ addiu $a2,$zero,-1 -/* f04165c: 0fc29f66 */ jal bgunPlayPropHitSound -/* f041660: afac0070 */ sw $t4,0x70($sp) -/* f041664: 8fa40070 */ lw $a0,0x70($sp) -/* f041668: 8c8d0020 */ lw $t5,0x20($a0) -/* f04166c: 51a00012 */ beqzl $t5,.L0f0416b8 -/* f041670: 8fb80278 */ lw $t8,0x278($sp) -/* f041674: 0fc0cfe8 */ jal chrGetShield -/* f041678: 00000000 */ nop -/* f04167c: 44805000 */ mtc1 $zero,$f10 -/* f041680: 8fa40070 */ lw $a0,0x70($sp) -/* f041684: 27a50228 */ addiu $a1,$sp,0x228 -/* f041688: 4600503c */ c.lt.s $f10,$f0 -/* f04168c: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041690: 27a70084 */ addiu $a3,$sp,0x84 -/* f041694: 27ab0078 */ addiu $t3,$sp,0x78 -/* f041698: 45000006 */ bc1f .L0f0416b4 -/* f04169c: 27aa0080 */ addiu $t2,$sp,0x80 -/* f0416a0: 27ae007c */ addiu $t6,$sp,0x7c -/* f0416a4: afae0018 */ sw $t6,0x18($sp) -/* f0416a8: afab0010 */ sw $t3,0x10($sp) -/* f0416ac: 0fc0ffcb */ jal chrCalculateShieldHit -/* f0416b0: afaa0014 */ sw $t2,0x14($sp) -.L0f0416b4: -/* f0416b4: 8fb80278 */ lw $t8,0x278($sp) -.L0f0416b8: -/* f0416b8: 27af01e0 */ addiu $t7,$sp,0x1e0 -/* f0416bc: 8fa40070 */ lw $a0,0x70($sp) -/* f0416c0: afaf0010 */ sw $t7,0x10($sp) -/* f0416c4: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0416c8: 8fa60078 */ lw $a2,0x78($sp) -/* f0416cc: 27a70228 */ addiu $a3,$sp,0x228 -/* f0416d0: 0fc097a9 */ jal chrEmitSparks -/* f0416d4: afb80014 */ sw $t8,0x14($sp) -/* f0416d8: 8fac0278 */ lw $t4,0x278($sp) -/* f0416dc: 8fab01cc */ lw $t3,0x1cc($sp) -/* f0416e0: 8faa0084 */ lw $t2,0x84($sp) -/* f0416e4: 8d99001c */ lw $t9,0x1c($t4) -/* f0416e8: 8fae0080 */ lw $t6,0x80($sp) -/* f0416ec: 8faf007c */ lw $t7,0x7c($sp) -/* f0416f0: 240d00c8 */ addiu $t5,$zero,0xc8 -/* f0416f4: afad0014 */ sw $t5,0x14($sp) -/* f0416f8: afa00028 */ sw $zero,0x28($sp) -/* f0416fc: 8fa40070 */ lw $a0,0x70($sp) -/* f041700: 8fa50074 */ lw $a1,0x74($sp) -/* f041704: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041708: 27a70260 */ addiu $a3,$sp,0x260 -/* f04170c: afab0018 */ sw $t3,0x18($sp) -/* f041710: afaa001c */ sw $t2,0x1c($sp) -/* f041714: afb90010 */ sw $t9,0x10($sp) -/* f041718: afae0020 */ sw $t6,0x20($sp) -/* f04171c: 0fc0d077 */ jal func0f0341dc -/* f041720: afaf0024 */ sw $t7,0x24($sp) -/* f041724: 1000006f */ b .L0f0418e4 -/* f041728: 93ac0260 */ lbu $t4,0x260($sp) -.L0f04172c: -/* f04172c: afa00250 */ sw $zero,0x250($sp) -/* f041730: 1000006b */ b .L0f0418e0 -/* f041734: afa00268 */ sw $zero,0x268($sp) -/* f041738: 24010001 */ addiu $at,$zero,0x1 -.L0f04173c: -/* f04173c: 10410005 */ beq $v0,$at,.L0f041754 -/* f041740: 8fb801cc */ lw $t8,0x1cc($sp) -/* f041744: 24010004 */ addiu $at,$zero,0x4 -/* f041748: 10410002 */ beq $v0,$at,.L0f041754 -/* f04174c: 24010002 */ addiu $at,$zero,0x2 -/* f041750: 14410063 */ bne $v0,$at,.L0f0418e0 -.L0f041754: -/* f041754: 3c0d800a */ lui $t5,%hi(g_Vars+0x314) -/* f041758: 8dada2d4 */ lw $t5,%lo(g_Vars+0x314)($t5) -/* f04175c: 8f0c0004 */ lw $t4,0x4($t8) -/* f041760: 2419ffff */ addiu $t9,$zero,-1 -/* f041764: afb90068 */ sw $t9,0x68($sp) -/* f041768: 11a00004 */ beqz $t5,.L0f04177c -/* f04176c: afac006c */ sw $t4,0x6c($sp) -/* f041770: 0fc633fe */ jal mpPlayerGetIndex -/* f041774: 8fa40278 */ lw $a0,0x278($sp) -/* f041778: afa20068 */ sw $v0,0x68($sp) -.L0f04177c: -/* f04177c: 27a40260 */ addiu $a0,$sp,0x260 -/* f041780: 8fa501cc */ lw $a1,0x1cc($sp) -/* f041784: 0fc29f66 */ jal bgunPlayPropHitSound -/* f041788: 2406ffff */ addiu $a2,$zero,-1 -/* f04178c: 27a40244 */ addiu $a0,$sp,0x244 -/* f041790: 27a50234 */ addiu $a1,$sp,0x234 -/* f041794: 27a60228 */ addiu $a2,$sp,0x228 -/* f041798: 0fc1979d */ jal func0f065e74 -/* f04179c: 27a70214 */ addiu $a3,$sp,0x214 -/* f0417a0: 240b0001 */ addiu $t3,$zero,0x1 -/* f0417a4: afab0210 */ sw $t3,0x210($sp) -/* f0417a8: 0fc4f92a */ jal chrIsUsingPaintball -/* f0417ac: 8fa40278 */ lw $a0,0x278($sp) -/* f0417b0: 1040000b */ beqz $v0,.L0f0417e0 -/* f0417b4: 87a40214 */ lh $a0,0x214($sp) -/* f0417b8: 240a0019 */ addiu $t2,$zero,0x19 -/* f0417bc: afaa0014 */ sw $t2,0x14($sp) -/* f0417c0: 87a40214 */ lh $a0,0x214($sp) -/* f0417c4: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0417c8: 27a60228 */ addiu $a2,$sp,0x228 -/* f0417cc: 00003825 */ or $a3,$zero,$zero -/* f0417d0: 0fc4be7c */ jal sparksCreate -/* f0417d4: afa00010 */ sw $zero,0x10($sp) -/* f0417d8: 10000007 */ b .L0f0417f8 -/* f0417dc: 00000000 */ nop -.L0f0417e0: -/* f0417e0: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0417e4: 27a60228 */ addiu $a2,$sp,0x228 -/* f0417e8: 00003825 */ or $a3,$zero,$zero -/* f0417ec: afa00010 */ sw $zero,0x10($sp) -/* f0417f0: 0fc4be7c */ jal sparksCreate -/* f0417f4: afa00014 */ sw $zero,0x14($sp) -.L0f0417f8: -/* f0417f8: 3c0e800a */ lui $t6,%hi(g_MissionConfig+0x3) -/* f0417fc: 81cfdfeb */ lb $t7,%lo(g_MissionConfig+0x3)($t6) -/* f041800: 8fb80278 */ lw $t8,0x278($sp) -/* f041804: 05e1000a */ bgez $t7,.L0f041830 -/* f041808: 00000000 */ nop -/* f04180c: 930c0125 */ lbu $t4,0x125($t8) -/* f041810: 24010010 */ addiu $at,$zero,0x10 -/* f041814: 8fb9006c */ lw $t9,0x6c($sp) -/* f041818: 15810005 */ bne $t4,$at,.L0f041830 -/* f04181c: 00000000 */ nop -/* f041820: 8f2d000c */ lw $t5,0xc($t9) -/* f041824: 31ab0001 */ andi $t3,$t5,0x1 -/* f041828: 5560002e */ bnezl $t3,.L0f0418e4 -/* f04182c: 93ac0260 */ lbu $t4,0x260($sp) -.L0f041830: -/* f041830: 0fc2c74a */ jal gsetGetDamage -/* f041834: 27a40260 */ addiu $a0,$sp,0x260 -/* f041838: 8faa0068 */ lw $t2,0x68($sp) -/* f04183c: 44050000 */ mfc1 $a1,$f0 -/* f041840: 8fa4006c */ lw $a0,0x6c($sp) -/* f041844: 27a60228 */ addiu $a2,$sp,0x228 -/* f041848: 93a70260 */ lbu $a3,0x260($sp) -/* f04184c: 0fc2149c */ jal objTakeGunfire -/* f041850: afaa0010 */ sw $t2,0x10($sp) -/* f041854: 10000023 */ b .L0f0418e4 -/* f041858: 93ac0260 */ lbu $t4,0x260($sp) -.L0f04185c: -/* f04185c: 11c00020 */ beqz $t6,.L0f0418e0 -/* f041860: 27a40244 */ addiu $a0,$sp,0x244 -/* f041864: 27a50234 */ addiu $a1,$sp,0x234 -/* f041868: 27a60228 */ addiu $a2,$sp,0x228 -/* f04186c: 0fc1979d */ jal func0f065e74 -/* f041870: 27a70214 */ addiu $a3,$sp,0x214 -/* f041874: 240f0001 */ addiu $t7,$zero,0x1 -/* f041878: afaf0210 */ sw $t7,0x210($sp) -/* f04187c: 27a40260 */ addiu $a0,$sp,0x260 -/* f041880: 27a50228 */ addiu $a1,$sp,0x228 -/* f041884: 2406ffff */ addiu $a2,$zero,-1 -/* f041888: 0fc2a132 */ jal bgunPlayBgHitSound -/* f04188c: 27a70214 */ addiu $a3,$sp,0x214 -/* f041890: 0fc4f92a */ jal chrIsUsingPaintball -/* f041894: 8fa40278 */ lw $a0,0x278($sp) -/* f041898: 1040000b */ beqz $v0,.L0f0418c8 -/* f04189c: 87a40214 */ lh $a0,0x214($sp) -/* f0418a0: 24180019 */ addiu $t8,$zero,0x19 -/* f0418a4: afb80014 */ sw $t8,0x14($sp) -/* f0418a8: 87a40214 */ lh $a0,0x214($sp) -/* f0418ac: 00002825 */ or $a1,$zero,$zero -/* f0418b0: 27a60228 */ addiu $a2,$sp,0x228 -/* f0418b4: 00003825 */ or $a3,$zero,$zero -/* f0418b8: 0fc4be7c */ jal sparksCreate -/* f0418bc: afa00010 */ sw $zero,0x10($sp) -/* f0418c0: 10000008 */ b .L0f0418e4 -/* f0418c4: 93ac0260 */ lbu $t4,0x260($sp) -.L0f0418c8: -/* f0418c8: 00002825 */ or $a1,$zero,$zero -/* f0418cc: 27a60228 */ addiu $a2,$sp,0x228 -/* f0418d0: 00003825 */ or $a3,$zero,$zero -/* f0418d4: afa00010 */ sw $zero,0x10($sp) -/* f0418d8: 0fc4be7c */ jal sparksCreate -/* f0418dc: afa00014 */ sw $zero,0x14($sp) -.L0f0418e0: -/* f0418e0: 93ac0260 */ lbu $t4,0x260($sp) -.L0f0418e4: -/* f0418e4: 24010007 */ addiu $at,$zero,0x7 -/* f0418e8: 93b90263 */ lbu $t9,0x263($sp) -/* f0418ec: 1581001b */ bne $t4,$at,.L0f04195c -/* f0418f0: 24010001 */ addiu $at,$zero,0x1 -/* f0418f4: 17210019 */ bne $t9,$at,.L0f04195c -/* f0418f8: 8fad0278 */ lw $t5,0x278($sp) -/* f0418fc: 8dab02d4 */ lw $t3,0x2d4($t5) -/* f041900: 3c03800a */ lui $v1,%hi(g_Vars+0x28c) -/* f041904: 11600005 */ beqz $t3,.L0f04191c -/* f041908: 00000000 */ nop -/* f04190c: 0fc633fe */ jal mpPlayerGetIndex -/* f041910: 01a02025 */ or $a0,$t5,$zero -/* f041914: 10000002 */ b .L0f041920 -/* f041918: 00401825 */ or $v1,$v0,$zero -.L0f04191c: -/* f04191c: 8c63a24c */ lw $v1,%lo(g_Vars+0x28c)($v1) -.L0f041920: -/* f041920: 8faa0210 */ lw $t2,0x210($sp) -/* f041924: 27a40244 */ addiu $a0,$sp,0x244 -/* f041928: 27a50234 */ addiu $a1,$sp,0x234 -/* f04192c: 15400005 */ bnez $t2,.L0f041944 -/* f041930: 27a60228 */ addiu $a2,$sp,0x228 -/* f041934: 27a70214 */ addiu $a3,$sp,0x214 -/* f041938: 0fc1979d */ jal func0f065e74 -/* f04193c: afa30064 */ sw $v1,0x64($sp) -/* f041940: 8fa30064 */ lw $v1,0x64($sp) -.L0f041944: -/* f041944: 00002025 */ or $a0,$zero,$zero -/* f041948: 27a50228 */ addiu $a1,$sp,0x228 -/* f04194c: 27a60214 */ addiu $a2,$sp,0x214 -/* f041950: 24070016 */ addiu $a3,$zero,0x16 -/* f041954: 0fc4a640 */ jal explosionCreateSimple -/* f041958: afa30010 */ sw $v1,0x10($sp) -.L0f04195c: -/* f04195c: 8fae01c0 */ lw $t6,0x1c0($sp) -.L0f041960: -/* f041960: 8fa4025c */ lw $a0,0x25c($sp) -/* f041964: 51c00004 */ beqzl $t6,.L0f041978 -/* f041968: 8fa80268 */ lw $t0,0x268($sp) -/* f04196c: 0fc1905e */ jal propSetPerimEnabled -/* f041970: 00002825 */ or $a1,$zero,$zero -/* f041974: 8fa80268 */ lw $t0,0x268($sp) -.L0f041978: -/* f041978: 8fb80250 */ lw $t8,0x250($sp) -/* f04197c: 93ac0260 */ lbu $t4,0x260($sp) -/* f041980: 0008782b */ sltu $t7,$zero,$t0 -/* f041984: 1300000e */ beqz $t8,.L0f0419c0 -/* f041988: 01e04025 */ or $t0,$t7,$zero -/* f04198c: 2599fffe */ addiu $t9,$t4,-2 -/* f041990: 2f21002a */ sltiu $at,$t9,0x2a -/* f041994: 10200009 */ beqz $at,.L0f0419bc -/* f041998: 0019c880 */ sll $t9,$t9,0x2 -/* f04199c: 3c017f1b */ lui $at,%hi(var7f1a90e0) -/* f0419a0: 00390821 */ addu $at,$at,$t9 -/* f0419a4: 8c3990e0 */ lw $t9,%lo(var7f1a90e0)($at) -/* f0419a8: 03200008 */ jr $t9 -/* f0419ac: 00000000 */ nop -/* f0419b0: 240b0001 */ addiu $t3,$zero,0x1 -/* f0419b4: 10000002 */ b .L0f0419c0 -/* f0419b8: afab0250 */ sw $t3,0x250($sp) -.L0f0419bc: -/* f0419bc: afa00250 */ sw $zero,0x250($sp) -.L0f0419c0: -/* f0419c0: 11000004 */ beqz $t0,.L0f0419d4 -/* f0419c4: 01003825 */ or $a3,$t0,$zero -/* f0419c8: 8fa70250 */ lw $a3,0x250($sp) -/* f0419cc: 0007682b */ sltu $t5,$zero,$a3 -/* f0419d0: 01a03825 */ or $a3,$t5,$zero -.L0f0419d4: -/* f0419d4: 27aa0244 */ addiu $t2,$sp,0x244 -/* f0419d8: 27ae0228 */ addiu $t6,$sp,0x228 -/* f0419dc: afae0014 */ sw $t6,0x14($sp) -/* f0419e0: afaa0010 */ sw $t2,0x10($sp) -/* f0419e4: 8fa40278 */ lw $a0,0x278($sp) -/* f0419e8: 8fa5027c */ lw $a1,0x27c($sp) -/* f0419ec: 8fa60268 */ lw $a2,0x268($sp) -/* f0419f0: 0fc0f8a7 */ jal chrCreateFireslot -/* f0419f4: afa80054 */ sw $t0,0x54($sp) -/* f0419f8: 93af026f */ lbu $t7,0x26f($sp) -/* f0419fc: 8fa80054 */ lw $t0,0x54($sp) -/* f041a00: 8fa40278 */ lw $a0,0x278($sp) -/* f041a04: 11e00015 */ beqz $t7,.L0f041a5c -/* f041a08: 8fa5027c */ lw $a1,0x27c($sp) -/* f041a0c: 1100000a */ beqz $t0,.L0f041a38 -/* f041a10: 01003025 */ or $a2,$t0,$zero -/* f041a14: 8fb80278 */ lw $t8,0x278($sp) -/* f041a18: 8fb9027c */ lw $t9,0x27c($sp) -/* f041a1c: 8f0c02d4 */ lw $t4,0x2d4($t8) -/* f041a20: 00195880 */ sll $t3,$t9,0x2 -/* f041a24: 018b1021 */ addu $v0,$t4,$t3 -/* f041a28: 8c430024 */ lw $v1,0x24($v0) -/* f041a2c: 18600002 */ blez $v1,.L0f041a38 -/* f041a30: 246dffff */ addiu $t5,$v1,-1 -/* f041a34: ac4d0024 */ sw $t5,0x24($v0) -.L0f041a38: -/* f041a38: 11000004 */ beqz $t0,.L0f041a4c -/* f041a3c: 8fa40278 */ lw $a0,0x278($sp) -/* f041a40: 93a6026e */ lbu $a2,0x26e($sp) -/* f041a44: 0006502b */ sltu $t2,$zero,$a2 -/* f041a48: 01403025 */ or $a2,$t2,$zero -.L0f041a4c: -/* f041a4c: 0fc0fe12 */ jal chrSetFiring -/* f041a50: 8fa5027c */ lw $a1,0x27c($sp) -/* f041a54: 10000004 */ b .L0f041a68 -/* f041a58: 8fbf0044 */ lw $ra,0x44($sp) -.L0f041a5c: -/* f041a5c: 0fc0fe12 */ jal chrSetFiring -/* f041a60: 8fa60268 */ lw $a2,0x268($sp) -/* f041a64: 8fbf0044 */ lw $ra,0x44($sp) -.L0f041a68: -/* f041a68: 27bd0278 */ addiu $sp,$sp,0x278 -/* f041a6c: 03e00008 */ jr $ra -/* f041a70: 00000000 */ nop -); -#elif VERSION == VERSION_PAL_FINAL -GLOBAL_ASM( -glabel chrShoot -.late_rodata -glabel var7f1a90c8 -.word 0x3d888889 -glabel var7f1a90cc -.word 0x481c4000 -glabel var7f1a90d0 -.word 0x3fd55555 -glabel var7f1a90d4 -.word 0x3fd55555 -glabel var7f1a90d8 -.word 0x3fd55555 -glabel var7f1a90dc -.word 0x461c4000 -glabel var7f1a90e0 -.word chrShoot+0x14fc -glabel var7f1a90e4 -.word chrShoot+0x14fc -glabel var7f1a90e8 -.word chrShoot+0x14fc -glabel var7f1a90ec -.word chrShoot+0x14fc -glabel var7f1a90f0 -.word chrShoot+0x14fc -glabel var7f1a90f4 -.word chrShoot+0x14fc -glabel var7f1a90f8 -.word chrShoot+0x14fc -glabel var7f1a90fc -.word chrShoot+0x14fc -glabel var7f1a9100 -.word chrShoot+0x14fc -glabel var7f1a9104 -.word chrShoot+0x14fc -glabel var7f1a9108 -.word chrShoot+0x14fc -glabel var7f1a910c -.word chrShoot+0x14fc -glabel var7f1a9110 -.word chrShoot+0x14fc -glabel var7f1a9114 -.word chrShoot+0x14fc -glabel var7f1a9118 -.word chrShoot+0x14fc -glabel var7f1a911c -.word chrShoot+0x14fc -glabel var7f1a9120 -.word chrShoot+0x14fc -glabel var7f1a9124 -.word chrShoot+0x1508 -glabel var7f1a9128 -.word chrShoot+0x14fc -glabel var7f1a912c -.word chrShoot+0x14fc -glabel var7f1a9130 -.word chrShoot+0x14fc -glabel var7f1a9134 -.word chrShoot+0x1508 -glabel var7f1a9138 -.word chrShoot+0x1508 -glabel var7f1a913c -.word chrShoot+0x1508 -glabel var7f1a9140 -.word chrShoot+0x1508 -glabel var7f1a9144 -.word chrShoot+0x1508 -glabel var7f1a9148 -.word chrShoot+0x14fc -glabel var7f1a914c -.word chrShoot+0x14fc -glabel var7f1a9150 -.word chrShoot+0x1508 -glabel var7f1a9154 -.word chrShoot+0x1508 -glabel var7f1a9158 -.word chrShoot+0x1508 -glabel var7f1a915c -.word chrShoot+0x1508 -glabel var7f1a9160 -.word chrShoot+0x1508 -glabel var7f1a9164 -.word chrShoot+0x1508 -glabel var7f1a9168 -.word chrShoot+0x14fc -glabel var7f1a916c -.word chrShoot+0x14fc -glabel var7f1a9170 -.word chrShoot+0x14fc -glabel var7f1a9174 -.word chrShoot+0x14fc -glabel var7f1a9178 -.word chrShoot+0x14fc -glabel var7f1a917c -.word chrShoot+0x14fc -glabel var7f1a9180 -.word chrShoot+0x14fc -glabel var7f1a9184 -.word chrShoot+0x14fc -.text -/* f040658: 27bdfd88 */ addiu $sp,$sp,-632 -/* f04065c: afbf0044 */ sw $ra,0x44($sp) -/* f040660: afa5027c */ sw $a1,0x27c($sp) -/* f040664: 8c8e001c */ lw $t6,0x1c($a0) -/* f040668: 240f0001 */ li $t7,0x1 -/* f04066c: a3af026e */ sb $t7,0x26e($sp) -/* f040670: afae0274 */ sw $t6,0x274($sp) -/* f040674: 8c9802d4 */ lw $t8,0x2d4($a0) -/* f040678: 00001025 */ move $v0,$zero -/* f04067c: 8fa5027c */ lw $a1,0x27c($sp) -/* f040680: 53000003 */ beqzl $t8,.PF0f040690 -/* f040684: a3a2026f */ sb $v0,0x26f($sp) -/* f040688: 24020001 */ li $v0,0x1 -/* f04068c: a3a2026f */ sb $v0,0x26f($sp) -.PF0f040690: -/* f040690: 0fc0a252 */ jal chrGetHeldProp -/* f040694: afa40278 */ sw $a0,0x278($sp) -/* f040698: 5040055c */ beqzl $v0,.PF0f041c0c -/* f04069c: 8fbf0044 */ lw $ra,0x44($sp) -/* f0406a0: afa00268 */ sw $zero,0x268($sp) -/* f0406a4: 8c590004 */ lw $t9,0x4($v0) -/* f0406a8: 8fa40278 */ lw $a0,0x278($sp) -/* f0406ac: 0fc0a26a */ jal chrGetTargetProp -/* f0406b0: afb90264 */ sw $t9,0x264($sp) -/* f0406b4: 8fab0264 */ lw $t3,0x264($sp) -/* f0406b8: afa2025c */ sw $v0,0x25c($sp) -/* f0406bc: 8fa70278 */ lw $a3,0x278($sp) -/* f0406c0: 8961005c */ lwl $at,0x5c($t3) -/* f0406c4: 9961005f */ lwr $at,0x5f($t3) -/* f0406c8: 27aa0260 */ addiu $t2,$sp,0x260 -/* f0406cc: 24080200 */ li $t0,0x200 -/* f0406d0: ad410000 */ sw $at,0x0($t2) -/* f0406d4: 80e30007 */ lb $v1,0x7($a3) -/* f0406d8: 24010008 */ li $at,0x8 -/* f0406dc: 10610007 */ beq $v1,$at,.PF0f0406fc -/* f0406e0: 2401001b */ li $at,0x1b -/* f0406e4: 10610005 */ beq $v1,$at,.PF0f0406fc -/* f0406e8: 2401001c */ li $at,0x1c -/* f0406ec: 10610003 */ beq $v1,$at,.PF0f0406fc -/* f0406f0: 2401001d */ li $at,0x1d -/* f0406f4: 54610003 */ bnel $v1,$at,.PF0f040704 -/* f0406f8: afa00250 */ sw $zero,0x250($sp) -.PF0f0406fc: -/* f0406fc: 8ce8004c */ lw $t0,0x4c($a3) -/* f040700: afa00250 */ sw $zero,0x250($sp) -.PF0f040704: -/* f040704: afa00224 */ sw $zero,0x224($sp) -/* f040708: afa00210 */ sw $zero,0x210($sp) -/* f04070c: 93a40260 */ lbu $a0,0x260($sp) -/* f040710: 93a50263 */ lbu $a1,0x263($sp) -/* f040714: afa00254 */ sw $zero,0x254($sp) -/* f040718: 0fc2c8f8 */ jal weaponGetNumTicksPerShot -/* f04071c: afa80258 */ sw $t0,0x258($sp) -/* f040720: 8fa60254 */ lw $a2,0x254($sp) -/* f040724: 1c400005 */ bgtz $v0,.PF0f04073c -/* f040728: 00402025 */ move $a0,$v0 -/* f04072c: 240f0001 */ li $t7,0x1 -/* f040730: 24060001 */ li $a2,0x1 -/* f040734: 10000055 */ b .PF0f04088c -/* f040738: afaf0250 */ sw $t7,0x250($sp) -.PF0f04073c: -/* f04073c: 8fb80278 */ lw $t8,0x278($sp) -/* f040740: 8f0302d4 */ lw $v1,0x2d4($t8) -/* f040744: 5060001d */ beqzl $v1,.PF0f0407bc -/* f040748: 8faa0278 */ lw $t2,0x278($sp) -/* f04074c: 8c790020 */ lw $t9,0x20($v1) -/* f040750: 24010014 */ li $at,0x14 -/* f040754: 57210019 */ bnel $t9,$at,.PF0f0407bc -/* f040758: 8faa0278 */ lw $t2,0x278($sp) -/* f04075c: 8c6d004c */ lw $t5,0x4c($v1) -/* f040760: 8fab027c */ lw $t3,0x27c($sp) -/* f040764: 000d5080 */ sll $t2,$t5,0x2 -/* f040768: 05400013 */ bltz $t2,.PF0f0407b8 -/* f04076c: 000b7040 */ sll $t6,$t3,0x1 -/* f040770: 006e7821 */ addu $t7,$v1,$t6 -/* f040774: 85f800e0 */ lh $t8,0xe0($t7) -/* f040778: 2419004b */ li $t9,0x4b -/* f04077c: 3c017f1b */ lui $at,0x7f1b -/* f040780: 03386823 */ subu $t5,$t9,$t8 -/* f040784: 448d2000 */ mtc1 $t5,$f4 -/* f040788: c428a32c */ lwc1 $f8,-0x5cd4($at) -/* f04078c: 44825000 */ mtc1 $v0,$f10 -/* f040790: 468021a0 */ cvt.s.w $f6,$f4 -/* f040794: 3c013f80 */ lui $at,0x3f80 -/* f040798: 44819000 */ mtc1 $at,$f18 -/* f04079c: 46805420 */ cvt.s.w $f16,$f10 -/* f0407a0: 46083002 */ mul.s $f0,$f6,$f8 -/* f0407a4: 46009100 */ add.s $f4,$f18,$f0 -/* f0407a8: 46048182 */ mul.s $f6,$f16,$f4 -/* f0407ac: 4600320d */ trunc.w.s $f8,$f6 -/* f0407b0: 44044000 */ mfc1 $a0,$f8 -/* f0407b4: 00000000 */ nop -.PF0f0407b8: -/* f0407b8: 8faa0278 */ lw $t2,0x278($sp) -.PF0f0407bc: -/* f0407bc: 8fab027c */ lw $t3,0x27c($sp) -/* f0407c0: 3c0f800a */ lui $t7,0x800a -/* f0407c4: 8defa548 */ lw $t7,-0x5ab8($t7) -/* f0407c8: 014b1821 */ addu $v1,$t2,$t3 -/* f0407cc: 906e0004 */ lbu $t6,0x4($v1) -/* f0407d0: 01cfc821 */ addu $t9,$t6,$t7 -/* f0407d4: 333800ff */ andi $t8,$t9,0xff -/* f0407d8: 0304082a */ slt $at,$t8,$a0 -/* f0407dc: 1420002b */ bnez $at,.PF0f04088c -/* f0407e0: a0790004 */ sb $t9,0x4($v1) -/* f0407e4: a0600004 */ sb $zero,0x4($v1) -/* f0407e8: 8faa0278 */ lw $t2,0x278($sp) -/* f0407ec: 8fad027c */ lw $t5,0x27c($sp) -/* f0407f0: 240c0001 */ li $t4,0x1 -/* f0407f4: 8d4b032c */ lw $t3,0x32c($t2) -/* f0407f8: 01ac1004 */ sllv $v0,$t4,$t5 -/* f0407fc: 24060001 */ li $a2,0x1 -/* f040800: 000b7300 */ sll $t6,$t3,0xc -/* f040804: 914b032d */ lbu $t3,0x32d($t2) -/* f040808: 000e7f82 */ srl $t7,$t6,0x1e -/* f04080c: 01e2c026 */ xor $t8,$t7,$v0 -/* f040810: 00186080 */ sll $t4,$t8,0x2 -/* f040814: 318d000c */ andi $t5,$t4,0xc -/* f040818: 316efff3 */ andi $t6,$t3,0xfff3 -/* f04081c: 01ae7825 */ or $t7,$t5,$t6 -/* f040820: a14f032d */ sb $t7,0x32d($t2) -/* f040824: 8d59032c */ lw $t9,0x32c($t2) -/* f040828: 93ad0260 */ lbu $t5,0x260($sp) -/* f04082c: 2401001d */ li $at,0x1d -/* f040830: 0019c300 */ sll $t8,$t9,0xc -/* f040834: 00186782 */ srl $t4,$t8,0x1e -/* f040838: 01825824 */ and $t3,$t4,$v0 -/* f04083c: 15600003 */ bnez $t3,.PF0f04084c -/* f040840: 240e0001 */ li $t6,0x1 -/* f040844: 55a10003 */ bnel $t5,$at,.PF0f040854 -/* f040848: 8faf0278 */ lw $t7,0x278($sp) -.PF0f04084c: -/* f04084c: afae0250 */ sw $t6,0x250($sp) -/* f040850: 8faf0278 */ lw $t7,0x278($sp) -.PF0f040854: -/* f040854: 24010008 */ li $at,0x8 -/* f040858: 81ea0007 */ lb $t2,0x7($t7) -/* f04085c: 1541000b */ bne $t2,$at,.PF0f04088c -/* f040860: 00000000 */ nop -/* f040864: 8de40020 */ lw $a0,0x20($t7) -/* f040868: 0c0073c3 */ jal modelGetAnimNum -/* f04086c: afa60254 */ sw $a2,0x254($sp) -/* f040870: 2401026a */ li $at,0x26a -/* f040874: 14410005 */ bne $v0,$at,.PF0f04088c -/* f040878: 8fa60254 */ lw $a2,0x254($sp) -/* f04087c: 8fb90278 */ lw $t9,0x278($sp) -/* f040880: 83380033 */ lb $t8,0x33($t9) -/* f040884: 270c0001 */ addiu $t4,$t8,0x1 -/* f040888: a32c0033 */ sb $t4,0x33($t9) -.PF0f04088c: -/* f04088c: 50c004a3 */ beqzl $a2,.PF0f041b1c -/* f040890: 8fa80268 */ lw $t0,0x268($sp) -/* f040894: 0fc0f9dd */ jal chrGetAimAngle -/* f040898: 8fa40278 */ lw $a0,0x278($sp) -/* f04089c: e7a00204 */ swc1 $f0,0x204($sp) -/* f0408a0: 0fc0fa36 */ jal func0f03e754 -/* f0408a4: 8fa40278 */ lw $a0,0x278($sp) -/* f0408a8: 93ab026f */ lbu $t3,0x26f($sp) -/* f0408ac: e7a00200 */ swc1 $f0,0x200($sp) -/* f0408b0: 240e0001 */ li $t6,0x1 -/* f0408b4: 11600004 */ beqz $t3,.PF0f0408c8 -/* f0408b8: 27a60244 */ addiu $a2,$sp,0x244 -/* f0408bc: 240d0004 */ li $t5,0x4 -/* f0408c0: 10000002 */ b .PF0f0408cc -/* f0408c4: afad01fc */ sw $t5,0x1fc($sp) -.PF0f0408c8: -/* f0408c8: afa001fc */ sw $zero,0x1fc($sp) -.PF0f0408cc: -/* f0408cc: afae0268 */ sw $t6,0x268($sp) -/* f0408d0: 8fa40278 */ lw $a0,0x278($sp) -/* f0408d4: 0fc0ffda */ jal chrGetGunPos -/* f0408d8: 8fa5027c */ lw $a1,0x27c($sp) -/* f0408dc: 54400032 */ bnezl $v0,.PF0f0409a8 -/* f0408e0: 8fa40278 */ lw $a0,0x278($sp) -/* f0408e4: 8fa20274 */ lw $v0,0x274($sp) -/* f0408e8: 3c0141f0 */ lui $at,0x41f0 -/* f0408ec: 44818000 */ mtc1 $at,$f16 -/* f0408f0: c44a0008 */ lwc1 $f10,0x8($v0) -/* f0408f4: 8faa027c */ lw $t2,0x27c($sp) -/* f0408f8: 24010001 */ li $at,0x1 -/* f0408fc: e7aa0244 */ swc1 $f10,0x244($sp) -/* f040900: c452000c */ lwc1 $f18,0xc($v0) -/* f040904: 46109100 */ add.s $f4,$f18,$f16 -/* f040908: e7a40248 */ swc1 $f4,0x248($sp) -/* f04090c: c4460010 */ lwc1 $f6,0x10($v0) -/* f040910: 15410013 */ bne $t2,$at,.PF0f040960 -/* f040914: e7a6024c */ swc1 $f6,0x24c($sp) -/* f040918: 0c006858 */ jal cosf -/* f04091c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040920: 3c014120 */ lui $at,0x4120 -/* f040924: 44815000 */ mtc1 $at,$f10 -/* f040928: c7a80244 */ lwc1 $f8,0x244($sp) -/* f04092c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040930: 460a0482 */ mul.s $f18,$f0,$f10 -/* f040934: 46124400 */ add.s $f16,$f8,$f18 -/* f040938: 0c00685b */ jal sinf -/* f04093c: e7b00244 */ swc1 $f16,0x244($sp) -/* f040940: 3c014120 */ lui $at,0x4120 -/* f040944: 44813000 */ mtc1 $at,$f6 -/* f040948: 46000107 */ neg.s $f4,$f0 -/* f04094c: c7a8024c */ lwc1 $f8,0x24c($sp) -/* f040950: 46062282 */ mul.s $f10,$f4,$f6 -/* f040954: 460a4480 */ add.s $f18,$f8,$f10 -/* f040958: 10000012 */ b .PF0f0409a4 -/* f04095c: e7b2024c */ swc1 $f18,0x24c($sp) -.PF0f040960: -/* f040960: 0c006858 */ jal cosf -/* f040964: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040968: 3c014120 */ lui $at,0x4120 -/* f04096c: 44812000 */ mtc1 $at,$f4 -/* f040970: 46000407 */ neg.s $f16,$f0 -/* f040974: c7a80244 */ lwc1 $f8,0x244($sp) -/* f040978: 46048182 */ mul.s $f6,$f16,$f4 -/* f04097c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040980: 46064280 */ add.s $f10,$f8,$f6 -/* f040984: 0c00685b */ jal sinf -/* f040988: e7aa0244 */ swc1 $f10,0x244($sp) -/* f04098c: 3c014120 */ lui $at,0x4120 -/* f040990: 44818000 */ mtc1 $at,$f16 -/* f040994: c7b2024c */ lwc1 $f18,0x24c($sp) -/* f040998: 46100102 */ mul.s $f4,$f0,$f16 -/* f04099c: 46049200 */ add.s $f8,$f18,$f4 -/* f0409a0: e7a8024c */ swc1 $f8,0x24c($sp) -.PF0f0409a4: -/* f0409a4: 8fa40278 */ lw $a0,0x278($sp) -.PF0f0409a8: -/* f0409a8: 0fc07a37 */ jal chrSetPerimEnabled -/* f0409ac: 00002825 */ move $a1,$zero -/* f0409b0: 8fb801fc */ lw $t8,0x1fc($sp) -/* f0409b4: 8faf0274 */ lw $t7,0x274($sp) -/* f0409b8: 24190010 */ li $t9,0x10 -/* f0409bc: 370c082a */ ori $t4,$t8,0x82a -/* f0409c0: afac0010 */ sw $t4,0x10($sp) -/* f0409c4: afb90014 */ sw $t9,0x14($sp) -/* f0409c8: 27a60244 */ addiu $a2,$sp,0x244 -/* f0409cc: 27a70234 */ addiu $a3,$sp,0x234 -/* f0409d0: 25e40008 */ addiu $a0,$t7,0x8 -/* f0409d4: 0c00b5cd */ jal cd0002de34 -/* f0409d8: 25e50028 */ addiu $a1,$t7,0x28 -/* f0409dc: 14400002 */ bnez $v0,.PF0f0409e8 -/* f0409e0: 24050001 */ li $a1,0x1 -/* f0409e4: afa00268 */ sw $zero,0x268($sp) -.PF0f0409e8: -/* f0409e8: 0fc07a37 */ jal chrSetPerimEnabled -/* f0409ec: 8fa40278 */ lw $a0,0x278($sp) -/* f0409f0: 8fab0268 */ lw $t3,0x268($sp) -/* f0409f4: 240d0001 */ li $t5,0x1 -/* f0409f8: 51600448 */ beqzl $t3,.PF0f041b1c -/* f0409fc: 8fa80268 */ lw $t0,0x268($sp) -/* f040a00: 93ae026f */ lbu $t6,0x26f($sp) -/* f040a04: afa001f8 */ sw $zero,0x1f8($sp) -/* f040a08: afa001f4 */ sw $zero,0x1f4($sp) -/* f040a0c: afad01f0 */ sw $t5,0x1f0($sp) -/* f040a10: 11c00004 */ beqz $t6,.PF0f040a24 -/* f040a14: afa001cc */ sw $zero,0x1cc($sp) -/* f040a18: 240a083f */ li $t2,0x83f -/* f040a1c: 10000003 */ b .PF0f040a2c -/* f040a20: afaa01c8 */ sw $t2,0x1c8($sp) -.PF0f040a24: -/* f040a24: 240f083b */ li $t7,0x83b -/* f040a28: afaf01c8 */ sw $t7,0x1c8($sp) -.PF0f040a2c: -/* f040a2c: 8fa7025c */ lw $a3,0x25c($sp) -/* f040a30: 8ce20004 */ lw $v0,0x4($a3) -/* f040a34: 50400004 */ beqzl $v0,.PF0f040a48 -/* f040a38: 00004825 */ move $t1,$zero -/* f040a3c: 10000002 */ b .PF0f040a48 -/* f040a40: 904902fe */ lbu $t1,0x2fe($v0) -/* f040a44: 00004825 */ move $t1,$zero -.PF0f040a48: -/* f040a48: 39220003 */ xori $v0,$t1,0x3 -/* f040a4c: 2c420001 */ sltiu $v0,$v0,0x1 -/* f040a50: 1040000f */ beqz $v0,.PF0f040a90 -/* f040a54: 00401825 */ move $v1,$v0 -/* f040a58: afa2005c */ sw $v0,0x5c($sp) -/* f040a5c: 0fc124d8 */ jal chrGetDistanceToTarget -/* f040a60: 8fa40278 */ lw $a0,0x278($sp) -/* f040a64: 3c014316 */ lui $at,0x4316 -/* f040a68: 44813000 */ mtc1 $at,$f6 -/* f040a6c: 0000c025 */ move $t8,$zero -/* f040a70: 4600303c */ c.lt.s $f6,$f0 -/* f040a74: 00000000 */ nop -/* f040a78: 45020003 */ bc1fl .PF0f040a88 -/* f040a7c: afb8005c */ sw $t8,0x5c($sp) -/* f040a80: 24180001 */ li $t8,0x1 -/* f040a84: afb8005c */ sw $t8,0x5c($sp) -.PF0f040a88: -/* f040a88: 8fa7025c */ lw $a3,0x25c($sp) -/* f040a8c: 03001825 */ move $v1,$t8 -.PF0f040a90: -/* f040a90: afa301c0 */ sw $v1,0x1c0($sp) -/* f040a94: 10600016 */ beqz $v1,.PF0f040af0 -/* f040a98: afa001bc */ sw $zero,0x1bc($sp) -/* f040a9c: c4ea0008 */ lwc1 $f10,0x8($a3) -/* f040aa0: c7b00244 */ lwc1 $f16,0x244($sp) -/* f040aa4: c7a80248 */ lwc1 $f8,0x248($sp) -/* f040aa8: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040aac: 46105481 */ sub.s $f18,$f10,$f16 -/* f040ab0: c7b0024c */ lwc1 $f16,0x24c($sp) -/* f040ab4: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040ab8: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040abc: e7b201e0 */ swc1 $f18,0x1e0($sp) -/* f040ac0: c4e4000c */ lwc1 $f4,0xc($a3) -/* f040ac4: 46082181 */ sub.s $f6,$f4,$f8 -/* f040ac8: e7a601e4 */ swc1 $f6,0x1e4($sp) -/* f040acc: c4ea0010 */ lwc1 $f10,0x10($a3) -/* f040ad0: 46105481 */ sub.s $f18,$f10,$f16 -/* f040ad4: 0c0011d8 */ jal guNormalize -/* f040ad8: e7b201e8 */ swc1 $f18,0x1e8($sp) -/* f040adc: 8fa4025c */ lw $a0,0x25c($sp) -/* f040ae0: 0fc19102 */ jal propSetPerimEnabled -/* f040ae4: 24050001 */ li $a1,0x1 -/* f040ae8: 1000002f */ b .PF0f040ba8 -/* f040aec: 8fab0278 */ lw $t3,0x278($sp) -.PF0f040af0: -/* f040af0: 0c006858 */ jal cosf -/* f040af4: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040af8: e7a00060 */ swc1 $f0,0x60($sp) -/* f040afc: 0c00685b */ jal sinf -/* f040b00: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040b04: c7a40060 */ lwc1 $f4,0x60($sp) -/* f040b08: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040b0c: 46040202 */ mul.s $f8,$f0,$f4 -/* f040b10: 0c00685b */ jal sinf -/* f040b14: e7a801e0 */ swc1 $f8,0x1e0($sp) -/* f040b18: e7a001e4 */ swc1 $f0,0x1e4($sp) -/* f040b1c: 0c006858 */ jal cosf -/* f040b20: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040b24: e7a00060 */ swc1 $f0,0x60($sp) -/* f040b28: 0c006858 */ jal cosf -/* f040b2c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040b30: c7a60060 */ lwc1 $f6,0x60($sp) -/* f040b34: 93ac026f */ lbu $t4,0x26f($sp) -/* f040b38: 46060282 */ mul.s $f10,$f0,$f6 -/* f040b3c: 11800019 */ beqz $t4,.PF0f040ba4 -/* f040b40: e7aa01e8 */ swc1 $f10,0x1e8($sp) -/* f040b44: 0fc6492c */ jal botGuessCrouchPos -/* f040b48: 8fa40278 */ lw $a0,0x278($sp) -/* f040b4c: 8fb90278 */ lw $t9,0x278($sp) -/* f040b50: 00404825 */ move $t1,$v0 -/* f040b54: 8fae0278 */ lw $t6,0x278($sp) -/* f040b58: 8f280170 */ lw $t0,0x170($t9) -/* f040b5c: 0008582b */ sltu $t3,$zero,$t0 -/* f040b60: 11600004 */ beqz $t3,.PF0f040b74 -/* f040b64: 01604025 */ move $t0,$t3 -/* f040b68: 8f280174 */ lw $t0,0x174($t9) -/* f040b6c: 0008682b */ sltu $t5,$zero,$t0 -/* f040b70: 01a04025 */ move $t0,$t5 -.PF0f040b74: -/* f040b74: 8dc302d4 */ lw $v1,0x2d4($t6) -/* f040b78: 8fb8027c */ lw $t8,0x27c($sp) -/* f040b7c: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040b80: 8c66004c */ lw $a2,0x4c($v1) -/* f040b84: 00786021 */ addu $t4,$v1,$t8 -/* f040b88: 9187004d */ lbu $a3,0x4d($t4) -/* f040b8c: 8c650020 */ lw $a1,0x20($v1) -/* f040b90: 00065080 */ sll $t2,$a2,0x2 -/* f040b94: 000a37c2 */ srl $a2,$t2,0x1f -/* f040b98: afa80014 */ sw $t0,0x14($sp) -/* f040b9c: 0fc284b4 */ jal bgunCalculateBotShotSpread -/* f040ba0: afa90010 */ sw $t1,0x10($sp) -.PF0f040ba4: -/* f040ba4: 8fab0278 */ lw $t3,0x278($sp) -.PF0f040ba8: -/* f040ba8: 93b90260 */ lbu $t9,0x260($sp) -/* f040bac: 24010016 */ li $at,0x16 -/* f040bb0: 8d6302d4 */ lw $v1,0x2d4($t3) -/* f040bb4: 50600018 */ beqzl $v1,.PF0f040c18 -/* f040bb8: 3c014780 */ lui $at,0x4780 -/* f040bbc: 57210016 */ bnel $t9,$at,.PF0f040c18 -/* f040bc0: 3c014780 */ lui $at,0x4780 -/* f040bc4: 8c6d0128 */ lw $t5,0x128($v1) -/* f040bc8: 240e0001 */ li $t6,0x1 -/* f040bcc: 01602025 */ move $a0,$t3 -/* f040bd0: 15a00010 */ bnez $t5,.PF0f040c14 -/* f040bd4: 00002825 */ move $a1,$zero -/* f040bd8: afae0250 */ sw $t6,0x250($sp) -/* f040bdc: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040be0: 0fc66c21 */ jal botactShootFarsight -/* f040be4: 27a70244 */ addiu $a3,$sp,0x244 -/* f040be8: 24010002 */ li $at,0x2 -/* f040bec: 5441000a */ bnel $v0,$at,.PF0f040c18 -/* f040bf0: 3c014780 */ lui $at,0x4780 -/* f040bf4: 0c004ad4 */ jal random -/* f040bf8: 00000000 */ nop -/* f040bfc: 240100ff */ li $at,0xff -/* f040c00: 0041001b */ divu $zero,$v0,$at -/* f040c04: 00005010 */ mfhi $t2 -/* f040c08: 2d4f00c9 */ sltiu $t7,$t2,0xc9 -/* f040c0c: 39ef0001 */ xori $t7,$t7,0x1 -/* f040c10: a3af026e */ sb $t7,0x26e($sp) -.PF0f040c14: -/* f040c14: 3c014780 */ lui $at,0x4780 -.PF0f040c18: -/* f040c18: 44810000 */ mtc1 $at,$f0 -/* f040c1c: c7b001e0 */ lwc1 $f16,0x1e0($sp) -/* f040c20: c7a40244 */ lwc1 $f4,0x244($sp) -/* f040c24: c7a601e4 */ lwc1 $f6,0x1e4($sp) -/* f040c28: 46008482 */ mul.s $f18,$f16,$f0 -/* f040c2c: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040c30: 8fa40278 */ lw $a0,0x278($sp) -/* f040c34: 46003282 */ mul.s $f10,$f6,$f0 -/* f040c38: c7a6024c */ lwc1 $f6,0x24c($sp) -/* f040c3c: 00002825 */ move $a1,$zero -/* f040c40: 46049200 */ add.s $f8,$f18,$f4 -/* f040c44: c7a401e8 */ lwc1 $f4,0x1e8($sp) -/* f040c48: 46105480 */ add.s $f18,$f10,$f16 -/* f040c4c: e7a80228 */ swc1 $f8,0x228($sp) -/* f040c50: 46002202 */ mul.s $f8,$f4,$f0 -/* f040c54: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040c58: 46064280 */ add.s $f10,$f8,$f6 -/* f040c5c: 0fc07a37 */ jal chrSetPerimEnabled -/* f040c60: e7aa0230 */ swc1 $f10,0x230($sp) -/* f040c64: 93b8026f */ lbu $t8,0x26f($sp) -/* f040c68: 27a40244 */ addiu $a0,$sp,0x244 -/* f040c6c: 27a50234 */ addiu $a1,$sp,0x234 -/* f040c70: 13000004 */ beqz $t8,.PF0f040c84 -/* f040c74: 27a60228 */ addiu $a2,$sp,0x228 -/* f040c78: 240c0001 */ li $t4,0x1 -/* f040c7c: 3c01800a */ lui $at,0x800a -/* f040c80: ac2ca99c */ sw $t4,-0x5664($at) -.PF0f040c84: -/* f040c84: 24190010 */ li $t9,0x10 -/* f040c88: afb90010 */ sw $t9,0x10($sp) -/* f040c8c: 0c00b5a4 */ jal cdTestAToB4 -/* f040c90: 8fa701c8 */ lw $a3,0x1c8($sp) -/* f040c94: 1440000a */ bnez $v0,.PF0f040cc0 -/* f040c98: 240d0001 */ li $t5,0x1 -/* f040c9c: 3c067f1b */ lui $a2,0x7f1b -/* f040ca0: afad0224 */ sw $t5,0x224($sp) -/* f040ca4: 24c69d20 */ addiu $a2,$a2,-25312 -/* f040ca8: 27a40228 */ addiu $a0,$sp,0x228 -/* f040cac: 0c0091ef */ jal cdGetPos -/* f040cb0: 24052f2d */ li $a1,0x2f2d -/* f040cb4: 0c0091ec */ jal cdGetObstacle -/* f040cb8: 00000000 */ nop -/* f040cbc: afa201cc */ sw $v0,0x1cc($sp) -.PF0f040cc0: -/* f040cc0: 8fa40278 */ lw $a0,0x278($sp) -/* f040cc4: 0fc07a37 */ jal chrSetPerimEnabled -/* f040cc8: 24050001 */ li $a1,0x1 -/* f040ccc: 93ae026f */ lbu $t6,0x26f($sp) -/* f040cd0: 3c01800a */ lui $at,0x800a -/* f040cd4: 51c00003 */ beqzl $t6,.PF0f040ce4 -/* f040cd8: 8fab01cc */ lw $t3,0x1cc($sp) -/* f040cdc: ac20a99c */ sw $zero,-0x5664($at) -/* f040ce0: 8fab01cc */ lw $t3,0x1cc($sp) -.PF0f040ce4: -/* f040ce4: 8faa01c0 */ lw $t2,0x1c0($sp) -/* f040ce8: 55600015 */ bnezl $t3,.PF0f040d40 -/* f040cec: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040cf0: 51400013 */ beqzl $t2,.PF0f040d40 -/* f040cf4: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040cf8: 0c004ad4 */ jal random -/* f040cfc: 00000000 */ nop -/* f040d00: 24010064 */ li $at,0x64 -/* f040d04: 0041001b */ divu $zero,$v0,$at -/* f040d08: 00001810 */ mfhi $v1 -/* f040d0c: 2c6f0033 */ sltiu $t7,$v1,0x33 -/* f040d10: 39ef0001 */ xori $t7,$t7,0x1 -/* f040d14: 11e00009 */ beqz $t7,.PF0f040d3c -/* f040d18: afaf01bc */ sw $t7,0x1bc($sp) -/* f040d1c: 8fb8025c */ lw $t8,0x25c($sp) -/* f040d20: afb801cc */ sw $t8,0x1cc($sp) -/* f040d24: c7100008 */ lwc1 $f16,0x8($t8) -/* f040d28: e7b00228 */ swc1 $f16,0x228($sp) -/* f040d2c: c712000c */ lwc1 $f18,0xc($t8) -/* f040d30: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040d34: c7040010 */ lwc1 $f4,0x10($t8) -/* f040d38: e7a40230 */ swc1 $f4,0x230($sp) -.PF0f040d3c: -/* f040d3c: c7a80228 */ lwc1 $f8,0x228($sp) -.PF0f040d40: -/* f040d40: c7a60244 */ lwc1 $f6,0x244($sp) -/* f040d44: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f040d48: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040d4c: 46064001 */ sub.s $f0,$f8,$f6 -/* f040d50: c7b20230 */ lwc1 $f18,0x230($sp) -/* f040d54: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f040d58: 46105081 */ sub.s $f2,$f10,$f16 -/* f040d5c: 46000202 */ mul.s $f8,$f0,$f0 -/* f040d60: 93a40260 */ lbu $a0,0x260($sp) -/* f040d64: 46049301 */ sub.s $f12,$f18,$f4 -/* f040d68: 46021182 */ mul.s $f6,$f2,$f2 -/* f040d6c: 24010018 */ li $at,0x18 -/* f040d70: 460c6402 */ mul.s $f16,$f12,$f12 -/* f040d74: 46064280 */ add.s $f10,$f8,$f6 -/* f040d78: 46105480 */ add.s $f18,$f10,$f16 -/* f040d7c: 1081000f */ beq $a0,$at,.PF0f040dbc -/* f040d80: e7b201d0 */ swc1 $f18,0x1d0($sp) -/* f040d84: 24010019 */ li $at,0x19 -/* f040d88: 1081000c */ beq $a0,$at,.PF0f040dbc -/* f040d8c: 24010012 */ li $at,0x12 -/* f040d90: 14810003 */ bne $a0,$at,.PF0f040da0 -/* f040d94: 93ac0263 */ lbu $t4,0x263($sp) -/* f040d98: 24010001 */ li $at,0x1 -/* f040d9c: 11810007 */ beq $t4,$at,.PF0f040dbc -.PF0f040da0: -/* f040da0: 24010017 */ li $at,0x17 -/* f040da4: 10810005 */ beq $a0,$at,.PF0f040dbc -/* f040da8: 2401001b */ li $at,0x1b -/* f040dac: 10810003 */ beq $a0,$at,.PF0f040dbc -/* f040db0: 24010034 */ li $at,0x34 -/* f040db4: 54810179 */ bnel $a0,$at,.PF0f04139c -/* f040db8: 24010006 */ li $at,0x6 -.PF0f040dbc: -/* f040dbc: 93b9026f */ lbu $t9,0x26f($sp) -/* f040dc0: afa00250 */ sw $zero,0x250($sp) -/* f040dc4: 3c017f1b */ lui $at,0x7f1b -/* f040dc8: 17200006 */ bnez $t9,.PF0f040de4 -/* f040dcc: c7a801d0 */ lwc1 $f8,0x1d0($sp) -/* f040dd0: c424a330 */ lwc1 $f4,-0x5cd0($at) -/* f040dd4: 4608203c */ c.lt.s $f4,$f8 -/* f040dd8: 00000000 */ nop -/* f040ddc: 4502016c */ bc1fl .PF0f041390 -/* f040de0: afa00268 */ sw $zero,0x268($sp) -.PF0f040de4: -/* f040de4: 0fc2c524 */ jal weaponFindById -/* f040de8: 00000000 */ nop -/* f040dec: 93ad0263 */ lbu $t5,0x263($sp) -/* f040df0: 93a40260 */ lbu $a0,0x260($sp) -/* f040df4: 24010018 */ li $at,0x18 -/* f040df8: 000d7080 */ sll $t6,$t5,0x2 -/* f040dfc: 004e5821 */ addu $t3,$v0,$t6 -/* f040e00: 10810006 */ beq $a0,$at,.PF0f040e1c -/* f040e04: 8d630014 */ lw $v1,0x14($t3) -/* f040e08: 24010034 */ li $at,0x34 -/* f040e0c: 10810003 */ beq $a0,$at,.PF0f040e1c -/* f040e10: 24010019 */ li $at,0x19 -/* f040e14: 5481000e */ bnel $a0,$at,.PF0f040e50 -/* f040e18: 2401001b */ li $at,0x1b -.PF0f040e1c: -/* f040e1c: 8c6a0010 */ lw $t2,0x10($v1) -/* f040e20: 24050053 */ li $a1,0x53 -/* f040e24: 8fa60278 */ lw $a2,0x278($sp) -/* f040e28: 000a7840 */ sll $t7,$t2,0x1 -/* f040e2c: 05e30003 */ bgezl $t7,.PF0f040e3c -/* f040e30: 8c640040 */ lw $a0,0x40($v1) -/* f040e34: 24050054 */ li $a1,0x54 -/* f040e38: 8c640040 */ lw $a0,0x40($v1) -.PF0f040e3c: -/* f040e3c: 0fc22deb */ jal weaponCreateProjectileFromWeaponNum -/* f040e40: afa300d4 */ sw $v1,0xd4($sp) -/* f040e44: 1000002e */ b .PF0f040f00 -/* f040e48: afa201b8 */ sw $v0,0x1b8($sp) -/* f040e4c: 2401001b */ li $at,0x1b -.PF0f040e50: -/* f040e50: 1481000a */ bne $a0,$at,.PF0f040e7c -/* f040e54: 24050056 */ li $a1,0x56 -/* f040e58: 8c640040 */ lw $a0,0x40($v1) -/* f040e5c: afa300d4 */ sw $v1,0xd4($sp) -/* f040e60: 0fc22deb */ jal weaponCreateProjectileFromWeaponNum -/* f040e64: 8fa60278 */ lw $a2,0x278($sp) -/* f040e68: 10400025 */ beqz $v0,.PF0f040f00 -/* f040e6c: afa201b8 */ sw $v0,0x1b8($sp) -/* f040e70: 93b80263 */ lbu $t8,0x263($sp) -/* f040e74: 10000022 */ b .PF0f040f00 -/* f040e78: a058005f */ sb $t8,0x5f($v0) -.PF0f040e7c: -/* f040e7c: 24010017 */ li $at,0x17 -/* f040e80: 1481000a */ bne $a0,$at,.PF0f040eac -/* f040e84: 24050055 */ li $a1,0x55 -/* f040e88: 8c640040 */ lw $a0,0x40($v1) -/* f040e8c: afa300d4 */ sw $v1,0xd4($sp) -/* f040e90: 0fc22deb */ jal weaponCreateProjectileFromWeaponNum -/* f040e94: 8fa60278 */ lw $a2,0x278($sp) -/* f040e98: 10400019 */ beqz $v0,.PF0f040f00 -/* f040e9c: afa201b8 */ sw $v0,0x1b8($sp) -/* f040ea0: 93ac0263 */ lbu $t4,0x263($sp) -/* f040ea4: 10000016 */ b .PF0f040f00 -/* f040ea8: a04c005f */ sb $t4,0x5f($v0) -.PF0f040eac: -/* f040eac: 24010012 */ li $at,0x12 -/* f040eb0: 1481000b */ bne $a0,$at,.PF0f040ee0 -/* f040eb4: 3c0d800a */ lui $t5,0x800a -/* f040eb8: 8c640040 */ lw $a0,0x40($v1) -/* f040ebc: afa300d4 */ sw $v1,0xd4($sp) -/* f040ec0: 24050055 */ li $a1,0x55 -/* f040ec4: 0fc22deb */ jal weaponCreateProjectileFromWeaponNum -/* f040ec8: 8fa60278 */ lw $a2,0x278($sp) -/* f040ecc: 1040000c */ beqz $v0,.PF0f040f00 -/* f040ed0: afa201b8 */ sw $v0,0x1b8($sp) -/* f040ed4: 24190002 */ li $t9,0x2 -/* f040ed8: 10000009 */ b .PF0f040f00 -/* f040edc: a059005f */ sb $t9,0x5f($v0) -.PF0f040ee0: -/* f040ee0: 8dada794 */ lw $t5,-0x586c($t5) -/* f040ee4: 8c640040 */ lw $a0,0x40($v1) -/* f040ee8: 27a50260 */ addiu $a1,$sp,0x260 -/* f040eec: 8dae00bc */ lw $t6,0xbc($t5) -/* f040ef0: 8dc60004 */ lw $a2,0x4($t6) -/* f040ef4: 0fc22d61 */ jal weaponCreateProjectileFromGset -/* f040ef8: afa300d4 */ sw $v1,0xd4($sp) -/* f040efc: afa201b8 */ sw $v0,0x1b8($sp) -.PF0f040f00: -/* f040f00: 10400123 */ beqz $v0,.PF0f041390 -/* f040f04: 8fab00d4 */ lw $t3,0xd4($sp) -/* f040f08: 8d6a004c */ lw $t2,0x4c($t3) -/* f040f0c: 3c017f1b */ lui $at,0x7f1b -/* f040f10: c430a334 */ lwc1 $f16,-0x5ccc($at) -/* f040f14: 448a3000 */ mtc1 $t2,$f6 -/* f040f18: 3c014270 */ lui $at,0x4270 -/* f040f1c: 44812000 */ mtc1 $at,$f4 -/* f040f20: 468032a0 */ cvt.s.w $f10,$f6 -/* f040f24: 3c017f1b */ lui $at,0x7f1b -/* f040f28: 93b8026f */ lbu $t8,0x26f($sp) -/* f040f2c: 8fa40278 */ lw $a0,0x278($sp) -/* f040f30: 2405001e */ li $a1,0x1e -/* f040f34: 46105482 */ mul.s $f18,$f10,$f16 -/* f040f38: c430a338 */ lwc1 $f16,-0x5cc8($at) -/* f040f3c: 46049203 */ div.s $f8,$f18,$f4 -/* f040f40: e7a80168 */ swc1 $f8,0x168($sp) -/* f040f44: 8d6f0054 */ lw $t7,0x54($t3) -/* f040f48: 448f3000 */ mtc1 $t7,$f6 -/* f040f4c: 00000000 */ nop -/* f040f50: 468032a0 */ cvt.s.w $f10,$f6 -/* f040f54: 46105482 */ mul.s $f18,$f10,$f16 -/* f040f58: 13000080 */ beqz $t8,.PF0f04115c -/* f040f5c: e7b200cc */ swc1 $f18,0xcc($sp) -/* f040f60: 0fc12480 */ jal chrIsTargetInFov -/* f040f64: 00003025 */ move $a2,$zero -/* f040f68: 1040007c */ beqz $v0,.PF0f04115c -/* f040f6c: 00000000 */ nop -/* f040f70: 93a20263 */ lbu $v0,0x263($sp) -/* f040f74: 00001825 */ move $v1,$zero -/* f040f78: 93a40260 */ lbu $a0,0x260($sp) -/* f040f7c: 14400025 */ bnez $v0,.PF0f041014 -/* f040f80: 24010018 */ li $at,0x18 -/* f040f84: 10810006 */ beq $a0,$at,.PF0f040fa0 -/* f040f88: 8fac025c */ lw $t4,0x25c($sp) -/* f040f8c: 24010034 */ li $at,0x34 -/* f040f90: 10810003 */ beq $a0,$at,.PF0f040fa0 -/* f040f94: 24010019 */ li $at,0x19 -/* f040f98: 5481001f */ bnel $a0,$at,.PF0f041018 -/* f040f9c: 93a40260 */ lbu $a0,0x260($sp) -.PF0f040fa0: -/* f040fa0: 91820000 */ lbu $v0,0x0($t4) -/* f040fa4: 24010003 */ li $at,0x3 -/* f040fa8: 8fb9025c */ lw $t9,0x25c($sp) -/* f040fac: 10410003 */ beq $v0,$at,.PF0f040fbc -/* f040fb0: 24010006 */ li $at,0x6 -/* f040fb4: 14410051 */ bne $v0,$at,.PF0f0410fc -/* f040fb8: 00000000 */ nop -.PF0f040fbc: -/* f040fbc: c7240008 */ lwc1 $f4,0x8($t9) -/* f040fc0: c7aa0244 */ lwc1 $f10,0x244($sp) -/* f040fc4: c7b20248 */ lwc1 $f18,0x248($sp) -/* f040fc8: e7a400b8 */ swc1 $f4,0xb8($sp) -/* f040fcc: 8f2d0004 */ lw $t5,0x4($t9) -/* f040fd0: 460a2401 */ sub.s $f16,$f4,$f10 -/* f040fd4: c7aa024c */ lwc1 $f10,0x24c($sp) -/* f040fd8: c5a800b4 */ lwc1 $f8,0xb4($t5) -/* f040fdc: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040fe0: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040fe4: e7a800bc */ swc1 $f8,0xbc($sp) -/* f040fe8: c7260010 */ lwc1 $f6,0x10($t9) -/* f040fec: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f040ff0: 46124101 */ sub.s $f4,$f8,$f18 -/* f040ff4: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040ff8: e7a600c0 */ swc1 $f6,0xc0($sp) -/* f040ffc: 460a3401 */ sub.s $f16,$f6,$f10 -/* f041000: e7a401e4 */ swc1 $f4,0x1e4($sp) -/* f041004: 0c0011d8 */ jal guNormalize -/* f041008: e7b001e8 */ swc1 $f16,0x1e8($sp) -/* f04100c: 1000003b */ b .PF0f0410fc -/* f041010: 24030001 */ li $v1,0x1 -.PF0f041014: -/* f041014: 93a40260 */ lbu $a0,0x260($sp) -.PF0f041018: -/* f041018: 24050017 */ li $a1,0x17 -/* f04101c: 24010012 */ li $at,0x12 -/* f041020: 14a40003 */ bne $a1,$a0,.PF0f041030 -/* f041024: 00000000 */ nop -/* f041028: 50400004 */ beqzl $v0,.PF0f04103c -/* f04102c: 8fae025c */ lw $t6,0x25c($sp) -.PF0f041030: -/* f041030: 14810017 */ bne $a0,$at,.PF0f041090 -/* f041034: 00000000 */ nop -/* f041038: 8fae025c */ lw $t6,0x25c($sp) -.PF0f04103c: -/* f04103c: 24010003 */ li $at,0x3 -/* f041040: 8faa025c */ lw $t2,0x25c($sp) -/* f041044: 91c20000 */ lbu $v0,0x0($t6) -/* f041048: 10410003 */ beq $v0,$at,.PF0f041058 -/* f04104c: 24010006 */ li $at,0x6 -/* f041050: 1441002a */ bne $v0,$at,.PF0f0410fc -/* f041054: 00000000 */ nop -.PF0f041058: -/* f041058: c5480008 */ lwc1 $f8,0x8($t2) -/* f04105c: 27a40244 */ addiu $a0,$sp,0x244 -/* f041060: 8fa500cc */ lw $a1,0xcc($sp) -/* f041064: e7a800b8 */ swc1 $f8,0xb8($sp) -/* f041068: 8d4b0004 */ lw $t3,0x4($t2) -/* f04106c: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f041070: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f041074: c57200b4 */ lwc1 $f18,0xb4($t3) -/* f041078: e7b200bc */ swc1 $f18,0xbc($sp) -/* f04107c: c5440010 */ lwc1 $f4,0x10($t2) -/* f041080: 0fc10128 */ jal chrCalculateTrajectory -/* f041084: e7a400c0 */ swc1 $f4,0xc0($sp) -/* f041088: 1000001c */ b .PF0f0410fc -/* f04108c: 24030001 */ li $v1,0x1 -.PF0f041090: -/* f041090: 14a40002 */ bne $a1,$a0,.PF0f04109c -/* f041094: 24010001 */ li $at,0x1 -/* f041098: 10410003 */ beq $v0,$at,.PF0f0410a8 -.PF0f04109c: -/* f04109c: 2401001b */ li $at,0x1b -/* f0410a0: 14810016 */ bne $a0,$at,.PF0f0410fc -/* f0410a4: 00000000 */ nop -.PF0f0410a8: -/* f0410a8: 8faf025c */ lw $t7,0x25c($sp) -/* f0410ac: 24010006 */ li $at,0x6 -/* f0410b0: 27a40244 */ addiu $a0,$sp,0x244 -/* f0410b4: c5e60008 */ lwc1 $f6,0x8($t7) -/* f0410b8: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f0410bc: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f0410c0: e7a600b8 */ swc1 $f6,0xb8($sp) -/* f0410c4: c5ea000c */ lwc1 $f10,0xc($t7) -/* f0410c8: e7aa00bc */ swc1 $f10,0xbc($sp) -/* f0410cc: c5f00010 */ lwc1 $f16,0x10($t7) -/* f0410d0: e7b000c0 */ swc1 $f16,0xc0($sp) -/* f0410d4: 91f80000 */ lbu $t8,0x0($t7) -/* f0410d8: 17010005 */ bne $t8,$at,.PF0f0410f0 -/* f0410dc: 3c0141c8 */ lui $at,0x41c8 -/* f0410e0: 44814000 */ mtc1 $at,$f8 -/* f0410e4: 00000000 */ nop -/* f0410e8: 46085481 */ sub.s $f18,$f10,$f8 -/* f0410ec: e7b200bc */ swc1 $f18,0xbc($sp) -.PF0f0410f0: -/* f0410f0: 0fc10128 */ jal chrCalculateTrajectory -/* f0410f4: 8fa500cc */ lw $a1,0xcc($sp) -/* f0410f8: 24030001 */ li $v1,0x1 -.PF0f0410fc: -/* f0410fc: 10600017 */ beqz $v1,.PF0f04115c -/* f041100: 8fa40278 */ lw $a0,0x278($sp) -/* f041104: 0fc12307 */ jal chrGetAngleToPos -/* f041108: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f04110c: e7a000b4 */ swc1 $f0,0xb4($sp) -/* f041110: 0c006858 */ jal cosf -/* f041114: 46000306 */ mov.s $f12,$f0 -/* f041118: c7ac00b4 */ lwc1 $f12,0xb4($sp) -/* f04111c: 0c00685b */ jal sinf -/* f041120: e7a000b0 */ swc1 $f0,0xb0($sp) -/* f041124: c7ac01e8 */ lwc1 $f12,0x1e8($sp) -/* f041128: c7ae00b0 */ lwc1 $f14,0xb0($sp) -/* f04112c: c7a201e0 */ lwc1 $f2,0x1e0($sp) -/* f041130: 460c0102 */ mul.s $f4,$f0,$f12 -/* f041134: 00000000 */ nop -/* f041138: 46027182 */ mul.s $f6,$f14,$f2 -/* f04113c: 00000000 */ nop -/* f041140: 460c7282 */ mul.s $f10,$f14,$f12 -/* f041144: 00000000 */ nop -/* f041148: 46020202 */ mul.s $f8,$f0,$f2 -/* f04114c: 46062400 */ add.s $f16,$f4,$f6 -/* f041150: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f041154: 46085481 */ sub.s $f18,$f10,$f8 -/* f041158: e7b201e8 */ swc1 $f18,0x1e8($sp) -.PF0f04115c: -/* f04115c: 0c0055d0 */ jal mtx4LoadIdentity -/* f041160: 27a40178 */ addiu $a0,$sp,0x178 -/* f041164: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f041168: 0c00581e */ jal mtx4LoadXRotation -/* f04116c: 27a5011c */ addiu $a1,$sp,0x11c -/* f041170: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f041174: 0c005841 */ jal mtx4LoadYRotation -/* f041178: 27a500dc */ addiu $a1,$sp,0xdc -/* f04117c: 27a400dc */ addiu $a0,$sp,0xdc -/* f041180: 0c00565c */ jal mtx00015be0 -/* f041184: 27a5011c */ addiu $a1,$sp,0x11c -/* f041188: c7ac0168 */ lwc1 $f12,0x168($sp) -/* f04118c: c7a401e0 */ lwc1 $f4,0x1e0($sp) -/* f041190: c7b001e4 */ lwc1 $f16,0x1e4($sp) -/* f041194: c7a801e8 */ lwc1 $f8,0x1e8($sp) -/* f041198: 460c2182 */ mul.s $f6,$f4,$f12 -/* f04119c: c7a200cc */ lwc1 $f2,0xcc($sp) -/* f0411a0: 3c01800a */ lui $at,0x800a -/* f0411a4: 460c8282 */ mul.s $f10,$f16,$f12 -/* f0411a8: c420a55c */ lwc1 $f0,-0x5aa4($at) -/* f0411ac: 8fac00d4 */ lw $t4,0xd4($sp) -/* f0411b0: 460c4482 */ mul.s $f18,$f8,$f12 -/* f0411b4: e7a6015c */ swc1 $f6,0x15c($sp) -/* f0411b8: 8fa401b8 */ lw $a0,0x1b8($sp) -/* f0411bc: 46022102 */ mul.s $f4,$f4,$f2 -/* f0411c0: e7aa0160 */ swc1 $f10,0x160($sp) -/* f0411c4: 2401ffff */ li $at,-1 -/* f0411c8: 46003182 */ mul.s $f6,$f6,$f0 -/* f0411cc: e7b20164 */ swc1 $f18,0x164($sp) -/* f0411d0: 27a50244 */ addiu $a1,$sp,0x244 -/* f0411d4: 27a60234 */ addiu $a2,$sp,0x234 -/* f0411d8: 27a7011c */ addiu $a3,$sp,0x11c -/* f0411dc: 27ab016c */ addiu $t3,$sp,0x16c -/* f0411e0: 27aa0178 */ addiu $t2,$sp,0x178 -/* f0411e4: 46062100 */ add.s $f4,$f4,$f6 -/* f0411e8: 46028182 */ mul.s $f6,$f16,$f2 -/* f0411ec: e7a4016c */ swc1 $f4,0x16c($sp) -/* f0411f0: 46005102 */ mul.s $f4,$f10,$f0 -/* f0411f4: 46043400 */ add.s $f16,$f6,$f4 -/* f0411f8: 46024282 */ mul.s $f10,$f8,$f2 -/* f0411fc: 00000000 */ nop -/* f041200: 46009182 */ mul.s $f6,$f18,$f0 -/* f041204: e7b00170 */ swc1 $f16,0x170($sp) -/* f041208: 46065100 */ add.s $f4,$f10,$f6 -/* f04120c: e7a40174 */ swc1 $f4,0x174($sp) -/* f041210: 8d8d0058 */ lw $t5,0x58($t4) -/* f041214: a48d0062 */ sh $t5,0x62($a0) -/* f041218: 84820062 */ lh $v0,0x62($a0) -/* f04121c: 1041000a */ beq $v0,$at,.PF0f041248 -/* f041220: 0002c880 */ sll $t9,$v0,0x2 -/* f041224: 0322c823 */ subu $t9,$t9,$v0 -/* f041228: 0019c8c0 */ sll $t9,$t9,0x3 -/* f04122c: 0322c821 */ addu $t9,$t9,$v0 -/* f041230: 0019c8c0 */ sll $t9,$t9,0x3 -/* f041234: 2401003c */ li $at,0x3c -/* f041238: 0321001a */ div $zero,$t9,$at -/* f04123c: 00007012 */ mflo $t6 -/* f041240: a48e0062 */ sh $t6,0x62($a0) -/* f041244: 00000000 */ nop -.PF0f041248: -/* f041248: 8faf0274 */ lw $t7,0x274($sp) -/* f04124c: afab0010 */ sw $t3,0x10($sp) -/* f041250: afaa0014 */ sw $t2,0x14($sp) -/* f041254: afa5001c */ sw $a1,0x1c($sp) -/* f041258: 0fc27bac */ jal bgun0f09ebcc -/* f04125c: afaf0018 */ sw $t7,0x18($sp) -/* f041260: 8fa301b8 */ lw $v1,0x1b8($sp) -/* f041264: 8fad00d4 */ lw $t5,0xd4($sp) -/* f041268: 8c780040 */ lw $t8,0x40($v1) -/* f04126c: 330c0080 */ andi $t4,$t8,0x80 -/* f041270: 11800047 */ beqz $t4,.PF0f041390 -/* f041274: 00000000 */ nop -/* f041278: 8da20010 */ lw $v0,0x10($t5) -/* f04127c: 0002c800 */ sll $t9,$v0,0x0 -/* f041280: 07210007 */ bgez $t9,.PF0f0412a0 -/* f041284: 00025100 */ sll $t2,$v0,0x4 -/* f041288: 8c620048 */ lw $v0,0x48($v1) -/* f04128c: 3c014000 */ lui $at,0x4000 -/* f041290: 8c4e0000 */ lw $t6,0x0($v0) -/* f041294: 01c15825 */ or $t3,$t6,$at -/* f041298: 10000007 */ b .PF0f0412b8 -/* f04129c: ac4b0000 */ sw $t3,0x0($v0) -.PF0f0412a0: -/* f0412a0: 05430006 */ bgezl $t2,.PF0f0412bc -/* f0412a4: c7b0015c */ lwc1 $f16,0x15c($sp) -/* f0412a8: 8c620048 */ lw $v0,0x48($v1) -/* f0412ac: 8c4f0000 */ lw $t7,0x0($v0) -/* f0412b0: 35f80010 */ ori $t8,$t7,0x10 -/* f0412b4: ac580000 */ sw $t8,0x0($v0) -.PF0f0412b8: -/* f0412b8: c7b0015c */ lwc1 $f16,0x15c($sp) -.PF0f0412bc: -/* f0412bc: 8c6c0048 */ lw $t4,0x48($v1) -/* f0412c0: 240e00c8 */ li $t6,0xc8 -/* f0412c4: 3c017f1b */ lui $at,0x7f1b -/* f0412c8: e5900010 */ swc1 $f16,0x10($t4) -/* f0412cc: 8c6d0048 */ lw $t5,0x48($v1) -/* f0412d0: c7a80160 */ lwc1 $f8,0x160($sp) -/* f0412d4: e5a80014 */ swc1 $f8,0x14($t5) -/* f0412d8: 8c790048 */ lw $t9,0x48($v1) -/* f0412dc: c7b20164 */ lwc1 $f18,0x164($sp) -/* f0412e0: e7320018 */ swc1 $f18,0x18($t9) -/* f0412e4: 8c6b0048 */ lw $t3,0x48($v1) -/* f0412e8: ad6e00b4 */ sw $t6,0xb4($t3) -/* f0412ec: 8faa00d4 */ lw $t2,0xd4($sp) -/* f0412f0: 8c6f0048 */ lw $t7,0x48($v1) -/* f0412f4: c54a005c */ lwc1 $f10,0x5c($t2) -/* f0412f8: e5ea008c */ swc1 $f10,0x8c($t7) -/* f0412fc: 8fb800d4 */ lw $t8,0xd4($sp) -/* f041300: c424a33c */ lwc1 $f4,-0x5cc4($at) -/* f041304: 8c6c0048 */ lw $t4,0x48($v1) -/* f041308: c7060050 */ lwc1 $f6,0x50($t8) -/* f04130c: 46043402 */ mul.s $f16,$f6,$f4 -/* f041310: e5900098 */ swc1 $f16,0x98($t4) -/* f041314: 0fc0a26a */ jal chrGetTargetProp -/* f041318: 8fa40278 */ lw $a0,0x278($sp) -/* f04131c: 8fad01b8 */ lw $t5,0x1b8($sp) -/* f041320: 3c01bf80 */ lui $at,0xbf80 -/* f041324: 00002025 */ move $a0,$zero -/* f041328: 8db90048 */ lw $t9,0x48($t5) -/* f04132c: 2407ffff */ li $a3,-1 -/* f041330: 240bffff */ li $t3,-1 -/* f041334: af2200e8 */ sw $v0,0xe8($t9) -/* f041338: 8fae00d4 */ lw $t6,0xd4($sp) -/* f04133c: 240affff */ li $t2,-1 -/* f041340: 85c60060 */ lh $a2,0x60($t6) -/* f041344: 18c00012 */ blez $a2,.PF0f041390 -/* f041348: 00000000 */ nop -/* f04134c: 8da50014 */ lw $a1,0x14($t5) -/* f041350: 44810000 */ mtc1 $at,$f0 -/* f041354: afaa002c */ sw $t2,0x2c($sp) -/* f041358: afa00028 */ sw $zero,0x28($sp) -/* f04135c: afa00020 */ sw $zero,0x20($sp) -/* f041360: afa0001c */ sw $zero,0x1c($sp) -/* f041364: afa00018 */ sw $zero,0x18($sp) -/* f041368: afa00014 */ sw $zero,0x14($sp) -/* f04136c: afab0010 */ sw $t3,0x10($sp) -/* f041370: e7a00024 */ swc1 $f0,0x24($sp) -/* f041374: e7a00030 */ swc1 $f0,0x30($sp) -/* f041378: e7a00034 */ swc1 $f0,0x34($sp) -/* f04137c: 0fc24e3a */ jal propsnd0f0939f8 -/* f041380: e7a00038 */ swc1 $f0,0x38($sp) -/* f041384: 10000002 */ b .PF0f041390 -/* f041388: 00000000 */ nop -/* f04138c: afa00268 */ sw $zero,0x268($sp) -.PF0f041390: -/* f041390: 10000019 */ b .PF0f0413f8 -/* f041394: a3a0026e */ sb $zero,0x26e($sp) -/* f041398: 24010006 */ li $at,0x6 -.PF0f04139c: -/* f04139c: 14810016 */ bne $a0,$at,.PF0f0413f8 -/* f0413a0: 93af026f */ lbu $t7,0x26f($sp) -/* f0413a4: 11e00014 */ beqz $t7,.PF0f0413f8 -/* f0413a8: 93b80263 */ lbu $t8,0x263($sp) -/* f0413ac: 24010001 */ li $at,0x1 -/* f0413b0: 17010011 */ bne $t8,$at,.PF0f0413f8 -/* f0413b4: 8fb90278 */ lw $t9,0x278($sp) -/* f0413b8: 8fa2027c */ lw $v0,0x27c($sp) -/* f0413bc: 8f2e02d4 */ lw $t6,0x2d4($t9) -/* f0413c0: 3c014120 */ lui $at,0x4120 -/* f0413c4: 00026080 */ sll $t4,$v0,0x2 -/* f0413c8: 01cc6821 */ addu $t5,$t6,$t4 -/* f0413cc: c5a800e4 */ lwc1 $f8,0xe4($t5) -/* f0413d0: 44819000 */ mtc1 $at,$f18 -/* f0413d4: 44802000 */ mtc1 $zero,$f4 -/* f0413d8: 46124282 */ mul.s $f10,$f8,$f18 -/* f0413dc: 4600518d */ trunc.w.s $f6,$f10 -/* f0413e0: 440a3000 */ mfc1 $t2,$f6 -/* f0413e4: 00000000 */ nop -/* f0413e8: a3aa0262 */ sb $t2,0x262($sp) -/* f0413ec: 8f2f02d4 */ lw $t7,0x2d4($t9) -/* f0413f0: 01ecc021 */ addu $t8,$t7,$t4 -/* f0413f4: e70400e4 */ swc1 $f4,0xe4($t8) -.PF0f0413f8: -/* f0413f8: 93ac026e */ lbu $t4,0x26e($sp) -/* f0413fc: 93ae026f */ lbu $t6,0x26f($sp) -/* f041400: 518001c0 */ beqzl $t4,.PF0f041b04 -/* f041404: 8fab01c0 */ lw $t3,0x1c0($sp) -/* f041408: 15c000d6 */ bnez $t6,.PF0f041764 -/* f04140c: 8fad0258 */ lw $t5,0x258($sp) -/* f041410: 31ab0200 */ andi $t3,$t5,0x200 -/* f041414: 1160004c */ beqz $t3,.PF0f041548 -/* f041418: 8faa025c */ lw $t2,0x25c($sp) -/* f04141c: 91590000 */ lbu $t9,0x0($t2) -/* f041420: 24010006 */ li $at,0x6 -/* f041424: 8fa40278 */ lw $a0,0x278($sp) -/* f041428: 17210047 */ bne $t9,$at,.PF0f041548 -/* f04142c: 27a50244 */ addiu $a1,$sp,0x244 -/* f041430: 27a60234 */ addiu $a2,$sp,0x234 -/* f041434: 0fc0e4dc */ jal chrCanSeeAttackTarget -/* f041438: 00003825 */ move $a3,$zero -/* f04143c: 10400042 */ beqz $v0,.PF0f041548 -/* f041440: 8faf025c */ lw $t7,0x25c($sp) -/* f041444: 8de40004 */ lw $a0,0x4($t7) -/* f041448: 8fa50278 */ lw $a1,0x278($sp) -/* f04144c: 0fc12b09 */ jal chrCompareTeams -/* f041450: 24060002 */ li $a2,0x2 -/* f041454: 1040003c */ beqz $v0,.PF0f041548 -/* f041458: 3c014170 */ lui $at,0x4170 -/* f04145c: 44817000 */ mtc1 $at,$f14 -/* f041460: 8fb8025c */ lw $t8,0x25c($sp) -/* f041464: c7aa01e0 */ lwc1 $f10,0x1e0($sp) -/* f041468: c7a80244 */ lwc1 $f8,0x244($sp) -/* f04146c: c7100008 */ lwc1 $f16,0x8($t8) -/* f041470: 460e5182 */ mul.s $f6,$f10,$f14 -/* f041474: c7aa01e4 */ lwc1 $f10,0x1e4($sp) -/* f041478: 46088481 */ sub.s $f18,$f16,$f8 -/* f04147c: c7b00248 */ lwc1 $f16,0x248($sp) -/* f041480: c704000c */ lwc1 $f4,0xc($t8) -/* f041484: 8fa40278 */ lw $a0,0x278($sp) -/* f041488: 27a501f8 */ addiu $a1,$sp,0x1f8 -/* f04148c: 46069001 */ sub.s $f0,$f18,$f6 -/* f041490: 460e5482 */ mul.s $f18,$f10,$f14 -/* f041494: c7aa01e8 */ lwc1 $f10,0x1e8($sp) -/* f041498: 46102201 */ sub.s $f8,$f4,$f16 -/* f04149c: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f0414a0: c7060010 */ lwc1 $f6,0x10($t8) -/* f0414a4: 27a601f4 */ addiu $a2,$sp,0x1f4 -/* f0414a8: 46124081 */ sub.s $f2,$f8,$f18 -/* f0414ac: 460e5202 */ mul.s $f8,$f10,$f14 -/* f0414b0: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f0414b4: 46043401 */ sub.s $f16,$f6,$f4 -/* f0414b8: 46000182 */ mul.s $f6,$f0,$f0 -/* f0414bc: 00000000 */ nop -/* f0414c0: 46021102 */ mul.s $f4,$f2,$f2 -/* f0414c4: 46088301 */ sub.s $f12,$f16,$f8 -/* f0414c8: 460c6402 */ mul.s $f16,$f12,$f12 -/* f0414cc: 46043280 */ add.s $f10,$f6,$f4 -/* f0414d0: 46105200 */ add.s $f8,$f10,$f16 -/* f0414d4: 4612403e */ c.le.s $f8,$f18 -/* f0414d8: 00000000 */ nop -/* f0414dc: 4500002b */ bc1f .PF0f04158c -/* f0414e0: 00000000 */ nop -/* f0414e4: 0fc0ff0d */ jal chrCalculateHit -/* f0414e8: 27a70260 */ addiu $a3,$sp,0x260 -/* f0414ec: 8fac01f4 */ lw $t4,0x1f4($sp) -/* f0414f0: 8fad01f8 */ lw $t5,0x1f8($sp) -/* f0414f4: 8fab0278 */ lw $t3,0x278($sp) -/* f0414f8: 2d8e0001 */ sltiu $t6,$t4,0x1 -/* f0414fc: 11a00023 */ beqz $t5,.PF0f04158c -/* f041500: afae01f0 */ sw $t6,0x1f0($sp) -/* f041504: 81630007 */ lb $v1,0x7($t3) -/* f041508: 24010008 */ li $at,0x8 -/* f04150c: 3c0a800a */ lui $t2,0x800a -/* f041510: 1061000a */ beq $v1,$at,.PF0f04153c -/* f041514: 8fb90278 */ lw $t9,0x278($sp) -/* f041518: 2401000a */ li $at,0xa -/* f04151c: 10610007 */ beq $v1,$at,.PF0f04153c -/* f041520: 2401001b */ li $at,0x1b -/* f041524: 10610005 */ beq $v1,$at,.PF0f04153c -/* f041528: 2401001c */ li $at,0x1c -/* f04152c: 10610003 */ beq $v1,$at,.PF0f04153c -/* f041530: 2401001d */ li $at,0x1d -/* f041534: 54610016 */ bnel $v1,$at,.PF0f041590 -/* f041538: 8fae01f4 */ lw $t6,0x1f4($sp) -.PF0f04153c: -/* f04153c: 8d4aa518 */ lw $t2,-0x5ae8($t2) -/* f041540: 10000012 */ b .PF0f04158c -/* f041544: af2a0048 */ sw $t2,0x48($t9) -.PF0f041548: -/* f041548: 8faf0278 */ lw $t7,0x278($sp) -/* f04154c: 24010008 */ li $at,0x8 -/* f041550: 3c18800a */ lui $t8,0x800a -/* f041554: 81e30007 */ lb $v1,0x7($t7) -/* f041558: 8fac0278 */ lw $t4,0x278($sp) -/* f04155c: 10610009 */ beq $v1,$at,.PF0f041584 -/* f041560: 2401000a */ li $at,0xa -/* f041564: 10610007 */ beq $v1,$at,.PF0f041584 -/* f041568: 2401001b */ li $at,0x1b -/* f04156c: 10610005 */ beq $v1,$at,.PF0f041584 -/* f041570: 2401001c */ li $at,0x1c -/* f041574: 10610003 */ beq $v1,$at,.PF0f041584 -/* f041578: 2401001d */ li $at,0x1d -/* f04157c: 54610004 */ bnel $v1,$at,.PF0f041590 -/* f041580: 8fae01f4 */ lw $t6,0x1f4($sp) -.PF0f041584: -/* f041584: 8f18a518 */ lw $t8,-0x5ae8($t8) -/* f041588: ad980048 */ sw $t8,0x48($t4) -.PF0f04158c: -/* f04158c: 8fae01f4 */ lw $t6,0x1f4($sp) -.PF0f041590: -/* f041590: 8faf01cc */ lw $t7,0x1cc($sp) -/* f041594: 11c00065 */ beqz $t6,.PF0f04172c -/* f041598: 00000000 */ nop -/* f04159c: 0fc2c87a */ jal gsetGetDamage -/* f0415a0: 27a40260 */ addiu $a0,$sp,0x260 -/* f0415a4: 8faa025c */ lw $t2,0x25c($sp) -/* f0415a8: 240dffff */ li $t5,-1 -/* f0415ac: 240b00c8 */ li $t3,0xc8 -/* f0415b0: e7a0009c */ swc1 $f0,0x9c($sp) -/* f0415b4: afa00098 */ sw $zero,0x98($sp) -/* f0415b8: afa00094 */ sw $zero,0x94($sp) -/* f0415bc: afad0090 */ sw $t5,0x90($sp) -/* f0415c0: afab008c */ sw $t3,0x8c($sp) -/* f0415c4: 8d590004 */ lw $t9,0x4($t2) -/* f0415c8: afb90088 */ sw $t9,0x88($sp) -/* f0415cc: c5460008 */ lwc1 $f6,0x8($t2) -/* f0415d0: e7a60228 */ swc1 $f6,0x228($sp) -/* f0415d4: c544000c */ lwc1 $f4,0xc($t2) -/* f0415d8: e7a4022c */ swc1 $f4,0x22c($sp) -/* f0415dc: c54a0010 */ lwc1 $f10,0x10($t2) -/* f0415e0: 0c004ad4 */ jal random -/* f0415e4: e7aa0230 */ swc1 $f10,0x230($sp) -/* f0415e8: 304f0001 */ andi $t7,$v0,0x1 -/* f0415ec: 11e00012 */ beqz $t7,.PF0f041638 -/* f0415f0: 00000000 */ nop -/* f0415f4: 0c004ad4 */ jal random -/* f0415f8: 00000000 */ nop -/* f0415fc: 2401000a */ li $at,0xa -/* f041600: 0041001b */ divu $zero,$v0,$at -/* f041604: 0000c010 */ mfhi $t8 -/* f041608: 270c0002 */ addiu $t4,$t8,0x2 -/* f04160c: 448c9000 */ mtc1 $t4,$f18 -/* f041610: c7b0022c */ lwc1 $f16,0x22c($sp) -/* f041614: 05810005 */ bgez $t4,.PF0f04162c -/* f041618: 46809220 */ cvt.s.w $f8,$f18 -/* f04161c: 3c014f80 */ lui $at,0x4f80 -/* f041620: 44813000 */ mtc1 $at,$f6 -/* f041624: 00000000 */ nop -/* f041628: 46064200 */ add.s $f8,$f8,$f6 -.PF0f04162c: -/* f04162c: 46088100 */ add.s $f4,$f16,$f8 -/* f041630: 10000011 */ b .PF0f041678 -/* f041634: e7a4022c */ swc1 $f4,0x22c($sp) -.PF0f041638: -/* f041638: 0c004ad4 */ jal random -/* f04163c: 00000000 */ nop -/* f041640: 2401000a */ li $at,0xa -/* f041644: 0041001b */ divu $zero,$v0,$at -/* f041648: 00007010 */ mfhi $t6 -/* f04164c: 25cd0002 */ addiu $t5,$t6,0x2 -/* f041650: 448d9000 */ mtc1 $t5,$f18 -/* f041654: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f041658: 05a10005 */ bgez $t5,.PF0f041670 -/* f04165c: 468091a0 */ cvt.s.w $f6,$f18 -/* f041660: 3c014f80 */ lui $at,0x4f80 -/* f041664: 44818000 */ mtc1 $at,$f16 -/* f041668: 00000000 */ nop -/* f04166c: 46103180 */ add.s $f6,$f6,$f16 -.PF0f041670: -/* f041670: 46065201 */ sub.s $f8,$f10,$f6 -/* f041674: e7a8022c */ swc1 $f8,0x22c($sp) -.PF0f041678: -/* f041678: 27a40260 */ addiu $a0,$sp,0x260 -/* f04167c: 8fa5025c */ lw $a1,0x25c($sp) -/* f041680: 0fc2a079 */ jal bgunPlayPropHitSound -/* f041684: 2406ffff */ li $a2,-1 -/* f041688: 8fa40088 */ lw $a0,0x88($sp) -/* f04168c: 8c8b0020 */ lw $t3,0x20($a0) -/* f041690: 51600012 */ beqzl $t3,.PF0f0416dc -/* f041694: 8fb80278 */ lw $t8,0x278($sp) -/* f041698: 0fc0d042 */ jal chrGetShield -/* f04169c: 00000000 */ nop -/* f0416a0: 44802000 */ mtc1 $zero,$f4 -/* f0416a4: 8fa40088 */ lw $a0,0x88($sp) -/* f0416a8: 27a50228 */ addiu $a1,$sp,0x228 -/* f0416ac: 4600203c */ c.lt.s $f4,$f0 -/* f0416b0: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f0416b4: 27a70098 */ addiu $a3,$sp,0x98 -/* f0416b8: 27b9008c */ addiu $t9,$sp,0x8c -/* f0416bc: 45000006 */ bc1f .PF0f0416d8 -/* f0416c0: 27aa0094 */ addiu $t2,$sp,0x94 -/* f0416c4: 27af0090 */ addiu $t7,$sp,0x90 -/* f0416c8: afaf0018 */ sw $t7,0x18($sp) -/* f0416cc: afb90010 */ sw $t9,0x10($sp) -/* f0416d0: 0fc1002c */ jal chrCalculateShieldHit -/* f0416d4: afaa0014 */ sw $t2,0x14($sp) -.PF0f0416d8: -/* f0416d8: 8fb80278 */ lw $t8,0x278($sp) -.PF0f0416dc: -/* f0416dc: 8fad025c */ lw $t5,0x25c($sp) -/* f0416e0: 8fab0098 */ lw $t3,0x98($sp) -/* f0416e4: 8f0c001c */ lw $t4,0x1c($t8) -/* f0416e8: 8fb90094 */ lw $t9,0x94($sp) -/* f0416ec: 8faa0090 */ lw $t2,0x90($sp) -/* f0416f0: 240e00c8 */ li $t6,0xc8 -/* f0416f4: 8fa40088 */ lw $a0,0x88($sp) -/* f0416f8: afae0014 */ sw $t6,0x14($sp) -/* f0416fc: afa00028 */ sw $zero,0x28($sp) -/* f041700: 8fa5009c */ lw $a1,0x9c($sp) -/* f041704: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041708: 27a70260 */ addiu $a3,$sp,0x260 -/* f04170c: afad0018 */ sw $t5,0x18($sp) -/* f041710: afab001c */ sw $t3,0x1c($sp) -/* f041714: afac0010 */ sw $t4,0x10($sp) -/* f041718: afb90020 */ sw $t9,0x20($sp) -/* f04171c: 0fc0d0d1 */ jal func0f0341dc -/* f041720: afaa0024 */ sw $t2,0x24($sp) -/* f041724: 10000010 */ b .PF0f041768 -/* f041728: 8fb801f0 */ lw $t8,0x1f0($sp) -.PF0f04172c: -/* f04172c: 11e00006 */ beqz $t7,.PF0f041748 -/* f041730: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f041734: 91e20000 */ lbu $v0,0x0($t7) -/* f041738: 24010003 */ li $at,0x3 -/* f04173c: 10410009 */ beq $v0,$at,.PF0f041764 -/* f041740: 24010006 */ li $at,0x6 -/* f041744: 10410007 */ beq $v0,$at,.PF0f041764 -.PF0f041748: -/* f041748: 3c017f1b */ lui $at,0x7f1b -/* f04174c: c430a340 */ lwc1 $f16,-0x5cc0($at) -/* f041750: 4610903c */ c.lt.s $f18,$f16 -/* f041754: 00000000 */ nop -/* f041758: 45020003 */ bc1fl .PF0f041768 -/* f04175c: 8fb801f0 */ lw $t8,0x1f0($sp) -/* f041760: afa001f0 */ sw $zero,0x1f0($sp) -.PF0f041764: -/* f041764: 8fb801f0 */ lw $t8,0x1f0($sp) -.PF0f041768: -/* f041768: 8fac01cc */ lw $t4,0x1cc($sp) -/* f04176c: 530000e5 */ beqzl $t8,.PF0f041b04 -/* f041770: 8fab01c0 */ lw $t3,0x1c0($sp) -/* f041774: 118000a2 */ beqz $t4,.PF0f041a00 -/* f041778: 8fab0224 */ lw $t3,0x224($sp) -/* f04177c: 91820000 */ lbu $v0,0x0($t4) -/* f041780: 24010006 */ li $at,0x6 -/* f041784: 93ae026f */ lbu $t6,0x26f($sp) -/* f041788: 10410003 */ beq $v0,$at,.PF0f041798 -/* f04178c: 24010003 */ li $at,0x3 -/* f041790: 54410053 */ bnel $v0,$at,.PF0f0418e0 -/* f041794: 24010001 */ li $at,0x1 -.PF0f041798: -/* f041798: 15c0000c */ bnez $t6,.PF0f0417cc -/* f04179c: 8fad01bc */ lw $t5,0x1bc($sp) -/* f0417a0: 15a0000a */ bnez $t5,.PF0f0417cc -/* f0417a4: 8fab0278 */ lw $t3,0x278($sp) -/* f0417a8: 8d790018 */ lw $t9,0x18($t3) -/* f0417ac: 8faf01cc */ lw $t7,0x1cc($sp) -/* f0417b0: 01602825 */ move $a1,$t3 -/* f0417b4: 332a0040 */ andi $t2,$t9,0x40 -/* f0417b8: 11400045 */ beqz $t2,.PF0f0418d0 -/* f0417bc: 24060002 */ li $a2,0x2 -/* f0417c0: 0fc12b09 */ jal chrCompareTeams -/* f0417c4: 8de40004 */ lw $a0,0x4($t7) -/* f0417c8: 10400041 */ beqz $v0,.PF0f0418d0 -.PF0f0417cc: -/* f0417cc: 2418ffff */ li $t8,-1 -/* f0417d0: 240c00c8 */ li $t4,0xc8 -/* f0417d4: afa00084 */ sw $zero,0x84($sp) -/* f0417d8: afa00080 */ sw $zero,0x80($sp) -/* f0417dc: afb8007c */ sw $t8,0x7c($sp) -/* f0417e0: afac0078 */ sw $t4,0x78($sp) -/* f0417e4: 0fc2c87a */ jal gsetGetDamage -/* f0417e8: 27a40260 */ addiu $a0,$sp,0x260 -/* f0417ec: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0417f0: e7a00074 */ swc1 $f0,0x74($sp) -/* f0417f4: 27a40260 */ addiu $a0,$sp,0x260 -/* f0417f8: 8cad0004 */ lw $t5,0x4($a1) -/* f0417fc: 2406ffff */ li $a2,-1 -/* f041800: 0fc2a079 */ jal bgunPlayPropHitSound -/* f041804: afad0070 */ sw $t5,0x70($sp) -/* f041808: 8fa40070 */ lw $a0,0x70($sp) -/* f04180c: 8c990020 */ lw $t9,0x20($a0) -/* f041810: 53200012 */ beqzl $t9,.PF0f04185c -/* f041814: 8fac0278 */ lw $t4,0x278($sp) -/* f041818: 0fc0d042 */ jal chrGetShield -/* f04181c: 00000000 */ nop -/* f041820: 44805000 */ mtc1 $zero,$f10 -/* f041824: 8fa40070 */ lw $a0,0x70($sp) -/* f041828: 27a50228 */ addiu $a1,$sp,0x228 -/* f04182c: 4600503c */ c.lt.s $f10,$f0 -/* f041830: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041834: 27a70084 */ addiu $a3,$sp,0x84 -/* f041838: 27aa0078 */ addiu $t2,$sp,0x78 -/* f04183c: 45000006 */ bc1f .PF0f041858 -/* f041840: 27af0080 */ addiu $t7,$sp,0x80 -/* f041844: 27ab007c */ addiu $t3,$sp,0x7c -/* f041848: afab0018 */ sw $t3,0x18($sp) -/* f04184c: afaa0010 */ sw $t2,0x10($sp) -/* f041850: 0fc1002c */ jal chrCalculateShieldHit -/* f041854: afaf0014 */ sw $t7,0x14($sp) -.PF0f041858: -/* f041858: 8fac0278 */ lw $t4,0x278($sp) -.PF0f04185c: -/* f04185c: 27b801e0 */ addiu $t8,$sp,0x1e0 -/* f041860: 8fa40070 */ lw $a0,0x70($sp) -/* f041864: afb80010 */ sw $t8,0x10($sp) -/* f041868: 8fa501cc */ lw $a1,0x1cc($sp) -/* f04186c: 8fa60078 */ lw $a2,0x78($sp) -/* f041870: 27a70228 */ addiu $a3,$sp,0x228 -/* f041874: 0fc097f2 */ jal chrEmitSparks -/* f041878: afac0014 */ sw $t4,0x14($sp) -/* f04187c: 8fad0278 */ lw $t5,0x278($sp) -/* f041880: 8faa01cc */ lw $t2,0x1cc($sp) -/* f041884: 8faf0084 */ lw $t7,0x84($sp) -/* f041888: 8dae001c */ lw $t6,0x1c($t5) -/* f04188c: 8fab0080 */ lw $t3,0x80($sp) -/* f041890: 8fb8007c */ lw $t8,0x7c($sp) -/* f041894: 241900c8 */ li $t9,0xc8 -/* f041898: afb90014 */ sw $t9,0x14($sp) -/* f04189c: afa00028 */ sw $zero,0x28($sp) -/* f0418a0: 8fa40070 */ lw $a0,0x70($sp) -/* f0418a4: 8fa50074 */ lw $a1,0x74($sp) -/* f0418a8: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f0418ac: 27a70260 */ addiu $a3,$sp,0x260 -/* f0418b0: afaa0018 */ sw $t2,0x18($sp) -/* f0418b4: afaf001c */ sw $t7,0x1c($sp) -/* f0418b8: afae0010 */ sw $t6,0x10($sp) -/* f0418bc: afab0020 */ sw $t3,0x20($sp) -/* f0418c0: 0fc0d0d1 */ jal func0f0341dc -/* f0418c4: afb80024 */ sw $t8,0x24($sp) -/* f0418c8: 1000006f */ b .PF0f041a88 -/* f0418cc: 93ad0260 */ lbu $t5,0x260($sp) -.PF0f0418d0: -/* f0418d0: afa00250 */ sw $zero,0x250($sp) -/* f0418d4: 1000006b */ b .PF0f041a84 -/* f0418d8: afa00268 */ sw $zero,0x268($sp) -/* f0418dc: 24010001 */ li $at,0x1 -.PF0f0418e0: -/* f0418e0: 10410005 */ beq $v0,$at,.PF0f0418f8 -/* f0418e4: 8fac01cc */ lw $t4,0x1cc($sp) -/* f0418e8: 24010004 */ li $at,0x4 -/* f0418ec: 10410002 */ beq $v0,$at,.PF0f0418f8 -/* f0418f0: 24010002 */ li $at,0x2 -/* f0418f4: 14410063 */ bne $v0,$at,.PF0f041a84 -.PF0f0418f8: -/* f0418f8: 3c19800a */ lui $t9,0x800a -/* f0418fc: 8f39a824 */ lw $t9,-0x57dc($t9) -/* f041900: 8d8d0004 */ lw $t5,0x4($t4) -/* f041904: 240effff */ li $t6,-1 -/* f041908: afae0068 */ sw $t6,0x68($sp) -/* f04190c: 13200004 */ beqz $t9,.PF0f041920 -/* f041910: afad006c */ sw $t5,0x6c($sp) -/* f041914: 0fc63831 */ jal mpPlayerGetIndex -/* f041918: 8fa40278 */ lw $a0,0x278($sp) -/* f04191c: afa20068 */ sw $v0,0x68($sp) -.PF0f041920: -/* f041920: 27a40260 */ addiu $a0,$sp,0x260 -/* f041924: 8fa501cc */ lw $a1,0x1cc($sp) -/* f041928: 0fc2a079 */ jal bgunPlayPropHitSound -/* f04192c: 2406ffff */ li $a2,-1 -/* f041930: 27a40244 */ addiu $a0,$sp,0x244 -/* f041934: 27a50234 */ addiu $a1,$sp,0x234 -/* f041938: 27a60228 */ addiu $a2,$sp,0x228 -/* f04193c: 0fc19841 */ jal func0f065e74 -/* f041940: 27a70214 */ addiu $a3,$sp,0x214 -/* f041944: 240a0001 */ li $t2,0x1 -/* f041948: afaa0210 */ sw $t2,0x210($sp) -/* f04194c: 0fc4fc06 */ jal chrIsUsingPaintball -/* f041950: 8fa40278 */ lw $a0,0x278($sp) -/* f041954: 1040000b */ beqz $v0,.PF0f041984 -/* f041958: 87a40214 */ lh $a0,0x214($sp) -/* f04195c: 240f0019 */ li $t7,0x19 -/* f041960: afaf0014 */ sw $t7,0x14($sp) -/* f041964: 87a40214 */ lh $a0,0x214($sp) -/* f041968: 8fa501cc */ lw $a1,0x1cc($sp) -/* f04196c: 27a60228 */ addiu $a2,$sp,0x228 -/* f041970: 00003825 */ move $a3,$zero -/* f041974: 0fc4c159 */ jal sparksCreate -/* f041978: afa00010 */ sw $zero,0x10($sp) -/* f04197c: 10000007 */ b .PF0f04199c -/* f041980: 00000000 */ nop -.PF0f041984: -/* f041984: 8fa501cc */ lw $a1,0x1cc($sp) -/* f041988: 27a60228 */ addiu $a2,$sp,0x228 -/* f04198c: 00003825 */ move $a3,$zero -/* f041990: afa00010 */ sw $zero,0x10($sp) -/* f041994: 0fc4c159 */ jal sparksCreate -/* f041998: afa00014 */ sw $zero,0x14($sp) -.PF0f04199c: -/* f04199c: 3c0b800a */ lui $t3,0x800a -/* f0419a0: 8178e58b */ lb $t8,-0x1a75($t3) -/* f0419a4: 8fac0278 */ lw $t4,0x278($sp) -/* f0419a8: 0701000a */ bgez $t8,.PF0f0419d4 -/* f0419ac: 00000000 */ nop -/* f0419b0: 918d0125 */ lbu $t5,0x125($t4) -/* f0419b4: 24010010 */ li $at,0x10 -/* f0419b8: 8fae006c */ lw $t6,0x6c($sp) -/* f0419bc: 15a10005 */ bne $t5,$at,.PF0f0419d4 -/* f0419c0: 00000000 */ nop -/* f0419c4: 8dd9000c */ lw $t9,0xc($t6) -/* f0419c8: 332a0001 */ andi $t2,$t9,0x1 -/* f0419cc: 5540002e */ bnezl $t2,.PF0f041a88 -/* f0419d0: 93ad0260 */ lbu $t5,0x260($sp) -.PF0f0419d4: -/* f0419d4: 0fc2c87a */ jal gsetGetDamage -/* f0419d8: 27a40260 */ addiu $a0,$sp,0x260 -/* f0419dc: 8faf0068 */ lw $t7,0x68($sp) -/* f0419e0: 44050000 */ mfc1 $a1,$f0 -/* f0419e4: 8fa4006c */ lw $a0,0x6c($sp) -/* f0419e8: 27a60228 */ addiu $a2,$sp,0x228 -/* f0419ec: 93a70260 */ lbu $a3,0x260($sp) -/* f0419f0: 0fc21530 */ jal objTakeGunfire -/* f0419f4: afaf0010 */ sw $t7,0x10($sp) -/* f0419f8: 10000023 */ b .PF0f041a88 -/* f0419fc: 93ad0260 */ lbu $t5,0x260($sp) -.PF0f041a00: -/* f041a00: 11600020 */ beqz $t3,.PF0f041a84 -/* f041a04: 27a40244 */ addiu $a0,$sp,0x244 -/* f041a08: 27a50234 */ addiu $a1,$sp,0x234 -/* f041a0c: 27a60228 */ addiu $a2,$sp,0x228 -/* f041a10: 0fc19841 */ jal func0f065e74 -/* f041a14: 27a70214 */ addiu $a3,$sp,0x214 -/* f041a18: 24180001 */ li $t8,0x1 -/* f041a1c: afb80210 */ sw $t8,0x210($sp) -/* f041a20: 27a40260 */ addiu $a0,$sp,0x260 -/* f041a24: 27a50228 */ addiu $a1,$sp,0x228 -/* f041a28: 2406ffff */ li $a2,-1 -/* f041a2c: 0fc2a245 */ jal bgunPlayBgHitSound -/* f041a30: 27a70214 */ addiu $a3,$sp,0x214 -/* f041a34: 0fc4fc06 */ jal chrIsUsingPaintball -/* f041a38: 8fa40278 */ lw $a0,0x278($sp) -/* f041a3c: 1040000b */ beqz $v0,.PF0f041a6c -/* f041a40: 87a40214 */ lh $a0,0x214($sp) -/* f041a44: 240c0019 */ li $t4,0x19 -/* f041a48: afac0014 */ sw $t4,0x14($sp) -/* f041a4c: 87a40214 */ lh $a0,0x214($sp) -/* f041a50: 00002825 */ move $a1,$zero -/* f041a54: 27a60228 */ addiu $a2,$sp,0x228 -/* f041a58: 00003825 */ move $a3,$zero -/* f041a5c: 0fc4c159 */ jal sparksCreate -/* f041a60: afa00010 */ sw $zero,0x10($sp) -/* f041a64: 10000008 */ b .PF0f041a88 -/* f041a68: 93ad0260 */ lbu $t5,0x260($sp) -.PF0f041a6c: -/* f041a6c: 00002825 */ move $a1,$zero -/* f041a70: 27a60228 */ addiu $a2,$sp,0x228 -/* f041a74: 00003825 */ move $a3,$zero -/* f041a78: afa00010 */ sw $zero,0x10($sp) -/* f041a7c: 0fc4c159 */ jal sparksCreate -/* f041a80: afa00014 */ sw $zero,0x14($sp) -.PF0f041a84: -/* f041a84: 93ad0260 */ lbu $t5,0x260($sp) -.PF0f041a88: -/* f041a88: 24010007 */ li $at,0x7 -/* f041a8c: 93ae0263 */ lbu $t6,0x263($sp) -/* f041a90: 15a1001b */ bne $t5,$at,.PF0f041b00 -/* f041a94: 24010001 */ li $at,0x1 -/* f041a98: 15c10019 */ bne $t6,$at,.PF0f041b00 -/* f041a9c: 8fb90278 */ lw $t9,0x278($sp) -/* f041aa0: 8f2a02d4 */ lw $t2,0x2d4($t9) -/* f041aa4: 3c03800a */ lui $v1,0x800a -/* f041aa8: 11400005 */ beqz $t2,.PF0f041ac0 -/* f041aac: 00000000 */ nop -/* f041ab0: 0fc63831 */ jal mpPlayerGetIndex -/* f041ab4: 03202025 */ move $a0,$t9 -/* f041ab8: 10000002 */ b .PF0f041ac4 -/* f041abc: 00401825 */ move $v1,$v0 -.PF0f041ac0: -/* f041ac0: 8c63a79c */ lw $v1,-0x5864($v1) -.PF0f041ac4: -/* f041ac4: 8faf0210 */ lw $t7,0x210($sp) -/* f041ac8: 27a40244 */ addiu $a0,$sp,0x244 -/* f041acc: 27a50234 */ addiu $a1,$sp,0x234 -/* f041ad0: 15e00005 */ bnez $t7,.PF0f041ae8 -/* f041ad4: 27a60228 */ addiu $a2,$sp,0x228 -/* f041ad8: 27a70214 */ addiu $a3,$sp,0x214 -/* f041adc: 0fc19841 */ jal func0f065e74 -/* f041ae0: afa30064 */ sw $v1,0x64($sp) -/* f041ae4: 8fa30064 */ lw $v1,0x64($sp) -.PF0f041ae8: -/* f041ae8: 00002025 */ move $a0,$zero -/* f041aec: 27a50228 */ addiu $a1,$sp,0x228 -/* f041af0: 27a60214 */ addiu $a2,$sp,0x214 -/* f041af4: 24070016 */ li $a3,0x16 -/* f041af8: 0fc4a8f4 */ jal explosionCreateSimple -/* f041afc: afa30010 */ sw $v1,0x10($sp) -.PF0f041b00: -/* f041b00: 8fab01c0 */ lw $t3,0x1c0($sp) -.PF0f041b04: -/* f041b04: 8fa4025c */ lw $a0,0x25c($sp) -/* f041b08: 51600004 */ beqzl $t3,.PF0f041b1c -/* f041b0c: 8fa80268 */ lw $t0,0x268($sp) -/* f041b10: 0fc19102 */ jal propSetPerimEnabled -/* f041b14: 00002825 */ move $a1,$zero -/* f041b18: 8fa80268 */ lw $t0,0x268($sp) -.PF0f041b1c: -/* f041b1c: 8fac0250 */ lw $t4,0x250($sp) -/* f041b20: 93ad0260 */ lbu $t5,0x260($sp) -/* f041b24: 0008c02b */ sltu $t8,$zero,$t0 -/* f041b28: 1180000e */ beqz $t4,.PF0f041b64 -/* f041b2c: 03004025 */ move $t0,$t8 -/* f041b30: 25aefffe */ addiu $t6,$t5,-2 -/* f041b34: 2dc1002a */ sltiu $at,$t6,0x2a -/* f041b38: 10200009 */ beqz $at,.PF0f041b60 -/* f041b3c: 000e7080 */ sll $t6,$t6,0x2 -/* f041b40: 3c017f1b */ lui $at,0x7f1b -/* f041b44: 002e0821 */ addu $at,$at,$t6 -/* f041b48: 8c2ea344 */ lw $t6,-0x5cbc($at) -/* f041b4c: 01c00008 */ jr $t6 -/* f041b50: 00000000 */ nop -/* f041b54: 240a0001 */ li $t2,0x1 -/* f041b58: 10000002 */ b .PF0f041b64 -/* f041b5c: afaa0250 */ sw $t2,0x250($sp) -.PF0f041b60: -/* f041b60: afa00250 */ sw $zero,0x250($sp) -.PF0f041b64: -/* f041b64: 11000004 */ beqz $t0,.PF0f041b78 -/* f041b68: 01003825 */ move $a3,$t0 -/* f041b6c: 8fa70250 */ lw $a3,0x250($sp) -/* f041b70: 0007c82b */ sltu $t9,$zero,$a3 -/* f041b74: 03203825 */ move $a3,$t9 -.PF0f041b78: -/* f041b78: 27af0244 */ addiu $t7,$sp,0x244 -/* f041b7c: 27ab0228 */ addiu $t3,$sp,0x228 -/* f041b80: afab0014 */ sw $t3,0x14($sp) -/* f041b84: afaf0010 */ sw $t7,0x10($sp) -/* f041b88: 8fa40278 */ lw $a0,0x278($sp) -/* f041b8c: 8fa5027c */ lw $a1,0x27c($sp) -/* f041b90: 8fa60268 */ lw $a2,0x268($sp) -/* f041b94: 0fc0f908 */ jal chrCreateFireslot -/* f041b98: afa80054 */ sw $t0,0x54($sp) -/* f041b9c: 93b8026f */ lbu $t8,0x26f($sp) -/* f041ba0: 8fa80054 */ lw $t0,0x54($sp) -/* f041ba4: 8fa40278 */ lw $a0,0x278($sp) -/* f041ba8: 13000015 */ beqz $t8,.PF0f041c00 -/* f041bac: 8fa5027c */ lw $a1,0x27c($sp) -/* f041bb0: 1100000a */ beqz $t0,.PF0f041bdc -/* f041bb4: 01003025 */ move $a2,$t0 -/* f041bb8: 8fac0278 */ lw $t4,0x278($sp) -/* f041bbc: 8fae027c */ lw $t6,0x27c($sp) -/* f041bc0: 8d8d02d4 */ lw $t5,0x2d4($t4) -/* f041bc4: 000e5080 */ sll $t2,$t6,0x2 -/* f041bc8: 01aa1021 */ addu $v0,$t5,$t2 -/* f041bcc: 8c430024 */ lw $v1,0x24($v0) -/* f041bd0: 18600002 */ blez $v1,.PF0f041bdc -/* f041bd4: 2479ffff */ addiu $t9,$v1,-1 -/* f041bd8: ac590024 */ sw $t9,0x24($v0) -.PF0f041bdc: -/* f041bdc: 11000004 */ beqz $t0,.PF0f041bf0 -/* f041be0: 8fa40278 */ lw $a0,0x278($sp) -/* f041be4: 93a6026e */ lbu $a2,0x26e($sp) -/* f041be8: 0006782b */ sltu $t7,$zero,$a2 -/* f041bec: 01e03025 */ move $a2,$t7 -.PF0f041bf0: -/* f041bf0: 0fc0fe73 */ jal chrSetFiring -/* f041bf4: 8fa5027c */ lw $a1,0x27c($sp) -/* f041bf8: 10000004 */ b .PF0f041c0c -/* f041bfc: 8fbf0044 */ lw $ra,0x44($sp) -.PF0f041c00: -/* f041c00: 0fc0fe73 */ jal chrSetFiring -/* f041c04: 8fa60268 */ lw $a2,0x268($sp) -/* f041c08: 8fbf0044 */ lw $ra,0x44($sp) -.PF0f041c0c: -/* f041c0c: 27bd0278 */ addiu $sp,$sp,0x278 -/* f041c10: 03e00008 */ jr $ra -/* f041c14: 00000000 */ nop -); -#elif VERSION == VERSION_PAL_BETA -GLOBAL_ASM( -glabel chrShoot -.late_rodata -glabel var7f1a90c8 -.word 0x3d888889 -glabel var7f1a90cc -.word 0x481c4000 -glabel var7f1a90d0 -.word 0x3fd55555 -glabel var7f1a90d4 -.word 0x3fd55555 -glabel var7f1a90d8 -.word 0x3fd55555 -glabel var7f1a90dc -.word 0x461c4000 -glabel var7f1a90e0 -.word chrShoot+0x14fc -glabel var7f1a90e4 -.word chrShoot+0x14fc -glabel var7f1a90e8 -.word chrShoot+0x14fc -glabel var7f1a90ec -.word chrShoot+0x14fc -glabel var7f1a90f0 -.word chrShoot+0x14fc -glabel var7f1a90f4 -.word chrShoot+0x14fc -glabel var7f1a90f8 -.word chrShoot+0x14fc -glabel var7f1a90fc -.word chrShoot+0x14fc -glabel var7f1a9100 -.word chrShoot+0x14fc -glabel var7f1a9104 -.word chrShoot+0x14fc -glabel var7f1a9108 -.word chrShoot+0x14fc -glabel var7f1a910c -.word chrShoot+0x14fc -glabel var7f1a9110 -.word chrShoot+0x14fc -glabel var7f1a9114 -.word chrShoot+0x14fc -glabel var7f1a9118 -.word chrShoot+0x14fc -glabel var7f1a911c -.word chrShoot+0x14fc -glabel var7f1a9120 -.word chrShoot+0x14fc -glabel var7f1a9124 -.word chrShoot+0x1508 -glabel var7f1a9128 -.word chrShoot+0x14fc -glabel var7f1a912c -.word chrShoot+0x14fc -glabel var7f1a9130 -.word chrShoot+0x14fc -glabel var7f1a9134 -.word chrShoot+0x1508 -glabel var7f1a9138 -.word chrShoot+0x1508 -glabel var7f1a913c -.word chrShoot+0x1508 -glabel var7f1a9140 -.word chrShoot+0x1508 -glabel var7f1a9144 -.word chrShoot+0x1508 -glabel var7f1a9148 -.word chrShoot+0x14fc -glabel var7f1a914c -.word chrShoot+0x14fc -glabel var7f1a9150 -.word chrShoot+0x1508 -glabel var7f1a9154 -.word chrShoot+0x1508 -glabel var7f1a9158 -.word chrShoot+0x1508 -glabel var7f1a915c -.word chrShoot+0x1508 -glabel var7f1a9160 -.word chrShoot+0x1508 -glabel var7f1a9164 -.word chrShoot+0x1508 -glabel var7f1a9168 -.word chrShoot+0x14fc -glabel var7f1a916c -.word chrShoot+0x14fc -glabel var7f1a9170 -.word chrShoot+0x14fc -glabel var7f1a9174 -.word chrShoot+0x14fc -glabel var7f1a9178 -.word chrShoot+0x14fc -glabel var7f1a917c -.word chrShoot+0x14fc -glabel var7f1a9180 -.word chrShoot+0x14fc -glabel var7f1a9184 -.word chrShoot+0x14fc -.text -/* f0405e4: 27bdfd88 */ addiu $sp,$sp,-632 -/* f0405e8: afbf0044 */ sw $ra,0x44($sp) -/* f0405ec: afa5027c */ sw $a1,0x27c($sp) -/* f0405f0: 8c8e001c */ lw $t6,0x1c($a0) -/* f0405f4: 240f0001 */ li $t7,0x1 -/* f0405f8: a3af026e */ sb $t7,0x26e($sp) -/* f0405fc: afae0274 */ sw $t6,0x274($sp) -/* f040600: 8c9802d4 */ lw $t8,0x2d4($a0) -/* f040604: 00001025 */ move $v0,$zero -/* f040608: 8fa5027c */ lw $a1,0x27c($sp) -/* f04060c: 53000003 */ beqzl $t8,.PB0f04061c -/* f040610: a3a2026f */ sb $v0,0x26f($sp) -/* f040614: 24020001 */ li $v0,0x1 -/* f040618: a3a2026f */ sb $v0,0x26f($sp) -.PB0f04061c: -/* f04061c: 0fc0a23d */ jal chrGetHeldProp -/* f040620: afa40278 */ sw $a0,0x278($sp) -/* f040624: 5040055c */ beqzl $v0,.PB0f041b98 -/* f040628: 8fbf0044 */ lw $ra,0x44($sp) -/* f04062c: afa00268 */ sw $zero,0x268($sp) -/* f040630: 8c590004 */ lw $t9,0x4($v0) -/* f040634: 8fa40278 */ lw $a0,0x278($sp) -/* f040638: 0fc0a255 */ jal chrGetTargetProp -/* f04063c: afb90264 */ sw $t9,0x264($sp) -/* f040640: 8fab0264 */ lw $t3,0x264($sp) -/* f040644: afa2025c */ sw $v0,0x25c($sp) -/* f040648: 8fa70278 */ lw $a3,0x278($sp) -/* f04064c: 8961005c */ lwl $at,0x5c($t3) -/* f040650: 9961005f */ lwr $at,0x5f($t3) -/* f040654: 27aa0260 */ addiu $t2,$sp,0x260 -/* f040658: 24080200 */ li $t0,0x200 -/* f04065c: ad410000 */ sw $at,0x0($t2) -/* f040660: 80e30007 */ lb $v1,0x7($a3) -/* f040664: 24010008 */ li $at,0x8 -/* f040668: 10610007 */ beq $v1,$at,.PB0f040688 -/* f04066c: 2401001b */ li $at,0x1b -/* f040670: 10610005 */ beq $v1,$at,.PB0f040688 -/* f040674: 2401001c */ li $at,0x1c -/* f040678: 10610003 */ beq $v1,$at,.PB0f040688 -/* f04067c: 2401001d */ li $at,0x1d -/* f040680: 54610003 */ bnel $v1,$at,.PB0f040690 -/* f040684: afa00250 */ sw $zero,0x250($sp) -.PB0f040688: -/* f040688: 8ce8004c */ lw $t0,0x4c($a3) -/* f04068c: afa00250 */ sw $zero,0x250($sp) -.PB0f040690: -/* f040690: afa00224 */ sw $zero,0x224($sp) -/* f040694: afa00210 */ sw $zero,0x210($sp) -/* f040698: 93a40260 */ lbu $a0,0x260($sp) -/* f04069c: 93a50263 */ lbu $a1,0x263($sp) -/* f0406a0: afa00254 */ sw $zero,0x254($sp) -/* f0406a4: 0fc2c8be */ jal weaponGetNumTicksPerShot -/* f0406a8: afa80258 */ sw $t0,0x258($sp) -/* f0406ac: 8fa60254 */ lw $a2,0x254($sp) -/* f0406b0: 1c400005 */ bgtz $v0,.PB0f0406c8 -/* f0406b4: 00402025 */ move $a0,$v0 -/* f0406b8: 240f0001 */ li $t7,0x1 -/* f0406bc: 24060001 */ li $a2,0x1 -/* f0406c0: 10000055 */ b .PB0f040818 -/* f0406c4: afaf0250 */ sw $t7,0x250($sp) -.PB0f0406c8: -/* f0406c8: 8fb80278 */ lw $t8,0x278($sp) -/* f0406cc: 8f0302d4 */ lw $v1,0x2d4($t8) -/* f0406d0: 5060001d */ beqzl $v1,.PB0f040748 -/* f0406d4: 8faa0278 */ lw $t2,0x278($sp) -/* f0406d8: 8c790020 */ lw $t9,0x20($v1) -/* f0406dc: 24010014 */ li $at,0x14 -/* f0406e0: 57210019 */ bnel $t9,$at,.PB0f040748 -/* f0406e4: 8faa0278 */ lw $t2,0x278($sp) -/* f0406e8: 8c6d004c */ lw $t5,0x4c($v1) -/* f0406ec: 8fab027c */ lw $t3,0x27c($sp) -/* f0406f0: 000d5080 */ sll $t2,$t5,0x2 -/* f0406f4: 05400013 */ bltz $t2,.PB0f040744 -/* f0406f8: 000b7040 */ sll $t6,$t3,0x1 -/* f0406fc: 006e7821 */ addu $t7,$v1,$t6 -/* f040700: 85f800e0 */ lh $t8,0xe0($t7) -/* f040704: 2419004b */ li $t9,0x4b -/* f040708: 3c017f1b */ lui $at,0x7f1b -/* f04070c: 03386823 */ subu $t5,$t9,$t8 -/* f040710: 448d2000 */ mtc1 $t5,$f4 -/* f040714: c428adac */ lwc1 $f8,-0x5254($at) -/* f040718: 44825000 */ mtc1 $v0,$f10 -/* f04071c: 468021a0 */ cvt.s.w $f6,$f4 -/* f040720: 3c013f80 */ lui $at,0x3f80 -/* f040724: 44819000 */ mtc1 $at,$f18 -/* f040728: 46805420 */ cvt.s.w $f16,$f10 -/* f04072c: 46083002 */ mul.s $f0,$f6,$f8 -/* f040730: 46009100 */ add.s $f4,$f18,$f0 -/* f040734: 46048182 */ mul.s $f6,$f16,$f4 -/* f040738: 4600320d */ trunc.w.s $f8,$f6 -/* f04073c: 44044000 */ mfc1 $a0,$f8 -/* f040740: 00000000 */ nop -.PB0f040744: -/* f040744: 8faa0278 */ lw $t2,0x278($sp) -.PB0f040748: -/* f040748: 8fab027c */ lw $t3,0x27c($sp) -/* f04074c: 3c0f800a */ lui $t7,0x800a -/* f040750: 8defe508 */ lw $t7,-0x1af8($t7) -/* f040754: 014b1821 */ addu $v1,$t2,$t3 -/* f040758: 906e0004 */ lbu $t6,0x4($v1) -/* f04075c: 01cfc821 */ addu $t9,$t6,$t7 -/* f040760: 333800ff */ andi $t8,$t9,0xff -/* f040764: 0304082a */ slt $at,$t8,$a0 -/* f040768: 1420002b */ bnez $at,.PB0f040818 -/* f04076c: a0790004 */ sb $t9,0x4($v1) -/* f040770: a0600004 */ sb $zero,0x4($v1) -/* f040774: 8faa0278 */ lw $t2,0x278($sp) -/* f040778: 8fad027c */ lw $t5,0x27c($sp) -/* f04077c: 240c0001 */ li $t4,0x1 -/* f040780: 8d4b032c */ lw $t3,0x32c($t2) -/* f040784: 01ac1004 */ sllv $v0,$t4,$t5 -/* f040788: 24060001 */ li $a2,0x1 -/* f04078c: 000b7300 */ sll $t6,$t3,0xc -/* f040790: 914b032d */ lbu $t3,0x32d($t2) -/* f040794: 000e7f82 */ srl $t7,$t6,0x1e -/* f040798: 01e2c026 */ xor $t8,$t7,$v0 -/* f04079c: 00186080 */ sll $t4,$t8,0x2 -/* f0407a0: 318d000c */ andi $t5,$t4,0xc -/* f0407a4: 316efff3 */ andi $t6,$t3,0xfff3 -/* f0407a8: 01ae7825 */ or $t7,$t5,$t6 -/* f0407ac: a14f032d */ sb $t7,0x32d($t2) -/* f0407b0: 8d59032c */ lw $t9,0x32c($t2) -/* f0407b4: 93ad0260 */ lbu $t5,0x260($sp) -/* f0407b8: 2401001d */ li $at,0x1d -/* f0407bc: 0019c300 */ sll $t8,$t9,0xc -/* f0407c0: 00186782 */ srl $t4,$t8,0x1e -/* f0407c4: 01825824 */ and $t3,$t4,$v0 -/* f0407c8: 15600003 */ bnez $t3,.PB0f0407d8 -/* f0407cc: 240e0001 */ li $t6,0x1 -/* f0407d0: 55a10003 */ bnel $t5,$at,.PB0f0407e0 -/* f0407d4: 8faf0278 */ lw $t7,0x278($sp) -.PB0f0407d8: -/* f0407d8: afae0250 */ sw $t6,0x250($sp) -/* f0407dc: 8faf0278 */ lw $t7,0x278($sp) -.PB0f0407e0: -/* f0407e0: 24010008 */ li $at,0x8 -/* f0407e4: 81ea0007 */ lb $t2,0x7($t7) -/* f0407e8: 1541000b */ bne $t2,$at,.PB0f040818 -/* f0407ec: 00000000 */ nop -/* f0407f0: 8de40020 */ lw $a0,0x20($t7) -/* f0407f4: 0c0076f3 */ jal modelGetAnimNum -/* f0407f8: afa60254 */ sw $a2,0x254($sp) -/* f0407fc: 2401026a */ li $at,0x26a -/* f040800: 14410005 */ bne $v0,$at,.PB0f040818 -/* f040804: 8fa60254 */ lw $a2,0x254($sp) -/* f040808: 8fb90278 */ lw $t9,0x278($sp) -/* f04080c: 83380033 */ lb $t8,0x33($t9) -/* f040810: 270c0001 */ addiu $t4,$t8,0x1 -/* f040814: a32c0033 */ sb $t4,0x33($t9) -.PB0f040818: -/* f040818: 50c004a3 */ beqzl $a2,.PB0f041aa8 -/* f04081c: 8fa80268 */ lw $t0,0x268($sp) -/* f040820: 0fc0f9c0 */ jal chrGetAimAngle -/* f040824: 8fa40278 */ lw $a0,0x278($sp) -/* f040828: e7a00204 */ swc1 $f0,0x204($sp) -/* f04082c: 0fc0fa19 */ jal func0f03e754 -/* f040830: 8fa40278 */ lw $a0,0x278($sp) -/* f040834: 93ab026f */ lbu $t3,0x26f($sp) -/* f040838: e7a00200 */ swc1 $f0,0x200($sp) -/* f04083c: 240e0001 */ li $t6,0x1 -/* f040840: 11600004 */ beqz $t3,.PB0f040854 -/* f040844: 27a60244 */ addiu $a2,$sp,0x244 -/* f040848: 240d0004 */ li $t5,0x4 -/* f04084c: 10000002 */ b .PB0f040858 -/* f040850: afad01fc */ sw $t5,0x1fc($sp) -.PB0f040854: -/* f040854: afa001fc */ sw $zero,0x1fc($sp) -.PB0f040858: -/* f040858: afae0268 */ sw $t6,0x268($sp) -/* f04085c: 8fa40278 */ lw $a0,0x278($sp) -/* f040860: 0fc0ffbd */ jal chrGetGunPos -/* f040864: 8fa5027c */ lw $a1,0x27c($sp) -/* f040868: 54400032 */ bnezl $v0,.PB0f040934 -/* f04086c: 8fa40278 */ lw $a0,0x278($sp) -/* f040870: 8fa20274 */ lw $v0,0x274($sp) -/* f040874: 3c0141f0 */ lui $at,0x41f0 -/* f040878: 44818000 */ mtc1 $at,$f16 -/* f04087c: c44a0008 */ lwc1 $f10,0x8($v0) -/* f040880: 8faa027c */ lw $t2,0x27c($sp) -/* f040884: 24010001 */ li $at,0x1 -/* f040888: e7aa0244 */ swc1 $f10,0x244($sp) -/* f04088c: c452000c */ lwc1 $f18,0xc($v0) -/* f040890: 46109100 */ add.s $f4,$f18,$f16 -/* f040894: e7a40248 */ swc1 $f4,0x248($sp) -/* f040898: c4460010 */ lwc1 $f6,0x10($v0) -/* f04089c: 15410013 */ bne $t2,$at,.PB0f0408ec -/* f0408a0: e7a6024c */ swc1 $f6,0x24c($sp) -/* f0408a4: 0c006b88 */ jal cosf -/* f0408a8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0408ac: 3c014120 */ lui $at,0x4120 -/* f0408b0: 44815000 */ mtc1 $at,$f10 -/* f0408b4: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0408b8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0408bc: 460a0482 */ mul.s $f18,$f0,$f10 -/* f0408c0: 46124400 */ add.s $f16,$f8,$f18 -/* f0408c4: 0c006b8b */ jal sinf -/* f0408c8: e7b00244 */ swc1 $f16,0x244($sp) -/* f0408cc: 3c014120 */ lui $at,0x4120 -/* f0408d0: 44813000 */ mtc1 $at,$f6 -/* f0408d4: 46000107 */ neg.s $f4,$f0 -/* f0408d8: c7a8024c */ lwc1 $f8,0x24c($sp) -/* f0408dc: 46062282 */ mul.s $f10,$f4,$f6 -/* f0408e0: 460a4480 */ add.s $f18,$f8,$f10 -/* f0408e4: 10000012 */ b .PB0f040930 -/* f0408e8: e7b2024c */ swc1 $f18,0x24c($sp) -.PB0f0408ec: -/* f0408ec: 0c006b88 */ jal cosf -/* f0408f0: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0408f4: 3c014120 */ lui $at,0x4120 -/* f0408f8: 44812000 */ mtc1 $at,$f4 -/* f0408fc: 46000407 */ neg.s $f16,$f0 -/* f040900: c7a80244 */ lwc1 $f8,0x244($sp) -/* f040904: 46048182 */ mul.s $f6,$f16,$f4 -/* f040908: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f04090c: 46064280 */ add.s $f10,$f8,$f6 -/* f040910: 0c006b8b */ jal sinf -/* f040914: e7aa0244 */ swc1 $f10,0x244($sp) -/* f040918: 3c014120 */ lui $at,0x4120 -/* f04091c: 44818000 */ mtc1 $at,$f16 -/* f040920: c7b2024c */ lwc1 $f18,0x24c($sp) -/* f040924: 46100102 */ mul.s $f4,$f0,$f16 -/* f040928: 46049200 */ add.s $f8,$f18,$f4 -/* f04092c: e7a8024c */ swc1 $f8,0x24c($sp) -.PB0f040930: -/* f040930: 8fa40278 */ lw $a0,0x278($sp) -.PB0f040934: -/* f040934: 0fc07a1f */ jal chrSetPerimEnabled -/* f040938: 00002825 */ move $a1,$zero -/* f04093c: 8fb801fc */ lw $t8,0x1fc($sp) -/* f040940: 8faf0274 */ lw $t7,0x274($sp) -/* f040944: 24190010 */ li $t9,0x10 -/* f040948: 370c082a */ ori $t4,$t8,0x82a -/* f04094c: afac0010 */ sw $t4,0x10($sp) -/* f040950: afb90014 */ sw $t9,0x14($sp) -/* f040954: 27a60244 */ addiu $a2,$sp,0x244 -/* f040958: 27a70234 */ addiu $a3,$sp,0x234 -/* f04095c: 25e40008 */ addiu $a0,$t7,0x8 -/* f040960: 0c00b8fd */ jal cd0002de34 -/* f040964: 25e50028 */ addiu $a1,$t7,0x28 -/* f040968: 14400002 */ bnez $v0,.PB0f040974 -/* f04096c: 24050001 */ li $a1,0x1 -/* f040970: afa00268 */ sw $zero,0x268($sp) -.PB0f040974: -/* f040974: 0fc07a1f */ jal chrSetPerimEnabled -/* f040978: 8fa40278 */ lw $a0,0x278($sp) -/* f04097c: 8fab0268 */ lw $t3,0x268($sp) -/* f040980: 240d0001 */ li $t5,0x1 -/* f040984: 51600448 */ beqzl $t3,.PB0f041aa8 -/* f040988: 8fa80268 */ lw $t0,0x268($sp) -/* f04098c: 93ae026f */ lbu $t6,0x26f($sp) -/* f040990: afa001f8 */ sw $zero,0x1f8($sp) -/* f040994: afa001f4 */ sw $zero,0x1f4($sp) -/* f040998: afad01f0 */ sw $t5,0x1f0($sp) -/* f04099c: 11c00004 */ beqz $t6,.PB0f0409b0 -/* f0409a0: afa001cc */ sw $zero,0x1cc($sp) -/* f0409a4: 240a083f */ li $t2,0x83f -/* f0409a8: 10000003 */ b .PB0f0409b8 -/* f0409ac: afaa01c8 */ sw $t2,0x1c8($sp) -.PB0f0409b0: -/* f0409b0: 240f083b */ li $t7,0x83b -/* f0409b4: afaf01c8 */ sw $t7,0x1c8($sp) -.PB0f0409b8: -/* f0409b8: 8fa7025c */ lw $a3,0x25c($sp) -/* f0409bc: 8ce20004 */ lw $v0,0x4($a3) -/* f0409c0: 50400004 */ beqzl $v0,.PB0f0409d4 -/* f0409c4: 00004825 */ move $t1,$zero -/* f0409c8: 10000002 */ b .PB0f0409d4 -/* f0409cc: 904902fe */ lbu $t1,0x2fe($v0) -/* f0409d0: 00004825 */ move $t1,$zero -.PB0f0409d4: -/* f0409d4: 39220003 */ xori $v0,$t1,0x3 -/* f0409d8: 2c420001 */ sltiu $v0,$v0,0x1 -/* f0409dc: 1040000f */ beqz $v0,.PB0f040a1c -/* f0409e0: 00401825 */ move $v1,$v0 -/* f0409e4: afa2005c */ sw $v0,0x5c($sp) -/* f0409e8: 0fc124bb */ jal chrGetDistanceToTarget -/* f0409ec: 8fa40278 */ lw $a0,0x278($sp) -/* f0409f0: 3c014316 */ lui $at,0x4316 -/* f0409f4: 44813000 */ mtc1 $at,$f6 -/* f0409f8: 0000c025 */ move $t8,$zero -/* f0409fc: 4600303c */ c.lt.s $f6,$f0 -/* f040a00: 00000000 */ nop -/* f040a04: 45020003 */ bc1fl .PB0f040a14 -/* f040a08: afb8005c */ sw $t8,0x5c($sp) -/* f040a0c: 24180001 */ li $t8,0x1 -/* f040a10: afb8005c */ sw $t8,0x5c($sp) -.PB0f040a14: -/* f040a14: 8fa7025c */ lw $a3,0x25c($sp) -/* f040a18: 03001825 */ move $v1,$t8 -.PB0f040a1c: -/* f040a1c: afa301c0 */ sw $v1,0x1c0($sp) -/* f040a20: 10600016 */ beqz $v1,.PB0f040a7c -/* f040a24: afa001bc */ sw $zero,0x1bc($sp) -/* f040a28: c4ea0008 */ lwc1 $f10,0x8($a3) -/* f040a2c: c7b00244 */ lwc1 $f16,0x244($sp) -/* f040a30: c7a80248 */ lwc1 $f8,0x248($sp) -/* f040a34: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040a38: 46105481 */ sub.s $f18,$f10,$f16 -/* f040a3c: c7b0024c */ lwc1 $f16,0x24c($sp) -/* f040a40: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040a44: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040a48: e7b201e0 */ swc1 $f18,0x1e0($sp) -/* f040a4c: c4e4000c */ lwc1 $f4,0xc($a3) -/* f040a50: 46082181 */ sub.s $f6,$f4,$f8 -/* f040a54: e7a601e4 */ swc1 $f6,0x1e4($sp) -/* f040a58: c4ea0010 */ lwc1 $f10,0x10($a3) -/* f040a5c: 46105481 */ sub.s $f18,$f10,$f16 -/* f040a60: 0c0011d8 */ jal guNormalize -/* f040a64: e7b201e8 */ swc1 $f18,0x1e8($sp) -/* f040a68: 8fa4025c */ lw $a0,0x25c($sp) -/* f040a6c: 0fc190d6 */ jal propSetPerimEnabled -/* f040a70: 24050001 */ li $a1,0x1 -/* f040a74: 1000002f */ b .PB0f040b34 -/* f040a78: 8fab0278 */ lw $t3,0x278($sp) -.PB0f040a7c: -/* f040a7c: 0c006b88 */ jal cosf -/* f040a80: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040a84: e7a00060 */ swc1 $f0,0x60($sp) -/* f040a88: 0c006b8b */ jal sinf -/* f040a8c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040a90: c7a40060 */ lwc1 $f4,0x60($sp) -/* f040a94: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040a98: 46040202 */ mul.s $f8,$f0,$f4 -/* f040a9c: 0c006b8b */ jal sinf -/* f040aa0: e7a801e0 */ swc1 $f8,0x1e0($sp) -/* f040aa4: e7a001e4 */ swc1 $f0,0x1e4($sp) -/* f040aa8: 0c006b88 */ jal cosf -/* f040aac: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040ab0: e7a00060 */ swc1 $f0,0x60($sp) -/* f040ab4: 0c006b88 */ jal cosf -/* f040ab8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040abc: c7a60060 */ lwc1 $f6,0x60($sp) -/* f040ac0: 93ac026f */ lbu $t4,0x26f($sp) -/* f040ac4: 46060282 */ mul.s $f10,$f0,$f6 -/* f040ac8: 11800019 */ beqz $t4,.PB0f040b30 -/* f040acc: e7aa01e8 */ swc1 $f10,0x1e8($sp) -/* f040ad0: 0fc64be8 */ jal botGuessCrouchPos -/* f040ad4: 8fa40278 */ lw $a0,0x278($sp) -/* f040ad8: 8fb90278 */ lw $t9,0x278($sp) -/* f040adc: 00404825 */ move $t1,$v0 -/* f040ae0: 8fae0278 */ lw $t6,0x278($sp) -/* f040ae4: 8f280170 */ lw $t0,0x170($t9) -/* f040ae8: 0008582b */ sltu $t3,$zero,$t0 -/* f040aec: 11600004 */ beqz $t3,.PB0f040b00 -/* f040af0: 01604025 */ move $t0,$t3 -/* f040af4: 8f280174 */ lw $t0,0x174($t9) -/* f040af8: 0008682b */ sltu $t5,$zero,$t0 -/* f040afc: 01a04025 */ move $t0,$t5 -.PB0f040b00: -/* f040b00: 8dc302d4 */ lw $v1,0x2d4($t6) -/* f040b04: 8fb8027c */ lw $t8,0x27c($sp) -/* f040b08: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040b0c: 8c66004c */ lw $a2,0x4c($v1) -/* f040b10: 00786021 */ addu $t4,$v1,$t8 -/* f040b14: 9187004d */ lbu $a3,0x4d($t4) -/* f040b18: 8c650020 */ lw $a1,0x20($v1) -/* f040b1c: 00065080 */ sll $t2,$a2,0x2 -/* f040b20: 000a37c2 */ srl $a2,$t2,0x1f -/* f040b24: afa80014 */ sw $t0,0x14($sp) -/* f040b28: 0fc28488 */ jal bgunCalculateBotShotSpread -/* f040b2c: afa90010 */ sw $t1,0x10($sp) -.PB0f040b30: -/* f040b30: 8fab0278 */ lw $t3,0x278($sp) -.PB0f040b34: -/* f040b34: 93b90260 */ lbu $t9,0x260($sp) -/* f040b38: 24010016 */ li $at,0x16 -/* f040b3c: 8d6302d4 */ lw $v1,0x2d4($t3) -/* f040b40: 50600018 */ beqzl $v1,.PB0f040ba4 -/* f040b44: 3c014780 */ lui $at,0x4780 -/* f040b48: 57210016 */ bnel $t9,$at,.PB0f040ba4 -/* f040b4c: 3c014780 */ lui $at,0x4780 -/* f040b50: 8c6d0128 */ lw $t5,0x128($v1) -/* f040b54: 240e0001 */ li $t6,0x1 -/* f040b58: 01602025 */ move $a0,$t3 -/* f040b5c: 15a00010 */ bnez $t5,.PB0f040ba0 -/* f040b60: 00002825 */ move $a1,$zero -/* f040b64: afae0250 */ sw $t6,0x250($sp) -/* f040b68: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040b6c: 0fc66ed9 */ jal botactShootFarsight -/* f040b70: 27a70244 */ addiu $a3,$sp,0x244 -/* f040b74: 24010002 */ li $at,0x2 -/* f040b78: 5441000a */ bnel $v0,$at,.PB0f040ba4 -/* f040b7c: 3c014780 */ lui $at,0x4780 -/* f040b80: 0c004be0 */ jal random -/* f040b84: 00000000 */ nop -/* f040b88: 240100ff */ li $at,0xff -/* f040b8c: 0041001b */ divu $zero,$v0,$at -/* f040b90: 00005010 */ mfhi $t2 -/* f040b94: 2d4f00c9 */ sltiu $t7,$t2,0xc9 -/* f040b98: 39ef0001 */ xori $t7,$t7,0x1 -/* f040b9c: a3af026e */ sb $t7,0x26e($sp) -.PB0f040ba0: -/* f040ba0: 3c014780 */ lui $at,0x4780 -.PB0f040ba4: -/* f040ba4: 44810000 */ mtc1 $at,$f0 -/* f040ba8: c7b001e0 */ lwc1 $f16,0x1e0($sp) -/* f040bac: c7a40244 */ lwc1 $f4,0x244($sp) -/* f040bb0: c7a601e4 */ lwc1 $f6,0x1e4($sp) -/* f040bb4: 46008482 */ mul.s $f18,$f16,$f0 -/* f040bb8: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040bbc: 8fa40278 */ lw $a0,0x278($sp) -/* f040bc0: 46003282 */ mul.s $f10,$f6,$f0 -/* f040bc4: c7a6024c */ lwc1 $f6,0x24c($sp) -/* f040bc8: 00002825 */ move $a1,$zero -/* f040bcc: 46049200 */ add.s $f8,$f18,$f4 -/* f040bd0: c7a401e8 */ lwc1 $f4,0x1e8($sp) -/* f040bd4: 46105480 */ add.s $f18,$f10,$f16 -/* f040bd8: e7a80228 */ swc1 $f8,0x228($sp) -/* f040bdc: 46002202 */ mul.s $f8,$f4,$f0 -/* f040be0: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040be4: 46064280 */ add.s $f10,$f8,$f6 -/* f040be8: 0fc07a1f */ jal chrSetPerimEnabled -/* f040bec: e7aa0230 */ swc1 $f10,0x230($sp) -/* f040bf0: 93b8026f */ lbu $t8,0x26f($sp) -/* f040bf4: 27a40244 */ addiu $a0,$sp,0x244 -/* f040bf8: 27a50234 */ addiu $a1,$sp,0x234 -/* f040bfc: 13000004 */ beqz $t8,.PB0f040c10 -/* f040c00: 27a60228 */ addiu $a2,$sp,0x228 -/* f040c04: 240c0001 */ li $t4,0x1 -/* f040c08: 3c01800a */ lui $at,0x800a -/* f040c0c: ac2ce95c */ sw $t4,-0x16a4($at) -.PB0f040c10: -/* f040c10: 24190010 */ li $t9,0x10 -/* f040c14: afb90010 */ sw $t9,0x10($sp) -/* f040c18: 0c00b8d4 */ jal cdTestAToB4 -/* f040c1c: 8fa701c8 */ lw $a3,0x1c8($sp) -/* f040c20: 1440000a */ bnez $v0,.PB0f040c4c -/* f040c24: 240d0001 */ li $t5,0x1 -/* f040c28: 3c067f1b */ lui $a2,0x7f1b -/* f040c2c: afad0224 */ sw $t5,0x224($sp) -/* f040c30: 24c6a7c4 */ addiu $a2,$a2,-22588 -/* f040c34: 27a40228 */ addiu $a0,$sp,0x228 -/* f040c38: 0c00951f */ jal cdGetPos -/* f040c3c: 24052f28 */ li $a1,0x2f28 -/* f040c40: 0c00951c */ jal cdGetObstacle -/* f040c44: 00000000 */ nop -/* f040c48: afa201cc */ sw $v0,0x1cc($sp) -.PB0f040c4c: -/* f040c4c: 8fa40278 */ lw $a0,0x278($sp) -/* f040c50: 0fc07a1f */ jal chrSetPerimEnabled -/* f040c54: 24050001 */ li $a1,0x1 -/* f040c58: 93ae026f */ lbu $t6,0x26f($sp) -/* f040c5c: 3c01800a */ lui $at,0x800a -/* f040c60: 51c00003 */ beqzl $t6,.PB0f040c70 -/* f040c64: 8fab01cc */ lw $t3,0x1cc($sp) -/* f040c68: ac20e95c */ sw $zero,-0x16a4($at) -/* f040c6c: 8fab01cc */ lw $t3,0x1cc($sp) -.PB0f040c70: -/* f040c70: 8faa01c0 */ lw $t2,0x1c0($sp) -/* f040c74: 55600015 */ bnezl $t3,.PB0f040ccc -/* f040c78: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040c7c: 51400013 */ beqzl $t2,.PB0f040ccc -/* f040c80: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040c84: 0c004be0 */ jal random -/* f040c88: 00000000 */ nop -/* f040c8c: 24010064 */ li $at,0x64 -/* f040c90: 0041001b */ divu $zero,$v0,$at -/* f040c94: 00001810 */ mfhi $v1 -/* f040c98: 2c6f0033 */ sltiu $t7,$v1,0x33 -/* f040c9c: 39ef0001 */ xori $t7,$t7,0x1 -/* f040ca0: 11e00009 */ beqz $t7,.PB0f040cc8 -/* f040ca4: afaf01bc */ sw $t7,0x1bc($sp) -/* f040ca8: 8fb8025c */ lw $t8,0x25c($sp) -/* f040cac: afb801cc */ sw $t8,0x1cc($sp) -/* f040cb0: c7100008 */ lwc1 $f16,0x8($t8) -/* f040cb4: e7b00228 */ swc1 $f16,0x228($sp) -/* f040cb8: c712000c */ lwc1 $f18,0xc($t8) -/* f040cbc: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040cc0: c7040010 */ lwc1 $f4,0x10($t8) -/* f040cc4: e7a40230 */ swc1 $f4,0x230($sp) -.PB0f040cc8: -/* f040cc8: c7a80228 */ lwc1 $f8,0x228($sp) -.PB0f040ccc: -/* f040ccc: c7a60244 */ lwc1 $f6,0x244($sp) -/* f040cd0: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f040cd4: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040cd8: 46064001 */ sub.s $f0,$f8,$f6 -/* f040cdc: c7b20230 */ lwc1 $f18,0x230($sp) -/* f040ce0: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f040ce4: 46105081 */ sub.s $f2,$f10,$f16 -/* f040ce8: 46000202 */ mul.s $f8,$f0,$f0 -/* f040cec: 93a40260 */ lbu $a0,0x260($sp) -/* f040cf0: 46049301 */ sub.s $f12,$f18,$f4 -/* f040cf4: 46021182 */ mul.s $f6,$f2,$f2 -/* f040cf8: 24010018 */ li $at,0x18 -/* f040cfc: 460c6402 */ mul.s $f16,$f12,$f12 -/* f040d00: 46064280 */ add.s $f10,$f8,$f6 -/* f040d04: 46105480 */ add.s $f18,$f10,$f16 -/* f040d08: 1081000f */ beq $a0,$at,.PB0f040d48 -/* f040d0c: e7b201d0 */ swc1 $f18,0x1d0($sp) -/* f040d10: 24010019 */ li $at,0x19 -/* f040d14: 1081000c */ beq $a0,$at,.PB0f040d48 -/* f040d18: 24010012 */ li $at,0x12 -/* f040d1c: 14810003 */ bne $a0,$at,.PB0f040d2c -/* f040d20: 93ac0263 */ lbu $t4,0x263($sp) -/* f040d24: 24010001 */ li $at,0x1 -/* f040d28: 11810007 */ beq $t4,$at,.PB0f040d48 -.PB0f040d2c: -/* f040d2c: 24010017 */ li $at,0x17 -/* f040d30: 10810005 */ beq $a0,$at,.PB0f040d48 -/* f040d34: 2401001b */ li $at,0x1b -/* f040d38: 10810003 */ beq $a0,$at,.PB0f040d48 -/* f040d3c: 24010034 */ li $at,0x34 -/* f040d40: 54810179 */ bnel $a0,$at,.PB0f041328 -/* f040d44: 24010006 */ li $at,0x6 -.PB0f040d48: -/* f040d48: 93b9026f */ lbu $t9,0x26f($sp) -/* f040d4c: afa00250 */ sw $zero,0x250($sp) -/* f040d50: 3c017f1b */ lui $at,0x7f1b -/* f040d54: 17200006 */ bnez $t9,.PB0f040d70 -/* f040d58: c7a801d0 */ lwc1 $f8,0x1d0($sp) -/* f040d5c: c424adb0 */ lwc1 $f4,-0x5250($at) -/* f040d60: 4608203c */ c.lt.s $f4,$f8 -/* f040d64: 00000000 */ nop -/* f040d68: 4502016c */ bc1fl .PB0f04131c -/* f040d6c: afa00268 */ sw $zero,0x268($sp) -.PB0f040d70: -/* f040d70: 0fc2c4f8 */ jal weaponFindById -/* f040d74: 00000000 */ nop -/* f040d78: 93ad0263 */ lbu $t5,0x263($sp) -/* f040d7c: 93a40260 */ lbu $a0,0x260($sp) -/* f040d80: 24010018 */ li $at,0x18 -/* f040d84: 000d7080 */ sll $t6,$t5,0x2 -/* f040d88: 004e5821 */ addu $t3,$v0,$t6 -/* f040d8c: 10810006 */ beq $a0,$at,.PB0f040da8 -/* f040d90: 8d630014 */ lw $v1,0x14($t3) -/* f040d94: 24010034 */ li $at,0x34 -/* f040d98: 10810003 */ beq $a0,$at,.PB0f040da8 -/* f040d9c: 24010019 */ li $at,0x19 -/* f040da0: 5481000e */ bnel $a0,$at,.PB0f040ddc -/* f040da4: 2401001b */ li $at,0x1b -.PB0f040da8: -/* f040da8: 8c6a0010 */ lw $t2,0x10($v1) -/* f040dac: 24050053 */ li $a1,0x53 -/* f040db0: 8fa60278 */ lw $a2,0x278($sp) -/* f040db4: 000a7840 */ sll $t7,$t2,0x1 -/* f040db8: 05e30003 */ bgezl $t7,.PB0f040dc8 -/* f040dbc: 8c640040 */ lw $a0,0x40($v1) -/* f040dc0: 24050054 */ li $a1,0x54 -/* f040dc4: 8c640040 */ lw $a0,0x40($v1) -.PB0f040dc8: -/* f040dc8: 0fc22dbf */ jal weaponCreateProjectileFromWeaponNum -/* f040dcc: afa300d4 */ sw $v1,0xd4($sp) -/* f040dd0: 1000002e */ b .PB0f040e8c -/* f040dd4: afa201b8 */ sw $v0,0x1b8($sp) -/* f040dd8: 2401001b */ li $at,0x1b -.PB0f040ddc: -/* f040ddc: 1481000a */ bne $a0,$at,.PB0f040e08 -/* f040de0: 24050056 */ li $a1,0x56 -/* f040de4: 8c640040 */ lw $a0,0x40($v1) -/* f040de8: afa300d4 */ sw $v1,0xd4($sp) -/* f040dec: 0fc22dbf */ jal weaponCreateProjectileFromWeaponNum -/* f040df0: 8fa60278 */ lw $a2,0x278($sp) -/* f040df4: 10400025 */ beqz $v0,.PB0f040e8c -/* f040df8: afa201b8 */ sw $v0,0x1b8($sp) -/* f040dfc: 93b80263 */ lbu $t8,0x263($sp) -/* f040e00: 10000022 */ b .PB0f040e8c -/* f040e04: a058005f */ sb $t8,0x5f($v0) -.PB0f040e08: -/* f040e08: 24010017 */ li $at,0x17 -/* f040e0c: 1481000a */ bne $a0,$at,.PB0f040e38 -/* f040e10: 24050055 */ li $a1,0x55 -/* f040e14: 8c640040 */ lw $a0,0x40($v1) -/* f040e18: afa300d4 */ sw $v1,0xd4($sp) -/* f040e1c: 0fc22dbf */ jal weaponCreateProjectileFromWeaponNum -/* f040e20: 8fa60278 */ lw $a2,0x278($sp) -/* f040e24: 10400019 */ beqz $v0,.PB0f040e8c -/* f040e28: afa201b8 */ sw $v0,0x1b8($sp) -/* f040e2c: 93ac0263 */ lbu $t4,0x263($sp) -/* f040e30: 10000016 */ b .PB0f040e8c -/* f040e34: a04c005f */ sb $t4,0x5f($v0) -.PB0f040e38: -/* f040e38: 24010012 */ li $at,0x12 -/* f040e3c: 1481000b */ bne $a0,$at,.PB0f040e6c -/* f040e40: 3c0d800a */ lui $t5,0x800a -/* f040e44: 8c640040 */ lw $a0,0x40($v1) -/* f040e48: afa300d4 */ sw $v1,0xd4($sp) -/* f040e4c: 24050055 */ li $a1,0x55 -/* f040e50: 0fc22dbf */ jal weaponCreateProjectileFromWeaponNum -/* f040e54: 8fa60278 */ lw $a2,0x278($sp) -/* f040e58: 1040000c */ beqz $v0,.PB0f040e8c -/* f040e5c: afa201b8 */ sw $v0,0x1b8($sp) -/* f040e60: 24190002 */ li $t9,0x2 -/* f040e64: 10000009 */ b .PB0f040e8c -/* f040e68: a059005f */ sb $t9,0x5f($v0) -.PB0f040e6c: -/* f040e6c: 8dade754 */ lw $t5,-0x18ac($t5) -/* f040e70: 8c640040 */ lw $a0,0x40($v1) -/* f040e74: 27a50260 */ addiu $a1,$sp,0x260 -/* f040e78: 8dae00bc */ lw $t6,0xbc($t5) -/* f040e7c: 8dc60004 */ lw $a2,0x4($t6) -/* f040e80: 0fc22d35 */ jal weaponCreateProjectileFromGset -/* f040e84: afa300d4 */ sw $v1,0xd4($sp) -/* f040e88: afa201b8 */ sw $v0,0x1b8($sp) -.PB0f040e8c: -/* f040e8c: 10400123 */ beqz $v0,.PB0f04131c -/* f040e90: 8fab00d4 */ lw $t3,0xd4($sp) -/* f040e94: 8d6a004c */ lw $t2,0x4c($t3) -/* f040e98: 3c017f1b */ lui $at,0x7f1b -/* f040e9c: c430adb4 */ lwc1 $f16,-0x524c($at) -/* f040ea0: 448a3000 */ mtc1 $t2,$f6 -/* f040ea4: 3c014270 */ lui $at,0x4270 -/* f040ea8: 44812000 */ mtc1 $at,$f4 -/* f040eac: 468032a0 */ cvt.s.w $f10,$f6 -/* f040eb0: 3c017f1b */ lui $at,0x7f1b -/* f040eb4: 93b8026f */ lbu $t8,0x26f($sp) -/* f040eb8: 8fa40278 */ lw $a0,0x278($sp) -/* f040ebc: 2405001e */ li $a1,0x1e -/* f040ec0: 46105482 */ mul.s $f18,$f10,$f16 -/* f040ec4: c430adb8 */ lwc1 $f16,-0x5248($at) -/* f040ec8: 46049203 */ div.s $f8,$f18,$f4 -/* f040ecc: e7a80168 */ swc1 $f8,0x168($sp) -/* f040ed0: 8d6f0054 */ lw $t7,0x54($t3) -/* f040ed4: 448f3000 */ mtc1 $t7,$f6 -/* f040ed8: 00000000 */ nop -/* f040edc: 468032a0 */ cvt.s.w $f10,$f6 -/* f040ee0: 46105482 */ mul.s $f18,$f10,$f16 -/* f040ee4: 13000080 */ beqz $t8,.PB0f0410e8 -/* f040ee8: e7b200cc */ swc1 $f18,0xcc($sp) -/* f040eec: 0fc12463 */ jal chrIsTargetInFov -/* f040ef0: 00003025 */ move $a2,$zero -/* f040ef4: 1040007c */ beqz $v0,.PB0f0410e8 -/* f040ef8: 00000000 */ nop -/* f040efc: 93a20263 */ lbu $v0,0x263($sp) -/* f040f00: 00001825 */ move $v1,$zero -/* f040f04: 93a40260 */ lbu $a0,0x260($sp) -/* f040f08: 14400025 */ bnez $v0,.PB0f040fa0 -/* f040f0c: 24010018 */ li $at,0x18 -/* f040f10: 10810006 */ beq $a0,$at,.PB0f040f2c -/* f040f14: 8fac025c */ lw $t4,0x25c($sp) -/* f040f18: 24010034 */ li $at,0x34 -/* f040f1c: 10810003 */ beq $a0,$at,.PB0f040f2c -/* f040f20: 24010019 */ li $at,0x19 -/* f040f24: 5481001f */ bnel $a0,$at,.PB0f040fa4 -/* f040f28: 93a40260 */ lbu $a0,0x260($sp) -.PB0f040f2c: -/* f040f2c: 91820000 */ lbu $v0,0x0($t4) -/* f040f30: 24010003 */ li $at,0x3 -/* f040f34: 8fb9025c */ lw $t9,0x25c($sp) -/* f040f38: 10410003 */ beq $v0,$at,.PB0f040f48 -/* f040f3c: 24010006 */ li $at,0x6 -/* f040f40: 14410051 */ bne $v0,$at,.PB0f041088 -/* f040f44: 00000000 */ nop -.PB0f040f48: -/* f040f48: c7240008 */ lwc1 $f4,0x8($t9) -/* f040f4c: c7aa0244 */ lwc1 $f10,0x244($sp) -/* f040f50: c7b20248 */ lwc1 $f18,0x248($sp) -/* f040f54: e7a400b8 */ swc1 $f4,0xb8($sp) -/* f040f58: 8f2d0004 */ lw $t5,0x4($t9) -/* f040f5c: 460a2401 */ sub.s $f16,$f4,$f10 -/* f040f60: c7aa024c */ lwc1 $f10,0x24c($sp) -/* f040f64: c5a800b4 */ lwc1 $f8,0xb4($t5) -/* f040f68: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040f6c: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040f70: e7a800bc */ swc1 $f8,0xbc($sp) -/* f040f74: c7260010 */ lwc1 $f6,0x10($t9) -/* f040f78: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f040f7c: 46124101 */ sub.s $f4,$f8,$f18 -/* f040f80: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040f84: e7a600c0 */ swc1 $f6,0xc0($sp) -/* f040f88: 460a3401 */ sub.s $f16,$f6,$f10 -/* f040f8c: e7a401e4 */ swc1 $f4,0x1e4($sp) -/* f040f90: 0c0011d8 */ jal guNormalize -/* f040f94: e7b001e8 */ swc1 $f16,0x1e8($sp) -/* f040f98: 1000003b */ b .PB0f041088 -/* f040f9c: 24030001 */ li $v1,0x1 -.PB0f040fa0: -/* f040fa0: 93a40260 */ lbu $a0,0x260($sp) -.PB0f040fa4: -/* f040fa4: 24050017 */ li $a1,0x17 -/* f040fa8: 24010012 */ li $at,0x12 -/* f040fac: 14a40003 */ bne $a1,$a0,.PB0f040fbc -/* f040fb0: 00000000 */ nop -/* f040fb4: 50400004 */ beqzl $v0,.PB0f040fc8 -/* f040fb8: 8fae025c */ lw $t6,0x25c($sp) -.PB0f040fbc: -/* f040fbc: 14810017 */ bne $a0,$at,.PB0f04101c -/* f040fc0: 00000000 */ nop -/* f040fc4: 8fae025c */ lw $t6,0x25c($sp) -.PB0f040fc8: -/* f040fc8: 24010003 */ li $at,0x3 -/* f040fcc: 8faa025c */ lw $t2,0x25c($sp) -/* f040fd0: 91c20000 */ lbu $v0,0x0($t6) -/* f040fd4: 10410003 */ beq $v0,$at,.PB0f040fe4 -/* f040fd8: 24010006 */ li $at,0x6 -/* f040fdc: 1441002a */ bne $v0,$at,.PB0f041088 -/* f040fe0: 00000000 */ nop -.PB0f040fe4: -/* f040fe4: c5480008 */ lwc1 $f8,0x8($t2) -/* f040fe8: 27a40244 */ addiu $a0,$sp,0x244 -/* f040fec: 8fa500cc */ lw $a1,0xcc($sp) -/* f040ff0: e7a800b8 */ swc1 $f8,0xb8($sp) -/* f040ff4: 8d4b0004 */ lw $t3,0x4($t2) -/* f040ff8: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f040ffc: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f041000: c57200b4 */ lwc1 $f18,0xb4($t3) -/* f041004: e7b200bc */ swc1 $f18,0xbc($sp) -/* f041008: c5440010 */ lwc1 $f4,0x10($t2) -/* f04100c: 0fc1010b */ jal chrCalculateTrajectory -/* f041010: e7a400c0 */ swc1 $f4,0xc0($sp) -/* f041014: 1000001c */ b .PB0f041088 -/* f041018: 24030001 */ li $v1,0x1 -.PB0f04101c: -/* f04101c: 14a40002 */ bne $a1,$a0,.PB0f041028 -/* f041020: 24010001 */ li $at,0x1 -/* f041024: 10410003 */ beq $v0,$at,.PB0f041034 -.PB0f041028: -/* f041028: 2401001b */ li $at,0x1b -/* f04102c: 14810016 */ bne $a0,$at,.PB0f041088 -/* f041030: 00000000 */ nop -.PB0f041034: -/* f041034: 8faf025c */ lw $t7,0x25c($sp) -/* f041038: 24010006 */ li $at,0x6 -/* f04103c: 27a40244 */ addiu $a0,$sp,0x244 -/* f041040: c5e60008 */ lwc1 $f6,0x8($t7) -/* f041044: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f041048: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f04104c: e7a600b8 */ swc1 $f6,0xb8($sp) -/* f041050: c5ea000c */ lwc1 $f10,0xc($t7) -/* f041054: e7aa00bc */ swc1 $f10,0xbc($sp) -/* f041058: c5f00010 */ lwc1 $f16,0x10($t7) -/* f04105c: e7b000c0 */ swc1 $f16,0xc0($sp) -/* f041060: 91f80000 */ lbu $t8,0x0($t7) -/* f041064: 17010005 */ bne $t8,$at,.PB0f04107c -/* f041068: 3c0141c8 */ lui $at,0x41c8 -/* f04106c: 44814000 */ mtc1 $at,$f8 -/* f041070: 00000000 */ nop -/* f041074: 46085481 */ sub.s $f18,$f10,$f8 -/* f041078: e7b200bc */ swc1 $f18,0xbc($sp) -.PB0f04107c: -/* f04107c: 0fc1010b */ jal chrCalculateTrajectory -/* f041080: 8fa500cc */ lw $a1,0xcc($sp) -/* f041084: 24030001 */ li $v1,0x1 -.PB0f041088: -/* f041088: 10600017 */ beqz $v1,.PB0f0410e8 -/* f04108c: 8fa40278 */ lw $a0,0x278($sp) -/* f041090: 0fc122ea */ jal chrGetAngleToPos -/* f041094: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f041098: e7a000b4 */ swc1 $f0,0xb4($sp) -/* f04109c: 0c006b88 */ jal cosf -/* f0410a0: 46000306 */ mov.s $f12,$f0 -/* f0410a4: c7ac00b4 */ lwc1 $f12,0xb4($sp) -/* f0410a8: 0c006b8b */ jal sinf -/* f0410ac: e7a000b0 */ swc1 $f0,0xb0($sp) -/* f0410b0: c7ac01e8 */ lwc1 $f12,0x1e8($sp) -/* f0410b4: c7ae00b0 */ lwc1 $f14,0xb0($sp) -/* f0410b8: c7a201e0 */ lwc1 $f2,0x1e0($sp) -/* f0410bc: 460c0102 */ mul.s $f4,$f0,$f12 -/* f0410c0: 00000000 */ nop -/* f0410c4: 46027182 */ mul.s $f6,$f14,$f2 -/* f0410c8: 00000000 */ nop -/* f0410cc: 460c7282 */ mul.s $f10,$f14,$f12 -/* f0410d0: 00000000 */ nop -/* f0410d4: 46020202 */ mul.s $f8,$f0,$f2 -/* f0410d8: 46062400 */ add.s $f16,$f4,$f6 -/* f0410dc: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f0410e0: 46085481 */ sub.s $f18,$f10,$f8 -/* f0410e4: e7b201e8 */ swc1 $f18,0x1e8($sp) -.PB0f0410e8: -/* f0410e8: 0c005900 */ jal mtx4LoadIdentity -/* f0410ec: 27a40178 */ addiu $a0,$sp,0x178 -/* f0410f0: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f0410f4: 0c005b4e */ jal mtx4LoadXRotation -/* f0410f8: 27a5011c */ addiu $a1,$sp,0x11c -/* f0410fc: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f041100: 0c005b71 */ jal mtx4LoadYRotation -/* f041104: 27a500dc */ addiu $a1,$sp,0xdc -/* f041108: 27a400dc */ addiu $a0,$sp,0xdc -/* f04110c: 0c00598c */ jal mtx00015be0 -/* f041110: 27a5011c */ addiu $a1,$sp,0x11c -/* f041114: c7ac0168 */ lwc1 $f12,0x168($sp) -/* f041118: c7a401e0 */ lwc1 $f4,0x1e0($sp) -/* f04111c: c7b001e4 */ lwc1 $f16,0x1e4($sp) -/* f041120: c7a801e8 */ lwc1 $f8,0x1e8($sp) -/* f041124: 460c2182 */ mul.s $f6,$f4,$f12 -/* f041128: c7a200cc */ lwc1 $f2,0xcc($sp) -/* f04112c: 3c01800a */ lui $at,0x800a -/* f041130: 460c8282 */ mul.s $f10,$f16,$f12 -/* f041134: c420e51c */ lwc1 $f0,-0x1ae4($at) -/* f041138: 8fac00d4 */ lw $t4,0xd4($sp) -/* f04113c: 460c4482 */ mul.s $f18,$f8,$f12 -/* f041140: e7a6015c */ swc1 $f6,0x15c($sp) -/* f041144: 8fa401b8 */ lw $a0,0x1b8($sp) -/* f041148: 46022102 */ mul.s $f4,$f4,$f2 -/* f04114c: e7aa0160 */ swc1 $f10,0x160($sp) -/* f041150: 2401ffff */ li $at,-1 -/* f041154: 46003182 */ mul.s $f6,$f6,$f0 -/* f041158: e7b20164 */ swc1 $f18,0x164($sp) -/* f04115c: 27a50244 */ addiu $a1,$sp,0x244 -/* f041160: 27a60234 */ addiu $a2,$sp,0x234 -/* f041164: 27a7011c */ addiu $a3,$sp,0x11c -/* f041168: 27ab016c */ addiu $t3,$sp,0x16c -/* f04116c: 27aa0178 */ addiu $t2,$sp,0x178 -/* f041170: 46062100 */ add.s $f4,$f4,$f6 -/* f041174: 46028182 */ mul.s $f6,$f16,$f2 -/* f041178: e7a4016c */ swc1 $f4,0x16c($sp) -/* f04117c: 46005102 */ mul.s $f4,$f10,$f0 -/* f041180: 46043400 */ add.s $f16,$f6,$f4 -/* f041184: 46024282 */ mul.s $f10,$f8,$f2 -/* f041188: 00000000 */ nop -/* f04118c: 46009182 */ mul.s $f6,$f18,$f0 -/* f041190: e7b00170 */ swc1 $f16,0x170($sp) -/* f041194: 46065100 */ add.s $f4,$f10,$f6 -/* f041198: e7a40174 */ swc1 $f4,0x174($sp) -/* f04119c: 8d8d0058 */ lw $t5,0x58($t4) -/* f0411a0: a48d0062 */ sh $t5,0x62($a0) -/* f0411a4: 84820062 */ lh $v0,0x62($a0) -/* f0411a8: 1041000a */ beq $v0,$at,.PB0f0411d4 -/* f0411ac: 0002c880 */ sll $t9,$v0,0x2 -/* f0411b0: 0322c823 */ subu $t9,$t9,$v0 -/* f0411b4: 0019c8c0 */ sll $t9,$t9,0x3 -/* f0411b8: 0322c821 */ addu $t9,$t9,$v0 -/* f0411bc: 0019c8c0 */ sll $t9,$t9,0x3 -/* f0411c0: 2401003c */ li $at,0x3c -/* f0411c4: 0321001a */ div $zero,$t9,$at -/* f0411c8: 00007012 */ mflo $t6 -/* f0411cc: a48e0062 */ sh $t6,0x62($a0) -/* f0411d0: 00000000 */ nop -.PB0f0411d4: -/* f0411d4: 8faf0274 */ lw $t7,0x274($sp) -/* f0411d8: afab0010 */ sw $t3,0x10($sp) -/* f0411dc: afaa0014 */ sw $t2,0x14($sp) -/* f0411e0: afa5001c */ sw $a1,0x1c($sp) -/* f0411e4: 0fc27b80 */ jal bgun0f09ebcc -/* f0411e8: afaf0018 */ sw $t7,0x18($sp) -/* f0411ec: 8fa301b8 */ lw $v1,0x1b8($sp) -/* f0411f0: 8fad00d4 */ lw $t5,0xd4($sp) -/* f0411f4: 8c780040 */ lw $t8,0x40($v1) -/* f0411f8: 330c0080 */ andi $t4,$t8,0x80 -/* f0411fc: 11800047 */ beqz $t4,.PB0f04131c -/* f041200: 00000000 */ nop -/* f041204: 8da20010 */ lw $v0,0x10($t5) -/* f041208: 0002c800 */ sll $t9,$v0,0x0 -/* f04120c: 07210007 */ bgez $t9,.PB0f04122c -/* f041210: 00025100 */ sll $t2,$v0,0x4 -/* f041214: 8c620048 */ lw $v0,0x48($v1) -/* f041218: 3c014000 */ lui $at,0x4000 -/* f04121c: 8c4e0000 */ lw $t6,0x0($v0) -/* f041220: 01c15825 */ or $t3,$t6,$at -/* f041224: 10000007 */ b .PB0f041244 -/* f041228: ac4b0000 */ sw $t3,0x0($v0) -.PB0f04122c: -/* f04122c: 05430006 */ bgezl $t2,.PB0f041248 -/* f041230: c7b0015c */ lwc1 $f16,0x15c($sp) -/* f041234: 8c620048 */ lw $v0,0x48($v1) -/* f041238: 8c4f0000 */ lw $t7,0x0($v0) -/* f04123c: 35f80010 */ ori $t8,$t7,0x10 -/* f041240: ac580000 */ sw $t8,0x0($v0) -.PB0f041244: -/* f041244: c7b0015c */ lwc1 $f16,0x15c($sp) -.PB0f041248: -/* f041248: 8c6c0048 */ lw $t4,0x48($v1) -/* f04124c: 240e00c8 */ li $t6,0xc8 -/* f041250: 3c017f1b */ lui $at,0x7f1b -/* f041254: e5900010 */ swc1 $f16,0x10($t4) -/* f041258: 8c6d0048 */ lw $t5,0x48($v1) -/* f04125c: c7a80160 */ lwc1 $f8,0x160($sp) -/* f041260: e5a80014 */ swc1 $f8,0x14($t5) -/* f041264: 8c790048 */ lw $t9,0x48($v1) -/* f041268: c7b20164 */ lwc1 $f18,0x164($sp) -/* f04126c: e7320018 */ swc1 $f18,0x18($t9) -/* f041270: 8c6b0048 */ lw $t3,0x48($v1) -/* f041274: ad6e00b4 */ sw $t6,0xb4($t3) -/* f041278: 8faa00d4 */ lw $t2,0xd4($sp) -/* f04127c: 8c6f0048 */ lw $t7,0x48($v1) -/* f041280: c54a005c */ lwc1 $f10,0x5c($t2) -/* f041284: e5ea008c */ swc1 $f10,0x8c($t7) -/* f041288: 8fb800d4 */ lw $t8,0xd4($sp) -/* f04128c: c424adbc */ lwc1 $f4,-0x5244($at) -/* f041290: 8c6c0048 */ lw $t4,0x48($v1) -/* f041294: c7060050 */ lwc1 $f6,0x50($t8) -/* f041298: 46043402 */ mul.s $f16,$f6,$f4 -/* f04129c: e5900098 */ swc1 $f16,0x98($t4) -/* f0412a0: 0fc0a255 */ jal chrGetTargetProp -/* f0412a4: 8fa40278 */ lw $a0,0x278($sp) -/* f0412a8: 8fad01b8 */ lw $t5,0x1b8($sp) -/* f0412ac: 3c01bf80 */ lui $at,0xbf80 -/* f0412b0: 00002025 */ move $a0,$zero -/* f0412b4: 8db90048 */ lw $t9,0x48($t5) -/* f0412b8: 2407ffff */ li $a3,-1 -/* f0412bc: 240bffff */ li $t3,-1 -/* f0412c0: af2200e8 */ sw $v0,0xe8($t9) -/* f0412c4: 8fae00d4 */ lw $t6,0xd4($sp) -/* f0412c8: 240affff */ li $t2,-1 -/* f0412cc: 85c60060 */ lh $a2,0x60($t6) -/* f0412d0: 18c00012 */ blez $a2,.PB0f04131c -/* f0412d4: 00000000 */ nop -/* f0412d8: 8da50014 */ lw $a1,0x14($t5) -/* f0412dc: 44810000 */ mtc1 $at,$f0 -/* f0412e0: afaa002c */ sw $t2,0x2c($sp) -/* f0412e4: afa00028 */ sw $zero,0x28($sp) -/* f0412e8: afa00020 */ sw $zero,0x20($sp) -/* f0412ec: afa0001c */ sw $zero,0x1c($sp) -/* f0412f0: afa00018 */ sw $zero,0x18($sp) -/* f0412f4: afa00014 */ sw $zero,0x14($sp) -/* f0412f8: afab0010 */ sw $t3,0x10($sp) -/* f0412fc: e7a00024 */ swc1 $f0,0x24($sp) -/* f041300: e7a00030 */ swc1 $f0,0x30($sp) -/* f041304: e7a00034 */ swc1 $f0,0x34($sp) -/* f041308: 0fc24e0e */ jal propsnd0f0939f8 -/* f04130c: e7a00038 */ swc1 $f0,0x38($sp) -/* f041310: 10000002 */ b .PB0f04131c -/* f041314: 00000000 */ nop -/* f041318: afa00268 */ sw $zero,0x268($sp) -.PB0f04131c: -/* f04131c: 10000019 */ b .PB0f041384 -/* f041320: a3a0026e */ sb $zero,0x26e($sp) -/* f041324: 24010006 */ li $at,0x6 -.PB0f041328: -/* f041328: 14810016 */ bne $a0,$at,.PB0f041384 -/* f04132c: 93af026f */ lbu $t7,0x26f($sp) -/* f041330: 11e00014 */ beqz $t7,.PB0f041384 -/* f041334: 93b80263 */ lbu $t8,0x263($sp) -/* f041338: 24010001 */ li $at,0x1 -/* f04133c: 17010011 */ bne $t8,$at,.PB0f041384 -/* f041340: 8fb90278 */ lw $t9,0x278($sp) -/* f041344: 8fa2027c */ lw $v0,0x27c($sp) -/* f041348: 8f2e02d4 */ lw $t6,0x2d4($t9) -/* f04134c: 3c014120 */ lui $at,0x4120 -/* f041350: 00026080 */ sll $t4,$v0,0x2 -/* f041354: 01cc6821 */ addu $t5,$t6,$t4 -/* f041358: c5a800e4 */ lwc1 $f8,0xe4($t5) -/* f04135c: 44819000 */ mtc1 $at,$f18 -/* f041360: 44802000 */ mtc1 $zero,$f4 -/* f041364: 46124282 */ mul.s $f10,$f8,$f18 -/* f041368: 4600518d */ trunc.w.s $f6,$f10 -/* f04136c: 440a3000 */ mfc1 $t2,$f6 -/* f041370: 00000000 */ nop -/* f041374: a3aa0262 */ sb $t2,0x262($sp) -/* f041378: 8f2f02d4 */ lw $t7,0x2d4($t9) -/* f04137c: 01ecc021 */ addu $t8,$t7,$t4 -/* f041380: e70400e4 */ swc1 $f4,0xe4($t8) -.PB0f041384: -/* f041384: 93ac026e */ lbu $t4,0x26e($sp) -/* f041388: 93ae026f */ lbu $t6,0x26f($sp) -/* f04138c: 518001c0 */ beqzl $t4,.PB0f041a90 -/* f041390: 8fab01c0 */ lw $t3,0x1c0($sp) -/* f041394: 15c000d6 */ bnez $t6,.PB0f0416f0 -/* f041398: 8fad0258 */ lw $t5,0x258($sp) -/* f04139c: 31ab0200 */ andi $t3,$t5,0x200 -/* f0413a0: 1160004c */ beqz $t3,.PB0f0414d4 -/* f0413a4: 8faa025c */ lw $t2,0x25c($sp) -/* f0413a8: 91590000 */ lbu $t9,0x0($t2) -/* f0413ac: 24010006 */ li $at,0x6 -/* f0413b0: 8fa40278 */ lw $a0,0x278($sp) -/* f0413b4: 17210047 */ bne $t9,$at,.PB0f0414d4 -/* f0413b8: 27a50244 */ addiu $a1,$sp,0x244 -/* f0413bc: 27a60234 */ addiu $a2,$sp,0x234 -/* f0413c0: 0fc0e4bf */ jal chrCanSeeAttackTarget -/* f0413c4: 00003825 */ move $a3,$zero -/* f0413c8: 10400042 */ beqz $v0,.PB0f0414d4 -/* f0413cc: 8faf025c */ lw $t7,0x25c($sp) -/* f0413d0: 8de40004 */ lw $a0,0x4($t7) -/* f0413d4: 8fa50278 */ lw $a1,0x278($sp) -/* f0413d8: 0fc12aec */ jal chrCompareTeams -/* f0413dc: 24060002 */ li $a2,0x2 -/* f0413e0: 1040003c */ beqz $v0,.PB0f0414d4 -/* f0413e4: 3c014170 */ lui $at,0x4170 -/* f0413e8: 44817000 */ mtc1 $at,$f14 -/* f0413ec: 8fb8025c */ lw $t8,0x25c($sp) -/* f0413f0: c7aa01e0 */ lwc1 $f10,0x1e0($sp) -/* f0413f4: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0413f8: c7100008 */ lwc1 $f16,0x8($t8) -/* f0413fc: 460e5182 */ mul.s $f6,$f10,$f14 -/* f041400: c7aa01e4 */ lwc1 $f10,0x1e4($sp) -/* f041404: 46088481 */ sub.s $f18,$f16,$f8 -/* f041408: c7b00248 */ lwc1 $f16,0x248($sp) -/* f04140c: c704000c */ lwc1 $f4,0xc($t8) -/* f041410: 8fa40278 */ lw $a0,0x278($sp) -/* f041414: 27a501f8 */ addiu $a1,$sp,0x1f8 -/* f041418: 46069001 */ sub.s $f0,$f18,$f6 -/* f04141c: 460e5482 */ mul.s $f18,$f10,$f14 -/* f041420: c7aa01e8 */ lwc1 $f10,0x1e8($sp) -/* f041424: 46102201 */ sub.s $f8,$f4,$f16 -/* f041428: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f04142c: c7060010 */ lwc1 $f6,0x10($t8) -/* f041430: 27a601f4 */ addiu $a2,$sp,0x1f4 -/* f041434: 46124081 */ sub.s $f2,$f8,$f18 -/* f041438: 460e5202 */ mul.s $f8,$f10,$f14 -/* f04143c: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f041440: 46043401 */ sub.s $f16,$f6,$f4 -/* f041444: 46000182 */ mul.s $f6,$f0,$f0 -/* f041448: 00000000 */ nop -/* f04144c: 46021102 */ mul.s $f4,$f2,$f2 -/* f041450: 46088301 */ sub.s $f12,$f16,$f8 -/* f041454: 460c6402 */ mul.s $f16,$f12,$f12 -/* f041458: 46043280 */ add.s $f10,$f6,$f4 -/* f04145c: 46105200 */ add.s $f8,$f10,$f16 -/* f041460: 4612403e */ c.le.s $f8,$f18 -/* f041464: 00000000 */ nop -/* f041468: 4500002b */ bc1f .PB0f041518 -/* f04146c: 00000000 */ nop -/* f041470: 0fc0fef0 */ jal chrCalculateHit -/* f041474: 27a70260 */ addiu $a3,$sp,0x260 -/* f041478: 8fac01f4 */ lw $t4,0x1f4($sp) -/* f04147c: 8fad01f8 */ lw $t5,0x1f8($sp) -/* f041480: 8fab0278 */ lw $t3,0x278($sp) -/* f041484: 2d8e0001 */ sltiu $t6,$t4,0x1 -/* f041488: 11a00023 */ beqz $t5,.PB0f041518 -/* f04148c: afae01f0 */ sw $t6,0x1f0($sp) -/* f041490: 81630007 */ lb $v1,0x7($t3) -/* f041494: 24010008 */ li $at,0x8 -/* f041498: 3c0a800a */ lui $t2,0x800a -/* f04149c: 1061000a */ beq $v1,$at,.PB0f0414c8 -/* f0414a0: 8fb90278 */ lw $t9,0x278($sp) -/* f0414a4: 2401000a */ li $at,0xa -/* f0414a8: 10610007 */ beq $v1,$at,.PB0f0414c8 -/* f0414ac: 2401001b */ li $at,0x1b -/* f0414b0: 10610005 */ beq $v1,$at,.PB0f0414c8 -/* f0414b4: 2401001c */ li $at,0x1c -/* f0414b8: 10610003 */ beq $v1,$at,.PB0f0414c8 -/* f0414bc: 2401001d */ li $at,0x1d -/* f0414c0: 54610016 */ bnel $v1,$at,.PB0f04151c -/* f0414c4: 8fae01f4 */ lw $t6,0x1f4($sp) -.PB0f0414c8: -/* f0414c8: 8d4ae4d8 */ lw $t2,-0x1b28($t2) -/* f0414cc: 10000012 */ b .PB0f041518 -/* f0414d0: af2a0048 */ sw $t2,0x48($t9) -.PB0f0414d4: -/* f0414d4: 8faf0278 */ lw $t7,0x278($sp) -/* f0414d8: 24010008 */ li $at,0x8 -/* f0414dc: 3c18800a */ lui $t8,0x800a -/* f0414e0: 81e30007 */ lb $v1,0x7($t7) -/* f0414e4: 8fac0278 */ lw $t4,0x278($sp) -/* f0414e8: 10610009 */ beq $v1,$at,.PB0f041510 -/* f0414ec: 2401000a */ li $at,0xa -/* f0414f0: 10610007 */ beq $v1,$at,.PB0f041510 -/* f0414f4: 2401001b */ li $at,0x1b -/* f0414f8: 10610005 */ beq $v1,$at,.PB0f041510 -/* f0414fc: 2401001c */ li $at,0x1c -/* f041500: 10610003 */ beq $v1,$at,.PB0f041510 -/* f041504: 2401001d */ li $at,0x1d -/* f041508: 54610004 */ bnel $v1,$at,.PB0f04151c -/* f04150c: 8fae01f4 */ lw $t6,0x1f4($sp) -.PB0f041510: -/* f041510: 8f18e4d8 */ lw $t8,-0x1b28($t8) -/* f041514: ad980048 */ sw $t8,0x48($t4) -.PB0f041518: -/* f041518: 8fae01f4 */ lw $t6,0x1f4($sp) -.PB0f04151c: -/* f04151c: 8faf01cc */ lw $t7,0x1cc($sp) -/* f041520: 11c00065 */ beqz $t6,.PB0f0416b8 -/* f041524: 00000000 */ nop -/* f041528: 0fc2c84e */ jal gsetGetDamage -/* f04152c: 27a40260 */ addiu $a0,$sp,0x260 -/* f041530: 8faa025c */ lw $t2,0x25c($sp) -/* f041534: 240dffff */ li $t5,-1 -/* f041538: 240b00c8 */ li $t3,0xc8 -/* f04153c: e7a0009c */ swc1 $f0,0x9c($sp) -/* f041540: afa00098 */ sw $zero,0x98($sp) -/* f041544: afa00094 */ sw $zero,0x94($sp) -/* f041548: afad0090 */ sw $t5,0x90($sp) -/* f04154c: afab008c */ sw $t3,0x8c($sp) -/* f041550: 8d590004 */ lw $t9,0x4($t2) -/* f041554: afb90088 */ sw $t9,0x88($sp) -/* f041558: c5460008 */ lwc1 $f6,0x8($t2) -/* f04155c: e7a60228 */ swc1 $f6,0x228($sp) -/* f041560: c544000c */ lwc1 $f4,0xc($t2) -/* f041564: e7a4022c */ swc1 $f4,0x22c($sp) -/* f041568: c54a0010 */ lwc1 $f10,0x10($t2) -/* f04156c: 0c004be0 */ jal random -/* f041570: e7aa0230 */ swc1 $f10,0x230($sp) -/* f041574: 304f0001 */ andi $t7,$v0,0x1 -/* f041578: 11e00012 */ beqz $t7,.PB0f0415c4 -/* f04157c: 00000000 */ nop -/* f041580: 0c004be0 */ jal random -/* f041584: 00000000 */ nop -/* f041588: 2401000a */ li $at,0xa -/* f04158c: 0041001b */ divu $zero,$v0,$at -/* f041590: 0000c010 */ mfhi $t8 -/* f041594: 270c0002 */ addiu $t4,$t8,0x2 -/* f041598: 448c9000 */ mtc1 $t4,$f18 -/* f04159c: c7b0022c */ lwc1 $f16,0x22c($sp) -/* f0415a0: 05810005 */ bgez $t4,.PB0f0415b8 -/* f0415a4: 46809220 */ cvt.s.w $f8,$f18 -/* f0415a8: 3c014f80 */ lui $at,0x4f80 -/* f0415ac: 44813000 */ mtc1 $at,$f6 -/* f0415b0: 00000000 */ nop -/* f0415b4: 46064200 */ add.s $f8,$f8,$f6 -.PB0f0415b8: -/* f0415b8: 46088100 */ add.s $f4,$f16,$f8 -/* f0415bc: 10000011 */ b .PB0f041604 -/* f0415c0: e7a4022c */ swc1 $f4,0x22c($sp) -.PB0f0415c4: -/* f0415c4: 0c004be0 */ jal random -/* f0415c8: 00000000 */ nop -/* f0415cc: 2401000a */ li $at,0xa -/* f0415d0: 0041001b */ divu $zero,$v0,$at -/* f0415d4: 00007010 */ mfhi $t6 -/* f0415d8: 25cd0002 */ addiu $t5,$t6,0x2 -/* f0415dc: 448d9000 */ mtc1 $t5,$f18 -/* f0415e0: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f0415e4: 05a10005 */ bgez $t5,.PB0f0415fc -/* f0415e8: 468091a0 */ cvt.s.w $f6,$f18 -/* f0415ec: 3c014f80 */ lui $at,0x4f80 -/* f0415f0: 44818000 */ mtc1 $at,$f16 -/* f0415f4: 00000000 */ nop -/* f0415f8: 46103180 */ add.s $f6,$f6,$f16 -.PB0f0415fc: -/* f0415fc: 46065201 */ sub.s $f8,$f10,$f6 -/* f041600: e7a8022c */ swc1 $f8,0x22c($sp) -.PB0f041604: -/* f041604: 27a40260 */ addiu $a0,$sp,0x260 -/* f041608: 8fa5025c */ lw $a1,0x25c($sp) -/* f04160c: 0fc2a04d */ jal bgunPlayPropHitSound -/* f041610: 2406ffff */ li $a2,-1 -/* f041614: 8fa40088 */ lw $a0,0x88($sp) -/* f041618: 8c8b0020 */ lw $t3,0x20($a0) -/* f04161c: 51600012 */ beqzl $t3,.PB0f041668 -/* f041620: 8fb80278 */ lw $t8,0x278($sp) -/* f041624: 0fc0d025 */ jal chrGetShield -/* f041628: 00000000 */ nop -/* f04162c: 44802000 */ mtc1 $zero,$f4 -/* f041630: 8fa40088 */ lw $a0,0x88($sp) -/* f041634: 27a50228 */ addiu $a1,$sp,0x228 -/* f041638: 4600203c */ c.lt.s $f4,$f0 -/* f04163c: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041640: 27a70098 */ addiu $a3,$sp,0x98 -/* f041644: 27b9008c */ addiu $t9,$sp,0x8c -/* f041648: 45000006 */ bc1f .PB0f041664 -/* f04164c: 27aa0094 */ addiu $t2,$sp,0x94 -/* f041650: 27af0090 */ addiu $t7,$sp,0x90 -/* f041654: afaf0018 */ sw $t7,0x18($sp) -/* f041658: afb90010 */ sw $t9,0x10($sp) -/* f04165c: 0fc1000f */ jal chrCalculateShieldHit -/* f041660: afaa0014 */ sw $t2,0x14($sp) -.PB0f041664: -/* f041664: 8fb80278 */ lw $t8,0x278($sp) -.PB0f041668: -/* f041668: 8fad025c */ lw $t5,0x25c($sp) -/* f04166c: 8fab0098 */ lw $t3,0x98($sp) -/* f041670: 8f0c001c */ lw $t4,0x1c($t8) -/* f041674: 8fb90094 */ lw $t9,0x94($sp) -/* f041678: 8faa0090 */ lw $t2,0x90($sp) -/* f04167c: 240e00c8 */ li $t6,0xc8 -/* f041680: 8fa40088 */ lw $a0,0x88($sp) -/* f041684: afae0014 */ sw $t6,0x14($sp) -/* f041688: afa00028 */ sw $zero,0x28($sp) -/* f04168c: 8fa5009c */ lw $a1,0x9c($sp) -/* f041690: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041694: 27a70260 */ addiu $a3,$sp,0x260 -/* f041698: afad0018 */ sw $t5,0x18($sp) -/* f04169c: afab001c */ sw $t3,0x1c($sp) -/* f0416a0: afac0010 */ sw $t4,0x10($sp) -/* f0416a4: afb90020 */ sw $t9,0x20($sp) -/* f0416a8: 0fc0d0b4 */ jal func0f0341dc -/* f0416ac: afaa0024 */ sw $t2,0x24($sp) -/* f0416b0: 10000010 */ b .PB0f0416f4 -/* f0416b4: 8fb801f0 */ lw $t8,0x1f0($sp) -.PB0f0416b8: -/* f0416b8: 11e00006 */ beqz $t7,.PB0f0416d4 -/* f0416bc: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f0416c0: 91e20000 */ lbu $v0,0x0($t7) -/* f0416c4: 24010003 */ li $at,0x3 -/* f0416c8: 10410009 */ beq $v0,$at,.PB0f0416f0 -/* f0416cc: 24010006 */ li $at,0x6 -/* f0416d0: 10410007 */ beq $v0,$at,.PB0f0416f0 -.PB0f0416d4: -/* f0416d4: 3c017f1b */ lui $at,0x7f1b -/* f0416d8: c430adc0 */ lwc1 $f16,-0x5240($at) -/* f0416dc: 4610903c */ c.lt.s $f18,$f16 -/* f0416e0: 00000000 */ nop -/* f0416e4: 45020003 */ bc1fl .PB0f0416f4 -/* f0416e8: 8fb801f0 */ lw $t8,0x1f0($sp) -/* f0416ec: afa001f0 */ sw $zero,0x1f0($sp) -.PB0f0416f0: -/* f0416f0: 8fb801f0 */ lw $t8,0x1f0($sp) -.PB0f0416f4: -/* f0416f4: 8fac01cc */ lw $t4,0x1cc($sp) -/* f0416f8: 530000e5 */ beqzl $t8,.PB0f041a90 -/* f0416fc: 8fab01c0 */ lw $t3,0x1c0($sp) -/* f041700: 118000a2 */ beqz $t4,.PB0f04198c -/* f041704: 8fab0224 */ lw $t3,0x224($sp) -/* f041708: 91820000 */ lbu $v0,0x0($t4) -/* f04170c: 24010006 */ li $at,0x6 -/* f041710: 93ae026f */ lbu $t6,0x26f($sp) -/* f041714: 10410003 */ beq $v0,$at,.PB0f041724 -/* f041718: 24010003 */ li $at,0x3 -/* f04171c: 54410053 */ bnel $v0,$at,.PB0f04186c -/* f041720: 24010001 */ li $at,0x1 -.PB0f041724: -/* f041724: 15c0000c */ bnez $t6,.PB0f041758 -/* f041728: 8fad01bc */ lw $t5,0x1bc($sp) -/* f04172c: 15a0000a */ bnez $t5,.PB0f041758 -/* f041730: 8fab0278 */ lw $t3,0x278($sp) -/* f041734: 8d790018 */ lw $t9,0x18($t3) -/* f041738: 8faf01cc */ lw $t7,0x1cc($sp) -/* f04173c: 01602825 */ move $a1,$t3 -/* f041740: 332a0040 */ andi $t2,$t9,0x40 -/* f041744: 11400045 */ beqz $t2,.PB0f04185c -/* f041748: 24060002 */ li $a2,0x2 -/* f04174c: 0fc12aec */ jal chrCompareTeams -/* f041750: 8de40004 */ lw $a0,0x4($t7) -/* f041754: 10400041 */ beqz $v0,.PB0f04185c -.PB0f041758: -/* f041758: 2418ffff */ li $t8,-1 -/* f04175c: 240c00c8 */ li $t4,0xc8 -/* f041760: afa00084 */ sw $zero,0x84($sp) -/* f041764: afa00080 */ sw $zero,0x80($sp) -/* f041768: afb8007c */ sw $t8,0x7c($sp) -/* f04176c: afac0078 */ sw $t4,0x78($sp) -/* f041770: 0fc2c84e */ jal gsetGetDamage -/* f041774: 27a40260 */ addiu $a0,$sp,0x260 -/* f041778: 8fa501cc */ lw $a1,0x1cc($sp) -/* f04177c: e7a00074 */ swc1 $f0,0x74($sp) -/* f041780: 27a40260 */ addiu $a0,$sp,0x260 -/* f041784: 8cad0004 */ lw $t5,0x4($a1) -/* f041788: 2406ffff */ li $a2,-1 -/* f04178c: 0fc2a04d */ jal bgunPlayPropHitSound -/* f041790: afad0070 */ sw $t5,0x70($sp) -/* f041794: 8fa40070 */ lw $a0,0x70($sp) -/* f041798: 8c990020 */ lw $t9,0x20($a0) -/* f04179c: 53200012 */ beqzl $t9,.PB0f0417e8 -/* f0417a0: 8fac0278 */ lw $t4,0x278($sp) -/* f0417a4: 0fc0d025 */ jal chrGetShield -/* f0417a8: 00000000 */ nop -/* f0417ac: 44805000 */ mtc1 $zero,$f10 -/* f0417b0: 8fa40070 */ lw $a0,0x70($sp) -/* f0417b4: 27a50228 */ addiu $a1,$sp,0x228 -/* f0417b8: 4600503c */ c.lt.s $f10,$f0 -/* f0417bc: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f0417c0: 27a70084 */ addiu $a3,$sp,0x84 -/* f0417c4: 27aa0078 */ addiu $t2,$sp,0x78 -/* f0417c8: 45000006 */ bc1f .PB0f0417e4 -/* f0417cc: 27af0080 */ addiu $t7,$sp,0x80 -/* f0417d0: 27ab007c */ addiu $t3,$sp,0x7c -/* f0417d4: afab0018 */ sw $t3,0x18($sp) -/* f0417d8: afaa0010 */ sw $t2,0x10($sp) -/* f0417dc: 0fc1000f */ jal chrCalculateShieldHit -/* f0417e0: afaf0014 */ sw $t7,0x14($sp) -.PB0f0417e4: -/* f0417e4: 8fac0278 */ lw $t4,0x278($sp) -.PB0f0417e8: -/* f0417e8: 27b801e0 */ addiu $t8,$sp,0x1e0 -/* f0417ec: 8fa40070 */ lw $a0,0x70($sp) -/* f0417f0: afb80010 */ sw $t8,0x10($sp) -/* f0417f4: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0417f8: 8fa60078 */ lw $a2,0x78($sp) -/* f0417fc: 27a70228 */ addiu $a3,$sp,0x228 -/* f041800: 0fc097dd */ jal chrEmitSparks -/* f041804: afac0014 */ sw $t4,0x14($sp) -/* f041808: 8fad0278 */ lw $t5,0x278($sp) -/* f04180c: 8faa01cc */ lw $t2,0x1cc($sp) -/* f041810: 8faf0084 */ lw $t7,0x84($sp) -/* f041814: 8dae001c */ lw $t6,0x1c($t5) -/* f041818: 8fab0080 */ lw $t3,0x80($sp) -/* f04181c: 8fb8007c */ lw $t8,0x7c($sp) -/* f041820: 241900c8 */ li $t9,0xc8 -/* f041824: afb90014 */ sw $t9,0x14($sp) -/* f041828: afa00028 */ sw $zero,0x28($sp) -/* f04182c: 8fa40070 */ lw $a0,0x70($sp) -/* f041830: 8fa50074 */ lw $a1,0x74($sp) -/* f041834: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041838: 27a70260 */ addiu $a3,$sp,0x260 -/* f04183c: afaa0018 */ sw $t2,0x18($sp) -/* f041840: afaf001c */ sw $t7,0x1c($sp) -/* f041844: afae0010 */ sw $t6,0x10($sp) -/* f041848: afab0020 */ sw $t3,0x20($sp) -/* f04184c: 0fc0d0b4 */ jal func0f0341dc -/* f041850: afb80024 */ sw $t8,0x24($sp) -/* f041854: 1000006f */ b .PB0f041a14 -/* f041858: 93ad0260 */ lbu $t5,0x260($sp) -.PB0f04185c: -/* f04185c: afa00250 */ sw $zero,0x250($sp) -/* f041860: 1000006b */ b .PB0f041a10 -/* f041864: afa00268 */ sw $zero,0x268($sp) -/* f041868: 24010001 */ li $at,0x1 -.PB0f04186c: -/* f04186c: 10410005 */ beq $v0,$at,.PB0f041884 -/* f041870: 8fac01cc */ lw $t4,0x1cc($sp) -/* f041874: 24010004 */ li $at,0x4 -/* f041878: 10410002 */ beq $v0,$at,.PB0f041884 -/* f04187c: 24010002 */ li $at,0x2 -/* f041880: 14410063 */ bne $v0,$at,.PB0f041a10 -.PB0f041884: -/* f041884: 3c19800a */ lui $t9,0x800a -/* f041888: 8f39e7e4 */ lw $t9,-0x181c($t9) -/* f04188c: 8d8d0004 */ lw $t5,0x4($t4) -/* f041890: 240effff */ li $t6,-1 -/* f041894: afae0068 */ sw $t6,0x68($sp) -/* f041898: 13200004 */ beqz $t9,.PB0f0418ac -/* f04189c: afad006c */ sw $t5,0x6c($sp) -/* f0418a0: 0fc63af1 */ jal mpPlayerGetIndex -/* f0418a4: 8fa40278 */ lw $a0,0x278($sp) -/* f0418a8: afa20068 */ sw $v0,0x68($sp) -.PB0f0418ac: -/* f0418ac: 27a40260 */ addiu $a0,$sp,0x260 -/* f0418b0: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0418b4: 0fc2a04d */ jal bgunPlayPropHitSound -/* f0418b8: 2406ffff */ li $a2,-1 -/* f0418bc: 27a40244 */ addiu $a0,$sp,0x244 -/* f0418c0: 27a50234 */ addiu $a1,$sp,0x234 -/* f0418c4: 27a60228 */ addiu $a2,$sp,0x228 -/* f0418c8: 0fc19815 */ jal func0f065e74 -/* f0418cc: 27a70214 */ addiu $a3,$sp,0x214 -/* f0418d0: 240a0001 */ li $t2,0x1 -/* f0418d4: afaa0210 */ sw $t2,0x210($sp) -/* f0418d8: 0fc4fe8e */ jal chrIsUsingPaintball -/* f0418dc: 8fa40278 */ lw $a0,0x278($sp) -/* f0418e0: 1040000b */ beqz $v0,.PB0f041910 -/* f0418e4: 87a40214 */ lh $a0,0x214($sp) -/* f0418e8: 240f0019 */ li $t7,0x19 -/* f0418ec: afaf0014 */ sw $t7,0x14($sp) -/* f0418f0: 87a40214 */ lh $a0,0x214($sp) -/* f0418f4: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0418f8: 27a60228 */ addiu $a2,$sp,0x228 -/* f0418fc: 00003825 */ move $a3,$zero -/* f041900: 0fc4c3dd */ jal sparksCreate -/* f041904: afa00010 */ sw $zero,0x10($sp) -/* f041908: 10000007 */ b .PB0f041928 -/* f04190c: 00000000 */ nop -.PB0f041910: -/* f041910: 8fa501cc */ lw $a1,0x1cc($sp) -/* f041914: 27a60228 */ addiu $a2,$sp,0x228 -/* f041918: 00003825 */ move $a3,$zero -/* f04191c: afa00010 */ sw $zero,0x10($sp) -/* f041920: 0fc4c3dd */ jal sparksCreate -/* f041924: afa00014 */ sw $zero,0x14($sp) -.PB0f041928: -/* f041928: 3c0b800a */ lui $t3,0x800a -/* f04192c: 8178251b */ lb $t8,0x251b($t3) -/* f041930: 8fac0278 */ lw $t4,0x278($sp) -/* f041934: 0701000a */ bgez $t8,.PB0f041960 -/* f041938: 00000000 */ nop -/* f04193c: 918d0125 */ lbu $t5,0x125($t4) -/* f041940: 24010010 */ li $at,0x10 -/* f041944: 8fae006c */ lw $t6,0x6c($sp) -/* f041948: 15a10005 */ bne $t5,$at,.PB0f041960 -/* f04194c: 00000000 */ nop -/* f041950: 8dd9000c */ lw $t9,0xc($t6) -/* f041954: 332a0001 */ andi $t2,$t9,0x1 -/* f041958: 5540002e */ bnezl $t2,.PB0f041a14 -/* f04195c: 93ad0260 */ lbu $t5,0x260($sp) -.PB0f041960: -/* f041960: 0fc2c84e */ jal gsetGetDamage -/* f041964: 27a40260 */ addiu $a0,$sp,0x260 -/* f041968: 8faf0068 */ lw $t7,0x68($sp) -/* f04196c: 44050000 */ mfc1 $a1,$f0 -/* f041970: 8fa4006c */ lw $a0,0x6c($sp) -/* f041974: 27a60228 */ addiu $a2,$sp,0x228 -/* f041978: 93a70260 */ lbu $a3,0x260($sp) -/* f04197c: 0fc21504 */ jal objTakeGunfire -/* f041980: afaf0010 */ sw $t7,0x10($sp) -/* f041984: 10000023 */ b .PB0f041a14 -/* f041988: 93ad0260 */ lbu $t5,0x260($sp) -.PB0f04198c: -/* f04198c: 11600020 */ beqz $t3,.PB0f041a10 -/* f041990: 27a40244 */ addiu $a0,$sp,0x244 -/* f041994: 27a50234 */ addiu $a1,$sp,0x234 -/* f041998: 27a60228 */ addiu $a2,$sp,0x228 -/* f04199c: 0fc19815 */ jal func0f065e74 -/* f0419a0: 27a70214 */ addiu $a3,$sp,0x214 -/* f0419a4: 24180001 */ li $t8,0x1 -/* f0419a8: afb80210 */ sw $t8,0x210($sp) -/* f0419ac: 27a40260 */ addiu $a0,$sp,0x260 -/* f0419b0: 27a50228 */ addiu $a1,$sp,0x228 -/* f0419b4: 2406ffff */ li $a2,-1 -/* f0419b8: 0fc2a219 */ jal bgunPlayBgHitSound -/* f0419bc: 27a70214 */ addiu $a3,$sp,0x214 -/* f0419c0: 0fc4fe8e */ jal chrIsUsingPaintball -/* f0419c4: 8fa40278 */ lw $a0,0x278($sp) -/* f0419c8: 1040000b */ beqz $v0,.PB0f0419f8 -/* f0419cc: 87a40214 */ lh $a0,0x214($sp) -/* f0419d0: 240c0019 */ li $t4,0x19 -/* f0419d4: afac0014 */ sw $t4,0x14($sp) -/* f0419d8: 87a40214 */ lh $a0,0x214($sp) -/* f0419dc: 00002825 */ move $a1,$zero -/* f0419e0: 27a60228 */ addiu $a2,$sp,0x228 -/* f0419e4: 00003825 */ move $a3,$zero -/* f0419e8: 0fc4c3dd */ jal sparksCreate -/* f0419ec: afa00010 */ sw $zero,0x10($sp) -/* f0419f0: 10000008 */ b .PB0f041a14 -/* f0419f4: 93ad0260 */ lbu $t5,0x260($sp) -.PB0f0419f8: -/* f0419f8: 00002825 */ move $a1,$zero -/* f0419fc: 27a60228 */ addiu $a2,$sp,0x228 -/* f041a00: 00003825 */ move $a3,$zero -/* f041a04: afa00010 */ sw $zero,0x10($sp) -/* f041a08: 0fc4c3dd */ jal sparksCreate -/* f041a0c: afa00014 */ sw $zero,0x14($sp) -.PB0f041a10: -/* f041a10: 93ad0260 */ lbu $t5,0x260($sp) -.PB0f041a14: -/* f041a14: 24010007 */ li $at,0x7 -/* f041a18: 93ae0263 */ lbu $t6,0x263($sp) -/* f041a1c: 15a1001b */ bne $t5,$at,.PB0f041a8c -/* f041a20: 24010001 */ li $at,0x1 -/* f041a24: 15c10019 */ bne $t6,$at,.PB0f041a8c -/* f041a28: 8fb90278 */ lw $t9,0x278($sp) -/* f041a2c: 8f2a02d4 */ lw $t2,0x2d4($t9) -/* f041a30: 3c03800a */ lui $v1,0x800a -/* f041a34: 11400005 */ beqz $t2,.PB0f041a4c -/* f041a38: 00000000 */ nop -/* f041a3c: 0fc63af1 */ jal mpPlayerGetIndex -/* f041a40: 03202025 */ move $a0,$t9 -/* f041a44: 10000002 */ b .PB0f041a50 -/* f041a48: 00401825 */ move $v1,$v0 -.PB0f041a4c: -/* f041a4c: 8c63e75c */ lw $v1,-0x18a4($v1) -.PB0f041a50: -/* f041a50: 8faf0210 */ lw $t7,0x210($sp) -/* f041a54: 27a40244 */ addiu $a0,$sp,0x244 -/* f041a58: 27a50234 */ addiu $a1,$sp,0x234 -/* f041a5c: 15e00005 */ bnez $t7,.PB0f041a74 -/* f041a60: 27a60228 */ addiu $a2,$sp,0x228 -/* f041a64: 27a70214 */ addiu $a3,$sp,0x214 -/* f041a68: 0fc19815 */ jal func0f065e74 -/* f041a6c: afa30064 */ sw $v1,0x64($sp) -/* f041a70: 8fa30064 */ lw $v1,0x64($sp) -.PB0f041a74: -/* f041a74: 00002025 */ move $a0,$zero -/* f041a78: 27a50228 */ addiu $a1,$sp,0x228 -/* f041a7c: 27a60214 */ addiu $a2,$sp,0x214 -/* f041a80: 24070016 */ li $a3,0x16 -/* f041a84: 0fc4ab78 */ jal explosionCreateSimple -/* f041a88: afa30010 */ sw $v1,0x10($sp) -.PB0f041a8c: -/* f041a8c: 8fab01c0 */ lw $t3,0x1c0($sp) -.PB0f041a90: -/* f041a90: 8fa4025c */ lw $a0,0x25c($sp) -/* f041a94: 51600004 */ beqzl $t3,.PB0f041aa8 -/* f041a98: 8fa80268 */ lw $t0,0x268($sp) -/* f041a9c: 0fc190d6 */ jal propSetPerimEnabled -/* f041aa0: 00002825 */ move $a1,$zero -/* f041aa4: 8fa80268 */ lw $t0,0x268($sp) -.PB0f041aa8: -/* f041aa8: 8fac0250 */ lw $t4,0x250($sp) -/* f041aac: 93ad0260 */ lbu $t5,0x260($sp) -/* f041ab0: 0008c02b */ sltu $t8,$zero,$t0 -/* f041ab4: 1180000e */ beqz $t4,.PB0f041af0 -/* f041ab8: 03004025 */ move $t0,$t8 -/* f041abc: 25aefffe */ addiu $t6,$t5,-2 -/* f041ac0: 2dc1002a */ sltiu $at,$t6,0x2a -/* f041ac4: 10200009 */ beqz $at,.PB0f041aec -/* f041ac8: 000e7080 */ sll $t6,$t6,0x2 -/* f041acc: 3c017f1b */ lui $at,0x7f1b -/* f041ad0: 002e0821 */ addu $at,$at,$t6 -/* f041ad4: 8c2eadc4 */ lw $t6,-0x523c($at) -/* f041ad8: 01c00008 */ jr $t6 -/* f041adc: 00000000 */ nop -/* f041ae0: 240a0001 */ li $t2,0x1 -/* f041ae4: 10000002 */ b .PB0f041af0 -/* f041ae8: afaa0250 */ sw $t2,0x250($sp) -.PB0f041aec: -/* f041aec: afa00250 */ sw $zero,0x250($sp) -.PB0f041af0: -/* f041af0: 11000004 */ beqz $t0,.PB0f041b04 -/* f041af4: 01003825 */ move $a3,$t0 -/* f041af8: 8fa70250 */ lw $a3,0x250($sp) -/* f041afc: 0007c82b */ sltu $t9,$zero,$a3 -/* f041b00: 03203825 */ move $a3,$t9 -.PB0f041b04: -/* f041b04: 27af0244 */ addiu $t7,$sp,0x244 -/* f041b08: 27ab0228 */ addiu $t3,$sp,0x228 -/* f041b0c: afab0014 */ sw $t3,0x14($sp) -/* f041b10: afaf0010 */ sw $t7,0x10($sp) -/* f041b14: 8fa40278 */ lw $a0,0x278($sp) -/* f041b18: 8fa5027c */ lw $a1,0x27c($sp) -/* f041b1c: 8fa60268 */ lw $a2,0x268($sp) -/* f041b20: 0fc0f8eb */ jal chrCreateFireslot -/* f041b24: afa80054 */ sw $t0,0x54($sp) -/* f041b28: 93b8026f */ lbu $t8,0x26f($sp) -/* f041b2c: 8fa80054 */ lw $t0,0x54($sp) -/* f041b30: 8fa40278 */ lw $a0,0x278($sp) -/* f041b34: 13000015 */ beqz $t8,.PB0f041b8c -/* f041b38: 8fa5027c */ lw $a1,0x27c($sp) -/* f041b3c: 1100000a */ beqz $t0,.PB0f041b68 -/* f041b40: 01003025 */ move $a2,$t0 -/* f041b44: 8fac0278 */ lw $t4,0x278($sp) -/* f041b48: 8fae027c */ lw $t6,0x27c($sp) -/* f041b4c: 8d8d02d4 */ lw $t5,0x2d4($t4) -/* f041b50: 000e5080 */ sll $t2,$t6,0x2 -/* f041b54: 01aa1021 */ addu $v0,$t5,$t2 -/* f041b58: 8c430024 */ lw $v1,0x24($v0) -/* f041b5c: 18600002 */ blez $v1,.PB0f041b68 -/* f041b60: 2479ffff */ addiu $t9,$v1,-1 -/* f041b64: ac590024 */ sw $t9,0x24($v0) -.PB0f041b68: -/* f041b68: 11000004 */ beqz $t0,.PB0f041b7c -/* f041b6c: 8fa40278 */ lw $a0,0x278($sp) -/* f041b70: 93a6026e */ lbu $a2,0x26e($sp) -/* f041b74: 0006782b */ sltu $t7,$zero,$a2 -/* f041b78: 01e03025 */ move $a2,$t7 -.PB0f041b7c: -/* f041b7c: 0fc0fe56 */ jal chrSetFiring -/* f041b80: 8fa5027c */ lw $a1,0x27c($sp) -/* f041b84: 10000004 */ b .PB0f041b98 -/* f041b88: 8fbf0044 */ lw $ra,0x44($sp) -.PB0f041b8c: -/* f041b8c: 0fc0fe56 */ jal chrSetFiring -/* f041b90: 8fa60268 */ lw $a2,0x268($sp) -/* f041b94: 8fbf0044 */ lw $ra,0x44($sp) -.PB0f041b98: -/* f041b98: 27bd0278 */ addiu $sp,$sp,0x278 -/* f041b9c: 03e00008 */ jr $ra -/* f041ba0: 00000000 */ nop -); -#elif VERSION >= VERSION_NTSC_1_0 -GLOBAL_ASM( -glabel chrShoot -.late_rodata -glabel var7f1a90c8 -.word 0x3d638e39 -glabel var7f1a90cc -.word 0x481c4000 -glabel var7f1a90d0 -.word 0x3fd55555 -glabel var7f1a90d4 -.word 0x3fd55555 -glabel var7f1a90d8 -.word 0x3fd55555 -glabel var7f1a90dc -.word 0x461c4000 -glabel var7f1a90e0 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a90e4 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a90e8 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a90ec -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a90f0 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a90f4 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a90f8 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a90fc -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9100 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9104 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9108 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a910c -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9110 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9114 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9118 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a911c -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9120 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9124 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9128 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a912c -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9130 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9134 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9138 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a913c -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9140 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9144 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9148 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a914c -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9150 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9154 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9158 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a915c -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9160 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9164 -.word chrShoot+0x14e8 # f0419bc -glabel var7f1a9168 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a916c -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9170 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9174 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9178 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a917c -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9180 -.word chrShoot+0x14dc # f0419b0 -glabel var7f1a9184 -.word chrShoot+0x14dc # f0419b0 -.text -/* f0404d4: 27bdfd88 */ addiu $sp,$sp,-632 -/* f0404d8: afbf0044 */ sw $ra,0x44($sp) -/* f0404dc: afa5027c */ sw $a1,0x27c($sp) -/* f0404e0: 8c8e001c */ lw $t6,0x1c($a0) -/* f0404e4: 240f0001 */ addiu $t7,$zero,0x1 -/* f0404e8: a3af026e */ sb $t7,0x26e($sp) -/* f0404ec: afae0274 */ sw $t6,0x274($sp) -/* f0404f0: 8c9802d4 */ lw $t8,0x2d4($a0) -/* f0404f4: 00001025 */ or $v0,$zero,$zero -/* f0404f8: 8fa5027c */ lw $a1,0x27c($sp) -/* f0404fc: 53000003 */ beqzl $t8,.L0f04050c -/* f040500: a3a2026f */ sb $v0,0x26f($sp) -/* f040504: 24020001 */ addiu $v0,$zero,0x1 -/* f040508: a3a2026f */ sb $v0,0x26f($sp) -.L0f04050c: -/* f04050c: 0fc0a209 */ jal chrGetHeldProp -/* f040510: afa40278 */ sw $a0,0x278($sp) -/* f040514: 50400554 */ beqzl $v0,.L0f041a68 -/* f040518: 8fbf0044 */ lw $ra,0x44($sp) -/* f04051c: afa00268 */ sw $zero,0x268($sp) -/* f040520: 8c590004 */ lw $t9,0x4($v0) -/* f040524: 8fa40278 */ lw $a0,0x278($sp) -/* f040528: 0fc0a221 */ jal chrGetTargetProp -/* f04052c: afb90264 */ sw $t9,0x264($sp) -/* f040530: 8fab0264 */ lw $t3,0x264($sp) -/* f040534: afa2025c */ sw $v0,0x25c($sp) -/* f040538: 8fa70278 */ lw $a3,0x278($sp) -/* f04053c: 8961005c */ lwl $at,0x5c($t3) -/* f040540: 9961005f */ lwr $at,0x5f($t3) -/* f040544: 27aa0260 */ addiu $t2,$sp,0x260 -/* f040548: 24080200 */ addiu $t0,$zero,0x200 -/* f04054c: ad410000 */ sw $at,0x0($t2) -/* f040550: 80e30007 */ lb $v1,0x7($a3) -/* f040554: 24010008 */ addiu $at,$zero,0x8 -/* f040558: 10610007 */ beq $v1,$at,.L0f040578 -/* f04055c: 2401001b */ addiu $at,$zero,0x1b -/* f040560: 10610005 */ beq $v1,$at,.L0f040578 -/* f040564: 2401001c */ addiu $at,$zero,0x1c -/* f040568: 10610003 */ beq $v1,$at,.L0f040578 -/* f04056c: 2401001d */ addiu $at,$zero,0x1d -/* f040570: 54610003 */ bnel $v1,$at,.L0f040580 -/* f040574: afa00250 */ sw $zero,0x250($sp) -.L0f040578: -/* f040578: 8ce8004c */ lw $t0,0x4c($a3) -/* f04057c: afa00250 */ sw $zero,0x250($sp) -.L0f040580: -/* f040580: afa00224 */ sw $zero,0x224($sp) -/* f040584: afa00210 */ sw $zero,0x210($sp) -/* f040588: 93a40260 */ lbu $a0,0x260($sp) -/* f04058c: 93a50263 */ lbu $a1,0x263($sp) -/* f040590: afa00254 */ sw $zero,0x254($sp) -/* f040594: 0fc2c7ba */ jal weaponGetNumTicksPerShot -/* f040598: afa80258 */ sw $t0,0x258($sp) -/* f04059c: 8fa60254 */ lw $a2,0x254($sp) -/* f0405a0: 1c400005 */ bgtz $v0,.L0f0405b8 -/* f0405a4: 00402025 */ or $a0,$v0,$zero -/* f0405a8: 240f0001 */ addiu $t7,$zero,0x1 -/* f0405ac: 24060001 */ addiu $a2,$zero,0x1 -/* f0405b0: 10000055 */ b .L0f040708 -/* f0405b4: afaf0250 */ sw $t7,0x250($sp) -.L0f0405b8: -/* f0405b8: 8fb80278 */ lw $t8,0x278($sp) -/* f0405bc: 8f0302d4 */ lw $v1,0x2d4($t8) -/* f0405c0: 5060001d */ beqzl $v1,.L0f040638 -/* f0405c4: 8faa0278 */ lw $t2,0x278($sp) -/* f0405c8: 8c790020 */ lw $t9,0x20($v1) -/* f0405cc: 24010014 */ addiu $at,$zero,0x14 -/* f0405d0: 57210019 */ bnel $t9,$at,.L0f040638 -/* f0405d4: 8faa0278 */ lw $t2,0x278($sp) -/* f0405d8: 8c6d004c */ lw $t5,0x4c($v1) -/* f0405dc: 8fab027c */ lw $t3,0x27c($sp) -/* f0405e0: 000d5080 */ sll $t2,$t5,0x2 -/* f0405e4: 05400013 */ bltz $t2,.L0f040634 -/* f0405e8: 000b7040 */ sll $t6,$t3,0x1 -/* f0405ec: 006e7821 */ addu $t7,$v1,$t6 -/* f0405f0: 85f800e0 */ lh $t8,0xe0($t7) -/* f0405f4: 2419005a */ addiu $t9,$zero,0x5a -/* f0405f8: 3c017f1b */ lui $at,%hi(var7f1a90c8) -/* f0405fc: 03386823 */ subu $t5,$t9,$t8 -/* f040600: 448d2000 */ mtc1 $t5,$f4 -/* f040604: c42890c8 */ lwc1 $f8,%lo(var7f1a90c8)($at) -/* f040608: 44825000 */ mtc1 $v0,$f10 -/* f04060c: 468021a0 */ cvt.s.w $f6,$f4 -/* f040610: 3c013f80 */ lui $at,0x3f80 -/* f040614: 44819000 */ mtc1 $at,$f18 -/* f040618: 46805420 */ cvt.s.w $f16,$f10 -/* f04061c: 46083002 */ mul.s $f0,$f6,$f8 -/* f040620: 46009100 */ add.s $f4,$f18,$f0 -/* f040624: 46048182 */ mul.s $f6,$f16,$f4 -/* f040628: 4600320d */ trunc.w.s $f8,$f6 -/* f04062c: 44044000 */ mfc1 $a0,$f8 -/* f040630: 00000000 */ nop -.L0f040634: -/* f040634: 8faa0278 */ lw $t2,0x278($sp) -.L0f040638: -/* f040638: 8fab027c */ lw $t3,0x27c($sp) -/* f04063c: 3c0f800a */ lui $t7,%hi(g_Vars+0x38) -/* f040640: 8def9ff8 */ lw $t7,%lo(g_Vars+0x38)($t7) -/* f040644: 014b1821 */ addu $v1,$t2,$t3 -/* f040648: 906e0004 */ lbu $t6,0x4($v1) -/* f04064c: 01cfc821 */ addu $t9,$t6,$t7 -/* f040650: 333800ff */ andi $t8,$t9,0xff -/* f040654: 0304082a */ slt $at,$t8,$a0 -/* f040658: 1420002b */ bnez $at,.L0f040708 -/* f04065c: a0790004 */ sb $t9,0x4($v1) -/* f040660: a0600004 */ sb $zero,0x4($v1) -/* f040664: 8faa0278 */ lw $t2,0x278($sp) -/* f040668: 8fad027c */ lw $t5,0x27c($sp) -/* f04066c: 240c0001 */ addiu $t4,$zero,0x1 -/* f040670: 8d4b032c */ lw $t3,0x32c($t2) -/* f040674: 01ac1004 */ sllv $v0,$t4,$t5 -/* f040678: 24060001 */ addiu $a2,$zero,0x1 -/* f04067c: 000b7300 */ sll $t6,$t3,0xc -/* f040680: 914b032d */ lbu $t3,0x32d($t2) -/* f040684: 000e7f82 */ srl $t7,$t6,0x1e -/* f040688: 01e2c026 */ xor $t8,$t7,$v0 -/* f04068c: 00186080 */ sll $t4,$t8,0x2 -/* f040690: 318d000c */ andi $t5,$t4,0xc -/* f040694: 316efff3 */ andi $t6,$t3,0xfff3 -/* f040698: 01ae7825 */ or $t7,$t5,$t6 -/* f04069c: a14f032d */ sb $t7,0x32d($t2) -/* f0406a0: 8d59032c */ lw $t9,0x32c($t2) -/* f0406a4: 93ad0260 */ lbu $t5,0x260($sp) -/* f0406a8: 2401001d */ addiu $at,$zero,0x1d -/* f0406ac: 0019c300 */ sll $t8,$t9,0xc -/* f0406b0: 00186782 */ srl $t4,$t8,0x1e -/* f0406b4: 01825824 */ and $t3,$t4,$v0 -/* f0406b8: 15600003 */ bnez $t3,.L0f0406c8 -/* f0406bc: 240e0001 */ addiu $t6,$zero,0x1 -/* f0406c0: 55a10003 */ bnel $t5,$at,.L0f0406d0 -/* f0406c4: 8faf0278 */ lw $t7,0x278($sp) -.L0f0406c8: -/* f0406c8: afae0250 */ sw $t6,0x250($sp) -/* f0406cc: 8faf0278 */ lw $t7,0x278($sp) -.L0f0406d0: -/* f0406d0: 24010008 */ addiu $at,$zero,0x8 -/* f0406d4: 81ea0007 */ lb $t2,0x7($t7) -/* f0406d8: 1541000b */ bne $t2,$at,.L0f040708 -/* f0406dc: 00000000 */ nop -/* f0406e0: 8de40020 */ lw $a0,0x20($t7) -/* f0406e4: 0c00744f */ jal modelGetAnimNum -/* f0406e8: afa60254 */ sw $a2,0x254($sp) -/* f0406ec: 2401026a */ addiu $at,$zero,0x26a -/* f0406f0: 14410005 */ bne $v0,$at,.L0f040708 -/* f0406f4: 8fa60254 */ lw $a2,0x254($sp) -/* f0406f8: 8fb90278 */ lw $t9,0x278($sp) -/* f0406fc: 83380033 */ lb $t8,0x33($t9) -/* f040700: 270c0001 */ addiu $t4,$t8,0x1 -/* f040704: a32c0033 */ sb $t4,0x33($t9) -.L0f040708: -/* f040708: 50c0049b */ beqzl $a2,.L0f041978 -/* f04070c: 8fa80268 */ lw $t0,0x268($sp) -/* f040710: 0fc0f97c */ jal chrGetAimAngle -/* f040714: 8fa40278 */ lw $a0,0x278($sp) -/* f040718: e7a00204 */ swc1 $f0,0x204($sp) -/* f04071c: 0fc0f9d5 */ jal func0f03e754 -/* f040720: 8fa40278 */ lw $a0,0x278($sp) -/* f040724: 93ab026f */ lbu $t3,0x26f($sp) -/* f040728: e7a00200 */ swc1 $f0,0x200($sp) -/* f04072c: 240e0001 */ addiu $t6,$zero,0x1 -/* f040730: 11600004 */ beqz $t3,.L0f040744 -/* f040734: 27a60244 */ addiu $a2,$sp,0x244 -/* f040738: 240d0004 */ addiu $t5,$zero,0x4 -/* f04073c: 10000002 */ b .L0f040748 -/* f040740: afad01fc */ sw $t5,0x1fc($sp) -.L0f040744: -/* f040744: afa001fc */ sw $zero,0x1fc($sp) -.L0f040748: -/* f040748: afae0268 */ sw $t6,0x268($sp) -/* f04074c: 8fa40278 */ lw $a0,0x278($sp) -/* f040750: 0fc0ff79 */ jal chrGetGunPos -/* f040754: 8fa5027c */ lw $a1,0x27c($sp) -/* f040758: 54400032 */ bnezl $v0,.L0f040824 -/* f04075c: 8fa40278 */ lw $a0,0x278($sp) -/* f040760: 8fa20274 */ lw $v0,0x274($sp) -/* f040764: 3c0141f0 */ lui $at,0x41f0 -/* f040768: 44818000 */ mtc1 $at,$f16 -/* f04076c: c44a0008 */ lwc1 $f10,0x8($v0) -/* f040770: 8faa027c */ lw $t2,0x27c($sp) -/* f040774: 24010001 */ addiu $at,$zero,0x1 -/* f040778: e7aa0244 */ swc1 $f10,0x244($sp) -/* f04077c: c452000c */ lwc1 $f18,0xc($v0) -/* f040780: 46109100 */ add.s $f4,$f18,$f16 -/* f040784: e7a40248 */ swc1 $f4,0x248($sp) -/* f040788: c4460010 */ lwc1 $f6,0x10($v0) -/* f04078c: 15410013 */ bne $t2,$at,.L0f0407dc -/* f040790: e7a6024c */ swc1 $f6,0x24c($sp) -/* f040794: 0c0068f4 */ jal cosf -/* f040798: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f04079c: 3c014120 */ lui $at,0x4120 -/* f0407a0: 44815000 */ mtc1 $at,$f10 -/* f0407a4: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0407a8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407ac: 460a0482 */ mul.s $f18,$f0,$f10 -/* f0407b0: 46124400 */ add.s $f16,$f8,$f18 -/* f0407b4: 0c0068f7 */ jal sinf -/* f0407b8: e7b00244 */ swc1 $f16,0x244($sp) -/* f0407bc: 3c014120 */ lui $at,0x4120 -/* f0407c0: 44813000 */ mtc1 $at,$f6 -/* f0407c4: 46000107 */ neg.s $f4,$f0 -/* f0407c8: c7a8024c */ lwc1 $f8,0x24c($sp) -/* f0407cc: 46062282 */ mul.s $f10,$f4,$f6 -/* f0407d0: 460a4480 */ add.s $f18,$f8,$f10 -/* f0407d4: 10000012 */ b .L0f040820 -/* f0407d8: e7b2024c */ swc1 $f18,0x24c($sp) -.L0f0407dc: -/* f0407dc: 0c0068f4 */ jal cosf -/* f0407e0: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407e4: 3c014120 */ lui $at,0x4120 -/* f0407e8: 44812000 */ mtc1 $at,$f4 -/* f0407ec: 46000407 */ neg.s $f16,$f0 -/* f0407f0: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0407f4: 46048182 */ mul.s $f6,$f16,$f4 -/* f0407f8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407fc: 46064280 */ add.s $f10,$f8,$f6 -/* f040800: 0c0068f7 */ jal sinf -/* f040804: e7aa0244 */ swc1 $f10,0x244($sp) -/* f040808: 3c014120 */ lui $at,0x4120 -/* f04080c: 44818000 */ mtc1 $at,$f16 -/* f040810: c7b2024c */ lwc1 $f18,0x24c($sp) -/* f040814: 46100102 */ mul.s $f4,$f0,$f16 -/* f040818: 46049200 */ add.s $f8,$f18,$f4 -/* f04081c: e7a8024c */ swc1 $f8,0x24c($sp) -.L0f040820: -/* f040820: 8fa40278 */ lw $a0,0x278($sp) -.L0f040824: -/* f040824: 0fc079ef */ jal chrSetPerimEnabled -/* f040828: 00002825 */ or $a1,$zero,$zero -/* f04082c: 8fb801fc */ lw $t8,0x1fc($sp) -/* f040830: 8faf0274 */ lw $t7,0x274($sp) -/* f040834: 24190010 */ addiu $t9,$zero,0x10 -/* f040838: 370c082a */ ori $t4,$t8,0x82a -/* f04083c: afac0010 */ sw $t4,0x10($sp) -/* f040840: afb90014 */ sw $t9,0x14($sp) -/* f040844: 27a60244 */ addiu $a2,$sp,0x244 -/* f040848: 27a70234 */ addiu $a3,$sp,0x234 -/* f04084c: 25e40008 */ addiu $a0,$t7,0x8 -/* f040850: 0c00b78d */ jal cd0002de34 -/* f040854: 25e50028 */ addiu $a1,$t7,0x28 -/* f040858: 14400002 */ bnez $v0,.L0f040864 -/* f04085c: 24050001 */ addiu $a1,$zero,0x1 -/* f040860: afa00268 */ sw $zero,0x268($sp) -.L0f040864: -/* f040864: 0fc079ef */ jal chrSetPerimEnabled -/* f040868: 8fa40278 */ lw $a0,0x278($sp) -/* f04086c: 8fab0268 */ lw $t3,0x268($sp) -/* f040870: 240d0001 */ addiu $t5,$zero,0x1 -/* f040874: 51600440 */ beqzl $t3,.L0f041978 -/* f040878: 8fa80268 */ lw $t0,0x268($sp) -/* f04087c: 93ae026f */ lbu $t6,0x26f($sp) -/* f040880: afa001f8 */ sw $zero,0x1f8($sp) -/* f040884: afa001f4 */ sw $zero,0x1f4($sp) -/* f040888: afad01f0 */ sw $t5,0x1f0($sp) -/* f04088c: 11c00004 */ beqz $t6,.L0f0408a0 -/* f040890: afa001cc */ sw $zero,0x1cc($sp) -/* f040894: 240a083f */ addiu $t2,$zero,0x83f -/* f040898: 10000003 */ b .L0f0408a8 -/* f04089c: afaa01c8 */ sw $t2,0x1c8($sp) -.L0f0408a0: -/* f0408a0: 240f083b */ addiu $t7,$zero,0x83b -/* f0408a4: afaf01c8 */ sw $t7,0x1c8($sp) -.L0f0408a8: -/* f0408a8: 8fa7025c */ lw $a3,0x25c($sp) -/* f0408ac: 8ce20004 */ lw $v0,0x4($a3) -/* f0408b0: 50400004 */ beqzl $v0,.L0f0408c4 -/* f0408b4: 00004825 */ or $t1,$zero,$zero -/* f0408b8: 10000002 */ b .L0f0408c4 -/* f0408bc: 904902fe */ lbu $t1,0x2fe($v0) -/* f0408c0: 00004825 */ or $t1,$zero,$zero -.L0f0408c4: -/* f0408c4: 39220003 */ xori $v0,$t1,0x3 -/* f0408c8: 2c420001 */ sltiu $v0,$v0,0x1 -/* f0408cc: 1040000f */ beqz $v0,.L0f04090c -/* f0408d0: 00401825 */ or $v1,$v0,$zero -/* f0408d4: afa2005c */ sw $v0,0x5c($sp) -/* f0408d8: 0fc12472 */ jal chrGetDistanceToTarget -/* f0408dc: 8fa40278 */ lw $a0,0x278($sp) -/* f0408e0: 3c014316 */ lui $at,0x4316 -/* f0408e4: 44813000 */ mtc1 $at,$f6 -/* f0408e8: 0000c025 */ or $t8,$zero,$zero -/* f0408ec: 4600303c */ c.lt.s $f6,$f0 -/* f0408f0: 00000000 */ nop -/* f0408f4: 45020003 */ bc1fl .L0f040904 -/* f0408f8: afb8005c */ sw $t8,0x5c($sp) -/* f0408fc: 24180001 */ addiu $t8,$zero,0x1 -/* f040900: afb8005c */ sw $t8,0x5c($sp) -.L0f040904: -/* f040904: 8fa7025c */ lw $a3,0x25c($sp) -/* f040908: 03001825 */ or $v1,$t8,$zero -.L0f04090c: -/* f04090c: afa301c0 */ sw $v1,0x1c0($sp) -/* f040910: 10600016 */ beqz $v1,.L0f04096c -/* f040914: afa001bc */ sw $zero,0x1bc($sp) -/* f040918: c4ea0008 */ lwc1 $f10,0x8($a3) -/* f04091c: c7b00244 */ lwc1 $f16,0x244($sp) -/* f040920: c7a80248 */ lwc1 $f8,0x248($sp) -/* f040924: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040928: 46105481 */ sub.s $f18,$f10,$f16 -/* f04092c: c7b0024c */ lwc1 $f16,0x24c($sp) -/* f040930: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040934: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040938: e7b201e0 */ swc1 $f18,0x1e0($sp) -/* f04093c: c4e4000c */ lwc1 $f4,0xc($a3) -/* f040940: 46082181 */ sub.s $f6,$f4,$f8 -/* f040944: e7a601e4 */ swc1 $f6,0x1e4($sp) -/* f040948: c4ea0010 */ lwc1 $f10,0x10($a3) -/* f04094c: 46105481 */ sub.s $f18,$f10,$f16 -/* f040950: 0c0011e4 */ jal guNormalize -/* f040954: e7b201e8 */ swc1 $f18,0x1e8($sp) -/* f040958: 8fa4025c */ lw $a0,0x25c($sp) -/* f04095c: 0fc1905e */ jal propSetPerimEnabled -/* f040960: 24050001 */ addiu $a1,$zero,0x1 -/* f040964: 1000002f */ b .L0f040a24 -/* f040968: 8fab0278 */ lw $t3,0x278($sp) -.L0f04096c: -/* f04096c: 0c0068f4 */ jal cosf -/* f040970: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040974: e7a00060 */ swc1 $f0,0x60($sp) -/* f040978: 0c0068f7 */ jal sinf -/* f04097c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040980: c7a40060 */ lwc1 $f4,0x60($sp) -/* f040984: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040988: 46040202 */ mul.s $f8,$f0,$f4 -/* f04098c: 0c0068f7 */ jal sinf -/* f040990: e7a801e0 */ swc1 $f8,0x1e0($sp) -/* f040994: e7a001e4 */ swc1 $f0,0x1e4($sp) -/* f040998: 0c0068f4 */ jal cosf -/* f04099c: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f0409a0: e7a00060 */ swc1 $f0,0x60($sp) -/* f0409a4: 0c0068f4 */ jal cosf -/* f0409a8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0409ac: c7a60060 */ lwc1 $f6,0x60($sp) -/* f0409b0: 93ac026f */ lbu $t4,0x26f($sp) -/* f0409b4: 46060282 */ mul.s $f10,$f0,$f6 -/* f0409b8: 11800019 */ beqz $t4,.L0f040a20 -/* f0409bc: e7aa01e8 */ swc1 $f10,0x1e8($sp) -/* f0409c0: 0fc644fe */ jal botGuessCrouchPos -/* f0409c4: 8fa40278 */ lw $a0,0x278($sp) -/* f0409c8: 8fb90278 */ lw $t9,0x278($sp) -/* f0409cc: 00404825 */ or $t1,$v0,$zero -/* f0409d0: 8fae0278 */ lw $t6,0x278($sp) -/* f0409d4: 8f280170 */ lw $t0,0x170($t9) -/* f0409d8: 0008582b */ sltu $t3,$zero,$t0 -/* f0409dc: 11600004 */ beqz $t3,.L0f0409f0 -/* f0409e0: 01604025 */ or $t0,$t3,$zero -/* f0409e4: 8f280174 */ lw $t0,0x174($t9) -/* f0409e8: 0008682b */ sltu $t5,$zero,$t0 -/* f0409ec: 01a04025 */ or $t0,$t5,$zero -.L0f0409f0: -/* f0409f0: 8dc302d4 */ lw $v1,0x2d4($t6) -/* f0409f4: 8fb8027c */ lw $t8,0x27c($sp) -/* f0409f8: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f0409fc: 8c66004c */ lw $a2,0x4c($v1) -/* f040a00: 00786021 */ addu $t4,$v1,$t8 -/* f040a04: 9187004d */ lbu $a3,0x4d($t4) -/* f040a08: 8c650020 */ lw $a1,0x20($v1) -/* f040a0c: 00065080 */ sll $t2,$a2,0x2 -/* f040a10: 000a37c2 */ srl $a2,$t2,0x1f -/* f040a14: afa80014 */ sw $t0,0x14($sp) -/* f040a18: 0fc283eb */ jal bgunCalculateBotShotSpread -/* f040a1c: afa90010 */ sw $t1,0x10($sp) -.L0f040a20: -/* f040a20: 8fab0278 */ lw $t3,0x278($sp) -.L0f040a24: -/* f040a24: 93b90260 */ lbu $t9,0x260($sp) -/* f040a28: 24010016 */ addiu $at,$zero,0x16 -/* f040a2c: 8d6302d4 */ lw $v1,0x2d4($t3) -/* f040a30: 50600018 */ beqzl $v1,.L0f040a94 -/* f040a34: 3c014780 */ lui $at,0x4780 -/* f040a38: 57210016 */ bnel $t9,$at,.L0f040a94 -/* f040a3c: 3c014780 */ lui $at,0x4780 -/* f040a40: 8c6d0128 */ lw $t5,0x128($v1) -/* f040a44: 240e0001 */ addiu $t6,$zero,0x1 -/* f040a48: 01602025 */ or $a0,$t3,$zero -/* f040a4c: 15a00010 */ bnez $t5,.L0f040a90 -/* f040a50: 00002825 */ or $a1,$zero,$zero -/* f040a54: afae0250 */ sw $t6,0x250($sp) -/* f040a58: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040a5c: 0fc667e1 */ jal botactShootFarsight -/* f040a60: 27a70244 */ addiu $a3,$sp,0x244 -/* f040a64: 24010002 */ addiu $at,$zero,0x2 -/* f040a68: 5441000a */ bnel $v0,$at,.L0f040a94 -/* f040a6c: 3c014780 */ lui $at,0x4780 -/* f040a70: 0c004b70 */ jal random -/* f040a74: 00000000 */ nop -/* f040a78: 240100ff */ addiu $at,$zero,0xff -/* f040a7c: 0041001b */ divu $zero,$v0,$at -/* f040a80: 00005010 */ mfhi $t2 -/* f040a84: 2d4f00c9 */ sltiu $t7,$t2,0xc9 -/* f040a88: 39ef0001 */ xori $t7,$t7,0x1 -/* f040a8c: a3af026e */ sb $t7,0x26e($sp) -.L0f040a90: -/* f040a90: 3c014780 */ lui $at,0x4780 -.L0f040a94: -/* f040a94: 44810000 */ mtc1 $at,$f0 -/* f040a98: c7b001e0 */ lwc1 $f16,0x1e0($sp) -/* f040a9c: c7a40244 */ lwc1 $f4,0x244($sp) -/* f040aa0: c7a601e4 */ lwc1 $f6,0x1e4($sp) -/* f040aa4: 46008482 */ mul.s $f18,$f16,$f0 -/* f040aa8: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040aac: 8fa40278 */ lw $a0,0x278($sp) -/* f040ab0: 46003282 */ mul.s $f10,$f6,$f0 -/* f040ab4: c7a6024c */ lwc1 $f6,0x24c($sp) -/* f040ab8: 00002825 */ or $a1,$zero,$zero -/* f040abc: 46049200 */ add.s $f8,$f18,$f4 -/* f040ac0: c7a401e8 */ lwc1 $f4,0x1e8($sp) -/* f040ac4: 46105480 */ add.s $f18,$f10,$f16 -/* f040ac8: e7a80228 */ swc1 $f8,0x228($sp) -/* f040acc: 46002202 */ mul.s $f8,$f4,$f0 -/* f040ad0: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040ad4: 46064280 */ add.s $f10,$f8,$f6 -/* f040ad8: 0fc079ef */ jal chrSetPerimEnabled -/* f040adc: e7aa0230 */ swc1 $f10,0x230($sp) -/* f040ae0: 93b8026f */ lbu $t8,0x26f($sp) -/* f040ae4: 27a40244 */ addiu $a0,$sp,0x244 -/* f040ae8: 27a50234 */ addiu $a1,$sp,0x234 -/* f040aec: 13000004 */ beqz $t8,.L0f040b00 -/* f040af0: 27a60228 */ addiu $a2,$sp,0x228 -/* f040af4: 240c0001 */ addiu $t4,$zero,0x1 -/* f040af8: 3c01800a */ lui $at,%hi(g_Vars+0x48c) -/* f040afc: ac2ca44c */ sw $t4,%lo(g_Vars+0x48c)($at) -.L0f040b00: -/* f040b00: 24190010 */ addiu $t9,$zero,0x10 -/* f040b04: afb90010 */ sw $t9,0x10($sp) -/* f040b08: 0c00b764 */ jal cdTestAToB4 -/* f040b0c: 8fa701c8 */ lw $a3,0x1c8($sp) -/* f040b10: 1440000a */ bnez $v0,.L0f040b3c -/* f040b14: 240d0001 */ addiu $t5,$zero,0x1 -/* f040b18: 3c067f1b */ lui $a2,%hi(var7f1a8af4) -/* f040b1c: afad0224 */ sw $t5,0x224($sp) -/* f040b20: 24c68af4 */ addiu $a2,$a2,%lo(var7f1a8af4) -/* f040b24: 27a40228 */ addiu $a0,$sp,0x228 -/* f040b28: 0c0093af */ jal cdGetPos -/* f040b2c: 24052f28 */ addiu $a1,$zero,0x2f28 -/* f040b30: 0c0093ac */ jal cdGetObstacle -/* f040b34: 00000000 */ nop -/* f040b38: afa201cc */ sw $v0,0x1cc($sp) -.L0f040b3c: -/* f040b3c: 8fa40278 */ lw $a0,0x278($sp) -/* f040b40: 0fc079ef */ jal chrSetPerimEnabled -/* f040b44: 24050001 */ addiu $a1,$zero,0x1 -/* f040b48: 93ae026f */ lbu $t6,0x26f($sp) -/* f040b4c: 3c01800a */ lui $at,%hi(g_Vars+0x48c) -/* f040b50: 51c00003 */ beqzl $t6,.L0f040b60 -/* f040b54: 8fab01cc */ lw $t3,0x1cc($sp) -/* f040b58: ac20a44c */ sw $zero,%lo(g_Vars+0x48c)($at) -/* f040b5c: 8fab01cc */ lw $t3,0x1cc($sp) -.L0f040b60: -/* f040b60: 8faa01c0 */ lw $t2,0x1c0($sp) -/* f040b64: 55600015 */ bnezl $t3,.L0f040bbc -/* f040b68: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040b6c: 51400013 */ beqzl $t2,.L0f040bbc -/* f040b70: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040b74: 0c004b70 */ jal random -/* f040b78: 00000000 */ nop -/* f040b7c: 24010064 */ addiu $at,$zero,0x64 -/* f040b80: 0041001b */ divu $zero,$v0,$at -/* f040b84: 00001810 */ mfhi $v1 -/* f040b88: 2c6f0033 */ sltiu $t7,$v1,0x33 -/* f040b8c: 39ef0001 */ xori $t7,$t7,0x1 -/* f040b90: 11e00009 */ beqz $t7,.L0f040bb8 -/* f040b94: afaf01bc */ sw $t7,0x1bc($sp) -/* f040b98: 8fb8025c */ lw $t8,0x25c($sp) -/* f040b9c: afb801cc */ sw $t8,0x1cc($sp) -/* f040ba0: c7100008 */ lwc1 $f16,0x8($t8) -/* f040ba4: e7b00228 */ swc1 $f16,0x228($sp) -/* f040ba8: c712000c */ lwc1 $f18,0xc($t8) -/* f040bac: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040bb0: c7040010 */ lwc1 $f4,0x10($t8) -/* f040bb4: e7a40230 */ swc1 $f4,0x230($sp) -.L0f040bb8: -/* f040bb8: c7a80228 */ lwc1 $f8,0x228($sp) -.L0f040bbc: -/* f040bbc: c7a60244 */ lwc1 $f6,0x244($sp) -/* f040bc0: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f040bc4: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040bc8: 46064001 */ sub.s $f0,$f8,$f6 -/* f040bcc: c7b20230 */ lwc1 $f18,0x230($sp) -/* f040bd0: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f040bd4: 46105081 */ sub.s $f2,$f10,$f16 -/* f040bd8: 46000202 */ mul.s $f8,$f0,$f0 -/* f040bdc: 93a40260 */ lbu $a0,0x260($sp) -/* f040be0: 46049301 */ sub.s $f12,$f18,$f4 -/* f040be4: 46021182 */ mul.s $f6,$f2,$f2 -/* f040be8: 24010018 */ addiu $at,$zero,0x18 -/* f040bec: 460c6402 */ mul.s $f16,$f12,$f12 -/* f040bf0: 46064280 */ add.s $f10,$f8,$f6 -/* f040bf4: 46105480 */ add.s $f18,$f10,$f16 -/* f040bf8: 1081000f */ beq $a0,$at,.L0f040c38 -/* f040bfc: e7b201d0 */ swc1 $f18,0x1d0($sp) -/* f040c00: 24010019 */ addiu $at,$zero,0x19 -/* f040c04: 1081000c */ beq $a0,$at,.L0f040c38 -/* f040c08: 24010012 */ addiu $at,$zero,0x12 -/* f040c0c: 14810003 */ bne $a0,$at,.L0f040c1c -/* f040c10: 93ac0263 */ lbu $t4,0x263($sp) -/* f040c14: 24010001 */ addiu $at,$zero,0x1 -/* f040c18: 11810007 */ beq $t4,$at,.L0f040c38 -.L0f040c1c: -/* f040c1c: 24010017 */ addiu $at,$zero,0x17 -/* f040c20: 10810005 */ beq $a0,$at,.L0f040c38 -/* f040c24: 2401001b */ addiu $at,$zero,0x1b -/* f040c28: 10810003 */ beq $a0,$at,.L0f040c38 -/* f040c2c: 24010034 */ addiu $at,$zero,0x34 -/* f040c30: 54810171 */ bnel $a0,$at,.L0f0411f8 -/* f040c34: 24010006 */ addiu $at,$zero,0x6 -.L0f040c38: -/* f040c38: 93b9026f */ lbu $t9,0x26f($sp) -/* f040c3c: afa00250 */ sw $zero,0x250($sp) -/* f040c40: 3c017f1b */ lui $at,%hi(var7f1a90cc) -/* f040c44: 17200006 */ bnez $t9,.L0f040c60 -/* f040c48: c7a801d0 */ lwc1 $f8,0x1d0($sp) -/* f040c4c: c42490cc */ lwc1 $f4,%lo(var7f1a90cc)($at) -/* f040c50: 4608203c */ c.lt.s $f4,$f8 -/* f040c54: 00000000 */ nop -/* f040c58: 45020164 */ bc1fl .L0f0411ec -/* f040c5c: afa00268 */ sw $zero,0x268($sp) -.L0f040c60: -/* f040c60: 0fc2c3f4 */ jal weaponFindById -/* f040c64: 00000000 */ nop -/* f040c68: 93ad0263 */ lbu $t5,0x263($sp) -/* f040c6c: 93a40260 */ lbu $a0,0x260($sp) -/* f040c70: 24010018 */ addiu $at,$zero,0x18 -/* f040c74: 000d7080 */ sll $t6,$t5,0x2 -/* f040c78: 004e5821 */ addu $t3,$v0,$t6 -/* f040c7c: 10810006 */ beq $a0,$at,.L0f040c98 -/* f040c80: 8d630014 */ lw $v1,0x14($t3) -/* f040c84: 24010034 */ addiu $at,$zero,0x34 -/* f040c88: 10810003 */ beq $a0,$at,.L0f040c98 -/* f040c8c: 24010019 */ addiu $at,$zero,0x19 -/* f040c90: 5481000e */ bnel $a0,$at,.L0f040ccc -/* f040c94: 2401001b */ addiu $at,$zero,0x1b -.L0f040c98: -/* f040c98: 8c6a0010 */ lw $t2,0x10($v1) -/* f040c9c: 24050053 */ addiu $a1,$zero,0x53 -/* f040ca0: 8fa60278 */ lw $a2,0x278($sp) -/* f040ca4: 000a7840 */ sll $t7,$t2,0x1 -/* f040ca8: 05e30003 */ bgezl $t7,.L0f040cb8 -/* f040cac: 8c640040 */ lw $a0,0x40($v1) -/* f040cb0: 24050054 */ addiu $a1,$zero,0x54 -/* f040cb4: 8c640040 */ lw $a0,0x40($v1) -.L0f040cb8: -/* f040cb8: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040cbc: afa300d4 */ sw $v1,0xd4($sp) -/* f040cc0: 1000002e */ b .L0f040d7c -/* f040cc4: afa201b8 */ sw $v0,0x1b8($sp) -/* f040cc8: 2401001b */ addiu $at,$zero,0x1b -.L0f040ccc: -/* f040ccc: 1481000a */ bne $a0,$at,.L0f040cf8 -/* f040cd0: 24050056 */ addiu $a1,$zero,0x56 -/* f040cd4: 8c640040 */ lw $a0,0x40($v1) -/* f040cd8: afa300d4 */ sw $v1,0xd4($sp) -/* f040cdc: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040ce0: 8fa60278 */ lw $a2,0x278($sp) -/* f040ce4: 10400025 */ beqz $v0,.L0f040d7c -/* f040ce8: afa201b8 */ sw $v0,0x1b8($sp) -/* f040cec: 93b80263 */ lbu $t8,0x263($sp) -/* f040cf0: 10000022 */ b .L0f040d7c -/* f040cf4: a058005f */ sb $t8,0x5f($v0) -.L0f040cf8: -/* f040cf8: 24010017 */ addiu $at,$zero,0x17 -/* f040cfc: 1481000a */ bne $a0,$at,.L0f040d28 -/* f040d00: 24050055 */ addiu $a1,$zero,0x55 -/* f040d04: 8c640040 */ lw $a0,0x40($v1) -/* f040d08: afa300d4 */ sw $v1,0xd4($sp) -/* f040d0c: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040d10: 8fa60278 */ lw $a2,0x278($sp) -/* f040d14: 10400019 */ beqz $v0,.L0f040d7c -/* f040d18: afa201b8 */ sw $v0,0x1b8($sp) -/* f040d1c: 93ac0263 */ lbu $t4,0x263($sp) -/* f040d20: 10000016 */ b .L0f040d7c -/* f040d24: a04c005f */ sb $t4,0x5f($v0) -.L0f040d28: -/* f040d28: 24010012 */ addiu $at,$zero,0x12 -/* f040d2c: 1481000b */ bne $a0,$at,.L0f040d5c -/* f040d30: 3c0d800a */ lui $t5,%hi(g_Vars+0x284) -/* f040d34: 8c640040 */ lw $a0,0x40($v1) -/* f040d38: afa300d4 */ sw $v1,0xd4($sp) -/* f040d3c: 24050055 */ addiu $a1,$zero,0x55 -/* f040d40: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f040d44: 8fa60278 */ lw $a2,0x278($sp) -/* f040d48: 1040000c */ beqz $v0,.L0f040d7c -/* f040d4c: afa201b8 */ sw $v0,0x1b8($sp) -/* f040d50: 24190002 */ addiu $t9,$zero,0x2 -/* f040d54: 10000009 */ b .L0f040d7c -/* f040d58: a059005f */ sb $t9,0x5f($v0) -.L0f040d5c: -/* f040d5c: 8dada244 */ lw $t5,%lo(g_Vars+0x284)($t5) -/* f040d60: 8c640040 */ lw $a0,0x40($v1) -/* f040d64: 27a50260 */ addiu $a1,$sp,0x260 -/* f040d68: 8dae00bc */ lw $t6,0xbc($t5) -/* f040d6c: 8dc60004 */ lw $a2,0x4($t6) -/* f040d70: 0fc22d96 */ jal weaponCreateProjectileFromGset -/* f040d74: afa300d4 */ sw $v1,0xd4($sp) -/* f040d78: afa201b8 */ sw $v0,0x1b8($sp) -.L0f040d7c: -/* f040d7c: 1040011b */ beqz $v0,.L0f0411ec -/* f040d80: 8fab00d4 */ lw $t3,0xd4($sp) -/* f040d84: 8d6a004c */ lw $t2,0x4c($t3) -/* f040d88: 3c017f1b */ lui $at,%hi(var7f1a90d0) -/* f040d8c: c43090d0 */ lwc1 $f16,%lo(var7f1a90d0)($at) -/* f040d90: 448a3000 */ mtc1 $t2,$f6 -/* f040d94: 3c014270 */ lui $at,0x4270 -/* f040d98: 44812000 */ mtc1 $at,$f4 -/* f040d9c: 468032a0 */ cvt.s.w $f10,$f6 -/* f040da0: 3c017f1b */ lui $at,%hi(var7f1a90d4) -/* f040da4: 93b8026f */ lbu $t8,0x26f($sp) -/* f040da8: 8fa40278 */ lw $a0,0x278($sp) -/* f040dac: 2405001e */ addiu $a1,$zero,0x1e -/* f040db0: 46105482 */ mul.s $f18,$f10,$f16 -/* f040db4: c43090d4 */ lwc1 $f16,%lo(var7f1a90d4)($at) -/* f040db8: 46049203 */ div.s $f8,$f18,$f4 -/* f040dbc: e7a80168 */ swc1 $f8,0x168($sp) -/* f040dc0: 8d6f0054 */ lw $t7,0x54($t3) -/* f040dc4: 448f3000 */ mtc1 $t7,$f6 -/* f040dc8: 00000000 */ nop -/* f040dcc: 468032a0 */ cvt.s.w $f10,$f6 -/* f040dd0: 46105482 */ mul.s $f18,$f10,$f16 -/* f040dd4: 13000080 */ beqz $t8,.L0f040fd8 -/* f040dd8: e7b200cc */ swc1 $f18,0xcc($sp) -/* f040ddc: 0fc1241a */ jal chrIsTargetInFov -/* f040de0: 00003025 */ or $a2,$zero,$zero -/* f040de4: 1040007c */ beqz $v0,.L0f040fd8 -/* f040de8: 00000000 */ nop -/* f040dec: 93a20263 */ lbu $v0,0x263($sp) -/* f040df0: 00001825 */ or $v1,$zero,$zero -/* f040df4: 93a40260 */ lbu $a0,0x260($sp) -/* f040df8: 14400025 */ bnez $v0,.L0f040e90 -/* f040dfc: 24010018 */ addiu $at,$zero,0x18 -/* f040e00: 10810006 */ beq $a0,$at,.L0f040e1c -/* f040e04: 8fac025c */ lw $t4,0x25c($sp) -/* f040e08: 24010034 */ addiu $at,$zero,0x34 -/* f040e0c: 10810003 */ beq $a0,$at,.L0f040e1c -/* f040e10: 24010019 */ addiu $at,$zero,0x19 -/* f040e14: 5481001f */ bnel $a0,$at,.L0f040e94 -/* f040e18: 93a40260 */ lbu $a0,0x260($sp) -.L0f040e1c: -/* f040e1c: 91820000 */ lbu $v0,0x0($t4) -/* f040e20: 24010003 */ addiu $at,$zero,0x3 -/* f040e24: 8fb9025c */ lw $t9,0x25c($sp) -/* f040e28: 10410003 */ beq $v0,$at,.L0f040e38 -/* f040e2c: 24010006 */ addiu $at,$zero,0x6 -/* f040e30: 14410051 */ bne $v0,$at,.L0f040f78 -/* f040e34: 00000000 */ nop -.L0f040e38: -/* f040e38: c7240008 */ lwc1 $f4,0x8($t9) -/* f040e3c: c7aa0244 */ lwc1 $f10,0x244($sp) -/* f040e40: c7b20248 */ lwc1 $f18,0x248($sp) -/* f040e44: e7a400b8 */ swc1 $f4,0xb8($sp) -/* f040e48: 8f2d0004 */ lw $t5,0x4($t9) -/* f040e4c: 460a2401 */ sub.s $f16,$f4,$f10 -/* f040e50: c7aa024c */ lwc1 $f10,0x24c($sp) -/* f040e54: c5a800b4 */ lwc1 $f8,0xb4($t5) -/* f040e58: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040e5c: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040e60: e7a800bc */ swc1 $f8,0xbc($sp) -/* f040e64: c7260010 */ lwc1 $f6,0x10($t9) -/* f040e68: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f040e6c: 46124101 */ sub.s $f4,$f8,$f18 -/* f040e70: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040e74: e7a600c0 */ swc1 $f6,0xc0($sp) -/* f040e78: 460a3401 */ sub.s $f16,$f6,$f10 -/* f040e7c: e7a401e4 */ swc1 $f4,0x1e4($sp) -/* f040e80: 0c0011e4 */ jal guNormalize -/* f040e84: e7b001e8 */ swc1 $f16,0x1e8($sp) -/* f040e88: 1000003b */ b .L0f040f78 -/* f040e8c: 24030001 */ addiu $v1,$zero,0x1 -.L0f040e90: -/* f040e90: 93a40260 */ lbu $a0,0x260($sp) -.L0f040e94: -/* f040e94: 24050017 */ addiu $a1,$zero,0x17 -/* f040e98: 24010012 */ addiu $at,$zero,0x12 -/* f040e9c: 14a40003 */ bne $a1,$a0,.L0f040eac -/* f040ea0: 00000000 */ nop -/* f040ea4: 50400004 */ beqzl $v0,.L0f040eb8 -/* f040ea8: 8fae025c */ lw $t6,0x25c($sp) -.L0f040eac: -/* f040eac: 14810017 */ bne $a0,$at,.L0f040f0c -/* f040eb0: 00000000 */ nop -/* f040eb4: 8fae025c */ lw $t6,0x25c($sp) -.L0f040eb8: -/* f040eb8: 24010003 */ addiu $at,$zero,0x3 -/* f040ebc: 8faa025c */ lw $t2,0x25c($sp) -/* f040ec0: 91c20000 */ lbu $v0,0x0($t6) -/* f040ec4: 10410003 */ beq $v0,$at,.L0f040ed4 -/* f040ec8: 24010006 */ addiu $at,$zero,0x6 -/* f040ecc: 1441002a */ bne $v0,$at,.L0f040f78 -/* f040ed0: 00000000 */ nop -.L0f040ed4: -/* f040ed4: c5480008 */ lwc1 $f8,0x8($t2) -/* f040ed8: 27a40244 */ addiu $a0,$sp,0x244 -/* f040edc: 8fa500cc */ lw $a1,0xcc($sp) -/* f040ee0: e7a800b8 */ swc1 $f8,0xb8($sp) -/* f040ee4: 8d4b0004 */ lw $t3,0x4($t2) -/* f040ee8: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f040eec: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f040ef0: c57200b4 */ lwc1 $f18,0xb4($t3) -/* f040ef4: e7b200bc */ swc1 $f18,0xbc($sp) -/* f040ef8: c5440010 */ lwc1 $f4,0x10($t2) -/* f040efc: 0fc100c7 */ jal chrCalculateTrajectory -/* f040f00: e7a400c0 */ swc1 $f4,0xc0($sp) -/* f040f04: 1000001c */ b .L0f040f78 -/* f040f08: 24030001 */ addiu $v1,$zero,0x1 -.L0f040f0c: -/* f040f0c: 14a40002 */ bne $a1,$a0,.L0f040f18 -/* f040f10: 24010001 */ addiu $at,$zero,0x1 -/* f040f14: 10410003 */ beq $v0,$at,.L0f040f24 -.L0f040f18: -/* f040f18: 2401001b */ addiu $at,$zero,0x1b -/* f040f1c: 14810016 */ bne $a0,$at,.L0f040f78 -/* f040f20: 00000000 */ nop -.L0f040f24: -/* f040f24: 8faf025c */ lw $t7,0x25c($sp) -/* f040f28: 24010006 */ addiu $at,$zero,0x6 -/* f040f2c: 27a40244 */ addiu $a0,$sp,0x244 -/* f040f30: c5e60008 */ lwc1 $f6,0x8($t7) -/* f040f34: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f040f38: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f040f3c: e7a600b8 */ swc1 $f6,0xb8($sp) -/* f040f40: c5ea000c */ lwc1 $f10,0xc($t7) -/* f040f44: e7aa00bc */ swc1 $f10,0xbc($sp) -/* f040f48: c5f00010 */ lwc1 $f16,0x10($t7) -/* f040f4c: e7b000c0 */ swc1 $f16,0xc0($sp) -/* f040f50: 91f80000 */ lbu $t8,0x0($t7) -/* f040f54: 17010005 */ bne $t8,$at,.L0f040f6c -/* f040f58: 3c0141c8 */ lui $at,0x41c8 -/* f040f5c: 44814000 */ mtc1 $at,$f8 -/* f040f60: 00000000 */ nop -/* f040f64: 46085481 */ sub.s $f18,$f10,$f8 -/* f040f68: e7b200bc */ swc1 $f18,0xbc($sp) -.L0f040f6c: -/* f040f6c: 0fc100c7 */ jal chrCalculateTrajectory -/* f040f70: 8fa500cc */ lw $a1,0xcc($sp) -/* f040f74: 24030001 */ addiu $v1,$zero,0x1 -.L0f040f78: -/* f040f78: 10600017 */ beqz $v1,.L0f040fd8 -/* f040f7c: 8fa40278 */ lw $a0,0x278($sp) -/* f040f80: 0fc122a1 */ jal chrGetAngleToPos -/* f040f84: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f040f88: e7a000b4 */ swc1 $f0,0xb4($sp) -/* f040f8c: 0c0068f4 */ jal cosf -/* f040f90: 46000306 */ mov.s $f12,$f0 -/* f040f94: c7ac00b4 */ lwc1 $f12,0xb4($sp) -/* f040f98: 0c0068f7 */ jal sinf -/* f040f9c: e7a000b0 */ swc1 $f0,0xb0($sp) -/* f040fa0: c7ac01e8 */ lwc1 $f12,0x1e8($sp) -/* f040fa4: c7ae00b0 */ lwc1 $f14,0xb0($sp) -/* f040fa8: c7a201e0 */ lwc1 $f2,0x1e0($sp) -/* f040fac: 460c0102 */ mul.s $f4,$f0,$f12 -/* f040fb0: 00000000 */ nop -/* f040fb4: 46027182 */ mul.s $f6,$f14,$f2 -/* f040fb8: 00000000 */ nop -/* f040fbc: 460c7282 */ mul.s $f10,$f14,$f12 -/* f040fc0: 00000000 */ nop -/* f040fc4: 46020202 */ mul.s $f8,$f0,$f2 -/* f040fc8: 46062400 */ add.s $f16,$f4,$f6 -/* f040fcc: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f040fd0: 46085481 */ sub.s $f18,$f10,$f8 -/* f040fd4: e7b201e8 */ swc1 $f18,0x1e8($sp) -.L0f040fd8: -/* f040fd8: 0c00566c */ jal mtx4LoadIdentity -/* f040fdc: 27a40178 */ addiu $a0,$sp,0x178 -/* f040fe0: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040fe4: 0c0058ba */ jal mtx4LoadXRotation -/* f040fe8: 27a5011c */ addiu $a1,$sp,0x11c -/* f040fec: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040ff0: 0c0058dd */ jal mtx4LoadYRotation -/* f040ff4: 27a500dc */ addiu $a1,$sp,0xdc -/* f040ff8: 27a400dc */ addiu $a0,$sp,0xdc -/* f040ffc: 0c0056f8 */ jal mtx00015be0 -/* f041000: 27a5011c */ addiu $a1,$sp,0x11c -/* f041004: c7ac0168 */ lwc1 $f12,0x168($sp) -/* f041008: c7a401e0 */ lwc1 $f4,0x1e0($sp) -/* f04100c: c7b001e4 */ lwc1 $f16,0x1e4($sp) -/* f041010: c7a801e8 */ lwc1 $f8,0x1e8($sp) -/* f041014: 460c2182 */ mul.s $f6,$f4,$f12 -/* f041018: c7a200cc */ lwc1 $f2,0xcc($sp) -/* f04101c: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f041020: 460c8282 */ mul.s $f10,$f16,$f12 -/* f041024: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) -/* f041028: 8fac00d4 */ lw $t4,0xd4($sp) -/* f04102c: 460c4482 */ mul.s $f18,$f8,$f12 -/* f041030: e7a6015c */ swc1 $f6,0x15c($sp) -/* f041034: 8fa401b8 */ lw $a0,0x1b8($sp) -/* f041038: 46022102 */ mul.s $f4,$f4,$f2 -/* f04103c: e7aa0160 */ swc1 $f10,0x160($sp) -/* f041040: 2401ffff */ addiu $at,$zero,-1 -/* f041044: 46003182 */ mul.s $f6,$f6,$f0 -/* f041048: e7b20164 */ swc1 $f18,0x164($sp) -/* f04104c: 27a50244 */ addiu $a1,$sp,0x244 -/* f041050: 27a60234 */ addiu $a2,$sp,0x234 -/* f041054: 27a7011c */ addiu $a3,$sp,0x11c -/* f041058: 27ae016c */ addiu $t6,$sp,0x16c -/* f04105c: 27ab0178 */ addiu $t3,$sp,0x178 -/* f041060: 46062100 */ add.s $f4,$f4,$f6 -/* f041064: 46028182 */ mul.s $f6,$f16,$f2 -/* f041068: e7a4016c */ swc1 $f4,0x16c($sp) -/* f04106c: 46005102 */ mul.s $f4,$f10,$f0 -/* f041070: 46043400 */ add.s $f16,$f6,$f4 -/* f041074: 46024282 */ mul.s $f10,$f8,$f2 -/* f041078: 00000000 */ nop -/* f04107c: 46009182 */ mul.s $f6,$f18,$f0 -/* f041080: e7b00170 */ swc1 $f16,0x170($sp) -/* f041084: 46065100 */ add.s $f4,$f10,$f6 -/* f041088: e7a40174 */ swc1 $f4,0x174($sp) -/* f04108c: 8d8d0058 */ lw $t5,0x58($t4) -/* f041090: a48d0062 */ sh $t5,0x62($a0) -/* f041094: 84820062 */ lh $v0,0x62($a0) -/* f041098: 10410002 */ beq $v0,$at,.L0f0410a4 -/* f04109c: 0002c880 */ sll $t9,$v0,0x2 -/* f0410a0: a4990062 */ sh $t9,0x62($a0) -.L0f0410a4: -/* f0410a4: 8faa0274 */ lw $t2,0x274($sp) -/* f0410a8: afae0010 */ sw $t6,0x10($sp) -/* f0410ac: afab0014 */ sw $t3,0x14($sp) -/* f0410b0: afa5001c */ sw $a1,0x1c($sp) -/* f0410b4: 0fc27af3 */ jal bgun0f09ebcc -/* f0410b8: afaa0018 */ sw $t2,0x18($sp) -/* f0410bc: 8fa301b8 */ lw $v1,0x1b8($sp) -/* f0410c0: 8fac00d4 */ lw $t4,0xd4($sp) -/* f0410c4: 8c6f0040 */ lw $t7,0x40($v1) -/* f0410c8: 31f80080 */ andi $t8,$t7,0x80 -/* f0410cc: 13000047 */ beqz $t8,.L0f0411ec -/* f0410d0: 00000000 */ nop -/* f0410d4: 8d820010 */ lw $v0,0x10($t4) -/* f0410d8: 00026800 */ sll $t5,$v0,0x0 -/* f0410dc: 05a10007 */ bgez $t5,.L0f0410fc -/* f0410e0: 00025900 */ sll $t3,$v0,0x4 -/* f0410e4: 8c620048 */ lw $v0,0x48($v1) -/* f0410e8: 3c014000 */ lui $at,0x4000 -/* f0410ec: 8c590000 */ lw $t9,0x0($v0) -/* f0410f0: 03217025 */ or $t6,$t9,$at -/* f0410f4: 10000007 */ b .L0f041114 -/* f0410f8: ac4e0000 */ sw $t6,0x0($v0) -.L0f0410fc: -/* f0410fc: 05630006 */ bgezl $t3,.L0f041118 -/* f041100: c7b0015c */ lwc1 $f16,0x15c($sp) -/* f041104: 8c620048 */ lw $v0,0x48($v1) -/* f041108: 8c4a0000 */ lw $t2,0x0($v0) -/* f04110c: 354f0010 */ ori $t7,$t2,0x10 -/* f041110: ac4f0000 */ sw $t7,0x0($v0) -.L0f041114: -/* f041114: c7b0015c */ lwc1 $f16,0x15c($sp) -.L0f041118: -/* f041118: 8c780048 */ lw $t8,0x48($v1) -/* f04111c: 241900f0 */ addiu $t9,$zero,0xf0 -/* f041120: 3c017f1b */ lui $at,%hi(var7f1a90d8) -/* f041124: e7100010 */ swc1 $f16,0x10($t8) -/* f041128: 8c6c0048 */ lw $t4,0x48($v1) -/* f04112c: c7a80160 */ lwc1 $f8,0x160($sp) -/* f041130: e5880014 */ swc1 $f8,0x14($t4) -/* f041134: 8c6d0048 */ lw $t5,0x48($v1) -/* f041138: c7b20164 */ lwc1 $f18,0x164($sp) -/* f04113c: e5b20018 */ swc1 $f18,0x18($t5) -/* f041140: 8c6e0048 */ lw $t6,0x48($v1) -/* f041144: add900b4 */ sw $t9,0xb4($t6) -/* f041148: 8fab00d4 */ lw $t3,0xd4($sp) -/* f04114c: 8c6a0048 */ lw $t2,0x48($v1) -/* f041150: c56a005c */ lwc1 $f10,0x5c($t3) -/* f041154: e54a008c */ swc1 $f10,0x8c($t2) -/* f041158: 8faf00d4 */ lw $t7,0xd4($sp) -/* f04115c: c42490d8 */ lwc1 $f4,%lo(var7f1a90d8)($at) -/* f041160: 8c780048 */ lw $t8,0x48($v1) -/* f041164: c5e60050 */ lwc1 $f6,0x50($t7) -/* f041168: 46043402 */ mul.s $f16,$f6,$f4 -/* f04116c: e7100098 */ swc1 $f16,0x98($t8) -/* f041170: 0fc0a221 */ jal chrGetTargetProp -/* f041174: 8fa40278 */ lw $a0,0x278($sp) -/* f041178: 8fac01b8 */ lw $t4,0x1b8($sp) -/* f04117c: 3c01bf80 */ lui $at,0xbf80 -/* f041180: 00002025 */ or $a0,$zero,$zero -/* f041184: 8d8d0048 */ lw $t5,0x48($t4) -/* f041188: 2407ffff */ addiu $a3,$zero,-1 -/* f04118c: 240effff */ addiu $t6,$zero,-1 -/* f041190: ada200e8 */ sw $v0,0xe8($t5) -/* f041194: 8fb900d4 */ lw $t9,0xd4($sp) -/* f041198: 240bffff */ addiu $t3,$zero,-1 -/* f04119c: 87260060 */ lh $a2,0x60($t9) -/* f0411a0: 18c00012 */ blez $a2,.L0f0411ec -/* f0411a4: 00000000 */ nop -/* f0411a8: 8d850014 */ lw $a1,0x14($t4) -/* f0411ac: 44810000 */ mtc1 $at,$f0 -/* f0411b0: afab002c */ sw $t3,0x2c($sp) -/* f0411b4: afa00028 */ sw $zero,0x28($sp) -/* f0411b8: afa00020 */ sw $zero,0x20($sp) -/* f0411bc: afa0001c */ sw $zero,0x1c($sp) -/* f0411c0: afa00018 */ sw $zero,0x18($sp) -/* f0411c4: afa00014 */ sw $zero,0x14($sp) -/* f0411c8: afae0010 */ sw $t6,0x10($sp) -/* f0411cc: e7a00024 */ swc1 $f0,0x24($sp) -/* f0411d0: e7a00030 */ swc1 $f0,0x30($sp) -/* f0411d4: e7a00034 */ swc1 $f0,0x34($sp) -/* f0411d8: 0fc24e7e */ jal propsnd0f0939f8 -/* f0411dc: e7a00038 */ swc1 $f0,0x38($sp) -/* f0411e0: 10000002 */ b .L0f0411ec -/* f0411e4: 00000000 */ nop -/* f0411e8: afa00268 */ sw $zero,0x268($sp) -.L0f0411ec: -/* f0411ec: 10000019 */ b .L0f041254 -/* f0411f0: a3a0026e */ sb $zero,0x26e($sp) -/* f0411f4: 24010006 */ addiu $at,$zero,0x6 -.L0f0411f8: -/* f0411f8: 14810016 */ bne $a0,$at,.L0f041254 -/* f0411fc: 93aa026f */ lbu $t2,0x26f($sp) -/* f041200: 11400014 */ beqz $t2,.L0f041254 -/* f041204: 93af0263 */ lbu $t7,0x263($sp) -/* f041208: 24010001 */ addiu $at,$zero,0x1 -/* f04120c: 15e10011 */ bne $t7,$at,.L0f041254 -/* f041210: 8fad0278 */ lw $t5,0x278($sp) -/* f041214: 8fa2027c */ lw $v0,0x27c($sp) -/* f041218: 8db902d4 */ lw $t9,0x2d4($t5) -/* f04121c: 3c014120 */ lui $at,0x4120 -/* f041220: 0002c080 */ sll $t8,$v0,0x2 -/* f041224: 03386021 */ addu $t4,$t9,$t8 -/* f041228: c58800e4 */ lwc1 $f8,0xe4($t4) -/* f04122c: 44819000 */ mtc1 $at,$f18 -/* f041230: 44802000 */ mtc1 $zero,$f4 -/* f041234: 46124282 */ mul.s $f10,$f8,$f18 -/* f041238: 4600518d */ trunc.w.s $f6,$f10 -/* f04123c: 440b3000 */ mfc1 $t3,$f6 -/* f041240: 00000000 */ nop -/* f041244: a3ab0262 */ sb $t3,0x262($sp) -/* f041248: 8daa02d4 */ lw $t2,0x2d4($t5) -/* f04124c: 01587821 */ addu $t7,$t2,$t8 -/* f041250: e5e400e4 */ swc1 $f4,0xe4($t7) -.L0f041254: -/* f041254: 93b8026e */ lbu $t8,0x26e($sp) -/* f041258: 93b9026f */ lbu $t9,0x26f($sp) -/* f04125c: 530001c0 */ beqzl $t8,.L0f041960 -/* f041260: 8fae01c0 */ lw $t6,0x1c0($sp) -/* f041264: 172000d6 */ bnez $t9,.L0f0415c0 -/* f041268: 8fac0258 */ lw $t4,0x258($sp) -/* f04126c: 318e0200 */ andi $t6,$t4,0x200 -/* f041270: 11c0004c */ beqz $t6,.L0f0413a4 -/* f041274: 8fab025c */ lw $t3,0x25c($sp) -/* f041278: 916d0000 */ lbu $t5,0x0($t3) -/* f04127c: 24010006 */ addiu $at,$zero,0x6 -/* f041280: 8fa40278 */ lw $a0,0x278($sp) -/* f041284: 15a10047 */ bne $t5,$at,.L0f0413a4 -/* f041288: 27a50244 */ addiu $a1,$sp,0x244 -/* f04128c: 27a60234 */ addiu $a2,$sp,0x234 -/* f041290: 0fc0e47b */ jal chrCanSeeAttackTarget -/* f041294: 00003825 */ or $a3,$zero,$zero -/* f041298: 10400042 */ beqz $v0,.L0f0413a4 -/* f04129c: 8faa025c */ lw $t2,0x25c($sp) -/* f0412a0: 8d440004 */ lw $a0,0x4($t2) -/* f0412a4: 8fa50278 */ lw $a1,0x278($sp) -/* f0412a8: 0fc12aa3 */ jal chrCompareTeams -/* f0412ac: 24060002 */ addiu $a2,$zero,0x2 -/* f0412b0: 1040003c */ beqz $v0,.L0f0413a4 -/* f0412b4: 3c014170 */ lui $at,0x4170 -/* f0412b8: 44817000 */ mtc1 $at,$f14 -/* f0412bc: 8faf025c */ lw $t7,0x25c($sp) -/* f0412c0: c7aa01e0 */ lwc1 $f10,0x1e0($sp) -/* f0412c4: c7a80244 */ lwc1 $f8,0x244($sp) -/* f0412c8: c5f00008 */ lwc1 $f16,0x8($t7) -/* f0412cc: 460e5182 */ mul.s $f6,$f10,$f14 -/* f0412d0: c7aa01e4 */ lwc1 $f10,0x1e4($sp) -/* f0412d4: 46088481 */ sub.s $f18,$f16,$f8 -/* f0412d8: c7b00248 */ lwc1 $f16,0x248($sp) -/* f0412dc: c5e4000c */ lwc1 $f4,0xc($t7) -/* f0412e0: 8fa40278 */ lw $a0,0x278($sp) -/* f0412e4: 27a501f8 */ addiu $a1,$sp,0x1f8 -/* f0412e8: 46069001 */ sub.s $f0,$f18,$f6 -/* f0412ec: 460e5482 */ mul.s $f18,$f10,$f14 -/* f0412f0: c7aa01e8 */ lwc1 $f10,0x1e8($sp) -/* f0412f4: 46102201 */ sub.s $f8,$f4,$f16 -/* f0412f8: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f0412fc: c5e60010 */ lwc1 $f6,0x10($t7) -/* f041300: 27a601f4 */ addiu $a2,$sp,0x1f4 -/* f041304: 46124081 */ sub.s $f2,$f8,$f18 -/* f041308: 460e5202 */ mul.s $f8,$f10,$f14 -/* f04130c: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f041310: 46043401 */ sub.s $f16,$f6,$f4 -/* f041314: 46000182 */ mul.s $f6,$f0,$f0 -/* f041318: 00000000 */ nop -/* f04131c: 46021102 */ mul.s $f4,$f2,$f2 -/* f041320: 46088301 */ sub.s $f12,$f16,$f8 -/* f041324: 460c6402 */ mul.s $f16,$f12,$f12 -/* f041328: 46043280 */ add.s $f10,$f6,$f4 -/* f04132c: 46105200 */ add.s $f8,$f10,$f16 -/* f041330: 4612403e */ c.le.s $f8,$f18 -/* f041334: 00000000 */ nop -/* f041338: 4500002b */ bc1f .L0f0413e8 -/* f04133c: 00000000 */ nop -/* f041340: 0fc0feac */ jal chrCalculateHit -/* f041344: 27a70260 */ addiu $a3,$sp,0x260 -/* f041348: 8fb801f4 */ lw $t8,0x1f4($sp) -/* f04134c: 8fac01f8 */ lw $t4,0x1f8($sp) -/* f041350: 8fae0278 */ lw $t6,0x278($sp) -/* f041354: 2f190001 */ sltiu $t9,$t8,0x1 -/* f041358: 11800023 */ beqz $t4,.L0f0413e8 -/* f04135c: afb901f0 */ sw $t9,0x1f0($sp) -/* f041360: 81c30007 */ lb $v1,0x7($t6) -/* f041364: 24010008 */ addiu $at,$zero,0x8 -/* f041368: 3c0b800a */ lui $t3,%hi(g_Vars+0x8) -/* f04136c: 1061000a */ beq $v1,$at,.L0f041398 -/* f041370: 8fad0278 */ lw $t5,0x278($sp) -/* f041374: 2401000a */ addiu $at,$zero,0xa -/* f041378: 10610007 */ beq $v1,$at,.L0f041398 -/* f04137c: 2401001b */ addiu $at,$zero,0x1b -/* f041380: 10610005 */ beq $v1,$at,.L0f041398 -/* f041384: 2401001c */ addiu $at,$zero,0x1c -/* f041388: 10610003 */ beq $v1,$at,.L0f041398 -/* f04138c: 2401001d */ addiu $at,$zero,0x1d -/* f041390: 54610016 */ bnel $v1,$at,.L0f0413ec -/* f041394: 8fb901f4 */ lw $t9,0x1f4($sp) -.L0f041398: -/* f041398: 8d6b9fc8 */ lw $t3,%lo(g_Vars+0x8)($t3) -/* f04139c: 10000012 */ b .L0f0413e8 -/* f0413a0: adab0048 */ sw $t3,0x48($t5) -.L0f0413a4: -/* f0413a4: 8faa0278 */ lw $t2,0x278($sp) -/* f0413a8: 24010008 */ addiu $at,$zero,0x8 -/* f0413ac: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f0413b0: 81430007 */ lb $v1,0x7($t2) -/* f0413b4: 8fb80278 */ lw $t8,0x278($sp) -/* f0413b8: 10610009 */ beq $v1,$at,.L0f0413e0 -/* f0413bc: 2401000a */ addiu $at,$zero,0xa -/* f0413c0: 10610007 */ beq $v1,$at,.L0f0413e0 -/* f0413c4: 2401001b */ addiu $at,$zero,0x1b -/* f0413c8: 10610005 */ beq $v1,$at,.L0f0413e0 -/* f0413cc: 2401001c */ addiu $at,$zero,0x1c -/* f0413d0: 10610003 */ beq $v1,$at,.L0f0413e0 -/* f0413d4: 2401001d */ addiu $at,$zero,0x1d -/* f0413d8: 54610004 */ bnel $v1,$at,.L0f0413ec -/* f0413dc: 8fb901f4 */ lw $t9,0x1f4($sp) -.L0f0413e0: -/* f0413e0: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f0413e4: af0f0048 */ sw $t7,0x48($t8) -.L0f0413e8: -/* f0413e8: 8fb901f4 */ lw $t9,0x1f4($sp) -.L0f0413ec: -/* f0413ec: 8faa01cc */ lw $t2,0x1cc($sp) -/* f0413f0: 13200065 */ beqz $t9,.L0f041588 -/* f0413f4: 00000000 */ nop -/* f0413f8: 0fc2c74a */ jal gsetGetDamage -/* f0413fc: 27a40260 */ addiu $a0,$sp,0x260 -/* f041400: 8fab025c */ lw $t3,0x25c($sp) -/* f041404: 240cffff */ addiu $t4,$zero,-1 -/* f041408: 240e00c8 */ addiu $t6,$zero,0xc8 -/* f04140c: e7a0009c */ swc1 $f0,0x9c($sp) -/* f041410: afa00098 */ sw $zero,0x98($sp) -/* f041414: afa00094 */ sw $zero,0x94($sp) -/* f041418: afac0090 */ sw $t4,0x90($sp) -/* f04141c: afae008c */ sw $t6,0x8c($sp) -/* f041420: 8d6d0004 */ lw $t5,0x4($t3) -/* f041424: afad0088 */ sw $t5,0x88($sp) -/* f041428: c5660008 */ lwc1 $f6,0x8($t3) -/* f04142c: e7a60228 */ swc1 $f6,0x228($sp) -/* f041430: c564000c */ lwc1 $f4,0xc($t3) -/* f041434: e7a4022c */ swc1 $f4,0x22c($sp) -/* f041438: c56a0010 */ lwc1 $f10,0x10($t3) -/* f04143c: 0c004b70 */ jal random -/* f041440: e7aa0230 */ swc1 $f10,0x230($sp) -/* f041444: 304a0001 */ andi $t2,$v0,0x1 -/* f041448: 11400012 */ beqz $t2,.L0f041494 -/* f04144c: 00000000 */ nop -/* f041450: 0c004b70 */ jal random -/* f041454: 00000000 */ nop -/* f041458: 2401000a */ addiu $at,$zero,0xa -/* f04145c: 0041001b */ divu $zero,$v0,$at -/* f041460: 00007810 */ mfhi $t7 -/* f041464: 25f80002 */ addiu $t8,$t7,0x2 -/* f041468: 44989000 */ mtc1 $t8,$f18 -/* f04146c: c7b0022c */ lwc1 $f16,0x22c($sp) -/* f041470: 07010005 */ bgez $t8,.L0f041488 -/* f041474: 46809220 */ cvt.s.w $f8,$f18 -/* f041478: 3c014f80 */ lui $at,0x4f80 -/* f04147c: 44813000 */ mtc1 $at,$f6 -/* f041480: 00000000 */ nop -/* f041484: 46064200 */ add.s $f8,$f8,$f6 -.L0f041488: -/* f041488: 46088100 */ add.s $f4,$f16,$f8 -/* f04148c: 10000011 */ b .L0f0414d4 -/* f041490: e7a4022c */ swc1 $f4,0x22c($sp) -.L0f041494: -/* f041494: 0c004b70 */ jal random -/* f041498: 00000000 */ nop -/* f04149c: 2401000a */ addiu $at,$zero,0xa -/* f0414a0: 0041001b */ divu $zero,$v0,$at -/* f0414a4: 0000c810 */ mfhi $t9 -/* f0414a8: 272c0002 */ addiu $t4,$t9,0x2 -/* f0414ac: 448c9000 */ mtc1 $t4,$f18 -/* f0414b0: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f0414b4: 05810005 */ bgez $t4,.L0f0414cc -/* f0414b8: 468091a0 */ cvt.s.w $f6,$f18 -/* f0414bc: 3c014f80 */ lui $at,0x4f80 -/* f0414c0: 44818000 */ mtc1 $at,$f16 -/* f0414c4: 00000000 */ nop -/* f0414c8: 46103180 */ add.s $f6,$f6,$f16 -.L0f0414cc: -/* f0414cc: 46065201 */ sub.s $f8,$f10,$f6 -/* f0414d0: e7a8022c */ swc1 $f8,0x22c($sp) -.L0f0414d4: -/* f0414d4: 27a40260 */ addiu $a0,$sp,0x260 -/* f0414d8: 8fa5025c */ lw $a1,0x25c($sp) -/* f0414dc: 0fc29f66 */ jal bgunPlayPropHitSound -/* f0414e0: 2406ffff */ addiu $a2,$zero,-1 -/* f0414e4: 8fa40088 */ lw $a0,0x88($sp) -/* f0414e8: 8c8e0020 */ lw $t6,0x20($a0) -/* f0414ec: 51c00012 */ beqzl $t6,.L0f041538 -/* f0414f0: 8faf0278 */ lw $t7,0x278($sp) -/* f0414f4: 0fc0cfe8 */ jal chrGetShield -/* f0414f8: 00000000 */ nop -/* f0414fc: 44802000 */ mtc1 $zero,$f4 -/* f041500: 8fa40088 */ lw $a0,0x88($sp) -/* f041504: 27a50228 */ addiu $a1,$sp,0x228 -/* f041508: 4600203c */ c.lt.s $f4,$f0 -/* f04150c: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041510: 27a70098 */ addiu $a3,$sp,0x98 -/* f041514: 27ad008c */ addiu $t5,$sp,0x8c -/* f041518: 45000006 */ bc1f .L0f041534 -/* f04151c: 27ab0094 */ addiu $t3,$sp,0x94 -/* f041520: 27aa0090 */ addiu $t2,$sp,0x90 -/* f041524: afaa0018 */ sw $t2,0x18($sp) -/* f041528: afad0010 */ sw $t5,0x10($sp) -/* f04152c: 0fc0ffcb */ jal chrCalculateShieldHit -/* f041530: afab0014 */ sw $t3,0x14($sp) -.L0f041534: -/* f041534: 8faf0278 */ lw $t7,0x278($sp) -.L0f041538: -/* f041538: 8fac025c */ lw $t4,0x25c($sp) -/* f04153c: 8fae0098 */ lw $t6,0x98($sp) -/* f041540: 8df8001c */ lw $t8,0x1c($t7) -/* f041544: 8fad0094 */ lw $t5,0x94($sp) -/* f041548: 8fab0090 */ lw $t3,0x90($sp) -/* f04154c: 241900c8 */ addiu $t9,$zero,0xc8 -/* f041550: 8fa40088 */ lw $a0,0x88($sp) -/* f041554: afb90014 */ sw $t9,0x14($sp) -/* f041558: afa00028 */ sw $zero,0x28($sp) -/* f04155c: 8fa5009c */ lw $a1,0x9c($sp) -/* f041560: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041564: 27a70260 */ addiu $a3,$sp,0x260 -/* f041568: afac0018 */ sw $t4,0x18($sp) -/* f04156c: afae001c */ sw $t6,0x1c($sp) -/* f041570: afb80010 */ sw $t8,0x10($sp) -/* f041574: afad0020 */ sw $t5,0x20($sp) -/* f041578: 0fc0d077 */ jal func0f0341dc -/* f04157c: afab0024 */ sw $t3,0x24($sp) -/* f041580: 10000010 */ b .L0f0415c4 -/* f041584: 8faf01f0 */ lw $t7,0x1f0($sp) -.L0f041588: -/* f041588: 11400006 */ beqz $t2,.L0f0415a4 -/* f04158c: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f041590: 91420000 */ lbu $v0,0x0($t2) -/* f041594: 24010003 */ addiu $at,$zero,0x3 -/* f041598: 10410009 */ beq $v0,$at,.L0f0415c0 -/* f04159c: 24010006 */ addiu $at,$zero,0x6 -/* f0415a0: 10410007 */ beq $v0,$at,.L0f0415c0 -.L0f0415a4: -/* f0415a4: 3c017f1b */ lui $at,%hi(var7f1a90dc) -/* f0415a8: c43090dc */ lwc1 $f16,%lo(var7f1a90dc)($at) -/* f0415ac: 4610903c */ c.lt.s $f18,$f16 -/* f0415b0: 00000000 */ nop -/* f0415b4: 45020003 */ bc1fl .L0f0415c4 -/* f0415b8: 8faf01f0 */ lw $t7,0x1f0($sp) -/* f0415bc: afa001f0 */ sw $zero,0x1f0($sp) -.L0f0415c0: -/* f0415c0: 8faf01f0 */ lw $t7,0x1f0($sp) -.L0f0415c4: -/* f0415c4: 8fb801cc */ lw $t8,0x1cc($sp) -/* f0415c8: 51e000e5 */ beqzl $t7,.L0f041960 -/* f0415cc: 8fae01c0 */ lw $t6,0x1c0($sp) -/* f0415d0: 130000a2 */ beqz $t8,.L0f04185c -/* f0415d4: 8fae0224 */ lw $t6,0x224($sp) -/* f0415d8: 93020000 */ lbu $v0,0x0($t8) -/* f0415dc: 24010006 */ addiu $at,$zero,0x6 -/* f0415e0: 93b9026f */ lbu $t9,0x26f($sp) -/* f0415e4: 10410003 */ beq $v0,$at,.L0f0415f4 -/* f0415e8: 24010003 */ addiu $at,$zero,0x3 -/* f0415ec: 54410053 */ bnel $v0,$at,.L0f04173c -/* f0415f0: 24010001 */ addiu $at,$zero,0x1 -.L0f0415f4: -/* f0415f4: 1720000c */ bnez $t9,.L0f041628 -/* f0415f8: 8fac01bc */ lw $t4,0x1bc($sp) -/* f0415fc: 1580000a */ bnez $t4,.L0f041628 -/* f041600: 8fae0278 */ lw $t6,0x278($sp) -/* f041604: 8dcd0018 */ lw $t5,0x18($t6) -/* f041608: 8faa01cc */ lw $t2,0x1cc($sp) -/* f04160c: 01c02825 */ or $a1,$t6,$zero -/* f041610: 31ab0040 */ andi $t3,$t5,0x40 -/* f041614: 11600045 */ beqz $t3,.L0f04172c -/* f041618: 24060002 */ addiu $a2,$zero,0x2 -/* f04161c: 0fc12aa3 */ jal chrCompareTeams -/* f041620: 8d440004 */ lw $a0,0x4($t2) -/* f041624: 10400041 */ beqz $v0,.L0f04172c -.L0f041628: -/* f041628: 240fffff */ addiu $t7,$zero,-1 -/* f04162c: 241800c8 */ addiu $t8,$zero,0xc8 -/* f041630: afa00084 */ sw $zero,0x84($sp) -/* f041634: afa00080 */ sw $zero,0x80($sp) -/* f041638: afaf007c */ sw $t7,0x7c($sp) -/* f04163c: afb80078 */ sw $t8,0x78($sp) -/* f041640: 0fc2c74a */ jal gsetGetDamage -/* f041644: 27a40260 */ addiu $a0,$sp,0x260 -/* f041648: 8fa501cc */ lw $a1,0x1cc($sp) -/* f04164c: e7a00074 */ swc1 $f0,0x74($sp) -/* f041650: 27a40260 */ addiu $a0,$sp,0x260 -/* f041654: 8cac0004 */ lw $t4,0x4($a1) -/* f041658: 2406ffff */ addiu $a2,$zero,-1 -/* f04165c: 0fc29f66 */ jal bgunPlayPropHitSound -/* f041660: afac0070 */ sw $t4,0x70($sp) -/* f041664: 8fa40070 */ lw $a0,0x70($sp) -/* f041668: 8c8d0020 */ lw $t5,0x20($a0) -/* f04166c: 51a00012 */ beqzl $t5,.L0f0416b8 -/* f041670: 8fb80278 */ lw $t8,0x278($sp) -/* f041674: 0fc0cfe8 */ jal chrGetShield -/* f041678: 00000000 */ nop -/* f04167c: 44805000 */ mtc1 $zero,$f10 -/* f041680: 8fa40070 */ lw $a0,0x70($sp) -/* f041684: 27a50228 */ addiu $a1,$sp,0x228 -/* f041688: 4600503c */ c.lt.s $f10,$f0 -/* f04168c: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041690: 27a70084 */ addiu $a3,$sp,0x84 -/* f041694: 27ab0078 */ addiu $t3,$sp,0x78 -/* f041698: 45000006 */ bc1f .L0f0416b4 -/* f04169c: 27aa0080 */ addiu $t2,$sp,0x80 -/* f0416a0: 27ae007c */ addiu $t6,$sp,0x7c -/* f0416a4: afae0018 */ sw $t6,0x18($sp) -/* f0416a8: afab0010 */ sw $t3,0x10($sp) -/* f0416ac: 0fc0ffcb */ jal chrCalculateShieldHit -/* f0416b0: afaa0014 */ sw $t2,0x14($sp) -.L0f0416b4: -/* f0416b4: 8fb80278 */ lw $t8,0x278($sp) -.L0f0416b8: -/* f0416b8: 27af01e0 */ addiu $t7,$sp,0x1e0 -/* f0416bc: 8fa40070 */ lw $a0,0x70($sp) -/* f0416c0: afaf0010 */ sw $t7,0x10($sp) -/* f0416c4: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0416c8: 8fa60078 */ lw $a2,0x78($sp) -/* f0416cc: 27a70228 */ addiu $a3,$sp,0x228 -/* f0416d0: 0fc097a9 */ jal chrEmitSparks -/* f0416d4: afb80014 */ sw $t8,0x14($sp) -/* f0416d8: 8fac0278 */ lw $t4,0x278($sp) -/* f0416dc: 8fab01cc */ lw $t3,0x1cc($sp) -/* f0416e0: 8faa0084 */ lw $t2,0x84($sp) -/* f0416e4: 8d99001c */ lw $t9,0x1c($t4) -/* f0416e8: 8fae0080 */ lw $t6,0x80($sp) -/* f0416ec: 8faf007c */ lw $t7,0x7c($sp) -/* f0416f0: 240d00c8 */ addiu $t5,$zero,0xc8 -/* f0416f4: afad0014 */ sw $t5,0x14($sp) -/* f0416f8: afa00028 */ sw $zero,0x28($sp) -/* f0416fc: 8fa40070 */ lw $a0,0x70($sp) -/* f041700: 8fa50074 */ lw $a1,0x74($sp) -/* f041704: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f041708: 27a70260 */ addiu $a3,$sp,0x260 -/* f04170c: afab0018 */ sw $t3,0x18($sp) -/* f041710: afaa001c */ sw $t2,0x1c($sp) -/* f041714: afb90010 */ sw $t9,0x10($sp) -/* f041718: afae0020 */ sw $t6,0x20($sp) -/* f04171c: 0fc0d077 */ jal func0f0341dc -/* f041720: afaf0024 */ sw $t7,0x24($sp) -/* f041724: 1000006f */ b .L0f0418e4 -/* f041728: 93ac0260 */ lbu $t4,0x260($sp) -.L0f04172c: -/* f04172c: afa00250 */ sw $zero,0x250($sp) -/* f041730: 1000006b */ b .L0f0418e0 -/* f041734: afa00268 */ sw $zero,0x268($sp) -/* f041738: 24010001 */ addiu $at,$zero,0x1 -.L0f04173c: -/* f04173c: 10410005 */ beq $v0,$at,.L0f041754 -/* f041740: 8fb801cc */ lw $t8,0x1cc($sp) -/* f041744: 24010004 */ addiu $at,$zero,0x4 -/* f041748: 10410002 */ beq $v0,$at,.L0f041754 -/* f04174c: 24010002 */ addiu $at,$zero,0x2 -/* f041750: 14410063 */ bne $v0,$at,.L0f0418e0 -.L0f041754: -/* f041754: 3c0d800a */ lui $t5,%hi(g_Vars+0x314) -/* f041758: 8dada2d4 */ lw $t5,%lo(g_Vars+0x314)($t5) -/* f04175c: 8f0c0004 */ lw $t4,0x4($t8) -/* f041760: 2419ffff */ addiu $t9,$zero,-1 -/* f041764: afb90068 */ sw $t9,0x68($sp) -/* f041768: 11a00004 */ beqz $t5,.L0f04177c -/* f04176c: afac006c */ sw $t4,0x6c($sp) -/* f041770: 0fc633fe */ jal mpPlayerGetIndex -/* f041774: 8fa40278 */ lw $a0,0x278($sp) -/* f041778: afa20068 */ sw $v0,0x68($sp) -.L0f04177c: -/* f04177c: 27a40260 */ addiu $a0,$sp,0x260 -/* f041780: 8fa501cc */ lw $a1,0x1cc($sp) -/* f041784: 0fc29f66 */ jal bgunPlayPropHitSound -/* f041788: 2406ffff */ addiu $a2,$zero,-1 -/* f04178c: 27a40244 */ addiu $a0,$sp,0x244 -/* f041790: 27a50234 */ addiu $a1,$sp,0x234 -/* f041794: 27a60228 */ addiu $a2,$sp,0x228 -/* f041798: 0fc1979d */ jal func0f065e74 -/* f04179c: 27a70214 */ addiu $a3,$sp,0x214 -/* f0417a0: 240b0001 */ addiu $t3,$zero,0x1 -/* f0417a4: afab0210 */ sw $t3,0x210($sp) -/* f0417a8: 0fc4f92a */ jal chrIsUsingPaintball -/* f0417ac: 8fa40278 */ lw $a0,0x278($sp) -/* f0417b0: 1040000b */ beqz $v0,.L0f0417e0 -/* f0417b4: 87a40214 */ lh $a0,0x214($sp) -/* f0417b8: 240a0019 */ addiu $t2,$zero,0x19 -/* f0417bc: afaa0014 */ sw $t2,0x14($sp) -/* f0417c0: 87a40214 */ lh $a0,0x214($sp) -/* f0417c4: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0417c8: 27a60228 */ addiu $a2,$sp,0x228 -/* f0417cc: 00003825 */ or $a3,$zero,$zero -/* f0417d0: 0fc4be7c */ jal sparksCreate -/* f0417d4: afa00010 */ sw $zero,0x10($sp) -/* f0417d8: 10000007 */ b .L0f0417f8 -/* f0417dc: 00000000 */ nop -.L0f0417e0: -/* f0417e0: 8fa501cc */ lw $a1,0x1cc($sp) -/* f0417e4: 27a60228 */ addiu $a2,$sp,0x228 -/* f0417e8: 00003825 */ or $a3,$zero,$zero -/* f0417ec: afa00010 */ sw $zero,0x10($sp) -/* f0417f0: 0fc4be7c */ jal sparksCreate -/* f0417f4: afa00014 */ sw $zero,0x14($sp) -.L0f0417f8: -/* f0417f8: 3c0e800a */ lui $t6,%hi(g_MissionConfig+0x3) -/* f0417fc: 81cfdfeb */ lb $t7,%lo(g_MissionConfig+0x3)($t6) -/* f041800: 8fb80278 */ lw $t8,0x278($sp) -/* f041804: 05e1000a */ bgez $t7,.L0f041830 -/* f041808: 00000000 */ nop -/* f04180c: 930c0125 */ lbu $t4,0x125($t8) -/* f041810: 24010010 */ addiu $at,$zero,0x10 -/* f041814: 8fb9006c */ lw $t9,0x6c($sp) -/* f041818: 15810005 */ bne $t4,$at,.L0f041830 -/* f04181c: 00000000 */ nop -/* f041820: 8f2d000c */ lw $t5,0xc($t9) -/* f041824: 31ab0001 */ andi $t3,$t5,0x1 -/* f041828: 5560002e */ bnezl $t3,.L0f0418e4 -/* f04182c: 93ac0260 */ lbu $t4,0x260($sp) -.L0f041830: -/* f041830: 0fc2c74a */ jal gsetGetDamage -/* f041834: 27a40260 */ addiu $a0,$sp,0x260 -/* f041838: 8faa0068 */ lw $t2,0x68($sp) -/* f04183c: 44050000 */ mfc1 $a1,$f0 -/* f041840: 8fa4006c */ lw $a0,0x6c($sp) -/* f041844: 27a60228 */ addiu $a2,$sp,0x228 -/* f041848: 93a70260 */ lbu $a3,0x260($sp) -/* f04184c: 0fc2149c */ jal objTakeGunfire -/* f041850: afaa0010 */ sw $t2,0x10($sp) -/* f041854: 10000023 */ b .L0f0418e4 -/* f041858: 93ac0260 */ lbu $t4,0x260($sp) -.L0f04185c: -/* f04185c: 11c00020 */ beqz $t6,.L0f0418e0 -/* f041860: 27a40244 */ addiu $a0,$sp,0x244 -/* f041864: 27a50234 */ addiu $a1,$sp,0x234 -/* f041868: 27a60228 */ addiu $a2,$sp,0x228 -/* f04186c: 0fc1979d */ jal func0f065e74 -/* f041870: 27a70214 */ addiu $a3,$sp,0x214 -/* f041874: 240f0001 */ addiu $t7,$zero,0x1 -/* f041878: afaf0210 */ sw $t7,0x210($sp) -/* f04187c: 27a40260 */ addiu $a0,$sp,0x260 -/* f041880: 27a50228 */ addiu $a1,$sp,0x228 -/* f041884: 2406ffff */ addiu $a2,$zero,-1 -/* f041888: 0fc2a132 */ jal bgunPlayBgHitSound -/* f04188c: 27a70214 */ addiu $a3,$sp,0x214 -/* f041890: 0fc4f92a */ jal chrIsUsingPaintball -/* f041894: 8fa40278 */ lw $a0,0x278($sp) -/* f041898: 1040000b */ beqz $v0,.L0f0418c8 -/* f04189c: 87a40214 */ lh $a0,0x214($sp) -/* f0418a0: 24180019 */ addiu $t8,$zero,0x19 -/* f0418a4: afb80014 */ sw $t8,0x14($sp) -/* f0418a8: 87a40214 */ lh $a0,0x214($sp) -/* f0418ac: 00002825 */ or $a1,$zero,$zero -/* f0418b0: 27a60228 */ addiu $a2,$sp,0x228 -/* f0418b4: 00003825 */ or $a3,$zero,$zero -/* f0418b8: 0fc4be7c */ jal sparksCreate -/* f0418bc: afa00010 */ sw $zero,0x10($sp) -/* f0418c0: 10000008 */ b .L0f0418e4 -/* f0418c4: 93ac0260 */ lbu $t4,0x260($sp) -.L0f0418c8: -/* f0418c8: 00002825 */ or $a1,$zero,$zero -/* f0418cc: 27a60228 */ addiu $a2,$sp,0x228 -/* f0418d0: 00003825 */ or $a3,$zero,$zero -/* f0418d4: afa00010 */ sw $zero,0x10($sp) -/* f0418d8: 0fc4be7c */ jal sparksCreate -/* f0418dc: afa00014 */ sw $zero,0x14($sp) -.L0f0418e0: -/* f0418e0: 93ac0260 */ lbu $t4,0x260($sp) -.L0f0418e4: -/* f0418e4: 24010007 */ addiu $at,$zero,0x7 -/* f0418e8: 93b90263 */ lbu $t9,0x263($sp) -/* f0418ec: 1581001b */ bne $t4,$at,.L0f04195c -/* f0418f0: 24010001 */ addiu $at,$zero,0x1 -/* f0418f4: 17210019 */ bne $t9,$at,.L0f04195c -/* f0418f8: 8fad0278 */ lw $t5,0x278($sp) -/* f0418fc: 8dab02d4 */ lw $t3,0x2d4($t5) -/* f041900: 3c03800a */ lui $v1,%hi(g_Vars+0x28c) -/* f041904: 11600005 */ beqz $t3,.L0f04191c -/* f041908: 00000000 */ nop -/* f04190c: 0fc633fe */ jal mpPlayerGetIndex -/* f041910: 01a02025 */ or $a0,$t5,$zero -/* f041914: 10000002 */ b .L0f041920 -/* f041918: 00401825 */ or $v1,$v0,$zero -.L0f04191c: -/* f04191c: 8c63a24c */ lw $v1,%lo(g_Vars+0x28c)($v1) -.L0f041920: -/* f041920: 8faa0210 */ lw $t2,0x210($sp) -/* f041924: 27a40244 */ addiu $a0,$sp,0x244 -/* f041928: 27a50234 */ addiu $a1,$sp,0x234 -/* f04192c: 15400005 */ bnez $t2,.L0f041944 -/* f041930: 27a60228 */ addiu $a2,$sp,0x228 -/* f041934: 27a70214 */ addiu $a3,$sp,0x214 -/* f041938: 0fc1979d */ jal func0f065e74 -/* f04193c: afa30064 */ sw $v1,0x64($sp) -/* f041940: 8fa30064 */ lw $v1,0x64($sp) -.L0f041944: -/* f041944: 00002025 */ or $a0,$zero,$zero -/* f041948: 27a50228 */ addiu $a1,$sp,0x228 -/* f04194c: 27a60214 */ addiu $a2,$sp,0x214 -/* f041950: 24070016 */ addiu $a3,$zero,0x16 -/* f041954: 0fc4a640 */ jal explosionCreateSimple -/* f041958: afa30010 */ sw $v1,0x10($sp) -.L0f04195c: -/* f04195c: 8fae01c0 */ lw $t6,0x1c0($sp) -.L0f041960: -/* f041960: 8fa4025c */ lw $a0,0x25c($sp) -/* f041964: 51c00004 */ beqzl $t6,.L0f041978 -/* f041968: 8fa80268 */ lw $t0,0x268($sp) -/* f04196c: 0fc1905e */ jal propSetPerimEnabled -/* f041970: 00002825 */ or $a1,$zero,$zero -/* f041974: 8fa80268 */ lw $t0,0x268($sp) -.L0f041978: -/* f041978: 8fb80250 */ lw $t8,0x250($sp) -/* f04197c: 93ac0260 */ lbu $t4,0x260($sp) -/* f041980: 0008782b */ sltu $t7,$zero,$t0 -/* f041984: 1300000e */ beqz $t8,.L0f0419c0 -/* f041988: 01e04025 */ or $t0,$t7,$zero -/* f04198c: 2599fffe */ addiu $t9,$t4,-2 -/* f041990: 2f21002a */ sltiu $at,$t9,0x2a -/* f041994: 10200009 */ beqz $at,.L0f0419bc -/* f041998: 0019c880 */ sll $t9,$t9,0x2 -/* f04199c: 3c017f1b */ lui $at,%hi(var7f1a90e0) -/* f0419a0: 00390821 */ addu $at,$at,$t9 -/* f0419a4: 8c3990e0 */ lw $t9,%lo(var7f1a90e0)($at) -/* f0419a8: 03200008 */ jr $t9 -/* f0419ac: 00000000 */ nop -/* f0419b0: 240b0001 */ addiu $t3,$zero,0x1 -/* f0419b4: 10000002 */ b .L0f0419c0 -/* f0419b8: afab0250 */ sw $t3,0x250($sp) -.L0f0419bc: -/* f0419bc: afa00250 */ sw $zero,0x250($sp) -.L0f0419c0: -/* f0419c0: 11000004 */ beqz $t0,.L0f0419d4 -/* f0419c4: 01003825 */ or $a3,$t0,$zero -/* f0419c8: 8fa70250 */ lw $a3,0x250($sp) -/* f0419cc: 0007682b */ sltu $t5,$zero,$a3 -/* f0419d0: 01a03825 */ or $a3,$t5,$zero -.L0f0419d4: -/* f0419d4: 27aa0244 */ addiu $t2,$sp,0x244 -/* f0419d8: 27ae0228 */ addiu $t6,$sp,0x228 -/* f0419dc: afae0014 */ sw $t6,0x14($sp) -/* f0419e0: afaa0010 */ sw $t2,0x10($sp) -/* f0419e4: 8fa40278 */ lw $a0,0x278($sp) -/* f0419e8: 8fa5027c */ lw $a1,0x27c($sp) -/* f0419ec: 8fa60268 */ lw $a2,0x268($sp) -/* f0419f0: 0fc0f8a7 */ jal chrCreateFireslot -/* f0419f4: afa80054 */ sw $t0,0x54($sp) -/* f0419f8: 93af026f */ lbu $t7,0x26f($sp) -/* f0419fc: 8fa80054 */ lw $t0,0x54($sp) -/* f041a00: 8fa40278 */ lw $a0,0x278($sp) -/* f041a04: 11e00015 */ beqz $t7,.L0f041a5c -/* f041a08: 8fa5027c */ lw $a1,0x27c($sp) -/* f041a0c: 1100000a */ beqz $t0,.L0f041a38 -/* f041a10: 01003025 */ or $a2,$t0,$zero -/* f041a14: 8fb80278 */ lw $t8,0x278($sp) -/* f041a18: 8fb9027c */ lw $t9,0x27c($sp) -/* f041a1c: 8f0c02d4 */ lw $t4,0x2d4($t8) -/* f041a20: 00195880 */ sll $t3,$t9,0x2 -/* f041a24: 018b1021 */ addu $v0,$t4,$t3 -/* f041a28: 8c430024 */ lw $v1,0x24($v0) -/* f041a2c: 18600002 */ blez $v1,.L0f041a38 -/* f041a30: 246dffff */ addiu $t5,$v1,-1 -/* f041a34: ac4d0024 */ sw $t5,0x24($v0) -.L0f041a38: -/* f041a38: 11000004 */ beqz $t0,.L0f041a4c -/* f041a3c: 8fa40278 */ lw $a0,0x278($sp) -/* f041a40: 93a6026e */ lbu $a2,0x26e($sp) -/* f041a44: 0006502b */ sltu $t2,$zero,$a2 -/* f041a48: 01403025 */ or $a2,$t2,$zero -.L0f041a4c: -/* f041a4c: 0fc0fe12 */ jal chrSetFiring -/* f041a50: 8fa5027c */ lw $a1,0x27c($sp) -/* f041a54: 10000004 */ b .L0f041a68 -/* f041a58: 8fbf0044 */ lw $ra,0x44($sp) -.L0f041a5c: -/* f041a5c: 0fc0fe12 */ jal chrSetFiring -/* f041a60: 8fa60268 */ lw $a2,0x268($sp) -/* f041a64: 8fbf0044 */ lw $ra,0x44($sp) -.L0f041a68: -/* f041a68: 27bd0278 */ addiu $sp,$sp,0x278 -/* f041a6c: 03e00008 */ jr $ra -/* f041a70: 00000000 */ nop -); -#else -GLOBAL_ASM( -glabel chrShoot -.late_rodata -glabel var7f1a90c8 -.word 0x3d638e39 -glabel var7f1a90cc -.word 0x481c4000 -glabel var7f1a90d0 -.word 0x3fd55555 -glabel var7f1a90d4 -.word 0x3fd55555 -glabel var7f1a90d8 -.word 0x3fd55555 -glabel var7f1a90dc -.word 0x461c4000 -glabel var7f1a90e0 -.word chrShoot+0x14c4 -glabel var7f1a90e4 -.word chrShoot+0x14c4 -glabel var7f1a90e8 -.word chrShoot+0x14c4 -glabel var7f1a90ec -.word chrShoot+0x14c4 -glabel var7f1a90f0 -.word chrShoot+0x14c4 -glabel var7f1a90f4 -.word chrShoot+0x14c4 -glabel var7f1a90f8 -.word chrShoot+0x14c4 -glabel var7f1a90fc -.word chrShoot+0x14c4 -glabel var7f1a9100 -.word chrShoot+0x14c4 -glabel var7f1a9104 -.word chrShoot+0x14c4 -glabel var7f1a9108 -.word chrShoot+0x14c4 -glabel var7f1a910c -.word chrShoot+0x14c4 -glabel var7f1a9110 -.word chrShoot+0x14c4 -glabel var7f1a9114 -.word chrShoot+0x14c4 -glabel var7f1a9118 -.word chrShoot+0x14c4 -glabel var7f1a911c -.word chrShoot+0x14c4 -glabel var7f1a9120 -.word chrShoot+0x14c4 -glabel var7f1a9124 -.word chrShoot+0x14d0 -glabel var7f1a9128 -.word chrShoot+0x14c4 -glabel var7f1a912c -.word chrShoot+0x14c4 -glabel var7f1a9130 -.word chrShoot+0x14c4 -glabel var7f1a9134 -.word chrShoot+0x14d0 -glabel var7f1a9138 -.word chrShoot+0x14d0 -glabel var7f1a913c -.word chrShoot+0x14d0 -glabel var7f1a9140 -.word chrShoot+0x14d0 -glabel var7f1a9144 -.word chrShoot+0x14d0 -glabel var7f1a9148 -.word chrShoot+0x14c4 -glabel var7f1a914c -.word chrShoot+0x14c4 -glabel var7f1a9150 -.word chrShoot+0x14d0 -glabel var7f1a9154 -.word chrShoot+0x14d0 -glabel var7f1a9158 -.word chrShoot+0x14d0 -glabel var7f1a915c -.word chrShoot+0x14d0 -glabel var7f1a9160 -.word chrShoot+0x14d0 -glabel var7f1a9164 -.word chrShoot+0x14d0 -glabel var7f1a9168 -.word chrShoot+0x14c4 -glabel var7f1a916c -.word chrShoot+0x14c4 -glabel var7f1a9170 -.word chrShoot+0x14c4 -glabel var7f1a9174 -.word chrShoot+0x14c4 -glabel var7f1a9178 -.word chrShoot+0x14c4 -glabel var7f1a917c -.word chrShoot+0x14c4 -glabel var7f1a9180 -.word chrShoot+0x14c4 -glabel var7f1a9184 -.word chrShoot+0x14c4 -.text -/* f03fcb4: 27bdfd88 */ addiu $sp,$sp,-632 -/* f03fcb8: afbf0044 */ sw $ra,0x44($sp) -/* f03fcbc: afa5027c */ sw $a1,0x27c($sp) -/* f03fcc0: 8c8e001c */ lw $t6,0x1c($a0) -/* f03fcc4: 240f0001 */ addiu $t7,$zero,0x1 -/* f03fcc8: a3af026e */ sb $t7,0x26e($sp) -/* f03fccc: afae0274 */ sw $t6,0x274($sp) -/* f03fcd0: 8c9802d4 */ lw $t8,0x2d4($a0) -/* f03fcd4: 00001025 */ or $v0,$zero,$zero -/* f03fcd8: 8fa5027c */ lw $a1,0x27c($sp) -/* f03fcdc: 53000003 */ beqzl $t8,.NB0f03fcec -/* f03fce0: a3a2026f */ sb $v0,0x26f($sp) -/* f03fce4: 24020001 */ addiu $v0,$zero,0x1 -/* f03fce8: a3a2026f */ sb $v0,0x26f($sp) -.NB0f03fcec: -/* f03fcec: 0fc0a074 */ jal chrGetHeldProp -/* f03fcf0: afa40278 */ sw $a0,0x278($sp) -/* f03fcf4: 5040054e */ beqzl $v0,.NB0f041230 -/* f03fcf8: 8fbf0044 */ lw $ra,0x44($sp) -/* f03fcfc: afa00268 */ sw $zero,0x268($sp) -/* f03fd00: 8c590004 */ lw $t9,0x4($v0) -/* f03fd04: 8fa40278 */ lw $a0,0x278($sp) -/* f03fd08: 0fc0a08c */ jal chrGetTargetProp -/* f03fd0c: afb90264 */ sw $t9,0x264($sp) -/* f03fd10: 8fab0264 */ lw $t3,0x264($sp) -/* f03fd14: afa2025c */ sw $v0,0x25c($sp) -/* f03fd18: 8fa70278 */ lw $a3,0x278($sp) -/* f03fd1c: 8961005c */ lwl $at,0x5c($t3) -/* f03fd20: 9961005f */ lwr $at,0x5f($t3) -/* f03fd24: 27aa0260 */ addiu $t2,$sp,0x260 -/* f03fd28: 24080200 */ addiu $t0,$zero,0x200 -/* f03fd2c: ad410000 */ sw $at,0x0($t2) -/* f03fd30: 80e30007 */ lb $v1,0x7($a3) -/* f03fd34: 24010008 */ addiu $at,$zero,0x8 -/* f03fd38: 10610007 */ beq $v1,$at,.NB0f03fd58 -/* f03fd3c: 2401001b */ addiu $at,$zero,0x1b -/* f03fd40: 10610005 */ beq $v1,$at,.NB0f03fd58 -/* f03fd44: 2401001c */ addiu $at,$zero,0x1c -/* f03fd48: 10610003 */ beq $v1,$at,.NB0f03fd58 -/* f03fd4c: 2401001d */ addiu $at,$zero,0x1d -/* f03fd50: 54610003 */ bnel $v1,$at,.NB0f03fd60 -/* f03fd54: afa00250 */ sw $zero,0x250($sp) -.NB0f03fd58: -/* f03fd58: 8ce8004c */ lw $t0,0x4c($a3) -/* f03fd5c: afa00250 */ sw $zero,0x250($sp) -.NB0f03fd60: -/* f03fd60: afa00224 */ sw $zero,0x224($sp) -/* f03fd64: afa00210 */ sw $zero,0x210($sp) -/* f03fd68: 93a40260 */ lbu $a0,0x260($sp) -/* f03fd6c: 93a50263 */ lbu $a1,0x263($sp) -/* f03fd70: afa00254 */ sw $zero,0x254($sp) -/* f03fd74: 0fc2bf12 */ jal weaponGetNumTicksPerShot -/* f03fd78: afa80258 */ sw $t0,0x258($sp) -/* f03fd7c: 8fa60254 */ lw $a2,0x254($sp) -/* f03fd80: 1c400005 */ bgtz $v0,.NB0f03fd98 -/* f03fd84: 00402025 */ or $a0,$v0,$zero -/* f03fd88: 240f0001 */ addiu $t7,$zero,0x1 -/* f03fd8c: 24060001 */ addiu $a2,$zero,0x1 -/* f03fd90: 10000055 */ beqz $zero,.NB0f03fee8 -/* f03fd94: afaf0250 */ sw $t7,0x250($sp) -.NB0f03fd98: -/* f03fd98: 8fb80278 */ lw $t8,0x278($sp) -/* f03fd9c: 8f0302d4 */ lw $v1,0x2d4($t8) -/* f03fda0: 5060001d */ beqzl $v1,.NB0f03fe18 -/* f03fda4: 8faa0278 */ lw $t2,0x278($sp) -/* f03fda8: 8c790020 */ lw $t9,0x20($v1) -/* f03fdac: 24010014 */ addiu $at,$zero,0x14 -/* f03fdb0: 57210019 */ bnel $t9,$at,.NB0f03fe18 -/* f03fdb4: 8faa0278 */ lw $t2,0x278($sp) -/* f03fdb8: 8c6d004c */ lw $t5,0x4c($v1) -/* f03fdbc: 8fab027c */ lw $t3,0x27c($sp) -/* f03fdc0: 000d5080 */ sll $t2,$t5,0x2 -/* f03fdc4: 05400013 */ bltz $t2,.NB0f03fe14 -/* f03fdc8: 000b7040 */ sll $t6,$t3,0x1 -/* f03fdcc: 006e7821 */ addu $t7,$v1,$t6 -/* f03fdd0: 85f800e0 */ lh $t8,0xe0($t7) -/* f03fdd4: 2419005a */ addiu $t9,$zero,0x5a -/* f03fdd8: 3c017f1a */ lui $at,0x7f1a -/* f03fddc: 03386823 */ subu $t5,$t9,$t8 -/* f03fde0: 448d2000 */ mtc1 $t5,$f4 -/* f03fde4: c42833fc */ lwc1 $f8,0x33fc($at) -/* f03fde8: 44825000 */ mtc1 $v0,$f10 -/* f03fdec: 468021a0 */ cvt.s.w $f6,$f4 -/* f03fdf0: 3c013f80 */ lui $at,0x3f80 -/* f03fdf4: 44819000 */ mtc1 $at,$f18 -/* f03fdf8: 46805420 */ cvt.s.w $f16,$f10 -/* f03fdfc: 46083002 */ mul.s $f0,$f6,$f8 -/* f03fe00: 46009100 */ add.s $f4,$f18,$f0 -/* f03fe04: 46048182 */ mul.s $f6,$f16,$f4 -/* f03fe08: 4600320d */ trunc.w.s $f8,$f6 -/* f03fe0c: 44044000 */ mfc1 $a0,$f8 -/* f03fe10: 00000000 */ sll $zero,$zero,0x0 -.NB0f03fe14: -/* f03fe14: 8faa0278 */ lw $t2,0x278($sp) -.NB0f03fe18: -/* f03fe18: 8fab027c */ lw $t3,0x27c($sp) -/* f03fe1c: 3c0f800a */ lui $t7,0x800a -/* f03fe20: 8defe6f8 */ lw $t7,-0x1908($t7) -/* f03fe24: 014b1821 */ addu $v1,$t2,$t3 -/* f03fe28: 906e0004 */ lbu $t6,0x4($v1) -/* f03fe2c: 01cfc821 */ addu $t9,$t6,$t7 -/* f03fe30: 333800ff */ andi $t8,$t9,0xff -/* f03fe34: 0304082a */ slt $at,$t8,$a0 -/* f03fe38: 1420002b */ bnez $at,.NB0f03fee8 -/* f03fe3c: a0790004 */ sb $t9,0x4($v1) -/* f03fe40: a0600004 */ sb $zero,0x4($v1) -/* f03fe44: 8faa0278 */ lw $t2,0x278($sp) -/* f03fe48: 8fad027c */ lw $t5,0x27c($sp) -/* f03fe4c: 240c0001 */ addiu $t4,$zero,0x1 -/* f03fe50: 8d4b032c */ lw $t3,0x32c($t2) -/* f03fe54: 01ac1004 */ sllv $v0,$t4,$t5 -/* f03fe58: 24060001 */ addiu $a2,$zero,0x1 -/* f03fe5c: 000b7300 */ sll $t6,$t3,0xc -/* f03fe60: 914b032d */ lbu $t3,0x32d($t2) -/* f03fe64: 000e7f82 */ srl $t7,$t6,0x1e -/* f03fe68: 01e2c026 */ xor $t8,$t7,$v0 -/* f03fe6c: 00186080 */ sll $t4,$t8,0x2 -/* f03fe70: 318d000c */ andi $t5,$t4,0xc -/* f03fe74: 316efff3 */ andi $t6,$t3,0xfff3 -/* f03fe78: 01ae7825 */ or $t7,$t5,$t6 -/* f03fe7c: a14f032d */ sb $t7,0x32d($t2) -/* f03fe80: 8d59032c */ lw $t9,0x32c($t2) -/* f03fe84: 93ad0260 */ lbu $t5,0x260($sp) -/* f03fe88: 2401001d */ addiu $at,$zero,0x1d -/* f03fe8c: 0019c300 */ sll $t8,$t9,0xc -/* f03fe90: 00186782 */ srl $t4,$t8,0x1e -/* f03fe94: 01825824 */ and $t3,$t4,$v0 -/* f03fe98: 15600003 */ bnez $t3,.NB0f03fea8 -/* f03fe9c: 240e0001 */ addiu $t6,$zero,0x1 -/* f03fea0: 55a10003 */ bnel $t5,$at,.NB0f03feb0 -/* f03fea4: 8faf0278 */ lw $t7,0x278($sp) -.NB0f03fea8: -/* f03fea8: afae0250 */ sw $t6,0x250($sp) -/* f03feac: 8faf0278 */ lw $t7,0x278($sp) -.NB0f03feb0: -/* f03feb0: 24010008 */ addiu $at,$zero,0x8 -/* f03feb4: 81ea0007 */ lb $t2,0x7($t7) -/* f03feb8: 1541000b */ bne $t2,$at,.NB0f03fee8 -/* f03febc: 00000000 */ sll $zero,$zero,0x0 -/* f03fec0: 8de40020 */ lw $a0,0x20($t7) -/* f03fec4: 0c00786f */ jal modelGetAnimNum -/* f03fec8: afa60254 */ sw $a2,0x254($sp) -/* f03fecc: 2401026a */ addiu $at,$zero,0x26a -/* f03fed0: 14410005 */ bne $v0,$at,.NB0f03fee8 -/* f03fed4: 8fa60254 */ lw $a2,0x254($sp) -/* f03fed8: 8fb90278 */ lw $t9,0x278($sp) -/* f03fedc: 83380033 */ lb $t8,0x33($t9) -/* f03fee0: 270c0001 */ addiu $t4,$t8,0x1 -/* f03fee4: a32c0033 */ sb $t4,0x33($t9) -.NB0f03fee8: -/* f03fee8: 50c00495 */ beqzl $a2,.NB0f041140 -/* f03feec: 8fa80268 */ lw $t0,0x268($sp) -/* f03fef0: 0fc0f779 */ jal chrGetAimAngle -/* f03fef4: 8fa40278 */ lw $a0,0x278($sp) -/* f03fef8: e7a00204 */ swc1 $f0,0x204($sp) -/* f03fefc: 0fc0f7d2 */ jal func0f03e754 -/* f03ff00: 8fa40278 */ lw $a0,0x278($sp) -/* f03ff04: 93ab026f */ lbu $t3,0x26f($sp) -/* f03ff08: e7a00200 */ swc1 $f0,0x200($sp) -/* f03ff0c: 240e0001 */ addiu $t6,$zero,0x1 -/* f03ff10: 11600004 */ beqz $t3,.NB0f03ff24 -/* f03ff14: 27a60244 */ addiu $a2,$sp,0x244 -/* f03ff18: 240d0004 */ addiu $t5,$zero,0x4 -/* f03ff1c: 10000002 */ beqz $zero,.NB0f03ff28 -/* f03ff20: afad01fc */ sw $t5,0x1fc($sp) -.NB0f03ff24: -/* f03ff24: afa001fc */ sw $zero,0x1fc($sp) -.NB0f03ff28: -/* f03ff28: afae0268 */ sw $t6,0x268($sp) -/* f03ff2c: 8fa40278 */ lw $a0,0x278($sp) -/* f03ff30: 0fc0fd76 */ jal chrGetGunPos -/* f03ff34: 8fa5027c */ lw $a1,0x27c($sp) -/* f03ff38: 54400032 */ bnezl $v0,.NB0f040004 -/* f03ff3c: 8fa40278 */ lw $a0,0x278($sp) -/* f03ff40: 8fa20274 */ lw $v0,0x274($sp) -/* f03ff44: 3c0141f0 */ lui $at,0x41f0 -/* f03ff48: 44818000 */ mtc1 $at,$f16 -/* f03ff4c: c44a0008 */ lwc1 $f10,0x8($v0) -/* f03ff50: 8faa027c */ lw $t2,0x27c($sp) -/* f03ff54: 24010001 */ addiu $at,$zero,0x1 -/* f03ff58: e7aa0244 */ swc1 $f10,0x244($sp) -/* f03ff5c: c452000c */ lwc1 $f18,0xc($v0) -/* f03ff60: 46109100 */ add.s $f4,$f18,$f16 -/* f03ff64: e7a40248 */ swc1 $f4,0x248($sp) -/* f03ff68: c4460010 */ lwc1 $f6,0x10($v0) -/* f03ff6c: 15410013 */ bne $t2,$at,.NB0f03ffbc -/* f03ff70: e7a6024c */ swc1 $f6,0x24c($sp) -/* f03ff74: 0c006d52 */ jal cosf -/* f03ff78: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f03ff7c: 3c014120 */ lui $at,0x4120 -/* f03ff80: 44815000 */ mtc1 $at,$f10 -/* f03ff84: c7a80244 */ lwc1 $f8,0x244($sp) -/* f03ff88: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f03ff8c: 460a0482 */ mul.s $f18,$f0,$f10 -/* f03ff90: 46124400 */ add.s $f16,$f8,$f18 -/* f03ff94: 0c006d55 */ jal sinf -/* f03ff98: e7b00244 */ swc1 $f16,0x244($sp) -/* f03ff9c: 3c014120 */ lui $at,0x4120 -/* f03ffa0: 44813000 */ mtc1 $at,$f6 -/* f03ffa4: 46000107 */ neg.s $f4,$f0 -/* f03ffa8: c7a8024c */ lwc1 $f8,0x24c($sp) -/* f03ffac: 46062282 */ mul.s $f10,$f4,$f6 -/* f03ffb0: 460a4480 */ add.s $f18,$f8,$f10 -/* f03ffb4: 10000012 */ beqz $zero,.NB0f040000 -/* f03ffb8: e7b2024c */ swc1 $f18,0x24c($sp) -.NB0f03ffbc: -/* f03ffbc: 0c006d52 */ jal cosf -/* f03ffc0: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f03ffc4: 3c014120 */ lui $at,0x4120 -/* f03ffc8: 44812000 */ mtc1 $at,$f4 -/* f03ffcc: 46000407 */ neg.s $f16,$f0 -/* f03ffd0: c7a80244 */ lwc1 $f8,0x244($sp) -/* f03ffd4: 46048182 */ mul.s $f6,$f16,$f4 -/* f03ffd8: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f03ffdc: 46064280 */ add.s $f10,$f8,$f6 -/* f03ffe0: 0c006d55 */ jal sinf -/* f03ffe4: e7aa0244 */ swc1 $f10,0x244($sp) -/* f03ffe8: 3c014120 */ lui $at,0x4120 -/* f03ffec: 44818000 */ mtc1 $at,$f16 -/* f03fff0: c7b2024c */ lwc1 $f18,0x24c($sp) -/* f03fff4: 46100102 */ mul.s $f4,$f0,$f16 -/* f03fff8: 46049200 */ add.s $f8,$f18,$f4 -/* f03fffc: e7a8024c */ swc1 $f8,0x24c($sp) -.NB0f040000: -/* f040000: 8fa40278 */ lw $a0,0x278($sp) -.NB0f040004: -/* f040004: 0fc07927 */ jal chrSetPerimEnabled -/* f040008: 00002825 */ or $a1,$zero,$zero -/* f04000c: 8fb801fc */ lw $t8,0x1fc($sp) -/* f040010: 8faf0274 */ lw $t7,0x274($sp) -/* f040014: 24190010 */ addiu $t9,$zero,0x10 -/* f040018: 370c082a */ ori $t4,$t8,0x82a -/* f04001c: afac0010 */ sw $t4,0x10($sp) -/* f040020: afb90014 */ sw $t9,0x14($sp) -/* f040024: 27a60244 */ addiu $a2,$sp,0x244 -/* f040028: 27a70234 */ addiu $a3,$sp,0x234 -/* f04002c: 25e40008 */ addiu $a0,$t7,0x8 -/* f040030: 0c00bc8f */ jal cd0002de34 -/* f040034: 25e50028 */ addiu $a1,$t7,0x28 -/* f040038: 14400002 */ bnez $v0,.NB0f040044 -/* f04003c: 24050001 */ addiu $a1,$zero,0x1 -/* f040040: afa00268 */ sw $zero,0x268($sp) -.NB0f040044: -/* f040044: 0fc07927 */ jal chrSetPerimEnabled -/* f040048: 8fa40278 */ lw $a0,0x278($sp) -/* f04004c: 8fab0268 */ lw $t3,0x268($sp) -/* f040050: 240d0001 */ addiu $t5,$zero,0x1 -/* f040054: 5160043a */ beqzl $t3,.NB0f041140 -/* f040058: 8fa80268 */ lw $t0,0x268($sp) -/* f04005c: 93ae026f */ lbu $t6,0x26f($sp) -/* f040060: afa001f8 */ sw $zero,0x1f8($sp) -/* f040064: afa001f4 */ sw $zero,0x1f4($sp) -/* f040068: afad01f0 */ sw $t5,0x1f0($sp) -/* f04006c: 11c00004 */ beqz $t6,.NB0f040080 -/* f040070: afa001cc */ sw $zero,0x1cc($sp) -/* f040074: 240a083f */ addiu $t2,$zero,0x83f -/* f040078: 10000003 */ beqz $zero,.NB0f040088 -/* f04007c: afaa01c8 */ sw $t2,0x1c8($sp) -.NB0f040080: -/* f040080: 240f083b */ addiu $t7,$zero,0x83b -/* f040084: afaf01c8 */ sw $t7,0x1c8($sp) -.NB0f040088: -/* f040088: 8fa7025c */ lw $a3,0x25c($sp) -/* f04008c: 8ce20004 */ lw $v0,0x4($a3) -/* f040090: 50400004 */ beqzl $v0,.NB0f0400a4 -/* f040094: 00004825 */ or $t1,$zero,$zero -/* f040098: 10000002 */ beqz $zero,.NB0f0400a4 -/* f04009c: 904902fe */ lbu $t1,0x2fe($v0) -/* f0400a0: 00004825 */ or $t1,$zero,$zero -.NB0f0400a4: -/* f0400a4: 39220003 */ xori $v0,$t1,0x3 -/* f0400a8: 2c420001 */ sltiu $v0,$v0,0x1 -/* f0400ac: 1040000f */ beqz $v0,.NB0f0400ec -/* f0400b0: 00401825 */ or $v1,$v0,$zero -/* f0400b4: afa2005c */ sw $v0,0x5c($sp) -/* f0400b8: 0fc121b6 */ jal chrGetDistanceToTarget -/* f0400bc: 8fa40278 */ lw $a0,0x278($sp) -/* f0400c0: 3c014316 */ lui $at,0x4316 -/* f0400c4: 44813000 */ mtc1 $at,$f6 -/* f0400c8: 0000c025 */ or $t8,$zero,$zero -/* f0400cc: 4600303c */ c.lt.s $f6,$f0 -/* f0400d0: 00000000 */ sll $zero,$zero,0x0 -/* f0400d4: 45020003 */ bc1fl .NB0f0400e4 -/* f0400d8: afb8005c */ sw $t8,0x5c($sp) -/* f0400dc: 24180001 */ addiu $t8,$zero,0x1 -/* f0400e0: afb8005c */ sw $t8,0x5c($sp) -.NB0f0400e4: -/* f0400e4: 8fa7025c */ lw $a3,0x25c($sp) -/* f0400e8: 03001825 */ or $v1,$t8,$zero -.NB0f0400ec: -/* f0400ec: afa301c0 */ sw $v1,0x1c0($sp) -/* f0400f0: 10600016 */ beqz $v1,.NB0f04014c -/* f0400f4: afa001bc */ sw $zero,0x1bc($sp) -/* f0400f8: c4ea0008 */ lwc1 $f10,0x8($a3) -/* f0400fc: c7b00244 */ lwc1 $f16,0x244($sp) -/* f040100: c7a80248 */ lwc1 $f8,0x248($sp) -/* f040104: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f040108: 46105481 */ sub.s $f18,$f10,$f16 -/* f04010c: c7b0024c */ lwc1 $f16,0x24c($sp) -/* f040110: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040114: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040118: e7b201e0 */ swc1 $f18,0x1e0($sp) -/* f04011c: c4e4000c */ lwc1 $f4,0xc($a3) -/* f040120: 46082181 */ sub.s $f6,$f4,$f8 -/* f040124: e7a601e4 */ swc1 $f6,0x1e4($sp) -/* f040128: c4ea0010 */ lwc1 $f10,0x10($a3) -/* f04012c: 46105481 */ sub.s $f18,$f10,$f16 -/* f040130: 0c0012a8 */ jal guNormalize -/* f040134: e7b201e8 */ swc1 $f18,0x1e8($sp) -/* f040138: 8fa4025c */ lw $a0,0x25c($sp) -/* f04013c: 0fc18cfb */ jal propSetPerimEnabled -/* f040140: 24050001 */ addiu $a1,$zero,0x1 -/* f040144: 1000002f */ beqz $zero,.NB0f040204 -/* f040148: 8fab0278 */ lw $t3,0x278($sp) -.NB0f04014c: -/* f04014c: 0c006d52 */ jal cosf -/* f040150: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040154: e7a00060 */ swc1 $f0,0x60($sp) -/* f040158: 0c006d55 */ jal sinf -/* f04015c: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f040160: c7a40060 */ lwc1 $f4,0x60($sp) -/* f040164: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040168: 46040202 */ mul.s $f8,$f0,$f4 -/* f04016c: 0c006d55 */ jal sinf -/* f040170: e7a801e0 */ swc1 $f8,0x1e0($sp) -/* f040174: e7a001e4 */ swc1 $f0,0x1e4($sp) -/* f040178: 0c006d52 */ jal cosf -/* f04017c: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f040180: e7a00060 */ swc1 $f0,0x60($sp) -/* f040184: 0c006d52 */ jal cosf -/* f040188: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f04018c: c7a60060 */ lwc1 $f6,0x60($sp) -/* f040190: 93ac026f */ lbu $t4,0x26f($sp) -/* f040194: 46060282 */ mul.s $f10,$f0,$f6 -/* f040198: 11800019 */ beqz $t4,.NB0f040200 -/* f04019c: e7aa01e8 */ swc1 $f10,0x1e8($sp) -/* f0401a0: 0fc62d37 */ jal botGuessCrouchPos -/* f0401a4: 8fa40278 */ lw $a0,0x278($sp) -/* f0401a8: 8fb90278 */ lw $t9,0x278($sp) -/* f0401ac: 00404825 */ or $t1,$v0,$zero -/* f0401b0: 8fae0278 */ lw $t6,0x278($sp) -/* f0401b4: 8f280170 */ lw $t0,0x170($t9) -/* f0401b8: 0008582b */ sltu $t3,$zero,$t0 -/* f0401bc: 11600004 */ beqz $t3,.NB0f0401d0 -/* f0401c0: 01604025 */ or $t0,$t3,$zero -/* f0401c4: 8f280174 */ lw $t0,0x174($t9) -/* f0401c8: 0008682b */ sltu $t5,$zero,$t0 -/* f0401cc: 01a04025 */ or $t0,$t5,$zero -.NB0f0401d0: -/* f0401d0: 8dc302d4 */ lw $v1,0x2d4($t6) -/* f0401d4: 8fb8027c */ lw $t8,0x27c($sp) -/* f0401d8: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f0401dc: 8c66004c */ lw $a2,0x4c($v1) -/* f0401e0: 00786021 */ addu $t4,$v1,$t8 -/* f0401e4: 9187004d */ lbu $a3,0x4d($t4) -/* f0401e8: 8c650020 */ lw $a1,0x20($v1) -/* f0401ec: 00065080 */ sll $t2,$a2,0x2 -/* f0401f0: 000a37c2 */ srl $a2,$t2,0x1f -/* f0401f4: afa80014 */ sw $t0,0x14($sp) -/* f0401f8: 0fc27b58 */ jal bgunCalculateBotShotSpread -/* f0401fc: afa90010 */ sw $t1,0x10($sp) -.NB0f040200: -/* f040200: 8fab0278 */ lw $t3,0x278($sp) -.NB0f040204: -/* f040204: 93b90260 */ lbu $t9,0x260($sp) -/* f040208: 24010016 */ addiu $at,$zero,0x16 -/* f04020c: 8d6302d4 */ lw $v1,0x2d4($t3) -/* f040210: 50600018 */ beqzl $v1,.NB0f040274 -/* f040214: 3c014780 */ lui $at,0x4780 -/* f040218: 57210016 */ bnel $t9,$at,.NB0f040274 -/* f04021c: 3c014780 */ lui $at,0x4780 -/* f040220: 8c6d0128 */ lw $t5,0x128($v1) -/* f040224: 240e0001 */ addiu $t6,$zero,0x1 -/* f040228: 01602025 */ or $a0,$t3,$zero -/* f04022c: 15a00010 */ bnez $t5,.NB0f040270 -/* f040230: 00002825 */ or $a1,$zero,$zero -/* f040234: afae0250 */ sw $t6,0x250($sp) -/* f040238: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f04023c: 0fc64fd9 */ jal botactShootFarsight -/* f040240: 27a70244 */ addiu $a3,$sp,0x244 -/* f040244: 24010002 */ addiu $at,$zero,0x2 -/* f040248: 5441000a */ bnel $v0,$at,.NB0f040274 -/* f04024c: 3c014780 */ lui $at,0x4780 -/* f040250: 0c004d84 */ jal random -/* f040254: 00000000 */ sll $zero,$zero,0x0 -/* f040258: 240100ff */ addiu $at,$zero,0xff -/* f04025c: 0041001b */ divu $zero,$v0,$at -/* f040260: 00005010 */ mfhi $t2 -/* f040264: 2d4f00c9 */ sltiu $t7,$t2,0xc9 -/* f040268: 39ef0001 */ xori $t7,$t7,0x1 -/* f04026c: a3af026e */ sb $t7,0x26e($sp) -.NB0f040270: -/* f040270: 3c014780 */ lui $at,0x4780 -.NB0f040274: -/* f040274: 44810000 */ mtc1 $at,$f0 -/* f040278: c7b001e0 */ lwc1 $f16,0x1e0($sp) -/* f04027c: c7a40244 */ lwc1 $f4,0x244($sp) -/* f040280: c7a601e4 */ lwc1 $f6,0x1e4($sp) -/* f040284: 46008482 */ mul.s $f18,$f16,$f0 -/* f040288: c7b00248 */ lwc1 $f16,0x248($sp) -/* f04028c: 8fa40278 */ lw $a0,0x278($sp) -/* f040290: 46003282 */ mul.s $f10,$f6,$f0 -/* f040294: c7a6024c */ lwc1 $f6,0x24c($sp) -/* f040298: 00002825 */ or $a1,$zero,$zero -/* f04029c: 46049200 */ add.s $f8,$f18,$f4 -/* f0402a0: c7a401e8 */ lwc1 $f4,0x1e8($sp) -/* f0402a4: 46105480 */ add.s $f18,$f10,$f16 -/* f0402a8: e7a80228 */ swc1 $f8,0x228($sp) -/* f0402ac: 46002202 */ mul.s $f8,$f4,$f0 -/* f0402b0: e7b2022c */ swc1 $f18,0x22c($sp) -/* f0402b4: 46064280 */ add.s $f10,$f8,$f6 -/* f0402b8: 0fc07927 */ jal chrSetPerimEnabled -/* f0402bc: e7aa0230 */ swc1 $f10,0x230($sp) -/* f0402c0: 93b8026f */ lbu $t8,0x26f($sp) -/* f0402c4: 27a40244 */ addiu $a0,$sp,0x244 -/* f0402c8: 27a50234 */ addiu $a1,$sp,0x234 -/* f0402cc: 13000004 */ beqz $t8,.NB0f0402e0 -/* f0402d0: 27a60228 */ addiu $a2,$sp,0x228 -/* f0402d4: 240c0001 */ addiu $t4,$zero,0x1 -/* f0402d8: 3c01800a */ lui $at,0x800a -/* f0402dc: ac2ceb4c */ sw $t4,-0x14b4($at) -.NB0f0402e0: -/* f0402e0: 24190010 */ addiu $t9,$zero,0x10 -/* f0402e4: afb90010 */ sw $t9,0x10($sp) -/* f0402e8: 0c00bc66 */ jal cdTestAToB4 -/* f0402ec: 8fa701c8 */ lw $a3,0x1c8($sp) -/* f0402f0: 1440000a */ bnez $v0,.NB0f04031c -/* f0402f4: 240d0001 */ addiu $t5,$zero,0x1 -/* f0402f8: 3c067f1a */ lui $a2,0x7f1a -/* f0402fc: afad0224 */ sw $t5,0x224($sp) -/* f040300: 24c62e9c */ addiu $a2,$a2,0x2e9c -/* f040304: 27a40228 */ addiu $a0,$sp,0x228 -/* f040308: 0c0098a7 */ jal cdGetPos -/* f04030c: 24052f36 */ addiu $a1,$zero,0x2f36 -/* f040310: 0c0098a4 */ jal cdGetObstacle -/* f040314: 00000000 */ sll $zero,$zero,0x0 -/* f040318: afa201cc */ sw $v0,0x1cc($sp) -.NB0f04031c: -/* f04031c: 8fa40278 */ lw $a0,0x278($sp) -/* f040320: 0fc07927 */ jal chrSetPerimEnabled -/* f040324: 24050001 */ addiu $a1,$zero,0x1 -/* f040328: 93ae026f */ lbu $t6,0x26f($sp) -/* f04032c: 3c01800a */ lui $at,0x800a -/* f040330: 51c00003 */ beqzl $t6,.NB0f040340 -/* f040334: 8fab01cc */ lw $t3,0x1cc($sp) -/* f040338: ac20eb4c */ sw $zero,-0x14b4($at) -/* f04033c: 8fab01cc */ lw $t3,0x1cc($sp) -.NB0f040340: -/* f040340: 8faa01c0 */ lw $t2,0x1c0($sp) -/* f040344: 55600015 */ bnezl $t3,.NB0f04039c -/* f040348: c7a80228 */ lwc1 $f8,0x228($sp) -/* f04034c: 51400013 */ beqzl $t2,.NB0f04039c -/* f040350: c7a80228 */ lwc1 $f8,0x228($sp) -/* f040354: 0c004d84 */ jal random -/* f040358: 00000000 */ sll $zero,$zero,0x0 -/* f04035c: 24010064 */ addiu $at,$zero,0x64 -/* f040360: 0041001b */ divu $zero,$v0,$at -/* f040364: 00001810 */ mfhi $v1 -/* f040368: 2c6f0033 */ sltiu $t7,$v1,0x33 -/* f04036c: 39ef0001 */ xori $t7,$t7,0x1 -/* f040370: 11e00009 */ beqz $t7,.NB0f040398 -/* f040374: afaf01bc */ sw $t7,0x1bc($sp) -/* f040378: 8fb8025c */ lw $t8,0x25c($sp) -/* f04037c: afb801cc */ sw $t8,0x1cc($sp) -/* f040380: c7100008 */ lwc1 $f16,0x8($t8) -/* f040384: e7b00228 */ swc1 $f16,0x228($sp) -/* f040388: c712000c */ lwc1 $f18,0xc($t8) -/* f04038c: e7b2022c */ swc1 $f18,0x22c($sp) -/* f040390: c7040010 */ lwc1 $f4,0x10($t8) -/* f040394: e7a40230 */ swc1 $f4,0x230($sp) -.NB0f040398: -/* f040398: c7a80228 */ lwc1 $f8,0x228($sp) -.NB0f04039c: -/* f04039c: c7a60244 */ lwc1 $f6,0x244($sp) -/* f0403a0: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f0403a4: c7b00248 */ lwc1 $f16,0x248($sp) -/* f0403a8: 46064001 */ sub.s $f0,$f8,$f6 -/* f0403ac: c7b20230 */ lwc1 $f18,0x230($sp) -/* f0403b0: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f0403b4: 46105081 */ sub.s $f2,$f10,$f16 -/* f0403b8: 46000202 */ mul.s $f8,$f0,$f0 -/* f0403bc: 93a40260 */ lbu $a0,0x260($sp) -/* f0403c0: 46049301 */ sub.s $f12,$f18,$f4 -/* f0403c4: 46021182 */ mul.s $f6,$f2,$f2 -/* f0403c8: 24010018 */ addiu $at,$zero,0x18 -/* f0403cc: 460c6402 */ mul.s $f16,$f12,$f12 -/* f0403d0: 46064280 */ add.s $f10,$f8,$f6 -/* f0403d4: 46105480 */ add.s $f18,$f10,$f16 -/* f0403d8: 1081000f */ beq $a0,$at,.NB0f040418 -/* f0403dc: e7b201d0 */ swc1 $f18,0x1d0($sp) -/* f0403e0: 24010019 */ addiu $at,$zero,0x19 -/* f0403e4: 1081000c */ beq $a0,$at,.NB0f040418 -/* f0403e8: 24010012 */ addiu $at,$zero,0x12 -/* f0403ec: 14810003 */ bne $a0,$at,.NB0f0403fc -/* f0403f0: 93ac0263 */ lbu $t4,0x263($sp) -/* f0403f4: 24010001 */ addiu $at,$zero,0x1 -/* f0403f8: 11810007 */ beq $t4,$at,.NB0f040418 -.NB0f0403fc: -/* f0403fc: 24010017 */ addiu $at,$zero,0x17 -/* f040400: 10810005 */ beq $a0,$at,.NB0f040418 -/* f040404: 2401001b */ addiu $at,$zero,0x1b -/* f040408: 10810003 */ beq $a0,$at,.NB0f040418 -/* f04040c: 24010034 */ addiu $at,$zero,0x34 -/* f040410: 54810171 */ bnel $a0,$at,.NB0f0409d8 -/* f040414: 24010006 */ addiu $at,$zero,0x6 -.NB0f040418: -/* f040418: 93b9026f */ lbu $t9,0x26f($sp) -/* f04041c: afa00250 */ sw $zero,0x250($sp) -/* f040420: 3c017f1a */ lui $at,0x7f1a -/* f040424: 17200006 */ bnez $t9,.NB0f040440 -/* f040428: c7a801d0 */ lwc1 $f8,0x1d0($sp) -/* f04042c: c4243400 */ lwc1 $f4,0x3400($at) -/* f040430: 4608203c */ c.lt.s $f4,$f8 -/* f040434: 00000000 */ sll $zero,$zero,0x0 -/* f040438: 45020164 */ bc1fl .NB0f0409cc -/* f04043c: afa00268 */ sw $zero,0x268($sp) -.NB0f040440: -/* f040440: 0fc2bb4c */ jal weaponFindById -/* f040444: 00000000 */ sll $zero,$zero,0x0 -/* f040448: 93ad0263 */ lbu $t5,0x263($sp) -/* f04044c: 93a40260 */ lbu $a0,0x260($sp) -/* f040450: 24010018 */ addiu $at,$zero,0x18 -/* f040454: 000d7080 */ sll $t6,$t5,0x2 -/* f040458: 004e5821 */ addu $t3,$v0,$t6 -/* f04045c: 10810006 */ beq $a0,$at,.NB0f040478 -/* f040460: 8d630014 */ lw $v1,0x14($t3) -/* f040464: 24010034 */ addiu $at,$zero,0x34 -/* f040468: 10810003 */ beq $a0,$at,.NB0f040478 -/* f04046c: 24010019 */ addiu $at,$zero,0x19 -/* f040470: 5481000e */ bnel $a0,$at,.NB0f0404ac -/* f040474: 2401001b */ addiu $at,$zero,0x1b -.NB0f040478: -/* f040478: 8c6a0010 */ lw $t2,0x10($v1) -/* f04047c: 24050052 */ addiu $a1,$zero,0x52 -/* f040480: 8fa60278 */ lw $a2,0x278($sp) -/* f040484: 000a7840 */ sll $t7,$t2,0x1 -/* f040488: 05e30003 */ bgezl $t7,.NB0f040498 -/* f04048c: 8c640040 */ lw $a0,0x40($v1) -/* f040490: 24050053 */ addiu $a1,$zero,0x53 -/* f040494: 8c640040 */ lw $a0,0x40($v1) -.NB0f040498: -/* f040498: 0fc2282a */ jal weaponCreateProjectileFromWeaponNum -/* f04049c: afa300d4 */ sw $v1,0xd4($sp) -/* f0404a0: 1000002e */ beqz $zero,.NB0f04055c -/* f0404a4: afa201b8 */ sw $v0,0x1b8($sp) -/* f0404a8: 2401001b */ addiu $at,$zero,0x1b -.NB0f0404ac: -/* f0404ac: 1481000a */ bne $a0,$at,.NB0f0404d8 -/* f0404b0: 24050055 */ addiu $a1,$zero,0x55 -/* f0404b4: 8c640040 */ lw $a0,0x40($v1) -/* f0404b8: afa300d4 */ sw $v1,0xd4($sp) -/* f0404bc: 0fc2282a */ jal weaponCreateProjectileFromWeaponNum -/* f0404c0: 8fa60278 */ lw $a2,0x278($sp) -/* f0404c4: 10400025 */ beqz $v0,.NB0f04055c -/* f0404c8: afa201b8 */ sw $v0,0x1b8($sp) -/* f0404cc: 93b80263 */ lbu $t8,0x263($sp) -/* f0404d0: 10000022 */ beqz $zero,.NB0f04055c -/* f0404d4: a058005f */ sb $t8,0x5f($v0) -.NB0f0404d8: -/* f0404d8: 24010017 */ addiu $at,$zero,0x17 -/* f0404dc: 1481000a */ bne $a0,$at,.NB0f040508 -/* f0404e0: 24050054 */ addiu $a1,$zero,0x54 -/* f0404e4: 8c640040 */ lw $a0,0x40($v1) -/* f0404e8: afa300d4 */ sw $v1,0xd4($sp) -/* f0404ec: 0fc2282a */ jal weaponCreateProjectileFromWeaponNum -/* f0404f0: 8fa60278 */ lw $a2,0x278($sp) -/* f0404f4: 10400019 */ beqz $v0,.NB0f04055c -/* f0404f8: afa201b8 */ sw $v0,0x1b8($sp) -/* f0404fc: 93ac0263 */ lbu $t4,0x263($sp) -/* f040500: 10000016 */ beqz $zero,.NB0f04055c -/* f040504: a04c005f */ sb $t4,0x5f($v0) -.NB0f040508: -/* f040508: 24010012 */ addiu $at,$zero,0x12 -/* f04050c: 1481000b */ bne $a0,$at,.NB0f04053c -/* f040510: 3c0d800a */ lui $t5,0x800a -/* f040514: 8c640040 */ lw $a0,0x40($v1) -/* f040518: afa300d4 */ sw $v1,0xd4($sp) -/* f04051c: 24050054 */ addiu $a1,$zero,0x54 -/* f040520: 0fc2282a */ jal weaponCreateProjectileFromWeaponNum -/* f040524: 8fa60278 */ lw $a2,0x278($sp) -/* f040528: 1040000c */ beqz $v0,.NB0f04055c -/* f04052c: afa201b8 */ sw $v0,0x1b8($sp) -/* f040530: 24190002 */ addiu $t9,$zero,0x2 -/* f040534: 10000009 */ beqz $zero,.NB0f04055c -/* f040538: a059005f */ sb $t9,0x5f($v0) -.NB0f04053c: -/* f04053c: 8dade944 */ lw $t5,-0x16bc($t5) -/* f040540: 8c640040 */ lw $a0,0x40($v1) -/* f040544: 27a50260 */ addiu $a1,$sp,0x260 -/* f040548: 8dae00bc */ lw $t6,0xbc($t5) -/* f04054c: 8dc60004 */ lw $a2,0x4($t6) -/* f040550: 0fc227a4 */ jal weaponCreateProjectileFromGset -/* f040554: afa300d4 */ sw $v1,0xd4($sp) -/* f040558: afa201b8 */ sw $v0,0x1b8($sp) -.NB0f04055c: -/* f04055c: 1040011b */ beqz $v0,.NB0f0409cc -/* f040560: 8fab00d4 */ lw $t3,0xd4($sp) -/* f040564: 8d6a004c */ lw $t2,0x4c($t3) -/* f040568: 3c017f1a */ lui $at,0x7f1a -/* f04056c: c4303404 */ lwc1 $f16,0x3404($at) -/* f040570: 448a3000 */ mtc1 $t2,$f6 -/* f040574: 3c014270 */ lui $at,0x4270 -/* f040578: 44812000 */ mtc1 $at,$f4 -/* f04057c: 468032a0 */ cvt.s.w $f10,$f6 -/* f040580: 3c017f1a */ lui $at,0x7f1a -/* f040584: 93b8026f */ lbu $t8,0x26f($sp) -/* f040588: 8fa40278 */ lw $a0,0x278($sp) -/* f04058c: 2405001e */ addiu $a1,$zero,0x1e -/* f040590: 46105482 */ mul.s $f18,$f10,$f16 -/* f040594: c4303408 */ lwc1 $f16,0x3408($at) -/* f040598: 46049203 */ div.s $f8,$f18,$f4 -/* f04059c: e7a80168 */ swc1 $f8,0x168($sp) -/* f0405a0: 8d6f0054 */ lw $t7,0x54($t3) -/* f0405a4: 448f3000 */ mtc1 $t7,$f6 -/* f0405a8: 00000000 */ sll $zero,$zero,0x0 -/* f0405ac: 468032a0 */ cvt.s.w $f10,$f6 -/* f0405b0: 46105482 */ mul.s $f18,$f10,$f16 -/* f0405b4: 13000080 */ beqz $t8,.NB0f0407b8 -/* f0405b8: e7b200cc */ swc1 $f18,0xcc($sp) -/* f0405bc: 0fc1215e */ jal chrIsTargetInFov -/* f0405c0: 00003025 */ or $a2,$zero,$zero -/* f0405c4: 1040007c */ beqz $v0,.NB0f0407b8 -/* f0405c8: 00000000 */ sll $zero,$zero,0x0 -/* f0405cc: 93a20263 */ lbu $v0,0x263($sp) -/* f0405d0: 00001825 */ or $v1,$zero,$zero -/* f0405d4: 93a40260 */ lbu $a0,0x260($sp) -/* f0405d8: 14400025 */ bnez $v0,.NB0f040670 -/* f0405dc: 24010018 */ addiu $at,$zero,0x18 -/* f0405e0: 10810006 */ beq $a0,$at,.NB0f0405fc -/* f0405e4: 8fac025c */ lw $t4,0x25c($sp) -/* f0405e8: 24010034 */ addiu $at,$zero,0x34 -/* f0405ec: 10810003 */ beq $a0,$at,.NB0f0405fc -/* f0405f0: 24010019 */ addiu $at,$zero,0x19 -/* f0405f4: 5481001f */ bnel $a0,$at,.NB0f040674 -/* f0405f8: 93a40260 */ lbu $a0,0x260($sp) -.NB0f0405fc: -/* f0405fc: 91820000 */ lbu $v0,0x0($t4) -/* f040600: 24010003 */ addiu $at,$zero,0x3 -/* f040604: 8fb9025c */ lw $t9,0x25c($sp) -/* f040608: 10410003 */ beq $v0,$at,.NB0f040618 -/* f04060c: 24010006 */ addiu $at,$zero,0x6 -/* f040610: 14410051 */ bne $v0,$at,.NB0f040758 -/* f040614: 00000000 */ sll $zero,$zero,0x0 -.NB0f040618: -/* f040618: c7240008 */ lwc1 $f4,0x8($t9) -/* f04061c: c7aa0244 */ lwc1 $f10,0x244($sp) -/* f040620: c7b20248 */ lwc1 $f18,0x248($sp) -/* f040624: e7a400b8 */ swc1 $f4,0xb8($sp) -/* f040628: 8f2d0004 */ lw $t5,0x4($t9) -/* f04062c: 460a2401 */ sub.s $f16,$f4,$f10 -/* f040630: c7aa024c */ lwc1 $f10,0x24c($sp) -/* f040634: c5a800b4 */ lwc1 $f8,0xb4($t5) -/* f040638: 27a401e0 */ addiu $a0,$sp,0x1e0 -/* f04063c: 27a501e4 */ addiu $a1,$sp,0x1e4 -/* f040640: e7a800bc */ swc1 $f8,0xbc($sp) -/* f040644: c7260010 */ lwc1 $f6,0x10($t9) -/* f040648: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f04064c: 46124101 */ sub.s $f4,$f8,$f18 -/* f040650: 27a601e8 */ addiu $a2,$sp,0x1e8 -/* f040654: e7a600c0 */ swc1 $f6,0xc0($sp) -/* f040658: 460a3401 */ sub.s $f16,$f6,$f10 -/* f04065c: e7a401e4 */ swc1 $f4,0x1e4($sp) -/* f040660: 0c0012a8 */ jal guNormalize -/* f040664: e7b001e8 */ swc1 $f16,0x1e8($sp) -/* f040668: 1000003b */ beqz $zero,.NB0f040758 -/* f04066c: 24030001 */ addiu $v1,$zero,0x1 -.NB0f040670: -/* f040670: 93a40260 */ lbu $a0,0x260($sp) -.NB0f040674: -/* f040674: 24050017 */ addiu $a1,$zero,0x17 -/* f040678: 24010012 */ addiu $at,$zero,0x12 -/* f04067c: 14a40003 */ bne $a1,$a0,.NB0f04068c -/* f040680: 00000000 */ sll $zero,$zero,0x0 -/* f040684: 50400004 */ beqzl $v0,.NB0f040698 -/* f040688: 8fae025c */ lw $t6,0x25c($sp) -.NB0f04068c: -/* f04068c: 14810017 */ bne $a0,$at,.NB0f0406ec -/* f040690: 00000000 */ sll $zero,$zero,0x0 -/* f040694: 8fae025c */ lw $t6,0x25c($sp) -.NB0f040698: -/* f040698: 24010003 */ addiu $at,$zero,0x3 -/* f04069c: 8faa025c */ lw $t2,0x25c($sp) -/* f0406a0: 91c20000 */ lbu $v0,0x0($t6) -/* f0406a4: 10410003 */ beq $v0,$at,.NB0f0406b4 -/* f0406a8: 24010006 */ addiu $at,$zero,0x6 -/* f0406ac: 1441002a */ bne $v0,$at,.NB0f040758 -/* f0406b0: 00000000 */ sll $zero,$zero,0x0 -.NB0f0406b4: -/* f0406b4: c5480008 */ lwc1 $f8,0x8($t2) -/* f0406b8: 27a40244 */ addiu $a0,$sp,0x244 -/* f0406bc: 8fa500cc */ lw $a1,0xcc($sp) -/* f0406c0: e7a800b8 */ swc1 $f8,0xb8($sp) -/* f0406c4: 8d4b0004 */ lw $t3,0x4($t2) -/* f0406c8: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f0406cc: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f0406d0: c57200b4 */ lwc1 $f18,0xb4($t3) -/* f0406d4: e7b200bc */ swc1 $f18,0xbc($sp) -/* f0406d8: c5440010 */ lwc1 $f4,0x10($t2) -/* f0406dc: 0fc0febf */ jal chrCalculateTrajectory -/* f0406e0: e7a400c0 */ swc1 $f4,0xc0($sp) -/* f0406e4: 1000001c */ beqz $zero,.NB0f040758 -/* f0406e8: 24030001 */ addiu $v1,$zero,0x1 -.NB0f0406ec: -/* f0406ec: 14a40002 */ bne $a1,$a0,.NB0f0406f8 -/* f0406f0: 24010001 */ addiu $at,$zero,0x1 -/* f0406f4: 10410003 */ beq $v0,$at,.NB0f040704 -.NB0f0406f8: -/* f0406f8: 2401001b */ addiu $at,$zero,0x1b -/* f0406fc: 14810016 */ bne $a0,$at,.NB0f040758 -/* f040700: 00000000 */ sll $zero,$zero,0x0 -.NB0f040704: -/* f040704: 8faf025c */ lw $t7,0x25c($sp) -/* f040708: 24010006 */ addiu $at,$zero,0x6 -/* f04070c: 27a40244 */ addiu $a0,$sp,0x244 -/* f040710: c5e60008 */ lwc1 $f6,0x8($t7) -/* f040714: 27a600b8 */ addiu $a2,$sp,0xb8 -/* f040718: 27a701e0 */ addiu $a3,$sp,0x1e0 -/* f04071c: e7a600b8 */ swc1 $f6,0xb8($sp) -/* f040720: c5ea000c */ lwc1 $f10,0xc($t7) -/* f040724: e7aa00bc */ swc1 $f10,0xbc($sp) -/* f040728: c5f00010 */ lwc1 $f16,0x10($t7) -/* f04072c: e7b000c0 */ swc1 $f16,0xc0($sp) -/* f040730: 91f80000 */ lbu $t8,0x0($t7) -/* f040734: 17010005 */ bne $t8,$at,.NB0f04074c -/* f040738: 3c0141c8 */ lui $at,0x41c8 -/* f04073c: 44814000 */ mtc1 $at,$f8 -/* f040740: 00000000 */ sll $zero,$zero,0x0 -/* f040744: 46085481 */ sub.s $f18,$f10,$f8 -/* f040748: e7b200bc */ swc1 $f18,0xbc($sp) -.NB0f04074c: -/* f04074c: 0fc0febf */ jal chrCalculateTrajectory -/* f040750: 8fa500cc */ lw $a1,0xcc($sp) -/* f040754: 24030001 */ addiu $v1,$zero,0x1 -.NB0f040758: -/* f040758: 10600017 */ beqz $v1,.NB0f0407b8 -/* f04075c: 8fa40278 */ lw $a0,0x278($sp) -/* f040760: 0fc11fe5 */ jal chrGetAngleToPos -/* f040764: 27a500b8 */ addiu $a1,$sp,0xb8 -/* f040768: e7a000b4 */ swc1 $f0,0xb4($sp) -/* f04076c: 0c006d52 */ jal cosf -/* f040770: 46000306 */ mov.s $f12,$f0 -/* f040774: c7ac00b4 */ lwc1 $f12,0xb4($sp) -/* f040778: 0c006d55 */ jal sinf -/* f04077c: e7a000b0 */ swc1 $f0,0xb0($sp) -/* f040780: c7ac01e8 */ lwc1 $f12,0x1e8($sp) -/* f040784: c7ae00b0 */ lwc1 $f14,0xb0($sp) -/* f040788: c7a201e0 */ lwc1 $f2,0x1e0($sp) -/* f04078c: 460c0102 */ mul.s $f4,$f0,$f12 -/* f040790: 00000000 */ sll $zero,$zero,0x0 -/* f040794: 46027182 */ mul.s $f6,$f14,$f2 -/* f040798: 00000000 */ sll $zero,$zero,0x0 -/* f04079c: 460c7282 */ mul.s $f10,$f14,$f12 -/* f0407a0: 00000000 */ sll $zero,$zero,0x0 -/* f0407a4: 46020202 */ mul.s $f8,$f0,$f2 -/* f0407a8: 46062400 */ add.s $f16,$f4,$f6 -/* f0407ac: e7b001e0 */ swc1 $f16,0x1e0($sp) -/* f0407b0: 46085481 */ sub.s $f18,$f10,$f8 -/* f0407b4: e7b201e8 */ swc1 $f18,0x1e8($sp) -.NB0f0407b8: -/* f0407b8: 0c005a28 */ jal mtx4LoadIdentity -/* f0407bc: 27a40178 */ addiu $a0,$sp,0x178 -/* f0407c0: c7ac0200 */ lwc1 $f12,0x200($sp) -/* f0407c4: 0c005c9e */ jal mtx4LoadXRotation -/* f0407c8: 27a5011c */ addiu $a1,$sp,0x11c -/* f0407cc: c7ac0204 */ lwc1 $f12,0x204($sp) -/* f0407d0: 0c005cc1 */ jal mtx4LoadYRotation -/* f0407d4: 27a500dc */ addiu $a1,$sp,0xdc -/* f0407d8: 27a400dc */ addiu $a0,$sp,0xdc -/* f0407dc: 0c005ab4 */ jal mtx00015be0 -/* f0407e0: 27a5011c */ addiu $a1,$sp,0x11c -/* f0407e4: c7ac0168 */ lwc1 $f12,0x168($sp) -/* f0407e8: c7a401e0 */ lwc1 $f4,0x1e0($sp) -/* f0407ec: c7b001e4 */ lwc1 $f16,0x1e4($sp) -/* f0407f0: c7a801e8 */ lwc1 $f8,0x1e8($sp) -/* f0407f4: 460c2182 */ mul.s $f6,$f4,$f12 -/* f0407f8: c7a200cc */ lwc1 $f2,0xcc($sp) -/* f0407fc: 3c01800a */ lui $at,0x800a -/* f040800: 460c8282 */ mul.s $f10,$f16,$f12 -/* f040804: c420e70c */ lwc1 $f0,-0x18f4($at) -/* f040808: 8fac00d4 */ lw $t4,0xd4($sp) -/* f04080c: 460c4482 */ mul.s $f18,$f8,$f12 -/* f040810: e7a6015c */ swc1 $f6,0x15c($sp) -/* f040814: 8fa401b8 */ lw $a0,0x1b8($sp) -/* f040818: 46022102 */ mul.s $f4,$f4,$f2 -/* f04081c: e7aa0160 */ swc1 $f10,0x160($sp) -/* f040820: 2401ffff */ addiu $at,$zero,-1 -/* f040824: 46003182 */ mul.s $f6,$f6,$f0 -/* f040828: e7b20164 */ swc1 $f18,0x164($sp) -/* f04082c: 27a50244 */ addiu $a1,$sp,0x244 -/* f040830: 27a60234 */ addiu $a2,$sp,0x234 -/* f040834: 27a7011c */ addiu $a3,$sp,0x11c -/* f040838: 27ae016c */ addiu $t6,$sp,0x16c -/* f04083c: 27ab0178 */ addiu $t3,$sp,0x178 -/* f040840: 46062100 */ add.s $f4,$f4,$f6 -/* f040844: 46028182 */ mul.s $f6,$f16,$f2 -/* f040848: e7a4016c */ swc1 $f4,0x16c($sp) -/* f04084c: 46005102 */ mul.s $f4,$f10,$f0 -/* f040850: 46043400 */ add.s $f16,$f6,$f4 -/* f040854: 46024282 */ mul.s $f10,$f8,$f2 -/* f040858: 00000000 */ sll $zero,$zero,0x0 -/* f04085c: 46009182 */ mul.s $f6,$f18,$f0 -/* f040860: e7b00170 */ swc1 $f16,0x170($sp) -/* f040864: 46065100 */ add.s $f4,$f10,$f6 -/* f040868: e7a40174 */ swc1 $f4,0x174($sp) -/* f04086c: 8d8d0058 */ lw $t5,0x58($t4) -/* f040870: a48d0062 */ sh $t5,0x62($a0) -/* f040874: 84820062 */ lh $v0,0x62($a0) -/* f040878: 10410002 */ beq $v0,$at,.NB0f040884 -/* f04087c: 0002c880 */ sll $t9,$v0,0x2 -/* f040880: a4990062 */ sh $t9,0x62($a0) -.NB0f040884: -/* f040884: 8faa0274 */ lw $t2,0x274($sp) -/* f040888: afae0010 */ sw $t6,0x10($sp) -/* f04088c: afab0014 */ sw $t3,0x14($sp) -/* f040890: afa5001c */ sw $a1,0x1c($sp) -/* f040894: 0fc27298 */ jal bgun0f09ebcc -/* f040898: afaa0018 */ sw $t2,0x18($sp) -/* f04089c: 8fa301b8 */ lw $v1,0x1b8($sp) -/* f0408a0: 8fac00d4 */ lw $t4,0xd4($sp) -/* f0408a4: 8c6f0040 */ lw $t7,0x40($v1) -/* f0408a8: 31f80080 */ andi $t8,$t7,0x80 -/* f0408ac: 13000047 */ beqz $t8,.NB0f0409cc -/* f0408b0: 00000000 */ sll $zero,$zero,0x0 -/* f0408b4: 8d820010 */ lw $v0,0x10($t4) -/* f0408b8: 00026800 */ sll $t5,$v0,0x0 -/* f0408bc: 05a10007 */ bgez $t5,.NB0f0408dc -/* f0408c0: 00025900 */ sll $t3,$v0,0x4 -/* f0408c4: 8c620048 */ lw $v0,0x48($v1) -/* f0408c8: 3c014000 */ lui $at,0x4000 -/* f0408cc: 8c590000 */ lw $t9,0x0($v0) -/* f0408d0: 03217025 */ or $t6,$t9,$at -/* f0408d4: 10000007 */ beqz $zero,.NB0f0408f4 -/* f0408d8: ac4e0000 */ sw $t6,0x0($v0) -.NB0f0408dc: -/* f0408dc: 05630006 */ bgezl $t3,.NB0f0408f8 -/* f0408e0: c7b0015c */ lwc1 $f16,0x15c($sp) -/* f0408e4: 8c620048 */ lw $v0,0x48($v1) -/* f0408e8: 8c4a0000 */ lw $t2,0x0($v0) -/* f0408ec: 354f0010 */ ori $t7,$t2,0x10 -/* f0408f0: ac4f0000 */ sw $t7,0x0($v0) -.NB0f0408f4: -/* f0408f4: c7b0015c */ lwc1 $f16,0x15c($sp) -.NB0f0408f8: -/* f0408f8: 8c780048 */ lw $t8,0x48($v1) -/* f0408fc: 241900f0 */ addiu $t9,$zero,0xf0 -/* f040900: 3c017f1a */ lui $at,0x7f1a -/* f040904: e7100010 */ swc1 $f16,0x10($t8) -/* f040908: 8c6c0048 */ lw $t4,0x48($v1) -/* f04090c: c7a80160 */ lwc1 $f8,0x160($sp) -/* f040910: e5880014 */ swc1 $f8,0x14($t4) -/* f040914: 8c6d0048 */ lw $t5,0x48($v1) -/* f040918: c7b20164 */ lwc1 $f18,0x164($sp) -/* f04091c: e5b20018 */ swc1 $f18,0x18($t5) -/* f040920: 8c6e0048 */ lw $t6,0x48($v1) -/* f040924: add900b4 */ sw $t9,0xb4($t6) -/* f040928: 8fab00d4 */ lw $t3,0xd4($sp) -/* f04092c: 8c6a0048 */ lw $t2,0x48($v1) -/* f040930: c56a005c */ lwc1 $f10,0x5c($t3) -/* f040934: e54a008c */ swc1 $f10,0x8c($t2) -/* f040938: 8faf00d4 */ lw $t7,0xd4($sp) -/* f04093c: c424340c */ lwc1 $f4,0x340c($at) -/* f040940: 8c780048 */ lw $t8,0x48($v1) -/* f040944: c5e60050 */ lwc1 $f6,0x50($t7) -/* f040948: 46043402 */ mul.s $f16,$f6,$f4 -/* f04094c: e7100098 */ swc1 $f16,0x98($t8) -/* f040950: 0fc0a08c */ jal chrGetTargetProp -/* f040954: 8fa40278 */ lw $a0,0x278($sp) -/* f040958: 8fac01b8 */ lw $t4,0x1b8($sp) -/* f04095c: 3c01bf80 */ lui $at,0xbf80 -/* f040960: 00002025 */ or $a0,$zero,$zero -/* f040964: 8d8d0048 */ lw $t5,0x48($t4) -/* f040968: 2407ffff */ addiu $a3,$zero,-1 -/* f04096c: 240effff */ addiu $t6,$zero,-1 -/* f040970: ada200e8 */ sw $v0,0xe8($t5) -/* f040974: 8fb900d4 */ lw $t9,0xd4($sp) -/* f040978: 240bffff */ addiu $t3,$zero,-1 -/* f04097c: 87260060 */ lh $a2,0x60($t9) -/* f040980: 18c00012 */ blez $a2,.NB0f0409cc -/* f040984: 00000000 */ sll $zero,$zero,0x0 -/* f040988: 8d850014 */ lw $a1,0x14($t4) -/* f04098c: 44810000 */ mtc1 $at,$f0 -/* f040990: afab002c */ sw $t3,0x2c($sp) -/* f040994: afa00028 */ sw $zero,0x28($sp) -/* f040998: afa00020 */ sw $zero,0x20($sp) -/* f04099c: afa0001c */ sw $zero,0x1c($sp) -/* f0409a0: afa00018 */ sw $zero,0x18($sp) -/* f0409a4: afa00014 */ sw $zero,0x14($sp) -/* f0409a8: afae0010 */ sw $t6,0x10($sp) -/* f0409ac: e7a00024 */ swc1 $f0,0x24($sp) -/* f0409b0: e7a00030 */ swc1 $f0,0x30($sp) -/* f0409b4: e7a00034 */ swc1 $f0,0x34($sp) -/* f0409b8: 0fc24762 */ jal propsnd0f0939f8 -/* f0409bc: e7a00038 */ swc1 $f0,0x38($sp) -/* f0409c0: 10000002 */ beqz $zero,.NB0f0409cc -/* f0409c4: 00000000 */ sll $zero,$zero,0x0 -/* f0409c8: afa00268 */ sw $zero,0x268($sp) -.NB0f0409cc: -/* f0409cc: 10000019 */ beqz $zero,.NB0f040a34 -/* f0409d0: a3a0026e */ sb $zero,0x26e($sp) -/* f0409d4: 24010006 */ addiu $at,$zero,0x6 -.NB0f0409d8: -/* f0409d8: 14810016 */ bne $a0,$at,.NB0f040a34 -/* f0409dc: 93aa026f */ lbu $t2,0x26f($sp) -/* f0409e0: 11400014 */ beqz $t2,.NB0f040a34 -/* f0409e4: 93af0263 */ lbu $t7,0x263($sp) -/* f0409e8: 24010001 */ addiu $at,$zero,0x1 -/* f0409ec: 15e10011 */ bne $t7,$at,.NB0f040a34 -/* f0409f0: 8fad0278 */ lw $t5,0x278($sp) -/* f0409f4: 8fa2027c */ lw $v0,0x27c($sp) -/* f0409f8: 8db902d4 */ lw $t9,0x2d4($t5) -/* f0409fc: 3c014120 */ lui $at,0x4120 -/* f040a00: 0002c080 */ sll $t8,$v0,0x2 -/* f040a04: 03386021 */ addu $t4,$t9,$t8 -/* f040a08: c58800e4 */ lwc1 $f8,0xe4($t4) -/* f040a0c: 44819000 */ mtc1 $at,$f18 -/* f040a10: 44802000 */ mtc1 $zero,$f4 -/* f040a14: 46124282 */ mul.s $f10,$f8,$f18 -/* f040a18: 4600518d */ trunc.w.s $f6,$f10 -/* f040a1c: 440b3000 */ mfc1 $t3,$f6 -/* f040a20: 00000000 */ sll $zero,$zero,0x0 -/* f040a24: a3ab0262 */ sb $t3,0x262($sp) -/* f040a28: 8daa02d4 */ lw $t2,0x2d4($t5) -/* f040a2c: 01587821 */ addu $t7,$t2,$t8 -/* f040a30: e5e400e4 */ swc1 $f4,0xe4($t7) -.NB0f040a34: -/* f040a34: 93b8026e */ lbu $t8,0x26e($sp) -/* f040a38: 93b9026f */ lbu $t9,0x26f($sp) -/* f040a3c: 530001ba */ beqzl $t8,.NB0f041128 -/* f040a40: 8fac01c0 */ lw $t4,0x1c0($sp) -/* f040a44: 172000d0 */ bnez $t9,.NB0f040d88 -/* f040a48: 8fac0258 */ lw $t4,0x258($sp) -/* f040a4c: 318e0200 */ andi $t6,$t4,0x200 -/* f040a50: 11c00046 */ beqz $t6,.NB0f040b6c -/* f040a54: 8fab025c */ lw $t3,0x25c($sp) -/* f040a58: 916d0000 */ lbu $t5,0x0($t3) -/* f040a5c: 24010006 */ addiu $at,$zero,0x6 -/* f040a60: 8fa40278 */ lw $a0,0x278($sp) -/* f040a64: 15a10041 */ bne $t5,$at,.NB0f040b6c -/* f040a68: 27a50244 */ addiu $a1,$sp,0x244 -/* f040a6c: 27a60234 */ addiu $a2,$sp,0x234 -/* f040a70: 0fc0e2c1 */ jal chrCanSeeAttackTarget -/* f040a74: 00003825 */ or $a3,$zero,$zero -/* f040a78: 1040003c */ beqz $v0,.NB0f040b6c -/* f040a7c: 3c014170 */ lui $at,0x4170 -/* f040a80: 44817000 */ mtc1 $at,$f14 -/* f040a84: 8faa025c */ lw $t2,0x25c($sp) -/* f040a88: c7aa01e0 */ lwc1 $f10,0x1e0($sp) -/* f040a8c: c7a80244 */ lwc1 $f8,0x244($sp) -/* f040a90: c5500008 */ lwc1 $f16,0x8($t2) -/* f040a94: 460e5182 */ mul.s $f6,$f10,$f14 -/* f040a98: c7aa01e4 */ lwc1 $f10,0x1e4($sp) -/* f040a9c: 46088481 */ sub.s $f18,$f16,$f8 -/* f040aa0: c7b00248 */ lwc1 $f16,0x248($sp) -/* f040aa4: c544000c */ lwc1 $f4,0xc($t2) -/* f040aa8: 8fa40278 */ lw $a0,0x278($sp) -/* f040aac: 27a501f8 */ addiu $a1,$sp,0x1f8 -/* f040ab0: 46069001 */ sub.s $f0,$f18,$f6 -/* f040ab4: 460e5482 */ mul.s $f18,$f10,$f14 -/* f040ab8: c7aa01e8 */ lwc1 $f10,0x1e8($sp) -/* f040abc: 46102201 */ sub.s $f8,$f4,$f16 -/* f040ac0: c7a4024c */ lwc1 $f4,0x24c($sp) -/* f040ac4: c5460010 */ lwc1 $f6,0x10($t2) -/* f040ac8: 27a601f4 */ addiu $a2,$sp,0x1f4 -/* f040acc: 46124081 */ sub.s $f2,$f8,$f18 -/* f040ad0: 460e5202 */ mul.s $f8,$f10,$f14 -/* f040ad4: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f040ad8: 46043401 */ sub.s $f16,$f6,$f4 -/* f040adc: 46000182 */ mul.s $f6,$f0,$f0 -/* f040ae0: 00000000 */ sll $zero,$zero,0x0 -/* f040ae4: 46021102 */ mul.s $f4,$f2,$f2 -/* f040ae8: 46088301 */ sub.s $f12,$f16,$f8 -/* f040aec: 460c6402 */ mul.s $f16,$f12,$f12 -/* f040af0: 46043280 */ add.s $f10,$f6,$f4 -/* f040af4: 46105200 */ add.s $f8,$f10,$f16 -/* f040af8: 4612403e */ c.le.s $f8,$f18 -/* f040afc: 00000000 */ sll $zero,$zero,0x0 -/* f040b00: 4500002b */ bc1f .NB0f040bb0 -/* f040b04: 00000000 */ sll $zero,$zero,0x0 -/* f040b08: 0fc0fca9 */ jal chrCalculateHit -/* f040b0c: 27a70260 */ addiu $a3,$sp,0x260 -/* f040b10: 8faf01f4 */ lw $t7,0x1f4($sp) -/* f040b14: 8fb901f8 */ lw $t9,0x1f8($sp) -/* f040b18: 8fac0278 */ lw $t4,0x278($sp) -/* f040b1c: 2df80001 */ sltiu $t8,$t7,0x1 -/* f040b20: 13200023 */ beqz $t9,.NB0f040bb0 -/* f040b24: afb801f0 */ sw $t8,0x1f0($sp) -/* f040b28: 81830007 */ lb $v1,0x7($t4) -/* f040b2c: 24010008 */ addiu $at,$zero,0x8 -/* f040b30: 3c0e800a */ lui $t6,0x800a -/* f040b34: 1061000a */ beq $v1,$at,.NB0f040b60 -/* f040b38: 8fab0278 */ lw $t3,0x278($sp) -/* f040b3c: 2401000a */ addiu $at,$zero,0xa -/* f040b40: 10610007 */ beq $v1,$at,.NB0f040b60 -/* f040b44: 2401001b */ addiu $at,$zero,0x1b -/* f040b48: 10610005 */ beq $v1,$at,.NB0f040b60 -/* f040b4c: 2401001c */ addiu $at,$zero,0x1c -/* f040b50: 10610003 */ beq $v1,$at,.NB0f040b60 -/* f040b54: 2401001d */ addiu $at,$zero,0x1d -/* f040b58: 54610016 */ bnel $v1,$at,.NB0f040bb4 -/* f040b5c: 8fb801f4 */ lw $t8,0x1f4($sp) -.NB0f040b60: -/* f040b60: 8dcee6c8 */ lw $t6,-0x1938($t6) -/* f040b64: 10000012 */ beqz $zero,.NB0f040bb0 -/* f040b68: ad6e0048 */ sw $t6,0x48($t3) -.NB0f040b6c: -/* f040b6c: 8fad0278 */ lw $t5,0x278($sp) -/* f040b70: 24010008 */ addiu $at,$zero,0x8 -/* f040b74: 3c0a800a */ lui $t2,0x800a -/* f040b78: 81a30007 */ lb $v1,0x7($t5) -/* f040b7c: 8faf0278 */ lw $t7,0x278($sp) -/* f040b80: 10610009 */ beq $v1,$at,.NB0f040ba8 -/* f040b84: 2401000a */ addiu $at,$zero,0xa -/* f040b88: 10610007 */ beq $v1,$at,.NB0f040ba8 -/* f040b8c: 2401001b */ addiu $at,$zero,0x1b -/* f040b90: 10610005 */ beq $v1,$at,.NB0f040ba8 -/* f040b94: 2401001c */ addiu $at,$zero,0x1c -/* f040b98: 10610003 */ beq $v1,$at,.NB0f040ba8 -/* f040b9c: 2401001d */ addiu $at,$zero,0x1d -/* f040ba0: 54610004 */ bnel $v1,$at,.NB0f040bb4 -/* f040ba4: 8fb801f4 */ lw $t8,0x1f4($sp) -.NB0f040ba8: -/* f040ba8: 8d4ae6c8 */ lw $t2,-0x1938($t2) -/* f040bac: adea0048 */ sw $t2,0x48($t7) -.NB0f040bb0: -/* f040bb0: 8fb801f4 */ lw $t8,0x1f4($sp) -.NB0f040bb4: -/* f040bb4: 8fad01cc */ lw $t5,0x1cc($sp) -/* f040bb8: 13000065 */ beqz $t8,.NB0f040d50 -/* f040bbc: 00000000 */ sll $zero,$zero,0x0 -/* f040bc0: 0fc2bea2 */ jal gsetGetDamage -/* f040bc4: 27a40260 */ addiu $a0,$sp,0x260 -/* f040bc8: 8fae025c */ lw $t6,0x25c($sp) -/* f040bcc: 2419ffff */ addiu $t9,$zero,-1 -/* f040bd0: 240c00c8 */ addiu $t4,$zero,0xc8 -/* f040bd4: e7a0009c */ swc1 $f0,0x9c($sp) -/* f040bd8: afa00098 */ sw $zero,0x98($sp) -/* f040bdc: afa00094 */ sw $zero,0x94($sp) -/* f040be0: afb90090 */ sw $t9,0x90($sp) -/* f040be4: afac008c */ sw $t4,0x8c($sp) -/* f040be8: 8dcb0004 */ lw $t3,0x4($t6) -/* f040bec: afab0088 */ sw $t3,0x88($sp) -/* f040bf0: c5c60008 */ lwc1 $f6,0x8($t6) -/* f040bf4: e7a60228 */ swc1 $f6,0x228($sp) -/* f040bf8: c5c4000c */ lwc1 $f4,0xc($t6) -/* f040bfc: e7a4022c */ swc1 $f4,0x22c($sp) -/* f040c00: c5ca0010 */ lwc1 $f10,0x10($t6) -/* f040c04: 0c004d84 */ jal random -/* f040c08: e7aa0230 */ swc1 $f10,0x230($sp) -/* f040c0c: 304d0001 */ andi $t5,$v0,0x1 -/* f040c10: 11a00012 */ beqz $t5,.NB0f040c5c -/* f040c14: 00000000 */ sll $zero,$zero,0x0 -/* f040c18: 0c004d84 */ jal random -/* f040c1c: 00000000 */ sll $zero,$zero,0x0 -/* f040c20: 2401000a */ addiu $at,$zero,0xa -/* f040c24: 0041001b */ divu $zero,$v0,$at -/* f040c28: 00005010 */ mfhi $t2 -/* f040c2c: 254f0002 */ addiu $t7,$t2,0x2 -/* f040c30: 448f9000 */ mtc1 $t7,$f18 -/* f040c34: c7b0022c */ lwc1 $f16,0x22c($sp) -/* f040c38: 05e10005 */ bgez $t7,.NB0f040c50 -/* f040c3c: 46809220 */ cvt.s.w $f8,$f18 -/* f040c40: 3c014f80 */ lui $at,0x4f80 -/* f040c44: 44813000 */ mtc1 $at,$f6 -/* f040c48: 00000000 */ sll $zero,$zero,0x0 -/* f040c4c: 46064200 */ add.s $f8,$f8,$f6 -.NB0f040c50: -/* f040c50: 46088100 */ add.s $f4,$f16,$f8 -/* f040c54: 10000011 */ beqz $zero,.NB0f040c9c -/* f040c58: e7a4022c */ swc1 $f4,0x22c($sp) -.NB0f040c5c: -/* f040c5c: 0c004d84 */ jal random -/* f040c60: 00000000 */ sll $zero,$zero,0x0 -/* f040c64: 2401000a */ addiu $at,$zero,0xa -/* f040c68: 0041001b */ divu $zero,$v0,$at -/* f040c6c: 0000c010 */ mfhi $t8 -/* f040c70: 27190002 */ addiu $t9,$t8,0x2 -/* f040c74: 44999000 */ mtc1 $t9,$f18 -/* f040c78: c7aa022c */ lwc1 $f10,0x22c($sp) -/* f040c7c: 07210005 */ bgez $t9,.NB0f040c94 -/* f040c80: 468091a0 */ cvt.s.w $f6,$f18 -/* f040c84: 3c014f80 */ lui $at,0x4f80 -/* f040c88: 44818000 */ mtc1 $at,$f16 -/* f040c8c: 00000000 */ sll $zero,$zero,0x0 -/* f040c90: 46103180 */ add.s $f6,$f6,$f16 -.NB0f040c94: -/* f040c94: 46065201 */ sub.s $f8,$f10,$f6 -/* f040c98: e7a8022c */ swc1 $f8,0x22c($sp) -.NB0f040c9c: -/* f040c9c: 27a40260 */ addiu $a0,$sp,0x260 -/* f040ca0: 8fa5025c */ lw $a1,0x25c($sp) -/* f040ca4: 0fc296b1 */ jal bgunPlayPropHitSound -/* f040ca8: 2406ffff */ addiu $a2,$zero,-1 -/* f040cac: 8fa40088 */ lw $a0,0x88($sp) -/* f040cb0: 8c8c0020 */ lw $t4,0x20($a0) -/* f040cb4: 51800012 */ beqzl $t4,.NB0f040d00 -/* f040cb8: 8faa0278 */ lw $t2,0x278($sp) -/* f040cbc: 0fc0ce2a */ jal chrGetShield -/* f040cc0: 00000000 */ sll $zero,$zero,0x0 -/* f040cc4: 44802000 */ mtc1 $zero,$f4 -/* f040cc8: 8fa40088 */ lw $a0,0x88($sp) -/* f040ccc: 27a50228 */ addiu $a1,$sp,0x228 -/* f040cd0: 4600203c */ c.lt.s $f4,$f0 -/* f040cd4: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040cd8: 27a70098 */ addiu $a3,$sp,0x98 -/* f040cdc: 27ab008c */ addiu $t3,$sp,0x8c -/* f040ce0: 45000006 */ bc1f .NB0f040cfc -/* f040ce4: 27ae0094 */ addiu $t6,$sp,0x94 -/* f040ce8: 27ad0090 */ addiu $t5,$sp,0x90 -/* f040cec: afad0018 */ sw $t5,0x18($sp) -/* f040cf0: afab0010 */ sw $t3,0x10($sp) -/* f040cf4: 0fc0fdc8 */ jal chrCalculateShieldHit -/* f040cf8: afae0014 */ sw $t6,0x14($sp) -.NB0f040cfc: -/* f040cfc: 8faa0278 */ lw $t2,0x278($sp) -.NB0f040d00: -/* f040d00: 8fb9025c */ lw $t9,0x25c($sp) -/* f040d04: 8fac0098 */ lw $t4,0x98($sp) -/* f040d08: 8d4f001c */ lw $t7,0x1c($t2) -/* f040d0c: 8fab0094 */ lw $t3,0x94($sp) -/* f040d10: 8fae0090 */ lw $t6,0x90($sp) -/* f040d14: 241800c8 */ addiu $t8,$zero,0xc8 -/* f040d18: 8fa40088 */ lw $a0,0x88($sp) -/* f040d1c: afb80014 */ sw $t8,0x14($sp) -/* f040d20: afa00028 */ sw $zero,0x28($sp) -/* f040d24: 8fa5009c */ lw $a1,0x9c($sp) -/* f040d28: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040d2c: 27a70260 */ addiu $a3,$sp,0x260 -/* f040d30: afb90018 */ sw $t9,0x18($sp) -/* f040d34: afac001c */ sw $t4,0x1c($sp) -/* f040d38: afaf0010 */ sw $t7,0x10($sp) -/* f040d3c: afab0020 */ sw $t3,0x20($sp) -/* f040d40: 0fc0ceb9 */ jal func0f0341dc -/* f040d44: afae0024 */ sw $t6,0x24($sp) -/* f040d48: 10000010 */ beqz $zero,.NB0f040d8c -/* f040d4c: 8faa01f0 */ lw $t2,0x1f0($sp) -.NB0f040d50: -/* f040d50: 11a00006 */ beqz $t5,.NB0f040d6c -/* f040d54: c7b201d0 */ lwc1 $f18,0x1d0($sp) -/* f040d58: 91a20000 */ lbu $v0,0x0($t5) -/* f040d5c: 24010003 */ addiu $at,$zero,0x3 -/* f040d60: 10410009 */ beq $v0,$at,.NB0f040d88 -/* f040d64: 24010006 */ addiu $at,$zero,0x6 -/* f040d68: 10410007 */ beq $v0,$at,.NB0f040d88 -.NB0f040d6c: -/* f040d6c: 3c017f1a */ lui $at,0x7f1a -/* f040d70: c4303410 */ lwc1 $f16,0x3410($at) -/* f040d74: 4610903c */ c.lt.s $f18,$f16 -/* f040d78: 00000000 */ sll $zero,$zero,0x0 -/* f040d7c: 45020003 */ bc1fl .NB0f040d8c -/* f040d80: 8faa01f0 */ lw $t2,0x1f0($sp) -/* f040d84: afa001f0 */ sw $zero,0x1f0($sp) -.NB0f040d88: -/* f040d88: 8faa01f0 */ lw $t2,0x1f0($sp) -.NB0f040d8c: -/* f040d8c: 8faf01cc */ lw $t7,0x1cc($sp) -/* f040d90: 514000e5 */ beqzl $t2,.NB0f041128 -/* f040d94: 8fac01c0 */ lw $t4,0x1c0($sp) -/* f040d98: 11e000a2 */ beqz $t7,.NB0f041024 -/* f040d9c: 8fac0224 */ lw $t4,0x224($sp) -/* f040da0: 91e20000 */ lbu $v0,0x0($t7) -/* f040da4: 24010006 */ addiu $at,$zero,0x6 -/* f040da8: 93b8026f */ lbu $t8,0x26f($sp) -/* f040dac: 10410003 */ beq $v0,$at,.NB0f040dbc -/* f040db0: 24010003 */ addiu $at,$zero,0x3 -/* f040db4: 54410053 */ bnel $v0,$at,.NB0f040f04 -/* f040db8: 24010001 */ addiu $at,$zero,0x1 -.NB0f040dbc: -/* f040dbc: 1700000c */ bnez $t8,.NB0f040df0 -/* f040dc0: 8fb901bc */ lw $t9,0x1bc($sp) -/* f040dc4: 1720000a */ bnez $t9,.NB0f040df0 -/* f040dc8: 8fac0278 */ lw $t4,0x278($sp) -/* f040dcc: 8d8b0018 */ lw $t3,0x18($t4) -/* f040dd0: 8fad01cc */ lw $t5,0x1cc($sp) -/* f040dd4: 01802825 */ or $a1,$t4,$zero -/* f040dd8: 316e0040 */ andi $t6,$t3,0x40 -/* f040ddc: 11c00045 */ beqz $t6,.NB0f040ef4 -/* f040de0: 24060002 */ addiu $a2,$zero,0x2 -/* f040de4: 0fc1279f */ jal chrCompareTeams -/* f040de8: 8da40004 */ lw $a0,0x4($t5) -/* f040dec: 10400041 */ beqz $v0,.NB0f040ef4 -.NB0f040df0: -/* f040df0: 240affff */ addiu $t2,$zero,-1 -/* f040df4: 240f00c8 */ addiu $t7,$zero,0xc8 -/* f040df8: afa00084 */ sw $zero,0x84($sp) -/* f040dfc: afa00080 */ sw $zero,0x80($sp) -/* f040e00: afaa007c */ sw $t2,0x7c($sp) -/* f040e04: afaf0078 */ sw $t7,0x78($sp) -/* f040e08: 0fc2bea2 */ jal gsetGetDamage -/* f040e0c: 27a40260 */ addiu $a0,$sp,0x260 -/* f040e10: 8fa501cc */ lw $a1,0x1cc($sp) -/* f040e14: e7a00074 */ swc1 $f0,0x74($sp) -/* f040e18: 27a40260 */ addiu $a0,$sp,0x260 -/* f040e1c: 8cb90004 */ lw $t9,0x4($a1) -/* f040e20: 2406ffff */ addiu $a2,$zero,-1 -/* f040e24: 0fc296b1 */ jal bgunPlayPropHitSound -/* f040e28: afb90070 */ sw $t9,0x70($sp) -/* f040e2c: 8fa40070 */ lw $a0,0x70($sp) -/* f040e30: 8c8b0020 */ lw $t3,0x20($a0) -/* f040e34: 51600012 */ beqzl $t3,.NB0f040e80 -/* f040e38: 8faf0278 */ lw $t7,0x278($sp) -/* f040e3c: 0fc0ce2a */ jal chrGetShield -/* f040e40: 00000000 */ sll $zero,$zero,0x0 -/* f040e44: 44805000 */ mtc1 $zero,$f10 -/* f040e48: 8fa40070 */ lw $a0,0x70($sp) -/* f040e4c: 27a50228 */ addiu $a1,$sp,0x228 -/* f040e50: 4600503c */ c.lt.s $f10,$f0 -/* f040e54: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040e58: 27a70084 */ addiu $a3,$sp,0x84 -/* f040e5c: 27ae0078 */ addiu $t6,$sp,0x78 -/* f040e60: 45000006 */ bc1f .NB0f040e7c -/* f040e64: 27ad0080 */ addiu $t5,$sp,0x80 -/* f040e68: 27ac007c */ addiu $t4,$sp,0x7c -/* f040e6c: afac0018 */ sw $t4,0x18($sp) -/* f040e70: afae0010 */ sw $t6,0x10($sp) -/* f040e74: 0fc0fdc8 */ jal chrCalculateShieldHit -/* f040e78: afad0014 */ sw $t5,0x14($sp) -.NB0f040e7c: -/* f040e7c: 8faf0278 */ lw $t7,0x278($sp) -.NB0f040e80: -/* f040e80: 27aa01e0 */ addiu $t2,$sp,0x1e0 -/* f040e84: 8fa40070 */ lw $a0,0x70($sp) -/* f040e88: afaa0010 */ sw $t2,0x10($sp) -/* f040e8c: 8fa501cc */ lw $a1,0x1cc($sp) -/* f040e90: 8fa60078 */ lw $a2,0x78($sp) -/* f040e94: 27a70228 */ addiu $a3,$sp,0x228 -/* f040e98: 0fc09630 */ jal chrEmitSparks -/* f040e9c: afaf0014 */ sw $t7,0x14($sp) -/* f040ea0: 8fb90278 */ lw $t9,0x278($sp) -/* f040ea4: 8fae01cc */ lw $t6,0x1cc($sp) -/* f040ea8: 8fad0084 */ lw $t5,0x84($sp) -/* f040eac: 8f38001c */ lw $t8,0x1c($t9) -/* f040eb0: 8fac0080 */ lw $t4,0x80($sp) -/* f040eb4: 8faa007c */ lw $t2,0x7c($sp) -/* f040eb8: 240b00c8 */ addiu $t3,$zero,0xc8 -/* f040ebc: afab0014 */ sw $t3,0x14($sp) -/* f040ec0: afa00028 */ sw $zero,0x28($sp) -/* f040ec4: 8fa40070 */ lw $a0,0x70($sp) -/* f040ec8: 8fa50074 */ lw $a1,0x74($sp) -/* f040ecc: 27a601e0 */ addiu $a2,$sp,0x1e0 -/* f040ed0: 27a70260 */ addiu $a3,$sp,0x260 -/* f040ed4: afae0018 */ sw $t6,0x18($sp) -/* f040ed8: afad001c */ sw $t5,0x1c($sp) -/* f040edc: afb80010 */ sw $t8,0x10($sp) -/* f040ee0: afac0020 */ sw $t4,0x20($sp) -/* f040ee4: 0fc0ceb9 */ jal func0f0341dc -/* f040ee8: afaa0024 */ sw $t2,0x24($sp) -/* f040eec: 1000006f */ beqz $zero,.NB0f0410ac -/* f040ef0: 93b90260 */ lbu $t9,0x260($sp) -.NB0f040ef4: -/* f040ef4: afa00250 */ sw $zero,0x250($sp) -/* f040ef8: 1000006b */ beqz $zero,.NB0f0410a8 -/* f040efc: afa00268 */ sw $zero,0x268($sp) -/* f040f00: 24010001 */ addiu $at,$zero,0x1 -.NB0f040f04: -/* f040f04: 10410005 */ beq $v0,$at,.NB0f040f1c -/* f040f08: 8faf01cc */ lw $t7,0x1cc($sp) -/* f040f0c: 24010004 */ addiu $at,$zero,0x4 -/* f040f10: 10410002 */ beq $v0,$at,.NB0f040f1c -/* f040f14: 24010002 */ addiu $at,$zero,0x2 -/* f040f18: 14410063 */ bne $v0,$at,.NB0f0410a8 -.NB0f040f1c: -/* f040f1c: 3c0b800a */ lui $t3,0x800a -/* f040f20: 8d6be9d4 */ lw $t3,-0x162c($t3) -/* f040f24: 8df90004 */ lw $t9,0x4($t7) -/* f040f28: 2418ffff */ addiu $t8,$zero,-1 -/* f040f2c: afb80068 */ sw $t8,0x68($sp) -/* f040f30: 11600004 */ beqz $t3,.NB0f040f44 -/* f040f34: afb9006c */ sw $t9,0x6c($sp) -/* f040f38: 0fc61c7f */ jal mpPlayerGetIndex -/* f040f3c: 8fa40278 */ lw $a0,0x278($sp) -/* f040f40: afa20068 */ sw $v0,0x68($sp) -.NB0f040f44: -/* f040f44: 27a40260 */ addiu $a0,$sp,0x260 -/* f040f48: 8fa501cc */ lw $a1,0x1cc($sp) -/* f040f4c: 0fc296b1 */ jal bgunPlayPropHitSound -/* f040f50: 2406ffff */ addiu $a2,$zero,-1 -/* f040f54: 27a40244 */ addiu $a0,$sp,0x244 -/* f040f58: 27a50234 */ addiu $a1,$sp,0x234 -/* f040f5c: 27a60228 */ addiu $a2,$sp,0x228 -/* f040f60: 0fc19437 */ jal func0f065e74 -/* f040f64: 27a70214 */ addiu $a3,$sp,0x214 -/* f040f68: 240e0001 */ addiu $t6,$zero,0x1 -/* f040f6c: afae0210 */ sw $t6,0x210($sp) -/* f040f70: 0fc4e3ea */ jal chrIsUsingPaintball -/* f040f74: 8fa40278 */ lw $a0,0x278($sp) -/* f040f78: 1040000b */ beqz $v0,.NB0f040fa8 -/* f040f7c: 87a40214 */ lh $a0,0x214($sp) -/* f040f80: 240d0019 */ addiu $t5,$zero,0x19 -/* f040f84: afad0014 */ sw $t5,0x14($sp) -/* f040f88: 87a40214 */ lh $a0,0x214($sp) -/* f040f8c: 8fa501cc */ lw $a1,0x1cc($sp) -/* f040f90: 27a60228 */ addiu $a2,$sp,0x228 -/* f040f94: 00003825 */ or $a3,$zero,$zero -/* f040f98: 0fc4a960 */ jal sparksCreate -/* f040f9c: afa00010 */ sw $zero,0x10($sp) -/* f040fa0: 10000007 */ beqz $zero,.NB0f040fc0 -/* f040fa4: 00000000 */ sll $zero,$zero,0x0 -.NB0f040fa8: -/* f040fa8: 8fa501cc */ lw $a1,0x1cc($sp) -/* f040fac: 27a60228 */ addiu $a2,$sp,0x228 -/* f040fb0: 00003825 */ or $a3,$zero,$zero -/* f040fb4: afa00010 */ sw $zero,0x10($sp) -/* f040fb8: 0fc4a960 */ jal sparksCreate -/* f040fbc: afa00014 */ sw $zero,0x14($sp) -.NB0f040fc0: -/* f040fc0: 3c0c800a */ lui $t4,0x800a -/* f040fc4: 818a27ab */ lb $t2,0x27ab($t4) -/* f040fc8: 8faf0278 */ lw $t7,0x278($sp) -/* f040fcc: 0541000a */ bgez $t2,.NB0f040ff8 -/* f040fd0: 00000000 */ sll $zero,$zero,0x0 -/* f040fd4: 91f90125 */ lbu $t9,0x125($t7) -/* f040fd8: 24010010 */ addiu $at,$zero,0x10 -/* f040fdc: 8fb8006c */ lw $t8,0x6c($sp) -/* f040fe0: 17210005 */ bne $t9,$at,.NB0f040ff8 -/* f040fe4: 00000000 */ sll $zero,$zero,0x0 -/* f040fe8: 8f0b000c */ lw $t3,0xc($t8) -/* f040fec: 316e0001 */ andi $t6,$t3,0x1 -/* f040ff0: 55c0002e */ bnezl $t6,.NB0f0410ac -/* f040ff4: 93b90260 */ lbu $t9,0x260($sp) -.NB0f040ff8: -/* f040ff8: 0fc2bea2 */ jal gsetGetDamage -/* f040ffc: 27a40260 */ addiu $a0,$sp,0x260 -/* f041000: 8fad0068 */ lw $t5,0x68($sp) -/* f041004: 44050000 */ mfc1 $a1,$f0 -/* f041008: 8fa4006c */ lw $a0,0x6c($sp) -/* f04100c: 27a60228 */ addiu $a2,$sp,0x228 -/* f041010: 93a70260 */ lbu $a3,0x260($sp) -/* f041014: 0fc20ebd */ jal objTakeGunfire -/* f041018: afad0010 */ sw $t5,0x10($sp) -/* f04101c: 10000023 */ beqz $zero,.NB0f0410ac -/* f041020: 93b90260 */ lbu $t9,0x260($sp) -.NB0f041024: -/* f041024: 11800020 */ beqz $t4,.NB0f0410a8 -/* f041028: 27a40244 */ addiu $a0,$sp,0x244 -/* f04102c: 27a50234 */ addiu $a1,$sp,0x234 -/* f041030: 27a60228 */ addiu $a2,$sp,0x228 -/* f041034: 0fc19437 */ jal func0f065e74 -/* f041038: 27a70214 */ addiu $a3,$sp,0x214 -/* f04103c: 240a0001 */ addiu $t2,$zero,0x1 -/* f041040: afaa0210 */ sw $t2,0x210($sp) -/* f041044: 27a40260 */ addiu $a0,$sp,0x260 -/* f041048: 27a50228 */ addiu $a1,$sp,0x228 -/* f04104c: 2406ffff */ addiu $a2,$zero,-1 -/* f041050: 0fc298a8 */ jal bgunPlayBgHitSound -/* f041054: 27a70214 */ addiu $a3,$sp,0x214 -/* f041058: 0fc4e3ea */ jal chrIsUsingPaintball -/* f04105c: 8fa40278 */ lw $a0,0x278($sp) -/* f041060: 1040000b */ beqz $v0,.NB0f041090 -/* f041064: 87a40214 */ lh $a0,0x214($sp) -/* f041068: 240f0019 */ addiu $t7,$zero,0x19 -/* f04106c: afaf0014 */ sw $t7,0x14($sp) -/* f041070: 87a40214 */ lh $a0,0x214($sp) -/* f041074: 00002825 */ or $a1,$zero,$zero -/* f041078: 27a60228 */ addiu $a2,$sp,0x228 -/* f04107c: 00003825 */ or $a3,$zero,$zero -/* f041080: 0fc4a960 */ jal sparksCreate -/* f041084: afa00010 */ sw $zero,0x10($sp) -/* f041088: 10000008 */ beqz $zero,.NB0f0410ac -/* f04108c: 93b90260 */ lbu $t9,0x260($sp) -.NB0f041090: -/* f041090: 00002825 */ or $a1,$zero,$zero -/* f041094: 27a60228 */ addiu $a2,$sp,0x228 -/* f041098: 00003825 */ or $a3,$zero,$zero -/* f04109c: afa00010 */ sw $zero,0x10($sp) -/* f0410a0: 0fc4a960 */ jal sparksCreate -/* f0410a4: afa00014 */ sw $zero,0x14($sp) -.NB0f0410a8: -/* f0410a8: 93b90260 */ lbu $t9,0x260($sp) -.NB0f0410ac: -/* f0410ac: 24010007 */ addiu $at,$zero,0x7 -/* f0410b0: 93b80263 */ lbu $t8,0x263($sp) -/* f0410b4: 1721001b */ bne $t9,$at,.NB0f041124 -/* f0410b8: 24010001 */ addiu $at,$zero,0x1 -/* f0410bc: 17010019 */ bne $t8,$at,.NB0f041124 -/* f0410c0: 8fab0278 */ lw $t3,0x278($sp) -/* f0410c4: 8d6e02d4 */ lw $t6,0x2d4($t3) -/* f0410c8: 3c03800a */ lui $v1,0x800a -/* f0410cc: 11c00005 */ beqz $t6,.NB0f0410e4 -/* f0410d0: 00000000 */ sll $zero,$zero,0x0 -/* f0410d4: 0fc61c7f */ jal mpPlayerGetIndex -/* f0410d8: 01602025 */ or $a0,$t3,$zero -/* f0410dc: 10000002 */ beqz $zero,.NB0f0410e8 -/* f0410e0: 00401825 */ or $v1,$v0,$zero -.NB0f0410e4: -/* f0410e4: 8c63e94c */ lw $v1,-0x16b4($v1) -.NB0f0410e8: -/* f0410e8: 8fad0210 */ lw $t5,0x210($sp) -/* f0410ec: 27a40244 */ addiu $a0,$sp,0x244 -/* f0410f0: 27a50234 */ addiu $a1,$sp,0x234 -/* f0410f4: 15a00005 */ bnez $t5,.NB0f04110c -/* f0410f8: 27a60228 */ addiu $a2,$sp,0x228 -/* f0410fc: 27a70214 */ addiu $a3,$sp,0x214 -/* f041100: 0fc19437 */ jal func0f065e74 -/* f041104: afa30064 */ sw $v1,0x64($sp) -/* f041108: 8fa30064 */ lw $v1,0x64($sp) -.NB0f04110c: -/* f04110c: 00002025 */ or $a0,$zero,$zero -/* f041110: 27a50228 */ addiu $a1,$sp,0x228 -/* f041114: 27a60214 */ addiu $a2,$sp,0x214 -/* f041118: 24070016 */ addiu $a3,$zero,0x16 -/* f04111c: 0fc49158 */ jal explosionCreateSimple -/* f041120: afa30010 */ sw $v1,0x10($sp) -.NB0f041124: -/* f041124: 8fac01c0 */ lw $t4,0x1c0($sp) -.NB0f041128: -/* f041128: 8fa4025c */ lw $a0,0x25c($sp) -/* f04112c: 51800004 */ beqzl $t4,.NB0f041140 -/* f041130: 8fa80268 */ lw $t0,0x268($sp) -/* f041134: 0fc18cfb */ jal propSetPerimEnabled -/* f041138: 00002825 */ or $a1,$zero,$zero -/* f04113c: 8fa80268 */ lw $t0,0x268($sp) -.NB0f041140: -/* f041140: 8faf0250 */ lw $t7,0x250($sp) -/* f041144: 93b90260 */ lbu $t9,0x260($sp) -/* f041148: 0008502b */ sltu $t2,$zero,$t0 -/* f04114c: 11e0000e */ beqz $t7,.NB0f041188 -/* f041150: 01404025 */ or $t0,$t2,$zero -/* f041154: 2738fffe */ addiu $t8,$t9,-2 -/* f041158: 2f01002a */ sltiu $at,$t8,0x2a -/* f04115c: 10200009 */ beqz $at,.NB0f041184 -/* f041160: 0018c080 */ sll $t8,$t8,0x2 -/* f041164: 3c017f1a */ lui $at,0x7f1a -/* f041168: 00380821 */ addu $at,$at,$t8 -/* f04116c: 8c383414 */ lw $t8,0x3414($at) -/* f041170: 03000008 */ jr $t8 -/* f041174: 00000000 */ sll $zero,$zero,0x0 -/* f041178: 240e0001 */ addiu $t6,$zero,0x1 -/* f04117c: 10000002 */ beqz $zero,.NB0f041188 -/* f041180: afae0250 */ sw $t6,0x250($sp) -.NB0f041184: -/* f041184: afa00250 */ sw $zero,0x250($sp) -.NB0f041188: -/* f041188: 11000004 */ beqz $t0,.NB0f04119c -/* f04118c: 01003825 */ or $a3,$t0,$zero -/* f041190: 8fa70250 */ lw $a3,0x250($sp) -/* f041194: 0007582b */ sltu $t3,$zero,$a3 -/* f041198: 01603825 */ or $a3,$t3,$zero -.NB0f04119c: -/* f04119c: 27ad0244 */ addiu $t5,$sp,0x244 -/* f0411a0: 27ac0228 */ addiu $t4,$sp,0x228 -/* f0411a4: afac0014 */ sw $t4,0x14($sp) -/* f0411a8: afad0010 */ sw $t5,0x10($sp) -/* f0411ac: 8fa40278 */ lw $a0,0x278($sp) -/* f0411b0: 8fa5027c */ lw $a1,0x27c($sp) -/* f0411b4: 8fa60268 */ lw $a2,0x268($sp) -/* f0411b8: 0fc0f6a6 */ jal chrCreateFireslot -/* f0411bc: afa80054 */ sw $t0,0x54($sp) -/* f0411c0: 93aa026f */ lbu $t2,0x26f($sp) -/* f0411c4: 8fa80054 */ lw $t0,0x54($sp) -/* f0411c8: 8fa40278 */ lw $a0,0x278($sp) -/* f0411cc: 11400015 */ beqz $t2,.NB0f041224 -/* f0411d0: 8fa5027c */ lw $a1,0x27c($sp) -/* f0411d4: 1100000a */ beqz $t0,.NB0f041200 -/* f0411d8: 01003025 */ or $a2,$t0,$zero -/* f0411dc: 8faf0278 */ lw $t7,0x278($sp) -/* f0411e0: 8fb8027c */ lw $t8,0x27c($sp) -/* f0411e4: 8df902d4 */ lw $t9,0x2d4($t7) -/* f0411e8: 00187080 */ sll $t6,$t8,0x2 -/* f0411ec: 032e1021 */ addu $v0,$t9,$t6 -/* f0411f0: 8c430024 */ lw $v1,0x24($v0) -/* f0411f4: 18600002 */ blez $v1,.NB0f041200 -/* f0411f8: 246bffff */ addiu $t3,$v1,-1 -/* f0411fc: ac4b0024 */ sw $t3,0x24($v0) -.NB0f041200: -/* f041200: 11000004 */ beqz $t0,.NB0f041214 -/* f041204: 8fa40278 */ lw $a0,0x278($sp) -/* f041208: 93a6026e */ lbu $a2,0x26e($sp) -/* f04120c: 0006682b */ sltu $t5,$zero,$a2 -/* f041210: 01a03025 */ or $a2,$t5,$zero -.NB0f041214: -/* f041214: 0fc0fc0f */ jal chrSetFiring -/* f041218: 8fa5027c */ lw $a1,0x27c($sp) -/* f04121c: 10000004 */ beqz $zero,.NB0f041230 -/* f041220: 8fbf0044 */ lw $ra,0x44($sp) -.NB0f041224: -/* f041224: 0fc0fc0f */ jal chrSetFiring -/* f041228: 8fa60268 */ lw $a2,0x268($sp) -/* f04122c: 8fbf0044 */ lw $ra,0x44($sp) -.NB0f041230: -/* f041230: 27bd0278 */ addiu $sp,$sp,0x278 -/* f041234: 03e00008 */ jr $ra -/* f041238: 00000000 */ sll $zero,$zero,0x0 -); -#endif -#else +const char var7f1a8ae4[] = "aimadjust=%d"; + /** - * Fire the chr's gun, check what was hit and do all the appropriate things such - * as dealing damage, creating beams and sparks and playing sounds. + * Fire the chr's gun, check what was hit and do all the appropriate things + * such as dealing damage, creating beams and sparks and playing sounds. * - * This should be called on every tick while the chr is shooting. The function - * takes care of the gun's fire rate. + * This should be called on every frame while the chr is shooting. + * The function takes care of the gun's fire rate. */ -// Mismatches: -// - near botactShootFarsight, chr needs to be loaded into t3 which -// should solve instruction ordering. -// - Float calculations near 65536 have diffent codegen -// - Calculation of sp168 and spcc have reordered instructions -// - Calculate of xdiff/ydiff/zdiff prior to chrCalculateHit is different -void chrShoot(struct chrdata *chr, s32 handnum) +void chrTickShoot(struct chrdata *chr, s32 handnum) { - struct prop *chrprop = chr->prop; // 274 + struct prop *chrprop = chr->prop; struct prop *gunprop; - u8 isaibot = false; // 26f - u8 normalshoot = true; // 26e + u8 isaibot = false; + u8 normalshoot = true; if (chr->aibot) { isaibot = true; @@ -17787,21 +9847,20 @@ void chrShoot(struct chrdata *chr, s32 handnum) gunprop = chrGetHeldProp(chr, handnum); if (gunprop) { - bool firingthistick = false; - struct weaponobj *weapon = gunprop->weapon; // 264 - struct gset gset; // 260 - struct prop *targetprop = chrGetTargetProp(chr); // 25c + bool firingthisframe = false; + struct weaponobj *weapon = gunprop->weapon; + struct gset gset; + struct prop *targetprop = chrGetTargetProp(chr); u32 attackflags; - bool shotdue; // 254 - bool makebeam; // 250 - struct coord gunpos; // 244 - s16 gunrooms[8]; // 234 - struct coord hitpos; // 228 - bool hitsomething; // 224 - s16 hitrooms[8]; // 214 - bool sp210; + bool shotdue; + bool makebeam; + struct coord gunpos; + s16 gunrooms[8]; + struct coord hitpos; + bool hitsomething; + s16 hitrooms[8]; + bool queriedhitrooms; s32 tickspershot; - f32 sp208; // unused? gset = weapon->gset; attackflags = ATTACKFLAG_AIMATTARGET; @@ -17816,7 +9875,7 @@ void chrShoot(struct chrdata *chr, s32 handnum) shotdue = false; makebeam = false; hitsomething = false; - sp210 = false; + queriedhitrooms = false; // Most guns can fire at most once every few ticks - even automatics. // The chr's firecount property tracks how many ticks have elapsed since @@ -17831,9 +9890,8 @@ void chrShoot(struct chrdata *chr, s32 handnum) if (chr->aibot && chr->aibot->weaponnum == WEAPON_REAPER && chr->aibot->gunfunc == FUNC_PRIMARY) { - sp208 = (TICKS(90) - chr->aibot->reaperspeed[handnum]); - sp208 *= 1.0f / 1.8f; - tickspershot *= sp208 + 1; + f32 sp208 = (TICKS(90) - chr->aibot->reaperspeed[handnum]) * (1.0f / TICKS(18.0f)); + tickspershot *= 1 + sp208; } chr->firecount[handnum] += g_Vars.lvupdate240_60; @@ -17857,24 +9915,24 @@ void chrShoot(struct chrdata *chr, s32 handnum) } if (shotdue) { - f32 aimangle = chrGetAimAngle(chr); - f32 sp200 = func0f03e754(chr); - bool sp1fc = isaibot ? CDTYPE_PLAYERS : 0; + f32 roty = chrGetAimAngle(chr); + f32 rotx = chrGetPitchAngle(chr); + bool extracdtypes = isaibot ? CDTYPE_PLAYERS : 0; - firingthistick = true; + firingthisframe = true; if (!chrGetGunPos(chr, handnum, &gunpos)) { // Gun is off screen - use a quick but inexact calculation - gunpos.f[0] = chrprop->pos.f[0]; - gunpos.f[1] = chrprop->pos.f[1] + 30; - gunpos.f[2] = chrprop->pos.f[2]; + gunpos.x = chrprop->pos.x; + gunpos.y = chrprop->pos.y + 30; + gunpos.z = chrprop->pos.z; if (handnum == HAND_LEFT) { - gunpos.f[0] += cosf(aimangle) * 10; - gunpos.f[2] += -sinf(aimangle) * 10; + gunpos.x += cosf(roty) * 10.0f; + gunpos.z += -sinf(roty) * 10.0f; } else { - gunpos.f[0] += -cosf(aimangle) * 10; - gunpos.f[2] += sinf(aimangle) * 10; + gunpos.x += -cosf(roty) * 10.0f; + gunpos.z += sinf(roty) * 10.0f; } } @@ -17885,45 +9943,48 @@ void chrShoot(struct chrdata *chr, s32 handnum) chrSetPerimEnabled(chr, false); if (cd0002de34(&chrprop->pos, chrprop->rooms, &gunpos, gunrooms, - CDTYPE_DOORS | CDTYPE_CHRS | CDTYPE_BG | CDTYPE_DOORSWITHOUTFLAG | sp1fc, + CDTYPE_DOORS | CDTYPE_CHRS | CDTYPE_BG | CDTYPE_DOORSWITHOUTFLAG | extracdtypes, 0x10) == CDRESULT_COLLISION) { - firingthistick = false; + firingthisframe = false; } chrSetPerimEnabled(chr, true); - if (firingthistick) { - bool angleok = false; // 1f8 - bool hitplayer = false; // 1f4 - bool effective = true; // 1f0 - u32 sp1ec; - struct coord vector; // 1e0 + if (firingthisframe) { + bool angleok = false; + bool hitplayer = false; + bool effective = true; + s32 zero = 0; + struct coord vector; f32 xdiff; f32 ydiff; f32 zdiff; - f32 sqshotdist; // 1d0 - struct prop *hitprop = NULL; // 1cc - u32 sp1c8 = isaibot + f32 sqshotdist; + struct prop *hitprop = NULL; + u32 cdtypes = isaibot ? CDTYPE_OBJS | CDTYPE_DOORS | CDTYPE_CHRS | CDTYPE_PATHBLOCKER | CDTYPE_BG | CDTYPE_DOORSWITHOUTFLAG | CDTYPE_PLAYERS : CDTYPE_OBJS | CDTYPE_DOORS | CDTYPE_CHRS | CDTYPE_PATHBLOCKER | CDTYPE_BG | CDTYPE_DOORSWITHOUTFLAG; - u32 sp1c4; - bool isshootingeyespy = CHRRACE(targetprop->chr) == RACE_EYESPY && chrGetDistanceToTarget(chr) > 150; // 1c0 - bool fudgeforeyespy = false; // 1bc + u32 stack; + bool isshootingeyespy = CHRRACE(targetprop->chr) == RACE_EYESPY && chrGetDistanceToTarget(chr) > 150; + bool fudgeforeyespy = false; if (isshootingeyespy) { - vector.f[0] = xdiff = targetprop->pos.f[0] - gunpos.f[0]; - vector.f[1] = ydiff = targetprop->pos.f[1] - gunpos.f[1]; - vector.f[2] = zdiff = targetprop->pos.f[2] - gunpos.f[2]; + vector.x = targetprop->pos.x - gunpos.x; + vector.y = targetprop->pos.y - gunpos.y; + vector.z = targetprop->pos.z - gunpos.z; - guNormalize(&vector.f[0], &vector.f[1], &vector.f[2]); + guNormalize(&vector.x, &vector.y, &vector.z); propSetPerimEnabled(targetprop, true); } else { - vector.f[0] = cosf(sp200) * sinf(aimangle); - vector.f[1] = sinf(sp200); - vector.f[2] = cosf(sp200) * cosf(aimangle); + vector.x = cosf(rotx) * sinf(roty); + vector.y = sinf(rotx); + vector.z = cosf(rotx) * cosf(roty); if (isaibot) { - bgunCalculateBotShotSpread(&vector, chr->aibot->weaponnum, chr->aibot->gunfunc, chr->aibot->burstsdone[handnum], botGuessCrouchPos(chr), chr->weapons_held[0] && chr->weapons_held[1]); + bgunCalculateBotShotSpread(&vector, + chr->aibot->weaponnum, chr->aibot->gunfunc, + chr->aibot->burstsdone[handnum], botGuessCrouchPos(chr), + chr->weapons_held[0] && chr->weapons_held[1]); } } @@ -17933,15 +9994,15 @@ void chrShoot(struct chrdata *chr, s32 handnum) makebeam = true; // This function can never return 2 though... - if (botactShootFarsight(chr, 0, &vector, &gunpos) == 2) { + if (botactShootFarsight(chr + zero, 0, &vector, &gunpos) == 2) { normalshoot = random() % 255 > 200; } } // Check if the shot would hit anything - hitpos.f[0] = gunpos.f[0] + vector.f[0] * 65536; - hitpos.f[1] = gunpos.f[1] + vector.f[1] * 65536; - hitpos.f[2] = gunpos.f[2] + vector.f[2] * 65536; + hitpos.x = gunpos.x + vector.x * 65536.0f; + hitpos.y = gunpos.y + vector.y * 65536.0f; + hitpos.z = gunpos.z + vector.z * 65536.0f; chrSetPerimEnabled(chr, false); @@ -17949,9 +10010,17 @@ void chrShoot(struct chrdata *chr, s32 handnum) g_Vars.useperimshoot = true; } - if (cdTestAToB4(&gunpos, gunrooms, &hitpos, sp1c8, 0x10) == CDRESULT_COLLISION) { + if (cdTestAToB4(&gunpos, gunrooms, &hitpos, cdtypes, 0x10) == CDRESULT_COLLISION) { hitsomething = true; +#if VERSION >= VERSION_JPN_FINAL + cdGetPos(&hitpos, 12080, "chr/chraction.c"); +#elif VERSION >= VERSION_PAL_FINAL + cdGetPos(&hitpos, 12077, "chr/chraction.c"); +#elif VERSION >= VERSION_NTSC_1_0 cdGetPos(&hitpos, 12072, "chraction.c"); +#else + cdGetPos(&hitpos, 12086, "chraction.c"); +#endif hitprop = cdGetObstacle(); } @@ -17968,9 +10037,9 @@ void chrShoot(struct chrdata *chr, s32 handnum) if (fudgeforeyespy) { hitprop = targetprop; - hitpos.x = targetprop->pos.x; - hitpos.y = targetprop->pos.y; - hitpos.z = targetprop->pos.z; + hitpos.x = hitprop->pos.x; + hitpos.y = hitprop->pos.y; + hitpos.z = hitprop->pos.z; } } @@ -17989,30 +10058,30 @@ void chrShoot(struct chrdata *chr, s32 handnum) || gset.weaponnum == WEAPON_ROCKETLAUNCHER_34) { makebeam = false; - // AI bots won't fire their projectile weapon in less than - // 4 metres of space - if (isaibot || sqshotdist > 400 * 400) { - struct weaponobj *projectileobj; // 1b8 - Mtxf sp178; + // Solo chrs won't fire their projectile weapon + // in less than 4 metres of space + if (isaibot || sqshotdist > 400.0f * 400.0f) { + struct weaponobj *projectileobj; + Mtxf identmtx; struct coord sp16c; f32 sp168; struct coord sp15c; - Mtxf sp11c; - Mtxf spdc; + Mtxf projectilemtx; + Mtxf yrotmtx; struct weapon *weapondef = weaponFindById(gset.weaponnum); - struct weaponfunc_shootprojectile *func = weapondef->functions[gset.weaponfunc]; // d4 + struct weaponfunc_shootprojectile *func = weapondef->functions[gset.weaponfunc]; // Handle creating the projectile if (gset.weaponnum == WEAPON_ROCKETLAUNCHER || gset.weaponnum == WEAPON_ROCKETLAUNCHER_34 || gset.weaponnum == WEAPON_SLAYER) { - s32 rockettype = WEAPON_ROCKET; + s32 rocketweaponnum = WEAPON_ROCKET; if (func->base.base.flags & FUNCFLAG_HOMINGROCKET) { - rockettype = WEAPON_HOMINGROCKET; + rocketweaponnum = WEAPON_HOMINGROCKET; } - projectileobj = weaponCreateProjectileFromWeaponNum(func->projectilemodelnum, rockettype, chr); + projectileobj = weaponCreateProjectileFromWeaponNum(func->projectilemodelnum, rocketweaponnum, chr); } else if (gset.weaponnum == WEAPON_CROSSBOW) { projectileobj = weaponCreateProjectileFromWeaponNum(func->projectilemodelnum, WEAPON_BOLT, chr); @@ -18046,8 +10115,8 @@ void chrShoot(struct chrdata *chr, s32 handnum) // with regard to how they aim their projectiles if (isaibot && chrIsTargetInFov(chr, 30, 0)) { bool hasaimpos = false; - f32 tmp1; - struct coord aimpos; // b8 + u32 stack; + struct coord aimpos; if (gset.weaponfunc == FUNC_PRIMARY && (gset.weaponnum == WEAPON_ROCKETLAUNCHER @@ -18055,15 +10124,15 @@ void chrShoot(struct chrdata *chr, s32 handnum) || gset.weaponnum == WEAPON_SLAYER)) { if (targetprop->type == PROPTYPE_CHR || targetprop->type == PROPTYPE_PLAYER) { // Rockets - aim at target's feet - aimpos.f[0] = targetprop->pos.f[0]; - aimpos.f[1] = targetprop->chr->manground; - aimpos.f[2] = targetprop->pos.f[2]; + aimpos.x = targetprop->pos.x; + aimpos.y = targetprop->chr->manground; + aimpos.z = targetprop->pos.z; - vector.f[0] = aimpos.f[0] - gunpos.f[0]; - vector.f[1] = aimpos.f[1] - gunpos.f[1]; - vector.f[2] = aimpos.f[2] - gunpos.f[2]; + vector.x = aimpos.x - gunpos.x; + vector.y = aimpos.y - gunpos.y; + vector.z = aimpos.z - gunpos.z; - guNormalize(&vector.f[0], &vector.f[1], &vector.f[2]); + guNormalize(&vector.x, &vector.y, &vector.z); hasaimpos = true; } } else if ((gset.weaponnum == WEAPON_DEVASTATOR && gset.weaponfunc == FUNC_PRIMARY) @@ -18093,30 +10162,32 @@ void chrShoot(struct chrdata *chr, s32 handnum) } if (hasaimpos) { - f32 angle = chrGetAngleToPos(chr, &aimpos); // b4 - f32 cos = cosf(angle); // b0 + f32 angle = chrGetAngleToPos(chr, &aimpos); + f32 cos = cosf(angle); f32 sin = sinf(angle); + f32 x = vector.f[0]; + f32 z = vector.f[2]; + u32 stack; - tmp1 = vector.f[0]; - vector.x = vector.f[2] * sin + vector.f[0] * cos; - vector.z = vector.f[2] * cos - tmp1 * sin; + vector.x = sin * z + cos * x; + vector.z = cos * z - sin * x; } } // Calculate and projectile's matrix, // spawn position and speed - mtx4LoadIdentity(&sp178); - mtx4LoadXRotation(sp200, &sp11c); - mtx4LoadYRotation(aimangle, &spdc); - mtx00015be0(&spdc, &sp11c); + mtx4LoadIdentity(&identmtx); + mtx4LoadXRotation(rotx, &projectilemtx); + mtx4LoadYRotation(roty, &yrotmtx); + mtx00015be0(&yrotmtx, &projectilemtx); - sp15c.f[0] = xdiff = vector.f[0] * sp168; - sp15c.f[1] = ydiff = vector.f[1] * sp168; - sp15c.f[2] = zdiff = vector.f[2] * sp168; + sp15c.x = vector.x * sp168; + sp15c.y = vector.y * sp168; + sp15c.z = vector.z * sp168; - sp16c.x = vector.f[0] * spcc + xdiff * g_Vars.lvupdate240freal; - sp16c.y = vector.f[1] * spcc + ydiff * g_Vars.lvupdate240freal; - sp16c.z = vector.f[2] * spcc + zdiff * g_Vars.lvupdate240freal; + sp16c.x = sp15c.f[0] * g_Vars.lvupdate240freal + vector.f[0] * spcc; + sp16c.y = sp15c.f[1] * g_Vars.lvupdate240freal + vector.f[1] * spcc; + sp16c.z = sp15c.f[2] * g_Vars.lvupdate240freal + vector.f[2] * spcc; projectileobj->timer240 = func->timer60; @@ -18128,7 +10199,7 @@ void chrShoot(struct chrdata *chr, s32 handnum) #endif } - bgun0f09ebcc(&projectileobj->base, &gunpos, gunrooms, &sp11c, &sp16c, &sp178, chrprop, &gunpos); + bgun0f09ebcc(&projectileobj->base, &gunpos, gunrooms, &projectilemtx, &sp16c, &identmtx, chrprop, &gunpos); if (projectileobj->base.hidden & OBJHFLAG_PROJECTILE) { if (func->base.base.flags & FUNCFLAG_PROJECTILE_LIGHTWEIGHT) { @@ -18141,7 +10212,7 @@ void chrShoot(struct chrdata *chr, s32 handnum) projectileobj->base.projectile->unk014 = sp15c.y; projectileobj->base.projectile->unk018 = sp15c.z; - projectileobj->base.projectile->pickuptimer240 = 240; + projectileobj->base.projectile->pickuptimer240 = TICKS(240); projectileobj->base.projectile->unk08c = func->unk5c; projectileobj->base.projectile->unk098 = func->unk50 * (1.0f / 0.6f); @@ -18155,12 +10226,12 @@ void chrShoot(struct chrdata *chr, s32 handnum) } } } else { - firingthistick = false; + firingthisframe = false; } normalshoot = false; } else if (gset.weaponnum == WEAPON_MAULER && isaibot && gset.weaponfunc == FUNC_SECONDARY) { - gset.unk063a = (s32)(chr->aibot->maulercharge[handnum] * 10); + gset.unk063a = (s32) (chr->aibot->maulercharge[handnum] * 10.0f); chr->aibot->maulercharge[handnum] = 0; } @@ -18174,9 +10245,9 @@ void chrShoot(struct chrdata *chr, s32 handnum) #endif ) { // Solo chr shooting at a player - f32 xdiff = targetprop->pos.f[0] - gunpos.f[0] - vector.f[0] * 15; - f32 ydiff = targetprop->pos.f[1] - gunpos.f[1] - vector.f[1] * 15; - f32 zdiff = targetprop->pos.f[2] - gunpos.f[2] - vector.f[2] * 15; + xdiff = targetprop->pos.x - gunpos.x - vector.x * 15.0f; + ydiff = targetprop->pos.y - gunpos.y - vector.y * 15.0f; + zdiff = targetprop->pos.z - gunpos.z - vector.z * 15.0f; if (xdiff * xdiff + ydiff * ydiff + zdiff * zdiff <= sqshotdist) { // Player has a chance of being hit @@ -18208,12 +10279,12 @@ void chrShoot(struct chrdata *chr, s32 handnum) } if (hitplayer) { - f32 damage = gsetGetDamage(&gset); // 9c - struct modelnode *node = NULL; // 98 - struct model *model = NULL; // 94 - s32 side = -1; // 90 - s32 hitpart = HITPART_GENERAL; // 8c - struct chrdata *targetchr = targetprop->chr; // 88 + f32 damage = gsetGetDamage(&gset); + struct modelnode *node = NULL; + struct model *model = NULL; + s32 side = -1; + s32 hitpart = HITPART_GENERAL; + struct chrdata *targetchr = targetprop->chr; hitpos.x = targetprop->pos.x; hitpos.y = targetprop->pos.y; @@ -18233,7 +10304,7 @@ void chrShoot(struct chrdata *chr, s32 handnum) func0f0341dc(targetchr, damage, &vector, &gset, chr->prop, HITPART_GENERAL, targetprop, node, model, side, NULL); } else if ((hitprop == NULL || (hitprop->type != PROPTYPE_CHR && hitprop->type != PROPTYPE_PLAYER)) - && sqshotdist < 100 * 100) { + && sqshotdist < 100.0f * 100.0f) { // Hit the background or something other than a // player or chr, and the shot distance was less // than 1 metre. Don't bother applying damage etc. @@ -18249,12 +10320,12 @@ void chrShoot(struct chrdata *chr, s32 handnum) if (isaibot || fudgeforeyespy || ((chr->chrflags & CHRCFLAG_00000040) && chrCompareTeams(hitprop->chr, chr, COMPARE_ENEMIES))) { - struct modelnode *node = NULL; // 84 - struct model *model = NULL; // 80 - s32 side = -1; // 7c - s32 hitpart = HITPART_GENERAL; // 78 + struct modelnode *node = NULL; + struct model *model = NULL; + s32 side = -1; + s32 hitpart = HITPART_GENERAL; f32 damage = gsetGetDamage(&gset); - struct chrdata *hitchr = hitprop->chr; // 70 + struct chrdata *hitchr = hitprop->chr; bgunPlayPropHitSound(&gset, hitprop, -1); @@ -18266,14 +10337,14 @@ void chrShoot(struct chrdata *chr, s32 handnum) func0f0341dc(hitchr, damage, &vector, &gset, chr->prop, HITPART_GENERAL, hitprop, node, model, side, NULL); } else { makebeam = false; - firingthistick = false; + firingthisframe = false; } } else if (hitprop->type == PROPTYPE_OBJ || hitprop->type == PROPTYPE_WEAPON || hitprop->type == PROPTYPE_DOOR) { // Hit an object - struct defaultobj *hitobj = hitprop->obj; // 6c - s32 playernum = -1; // 68 + struct defaultobj *hitobj = hitprop->obj; + s32 playernum = -1; if (g_Vars.mplayerisrunning) { playernum = mpPlayerGetIndex(chr); @@ -18281,7 +10352,7 @@ void chrShoot(struct chrdata *chr, s32 handnum) bgunPlayPropHitSound(&gset, hitprop, -1); func0f065e74(&gunpos, gunrooms, &hitpos, hitrooms); - sp210 = true; + queriedhitrooms = true; if (chrIsUsingPaintball(chr)) { sparksCreate(hitrooms[0], hitprop, &hitpos, NULL, NULL, SPARKTYPE_PAINT); @@ -18291,7 +10362,7 @@ void chrShoot(struct chrdata *chr, s32 handnum) if (g_MissionConfig.iscoop && chr->team == TEAM_ALLY && (hitobj->flags2 & OBJFLAG2_IMMUNETOANTI)) { - // empty + // Co-op can't damage mission critical objects } else { objTakeGunfire(hitobj, gsetGetDamage(&gset), &hitpos, gset.weaponnum, playernum); } @@ -18299,7 +10370,7 @@ void chrShoot(struct chrdata *chr, s32 handnum) } else if (hitsomething) { // Hit the background func0f065e74(&gunpos, gunrooms, &hitpos, hitrooms); - sp210 = true; + queriedhitrooms = true; bgunPlayBgHitSound(&gset, &hitpos, -1, hitrooms); if (chrIsUsingPaintball(chr)) { @@ -18313,11 +10384,11 @@ void chrShoot(struct chrdata *chr, s32 handnum) if (gset.weaponnum == WEAPON_PHOENIX && gset.weaponfunc == FUNC_SECONDARY) { s32 playernum = chr->aibot ? mpPlayerGetIndex(chr) : g_Vars.currentplayernum; - if (!sp210) { + if (!queriedhitrooms) { func0f065e74(&gunpos, gunrooms, &hitpos, hitrooms); } - explosionCreateSimple(0, &hitpos, hitrooms, EXPLOSIONTYPE_PHOENIX, playernum); + explosionCreateSimple(NULL, &hitpos, hitrooms, EXPLOSIONTYPE_PHOENIX, playernum); } } } @@ -18368,22 +10439,33 @@ void chrShoot(struct chrdata *chr, s32 handnum) } } - chrCreateFireslot(chr, handnum, firingthistick, firingthistick && makebeam, &gunpos, &hitpos); + // osSyncPrintf is defined to nothing, so these print statements + // get optimised out but leave their strings in rodata. + // The on/off strings are surely used in a ternary statement in the + // previous string, but making this a ternary creates a mismatch. + osSyncPrintf("firing(%d) %d, beam(%d) %s", handnum, firingthisframe, handnum); + osSyncPrintf("on"); + osSyncPrintf("off"); + + chrCreateFireslot(chr, handnum, firingthisframe, firingthisframe && makebeam, &gunpos, &hitpos); if (isaibot) { - if (firingthistick) { + if (firingthisframe) { + osSyncPrintf("firecount(%d) = %d", handnum, chr->aibot->loadedammo[handnum]); + if (chr->aibot->loadedammo[handnum] > 0) { chr->aibot->loadedammo[handnum]--; } + + osSyncPrintf("numshots(%d) = %d", handnum, chr->aibot->loadedammo[handnum]); } - chrSetFiring(chr, handnum, firingthistick && normalshoot); + chrSetFiring(chr, handnum, firingthisframe && normalshoot); } else { - chrSetFiring(chr, handnum, firingthistick); + chrSetFiring(chr, handnum, firingthisframe); } } } -#endif void func0f041a74(struct chrdata *chr) { @@ -18418,16 +10500,16 @@ void func0f041a74(struct chrdata *chr) } else if (chr->actiontype == ACT_ATTACKAMOUNT) { if (chr->act_attack.numshots < chr->act_attack.maxshots && (chr->hidden & CHRHFLAG_FIRINGRIGHT)) { - chrShoot(chr, 0); + chrTickShoot(chr, HAND_RIGHT); } } else { if (chr->hidden & CHRHFLAG_FIRINGRIGHT) { - chrShoot(chr, 0); + chrTickShoot(chr, HAND_RIGHT); chr->hidden &= ~CHRHFLAG_FIRINGRIGHT; } if (chr->hidden & CHRHFLAG_FIRINGLEFT) { - chrShoot(chr, 1); + chrTickShoot(chr, HAND_LEFT); chr->hidden &= ~CHRHFLAG_FIRINGLEFT; } } diff --git a/src/game/prop.c b/src/game/prop.c index 2f3c184b8..8120e900d 100644 --- a/src/game/prop.c +++ b/src/game/prop.c @@ -993,7 +993,7 @@ struct prop *func0f061d54(s32 handnum, u32 arg1, u32 arg2) shotCalculateHits(handnum, arg1, &sp58, &sp64, &sp40, &sp4c, 0, 4294836224, PLAYERCOUNT() >= 2); } -void handCreateBulletRaycast(s32 handnum, bool arg1, bool dorandom, s32 arg3, bool arg4) +void shotCreate(s32 handnum, bool arg1, bool dorandom, s32 arg3, bool arg4) { struct coord shootdir; struct coord shootpos; @@ -1294,14 +1294,14 @@ void handTickAttack(s32 handnum) mpstatsIncrementPlayerShotCount2(&gset, 0); if (weaponnum == WEAPON_SHOTGUN) { - handCreateBulletRaycast(handnum, true, true, 1, true); - handCreateBulletRaycast(handnum, true, true, 1, true); - handCreateBulletRaycast(handnum, true, true, 1, true); - handCreateBulletRaycast(handnum, true, true, 1, true); - handCreateBulletRaycast(handnum, true, true, 1, true); - handCreateBulletRaycast(handnum, true, true, 1, true); + shotCreate(handnum, true, true, 1, true); + shotCreate(handnum, true, true, 1, true); + shotCreate(handnum, true, true, 1, true); + shotCreate(handnum, true, true, 1, true); + shotCreate(handnum, true, true, 1, true); + shotCreate(handnum, true, true, 1, true); } else { - handCreateBulletRaycast(handnum, true, true, bgunGetShotsToTake(handnum), g_Vars.mplayerisrunning); + shotCreate(handnum, true, true, bgunGetShotsToTake(handnum), g_Vars.mplayerisrunning); } mpstats0f0b0520(); diff --git a/src/include/game/chraction.h b/src/include/game/chraction.h index 9034fa1ec..b720736a8 100644 --- a/src/include/game/chraction.h +++ b/src/include/game/chraction.h @@ -137,7 +137,7 @@ void chrTickSurprised(struct chrdata *chr); void chrCreateFireslot(struct chrdata *chr, s32 handnum, bool withsound, bool withbeam, struct coord *from, struct coord *to); f32 chrGetInverseTheta(struct chrdata *chr); f32 chrGetAimAngle(struct chrdata *chr); -f32 func0f03e754(struct chrdata *chr); +f32 chrGetPitchAngle(struct chrdata *chr); s32 chrTurn(struct chrdata *chr, s32 turning, f32 endanimframe, f32 speed, f32 toleranceangle); bool func0f03e9f4(struct chrdata *chr, struct attackanimconfig *animcfg, s32 arg2, s32 arg3, f32 arg4); void chrCalculateAimEndProperties(struct chrdata *chr, struct attackanimconfig *animcfg, bool firingleft, bool firingright, f32 shootrotx); @@ -146,7 +146,7 @@ void chrCalculateHit(struct chrdata *chr, bool *angleokptr, bool *hit, struct gs bool chrGetGunPos(struct chrdata *chr, s32 handnum, struct coord *gunpos); void chrCalculateShieldHit(struct chrdata *chr, struct coord *pos, struct coord *vector, struct modelnode **node, s32 *hitpart, struct model **model, s32 *side); void chrCalculateTrajectory(struct coord *frompos, f32 arg1, struct coord *aimpos, struct coord *arg3); -void chrShoot(struct chrdata *chr, s32 handnum); +void chrTickShoot(struct chrdata *chr, s32 handnum); void func0f041a74(struct chrdata *chr); bool func0f041c44(struct chrdata *chr); void chrAttackAmountUpdateAnimation(struct chrdata *chr); diff --git a/src/include/game/prop.h b/src/include/game/prop.h index d802ec35c..a0bfc594a 100644 --- a/src/include/game/prop.h +++ b/src/include/game/prop.h @@ -24,7 +24,7 @@ void weaponPlayWhooshSound(s32 weaponnum, struct prop *prop); void func0f060bac(s32 weaponnum, struct prop *prop); struct prop *shotCalculateHits(s32 handnum, bool arg1, struct coord *arg2, struct coord *arg3, struct coord *gunpos, struct coord *dir, u32 arg6, f32 arg7, bool arg8); struct prop *func0f061d54(s32 handnum, u32 arg1, u32 arg2); -void handCreateBulletRaycast(s32 handnum, bool arg1, bool dorandom, s32 arg3, bool arg4); +void shotCreate(s32 handnum, bool arg1, bool dorandom, s32 arg3, bool arg4); void func0f061fa8(struct shotdata *shotdata, struct prop *prop, f32 arg2, s32 hitpart, struct modelnode *node, struct hitthing *hitthing, s32 arg6, struct modelnode *arg7, struct model *model, bool arg9, s32 arg10, struct coord *arg11, struct coord *arg12); void handInflictCloseRangeDamage(s32 handnum, struct gset *gset, bool arg2); void handTickAttack(s32 handnum);