#include #include "constants.h" #include "game/bondmove.h" #include "game/cheats.h" #include "game/chr/chraction.h" #include "game/inventory/items.h" #include "game/game_006900.h" #include "game/chr/chr.h" #include "game/prop.h" #include "game/game_092610.h" #include "game/game_096360.h" #include "game/game_0969d0.h" #include "game/game_096b20.h" #include "game/game_096ca0.h" #include "game/game_097aa0.h" #include "game/bondgun.h" #include "game/game_0abe70.h" #include "game/game_0b0fd0.h" #include "game/game_0b28d0.h" #include "game/game_0b3350.h" #include "game/game_0b4950.h" #include "game/game_0b69d0.h" #include "game/game_0c33f0.h" #include "game/gfxmemory.h" #include "game/sight.h" #include "game/inventory/inventory.h" #include "game/game_127910.h" #include "game/smoke/smoke.h" #include "game/game_1531a0.h" #include "game/file.h" #include "game/lv.h" #include "game/texdecompress.h" #include "game/game_176080.h" #include "game/training/training.h" #include "game/training/training.h" #include "game/lang.h" #include "game/mplayer/mplayer.h" #include "game/pak/pak.h" #include "game/options.h" #include "game/propobj.h" #include "bss.h" #include "lib/lib_09a80.h" #include "lib/joy.h" #include "lib/main.h" #include "lib/model.h" #include "lib/snd.h" #include "lib/rng.h" #include "lib/lib_159b0.h" #include "lib/lib_16110.h" #include "lib/lib_233c0.h" #include "lib/lib_317f0.h" #include "data.h" #include "types.h" u32 var8009d0d0[2]; s32 var8009d0d8; u32 var8009d0dc; struct audiohandle *var8009d0e0[4]; u32 var8009d0f0; u32 var8009d0f4; u32 var8009d0f8; u32 var8009d0fc; u32 var8009d100; u32 var8009d104; u32 var8009d108; u32 var8009d10c; u32 var8009d110; u32 var8009d114; u32 var8009d118; u32 var8009d11c; u32 var8009d120; u32 var8009d124; u32 var8009d128; u32 var8009d12c; u32 var8009d130; u32 var8009d134; u32 var8009d138; u32 var8009d13c; #if VERSION >= VERSION_PAL_FINAL u32 fill2[2]; #endif u32 var8009d140; u32 var8009d144; s32 var8009d148; u32 var8009d14c; struct fireslot g_Fireslots[NUM_FIRESLOTS]; u32 var80070090 = 0x96969600; u32 var80070094 = 0x96969600; u32 var80070098 = 0xffffff00; u32 var8007009c = 0xffffff00; u32 var800700a0 = 0xb24d2e00; u32 var800700a4 = 0x00000000; u32 var800700a8 = 0x00025800; u32 var800700ac = 0x0001e000; u32 var800700b0 = 0x0059005a; u32 var800700b4 = 0x0058005b; u32 var800700b8 = 0x00000000; u32 var800700bc = 0x69646c65; u32 var800700c0 = 0x00000000; u32 var800700c4 = 0x00007072; u32 var800700c8 = 0x65706172; u32 var800700cc = 0x65000000; u32 var800700d0 = 0x63616e74; u32 var800700d4 = 0x75736500; u32 var800700d8 = 0x00006e6f; u32 var800700dc = 0x616d6d6f; u32 var800700e0 = 0x00000000; u32 var800700e4 = 0x75736532; u32 var800700e8 = 0x00000000; u32 var800700ec = 0x00006368; u32 var800700f0 = 0x616e6765; u32 var800700f4 = 0x00000000; u32 var800700f8 = 0x75706772; u32 var800700fc = 0x61646500; u32 var80070100 = 0x00006368; u32 var80070104 = 0x616e6765; u32 var80070108 = 0x666e0000; u32 var8007010c = 0x69646c65; u32 var80070110 = 0x73747563; u32 var80070114 = 0x6b007878; u32 var80070118 = 0x78000000; u32 var8007011c = 0x00000000; #if VERSION >= VERSION_NTSC_1_0 void bgun0f097ba0(s32 handnum, s32 weaponnum) { u32 stack; s32 contpadtouse1; s32 contpadtouse2; bool singlewield = false; s32 contpad1; s32 contpad2; s32 a; s32 b; joyGetContpadNumsForPlayer(g_Vars.currentplayernum, &contpad1, &contpad2); if (optionsGetControlMode(g_Vars.currentplayerstats->mpindex) >= CONTROLMODE_21 && contpad1 >= 0 && contpad2 >= 0) { a = func0f116914(contpad1) == 1; b = func0f116914(contpad2) == 1; if (!weaponHasFlag(weaponnum, WEAPONFLAG_DUALWIELD)) { singlewield = true; } if (a && b) { if (singlewield) { func0f11dc04(contpad1, 0.2f, 2, 4); func0f11dc04(contpad2, 0.2f, 2, 4); } else { s32 contpadtouse1 = contpad1; if (handnum == HAND_LEFT) { contpadtouse1 = contpad2; } func0f11dc04(contpadtouse1, 0.2f, 2, 4); } } else { s32 contpadtouse2 = contpad1; if (b) { contpadtouse2 = contpad2; } func0f11dc04(contpadtouse2, 0.2f, 2, 4); } } else { if (contpad1 >= 0) { func0f11dc04(contpad1, 0.2f, 2, 4); } } } #else GLOBAL_ASM( glabel bgun0f097ba0 /* f095b30: 27bdffd0 */ addiu $sp,$sp,-48 /* f095b34: 3c08800a */ lui $t0,0x800a /* f095b38: 2508e6c0 */ addiu $t0,$t0,-6464 /* f095b3c: 8d0e0288 */ lw $t6,0x288($t0) /* f095b40: afbf0014 */ sw $ra,0x14($sp) /* f095b44: afa40030 */ sw $a0,0x30($sp) /* f095b48: afa50034 */ sw $a1,0x34($sp) /* f095b4c: 0fc53380 */ jal optionsGetControlMode /* f095b50: 8dc40070 */ lw $a0,0x70($t6) /* f095b54: 3c08800a */ lui $t0,0x800a /* f095b58: 28410004 */ slti $at,$v0,0x4 /* f095b5c: 1420007c */ bnez $at,.NB0f095d50 /* f095b60: 2508e6c0 */ addiu $t0,$t0,-6464 /* f095b64: 0fc44336 */ jal func0f116914 /* f095b68: 8104028f */ lb $a0,0x28f($t0) /* f095b6c: 3c08800a */ lui $t0,0x800a /* f095b70: 2508e6c0 */ addiu $t0,$t0,-6464 /* f095b74: 8d0f006c */ lw $t7,0x6c($t0) /* f095b78: 24050001 */ addiu $a1,$zero,0x1 /* f095b7c: 00453026 */ xor $a2,$v0,$a1 /* f095b80: 11e00003 */ beqz $t7,.NB0f095b90 /* f095b84: 2cc60001 */ sltiu $a2,$a2,0x1 /* f095b88: 10000002 */ beqz $zero,.NB0f095b94 /* f095b8c: 00a05025 */ or $t2,$a1,$zero .NB0f095b90: /* f095b90: 00005025 */ or $t2,$zero,$zero .NB0f095b94: /* f095b94: 8d180068 */ lw $t8,0x68($t0) /* f095b98: 00004825 */ or $t1,$zero,$zero /* f095b9c: 00001825 */ or $v1,$zero,$zero /* f095ba0: 13000003 */ beqz $t8,.NB0f095bb0 /* f095ba4: 00001025 */ or $v0,$zero,$zero /* f095ba8: 10000001 */ beqz $zero,.NB0f095bb0 /* f095bac: 00a04825 */ or $t1,$a1,$zero .NB0f095bb0: /* f095bb0: 8d190064 */ lw $t9,0x64($t0) /* f095bb4: 13200003 */ beqz $t9,.NB0f095bc4 /* f095bb8: 00000000 */ sll $zero,$zero,0x0 /* f095bbc: 10000001 */ beqz $zero,.NB0f095bc4 /* f095bc0: 00a01825 */ or $v1,$a1,$zero .NB0f095bc4: /* f095bc4: 8d0c0070 */ lw $t4,0x70($t0) /* f095bc8: 11800003 */ beqz $t4,.NB0f095bd8 /* f095bcc: 00000000 */ sll $zero,$zero,0x0 /* f095bd0: 10000001 */ beqz $zero,.NB0f095bd8 /* f095bd4: 00a01025 */ or $v0,$a1,$zero .NB0f095bd8: /* f095bd8: 8d18028c */ lw $t8,0x28c($t0) /* f095bdc: 00436821 */ addu $t5,$v0,$v1 /* f095be0: 01a97021 */ addu $t6,$t5,$t1 /* f095be4: 01ca7821 */ addu $t7,$t6,$t2 /* f095be8: 01f82021 */ addu $a0,$t7,$t8 /* f095bec: 0004ce00 */ sll $t9,$a0,0x18 /* f095bf0: 00192603 */ sra $a0,$t9,0x18 /* f095bf4: 0fc44336 */ jal func0f116914 /* f095bf8: afa6001c */ sw $a2,0x1c($sp) /* f095bfc: 8fa6001c */ lw $a2,0x1c($sp) /* f095c00: 3c08800a */ lui $t0,0x800a /* f095c04: 2508e6c0 */ addiu $t0,$t0,-6464 /* f095c08: 10c0002a */ beqz $a2,.NB0f095cb4 /* f095c0c: 24050001 */ addiu $a1,$zero,0x1 /* f095c10: 14450028 */ bne $v0,$a1,.NB0f095cb4 /* f095c14: 8fae0030 */ lw $t6,0x30($sp) /* f095c18: 15c5001c */ bne $t6,$a1,.NB0f095c8c /* f095c1c: 8d0b028c */ lw $t3,0x28c($t0) /* f095c20: 8d0f0070 */ lw $t7,0x70($t0) /* f095c24: 00005025 */ or $t2,$zero,$zero /* f095c28: 00004825 */ or $t1,$zero,$zero /* f095c2c: 11e00003 */ beqz $t7,.NB0f095c3c /* f095c30: 00001825 */ or $v1,$zero,$zero /* f095c34: 10000001 */ beqz $zero,.NB0f095c3c /* f095c38: 240a0001 */ addiu $t2,$zero,0x1 .NB0f095c3c: /* f095c3c: 8d18006c */ lw $t8,0x6c($t0) /* f095c40: 00001025 */ or $v0,$zero,$zero /* f095c44: 13000003 */ beqz $t8,.NB0f095c54 /* f095c48: 00000000 */ sll $zero,$zero,0x0 /* f095c4c: 10000001 */ beqz $zero,.NB0f095c54 /* f095c50: 24090001 */ addiu $t1,$zero,0x1 .NB0f095c54: /* f095c54: 8d190068 */ lw $t9,0x68($t0) /* f095c58: 13200003 */ beqz $t9,.NB0f095c68 /* f095c5c: 00000000 */ sll $zero,$zero,0x0 /* f095c60: 10000001 */ beqz $zero,.NB0f095c68 /* f095c64: 24030001 */ addiu $v1,$zero,0x1 .NB0f095c68: /* f095c68: 8d0c0064 */ lw $t4,0x64($t0) /* f095c6c: 11800003 */ beqz $t4,.NB0f095c7c /* f095c70: 00000000 */ sll $zero,$zero,0x0 /* f095c74: 10000001 */ beqz $zero,.NB0f095c7c /* f095c78: 24020001 */ addiu $v0,$zero,0x1 .NB0f095c7c: /* f095c7c: 01626821 */ addu $t5,$t3,$v0 /* f095c80: 01a37021 */ addu $t6,$t5,$v1 /* f095c84: 01c97821 */ addu $t7,$t6,$t1 /* f095c88: 01ea5821 */ addu $t3,$t7,$t2 .NB0f095c8c: /* f095c8c: 000b2600 */ sll $a0,$t3,0x18 /* f095c90: 0004c603 */ sra $t8,$a0,0x18 /* f095c94: 3c053e4c */ lui $a1,0x3e4c /* f095c98: 34a5cccd */ ori $a1,$a1,0xcccd /* f095c9c: 03002025 */ or $a0,$t8,$zero /* f095ca0: 24060002 */ addiu $a2,$zero,0x2 /* f095ca4: 0fc45e2f */ jal func0f11dc04 /* f095ca8: 24070004 */ addiu $a3,$zero,0x4 /* f095cac: 1000002f */ beqz $zero,.NB0f095d6c /* f095cb0: 8fbf0014 */ lw $ra,0x14($sp) .NB0f095cb4: /* f095cb4: 1445001c */ bne $v0,$a1,.NB0f095d28 /* f095cb8: 8d0b028c */ lw $t3,0x28c($t0) /* f095cbc: 8d0c0070 */ lw $t4,0x70($t0) /* f095cc0: 00005025 */ or $t2,$zero,$zero /* f095cc4: 00004825 */ or $t1,$zero,$zero /* f095cc8: 11800003 */ beqz $t4,.NB0f095cd8 /* f095ccc: 00001825 */ or $v1,$zero,$zero /* f095cd0: 10000001 */ beqz $zero,.NB0f095cd8 /* f095cd4: 240a0001 */ addiu $t2,$zero,0x1 .NB0f095cd8: /* f095cd8: 8d0d006c */ lw $t5,0x6c($t0) /* f095cdc: 00001025 */ or $v0,$zero,$zero /* f095ce0: 11a00003 */ beqz $t5,.NB0f095cf0 /* f095ce4: 00000000 */ sll $zero,$zero,0x0 /* f095ce8: 10000001 */ beqz $zero,.NB0f095cf0 /* f095cec: 24090001 */ addiu $t1,$zero,0x1 .NB0f095cf0: /* f095cf0: 8d0e0068 */ lw $t6,0x68($t0) /* f095cf4: 11c00003 */ beqz $t6,.NB0f095d04 /* f095cf8: 00000000 */ sll $zero,$zero,0x0 /* f095cfc: 10000001 */ beqz $zero,.NB0f095d04 /* f095d00: 24030001 */ addiu $v1,$zero,0x1 .NB0f095d04: /* f095d04: 8d0f0064 */ lw $t7,0x64($t0) /* f095d08: 11e00003 */ beqz $t7,.NB0f095d18 /* f095d0c: 00000000 */ sll $zero,$zero,0x0 /* f095d10: 10000001 */ beqz $zero,.NB0f095d18 /* f095d14: 24020001 */ addiu $v0,$zero,0x1 .NB0f095d18: /* f095d18: 0162c021 */ addu $t8,$t3,$v0 /* f095d1c: 0303c821 */ addu $t9,$t8,$v1 /* f095d20: 03296021 */ addu $t4,$t9,$t1 /* f095d24: 018a5821 */ addu $t3,$t4,$t2 .NB0f095d28: /* f095d28: 000b2600 */ sll $a0,$t3,0x18 /* f095d2c: 00046e03 */ sra $t5,$a0,0x18 /* f095d30: 3c053e4c */ lui $a1,0x3e4c /* f095d34: 34a5cccd */ ori $a1,$a1,0xcccd /* f095d38: 01a02025 */ or $a0,$t5,$zero /* f095d3c: 24060002 */ addiu $a2,$zero,0x2 /* f095d40: 0fc45e2f */ jal func0f11dc04 /* f095d44: 24070004 */ addiu $a3,$zero,0x4 /* f095d48: 10000008 */ beqz $zero,.NB0f095d6c /* f095d4c: 8fbf0014 */ lw $ra,0x14($sp) .NB0f095d50: /* f095d50: 3c053e4c */ lui $a1,0x3e4c /* f095d54: 34a5cccd */ ori $a1,$a1,0xcccd /* f095d58: 8104028f */ lb $a0,0x28f($t0) /* f095d5c: 24060002 */ addiu $a2,$zero,0x2 /* f095d60: 0fc45e2f */ jal func0f11dc04 /* f095d64: 24070004 */ addiu $a3,$zero,0x4 /* f095d68: 8fbf0014 */ lw $ra,0x14($sp) .NB0f095d6c: /* f095d6c: 27bd0030 */ addiu $sp,$sp,0x30 /* f095d70: 03e00008 */ jr $ra /* f095d74: 00000000 */ sll $zero,$zero,0x0 ); #endif s32 bgunGetUnequippedReloadIndex(s32 weaponnum) { if (weaponnum == WEAPON_CROSSBOW) { return 0; } if (weaponnum == WEAPON_SHOTGUN) { return 1; } if (weaponnum == WEAPON_DY357MAGNUM) { return 2; } if (weaponnum == WEAPON_DY357LX) { return 3; } return -1; } /** * The magnums, shotgun and crossbow are special because that the game remembers * how much ammo is loaded in their clips when the weapon is not being used. * Their clips are gradually reloaded while the weapon is not in use, and that * gradual reloading is handled by this function. * * The gunroundsspent value is actually a countdown timer, * not the number of rounds as the name suggests. */ void bgunTickUnequippedReload(void) { s32 i; s32 j; for (i = 0; i < 2; i++) { for (j = 0; j < 4; j++) { u16 spent = g_Vars.currentplayer->hands[i].gunroundsspent[j]; if (spent > g_Vars.lvupdate240_60) { spent -= g_Vars.lvupdate240_60; } else { spent = 0; } g_Vars.currentplayer->hands[i].gunroundsspent[j] = spent; } } } bool bgun0f097df0(struct inventory_typef *arg0, struct hand *hand) { bool result = true; switch (arg0->unk00) { case 4: if (((hand->gset.unk0639 >> arg0->unk02) & 1) == 0) { result = false; } break; case 5: if (hand != &g_Vars.currentplayer->hands[HAND_LEFT]) { result = false; } break; case 6: if (hand != &g_Vars.currentplayer->hands[HAND_RIGHT]) { result = false; } break; } return result; } void bgun0f097e74(s16 partnum, s32 arg1, struct hand *hand, struct modelfiledata *arg3) { struct modelnode *node; if (partnum == MODELPART_0035 || partnum == MODELPART_0036) { if (g_Vars.currentplayer->gunctrl.unk1594) { node = modelGetPart(g_Vars.currentplayer->gunctrl.unk1594, partnum); if (node) { struct modelrodata_toggle *rodata = &node->rodata->toggle; u32 *ptr = &hand->handsavedata[rodata->rwdataindex]; *ptr = arg1; } } } else { node = modelGetPart(arg3, partnum); if (node) { struct modelrodata_toggle *rodata = &node->rodata->toggle; u32 *ptr = &hand->unk0a6c[rodata->rwdataindex]; *ptr = arg1; } } } void bgun0f097f28(struct hand *hand, struct modelfiledata *filedata, struct inventory_typef *arg2) { struct inventory_typef *thing = arg2; bool done = false; if (thing == NULL) { return; } while (!done) { if (bgun0f097df0(thing, hand)) { if (thing->unk04 == 0) { bgun0f097e74(thing->partnum, 1, hand, filedata); } if (thing->unk04 == 1) { bgun0f097e74(thing->partnum, 0, hand, filedata); } if (thing->unk04 == 3) { bgun0f097e74(thing->partnum, 1, hand, filedata); } } else { if (thing->unk04 == 3) { bgun0f097e74(thing->partnum, 0, hand, filedata); } } thing++; if (thing->unk00 == 0) { done = true; } } } void bgun0f098030(struct hand *hand, struct modelfiledata *arg1) { struct weapon *weapon = weaponFindById(hand->gset.weaponnum); s32 i; s32 j; bgun0f097f28(hand, arg1, weapon->fptr); bgun0f097e74(MODELPART_0042, 0, hand, arg1); for (i = 0; i < 2; i++) { if (weapon->ammos[i] && (weapon->ammos[i]->flags & WEAPONFLAG_ONEHANDED)) { for (j = 0; j < hand->clipsizes[i]; j++) { if (j >= hand->loadedammo[i]) { bgun0f097e74(j + 100, 0, hand, arg1); } else { bgun0f097e74(j + 100, 1, hand, arg1); } } } } } f32 bgun0f09815c(struct hand *hand) { if (hand->animmode == HANDANIMMODE_BUSY && hand->unk0ce8 != NULL) { if (hand->unk0ce8->unk04 < 0) { return modelGetNumAnimFrames(&hand->unk09bc) - modelGetCurAnimFrame(&hand->unk09bc); } return modelGetCurAnimFrame(&hand->unk09bc); } return 0; } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0981e8 .late_rodata glabel var7f1ad398pf .word 0x461c4000 glabel var7f1ad39cpf .word 0x3f451eb8 glabel var7f1ad3a0pf .word 0x3f333333 glabel var7f1ad3a4pf .word 0x3f99999a glabel var7f1ad3a8pf .word 0x3f555555 glabel var7f1ad3acpf .word 0x3f99999a .text /* f098108: 27bdfea0 */ addiu $sp,$sp,-352 /* f09810c: afbf004c */ sw $ra,0x4c($sp) /* f098110: afb40048 */ sw $s4,0x48($sp) /* f098114: afb30044 */ sw $s3,0x44($sp) /* f098118: afb20040 */ sw $s2,0x40($sp) /* f09811c: afb1003c */ sw $s1,0x3c($sp) /* f098120: afb00038 */ sw $s0,0x38($sp) /* f098124: f7b40030 */ sdc1 $f20,0x30($sp) /* f098128: afa50164 */ sw $a1,0x164($sp) /* f09812c: 908e0690 */ lbu $t6,0x690($a0) /* f098130: 8c98068c */ lw $t8,0x68c($a0) /* f098134: 24010002 */ li $at,0x2 /* f098138: 31cfffe3 */ andi $t7,$t6,0xffe3 /* f09813c: 00809025 */ move $s2,$a0 /* f098140: 1701000f */ bne $t8,$at,.PF0f098180 /* f098144: a08f0690 */ sb $t7,0x690($a0) /* f098148: 0fc2601f */ jal bgun0f09815c /* f09814c: 00000000 */ nop /* f098150: 46000506 */ mov.s $f20,$f0 /* f098154: 0c0073fa */ jal modelGetNumAnimFrames /* f098158: 26440384 */ addiu $a0,$s2,0x384 /* f09815c: 2459ffff */ addiu $t9,$v0,-1 /* f098160: 44992000 */ mtc1 $t9,$f4 /* f098164: 00000000 */ nop /* f098168: 468021a0 */ cvt.s.w $f6,$f4 /* f09816c: 4614303e */ c.le.s $f6,$f20 /* f098170: 00000000 */ nop /* f098174: 45020003 */ bc1fl .PF0f098184 /* f098178: 8e480680 */ lw $t0,0x680($s2) /* f09817c: ae40068c */ sw $zero,0x68c($s2) .PF0f098180: /* f098180: 8e480680 */ lw $t0,0x680($s2) .PF0f098184: /* f098184: 8e49068c */ lw $t1,0x68c($s2) /* f098188: 29020000 */ slti $v0,$t0,0x0 /* f09818c: 392a0002 */ xori $t2,$t1,0x2 /* f098190: 2d4a0001 */ sltiu $t2,$t2,0x1 /* f098194: 38420001 */ xori $v0,$v0,0x1 /* f098198: 01425825 */ or $t3,$t2,$v0 /* f09819c: 516001d2 */ beqzl $t3,.PF0f0988e8 /* f0981a0: 8fbf004c */ lw $ra,0x4c($sp) /* f0981a4: 44801000 */ mtc1 $zero,$f2 /* f0981a8: c64806d0 */ lwc1 $f8,0x6d0($s2) /* f0981ac: 26540384 */ addiu $s4,$s2,0x384 /* f0981b0: 4608103c */ c.lt.s $f2,$f8 /* f0981b4: 00000000 */ nop /* f0981b8: 45000006 */ bc1f .PF0f0981d4 /* f0981bc: 00000000 */ nop /* f0981c0: 8e480680 */ lw $t0,0x680($s2) /* f0981c4: ae400684 */ sw $zero,0x684($s2) /* f0981c8: e6420688 */ swc1 $f2,0x688($s2) /* f0981cc: 29020000 */ slti $v0,$t0,0x0 /* f0981d0: 38420001 */ xori $v0,$v0,0x1 .PF0f0981d4: /* f0981d4: 5040005a */ beqzl $v0,.PF0f098340 /* f0981d8: 8e4d0690 */ lw $t5,0x690($s2) /* f0981dc: 8e4306b0 */ lw $v1,0x6b0($s2) /* f0981e0: 3c013f80 */ lui $at,0x3f80 /* f0981e4: 924d06d6 */ lbu $t5,0x6d6($s2) /* f0981e8: 8c6c0004 */ lw $t4,0x4($v1) /* f0981ec: 44810000 */ mtc1 $at,$f0 /* f0981f0: 3c017f1b */ lui $at,0x7f1b /* f0981f4: 448c5000 */ mtc1 $t4,$f10 /* f0981f8: c432d398 */ lwc1 $f18,-0x2c68($at) /* f0981fc: 31ae0001 */ andi $t6,$t5,0x1 /* f098200: 46805420 */ cvt.s.w $f16,$f10 /* f098204: 3c0f800a */ lui $t7,0x800a /* f098208: 11c0001a */ beqz $t6,.PF0f098274 /* f09820c: 46128503 */ div.s $f20,$f16,$f18 /* f098210: 8defa794 */ lw $t7,-0x586c($t7) /* f098214: 81f80de4 */ lb $t8,0xde4($t7) /* f098218: 13000016 */ beqz $t8,.PF0f098274 /* f09821c: 00000000 */ nop /* f098220: 0c004ad4 */ jal random /* f098224: 00000000 */ nop /* f098228: 44822000 */ mtc1 $v0,$f4 /* f09822c: 3c014f80 */ lui $at,0x4f80 /* f098230: 04410004 */ bgez $v0,.PF0f098244 /* f098234: 468021a0 */ cvt.s.w $f6,$f4 /* f098238: 44814000 */ mtc1 $at,$f8 /* f09823c: 00000000 */ nop /* f098240: 46083180 */ add.s $f6,$f6,$f8 .PF0f098244: /* f098244: 3c012f80 */ lui $at,0x2f80 /* f098248: 44815000 */ mtc1 $at,$f10 /* f09824c: 3c017f1b */ lui $at,0x7f1b /* f098250: c432d39c */ lwc1 $f18,-0x2c64($at) /* f098254: 460a3402 */ mul.s $f16,$f6,$f10 /* f098258: 3c017f1b */ lui $at,0x7f1b /* f09825c: c428d3a0 */ lwc1 $f8,-0x2c60($at) /* f098260: 44801000 */ mtc1 $zero,$f2 /* f098264: 8e480680 */ lw $t0,0x680($s2) /* f098268: 8e4306b0 */ lw $v1,0x6b0($s2) /* f09826c: 46128102 */ mul.s $f4,$f16,$f18 /* f098270: 46082000 */ add.s $f0,$f4,$f8 .PF0f098274: /* f098274: 10600018 */ beqz $v1,.PF0f0982d8 /* f098278: 02802025 */ move $a0,$s4 /* f09827c: 4602a03c */ c.lt.s $f20,$f2 /* f098280: 00082c00 */ sll $a1,$t0,0x10 /* f098284: 0005cc03 */ sra $t9,$a1,0x10 /* f098288: 45000013 */ bc1f .PF0f0982d8 /* f09828c: 00000000 */ nop /* f098290: 46140182 */ mul.s $f6,$f0,$f20 /* f098294: 44071000 */ mfc1 $a3,$f2 /* f098298: 02802025 */ move $a0,$s4 /* f09829c: 03202825 */ move $a1,$t9 /* f0982a0: 00003025 */ move $a2,$zero /* f0982a4: e7a20014 */ swc1 $f2,0x14($sp) /* f0982a8: 0c0076a7 */ jal modelSetAnimation /* f0982ac: e7a60010 */ swc1 $f6,0x10($sp) /* f0982b0: 0c0073fa */ jal modelGetNumAnimFrames /* f0982b4: 02802025 */ move $a0,$s4 /* f0982b8: 44825000 */ mtc1 $v0,$f10 /* f0982bc: 02802025 */ move $a0,$s4 /* f0982c0: 468052a0 */ cvt.s.w $f10,$f10 /* f0982c4: 44055000 */ mfc1 $a1,$f10 /* f0982c8: 0c00777a */ jal func0001e018 /* f0982cc: 00000000 */ nop /* f0982d0: 1000000b */ b .PF0f098300 /* f0982d4: 240affff */ li $t2,-1 .PF0f0982d8: /* f0982d8: 46140402 */ mul.s $f16,$f0,$f20 /* f0982dc: 00082c00 */ sll $a1,$t0,0x10 /* f0982e0: 00054c03 */ sra $t1,$a1,0x10 /* f0982e4: 44071000 */ mfc1 $a3,$f2 /* f0982e8: 01202825 */ move $a1,$t1 /* f0982ec: 00003025 */ move $a2,$zero /* f0982f0: e7a20014 */ swc1 $f2,0x14($sp) /* f0982f4: 0c0076a7 */ jal modelSetAnimation /* f0982f8: e7b00010 */ swc1 $f16,0x10($sp) /* f0982fc: 240affff */ li $t2,-1 .PF0f098300: /* f098300: 240b0002 */ li $t3,0x2 /* f098304: ae4a0680 */ sw $t2,0x680($s2) /* f098308: ae4b068c */ sw $t3,0x68c($s2) /* f09830c: 0c007416 */ jal modelGetAbsAnimSpeed /* f098310: 02802025 */ move $a0,$s4 /* f098314: 8e4c0684 */ lw $t4,0x684($s2) /* f098318: 3c017f1b */ lui $at,0x7f1b /* f09831c: c428d3a4 */ lwc1 $f8,-0x2c5c($at) /* f098320: 448c9000 */ mtc1 $t4,$f18 /* f098324: 44801000 */ mtc1 $zero,$f2 /* f098328: 46809120 */ cvt.s.w $f4,$f18 /* f09832c: 46082182 */ mul.s $f6,$f4,$f8 /* f098330: 00000000 */ nop /* f098334: 46060282 */ mul.s $f10,$f0,$f6 /* f098338: e64a0688 */ swc1 $f10,0x688($s2) /* f09833c: 8e4d0690 */ lw $t5,0x690($s2) .PF0f098340: /* f098340: 000d7840 */ sll $t7,$t5,0x1 /* f098344: 05e10003 */ bgez $t7,.PF0f098354 /* f098348: 00000000 */ nop /* f09834c: ae400684 */ sw $zero,0x684($s2) /* f098350: e6420688 */ swc1 $f2,0x688($s2) .PF0f098354: /* f098354: 0fc2601f */ jal bgun0f09815c /* f098358: 02402025 */ move $a0,$s2 /* f09835c: 44809000 */ mtc1 $zero,$f18 /* f098360: c6500688 */ lwc1 $f16,0x688($s2) /* f098364: 46000506 */ mov.s $f20,$f0 /* f098368: 46120032 */ c.eq.s $f0,$f18 /* f09836c: 46008380 */ add.s $f14,$f16,$f0 /* f098370: 4502000b */ bc1fl .PF0f0983a0 /* f098374: 8e4306b0 */ lw $v1,0x6b0($s2) /* f098378: 44802000 */ mtc1 $zero,$f4 /* f09837c: 3c013f80 */ lui $at,0x3f80 /* f098380: 460e203c */ c.lt.s $f4,$f14 /* f098384: 00000000 */ nop /* f098388: 45020005 */ bc1fl .PF0f0983a0 /* f09838c: 8e4306b0 */ lw $v1,0x6b0($s2) /* f098390: 44814000 */ mtc1 $at,$f8 /* f098394: 00000000 */ nop /* f098398: 46080501 */ sub.s $f20,$f0,$f8 /* f09839c: 8e4306b0 */ lw $v1,0x6b0($s2) .PF0f0983a0: /* f0983a0: 106000d8 */ beqz $v1,.PF0f098704 /* f0983a4: 00608825 */ move $s1,$v1 /* f0983a8: 106000d6 */ beqz $v1,.PF0f098704 /* f0983ac: afa0014c */ sw $zero,0x14c($sp) /* f0983b0: 00008025 */ move $s0,$zero /* f0983b4: 24130001 */ li $s3,0x1 /* f0983b8: 92230000 */ lbu $v1,0x0($s1) .PF0f0983bc: /* f0983bc: 14600003 */ bnez $v1,.PF0f0983cc /* f0983c0: 00000000 */ nop /* f0983c4: 100000b6 */ b .PF0f0986a0 /* f0983c8: afb3014c */ sw $s3,0x14c($sp) .PF0f0983cc: /* f0983cc: 12630003 */ beq $s3,$v1,.PF0f0983dc /* f0983d0: 24010002 */ li $at,0x2 /* f0983d4: 54610036 */ bnel $v1,$at,.PF0f0984b0 /* f0983d8: 24010003 */ li $at,0x3 .PF0f0983dc: /* f0983dc: 96260002 */ lhu $a2,0x2($s1) /* f0983e0: 3c014f80 */ lui $at,0x4f80 /* f0983e4: 2405ffff */ li $a1,-1 /* f0983e8: 44863000 */ mtc1 $a2,$f6 /* f0983ec: 27ab0094 */ addiu $t3,$sp,0x94 /* f0983f0: 04c10004 */ bgez $a2,.PF0f098404 /* f0983f4: 468032a0 */ cvt.s.w $f10,$f6 /* f0983f8: 44818000 */ mtc1 $at,$f16 /* f0983fc: 00000000 */ nop /* f098400: 46105280 */ add.s $f10,$f10,$f16 .PF0f098404: /* f098404: 460e503e */ c.le.s $f10,$f14 /* f098408: 2401ffff */ li $at,-1 /* f09840c: 450200a5 */ bc1fl .PF0f0986a4 /* f098410: 8fac014c */ lw $t4,0x14c($sp) /* f098414: 1a00000a */ blez $s0,.PF0f098440 /* f098418: 00001025 */ move $v0,$zero /* f09841c: 8e240004 */ lw $a0,0x4($s1) /* f098420: 27a3010c */ addiu $v1,$sp,0x10c .PF0f098424: /* f098424: 8c780000 */ lw $t8,0x0($v1) /* f098428: 54980003 */ bnel $a0,$t8,.PF0f098438 /* f09842c: 24420001 */ addiu $v0,$v0,0x1 /* f098430: 00402825 */ move $a1,$v0 /* f098434: 24420001 */ addiu $v0,$v0,0x1 .PF0f098438: /* f098438: 1450fffa */ bne $v0,$s0,.PF0f098424 /* f09843c: 24630004 */ addiu $v1,$v1,0x4 .PF0f098440: /* f098440: 14a1000a */ bne $a1,$at,.PF0f09846c /* f098444: 2409ffff */ li $t1,-1 /* f098448: 8e240004 */ lw $a0,0x4($s1) /* f09844c: 02002825 */ move $a1,$s0 /* f098450: 00051080 */ sll $v0,$a1,0x2 /* f098454: 03a2c821 */ addu $t9,$sp,$v0 /* f098458: 03a25021 */ addu $t2,$sp,$v0 /* f09845c: af24010c */ sw $a0,0x10c($t9) /* f098460: ad490094 */ sw $t1,0x94($t2) /* f098464: 26100001 */ addiu $s0,$s0,0x1 /* f098468: 96260002 */ lhu $a2,0x2($s1) .PF0f09846c: /* f09846c: 00051080 */ sll $v0,$a1,0x2 /* f098470: 004b1821 */ addu $v1,$v0,$t3 /* f098474: 8c6c0000 */ lw $t4,0x0($v1) /* f098478: 0186082a */ slt $at,$t4,$a2 /* f09847c: 50200089 */ beqzl $at,.PF0f0986a4 /* f098480: 8fac014c */ lw $t4,0x14c($sp) /* f098484: ac660000 */ sw $a2,0x0($v1) /* f098488: 922d0000 */ lbu $t5,0x0($s1) /* f09848c: 03a27821 */ addu $t7,$sp,$v0 /* f098490: 03a27021 */ addu $t6,$sp,$v0 /* f098494: 166d0003 */ bne $s3,$t5,.PF0f0984a4 /* f098498: 00000000 */ nop /* f09849c: 10000080 */ b .PF0f0986a0 /* f0984a0: add300d0 */ sw $s3,0xd0($t6) .PF0f0984a4: /* f0984a4: 1000007e */ b .PF0f0986a0 /* f0984a8: ade000d0 */ sw $zero,0xd0($t7) /* f0984ac: 24010003 */ li $at,0x3 .PF0f0984b0: /* f0984b0: 10610005 */ beq $v1,$at,.PF0f0984c8 /* f0984b4: 24010008 */ li $at,0x8 /* f0984b8: 50610049 */ beql $v1,$at,.PF0f0985e0 /* f0984bc: 8e4e0690 */ lw $t6,0x690($s2) /* f0984c0: 10000078 */ b .PF0f0986a4 /* f0984c4: 8fac014c */ lw $t4,0x14c($sp) .PF0f0984c8: /* f0984c8: 8e580690 */ lw $t8,0x690($s2) /* f0984cc: 0018cfc2 */ srl $t9,$t8,0x1f /* f0984d0: 53200074 */ beqzl $t9,.PF0f0986a4 /* f0984d4: 8fac014c */ lw $t4,0x14c($sp) /* f0984d8: 96290002 */ lhu $t1,0x2($s1) /* f0984dc: 3c014f80 */ lui $at,0x4f80 /* f0984e0: 44899000 */ mtc1 $t1,$f18 /* f0984e4: 05210004 */ bgez $t1,.PF0f0984f8 /* f0984e8: 468090a0 */ cvt.s.w $f2,$f18 /* f0984ec: 44812000 */ mtc1 $at,$f4 /* f0984f0: 00000000 */ nop /* f0984f4: 46041080 */ add.s $f2,$f2,$f4 .PF0f0984f8: /* f0984f8: 460e103e */ c.le.s $f2,$f14 /* f0984fc: 00000000 */ nop /* f098500: 45020068 */ bc1fl .PF0f0986a4 /* f098504: 8fac014c */ lw $t4,0x14c($sp) /* f098508: 4602a03c */ c.lt.s $f20,$f2 /* f09850c: 00000000 */ nop /* f098510: 45020064 */ bc1fl .PF0f0986a4 /* f098514: 8fac014c */ lw $t4,0x14c($sp) /* f098518: 460ea03c */ c.lt.s $f20,$f14 /* f09851c: 00000000 */ nop /* f098520: 45020060 */ bc1fl .PF0f0986a4 /* f098524: 8fac014c */ lw $t4,0x14c($sp) /* f098528: 0fc2601f */ jal bgun0f09815c /* f09852c: 02402025 */ move $a0,$s2 /* f098530: 962a0002 */ lhu $t2,0x2($s1) /* f098534: 3c014f80 */ lui $at,0x4f80 /* f098538: 02802025 */ move $a0,$s4 /* f09853c: 448a4000 */ mtc1 $t2,$f8 /* f098540: 05410004 */ bgez $t2,.PF0f098554 /* f098544: 468041a0 */ cvt.s.w $f6,$f8 /* f098548: 44818000 */ mtc1 $at,$f16 /* f09854c: 00000000 */ nop /* f098550: 46103180 */ add.s $f6,$f6,$f16 .PF0f098554: /* f098554: 46003081 */ sub.s $f2,$f6,$f0 /* f098558: 3c014000 */ lui $at,0x4000 /* f09855c: 44815000 */ mtc1 $at,$f10 /* f098560: c64c0688 */ lwc1 $f12,0x688($s2) /* f098564: 460a1083 */ div.s $f2,$f2,$f10 /* f098568: 460c103c */ c.lt.s $f2,$f12 /* f09856c: 00000000 */ nop /* f098570: 45000018 */ bc1f .PF0f0985d4 /* f098574: 00000000 */ nop /* f098578: 0c007416 */ jal modelGetAbsAnimSpeed /* f09857c: e7a20084 */ swc1 $f2,0x84($sp) /* f098580: 3c017f1b */ lui $at,0x7f1b /* f098584: c432d3a8 */ lwc1 $f18,-0x2c58($at) /* f098588: c7a20084 */ lwc1 $f2,0x84($sp) /* f09858c: 02802025 */ move $a0,$s4 /* f098590: 46121102 */ mul.s $f4,$f2,$f18 /* f098594: 46002203 */ div.s $f8,$f4,$f0 /* f098598: 4600440d */ trunc.w.s $f16,$f8 /* f09859c: 440c8000 */ mfc1 $t4,$f16 /* f0985a0: 0c007416 */ jal modelGetAbsAnimSpeed /* f0985a4: ae4c0684 */ sw $t4,0x684($s2) /* f0985a8: 8e4d0684 */ lw $t5,0x684($s2) /* f0985ac: 3c017f1b */ lui $at,0x7f1b /* f0985b0: c432d3ac */ lwc1 $f18,-0x2c54($at) /* f0985b4: 448d3000 */ mtc1 $t5,$f6 /* f0985b8: 00000000 */ nop /* f0985bc: 468032a0 */ cvt.s.w $f10,$f6 /* f0985c0: 46125102 */ mul.s $f4,$f10,$f18 /* f0985c4: 00000000 */ nop /* f0985c8: 46040202 */ mul.s $f8,$f0,$f4 /* f0985cc: e6480688 */ swc1 $f8,0x688($s2) /* f0985d0: c64c0688 */ lwc1 $f12,0x688($s2) .PF0f0985d4: /* f0985d4: 10000032 */ b .PF0f0986a0 /* f0985d8: 46146380 */ add.s $f14,$f12,$f20 /* f0985dc: 8e4e0690 */ lw $t6,0x690($s2) .PF0f0985e0: /* f0985e0: 000ec080 */ sll $t8,$t6,0x2 /* f0985e4: 0703002f */ bgezl $t8,.PF0f0986a4 /* f0985e8: 8fac014c */ lw $t4,0x14c($sp) /* f0985ec: 96260002 */ lhu $a2,0x2($s1) /* f0985f0: 3c014f80 */ lui $at,0x4f80 /* f0985f4: 44868000 */ mtc1 $a2,$f16 /* f0985f8: 04c10004 */ bgez $a2,.PF0f09860c /* f0985fc: 468080a0 */ cvt.s.w $f2,$f16 /* f098600: 44813000 */ mtc1 $at,$f6 /* f098604: 00000000 */ nop /* f098608: 46061080 */ add.s $f2,$f2,$f6 .PF0f09860c: /* f09860c: 460e103e */ c.le.s $f2,$f14 /* f098610: 00000000 */ nop /* f098614: 45020023 */ bc1fl .PF0f0986a4 /* f098618: 8fac014c */ lw $t4,0x14c($sp) /* f09861c: 4602a03c */ c.lt.s $f20,$f2 /* f098620: 00000000 */ nop /* f098624: 4502001f */ bc1fl .PF0f0986a4 /* f098628: 8fac014c */ lw $t4,0x14c($sp) /* f09862c: 460ea03c */ c.lt.s $f20,$f14 /* f098630: 02802025 */ move $a0,$s4 /* f098634: 4502001b */ bc1fl .PF0f0986a4 /* f098638: 8fac014c */ lw $t4,0x14c($sp) /* f09863c: 460e103e */ c.le.s $f2,$f14 /* f098640: 44809000 */ mtc1 $zero,$f18 /* f098644: 46007006 */ mov.s $f0,$f14 /* f098648: 4502000c */ bc1fl .PF0f09867c /* f09864c: ae400684 */ sw $zero,0x684($s2) /* f098650: 8e390004 */ lw $t9,0x4($s1) /* f098654: 03264823 */ subu $t1,$t9,$a2 /* f098658: 44895000 */ mtc1 $t1,$f10 /* f09865c: 00000000 */ nop /* f098660: 46805320 */ cvt.s.w $f12,$f10 /* f098664: 460c0000 */ add.s $f0,$f0,$f12 .PF0f098668: /* f098668: 4600103e */ c.le.s $f2,$f0 /* f09866c: 00000000 */ nop /* f098670: 4503fffd */ bc1tl .PF0f098668 /* f098674: 460c0000 */ add.s $f0,$f0,$f12 /* f098678: ae400684 */ sw $zero,0x684($s2) .PF0f09867c: /* f09867c: e6520688 */ swc1 $f18,0x688($s2) /* f098680: 44050000 */ mfc1 $a1,$f0 /* f098684: 46000506 */ mov.s $f20,$f0 /* f098688: 0c00777a */ jal func0001e018 /* f09868c: e7a00080 */ swc1 $f0,0x80($sp) /* f098690: 924a0691 */ lbu $t2,0x691($s2) /* f098694: c7ae0080 */ lwc1 $f14,0x80($sp) /* f098698: 254b0001 */ addiu $t3,$t2,0x1 /* f09869c: a24b0691 */ sb $t3,0x691($s2) .PF0f0986a0: /* f0986a0: 8fac014c */ lw $t4,0x14c($sp) .PF0f0986a4: /* f0986a4: 26310008 */ addiu $s1,$s1,0x8 /* f0986a8: 5180ff44 */ beqzl $t4,.PF0f0983bc /* f0986ac: 92230000 */ lbu $v1,0x0($s1) /* f0986b0: 5a000015 */ blezl $s0,.PF0f098708 /* f0986b4: 3c054099 */ lui $a1,0x4099 /* f0986b8: 1a000012 */ blez $s0,.PF0f098704 /* f0986bc: 00001025 */ move $v0,$zero /* f0986c0: 27a3010c */ addiu $v1,$sp,0x10c /* f0986c4: 27a800d0 */ addiu $t0,$sp,0xd0 .PF0f0986c8: /* f0986c8: 84640002 */ lh $a0,0x2($v1) /* f0986cc: 8d050000 */ lw $a1,0x0($t0) /* f0986d0: afa80058 */ sw $t0,0x58($sp) /* f0986d4: afa3005c */ sw $v1,0x5c($sp) /* f0986d8: afa2007c */ sw $v0,0x7c($sp) /* f0986dc: 02403025 */ move $a2,$s2 /* f0986e0: 0fc25f65 */ jal bgun0f097e74 /* f0986e4: 8fa70164 */ lw $a3,0x164($sp) /* f0986e8: 8fa2007c */ lw $v0,0x7c($sp) /* f0986ec: 8fa3005c */ lw $v1,0x5c($sp) /* f0986f0: 8fa80058 */ lw $t0,0x58($sp) /* f0986f4: 24420001 */ addiu $v0,$v0,0x1 /* f0986f8: 24630004 */ addiu $v1,$v1,0x4 /* f0986fc: 1450fff2 */ bne $v0,$s0,.PF0f0986c8 /* f098700: 25080004 */ addiu $t0,$t0,0x4 .PF0f098704: /* f098704: 3c054099 */ lui $a1,0x4099 .PF0f098708: /* f098708: 34a5999a */ ori $a1,$a1,0x999a /* f09870c: 02802025 */ move $a0,$s4 /* f098710: 0c00775f */ jal modelSetAnimPlaySpeed /* f098714: 24060000 */ li $a2,0x0 /* f098718: 02802025 */ move $a0,$s4 /* f09871c: 8e450684 */ lw $a1,0x684($s2) /* f098720: 0c007afa */ jal func0001ee18 /* f098724: 24060001 */ li $a2,0x1 /* f098728: 0fc2601f */ jal bgun0f09815c /* f09872c: 02402025 */ move $a0,$s2 /* f098730: 8e4306b0 */ lw $v1,0x6b0($s2) /* f098734: 46000386 */ mov.s $f14,$f0 /* f098738: 00004025 */ move $t0,$zero /* f09873c: 10600069 */ beqz $v1,.PF0f0988e4 /* f098740: 00608025 */ move $s0,$v1 /* f098744: 3c013f80 */ lui $at,0x3f80 /* f098748: 44812000 */ mtc1 $at,$f4 /* f09874c: 00008825 */ move $s1,$zero /* f098750: 10600064 */ beqz $v1,.PF0f0988e4 /* f098754: e7a40070 */ swc1 $f4,0x70($sp) /* f098758: 24140009 */ li $s4,0x9 /* f09875c: 24130005 */ li $s3,0x5 .PF0f098760: /* f098760: 92030000 */ lbu $v1,0x0($s0) /* f098764: 54600004 */ bnezl $v1,.PF0f098778 /* f098768: 960d0002 */ lhu $t5,0x2($s0) /* f09876c: 1000005b */ b .PF0f0988dc /* f098770: 24080001 */ li $t0,0x1 /* f098774: 960d0002 */ lhu $t5,0x2($s0) .PF0f098778: /* f098778: 3c014f80 */ lui $at,0x4f80 /* f09877c: 448d4000 */ mtc1 $t5,$f8 /* f098780: 05a10004 */ bgez $t5,.PF0f098794 /* f098784: 46804020 */ cvt.s.w $f0,$f8 /* f098788: 44818000 */ mtc1 $at,$f16 /* f09878c: 00000000 */ nop /* f098790: 46100000 */ add.s $f0,$f0,$f16 .PF0f098794: /* f098794: 460e003e */ c.le.s $f0,$f14 /* f098798: 00000000 */ nop /* f09879c: 4500004f */ bc1f .PF0f0988dc /* f0987a0: 00000000 */ nop /* f0987a4: 4600a03c */ c.lt.s $f20,$f0 /* f0987a8: 00000000 */ nop /* f0987ac: 4500004b */ bc1f .PF0f0988dc /* f0987b0: 00000000 */ nop /* f0987b4: 460ea03c */ c.lt.s $f20,$f14 /* f0987b8: 00000000 */ nop /* f0987bc: 45000047 */ bc1f .PF0f0988dc /* f0987c0: 00000000 */ nop /* f0987c4: 10730007 */ beq $v1,$s3,.PF0f0987e4 /* f0987c8: 00000000 */ nop /* f0987cc: 10740039 */ beq $v1,$s4,.PF0f0988b4 /* f0987d0: 2401000b */ li $at,0xb /* f0987d4: 5061002f */ beql $v1,$at,.PF0f098894 /* f0987d8: 8e0d0004 */ lw $t5,0x4($s0) /* f0987dc: 1000003f */ b .PF0f0988dc /* f0987e0: 00000000 */ nop .PF0f0987e4: /* f0987e4: 12200016 */ beqz $s1,.PF0f098840 /* f0987e8: 00002025 */ move $a0,$zero /* f0987ec: 8e0e0004 */ lw $t6,0x4($s0) /* f0987f0: c7a60070 */ lwc1 $f6,0x70($sp) /* f0987f4: 240f0001 */ li $t7,0x1 /* f0987f8: 2418ffff */ li $t8,-1 /* f0987fc: 24190001 */ li $t9,0x1 /* f098800: afb90020 */ sw $t9,0x20($sp) /* f098804: afb8001c */ sw $t8,0x1c($sp) /* f098808: afaf0018 */ sw $t7,0x18($sp) /* f09880c: e7ae0158 */ swc1 $f14,0x158($sp) /* f098810: afa80078 */ sw $t0,0x78($sp) /* f098814: 00002025 */ move $a0,$zero /* f098818: 00002825 */ move $a1,$zero /* f09881c: 24067fff */ li $a2,0x7fff /* f098820: 24070040 */ li $a3,0x40 /* f098824: 00008825 */ move $s1,$zero /* f098828: afae0010 */ sw $t6,0x10($sp) /* f09882c: 0c004125 */ jal snd00010718 /* f098830: e7a60014 */ swc1 $f6,0x14($sp) /* f098834: 8fa80078 */ lw $t0,0x78($sp) /* f098838: 10000028 */ b .PF0f0988dc /* f09883c: c7ae0158 */ lwc1 $f14,0x158($sp) .PF0f098840: /* f098840: 8e090004 */ lw $t1,0x4($s0) /* f098844: 3c013f80 */ lui $at,0x3f80 /* f098848: 44815000 */ mtc1 $at,$f10 /* f09884c: 240a0001 */ li $t2,0x1 /* f098850: 240bffff */ li $t3,-1 /* f098854: 240c0001 */ li $t4,0x1 /* f098858: afac0020 */ sw $t4,0x20($sp) /* f09885c: afab001c */ sw $t3,0x1c($sp) /* f098860: afaa0018 */ sw $t2,0x18($sp) /* f098864: e7ae0158 */ swc1 $f14,0x158($sp) /* f098868: afa80078 */ sw $t0,0x78($sp) /* f09886c: 00002825 */ move $a1,$zero /* f098870: 24067fff */ li $a2,0x7fff /* f098874: 24070040 */ li $a3,0x40 /* f098878: afa90010 */ sw $t1,0x10($sp) /* f09887c: 0c004125 */ jal snd00010718 /* f098880: e7aa0014 */ swc1 $f10,0x14($sp) /* f098884: 8fa80078 */ lw $t0,0x78($sp) /* f098888: 10000014 */ b .PF0f0988dc /* f09888c: c7ae0158 */ lwc1 $f14,0x158($sp) /* f098890: 8e0d0004 */ lw $t5,0x4($s0) .PF0f098894: /* f098894: 3c01447a */ lui $at,0x447a /* f098898: 44814000 */ mtc1 $at,$f8 /* f09889c: 448d9000 */ mtc1 $t5,$f18 /* f0988a0: 24110001 */ li $s1,0x1 /* f0988a4: 46809120 */ cvt.s.w $f4,$f18 /* f0988a8: 46082403 */ div.s $f16,$f4,$f8 /* f0988ac: 1000000b */ b .PF0f0988dc /* f0988b0: e7b00070 */ swc1 $f16,0x70($sp) .PF0f0988b4: /* f0988b4: 8e4e0690 */ lw $t6,0x690($s2) /* f0988b8: 924b0690 */ lbu $t3,0x690($s2) /* f0988bc: 000e78c0 */ sll $t7,$t6,0x3 /* f0988c0: 000fc742 */ srl $t8,$t7,0x1d /* f0988c4: 27190001 */ addiu $t9,$t8,0x1 /* f0988c8: 00194880 */ sll $t1,$t9,0x2 /* f0988cc: 312a001c */ andi $t2,$t1,0x1c /* f0988d0: 316cffe3 */ andi $t4,$t3,0xffe3 /* f0988d4: 014c6825 */ or $t5,$t2,$t4 /* f0988d8: a24d0690 */ sb $t5,0x690($s2) .PF0f0988dc: /* f0988dc: 1100ffa0 */ beqz $t0,.PF0f098760 /* f0988e0: 26100008 */ addiu $s0,$s0,0x8 .PF0f0988e4: /* f0988e4: 8fbf004c */ lw $ra,0x4c($sp) .PF0f0988e8: /* f0988e8: d7b40030 */ ldc1 $f20,0x30($sp) /* f0988ec: 8fb00038 */ lw $s0,0x38($sp) /* f0988f0: 8fb1003c */ lw $s1,0x3c($sp) /* f0988f4: 8fb20040 */ lw $s2,0x40($sp) /* f0988f8: 8fb30044 */ lw $s3,0x44($sp) /* f0988fc: 8fb40048 */ lw $s4,0x48($sp) /* f098900: 03e00008 */ jr $ra /* f098904: 27bd0160 */ addiu $sp,$sp,0x160 ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgun0f0981e8 .late_rodata glabel var7f1ac1a8 .word 0x461c4000 glabel var7f1ac1ac .word 0x3f451eb8 glabel var7f1ac1b0 .word 0x3f333333 .text /* f0981e8: 27bdfea8 */ addiu $sp,$sp,-344 /* f0981ec: afbf0044 */ sw $ra,0x44($sp) /* f0981f0: afb40040 */ sw $s4,0x40($sp) /* f0981f4: afb3003c */ sw $s3,0x3c($sp) /* f0981f8: afb20038 */ sw $s2,0x38($sp) /* f0981fc: afb10034 */ sw $s1,0x34($sp) /* f098200: afb00030 */ sw $s0,0x30($sp) /* f098204: afa5015c */ sw $a1,0x15c($sp) /* f098208: 908e0690 */ lbu $t6,0x690($a0) /* f09820c: 8c98068c */ lw $t8,0x68c($a0) /* f098210: 24010002 */ addiu $at,$zero,0x2 /* f098214: 31cfffe3 */ andi $t7,$t6,0xffe3 /* f098218: 00809825 */ or $s3,$a0,$zero /* f09821c: 1701000f */ bne $t8,$at,.L0f09825c /* f098220: a08f0690 */ sb $t7,0x690($a0) /* f098224: 0fc26057 */ jal bgun0f09815c /* f098228: 00000000 */ nop /* f09822c: e7a00060 */ swc1 $f0,0x60($sp) /* f098230: 0c007486 */ jal modelGetNumAnimFrames /* f098234: 26640384 */ addiu $a0,$s3,0x384 /* f098238: 2459ffff */ addiu $t9,$v0,-1 /* f09823c: 44993000 */ mtc1 $t9,$f6 /* f098240: c7a40060 */ lwc1 $f4,0x60($sp) /* f098244: 46803220 */ cvt.s.w $f8,$f6 /* f098248: 4604403e */ c.le.s $f8,$f4 /* f09824c: 00000000 */ nop /* f098250: 45020003 */ bc1fl .L0f098260 /* f098254: 8e680680 */ lw $t0,0x680($s3) /* f098258: ae60068c */ sw $zero,0x68c($s3) .L0f09825c: /* f09825c: 8e680680 */ lw $t0,0x680($s3) .L0f098260: /* f098260: 8e6a068c */ lw $t2,0x68c($s3) /* f098264: 266d0384 */ addiu $t5,$s3,0x384 /* f098268: 29020000 */ slti $v0,$t0,0x0 /* f09826c: 394b0002 */ xori $t3,$t2,0x2 /* f098270: 2d6b0001 */ sltiu $t3,$t3,0x1 /* f098274: 38420001 */ xori $v0,$v0,0x1 /* f098278: 01626025 */ or $t4,$t3,$v0 /* f09827c: 5180017a */ beqzl $t4,.L0f098868 /* f098280: 8fbf0044 */ lw $ra,0x44($sp) /* f098284: afad0058 */ sw $t5,0x58($sp) /* f098288: 44806000 */ mtc1 $zero,$f12 /* f09828c: c66a06d0 */ lwc1 $f10,0x6d0($s3) /* f098290: 460a603c */ c.lt.s $f12,$f10 /* f098294: 00000000 */ nop /* f098298: 45000005 */ bc1f .L0f0982b0 /* f09829c: 00000000 */ nop /* f0982a0: 8e680680 */ lw $t0,0x680($s3) /* f0982a4: ae600684 */ sw $zero,0x684($s3) /* f0982a8: 29020000 */ slti $v0,$t0,0x0 /* f0982ac: 38420001 */ xori $v0,$v0,0x1 .L0f0982b0: /* f0982b0: 5040004f */ beqzl $v0,.L0f0983f0 /* f0982b4: 8e6f0690 */ lw $t7,0x690($s3) /* f0982b8: 8e6306b0 */ lw $v1,0x6b0($s3) /* f0982bc: 3c013f80 */ lui $at,0x3f80 /* f0982c0: 926f06d6 */ lbu $t7,0x6d6($s3) /* f0982c4: 8c6e0004 */ lw $t6,0x4($v1) /* f0982c8: 44810000 */ mtc1 $at,$f0 /* f0982cc: 3c017f1b */ lui $at,%hi(var7f1ac1a8) /* f0982d0: 448e8000 */ mtc1 $t6,$f16 /* f0982d4: c426c1a8 */ lwc1 $f6,%lo(var7f1ac1a8)($at) /* f0982d8: 31f80001 */ andi $t8,$t7,0x1 /* f0982dc: 468084a0 */ cvt.s.w $f18,$f16 /* f0982e0: 3c19800a */ lui $t9,%hi(g_Vars+0x284) /* f0982e4: 1300001b */ beqz $t8,.L0f098354 /* f0982e8: 46069083 */ div.s $f2,$f18,$f6 /* f0982ec: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9) /* f0982f0: 832a0de4 */ lb $t2,0xde4($t9) /* f0982f4: 11400017 */ beqz $t2,.L0f098354 /* f0982f8: 00000000 */ nop /* f0982fc: 0c004b70 */ jal random /* f098300: e7a20148 */ swc1 $f2,0x148($sp) /* f098304: 44822000 */ mtc1 $v0,$f4 /* f098308: 44806000 */ mtc1 $zero,$f12 /* f09830c: c7a20148 */ lwc1 $f2,0x148($sp) /* f098310: 04410005 */ bgez $v0,.L0f098328 /* f098314: 46802220 */ cvt.s.w $f8,$f4 /* f098318: 3c014f80 */ lui $at,0x4f80 /* f09831c: 44815000 */ mtc1 $at,$f10 /* f098320: 00000000 */ nop /* f098324: 460a4200 */ add.s $f8,$f8,$f10 .L0f098328: /* f098328: 3c012f80 */ lui $at,0x2f80 /* f09832c: 44818000 */ mtc1 $at,$f16 /* f098330: 3c017f1b */ lui $at,%hi(var7f1ac1ac) /* f098334: c426c1ac */ lwc1 $f6,%lo(var7f1ac1ac)($at) /* f098338: 46104482 */ mul.s $f18,$f8,$f16 /* f09833c: 3c017f1b */ lui $at,%hi(var7f1ac1b0) /* f098340: c42ac1b0 */ lwc1 $f10,%lo(var7f1ac1b0)($at) /* f098344: 8e680680 */ lw $t0,0x680($s3) /* f098348: 8e6306b0 */ lw $v1,0x6b0($s3) /* f09834c: 46069102 */ mul.s $f4,$f18,$f6 /* f098350: 460a2000 */ add.s $f0,$f4,$f10 .L0f098354: /* f098354: 10600018 */ beqz $v1,.L0f0983b8 /* f098358: 8fa40058 */ lw $a0,0x58($sp) /* f09835c: 460c103c */ c.lt.s $f2,$f12 /* f098360: 00082c00 */ sll $a1,$t0,0x10 /* f098364: 00055c03 */ sra $t3,$a1,0x10 /* f098368: 45000013 */ bc1f .L0f0983b8 /* f09836c: 00000000 */ nop /* f098370: 46020202 */ mul.s $f8,$f0,$f2 /* f098374: 44076000 */ mfc1 $a3,$f12 /* f098378: 8fa40058 */ lw $a0,0x58($sp) /* f09837c: 01602825 */ or $a1,$t3,$zero /* f098380: 00003025 */ or $a2,$zero,$zero /* f098384: e7ac0014 */ swc1 $f12,0x14($sp) /* f098388: 0c007733 */ jal modelSetAnimation /* f09838c: e7a80010 */ swc1 $f8,0x10($sp) /* f098390: 0c007486 */ jal modelGetNumAnimFrames /* f098394: 8fa40058 */ lw $a0,0x58($sp) /* f098398: 44828000 */ mtc1 $v0,$f16 /* f09839c: 8fa40058 */ lw $a0,0x58($sp) /* f0983a0: 46808420 */ cvt.s.w $f16,$f16 /* f0983a4: 44058000 */ mfc1 $a1,$f16 /* f0983a8: 0c007806 */ jal func0001e018 /* f0983ac: 00000000 */ nop /* f0983b0: 1000000b */ b .L0f0983e0 /* f0983b4: 240dffff */ addiu $t5,$zero,-1 .L0f0983b8: /* f0983b8: 46020482 */ mul.s $f18,$f0,$f2 /* f0983bc: 00082c00 */ sll $a1,$t0,0x10 /* f0983c0: 00056403 */ sra $t4,$a1,0x10 /* f0983c4: 44076000 */ mfc1 $a3,$f12 /* f0983c8: 01802825 */ or $a1,$t4,$zero /* f0983cc: 00003025 */ or $a2,$zero,$zero /* f0983d0: e7ac0014 */ swc1 $f12,0x14($sp) /* f0983d4: 0c007733 */ jal modelSetAnimation /* f0983d8: e7b20010 */ swc1 $f18,0x10($sp) /* f0983dc: 240dffff */ addiu $t5,$zero,-1 .L0f0983e0: /* f0983e0: 240e0002 */ addiu $t6,$zero,0x2 /* f0983e4: ae6d0680 */ sw $t5,0x680($s3) /* f0983e8: ae6e068c */ sw $t6,0x68c($s3) /* f0983ec: 8e6f0690 */ lw $t7,0x690($s3) .L0f0983f0: /* f0983f0: 000fc840 */ sll $t9,$t7,0x1 /* f0983f4: 07210002 */ bgez $t9,.L0f098400 /* f0983f8: 00000000 */ nop /* f0983fc: ae600684 */ sw $zero,0x684($s3) .L0f098400: /* f098400: 0fc26057 */ jal bgun0f09815c /* f098404: 02602025 */ or $a0,$s3,$zero /* f098408: 4600018d */ trunc.w.s $f6,$f0 /* f09840c: 8e6b0684 */ lw $t3,0x684($s3) /* f098410: 00004825 */ or $t1,$zero,$zero /* f098414: 44023000 */ mfc1 $v0,$f6 /* f098418: 00000000 */ nop /* f09841c: 0040a025 */ or $s4,$v0,$zero /* f098420: 14400004 */ bnez $v0,.L0f098434 /* f098424: 01629021 */ addu $s2,$t3,$v0 /* f098428: 5a400003 */ blezl $s2,.L0f098438 /* f09842c: 8e6306b0 */ lw $v1,0x6b0($s3) /* f098430: 2454ffff */ addiu $s4,$v0,-1 .L0f098434: /* f098434: 8e6306b0 */ lw $v1,0x6b0($s3) .L0f098438: /* f098438: 506000a9 */ beqzl $v1,.L0f0986e0 /* f09843c: 8fa40058 */ lw $a0,0x58($sp) /* f098440: 106000a6 */ beqz $v1,.L0f0986dc /* f098444: 00608825 */ or $s1,$v1,$zero /* f098448: 00008025 */ or $s0,$zero,$zero /* f09844c: 24080001 */ addiu $t0,$zero,0x1 .L0f098450: /* f098450: 92230000 */ lbu $v1,0x0($s1) /* f098454: 14600003 */ bnez $v1,.L0f098464 /* f098458: 00000000 */ nop /* f09845c: 10000088 */ b .L0f098680 /* f098460: 01004825 */ or $t1,$t0,$zero .L0f098464: /* f098464: 11030003 */ beq $t0,$v1,.L0f098474 /* f098468: 24010002 */ addiu $at,$zero,0x2 /* f09846c: 5461002f */ bnel $v1,$at,.L0f09852c /* f098470: 24010003 */ addiu $at,$zero,0x3 .L0f098474: /* f098474: 96270002 */ lhu $a3,0x2($s1) /* f098478: 00001025 */ or $v0,$zero,$zero /* f09847c: 27b8008c */ addiu $t8,$sp,0x8c /* f098480: 0247082a */ slt $at,$s2,$a3 /* f098484: 1420007e */ bnez $at,.L0f098680 /* f098488: 00000000 */ nop /* f09848c: 1a00000a */ blez $s0,.L0f0984b8 /* f098490: 2404ffff */ addiu $a0,$zero,-1 /* f098494: 8e260004 */ lw $a2,0x4($s1) /* f098498: 27a30104 */ addiu $v1,$sp,0x104 .L0f09849c: /* f09849c: 8c6c0000 */ lw $t4,0x0($v1) /* f0984a0: 54cc0003 */ bnel $a2,$t4,.L0f0984b0 /* f0984a4: 24420001 */ addiu $v0,$v0,0x1 /* f0984a8: 00402025 */ or $a0,$v0,$zero /* f0984ac: 24420001 */ addiu $v0,$v0,0x1 .L0f0984b0: /* f0984b0: 1450fffa */ bne $v0,$s0,.L0f09849c /* f0984b4: 24630004 */ addiu $v1,$v1,0x4 .L0f0984b8: /* f0984b8: 2401ffff */ addiu $at,$zero,-1 /* f0984bc: 1481000a */ bne $a0,$at,.L0f0984e8 /* f0984c0: 240effff */ addiu $t6,$zero,-1 /* f0984c4: 8e260004 */ lw $a2,0x4($s1) /* f0984c8: 02002025 */ or $a0,$s0,$zero /* f0984cc: 00041080 */ sll $v0,$a0,0x2 /* f0984d0: 03a26821 */ addu $t5,$sp,$v0 /* f0984d4: 03a27821 */ addu $t7,$sp,$v0 /* f0984d8: ada60104 */ sw $a2,0x104($t5) /* f0984dc: adee008c */ sw $t6,0x8c($t7) /* f0984e0: 26100001 */ addiu $s0,$s0,0x1 /* f0984e4: 96270002 */ lhu $a3,0x2($s1) .L0f0984e8: /* f0984e8: 00041080 */ sll $v0,$a0,0x2 /* f0984ec: 00581821 */ addu $v1,$v0,$t8 /* f0984f0: 8c790000 */ lw $t9,0x0($v1) /* f0984f4: 0327082a */ slt $at,$t9,$a3 /* f0984f8: 10200061 */ beqz $at,.L0f098680 /* f0984fc: 00000000 */ nop /* f098500: ac670000 */ sw $a3,0x0($v1) /* f098504: 922a0000 */ lbu $t2,0x0($s1) /* f098508: 03a26021 */ addu $t4,$sp,$v0 /* f09850c: 03a25821 */ addu $t3,$sp,$v0 /* f098510: 150a0003 */ bne $t0,$t2,.L0f098520 /* f098514: 00000000 */ nop /* f098518: 10000059 */ b .L0f098680 /* f09851c: ad6800c8 */ sw $t0,0xc8($t3) .L0f098520: /* f098520: 10000057 */ b .L0f098680 /* f098524: ad8000c8 */ sw $zero,0xc8($t4) /* f098528: 24010003 */ addiu $at,$zero,0x3 .L0f09852c: /* f09852c: 10610006 */ beq $v1,$at,.L0f098548 /* f098530: 00601025 */ or $v0,$v1,$zero /* f098534: 24010008 */ addiu $at,$zero,0x8 /* f098538: 50610025 */ beql $v1,$at,.L0f0985d0 /* f09853c: 8e6b0690 */ lw $t3,0x690($s3) /* f098540: 1000004f */ b .L0f098680 /* f098544: 00000000 */ nop .L0f098548: /* f098548: 8e6d0690 */ lw $t5,0x690($s3) /* f09854c: 000d77c2 */ srl $t6,$t5,0x1f /* f098550: 11c0004b */ beqz $t6,.L0f098680 /* f098554: 00000000 */ nop /* f098558: 96270002 */ lhu $a3,0x2($s1) /* f09855c: 0247082a */ slt $at,$s2,$a3 /* f098560: 14200047 */ bnez $at,.L0f098680 /* f098564: 0287082a */ slt $at,$s4,$a3 /* f098568: 10200045 */ beqz $at,.L0f098680 /* f09856c: 0292082a */ slt $at,$s4,$s2 /* f098570: 10200043 */ beqz $at,.L0f098680 /* f098574: 00000000 */ nop /* f098578: 02602025 */ or $a0,$s3,$zero /* f09857c: 0fc26057 */ jal bgun0f09815c /* f098580: afa90144 */ sw $t1,0x144($sp) /* f098584: 4600010d */ trunc.w.s $f4,$f0 /* f098588: 962f0002 */ lhu $t7,0x2($s1) /* f09858c: 8e630684 */ lw $v1,0x684($s3) /* f098590: 24080001 */ addiu $t0,$zero,0x1 /* f098594: 44192000 */ mfc1 $t9,$f4 /* f098598: 8fa90144 */ lw $t1,0x144($sp) /* f09859c: 01f91023 */ subu $v0,$t7,$t9 /* f0985a0: 04410003 */ bgez $v0,.L0f0985b0 /* f0985a4: 00025043 */ sra $t2,$v0,0x1 /* f0985a8: 24410001 */ addiu $at,$v0,0x1 /* f0985ac: 00015043 */ sra $t2,$at,0x1 .L0f0985b0: /* f0985b0: 0143082a */ slt $at,$t2,$v1 /* f0985b4: 10200003 */ beqz $at,.L0f0985c4 /* f0985b8: 01401025 */ or $v0,$t2,$zero /* f0985bc: ae620684 */ sw $v0,0x684($s3) /* f0985c0: 00401825 */ or $v1,$v0,$zero .L0f0985c4: /* f0985c4: 1000002e */ b .L0f098680 /* f0985c8: 00749021 */ addu $s2,$v1,$s4 /* f0985cc: 8e6b0690 */ lw $t3,0x690($s3) .L0f0985d0: /* f0985d0: 000b6080 */ sll $t4,$t3,0x2 /* f0985d4: 000c6fc2 */ srl $t5,$t4,0x1f /* f0985d8: 11a00029 */ beqz $t5,.L0f098680 /* f0985dc: 00000000 */ nop /* f0985e0: 96270002 */ lhu $a3,0x2($s1) /* f0985e4: 0247082a */ slt $at,$s2,$a3 /* f0985e8: 14200025 */ bnez $at,.L0f098680 /* f0985ec: 0287082a */ slt $at,$s4,$a3 /* f0985f0: 10200023 */ beqz $at,.L0f098680 /* f0985f4: 0292082a */ slt $at,$s4,$s2 /* f0985f8: 10200021 */ beqz $at,.L0f098680 /* f0985fc: 00000000 */ nop /* f098600: 8e260004 */ lw $a2,0x4($s1) /* f098604: 02477023 */ subu $t6,$s2,$a3 /* f098608: ae600684 */ sw $zero,0x684($s3) /* f09860c: 00e6c023 */ subu $t8,$a3,$a2 /* f098610: 270f0001 */ addiu $t7,$t8,0x1 /* f098614: 01cf001a */ div $zero,$t6,$t7 /* f098618: 0000c810 */ mfhi $t9 /* f09861c: 00d91021 */ addu $v0,$a2,$t9 /* f098620: 44825000 */ mtc1 $v0,$f10 /* f098624: 15e00002 */ bnez $t7,.L0f098630 /* f098628: 00000000 */ nop /* f09862c: 0007000d */ break 0x7 .L0f098630: /* f098630: 2401ffff */ addiu $at,$zero,-1 /* f098634: 15e10004 */ bne $t7,$at,.L0f098648 /* f098638: 3c018000 */ lui $at,0x8000 /* f09863c: 15c10002 */ bne $t6,$at,.L0f098648 /* f098640: 00000000 */ nop /* f098644: 0006000d */ break 0x6 .L0f098648: /* f098648: 468052a0 */ cvt.s.w $f10,$f10 /* f09864c: 0040a025 */ or $s4,$v0,$zero /* f098650: afa20078 */ sw $v0,0x78($sp) /* f098654: afa90144 */ sw $t1,0x144($sp) /* f098658: 8fa40058 */ lw $a0,0x58($sp) /* f09865c: 44055000 */ mfc1 $a1,$f10 /* f098660: 0c007806 */ jal func0001e018 /* f098664: 00000000 */ nop /* f098668: 926a0691 */ lbu $t2,0x691($s3) /* f09866c: 8fb20078 */ lw $s2,0x78($sp) /* f098670: 8fa90144 */ lw $t1,0x144($sp) /* f098674: 254b0001 */ addiu $t3,$t2,0x1 /* f098678: 24080001 */ addiu $t0,$zero,0x1 /* f09867c: a26b0691 */ sb $t3,0x691($s3) .L0f098680: /* f098680: 1120ff73 */ beqz $t1,.L0f098450 /* f098684: 26310008 */ addiu $s1,$s1,0x8 /* f098688: 5a000015 */ blezl $s0,.L0f0986e0 /* f09868c: 8fa40058 */ lw $a0,0x58($sp) /* f098690: 1a000012 */ blez $s0,.L0f0986dc /* f098694: 00001025 */ or $v0,$zero,$zero /* f098698: 27a30104 */ addiu $v1,$sp,0x104 /* f09869c: 27a800c8 */ addiu $t0,$sp,0xc8 .L0f0986a0: /* f0986a0: 84640002 */ lh $a0,0x2($v1) /* f0986a4: 8d050000 */ lw $a1,0x0($t0) /* f0986a8: afa80050 */ sw $t0,0x50($sp) /* f0986ac: afa30054 */ sw $v1,0x54($sp) /* f0986b0: afa20074 */ sw $v0,0x74($sp) /* f0986b4: 02603025 */ or $a2,$s3,$zero /* f0986b8: 0fc25f9d */ jal bgun0f097e74 /* f0986bc: 8fa7015c */ lw $a3,0x15c($sp) /* f0986c0: 8fa20074 */ lw $v0,0x74($sp) /* f0986c4: 8fa30054 */ lw $v1,0x54($sp) /* f0986c8: 8fa80050 */ lw $t0,0x50($sp) /* f0986cc: 24420001 */ addiu $v0,$v0,0x1 /* f0986d0: 24630004 */ addiu $v1,$v1,0x4 /* f0986d4: 1450fff2 */ bne $v0,$s0,.L0f0986a0 /* f0986d8: 25080004 */ addiu $t0,$t0,0x4 .L0f0986dc: /* f0986dc: 8fa40058 */ lw $a0,0x58($sp) .L0f0986e0: /* f0986e0: 8e650684 */ lw $a1,0x684($s3) /* f0986e4: 0c007cc5 */ jal func0001f314 /* f0986e8: 24060001 */ addiu $a2,$zero,0x1 /* f0986ec: 0fc26057 */ jal bgun0f09815c /* f0986f0: 02602025 */ or $a0,$s3,$zero /* f0986f4: 4600020d */ trunc.w.s $f8,$f0 /* f0986f8: 8e6306b0 */ lw $v1,0x6b0($s3) /* f0986fc: 00004025 */ or $t0,$zero,$zero /* f098700: 3c013f80 */ lui $at,0x3f80 /* f098704: 44124000 */ mfc1 $s2,$f8 /* f098708: 10600056 */ beqz $v1,.L0f098864 /* f09870c: 00608025 */ or $s0,$v1,$zero /* f098710: 44818000 */ mtc1 $at,$f16 /* f098714: 00008825 */ or $s1,$zero,$zero /* f098718: 10600052 */ beqz $v1,.L0f098864 /* f09871c: e7b00068 */ swc1 $f16,0x68($sp) .L0f098720: /* f098720: 92030000 */ lbu $v1,0x0($s0) /* f098724: 54600004 */ bnezl $v1,.L0f098738 /* f098728: 96020002 */ lhu $v0,0x2($s0) /* f09872c: 1000004b */ b .L0f09885c /* f098730: 24080001 */ addiu $t0,$zero,0x1 /* f098734: 96020002 */ lhu $v0,0x2($s0) .L0f098738: /* f098738: 0242082a */ slt $at,$s2,$v0 /* f09873c: 14200047 */ bnez $at,.L0f09885c /* f098740: 0282082a */ slt $at,$s4,$v0 /* f098744: 10200045 */ beqz $at,.L0f09885c /* f098748: 0292082a */ slt $at,$s4,$s2 /* f09874c: 10200043 */ beqz $at,.L0f09885c /* f098750: 24010005 */ addiu $at,$zero,0x5 /* f098754: 10610007 */ beq $v1,$at,.L0f098774 /* f098758: 24010009 */ addiu $at,$zero,0x9 /* f09875c: 10610035 */ beq $v1,$at,.L0f098834 /* f098760: 2401000b */ addiu $at,$zero,0xb /* f098764: 5061002b */ beql $v1,$at,.L0f098814 /* f098768: 8e0d0004 */ lw $t5,0x4($s0) /* f09876c: 1000003b */ b .L0f09885c /* f098770: 00000000 */ nop .L0f098774: /* f098774: 12200014 */ beqz $s1,.L0f0987c8 /* f098778: 00002025 */ or $a0,$zero,$zero /* f09877c: 8e0d0004 */ lw $t5,0x4($s0) /* f098780: c7b20068 */ lwc1 $f18,0x68($sp) /* f098784: 24180001 */ addiu $t8,$zero,0x1 /* f098788: 240effff */ addiu $t6,$zero,-1 /* f09878c: 240f0001 */ addiu $t7,$zero,0x1 /* f098790: afaf0020 */ sw $t7,0x20($sp) /* f098794: afae001c */ sw $t6,0x1c($sp) /* f098798: afb80018 */ sw $t8,0x18($sp) /* f09879c: afa80070 */ sw $t0,0x70($sp) /* f0987a0: 00002025 */ or $a0,$zero,$zero /* f0987a4: 00002825 */ or $a1,$zero,$zero /* f0987a8: 24067fff */ addiu $a2,$zero,0x7fff /* f0987ac: 24070040 */ addiu $a3,$zero,0x40 /* f0987b0: 00008825 */ or $s1,$zero,$zero /* f0987b4: afad0010 */ sw $t5,0x10($sp) /* f0987b8: 0c0041c6 */ jal snd00010718 /* f0987bc: e7b20014 */ swc1 $f18,0x14($sp) /* f0987c0: 10000026 */ b .L0f09885c /* f0987c4: 8fa80070 */ lw $t0,0x70($sp) .L0f0987c8: /* f0987c8: 8e190004 */ lw $t9,0x4($s0) /* f0987cc: 3c013f80 */ lui $at,0x3f80 /* f0987d0: 44813000 */ mtc1 $at,$f6 /* f0987d4: 240a0001 */ addiu $t2,$zero,0x1 /* f0987d8: 240bffff */ addiu $t3,$zero,-1 /* f0987dc: 240c0001 */ addiu $t4,$zero,0x1 /* f0987e0: afac0020 */ sw $t4,0x20($sp) /* f0987e4: afab001c */ sw $t3,0x1c($sp) /* f0987e8: afaa0018 */ sw $t2,0x18($sp) /* f0987ec: afa80070 */ sw $t0,0x70($sp) /* f0987f0: 00002825 */ or $a1,$zero,$zero /* f0987f4: 24067fff */ addiu $a2,$zero,0x7fff /* f0987f8: 24070040 */ addiu $a3,$zero,0x40 /* f0987fc: afb90010 */ sw $t9,0x10($sp) /* f098800: 0c0041c6 */ jal snd00010718 /* f098804: e7a60014 */ swc1 $f6,0x14($sp) /* f098808: 10000014 */ b .L0f09885c /* f09880c: 8fa80070 */ lw $t0,0x70($sp) /* f098810: 8e0d0004 */ lw $t5,0x4($s0) .L0f098814: /* f098814: 3c01447a */ lui $at,0x447a /* f098818: 44814000 */ mtc1 $at,$f8 /* f09881c: 448d2000 */ mtc1 $t5,$f4 /* f098820: 24110001 */ addiu $s1,$zero,0x1 /* f098824: 468022a0 */ cvt.s.w $f10,$f4 /* f098828: 46085403 */ div.s $f16,$f10,$f8 /* f09882c: 1000000b */ b .L0f09885c /* f098830: e7b00068 */ swc1 $f16,0x68($sp) .L0f098834: /* f098834: 8e780690 */ lw $t8,0x690($s3) /* f098838: 926c0690 */ lbu $t4,0x690($s3) /* f09883c: 001870c0 */ sll $t6,$t8,0x3 /* f098840: 000e7f42 */ srl $t7,$t6,0x1d /* f098844: 25f90001 */ addiu $t9,$t7,0x1 /* f098848: 00195080 */ sll $t2,$t9,0x2 /* f09884c: 314b001c */ andi $t3,$t2,0x1c /* f098850: 318dffe3 */ andi $t5,$t4,0xffe3 /* f098854: 016dc025 */ or $t8,$t3,$t5 /* f098858: a2780690 */ sb $t8,0x690($s3) .L0f09885c: /* f09885c: 1100ffb0 */ beqz $t0,.L0f098720 /* f098860: 26100008 */ addiu $s0,$s0,0x8 .L0f098864: /* f098864: 8fbf0044 */ lw $ra,0x44($sp) .L0f098868: /* f098868: 8fb00030 */ lw $s0,0x30($sp) /* f09886c: 8fb10034 */ lw $s1,0x34($sp) /* f098870: 8fb20038 */ lw $s2,0x38($sp) /* f098874: 8fb3003c */ lw $s3,0x3c($sp) /* f098878: 8fb40040 */ lw $s4,0x40($sp) /* f09887c: 03e00008 */ jr $ra /* f098880: 27bd0158 */ addiu $sp,$sp,0x158 ); #else GLOBAL_ASM( glabel bgun0f0981e8 .late_rodata glabel var7f1ac1a8 .word 0x461c4000 glabel var7f1ac1ac .word 0x3f451eb8 glabel var7f1ac1b0 .word 0x3f333333 .text /* f096254: 27bdfeb0 */ addiu $sp,$sp,-336 /* f096258: afbf003c */ sw $ra,0x3c($sp) /* f09625c: afb40038 */ sw $s4,0x38($sp) /* f096260: afb30034 */ sw $s3,0x34($sp) /* f096264: afb20030 */ sw $s2,0x30($sp) /* f096268: afb1002c */ sw $s1,0x2c($sp) /* f09626c: afb00028 */ sw $s0,0x28($sp) /* f096270: afa50154 */ sw $a1,0x154($sp) /* f096274: 908e0690 */ lbu $t6,0x690($a0) /* f096278: 8c98068c */ lw $t8,0x68c($a0) /* f09627c: 24010002 */ addiu $at,$zero,0x2 /* f096280: 31cfffe3 */ andi $t7,$t6,0xffe3 /* f096284: 00809825 */ or $s3,$a0,$zero /* f096288: 1701000f */ bne $t8,$at,.NB0f0962c8 /* f09628c: a08f0690 */ sb $t7,0x690($a0) /* f096290: 0fc25872 */ jal bgun0f09815c /* f096294: 00000000 */ sll $zero,$zero,0x0 /* f096298: e7a00054 */ swc1 $f0,0x54($sp) /* f09629c: 0c0078a6 */ jal modelGetNumAnimFrames /* f0962a0: 26640384 */ addiu $a0,$s3,0x384 /* f0962a4: 2459ffff */ addiu $t9,$v0,-1 /* f0962a8: 44993000 */ mtc1 $t9,$f6 /* f0962ac: c7a40054 */ lwc1 $f4,0x54($sp) /* f0962b0: 46803220 */ cvt.s.w $f8,$f6 /* f0962b4: 4604403e */ c.le.s $f8,$f4 /* f0962b8: 00000000 */ sll $zero,$zero,0x0 /* f0962bc: 45020003 */ bc1fl .NB0f0962cc /* f0962c0: 8e680680 */ lw $t0,0x680($s3) /* f0962c4: ae60068c */ sw $zero,0x68c($s3) .NB0f0962c8: /* f0962c8: 8e680680 */ lw $t0,0x680($s3) .NB0f0962cc: /* f0962cc: 8e6a068c */ lw $t2,0x68c($s3) /* f0962d0: 266d0384 */ addiu $t5,$s3,0x384 /* f0962d4: 29020000 */ slti $v0,$t0,0x0 /* f0962d8: 394b0002 */ xori $t3,$t2,0x2 /* f0962dc: 2d6b0001 */ sltiu $t3,$t3,0x1 /* f0962e0: 38420001 */ xori $v0,$v0,0x1 /* f0962e4: 01626025 */ or $t4,$t3,$v0 /* f0962e8: 5180016e */ beqzl $t4,.NB0f0968a4 /* f0962ec: 8fbf003c */ lw $ra,0x3c($sp) /* f0962f0: afad004c */ sw $t5,0x4c($sp) /* f0962f4: 44806000 */ mtc1 $zero,$f12 /* f0962f8: c66a06d0 */ lwc1 $f10,0x6d0($s3) /* f0962fc: 460a603c */ c.lt.s $f12,$f10 /* f096300: 00000000 */ sll $zero,$zero,0x0 /* f096304: 45000005 */ bc1f .NB0f09631c /* f096308: 00000000 */ sll $zero,$zero,0x0 /* f09630c: 8e680680 */ lw $t0,0x680($s3) /* f096310: ae600684 */ sw $zero,0x684($s3) /* f096314: 29020000 */ slti $v0,$t0,0x0 /* f096318: 38420001 */ xori $v0,$v0,0x1 .NB0f09631c: /* f09631c: 5040004f */ beqzl $v0,.NB0f09645c /* f096320: 8e6f0690 */ lw $t7,0x690($s3) /* f096324: 8e6306b0 */ lw $v1,0x6b0($s3) /* f096328: 3c013f80 */ lui $at,0x3f80 /* f09632c: 926f06d6 */ lbu $t7,0x6d6($s3) /* f096330: 8c6e0004 */ lw $t6,0x4($v1) /* f096334: 44810000 */ mtc1 $at,$f0 /* f096338: 3c017f1a */ lui $at,0x7f1a /* f09633c: 448e8000 */ mtc1 $t6,$f16 /* f096340: c42664f8 */ lwc1 $f6,0x64f8($at) /* f096344: 31f80001 */ andi $t8,$t7,0x1 /* f096348: 468084a0 */ cvt.s.w $f18,$f16 /* f09634c: 3c19800a */ lui $t9,0x800a /* f096350: 1300001b */ beqz $t8,.NB0f0963c0 /* f096354: 46069083 */ div.s $f2,$f18,$f6 /* f096358: 8f39e944 */ lw $t9,-0x16bc($t9) /* f09635c: 832a0de4 */ lb $t2,0xde4($t9) /* f096360: 11400017 */ beqz $t2,.NB0f0963c0 /* f096364: 00000000 */ sll $zero,$zero,0x0 /* f096368: 0c004d84 */ jal random /* f09636c: e7a20140 */ swc1 $f2,0x140($sp) /* f096370: 44822000 */ mtc1 $v0,$f4 /* f096374: 44806000 */ mtc1 $zero,$f12 /* f096378: c7a20140 */ lwc1 $f2,0x140($sp) /* f09637c: 04410005 */ bgez $v0,.NB0f096394 /* f096380: 46802220 */ cvt.s.w $f8,$f4 /* f096384: 3c014f80 */ lui $at,0x4f80 /* f096388: 44815000 */ mtc1 $at,$f10 /* f09638c: 00000000 */ sll $zero,$zero,0x0 /* f096390: 460a4200 */ add.s $f8,$f8,$f10 .NB0f096394: /* f096394: 3c012f80 */ lui $at,0x2f80 /* f096398: 44818000 */ mtc1 $at,$f16 /* f09639c: 3c017f1a */ lui $at,0x7f1a /* f0963a0: c42664fc */ lwc1 $f6,0x64fc($at) /* f0963a4: 46104482 */ mul.s $f18,$f8,$f16 /* f0963a8: 3c017f1a */ lui $at,0x7f1a /* f0963ac: c42a6500 */ lwc1 $f10,0x6500($at) /* f0963b0: 8e680680 */ lw $t0,0x680($s3) /* f0963b4: 8e6306b0 */ lw $v1,0x6b0($s3) /* f0963b8: 46069102 */ mul.s $f4,$f18,$f6 /* f0963bc: 460a2000 */ add.s $f0,$f4,$f10 .NB0f0963c0: /* f0963c0: 10600018 */ beqz $v1,.NB0f096424 /* f0963c4: 8fa4004c */ lw $a0,0x4c($sp) /* f0963c8: 460c103c */ c.lt.s $f2,$f12 /* f0963cc: 00082c00 */ sll $a1,$t0,0x10 /* f0963d0: 00055c03 */ sra $t3,$a1,0x10 /* f0963d4: 45000013 */ bc1f .NB0f096424 /* f0963d8: 00000000 */ sll $zero,$zero,0x0 /* f0963dc: 46020202 */ mul.s $f8,$f0,$f2 /* f0963e0: 44076000 */ mfc1 $a3,$f12 /* f0963e4: 8fa4004c */ lw $a0,0x4c($sp) /* f0963e8: 01602825 */ or $a1,$t3,$zero /* f0963ec: 00003025 */ or $a2,$zero,$zero /* f0963f0: e7ac0014 */ swc1 $f12,0x14($sp) /* f0963f4: 0c007b53 */ jal modelSetAnimation /* f0963f8: e7a80010 */ swc1 $f8,0x10($sp) /* f0963fc: 0c0078a6 */ jal modelGetNumAnimFrames /* f096400: 8fa4004c */ lw $a0,0x4c($sp) /* f096404: 44828000 */ mtc1 $v0,$f16 /* f096408: 8fa4004c */ lw $a0,0x4c($sp) /* f09640c: 46808420 */ cvt.s.w $f16,$f16 /* f096410: 44058000 */ mfc1 $a1,$f16 /* f096414: 0c007c2c */ jal func0001e018 /* f096418: 00000000 */ sll $zero,$zero,0x0 /* f09641c: 1000000b */ beqz $zero,.NB0f09644c /* f096420: 240dffff */ addiu $t5,$zero,-1 .NB0f096424: /* f096424: 46020482 */ mul.s $f18,$f0,$f2 /* f096428: 00082c00 */ sll $a1,$t0,0x10 /* f09642c: 00056403 */ sra $t4,$a1,0x10 /* f096430: 44076000 */ mfc1 $a3,$f12 /* f096434: 01802825 */ or $a1,$t4,$zero /* f096438: 00003025 */ or $a2,$zero,$zero /* f09643c: e7ac0014 */ swc1 $f12,0x14($sp) /* f096440: 0c007b53 */ jal modelSetAnimation /* f096444: e7b20010 */ swc1 $f18,0x10($sp) /* f096448: 240dffff */ addiu $t5,$zero,-1 .NB0f09644c: /* f09644c: 240e0002 */ addiu $t6,$zero,0x2 /* f096450: ae6d0680 */ sw $t5,0x680($s3) /* f096454: ae6e068c */ sw $t6,0x68c($s3) /* f096458: 8e6f0690 */ lw $t7,0x690($s3) .NB0f09645c: /* f09645c: 000fc840 */ sll $t9,$t7,0x1 /* f096460: 07210002 */ bgez $t9,.NB0f09646c /* f096464: 00000000 */ sll $zero,$zero,0x0 /* f096468: ae600684 */ sw $zero,0x684($s3) .NB0f09646c: /* f09646c: 0fc25872 */ jal bgun0f09815c /* f096470: 02602025 */ or $a0,$s3,$zero /* f096474: 4600018d */ trunc.w.s $f6,$f0 /* f096478: 8e6b0684 */ lw $t3,0x684($s3) /* f09647c: 00004825 */ or $t1,$zero,$zero /* f096480: 44023000 */ mfc1 $v0,$f6 /* f096484: 00000000 */ sll $zero,$zero,0x0 /* f096488: 0040a025 */ or $s4,$v0,$zero /* f09648c: 14400004 */ bnez $v0,.NB0f0964a0 /* f096490: 01629021 */ addu $s2,$t3,$v0 /* f096494: 5a400003 */ blezl $s2,.NB0f0964a4 /* f096498: 8e6306b0 */ lw $v1,0x6b0($s3) /* f09649c: 2454ffff */ addiu $s4,$v0,-1 .NB0f0964a0: /* f0964a0: 8e6306b0 */ lw $v1,0x6b0($s3) .NB0f0964a4: /* f0964a4: 506000a9 */ beqzl $v1,.NB0f09674c /* f0964a8: 8fa4004c */ lw $a0,0x4c($sp) /* f0964ac: 106000a6 */ beqz $v1,.NB0f096748 /* f0964b0: 00608825 */ or $s1,$v1,$zero /* f0964b4: 00008025 */ or $s0,$zero,$zero /* f0964b8: 24080001 */ addiu $t0,$zero,0x1 .NB0f0964bc: /* f0964bc: 92230000 */ lbu $v1,0x0($s1) /* f0964c0: 14600003 */ bnez $v1,.NB0f0964d0 /* f0964c4: 00000000 */ sll $zero,$zero,0x0 /* f0964c8: 10000088 */ beqz $zero,.NB0f0966ec /* f0964cc: 01004825 */ or $t1,$t0,$zero .NB0f0964d0: /* f0964d0: 11030003 */ beq $t0,$v1,.NB0f0964e0 /* f0964d4: 24010002 */ addiu $at,$zero,0x2 /* f0964d8: 5461002f */ bnel $v1,$at,.NB0f096598 /* f0964dc: 24010003 */ addiu $at,$zero,0x3 .NB0f0964e0: /* f0964e0: 96270002 */ lhu $a3,0x2($s1) /* f0964e4: 00001025 */ or $v0,$zero,$zero /* f0964e8: 27b80084 */ addiu $t8,$sp,0x84 /* f0964ec: 0247082a */ slt $at,$s2,$a3 /* f0964f0: 1420007e */ bnez $at,.NB0f0966ec /* f0964f4: 00000000 */ sll $zero,$zero,0x0 /* f0964f8: 1a00000a */ blez $s0,.NB0f096524 /* f0964fc: 2404ffff */ addiu $a0,$zero,-1 /* f096500: 8e260004 */ lw $a2,0x4($s1) /* f096504: 27a300fc */ addiu $v1,$sp,0xfc .NB0f096508: /* f096508: 8c6c0000 */ lw $t4,0x0($v1) /* f09650c: 54cc0003 */ bnel $a2,$t4,.NB0f09651c /* f096510: 24420001 */ addiu $v0,$v0,0x1 /* f096514: 00402025 */ or $a0,$v0,$zero /* f096518: 24420001 */ addiu $v0,$v0,0x1 .NB0f09651c: /* f09651c: 1450fffa */ bne $v0,$s0,.NB0f096508 /* f096520: 24630004 */ addiu $v1,$v1,0x4 .NB0f096524: /* f096524: 2401ffff */ addiu $at,$zero,-1 /* f096528: 1481000a */ bne $a0,$at,.NB0f096554 /* f09652c: 240effff */ addiu $t6,$zero,-1 /* f096530: 8e260004 */ lw $a2,0x4($s1) /* f096534: 02002025 */ or $a0,$s0,$zero /* f096538: 00041080 */ sll $v0,$a0,0x2 /* f09653c: 03a26821 */ addu $t5,$sp,$v0 /* f096540: 03a27821 */ addu $t7,$sp,$v0 /* f096544: ada600fc */ sw $a2,0xfc($t5) /* f096548: adee0084 */ sw $t6,0x84($t7) /* f09654c: 26100001 */ addiu $s0,$s0,0x1 /* f096550: 96270002 */ lhu $a3,0x2($s1) .NB0f096554: /* f096554: 00041080 */ sll $v0,$a0,0x2 /* f096558: 00581821 */ addu $v1,$v0,$t8 /* f09655c: 8c790000 */ lw $t9,0x0($v1) /* f096560: 0327082a */ slt $at,$t9,$a3 /* f096564: 10200061 */ beqz $at,.NB0f0966ec /* f096568: 00000000 */ sll $zero,$zero,0x0 /* f09656c: ac670000 */ sw $a3,0x0($v1) /* f096570: 922a0000 */ lbu $t2,0x0($s1) /* f096574: 03a26021 */ addu $t4,$sp,$v0 /* f096578: 03a25821 */ addu $t3,$sp,$v0 /* f09657c: 150a0003 */ bne $t0,$t2,.NB0f09658c /* f096580: 00000000 */ sll $zero,$zero,0x0 /* f096584: 10000059 */ beqz $zero,.NB0f0966ec /* f096588: ad6800c0 */ sw $t0,0xc0($t3) .NB0f09658c: /* f09658c: 10000057 */ beqz $zero,.NB0f0966ec /* f096590: ad8000c0 */ sw $zero,0xc0($t4) /* f096594: 24010003 */ addiu $at,$zero,0x3 .NB0f096598: /* f096598: 10610006 */ beq $v1,$at,.NB0f0965b4 /* f09659c: 00601025 */ or $v0,$v1,$zero /* f0965a0: 24010008 */ addiu $at,$zero,0x8 /* f0965a4: 50610025 */ beql $v1,$at,.NB0f09663c /* f0965a8: 8e6b0690 */ lw $t3,0x690($s3) /* f0965ac: 1000004f */ beqz $zero,.NB0f0966ec /* f0965b0: 00000000 */ sll $zero,$zero,0x0 .NB0f0965b4: /* f0965b4: 8e6d0690 */ lw $t5,0x690($s3) /* f0965b8: 000d77c2 */ srl $t6,$t5,0x1f /* f0965bc: 11c0004b */ beqz $t6,.NB0f0966ec /* f0965c0: 00000000 */ sll $zero,$zero,0x0 /* f0965c4: 96270002 */ lhu $a3,0x2($s1) /* f0965c8: 0247082a */ slt $at,$s2,$a3 /* f0965cc: 14200047 */ bnez $at,.NB0f0966ec /* f0965d0: 0287082a */ slt $at,$s4,$a3 /* f0965d4: 10200045 */ beqz $at,.NB0f0966ec /* f0965d8: 0292082a */ slt $at,$s4,$s2 /* f0965dc: 10200043 */ beqz $at,.NB0f0966ec /* f0965e0: 00000000 */ sll $zero,$zero,0x0 /* f0965e4: 02602025 */ or $a0,$s3,$zero /* f0965e8: 0fc25872 */ jal bgun0f09815c /* f0965ec: afa9013c */ sw $t1,0x13c($sp) /* f0965f0: 4600010d */ trunc.w.s $f4,$f0 /* f0965f4: 962f0002 */ lhu $t7,0x2($s1) /* f0965f8: 8e630684 */ lw $v1,0x684($s3) /* f0965fc: 24080001 */ addiu $t0,$zero,0x1 /* f096600: 44192000 */ mfc1 $t9,$f4 /* f096604: 8fa9013c */ lw $t1,0x13c($sp) /* f096608: 01f91023 */ subu $v0,$t7,$t9 /* f09660c: 04410003 */ bgez $v0,.NB0f09661c /* f096610: 00025043 */ sra $t2,$v0,0x1 /* f096614: 24410001 */ addiu $at,$v0,0x1 /* f096618: 00015043 */ sra $t2,$at,0x1 .NB0f09661c: /* f09661c: 0143082a */ slt $at,$t2,$v1 /* f096620: 10200003 */ beqz $at,.NB0f096630 /* f096624: 01401025 */ or $v0,$t2,$zero /* f096628: ae620684 */ sw $v0,0x684($s3) /* f09662c: 00401825 */ or $v1,$v0,$zero .NB0f096630: /* f096630: 1000002e */ beqz $zero,.NB0f0966ec /* f096634: 00749021 */ addu $s2,$v1,$s4 /* f096638: 8e6b0690 */ lw $t3,0x690($s3) .NB0f09663c: /* f09663c: 000b6080 */ sll $t4,$t3,0x2 /* f096640: 000c6fc2 */ srl $t5,$t4,0x1f /* f096644: 11a00029 */ beqz $t5,.NB0f0966ec /* f096648: 00000000 */ sll $zero,$zero,0x0 /* f09664c: 96270002 */ lhu $a3,0x2($s1) /* f096650: 0247082a */ slt $at,$s2,$a3 /* f096654: 14200025 */ bnez $at,.NB0f0966ec /* f096658: 0287082a */ slt $at,$s4,$a3 /* f09665c: 10200023 */ beqz $at,.NB0f0966ec /* f096660: 0292082a */ slt $at,$s4,$s2 /* f096664: 10200021 */ beqz $at,.NB0f0966ec /* f096668: 00000000 */ sll $zero,$zero,0x0 /* f09666c: 8e260004 */ lw $a2,0x4($s1) /* f096670: 02477023 */ subu $t6,$s2,$a3 /* f096674: ae600684 */ sw $zero,0x684($s3) /* f096678: 00e6c023 */ subu $t8,$a3,$a2 /* f09667c: 270f0001 */ addiu $t7,$t8,0x1 /* f096680: 01cf001a */ div $zero,$t6,$t7 /* f096684: 0000c810 */ mfhi $t9 /* f096688: 00d91021 */ addu $v0,$a2,$t9 /* f09668c: 44825000 */ mtc1 $v0,$f10 /* f096690: 15e00002 */ bnez $t7,.NB0f09669c /* f096694: 00000000 */ sll $zero,$zero,0x0 /* f096698: 0007000d */ break 0x7 .NB0f09669c: /* f09669c: 2401ffff */ addiu $at,$zero,-1 /* f0966a0: 15e10004 */ bne $t7,$at,.NB0f0966b4 /* f0966a4: 3c018000 */ lui $at,0x8000 /* f0966a8: 15c10002 */ bne $t6,$at,.NB0f0966b4 /* f0966ac: 00000000 */ sll $zero,$zero,0x0 /* f0966b0: 0006000d */ break 0x6 .NB0f0966b4: /* f0966b4: 468052a0 */ cvt.s.w $f10,$f10 /* f0966b8: 0040a025 */ or $s4,$v0,$zero /* f0966bc: afa20070 */ sw $v0,0x70($sp) /* f0966c0: afa9013c */ sw $t1,0x13c($sp) /* f0966c4: 8fa4004c */ lw $a0,0x4c($sp) /* f0966c8: 44055000 */ mfc1 $a1,$f10 /* f0966cc: 0c007c2c */ jal func0001e018 /* f0966d0: 00000000 */ sll $zero,$zero,0x0 /* f0966d4: 926a0691 */ lbu $t2,0x691($s3) /* f0966d8: 8fb20070 */ lw $s2,0x70($sp) /* f0966dc: 8fa9013c */ lw $t1,0x13c($sp) /* f0966e0: 254b0001 */ addiu $t3,$t2,0x1 /* f0966e4: 24080001 */ addiu $t0,$zero,0x1 /* f0966e8: a26b0691 */ sb $t3,0x691($s3) .NB0f0966ec: /* f0966ec: 1120ff73 */ beqz $t1,.NB0f0964bc /* f0966f0: 26310008 */ addiu $s1,$s1,0x8 /* f0966f4: 5a000015 */ blezl $s0,.NB0f09674c /* f0966f8: 8fa4004c */ lw $a0,0x4c($sp) /* f0966fc: 1a000012 */ blez $s0,.NB0f096748 /* f096700: 00001025 */ or $v0,$zero,$zero /* f096704: 27a300fc */ addiu $v1,$sp,0xfc /* f096708: 27a800c0 */ addiu $t0,$sp,0xc0 .NB0f09670c: /* f09670c: 84640002 */ lh $a0,0x2($v1) /* f096710: 8d050000 */ lw $a1,0x0($t0) /* f096714: afa80044 */ sw $t0,0x44($sp) /* f096718: afa30048 */ sw $v1,0x48($sp) /* f09671c: afa2006c */ sw $v0,0x6c($sp) /* f096720: 02603025 */ or $a2,$s3,$zero /* f096724: 0fc257b8 */ jal bgun0f097e74 /* f096728: 8fa70154 */ lw $a3,0x154($sp) /* f09672c: 8fa2006c */ lw $v0,0x6c($sp) /* f096730: 8fa30048 */ lw $v1,0x48($sp) /* f096734: 8fa80044 */ lw $t0,0x44($sp) /* f096738: 24420001 */ addiu $v0,$v0,0x1 /* f09673c: 24630004 */ addiu $v1,$v1,0x4 /* f096740: 1450fff2 */ bne $v0,$s0,.NB0f09670c /* f096744: 25080004 */ addiu $t0,$t0,0x4 .NB0f096748: /* f096748: 8fa4004c */ lw $a0,0x4c($sp) .NB0f09674c: /* f09674c: 8e650684 */ lw $a1,0x684($s3) /* f096750: 0c0080eb */ jal func0001f314 /* f096754: 24060001 */ addiu $a2,$zero,0x1 /* f096758: 0fc25872 */ jal bgun0f09815c /* f09675c: 02602025 */ or $a0,$s3,$zero /* f096760: 4600020d */ trunc.w.s $f8,$f0 /* f096764: 8e6306b0 */ lw $v1,0x6b0($s3) /* f096768: 00004025 */ or $t0,$zero,$zero /* f09676c: 3c013f80 */ lui $at,0x3f80 /* f096770: 44124000 */ mfc1 $s2,$f8 /* f096774: 1060004a */ beqz $v1,.NB0f0968a0 /* f096778: 00608025 */ or $s0,$v1,$zero /* f09677c: 44818000 */ mtc1 $at,$f16 /* f096780: 00008825 */ or $s1,$zero,$zero /* f096784: 10600046 */ beqz $v1,.NB0f0968a0 /* f096788: e7b00060 */ swc1 $f16,0x60($sp) .NB0f09678c: /* f09678c: 92030000 */ lbu $v1,0x0($s0) /* f096790: 54600004 */ bnezl $v1,.NB0f0967a4 /* f096794: 96020002 */ lhu $v0,0x2($s0) /* f096798: 1000003f */ beqz $zero,.NB0f096898 /* f09679c: 24080001 */ addiu $t0,$zero,0x1 /* f0967a0: 96020002 */ lhu $v0,0x2($s0) .NB0f0967a4: /* f0967a4: 0242082a */ slt $at,$s2,$v0 /* f0967a8: 1420003b */ bnez $at,.NB0f096898 /* f0967ac: 0282082a */ slt $at,$s4,$v0 /* f0967b0: 10200039 */ beqz $at,.NB0f096898 /* f0967b4: 0292082a */ slt $at,$s4,$s2 /* f0967b8: 10200037 */ beqz $at,.NB0f096898 /* f0967bc: 24010005 */ addiu $at,$zero,0x5 /* f0967c0: 10610008 */ beq $v1,$at,.NB0f0967e4 /* f0967c4: 3c04800a */ lui $a0,0x800a /* f0967c8: 24010009 */ addiu $at,$zero,0x9 /* f0967cc: 10610028 */ beq $v1,$at,.NB0f096870 /* f0967d0: 2401000b */ addiu $at,$zero,0xb /* f0967d4: 5061001e */ beql $v1,$at,.NB0f096850 /* f0967d8: 8e0f0004 */ lw $t7,0x4($s0) /* f0967dc: 1000002e */ beqz $zero,.NB0f096898 /* f0967e0: 00000000 */ sll $zero,$zero,0x0 .NB0f0967e4: /* f0967e4: 86050006 */ lh $a1,0x6($s0) /* f0967e8: 3c01bf80 */ lui $at,0xbf80 /* f0967ec: 44819000 */ mtc1 $at,$f18 /* f0967f0: 240dffff */ addiu $t5,$zero,-1 /* f0967f4: 2418ffff */ addiu $t8,$zero,-1 /* f0967f8: 240effff */ addiu $t6,$zero,-1 /* f0967fc: afae001c */ sw $t6,0x1c($sp) /* f096800: afb80018 */ sw $t8,0x18($sp) /* f096804: afad0010 */ sw $t5,0x10($sp) /* f096808: afa80068 */ sw $t0,0x68($sp) /* f09680c: 8c848180 */ lw $a0,-0x7e80($a0) /* f096810: 00003025 */ or $a2,$zero,$zero /* f096814: 2407ffff */ addiu $a3,$zero,-1 /* f096818: 0c004338 */ jal sndStart /* f09681c: e7b20014 */ swc1 $f18,0x14($sp) /* f096820: 8fa80068 */ lw $t0,0x68($sp) /* f096824: 1220001c */ beqz $s1,.NB0f096898 /* f096828: 00402025 */ or $a0,$v0,$zero /* f09682c: 1040001a */ beqz $v0,.NB0f096898 /* f096830: 24050010 */ addiu $a1,$zero,0x10 /* f096834: 00008825 */ or $s1,$zero,$zero /* f096838: 8fa60060 */ lw $a2,0x60($sp) /* f09683c: 0c00d492 */ jal func00033e50 /* f096840: afa80068 */ sw $t0,0x68($sp) /* f096844: 10000014 */ beqz $zero,.NB0f096898 /* f096848: 8fa80068 */ lw $t0,0x68($sp) /* f09684c: 8e0f0004 */ lw $t7,0x4($s0) .NB0f096850: /* f096850: 3c01447a */ lui $at,0x447a /* f096854: 44815000 */ mtc1 $at,$f10 /* f096858: 448f3000 */ mtc1 $t7,$f6 /* f09685c: 24110001 */ addiu $s1,$zero,0x1 /* f096860: 46803120 */ cvt.s.w $f4,$f6 /* f096864: 460a2203 */ div.s $f8,$f4,$f10 /* f096868: 1000000b */ beqz $zero,.NB0f096898 /* f09686c: e7a80060 */ swc1 $f8,0x60($sp) .NB0f096870: /* f096870: 8e790690 */ lw $t9,0x690($s3) /* f096874: 926e0690 */ lbu $t6,0x690($s3) /* f096878: 001950c0 */ sll $t2,$t9,0x3 /* f09687c: 000a5f42 */ srl $t3,$t2,0x1d /* f096880: 256c0001 */ addiu $t4,$t3,0x1 /* f096884: 000c6880 */ sll $t5,$t4,0x2 /* f096888: 31b8001c */ andi $t8,$t5,0x1c /* f09688c: 31cfffe3 */ andi $t7,$t6,0xffe3 /* f096890: 030fc825 */ or $t9,$t8,$t7 /* f096894: a2790690 */ sb $t9,0x690($s3) .NB0f096898: /* f096898: 1100ffbc */ beqz $t0,.NB0f09678c /* f09689c: 26100008 */ addiu $s0,$s0,0x8 .NB0f0968a0: /* f0968a0: 8fbf003c */ lw $ra,0x3c($sp) .NB0f0968a4: /* f0968a4: 8fb00028 */ lw $s0,0x28($sp) /* f0968a8: 8fb1002c */ lw $s1,0x2c($sp) /* f0968ac: 8fb20030 */ lw $s2,0x30($sp) /* f0968b0: 8fb30034 */ lw $s3,0x34($sp) /* f0968b4: 8fb40038 */ lw $s4,0x38($sp) /* f0968b8: 03e00008 */ jr $ra /* f0968bc: 27bd0150 */ addiu $sp,$sp,0x150 ); #endif bool bgun0f098884(struct guncmd *cmd, struct gset *gset) { s32 result = false; if (cmd->unk01 == 0) { return true; } if (cmd->unk01 == 1 && g_Vars.currentplayer->hands[HAND_LEFT].inuse == true) { result = true; } if (cmd->unk01 == 2 && gset->weaponfunc == FUNC_SECONDARY) { result = true; } return result; } void bgun0f0988e0(struct guncmd *cmd, s32 handnum, struct hand *hand) { if (cmd->type != GUNCMD_PLAYANIMATION) { struct guncmd *loopcmd = cmd; s32 done = false; u32 rand = random() % 100; while (loopcmd->type != GUNCMD_END) { if (bgun0f098884(loopcmd, &hand->gset) && !done) { if (loopcmd->type == GUNCMD_INCLUDE) { done = true; bgun0f0988e0((struct guncmd *)loopcmd->unk04, handnum, hand); } else if (loopcmd->type == GUNCMD_RANDOM) { if ((struct guncmd *)loopcmd->unk04 != hand->unk0d80 && loopcmd->unk02 > rand) { done = true; bgun0f0988e0((struct guncmd *)loopcmd->unk04, handnum, hand); } } } loopcmd++; } } else { hand->animload = cmd->unk02; hand->animmode = HANDANIMMODE_IDLE; hand->unk0cc8_01 = 0; hand->unk0cc8_03 = 0; hand->unk0ce8 = cmd; hand->animloopcount = 0; hand->unk0cc8_02 = 0; hand->unk0d0e_07 = 0; hand->unk0d80 = cmd; } } bool bgun0f098a44(struct hand *hand, s32 time) { struct guncmd *cmd = hand->unk0ce8; s32 waittimekeyframe = -1; s32 zreleasekeyframe = -1; if (hand->animmode == HANDANIMMODE_IDLE) { return (hand->animload == -1); } while (cmd->type != GUNCMD_END && waittimekeyframe == -1) { if (cmd->type == GUNCMD_WAITFORZRELEASED) { zreleasekeyframe = cmd->unk02; } if (cmd->type == GUNCMD_WAITTIME && time == cmd->unk04) { waittimekeyframe = cmd->unk02; } cmd++; } if (waittimekeyframe >= 0) { #if VERSION >= VERSION_PAL_FINAL if (hand->unk0cc8_01 && bgun0f09815c(hand) <= zreleasekeyframe) { return false; } return (bgun0f09815c(hand) + hand->animframeincfreal >= waittimekeyframe); #else if (hand->unk0cc8_01 && (s32)bgun0f09815c(hand) <= zreleasekeyframe) { return false; } return (bgun0f09815c(hand) + hand->animframeinc >= waittimekeyframe); #endif } return true; } s32 bgun0f098b80(struct hand *hand, s32 arg1) { struct guncmd *cmd = hand->unk0ce8; s32 keyframe = -1; if (hand->animmode == HANDANIMMODE_IDLE) { return 0; } while (cmd->type != GUNCMD_END && keyframe == -1) { if (cmd->type == GUNCMD_WAITTIME) { if (cmd->unk04 == arg1) { keyframe = cmd->unk02; } } cmd++; } if (keyframe == -1) { keyframe = 0; } return keyframe; } bool bgunIsAnimBusy(struct hand *hand) { return hand->animmode != HANDANIMMODE_IDLE; } void bgunResetAnim(struct hand *hand) { hand->animload = -1; hand->animmode = HANDANIMMODE_IDLE; hand->unk0cc8_01 = false; hand->unk0cc8_03 = false; hand->unk0ce8 = NULL; hand->animloopcount = 0; hand->unk0cc8_02 = false; hand->unk0d0e_07 = false; } void bgunGetWeaponInfo(struct handweaponinfo *info, s32 handnum) { s32 weaponnum = bgunGetWeaponNum2(handnum); info->weaponnum = weaponnum; info->definition = g_Weapons[weaponnum]; info->gunctrl = &g_Vars.currentplayer->gunctrl; } /** * Return values: * -1 = gun function doesn't exist or ammo fully depleted * 0 = trigger reload * 1 = has ammo in clip and ammo in reserve * 2 = has ammo in clip but none in reserve * 3 = gun doesn't use ammo or clip is full */ s32 bgun0f098ca0(s32 funcnum, struct handweaponinfo *info, struct hand *hand) { s32 result = 3; struct weaponfunc *func = weaponGetFunction(&hand->gset, funcnum); if (!func) { return -1; } if (func->ammoindex != -1) { s32 ammoindex = func->ammoindex; if (info->gunctrl->ammotypes[ammoindex] >= 0 && hand->loadedammo[ammoindex] < hand->clipsizes[ammoindex]) { s32 minqty = 1; if (info->weaponnum == WEAPON_SHOTGUN && funcnum == FUNC_SECONDARY) { minqty = 2; } if (info->weaponnum == WEAPON_TRANQUILIZER && funcnum == FUNC_SECONDARY) { minqty = bgunGetMinClipQty(WEAPON_TRANQUILIZER, FUNC_SECONDARY); } result = 1; if (hand->loadedammo[ammoindex] < minqty) { result = 0; if (g_Vars.currentplayer->ammoheldarr[info->gunctrl->ammotypes[ammoindex]] == 0) { result = -1; } } else { if (g_Vars.currentplayer->ammoheldarr[info->gunctrl->ammotypes[ammoindex]] == 0) { result = 2; } } } } return result; } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f098df8 /* f098e78: 27bdffc8 */ addiu $sp,$sp,-56 /* f098e7c: afb00018 */ sw $s0,0x18($sp) /* f098e80: 00a08025 */ move $s0,$a1 /* f098e84: 00802825 */ move $a1,$a0 /* f098e88: afbf001c */ sw $ra,0x1c($sp) /* f098e8c: afa40038 */ sw $a0,0x38($sp) /* f098e90: afa60040 */ sw $a2,0x40($sp) /* f098e94: afa70044 */ sw $a3,0x44($sp) /* f098e98: 0fc2c55e */ jal weaponGetFunction /* f098e9c: 00c02025 */ move $a0,$a2 /* f098ea0: 50400059 */ beqzl $v0,.PF0f099008 /* f098ea4: 8fbf001c */ lw $ra,0x1c($sp) /* f098ea8: 80430007 */ lb $v1,0x7($v0) /* f098eac: 2401ffff */ li $at,-1 /* f098eb0: 50610055 */ beql $v1,$at,.PF0f099008 /* f098eb4: 8fbf001c */ lw $ra,0x1c($sp) /* f098eb8: 8e0e0008 */ lw $t6,0x8($s0) /* f098ebc: 00602825 */ move $a1,$v1 /* f098ec0: 8fb90040 */ lw $t9,0x40($sp) /* f098ec4: 01c37821 */ addu $t7,$t6,$v1 /* f098ec8: 81f80064 */ lb $t8,0x64($t7) /* f098ecc: 0700004d */ bltz $t8,.PF0f099004 /* f098ed0: 00033880 */ sll $a3,$v1,0x2 /* f098ed4: 03273021 */ addu $a2,$t9,$a3 /* f098ed8: 8cc90228 */ lw $t1,0x228($a2) /* f098edc: 8cca0220 */ lw $t2,0x220($a2) /* f098ee0: 8e040000 */ lw $a0,0x0($s0) /* f098ee4: afa20034 */ sw $v0,0x34($sp) /* f098ee8: 012a1823 */ subu $v1,$t1,$t2 /* f098eec: afa3002c */ sw $v1,0x2c($sp) /* f098ef0: afa70024 */ sw $a3,0x24($sp) /* f098ef4: afa60020 */ sw $a2,0x20($sp) /* f098ef8: 0fc25f0b */ jal bgunGetUnequippedReloadIndex /* f098efc: afa50030 */ sw $a1,0x30($sp) /* f098f00: 3c0b8009 */ lui $t3,0x8009 /* f098f04: 916b8d54 */ lbu $t3,-0x72ac($t3) /* f098f08: 8fa3002c */ lw $v1,0x2c($sp) /* f098f0c: 8fa50030 */ lw $a1,0x30($sp) /* f098f10: 8fa60020 */ lw $a2,0x20($sp) /* f098f14: 8fa70024 */ lw $a3,0x24($sp) /* f098f18: 11600002 */ beqz $t3,.PF0f098f24 /* f098f1c: 00402025 */ move $a0,$v0 /* f098f20: 2404ffff */ li $a0,-1 .PF0f098f24: /* f098f24: 93ac004b */ lbu $t4,0x4b($sp) /* f098f28: 93a90047 */ lbu $t1,0x47($sp) /* f098f2c: 1180000b */ beqz $t4,.PF0f098f5c /* f098f30: 00000000 */ nop /* f098f34: 04800009 */ bltz $a0,.PF0f098f5c /* f098f38: 8fad0040 */ lw $t5,0x40($sp) /* f098f3c: 00047040 */ sll $t6,$a0,0x1 /* f098f40: 01ae7821 */ addu $t7,$t5,$t6 /* f098f44: 95f8073c */ lhu $t8,0x73c($t7) /* f098f48: 240100d5 */ li $at,0xd5 /* f098f4c: 0301001a */ div $zero,$t8,$at /* f098f50: 0000c812 */ mflo $t9 /* f098f54: 00791823 */ subu $v1,$v1,$t9 /* f098f58: 00000000 */ nop .PF0f098f5c: /* f098f5c: 51200003 */ beqzl $t1,.PF0f098f6c /* f098f60: 8e0b0008 */ lw $t3,0x8($s0) /* f098f64: 24030001 */ li $v1,0x1 /* f098f68: 8e0b0008 */ lw $t3,0x8($s0) .PF0f098f6c: /* f098f6c: 3c04800a */ lui $a0,0x800a /* f098f70: 2484a510 */ addiu $a0,$a0,-23280 /* f098f74: 01656021 */ addu $t4,$t3,$a1 /* f098f78: 818d0064 */ lb $t5,0x64($t4) /* f098f7c: 8c8a0284 */ lw $t2,0x284($a0) /* f098f80: 000d7080 */ sll $t6,$t5,0x2 /* f098f84: 014e7821 */ addu $t7,$t2,$t6 /* f098f88: 8de217a8 */ lw $v0,0x17a8($t7) /* f098f8c: 0043082a */ slt $at,$v0,$v1 /* f098f90: 50200003 */ beqzl $at,.PF0f098fa0 /* f098f94: 8cd80220 */ lw $t8,0x220($a2) /* f098f98: 00401825 */ move $v1,$v0 /* f098f9c: 8cd80220 */ lw $t8,0x220($a2) .PF0f098fa0: /* f098fa0: 0303c821 */ addu $t9,$t8,$v1 /* f098fa4: acd90220 */ sw $t9,0x220($a2) /* f098fa8: 8e0b0008 */ lw $t3,0x8($s0) /* f098fac: 8c890284 */ lw $t1,0x284($a0) /* f098fb0: 01656021 */ addu $t4,$t3,$a1 /* f098fb4: 818d0064 */ lb $t5,0x64($t4) /* f098fb8: 000d5080 */ sll $t2,$t5,0x2 /* f098fbc: 012a1021 */ addu $v0,$t1,$t2 /* f098fc0: 8c4e17a8 */ lw $t6,0x17a8($v0) /* f098fc4: 01c37823 */ subu $t7,$t6,$v1 /* f098fc8: ac4f17a8 */ sw $t7,0x17a8($v0) /* f098fcc: 8e180004 */ lw $t8,0x4($s0) /* f098fd0: 0307c821 */ addu $t9,$t8,$a3 /* f098fd4: 8f2b001c */ lw $t3,0x1c($t9) /* f098fd8: 916c0010 */ lbu $t4,0x10($t3) /* f098fdc: 318d0001 */ andi $t5,$t4,0x1 /* f098fe0: 51a00009 */ beqzl $t5,.PF0f099008 /* f098fe4: 8fbf001c */ lw $ra,0x1c($sp) /* f098fe8: 8e0a0008 */ lw $t2,0x8($s0) /* f098fec: 8c890284 */ lw $t1,0x284($a0) /* f098ff0: 01457021 */ addu $t6,$t2,$a1 /* f098ff4: 81cf0064 */ lb $t7,0x64($t6) /* f098ff8: 000fc080 */ sll $t8,$t7,0x2 /* f098ffc: 0138c821 */ addu $t9,$t1,$t8 /* f099000: af2017a8 */ sw $zero,0x17a8($t9) .PF0f099004: /* f099004: 8fbf001c */ lw $ra,0x1c($sp) .PF0f099008: /* f099008: 8fb00018 */ lw $s0,0x18($sp) /* f09900c: 27bd0038 */ addiu $sp,$sp,0x38 /* f099010: 03e00008 */ jr $ra /* f099014: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f098df8 /* f098df8: 27bdffc8 */ addiu $sp,$sp,-56 /* f098dfc: afb00018 */ sw $s0,0x18($sp) /* f098e00: 00a08025 */ or $s0,$a1,$zero /* f098e04: 00802825 */ or $a1,$a0,$zero /* f098e08: afbf001c */ sw $ra,0x1c($sp) /* f098e0c: afa40038 */ sw $a0,0x38($sp) /* f098e10: afa60040 */ sw $a2,0x40($sp) /* f098e14: afa70044 */ sw $a3,0x44($sp) /* f098e18: 0fc2c42e */ jal weaponGetFunction /* f098e1c: 00c02025 */ or $a0,$a2,$zero /* f098e20: 50400056 */ beqzl $v0,.L0f098f7c /* f098e24: 8fbf001c */ lw $ra,0x1c($sp) /* f098e28: 80430007 */ lb $v1,0x7($v0) /* f098e2c: 2401ffff */ addiu $at,$zero,-1 /* f098e30: 50610052 */ beql $v1,$at,.L0f098f7c /* f098e34: 8fbf001c */ lw $ra,0x1c($sp) /* f098e38: 8e0e0008 */ lw $t6,0x8($s0) /* f098e3c: 00602825 */ or $a1,$v1,$zero /* f098e40: 8fb90040 */ lw $t9,0x40($sp) /* f098e44: 01c37821 */ addu $t7,$t6,$v1 /* f098e48: 81f80064 */ lb $t8,0x64($t7) /* f098e4c: 0700004a */ bltz $t8,.L0f098f78 /* f098e50: 00033880 */ sll $a3,$v1,0x2 /* f098e54: 03273021 */ addu $a2,$t9,$a3 /* f098e58: 8cc90228 */ lw $t1,0x228($a2) /* f098e5c: 8cca0220 */ lw $t2,0x220($a2) /* f098e60: 8e040000 */ lw $a0,0x0($s0) /* f098e64: afa20034 */ sw $v0,0x34($sp) /* f098e68: 012a1823 */ subu $v1,$t1,$t2 /* f098e6c: afa3002c */ sw $v1,0x2c($sp) /* f098e70: afa70024 */ sw $a3,0x24($sp) /* f098e74: afa60020 */ sw $a2,0x20($sp) /* f098e78: 0fc25f43 */ jal bgunGetUnequippedReloadIndex /* f098e7c: afa50030 */ sw $a1,0x30($sp) /* f098e80: 3c0b8009 */ lui $t3,%hi(g_FrIsValidWeapon) /* f098e84: 916b8804 */ lbu $t3,%lo(g_FrIsValidWeapon)($t3) /* f098e88: 8fa3002c */ lw $v1,0x2c($sp) /* f098e8c: 8fa50030 */ lw $a1,0x30($sp) /* f098e90: 8fa60020 */ lw $a2,0x20($sp) /* f098e94: 8fa70024 */ lw $a3,0x24($sp) /* f098e98: 11600002 */ beqz $t3,.L0f098ea4 /* f098e9c: 00402025 */ or $a0,$v0,$zero /* f098ea0: 2404ffff */ addiu $a0,$zero,-1 .L0f098ea4: /* f098ea4: 93ac004b */ lbu $t4,0x4b($sp) /* f098ea8: 93a90047 */ lbu $t1,0x47($sp) /* f098eac: 11800008 */ beqz $t4,.L0f098ed0 /* f098eb0: 00000000 */ nop /* f098eb4: 04800006 */ bltz $a0,.L0f098ed0 /* f098eb8: 8fad0040 */ lw $t5,0x40($sp) /* f098ebc: 00047040 */ sll $t6,$a0,0x1 /* f098ec0: 01ae7821 */ addu $t7,$t5,$t6 /* f098ec4: 95f8073c */ lhu $t8,0x73c($t7) /* f098ec8: 0018ca03 */ sra $t9,$t8,0x8 /* f098ecc: 00791823 */ subu $v1,$v1,$t9 .L0f098ed0: /* f098ed0: 51200003 */ beqzl $t1,.L0f098ee0 /* f098ed4: 8e0b0008 */ lw $t3,0x8($s0) /* f098ed8: 24030001 */ addiu $v1,$zero,0x1 /* f098edc: 8e0b0008 */ lw $t3,0x8($s0) .L0f098ee0: /* f098ee0: 3c04800a */ lui $a0,%hi(g_Vars) /* f098ee4: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f098ee8: 01656021 */ addu $t4,$t3,$a1 /* f098eec: 818d0064 */ lb $t5,0x64($t4) /* f098ef0: 8c8a0284 */ lw $t2,0x284($a0) /* f098ef4: 000d7080 */ sll $t6,$t5,0x2 /* f098ef8: 014e7821 */ addu $t7,$t2,$t6 /* f098efc: 8de217a8 */ lw $v0,0x17a8($t7) /* f098f00: 0043082a */ slt $at,$v0,$v1 /* f098f04: 50200003 */ beqzl $at,.L0f098f14 /* f098f08: 8cd80220 */ lw $t8,0x220($a2) /* f098f0c: 00401825 */ or $v1,$v0,$zero /* f098f10: 8cd80220 */ lw $t8,0x220($a2) .L0f098f14: /* f098f14: 0303c821 */ addu $t9,$t8,$v1 /* f098f18: acd90220 */ sw $t9,0x220($a2) /* f098f1c: 8e0b0008 */ lw $t3,0x8($s0) /* f098f20: 8c890284 */ lw $t1,0x284($a0) /* f098f24: 01656021 */ addu $t4,$t3,$a1 /* f098f28: 818d0064 */ lb $t5,0x64($t4) /* f098f2c: 000d5080 */ sll $t2,$t5,0x2 /* f098f30: 012a1021 */ addu $v0,$t1,$t2 /* f098f34: 8c4e17a8 */ lw $t6,0x17a8($v0) /* f098f38: 01c37823 */ subu $t7,$t6,$v1 /* f098f3c: ac4f17a8 */ sw $t7,0x17a8($v0) /* f098f40: 8e180004 */ lw $t8,0x4($s0) /* f098f44: 0307c821 */ addu $t9,$t8,$a3 /* f098f48: 8f2b001c */ lw $t3,0x1c($t9) /* f098f4c: 916c0010 */ lbu $t4,0x10($t3) /* f098f50: 318d0001 */ andi $t5,$t4,0x1 /* f098f54: 51a00009 */ beqzl $t5,.L0f098f7c /* f098f58: 8fbf001c */ lw $ra,0x1c($sp) /* f098f5c: 8e0a0008 */ lw $t2,0x8($s0) /* f098f60: 8c890284 */ lw $t1,0x284($a0) /* f098f64: 01457021 */ addu $t6,$t2,$a1 /* f098f68: 81cf0064 */ lb $t7,0x64($t6) /* f098f6c: 000fc080 */ sll $t8,$t7,0x2 /* f098f70: 0138c821 */ addu $t9,$t1,$t8 /* f098f74: af2017a8 */ sw $zero,0x17a8($t9) .L0f098f78: /* f098f78: 8fbf001c */ lw $ra,0x1c($sp) .L0f098f7c: /* f098f7c: 8fb00018 */ lw $s0,0x18($sp) /* f098f80: 27bd0038 */ addiu $sp,$sp,0x38 /* f098f84: 03e00008 */ jr $ra /* f098f88: 00000000 */ nop ); #endif void bgun0f098f8c(struct handweaponinfo *info, struct hand *hand) { s32 i; for (i = 0; i < 2; i++) { if (weaponGetFunction(&hand->gset, i)) { bgun0f098df8(i, info, hand, 0, 1); } } } bool bgun0f099008(s32 handnum) { struct handweaponinfo info; bgunGetWeaponInfo(&info, handnum); if (bgun0f098ca0(0, &info, &g_Vars.currentplayer->hands[handnum]) > 0) { return true; } if (bgun0f098ca0(1, &info, &g_Vars.currentplayer->hands[handnum]) > 0) { return true; } return false; } bool bgun0f0990b0(struct weaponfunc *basefunc, struct weapon *weapon) { if (!basefunc) { return true; } if (basefunc->type == INVENTORYFUNCTYPE_NONE) { return true; } if ((basefunc->type & 0xff) == INVENTORYFUNCTYPE_CLOSE) { return true; } if ((basefunc->type & 0xff) == INVENTORYFUNCTYPE_SPECIAL) { struct weaponfunc_special *func = (struct weaponfunc_special *)basefunc; if (func->specialfunc != HANDATTACKTYPE_DETONATE && func->specialfunc != HANDATTACKTYPE_BOOST && func->specialfunc != HANDATTACKTYPE_REVERTBOOST) { return true; } } if ((basefunc->type & 0xff) == INVENTORYFUNCTYPE_THROW) { if (basefunc->ammoindex <= -1) { return true; } } if (basefunc->ammoindex >= 0 && weapon->ammos[basefunc->ammoindex] && bgunGetAmmoCount(weapon->ammos[basefunc->ammoindex]->type) <= 0) { return true; } return false; } bool bgun0f099188(struct hand *hand, s32 gunfunc) { struct weaponfunc *func = weaponGetFunction(&hand->gset, gunfunc); struct weapon *weapon = weaponFindById(hand->gset.weaponnum); if (bgunIsUsingSecondaryFunction() == gunfunc) { return false; } return bgun0f0990b0(func, weapon); } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgunTickIncIdle /* f099270: 27bdffc0 */ addiu $sp,$sp,-64 /* f099274: afbf001c */ sw $ra,0x1c($sp) /* f099278: afb00018 */ sw $s0,0x18($sp) /* f09927c: 00c08025 */ move $s0,$a2 /* f099280: afa40040 */ sw $a0,0x40($sp) /* f099284: afa50044 */ sw $a1,0x44($sp) /* f099288: 0fc2a432 */ jal bgunIsUsingSecondaryFunction /* f09928c: afa7004c */ sw $a3,0x4c($sp) /* f099290: 44802000 */ mtc1 $zero,$f4 /* f099294: afa20038 */ sw $v0,0x38($sp) /* f099298: a20005dc */ sb $zero,0x5dc($s0) /* f09929c: ae000558 */ sw $zero,0x558($s0) /* f0992a0: e60405fc */ swc1 $f4,0x5fc($s0) /* f0992a4: 0fc26ffc */ jal bgunIsReadyToSwitch /* f0992a8: 8fa40044 */ lw $a0,0x44($sp) /* f0992ac: 10400007 */ beqz $v0,.PF0f0992cc /* f0992b0: 8fa40044 */ lw $a0,0x44($sp) /* f0992b4: 0fc273ec */ jal bgunSetState /* f0992b8: 24050005 */ li $a1,0x5 /* f0992bc: 50400004 */ beqzl $v0,.PF0f0992d0 /* f0992c0: 8fae0038 */ lw $t6,0x38($sp) /* f0992c4: 1000014a */ b .PF0f0997f0 /* f0992c8: 8fa2004c */ lw $v0,0x4c($sp) .PF0f0992cc: /* f0992cc: 8fae0038 */ lw $t6,0x38($sp) .PF0f0992d0: /* f0992d0: 920f0003 */ lbu $t7,0x3($s0) /* f0992d4: 02003025 */ move $a2,$s0 /* f0992d8: 55cf0005 */ bnel $t6,$t7,.PF0f0992f0 /* f0992dc: 92090690 */ lbu $t1,0x690($s0) /* f0992e0: 92180690 */ lbu $t8,0x690($s0) /* f0992e4: 3319fffd */ andi $t9,$t8,0xfffd /* f0992e8: a2190690 */ sb $t9,0x690($s0) /* f0992ec: 92090690 */ lbu $t1,0x690($s0) .PF0f0992f0: /* f0992f0: 820b0008 */ lb $t3,0x8($s0) /* f0992f4: 312afffe */ andi $t2,$t1,0xfffe /* f0992f8: 11600106 */ beqz $t3,.PF0f099714 /* f0992fc: a20a0690 */ sb $t2,0x690($s0) /* f099300: 92040003 */ lbu $a0,0x3($s0) /* f099304: 0fc26348 */ jal bgun0f098ca0 /* f099308: 8fa50040 */ lw $a1,0x40($sp) /* f09930c: 92030003 */ lbu $v1,0x3($s0) /* f099310: 8fac0038 */ lw $t4,0x38($sp) /* f099314: 00404025 */ move $t0,$v0 /* f099318: 1183003a */ beq $t4,$v1,.PF0f099404 /* f09931c: 00000000 */ nop /* f099320: 8e0d0024 */ lw $t5,0x24($s0) /* f099324: 24010009 */ li $at,0x9 /* f099328: 11a10036 */ beq $t5,$at,.PF0f099404 /* f09932c: 00000000 */ nop /* f099330: 8e0e0690 */ lw $t6,0x690($s0) /* f099334: 24190001 */ li $t9,0x1 /* f099338: 24070001 */ li $a3,0x1 /* f09933c: 000ec180 */ sll $t8,$t6,0x6 /* f099340: 0701000a */ bgez $t8,.PF0f09936c /* f099344: 03232023 */ subu $a0,$t9,$v1 /* f099348: 8fa50040 */ lw $a1,0x40($sp) /* f09934c: 02003025 */ move $a2,$s0 /* f099350: afa7002c */ sw $a3,0x2c($sp) /* f099354: 0fc26348 */ jal bgun0f098ca0 /* f099358: afa20034 */ sw $v0,0x34($sp) /* f09935c: 8fa7002c */ lw $a3,0x2c($sp) /* f099360: 04410002 */ bgez $v0,.PF0f09936c /* f099364: 8fa80034 */ lw $t0,0x34($sp) /* f099368: 00003825 */ move $a3,$zero .PF0f09936c: /* f09936c: 10e00018 */ beqz $a3,.PF0f0993d0 /* f099370: 8fa90040 */ lw $t1,0x40($sp) /* f099374: 8d2a0000 */ lw $t2,0x0($t1) /* f099378: 2401001a */ li $at,0x1a /* f09937c: 15410014 */ bne $t2,$at,.PF0f0993d0 /* f099380: 00000000 */ nop /* f099384: 1500000f */ bnez $t0,.PF0f0993c4 /* f099388: 00000000 */ nop /* f09938c: ae00001c */ sw $zero,0x1c($s0) /* f099390: ae000018 */ sw $zero,0x18($s0) /* f099394: 8fab0038 */ lw $t3,0x38($sp) /* f099398: 24050001 */ li $a1,0x1 /* f09939c: a20b0003 */ sb $t3,0x3($s0) /* f0993a0: afa80034 */ sw $t0,0x34($sp) /* f0993a4: afa7002c */ sw $a3,0x2c($sp) /* f0993a8: 0fc273ec */ jal bgunSetState /* f0993ac: 8fa40044 */ lw $a0,0x44($sp) /* f0993b0: 8fa7002c */ lw $a3,0x2c($sp) /* f0993b4: 10400006 */ beqz $v0,.PF0f0993d0 /* f0993b8: 8fa80034 */ lw $t0,0x34($sp) /* f0993bc: 1000010c */ b .PF0f0997f0 /* f0993c0: 8fa2004c */ lw $v0,0x4c($sp) .PF0f0993c4: /* f0993c4: 05010002 */ bgez $t0,.PF0f0993d0 /* f0993c8: 00000000 */ nop /* f0993cc: 00003825 */ move $a3,$zero .PF0f0993d0: /* f0993d0: 10e0000c */ beqz $a3,.PF0f099404 /* f0993d4: 00000000 */ nop /* f0993d8: 920c0690 */ lbu $t4,0x690($s0) /* f0993dc: 24050007 */ li $a1,0x7 /* f0993e0: 318dfffd */ andi $t5,$t4,0xfffd /* f0993e4: a20d0690 */ sb $t5,0x690($s0) /* f0993e8: afa80034 */ sw $t0,0x34($sp) /* f0993ec: 0fc273ec */ jal bgunSetState /* f0993f0: 8fa40044 */ lw $a0,0x44($sp) /* f0993f4: 10400003 */ beqz $v0,.PF0f099404 /* f0993f8: 8fa80034 */ lw $t0,0x34($sp) /* f0993fc: 100000fc */ b .PF0f0997f0 /* f099400: 8fa2004c */ lw $v0,0x4c($sp) .PF0f099404: /* f099404: 05010071 */ bgez $t0,.PF0f0995cc /* f099408: 8fae0040 */ lw $t6,0x40($sp) /* f09940c: 8dc40000 */ lw $a0,0x0($t6) /* f099410: 0fc2c720 */ jal weaponHasFlag /* f099414: 24050001 */ li $a1,0x1 /* f099418: 1040000f */ beqz $v0,.PF0f099458 /* f09941c: 8faf0040 */ lw $t7,0x40($sp) /* f099420: 8df80000 */ lw $t8,0x0($t7) /* f099424: 24010022 */ li $at,0x22 /* f099428: 8fb90044 */ lw $t9,0x44($sp) /* f09942c: 17010004 */ bne $t8,$at,.PF0f099440 /* f099430: 8fa40044 */ lw $a0,0x44($sp) /* f099434: 24010001 */ li $at,0x1 /* f099438: 13210007 */ beq $t9,$at,.PF0f099458 /* f09943c: 00000000 */ nop .PF0f099440: /* f099440: 0fc273ec */ jal bgunSetState /* f099444: 24050008 */ li $a1,0x8 /* f099448: 10400003 */ beqz $v0,.PF0f099458 /* f09944c: 00000000 */ nop /* f099450: 100000e7 */ b .PF0f0997f0 /* f099454: 8fa2004c */ lw $v0,0x4c($sp) .PF0f099458: /* f099458: 3c09800a */ lui $t1,0x800a /* f09945c: 8d29a794 */ lw $t1,-0x586c($t1) /* f099460: 8fa50040 */ lw $a1,0x40($sp) /* f099464: 02003025 */ move $a2,$s0 /* f099468: 81241580 */ lb $a0,0x1580($t1) /* f09946c: 0004102a */ slt $v0,$zero,$a0 /* f099470: 50400016 */ beqzl $v0,.PF0f0994cc /* f099474: 8fab0038 */ lw $t3,0x38($sp) /* f099478: 28820024 */ slti $v0,$a0,0x24 /* f09947c: 10400012 */ beqz $v0,.PF0f0994c8 /* f099480: 3c0a800a */ lui $t2,0x800a /* f099484: 8d4aa798 */ lw $t2,-0x5868($t2) /* f099488: 2483ffff */ addiu $v1,$a0,-1 /* f09948c: 000368c3 */ sra $t5,$v1,0x3 /* f099490: 8d4b0070 */ lw $t3,0x70($t2) /* f099494: 3c0f800b */ lui $t7,0x800b /* f099498: 30780007 */ andi $t8,$v1,0x7 /* f09949c: 000b6080 */ sll $t4,$t3,0x2 /* f0994a0: 018b6021 */ addu $t4,$t4,$t3 /* f0994a4: 000c6140 */ sll $t4,$t4,0x5 /* f0994a8: 018d7021 */ addu $t6,$t4,$t5 /* f0994ac: 01ee7821 */ addu $t7,$t7,$t6 /* f0994b0: 91efcdef */ lbu $t7,-0x3211($t7) /* f0994b4: 24190001 */ li $t9,0x1 /* f0994b8: 03194804 */ sllv $t1,$t9,$t8 /* f0994bc: 01e91024 */ and $v0,$t7,$t1 /* f0994c0: 0002502b */ sltu $t2,$zero,$v0 /* f0994c4: 01401025 */ move $v0,$t2 .PF0f0994c8: /* f0994c8: 8fab0038 */ lw $t3,0x38($sp) .PF0f0994cc: /* f0994cc: 544b0092 */ bnel $v0,$t3,.PF0f099718 /* f0994d0: 8fae0044 */ lw $t6,0x44($sp) /* f0994d4: 920c0003 */ lbu $t4,0x3($s0) /* f0994d8: 240d0001 */ li $t5,0x1 /* f0994dc: 0fc26348 */ jal bgun0f098ca0 /* f0994e0: 01ac2023 */ subu $a0,$t5,$t4 /* f0994e4: 920e0003 */ lbu $t6,0x3($s0) /* f0994e8: 24190001 */ li $t9,0x1 /* f0994ec: afa20030 */ sw $v0,0x30($sp) /* f0994f0: 02002025 */ move $a0,$s0 /* f0994f4: 0fc26485 */ jal bgun0f099188 /* f0994f8: 032e2823 */ subu $a1,$t9,$t6 /* f0994fc: 1040001a */ beqz $v0,.PF0f099568 /* f099500: 8fa30030 */ lw $v1,0x30($sp) /* f099504: 8fb80040 */ lw $t8,0x40($sp) /* f099508: 24010014 */ li $at,0x14 /* f09950c: 8f0f0000 */ lw $t7,0x0($t8) /* f099510: 11e10015 */ beq $t7,$at,.PF0f099568 /* f099514: 00000000 */ nop /* f099518: 8f090008 */ lw $t1,0x8($t8) /* f09951c: 02002025 */ move $a0,$s0 /* f099520: 24190001 */ li $t9,0x1 /* f099524: 8d2a0000 */ lw $t2,0x0($t1) /* f099528: 000a6f40 */ sll $t5,$t2,0x1d /* f09952c: 05a3000e */ bgezl $t5,.PF0f099568 /* f099530: 2403ffff */ li $v1,-1 /* f099534: 920c0003 */ lbu $t4,0x3($s0) /* f099538: afa30030 */ sw $v1,0x30($sp) /* f09953c: 0fc2c55e */ jal weaponGetFunction /* f099540: 032c2823 */ subu $a1,$t9,$t4 /* f099544: 8c4e0000 */ lw $t6,0x0($v0) /* f099548: 24010003 */ li $at,0x3 /* f09954c: 8fa30030 */ lw $v1,0x30($sp) /* f099550: 31cf00ff */ andi $t7,$t6,0xff /* f099554: 11e10004 */ beq $t7,$at,.PF0f099568 /* f099558: 00000000 */ nop /* f09955c: 10000002 */ b .PF0f099568 /* f099560: 2403ffff */ li $v1,-1 /* f099564: 2403ffff */ li $v1,-1 .PF0f099568: /* f099568: 04610005 */ bgez $v1,.PF0f099580 /* f09956c: 8fab0040 */ lw $t3,0x40($sp) /* f099570: 92090690 */ lbu $t1,0x690($s0) /* f099574: 352a0001 */ ori $t2,$t1,0x1 /* f099578: 10000066 */ b .PF0f099714 /* f09957c: a20a0690 */ sb $t2,0x690($s0) .PF0f099580: /* f099580: 8d640000 */ lw $a0,0x0($t3) /* f099584: 0fc2c720 */ jal weaponHasFlag /* f099588: 3c050400 */ lui $a1,0x400 /* f09958c: 50400006 */ beqzl $v0,.PF0f0995a8 /* f099590: 920c0690 */ lbu $t4,0x690($s0) /* f099594: 920d0003 */ lbu $t5,0x3($s0) /* f099598: 24010001 */ li $at,0x1 /* f09959c: 55a1005e */ bnel $t5,$at,.PF0f099718 /* f0995a0: 8fae0044 */ lw $t6,0x44($sp) /* f0995a4: 920c0690 */ lbu $t4,0x690($s0) .PF0f0995a8: /* f0995a8: 24050007 */ li $a1,0x7 /* f0995ac: 358e0002 */ ori $t6,$t4,0x2 /* f0995b0: a20e0690 */ sb $t6,0x690($s0) /* f0995b4: 0fc273ec */ jal bgunSetState /* f0995b8: 8fa40044 */ lw $a0,0x44($sp) /* f0995bc: 50400056 */ beqzl $v0,.PF0f099718 /* f0995c0: 8fae0044 */ lw $t6,0x44($sp) /* f0995c4: 1000008a */ b .PF0f0997f0 /* f0995c8: 8fa2004c */ lw $v0,0x4c($sp) .PF0f0995cc: /* f0995cc: 5500001c */ bnezl $t0,.PF0f099640 /* f0995d0: 8e0d000c */ lw $t5,0xc($s0) /* f0995d4: 8e0f000c */ lw $t7,0xc($s0) /* f0995d8: 8fb80040 */ lw $t8,0x40($sp) /* f0995dc: 24050001 */ li $a1,0x1 /* f0995e0: 51e0000f */ beqzl $t7,.PF0f099620 /* f0995e4: ae00001c */ sw $zero,0x1c($s0) /* f0995e8: 8f090000 */ lw $t1,0x0($t8) /* f0995ec: 5120000c */ beqzl $t1,.PF0f099620 /* f0995f0: ae00001c */ sw $zero,0x1c($s0) /* f0995f4: 920a0690 */ lbu $t2,0x690($s0) /* f0995f8: 24050003 */ li $a1,0x3 /* f0995fc: 314bff7f */ andi $t3,$t2,0xff7f /* f099600: a20b0690 */ sb $t3,0x690($s0) /* f099604: 0fc273ec */ jal bgunSetState /* f099608: 8fa40044 */ lw $a0,0x44($sp) /* f09960c: 50400042 */ beqzl $v0,.PF0f099718 /* f099610: 8fae0044 */ lw $t6,0x44($sp) /* f099614: 10000076 */ b .PF0f0997f0 /* f099618: 8fa2004c */ lw $v0,0x4c($sp) /* f09961c: ae00001c */ sw $zero,0x1c($s0) .PF0f099620: /* f099620: ae000018 */ sw $zero,0x18($s0) /* f099624: 0fc273ec */ jal bgunSetState /* f099628: 8fa40044 */ lw $a0,0x44($sp) /* f09962c: 5040003a */ beqzl $v0,.PF0f099718 /* f099630: 8fae0044 */ lw $t6,0x44($sp) /* f099634: 1000006e */ b .PF0f0997f0 /* f099638: 8fa2004c */ lw $v0,0x4c($sp) /* f09963c: 8e0d000c */ lw $t5,0xc($s0) .PF0f099640: /* f099640: 8fb80040 */ lw $t8,0x40($sp) /* f099644: 55a0000a */ bnezl $t5,.PF0f099670 /* f099648: 8f090000 */ lw $t1,0x0($t8) /* f09964c: 8e1906d4 */ lw $t9,0x6d4($s0) /* f099650: 001976c0 */ sll $t6,$t9,0x1b /* f099654: 05c3001c */ bgezl $t6,.PF0f0996c8 /* f099658: 8e020024 */ lw $v0,0x24($s0) /* f09965c: 920f0003 */ lbu $t7,0x3($s0) /* f099660: 24010001 */ li $at,0x1 /* f099664: 55e10018 */ bnel $t7,$at,.PF0f0996c8 /* f099668: 8e020024 */ lw $v0,0x24($s0) /* f09966c: 8f090000 */ lw $t1,0x0($t8) .PF0f099670: /* f099670: 3c0a800a */ lui $t2,0x800a /* f099674: 51200014 */ beqzl $t1,.PF0f0996c8 /* f099678: 8e020024 */ lw $v0,0x24($s0) /* f09967c: 8d4aa794 */ lw $t2,-0x586c($t2) /* f099680: 240b0001 */ li $t3,0x1 /* f099684: 24050004 */ li $a1,0x4 /* f099688: ad401600 */ sw $zero,0x1600($t2) /* f09968c: 920d06d7 */ lbu $t5,0x6d7($s0) /* f099690: ae0b0020 */ sw $t3,0x20($s0) /* f099694: ae000018 */ sw $zero,0x18($s0) /* f099698: 31b9ffef */ andi $t9,$t5,0xffef /* f09969c: ae00001c */ sw $zero,0x1c($s0) /* f0996a0: ae000014 */ sw $zero,0x14($s0) /* f0996a4: a21906d7 */ sb $t9,0x6d7($s0) /* f0996a8: afa80034 */ sw $t0,0x34($sp) /* f0996ac: 0fc273ec */ jal bgunSetState /* f0996b0: 8fa40044 */ lw $a0,0x44($sp) /* f0996b4: 10400003 */ beqz $v0,.PF0f0996c4 /* f0996b8: 8fa80034 */ lw $t0,0x34($sp) /* f0996bc: 1000004c */ b .PF0f0997f0 /* f0996c0: 8fa2004c */ lw $v0,0x4c($sp) .PF0f0996c4: /* f0996c4: 8e020024 */ lw $v0,0x24($s0) .PF0f0996c8: /* f0996c8: 24010009 */ li $at,0x9 /* f0996cc: 50400012 */ beqzl $v0,.PF0f099718 /* f0996d0: 8fae0044 */ lw $t6,0x44($sp) /* f0996d4: ae020020 */ sw $v0,0x20($s0) /* f0996d8: ae00001c */ sw $zero,0x1c($s0) /* f0996dc: ae000018 */ sw $zero,0x18($s0) /* f0996e0: 1441000c */ bne $v0,$at,.PF0f099714 /* f0996e4: ae000024 */ sw $zero,0x24($s0) /* f0996e8: 29010002 */ slti $at,$t0,0x2 /* f0996ec: 5020000a */ beqzl $at,.PF0f099718 /* f0996f0: 8fae0044 */ lw $t6,0x44($sp) /* f0996f4: 05000007 */ bltz $t0,.PF0f099714 /* f0996f8: 8fa40044 */ lw $a0,0x44($sp) /* f0996fc: 0fc273ec */ jal bgunSetState /* f099700: 24050001 */ li $a1,0x1 /* f099704: 50400004 */ beqzl $v0,.PF0f099718 /* f099708: 8fae0044 */ lw $t6,0x44($sp) /* f09970c: 10000038 */ b .PF0f0997f0 /* f099710: 8fa2004c */ lw $v0,0x4c($sp) .PF0f099714: /* f099714: 8fae0044 */ lw $t6,0x44($sp) .PF0f099718: /* f099718: 8faf0040 */ lw $t7,0x40($sp) /* f09971c: 55c00034 */ bnezl $t6,.PF0f0997f0 /* f099720: 00001025 */ move $v0,$zero /* f099724: 8df80008 */ lw $t8,0x8($t7) /* f099728: 8fb90044 */ lw $t9,0x44($sp) /* f09972c: 3c0d800a */ lui $t5,0x800a /* f099730: 8f090000 */ lw $t1,0x0($t8) /* f099734: 00196100 */ sll $t4,$t9,0x4 /* f099738: 01996023 */ subu $t4,$t4,$t9 /* f09973c: 00095f40 */ sll $t3,$t1,0x1d /* f099740: 05610005 */ bgez $t3,.PF0f099758 /* f099744: 000c6080 */ sll $t4,$t4,0x2 /* f099748: 0fc2884a */ jal bgunAutoSwitchWeapon /* f09974c: 00000000 */ nop /* f099750: 10000027 */ b .PF0f0997f0 /* f099754: 00001025 */ move $v0,$zero .PF0f099758: /* f099758: 01996021 */ addu $t4,$t4,$t9 /* f09975c: 8dada794 */ lw $t5,-0x586c($t5) /* f099760: 920e0690 */ lbu $t6,0x690($s0) /* f099764: 000c60c0 */ sll $t4,$t4,0x3 /* f099768: 01996021 */ addu $t4,$t4,$t9 /* f09976c: 000c6080 */ sll $t4,$t4,0x2 /* f099770: 01ac1023 */ subu $v0,$t5,$t4 /* f099774: 31cf0001 */ andi $t7,$t6,0x1 /* f099778: 15e00004 */ bnez $t7,.PF0f09978c /* f09977c: 24420ddc */ addiu $v0,$v0,0xddc /* f099780: 82180008 */ lb $t8,0x8($s0) /* f099784: 57000012 */ bnezl $t8,.PF0f0997d0 /* f099788: 904c0690 */ lbu $t4,0x690($v0) .PF0f09978c: /* f09978c: 90490690 */ lbu $t1,0x690($v0) /* f099790: 312a0001 */ andi $t2,$t1,0x1 /* f099794: 55400005 */ bnezl $t2,.PF0f0997ac /* f099798: 8e19000c */ lw $t9,0xc($s0) /* f09979c: 804b0008 */ lb $t3,0x8($v0) /* f0997a0: 5560000b */ bnezl $t3,.PF0f0997d0 /* f0997a4: 904c0690 */ lbu $t4,0x690($v0) /* f0997a8: 8e19000c */ lw $t9,0xc($s0) .PF0f0997ac: /* f0997ac: 17200004 */ bnez $t9,.PF0f0997c0 /* f0997b0: 00000000 */ nop /* f0997b4: 8c4d000c */ lw $t5,0xc($v0) /* f0997b8: 51a00005 */ beqzl $t5,.PF0f0997d0 /* f0997bc: 904c0690 */ lbu $t4,0x690($v0) .PF0f0997c0: /* f0997c0: 0fc2884a */ jal bgunAutoSwitchWeapon /* f0997c4: afa20024 */ sw $v0,0x24($sp) /* f0997c8: 8fa20024 */ lw $v0,0x24($sp) /* f0997cc: 904c0690 */ lbu $t4,0x690($v0) .PF0f0997d0: /* f0997d0: 3198fffe */ andi $t8,$t4,0xfffe /* f0997d4: a0580690 */ sb $t8,0x690($v0) /* f0997d8: 920a0690 */ lbu $t2,0x690($s0) /* f0997dc: 33090001 */ andi $t1,$t8,0x1 /* f0997e0: 314bfffe */ andi $t3,$t2,0xfffe /* f0997e4: 012bc825 */ or $t9,$t1,$t3 /* f0997e8: a2190690 */ sb $t9,0x690($s0) /* f0997ec: 00001025 */ move $v0,$zero .PF0f0997f0: /* f0997f0: 8fbf001c */ lw $ra,0x1c($sp) /* f0997f4: 8fb00018 */ lw $s0,0x18($sp) /* f0997f8: 27bd0040 */ addiu $sp,$sp,0x40 /* f0997fc: 03e00008 */ jr $ra /* f099800: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgunTickIncIdle /* f0991e4: 27bdffc0 */ addiu $sp,$sp,-64 /* f0991e8: afbf001c */ sw $ra,0x1c($sp) /* f0991ec: afb00018 */ sw $s0,0x18($sp) /* f0991f0: 00c08025 */ or $s0,$a2,$zero /* f0991f4: afa40040 */ sw $a0,0x40($sp) /* f0991f8: afa50044 */ sw $a1,0x44($sp) /* f0991fc: 0fc2a31f */ jal bgunIsUsingSecondaryFunction /* f099200: afa7004c */ sw $a3,0x4c($sp) /* f099204: afa20038 */ sw $v0,0x38($sp) /* f099208: 8e0e0684 */ lw $t6,0x684($s0) /* f09920c: 44802000 */ mtc1 $zero,$f4 /* f099210: a20005dc */ sb $zero,0x5dc($s0) /* f099214: ae000558 */ sw $zero,0x558($s0) /* f099218: ae0e0688 */ sw $t6,0x688($s0) /* f09921c: e60405fc */ swc1 $f4,0x5fc($s0) /* f099220: 0fc26f56 */ jal bgunIsReadyToSwitch /* f099224: 8fa40044 */ lw $a0,0x44($sp) /* f099228: 10400007 */ beqz $v0,.L0f099248 /* f09922c: 8fa40044 */ lw $a0,0x44($sp) /* f099230: 0fc27346 */ jal bgunSetState /* f099234: 24050005 */ addiu $a1,$zero,0x5 /* f099238: 50400004 */ beqzl $v0,.L0f09924c /* f09923c: 8faf0038 */ lw $t7,0x38($sp) /* f099240: 1000014a */ b .L0f09976c /* f099244: 8fa2004c */ lw $v0,0x4c($sp) .L0f099248: /* f099248: 8faf0038 */ lw $t7,0x38($sp) .L0f09924c: /* f09924c: 92180003 */ lbu $t8,0x3($s0) /* f099250: 02003025 */ or $a2,$s0,$zero /* f099254: 55f80005 */ bnel $t7,$t8,.L0f09926c /* f099258: 920a0690 */ lbu $t2,0x690($s0) /* f09925c: 92190690 */ lbu $t9,0x690($s0) /* f099260: 3329fffd */ andi $t1,$t9,0xfffd /* f099264: a2090690 */ sb $t1,0x690($s0) /* f099268: 920a0690 */ lbu $t2,0x690($s0) .L0f09926c: /* f09926c: 820c0008 */ lb $t4,0x8($s0) /* f099270: 314bfffe */ andi $t3,$t2,0xfffe /* f099274: 11800106 */ beqz $t4,.L0f099690 /* f099278: a20b0690 */ sb $t3,0x690($s0) /* f09927c: 92040003 */ lbu $a0,0x3($s0) /* f099280: 0fc26328 */ jal bgun0f098ca0 /* f099284: 8fa50040 */ lw $a1,0x40($sp) /* f099288: 92030003 */ lbu $v1,0x3($s0) /* f09928c: 8fad0038 */ lw $t5,0x38($sp) /* f099290: 00404025 */ or $t0,$v0,$zero /* f099294: 11a3003a */ beq $t5,$v1,.L0f099380 /* f099298: 00000000 */ nop /* f09929c: 8e0e0024 */ lw $t6,0x24($s0) /* f0992a0: 24010009 */ addiu $at,$zero,0x9 /* f0992a4: 11c10036 */ beq $t6,$at,.L0f099380 /* f0992a8: 00000000 */ nop /* f0992ac: 8e0f0690 */ lw $t7,0x690($s0) /* f0992b0: 24090001 */ addiu $t1,$zero,0x1 /* f0992b4: 24070001 */ addiu $a3,$zero,0x1 /* f0992b8: 000fc980 */ sll $t9,$t7,0x6 /* f0992bc: 0721000a */ bgez $t9,.L0f0992e8 /* f0992c0: 01232023 */ subu $a0,$t1,$v1 /* f0992c4: 8fa50040 */ lw $a1,0x40($sp) /* f0992c8: 02003025 */ or $a2,$s0,$zero /* f0992cc: afa7002c */ sw $a3,0x2c($sp) /* f0992d0: 0fc26328 */ jal bgun0f098ca0 /* f0992d4: afa20034 */ sw $v0,0x34($sp) /* f0992d8: 8fa7002c */ lw $a3,0x2c($sp) /* f0992dc: 04410002 */ bgez $v0,.L0f0992e8 /* f0992e0: 8fa80034 */ lw $t0,0x34($sp) /* f0992e4: 00003825 */ or $a3,$zero,$zero .L0f0992e8: /* f0992e8: 10e00018 */ beqz $a3,.L0f09934c /* f0992ec: 8faa0040 */ lw $t2,0x40($sp) /* f0992f0: 8d4b0000 */ lw $t3,0x0($t2) /* f0992f4: 2401001a */ addiu $at,$zero,0x1a /* f0992f8: 15610014 */ bne $t3,$at,.L0f09934c /* f0992fc: 00000000 */ nop /* f099300: 1500000f */ bnez $t0,.L0f099340 /* f099304: 00000000 */ nop /* f099308: ae00001c */ sw $zero,0x1c($s0) /* f09930c: ae000018 */ sw $zero,0x18($s0) /* f099310: 8fac0038 */ lw $t4,0x38($sp) /* f099314: 24050001 */ addiu $a1,$zero,0x1 /* f099318: a20c0003 */ sb $t4,0x3($s0) /* f09931c: afa80034 */ sw $t0,0x34($sp) /* f099320: afa7002c */ sw $a3,0x2c($sp) /* f099324: 0fc27346 */ jal bgunSetState /* f099328: 8fa40044 */ lw $a0,0x44($sp) /* f09932c: 8fa7002c */ lw $a3,0x2c($sp) /* f099330: 10400006 */ beqz $v0,.L0f09934c /* f099334: 8fa80034 */ lw $t0,0x34($sp) /* f099338: 1000010c */ b .L0f09976c /* f09933c: 8fa2004c */ lw $v0,0x4c($sp) .L0f099340: /* f099340: 05010002 */ bgez $t0,.L0f09934c /* f099344: 00000000 */ nop /* f099348: 00003825 */ or $a3,$zero,$zero .L0f09934c: /* f09934c: 10e0000c */ beqz $a3,.L0f099380 /* f099350: 00000000 */ nop /* f099354: 920d0690 */ lbu $t5,0x690($s0) /* f099358: 24050007 */ addiu $a1,$zero,0x7 /* f09935c: 31aefffd */ andi $t6,$t5,0xfffd /* f099360: a20e0690 */ sb $t6,0x690($s0) /* f099364: afa80034 */ sw $t0,0x34($sp) /* f099368: 0fc27346 */ jal bgunSetState /* f09936c: 8fa40044 */ lw $a0,0x44($sp) /* f099370: 10400003 */ beqz $v0,.L0f099380 /* f099374: 8fa80034 */ lw $t0,0x34($sp) /* f099378: 100000fc */ b .L0f09976c /* f09937c: 8fa2004c */ lw $v0,0x4c($sp) .L0f099380: /* f099380: 05010071 */ bgez $t0,.L0f099548 /* f099384: 8faf0040 */ lw $t7,0x40($sp) /* f099388: 8de40000 */ lw $a0,0x0($t7) /* f09938c: 0fc2c5f0 */ jal weaponHasFlag /* f099390: 24050001 */ addiu $a1,$zero,0x1 /* f099394: 1040000f */ beqz $v0,.L0f0993d4 /* f099398: 8fb80040 */ lw $t8,0x40($sp) /* f09939c: 8f190000 */ lw $t9,0x0($t8) /* f0993a0: 24010022 */ addiu $at,$zero,0x22 /* f0993a4: 8fa90044 */ lw $t1,0x44($sp) /* f0993a8: 17210004 */ bne $t9,$at,.L0f0993bc /* f0993ac: 8fa40044 */ lw $a0,0x44($sp) /* f0993b0: 24010001 */ addiu $at,$zero,0x1 /* f0993b4: 11210007 */ beq $t1,$at,.L0f0993d4 /* f0993b8: 00000000 */ nop .L0f0993bc: /* f0993bc: 0fc27346 */ jal bgunSetState /* f0993c0: 24050008 */ addiu $a1,$zero,0x8 /* f0993c4: 10400003 */ beqz $v0,.L0f0993d4 /* f0993c8: 00000000 */ nop /* f0993cc: 100000e7 */ b .L0f09976c /* f0993d0: 8fa2004c */ lw $v0,0x4c($sp) .L0f0993d4: /* f0993d4: 3c0a800a */ lui $t2,%hi(g_Vars+0x284) /* f0993d8: 8d4aa244 */ lw $t2,%lo(g_Vars+0x284)($t2) /* f0993dc: 8fa50040 */ lw $a1,0x40($sp) /* f0993e0: 02003025 */ or $a2,$s0,$zero /* f0993e4: 81441580 */ lb $a0,0x1580($t2) /* f0993e8: 0004102a */ slt $v0,$zero,$a0 /* f0993ec: 50400016 */ beqzl $v0,.L0f099448 /* f0993f0: 8fac0038 */ lw $t4,0x38($sp) /* f0993f4: 28820024 */ slti $v0,$a0,0x24 /* f0993f8: 10400012 */ beqz $v0,.L0f099444 /* f0993fc: 3c0b800a */ lui $t3,%hi(g_Vars+0x288) /* f099400: 8d6ba248 */ lw $t3,%lo(g_Vars+0x288)($t3) /* f099404: 2483ffff */ addiu $v1,$a0,-1 /* f099408: 000370c3 */ sra $t6,$v1,0x3 /* f09940c: 8d6c0070 */ lw $t4,0x70($t3) /* f099410: 3c18800b */ lui $t8,%hi(g_MpPlayers+0x97) /* f099414: 30790007 */ andi $t9,$v1,0x7 /* f099418: 000c6880 */ sll $t5,$t4,0x2 /* f09941c: 01ac6821 */ addu $t5,$t5,$t4 /* f099420: 000d6940 */ sll $t5,$t5,0x5 /* f099424: 01ae7821 */ addu $t7,$t5,$t6 /* f099428: 030fc021 */ addu $t8,$t8,$t7 /* f09942c: 9318c84f */ lbu $t8,%lo(g_MpPlayers+0x97)($t8) /* f099430: 24090001 */ addiu $t1,$zero,0x1 /* f099434: 03295004 */ sllv $t2,$t1,$t9 /* f099438: 030a1024 */ and $v0,$t8,$t2 /* f09943c: 0002582b */ sltu $t3,$zero,$v0 /* f099440: 01601025 */ or $v0,$t3,$zero .L0f099444: /* f099444: 8fac0038 */ lw $t4,0x38($sp) .L0f099448: /* f099448: 544c0092 */ bnel $v0,$t4,.L0f099694 /* f09944c: 8faf0044 */ lw $t7,0x44($sp) /* f099450: 920d0003 */ lbu $t5,0x3($s0) /* f099454: 240e0001 */ addiu $t6,$zero,0x1 /* f099458: 0fc26328 */ jal bgun0f098ca0 /* f09945c: 01cd2023 */ subu $a0,$t6,$t5 /* f099460: 920f0003 */ lbu $t7,0x3($s0) /* f099464: 24090001 */ addiu $t1,$zero,0x1 /* f099468: afa20030 */ sw $v0,0x30($sp) /* f09946c: 02002025 */ or $a0,$s0,$zero /* f099470: 0fc26462 */ jal bgun0f099188 /* f099474: 012f2823 */ subu $a1,$t1,$t7 /* f099478: 1040001a */ beqz $v0,.L0f0994e4 /* f09947c: 8fa30030 */ lw $v1,0x30($sp) /* f099480: 8fb90040 */ lw $t9,0x40($sp) /* f099484: 24010014 */ addiu $at,$zero,0x14 /* f099488: 8f380000 */ lw $t8,0x0($t9) /* f09948c: 13010015 */ beq $t8,$at,.L0f0994e4 /* f099490: 00000000 */ nop /* f099494: 8f2a0008 */ lw $t2,0x8($t9) /* f099498: 02002025 */ or $a0,$s0,$zero /* f09949c: 24090001 */ addiu $t1,$zero,0x1 /* f0994a0: 8d4b0000 */ lw $t3,0x0($t2) /* f0994a4: 000b7740 */ sll $t6,$t3,0x1d /* f0994a8: 05c3000e */ bgezl $t6,.L0f0994e4 /* f0994ac: 2403ffff */ addiu $v1,$zero,-1 /* f0994b0: 920d0003 */ lbu $t5,0x3($s0) /* f0994b4: afa30030 */ sw $v1,0x30($sp) /* f0994b8: 0fc2c42e */ jal weaponGetFunction /* f0994bc: 012d2823 */ subu $a1,$t1,$t5 /* f0994c0: 8c4f0000 */ lw $t7,0x0($v0) /* f0994c4: 24010003 */ addiu $at,$zero,0x3 /* f0994c8: 8fa30030 */ lw $v1,0x30($sp) /* f0994cc: 31f800ff */ andi $t8,$t7,0xff /* f0994d0: 13010004 */ beq $t8,$at,.L0f0994e4 /* f0994d4: 00000000 */ nop /* f0994d8: 10000002 */ b .L0f0994e4 /* f0994dc: 2403ffff */ addiu $v1,$zero,-1 /* f0994e0: 2403ffff */ addiu $v1,$zero,-1 .L0f0994e4: /* f0994e4: 04610005 */ bgez $v1,.L0f0994fc /* f0994e8: 8fac0040 */ lw $t4,0x40($sp) /* f0994ec: 920a0690 */ lbu $t2,0x690($s0) /* f0994f0: 354b0001 */ ori $t3,$t2,0x1 /* f0994f4: 10000066 */ b .L0f099690 /* f0994f8: a20b0690 */ sb $t3,0x690($s0) .L0f0994fc: /* f0994fc: 8d840000 */ lw $a0,0x0($t4) /* f099500: 0fc2c5f0 */ jal weaponHasFlag /* f099504: 3c050400 */ lui $a1,0x400 /* f099508: 50400006 */ beqzl $v0,.L0f099524 /* f09950c: 920d0690 */ lbu $t5,0x690($s0) /* f099510: 920e0003 */ lbu $t6,0x3($s0) /* f099514: 24010001 */ addiu $at,$zero,0x1 /* f099518: 55c1005e */ bnel $t6,$at,.L0f099694 /* f09951c: 8faf0044 */ lw $t7,0x44($sp) /* f099520: 920d0690 */ lbu $t5,0x690($s0) .L0f099524: /* f099524: 24050007 */ addiu $a1,$zero,0x7 /* f099528: 35af0002 */ ori $t7,$t5,0x2 /* f09952c: a20f0690 */ sb $t7,0x690($s0) /* f099530: 0fc27346 */ jal bgunSetState /* f099534: 8fa40044 */ lw $a0,0x44($sp) /* f099538: 50400056 */ beqzl $v0,.L0f099694 /* f09953c: 8faf0044 */ lw $t7,0x44($sp) /* f099540: 1000008a */ b .L0f09976c /* f099544: 8fa2004c */ lw $v0,0x4c($sp) .L0f099548: /* f099548: 5500001c */ bnezl $t0,.L0f0995bc /* f09954c: 8e0e000c */ lw $t6,0xc($s0) /* f099550: 8e18000c */ lw $t8,0xc($s0) /* f099554: 8fb90040 */ lw $t9,0x40($sp) /* f099558: 24050001 */ addiu $a1,$zero,0x1 /* f09955c: 5300000f */ beqzl $t8,.L0f09959c /* f099560: ae00001c */ sw $zero,0x1c($s0) /* f099564: 8f2a0000 */ lw $t2,0x0($t9) /* f099568: 5140000c */ beqzl $t2,.L0f09959c /* f09956c: ae00001c */ sw $zero,0x1c($s0) /* f099570: 920b0690 */ lbu $t3,0x690($s0) /* f099574: 24050003 */ addiu $a1,$zero,0x3 /* f099578: 316cff7f */ andi $t4,$t3,0xff7f /* f09957c: a20c0690 */ sb $t4,0x690($s0) /* f099580: 0fc27346 */ jal bgunSetState /* f099584: 8fa40044 */ lw $a0,0x44($sp) /* f099588: 50400042 */ beqzl $v0,.L0f099694 /* f09958c: 8faf0044 */ lw $t7,0x44($sp) /* f099590: 10000076 */ b .L0f09976c /* f099594: 8fa2004c */ lw $v0,0x4c($sp) /* f099598: ae00001c */ sw $zero,0x1c($s0) .L0f09959c: /* f09959c: ae000018 */ sw $zero,0x18($s0) /* f0995a0: 0fc27346 */ jal bgunSetState /* f0995a4: 8fa40044 */ lw $a0,0x44($sp) /* f0995a8: 5040003a */ beqzl $v0,.L0f099694 /* f0995ac: 8faf0044 */ lw $t7,0x44($sp) /* f0995b0: 1000006e */ b .L0f09976c /* f0995b4: 8fa2004c */ lw $v0,0x4c($sp) /* f0995b8: 8e0e000c */ lw $t6,0xc($s0) .L0f0995bc: /* f0995bc: 8fb90040 */ lw $t9,0x40($sp) /* f0995c0: 55c0000a */ bnezl $t6,.L0f0995ec /* f0995c4: 8f2a0000 */ lw $t2,0x0($t9) /* f0995c8: 8e0906d4 */ lw $t1,0x6d4($s0) /* f0995cc: 00097ec0 */ sll $t7,$t1,0x1b /* f0995d0: 05e3001c */ bgezl $t7,.L0f099644 /* f0995d4: 8e020024 */ lw $v0,0x24($s0) /* f0995d8: 92180003 */ lbu $t8,0x3($s0) /* f0995dc: 24010001 */ addiu $at,$zero,0x1 /* f0995e0: 57010018 */ bnel $t8,$at,.L0f099644 /* f0995e4: 8e020024 */ lw $v0,0x24($s0) /* f0995e8: 8f2a0000 */ lw $t2,0x0($t9) .L0f0995ec: /* f0995ec: 3c0b800a */ lui $t3,%hi(g_Vars+0x284) /* f0995f0: 51400014 */ beqzl $t2,.L0f099644 /* f0995f4: 8e020024 */ lw $v0,0x24($s0) /* f0995f8: 8d6ba244 */ lw $t3,%lo(g_Vars+0x284)($t3) /* f0995fc: 240c0001 */ addiu $t4,$zero,0x1 /* f099600: 24050004 */ addiu $a1,$zero,0x4 /* f099604: ad601600 */ sw $zero,0x1600($t3) /* f099608: 920e06d7 */ lbu $t6,0x6d7($s0) /* f09960c: ae0c0020 */ sw $t4,0x20($s0) /* f099610: ae000018 */ sw $zero,0x18($s0) /* f099614: 31c9ffef */ andi $t1,$t6,0xffef /* f099618: ae00001c */ sw $zero,0x1c($s0) /* f09961c: ae000014 */ sw $zero,0x14($s0) /* f099620: a20906d7 */ sb $t1,0x6d7($s0) /* f099624: afa80034 */ sw $t0,0x34($sp) /* f099628: 0fc27346 */ jal bgunSetState /* f09962c: 8fa40044 */ lw $a0,0x44($sp) /* f099630: 10400003 */ beqz $v0,.L0f099640 /* f099634: 8fa80034 */ lw $t0,0x34($sp) /* f099638: 1000004c */ b .L0f09976c /* f09963c: 8fa2004c */ lw $v0,0x4c($sp) .L0f099640: /* f099640: 8e020024 */ lw $v0,0x24($s0) .L0f099644: /* f099644: 24010009 */ addiu $at,$zero,0x9 /* f099648: 50400012 */ beqzl $v0,.L0f099694 /* f09964c: 8faf0044 */ lw $t7,0x44($sp) /* f099650: ae020020 */ sw $v0,0x20($s0) /* f099654: ae00001c */ sw $zero,0x1c($s0) /* f099658: ae000018 */ sw $zero,0x18($s0) /* f09965c: 1441000c */ bne $v0,$at,.L0f099690 /* f099660: ae000024 */ sw $zero,0x24($s0) /* f099664: 29010002 */ slti $at,$t0,0x2 /* f099668: 5020000a */ beqzl $at,.L0f099694 /* f09966c: 8faf0044 */ lw $t7,0x44($sp) /* f099670: 05000007 */ bltz $t0,.L0f099690 /* f099674: 8fa40044 */ lw $a0,0x44($sp) /* f099678: 0fc27346 */ jal bgunSetState /* f09967c: 24050001 */ addiu $a1,$zero,0x1 /* f099680: 50400004 */ beqzl $v0,.L0f099694 /* f099684: 8faf0044 */ lw $t7,0x44($sp) /* f099688: 10000038 */ b .L0f09976c /* f09968c: 8fa2004c */ lw $v0,0x4c($sp) .L0f099690: /* f099690: 8faf0044 */ lw $t7,0x44($sp) .L0f099694: /* f099694: 8fb80040 */ lw $t8,0x40($sp) /* f099698: 55e00034 */ bnezl $t7,.L0f09976c /* f09969c: 00001025 */ or $v0,$zero,$zero /* f0996a0: 8f190008 */ lw $t9,0x8($t8) /* f0996a4: 8fa90044 */ lw $t1,0x44($sp) /* f0996a8: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f0996ac: 8f2a0000 */ lw $t2,0x0($t9) /* f0996b0: 00096900 */ sll $t5,$t1,0x4 /* f0996b4: 01a96823 */ subu $t5,$t5,$t1 /* f0996b8: 000a6740 */ sll $t4,$t2,0x1d /* f0996bc: 05810005 */ bgez $t4,.L0f0996d4 /* f0996c0: 000d6880 */ sll $t5,$t5,0x2 /* f0996c4: 0fc2877d */ jal bgunAutoSwitchWeapon /* f0996c8: 00000000 */ nop /* f0996cc: 10000027 */ b .L0f09976c /* f0996d0: 00001025 */ or $v0,$zero,$zero .L0f0996d4: /* f0996d4: 01a96821 */ addu $t5,$t5,$t1 /* f0996d8: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f0996dc: 920f0690 */ lbu $t7,0x690($s0) /* f0996e0: 000d68c0 */ sll $t5,$t5,0x3 /* f0996e4: 01a96821 */ addu $t5,$t5,$t1 /* f0996e8: 000d6880 */ sll $t5,$t5,0x2 /* f0996ec: 01cd1023 */ subu $v0,$t6,$t5 /* f0996f0: 31f80001 */ andi $t8,$t7,0x1 /* f0996f4: 17000004 */ bnez $t8,.L0f099708 /* f0996f8: 24420ddc */ addiu $v0,$v0,0xddc /* f0996fc: 82190008 */ lb $t9,0x8($s0) /* f099700: 57200012 */ bnezl $t9,.L0f09974c /* f099704: 904d0690 */ lbu $t5,0x690($v0) .L0f099708: /* f099708: 904a0690 */ lbu $t2,0x690($v0) /* f09970c: 314b0001 */ andi $t3,$t2,0x1 /* f099710: 55600005 */ bnezl $t3,.L0f099728 /* f099714: 8e09000c */ lw $t1,0xc($s0) /* f099718: 804c0008 */ lb $t4,0x8($v0) /* f09971c: 5580000b */ bnezl $t4,.L0f09974c /* f099720: 904d0690 */ lbu $t5,0x690($v0) /* f099724: 8e09000c */ lw $t1,0xc($s0) .L0f099728: /* f099728: 15200004 */ bnez $t1,.L0f09973c /* f09972c: 00000000 */ nop /* f099730: 8c4e000c */ lw $t6,0xc($v0) /* f099734: 51c00005 */ beqzl $t6,.L0f09974c /* f099738: 904d0690 */ lbu $t5,0x690($v0) .L0f09973c: /* f09973c: 0fc2877d */ jal bgunAutoSwitchWeapon /* f099740: afa20024 */ sw $v0,0x24($sp) /* f099744: 8fa20024 */ lw $v0,0x24($sp) /* f099748: 904d0690 */ lbu $t5,0x690($v0) .L0f09974c: /* f09974c: 31b9fffe */ andi $t9,$t5,0xfffe /* f099750: a0590690 */ sb $t9,0x690($v0) /* f099754: 920b0690 */ lbu $t3,0x690($s0) /* f099758: 332a0001 */ andi $t2,$t9,0x1 /* f09975c: 316cfffe */ andi $t4,$t3,0xfffe /* f099760: 014c4825 */ or $t1,$t2,$t4 /* f099764: a2090690 */ sb $t1,0x690($s0) /* f099768: 00001025 */ or $v0,$zero,$zero .L0f09976c: /* f09976c: 8fbf001c */ lw $ra,0x1c($sp) /* f099770: 8fb00018 */ lw $s0,0x18($sp) /* f099774: 27bd0040 */ addiu $sp,$sp,0x40 /* f099778: 03e00008 */ jr $ra /* f09977c: 00000000 */ nop ); #endif // Mismatch: regalloc //s32 bgunTickIncIdle(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) //{ // bool usesec; // s32 gunfunc = bgunIsUsingSecondaryFunction(); // s32 sp34; // s32 sp30; // bool changefunc; // s32 next; // struct hand *lhand; // struct weaponfunc *func; // // hand->lastdirvalid = false; // hand->burstbullets = 0; //#if VERSION < VERSION_PAL_FINAL // hand->animframeincfreal = hand->animframeinc; //#endif // hand->shotremainder = 0; // // // If ready to change gun due to manual switch, just do that // if (bgunIsReadyToSwitch(handnum) && bgunSetState(handnum, HANDSTATE_CHANGEGUN)) { // return lvupdate; // } // // if (gunfunc == hand->gset.weaponfunc) { // hand->unk0cc8_07 = false; // } // // hand->unk0cc8_08 = false; // // if (hand->inuse) { // sp34 = bgun0f098ca0(hand->gset.weaponfunc, info, hand); // // // Handle changing gun function // if (gunfunc != hand->gset.weaponfunc && hand->modenext != HANDMODE_RELOAD) { // changefunc = true; // // if (hand->unk0cc8_07 && bgun0f098ca0(1 - hand->gset.weaponfunc, info, hand) < 0) { // changefunc = false; // } // // if (changefunc && info->weaponnum == WEAPON_COMBATKNIFE) { // if (sp34 == 0) { // hand->count60 = 0; // hand->count = 0; // hand->gset.weaponfunc = gunfunc; // // if (bgunSetState(handnum, HANDSTATE_RELOAD)) { // return lvupdate; // } // } else { // if (sp34 < 0) { // changefunc = false; // } // } // } // // if (changefunc) { // hand->unk0cc8_07 = false; // // if (bgunSetState(handnum, HANDSTATE_CHANGEFUNC)) { // return lvupdate; // } // } // } // // if (sp34 < 0) { // // Attempted to shoot with no ammo // // // Consider switching to another weapon // if (weaponHasFlag(info->weaponnum, WEAPONFLAG_00000001) // && (info->weaponnum != WEAPON_REMOTEMINE || handnum != HAND_LEFT) // && bgunSetState(handnum, HANDSTATE_AUTOSWITCH)) { // return lvupdate; // } // // // Consider switching to other gun function // usesec = g_Vars.currentplayer->gunctrl.weaponnum >= WEAPON_UNARMED // && g_Vars.currentplayer->gunctrl.weaponnum <= WEAPON_COMBATBOOST // && (g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->gunctrl.weaponnum - 1) >> 3] & (1 << (g_Vars.currentplayer->gunctrl.weaponnum - 1 & 7))); // // if (usesec == gunfunc) { // sp30 = bgun0f098ca0(1 - hand->gset.weaponfunc, info, hand); // // if (bgun0f099188(hand, 1 - hand->gset.weaponfunc) // && info->weaponnum != WEAPON_REAPER) { // if (info->gunctrl->wantammo) { // func = weaponGetFunction(&hand->gset, 1 - hand->gset.weaponfunc); // // if ((func->type & 0xff) != INVENTORYFUNCTYPE_CLOSE) { // sp30 = -1; // } // } else { // sp30 = -1; // } // } // // if (sp30 < 0) { // hand->unk0cc8_08 = true; // } else { // if (!weaponHasFlag(info->weaponnum, WEAPONFLAG_04000000) // || hand->gset.weaponfunc == FUNC_SECONDARY) { // hand->unk0cc8_07 = true; // // if (bgunSetState(handnum, HANDSTATE_CHANGEFUNC)) { // return lvupdate; // } // } // } // } // } else if (sp34 == 0) { // // Clip is empty // if (hand->triggeron && info->weaponnum != WEAPON_NONE) { // hand->unk0cc8_01 = false; // // if (bgunSetState(handnum, HANDSTATE_ATTACKEMPTY)) { // return lvupdate; // } // } else { // hand->count60 = 0; // hand->count = 0; // // if (bgunSetState(handnum, HANDSTATE_RELOAD)) { // return lvupdate; // } // } // } else { // // Clip has ammo // if (hand->triggeron || (hand->unk0d0f_03 && hand->gset.weaponfunc == FUNC_SECONDARY)) { // if (info->weaponnum != WEAPON_NONE) { // g_Vars.currentplayer->doautoselect = false; // // hand->mode = HANDMODE_1; // hand->count = 0; // hand->count60 = 0; // hand->triggerreleased = false; // // hand->unk0d0f_03 = false; // // if (bgunSetState(handnum, HANDSTATE_ATTACK)) { // return lvupdate; // } // } // } // // // Not attacking, but the player may have attempted // // to change guns or reload while firing // if (hand->modenext != HANDMODE_NONE) { // next = hand->modenext; // // hand->mode = hand->modenext; // hand->count60 = 0; // hand->count = 0; // hand->modenext = HANDMODE_NONE; // // if (next == HANDMODE_RELOAD && sp34 < 2 && sp34 >= 0) { // if (bgunSetState(handnum, HANDSTATE_RELOAD)) { // return lvupdate; // } // } // } // } // } // // // 698 // if (handnum == HAND_RIGHT) { // if (info->gunctrl->wantammo) { // bgunAutoSwitchWeapon(); // } else { // lhand = &g_Vars.currentplayer->hands[1] - handnum; // // if ((hand->unk0cc8_08 || !hand->inuse) // && (lhand->unk0cc8_08 || !lhand->inuse) // && (hand->triggeron || lhand->triggeron)) { // bgunAutoSwitchWeapon(); // } // // hand->unk0cc8_08 = lhand->unk0cc8_08 = false; // } // } // // return 0; //} void bgun0f099780(struct hand *hand, f32 angle) { hand->useposrot = true; func000162e8(angle, &hand->posrotmtx); hand->posrotmtx.m[3][0] = 0; hand->posrotmtx.m[3][1] = (1.0f - cosf(angle)) * -80.0f; hand->posrotmtx.m[3][2] = sinf(angle) * 15.0f; } s32 bgunTickIncAutoSwitch(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { u32 stack; s32 someval; s32 gunfunc = bgunIsUsingSecondaryFunction(); if (!hand->inuse && bgunSetState(handnum, HANDSTATE_IDLE)) { return lvupdate; } if (hand->stateminor == 0) { s32 delay = PALDOWN(16); if (g_Vars.normmplayerisrunning) { delay = PALDOWN(12); } if (hand->stateframes >= delay) { hand->stateminor++; } else { bgun0f099780(hand, hand->stateframes * 0.87252569198608f / delay); } } if (hand->stateminor == 1) { hand->lastdirvalid = false; #if VERSION < VERSION_PAL_FINAL hand->animframeincfreal = hand->animframeinc; #endif hand->shotremainder = 0; if (bgunIsReadyToSwitch(handnum) && bgunSetState(handnum, HANDSTATE_CHANGEGUN)) { if (g_Vars.mplayerisrunning && (IS8MB() || PLAYERCOUNT() != 1)) { currentPlayerSetWeaponReapable(handnum); } bgun0f09fa20(handnum); hand->mode = HANDMODE_6; hand->stateminor = 2; hand->count = 0; return 0; } if (hand->inuse) { someval = bgun0f098ca0(gunfunc, info, hand); if (info->weaponnum == WEAPON_TIMEDMINE || info->weaponnum == WEAPON_PROXIMITYMINE) { hand->gset.weaponfunc = gunfunc; } if (info->weaponnum == WEAPON_REMOTEMINE && gunfunc != hand->gset.weaponfunc && bgunSetState(handnum, HANDSTATE_CHANGEFUNC)) { return lvupdate; } if (g_Vars.currentplayer->doautoselect) { struct hand *otherhand = &g_Vars.currentplayer->hands[1 - handnum]; struct handweaponinfo otherinfo; bool ready = true; bgunGetWeaponInfo(&otherinfo, 1 - handnum); if (otherhand->inuse) { if (bgun0f098ca0(0, &otherinfo, otherhand) >= 0) { ready = false; } if (bgun0f098ca0(1, &otherinfo, otherhand) >= 0) { ready = false; } if (bgun0f099188(otherhand, otherhand->gset.weaponfunc)) { ready = true; } } if (otherhand->state != HANDSTATE_IDLE && otherhand->state != HANDSTATE_AUTOSWITCH) { ready = false; } if (ready) { bgunAutoSwitchWeapon(); } } if (someval <= 1 && someval >= 0) { if (g_Vars.currentplayer->hands[1 - handnum].state != HANDSTATE_RELOAD) { hand->count60 = 0; hand->count = 0; if (bgunSetState(handnum, HANDSTATE_RELOAD)) { if (info->weaponnum == WEAPON_COMBATKNIFE) { hand->mode = HANDMODE_11; hand->pausetime60 = PALDOWN(17); hand->count60 = 0; hand->count = -1; hand->stateminor = 2; } return lvupdate; } } } if (hand->modenext) { hand->mode = hand->modenext; hand->count60 = 0; hand->count = 0; hand->modenext = HANDMODE_NONE; } } bgun0f099780(hand, 0.87252569198608f); } return 0; } bool bgunIsReloading(struct hand *hand) { if (hand->state == HANDSTATE_RELOAD) { return true; } return false; } #if PAL GLOBAL_ASM( glabel bgunTickIncReload .late_rodata glabel var7f1ac1b8 .word 0x3f5f5dd8 glabel var7f1ac1bc .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac1c0 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac1c4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1c8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1cc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1dc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1ec .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1fc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac200 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac204 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac208 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac20c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac210 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac214 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac218 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac21c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac220 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac224 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac228 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac22c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac230 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac234 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac238 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac23c .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac240 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac244 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac248 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac24c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac250 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac254 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac258 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac25c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac260 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac264 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac268 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac26c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac270 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac274 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac278 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac27c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac280 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac284 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac288 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac28c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac290 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac294 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac298 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac29c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2ac .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2b0 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2b4 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2b8 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2bc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2cc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2dc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2ec .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2fc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac300 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac304 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac308 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac30c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac310 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac314 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac318 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac31c .word 0x3f5f5dd8 .text /* f099c48: 27bdffc8 */ addiu $sp,$sp,-56 /* f099c4c: afbf002c */ sw $ra,0x2c($sp) /* f099c50: afb00028 */ sw $s0,0x28($sp) /* f099c54: afa40038 */ sw $a0,0x38($sp) /* f099c58: 00c08025 */ or $s0,$a2,$zero /* f099c5c: afa5003c */ sw $a1,0x3c($sp) /* f099c60: afa70044 */ sw $a3,0x44($sp) /* f099c64: 0fc2c41f */ jal gsetGetWeaponFunction /* f099c68: 00c02025 */ or $a0,$a2,$zero /* f099c6c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f099c70: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f099c74: afa20030 */ sw $v0,0x30($sp) /* f099c78: 2418ffff */ addiu $t8,$zero,-1 /* f099c7c: 8dcf00d8 */ lw $t7,0xd8($t6) /* f099c80: 00002825 */ or $a1,$zero,$zero /* f099c84: 51e0000a */ beqzl $t7,.L0f099cb0 /* f099c88: 8e190618 */ lw $t9,0x618($s0) /* f099c8c: ae00068c */ sw $zero,0x68c($s0) /* f099c90: ae180680 */ sw $t8,0x680($s0) /* f099c94: 0fc27346 */ jal bgunSetState /* f099c98: 8fa4003c */ lw $a0,0x3c($sp) /* f099c9c: 50400004 */ beqzl $v0,.L0f099cb0 /* f099ca0: 8e190618 */ lw $t9,0x618($s0) /* f099ca4: 10000195 */ b .L0f09a2fc /* f099ca8: 8fa20044 */ lw $v0,0x44($sp) /* f099cac: 8e190618 */ lw $t9,0x618($s0) .L0f099cb0: /* f099cb0: 8fa9003c */ lw $t1,0x3c($sp) /* f099cb4: 3c08800a */ lui $t0,%hi(g_Vars+0x284) /* f099cb8: 17200018 */ bnez $t9,.L0f099d1c /* f099cbc: 00095100 */ sll $t2,$t1,0x4 /* f099cc0: 01495023 */ subu $t2,$t2,$t1 /* f099cc4: 000a5080 */ sll $t2,$t2,0x2 /* f099cc8: 01495021 */ addu $t2,$t2,$t1 /* f099ccc: 000a50c0 */ sll $t2,$t2,0x3 /* f099cd0: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) /* f099cd4: 01495021 */ addu $t2,$t2,$t1 /* f099cd8: 000a5080 */ sll $t2,$t2,0x2 /* f099cdc: 000a5823 */ negu $t3,$t2 /* f099ce0: 240cffff */ addiu $t4,$zero,-1 /* f099ce4: ae0c0670 */ sw $t4,0x670($s0) /* f099ce8: ae000674 */ sw $zero,0x674($s0) /* f099cec: 010b1021 */ addu $v0,$t0,$t3 /* f099cf0: 8c4d13e0 */ lw $t5,0x13e0($v0) /* f099cf4: 24010001 */ addiu $at,$zero,0x1 /* f099cf8: 24420ddc */ addiu $v0,$v0,0xddc /* f099cfc: 55a10008 */ bnel $t5,$at,.L0f099d20 /* f099d00: 8e030608 */ lw $v1,0x608($s0) /* f099d04: 8c4e0614 */ lw $t6,0x614($v0) /* f099d08: 240f0009 */ addiu $t7,$zero,0x9 /* f099d0c: 29c10014 */ slti $at,$t6,0x10 /* f099d10: 50200003 */ beqzl $at,.L0f099d20 /* f099d14: 8e030608 */ lw $v1,0x608($s0) /* f099d18: ae0f0608 */ sw $t7,0x608($s0) .L0f099d1c: /* f099d1c: 8e030608 */ lw $v1,0x608($s0) .L0f099d20: /* f099d20: 8fb9003c */ lw $t9,0x3c($sp) /* f099d24: 24010009 */ addiu $at,$zero,0x9 /* f099d28: 1461001a */ bne $v1,$at,.L0f099d94 /* f099d2c: 00194900 */ sll $t1,$t9,0x4 /* f099d30: 01394823 */ subu $t1,$t1,$t9 /* f099d34: 00094880 */ sll $t1,$t1,0x2 /* f099d38: 01394821 */ addu $t1,$t1,$t9 /* f099d3c: 000948c0 */ sll $t1,$t1,0x3 /* f099d40: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f099d44: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f099d48: 01394821 */ addu $t1,$t1,$t9 /* f099d4c: 00094880 */ sll $t1,$t1,0x2 /* f099d50: 00095023 */ negu $t2,$t1 /* f099d54: 030a1021 */ addu $v0,$t8,$t2 /* f099d58: 8c4813e0 */ lw $t0,0x13e0($v0) /* f099d5c: 24010001 */ addiu $at,$zero,0x1 /* f099d60: 24420ddc */ addiu $v0,$v0,0xddc /* f099d64: 15010007 */ bne $t0,$at,.L0f099d84 /* f099d68: 00001825 */ or $v1,$zero,$zero /* f099d6c: 8c4b0614 */ lw $t3,0x614($v0) /* f099d70: 29610014 */ slti $at,$t3,0x10 /* f099d74: 50200004 */ beqzl $at,.L0f099d88 /* f099d78: ae000614 */ sw $zero,0x614($s0) /* f099d7c: 1000015f */ b .L0f09a2fc /* f099d80: 00001025 */ or $v0,$zero,$zero .L0f099d84: /* f099d84: ae000614 */ sw $zero,0x614($s0) .L0f099d88: /* f099d88: ae000618 */ sw $zero,0x618($s0) /* f099d8c: ae000608 */ sw $zero,0x608($s0) /* f099d90: ae00061c */ sw $zero,0x61c($s0) .L0f099d94: /* f099d94: 54600095 */ bnezl $v1,.L0f099fec /* f099d98: 24010001 */ addiu $at,$zero,0x1 /* f099d9c: 8e0c0618 */ lw $t4,0x618($s0) /* f099da0: 8fad0030 */ lw $t5,0x30($sp) /* f099da4: 8faa0030 */ lw $t2,0x30($sp) /* f099da8: 5580003f */ bnezl $t4,.L0f099ea8 /* f099dac: 8fb80038 */ lw $t8,0x38($sp) /* f099db0: 11a00034 */ beqz $t5,.L0f099e84 /* f099db4: 8fa4003c */ lw $a0,0x3c($sp) /* f099db8: 81a20007 */ lb $v0,0x7($t5) /* f099dbc: 24010001 */ addiu $at,$zero,0x1 /* f099dc0: 8fae0038 */ lw $t6,0x38($sp) /* f099dc4: 50400004 */ beqzl $v0,.L0f099dd8 /* f099dc8: 8dcf0004 */ lw $t7,0x4($t6) /* f099dcc: 1441002d */ bne $v0,$at,.L0f099e84 /* f099dd0: 00000000 */ nop /* f099dd4: 8dcf0004 */ lw $t7,0x4($t6) .L0f099dd8: /* f099dd8: 0002c880 */ sll $t9,$v0,0x2 /* f099ddc: 01f94821 */ addu $t1,$t7,$t9 /* f099de0: 8d38001c */ lw $t8,0x1c($t1) /* f099de4: 24690001 */ addiu $t1,$v1,0x1 /* f099de8: 8f04000c */ lw $a0,0xc($t8) /* f099dec: 10800023 */ beqz $a0,.L0f099e7c /* f099df0: 00000000 */ nop /* f099df4: 8dca0000 */ lw $t2,0x0($t6) /* f099df8: 2401001a */ addiu $at,$zero,0x1a /* f099dfc: 8fa5003c */ lw $a1,0x3c($sp) /* f099e00: 1141001e */ beq $t2,$at,.L0f099e7c /* f099e04: 00000000 */ nop /* f099e08: 0fc26238 */ jal bgun0f0988e0 /* f099e0c: 02003025 */ or $a2,$s0,$zero /* f099e10: 920b06d6 */ lbu $t3,0x6d6($s0) /* f099e14: 8fa30038 */ lw $v1,0x38($sp) /* f099e18: 356c0001 */ ori $t4,$t3,0x1 /* f099e1c: a20c06d6 */ sb $t4,0x6d6($s0) /* f099e20: 8faf0030 */ lw $t7,0x30($sp) /* f099e24: 8c6d0004 */ lw $t5,0x4($v1) /* f099e28: 81f90007 */ lb $t9,0x7($t7) /* f099e2c: 00194880 */ sll $t1,$t9,0x2 /* f099e30: 01a9c021 */ addu $t8,$t5,$t1 /* f099e34: 8f0e001c */ lw $t6,0x1c($t8) /* f099e38: 91ca0010 */ lbu $t2,0x10($t6) /* f099e3c: 31480004 */ andi $t0,$t2,0x4 /* f099e40: 51000005 */ beqzl $t0,.L0f099e58 /* f099e44: 8c620000 */ lw $v0,0x0($v1) /* f099e48: 920c0690 */ lbu $t4,0x690($s0) /* f099e4c: 358f0020 */ ori $t7,$t4,0x20 /* f099e50: a20f0690 */ sb $t7,0x690($s0) /* f099e54: 8c620000 */ lw $v0,0x0($v1) .L0f099e58: /* f099e58: 2401001e */ addiu $at,$zero,0x1e /* f099e5c: 10410003 */ beq $v0,$at,.L0f099e6c /* f099e60: 2401001f */ addiu $at,$zero,0x1f /* f099e64: 1441000d */ bne $v0,$at,.L0f099e9c /* f099e68: 00000000 */ nop .L0f099e6c: /* f099e6c: 921906d6 */ lbu $t9,0x6d6($s0) /* f099e70: 332dff0f */ andi $t5,$t9,0xff0f /* f099e74: 10000009 */ b .L0f099e9c /* f099e78: a20d06d6 */ sb $t5,0x6d6($s0) .L0f099e7c: /* f099e7c: 10000007 */ b .L0f099e9c /* f099e80: ae090608 */ sw $t1,0x608($s0) .L0f099e84: /* f099e84: 0fc27346 */ jal bgunSetState /* f099e88: 00002825 */ or $a1,$zero,$zero /* f099e8c: 10400003 */ beqz $v0,.L0f099e9c /* f099e90: 00000000 */ nop /* f099e94: 10000119 */ b .L0f09a2fc /* f099e98: 8fa20044 */ lw $v0,0x44($sp) .L0f099e9c: /* f099e9c: 10000052 */ b .L0f099fe8 /* f099ea0: 8e030608 */ lw $v1,0x608($s0) /* f099ea4: 8fb80038 */ lw $t8,0x38($sp) .L0f099ea8: /* f099ea8: 81480007 */ lb $t0,0x7($t2) /* f099eac: 02002025 */ or $a0,$s0,$zero /* f099eb0: 8f0e0004 */ lw $t6,0x4($t8) /* f099eb4: 00085880 */ sll $t3,$t0,0x2 /* f099eb8: 01cb6021 */ addu $t4,$t6,$t3 /* f099ebc: 8d8f001c */ lw $t7,0x1c($t4) /* f099ec0: 91f90010 */ lbu $t9,0x10($t7) /* f099ec4: 332d0004 */ andi $t5,$t9,0x4 /* f099ec8: 51a0002b */ beqzl $t5,.L0f099f78 /* f099ecc: 8e18060c */ lw $t8,0x60c($s0) /* f099ed0: 0fc26291 */ jal bgun0f098a44 /* f099ed4: 24050001 */ addiu $a1,$zero,0x1 /* f099ed8: 5040001f */ beqzl $v0,.L0f099f58 /* f099edc: ae00060c */ sw $zero,0x60c($s0) /* f099ee0: 8e09060c */ lw $t1,0x60c($s0) /* f099ee4: 8fa50038 */ lw $a1,0x38($sp) /* f099ee8: 02003025 */ or $a2,$s0,$zero /* f099eec: 31380010 */ andi $t8,$t1,0x10 /* f099ef0: 17000019 */ bnez $t8,.L0f099f58 /* f099ef4: 24070001 */ addiu $a3,$zero,0x1 /* f099ef8: 92040003 */ lbu $a0,0x3($s0) /* f099efc: 0fc2637e */ jal bgun0f098df8 /* f099f00: afa00010 */ sw $zero,0x10($sp) /* f099f04: 8e0a060c */ lw $t2,0x60c($s0) /* f099f08: 92040003 */ lbu $a0,0x3($s0) /* f099f0c: 02003025 */ or $a2,$s0,$zero /* f099f10: 35480010 */ ori $t0,$t2,0x10 /* f099f14: ae08060c */ sw $t0,0x60c($s0) /* f099f18: 0fc26328 */ jal bgun0f098ca0 /* f099f1c: 8fa50038 */ lw $a1,0x38($sp) /* f099f20: 28410002 */ slti $at,$v0,0x2 /* f099f24: 54200005 */ bnezl $at,.L0f099f3c /* f099f28: 2401ffff */ addiu $at,$zero,-1 /* f099f2c: 920e0690 */ lbu $t6,0x690($s0) /* f099f30: 31cbffdf */ andi $t3,$t6,0xffdf /* f099f34: a20b0690 */ sb $t3,0x690($s0) /* f099f38: 2401ffff */ addiu $at,$zero,-1 .L0f099f3c: /* f099f3c: 54410007 */ bnel $v0,$at,.L0f099f5c /* f099f40: 8e19000c */ lw $t9,0xc($s0) /* f099f44: 920c0690 */ lbu $t4,0x690($s0) /* f099f48: 318fffdf */ andi $t7,$t4,0xffdf /* f099f4c: 10000002 */ b .L0f099f58 /* f099f50: a20f0690 */ sb $t7,0x690($s0) /* f099f54: ae00060c */ sw $zero,0x60c($s0) .L0f099f58: /* f099f58: 8e19000c */ lw $t9,0xc($s0) .L0f099f5c: /* f099f5c: 53200017 */ beqzl $t9,.L0f099fbc /* f099f60: 8e0b068c */ lw $t3,0x68c($s0) /* f099f64: 920d0690 */ lbu $t5,0x690($s0) /* f099f68: 31a9ffdf */ andi $t1,$t5,0xffdf /* f099f6c: 10000012 */ b .L0f099fb8 /* f099f70: a2090690 */ sb $t1,0x690($s0) /* f099f74: 8e18060c */ lw $t8,0x60c($s0) .L0f099f78: /* f099f78: 02002025 */ or $a0,$s0,$zero /* f099f7c: 330a0010 */ andi $t2,$t8,0x10 /* f099f80: 5540000e */ bnezl $t2,.L0f099fbc /* f099f84: 8e0b068c */ lw $t3,0x68c($s0) /* f099f88: 0fc26291 */ jal bgun0f098a44 /* f099f8c: 24050001 */ addiu $a1,$zero,0x1 /* f099f90: 10400009 */ beqz $v0,.L0f099fb8 /* f099f94: 8fa50038 */ lw $a1,0x38($sp) /* f099f98: 92040003 */ lbu $a0,0x3($s0) /* f099f9c: afa00010 */ sw $zero,0x10($sp) /* f099fa0: 02003025 */ or $a2,$s0,$zero /* f099fa4: 0fc2637e */ jal bgun0f098df8 /* f099fa8: 00003825 */ or $a3,$zero,$zero /* f099fac: 8e08060c */ lw $t0,0x60c($s0) /* f099fb0: 350e0010 */ ori $t6,$t0,0x10 /* f099fb4: ae0e060c */ sw $t6,0x60c($s0) .L0f099fb8: /* f099fb8: 8e0b068c */ lw $t3,0x68c($s0) .L0f099fbc: /* f099fbc: 24010002 */ addiu $at,$zero,0x2 /* f099fc0: 8fa4003c */ lw $a0,0x3c($sp) /* f099fc4: 51610008 */ beql $t3,$at,.L0f099fe8 /* f099fc8: 8e030608 */ lw $v1,0x608($s0) /* f099fcc: 0fc27346 */ jal bgunSetState /* f099fd0: 00002825 */ or $a1,$zero,$zero /* f099fd4: 50400004 */ beqzl $v0,.L0f099fe8 /* f099fd8: 8e030608 */ lw $v1,0x608($s0) /* f099fdc: 100000c7 */ b .L0f09a2fc /* f099fe0: 8fa20044 */ lw $v0,0x44($sp) /* f099fe4: 8e030608 */ lw $v1,0x608($s0) .L0f099fe8: /* f099fe8: 24010001 */ addiu $at,$zero,0x1 .L0f099fec: /* f099fec: 5461001f */ bnel $v1,$at,.L0f09a06c /* f099ff0: 24010002 */ addiu $at,$zero,0x2 /* f099ff4: 8e02001c */ lw $v0,0x1c($s0) /* f099ff8: 240f000b */ addiu $t7,$zero,0xb /* f099ffc: 24790001 */ addiu $t9,$v1,0x1 /* f09a000: 28410010 */ slti $at,$v0,0xd /* f09a004: 10200004 */ beqz $at,.L0f09a018 /* f09a008: 240d0011 */ addiu $t5,$zero,0xe /* f09a00c: 820c0007 */ lb $t4,0x7($s0) /* f09a010: 55800009 */ bnezl $t4,.L0f09a038 /* f09a014: 44822000 */ mtc1 $v0,$f4 .L0f09a018: /* f09a018: ae0f0020 */ sw $t7,0x20($s0) /* f09a01c: ae190608 */ sw $t9,0x608($s0) /* f09a020: ae0d0038 */ sw $t5,0x38($s0) /* f09a024: ae00001c */ sw $zero,0x1c($s0) /* f09a028: ae000018 */ sw $zero,0x18($s0) /* f09a02c: 1000000e */ b .L0f09a068 /* f09a030: 03201825 */ or $v1,$t9,$zero /* f09a034: 44822000 */ mtc1 $v0,$f4 .L0f09a038: /* f09a038: 3c017f1b */ lui $at,%hi(var7f1ac1b8) /* f09a03c: c428c1b8 */ lwc1 $f8,%lo(var7f1ac1b8)($at) /* f09a040: 468021a0 */ cvt.s.w $f6,$f4 /* f09a044: 3c014180 */ lui $at,0x4150 /* f09a048: 44818000 */ mtc1 $at,$f16 /* f09a04c: 02002025 */ or $a0,$s0,$zero /* f09a050: 46083282 */ mul.s $f10,$f6,$f8 /* f09a054: 46105483 */ div.s $f18,$f10,$f16 /* f09a058: 44059000 */ mfc1 $a1,$f18 /* f09a05c: 0fc265e0 */ jal bgun0f099780 /* f09a060: 00000000 */ nop /* f09a064: 8e030608 */ lw $v1,0x608($s0) .L0f09a068: /* f09a068: 24010002 */ addiu $at,$zero,0x2 .L0f09a06c: /* f09a06c: 54610069 */ bnel $v1,$at,.L0f09a214 /* f09a070: 24010003 */ addiu $at,$zero,0x3 /* f09a074: 8e090018 */ lw $t1,0x18($s0) /* f09a078: 8fb80038 */ lw $t8,0x38($sp) /* f09a07c: 5520004f */ bnezl $t1,.L0f09a1bc /* f09a080: 8e0e001c */ lw $t6,0x1c($s0) /* f09a084: 8f0a0000 */ lw $t2,0x0($t8) /* f09a088: 2401001a */ addiu $at,$zero,0x1a /* f09a08c: 8fa80030 */ lw $t0,0x30($sp) /* f09a090: 55410012 */ bnel $t2,$at,.L0f09a0dc /* f09a094: 8e0a060c */ lw $t2,0x60c($s0) /* f09a098: 81020007 */ lb $v0,0x7($t0) /* f09a09c: 0442000f */ bltzl $v0,.L0f09a0dc /* f09a0a0: 8e0a060c */ lw $t2,0x60c($s0) /* f09a0a4: 8f0e0004 */ lw $t6,0x4($t8) /* f09a0a8: 00025880 */ sll $t3,$v0,0x2 /* f09a0ac: 8fa5003c */ lw $a1,0x3c($sp) /* f09a0b0: 01cb6021 */ addu $t4,$t6,$t3 /* f09a0b4: 8d8f001c */ lw $t7,0x1c($t4) /* f09a0b8: 8de4000c */ lw $a0,0xc($t7) /* f09a0bc: 50800007 */ beqzl $a0,.L0f09a0dc /* f09a0c0: 8e0a060c */ lw $t2,0x60c($s0) /* f09a0c4: 0fc26238 */ jal bgun0f0988e0 /* f09a0c8: 02003025 */ or $a2,$s0,$zero /* f09a0cc: 920d0690 */ lbu $t5,0x690($s0) /* f09a0d0: 35a90040 */ ori $t1,$t5,0x40 /* f09a0d4: a2090690 */ sb $t1,0x690($s0) /* f09a0d8: 8e0a060c */ lw $t2,0x60c($s0) .L0f09a0dc: /* f09a0dc: 8fa50038 */ lw $a1,0x38($sp) /* f09a0e0: 02003025 */ or $a2,$s0,$zero /* f09a0e4: 31480010 */ andi $t0,$t2,0x10 /* f09a0e8: 15000004 */ bnez $t0,.L0f09a0fc /* f09a0ec: 00003825 */ or $a3,$zero,$zero /* f09a0f0: 92040003 */ lbu $a0,0x3($s0) /* f09a0f4: 0fc2637e */ jal bgun0f098df8 /* f09a0f8: afa00010 */ sw $zero,0x10($sp) .L0f09a0fc: /* f09a0fc: 3c18800a */ lui $t8,%hi(g_Vars+0x34) /* f09a100: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) /* f09a104: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f09a108: 5b00002c */ blezl $t8,.L0f09a1bc /* f09a10c: 8e0e001c */ lw $t6,0x1c($s0) /* f09a110: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f09a114: 24010001 */ addiu $at,$zero,0x1 /* f09a118: 8dcb0000 */ lw $t3,0x0($t6) /* f09a11c: 51610027 */ beql $t3,$at,.L0f09a1bc /* f09a120: 8e0e001c */ lw $t6,0x1c($s0) /* f09a124: 0fc2775f */ jal bgun0f09dd7c /* f09a128: 00000000 */ nop /* f09a12c: 10400022 */ beqz $v0,.L0f09a1b8 /* f09a130: 3c0c8007 */ lui $t4,%hi(g_PlayerInvincible) /* f09a134: 8d8c0760 */ lw $t4,%lo(g_PlayerInvincible)($t4) /* f09a138: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) /* f09a13c: 5580001f */ bnezl $t4,.L0f09a1bc /* f09a140: 8e0e001c */ lw $t6,0x1c($s0) /* f09a144: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) /* f09a148: 8fad0038 */ lw $t5,0x38($sp) /* f09a14c: 8df900d8 */ lw $t9,0xd8($t7) /* f09a150: 5720001a */ bnezl $t9,.L0f09a1bc /* f09a154: 8e0e001c */ lw $t6,0x1c($s0) /* f09a158: 8da90000 */ lw $t1,0x0($t5) /* f09a15c: 2d210058 */ sltiu $at,$t1,0x58 /* f09a160: 10200006 */ beqz $at,.L0f09a17c /* f09a164: 00094880 */ sll $t1,$t1,0x2 /* f09a168: 3c017f1b */ lui $at,%hi(var7f1ac1bc) /* f09a16c: 00290821 */ addu $at,$at,$t1 /* f09a170: 8c29c1bc */ lw $t1,%lo(var7f1ac1bc)($at) /* f09a174: 01200008 */ jr $t1 /* f09a178: 00000000 */ nop .L0f09a17c: /* f09a17c: 3c01bf80 */ lui $at,0xbf80 /* f09a180: 44812000 */ mtc1 $at,$f4 /* f09a184: 3c048009 */ lui $a0,%hi(var80095200) /* f09a188: 240affff */ addiu $t2,$zero,-1 /* f09a18c: 2408ffff */ addiu $t0,$zero,-1 /* f09a190: 2418ffff */ addiu $t8,$zero,-1 /* f09a194: afb8001c */ sw $t8,0x1c($sp) /* f09a198: afa80018 */ sw $t0,0x18($sp) /* f09a19c: afaa0010 */ sw $t2,0x10($sp) /* f09a1a0: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f09a1a4: 2405804f */ addiu $a1,$zero,-32689 /* f09a1a8: 00003025 */ or $a2,$zero,$zero /* f09a1ac: 2407ffff */ addiu $a3,$zero,-1 /* f09a1b0: 0c004241 */ jal sndStart /* f09a1b4: e7a40014 */ swc1 $f4,0x14($sp) .L0f09a1b8: /* f09a1b8: 8e0e001c */ lw $t6,0x1c($s0) .L0f09a1bc: /* f09a1bc: 8e0b0038 */ lw $t3,0x38($s0) /* f09a1c0: 02002025 */ or $a0,$s0,$zero /* f09a1c4: 3c053f5f */ lui $a1,0x3f5f /* f09a1c8: 01cb082a */ slt $at,$t6,$t3 /* f09a1cc: 1420000d */ bnez $at,.L0f09a204 /* f09a1d0: 00000000 */ nop /* f09a1d4: 8e0c0018 */ lw $t4,0x18($s0) /* f09a1d8: 240f000c */ addiu $t7,$zero,0xc /* f09a1dc: 29810002 */ slti $at,$t4,0x2 /* f09a1e0: 14200008 */ bnez $at,.L0f09a204 /* f09a1e4: 00000000 */ nop /* f09a1e8: 8e190608 */ lw $t9,0x608($s0) /* f09a1ec: ae0f0020 */ sw $t7,0x20($s0) /* f09a1f0: ae00001c */ sw $zero,0x1c($s0) /* f09a1f4: 27230001 */ addiu $v1,$t9,0x1 /* f09a1f8: ae030608 */ sw $v1,0x608($s0) /* f09a1fc: 10000004 */ b .L0f09a210 /* f09a200: ae000018 */ sw $zero,0x18($s0) .L0f09a204: /* f09a204: 0fc265e0 */ jal bgun0f099780 /* f09a208: 34a55dd8 */ ori $a1,$a1,0x5dd8 /* f09a20c: 8e030608 */ lw $v1,0x608($s0) .L0f09a210: /* f09a210: 24010003 */ addiu $at,$zero,0x3 .L0f09a214: /* f09a214: 14610038 */ bne $v1,$at,.L0f09a2f8 /* f09a218: 8fa90038 */ lw $t1,0x38($sp) /* f09a21c: 8d2a0000 */ lw $t2,0x0($t1) /* f09a220: 2401001a */ addiu $at,$zero,0x1a /* f09a224: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f09a228: 55410003 */ bnel $t2,$at,.L0f09a238 /* f09a22c: 8e080018 */ lw $t0,0x18($s0) /* f09a230: ae00068c */ sw $zero,0x68c($s0) /* f09a234: 8e080018 */ lw $t0,0x18($s0) .L0f09a238: /* f09a238: 55000004 */ bnezl $t0,.L0f09a24c /* f09a23c: 8e0e001c */ lw $t6,0x1c($s0) /* f09a240: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f09a244: af001600 */ sw $zero,0x1600($t8) /* f09a248: 8e0e001c */ lw $t6,0x1c($s0) .L0f09a24c: /* f09a24c: 8fab0038 */ lw $t3,0x38($sp) /* f09a250: 29c10017 */ slti $at,$t6,0x13 /* f09a254: 50200010 */ beqzl $at,.L0f09a298 /* f09a258: ae000020 */ sw $zero,0x20($s0) /* f09a25c: 0fc2c6b4 */ jal weaponGetModelNum2 /* f09a260: 8d640000 */ lw $a0,0x0($t3) /* f09a264: 1040000b */ beqz $v0,.L0f09a294 /* f09a268: 8fac0038 */ lw $t4,0x38($sp) /* f09a26c: 8d840000 */ lw $a0,0x0($t4) /* f09a270: 0fc2c5f0 */ jal weaponHasFlag /* f09a274: 24050040 */ addiu $a1,$zero,0x40 /* f09a278: 10400006 */ beqz $v0,.L0f09a294 /* f09a27c: 8faf0038 */ lw $t7,0x38($sp) /* f09a280: 8de40000 */ lw $a0,0x0($t7) /* f09a284: 0fc2c5f0 */ jal weaponHasFlag /* f09a288: 24050080 */ addiu $a1,$zero,0x80 /* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 /* f09a290: 8e19001c */ lw $t9,0x1c($s0) .L0f09a294: /* f09a294: ae000020 */ sw $zero,0x20($s0) .L0f09a298: /* f09a298: ae00001c */ sw $zero,0x1c($s0) /* f09a29c: ae000018 */ sw $zero,0x18($s0) /* f09a2a0: 8fa4003c */ lw $a0,0x3c($sp) /* f09a2a4: 0fc27346 */ jal bgunSetState /* f09a2a8: 00002825 */ or $a1,$zero,$zero /* f09a2ac: 50400013 */ beqzl $v0,.L0f09a2fc /* f09a2b0: 00001025 */ or $v0,$zero,$zero /* f09a2b4: 10000011 */ b .L0f09a2fc /* f09a2b8: 8fa20044 */ lw $v0,0x44($sp) /* f09a2bc: 8e19001c */ lw $t9,0x1c($s0) .L0f09a2c0: /* f09a2c0: 240d0017 */ addiu $t5,$zero,0x13 /* f09a2c4: 3c017f1b */ lui $at,%hi(var7f1ac31c) /* f09a2c8: 01b94823 */ subu $t1,$t5,$t9 /* f09a2cc: 44893000 */ mtc1 $t1,$f6 /* f09a2d0: c42ac31c */ lwc1 $f10,%lo(var7f1ac31c)($at) /* f09a2d4: 3c0141b8 */ lui $at,0x4198 /* f09a2d8: 46803220 */ cvt.s.w $f8,$f6 /* f09a2dc: 44819000 */ mtc1 $at,$f18 /* f09a2e0: 02002025 */ or $a0,$s0,$zero /* f09a2e4: 460a4402 */ mul.s $f16,$f8,$f10 /* f09a2e8: 46128103 */ div.s $f4,$f16,$f18 /* f09a2ec: 44052000 */ mfc1 $a1,$f4 /* f09a2f0: 0fc265e0 */ jal bgun0f099780 /* f09a2f4: 00000000 */ nop .L0f09a2f8: /* f09a2f8: 00001025 */ or $v0,$zero,$zero .L0f09a2fc: /* f09a2fc: 8fbf002c */ lw $ra,0x2c($sp) /* f09a300: 8fb00028 */ lw $s0,0x28($sp) /* f09a304: 27bd0038 */ addiu $sp,$sp,0x38 /* f09a308: 03e00008 */ jr $ra /* f09a30c: 00000000 */ nop ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgunTickIncReload .late_rodata glabel var7f1ac1b8 .word 0x3f5f5dd8 glabel var7f1ac1bc .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac1c0 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac1c4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1c8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1cc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1dc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1ec .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1fc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac200 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac204 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac208 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac20c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac210 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac214 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac218 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac21c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac220 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac224 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac228 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac22c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac230 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac234 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac238 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac23c .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac240 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac244 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac248 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac24c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac250 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac254 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac258 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac25c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac260 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac264 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac268 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac26c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac270 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac274 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac278 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac27c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac280 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac284 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac288 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac28c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac290 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac294 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac298 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac29c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2ac .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2b0 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2b4 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2b8 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2bc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2cc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2dc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2ec .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2fc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac300 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac304 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac308 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac30c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac310 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac314 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac318 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac31c .word 0x3f5f5dd8 .text /* f099c48: 27bdffc8 */ addiu $sp,$sp,-56 /* f099c4c: afbf002c */ sw $ra,0x2c($sp) /* f099c50: afb00028 */ sw $s0,0x28($sp) /* f099c54: afa40038 */ sw $a0,0x38($sp) /* f099c58: 00c08025 */ or $s0,$a2,$zero /* f099c5c: afa5003c */ sw $a1,0x3c($sp) /* f099c60: afa70044 */ sw $a3,0x44($sp) /* f099c64: 0fc2c41f */ jal gsetGetWeaponFunction /* f099c68: 00c02025 */ or $a0,$a2,$zero /* f099c6c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f099c70: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f099c74: afa20030 */ sw $v0,0x30($sp) /* f099c78: 2418ffff */ addiu $t8,$zero,-1 /* f099c7c: 8dcf00d8 */ lw $t7,0xd8($t6) /* f099c80: 00002825 */ or $a1,$zero,$zero /* f099c84: 51e0000a */ beqzl $t7,.L0f099cb0 /* f099c88: 8e190618 */ lw $t9,0x618($s0) /* f099c8c: ae00068c */ sw $zero,0x68c($s0) /* f099c90: ae180680 */ sw $t8,0x680($s0) /* f099c94: 0fc27346 */ jal bgunSetState /* f099c98: 8fa4003c */ lw $a0,0x3c($sp) /* f099c9c: 50400004 */ beqzl $v0,.L0f099cb0 /* f099ca0: 8e190618 */ lw $t9,0x618($s0) /* f099ca4: 10000195 */ b .L0f09a2fc /* f099ca8: 8fa20044 */ lw $v0,0x44($sp) /* f099cac: 8e190618 */ lw $t9,0x618($s0) .L0f099cb0: /* f099cb0: 8fa9003c */ lw $t1,0x3c($sp) /* f099cb4: 3c08800a */ lui $t0,%hi(g_Vars+0x284) /* f099cb8: 17200018 */ bnez $t9,.L0f099d1c /* f099cbc: 00095100 */ sll $t2,$t1,0x4 /* f099cc0: 01495023 */ subu $t2,$t2,$t1 /* f099cc4: 000a5080 */ sll $t2,$t2,0x2 /* f099cc8: 01495021 */ addu $t2,$t2,$t1 /* f099ccc: 000a50c0 */ sll $t2,$t2,0x3 /* f099cd0: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) /* f099cd4: 01495021 */ addu $t2,$t2,$t1 /* f099cd8: 000a5080 */ sll $t2,$t2,0x2 /* f099cdc: 000a5823 */ negu $t3,$t2 /* f099ce0: 240cffff */ addiu $t4,$zero,-1 /* f099ce4: ae0c0670 */ sw $t4,0x670($s0) /* f099ce8: ae000674 */ sw $zero,0x674($s0) /* f099cec: 010b1021 */ addu $v0,$t0,$t3 /* f099cf0: 8c4d13e0 */ lw $t5,0x13e0($v0) /* f099cf4: 24010001 */ addiu $at,$zero,0x1 /* f099cf8: 24420ddc */ addiu $v0,$v0,0xddc /* f099cfc: 55a10008 */ bnel $t5,$at,.L0f099d20 /* f099d00: 8e030608 */ lw $v1,0x608($s0) /* f099d04: 8c4e0614 */ lw $t6,0x614($v0) /* f099d08: 240f0009 */ addiu $t7,$zero,0x9 /* f099d0c: 29c10014 */ slti $at,$t6,0x14 /* f099d10: 50200003 */ beqzl $at,.L0f099d20 /* f099d14: 8e030608 */ lw $v1,0x608($s0) /* f099d18: ae0f0608 */ sw $t7,0x608($s0) .L0f099d1c: /* f099d1c: 8e030608 */ lw $v1,0x608($s0) .L0f099d20: /* f099d20: 8fb9003c */ lw $t9,0x3c($sp) /* f099d24: 24010009 */ addiu $at,$zero,0x9 /* f099d28: 1461001a */ bne $v1,$at,.L0f099d94 /* f099d2c: 00194900 */ sll $t1,$t9,0x4 /* f099d30: 01394823 */ subu $t1,$t1,$t9 /* f099d34: 00094880 */ sll $t1,$t1,0x2 /* f099d38: 01394821 */ addu $t1,$t1,$t9 /* f099d3c: 000948c0 */ sll $t1,$t1,0x3 /* f099d40: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f099d44: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f099d48: 01394821 */ addu $t1,$t1,$t9 /* f099d4c: 00094880 */ sll $t1,$t1,0x2 /* f099d50: 00095023 */ negu $t2,$t1 /* f099d54: 030a1021 */ addu $v0,$t8,$t2 /* f099d58: 8c4813e0 */ lw $t0,0x13e0($v0) /* f099d5c: 24010001 */ addiu $at,$zero,0x1 /* f099d60: 24420ddc */ addiu $v0,$v0,0xddc /* f099d64: 15010007 */ bne $t0,$at,.L0f099d84 /* f099d68: 00001825 */ or $v1,$zero,$zero /* f099d6c: 8c4b0614 */ lw $t3,0x614($v0) /* f099d70: 29610014 */ slti $at,$t3,0x14 /* f099d74: 50200004 */ beqzl $at,.L0f099d88 /* f099d78: ae000614 */ sw $zero,0x614($s0) /* f099d7c: 1000015f */ b .L0f09a2fc /* f099d80: 00001025 */ or $v0,$zero,$zero .L0f099d84: /* f099d84: ae000614 */ sw $zero,0x614($s0) .L0f099d88: /* f099d88: ae000618 */ sw $zero,0x618($s0) /* f099d8c: ae000608 */ sw $zero,0x608($s0) /* f099d90: ae00061c */ sw $zero,0x61c($s0) .L0f099d94: /* f099d94: 54600095 */ bnezl $v1,.L0f099fec /* f099d98: 24010001 */ addiu $at,$zero,0x1 /* f099d9c: 8e0c0618 */ lw $t4,0x618($s0) /* f099da0: 8fad0030 */ lw $t5,0x30($sp) /* f099da4: 8faa0030 */ lw $t2,0x30($sp) /* f099da8: 5580003f */ bnezl $t4,.L0f099ea8 /* f099dac: 8fb80038 */ lw $t8,0x38($sp) /* f099db0: 11a00034 */ beqz $t5,.L0f099e84 /* f099db4: 8fa4003c */ lw $a0,0x3c($sp) /* f099db8: 81a20007 */ lb $v0,0x7($t5) /* f099dbc: 24010001 */ addiu $at,$zero,0x1 /* f099dc0: 8fae0038 */ lw $t6,0x38($sp) /* f099dc4: 50400004 */ beqzl $v0,.L0f099dd8 /* f099dc8: 8dcf0004 */ lw $t7,0x4($t6) /* f099dcc: 1441002d */ bne $v0,$at,.L0f099e84 /* f099dd0: 00000000 */ nop /* f099dd4: 8dcf0004 */ lw $t7,0x4($t6) .L0f099dd8: /* f099dd8: 0002c880 */ sll $t9,$v0,0x2 /* f099ddc: 01f94821 */ addu $t1,$t7,$t9 /* f099de0: 8d38001c */ lw $t8,0x1c($t1) /* f099de4: 24690001 */ addiu $t1,$v1,0x1 /* f099de8: 8f04000c */ lw $a0,0xc($t8) /* f099dec: 10800023 */ beqz $a0,.L0f099e7c /* f099df0: 00000000 */ nop /* f099df4: 8dca0000 */ lw $t2,0x0($t6) /* f099df8: 2401001a */ addiu $at,$zero,0x1a /* f099dfc: 8fa5003c */ lw $a1,0x3c($sp) /* f099e00: 1141001e */ beq $t2,$at,.L0f099e7c /* f099e04: 00000000 */ nop /* f099e08: 0fc26238 */ jal bgun0f0988e0 /* f099e0c: 02003025 */ or $a2,$s0,$zero /* f099e10: 920b06d6 */ lbu $t3,0x6d6($s0) /* f099e14: 8fa30038 */ lw $v1,0x38($sp) /* f099e18: 356c0001 */ ori $t4,$t3,0x1 /* f099e1c: a20c06d6 */ sb $t4,0x6d6($s0) /* f099e20: 8faf0030 */ lw $t7,0x30($sp) /* f099e24: 8c6d0004 */ lw $t5,0x4($v1) /* f099e28: 81f90007 */ lb $t9,0x7($t7) /* f099e2c: 00194880 */ sll $t1,$t9,0x2 /* f099e30: 01a9c021 */ addu $t8,$t5,$t1 /* f099e34: 8f0e001c */ lw $t6,0x1c($t8) /* f099e38: 91ca0010 */ lbu $t2,0x10($t6) /* f099e3c: 31480004 */ andi $t0,$t2,0x4 /* f099e40: 51000005 */ beqzl $t0,.L0f099e58 /* f099e44: 8c620000 */ lw $v0,0x0($v1) /* f099e48: 920c0690 */ lbu $t4,0x690($s0) /* f099e4c: 358f0020 */ ori $t7,$t4,0x20 /* f099e50: a20f0690 */ sb $t7,0x690($s0) /* f099e54: 8c620000 */ lw $v0,0x0($v1) .L0f099e58: /* f099e58: 2401001e */ addiu $at,$zero,0x1e /* f099e5c: 10410003 */ beq $v0,$at,.L0f099e6c /* f099e60: 2401001f */ addiu $at,$zero,0x1f /* f099e64: 1441000d */ bne $v0,$at,.L0f099e9c /* f099e68: 00000000 */ nop .L0f099e6c: /* f099e6c: 921906d6 */ lbu $t9,0x6d6($s0) /* f099e70: 332dff0f */ andi $t5,$t9,0xff0f /* f099e74: 10000009 */ b .L0f099e9c /* f099e78: a20d06d6 */ sb $t5,0x6d6($s0) .L0f099e7c: /* f099e7c: 10000007 */ b .L0f099e9c /* f099e80: ae090608 */ sw $t1,0x608($s0) .L0f099e84: /* f099e84: 0fc27346 */ jal bgunSetState /* f099e88: 00002825 */ or $a1,$zero,$zero /* f099e8c: 10400003 */ beqz $v0,.L0f099e9c /* f099e90: 00000000 */ nop /* f099e94: 10000119 */ b .L0f09a2fc /* f099e98: 8fa20044 */ lw $v0,0x44($sp) .L0f099e9c: /* f099e9c: 10000052 */ b .L0f099fe8 /* f099ea0: 8e030608 */ lw $v1,0x608($s0) /* f099ea4: 8fb80038 */ lw $t8,0x38($sp) .L0f099ea8: /* f099ea8: 81480007 */ lb $t0,0x7($t2) /* f099eac: 02002025 */ or $a0,$s0,$zero /* f099eb0: 8f0e0004 */ lw $t6,0x4($t8) /* f099eb4: 00085880 */ sll $t3,$t0,0x2 /* f099eb8: 01cb6021 */ addu $t4,$t6,$t3 /* f099ebc: 8d8f001c */ lw $t7,0x1c($t4) /* f099ec0: 91f90010 */ lbu $t9,0x10($t7) /* f099ec4: 332d0004 */ andi $t5,$t9,0x4 /* f099ec8: 51a0002b */ beqzl $t5,.L0f099f78 /* f099ecc: 8e18060c */ lw $t8,0x60c($s0) /* f099ed0: 0fc26291 */ jal bgun0f098a44 /* f099ed4: 24050001 */ addiu $a1,$zero,0x1 /* f099ed8: 5040001f */ beqzl $v0,.L0f099f58 /* f099edc: ae00060c */ sw $zero,0x60c($s0) /* f099ee0: 8e09060c */ lw $t1,0x60c($s0) /* f099ee4: 8fa50038 */ lw $a1,0x38($sp) /* f099ee8: 02003025 */ or $a2,$s0,$zero /* f099eec: 31380010 */ andi $t8,$t1,0x10 /* f099ef0: 17000019 */ bnez $t8,.L0f099f58 /* f099ef4: 24070001 */ addiu $a3,$zero,0x1 /* f099ef8: 92040003 */ lbu $a0,0x3($s0) /* f099efc: 0fc2637e */ jal bgun0f098df8 /* f099f00: afa00010 */ sw $zero,0x10($sp) /* f099f04: 8e0a060c */ lw $t2,0x60c($s0) /* f099f08: 92040003 */ lbu $a0,0x3($s0) /* f099f0c: 02003025 */ or $a2,$s0,$zero /* f099f10: 35480010 */ ori $t0,$t2,0x10 /* f099f14: ae08060c */ sw $t0,0x60c($s0) /* f099f18: 0fc26328 */ jal bgun0f098ca0 /* f099f1c: 8fa50038 */ lw $a1,0x38($sp) /* f099f20: 28410002 */ slti $at,$v0,0x2 /* f099f24: 54200005 */ bnezl $at,.L0f099f3c /* f099f28: 2401ffff */ addiu $at,$zero,-1 /* f099f2c: 920e0690 */ lbu $t6,0x690($s0) /* f099f30: 31cbffdf */ andi $t3,$t6,0xffdf /* f099f34: a20b0690 */ sb $t3,0x690($s0) /* f099f38: 2401ffff */ addiu $at,$zero,-1 .L0f099f3c: /* f099f3c: 54410007 */ bnel $v0,$at,.L0f099f5c /* f099f40: 8e19000c */ lw $t9,0xc($s0) /* f099f44: 920c0690 */ lbu $t4,0x690($s0) /* f099f48: 318fffdf */ andi $t7,$t4,0xffdf /* f099f4c: 10000002 */ b .L0f099f58 /* f099f50: a20f0690 */ sb $t7,0x690($s0) /* f099f54: ae00060c */ sw $zero,0x60c($s0) .L0f099f58: /* f099f58: 8e19000c */ lw $t9,0xc($s0) .L0f099f5c: /* f099f5c: 53200017 */ beqzl $t9,.L0f099fbc /* f099f60: 8e0b068c */ lw $t3,0x68c($s0) /* f099f64: 920d0690 */ lbu $t5,0x690($s0) /* f099f68: 31a9ffdf */ andi $t1,$t5,0xffdf /* f099f6c: 10000012 */ b .L0f099fb8 /* f099f70: a2090690 */ sb $t1,0x690($s0) /* f099f74: 8e18060c */ lw $t8,0x60c($s0) .L0f099f78: /* f099f78: 02002025 */ or $a0,$s0,$zero /* f099f7c: 330a0010 */ andi $t2,$t8,0x10 /* f099f80: 5540000e */ bnezl $t2,.L0f099fbc /* f099f84: 8e0b068c */ lw $t3,0x68c($s0) /* f099f88: 0fc26291 */ jal bgun0f098a44 /* f099f8c: 24050001 */ addiu $a1,$zero,0x1 /* f099f90: 10400009 */ beqz $v0,.L0f099fb8 /* f099f94: 8fa50038 */ lw $a1,0x38($sp) /* f099f98: 92040003 */ lbu $a0,0x3($s0) /* f099f9c: afa00010 */ sw $zero,0x10($sp) /* f099fa0: 02003025 */ or $a2,$s0,$zero /* f099fa4: 0fc2637e */ jal bgun0f098df8 /* f099fa8: 00003825 */ or $a3,$zero,$zero /* f099fac: 8e08060c */ lw $t0,0x60c($s0) /* f099fb0: 350e0010 */ ori $t6,$t0,0x10 /* f099fb4: ae0e060c */ sw $t6,0x60c($s0) .L0f099fb8: /* f099fb8: 8e0b068c */ lw $t3,0x68c($s0) .L0f099fbc: /* f099fbc: 24010002 */ addiu $at,$zero,0x2 /* f099fc0: 8fa4003c */ lw $a0,0x3c($sp) /* f099fc4: 51610008 */ beql $t3,$at,.L0f099fe8 /* f099fc8: 8e030608 */ lw $v1,0x608($s0) /* f099fcc: 0fc27346 */ jal bgunSetState /* f099fd0: 00002825 */ or $a1,$zero,$zero /* f099fd4: 50400004 */ beqzl $v0,.L0f099fe8 /* f099fd8: 8e030608 */ lw $v1,0x608($s0) /* f099fdc: 100000c7 */ b .L0f09a2fc /* f099fe0: 8fa20044 */ lw $v0,0x44($sp) /* f099fe4: 8e030608 */ lw $v1,0x608($s0) .L0f099fe8: /* f099fe8: 24010001 */ addiu $at,$zero,0x1 .L0f099fec: /* f099fec: 5461001f */ bnel $v1,$at,.L0f09a06c /* f099ff0: 24010002 */ addiu $at,$zero,0x2 /* f099ff4: 8e02001c */ lw $v0,0x1c($s0) /* f099ff8: 240f000b */ addiu $t7,$zero,0xb /* f099ffc: 24790001 */ addiu $t9,$v1,0x1 /* f09a000: 28410010 */ slti $at,$v0,0x10 /* f09a004: 10200004 */ beqz $at,.L0f09a018 /* f09a008: 240d0011 */ addiu $t5,$zero,0x11 /* f09a00c: 820c0007 */ lb $t4,0x7($s0) /* f09a010: 55800009 */ bnezl $t4,.L0f09a038 /* f09a014: 44822000 */ mtc1 $v0,$f4 .L0f09a018: /* f09a018: ae0f0020 */ sw $t7,0x20($s0) /* f09a01c: ae190608 */ sw $t9,0x608($s0) /* f09a020: ae0d0038 */ sw $t5,0x38($s0) /* f09a024: ae00001c */ sw $zero,0x1c($s0) /* f09a028: ae000018 */ sw $zero,0x18($s0) /* f09a02c: 1000000e */ b .L0f09a068 /* f09a030: 03201825 */ or $v1,$t9,$zero /* f09a034: 44822000 */ mtc1 $v0,$f4 .L0f09a038: /* f09a038: 3c017f1b */ lui $at,%hi(var7f1ac1b8) /* f09a03c: c428c1b8 */ lwc1 $f8,%lo(var7f1ac1b8)($at) /* f09a040: 468021a0 */ cvt.s.w $f6,$f4 /* f09a044: 3c014180 */ lui $at,0x4180 /* f09a048: 44818000 */ mtc1 $at,$f16 /* f09a04c: 02002025 */ or $a0,$s0,$zero /* f09a050: 46083282 */ mul.s $f10,$f6,$f8 /* f09a054: 46105483 */ div.s $f18,$f10,$f16 /* f09a058: 44059000 */ mfc1 $a1,$f18 /* f09a05c: 0fc265e0 */ jal bgun0f099780 /* f09a060: 00000000 */ nop /* f09a064: 8e030608 */ lw $v1,0x608($s0) .L0f09a068: /* f09a068: 24010002 */ addiu $at,$zero,0x2 .L0f09a06c: /* f09a06c: 54610069 */ bnel $v1,$at,.L0f09a214 /* f09a070: 24010003 */ addiu $at,$zero,0x3 /* f09a074: 8e090018 */ lw $t1,0x18($s0) /* f09a078: 8fb80038 */ lw $t8,0x38($sp) /* f09a07c: 5520004f */ bnezl $t1,.L0f09a1bc /* f09a080: 8e0e001c */ lw $t6,0x1c($s0) /* f09a084: 8f0a0000 */ lw $t2,0x0($t8) /* f09a088: 2401001a */ addiu $at,$zero,0x1a /* f09a08c: 8fa80030 */ lw $t0,0x30($sp) /* f09a090: 55410012 */ bnel $t2,$at,.L0f09a0dc /* f09a094: 8e0a060c */ lw $t2,0x60c($s0) /* f09a098: 81020007 */ lb $v0,0x7($t0) /* f09a09c: 0442000f */ bltzl $v0,.L0f09a0dc /* f09a0a0: 8e0a060c */ lw $t2,0x60c($s0) /* f09a0a4: 8f0e0004 */ lw $t6,0x4($t8) /* f09a0a8: 00025880 */ sll $t3,$v0,0x2 /* f09a0ac: 8fa5003c */ lw $a1,0x3c($sp) /* f09a0b0: 01cb6021 */ addu $t4,$t6,$t3 /* f09a0b4: 8d8f001c */ lw $t7,0x1c($t4) /* f09a0b8: 8de4000c */ lw $a0,0xc($t7) /* f09a0bc: 50800007 */ beqzl $a0,.L0f09a0dc /* f09a0c0: 8e0a060c */ lw $t2,0x60c($s0) /* f09a0c4: 0fc26238 */ jal bgun0f0988e0 /* f09a0c8: 02003025 */ or $a2,$s0,$zero /* f09a0cc: 920d0690 */ lbu $t5,0x690($s0) /* f09a0d0: 35a90040 */ ori $t1,$t5,0x40 /* f09a0d4: a2090690 */ sb $t1,0x690($s0) /* f09a0d8: 8e0a060c */ lw $t2,0x60c($s0) .L0f09a0dc: /* f09a0dc: 8fa50038 */ lw $a1,0x38($sp) /* f09a0e0: 02003025 */ or $a2,$s0,$zero /* f09a0e4: 31480010 */ andi $t0,$t2,0x10 /* f09a0e8: 15000004 */ bnez $t0,.L0f09a0fc /* f09a0ec: 00003825 */ or $a3,$zero,$zero /* f09a0f0: 92040003 */ lbu $a0,0x3($s0) /* f09a0f4: 0fc2637e */ jal bgun0f098df8 /* f09a0f8: afa00010 */ sw $zero,0x10($sp) .L0f09a0fc: /* f09a0fc: 3c18800a */ lui $t8,%hi(g_Vars+0x34) /* f09a100: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) /* f09a104: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f09a108: 5b00002c */ blezl $t8,.L0f09a1bc /* f09a10c: 8e0e001c */ lw $t6,0x1c($s0) /* f09a110: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f09a114: 24010001 */ addiu $at,$zero,0x1 /* f09a118: 8dcb0000 */ lw $t3,0x0($t6) /* f09a11c: 51610027 */ beql $t3,$at,.L0f09a1bc /* f09a120: 8e0e001c */ lw $t6,0x1c($s0) /* f09a124: 0fc2775f */ jal bgun0f09dd7c /* f09a128: 00000000 */ nop /* f09a12c: 10400022 */ beqz $v0,.L0f09a1b8 /* f09a130: 3c0c8007 */ lui $t4,%hi(g_PlayerInvincible) /* f09a134: 8d8c0760 */ lw $t4,%lo(g_PlayerInvincible)($t4) /* f09a138: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) /* f09a13c: 5580001f */ bnezl $t4,.L0f09a1bc /* f09a140: 8e0e001c */ lw $t6,0x1c($s0) /* f09a144: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) /* f09a148: 8fad0038 */ lw $t5,0x38($sp) /* f09a14c: 8df900d8 */ lw $t9,0xd8($t7) /* f09a150: 5720001a */ bnezl $t9,.L0f09a1bc /* f09a154: 8e0e001c */ lw $t6,0x1c($s0) /* f09a158: 8da90000 */ lw $t1,0x0($t5) /* f09a15c: 2d210058 */ sltiu $at,$t1,0x58 /* f09a160: 10200006 */ beqz $at,.L0f09a17c /* f09a164: 00094880 */ sll $t1,$t1,0x2 /* f09a168: 3c017f1b */ lui $at,%hi(var7f1ac1bc) /* f09a16c: 00290821 */ addu $at,$at,$t1 /* f09a170: 8c29c1bc */ lw $t1,%lo(var7f1ac1bc)($at) /* f09a174: 01200008 */ jr $t1 /* f09a178: 00000000 */ nop .L0f09a17c: /* f09a17c: 3c01bf80 */ lui $at,0xbf80 /* f09a180: 44812000 */ mtc1 $at,$f4 /* f09a184: 3c048009 */ lui $a0,%hi(var80095200) /* f09a188: 240affff */ addiu $t2,$zero,-1 /* f09a18c: 2408ffff */ addiu $t0,$zero,-1 /* f09a190: 2418ffff */ addiu $t8,$zero,-1 /* f09a194: afb8001c */ sw $t8,0x1c($sp) /* f09a198: afa80018 */ sw $t0,0x18($sp) /* f09a19c: afaa0010 */ sw $t2,0x10($sp) /* f09a1a0: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f09a1a4: 2405804f */ addiu $a1,$zero,-32689 /* f09a1a8: 00003025 */ or $a2,$zero,$zero /* f09a1ac: 2407ffff */ addiu $a3,$zero,-1 /* f09a1b0: 0c004241 */ jal sndStart /* f09a1b4: e7a40014 */ swc1 $f4,0x14($sp) .L0f09a1b8: /* f09a1b8: 8e0e001c */ lw $t6,0x1c($s0) .L0f09a1bc: /* f09a1bc: 8e0b0038 */ lw $t3,0x38($s0) /* f09a1c0: 02002025 */ or $a0,$s0,$zero /* f09a1c4: 3c053f5f */ lui $a1,0x3f5f /* f09a1c8: 01cb082a */ slt $at,$t6,$t3 /* f09a1cc: 1420000d */ bnez $at,.L0f09a204 /* f09a1d0: 00000000 */ nop /* f09a1d4: 8e0c0018 */ lw $t4,0x18($s0) /* f09a1d8: 240f000c */ addiu $t7,$zero,0xc /* f09a1dc: 29810002 */ slti $at,$t4,0x2 /* f09a1e0: 14200008 */ bnez $at,.L0f09a204 /* f09a1e4: 00000000 */ nop /* f09a1e8: 8e190608 */ lw $t9,0x608($s0) /* f09a1ec: ae0f0020 */ sw $t7,0x20($s0) /* f09a1f0: ae00001c */ sw $zero,0x1c($s0) /* f09a1f4: 27230001 */ addiu $v1,$t9,0x1 /* f09a1f8: ae030608 */ sw $v1,0x608($s0) /* f09a1fc: 10000004 */ b .L0f09a210 /* f09a200: ae000018 */ sw $zero,0x18($s0) .L0f09a204: /* f09a204: 0fc265e0 */ jal bgun0f099780 /* f09a208: 34a55dd8 */ ori $a1,$a1,0x5dd8 /* f09a20c: 8e030608 */ lw $v1,0x608($s0) .L0f09a210: /* f09a210: 24010003 */ addiu $at,$zero,0x3 .L0f09a214: /* f09a214: 14610038 */ bne $v1,$at,.L0f09a2f8 /* f09a218: 8fa90038 */ lw $t1,0x38($sp) /* f09a21c: 8d2a0000 */ lw $t2,0x0($t1) /* f09a220: 2401001a */ addiu $at,$zero,0x1a /* f09a224: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f09a228: 55410003 */ bnel $t2,$at,.L0f09a238 /* f09a22c: 8e080018 */ lw $t0,0x18($s0) /* f09a230: ae00068c */ sw $zero,0x68c($s0) /* f09a234: 8e080018 */ lw $t0,0x18($s0) .L0f09a238: /* f09a238: 55000004 */ bnezl $t0,.L0f09a24c /* f09a23c: 8e0e001c */ lw $t6,0x1c($s0) /* f09a240: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f09a244: af001600 */ sw $zero,0x1600($t8) /* f09a248: 8e0e001c */ lw $t6,0x1c($s0) .L0f09a24c: /* f09a24c: 8fab0038 */ lw $t3,0x38($sp) /* f09a250: 29c10017 */ slti $at,$t6,0x17 /* f09a254: 50200010 */ beqzl $at,.L0f09a298 /* f09a258: ae000020 */ sw $zero,0x20($s0) /* f09a25c: 0fc2c6b4 */ jal weaponGetModelNum2 /* f09a260: 8d640000 */ lw $a0,0x0($t3) /* f09a264: 1040000b */ beqz $v0,.L0f09a294 /* f09a268: 8fac0038 */ lw $t4,0x38($sp) /* f09a26c: 8d840000 */ lw $a0,0x0($t4) /* f09a270: 0fc2c5f0 */ jal weaponHasFlag /* f09a274: 24050040 */ addiu $a1,$zero,0x40 /* f09a278: 10400006 */ beqz $v0,.L0f09a294 /* f09a27c: 8faf0038 */ lw $t7,0x38($sp) /* f09a280: 8de40000 */ lw $a0,0x0($t7) /* f09a284: 0fc2c5f0 */ jal weaponHasFlag /* f09a288: 24050080 */ addiu $a1,$zero,0x80 /* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 /* f09a290: 8e19001c */ lw $t9,0x1c($s0) .L0f09a294: /* f09a294: ae000020 */ sw $zero,0x20($s0) .L0f09a298: /* f09a298: ae00001c */ sw $zero,0x1c($s0) /* f09a29c: ae000018 */ sw $zero,0x18($s0) /* f09a2a0: 8fa4003c */ lw $a0,0x3c($sp) /* f09a2a4: 0fc27346 */ jal bgunSetState /* f09a2a8: 00002825 */ or $a1,$zero,$zero /* f09a2ac: 50400013 */ beqzl $v0,.L0f09a2fc /* f09a2b0: 00001025 */ or $v0,$zero,$zero /* f09a2b4: 10000011 */ b .L0f09a2fc /* f09a2b8: 8fa20044 */ lw $v0,0x44($sp) /* f09a2bc: 8e19001c */ lw $t9,0x1c($s0) .L0f09a2c0: /* f09a2c0: 240d0017 */ addiu $t5,$zero,0x17 /* f09a2c4: 3c017f1b */ lui $at,%hi(var7f1ac31c) /* f09a2c8: 01b94823 */ subu $t1,$t5,$t9 /* f09a2cc: 44893000 */ mtc1 $t1,$f6 /* f09a2d0: c42ac31c */ lwc1 $f10,%lo(var7f1ac31c)($at) /* f09a2d4: 3c0141b8 */ lui $at,0x41b8 /* f09a2d8: 46803220 */ cvt.s.w $f8,$f6 /* f09a2dc: 44819000 */ mtc1 $at,$f18 /* f09a2e0: 02002025 */ or $a0,$s0,$zero /* f09a2e4: 460a4402 */ mul.s $f16,$f8,$f10 /* f09a2e8: 46128103 */ div.s $f4,$f16,$f18 /* f09a2ec: 44052000 */ mfc1 $a1,$f4 /* f09a2f0: 0fc265e0 */ jal bgun0f099780 /* f09a2f4: 00000000 */ nop .L0f09a2f8: /* f09a2f8: 00001025 */ or $v0,$zero,$zero .L0f09a2fc: /* f09a2fc: 8fbf002c */ lw $ra,0x2c($sp) /* f09a300: 8fb00028 */ lw $s0,0x28($sp) /* f09a304: 27bd0038 */ addiu $sp,$sp,0x38 /* f09a308: 03e00008 */ jr $ra /* f09a30c: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgunTickIncReload .late_rodata glabel var7f1ac1b8 .word 0x3f5f5dd8 glabel var7f1ac1bc .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac1c0 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac1c4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1c8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1cc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1d8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1dc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1e8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1ec .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1f8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac1fc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac200 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac204 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac208 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac20c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac210 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac214 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac218 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac21c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac220 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac224 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac228 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac22c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac230 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac234 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac238 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac23c .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac240 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac244 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac248 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac24c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac250 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac254 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac258 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac25c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac260 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac264 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac268 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac26c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac270 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac274 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac278 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac27c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac280 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac284 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac288 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac28c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac290 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac294 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac298 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac29c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2a8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2ac .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2b0 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2b4 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2b8 .word bgunTickIncReload+0x570 # f09a1b8 glabel var7f1ac2bc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2c8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2cc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2d8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2dc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2e8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2ec .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f0 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f4 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2f8 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac2fc .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac300 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac304 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac308 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac30c .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac310 .word bgunTickIncReload+0x534 # f09a17c glabel var7f1ac314 .word bgunTickIncReload+0x570 glabel var7f1ac31c .word 0x3f5f5dd8 .text /* f099c48: 27bdffc8 */ addiu $sp,$sp,-56 /* f099c4c: afbf002c */ sw $ra,0x2c($sp) /* f099c50: afb00028 */ sw $s0,0x28($sp) /* f099c54: afa40038 */ sw $a0,0x38($sp) /* f099c58: 00c08025 */ or $s0,$a2,$zero /* f099c5c: afa5003c */ sw $a1,0x3c($sp) /* f099c60: afa70044 */ sw $a3,0x44($sp) /* f099c64: 0fc2c41f */ jal gsetGetWeaponFunction /* f099c68: 00c02025 */ or $a0,$a2,$zero /* f099c6c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f099c70: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f099c74: afa20030 */ sw $v0,0x30($sp) /* f099c78: 2418ffff */ addiu $t8,$zero,-1 /* f099c7c: 8dcf00d8 */ lw $t7,0xd8($t6) /* f099c80: 00002825 */ or $a1,$zero,$zero /* f099c84: 51e0000a */ beqzl $t7,.L0f099cb0 /* f099c88: 8e190618 */ lw $t9,0x618($s0) /* f099c8c: ae00068c */ sw $zero,0x68c($s0) /* f099c90: ae180680 */ sw $t8,0x680($s0) /* f099c94: 0fc27346 */ jal bgunSetState /* f099c98: 8fa4003c */ lw $a0,0x3c($sp) /* f099c9c: 50400004 */ beqzl $v0,.L0f099cb0 /* f099ca0: 8e190618 */ lw $t9,0x618($s0) /* f099ca4: 10000195 */ b .L0f09a2fc /* f099ca8: 8fa20044 */ lw $v0,0x44($sp) /* f099cac: 8e190618 */ lw $t9,0x618($s0) .L0f099cb0: /* f099cb0: 8fa9003c */ lw $t1,0x3c($sp) /* f099cb4: 3c08800a */ lui $t0,%hi(g_Vars+0x284) /* f099cb8: 17200018 */ bnez $t9,.L0f099d1c /* f099cbc: 00095100 */ sll $t2,$t1,0x4 /* f099cc0: 01495023 */ subu $t2,$t2,$t1 /* f099cc4: 000a5080 */ sll $t2,$t2,0x2 /* f099cc8: 01495021 */ addu $t2,$t2,$t1 /* f099ccc: 000a50c0 */ sll $t2,$t2,0x3 /* f099cd0: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0) /* f099cd4: 01495021 */ addu $t2,$t2,$t1 /* f099cd8: 000a5080 */ sll $t2,$t2,0x2 /* f099cdc: 000a5823 */ negu $t3,$t2 /* f099ce0: 240cffff */ addiu $t4,$zero,-1 /* f099ce4: ae0c0670 */ sw $t4,0x670($s0) /* f099ce8: ae000674 */ sw $zero,0x674($s0) /* f099cec: 010b1021 */ addu $v0,$t0,$t3 /* f099cf0: 8c4d13e0 */ lw $t5,0x13e0($v0) /* f099cf4: 24010001 */ addiu $at,$zero,0x1 /* f099cf8: 24420ddc */ addiu $v0,$v0,0xddc /* f099cfc: 55a10008 */ bnel $t5,$at,.L0f099d20 /* f099d00: 8e030608 */ lw $v1,0x608($s0) /* f099d04: 8c4e0614 */ lw $t6,0x614($v0) /* f099d08: 240f0009 */ addiu $t7,$zero,0x9 /* f099d0c: 29c10014 */ slti $at,$t6,0x14 /* f099d10: 50200003 */ beqzl $at,.L0f099d20 /* f099d14: 8e030608 */ lw $v1,0x608($s0) /* f099d18: ae0f0608 */ sw $t7,0x608($s0) .L0f099d1c: /* f099d1c: 8e030608 */ lw $v1,0x608($s0) .L0f099d20: /* f099d20: 8fb9003c */ lw $t9,0x3c($sp) /* f099d24: 24010009 */ addiu $at,$zero,0x9 /* f099d28: 1461001a */ bne $v1,$at,.L0f099d94 /* f099d2c: 00194900 */ sll $t1,$t9,0x4 /* f099d30: 01394823 */ subu $t1,$t1,$t9 /* f099d34: 00094880 */ sll $t1,$t1,0x2 /* f099d38: 01394821 */ addu $t1,$t1,$t9 /* f099d3c: 000948c0 */ sll $t1,$t1,0x3 /* f099d40: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f099d44: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f099d48: 01394821 */ addu $t1,$t1,$t9 /* f099d4c: 00094880 */ sll $t1,$t1,0x2 /* f099d50: 00095023 */ negu $t2,$t1 /* f099d54: 030a1021 */ addu $v0,$t8,$t2 /* f099d58: 8c4813e0 */ lw $t0,0x13e0($v0) /* f099d5c: 24010001 */ addiu $at,$zero,0x1 /* f099d60: 24420ddc */ addiu $v0,$v0,0xddc /* f099d64: 15010007 */ bne $t0,$at,.L0f099d84 /* f099d68: 00001825 */ or $v1,$zero,$zero /* f099d6c: 8c4b0614 */ lw $t3,0x614($v0) /* f099d70: 29610014 */ slti $at,$t3,0x14 /* f099d74: 50200004 */ beqzl $at,.L0f099d88 /* f099d78: ae000614 */ sw $zero,0x614($s0) /* f099d7c: 1000015f */ b .L0f09a2fc /* f099d80: 00001025 */ or $v0,$zero,$zero .L0f099d84: /* f099d84: ae000614 */ sw $zero,0x614($s0) .L0f099d88: /* f099d88: ae000618 */ sw $zero,0x618($s0) /* f099d8c: ae000608 */ sw $zero,0x608($s0) /* f099d90: ae00061c */ sw $zero,0x61c($s0) .L0f099d94: /* f099d94: 54600095 */ bnezl $v1,.L0f099fec /* f099d98: 24010001 */ addiu $at,$zero,0x1 /* f099d9c: 8e0c0618 */ lw $t4,0x618($s0) /* f099da0: 8fad0030 */ lw $t5,0x30($sp) /* f099da4: 8faa0030 */ lw $t2,0x30($sp) /* f099da8: 5580003f */ bnezl $t4,.L0f099ea8 /* f099dac: 8fb80038 */ lw $t8,0x38($sp) /* f099db0: 11a00034 */ beqz $t5,.L0f099e84 /* f099db4: 8fa4003c */ lw $a0,0x3c($sp) /* f099db8: 81a20007 */ lb $v0,0x7($t5) /* f099dbc: 24010001 */ addiu $at,$zero,0x1 /* f099dc0: 8fae0038 */ lw $t6,0x38($sp) /* f099dc4: 50400004 */ beqzl $v0,.L0f099dd8 /* f099dc8: 8dcf0004 */ lw $t7,0x4($t6) /* f099dcc: 1441002d */ bne $v0,$at,.L0f099e84 /* f099dd0: 00000000 */ nop /* f099dd4: 8dcf0004 */ lw $t7,0x4($t6) .L0f099dd8: /* f099dd8: 0002c880 */ sll $t9,$v0,0x2 /* f099ddc: 01f94821 */ addu $t1,$t7,$t9 /* f099de0: 8d38001c */ lw $t8,0x1c($t1) /* f099de4: 24690001 */ addiu $t1,$v1,0x1 /* f099de8: 8f04000c */ lw $a0,0xc($t8) /* f099dec: 10800023 */ beqz $a0,.L0f099e7c /* f099df0: 00000000 */ nop /* f099df4: 8dca0000 */ lw $t2,0x0($t6) /* f099df8: 2401001a */ addiu $at,$zero,0x1a /* f099dfc: 8fa5003c */ lw $a1,0x3c($sp) /* f099e00: 1141001e */ beq $t2,$at,.L0f099e7c /* f099e04: 00000000 */ nop /* f099e08: 0fc26238 */ jal bgun0f0988e0 /* f099e0c: 02003025 */ or $a2,$s0,$zero /* f099e10: 920b06d6 */ lbu $t3,0x6d6($s0) /* f099e14: 8fa30038 */ lw $v1,0x38($sp) /* f099e18: 356c0001 */ ori $t4,$t3,0x1 /* f099e1c: a20c06d6 */ sb $t4,0x6d6($s0) /* f099e20: 8faf0030 */ lw $t7,0x30($sp) /* f099e24: 8c6d0004 */ lw $t5,0x4($v1) /* f099e28: 81f90007 */ lb $t9,0x7($t7) /* f099e2c: 00194880 */ sll $t1,$t9,0x2 /* f099e30: 01a9c021 */ addu $t8,$t5,$t1 /* f099e34: 8f0e001c */ lw $t6,0x1c($t8) /* f099e38: 91ca0010 */ lbu $t2,0x10($t6) /* f099e3c: 31480004 */ andi $t0,$t2,0x4 /* f099e40: 51000005 */ beqzl $t0,.L0f099e58 /* f099e44: 8c620000 */ lw $v0,0x0($v1) /* f099e48: 920c0690 */ lbu $t4,0x690($s0) /* f099e4c: 358f0020 */ ori $t7,$t4,0x20 /* f099e50: a20f0690 */ sb $t7,0x690($s0) /* f099e54: 8c620000 */ lw $v0,0x0($v1) .L0f099e58: /* f099e58: 2401001e */ addiu $at,$zero,0x1e /* f099e5c: 10410003 */ beq $v0,$at,.L0f099e6c /* f099e60: 2401001f */ addiu $at,$zero,0x1f /* f099e64: 1441000d */ bne $v0,$at,.L0f099e9c /* f099e68: 00000000 */ nop .L0f099e6c: /* f099e6c: 921906d6 */ lbu $t9,0x6d6($s0) /* f099e70: 332dff0f */ andi $t5,$t9,0xff0f /* f099e74: 10000009 */ b .L0f099e9c /* f099e78: a20d06d6 */ sb $t5,0x6d6($s0) .L0f099e7c: /* f099e7c: 10000007 */ b .L0f099e9c /* f099e80: ae090608 */ sw $t1,0x608($s0) .L0f099e84: /* f099e84: 0fc27346 */ jal bgunSetState /* f099e88: 00002825 */ or $a1,$zero,$zero /* f099e8c: 10400003 */ beqz $v0,.L0f099e9c /* f099e90: 00000000 */ nop /* f099e94: 10000119 */ b .L0f09a2fc /* f099e98: 8fa20044 */ lw $v0,0x44($sp) .L0f099e9c: /* f099e9c: 10000052 */ b .L0f099fe8 /* f099ea0: 8e030608 */ lw $v1,0x608($s0) /* f099ea4: 8fb80038 */ lw $t8,0x38($sp) .L0f099ea8: /* f099ea8: 81480007 */ lb $t0,0x7($t2) /* f099eac: 02002025 */ or $a0,$s0,$zero /* f099eb0: 8f0e0004 */ lw $t6,0x4($t8) /* f099eb4: 00085880 */ sll $t3,$t0,0x2 /* f099eb8: 01cb6021 */ addu $t4,$t6,$t3 /* f099ebc: 8d8f001c */ lw $t7,0x1c($t4) /* f099ec0: 91f90010 */ lbu $t9,0x10($t7) /* f099ec4: 332d0004 */ andi $t5,$t9,0x4 /* f099ec8: 51a0002b */ beqzl $t5,.L0f099f78 /* f099ecc: 8e18060c */ lw $t8,0x60c($s0) /* f099ed0: 0fc26291 */ jal bgun0f098a44 /* f099ed4: 24050001 */ addiu $a1,$zero,0x1 /* f099ed8: 5040001f */ beqzl $v0,.L0f099f58 /* f099edc: ae00060c */ sw $zero,0x60c($s0) /* f099ee0: 8e09060c */ lw $t1,0x60c($s0) /* f099ee4: 8fa50038 */ lw $a1,0x38($sp) /* f099ee8: 02003025 */ or $a2,$s0,$zero /* f099eec: 31380010 */ andi $t8,$t1,0x10 /* f099ef0: 17000019 */ bnez $t8,.L0f099f58 /* f099ef4: 24070001 */ addiu $a3,$zero,0x1 /* f099ef8: 92040003 */ lbu $a0,0x3($s0) /* f099efc: 0fc2637e */ jal bgun0f098df8 /* f099f00: afa00010 */ sw $zero,0x10($sp) /* f099f04: 8e0a060c */ lw $t2,0x60c($s0) /* f099f08: 92040003 */ lbu $a0,0x3($s0) /* f099f0c: 02003025 */ or $a2,$s0,$zero /* f099f10: 35480010 */ ori $t0,$t2,0x10 /* f099f14: ae08060c */ sw $t0,0x60c($s0) /* f099f18: 0fc26328 */ jal bgun0f098ca0 /* f099f1c: 8fa50038 */ lw $a1,0x38($sp) /* f099f20: 28410002 */ slti $at,$v0,0x2 /* f099f24: 54200005 */ bnezl $at,.L0f099f3c /* f099f28: 2401ffff */ addiu $at,$zero,-1 /* f099f2c: 920e0690 */ lbu $t6,0x690($s0) /* f099f30: 31cbffdf */ andi $t3,$t6,0xffdf /* f099f34: a20b0690 */ sb $t3,0x690($s0) /* f099f38: 2401ffff */ addiu $at,$zero,-1 .L0f099f3c: /* f099f3c: 54410007 */ bnel $v0,$at,.L0f099f5c /* f099f40: 8e19000c */ lw $t9,0xc($s0) /* f099f44: 920c0690 */ lbu $t4,0x690($s0) /* f099f48: 318fffdf */ andi $t7,$t4,0xffdf /* f099f4c: 10000002 */ b .L0f099f58 /* f099f50: a20f0690 */ sb $t7,0x690($s0) /* f099f54: ae00060c */ sw $zero,0x60c($s0) .L0f099f58: /* f099f58: 8e19000c */ lw $t9,0xc($s0) .L0f099f5c: /* f099f5c: 53200017 */ beqzl $t9,.L0f099fbc /* f099f60: 8e0b068c */ lw $t3,0x68c($s0) /* f099f64: 920d0690 */ lbu $t5,0x690($s0) /* f099f68: 31a9ffdf */ andi $t1,$t5,0xffdf /* f099f6c: 10000012 */ b .L0f099fb8 /* f099f70: a2090690 */ sb $t1,0x690($s0) /* f099f74: 8e18060c */ lw $t8,0x60c($s0) .L0f099f78: /* f099f78: 02002025 */ or $a0,$s0,$zero /* f099f7c: 330a0010 */ andi $t2,$t8,0x10 /* f099f80: 5540000e */ bnezl $t2,.L0f099fbc /* f099f84: 8e0b068c */ lw $t3,0x68c($s0) /* f099f88: 0fc26291 */ jal bgun0f098a44 /* f099f8c: 24050001 */ addiu $a1,$zero,0x1 /* f099f90: 10400009 */ beqz $v0,.L0f099fb8 /* f099f94: 8fa50038 */ lw $a1,0x38($sp) /* f099f98: 92040003 */ lbu $a0,0x3($s0) /* f099f9c: afa00010 */ sw $zero,0x10($sp) /* f099fa0: 02003025 */ or $a2,$s0,$zero /* f099fa4: 0fc2637e */ jal bgun0f098df8 /* f099fa8: 00003825 */ or $a3,$zero,$zero /* f099fac: 8e08060c */ lw $t0,0x60c($s0) /* f099fb0: 350e0010 */ ori $t6,$t0,0x10 /* f099fb4: ae0e060c */ sw $t6,0x60c($s0) .L0f099fb8: /* f099fb8: 8e0b068c */ lw $t3,0x68c($s0) .L0f099fbc: /* f099fbc: 24010002 */ addiu $at,$zero,0x2 /* f099fc0: 8fa4003c */ lw $a0,0x3c($sp) /* f099fc4: 51610008 */ beql $t3,$at,.L0f099fe8 /* f099fc8: 8e030608 */ lw $v1,0x608($s0) /* f099fcc: 0fc27346 */ jal bgunSetState /* f099fd0: 00002825 */ or $a1,$zero,$zero /* f099fd4: 50400004 */ beqzl $v0,.L0f099fe8 /* f099fd8: 8e030608 */ lw $v1,0x608($s0) /* f099fdc: 100000c7 */ b .L0f09a2fc /* f099fe0: 8fa20044 */ lw $v0,0x44($sp) /* f099fe4: 8e030608 */ lw $v1,0x608($s0) .L0f099fe8: /* f099fe8: 24010001 */ addiu $at,$zero,0x1 .L0f099fec: /* f099fec: 5461001f */ bnel $v1,$at,.L0f09a06c /* f099ff0: 24010002 */ addiu $at,$zero,0x2 /* f099ff4: 8e02001c */ lw $v0,0x1c($s0) /* f099ff8: 240f000b */ addiu $t7,$zero,0xb /* f099ffc: 24790001 */ addiu $t9,$v1,0x1 /* f09a000: 28410010 */ slti $at,$v0,0x10 /* f09a004: 10200004 */ beqz $at,.L0f09a018 /* f09a008: 240d0011 */ addiu $t5,$zero,0x11 /* f09a00c: 820c0007 */ lb $t4,0x7($s0) /* f09a010: 55800009 */ bnezl $t4,.L0f09a038 /* f09a014: 44822000 */ mtc1 $v0,$f4 .L0f09a018: /* f09a018: ae0f0020 */ sw $t7,0x20($s0) /* f09a01c: ae190608 */ sw $t9,0x608($s0) /* f09a020: ae0d0038 */ sw $t5,0x38($s0) /* f09a024: ae00001c */ sw $zero,0x1c($s0) /* f09a028: ae000018 */ sw $zero,0x18($s0) /* f09a02c: 1000000e */ b .L0f09a068 /* f09a030: 03201825 */ or $v1,$t9,$zero /* f09a034: 44822000 */ mtc1 $v0,$f4 .L0f09a038: /* f09a038: 3c017f1b */ lui $at,%hi(var7f1ac1b8) /* f09a03c: c428c1b8 */ lwc1 $f8,%lo(var7f1ac1b8)($at) /* f09a040: 468021a0 */ cvt.s.w $f6,$f4 /* f09a044: 3c014180 */ lui $at,0x4180 /* f09a048: 44818000 */ mtc1 $at,$f16 /* f09a04c: 02002025 */ or $a0,$s0,$zero /* f09a050: 46083282 */ mul.s $f10,$f6,$f8 /* f09a054: 46105483 */ div.s $f18,$f10,$f16 /* f09a058: 44059000 */ mfc1 $a1,$f18 /* f09a05c: 0fc265e0 */ jal bgun0f099780 /* f09a060: 00000000 */ nop /* f09a064: 8e030608 */ lw $v1,0x608($s0) .L0f09a068: /* f09a068: 24010002 */ addiu $at,$zero,0x2 .L0f09a06c: /* f09a06c: 54610069 */ bnel $v1,$at,.L0f09a214 /* f09a070: 24010003 */ addiu $at,$zero,0x3 /* f09a074: 8e090018 */ lw $t1,0x18($s0) /* f09a078: 8fb80038 */ lw $t8,0x38($sp) /* f09a07c: 5520004f */ bnezl $t1,.L0f09a1bc /* f09a080: 8e0e001c */ lw $t6,0x1c($s0) /* f09a084: 8f0a0000 */ lw $t2,0x0($t8) /* f09a088: 2401001a */ addiu $at,$zero,0x1a /* f09a08c: 8fa80030 */ lw $t0,0x30($sp) /* f09a090: 55410012 */ bnel $t2,$at,.L0f09a0dc /* f09a094: 8e0a060c */ lw $t2,0x60c($s0) /* f09a098: 81020007 */ lb $v0,0x7($t0) /* f09a09c: 0442000f */ bltzl $v0,.L0f09a0dc /* f09a0a0: 8e0a060c */ lw $t2,0x60c($s0) /* f09a0a4: 8f0e0004 */ lw $t6,0x4($t8) /* f09a0a8: 00025880 */ sll $t3,$v0,0x2 /* f09a0ac: 8fa5003c */ lw $a1,0x3c($sp) /* f09a0b0: 01cb6021 */ addu $t4,$t6,$t3 /* f09a0b4: 8d8f001c */ lw $t7,0x1c($t4) /* f09a0b8: 8de4000c */ lw $a0,0xc($t7) /* f09a0bc: 50800007 */ beqzl $a0,.L0f09a0dc /* f09a0c0: 8e0a060c */ lw $t2,0x60c($s0) /* f09a0c4: 0fc26238 */ jal bgun0f0988e0 /* f09a0c8: 02003025 */ or $a2,$s0,$zero /* f09a0cc: 920d0690 */ lbu $t5,0x690($s0) /* f09a0d0: 35a90040 */ ori $t1,$t5,0x40 /* f09a0d4: a2090690 */ sb $t1,0x690($s0) /* f09a0d8: 8e0a060c */ lw $t2,0x60c($s0) .L0f09a0dc: /* f09a0dc: 8fa50038 */ lw $a1,0x38($sp) /* f09a0e0: 02003025 */ or $a2,$s0,$zero /* f09a0e4: 31480010 */ andi $t0,$t2,0x10 /* f09a0e8: 15000004 */ bnez $t0,.L0f09a0fc /* f09a0ec: 00003825 */ or $a3,$zero,$zero /* f09a0f0: 92040003 */ lbu $a0,0x3($s0) /* f09a0f4: 0fc2637e */ jal bgun0f098df8 /* f09a0f8: afa00010 */ sw $zero,0x10($sp) .L0f09a0fc: /* f09a0fc: 3c18800a */ lui $t8,%hi(g_Vars+0x34) /* f09a100: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) /* f09a104: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f09a108: 5b00002c */ blezl $t8,.L0f09a1bc /* f09a10c: 8e0e001c */ lw $t6,0x1c($s0) /* f09a110: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f09a114: 24010001 */ addiu $at,$zero,0x1 /* f09a118: 8dcb0000 */ lw $t3,0x0($t6) /* f09a11c: 51610027 */ beql $t3,$at,.L0f09a1bc /* f09a120: 8e0e001c */ lw $t6,0x1c($s0) /* f09a124: 0fc2775f */ jal bgun0f09dd7c /* f09a128: 00000000 */ nop /* f09a12c: 10400022 */ beqz $v0,.L0f09a1b8 /* f09a130: 3c0c8007 */ lui $t4,%hi(g_PlayerInvincible) /* f09a134: 8d8c0760 */ lw $t4,%lo(g_PlayerInvincible)($t4) /* f09a138: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) /* f09a13c: 5580001f */ bnezl $t4,.L0f09a1bc /* f09a140: 8e0e001c */ lw $t6,0x1c($s0) /* f09a144: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) /* f09a148: 8fad0038 */ lw $t5,0x38($sp) /* f09a14c: 8df900d8 */ lw $t9,0xd8($t7) /* f09a150: 5720001a */ bnezl $t9,.L0f09a1bc /* f09a154: 8e0e001c */ lw $t6,0x1c($s0) /* f09a158: 8da90000 */ lw $t1,0x0($t5) /* f09a15c: 2d210058 */ sltiu $at,$t1,0x58 /* f09a160: 10200006 */ beqz $at,.L0f09a17c /* f09a164: 00094880 */ sll $t1,$t1,0x2 /* f09a168: 3c017f1b */ lui $at,%hi(var7f1ac1bc) /* f09a16c: 00290821 */ addu $at,$at,$t1 /* f09a170: 8c29c1bc */ lw $t1,%lo(var7f1ac1bc)($at) /* f09a174: 01200008 */ jr $t1 /* f09a178: 00000000 */ nop .L0f09a17c: /* f09a17c: 3c01bf80 */ lui $at,0xbf80 /* f09a180: 44812000 */ mtc1 $at,$f4 /* f09a184: 3c048009 */ lui $a0,%hi(var80095200) /* f09a188: 240affff */ addiu $t2,$zero,-1 /* f09a18c: 2408ffff */ addiu $t0,$zero,-1 /* f09a190: 2418ffff */ addiu $t8,$zero,-1 /* f09a194: afb8001c */ sw $t8,0x1c($sp) /* f09a198: afa80018 */ sw $t0,0x18($sp) /* f09a19c: afaa0010 */ sw $t2,0x10($sp) /* f09a1a0: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f09a1a4: 2405804f */ addiu $a1,$zero,-32689 /* f09a1a8: 00003025 */ or $a2,$zero,$zero /* f09a1ac: 2407ffff */ addiu $a3,$zero,-1 /* f09a1b0: 0c004241 */ jal sndStart /* f09a1b4: e7a40014 */ swc1 $f4,0x14($sp) .L0f09a1b8: /* f09a1b8: 8e0e001c */ lw $t6,0x1c($s0) .L0f09a1bc: /* f09a1bc: 8e0b0038 */ lw $t3,0x38($s0) /* f09a1c0: 02002025 */ or $a0,$s0,$zero /* f09a1c4: 3c053f5f */ lui $a1,0x3f5f /* f09a1c8: 01cb082a */ slt $at,$t6,$t3 /* f09a1cc: 1420000d */ bnez $at,.L0f09a204 /* f09a1d0: 00000000 */ nop /* f09a1d4: 8e0c0018 */ lw $t4,0x18($s0) /* f09a1d8: 240f000c */ addiu $t7,$zero,0xc /* f09a1dc: 29810002 */ slti $at,$t4,0x2 /* f09a1e0: 14200008 */ bnez $at,.L0f09a204 /* f09a1e4: 00000000 */ nop /* f09a1e8: 8e190608 */ lw $t9,0x608($s0) /* f09a1ec: ae0f0020 */ sw $t7,0x20($s0) /* f09a1f0: ae00001c */ sw $zero,0x1c($s0) /* f09a1f4: 27230001 */ addiu $v1,$t9,0x1 /* f09a1f8: ae030608 */ sw $v1,0x608($s0) /* f09a1fc: 10000004 */ b .L0f09a210 /* f09a200: ae000018 */ sw $zero,0x18($s0) .L0f09a204: /* f09a204: 0fc265e0 */ jal bgun0f099780 /* f09a208: 34a55dd8 */ ori $a1,$a1,0x5dd8 /* f09a20c: 8e030608 */ lw $v1,0x608($s0) .L0f09a210: /* f09a210: 24010003 */ addiu $at,$zero,0x3 .L0f09a214: /* f09a214: 14610038 */ bne $v1,$at,.L0f09a2f8 /* f09a218: 8fa90038 */ lw $t1,0x38($sp) /* f09a21c: 8d2a0000 */ lw $t2,0x0($t1) /* f09a220: 2401001a */ addiu $at,$zero,0x1a /* f09a224: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f09a228: 55410003 */ bnel $t2,$at,.L0f09a238 /* f09a22c: 8e080018 */ lw $t0,0x18($s0) /* f09a230: ae00068c */ sw $zero,0x68c($s0) /* f09a234: 8e080018 */ lw $t0,0x18($s0) .L0f09a238: /* f09a238: 55000004 */ bnezl $t0,.L0f09a24c /* f09a23c: 8e0e001c */ lw $t6,0x1c($s0) /* f09a240: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f09a244: af001600 */ sw $zero,0x1600($t8) /* f09a248: 8e0e001c */ lw $t6,0x1c($s0) .L0f09a24c: /* f09a24c: 8fab0038 */ lw $t3,0x38($sp) /* f09a250: 29c10017 */ slti $at,$t6,0x17 /* f09a254: 50200010 */ beqzl $at,.L0f09a298 /* f09a258: ae000020 */ sw $zero,0x20($s0) /* f09a25c: 0fc2c6b4 */ jal weaponGetModelNum2 /* f09a260: 8d640000 */ lw $a0,0x0($t3) /* f09a264: 1040000b */ beqz $v0,.L0f09a294 /* f09a268: 8fac0038 */ lw $t4,0x38($sp) /* f09a26c: 8d840000 */ lw $a0,0x0($t4) /* f09a270: 0fc2c5f0 */ jal weaponHasFlag /* f09a274: 24050040 */ addiu $a1,$zero,0x40 /* f09a278: 10400006 */ beqz $v0,.L0f09a294 /* f09a27c: 8faf0038 */ lw $t7,0x38($sp) /* f09a280: 8de40000 */ lw $a0,0x0($t7) /* f09a284: 0fc2c5f0 */ jal weaponHasFlag /* f09a288: 24050080 */ addiu $a1,$zero,0x80 /* f09a28c: 5040000c */ beqzl $v0,.L0f09a2c0 /* f09a290: 8e19001c */ lw $t9,0x1c($s0) .L0f09a294: /* f09a294: ae000020 */ sw $zero,0x20($s0) .L0f09a298: /* f09a298: ae00001c */ sw $zero,0x1c($s0) /* f09a29c: ae000018 */ sw $zero,0x18($s0) /* f09a2a0: 8fa4003c */ lw $a0,0x3c($sp) /* f09a2a4: 0fc27346 */ jal bgunSetState /* f09a2a8: 00002825 */ or $a1,$zero,$zero /* f09a2ac: 50400013 */ beqzl $v0,.L0f09a2fc /* f09a2b0: 00001025 */ or $v0,$zero,$zero /* f09a2b4: 10000011 */ b .L0f09a2fc /* f09a2b8: 8fa20044 */ lw $v0,0x44($sp) /* f09a2bc: 8e19001c */ lw $t9,0x1c($s0) .L0f09a2c0: /* f09a2c0: 240d0017 */ addiu $t5,$zero,0x17 /* f09a2c4: 3c017f1b */ lui $at,%hi(var7f1ac31c) /* f09a2c8: 01b94823 */ subu $t1,$t5,$t9 /* f09a2cc: 44893000 */ mtc1 $t1,$f6 /* f09a2d0: c42ac31c */ lwc1 $f10,%lo(var7f1ac31c)($at) /* f09a2d4: 3c0141b8 */ lui $at,0x41b8 /* f09a2d8: 46803220 */ cvt.s.w $f8,$f6 /* f09a2dc: 44819000 */ mtc1 $at,$f18 /* f09a2e0: 02002025 */ or $a0,$s0,$zero /* f09a2e4: 460a4402 */ mul.s $f16,$f8,$f10 /* f09a2e8: 46128103 */ div.s $f4,$f16,$f18 /* f09a2ec: 44052000 */ mfc1 $a1,$f4 /* f09a2f0: 0fc265e0 */ jal bgun0f099780 /* f09a2f4: 00000000 */ nop .L0f09a2f8: /* f09a2f8: 00001025 */ or $v0,$zero,$zero .L0f09a2fc: /* f09a2fc: 8fbf002c */ lw $ra,0x2c($sp) /* f09a300: 8fb00028 */ lw $s0,0x28($sp) /* f09a304: 27bd0038 */ addiu $sp,$sp,0x38 /* f09a308: 03e00008 */ jr $ra /* f09a30c: 00000000 */ nop ); #endif // Mismatch: Branch logic near e9c is different (but functionally the same) //s32 bgunTickIncReload(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) //{ // struct weaponfunc *func = gsetGetWeaponFunction(&hand->gset); // // if (g_Vars.currentplayer->isdead) { // hand->animmode = HANDANIMMODE_IDLE; // hand->animload = -1; // // if (bgunSetState(handnum, HANDSTATE_IDLE)) { // return lvupdate; // } // } // // if (hand->statecycles == 0) { // struct hand *hand2 = &g_Vars.currentplayer->hands[1 - handnum]; // // hand->gs_int1 = -1; // hand->gs_int2 = 0; // // if (hand2->state == HANDSTATE_RELOAD && hand2->stateframes < PALDOWN(20)) { // hand->stateminor = 9; // } // } // // if (hand->stateminor == 9) { // struct hand *hand2 = &g_Vars.currentplayer->hands[1 - handnum]; // // if (hand2->state == HANDSTATE_RELOAD && hand2->stateframes < PALDOWN(20)) { // return 0; // } // // hand->stateframes = 0; // hand->statecycles = 0; // hand->stateminor = 0; // hand->statelastframe = 0; // } // // // d94 // if (hand->stateminor == 0) { // if (hand->statecycles == 0) { // if (func && (func->ammoindex == 0 || func->ammoindex == 1)) { // if (info->definition->ammos[func->ammoindex]->reload_animation // && info->weaponnum != WEAPON_COMBATKNIFE) { // bgun0f0988e0(info->definition->ammos[func->ammoindex]->reload_animation, handnum, hand); // // hand->unk0d0e_07 = true; // // if (info->definition->ammos[func->ammoindex]->flags & 4) { // hand->unk0cc8_03 = true; // } // // if (info->weaponnum == WEAPON_GRENADE || info->weaponnum == WEAPON_NBOMB) { // hand->unk0d0e_00 = 0; // } // } else { // hand->stateminor++; // } // } else { // if (bgunSetState(handnum, HANDSTATE_IDLE)) { // return lvupdate; // } // } // // // e9c // if (hand); // } else { // if (info->definition->ammos[func->ammoindex]->flags & 4) { // if (bgun0f098a44(hand, 1)) { // if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { // s32 value; // // bgun0f098df8(hand->gset.weaponfunc, info, hand, 1, 0); // hand->stateflags |= HANDSTATEFLAG_00000010; // value = bgun0f098ca0(hand->gset.weaponfunc, info, hand); // // if (value >= 2) { // hand->unk0cc8_03 = false; // } // // if (value == -1) { // hand->unk0cc8_03 = false; // } // } // } else { // hand->stateflags = 0; // } // // if (hand->triggeron) { // hand->unk0cc8_03 = false; // } // } else { // if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { // if (bgun0f098a44(hand, 1)) { // bgun0f098df8(hand->gset.weaponfunc, info, hand, 0, 0); // hand->stateflags |= HANDSTATEFLAG_00000010; // } // } // } // // if (hand->animmode != HANDANIMMODE_BUSY) { // if (bgunSetState(handnum, HANDSTATE_IDLE)) { // return lvupdate; // } // } // } // } // // if (1); // // if (hand->stateminor == 1) { // if (hand->count60 > PALDOWN(15) || !hand->visible) { // hand->mode = HANDMODE_11; // hand->stateminor++; // hand->pausetime60 = PALDOWN(17); // hand->count60 = 0; // hand->count = 0; // } else { // bgun0f099780(hand, (hand->count60 * 0.87252569198608f) / PALDOWN(16)); // } // } // // if (hand->stateminor == 2) { // if (hand->count == 0) { // if (info->weaponnum == WEAPON_COMBATKNIFE // && func->ammoindex >= 0 // && info->definition->ammos[func->ammoindex]->reload_animation) { // bgun0f0988e0(info->definition->ammos[func->ammoindex]->reload_animation, handnum, hand); // hand->unk0cc8_02 = true; // } // // if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { // bgun0f098df8(hand->gset.weaponfunc, info, hand, 0, 0); // } // // if (g_Vars.lvupdate240 > 0 // && g_Vars.currentplayer->cameramode != CAMERAMODE_THIRDPERSON // && bgun0f09dd7c() // && !g_PlayerInvincible // && !g_Vars.currentplayer->isdead) { // switch (info->weaponnum) { // default: // sndStart(var80095200, SFX_RELOAD_DEFAULT, 0, -1, -1, -1, -1, -1); // break; // case WEAPON_NONE: // case WEAPON_UNARMED: // case WEAPON_COMBATKNIFE: // case WEAPON_LASER: // case WEAPON_GRENADE: // case WEAPON_NBOMB: // case WEAPON_PROXIMITYMINE: // case WEAPON_REMOTEMINE: // case WEAPON_ECMMINE: // case WEAPON_COMMSRIDER: // case WEAPON_TRACERBUG: // case WEAPON_TARGETAMPLIFIER: // case WEAPON_BRIEFCASE2: // break; // } // } // } // // if (hand->count60 >= hand->pausetime60 && hand->count >= 2) { // hand->mode = HANDMODE_12; // hand->stateminor++; // hand->count60 = 0; // hand->count = 0; // } else { // bgun0f099780(hand, 0.87252569198608f); // } // } // // if (hand->stateminor == 3) { // if (info->weaponnum == WEAPON_COMBATKNIFE) { // hand->animmode = HANDANIMMODE_IDLE; // } // // if (hand->count == 0) { // g_Vars.currentplayer->doautoselect = false; // } // // if (hand->count60 >= PALDOWN(23) // || !weaponGetModelNum2(info->weaponnum) // || !weaponHasFlag(info->weaponnum, WEAPONFLAG_00000040) // || weaponHasFlag(info->weaponnum, WEAPONFLAG_00000080)) { // hand->mode = HANDMODE_NONE; // hand->count60 = 0; // hand->count = 0; // // if (bgunSetState(handnum, HANDSTATE_IDLE)) { // return lvupdate; // } // } else { // bgun0f099780(hand, (PALDOWN(23) - hand->count60) * 0.87252569198608f / PALDOWN(23)); // } // } // // return 0; //} s32 bgunTickIncChangeFunc(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { struct guncmd *cmd; bool more = false; if (hand->statecycles == 0) { if (hand->gset.weaponfunc == FUNC_PRIMARY) { cmd = gsetGetPriToSecAnim(&hand->gset); hand->gset.weaponfunc = FUNC_SECONDARY; } else { cmd = gsetGetSecToPriAnim(&hand->gset); hand->gset.weaponfunc = FUNC_PRIMARY; } more = false; if (cmd != NULL) { bgun0f0988e0(cmd, handnum, hand); more = true; g_Vars.currentplayer->hands[HAND_RIGHT].unk0dd4 = -1; } } else { if (hand->animmode == HANDANIMMODE_BUSY) { more = true; } } if (!more && bgunSetState(handnum, HANDSTATE_IDLE)) { return lvupdate; } return 0; } s32 bgun0f09a3f8(struct hand *hand, struct weaponfunc *func) { bool burst = false; bool smallburst = false; struct gunctrl *ctrl = &g_Vars.currentplayer->gunctrl; if ((func->flags & FUNCFLAG_BURST3) && hand->burstbullets < 3) { // Make automatics do single shot when holding aim if (!g_Vars.currentplayer->insightaimmode || (func->type & 0xff00) != 0x100) { // Not aiming and not an automatic weapon smallburst = true; } } if ((func->flags & FUNCFLAG_BURST2) && hand->burstbullets < 2) { smallburst = true; } if ((func->flags & FUNCFLAG_BURST5) && hand->burstbullets < 5) { smallburst = true; } if ((func->flags & FUNCFLAG_BURST50) && hand->burstbullets < 50) { burst = true; } if (smallburst) { burst = true; } if (hand->triggeron || (hand->stateflags & HANDSTATEFLAG_00000010) == 0 || burst) { if (func->ammoindex >= 0 && hand->loadedammo[func->ammoindex] == 0 && ctrl->ammotypes[func->ammoindex] >= 0) { // Clip is empty return -1; } if ((func->type & 0xff00) == 0x100) { struct weaponfunc_shootauto *autofunc = (struct weaponfunc_shootauto *) func; if (autofunc->unk50 > 0) { if (hand->gs_float1 < 1) { #if VERSION >= VERSION_PAL_FINAL hand->gs_float1 += g_Vars.lvupdate240freal / autofunc->unk50; #else hand->gs_float1 += g_Vars.lvupdate240f / autofunc->unk50; #endif if (hand->gs_float1 > 1) { hand->gs_float1 = 1; return 1; } } } else { hand->gs_float1 = 1; } return 1; } hand->gs_float1 = 1; if (smallburst) { if (hand->burstbullets > 0) { s32 delay = 3; if (hand->gset.weaponnum == WEAPON_SHOTGUN) { delay = PALDOWN(13); } if (hand->stateframes < delay) { return 0; } } hand->stateframes = 0; } if ((func->flags & FUNCFLAG_BURST3) && hand->burstbullets == 2) { smallburst = false; } if ((func->flags & FUNCFLAG_BURST2) && hand->burstbullets == 1) { smallburst = false; } if ((func->flags & FUNCFLAG_BURST5) && hand->burstbullets == 4) { smallburst = false; } if (smallburst) { return 1; } return 2; } if ((func->type & 0xff00) == 0x100) { // This is similar to the earlier code, but uses unk51 // and subtracts the timer instead of adding to it. struct weaponfunc_shootauto *autofunc = (struct weaponfunc_shootauto *) func; if (autofunc->unk51 > 0) { if (hand->gs_float1 > 0) { #if VERSION >= VERSION_PAL_FINAL hand->gs_float1 -= g_Vars.lvupdate240freal / autofunc->unk51; #else hand->gs_float1 -= g_Vars.lvupdate240f / autofunc->unk51; #endif if (hand->gs_float1 < 0) { hand->gs_float1 = 0; return -1; } return 1; } } else { hand->gs_float1 = 0; } return -1; } return -1; } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f09a6f8 .late_rodata glabel var7f1ac320 .word 0x3ecccccd .text /* f09a6f8: 27bdffa8 */ addiu $sp,$sp,-88 /* f09a6fc: afa40058 */ sw $a0,0x58($sp) /* f09a700: afa5005c */ sw $a1,0x5c($sp) /* f09a704: afbf002c */ sw $ra,0x2c($sp) /* f09a708: afb00028 */ sw $s0,0x28($sp) /* f09a70c: 240e0001 */ addiu $t6,$zero,0x1 /* f09a710: 3c058007 */ lui $a1,%hi(var80070120) /* f09a714: 3c047f1b */ lui $a0,%hi(var7f1ab890) /* f09a718: 00c08025 */ or $s0,$a2,$zero /* f09a71c: afae0054 */ sw $t6,0x54($sp) /* f09a720: 2484b890 */ addiu $a0,$a0,%lo(var7f1ab890) /* f09a724: 24a50120 */ addiu $a1,$a1,%lo(var80070120) /* f09a728: 0c0036cc */ jal func0000db30 /* f09a72c: afa70064 */ sw $a3,0x64($sp) /* f09a730: 3c047f1b */ lui $a0,%hi(var7f1ab898) /* f09a734: 3c058007 */ lui $a1,%hi(var80070124) /* f09a738: 24a50124 */ addiu $a1,$a1,%lo(var80070124) /* f09a73c: 0c0036cc */ jal func0000db30 /* f09a740: 2484b898 */ addiu $a0,$a0,%lo(var7f1ab898) /* f09a744: 8fa70064 */ lw $a3,0x64($sp) /* f09a748: 24060001 */ addiu $a2,$zero,0x1 /* f09a74c: a2060004 */ sb $a2,0x4($s0) /* f09a750: 8cef0000 */ lw $t7,0x0($a3) /* f09a754: 24010100 */ addiu $at,$zero,0x100 /* f09a758: 31f8ff00 */ andi $t8,$t7,0xff00 /* f09a75c: 57010023 */ bnel $t8,$at,.L0f09a7ec /* f09a760: 920c0000 */ lbu $t4,0x0($s0) /* f09a764: c4e00040 */ lwc1 $f0,0x40($a3) /* f09a768: c4e40044 */ lwc1 $f4,0x44($a3) /* f09a76c: c6080660 */ lwc1 $f8,0x660($s0) /* f09a770: 3c014270 */ lui $at,0x4270 /* f09a774: 46002181 */ sub.s $f6,$f4,$f0 /* f09a778: 44817000 */ mtc1 $at,$f14 /* f09a77c: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f09a780: c432a004 */ lwc1 $f18,%lo(g_Vars+0x4c)($at) /* f09a784: 46083282 */ mul.s $f10,$f6,$f8 /* f09a788: c60805fc */ lwc1 $f8,0x5fc($s0) /* f09a78c: 460e9103 */ div.s $f4,$f18,$f14 /* f09a790: 460a0300 */ add.s $f12,$f0,$f10 /* f09a794: 460e6403 */ div.s $f16,$f12,$f14 /* f09a798: 46048182 */ mul.s $f6,$f16,$f4 /* f09a79c: 46083080 */ add.s $f2,$f6,$f8 /* f09a7a0: 4600128d */ trunc.w.s $f10,$f2 /* f09a7a4: 44025000 */ mfc1 $v0,$f10 /* f09a7a8: 00000000 */ nop /* f09a7ac: 44829000 */ mtc1 $v0,$f18 /* f09a7b0: ae0205f8 */ sw $v0,0x5f8($s0) /* f09a7b4: 46809420 */ cvt.s.w $f16,$f18 /* f09a7b8: 46101101 */ sub.s $f4,$f2,$f16 /* f09a7bc: 1c400010 */ bgtz $v0,.L0f09a800 /* f09a7c0: e60405fc */ swc1 $f4,0x5fc($s0) /* f09a7c4: 8e08060c */ lw $t0,0x60c($s0) /* f09a7c8: 244b0001 */ addiu $t3,$v0,0x1 /* f09a7cc: 31090010 */ andi $t1,$t0,0x10 /* f09a7d0: 15200003 */ bnez $t1,.L0f09a7e0 /* f09a7d4: 00000000 */ nop /* f09a7d8: 10000009 */ b .L0f09a800 /* f09a7dc: ae0b05f8 */ sw $t3,0x5f8($s0) .L0f09a7e0: /* f09a7e0: 10000007 */ b .L0f09a800 /* f09a7e4: a2000004 */ sb $zero,0x4($s0) /* f09a7e8: 920c0000 */ lbu $t4,0x0($s0) .L0f09a7ec: /* f09a7ec: 2401001d */ addiu $at,$zero,0x1d /* f09a7f0: ae0605f8 */ sw $a2,0x5f8($s0) /* f09a7f4: 55810003 */ bnel $t4,$at,.L0f09a804 /* f09a7f8: 8e0d0558 */ lw $t5,0x558($s0) /* f09a7fc: afa00054 */ sw $zero,0x54($sp) .L0f09a800: /* f09a800: 8e0d0558 */ lw $t5,0x558($s0) .L0f09a804: /* f09a804: 8e0e05f8 */ lw $t6,0x5f8($s0) /* f09a808: 01ae7821 */ addu $t7,$t5,$t6 /* f09a80c: ae0f0558 */ sw $t7,0x558($s0) /* f09a810: 8cf80010 */ lw $t8,0x10($a3) /* f09a814: 33192000 */ andi $t9,$t8,0x2000 /* f09a818: 53200004 */ beqzl $t9,.L0f09a82c /* f09a81c: a2060005 */ sb $a2,0x5($s0) /* f09a820: 10000002 */ b .L0f09a82c /* f09a824: a2000005 */ sb $zero,0x5($s0) /* f09a828: a2060005 */ sb $a2,0x5($s0) .L0f09a82c: /* f09a82c: 8fa4005c */ lw $a0,0x5c($sp) /* f09a830: 0fc288c2 */ jal bgunResetSlideInc /* f09a834: afa70064 */ sw $a3,0x64($sp) /* f09a838: 82020004 */ lb $v0,0x4($s0) /* f09a83c: 44803000 */ mtc1 $zero,$f6 /* f09a840: 8fa70064 */ lw $a3,0x64($sp) /* f09a844: 10400036 */ beqz $v0,.L0f09a920 /* f09a848: e6060250 */ swc1 $f6,0x250($s0) /* f09a84c: 8e09060c */ lw $t1,0x60c($s0) /* f09a850: 8e080614 */ lw $t0,0x614($s0) /* f09a854: 352a0020 */ ori $t2,$t1,0x20 /* f09a858: ae0a060c */ sw $t2,0x60c($s0) /* f09a85c: 354c0010 */ ori $t4,$t2,0x10 /* f09a860: ae0c060c */ sw $t4,0x60c($s0) /* f09a864: ae0806a8 */ sw $t0,0x6a8($s0) /* f09a868: 8fad0058 */ lw $t5,0x58($sp) /* f09a86c: 8fa4005c */ lw $a0,0x5c($sp) /* f09a870: 8da50000 */ lw $a1,0x0($t5) /* f09a874: 0fc25ee8 */ jal bgun0f097ba0 /* f09a878: afa70064 */ sw $a3,0x64($sp) /* f09a87c: 8fae0054 */ lw $t6,0x54($sp) /* f09a880: 24060001 */ addiu $a2,$zero,0x1 /* f09a884: 8fa70064 */ lw $a3,0x64($sp) /* f09a888: 11c00016 */ beqz $t6,.L0f09a8e4 /* f09a88c: 24010100 */ addiu $at,$zero,0x100 /* f09a890: 80e30007 */ lb $v1,0x7($a3) /* f09a894: 04600013 */ bltz $v1,.L0f09a8e4 /* f09a898: 00037880 */ sll $t7,$v1,0x2 /* f09a89c: 020f1021 */ addu $v0,$s0,$t7 /* f09a8a0: 8c580220 */ lw $t8,0x220($v0) /* f09a8a4: 8e1905f8 */ lw $t9,0x5f8($s0) /* f09a8a8: 03194023 */ subu $t0,$t8,$t9 /* f09a8ac: ac480220 */ sw $t0,0x220($v0) /* f09a8b0: 80e90007 */ lb $t1,0x7($a3) /* f09a8b4: 00095080 */ sll $t2,$t1,0x2 /* f09a8b8: 020a5821 */ addu $t3,$s0,$t2 /* f09a8bc: 8d640220 */ lw $a0,0x220($t3) /* f09a8c0: 04830009 */ bgezl $a0,.L0f09a8e8 /* f09a8c4: 8ce20000 */ lw $v0,0x0($a3) /* f09a8c8: 8e0c05f8 */ lw $t4,0x5f8($s0) /* f09a8cc: 01846821 */ addu $t5,$t4,$a0 /* f09a8d0: ae0d05f8 */ sw $t5,0x5f8($s0) /* f09a8d4: 80ee0007 */ lb $t6,0x7($a3) /* f09a8d8: 000e7880 */ sll $t7,$t6,0x2 /* f09a8dc: 020fc021 */ addu $t8,$s0,$t7 /* f09a8e0: af000220 */ sw $zero,0x220($t8) .L0f09a8e4: /* f09a8e4: 8ce20000 */ lw $v0,0x0($a3) .L0f09a8e8: /* f09a8e8: 3059ff00 */ andi $t9,$v0,0xff00 /* f09a8ec: 53200008 */ beqzl $t9,.L0f09a910 /* f09a8f0: ae0606ac */ sw $a2,0x6ac($s0) /* f09a8f4: 13210005 */ beq $t9,$at,.L0f09a90c /* f09a8f8: 24010200 */ addiu $at,$zero,0x200 /* f09a8fc: 13210006 */ beq $t9,$at,.L0f09a918 /* f09a900: 24080002 */ addiu $t0,$zero,0x2 /* f09a904: 10000006 */ b .L0f09a920 /* f09a908: 82020004 */ lb $v0,0x4($s0) .L0f09a90c: /* f09a90c: ae0606ac */ sw $a2,0x6ac($s0) .L0f09a910: /* f09a910: 10000003 */ b .L0f09a920 /* f09a914: 82020004 */ lb $v0,0x4($s0) .L0f09a918: /* f09a918: ae0806ac */ sw $t0,0x6ac($s0) /* f09a91c: 82020004 */ lb $v0,0x4($s0) .L0f09a920: /* f09a920: 1040009b */ beqz $v0,.L0f09ab90 /* f09a924: 02002025 */ or $a0,$s0,$zero /* f09a928: 0fc2c78a */ jal gsetGetSingleUnk38 /* f09a92c: afa00044 */ sw $zero,0x44($sp) /* f09a930: 1840001e */ blez $v0,.L0f09a9ac /* f09a934: 8fa30044 */ lw $v1,0x44($sp) /* f09a938: 8faa005c */ lw $t2,0x5c($sp) /* f09a93c: 3c09800a */ lui $t1,%hi(g_Vars+0x284) /* f09a940: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1) /* f09a944: 000a5900 */ sll $t3,$t2,0x4 /* f09a948: 016a5823 */ subu $t3,$t3,$t2 /* f09a94c: 000b5880 */ sll $t3,$t3,0x2 /* f09a950: 016a5821 */ addu $t3,$t3,$t2 /* f09a954: 000b58c0 */ sll $t3,$t3,0x3 /* f09a958: 016a5821 */ addu $t3,$t3,$t2 /* f09a95c: 000b5880 */ sll $t3,$t3,0x2 /* f09a960: 000b6023 */ negu $t4,$t3 /* f09a964: 3c02800a */ lui $v0,%hi(g_Vars+0x8) /* f09a968: 012c6821 */ addu $t5,$t1,$t4 /* f09a96c: 8dae0fb4 */ lw $t6,0xfb4($t5) /* f09a970: 8c429fc8 */ lw $v0,%lo(g_Vars+0x8)($v0) /* f09a974: 104e0011 */ beq $v0,$t6,.L0f09a9bc /* f09a978: 00000000 */ nop /* f09a97c: 8e0f01d4 */ lw $t7,0x1d4($s0) /* f09a980: 01e2082a */ slt $at,$t7,$v0 /* f09a984: 1020000d */ beqz $at,.L0f09a9bc /* f09a988: 00000000 */ nop /* f09a98c: 0fc2c78a */ jal gsetGetSingleUnk38 /* f09a990: 02002025 */ or $a0,$s0,$zero /* f09a994: 3c18800a */ lui $t8,%hi(g_Vars+0x8) /* f09a998: 8f189fc8 */ lw $t8,%lo(g_Vars+0x8)($t8) /* f09a99c: 24030001 */ addiu $v1,$zero,0x1 /* f09a9a0: 0058c821 */ addu $t9,$v0,$t8 /* f09a9a4: 10000005 */ b .L0f09a9bc /* f09a9a8: ae1901d4 */ sw $t9,0x1d4($s0) .L0f09a9ac: /* f09a9ac: 82080004 */ lb $t0,0x4($s0) /* f09a9b0: 11000002 */ beqz $t0,.L0f09a9bc /* f09a9b4: 00000000 */ nop /* f09a9b8: 24030001 */ addiu $v1,$zero,0x1 .L0f09a9bc: /* f09a9bc: 50600075 */ beqzl $v1,.L0f09ab94 /* f09a9c0: 8fbf002c */ lw $ra,0x2c($sp) /* f09a9c4: 0c012230 */ jal osGetThreadPri /* f09a9c8: 00002025 */ or $a0,$zero,$zero /* f09a9cc: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) /* f09a9d0: afa20040 */ sw $v0,0x40($sp) /* f09a9d4: 0c012230 */ jal osGetThreadPri /* f09a9d8: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) /* f09a9dc: 00002025 */ or $a0,$zero,$zero /* f09a9e0: 0c01210c */ jal osSetThreadPri /* f09a9e4: 24450001 */ addiu $a1,$v0,0x1 /* f09a9e8: 8e0401cc */ lw $a0,0x1cc($s0) /* f09a9ec: 50800008 */ beqzl $a0,.L0f09aa10 /* f09a9f0: 8e0401d0 */ lw $a0,0x1d0($s0) /* f09a9f4: 0c00cdfc */ jal audioIsPlaying /* f09a9f8: 00000000 */ nop /* f09a9fc: 50400004 */ beqzl $v0,.L0f09aa10 /* f09aa00: 8e0401d0 */ lw $a0,0x1d0($s0) /* f09aa04: 0c00cec9 */ jal audioStop /* f09aa08: 8e0401cc */ lw $a0,0x1cc($s0) /* f09aa0c: 8e0401d0 */ lw $a0,0x1d0($s0) .L0f09aa10: /* f09aa10: 10800007 */ beqz $a0,.L0f09aa30 /* f09aa14: 00000000 */ nop /* f09aa18: 0c00cdfc */ jal audioIsPlaying /* f09aa1c: 00000000 */ nop /* f09aa20: 10400003 */ beqz $v0,.L0f09aa30 /* f09aa24: 00000000 */ nop /* f09aa28: 0c00cec9 */ jal audioStop /* f09aa2c: 8e0401d0 */ lw $a0,0x1d0($s0) .L0f09aa30: /* f09aa30: 0fc2c79a */ jal gsetGetSingleShootSound /* f09aa34: 02002025 */ or $a0,$s0,$zero /* f09aa38: 50400053 */ beqzl $v0,.L0f09ab88 /* f09aa3c: 00002025 */ or $a0,$zero,$zero /* f09aa40: 8e0a01cc */ lw $t2,0x1cc($s0) /* f09aa44: 00002025 */ or $a0,$zero,$zero /* f09aa48: 55400017 */ bnezl $t2,.L0f09aaa8 /* f09aa4c: 8e0e01d0 */ lw $t6,0x1d0($s0) /* f09aa50: 0fc2c79a */ jal gsetGetSingleShootSound /* f09aa54: 02002025 */ or $a0,$s0,$zero /* f09aa58: 3c01bf80 */ lui $at,0xbf80 /* f09aa5c: 44814000 */ mtc1 $at,$f8 /* f09aa60: 00022c00 */ sll $a1,$v0,0x10 /* f09aa64: 00055c03 */ sra $t3,$a1,0x10 /* f09aa68: 3c048009 */ lui $a0,%hi(var80095200) /* f09aa6c: 2409ffff */ addiu $t1,$zero,-1 /* f09aa70: 240cffff */ addiu $t4,$zero,-1 /* f09aa74: 240dffff */ addiu $t5,$zero,-1 /* f09aa78: afad001c */ sw $t5,0x1c($sp) /* f09aa7c: afac0018 */ sw $t4,0x18($sp) /* f09aa80: afa90010 */ sw $t1,0x10($sp) /* f09aa84: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f09aa88: 01602825 */ or $a1,$t3,$zero /* f09aa8c: 260601cc */ addiu $a2,$s0,0x1cc /* f09aa90: 2407ffff */ addiu $a3,$zero,-1 /* f09aa94: 0c004241 */ jal sndStart /* f09aa98: e7a80014 */ swc1 $f8,0x14($sp) /* f09aa9c: 10000018 */ b .L0f09ab00 /* f09aaa0: 00402025 */ or $a0,$v0,$zero /* f09aaa4: 8e0e01d0 */ lw $t6,0x1d0($s0) .L0f09aaa8: /* f09aaa8: 55c00016 */ bnezl $t6,.L0f09ab04 /* f09aaac: 920b0000 */ lbu $t3,0x0($s0) /* f09aab0: 0fc2c79a */ jal gsetGetSingleShootSound /* f09aab4: 02002025 */ or $a0,$s0,$zero /* f09aab8: 3c01bf80 */ lui $at,0xbf80 /* f09aabc: 44815000 */ mtc1 $at,$f10 /* f09aac0: 00022c00 */ sll $a1,$v0,0x10 /* f09aac4: 00057c03 */ sra $t7,$a1,0x10 /* f09aac8: 3c048009 */ lui $a0,%hi(var80095200) /* f09aacc: 2418ffff */ addiu $t8,$zero,-1 /* f09aad0: 2419ffff */ addiu $t9,$zero,-1 /* f09aad4: 2408ffff */ addiu $t0,$zero,-1 /* f09aad8: afa8001c */ sw $t0,0x1c($sp) /* f09aadc: afb90018 */ sw $t9,0x18($sp) /* f09aae0: afb80010 */ sw $t8,0x10($sp) /* f09aae4: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f09aae8: 01e02825 */ or $a1,$t7,$zero /* f09aaec: 260601d0 */ addiu $a2,$s0,0x1d0 /* f09aaf0: 2407ffff */ addiu $a3,$zero,-1 /* f09aaf4: 0c004241 */ jal sndStart /* f09aaf8: e7aa0014 */ swc1 $f10,0x14($sp) /* f09aafc: 00402025 */ or $a0,$v0,$zero .L0f09ab00: /* f09ab00: 920b0000 */ lbu $t3,0x0($s0) .L0f09ab04: /* f09ab04: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) /* f09ab08: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) /* f09ab0c: 24010006 */ addiu $at,$zero,0x6 /* f09ab10: 1561001c */ bne $t3,$at,.L0f09ab84 /* f09ab14: ae0a01d8 */ sw $t2,0x1d8($s0) /* f09ab18: 5080001b */ beqzl $a0,.L0f09ab88 /* f09ab1c: 00002025 */ or $a0,$zero,$zero /* f09ab20: c612023c */ lwc1 $f18,0x23c($s0) /* f09ab24: 3c013f80 */ lui $at,0x3f80 /* f09ab28: 44816000 */ mtc1 $at,$f12 /* f09ab2c: 4600940d */ trunc.w.s $f16,$f18 /* f09ab30: 3c014040 */ lui $at,0x4040 /* f09ab34: 44814000 */ mtc1 $at,$f8 /* f09ab38: 3c017f1b */ lui $at,%hi(var7f1ac320) /* f09ab3c: 44028000 */ mfc1 $v0,$f16 /* f09ab40: 00000000 */ nop /* f09ab44: 44822000 */ mtc1 $v0,$f4 /* f09ab48: 00000000 */ nop /* f09ab4c: 468021a0 */ cvt.s.w $f6,$f4 /* f09ab50: 46083083 */ div.s $f2,$f6,$f8 /* f09ab54: 4602603c */ c.lt.s $f12,$f2 /* f09ab58: 00000000 */ nop /* f09ab5c: 45000002 */ bc1f .L0f09ab68 /* f09ab60: 00000000 */ nop /* f09ab64: 46006086 */ mov.s $f2,$f12 .L0f09ab68: /* f09ab68: c42ac320 */ lwc1 $f10,%lo(var7f1ac320)($at) /* f09ab6c: 24050010 */ addiu $a1,$zero,0x10 /* f09ab70: 460a1482 */ mul.s $f18,$f2,$f10 /* f09ab74: 46126401 */ sub.s $f16,$f12,$f18 /* f09ab78: e7b00034 */ swc1 $f16,0x34($sp) /* f09ab7c: 0c00cf94 */ jal func00033e50 /* f09ab80: 8fa60034 */ lw $a2,0x34($sp) .L0f09ab84: /* f09ab84: 00002025 */ or $a0,$zero,$zero .L0f09ab88: /* f09ab88: 0c01210c */ jal osSetThreadPri /* f09ab8c: 8fa50040 */ lw $a1,0x40($sp) .L0f09ab90: /* f09ab90: 8fbf002c */ lw $ra,0x2c($sp) .L0f09ab94: /* f09ab94: 8fb00028 */ lw $s0,0x28($sp) /* f09ab98: 27bd0058 */ addiu $sp,$sp,0x58 /* f09ab9c: 03e00008 */ jr $ra /* f09aba0: 00000000 */ nop ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgun0f09a6f8 .late_rodata glabel var7f1ac320 .word 0x3ecccccd .text /* f09a6f8: 27bdffa8 */ addiu $sp,$sp,-88 /* f09a6fc: afa40058 */ sw $a0,0x58($sp) /* f09a700: afa5005c */ sw $a1,0x5c($sp) /* f09a704: afbf002c */ sw $ra,0x2c($sp) /* f09a708: afb00028 */ sw $s0,0x28($sp) /* f09a70c: 240e0001 */ addiu $t6,$zero,0x1 /* f09a710: 3c058007 */ lui $a1,%hi(var80070120) /* f09a714: 3c047f1b */ lui $a0,%hi(var7f1ab890) /* f09a718: 00c08025 */ or $s0,$a2,$zero /* f09a71c: afae0054 */ sw $t6,0x54($sp) /* f09a720: 2484b890 */ addiu $a0,$a0,%lo(var7f1ab890) /* f09a724: 24a50120 */ addiu $a1,$a1,%lo(var80070120) /* f09a728: 0c0036cc */ jal func0000db30 /* f09a72c: afa70064 */ sw $a3,0x64($sp) /* f09a730: 3c047f1b */ lui $a0,%hi(var7f1ab898) /* f09a734: 3c058007 */ lui $a1,%hi(var80070124) /* f09a738: 24a50124 */ addiu $a1,$a1,%lo(var80070124) /* f09a73c: 0c0036cc */ jal func0000db30 /* f09a740: 2484b898 */ addiu $a0,$a0,%lo(var7f1ab898) /* f09a744: 8fa70064 */ lw $a3,0x64($sp) /* f09a748: 24060001 */ addiu $a2,$zero,0x1 /* f09a74c: a2060004 */ sb $a2,0x4($s0) /* f09a750: 8cef0000 */ lw $t7,0x0($a3) /* f09a754: 24010100 */ addiu $at,$zero,0x100 /* f09a758: 31f8ff00 */ andi $t8,$t7,0xff00 /* f09a75c: 57010023 */ bnel $t8,$at,.L0f09a7ec /* f09a760: 920c0000 */ lbu $t4,0x0($s0) /* f09a764: c4e00040 */ lwc1 $f0,0x40($a3) /* f09a768: c4e40044 */ lwc1 $f4,0x44($a3) /* f09a76c: c6080660 */ lwc1 $f8,0x660($s0) /* f09a770: 3c014270 */ lui $at,0x4270 /* f09a774: 46002181 */ sub.s $f6,$f4,$f0 /* f09a778: 44817000 */ mtc1 $at,$f14 /* f09a77c: 3c01800a */ lui $at,%hi(g_Vars+0x44) /* f09a780: c432a004 */ lwc1 $f18,%lo(g_Vars+0x44)($at) /* f09a784: 46083282 */ mul.s $f10,$f6,$f8 /* f09a788: c60805fc */ lwc1 $f8,0x5fc($s0) /* f09a78c: 460e9103 */ div.s $f4,$f18,$f14 /* f09a790: 460a0300 */ add.s $f12,$f0,$f10 /* f09a794: 460e6403 */ div.s $f16,$f12,$f14 /* f09a798: 46048182 */ mul.s $f6,$f16,$f4 /* f09a79c: 46083080 */ add.s $f2,$f6,$f8 /* f09a7a0: 4600128d */ trunc.w.s $f10,$f2 /* f09a7a4: 44025000 */ mfc1 $v0,$f10 /* f09a7a8: 00000000 */ nop /* f09a7ac: 44829000 */ mtc1 $v0,$f18 /* f09a7b0: ae0205f8 */ sw $v0,0x5f8($s0) /* f09a7b4: 46809420 */ cvt.s.w $f16,$f18 /* f09a7b8: 46101101 */ sub.s $f4,$f2,$f16 /* f09a7bc: 1c400010 */ bgtz $v0,.L0f09a800 /* f09a7c0: e60405fc */ swc1 $f4,0x5fc($s0) /* f09a7c4: 8e08060c */ lw $t0,0x60c($s0) /* f09a7c8: 244b0001 */ addiu $t3,$v0,0x1 /* f09a7cc: 31090010 */ andi $t1,$t0,0x10 /* f09a7d0: 15200003 */ bnez $t1,.L0f09a7e0 /* f09a7d4: 00000000 */ nop /* f09a7d8: 10000009 */ b .L0f09a800 /* f09a7dc: ae0b05f8 */ sw $t3,0x5f8($s0) .L0f09a7e0: /* f09a7e0: 10000007 */ b .L0f09a800 /* f09a7e4: a2000004 */ sb $zero,0x4($s0) /* f09a7e8: 920c0000 */ lbu $t4,0x0($s0) .L0f09a7ec: /* f09a7ec: 2401001d */ addiu $at,$zero,0x1d /* f09a7f0: ae0605f8 */ sw $a2,0x5f8($s0) /* f09a7f4: 55810003 */ bnel $t4,$at,.L0f09a804 /* f09a7f8: 8e0d0558 */ lw $t5,0x558($s0) /* f09a7fc: afa00054 */ sw $zero,0x54($sp) .L0f09a800: /* f09a800: 8e0d0558 */ lw $t5,0x558($s0) .L0f09a804: /* f09a804: 8e0e05f8 */ lw $t6,0x5f8($s0) /* f09a808: 01ae7821 */ addu $t7,$t5,$t6 /* f09a80c: ae0f0558 */ sw $t7,0x558($s0) /* f09a810: 8cf80010 */ lw $t8,0x10($a3) /* f09a814: 33192000 */ andi $t9,$t8,0x2000 /* f09a818: 53200004 */ beqzl $t9,.L0f09a82c /* f09a81c: a2060005 */ sb $a2,0x5($s0) /* f09a820: 10000002 */ b .L0f09a82c /* f09a824: a2000005 */ sb $zero,0x5($s0) /* f09a828: a2060005 */ sb $a2,0x5($s0) .L0f09a82c: /* f09a82c: 8fa4005c */ lw $a0,0x5c($sp) /* f09a830: 0fc288c2 */ jal bgunResetSlideInc /* f09a834: afa70064 */ sw $a3,0x64($sp) /* f09a838: 82020004 */ lb $v0,0x4($s0) /* f09a83c: 44803000 */ mtc1 $zero,$f6 /* f09a840: 8fa70064 */ lw $a3,0x64($sp) /* f09a844: 10400036 */ beqz $v0,.L0f09a920 /* f09a848: e6060250 */ swc1 $f6,0x250($s0) /* f09a84c: 8e09060c */ lw $t1,0x60c($s0) /* f09a850: 8e080614 */ lw $t0,0x614($s0) /* f09a854: 352a0020 */ ori $t2,$t1,0x20 /* f09a858: ae0a060c */ sw $t2,0x60c($s0) /* f09a85c: 354c0010 */ ori $t4,$t2,0x10 /* f09a860: ae0c060c */ sw $t4,0x60c($s0) /* f09a864: ae0806a8 */ sw $t0,0x6a8($s0) /* f09a868: 8fad0058 */ lw $t5,0x58($sp) /* f09a86c: 8fa4005c */ lw $a0,0x5c($sp) /* f09a870: 8da50000 */ lw $a1,0x0($t5) /* f09a874: 0fc25ee8 */ jal bgun0f097ba0 /* f09a878: afa70064 */ sw $a3,0x64($sp) /* f09a87c: 8fae0054 */ lw $t6,0x54($sp) /* f09a880: 24060001 */ addiu $a2,$zero,0x1 /* f09a884: 8fa70064 */ lw $a3,0x64($sp) /* f09a888: 11c00016 */ beqz $t6,.L0f09a8e4 /* f09a88c: 24010100 */ addiu $at,$zero,0x100 /* f09a890: 80e30007 */ lb $v1,0x7($a3) /* f09a894: 04600013 */ bltz $v1,.L0f09a8e4 /* f09a898: 00037880 */ sll $t7,$v1,0x2 /* f09a89c: 020f1021 */ addu $v0,$s0,$t7 /* f09a8a0: 8c580220 */ lw $t8,0x220($v0) /* f09a8a4: 8e1905f8 */ lw $t9,0x5f8($s0) /* f09a8a8: 03194023 */ subu $t0,$t8,$t9 /* f09a8ac: ac480220 */ sw $t0,0x220($v0) /* f09a8b0: 80e90007 */ lb $t1,0x7($a3) /* f09a8b4: 00095080 */ sll $t2,$t1,0x2 /* f09a8b8: 020a5821 */ addu $t3,$s0,$t2 /* f09a8bc: 8d640220 */ lw $a0,0x220($t3) /* f09a8c0: 04830009 */ bgezl $a0,.L0f09a8e8 /* f09a8c4: 8ce20000 */ lw $v0,0x0($a3) /* f09a8c8: 8e0c05f8 */ lw $t4,0x5f8($s0) /* f09a8cc: 01846821 */ addu $t5,$t4,$a0 /* f09a8d0: ae0d05f8 */ sw $t5,0x5f8($s0) /* f09a8d4: 80ee0007 */ lb $t6,0x7($a3) /* f09a8d8: 000e7880 */ sll $t7,$t6,0x2 /* f09a8dc: 020fc021 */ addu $t8,$s0,$t7 /* f09a8e0: af000220 */ sw $zero,0x220($t8) .L0f09a8e4: /* f09a8e4: 8ce20000 */ lw $v0,0x0($a3) .L0f09a8e8: /* f09a8e8: 3059ff00 */ andi $t9,$v0,0xff00 /* f09a8ec: 53200008 */ beqzl $t9,.L0f09a910 /* f09a8f0: ae0606ac */ sw $a2,0x6ac($s0) /* f09a8f4: 13210005 */ beq $t9,$at,.L0f09a90c /* f09a8f8: 24010200 */ addiu $at,$zero,0x200 /* f09a8fc: 13210006 */ beq $t9,$at,.L0f09a918 /* f09a900: 24080002 */ addiu $t0,$zero,0x2 /* f09a904: 10000006 */ b .L0f09a920 /* f09a908: 82020004 */ lb $v0,0x4($s0) .L0f09a90c: /* f09a90c: ae0606ac */ sw $a2,0x6ac($s0) .L0f09a910: /* f09a910: 10000003 */ b .L0f09a920 /* f09a914: 82020004 */ lb $v0,0x4($s0) .L0f09a918: /* f09a918: ae0806ac */ sw $t0,0x6ac($s0) /* f09a91c: 82020004 */ lb $v0,0x4($s0) .L0f09a920: /* f09a920: 1040009b */ beqz $v0,.L0f09ab90 /* f09a924: 02002025 */ or $a0,$s0,$zero /* f09a928: 0fc2c78a */ jal gsetGetSingleUnk38 /* f09a92c: afa00044 */ sw $zero,0x44($sp) /* f09a930: 1840001e */ blez $v0,.L0f09a9ac /* f09a934: 8fa30044 */ lw $v1,0x44($sp) /* f09a938: 8faa005c */ lw $t2,0x5c($sp) /* f09a93c: 3c09800a */ lui $t1,%hi(g_Vars+0x284) /* f09a940: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1) /* f09a944: 000a5900 */ sll $t3,$t2,0x4 /* f09a948: 016a5823 */ subu $t3,$t3,$t2 /* f09a94c: 000b5880 */ sll $t3,$t3,0x2 /* f09a950: 016a5821 */ addu $t3,$t3,$t2 /* f09a954: 000b58c0 */ sll $t3,$t3,0x3 /* f09a958: 016a5821 */ addu $t3,$t3,$t2 /* f09a95c: 000b5880 */ sll $t3,$t3,0x2 /* f09a960: 000b6023 */ negu $t4,$t3 /* f09a964: 3c02800a */ lui $v0,%hi(g_Vars+0x8) /* f09a968: 012c6821 */ addu $t5,$t1,$t4 /* f09a96c: 8dae0fb4 */ lw $t6,0xfb4($t5) /* f09a970: 8c429fc8 */ lw $v0,%lo(g_Vars+0x8)($v0) /* f09a974: 104e0011 */ beq $v0,$t6,.L0f09a9bc /* f09a978: 00000000 */ nop /* f09a97c: 8e0f01d4 */ lw $t7,0x1d4($s0) /* f09a980: 01e2082a */ slt $at,$t7,$v0 /* f09a984: 1020000d */ beqz $at,.L0f09a9bc /* f09a988: 00000000 */ nop /* f09a98c: 0fc2c78a */ jal gsetGetSingleUnk38 /* f09a990: 02002025 */ or $a0,$s0,$zero /* f09a994: 3c18800a */ lui $t8,%hi(g_Vars+0x8) /* f09a998: 8f189fc8 */ lw $t8,%lo(g_Vars+0x8)($t8) /* f09a99c: 24030001 */ addiu $v1,$zero,0x1 /* f09a9a0: 0058c821 */ addu $t9,$v0,$t8 /* f09a9a4: 10000005 */ b .L0f09a9bc /* f09a9a8: ae1901d4 */ sw $t9,0x1d4($s0) .L0f09a9ac: /* f09a9ac: 82080004 */ lb $t0,0x4($s0) /* f09a9b0: 11000002 */ beqz $t0,.L0f09a9bc /* f09a9b4: 00000000 */ nop /* f09a9b8: 24030001 */ addiu $v1,$zero,0x1 .L0f09a9bc: /* f09a9bc: 50600075 */ beqzl $v1,.L0f09ab94 /* f09a9c0: 8fbf002c */ lw $ra,0x2c($sp) /* f09a9c4: 0c012230 */ jal osGetThreadPri /* f09a9c8: 00002025 */ or $a0,$zero,$zero /* f09a9cc: 3c048009 */ lui $a0,%hi(g_AudioManager+0x18) /* f09a9d0: afa20040 */ sw $v0,0x40($sp) /* f09a9d4: 0c012230 */ jal osGetThreadPri /* f09a9d8: 248415e0 */ addiu $a0,$a0,%lo(g_AudioManager+0x18) /* f09a9dc: 00002025 */ or $a0,$zero,$zero /* f09a9e0: 0c01210c */ jal osSetThreadPri /* f09a9e4: 24450001 */ addiu $a1,$v0,0x1 /* f09a9e8: 8e0401cc */ lw $a0,0x1cc($s0) /* f09a9ec: 50800008 */ beqzl $a0,.L0f09aa10 /* f09a9f0: 8e0401d0 */ lw $a0,0x1d0($s0) /* f09a9f4: 0c00cdfc */ jal audioIsPlaying /* f09a9f8: 00000000 */ nop /* f09a9fc: 50400004 */ beqzl $v0,.L0f09aa10 /* f09aa00: 8e0401d0 */ lw $a0,0x1d0($s0) /* f09aa04: 0c00cec9 */ jal audioStop /* f09aa08: 8e0401cc */ lw $a0,0x1cc($s0) /* f09aa0c: 8e0401d0 */ lw $a0,0x1d0($s0) .L0f09aa10: /* f09aa10: 10800007 */ beqz $a0,.L0f09aa30 /* f09aa14: 00000000 */ nop /* f09aa18: 0c00cdfc */ jal audioIsPlaying /* f09aa1c: 00000000 */ nop /* f09aa20: 10400003 */ beqz $v0,.L0f09aa30 /* f09aa24: 00000000 */ nop /* f09aa28: 0c00cec9 */ jal audioStop /* f09aa2c: 8e0401d0 */ lw $a0,0x1d0($s0) .L0f09aa30: /* f09aa30: 0fc2c79a */ jal gsetGetSingleShootSound /* f09aa34: 02002025 */ or $a0,$s0,$zero /* f09aa38: 50400053 */ beqzl $v0,.L0f09ab88 /* f09aa3c: 00002025 */ or $a0,$zero,$zero /* f09aa40: 8e0a01cc */ lw $t2,0x1cc($s0) /* f09aa44: 00002025 */ or $a0,$zero,$zero /* f09aa48: 55400017 */ bnezl $t2,.L0f09aaa8 /* f09aa4c: 8e0e01d0 */ lw $t6,0x1d0($s0) /* f09aa50: 0fc2c79a */ jal gsetGetSingleShootSound /* f09aa54: 02002025 */ or $a0,$s0,$zero /* f09aa58: 3c01bf80 */ lui $at,0xbf80 /* f09aa5c: 44814000 */ mtc1 $at,$f8 /* f09aa60: 00022c00 */ sll $a1,$v0,0x10 /* f09aa64: 00055c03 */ sra $t3,$a1,0x10 /* f09aa68: 3c048009 */ lui $a0,%hi(var80095200) /* f09aa6c: 2409ffff */ addiu $t1,$zero,-1 /* f09aa70: 240cffff */ addiu $t4,$zero,-1 /* f09aa74: 240dffff */ addiu $t5,$zero,-1 /* f09aa78: afad001c */ sw $t5,0x1c($sp) /* f09aa7c: afac0018 */ sw $t4,0x18($sp) /* f09aa80: afa90010 */ sw $t1,0x10($sp) /* f09aa84: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f09aa88: 01602825 */ or $a1,$t3,$zero /* f09aa8c: 260601cc */ addiu $a2,$s0,0x1cc /* f09aa90: 2407ffff */ addiu $a3,$zero,-1 /* f09aa94: 0c004241 */ jal sndStart /* f09aa98: e7a80014 */ swc1 $f8,0x14($sp) /* f09aa9c: 10000018 */ b .L0f09ab00 /* f09aaa0: 00402025 */ or $a0,$v0,$zero /* f09aaa4: 8e0e01d0 */ lw $t6,0x1d0($s0) .L0f09aaa8: /* f09aaa8: 55c00016 */ bnezl $t6,.L0f09ab04 /* f09aaac: 920b0000 */ lbu $t3,0x0($s0) /* f09aab0: 0fc2c79a */ jal gsetGetSingleShootSound /* f09aab4: 02002025 */ or $a0,$s0,$zero /* f09aab8: 3c01bf80 */ lui $at,0xbf80 /* f09aabc: 44815000 */ mtc1 $at,$f10 /* f09aac0: 00022c00 */ sll $a1,$v0,0x10 /* f09aac4: 00057c03 */ sra $t7,$a1,0x10 /* f09aac8: 3c048009 */ lui $a0,%hi(var80095200) /* f09aacc: 2418ffff */ addiu $t8,$zero,-1 /* f09aad0: 2419ffff */ addiu $t9,$zero,-1 /* f09aad4: 2408ffff */ addiu $t0,$zero,-1 /* f09aad8: afa8001c */ sw $t0,0x1c($sp) /* f09aadc: afb90018 */ sw $t9,0x18($sp) /* f09aae0: afb80010 */ sw $t8,0x10($sp) /* f09aae4: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f09aae8: 01e02825 */ or $a1,$t7,$zero /* f09aaec: 260601d0 */ addiu $a2,$s0,0x1d0 /* f09aaf0: 2407ffff */ addiu $a3,$zero,-1 /* f09aaf4: 0c004241 */ jal sndStart /* f09aaf8: e7aa0014 */ swc1 $f10,0x14($sp) /* f09aafc: 00402025 */ or $a0,$v0,$zero .L0f09ab00: /* f09ab00: 920b0000 */ lbu $t3,0x0($s0) .L0f09ab04: /* f09ab04: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) /* f09ab08: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) /* f09ab0c: 24010006 */ addiu $at,$zero,0x6 /* f09ab10: 1561001c */ bne $t3,$at,.L0f09ab84 /* f09ab14: ae0a01d8 */ sw $t2,0x1d8($s0) /* f09ab18: 5080001b */ beqzl $a0,.L0f09ab88 /* f09ab1c: 00002025 */ or $a0,$zero,$zero /* f09ab20: c612023c */ lwc1 $f18,0x23c($s0) /* f09ab24: 3c013f80 */ lui $at,0x3f80 /* f09ab28: 44816000 */ mtc1 $at,$f12 /* f09ab2c: 4600940d */ trunc.w.s $f16,$f18 /* f09ab30: 3c014040 */ lui $at,0x4040 /* f09ab34: 44814000 */ mtc1 $at,$f8 /* f09ab38: 3c017f1b */ lui $at,%hi(var7f1ac320) /* f09ab3c: 44028000 */ mfc1 $v0,$f16 /* f09ab40: 00000000 */ nop /* f09ab44: 44822000 */ mtc1 $v0,$f4 /* f09ab48: 00000000 */ nop /* f09ab4c: 468021a0 */ cvt.s.w $f6,$f4 /* f09ab50: 46083083 */ div.s $f2,$f6,$f8 /* f09ab54: 4602603c */ c.lt.s $f12,$f2 /* f09ab58: 00000000 */ nop /* f09ab5c: 45000002 */ bc1f .L0f09ab68 /* f09ab60: 00000000 */ nop /* f09ab64: 46006086 */ mov.s $f2,$f12 .L0f09ab68: /* f09ab68: c42ac320 */ lwc1 $f10,%lo(var7f1ac320)($at) /* f09ab6c: 24050010 */ addiu $a1,$zero,0x10 /* f09ab70: 460a1482 */ mul.s $f18,$f2,$f10 /* f09ab74: 46126401 */ sub.s $f16,$f12,$f18 /* f09ab78: e7b00034 */ swc1 $f16,0x34($sp) /* f09ab7c: 0c00cf94 */ jal func00033e50 /* f09ab80: 8fa60034 */ lw $a2,0x34($sp) .L0f09ab84: /* f09ab84: 00002025 */ or $a0,$zero,$zero .L0f09ab88: /* f09ab88: 0c01210c */ jal osSetThreadPri /* f09ab8c: 8fa50040 */ lw $a1,0x40($sp) .L0f09ab90: /* f09ab90: 8fbf002c */ lw $ra,0x2c($sp) .L0f09ab94: /* f09ab94: 8fb00028 */ lw $s0,0x28($sp) /* f09ab98: 27bd0058 */ addiu $sp,$sp,0x58 /* f09ab9c: 03e00008 */ jr $ra /* f09aba0: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f09a6f8 .late_rodata glabel var7f1ac320 .word 0x3ecccccd .text /* f098734: 27bdffb0 */ addiu $sp,$sp,-80 /* f098738: afa40050 */ sw $a0,0x50($sp) /* f09873c: afa50054 */ sw $a1,0x54($sp) /* f098740: afbf002c */ sw $ra,0x2c($sp) /* f098744: afb00028 */ sw $s0,0x28($sp) /* f098748: 240e0001 */ addiu $t6,$zero,0x1 /* f09874c: 3c058007 */ lui $a1,0x8007 /* f098750: 3c047f1a */ lui $a0,0x7f1a /* f098754: 00c08025 */ or $s0,$a2,$zero /* f098758: afae004c */ sw $t6,0x4c($sp) /* f09875c: 24845be0 */ addiu $a0,$a0,0x5be0 /* f098760: 24a527e0 */ addiu $a1,$a1,0x27e0 /* f098764: 0c00381c */ jal func0000db30 /* f098768: afa7005c */ sw $a3,0x5c($sp) /* f09876c: 3c047f1a */ lui $a0,0x7f1a /* f098770: 3c058007 */ lui $a1,0x8007 /* f098774: 24a527e4 */ addiu $a1,$a1,0x27e4 /* f098778: 0c00381c */ jal func0000db30 /* f09877c: 24845be8 */ addiu $a0,$a0,0x5be8 /* f098780: 8fa7005c */ lw $a3,0x5c($sp) /* f098784: 24060001 */ addiu $a2,$zero,0x1 /* f098788: a2060004 */ sb $a2,0x4($s0) /* f09878c: 8cef0000 */ lw $t7,0x0($a3) /* f098790: 24010100 */ addiu $at,$zero,0x100 /* f098794: 31f8ff00 */ andi $t8,$t7,0xff00 /* f098798: 57010023 */ bnel $t8,$at,.NB0f098828 /* f09879c: 920c0000 */ lbu $t4,0x0($s0) /* f0987a0: c4e00040 */ lwc1 $f0,0x40($a3) /* f0987a4: c4e40044 */ lwc1 $f4,0x44($a3) /* f0987a8: c6080660 */ lwc1 $f8,0x660($s0) /* f0987ac: 3c014270 */ lui $at,0x4270 /* f0987b0: 46002181 */ sub.s $f6,$f4,$f0 /* f0987b4: 44817000 */ mtc1 $at,$f14 /* f0987b8: 3c01800a */ lui $at,0x800a /* f0987bc: c432e704 */ lwc1 $f18,-0x18fc($at) /* f0987c0: 46083282 */ mul.s $f10,$f6,$f8 /* f0987c4: c60805fc */ lwc1 $f8,0x5fc($s0) /* f0987c8: 460e9103 */ div.s $f4,$f18,$f14 /* f0987cc: 460a0300 */ add.s $f12,$f0,$f10 /* f0987d0: 460e6403 */ div.s $f16,$f12,$f14 /* f0987d4: 46048182 */ mul.s $f6,$f16,$f4 /* f0987d8: 46083080 */ add.s $f2,$f6,$f8 /* f0987dc: 4600128d */ trunc.w.s $f10,$f2 /* f0987e0: 44025000 */ mfc1 $v0,$f10 /* f0987e4: 00000000 */ sll $zero,$zero,0x0 /* f0987e8: 44829000 */ mtc1 $v0,$f18 /* f0987ec: ae0205f8 */ sw $v0,0x5f8($s0) /* f0987f0: 46809420 */ cvt.s.w $f16,$f18 /* f0987f4: 46101101 */ sub.s $f4,$f2,$f16 /* f0987f8: 1c400010 */ bgtz $v0,.NB0f09883c /* f0987fc: e60405fc */ swc1 $f4,0x5fc($s0) /* f098800: 8e08060c */ lw $t0,0x60c($s0) /* f098804: 244b0001 */ addiu $t3,$v0,0x1 /* f098808: 31090010 */ andi $t1,$t0,0x10 /* f09880c: 15200003 */ bnez $t1,.NB0f09881c /* f098810: 00000000 */ sll $zero,$zero,0x0 /* f098814: 10000009 */ beqz $zero,.NB0f09883c /* f098818: ae0b05f8 */ sw $t3,0x5f8($s0) .NB0f09881c: /* f09881c: 10000007 */ beqz $zero,.NB0f09883c /* f098820: a2000004 */ sb $zero,0x4($s0) /* f098824: 920c0000 */ lbu $t4,0x0($s0) .NB0f098828: /* f098828: 2401001d */ addiu $at,$zero,0x1d /* f09882c: ae0605f8 */ sw $a2,0x5f8($s0) /* f098830: 55810003 */ bnel $t4,$at,.NB0f098840 /* f098834: 8e0d0558 */ lw $t5,0x558($s0) /* f098838: afa0004c */ sw $zero,0x4c($sp) .NB0f09883c: /* f09883c: 8e0d0558 */ lw $t5,0x558($s0) .NB0f098840: /* f098840: 8e0e05f8 */ lw $t6,0x5f8($s0) /* f098844: 01ae7821 */ addu $t7,$t5,$t6 /* f098848: ae0f0558 */ sw $t7,0x558($s0) /* f09884c: 8cf80010 */ lw $t8,0x10($a3) /* f098850: 33192000 */ andi $t9,$t8,0x2000 /* f098854: 53200004 */ beqzl $t9,.NB0f098868 /* f098858: a2060005 */ sb $a2,0x5($s0) /* f09885c: 10000002 */ beqz $zero,.NB0f098868 /* f098860: a2000005 */ sb $zero,0x5($s0) /* f098864: a2060005 */ sb $a2,0x5($s0) .NB0f098868: /* f098868: 8fa40054 */ lw $a0,0x54($sp) /* f09886c: 0fc28021 */ jal bgunResetSlideInc /* f098870: afa7005c */ sw $a3,0x5c($sp) /* f098874: 82020004 */ lb $v0,0x4($s0) /* f098878: 44803000 */ mtc1 $zero,$f6 /* f09887c: 8fa7005c */ lw $a3,0x5c($sp) /* f098880: 10400036 */ beqz $v0,.NB0f09895c /* f098884: e6060250 */ swc1 $f6,0x250($s0) /* f098888: 8e09060c */ lw $t1,0x60c($s0) /* f09888c: 8e080614 */ lw $t0,0x614($s0) /* f098890: 352a0020 */ ori $t2,$t1,0x20 /* f098894: ae0a060c */ sw $t2,0x60c($s0) /* f098898: 354c0010 */ ori $t4,$t2,0x10 /* f09889c: ae0c060c */ sw $t4,0x60c($s0) /* f0988a0: ae0806a8 */ sw $t0,0x6a8($s0) /* f0988a4: 8fad0050 */ lw $t5,0x50($sp) /* f0988a8: 8fa40054 */ lw $a0,0x54($sp) /* f0988ac: 8da50000 */ lw $a1,0x0($t5) /* f0988b0: 0fc256cc */ jal bgun0f097ba0 /* f0988b4: afa7005c */ sw $a3,0x5c($sp) /* f0988b8: 8fae004c */ lw $t6,0x4c($sp) /* f0988bc: 24060001 */ addiu $a2,$zero,0x1 /* f0988c0: 8fa7005c */ lw $a3,0x5c($sp) /* f0988c4: 11c00016 */ beqz $t6,.NB0f098920 /* f0988c8: 24010100 */ addiu $at,$zero,0x100 /* f0988cc: 80e30007 */ lb $v1,0x7($a3) /* f0988d0: 04600013 */ bltz $v1,.NB0f098920 /* f0988d4: 00037880 */ sll $t7,$v1,0x2 /* f0988d8: 020f1021 */ addu $v0,$s0,$t7 /* f0988dc: 8c580220 */ lw $t8,0x220($v0) /* f0988e0: 8e1905f8 */ lw $t9,0x5f8($s0) /* f0988e4: 03194023 */ subu $t0,$t8,$t9 /* f0988e8: ac480220 */ sw $t0,0x220($v0) /* f0988ec: 80e90007 */ lb $t1,0x7($a3) /* f0988f0: 00095080 */ sll $t2,$t1,0x2 /* f0988f4: 020a5821 */ addu $t3,$s0,$t2 /* f0988f8: 8d640220 */ lw $a0,0x220($t3) /* f0988fc: 04830009 */ bgezl $a0,.NB0f098924 /* f098900: 8ce20000 */ lw $v0,0x0($a3) /* f098904: 8e0c05f8 */ lw $t4,0x5f8($s0) /* f098908: 01846821 */ addu $t5,$t4,$a0 /* f09890c: ae0d05f8 */ sw $t5,0x5f8($s0) /* f098910: 80ee0007 */ lb $t6,0x7($a3) /* f098914: 000e7880 */ sll $t7,$t6,0x2 /* f098918: 020fc021 */ addu $t8,$s0,$t7 /* f09891c: af000220 */ sw $zero,0x220($t8) .NB0f098920: /* f098920: 8ce20000 */ lw $v0,0x0($a3) .NB0f098924: /* f098924: 3059ff00 */ andi $t9,$v0,0xff00 /* f098928: 53200008 */ beqzl $t9,.NB0f09894c /* f09892c: ae0606ac */ sw $a2,0x6ac($s0) /* f098930: 13210005 */ beq $t9,$at,.NB0f098948 /* f098934: 24010200 */ addiu $at,$zero,0x200 /* f098938: 13210006 */ beq $t9,$at,.NB0f098954 /* f09893c: 24080002 */ addiu $t0,$zero,0x2 /* f098940: 10000006 */ beqz $zero,.NB0f09895c /* f098944: 82020004 */ lb $v0,0x4($s0) .NB0f098948: /* f098948: ae0606ac */ sw $a2,0x6ac($s0) .NB0f09894c: /* f09894c: 10000003 */ beqz $zero,.NB0f09895c /* f098950: 82020004 */ lb $v0,0x4($s0) .NB0f098954: /* f098954: ae0806ac */ sw $t0,0x6ac($s0) /* f098958: 82020004 */ lb $v0,0x4($s0) .NB0f09895c: /* f09895c: 1040008f */ beqz $v0,.NB0f098b9c /* f098960: 02002025 */ or $a0,$s0,$zero /* f098964: 0fc2bee2 */ jal gsetGetSingleUnk38 /* f098968: afa0003c */ sw $zero,0x3c($sp) /* f09896c: 1840001e */ blez $v0,.NB0f0989e8 /* f098970: 8fa3003c */ lw $v1,0x3c($sp) /* f098974: 8faa0054 */ lw $t2,0x54($sp) /* f098978: 3c09800a */ lui $t1,0x800a /* f09897c: 8d29e944 */ lw $t1,-0x16bc($t1) /* f098980: 000a5900 */ sll $t3,$t2,0x4 /* f098984: 016a5823 */ subu $t3,$t3,$t2 /* f098988: 000b5880 */ sll $t3,$t3,0x2 /* f09898c: 016a5821 */ addu $t3,$t3,$t2 /* f098990: 000b58c0 */ sll $t3,$t3,0x3 /* f098994: 016a5821 */ addu $t3,$t3,$t2 /* f098998: 000b5880 */ sll $t3,$t3,0x2 /* f09899c: 000b6023 */ negu $t4,$t3 /* f0989a0: 3c02800a */ lui $v0,0x800a /* f0989a4: 012c6821 */ addu $t5,$t1,$t4 /* f0989a8: 8dae0fb4 */ lw $t6,0xfb4($t5) /* f0989ac: 8c42e6c8 */ lw $v0,-0x1938($v0) /* f0989b0: 104e0011 */ beq $v0,$t6,.NB0f0989f8 /* f0989b4: 00000000 */ sll $zero,$zero,0x0 /* f0989b8: 8e0f01d4 */ lw $t7,0x1d4($s0) /* f0989bc: 01e2082a */ slt $at,$t7,$v0 /* f0989c0: 1020000d */ beqz $at,.NB0f0989f8 /* f0989c4: 00000000 */ sll $zero,$zero,0x0 /* f0989c8: 0fc2bee2 */ jal gsetGetSingleUnk38 /* f0989cc: 02002025 */ or $a0,$s0,$zero /* f0989d0: 3c18800a */ lui $t8,0x800a /* f0989d4: 8f18e6c8 */ lw $t8,-0x1938($t8) /* f0989d8: 24030001 */ addiu $v1,$zero,0x1 /* f0989dc: 0058c821 */ addu $t9,$v0,$t8 /* f0989e0: 10000005 */ beqz $zero,.NB0f0989f8 /* f0989e4: ae1901d4 */ sw $t9,0x1d4($s0) .NB0f0989e8: /* f0989e8: 82080004 */ lb $t0,0x4($s0) /* f0989ec: 11000002 */ beqz $t0,.NB0f0989f8 /* f0989f0: 00000000 */ sll $zero,$zero,0x0 /* f0989f4: 24030001 */ addiu $v1,$zero,0x1 .NB0f0989f8: /* f0989f8: 50600069 */ beqzl $v1,.NB0f098ba0 /* f0989fc: 8fbf002c */ lw $ra,0x2c($sp) /* f098a00: 8e0401cc */ lw $a0,0x1cc($s0) /* f098a04: 50800008 */ beqzl $a0,.NB0f098a28 /* f098a08: 8e0401d0 */ lw $a0,0x1d0($s0) /* f098a0c: 0c00d360 */ jal audioIsPlaying /* f098a10: 00000000 */ sll $zero,$zero,0x0 /* f098a14: 50400004 */ beqzl $v0,.NB0f098a28 /* f098a18: 8e0401d0 */ lw $a0,0x1d0($s0) /* f098a1c: 0c00d428 */ jal audioStop /* f098a20: 8e0401cc */ lw $a0,0x1cc($s0) /* f098a24: 8e0401d0 */ lw $a0,0x1d0($s0) .NB0f098a28: /* f098a28: 10800007 */ beqz $a0,.NB0f098a48 /* f098a2c: 00000000 */ sll $zero,$zero,0x0 /* f098a30: 0c00d360 */ jal audioIsPlaying /* f098a34: 00000000 */ sll $zero,$zero,0x0 /* f098a38: 10400003 */ beqz $v0,.NB0f098a48 /* f098a3c: 00000000 */ sll $zero,$zero,0x0 /* f098a40: 0c00d428 */ jal audioStop /* f098a44: 8e0401d0 */ lw $a0,0x1d0($s0) .NB0f098a48: /* f098a48: 0fc2bef2 */ jal gsetGetSingleShootSound /* f098a4c: 02002025 */ or $a0,$s0,$zero /* f098a50: 50400053 */ beqzl $v0,.NB0f098ba0 /* f098a54: 8fbf002c */ lw $ra,0x2c($sp) /* f098a58: 8e0a01cc */ lw $t2,0x1cc($s0) /* f098a5c: 00002025 */ or $a0,$zero,$zero /* f098a60: 55400017 */ bnezl $t2,.NB0f098ac0 /* f098a64: 8e0e01d0 */ lw $t6,0x1d0($s0) /* f098a68: 0fc2bef2 */ jal gsetGetSingleShootSound /* f098a6c: 02002025 */ or $a0,$s0,$zero /* f098a70: 3c01bf80 */ lui $at,0xbf80 /* f098a74: 44814000 */ mtc1 $at,$f8 /* f098a78: 00022c00 */ sll $a1,$v0,0x10 /* f098a7c: 00055c03 */ sra $t3,$a1,0x10 /* f098a80: 3c04800a */ lui $a0,0x800a /* f098a84: 2409ffff */ addiu $t1,$zero,-1 /* f098a88: 240cffff */ addiu $t4,$zero,-1 /* f098a8c: 240dffff */ addiu $t5,$zero,-1 /* f098a90: afad001c */ sw $t5,0x1c($sp) /* f098a94: afac0018 */ sw $t4,0x18($sp) /* f098a98: afa90010 */ sw $t1,0x10($sp) /* f098a9c: 8c848180 */ lw $a0,-0x7e80($a0) /* f098aa0: 01602825 */ or $a1,$t3,$zero /* f098aa4: 260601cc */ addiu $a2,$s0,0x1cc /* f098aa8: 2407ffff */ addiu $a3,$zero,-1 /* f098aac: 0c004338 */ jal sndStart /* f098ab0: e7a80014 */ swc1 $f8,0x14($sp) /* f098ab4: 10000018 */ beqz $zero,.NB0f098b18 /* f098ab8: 00402025 */ or $a0,$v0,$zero /* f098abc: 8e0e01d0 */ lw $t6,0x1d0($s0) .NB0f098ac0: /* f098ac0: 55c00016 */ bnezl $t6,.NB0f098b1c /* f098ac4: 920b0000 */ lbu $t3,0x0($s0) /* f098ac8: 0fc2bef2 */ jal gsetGetSingleShootSound /* f098acc: 02002025 */ or $a0,$s0,$zero /* f098ad0: 3c01bf80 */ lui $at,0xbf80 /* f098ad4: 44815000 */ mtc1 $at,$f10 /* f098ad8: 00022c00 */ sll $a1,$v0,0x10 /* f098adc: 00057c03 */ sra $t7,$a1,0x10 /* f098ae0: 3c04800a */ lui $a0,0x800a /* f098ae4: 2418ffff */ addiu $t8,$zero,-1 /* f098ae8: 2419ffff */ addiu $t9,$zero,-1 /* f098aec: 2408ffff */ addiu $t0,$zero,-1 /* f098af0: afa8001c */ sw $t0,0x1c($sp) /* f098af4: afb90018 */ sw $t9,0x18($sp) /* f098af8: afb80010 */ sw $t8,0x10($sp) /* f098afc: 8c848180 */ lw $a0,-0x7e80($a0) /* f098b00: 01e02825 */ or $a1,$t7,$zero /* f098b04: 260601d0 */ addiu $a2,$s0,0x1d0 /* f098b08: 2407ffff */ addiu $a3,$zero,-1 /* f098b0c: 0c004338 */ jal sndStart /* f098b10: e7aa0014 */ swc1 $f10,0x14($sp) /* f098b14: 00402025 */ or $a0,$v0,$zero .NB0f098b18: /* f098b18: 920b0000 */ lbu $t3,0x0($s0) .NB0f098b1c: /* f098b1c: 3c0a800a */ lui $t2,0x800a /* f098b20: 8d4ae6c8 */ lw $t2,-0x1938($t2) /* f098b24: 24010006 */ addiu $at,$zero,0x6 /* f098b28: 1561001c */ bne $t3,$at,.NB0f098b9c /* f098b2c: ae0a01d8 */ sw $t2,0x1d8($s0) /* f098b30: 5080001b */ beqzl $a0,.NB0f098ba0 /* f098b34: 8fbf002c */ lw $ra,0x2c($sp) /* f098b38: c612023c */ lwc1 $f18,0x23c($s0) /* f098b3c: 3c013f80 */ lui $at,0x3f80 /* f098b40: 44816000 */ mtc1 $at,$f12 /* f098b44: 4600940d */ trunc.w.s $f16,$f18 /* f098b48: 3c014040 */ lui $at,0x4040 /* f098b4c: 44814000 */ mtc1 $at,$f8 /* f098b50: 3c017f1a */ lui $at,0x7f1a /* f098b54: 44028000 */ mfc1 $v0,$f16 /* f098b58: 00000000 */ sll $zero,$zero,0x0 /* f098b5c: 44822000 */ mtc1 $v0,$f4 /* f098b60: 00000000 */ sll $zero,$zero,0x0 /* f098b64: 468021a0 */ cvt.s.w $f6,$f4 /* f098b68: 46083083 */ div.s $f2,$f6,$f8 /* f098b6c: 4602603c */ c.lt.s $f12,$f2 /* f098b70: 00000000 */ sll $zero,$zero,0x0 /* f098b74: 45000002 */ bc1f .NB0f098b80 /* f098b78: 00000000 */ sll $zero,$zero,0x0 /* f098b7c: 46006086 */ mov.s $f2,$f12 .NB0f098b80: /* f098b80: c42a666c */ lwc1 $f10,0x666c($at) /* f098b84: 24050010 */ addiu $a1,$zero,0x10 /* f098b88: 460a1482 */ mul.s $f18,$f2,$f10 /* f098b8c: 46126401 */ sub.s $f16,$f12,$f18 /* f098b90: e7b00030 */ swc1 $f16,0x30($sp) /* f098b94: 0c00d492 */ jal func00033e50 /* f098b98: 8fa60030 */ lw $a2,0x30($sp) .NB0f098b9c: /* f098b9c: 8fbf002c */ lw $ra,0x2c($sp) .NB0f098ba0: /* f098ba0: 8fb00028 */ lw $s0,0x28($sp) /* f098ba4: 27bd0050 */ addiu $sp,$sp,0x50 /* f098ba8: 03e00008 */ jr $ra /* f098bac: 00000000 */ sll $zero,$zero,0x0 ); #endif u32 var80070120 = 2; u32 var80070124 = 4; const char var7f1ab890[] = "rontime"; const char var7f1ab898[] = "rofftime"; //void bgun0f09a6f8(struct handweaponinfo *info, s32 handnum, struct hand *hand, struct weaponfunc *func) //{ // bool usesammo = true; // // static u32 rontime = 2; // static u32 rofftime = 4; // // func0000db30("rontime", &rontime); // func0000db30("rofftime", &rofftime); // // hand->firing = true; // // if ((func->type & 0xff00) == 0x100) { // struct weaponfunc_shootauto *autofunc = (struct weaponfunc_shootauto *) func; // f32 tmp; // f32 tmp2; // // tmp = autofunc->initialfirerate + (autofunc->maxfirerate - autofunc->initialfirerate) * hand->gs_float1; // tmp2 = tmp / 60.0f * (g_Vars.lvupdate240f / 60.0f) + hand->shotremainder; // // hand->shotstotake = tmp2; // hand->shotremainder = tmp2 - hand->shotstotake; // // if (hand->shotstotake <= 0) { // if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { // hand->shotstotake++; // } else { // hand->firing = false; // } // } // } else { // hand->shotstotake = 1; // // if (hand->gset.weaponnum == WEAPON_LASER) { // usesammo = false; // } // } // // hand->burstbullets += hand->shotstotake; // // if (func->flags & FUNCFLAG_NOMUZZLEFLASH) { // hand->flashon = false; // } else { // hand->flashon = true; // } // // bgunResetSlideInc(handnum); // // hand->loadslide = 0; // // if (hand->firing) { // hand->statevar1 = hand->stateframes; // hand->stateflags |= HANDSTATEFLAG_00000020; // hand->stateflags |= HANDSTATEFLAG_00000010; // // bgun0f097ba0(handnum, info->weaponnum); // // if (usesammo && func->ammoindex >= 0) { // hand->loadedammo[func->ammoindex] -= hand->shotstotake; // // if (hand->loadedammo[func->ammoindex] < 0) { // // Note: loadedammo is negative // hand->shotstotake += hand->loadedammo[func->ammoindex]; // hand->loadedammo[func->ammoindex] = 0; // } // } // // switch (func->type & 0xff00) { // case 0: // case 0x100: // hand->attacktype = HANDATTACKTYPE_SHOOT; // break; // case 0x200: // hand->attacktype = HANDATTACKTYPE_SHOOTPROJECTILE; // break; // } // } // // if (hand->firing) { // bool playsound = false; // // if (gsetGetSingleUnk38(&hand->gset) > 0) { // if (g_Vars.lvframe60 != g_Vars.currentplayer->hands[1 - handnum].lastshootframe60 // && g_Vars.lvframe60 > hand->allowshootframe) { // hand->allowshootframe = g_Vars.lvframe60 + gsetGetSingleUnk38(&hand->gset); // playsound = true; // } // } else { // if (hand->firing) { // playsound = true; // } // } // // if (playsound) { // struct audiohandle *handle; // //#if VERSION >= VERSION_NTSC_1_0 // OSPri prevpri = osGetThreadPri(0); // osSetThreadPri(0, osGetThreadPri(&g_AudioManager.thread) + 1); //#endif // // if (hand->audiohandle2 && audioIsPlaying(hand->audiohandle2)) { // audioStop(hand->audiohandle2); // } // // if (hand->audiohandle3 && audioIsPlaying(hand->audiohandle3)) { // audioStop(hand->audiohandle3); // } // // if (gsetGetSingleShootSound(&hand->gset)) { // handle = NULL; // // if (hand->audiohandle2 == NULL) { // handle = sndStart(var80095200, gsetGetSingleShootSound(&hand->gset), &hand->audiohandle2, -1, -1, -1, -1, -1); // } else if (hand->audiohandle3 == NULL) { // handle = sndStart(var80095200, gsetGetSingleShootSound(&hand->gset), &hand->audiohandle3, -1, -1, -1, -1, -1); // } // } // // hand->lastshootframe60 = g_Vars.lvframe60; // // /** // * @dangerous: handle may be uninitialised. This is unlikely though // * because the branch above (which clears handle) should always be // * taken for the Mauler. // */ // if (hand->gset.weaponnum == WEAPON_MAULER && handle) { // f32 frac = (s32)hand->matmot1 / 3.0f; // f32 tmp; // // if (frac > 1.0f) { // frac = 1.0f; // } // // tmp = 1.0f - frac * 0.4f; // // func00033e50(handle, 16, *(s32 *)&tmp); // } // //#if VERSION >= VERSION_NTSC_1_0 // osSetThreadPri(0, prevpri); //#endif // } // } //} bool bgun0f09aba4(struct hand *hand, struct handweaponinfo *info, s32 handnum, struct weaponfunc_shoot *func) { s32 unk24; s32 unk25; s32 sum; s32 unk26; s32 unk27; s32 unk18; s32 frames; struct weapon *weapondef; f32 mult1; f32 recoil; f32 unk2c; f32 mult2; u32 stack; #if VERSION >= VERSION_PAL_FINAL unk24 = func->unk24; unk25 = func->unk25; unk26 = func->unk26; unk27 = func->unk27; unk18 = func->unk18; weapondef = info->definition; if (unk24 >= 4) { unk24 = PALDOWN(unk24); } if (unk25 >= 4) { unk25 = PALDOWN(unk25); } if (unk26 >= 4) { unk26 = PALDOWN(unk26); } if (unk27 >= 4) { unk27 = PALDOWN(unk27); } if (unk18 >= 4) { unk18 = PALDOWN(unk18); } sum = unk24 + unk25; #else unk24 = func->unk24; unk25 = func->unk25; sum = unk24 + unk25; unk26 = func->unk26; unk27 = func->unk27; unk18 = func->unk18; weapondef = info->definition; #endif frames = hand->stateframes - hand->statevar1; if (sum < 1) { sum = 0; } else { if (hand->triggerreleased && hand->triggeron && frames >= unk26 && unk26 > 0 && unk27 >= 0 && (hand->stateflags & HANDSTATEFLAG_00000040) == 0 && frames + unk27 < sum) { hand->stateflags |= HANDSTATEFLAG_00000040; hand->statevar1 = frames; hand->rotxstart = hand->rotxoffset; hand->rotxend = 0; hand->posend.x = 0; hand->posend.y = 0; hand->posend.z = 0; hand->posstart.x = hand->posoffset.x; hand->posstart.y = hand->posoffset.y; hand->posstart.z = hand->posoffset.z; } if (hand->stateflags & HANDSTATEFLAG_00000040) { if (unk27 > frames - hand->statevar1) { mult1 = cosf((f32)(unk27 - frames + hand->statevar1) * 1.5707963705063f / (f32)unk27) * 0.5f + 0.5f; hand->rotxoffset = func0001afe8(hand->rotxstart, hand->rotxend, mult1); hand->useposrot = true; hand->posoffset.x = (hand->posend.x - hand->posstart.x) * mult1 + hand->posstart.x; hand->posoffset.y = (hand->posend.y - hand->posstart.y) * mult1 + hand->posstart.y; hand->posoffset.z = (hand->posend.z - hand->posstart.z) * mult1 + hand->posstart.z; func000162e8(hand->rotxoffset, &hand->posrotmtx); func00015dd4(&hand->posoffset, &hand->posrotmtx); } else { func000159b0(&hand->posrotmtx); hand->useposrot = false; return true; } } if (frames < sum && (hand->stateflags & HANDSTATEFLAG_00000040) == 0) { recoil = func->recoil; unk2c = func->unk2c; if ((hand->stateflags & HANDSTATEFLAG_00000080) == 0) { hand->stateflags |= HANDSTATEFLAG_00000080; hand->rotxstart = hand->rotxoffset; hand->posstart.x = hand->posoffset.x; hand->posstart.y = hand->posoffset.y; hand->posstart.z = hand->posoffset.z; } hand->rotxend = M_BADTAU - (unk2c * M_BADTAU) / 360.0f; hand->posend.x = (func0f0b131c(handnum) - hand->aimpos.x) * recoil / 1000.0f; hand->posend.y = 0; hand->posend.z = (weapondef->frontback - hand->aimpos.z) * recoil / 1000.0f; if (frames < unk24) { mult2 = sinf(frames * 1.5707963705063f / (f32)unk24); } else { mult2 = cosf((f32)(frames - unk24) * M_PI / (f32)unk25) * 0.5f + 0.5f; } hand->rotxoffset = func0001afe8(hand->rotxstart, hand->rotxend, mult2); hand->useposrot = true; hand->posoffset.x = (hand->posend.x - hand->posstart.x) * mult2 + hand->posstart.x; hand->posoffset.y = (hand->posend.y - hand->posstart.y) * mult2 + hand->posstart.y; hand->posoffset.z = (hand->posend.z - hand->posstart.z) * mult2 + hand->posstart.z; func000162e8(hand->rotxoffset, &hand->posrotmtx); func00015dd4(&hand->posoffset, &hand->posrotmtx); } } if (sum <= frames) { if (unk27 >= 0 && hand->triggerreleased && hand->triggeron) { return true; } else if (sum + unk18 <= frames) { return true; } } return false; } bool bgunTickIncAttackingShoot(struct handweaponinfo *info, s32 handnum, struct hand *hand) { static u32 var80070128 = 99; struct weaponfunc *func = gsetGetWeaponFunction(&hand->gset); bool sp68; s32 sp64; s32 sp60; if (func == NULL) { return true; } if (hand->stateminor == 0) { sp64 = 1; func0000db30("gkef", &var80070128); if (hand->statecycles == 0) { hand->gs_float1 = 0; if (func->fire_animation) { bgun0f0988e0(func->fire_animation, handnum, hand); hand->unk0cc8_01 = true; } hand->burstbullets = 0; } if (!bgun0f098a44(hand, 2)) { sp64 = 0; } if (sp64) { hand->stateminor = 1; } hand->matmot2 = hand->gs_float1; } if (hand->stateminor == 1) { sp60 = bgun0f09a3f8(hand, func); if ((func->type & 0xff00) == 0x100) { struct weaponfunc_shootauto *autofunc = (struct weaponfunc_shootauto *) func; f32 auStack68[12]; if (autofunc->unk48 != NULL && autofunc->unk4c != NULL) { func0f097b64(autofunc->unk48, autofunc->unk4c, hand->gs_float1, auStack68); func0f097b40(hand->upgrademult, auStack68, hand->finalmult); } } if (sp60 > 0) { bgun0f09a6f8(info, handnum, hand, func); } if (sp60 < 0 || sp60 == 2) { hand->stateminor = 2; } hand->matmot2 = hand->gs_float1; if (hand->triggeron && hand->matmot2 < 0.4f) { hand->matmot2 = 0.4f; } if (hand->triggerreleased) { hand->unk0cc8_01 = false; } return false; } if (hand->stateminor == 2) { if (hand->stateflags & HANDSTATEFLAG_00000020) { sp68 = bgun0f09aba4(hand, info, handnum, (struct weaponfunc_shoot *) func); } else { sp68 = true; } if (hand->gset.weaponnum == WEAPON_SHOTGUN && hand->animmode == HANDANIMMODE_BUSY) { sp68 = false; } hand->matmot2 = hand->gs_float1; if (sp68 && !hand->triggeron) { hand->matmot2 = 0; } if (hand->gset.weaponnum == WEAPON_MAULER) { hand->matmot1 = 0; } return sp68; } return false; } bool bgunTickIncAttackingThrow(s32 handnum, struct hand *hand) { struct weaponfunc_throw *func = (struct weaponfunc_throw *) gsetGetWeaponFunction(&hand->gset); if (func == NULL) { return true; } if (hand->stateminor == 0) { if (hand->statecycles == 0) { if (func->base.flags & FUNCFLAG_DISCARDWEAPON) { invRemoveItemByNum(hand->gset.weaponnum); g_Vars.currentplayer->gunctrl.unk1583_04 = true; #if VERSION >= VERSION_NTSC_1_0 bgun0f0a1ab0(); #else bgunAutoSwitchWeapon(); #endif hand->primetimer = 0; return true; } if (func->base.fire_animation) { bgun0f0988e0(func->base.fire_animation, handnum, hand); hand->unk0cc8_01 = true; } } if (func->base.fire_animation) { if (hand->triggerreleased) { hand->unk0cc8_01 = false; } if (bgun0f098a44(hand, 2)) { hand->stateminor = 1; hand->unk0cc8_01 = false; } } else { hand->stateminor = 1; } } if (hand->stateminor == 1) { hand->firing = true; hand->attacktype = HANDATTACKTYPE_THROWPROJECTILE; hand->loadedammo[func->base.ammoindex]--; hand->stateminor = 2; return false; } if (hand->stateminor == 2) { if (hand->stateframes > PALDOWN(func->recoverytime60)) { return true; } if (hand->gset.weaponnum == WEAPON_REMOTEMINE && bgunIsUsingSecondaryFunction() == true && hand->triggerreleased && hand->triggeron) { return true; } return false; } // This state is only used after having a grenade explode in the player's // hand. It waits 4 seconds before finishing, which means the player won't // pull out another grenade until the flames have cleared. if (hand->stateminor == 55) { bgunResetAnim(hand); if (hand->stateframes > PALDOWN(func->activatetime60 + 240)) { return true; } return false; } hand->primetimer = hand->stateframes; // If held a grenade too long, force throw it and enter the wait state if (hand->gset.weaponnum == WEAPON_GRENADE && hand->gset.weaponfunc == FUNC_PRIMARY && hand->primetimer > PALDOWN(func->activatetime60)) { hand->firing = true; hand->attacktype = HANDATTACKTYPE_THROWPROJECTILE; hand->loadedammo[func->base.ammoindex]--; hand->stateminor = 55; return false; } return false; } s32 bgunGetMinClipQty(s32 weaponnum, s32 funcnum) { if (weaponnum == WEAPON_TRANQUILIZER && funcnum == FUNC_SECONDARY) { return 4; } return 1; } const char var7f1ab8ac[] = "changegunmem type %d CurrentPlayer->gunctrl.gunmemtype %d\n"; const char var7f1ab8e8[] = "LockTimer: %d\n"; const char var7f1ab8f8[] = "BriGun: Releasing gunmem - current gunmemtype %d gunmemnew %d\n"; const char var7f1ab938[] = "GiveMem: %d\n"; const char var7f1ab948[] = "BriGun: BriGunLoadTick process GUN_LOADSTATE_LOAD_OBJ\n"; const char var7f1ab980[] = "BriGun: Loading - %s, pMem 0x%08x Size %d\n"; const char var7f1ab9ac[] = "BriGun: Warning: LoadSize > MemSize, clamping decomp. buffer from %d to %d (%d Bytes)\n"; const char var7f1aba04[] = "BriGun: obLoadto at 0x%08x, size %d\n"; const char var7f1aba2c[] = "BriGun: Used size %d (Ob Size %d)\n"; const char var7f1aba50[] = "BriGun: block len %d usedsize %d\n"; const char var7f1aba74[] = "BriGun: obln ram_len %d block_len %d\n"; const char var7f1aba9c[] = "BriGun: new used size %d\n"; const char var7f1abab8[] = "BriGun: Texture Block at 0x%08x size %d, endp 0x%08x\n"; const char var7f1abaf0[] = "BriGun: Set Load State: GUN_LOADSTATE_DECOMPRESS_TEXTURES\n"; const char var7f1abb2c[] = "BriGun: BriGunLoadTick process GUN_LOADSTATE_DECOMPRESS_TEXTURES\n"; const char var7f1abb70[] = "BriGun: at texture %d\n"; const char var7f1abb88[] = "BriGun: Uncompress %d of %d\n"; const char var7f1abba8[] = "BriGun: Set Load State: GUN_LOADSTATE_DECOMPRESS_DLS\n"; const char var7f1abbe0[] = "BriGun: BriGunLoadTick process GUN_LOADSTATE_DECOMPRESS_DLS\n"; const char var7f1abc20[] = "BriGun: propgfx_decompress 0x%08x\n"; const char var7f1abc44[] = "BriGun: DL waste space %d from %d (Used %d, Ramlen %d, ObSize %d)\n"; const char var7f1abc88[] = "Increase GUNSAVESIZE to %d!!!\n"; const char var7f1abca8[] = "BriGun: Set Load State: GUN_LOADSTATE_LOADED\n"; const char var7f1abcd8[] = "need a new gun loading (lock %d gunmemnew %d)\n"; const char var7f1abd08[] = "loading gun file: %d type: %d\n"; const char var7f1abd28[] = "BriGun: Process MASTER_GUN_LOADSTATE_FLUX\n"; const char var7f1abd54[] = "BriGun: Set Master State: MASTER_GUN_LOADSTATE_HANDS\n"; const char var7f1abd8c[] = "BriGun: Process MASTER_GUN_LOADSTATE_HANDS\n"; const char var7f1abdb8[] = "BriGun: Setup Hand Load\n"; const char var7f1abdd4[] = "Hand : Using cached hands\n"; const char var7f1abdf0[] = "Hand : Look ma no hands!\n"; const char var7f1abe0c[] = "BriGun: Set Master State: MASTER_GUN_LOADSTATE_GUN\n"; const char var7f1abe40[] = "BriGun: Process MASTER_GUN_LOADSTATE_GUN\n"; const char var7f1abe6c[] = "BriGun: Setup Gun Load\n"; const char var7f1abe84[] = "BriGun: Set Master State: MASTER_GUN_LOADSTATE_CARTS\n"; const char var7f1abebc[] = "BriGun: Process MASTER_GUN_LOADSTATE_CARTS\n"; const char var7f1abee8[] = "BriGun: Cart Loaded setting GUN_LOADSTATE_FLUX\n"; const char var7f1abf18[] = "BriGun: Cart loading - looking for carts\n"; const char var7f1abf44[] = "BriGun: Loading cart %d\n"; const char var7f1abf60[] = "BriGun: Request for cart %d ignored - cart already loaded\n"; const char var7f1abf9c[] = "BriGun: Compile Hand 0x%08x Gun 0x%0x8\n"; const char var7f1abfc4[] = "Gun : Compiled Gun 0x%08x\n"; const char var7f1abfe4[] = "Gun : Compiled Size %d\n"; const char var7f1ac000[] = "Hand : Compiled Hand 0x%08x\n"; const char var7f1ac020[] = "Hand : Compiled Size %d\n"; const char var7f1ac03c[] = "Gun : Compile overhead %d bytes\n"; const char var7f1ac060[] = "Hand : Hand Obj 0x%08x Gun Obj 0x%08x \n"; const char var7f1ac08c[] = "Gun : After Comp : Base 0x%08x Free %d\n"; const char var7f1ac0b8[] = "Gun : After Cached Setup : Base 0x%08x Free %d\n"; const char var7f1ac0ec[] = "Gun : TotalUsed %d, Free %d\n"; const char var7f1ac10c[] = "BriGun: Set Master State: MASTER_GUN_LOADSTATE_LOADED\n"; const char var7f1ac144[] = "GunLockTimer: %d\n"; u32 var8007012c = 0x00000000; u32 var80070130 = 0x00000000; u32 var80070134 = 0x00000000; u32 var80070138 = 0x00000000; u32 var8007013c = 0x00000000; u32 var80070140 = 0x00000000; u32 var80070144 = 0x00000000; u32 var80070148 = 0xbf800000; u32 var8007014c = 0x00000000; u32 var80070150 = 0x3f800000; u32 var80070154 = 0x00000000; u32 var80070158 = 0x04e50764; u32 var8007015c = 0x05360529; u32 var80070160 = 0x0531052a; u32 var80070164 = 0x052b052c; u32 var80070168 = 0x052c052d; u32 var8007016c = 0x052b052b; u32 var80070170 = 0x052e052f; u32 var80070174 = 0x052f0530; u32 var80070178 = 0x05310532; u32 var8007017c = 0x05320533; u32 var80070180 = 0x05340535; u32 var80070184 = 0x05360537; u32 var80070188 = 0x05380530; u32 var8007018c = 0x0539053a; u32 var80070190 = 0x0532053b; u32 var80070194 = 0x05310766; u32 var80070198 = 0x07670768; u32 var8007019c = 0x0769076a; u32 var800701a0 = 0x076b076c; u32 var800701a4 = 0x076d0000; u32 var800701a8 = 0x0000ffff; u32 var800701ac = 0x00000000; u32 var800701b0 = 0x00000000; u32 var800701b4 = 0x00000000; u32 var800701b8 = 0x00000000; u32 var800701bc = 0x00000000; u8 g_AutoSwitchWeaponsPrimary[] = { WEAPON_RCP120, WEAPON_SUPERDRAGON, WEAPON_K7AVENGER, WEAPON_AR34, WEAPON_CALLISTO, WEAPON_LAPTOPGUN, WEAPON_DRAGON, WEAPON_CMP150, WEAPON_CYCLONE, WEAPON_FARSIGHT, WEAPON_SHOTGUN, WEAPON_REAPER, WEAPON_DY357LX, WEAPON_MAULER, WEAPON_DY357MAGNUM, WEAPON_MAGSEC4, WEAPON_PHOENIX, WEAPON_FALCON2_SCOPE, WEAPON_FALCON2, WEAPON_FALCON2_SILENCER, WEAPON_SNIPERRIFLE, WEAPON_CROSSBOW, WEAPON_TRANQUILIZER, WEAPON_LASER, WEAPON_SUPERDRAGON, // duplicate WEAPON_DEVASTATOR, WEAPON_ROCKETLAUNCHER, WEAPON_SLAYER, WEAPON_GRENADE, WEAPON_NBOMB, WEAPON_PROXIMITYMINE, WEAPON_TIMEDMINE, WEAPON_REMOTEMINE, WEAPON_COMBATKNIFE, WEAPON_UNARMED, }; u8 g_AutoSwitchWeaponsSecondary[] = { WEAPON_REAPER, WEAPON_DY357LX, WEAPON_DY357MAGNUM, WEAPON_FALCON2_SCOPE, WEAPON_FALCON2, WEAPON_FALCON2_SILENCER, WEAPON_UNARMED, }; u32 var800701ec = 0x00000000; u32 var800701f0 = 0x00000000; u32 var800701f4 = 0x00000000; u32 var800701f8 = 0x00000000; u32 var800701fc = 0x00000000; struct guncmd var80070200[2] = { { GUNCMD_PLAYANIMATION, 0, 0x0434, 10000 }, { GUNCMD_END }, }; u32 var80070210 = 0x00000000; u32 var80070214 = 0x00000000; u32 var80070218 = 0x00000000; u32 var8007021c = 0x00000000; u32 var80070220 = 0x00000000; u32 var80070224 = 0x00000000; u32 var80070228 = 0x00000000; u32 var8007022c = 0x00000000; u32 var80070230 = 0x00000000; u32 var80070234 = 0x00000000; u32 var80070238 = 0x00000000; u32 var8007023c = 0x00000000; u32 var80070240 = 0x00000000; u32 var80070244 = 0x00000000; u32 var80070248 = 0x00000000; u32 var8007024c = 0x00000000; u32 var80070250 = 0x00000000; u32 var80070254 = 0x00000000; u32 var80070258 = 0x00000000; u32 var8007025c = 0x00000000; u32 var80070260 = 0x00000001; u32 var80070264 = 0x00000003; u32 var80070268 = 0x00000000; u32 var8007026c = 0x00000000; u32 var80070270 = 0x00000000; u32 var80070274 = 0x00000000; u32 var80070278 = 0x00000000; u32 var8007027c = 0x00000000; u32 var80070280 = 0x00000000; u32 var80070284 = 0x00000000; u32 var80070288 = 0x00000000; u32 var8007028c = 0x00000000; u32 var80070290 = 0x00000000; u32 var80070294 = 0x00000000; u32 var80070298 = 0x00000000; u32 var8007029c = 0x00000000; u32 var800702a0 = 0x00000001; u32 var800702a4 = 0x00000003; u32 var800702a8 = 0x00000000; u32 var800702ac = 0x00000000; u32 var800702b0 = 0x00000000; u32 var800702b4 = 0x00000000; u32 var800702b8 = 0x00000000; u32 var800702bc = 0x00000000; u32 var800702c0 = 0x00000000; u32 var800702c4 = 0x00000000; u32 var800702c8 = 0x00000000; u32 var800702cc = 0x00000000; u32 var800702d0 = 0x00000000; u32 var800702d4 = 0x00000000; u32 var800702d8 = 0x00000000; u32 var800702dc = 0x00000001; u32 var800702e0 = 0x002f0030; u32 var800702e4 = 0x00310000; u32 var800702e8 = 0x80768076; u32 var800702ec = 0x001b001c; u32 var800702f0 = 0x001d001e; u32 var800702f4 = 0x001b001c; u32 var800702f8 = 0x001d001e; u32 var800702fc = 0x001b001c; u32 var80070300 = 0x001d001e; u32 var80070304 = 0x00230024; u32 var80070308 = 0x00250026; u32 var8007030c = 0x00270028; u32 var80070310 = 0x0029002a; u32 var80070314 = 0x005b005c; u32 var80070318 = 0x00130014; u32 var8007031c = 0x00150016; u32 var80070320 = 0x00170018; u32 var80070324 = 0x0019001a; u32 var80070328 = 0x00170018; u32 var8007032c = 0x0019001a; u32 var80070330 = 0x00170018; u32 var80070334 = 0x0019001a; u32 var80070338 = 0x001f0020; u32 var8007033c = 0x00200021; u32 var80070340 = 0x001f0020; u32 var80070344 = 0x00200021; u32 var80070348 = 0x001f0020; u32 var8007034c = 0x00200021; u32 var80070350 = 0x00230024; u32 var80070354 = 0x00250026; u32 var80070358 = 0x00270028; u32 var8007035c = 0x0029002a; bool bgunTickIncAttackingClose(s32 handnum, struct hand *hand) { struct weaponfunc *func = gsetGetWeaponFunction(&hand->gset); if (func == NULL) { return true; } if (hand->gset.weaponnum == WEAPON_REAPER) { if (hand->statecycles == 0) { hand->matmot2 = 0.1f; hand->burstbullets = 0; } hand->firing = true; hand->attacktype = HANDATTACKTYPE_CLOSERANGE; hand->burstbullets++; if (hand->triggeron) { #if VERSION >= VERSION_PAL_FINAL hand->matmot2 += 0.01f * g_Vars.lvupdate240freal; #else hand->matmot2 += 0.01f * g_Vars.lvupdate240f; #endif if (hand->matmot2 > 1) { hand->matmot2 = 1; } } else { hand->matmot2 = 0; return true; } return false; } if (hand->stateminor == 0) { if (hand->statecycles == 0) { hand->firing = true; hand->attacktype = HANDATTACKTYPE_CLOSERANGENOUNCLOAK; if (func->fire_animation) { bgun0f0988e0(func->fire_animation, handnum, hand); hand->unk0cc8_01 = true; } } if (func->fire_animation) { if (hand->triggerreleased) { hand->unk0cc8_01 = false; } if (bgun0f098a44(hand, 2)) { hand->stateminor = 1; hand->unk0cc8_01 = false; } } else { hand->stateminor = 1; } } if (hand->stateminor == 3 && bgun0f098a44(hand, 3)) { hand->stateminor = 1; hand->unk0cc8_01 = false; } if (hand->stateminor == 1) { hand->firing = true; hand->attacktype = HANDATTACKTYPE_CLOSERANGE; if (hand->gset.weaponnum == WEAPON_TRANQUILIZER && func->ammoindex >= 0) { if (hand->loadedammo[func->ammoindex] > bgunGetMinClipQty(WEAPON_TRANQUILIZER, FUNC_SECONDARY)) { hand->loadedammo[func->ammoindex] -= bgunGetMinClipQty(WEAPON_TRANQUILIZER, FUNC_SECONDARY); } else { hand->loadedammo[func->ammoindex] = 0; } } if (func->fire_animation) { if (func->fire_animation && !bgun0f098a44(hand, 3)) { hand->stateminor = 3; } else { hand->stateminor = 2; } } if (cheatIsActive(CHEAT_HURRICANEFISTS)) { hand->stateminor = 2; } return false; } if (hand->stateminor == 2) { if (!bgunIsAnimBusy(hand)) { return true; } if (cheatIsActive(CHEAT_HURRICANEFISTS) && hand->gset.weaponnum == WEAPON_UNARMED) { return true; } if (hand->stateframes > PALDOWN(60)) { return true; } return false; } return false; } bool bgunTickIncAttackingSpecial(struct hand *hand) { struct weaponfunc_special *func = (struct weaponfunc_special *) gsetGetWeaponFunction(&hand->gset); if (!func) { return true; } if (hand->stateminor == 0) { hand->stateminor = 1; } if (hand->stateminor == 1) { hand->firing = true; hand->attacktype = func->specialfunc; if (func->base.ammoindex >= 0) { hand->loadedammo[func->base.ammoindex]--; } hand->stateminor = 2; return false; } if (hand->stateminor == 2) { if (hand->stateframes > PALDOWN(func->unk18)) { return true; } return false; } return false; } s32 bgunTickIncAttackEmpty(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { u32 stack; bool playsound = false; switch (info->weaponnum) { case WEAPON_FALCON2: case WEAPON_FALCON2_SILENCER: case WEAPON_FALCON2_SCOPE: case WEAPON_MAGSEC4: case WEAPON_MAULER: case WEAPON_PHOENIX: case WEAPON_DY357MAGNUM: case WEAPON_DY357LX: case WEAPON_CMP150: case WEAPON_CYCLONE: case WEAPON_CALLISTO: case WEAPON_RCP120: case WEAPON_LAPTOPGUN: case WEAPON_REAPER: case WEAPON_TRANQUILIZER: case WEAPON_PP9I: case WEAPON_CC13: // These weapons are weapons with visible finger trigger animations if (hand->stateframes > PALDOWN(25)) { hand->stateframes -= PALDOWN(25); hand->stateflags = 0; bgunResetAnim(hand); } if (hand->animmode != HANDANIMMODE_BUSY) { bool restartedanim = false; if ((hand->stateflags & HANDSTATEFLAG_00000010) == 0) { struct weaponfunc *func = NULL; if (info->definition) { func = gsetGetWeaponFunction(&hand->gset); } if (func && func->fire_animation) { bgun0f0988e0(func->fire_animation, handnum, hand); restartedanim = true; } } if (!restartedanim && hand->stateframes > PALDOWN(25)) { playsound = true; } } else if (bgun0f098a44(hand, 5)) { playsound = true; } break; default: // Weapons without visible trigger animations must // still play the click sound every 25 frames if (hand->stateframes > PALDOWN(25)) { playsound = true; hand->stateframes -= PALDOWN(25); hand->stateflags = 0; bgunResetAnim(hand); } } hand->mode = HANDMODE_13; hand->count60 = 0; hand->count = 0; if (playsound && (hand->stateflags & HANDSTATEFLAG_00000010) == 0) { hand->stateflags |= HANDSTATEFLAG_00000010; switch (info->weaponnum) { case WEAPON_PHOENIX: case WEAPON_CALLISTO: case WEAPON_FARSIGHT: { // Maian weapons have a wet sounding click effect f32 speed = 2.07f; #if VERSION >= VERSION_NTSC_1_0 OSPri prevpri = osGetThreadPri(0); struct audiohandle *handle; osSetThreadPri(0, osGetThreadPri(&g_AudioManager.thread) + 1); #else struct audiohandle *handle; #endif handle = sndStart(var80095200, SFX_HIT_WATER, NULL, -1, -1, -1, -1, -1); if (handle) { func00033e50(handle, 16, *(s32 *)&speed); } #if VERSION >= VERSION_NTSC_1_0 osSetThreadPri(0, prevpri); #endif } // fall-through - unsure if intentional case WEAPON_TRANQUILIZER: case WEAPON_PSYCHOSISGUN: { // The tranquliser and psychosis gun use the standard click // effect but slightly faster. f32 speed = 1.5f; #if VERSION >= VERSION_NTSC_1_0 OSPri prevpri = osGetThreadPri(0); struct audiohandle *handle; osSetThreadPri(0, osGetThreadPri(&g_AudioManager.thread) + 1); #else struct audiohandle *handle; #endif handle = sndStart(var80095200, SFX_FIREEMPTY, NULL, -1, -1, -1, -1, -1); if (handle) { func00033e50(handle, 16, *(s32 *)&speed); } #if VERSION >= VERSION_NTSC_1_0 osSetThreadPri(0, prevpri); #endif } break; case WEAPON_UNARMED: case WEAPON_COMBATKNIFE: case WEAPON_GRENADE: case WEAPON_NBOMB: case WEAPON_TIMEDMINE: case WEAPON_PROXIMITYMINE: case WEAPON_REMOTEMINE: case WEAPON_COMBATBOOST: // No sound effect break; default: // Default click sound effect sndStart(var80095200, SFX_FIREEMPTY, NULL, -1, -1, -1, -1, -1); break; } } // Handle releasing trigger if (!hand->triggeron) { hand->mode = HANDMODE_NONE; hand->count60 = 0; hand->count = 0; if (bgunSetState(handnum, HANDSTATE_IDLE)) { return lvupdate; } bgunResetAnim(hand); } return 0; } s32 bgunTickIncAttack(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { u32 stack; struct weaponfunc *func = NULL; bool finished = true; u32 stack2; if (info->definition) { func = gsetGetWeaponFunction(&hand->gset); } if (func != NULL) { switch (func->type & 0xff) { case INVENTORYFUNCTYPE_SHOOT: finished = bgunTickIncAttackingShoot(info, handnum, hand); break; case INVENTORYFUNCTYPE_THROW: finished = bgunTickIncAttackingThrow(handnum, hand); break; case INVENTORYFUNCTYPE_CLOSE: finished = bgunTickIncAttackingClose(handnum, hand); break; case INVENTORYFUNCTYPE_SPECIAL: finished = bgunTickIncAttackingSpecial(hand); break; } } if (finished) { if (hand->gset.weaponnum == WEAPON_REAPER && hand->triggeron) { hand->gset.weaponfunc = FUNC_SECONDARY; finished = false; } if (finished && bgunSetState(handnum, HANDSTATE_IDLE)) { return lvupdate; } } if (1); if (1); return 0; } bool bgunIsReadyToSwitch(s32 handnum) { struct player *player = g_Vars.currentplayer; // Dont switch if... something firing range related if (g_FrIsValidWeapon && frGetWeaponBySlot(frGetSlot()) == player->hands[HAND_RIGHT].gset.weaponnum && g_Vars.currentplayer->gunctrl.unk1583_04 == false) { return false; } // Don't switch right hand if left hand is about to auto switch if (handnum == HAND_RIGHT && player->hands[HAND_LEFT].inuse && player->hands[HAND_LEFT].state == HANDSTATE_AUTOSWITCH && player->hands[HAND_LEFT].stateminor == 0) { return false; } if (player->gunctrl.switchtoweaponnum >= 0) { return true; } if (handnum == HAND_LEFT) { if (handnum == HAND_LEFT) { if (player->hands[HAND_RIGHT].state == HANDSTATE_RELOAD) { return false; } if (player->hands[HAND_RIGHT].state == HANDSTATE_CHANGEFUNC) { return false; } if (player->hands[HAND_RIGHT].state == HANDSTATE_ATTACK) { return false; } } if (player->hands[handnum].inuse && player->gunctrl.unk1583_00 == false) { return true; } if (!player->hands[handnum].inuse && player->gunctrl.unk1583_00) { return true; } } return false; } bool bgun0f09bec8(s32 handnum) { struct player *player = g_Vars.currentplayer; if (player->hands[handnum].state == HANDSTATE_CHANGEGUN && player->hands[handnum].stateminor == 2 && player->hands[handnum].count >= 3 && player->gunctrl.unk1583_04 == false) { return true; } return false; } bool bgun0f09bf44(s32 handnum) { bool result = true; struct player *player = g_Vars.currentplayer; if (!bgun0f09dd7c()) { result = false; } if (player->gunctrl.switchtoweaponnum != -1) { result = false; } if (handnum == HAND_LEFT && player->gunctrl.unk1583_00 != player->hands[handnum].inuse) { result = false; } if (player->gunctrl.gunmemnew >= 0) { result = false; } if (player->hands[1 - handnum].state == HANDSTATE_RELOAD) { result = false; } return result; } s32 bgunTickIncChangeGun(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { u32 stack; struct weapon *weapon = info->definition; if (hand->statecycles == 0) { if (g_Vars.normmplayerisrunning == false) { hand->pausetime60 = 0; } else { hand->pausetime60 = 0; } } // Handle unequip animation if (hand->stateminor == 0) { bool skipanim = false; if (weaponHasFlag(info->weaponnum, WEAPONFLAG_00000001) && (info->weaponnum != WEAPON_REMOTEMINE || handnum != HAND_LEFT) && bgun0f098ca0(0, info, hand) < 0) { skipanim = true; } hand->count = 0; if (!skipanim) { if (weapon->unequip_animation && hand->inuse == true && (!hand->unk0d0e_00 || hand->unk0d0e_04)) { if (hand->statecycles == 0) { bgun0f0988e0(weapon->unequip_animation, handnum, hand); } else if (hand->animmode == HANDANIMMODE_IDLE) { hand->stateminor++; } } else { hand->stateflags |= HANDSTATEFLAG_00000001; if (hand->unk0d0e_00 == 1) { return 0; } hand->stateminor++; } } else { hand->stateminor++; } if (hand->stateminor == 1) { hand->stateframes = 0; } } // Handle possible delay between gun disappearing and new one equipping, // as well as throwing the gun if that's what we're doing if (hand->stateminor == 1) { s32 delay = PALDOWN(16); bool somebool = false; u32 stack2; hand->count = 0; if (g_Vars.normmplayerisrunning) { delay = PALDOWN(12); } if (weapon->unequip_animation && (hand->stateflags & HANDSTATEFLAG_00000001) == 0) { delay = 1; } if (!hand->inuse) { delay = 1; } if (hand->unk0d0e_04 == 0 && (hand->unk0d0e_00 == 1 || hand->unk0d0e_00 == 2)) { somebool = true; } if (g_Vars.currentplayer->gunctrl.unk1583_04 == 1) { somebool = true; } if (hand->stateframes >= delay) { if (!somebool) { if (g_Vars.mplayerisrunning && (IS8MB() || PLAYERCOUNT() != 1)) { currentPlayerSetWeaponReapable(handnum); } bgun0f09fa20(handnum); hand->mode = HANDMODE_6; hand->stateminor++; } else { bgun0f099780(hand, 0.87252569198608f); if (g_Vars.currentplayer->gunctrl.unk1583_04 == 1 && hand->inuse) { hand->firing = true; hand->attacktype = HANDATTACKTYPE_THROWPROJECTILE; hand->gset.weaponfunc = FUNC_SECONDARY; } } } else { bgun0f099780(hand, hand->stateframes * 0.87252569198608f / delay); } } // Handle equip animation if (hand->stateminor == 2) { hand->animmode = HANDANIMMODE_IDLE; if (hand->pausechange == 0 || hand->pausetime60 <= hand->count60) { if (hand->mode == HANDMODE_6) { if (bgun0f09bf44(handnum)) { hand->mode = HANDMODE_7; if (!hand->inuse && bgunSetState(handnum, HANDSTATE_IDLE)) { return lvupdate; } } } else { if (bgun0f09dd7c()) { if (info->definition->equip_animation) { bgun0f0988e0(info->definition->equip_animation, handnum, hand); hand->unk0cc8_02 = true; } hand->mode = HANDMODE_8; hand->stateminor++; hand->count60 = 0; hand->count = 0; } } } if (hand->mode == HANDMODE_6 || hand->mode == HANDMODE_7) { bgun0f099780(hand, 0.87252569198608f); } } // Handle delay if new weapon has no equip animation, and play sound if (hand->stateminor == 3) { s32 delay = PALDOWN(23); if (g_Vars.normmplayerisrunning) { delay = PALDOWN(12); } if (weaponHasFlag(hand->gset.weaponnum, WEAPONFLAG_00004000)) { hand->animmode = HANDANIMMODE_IDLE; } else if (weapon->equip_animation) { delay = 1; } if (hand->count == 0) { if (g_Vars.mplayerisrunning && (IS8MB() || PLAYERCOUNT() != 1)) { func0f128d20(handnum); } bgun0f098f8c(info, hand); if (weaponHasFlag(info->weaponnum, WEAPONFLAG_00000001) && (info->weaponnum != WEAPON_REMOTEMINE || handnum != HAND_LEFT) && bgun0f098ca0(0, info, hand) < 0 && bgunSetState(handnum, HANDSTATE_AUTOSWITCH)) { hand->stateminor = 1; return lvupdate; } g_Vars.currentplayer->doautoselect = false; if (g_Vars.lvupdate240 > 0 && g_Vars.currentplayer->cameramode != CAMERAMODE_THIRDPERSON && bgun0f09dd7c() && !g_PlayerInvincible && !g_Vars.currentplayer->isdead) { #if VERSION >= VERSION_NTSC_1_0 struct audiohandle *handle1; f32 speed1; struct audiohandle *handle2; OSPri prevpri1; f32 speed2; OSPri prevpri2; struct audiohandle *handle3; f32 speed3; OSPri prevpri3; #else struct audiohandle *handle1; f32 speed1; struct audiohandle *handle2; f32 speed2; struct audiohandle *handle3; f32 speed3; #endif switch (info->weaponnum) { case WEAPON_HORIZONSCANNER: speed1 = 3.5f; #if VERSION >= VERSION_NTSC_1_0 prevpri1 = osGetThreadPri(0); osSetThreadPri(0, osGetThreadPri(&g_AudioManager.thread) + 1); #endif handle1 = sndStart(var80095200, SFX_EQUIP_HORIZONSCANNER, 0, -1, -1, -1, -1, -1); if (handle1) { func00033e50(handle1, 16, *(s32 *)&speed1); } #if VERSION >= VERSION_NTSC_1_0 osSetThreadPri(0, prevpri1); #endif break; case WEAPON_LASER: sndStart(var80095200, SFX_PICKUP_LASER, 0, -1, -1, -1, -1, -1); break; case WEAPON_COMBATKNIFE: sndStart(var80095200, SFX_PICKUP_KNIFE, 0, -1, -1, -1, -1, -1); break; case WEAPON_REMOTEMINE: if (handnum == HAND_RIGHT) { sndStart(var80095200, SFX_PICKUP_MINE, 0, -1, -1, -1, -1, -1); } break; case WEAPON_TIMEDMINE: case WEAPON_PROXIMITYMINE: case WEAPON_ECMMINE: case WEAPON_DATAUPLINK: case WEAPON_RTRACKER: case WEAPON_PRESIDENTSCANNER: case WEAPON_DOORDECODER: case WEAPON_AUTOSURGEON: case WEAPON_COMMSRIDER: case WEAPON_TRACERBUG: case WEAPON_TARGETAMPLIFIER: sndStart(var80095200, SFX_PICKUP_MINE, 0, -1, -1, -1, -1, -1); break; case WEAPON_TRANQUILIZER: case WEAPON_PSYCHOSISGUN: speed2 = 1.5f; #if VERSION >= VERSION_NTSC_1_0 prevpri2 = osGetThreadPri(0); osSetThreadPri(0, osGetThreadPri(&g_AudioManager.thread) + 1); #endif handle2 = sndStart(var80095200, SFX_PICKUP_GUN, 0, -1, -1, -1, -1, -1); if (handle2) { func00033e50(handle2, 16, *(s32 *)&speed2); } #if VERSION >= VERSION_NTSC_1_0 osSetThreadPri(0, prevpri2); #endif break; case WEAPON_REAPER: speed3 = 0.85f; #if VERSION >= VERSION_NTSC_1_0 prevpri3 = osGetThreadPri(0); osSetThreadPri(0, osGetThreadPri(&g_AudioManager.thread) + 1); #endif handle3 = sndStart(var80095200, SFX_PICKUP_GUN, 0, -1, -1, -1, -1, -1); if (handle3) { func00033e50(handle3, 16, *(s32 *)&speed3); } #if VERSION >= VERSION_NTSC_1_0 osSetThreadPri(0, prevpri3); #endif break; case WEAPON_NONE: case WEAPON_UNARMED: case WEAPON_LAPTOPGUN: case WEAPON_CROSSBOW: case WEAPON_GRENADE: case WEAPON_NBOMB: case WEAPON_COMBATBOOST: case WEAPON_CLOAKINGDEVICE: case WEAPON_EXPLOSIVES: case WEAPON_SKEDARBOMB: case WEAPON_DISGUISE40: case WEAPON_DISGUISE41: case WEAPON_FLIGHTPLANS: case WEAPON_RESEARCHTAPE: case WEAPON_BACKUPDISK: case WEAPON_KEYCARD45: case WEAPON_KEYCARD46: case WEAPON_KEYCARD47: case WEAPON_KEYCARD48: case WEAPON_KEYCARD49: case WEAPON_KEYCARD4A: case WEAPON_KEYCARD4B: case WEAPON_KEYCARD4C: case WEAPON_SUITCASE: #if VERSION >= VERSION_NTSC_1_0 case WEAPON_BRIEFCASE: #endif case WEAPON_NECKLACE: case WEAPON_BRIEFCASE2: // No equip sound break; default: sndStart(var80095200, SFX_PICKUP_GUN, 0, -1, -1, -1, -1, -1); break; } } } if (hand->count60 >= delay || !weaponGetModelNum2(info->weaponnum) || !weaponHasFlag(info->weaponnum, WEAPONFLAG_00000040) || weaponHasFlag(info->weaponnum, WEAPONFLAG_00000080)) { hand->mode = HANDMODE_NONE; hand->stateminor++; if (weaponHasFlag(hand->gset.weaponnum, WEAPONFLAG_00004000) == 0) { hand->unk0cc8_02 = false; } hand->count60 = 0; hand->count = 0; } else { bgun0f099780(hand, (delay - hand->count60) * 0.87252569198608f / delay); } } // Wait for equip animation to finish then go to idle state if (hand->stateminor == 4) { if (info->definition->equip_animation && !weaponHasFlag(hand->gset.weaponnum, WEAPONFLAG_00004000)) { if (hand->animmode == HANDANIMMODE_IDLE) { if (bgunSetState(handnum, HANDSTATE_IDLE)) { return lvupdate; } } } else { if (bgunSetState(handnum, HANDSTATE_IDLE)) { return lvupdate; } } } return 0; } /** * This function may have implemented an early beta feature where the gun could * be held at the side of the screen, pointed upwards. The feature was shown in * a demo video but doesn't exist in any public version of the game. */ s32 bgunTickIncState2(struct handweaponinfo *info, s32 handnum, struct hand *hand, s32 lvupdate) { return 0; } s32 bgunTickInc(struct handweaponinfo *info, s32 handnum, s32 lvupdate) { s32 result = 0; struct hand *hand = &g_Vars.currentplayer->hands[handnum]; s32 prevstate = hand->state; hand->firing = false; hand->flashon = false; hand->stateframes += lvupdate; if (g_Vars.lvupdate240 > 0) { hand->count60 += g_Vars.lvupdate240_60; hand->count++; } hand->useposrot = false; switch (hand->state) { case HANDSTATE_IDLE: result = bgunTickIncIdle(info, handnum, hand, lvupdate); break; case HANDSTATE_RELOAD: result = bgunTickIncReload(info, handnum, hand, lvupdate); break; case HANDSTATE_ATTACK: result = bgunTickIncAttack(info, handnum, hand, lvupdate); break; case HANDSTATE_2: result = bgunTickIncState2(info, handnum, hand, lvupdate); break; case HANDSTATE_CHANGEGUN: result = bgunTickIncChangeGun(info, handnum, hand, lvupdate); break; case HANDSTATE_ATTACKEMPTY: result = bgunTickIncAttackEmpty(info, handnum, hand, lvupdate); break; case HANDSTATE_AUTOSWITCH: result = bgunTickIncAutoSwitch(info, handnum, hand, lvupdate); break; case HANDSTATE_CHANGEFUNC: result = bgunTickIncChangeFunc(info, handnum, hand, lvupdate); break; } hand->statelastframe = hand->stateframes; if (hand->state != prevstate) { hand->statelastframe = -result; } else { hand->stateframes -= result; hand->statecycles++; } return result; } bool bgunSetState(s32 handnum, s32 state) { bool valid = true; struct hand *hand = &g_Vars.currentplayer->hands[handnum]; // Sanity check - don't allow changing function if there is no other if (state == HANDSTATE_CHANGEFUNC && weaponGetFunction(&hand->gset, 1 - hand->gset.weaponfunc) == NULL) { valid = false; } if (valid) { hand->state = state; hand->stateframes = 0; hand->stateflags = 0; hand->statecycles = 0; hand->stateminor = 0; hand->statelastframe = 0; } return valid; } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgunTick .late_rodata glabel var7f1ad810pf .word 0x3f99999a .text /* f09d05c: 00047900 */ sll $t7,$a0,0x4 /* f09d060: 01e47823 */ subu $t7,$t7,$a0 /* f09d064: 000f7880 */ sll $t7,$t7,0x2 /* f09d068: 27bdffc0 */ addiu $sp,$sp,-64 /* f09d06c: 01e47821 */ addu $t7,$t7,$a0 /* f09d070: 3c0e800a */ lui $t6,0x800a /* f09d074: 8dcea794 */ lw $t6,-0x586c($t6) /* f09d078: 000f78c0 */ sll $t7,$t7,0x3 /* f09d07c: 01e47821 */ addu $t7,$t7,$a0 /* f09d080: 000f7880 */ sll $t7,$t7,0x2 /* f09d084: afb30020 */ sw $s3,0x20($sp) /* f09d088: afb2001c */ sw $s2,0x1c($sp) /* f09d08c: 01cf1821 */ addu $v1,$t6,$t7 /* f09d090: 00809025 */ move $s2,$a0 /* f09d094: afbf0024 */ sw $ra,0x24($sp) /* f09d098: afb10018 */ sw $s1,0x18($sp) /* f09d09c: 24630638 */ addiu $v1,$v1,0x638 /* f09d0a0: 27b30030 */ addiu $s3,$sp,0x30 /* f09d0a4: afb00014 */ sw $s0,0x14($sp) /* f09d0a8: 24110014 */ li $s1,0x14 /* f09d0ac: 02602025 */ move $a0,$s3 /* f09d0b0: afa3003c */ sw $v1,0x3c($sp) /* f09d0b4: 0fc26333 */ jal bgunGetWeaponInfo /* f09d0b8: 02402825 */ move $a1,$s2 /* f09d0bc: 8fa3003c */ lw $v1,0x3c($sp) /* f09d0c0: 3c02800a */ lui $v0,0x800a /* f09d0c4: 8c50a548 */ lw $s0,-0x5ab8($v0) /* f09d0c8: 24640384 */ addiu $a0,$v1,0x384 /* f09d0cc: 0c007416 */ jal modelGetAbsAnimSpeed /* f09d0d0: ac700684 */ sw $s0,0x684($v1) /* f09d0d4: 8fa3003c */ lw $v1,0x3c($sp) /* f09d0d8: 3c017f1b */ lui $at,0x7f1b /* f09d0dc: c428d810 */ lwc1 $f8,-0x27f0($at) /* f09d0e0: 8c780684 */ lw $t8,0x684($v1) /* f09d0e4: 44982000 */ mtc1 $t8,$f4 /* f09d0e8: 00000000 */ nop /* f09d0ec: 468021a0 */ cvt.s.w $f6,$f4 /* f09d0f0: 46083282 */ mul.s $f10,$f6,$f8 /* f09d0f4: 00000000 */ nop /* f09d0f8: 460a0402 */ mul.s $f16,$f0,$f10 /* f09d0fc: e4700688 */ swc1 $f16,0x688($v1) /* f09d100: 02602025 */ move $a0,$s3 .PF0f09d104: /* f09d104: 02402825 */ move $a1,$s2 /* f09d108: 0fc2737d */ jal bgunTickInc /* f09d10c: 02003025 */ move $a2,$s0 /* f09d110: 00408025 */ move $s0,$v0 /* f09d114: 18400003 */ blez $v0,.PF0f09d124 /* f09d118: 2631ffff */ addiu $s1,$s1,-1 /* f09d11c: 0623fff9 */ bgezl $s1,.PF0f09d104 /* f09d120: 02602025 */ move $a0,$s3 .PF0f09d124: /* f09d124: 8fbf0024 */ lw $ra,0x24($sp) /* f09d128: 8fb00014 */ lw $s0,0x14($sp) /* f09d12c: 8fb10018 */ lw $s1,0x18($sp) /* f09d130: 8fb2001c */ lw $s2,0x1c($sp) /* f09d134: 8fb30020 */ lw $s3,0x20($sp) /* f09d138: 03e00008 */ jr $ra /* f09d13c: 27bd0040 */ addiu $sp,$sp,0x40 ); #else void bgunTick(s32 handnum) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; struct handweaponinfo info; s32 lvupdate; s32 i = 20; if (handnum); if (handnum); if (handnum); if (handnum); bgunGetWeaponInfo(&info, handnum); lvupdate = g_Vars.lvupdate240_60; hand->animframeinc = g_Vars.lvupdate240_60; #if VERSION >= VERSION_PAL_FINAL hand->animframeincfreal = modelGetAbsAnimSpeed(&hand->unk09bc) * PALUPF(hand->animframeinc); #else hand->animframeincfreal += PALUPF(g_Vars.lvupdate240_60); #endif while (i >= 0) { lvupdate = bgunTickInc(&info, handnum, lvupdate); i--; if (lvupdate <= 0) { break; } } } #endif void bgun0f09ce8c(void) { bgun0f0a1528(); } void bgun0f09ceac(void) { struct hand *hand; s32 i; for (i = 0; i < 2; i++) { if (i == 0) { hand = &g_Vars.currentplayer->hands[1]; } else { hand = &g_Vars.currentplayer->hands[0]; } hand->ganstarot = 0; hand->state = HANDSTATE_IDLE; hand->animload = -1; hand->animmode = HANDANIMMODE_IDLE; animInit(&hand->anim); hand->unk09bc.anim = &hand->anim; hand->unk0b8c = &hand->anim; } } f32 bgunGetNoiseRadius(s32 handnum) { return g_Vars.currentplayer->hands[handnum].noiseradius; } void bgunDecreaseNoiseRadius(void) { struct player *player = g_Vars.currentplayer; f32 consideramount; struct gset shortleft; struct gset shortright; f32 sp3c[5]; f32 sp28[5]; f32 subamount; handPopulateFromCurrentPlayer(HAND_LEFT, &shortleft); handPopulateFromCurrentPlayer(HAND_RIGHT, &shortright); func0f0b201c(&shortleft, sp3c); func0f0b201c(&shortright, sp28); // Right hand if (bgunIsFiring(HAND_RIGHT)) { player->hands[HAND_RIGHT].noiseradius += sp28[2]; if (player->hands[HAND_RIGHT].noiseradius > sp28[1]) { player->hands[HAND_RIGHT].noiseradius = sp28[1]; } } subamount = g_Vars.lvupdate240freal * sp28[2] / (sp28[3] * 60.0f); consideramount = (player->hands[HAND_RIGHT].noiseradius - sp28[0]) * g_Vars.lvupdate240freal / (sp28[4] * 60.0f); if (consideramount > subamount) { subamount = consideramount; } player->hands[HAND_RIGHT].noiseradius -= subamount; if (player->hands[HAND_RIGHT].noiseradius < sp28[0]) { player->hands[HAND_RIGHT].noiseradius = sp28[0]; } // Left hand if (bgunIsFiring(HAND_LEFT)) { player->hands[HAND_LEFT].noiseradius += sp3c[2]; if (player->hands[HAND_LEFT].noiseradius > sp3c[1]) { player->hands[HAND_LEFT].noiseradius = sp3c[1]; } } subamount = g_Vars.lvupdate240freal * sp3c[2] / (sp3c[3] * 60.0f); consideramount = (player->hands[HAND_LEFT].noiseradius - sp3c[0]) * g_Vars.lvupdate240freal / (sp3c[4] * 60.0f); if (consideramount > subamount) { subamount = consideramount; } player->hands[HAND_LEFT].noiseradius -= subamount; if (player->hands[HAND_LEFT].noiseradius < sp3c[0]) { player->hands[HAND_LEFT].noiseradius = sp3c[0]; } } GLOBAL_ASM( glabel bgun0f09d140 .late_rodata glabel var7f1ac614 .word 0x3da3d70a glabel var7f1ac618 .word 0x3dcccccd glabel var7f1ac61c .word 0x3dcccccd glabel var7f1ac620 .word 0x3dcccccd .text /* f09d140: 27bdff98 */ addiu $sp,$sp,-104 /* f09d144: afbf0034 */ sw $ra,0x34($sp) /* f09d148: afb30030 */ sw $s3,0x30($sp) /* f09d14c: afb2002c */ sw $s2,0x2c($sp) /* f09d150: afb10028 */ sw $s1,0x28($sp) /* f09d154: afb00024 */ sw $s0,0x24($sp) /* f09d158: f7b60018 */ sdc1 $f22,0x18($sp) /* f09d15c: f7b40010 */ sdc1 $f20,0x10($sp) /* f09d160: 0fc2866a */ jal bgunGetWeaponNum /* f09d164: afa40068 */ sw $a0,0x68($sp) /* f09d168: 0fc2c3f4 */ jal weaponFindById /* f09d16c: 00402025 */ or $a0,$v0,$zero /* f09d170: 8fa60068 */ lw $a2,0x68($sp) /* f09d174: 3c05800a */ lui $a1,%hi(g_Vars+0x284) /* f09d178: 8ca5a244 */ lw $a1,%lo(g_Vars+0x284)($a1) /* f09d17c: 00067900 */ sll $t7,$a2,0x4 /* f09d180: 01e67823 */ subu $t7,$t7,$a2 /* f09d184: 000f7880 */ sll $t7,$t7,0x2 /* f09d188: 01e67821 */ addu $t7,$t7,$a2 /* f09d18c: 000f78c0 */ sll $t7,$t7,0x3 /* f09d190: 01e67821 */ addu $t7,$t7,$a2 /* f09d194: 000f7880 */ sll $t7,$t7,0x2 /* f09d198: 00af9021 */ addu $s2,$a1,$t7 /* f09d19c: 8e5807c8 */ lw $t8,0x7c8($s2) /* f09d1a0: 27ae0060 */ addiu $t6,$sp,0x60 /* f09d1a4: 00061880 */ sll $v1,$a2,0x2 /* f09d1a8: 27190002 */ addiu $t9,$t8,0x2 /* f09d1ac: c4540038 */ lwc1 $f20,0x38($v0) /* f09d1b0: 006e8021 */ addu $s0,$v1,$t6 /* f09d1b4: 07210004 */ bgez $t9,.L0f09d1c8 /* f09d1b8: 33280003 */ andi $t0,$t9,0x3 /* f09d1bc: 11000002 */ beqz $t0,.L0f09d1c8 /* f09d1c0: 00000000 */ nop /* f09d1c4: 2508fffc */ addiu $t0,$t0,-4 .L0f09d1c8: /* f09d1c8: ae080000 */ sw $t0,0x0($s0) /* f09d1cc: 8e4a07c8 */ lw $t2,0x7c8($s2) /* f09d1d0: 27a90058 */ addiu $t1,$sp,0x58 /* f09d1d4: 00692021 */ addu $a0,$v1,$t1 /* f09d1d8: 254b0001 */ addiu $t3,$t2,0x1 /* f09d1dc: 05610004 */ bgez $t3,.L0f09d1f0 /* f09d1e0: 316c0003 */ andi $t4,$t3,0x3 /* f09d1e4: 11800002 */ beqz $t4,.L0f09d1f0 /* f09d1e8: 00000000 */ nop /* f09d1ec: 258cfffc */ addiu $t4,$t4,-4 .L0f09d1f0: /* f09d1f0: ac8c0000 */ sw $t4,0x0($a0) /* f09d1f4: ae4c07c8 */ sw $t4,0x7c8($s2) /* f09d1f8: 0c004b70 */ jal random /* f09d1fc: afa5004c */ sw $a1,0x4c($sp) /* f09d200: 8fae0068 */ lw $t6,0x68($sp) /* f09d204: 8fa5004c */ lw $a1,0x4c($sp) /* f09d208: 44822000 */ mtc1 $v0,$f4 /* f09d20c: 000e7900 */ sll $t7,$t6,0x4 /* f09d210: 01ee7823 */ subu $t7,$t7,$t6 /* f09d214: 000f7880 */ sll $t7,$t7,0x2 /* f09d218: 01ee7821 */ addu $t7,$t7,$t6 /* f09d21c: 000f78c0 */ sll $t7,$t7,0x3 /* f09d220: 3c012f80 */ lui $at,0x2f80 /* f09d224: 01ee7821 */ addu $t7,$t7,$t6 /* f09d228: 000f7880 */ sll $t7,$t7,0x2 /* f09d22c: 4481b000 */ mtc1 $at,$f22 /* f09d230: 2413000c */ addiu $s3,$zero,0xc /* f09d234: 00af8821 */ addu $s1,$a1,$t7 /* f09d238: 04410005 */ bgez $v0,.L0f09d250 /* f09d23c: 468021a0 */ cvt.s.w $f6,$f4 /* f09d240: 3c014f80 */ lui $at,0x4f80 /* f09d244: 44814000 */ mtc1 $at,$f8 /* f09d248: 00000000 */ nop /* f09d24c: 46083180 */ add.s $f6,$f6,$f8 .L0f09d250: /* f09d250: 46163282 */ mul.s $f10,$f6,$f22 /* f09d254: 3c013f00 */ lui $at,0x3f00 /* f09d258: 44818000 */ mtc1 $at,$f16 /* f09d25c: 3c017f1b */ lui $at,%hi(var7f1ac614) /* f09d260: c424c614 */ lwc1 $f4,%lo(var7f1ac614)($at) /* f09d264: 8e180000 */ lw $t8,0x0($s0) /* f09d268: 46105481 */ sub.s $f18,$f10,$f16 /* f09d26c: 03130019 */ multu $t8,$s3 /* f09d270: 46049202 */ mul.s $f8,$f18,$f4 /* f09d274: 00000000 */ nop /* f09d278: 46144182 */ mul.s $f6,$f8,$f20 /* f09d27c: 0000c812 */ mflo $t9 /* f09d280: 02394021 */ addu $t0,$s1,$t9 /* f09d284: 0c004b70 */ jal random /* f09d288: e5060768 */ swc1 $f6,0x768($t0) /* f09d28c: 44825000 */ mtc1 $v0,$f10 /* f09d290: 04410005 */ bgez $v0,.L0f09d2a8 /* f09d294: 46805420 */ cvt.s.w $f16,$f10 /* f09d298: 3c014f80 */ lui $at,0x4f80 /* f09d29c: 44819000 */ mtc1 $at,$f18 /* f09d2a0: 00000000 */ nop /* f09d2a4: 46128400 */ add.s $f16,$f16,$f18 .L0f09d2a8: /* f09d2a8: 46168102 */ mul.s $f4,$f16,$f22 /* f09d2ac: 3c013f00 */ lui $at,0x3f00 /* f09d2b0: 44814000 */ mtc1 $at,$f8 /* f09d2b4: 3c017f1b */ lui $at,%hi(var7f1ac618) /* f09d2b8: c42ac618 */ lwc1 $f10,%lo(var7f1ac618)($at) /* f09d2bc: 8e090000 */ lw $t1,0x0($s0) /* f09d2c0: 3c01bf80 */ lui $at,0xbf80 /* f09d2c4: 46082181 */ sub.s $f6,$f4,$f8 /* f09d2c8: 01330019 */ multu $t1,$s3 /* f09d2cc: 44812000 */ mtc1 $at,$f4 /* f09d2d0: 460a3482 */ mul.s $f18,$f6,$f10 /* f09d2d4: 00000000 */ nop /* f09d2d8: 46149402 */ mul.s $f16,$f18,$f20 /* f09d2dc: 00005012 */ mflo $t2 /* f09d2e0: 022a5821 */ addu $t3,$s1,$t2 /* f09d2e4: e570076c */ swc1 $f16,0x76c($t3) /* f09d2e8: 8e0c0000 */ lw $t4,0x0($s0) /* f09d2ec: 01930019 */ multu $t4,$s3 /* f09d2f0: 00006812 */ mflo $t5 /* f09d2f4: 022d7021 */ addu $t6,$s1,$t5 /* f09d2f8: 0c004b70 */ jal random /* f09d2fc: e5c40770 */ swc1 $f4,0x770($t6) /* f09d300: 44824000 */ mtc1 $v0,$f8 /* f09d304: 3c014f80 */ lui $at,0x4f80 /* f09d308: 04410004 */ bgez $v0,.L0f09d31c /* f09d30c: 468041a0 */ cvt.s.w $f6,$f8 /* f09d310: 44815000 */ mtc1 $at,$f10 /* f09d314: 00000000 */ nop /* f09d318: 460a3180 */ add.s $f6,$f6,$f10 .L0f09d31c: /* f09d31c: 46163482 */ mul.s $f18,$f6,$f22 /* f09d320: 3c013f00 */ lui $at,0x3f00 /* f09d324: 44818000 */ mtc1 $at,$f16 /* f09d328: 3c017f1b */ lui $at,%hi(var7f1ac61c) /* f09d32c: c428c61c */ lwc1 $f8,%lo(var7f1ac61c)($at) /* f09d330: 8e0f0000 */ lw $t7,0x0($s0) /* f09d334: 3c013f80 */ lui $at,0x3f80 /* f09d338: 46109101 */ sub.s $f4,$f18,$f16 /* f09d33c: 01f30019 */ multu $t7,$s3 /* f09d340: 44819000 */ mtc1 $at,$f18 /* f09d344: 46082282 */ mul.s $f10,$f4,$f8 /* f09d348: 00000000 */ nop /* f09d34c: 46145182 */ mul.s $f6,$f10,$f20 /* f09d350: 0000c012 */ mflo $t8 /* f09d354: 0238c821 */ addu $t9,$s1,$t8 /* f09d358: e7260798 */ swc1 $f6,0x798($t9) /* f09d35c: 8e080000 */ lw $t0,0x0($s0) /* f09d360: 01130019 */ multu $t0,$s3 /* f09d364: 00004812 */ mflo $t1 /* f09d368: 02295021 */ addu $t2,$s1,$t1 /* f09d36c: 0c004b70 */ jal random /* f09d370: e552079c */ swc1 $f18,0x79c($t2) /* f09d374: 44828000 */ mtc1 $v0,$f16 /* f09d378: 3c014f80 */ lui $at,0x4f80 /* f09d37c: 04410004 */ bgez $v0,.L0f09d390 /* f09d380: 46808120 */ cvt.s.w $f4,$f16 /* f09d384: 44814000 */ mtc1 $at,$f8 /* f09d388: 00000000 */ nop /* f09d38c: 46082100 */ add.s $f4,$f4,$f8 .L0f09d390: /* f09d390: 46162282 */ mul.s $f10,$f4,$f22 /* f09d394: 3c013f00 */ lui $at,0x3f00 /* f09d398: 44813000 */ mtc1 $at,$f6 /* f09d39c: 3c017f1b */ lui $at,%hi(var7f1ac620) /* f09d3a0: c430c620 */ lwc1 $f16,%lo(var7f1ac620)($at) /* f09d3a4: 8e0b0000 */ lw $t3,0x0($s0) /* f09d3a8: 46065481 */ sub.s $f18,$f10,$f6 /* f09d3ac: 01730019 */ multu $t3,$s3 /* f09d3b0: 46109202 */ mul.s $f8,$f18,$f16 /* f09d3b4: 00000000 */ nop /* f09d3b8: 46144102 */ mul.s $f4,$f8,$f20 /* f09d3bc: 00006012 */ mflo $t4 /* f09d3c0: 022c6821 */ addu $t5,$s1,$t4 /* f09d3c4: 0c004b70 */ jal random /* f09d3c8: e5a407a0 */ swc1 $f4,0x7a0($t5) /* f09d3cc: 44825000 */ mtc1 $v0,$f10 /* f09d3d0: 3c014f80 */ lui $at,0x4f80 /* f09d3d4: 04410004 */ bgez $v0,.L0f09d3e8 /* f09d3d8: 468051a0 */ cvt.s.w $f6,$f10 /* f09d3dc: 44819000 */ mtc1 $at,$f18 /* f09d3e0: 00000000 */ nop /* f09d3e4: 46123180 */ add.s $f6,$f6,$f18 .L0f09d3e8: /* f09d3e8: 46163402 */ mul.s $f16,$f6,$f22 /* f09d3ec: 8e0e0000 */ lw $t6,0x0($s0) /* f09d3f0: 3c013f40 */ lui $at,0x3f40 /* f09d3f4: 44814000 */ mtc1 $at,$f8 /* f09d3f8: 01d30019 */ multu $t6,$s3 /* f09d3fc: 3c013fc0 */ lui $at,0x3fc0 /* f09d400: 44815000 */ mtc1 $at,$f10 /* f09d404: 46088102 */ mul.s $f4,$f16,$f8 /* f09d408: 460a2480 */ add.s $f18,$f4,$f10 /* f09d40c: 00007812 */ mflo $t7 /* f09d410: 022fc021 */ addu $t8,$s1,$t7 /* f09d414: 0c004b70 */ jal random /* f09d418: e7120738 */ swc1 $f18,0x738($t8) /* f09d41c: 44828000 */ mtc1 $v0,$f16 /* f09d420: 3c014000 */ lui $at,0x4000 /* f09d424: 44813000 */ mtc1 $at,$f6 /* f09d428: 04410005 */ bgez $v0,.L0f09d440 /* f09d42c: 46808220 */ cvt.s.w $f8,$f16 /* f09d430: 3c014f80 */ lui $at,0x4f80 /* f09d434: 44812000 */ mtc1 $at,$f4 /* f09d438: 00000000 */ nop /* f09d43c: 46044200 */ add.s $f8,$f8,$f4 .L0f09d440: /* f09d440: 46164282 */ mul.s $f10,$f8,$f22 /* f09d444: 8e190000 */ lw $t9,0x0($s0) /* f09d448: c65007d4 */ lwc1 $f16,0x7d4($s2) /* f09d44c: 03330019 */ multu $t9,$s3 /* f09d450: 460a3480 */ add.s $f18,$f6,$f10 /* f09d454: 46128102 */ mul.s $f4,$f16,$f18 /* f09d458: 00004012 */ mflo $t0 /* f09d45c: 02484821 */ addu $t1,$s2,$t0 /* f09d460: 0c004b70 */ jal random /* f09d464: e524073c */ swc1 $f4,0x73c($t1) /* f09d468: 44824000 */ mtc1 $v0,$f8 /* f09d46c: 3c014f80 */ lui $at,0x4f80 /* f09d470: 04410004 */ bgez $v0,.L0f09d484 /* f09d474: 468041a0 */ cvt.s.w $f6,$f8 /* f09d478: 44815000 */ mtc1 $at,$f10 /* f09d47c: 00000000 */ nop /* f09d480: 460a3180 */ add.s $f6,$f6,$f10 .L0f09d484: /* f09d484: 46163402 */ mul.s $f16,$f6,$f22 /* f09d488: 8e0a0000 */ lw $t2,0x0($s0) /* f09d48c: 3c013f00 */ lui $at,0x3f00 /* f09d490: 44819000 */ mtc1 $at,$f18 /* f09d494: 01530019 */ multu $t2,$s3 /* f09d498: 3c014020 */ lui $at,0x4020 /* f09d49c: 44814000 */ mtc1 $at,$f8 /* f09d4a0: 46128101 */ sub.s $f4,$f16,$f18 /* f09d4a4: 24020002 */ addiu $v0,$zero,0x2 /* f09d4a8: 46082282 */ mul.s $f10,$f4,$f8 /* f09d4ac: 00005812 */ mflo $t3 /* f09d4b0: 024b6021 */ addu $t4,$s2,$t3 /* f09d4b4: e58a0740 */ swc1 $f10,0x740($t4) /* f09d4b8: 8e4307d8 */ lw $v1,0x7d8($s2) /* f09d4bc: 04610013 */ bgez $v1,.L0f09d50c /* f09d4c0: 00000000 */ nop /* f09d4c4: 8e0d0000 */ lw $t5,0x0($s0) /* f09d4c8: 3c01bf80 */ lui $at,0xbf80 /* f09d4cc: 44818000 */ mtc1 $at,$f16 /* f09d4d0: 01b30019 */ multu $t5,$s3 /* f09d4d4: 2403fffe */ addiu $v1,$zero,-2 /* f09d4d8: 24180001 */ addiu $t8,$zero,0x1 /* f09d4dc: 00007012 */ mflo $t6 /* f09d4e0: 024e1021 */ addu $v0,$s2,$t6 /* f09d4e4: c4460738 */ lwc1 $f6,0x738($v0) /* f09d4e8: 46103482 */ mul.s $f18,$f6,$f16 /* f09d4ec: e4520738 */ swc1 $f18,0x738($v0) /* f09d4f0: 8e4f07d8 */ lw $t7,0x7d8($s2) /* f09d4f4: 146f0003 */ bne $v1,$t7,.L0f09d504 /* f09d4f8: 00000000 */ nop /* f09d4fc: 10000008 */ b .L0f09d520 /* f09d500: ae5807d8 */ sw $t8,0x7d8($s2) .L0f09d504: /* f09d504: 10000006 */ b .L0f09d520 /* f09d508: ae4307d8 */ sw $v1,0x7d8($s2) .L0f09d50c: /* f09d50c: 14430003 */ bne $v0,$v1,.L0f09d51c /* f09d510: 2419ffff */ addiu $t9,$zero,-1 /* f09d514: 10000002 */ b .L0f09d520 /* f09d518: ae5907d8 */ sw $t9,0x7d8($s2) .L0f09d51c: /* f09d51c: ae4207d8 */ sw $v0,0x7d8($s2) .L0f09d520: /* f09d520: c64407d4 */ lwc1 $f4,0x7d4($s2) /* f09d524: 46002207 */ neg.s $f8,$f4 /* f09d528: e64807d4 */ swc1 $f8,0x7d4($s2) /* f09d52c: 8fbf0034 */ lw $ra,0x34($sp) /* f09d530: 8fb30030 */ lw $s3,0x30($sp) /* f09d534: 8fb2002c */ lw $s2,0x2c($sp) /* f09d538: 8fb10028 */ lw $s1,0x28($sp) /* f09d53c: 8fb00024 */ lw $s0,0x24($sp) /* f09d540: d7b60018 */ ldc1 $f22,0x18($sp) /* f09d544: d7b40010 */ ldc1 $f20,0x10($sp) /* f09d548: 03e00008 */ jr $ra /* f09d54c: 27bd0068 */ addiu $sp,$sp,0x68 ); #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f09d550 .late_rodata glabel var7f1ac624 .word 0x3f7c154d glabel var7f1ac628 .word 0x3c7aacc0 .text /* f09d550: 27bdff88 */ addiu $sp,$sp,-120 /* f09d554: 3c0e8007 */ lui $t6,%hi(var80070134) /* f09d558: afbf0024 */ sw $ra,0x24($sp) /* f09d55c: afb10020 */ sw $s1,0x20($sp) /* f09d560: afb0001c */ sw $s0,0x1c($sp) /* f09d564: afa5007c */ sw $a1,0x7c($sp) /* f09d568: 25ce0134 */ addiu $t6,$t6,%lo(var80070134) /* f09d56c: 8dc10000 */ lw $at,0x0($t6) /* f09d570: 27ac005c */ addiu $t4,$sp,0x5c /* f09d574: 3c188007 */ lui $t8,%hi(var80070140) /* f09d578: ad810000 */ sw $at,0x0($t4) /* f09d57c: 8dd90004 */ lw $t9,0x4($t6) /* f09d580: 27180140 */ addiu $t8,$t8,%lo(var80070140) /* f09d584: 27ad0050 */ addiu $t5,$sp,0x50 /* f09d588: ad990004 */ sw $t9,0x4($t4) /* f09d58c: 8dc10008 */ lw $at,0x8($t6) /* f09d590: 3c0f8007 */ lui $t7,%hi(var8007014c) /* f09d594: 25ef014c */ addiu $t7,$t7,%lo(var8007014c) /* f09d598: ad810008 */ sw $at,0x8($t4) /* f09d59c: 8f010000 */ lw $at,0x0($t8) /* f09d5a0: 8f190004 */ lw $t9,0x4($t8) /* f09d5a4: 27ae0044 */ addiu $t6,$sp,0x44 /* f09d5a8: ada10000 */ sw $at,0x0($t5) /* f09d5ac: 8f010008 */ lw $at,0x8($t8) /* f09d5b0: adb90004 */ sw $t9,0x4($t5) /* f09d5b4: 2403000c */ addiu $v1,$zero,0xc /* f09d5b8: ada10008 */ sw $at,0x8($t5) /* f09d5bc: 8de10000 */ lw $at,0x0($t7) /* f09d5c0: 8df90004 */ lw $t9,0x4($t7) /* f09d5c4: 3c11800a */ lui $s1,%hi(g_Vars) /* f09d5c8: adc10000 */ sw $at,0x0($t6) /* f09d5cc: 8de10008 */ lw $at,0x8($t7) /* f09d5d0: add90004 */ sw $t9,0x4($t6) /* f09d5d4: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) /* f09d5d8: adc10008 */ sw $at,0x8($t6) /* f09d5dc: 8c820190 */ lw $v0,0x190($a0) /* f09d5e0: 8e380284 */ lw $t8,0x284($s1) /* f09d5e4: 00808025 */ or $s0,$a0,$zero /* f09d5e8: 244d0003 */ addiu $t5,$v0,0x3 /* f09d5ec: afb8003c */ sw $t8,0x3c($sp) /* f09d5f0: 05a10004 */ bgez $t5,.L0f09d604 /* f09d5f4: 31ae0003 */ andi $t6,$t5,0x3 /* f09d5f8: 11c00002 */ beqz $t6,.L0f09d604 /* f09d5fc: 00000000 */ nop /* f09d600: 25cefffc */ addiu $t6,$t6,-4 .L0f09d604: /* f09d604: 01c30019 */ multu $t6,$v1 /* f09d608: 24580001 */ addiu $t8,$v0,0x1 /* f09d60c: c6040194 */ lwc1 $f4,0x194($s0) /* f09d610: afac0014 */ sw $t4,0x14($sp) /* f09d614: e7a40010 */ swc1 $f4,0x10($sp) /* f09d618: 00007812 */ mflo $t7 /* f09d61c: 020f4021 */ addu $t0,$s0,$t7 /* f09d620: 244f0002 */ addiu $t7,$v0,0x2 /* f09d624: 00430019 */ multu $v0,$v1 /* f09d628: 25040100 */ addiu $a0,$t0,0x100 /* f09d62c: afa80034 */ sw $t0,0x34($sp) /* f09d630: 0000c812 */ mflo $t9 /* f09d634: 02194821 */ addu $t1,$s0,$t9 /* f09d638: 25250100 */ addiu $a1,$t1,0x100 /* f09d63c: 07010004 */ bgez $t8,.L0f09d650 /* f09d640: 330d0003 */ andi $t5,$t8,0x3 /* f09d644: 11a00002 */ beqz $t5,.L0f09d650 /* f09d648: 00000000 */ nop /* f09d64c: 25adfffc */ addiu $t5,$t5,-4 .L0f09d650: /* f09d650: 01a30019 */ multu $t5,$v1 /* f09d654: afa90030 */ sw $t1,0x30($sp) /* f09d658: 00007012 */ mflo $t6 /* f09d65c: 020e5021 */ addu $t2,$s0,$t6 /* f09d660: 25460100 */ addiu $a2,$t2,0x100 /* f09d664: 05e10004 */ bgez $t7,.L0f09d678 /* f09d668: 31f90003 */ andi $t9,$t7,0x3 /* f09d66c: 13200002 */ beqz $t9,.L0f09d678 /* f09d670: 00000000 */ nop /* f09d674: 2739fffc */ addiu $t9,$t9,-4 .L0f09d678: /* f09d678: 03230019 */ multu $t9,$v1 /* f09d67c: afaa002c */ sw $t2,0x2c($sp) /* f09d680: 0000c012 */ mflo $t8 /* f09d684: 02185821 */ addu $t3,$s0,$t8 /* f09d688: 25670100 */ addiu $a3,$t3,0x100 /* f09d68c: 0fc25adc */ jal func0f096b70 /* f09d690: afab0028 */ sw $t3,0x28($sp) /* f09d694: 8fa40034 */ lw $a0,0x34($sp) /* f09d698: 8fa50030 */ lw $a1,0x30($sp) /* f09d69c: 8fa6002c */ lw $a2,0x2c($sp) /* f09d6a0: 8fa70028 */ lw $a3,0x28($sp) /* f09d6a4: c6060194 */ lwc1 $f6,0x194($s0) /* f09d6a8: 27ad0050 */ addiu $t5,$sp,0x50 /* f09d6ac: afad0014 */ sw $t5,0x14($sp) /* f09d6b0: 24840130 */ addiu $a0,$a0,0x130 /* f09d6b4: 24a50130 */ addiu $a1,$a1,0x130 /* f09d6b8: 24c60130 */ addiu $a2,$a2,0x130 /* f09d6bc: 24e70130 */ addiu $a3,$a3,0x130 /* f09d6c0: 0fc25adc */ jal func0f096b70 /* f09d6c4: e7a60010 */ swc1 $f6,0x10($sp) /* f09d6c8: 8fa40034 */ lw $a0,0x34($sp) /* f09d6cc: 8fa50030 */ lw $a1,0x30($sp) /* f09d6d0: 8fa6002c */ lw $a2,0x2c($sp) /* f09d6d4: 8fa70028 */ lw $a3,0x28($sp) /* f09d6d8: c6080194 */ lwc1 $f8,0x194($s0) /* f09d6dc: 27ae0044 */ addiu $t6,$sp,0x44 /* f09d6e0: afae0014 */ sw $t6,0x14($sp) /* f09d6e4: 24840160 */ addiu $a0,$a0,0x160 /* f09d6e8: 24a50160 */ addiu $a1,$a1,0x160 /* f09d6ec: 24c60160 */ addiu $a2,$a2,0x160 /* f09d6f0: 24e70160 */ addiu $a3,$a3,0x160 /* f09d6f4: 0fc25adc */ jal func0f096b70 /* f09d6f8: e7a80010 */ swc1 $f8,0x10($sp) /* f09d6fc: 8fa2003c */ lw $v0,0x3c($sp) /* f09d700: c7aa005c */ lwc1 $f10,0x5c($sp) /* f09d704: c7a40060 */ lwc1 $f4,0x60($sp) /* f09d708: c45015f8 */ lwc1 $f16,0x15f8($v0) /* f09d70c: 8fa4007c */ lw $a0,0x7c($sp) /* f09d710: 46105482 */ mul.s $f18,$f10,$f16 /* f09d714: c7aa0064 */ lwc1 $f10,0x64($sp) /* f09d718: e7b2005c */ swc1 $f18,0x5c($sp) /* f09d71c: c44615f8 */ lwc1 $f6,0x15f8($v0) /* f09d720: 46062202 */ mul.s $f8,$f4,$f6 /* f09d724: e7a80060 */ swc1 $f8,0x60($sp) /* f09d728: c45015f8 */ lwc1 $f16,0x15f8($v0) /* f09d72c: 46105102 */ mul.s $f4,$f10,$f16 /* f09d730: e7a40064 */ swc1 $f4,0x64($sp) /* f09d734: c60601a4 */ lwc1 $f6,0x1a4($s0) /* f09d738: 46069280 */ add.s $f10,$f18,$f6 /* f09d73c: e7aa005c */ swc1 $f10,0x5c($sp) /* f09d740: c61001a8 */ lwc1 $f16,0x1a8($s0) /* f09d744: 46104100 */ add.s $f4,$f8,$f16 /* f09d748: 0fc2c4bb */ jal handGetXShift /* f09d74c: e7a40060 */ swc1 $f4,0x60($sp) /* f09d750: c7b2005c */ lwc1 $f18,0x5c($sp) /* f09d754: 8e2f0034 */ lw $t7,0x34($s1) /* f09d758: 00001025 */ or $v0,$zero,$zero /* f09d75c: 46009180 */ add.s $f6,$f18,$f0 /* f09d760: 3c017f1b */ lui $at,%hi(var7f1ac624) /* f09d764: 19e00034 */ blez $t7,.L0f09d838 /* f09d768: e7a6005c */ swc1 $f6,0x5c($sp) /* f09d76c: c420c624 */ lwc1 $f0,%lo(var7f1ac624)($at) /* f09d770: c60800dc */ lwc1 $f8,0xdc($s0) .L0f09d774: /* f09d774: c7aa005c */ lwc1 $f10,0x5c($sp) /* f09d778: c60600e0 */ lwc1 $f6,0xe0($s0) /* f09d77c: 46080402 */ mul.s $f16,$f0,$f8 /* f09d780: 24420001 */ addiu $v0,$v0,0x1 /* f09d784: 46060202 */ mul.s $f8,$f0,$f6 /* f09d788: 46105100 */ add.s $f4,$f10,$f16 /* f09d78c: e60400dc */ swc1 $f4,0xdc($s0) /* f09d790: c7b20060 */ lwc1 $f18,0x60($sp) /* f09d794: c60400e4 */ lwc1 $f4,0xe4($s0) /* f09d798: 46089280 */ add.s $f10,$f18,$f8 /* f09d79c: 46040182 */ mul.s $f6,$f0,$f4 /* f09d7a0: e60a00e0 */ swc1 $f10,0xe0($s0) /* f09d7a4: c7b00064 */ lwc1 $f16,0x64($sp) /* f09d7a8: c60a00e8 */ lwc1 $f10,0xe8($s0) /* f09d7ac: 46068480 */ add.s $f18,$f16,$f6 /* f09d7b0: 460a0102 */ mul.s $f4,$f0,$f10 /* f09d7b4: e61200e4 */ swc1 $f18,0xe4($s0) /* f09d7b8: c7a80050 */ lwc1 $f8,0x50($sp) /* f09d7bc: c61200ec */ lwc1 $f18,0xec($s0) /* f09d7c0: 46044400 */ add.s $f16,$f8,$f4 /* f09d7c4: 46120282 */ mul.s $f10,$f0,$f18 /* f09d7c8: e61000e8 */ swc1 $f16,0xe8($s0) /* f09d7cc: c7a60054 */ lwc1 $f6,0x54($sp) /* f09d7d0: c61000f0 */ lwc1 $f16,0xf0($s0) /* f09d7d4: 460a3200 */ add.s $f8,$f6,$f10 /* f09d7d8: 46100482 */ mul.s $f18,$f0,$f16 /* f09d7dc: e60800ec */ swc1 $f8,0xec($s0) /* f09d7e0: c7a40058 */ lwc1 $f4,0x58($sp) /* f09d7e4: c60800f4 */ lwc1 $f8,0xf4($s0) /* f09d7e8: 46122180 */ add.s $f6,$f4,$f18 /* f09d7ec: 46080402 */ mul.s $f16,$f0,$f8 /* f09d7f0: e60600f0 */ swc1 $f6,0xf0($s0) /* f09d7f4: c7aa0044 */ lwc1 $f10,0x44($sp) /* f09d7f8: c60600f8 */ lwc1 $f6,0xf8($s0) /* f09d7fc: 46105100 */ add.s $f4,$f10,$f16 /* f09d800: 46060202 */ mul.s $f8,$f0,$f6 /* f09d804: e60400f4 */ swc1 $f4,0xf4($s0) /* f09d808: c7b20048 */ lwc1 $f18,0x48($sp) /* f09d80c: c60400fc */ lwc1 $f4,0xfc($s0) /* f09d810: 46089280 */ add.s $f10,$f18,$f8 /* f09d814: 46040182 */ mul.s $f6,$f0,$f4 /* f09d818: e60a00f8 */ swc1 $f10,0xf8($s0) /* f09d81c: c7b0004c */ lwc1 $f16,0x4c($sp) /* f09d820: 46068480 */ add.s $f18,$f16,$f6 /* f09d824: e61200fc */ swc1 $f18,0xfc($s0) /* f09d828: 8e390034 */ lw $t9,0x34($s1) /* f09d82c: 0059082a */ slt $at,$v0,$t9 /* f09d830: 5420ffd0 */ bnezl $at,.L0f09d774 /* f09d834: c60800dc */ lwc1 $f8,0xdc($s0) .L0f09d838: /* f09d838: 3c017f1b */ lui $at,%hi(var7f1ac628) /* f09d83c: c420c628 */ lwc1 $f0,%lo(var7f1ac628)($at) /* f09d840: c60800dc */ lwc1 $f8,0xdc($s0) /* f09d844: 3c014000 */ lui $at,0x4000 /* f09d848: 44811000 */ mtc1 $at,$f2 /* f09d84c: 46004282 */ mul.s $f10,$f8,$f0 /* f09d850: c61000e0 */ lwc1 $f16,0xe0($s0) /* f09d854: c60800e4 */ lwc1 $f8,0xe4($s0) /* f09d858: 46025102 */ mul.s $f4,$f10,$f2 /* f09d85c: 00000000 */ nop /* f09d860: 46008182 */ mul.s $f6,$f16,$f0 /* f09d864: c61000e8 */ lwc1 $f16,0xe8($s0) /* f09d868: e60400b8 */ swc1 $f4,0xb8($s0) /* f09d86c: 46023482 */ mul.s $f18,$f6,$f2 /* f09d870: 00000000 */ nop /* f09d874: 46004282 */ mul.s $f10,$f8,$f0 /* f09d878: e61200bc */ swc1 $f18,0xbc($s0) /* f09d87c: c61200ec */ lwc1 $f18,0xec($s0) /* f09d880: 46025102 */ mul.s $f4,$f10,$f2 /* f09d884: c60a00f0 */ lwc1 $f10,0xf0($s0) /* f09d888: 46008182 */ mul.s $f6,$f16,$f0 /* f09d88c: c61000f4 */ lwc1 $f16,0xf4($s0) /* f09d890: 46009202 */ mul.s $f8,$f18,$f0 /* f09d894: e60400c0 */ swc1 $f4,0xc0($s0) /* f09d898: c61200f8 */ lwc1 $f18,0xf8($s0) /* f09d89c: 46005102 */ mul.s $f4,$f10,$f0 /* f09d8a0: e60600c4 */ swc1 $f6,0xc4($s0) /* f09d8a4: c60a00fc */ lwc1 $f10,0xfc($s0) /* f09d8a8: 46008182 */ mul.s $f6,$f16,$f0 /* f09d8ac: e60800c8 */ swc1 $f8,0xc8($s0) /* f09d8b0: 46009202 */ mul.s $f8,$f18,$f0 /* f09d8b4: e60400cc */ swc1 $f4,0xcc($s0) /* f09d8b8: 46005102 */ mul.s $f4,$f10,$f0 /* f09d8bc: e60600d0 */ swc1 $f6,0xd0($s0) /* f09d8c0: e60800d4 */ swc1 $f8,0xd4($s0) /* f09d8c4: e60400d8 */ swc1 $f4,0xd8($s0) /* f09d8c8: 8fbf0024 */ lw $ra,0x24($sp) /* f09d8cc: 8fb10020 */ lw $s1,0x20($sp) /* f09d8d0: 8fb0001c */ lw $s0,0x1c($sp) /* f09d8d4: 03e00008 */ jr $ra /* f09d8d8: 27bd0078 */ addiu $sp,$sp,0x78 ); #else GLOBAL_ASM( glabel bgun0f09d550 .late_rodata glabel var7f1ac624 .word 0x3f7cb924 glabel var7f1ac628 .word 0x3c51b700 .text /* f09d550: 27bdff88 */ addiu $sp,$sp,-120 /* f09d554: 3c0e8007 */ lui $t6,%hi(var80070134) /* f09d558: afbf0024 */ sw $ra,0x24($sp) /* f09d55c: afb10020 */ sw $s1,0x20($sp) /* f09d560: afb0001c */ sw $s0,0x1c($sp) /* f09d564: afa5007c */ sw $a1,0x7c($sp) /* f09d568: 25ce0134 */ addiu $t6,$t6,%lo(var80070134) /* f09d56c: 8dc10000 */ lw $at,0x0($t6) /* f09d570: 27ac005c */ addiu $t4,$sp,0x5c /* f09d574: 3c188007 */ lui $t8,%hi(var80070140) /* f09d578: ad810000 */ sw $at,0x0($t4) /* f09d57c: 8dd90004 */ lw $t9,0x4($t6) /* f09d580: 27180140 */ addiu $t8,$t8,%lo(var80070140) /* f09d584: 27ad0050 */ addiu $t5,$sp,0x50 /* f09d588: ad990004 */ sw $t9,0x4($t4) /* f09d58c: 8dc10008 */ lw $at,0x8($t6) /* f09d590: 3c0f8007 */ lui $t7,%hi(var8007014c) /* f09d594: 25ef014c */ addiu $t7,$t7,%lo(var8007014c) /* f09d598: ad810008 */ sw $at,0x8($t4) /* f09d59c: 8f010000 */ lw $at,0x0($t8) /* f09d5a0: 8f190004 */ lw $t9,0x4($t8) /* f09d5a4: 27ae0044 */ addiu $t6,$sp,0x44 /* f09d5a8: ada10000 */ sw $at,0x0($t5) /* f09d5ac: 8f010008 */ lw $at,0x8($t8) /* f09d5b0: adb90004 */ sw $t9,0x4($t5) /* f09d5b4: 2403000c */ addiu $v1,$zero,0xc /* f09d5b8: ada10008 */ sw $at,0x8($t5) /* f09d5bc: 8de10000 */ lw $at,0x0($t7) /* f09d5c0: 8df90004 */ lw $t9,0x4($t7) /* f09d5c4: 3c11800a */ lui $s1,%hi(g_Vars) /* f09d5c8: adc10000 */ sw $at,0x0($t6) /* f09d5cc: 8de10008 */ lw $at,0x8($t7) /* f09d5d0: add90004 */ sw $t9,0x4($t6) /* f09d5d4: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) /* f09d5d8: adc10008 */ sw $at,0x8($t6) /* f09d5dc: 8c820190 */ lw $v0,0x190($a0) /* f09d5e0: 8e380284 */ lw $t8,0x284($s1) /* f09d5e4: 00808025 */ or $s0,$a0,$zero /* f09d5e8: 244d0003 */ addiu $t5,$v0,0x3 /* f09d5ec: afb8003c */ sw $t8,0x3c($sp) /* f09d5f0: 05a10004 */ bgez $t5,.L0f09d604 /* f09d5f4: 31ae0003 */ andi $t6,$t5,0x3 /* f09d5f8: 11c00002 */ beqz $t6,.L0f09d604 /* f09d5fc: 00000000 */ nop /* f09d600: 25cefffc */ addiu $t6,$t6,-4 .L0f09d604: /* f09d604: 01c30019 */ multu $t6,$v1 /* f09d608: 24580001 */ addiu $t8,$v0,0x1 /* f09d60c: c6040194 */ lwc1 $f4,0x194($s0) /* f09d610: afac0014 */ sw $t4,0x14($sp) /* f09d614: e7a40010 */ swc1 $f4,0x10($sp) /* f09d618: 00007812 */ mflo $t7 /* f09d61c: 020f4021 */ addu $t0,$s0,$t7 /* f09d620: 244f0002 */ addiu $t7,$v0,0x2 /* f09d624: 00430019 */ multu $v0,$v1 /* f09d628: 25040100 */ addiu $a0,$t0,0x100 /* f09d62c: afa80034 */ sw $t0,0x34($sp) /* f09d630: 0000c812 */ mflo $t9 /* f09d634: 02194821 */ addu $t1,$s0,$t9 /* f09d638: 25250100 */ addiu $a1,$t1,0x100 /* f09d63c: 07010004 */ bgez $t8,.L0f09d650 /* f09d640: 330d0003 */ andi $t5,$t8,0x3 /* f09d644: 11a00002 */ beqz $t5,.L0f09d650 /* f09d648: 00000000 */ nop /* f09d64c: 25adfffc */ addiu $t5,$t5,-4 .L0f09d650: /* f09d650: 01a30019 */ multu $t5,$v1 /* f09d654: afa90030 */ sw $t1,0x30($sp) /* f09d658: 00007012 */ mflo $t6 /* f09d65c: 020e5021 */ addu $t2,$s0,$t6 /* f09d660: 25460100 */ addiu $a2,$t2,0x100 /* f09d664: 05e10004 */ bgez $t7,.L0f09d678 /* f09d668: 31f90003 */ andi $t9,$t7,0x3 /* f09d66c: 13200002 */ beqz $t9,.L0f09d678 /* f09d670: 00000000 */ nop /* f09d674: 2739fffc */ addiu $t9,$t9,-4 .L0f09d678: /* f09d678: 03230019 */ multu $t9,$v1 /* f09d67c: afaa002c */ sw $t2,0x2c($sp) /* f09d680: 0000c012 */ mflo $t8 /* f09d684: 02185821 */ addu $t3,$s0,$t8 /* f09d688: 25670100 */ addiu $a3,$t3,0x100 /* f09d68c: 0fc25adc */ jal func0f096b70 /* f09d690: afab0028 */ sw $t3,0x28($sp) /* f09d694: 8fa40034 */ lw $a0,0x34($sp) /* f09d698: 8fa50030 */ lw $a1,0x30($sp) /* f09d69c: 8fa6002c */ lw $a2,0x2c($sp) /* f09d6a0: 8fa70028 */ lw $a3,0x28($sp) /* f09d6a4: c6060194 */ lwc1 $f6,0x194($s0) /* f09d6a8: 27ad0050 */ addiu $t5,$sp,0x50 /* f09d6ac: afad0014 */ sw $t5,0x14($sp) /* f09d6b0: 24840130 */ addiu $a0,$a0,0x130 /* f09d6b4: 24a50130 */ addiu $a1,$a1,0x130 /* f09d6b8: 24c60130 */ addiu $a2,$a2,0x130 /* f09d6bc: 24e70130 */ addiu $a3,$a3,0x130 /* f09d6c0: 0fc25adc */ jal func0f096b70 /* f09d6c4: e7a60010 */ swc1 $f6,0x10($sp) /* f09d6c8: 8fa40034 */ lw $a0,0x34($sp) /* f09d6cc: 8fa50030 */ lw $a1,0x30($sp) /* f09d6d0: 8fa6002c */ lw $a2,0x2c($sp) /* f09d6d4: 8fa70028 */ lw $a3,0x28($sp) /* f09d6d8: c6080194 */ lwc1 $f8,0x194($s0) /* f09d6dc: 27ae0044 */ addiu $t6,$sp,0x44 /* f09d6e0: afae0014 */ sw $t6,0x14($sp) /* f09d6e4: 24840160 */ addiu $a0,$a0,0x160 /* f09d6e8: 24a50160 */ addiu $a1,$a1,0x160 /* f09d6ec: 24c60160 */ addiu $a2,$a2,0x160 /* f09d6f0: 24e70160 */ addiu $a3,$a3,0x160 /* f09d6f4: 0fc25adc */ jal func0f096b70 /* f09d6f8: e7a80010 */ swc1 $f8,0x10($sp) /* f09d6fc: 8fa2003c */ lw $v0,0x3c($sp) /* f09d700: c7aa005c */ lwc1 $f10,0x5c($sp) /* f09d704: c7a40060 */ lwc1 $f4,0x60($sp) /* f09d708: c45015f8 */ lwc1 $f16,0x15f8($v0) /* f09d70c: 8fa4007c */ lw $a0,0x7c($sp) /* f09d710: 46105482 */ mul.s $f18,$f10,$f16 /* f09d714: c7aa0064 */ lwc1 $f10,0x64($sp) /* f09d718: e7b2005c */ swc1 $f18,0x5c($sp) /* f09d71c: c44615f8 */ lwc1 $f6,0x15f8($v0) /* f09d720: 46062202 */ mul.s $f8,$f4,$f6 /* f09d724: e7a80060 */ swc1 $f8,0x60($sp) /* f09d728: c45015f8 */ lwc1 $f16,0x15f8($v0) /* f09d72c: 46105102 */ mul.s $f4,$f10,$f16 /* f09d730: e7a40064 */ swc1 $f4,0x64($sp) /* f09d734: c60601a4 */ lwc1 $f6,0x1a4($s0) /* f09d738: 46069280 */ add.s $f10,$f18,$f6 /* f09d73c: e7aa005c */ swc1 $f10,0x5c($sp) /* f09d740: c61001a8 */ lwc1 $f16,0x1a8($s0) /* f09d744: 46104100 */ add.s $f4,$f8,$f16 /* f09d748: 0fc2c4bb */ jal handGetXShift /* f09d74c: e7a40060 */ swc1 $f4,0x60($sp) /* f09d750: c7b2005c */ lwc1 $f18,0x5c($sp) /* f09d754: 8e2f0034 */ lw $t7,0x34($s1) /* f09d758: 00001025 */ or $v0,$zero,$zero /* f09d75c: 46009180 */ add.s $f6,$f18,$f0 /* f09d760: 3c017f1b */ lui $at,%hi(var7f1ac624) /* f09d764: 19e00034 */ blez $t7,.L0f09d838 /* f09d768: e7a6005c */ swc1 $f6,0x5c($sp) /* f09d76c: c420c624 */ lwc1 $f0,%lo(var7f1ac624)($at) /* f09d770: c60800dc */ lwc1 $f8,0xdc($s0) .L0f09d774: /* f09d774: c7aa005c */ lwc1 $f10,0x5c($sp) /* f09d778: c60600e0 */ lwc1 $f6,0xe0($s0) /* f09d77c: 46080402 */ mul.s $f16,$f0,$f8 /* f09d780: 24420001 */ addiu $v0,$v0,0x1 /* f09d784: 46060202 */ mul.s $f8,$f0,$f6 /* f09d788: 46105100 */ add.s $f4,$f10,$f16 /* f09d78c: e60400dc */ swc1 $f4,0xdc($s0) /* f09d790: c7b20060 */ lwc1 $f18,0x60($sp) /* f09d794: c60400e4 */ lwc1 $f4,0xe4($s0) /* f09d798: 46089280 */ add.s $f10,$f18,$f8 /* f09d79c: 46040182 */ mul.s $f6,$f0,$f4 /* f09d7a0: e60a00e0 */ swc1 $f10,0xe0($s0) /* f09d7a4: c7b00064 */ lwc1 $f16,0x64($sp) /* f09d7a8: c60a00e8 */ lwc1 $f10,0xe8($s0) /* f09d7ac: 46068480 */ add.s $f18,$f16,$f6 /* f09d7b0: 460a0102 */ mul.s $f4,$f0,$f10 /* f09d7b4: e61200e4 */ swc1 $f18,0xe4($s0) /* f09d7b8: c7a80050 */ lwc1 $f8,0x50($sp) /* f09d7bc: c61200ec */ lwc1 $f18,0xec($s0) /* f09d7c0: 46044400 */ add.s $f16,$f8,$f4 /* f09d7c4: 46120282 */ mul.s $f10,$f0,$f18 /* f09d7c8: e61000e8 */ swc1 $f16,0xe8($s0) /* f09d7cc: c7a60054 */ lwc1 $f6,0x54($sp) /* f09d7d0: c61000f0 */ lwc1 $f16,0xf0($s0) /* f09d7d4: 460a3200 */ add.s $f8,$f6,$f10 /* f09d7d8: 46100482 */ mul.s $f18,$f0,$f16 /* f09d7dc: e60800ec */ swc1 $f8,0xec($s0) /* f09d7e0: c7a40058 */ lwc1 $f4,0x58($sp) /* f09d7e4: c60800f4 */ lwc1 $f8,0xf4($s0) /* f09d7e8: 46122180 */ add.s $f6,$f4,$f18 /* f09d7ec: 46080402 */ mul.s $f16,$f0,$f8 /* f09d7f0: e60600f0 */ swc1 $f6,0xf0($s0) /* f09d7f4: c7aa0044 */ lwc1 $f10,0x44($sp) /* f09d7f8: c60600f8 */ lwc1 $f6,0xf8($s0) /* f09d7fc: 46105100 */ add.s $f4,$f10,$f16 /* f09d800: 46060202 */ mul.s $f8,$f0,$f6 /* f09d804: e60400f4 */ swc1 $f4,0xf4($s0) /* f09d808: c7b20048 */ lwc1 $f18,0x48($sp) /* f09d80c: c60400fc */ lwc1 $f4,0xfc($s0) /* f09d810: 46089280 */ add.s $f10,$f18,$f8 /* f09d814: 46040182 */ mul.s $f6,$f0,$f4 /* f09d818: e60a00f8 */ swc1 $f10,0xf8($s0) /* f09d81c: c7b0004c */ lwc1 $f16,0x4c($sp) /* f09d820: 46068480 */ add.s $f18,$f16,$f6 /* f09d824: e61200fc */ swc1 $f18,0xfc($s0) /* f09d828: 8e390034 */ lw $t9,0x34($s1) /* f09d82c: 0059082a */ slt $at,$v0,$t9 /* f09d830: 5420ffd0 */ bnezl $at,.L0f09d774 /* f09d834: c60800dc */ lwc1 $f8,0xdc($s0) .L0f09d838: /* f09d838: 3c017f1b */ lui $at,%hi(var7f1ac628) /* f09d83c: c420c628 */ lwc1 $f0,%lo(var7f1ac628)($at) /* f09d840: c60800dc */ lwc1 $f8,0xdc($s0) /* f09d844: 3c014000 */ lui $at,0x4000 /* f09d848: 44811000 */ mtc1 $at,$f2 /* f09d84c: 46004282 */ mul.s $f10,$f8,$f0 /* f09d850: c61000e0 */ lwc1 $f16,0xe0($s0) /* f09d854: c60800e4 */ lwc1 $f8,0xe4($s0) /* f09d858: 46025102 */ mul.s $f4,$f10,$f2 /* f09d85c: 00000000 */ nop /* f09d860: 46008182 */ mul.s $f6,$f16,$f0 /* f09d864: c61000e8 */ lwc1 $f16,0xe8($s0) /* f09d868: e60400b8 */ swc1 $f4,0xb8($s0) /* f09d86c: 46023482 */ mul.s $f18,$f6,$f2 /* f09d870: 00000000 */ nop /* f09d874: 46004282 */ mul.s $f10,$f8,$f0 /* f09d878: e61200bc */ swc1 $f18,0xbc($s0) /* f09d87c: c61200ec */ lwc1 $f18,0xec($s0) /* f09d880: 46025102 */ mul.s $f4,$f10,$f2 /* f09d884: c60a00f0 */ lwc1 $f10,0xf0($s0) /* f09d888: 46008182 */ mul.s $f6,$f16,$f0 /* f09d88c: c61000f4 */ lwc1 $f16,0xf4($s0) /* f09d890: 46009202 */ mul.s $f8,$f18,$f0 /* f09d894: e60400c0 */ swc1 $f4,0xc0($s0) /* f09d898: c61200f8 */ lwc1 $f18,0xf8($s0) /* f09d89c: 46005102 */ mul.s $f4,$f10,$f0 /* f09d8a0: e60600c4 */ swc1 $f6,0xc4($s0) /* f09d8a4: c60a00fc */ lwc1 $f10,0xfc($s0) /* f09d8a8: 46008182 */ mul.s $f6,$f16,$f0 /* f09d8ac: e60800c8 */ swc1 $f8,0xc8($s0) /* f09d8b0: 46009202 */ mul.s $f8,$f18,$f0 /* f09d8b4: e60400cc */ swc1 $f4,0xcc($s0) /* f09d8b8: 46005102 */ mul.s $f4,$f10,$f0 /* f09d8bc: e60600d0 */ swc1 $f6,0xd0($s0) /* f09d8c0: e60800d4 */ swc1 $f8,0xd4($s0) /* f09d8c4: e60400d8 */ swc1 $f4,0xd8($s0) /* f09d8c8: 8fbf0024 */ lw $ra,0x24($sp) /* f09d8cc: 8fb10020 */ lw $s1,0x20($sp) /* f09d8d0: 8fb0001c */ lw $s0,0x1c($sp) /* f09d8d4: 03e00008 */ jr $ra /* f09d8d8: 27bd0078 */ addiu $sp,$sp,0x78 ); #endif void bgun0f09d8dc(f32 breathing, f32 arg1, f32 arg2, f32 arg3, f32 arg4) { f32 dampt[2]; struct player *player = g_Vars.currentplayer; u32 stack; s32 i; f32 sp50 = arg2; f32 sp4c; u32 stack2; if (sp50 < 0.0f) { sp50 = -sp50; } if (arg1 > 0.8f) { player->gunposamplitude = 1.0f; } else { if (arg1 > 0.1f) { f32 tmp = 1.0f - cosf((arg1 - 0.1f) * M_BADTAU / 2.8f); player->gunposamplitude = 0.8f * tmp + 0.2f; } else { player->gunposamplitude = 0.1f; } } if (bmoveGetCrouchPos() != CROUCHPOS_SQUAT) { if (player->gunposamplitude < 0.3f * g_Vars.currentplayer->bondbreathing) { player->gunposamplitude = 0.3f * g_Vars.currentplayer->bondbreathing; } } if (player->gunposamplitude < 0.5f * sp50) { player->gunposamplitude = 0.5f * sp50; } for (i = 0; i < g_Vars.lvupdate240; i++) { player->gunampsum = (PAL ? 0.9847f : 0.9872f) * player->gunampsum + player->gunposamplitude; } player->gunposamplitude = (PAL ? 0.01529997587204f : 0.012799978256226f) * player->gunampsum; if (breathing < 0.016666667535901f * sp50) { breathing = 0.016666667535901f * sp50; } for (i = 0; i < g_Vars.lvupdate240; i++) { player->cyclesum = (PAL ? 0.9847f : 0.9872f) * player->cyclesum + breathing; } breathing = player->cyclesum * (PAL ? 0.01529997587204f : 0.012799978256226f); sp4c = breathing * g_Vars.lvupdate240freal; dampt[0] = player->hands[0].dampt + sp4c; while (dampt[0] >= 1.0f) { bgun0f09d140(HAND_RIGHT); dampt[0] -= 1.0f; player->syncoffset++; } player->synccount += g_Vars.lvupdate240freal; if (player->synccount > 60.0f) { player->synccount = 0.0f; player->syncchange = (random() * (1.0f / U32_MAX) - 0.5f) * 0.2f / 60.0f; } if (player->syncchange + sp4c > 0.0f) { player->gunsync += player->syncchange; } if (player->gunsync > 0.5f) { player->gunsync = 0.5f; } else if (player->gunsync < -0.5f) { player->gunsync = -0.5f; } else if (player->gunsync < 0.1f && player->gunsync > -0.1f) { if (player->gunsync > 0.0f) { player->gunsync = -0.1f; } else { player->gunsync = 0.1f; } } dampt[1] = dampt[0] + player->syncoffset + player->gunsync; while (dampt[1] >= 1.0f) { bgun0f09d140(HAND_LEFT); dampt[1] -= 1.0f; player->syncoffset--; } for (i = 0; i < 2; i++) { player->hands[i].dampt = dampt[i]; player->hands[i].adjustdamp.x = -1.75f * arg3 + -0.8f * arg4; player->hands[i].adjustdamp.y = -2.0f * arg2; } } bool bgun0f09dd7c(void) { if (g_Vars.currentplayer->gunctrl.gunmemowner) { return false; } return g_Vars.currentplayer->gunctrl.gunmemtype == 0 || (g_Vars.currentplayer->gunctrl.gunmemnew < 0 && g_Vars.currentplayer->gunctrl.unk15b0 == 4); } u32 bgun0f09ddcc(void) { return g_Vars.currentplayer->gunctrl.gunmemtype; } u32 bgun0f09dddc(void) { return g_Vars.currentplayer->gunctrl.unk1590; } u8 *bgun0f09ddec(void) { return g_Vars.currentplayer->gunctrl.unk158c; } u32 bgun0f09ddfc(void) { if (IS4MB() && PLAYERCOUNT() == 2) { return var800700ac; } if (PLAYERCOUNT() == 1) { switch (g_Vars.stagenum) { case STAGE_CHICAGO: case STAGE_AIRBASE: case STAGE_VILLA: case STAGE_AIRFORCEONE: case STAGE_ATTACKSHIP: return var800700a8 + 0x6400; } } return var800700a8; } void bgun0f09df50(void) { g_Vars.currentplayer->gunctrl.gunmemowner = GUNMEMOWNER_11; } void bgun0f09df64(s32 arg0) { struct player *player = g_Vars.currentplayer; if (player->gunctrl.gunmemowner == GUNMEMOWNER_0) { player->gunctrl.unk15b0 = 0; player->gunctrl.unk15b1 = 0; player->gunctrl.gunmemnew = arg0; player->gunctrl.gunlocktimer = -1; } else { player->gunctrl.gunmemnew = arg0; } } GLOBAL_ASM( glabel bgun0f09df9c /* f09df9c: 3c04800a */ lui $a0,%hi(g_Vars) /* f09dfa0: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f09dfa4: 8c8f0284 */ lw $t7,0x284($a0) /* f09dfa8: 340effff */ dli $t6,0xffff /* f09dfac: 3c02800a */ lui $v0,%hi(var8009da60) /* f09dfb0: a5ee159c */ sh $t6,0x159c($t7) /* f09dfb4: 8c980284 */ lw $t8,0x284($a0) /* f09dfb8: 3c03800a */ lui $v1,%hi(g_Casings) /* f09dfbc: 2442da60 */ addiu $v0,$v0,%lo(var8009da60) /* f09dfc0: af001594 */ sw $zero,0x1594($t8) /* f09dfc4: 8c990284 */ lw $t9,0x284($a0) /* f09dfc8: 2463d510 */ addiu $v1,$v1,%lo(g_Casings) /* f09dfcc: af2015a0 */ sw $zero,0x15a0($t9) /* f09dfd0: 8c880284 */ lw $t0,0x284($a0) /* f09dfd4: ad0015a4 */ sw $zero,0x15a4($t0) /* f09dfd8: 8c890284 */ lw $t1,0x284($a0) /* f09dfdc: a12015b0 */ sb $zero,0x15b0($t1) /* f09dfe0: 8c8a0284 */ lw $t2,0x284($a0) /* f09dfe4: a14015b1 */ sb $zero,0x15b1($t2) .L0f09dfe8: /* f09dfe8: 24630044 */ addiu $v1,$v1,0x44 /* f09dfec: 0062082b */ sltu $at,$v1,$v0 /* f09dff0: 1420fffd */ bnez $at,.L0f09dfe8 /* f09dff4: ac60fffc */ sw $zero,-0x4($v1) /* f09dff8: 3c018007 */ lui $at,%hi(g_CasingsActive) /* f09dffc: 03e00008 */ jr $ra /* f09e000: ac200524 */ sw $zero,%lo(g_CasingsActive)($at) ); //void bgun0f09df9c(void) //{ // s32 i; // // g_Vars.currentplayer->unk159c = 0xffff; // g_Vars.currentplayer->unk1594 = 0; // g_Vars.currentplayer->unk15a0 = 0; // g_Vars.currentplayer->unk15a4 = 0; // g_Vars.currentplayer->unk15b0 = 0; // g_Vars.currentplayer->unk15b1 = 0; // // for (i = 0; i < 20; i++) { // g_Casings[i].unk40 = 0; // } // // g_CasingsActive = 0; //} bool bgun0f09e004(s32 newowner) { struct player *player = g_Vars.currentplayer; if (player->gunctrl.gunmemowner == newowner) { return true; } if (player->gunctrl.gunlocktimer < 0) { player->gunctrl.gunlocktimer--; if (player->gunctrl.gunlocktimer < -2) { player->gunctrl.gunlocktimer = 0; player->gunctrl.gunmemowner = newowner; return true; } } else { bool unlock = false; switch (player->gunctrl.gunmemowner) { case GUNMEMOWNER_0: if (player->gunctrl.gunmemtype != -1) { player->gunctrl.gunmemnew = player->gunctrl.gunmemtype; } player->gunctrl.gunmemtype = -1; bgun0f09df9c(); player->gunctrl.unk1583_06 = true; unlock = true; break; case GUNMEMOWNER_2: if (g_Vars.mplayerisrunning) { unlock = true; } if (!player->haschrbody) { unlock = true; } if (newowner == GUNMEMOWNER_1 && var8009dfc0 != 0) { unlock = true; func0f0b9538(); } break; case GUNMEMOWNER_3: unlock = true; break; case GUNMEMOWNER_10: case GUNMEMOWNER_11: unlock = true; break; } if (unlock) { player->gunctrl.gunlocktimer = -1; player->gunctrl.gunmemowner = GUNMEMOWNER_10; } } return false; } #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgun0f09e144 /* f09e144: 27bdff80 */ addiu $sp,$sp,-128 /* f09e148: afb20028 */ sw $s2,0x28($sp) /* f09e14c: 3c12800a */ lui $s2,%hi(g_Vars+0x284) /* f09e150: 8e52a244 */ lw $s2,%lo(g_Vars+0x284)($s2) /* f09e154: afbf002c */ sw $ra,0x2c($sp) /* f09e158: afb10024 */ sw $s1,0x24($sp) /* f09e15c: afb00020 */ sw $s0,0x20($sp) /* f09e160: 924215b1 */ lbu $v0,0x15b1($s2) /* f09e164: 24010001 */ addiu $at,$zero,0x1 /* f09e168: 5441004a */ bnel $v0,$at,.L0f09e294 /* f09e16c: 24010002 */ addiu $at,$zero,0x2 /* f09e170: 8e4615b8 */ lw $a2,0x15b8($s2) /* f09e174: 8e4e15bc */ lw $t6,0x15bc($s2) /* f09e178: 240f0010 */ addiu $t7,$zero,0x10 /* f09e17c: 8cc30000 */ lw $v1,0x0($a2) /* f09e180: 8dd00000 */ lw $s0,0x0($t6) /* f09e184: 3065000f */ andi $a1,$v1,0xf /* f09e188: 10a00003 */ beqz $a1,.L0f09e198 /* f09e18c: 01e51023 */ subu $v0,$t7,$a1 /* f09e190: 00621821 */ addu $v1,$v1,$v0 /* f09e194: 02028023 */ subu $s0,$s0,$v0 .L0f09e198: /* f09e198: acc30000 */ sw $v1,0x0($a2) /* f09e19c: 8e5815bc */ lw $t8,0x15bc($s2) /* f09e1a0: af100000 */ sw $s0,0x0($t8) /* f09e1a4: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e1a8: 0fc59c15 */ jal fileGetInflatedLength /* f09e1ac: afa30064 */ sw $v1,0x64($sp) /* f09e1b0: 2443003f */ addiu $v1,$v0,0x3f /* f09e1b4: 3479003f */ ori $t9,$v1,0x3f /* f09e1b8: 3b23003f */ xori $v1,$t9,0x3f /* f09e1bc: 34018000 */ dli $at,0x8000 /* f09e1c0: 00613821 */ addu $a3,$v1,$at /* f09e1c4: 0207082b */ sltu $at,$s0,$a3 /* f09e1c8: 10200002 */ beqz $at,.L0f09e1d4 /* f09e1cc: 240b0007 */ addiu $t3,$zero,0x7 /* f09e1d0: 02003825 */ or $a3,$s0,$zero .L0f09e1d4: /* f09e1d4: 3c018006 */ lui $at,%hi(g_LoadType) /* f09e1d8: a02bd9a0 */ sb $t3,%lo(g_LoadType)($at) /* f09e1dc: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e1e0: 24050011 */ addiu $a1,$zero,0x11 /* f09e1e4: 0fc59c80 */ jal func0f167200 /* f09e1e8: 8fa60064 */ lw $a2,0x64($sp) /* f09e1ec: 00408825 */ or $s1,$v0,$zero /* f09e1f0: 0fc59ca0 */ jal fileGetSize /* f09e1f4: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e1f8: 24470e00 */ addiu $a3,$v0,0xe00 /* f09e1fc: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e200: 0fc59ca0 */ jal fileGetSize /* f09e204: afa7006c */ sw $a3,0x6c($sp) /* f09e208: 964c15b2 */ lhu $t4,0x15b2($s2) /* f09e20c: 8fa7006c */ lw $a3,0x6c($sp) /* f09e210: 3c0e800a */ lui $t6,%hi(g_FileInfo) /* f09e214: 25ce6680 */ addiu $t6,$t6,%lo(g_FileInfo) /* f09e218: 000c68c0 */ sll $t5,$t4,0x3 /* f09e21c: 01ae4021 */ addu $t0,$t5,$t6 /* f09e220: ad070004 */ sw $a3,0x4($t0) /* f09e224: 8faf0064 */ lw $t7,0x64($sp) /* f09e228: afa80058 */ sw $t0,0x58($sp) /* f09e22c: 264415c0 */ addiu $a0,$s2,0x15c0 /* f09e230: 01e71821 */ addu $v1,$t7,$a3 /* f09e234: 2463000f */ addiu $v1,$v1,0xf /* f09e238: 3478000f */ ori $t8,$v1,0xf /* f09e23c: 3b05000f */ xori $a1,$t8,0xf /* f09e240: 00af3823 */ subu $a3,$a1,$t7 /* f09e244: 0fc5cb9c */ jal func0f172e70 /* f09e248: 02073023 */ subu $a2,$s0,$a3 /* f09e24c: 0fc69dcc */ jal modelPromoteTypeToPointer /* f09e250: 02202025 */ or $a0,$s1,$zero /* f09e254: 02202025 */ or $a0,$s1,$zero /* f09e258: 3c050500 */ lui $a1,0x500 /* f09e25c: 0c008a89 */ jal modelPromoteOffsetsToPointers /* f09e260: 02203025 */ or $a2,$s1,$zero /* f09e264: 8e4a15b4 */ lw $t2,0x15b4($s2) /* f09e268: 240e0002 */ addiu $t6,$zero,0x2 /* f09e26c: ad510000 */ sw $s1,0x0($t2) /* f09e270: ae4015d0 */ sw $zero,0x15d0($s2) /* f09e274: 8fab0058 */ lw $t3,0x58($sp) /* f09e278: 8d610000 */ lw $at,0x0($t3) /* f09e27c: ae4115d4 */ sw $at,0x15d4($s2) /* f09e280: 8d6d0004 */ lw $t5,0x4($t3) /* f09e284: a24e15b1 */ sb $t6,0x15b1($s2) /* f09e288: 1000008f */ b .L0f09e4c8 /* f09e28c: ae4d15d8 */ sw $t5,0x15d8($s2) /* f09e290: 24010002 */ addiu $at,$zero,0x2 .L0f09e294: /* f09e294: 1441003f */ bne $v0,$at,.L0f09e394 /* f09e298: 3c0f800a */ lui $t7,%hi(g_FileInfo) /* f09e29c: 965815b2 */ lhu $t8,0x15b2($s2) /* f09e2a0: 25ef6680 */ addiu $t7,$t7,%lo(g_FileInfo) /* f09e2a4: 264c15d4 */ addiu $t4,$s2,0x15d4 /* f09e2a8: 0018c8c0 */ sll $t9,$t8,0x3 /* f09e2ac: 032f5021 */ addu $t2,$t9,$t7 /* f09e2b0: afaa0058 */ sw $t2,0x58($sp) /* f09e2b4: afac0034 */ sw $t4,0x34($sp) /* f09e2b8: 8d810000 */ lw $at,0x0($t4) /* f09e2bc: 00003825 */ or $a3,$zero,$zero /* f09e2c0: ad410000 */ sw $at,0x0($t2) /* f09e2c4: 8d980004 */ lw $t8,0x4($t4) /* f09e2c8: ad580004 */ sw $t8,0x4($t2) /* f09e2cc: 8e5915b4 */ lw $t9,0x15b4($s2) /* f09e2d0: 8e4315d0 */ lw $v1,0x15d0($s2) /* f09e2d4: 8f310000 */ lw $s1,0x0($t9) /* f09e2d8: 00038080 */ sll $s0,$v1,0x2 /* f09e2dc: 02038023 */ subu $s0,$s0,$v1 /* f09e2e0: 862f0016 */ lh $t7,0x16($s1) /* f09e2e4: 00108080 */ sll $s0,$s0,0x2 /* f09e2e8: 006f082a */ slt $at,$v1,$t7 /* f09e2ec: 50200021 */ beqzl $at,.L0f09e374 /* f09e2f0: 8fae0058 */ lw $t6,0x58($sp) /* f09e2f4: 8e220018 */ lw $v0,0x18($s1) .L0f09e2f8: /* f09e2f8: 264515c0 */ addiu $a1,$s2,0x15c0 /* f09e2fc: 24060001 */ addiu $a2,$zero,0x1 /* f09e300: 00506021 */ addu $t4,$v0,$s0 /* f09e304: 8d8e0000 */ lw $t6,0x0($t4) /* f09e308: 00502021 */ addu $a0,$v0,$s0 /* f09e30c: 29c10daf */ slti $at,$t6,0xdaf /* f09e310: 5020000b */ beqzl $at,.L0f09e340 /* f09e314: 24e70001 */ addiu $a3,$a3,0x1 /* f09e318: afa3007c */ sw $v1,0x7c($sp) /* f09e31c: 0fc5cc04 */ jal func0f173010 /* f09e320: afa70078 */ sw $a3,0x78($sp) /* f09e324: 8e2a0018 */ lw $t2,0x18($s1) /* f09e328: 8fa3007c */ lw $v1,0x7c($sp) /* f09e32c: 8fa70078 */ lw $a3,0x78($sp) /* f09e330: 240d0001 */ addiu $t5,$zero,0x1 /* f09e334: 01505821 */ addu $t3,$t2,$s0 /* f09e338: a16d000b */ sb $t5,0xb($t3) /* f09e33c: 24e70001 */ addiu $a3,$a3,0x1 .L0f09e340: /* f09e340: 24010003 */ addiu $at,$zero,0x3 /* f09e344: 50e10061 */ beql $a3,$at,.L0f09e4cc /* f09e348: 8fbf002c */ lw $ra,0x2c($sp) /* f09e34c: 8e5815d0 */ lw $t8,0x15d0($s2) /* f09e350: 24630001 */ addiu $v1,$v1,0x1 /* f09e354: 2610000c */ addiu $s0,$s0,0xc /* f09e358: 27190001 */ addiu $t9,$t8,0x1 /* f09e35c: ae5915d0 */ sw $t9,0x15d0($s2) /* f09e360: 862f0016 */ lh $t7,0x16($s1) /* f09e364: 006f082a */ slt $at,$v1,$t7 /* f09e368: 5420ffe3 */ bnezl $at,.L0f09e2f8 /* f09e36c: 8e220018 */ lw $v0,0x18($s1) /* f09e370: 8fae0058 */ lw $t6,0x58($sp) .L0f09e374: /* f09e374: 8fac0034 */ lw $t4,0x34($sp) /* f09e378: 240b0003 */ addiu $t3,$zero,0x3 /* f09e37c: 8dc10000 */ lw $at,0x0($t6) /* f09e380: ad810000 */ sw $at,0x0($t4) /* f09e384: 8dcd0004 */ lw $t5,0x4($t6) /* f09e388: ad8d0004 */ sw $t5,0x4($t4) /* f09e38c: 1000004e */ b .L0f09e4c8 /* f09e390: a24b15b1 */ sb $t3,0x15b1($s2) .L0f09e394: /* f09e394: 24010003 */ addiu $at,$zero,0x3 /* f09e398: 5441004c */ bnel $v0,$at,.L0f09e4cc /* f09e39c: 8fbf002c */ lw $ra,0x2c($sp) /* f09e3a0: 965815b2 */ lhu $t8,0x15b2($s2) /* f09e3a4: 3c0f800a */ lui $t7,%hi(g_FileInfo) /* f09e3a8: 25ef6680 */ addiu $t7,$t7,%lo(g_FileInfo) /* f09e3ac: 0018c8c0 */ sll $t9,$t8,0x3 /* f09e3b0: 032f5021 */ addu $t2,$t9,$t7 /* f09e3b4: afaa0058 */ sw $t2,0x58($sp) /* f09e3b8: 8e4115d4 */ lw $at,0x15d4($s2) /* f09e3bc: 265015c0 */ addiu $s0,$s2,0x15c0 /* f09e3c0: 3c060500 */ lui $a2,0x500 /* f09e3c4: ad410000 */ sw $at,0x0($t2) /* f09e3c8: 8e4d15d8 */ lw $t5,0x15d8($s2) /* f09e3cc: ad4d0004 */ sw $t5,0x4($t2) /* f09e3d0: 8e4b15b4 */ lw $t3,0x15b4($s2) /* f09e3d4: 964515b2 */ lhu $a1,0x15b2($s2) /* f09e3d8: 8d710000 */ lw $s1,0x0($t3) /* f09e3dc: afa00014 */ sw $zero,0x14($sp) /* f09e3e0: afb00010 */ sw $s0,0x10($sp) /* f09e3e4: 02202025 */ or $a0,$s1,$zero /* f09e3e8: 0fc69d58 */ jal func0f1a7560 /* f09e3ec: 02203825 */ or $a3,$s1,$zero /* f09e3f0: 0fc59c15 */ jal fileGetInflatedLength /* f09e3f4: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e3f8: 0fc59ca0 */ jal fileGetSize /* f09e3fc: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e400: 0fc59ca0 */ jal fileGetSize /* f09e404: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e408: 0fc59ca0 */ jal fileGetSize /* f09e40c: 964415b2 */ lhu $a0,0x15b2($s2) /* f09e410: 0c008b49 */ jal modelCalculateRwDataLen /* f09e414: 02202025 */ or $a0,$s1,$zero /* f09e418: 0fc5cbd5 */ jal func0f172f54 /* f09e41c: 02002025 */ or $a0,$s0,$zero /* f09e420: 8e4615b8 */ lw $a2,0x15b8($s2) /* f09e424: 8e5815bc */ lw $t8,0x15bc($s2) /* f09e428: 2447003f */ addiu $a3,$v0,0x3f /* f09e42c: 8cce0000 */ lw $t6,0x0($a2) /* f09e430: 34f9003f */ ori $t9,$a3,0x3f /* f09e434: 8f100000 */ lw $s0,0x0($t8) /* f09e438: 3b2f003f */ xori $t7,$t9,0x3f /* f09e43c: accf0000 */ sw $t7,0x0($a2) /* f09e440: 8e4a15bc */ lw $t2,0x15bc($s2) /* f09e444: 3c097f09 */ lui $t1,%hi(tagsAllocatePtrs) /* f09e448: 3c087f09 */ lui $t0,%hi(tagFindById) /* f09e44c: 01ee6023 */ subu $t4,$t7,$t6 /* f09e450: 252953cc */ addiu $t1,$t1,%lo(tagsAllocatePtrs) /* f09e454: 25055528 */ addiu $a1,$t0,%lo(tagFindById) /* f09e458: 020c8023 */ subu $s0,$s0,$t4 /* f09e45c: 240d0004 */ addiu $t5,$zero,0x4 /* f09e460: 0125082b */ sltu $at,$t1,$a1 /* f09e464: ad500000 */ sw $s0,0x0($t2) /* f09e468: a24d15b1 */ sb $t5,0x15b1($s2) /* f09e46c: 01201825 */ or $v1,$t1,$zero /* f09e470: 10200007 */ beqz $at,.L0f09e490 /* f09e474: 00002025 */ or $a0,$zero,$zero .L0f09e478: /* f09e478: 8c6b0000 */ lw $t3,0x0($v1) /* f09e47c: 24630004 */ addiu $v1,$v1,0x4 /* f09e480: 0065082b */ sltu $at,$v1,$a1 /* f09e484: 0160c027 */ nor $t8,$t3,$zero /* f09e488: 1420fffb */ bnez $at,.L0f09e478 /* f09e48c: 00982023 */ subu $a0,$a0,$t8 .L0f09e490: /* f09e490: 3c01f310 */ lui $at,0x99aa /* f09e494: 3421c53a */ ori $at,$at,0xbbcc /* f09e498: 1081000b */ beq $a0,$at,.L0f09e4c8 /* f09e49c: 2523000c */ addiu $v1,$t1,0xc /* f09e4a0: 2465001c */ addiu $a1,$v1,0x1c /* f09e4a4: 0065082b */ sltu $at,$v1,$a1 /* f09e4a8: 50200008 */ beqzl $at,.L0f09e4cc /* f09e4ac: 8fbf002c */ lw $ra,0x2c($sp) .L0f09e4b0: /* f09e4b0: 8c790000 */ lw $t9,0x0($v1) /* f09e4b4: 24630004 */ addiu $v1,$v1,0x4 /* f09e4b8: 0065082b */ sltu $at,$v1,$a1 /* f09e4bc: 372f00ff */ ori $t7,$t9,0xff /* f09e4c0: 1420fffb */ bnez $at,.L0f09e4b0 /* f09e4c4: ac6ffffc */ sw $t7,-0x4($v1) .L0f09e4c8: /* f09e4c8: 8fbf002c */ lw $ra,0x2c($sp) .L0f09e4cc: /* f09e4cc: 8fb00020 */ lw $s0,0x20($sp) /* f09e4d0: 8fb10024 */ lw $s1,0x24($sp) /* f09e4d4: 8fb20028 */ lw $s2,0x28($sp) /* f09e4d8: 03e00008 */ jr $ra /* f09e4dc: 27bd0080 */ addiu $sp,$sp,0x80 ); #else GLOBAL_ASM( glabel bgun0f09e144 /* f09c060: 27bdff80 */ addiu $sp,$sp,-128 /* f09c064: afb40030 */ sw $s4,0x30($sp) /* f09c068: 3c14800a */ lui $s4,0x800a /* f09c06c: 8e94e944 */ lw $s4,-0x16bc($s4) /* f09c070: afbf003c */ sw $ra,0x3c($sp) /* f09c074: afb60038 */ sw $s6,0x38($sp) /* f09c078: afb50034 */ sw $s5,0x34($sp) /* f09c07c: afb3002c */ sw $s3,0x2c($sp) /* f09c080: afb20028 */ sw $s2,0x28($sp) /* f09c084: afb10024 */ sw $s1,0x24($sp) /* f09c088: afb00020 */ sw $s0,0x20($sp) /* f09c08c: 928215b1 */ lbu $v0,0x15b1($s4) /* f09c090: 24010001 */ addiu $at,$zero,0x1 /* f09c094: 54410046 */ bnel $v0,$at,.NB0f09c1b0 /* f09c098: 24010002 */ addiu $at,$zero,0x2 /* f09c09c: 8e8315b8 */ lw $v1,0x15b8($s4) /* f09c0a0: 8e8e15bc */ lw $t6,0x15bc($s4) /* f09c0a4: 240f0010 */ addiu $t7,$zero,0x10 /* f09c0a8: 8c710000 */ lw $s1,0x0($v1) /* f09c0ac: 8dd00000 */ lw $s0,0x0($t6) /* f09c0b0: 3225000f */ andi $a1,$s1,0xf /* f09c0b4: 10a00003 */ beqz $a1,.NB0f09c0c4 /* f09c0b8: 01e51023 */ subu $v0,$t7,$a1 /* f09c0bc: 02228821 */ addu $s1,$s1,$v0 /* f09c0c0: 02028023 */ subu $s0,$s0,$v0 .NB0f09c0c4: /* f09c0c4: ac710000 */ sw $s1,0x0($v1) /* f09c0c8: 8e9815bc */ lw $t8,0x15bc($s4) /* f09c0cc: af100000 */ sw $s0,0x0($t8) /* f09c0d0: 0fc58635 */ jal fileGetInflatedLength /* f09c0d4: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c0d8: 2443003f */ addiu $v1,$v0,0x3f /* f09c0dc: 3479003f */ ori $t9,$v1,0x3f /* f09c0e0: 3b23003f */ xori $v1,$t9,0x3f /* f09c0e4: 34018000 */ dli $at,0x8000 /* f09c0e8: 00613821 */ addu $a3,$v1,$at /* f09c0ec: 0207082b */ sltu $at,$s0,$a3 /* f09c0f0: 10200002 */ beqz $at,.NB0f09c0fc /* f09c0f4: 24090007 */ addiu $t1,$zero,0x7 /* f09c0f8: 02003825 */ or $a3,$s0,$zero .NB0f09c0fc: /* f09c0fc: 3c018006 */ lui $at,0x8006 /* f09c100: a029f2c0 */ sb $t1,-0xd40($at) /* f09c104: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c108: 24050011 */ addiu $a1,$zero,0x11 /* f09c10c: 0fc586cd */ jal func0f167200 /* f09c110: 02203025 */ or $a2,$s1,$zero /* f09c114: 00409825 */ or $s3,$v0,$zero /* f09c118: 0fc586ed */ jal fileGetSize /* f09c11c: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c120: 24520e00 */ addiu $s2,$v0,0xe00 /* f09c124: 0fc586ed */ jal fileGetSize /* f09c128: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c12c: 968a15b2 */ lhu $t2,0x15b2($s4) /* f09c130: 3c0c800b */ lui $t4,0x800b /* f09c134: 02321821 */ addu $v1,$s1,$s2 /* f09c138: 258caf40 */ addiu $t4,$t4,-20672 /* f09c13c: 2463000f */ addiu $v1,$v1,0xf /* f09c140: 000a58c0 */ sll $t3,$t2,0x3 /* f09c144: 016c3821 */ addu $a3,$t3,$t4 /* f09c148: 346d000f */ ori $t5,$v1,0xf /* f09c14c: acf20004 */ sw $s2,0x4($a3) /* f09c150: 39a5000f */ xori $a1,$t5,0xf /* f09c154: 00b19023 */ subu $s2,$a1,$s1 /* f09c158: 02123023 */ subu $a2,$s0,$s2 /* f09c15c: afa70058 */ sw $a3,0x58($sp) /* f09c160: 0fc5b6c2 */ jal func0f172e70 /* f09c164: 268415c0 */ addiu $a0,$s4,0x15c0 /* f09c168: 0c009188 */ jal modelPromoteTypeToPointer /* f09c16c: 02602025 */ or $a0,$s3,$zero /* f09c170: 02602025 */ or $a0,$s3,$zero /* f09c174: 3c050500 */ lui $a1,0x500 /* f09c178: 0c008eaf */ jal modelPromoteOffsetsToPointers /* f09c17c: 02603025 */ or $a2,$s3,$zero /* f09c180: 8e8f15b4 */ lw $t7,0x15b4($s4) /* f09c184: 24090002 */ addiu $t1,$zero,0x2 /* f09c188: adf30000 */ sw $s3,0x0($t7) /* f09c18c: ae8015d0 */ sw $zero,0x15d0($s4) /* f09c190: 8fb80058 */ lw $t8,0x58($sp) /* f09c194: 8f010000 */ lw $at,0x0($t8) /* f09c198: ae8115d4 */ sw $at,0x15d4($s4) /* f09c19c: 8f080004 */ lw $t0,0x4($t8) /* f09c1a0: a28915b1 */ sb $t1,0x15b1($s4) /* f09c1a4: 1000006f */ beqz $zero,.NB0f09c364 /* f09c1a8: ae8815d8 */ sw $t0,0x15d8($s4) /* f09c1ac: 24010002 */ addiu $at,$zero,0x2 .NB0f09c1b0: /* f09c1b0: 1441003c */ bne $v0,$at,.NB0f09c2a4 /* f09c1b4: 24160003 */ addiu $s6,$zero,0x3 /* f09c1b8: 968a15b2 */ lhu $t2,0x15b2($s4) /* f09c1bc: 3c0c800b */ lui $t4,0x800b /* f09c1c0: 258caf40 */ addiu $t4,$t4,-20672 /* f09c1c4: 000a58c0 */ sll $t3,$t2,0x3 /* f09c1c8: 016c6821 */ addu $t5,$t3,$t4 /* f09c1cc: 268e15d4 */ addiu $t6,$s4,0x15d4 /* f09c1d0: afad0058 */ sw $t5,0x58($sp) /* f09c1d4: afae0044 */ sw $t6,0x44($sp) /* f09c1d8: 8dc10000 */ lw $at,0x0($t6) /* f09c1dc: 00009025 */ or $s2,$zero,$zero /* f09c1e0: 24160003 */ addiu $s6,$zero,0x3 /* f09c1e4: ada10000 */ sw $at,0x0($t5) /* f09c1e8: 8dc80004 */ lw $t0,0x4($t6) /* f09c1ec: 24150001 */ addiu $s5,$zero,0x1 /* f09c1f0: ada80004 */ sw $t0,0x4($t5) /* f09c1f4: 8e8915b4 */ lw $t1,0x15b4($s4) /* f09c1f8: 8e9115d0 */ lw $s1,0x15d0($s4) /* f09c1fc: 8d330000 */ lw $s3,0x0($t1) /* f09c200: 00118080 */ sll $s0,$s1,0x2 /* f09c204: 02118023 */ subu $s0,$s0,$s1 /* f09c208: 866a0016 */ lh $t2,0x16($s3) /* f09c20c: 00108080 */ sll $s0,$s0,0x2 /* f09c210: 022a082a */ slt $at,$s1,$t2 /* f09c214: 5020001b */ beqzl $at,.NB0f09c284 /* f09c218: 8fa90058 */ lw $t1,0x58($sp) /* f09c21c: 8e620018 */ lw $v0,0x18($s3) .NB0f09c220: /* f09c220: 268515c0 */ addiu $a1,$s4,0x15c0 /* f09c224: 00505821 */ addu $t3,$v0,$s0 /* f09c228: 8d6c0000 */ lw $t4,0x0($t3) /* f09c22c: 00502021 */ addu $a0,$v0,$s0 /* f09c230: 29810daf */ slti $at,$t4,0xdaf /* f09c234: 50200007 */ beqzl $at,.NB0f09c254 /* f09c238: 26520001 */ addiu $s2,$s2,0x1 /* f09c23c: 0fc5b72a */ jal func0f173010 /* f09c240: 24060001 */ addiu $a2,$zero,0x1 /* f09c244: 8e6e0018 */ lw $t6,0x18($s3) /* f09c248: 01d0c021 */ addu $t8,$t6,$s0 /* f09c24c: a315000b */ sb $s5,0xb($t8) /* f09c250: 26520001 */ addiu $s2,$s2,0x1 .NB0f09c254: /* f09c254: 52560044 */ beql $s2,$s6,.NB0f09c368 /* f09c258: 8fbf003c */ lw $ra,0x3c($sp) /* f09c25c: 8e9915d0 */ lw $t9,0x15d0($s4) /* f09c260: 26310001 */ addiu $s1,$s1,0x1 /* f09c264: 2610000c */ addiu $s0,$s0,0xc /* f09c268: 272d0001 */ addiu $t5,$t9,0x1 /* f09c26c: ae8d15d0 */ sw $t5,0x15d0($s4) /* f09c270: 866f0016 */ lh $t7,0x16($s3) /* f09c274: 022f082a */ slt $at,$s1,$t7 /* f09c278: 5420ffe9 */ bnezl $at,.NB0f09c220 /* f09c27c: 8e620018 */ lw $v0,0x18($s3) /* f09c280: 8fa90058 */ lw $t1,0x58($sp) .NB0f09c284: /* f09c284: 8fa80044 */ lw $t0,0x44($sp) /* f09c288: 240c0003 */ addiu $t4,$zero,0x3 /* f09c28c: 8d210000 */ lw $at,0x0($t1) /* f09c290: ad010000 */ sw $at,0x0($t0) /* f09c294: 8d2b0004 */ lw $t3,0x4($t1) /* f09c298: ad0b0004 */ sw $t3,0x4($t0) /* f09c29c: 10000031 */ beqz $zero,.NB0f09c364 /* f09c2a0: a28c15b1 */ sb $t4,0x15b1($s4) .NB0f09c2a4: /* f09c2a4: 56c20030 */ bnel $s6,$v0,.NB0f09c368 /* f09c2a8: 8fbf003c */ lw $ra,0x3c($sp) /* f09c2ac: 968e15b2 */ lhu $t6,0x15b2($s4) /* f09c2b0: 3c19800b */ lui $t9,0x800b /* f09c2b4: 2739af40 */ addiu $t9,$t9,-20672 /* f09c2b8: 000ec0c0 */ sll $t8,$t6,0x3 /* f09c2bc: 03196821 */ addu $t5,$t8,$t9 /* f09c2c0: afad0058 */ sw $t5,0x58($sp) /* f09c2c4: 8e8115d4 */ lw $at,0x15d4($s4) /* f09c2c8: 269015c0 */ addiu $s0,$s4,0x15c0 /* f09c2cc: 3c060500 */ lui $a2,0x500 /* f09c2d0: ada10000 */ sw $at,0x0($t5) /* f09c2d4: 8e8815d8 */ lw $t0,0x15d8($s4) /* f09c2d8: ada80004 */ sw $t0,0x4($t5) /* f09c2dc: 8e8915b4 */ lw $t1,0x15b4($s4) /* f09c2e0: 968515b2 */ lhu $a1,0x15b2($s4) /* f09c2e4: 8d330000 */ lw $s3,0x0($t1) /* f09c2e8: afa00014 */ sw $zero,0x14($sp) /* f09c2ec: afb00010 */ sw $s0,0x10($sp) /* f09c2f0: 02602025 */ or $a0,$s3,$zero /* f09c2f4: 0c009114 */ jal func0f1a7560 /* f09c2f8: 02603825 */ or $a3,$s3,$zero /* f09c2fc: 0fc58635 */ jal fileGetInflatedLength /* f09c300: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c304: 0fc586ed */ jal fileGetSize /* f09c308: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c30c: 0fc586ed */ jal fileGetSize /* f09c310: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c314: 0fc586ed */ jal fileGetSize /* f09c318: 968415b2 */ lhu $a0,0x15b2($s4) /* f09c31c: 0c008f6f */ jal modelCalculateRwDataLen /* f09c320: 02602025 */ or $a0,$s3,$zero /* f09c324: 0fc5b6fb */ jal func0f172f54 /* f09c328: 02002025 */ or $a0,$s0,$zero /* f09c32c: 8e8315b8 */ lw $v1,0x15b8($s4) /* f09c330: 8e8b15bc */ lw $t3,0x15bc($s4) /* f09c334: 2444003f */ addiu $a0,$v0,0x3f /* f09c338: 8c780000 */ lw $t8,0x0($v1) /* f09c33c: 348c003f */ ori $t4,$a0,0x3f /* f09c340: 8d700000 */ lw $s0,0x0($t3) /* f09c344: 398e003f */ xori $t6,$t4,0x3f /* f09c348: ac6e0000 */ sw $t6,0x0($v1) /* f09c34c: 8e8a15bc */ lw $t2,0x15bc($s4) /* f09c350: 01d8c823 */ subu $t9,$t6,$t8 /* f09c354: 02198023 */ subu $s0,$s0,$t9 /* f09c358: 240f0004 */ addiu $t7,$zero,0x4 /* f09c35c: ad500000 */ sw $s0,0x0($t2) /* f09c360: a28f15b1 */ sb $t7,0x15b1($s4) .NB0f09c364: /* f09c364: 8fbf003c */ lw $ra,0x3c($sp) .NB0f09c368: /* f09c368: 8fb00020 */ lw $s0,0x20($sp) /* f09c36c: 8fb10024 */ lw $s1,0x24($sp) /* f09c370: 8fb20028 */ lw $s2,0x28($sp) /* f09c374: 8fb3002c */ lw $s3,0x2c($sp) /* f09c378: 8fb40030 */ lw $s4,0x30($sp) /* f09c37c: 8fb50034 */ lw $s5,0x34($sp) /* f09c380: 8fb60038 */ lw $s6,0x38($sp) /* f09c384: 03e00008 */ jr $ra /* f09c388: 27bd0080 */ addiu $sp,$sp,0x80 ); #endif #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgun0f09e4e0 /* f09e4e0: 27bdff58 */ addiu $sp,$sp,-168 /* f09e4e4: afb5002c */ sw $s5,0x2c($sp) /* f09e4e8: 3c15800a */ lui $s5,%hi(g_Vars) /* f09e4ec: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars) /* f09e4f0: afb20020 */ sw $s2,0x20($sp) /* f09e4f4: 8eb20284 */ lw $s2,0x284($s5) /* f09e4f8: afbf0034 */ sw $ra,0x34($sp) /* f09e4fc: afb60030 */ sw $s6,0x30($sp) /* f09e500: afb40028 */ sw $s4,0x28($sp) /* f09e504: afb30024 */ sw $s3,0x24($sp) /* f09e508: afb1001c */ sw $s1,0x1c($sp) /* f09e50c: afb00018 */ sw $s0,0x18($sp) /* f09e510: 924e15ea */ lbu $t6,0x15ea($s2) /* f09e514: 51c00006 */ beqzl $t6,.L0f09e530 /* f09e518: 8e421584 */ lw $v0,0x1584($s2) /* f09e51c: 0fc27801 */ jal bgun0f09e004 /* f09e520: 00002025 */ or $a0,$zero,$zero /* f09e524: 50400151 */ beqzl $v0,.L0f09ea6c /* f09e528: 8fbf0034 */ lw $ra,0x34($sp) /* f09e52c: 8e421584 */ lw $v0,0x1584($s2) .L0f09e530: /* f09e530: 0442014e */ bltzl $v0,.L0f09ea6c /* f09e534: 8fbf0034 */ lw $ra,0x34($sp) /* f09e538: 824315eb */ lb $v1,0x15eb($s2) /* f09e53c: 27a40068 */ addiu $a0,$sp,0x68 /* f09e540: 27a50064 */ addiu $a1,$sp,0x64 /* f09e544: 14600142 */ bnez $v1,.L0f09ea50 /* f09e548: 246dffff */ addiu $t5,$v1,-1 /* f09e54c: afa200a4 */ sw $v0,0xa4($sp) /* f09e550: 0fc2e1cb */ jal currentPlayerChooseBodyAndHead /* f09e554: 00003025 */ or $a2,$zero,$zero /* f09e558: 8faf0068 */ lw $t7,0x68($sp) /* f09e55c: 3c198009 */ lui $t9,%hi(g_Is4Mb) /* f09e560: 93390af0 */ lbu $t9,%lo(g_Is4Mb)($t9) /* f09e564: 000fc080 */ sll $t8,$t7,0x2 /* f09e568: 030fc021 */ addu $t8,$t8,$t7 /* f09e56c: 0018c080 */ sll $t8,$t8,0x2 /* f09e570: 3c118008 */ lui $s1,%hi(g_HeadsAndBodies+0x10) /* f09e574: 24060001 */ addiu $a2,$zero,0x1 /* f09e578: 02388821 */ addu $s1,$s1,$t8 /* f09e57c: 14d90002 */ bne $a2,$t9,.L0f09e588 /* f09e580: 9631cf14 */ lhu $s1,%lo(g_HeadsAndBodies+0x10)($s1) /* f09e584: 241104e5 */ addiu $s1,$zero,0x4e5 .L0f09e588: /* f09e588: 0fc2c686 */ jal weaponGetModelNum /* f09e58c: 8fa400a4 */ lw $a0,0xa4($sp) /* f09e590: 924815b0 */ lbu $t0,0x15b0($s2) /* f09e594: 24140004 */ addiu $s4,$zero,0x4 /* f09e598: 3053ffff */ andi $s3,$v0,0xffff /* f09e59c: 16880003 */ bne $s4,$t0,.L0f09e5ac /* f09e5a0: 8fa400a4 */ lw $a0,0xa4($sp) /* f09e5a4: 8e491588 */ lw $t1,0x1588($s2) /* f09e5a8: 1089012f */ beq $a0,$t1,.L0f09ea68 .L0f09e5ac: /* f09e5ac: 304affff */ andi $t2,$v0,0xffff /* f09e5b0: 11400121 */ beqz $t2,.L0f09ea38 /* f09e5b4: 8fa400a4 */ lw $a0,0xa4($sp) /* f09e5b8: 00008025 */ or $s0,$zero,$zero /* f09e5bc: 0fc2c5f0 */ jal weaponHasFlag /* f09e5c0: 3c050002 */ lui $a1,0x2 /* f09e5c4: 10400002 */ beqz $v0,.L0f09e5d0 /* f09e5c8: 24060001 */ addiu $a2,$zero,0x1 /* f09e5cc: 00c08025 */ or $s0,$a2,$zero .L0f09e5d0: /* f09e5d0: 8fab00a4 */ lw $t3,0xa4($sp) /* f09e5d4: 3c05800a */ lui $a1,%hi(g_Casings) /* f09e5d8: 24a5d510 */ addiu $a1,$a1,%lo(g_Casings) /* f09e5dc: 15660004 */ bne $t3,$a2,.L0f09e5f0 /* f09e5e0: 3c03800a */ lui $v1,%hi(var8009da60) /* f09e5e4: 3233ffff */ andi $s3,$s1,0xffff /* f09e5e8: 00008825 */ or $s1,$zero,$zero /* f09e5ec: 00008025 */ or $s0,$zero,$zero .L0f09e5f0: /* f09e5f0: 924215b0 */ lbu $v0,0x15b0($s2) /* f09e5f4: 3c048007 */ lui $a0,%hi(g_CasingsActive) /* f09e5f8: 2463da60 */ addiu $v1,$v1,%lo(var8009da60) /* f09e5fc: 14400019 */ bnez $v0,.L0f09e664 /* f09e600: 24840524 */ addiu $a0,$a0,%lo(g_CasingsActive) /* f09e604: 00a01025 */ or $v0,$a1,$zero /* f09e608: 8e4c1598 */ lw $t4,0x1598($s2) .L0f09e60c: /* f09e60c: 8c4d0040 */ lw $t5,0x40($v0) /* f09e610: 558d0003 */ bnel $t4,$t5,.L0f09e620 /* f09e614: 24420044 */ addiu $v0,$v0,0x44 /* f09e618: ac400040 */ sw $zero,0x40($v0) /* f09e61c: 24420044 */ addiu $v0,$v0,0x44 .L0f09e620: /* f09e620: 0043082b */ sltu $at,$v0,$v1 /* f09e624: 5420fff9 */ bnezl $at,.L0f09e60c /* f09e628: 8e4c1598 */ lw $t4,0x1598($s2) /* f09e62c: ac800000 */ sw $zero,0x0($a0) /* f09e630: 00a01025 */ or $v0,$a1,$zero /* f09e634: 8c4e0040 */ lw $t6,0x40($v0) .L0f09e638: /* f09e638: 24420044 */ addiu $v0,$v0,0x44 /* f09e63c: 0043082b */ sltu $at,$v0,$v1 /* f09e640: 11c00002 */ beqz $t6,.L0f09e64c /* f09e644: 00000000 */ nop /* f09e648: ac860000 */ sw $a2,0x0($a0) .L0f09e64c: /* f09e64c: 5420fffa */ bnezl $at,.L0f09e638 /* f09e650: 8c4e0040 */ lw $t6,0x40($v0) /* f09e654: 240f0001 */ addiu $t7,$zero,0x1 /* f09e658: ae401598 */ sw $zero,0x1598($s2) /* f09e65c: 10000102 */ b .L0f09ea68 /* f09e660: a24f15b0 */ sb $t7,0x15b0($s2) .L0f09e664: /* f09e664: 14c20028 */ bne $a2,$v0,.L0f09e708 /* f09e668: 24010002 */ addiu $at,$zero,0x2 /* f09e66c: 5200001d */ beqzl $s0,.L0f09e6e4 /* f09e670: a640159c */ sh $zero,0x159c($s2) /* f09e674: 9658159c */ lhu $t8,0x159c($s2) /* f09e678: 53110020 */ beql $t8,$s1,.L0f09e6fc /* f09e67c: 240d0002 */ addiu $t5,$zero,0x2 /* f09e680: 925915b1 */ lbu $t9,0x15b1($s2) /* f09e684: 1720000f */ bnez $t9,.L0f09e6c4 /* f09e688: 00000000 */ nop /* f09e68c: 0fc2777b */ jal bgun0f09ddec /* f09e690: 00000000 */ nop /* f09e694: 0fc2777f */ jal bgun0f09ddfc /* f09e698: ae4215a0 */ sw $v0,0x15a0($s2) /* f09e69c: 24080001 */ addiu $t0,$zero,0x1 /* f09e6a0: 26491594 */ addiu $t1,$s2,0x1594 /* f09e6a4: 264a15a0 */ addiu $t2,$s2,0x15a0 /* f09e6a8: 264b15a4 */ addiu $t3,$s2,0x15a4 /* f09e6ac: ae4215a4 */ sw $v0,0x15a4($s2) /* f09e6b0: a24815b1 */ sb $t0,0x15b1($s2) /* f09e6b4: a65115b2 */ sh $s1,0x15b2($s2) /* f09e6b8: ae4915b4 */ sw $t1,0x15b4($s2) /* f09e6bc: ae4a15b8 */ sw $t2,0x15b8($s2) /* f09e6c0: ae4b15bc */ sw $t3,0x15bc($s2) .L0f09e6c4: /* f09e6c4: 0fc27851 */ jal bgun0f09e144 /* f09e6c8: 00000000 */ nop /* f09e6cc: 924c15b1 */ lbu $t4,0x15b1($s2) /* f09e6d0: 568c00e6 */ bnel $s4,$t4,.L0f09ea6c /* f09e6d4: 8fbf0034 */ lw $ra,0x34($sp) /* f09e6d8: 10000007 */ b .L0f09e6f8 /* f09e6dc: a651159c */ sh $s1,0x159c($s2) /* f09e6e0: a640159c */ sh $zero,0x159c($s2) .L0f09e6e4: /* f09e6e4: 0fc2777b */ jal bgun0f09ddec /* f09e6e8: ae401594 */ sw $zero,0x1594($s2) /* f09e6ec: 0fc2777f */ jal bgun0f09ddfc /* f09e6f0: ae4215a0 */ sw $v0,0x15a0($s2) /* f09e6f4: ae4215a4 */ sw $v0,0x15a4($s2) .L0f09e6f8: /* f09e6f8: 240d0002 */ addiu $t5,$zero,0x2 .L0f09e6fc: /* f09e6fc: a24d15b0 */ sb $t5,0x15b0($s2) /* f09e700: 100000d9 */ b .L0f09ea68 /* f09e704: a24015b1 */ sb $zero,0x15b1($s2) .L0f09e708: /* f09e708: 5441001a */ bnel $v0,$at,.L0f09e774 /* f09e70c: 24010003 */ addiu $at,$zero,0x3 /* f09e710: 924e15b1 */ lbu $t6,0x15b1($s2) /* f09e714: 24190001 */ addiu $t9,$zero,0x1 /* f09e718: 26481590 */ addiu $t0,$s2,0x1590 /* f09e71c: 15c0000b */ bnez $t6,.L0f09e74c /* f09e720: 264915a8 */ addiu $t1,$s2,0x15a8 /* f09e724: 8e4f15a0 */ lw $t7,0x15a0($s2) /* f09e728: 8e5815a4 */ lw $t8,0x15a4($s2) /* f09e72c: 264a15ac */ addiu $t2,$s2,0x15ac /* f09e730: a25915b1 */ sb $t9,0x15b1($s2) /* f09e734: a65315b2 */ sh $s3,0x15b2($s2) /* f09e738: ae4815b4 */ sw $t0,0x15b4($s2) /* f09e73c: ae4915b8 */ sw $t1,0x15b8($s2) /* f09e740: ae4a15bc */ sw $t2,0x15bc($s2) /* f09e744: ae4f15a8 */ sw $t7,0x15a8($s2) /* f09e748: ae5815ac */ sw $t8,0x15ac($s2) .L0f09e74c: /* f09e74c: 0fc27851 */ jal bgun0f09e144 /* f09e750: 00000000 */ nop /* f09e754: 924b15b1 */ lbu $t3,0x15b1($s2) /* f09e758: 240c0003 */ addiu $t4,$zero,0x3 /* f09e75c: 568b00c3 */ bnel $s4,$t3,.L0f09ea6c /* f09e760: 8fbf0034 */ lw $ra,0x34($sp) /* f09e764: a24c15b0 */ sb $t4,0x15b0($s2) /* f09e768: 100000bf */ b .L0f09ea68 /* f09e76c: a24015b1 */ sb $zero,0x15b1($s2) /* f09e770: 24010003 */ addiu $at,$zero,0x3 .L0f09e774: /* f09e774: 544100bd */ bnel $v0,$at,.L0f09ea6c /* f09e778: 8fbf0034 */ lw $ra,0x34($sp) /* f09e77c: 924315b1 */ lbu $v1,0x15b1($s2) /* f09e780: 16830003 */ bne $s4,$v1,.L0f09e790 /* f09e784: 00000000 */ nop /* f09e788: a24015b1 */ sb $zero,0x15b1($s2) /* f09e78c: 300300ff */ andi $v1,$zero,0xff .L0f09e790: /* f09e790: 14600056 */ bnez $v1,.L0f09e8ec /* f09e794: 00000000 */ nop /* f09e798: 8e4d1598 */ lw $t5,0x1598($s2) /* f09e79c: 15a00053 */ bnez $t5,.L0f09e8ec /* f09e7a0: 00000000 */ nop /* f09e7a4: 8eae006c */ lw $t6,0x6c($s5) /* f09e7a8: 00003825 */ or $a3,$zero,$zero /* f09e7ac: 00002025 */ or $a0,$zero,$zero /* f09e7b0: 11c00003 */ beqz $t6,.L0f09e7c0 /* f09e7b4: 00002825 */ or $a1,$zero,$zero /* f09e7b8: 10000001 */ b .L0f09e7c0 /* f09e7bc: 00c03825 */ or $a3,$a2,$zero .L0f09e7c0: /* f09e7c0: 8eaf0068 */ lw $t7,0x68($s5) /* f09e7c4: 00001025 */ or $v0,$zero,$zero /* f09e7c8: 00009825 */ or $s3,$zero,$zero /* f09e7cc: 11e00003 */ beqz $t7,.L0f09e7dc /* f09e7d0: 26540638 */ addiu $s4,$s2,0x638 /* f09e7d4: 10000001 */ b .L0f09e7dc /* f09e7d8: 00c02025 */ or $a0,$a2,$zero .L0f09e7dc: /* f09e7dc: 8eb80064 */ lw $t8,0x64($s5) /* f09e7e0: 24160f48 */ addiu $s6,$zero,0xf48 /* f09e7e4: 13000003 */ beqz $t8,.L0f09e7f4 /* f09e7e8: 00000000 */ nop /* f09e7ec: 10000001 */ b .L0f09e7f4 /* f09e7f0: 00c02825 */ or $a1,$a2,$zero .L0f09e7f4: /* f09e7f4: 8eb90070 */ lw $t9,0x70($s5) /* f09e7f8: 13200003 */ beqz $t9,.L0f09e808 /* f09e7fc: 00000000 */ nop /* f09e800: 10000001 */ b .L0f09e808 /* f09e804: 00c01025 */ or $v0,$a2,$zero .L0f09e808: /* f09e808: 00454021 */ addu $t0,$v0,$a1 /* f09e80c: 01044821 */ addu $t1,$t0,$a0 /* f09e810: 01275021 */ addu $t2,$t1,$a3 /* f09e814: 14ca0035 */ bne $a2,$t2,.L0f09e8ec .L0f09e818: /* f09e818: 02802025 */ or $a0,$s4,$zero /* f09e81c: 00008825 */ or $s1,$zero,$zero /* f09e820: 0fc2c40f */ jal gsetGetWeaponFunction2 /* f09e824: 2415ffff */ addiu $s5,$zero,-1 /* f09e828: 00408025 */ or $s0,$v0,$zero /* f09e82c: 0fc2c3f4 */ jal weaponFindById /* f09e830: 82441580 */ lb $a0,0x1580($s2) /* f09e834: 12000029 */ beqz $s0,.L0f09e8dc /* f09e838: 24060001 */ addiu $a2,$zero,0x1 /* f09e83c: 8e0b0000 */ lw $t3,0x0($s0) /* f09e840: 316c00ff */ andi $t4,$t3,0xff /* f09e844: 14cc0002 */ bne $a2,$t4,.L0f09e850 /* f09e848: 00000000 */ nop /* f09e84c: 02008825 */ or $s1,$s0,$zero .L0f09e850: /* f09e850: 1040000d */ beqz $v0,.L0f09e888 /* f09e854: 00000000 */ nop /* f09e858: 1220000b */ beqz $s1,.L0f09e888 /* f09e85c: 00000000 */ nop /* f09e860: 82040007 */ lb $a0,0x7($s0) /* f09e864: 00001825 */ or $v1,$zero,$zero /* f09e868: 04800004 */ bltz $a0,.L0f09e87c /* f09e86c: 00046880 */ sll $t5,$a0,0x2 /* f09e870: 004d7021 */ addu $t6,$v0,$t5 /* f09e874: 10000001 */ b .L0f09e87c /* f09e878: 8dc3001c */ lw $v1,0x1c($t6) .L0f09e87c: /* f09e87c: 10600002 */ beqz $v1,.L0f09e888 /* f09e880: 00000000 */ nop /* f09e884: 8c750004 */ lw $s5,0x4($v1) .L0f09e888: /* f09e888: 06a20015 */ bltzl $s5,.L0f09e8e0 /* f09e88c: 267307a4 */ addiu $s3,$s3,0x7a4 /* f09e890: 8e4f1598 */ lw $t7,0x1598($s2) /* f09e894: 0015c040 */ sll $t8,$s5,0x1 /* f09e898: 3c138007 */ lui $s3,%hi(var800700b0) /* f09e89c: 15e0000d */ bnez $t7,.L0f09e8d4 /* f09e8a0: 02789821 */ addu $s3,$s3,$t8 /* f09e8a4: 967300b0 */ lhu $s3,%lo(var800700b0)($s3) /* f09e8a8: 24190001 */ addiu $t9,$zero,0x1 /* f09e8ac: 26481598 */ addiu $t0,$s2,0x1598 /* f09e8b0: 264915a8 */ addiu $t1,$s2,0x15a8 /* f09e8b4: 264a15ac */ addiu $t2,$s2,0x15ac /* f09e8b8: a25915b1 */ sb $t9,0x15b1($s2) /* f09e8bc: ae4815b4 */ sw $t0,0x15b4($s2) /* f09e8c0: ae4915b8 */ sw $t1,0x15b8($s2) /* f09e8c4: ae4a15bc */ sw $t2,0x15bc($s2) /* f09e8c8: 332300ff */ andi $v1,$t9,0xff /* f09e8cc: 10000007 */ b .L0f09e8ec /* f09e8d0: a65315b2 */ sh $s3,0x15b2($s2) .L0f09e8d4: /* f09e8d4: 10000005 */ b .L0f09e8ec /* f09e8d8: 924315b1 */ lbu $v1,0x15b1($s2) .L0f09e8dc: /* f09e8dc: 267307a4 */ addiu $s3,$s3,1956 .L0f09e8e0: /* f09e8e0: 1676ffcd */ bne $s3,$s6,.L0f09e818 /* f09e8e4: 269407a4 */ addiu $s4,$s4,0x7a4 /* f09e8e8: 924315b1 */ lbu $v1,0x15b1($s2) .L0f09e8ec: /* f09e8ec: 10600005 */ beqz $v1,.L0f09e904 /* f09e8f0: 00008825 */ or $s1,$zero,$zero /* f09e8f4: 0fc27851 */ jal bgun0f09e144 /* f09e8f8: 00000000 */ nop /* f09e8fc: 1000005b */ b .L0f09ea6c /* f09e900: 8fbf0034 */ lw $ra,0x34($sp) .L0f09e904: /* f09e904: 26500638 */ addiu $s0,$s2,0x638 /* f09e908: 26160384 */ addiu $s6,$s0,0x384 /* f09e90c: 00009825 */ or $s3,$zero,$zero /* f09e910: 265409bc */ addiu $s4,$s2,0x9bc /* f09e914: 26550a6c */ addiu $s5,$s2,0xa6c .L0f09e918: /* f09e918: 02802025 */ or $a0,$s4,$zero /* f09e91c: 8e451590 */ lw $a1,0x1590($s2) /* f09e920: 02a03025 */ or $a2,$s5,$zero /* f09e924: 0c008be9 */ jal modelInit /* f09e928: 00003825 */ or $a3,$zero,$zero /* f09e92c: 8e451594 */ lw $a1,0x1594($s2) /* f09e930: 26040534 */ addiu $a0,$s0,0x534 /* f09e934: 260604b4 */ addiu $a2,$s0,0x4b4 /* f09e938: 50a00004 */ beqzl $a1,.L0f09e94c /* f09e93c: 8e4b15a8 */ lw $t3,0x15a8($s2) /* f09e940: 0c008be9 */ jal modelInit /* f09e944: 00003825 */ or $a3,$zero,$zero /* f09e948: 8e4b15a8 */ lw $t3,0x15a8($s2) .L0f09e94c: /* f09e94c: 02c02025 */ or $a0,$s6,$zero /* f09e950: ae0b0794 */ sw $t3,0x794($s0) /* f09e954: 8e4c1590 */ lw $t4,0x1590($s2) /* f09e958: 8e4615a8 */ lw $a2,0x15a8($s2) /* f09e95c: 0fc28ba5 */ jal bgun0f0a2e94 /* f09e960: 8d850000 */ lw $a1,0x0($t4) /* f09e964: 8e4d15a8 */ lw $t5,0x15a8($s2) /* f09e968: 8e4f15ac */ lw $t7,0x15ac($s2) /* f09e96c: 8e591594 */ lw $t9,0x1594($s2) /* f09e970: 01a27021 */ addu $t6,$t5,$v0 /* f09e974: 01e2c023 */ subu $t8,$t7,$v0 /* f09e978: 02228821 */ addu $s1,$s1,$v0 /* f09e97c: ae4e15a8 */ sw $t6,0x15a8($s2) /* f09e980: 1320000e */ beqz $t9,.L0f09e9bc /* f09e984: ae5815ac */ sw $t8,0x15ac($s2) /* f09e988: ae0e0798 */ sw $t6,0x798($s0) /* f09e98c: 8e491594 */ lw $t1,0x1594($s2) /* f09e990: 8e4615a8 */ lw $a2,0x15a8($s2) /* f09e994: 26040534 */ addiu $a0,$s0,0x534 /* f09e998: 0fc28ba5 */ jal bgun0f0a2e94 /* f09e99c: 8d250000 */ lw $a1,0x0($t1) /* f09e9a0: 8e4a15a8 */ lw $t2,0x15a8($s2) /* f09e9a4: 8e4c15ac */ lw $t4,0x15ac($s2) /* f09e9a8: 02228821 */ addu $s1,$s1,$v0 /* f09e9ac: 01425821 */ addu $t3,$t2,$v0 /* f09e9b0: 01826823 */ subu $t5,$t4,$v0 /* f09e9b4: ae4b15a8 */ sw $t3,0x15a8($s2) /* f09e9b8: ae4d15ac */ sw $t5,0x15ac($s2) .L0f09e9bc: /* f09e9bc: 267307a4 */ addiu $s3,$s3,0x7a4 /* f09e9c0: 24010f48 */ addiu $at,$zero,0xf48 /* f09e9c4: 261007a4 */ addiu $s0,$s0,0x7a4 /* f09e9c8: 269407a4 */ addiu $s4,$s4,0x7a4 /* f09e9cc: 26b507a4 */ addiu $s5,$s5,0x7a4 /* f09e9d0: 1661ffd1 */ bne $s3,$at,.L0f09e918 /* f09e9d4: 26d607a4 */ addiu $s6,$s6,0x7a4 /* f09e9d8: 8e4e15ac */ lw $t6,0x15ac($s2) /* f09e9dc: 2410ffff */ addiu $s0,$zero,-1 /* f09e9e0: ae500dd4 */ sw $s0,0xdd4($s2) /* f09e9e4: 2dc10c81 */ sltiu $at,$t6,0xc81 /* f09e9e8: 5420000b */ bnezl $at,.L0f09ea18 /* f09e9ec: ae400dd8 */ sw $zero,0xdd8($s2) /* f09e9f0: 8e5815a8 */ lw $t8,0x15a8($s2) /* f09e9f4: 8e4815ac */ lw $t0,0x15ac($s2) /* f09e9f8: 8e4f15a8 */ lw $t7,0x15a8($s2) /* f09e9fc: 27190c80 */ addiu $t9,$t8,0xc80 /* f09ea00: 2509f380 */ addiu $t1,$t0,-3200 /* f09ea04: ae5915a8 */ sw $t9,0x15a8($s2) /* f09ea08: ae4915ac */ sw $t1,0x15ac($s2) /* f09ea0c: 10000002 */ b .L0f09ea18 /* f09ea10: ae4f0dd8 */ sw $t7,0xdd8($s2) /* f09ea14: ae400dd8 */ sw $zero,0xdd8($s2) .L0f09ea18: /* f09ea18: 0fc2777f */ jal bgun0f09ddfc /* f09ea1c: 00000000 */ nop /* f09ea20: 240a0004 */ addiu $t2,$zero,0x4 /* f09ea24: a24a15b0 */ sb $t2,0x15b0($s2) /* f09ea28: 8fab00a4 */ lw $t3,0xa4($sp) /* f09ea2c: ae501584 */ sw $s0,0x1584($s2) /* f09ea30: 1000000d */ b .L0f09ea68 /* f09ea34: ae4b1588 */ sw $t3,0x1588($s2) .L0f09ea38: /* f09ea38: 2410ffff */ addiu $s0,$zero,-1 /* f09ea3c: 240c0004 */ addiu $t4,$zero,0x4 /* f09ea40: a24c15b0 */ sb $t4,0x15b0($s2) /* f09ea44: ae441588 */ sw $a0,0x1588($s2) /* f09ea48: 10000007 */ b .L0f09ea68 /* f09ea4c: ae501584 */ sw $s0,0x1584($s2) .L0f09ea50: /* f09ea50: a24d15eb */ sb $t5,0x15eb($s2) /* f09ea54: 824e15eb */ lb $t6,0x15eb($s2) /* f09ea58: 29c1fffe */ slti $at,$t6,-2 /* f09ea5c: 50200003 */ beqzl $at,.L0f09ea6c /* f09ea60: 8fbf0034 */ lw $ra,0x34($sp) /* f09ea64: a24015eb */ sb $zero,0x15eb($s2) .L0f09ea68: /* f09ea68: 8fbf0034 */ lw $ra,0x34($sp) .L0f09ea6c: /* f09ea6c: 8fb00018 */ lw $s0,0x18($sp) /* f09ea70: 8fb1001c */ lw $s1,0x1c($sp) /* f09ea74: 8fb20020 */ lw $s2,0x20($sp) /* f09ea78: 8fb30024 */ lw $s3,0x24($sp) /* f09ea7c: 8fb40028 */ lw $s4,0x28($sp) /* f09ea80: 8fb5002c */ lw $s5,0x2c($sp) /* f09ea84: 8fb60030 */ lw $s6,0x30($sp) /* f09ea88: 03e00008 */ jr $ra /* f09ea8c: 27bd00a8 */ addiu $sp,$sp,0xa8 ); #else GLOBAL_ASM( glabel bgun0f09e4e0 /* f09c38c: 27bdff58 */ addiu $sp,$sp,-168 /* f09c390: afb5002c */ sw $s5,0x2c($sp) /* f09c394: 3c15800a */ lui $s5,0x800a /* f09c398: 26b5e6c0 */ addiu $s5,$s5,-6464 /* f09c39c: afb20020 */ sw $s2,0x20($sp) /* f09c3a0: 8eb20284 */ lw $s2,0x284($s5) /* f09c3a4: afbf0034 */ sw $ra,0x34($sp) /* f09c3a8: afb60030 */ sw $s6,0x30($sp) /* f09c3ac: afb40028 */ sw $s4,0x28($sp) /* f09c3b0: afb30024 */ sw $s3,0x24($sp) /* f09c3b4: afb1001c */ sw $s1,0x1c($sp) /* f09c3b8: afb00018 */ sw $s0,0x18($sp) /* f09c3bc: 924e15ea */ lbu $t6,0x15ea($s2) /* f09c3c0: 51c00006 */ beqzl $t6,.NB0f09c3dc /* f09c3c4: 8e421584 */ lw $v0,0x1584($s2) /* f09c3c8: 0fc26fc8 */ jal bgun0f09e004 /* f09c3cc: 00002025 */ or $a0,$zero,$zero /* f09c3d0: 5040014b */ beqzl $v0,.NB0f09c900 /* f09c3d4: 8fbf0034 */ lw $ra,0x34($sp) /* f09c3d8: 8e421584 */ lw $v0,0x1584($s2) .NB0f09c3dc: /* f09c3dc: 04420148 */ bltzl $v0,.NB0f09c900 /* f09c3e0: 8fbf0034 */ lw $ra,0x34($sp) /* f09c3e4: 824315eb */ lb $v1,0x15eb($s2) /* f09c3e8: 27a40068 */ addiu $a0,$sp,0x68 /* f09c3ec: 27a50064 */ addiu $a1,$sp,0x64 /* f09c3f0: 1460013c */ bnez $v1,.NB0f09c8e4 /* f09c3f4: 246dffff */ addiu $t5,$v1,-1 /* f09c3f8: afa200a4 */ sw $v0,0xa4($sp) /* f09c3fc: 0fc2d911 */ jal currentPlayerChooseBodyAndHead /* f09c400: 00003025 */ or $a2,$zero,$zero /* f09c404: 8faf0068 */ lw $t7,0x68($sp) /* f09c408: 3c198009 */ lui $t9,0x8009 /* f09c40c: 933930e0 */ lbu $t9,0x30e0($t9) /* f09c410: 000fc080 */ sll $t8,$t7,0x2 /* f09c414: 030fc021 */ addu $t8,$t8,$t7 /* f09c418: 0018c080 */ sll $t8,$t8,0x2 /* f09c41c: 3c118008 */ lui $s1,0x8008 /* f09c420: 24060001 */ addiu $a2,$zero,0x1 /* f09c424: 02388821 */ addu $s1,$s1,$t8 /* f09c428: 14d90002 */ bne $a2,$t9,.NB0f09c434 /* f09c42c: 9631f774 */ lhu $s1,-0x88c($s1) /* f09c430: 241104e5 */ addiu $s1,$zero,0x4e5 .NB0f09c434: /* f09c434: 0fc2bdde */ jal weaponGetModelNum /* f09c438: 8fa400a4 */ lw $a0,0xa4($sp) /* f09c43c: 924815b0 */ lbu $t0,0x15b0($s2) /* f09c440: 24140004 */ addiu $s4,$zero,0x4 /* f09c444: 3053ffff */ andi $s3,$v0,0xffff /* f09c448: 16880003 */ bne $s4,$t0,.NB0f09c458 /* f09c44c: 8fa900a4 */ lw $t1,0xa4($sp) /* f09c450: 8e4a1588 */ lw $t2,0x1588($s2) /* f09c454: 112a0129 */ beq $t1,$t2,.NB0f09c8fc .NB0f09c458: /* f09c458: 304bffff */ andi $t3,$v0,0xffff /* f09c45c: 11600127 */ beqz $t3,.NB0f09c8fc /* f09c460: 00008025 */ or $s0,$zero,$zero /* f09c464: 8fa400a4 */ lw $a0,0xa4($sp) /* f09c468: 0fc2bd48 */ jal weaponHasFlag /* f09c46c: 3c050002 */ lui $a1,0x2 /* f09c470: 10400002 */ beqz $v0,.NB0f09c47c /* f09c474: 24060001 */ addiu $a2,$zero,0x1 /* f09c478: 00c08025 */ or $s0,$a2,$zero .NB0f09c47c: /* f09c47c: 8fac00a4 */ lw $t4,0xa4($sp) /* f09c480: 3c05800a */ lui $a1,0x800a /* f09c484: 24a51cf0 */ addiu $a1,$a1,0x1cf0 /* f09c488: 15860004 */ bne $t4,$a2,.NB0f09c49c /* f09c48c: 3c03800a */ lui $v1,0x800a /* f09c490: 3233ffff */ andi $s3,$s1,0xffff /* f09c494: 00008825 */ or $s1,$zero,$zero /* f09c498: 00008025 */ or $s0,$zero,$zero .NB0f09c49c: /* f09c49c: 924215b0 */ lbu $v0,0x15b0($s2) /* f09c4a0: 3c048007 */ lui $a0,0x8007 /* f09c4a4: 24632240 */ addiu $v1,$v1,0x2240 /* f09c4a8: 14400019 */ bnez $v0,.NB0f09c510 /* f09c4ac: 24842be4 */ addiu $a0,$a0,0x2be4 /* f09c4b0: 00a01025 */ or $v0,$a1,$zero /* f09c4b4: 8e4d1598 */ lw $t5,0x1598($s2) .NB0f09c4b8: /* f09c4b8: 8c4e0040 */ lw $t6,0x40($v0) /* f09c4bc: 55ae0003 */ bnel $t5,$t6,.NB0f09c4cc /* f09c4c0: 24420044 */ addiu $v0,$v0,0x44 /* f09c4c4: ac400040 */ sw $zero,0x40($v0) /* f09c4c8: 24420044 */ addiu $v0,$v0,0x44 .NB0f09c4cc: /* f09c4cc: 0043082b */ sltu $at,$v0,$v1 /* f09c4d0: 5420fff9 */ bnezl $at,.NB0f09c4b8 /* f09c4d4: 8e4d1598 */ lw $t5,0x1598($s2) /* f09c4d8: ac800000 */ sw $zero,0x0($a0) /* f09c4dc: 00a01025 */ or $v0,$a1,$zero /* f09c4e0: 8c4f0040 */ lw $t7,0x40($v0) .NB0f09c4e4: /* f09c4e4: 24420044 */ addiu $v0,$v0,0x44 /* f09c4e8: 0043082b */ sltu $at,$v0,$v1 /* f09c4ec: 11e00002 */ beqz $t7,.NB0f09c4f8 /* f09c4f0: 00000000 */ sll $zero,$zero,0x0 /* f09c4f4: ac860000 */ sw $a2,0x0($a0) .NB0f09c4f8: /* f09c4f8: 5420fffa */ bnezl $at,.NB0f09c4e4 /* f09c4fc: 8c4f0040 */ lw $t7,0x40($v0) /* f09c500: 24180001 */ addiu $t8,$zero,0x1 /* f09c504: ae401598 */ sw $zero,0x1598($s2) /* f09c508: 100000fc */ beqz $zero,.NB0f09c8fc /* f09c50c: a25815b0 */ sb $t8,0x15b0($s2) .NB0f09c510: /* f09c510: 14c20028 */ bne $a2,$v0,.NB0f09c5b4 /* f09c514: 24010002 */ addiu $at,$zero,0x2 /* f09c518: 5200001d */ beqzl $s0,.NB0f09c590 /* f09c51c: a640159c */ sh $zero,0x159c($s2) /* f09c520: 9659159c */ lhu $t9,0x159c($s2) /* f09c524: 53310020 */ beql $t9,$s1,.NB0f09c5a8 /* f09c528: 240e0002 */ addiu $t6,$zero,0x2 /* f09c52c: 924815b1 */ lbu $t0,0x15b1($s2) /* f09c530: 1500000f */ bnez $t0,.NB0f09c570 /* f09c534: 00000000 */ sll $zero,$zero,0x0 /* f09c538: 0fc26f42 */ jal bgun0f09ddec /* f09c53c: 00000000 */ sll $zero,$zero,0x0 /* f09c540: 0fc26f46 */ jal bgun0f09ddfc /* f09c544: ae4215a0 */ sw $v0,0x15a0($s2) /* f09c548: 24090001 */ addiu $t1,$zero,0x1 /* f09c54c: 264a1594 */ addiu $t2,$s2,0x1594 /* f09c550: 264b15a0 */ addiu $t3,$s2,0x15a0 /* f09c554: 264c15a4 */ addiu $t4,$s2,0x15a4 /* f09c558: ae4215a4 */ sw $v0,0x15a4($s2) /* f09c55c: a24915b1 */ sb $t1,0x15b1($s2) /* f09c560: a65115b2 */ sh $s1,0x15b2($s2) /* f09c564: ae4a15b4 */ sw $t2,0x15b4($s2) /* f09c568: ae4b15b8 */ sw $t3,0x15b8($s2) /* f09c56c: ae4c15bc */ sw $t4,0x15bc($s2) .NB0f09c570: /* f09c570: 0fc27018 */ jal bgun0f09e144 /* f09c574: 00000000 */ sll $zero,$zero,0x0 /* f09c578: 924d15b1 */ lbu $t5,0x15b1($s2) /* f09c57c: 568d00e0 */ bnel $s4,$t5,.NB0f09c900 /* f09c580: 8fbf0034 */ lw $ra,0x34($sp) /* f09c584: 10000007 */ beqz $zero,.NB0f09c5a4 /* f09c588: a651159c */ sh $s1,0x159c($s2) /* f09c58c: a640159c */ sh $zero,0x159c($s2) .NB0f09c590: /* f09c590: 0fc26f42 */ jal bgun0f09ddec /* f09c594: ae401594 */ sw $zero,0x1594($s2) /* f09c598: 0fc26f46 */ jal bgun0f09ddfc /* f09c59c: ae4215a0 */ sw $v0,0x15a0($s2) /* f09c5a0: ae4215a4 */ sw $v0,0x15a4($s2) .NB0f09c5a4: /* f09c5a4: 240e0002 */ addiu $t6,$zero,0x2 .NB0f09c5a8: /* f09c5a8: a24e15b0 */ sb $t6,0x15b0($s2) /* f09c5ac: 100000d3 */ beqz $zero,.NB0f09c8fc /* f09c5b0: a24015b1 */ sb $zero,0x15b1($s2) .NB0f09c5b4: /* f09c5b4: 5441001a */ bnel $v0,$at,.NB0f09c620 /* f09c5b8: 24010003 */ addiu $at,$zero,0x3 /* f09c5bc: 924f15b1 */ lbu $t7,0x15b1($s2) /* f09c5c0: 24080001 */ addiu $t0,$zero,0x1 /* f09c5c4: 26491590 */ addiu $t1,$s2,0x1590 /* f09c5c8: 15e0000b */ bnez $t7,.NB0f09c5f8 /* f09c5cc: 264a15a8 */ addiu $t2,$s2,0x15a8 /* f09c5d0: 8e5815a0 */ lw $t8,0x15a0($s2) /* f09c5d4: 8e5915a4 */ lw $t9,0x15a4($s2) /* f09c5d8: 264b15ac */ addiu $t3,$s2,0x15ac /* f09c5dc: a24815b1 */ sb $t0,0x15b1($s2) /* f09c5e0: a65315b2 */ sh $s3,0x15b2($s2) /* f09c5e4: ae4915b4 */ sw $t1,0x15b4($s2) /* f09c5e8: ae4a15b8 */ sw $t2,0x15b8($s2) /* f09c5ec: ae4b15bc */ sw $t3,0x15bc($s2) /* f09c5f0: ae5815a8 */ sw $t8,0x15a8($s2) /* f09c5f4: ae5915ac */ sw $t9,0x15ac($s2) .NB0f09c5f8: /* f09c5f8: 0fc27018 */ jal bgun0f09e144 /* f09c5fc: 00000000 */ sll $zero,$zero,0x0 /* f09c600: 924c15b1 */ lbu $t4,0x15b1($s2) /* f09c604: 240d0003 */ addiu $t5,$zero,0x3 /* f09c608: 568c00bd */ bnel $s4,$t4,.NB0f09c900 /* f09c60c: 8fbf0034 */ lw $ra,0x34($sp) /* f09c610: a24d15b0 */ sb $t5,0x15b0($s2) /* f09c614: 100000b9 */ beqz $zero,.NB0f09c8fc /* f09c618: a24015b1 */ sb $zero,0x15b1($s2) /* f09c61c: 24010003 */ addiu $at,$zero,0x3 .NB0f09c620: /* f09c620: 544100b7 */ bnel $v0,$at,.NB0f09c900 /* f09c624: 8fbf0034 */ lw $ra,0x34($sp) /* f09c628: 924315b1 */ lbu $v1,0x15b1($s2) /* f09c62c: 16830003 */ bne $s4,$v1,.NB0f09c63c /* f09c630: 00000000 */ sll $zero,$zero,0x0 /* f09c634: a24015b1 */ sb $zero,0x15b1($s2) /* f09c638: 300300ff */ andi $v1,$zero,0xff .NB0f09c63c: /* f09c63c: 14600056 */ bnez $v1,.NB0f09c798 /* f09c640: 00000000 */ sll $zero,$zero,0x0 /* f09c644: 8e4e1598 */ lw $t6,0x1598($s2) /* f09c648: 15c00053 */ bnez $t6,.NB0f09c798 /* f09c64c: 00000000 */ sll $zero,$zero,0x0 /* f09c650: 8eaf006c */ lw $t7,0x6c($s5) /* f09c654: 00003825 */ or $a3,$zero,$zero /* f09c658: 00002025 */ or $a0,$zero,$zero /* f09c65c: 11e00003 */ beqz $t7,.NB0f09c66c /* f09c660: 00002825 */ or $a1,$zero,$zero /* f09c664: 10000001 */ beqz $zero,.NB0f09c66c /* f09c668: 00c03825 */ or $a3,$a2,$zero .NB0f09c66c: /* f09c66c: 8eb80068 */ lw $t8,0x68($s5) /* f09c670: 00001025 */ or $v0,$zero,$zero /* f09c674: 00009825 */ or $s3,$zero,$zero /* f09c678: 13000003 */ beqz $t8,.NB0f09c688 /* f09c67c: 26540638 */ addiu $s4,$s2,0x638 /* f09c680: 10000001 */ beqz $zero,.NB0f09c688 /* f09c684: 00c02025 */ or $a0,$a2,$zero .NB0f09c688: /* f09c688: 8eb90064 */ lw $t9,0x64($s5) /* f09c68c: 24160f48 */ addiu $s6,$zero,0xf48 /* f09c690: 13200003 */ beqz $t9,.NB0f09c6a0 /* f09c694: 00000000 */ sll $zero,$zero,0x0 /* f09c698: 10000001 */ beqz $zero,.NB0f09c6a0 /* f09c69c: 00c02825 */ or $a1,$a2,$zero .NB0f09c6a0: /* f09c6a0: 8ea80070 */ lw $t0,0x70($s5) /* f09c6a4: 11000003 */ beqz $t0,.NB0f09c6b4 /* f09c6a8: 00000000 */ sll $zero,$zero,0x0 /* f09c6ac: 10000001 */ beqz $zero,.NB0f09c6b4 /* f09c6b0: 00c01025 */ or $v0,$a2,$zero .NB0f09c6b4: /* f09c6b4: 00454821 */ addu $t1,$v0,$a1 /* f09c6b8: 01245021 */ addu $t2,$t1,$a0 /* f09c6bc: 01475821 */ addu $t3,$t2,$a3 /* f09c6c0: 14cb0035 */ bne $a2,$t3,.NB0f09c798 .NB0f09c6c4: /* f09c6c4: 02802025 */ or $a0,$s4,$zero /* f09c6c8: 00008825 */ or $s1,$zero,$zero /* f09c6cc: 0fc2bb67 */ jal gsetGetWeaponFunction2 /* f09c6d0: 2415ffff */ addiu $s5,$zero,-1 /* f09c6d4: 00408025 */ or $s0,$v0,$zero /* f09c6d8: 0fc2bb4c */ jal weaponFindById /* f09c6dc: 82441580 */ lb $a0,0x1580($s2) /* f09c6e0: 12000029 */ beqz $s0,.NB0f09c788 /* f09c6e4: 24060001 */ addiu $a2,$zero,0x1 /* f09c6e8: 8e0c0000 */ lw $t4,0x0($s0) /* f09c6ec: 318d00ff */ andi $t5,$t4,0xff /* f09c6f0: 14cd0002 */ bne $a2,$t5,.NB0f09c6fc /* f09c6f4: 00000000 */ sll $zero,$zero,0x0 /* f09c6f8: 02008825 */ or $s1,$s0,$zero .NB0f09c6fc: /* f09c6fc: 1040000d */ beqz $v0,.NB0f09c734 /* f09c700: 00000000 */ sll $zero,$zero,0x0 /* f09c704: 1220000b */ beqz $s1,.NB0f09c734 /* f09c708: 00000000 */ sll $zero,$zero,0x0 /* f09c70c: 82040007 */ lb $a0,0x7($s0) /* f09c710: 00001825 */ or $v1,$zero,$zero /* f09c714: 04800004 */ bltz $a0,.NB0f09c728 /* f09c718: 00047080 */ sll $t6,$a0,0x2 /* f09c71c: 004e7821 */ addu $t7,$v0,$t6 /* f09c720: 10000001 */ beqz $zero,.NB0f09c728 /* f09c724: 8de3001c */ lw $v1,0x1c($t7) .NB0f09c728: /* f09c728: 10600002 */ beqz $v1,.NB0f09c734 /* f09c72c: 00000000 */ sll $zero,$zero,0x0 /* f09c730: 8c750004 */ lw $s5,0x4($v1) .NB0f09c734: /* f09c734: 06a20015 */ bltzl $s5,.NB0f09c78c /* f09c738: 267307a4 */ addiu $s3,$s3,0x7a4 /* f09c73c: 8e581598 */ lw $t8,0x1598($s2) /* f09c740: 0015c840 */ sll $t9,$s5,0x1 /* f09c744: 3c138007 */ lui $s3,0x8007 /* f09c748: 1700000d */ bnez $t8,.NB0f09c780 /* f09c74c: 02799821 */ addu $s3,$s3,$t9 /* f09c750: 96732770 */ lhu $s3,0x2770($s3) /* f09c754: 24080001 */ addiu $t0,$zero,0x1 /* f09c758: 26491598 */ addiu $t1,$s2,0x1598 /* f09c75c: 264a15a8 */ addiu $t2,$s2,0x15a8 /* f09c760: 264b15ac */ addiu $t3,$s2,0x15ac /* f09c764: a24815b1 */ sb $t0,0x15b1($s2) /* f09c768: ae4915b4 */ sw $t1,0x15b4($s2) /* f09c76c: ae4a15b8 */ sw $t2,0x15b8($s2) /* f09c770: ae4b15bc */ sw $t3,0x15bc($s2) /* f09c774: 310300ff */ andi $v1,$t0,0xff /* f09c778: 10000007 */ beqz $zero,.NB0f09c798 /* f09c77c: a65315b2 */ sh $s3,0x15b2($s2) .NB0f09c780: /* f09c780: 10000005 */ beqz $zero,.NB0f09c798 /* f09c784: 924315b1 */ lbu $v1,0x15b1($s2) .NB0f09c788: /* f09c788: 267307a4 */ addiu $s3,$s3,0x7a4 .NB0f09c78c: /* f09c78c: 1676ffcd */ bne $s3,$s6,.NB0f09c6c4 /* f09c790: 269407a4 */ addiu $s4,$s4,0x7a4 /* f09c794: 924315b1 */ lbu $v1,0x15b1($s2) .NB0f09c798: /* f09c798: 10600005 */ beqz $v1,.NB0f09c7b0 /* f09c79c: 00008825 */ or $s1,$zero,$zero /* f09c7a0: 0fc27018 */ jal bgun0f09e144 /* f09c7a4: 00000000 */ sll $zero,$zero,0x0 /* f09c7a8: 10000055 */ beqz $zero,.NB0f09c900 /* f09c7ac: 8fbf0034 */ lw $ra,0x34($sp) .NB0f09c7b0: /* f09c7b0: 26500638 */ addiu $s0,$s2,0x638 /* f09c7b4: 26160384 */ addiu $s6,$s0,0x384 /* f09c7b8: 00009825 */ or $s3,$zero,$zero /* f09c7bc: 265409bc */ addiu $s4,$s2,0x9bc /* f09c7c0: 26550a6c */ addiu $s5,$s2,0xa6c .NB0f09c7c4: /* f09c7c4: 02802025 */ or $a0,$s4,$zero /* f09c7c8: 8e451590 */ lw $a1,0x1590($s2) /* f09c7cc: 02a03025 */ or $a2,$s5,$zero /* f09c7d0: 0c00900f */ jal modelInit /* f09c7d4: 00003825 */ or $a3,$zero,$zero /* f09c7d8: 8e451594 */ lw $a1,0x1594($s2) /* f09c7dc: 26040534 */ addiu $a0,$s0,0x534 /* f09c7e0: 260604b4 */ addiu $a2,$s0,0x4b4 /* f09c7e4: 50a00004 */ beqzl $a1,.NB0f09c7f8 /* f09c7e8: 8e4c15a8 */ lw $t4,0x15a8($s2) /* f09c7ec: 0c00900f */ jal modelInit /* f09c7f0: 00003825 */ or $a3,$zero,$zero /* f09c7f4: 8e4c15a8 */ lw $t4,0x15a8($s2) .NB0f09c7f8: /* f09c7f8: 02c02025 */ or $a0,$s6,$zero /* f09c7fc: ae0c0794 */ sw $t4,0x794($s0) /* f09c800: 8e4d1590 */ lw $t5,0x1590($s2) /* f09c804: 8e4615a8 */ lw $a2,0x15a8($s2) /* f09c808: 0fc282e3 */ jal bgun0f0a2e94 /* f09c80c: 8da50000 */ lw $a1,0x0($t5) /* f09c810: 8e4e15a8 */ lw $t6,0x15a8($s2) /* f09c814: 8e5815ac */ lw $t8,0x15ac($s2) /* f09c818: 8e481594 */ lw $t0,0x1594($s2) /* f09c81c: 01c27821 */ addu $t7,$t6,$v0 /* f09c820: 0302c823 */ subu $t9,$t8,$v0 /* f09c824: 02228821 */ addu $s1,$s1,$v0 /* f09c828: ae4f15a8 */ sw $t7,0x15a8($s2) /* f09c82c: 1100000e */ beqz $t0,.NB0f09c868 /* f09c830: ae5915ac */ sw $t9,0x15ac($s2) /* f09c834: ae0f0798 */ sw $t7,0x798($s0) /* f09c838: 8e4a1594 */ lw $t2,0x1594($s2) /* f09c83c: 8e4615a8 */ lw $a2,0x15a8($s2) /* f09c840: 26040534 */ addiu $a0,$s0,0x534 /* f09c844: 0fc282e3 */ jal bgun0f0a2e94 /* f09c848: 8d450000 */ lw $a1,0x0($t2) /* f09c84c: 8e4b15a8 */ lw $t3,0x15a8($s2) /* f09c850: 8e4d15ac */ lw $t5,0x15ac($s2) /* f09c854: 02228821 */ addu $s1,$s1,$v0 /* f09c858: 01626021 */ addu $t4,$t3,$v0 /* f09c85c: 01a27023 */ subu $t6,$t5,$v0 /* f09c860: ae4c15a8 */ sw $t4,0x15a8($s2) /* f09c864: ae4e15ac */ sw $t6,0x15ac($s2) .NB0f09c868: /* f09c868: 267307a4 */ addiu $s3,$s3,0x7a4 /* f09c86c: 24010f48 */ addiu $at,$zero,0xf48 /* f09c870: 261007a4 */ addiu $s0,$s0,0x7a4 /* f09c874: 269407a4 */ addiu $s4,$s4,0x7a4 /* f09c878: 26b507a4 */ addiu $s5,$s5,0x7a4 /* f09c87c: 1661ffd1 */ bne $s3,$at,.NB0f09c7c4 /* f09c880: 26d607a4 */ addiu $s6,$s6,0x7a4 /* f09c884: 8e4f15ac */ lw $t7,0x15ac($s2) /* f09c888: 2410ffff */ addiu $s0,$zero,-1 /* f09c88c: ae500dd4 */ sw $s0,0xdd4($s2) /* f09c890: 2de10c81 */ sltiu $at,$t7,0xc81 /* f09c894: 5420000b */ bnezl $at,.NB0f09c8c4 /* f09c898: ae400dd8 */ sw $zero,0xdd8($s2) /* f09c89c: 8e5915a8 */ lw $t9,0x15a8($s2) /* f09c8a0: 8e4915ac */ lw $t1,0x15ac($s2) /* f09c8a4: 8e5815a8 */ lw $t8,0x15a8($s2) /* f09c8a8: 27280c80 */ addiu $t0,$t9,0xc80 /* f09c8ac: 252af380 */ addiu $t2,$t1,-3200 /* f09c8b0: ae4815a8 */ sw $t0,0x15a8($s2) /* f09c8b4: ae4a15ac */ sw $t2,0x15ac($s2) /* f09c8b8: 10000002 */ beqz $zero,.NB0f09c8c4 /* f09c8bc: ae580dd8 */ sw $t8,0xdd8($s2) /* f09c8c0: ae400dd8 */ sw $zero,0xdd8($s2) .NB0f09c8c4: /* f09c8c4: 0fc26f46 */ jal bgun0f09ddfc /* f09c8c8: 00000000 */ sll $zero,$zero,0x0 /* f09c8cc: 240b0004 */ addiu $t3,$zero,0x4 /* f09c8d0: a24b15b0 */ sb $t3,0x15b0($s2) /* f09c8d4: 8fac00a4 */ lw $t4,0xa4($sp) /* f09c8d8: ae501584 */ sw $s0,0x1584($s2) /* f09c8dc: 10000007 */ beqz $zero,.NB0f09c8fc /* f09c8e0: ae4c1588 */ sw $t4,0x1588($s2) .NB0f09c8e4: /* f09c8e4: a24d15eb */ sb $t5,0x15eb($s2) /* f09c8e8: 824e15eb */ lb $t6,0x15eb($s2) /* f09c8ec: 29c1fffe */ slti $at,$t6,-2 /* f09c8f0: 50200003 */ beqzl $at,.NB0f09c900 /* f09c8f4: 8fbf0034 */ lw $ra,0x34($sp) /* f09c8f8: a24015eb */ sb $zero,0x15eb($s2) .NB0f09c8fc: /* f09c8fc: 8fbf0034 */ lw $ra,0x34($sp) .NB0f09c900: /* f09c900: 8fb00018 */ lw $s0,0x18($sp) /* f09c904: 8fb1001c */ lw $s1,0x1c($sp) /* f09c908: 8fb20020 */ lw $s2,0x20($sp) /* f09c90c: 8fb30024 */ lw $s3,0x24($sp) /* f09c910: 8fb40028 */ lw $s4,0x28($sp) /* f09c914: 8fb5002c */ lw $s5,0x2c($sp) /* f09c918: 8fb60030 */ lw $s6,0x30($sp) /* f09c91c: 03e00008 */ jr $ra /* f09c920: 27bd00a8 */ addiu $sp,$sp,0xa8 ); #endif void bgun0f09ea90(void) { s32 i; for (i = 0; i < g_Vars.lvupdate240; i += 8) { bgun0f09e4e0(); } } bool bgun0f09eae4(void) { // PAL adds a check for the eyespy being used #if VERSION >= VERSION_PAL_FINAL if ((g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_EYESPY)) { g_Vars.currentplayer->gunctrl.unk1583_06 = false; return false; } #endif bgun0f09df9c(); if (g_Vars.currentplayer->gunctrl.weaponnum != WEAPON_NONE) { g_Vars.currentplayer->gunctrl.gunmemnew = g_Vars.currentplayer->gunctrl.weaponnum; } else { return false; } if (g_Vars.currentplayer->gunctrl.gunmemtype != -1) { return false; } if (g_Vars.currentplayer->gunctrl.gunmemowner) { bgun0f09e004(GUNMEMOWNER_0); if (g_Vars.currentplayer->gunctrl.gunmemowner) { g_Vars.lockscreen = true; return true; } } bgun0f09df9c(); do { bgun0f09e4e0(); } while (!bgun0f09dd7c()); g_Vars.currentplayer->gunctrl.unk1583_06 = false; return false; } s32 bgun0f09ebbc(void) { return g_Vars.currentplayer->gunctrl.unk1598; } void bgun0f09ebcc(struct defaultobj *obj, struct coord *coord, s16 *rooms, Mtxf *matrix1, f32 *arg4, Mtxf *matrix2, struct prop *prop, struct coord *pos) { struct prop *objprop = obj->prop; if (objprop) { propActivate(objprop); propEnable(objprop); func00015f04(obj->model->scale, matrix1); func0f06a580(obj, coord, matrix1, rooms); if (obj->type == OBJTYPE_WEAPON && ((struct weaponobj *) obj)->weaponnum == WEAPON_BOLT) { s32 value = func0f0aec54(objprop); if (value == -1) { value = func0f0aeca8(objprop); } if (value != -1) { func0f0aed3c(value, pos); func0f0aed70(value, pos); } } func0f0685e4(objprop); if (obj->hidden & OBJHFLAG_AIRBORNE) { obj->projectile->flags |= PROJECTILEFLAG_00000001; obj->projectile->ownerprop = prop; objSetProjectileFlag4(objprop); func00015d18(matrix2, (Mtxf *)&obj->projectile->unk020); obj->projectile->unk004.x = arg4[0]; obj->projectile->unk004.y = arg4[1]; obj->projectile->unk004.z = arg4[2]; obj->projectile->obj = obj; obj->projectile->unk0d8 = g_Vars.lvframenum; } } } void bgun0f09ed2c(struct defaultobj *obj, struct coord *newpos, Mtxf *arg2, f32 *arg3, Mtxf *arg4) { struct prop *objprop = obj->prop; struct coord pos; s16 rooms[8]; if (objprop) { struct prop *playerprop = g_Vars.currentplayer->prop; pos.x = playerprop->pos.x; pos.y = playerprop->pos.y; pos.z = playerprop->pos.z; roomsCopy(playerprop->rooms, rooms); bgun0f09ebcc(obj, &pos, rooms, arg2, arg3, arg4, playerprop, newpos); if (obj->hidden & OBJHFLAG_AIRBORNE) { obj->projectile->flags |= PROJECTILEFLAG_00000080; obj->projectile->pos.x = newpos->x; obj->projectile->pos.y = newpos->y; obj->projectile->pos.z = newpos->z; } } } /** * Create a thrown projectile. */ struct defaultobj *bgun0f09ee18(struct chrdata *chr, struct gset *gset, struct coord *pos, s16 *rooms, Mtxf *arg4, struct coord *arg5) { struct defaultobj *obj = NULL; struct weaponfunc *basefunc; struct weaponfunc_throw *func; struct weapon *weapon = weaponFindById(gset->weaponnum); struct weaponobj *weaponobj; struct autogunobj *autogun; f32 mf[4][4]; s32 playernum; if (weapon == NULL) { return false; } basefunc = weapon->functions[gset->weaponfunc]; func = (struct weaponfunc_throw *) basefunc; if (func == NULL) { return false; } if (gset->weaponnum == WEAPON_COMBATKNIFE) { guRotateF(mf, 90.0f / (random() * (1.0f / U32_MAX) + 12.1f), arg4->m[1][0], arg4->m[1][1], arg4->m[1][2]); } else { func0f096360(mf); } if (gset->weaponnum == WEAPON_LAPTOPGUN) { autogun = laptopDeploy(func->projectilemodelnum, gset, chr); if (autogun != NULL) { obj = &autogun->base; } } else { weaponobj = func0f08b658(func->projectilemodelnum, gset, chr); if (weaponobj != NULL) { obj = &weaponobj->base; // Note this timer is converted to 240 time immediately below weaponobj->timer240 = func->activatetime60; if (weaponobj->timer240 >= 2) { weaponobj->timer240 = PALDOWN(weaponobj->timer240 * 4); } if (weaponobj->weaponnum == WEAPON_GRENADE || weaponobj->weaponnum == WEAPON_NBOMB) { propSetDangerous(weaponobj->base.prop); } if (func->projectilemodelnum == MODEL_CHRREMOTEMINE || func->projectilemodelnum == MODEL_CHRTIMEDMINE || func->projectilemodelnum == MODEL_CHRPROXIMITYMINE || func->projectilemodelnum == MODEL_CHRECMMINE) { weaponobj->base.flags3 |= OBJFLAG3_00000008; } } } if (obj != NULL) { bgun0f09ebcc(obj, pos, rooms, arg4, (f32 *)arg5, (Mtxf *)mf, chr->prop, pos); obj->hidden &= 0x0fffffff; if (g_Vars.normmplayerisrunning) { playernum = mpPlayerGetIndex(chr); } else { playernum = propGetPlayerNum(chr->prop); } obj->hidden |= playernum << 28; if (obj->hidden & OBJHFLAG_AIRBORNE) { obj->projectile->flags |= PROJECTILEFLAG_00000002; obj->projectile->unk08c = 0.1f; obj->projectile->unk0b4 = PALDOWN(240); func0f0939f8(NULL, obj->prop, SFX_THROW, -1, -1, 0, 0, 0, NULL, -1, NULL, -1, -1, -1, -1); } } return obj; } #if PAL GLOBAL_ASM( glabel bgunCreateThrownProjectile .late_rodata glabel var7f1ac708 .word 0x4096c5bf glabel var7f1ac70c .word 0x404907a9 glabel var7f1ac710 .word 0x3fd55555 glabel var7f1ac714 .word 0x3eb2b179 glabel var7f1ac718 .word 0xbeb2b179 glabel var7f1ac71c .word 0x3eb2b179 glabel var7f1ac720 .word 0x41ad5555 glabel var7f1ac724 .word 0x41855555 glabel var7f1ac728 .word 0x3fd55555 glabel var7f1ac72c .word 0x3dcccccd .text /* f09f100: 27bdfdc0 */ addiu $sp,$sp,-576 /* f09f104: 3c0f8007 */ lui $t7,%hi(var800701ac) /* f09f108: afbf002c */ sw $ra,0x2c($sp) /* f09f10c: afa50244 */ sw $a1,0x244($sp) /* f09f110: 25ef01ac */ addiu $t7,$t7,%lo(var800701ac) /* f09f114: 8de10000 */ lw $at,0x0($t7) /* f09f118: 27ae0234 */ addiu $t6,$sp,0x234 /* f09f11c: 8de90004 */ lw $t1,0x4($t7) /* f09f120: adc10000 */ sw $at,0x0($t6) /* f09f124: 8de10008 */ lw $at,0x8($t7) /* f09f128: 3c03800a */ lui $v1,%hi(g_Vars+0x284) /* f09f12c: adc90004 */ sw $t1,0x4($t6) /* f09f130: adc10008 */ sw $at,0x8($t6) /* f09f134: 8c63a244 */ lw $v1,%lo(g_Vars+0x284)($v1) /* f09f138: 28810002 */ slti $at,$a0,0x2 /* f09f13c: 00803825 */ or $a3,$a0,$zero /* f09f140: 8c6a00bc */ lw $t2,0xbc($v1) /* f09f144: 246b0310 */ addiu $t3,$v1,0x310 /* f09f148: 246c1c44 */ addiu $t4,$v1,0x1c44 /* f09f14c: afab01d4 */ sw $t3,0x1d4($sp) /* f09f150: afac01d0 */ sw $t4,0x1d0($sp) /* f09f154: 00003025 */ or $a2,$zero,$zero /* f09f158: 14200003 */ bnez $at,.L0f09f168 /* f09f15c: afaa01d8 */ sw $t2,0x1d8($sp) /* f09f160: 24060001 */ addiu $a2,$zero,0x1 /* f09f164: 2487fffe */ addiu $a3,$a0,-2 .L0f09f168: /* f09f168: 00072900 */ sll $a1,$a3,0x4 /* f09f16c: 00a72823 */ subu $a1,$a1,$a3 /* f09f170: 00052880 */ sll $a1,$a1,0x2 /* f09f174: 00a72821 */ addu $a1,$a1,$a3 /* f09f178: 000528c0 */ sll $a1,$a1,0x3 /* f09f17c: 00a72821 */ addu $a1,$a1,$a3 /* f09f180: 00052880 */ sll $a1,$a1,0x2 /* f09f184: 00656821 */ addu $t5,$v1,$a1 /* f09f188: 25b90638 */ addiu $t9,$t5,0x638 /* f09f18c: afb90158 */ sw $t9,0x158($sp) /* f09f190: 00651021 */ addu $v0,$v1,$a1 /* f09f194: c44409ac */ lwc1 $f4,0x9ac($v0) /* f09f198: 27a401f4 */ addiu $a0,$sp,0x1f4 /* f09f19c: e7a4017c */ swc1 $f4,0x17c($sp) /* f09f1a0: c44609b0 */ lwc1 $f6,0x9b0($v0) /* f09f1a4: e7a60180 */ swc1 $f6,0x180($sp) /* f09f1a8: c44809b4 */ lwc1 $f8,0x9b4($v0) /* f09f1ac: afa70240 */ sw $a3,0x240($sp) /* f09f1b0: afa6015c */ sw $a2,0x15c($sp) /* f09f1b4: afa50034 */ sw $a1,0x34($sp) /* f09f1b8: 0c00566c */ jal func000159b0 /* f09f1bc: e7a80184 */ swc1 $f8,0x184($sp) /* f09f1c0: 8fb80244 */ lw $t8,0x244($sp) /* f09f1c4: 2401001a */ addiu $at,$zero,0x1a /* f09f1c8: 930e0000 */ lbu $t6,0x0($t8) /* f09f1cc: 15c1000b */ bne $t6,$at,.L0f09f1fc /* f09f1d0: 3c017f1b */ lui $at,%hi(var7f1ac708) /* f09f1d4: c42cc708 */ lwc1 $f12,%lo(var7f1ac708)($at) /* f09f1d8: 0c005900 */ jal func00016400 /* f09f1dc: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f1e0: 3c017f1b */ lui $at,%hi(var7f1ac70c) /* f09f1e4: c42cc70c */ lwc1 $f12,%lo(var7f1ac70c)($at) /* f09f1e8: 0c0058ba */ jal func000162e8 /* f09f1ec: 27a50190 */ addiu $a1,$sp,0x190 /* f09f1f0: 27a40190 */ addiu $a0,$sp,0x190 /* f09f1f4: 0c00567f */ jal func000159fc /* f09f1f8: 27a501f4 */ addiu $a1,$sp,0x1f4 .L0f09f1fc: /* f09f1fc: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) /* f09f200: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) /* f09f204: 8fa90034 */ lw $t1,0x34($sp) /* f09f208: 27a50190 */ addiu $a1,$sp,0x190 /* f09f20c: 01e92021 */ addu $a0,$t7,$t1 /* f09f210: 0c005746 */ jal func00015d18 /* f09f214: 24840c58 */ addiu $a0,$a0,0xc58 /* f09f218: 27a40190 */ addiu $a0,$sp,0x190 /* f09f21c: 27a50194 */ addiu $a1,$sp,0x194 /* f09f220: 0c0011e4 */ jal guNormalize /* f09f224: 27a60198 */ addiu $a2,$sp,0x198 /* f09f228: 27a401a0 */ addiu $a0,$sp,0x1a0 /* f09f22c: 27a501a4 */ addiu $a1,$sp,0x1a4 /* f09f230: 0c0011e4 */ jal guNormalize /* f09f234: 27a601a8 */ addiu $a2,$sp,0x1a8 /* f09f238: 27a401b0 */ addiu $a0,$sp,0x1b0 /* f09f23c: 27a501b4 */ addiu $a1,$sp,0x1b4 /* f09f240: 0c0011e4 */ jal guNormalize /* f09f244: 27a601b8 */ addiu $a2,$sp,0x1b8 /* f09f248: 44800000 */ mtc1 $zero,$f0 /* f09f24c: 27a40190 */ addiu $a0,$sp,0x190 /* f09f250: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f254: e7a001c0 */ swc1 $f0,0x1c0($sp) /* f09f258: e7a001c4 */ swc1 $f0,0x1c4($sp) /* f09f25c: 0c00567f */ jal func000159fc /* f09f260: e7a001c8 */ swc1 $f0,0x1c8($sp) /* f09f264: 8fa401d8 */ lw $a0,0x1d8($sp) /* f09f268: 0fc30795 */ jal currentPlayerSetPerimEnabled /* f09f26c: 00002825 */ or $a1,$zero,$zero /* f09f270: 8fa201d8 */ lw $v0,0x1d8($sp) /* f09f274: 240a003f */ addiu $t2,$zero,0x3f /* f09f278: afaa0010 */ sw $t2,0x10($sp) /* f09f27c: 24450028 */ addiu $a1,$v0,0x28 /* f09f280: afa50038 */ sw $a1,0x38($sp) /* f09f284: 27a6017c */ addiu $a2,$sp,0x17c /* f09f288: 27a70160 */ addiu $a3,$sp,0x160 /* f09f28c: 0c00b7ab */ jal func0002deac /* f09f290: 24440008 */ addiu $a0,$v0,0x8 /* f09f294: 10400008 */ beqz $v0,.L0f09f2b8 /* f09f298: 8fab01d8 */ lw $t3,0x1d8($sp) /* f09f29c: c7aa017c */ lwc1 $f10,0x17c($sp) /* f09f2a0: c7b00180 */ lwc1 $f16,0x180($sp) /* f09f2a4: c7b20184 */ lwc1 $f18,0x184($sp) /* f09f2a8: e7aa0170 */ swc1 $f10,0x170($sp) /* f09f2ac: e7b00174 */ swc1 $f16,0x174($sp) /* f09f2b0: 1000000a */ b .L0f09f2dc /* f09f2b4: e7b20178 */ swc1 $f18,0x178($sp) .L0f09f2b8: /* f09f2b8: c5640008 */ lwc1 $f4,0x8($t3) /* f09f2bc: 8fa40038 */ lw $a0,0x38($sp) /* f09f2c0: 27a50160 */ addiu $a1,$sp,0x160 /* f09f2c4: e7a40170 */ swc1 $f4,0x170($sp) /* f09f2c8: c566000c */ lwc1 $f6,0xc($t3) /* f09f2cc: e7a60174 */ swc1 $f6,0x174($sp) /* f09f2d0: c5680010 */ lwc1 $f8,0x10($t3) /* f09f2d4: 0fc195e9 */ jal roomsCopy /* f09f2d8: e7a80178 */ swc1 $f8,0x178($sp) .L0f09f2dc: /* f09f2dc: 8fa401d8 */ lw $a0,0x1d8($sp) /* f09f2e0: 0fc30795 */ jal currentPlayerSetPerimEnabled /* f09f2e4: 24050001 */ addiu $a1,$zero,0x1 /* f09f2e8: 27a401e8 */ addiu $a0,$sp,0x1e8 /* f09f2ec: 27a501dc */ addiu $a1,$sp,0x1dc /* f09f2f0: 8fa60240 */ lw $a2,0x240($sp) /* f09f2f4: 0fc2832c */ jal bgunCalculateShotSpread /* f09f2f8: 24070001 */ addiu $a3,$zero,0x1 /* f09f2fc: 0fc2d5de */ jal currentPlayerGetUnk174c /* f09f300: 00000000 */ nop /* f09f304: 00402025 */ or $a0,$v0,$zero /* f09f308: 0c0056c4 */ jal func00015b10 /* f09f30c: 27a501dc */ addiu $a1,$sp,0x1dc /* f09f310: 8fac015c */ lw $t4,0x15c($sp) /* f09f314: 3c017f1b */ lui $at,%hi(var7f1ac710) /* f09f318: c7aa01dc */ lwc1 $f10,0x1dc($sp) /* f09f31c: 1180000d */ beqz $t4,.L0f09f354 /* f09f320: 8fa40158 */ lw $a0,0x158($sp) /* f09f324: c420c710 */ lwc1 $f0,%lo(var7f1ac710)($at) /* f09f328: c7b201e0 */ lwc1 $f18,0x1e0($sp) /* f09f32c: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09f330: 46005402 */ mul.s $f16,$f10,$f0 /* f09f334: 00000000 */ nop /* f09f338: 46009102 */ mul.s $f4,$f18,$f0 /* f09f33c: 00000000 */ nop /* f09f340: 46003202 */ mul.s $f8,$f6,$f0 /* f09f344: e7b00234 */ swc1 $f16,0x234($sp) /* f09f348: e7a40238 */ swc1 $f4,0x238($sp) /* f09f34c: 100000a9 */ b .L0f09f5f4 /* f09f350: e7a8023c */ swc1 $f8,0x23c($sp) .L0f09f354: /* f09f354: 0fc2c7aa */ jal gsetHasFunctionFlags /* f09f358: 3c050080 */ lui $a1,0x80 /* f09f35c: 10400087 */ beqz $v0,.L0f09f57c /* f09f360: 3c017f1b */ lui $at,%hi(var7f1ac714) /* f09f364: 00002025 */ or $a0,$zero,$zero /* f09f368: 00002825 */ or $a1,$zero,$zero /* f09f36c: 0fc18755 */ jal func0f061d54 /* f09f370: 00003025 */ or $a2,$zero,$zero /* f09f374: 8fad0158 */ lw $t5,0x158($sp) /* f09f378: 8db906b4 */ lw $t9,0x6b4($t5) /* f09f37c: 13200071 */ beqz $t9,.L0f09f544 /* f09f380: 00000000 */ nop /* f09f384: c5aa06b8 */ lwc1 $f10,0x6b8($t5) /* f09f388: 3c0541ad */ lui $a1,0x41ad /* f09f38c: 34a55555 */ ori $a1,$a1,0x5555 /* f09f390: e7aa014c */ swc1 $f10,0x14c($sp) /* f09f394: c5b006bc */ lwc1 $f16,0x6bc($t5) /* f09f398: 27a40170 */ addiu $a0,$sp,0x170 /* f09f39c: 27a6014c */ addiu $a2,$sp,0x14c /* f09f3a0: e7b00150 */ swc1 $f16,0x150($sp) /* f09f3a4: c5b206c0 */ lwc1 $f18,0x6c0($t5) /* f09f3a8: 27a70140 */ addiu $a3,$sp,0x140 /* f09f3ac: 0fc100c7 */ jal func0f04031c /* f09f3b0: e7b20154 */ swc1 $f18,0x154($sp) /* f09f3b4: c7a401dc */ lwc1 $f4,0x1dc($sp) /* f09f3b8: c7a60140 */ lwc1 $f6,0x140($sp) /* f09f3bc: c7aa01e0 */ lwc1 $f10,0x1e0($sp) /* f09f3c0: c7b00144 */ lwc1 $f16,0x144($sp) /* f09f3c4: 46062202 */ mul.s $f8,$f4,$f6 /* f09f3c8: c7a60148 */ lwc1 $f6,0x148($sp) /* f09f3cc: 46105482 */ mul.s $f18,$f10,$f16 /* f09f3d0: c7aa01e4 */ lwc1 $f10,0x1e4($sp) /* f09f3d4: 460a3402 */ mul.s $f16,$f6,$f10 /* f09f3d8: 46124100 */ add.s $f4,$f8,$f18 /* f09f3dc: 0fc25a74 */ jal func0f0969d0 /* f09f3e0: 46048300 */ add.s $f12,$f16,$f4 /* f09f3e4: 3c017f1b */ lui $at,%hi(var7f1ac718) /* f09f3e8: c428c714 */ lwc1 $f8,%lo(var7f1ac714)($at) /* f09f3ec: e7a00138 */ swc1 $f0,0x138($sp) /* f09f3f0: 3c017f1b */ lui $at,%hi(var7f1ac71c) /* f09f3f4: 4600403c */ c.lt.s $f8,$f0 /* f09f3f8: 27a400f8 */ addiu $a0,$sp,0xf8 /* f09f3fc: c7a601dc */ lwc1 $f6,0x1dc($sp) /* f09f400: 45030007 */ bc1tl .L0f09f420 /* f09f404: 44800000 */ mtc1 $zero,$f0 /* f09f408: c432c718 */ lwc1 $f18,%lo(var7f1ac718)($at) /* f09f40c: 4612003c */ c.lt.s $f0,$f18 /* f09f410: c7b20140 */ lwc1 $f18,0x140($sp) /* f09f414: 45020047 */ bc1fl .L0f09f534 /* f09f418: c7a60144 */ lwc1 $f6,0x144($sp) /* f09f41c: 44800000 */ mtc1 $zero,$f0 .L0f09f420: /* f09f420: 3c013f80 */ lui $at,0x3f80 /* f09f424: 44812000 */ mtc1 $at,$f4 /* f09f428: c7aa01e0 */ lwc1 $f10,0x1e0($sp) /* f09f42c: c7b001e4 */ lwc1 $f16,0x1e4($sp) /* f09f430: 44050000 */ mfc1 $a1,$f0 /* f09f434: 44060000 */ mfc1 $a2,$f0 /* f09f438: 44070000 */ mfc1 $a3,$f0 /* f09f43c: e7a60010 */ swc1 $f6,0x10($sp) /* f09f440: e7a0001c */ swc1 $f0,0x1c($sp) /* f09f444: e7a00024 */ swc1 $f0,0x24($sp) /* f09f448: e7aa0014 */ swc1 $f10,0x14($sp) /* f09f44c: e7a40020 */ swc1 $f4,0x20($sp) /* f09f450: 0c005ad6 */ jal func00016b58 /* f09f454: e7b00018 */ swc1 $f16,0x18($sp) /* f09f458: 44800000 */ mtc1 $zero,$f0 /* f09f45c: 3c013f80 */ lui $at,0x3f80 /* f09f460: 44815000 */ mtc1 $at,$f10 /* f09f464: c7a80140 */ lwc1 $f8,0x140($sp) /* f09f468: c7b20144 */ lwc1 $f18,0x144($sp) /* f09f46c: c7a60148 */ lwc1 $f6,0x148($sp) /* f09f470: 44050000 */ mfc1 $a1,$f0 /* f09f474: 44060000 */ mfc1 $a2,$f0 /* f09f478: 44070000 */ mfc1 $a3,$f0 /* f09f47c: 27a400b8 */ addiu $a0,$sp,0xb8 /* f09f480: e7a0001c */ swc1 $f0,0x1c($sp) /* f09f484: e7a00024 */ swc1 $f0,0x24($sp) /* f09f488: e7a80010 */ swc1 $f8,0x10($sp) /* f09f48c: e7aa0020 */ swc1 $f10,0x20($sp) /* f09f490: e7b20014 */ swc1 $f18,0x14($sp) /* f09f494: 0c005ad6 */ jal func00016b58 /* f09f498: e7a60018 */ swc1 $f6,0x18($sp) /* f09f49c: 27a400f8 */ addiu $a0,$sp,0xf8 /* f09f4a0: 0fc25c11 */ jal func0f097044 /* f09f4a4: 27a50068 */ addiu $a1,$sp,0x68 /* f09f4a8: 27a400b8 */ addiu $a0,$sp,0xb8 /* f09f4ac: 0fc25c11 */ jal func0f097044 /* f09f4b0: 27a50058 */ addiu $a1,$sp,0x58 /* f09f4b4: 27a40068 */ addiu $a0,$sp,0x68 /* f09f4b8: 0fc25db0 */ jal func0f0976c0 /* f09f4bc: 27a50058 */ addiu $a1,$sp,0x58 /* f09f4c0: 3c017f1b */ lui $at,%hi(var7f1ac720) /* f09f4c4: c430c71c */ lwc1 $f16,%lo(var7f1ac71c)($at) /* f09f4c8: c7a40138 */ lwc1 $f4,0x138($sp) /* f09f4cc: 44804000 */ mtc1 $zero,$f8 /* f09f4d0: 27a40068 */ addiu $a0,$sp,0x68 /* f09f4d4: 46048003 */ div.s $f0,$f16,$f4 /* f09f4d8: 27a50058 */ addiu $a1,$sp,0x58 /* f09f4dc: 4608003c */ c.lt.s $f0,$f8 /* f09f4e0: 46000086 */ mov.s $f2,$f0 /* f09f4e4: 45020003 */ bc1fl .L0f09f4f4 /* f09f4e8: 44061000 */ mfc1 $a2,$f2 /* f09f4ec: 46000087 */ neg.s $f2,$f0 /* f09f4f0: 44061000 */ mfc1 $a2,$f2 .L0f09f4f4: /* f09f4f4: 0fc25cae */ jal func0f0972b8 /* f09f4f8: 27a70048 */ addiu $a3,$sp,0x48 /* f09f4fc: 27a40048 */ addiu $a0,$sp,0x48 /* f09f500: 0fc25bb5 */ jal func0f096ed4 /* f09f504: 27a50078 */ addiu $a1,$sp,0x78 /* f09f508: c7b20098 */ lwc1 $f18,0x98($sp) /* f09f50c: c7aa009c */ lwc1 $f10,0x9c($sp) /* f09f510: c7a400a0 */ lwc1 $f4,0xa0($sp) /* f09f514: 46009187 */ neg.s $f6,$f18 /* f09f518: 46005407 */ neg.s $f16,$f10 /* f09f51c: 46002207 */ neg.s $f8,$f4 /* f09f520: e7a601dc */ swc1 $f6,0x1dc($sp) /* f09f524: e7b001e0 */ swc1 $f16,0x1e0($sp) /* f09f528: 10000006 */ b .L0f09f544 /* f09f52c: e7a801e4 */ swc1 $f8,0x1e4($sp) /* f09f530: c7a60144 */ lwc1 $f6,0x144($sp) .L0f09f534: /* f09f534: c7aa0148 */ lwc1 $f10,0x148($sp) /* f09f538: e7b201dc */ swc1 $f18,0x1dc($sp) /* f09f53c: e7a601e0 */ swc1 $f6,0x1e0($sp) /* f09f540: e7aa01e4 */ swc1 $f10,0x1e4($sp) .L0f09f544: /* f09f544: 3c017f1b */ lui $at,%hi(var7f1ac724) /* f09f548: c420c720 */ lwc1 $f0,%lo(var7f1ac720)($at) /* f09f54c: c7b001dc */ lwc1 $f16,0x1dc($sp) /* f09f550: c7a801e0 */ lwc1 $f8,0x1e0($sp) /* f09f554: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09f558: 46008102 */ mul.s $f4,$f16,$f0 /* f09f55c: 00000000 */ nop /* f09f560: 46004482 */ mul.s $f18,$f8,$f0 /* f09f564: 00000000 */ nop /* f09f568: 46003282 */ mul.s $f10,$f6,$f0 /* f09f56c: e7a40234 */ swc1 $f4,0x234($sp) /* f09f570: e7b20238 */ swc1 $f18,0x238($sp) /* f09f574: 1000001f */ b .L0f09f5f4 /* f09f578: e7aa023c */ swc1 $f10,0x23c($sp) .L0f09f57c: /* f09f57c: c420c724 */ lwc1 $f0,%lo(var7f1ac724)($at) /* f09f580: c7b001dc */ lwc1 $f16,0x1dc($sp) /* f09f584: c7a801e0 */ lwc1 $f8,0x1e0($sp) /* f09f588: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09f58c: 46008102 */ mul.s $f4,$f16,$f0 /* f09f590: 8fb80244 */ lw $t8,0x244($sp) /* f09f594: 2401001e */ addiu $at,$zero,0x1e /* f09f598: 46004482 */ mul.s $f18,$f8,$f0 /* f09f59c: 00000000 */ nop /* f09f5a0: 46003282 */ mul.s $f10,$f6,$f0 /* f09f5a4: e7a40234 */ swc1 $f4,0x234($sp) /* f09f5a8: e7b20238 */ swc1 $f18,0x238($sp) /* f09f5ac: c7b00238 */ lwc1 $f16,0x238($sp) /* f09f5b0: e7aa023c */ swc1 $f10,0x23c($sp) /* f09f5b4: 93030000 */ lbu $v1,0x0($t8) /* f09f5b8: 10610004 */ beq $v1,$at,.L0f09f5cc /* f09f5bc: 00000000 */ nop /* f09f5c0: 2401001f */ addiu $at,$zero,0x1f /* f09f5c4: 14610006 */ bne $v1,$at,.L0f09f5e0 /* f09f5c8: c7a80238 */ lwc1 $f8,0x238($sp) .L0f09f5cc: /* f09f5cc: 3c017f1b */ lui $at,%hi(var7f1ac728) /* f09f5d0: c420c728 */ lwc1 $f0,%lo(var7f1ac728)($at) /* f09f5d4: 46008100 */ add.s $f4,$f16,$f0 /* f09f5d8: 10000006 */ b .L0f09f5f4 /* f09f5dc: e7a40238 */ swc1 $f4,0x238($sp) .L0f09f5e0: /* f09f5e0: 3c0140a0 */ lui $at,0x40a0 /* f09f5e4: 44819000 */ mtc1 $at,$f18 /* f09f5e8: 00000000 */ nop /* f09f5ec: 46124180 */ add.s $f6,$f8,$f18 /* f09f5f0: e7a60238 */ swc1 $f6,0x238($sp) .L0f09f5f4: /* f09f5f4: 8fae0244 */ lw $t6,0x244($sp) /* f09f5f8: 2401000e */ addiu $at,$zero,0xe /* f09f5fc: 91cf0000 */ lbu $t7,0x0($t6) /* f09f600: 15e10003 */ bne $t7,$at,.L0f09f610 /* f09f604: 00000000 */ nop /* f09f608: 0fc284d3 */ jal bgun0f0a134c /* f09f60c: 8fa40240 */ lw $a0,0x240($sp) .L0f09f610: /* f09f610: 3c08800a */ lui $t0,%hi(g_Vars) /* f09f614: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f09f618: 8d090034 */ lw $t1,0x34($t0) /* f09f61c: 8fa201d8 */ lw $v0,0x1d8($sp) /* f09f620: 8fa301d4 */ lw $v1,0x1d4($sp) /* f09f624: 1920001e */ blez $t1,.L0f09f6a0 /* f09f628: 27a60170 */ addiu $a2,$sp,0x170 /* f09f62c: c44a0008 */ lwc1 $f10,0x8($v0) /* f09f630: c4700000 */ lwc1 $f16,0x0($v1) /* f09f634: 8fa401d0 */ lw $a0,0x1d0($sp) /* f09f638: c500004c */ lwc1 $f0,0x4c($t0) /* f09f63c: 46105101 */ sub.s $f4,$f10,$f16 /* f09f640: c4880000 */ lwc1 $f8,0x0($a0) /* f09f644: c7aa0234 */ lwc1 $f10,0x234($sp) /* f09f648: 46082480 */ add.s $f18,$f4,$f8 /* f09f64c: 46009183 */ div.s $f6,$f18,$f0 /* f09f650: 46065400 */ add.s $f16,$f10,$f6 /* f09f654: e7b00234 */ swc1 $f16,0x234($sp) /* f09f658: c4680004 */ lwc1 $f8,0x4($v1) /* f09f65c: c444000c */ lwc1 $f4,0xc($v0) /* f09f660: c48a0004 */ lwc1 $f10,0x4($a0) /* f09f664: 46082481 */ sub.s $f18,$f4,$f8 /* f09f668: c7a40238 */ lwc1 $f4,0x238($sp) /* f09f66c: 460a9180 */ add.s $f6,$f18,$f10 /* f09f670: 46003403 */ div.s $f16,$f6,$f0 /* f09f674: 46102200 */ add.s $f8,$f4,$f16 /* f09f678: e7a80238 */ swc1 $f8,0x238($sp) /* f09f67c: c46a0008 */ lwc1 $f10,0x8($v1) /* f09f680: c4520010 */ lwc1 $f18,0x10($v0) /* f09f684: c4840008 */ lwc1 $f4,0x8($a0) /* f09f688: 460a9181 */ sub.s $f6,$f18,$f10 /* f09f68c: c7b2023c */ lwc1 $f18,0x23c($sp) /* f09f690: 46043400 */ add.s $f16,$f6,$f4 /* f09f694: 46008203 */ div.s $f8,$f16,$f0 /* f09f698: 46089280 */ add.s $f10,$f18,$f8 /* f09f69c: e7aa023c */ swc1 $f10,0x23c($sp) .L0f09f6a0: /* f09f6a0: 8d0a0284 */ lw $t2,0x284($t0) /* f09f6a4: 27ac01f4 */ addiu $t4,$sp,0x1f4 /* f09f6a8: 27b90234 */ addiu $t9,$sp,0x234 /* f09f6ac: 8d4b00bc */ lw $t3,0xbc($t2) /* f09f6b0: 8fa50244 */ lw $a1,0x244($sp) /* f09f6b4: 27a70160 */ addiu $a3,$sp,0x160 /* f09f6b8: 8d640004 */ lw $a0,0x4($t3) /* f09f6bc: afb90014 */ sw $t9,0x14($sp) /* f09f6c0: 0fc27b86 */ jal bgun0f09ee18 /* f09f6c4: afac0010 */ sw $t4,0x10($sp) /* f09f6c8: 1040005b */ beqz $v0,.L0f09f838 /* f09f6cc: 00402025 */ or $a0,$v0,$zero /* f09f6d0: 904d0003 */ lbu $t5,0x3($v0) /* f09f6d4: 24010008 */ addiu $at,$zero,0x8 /* f09f6d8: 8fa60244 */ lw $a2,0x244($sp) /* f09f6dc: 55a10027 */ bnel $t5,$at,.L0f09f77c /* f09f6e0: 8c8d0040 */ lw $t5,0x40($a0) /* f09f6e4: afa20188 */ sw $v0,0x188($sp) /* f09f6e8: 90c30000 */ lbu $v1,0x0($a2) /* f09f6ec: 2401001e */ addiu $at,$zero,0x1e /* f09f6f0: 54610013 */ bnel $v1,$at,.L0f09f740 /* f09f6f4: 24010035 */ addiu $at,$zero,0x35 /* f09f6f8: 90d80003 */ lbu $t8,0x3($a2) /* f09f6fc: 8fae0158 */ lw $t6,0x158($sp) /* f09f700: 5700000f */ bnezl $t8,.L0f09f740 /* f09f704: 24010035 */ addiu $at,$zero,0x35 /* f09f708: 85c306d4 */ lh $v1,0x6d4($t6) /* f09f70c: 84450062 */ lh $a1,0x62($v0) /* f09f710: 00037880 */ sll $t7,$v1,0x2 /* f09f714: 00af082a */ slt $at,$a1,$t7 /* f09f718: 10200003 */ beqz $at,.L0f09f728 /* f09f71c: 01e01825 */ or $v1,$t7,$zero /* f09f720: 10000003 */ b .L0f09f730 /* f09f724: a4400062 */ sh $zero,0x62($v0) .L0f09f728: /* f09f728: 00a34823 */ subu $t1,$a1,$v1 /* f09f72c: a4490062 */ sh $t1,0x62($v0) .L0f09f730: /* f09f730: 90ca0003 */ lbu $t2,0x3($a2) /* f09f734: 10000010 */ b .L0f09f778 /* f09f738: a04a005f */ sb $t2,0x5f($v0) /* f09f73c: 24010035 */ addiu $at,$zero,0x35 .L0f09f740: /* f09f740: 1461000d */ bne $v1,$at,.L0f09f778 /* f09f744: 3c0b800a */ lui $t3,%hi(g_Vars+0x4b4) /* f09f748: 8d6ba474 */ lw $t3,%lo(g_Vars+0x4b4)($t3) /* f09f74c: 24010026 */ addiu $at,$zero,0x26 /* f09f750: 5561000a */ bnel $t3,$at,.L0f09f77c /* f09f754: 8c8d0040 */ lw $t5,0x40($a0) /* f09f758: 0fc68606 */ jal dtGetData /* f09f75c: afa4018c */ sw $a0,0x18c($sp) /* f09f760: 8c4c0000 */ lw $t4,0x0($v0) /* f09f764: 8fa4018c */ lw $a0,0x18c($sp) /* f09f768: 000ccfc2 */ srl $t9,$t4,0x1f /* f09f76c: 53200003 */ beqzl $t9,.L0f09f77c /* f09f770: 8c8d0040 */ lw $t5,0x40($a0) /* f09f774: ac440008 */ sw $a0,0x8($v0) .L0f09f778: /* f09f778: 8c8d0040 */ lw $t5,0x40($a0) .L0f09f77c: /* f09f77c: 8fa60244 */ lw $a2,0x244($sp) /* f09f780: 31b80080 */ andi $t8,$t5,0x80 /* f09f784: 5300002d */ beqzl $t8,.L0f09f83c /* f09f788: 8fbf002c */ lw $ra,0x2c($sp) /* f09f78c: 8c820048 */ lw $v0,0x48($a0) /* f09f790: 2401001e */ addiu $at,$zero,0x1e /* f09f794: 8c4e0000 */ lw $t6,0x0($v0) /* f09f798: 35cf0080 */ ori $t7,$t6,0x80 /* f09f79c: ac4f0000 */ sw $t7,0x0($v0) /* f09f7a0: 8c890048 */ lw $t1,0x48($a0) /* f09f7a4: c7a6017c */ lwc1 $f6,0x17c($sp) /* f09f7a8: e52600c4 */ swc1 $f6,0xc4($t1) /* f09f7ac: 8c8a0048 */ lw $t2,0x48($a0) /* f09f7b0: c7a40180 */ lwc1 $f4,0x180($sp) /* f09f7b4: e54400c8 */ swc1 $f4,0xc8($t2) /* f09f7b8: 8c8b0048 */ lw $t3,0x48($a0) /* f09f7bc: c7b00184 */ lwc1 $f16,0x184($sp) /* f09f7c0: e57000cc */ swc1 $f16,0xcc($t3) /* f09f7c4: 90c30000 */ lbu $v1,0x0($a2) /* f09f7c8: 5461000a */ bnel $v1,$at,.L0f09f7f4 /* f09f7cc: 2401001a */ addiu $at,$zero,0x1a /* f09f7d0: 90cc0003 */ lbu $t4,0x3($a2) /* f09f7d4: 24010001 */ addiu $at,$zero,0x1 /* f09f7d8: 15810005 */ bne $t4,$at,.L0f09f7f0 /* f09f7dc: 3c013f80 */ lui $at,0x3f80 /* f09f7e0: 44819000 */ mtc1 $at,$f18 /* f09f7e4: 8c990048 */ lw $t9,0x48($a0) /* f09f7e8: e732008c */ swc1 $f18,0x8c($t9) /* f09f7ec: 90c30000 */ lbu $v1,0x0($a2) .L0f09f7f0: /* f09f7f0: 2401001a */ addiu $at,$zero,0x1a .L0f09f7f4: /* f09f7f4: 14610010 */ bne $v1,$at,.L0f09f838 /* f09f7f8: 8fad0188 */ lw $t5,0x188($sp) /* f09f7fc: 8da20048 */ lw $v0,0x48($t5) /* f09f800: 3c017f1b */ lui $at,%hi(var7f1ac72c) /* f09f804: 240a00f0 */ addiu $t2,$zero,0xc8 /* f09f808: 8c580000 */ lw $t8,0x0($v0) /* f09f80c: 370e0002 */ ori $t6,$t8,0x2 /* f09f810: ac4e0000 */ sw $t6,0x0($v0) /* f09f814: 8faf0188 */ lw $t7,0x188($sp) /* f09f818: c428c72c */ lwc1 $f8,%lo(var7f1ac72c)($at) /* f09f81c: 8de90048 */ lw $t1,0x48($t7) /* f09f820: e528008c */ swc1 $f8,0x8c($t1) /* f09f824: 8deb0048 */ lw $t3,0x48($t7) /* f09f828: ad6a00b4 */ sw $t2,0xb4($t3) /* f09f82c: 8dec0040 */ lw $t4,0x40($t7) /* f09f830: 35990020 */ ori $t9,$t4,0x20 /* f09f834: adf90040 */ sw $t9,0x40($t7) .L0f09f838: /* f09f838: 8fbf002c */ lw $ra,0x2c($sp) .L0f09f83c: /* f09f83c: 27bd0240 */ addiu $sp,$sp,0x240 /* f09f840: 03e00008 */ jr $ra /* f09f844: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgunCreateThrownProjectile .late_rodata glabel var7f1ac708 .word 0x4096c5bf glabel var7f1ac70c .word 0x404907a9 glabel var7f1ac710 .word 0x3fd55555 glabel var7f1ac714 .word 0x3eb2b179 glabel var7f1ac718 .word 0xbeb2b179 glabel var7f1ac71c .word 0x3eb2b179 glabel var7f1ac720 .word 0x41ad5555 glabel var7f1ac724 .word 0x41855555 glabel var7f1ac728 .word 0x3fd55555 glabel var7f1ac72c .word 0x3dcccccd .text /* f09f100: 27bdfdc0 */ addiu $sp,$sp,-576 /* f09f104: 3c0f8007 */ lui $t7,%hi(var800701ac) /* f09f108: afbf002c */ sw $ra,0x2c($sp) /* f09f10c: afa50244 */ sw $a1,0x244($sp) /* f09f110: 25ef01ac */ addiu $t7,$t7,%lo(var800701ac) /* f09f114: 8de10000 */ lw $at,0x0($t7) /* f09f118: 27ae0234 */ addiu $t6,$sp,0x234 /* f09f11c: 8de90004 */ lw $t1,0x4($t7) /* f09f120: adc10000 */ sw $at,0x0($t6) /* f09f124: 8de10008 */ lw $at,0x8($t7) /* f09f128: 3c03800a */ lui $v1,%hi(g_Vars+0x284) /* f09f12c: adc90004 */ sw $t1,0x4($t6) /* f09f130: adc10008 */ sw $at,0x8($t6) /* f09f134: 8c63a244 */ lw $v1,%lo(g_Vars+0x284)($v1) /* f09f138: 28810002 */ slti $at,$a0,0x2 /* f09f13c: 00803825 */ or $a3,$a0,$zero /* f09f140: 8c6a00bc */ lw $t2,0xbc($v1) /* f09f144: 246b0310 */ addiu $t3,$v1,0x310 /* f09f148: 246c1c44 */ addiu $t4,$v1,0x1c44 /* f09f14c: afab01d4 */ sw $t3,0x1d4($sp) /* f09f150: afac01d0 */ sw $t4,0x1d0($sp) /* f09f154: 00003025 */ or $a2,$zero,$zero /* f09f158: 14200003 */ bnez $at,.L0f09f168 /* f09f15c: afaa01d8 */ sw $t2,0x1d8($sp) /* f09f160: 24060001 */ addiu $a2,$zero,0x1 /* f09f164: 2487fffe */ addiu $a3,$a0,-2 .L0f09f168: /* f09f168: 00072900 */ sll $a1,$a3,0x4 /* f09f16c: 00a72823 */ subu $a1,$a1,$a3 /* f09f170: 00052880 */ sll $a1,$a1,0x2 /* f09f174: 00a72821 */ addu $a1,$a1,$a3 /* f09f178: 000528c0 */ sll $a1,$a1,0x3 /* f09f17c: 00a72821 */ addu $a1,$a1,$a3 /* f09f180: 00052880 */ sll $a1,$a1,0x2 /* f09f184: 00656821 */ addu $t5,$v1,$a1 /* f09f188: 25b90638 */ addiu $t9,$t5,0x638 /* f09f18c: afb90158 */ sw $t9,0x158($sp) /* f09f190: 00651021 */ addu $v0,$v1,$a1 /* f09f194: c44409ac */ lwc1 $f4,0x9ac($v0) /* f09f198: 27a401f4 */ addiu $a0,$sp,0x1f4 /* f09f19c: e7a4017c */ swc1 $f4,0x17c($sp) /* f09f1a0: c44609b0 */ lwc1 $f6,0x9b0($v0) /* f09f1a4: e7a60180 */ swc1 $f6,0x180($sp) /* f09f1a8: c44809b4 */ lwc1 $f8,0x9b4($v0) /* f09f1ac: afa70240 */ sw $a3,0x240($sp) /* f09f1b0: afa6015c */ sw $a2,0x15c($sp) /* f09f1b4: afa50034 */ sw $a1,0x34($sp) /* f09f1b8: 0c00566c */ jal func000159b0 /* f09f1bc: e7a80184 */ swc1 $f8,0x184($sp) /* f09f1c0: 8fb80244 */ lw $t8,0x244($sp) /* f09f1c4: 2401001a */ addiu $at,$zero,0x1a /* f09f1c8: 930e0000 */ lbu $t6,0x0($t8) /* f09f1cc: 15c1000b */ bne $t6,$at,.L0f09f1fc /* f09f1d0: 3c017f1b */ lui $at,%hi(var7f1ac708) /* f09f1d4: c42cc708 */ lwc1 $f12,%lo(var7f1ac708)($at) /* f09f1d8: 0c005900 */ jal func00016400 /* f09f1dc: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f1e0: 3c017f1b */ lui $at,%hi(var7f1ac70c) /* f09f1e4: c42cc70c */ lwc1 $f12,%lo(var7f1ac70c)($at) /* f09f1e8: 0c0058ba */ jal func000162e8 /* f09f1ec: 27a50190 */ addiu $a1,$sp,0x190 /* f09f1f0: 27a40190 */ addiu $a0,$sp,0x190 /* f09f1f4: 0c00567f */ jal func000159fc /* f09f1f8: 27a501f4 */ addiu $a1,$sp,0x1f4 .L0f09f1fc: /* f09f1fc: 3c0f800a */ lui $t7,%hi(g_Vars+0x284) /* f09f200: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7) /* f09f204: 8fa90034 */ lw $t1,0x34($sp) /* f09f208: 27a50190 */ addiu $a1,$sp,0x190 /* f09f20c: 01e92021 */ addu $a0,$t7,$t1 /* f09f210: 0c005746 */ jal func00015d18 /* f09f214: 24840c58 */ addiu $a0,$a0,0xc58 /* f09f218: 27a40190 */ addiu $a0,$sp,0x190 /* f09f21c: 27a50194 */ addiu $a1,$sp,0x194 /* f09f220: 0c0011e4 */ jal guNormalize /* f09f224: 27a60198 */ addiu $a2,$sp,0x198 /* f09f228: 27a401a0 */ addiu $a0,$sp,0x1a0 /* f09f22c: 27a501a4 */ addiu $a1,$sp,0x1a4 /* f09f230: 0c0011e4 */ jal guNormalize /* f09f234: 27a601a8 */ addiu $a2,$sp,0x1a8 /* f09f238: 27a401b0 */ addiu $a0,$sp,0x1b0 /* f09f23c: 27a501b4 */ addiu $a1,$sp,0x1b4 /* f09f240: 0c0011e4 */ jal guNormalize /* f09f244: 27a601b8 */ addiu $a2,$sp,0x1b8 /* f09f248: 44800000 */ mtc1 $zero,$f0 /* f09f24c: 27a40190 */ addiu $a0,$sp,0x190 /* f09f250: 27a501f4 */ addiu $a1,$sp,0x1f4 /* f09f254: e7a001c0 */ swc1 $f0,0x1c0($sp) /* f09f258: e7a001c4 */ swc1 $f0,0x1c4($sp) /* f09f25c: 0c00567f */ jal func000159fc /* f09f260: e7a001c8 */ swc1 $f0,0x1c8($sp) /* f09f264: 8fa401d8 */ lw $a0,0x1d8($sp) /* f09f268: 0fc30795 */ jal currentPlayerSetPerimEnabled /* f09f26c: 00002825 */ or $a1,$zero,$zero /* f09f270: 8fa201d8 */ lw $v0,0x1d8($sp) /* f09f274: 240a003f */ addiu $t2,$zero,0x3f /* f09f278: afaa0010 */ sw $t2,0x10($sp) /* f09f27c: 24450028 */ addiu $a1,$v0,0x28 /* f09f280: afa50038 */ sw $a1,0x38($sp) /* f09f284: 27a6017c */ addiu $a2,$sp,0x17c /* f09f288: 27a70160 */ addiu $a3,$sp,0x160 /* f09f28c: 0c00b7ab */ jal func0002deac /* f09f290: 24440008 */ addiu $a0,$v0,0x8 /* f09f294: 10400008 */ beqz $v0,.L0f09f2b8 /* f09f298: 8fab01d8 */ lw $t3,0x1d8($sp) /* f09f29c: c7aa017c */ lwc1 $f10,0x17c($sp) /* f09f2a0: c7b00180 */ lwc1 $f16,0x180($sp) /* f09f2a4: c7b20184 */ lwc1 $f18,0x184($sp) /* f09f2a8: e7aa0170 */ swc1 $f10,0x170($sp) /* f09f2ac: e7b00174 */ swc1 $f16,0x174($sp) /* f09f2b0: 1000000a */ b .L0f09f2dc /* f09f2b4: e7b20178 */ swc1 $f18,0x178($sp) .L0f09f2b8: /* f09f2b8: c5640008 */ lwc1 $f4,0x8($t3) /* f09f2bc: 8fa40038 */ lw $a0,0x38($sp) /* f09f2c0: 27a50160 */ addiu $a1,$sp,0x160 /* f09f2c4: e7a40170 */ swc1 $f4,0x170($sp) /* f09f2c8: c566000c */ lwc1 $f6,0xc($t3) /* f09f2cc: e7a60174 */ swc1 $f6,0x174($sp) /* f09f2d0: c5680010 */ lwc1 $f8,0x10($t3) /* f09f2d4: 0fc195e9 */ jal roomsCopy /* f09f2d8: e7a80178 */ swc1 $f8,0x178($sp) .L0f09f2dc: /* f09f2dc: 8fa401d8 */ lw $a0,0x1d8($sp) /* f09f2e0: 0fc30795 */ jal currentPlayerSetPerimEnabled /* f09f2e4: 24050001 */ addiu $a1,$zero,0x1 /* f09f2e8: 27a401e8 */ addiu $a0,$sp,0x1e8 /* f09f2ec: 27a501dc */ addiu $a1,$sp,0x1dc /* f09f2f0: 8fa60240 */ lw $a2,0x240($sp) /* f09f2f4: 0fc2832c */ jal bgunCalculateShotSpread /* f09f2f8: 24070001 */ addiu $a3,$zero,0x1 /* f09f2fc: 0fc2d5de */ jal currentPlayerGetUnk174c /* f09f300: 00000000 */ nop /* f09f304: 00402025 */ or $a0,$v0,$zero /* f09f308: 0c0056c4 */ jal func00015b10 /* f09f30c: 27a501dc */ addiu $a1,$sp,0x1dc /* f09f310: 8fac015c */ lw $t4,0x15c($sp) /* f09f314: 3c017f1b */ lui $at,%hi(var7f1ac710) /* f09f318: c7aa01dc */ lwc1 $f10,0x1dc($sp) /* f09f31c: 1180000d */ beqz $t4,.L0f09f354 /* f09f320: 8fa40158 */ lw $a0,0x158($sp) /* f09f324: c420c710 */ lwc1 $f0,%lo(var7f1ac710)($at) /* f09f328: c7b201e0 */ lwc1 $f18,0x1e0($sp) /* f09f32c: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09f330: 46005402 */ mul.s $f16,$f10,$f0 /* f09f334: 00000000 */ nop /* f09f338: 46009102 */ mul.s $f4,$f18,$f0 /* f09f33c: 00000000 */ nop /* f09f340: 46003202 */ mul.s $f8,$f6,$f0 /* f09f344: e7b00234 */ swc1 $f16,0x234($sp) /* f09f348: e7a40238 */ swc1 $f4,0x238($sp) /* f09f34c: 100000a9 */ b .L0f09f5f4 /* f09f350: e7a8023c */ swc1 $f8,0x23c($sp) .L0f09f354: /* f09f354: 0fc2c7aa */ jal gsetHasFunctionFlags /* f09f358: 3c050080 */ lui $a1,0x80 /* f09f35c: 10400087 */ beqz $v0,.L0f09f57c /* f09f360: 3c017f1b */ lui $at,%hi(var7f1ac714) /* f09f364: 00002025 */ or $a0,$zero,$zero /* f09f368: 00002825 */ or $a1,$zero,$zero /* f09f36c: 0fc18755 */ jal func0f061d54 /* f09f370: 00003025 */ or $a2,$zero,$zero /* f09f374: 8fad0158 */ lw $t5,0x158($sp) /* f09f378: 8db906b4 */ lw $t9,0x6b4($t5) /* f09f37c: 13200071 */ beqz $t9,.L0f09f544 /* f09f380: 00000000 */ nop /* f09f384: c5aa06b8 */ lwc1 $f10,0x6b8($t5) /* f09f388: 3c0541ad */ lui $a1,0x41ad /* f09f38c: 34a55555 */ ori $a1,$a1,0x5555 /* f09f390: e7aa014c */ swc1 $f10,0x14c($sp) /* f09f394: c5b006bc */ lwc1 $f16,0x6bc($t5) /* f09f398: 27a40170 */ addiu $a0,$sp,0x170 /* f09f39c: 27a6014c */ addiu $a2,$sp,0x14c /* f09f3a0: e7b00150 */ swc1 $f16,0x150($sp) /* f09f3a4: c5b206c0 */ lwc1 $f18,0x6c0($t5) /* f09f3a8: 27a70140 */ addiu $a3,$sp,0x140 /* f09f3ac: 0fc100c7 */ jal func0f04031c /* f09f3b0: e7b20154 */ swc1 $f18,0x154($sp) /* f09f3b4: c7a401dc */ lwc1 $f4,0x1dc($sp) /* f09f3b8: c7a60140 */ lwc1 $f6,0x140($sp) /* f09f3bc: c7aa01e0 */ lwc1 $f10,0x1e0($sp) /* f09f3c0: c7b00144 */ lwc1 $f16,0x144($sp) /* f09f3c4: 46062202 */ mul.s $f8,$f4,$f6 /* f09f3c8: c7a60148 */ lwc1 $f6,0x148($sp) /* f09f3cc: 46105482 */ mul.s $f18,$f10,$f16 /* f09f3d0: c7aa01e4 */ lwc1 $f10,0x1e4($sp) /* f09f3d4: 460a3402 */ mul.s $f16,$f6,$f10 /* f09f3d8: 46124100 */ add.s $f4,$f8,$f18 /* f09f3dc: 0fc25a74 */ jal func0f0969d0 /* f09f3e0: 46048300 */ add.s $f12,$f16,$f4 /* f09f3e4: 3c017f1b */ lui $at,%hi(var7f1ac718) /* f09f3e8: c428c714 */ lwc1 $f8,%lo(var7f1ac714)($at) /* f09f3ec: e7a00138 */ swc1 $f0,0x138($sp) /* f09f3f0: 3c017f1b */ lui $at,%hi(var7f1ac71c) /* f09f3f4: 4600403c */ c.lt.s $f8,$f0 /* f09f3f8: 27a400f8 */ addiu $a0,$sp,0xf8 /* f09f3fc: c7a601dc */ lwc1 $f6,0x1dc($sp) /* f09f400: 45030007 */ bc1tl .L0f09f420 /* f09f404: 44800000 */ mtc1 $zero,$f0 /* f09f408: c432c718 */ lwc1 $f18,%lo(var7f1ac718)($at) /* f09f40c: 4612003c */ c.lt.s $f0,$f18 /* f09f410: c7b20140 */ lwc1 $f18,0x140($sp) /* f09f414: 45020047 */ bc1fl .L0f09f534 /* f09f418: c7a60144 */ lwc1 $f6,0x144($sp) /* f09f41c: 44800000 */ mtc1 $zero,$f0 .L0f09f420: /* f09f420: 3c013f80 */ lui $at,0x3f80 /* f09f424: 44812000 */ mtc1 $at,$f4 /* f09f428: c7aa01e0 */ lwc1 $f10,0x1e0($sp) /* f09f42c: c7b001e4 */ lwc1 $f16,0x1e4($sp) /* f09f430: 44050000 */ mfc1 $a1,$f0 /* f09f434: 44060000 */ mfc1 $a2,$f0 /* f09f438: 44070000 */ mfc1 $a3,$f0 /* f09f43c: e7a60010 */ swc1 $f6,0x10($sp) /* f09f440: e7a0001c */ swc1 $f0,0x1c($sp) /* f09f444: e7a00024 */ swc1 $f0,0x24($sp) /* f09f448: e7aa0014 */ swc1 $f10,0x14($sp) /* f09f44c: e7a40020 */ swc1 $f4,0x20($sp) /* f09f450: 0c005ad6 */ jal func00016b58 /* f09f454: e7b00018 */ swc1 $f16,0x18($sp) /* f09f458: 44800000 */ mtc1 $zero,$f0 /* f09f45c: 3c013f80 */ lui $at,0x3f80 /* f09f460: 44815000 */ mtc1 $at,$f10 /* f09f464: c7a80140 */ lwc1 $f8,0x140($sp) /* f09f468: c7b20144 */ lwc1 $f18,0x144($sp) /* f09f46c: c7a60148 */ lwc1 $f6,0x148($sp) /* f09f470: 44050000 */ mfc1 $a1,$f0 /* f09f474: 44060000 */ mfc1 $a2,$f0 /* f09f478: 44070000 */ mfc1 $a3,$f0 /* f09f47c: 27a400b8 */ addiu $a0,$sp,0xb8 /* f09f480: e7a0001c */ swc1 $f0,0x1c($sp) /* f09f484: e7a00024 */ swc1 $f0,0x24($sp) /* f09f488: e7a80010 */ swc1 $f8,0x10($sp) /* f09f48c: e7aa0020 */ swc1 $f10,0x20($sp) /* f09f490: e7b20014 */ swc1 $f18,0x14($sp) /* f09f494: 0c005ad6 */ jal func00016b58 /* f09f498: e7a60018 */ swc1 $f6,0x18($sp) /* f09f49c: 27a400f8 */ addiu $a0,$sp,0xf8 /* f09f4a0: 0fc25c11 */ jal func0f097044 /* f09f4a4: 27a50068 */ addiu $a1,$sp,0x68 /* f09f4a8: 27a400b8 */ addiu $a0,$sp,0xb8 /* f09f4ac: 0fc25c11 */ jal func0f097044 /* f09f4b0: 27a50058 */ addiu $a1,$sp,0x58 /* f09f4b4: 27a40068 */ addiu $a0,$sp,0x68 /* f09f4b8: 0fc25db0 */ jal func0f0976c0 /* f09f4bc: 27a50058 */ addiu $a1,$sp,0x58 /* f09f4c0: 3c017f1b */ lui $at,%hi(var7f1ac720) /* f09f4c4: c430c71c */ lwc1 $f16,%lo(var7f1ac71c)($at) /* f09f4c8: c7a40138 */ lwc1 $f4,0x138($sp) /* f09f4cc: 44804000 */ mtc1 $zero,$f8 /* f09f4d0: 27a40068 */ addiu $a0,$sp,0x68 /* f09f4d4: 46048003 */ div.s $f0,$f16,$f4 /* f09f4d8: 27a50058 */ addiu $a1,$sp,0x58 /* f09f4dc: 4608003c */ c.lt.s $f0,$f8 /* f09f4e0: 46000086 */ mov.s $f2,$f0 /* f09f4e4: 45020003 */ bc1fl .L0f09f4f4 /* f09f4e8: 44061000 */ mfc1 $a2,$f2 /* f09f4ec: 46000087 */ neg.s $f2,$f0 /* f09f4f0: 44061000 */ mfc1 $a2,$f2 .L0f09f4f4: /* f09f4f4: 0fc25cae */ jal func0f0972b8 /* f09f4f8: 27a70048 */ addiu $a3,$sp,0x48 /* f09f4fc: 27a40048 */ addiu $a0,$sp,0x48 /* f09f500: 0fc25bb5 */ jal func0f096ed4 /* f09f504: 27a50078 */ addiu $a1,$sp,0x78 /* f09f508: c7b20098 */ lwc1 $f18,0x98($sp) /* f09f50c: c7aa009c */ lwc1 $f10,0x9c($sp) /* f09f510: c7a400a0 */ lwc1 $f4,0xa0($sp) /* f09f514: 46009187 */ neg.s $f6,$f18 /* f09f518: 46005407 */ neg.s $f16,$f10 /* f09f51c: 46002207 */ neg.s $f8,$f4 /* f09f520: e7a601dc */ swc1 $f6,0x1dc($sp) /* f09f524: e7b001e0 */ swc1 $f16,0x1e0($sp) /* f09f528: 10000006 */ b .L0f09f544 /* f09f52c: e7a801e4 */ swc1 $f8,0x1e4($sp) /* f09f530: c7a60144 */ lwc1 $f6,0x144($sp) .L0f09f534: /* f09f534: c7aa0148 */ lwc1 $f10,0x148($sp) /* f09f538: e7b201dc */ swc1 $f18,0x1dc($sp) /* f09f53c: e7a601e0 */ swc1 $f6,0x1e0($sp) /* f09f540: e7aa01e4 */ swc1 $f10,0x1e4($sp) .L0f09f544: /* f09f544: 3c017f1b */ lui $at,%hi(var7f1ac724) /* f09f548: c420c720 */ lwc1 $f0,%lo(var7f1ac720)($at) /* f09f54c: c7b001dc */ lwc1 $f16,0x1dc($sp) /* f09f550: c7a801e0 */ lwc1 $f8,0x1e0($sp) /* f09f554: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09f558: 46008102 */ mul.s $f4,$f16,$f0 /* f09f55c: 00000000 */ nop /* f09f560: 46004482 */ mul.s $f18,$f8,$f0 /* f09f564: 00000000 */ nop /* f09f568: 46003282 */ mul.s $f10,$f6,$f0 /* f09f56c: e7a40234 */ swc1 $f4,0x234($sp) /* f09f570: e7b20238 */ swc1 $f18,0x238($sp) /* f09f574: 1000001f */ b .L0f09f5f4 /* f09f578: e7aa023c */ swc1 $f10,0x23c($sp) .L0f09f57c: /* f09f57c: c420c724 */ lwc1 $f0,%lo(var7f1ac724)($at) /* f09f580: c7b001dc */ lwc1 $f16,0x1dc($sp) /* f09f584: c7a801e0 */ lwc1 $f8,0x1e0($sp) /* f09f588: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09f58c: 46008102 */ mul.s $f4,$f16,$f0 /* f09f590: 8fb80244 */ lw $t8,0x244($sp) /* f09f594: 2401001e */ addiu $at,$zero,0x1e /* f09f598: 46004482 */ mul.s $f18,$f8,$f0 /* f09f59c: 00000000 */ nop /* f09f5a0: 46003282 */ mul.s $f10,$f6,$f0 /* f09f5a4: e7a40234 */ swc1 $f4,0x234($sp) /* f09f5a8: e7b20238 */ swc1 $f18,0x238($sp) /* f09f5ac: c7b00238 */ lwc1 $f16,0x238($sp) /* f09f5b0: e7aa023c */ swc1 $f10,0x23c($sp) /* f09f5b4: 93030000 */ lbu $v1,0x0($t8) /* f09f5b8: 10610004 */ beq $v1,$at,.L0f09f5cc /* f09f5bc: 00000000 */ nop /* f09f5c0: 2401001f */ addiu $at,$zero,0x1f /* f09f5c4: 14610006 */ bne $v1,$at,.L0f09f5e0 /* f09f5c8: c7a80238 */ lwc1 $f8,0x238($sp) .L0f09f5cc: /* f09f5cc: 3c017f1b */ lui $at,%hi(var7f1ac728) /* f09f5d0: c420c728 */ lwc1 $f0,%lo(var7f1ac728)($at) /* f09f5d4: 46008100 */ add.s $f4,$f16,$f0 /* f09f5d8: 10000006 */ b .L0f09f5f4 /* f09f5dc: e7a40238 */ swc1 $f4,0x238($sp) .L0f09f5e0: /* f09f5e0: 3c0140a0 */ lui $at,0x40a0 /* f09f5e4: 44819000 */ mtc1 $at,$f18 /* f09f5e8: 00000000 */ nop /* f09f5ec: 46124180 */ add.s $f6,$f8,$f18 /* f09f5f0: e7a60238 */ swc1 $f6,0x238($sp) .L0f09f5f4: /* f09f5f4: 8fae0244 */ lw $t6,0x244($sp) /* f09f5f8: 2401000e */ addiu $at,$zero,0xe /* f09f5fc: 91cf0000 */ lbu $t7,0x0($t6) /* f09f600: 15e10003 */ bne $t7,$at,.L0f09f610 /* f09f604: 00000000 */ nop /* f09f608: 0fc284d3 */ jal bgun0f0a134c /* f09f60c: 8fa40240 */ lw $a0,0x240($sp) .L0f09f610: /* f09f610: 3c08800a */ lui $t0,%hi(g_Vars) /* f09f614: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f09f618: 8d090034 */ lw $t1,0x34($t0) /* f09f61c: 8fa201d8 */ lw $v0,0x1d8($sp) /* f09f620: 8fa301d4 */ lw $v1,0x1d4($sp) /* f09f624: 1920001e */ blez $t1,.L0f09f6a0 /* f09f628: 27a60170 */ addiu $a2,$sp,0x170 /* f09f62c: c44a0008 */ lwc1 $f10,0x8($v0) /* f09f630: c4700000 */ lwc1 $f16,0x0($v1) /* f09f634: 8fa401d0 */ lw $a0,0x1d0($sp) /* f09f638: c500004c */ lwc1 $f0,0x4c($t0) /* f09f63c: 46105101 */ sub.s $f4,$f10,$f16 /* f09f640: c4880000 */ lwc1 $f8,0x0($a0) /* f09f644: c7aa0234 */ lwc1 $f10,0x234($sp) /* f09f648: 46082480 */ add.s $f18,$f4,$f8 /* f09f64c: 46009183 */ div.s $f6,$f18,$f0 /* f09f650: 46065400 */ add.s $f16,$f10,$f6 /* f09f654: e7b00234 */ swc1 $f16,0x234($sp) /* f09f658: c4680004 */ lwc1 $f8,0x4($v1) /* f09f65c: c444000c */ lwc1 $f4,0xc($v0) /* f09f660: c48a0004 */ lwc1 $f10,0x4($a0) /* f09f664: 46082481 */ sub.s $f18,$f4,$f8 /* f09f668: c7a40238 */ lwc1 $f4,0x238($sp) /* f09f66c: 460a9180 */ add.s $f6,$f18,$f10 /* f09f670: 46003403 */ div.s $f16,$f6,$f0 /* f09f674: 46102200 */ add.s $f8,$f4,$f16 /* f09f678: e7a80238 */ swc1 $f8,0x238($sp) /* f09f67c: c46a0008 */ lwc1 $f10,0x8($v1) /* f09f680: c4520010 */ lwc1 $f18,0x10($v0) /* f09f684: c4840008 */ lwc1 $f4,0x8($a0) /* f09f688: 460a9181 */ sub.s $f6,$f18,$f10 /* f09f68c: c7b2023c */ lwc1 $f18,0x23c($sp) /* f09f690: 46043400 */ add.s $f16,$f6,$f4 /* f09f694: 46008203 */ div.s $f8,$f16,$f0 /* f09f698: 46089280 */ add.s $f10,$f18,$f8 /* f09f69c: e7aa023c */ swc1 $f10,0x23c($sp) .L0f09f6a0: /* f09f6a0: 8d0a0284 */ lw $t2,0x284($t0) /* f09f6a4: 27ac01f4 */ addiu $t4,$sp,0x1f4 /* f09f6a8: 27b90234 */ addiu $t9,$sp,0x234 /* f09f6ac: 8d4b00bc */ lw $t3,0xbc($t2) /* f09f6b0: 8fa50244 */ lw $a1,0x244($sp) /* f09f6b4: 27a70160 */ addiu $a3,$sp,0x160 /* f09f6b8: 8d640004 */ lw $a0,0x4($t3) /* f09f6bc: afb90014 */ sw $t9,0x14($sp) /* f09f6c0: 0fc27b86 */ jal bgun0f09ee18 /* f09f6c4: afac0010 */ sw $t4,0x10($sp) /* f09f6c8: 1040005b */ beqz $v0,.L0f09f838 /* f09f6cc: 00402025 */ or $a0,$v0,$zero /* f09f6d0: 904d0003 */ lbu $t5,0x3($v0) /* f09f6d4: 24010008 */ addiu $at,$zero,0x8 /* f09f6d8: 8fa60244 */ lw $a2,0x244($sp) /* f09f6dc: 55a10027 */ bnel $t5,$at,.L0f09f77c /* f09f6e0: 8c8d0040 */ lw $t5,0x40($a0) /* f09f6e4: afa20188 */ sw $v0,0x188($sp) /* f09f6e8: 90c30000 */ lbu $v1,0x0($a2) /* f09f6ec: 2401001e */ addiu $at,$zero,0x1e /* f09f6f0: 54610013 */ bnel $v1,$at,.L0f09f740 /* f09f6f4: 24010035 */ addiu $at,$zero,0x35 /* f09f6f8: 90d80003 */ lbu $t8,0x3($a2) /* f09f6fc: 8fae0158 */ lw $t6,0x158($sp) /* f09f700: 5700000f */ bnezl $t8,.L0f09f740 /* f09f704: 24010035 */ addiu $at,$zero,0x35 /* f09f708: 85c306d4 */ lh $v1,0x6d4($t6) /* f09f70c: 84450062 */ lh $a1,0x62($v0) /* f09f710: 00037880 */ sll $t7,$v1,0x2 /* f09f714: 00af082a */ slt $at,$a1,$t7 /* f09f718: 10200003 */ beqz $at,.L0f09f728 /* f09f71c: 01e01825 */ or $v1,$t7,$zero /* f09f720: 10000003 */ b .L0f09f730 /* f09f724: a4400062 */ sh $zero,0x62($v0) .L0f09f728: /* f09f728: 00a34823 */ subu $t1,$a1,$v1 /* f09f72c: a4490062 */ sh $t1,0x62($v0) .L0f09f730: /* f09f730: 90ca0003 */ lbu $t2,0x3($a2) /* f09f734: 10000010 */ b .L0f09f778 /* f09f738: a04a005f */ sb $t2,0x5f($v0) /* f09f73c: 24010035 */ addiu $at,$zero,0x35 .L0f09f740: /* f09f740: 1461000d */ bne $v1,$at,.L0f09f778 /* f09f744: 3c0b800a */ lui $t3,%hi(g_Vars+0x4b4) /* f09f748: 8d6ba474 */ lw $t3,%lo(g_Vars+0x4b4)($t3) /* f09f74c: 24010026 */ addiu $at,$zero,0x26 /* f09f750: 5561000a */ bnel $t3,$at,.L0f09f77c /* f09f754: 8c8d0040 */ lw $t5,0x40($a0) /* f09f758: 0fc68606 */ jal dtGetData /* f09f75c: afa4018c */ sw $a0,0x18c($sp) /* f09f760: 8c4c0000 */ lw $t4,0x0($v0) /* f09f764: 8fa4018c */ lw $a0,0x18c($sp) /* f09f768: 000ccfc2 */ srl $t9,$t4,0x1f /* f09f76c: 53200003 */ beqzl $t9,.L0f09f77c /* f09f770: 8c8d0040 */ lw $t5,0x40($a0) /* f09f774: ac440008 */ sw $a0,0x8($v0) .L0f09f778: /* f09f778: 8c8d0040 */ lw $t5,0x40($a0) .L0f09f77c: /* f09f77c: 8fa60244 */ lw $a2,0x244($sp) /* f09f780: 31b80080 */ andi $t8,$t5,0x80 /* f09f784: 5300002d */ beqzl $t8,.L0f09f83c /* f09f788: 8fbf002c */ lw $ra,0x2c($sp) /* f09f78c: 8c820048 */ lw $v0,0x48($a0) /* f09f790: 2401001e */ addiu $at,$zero,0x1e /* f09f794: 8c4e0000 */ lw $t6,0x0($v0) /* f09f798: 35cf0080 */ ori $t7,$t6,0x80 /* f09f79c: ac4f0000 */ sw $t7,0x0($v0) /* f09f7a0: 8c890048 */ lw $t1,0x48($a0) /* f09f7a4: c7a6017c */ lwc1 $f6,0x17c($sp) /* f09f7a8: e52600c4 */ swc1 $f6,0xc4($t1) /* f09f7ac: 8c8a0048 */ lw $t2,0x48($a0) /* f09f7b0: c7a40180 */ lwc1 $f4,0x180($sp) /* f09f7b4: e54400c8 */ swc1 $f4,0xc8($t2) /* f09f7b8: 8c8b0048 */ lw $t3,0x48($a0) /* f09f7bc: c7b00184 */ lwc1 $f16,0x184($sp) /* f09f7c0: e57000cc */ swc1 $f16,0xcc($t3) /* f09f7c4: 90c30000 */ lbu $v1,0x0($a2) /* f09f7c8: 5461000a */ bnel $v1,$at,.L0f09f7f4 /* f09f7cc: 2401001a */ addiu $at,$zero,0x1a /* f09f7d0: 90cc0003 */ lbu $t4,0x3($a2) /* f09f7d4: 24010001 */ addiu $at,$zero,0x1 /* f09f7d8: 15810005 */ bne $t4,$at,.L0f09f7f0 /* f09f7dc: 3c013f80 */ lui $at,0x3f80 /* f09f7e0: 44819000 */ mtc1 $at,$f18 /* f09f7e4: 8c990048 */ lw $t9,0x48($a0) /* f09f7e8: e732008c */ swc1 $f18,0x8c($t9) /* f09f7ec: 90c30000 */ lbu $v1,0x0($a2) .L0f09f7f0: /* f09f7f0: 2401001a */ addiu $at,$zero,0x1a .L0f09f7f4: /* f09f7f4: 14610010 */ bne $v1,$at,.L0f09f838 /* f09f7f8: 8fad0188 */ lw $t5,0x188($sp) /* f09f7fc: 8da20048 */ lw $v0,0x48($t5) /* f09f800: 3c017f1b */ lui $at,%hi(var7f1ac72c) /* f09f804: 240a00f0 */ addiu $t2,$zero,0xf0 /* f09f808: 8c580000 */ lw $t8,0x0($v0) /* f09f80c: 370e0002 */ ori $t6,$t8,0x2 /* f09f810: ac4e0000 */ sw $t6,0x0($v0) /* f09f814: 8faf0188 */ lw $t7,0x188($sp) /* f09f818: c428c72c */ lwc1 $f8,%lo(var7f1ac72c)($at) /* f09f81c: 8de90048 */ lw $t1,0x48($t7) /* f09f820: e528008c */ swc1 $f8,0x8c($t1) /* f09f824: 8deb0048 */ lw $t3,0x48($t7) /* f09f828: ad6a00b4 */ sw $t2,0xb4($t3) /* f09f82c: 8dec0040 */ lw $t4,0x40($t7) /* f09f830: 35990020 */ ori $t9,$t4,0x20 /* f09f834: adf90040 */ sw $t9,0x40($t7) .L0f09f838: /* f09f838: 8fbf002c */ lw $ra,0x2c($sp) .L0f09f83c: /* f09f83c: 27bd0240 */ addiu $sp,$sp,0x240 /* f09f840: 03e00008 */ jr $ra /* f09f844: 00000000 */ nop ); #endif void bgun0f09f848(s32 handnum) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; struct defaultobj *obj = &hand->rocket->base; if (obj) { struct prop *objprop = obj->prop; Mtxf mtx; if (objprop) { struct prop *playerprop = g_Vars.currentplayer->prop; struct model *model = obj->model; if (!hand->firedrocket) { func00015d18(&hand->posmtx, &mtx); mtx.m[3][0] = 0; mtx.m[3][1] = 0; mtx.m[3][2] = 0; func00015f04(obj->model->scale, &mtx); func0f06a580(obj, &hand->muzzlepos, &mtx, playerprop->rooms); propDeregisterRooms(objprop); } model->matrices = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf)); func00015d18(&hand->muzzlemat, &model->matrices[0]); func0001cb0c(model, model->filedata->rootnode); objprop->flags |= PROPFLAG_40 | PROPFLAG_ONSCREEN; objprop->z = -model->matrices[0].m[3][2]; } } } void bgun0f09f974(s32 handnum, struct weaponfunc_shootprojectile *func) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; struct weaponobj *obj; if (hand->rocket == NULL) { #if VERSION >= VERSION_NTSC_1_0 hand->firedrocket = false; #endif obj = func0f08b880(func->projectilemodelnum, WEAPON_ROCKET, g_Vars.currentplayer->prop->chr); if (obj != NULL) { hand->rocket = obj; hand->firedrocket = false; obj->timer240 = 1; #if VERSION >= VERSION_NTSC_1_0 obj->base.flags |= OBJFLAG_00800000; #endif obj->base.flags2 |= OBJFLAG2_THROWTHROUGH; } } } void bgun0f09fa20(s32 handnum) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; if (hand->rocket) { objRemove(&hand->rocket->base, true); hand->rocket = NULL; } } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgunCreateFiredProjectile .late_rodata glabel var7f1ac730 .word 0x3fd55555 glabel var7f1ac734 .word 0x3e32b179 glabel var7f1ac738 .word 0xbe32b179 glabel var7f1ac73c .word 0x3e32b179 glabel var7f1ac740 .word 0x3fd55555 .text /* f09fd88: 3c02800a */ lui $v0,0x800a /* f09fd8c: 00042900 */ sll $a1,$a0,0x4 /* f09fd90: 8c42a794 */ lw $v0,-0x586c($v0) /* f09fd94: 00a42823 */ subu $a1,$a1,$a0 /* f09fd98: 27bdfd48 */ addiu $sp,$sp,-696 /* f09fd9c: 00052880 */ sll $a1,$a1,0x2 /* f09fda0: 00a42821 */ addu $a1,$a1,$a0 /* f09fda4: afbf004c */ sw $ra,0x4c($sp) /* f09fda8: afb00048 */ sw $s0,0x48($sp) /* f09fdac: 000528c0 */ sll $a1,$a1,0x3 /* f09fdb0: 8c4e00bc */ lw $t6,0xbc($v0) /* f09fdb4: 00a42821 */ addu $a1,$a1,$a0 /* f09fdb8: 00052880 */ sll $a1,$a1,0x2 /* f09fdbc: 00451821 */ addu $v1,$v0,$a1 /* f09fdc0: 244f0310 */ addiu $t7,$v0,0x310 /* f09fdc4: 24581c44 */ addiu $t8,$v0,0x1c44 /* f09fdc8: 00808025 */ move $s0,$a0 /* f09fdcc: afaf01f0 */ sw $t7,0x1f0($sp) /* f09fdd0: afb801ec */ sw $t8,0x1ec($sp) /* f09fdd4: afae01f4 */ sw $t6,0x1f4($sp) /* f09fdd8: 24630638 */ addiu $v1,$v1,0x638 /* f09fddc: 90640000 */ lbu $a0,0x0($v1) /* f09fde0: afa50058 */ sw $a1,0x58($sp) /* f09fde4: 0fc2c524 */ jal weaponFindById /* f09fde8: afa302b0 */ sw $v1,0x2b0($sp) /* f09fdec: 1040022d */ beqz $v0,.PF0f0a06a4 /* f09fdf0: 8fb902b0 */ lw $t9,0x2b0($sp) /* f09fdf4: 93280003 */ lbu $t0,0x3($t9) /* f09fdf8: 00084880 */ sll $t1,$t0,0x2 /* f09fdfc: 00495021 */ addu $t2,$v0,$t1 /* f09fe00: 8d430014 */ lw $v1,0x14($t2) /* f09fe04: 50600228 */ beqzl $v1,.PF0f0a06a8 /* f09fe08: 8fbf004c */ lw $ra,0x4c($sp) /* f09fe0c: 8c6b0000 */ lw $t3,0x0($v1) /* f09fe10: 24010201 */ li $at,0x201 /* f09fe14: 27a40270 */ addiu $a0,$sp,0x270 /* f09fe18: 55610223 */ bnel $t3,$at,.PF0f0a06a8 /* f09fe1c: 8fbf004c */ lw $ra,0x4c($sp) /* f09fe20: 0c0055d0 */ jal func000159b0 /* f09fe24: afa301d8 */ sw $v1,0x1d8($sp) /* f09fe28: 27a40204 */ addiu $a0,$sp,0x204 /* f09fe2c: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09fe30: 02003025 */ move $a2,$s0 /* f09fe34: 0fc283f5 */ jal bgunCalculateShotSpread /* f09fe38: 24070001 */ li $a3,0x1 /* f09fe3c: 0fc2d726 */ jal currentPlayerGetUnk174c /* f09fe40: 00000000 */ nop /* f09fe44: 00402025 */ move $a0,$v0 /* f09fe48: 0c005628 */ jal func00015b10 /* f09fe4c: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09fe50: 8fa402b0 */ lw $a0,0x2b0($sp) /* f09fe54: 24010019 */ li $at,0x19 /* f09fe58: c4840374 */ lwc1 $f4,0x374($a0) /* f09fe5c: e7a401e0 */ swc1 $f4,0x1e0($sp) /* f09fe60: c4860378 */ lwc1 $f6,0x378($a0) /* f09fe64: e7a601e4 */ swc1 $f6,0x1e4($sp) /* f09fe68: c488037c */ lwc1 $f8,0x37c($a0) /* f09fe6c: e7a801e8 */ swc1 $f8,0x1e8($sp) /* f09fe70: 908c0000 */ lbu $t4,0x0($a0) /* f09fe74: 55810016 */ bnel $t4,$at,.PF0f09fed0 /* f09fe78: 8fa201d8 */ lw $v0,0x1d8($sp) /* f09fe7c: 908d0003 */ lbu $t5,0x3($a0) /* f09fe80: 24010001 */ li $at,0x1 /* f09fe84: c7aa01e0 */ lwc1 $f10,0x1e0($sp) /* f09fe88: 15a10010 */ bne $t5,$at,.PF0f09fecc /* f09fe8c: c7b001f8 */ lwc1 $f16,0x1f8($sp) /* f09fe90: 3c014248 */ lui $at,0x4248 /* f09fe94: 44810000 */ mtc1 $at,$f0 /* f09fe98: c7a801fc */ lwc1 $f8,0x1fc($sp) /* f09fe9c: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09fea0: 46100482 */ mul.s $f18,$f0,$f16 /* f09fea4: 46125100 */ add.s $f4,$f10,$f18 /* f09fea8: 46080402 */ mul.s $f16,$f0,$f8 /* f09feac: c7b201e8 */ lwc1 $f18,0x1e8($sp) /* f09feb0: e7a401e0 */ swc1 $f4,0x1e0($sp) /* f09feb4: c7a40200 */ lwc1 $f4,0x200($sp) /* f09feb8: 46040202 */ mul.s $f8,$f0,$f4 /* f09febc: 46103280 */ add.s $f10,$f6,$f16 /* f09fec0: e7aa01e4 */ swc1 $f10,0x1e4($sp) /* f09fec4: 46089180 */ add.s $f6,$f18,$f8 /* f09fec8: e7a601e8 */ swc1 $f6,0x1e8($sp) .PF0f09fecc: /* f09fecc: 8fa201d8 */ lw $v0,0x1d8($sp) .PF0f09fed0: /* f09fed0: 3c017f1b */ lui $at,0x7f1b /* f09fed4: c420d930 */ lwc1 $f0,-0x26d0($at) /* f09fed8: 8c4e004c */ lw $t6,0x4c($v0) /* f09fedc: 3c014270 */ lui $at,0x4270 /* f09fee0: 44819000 */ mtc1 $at,$f18 /* f09fee4: 448e8000 */ mtc1 $t6,$f16 /* f09fee8: 3c050080 */ lui $a1,0x80 /* f09feec: 468082a0 */ cvt.s.w $f10,$f16 /* f09fef0: 46005102 */ mul.s $f4,$f10,$f0 /* f09fef4: 46122203 */ div.s $f8,$f4,$f18 /* f09fef8: e7a80260 */ swc1 $f8,0x260($sp) /* f09fefc: 8c4f0054 */ lw $t7,0x54($v0) /* f09ff00: 448f3000 */ mtc1 $t7,$f6 /* f09ff04: 00000000 */ nop /* f09ff08: 46803420 */ cvt.s.w $f16,$f6 /* f09ff0c: 46008282 */ mul.s $f10,$f16,$f0 /* f09ff10: 0fc2c8e8 */ jal gsetHasFunctionFlags /* f09ff14: e7aa025c */ swc1 $f10,0x25c($sp) /* f09ff18: 1040007a */ beqz $v0,.PF0f0a0104 /* f09ff1c: 00002025 */ move $a0,$zero /* f09ff20: 00002825 */ move $a1,$zero /* f09ff24: 0fc187ed */ jal func0f061d54 /* f09ff28: 00003025 */ move $a2,$zero /* f09ff2c: 8fa302b0 */ lw $v1,0x2b0($sp) /* f09ff30: 8c7806b4 */ lw $t8,0x6b4($v1) /* f09ff34: 53000074 */ beqzl $t8,.PF0f0a0108 /* f09ff38: c7ac0260 */ lwc1 $f12,0x260($sp) /* f09ff3c: c46406b8 */ lwc1 $f4,0x6b8($v1) /* f09ff40: 27a401e0 */ addiu $a0,$sp,0x1e0 /* f09ff44: 8fa5025c */ lw $a1,0x25c($sp) /* f09ff48: e7a401c8 */ swc1 $f4,0x1c8($sp) /* f09ff4c: c47206bc */ lwc1 $f18,0x6bc($v1) /* f09ff50: 27a601c8 */ addiu $a2,$sp,0x1c8 /* f09ff54: 27a701bc */ addiu $a3,$sp,0x1bc /* f09ff58: e7b201cc */ swc1 $f18,0x1cc($sp) /* f09ff5c: c46806c0 */ lwc1 $f8,0x6c0($v1) /* f09ff60: 0fc10128 */ jal func0f04031c /* f09ff64: e7a801d0 */ swc1 $f8,0x1d0($sp) /* f09ff68: c7a601f8 */ lwc1 $f6,0x1f8($sp) /* f09ff6c: c7b001bc */ lwc1 $f16,0x1bc($sp) /* f09ff70: c7a401fc */ lwc1 $f4,0x1fc($sp) /* f09ff74: c7b201c0 */ lwc1 $f18,0x1c0($sp) /* f09ff78: 46103282 */ mul.s $f10,$f6,$f16 /* f09ff7c: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f09ff80: 46122202 */ mul.s $f8,$f4,$f18 /* f09ff84: c7a40200 */ lwc1 $f4,0x200($sp) /* f09ff88: 46048482 */ mul.s $f18,$f16,$f4 /* f09ff8c: 46085180 */ add.s $f6,$f10,$f8 /* f09ff90: 0fc25a3c */ jal func0f0969d0 /* f09ff94: 46069300 */ add.s $f12,$f18,$f6 /* f09ff98: 3c017f1b */ lui $at,0x7f1b /* f09ff9c: c42ad934 */ lwc1 $f10,-0x26cc($at) /* f09ffa0: 27b00174 */ addiu $s0,$sp,0x174 /* f09ffa4: e7a001b4 */ swc1 $f0,0x1b4($sp) /* f09ffa8: 4600503c */ c.lt.s $f10,$f0 /* f09ffac: 3c017f1b */ lui $at,0x7f1b /* f09ffb0: 02002025 */ move $a0,$s0 /* f09ffb4: c7b001f8 */ lwc1 $f16,0x1f8($sp) /* f09ffb8: 45030008 */ bc1tl .PF0f09ffdc /* f09ffbc: 44801000 */ mtc1 $zero,$f2 /* f09ffc0: c428d938 */ lwc1 $f8,-0x26c8($at) /* f09ffc4: c7aa01bc */ lwc1 $f10,0x1bc($sp) /* f09ffc8: 4608003c */ c.lt.s $f0,$f8 /* f09ffcc: 00000000 */ nop /* f09ffd0: 45020048 */ bc1fl .PF0f0a00f4 /* f09ffd4: c7a801c0 */ lwc1 $f8,0x1c0($sp) /* f09ffd8: 44801000 */ mtc1 $zero,$f2 .PF0f09ffdc: /* f09ffdc: 3c013f80 */ lui $at,0x3f80 /* f09ffe0: 44813000 */ mtc1 $at,$f6 /* f09ffe4: c7a401fc */ lwc1 $f4,0x1fc($sp) /* f09ffe8: c7b20200 */ lwc1 $f18,0x200($sp) /* f09ffec: 44051000 */ mfc1 $a1,$f2 /* f09fff0: 44061000 */ mfc1 $a2,$f2 /* f09fff4: 44071000 */ mfc1 $a3,$f2 /* f09fff8: e7b00010 */ swc1 $f16,0x10($sp) /* f09fffc: e7a2001c */ swc1 $f2,0x1c($sp) /* f0a0000: e7a20024 */ swc1 $f2,0x24($sp) /* f0a0004: e7a40014 */ swc1 $f4,0x14($sp) /* f0a0008: e7a60020 */ swc1 $f6,0x20($sp) /* f0a000c: 0c005a3a */ jal func00016b58 /* f0a0010: e7b20018 */ swc1 $f18,0x18($sp) /* f0a0014: 44801000 */ mtc1 $zero,$f2 /* f0a0018: 3c013f80 */ lui $at,0x3f80 /* f0a001c: 44812000 */ mtc1 $at,$f4 /* f0a0020: c7aa01bc */ lwc1 $f10,0x1bc($sp) /* f0a0024: c7a801c0 */ lwc1 $f8,0x1c0($sp) /* f0a0028: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f0a002c: 44051000 */ mfc1 $a1,$f2 /* f0a0030: 44061000 */ mfc1 $a2,$f2 /* f0a0034: 44071000 */ mfc1 $a3,$f2 /* f0a0038: 27a40134 */ addiu $a0,$sp,0x134 /* f0a003c: e7a2001c */ swc1 $f2,0x1c($sp) /* f0a0040: e7a20024 */ swc1 $f2,0x24($sp) /* f0a0044: e7aa0010 */ swc1 $f10,0x10($sp) /* f0a0048: e7a40020 */ swc1 $f4,0x20($sp) /* f0a004c: e7a80014 */ swc1 $f8,0x14($sp) /* f0a0050: 0c005a3a */ jal func00016b58 /* f0a0054: e7b00018 */ swc1 $f16,0x18($sp) /* f0a0058: 02002025 */ move $a0,$s0 /* f0a005c: 0fc25bd9 */ jal func0f097044 /* f0a0060: 27a500e4 */ addiu $a1,$sp,0xe4 /* f0a0064: 27b000d4 */ addiu $s0,$sp,0xd4 /* f0a0068: 02002825 */ move $a1,$s0 /* f0a006c: 0fc25bd9 */ jal func0f097044 /* f0a0070: 27a40134 */ addiu $a0,$sp,0x134 /* f0a0074: 27a400e4 */ addiu $a0,$sp,0xe4 /* f0a0078: 0fc25d78 */ jal func0f0976c0 /* f0a007c: 02002825 */ move $a1,$s0 /* f0a0080: 3c017f1b */ lui $at,0x7f1b /* f0a0084: c432d93c */ lwc1 $f18,-0x26c4($at) /* f0a0088: c7a601b4 */ lwc1 $f6,0x1b4($sp) /* f0a008c: 44801000 */ mtc1 $zero,$f2 /* f0a0090: 27a400e4 */ addiu $a0,$sp,0xe4 /* f0a0094: 46069003 */ div.s $f0,$f18,$f6 /* f0a0098: 02002825 */ move $a1,$s0 /* f0a009c: 4602003c */ c.lt.s $f0,$f2 /* f0a00a0: 46000306 */ mov.s $f12,$f0 /* f0a00a4: 45020003 */ bc1fl .PF0f0a00b4 /* f0a00a8: 44066000 */ mfc1 $a2,$f12 /* f0a00ac: 46000307 */ neg.s $f12,$f0 /* f0a00b0: 44066000 */ mfc1 $a2,$f12 .PF0f0a00b4: /* f0a00b4: 0fc25c76 */ jal func0f0972b8 /* f0a00b8: 27a700c4 */ addiu $a3,$sp,0xc4 /* f0a00bc: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0a00c0: 0fc25b7d */ jal func0f096ed4 /* f0a00c4: 27a500f4 */ addiu $a1,$sp,0xf4 /* f0a00c8: c7aa0114 */ lwc1 $f10,0x114($sp) /* f0a00cc: c7b00118 */ lwc1 $f16,0x118($sp) /* f0a00d0: c7b2011c */ lwc1 $f18,0x11c($sp) /* f0a00d4: 46005207 */ neg.s $f8,$f10 /* f0a00d8: 46008107 */ neg.s $f4,$f16 /* f0a00dc: 46009187 */ neg.s $f6,$f18 /* f0a00e0: e7a801f8 */ swc1 $f8,0x1f8($sp) /* f0a00e4: e7a401fc */ swc1 $f4,0x1fc($sp) /* f0a00e8: 10000006 */ b .PF0f0a0104 /* f0a00ec: e7a60200 */ swc1 $f6,0x200($sp) /* f0a00f0: c7a801c0 */ lwc1 $f8,0x1c0($sp) .PF0f0a00f4: /* f0a00f4: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f0a00f8: e7aa01f8 */ swc1 $f10,0x1f8($sp) /* f0a00fc: e7a801fc */ swc1 $f8,0x1fc($sp) /* f0a0100: e7b00200 */ swc1 $f16,0x200($sp) .PF0f0a0104: /* f0a0104: c7ac0260 */ lwc1 $f12,0x260($sp) .PF0f0a0108: /* f0a0108: c7a401f8 */ lwc1 $f4,0x1f8($sp) /* f0a010c: c7a601fc */ lwc1 $f6,0x1fc($sp) /* f0a0110: c7a80200 */ lwc1 $f8,0x200($sp) /* f0a0114: 460c2482 */ mul.s $f18,$f4,$f12 /* f0a0118: c7ae025c */ lwc1 $f14,0x25c($sp) /* f0a011c: 3c02800a */ lui $v0,0x800a /* f0a0120: 460c3282 */ mul.s $f10,$f6,$f12 /* f0a0124: 2442a510 */ addiu $v0,$v0,-23280 /* f0a0128: c440004c */ lwc1 $f0,0x4c($v0) /* f0a012c: 460c4402 */ mul.s $f16,$f8,$f12 /* f0a0130: e7b20250 */ swc1 $f18,0x250($sp) /* f0a0134: 8fb901d8 */ lw $t9,0x1d8($sp) /* f0a0138: 460e2102 */ mul.s $f4,$f4,$f14 /* f0a013c: e7aa0254 */ swc1 $f10,0x254($sp) /* f0a0140: 46009482 */ mul.s $f18,$f18,$f0 /* f0a0144: e7b00258 */ swc1 $f16,0x258($sp) /* f0a0148: 46122100 */ add.s $f4,$f4,$f18 /* f0a014c: 460e3482 */ mul.s $f18,$f6,$f14 /* f0a0150: 00000000 */ nop /* f0a0154: 46005182 */ mul.s $f6,$f10,$f0 /* f0a0158: e7a40264 */ swc1 $f4,0x264($sp) /* f0a015c: 46069280 */ add.s $f10,$f18,$f6 /* f0a0160: 460e4482 */ mul.s $f18,$f8,$f14 /* f0a0164: 00000000 */ nop /* f0a0168: 46008182 */ mul.s $f6,$f16,$f0 /* f0a016c: e7aa0268 */ swc1 $f10,0x268($sp) /* f0a0170: 46069280 */ add.s $f10,$f18,$f6 /* f0a0174: e7aa026c */ swc1 $f10,0x26c($sp) /* f0a0178: 8f280010 */ lw $t0,0x10($t9) /* f0a017c: 31090800 */ andi $t1,$t0,0x800 /* f0a0180: 15200021 */ bnez $t1,.PF0f0a0208 /* f0a0184: 00000000 */ nop /* f0a0188: 8c4a0034 */ lw $t2,0x34($v0) /* f0a018c: 8fa401f4 */ lw $a0,0x1f4($sp) /* f0a0190: 8fa501f0 */ lw $a1,0x1f0($sp) /* f0a0194: 5940001d */ blezl $t2,.PF0f0a020c /* f0a0198: 8c4b0284 */ lw $t3,0x284($v0) /* f0a019c: c4880008 */ lwc1 $f8,0x8($a0) /* f0a01a0: c4b00000 */ lwc1 $f16,0x0($a1) /* f0a01a4: 8fa601ec */ lw $a2,0x1ec($sp) /* f0a01a8: 46104481 */ sub.s $f18,$f8,$f16 /* f0a01ac: c4c60000 */ lwc1 $f6,0x0($a2) /* f0a01b0: 46069280 */ add.s $f10,$f18,$f6 /* f0a01b4: 46005203 */ div.s $f8,$f10,$f0 /* f0a01b8: 46082400 */ add.s $f16,$f4,$f8 /* f0a01bc: e7b00264 */ swc1 $f16,0x264($sp) /* f0a01c0: c4a60004 */ lwc1 $f6,0x4($a1) /* f0a01c4: c492000c */ lwc1 $f18,0xc($a0) /* f0a01c8: c4c40004 */ lwc1 $f4,0x4($a2) /* f0a01cc: 46069281 */ sub.s $f10,$f18,$f6 /* f0a01d0: c7b20268 */ lwc1 $f18,0x268($sp) /* f0a01d4: 46045200 */ add.s $f8,$f10,$f4 /* f0a01d8: 46004403 */ div.s $f16,$f8,$f0 /* f0a01dc: 46109180 */ add.s $f6,$f18,$f16 /* f0a01e0: e7a60268 */ swc1 $f6,0x268($sp) /* f0a01e4: c4a40008 */ lwc1 $f4,0x8($a1) /* f0a01e8: c48a0010 */ lwc1 $f10,0x10($a0) /* f0a01ec: c4d20008 */ lwc1 $f18,0x8($a2) /* f0a01f0: 46045201 */ sub.s $f8,$f10,$f4 /* f0a01f4: c7aa026c */ lwc1 $f10,0x26c($sp) /* f0a01f8: 46124400 */ add.s $f16,$f8,$f18 /* f0a01fc: 46008183 */ div.s $f6,$f16,$f0 /* f0a0200: 46065100 */ add.s $f4,$f10,$f6 /* f0a0204: e7a4026c */ swc1 $f4,0x26c($sp) .PF0f0a0208: /* f0a0208: 8c4b0284 */ lw $t3,0x284($v0) .PF0f0a020c: /* f0a020c: 8fac0058 */ lw $t4,0x58($sp) /* f0a0210: 27a50210 */ addiu $a1,$sp,0x210 /* f0a0214: 016c2021 */ addu $a0,$t3,$t4 /* f0a0218: 0c0056aa */ jal func00015d18 /* f0a021c: 2484092c */ addiu $a0,$a0,0x92c /* f0a0220: 44801000 */ mtc1 $zero,$f2 /* f0a0224: 8fa702b0 */ lw $a3,0x2b0($sp) /* f0a0228: 240d0001 */ li $t5,0x1 /* f0a022c: e7a20240 */ swc1 $f2,0x240($sp) /* f0a0230: e7a20244 */ swc1 $f2,0x244($sp) /* f0a0234: e7a20248 */ swc1 $f2,0x248($sp) /* f0a0238: 8ce20218 */ lw $v0,0x218($a3) /* f0a023c: 3c01fdff */ lui $at,0xfdff /* f0a0240: 50400015 */ beqzl $v0,.PF0f0a0298 /* f0a0244: 90e20000 */ lbu $v0,0x0($a3) /* f0a0248: aced021c */ sw $t5,0x21c($a3) /* f0a024c: 8c4e000c */ lw $t6,0xc($v0) /* f0a0250: 3421ffff */ ori $at,$at,0xffff /* f0a0254: 8c580008 */ lw $t8,0x8($v0) /* f0a0258: 01c17824 */ and $t7,$t6,$at /* f0a025c: 3c01ff7f */ lui $at,0xff7f /* f0a0260: 3421ffff */ ori $at,$at,0xffff /* f0a0264: 0301c824 */ and $t9,$t8,$at /* f0a0268: ac4f000c */ sw $t7,0xc($v0) /* f0a026c: ac590008 */ sw $t9,0x8($v0) /* f0a0270: 8fa801d8 */ lw $t0,0x1d8($sp) /* f0a0274: 00408025 */ move $s0,$v0 /* f0a0278: 240b0054 */ li $t3,0x54 /* f0a027c: 8d090010 */ lw $t1,0x10($t0) /* f0a0280: 00095040 */ sll $t2,$t1,0x1 /* f0a0284: 05410051 */ bgez $t2,.PF0f0a03cc /* f0a0288: 00000000 */ nop /* f0a028c: 1000004f */ b .PF0f0a03cc /* f0a0290: a04b005c */ sb $t3,0x5c($v0) /* f0a0294: 90e20000 */ lbu $v0,0x0($a3) .PF0f0a0298: /* f0a0298: 24010018 */ li $at,0x18 /* f0a029c: 8fac01d8 */ lw $t4,0x1d8($sp) /* f0a02a0: 10410004 */ beq $v0,$at,.PF0f0a02b4 /* f0a02a4: 3c18800a */ lui $t8,0x800a /* f0a02a8: 24010019 */ li $at,0x19 /* f0a02ac: 54410010 */ bnel $v0,$at,.PF0f0a02f0 /* f0a02b0: 2401001b */ li $at,0x1b .PF0f0a02b4: /* f0a02b4: 8d8d0010 */ lw $t5,0x10($t4) /* f0a02b8: 24050053 */ li $a1,0x53 /* f0a02bc: 000d7040 */ sll $t6,$t5,0x1 /* f0a02c0: 05c10002 */ bgez $t6,.PF0f0a02cc /* f0a02c4: 00000000 */ nop /* f0a02c8: 24050054 */ li $a1,0x54 .PF0f0a02cc: /* f0a02cc: 8f18a794 */ lw $t8,-0x586c($t8) /* f0a02d0: 8faf01d8 */ lw $t7,0x1d8($sp) /* f0a02d4: 8f1900bc */ lw $t9,0xbc($t8) /* f0a02d8: 8de40040 */ lw $a0,0x40($t7) /* f0a02dc: 0fc22deb */ jal func0f08b880 /* f0a02e0: 8f260004 */ lw $a2,0x4($t9) /* f0a02e4: 10000039 */ b .PF0f0a03cc /* f0a02e8: 00408025 */ move $s0,$v0 /* f0a02ec: 2401001b */ li $at,0x1b .PF0f0a02f0: /* f0a02f0: 1441000e */ bne $v0,$at,.PF0f0a032c /* f0a02f4: 3c09800a */ lui $t1,0x800a /* f0a02f8: 8d29a794 */ lw $t1,-0x586c($t1) /* f0a02fc: 8fa801d8 */ lw $t0,0x1d8($sp) /* f0a0300: 24050056 */ li $a1,0x56 /* f0a0304: 8d2a00bc */ lw $t2,0xbc($t1) /* f0a0308: 8d040040 */ lw $a0,0x40($t0) /* f0a030c: 0fc22deb */ jal func0f08b880 /* f0a0310: 8d460004 */ lw $a2,0x4($t2) /* f0a0314: 1040002d */ beqz $v0,.PF0f0a03cc /* f0a0318: 00408025 */ move $s0,$v0 /* f0a031c: 8fab02b0 */ lw $t3,0x2b0($sp) /* f0a0320: 916c0003 */ lbu $t4,0x3($t3) /* f0a0324: 10000029 */ b .PF0f0a03cc /* f0a0328: a04c005f */ sb $t4,0x5f($v0) .PF0f0a032c: /* f0a032c: 24010017 */ li $at,0x17 /* f0a0330: 1441000e */ bne $v0,$at,.PF0f0a036c /* f0a0334: 3c0e800a */ lui $t6,0x800a /* f0a0338: 8dcea794 */ lw $t6,-0x586c($t6) /* f0a033c: 8fad01d8 */ lw $t5,0x1d8($sp) /* f0a0340: 24050055 */ li $a1,0x55 /* f0a0344: 8dcf00bc */ lw $t7,0xbc($t6) /* f0a0348: 8da40040 */ lw $a0,0x40($t5) /* f0a034c: 0fc22deb */ jal func0f08b880 /* f0a0350: 8de60004 */ lw $a2,0x4($t7) /* f0a0354: 1040001d */ beqz $v0,.PF0f0a03cc /* f0a0358: 00408025 */ move $s0,$v0 /* f0a035c: 8fb802b0 */ lw $t8,0x2b0($sp) /* f0a0360: 93190003 */ lbu $t9,0x3($t8) /* f0a0364: 10000019 */ b .PF0f0a03cc /* f0a0368: a059005f */ sb $t9,0x5f($v0) .PF0f0a036c: /* f0a036c: 24010012 */ li $at,0x12 /* f0a0370: 1441000e */ bne $v0,$at,.PF0f0a03ac /* f0a0374: 3c0d800a */ lui $t5,0x800a /* f0a0378: 3c09800a */ lui $t1,0x800a /* f0a037c: 8d29a794 */ lw $t1,-0x586c($t1) /* f0a0380: 8fa801d8 */ lw $t0,0x1d8($sp) /* f0a0384: 24050055 */ li $a1,0x55 /* f0a0388: 8d2a00bc */ lw $t2,0xbc($t1) /* f0a038c: 8d040040 */ lw $a0,0x40($t0) /* f0a0390: 0fc22deb */ jal func0f08b880 /* f0a0394: 8d460004 */ lw $a2,0x4($t2) /* f0a0398: 1040000c */ beqz $v0,.PF0f0a03cc /* f0a039c: 00408025 */ move $s0,$v0 /* f0a03a0: 240b0002 */ li $t3,0x2 /* f0a03a4: 10000009 */ b .PF0f0a03cc /* f0a03a8: a04b005f */ sb $t3,0x5f($v0) .PF0f0a03ac: /* f0a03ac: 8dada794 */ lw $t5,-0x586c($t5) /* f0a03b0: 8fac01d8 */ lw $t4,0x1d8($sp) /* f0a03b4: 00e02825 */ move $a1,$a3 /* f0a03b8: 8dae00bc */ lw $t6,0xbc($t5) /* f0a03bc: 8d840040 */ lw $a0,0x40($t4) /* f0a03c0: 0fc22d61 */ jal func0f08b658 /* f0a03c4: 8dc60004 */ lw $a2,0x4($t6) /* f0a03c8: 00408025 */ move $s0,$v0 .PF0f0a03cc: /* f0a03cc: 520000b6 */ beqzl $s0,.PF0f0a06a8 /* f0a03d0: 8fbf004c */ lw $ra,0x4c($sp) /* f0a03d4: afa000b8 */ sw $zero,0xb8($sp) /* f0a03d8: 8e060018 */ lw $a2,0x18($s0) /* f0a03dc: 24190001 */ li $t9,0x1 /* f0a03e0: 50c0009f */ beqzl $a2,.PF0f0a0660 /* f0a03e4: afb900b8 */ sw $t9,0xb8($sp) /* f0a03e8: 8ccf0008 */ lw $t7,0x8($a2) /* f0a03ec: 8fb801d8 */ lw $t8,0x1d8($sp) /* f0a03f0: 3c0d800a */ lui $t5,0x800a /* f0a03f4: 11e00099 */ beqz $t7,.PF0f0a065c /* f0a03f8: 02002025 */ move $a0,$s0 /* f0a03fc: 8f190058 */ lw $t9,0x58($t8) /* f0a0400: 2401ffff */ li $at,-1 /* f0a0404: 27a501e0 */ addiu $a1,$sp,0x1e0 /* f0a0408: a6190062 */ sh $t9,0x62($s0) /* f0a040c: 86020062 */ lh $v0,0x62($s0) /* f0a0410: 27a60210 */ addiu $a2,$sp,0x210 /* f0a0414: 1041000a */ beq $v0,$at,.PF0f0a0440 /* f0a0418: 00024080 */ sll $t0,$v0,0x2 /* f0a041c: 01024023 */ subu $t0,$t0,$v0 /* f0a0420: 000840c0 */ sll $t0,$t0,0x3 /* f0a0424: 01024021 */ addu $t0,$t0,$v0 /* f0a0428: 000840c0 */ sll $t0,$t0,0x3 /* f0a042c: 2401003c */ li $at,0x3c /* f0a0430: 0101001a */ div $zero,$t0,$at /* f0a0434: 00004812 */ mflo $t1 /* f0a0438: a6090062 */ sh $t1,0x62($s0) /* f0a043c: 00000000 */ nop .PF0f0a0440: /* f0a0440: 8e0a0040 */ lw $t2,0x40($s0) /* f0a0444: 3c010fff */ lui $at,0xfff /* f0a0448: 3421ffff */ ori $at,$at,0xffff /* f0a044c: 01415824 */ and $t3,$t2,$at /* f0a0450: ae0b0040 */ sw $t3,0x40($s0) /* f0a0454: 8dada79c */ lw $t5,-0x5864($t5) /* f0a0458: 27b80270 */ addiu $t8,$sp,0x270 /* f0a045c: 27a70264 */ addiu $a3,$sp,0x264 /* f0a0460: 000d7700 */ sll $t6,$t5,0x1c /* f0a0464: 016e7825 */ or $t7,$t3,$t6 /* f0a0468: ae0f0040 */ sw $t7,0x40($s0) /* f0a046c: 0fc27c04 */ jal bgun0f09ed2c /* f0a0470: afb80010 */ sw $t8,0x10($sp) /* f0a0474: 8e190040 */ lw $t9,0x40($s0) /* f0a0478: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a047c: 3c0f800a */ lui $t7,0x800a /* f0a0480: 33280080 */ andi $t0,$t9,0x80 /* f0a0484: 11000073 */ beqz $t0,.PF0f0a0654 /* f0a0488: 24180001 */ li $t8,0x1 /* f0a048c: 8c620010 */ lw $v0,0x10($v1) /* f0a0490: 00024800 */ sll $t1,$v0,0x0 /* f0a0494: 05210007 */ bgez $t1,.PF0f0a04b4 /* f0a0498: 00026900 */ sll $t5,$v0,0x4 /* f0a049c: 8e050048 */ lw $a1,0x48($s0) /* f0a04a0: 3c014000 */ lui $at,0x4000 /* f0a04a4: 8caa0000 */ lw $t2,0x0($a1) /* f0a04a8: 01415825 */ or $t3,$t2,$at /* f0a04ac: 10000007 */ b .PF0f0a04cc /* f0a04b0: acab0000 */ sw $t3,0x0($a1) .PF0f0a04b4: /* f0a04b4: 05a10005 */ bgez $t5,.PF0f0a04cc /* f0a04b8: 00000000 */ nop /* f0a04bc: 8e050048 */ lw $a1,0x48($s0) /* f0a04c0: 8cac0000 */ lw $t4,0x0($a1) /* f0a04c4: 358e0010 */ ori $t6,$t4,0x10 /* f0a04c8: acae0000 */ sw $t6,0x0($a1) .PF0f0a04cc: /* f0a04cc: 8defa794 */ lw $t7,-0x586c($t7) /* f0a04d0: 8e190048 */ lw $t9,0x48($s0) /* f0a04d4: 3c013f80 */ lui $at,0x3f80 /* f0a04d8: 8df81630 */ lw $t8,0x1630($t7) /* f0a04dc: 44814000 */ mtc1 $at,$f8 /* f0a04e0: af3800e8 */ sw $t8,0xe8($t9) /* f0a04e4: c4600048 */ lwc1 $f0,0x48($v1) /* f0a04e8: 46004032 */ c.eq.s $f8,$f0 /* f0a04ec: 00000000 */ nop /* f0a04f0: 45030012 */ bc1tl .PF0f0a053c /* f0a04f4: 8e0a0048 */ lw $t2,0x48($s0) /* f0a04f8: 8e060018 */ lw $a2,0x18($s0) /* f0a04fc: 2604001c */ addiu $a0,$s0,0x1c /* f0a0500: 27a50078 */ addiu $a1,$sp,0x78 /* f0a0504: c4d20014 */ lwc1 $f18,0x14($a2) /* f0a0508: 46009402 */ mul.s $f16,$f18,$f0 /* f0a050c: e4d00014 */ swc1 $f16,0x14($a2) /* f0a0510: 0c0056b9 */ jal func00015d54 /* f0a0514: afa40058 */ sw $a0,0x58($sp) /* f0a0518: 8fa801d8 */ lw $t0,0x1d8($sp) /* f0a051c: 27a50078 */ addiu $a1,$sp,0x78 /* f0a0520: 0c005725 */ jal func00015f04 /* f0a0524: c50c0048 */ lwc1 $f12,0x48($t0) /* f0a0528: 27a40078 */ addiu $a0,$sp,0x78 /* f0a052c: 0c0056cc */ jal func00015da0 /* f0a0530: 8fa50058 */ lw $a1,0x58($sp) /* f0a0534: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a0538: 8e0a0048 */ lw $t2,0x48($s0) .PF0f0a053c: /* f0a053c: 240903e8 */ li $t1,0x3e8 /* f0a0540: 241800c8 */ li $t8,0xc8 /* f0a0544: a54900b2 */ sh $t1,0xb2($t2) /* f0a0548: 8e0b0014 */ lw $t3,0x14($s0) /* f0a054c: 8e0d0048 */ lw $t5,0x48($s0) /* f0a0550: 3c017f1b */ lui $at,0x7f1b /* f0a0554: c56a000c */ lwc1 $f10,0xc($t3) /* f0a0558: 240bffff */ li $t3,-1 /* f0a055c: 240affff */ li $t2,-1 /* f0a0560: e5aa00a8 */ swc1 $f10,0xa8($t5) /* f0a0564: 8e050048 */ lw $a1,0x48($s0) /* f0a0568: 00002025 */ move $a0,$zero /* f0a056c: 2407ffff */ li $a3,-1 /* f0a0570: c4a60008 */ lwc1 $f6,0x8($a1) /* f0a0574: e4a600ac */ swc1 $f6,0xac($a1) /* f0a0578: 8e0c0048 */ lw $t4,0x48($s0) /* f0a057c: c7a40250 */ lwc1 $f4,0x250($sp) /* f0a0580: e5840010 */ swc1 $f4,0x10($t4) /* f0a0584: 8e0e0048 */ lw $t6,0x48($s0) /* f0a0588: c7a80254 */ lwc1 $f8,0x254($sp) /* f0a058c: e5c80014 */ swc1 $f8,0x14($t6) /* f0a0590: 8e0f0048 */ lw $t7,0x48($s0) /* f0a0594: c7b20258 */ lwc1 $f18,0x258($sp) /* f0a0598: e5f20018 */ swc1 $f18,0x18($t7) /* f0a059c: 8e190048 */ lw $t9,0x48($s0) /* f0a05a0: af3800b4 */ sw $t8,0xb4($t9) /* f0a05a4: 8e080048 */ lw $t0,0x48($s0) /* f0a05a8: c470005c */ lwc1 $f16,0x5c($v1) /* f0a05ac: e510008c */ swc1 $f16,0x8c($t0) /* f0a05b0: c426d940 */ lwc1 $f6,-0x26c0($at) /* f0a05b4: c46a0050 */ lwc1 $f10,0x50($v1) /* f0a05b8: 8e090048 */ lw $t1,0x48($s0) /* f0a05bc: 3c01bf80 */ lui $at,0xbf80 /* f0a05c0: 46065102 */ mul.s $f4,$f10,$f6 /* f0a05c4: e5240098 */ swc1 $f4,0x98($t1) /* f0a05c8: 84660060 */ lh $a2,0x60($v1) /* f0a05cc: 58c00011 */ blezl $a2,.PF0f0a0614 /* f0a05d0: 8c6d0010 */ lw $t5,0x10($v1) /* f0a05d4: 8e050014 */ lw $a1,0x14($s0) /* f0a05d8: 44810000 */ mtc1 $at,$f0 /* f0a05dc: afab002c */ sw $t3,0x2c($sp) /* f0a05e0: afa00028 */ sw $zero,0x28($sp) /* f0a05e4: afa00020 */ sw $zero,0x20($sp) /* f0a05e8: afa0001c */ sw $zero,0x1c($sp) /* f0a05ec: afa00018 */ sw $zero,0x18($sp) /* f0a05f0: afa00014 */ sw $zero,0x14($sp) /* f0a05f4: afaa0010 */ sw $t2,0x10($sp) /* f0a05f8: e7a00024 */ swc1 $f0,0x24($sp) /* f0a05fc: e7a00030 */ swc1 $f0,0x30($sp) /* f0a0600: e7a00034 */ swc1 $f0,0x34($sp) /* f0a0604: 0fc24e3a */ jal func0f0939f8 /* f0a0608: e7a00038 */ swc1 $f0,0x38($sp) /* f0a060c: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a0610: 8c6d0010 */ lw $t5,0x10($v1) .PF0f0a0614: /* f0a0614: 31ac0800 */ andi $t4,$t5,0x800 /* f0a0618: 51800004 */ beqzl $t4,.PF0f0a062c /* f0a061c: 8e050048 */ lw $a1,0x48($s0) /* f0a0620: 0fc2f689 */ jal currentPlayerLaunchSlayerRocket /* f0a0624: 02002025 */ move $a0,$s0 /* f0a0628: 8e050048 */ lw $a1,0x48($s0) .PF0f0a062c: /* f0a062c: 02002025 */ move $a0,$s0 /* f0a0630: 27a6006c */ addiu $a2,$sp,0x6c /* f0a0634: 8cae0000 */ lw $t6,0x0($a1) /* f0a0638: 31cf0080 */ andi $t7,$t6,0x80 /* f0a063c: 51e00009 */ beqzl $t7,.PF0f0a0664 /* f0a0640: 8fa800b8 */ lw $t0,0xb8($sp) /* f0a0644: 0fc1cf58 */ jal func0f073ae8 /* f0a0648: 27a70060 */ addiu $a3,$sp,0x60 /* f0a064c: 10000005 */ b .PF0f0a0664 /* f0a0650: 8fa800b8 */ lw $t0,0xb8($sp) .PF0f0a0654: /* f0a0654: 10000002 */ b .PF0f0a0660 /* f0a0658: afb800b8 */ sw $t8,0xb8($sp) .PF0f0a065c: /* f0a065c: afb900b8 */ sw $t9,0xb8($sp) .PF0f0a0660: /* f0a0660: 8fa800b8 */ lw $t0,0xb8($sp) .PF0f0a0664: /* f0a0664: 51000010 */ beqzl $t0,.PF0f0a06a8 /* f0a0668: 8fbf004c */ lw $ra,0x4c($sp) /* f0a066c: 8e040014 */ lw $a0,0x14($s0) /* f0a0670: 2409ffff */ li $t1,-1 /* f0a0674: a6090062 */ sh $t1,0x62($s0) /* f0a0678: 50800004 */ beqzl $a0,.PF0f0a068c /* f0a067c: 8e060018 */ lw $a2,0x18($s0) /* f0a0680: 0fc181a6 */ jal propFree /* f0a0684: 00000000 */ nop /* f0a0688: 8e060018 */ lw $a2,0x18($s0) .PF0f0a068c: /* f0a068c: 50c00004 */ beqzl $a2,.PF0f0a06a0 /* f0a0690: ae000014 */ sw $zero,0x14($s0) /* f0a0694: 0fc2cd7b */ jal modelFree /* f0a0698: 00c02025 */ move $a0,$a2 /* f0a069c: ae000014 */ sw $zero,0x14($s0) .PF0f0a06a0: /* f0a06a0: ae000018 */ sw $zero,0x18($s0) .PF0f0a06a4: /* f0a06a4: 8fbf004c */ lw $ra,0x4c($sp) .PF0f0a06a8: /* f0a06a8: 8fb00048 */ lw $s0,0x48($sp) /* f0a06ac: 27bd02b8 */ addiu $sp,$sp,0x2b8 /* f0a06b0: 03e00008 */ jr $ra /* f0a06b4: 00000000 */ nop ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgunCreateFiredProjectile .late_rodata glabel var7f1ac730 .word 0x3fd55555 glabel var7f1ac734 .word 0x3e32b179 glabel var7f1ac738 .word 0xbe32b179 glabel var7f1ac73c .word 0x3e32b179 glabel var7f1ac740 .word 0x3fd55555 .text /* f09fa84: 3c02800a */ lui $v0,%hi(g_Vars+0x284) /* f09fa88: 00042900 */ sll $a1,$a0,0x4 /* f09fa8c: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) /* f09fa90: 00a42823 */ subu $a1,$a1,$a0 /* f09fa94: 27bdfd48 */ addiu $sp,$sp,-696 /* f09fa98: 00052880 */ sll $a1,$a1,0x2 /* f09fa9c: 00a42821 */ addu $a1,$a1,$a0 /* f09faa0: afbf004c */ sw $ra,0x4c($sp) /* f09faa4: afb00048 */ sw $s0,0x48($sp) /* f09faa8: 000528c0 */ sll $a1,$a1,0x3 /* f09faac: 8c4e00bc */ lw $t6,0xbc($v0) /* f09fab0: 00a42821 */ addu $a1,$a1,$a0 /* f09fab4: 00052880 */ sll $a1,$a1,0x2 /* f09fab8: 00451821 */ addu $v1,$v0,$a1 /* f09fabc: 244f0310 */ addiu $t7,$v0,0x310 /* f09fac0: 24581c44 */ addiu $t8,$v0,0x1c44 /* f09fac4: 00808025 */ or $s0,$a0,$zero /* f09fac8: afaf01f0 */ sw $t7,0x1f0($sp) /* f09facc: afb801ec */ sw $t8,0x1ec($sp) /* f09fad0: afae01f4 */ sw $t6,0x1f4($sp) /* f09fad4: 24630638 */ addiu $v1,$v1,0x638 /* f09fad8: 90640000 */ lbu $a0,0x0($v1) /* f09fadc: afa50058 */ sw $a1,0x58($sp) /* f09fae0: 0fc2c3f4 */ jal weaponFindById /* f09fae4: afa302b0 */ sw $v1,0x2b0($sp) /* f09fae8: 10400225 */ beqz $v0,.L0f0a0380 /* f09faec: 8fb902b0 */ lw $t9,0x2b0($sp) /* f09faf0: 93280003 */ lbu $t0,0x3($t9) /* f09faf4: 00084880 */ sll $t1,$t0,0x2 /* f09faf8: 00495021 */ addu $t2,$v0,$t1 /* f09fafc: 8d430014 */ lw $v1,0x14($t2) /* f09fb00: 50600220 */ beqzl $v1,.L0f0a0384 /* f09fb04: 8fbf004c */ lw $ra,0x4c($sp) /* f09fb08: 8c6b0000 */ lw $t3,0x0($v1) /* f09fb0c: 24010201 */ addiu $at,$zero,0x201 /* f09fb10: 27a40270 */ addiu $a0,$sp,0x270 /* f09fb14: 5561021b */ bnel $t3,$at,.L0f0a0384 /* f09fb18: 8fbf004c */ lw $ra,0x4c($sp) /* f09fb1c: 0c00566c */ jal func000159b0 /* f09fb20: afa301d8 */ sw $v1,0x1d8($sp) /* f09fb24: 27a40204 */ addiu $a0,$sp,0x204 /* f09fb28: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09fb2c: 02003025 */ or $a2,$s0,$zero /* f09fb30: 0fc2832c */ jal bgunCalculateShotSpread /* f09fb34: 24070001 */ addiu $a3,$zero,0x1 /* f09fb38: 0fc2d5de */ jal currentPlayerGetUnk174c /* f09fb3c: 00000000 */ nop /* f09fb40: 00402025 */ or $a0,$v0,$zero /* f09fb44: 0c0056c4 */ jal func00015b10 /* f09fb48: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09fb4c: 8fa402b0 */ lw $a0,0x2b0($sp) /* f09fb50: 24010019 */ addiu $at,$zero,0x19 /* f09fb54: c4840374 */ lwc1 $f4,0x374($a0) /* f09fb58: e7a401e0 */ swc1 $f4,0x1e0($sp) /* f09fb5c: c4860378 */ lwc1 $f6,0x378($a0) /* f09fb60: e7a601e4 */ swc1 $f6,0x1e4($sp) /* f09fb64: c488037c */ lwc1 $f8,0x37c($a0) /* f09fb68: e7a801e8 */ swc1 $f8,0x1e8($sp) /* f09fb6c: 908c0000 */ lbu $t4,0x0($a0) /* f09fb70: 55810016 */ bnel $t4,$at,.L0f09fbcc /* f09fb74: 8fa201d8 */ lw $v0,0x1d8($sp) /* f09fb78: 908d0003 */ lbu $t5,0x3($a0) /* f09fb7c: 24010001 */ addiu $at,$zero,0x1 /* f09fb80: c7aa01e0 */ lwc1 $f10,0x1e0($sp) /* f09fb84: 15a10010 */ bne $t5,$at,.L0f09fbc8 /* f09fb88: c7b001f8 */ lwc1 $f16,0x1f8($sp) /* f09fb8c: 3c014248 */ lui $at,0x4248 /* f09fb90: 44810000 */ mtc1 $at,$f0 /* f09fb94: c7a801fc */ lwc1 $f8,0x1fc($sp) /* f09fb98: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09fb9c: 46100482 */ mul.s $f18,$f0,$f16 /* f09fba0: 46125100 */ add.s $f4,$f10,$f18 /* f09fba4: 46080402 */ mul.s $f16,$f0,$f8 /* f09fba8: c7b201e8 */ lwc1 $f18,0x1e8($sp) /* f09fbac: e7a401e0 */ swc1 $f4,0x1e0($sp) /* f09fbb0: c7a40200 */ lwc1 $f4,0x200($sp) /* f09fbb4: 46040202 */ mul.s $f8,$f0,$f4 /* f09fbb8: 46103280 */ add.s $f10,$f6,$f16 /* f09fbbc: e7aa01e4 */ swc1 $f10,0x1e4($sp) /* f09fbc0: 46089180 */ add.s $f6,$f18,$f8 /* f09fbc4: e7a601e8 */ swc1 $f6,0x1e8($sp) .L0f09fbc8: /* f09fbc8: 8fa201d8 */ lw $v0,0x1d8($sp) .L0f09fbcc: /* f09fbcc: 3c017f1b */ lui $at,%hi(var7f1ac730) /* f09fbd0: c420c730 */ lwc1 $f0,%lo(var7f1ac730)($at) /* f09fbd4: 8c4e004c */ lw $t6,0x4c($v0) /* f09fbd8: 3c014270 */ lui $at,0x4270 /* f09fbdc: 44819000 */ mtc1 $at,$f18 /* f09fbe0: 448e8000 */ mtc1 $t6,$f16 /* f09fbe4: 3c050080 */ lui $a1,0x80 /* f09fbe8: 468082a0 */ cvt.s.w $f10,$f16 /* f09fbec: 46005102 */ mul.s $f4,$f10,$f0 /* f09fbf0: 46122203 */ div.s $f8,$f4,$f18 /* f09fbf4: e7a80260 */ swc1 $f8,0x260($sp) /* f09fbf8: 8c4f0054 */ lw $t7,0x54($v0) /* f09fbfc: 448f3000 */ mtc1 $t7,$f6 /* f09fc00: 00000000 */ nop /* f09fc04: 46803420 */ cvt.s.w $f16,$f6 /* f09fc08: 46008282 */ mul.s $f10,$f16,$f0 /* f09fc0c: 0fc2c7aa */ jal gsetHasFunctionFlags /* f09fc10: e7aa025c */ swc1 $f10,0x25c($sp) /* f09fc14: 1040007a */ beqz $v0,.L0f09fe00 /* f09fc18: 00002025 */ or $a0,$zero,$zero /* f09fc1c: 00002825 */ or $a1,$zero,$zero /* f09fc20: 0fc18755 */ jal func0f061d54 /* f09fc24: 00003025 */ or $a2,$zero,$zero /* f09fc28: 8fa302b0 */ lw $v1,0x2b0($sp) /* f09fc2c: 8c7806b4 */ lw $t8,0x6b4($v1) /* f09fc30: 53000074 */ beqzl $t8,.L0f09fe04 /* f09fc34: c7ac0260 */ lwc1 $f12,0x260($sp) /* f09fc38: c46406b8 */ lwc1 $f4,0x6b8($v1) /* f09fc3c: 27a401e0 */ addiu $a0,$sp,0x1e0 /* f09fc40: 8fa5025c */ lw $a1,0x25c($sp) /* f09fc44: e7a401c8 */ swc1 $f4,0x1c8($sp) /* f09fc48: c47206bc */ lwc1 $f18,0x6bc($v1) /* f09fc4c: 27a601c8 */ addiu $a2,$sp,0x1c8 /* f09fc50: 27a701bc */ addiu $a3,$sp,0x1bc /* f09fc54: e7b201cc */ swc1 $f18,0x1cc($sp) /* f09fc58: c46806c0 */ lwc1 $f8,0x6c0($v1) /* f09fc5c: 0fc100c7 */ jal func0f04031c /* f09fc60: e7a801d0 */ swc1 $f8,0x1d0($sp) /* f09fc64: c7a601f8 */ lwc1 $f6,0x1f8($sp) /* f09fc68: c7b001bc */ lwc1 $f16,0x1bc($sp) /* f09fc6c: c7a401fc */ lwc1 $f4,0x1fc($sp) /* f09fc70: c7b201c0 */ lwc1 $f18,0x1c0($sp) /* f09fc74: 46103282 */ mul.s $f10,$f6,$f16 /* f09fc78: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f09fc7c: 46122202 */ mul.s $f8,$f4,$f18 /* f09fc80: c7a40200 */ lwc1 $f4,0x200($sp) /* f09fc84: 46048482 */ mul.s $f18,$f16,$f4 /* f09fc88: 46085180 */ add.s $f6,$f10,$f8 /* f09fc8c: 0fc25a74 */ jal func0f0969d0 /* f09fc90: 46069300 */ add.s $f12,$f18,$f6 /* f09fc94: 3c017f1b */ lui $at,%hi(var7f1ac734) /* f09fc98: c42ac734 */ lwc1 $f10,%lo(var7f1ac734)($at) /* f09fc9c: 27b00174 */ addiu $s0,$sp,0x174 /* f09fca0: e7a001b4 */ swc1 $f0,0x1b4($sp) /* f09fca4: 4600503c */ c.lt.s $f10,$f0 /* f09fca8: 3c017f1b */ lui $at,%hi(var7f1ac738) /* f09fcac: 02002025 */ or $a0,$s0,$zero /* f09fcb0: c7b001f8 */ lwc1 $f16,0x1f8($sp) /* f09fcb4: 45030008 */ bc1tl .L0f09fcd8 /* f09fcb8: 44801000 */ mtc1 $zero,$f2 /* f09fcbc: c428c738 */ lwc1 $f8,%lo(var7f1ac738)($at) /* f09fcc0: c7aa01bc */ lwc1 $f10,0x1bc($sp) /* f09fcc4: 4608003c */ c.lt.s $f0,$f8 /* f09fcc8: 00000000 */ nop /* f09fccc: 45020048 */ bc1fl .L0f09fdf0 /* f09fcd0: c7a801c0 */ lwc1 $f8,0x1c0($sp) /* f09fcd4: 44801000 */ mtc1 $zero,$f2 .L0f09fcd8: /* f09fcd8: 3c013f80 */ lui $at,0x3f80 /* f09fcdc: 44813000 */ mtc1 $at,$f6 /* f09fce0: c7a401fc */ lwc1 $f4,0x1fc($sp) /* f09fce4: c7b20200 */ lwc1 $f18,0x200($sp) /* f09fce8: 44051000 */ mfc1 $a1,$f2 /* f09fcec: 44061000 */ mfc1 $a2,$f2 /* f09fcf0: 44071000 */ mfc1 $a3,$f2 /* f09fcf4: e7b00010 */ swc1 $f16,0x10($sp) /* f09fcf8: e7a2001c */ swc1 $f2,0x1c($sp) /* f09fcfc: e7a20024 */ swc1 $f2,0x24($sp) /* f09fd00: e7a40014 */ swc1 $f4,0x14($sp) /* f09fd04: e7a60020 */ swc1 $f6,0x20($sp) /* f09fd08: 0c005ad6 */ jal func00016b58 /* f09fd0c: e7b20018 */ swc1 $f18,0x18($sp) /* f09fd10: 44801000 */ mtc1 $zero,$f2 /* f09fd14: 3c013f80 */ lui $at,0x3f80 /* f09fd18: 44812000 */ mtc1 $at,$f4 /* f09fd1c: c7aa01bc */ lwc1 $f10,0x1bc($sp) /* f09fd20: c7a801c0 */ lwc1 $f8,0x1c0($sp) /* f09fd24: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f09fd28: 44051000 */ mfc1 $a1,$f2 /* f09fd2c: 44061000 */ mfc1 $a2,$f2 /* f09fd30: 44071000 */ mfc1 $a3,$f2 /* f09fd34: 27a40134 */ addiu $a0,$sp,0x134 /* f09fd38: e7a2001c */ swc1 $f2,0x1c($sp) /* f09fd3c: e7a20024 */ swc1 $f2,0x24($sp) /* f09fd40: e7aa0010 */ swc1 $f10,0x10($sp) /* f09fd44: e7a40020 */ swc1 $f4,0x20($sp) /* f09fd48: e7a80014 */ swc1 $f8,0x14($sp) /* f09fd4c: 0c005ad6 */ jal func00016b58 /* f09fd50: e7b00018 */ swc1 $f16,0x18($sp) /* f09fd54: 02002025 */ or $a0,$s0,$zero /* f09fd58: 0fc25c11 */ jal func0f097044 /* f09fd5c: 27a500e4 */ addiu $a1,$sp,0xe4 /* f09fd60: 27b000d4 */ addiu $s0,$sp,0xd4 /* f09fd64: 02002825 */ or $a1,$s0,$zero /* f09fd68: 0fc25c11 */ jal func0f097044 /* f09fd6c: 27a40134 */ addiu $a0,$sp,0x134 /* f09fd70: 27a400e4 */ addiu $a0,$sp,0xe4 /* f09fd74: 0fc25db0 */ jal func0f0976c0 /* f09fd78: 02002825 */ or $a1,$s0,$zero /* f09fd7c: 3c017f1b */ lui $at,%hi(var7f1ac73c) /* f09fd80: c432c73c */ lwc1 $f18,%lo(var7f1ac73c)($at) /* f09fd84: c7a601b4 */ lwc1 $f6,0x1b4($sp) /* f09fd88: 44801000 */ mtc1 $zero,$f2 /* f09fd8c: 27a400e4 */ addiu $a0,$sp,0xe4 /* f09fd90: 46069003 */ div.s $f0,$f18,$f6 /* f09fd94: 02002825 */ or $a1,$s0,$zero /* f09fd98: 4602003c */ c.lt.s $f0,$f2 /* f09fd9c: 46000306 */ mov.s $f12,$f0 /* f09fda0: 45020003 */ bc1fl .L0f09fdb0 /* f09fda4: 44066000 */ mfc1 $a2,$f12 /* f09fda8: 46000307 */ neg.s $f12,$f0 /* f09fdac: 44066000 */ mfc1 $a2,$f12 .L0f09fdb0: /* f09fdb0: 0fc25cae */ jal func0f0972b8 /* f09fdb4: 27a700c4 */ addiu $a3,$sp,0xc4 /* f09fdb8: 27a400c4 */ addiu $a0,$sp,0xc4 /* f09fdbc: 0fc25bb5 */ jal func0f096ed4 /* f09fdc0: 27a500f4 */ addiu $a1,$sp,0xf4 /* f09fdc4: c7aa0114 */ lwc1 $f10,0x114($sp) /* f09fdc8: c7b00118 */ lwc1 $f16,0x118($sp) /* f09fdcc: c7b2011c */ lwc1 $f18,0x11c($sp) /* f09fdd0: 46005207 */ neg.s $f8,$f10 /* f09fdd4: 46008107 */ neg.s $f4,$f16 /* f09fdd8: 46009187 */ neg.s $f6,$f18 /* f09fddc: e7a801f8 */ swc1 $f8,0x1f8($sp) /* f09fde0: e7a401fc */ swc1 $f4,0x1fc($sp) /* f09fde4: 10000006 */ b .L0f09fe00 /* f09fde8: e7a60200 */ swc1 $f6,0x200($sp) /* f09fdec: c7a801c0 */ lwc1 $f8,0x1c0($sp) .L0f09fdf0: /* f09fdf0: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f09fdf4: e7aa01f8 */ swc1 $f10,0x1f8($sp) /* f09fdf8: e7a801fc */ swc1 $f8,0x1fc($sp) /* f09fdfc: e7b00200 */ swc1 $f16,0x200($sp) .L0f09fe00: /* f09fe00: c7ac0260 */ lwc1 $f12,0x260($sp) .L0f09fe04: /* f09fe04: c7a401f8 */ lwc1 $f4,0x1f8($sp) /* f09fe08: c7a601fc */ lwc1 $f6,0x1fc($sp) /* f09fe0c: c7a80200 */ lwc1 $f8,0x200($sp) /* f09fe10: 460c2482 */ mul.s $f18,$f4,$f12 /* f09fe14: c7ae025c */ lwc1 $f14,0x25c($sp) /* f09fe18: 3c02800a */ lui $v0,%hi(g_Vars) /* f09fe1c: 460c3282 */ mul.s $f10,$f6,$f12 /* f09fe20: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) /* f09fe24: c440004c */ lwc1 $f0,0x4c($v0) /* f09fe28: 460c4402 */ mul.s $f16,$f8,$f12 /* f09fe2c: e7b20250 */ swc1 $f18,0x250($sp) /* f09fe30: 8fb901d8 */ lw $t9,0x1d8($sp) /* f09fe34: 460e2102 */ mul.s $f4,$f4,$f14 /* f09fe38: e7aa0254 */ swc1 $f10,0x254($sp) /* f09fe3c: 46009482 */ mul.s $f18,$f18,$f0 /* f09fe40: e7b00258 */ swc1 $f16,0x258($sp) /* f09fe44: 46122100 */ add.s $f4,$f4,$f18 /* f09fe48: 460e3482 */ mul.s $f18,$f6,$f14 /* f09fe4c: 00000000 */ nop /* f09fe50: 46005182 */ mul.s $f6,$f10,$f0 /* f09fe54: e7a40264 */ swc1 $f4,0x264($sp) /* f09fe58: 46069280 */ add.s $f10,$f18,$f6 /* f09fe5c: 460e4482 */ mul.s $f18,$f8,$f14 /* f09fe60: 00000000 */ nop /* f09fe64: 46008182 */ mul.s $f6,$f16,$f0 /* f09fe68: e7aa0268 */ swc1 $f10,0x268($sp) /* f09fe6c: 46069280 */ add.s $f10,$f18,$f6 /* f09fe70: e7aa026c */ swc1 $f10,0x26c($sp) /* f09fe74: 8f280010 */ lw $t0,0x10($t9) /* f09fe78: 31090800 */ andi $t1,$t0,0x800 /* f09fe7c: 15200021 */ bnez $t1,.L0f09ff04 /* f09fe80: 00000000 */ nop /* f09fe84: 8c4a0034 */ lw $t2,0x34($v0) /* f09fe88: 8fa401f4 */ lw $a0,0x1f4($sp) /* f09fe8c: 8fa501f0 */ lw $a1,0x1f0($sp) /* f09fe90: 5940001d */ blezl $t2,.L0f09ff08 /* f09fe94: 8c4b0284 */ lw $t3,0x284($v0) /* f09fe98: c4880008 */ lwc1 $f8,0x8($a0) /* f09fe9c: c4b00000 */ lwc1 $f16,0x0($a1) /* f09fea0: 8fa601ec */ lw $a2,0x1ec($sp) /* f09fea4: 46104481 */ sub.s $f18,$f8,$f16 /* f09fea8: c4c60000 */ lwc1 $f6,0x0($a2) /* f09feac: 46069280 */ add.s $f10,$f18,$f6 /* f09feb0: 46005203 */ div.s $f8,$f10,$f0 /* f09feb4: 46082400 */ add.s $f16,$f4,$f8 /* f09feb8: e7b00264 */ swc1 $f16,0x264($sp) /* f09febc: c4a60004 */ lwc1 $f6,0x4($a1) /* f09fec0: c492000c */ lwc1 $f18,0xc($a0) /* f09fec4: c4c40004 */ lwc1 $f4,0x4($a2) /* f09fec8: 46069281 */ sub.s $f10,$f18,$f6 /* f09fecc: c7b20268 */ lwc1 $f18,0x268($sp) /* f09fed0: 46045200 */ add.s $f8,$f10,$f4 /* f09fed4: 46004403 */ div.s $f16,$f8,$f0 /* f09fed8: 46109180 */ add.s $f6,$f18,$f16 /* f09fedc: e7a60268 */ swc1 $f6,0x268($sp) /* f09fee0: c4a40008 */ lwc1 $f4,0x8($a1) /* f09fee4: c48a0010 */ lwc1 $f10,0x10($a0) /* f09fee8: c4d20008 */ lwc1 $f18,0x8($a2) /* f09feec: 46045201 */ sub.s $f8,$f10,$f4 /* f09fef0: c7aa026c */ lwc1 $f10,0x26c($sp) /* f09fef4: 46124400 */ add.s $f16,$f8,$f18 /* f09fef8: 46008183 */ div.s $f6,$f16,$f0 /* f09fefc: 46065100 */ add.s $f4,$f10,$f6 /* f09ff00: e7a4026c */ swc1 $f4,0x26c($sp) .L0f09ff04: /* f09ff04: 8c4b0284 */ lw $t3,0x284($v0) .L0f09ff08: /* f09ff08: 8fac0058 */ lw $t4,0x58($sp) /* f09ff0c: 27a50210 */ addiu $a1,$sp,0x210 /* f09ff10: 016c2021 */ addu $a0,$t3,$t4 /* f09ff14: 0c005746 */ jal func00015d18 /* f09ff18: 2484092c */ addiu $a0,$a0,0x92c /* f09ff1c: 44801000 */ mtc1 $zero,$f2 /* f09ff20: 8fa702b0 */ lw $a3,0x2b0($sp) /* f09ff24: 240d0001 */ addiu $t5,$zero,0x1 /* f09ff28: e7a20240 */ swc1 $f2,0x240($sp) /* f09ff2c: e7a20244 */ swc1 $f2,0x244($sp) /* f09ff30: e7a20248 */ swc1 $f2,0x248($sp) /* f09ff34: 8ce20218 */ lw $v0,0x218($a3) /* f09ff38: 3c01fdff */ lui $at,0xfdff /* f09ff3c: 50400015 */ beqzl $v0,.L0f09ff94 /* f09ff40: 90e20000 */ lbu $v0,0x0($a3) /* f09ff44: aced021c */ sw $t5,0x21c($a3) /* f09ff48: 8c4e000c */ lw $t6,0xc($v0) /* f09ff4c: 3421ffff */ ori $at,$at,0xffff /* f09ff50: 8c580008 */ lw $t8,0x8($v0) /* f09ff54: 01c17824 */ and $t7,$t6,$at /* f09ff58: 3c01ff7f */ lui $at,0xff7f /* f09ff5c: 3421ffff */ ori $at,$at,0xffff /* f09ff60: 0301c824 */ and $t9,$t8,$at /* f09ff64: ac4f000c */ sw $t7,0xc($v0) /* f09ff68: ac590008 */ sw $t9,0x8($v0) /* f09ff6c: 8fa801d8 */ lw $t0,0x1d8($sp) /* f09ff70: 00408025 */ or $s0,$v0,$zero /* f09ff74: 240b0054 */ addiu $t3,$zero,0x54 /* f09ff78: 8d090010 */ lw $t1,0x10($t0) /* f09ff7c: 00095040 */ sll $t2,$t1,0x1 /* f09ff80: 05410051 */ bgez $t2,.L0f0a00c8 /* f09ff84: 00000000 */ nop /* f09ff88: 1000004f */ b .L0f0a00c8 /* f09ff8c: a04b005c */ sb $t3,0x5c($v0) /* f09ff90: 90e20000 */ lbu $v0,0x0($a3) .L0f09ff94: /* f09ff94: 24010018 */ addiu $at,$zero,0x18 /* f09ff98: 8fac01d8 */ lw $t4,0x1d8($sp) /* f09ff9c: 10410004 */ beq $v0,$at,.L0f09ffb0 /* f09ffa0: 3c18800a */ lui $t8,%hi(g_Vars+0x284) /* f09ffa4: 24010019 */ addiu $at,$zero,0x19 /* f09ffa8: 54410010 */ bnel $v0,$at,.L0f09ffec /* f09ffac: 2401001b */ addiu $at,$zero,0x1b .L0f09ffb0: /* f09ffb0: 8d8d0010 */ lw $t5,0x10($t4) /* f09ffb4: 24050053 */ addiu $a1,$zero,0x53 /* f09ffb8: 000d7040 */ sll $t6,$t5,0x1 /* f09ffbc: 05c10002 */ bgez $t6,.L0f09ffc8 /* f09ffc0: 00000000 */ nop /* f09ffc4: 24050054 */ addiu $a1,$zero,0x54 .L0f09ffc8: /* f09ffc8: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8) /* f09ffcc: 8faf01d8 */ lw $t7,0x1d8($sp) /* f09ffd0: 8f1900bc */ lw $t9,0xbc($t8) /* f09ffd4: 8de40040 */ lw $a0,0x40($t7) /* f09ffd8: 0fc22e20 */ jal func0f08b880 /* f09ffdc: 8f260004 */ lw $a2,0x4($t9) /* f09ffe0: 10000039 */ b .L0f0a00c8 /* f09ffe4: 00408025 */ or $s0,$v0,$zero /* f09ffe8: 2401001b */ addiu $at,$zero,0x1b .L0f09ffec: /* f09ffec: 1441000e */ bne $v0,$at,.L0f0a0028 /* f09fff0: 3c09800a */ lui $t1,%hi(g_Vars+0x284) /* f09fff4: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1) /* f09fff8: 8fa801d8 */ lw $t0,0x1d8($sp) /* f09fffc: 24050056 */ addiu $a1,$zero,0x56 /* f0a0000: 8d2a00bc */ lw $t2,0xbc($t1) /* f0a0004: 8d040040 */ lw $a0,0x40($t0) /* f0a0008: 0fc22e20 */ jal func0f08b880 /* f0a000c: 8d460004 */ lw $a2,0x4($t2) /* f0a0010: 1040002d */ beqz $v0,.L0f0a00c8 /* f0a0014: 00408025 */ or $s0,$v0,$zero /* f0a0018: 8fab02b0 */ lw $t3,0x2b0($sp) /* f0a001c: 916c0003 */ lbu $t4,0x3($t3) /* f0a0020: 10000029 */ b .L0f0a00c8 /* f0a0024: a04c005f */ sb $t4,0x5f($v0) .L0f0a0028: /* f0a0028: 24010017 */ addiu $at,$zero,0x17 /* f0a002c: 1441000e */ bne $v0,$at,.L0f0a0068 /* f0a0030: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f0a0034: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f0a0038: 8fad01d8 */ lw $t5,0x1d8($sp) /* f0a003c: 24050055 */ addiu $a1,$zero,0x55 /* f0a0040: 8dcf00bc */ lw $t7,0xbc($t6) /* f0a0044: 8da40040 */ lw $a0,0x40($t5) /* f0a0048: 0fc22e20 */ jal func0f08b880 /* f0a004c: 8de60004 */ lw $a2,0x4($t7) /* f0a0050: 1040001d */ beqz $v0,.L0f0a00c8 /* f0a0054: 00408025 */ or $s0,$v0,$zero /* f0a0058: 8fb802b0 */ lw $t8,0x2b0($sp) /* f0a005c: 93190003 */ lbu $t9,0x3($t8) /* f0a0060: 10000019 */ b .L0f0a00c8 /* f0a0064: a059005f */ sb $t9,0x5f($v0) .L0f0a0068: /* f0a0068: 24010012 */ addiu $at,$zero,0x12 /* f0a006c: 1441000e */ bne $v0,$at,.L0f0a00a8 /* f0a0070: 3c0d800a */ lui $t5,%hi(g_Vars+0x284) /* f0a0074: 3c09800a */ lui $t1,%hi(g_Vars+0x284) /* f0a0078: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1) /* f0a007c: 8fa801d8 */ lw $t0,0x1d8($sp) /* f0a0080: 24050055 */ addiu $a1,$zero,0x55 /* f0a0084: 8d2a00bc */ lw $t2,0xbc($t1) /* f0a0088: 8d040040 */ lw $a0,0x40($t0) /* f0a008c: 0fc22e20 */ jal func0f08b880 /* f0a0090: 8d460004 */ lw $a2,0x4($t2) /* f0a0094: 1040000c */ beqz $v0,.L0f0a00c8 /* f0a0098: 00408025 */ or $s0,$v0,$zero /* f0a009c: 240b0002 */ addiu $t3,$zero,0x2 /* f0a00a0: 10000009 */ b .L0f0a00c8 /* f0a00a4: a04b005f */ sb $t3,0x5f($v0) .L0f0a00a8: /* f0a00a8: 8dada244 */ lw $t5,%lo(g_Vars+0x284)($t5) /* f0a00ac: 8fac01d8 */ lw $t4,0x1d8($sp) /* f0a00b0: 00e02825 */ or $a1,$a3,$zero /* f0a00b4: 8dae00bc */ lw $t6,0xbc($t5) /* f0a00b8: 8d840040 */ lw $a0,0x40($t4) /* f0a00bc: 0fc22d96 */ jal func0f08b658 /* f0a00c0: 8dc60004 */ lw $a2,0x4($t6) /* f0a00c4: 00408025 */ or $s0,$v0,$zero .L0f0a00c8: /* f0a00c8: 520000ae */ beqzl $s0,.L0f0a0384 /* f0a00cc: 8fbf004c */ lw $ra,0x4c($sp) /* f0a00d0: afa000b8 */ sw $zero,0xb8($sp) /* f0a00d4: 8e060018 */ lw $a2,0x18($s0) /* f0a00d8: 24180001 */ addiu $t8,$zero,0x1 /* f0a00dc: 50c00097 */ beqzl $a2,.L0f0a033c /* f0a00e0: afb800b8 */ sw $t8,0xb8($sp) /* f0a00e4: 8ccf0008 */ lw $t7,0x8($a2) /* f0a00e8: 3c0c800a */ lui $t4,%hi(g_Vars+0x28c) /* f0a00ec: 02002025 */ or $a0,$s0,$zero /* f0a00f0: 11e00091 */ beqz $t7,.L0f0a0338 /* f0a00f4: 27a501e0 */ addiu $a1,$sp,0x1e0 /* f0a00f8: 8fb801d8 */ lw $t8,0x1d8($sp) /* f0a00fc: 2401ffff */ addiu $at,$zero,-1 /* f0a0100: 27a60210 */ addiu $a2,$sp,0x210 /* f0a0104: 8f190058 */ lw $t9,0x58($t8) /* f0a0108: a6190062 */ sh $t9,0x62($s0) /* f0a010c: 86020062 */ lh $v0,0x62($s0) /* f0a0110: 10410002 */ beq $v0,$at,.L0f0a011c /* f0a0114: 00024080 */ sll $t0,$v0,0x2 /* f0a0118: a6080062 */ sh $t0,0x62($s0) .L0f0a011c: /* f0a011c: 8e090040 */ lw $t1,0x40($s0) /* f0a0120: 3c010fff */ lui $at,0xfff /* f0a0124: 3421ffff */ ori $at,$at,0xffff /* f0a0128: 01215024 */ and $t2,$t1,$at /* f0a012c: ae0a0040 */ sw $t2,0x40($s0) /* f0a0130: 8d8ca24c */ lw $t4,%lo(g_Vars+0x28c)($t4) /* f0a0134: 27af0270 */ addiu $t7,$sp,0x270 /* f0a0138: 27a70264 */ addiu $a3,$sp,0x264 /* f0a013c: 000c6f00 */ sll $t5,$t4,0x1c /* f0a0140: 014d7025 */ or $t6,$t2,$t5 /* f0a0144: ae0e0040 */ sw $t6,0x40($s0) /* f0a0148: 0fc27b4b */ jal bgun0f09ed2c /* f0a014c: afaf0010 */ sw $t7,0x10($sp) /* f0a0150: 8e180040 */ lw $t8,0x40($s0) /* f0a0154: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a0158: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f0a015c: 33190080 */ andi $t9,$t8,0x80 /* f0a0160: 13200073 */ beqz $t9,.L0f0a0330 /* f0a0164: 240f0001 */ addiu $t7,$zero,0x1 /* f0a0168: 8c620010 */ lw $v0,0x10($v1) /* f0a016c: 00024000 */ sll $t0,$v0,0x0 /* f0a0170: 05010007 */ bgez $t0,.L0f0a0190 /* f0a0174: 00026100 */ sll $t4,$v0,0x4 /* f0a0178: 8e050048 */ lw $a1,0x48($s0) /* f0a017c: 3c014000 */ lui $at,0x4000 /* f0a0180: 8ca90000 */ lw $t1,0x0($a1) /* f0a0184: 01215025 */ or $t2,$t1,$at /* f0a0188: 10000007 */ b .L0f0a01a8 /* f0a018c: acaa0000 */ sw $t2,0x0($a1) .L0f0a0190: /* f0a0190: 05810005 */ bgez $t4,.L0f0a01a8 /* f0a0194: 00000000 */ nop /* f0a0198: 8e050048 */ lw $a1,0x48($s0) /* f0a019c: 8cab0000 */ lw $t3,0x0($a1) /* f0a01a0: 356d0010 */ ori $t5,$t3,0x10 /* f0a01a4: acad0000 */ sw $t5,0x0($a1) .L0f0a01a8: /* f0a01a8: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f0a01ac: 8e180048 */ lw $t8,0x48($s0) /* f0a01b0: 3c013f80 */ lui $at,0x3f80 /* f0a01b4: 8dcf1630 */ lw $t7,0x1630($t6) /* f0a01b8: 44814000 */ mtc1 $at,$f8 /* f0a01bc: af0f00e8 */ sw $t7,0xe8($t8) /* f0a01c0: c4600048 */ lwc1 $f0,0x48($v1) /* f0a01c4: 46004032 */ c.eq.s $f8,$f0 /* f0a01c8: 00000000 */ nop /* f0a01cc: 45030012 */ bc1tl .L0f0a0218 /* f0a01d0: 8e090048 */ lw $t1,0x48($s0) /* f0a01d4: 8e060018 */ lw $a2,0x18($s0) /* f0a01d8: 2604001c */ addiu $a0,$s0,0x1c /* f0a01dc: 27a50078 */ addiu $a1,$sp,0x78 /* f0a01e0: c4d20014 */ lwc1 $f18,0x14($a2) /* f0a01e4: 46009402 */ mul.s $f16,$f18,$f0 /* f0a01e8: e4d00014 */ swc1 $f16,0x14($a2) /* f0a01ec: 0c005755 */ jal func00015d54 /* f0a01f0: afa40058 */ sw $a0,0x58($sp) /* f0a01f4: 8fb901d8 */ lw $t9,0x1d8($sp) /* f0a01f8: 27a50078 */ addiu $a1,$sp,0x78 /* f0a01fc: 0c0057c1 */ jal func00015f04 /* f0a0200: c72c0048 */ lwc1 $f12,0x48($t9) /* f0a0204: 27a40078 */ addiu $a0,$sp,0x78 /* f0a0208: 0c005768 */ jal func00015da0 /* f0a020c: 8fa50058 */ lw $a1,0x58($sp) /* f0a0210: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a0214: 8e090048 */ lw $t1,0x48($s0) .L0f0a0218: /* f0a0218: 240804b0 */ addiu $t0,$zero,0x4b0 /* f0a021c: 240f00f0 */ addiu $t7,$zero,0xf0 /* f0a0220: a52800b2 */ sh $t0,0xb2($t1) /* f0a0224: 8e0a0014 */ lw $t2,0x14($s0) /* f0a0228: 8e0c0048 */ lw $t4,0x48($s0) /* f0a022c: 3c017f1b */ lui $at,%hi(var7f1ac740) /* f0a0230: c54a000c */ lwc1 $f10,0xc($t2) /* f0a0234: 240affff */ addiu $t2,$zero,-1 /* f0a0238: 2409ffff */ addiu $t1,$zero,-1 /* f0a023c: e58a00a8 */ swc1 $f10,0xa8($t4) /* f0a0240: 8e050048 */ lw $a1,0x48($s0) /* f0a0244: 00002025 */ or $a0,$zero,$zero /* f0a0248: 2407ffff */ addiu $a3,$zero,-1 /* f0a024c: c4a60008 */ lwc1 $f6,0x8($a1) /* f0a0250: e4a600ac */ swc1 $f6,0xac($a1) /* f0a0254: 8e0b0048 */ lw $t3,0x48($s0) /* f0a0258: c7a40250 */ lwc1 $f4,0x250($sp) /* f0a025c: e5640010 */ swc1 $f4,0x10($t3) /* f0a0260: 8e0d0048 */ lw $t5,0x48($s0) /* f0a0264: c7a80254 */ lwc1 $f8,0x254($sp) /* f0a0268: e5a80014 */ swc1 $f8,0x14($t5) /* f0a026c: 8e0e0048 */ lw $t6,0x48($s0) /* f0a0270: c7b20258 */ lwc1 $f18,0x258($sp) /* f0a0274: e5d20018 */ swc1 $f18,0x18($t6) /* f0a0278: 8e180048 */ lw $t8,0x48($s0) /* f0a027c: af0f00b4 */ sw $t7,0xb4($t8) /* f0a0280: 8e190048 */ lw $t9,0x48($s0) /* f0a0284: c470005c */ lwc1 $f16,0x5c($v1) /* f0a0288: e730008c */ swc1 $f16,0x8c($t9) /* f0a028c: c426c740 */ lwc1 $f6,%lo(var7f1ac740)($at) /* f0a0290: c46a0050 */ lwc1 $f10,0x50($v1) /* f0a0294: 8e080048 */ lw $t0,0x48($s0) /* f0a0298: 3c01bf80 */ lui $at,0xbf80 /* f0a029c: 46065102 */ mul.s $f4,$f10,$f6 /* f0a02a0: e5040098 */ swc1 $f4,0x98($t0) /* f0a02a4: 84660060 */ lh $a2,0x60($v1) /* f0a02a8: 58c00011 */ blezl $a2,.L0f0a02f0 /* f0a02ac: 8c6c0010 */ lw $t4,0x10($v1) /* f0a02b0: 8e050014 */ lw $a1,0x14($s0) /* f0a02b4: 44810000 */ mtc1 $at,$f0 /* f0a02b8: afaa002c */ sw $t2,0x2c($sp) /* f0a02bc: afa00028 */ sw $zero,0x28($sp) /* f0a02c0: afa00020 */ sw $zero,0x20($sp) /* f0a02c4: afa0001c */ sw $zero,0x1c($sp) /* f0a02c8: afa00018 */ sw $zero,0x18($sp) /* f0a02cc: afa00014 */ sw $zero,0x14($sp) /* f0a02d0: afa90010 */ sw $t1,0x10($sp) /* f0a02d4: e7a00024 */ swc1 $f0,0x24($sp) /* f0a02d8: e7a00030 */ swc1 $f0,0x30($sp) /* f0a02dc: e7a00034 */ swc1 $f0,0x34($sp) /* f0a02e0: 0fc24e7e */ jal func0f0939f8 /* f0a02e4: e7a00038 */ swc1 $f0,0x38($sp) /* f0a02e8: 8fa301d8 */ lw $v1,0x1d8($sp) /* f0a02ec: 8c6c0010 */ lw $t4,0x10($v1) .L0f0a02f0: /* f0a02f0: 318b0800 */ andi $t3,$t4,0x800 /* f0a02f4: 51600004 */ beqzl $t3,.L0f0a0308 /* f0a02f8: 8e050048 */ lw $a1,0x48($s0) /* f0a02fc: 0fc2f52a */ jal currentPlayerLaunchSlayerRocket /* f0a0300: 02002025 */ or $a0,$s0,$zero /* f0a0304: 8e050048 */ lw $a1,0x48($s0) .L0f0a0308: /* f0a0308: 02002025 */ or $a0,$s0,$zero /* f0a030c: 27a6006c */ addiu $a2,$sp,0x6c /* f0a0310: 8cad0000 */ lw $t5,0x0($a1) /* f0a0314: 31ae0080 */ andi $t6,$t5,0x80 /* f0a0318: 51c00009 */ beqzl $t6,.L0f0a0340 /* f0a031c: 8fb900b8 */ lw $t9,0xb8($sp) /* f0a0320: 0fc1ceba */ jal func0f073ae8 /* f0a0324: 27a70060 */ addiu $a3,$sp,0x60 /* f0a0328: 10000005 */ b .L0f0a0340 /* f0a032c: 8fb900b8 */ lw $t9,0xb8($sp) .L0f0a0330: /* f0a0330: 10000002 */ b .L0f0a033c /* f0a0334: afaf00b8 */ sw $t7,0xb8($sp) .L0f0a0338: /* f0a0338: afb800b8 */ sw $t8,0xb8($sp) .L0f0a033c: /* f0a033c: 8fb900b8 */ lw $t9,0xb8($sp) .L0f0a0340: /* f0a0340: 53200010 */ beqzl $t9,.L0f0a0384 /* f0a0344: 8fbf004c */ lw $ra,0x4c($sp) /* f0a0348: 8e040014 */ lw $a0,0x14($s0) /* f0a034c: 2408ffff */ addiu $t0,$zero,-1 /* f0a0350: a6080062 */ sh $t0,0x62($s0) /* f0a0354: 50800004 */ beqzl $a0,.L0f0a0368 /* f0a0358: 8e060018 */ lw $a2,0x18($s0) /* f0a035c: 0fc1810e */ jal propFree /* f0a0360: 00000000 */ nop /* f0a0364: 8e060018 */ lw $a2,0x18($s0) .L0f0a0368: /* f0a0368: 50c00004 */ beqzl $a2,.L0f0a037c /* f0a036c: ae000014 */ sw $zero,0x14($s0) /* f0a0370: 0fc2cc33 */ jal modelFree /* f0a0374: 00c02025 */ or $a0,$a2,$zero /* f0a0378: ae000014 */ sw $zero,0x14($s0) .L0f0a037c: /* f0a037c: ae000018 */ sw $zero,0x18($s0) .L0f0a0380: /* f0a0380: 8fbf004c */ lw $ra,0x4c($sp) .L0f0a0384: /* f0a0384: 8fb00048 */ lw $s0,0x48($sp) /* f0a0388: 27bd02b8 */ addiu $sp,$sp,0x2b8 /* f0a038c: 03e00008 */ jr $ra /* f0a0390: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgunCreateFiredProjectile .late_rodata glabel var7f1ac730 .word 0x3fd55555 glabel var7f1ac734 .word 0x3e32b179 glabel var7f1ac738 .word 0xbe32b179 glabel var7f1ac73c .word 0x3e32b179 glabel var7f1ac740 .word 0x3fd55555 .text /* f09d8fc: 3c02800a */ lui $v0,0x800a /* f09d900: 00042900 */ sll $a1,$a0,0x4 /* f09d904: 8c42e944 */ lw $v0,-0x16bc($v0) /* f09d908: 27bdfd48 */ addiu $sp,$sp,-696 /* f09d90c: 00a42823 */ subu $a1,$a1,$a0 /* f09d910: 00052880 */ sll $a1,$a1,0x2 /* f09d914: 00a42821 */ addu $a1,$a1,$a0 /* f09d918: afbf004c */ sw $ra,0x4c($sp) /* f09d91c: afb10048 */ sw $s1,0x48($sp) /* f09d920: afb00044 */ sw $s0,0x44($sp) /* f09d924: 000528c0 */ sll $a1,$a1,0x3 /* f09d928: 8c4e00bc */ lw $t6,0xbc($v0) /* f09d92c: 00a42821 */ addu $a1,$a1,$a0 /* f09d930: 00052880 */ sll $a1,$a1,0x2 /* f09d934: 00451821 */ addu $v1,$v0,$a1 /* f09d938: 244f0310 */ addiu $t7,$v0,0x310 /* f09d93c: 24581c44 */ addiu $t8,$v0,0x1c44 /* f09d940: 00808025 */ or $s0,$a0,$zero /* f09d944: afaf01f0 */ sw $t7,0x1f0($sp) /* f09d948: afb801ec */ sw $t8,0x1ec($sp) /* f09d94c: afae01f4 */ sw $t6,0x1f4($sp) /* f09d950: 24630638 */ addiu $v1,$v1,0x638 /* f09d954: 90640000 */ lbu $a0,0x0($v1) /* f09d958: afa5005c */ sw $a1,0x5c($sp) /* f09d95c: 0fc2bb4c */ jal weaponFindById /* f09d960: afa302b0 */ sw $v1,0x2b0($sp) /* f09d964: 104001f3 */ beqz $v0,.NB0f09e134 /* f09d968: 8fb902b0 */ lw $t9,0x2b0($sp) /* f09d96c: 93280003 */ lbu $t0,0x3($t9) /* f09d970: 00084880 */ sll $t1,$t0,0x2 /* f09d974: 00495021 */ addu $t2,$v0,$t1 /* f09d978: 8d510014 */ lw $s1,0x14($t2) /* f09d97c: 522001ee */ beqzl $s1,.NB0f09e138 /* f09d980: 8fbf004c */ lw $ra,0x4c($sp) /* f09d984: 8e2b0000 */ lw $t3,0x0($s1) /* f09d988: 24010201 */ addiu $at,$zero,0x201 /* f09d98c: 556101ea */ bnel $t3,$at,.NB0f09e138 /* f09d990: 8fbf004c */ lw $ra,0x4c($sp) /* f09d994: 0c005a28 */ jal func000159b0 /* f09d998: 27a40270 */ addiu $a0,$sp,0x270 /* f09d99c: 27a40204 */ addiu $a0,$sp,0x204 /* f09d9a0: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09d9a4: 02003025 */ or $a2,$s0,$zero /* f09d9a8: 0fc27a99 */ jal bgunCalculateShotSpread /* f09d9ac: 24070001 */ addiu $a3,$zero,0x1 /* f09d9b0: 0fc2cd36 */ jal currentPlayerGetUnk174c /* f09d9b4: 00000000 */ sll $zero,$zero,0x0 /* f09d9b8: 00402025 */ or $a0,$v0,$zero /* f09d9bc: 0c005a80 */ jal func00015b10 /* f09d9c0: 27a501f8 */ addiu $a1,$sp,0x1f8 /* f09d9c4: 8fa402b0 */ lw $a0,0x2b0($sp) /* f09d9c8: 24010019 */ addiu $at,$zero,0x19 /* f09d9cc: c4840374 */ lwc1 $f4,0x374($a0) /* f09d9d0: e7a401e0 */ swc1 $f4,0x1e0($sp) /* f09d9d4: c4860378 */ lwc1 $f6,0x378($a0) /* f09d9d8: e7a601e4 */ swc1 $f6,0x1e4($sp) /* f09d9dc: c488037c */ lwc1 $f8,0x37c($a0) /* f09d9e0: e7a801e8 */ swc1 $f8,0x1e8($sp) /* f09d9e4: 908c0000 */ lbu $t4,0x0($a0) /* f09d9e8: 55810016 */ bnel $t4,$at,.NB0f09da44 /* f09d9ec: 8e2e004c */ lw $t6,0x4c($s1) /* f09d9f0: 908d0003 */ lbu $t5,0x3($a0) /* f09d9f4: 24010001 */ addiu $at,$zero,0x1 /* f09d9f8: c7aa01e0 */ lwc1 $f10,0x1e0($sp) /* f09d9fc: 15a10010 */ bne $t5,$at,.NB0f09da40 /* f09da00: c7b001f8 */ lwc1 $f16,0x1f8($sp) /* f09da04: 3c014248 */ lui $at,0x4248 /* f09da08: 44810000 */ mtc1 $at,$f0 /* f09da0c: c7a801fc */ lwc1 $f8,0x1fc($sp) /* f09da10: c7a601e4 */ lwc1 $f6,0x1e4($sp) /* f09da14: 46100482 */ mul.s $f18,$f0,$f16 /* f09da18: 46125100 */ add.s $f4,$f10,$f18 /* f09da1c: 46080402 */ mul.s $f16,$f0,$f8 /* f09da20: c7b201e8 */ lwc1 $f18,0x1e8($sp) /* f09da24: e7a401e0 */ swc1 $f4,0x1e0($sp) /* f09da28: c7a40200 */ lwc1 $f4,0x200($sp) /* f09da2c: 46040202 */ mul.s $f8,$f0,$f4 /* f09da30: 46103280 */ add.s $f10,$f6,$f16 /* f09da34: e7aa01e4 */ swc1 $f10,0x1e4($sp) /* f09da38: 46089180 */ add.s $f6,$f18,$f8 /* f09da3c: e7a601e8 */ swc1 $f6,0x1e8($sp) .NB0f09da40: /* f09da40: 8e2e004c */ lw $t6,0x4c($s1) .NB0f09da44: /* f09da44: 3c017f1a */ lui $at,0x7f1a /* f09da48: c4206a78 */ lwc1 $f0,0x6a78($at) /* f09da4c: 448e8000 */ mtc1 $t6,$f16 /* f09da50: 3c014270 */ lui $at,0x4270 /* f09da54: 44819000 */ mtc1 $at,$f18 /* f09da58: 468082a0 */ cvt.s.w $f10,$f16 /* f09da5c: 3c050080 */ lui $a1,0x80 /* f09da60: 46005102 */ mul.s $f4,$f10,$f0 /* f09da64: 46122203 */ div.s $f8,$f4,$f18 /* f09da68: e7a80260 */ swc1 $f8,0x260($sp) /* f09da6c: 8e2f0054 */ lw $t7,0x54($s1) /* f09da70: 448f3000 */ mtc1 $t7,$f6 /* f09da74: 00000000 */ sll $zero,$zero,0x0 /* f09da78: 46803420 */ cvt.s.w $f16,$f6 /* f09da7c: 46008282 */ mul.s $f10,$f16,$f0 /* f09da80: 0fc2bf02 */ jal gsetHasFunctionFlags /* f09da84: e7aa025c */ swc1 $f10,0x25c($sp) /* f09da88: 1040007a */ beqz $v0,.NB0f09dc74 /* f09da8c: 00002025 */ or $a0,$zero,$zero /* f09da90: 00002825 */ or $a1,$zero,$zero /* f09da94: 0fc183f6 */ jal func0f061d54 /* f09da98: 00003025 */ or $a2,$zero,$zero /* f09da9c: 8fa302b0 */ lw $v1,0x2b0($sp) /* f09daa0: 8c7806b4 */ lw $t8,0x6b4($v1) /* f09daa4: 53000074 */ beqzl $t8,.NB0f09dc78 /* f09daa8: c7ac0260 */ lwc1 $f12,0x260($sp) /* f09daac: c46406b8 */ lwc1 $f4,0x6b8($v1) /* f09dab0: 27a401e0 */ addiu $a0,$sp,0x1e0 /* f09dab4: 8fa5025c */ lw $a1,0x25c($sp) /* f09dab8: e7a401c8 */ swc1 $f4,0x1c8($sp) /* f09dabc: c47206bc */ lwc1 $f18,0x6bc($v1) /* f09dac0: 27a601c8 */ addiu $a2,$sp,0x1c8 /* f09dac4: 27a701bc */ addiu $a3,$sp,0x1bc /* f09dac8: e7b201cc */ swc1 $f18,0x1cc($sp) /* f09dacc: c46806c0 */ lwc1 $f8,0x6c0($v1) /* f09dad0: 0fc0febf */ jal func0f04031c /* f09dad4: e7a801d0 */ swc1 $f8,0x1d0($sp) /* f09dad8: c7a601f8 */ lwc1 $f6,0x1f8($sp) /* f09dadc: c7b001bc */ lwc1 $f16,0x1bc($sp) /* f09dae0: c7a401fc */ lwc1 $f4,0x1fc($sp) /* f09dae4: c7b201c0 */ lwc1 $f18,0x1c0($sp) /* f09dae8: 46103282 */ mul.s $f10,$f6,$f16 /* f09daec: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f09daf0: 46122202 */ mul.s $f8,$f4,$f18 /* f09daf4: c7a40200 */ lwc1 $f4,0x200($sp) /* f09daf8: 46048482 */ mul.s $f18,$f16,$f4 /* f09dafc: 46085180 */ add.s $f6,$f10,$f8 /* f09db00: 0fc25258 */ jal func0f0969d0 /* f09db04: 46069300 */ add.s $f12,$f18,$f6 /* f09db08: 3c017f1a */ lui $at,0x7f1a /* f09db0c: c42a6a7c */ lwc1 $f10,0x6a7c($at) /* f09db10: 27b00174 */ addiu $s0,$sp,0x174 /* f09db14: e7a001b4 */ swc1 $f0,0x1b4($sp) /* f09db18: 4600503c */ c.lt.s $f10,$f0 /* f09db1c: 3c017f1a */ lui $at,0x7f1a /* f09db20: 02002025 */ or $a0,$s0,$zero /* f09db24: c7b001f8 */ lwc1 $f16,0x1f8($sp) /* f09db28: 45030008 */ bc1tl .NB0f09db4c /* f09db2c: 44801000 */ mtc1 $zero,$f2 /* f09db30: c4286a80 */ lwc1 $f8,0x6a80($at) /* f09db34: c7aa01bc */ lwc1 $f10,0x1bc($sp) /* f09db38: 4608003c */ c.lt.s $f0,$f8 /* f09db3c: 00000000 */ sll $zero,$zero,0x0 /* f09db40: 45020048 */ bc1fl .NB0f09dc64 /* f09db44: c7a801c0 */ lwc1 $f8,0x1c0($sp) /* f09db48: 44801000 */ mtc1 $zero,$f2 .NB0f09db4c: /* f09db4c: 3c013f80 */ lui $at,0x3f80 /* f09db50: 44813000 */ mtc1 $at,$f6 /* f09db54: c7a401fc */ lwc1 $f4,0x1fc($sp) /* f09db58: c7b20200 */ lwc1 $f18,0x200($sp) /* f09db5c: 44051000 */ mfc1 $a1,$f2 /* f09db60: 44061000 */ mfc1 $a2,$f2 /* f09db64: 44071000 */ mfc1 $a3,$f2 /* f09db68: e7b00010 */ swc1 $f16,0x10($sp) /* f09db6c: e7a2001c */ swc1 $f2,0x1c($sp) /* f09db70: e7a20024 */ swc1 $f2,0x24($sp) /* f09db74: e7a40014 */ swc1 $f4,0x14($sp) /* f09db78: e7a60020 */ swc1 $f6,0x20($sp) /* f09db7c: 0c005eba */ jal func00016b58 /* f09db80: e7b20018 */ swc1 $f18,0x18($sp) /* f09db84: 44801000 */ mtc1 $zero,$f2 /* f09db88: 3c013f80 */ lui $at,0x3f80 /* f09db8c: 44812000 */ mtc1 $at,$f4 /* f09db90: c7aa01bc */ lwc1 $f10,0x1bc($sp) /* f09db94: c7a801c0 */ lwc1 $f8,0x1c0($sp) /* f09db98: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f09db9c: 44051000 */ mfc1 $a1,$f2 /* f09dba0: 44061000 */ mfc1 $a2,$f2 /* f09dba4: 44071000 */ mfc1 $a3,$f2 /* f09dba8: 27a40134 */ addiu $a0,$sp,0x134 /* f09dbac: e7a2001c */ swc1 $f2,0x1c($sp) /* f09dbb0: e7a20024 */ swc1 $f2,0x24($sp) /* f09dbb4: e7aa0010 */ swc1 $f10,0x10($sp) /* f09dbb8: e7a40020 */ swc1 $f4,0x20($sp) /* f09dbbc: e7a80014 */ swc1 $f8,0x14($sp) /* f09dbc0: 0c005eba */ jal func00016b58 /* f09dbc4: e7b00018 */ swc1 $f16,0x18($sp) /* f09dbc8: 02002025 */ or $a0,$s0,$zero /* f09dbcc: 0fc253f5 */ jal func0f097044 /* f09dbd0: 27a500e4 */ addiu $a1,$sp,0xe4 /* f09dbd4: 27b000d4 */ addiu $s0,$sp,0xd4 /* f09dbd8: 02002825 */ or $a1,$s0,$zero /* f09dbdc: 0fc253f5 */ jal func0f097044 /* f09dbe0: 27a40134 */ addiu $a0,$sp,0x134 /* f09dbe4: 27a400e4 */ addiu $a0,$sp,0xe4 /* f09dbe8: 0fc25594 */ jal func0f0976c0 /* f09dbec: 02002825 */ or $a1,$s0,$zero /* f09dbf0: 3c017f1a */ lui $at,0x7f1a /* f09dbf4: c4326a84 */ lwc1 $f18,0x6a84($at) /* f09dbf8: c7a601b4 */ lwc1 $f6,0x1b4($sp) /* f09dbfc: 44801000 */ mtc1 $zero,$f2 /* f09dc00: 27a400e4 */ addiu $a0,$sp,0xe4 /* f09dc04: 46069003 */ div.s $f0,$f18,$f6 /* f09dc08: 02002825 */ or $a1,$s0,$zero /* f09dc0c: 4602003c */ c.lt.s $f0,$f2 /* f09dc10: 46000306 */ mov.s $f12,$f0 /* f09dc14: 45020003 */ bc1fl .NB0f09dc24 /* f09dc18: 44066000 */ mfc1 $a2,$f12 /* f09dc1c: 46000307 */ neg.s $f12,$f0 /* f09dc20: 44066000 */ mfc1 $a2,$f12 .NB0f09dc24: /* f09dc24: 0fc25492 */ jal func0f0972b8 /* f09dc28: 27a700c4 */ addiu $a3,$sp,0xc4 /* f09dc2c: 27a400c4 */ addiu $a0,$sp,0xc4 /* f09dc30: 0fc25399 */ jal func0f096ed4 /* f09dc34: 27a500f4 */ addiu $a1,$sp,0xf4 /* f09dc38: c7aa0114 */ lwc1 $f10,0x114($sp) /* f09dc3c: c7b00118 */ lwc1 $f16,0x118($sp) /* f09dc40: c7b2011c */ lwc1 $f18,0x11c($sp) /* f09dc44: 46005207 */ neg.s $f8,$f10 /* f09dc48: 46008107 */ neg.s $f4,$f16 /* f09dc4c: 46009187 */ neg.s $f6,$f18 /* f09dc50: e7a801f8 */ swc1 $f8,0x1f8($sp) /* f09dc54: e7a401fc */ swc1 $f4,0x1fc($sp) /* f09dc58: 10000006 */ beqz $zero,.NB0f09dc74 /* f09dc5c: e7a60200 */ swc1 $f6,0x200($sp) /* f09dc60: c7a801c0 */ lwc1 $f8,0x1c0($sp) .NB0f09dc64: /* f09dc64: c7b001c4 */ lwc1 $f16,0x1c4($sp) /* f09dc68: e7aa01f8 */ swc1 $f10,0x1f8($sp) /* f09dc6c: e7a801fc */ swc1 $f8,0x1fc($sp) /* f09dc70: e7b00200 */ swc1 $f16,0x200($sp) .NB0f09dc74: /* f09dc74: c7ac0260 */ lwc1 $f12,0x260($sp) .NB0f09dc78: /* f09dc78: c7a401f8 */ lwc1 $f4,0x1f8($sp) /* f09dc7c: c7a601fc */ lwc1 $f6,0x1fc($sp) /* f09dc80: c7a80200 */ lwc1 $f8,0x200($sp) /* f09dc84: 460c2482 */ mul.s $f18,$f4,$f12 /* f09dc88: c7ae025c */ lwc1 $f14,0x25c($sp) /* f09dc8c: 3c02800a */ lui $v0,0x800a /* f09dc90: 460c3282 */ mul.s $f10,$f6,$f12 /* f09dc94: 2442e6c0 */ addiu $v0,$v0,-6464 /* f09dc98: c440004c */ lwc1 $f0,0x4c($v0) /* f09dc9c: 460c4402 */ mul.s $f16,$f8,$f12 /* f09dca0: e7b20250 */ swc1 $f18,0x250($sp) /* f09dca4: 460e2102 */ mul.s $f4,$f4,$f14 /* f09dca8: e7aa0254 */ swc1 $f10,0x254($sp) /* f09dcac: 46009482 */ mul.s $f18,$f18,$f0 /* f09dcb0: e7b00258 */ swc1 $f16,0x258($sp) /* f09dcb4: 46122100 */ add.s $f4,$f4,$f18 /* f09dcb8: 460e3482 */ mul.s $f18,$f6,$f14 /* f09dcbc: 00000000 */ sll $zero,$zero,0x0 /* f09dcc0: 46005182 */ mul.s $f6,$f10,$f0 /* f09dcc4: e7a40264 */ swc1 $f4,0x264($sp) /* f09dcc8: 46069280 */ add.s $f10,$f18,$f6 /* f09dccc: 460e4482 */ mul.s $f18,$f8,$f14 /* f09dcd0: 00000000 */ sll $zero,$zero,0x0 /* f09dcd4: 46008182 */ mul.s $f6,$f16,$f0 /* f09dcd8: e7aa0268 */ swc1 $f10,0x268($sp) /* f09dcdc: 46069280 */ add.s $f10,$f18,$f6 /* f09dce0: e7aa026c */ swc1 $f10,0x26c($sp) /* f09dce4: 8e390010 */ lw $t9,0x10($s1) /* f09dce8: 33280800 */ andi $t0,$t9,0x800 /* f09dcec: 15000021 */ bnez $t0,.NB0f09dd74 /* f09dcf0: 00000000 */ sll $zero,$zero,0x0 /* f09dcf4: 8c490034 */ lw $t1,0x34($v0) /* f09dcf8: 8fa401f4 */ lw $a0,0x1f4($sp) /* f09dcfc: 8fa501f0 */ lw $a1,0x1f0($sp) /* f09dd00: 5920001d */ blezl $t1,.NB0f09dd78 /* f09dd04: 8c4a0284 */ lw $t2,0x284($v0) /* f09dd08: c4880008 */ lwc1 $f8,0x8($a0) /* f09dd0c: c4b00000 */ lwc1 $f16,0x0($a1) /* f09dd10: 8fa601ec */ lw $a2,0x1ec($sp) /* f09dd14: 46104481 */ sub.s $f18,$f8,$f16 /* f09dd18: c4c60000 */ lwc1 $f6,0x0($a2) /* f09dd1c: 46069280 */ add.s $f10,$f18,$f6 /* f09dd20: 46005203 */ div.s $f8,$f10,$f0 /* f09dd24: 46082400 */ add.s $f16,$f4,$f8 /* f09dd28: e7b00264 */ swc1 $f16,0x264($sp) /* f09dd2c: c4a60004 */ lwc1 $f6,0x4($a1) /* f09dd30: c492000c */ lwc1 $f18,0xc($a0) /* f09dd34: c4c40004 */ lwc1 $f4,0x4($a2) /* f09dd38: 46069281 */ sub.s $f10,$f18,$f6 /* f09dd3c: c7b20268 */ lwc1 $f18,0x268($sp) /* f09dd40: 46045200 */ add.s $f8,$f10,$f4 /* f09dd44: 46004403 */ div.s $f16,$f8,$f0 /* f09dd48: 46109180 */ add.s $f6,$f18,$f16 /* f09dd4c: e7a60268 */ swc1 $f6,0x268($sp) /* f09dd50: c4a40008 */ lwc1 $f4,0x8($a1) /* f09dd54: c48a0010 */ lwc1 $f10,0x10($a0) /* f09dd58: c4d20008 */ lwc1 $f18,0x8($a2) /* f09dd5c: 46045201 */ sub.s $f8,$f10,$f4 /* f09dd60: c7aa026c */ lwc1 $f10,0x26c($sp) /* f09dd64: 46124400 */ add.s $f16,$f8,$f18 /* f09dd68: 46008183 */ div.s $f6,$f16,$f0 /* f09dd6c: 46065100 */ add.s $f4,$f10,$f6 /* f09dd70: e7a4026c */ swc1 $f4,0x26c($sp) .NB0f09dd74: /* f09dd74: 8c4a0284 */ lw $t2,0x284($v0) .NB0f09dd78: /* f09dd78: 8fab005c */ lw $t3,0x5c($sp) /* f09dd7c: 27a50210 */ addiu $a1,$sp,0x210 /* f09dd80: 014b2021 */ addu $a0,$t2,$t3 /* f09dd84: 0c005b02 */ jal func00015d18 /* f09dd88: 2484092c */ addiu $a0,$a0,0x92c /* f09dd8c: 44801000 */ mtc1 $zero,$f2 /* f09dd90: 8fa702b0 */ lw $a3,0x2b0($sp) /* f09dd94: 240c0001 */ addiu $t4,$zero,0x1 /* f09dd98: e7a20240 */ swc1 $f2,0x240($sp) /* f09dd9c: e7a20244 */ swc1 $f2,0x244($sp) /* f09dda0: e7a20248 */ swc1 $f2,0x248($sp) /* f09dda4: 8ce20218 */ lw $v0,0x218($a3) /* f09dda8: 50400010 */ beqzl $v0,.NB0f09ddec /* f09ddac: 90e20000 */ lbu $v0,0x0($a3) /* f09ddb0: acec021c */ sw $t4,0x21c($a3) /* f09ddb4: 8c4d000c */ lw $t5,0xc($v0) /* f09ddb8: 3c01fdff */ lui $at,0xfdff /* f09ddbc: 3421ffff */ ori $at,$at,0xffff /* f09ddc0: 01a17024 */ and $t6,$t5,$at /* f09ddc4: ac4e000c */ sw $t6,0xc($v0) /* f09ddc8: 8e2f0010 */ lw $t7,0x10($s1) /* f09ddcc: 00408025 */ or $s0,$v0,$zero /* f09ddd0: 24190053 */ addiu $t9,$zero,0x53 /* f09ddd4: 000fc040 */ sll $t8,$t7,0x1 /* f09ddd8: 0701004b */ bgez $t8,.NB0f09df08 /* f09dddc: 00000000 */ sll $zero,$zero,0x0 /* f09dde0: 10000049 */ beqz $zero,.NB0f09df08 /* f09dde4: a059005c */ sb $t9,0x5c($v0) /* f09dde8: 90e20000 */ lbu $v0,0x0($a3) .NB0f09ddec: /* f09ddec: 24010018 */ addiu $at,$zero,0x18 /* f09ddf0: 3c0a800a */ lui $t2,0x800a /* f09ddf4: 10410003 */ beq $v0,$at,.NB0f09de04 /* f09ddf8: 24010019 */ addiu $at,$zero,0x19 /* f09ddfc: 5441000f */ bnel $v0,$at,.NB0f09de3c /* f09de00: 2401001b */ addiu $at,$zero,0x1b .NB0f09de04: /* f09de04: 8e280010 */ lw $t0,0x10($s1) /* f09de08: 24050052 */ addiu $a1,$zero,0x52 /* f09de0c: 00084840 */ sll $t1,$t0,0x1 /* f09de10: 05210002 */ bgez $t1,.NB0f09de1c /* f09de14: 00000000 */ sll $zero,$zero,0x0 /* f09de18: 24050053 */ addiu $a1,$zero,0x53 .NB0f09de1c: /* f09de1c: 8d4ae944 */ lw $t2,-0x16bc($t2) /* f09de20: 8e240040 */ lw $a0,0x40($s1) /* f09de24: 8d4b00bc */ lw $t3,0xbc($t2) /* f09de28: 0fc2282a */ jal func0f08b880 /* f09de2c: 8d660004 */ lw $a2,0x4($t3) /* f09de30: 10000035 */ beqz $zero,.NB0f09df08 /* f09de34: 00408025 */ or $s0,$v0,$zero /* f09de38: 2401001b */ addiu $at,$zero,0x1b .NB0f09de3c: /* f09de3c: 1441000d */ bne $v0,$at,.NB0f09de74 /* f09de40: 3c0c800a */ lui $t4,0x800a /* f09de44: 8d8ce944 */ lw $t4,-0x16bc($t4) /* f09de48: 8e240040 */ lw $a0,0x40($s1) /* f09de4c: 24050055 */ addiu $a1,$zero,0x55 /* f09de50: 8d8d00bc */ lw $t5,0xbc($t4) /* f09de54: 0fc2282a */ jal func0f08b880 /* f09de58: 8da60004 */ lw $a2,0x4($t5) /* f09de5c: 1040002a */ beqz $v0,.NB0f09df08 /* f09de60: 00408025 */ or $s0,$v0,$zero /* f09de64: 8fae02b0 */ lw $t6,0x2b0($sp) /* f09de68: 91cf0003 */ lbu $t7,0x3($t6) /* f09de6c: 10000026 */ beqz $zero,.NB0f09df08 /* f09de70: a04f005f */ sb $t7,0x5f($v0) .NB0f09de74: /* f09de74: 24010017 */ addiu $at,$zero,0x17 /* f09de78: 1441000d */ bne $v0,$at,.NB0f09deb0 /* f09de7c: 3c18800a */ lui $t8,0x800a /* f09de80: 8f18e944 */ lw $t8,-0x16bc($t8) /* f09de84: 8e240040 */ lw $a0,0x40($s1) /* f09de88: 24050054 */ addiu $a1,$zero,0x54 /* f09de8c: 8f1900bc */ lw $t9,0xbc($t8) /* f09de90: 0fc2282a */ jal func0f08b880 /* f09de94: 8f260004 */ lw $a2,0x4($t9) /* f09de98: 1040001b */ beqz $v0,.NB0f09df08 /* f09de9c: 00408025 */ or $s0,$v0,$zero /* f09dea0: 8fa802b0 */ lw $t0,0x2b0($sp) /* f09dea4: 91090003 */ lbu $t1,0x3($t0) /* f09dea8: 10000017 */ beqz $zero,.NB0f09df08 /* f09deac: a049005f */ sb $t1,0x5f($v0) .NB0f09deb0: /* f09deb0: 24010012 */ addiu $at,$zero,0x12 /* f09deb4: 1441000d */ bne $v0,$at,.NB0f09deec /* f09deb8: 3c0d800a */ lui $t5,0x800a /* f09debc: 3c0a800a */ lui $t2,0x800a /* f09dec0: 8d4ae944 */ lw $t2,-0x16bc($t2) /* f09dec4: 8e240040 */ lw $a0,0x40($s1) /* f09dec8: 24050054 */ addiu $a1,$zero,0x54 /* f09decc: 8d4b00bc */ lw $t3,0xbc($t2) /* f09ded0: 0fc2282a */ jal func0f08b880 /* f09ded4: 8d660004 */ lw $a2,0x4($t3) /* f09ded8: 1040000b */ beqz $v0,.NB0f09df08 /* f09dedc: 00408025 */ or $s0,$v0,$zero /* f09dee0: 240c0002 */ addiu $t4,$zero,0x2 /* f09dee4: 10000008 */ beqz $zero,.NB0f09df08 /* f09dee8: a04c005f */ sb $t4,0x5f($v0) .NB0f09deec: /* f09deec: 8dade944 */ lw $t5,-0x16bc($t5) /* f09def0: 8e240040 */ lw $a0,0x40($s1) /* f09def4: 00e02825 */ or $a1,$a3,$zero /* f09def8: 8dae00bc */ lw $t6,0xbc($t5) /* f09defc: 0fc227a4 */ jal func0f08b658 /* f09df00: 8dc60004 */ lw $a2,0x4($t6) /* f09df04: 00408025 */ or $s0,$v0,$zero .NB0f09df08: /* f09df08: 1200008a */ beqz $s0,.NB0f09e134 /* f09df0c: 3c0a800a */ lui $t2,0x800a /* f09df10: 8e2f0058 */ lw $t7,0x58($s1) /* f09df14: 2401ffff */ addiu $at,$zero,-1 /* f09df18: 02002025 */ or $a0,$s0,$zero /* f09df1c: a60f0062 */ sh $t7,0x62($s0) /* f09df20: 86020062 */ lh $v0,0x62($s0) /* f09df24: 27a501e0 */ addiu $a1,$sp,0x1e0 /* f09df28: 27a60210 */ addiu $a2,$sp,0x210 /* f09df2c: 10410002 */ beq $v0,$at,.NB0f09df38 /* f09df30: 0002c080 */ sll $t8,$v0,0x2 /* f09df34: a6180062 */ sh $t8,0x62($s0) .NB0f09df38: /* f09df38: 8e190040 */ lw $t9,0x40($s0) /* f09df3c: 3c010fff */ lui $at,0xfff /* f09df40: 3421ffff */ ori $at,$at,0xffff /* f09df44: 03214024 */ and $t0,$t9,$at /* f09df48: ae080040 */ sw $t0,0x40($s0) /* f09df4c: 8d4ae94c */ lw $t2,-0x16b4($t2) /* f09df50: 27ad0270 */ addiu $t5,$sp,0x270 /* f09df54: 27a70264 */ addiu $a3,$sp,0x264 /* f09df58: 000a5f00 */ sll $t3,$t2,0x1c /* f09df5c: 010b6025 */ or $t4,$t0,$t3 /* f09df60: ae0c0040 */ sw $t4,0x40($s0) /* f09df64: 0fc272f0 */ jal bgun0f09ed2c /* f09df68: afad0010 */ sw $t5,0x10($sp) /* f09df6c: 8e0e0040 */ lw $t6,0x40($s0) /* f09df70: 3c0c800a */ lui $t4,0x800a /* f09df74: 31cf0080 */ andi $t7,$t6,0x80 /* f09df78: 51e0006f */ beqzl $t7,.NB0f09e138 /* f09df7c: 8fbf004c */ lw $ra,0x4c($sp) /* f09df80: 8e220010 */ lw $v0,0x10($s1) /* f09df84: 0002c000 */ sll $t8,$v0,0x0 /* f09df88: 07010007 */ bgez $t8,.NB0f09dfa8 /* f09df8c: 00025100 */ sll $t2,$v0,0x4 /* f09df90: 8e050048 */ lw $a1,0x48($s0) /* f09df94: 3c014000 */ lui $at,0x4000 /* f09df98: 8cb90000 */ lw $t9,0x0($a1) /* f09df9c: 03214025 */ or $t0,$t9,$at /* f09dfa0: 10000007 */ beqz $zero,.NB0f09dfc0 /* f09dfa4: aca80000 */ sw $t0,0x0($a1) .NB0f09dfa8: /* f09dfa8: 05410005 */ bgez $t2,.NB0f09dfc0 /* f09dfac: 00000000 */ sll $zero,$zero,0x0 /* f09dfb0: 8e050048 */ lw $a1,0x48($s0) /* f09dfb4: 8ca90000 */ lw $t1,0x0($a1) /* f09dfb8: 352b0010 */ ori $t3,$t1,0x10 /* f09dfbc: acab0000 */ sw $t3,0x0($a1) .NB0f09dfc0: /* f09dfc0: 8d8ce944 */ lw $t4,-0x16bc($t4) /* f09dfc4: 8e0e0048 */ lw $t6,0x48($s0) /* f09dfc8: 3c013f80 */ lui $at,0x3f80 /* f09dfcc: 8d8d1630 */ lw $t5,0x1630($t4) /* f09dfd0: 44814000 */ mtc1 $at,$f8 /* f09dfd4: adcd00e8 */ sw $t5,0xe8($t6) /* f09dfd8: c6200048 */ lwc1 $f0,0x48($s1) /* f09dfdc: 46004032 */ c.eq.s $f8,$f0 /* f09dfe0: 00000000 */ sll $zero,$zero,0x0 /* f09dfe4: 45030010 */ bc1tl .NB0f09e028 /* f09dfe8: 8e180048 */ lw $t8,0x48($s0) /* f09dfec: 8e020018 */ lw $v0,0x18($s0) /* f09dff0: 2604001c */ addiu $a0,$s0,0x1c /* f09dff4: 27a5007c */ addiu $a1,$sp,0x7c /* f09dff8: c4520014 */ lwc1 $f18,0x14($v0) /* f09dffc: 46009402 */ mul.s $f16,$f18,$f0 /* f09e000: e4500014 */ swc1 $f16,0x14($v0) /* f09e004: 0c005b11 */ jal func00015d54 /* f09e008: afa4005c */ sw $a0,0x5c($sp) /* f09e00c: c62c0048 */ lwc1 $f12,0x48($s1) /* f09e010: 0c005b7d */ jal func00015f04 /* f09e014: 27a5007c */ addiu $a1,$sp,0x7c /* f09e018: 27a4007c */ addiu $a0,$sp,0x7c /* f09e01c: 0c005b24 */ jal func00015da0 /* f09e020: 8fa5005c */ lw $a1,0x5c($sp) /* f09e024: 8e180048 */ lw $t8,0x48($s0) .NB0f09e028: /* f09e028: 240f04b0 */ addiu $t7,$zero,0x4b0 /* f09e02c: 240c00f0 */ addiu $t4,$zero,0xf0 /* f09e030: a70f00b2 */ sh $t7,0xb2($t8) /* f09e034: 8e190014 */ lw $t9,0x14($s0) /* f09e038: 8e080048 */ lw $t0,0x48($s0) /* f09e03c: 3c017f1a */ lui $at,0x7f1a /* f09e040: c72a000c */ lwc1 $f10,0xc($t9) /* f09e044: 2419ffff */ addiu $t9,$zero,-1 /* f09e048: 2418ffff */ addiu $t8,$zero,-1 /* f09e04c: e50a00a8 */ swc1 $f10,0xa8($t0) /* f09e050: 8e050048 */ lw $a1,0x48($s0) /* f09e054: 00002025 */ or $a0,$zero,$zero /* f09e058: 2407ffff */ addiu $a3,$zero,-1 /* f09e05c: c4a60008 */ lwc1 $f6,0x8($a1) /* f09e060: e4a600ac */ swc1 $f6,0xac($a1) /* f09e064: 8e0a0048 */ lw $t2,0x48($s0) /* f09e068: c7a40250 */ lwc1 $f4,0x250($sp) /* f09e06c: e5440010 */ swc1 $f4,0x10($t2) /* f09e070: 8e090048 */ lw $t1,0x48($s0) /* f09e074: c7a80254 */ lwc1 $f8,0x254($sp) /* f09e078: e5280014 */ swc1 $f8,0x14($t1) /* f09e07c: 8e0b0048 */ lw $t3,0x48($s0) /* f09e080: c7b20258 */ lwc1 $f18,0x258($sp) /* f09e084: e5720018 */ swc1 $f18,0x18($t3) /* f09e088: 8e0d0048 */ lw $t5,0x48($s0) /* f09e08c: adac00b4 */ sw $t4,0xb4($t5) /* f09e090: 8e0e0048 */ lw $t6,0x48($s0) /* f09e094: c630005c */ lwc1 $f16,0x5c($s1) /* f09e098: e5d0008c */ swc1 $f16,0x8c($t6) /* f09e09c: c4266a88 */ lwc1 $f6,0x6a88($at) /* f09e0a0: c62a0050 */ lwc1 $f10,0x50($s1) /* f09e0a4: 8e0f0048 */ lw $t7,0x48($s0) /* f09e0a8: 3c01bf80 */ lui $at,0xbf80 /* f09e0ac: 46065102 */ mul.s $f4,$f10,$f6 /* f09e0b0: e5e40098 */ swc1 $f4,0x98($t7) /* f09e0b4: 86260060 */ lh $a2,0x60($s1) /* f09e0b8: 58c00010 */ blezl $a2,.NB0f09e0fc /* f09e0bc: 8e280010 */ lw $t0,0x10($s1) /* f09e0c0: 8e050014 */ lw $a1,0x14($s0) /* f09e0c4: 44810000 */ mtc1 $at,$f0 /* f09e0c8: afb9002c */ sw $t9,0x2c($sp) /* f09e0cc: afa00028 */ sw $zero,0x28($sp) /* f09e0d0: afa00020 */ sw $zero,0x20($sp) /* f09e0d4: afa0001c */ sw $zero,0x1c($sp) /* f09e0d8: afa00018 */ sw $zero,0x18($sp) /* f09e0dc: afa00014 */ sw $zero,0x14($sp) /* f09e0e0: afb80010 */ sw $t8,0x10($sp) /* f09e0e4: e7a00024 */ swc1 $f0,0x24($sp) /* f09e0e8: e7a00030 */ swc1 $f0,0x30($sp) /* f09e0ec: e7a00034 */ swc1 $f0,0x34($sp) /* f09e0f0: 0fc24762 */ jal func0f0939f8 /* f09e0f4: e7a00038 */ swc1 $f0,0x38($sp) /* f09e0f8: 8e280010 */ lw $t0,0x10($s1) .NB0f09e0fc: /* f09e0fc: 310a0800 */ andi $t2,$t0,0x800 /* f09e100: 51400004 */ beqzl $t2,.NB0f09e114 /* f09e104: 8e050048 */ lw $a1,0x48($s0) /* f09e108: 0fc2ec44 */ jal currentPlayerLaunchSlayerRocket /* f09e10c: 02002025 */ or $a0,$s0,$zero /* f09e110: 8e050048 */ lw $a1,0x48($s0) .NB0f09e114: /* f09e114: 02002025 */ or $a0,$s0,$zero /* f09e118: 27a60070 */ addiu $a2,$sp,0x70 /* f09e11c: 8ca90000 */ lw $t1,0x0($a1) /* f09e120: 312b0080 */ andi $t3,$t1,0x80 /* f09e124: 51600004 */ beqzl $t3,.NB0f09e138 /* f09e128: 8fbf004c */ lw $ra,0x4c($sp) /* f09e12c: 0fc1ca1f */ jal func0f073ae8 /* f09e130: 27a70064 */ addiu $a3,$sp,0x64 .NB0f09e134: /* f09e134: 8fbf004c */ lw $ra,0x4c($sp) .NB0f09e138: /* f09e138: 8fb00044 */ lw $s0,0x44($sp) /* f09e13c: 8fb10048 */ lw $s1,0x48($sp) /* f09e140: 03e00008 */ jr $ra /* f09e144: 27bd02b8 */ addiu $sp,$sp,0x2b8 ); #endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a0394 .late_rodata glabel var7f1ac744 .word 0x3e99999a glabel var7f1ac748 .word 0x3dcccccd glabel var7f1ac74c .word 0x3e99999a glabel var7f1ac750 .word 0x3dcccccd glabel var7f1ac754 .word 0xb3d6bf95 glabel var7f1ac758 .word 0x33d6bf95 glabel var7f1ac75c .word 0xc5bb8000 glabel var7f1ac760 .word 0x3f69ba5e glabel var7f1ac764 .word 0x3db22d10 .text /* f0a0394: 27bdff20 */ addiu $sp,$sp,-224 /* f0a0398: f7b60018 */ sdc1 $f22,0x18($sp) /* f0a039c: 4486b000 */ mtc1 $a2,$f22 /* f0a03a0: afbf0064 */ sw $ra,0x64($sp) /* f0a03a4: afb70060 */ sw $s7,0x60($sp) /* f0a03a8: afb6005c */ sw $s6,0x5c($sp) /* f0a03ac: afb50058 */ sw $s5,0x58($sp) /* f0a03b0: afb40054 */ sw $s4,0x54($sp) /* f0a03b4: afb30050 */ sw $s3,0x50($sp) /* f0a03b8: afb2004c */ sw $s2,0x4c($sp) /* f0a03bc: afb10048 */ sw $s1,0x48($sp) /* f0a03c0: afb00044 */ sw $s0,0x44($sp) /* f0a03c4: f7be0038 */ sdc1 $f30,0x38($sp) /* f0a03c8: f7bc0030 */ sdc1 $f28,0x30($sp) /* f0a03cc: f7ba0028 */ sdc1 $f26,0x28($sp) /* f0a03d0: f7b80020 */ sdc1 $f24,0x20($sp) /* f0a03d4: f7b40010 */ sdc1 $f20,0x10($sp) /* f0a03d8: e7ac00e0 */ swc1 $f12,0xe0($sp) /* f0a03dc: e7ae00e4 */ swc1 $f14,0xe4($sp) /* f0a03e0: 0fc2d5f6 */ jal currentPlayerGetScreenWidth /* f0a03e4: afa700ec */ sw $a3,0xec($sp) /* f0a03e8: 0fc2d5fa */ jal currentPlayerGetScreenHeight /* f0a03ec: 46000706 */ mov.s $f28,$f0 /* f0a03f0: 3c0f8007 */ lui $t7,%hi(var800701b8) /* f0a03f4: 25ef01b8 */ addiu $t7,$t7,%lo(var800701b8) /* f0a03f8: 3c17800a */ lui $s7,%hi(g_Vars) /* f0a03fc: 8de10000 */ lw $at,0x0($t7) /* f0a0400: 8de80004 */ lw $t0,0x4($t7) /* f0a0404: 26f79fc0 */ addiu $s7,$s7,%lo(g_Vars) /* f0a0408: 8ef50284 */ lw $s5,0x284($s7) /* f0a040c: 27ae00a8 */ addiu $t6,$sp,0xa8 /* f0a0410: adc10000 */ sw $at,0x0($t6) /* f0a0414: adc80004 */ sw $t0,0x4($t6) /* f0a0418: c7a400e0 */ lwc1 $f4,0xe0($sp) /* f0a041c: c7a600e4 */ lwc1 $f6,0xe4($sp) /* f0a0420: 46000786 */ mov.s $f30,$f0 /* f0a0424: e7a400bc */ swc1 $f4,0xbc($sp) /* f0a0428: e7a400b8 */ swc1 $f4,0xb8($sp) /* f0a042c: e7a600b4 */ swc1 $f6,0xb4($sp) /* f0a0430: e7a600b0 */ swc1 $f6,0xb0($sp) /* f0a0434: 82a20de4 */ lb $v0,0xde4($s5) /* f0a0438: 2c490001 */ sltiu $t1,$v0,0x1 /* f0a043c: afa900ac */ sw $t1,0xac($sp) /* f0a0440: 82a20640 */ lb $v0,0x640($s5) /* f0a0444: 2c4a0001 */ sltiu $t2,$v0,0x1 /* f0a0448: afaa00a8 */ sw $t2,0xa8($sp) /* f0a044c: 82ab0de4 */ lb $t3,0xde4($s5) /* f0a0450: 55600020 */ bnezl $t3,.L0f0a04d4 /* f0a0454: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a0458: 8eac0c3c */ lw $t4,0xc3c($s5) /* f0a045c: 24010001 */ addiu $at,$zero,0x1 /* f0a0460: 5581001c */ bnel $t4,$at,.L0f0a04d4 /* f0a0464: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a0468: 8ead0ce8 */ lw $t5,0xce8($s5) /* f0a046c: 51a00019 */ beqzl $t5,.L0f0a04d4 /* f0a0470: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a0474: 92b90638 */ lbu $t9,0x638($s5) /* f0a0478: 2401001b */ addiu $at,$zero,0x1b /* f0a047c: 24100019 */ addiu $s0,$zero,0x19 /* f0a0480: 17210002 */ bne $t9,$at,.L0f0a048c /* f0a0484: 00000000 */ nop /* f0a0488: 24100005 */ addiu $s0,$zero,0x5 .L0f0a048c: /* f0a048c: 0fc26057 */ jal bgun0f09815c /* f0a0490: 26a40638 */ addiu $a0,$s5,0x638 /* f0a0494: 46000506 */ mov.s $f20,$f0 /* f0a0498: 0c007486 */ jal modelGetNumAnimFrames /* f0a049c: 26a409bc */ addiu $a0,$s5,0x9bc /* f0a04a0: 4600a20d */ trunc.w.s $f8,$f20 /* f0a04a4: 00507823 */ subu $t7,$v0,$s0 /* f0a04a8: 440e4000 */ mfc1 $t6,$f8 /* f0a04ac: 00000000 */ nop /* f0a04b0: 01cf082a */ slt $at,$t6,$t7 /* f0a04b4: 50200007 */ beqzl $at,.L0f0a04d4 /* f0a04b8: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a04bc: 44800000 */ mtc1 $zero,$f0 /* f0a04c0: 24020001 */ addiu $v0,$zero,0x1 /* f0a04c4: afa200a8 */ sw $v0,0xa8($sp) /* f0a04c8: e7a000b8 */ swc1 $f0,0xb8($sp) /* f0a04cc: e7a000b0 */ swc1 $f0,0xb0($sp) /* f0a04d0: 92a80ddc */ lbu $t0,0xddc($s5) .L0f0a04d4: /* f0a04d4: 24010022 */ addiu $at,$zero,0x22 /* f0a04d8: 8ee20284 */ lw $v0,0x284($s7) /* f0a04dc: 15010012 */ bne $t0,$at,.L0f0a0528 /* f0a04e0: 00009825 */ or $s3,$zero,$zero /* f0a04e4: 3c017f1b */ lui $at,%hi(var7f1ac744) /* f0a04e8: c432c744 */ lwc1 $f18,%lo(var7f1ac744)($at) /* f0a04ec: c44a0148 */ lwc1 $f10,0x148($v0) /* f0a04f0: c44601b4 */ lwc1 $f6,0x1b4($v0) /* f0a04f4: 3c017f1b */ lui $at,%hi(var7f1ac748) /* f0a04f8: 46125102 */ mul.s $f4,$f10,$f18 /* f0a04fc: 24090001 */ addiu $t1,$zero,0x1 /* f0a0500: 46062200 */ add.s $f8,$f4,$f6 /* f0a0504: c424c748 */ lwc1 $f4,%lo(var7f1ac748)($at) /* f0a0508: e7a800bc */ swc1 $f8,0xbc($sp) /* f0a050c: c44a015c */ lwc1 $f10,0x15c($v0) /* f0a0510: c44801b8 */ lwc1 $f8,0x1b8($v0) /* f0a0514: afa900ac */ sw $t1,0xac($sp) /* f0a0518: 46005487 */ neg.s $f18,$f10 /* f0a051c: 46049182 */ mul.s $f6,$f18,$f4 /* f0a0520: 46083280 */ add.s $f10,$f6,$f8 /* f0a0524: e7aa00b4 */ swc1 $f10,0xb4($sp) .L0f0a0528: /* f0a0528: 92aa0638 */ lbu $t2,0x638($s5) /* f0a052c: 24010001 */ addiu $at,$zero,0x1 /* f0a0530: 0000a025 */ or $s4,$zero,$zero /* f0a0534: 15410011 */ bne $t2,$at,.L0f0a057c /* f0a0538: 3c017f1b */ lui $at,%hi(var7f1ac74c) /* f0a053c: c424c74c */ lwc1 $f4,%lo(var7f1ac74c)($at) /* f0a0540: c4520148 */ lwc1 $f18,0x148($v0) /* f0a0544: c44801b4 */ lwc1 $f8,0x1b4($v0) /* f0a0548: 3c017f1b */ lui $at,%hi(var7f1ac750) /* f0a054c: 46049182 */ mul.s $f6,$f18,$f4 /* f0a0550: 240b0001 */ addiu $t3,$zero,0x1 /* f0a0554: 46083280 */ add.s $f10,$f6,$f8 /* f0a0558: c426c750 */ lwc1 $f6,%lo(var7f1ac750)($at) /* f0a055c: e7aa00b8 */ swc1 $f10,0xb8($sp) /* f0a0560: c452015c */ lwc1 $f18,0x15c($v0) /* f0a0564: c44a01b8 */ lwc1 $f10,0x1b8($v0) /* f0a0568: afab00a8 */ sw $t3,0xa8($sp) /* f0a056c: 46009107 */ neg.s $f4,$f18 /* f0a0570: 46062202 */ mul.s $f8,$f4,$f6 /* f0a0574: 460a4480 */ add.s $f18,$f8,$f10 /* f0a0578: e7b200b0 */ swc1 $f18,0xb0($sp) .L0f0a057c: /* f0a057c: 904c1bfc */ lbu $t4,0x1bfc($v0) /* f0a0580: 3c017f1b */ lui $at,%hi(var7f1ac754) /* f0a0584: 11800003 */ beqz $t4,.L0f0a0594 /* f0a0588: 24020001 */ addiu $v0,$zero,0x1 /* f0a058c: afa200ac */ sw $v0,0xac($sp) /* f0a0590: afa200a8 */ sw $v0,0xa8($sp) .L0f0a0594: /* f0a0594: c43ac754 */ lwc1 $f26,%lo(var7f1ac754)($at) /* f0a0598: 3c017f1b */ lui $at,%hi(var7f1ac758) /* f0a059c: c438c758 */ lwc1 $f24,%lo(var7f1ac758)($at) /* f0a05a0: 3c013f80 */ lui $at,0x3f80 /* f0a05a4: 4481a000 */ mtc1 $at,$f20 /* f0a05a8: 27b600a8 */ addiu $s6,$sp,0xa8 .L0f0a05ac: /* f0a05ac: 8ecd0000 */ lw $t5,0x0($s6) /* f0a05b0: 0013c900 */ sll $t9,$s3,0x4 /* f0a05b4: 0333c823 */ subu $t9,$t9,$s3 /* f0a05b8: 15a00040 */ bnez $t5,.L0f0a06bc /* f0a05bc: 0019c880 */ sll $t9,$t9,0x2 /* f0a05c0: 0333c821 */ addu $t9,$t9,$s3 /* f0a05c4: 0019c8c0 */ sll $t9,$t9,0x3 /* f0a05c8: 0333c821 */ addu $t9,$t9,$s3 /* f0a05cc: 0019c880 */ sll $t9,$t9,0x2 /* f0a05d0: 02b98821 */ addu $s1,$s5,$t9 /* f0a05d4: 8e380cec */ lw $t8,0xcec($s1) /* f0a05d8: 53000039 */ beqzl $t8,.L0f0a06c0 /* f0a05dc: 26730001 */ addiu $s3,$s3,0x1 /* f0a05e0: 8eee0314 */ lw $t6,0x314($s7) /* f0a05e4: 26220638 */ addiu $v0,$s1,0x638 /* f0a05e8: 55c00035 */ bnezl $t6,.L0f0a06c0 /* f0a05ec: 26730001 */ addiu $s3,$s3,0x1 /* f0a05f0: c44406b8 */ lwc1 $f4,0x6b8($v0) /* f0a05f4: e7a40094 */ swc1 $f4,0x94($sp) /* f0a05f8: c44606bc */ lwc1 $f6,0x6bc($v0) /* f0a05fc: e7a60098 */ swc1 $f6,0x98($sp) /* f0a0600: c44806c0 */ lwc1 $f8,0x6c0($v0) /* f0a0604: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0a0608: e7a8009c */ swc1 $f8,0x9c($sp) /* f0a060c: 00402025 */ or $a0,$v0,$zero /* f0a0610: 0c0056d9 */ jal func00015b64 /* f0a0614: 27a50094 */ addiu $a1,$sp,0x94 /* f0a0618: c7a0009c */ lwc1 $f0,0x9c($sp) /* f0a061c: 3c017f1b */ lui $at,%hi(var7f1ac75c) /* f0a0620: 4618003c */ c.lt.s $f0,$f24 /* f0a0624: 00000000 */ nop /* f0a0628: 45000005 */ bc1f .L0f0a0640 /* f0a062c: 00000000 */ nop /* f0a0630: 4600d03c */ c.lt.s $f26,$f0 /* f0a0634: 00000000 */ nop /* f0a0638: 45030021 */ bc1tl .L0f0a06c0 /* f0a063c: 26730001 */ addiu $s3,$s3,0x1 .L0f0a0640: /* f0a0640: c42ac75c */ lwc1 $f10,%lo(var7f1ac75c)($at) /* f0a0644: 27af00b8 */ addiu $t7,$sp,0xb8 /* f0a0648: 028f8021 */ addu $s0,$s4,$t7 /* f0a064c: 4600503c */ c.lt.s $f10,$f0 /* f0a0650: 27a40094 */ addiu $a0,$sp,0x94 /* f0a0654: 27a5008c */ addiu $a1,$sp,0x8c /* f0a0658: 27a800b0 */ addiu $t0,$sp,0xb0 /* f0a065c: 45020018 */ bc1fl .L0f0a06c0 /* f0a0660: 26730001 */ addiu $s3,$s3,0x1 /* f0a0664: 0fc2d341 */ jal func0f0b4d04 /* f0a0668: 02889021 */ addu $s2,$s4,$t0 /* f0a066c: c7b2008c */ lwc1 $f18,0x8c($sp) /* f0a0670: e6120000 */ swc1 $f18,0x0($s0) /* f0a0674: c7a40090 */ lwc1 $f4,0x90($sp) /* f0a0678: 0c002f22 */ jal viGetViewWidth /* f0a067c: e6440000 */ swc1 $f4,0x0($s2) /* f0a0680: 44824000 */ mtc1 $v0,$f8 /* f0a0684: c6060000 */ lwc1 $f6,0x0($s0) /* f0a0688: 468042a0 */ cvt.s.w $f10,$f8 /* f0a068c: 460a3003 */ div.s $f0,$f6,$f10 /* f0a0690: 46000480 */ add.s $f18,$f0,$f0 /* f0a0694: 46149101 */ sub.s $f4,$f18,$f20 /* f0a0698: 0c002f26 */ jal viGetViewHeight /* f0a069c: e6040000 */ swc1 $f4,0x0($s0) /* f0a06a0: 44823000 */ mtc1 $v0,$f6 /* f0a06a4: c6480000 */ lwc1 $f8,0x0($s2) /* f0a06a8: 468032a0 */ cvt.s.w $f10,$f6 /* f0a06ac: 460a4003 */ div.s $f0,$f8,$f10 /* f0a06b0: 46000480 */ add.s $f18,$f0,$f0 /* f0a06b4: 46149101 */ sub.s $f4,$f18,$f20 /* f0a06b8: e6440000 */ swc1 $f4,0x0($s2) .L0f0a06bc: /* f0a06bc: 26730001 */ addiu $s3,$s3,0x1 .L0f0a06c0: /* f0a06c0: 24010001 */ addiu $at,$zero,0x1 /* f0a06c4: 26940004 */ addiu $s4,$s4,0x4 /* f0a06c8: 1661ffb8 */ bne $s3,$at,.L0f0a05ac /* f0a06cc: 26d60004 */ addiu $s6,$s6,0x4 /* f0a06d0: c6a21670 */ lwc1 $f2,0x1670($s5) /* f0a06d4: c6a61660 */ lwc1 $f6,0x1660($s5) /* f0a06d8: c6a81664 */ lwc1 $f8,0x1664($s5) /* f0a06dc: 4602b032 */ c.eq.s $f22,$f2 /* f0a06e0: 3c013f80 */ lui $at,0x3f80 /* f0a06e4: e6a61944 */ swc1 $f6,0x1944($s5) /* f0a06e8: e6a81948 */ swc1 $f8,0x1948($s5) /* f0a06ec: 4503000d */ bc1tl .L0f0a0724 /* f0a06f0: c7ae00ec */ lwc1 $f14,0xec($sp) /* f0a06f4: 4602a001 */ sub.s $f0,$f20,$f2 /* f0a06f8: c6aa1668 */ lwc1 $f10,0x1668($s5) /* f0a06fc: c6a6166c */ lwc1 $f6,0x166c($s5) /* f0a0700: 4616a301 */ sub.s $f12,$f20,$f22 /* f0a0704: 46005482 */ mul.s $f18,$f10,$f0 /* f0a0708: e6b61670 */ swc1 $f22,0x1670($s5) /* f0a070c: 46003202 */ mul.s $f8,$f6,$f0 /* f0a0710: 460c9103 */ div.s $f4,$f18,$f12 /* f0a0714: 460c4283 */ div.s $f10,$f8,$f12 /* f0a0718: e6a41668 */ swc1 $f4,0x1668($s5) /* f0a071c: e6aa166c */ swc1 $f10,0x166c($s5) /* f0a0720: c7ae00ec */ lwc1 $f14,0xec($sp) .L0f0a0724: /* f0a0724: c6a21684 */ lwc1 $f2,0x1684($s5) /* f0a0728: 4616a301 */ sub.s $f12,$f20,$f22 /* f0a072c: 46027032 */ c.eq.s $f14,$f2 /* f0a0730: 00000000 */ nop /* f0a0734: 4503000d */ bc1tl .L0f0a076c /* f0a0738: 44812000 */ mtc1 $at,$f4 /* f0a073c: 4602a001 */ sub.s $f0,$f20,$f2 /* f0a0740: c6b2167c */ lwc1 $f18,0x167c($s5) /* f0a0744: c6a81680 */ lwc1 $f8,0x1680($s5) /* f0a0748: 460ea401 */ sub.s $f16,$f20,$f14 /* f0a074c: 46009102 */ mul.s $f4,$f18,$f0 /* f0a0750: e6ae1684 */ swc1 $f14,0x1684($s5) /* f0a0754: 46004282 */ mul.s $f10,$f8,$f0 /* f0a0758: 46102183 */ div.s $f6,$f4,$f16 /* f0a075c: 46105483 */ div.s $f18,$f10,$f16 /* f0a0760: e6a6167c */ swc1 $f6,0x167c($s5) /* f0a0764: e6b21680 */ swc1 $f18,0x1680($s5) /* f0a0768: 44812000 */ mtc1 $at,$f4 .L0f0a076c: /* f0a076c: 8ee90034 */ lw $t1,0x34($s7) /* f0a0770: 0000a025 */ or $s4,$zero,$zero /* f0a0774: 460e2181 */ sub.s $f6,$f4,$f14 /* f0a0778: 19200034 */ blez $t1,.L0f0a084c /* f0a077c: e7a6007c */ swc1 $f6,0x7c($sp) /* f0a0780: 3c017f1b */ lui $at,%hi(var7f1ac760) /* f0a0784: c420c760 */ lwc1 $f0,%lo(var7f1ac760)($at) /* f0a0788: c7ae00e4 */ lwc1 $f14,0xe4($sp) /* f0a078c: c7a200e0 */ lwc1 $f2,0xe0($sp) /* f0a0790: 27a200b8 */ addiu $v0,$sp,0xb8 /* f0a0794: c6a81668 */ lwc1 $f8,0x1668($s5) .L0f0a0798: /* f0a0798: c6a4166c */ lwc1 $f4,0x166c($s5) /* f0a079c: 02a08825 */ or $s1,$s5,$zero /* f0a07a0: 46164282 */ mul.s $f10,$f8,$f22 /* f0a07a4: 27b000b8 */ addiu $s0,$sp,0xb8 /* f0a07a8: 27b200b0 */ addiu $s2,$sp,0xb0 /* f0a07ac: 46162182 */ mul.s $f6,$f4,$f22 /* f0a07b0: 46025480 */ add.s $f18,$f10,$f2 /* f0a07b4: 460e3200 */ add.s $f8,$f6,$f14 /* f0a07b8: e6b21668 */ swc1 $f18,0x1668($s5) /* f0a07bc: e6a8166c */ swc1 $f8,0x166c($s5) /* f0a07c0: c6320cd4 */ lwc1 $f18,0xcd4($s1) /* f0a07c4: 26520004 */ addiu $s2,$s2,0x4 /* f0a07c8: 46120682 */ mul.s $f26,$f0,$f18 /* f0a07cc: 52420010 */ beql $s2,$v0,.L0f0a0810 /* f0a07d0: c6180000 */ lwc1 $f24,0x0($s0) .L0f0a07d4: /* f0a07d4: c6180000 */ lwc1 $f24,0x0($s0) /* f0a07d8: c6340cd8 */ lwc1 $f20,0xcd8($s1) /* f0a07dc: c6321478 */ lwc1 $f18,0x1478($s1) /* f0a07e0: 461ac600 */ add.s $f24,$f24,$f26 /* f0a07e4: 46140502 */ mul.s $f20,$f0,$f20 /* f0a07e8: 26520004 */ addiu $s2,$s2,0x4 /* f0a07ec: 263107a4 */ addiu $s1,$s1,0x7a4 /* f0a07f0: e6380530 */ swc1 $f24,0x530($s1) /* f0a07f4: c658fff8 */ lwc1 $f24,-0x8($s2) /* f0a07f8: 26100004 */ addiu $s0,$s0,0x4 /* f0a07fc: 4614c500 */ add.s $f20,$f24,$f20 /* f0a0800: 46120682 */ mul.s $f26,$f0,$f18 /* f0a0804: 1642fff3 */ bne $s2,$v0,.L0f0a07d4 /* f0a0808: e6340534 */ swc1 $f20,0x534($s1) /* f0a080c: c6180000 */ lwc1 $f24,0x0($s0) .L0f0a0810: /* f0a0810: c6340cd8 */ lwc1 $f20,0xcd8($s1) /* f0a0814: 263107a4 */ addiu $s1,$s1,0x7a4 /* f0a0818: 461ac600 */ add.s $f24,$f24,$f26 /* f0a081c: 46140502 */ mul.s $f20,$f0,$f20 /* f0a0820: 26100004 */ addiu $s0,$s0,0x4 /* f0a0824: e6380530 */ swc1 $f24,0x530($s1) /* f0a0828: c658fffc */ lwc1 $f24,-0x4($s2) /* f0a082c: 4614c500 */ add.s $f20,$f24,$f20 /* f0a0830: e6340534 */ swc1 $f20,0x534($s1) /* f0a0834: 8eea0034 */ lw $t2,0x34($s7) /* f0a0838: 26940001 */ addiu $s4,$s4,0x1 /* f0a083c: 028a082a */ slt $at,$s4,$t2 /* f0a0840: 5420ffd5 */ bnezl $at,.L0f0a0798 /* f0a0844: c6a81668 */ lwc1 $f8,0x1668($s5) /* f0a0848: 0000a025 */ or $s4,$zero,$zero .L0f0a084c: /* f0a084c: 3c014040 */ lui $at,0x4040 /* f0a0850: 4481a000 */ mtc1 $at,$f20 /* f0a0854: 3c013f00 */ lui $at,0x3f00 /* f0a0858: 4481d000 */ mtc1 $at,$f26 /* f0a085c: c6a61668 */ lwc1 $f6,0x1668($s5) /* f0a0860: c6a4166c */ lwc1 $f4,0x166c($s5) /* f0a0864: 461ae382 */ mul.s $f14,$f28,$f26 /* f0a0868: 3c014080 */ lui $at,0x4080 /* f0a086c: 460c3482 */ mul.s $f18,$f6,$f12 /* f0a0870: 00000000 */ nop /* f0a0874: 461c9202 */ mul.s $f8,$f18,$f28 /* f0a0878: 00000000 */ nop /* f0a087c: 461a4282 */ mul.s $f10,$f8,$f26 /* f0a0880: 00000000 */ nop /* f0a0884: 461af402 */ mul.s $f16,$f30,$f26 /* f0a0888: 00000000 */ nop /* f0a088c: 460c2182 */ mul.s $f6,$f4,$f12 /* f0a0890: 460e5000 */ add.s $f0,$f10,$f14 /* f0a0894: 4614003c */ c.lt.s $f0,$f20 /* f0a0898: 461e3482 */ mul.s $f18,$f6,$f30 /* f0a089c: e6a01660 */ swc1 $f0,0x1660($s5) /* f0a08a0: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a08a4: 46104280 */ add.s $f10,$f8,$f16 /* f0a08a8: 45000005 */ bc1f .L0f0a08c0 /* f0a08ac: e6aa1664 */ swc1 $f10,0x1664($s5) /* f0a08b0: 3c014080 */ lui $at,0x4080 /* f0a08b4: 4481c000 */ mtc1 $at,$f24 /* f0a08b8: 10000009 */ b .L0f0a08e0 /* f0a08bc: e6b41660 */ swc1 $f20,0x1660($s5) .L0f0a08c0: /* f0a08c0: 4481c000 */ mtc1 $at,$f24 /* f0a08c4: c6a41660 */ lwc1 $f4,0x1660($s5) /* f0a08c8: 4618e001 */ sub.s $f0,$f28,$f24 /* f0a08cc: 4604003c */ c.lt.s $f0,$f4 /* f0a08d0: 00000000 */ nop /* f0a08d4: 45020003 */ bc1fl .L0f0a08e4 /* f0a08d8: c6a21664 */ lwc1 $f2,0x1664($s5) /* f0a08dc: e6a01660 */ swc1 $f0,0x1660($s5) .L0f0a08e0: /* f0a08e0: c6a21664 */ lwc1 $f2,0x1664($s5) .L0f0a08e4: /* f0a08e4: 4614103c */ c.lt.s $f2,$f20 /* f0a08e8: 00000000 */ nop /* f0a08ec: 45020004 */ bc1fl .L0f0a0900 /* f0a08f0: 4618f001 */ sub.s $f0,$f30,$f24 /* f0a08f4: 10000007 */ b .L0f0a0914 /* f0a08f8: e6b41664 */ swc1 $f20,0x1664($s5) /* f0a08fc: 4618f001 */ sub.s $f0,$f30,$f24 .L0f0a0900: /* f0a0900: 4602003c */ c.lt.s $f0,$f2 /* f0a0904: 00000000 */ nop /* f0a0908: 45020003 */ bc1fl .L0f0a0918 /* f0a090c: e7ae0074 */ swc1 $f14,0x74($sp) /* f0a0910: e6a01664 */ swc1 $f0,0x1664($s5) .L0f0a0914: /* f0a0914: e7ae0074 */ swc1 $f14,0x74($sp) .L0f0a0918: /* f0a0918: 0fc2d5fe */ jal currentPlayerGetScreenLeft /* f0a091c: e7b00070 */ swc1 $f16,0x70($sp) /* f0a0920: c6a61660 */ lwc1 $f6,0x1660($s5) /* f0a0924: 46003480 */ add.s $f18,$f6,$f0 /* f0a0928: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a092c: e6b21660 */ swc1 $f18,0x1660($s5) /* f0a0930: c6a81664 */ lwc1 $f8,0x1664($s5) /* f0a0934: 3c017f1b */ lui $at,%hi(var7f1ac764) /* f0a0938: 00009825 */ or $s3,$zero,$zero /* f0a093c: 46004280 */ add.s $f10,$f8,$f0 /* f0a0940: 02a08825 */ or $s1,$s5,$zero /* f0a0944: 24100002 */ addiu $s0,$zero,0x2 /* f0a0948: e6aa1664 */ swc1 $f10,0x1664($s5) /* f0a094c: c436c764 */ lwc1 $f22,%lo(var7f1ac764)($at) .L0f0a0950: /* f0a0950: c6240cd4 */ lwc1 $f4,0xcd4($s1) /* f0a0954: c7aa0074 */ lwc1 $f10,0x74($sp) /* f0a0958: 46162182 */ mul.s $f6,$f4,$f22 /* f0a095c: c6240cd8 */ lwc1 $f4,0xcd8($s1) /* f0a0960: 461c3482 */ mul.s $f18,$f6,$f28 /* f0a0964: 00000000 */ nop /* f0a0968: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a096c: 00000000 */ nop /* f0a0970: 46162182 */ mul.s $f6,$f4,$f22 /* f0a0974: 460a4000 */ add.s $f0,$f8,$f10 /* f0a0978: 461e3482 */ mul.s $f18,$f6,$f30 /* f0a097c: e6200ccc */ swc1 $f0,0xccc($s1) /* f0a0980: c7aa0070 */ lwc1 $f10,0x70($sp) /* f0a0984: 4614003c */ c.lt.s $f0,$f20 /* f0a0988: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a098c: 460a4100 */ add.s $f4,$f8,$f10 /* f0a0990: 45000003 */ bc1f .L0f0a09a0 /* f0a0994: e6240cd0 */ swc1 $f4,0xcd0($s1) /* f0a0998: 10000008 */ b .L0f0a09bc /* f0a099c: e6340ccc */ swc1 $f20,0xccc($s1) .L0f0a09a0: /* f0a09a0: 4618e001 */ sub.s $f0,$f28,$f24 /* f0a09a4: c6260ccc */ lwc1 $f6,0xccc($s1) /* f0a09a8: 4606003c */ c.lt.s $f0,$f6 /* f0a09ac: 00000000 */ nop /* f0a09b0: 45020003 */ bc1fl .L0f0a09c0 /* f0a09b4: c6220cd0 */ lwc1 $f2,0xcd0($s1) /* f0a09b8: e6200ccc */ swc1 $f0,0xccc($s1) .L0f0a09bc: /* f0a09bc: c6220cd0 */ lwc1 $f2,0xcd0($s1) .L0f0a09c0: /* f0a09c0: 4614103c */ c.lt.s $f2,$f20 /* f0a09c4: 00000000 */ nop /* f0a09c8: 45020004 */ bc1fl .L0f0a09dc /* f0a09cc: 4618f001 */ sub.s $f0,$f30,$f24 /* f0a09d0: 10000007 */ b .L0f0a09f0 /* f0a09d4: e6340cd0 */ swc1 $f20,0xcd0($s1) /* f0a09d8: 4618f001 */ sub.s $f0,$f30,$f24 .L0f0a09dc: /* f0a09dc: 4602003c */ c.lt.s $f0,$f2 /* f0a09e0: 00000000 */ nop /* f0a09e4: 45000002 */ bc1f .L0f0a09f0 /* f0a09e8: 00000000 */ nop /* f0a09ec: e6200cd0 */ swc1 $f0,0xcd0($s1) .L0f0a09f0: /* f0a09f0: 0fc2d5fe */ jal currentPlayerGetScreenLeft /* f0a09f4: 00000000 */ nop /* f0a09f8: c6320ccc */ lwc1 $f18,0xccc($s1) /* f0a09fc: 46009200 */ add.s $f8,$f18,$f0 /* f0a0a00: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a0a04: e6280ccc */ swc1 $f8,0xccc($s1) /* f0a0a08: c62a0cd0 */ lwc1 $f10,0xcd0($s1) /* f0a0a0c: 26730001 */ addiu $s3,$s3,0x1 /* f0a0a10: 263107a4 */ addiu $s1,$s1,0x7a4 /* f0a0a14: 46005100 */ add.s $f4,$f10,$f0 /* f0a0a18: 1670ffcd */ bne $s3,$s0,.L0f0a0950 /* f0a0a1c: e624052c */ swc1 $f4,0x52c($s1) /* f0a0a20: 8eeb0034 */ lw $t3,0x34($s7) /* f0a0a24: c7a000ec */ lwc1 $f0,0xec($sp) /* f0a0a28: 59600011 */ blezl $t3,.L0f0a0a70 /* f0a0a2c: c7a0007c */ lwc1 $f0,0x7c($sp) /* f0a0a30: c6a6167c */ lwc1 $f6,0x167c($s5) .L0f0a0a34: /* f0a0a34: c7a800e0 */ lwc1 $f8,0xe0($sp) /* f0a0a38: c6a41680 */ lwc1 $f4,0x1680($s5) /* f0a0a3c: 46003482 */ mul.s $f18,$f6,$f0 /* f0a0a40: 26940001 */ addiu $s4,$s4,0x1 /* f0a0a44: 46002182 */ mul.s $f6,$f4,$f0 /* f0a0a48: 46089280 */ add.s $f10,$f18,$f8 /* f0a0a4c: e6aa167c */ swc1 $f10,0x167c($s5) /* f0a0a50: c7b200e4 */ lwc1 $f18,0xe4($sp) /* f0a0a54: 46123200 */ add.s $f8,$f6,$f18 /* f0a0a58: e6a81680 */ swc1 $f8,0x1680($s5) /* f0a0a5c: 8eec0034 */ lw $t4,0x34($s7) /* f0a0a60: 028c082a */ slt $at,$s4,$t4 /* f0a0a64: 5420fff3 */ bnezl $at,.L0f0a0a34 /* f0a0a68: c6a6167c */ lwc1 $f6,0x167c($s5) /* f0a0a6c: c7a0007c */ lwc1 $f0,0x7c($sp) .L0f0a0a70: /* f0a0a70: c6aa167c */ lwc1 $f10,0x167c($s5) /* f0a0a74: c7a80074 */ lwc1 $f8,0x74($sp) /* f0a0a78: 46005102 */ mul.s $f4,$f10,$f0 /* f0a0a7c: 00000000 */ nop /* f0a0a80: 461c2182 */ mul.s $f6,$f4,$f28 /* f0a0a84: c6a41680 */ lwc1 $f4,0x1680($s5) /* f0a0a88: 461a3482 */ mul.s $f18,$f6,$f26 /* f0a0a8c: 00000000 */ nop /* f0a0a90: 46002182 */ mul.s $f6,$f4,$f0 /* f0a0a94: 46089280 */ add.s $f10,$f18,$f8 /* f0a0a98: 461e3482 */ mul.s $f18,$f6,$f30 /* f0a0a9c: e6aa1674 */ swc1 $f10,0x1674($s5) /* f0a0aa0: c7aa0070 */ lwc1 $f10,0x70($sp) /* f0a0aa4: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a0aa8: 460a4100 */ add.s $f4,$f8,$f10 /* f0a0aac: 0fc2d5fe */ jal currentPlayerGetScreenLeft /* f0a0ab0: e6a41678 */ swc1 $f4,0x1678($s5) /* f0a0ab4: c6a61674 */ lwc1 $f6,0x1674($s5) /* f0a0ab8: 46003480 */ add.s $f18,$f6,$f0 /* f0a0abc: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a0ac0: e6b21674 */ swc1 $f18,0x1674($s5) /* f0a0ac4: c6a81678 */ lwc1 $f8,0x1678($s5) /* f0a0ac8: 27b000c8 */ addiu $s0,$sp,0xc8 /* f0a0acc: 02002825 */ or $a1,$s0,$zero /* f0a0ad0: 46004280 */ add.s $f10,$f8,$f0 /* f0a0ad4: 26a41674 */ addiu $a0,$s5,0x1674 /* f0a0ad8: 3c06447a */ lui $a2,0x447a /* f0a0adc: 0fc2d30f */ jal func0f0b4c3c /* f0a0ae0: e6aa1678 */ swc1 $f10,0x1678($s5) /* f0a0ae4: 0fc2a4f8 */ jal bgunSetAimPos /* f0a0ae8: 02002025 */ or $a0,$s0,$zero /* f0a0aec: 8fbf0064 */ lw $ra,0x64($sp) /* f0a0af0: d7b40010 */ ldc1 $f20,0x10($sp) /* f0a0af4: d7b60018 */ ldc1 $f22,0x18($sp) /* f0a0af8: d7b80020 */ ldc1 $f24,0x20($sp) /* f0a0afc: d7ba0028 */ ldc1 $f26,0x28($sp) /* f0a0b00: d7bc0030 */ ldc1 $f28,0x30($sp) /* f0a0b04: d7be0038 */ ldc1 $f30,0x38($sp) /* f0a0b08: 8fb00044 */ lw $s0,0x44($sp) /* f0a0b0c: 8fb10048 */ lw $s1,0x48($sp) /* f0a0b10: 8fb2004c */ lw $s2,0x4c($sp) /* f0a0b14: 8fb30050 */ lw $s3,0x50($sp) /* f0a0b18: 8fb40054 */ lw $s4,0x54($sp) /* f0a0b1c: 8fb50058 */ lw $s5,0x58($sp) /* f0a0b20: 8fb6005c */ lw $s6,0x5c($sp) /* f0a0b24: 8fb70060 */ lw $s7,0x60($sp) /* f0a0b28: 03e00008 */ jr $ra /* f0a0b2c: 27bd00e0 */ addiu $sp,$sp,0xe0 ); #else GLOBAL_ASM( glabel bgun0f0a0394 .late_rodata glabel var7f1ac744 .word 0x3e99999a glabel var7f1ac748 .word 0x3dcccccd glabel var7f1ac74c .word 0x3e99999a glabel var7f1ac750 .word 0x3dcccccd glabel var7f1ac754 .word 0xb3d6bf95 glabel var7f1ac758 .word 0x33d6bf95 glabel var7f1ac75c .word 0xc5bb8000 glabel var7f1ac760 .word 0x3f6d4de3 glabel var7f1ac764 .word 0x3d9590e8 .text /* f0a0394: 27bdff20 */ addiu $sp,$sp,-224 /* f0a0398: f7b60018 */ sdc1 $f22,0x18($sp) /* f0a039c: 4486b000 */ mtc1 $a2,$f22 /* f0a03a0: afbf0064 */ sw $ra,0x64($sp) /* f0a03a4: afb70060 */ sw $s7,0x60($sp) /* f0a03a8: afb6005c */ sw $s6,0x5c($sp) /* f0a03ac: afb50058 */ sw $s5,0x58($sp) /* f0a03b0: afb40054 */ sw $s4,0x54($sp) /* f0a03b4: afb30050 */ sw $s3,0x50($sp) /* f0a03b8: afb2004c */ sw $s2,0x4c($sp) /* f0a03bc: afb10048 */ sw $s1,0x48($sp) /* f0a03c0: afb00044 */ sw $s0,0x44($sp) /* f0a03c4: f7be0038 */ sdc1 $f30,0x38($sp) /* f0a03c8: f7bc0030 */ sdc1 $f28,0x30($sp) /* f0a03cc: f7ba0028 */ sdc1 $f26,0x28($sp) /* f0a03d0: f7b80020 */ sdc1 $f24,0x20($sp) /* f0a03d4: f7b40010 */ sdc1 $f20,0x10($sp) /* f0a03d8: e7ac00e0 */ swc1 $f12,0xe0($sp) /* f0a03dc: e7ae00e4 */ swc1 $f14,0xe4($sp) /* f0a03e0: 0fc2d5f6 */ jal currentPlayerGetScreenWidth /* f0a03e4: afa700ec */ sw $a3,0xec($sp) /* f0a03e8: 0fc2d5fa */ jal currentPlayerGetScreenHeight /* f0a03ec: 46000706 */ mov.s $f28,$f0 /* f0a03f0: 3c0f8007 */ lui $t7,%hi(var800701b8) /* f0a03f4: 25ef01b8 */ addiu $t7,$t7,%lo(var800701b8) /* f0a03f8: 3c17800a */ lui $s7,%hi(g_Vars) /* f0a03fc: 8de10000 */ lw $at,0x0($t7) /* f0a0400: 8de80004 */ lw $t0,0x4($t7) /* f0a0404: 26f79fc0 */ addiu $s7,$s7,%lo(g_Vars) /* f0a0408: 8ef50284 */ lw $s5,0x284($s7) /* f0a040c: 27ae00a8 */ addiu $t6,$sp,0xa8 /* f0a0410: adc10000 */ sw $at,0x0($t6) /* f0a0414: adc80004 */ sw $t0,0x4($t6) /* f0a0418: c7a400e0 */ lwc1 $f4,0xe0($sp) /* f0a041c: c7a600e4 */ lwc1 $f6,0xe4($sp) /* f0a0420: 46000786 */ mov.s $f30,$f0 /* f0a0424: e7a400bc */ swc1 $f4,0xbc($sp) /* f0a0428: e7a400b8 */ swc1 $f4,0xb8($sp) /* f0a042c: e7a600b4 */ swc1 $f6,0xb4($sp) /* f0a0430: e7a600b0 */ swc1 $f6,0xb0($sp) /* f0a0434: 82a20de4 */ lb $v0,0xde4($s5) /* f0a0438: 2c490001 */ sltiu $t1,$v0,0x1 /* f0a043c: afa900ac */ sw $t1,0xac($sp) /* f0a0440: 82a20640 */ lb $v0,0x640($s5) /* f0a0444: 2c4a0001 */ sltiu $t2,$v0,0x1 /* f0a0448: afaa00a8 */ sw $t2,0xa8($sp) /* f0a044c: 82ab0de4 */ lb $t3,0xde4($s5) /* f0a0450: 55600020 */ bnezl $t3,.L0f0a04d4 /* f0a0454: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a0458: 8eac0c3c */ lw $t4,0xc3c($s5) /* f0a045c: 24010001 */ addiu $at,$zero,0x1 /* f0a0460: 5581001c */ bnel $t4,$at,.L0f0a04d4 /* f0a0464: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a0468: 8ead0ce8 */ lw $t5,0xce8($s5) /* f0a046c: 51a00019 */ beqzl $t5,.L0f0a04d4 /* f0a0470: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a0474: 92b90638 */ lbu $t9,0x638($s5) /* f0a0478: 2401001b */ addiu $at,$zero,0x1b /* f0a047c: 24100019 */ addiu $s0,$zero,0x19 /* f0a0480: 17210002 */ bne $t9,$at,.L0f0a048c /* f0a0484: 00000000 */ nop /* f0a0488: 24100005 */ addiu $s0,$zero,0x5 .L0f0a048c: /* f0a048c: 0fc26057 */ jal bgun0f09815c /* f0a0490: 26a40638 */ addiu $a0,$s5,0x638 /* f0a0494: 46000506 */ mov.s $f20,$f0 /* f0a0498: 0c007486 */ jal modelGetNumAnimFrames /* f0a049c: 26a409bc */ addiu $a0,$s5,0x9bc /* f0a04a0: 4600a20d */ trunc.w.s $f8,$f20 /* f0a04a4: 00507823 */ subu $t7,$v0,$s0 /* f0a04a8: 440e4000 */ mfc1 $t6,$f8 /* f0a04ac: 00000000 */ nop /* f0a04b0: 01cf082a */ slt $at,$t6,$t7 /* f0a04b4: 50200007 */ beqzl $at,.L0f0a04d4 /* f0a04b8: 92a80ddc */ lbu $t0,0xddc($s5) /* f0a04bc: 44800000 */ mtc1 $zero,$f0 /* f0a04c0: 24020001 */ addiu $v0,$zero,0x1 /* f0a04c4: afa200a8 */ sw $v0,0xa8($sp) /* f0a04c8: e7a000b8 */ swc1 $f0,0xb8($sp) /* f0a04cc: e7a000b0 */ swc1 $f0,0xb0($sp) /* f0a04d0: 92a80ddc */ lbu $t0,0xddc($s5) .L0f0a04d4: /* f0a04d4: 24010022 */ addiu $at,$zero,0x22 /* f0a04d8: 8ee20284 */ lw $v0,0x284($s7) /* f0a04dc: 15010012 */ bne $t0,$at,.L0f0a0528 /* f0a04e0: 00009825 */ or $s3,$zero,$zero /* f0a04e4: 3c017f1b */ lui $at,%hi(var7f1ac744) /* f0a04e8: c432c744 */ lwc1 $f18,%lo(var7f1ac744)($at) /* f0a04ec: c44a0148 */ lwc1 $f10,0x148($v0) /* f0a04f0: c44601b4 */ lwc1 $f6,0x1b4($v0) /* f0a04f4: 3c017f1b */ lui $at,%hi(var7f1ac748) /* f0a04f8: 46125102 */ mul.s $f4,$f10,$f18 /* f0a04fc: 24090001 */ addiu $t1,$zero,0x1 /* f0a0500: 46062200 */ add.s $f8,$f4,$f6 /* f0a0504: c424c748 */ lwc1 $f4,%lo(var7f1ac748)($at) /* f0a0508: e7a800bc */ swc1 $f8,0xbc($sp) /* f0a050c: c44a015c */ lwc1 $f10,0x15c($v0) /* f0a0510: c44801b8 */ lwc1 $f8,0x1b8($v0) /* f0a0514: afa900ac */ sw $t1,0xac($sp) /* f0a0518: 46005487 */ neg.s $f18,$f10 /* f0a051c: 46049182 */ mul.s $f6,$f18,$f4 /* f0a0520: 46083280 */ add.s $f10,$f6,$f8 /* f0a0524: e7aa00b4 */ swc1 $f10,0xb4($sp) .L0f0a0528: /* f0a0528: 92aa0638 */ lbu $t2,0x638($s5) /* f0a052c: 24010001 */ addiu $at,$zero,0x1 /* f0a0530: 0000a025 */ or $s4,$zero,$zero /* f0a0534: 15410011 */ bne $t2,$at,.L0f0a057c /* f0a0538: 3c017f1b */ lui $at,%hi(var7f1ac74c) /* f0a053c: c424c74c */ lwc1 $f4,%lo(var7f1ac74c)($at) /* f0a0540: c4520148 */ lwc1 $f18,0x148($v0) /* f0a0544: c44801b4 */ lwc1 $f8,0x1b4($v0) /* f0a0548: 3c017f1b */ lui $at,%hi(var7f1ac750) /* f0a054c: 46049182 */ mul.s $f6,$f18,$f4 /* f0a0550: 240b0001 */ addiu $t3,$zero,0x1 /* f0a0554: 46083280 */ add.s $f10,$f6,$f8 /* f0a0558: c426c750 */ lwc1 $f6,%lo(var7f1ac750)($at) /* f0a055c: e7aa00b8 */ swc1 $f10,0xb8($sp) /* f0a0560: c452015c */ lwc1 $f18,0x15c($v0) /* f0a0564: c44a01b8 */ lwc1 $f10,0x1b8($v0) /* f0a0568: afab00a8 */ sw $t3,0xa8($sp) /* f0a056c: 46009107 */ neg.s $f4,$f18 /* f0a0570: 46062202 */ mul.s $f8,$f4,$f6 /* f0a0574: 460a4480 */ add.s $f18,$f8,$f10 /* f0a0578: e7b200b0 */ swc1 $f18,0xb0($sp) .L0f0a057c: /* f0a057c: 904c1bfc */ lbu $t4,0x1bfc($v0) /* f0a0580: 3c017f1b */ lui $at,%hi(var7f1ac754) /* f0a0584: 11800003 */ beqz $t4,.L0f0a0594 /* f0a0588: 24020001 */ addiu $v0,$zero,0x1 /* f0a058c: afa200ac */ sw $v0,0xac($sp) /* f0a0590: afa200a8 */ sw $v0,0xa8($sp) .L0f0a0594: /* f0a0594: c43ac754 */ lwc1 $f26,%lo(var7f1ac754)($at) /* f0a0598: 3c017f1b */ lui $at,%hi(var7f1ac758) /* f0a059c: c438c758 */ lwc1 $f24,%lo(var7f1ac758)($at) /* f0a05a0: 3c013f80 */ lui $at,0x3f80 /* f0a05a4: 4481a000 */ mtc1 $at,$f20 /* f0a05a8: 27b600a8 */ addiu $s6,$sp,0xa8 .L0f0a05ac: /* f0a05ac: 8ecd0000 */ lw $t5,0x0($s6) /* f0a05b0: 0013c900 */ sll $t9,$s3,0x4 /* f0a05b4: 0333c823 */ subu $t9,$t9,$s3 /* f0a05b8: 15a00040 */ bnez $t5,.L0f0a06bc /* f0a05bc: 0019c880 */ sll $t9,$t9,0x2 /* f0a05c0: 0333c821 */ addu $t9,$t9,$s3 /* f0a05c4: 0019c8c0 */ sll $t9,$t9,0x3 /* f0a05c8: 0333c821 */ addu $t9,$t9,$s3 /* f0a05cc: 0019c880 */ sll $t9,$t9,0x2 /* f0a05d0: 02b98821 */ addu $s1,$s5,$t9 /* f0a05d4: 8e380cec */ lw $t8,0xcec($s1) /* f0a05d8: 53000039 */ beqzl $t8,.L0f0a06c0 /* f0a05dc: 26730001 */ addiu $s3,$s3,0x1 /* f0a05e0: 8eee0314 */ lw $t6,0x314($s7) /* f0a05e4: 26220638 */ addiu $v0,$s1,0x638 /* f0a05e8: 55c00035 */ bnezl $t6,.L0f0a06c0 /* f0a05ec: 26730001 */ addiu $s3,$s3,0x1 /* f0a05f0: c44406b8 */ lwc1 $f4,0x6b8($v0) /* f0a05f4: e7a40094 */ swc1 $f4,0x94($sp) /* f0a05f8: c44606bc */ lwc1 $f6,0x6bc($v0) /* f0a05fc: e7a60098 */ swc1 $f6,0x98($sp) /* f0a0600: c44806c0 */ lwc1 $f8,0x6c0($v0) /* f0a0604: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0a0608: e7a8009c */ swc1 $f8,0x9c($sp) /* f0a060c: 00402025 */ or $a0,$v0,$zero /* f0a0610: 0c0056d9 */ jal func00015b64 /* f0a0614: 27a50094 */ addiu $a1,$sp,0x94 /* f0a0618: c7a0009c */ lwc1 $f0,0x9c($sp) /* f0a061c: 3c017f1b */ lui $at,%hi(var7f1ac75c) /* f0a0620: 4618003c */ c.lt.s $f0,$f24 /* f0a0624: 00000000 */ nop /* f0a0628: 45000005 */ bc1f .L0f0a0640 /* f0a062c: 00000000 */ nop /* f0a0630: 4600d03c */ c.lt.s $f26,$f0 /* f0a0634: 00000000 */ nop /* f0a0638: 45030021 */ bc1tl .L0f0a06c0 /* f0a063c: 26730001 */ addiu $s3,$s3,0x1 .L0f0a0640: /* f0a0640: c42ac75c */ lwc1 $f10,%lo(var7f1ac75c)($at) /* f0a0644: 27af00b8 */ addiu $t7,$sp,0xb8 /* f0a0648: 028f8021 */ addu $s0,$s4,$t7 /* f0a064c: 4600503c */ c.lt.s $f10,$f0 /* f0a0650: 27a40094 */ addiu $a0,$sp,0x94 /* f0a0654: 27a5008c */ addiu $a1,$sp,0x8c /* f0a0658: 27a800b0 */ addiu $t0,$sp,0xb0 /* f0a065c: 45020018 */ bc1fl .L0f0a06c0 /* f0a0660: 26730001 */ addiu $s3,$s3,0x1 /* f0a0664: 0fc2d341 */ jal func0f0b4d04 /* f0a0668: 02889021 */ addu $s2,$s4,$t0 /* f0a066c: c7b2008c */ lwc1 $f18,0x8c($sp) /* f0a0670: e6120000 */ swc1 $f18,0x0($s0) /* f0a0674: c7a40090 */ lwc1 $f4,0x90($sp) /* f0a0678: 0c002f22 */ jal viGetViewWidth /* f0a067c: e6440000 */ swc1 $f4,0x0($s2) /* f0a0680: 44824000 */ mtc1 $v0,$f8 /* f0a0684: c6060000 */ lwc1 $f6,0x0($s0) /* f0a0688: 468042a0 */ cvt.s.w $f10,$f8 /* f0a068c: 460a3003 */ div.s $f0,$f6,$f10 /* f0a0690: 46000480 */ add.s $f18,$f0,$f0 /* f0a0694: 46149101 */ sub.s $f4,$f18,$f20 /* f0a0698: 0c002f26 */ jal viGetViewHeight /* f0a069c: e6040000 */ swc1 $f4,0x0($s0) /* f0a06a0: 44823000 */ mtc1 $v0,$f6 /* f0a06a4: c6480000 */ lwc1 $f8,0x0($s2) /* f0a06a8: 468032a0 */ cvt.s.w $f10,$f6 /* f0a06ac: 460a4003 */ div.s $f0,$f8,$f10 /* f0a06b0: 46000480 */ add.s $f18,$f0,$f0 /* f0a06b4: 46149101 */ sub.s $f4,$f18,$f20 /* f0a06b8: e6440000 */ swc1 $f4,0x0($s2) .L0f0a06bc: /* f0a06bc: 26730001 */ addiu $s3,$s3,0x1 .L0f0a06c0: /* f0a06c0: 24010001 */ addiu $at,$zero,0x1 /* f0a06c4: 26940004 */ addiu $s4,$s4,0x4 /* f0a06c8: 1661ffb8 */ bne $s3,$at,.L0f0a05ac /* f0a06cc: 26d60004 */ addiu $s6,$s6,0x4 /* f0a06d0: c6a21670 */ lwc1 $f2,0x1670($s5) /* f0a06d4: c6a61660 */ lwc1 $f6,0x1660($s5) /* f0a06d8: c6a81664 */ lwc1 $f8,0x1664($s5) /* f0a06dc: 4602b032 */ c.eq.s $f22,$f2 /* f0a06e0: 3c013f80 */ lui $at,0x3f80 /* f0a06e4: e6a61944 */ swc1 $f6,0x1944($s5) /* f0a06e8: e6a81948 */ swc1 $f8,0x1948($s5) /* f0a06ec: 4503000d */ bc1tl .L0f0a0724 /* f0a06f0: c7ae00ec */ lwc1 $f14,0xec($sp) /* f0a06f4: 4602a001 */ sub.s $f0,$f20,$f2 /* f0a06f8: c6aa1668 */ lwc1 $f10,0x1668($s5) /* f0a06fc: c6a6166c */ lwc1 $f6,0x166c($s5) /* f0a0700: 4616a301 */ sub.s $f12,$f20,$f22 /* f0a0704: 46005482 */ mul.s $f18,$f10,$f0 /* f0a0708: e6b61670 */ swc1 $f22,0x1670($s5) /* f0a070c: 46003202 */ mul.s $f8,$f6,$f0 /* f0a0710: 460c9103 */ div.s $f4,$f18,$f12 /* f0a0714: 460c4283 */ div.s $f10,$f8,$f12 /* f0a0718: e6a41668 */ swc1 $f4,0x1668($s5) /* f0a071c: e6aa166c */ swc1 $f10,0x166c($s5) /* f0a0720: c7ae00ec */ lwc1 $f14,0xec($sp) .L0f0a0724: /* f0a0724: c6a21684 */ lwc1 $f2,0x1684($s5) /* f0a0728: 4616a301 */ sub.s $f12,$f20,$f22 /* f0a072c: 46027032 */ c.eq.s $f14,$f2 /* f0a0730: 00000000 */ nop /* f0a0734: 4503000d */ bc1tl .L0f0a076c /* f0a0738: 44812000 */ mtc1 $at,$f4 /* f0a073c: 4602a001 */ sub.s $f0,$f20,$f2 /* f0a0740: c6b2167c */ lwc1 $f18,0x167c($s5) /* f0a0744: c6a81680 */ lwc1 $f8,0x1680($s5) /* f0a0748: 460ea401 */ sub.s $f16,$f20,$f14 /* f0a074c: 46009102 */ mul.s $f4,$f18,$f0 /* f0a0750: e6ae1684 */ swc1 $f14,0x1684($s5) /* f0a0754: 46004282 */ mul.s $f10,$f8,$f0 /* f0a0758: 46102183 */ div.s $f6,$f4,$f16 /* f0a075c: 46105483 */ div.s $f18,$f10,$f16 /* f0a0760: e6a6167c */ swc1 $f6,0x167c($s5) /* f0a0764: e6b21680 */ swc1 $f18,0x1680($s5) /* f0a0768: 44812000 */ mtc1 $at,$f4 .L0f0a076c: /* f0a076c: 8ee90034 */ lw $t1,0x34($s7) /* f0a0770: 0000a025 */ or $s4,$zero,$zero /* f0a0774: 460e2181 */ sub.s $f6,$f4,$f14 /* f0a0778: 19200034 */ blez $t1,.L0f0a084c /* f0a077c: e7a6007c */ swc1 $f6,0x7c($sp) /* f0a0780: 3c017f1b */ lui $at,%hi(var7f1ac760) /* f0a0784: c420c760 */ lwc1 $f0,%lo(var7f1ac760)($at) /* f0a0788: c7ae00e4 */ lwc1 $f14,0xe4($sp) /* f0a078c: c7a200e0 */ lwc1 $f2,0xe0($sp) /* f0a0790: 27a200b8 */ addiu $v0,$sp,0xb8 /* f0a0794: c6a81668 */ lwc1 $f8,0x1668($s5) .L0f0a0798: /* f0a0798: c6a4166c */ lwc1 $f4,0x166c($s5) /* f0a079c: 02a08825 */ or $s1,$s5,$zero /* f0a07a0: 46164282 */ mul.s $f10,$f8,$f22 /* f0a07a4: 27b000b8 */ addiu $s0,$sp,0xb8 /* f0a07a8: 27b200b0 */ addiu $s2,$sp,0xb0 /* f0a07ac: 46162182 */ mul.s $f6,$f4,$f22 /* f0a07b0: 46025480 */ add.s $f18,$f10,$f2 /* f0a07b4: 460e3200 */ add.s $f8,$f6,$f14 /* f0a07b8: e6b21668 */ swc1 $f18,0x1668($s5) /* f0a07bc: e6a8166c */ swc1 $f8,0x166c($s5) /* f0a07c0: c6320cd4 */ lwc1 $f18,0xcd4($s1) /* f0a07c4: 26520004 */ addiu $s2,$s2,0x4 /* f0a07c8: 46120682 */ mul.s $f26,$f0,$f18 /* f0a07cc: 52420010 */ beql $s2,$v0,.L0f0a0810 /* f0a07d0: c6180000 */ lwc1 $f24,0x0($s0) .L0f0a07d4: /* f0a07d4: c6180000 */ lwc1 $f24,0x0($s0) /* f0a07d8: c6340cd8 */ lwc1 $f20,0xcd8($s1) /* f0a07dc: c6321478 */ lwc1 $f18,0x1478($s1) /* f0a07e0: 461ac600 */ add.s $f24,$f24,$f26 /* f0a07e4: 46140502 */ mul.s $f20,$f0,$f20 /* f0a07e8: 26520004 */ addiu $s2,$s2,0x4 /* f0a07ec: 263107a4 */ addiu $s1,$s1,0x7a4 /* f0a07f0: e6380530 */ swc1 $f24,0x530($s1) /* f0a07f4: c658fff8 */ lwc1 $f24,-0x8($s2) /* f0a07f8: 26100004 */ addiu $s0,$s0,0x4 /* f0a07fc: 4614c500 */ add.s $f20,$f24,$f20 /* f0a0800: 46120682 */ mul.s $f26,$f0,$f18 /* f0a0804: 1642fff3 */ bne $s2,$v0,.L0f0a07d4 /* f0a0808: e6340534 */ swc1 $f20,0x534($s1) /* f0a080c: c6180000 */ lwc1 $f24,0x0($s0) .L0f0a0810: /* f0a0810: c6340cd8 */ lwc1 $f20,0xcd8($s1) /* f0a0814: 263107a4 */ addiu $s1,$s1,0x7a4 /* f0a0818: 461ac600 */ add.s $f24,$f24,$f26 /* f0a081c: 46140502 */ mul.s $f20,$f0,$f20 /* f0a0820: 26100004 */ addiu $s0,$s0,0x4 /* f0a0824: e6380530 */ swc1 $f24,0x530($s1) /* f0a0828: c658fffc */ lwc1 $f24,-0x4($s2) /* f0a082c: 4614c500 */ add.s $f20,$f24,$f20 /* f0a0830: e6340534 */ swc1 $f20,0x534($s1) /* f0a0834: 8eea0034 */ lw $t2,0x34($s7) /* f0a0838: 26940001 */ addiu $s4,$s4,0x1 /* f0a083c: 028a082a */ slt $at,$s4,$t2 /* f0a0840: 5420ffd5 */ bnezl $at,.L0f0a0798 /* f0a0844: c6a81668 */ lwc1 $f8,0x1668($s5) /* f0a0848: 0000a025 */ or $s4,$zero,$zero .L0f0a084c: /* f0a084c: 3c014040 */ lui $at,0x4040 /* f0a0850: 4481a000 */ mtc1 $at,$f20 /* f0a0854: 3c013f00 */ lui $at,0x3f00 /* f0a0858: 4481d000 */ mtc1 $at,$f26 /* f0a085c: c6a61668 */ lwc1 $f6,0x1668($s5) /* f0a0860: c6a4166c */ lwc1 $f4,0x166c($s5) /* f0a0864: 461ae382 */ mul.s $f14,$f28,$f26 /* f0a0868: 3c014080 */ lui $at,0x4080 /* f0a086c: 460c3482 */ mul.s $f18,$f6,$f12 /* f0a0870: 00000000 */ nop /* f0a0874: 461c9202 */ mul.s $f8,$f18,$f28 /* f0a0878: 00000000 */ nop /* f0a087c: 461a4282 */ mul.s $f10,$f8,$f26 /* f0a0880: 00000000 */ nop /* f0a0884: 461af402 */ mul.s $f16,$f30,$f26 /* f0a0888: 00000000 */ nop /* f0a088c: 460c2182 */ mul.s $f6,$f4,$f12 /* f0a0890: 460e5000 */ add.s $f0,$f10,$f14 /* f0a0894: 4614003c */ c.lt.s $f0,$f20 /* f0a0898: 461e3482 */ mul.s $f18,$f6,$f30 /* f0a089c: e6a01660 */ swc1 $f0,0x1660($s5) /* f0a08a0: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a08a4: 46104280 */ add.s $f10,$f8,$f16 /* f0a08a8: 45000005 */ bc1f .L0f0a08c0 /* f0a08ac: e6aa1664 */ swc1 $f10,0x1664($s5) /* f0a08b0: 3c014080 */ lui $at,0x4080 /* f0a08b4: 4481c000 */ mtc1 $at,$f24 /* f0a08b8: 10000009 */ b .L0f0a08e0 /* f0a08bc: e6b41660 */ swc1 $f20,0x1660($s5) .L0f0a08c0: /* f0a08c0: 4481c000 */ mtc1 $at,$f24 /* f0a08c4: c6a41660 */ lwc1 $f4,0x1660($s5) /* f0a08c8: 4618e001 */ sub.s $f0,$f28,$f24 /* f0a08cc: 4604003c */ c.lt.s $f0,$f4 /* f0a08d0: 00000000 */ nop /* f0a08d4: 45020003 */ bc1fl .L0f0a08e4 /* f0a08d8: c6a21664 */ lwc1 $f2,0x1664($s5) /* f0a08dc: e6a01660 */ swc1 $f0,0x1660($s5) .L0f0a08e0: /* f0a08e0: c6a21664 */ lwc1 $f2,0x1664($s5) .L0f0a08e4: /* f0a08e4: 4614103c */ c.lt.s $f2,$f20 /* f0a08e8: 00000000 */ nop /* f0a08ec: 45020004 */ bc1fl .L0f0a0900 /* f0a08f0: 4618f001 */ sub.s $f0,$f30,$f24 /* f0a08f4: 10000007 */ b .L0f0a0914 /* f0a08f8: e6b41664 */ swc1 $f20,0x1664($s5) /* f0a08fc: 4618f001 */ sub.s $f0,$f30,$f24 .L0f0a0900: /* f0a0900: 4602003c */ c.lt.s $f0,$f2 /* f0a0904: 00000000 */ nop /* f0a0908: 45020003 */ bc1fl .L0f0a0918 /* f0a090c: e7ae0074 */ swc1 $f14,0x74($sp) /* f0a0910: e6a01664 */ swc1 $f0,0x1664($s5) .L0f0a0914: /* f0a0914: e7ae0074 */ swc1 $f14,0x74($sp) .L0f0a0918: /* f0a0918: 0fc2d5fe */ jal currentPlayerGetScreenLeft /* f0a091c: e7b00070 */ swc1 $f16,0x70($sp) /* f0a0920: c6a61660 */ lwc1 $f6,0x1660($s5) /* f0a0924: 46003480 */ add.s $f18,$f6,$f0 /* f0a0928: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a092c: e6b21660 */ swc1 $f18,0x1660($s5) /* f0a0930: c6a81664 */ lwc1 $f8,0x1664($s5) /* f0a0934: 3c017f1b */ lui $at,%hi(var7f1ac764) /* f0a0938: 00009825 */ or $s3,$zero,$zero /* f0a093c: 46004280 */ add.s $f10,$f8,$f0 /* f0a0940: 02a08825 */ or $s1,$s5,$zero /* f0a0944: 24100002 */ addiu $s0,$zero,0x2 /* f0a0948: e6aa1664 */ swc1 $f10,0x1664($s5) /* f0a094c: c436c764 */ lwc1 $f22,%lo(var7f1ac764)($at) .L0f0a0950: /* f0a0950: c6240cd4 */ lwc1 $f4,0xcd4($s1) /* f0a0954: c7aa0074 */ lwc1 $f10,0x74($sp) /* f0a0958: 46162182 */ mul.s $f6,$f4,$f22 /* f0a095c: c6240cd8 */ lwc1 $f4,0xcd8($s1) /* f0a0960: 461c3482 */ mul.s $f18,$f6,$f28 /* f0a0964: 00000000 */ nop /* f0a0968: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a096c: 00000000 */ nop /* f0a0970: 46162182 */ mul.s $f6,$f4,$f22 /* f0a0974: 460a4000 */ add.s $f0,$f8,$f10 /* f0a0978: 461e3482 */ mul.s $f18,$f6,$f30 /* f0a097c: e6200ccc */ swc1 $f0,0xccc($s1) /* f0a0980: c7aa0070 */ lwc1 $f10,0x70($sp) /* f0a0984: 4614003c */ c.lt.s $f0,$f20 /* f0a0988: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a098c: 460a4100 */ add.s $f4,$f8,$f10 /* f0a0990: 45000003 */ bc1f .L0f0a09a0 /* f0a0994: e6240cd0 */ swc1 $f4,0xcd0($s1) /* f0a0998: 10000008 */ b .L0f0a09bc /* f0a099c: e6340ccc */ swc1 $f20,0xccc($s1) .L0f0a09a0: /* f0a09a0: 4618e001 */ sub.s $f0,$f28,$f24 /* f0a09a4: c6260ccc */ lwc1 $f6,0xccc($s1) /* f0a09a8: 4606003c */ c.lt.s $f0,$f6 /* f0a09ac: 00000000 */ nop /* f0a09b0: 45020003 */ bc1fl .L0f0a09c0 /* f0a09b4: c6220cd0 */ lwc1 $f2,0xcd0($s1) /* f0a09b8: e6200ccc */ swc1 $f0,0xccc($s1) .L0f0a09bc: /* f0a09bc: c6220cd0 */ lwc1 $f2,0xcd0($s1) .L0f0a09c0: /* f0a09c0: 4614103c */ c.lt.s $f2,$f20 /* f0a09c4: 00000000 */ nop /* f0a09c8: 45020004 */ bc1fl .L0f0a09dc /* f0a09cc: 4618f001 */ sub.s $f0,$f30,$f24 /* f0a09d0: 10000007 */ b .L0f0a09f0 /* f0a09d4: e6340cd0 */ swc1 $f20,0xcd0($s1) /* f0a09d8: 4618f001 */ sub.s $f0,$f30,$f24 .L0f0a09dc: /* f0a09dc: 4602003c */ c.lt.s $f0,$f2 /* f0a09e0: 00000000 */ nop /* f0a09e4: 45000002 */ bc1f .L0f0a09f0 /* f0a09e8: 00000000 */ nop /* f0a09ec: e6200cd0 */ swc1 $f0,0xcd0($s1) .L0f0a09f0: /* f0a09f0: 0fc2d5fe */ jal currentPlayerGetScreenLeft /* f0a09f4: 00000000 */ nop /* f0a09f8: c6320ccc */ lwc1 $f18,0xccc($s1) /* f0a09fc: 46009200 */ add.s $f8,$f18,$f0 /* f0a0a00: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a0a04: e6280ccc */ swc1 $f8,0xccc($s1) /* f0a0a08: c62a0cd0 */ lwc1 $f10,0xcd0($s1) /* f0a0a0c: 26730001 */ addiu $s3,$s3,0x1 /* f0a0a10: 263107a4 */ addiu $s1,$s1,0x7a4 /* f0a0a14: 46005100 */ add.s $f4,$f10,$f0 /* f0a0a18: 1670ffcd */ bne $s3,$s0,.L0f0a0950 /* f0a0a1c: e624052c */ swc1 $f4,0x52c($s1) /* f0a0a20: 8eeb0034 */ lw $t3,0x34($s7) /* f0a0a24: c7a000ec */ lwc1 $f0,0xec($sp) /* f0a0a28: 59600011 */ blezl $t3,.L0f0a0a70 /* f0a0a2c: c7a0007c */ lwc1 $f0,0x7c($sp) /* f0a0a30: c6a6167c */ lwc1 $f6,0x167c($s5) .L0f0a0a34: /* f0a0a34: c7a800e0 */ lwc1 $f8,0xe0($sp) /* f0a0a38: c6a41680 */ lwc1 $f4,0x1680($s5) /* f0a0a3c: 46003482 */ mul.s $f18,$f6,$f0 /* f0a0a40: 26940001 */ addiu $s4,$s4,0x1 /* f0a0a44: 46002182 */ mul.s $f6,$f4,$f0 /* f0a0a48: 46089280 */ add.s $f10,$f18,$f8 /* f0a0a4c: e6aa167c */ swc1 $f10,0x167c($s5) /* f0a0a50: c7b200e4 */ lwc1 $f18,0xe4($sp) /* f0a0a54: 46123200 */ add.s $f8,$f6,$f18 /* f0a0a58: e6a81680 */ swc1 $f8,0x1680($s5) /* f0a0a5c: 8eec0034 */ lw $t4,0x34($s7) /* f0a0a60: 028c082a */ slt $at,$s4,$t4 /* f0a0a64: 5420fff3 */ bnezl $at,.L0f0a0a34 /* f0a0a68: c6a6167c */ lwc1 $f6,0x167c($s5) /* f0a0a6c: c7a0007c */ lwc1 $f0,0x7c($sp) .L0f0a0a70: /* f0a0a70: c6aa167c */ lwc1 $f10,0x167c($s5) /* f0a0a74: c7a80074 */ lwc1 $f8,0x74($sp) /* f0a0a78: 46005102 */ mul.s $f4,$f10,$f0 /* f0a0a7c: 00000000 */ nop /* f0a0a80: 461c2182 */ mul.s $f6,$f4,$f28 /* f0a0a84: c6a41680 */ lwc1 $f4,0x1680($s5) /* f0a0a88: 461a3482 */ mul.s $f18,$f6,$f26 /* f0a0a8c: 00000000 */ nop /* f0a0a90: 46002182 */ mul.s $f6,$f4,$f0 /* f0a0a94: 46089280 */ add.s $f10,$f18,$f8 /* f0a0a98: 461e3482 */ mul.s $f18,$f6,$f30 /* f0a0a9c: e6aa1674 */ swc1 $f10,0x1674($s5) /* f0a0aa0: c7aa0070 */ lwc1 $f10,0x70($sp) /* f0a0aa4: 461a9202 */ mul.s $f8,$f18,$f26 /* f0a0aa8: 460a4100 */ add.s $f4,$f8,$f10 /* f0a0aac: 0fc2d5fe */ jal currentPlayerGetScreenLeft /* f0a0ab0: e6a41678 */ swc1 $f4,0x1678($s5) /* f0a0ab4: c6a61674 */ lwc1 $f6,0x1674($s5) /* f0a0ab8: 46003480 */ add.s $f18,$f6,$f0 /* f0a0abc: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a0ac0: e6b21674 */ swc1 $f18,0x1674($s5) /* f0a0ac4: c6a81678 */ lwc1 $f8,0x1678($s5) /* f0a0ac8: 27b000c8 */ addiu $s0,$sp,0xc8 /* f0a0acc: 02002825 */ or $a1,$s0,$zero /* f0a0ad0: 46004280 */ add.s $f10,$f8,$f0 /* f0a0ad4: 26a41674 */ addiu $a0,$s5,0x1674 /* f0a0ad8: 3c06447a */ lui $a2,0x447a /* f0a0adc: 0fc2d30f */ jal func0f0b4c3c /* f0a0ae0: e6aa1678 */ swc1 $f10,0x1678($s5) /* f0a0ae4: 0fc2a4f8 */ jal bgunSetAimPos /* f0a0ae8: 02002025 */ or $a0,$s0,$zero /* f0a0aec: 8fbf0064 */ lw $ra,0x64($sp) /* f0a0af0: d7b40010 */ ldc1 $f20,0x10($sp) /* f0a0af4: d7b60018 */ ldc1 $f22,0x18($sp) /* f0a0af8: d7b80020 */ ldc1 $f24,0x20($sp) /* f0a0afc: d7ba0028 */ ldc1 $f26,0x28($sp) /* f0a0b00: d7bc0030 */ ldc1 $f28,0x30($sp) /* f0a0b04: d7be0038 */ ldc1 $f30,0x38($sp) /* f0a0b08: 8fb00044 */ lw $s0,0x44($sp) /* f0a0b0c: 8fb10048 */ lw $s1,0x48($sp) /* f0a0b10: 8fb2004c */ lw $s2,0x4c($sp) /* f0a0b14: 8fb30050 */ lw $s3,0x50($sp) /* f0a0b18: 8fb40054 */ lw $s4,0x54($sp) /* f0a0b1c: 8fb50058 */ lw $s5,0x58($sp) /* f0a0b20: 8fb6005c */ lw $s6,0x5c($sp) /* f0a0b24: 8fb70060 */ lw $s7,0x60($sp) /* f0a0b28: 03e00008 */ jr $ra /* f0a0b2c: 27bd00e0 */ addiu $sp,$sp,0xe0 ); #endif void bgunSwivelTowards(f32 screenx, f32 screeny, f32 damp) { struct weapon *weapon = weaponFindById(bgunGetWeaponNum(HAND_RIGHT)); #if VERSION >= VERSION_PAL_FINAL f32 value = weapon->eptr->unk10; #else f32 value = weapon->eptr->unk14; #endif if (value < damp) { value = damp; } bgun0f0a0394(screenx, screeny, damp, value); } void bgun0f0a0b98(f32 screenx, f32 screeny) { struct weapon *weapon = weaponFindById(bgunGetWeaponNum(HAND_RIGHT)); #if VERSION >= VERSION_PAL_FINAL f32 value = weapon->eptr->unk10; #else f32 value = weapon->eptr->unk14; #endif bgun0f0a0394(screenx, screeny, PAL ? 0.935f : 0.945f, value); } void bgunGetCrossPos(f32 *x, f32 *y) { struct player *player = g_Vars.currentplayer; *x = player->crosspos[0]; *y = player->crosspos[1]; } void bgun0f0a0c08(struct coord *arg0, struct coord *arg1) { arg0->x = 0; arg0->y = 0; arg0->z = 0; func0f0b4c3c(g_Vars.currentplayer->crosspos, arg1, 1); } void bgun0f0a0c44(s32 handnum, struct coord *arg1, struct coord *arg2) { arg1->x = 0; arg1->y = 0; arg1->z = 0; func0f0b4c3c(g_Vars.currentplayer->hands[handnum].crosspos, arg2, 1); } void bgunCalculateShotSpread(struct coord *arg0, struct coord *arg1, s32 handnum, bool dorandom) { f32 crosspos[2]; f32 spread = 0; f32 scaledspread; f32 randfactor; struct weaponfunc *func = currentPlayerGetWeaponFunction(handnum); struct player *player = g_Vars.currentplayer; if (func != NULL && (func->type & 0xff) == INVENTORYFUNCTYPE_SHOOT) { struct weaponfunc_shoot *shootfunc = (struct weaponfunc_shoot *) func; spread = shootfunc->spread; } // Unsure what this is if (weaponHasClassFlag(bgunGetWeaponNum2(handnum), WEAPONCLASSFLAG_00000004) && player->hands[handnum].burstbullets == 1) { spread *= 0.25f; } // Decrease spread if double crouched if (bmoveGetCrouchPos() == CROUCHPOS_SQUAT) { spread *= 0.5f; } // Increase spread if dual wielding if (player->hands[HAND_LEFT].inuse) { spread *= 1.5f; } scaledspread = 120.0f * spread / viGetFovY(); if (dorandom) { randfactor = (random() * (1.0f / U32_MAX) - 0.5f) * (random() * (1.0f / U32_MAX)); } else { randfactor = 0; } crosspos[0] = player->crosspos[0] + randfactor * scaledspread * currentPlayerGetScreenWidth() / (viGetHeight() * currentPlayerGetPerspAspect()); if (dorandom) { randfactor = (random() * (1.0f / U32_MAX) - 0.5f) * (random() * (1.0f / U32_MAX)); } else { randfactor = 0; } crosspos[1] = player->crosspos[1] + (randfactor * scaledspread * currentPlayerGetScreenHeight()) / viGetHeight(); arg0->x = 0; arg0->y = 0; arg0->z = 0; func0f0b4c3c(crosspos, arg1, 1); } GLOBAL_ASM( glabel bgun0f0a0fac /* f0a0fac: 27bdff58 */ addiu $sp,$sp,-168 /* f0a0fb0: 44801000 */ mtc1 $zero,$f2 /* f0a0fb4: afbf002c */ sw $ra,0x2c($sp) /* f0a0fb8: afa400a8 */ sw $a0,0xa8($sp) /* f0a0fbc: afa500ac */ sw $a1,0xac($sp) /* f0a0fc0: afa600b0 */ sw $a2,0xb0($sp) /* f0a0fc4: afa700b4 */ sw $a3,0xb4($sp) /* f0a0fc8: 00a02025 */ or $a0,$a1,$zero /* f0a0fcc: 0fc2c3f4 */ jal weaponFindById /* f0a0fd0: e7a200a4 */ swc1 $f2,0xa4($sp) /* f0a0fd4: 1040000d */ beqz $v0,.L0f0a100c /* f0a0fd8: c7a200a4 */ lwc1 $f2,0xa4($sp) /* f0a0fdc: 8fae00b0 */ lw $t6,0xb0($sp) /* f0a0fe0: 000e7880 */ sll $t7,$t6,0x2 /* f0a0fe4: 004fc021 */ addu $t8,$v0,$t7 /* f0a0fe8: 8f030014 */ lw $v1,0x14($t8) /* f0a0fec: 50600008 */ beqzl $v1,.L0f0a1010 /* f0a0ff0: 8fa900b4 */ lw $t1,0xb4($sp) /* f0a0ff4: 8c790000 */ lw $t9,0x0($v1) /* f0a0ff8: 24010001 */ addiu $at,$zero,0x1 /* f0a0ffc: 332800ff */ andi $t0,$t9,0xff /* f0a1000: 55010003 */ bnel $t0,$at,.L0f0a1010 /* f0a1004: 8fa900b4 */ lw $t1,0xb4($sp) /* f0a1008: c4620020 */ lwc1 $f2,0x20($v1) .L0f0a100c: /* f0a100c: 8fa900b4 */ lw $t1,0xb4($sp) .L0f0a1010: /* f0a1010: 5120000d */ beqzl $t1,.L0f0a1048 /* f0a1014: 8faa00b8 */ lw $t2,0xb8($sp) /* f0a1018: 8fa400ac */ lw $a0,0xac($sp) /* f0a101c: 24050004 */ addiu $a1,$zero,0x4 /* f0a1020: 0fc2c601 */ jal weaponHasClassFlag /* f0a1024: e7a200a4 */ swc1 $f2,0xa4($sp) /* f0a1028: 10400006 */ beqz $v0,.L0f0a1044 /* f0a102c: c7a200a4 */ lwc1 $f2,0xa4($sp) /* f0a1030: 3c013e80 */ lui $at,0x3e80 /* f0a1034: 44812000 */ mtc1 $at,$f4 /* f0a1038: 00000000 */ nop /* f0a103c: 46041082 */ mul.s $f2,$f2,$f4 /* f0a1040: 00000000 */ nop .L0f0a1044: /* f0a1044: 8faa00b8 */ lw $t2,0xb8($sp) .L0f0a1048: /* f0a1048: 8fab00bc */ lw $t3,0xbc($sp) /* f0a104c: 15400005 */ bnez $t2,.L0f0a1064 /* f0a1050: 3c013f00 */ lui $at,0x3f00 /* f0a1054: 44813000 */ mtc1 $at,$f6 /* f0a1058: 00000000 */ nop /* f0a105c: 46061082 */ mul.s $f2,$f2,$f6 /* f0a1060: 00000000 */ nop .L0f0a1064: /* f0a1064: 11600005 */ beqz $t3,.L0f0a107c /* f0a1068: 3c013fc0 */ lui $at,0x3fc0 /* f0a106c: 44814000 */ mtc1 $at,$f8 /* f0a1070: 00000000 */ nop /* f0a1074: 46081082 */ mul.s $f2,$f2,$f8 /* f0a1078: 00000000 */ nop .L0f0a107c: /* f0a107c: 0c002f9d */ jal viGetFovY /* f0a1080: e7a200a4 */ swc1 $f2,0xa4($sp) /* f0a1084: 3c0142f0 */ lui $at,0x42f0 /* f0a1088: 44815000 */ mtc1 $at,$f10 /* f0a108c: c7a200a4 */ lwc1 $f2,0xa4($sp) /* f0a1090: 46025402 */ mul.s $f16,$f10,$f2 /* f0a1094: 46008483 */ div.s $f18,$f16,$f0 /* f0a1098: 0c004b70 */ jal random /* f0a109c: e7b200a0 */ swc1 $f18,0xa0($sp) /* f0a10a0: 0c004b70 */ jal random /* f0a10a4: afa20038 */ sw $v0,0x38($sp) /* f0a10a8: 8fac0038 */ lw $t4,0x38($sp) /* f0a10ac: 3c012f80 */ lui $at,0x2f80 /* f0a10b0: 44810000 */ mtc1 $at,$f0 /* f0a10b4: 448c2000 */ mtc1 $t4,$f4 /* f0a10b8: 3c014f80 */ lui $at,0x4f80 /* f0a10bc: 05810004 */ bgez $t4,.L0f0a10d0 /* f0a10c0: 468021a0 */ cvt.s.w $f6,$f4 /* f0a10c4: 44814000 */ mtc1 $at,$f8 /* f0a10c8: 00000000 */ nop /* f0a10cc: 46083180 */ add.s $f6,$f6,$f8 .L0f0a10d0: /* f0a10d0: 46003282 */ mul.s $f10,$f6,$f0 /* f0a10d4: 3c013f00 */ lui $at,0x3f00 /* f0a10d8: 44818000 */ mtc1 $at,$f16 /* f0a10dc: 44822000 */ mtc1 $v0,$f4 /* f0a10e0: 3c014f80 */ lui $at,0x4f80 /* f0a10e4: 46802220 */ cvt.s.w $f8,$f4 /* f0a10e8: 04410004 */ bgez $v0,.L0f0a10fc /* f0a10ec: 46105481 */ sub.s $f18,$f10,$f16 /* f0a10f0: 44813000 */ mtc1 $at,$f6 /* f0a10f4: 00000000 */ nop /* f0a10f8: 46064200 */ add.s $f8,$f8,$f6 .L0f0a10fc: /* f0a10fc: 46004282 */ mul.s $f10,$f8,$f0 /* f0a1100: c7a400a0 */ lwc1 $f4,0xa0($sp) /* f0a1104: 46125402 */ mul.s $f16,$f10,$f18 /* f0a1108: 00000000 */ nop /* f0a110c: 46048182 */ mul.s $f6,$f16,$f4 /* f0a1110: 0c004b70 */ jal random /* f0a1114: e7a60098 */ swc1 $f6,0x98($sp) /* f0a1118: 0c004b70 */ jal random /* f0a111c: afa20038 */ sw $v0,0x38($sp) /* f0a1120: 3c03800a */ lui $v1,%hi(g_Vars+0x284) /* f0a1124: 8c63a244 */ lw $v1,%lo(g_Vars+0x284)($v1) /* f0a1128: c7aa0098 */ lwc1 $f10,0x98($sp) /* f0a112c: 8fad0038 */ lw $t5,0x38($sp) /* f0a1130: c4681728 */ lwc1 $f8,0x1728($v1) /* f0a1134: 3c012f80 */ lui $at,0x2f80 /* f0a1138: 448d8000 */ mtc1 $t5,$f16 /* f0a113c: 460a4482 */ mul.s $f18,$f8,$f10 /* f0a1140: 44810000 */ mtc1 $at,$f0 /* f0a1144: 3c014f80 */ lui $at,0x4f80 /* f0a1148: 46808120 */ cvt.s.w $f4,$f16 /* f0a114c: 05a10004 */ bgez $t5,.L0f0a1160 /* f0a1150: e7b20048 */ swc1 $f18,0x48($sp) /* f0a1154: 44813000 */ mtc1 $at,$f6 /* f0a1158: 00000000 */ nop /* f0a115c: 46062100 */ add.s $f4,$f4,$f6 .L0f0a1160: /* f0a1160: 46002202 */ mul.s $f8,$f4,$f0 /* f0a1164: 3c013f00 */ lui $at,0x3f00 /* f0a1168: 44815000 */ mtc1 $at,$f10 /* f0a116c: 44828000 */ mtc1 $v0,$f16 /* f0a1170: 3c014f80 */ lui $at,0x4f80 /* f0a1174: 468081a0 */ cvt.s.w $f6,$f16 /* f0a1178: 04410004 */ bgez $v0,.L0f0a118c /* f0a117c: 460a4481 */ sub.s $f18,$f8,$f10 /* f0a1180: 44812000 */ mtc1 $at,$f4 /* f0a1184: 00000000 */ nop /* f0a1188: 46043180 */ add.s $f6,$f6,$f4 .L0f0a118c: /* f0a118c: 46003202 */ mul.s $f8,$f6,$f0 /* f0a1190: c7b000a0 */ lwc1 $f16,0xa0($sp) /* f0a1194: c466172c */ lwc1 $f6,0x172c($v1) /* f0a1198: 3c01bf80 */ lui $at,0xbf80 /* f0a119c: 27a40048 */ addiu $a0,$sp,0x48 /* f0a11a0: 27a5004c */ addiu $a1,$sp,0x4c /* f0a11a4: 27a60050 */ addiu $a2,$sp,0x50 /* f0a11a8: 46124282 */ mul.s $f10,$f8,$f18 /* f0a11ac: 44819000 */ mtc1 $at,$f18 /* f0a11b0: 00000000 */ nop /* f0a11b4: e7b20050 */ swc1 $f18,0x50($sp) /* f0a11b8: 46105102 */ mul.s $f4,$f10,$f16 /* f0a11bc: 00000000 */ nop /* f0a11c0: 46043202 */ mul.s $f8,$f6,$f4 /* f0a11c4: 0c0011e4 */ jal guNormalize /* f0a11c8: e7a8004c */ swc1 $f8,0x4c($sp) /* f0a11cc: 8fa200a8 */ lw $v0,0xa8($sp) /* f0a11d0: 44800000 */ mtc1 $zero,$f0 /* f0a11d4: 3c01bf80 */ lui $at,0xbf80 /* f0a11d8: c44a0000 */ lwc1 $f10,0x0($v0) /* f0a11dc: 44812000 */ mtc1 $at,$f4 /* f0a11e0: 44050000 */ mfc1 $a1,$f0 /* f0a11e4: e7aa0010 */ swc1 $f10,0x10($sp) /* f0a11e8: c4500004 */ lwc1 $f16,0x4($v0) /* f0a11ec: 44060000 */ mfc1 $a2,$f0 /* f0a11f0: 44070000 */ mfc1 $a3,$f0 /* f0a11f4: e7b00014 */ swc1 $f16,0x14($sp) /* f0a11f8: c4460008 */ lwc1 $f6,0x8($v0) /* f0a11fc: 27a40054 */ addiu $a0,$sp,0x54 /* f0a1200: e7a00024 */ swc1 $f0,0x24($sp) /* f0a1204: e7a0001c */ swc1 $f0,0x1c($sp) /* f0a1208: e7a40020 */ swc1 $f4,0x20($sp) /* f0a120c: 0c005ad6 */ jal func00016b58 /* f0a1210: e7a60018 */ swc1 $f6,0x18($sp) /* f0a1214: 27a40054 */ addiu $a0,$sp,0x54 /* f0a1218: 27a50048 */ addiu $a1,$sp,0x48 /* f0a121c: 0c0056c5 */ jal func00015b14 /* f0a1220: 8fa600a8 */ lw $a2,0xa8($sp) /* f0a1224: 8fbf002c */ lw $ra,0x2c($sp) /* f0a1228: 27bd00a8 */ addiu $sp,$sp,0xa8 /* f0a122c: 03e00008 */ jr $ra /* f0a1230: 00000000 */ nop /* f0a1234: 00067900 */ sll $t7,$a2,0x4 /* f0a1238: 01e67823 */ subu $t7,$t7,$a2 /* f0a123c: 000f7880 */ sll $t7,$t7,0x2 /* f0a1240: 01e67821 */ addu $t7,$t7,$a2 /* f0a1244: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f0a1248: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f0a124c: 000f78c0 */ sll $t7,$t7,0x3 /* f0a1250: 01e67821 */ addu $t7,$t7,$a2 /* f0a1254: 000f7880 */ sll $t7,$t7,0x2 /* f0a1258: 01cf1821 */ addu $v1,$t6,$t7 /* f0a125c: 80780c14 */ lb $t8,0xc14($v1) /* f0a1260: 24630638 */ addiu $v1,$v1,1592 /* f0a1264: 57000004 */ bnezl $t8,.L0f0a1278 /* f0a1268: c46405ec */ lwc1 $f4,0x5ec($v1) /* f0a126c: 03e00008 */ jr $ra /* f0a1270: 00001025 */ or $v0,$zero,$zero /* f0a1274: c46405ec */ lwc1 $f4,0x5ec($v1) .L0f0a1278: /* f0a1278: 24020001 */ addiu $v0,$zero,0x1 /* f0a127c: e4840000 */ swc1 $f4,0x0($a0) /* f0a1280: c46605f0 */ lwc1 $f6,0x5f0($v1) /* f0a1284: e4860004 */ swc1 $f6,0x4($a0) /* f0a1288: c46805f4 */ lwc1 $f8,0x5f4($v1) /* f0a128c: e4880008 */ swc1 $f8,0x8($a0) /* f0a1290: c46a05e0 */ lwc1 $f10,0x5e0($v1) /* f0a1294: e4aa0000 */ swc1 $f10,0x0($a1) /* f0a1298: c47005e4 */ lwc1 $f16,0x5e4($v1) /* f0a129c: e4b00004 */ swc1 $f16,0x4($a1) /* f0a12a0: c47205e8 */ lwc1 $f18,0x5e8($v1) /* f0a12a4: e4b20008 */ swc1 $f18,0x8($a1) /* f0a12a8: 03e00008 */ jr $ra /* f0a12ac: 00000000 */ nop ); void bgunSetLastShootInfo(struct coord *pos, struct coord *dir, s32 handnum) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; hand->lastdirvalid = true; hand->lastshootpos.x = pos->x; hand->lastshootpos.y = pos->y; hand->lastshootpos.z = pos->z; hand->lastshootdir.x = dir->x; hand->lastshootdir.y = dir->y; hand->lastshootdir.z = dir->z; } u32 bgunGetUnk0c30(s32 handnum) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; return hand->shotstotake; } void bgun0f0a134c(s32 handnum) { struct player *player = g_Vars.currentplayer; s32 i; if (player->hands[handnum].inuse) { for (i = 0; i < 2; i++) { if (player->gunctrl.ammotypes[i] >= 0) { s32 spaceinclip = player->hands[handnum].clipsizes[i] - player->hands[handnum].loadedammo[i]; s32 index = bgunGetUnequippedReloadIndex(player->gunctrl.weaponnum); if (index != -1) { #if VERSION >= VERSION_PAL_FINAL player->hands[handnum].gunroundsspent[index] = spaceinclip * 213 + 212; #else player->hands[handnum].gunroundsspent[index] = (spaceinclip << 8) | 0xff; #endif } if (player->hands[handnum].loadedammo[i] > 0) { player->ammoheldarr[player->gunctrl.ammotypes[i]] += player->hands[handnum].loadedammo[i]; } player->hands[handnum].loadedammo[i] = 0; } } } if (g_Vars.mplayerisrunning && (IS8MB() || PLAYERCOUNT() != 1)) { currentPlayerSetWeaponReapable(handnum); } bgun0f09fa20(handnum); } void bgun0f0a1528(void) { struct player *player = g_Vars.currentplayer; struct gunctrl *ctrl = &g_Vars.currentplayer->gunctrl; s32 i; if (ctrl->switchtoweaponnum >= 0) { if (bgun0f09bec8(HAND_RIGHT) && bgun0f09bec8(HAND_LEFT)) { s32 weaponnum = player->gunctrl.weaponnum; s32 previnuse = player->hands[HAND_LEFT].inuse; struct hand *lefthand; struct hand *righthand; if (currentPlayerGetDeviceState(ctrl->switchtoweaponnum) != DEVICESTATE_UNEQUIPPED) { ctrl->switchtoweaponnum = WEAPON_UNARMED; } if (ctrl->unk1583_00 && !invHasDoubleWeaponIncAllGuns(ctrl->switchtoweaponnum, ctrl->switchtoweaponnum)) { ctrl->unk1583_00 = false; } func0f0d7364(); bgun0f0a134c(HAND_LEFT); bgun0f0a134c(HAND_RIGHT); if (weaponnum == WEAPON_HORIZONSCANNER) { g_Vars.currentplayer->insightaimmode = false; } if (weaponnum == WEAPON_RCP120) { s32 amount = player->hands[HAND_RIGHT].matmot1; if (amount > player->ammoheldarr[ctrl->ammotypes[0]]) { amount = player->ammoheldarr[ctrl->ammotypes[0]]; } player->ammoheldarr[ctrl->ammotypes[0]] -= amount; } if (weaponnum == WEAPON_HORIZONSCANNER) { g_Vars.currentplayer->zoomintimemax = 0; g_Vars.currentplayer->zoomintime = g_Vars.currentplayer->zoomintimemax; g_Vars.currentplayer->zoominfovynew = 60; g_Vars.currentplayer->zoominfovy = g_Vars.currentplayer->zoominfovynew; } lefthand = &player->hands[HAND_LEFT]; righthand = &player->hands[HAND_RIGHT]; if (ctrl->switchtoweaponnum == WEAPON_NONE) { lefthand->inuse = false; righthand->inuse = false; ctrl->weaponnum = WEAPON_NONE; } else { bgun0f09df64(ctrl->switchtoweaponnum); ctrl->weaponnum = ctrl->switchtoweaponnum; lefthand->inuse = true; righthand->inuse = true; } if (ctrl->weaponnum == WEAPON_REMOTEMINE) { ctrl->unk1583_00 = true; } if (!ctrl->unk1583_00) { lefthand->inuse = false; } if (weaponnum <= WEAPON_PSYCHOSISGUN && weaponnum >= WEAPON_UNARMED) { player->gunctrl.prevweaponnum = weaponnum; } if (previnuse) { player->gunctrl.unk1583_01 = true; } else { player->gunctrl.unk1583_01 = false; } g_Vars.currentplayer->gunctrl.invertgunfunc = false; g_Vars.currentplayer->usedowntime = -1; for (i = 0; i < 2; i++) { player->hands[i].unk0d0e_00 = 0; player->hands[i].unk0d0e_04 = 0; player->hands[i].unk0d0f_02 = false; player->hands[i].unk0d0f_03 = false; player->hands[i].matmot1 = 0.0f; player->hands[i].matmot2 = 0.0f; player->hands[i].matmot3 = 0.0f; player->hands[i].angledamper = 0.0f; player->hands[i].gunsmokepoint = 0.0f; player->hands[i].burstbullets = 0; player->hands[i].loadslide = 0.0f; player->hands[i].allowshootframe = 0; player->hands[i].lastshootframe60 = 0; player->hands[i].gset.weaponfunc = FUNC_PRIMARY; player->hands[i].gset.weaponnum = ctrl->weaponnum; player->hands[i].gset.unk0639 = (ctrl->upgradewant >> (i * 4)) & 0xf; player->hands[i].ganstarot = 0.0f; bgun0f0abd30(i); animInit(&player->hands[i].anim); if (player->hands[i].audiohandle && audioIsPlaying(player->hands[i].audiohandle)) { audioStop(player->hands[i].audiohandle); } } invCalculateCurrentIndex(); ctrl->switchtoweaponnum = -1; ctrl->fnfader = 0; if (ctrl->weaponnum == WEAPON_DISGUISE40 || ctrl->weaponnum == WEAPON_DISGUISE41) { struct chrdata *chr = player->prop->chr; sndStart(var80095200, SFX_DISGUISE_ON, 0, -1, -1, -1, -1, -1); g_Vars.currentplayer->disguised = true; chr->hidden |= CHRHFLAG_DISGUISED; if (g_Vars.stagenum == STAGE_RESCUE) { chr->hidden |= CHRHFLAG_UNTARGETABLE; } invRemoveItemByNum(ctrl->weaponnum); bgun0f0a1c2c(); } ctrl->curfnstr = 0; ctrl->fnstrtimer = 0; ctrl->unk1583_04 = false; } } else { if (((player->hands[HAND_LEFT].inuse && !player->gunctrl.unk1583_00) || (!player->hands[HAND_LEFT].inuse && player->gunctrl.unk1583_00)) && bgun0f09bec8(HAND_LEFT)) { bgun0f0a134c(HAND_LEFT); player->hands[HAND_LEFT].inuse = player->gunctrl.unk1583_00; } } } void bgunEquipWeapon(s32 weaponnum) { struct player *player = g_Vars.currentplayer; if (player->gunctrl.weaponnum == weaponnum && player->gunctrl.switchtoweaponnum == -1) { return; } player->gunctrl.switchtoweaponnum = weaponnum; player->gunctrl.wantammo = false; } s32 bgunGetWeaponNum(s32 handnum) { if (!g_Vars.currentplayer->hands[handnum].inuse) { return WEAPON_NONE; } return g_Vars.currentplayer->gunctrl.weaponnum; } s32 bgunGetWeaponNum2(s32 handnum) { return bgunGetWeaponNum(handnum); } bool bgun0f0a1a10(s32 weaponnum) { if (weaponHasFlag(weaponnum, WEAPONFLAG_00000400) && (bgunGetAmmoTypeForWeapon(weaponnum, FUNC_PRIMARY) == 0 || bgunGetAmmoQtyForWeapon(weaponnum, FUNC_PRIMARY) > 0)) { return true; } return false; } s32 bgun0f0a1a68(s32 arg0) { s32 weaponnum; if (g_Vars.currentplayer->gunctrl.switchtoweaponnum >= 0) { weaponnum = g_Vars.currentplayer->gunctrl.switchtoweaponnum; } else { weaponnum = g_Vars.currentplayer->gunctrl.weaponnum; } if (!g_Vars.currentplayer->gunctrl.unk1583_00 && arg0 == 1) { weaponnum = WEAPON_NONE; } return weaponnum; } void bgun0f0a1ab0(void) { if (g_Vars.tickmode != TICKMODE_CUTSCENE) { struct player *player = g_Vars.currentplayer; s32 dualweaponnum; #if VERSION >= VERSION_NTSC_1_0 if (invHasSingleWeaponIncAllGuns(player->gunctrl.prevweaponnum)) { bgunEquipWeapon2(HAND_RIGHT, player->gunctrl.prevweaponnum); dualweaponnum = invHasDoubleWeaponIncAllGuns(player->gunctrl.prevweaponnum, player->gunctrl.prevweaponnum) * player->gunctrl.prevweaponnum * player->gunctrl.unk1583_01; bgunEquipWeapon2(HAND_LEFT, dualweaponnum); } else { bgunAutoSwitchWeapon(); } #else bgunEquipWeapon2(HAND_RIGHT, player->gunctrl.prevweaponnum); bgunEquipWeapon2(HAND_LEFT, player->gunctrl.prevweaponnum * player->gunctrl.unk1583_01); #endif } } void bgun0f0a1b50(void) { s32 weaponnum1; s32 weaponnum2; struct player *player = g_Vars.currentplayer; if (g_Vars.tickmode != TICKMODE_CUTSCENE) { weaponnum1 = bgun0f0a1a68(0); weaponnum2 = bgun0f0a1a68(1); if (weaponnum1 > WEAPON_PSYCHOSISGUN || weaponnum2 > WEAPON_PSYCHOSISGUN) { weaponnum1 = player->gunctrl.prevweaponnum; weaponnum2 = player->gunctrl.prevweaponnum * player->gunctrl.unk1583_01; } else { func0f1122ec(&weaponnum1, &weaponnum2, 0); } if (weaponnum2 != weaponnum1) { player->gunctrl.unk1583_00 = false; } else { player->gunctrl.unk1583_00 = true; } bgunEquipWeapon(weaponnum1); } } void bgun0f0a1c2c(void) { s32 weaponnum1; s32 weaponnum2; struct player *player = g_Vars.currentplayer; if (g_Vars.tickmode != TICKMODE_CUTSCENE) { weaponnum1 = bgun0f0a1a68(0); weaponnum2 = bgun0f0a1a68(1); if (weaponnum2 == WEAPON_REMOTEMINE) { weaponnum2 = WEAPON_NONE; } if (weaponnum1 > WEAPON_PSYCHOSISGUN || weaponnum2 > WEAPON_PSYCHOSISGUN) { weaponnum1 = player->gunctrl.prevweaponnum; weaponnum2 = player->gunctrl.prevweaponnum * player->gunctrl.unk1583_01; } else { func0f11253c(&weaponnum1, &weaponnum2, 0); } if (weaponnum2 == WEAPON_NONE) { player->gunctrl.unk1583_00 = false; } else { player->gunctrl.unk1583_00 = true; } bgunEquipWeapon(weaponnum1); } } /** * Return true if the player has ammo for the given weapon (for either function) * or if the weapon doesn't support ammo. * * Used by the active menu to colour the slots. */ bool bgunHasAmmoForWeapon(s32 weaponnum) { bool ammodefexists = false; bool hasammo = false; struct weapon *weapon = weaponFindById(weaponnum); s32 i; if (weapon == NULL) { return true; } for (i = 0; i < 2; i++) { struct weaponfunc *func = weaponGetFunctionById(weaponnum, i); if (func && func->ammoindex >= 0) { struct inventory_ammo *ammo = weapon->ammos[func->ammoindex]; if (ammo) { ammodefexists = true; if (bgunGetAmmoCount(ammo->type) > 0) { hasammo = true; } } } } if (!ammodefexists) { return true; } if (hasammo == true) { return true; } return false; } GLOBAL_ASM( glabel bgunAutoSwitchWeapon /* f0a1df4: 27bdff98 */ addiu $sp,$sp,-104 /* f0a1df8: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a1dfc: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0a1e00: 8c6f0284 */ lw $t7,0x284($v1) /* f0a1e04: 240effff */ addiu $t6,$zero,-1 /* f0a1e08: 8c7902ac */ lw $t9,0x2ac($v1) /* f0a1e0c: afbf003c */ sw $ra,0x3c($sp) /* f0a1e10: afbe0038 */ sw $s8,0x38($sp) /* f0a1e14: afb70034 */ sw $s7,0x34($sp) /* f0a1e18: afb60030 */ sw $s6,0x30($sp) /* f0a1e1c: afb5002c */ sw $s5,0x2c($sp) /* f0a1e20: afb40028 */ sw $s4,0x28($sp) /* f0a1e24: afb30024 */ sw $s3,0x24($sp) /* f0a1e28: afb20020 */ sw $s2,0x20($sp) /* f0a1e2c: afb1001c */ sw $s1,0x1c($sp) /* f0a1e30: afb00018 */ sw $s0,0x18($sp) /* f0a1e34: afae0050 */ sw $t6,0x50($sp) /* f0a1e38: afa00048 */ sw $zero,0x48($sp) /* f0a1e3c: 81f81580 */ lb $t8,0x1580($t7) /* f0a1e40: 24010006 */ addiu $at,$zero,0x6 /* f0a1e44: 241effff */ addiu $s8,$zero,-1 /* f0a1e48: 0000a825 */ or $s5,$zero,$zero /* f0a1e4c: afa00040 */ sw $zero,0x40($sp) /* f0a1e50: 13210083 */ beq $t9,$at,.L0f0a2060 /* f0a1e54: afb80044 */ sw $t8,0x44($sp) /* f0a1e58: 3c138007 */ lui $s3,%hi(g_AutoSwitchWeaponsPrimary) /* f0a1e5c: 267301c0 */ addiu $s3,$s3,%lo(g_AutoSwitchWeaponsPrimary) /* f0a1e60: 3c170010 */ lui $s7,0x10 /* f0a1e64: 2416ffff */ addiu $s6,$zero,-1 /* f0a1e68: 0000a025 */ or $s4,$zero,$zero .L0f0a1e6c: /* f0a1e6c: 0fc44727 */ jal invHasSingleWeaponIncAllGuns /* f0a1e70: 92640000 */ lbu $a0,0x0($s3) /* f0a1e74: 10400031 */ beqz $v0,.L0f0a1f3c /* f0a1e78: 00000000 */ nop /* f0a1e7c: 92700000 */ lbu $s0,0x0($s3) /* f0a1e80: 0fc2c3f4 */ jal weaponFindById /* f0a1e84: 02002025 */ or $a0,$s0,$zero /* f0a1e88: 00409025 */ or $s2,$v0,$zero /* f0a1e8c: 02002025 */ or $a0,$s0,$zero /* f0a1e90: 0fc2c401 */ jal weaponGetFunctionById /* f0a1e94: 00002825 */ or $a1,$zero,$zero /* f0a1e98: 00408825 */ or $s1,$v0,$zero /* f0a1e9c: 00402025 */ or $a0,$v0,$zero /* f0a1ea0: 0fc2642c */ jal bgun0f0990b0 /* f0a1ea4: 02402825 */ or $a1,$s2,$zero /* f0a1ea8: 14400006 */ bnez $v0,.L0f0a1ec4 /* f0a1eac: 24010012 */ addiu $at,$zero,0x12 /* f0a1eb0: 8e280010 */ lw $t0,0x10($s1) /* f0a1eb4: 01174824 */ and $t1,$t0,$s7 /* f0a1eb8: 15200002 */ bnez $t1,.L0f0a1ec4 /* f0a1ebc: 00000000 */ nop /* f0a1ec0: 24140001 */ addiu $s4,$zero,0x1 .L0f0a1ec4: /* f0a1ec4: 16010005 */ bne $s0,$at,.L0f0a1edc /* f0a1ec8: 02002025 */ or $a0,$s0,$zero /* f0a1ecc: 16a00003 */ bnez $s5,.L0f0a1edc /* f0a1ed0: 00000000 */ nop /* f0a1ed4: 1000000e */ b .L0f0a1f10 /* f0a1ed8: 26b50001 */ addiu $s5,$s5,0x1 .L0f0a1edc: /* f0a1edc: 0fc2c401 */ jal weaponGetFunctionById /* f0a1ee0: 24050001 */ addiu $a1,$zero,0x1 /* f0a1ee4: 00408825 */ or $s1,$v0,$zero /* f0a1ee8: 00402025 */ or $a0,$v0,$zero /* f0a1eec: 0fc2642c */ jal bgun0f0990b0 /* f0a1ef0: 02402825 */ or $a1,$s2,$zero /* f0a1ef4: 54400007 */ bnezl $v0,.L0f0a1f14 /* f0a1ef8: 8fac0044 */ lw $t4,0x44($sp) /* f0a1efc: 8e2a0010 */ lw $t2,0x10($s1) /* f0a1f00: 01575824 */ and $t3,$t2,$s7 /* f0a1f04: 55600003 */ bnezl $t3,.L0f0a1f14 /* f0a1f08: 8fac0044 */ lw $t4,0x44($sp) /* f0a1f0c: 24140001 */ addiu $s4,$zero,0x1 .L0f0a1f10: /* f0a1f10: 8fac0044 */ lw $t4,0x44($sp) .L0f0a1f14: /* f0a1f14: 240d0001 */ addiu $t5,$zero,0x1 /* f0a1f18: 160c0003 */ bne $s0,$t4,.L0f0a1f28 /* f0a1f1c: 00000000 */ nop /* f0a1f20: 10000006 */ b .L0f0a1f3c /* f0a1f24: afad0048 */ sw $t5,0x48($sp) .L0f0a1f28: /* f0a1f28: 12800004 */ beqz $s4,.L0f0a1f3c /* f0a1f2c: 8fae0050 */ lw $t6,0x50($sp) /* f0a1f30: 15d60002 */ bne $t6,$s6,.L0f0a1f3c /* f0a1f34: 0200f025 */ or $s8,$s0,$zero /* f0a1f38: afb00050 */ sw $s0,0x50($sp) .L0f0a1f3c: /* f0a1f3c: 3c0f8007 */ lui $t7,%hi(g_AutoSwitchWeaponsPrimary+0x23) /* f0a1f40: 25ef01e3 */ addiu $t7,$t7,%lo(g_AutoSwitchWeaponsPrimary+0x23) /* f0a1f44: 26730001 */ addiu $s3,$s3,0x1 /* f0a1f48: 026f082b */ sltu $at,$s3,$t7 /* f0a1f4c: 50200007 */ beqzl $at,.L0f0a1f6c /* f0a1f50: 8fb90048 */ lw $t9,0x48($sp) /* f0a1f54: 53d6ffc5 */ beql $s8,$s6,.L0f0a1e6c /* f0a1f58: 0000a025 */ or $s4,$zero,$zero /* f0a1f5c: 8fb80048 */ lw $t8,0x48($sp) /* f0a1f60: 5300ffc2 */ beqzl $t8,.L0f0a1e6c /* f0a1f64: 0000a025 */ or $s4,$zero,$zero /* f0a1f68: 8fb90048 */ lw $t9,0x48($sp) .L0f0a1f6c: /* f0a1f6c: 24010001 */ addiu $at,$zero,0x1 /* f0a1f70: 0000a025 */ or $s4,$zero,$zero /* f0a1f74: 17200002 */ bnez $t9,.L0f0a1f80 /* f0a1f78: 02c09025 */ or $s2,$s6,$zero /* f0a1f7c: 8fbe0050 */ lw $s8,0x50($sp) .L0f0a1f80: /* f0a1f80: 17d60002 */ bne $s8,$s6,.L0f0a1f8c /* f0a1f84: 3c108007 */ lui $s0,%hi(g_AutoSwitchWeaponsSecondary) /* f0a1f88: 241e0001 */ addiu $s8,$zero,0x1 .L0f0a1f8c: /* f0a1f8c: 17c10018 */ bne $s8,$at,.L0f0a1ff0 /* f0a1f90: 261001e4 */ addiu $s0,$s0,%lo(g_AutoSwitchWeaponsSecondary) /* f0a1f94: 3c138007 */ lui $s3,%hi(g_AutoSwitchWeaponsSecondary+0x7) /* f0a1f98: 267301eb */ addiu $s3,$s3,%lo(g_AutoSwitchWeaponsSecondary+0x7) /* f0a1f9c: 92110000 */ lbu $s1,0x0($s0) .L0f0a1fa0: /* f0a1fa0: 0fc44727 */ jal invHasSingleWeaponIncAllGuns /* f0a1fa4: 02202025 */ or $a0,$s1,$zero /* f0a1fa8: 10400008 */ beqz $v0,.L0f0a1fcc /* f0a1fac: 26100001 */ addiu $s0,$s0,0x1 /* f0a1fb0: 8fa80044 */ lw $t0,0x44($sp) /* f0a1fb4: 16280002 */ bne $s1,$t0,.L0f0a1fc0 /* f0a1fb8: 00000000 */ nop /* f0a1fbc: 24140001 */ addiu $s4,$zero,0x1 .L0f0a1fc0: /* f0a1fc0: 16560002 */ bne $s2,$s6,.L0f0a1fcc /* f0a1fc4: 00000000 */ nop /* f0a1fc8: 02209025 */ or $s2,$s1,$zero .L0f0a1fcc: /* f0a1fcc: 5613fff4 */ bnel $s0,$s3,.L0f0a1fa0 /* f0a1fd0: 92110000 */ lbu $s1,0x0($s0) /* f0a1fd4: 16560002 */ bne $s2,$s6,.L0f0a1fe0 /* f0a1fd8: 0240f025 */ or $s8,$s2,$zero /* f0a1fdc: 241e0001 */ addiu $s8,$zero,0x1 .L0f0a1fe0: /* f0a1fe0: 12800002 */ beqz $s4,.L0f0a1fec /* f0a1fe4: 24090001 */ addiu $t1,$zero,0x1 /* f0a1fe8: 241effff */ addiu $s8,$zero,-1 .L0f0a1fec: /* f0a1fec: afa90040 */ sw $t1,0x40($sp) .L0f0a1ff0: /* f0a1ff0: 07c0001b */ bltz $s8,.L0f0a2060 /* f0a1ff4: 8faa0044 */ lw $t2,0x44($sp) /* f0a1ff8: 13ca0019 */ beq $s8,$t2,.L0f0a2060 /* f0a1ffc: 03c02025 */ or $a0,$s8,$zero /* f0a2000: 0fc4473e */ jal invHasDoubleWeaponIncAllGuns /* f0a2004: 03c02825 */ or $a1,$s8,$zero /* f0a2008: 10400006 */ beqz $v0,.L0f0a2024 /* f0a200c: 3c02800a */ lui $v0,%hi(g_Vars+0x284) /* f0a2010: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) /* f0a2014: 904c1583 */ lbu $t4,0x1583($v0) /* f0a2018: 358d0080 */ ori $t5,$t4,0x80 /* f0a201c: 10000006 */ b .L0f0a2038 /* f0a2020: a04d1583 */ sb $t5,0x1583($v0) .L0f0a2024: /* f0a2024: 3c02800a */ lui $v0,%hi(g_Vars+0x284) /* f0a2028: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) /* f0a202c: 904e1583 */ lbu $t6,0x1583($v0) /* f0a2030: 31cfff7f */ andi $t7,$t6,0xff7f /* f0a2034: a04f1583 */ sb $t7,0x1583($v0) .L0f0a2038: /* f0a2038: 0fc2865b */ jal bgunEquipWeapon /* f0a203c: 03c02025 */ or $a0,$s8,$zero /* f0a2040: 8fb80040 */ lw $t8,0x40($sp) /* f0a2044: 3c02800a */ lui $v0,%hi(g_Vars+0x284) /* f0a2048: 53000006 */ beqzl $t8,.L0f0a2064 /* f0a204c: 8fbf003c */ lw $ra,0x3c($sp) /* f0a2050: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) /* f0a2054: 90481583 */ lbu $t0,0x1583($v0) /* f0a2058: 35090004 */ ori $t1,$t0,0x4 /* f0a205c: a0491583 */ sb $t1,0x1583($v0) .L0f0a2060: /* f0a2060: 8fbf003c */ lw $ra,0x3c($sp) .L0f0a2064: /* f0a2064: 8fb00018 */ lw $s0,0x18($sp) /* f0a2068: 8fb1001c */ lw $s1,0x1c($sp) /* f0a206c: 8fb20020 */ lw $s2,0x20($sp) /* f0a2070: 8fb30024 */ lw $s3,0x24($sp) /* f0a2074: 8fb40028 */ lw $s4,0x28($sp) /* f0a2078: 8fb5002c */ lw $s5,0x2c($sp) /* f0a207c: 8fb60030 */ lw $s6,0x30($sp) /* f0a2080: 8fb70034 */ lw $s7,0x34($sp) /* f0a2084: 8fbe0038 */ lw $s8,0x38($sp) /* f0a2088: 03e00008 */ jr $ra /* f0a208c: 27bd0068 */ addiu $sp,$sp,0x68 ); /** * Automatically choose and equip a new weapon after trying to fire a weapon * which is out of ammo. * * The weapon preference order is stored in two arrays; one for weapons which * should have their primary functions considered and which require ammo, and * another for weapons which should have their secondary functions considered * and don't require ammo for those functions. The second is only used if no * weapons are usable from the primary array. * * For the primary array, the weapon must not be out of ammo and must have a * certain flag. If the player's current weapon is not in the primary array then * the first available primary will be selected. If the player's current weapon * is in the primary array then the last available weapon earlier than their * current weapon will be selected. If there are no weapons earlier than their * current weapon then the first weapon after their current weapon is selected. * * In the primary array, the SuperDragon is a special case. It is prioritised * when the player's current weapon is not in the array, but otherwise has a * fairly low priority. The reasons for this are unknown. * * For the secondary array, the player's current weapon must not be in the * array. The first available weapon is selected. The player's "wantammo" flag * will be set which will force the weapon onto the second function. */ // Mismatch: First loop should store pointer to current item in s3 and do an // address comparison for the end, but the below stores index in s4 and does an // integer comparison. Variable refcounts affects this so might be related. //void bgunAutoSwitchWeapon(void) //{ // s32 i; // bool foundcurrent2; // s32 firstweaponnum2; // bool usable; // s32 firstweaponnum = -1; // 50 // s32 newweaponnum = -1; // bool foundcurrent = false; // 48 // s32 curweaponnum = g_Vars.currentplayer->gunctrl.weaponnum; // 44 // s32 foundsuperdragon = 0; // s32 wantammo = false; // 40 // s32 weaponnum; // struct weapon *weapon; // struct weaponfunc *func; // s32 weaponnum2; // // if (g_Vars.tickmode == TICKMODE_CUTSCENE) { // return; // } // // // Loop through g_AutoSwitchWeaponsPrimary, checking which weapons the // // player has which are usable. Stop when both any usable weapon is found // // and when the player's current weapon is found. Note the first and last // // usable weapons. // for (i = 0; i < ARRAYCOUNT(g_AutoSwitchWeaponsPrimary) && (newweaponnum == -1 || !foundcurrent); i++) { // usable = false; // // if (invHasSingleWeaponIncAllGuns(g_AutoSwitchWeaponsPrimary[i])) { // weaponnum = g_AutoSwitchWeaponsPrimary[i]; // weapon = weaponFindById(weaponnum); // func = weaponGetFunctionById(weaponnum, FUNC_PRIMARY); // // if (!bgun0f0990b0(func, weapon) && (func->flags & FUNCFLAG_AUTOSWITCHUNSELECTABLE) == 0) { // usable = true; // } // // if (weaponnum == WEAPON_SUPERDRAGON && !foundsuperdragon) { // foundsuperdragon++; // } else { // func = weaponGetFunctionById(weaponnum, FUNC_SECONDARY); // // if (!bgun0f0990b0(func, weapon) && (func->flags & FUNCFLAG_AUTOSWITCHUNSELECTABLE) == 0) { // usable = true; // } // } // // if (weaponnum == curweaponnum) { // foundcurrent = true; // } else if (usable) { // newweaponnum = weaponnum; // // if (firstweaponnum == -1) { // firstweaponnum = weaponnum; // } // } // } // } // // foundcurrent2 = false; // firstweaponnum2 = -1; // // if (!foundcurrent) { // newweaponnum = firstweaponnum; // } // // if (newweaponnum == -1) { // newweaponnum = WEAPON_UNARMED; // } // // if (newweaponnum == WEAPON_UNARMED) { // // No usable weapon was found in the primary array, // // so search the secondary array. // for (i = 0; i < ARRAYCOUNT(g_AutoSwitchWeaponsSecondary); i++) { // weaponnum2 = g_AutoSwitchWeaponsSecondary[i]; // // if (invHasSingleWeaponIncAllGuns(weaponnum2)) { // if (weaponnum2 == curweaponnum) { // foundcurrent2 = true; // } // // if (firstweaponnum2 == -1) { // firstweaponnum2 = weaponnum2; // } // } // } // // newweaponnum = firstweaponnum2; // // if (newweaponnum == -1) { // newweaponnum = WEAPON_UNARMED; // } // // if (foundcurrent2) { // newweaponnum = -1; // } // // wantammo = true; // } // // // Switch to newweaponnum // if (newweaponnum >= 0 && newweaponnum != curweaponnum) { // if (invHasDoubleWeaponIncAllGuns(newweaponnum, newweaponnum)) { // g_Vars.currentplayer->gunctrl.unk1583_00 = true; // } else { // g_Vars.currentplayer->gunctrl.unk1583_00 = false; // } // // bgunEquipWeapon(newweaponnum); // // if (wantammo) { // g_Vars.currentplayer->gunctrl.wantammo = true; // } // } //} void bgunEquipWeapon2(bool arg0, s32 weaponnum) { if (arg0 == 1) { if (weaponnum == WEAPON_NONE) { g_Vars.currentplayer->gunctrl.unk1583_00 = false; } else { g_Vars.currentplayer->gunctrl.unk1583_00 = true; } } else { if (weaponnum > WEAPON_SUICIDEPILL) { weaponnum = WEAPON_UNARMED; } bgunEquipWeapon(weaponnum); } } s32 bgunIsFiring(s32 handnum) { return g_Vars.currentplayer->hands[handnum].firing; } s32 bgunGetAttackType(s32 handnum) { return g_Vars.currentplayer->hands[handnum].attacktype; } char *bgunGetName(s32 weaponnum) { struct weapon *weapon = g_Weapons[weaponnum]; if (weapon) { return langGet(weapon->name); } return "** error\n"; } u16 bgunGetNameId(s32 weaponnum) { struct weapon *weapon = g_Weapons[weaponnum]; if (weapon) { return weapon->name; } return 0; } char *bgunGetShortName(s32 weaponnum) { struct weapon *weapon = g_Weapons[weaponnum]; if (weapon) { return langGet(weapon->shortname); } return "** error\n"; } const char var7f1ac170[] = "wantedfn %d tiggle %d\n"; void bgunReloadIfPossible(s32 handnum) { struct player *player = g_Vars.currentplayer; if (bgunGetAmmoTypeForWeapon(bgunGetWeaponNum(handnum), 0) && player->hands[handnum].modenext == HANDMODE_NONE) { player->hands[handnum].modenext = HANDMODE_RELOAD; } } void bgunSetAdjustPos(f32 angle) { struct player *player = g_Vars.currentplayer; player->hands[0].adjustpos.z = (1 - cosf(angle)) * 5; player->hands[1].adjustpos.z = (1 - cosf(angle)) * 5; } void bgunResetSlideInc(s32 handnum) { g_Vars.currentplayer->hands[handnum].slideinc = 1; } GLOBAL_ASM( glabel bgun0f0a233c .late_rodata glabel var7f1ac768 .word 0x3e2aaaab .text /* f0a233c: 44801000 */ mtc1 $zero,$f2 /* f0a2340: 27bdffd0 */ addiu $sp,$sp,-48 /* f0a2344: afbf0014 */ sw $ra,0x14($sp) /* f0a2348: afa40030 */ sw $a0,0x30($sp) /* f0a234c: 0fc2c43b */ jal currentPlayerGetWeaponFunction /* f0a2350: e7a2002c */ swc1 $f2,0x2c($sp) /* f0a2354: 3c06800a */ lui $a2,%hi(g_Vars) /* f0a2358: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) /* f0a235c: c7a2002c */ lwc1 $f2,0x2c($sp) /* f0a2360: 10400007 */ beqz $v0,.L0f0a2380 /* f0a2364: 8cc40284 */ lw $a0,0x284($a2) /* f0a2368: 8c4e0000 */ lw $t6,0x0($v0) /* f0a236c: 24010001 */ addiu $at,$zero,0x1 /* f0a2370: 31cf00ff */ andi $t7,$t6,0xff /* f0a2374: 55e10003 */ bnel $t7,$at,.L0f0a2384 /* f0a2378: 8fb80030 */ lw $t8,0x30($sp) /* f0a237c: c4420030 */ lwc1 $f2,0x30($v0) .L0f0a2380: /* f0a2380: 8fb80030 */ lw $t8,0x30($sp) .L0f0a2384: /* f0a2384: 0018c900 */ sll $t9,$t8,0x4 /* f0a2388: 0338c823 */ subu $t9,$t9,$t8 /* f0a238c: 0019c880 */ sll $t9,$t9,0x2 /* f0a2390: 0338c821 */ addu $t9,$t9,$t8 /* f0a2394: 0019c8c0 */ sll $t9,$t9,0x3 /* f0a2398: 0338c821 */ addu $t9,$t9,$t8 /* f0a239c: 0019c880 */ sll $t9,$t9,0x2 /* f0a23a0: 00991821 */ addu $v1,$a0,$t9 /* f0a23a4: 8c68084c */ lw $t0,0x84c($v1) /* f0a23a8: 51000017 */ beqzl $t0,.L0f0a2408 /* f0a23ac: 8c690858 */ lw $t1,0x858($v1) /* f0a23b0: c4600848 */ lwc1 $f0,0x848($v1) /* f0a23b4: 3c013e80 */ lui $at,0x3e80 /* f0a23b8: 4602003c */ c.lt.s $f0,$f2 /* f0a23bc: 00000000 */ nop /* f0a23c0: 4502000a */ bc1fl .L0f0a23ec /* f0a23c4: 4600103e */ c.le.s $f2,$f0 /* f0a23c8: 44812000 */ mtc1 $at,$f4 /* f0a23cc: c4c8004c */ lwc1 $f8,0x4c($a2) /* f0a23d0: 46041182 */ mul.s $f6,$f2,$f4 /* f0a23d4: 00000000 */ nop /* f0a23d8: 46083282 */ mul.s $f10,$f6,$f8 /* f0a23dc: 460a0400 */ add.s $f16,$f0,$f10 /* f0a23e0: e4700848 */ swc1 $f16,0x848($v1) /* f0a23e4: c4600848 */ lwc1 $f0,0x848($v1) /* f0a23e8: 4600103e */ c.le.s $f2,$f0 .L0f0a23ec: /* f0a23ec: 00000000 */ nop /* f0a23f0: 45020026 */ bc1fl .L0f0a248c /* f0a23f4: 8fbf0014 */ lw $ra,0x14($sp) /* f0a23f8: e4620848 */ swc1 $f2,0x848($v1) /* f0a23fc: 10000022 */ b .L0f0a2488 /* f0a2400: ac60084c */ sw $zero,0x84c($v1) /* f0a2404: 8c690858 */ lw $t1,0x858($v1) .L0f0a2408: /* f0a2408: 24640638 */ addiu $a0,$v1,0x638 /* f0a240c: 24050003 */ addiu $a1,$zero,0x3 /* f0a2410: 5920001e */ blezl $t1,.L0f0a248c /* f0a2414: 8fbf0014 */ lw $ra,0x14($sp) /* f0a2418: afa3001c */ sw $v1,0x1c($sp) /* f0a241c: 0fc26291 */ jal bgun0f098a44 /* f0a2420: e7a2002c */ swc1 $f2,0x2c($sp) /* f0a2424: 3c06800a */ lui $a2,%hi(g_Vars) /* f0a2428: 44806000 */ mtc1 $zero,$f12 /* f0a242c: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars) /* f0a2430: 8fa3001c */ lw $v1,0x1c($sp) /* f0a2434: 10400014 */ beqz $v0,.L0f0a2488 /* f0a2438: c7a2002c */ lwc1 $f2,0x2c($sp) /* f0a243c: c4600848 */ lwc1 $f0,0x848($v1) /* f0a2440: 3c017f1b */ lui $at,%hi(var7f1ac768) /* f0a2444: 4600603c */ c.lt.s $f12,$f0 /* f0a2448: 00000000 */ nop /* f0a244c: 4502000a */ bc1fl .L0f0a2478 /* f0a2450: 460c003c */ c.lt.s $f0,$f12 /* f0a2454: c432c768 */ lwc1 $f18,%lo(var7f1ac768)($at) /* f0a2458: c4c6004c */ lwc1 $f6,0x4c($a2) /* f0a245c: 46121102 */ mul.s $f4,$f2,$f18 /* f0a2460: 00000000 */ nop /* f0a2464: 46062202 */ mul.s $f8,$f4,$f6 /* f0a2468: 46080281 */ sub.s $f10,$f0,$f8 /* f0a246c: e46a0848 */ swc1 $f10,0x848($v1) /* f0a2470: c4600848 */ lwc1 $f0,0x848($v1) /* f0a2474: 460c003c */ c.lt.s $f0,$f12 .L0f0a2478: /* f0a2478: 00000000 */ nop /* f0a247c: 45020003 */ bc1fl .L0f0a248c /* f0a2480: 8fbf0014 */ lw $ra,0x14($sp) /* f0a2484: e46c0848 */ swc1 $f12,0x848($v1) .L0f0a2488: /* f0a2488: 8fbf0014 */ lw $ra,0x14($sp) .L0f0a248c: /* f0a248c: 27bd0030 */ addiu $sp,$sp,0x30 /* f0a2490: 03e00008 */ jr $ra /* f0a2494: 00000000 */ nop ); f32 bgun0f0a2498(f32 arg0, f32 arg1, f32 arg2, f32 arg3) { f32 a = arg0 - arg2; return func0f096a7c(a / sqrtf(a * a + (arg1 - arg3) * (arg1 - arg3))); } void bgun0f0a24f0(struct coord *arg0, s32 handnum) { struct coord b; struct coord a; bgun0f0a0c44(handnum, &a, &b); b.x *= 1000; b.y *= 1000; b.z *= 1000; arg0->x = b.x; arg0->y = b.y; arg0->z = b.z; } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a256c /* f0a256c: 3c0e800a */ lui $t6,%hi(var8009d148) /* f0a2570: 8dced148 */ lw $t6,%lo(var8009d148)($t6) /* f0a2574: 27bdff48 */ addiu $sp,$sp,-184 /* f0a2578: afb00018 */ sw $s0,0x18($sp) /* f0a257c: 00a08025 */ or $s0,$a1,$zero /* f0a2580: afbf001c */ sw $ra,0x1c($sp) /* f0a2584: 148e0053 */ bne $a0,$t6,.L0f0a26d4 /* f0a2588: 00803825 */ or $a3,$a0,$zero /* f0a258c: 3c02800a */ lui $v0,%hi(var8009d144) /* f0a2590: 2442d144 */ addiu $v0,$v0,%lo(var8009d144) /* f0a2594: 8c430000 */ lw $v1,0x0($v0) /* f0a2598: 24010001 */ addiu $at,$zero,0x1 /* f0a259c: 946406d6 */ lhu $a0,0x6d6($v1) /* f0a25a0: 00047b02 */ srl $t7,$a0,0xc /* f0a25a4: 15e10025 */ bne $t7,$at,.L0f0a263c /* f0a25a8: 01e02025 */ or $a0,$t7,$zero /* f0a25ac: c4a40030 */ lwc1 $f4,0x30($a1) /* f0a25b0: e46406dc */ swc1 $f4,0x6dc($v1) /* f0a25b4: 8c580000 */ lw $t8,0x0($v0) /* f0a25b8: c4a60034 */ lwc1 $f6,0x34($a1) /* f0a25bc: e70606e0 */ swc1 $f6,0x6e0($t8) /* f0a25c0: 8c590000 */ lw $t9,0x0($v0) /* f0a25c4: c4a80038 */ lwc1 $f8,0x38($a1) /* f0a25c8: e72806e4 */ swc1 $f8,0x6e4($t9) /* f0a25cc: 8c480000 */ lw $t0,0x0($v0) /* f0a25d0: c4aa0000 */ lwc1 $f10,0x0($a1) /* f0a25d4: e50a06f4 */ swc1 $f10,0x6f4($t0) /* f0a25d8: 8c490000 */ lw $t1,0x0($v0) /* f0a25dc: c4b00004 */ lwc1 $f16,0x4($a1) /* f0a25e0: e53006f8 */ swc1 $f16,0x6f8($t1) /* f0a25e4: 8c4a0000 */ lw $t2,0x0($v0) /* f0a25e8: c4b20008 */ lwc1 $f18,0x8($a1) /* f0a25ec: e55206fc */ swc1 $f18,0x6fc($t2) /* f0a25f0: 8c4b0000 */ lw $t3,0x0($v0) /* f0a25f4: c4a40010 */ lwc1 $f4,0x10($a1) /* f0a25f8: e5640700 */ swc1 $f4,0x700($t3) /* f0a25fc: 8c4c0000 */ lw $t4,0x0($v0) /* f0a2600: c4a60014 */ lwc1 $f6,0x14($a1) /* f0a2604: e5860704 */ swc1 $f6,0x704($t4) /* f0a2608: 8c4d0000 */ lw $t5,0x0($v0) /* f0a260c: c4a80018 */ lwc1 $f8,0x18($a1) /* f0a2610: e5a80708 */ swc1 $f8,0x708($t5) /* f0a2614: 8c4e0000 */ lw $t6,0x0($v0) /* f0a2618: c4aa0020 */ lwc1 $f10,0x20($a1) /* f0a261c: e5ca070c */ swc1 $f10,0x70c($t6) /* f0a2620: 8c4f0000 */ lw $t7,0x0($v0) /* f0a2624: c4b00024 */ lwc1 $f16,0x24($a1) /* f0a2628: e5f00710 */ swc1 $f16,0x710($t7) /* f0a262c: 8c580000 */ lw $t8,0x0($v0) /* f0a2630: c4b20028 */ lwc1 $f18,0x28($a1) /* f0a2634: 10000027 */ b .L0f0a26d4 /* f0a2638: e7120714 */ swc1 $f18,0x714($t8) .L0f0a263c: /* f0a263c: 28810002 */ slti $at,$a0,0x2 /* f0a2640: 14200024 */ bnez $at,.L0f0a26d4 /* f0a2644: 00000000 */ nop /* f0a2648: c46406dc */ lwc1 $f4,0x6dc($v1) /* f0a264c: e6040030 */ swc1 $f4,0x30($s0) /* f0a2650: 8c590000 */ lw $t9,0x0($v0) /* f0a2654: c72606e0 */ lwc1 $f6,0x6e0($t9) /* f0a2658: e6060034 */ swc1 $f6,0x34($s0) /* f0a265c: 8c480000 */ lw $t0,0x0($v0) /* f0a2660: c50806e4 */ lwc1 $f8,0x6e4($t0) /* f0a2664: e6080038 */ swc1 $f8,0x38($s0) /* f0a2668: 8c490000 */ lw $t1,0x0($v0) /* f0a266c: c52a06f4 */ lwc1 $f10,0x6f4($t1) /* f0a2670: e60a0000 */ swc1 $f10,0x0($s0) /* f0a2674: 8c4a0000 */ lw $t2,0x0($v0) /* f0a2678: c55006f8 */ lwc1 $f16,0x6f8($t2) /* f0a267c: e6100004 */ swc1 $f16,0x4($s0) /* f0a2680: 8c4b0000 */ lw $t3,0x0($v0) /* f0a2684: c57206fc */ lwc1 $f18,0x6fc($t3) /* f0a2688: e6120008 */ swc1 $f18,0x8($s0) /* f0a268c: 8c4c0000 */ lw $t4,0x0($v0) /* f0a2690: c5840700 */ lwc1 $f4,0x700($t4) /* f0a2694: e6040010 */ swc1 $f4,0x10($s0) /* f0a2698: 8c4d0000 */ lw $t5,0x0($v0) /* f0a269c: c5a60704 */ lwc1 $f6,0x704($t5) /* f0a26a0: e6060014 */ swc1 $f6,0x14($s0) /* f0a26a4: 8c4e0000 */ lw $t6,0x0($v0) /* f0a26a8: c5c80708 */ lwc1 $f8,0x708($t6) /* f0a26ac: e6080018 */ swc1 $f8,0x18($s0) /* f0a26b0: 8c4f0000 */ lw $t7,0x0($v0) /* f0a26b4: c5ea070c */ lwc1 $f10,0x70c($t7) /* f0a26b8: e60a0020 */ swc1 $f10,0x20($s0) /* f0a26bc: 8c580000 */ lw $t8,0x0($v0) /* f0a26c0: c7100710 */ lwc1 $f16,0x710($t8) /* f0a26c4: e6100024 */ swc1 $f16,0x24($s0) /* f0a26c8: 8c590000 */ lw $t9,0x0($v0) /* f0a26cc: c7320714 */ lwc1 $f18,0x714($t9) /* f0a26d0: e6120028 */ swc1 $f18,0x28($s0) .L0f0a26d4: /* f0a26d4: 3c08800a */ lui $t0,%hi(var8009d0f0) /* f0a26d8: 8d08d0dc */ lw $t0,%lo(var8009d0f0)($t0) /* f0a26dc: 3c01800a */ lui $at,%hi(var8009d140) /* f0a26e0: 27a40078 */ addiu $a0,$sp,0x78 /* f0a26e4: 14e80013 */ bne $a3,$t0,.L0f0a2734 /* f0a26e8: 00000000 */ nop /* f0a26ec: 44800000 */ mtc1 $zero,$f0 /* f0a26f0: c424d140 */ lwc1 $f4,%lo(var8009d140)($at) /* f0a26f4: afa700b8 */ sw $a3,0xb8($sp) /* f0a26f8: e7a0002c */ swc1 $f0,0x2c($sp) /* f0a26fc: e7a00030 */ swc1 $f0,0x30($sp) /* f0a2700: 0c00566c */ jal func000159b0 /* f0a2704: e7a40034 */ swc1 $f4,0x34($sp) /* f0a2708: 27a4002c */ addiu $a0,$sp,0x2c /* f0a270c: 0c005923 */ jal func0001648c /* f0a2710: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2714: 02002025 */ or $a0,$s0,$zero /* f0a2718: 27a50078 */ addiu $a1,$sp,0x78 /* f0a271c: 0c005680 */ jal func00015a00 /* f0a2720: 27a60038 */ addiu $a2,$sp,0x38 /* f0a2724: 27a40038 */ addiu $a0,$sp,0x38 /* f0a2728: 0c005746 */ jal func00015d18 /* f0a272c: 02002825 */ or $a1,$s0,$zero /* f0a2730: 8fa700b8 */ lw $a3,0xb8($sp) .L0f0a2734: /* f0a2734: 3c02800a */ lui $v0,%hi(var8009d0f8) /* f0a2738: 2442d0f0 */ addiu $v0,$v0,%lo(var8009d0f8) /* f0a273c: 8c490000 */ lw $t1,0x0($v0) /* f0a2740: 3c01800a */ lui $at,%hi(var8009d140) /* f0a2744: 10e90007 */ beq $a3,$t1,.L0f0a2764 /* f0a2748: 00000000 */ nop /* f0a274c: 8c4a0004 */ lw $t2,0x4($v0) /* f0a2750: 10ea0004 */ beq $a3,$t2,.L0f0a2764 /* f0a2754: 00000000 */ nop /* f0a2758: 8c4b0008 */ lw $t3,0x8($v0) /* f0a275c: 54eb0016 */ bnel $a3,$t3,.L0f0a27b8 /* f0a2760: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a2764: /* f0a2764: c420d140 */ lwc1 $f0,%lo(var8009d140)($at) /* f0a2768: 44803000 */ mtc1 $zero,$f6 /* f0a276c: 44804000 */ mtc1 $zero,$f8 /* f0a2770: 46000007 */ neg.s $f0,$f0 /* f0a2774: 27a40078 */ addiu $a0,$sp,0x78 /* f0a2778: 46000280 */ add.s $f10,$f0,$f0 /* f0a277c: e7a6002c */ swc1 $f6,0x2c($sp) /* f0a2780: e7a80030 */ swc1 $f8,0x30($sp) /* f0a2784: 0c00566c */ jal func000159b0 /* f0a2788: e7aa0034 */ swc1 $f10,0x34($sp) /* f0a278c: 27a4002c */ addiu $a0,$sp,0x2c /* f0a2790: 0c005923 */ jal func0001648c /* f0a2794: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2798: 02002025 */ or $a0,$s0,$zero /* f0a279c: 27a50078 */ addiu $a1,$sp,0x78 /* f0a27a0: 0c005680 */ jal func00015a00 /* f0a27a4: 27a60038 */ addiu $a2,$sp,0x38 /* f0a27a8: 27a40038 */ addiu $a0,$sp,0x38 /* f0a27ac: 0c005746 */ jal func00015d18 /* f0a27b0: 02002825 */ or $a1,$s0,$zero /* f0a27b4: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a27b8: /* f0a27b8: 8fb00018 */ lw $s0,0x18($sp) /* f0a27bc: 27bd00b8 */ addiu $sp,$sp,0xb8 /* f0a27c0: 03e00008 */ jr $ra /* f0a27c4: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a256c /* f0a256c: 3c0e800a */ lui $t6,%hi(var8009d148) /* f0a2570: 8dced148 */ lw $t6,%lo(var8009d148)($t6) /* f0a2574: 27bdff48 */ addiu $sp,$sp,-184 /* f0a2578: afb00018 */ sw $s0,0x18($sp) /* f0a257c: 00a08025 */ or $s0,$a1,$zero /* f0a2580: afbf001c */ sw $ra,0x1c($sp) /* f0a2584: 148e0053 */ bne $a0,$t6,.L0f0a26d4 /* f0a2588: 00803825 */ or $a3,$a0,$zero /* f0a258c: 3c02800a */ lui $v0,%hi(var8009d144) /* f0a2590: 2442d144 */ addiu $v0,$v0,%lo(var8009d144) /* f0a2594: 8c430000 */ lw $v1,0x0($v0) /* f0a2598: 24010001 */ addiu $at,$zero,0x1 /* f0a259c: 946406d6 */ lhu $a0,0x6d6($v1) /* f0a25a0: 00047b02 */ srl $t7,$a0,0xc /* f0a25a4: 15e10025 */ bne $t7,$at,.L0f0a263c /* f0a25a8: 01e02025 */ or $a0,$t7,$zero /* f0a25ac: c4a40030 */ lwc1 $f4,0x30($a1) /* f0a25b0: e46406dc */ swc1 $f4,0x6dc($v1) /* f0a25b4: 8c580000 */ lw $t8,0x0($v0) /* f0a25b8: c4a60034 */ lwc1 $f6,0x34($a1) /* f0a25bc: e70606e0 */ swc1 $f6,0x6e0($t8) /* f0a25c0: 8c590000 */ lw $t9,0x0($v0) /* f0a25c4: c4a80038 */ lwc1 $f8,0x38($a1) /* f0a25c8: e72806e4 */ swc1 $f8,0x6e4($t9) /* f0a25cc: 8c480000 */ lw $t0,0x0($v0) /* f0a25d0: c4aa0000 */ lwc1 $f10,0x0($a1) /* f0a25d4: e50a06f4 */ swc1 $f10,0x6f4($t0) /* f0a25d8: 8c490000 */ lw $t1,0x0($v0) /* f0a25dc: c4b00004 */ lwc1 $f16,0x4($a1) /* f0a25e0: e53006f8 */ swc1 $f16,0x6f8($t1) /* f0a25e4: 8c4a0000 */ lw $t2,0x0($v0) /* f0a25e8: c4b20008 */ lwc1 $f18,0x8($a1) /* f0a25ec: e55206fc */ swc1 $f18,0x6fc($t2) /* f0a25f0: 8c4b0000 */ lw $t3,0x0($v0) /* f0a25f4: c4a40010 */ lwc1 $f4,0x10($a1) /* f0a25f8: e5640700 */ swc1 $f4,0x700($t3) /* f0a25fc: 8c4c0000 */ lw $t4,0x0($v0) /* f0a2600: c4a60014 */ lwc1 $f6,0x14($a1) /* f0a2604: e5860704 */ swc1 $f6,0x704($t4) /* f0a2608: 8c4d0000 */ lw $t5,0x0($v0) /* f0a260c: c4a80018 */ lwc1 $f8,0x18($a1) /* f0a2610: e5a80708 */ swc1 $f8,0x708($t5) /* f0a2614: 8c4e0000 */ lw $t6,0x0($v0) /* f0a2618: c4aa0020 */ lwc1 $f10,0x20($a1) /* f0a261c: e5ca070c */ swc1 $f10,0x70c($t6) /* f0a2620: 8c4f0000 */ lw $t7,0x0($v0) /* f0a2624: c4b00024 */ lwc1 $f16,0x24($a1) /* f0a2628: e5f00710 */ swc1 $f16,0x710($t7) /* f0a262c: 8c580000 */ lw $t8,0x0($v0) /* f0a2630: c4b20028 */ lwc1 $f18,0x28($a1) /* f0a2634: 10000027 */ b .L0f0a26d4 /* f0a2638: e7120714 */ swc1 $f18,0x714($t8) .L0f0a263c: /* f0a263c: 28810002 */ slti $at,$a0,0x2 /* f0a2640: 14200024 */ bnez $at,.L0f0a26d4 /* f0a2644: 00000000 */ nop /* f0a2648: c46406dc */ lwc1 $f4,0x6dc($v1) /* f0a264c: e6040030 */ swc1 $f4,0x30($s0) /* f0a2650: 8c590000 */ lw $t9,0x0($v0) /* f0a2654: c72606e0 */ lwc1 $f6,0x6e0($t9) /* f0a2658: e6060034 */ swc1 $f6,0x34($s0) /* f0a265c: 8c480000 */ lw $t0,0x0($v0) /* f0a2660: c50806e4 */ lwc1 $f8,0x6e4($t0) /* f0a2664: e6080038 */ swc1 $f8,0x38($s0) /* f0a2668: 8c490000 */ lw $t1,0x0($v0) /* f0a266c: c52a06f4 */ lwc1 $f10,0x6f4($t1) /* f0a2670: e60a0000 */ swc1 $f10,0x0($s0) /* f0a2674: 8c4a0000 */ lw $t2,0x0($v0) /* f0a2678: c55006f8 */ lwc1 $f16,0x6f8($t2) /* f0a267c: e6100004 */ swc1 $f16,0x4($s0) /* f0a2680: 8c4b0000 */ lw $t3,0x0($v0) /* f0a2684: c57206fc */ lwc1 $f18,0x6fc($t3) /* f0a2688: e6120008 */ swc1 $f18,0x8($s0) /* f0a268c: 8c4c0000 */ lw $t4,0x0($v0) /* f0a2690: c5840700 */ lwc1 $f4,0x700($t4) /* f0a2694: e6040010 */ swc1 $f4,0x10($s0) /* f0a2698: 8c4d0000 */ lw $t5,0x0($v0) /* f0a269c: c5a60704 */ lwc1 $f6,0x704($t5) /* f0a26a0: e6060014 */ swc1 $f6,0x14($s0) /* f0a26a4: 8c4e0000 */ lw $t6,0x0($v0) /* f0a26a8: c5c80708 */ lwc1 $f8,0x708($t6) /* f0a26ac: e6080018 */ swc1 $f8,0x18($s0) /* f0a26b0: 8c4f0000 */ lw $t7,0x0($v0) /* f0a26b4: c5ea070c */ lwc1 $f10,0x70c($t7) /* f0a26b8: e60a0020 */ swc1 $f10,0x20($s0) /* f0a26bc: 8c580000 */ lw $t8,0x0($v0) /* f0a26c0: c7100710 */ lwc1 $f16,0x710($t8) /* f0a26c4: e6100024 */ swc1 $f16,0x24($s0) /* f0a26c8: 8c590000 */ lw $t9,0x0($v0) /* f0a26cc: c7320714 */ lwc1 $f18,0x714($t9) /* f0a26d0: e6120028 */ swc1 $f18,0x28($s0) .L0f0a26d4: /* f0a26d4: 3c08800a */ lui $t0,%hi(var8009d0dc) /* f0a26d8: 8d08d0dc */ lw $t0,%lo(var8009d0dc)($t0) /* f0a26dc: 3c01800a */ lui $at,%hi(var8009d140) /* f0a26e0: 27a40078 */ addiu $a0,$sp,0x78 /* f0a26e4: 14e80013 */ bne $a3,$t0,.L0f0a2734 /* f0a26e8: 00000000 */ nop /* f0a26ec: 44800000 */ mtc1 $zero,$f0 /* f0a26f0: c424d140 */ lwc1 $f4,%lo(var8009d140)($at) /* f0a26f4: afa700b8 */ sw $a3,0xb8($sp) /* f0a26f8: e7a0002c */ swc1 $f0,0x2c($sp) /* f0a26fc: e7a00030 */ swc1 $f0,0x30($sp) /* f0a2700: 0c00566c */ jal func000159b0 /* f0a2704: e7a40034 */ swc1 $f4,0x34($sp) /* f0a2708: 27a4002c */ addiu $a0,$sp,0x2c /* f0a270c: 0c005923 */ jal func0001648c /* f0a2710: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2714: 02002025 */ or $a0,$s0,$zero /* f0a2718: 27a50078 */ addiu $a1,$sp,0x78 /* f0a271c: 0c005680 */ jal func00015a00 /* f0a2720: 27a60038 */ addiu $a2,$sp,0x38 /* f0a2724: 27a40038 */ addiu $a0,$sp,0x38 /* f0a2728: 0c005746 */ jal func00015d18 /* f0a272c: 02002825 */ or $a1,$s0,$zero /* f0a2730: 8fa700b8 */ lw $a3,0xb8($sp) .L0f0a2734: /* f0a2734: 3c02800a */ lui $v0,%hi(var8009d0f0) /* f0a2738: 2442d0f0 */ addiu $v0,$v0,%lo(var8009d0f0) /* f0a273c: 8c490000 */ lw $t1,0x0($v0) /* f0a2740: 3c01800a */ lui $at,%hi(var8009d140) /* f0a2744: 10e90007 */ beq $a3,$t1,.L0f0a2764 /* f0a2748: 00000000 */ nop /* f0a274c: 8c4a0004 */ lw $t2,0x4($v0) /* f0a2750: 10ea0004 */ beq $a3,$t2,.L0f0a2764 /* f0a2754: 00000000 */ nop /* f0a2758: 8c4b0008 */ lw $t3,0x8($v0) /* f0a275c: 54eb0016 */ bnel $a3,$t3,.L0f0a27b8 /* f0a2760: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a2764: /* f0a2764: c420d140 */ lwc1 $f0,%lo(var8009d140)($at) /* f0a2768: 44803000 */ mtc1 $zero,$f6 /* f0a276c: 44804000 */ mtc1 $zero,$f8 /* f0a2770: 46000007 */ neg.s $f0,$f0 /* f0a2774: 27a40078 */ addiu $a0,$sp,0x78 /* f0a2778: 46000280 */ add.s $f10,$f0,$f0 /* f0a277c: e7a6002c */ swc1 $f6,0x2c($sp) /* f0a2780: e7a80030 */ swc1 $f8,0x30($sp) /* f0a2784: 0c00566c */ jal func000159b0 /* f0a2788: e7aa0034 */ swc1 $f10,0x34($sp) /* f0a278c: 27a4002c */ addiu $a0,$sp,0x2c /* f0a2790: 0c005923 */ jal func0001648c /* f0a2794: 27a50078 */ addiu $a1,$sp,0x78 /* f0a2798: 02002025 */ or $a0,$s0,$zero /* f0a279c: 27a50078 */ addiu $a1,$sp,0x78 /* f0a27a0: 0c005680 */ jal func00015a00 /* f0a27a4: 27a60038 */ addiu $a2,$sp,0x38 /* f0a27a8: 27a40038 */ addiu $a0,$sp,0x38 /* f0a27ac: 0c005746 */ jal func00015d18 /* f0a27b0: 02002825 */ or $a1,$s0,$zero /* f0a27b4: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a27b8: /* f0a27b8: 8fb00018 */ lw $s0,0x18($sp) /* f0a27bc: 27bd00b8 */ addiu $sp,$sp,0xb8 /* f0a27c0: 03e00008 */ jr $ra /* f0a27c4: 00000000 */ nop ); #endif bool bgun0f0a27c8(void) { struct hand *hand; struct weaponfunc *func; hand = &g_Vars.currentplayer->hands[HAND_RIGHT]; func = gsetGetWeaponFunction2(&hand->gset); if (func && (func->type & 0xff) == INVENTORYFUNCTYPE_CLOSE && hand->state == HANDSTATE_ATTACK && hand->unk0ce8 != NULL && hand->animmode == HANDANIMMODE_BUSY && !bgun0f098a44(hand, 2)) { return true; } hand = &g_Vars.currentplayer->hands[HAND_LEFT]; if (hand->inuse) { func = gsetGetWeaponFunction2(&hand->gset); if (func && (func->type & 0xff) == INVENTORYFUNCTYPE_CLOSE && hand->state == HANDSTATE_ATTACK && hand->unk0ce8 != NULL && hand->animmode == HANDANIMMODE_BUSY && !bgun0f098a44(hand, 2)) { return true; } } return false; } /** * This function is the same as above but it doesn't call bgun0f098a44(). * * This function is unused. */ bool bgun0f0a28d8(void) { struct hand *hand; struct weaponfunc *func; hand = &g_Vars.currentplayer->hands[HAND_RIGHT]; func = gsetGetWeaponFunction2(&hand->gset); if (func && (func->type & 0xff) == INVENTORYFUNCTYPE_CLOSE && hand->state == HANDSTATE_ATTACK && hand->unk0ce8 != NULL && hand->animmode == HANDANIMMODE_BUSY) { return true; } hand = &g_Vars.currentplayer->hands[HAND_LEFT]; if (hand->inuse) { func = gsetGetWeaponFunction2(&hand->gset); if (func && (func->type & 0xff) == INVENTORYFUNCTYPE_CLOSE && hand->state == HANDSTATE_ATTACK && hand->unk0ce8 != NULL && hand->animmode == HANDANIMMODE_BUSY) { return true; } } return false; } void bgun0f0a29c8(void) { struct player *player = g_Vars.currentplayer; s32 i; if (player->gunctrl.weaponnum != WEAPON_NONE && player->gunctrl.switchtoweaponnum != WEAPON_NONE) { if (player->hands[HAND_LEFT].inuse) { player->hands[HAND_LEFT].unk0d0e_00 = 1; player->hands[HAND_LEFT].unk0d0e_04 = 0; } if (player->hands[HAND_RIGHT].inuse) { player->hands[HAND_RIGHT].unk0d0e_00 = 1; player->hands[HAND_RIGHT].unk0d0e_04 = 0; } for (i = 0; i < 2; i++) { player->hands[i].matmot1 = 0; player->hands[i].matmot2 = 0; player->hands[i].matmot3 = 0; bgunSetState(i, 0); } bgunEquipWeapon2(1, WEAPON_NONE); bgunEquipWeapon2(0, WEAPON_NONE); } } #if VERSION >= VERSION_NTSC_1_0 bool bgunIsMissionCritical(s32 weaponnum) { if (weaponnum == WEAPON_TIMEDMINE || weaponnum == WEAPON_REMOTEMINE || weaponnum == WEAPON_ECMMINE || weaponnum == WEAPON_TRACERBUG) { return true; } return false; } #endif void bgunLoseGun(struct prop *attackerprop) { struct player *player = g_Vars.currentplayer; s32 weaponnum = player->hands[0].gset.weaponnum; struct chrdata *chr; s32 modelnum; s32 i; bool drop; if (!weaponHasFlag(weaponnum, WEAPONFLAG_08000000) && weaponnum <= WEAPON_RCP45) { #if VERSION >= VERSION_NTSC_1_0 // Coop must not allow player to drop a mission critical weapon // because AI lists can fail the mission if the player has zero // quantity. if (g_Vars.coopplayernum >= 0 && (attackerprop == g_Vars.bond->prop || attackerprop == g_Vars.coop->prop) && bgunIsMissionCritical(weaponnum)) { return; } #endif if (weaponnum <= WEAPON_UNARMED || player->gunctrl.switchtoweaponnum != -1) { return; } chr = player->prop->chr; drop = true; // RC-P120 and cloaking device: turn off cloak if active if (weaponnum == WEAPON_RCP120) { g_Vars.currentplayer->devicesactive &= ~DEVICE_CLOAKRCP120; } if (weaponnum == WEAPON_CLOAKINGDEVICE) { g_Vars.currentplayer->devicesactive &= ~DEVICE_CLOAKDEVICE; } // Grenade and nbomb: if pin is pulled, throw it? // Or drop it at player's feet with the pin pulled maybe... if (weaponnum == WEAPON_GRENADE || weaponnum == WEAPON_NBOMB) { for (i = 0; i < 2; i++) { struct weaponfunc *func = gsetGetWeaponFunction(&player->hands[i].gset); if ((func->type & 0xff) == INVENTORYFUNCTYPE_THROW && player->hands[i].state == HANDSTATE_ATTACK && player->hands[i].stateminor == 0) { drop = false; bgunCreateThrownProjectile(i + 2, &player->hands[i].gset); } } } chrSetWeaponReapable(chr, HAND_RIGHT); chrSetWeaponReapable(chr, HAND_LEFT); // Actually drop the weapon modelnum = weaponGetModel(weaponnum); if (modelnum >= 0 && drop) { struct prop *prop2 = weaponCreateForChr(chr, modelnum, weaponnum, 0x20000000, 0, 0); if (prop2 && prop2->obj) { struct defaultobj *obj = prop2->obj; propobjSetDropped(prop2, DROPREASON_1); if (obj->hidden & OBJHFLAG_AIRBORNE) { obj->projectile->unk0b4 = PALDOWN(240); obj->projectile->unk108 = attackerprop; } func0f08307c(prop2, true); } } invRemoveItemByNum(weaponnum); player->hands[1].state = HANDSTATE_IDLE; player->hands[1].unk0d0e_00 = 1; player->hands[1].unk0d0e_04 = 0; player->hands[0].unk0d0e_00 = 1; player->hands[0].unk0d0e_04 = 0; player->hands[0].state = HANDSTATE_IDLE; // Exit slayer rocket mode if player was using it if (player->visionmode == VISIONMODE_SLAYERROCKET) { struct weaponobj *rocket = g_Vars.currentplayer->slayerrocket; if (rocket && rocket->base.prop) { rocket->timer240 = 0; } player->visionmode = VISIONMODE_NORMAL; } bgunEquipWeapon2(HAND_RIGHT, WEAPON_UNARMED); bgunEquipWeapon2(HAND_LEFT, WEAPON_NONE); } } GLOBAL_ASM( glabel bgun0f0a2da8 .late_rodata glabel var7f1ac76c .word bgun0f0a2da8+0x38 # f0a2de0 glabel var7f1ac770 .word bgun0f0a2da8+0x58 # f0a2e00 glabel var7f1ac774 .word bgun0f0a2da8+0x78 # f0a2e20 glabel var7f1ac778 .word bgun0f0a2da8+0x90 # f0a2e38 glabel var7f1ac77c .word bgun0f0a2da8+0xa4 # f0a2e4c glabel var7f1ac780 .word bgun0f0a2da8+0xb8 # f0a2e60 .text /* f0a2da8: 10800038 */ beqz $a0,.L0f0a2e8c /* f0a2dac: 00000000 */ nop /* f0a2db0: 8c820000 */ lw $v0,0x0($a0) /* f0a2db4: 24060006 */ addiu $a2,$zero,0x6 /* f0a2db8: 24070001 */ addiu $a3,$zero,0x1 /* f0a2dbc: 10c20033 */ beq $a2,$v0,.L0f0a2e8c /* f0a2dc0: 2c410006 */ sltiu $at,$v0,0x6 .L0f0a2dc4: /* f0a2dc4: 1020002f */ beqz $at,.L0f0a2e84 /* f0a2dc8: 00027080 */ sll $t6,$v0,0x2 /* f0a2dcc: 3c017f1b */ lui $at,%hi(var7f1ac76c) /* f0a2dd0: 002e0821 */ addu $at,$at,$t6 /* f0a2dd4: 8c2ec76c */ lw $t6,%lo(var7f1ac76c)($at) /* f0a2dd8: 01c00008 */ jr $t6 /* f0a2ddc: 00000000 */ nop /* f0a2de0: 8c830004 */ lw $v1,0x4($a0) /* f0a2de4: 8c850008 */ lw $a1,0x8($a0) /* f0a2de8: 24840010 */ addiu $a0,$a0,0x10 /* f0a2dec: ac600000 */ sw $zero,0x0($v1) /* f0a2df0: 8c8ffffc */ lw $t7,-0x4($a0) /* f0a2df4: acaf0014 */ sw $t7,0x14($a1) /* f0a2df8: 10000022 */ b .L0f0a2e84 /* f0a2dfc: 8c820000 */ lw $v0,0x0($a0) /* f0a2e00: 8c830004 */ lw $v1,0x4($a0) /* f0a2e04: 8c850008 */ lw $a1,0x8($a0) /* f0a2e08: 24840010 */ addiu $a0,$a0,0x10 /* f0a2e0c: ac670000 */ sw $a3,0x0($v1) /* f0a2e10: 8c98fffc */ lw $t8,-0x4($a0) /* f0a2e14: acb80014 */ sw $t8,0x14($a1) /* f0a2e18: 1000001a */ b .L0f0a2e84 /* f0a2e1c: 8c820000 */ lw $v0,0x0($a0) /* f0a2e20: 8c830004 */ lw $v1,0x4($a0) /* f0a2e24: 24840008 */ addiu $a0,$a0,0x8 /* f0a2e28: ac600000 */ sw $zero,0x0($v1) /* f0a2e2c: ac600004 */ sw $zero,0x4($v1) /* f0a2e30: 10000014 */ b .L0f0a2e84 /* f0a2e34: 8c820000 */ lw $v0,0x0($a0) /* f0a2e38: 8c830004 */ lw $v1,0x4($a0) /* f0a2e3c: 24840008 */ addiu $a0,$a0,0x8 /* f0a2e40: a4600000 */ sh $zero,0x0($v1) /* f0a2e44: 1000000f */ b .L0f0a2e84 /* f0a2e48: 8c820000 */ lw $v0,0x0($a0) /* f0a2e4c: 8c830004 */ lw $v1,0x4($a0) /* f0a2e50: 24840008 */ addiu $a0,$a0,0x8 /* f0a2e54: a4600000 */ sh $zero,0x0($v1) /* f0a2e58: 1000000a */ b .L0f0a2e84 /* f0a2e5c: 8c820000 */ lw $v0,0x0($a0) /* f0a2e60: 8c830004 */ lw $v1,0x4($a0) /* f0a2e64: 8c990008 */ lw $t9,0x8($a0) /* f0a2e68: 24840014 */ addiu $a0,$a0,0x14 /* f0a2e6c: ac790000 */ sw $t9,0x0($v1) /* f0a2e70: 8c88fff8 */ lw $t0,-0x8($a0) /* f0a2e74: ac680004 */ sw $t0,0x4($v1) /* f0a2e78: 8c89fffc */ lw $t1,-0x4($a0) /* f0a2e7c: ac690008 */ sw $t1,0x8($v1) /* f0a2e80: 8c820000 */ lw $v0,0x0($a0) .L0f0a2e84: /* f0a2e84: 54c2ffcf */ bnel $a2,$v0,.L0f0a2dc4 /* f0a2e88: 2c410006 */ sltiu $at,$v0,0x6 .L0f0a2e8c: /* f0a2e8c: 03e00008 */ jr $ra /* f0a2e90: 00000000 */ nop ); GLOBAL_ASM( glabel bgun0f0a2e94 .late_rodata glabel var7f1ac784 .word bgun0f0a2e94+0x7c # f0a2f10 glabel var7f1ac788 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac78c .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac790 .word bgun0f0a2e94+0x120 # f0a2fb4 glabel var7f1ac794 .word bgun0f0a2e94+0x148 # f0a2fdc glabel var7f1ac798 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac79c .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7a0 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7a4 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7a8 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7ac .word bgun0f0a2e94+0xb8 # f0a2f4c glabel var7f1ac7b0 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7b4 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7b8 .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7bc .word bgun0f0a2e94+0x1dc # f0a3070 glabel var7f1ac7c0 .word bgun0f0a2e94+0xf4 # f0a2f88 glabel var7f1ac7c4 .word bgun0f0a2e94+0x170 # f0a3004 .text /* f0a2e94: 27bdffc0 */ addiu $sp,$sp,-64 /* f0a2e98: afb60030 */ sw $s6,0x30($sp) /* f0a2e9c: afb40028 */ sw $s4,0x28($sp) /* f0a2ea0: afb30024 */ sw $s3,0x24($sp) /* f0a2ea4: afb1001c */ sw $s1,0x1c($sp) /* f0a2ea8: afb00018 */ sw $s0,0x18($sp) /* f0a2eac: 00c08825 */ or $s1,$a2,$zero /* f0a2eb0: 0080a025 */ or $s4,$a0,$zero /* f0a2eb4: 00a0b025 */ or $s6,$a1,$zero /* f0a2eb8: afbf003c */ sw $ra,0x3c($sp) /* f0a2ebc: afbe0038 */ sw $s8,0x38($sp) /* f0a2ec0: afb70034 */ sw $s7,0x34($sp) /* f0a2ec4: afb5002c */ sw $s5,0x2c($sp) /* f0a2ec8: afb20020 */ sw $s2,0x20($sp) /* f0a2ecc: 00009825 */ or $s3,$zero,$zero /* f0a2ed0: 10a0007d */ beqz $a1,.L0f0a30c8 /* f0a2ed4: 00a08025 */ or $s0,$a1,$zero /* f0a2ed8: 241e0005 */ addiu $s8,$zero,0x5 /* f0a2edc: 2417000c */ addiu $s7,$zero,0xc /* f0a2ee0: 24150001 */ addiu $s5,$zero,0x1 /* f0a2ee4: 96020000 */ lhu $v0,0x0($s0) .L0f0a2ee8: /* f0a2ee8: 304e00ff */ andi $t6,$v0,0xff /* f0a2eec: 25cffff8 */ addiu $t7,$t6,-8 /* f0a2ef0: 2de10011 */ sltiu $at,$t7,0x11 /* f0a2ef4: 1020005e */ beqz $at,.L0f0a3070 /* f0a2ef8: 000f7880 */ sll $t7,$t7,0x2 /* f0a2efc: 3c017f1b */ lui $at,%hi(var7f1ac784) /* f0a2f00: 002f0821 */ addu $at,$at,$t7 /* f0a2f04: 8c2fc784 */ lw $t7,%lo(var7f1ac784)($at) /* f0a2f08: 01e00008 */ jr $t7 /* f0a2f0c: 00000000 */ nop /* f0a2f10: 8e120004 */ lw $s2,0x4($s0) /* f0a2f14: 02802025 */ or $a0,$s4,$zero /* f0a2f18: 0c006a87 */ jal modelGetNodeRwData /* f0a2f1c: 02002825 */ or $a1,$s0,$zero /* f0a2f20: ac400000 */ sw $zero,0x0($v0) /* f0a2f24: 8e580008 */ lw $t8,0x8($s2) /* f0a2f28: 26310010 */ addiu $s1,$s1,0x10 /* f0a2f2c: 26730010 */ addiu $s3,$s3,0x10 /* f0a2f30: ae180014 */ sw $t8,0x14($s0) /* f0a2f34: ae20fff0 */ sw $zero,-0x10($s1) /* f0a2f38: ae22fff4 */ sw $v0,-0xc($s1) /* f0a2f3c: ae30fff8 */ sw $s0,-0x8($s1) /* f0a2f40: 8e590008 */ lw $t9,0x8($s2) /* f0a2f44: 1000004a */ b .L0f0a3070 /* f0a2f48: ae39fffc */ sw $t9,-0x4($s1) /* f0a2f4c: 8e120004 */ lw $s2,0x4($s0) /* f0a2f50: 02802025 */ or $a0,$s4,$zero /* f0a2f54: 0c006a87 */ jal modelGetNodeRwData /* f0a2f58: 02002825 */ or $a1,$s0,$zero /* f0a2f5c: ac550000 */ sw $s5,0x0($v0) /* f0a2f60: 8e480000 */ lw $t0,0x0($s2) /* f0a2f64: 26310010 */ addiu $s1,$s1,0x10 /* f0a2f68: 26730010 */ addiu $s3,$s3,0x10 /* f0a2f6c: ae080014 */ sw $t0,0x14($s0) /* f0a2f70: ae35fff0 */ sw $s5,-0x10($s1) /* f0a2f74: ae22fff4 */ sw $v0,-0xc($s1) /* f0a2f78: ae30fff8 */ sw $s0,-0x8($s1) /* f0a2f7c: 8e490000 */ lw $t1,0x0($s2) /* f0a2f80: 1000003b */ b .L0f0a3070 /* f0a2f84: ae29fffc */ sw $t1,-0x4($s1) /* f0a2f88: 02802025 */ or $a0,$s4,$zero /* f0a2f8c: 0c006a87 */ jal modelGetNodeRwData /* f0a2f90: 02002825 */ or $a1,$s0,$zero /* f0a2f94: ac400000 */ sw $zero,0x0($v0) /* f0a2f98: ac400004 */ sw $zero,0x4($v0) /* f0a2f9c: 240a0002 */ addiu $t2,$zero,0x2 /* f0a2fa0: ae2a0000 */ sw $t2,0x0($s1) /* f0a2fa4: ae220004 */ sw $v0,0x4($s1) /* f0a2fa8: 26310008 */ addiu $s1,$s1,0x8 /* f0a2fac: 10000030 */ b .L0f0a3070 /* f0a2fb0: 26730008 */ addiu $s3,$s3,0x8 /* f0a2fb4: 02802025 */ or $a0,$s4,$zero /* f0a2fb8: 0c006a87 */ jal modelGetNodeRwData /* f0a2fbc: 02002825 */ or $a1,$s0,$zero /* f0a2fc0: a4400000 */ sh $zero,0x0($v0) /* f0a2fc4: 240b0003 */ addiu $t3,$zero,0x3 /* f0a2fc8: ae2b0000 */ sw $t3,0x0($s1) /* f0a2fcc: ae220004 */ sw $v0,0x4($s1) /* f0a2fd0: 26310008 */ addiu $s1,$s1,0x8 /* f0a2fd4: 10000026 */ b .L0f0a3070 /* f0a2fd8: 26730008 */ addiu $s3,$s3,0x8 /* f0a2fdc: 02802025 */ or $a0,$s4,$zero /* f0a2fe0: 0c006a87 */ jal modelGetNodeRwData /* f0a2fe4: 02002825 */ or $a1,$s0,$zero /* f0a2fe8: a4400000 */ sh $zero,0x0($v0) /* f0a2fec: 240c0004 */ addiu $t4,$zero,0x4 /* f0a2ff0: ae2c0000 */ sw $t4,0x0($s1) /* f0a2ff4: ae220004 */ sw $v0,0x4($s1) /* f0a2ff8: 26310008 */ addiu $s1,$s1,0x8 /* f0a2ffc: 1000001c */ b .L0f0a3070 /* f0a3000: 26730008 */ addiu $s3,$s3,0x8 /* f0a3004: 8e120004 */ lw $s2,0x4($s0) /* f0a3008: 02802025 */ or $a0,$s4,$zero /* f0a300c: 0c006a87 */ jal modelGetNodeRwData /* f0a3010: 02002825 */ or $a1,$s0,$zero /* f0a3014: 8e4d000c */ lw $t5,0xc($s2) /* f0a3018: 26310014 */ addiu $s1,$s1,0x14 /* f0a301c: 26730014 */ addiu $s3,$s3,0x14 /* f0a3020: ac4d0000 */ sw $t5,0x0($v0) /* f0a3024: 8e4e0000 */ lw $t6,0x0($s2) /* f0a3028: ac4e0004 */ sw $t6,0x4($v0) /* f0a302c: 86580010 */ lh $t8,0x10($s2) /* f0a3030: 8e4f000c */ lw $t7,0xc($s2) /* f0a3034: 03170019 */ multu $t8,$s7 /* f0a3038: 0000c812 */ mflo $t9 /* f0a303c: 01f94021 */ addu $t0,$t7,$t9 /* f0a3040: 25090007 */ addiu $t1,$t0,0x7 /* f0a3044: 352a0007 */ ori $t2,$t1,0x7 /* f0a3048: 394b0007 */ xori $t3,$t2,0x7 /* f0a304c: ac4b0008 */ sw $t3,0x8($v0) /* f0a3050: ae3effec */ sw $s8,-0x14($s1) /* f0a3054: ae22fff0 */ sw $v0,-0x10($s1) /* f0a3058: 8c4c0000 */ lw $t4,0x0($v0) /* f0a305c: ae2cfff4 */ sw $t4,-0xc($s1) /* f0a3060: 8c4d0004 */ lw $t5,0x4($v0) /* f0a3064: ae2dfff8 */ sw $t5,-0x8($s1) /* f0a3068: 8c4e0008 */ lw $t6,0x8($v0) /* f0a306c: ae2efffc */ sw $t6,-0x4($s1) .L0f0a3070: /* f0a3070: 8e020014 */ lw $v0,0x14($s0) /* f0a3074: 10400003 */ beqz $v0,.L0f0a3084 /* f0a3078: 00000000 */ nop /* f0a307c: 10000010 */ b .L0f0a30c0 /* f0a3080: 00408025 */ or $s0,$v0,$zero .L0f0a3084: /* f0a3084: 1200000e */ beqz $s0,.L0f0a30c0 /* f0a3088: 00000000 */ nop /* f0a308c: 8ec30008 */ lw $v1,0x8($s6) .L0f0a3090: /* f0a3090: 56030004 */ bnel $s0,$v1,.L0f0a30a4 /* f0a3094: 8e02000c */ lw $v0,0xc($s0) /* f0a3098: 10000009 */ b .L0f0a30c0 /* f0a309c: 00008025 */ or $s0,$zero,$zero /* f0a30a0: 8e02000c */ lw $v0,0xc($s0) .L0f0a30a4: /* f0a30a4: 50400004 */ beqzl $v0,.L0f0a30b8 /* f0a30a8: 8e100008 */ lw $s0,0x8($s0) /* f0a30ac: 10000004 */ b .L0f0a30c0 /* f0a30b0: 00408025 */ or $s0,$v0,$zero /* f0a30b4: 8e100008 */ lw $s0,0x8($s0) .L0f0a30b8: /* f0a30b8: 1600fff5 */ bnez $s0,.L0f0a3090 /* f0a30bc: 00000000 */ nop .L0f0a30c0: /* f0a30c0: 5600ff89 */ bnezl $s0,.L0f0a2ee8 /* f0a30c4: 96020000 */ lhu $v0,0x0($s0) .L0f0a30c8: /* f0a30c8: 24180006 */ addiu $t8,$zero,0x6 /* f0a30cc: ae380000 */ sw $t8,0x0($s1) /* f0a30d0: 8fbf003c */ lw $ra,0x3c($sp) /* f0a30d4: 26620004 */ addiu $v0,$s3,0x4 /* f0a30d8: 8fb30024 */ lw $s3,0x24($sp) /* f0a30dc: 8fbe0038 */ lw $s8,0x38($sp) /* f0a30e0: 8fb70034 */ lw $s7,0x34($sp) /* f0a30e4: 8fb60030 */ lw $s6,0x30($sp) /* f0a30e8: 8fb5002c */ lw $s5,0x2c($sp) /* f0a30ec: 8fb40028 */ lw $s4,0x28($sp) /* f0a30f0: 8fb20020 */ lw $s2,0x20($sp) /* f0a30f4: 8fb1001c */ lw $s1,0x1c($sp) /* f0a30f8: 8fb00018 */ lw $s0,0x18($sp) /* f0a30fc: 03e00008 */ jr $ra /* f0a3100: 27bd0040 */ addiu $sp,$sp,0x40 ); void bgunDetonateRemoteMines(s32 playernum) { s32 prevplayernum = g_Vars.currentplayernum; setCurrentPlayerNum(playernum); if (g_Vars.currentplayer->hands[HAND_LEFT].gset.weaponnum == WEAPON_REMOTEMINE) { bgun0f0988e0(var80070200, 1, &g_Vars.currentplayer->hands[HAND_LEFT]); } setCurrentPlayerNum(prevplayernum); } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a3160 .late_rodata glabel var7f1ac7c8 .word 0x40490fdb glabel var7f1ac7cc .word 0x42853333 glabel var7f1ac7d0 .word 0x3c8efa35 .text /* f0a3160: 27bdffb8 */ addiu $sp,$sp,-72 /* f0a3164: 3c0f8007 */ lui $t7,%hi(var80070210) /* f0a3168: afbf001c */ sw $ra,0x1c($sp) /* f0a316c: afb00018 */ sw $s0,0x18($sp) /* f0a3170: afa5004c */ sw $a1,0x4c($sp) /* f0a3174: 25ef0210 */ addiu $t7,$t7,%lo(var80070210) /* f0a3178: 8de10000 */ lw $at,0x0($t7) /* f0a317c: 27ae0038 */ addiu $t6,$sp,0x38 /* f0a3180: 8de90004 */ lw $t1,0x4($t7) /* f0a3184: adc10000 */ sw $at,0x0($t6) /* f0a3188: 8de10008 */ lw $at,0x8($t7) /* f0a318c: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a3190: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a3194: adc90004 */ sw $t1,0x4($t6) /* f0a3198: adc10008 */ sw $at,0x8($t6) /* f0a319c: 8d0a0284 */ lw $t2,0x284($t0) /* f0a31a0: 00808025 */ or $s0,$a0,$zero /* f0a31a4: 8d4b1580 */ lw $t3,0x1580($t2) /* f0a31a8: 000b6ec0 */ sll $t5,$t3,0x1b /* f0a31ac: 05a30031 */ bgezl $t5,.L0f0a3274 /* f0a31b0: 8e0b068c */ lw $t3,0x68c($s0) /* f0a31b4: 50e0002f */ beqzl $a3,.L0f0a3274 /* f0a31b8: 8e0b068c */ lw $t3,0x68c($s0) /* f0a31bc: 8cf90000 */ lw $t9,0x0($a3) /* f0a31c0: 24010001 */ addiu $at,$zero,0x1 /* f0a31c4: 333800ff */ andi $t8,$t9,0xff /* f0a31c8: 5701002a */ bnel $t8,$at,.L0f0a3274 /* f0a31cc: 8e0b068c */ lw $t3,0x68c($s0) /* f0a31d0: 8c820604 */ lw $v0,0x604($a0) /* f0a31d4: 24040002 */ addiu $a0,$zero,0x2 /* f0a31d8: 50400007 */ beqzl $v0,.L0f0a31f8 /* f0a31dc: 3c013f80 */ lui $at,0x3f80 /* f0a31e0: 10820004 */ beq $a0,$v0,.L0f0a31f4 /* f0a31e4: 24010003 */ addiu $at,$zero,0x3 /* f0a31e8: 10410002 */ beq $v0,$at,.L0f0a31f4 /* f0a31ec: 24010004 */ addiu $at,$zero,0x4 /* f0a31f0: 1441001f */ bne $v0,$at,.L0f0a3270 .L0f0a31f4: /* f0a31f4: 3c013f80 */ lui $at,0x3f80 .L0f0a31f8: /* f0a31f8: 44811000 */ mtc1 $at,$f2 /* f0a31fc: c60406d0 */ lwc1 $f4,0x6d0($s0) /* f0a3200: 4602203c */ c.lt.s $f4,$f2 /* f0a3204: 00000000 */ nop /* f0a3208: 45020017 */ bc1fl .L0f0a3268 /* f0a320c: ae000744 */ sw $zero,0x744($s0) /* f0a3210: 8e0e0744 */ lw $t6,0x744($s0) /* f0a3214: 8d0f0034 */ lw $t7,0x34($t0) /* f0a3218: 01cf4821 */ addu $t1,$t6,$t7 /* f0a321c: 2921003d */ slti $at,$t1,0x33 /* f0a3220: 1420000e */ bnez $at,.L0f0a325c /* f0a3224: ae090744 */ sw $t1,0x744($s0) /* f0a3228: 3c0141f0 */ lui $at,0x41f0 /* f0a322c: 44814000 */ mtc1 $at,$f8 /* f0a3230: c5060044 */ lwc1 $f6,0x4c($t0) /* f0a3234: c61006d0 */ lwc1 $f16,0x6d0($s0) /* f0a3238: 46083283 */ div.s $f10,$f6,$f8 /* f0a323c: 460a8480 */ add.s $f18,$f16,$f10 /* f0a3240: e61206d0 */ swc1 $f18,0x6d0($s0) /* f0a3244: c60406d0 */ lwc1 $f4,0x6d0($s0) /* f0a3248: 4604103c */ c.lt.s $f2,$f4 /* f0a324c: 00000000 */ nop /* f0a3250: 45000002 */ bc1f .L0f0a325c /* f0a3254: 00000000 */ nop /* f0a3258: e60206d0 */ swc1 $f2,0x6d0($s0) .L0f0a325c: /* f0a325c: 10000049 */ b .L0f0a3384 /* f0a3260: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a3264: ae000744 */ sw $zero,0x744($s0) .L0f0a3268: /* f0a3268: 10000046 */ b .L0f0a3384 /* f0a326c: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3270: /* f0a3270: 8e0b068c */ lw $t3,0x68c($s0) .L0f0a3274: /* f0a3274: 3c0141f0 */ lui $at,0x41f0 /* f0a3278: 24040002 */ addiu $a0,$zero,0x2 /* f0a327c: 44811000 */ mtc1 $at,$f2 /* f0a3280: 148b0003 */ bne $a0,$t3,.L0f0a3290 /* f0a3284: 3c014170 */ lui $at,0x4170 /* f0a3288: 44811000 */ mtc1 $at,$f2 /* f0a328c: 00000000 */ nop .L0f0a3290: /* f0a3290: 44806000 */ mtc1 $zero,$f12 /* f0a3294: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a3298: 3c013f80 */ lui $at,0x3f80 /* f0a329c: 4600603c */ c.lt.s $f12,$f0 /* f0a32a0: 00000000 */ nop /* f0a32a4: 45020036 */ bc1fl .L0f0a3380 /* f0a32a8: ae000744 */ sw $zero,0x744($s0) /* f0a32ac: 44813000 */ mtc1 $at,$f6 /* f0a32b0: 8e0c0744 */ lw $t4,0x744($s0) /* f0a32b4: 8d0d0034 */ lw $t5,0x34($t0) /* f0a32b8: 4606003c */ c.lt.s $f0,$f6 /* f0a32bc: 00001825 */ or $v1,$zero,$zero /* f0a32c0: 018dc821 */ addu $t9,$t4,$t5 /* f0a32c4: ae190744 */ sw $t9,0x744($s0) /* f0a32c8: 45000003 */ bc1f .L0f0a32d8 /* f0a32cc: 241800f4 */ addiu $t8,$zero,0xcb /* f0a32d0: ae180744 */ sw $t8,0x744($s0) /* f0a32d4: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a32d8: /* f0a32d8: 8e0e0744 */ lw $t6,0x744($s0) /* f0a32dc: 29c10079 */ slti $at,$t6,0x65 /* f0a32e0: 54200003 */ bnezl $at,.L0f0a32f0 /* f0a32e4: 8e0f068c */ lw $t7,0x68c($s0) /* f0a32e8: 24030001 */ addiu $v1,$zero,0x1 /* f0a32ec: 8e0f068c */ lw $t7,0x68c($s0) .L0f0a32f0: /* f0a32f0: 548f000a */ bnel $a0,$t7,.L0f0a331c /* f0a32f4: 8e020604 */ lw $v0,0x604($s0) /* f0a32f8: 50e00008 */ beqzl $a3,.L0f0a331c /* f0a32fc: 8e020604 */ lw $v0,0x604($s0) /* f0a3300: 8ce90000 */ lw $t1,0x0($a3) /* f0a3304: 24010001 */ addiu $at,$zero,0x1 /* f0a3308: 312a00ff */ andi $t2,$t1,0xff /* f0a330c: 51410003 */ beql $t2,$at,.L0f0a331c /* f0a3310: 8e020604 */ lw $v0,0x604($s0) /* f0a3314: 24030001 */ addiu $v1,$zero,0x1 /* f0a3318: 8e020604 */ lw $v0,0x604($s0) .L0f0a331c: /* f0a331c: 10400008 */ beqz $v0,.L0f0a3340 /* f0a3320: 00000000 */ nop /* f0a3324: 10820006 */ beq $a0,$v0,.L0f0a3340 /* f0a3328: 24010003 */ addiu $at,$zero,0x3 /* f0a332c: 10410004 */ beq $v0,$at,.L0f0a3340 /* f0a3330: 24010004 */ addiu $at,$zero,0x4 /* f0a3334: 10410002 */ beq $v0,$at,.L0f0a3340 /* f0a3338: 00000000 */ nop /* f0a333c: 24030001 */ addiu $v1,$zero,0x1 .L0f0a3340: /* f0a3340: 50600007 */ beqzl $v1,.L0f0a3360 /* f0a3344: 460c003c */ c.lt.s $f0,$f12 /* f0a3348: c5080044 */ lwc1 $f8,0x4c($t0) /* f0a334c: 46024403 */ div.s $f16,$f8,$f2 /* f0a3350: 46100281 */ sub.s $f10,$f0,$f16 /* f0a3354: e60a06d0 */ swc1 $f10,0x6d0($s0) /* f0a3358: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a335c: 460c003c */ c.lt.s $f0,$f12 .L0f0a3360: /* f0a3360: 00000000 */ nop /* f0a3364: 45000003 */ bc1f .L0f0a3374 /* f0a3368: 00000000 */ nop /* f0a336c: e60c06d0 */ swc1 $f12,0x6d0($s0) /* f0a3370: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3374: /* f0a3374: 10000003 */ b .L0f0a3384 /* f0a3378: 00000000 */ nop /* f0a337c: ae000744 */ sw $zero,0x744($s0) .L0f0a3380: /* f0a3380: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3384: /* f0a3384: 3c017f1b */ lui $at,%hi(var7f1ac7c8) /* f0a3388: c432c7c8 */ lwc1 $f18,%lo(var7f1ac7c8)($at) /* f0a338c: afa60050 */ sw $a2,0x50($sp) /* f0a3390: 46120302 */ mul.s $f12,$f0,$f18 /* f0a3394: 0c0068f4 */ jal cosf /* f0a3398: 00000000 */ nop /* f0a339c: 3c013f00 */ lui $at,0x3f00 /* f0a33a0: 44813000 */ mtc1 $at,$f6 /* f0a33a4: 46000107 */ neg.s $f4,$f0 /* f0a33a8: 8fab004c */ lw $t3,0x4c($sp) /* f0a33ac: 46062202 */ mul.s $f8,$f4,$f6 /* f0a33b0: 44818000 */ mtc1 $at,$f16 /* f0a33b4: 8fa60050 */ lw $a2,0x50($sp) /* f0a33b8: 3c01bf80 */ lui $at,0xbf80 /* f0a33bc: 11600005 */ beqz $t3,.L0f0a33d4 /* f0a33c0: 46104300 */ add.s $f12,$f8,$f16 /* f0a33c4: 3c013f80 */ lui $at,0x3f80 /* f0a33c8: 44811000 */ mtc1 $at,$f2 /* f0a33cc: 10000003 */ b .L0f0a33dc /* f0a33d0: 00000000 */ nop .L0f0a33d4: /* f0a33d4: 44811000 */ mtc1 $at,$f2 /* f0a33d8: 00000000 */ nop .L0f0a33dc: /* f0a33dc: 3c017f1b */ lui $at,%hi(var7f1ac7cc) /* f0a33e0: c42ac7cc */ lwc1 $f10,%lo(var7f1ac7cc)($at) /* f0a33e4: 3c017f1b */ lui $at,%hi(var7f1ac7d0) /* f0a33e8: c424c7d0 */ lwc1 $f4,%lo(var7f1ac7d0)($at) /* f0a33ec: 460a6482 */ mul.s $f18,$f12,$f10 /* f0a33f0: 27a40038 */ addiu $a0,$sp,0x38 /* f0a33f4: 8fa50058 */ lw $a1,0x58($sp) /* f0a33f8: afa60050 */ sw $a2,0x50($sp) /* f0a33fc: 46049182 */ mul.s $f6,$f18,$f4 /* f0a3400: 00000000 */ nop /* f0a3404: 46061202 */ mul.s $f8,$f2,$f6 /* f0a3408: 0c005923 */ jal func0001648c /* f0a340c: e7a80040 */ swc1 $f8,0x40($sp) /* f0a3410: 8fa40058 */ lw $a0,0x58($sp) /* f0a3414: 0c0056f8 */ jal func00015be0 /* f0a3418: 8fa5005c */ lw $a1,0x5c($sp) /* f0a341c: 3c014080 */ lui $at,0x4080 /* f0a3420: 44818000 */ mtc1 $at,$f16 /* f0a3424: c60a06d0 */ lwc1 $f10,0x6d0($s0) /* f0a3428: 8fa60050 */ lw $a2,0x50($sp) /* f0a342c: 3c01bf80 */ lui $at,0xbf80 /* f0a3430: 460a8482 */ mul.s $f18,$f16,$f10 /* f0a3434: c4c40004 */ lwc1 $f4,0x4($a2) /* f0a3438: 46122180 */ add.s $f6,$f4,$f18 /* f0a343c: e4c60004 */ swc1 $f6,0x4($a2) /* f0a3440: 8fac004c */ lw $t4,0x4c($sp) /* f0a3444: 51800006 */ beqzl $t4,.L0f0a3460 /* f0a3448: 44811000 */ mtc1 $at,$f2 /* f0a344c: 3c013f80 */ lui $at,0x3f80 /* f0a3450: 44811000 */ mtc1 $at,$f2 /* f0a3454: 10000004 */ b .L0f0a3468 /* f0a3458: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a345c: 44811000 */ mtc1 $at,$f2 .L0f0a3460: /* f0a3460: 00000000 */ nop /* f0a3464: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3468: /* f0a3468: c4c80000 */ lwc1 $f8,0x0($a2) /* f0a346c: 46000400 */ add.s $f16,$f0,$f0 /* f0a3470: 46028282 */ mul.s $f10,$f16,$f2 /* f0a3474: 460a4100 */ add.s $f4,$f8,$f10 /* f0a3478: e4c40000 */ swc1 $f4,0x0($a2) /* f0a347c: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3480: 8fb00018 */ lw $s0,0x18($sp) /* f0a3484: 27bd0048 */ addiu $sp,$sp,0x48 /* f0a3488: 03e00008 */ jr $ra /* f0a348c: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a3160 .late_rodata glabel var7f1ac7c8 .word 0x40490fdb glabel var7f1ac7cc .word 0x42853333 glabel var7f1ac7d0 .word 0x3c8efa35 .text /* f0a3160: 27bdffb8 */ addiu $sp,$sp,-72 /* f0a3164: 3c0f8007 */ lui $t7,%hi(var80070210) /* f0a3168: afbf001c */ sw $ra,0x1c($sp) /* f0a316c: afb00018 */ sw $s0,0x18($sp) /* f0a3170: afa5004c */ sw $a1,0x4c($sp) /* f0a3174: 25ef0210 */ addiu $t7,$t7,%lo(var80070210) /* f0a3178: 8de10000 */ lw $at,0x0($t7) /* f0a317c: 27ae0038 */ addiu $t6,$sp,0x38 /* f0a3180: 8de90004 */ lw $t1,0x4($t7) /* f0a3184: adc10000 */ sw $at,0x0($t6) /* f0a3188: 8de10008 */ lw $at,0x8($t7) /* f0a318c: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a3190: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a3194: adc90004 */ sw $t1,0x4($t6) /* f0a3198: adc10008 */ sw $at,0x8($t6) /* f0a319c: 8d0a0284 */ lw $t2,0x284($t0) /* f0a31a0: 00808025 */ or $s0,$a0,$zero /* f0a31a4: 8d4b1580 */ lw $t3,0x1580($t2) /* f0a31a8: 000b6ec0 */ sll $t5,$t3,0x1b /* f0a31ac: 05a30031 */ bgezl $t5,.L0f0a3274 /* f0a31b0: 8e0b068c */ lw $t3,0x68c($s0) /* f0a31b4: 50e0002f */ beqzl $a3,.L0f0a3274 /* f0a31b8: 8e0b068c */ lw $t3,0x68c($s0) /* f0a31bc: 8cf90000 */ lw $t9,0x0($a3) /* f0a31c0: 24010001 */ addiu $at,$zero,0x1 /* f0a31c4: 333800ff */ andi $t8,$t9,0xff /* f0a31c8: 5701002a */ bnel $t8,$at,.L0f0a3274 /* f0a31cc: 8e0b068c */ lw $t3,0x68c($s0) /* f0a31d0: 8c820604 */ lw $v0,0x604($a0) /* f0a31d4: 24040002 */ addiu $a0,$zero,0x2 /* f0a31d8: 50400007 */ beqzl $v0,.L0f0a31f8 /* f0a31dc: 3c013f80 */ lui $at,0x3f80 /* f0a31e0: 10820004 */ beq $a0,$v0,.L0f0a31f4 /* f0a31e4: 24010003 */ addiu $at,$zero,0x3 /* f0a31e8: 10410002 */ beq $v0,$at,.L0f0a31f4 /* f0a31ec: 24010004 */ addiu $at,$zero,0x4 /* f0a31f0: 1441001f */ bne $v0,$at,.L0f0a3270 .L0f0a31f4: /* f0a31f4: 3c013f80 */ lui $at,0x3f80 .L0f0a31f8: /* f0a31f8: 44811000 */ mtc1 $at,$f2 /* f0a31fc: c60406d0 */ lwc1 $f4,0x6d0($s0) /* f0a3200: 4602203c */ c.lt.s $f4,$f2 /* f0a3204: 00000000 */ nop /* f0a3208: 45020017 */ bc1fl .L0f0a3268 /* f0a320c: ae000744 */ sw $zero,0x744($s0) /* f0a3210: 8e0e0744 */ lw $t6,0x744($s0) /* f0a3214: 8d0f0034 */ lw $t7,0x34($t0) /* f0a3218: 01cf4821 */ addu $t1,$t6,$t7 /* f0a321c: 2921003d */ slti $at,$t1,0x3d /* f0a3220: 1420000e */ bnez $at,.L0f0a325c /* f0a3224: ae090744 */ sw $t1,0x744($s0) /* f0a3228: 3c0141f0 */ lui $at,0x41f0 /* f0a322c: 44814000 */ mtc1 $at,$f8 /* f0a3230: c5060044 */ lwc1 $f6,0x44($t0) /* f0a3234: c61006d0 */ lwc1 $f16,0x6d0($s0) /* f0a3238: 46083283 */ div.s $f10,$f6,$f8 /* f0a323c: 460a8480 */ add.s $f18,$f16,$f10 /* f0a3240: e61206d0 */ swc1 $f18,0x6d0($s0) /* f0a3244: c60406d0 */ lwc1 $f4,0x6d0($s0) /* f0a3248: 4604103c */ c.lt.s $f2,$f4 /* f0a324c: 00000000 */ nop /* f0a3250: 45000002 */ bc1f .L0f0a325c /* f0a3254: 00000000 */ nop /* f0a3258: e60206d0 */ swc1 $f2,0x6d0($s0) .L0f0a325c: /* f0a325c: 10000049 */ b .L0f0a3384 /* f0a3260: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a3264: ae000744 */ sw $zero,0x744($s0) .L0f0a3268: /* f0a3268: 10000046 */ b .L0f0a3384 /* f0a326c: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3270: /* f0a3270: 8e0b068c */ lw $t3,0x68c($s0) .L0f0a3274: /* f0a3274: 3c0141f0 */ lui $at,0x41f0 /* f0a3278: 24040002 */ addiu $a0,$zero,0x2 /* f0a327c: 44811000 */ mtc1 $at,$f2 /* f0a3280: 148b0003 */ bne $a0,$t3,.L0f0a3290 /* f0a3284: 3c014170 */ lui $at,0x4170 /* f0a3288: 44811000 */ mtc1 $at,$f2 /* f0a328c: 00000000 */ nop .L0f0a3290: /* f0a3290: 44806000 */ mtc1 $zero,$f12 /* f0a3294: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a3298: 3c013f80 */ lui $at,0x3f80 /* f0a329c: 4600603c */ c.lt.s $f12,$f0 /* f0a32a0: 00000000 */ nop /* f0a32a4: 45020036 */ bc1fl .L0f0a3380 /* f0a32a8: ae000744 */ sw $zero,0x744($s0) /* f0a32ac: 44813000 */ mtc1 $at,$f6 /* f0a32b0: 8e0c0744 */ lw $t4,0x744($s0) /* f0a32b4: 8d0d0034 */ lw $t5,0x34($t0) /* f0a32b8: 4606003c */ c.lt.s $f0,$f6 /* f0a32bc: 00001825 */ or $v1,$zero,$zero /* f0a32c0: 018dc821 */ addu $t9,$t4,$t5 /* f0a32c4: ae190744 */ sw $t9,0x744($s0) /* f0a32c8: 45000003 */ bc1f .L0f0a32d8 /* f0a32cc: 241800f4 */ addiu $t8,$zero,0xf4 /* f0a32d0: ae180744 */ sw $t8,0x744($s0) /* f0a32d4: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a32d8: /* f0a32d8: 8e0e0744 */ lw $t6,0x744($s0) /* f0a32dc: 29c10079 */ slti $at,$t6,0x79 /* f0a32e0: 54200003 */ bnezl $at,.L0f0a32f0 /* f0a32e4: 8e0f068c */ lw $t7,0x68c($s0) /* f0a32e8: 24030001 */ addiu $v1,$zero,0x1 /* f0a32ec: 8e0f068c */ lw $t7,0x68c($s0) .L0f0a32f0: /* f0a32f0: 548f000a */ bnel $a0,$t7,.L0f0a331c /* f0a32f4: 8e020604 */ lw $v0,0x604($s0) /* f0a32f8: 50e00008 */ beqzl $a3,.L0f0a331c /* f0a32fc: 8e020604 */ lw $v0,0x604($s0) /* f0a3300: 8ce90000 */ lw $t1,0x0($a3) /* f0a3304: 24010001 */ addiu $at,$zero,0x1 /* f0a3308: 312a00ff */ andi $t2,$t1,0xff /* f0a330c: 51410003 */ beql $t2,$at,.L0f0a331c /* f0a3310: 8e020604 */ lw $v0,0x604($s0) /* f0a3314: 24030001 */ addiu $v1,$zero,0x1 /* f0a3318: 8e020604 */ lw $v0,0x604($s0) .L0f0a331c: /* f0a331c: 10400008 */ beqz $v0,.L0f0a3340 /* f0a3320: 00000000 */ nop /* f0a3324: 10820006 */ beq $a0,$v0,.L0f0a3340 /* f0a3328: 24010003 */ addiu $at,$zero,0x3 /* f0a332c: 10410004 */ beq $v0,$at,.L0f0a3340 /* f0a3330: 24010004 */ addiu $at,$zero,0x4 /* f0a3334: 10410002 */ beq $v0,$at,.L0f0a3340 /* f0a3338: 00000000 */ nop /* f0a333c: 24030001 */ addiu $v1,$zero,0x1 .L0f0a3340: /* f0a3340: 50600007 */ beqzl $v1,.L0f0a3360 /* f0a3344: 460c003c */ c.lt.s $f0,$f12 /* f0a3348: c5080044 */ lwc1 $f8,0x44($t0) /* f0a334c: 46024403 */ div.s $f16,$f8,$f2 /* f0a3350: 46100281 */ sub.s $f10,$f0,$f16 /* f0a3354: e60a06d0 */ swc1 $f10,0x6d0($s0) /* f0a3358: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a335c: 460c003c */ c.lt.s $f0,$f12 .L0f0a3360: /* f0a3360: 00000000 */ nop /* f0a3364: 45000003 */ bc1f .L0f0a3374 /* f0a3368: 00000000 */ nop /* f0a336c: e60c06d0 */ swc1 $f12,0x6d0($s0) /* f0a3370: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3374: /* f0a3374: 10000003 */ b .L0f0a3384 /* f0a3378: 00000000 */ nop /* f0a337c: ae000744 */ sw $zero,0x744($s0) .L0f0a3380: /* f0a3380: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3384: /* f0a3384: 3c017f1b */ lui $at,%hi(var7f1ac7c8) /* f0a3388: c432c7c8 */ lwc1 $f18,%lo(var7f1ac7c8)($at) /* f0a338c: afa60050 */ sw $a2,0x50($sp) /* f0a3390: 46120302 */ mul.s $f12,$f0,$f18 /* f0a3394: 0c0068f4 */ jal cosf /* f0a3398: 00000000 */ nop /* f0a339c: 3c013f00 */ lui $at,0x3f00 /* f0a33a0: 44813000 */ mtc1 $at,$f6 /* f0a33a4: 46000107 */ neg.s $f4,$f0 /* f0a33a8: 8fab004c */ lw $t3,0x4c($sp) /* f0a33ac: 46062202 */ mul.s $f8,$f4,$f6 /* f0a33b0: 44818000 */ mtc1 $at,$f16 /* f0a33b4: 8fa60050 */ lw $a2,0x50($sp) /* f0a33b8: 3c01bf80 */ lui $at,0xbf80 /* f0a33bc: 11600005 */ beqz $t3,.L0f0a33d4 /* f0a33c0: 46104300 */ add.s $f12,$f8,$f16 /* f0a33c4: 3c013f80 */ lui $at,0x3f80 /* f0a33c8: 44811000 */ mtc1 $at,$f2 /* f0a33cc: 10000003 */ b .L0f0a33dc /* f0a33d0: 00000000 */ nop .L0f0a33d4: /* f0a33d4: 44811000 */ mtc1 $at,$f2 /* f0a33d8: 00000000 */ nop .L0f0a33dc: /* f0a33dc: 3c017f1b */ lui $at,%hi(var7f1ac7cc) /* f0a33e0: c42ac7cc */ lwc1 $f10,%lo(var7f1ac7cc)($at) /* f0a33e4: 3c017f1b */ lui $at,%hi(var7f1ac7d0) /* f0a33e8: c424c7d0 */ lwc1 $f4,%lo(var7f1ac7d0)($at) /* f0a33ec: 460a6482 */ mul.s $f18,$f12,$f10 /* f0a33f0: 27a40038 */ addiu $a0,$sp,0x38 /* f0a33f4: 8fa50058 */ lw $a1,0x58($sp) /* f0a33f8: afa60050 */ sw $a2,0x50($sp) /* f0a33fc: 46049182 */ mul.s $f6,$f18,$f4 /* f0a3400: 00000000 */ nop /* f0a3404: 46061202 */ mul.s $f8,$f2,$f6 /* f0a3408: 0c005923 */ jal func0001648c /* f0a340c: e7a80040 */ swc1 $f8,0x40($sp) /* f0a3410: 8fa40058 */ lw $a0,0x58($sp) /* f0a3414: 0c0056f8 */ jal func00015be0 /* f0a3418: 8fa5005c */ lw $a1,0x5c($sp) /* f0a341c: 3c014080 */ lui $at,0x4080 /* f0a3420: 44818000 */ mtc1 $at,$f16 /* f0a3424: c60a06d0 */ lwc1 $f10,0x6d0($s0) /* f0a3428: 8fa60050 */ lw $a2,0x50($sp) /* f0a342c: 3c01bf80 */ lui $at,0xbf80 /* f0a3430: 460a8482 */ mul.s $f18,$f16,$f10 /* f0a3434: c4c40004 */ lwc1 $f4,0x4($a2) /* f0a3438: 46122180 */ add.s $f6,$f4,$f18 /* f0a343c: e4c60004 */ swc1 $f6,0x4($a2) /* f0a3440: 8fac004c */ lw $t4,0x4c($sp) /* f0a3444: 51800006 */ beqzl $t4,.L0f0a3460 /* f0a3448: 44811000 */ mtc1 $at,$f2 /* f0a344c: 3c013f80 */ lui $at,0x3f80 /* f0a3450: 44811000 */ mtc1 $at,$f2 /* f0a3454: 10000004 */ b .L0f0a3468 /* f0a3458: c60006d0 */ lwc1 $f0,0x6d0($s0) /* f0a345c: 44811000 */ mtc1 $at,$f2 .L0f0a3460: /* f0a3460: 00000000 */ nop /* f0a3464: c60006d0 */ lwc1 $f0,0x6d0($s0) .L0f0a3468: /* f0a3468: c4c80000 */ lwc1 $f8,0x0($a2) /* f0a346c: 46000400 */ add.s $f16,$f0,$f0 /* f0a3470: 46028282 */ mul.s $f10,$f16,$f2 /* f0a3474: 460a4100 */ add.s $f4,$f8,$f10 /* f0a3478: e4c40000 */ swc1 $f4,0x0($a2) /* f0a347c: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3480: 8fb00018 */ lw $s0,0x18($sp) /* f0a3484: 27bd0048 */ addiu $sp,$sp,0x48 /* f0a3488: 03e00008 */ jr $ra /* f0a348c: 00000000 */ nop ); #endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a3490 .late_rodata glabel var7f1ac7d4 .word 0x3f19999a glabel var7f1ac7d8 .word 0x3e4ccccd glabel var7f1ac7dc .word bgun0f0a3490+0x11c # f0a35ac glabel var7f1ac7e0 .word bgun0f0a3490+0x24c # f0a36dc glabel var7f1ac7e4 .word bgun0f0a3490+0x11c # f0a35ac glabel var7f1ac7e8 .word bgun0f0a3490+0x14c # f0a35dc glabel var7f1ac7ec .word bgun0f0a3490+0x14c # f0a35dc glabel var7f1ac7f0 .word bgun0f0a3490+0x24c # f0a36dc glabel var7f1ac7f4 .word bgun0f0a3490+0x17c # f0a360c glabel var7f1ac7f8 .word bgun0f0a3490+0x17c # f0a360c glabel var7f1ac7fc .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac800 .word bgun0f0a3490+0x1d4 # f0a3664 glabel var7f1ac804 .word bgun0f0a3490+0x24c # f0a36dc glabel var7f1ac808 .word bgun0f0a3490+0x200 # f0a3690 glabel var7f1ac80c .word bgun0f0a3490+0x1d4 # f0a3664 glabel var7f1ac810 .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac814 .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac818 .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac81c .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac820 .word bgun0f0a3490+0x234 # f0a36c4 glabel var7f1ac824 .word bgun0f0a3490+0x228 # f0a36b8 glabel var7f1ac828 .word 0x3f28f5c3 glabel var7f1ac82c .word 0x3f666666 glabel var7f1ac830 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac834 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac838 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac83c .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac840 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac844 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac848 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac84c .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac850 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac854 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac858 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac85c .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac860 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac864 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac868 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac86c .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac870 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac874 .word bgun0f0a3490+0x2ac # f0a373c glabel var7f1ac878 .word bgun0f0a3490+0x2a4 # f0a3734 .text /* f0a3490: 27bdffc8 */ addiu $sp,$sp,-56 /* f0a3494: afbf001c */ sw $ra,0x1c($sp) /* f0a3498: afb00018 */ sw $s0,0x18($sp) /* f0a349c: afa5003c */ sw $a1,0x3c($sp) /* f0a34a0: 808e0004 */ lb $t6,0x4($a0) /* f0a34a4: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a34a8: 00808025 */ or $s0,$a0,$zero /* f0a34ac: 11c00015 */ beqz $t6,.L0f0a3504 /* f0a34b0: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0a34b4: 24010008 */ addiu $at,$zero,0x8 /* f0a34b8: 10c10003 */ beq $a2,$at,.L0f0a34c8 /* f0a34bc: 24010009 */ addiu $at,$zero,0x9 /* f0a34c0: 14c1000b */ bne $a2,$at,.L0f0a34f0 /* f0a34c4: 00000000 */ nop .L0f0a34c8: /* f0a34c8: 8cef0000 */ lw $t7,0x0($a3) /* f0a34cc: 24010001 */ addiu $at,$zero,0x1 /* f0a34d0: 31f800ff */ andi $t8,$t7,0xff /* f0a34d4: 1701000b */ bne $t8,$at,.L0f0a3504 /* f0a34d8: 3c017f1b */ lui $at,%hi(var7f1ac7d4) /* f0a34dc: c426c7d4 */ lwc1 $f6,%lo(var7f1ac7d4)($at) /* f0a34e0: c6040780 */ lwc1 $f4,0x780($s0) /* f0a34e4: 46062200 */ add.s $f8,$f4,$f6 /* f0a34e8: 10000006 */ b .L0f0a3504 /* f0a34ec: e6080780 */ swc1 $f8,0x780($s0) .L0f0a34f0: /* f0a34f0: 3c017f1b */ lui $at,%hi(var7f1ac7d8) /* f0a34f4: c430c7d8 */ lwc1 $f16,%lo(var7f1ac7d8)($at) /* f0a34f8: c60a0780 */ lwc1 $f10,0x780($s0) /* f0a34fc: 46105480 */ add.s $f18,$f10,$f16 /* f0a3500: e6120780 */ swc1 $f18,0x780($s0) .L0f0a3504: /* f0a3504: 3c0142f0 */ lui $at,0x42f0 /* f0a3508: 44813000 */ mtc1 $at,$f6 /* f0a350c: c4640044 */ lwc1 $f4,0x4c($v1) /* f0a3510: c60a0780 */ lwc1 $f10,0x780($s0) /* f0a3514: 44801000 */ mtc1 $zero,$f2 /* f0a3518: 46062203 */ div.s $f8,$f4,$f6 /* f0a351c: 46085401 */ sub.s $f16,$f10,$f8 /* f0a3520: e6100780 */ swc1 $f16,0x780($s0) /* f0a3524: c6120780 */ lwc1 $f18,0x780($s0) /* f0a3528: 4602903c */ c.lt.s $f18,$f2 /* f0a352c: 00000000 */ nop /* f0a3530: 45000002 */ bc1f .L0f0a353c /* f0a3534: 00000000 */ nop /* f0a3538: e6020780 */ swc1 $f2,0x780($s0) .L0f0a353c: /* f0a353c: 50e00068 */ beqzl $a3,.L0f0a36e0 /* f0a3540: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a3544: 8cf90000 */ lw $t9,0x0($a3) /* f0a3548: 24010001 */ addiu $at,$zero,0x1 /* f0a354c: 332800ff */ andi $t0,$t9,0xff /* f0a3550: 55010063 */ bnel $t0,$at,.L0f0a36e0 /* f0a3554: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a3558: 8c690284 */ lw $t1,0x284($v1) /* f0a355c: 3c013f80 */ lui $at,0x3f80 /* f0a3560: 44810000 */ mtc1 $at,$f0 /* f0a3564: 812a0de4 */ lb $t2,0xde4($t1) /* f0a3568: 3c013fc0 */ lui $at,0x3fc0 /* f0a356c: 51400004 */ beqzl $t2,.L0f0a3580 /* f0a3570: 920b06d7 */ lbu $t3,0x6d7($s0) /* f0a3574: 44810000 */ mtc1 $at,$f0 /* f0a3578: 00000000 */ nop /* f0a357c: 920b06d7 */ lbu $t3,0x6d7($s0) .L0f0a3580: /* f0a3580: 24cdfffe */ addiu $t5,$a2,-2 /* f0a3584: 2da10013 */ sltiu $at,$t5,0x13 /* f0a3588: 316cffbf */ andi $t4,$t3,0xffbf /* f0a358c: 10200053 */ beqz $at,.L0f0a36dc /* f0a3590: a20c06d7 */ sb $t4,0x6d7($s0) /* f0a3594: 000d6880 */ sll $t5,$t5,0x2 /* f0a3598: 3c017f1b */ lui $at,%hi(var7f1ac7dc) /* f0a359c: 002d0821 */ addu $at,$at,$t5 /* f0a35a0: 8c2dc7dc */ lw $t5,%lo(var7f1ac7dc)($at) /* f0a35a4: 01a00008 */ jr $t5 /* f0a35a8: 00000000 */ nop /* f0a35ac: c6060780 */ lwc1 $f6,0x780($s0) /* f0a35b0: 3c017f1b */ lui $at,%hi(var7f1ac828) /* f0a35b4: c424c828 */ lwc1 $f4,%lo(var7f1ac828)($at) /* f0a35b8: 46003282 */ mul.s $f10,$f6,$f0 /* f0a35bc: 460a203c */ c.lt.s $f4,$f10 /* f0a35c0: 00000000 */ nop /* f0a35c4: 45020046 */ bc1fl .L0f0a36e0 /* f0a35c8: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a35cc: 920f06d7 */ lbu $t7,0x6d7($s0) /* f0a35d0: 35f80080 */ ori $t8,$t7,0x80 /* f0a35d4: 10000041 */ b .L0f0a36dc /* f0a35d8: a21806d7 */ sb $t8,0x6d7($s0) /* f0a35dc: c6100780 */ lwc1 $f16,0x780($s0) /* f0a35e0: 3c013f40 */ lui $at,0x3f40 /* f0a35e4: 44814000 */ mtc1 $at,$f8 /* f0a35e8: 46008482 */ mul.s $f18,$f16,$f0 /* f0a35ec: 4612403c */ c.lt.s $f8,$f18 /* f0a35f0: 00000000 */ nop /* f0a35f4: 4502003a */ bc1fl .L0f0a36e0 /* f0a35f8: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a35fc: 920806d7 */ lbu $t0,0x6d7($s0) /* f0a3600: 35090080 */ ori $t1,$t0,0x80 /* f0a3604: 10000035 */ b .L0f0a36dc /* f0a3608: a20906d7 */ sb $t1,0x6d7($s0) /* f0a360c: c6040780 */ lwc1 $f4,0x780($s0) /* f0a3610: 3c017f1b */ lui $at,%hi(var7f1ac82c) /* f0a3614: c426c82c */ lwc1 $f6,%lo(var7f1ac82c)($at) /* f0a3618: 46002282 */ mul.s $f10,$f4,$f0 /* f0a361c: 460a303c */ c.lt.s $f6,$f10 /* f0a3620: 00000000 */ nop /* f0a3624: 4502002e */ bc1fl .L0f0a36e0 /* f0a3628: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a362c: 920b06d7 */ lbu $t3,0x6d7($s0) /* f0a3630: 356c0080 */ ori $t4,$t3,0x80 /* f0a3634: 10000029 */ b .L0f0a36dc /* f0a3638: a20c06d7 */ sb $t4,0x6d7($s0) /* f0a363c: 920d06d7 */ lbu $t5,0x6d7($s0) /* f0a3640: 8e180558 */ lw $t8,0x558($s0) /* f0a3644: 31aeffbf */ andi $t6,$t5,0xffbf /* f0a3648: 35cf0040 */ ori $t7,$t6,0x40 /* f0a364c: 2b01000f */ slti $at,$t8,0xf /* f0a3650: 14200022 */ bnez $at,.L0f0a36dc /* f0a3654: a20f06d7 */ sb $t7,0x6d7($s0) /* f0a3658: 35e90080 */ ori $t1,$t7,0x80 /* f0a365c: 1000001f */ b .L0f0a36dc /* f0a3660: a20906d7 */ sb $t1,0x6d7($s0) /* f0a3664: 8e0a0558 */ lw $t2,0x558($s0) /* f0a3668: 29410015 */ slti $at,$t2,0x15 /* f0a366c: 54200005 */ bnezl $at,.L0f0a3684 /* f0a3670: 920f06d7 */ lbu $t7,0x6d7($s0) /* f0a3674: 920c06d7 */ lbu $t4,0x6d7($s0) /* f0a3678: 358d0080 */ ori $t5,$t4,0x80 /* f0a367c: a20d06d7 */ sb $t5,0x6d7($s0) /* f0a3680: 920f06d7 */ lbu $t7,0x6d7($s0) .L0f0a3684: /* f0a3684: 35f80040 */ ori $t8,$t7,0x40 /* f0a3688: 10000014 */ b .L0f0a36dc /* f0a368c: a21806d7 */ sb $t8,0x6d7($s0) /* f0a3690: 921906d7 */ lbu $t9,0x6d7($s0) /* f0a3694: 8e0a0558 */ lw $t2,0x558($s0) /* f0a3698: 3328ffbf */ andi $t0,$t9,0xffbf /* f0a369c: 35090040 */ ori $t1,$t0,0x40 /* f0a36a0: 2941001a */ slti $at,$t2,0x1a /* f0a36a4: 1420000d */ bnez $at,.L0f0a36dc /* f0a36a8: a20906d7 */ sb $t1,0x6d7($s0) /* f0a36ac: 352d0080 */ ori $t5,$t1,0x80 /* f0a36b0: 1000000a */ b .L0f0a36dc /* f0a36b4: a20d06d7 */ sb $t5,0x6d7($s0) /* f0a36b8: 920f06d7 */ lbu $t7,0x6d7($s0) /* f0a36bc: 35f80040 */ ori $t8,$t7,0x40 /* f0a36c0: a21806d7 */ sb $t8,0x6d7($s0) /* f0a36c4: 82190004 */ lb $t9,0x4($s0) /* f0a36c8: 53200005 */ beqzl $t9,.L0f0a36e0 /* f0a36cc: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a36d0: 920906d7 */ lbu $t1,0x6d7($s0) /* f0a36d4: 352a0080 */ ori $t2,$t1,0x80 /* f0a36d8: a20a06d7 */ sb $t2,0x6d7($s0) .L0f0a36dc: /* f0a36dc: 820c06d7 */ lb $t4,0x6d7($s0) .L0f0a36e0: /* f0a36e0: 24d9fffe */ addiu $t9,$a2,-2 /* f0a36e4: 0583002f */ bgezl $t4,.L0f0a37a4 /* f0a36e8: 8fbf001c */ lw $ra,0x1c($sp) /* f0a36ec: 8e0d0604 */ lw $t5,0x604($s0) /* f0a36f0: 24010004 */ addiu $at,$zero,0x4 /* f0a36f4: 55a10005 */ bnel $t5,$at,.L0f0a370c /* f0a36f8: 2f210013 */ sltiu $at,$t9,0x13 /* f0a36fc: 8e0e06d4 */ lw $t6,0x6d4($s0) /* f0a3700: 000ec640 */ sll $t8,$t6,0x19 /* f0a3704: 07010026 */ bgez $t8,.L0f0a37a0 /* f0a3708: 2f210013 */ sltiu $at,$t9,0x13 .L0f0a370c: /* f0a370c: 1020000c */ beqz $at,.L0f0a3740 /* f0a3710: 24020011 */ addiu $v0,$zero,0x11 /* f0a3714: 0019c880 */ sll $t9,$t9,0x2 /* f0a3718: 3c017f1b */ lui $at,%hi(var7f1ac830) /* f0a371c: 00390821 */ addu $at,$at,$t9 /* f0a3720: 8c39c830 */ lw $t9,%lo(var7f1ac830)($at) /* f0a3724: 03200008 */ jr $t9 /* f0a3728: 00000000 */ nop /* f0a372c: 10000004 */ b .L0f0a3740 /* f0a3730: 2402000f */ addiu $v0,$zero,0xf /* f0a3734: 10000002 */ b .L0f0a3740 /* f0a3738: 24020010 */ addiu $v0,$zero,0x10 /* f0a373c: 24020012 */ addiu $v0,$zero,0x12 .L0f0a3740: /* f0a3740: 8c680284 */ lw $t0,0x284($v1) /* f0a3744: 240affff */ addiu $t2,$zero,-1 /* f0a3748: 00023400 */ sll $a2,$v0,0x10 /* f0a374c: 8d091ba0 */ lw $t1,0x1ba0($t0) /* f0a3750: a7aa0026 */ sh $t2,0x26($sp) /* f0a3754: 00065c03 */ sra $t3,$a2,0x10 /* f0a3758: a7a90024 */ sh $t1,0x24($sp) /* f0a375c: c6100374 */ lwc1 $f16,0x374($s0) /* f0a3760: 01603025 */ or $a2,$t3,$zero /* f0a3764: 27a40028 */ addiu $a0,$sp,0x28 /* f0a3768: e7b00028 */ swc1 $f16,0x28($sp) /* f0a376c: c6080378 */ lwc1 $f8,0x378($s0) /* f0a3770: 27a50024 */ addiu $a1,$sp,0x24 /* f0a3774: e7a8002c */ swc1 $f8,0x2c($sp) /* f0a3778: c612037c */ lwc1 $f18,0x37c($s0) /* f0a377c: e7b20030 */ swc1 $f18,0x30($sp) /* f0a3780: e6020780 */ swc1 $f2,0x780($s0) /* f0a3784: 0fc4b915 */ jal func0f12e454 /* f0a3788: 8fa7003c */ lw $a3,0x3c($sp) /* f0a378c: 50400005 */ beqzl $v0,.L0f0a37a4 /* f0a3790: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3794: 920c06d7 */ lbu $t4,0x6d7($s0) /* f0a3798: 318dff7f */ andi $t5,$t4,0xff7f /* f0a379c: a20d06d7 */ sb $t5,0x6d7($s0) .L0f0a37a0: /* f0a37a0: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a37a4: /* f0a37a4: 8fb00018 */ lw $s0,0x18($sp) /* f0a37a8: 27bd0038 */ addiu $sp,$sp,0x38 /* f0a37ac: 03e00008 */ jr $ra /* f0a37b0: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a3490 .late_rodata glabel var7f1ac7d4 .word 0x3f19999a glabel var7f1ac7d8 .word 0x3e4ccccd glabel var7f1ac7dc .word bgun0f0a3490+0x11c # f0a35ac glabel var7f1ac7e0 .word bgun0f0a3490+0x24c # f0a36dc glabel var7f1ac7e4 .word bgun0f0a3490+0x11c # f0a35ac glabel var7f1ac7e8 .word bgun0f0a3490+0x14c # f0a35dc glabel var7f1ac7ec .word bgun0f0a3490+0x14c # f0a35dc glabel var7f1ac7f0 .word bgun0f0a3490+0x24c # f0a36dc glabel var7f1ac7f4 .word bgun0f0a3490+0x17c # f0a360c glabel var7f1ac7f8 .word bgun0f0a3490+0x17c # f0a360c glabel var7f1ac7fc .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac800 .word bgun0f0a3490+0x1d4 # f0a3664 glabel var7f1ac804 .word bgun0f0a3490+0x24c # f0a36dc glabel var7f1ac808 .word bgun0f0a3490+0x200 # f0a3690 glabel var7f1ac80c .word bgun0f0a3490+0x1d4 # f0a3664 glabel var7f1ac810 .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac814 .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac818 .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac81c .word bgun0f0a3490+0x1ac # f0a363c glabel var7f1ac820 .word bgun0f0a3490+0x234 # f0a36c4 glabel var7f1ac824 .word bgun0f0a3490+0x228 # f0a36b8 glabel var7f1ac828 .word 0x3f28f5c3 glabel var7f1ac82c .word 0x3f666666 glabel var7f1ac830 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac834 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac838 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac83c .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac840 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac844 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac848 .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac84c .word bgun0f0a3490+0x29c # f0a372c glabel var7f1ac850 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac854 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac858 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac85c .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac860 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac864 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac868 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac86c .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac870 .word bgun0f0a3490+0x2b0 # f0a3740 glabel var7f1ac874 .word bgun0f0a3490+0x2ac # f0a373c glabel var7f1ac878 .word bgun0f0a3490+0x2a4 # f0a3734 .text /* f0a3490: 27bdffc8 */ addiu $sp,$sp,-56 /* f0a3494: afbf001c */ sw $ra,0x1c($sp) /* f0a3498: afb00018 */ sw $s0,0x18($sp) /* f0a349c: afa5003c */ sw $a1,0x3c($sp) /* f0a34a0: 808e0004 */ lb $t6,0x4($a0) /* f0a34a4: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a34a8: 00808025 */ or $s0,$a0,$zero /* f0a34ac: 11c00015 */ beqz $t6,.L0f0a3504 /* f0a34b0: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0a34b4: 24010008 */ addiu $at,$zero,0x8 /* f0a34b8: 10c10003 */ beq $a2,$at,.L0f0a34c8 /* f0a34bc: 24010009 */ addiu $at,$zero,0x9 /* f0a34c0: 14c1000b */ bne $a2,$at,.L0f0a34f0 /* f0a34c4: 00000000 */ nop .L0f0a34c8: /* f0a34c8: 8cef0000 */ lw $t7,0x0($a3) /* f0a34cc: 24010001 */ addiu $at,$zero,0x1 /* f0a34d0: 31f800ff */ andi $t8,$t7,0xff /* f0a34d4: 1701000b */ bne $t8,$at,.L0f0a3504 /* f0a34d8: 3c017f1b */ lui $at,%hi(var7f1ac7d4) /* f0a34dc: c426c7d4 */ lwc1 $f6,%lo(var7f1ac7d4)($at) /* f0a34e0: c6040780 */ lwc1 $f4,0x780($s0) /* f0a34e4: 46062200 */ add.s $f8,$f4,$f6 /* f0a34e8: 10000006 */ b .L0f0a3504 /* f0a34ec: e6080780 */ swc1 $f8,0x780($s0) .L0f0a34f0: /* f0a34f0: 3c017f1b */ lui $at,%hi(var7f1ac7d8) /* f0a34f4: c430c7d8 */ lwc1 $f16,%lo(var7f1ac7d8)($at) /* f0a34f8: c60a0780 */ lwc1 $f10,0x780($s0) /* f0a34fc: 46105480 */ add.s $f18,$f10,$f16 /* f0a3500: e6120780 */ swc1 $f18,0x780($s0) .L0f0a3504: /* f0a3504: 3c0142f0 */ lui $at,0x42f0 /* f0a3508: 44813000 */ mtc1 $at,$f6 /* f0a350c: c4640044 */ lwc1 $f4,0x44($v1) /* f0a3510: c60a0780 */ lwc1 $f10,0x780($s0) /* f0a3514: 44801000 */ mtc1 $zero,$f2 /* f0a3518: 46062203 */ div.s $f8,$f4,$f6 /* f0a351c: 46085401 */ sub.s $f16,$f10,$f8 /* f0a3520: e6100780 */ swc1 $f16,0x780($s0) /* f0a3524: c6120780 */ lwc1 $f18,0x780($s0) /* f0a3528: 4602903c */ c.lt.s $f18,$f2 /* f0a352c: 00000000 */ nop /* f0a3530: 45000002 */ bc1f .L0f0a353c /* f0a3534: 00000000 */ nop /* f0a3538: e6020780 */ swc1 $f2,0x780($s0) .L0f0a353c: /* f0a353c: 50e00068 */ beqzl $a3,.L0f0a36e0 /* f0a3540: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a3544: 8cf90000 */ lw $t9,0x0($a3) /* f0a3548: 24010001 */ addiu $at,$zero,0x1 /* f0a354c: 332800ff */ andi $t0,$t9,0xff /* f0a3550: 55010063 */ bnel $t0,$at,.L0f0a36e0 /* f0a3554: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a3558: 8c690284 */ lw $t1,0x284($v1) /* f0a355c: 3c013f80 */ lui $at,0x3f80 /* f0a3560: 44810000 */ mtc1 $at,$f0 /* f0a3564: 812a0de4 */ lb $t2,0xde4($t1) /* f0a3568: 3c013fc0 */ lui $at,0x3fc0 /* f0a356c: 51400004 */ beqzl $t2,.L0f0a3580 /* f0a3570: 920b06d7 */ lbu $t3,0x6d7($s0) /* f0a3574: 44810000 */ mtc1 $at,$f0 /* f0a3578: 00000000 */ nop /* f0a357c: 920b06d7 */ lbu $t3,0x6d7($s0) .L0f0a3580: /* f0a3580: 24cdfffe */ addiu $t5,$a2,-2 /* f0a3584: 2da10013 */ sltiu $at,$t5,0x13 /* f0a3588: 316cffbf */ andi $t4,$t3,0xffbf /* f0a358c: 10200053 */ beqz $at,.L0f0a36dc /* f0a3590: a20c06d7 */ sb $t4,0x6d7($s0) /* f0a3594: 000d6880 */ sll $t5,$t5,0x2 /* f0a3598: 3c017f1b */ lui $at,%hi(var7f1ac7dc) /* f0a359c: 002d0821 */ addu $at,$at,$t5 /* f0a35a0: 8c2dc7dc */ lw $t5,%lo(var7f1ac7dc)($at) /* f0a35a4: 01a00008 */ jr $t5 /* f0a35a8: 00000000 */ nop /* f0a35ac: c6060780 */ lwc1 $f6,0x780($s0) /* f0a35b0: 3c017f1b */ lui $at,%hi(var7f1ac828) /* f0a35b4: c424c828 */ lwc1 $f4,%lo(var7f1ac828)($at) /* f0a35b8: 46003282 */ mul.s $f10,$f6,$f0 /* f0a35bc: 460a203c */ c.lt.s $f4,$f10 /* f0a35c0: 00000000 */ nop /* f0a35c4: 45020046 */ bc1fl .L0f0a36e0 /* f0a35c8: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a35cc: 920f06d7 */ lbu $t7,0x6d7($s0) /* f0a35d0: 35f80080 */ ori $t8,$t7,0x80 /* f0a35d4: 10000041 */ b .L0f0a36dc /* f0a35d8: a21806d7 */ sb $t8,0x6d7($s0) /* f0a35dc: c6100780 */ lwc1 $f16,0x780($s0) /* f0a35e0: 3c013f40 */ lui $at,0x3f40 /* f0a35e4: 44814000 */ mtc1 $at,$f8 /* f0a35e8: 46008482 */ mul.s $f18,$f16,$f0 /* f0a35ec: 4612403c */ c.lt.s $f8,$f18 /* f0a35f0: 00000000 */ nop /* f0a35f4: 4502003a */ bc1fl .L0f0a36e0 /* f0a35f8: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a35fc: 920806d7 */ lbu $t0,0x6d7($s0) /* f0a3600: 35090080 */ ori $t1,$t0,0x80 /* f0a3604: 10000035 */ b .L0f0a36dc /* f0a3608: a20906d7 */ sb $t1,0x6d7($s0) /* f0a360c: c6040780 */ lwc1 $f4,0x780($s0) /* f0a3610: 3c017f1b */ lui $at,%hi(var7f1ac82c) /* f0a3614: c426c82c */ lwc1 $f6,%lo(var7f1ac82c)($at) /* f0a3618: 46002282 */ mul.s $f10,$f4,$f0 /* f0a361c: 460a303c */ c.lt.s $f6,$f10 /* f0a3620: 00000000 */ nop /* f0a3624: 4502002e */ bc1fl .L0f0a36e0 /* f0a3628: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a362c: 920b06d7 */ lbu $t3,0x6d7($s0) /* f0a3630: 356c0080 */ ori $t4,$t3,0x80 /* f0a3634: 10000029 */ b .L0f0a36dc /* f0a3638: a20c06d7 */ sb $t4,0x6d7($s0) /* f0a363c: 920d06d7 */ lbu $t5,0x6d7($s0) /* f0a3640: 8e180558 */ lw $t8,0x558($s0) /* f0a3644: 31aeffbf */ andi $t6,$t5,0xffbf /* f0a3648: 35cf0040 */ ori $t7,$t6,0x40 /* f0a364c: 2b01000f */ slti $at,$t8,0xf /* f0a3650: 14200022 */ bnez $at,.L0f0a36dc /* f0a3654: a20f06d7 */ sb $t7,0x6d7($s0) /* f0a3658: 35e90080 */ ori $t1,$t7,0x80 /* f0a365c: 1000001f */ b .L0f0a36dc /* f0a3660: a20906d7 */ sb $t1,0x6d7($s0) /* f0a3664: 8e0a0558 */ lw $t2,0x558($s0) /* f0a3668: 29410015 */ slti $at,$t2,0x15 /* f0a366c: 54200005 */ bnezl $at,.L0f0a3684 /* f0a3670: 920f06d7 */ lbu $t7,0x6d7($s0) /* f0a3674: 920c06d7 */ lbu $t4,0x6d7($s0) /* f0a3678: 358d0080 */ ori $t5,$t4,0x80 /* f0a367c: a20d06d7 */ sb $t5,0x6d7($s0) /* f0a3680: 920f06d7 */ lbu $t7,0x6d7($s0) .L0f0a3684: /* f0a3684: 35f80040 */ ori $t8,$t7,0x40 /* f0a3688: 10000014 */ b .L0f0a36dc /* f0a368c: a21806d7 */ sb $t8,0x6d7($s0) /* f0a3690: 921906d7 */ lbu $t9,0x6d7($s0) /* f0a3694: 8e0a0558 */ lw $t2,0x558($s0) /* f0a3698: 3328ffbf */ andi $t0,$t9,0xffbf /* f0a369c: 35090040 */ ori $t1,$t0,0x40 /* f0a36a0: 2941001a */ slti $at,$t2,0x1a /* f0a36a4: 1420000d */ bnez $at,.L0f0a36dc /* f0a36a8: a20906d7 */ sb $t1,0x6d7($s0) /* f0a36ac: 352d0080 */ ori $t5,$t1,0x80 /* f0a36b0: 1000000a */ b .L0f0a36dc /* f0a36b4: a20d06d7 */ sb $t5,0x6d7($s0) /* f0a36b8: 920f06d7 */ lbu $t7,0x6d7($s0) /* f0a36bc: 35f80040 */ ori $t8,$t7,0x40 /* f0a36c0: a21806d7 */ sb $t8,0x6d7($s0) /* f0a36c4: 82190004 */ lb $t9,0x4($s0) /* f0a36c8: 53200005 */ beqzl $t9,.L0f0a36e0 /* f0a36cc: 820c06d7 */ lb $t4,0x6d7($s0) /* f0a36d0: 920906d7 */ lbu $t1,0x6d7($s0) /* f0a36d4: 352a0080 */ ori $t2,$t1,0x80 /* f0a36d8: a20a06d7 */ sb $t2,0x6d7($s0) .L0f0a36dc: /* f0a36dc: 820c06d7 */ lb $t4,0x6d7($s0) .L0f0a36e0: /* f0a36e0: 24d9fffe */ addiu $t9,$a2,-2 /* f0a36e4: 0583002f */ bgezl $t4,.L0f0a37a4 /* f0a36e8: 8fbf001c */ lw $ra,0x1c($sp) /* f0a36ec: 8e0d0604 */ lw $t5,0x604($s0) /* f0a36f0: 24010004 */ addiu $at,$zero,0x4 /* f0a36f4: 55a10005 */ bnel $t5,$at,.L0f0a370c /* f0a36f8: 2f210013 */ sltiu $at,$t9,0x13 /* f0a36fc: 8e0e06d4 */ lw $t6,0x6d4($s0) /* f0a3700: 000ec640 */ sll $t8,$t6,0x19 /* f0a3704: 07010026 */ bgez $t8,.L0f0a37a0 /* f0a3708: 2f210013 */ sltiu $at,$t9,0x13 .L0f0a370c: /* f0a370c: 1020000c */ beqz $at,.L0f0a3740 /* f0a3710: 24020011 */ addiu $v0,$zero,0x11 /* f0a3714: 0019c880 */ sll $t9,$t9,0x2 /* f0a3718: 3c017f1b */ lui $at,%hi(var7f1ac830) /* f0a371c: 00390821 */ addu $at,$at,$t9 /* f0a3720: 8c39c830 */ lw $t9,%lo(var7f1ac830)($at) /* f0a3724: 03200008 */ jr $t9 /* f0a3728: 00000000 */ nop /* f0a372c: 10000004 */ b .L0f0a3740 /* f0a3730: 2402000f */ addiu $v0,$zero,0xf /* f0a3734: 10000002 */ b .L0f0a3740 /* f0a3738: 24020010 */ addiu $v0,$zero,0x10 /* f0a373c: 24020012 */ addiu $v0,$zero,0x12 .L0f0a3740: /* f0a3740: 8c680284 */ lw $t0,0x284($v1) /* f0a3744: 240affff */ addiu $t2,$zero,-1 /* f0a3748: 00023400 */ sll $a2,$v0,0x10 /* f0a374c: 8d091ba0 */ lw $t1,0x1ba0($t0) /* f0a3750: a7aa0026 */ sh $t2,0x26($sp) /* f0a3754: 00065c03 */ sra $t3,$a2,0x10 /* f0a3758: a7a90024 */ sh $t1,0x24($sp) /* f0a375c: c6100374 */ lwc1 $f16,0x374($s0) /* f0a3760: 01603025 */ or $a2,$t3,$zero /* f0a3764: 27a40028 */ addiu $a0,$sp,0x28 /* f0a3768: e7b00028 */ swc1 $f16,0x28($sp) /* f0a376c: c6080378 */ lwc1 $f8,0x378($s0) /* f0a3770: 27a50024 */ addiu $a1,$sp,0x24 /* f0a3774: e7a8002c */ swc1 $f8,0x2c($sp) /* f0a3778: c612037c */ lwc1 $f18,0x37c($s0) /* f0a377c: e7b20030 */ swc1 $f18,0x30($sp) /* f0a3780: e6020780 */ swc1 $f2,0x780($s0) /* f0a3784: 0fc4b915 */ jal func0f12e454 /* f0a3788: 8fa7003c */ lw $a3,0x3c($sp) /* f0a378c: 50400005 */ beqzl $v0,.L0f0a37a4 /* f0a3790: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3794: 920c06d7 */ lbu $t4,0x6d7($s0) /* f0a3798: 318dff7f */ andi $t5,$t4,0xff7f /* f0a379c: a20d06d7 */ sb $t5,0x6d7($s0) .L0f0a37a0: /* f0a37a0: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a37a4: /* f0a37a4: 8fb00018 */ lw $s0,0x18($sp) /* f0a37a8: 27bd0038 */ addiu $sp,$sp,0x38 /* f0a37ac: 03e00008 */ jr $ra /* f0a37b0: 00000000 */ nop ); #endif GLOBAL_ASM( glabel bgun0f0a37b4 /* f0a37b4: 27bdff68 */ addiu $sp,$sp,-152 /* f0a37b8: afb00018 */ sw $s0,0x18($sp) /* f0a37bc: 00808025 */ or $s0,$a0,$zero /* f0a37c0: afbf001c */ sw $ra,0x1c($sp) /* f0a37c4: afa5009c */ sw $a1,0x9c($sp) /* f0a37c8: 00a02025 */ or $a0,$a1,$zero /* f0a37cc: afa600a0 */ sw $a2,0xa0($sp) /* f0a37d0: afa700a4 */ sw $a3,0xa4($sp) /* f0a37d4: 0c006a47 */ jal modelGetPart /* f0a37d8: 24050034 */ addiu $a1,$zero,0x34 /* f0a37dc: 104000ac */ beqz $v0,.L0f0a3a90 /* f0a37e0: 00402025 */ or $a0,$v0,$zero /* f0a37e4: 00002825 */ or $a1,$zero,$zero /* f0a37e8: 0c006949 */ jal func0001a524 /* f0a37ec: afa20094 */ sw $v0,0x94($sp) /* f0a37f0: 8fae00a4 */ lw $t6,0xa4($sp) /* f0a37f4: 00027980 */ sll $t7,$v0,0x6 /* f0a37f8: 01cf1821 */ addu $v1,$t6,$t7 /* f0a37fc: c4640030 */ lwc1 $f4,0x30($v1) /* f0a3800: e7a40064 */ swc1 $f4,0x64($sp) /* f0a3804: c4660034 */ lwc1 $f6,0x34($v1) /* f0a3808: e7a60068 */ swc1 $f6,0x68($sp) /* f0a380c: c4680038 */ lwc1 $f8,0x38($v1) /* f0a3810: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a3814: e7a8006c */ swc1 $f8,0x6c($sp) /* f0a3818: 00402025 */ or $a0,$v0,$zero /* f0a381c: 0c0056d9 */ jal func00015b64 /* f0a3820: 27a50064 */ addiu $a1,$sp,0x64 /* f0a3824: 8e1800b4 */ lw $t8,0xb4($s0) /* f0a3828: 3c02800a */ lui $v0,%hi(g_Vars+0x284) /* f0a382c: 3c013f80 */ lui $at,0x3f80 /* f0a3830: 17000009 */ bnez $t8,.L0f0a3858 /* f0a3834: 260402b4 */ addiu $a0,$s0,0x2b4 /* f0a3838: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) /* f0a383c: 8c481c54 */ lw $t0,0x1c54($v0) /* f0a3840: 8c5900c4 */ lw $t9,0xc4($v0) /* f0a3844: 01004827 */ nor $t1,$t0,$zero /* f0a3848: 03295024 */ and $t2,$t9,$t1 /* f0a384c: 314b0002 */ andi $t3,$t2,0x2 /* f0a3850: 51600044 */ beqzl $t3,.L0f0a3964 /* f0a3854: 8e0c068c */ lw $t4,0x68c($s0) .L0f0a3858: /* f0a3858: 44801000 */ mtc1 $zero,$f2 /* f0a385c: 44815000 */ mtc1 $at,$f10 /* f0a3860: 27a50088 */ addiu $a1,$sp,0x88 /* f0a3864: e7a20088 */ swc1 $f2,0x88($sp) /* f0a3868: e7a2008c */ swc1 $f2,0x8c($sp) /* f0a386c: 0c0056c4 */ jal func00015b10 /* f0a3870: e7aa0090 */ swc1 $f10,0x90($sp) /* f0a3874: c7b00088 */ lwc1 $f16,0x88($sp) /* f0a3878: c7b2008c */ lwc1 $f18,0x8c($sp) /* f0a387c: c7a40090 */ lwc1 $f4,0x90($sp) /* f0a3880: c7a60064 */ lwc1 $f6,0x64($sp) /* f0a3884: c7a80068 */ lwc1 $f8,0x68($sp) /* f0a3888: c7aa006c */ lwc1 $f10,0x6c($sp) /* f0a388c: e7b00048 */ swc1 $f16,0x48($sp) /* f0a3890: e7b2004c */ swc1 $f18,0x4c($sp) /* f0a3894: e7a40050 */ swc1 $f4,0x50($sp) /* f0a3898: e7a6003c */ swc1 $f6,0x3c($sp) /* f0a389c: e7a80040 */ swc1 $f8,0x40($sp) /* f0a38a0: 0fc2d5be */ jal currentPlayerGetMatrix1740 /* f0a38a4: e7aa0044 */ swc1 $f10,0x44($sp) /* f0a38a8: 00402025 */ or $a0,$v0,$zero /* f0a38ac: 27a5003c */ addiu $a1,$sp,0x3c /* f0a38b0: 0c0056da */ jal func00015b68 /* f0a38b4: 27a60054 */ addiu $a2,$sp,0x54 /* f0a38b8: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a38bc: 00000000 */ nop /* f0a38c0: 00402025 */ or $a0,$v0,$zero /* f0a38c4: 27a50048 */ addiu $a1,$sp,0x48 /* f0a38c8: 0c0056c5 */ jal func00015b14 /* f0a38cc: 27a60030 */ addiu $a2,$sp,0x30 /* f0a38d0: 3c0143fa */ lui $at,0x43fa /* f0a38d4: 44810000 */ mtc1 $at,$f0 /* f0a38d8: c7b00088 */ lwc1 $f16,0x88($sp) /* f0a38dc: c7a4008c */ lwc1 $f4,0x8c($sp) /* f0a38e0: c7a80090 */ lwc1 $f8,0x90($sp) /* f0a38e4: 46008482 */ mul.s $f18,$f16,$f0 /* f0a38e8: 00000000 */ nop /* f0a38ec: 46002182 */ mul.s $f6,$f4,$f0 /* f0a38f0: 00000000 */ nop /* f0a38f4: 46004282 */ mul.s $f10,$f8,$f0 /* f0a38f8: e7b20088 */ swc1 $f18,0x88($sp) /* f0a38fc: e7a6008c */ swc1 $f6,0x8c($sp) /* f0a3900: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a3904: e7aa0090 */ swc1 $f10,0x90($sp) /* f0a3908: 00402025 */ or $a0,$v0,$zero /* f0a390c: 0c0056c4 */ jal func00015b10 /* f0a3910: 27a50088 */ addiu $a1,$sp,0x88 /* f0a3914: c7b00088 */ lwc1 $f16,0x88($sp) /* f0a3918: c7b20064 */ lwc1 $f18,0x64($sp) /* f0a391c: c7a6008c */ lwc1 $f6,0x8c($sp) /* f0a3920: c7a80068 */ lwc1 $f8,0x68($sp) /* f0a3924: 46128100 */ add.s $f4,$f16,$f18 /* f0a3928: c7b2006c */ lwc1 $f18,0x6c($sp) /* f0a392c: c7b00090 */ lwc1 $f16,0x90($sp) /* f0a3930: 46083280 */ add.s $f10,$f6,$f8 /* f0a3934: e7a40088 */ swc1 $f4,0x88($sp) /* f0a3938: 8fa400a0 */ lw $a0,0xa0($sp) /* f0a393c: 46128100 */ add.s $f4,$f16,$f18 /* f0a3940: e7aa008c */ swc1 $f10,0x8c($sp) /* f0a3944: 24050001 */ addiu $a1,$zero,0x1 /* f0a3948: 27a60064 */ addiu $a2,$sp,0x64 /* f0a394c: e7a40090 */ swc1 $f4,0x90($sp) /* f0a3950: 0fc2c09a */ jal func0f0b0268 /* f0a3954: 27a70088 */ addiu $a3,$sp,0x88 /* f0a3958: 1000004e */ b .L0f0a3a94 /* f0a395c: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3960: 8e0c068c */ lw $t4,0x68c($s0) .L0f0a3964: /* f0a3964: 24010002 */ addiu $at,$zero,0x2 /* f0a3968: 00001825 */ or $v1,$zero,$zero /* f0a396c: 15810002 */ bne $t4,$at,.L0f0a3978 /* f0a3970: 24441660 */ addiu $a0,$v0,0x1660 /* f0a3974: 24030001 */ addiu $v1,$zero,0x1 .L0f0a3978: /* f0a3978: 10600012 */ beqz $v1,.L0f0a39c4 /* f0a397c: 27a50088 */ addiu $a1,$sp,0x88 /* f0a3980: 8fa40094 */ lw $a0,0x94($sp) /* f0a3984: 00002825 */ or $a1,$zero,$zero /* f0a3988: 0c006949 */ jal func0001a524 /* f0a398c: afa3002c */ sw $v1,0x2c($sp) /* f0a3990: 44801000 */ mtc1 $zero,$f2 /* f0a3994: 3c0143fa */ lui $at,0x43fa /* f0a3998: 44810000 */ mtc1 $at,$f0 /* f0a399c: 8fad00a4 */ lw $t5,0xa4($sp) /* f0a39a0: 00027180 */ sll $t6,$v0,0x6 /* f0a39a4: 27a50088 */ addiu $a1,$sp,0x88 /* f0a39a8: e7a20088 */ swc1 $f2,0x88($sp) /* f0a39ac: e7a2008c */ swc1 $f2,0x8c($sp) /* f0a39b0: e7a00090 */ swc1 $f0,0x90($sp) /* f0a39b4: 0c0056d9 */ jal func00015b64 /* f0a39b8: 01ae2021 */ addu $a0,$t5,$t6 /* f0a39bc: 10000011 */ b .L0f0a3a04 /* f0a39c0: 00000000 */ nop .L0f0a39c4: /* f0a39c4: 3c063f80 */ lui $a2,0x3f80 /* f0a39c8: 0fc2d30f */ jal func0f0b4c3c /* f0a39cc: afa3002c */ sw $v1,0x2c($sp) /* f0a39d0: 3c0143fa */ lui $at,0x43fa /* f0a39d4: 44810000 */ mtc1 $at,$f0 /* f0a39d8: c7a60088 */ lwc1 $f6,0x88($sp) /* f0a39dc: c7aa008c */ lwc1 $f10,0x8c($sp) /* f0a39e0: c7b20090 */ lwc1 $f18,0x90($sp) /* f0a39e4: 46003202 */ mul.s $f8,$f6,$f0 /* f0a39e8: 00000000 */ nop /* f0a39ec: 46005402 */ mul.s $f16,$f10,$f0 /* f0a39f0: 00000000 */ nop /* f0a39f4: 46009102 */ mul.s $f4,$f18,$f0 /* f0a39f8: e7a80088 */ swc1 $f8,0x88($sp) /* f0a39fc: e7b0008c */ swc1 $f16,0x8c($sp) /* f0a3a00: e7a40090 */ swc1 $f4,0x90($sp) .L0f0a3a04: /* f0a3a04: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a3a08: 00000000 */ nop /* f0a3a0c: 00402025 */ or $a0,$v0,$zero /* f0a3a10: 0c0056d9 */ jal func00015b64 /* f0a3a14: 27a50088 */ addiu $a1,$sp,0x88 /* f0a3a18: 8fa400a0 */ lw $a0,0xa0($sp) /* f0a3a1c: 24050001 */ addiu $a1,$zero,0x1 /* f0a3a20: 27a60064 */ addiu $a2,$sp,0x64 /* f0a3a24: 0fc2c09a */ jal func0f0b0268 /* f0a3a28: 27a70088 */ addiu $a3,$sp,0x88 /* f0a3a2c: 8faf00a0 */ lw $t7,0xa0($sp) /* f0a3a30: 55e00018 */ bnezl $t7,.L0f0a3a94 /* f0a3a34: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3a38: 8e1806b4 */ lw $t8,0x6b4($s0) /* f0a3a3c: 8fa8002c */ lw $t0,0x2c($sp) /* f0a3a40: 53000014 */ beqzl $t8,.L0f0a3a94 /* f0a3a44: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3a48: 55000012 */ bnezl $t0,.L0f0a3a94 /* f0a3a4c: 8fbf001c */ lw $ra,0x1c($sp) /* f0a3a50: c60606b8 */ lwc1 $f6,0x6b8($s0) /* f0a3a54: 01e02025 */ or $a0,$t7,$zero /* f0a3a58: 27a5007c */ addiu $a1,$sp,0x7c /* f0a3a5c: e7a6007c */ swc1 $f6,0x7c($sp) /* f0a3a60: c60806bc */ lwc1 $f8,0x6bc($s0) /* f0a3a64: 27a60070 */ addiu $a2,$sp,0x70 /* f0a3a68: e7a80080 */ swc1 $f8,0x80($sp) /* f0a3a6c: c60a06c0 */ lwc1 $f10,0x6c0($s0) /* f0a3a70: e7aa0084 */ swc1 $f10,0x84($sp) /* f0a3a74: c61006c4 */ lwc1 $f16,0x6c4($s0) /* f0a3a78: e7b00070 */ swc1 $f16,0x70($sp) /* f0a3a7c: c61206c8 */ lwc1 $f18,0x6c8($s0) /* f0a3a80: e7b20074 */ swc1 $f18,0x74($sp) /* f0a3a84: c60406cc */ lwc1 $f4,0x6cc($s0) /* f0a3a88: 0fc2c0d0 */ jal lasersightSetDot /* f0a3a8c: e7a40078 */ swc1 $f4,0x78($sp) .L0f0a3a90: /* f0a3a90: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a3a94: /* f0a3a94: 8fb00018 */ lw $s0,0x18($sp) /* f0a3a98: 27bd0098 */ addiu $sp,$sp,0x98 /* f0a3a9c: 03e00008 */ jr $ra /* f0a3aa0: 00000000 */ nop ); #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a3aa4 .late_rodata glabel var7f1ac87c .word 0x3c23d70a glabel var7f1ac880 .word 0x3f747ae1 glabel var7f1ac884 .word 0x47ae147b glabel var7f1ac888 .word 0x33d6bf95 glabel var7f1ac88c .word 0xbe0f5c29 glabel var7f1ac890 .word 0x3e19999a glabel var7f1ac894 .word 0x40490fdb glabel var7f1ac898 .word 0x3e4ccccd glabel var7f1ac89c .word 0x40490fdb glabel var7f1ac8a0 .word 0x3e4ccccd glabel var7f1ac8a4 .word 0x40c90fd0 glabel var7f1ac8a8 .word 0x3dcccccd glabel var7f1ac8ac .word 0x3dcccccd glabel var7f1ac8b0 .word 0x3ecccccd glabel var7f1ac8b4 .word 0x3f19999a glabel var7f1ac8b8 .word 0x46fffe00 .text /* f0a3aa4: 27bdffb8 */ addiu $sp,$sp,-72 /* f0a3aa8: afb00028 */ sw $s0,0x28($sp) /* f0a3aac: 00808025 */ or $s0,$a0,$zero /* f0a3ab0: afbf002c */ sw $ra,0x2c($sp) /* f0a3ab4: afa5004c */ sw $a1,0x4c($sp) /* f0a3ab8: 00a02025 */ or $a0,$a1,$zero /* f0a3abc: 0c006a47 */ jal modelGetPart /* f0a3ac0: 2405002c */ addiu $a1,$zero,0x2c /* f0a3ac4: afa20044 */ sw $v0,0x44($sp) /* f0a3ac8: c6000244 */ lwc1 $f0,0x244($s0) /* f0a3acc: c6020240 */ lwc1 $f2,0x240($s0) /* f0a3ad0: 3c04800a */ lui $a0,%hi(g_Vars) /* f0a3ad4: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f0a3ad8: 4602003e */ c.le.s $f0,$f2 /* f0a3adc: 3c017f1b */ lui $at,%hi(var7f1ac880) /* f0a3ae0: 45020017 */ bc1fl .L0f0a3b40 /* f0a3ae4: c4900044 */ lwc1 $f16,0x4c($a0) /* f0a3ae8: 44806000 */ mtc1 $zero,$f12 /* f0a3aec: 3c017f1b */ lui $at,%hi(var7f1ac87c) /* f0a3af0: 460c103c */ c.lt.s $f2,$f12 /* f0a3af4: 00000000 */ nop /* f0a3af8: 4500000e */ bc1f .L0f0a3b34 /* f0a3afc: 00000000 */ nop /* f0a3b00: c424c87c */ lwc1 $f4,%lo(var7f1ac87c)($at) /* f0a3b04: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f0a3b08: c426a004 */ lwc1 $f6,%lo(g_Vars+0x4c)($at) /* f0a3b0c: 46062202 */ mul.s $f8,$f4,$f6 /* f0a3b10: 46081280 */ add.s $f10,$f2,$f8 /* f0a3b14: e60a0240 */ swc1 $f10,0x240($s0) /* f0a3b18: c6020240 */ lwc1 $f2,0x240($s0) /* f0a3b1c: 4602603c */ c.lt.s $f12,$f2 /* f0a3b20: 00000000 */ nop /* f0a3b24: 45000003 */ bc1f .L0f0a3b34 /* f0a3b28: 00000000 */ nop /* f0a3b2c: e60c0240 */ swc1 $f12,0x240($s0) /* f0a3b30: c6020240 */ lwc1 $f2,0x240($s0) .L0f0a3b34: /* f0a3b34: 10000023 */ b .L0f0a3bc4 /* f0a3b38: e6020244 */ swc1 $f2,0x244($s0) /* f0a3b3c: c4900044 */ lwc1 $f16,0x4c($a0) .L0f0a3b40: /* f0a3b40: d424c880 */ ldc1 $f4,%lo(var7f1ac880)($at) /* f0a3b44: 3c017f1b */ lui $at,%hi(var7f1ac888) /* f0a3b48: 460084a1 */ cvt.d.s $f18,$f16 /* f0a3b4c: c428c888 */ lwc1 $f8,%lo(var7f1ac888)($at) /* f0a3b50: 46249182 */ mul.d $f6,$f18,$f4 /* f0a3b54: 3c017f1b */ lui $at,%hi(var7f1ac88c) /* f0a3b58: 4608103c */ c.lt.s $f2,$f8 /* f0a3b5c: 00000000 */ nop /* f0a3b60: 4500000e */ bc1f .L0f0a3b9c /* f0a3b64: 46203320 */ cvt.s.d $f12,$f6 /* f0a3b68: c42ac88c */ lwc1 $f10,%lo(var7f1ac88c)($at) /* f0a3b6c: 3c017f1b */ lui $at,%hi(var7f1ac890) /* f0a3b70: e60a0240 */ swc1 $f10,0x240($s0) /* f0a3b74: c430c890 */ lwc1 $f16,%lo(var7f1ac890)($at) /* f0a3b78: 3c014080 */ lui $at,0x4080 /* f0a3b7c: 4610003c */ c.lt.s $f0,$f16 /* f0a3b80: 00000000 */ nop /* f0a3b84: 45020006 */ bc1fl .L0f0a3ba0 /* f0a3b88: c6040240 */ lwc1 $f4,0x240($s0) /* f0a3b8c: 44819000 */ mtc1 $at,$f18 /* f0a3b90: 00000000 */ nop /* f0a3b94: 46126302 */ mul.s $f12,$f12,$f18 /* f0a3b98: 00000000 */ nop .L0f0a3b9c: /* f0a3b9c: c6040240 */ lwc1 $f4,0x240($s0) .L0f0a3ba0: /* f0a3ba0: 46040081 */ sub.s $f2,$f0,$f4 /* f0a3ba4: 4602603c */ c.lt.s $f12,$f2 /* f0a3ba8: 00000000 */ nop /* f0a3bac: 45020003 */ bc1fl .L0f0a3bbc /* f0a3bb0: 46020181 */ sub.s $f6,$f0,$f2 /* f0a3bb4: 46006086 */ mov.s $f2,$f12 /* f0a3bb8: 46020181 */ sub.s $f6,$f0,$f2 .L0f0a3bbc: /* f0a3bbc: 44806000 */ mtc1 $zero,$f12 /* f0a3bc0: e6060244 */ swc1 $f6,0x244($s0) .L0f0a3bc4: /* f0a3bc4: c6000244 */ lwc1 $f0,0x244($s0) /* f0a3bc8: 3c017f1b */ lui $at,%hi(var7f1ac894) /* f0a3bcc: 460c003c */ c.lt.s $f0,$f12 /* f0a3bd0: 00000000 */ nop /* f0a3bd4: 45000017 */ bc1f .L0f0a3c34 /* f0a3bd8: 00000000 */ nop /* f0a3bdc: c428c894 */ lwc1 $f8,%lo(var7f1ac894)($at) /* f0a3be0: 46080302 */ mul.s $f12,$f0,$f8 /* f0a3be4: 0c0068f4 */ jal cosf /* f0a3be8: 00000000 */ nop /* f0a3bec: 3c013f80 */ lui $at,0x3f80 /* f0a3bf0: 44815000 */ mtc1 $at,$f10 /* f0a3bf4: 3c013f00 */ lui $at,0x3f00 /* f0a3bf8: 44819000 */ mtc1 $at,$f18 /* f0a3bfc: 46005401 */ sub.s $f16,$f10,$f0 /* f0a3c00: 3c04800a */ lui $a0,%hi(g_Vars) /* f0a3c04: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f0a3c08: c4860044 */ lwc1 $f6,0x4c($a0) /* f0a3c0c: 46128102 */ mul.s $f4,$f16,$f18 /* f0a3c10: 3c017f1b */ lui $at,%hi(var7f1ac898) /* f0a3c14: c42ac898 */ lwc1 $f10,%lo(var7f1ac898)($at) /* f0a3c18: c612023c */ lwc1 $f18,0x23c($s0) /* f0a3c1c: 46062202 */ mul.s $f8,$f4,$f6 /* f0a3c20: 00000000 */ nop /* f0a3c24: 460a4402 */ mul.s $f16,$f8,$f10 /* f0a3c28: 46109101 */ sub.s $f4,$f18,$f16 /* f0a3c2c: 10000017 */ b .L0f0a3c8c /* f0a3c30: e604023c */ swc1 $f4,0x23c($s0) .L0f0a3c34: /* f0a3c34: 3c017f1b */ lui $at,%hi(var7f1ac89c) /* f0a3c38: c426c89c */ lwc1 $f6,%lo(var7f1ac89c)($at) /* f0a3c3c: 46060302 */ mul.s $f12,$f0,$f6 /* f0a3c40: 0c0068f4 */ jal cosf /* f0a3c44: 00000000 */ nop /* f0a3c48: 3c013f80 */ lui $at,0x3f80 /* f0a3c4c: 44814000 */ mtc1 $at,$f8 /* f0a3c50: 3c013f00 */ lui $at,0x3f00 /* f0a3c54: 44819000 */ mtc1 $at,$f18 /* f0a3c58: 46004281 */ sub.s $f10,$f8,$f0 /* f0a3c5c: 3c04800a */ lui $a0,%hi(g_Vars) /* f0a3c60: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f0a3c64: c4840044 */ lwc1 $f4,0x4c($a0) /* f0a3c68: 46125402 */ mul.s $f16,$f10,$f18 /* f0a3c6c: 3c017f1b */ lui $at,%hi(var7f1ac8a0) /* f0a3c70: c428c8a0 */ lwc1 $f8,%lo(var7f1ac8a0)($at) /* f0a3c74: c612023c */ lwc1 $f18,0x23c($s0) /* f0a3c78: 46048182 */ mul.s $f6,$f16,$f4 /* f0a3c7c: 00000000 */ nop /* f0a3c80: 46083282 */ mul.s $f10,$f6,$f8 /* f0a3c84: 46125400 */ add.s $f16,$f10,$f18 /* f0a3c88: e610023c */ swc1 $f16,0x23c($s0) .L0f0a3c8c: /* f0a3c8c: 3c017f1b */ lui $at,%hi(var7f1ac8a4) /* f0a3c90: c422c8a4 */ lwc1 $f2,%lo(var7f1ac8a4)($at) /* f0a3c94: c600023c */ lwc1 $f0,0x23c($s0) /* f0a3c98: 3c01800a */ lui $at,%hi(var8009d140) /* f0a3c9c: 46020103 */ div.s $f4,$f0,$f2 /* f0a3ca0: 4600218d */ trunc.w.s $f6,$f4 /* f0a3ca4: 44023000 */ mfc1 $v0,$f6 /* f0a3ca8: 00000000 */ nop /* f0a3cac: 44824000 */ mtc1 $v0,$f8 /* f0a3cb0: 00000000 */ nop /* f0a3cb4: 468042a0 */ cvt.s.w $f10,$f8 /* f0a3cb8: 46025482 */ mul.s $f18,$f10,$f2 /* f0a3cbc: 46120401 */ sub.s $f16,$f0,$f18 /* f0a3cc0: e610023c */ swc1 $f16,0x23c($s0) /* f0a3cc4: c604023c */ lwc1 $f4,0x23c($s0) /* f0a3cc8: e424d140 */ swc1 $f4,%lo(var8009d140)($at) /* f0a3ccc: 8e03074c */ lw $v1,0x74c($s0) /* f0a3cd0: 3c017f1b */ lui $at,%hi(var7f1ac8a8) /* f0a3cd4: 14600019 */ bnez $v1,.L0f0a3d3c /* f0a3cd8: 00000000 */ nop /* f0a3cdc: c422c8a8 */ lwc1 $f2,%lo(var7f1ac8a8)($at) /* f0a3ce0: c6060244 */ lwc1 $f6,0x244($s0) /* f0a3ce4: 4606103c */ c.lt.s $f2,$f6 /* f0a3ce8: 00000000 */ nop /* f0a3cec: 45000013 */ bc1f .L0f0a3d3c /* f0a3cf0: 00000000 */ nop /* f0a3cf4: 8c8f0034 */ lw $t7,0x34($a0) /* f0a3cf8: 3c048009 */ lui $a0,%hi(var80095200) /* f0a3cfc: 2405805e */ addiu $a1,$zero,-32674 /* f0a3d00: 11e0000e */ beqz $t7,.L0f0a3d3c /* f0a3d04: 2606074c */ addiu $a2,$s0,0x74c /* f0a3d08: 3c01bf80 */ lui $at,0xbf80 /* f0a3d0c: 44814000 */ mtc1 $at,$f8 /* f0a3d10: 2418ffff */ addiu $t8,$zero,-1 /* f0a3d14: 2419ffff */ addiu $t9,$zero,-1 /* f0a3d18: 2408ffff */ addiu $t0,$zero,-1 /* f0a3d1c: afa8001c */ sw $t0,0x1c($sp) /* f0a3d20: afb90018 */ sw $t9,0x18($sp) /* f0a3d24: afb80010 */ sw $t8,0x10($sp) /* f0a3d28: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a3d2c: 2407ffff */ addiu $a3,$zero,-1 /* f0a3d30: 0c004241 */ jal sndStart /* f0a3d34: e7a80014 */ swc1 $f8,0x14($sp) /* f0a3d38: 8e03074c */ lw $v1,0x74c($s0) .L0f0a3d3c: /* f0a3d3c: 3c017f1b */ lui $at,%hi(var7f1ac8ac) /* f0a3d40: 1060002a */ beqz $v1,.L0f0a3dec /* f0a3d44: c422c8ac */ lwc1 $f2,%lo(var7f1ac8ac)($at) /* f0a3d48: 3c013f00 */ lui $at,0x3f00 /* f0a3d4c: 44819000 */ mtc1 $at,$f18 /* f0a3d50: c60a0244 */ lwc1 $f10,0x244($s0) /* f0a3d54: 3c017f1b */ lui $at,%hi(var7f1ac8b0) /* f0a3d58: c424c8b0 */ lwc1 $f4,%lo(var7f1ac8b0)($at) /* f0a3d5c: 46125403 */ div.s $f16,$f10,$f18 /* f0a3d60: 24067fff */ addiu $a2,$zero,0x7fff /* f0a3d64: 3c017f1b */ lui $at,%hi(var7f1ac8b4) /* f0a3d68: 24050008 */ addiu $a1,$zero,0x8 /* f0a3d6c: 46048180 */ add.s $f6,$f16,$f4 /* f0a3d70: e7a60034 */ swc1 $f6,0x34($sp) /* f0a3d74: c6000244 */ lwc1 $f0,0x244($s0) /* f0a3d78: 4602003c */ c.lt.s $f0,$f2 /* f0a3d7c: 00000000 */ nop /* f0a3d80: 45000005 */ bc1f .L0f0a3d98 /* f0a3d84: 00000000 */ nop /* f0a3d88: 0c00cec9 */ jal audioStop /* f0a3d8c: 8e04074c */ lw $a0,0x74c($s0) /* f0a3d90: 10000017 */ b .L0f0a3df0 /* f0a3d94: 8faa0044 */ lw $t2,0x44($sp) .L0f0a3d98: /* f0a3d98: c428c8b4 */ lwc1 $f8,%lo(var7f1ac8b4)($at) /* f0a3d9c: 3c017f1b */ lui $at,%hi(var7f1ac8b8) /* f0a3da0: 4608003c */ c.lt.s $f0,$f8 /* f0a3da4: 00000000 */ nop /* f0a3da8: 4500000a */ bc1f .L0f0a3dd4 /* f0a3dac: 00000000 */ nop /* f0a3db0: 46020281 */ sub.s $f10,$f0,$f2 /* f0a3db4: c432c8b8 */ lwc1 $f18,%lo(var7f1ac8b8)($at) /* f0a3db8: 3c013f00 */ lui $at,0x3f00 /* f0a3dbc: 44812000 */ mtc1 $at,$f4 /* f0a3dc0: 46125402 */ mul.s $f16,$f10,$f18 /* f0a3dc4: 46048183 */ div.s $f6,$f16,$f4 /* f0a3dc8: 4600320d */ trunc.w.s $f8,$f6 /* f0a3dcc: 44064000 */ mfc1 $a2,$f8 /* f0a3dd0: 00000000 */ nop .L0f0a3dd4: /* f0a3dd4: 0c00cf94 */ jal func00033e50 /* f0a3dd8: 8e04074c */ lw $a0,0x74c($s0) /* f0a3ddc: 8e04074c */ lw $a0,0x74c($s0) /* f0a3de0: 24050010 */ addiu $a1,$zero,0x10 /* f0a3de4: 0c00cf94 */ jal func00033e50 /* f0a3de8: 8fa60034 */ lw $a2,0x34($sp) .L0f0a3dec: /* f0a3dec: 8faa0044 */ lw $t2,0x44($sp) .L0f0a3df0: /* f0a3df0: 1140000f */ beqz $t2,.L0f0a3e30 /* f0a3df4: 01402025 */ or $a0,$t2,$zero /* f0a3df8: 0c006949 */ jal func0001a524 /* f0a3dfc: 00002825 */ or $a1,$zero,$zero /* f0a3e00: 3c01800a */ lui $at,%hi(var8009d0f0) /* f0a3e04: ac22d0dc */ sw $v0,%lo(var8009d0f0)($at) /* f0a3e08: 3c0b7f0a */ lui $t3,%hi(bgun0f0a256c) /* f0a3e0c: 3c10800a */ lui $s0,%hi(var8009d0f8) /* f0a3e10: 256b256c */ addiu $t3,$t3,%lo(bgun0f0a256c) /* f0a3e14: 3c018006 */ lui $at,%hi(var8005efcc) /* f0a3e18: 2610d0f0 */ addiu $s0,$s0,%lo(var8009d0f8) /* f0a3e1c: ac2befcc */ sw $t3,%lo(var8005efcc)($at) /* f0a3e20: 240cffff */ addiu $t4,$zero,-1 /* f0a3e24: ae0c0008 */ sw $t4,0x8($s0) /* f0a3e28: ae0c0004 */ sw $t4,0x4($s0) /* f0a3e2c: ae0c0000 */ sw $t4,0x0($s0) .L0f0a3e30: /* f0a3e30: 3c10800a */ lui $s0,%hi(var8009d0f8) /* f0a3e34: 2610d0f0 */ addiu $s0,$s0,%lo(var8009d0f8) /* f0a3e38: 8fa4004c */ lw $a0,0x4c($sp) /* f0a3e3c: 0c006a47 */ jal modelGetPart /* f0a3e40: 2405002d */ addiu $a1,$zero,0x2d /* f0a3e44: 10400004 */ beqz $v0,.L0f0a3e58 /* f0a3e48: 00402025 */ or $a0,$v0,$zero /* f0a3e4c: 0c006949 */ jal func0001a524 /* f0a3e50: 00002825 */ or $a1,$zero,$zero /* f0a3e54: ae020000 */ sw $v0,0x0($s0) .L0f0a3e58: /* f0a3e58: 8fa4004c */ lw $a0,0x4c($sp) /* f0a3e5c: 0c006a47 */ jal modelGetPart /* f0a3e60: 2405002e */ addiu $a1,$zero,0x2e /* f0a3e64: 10400004 */ beqz $v0,.L0f0a3e78 /* f0a3e68: 00402025 */ or $a0,$v0,$zero /* f0a3e6c: 0c006949 */ jal func0001a524 /* f0a3e70: 00002825 */ or $a1,$zero,$zero /* f0a3e74: ae020004 */ sw $v0,0x4($s0) .L0f0a3e78: /* f0a3e78: 8fa4004c */ lw $a0,0x4c($sp) /* f0a3e7c: 0c006a47 */ jal modelGetPart /* f0a3e80: 2405002f */ addiu $a1,$zero,0x2f /* f0a3e84: 10400004 */ beqz $v0,.L0f0a3e98 /* f0a3e88: 00402025 */ or $a0,$v0,$zero /* f0a3e8c: 0c006949 */ jal func0001a524 /* f0a3e90: 00002825 */ or $a1,$zero,$zero /* f0a3e94: ae020008 */ sw $v0,0x8($s0) .L0f0a3e98: /* f0a3e98: 8fbf002c */ lw $ra,0x2c($sp) /* f0a3e9c: 8fb00028 */ lw $s0,0x28($sp) /* f0a3ea0: 27bd0048 */ addiu $sp,$sp,0x48 /* f0a3ea4: 03e00008 */ jr $ra /* f0a3ea8: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a3aa4 .late_rodata glabel var7f1ac87c .word 0x3c23d70a glabel var7f1ac880 .word 0x3f747ae1 glabel var7f1ac884 .word 0x47ae147b glabel var7f1ac888 .word 0x33d6bf95 glabel var7f1ac88c .word 0xbe0f5c29 glabel var7f1ac890 .word 0x3e19999a glabel var7f1ac894 .word 0x40490fdb glabel var7f1ac898 .word 0x3e4ccccd glabel var7f1ac89c .word 0x40490fdb glabel var7f1ac8a0 .word 0x3e4ccccd glabel var7f1ac8a4 .word 0x40c90fd0 glabel var7f1ac8a8 .word 0x3dcccccd glabel var7f1ac8ac .word 0x3dcccccd glabel var7f1ac8b0 .word 0x3ecccccd glabel var7f1ac8b4 .word 0x3f19999a glabel var7f1ac8b8 .word 0x46fffe00 .text /* f0a3aa4: 27bdffb8 */ addiu $sp,$sp,-72 /* f0a3aa8: afb00028 */ sw $s0,0x28($sp) /* f0a3aac: 00808025 */ or $s0,$a0,$zero /* f0a3ab0: afbf002c */ sw $ra,0x2c($sp) /* f0a3ab4: afa5004c */ sw $a1,0x4c($sp) /* f0a3ab8: 00a02025 */ or $a0,$a1,$zero /* f0a3abc: 0c006a47 */ jal modelGetPart /* f0a3ac0: 2405002c */ addiu $a1,$zero,0x2c /* f0a3ac4: afa20044 */ sw $v0,0x44($sp) /* f0a3ac8: c6000244 */ lwc1 $f0,0x244($s0) /* f0a3acc: c6020240 */ lwc1 $f2,0x240($s0) /* f0a3ad0: 3c04800a */ lui $a0,%hi(g_Vars) /* f0a3ad4: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f0a3ad8: 4602003e */ c.le.s $f0,$f2 /* f0a3adc: 3c017f1b */ lui $at,%hi(var7f1ac880) /* f0a3ae0: 45020017 */ bc1fl .L0f0a3b40 /* f0a3ae4: c4900044 */ lwc1 $f16,0x44($a0) /* f0a3ae8: 44806000 */ mtc1 $zero,$f12 /* f0a3aec: 3c017f1b */ lui $at,%hi(var7f1ac87c) /* f0a3af0: 460c103c */ c.lt.s $f2,$f12 /* f0a3af4: 00000000 */ nop /* f0a3af8: 4500000e */ bc1f .L0f0a3b34 /* f0a3afc: 00000000 */ nop /* f0a3b00: c424c87c */ lwc1 $f4,%lo(var7f1ac87c)($at) /* f0a3b04: 3c01800a */ lui $at,%hi(g_Vars+0x44) /* f0a3b08: c426a004 */ lwc1 $f6,%lo(g_Vars+0x44)($at) /* f0a3b0c: 46062202 */ mul.s $f8,$f4,$f6 /* f0a3b10: 46081280 */ add.s $f10,$f2,$f8 /* f0a3b14: e60a0240 */ swc1 $f10,0x240($s0) /* f0a3b18: c6020240 */ lwc1 $f2,0x240($s0) /* f0a3b1c: 4602603c */ c.lt.s $f12,$f2 /* f0a3b20: 00000000 */ nop /* f0a3b24: 45000003 */ bc1f .L0f0a3b34 /* f0a3b28: 00000000 */ nop /* f0a3b2c: e60c0240 */ swc1 $f12,0x240($s0) /* f0a3b30: c6020240 */ lwc1 $f2,0x240($s0) .L0f0a3b34: /* f0a3b34: 10000023 */ b .L0f0a3bc4 /* f0a3b38: e6020244 */ swc1 $f2,0x244($s0) /* f0a3b3c: c4900044 */ lwc1 $f16,0x44($a0) .L0f0a3b40: /* f0a3b40: d424c880 */ ldc1 $f4,%lo(var7f1ac880)($at) /* f0a3b44: 3c017f1b */ lui $at,%hi(var7f1ac888) /* f0a3b48: 460084a1 */ cvt.d.s $f18,$f16 /* f0a3b4c: c428c888 */ lwc1 $f8,%lo(var7f1ac888)($at) /* f0a3b50: 46249182 */ mul.d $f6,$f18,$f4 /* f0a3b54: 3c017f1b */ lui $at,%hi(var7f1ac88c) /* f0a3b58: 4608103c */ c.lt.s $f2,$f8 /* f0a3b5c: 00000000 */ nop /* f0a3b60: 4500000e */ bc1f .L0f0a3b9c /* f0a3b64: 46203320 */ cvt.s.d $f12,$f6 /* f0a3b68: c42ac88c */ lwc1 $f10,%lo(var7f1ac88c)($at) /* f0a3b6c: 3c017f1b */ lui $at,%hi(var7f1ac890) /* f0a3b70: e60a0240 */ swc1 $f10,0x240($s0) /* f0a3b74: c430c890 */ lwc1 $f16,%lo(var7f1ac890)($at) /* f0a3b78: 3c014080 */ lui $at,0x4080 /* f0a3b7c: 4610003c */ c.lt.s $f0,$f16 /* f0a3b80: 00000000 */ nop /* f0a3b84: 45020006 */ bc1fl .L0f0a3ba0 /* f0a3b88: c6040240 */ lwc1 $f4,0x240($s0) /* f0a3b8c: 44819000 */ mtc1 $at,$f18 /* f0a3b90: 00000000 */ nop /* f0a3b94: 46126302 */ mul.s $f12,$f12,$f18 /* f0a3b98: 00000000 */ nop .L0f0a3b9c: /* f0a3b9c: c6040240 */ lwc1 $f4,0x240($s0) .L0f0a3ba0: /* f0a3ba0: 46040081 */ sub.s $f2,$f0,$f4 /* f0a3ba4: 4602603c */ c.lt.s $f12,$f2 /* f0a3ba8: 00000000 */ nop /* f0a3bac: 45020003 */ bc1fl .L0f0a3bbc /* f0a3bb0: 46020181 */ sub.s $f6,$f0,$f2 /* f0a3bb4: 46006086 */ mov.s $f2,$f12 /* f0a3bb8: 46020181 */ sub.s $f6,$f0,$f2 .L0f0a3bbc: /* f0a3bbc: 44806000 */ mtc1 $zero,$f12 /* f0a3bc0: e6060244 */ swc1 $f6,0x244($s0) .L0f0a3bc4: /* f0a3bc4: c6000244 */ lwc1 $f0,0x244($s0) /* f0a3bc8: 3c017f1b */ lui $at,%hi(var7f1ac894) /* f0a3bcc: 460c003c */ c.lt.s $f0,$f12 /* f0a3bd0: 00000000 */ nop /* f0a3bd4: 45000017 */ bc1f .L0f0a3c34 /* f0a3bd8: 00000000 */ nop /* f0a3bdc: c428c894 */ lwc1 $f8,%lo(var7f1ac894)($at) /* f0a3be0: 46080302 */ mul.s $f12,$f0,$f8 /* f0a3be4: 0c0068f4 */ jal cosf /* f0a3be8: 00000000 */ nop /* f0a3bec: 3c013f80 */ lui $at,0x3f80 /* f0a3bf0: 44815000 */ mtc1 $at,$f10 /* f0a3bf4: 3c013f00 */ lui $at,0x3f00 /* f0a3bf8: 44819000 */ mtc1 $at,$f18 /* f0a3bfc: 46005401 */ sub.s $f16,$f10,$f0 /* f0a3c00: 3c04800a */ lui $a0,%hi(g_Vars) /* f0a3c04: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f0a3c08: c4860044 */ lwc1 $f6,0x44($a0) /* f0a3c0c: 46128102 */ mul.s $f4,$f16,$f18 /* f0a3c10: 3c017f1b */ lui $at,%hi(var7f1ac898) /* f0a3c14: c42ac898 */ lwc1 $f10,%lo(var7f1ac898)($at) /* f0a3c18: c612023c */ lwc1 $f18,0x23c($s0) /* f0a3c1c: 46062202 */ mul.s $f8,$f4,$f6 /* f0a3c20: 00000000 */ nop /* f0a3c24: 460a4402 */ mul.s $f16,$f8,$f10 /* f0a3c28: 46109101 */ sub.s $f4,$f18,$f16 /* f0a3c2c: 10000017 */ b .L0f0a3c8c /* f0a3c30: e604023c */ swc1 $f4,0x23c($s0) .L0f0a3c34: /* f0a3c34: 3c017f1b */ lui $at,%hi(var7f1ac89c) /* f0a3c38: c426c89c */ lwc1 $f6,%lo(var7f1ac89c)($at) /* f0a3c3c: 46060302 */ mul.s $f12,$f0,$f6 /* f0a3c40: 0c0068f4 */ jal cosf /* f0a3c44: 00000000 */ nop /* f0a3c48: 3c013f80 */ lui $at,0x3f80 /* f0a3c4c: 44814000 */ mtc1 $at,$f8 /* f0a3c50: 3c013f00 */ lui $at,0x3f00 /* f0a3c54: 44819000 */ mtc1 $at,$f18 /* f0a3c58: 46004281 */ sub.s $f10,$f8,$f0 /* f0a3c5c: 3c04800a */ lui $a0,%hi(g_Vars) /* f0a3c60: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars) /* f0a3c64: c4840044 */ lwc1 $f4,0x44($a0) /* f0a3c68: 46125402 */ mul.s $f16,$f10,$f18 /* f0a3c6c: 3c017f1b */ lui $at,%hi(var7f1ac8a0) /* f0a3c70: c428c8a0 */ lwc1 $f8,%lo(var7f1ac8a0)($at) /* f0a3c74: c612023c */ lwc1 $f18,0x23c($s0) /* f0a3c78: 46048182 */ mul.s $f6,$f16,$f4 /* f0a3c7c: 00000000 */ nop /* f0a3c80: 46083282 */ mul.s $f10,$f6,$f8 /* f0a3c84: 46125400 */ add.s $f16,$f10,$f18 /* f0a3c88: e610023c */ swc1 $f16,0x23c($s0) .L0f0a3c8c: /* f0a3c8c: 3c017f1b */ lui $at,%hi(var7f1ac8a4) /* f0a3c90: c422c8a4 */ lwc1 $f2,%lo(var7f1ac8a4)($at) /* f0a3c94: c600023c */ lwc1 $f0,0x23c($s0) /* f0a3c98: 3c01800a */ lui $at,%hi(var8009d140) /* f0a3c9c: 46020103 */ div.s $f4,$f0,$f2 /* f0a3ca0: 4600218d */ trunc.w.s $f6,$f4 /* f0a3ca4: 44023000 */ mfc1 $v0,$f6 /* f0a3ca8: 00000000 */ nop /* f0a3cac: 44824000 */ mtc1 $v0,$f8 /* f0a3cb0: 00000000 */ nop /* f0a3cb4: 468042a0 */ cvt.s.w $f10,$f8 /* f0a3cb8: 46025482 */ mul.s $f18,$f10,$f2 /* f0a3cbc: 46120401 */ sub.s $f16,$f0,$f18 /* f0a3cc0: e610023c */ swc1 $f16,0x23c($s0) /* f0a3cc4: c604023c */ lwc1 $f4,0x23c($s0) /* f0a3cc8: e424d140 */ swc1 $f4,%lo(var8009d140)($at) /* f0a3ccc: 8e03074c */ lw $v1,0x74c($s0) /* f0a3cd0: 3c017f1b */ lui $at,%hi(var7f1ac8a8) /* f0a3cd4: 14600019 */ bnez $v1,.L0f0a3d3c /* f0a3cd8: 00000000 */ nop /* f0a3cdc: c422c8a8 */ lwc1 $f2,%lo(var7f1ac8a8)($at) /* f0a3ce0: c6060244 */ lwc1 $f6,0x244($s0) /* f0a3ce4: 4606103c */ c.lt.s $f2,$f6 /* f0a3ce8: 00000000 */ nop /* f0a3cec: 45000013 */ bc1f .L0f0a3d3c /* f0a3cf0: 00000000 */ nop /* f0a3cf4: 8c8f0034 */ lw $t7,0x34($a0) /* f0a3cf8: 3c048009 */ lui $a0,%hi(var80095200) /* f0a3cfc: 2405805e */ addiu $a1,$zero,-32674 /* f0a3d00: 11e0000e */ beqz $t7,.L0f0a3d3c /* f0a3d04: 2606074c */ addiu $a2,$s0,0x74c /* f0a3d08: 3c01bf80 */ lui $at,0xbf80 /* f0a3d0c: 44814000 */ mtc1 $at,$f8 /* f0a3d10: 2418ffff */ addiu $t8,$zero,-1 /* f0a3d14: 2419ffff */ addiu $t9,$zero,-1 /* f0a3d18: 2408ffff */ addiu $t0,$zero,-1 /* f0a3d1c: afa8001c */ sw $t0,0x1c($sp) /* f0a3d20: afb90018 */ sw $t9,0x18($sp) /* f0a3d24: afb80010 */ sw $t8,0x10($sp) /* f0a3d28: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a3d2c: 2407ffff */ addiu $a3,$zero,-1 /* f0a3d30: 0c004241 */ jal sndStart /* f0a3d34: e7a80014 */ swc1 $f8,0x14($sp) /* f0a3d38: 8e03074c */ lw $v1,0x74c($s0) .L0f0a3d3c: /* f0a3d3c: 3c017f1b */ lui $at,%hi(var7f1ac8ac) /* f0a3d40: 1060002a */ beqz $v1,.L0f0a3dec /* f0a3d44: c422c8ac */ lwc1 $f2,%lo(var7f1ac8ac)($at) /* f0a3d48: 3c013f00 */ lui $at,0x3f00 /* f0a3d4c: 44819000 */ mtc1 $at,$f18 /* f0a3d50: c60a0244 */ lwc1 $f10,0x244($s0) /* f0a3d54: 3c017f1b */ lui $at,%hi(var7f1ac8b0) /* f0a3d58: c424c8b0 */ lwc1 $f4,%lo(var7f1ac8b0)($at) /* f0a3d5c: 46125403 */ div.s $f16,$f10,$f18 /* f0a3d60: 24067fff */ addiu $a2,$zero,0x7fff /* f0a3d64: 3c017f1b */ lui $at,%hi(var7f1ac8b4) /* f0a3d68: 24050008 */ addiu $a1,$zero,0x8 /* f0a3d6c: 46048180 */ add.s $f6,$f16,$f4 /* f0a3d70: e7a60034 */ swc1 $f6,0x34($sp) /* f0a3d74: c6000244 */ lwc1 $f0,0x244($s0) /* f0a3d78: 4602003c */ c.lt.s $f0,$f2 /* f0a3d7c: 00000000 */ nop /* f0a3d80: 45000005 */ bc1f .L0f0a3d98 /* f0a3d84: 00000000 */ nop /* f0a3d88: 0c00cec9 */ jal audioStop /* f0a3d8c: 8e04074c */ lw $a0,0x74c($s0) /* f0a3d90: 10000017 */ b .L0f0a3df0 /* f0a3d94: 8faa0044 */ lw $t2,0x44($sp) .L0f0a3d98: /* f0a3d98: c428c8b4 */ lwc1 $f8,%lo(var7f1ac8b4)($at) /* f0a3d9c: 3c017f1b */ lui $at,%hi(var7f1ac8b8) /* f0a3da0: 4608003c */ c.lt.s $f0,$f8 /* f0a3da4: 00000000 */ nop /* f0a3da8: 4500000a */ bc1f .L0f0a3dd4 /* f0a3dac: 00000000 */ nop /* f0a3db0: 46020281 */ sub.s $f10,$f0,$f2 /* f0a3db4: c432c8b8 */ lwc1 $f18,%lo(var7f1ac8b8)($at) /* f0a3db8: 3c013f00 */ lui $at,0x3f00 /* f0a3dbc: 44812000 */ mtc1 $at,$f4 /* f0a3dc0: 46125402 */ mul.s $f16,$f10,$f18 /* f0a3dc4: 46048183 */ div.s $f6,$f16,$f4 /* f0a3dc8: 4600320d */ trunc.w.s $f8,$f6 /* f0a3dcc: 44064000 */ mfc1 $a2,$f8 /* f0a3dd0: 00000000 */ nop .L0f0a3dd4: /* f0a3dd4: 0c00cf94 */ jal func00033e50 /* f0a3dd8: 8e04074c */ lw $a0,0x74c($s0) /* f0a3ddc: 8e04074c */ lw $a0,0x74c($s0) /* f0a3de0: 24050010 */ addiu $a1,$zero,0x10 /* f0a3de4: 0c00cf94 */ jal func00033e50 /* f0a3de8: 8fa60034 */ lw $a2,0x34($sp) .L0f0a3dec: /* f0a3dec: 8faa0044 */ lw $t2,0x44($sp) .L0f0a3df0: /* f0a3df0: 1140000f */ beqz $t2,.L0f0a3e30 /* f0a3df4: 01402025 */ or $a0,$t2,$zero /* f0a3df8: 0c006949 */ jal func0001a524 /* f0a3dfc: 00002825 */ or $a1,$zero,$zero /* f0a3e00: 3c01800a */ lui $at,%hi(var8009d0dc) /* f0a3e04: ac22d0dc */ sw $v0,%lo(var8009d0dc)($at) /* f0a3e08: 3c0b7f0a */ lui $t3,%hi(bgun0f0a256c) /* f0a3e0c: 3c10800a */ lui $s0,%hi(var8009d0f0) /* f0a3e10: 256b256c */ addiu $t3,$t3,%lo(bgun0f0a256c) /* f0a3e14: 3c018006 */ lui $at,%hi(var8005efcc) /* f0a3e18: 2610d0f0 */ addiu $s0,$s0,%lo(var8009d0f0) /* f0a3e1c: ac2befcc */ sw $t3,%lo(var8005efcc)($at) /* f0a3e20: 240cffff */ addiu $t4,$zero,-1 /* f0a3e24: ae0c0008 */ sw $t4,0x8($s0) /* f0a3e28: ae0c0004 */ sw $t4,0x4($s0) /* f0a3e2c: ae0c0000 */ sw $t4,0x0($s0) .L0f0a3e30: /* f0a3e30: 3c10800a */ lui $s0,%hi(var8009d0f0) /* f0a3e34: 2610d0f0 */ addiu $s0,$s0,%lo(var8009d0f0) /* f0a3e38: 8fa4004c */ lw $a0,0x4c($sp) /* f0a3e3c: 0c006a47 */ jal modelGetPart /* f0a3e40: 2405002d */ addiu $a1,$zero,0x2d /* f0a3e44: 10400004 */ beqz $v0,.L0f0a3e58 /* f0a3e48: 00402025 */ or $a0,$v0,$zero /* f0a3e4c: 0c006949 */ jal func0001a524 /* f0a3e50: 00002825 */ or $a1,$zero,$zero /* f0a3e54: ae020000 */ sw $v0,0x0($s0) .L0f0a3e58: /* f0a3e58: 8fa4004c */ lw $a0,0x4c($sp) /* f0a3e5c: 0c006a47 */ jal modelGetPart /* f0a3e60: 2405002e */ addiu $a1,$zero,0x2e /* f0a3e64: 10400004 */ beqz $v0,.L0f0a3e78 /* f0a3e68: 00402025 */ or $a0,$v0,$zero /* f0a3e6c: 0c006949 */ jal func0001a524 /* f0a3e70: 00002825 */ or $a1,$zero,$zero /* f0a3e74: ae020004 */ sw $v0,0x4($s0) .L0f0a3e78: /* f0a3e78: 8fa4004c */ lw $a0,0x4c($sp) /* f0a3e7c: 0c006a47 */ jal modelGetPart /* f0a3e80: 2405002f */ addiu $a1,$zero,0x2f /* f0a3e84: 10400004 */ beqz $v0,.L0f0a3e98 /* f0a3e88: 00402025 */ or $a0,$v0,$zero /* f0a3e8c: 0c006949 */ jal func0001a524 /* f0a3e90: 00002825 */ or $a1,$zero,$zero /* f0a3e94: ae020008 */ sw $v0,0x8($s0) .L0f0a3e98: /* f0a3e98: 8fbf002c */ lw $ra,0x2c($sp) /* f0a3e9c: 8fb00028 */ lw $s0,0x28($sp) /* f0a3ea0: 27bd0048 */ addiu $sp,$sp,0x48 /* f0a3ea4: 03e00008 */ jr $ra /* f0a3ea8: 00000000 */ nop ); #endif GLOBAL_ASM( glabel bgun0f0a3eac /* f0a3eac: 27bdff58 */ addiu $sp,$sp,-168 /* f0a3eb0: 3c0f8007 */ lui $t7,%hi(var8007021c) /* f0a3eb4: afbf0054 */ sw $ra,0x54($sp) /* f0a3eb8: afb70050 */ sw $s7,0x50($sp) /* f0a3ebc: afb6004c */ sw $s6,0x4c($sp) /* f0a3ec0: afb50048 */ sw $s5,0x48($sp) /* f0a3ec4: afb40044 */ sw $s4,0x44($sp) /* f0a3ec8: afb30040 */ sw $s3,0x40($sp) /* f0a3ecc: afb2003c */ sw $s2,0x3c($sp) /* f0a3ed0: afb10038 */ sw $s1,0x38($sp) /* f0a3ed4: afb00034 */ sw $s0,0x34($sp) /* f0a3ed8: f7ba0028 */ sdc1 $f26,0x28($sp) /* f0a3edc: f7b80020 */ sdc1 $f24,0x20($sp) /* f0a3ee0: f7b60018 */ sdc1 $f22,0x18($sp) /* f0a3ee4: f7b40010 */ sdc1 $f20,0x10($sp) /* f0a3ee8: 25ef021c */ addiu $t7,$t7,%lo(var8007021c) /* f0a3eec: 8de10000 */ lw $at,0x0($t7) /* f0a3ef0: 8de80004 */ lw $t0,0x4($t7) /* f0a3ef4: 27ae0088 */ addiu $t6,$sp,0x88 /* f0a3ef8: adc10000 */ sw $at,0x0($t6) /* f0a3efc: adc80004 */ sw $t0,0x4($t6) /* f0a3f00: 8de8000c */ lw $t0,0xc($t7) /* f0a3f04: 8de10008 */ lw $at,0x8($t7) /* f0a3f08: 00808025 */ or $s0,$a0,$zero /* f0a3f0c: 00a0b825 */ or $s7,$a1,$zero /* f0a3f10: adc8000c */ sw $t0,0xc($t6) /* f0a3f14: 0fc2c536 */ jal currentPlayerGetGunZoomFov /* f0a3f18: adc10008 */ sw $at,0x8($t6) /* f0a3f1c: 3c014000 */ lui $at,0x4000 /* f0a3f20: 44812000 */ mtc1 $at,$f4 /* f0a3f24: 3c014268 */ lui $at,0x4268 /* f0a3f28: 44814000 */ mtc1 $at,$f8 /* f0a3f2c: 46040181 */ sub.s $f6,$f0,$f4 /* f0a3f30: 3c013f80 */ lui $at,0x3f80 /* f0a3f34: 44818000 */ mtc1 $at,$f16 /* f0a3f38: 02002025 */ or $a0,$s0,$zero /* f0a3f3c: 46083283 */ div.s $f10,$f6,$f8 /* f0a3f40: 2405002a */ addiu $a1,$zero,0x2a /* f0a3f44: 0c006a47 */ jal modelGetPart /* f0a3f48: 460a8681 */ sub.s $f26,$f16,$f10 /* f0a3f4c: afa20098 */ sw $v0,0x98($sp) /* f0a3f50: 02002025 */ or $a0,$s0,$zero /* f0a3f54: 0c006a47 */ jal modelGetPart /* f0a3f58: 2405002b */ addiu $a1,$zero,0x2b /* f0a3f5c: afa2009c */ sw $v0,0x9c($sp) /* f0a3f60: 02002025 */ or $a0,$s0,$zero /* f0a3f64: 0c006a47 */ jal modelGetPart /* f0a3f68: 2405002c */ addiu $a1,$zero,0x2c /* f0a3f6c: afa200a0 */ sw $v0,0xa0($sp) /* f0a3f70: 02002025 */ or $a0,$s0,$zero /* f0a3f74: 0c006a47 */ jal modelGetPart /* f0a3f78: 2405002d */ addiu $a1,$zero,0x2d /* f0a3f7c: 3c0142c8 */ lui $at,0x42c8 /* f0a3f80: 4481c000 */ mtc1 $at,$f24 /* f0a3f84: 4480b000 */ mtc1 $zero,$f22 /* f0a3f88: afa200a4 */ sw $v0,0xa4($sp) /* f0a3f8c: 00009025 */ or $s2,$zero,$zero /* f0a3f90: 00009825 */ or $s3,$zero,$zero /* f0a3f94: 27b40098 */ addiu $s4,$sp,0x98 /* f0a3f98: 24160004 */ addiu $s6,$zero,0x4 /* f0a3f9c: 27b50070 */ addiu $s5,$sp,0x70 .L0f0a3fa0: /* f0a3fa0: 8e840000 */ lw $a0,0x0($s4) /* f0a3fa4: 3c014080 */ lui $at,0x4080 /* f0a3fa8: 50800028 */ beqzl $a0,.L0f0a404c /* f0a3fac: 26520001 */ addiu $s2,$s2,0x1 /* f0a3fb0: 44819000 */ mtc1 $at,$f18 /* f0a3fb4: 27a90088 */ addiu $t1,$sp,0x88 /* f0a3fb8: 02698821 */ addu $s1,$s3,$t1 /* f0a3fbc: 4612d502 */ mul.s $f20,$f26,$f18 /* f0a3fc0: 0c006949 */ jal func0001a524 /* f0a3fc4: 00002825 */ or $a1,$zero,$zero /* f0a3fc8: 44922000 */ mtc1 $s2,$f4 /* f0a3fcc: 00401825 */ or $v1,$v0,$zero /* f0a3fd0: 46802020 */ cvt.s.w $f0,$f4 /* f0a3fd4: 4600a03c */ c.lt.s $f20,$f0 /* f0a3fd8: 4600a181 */ sub.s $f6,$f20,$f0 /* f0a3fdc: 45000002 */ bc1f .L0f0a3fe8 /* f0a3fe0: e6260000 */ swc1 $f6,0x0($s1) /* f0a3fe4: e6360000 */ swc1 $f22,0x0($s1) .L0f0a3fe8: /* f0a3fe8: c6280000 */ lwc1 $f8,0x0($s1) /* f0a3fec: 00035180 */ sll $t2,$v1,0x6 /* f0a3ff0: 02ea8021 */ addu $s0,$s7,$t2 /* f0a3ff4: 46184402 */ mul.s $f16,$f8,$f24 /* f0a3ff8: 02002025 */ or $a0,$s0,$zero /* f0a3ffc: 02a02825 */ or $a1,$s5,$zero /* f0a4000: e6300000 */ swc1 $f16,0x0($s1) /* f0a4004: e7b60070 */ swc1 $f22,0x70($sp) /* f0a4008: e7b60074 */ swc1 $f22,0x74($sp) /* f0a400c: c62a0000 */ lwc1 $f10,0x0($s1) /* f0a4010: 0c0056c4 */ jal func00015b10 /* f0a4014: e7aa0078 */ swc1 $f10,0x78($sp) /* f0a4018: c6120030 */ lwc1 $f18,0x30($s0) /* f0a401c: c7a40070 */ lwc1 $f4,0x70($sp) /* f0a4020: c6080034 */ lwc1 $f8,0x34($s0) /* f0a4024: 46049180 */ add.s $f6,$f18,$f4 /* f0a4028: c6120038 */ lwc1 $f18,0x38($s0) /* f0a402c: e6060030 */ swc1 $f6,0x30($s0) /* f0a4030: c7b00074 */ lwc1 $f16,0x74($sp) /* f0a4034: 46104280 */ add.s $f10,$f8,$f16 /* f0a4038: e60a0034 */ swc1 $f10,0x34($s0) /* f0a403c: c7a40078 */ lwc1 $f4,0x78($sp) /* f0a4040: 46049180 */ add.s $f6,$f18,$f4 /* f0a4044: e6060038 */ swc1 $f6,0x38($s0) /* f0a4048: 26520001 */ addiu $s2,$s2,0x1 .L0f0a404c: /* f0a404c: 26730004 */ addiu $s3,$s3,0x4 /* f0a4050: 1656ffd3 */ bne $s2,$s6,.L0f0a3fa0 /* f0a4054: 26940004 */ addiu $s4,$s4,0x4 /* f0a4058: 8fbf0054 */ lw $ra,0x54($sp) /* f0a405c: d7b40010 */ ldc1 $f20,0x10($sp) /* f0a4060: d7b60018 */ ldc1 $f22,0x18($sp) /* f0a4064: d7b80020 */ ldc1 $f24,0x20($sp) /* f0a4068: d7ba0028 */ ldc1 $f26,0x28($sp) /* f0a406c: 8fb00034 */ lw $s0,0x34($sp) /* f0a4070: 8fb10038 */ lw $s1,0x38($sp) /* f0a4074: 8fb2003c */ lw $s2,0x3c($sp) /* f0a4078: 8fb30040 */ lw $s3,0x40($sp) /* f0a407c: 8fb40044 */ lw $s4,0x44($sp) /* f0a4080: 8fb50048 */ lw $s5,0x48($sp) /* f0a4084: 8fb6004c */ lw $s6,0x4c($sp) /* f0a4088: 8fb70050 */ lw $s7,0x50($sp) /* f0a408c: 03e00008 */ jr $ra /* f0a4090: 27bd00a8 */ addiu $sp,$sp,0xa8 ); #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a4094 .late_rodata glabel var7f1ac8bc .word 0x3c23d70a glabel var7f1ac8c0 .word 0x3fd16873 .text /* f0a4094: 27bdffc8 */ addiu $sp,$sp,-56 /* f0a4098: afbf0014 */ sw $ra,0x14($sp) /* f0a409c: afa5003c */ sw $a1,0x3c($sp) /* f0a40a0: 00803825 */ or $a3,$a0,$zero /* f0a40a4: afa70038 */ sw $a3,0x38($sp) /* f0a40a8: 00c02025 */ or $a0,$a2,$zero /* f0a40ac: 0c006a47 */ jal modelGetPart /* f0a40b0: 24050028 */ addiu $a1,$zero,0x28 /* f0a40b4: 8fa70038 */ lw $a3,0x38($sp) /* f0a40b8: 10400034 */ beqz $v0,.L0f0a418c /* f0a40bc: 00402025 */ or $a0,$v0,$zero /* f0a40c0: 00002825 */ or $a1,$zero,$zero /* f0a40c4: 0c006949 */ jal func0001a524 /* f0a40c8: afa70038 */ sw $a3,0x38($sp) /* f0a40cc: 3c013f80 */ lui $at,0x3f80 /* f0a40d0: 44811000 */ mtc1 $at,$f2 /* f0a40d4: 3c017f1b */ lui $at,%hi(var7f1ac8bc) /* f0a40d8: c424c8bc */ lwc1 $f4,%lo(var7f1ac8bc)($at) /* f0a40dc: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f0a40e0: c426a004 */ lwc1 $f6,%lo(g_Vars+0x4c)($at) /* f0a40e4: 8fa70038 */ lw $a3,0x38($sp) /* f0a40e8: 3c01c120 */ lui $at,0xc120 /* f0a40ec: 46062202 */ mul.s $f8,$f4,$f6 /* f0a40f0: c4ea0250 */ lwc1 $f10,0x250($a3) /* f0a40f4: 44819000 */ mtc1 $at,$f18 /* f0a40f8: 00401825 */ or $v1,$v0,$zero /* f0a40fc: 46085400 */ add.s $f16,$f10,$f8 /* f0a4100: e4f00250 */ swc1 $f16,0x250($a3) /* f0a4104: c4e00250 */ lwc1 $f0,0x250($a3) /* f0a4108: 4600103c */ c.lt.s $f2,$f0 /* f0a410c: 00000000 */ nop /* f0a4110: 45000003 */ bc1f .L0f0a4120 /* f0a4114: 00000000 */ nop /* f0a4118: e4e20250 */ swc1 $f2,0x250($a3) /* f0a411c: c4e00250 */ lwc1 $f0,0x250($a3) .L0f0a4120: /* f0a4120: 46120102 */ mul.s $f4,$f0,$f18 /* f0a4124: 3c017f1b */ lui $at,%hi(var7f1ac8c0) /* f0a4128: c426c8c0 */ lwc1 $f6,%lo(var7f1ac8c0)($at) /* f0a412c: 8fae003c */ lw $t6,0x3c($sp) /* f0a4130: 44801000 */ mtc1 $zero,$f2 /* f0a4134: 00037980 */ sll $t7,$v1,0x6 /* f0a4138: 01cf2021 */ addu $a0,$t6,$t7 /* f0a413c: 46062282 */ mul.s $f10,$f4,$f6 /* f0a4140: afa4001c */ sw $a0,0x1c($sp) /* f0a4144: 27a50024 */ addiu $a1,$sp,0x24 /* f0a4148: e7a20028 */ swc1 $f2,0x28($sp) /* f0a414c: e7a2002c */ swc1 $f2,0x2c($sp) /* f0a4150: 0c0056c4 */ jal func00015b10 /* f0a4154: e7aa0024 */ swc1 $f10,0x24($sp) /* f0a4158: 8fa4001c */ lw $a0,0x1c($sp) /* f0a415c: c7b00024 */ lwc1 $f16,0x24($sp) /* f0a4160: c4880030 */ lwc1 $f8,0x30($a0) /* f0a4164: c4840034 */ lwc1 $f4,0x34($a0) /* f0a4168: 46104480 */ add.s $f18,$f8,$f16 /* f0a416c: c4880038 */ lwc1 $f8,0x38($a0) /* f0a4170: e4920030 */ swc1 $f18,0x30($a0) /* f0a4174: c7a60028 */ lwc1 $f6,0x28($sp) /* f0a4178: 46062280 */ add.s $f10,$f4,$f6 /* f0a417c: e48a0034 */ swc1 $f10,0x34($a0) /* f0a4180: c7b0002c */ lwc1 $f16,0x2c($sp) /* f0a4184: 46104480 */ add.s $f18,$f8,$f16 /* f0a4188: e4920038 */ swc1 $f18,0x38($a0) .L0f0a418c: /* f0a418c: 8fbf0014 */ lw $ra,0x14($sp) /* f0a4190: 27bd0038 */ addiu $sp,$sp,0x38 /* f0a4194: 03e00008 */ jr $ra /* f0a4198: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a4094 .late_rodata glabel var7f1ac8bc .word 0x3c23d70a glabel var7f1ac8c0 .word 0x3fd16873 .text /* f0a4094: 27bdffc8 */ addiu $sp,$sp,-56 /* f0a4098: afbf0014 */ sw $ra,0x14($sp) /* f0a409c: afa5003c */ sw $a1,0x3c($sp) /* f0a40a0: 00803825 */ or $a3,$a0,$zero /* f0a40a4: afa70038 */ sw $a3,0x38($sp) /* f0a40a8: 00c02025 */ or $a0,$a2,$zero /* f0a40ac: 0c006a47 */ jal modelGetPart /* f0a40b0: 24050028 */ addiu $a1,$zero,0x28 /* f0a40b4: 8fa70038 */ lw $a3,0x38($sp) /* f0a40b8: 10400034 */ beqz $v0,.L0f0a418c /* f0a40bc: 00402025 */ or $a0,$v0,$zero /* f0a40c0: 00002825 */ or $a1,$zero,$zero /* f0a40c4: 0c006949 */ jal func0001a524 /* f0a40c8: afa70038 */ sw $a3,0x38($sp) /* f0a40cc: 3c013f80 */ lui $at,0x3f80 /* f0a40d0: 44811000 */ mtc1 $at,$f2 /* f0a40d4: 3c017f1b */ lui $at,%hi(var7f1ac8bc) /* f0a40d8: c424c8bc */ lwc1 $f4,%lo(var7f1ac8bc)($at) /* f0a40dc: 3c01800a */ lui $at,%hi(g_Vars+0x44) /* f0a40e0: c426a004 */ lwc1 $f6,%lo(g_Vars+0x44)($at) /* f0a40e4: 8fa70038 */ lw $a3,0x38($sp) /* f0a40e8: 3c01c120 */ lui $at,0xc120 /* f0a40ec: 46062202 */ mul.s $f8,$f4,$f6 /* f0a40f0: c4ea0250 */ lwc1 $f10,0x250($a3) /* f0a40f4: 44819000 */ mtc1 $at,$f18 /* f0a40f8: 00401825 */ or $v1,$v0,$zero /* f0a40fc: 46085400 */ add.s $f16,$f10,$f8 /* f0a4100: e4f00250 */ swc1 $f16,0x250($a3) /* f0a4104: c4e00250 */ lwc1 $f0,0x250($a3) /* f0a4108: 4600103c */ c.lt.s $f2,$f0 /* f0a410c: 00000000 */ nop /* f0a4110: 45000003 */ bc1f .L0f0a4120 /* f0a4114: 00000000 */ nop /* f0a4118: e4e20250 */ swc1 $f2,0x250($a3) /* f0a411c: c4e00250 */ lwc1 $f0,0x250($a3) .L0f0a4120: /* f0a4120: 46120102 */ mul.s $f4,$f0,$f18 /* f0a4124: 3c017f1b */ lui $at,%hi(var7f1ac8c0) /* f0a4128: c426c8c0 */ lwc1 $f6,%lo(var7f1ac8c0)($at) /* f0a412c: 8fae003c */ lw $t6,0x3c($sp) /* f0a4130: 44801000 */ mtc1 $zero,$f2 /* f0a4134: 00037980 */ sll $t7,$v1,0x6 /* f0a4138: 01cf2021 */ addu $a0,$t6,$t7 /* f0a413c: 46062282 */ mul.s $f10,$f4,$f6 /* f0a4140: afa4001c */ sw $a0,0x1c($sp) /* f0a4144: 27a50024 */ addiu $a1,$sp,0x24 /* f0a4148: e7a20028 */ swc1 $f2,0x28($sp) /* f0a414c: e7a2002c */ swc1 $f2,0x2c($sp) /* f0a4150: 0c0056c4 */ jal func00015b10 /* f0a4154: e7aa0024 */ swc1 $f10,0x24($sp) /* f0a4158: 8fa4001c */ lw $a0,0x1c($sp) /* f0a415c: c7b00024 */ lwc1 $f16,0x24($sp) /* f0a4160: c4880030 */ lwc1 $f8,0x30($a0) /* f0a4164: c4840034 */ lwc1 $f4,0x34($a0) /* f0a4168: 46104480 */ add.s $f18,$f8,$f16 /* f0a416c: c4880038 */ lwc1 $f8,0x38($a0) /* f0a4170: e4920030 */ swc1 $f18,0x30($a0) /* f0a4174: c7a60028 */ lwc1 $f6,0x28($sp) /* f0a4178: 46062280 */ add.s $f10,$f4,$f6 /* f0a417c: e48a0034 */ swc1 $f10,0x34($a0) /* f0a4180: c7b0002c */ lwc1 $f16,0x2c($sp) /* f0a4184: 46104480 */ add.s $f18,$f8,$f16 /* f0a4188: e4920038 */ swc1 $f18,0x38($a0) .L0f0a418c: /* f0a418c: 8fbf0014 */ lw $ra,0x14($sp) /* f0a4190: 27bd0038 */ addiu $sp,$sp,0x38 /* f0a4194: 03e00008 */ jr $ra /* f0a4198: 00000000 */ nop ); #endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a419c .late_rodata glabel var7f1ac8c4 .word 0x3c23d70a .text /* f0a419c: 27bdffc8 */ addiu $sp,$sp,-56 /* f0a41a0: afbf001c */ sw $ra,0x1c($sp) /* f0a41a4: afb00018 */ sw $s0,0x18($sp) /* f0a41a8: afa5003c */ sw $a1,0x3c($sp) /* f0a41ac: afa60040 */ sw $a2,0x40($sp) /* f0a41b0: 808e0005 */ lb $t6,0x5($a0) /* f0a41b4: 44801000 */ mtc1 $zero,$f2 /* f0a41b8: 00808025 */ or $s0,$a0,$zero /* f0a41bc: 11c00004 */ beqz $t6,.L0f0a41d0 /* f0a41c0: 3c013f80 */ lui $at,0x3f80 /* f0a41c4: 44812000 */ mtc1 $at,$f4 /* f0a41c8: 00000000 */ nop /* f0a41cc: e484023c */ swc1 $f4,0x23c($a0) .L0f0a41d0: /* f0a41d0: c600023c */ lwc1 $f0,0x23c($s0) /* f0a41d4: 3c188007 */ lui $t8,%hi(var8007022c) /* f0a41d8: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f0a41dc: 4600103c */ c.lt.s $f2,$f0 /* f0a41e0: 2718022c */ addiu $t8,$t8,%lo(var8007022c) /* f0a41e4: 27af0028 */ addiu $t7,$sp,0x28 /* f0a41e8: 00e02025 */ or $a0,$a3,$zero /* f0a41ec: 45020011 */ bc1fl .L0f0a4234 /* f0a41f0: 4600103c */ c.lt.s $f2,$f0 /* f0a41f4: c426a004 */ lwc1 $f6,%lo(g_Vars+0x4c)($at) /* f0a41f8: 3c0140c0 */ lui $at,0x40c0 /* f0a41fc: 44814000 */ mtc1 $at,$f8 /* f0a4200: 3c017f1b */ lui $at,%hi(var7f1ac8c4) /* f0a4204: 46083283 */ div.s $f10,$f6,$f8 /* f0a4208: 460a0401 */ sub.s $f16,$f0,$f10 /* f0a420c: e610023c */ swc1 $f16,0x23c($s0) /* f0a4210: c432c8c4 */ lwc1 $f18,%lo(var7f1ac8c4)($at) /* f0a4214: c600023c */ lwc1 $f0,0x23c($s0) /* f0a4218: 4612003c */ c.lt.s $f0,$f18 /* f0a421c: 00000000 */ nop /* f0a4220: 45020004 */ bc1fl .L0f0a4234 /* f0a4224: 4600103c */ c.lt.s $f2,$f0 /* f0a4228: e602023c */ swc1 $f2,0x23c($s0) /* f0a422c: c600023c */ lwc1 $f0,0x23c($s0) /* f0a4230: 4600103c */ c.lt.s $f2,$f0 .L0f0a4234: /* f0a4234: 00000000 */ nop /* f0a4238: 4502003a */ bc1fl .L0f0a4324 /* f0a423c: 8fbf001c */ lw $ra,0x1c($sp) /* f0a4240: 8f010000 */ lw $at,0x0($t8) /* f0a4244: 8f080004 */ lw $t0,0x4($t8) /* f0a4248: 24050050 */ addiu $a1,$zero,0x50 /* f0a424c: ade10000 */ sw $at,0x0($t7) /* f0a4250: 8f010008 */ lw $at,0x8($t8) /* f0a4254: ade80004 */ sw $t0,0x4($t7) /* f0a4258: 0c006a47 */ jal modelGetPart /* f0a425c: ade10008 */ sw $at,0x8($t7) /* f0a4260: 8faa0040 */ lw $t2,0x40($sp) /* f0a4264: 24090001 */ addiu $t1,$zero,0x1 /* f0a4268: 00402025 */ or $a0,$v0,$zero /* f0a426c: 1040002c */ beqz $v0,.L0f0a4320 /* f0a4270: ad490000 */ sw $t1,0x0($t2) /* f0a4274: 0c006949 */ jal func0001a524 /* f0a4278: 00002825 */ or $a1,$zero,$zero /* f0a427c: afa20034 */ sw $v0,0x34($sp) /* f0a4280: 3c013f80 */ lui $at,0x3f80 /* f0a4284: 44812000 */ mtc1 $at,$f4 /* f0a4288: c606023c */ lwc1 $f6,0x23c($s0) /* f0a428c: 3c014100 */ lui $at,0x4100 /* f0a4290: 44815000 */ mtc1 $at,$f10 /* f0a4294: 46062201 */ sub.s $f8,$f4,$f6 /* f0a4298: 3c013f00 */ lui $at,0x3f00 /* f0a429c: 44819000 */ mtc1 $at,$f18 /* f0a42a0: 8fab003c */ lw $t3,0x3c($sp) /* f0a42a4: 460a4402 */ mul.s $f16,$f8,$f10 /* f0a42a8: 00026180 */ sll $t4,$v0,0x6 /* f0a42ac: 016c2821 */ addu $a1,$t3,$t4 /* f0a42b0: 0c0057aa */ jal func00015ea8 /* f0a42b4: 46128300 */ add.s $f12,$f16,$f18 /* f0a42b8: 3c013f80 */ lui $at,0x3f80 /* f0a42bc: 44810000 */ mtc1 $at,$f0 /* f0a42c0: c604023c */ lwc1 $f4,0x23c($s0) /* f0a42c4: 3c014040 */ lui $at,0x4040 /* f0a42c8: 44814000 */ mtc1 $at,$f8 /* f0a42cc: 46040181 */ sub.s $f6,$f0,$f4 /* f0a42d0: 8fae0034 */ lw $t6,0x34($sp) /* f0a42d4: 8fad003c */ lw $t5,0x3c($sp) /* f0a42d8: 46083282 */ mul.s $f10,$f6,$f8 /* f0a42dc: 000ec980 */ sll $t9,$t6,0x6 /* f0a42e0: 01b92821 */ addu $a1,$t5,$t9 /* f0a42e4: afa50020 */ sw $a1,0x20($sp) /* f0a42e8: 0c00577c */ jal func00015df0 /* f0a42ec: 46005300 */ add.s $f12,$f10,$f0 /* f0a42f0: 3c013f80 */ lui $at,0x3f80 /* f0a42f4: 44818000 */ mtc1 $at,$f16 /* f0a42f8: c612023c */ lwc1 $f18,0x23c($s0) /* f0a42fc: 3c014040 */ lui $at,0x4040 /* f0a4300: 44813000 */ mtc1 $at,$f6 /* f0a4304: 46128101 */ sub.s $f4,$f16,$f18 /* f0a4308: 3c013f80 */ lui $at,0x3f80 /* f0a430c: 44815000 */ mtc1 $at,$f10 /* f0a4310: 8fa50020 */ lw $a1,0x20($sp) /* f0a4314: 46062202 */ mul.s $f8,$f4,$f6 /* f0a4318: 0c005793 */ jal func00015e4c /* f0a431c: 460a4300 */ add.s $f12,$f8,$f10 .L0f0a4320: /* f0a4320: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a4324: /* f0a4324: 8fb00018 */ lw $s0,0x18($sp) /* f0a4328: 27bd0038 */ addiu $sp,$sp,0x38 /* f0a432c: 03e00008 */ jr $ra /* f0a4330: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a419c .late_rodata glabel var7f1ac8c4 .word 0x3c23d70a .text /* f0a419c: 27bdffc8 */ addiu $sp,$sp,-56 /* f0a41a0: afbf001c */ sw $ra,0x1c($sp) /* f0a41a4: afb00018 */ sw $s0,0x18($sp) /* f0a41a8: afa5003c */ sw $a1,0x3c($sp) /* f0a41ac: afa60040 */ sw $a2,0x40($sp) /* f0a41b0: 808e0005 */ lb $t6,0x5($a0) /* f0a41b4: 44801000 */ mtc1 $zero,$f2 /* f0a41b8: 00808025 */ or $s0,$a0,$zero /* f0a41bc: 11c00004 */ beqz $t6,.L0f0a41d0 /* f0a41c0: 3c013f80 */ lui $at,0x3f80 /* f0a41c4: 44812000 */ mtc1 $at,$f4 /* f0a41c8: 00000000 */ nop /* f0a41cc: e484023c */ swc1 $f4,0x23c($a0) .L0f0a41d0: /* f0a41d0: c600023c */ lwc1 $f0,0x23c($s0) /* f0a41d4: 3c188007 */ lui $t8,%hi(var8007022c) /* f0a41d8: 3c01800a */ lui $at,%hi(g_Vars+0x44) /* f0a41dc: 4600103c */ c.lt.s $f2,$f0 /* f0a41e0: 2718022c */ addiu $t8,$t8,%lo(var8007022c) /* f0a41e4: 27af0028 */ addiu $t7,$sp,0x28 /* f0a41e8: 00e02025 */ or $a0,$a3,$zero /* f0a41ec: 45020011 */ bc1fl .L0f0a4234 /* f0a41f0: 4600103c */ c.lt.s $f2,$f0 /* f0a41f4: c426a004 */ lwc1 $f6,%lo(g_Vars+0x44)($at) /* f0a41f8: 3c0140c0 */ lui $at,0x40c0 /* f0a41fc: 44814000 */ mtc1 $at,$f8 /* f0a4200: 3c017f1b */ lui $at,%hi(var7f1ac8c4) /* f0a4204: 46083283 */ div.s $f10,$f6,$f8 /* f0a4208: 460a0401 */ sub.s $f16,$f0,$f10 /* f0a420c: e610023c */ swc1 $f16,0x23c($s0) /* f0a4210: c432c8c4 */ lwc1 $f18,%lo(var7f1ac8c4)($at) /* f0a4214: c600023c */ lwc1 $f0,0x23c($s0) /* f0a4218: 4612003c */ c.lt.s $f0,$f18 /* f0a421c: 00000000 */ nop /* f0a4220: 45020004 */ bc1fl .L0f0a4234 /* f0a4224: 4600103c */ c.lt.s $f2,$f0 /* f0a4228: e602023c */ swc1 $f2,0x23c($s0) /* f0a422c: c600023c */ lwc1 $f0,0x23c($s0) /* f0a4230: 4600103c */ c.lt.s $f2,$f0 .L0f0a4234: /* f0a4234: 00000000 */ nop /* f0a4238: 4502003a */ bc1fl .L0f0a4324 /* f0a423c: 8fbf001c */ lw $ra,0x1c($sp) /* f0a4240: 8f010000 */ lw $at,0x0($t8) /* f0a4244: 8f080004 */ lw $t0,0x4($t8) /* f0a4248: 24050050 */ addiu $a1,$zero,0x50 /* f0a424c: ade10000 */ sw $at,0x0($t7) /* f0a4250: 8f010008 */ lw $at,0x8($t8) /* f0a4254: ade80004 */ sw $t0,0x4($t7) /* f0a4258: 0c006a47 */ jal modelGetPart /* f0a425c: ade10008 */ sw $at,0x8($t7) /* f0a4260: 8faa0040 */ lw $t2,0x40($sp) /* f0a4264: 24090001 */ addiu $t1,$zero,0x1 /* f0a4268: 00402025 */ or $a0,$v0,$zero /* f0a426c: 1040002c */ beqz $v0,.L0f0a4320 /* f0a4270: ad490000 */ sw $t1,0x0($t2) /* f0a4274: 0c006949 */ jal func0001a524 /* f0a4278: 00002825 */ or $a1,$zero,$zero /* f0a427c: afa20034 */ sw $v0,0x34($sp) /* f0a4280: 3c013f80 */ lui $at,0x3f80 /* f0a4284: 44812000 */ mtc1 $at,$f4 /* f0a4288: c606023c */ lwc1 $f6,0x23c($s0) /* f0a428c: 3c014100 */ lui $at,0x4100 /* f0a4290: 44815000 */ mtc1 $at,$f10 /* f0a4294: 46062201 */ sub.s $f8,$f4,$f6 /* f0a4298: 3c013f00 */ lui $at,0x3f00 /* f0a429c: 44819000 */ mtc1 $at,$f18 /* f0a42a0: 8fab003c */ lw $t3,0x3c($sp) /* f0a42a4: 460a4402 */ mul.s $f16,$f8,$f10 /* f0a42a8: 00026180 */ sll $t4,$v0,0x6 /* f0a42ac: 016c2821 */ addu $a1,$t3,$t4 /* f0a42b0: 0c0057aa */ jal func00015ea8 /* f0a42b4: 46128300 */ add.s $f12,$f16,$f18 /* f0a42b8: 3c013f80 */ lui $at,0x3f80 /* f0a42bc: 44810000 */ mtc1 $at,$f0 /* f0a42c0: c604023c */ lwc1 $f4,0x23c($s0) /* f0a42c4: 3c014040 */ lui $at,0x4040 /* f0a42c8: 44814000 */ mtc1 $at,$f8 /* f0a42cc: 46040181 */ sub.s $f6,$f0,$f4 /* f0a42d0: 8fae0034 */ lw $t6,0x34($sp) /* f0a42d4: 8fad003c */ lw $t5,0x3c($sp) /* f0a42d8: 46083282 */ mul.s $f10,$f6,$f8 /* f0a42dc: 000ec980 */ sll $t9,$t6,0x6 /* f0a42e0: 01b92821 */ addu $a1,$t5,$t9 /* f0a42e4: afa50020 */ sw $a1,0x20($sp) /* f0a42e8: 0c00577c */ jal func00015df0 /* f0a42ec: 46005300 */ add.s $f12,$f10,$f0 /* f0a42f0: 3c013f80 */ lui $at,0x3f80 /* f0a42f4: 44818000 */ mtc1 $at,$f16 /* f0a42f8: c612023c */ lwc1 $f18,0x23c($s0) /* f0a42fc: 3c014040 */ lui $at,0x4040 /* f0a4300: 44813000 */ mtc1 $at,$f6 /* f0a4304: 46128101 */ sub.s $f4,$f16,$f18 /* f0a4308: 3c013f80 */ lui $at,0x3f80 /* f0a430c: 44815000 */ mtc1 $at,$f10 /* f0a4310: 8fa50020 */ lw $a1,0x20($sp) /* f0a4314: 46062202 */ mul.s $f8,$f4,$f6 /* f0a4318: 0c005793 */ jal func00015e4c /* f0a431c: 460a4300 */ add.s $f12,$f8,$f10 .L0f0a4320: /* f0a4320: 8fbf001c */ lw $ra,0x1c($sp) .L0f0a4324: /* f0a4324: 8fb00018 */ lw $s0,0x18($sp) /* f0a4328: 27bd0038 */ addiu $sp,$sp,0x38 /* f0a432c: 03e00008 */ jr $ra /* f0a4330: 00000000 */ nop ); #endif void bgun0f0a4334(struct hand *hand) { if (hand->firing && hand->gset.weaponfunc == FUNC_SECONDARY) { if (hand->audiohandle == NULL && g_Vars.lvupdate240 != 0) { sndStart(var80095200, SFX_LASER_STREAM, &hand->audiohandle, -1, -1, -1, -1, -1); } hand->matmot1 = 1; return; } if (hand->matmot1 > 0) { #if VERSION >= VERSION_PAL_FINAL hand->matmot1 -= g_Vars.lvupdate240freal / 10.0f; #else hand->matmot1 -= g_Vars.lvupdate240f / 10.0f; #endif } else if (hand->audiohandle != NULL && audioIsPlaying(hand->audiohandle)) { audioStop(hand->audiohandle); } } GLOBAL_ASM( glabel bgun0f0a4438 .late_rodata glabel var7f1ac8c8 .word 0x411fffff .text /* f0a4438: 27bdff60 */ addiu $sp,$sp,-160 /* f0a443c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f0a4440: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f0a4444: afbf0044 */ sw $ra,0x44($sp) /* f0a4448: afb60040 */ sw $s6,0x40($sp) /* f0a444c: afb5003c */ sw $s5,0x3c($sp) /* f0a4450: afb40038 */ sw $s4,0x38($sp) /* f0a4454: afb30034 */ sw $s3,0x34($sp) /* f0a4458: afb20030 */ sw $s2,0x30($sp) /* f0a445c: afb1002c */ sw $s1,0x2c($sp) /* f0a4460: afb00028 */ sw $s0,0x28($sp) /* f0a4464: f7b60020 */ sdc1 $f22,0x20($sp) /* f0a4468: f7b40018 */ sdc1 $f20,0x18($sp) /* f0a446c: 00c09825 */ or $s3,$a2,$zero /* f0a4470: 0080a025 */ or $s4,$a0,$zero /* f0a4474: 00e0a825 */ or $s5,$a3,$zero /* f0a4478: 00a0b025 */ or $s6,$a1,$zero /* f0a447c: 10c00030 */ beqz $a2,.L0f0a4540 /* f0a4480: c5d60078 */ lwc1 $f22,0x78($t6) /* f0a4484: 8c8f0690 */ lw $t7,0x690($a0) /* f0a4488: 00008825 */ or $s1,$zero,$zero /* f0a448c: 3c017f1b */ lui $at,%hi(var7f1ac8c8) /* f0a4490: 000fc0c0 */ sll $t8,$t7,0x3 /* f0a4494: 0018cf42 */ srl $t9,$t8,0x1d /* f0a4498: 1b200029 */ blez $t9,.L0f0a4540 /* f0a449c: 24120006 */ addiu $s2,$zero,0x6 /* f0a44a0: c434c8c8 */ lwc1 $f20,%lo(var7f1ac8c8)($at) /* f0a44a4: 27b0004c */ addiu $s0,$sp,0x4c .L0f0a44a8: /* f0a44a8: 0c004b70 */ jal random /* f0a44ac: 00000000 */ nop /* f0a44b0: 0052001b */ divu $zero,$v0,$s2 /* f0a44b4: 00002810 */ mfhi $a1 /* f0a44b8: 24a5000a */ addiu $a1,$a1,0xa /* f0a44bc: 02602025 */ or $a0,$s3,$zero /* f0a44c0: 16400002 */ bnez $s2,.L0f0a44cc /* f0a44c4: 00000000 */ nop /* f0a44c8: 0007000d */ break 0x7 .L0f0a44cc: /* f0a44cc: 0c006a47 */ jal modelGetPart /* f0a44d0: 00000000 */ nop /* f0a44d4: 10400013 */ beqz $v0,.L0f0a4524 /* f0a44d8: 00402025 */ or $a0,$v0,$zero /* f0a44dc: 0c006949 */ jal func0001a524 /* f0a44e0: 00002825 */ or $a1,$zero,$zero /* f0a44e4: 00024180 */ sll $t0,$v0,0x6 /* f0a44e8: 02a82021 */ addu $a0,$s5,$t0 /* f0a44ec: 0c005746 */ jal func00015d18 /* f0a44f0: 02002825 */ or $a1,$s0,$zero /* f0a44f4: 4600a306 */ mov.s $f12,$f20 /* f0a44f8: 0c0057c1 */ jal func00015f04 /* f0a44fc: 02002825 */ or $a1,$s0,$zero /* f0a4500: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a4504: 00000000 */ nop /* f0a4508: 00402025 */ or $a0,$v0,$zero /* f0a450c: 0c00567f */ jal func000159fc /* f0a4510: 02002825 */ or $a1,$s0,$zero /* f0a4514: 4405b000 */ mfc1 $a1,$f22 /* f0a4518: 02c02025 */ or $a0,$s6,$zero /* f0a451c: 0fc2b780 */ jal func0f0ade00 /* f0a4520: 02003025 */ or $a2,$s0,$zero .L0f0a4524: /* f0a4524: 8e890690 */ lw $t1,0x690($s4) /* f0a4528: 26310001 */ addiu $s1,$s1,0x1 /* f0a452c: 000950c0 */ sll $t2,$t1,0x3 /* f0a4530: 000a5f42 */ srl $t3,$t2,0x1d /* f0a4534: 022b082a */ slt $at,$s1,$t3 /* f0a4538: 1420ffdb */ bnez $at,.L0f0a44a8 /* f0a453c: 00000000 */ nop .L0f0a4540: /* f0a4540: 8fbf0044 */ lw $ra,0x44($sp) /* f0a4544: d7b40018 */ ldc1 $f20,0x18($sp) /* f0a4548: d7b60020 */ ldc1 $f22,0x20($sp) /* f0a454c: 8fb00028 */ lw $s0,0x28($sp) /* f0a4550: 8fb1002c */ lw $s1,0x2c($sp) /* f0a4554: 8fb20030 */ lw $s2,0x30($sp) /* f0a4558: 8fb30034 */ lw $s3,0x34($sp) /* f0a455c: 8fb40038 */ lw $s4,0x38($sp) /* f0a4560: 8fb5003c */ lw $s5,0x3c($sp) /* f0a4564: 8fb60040 */ lw $s6,0x40($sp) /* f0a4568: 03e00008 */ jr $ra /* f0a456c: 27bd00a0 */ addiu $sp,$sp,0xa0 ); void bgun0f0a4570(struct hand *hand, s32 handnum, struct weaponfunc_shootprojectile *func) { if (hand->rocket == NULL && hand->loadedammo[0] > 0) { bgun0f09f974(handnum, func); } if (hand->rocket) { bgun0f09f848(handnum); } } void bgun0f0a256c(void); void bgun0f0a45d0(struct hand *hand, struct modelfiledata *filedata, bool arg2) { struct modelnode *node = NULL; switch (hand->unk0d0e_04) { case 0: if (arg2) { node = modelGetPart(filedata, 0x2a); } else { node = modelGetPart(filedata, 0x37); } break; case 1: node = modelGetPart(filedata, 0x2b); break; case 2: node = modelGetPart(filedata, 0x2b); break; } if (node) { var8009d148 = func0001a524(node, 0); var8005efcc = bgun0f0a256c; } else { var8009d148 = -1; } } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a46a4 .late_rodata glabel var7f1ac8cc .word 0x3f088888 glabel var7f1ac8d0 .word 0x41713c65 glabel var7f1ac8d4 .word 0x3d0bd8cf glabel var7f1ac8d8 .word 0x41713c65 glabel var7f1ac8dc .word 0x3d0bd8cf glabel var7f1ac8e0 .word 0x41713c65 glabel var7f1ac8e4 .word 0x3d0bd8cf glabel var7f1ac8e8 .word 0x3f088888 glabel var7f1ac8ec .word 0x40f13c65 glabel var7f1ac8f0 .word 0x41713c65 glabel var7f1ac8f4 .word 0x3c3d3463 glabel var7f1ac8f8 .word 0x41713c65 glabel var7f1ac8fc .word 0x3c3d3463 glabel var7f1ac900 .word 0x40f13c65 glabel var7f1ac904 .word 0x41713c65 glabel var7f1ac908 .word 0x3bda10fd glabel var7f1ac90c .word 0x41713c65 glabel var7f1ac910 .word 0x3bda10fd glabel var7f1ac914 .word 0x3e99999a glabel var7f1ac918 .word 0x3e8e38e4 .text /* f0a49d8: 27bdff20 */ addiu $sp,$sp,-224 /* f0a49dc: afbf0024 */ sw $ra,0x24($sp) /* f0a49e0: afb00020 */ sw $s0,0x20($sp) /* f0a49e4: f7b40018 */ sdc1 $f20,0x18($sp) /* f0a49e8: afa500e4 */ sw $a1,0xe4($sp) /* f0a49ec: afa600e8 */ sw $a2,0xe8($sp) /* f0a49f0: 948206d6 */ lhu $v0,0x6d6($a0) /* f0a49f4: 24030001 */ li $v1,0x1 /* f0a49f8: 00808025 */ move $s0,$a0 /* f0a49fc: 00027302 */ srl $t6,$v0,0xc /* f0a4a00: 11c30005 */ beq $t6,$v1,.PF0f0a4a18 /* f0a4a04: 24010002 */ li $at,0x2 /* f0a4a08: 11c1018d */ beq $t6,$at,.PF0f0a5040 /* f0a4a0c: 3c03800a */ lui $v1,0x800a /* f0a4a10: 100001ce */ b .PF0f0a514c /* f0a4a14: 8fbf0024 */ lw $ra,0x24($sp) .PF0f0a4a18: /* f0a4a18: 8e0206d4 */ lw $v0,0x6d4($s0) /* f0a4a1c: 00027d00 */ sll $t7,$v0,0x14 /* f0a4a20: 000fc742 */ srl $t8,$t7,0x1d /* f0a4a24: 13000007 */ beqz $t8,.PF0f0a4a44 /* f0a4a28: 00000000 */ nop /* f0a4a2c: 1303006c */ beq $t8,$v1,.PF0f0a4be0 /* f0a4a30: 24010002 */ li $at,0x2 /* f0a4a34: 530100e3 */ beql $t8,$at,.PF0f0a4dc4 /* f0a4a38: 44802000 */ mtc1 $zero,$f4 /* f0a4a3c: 10000140 */ b .PF0f0a4f40 /* f0a4a40: 3c014348 */ lui $at,0x4348 .PF0f0a4a44: /* f0a4a44: 0c004ad4 */ jal random /* f0a4a48: 00000000 */ nop /* f0a4a4c: 3c017f1b */ lui $at,0x7f1b /* f0a4a50: c420dacc */ lwc1 $f0,-0x2534($at) /* f0a4a54: 44822000 */ mtc1 $v0,$f4 /* f0a4a58: 3c012f80 */ lui $at,0x2f80 /* f0a4a5c: 4481a000 */ mtc1 $at,$f20 /* f0a4a60: 04410005 */ bgez $v0,.PF0f0a4a78 /* f0a4a64: 468021a0 */ cvt.s.w $f6,$f4 /* f0a4a68: 3c014f80 */ lui $at,0x4f80 /* f0a4a6c: 44814000 */ mtc1 $at,$f8 /* f0a4a70: 00000000 */ nop /* f0a4a74: 46083180 */ add.s $f6,$f6,$f8 .PF0f0a4a78: /* f0a4a78: 46143282 */ mul.s $f10,$f6,$f20 /* f0a4a7c: 3c013f00 */ lui $at,0x3f00 /* f0a4a80: 44818000 */ mtc1 $at,$f16 /* f0a4a84: 3c013d80 */ lui $at,0x3d80 /* f0a4a88: 44814000 */ mtc1 $at,$f8 /* f0a4a8c: 46105481 */ sub.s $f18,$f10,$f16 /* f0a4a90: 46009102 */ mul.s $f4,$f18,$f0 /* f0a4a94: 00000000 */ nop /* f0a4a98: 46082182 */ mul.s $f6,$f4,$f8 /* f0a4a9c: 46003280 */ add.s $f10,$f6,$f0 /* f0a4aa0: 0c004ad4 */ jal random /* f0a4aa4: e60a06e8 */ swc1 $f10,0x6e8($s0) /* f0a4aa8: 44828000 */ mtc1 $v0,$f16 /* f0a4aac: 3c014020 */ lui $at,0x4020 /* f0a4ab0: 44810000 */ mtc1 $at,$f0 /* f0a4ab4: 04410005 */ bgez $v0,.PF0f0a4acc /* f0a4ab8: 468084a0 */ cvt.s.w $f18,$f16 /* f0a4abc: 3c014f80 */ lui $at,0x4f80 /* f0a4ac0: 44812000 */ mtc1 $at,$f4 /* f0a4ac4: 00000000 */ nop /* f0a4ac8: 46049480 */ add.s $f18,$f18,$f4 .PF0f0a4acc: /* f0a4acc: 46149202 */ mul.s $f8,$f18,$f20 /* f0a4ad0: 3c013d80 */ lui $at,0x3d80 /* f0a4ad4: 44815000 */ mtc1 $at,$f10 /* f0a4ad8: 44809000 */ mtc1 $zero,$f18 /* f0a4adc: 00000000 */ nop /* f0a4ae0: e61206f0 */ swc1 $f18,0x6f0($s0) /* f0a4ae4: 46004182 */ mul.s $f6,$f8,$f0 /* f0a4ae8: 00000000 */ nop /* f0a4aec: 460a3402 */ mul.s $f16,$f6,$f10 /* f0a4af0: 46008100 */ add.s $f4,$f16,$f0 /* f0a4af4: 0c004ad4 */ jal random /* f0a4af8: e60406ec */ swc1 $f4,0x6ec($s0) /* f0a4afc: 44824000 */ mtc1 $v0,$f8 /* f0a4b00: 3c014f80 */ lui $at,0x4f80 /* f0a4b04: 04410004 */ bgez $v0,.PF0f0a4b18 /* f0a4b08: 468041a0 */ cvt.s.w $f6,$f8 /* f0a4b0c: 44815000 */ mtc1 $at,$f10 /* f0a4b10: 00000000 */ nop /* f0a4b14: 460a3180 */ add.s $f6,$f6,$f10 .PF0f0a4b18: /* f0a4b18: 46143402 */ mul.s $f16,$f6,$f20 /* f0a4b1c: 3c017f1b */ lui $at,0x7f1b /* f0a4b20: c424dad0 */ lwc1 $f4,-0x2530($at) /* f0a4b24: 3c014338 */ lui $at,0x4338 /* f0a4b28: 44814000 */ mtc1 $at,$f8 /* f0a4b2c: 3c017f1b */ lui $at,0x7f1b /* f0a4b30: c426dad4 */ lwc1 $f6,-0x252c($at) /* f0a4b34: 46048482 */ mul.s $f18,$f16,$f4 /* f0a4b38: 46089283 */ div.s $f10,$f18,$f8 /* f0a4b3c: 46065401 */ sub.s $f16,$f10,$f6 /* f0a4b40: 0c004ad4 */ jal random /* f0a4b44: e7b000d0 */ swc1 $f16,0xd0($sp) /* f0a4b48: 44822000 */ mtc1 $v0,$f4 /* f0a4b4c: 3c014f80 */ lui $at,0x4f80 /* f0a4b50: 04410004 */ bgez $v0,.PF0f0a4b64 /* f0a4b54: 468024a0 */ cvt.s.w $f18,$f4 /* f0a4b58: 44814000 */ mtc1 $at,$f8 /* f0a4b5c: 00000000 */ nop /* f0a4b60: 46089480 */ add.s $f18,$f18,$f8 .PF0f0a4b64: /* f0a4b64: 46149282 */ mul.s $f10,$f18,$f20 /* f0a4b68: 3c017f1b */ lui $at,0x7f1b /* f0a4b6c: c426dad8 */ lwc1 $f6,-0x2528($at) /* f0a4b70: 3c014338 */ lui $at,0x4338 /* f0a4b74: 44812000 */ mtc1 $at,$f4 /* f0a4b78: 3c017f1b */ lui $at,0x7f1b /* f0a4b7c: c432dadc */ lwc1 $f18,-0x2524($at) /* f0a4b80: 46065402 */ mul.s $f16,$f10,$f6 /* f0a4b84: 46048203 */ div.s $f8,$f16,$f4 /* f0a4b88: 46124281 */ sub.s $f10,$f8,$f18 /* f0a4b8c: 0c004ad4 */ jal random /* f0a4b90: e7aa00d4 */ swc1 $f10,0xd4($sp) /* f0a4b94: 44823000 */ mtc1 $v0,$f6 /* f0a4b98: 3c014f80 */ lui $at,0x4f80 /* f0a4b9c: 04410004 */ bgez $v0,.PF0f0a4bb0 /* f0a4ba0: 46803420 */ cvt.s.w $f16,$f6 /* f0a4ba4: 44812000 */ mtc1 $at,$f4 /* f0a4ba8: 00000000 */ nop /* f0a4bac: 46048400 */ add.s $f16,$f16,$f4 .PF0f0a4bb0: /* f0a4bb0: 46148202 */ mul.s $f8,$f16,$f20 /* f0a4bb4: 3c017f1b */ lui $at,0x7f1b /* f0a4bb8: c432dae0 */ lwc1 $f18,-0x2520($at) /* f0a4bbc: 3c014338 */ lui $at,0x4338 /* f0a4bc0: 44813000 */ mtc1 $at,$f6 /* f0a4bc4: 3c017f1b */ lui $at,0x7f1b /* f0a4bc8: c430dae4 */ lwc1 $f16,-0x251c($at) /* f0a4bcc: 46124282 */ mul.s $f10,$f8,$f18 /* f0a4bd0: 46065103 */ div.s $f4,$f10,$f6 /* f0a4bd4: 46102201 */ sub.s $f8,$f4,$f16 /* f0a4bd8: 100000d8 */ b .PF0f0a4f3c /* f0a4bdc: e7a800d8 */ swc1 $f8,0xd8($sp) .PF0f0a4be0: /* f0a4be0: 0c004ad4 */ jal random /* f0a4be4: 00000000 */ nop /* f0a4be8: 3c017f1b */ lui $at,0x7f1b /* f0a4bec: c420dae8 */ lwc1 $f0,-0x2518($at) /* f0a4bf0: 44829000 */ mtc1 $v0,$f18 /* f0a4bf4: 3c012f80 */ lui $at,0x2f80 /* f0a4bf8: 4481a000 */ mtc1 $at,$f20 /* f0a4bfc: 04410005 */ bgez $v0,.PF0f0a4c14 /* f0a4c00: 468092a0 */ cvt.s.w $f10,$f18 /* f0a4c04: 3c014f80 */ lui $at,0x4f80 /* f0a4c08: 44813000 */ mtc1 $at,$f6 /* f0a4c0c: 00000000 */ nop /* f0a4c10: 46065280 */ add.s $f10,$f10,$f6 .PF0f0a4c14: /* f0a4c14: 46145102 */ mul.s $f4,$f10,$f20 /* f0a4c18: 3c013f00 */ lui $at,0x3f00 /* f0a4c1c: 44818000 */ mtc1 $at,$f16 /* f0a4c20: 3c013d80 */ lui $at,0x3d80 /* f0a4c24: 44813000 */ mtc1 $at,$f6 /* f0a4c28: 3c014040 */ lui $at,0x4040 /* f0a4c2c: 46102201 */ sub.s $f8,$f4,$f16 /* f0a4c30: 44812000 */ mtc1 $at,$f4 /* f0a4c34: 46004482 */ mul.s $f18,$f8,$f0 /* f0a4c38: 00000000 */ nop /* f0a4c3c: 46069282 */ mul.s $f10,$f18,$f6 /* f0a4c40: 00000000 */ nop /* f0a4c44: 46002402 */ mul.s $f16,$f4,$f0 /* f0a4c48: 46105200 */ add.s $f8,$f10,$f16 /* f0a4c4c: 46004487 */ neg.s $f18,$f8 /* f0a4c50: 0c004ad4 */ jal random /* f0a4c54: e61206e8 */ swc1 $f18,0x6e8($s0) /* f0a4c58: 44823000 */ mtc1 $v0,$f6 /* f0a4c5c: 3c014020 */ lui $at,0x4020 /* f0a4c60: 44810000 */ mtc1 $at,$f0 /* f0a4c64: 04410005 */ bgez $v0,.PF0f0a4c7c /* f0a4c68: 46803120 */ cvt.s.w $f4,$f6 /* f0a4c6c: 3c014f80 */ lui $at,0x4f80 /* f0a4c70: 44815000 */ mtc1 $at,$f10 /* f0a4c74: 00000000 */ nop /* f0a4c78: 460a2100 */ add.s $f4,$f4,$f10 .PF0f0a4c7c: /* f0a4c7c: 46142402 */ mul.s $f16,$f4,$f20 /* f0a4c80: 3c013e00 */ lui $at,0x3e00 /* f0a4c84: 44819000 */ mtc1 $at,$f18 /* f0a4c88: 46008202 */ mul.s $f8,$f16,$f0 /* f0a4c8c: 00000000 */ nop /* f0a4c90: 46124182 */ mul.s $f6,$f8,$f18 /* f0a4c94: 46003280 */ add.s $f10,$f6,$f0 /* f0a4c98: 0c004ad4 */ jal random /* f0a4c9c: e60a06ec */ swc1 $f10,0x6ec($s0) /* f0a4ca0: 44822000 */ mtc1 $v0,$f4 /* f0a4ca4: 3c014f80 */ lui $at,0x4f80 /* f0a4ca8: 04410004 */ bgez $v0,.PF0f0a4cbc /* f0a4cac: 46802420 */ cvt.s.w $f16,$f4 /* f0a4cb0: 44814000 */ mtc1 $at,$f8 /* f0a4cb4: 00000000 */ nop /* f0a4cb8: 46088400 */ add.s $f16,$f16,$f8 .PF0f0a4cbc: /* f0a4cbc: 46148482 */ mul.s $f18,$f16,$f20 /* f0a4cc0: 3c013f80 */ lui $at,0x3f80 /* f0a4cc4: 44813000 */ mtc1 $at,$f6 /* f0a4cc8: 00000000 */ nop /* f0a4ccc: 46069280 */ add.s $f10,$f18,$f6 /* f0a4cd0: 46005107 */ neg.s $f4,$f10 /* f0a4cd4: 0c004ad4 */ jal random /* f0a4cd8: e60406f0 */ swc1 $f4,0x6f0($s0) /* f0a4cdc: 44824000 */ mtc1 $v0,$f8 /* f0a4ce0: 3c014f80 */ lui $at,0x4f80 /* f0a4ce4: 04410004 */ bgez $v0,.PF0f0a4cf8 /* f0a4ce8: 46804420 */ cvt.s.w $f16,$f8 /* f0a4cec: 44819000 */ mtc1 $at,$f18 /* f0a4cf0: 00000000 */ nop /* f0a4cf4: 46128400 */ add.s $f16,$f16,$f18 .PF0f0a4cf8: /* f0a4cf8: 46148182 */ mul.s $f6,$f16,$f20 /* f0a4cfc: 3c014040 */ lui $at,0x4040 /* f0a4d00: 44815000 */ mtc1 $at,$f10 /* f0a4d04: 3c017f1b */ lui $at,0x7f1b /* f0a4d08: c428daec */ lwc1 $f8,-0x2514($at) /* f0a4d0c: 3c014350 */ lui $at,0x4350 /* f0a4d10: 44818000 */ mtc1 $at,$f16 /* f0a4d14: 460a3100 */ add.s $f4,$f6,$f10 /* f0a4d18: 46082482 */ mul.s $f18,$f4,$f8 /* f0a4d1c: 46109183 */ div.s $f6,$f18,$f16 /* f0a4d20: 0c004ad4 */ jal random /* f0a4d24: e7a600d0 */ swc1 $f6,0xd0($sp) /* f0a4d28: 44825000 */ mtc1 $v0,$f10 /* f0a4d2c: 3c014f80 */ lui $at,0x4f80 /* f0a4d30: 04410004 */ bgez $v0,.PF0f0a4d44 /* f0a4d34: 46805120 */ cvt.s.w $f4,$f10 /* f0a4d38: 44814000 */ mtc1 $at,$f8 /* f0a4d3c: 00000000 */ nop /* f0a4d40: 46082100 */ add.s $f4,$f4,$f8 .PF0f0a4d44: /* f0a4d44: 46142482 */ mul.s $f18,$f4,$f20 /* f0a4d48: 3c017f1b */ lui $at,0x7f1b /* f0a4d4c: c430daf0 */ lwc1 $f16,-0x2510($at) /* f0a4d50: 3c014408 */ lui $at,0x4408 /* f0a4d54: 44815000 */ mtc1 $at,$f10 /* f0a4d58: 3c017f1b */ lui $at,0x7f1b /* f0a4d5c: c424daf4 */ lwc1 $f4,-0x250c($at) /* f0a4d60: 46109182 */ mul.s $f6,$f18,$f16 /* f0a4d64: 460a3203 */ div.s $f8,$f6,$f10 /* f0a4d68: 46044481 */ sub.s $f18,$f8,$f4 /* f0a4d6c: 0c004ad4 */ jal random /* f0a4d70: e7b200d4 */ swc1 $f18,0xd4($sp) /* f0a4d74: 44828000 */ mtc1 $v0,$f16 /* f0a4d78: 3c014f80 */ lui $at,0x4f80 /* f0a4d7c: 04410004 */ bgez $v0,.PF0f0a4d90 /* f0a4d80: 468081a0 */ cvt.s.w $f6,$f16 /* f0a4d84: 44815000 */ mtc1 $at,$f10 /* f0a4d88: 00000000 */ nop /* f0a4d8c: 460a3180 */ add.s $f6,$f6,$f10 .PF0f0a4d90: /* f0a4d90: 46143202 */ mul.s $f8,$f6,$f20 /* f0a4d94: 3c017f1b */ lui $at,0x7f1b /* f0a4d98: c424daf8 */ lwc1 $f4,-0x2508($at) /* f0a4d9c: 3c014408 */ lui $at,0x4408 /* f0a4da0: 44818000 */ mtc1 $at,$f16 /* f0a4da4: 3c017f1b */ lui $at,0x7f1b /* f0a4da8: c426dafc */ lwc1 $f6,-0x2504($at) /* f0a4dac: 46044482 */ mul.s $f18,$f8,$f4 /* f0a4db0: 46109283 */ div.s $f10,$f18,$f16 /* f0a4db4: 46065201 */ sub.s $f8,$f10,$f6 /* f0a4db8: 10000060 */ b .PF0f0a4f3c /* f0a4dbc: e7a800d8 */ swc1 $f8,0xd8($sp) /* f0a4dc0: 44802000 */ mtc1 $zero,$f4 .PF0f0a4dc4: /* f0a4dc4: 0c004ad4 */ jal random /* f0a4dc8: e60406e8 */ swc1 $f4,0x6e8($s0) /* f0a4dcc: 3c014020 */ lui $at,0x4020 /* f0a4dd0: 44810000 */ mtc1 $at,$f0 /* f0a4dd4: 44829000 */ mtc1 $v0,$f18 /* f0a4dd8: 3c012f80 */ lui $at,0x2f80 /* f0a4ddc: 4481a000 */ mtc1 $at,$f20 /* f0a4de0: 04410005 */ bgez $v0,.PF0f0a4df8 /* f0a4de4: 46809420 */ cvt.s.w $f16,$f18 /* f0a4de8: 3c014f80 */ lui $at,0x4f80 /* f0a4dec: 44815000 */ mtc1 $at,$f10 /* f0a4df0: 00000000 */ nop /* f0a4df4: 460a8400 */ add.s $f16,$f16,$f10 .PF0f0a4df8: /* f0a4df8: 46148182 */ mul.s $f6,$f16,$f20 /* f0a4dfc: 3c013e00 */ lui $at,0x3e00 /* f0a4e00: 44812000 */ mtc1 $at,$f4 /* f0a4e04: 46003202 */ mul.s $f8,$f6,$f0 /* f0a4e08: 00000000 */ nop /* f0a4e0c: 46044482 */ mul.s $f18,$f8,$f4 /* f0a4e10: 46009280 */ add.s $f10,$f18,$f0 /* f0a4e14: 0c004ad4 */ jal random /* f0a4e18: e60a06ec */ swc1 $f10,0x6ec($s0) /* f0a4e1c: 44828000 */ mtc1 $v0,$f16 /* f0a4e20: 3c014f80 */ lui $at,0x4f80 /* f0a4e24: 04410004 */ bgez $v0,.PF0f0a4e38 /* f0a4e28: 468081a0 */ cvt.s.w $f6,$f16 /* f0a4e2c: 44814000 */ mtc1 $at,$f8 /* f0a4e30: 00000000 */ nop /* f0a4e34: 46083180 */ add.s $f6,$f6,$f8 .PF0f0a4e38: /* f0a4e38: 46143102 */ mul.s $f4,$f6,$f20 /* f0a4e3c: 3c013f80 */ lui $at,0x3f80 /* f0a4e40: 44819000 */ mtc1 $at,$f18 /* f0a4e44: 3c013e80 */ lui $at,0x3e80 /* f0a4e48: 44818000 */ mtc1 $at,$f16 /* f0a4e4c: 46122280 */ add.s $f10,$f4,$f18 /* f0a4e50: 46105202 */ mul.s $f8,$f10,$f16 /* f0a4e54: 0c004ad4 */ jal random /* f0a4e58: e60806f0 */ swc1 $f8,0x6f0($s0) /* f0a4e5c: 44823000 */ mtc1 $v0,$f6 /* f0a4e60: 3c014f80 */ lui $at,0x4f80 /* f0a4e64: 04410004 */ bgez $v0,.PF0f0a4e78 /* f0a4e68: 46803120 */ cvt.s.w $f4,$f6 /* f0a4e6c: 44819000 */ mtc1 $at,$f18 /* f0a4e70: 00000000 */ nop /* f0a4e74: 46122100 */ add.s $f4,$f4,$f18 .PF0f0a4e78: /* f0a4e78: 46142282 */ mul.s $f10,$f4,$f20 /* f0a4e7c: 3c014040 */ lui $at,0x4040 /* f0a4e80: 44818000 */ mtc1 $at,$f16 /* f0a4e84: 3c017f1b */ lui $at,0x7f1b /* f0a4e88: c426db00 */ lwc1 $f6,-0x2500($at) /* f0a4e8c: 3c0143b8 */ lui $at,0x43b8 /* f0a4e90: 44812000 */ mtc1 $at,$f4 /* f0a4e94: 46105200 */ add.s $f8,$f10,$f16 /* f0a4e98: 46064482 */ mul.s $f18,$f8,$f6 /* f0a4e9c: 46049283 */ div.s $f10,$f18,$f4 /* f0a4ea0: 0c004ad4 */ jal random /* f0a4ea4: e7aa00d0 */ swc1 $f10,0xd0($sp) /* f0a4ea8: 44828000 */ mtc1 $v0,$f16 /* f0a4eac: 3c014f80 */ lui $at,0x4f80 /* f0a4eb0: 04410004 */ bgez $v0,.PF0f0a4ec4 /* f0a4eb4: 46808220 */ cvt.s.w $f8,$f16 /* f0a4eb8: 44813000 */ mtc1 $at,$f6 /* f0a4ebc: 00000000 */ nop /* f0a4ec0: 46064200 */ add.s $f8,$f8,$f6 .PF0f0a4ec4: /* f0a4ec4: 46144482 */ mul.s $f18,$f8,$f20 /* f0a4ec8: 3c017f1b */ lui $at,0x7f1b /* f0a4ecc: c424db04 */ lwc1 $f4,-0x24fc($at) /* f0a4ed0: 3c01446c */ lui $at,0x446c /* f0a4ed4: 44818000 */ mtc1 $at,$f16 /* f0a4ed8: 3c017f1b */ lui $at,0x7f1b /* f0a4edc: c428db08 */ lwc1 $f8,-0x24f8($at) /* f0a4ee0: 46049282 */ mul.s $f10,$f18,$f4 /* f0a4ee4: 46105183 */ div.s $f6,$f10,$f16 /* f0a4ee8: 46083481 */ sub.s $f18,$f6,$f8 /* f0a4eec: 0c004ad4 */ jal random /* f0a4ef0: e7b200d4 */ swc1 $f18,0xd4($sp) /* f0a4ef4: 44822000 */ mtc1 $v0,$f4 /* f0a4ef8: 3c014f80 */ lui $at,0x4f80 /* f0a4efc: 04410004 */ bgez $v0,.PF0f0a4f10 /* f0a4f00: 468022a0 */ cvt.s.w $f10,$f4 /* f0a4f04: 44818000 */ mtc1 $at,$f16 /* f0a4f08: 00000000 */ nop /* f0a4f0c: 46105280 */ add.s $f10,$f10,$f16 .PF0f0a4f10: /* f0a4f10: 46145182 */ mul.s $f6,$f10,$f20 /* f0a4f14: 3c017f1b */ lui $at,0x7f1b /* f0a4f18: c428db0c */ lwc1 $f8,-0x24f4($at) /* f0a4f1c: 3c01446c */ lui $at,0x446c /* f0a4f20: 44812000 */ mtc1 $at,$f4 /* f0a4f24: 3c017f1b */ lui $at,0x7f1b /* f0a4f28: c42adb10 */ lwc1 $f10,-0x24f0($at) /* f0a4f2c: 46083482 */ mul.s $f18,$f6,$f8 /* f0a4f30: 46049403 */ div.s $f16,$f18,$f4 /* f0a4f34: 460a8181 */ sub.s $f6,$f16,$f10 /* f0a4f38: e7a600d8 */ swc1 $f6,0xd8($sp) .PF0f0a4f3c: /* f0a4f3c: 3c014348 */ lui $at,0x4348 .PF0f0a4f40: /* f0a4f40: 44819000 */ mtc1 $at,$f18 /* f0a4f44: c60806dc */ lwc1 $f8,0x6dc($s0) /* f0a4f48: 27a400d0 */ addiu $a0,$sp,0xd0 /* f0a4f4c: 27a50090 */ addiu $a1,$sp,0x90 /* f0a4f50: 46124101 */ sub.s $f4,$f8,$f18 /* f0a4f54: 0c005887 */ jal func0001648c /* f0a4f58: e60406d8 */ swc1 $f4,0x6d8($s0) /* f0a4f5c: 27a40090 */ addiu $a0,$sp,0x90 /* f0a4f60: 0c0056cc */ jal func00015da0 /* f0a4f64: 26050718 */ addiu $a1,$s0,0x718 /* f0a4f68: 3c03800a */ lui $v1,0x800a /* f0a4f6c: 2463a510 */ addiu $v1,$v1,-23280 /* f0a4f70: 8c790034 */ lw $t9,0x34($v1) /* f0a4f74: 5b20002e */ blezl $t9,.PF0f0a5030 /* f0a4f78: 920b06d6 */ lbu $t3,0x6d6($s0) /* f0a4f7c: 8e0806d4 */ lw $t0,0x6d4($s0) /* f0a4f80: 00084d00 */ sll $t1,$t0,0x14 /* f0a4f84: 00095742 */ srl $t2,$t1,0x1d /* f0a4f88: 51400029 */ beqzl $t2,.PF0f0a5030 /* f0a4f8c: 920b06d6 */ lbu $t3,0x6d6($s0) /* f0a4f90: c6100324 */ lwc1 $f16,0x324($s0) /* f0a4f94: c60a0364 */ lwc1 $f10,0x364($s0) /* f0a4f98: c460004c */ lwc1 $f0,0x4c($v1) /* f0a4f9c: 260402f4 */ addiu $a0,$s0,0x2f4 /* f0a4fa0: 460a8181 */ sub.s $f6,$f16,$f10 /* f0a4fa4: 27a50044 */ addiu $a1,$sp,0x44 /* f0a4fa8: 46003203 */ div.s $f8,$f6,$f0 /* f0a4fac: e7a80084 */ swc1 $f8,0x84($sp) /* f0a4fb0: c6040368 */ lwc1 $f4,0x368($s0) /* f0a4fb4: c6120328 */ lwc1 $f18,0x328($s0) /* f0a4fb8: 46049401 */ sub.s $f16,$f18,$f4 /* f0a4fbc: 46008283 */ div.s $f10,$f16,$f0 /* f0a4fc0: e7aa0088 */ swc1 $f10,0x88($sp) /* f0a4fc4: c608036c */ lwc1 $f8,0x36c($s0) /* f0a4fc8: c606032c */ lwc1 $f6,0x32c($s0) /* f0a4fcc: 46083481 */ sub.s $f18,$f6,$f8 /* f0a4fd0: 46009103 */ div.s $f4,$f18,$f0 /* f0a4fd4: 0c005cc6 */ jal func00017588 /* f0a4fd8: e7a4008c */ swc1 $f4,0x8c($sp) /* f0a4fdc: 27a40044 */ addiu $a0,$sp,0x44 /* f0a4fe0: 0c005628 */ jal func00015b10 /* f0a4fe4: 27a50084 */ addiu $a1,$sp,0x84 /* f0a4fe8: 3c017f1b */ lui $at,0x7f1b /* f0a4fec: c420db14 */ lwc1 $f0,-0x24ec($at) /* f0a4ff0: c7aa0084 */ lwc1 $f10,0x84($sp) /* f0a4ff4: c61006e8 */ lwc1 $f16,0x6e8($s0) /* f0a4ff8: c61206ec */ lwc1 $f18,0x6ec($s0) /* f0a4ffc: 46005182 */ mul.s $f6,$f10,$f0 /* f0a5000: 46068200 */ add.s $f8,$f16,$f6 /* f0a5004: c60606f0 */ lwc1 $f6,0x6f0($s0) /* f0a5008: e60806e8 */ swc1 $f8,0x6e8($s0) /* f0a500c: c7a40088 */ lwc1 $f4,0x88($sp) /* f0a5010: 46002282 */ mul.s $f10,$f4,$f0 /* f0a5014: 460a9400 */ add.s $f16,$f18,$f10 /* f0a5018: e61006ec */ swc1 $f16,0x6ec($s0) /* f0a501c: c7a8008c */ lwc1 $f8,0x8c($sp) /* f0a5020: 46004102 */ mul.s $f4,$f8,$f0 /* f0a5024: 46043480 */ add.s $f18,$f6,$f4 /* f0a5028: e61206f0 */ swc1 $f18,0x6f0($s0) /* f0a502c: 920b06d6 */ lbu $t3,0x6d6($s0) .PF0f0a5030: /* f0a5030: 316cff0f */ andi $t4,$t3,0xff0f /* f0a5034: 358d0020 */ ori $t5,$t4,0x20 /* f0a5038: 10000043 */ b .PF0f0a5148 /* f0a503c: a20d06d6 */ sb $t5,0x6d6($s0) .PF0f0a5040: /* f0a5040: 2463a510 */ addiu $v1,$v1,-23280 /* f0a5044: 8c6e0284 */ lw $t6,0x284($v1) /* f0a5048: c460004c */ lwc1 $f0,0x4c($v1) /* f0a504c: 3c013fc0 */ lui $at,0x3fc0 /* f0a5050: 8dcf00d8 */ lw $t7,0xd8($t6) /* f0a5054: 11e00008 */ beqz $t7,.PF0f0a5078 /* f0a5058: 00000000 */ nop /* f0a505c: 44811000 */ mtc1 $at,$f2 /* f0a5060: 00000000 */ nop /* f0a5064: 4600103c */ c.lt.s $f2,$f0 /* f0a5068: 00000000 */ nop /* f0a506c: 45000002 */ bc1f .PF0f0a5078 /* f0a5070: 00000000 */ nop /* f0a5074: 46001006 */ mov.s $f0,$f2 .PF0f0a5078: /* f0a5078: 3c017f1b */ lui $at,0x7f1b /* f0a507c: c42adb18 */ lwc1 $f10,-0x24e8($at) /* f0a5080: c60e06e0 */ lwc1 $f14,0x6e0($s0) /* f0a5084: c60806d8 */ lwc1 $f8,0x6d8($s0) /* f0a5088: 460a0402 */ mul.s $f16,$f0,$f10 /* f0a508c: c60206ec */ lwc1 $f2,0x6ec($s0) /* f0a5090: 4608703c */ c.lt.s $f14,$f8 /* f0a5094: 3c013f00 */ lui $at,0x3f00 /* f0a5098: 45000006 */ bc1f .PF0f0a50b4 /* f0a509c: 46101301 */ sub.s $f12,$f2,$f16 /* f0a50a0: 921806d6 */ lbu $t8,0x6d6($s0) /* f0a50a4: 3319ff0f */ andi $t9,$t8,0xff0f /* f0a50a8: 37280030 */ ori $t0,$t9,0x30 /* f0a50ac: 10000026 */ b .PF0f0a5148 /* f0a50b0: a20806d6 */ sb $t0,0x6d6($s0) .PF0f0a50b4: /* f0a50b4: 44813000 */ mtc1 $at,$f6 /* f0a50b8: 460c1480 */ add.s $f18,$f2,$f12 /* f0a50bc: c60806dc */ lwc1 $f8,0x6dc($s0) /* f0a50c0: 46060102 */ mul.s $f4,$f0,$f6 /* f0a50c4: c60606e8 */ lwc1 $f6,0x6e8($s0) /* f0a50c8: e60c06ec */ swc1 $f12,0x6ec($s0) /* f0a50cc: 00001025 */ move $v0,$zero /* f0a50d0: 26040718 */ addiu $a0,$s0,0x718 /* f0a50d4: 260506f4 */ addiu $a1,$s0,0x6f4 /* f0a50d8: 46122282 */ mul.s $f10,$f4,$f18 /* f0a50dc: 460a7400 */ add.s $f16,$f14,$f10 /* f0a50e0: 46060102 */ mul.s $f4,$f0,$f6 /* f0a50e4: c60a06e4 */ lwc1 $f10,0x6e4($s0) /* f0a50e8: e61006e0 */ swc1 $f16,0x6e0($s0) /* f0a50ec: c61006f0 */ lwc1 $f16,0x6f0($s0) /* f0a50f0: 46100182 */ mul.s $f6,$f0,$f16 /* f0a50f4: 46044480 */ add.s $f18,$f8,$f4 /* f0a50f8: e61206dc */ swc1 $f18,0x6dc($s0) /* f0a50fc: 46065200 */ add.s $f8,$f10,$f6 /* f0a5100: e60806e4 */ swc1 $f8,0x6e4($s0) /* f0a5104: 8c690034 */ lw $t1,0x34($v1) /* f0a5108: 59200010 */ blezl $t1,.PF0f0a514c /* f0a510c: 8fbf0024 */ lw $ra,0x24($sp) /* f0a5110: afa40030 */ sw $a0,0x30($sp) /* f0a5114: afa5002c */ sw $a1,0x2c($sp) /* f0a5118: 8fa40030 */ lw $a0,0x30($sp) .PF0f0a511c: /* f0a511c: 8fa5002c */ lw $a1,0x2c($sp) /* f0a5120: 0c0057a8 */ jal func00016110 /* f0a5124: afa20040 */ sw $v0,0x40($sp) /* f0a5128: 3c03800a */ lui $v1,0x800a /* f0a512c: 8fa20040 */ lw $v0,0x40($sp) /* f0a5130: 2463a510 */ addiu $v1,$v1,-23280 /* f0a5134: 8c6a0034 */ lw $t2,0x34($v1) /* f0a5138: 24420001 */ addiu $v0,$v0,0x1 /* f0a513c: 004a082a */ slt $at,$v0,$t2 /* f0a5140: 5420fff6 */ bnezl $at,.PF0f0a511c /* f0a5144: 8fa40030 */ lw $a0,0x30($sp) .PF0f0a5148: /* f0a5148: 8fbf0024 */ lw $ra,0x24($sp) .PF0f0a514c: /* f0a514c: d7b40018 */ ldc1 $f20,0x18($sp) /* f0a5150: 8fb00020 */ lw $s0,0x20($sp) /* f0a5154: 03e00008 */ jr $ra /* f0a5158: 27bd00e0 */ addiu $sp,$sp,0xe0 ); #else GLOBAL_ASM( glabel bgun0f0a46a4 .late_rodata glabel var7f1ac8cc .word 0x3f088888 glabel var7f1ac8d0 .word 0x40c907a9 glabel var7f1ac8d4 .word 0x3d0bd8cf glabel var7f1ac8d8 .word 0x40c907a9 glabel var7f1ac8dc .word 0x3d0bd8cf glabel var7f1ac8e0 .word 0x40c907a9 glabel var7f1ac8e4 .word 0x3d0bd8cf glabel var7f1ac8e8 .word 0x3f088888 glabel var7f1ac8ec .word 0x40c907a9 glabel var7f1ac8f0 .word 0x40c907a9 glabel var7f1ac8f4 .word 0x3c3d3463 glabel var7f1ac8f8 .word 0x40c907a9 glabel var7f1ac8fc .word 0x3c3d3463 glabel var7f1ac900 .word 0x40c907a9 glabel var7f1ac904 .word 0x40c907a9 glabel var7f1ac908 .word 0x3bda10fd glabel var7f1ac90c .word 0x40c907a9 glabel var7f1ac910 .word 0x3bda10fd glabel var7f1ac914 .word 0x3e99999a glabel var7f1ac918 .word 0x3e8e38e4 .text /* f0a46a4: 27bdff20 */ addiu $sp,$sp,-224 /* f0a46a8: afbf0024 */ sw $ra,0x24($sp) /* f0a46ac: afb00020 */ sw $s0,0x20($sp) /* f0a46b0: f7b40018 */ sdc1 $f20,0x18($sp) /* f0a46b4: afa500e4 */ sw $a1,0xe4($sp) /* f0a46b8: afa600e8 */ sw $a2,0xe8($sp) /* f0a46bc: 948206d6 */ lhu $v0,0x6d6($a0) /* f0a46c0: 24030001 */ addiu $v1,$zero,0x1 /* f0a46c4: 00808025 */ or $s0,$a0,$zero /* f0a46c8: 00027302 */ srl $t6,$v0,0xc /* f0a46cc: 11c30005 */ beq $t6,$v1,.L0f0a46e4 /* f0a46d0: 24010002 */ addiu $at,$zero,0x2 /* f0a46d4: 11c10194 */ beq $t6,$at,.L0f0a4d28 /* f0a46d8: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a46dc: 100001d5 */ b .L0f0a4e34 /* f0a46e0: 8fbf0024 */ lw $ra,0x24($sp) .L0f0a46e4: /* f0a46e4: 8e0206d4 */ lw $v0,0x6d4($s0) /* f0a46e8: 00027d00 */ sll $t7,$v0,0x14 /* f0a46ec: 000fc742 */ srl $t8,$t7,0x1d /* f0a46f0: 13000007 */ beqz $t8,.L0f0a4710 /* f0a46f4: 00000000 */ nop /* f0a46f8: 1303006f */ beq $t8,$v1,.L0f0a48b8 /* f0a46fc: 24010002 */ addiu $at,$zero,0x2 /* f0a4700: 530100e8 */ beql $t8,$at,.L0f0a4aa4 /* f0a4704: 44802000 */ mtc1 $zero,$f4 /* f0a4708: 10000147 */ b .L0f0a4c28 /* f0a470c: 3c014348 */ lui $at,0x4348 .L0f0a4710: /* f0a4710: 0c004b70 */ jal random /* f0a4714: 00000000 */ nop /* f0a4718: 3c017f1b */ lui $at,%hi(var7f1ac8cc) /* f0a471c: c420c8cc */ lwc1 $f0,%lo(var7f1ac8cc)($at) /* f0a4720: 44822000 */ mtc1 $v0,$f4 /* f0a4724: 3c012f80 */ lui $at,0x2f80 /* f0a4728: 4481a000 */ mtc1 $at,$f20 /* f0a472c: 04410005 */ bgez $v0,.L0f0a4744 /* f0a4730: 468021a0 */ cvt.s.w $f6,$f4 /* f0a4734: 3c014f80 */ lui $at,0x4f80 /* f0a4738: 44814000 */ mtc1 $at,$f8 /* f0a473c: 00000000 */ nop /* f0a4740: 46083180 */ add.s $f6,$f6,$f8 .L0f0a4744: /* f0a4744: 46143282 */ mul.s $f10,$f6,$f20 /* f0a4748: 3c013f00 */ lui $at,0x3f00 /* f0a474c: 44818000 */ mtc1 $at,$f16 /* f0a4750: 3c013d80 */ lui $at,0x3d80 /* f0a4754: 44814000 */ mtc1 $at,$f8 /* f0a4758: 46105481 */ sub.s $f18,$f10,$f16 /* f0a475c: 46009102 */ mul.s $f4,$f18,$f0 /* f0a4760: 00000000 */ nop /* f0a4764: 46082182 */ mul.s $f6,$f4,$f8 /* f0a4768: 46003280 */ add.s $f10,$f6,$f0 /* f0a476c: 0c004b70 */ jal random /* f0a4770: e60a06e8 */ swc1 $f10,0x6e8($s0) /* f0a4774: 44828000 */ mtc1 $v0,$f16 /* f0a4778: 3c014020 */ lui $at,0x4020 /* f0a477c: 44810000 */ mtc1 $at,$f0 /* f0a4780: 04410005 */ bgez $v0,.L0f0a4798 /* f0a4784: 468084a0 */ cvt.s.w $f18,$f16 /* f0a4788: 3c014f80 */ lui $at,0x4f80 /* f0a478c: 44812000 */ mtc1 $at,$f4 /* f0a4790: 00000000 */ nop /* f0a4794: 46049480 */ add.s $f18,$f18,$f4 .L0f0a4798: /* f0a4798: 46149202 */ mul.s $f8,$f18,$f20 /* f0a479c: 3c013d80 */ lui $at,0x3d80 /* f0a47a0: 44815000 */ mtc1 $at,$f10 /* f0a47a4: 44809000 */ mtc1 $zero,$f18 /* f0a47a8: 00000000 */ nop /* f0a47ac: e61206f0 */ swc1 $f18,0x6f0($s0) /* f0a47b0: 46004182 */ mul.s $f6,$f8,$f0 /* f0a47b4: 00000000 */ nop /* f0a47b8: 460a3402 */ mul.s $f16,$f6,$f10 /* f0a47bc: 46008100 */ add.s $f4,$f16,$f0 /* f0a47c0: 0c004b70 */ jal random /* f0a47c4: e60406ec */ swc1 $f4,0x6ec($s0) /* f0a47c8: 44824000 */ mtc1 $v0,$f8 /* f0a47cc: 3c014f80 */ lui $at,0x4f80 /* f0a47d0: 04410004 */ bgez $v0,.L0f0a47e4 /* f0a47d4: 468041a0 */ cvt.s.w $f6,$f8 /* f0a47d8: 44815000 */ mtc1 $at,$f10 /* f0a47dc: 00000000 */ nop /* f0a47e0: 460a3180 */ add.s $f6,$f6,$f10 .L0f0a47e4: /* f0a47e4: 46143002 */ mul.s $f0,$f6,$f20 /* f0a47e8: 3c017f1b */ lui $at,%hi(var7f1ac8d0) /* f0a47ec: c424c8d0 */ lwc1 $f4,%lo(var7f1ac8d0)($at) /* f0a47f0: 3c014338 */ lui $at,0x4338 /* f0a47f4: 44814000 */ mtc1 $at,$f8 /* f0a47f8: 3c017f1b */ lui $at,%hi(var7f1ac8d4) /* f0a47fc: c426c8d4 */ lwc1 $f6,%lo(var7f1ac8d4)($at) /* f0a4800: 46000400 */ add.s $f16,$f0,$f0 /* f0a4804: 46048482 */ mul.s $f18,$f16,$f4 /* f0a4808: 46089283 */ div.s $f10,$f18,$f8 /* f0a480c: 46065401 */ sub.s $f16,$f10,$f6 /* f0a4810: 0c004b70 */ jal random /* f0a4814: e7b000d0 */ swc1 $f16,0xd0($sp) /* f0a4818: 44822000 */ mtc1 $v0,$f4 /* f0a481c: 3c014f80 */ lui $at,0x4f80 /* f0a4820: 04410004 */ bgez $v0,.L0f0a4834 /* f0a4824: 468024a0 */ cvt.s.w $f18,$f4 /* f0a4828: 44814000 */ mtc1 $at,$f8 /* f0a482c: 00000000 */ nop /* f0a4830: 46089480 */ add.s $f18,$f18,$f8 .L0f0a4834: /* f0a4834: 46149002 */ mul.s $f0,$f18,$f20 /* f0a4838: 3c017f1b */ lui $at,%hi(var7f1ac8d8) /* f0a483c: c426c8d8 */ lwc1 $f6,%lo(var7f1ac8d8)($at) /* f0a4840: 3c014338 */ lui $at,0x4338 /* f0a4844: 44812000 */ mtc1 $at,$f4 /* f0a4848: 3c017f1b */ lui $at,%hi(var7f1ac8dc) /* f0a484c: c432c8dc */ lwc1 $f18,%lo(var7f1ac8dc)($at) /* f0a4850: 46000280 */ add.s $f10,$f0,$f0 /* f0a4854: 46065402 */ mul.s $f16,$f10,$f6 /* f0a4858: 46048203 */ div.s $f8,$f16,$f4 /* f0a485c: 46124281 */ sub.s $f10,$f8,$f18 /* f0a4860: 0c004b70 */ jal random /* f0a4864: e7aa00d4 */ swc1 $f10,0xd4($sp) /* f0a4868: 44823000 */ mtc1 $v0,$f6 /* f0a486c: 3c014f80 */ lui $at,0x4f80 /* f0a4870: 04410004 */ bgez $v0,.L0f0a4884 /* f0a4874: 46803420 */ cvt.s.w $f16,$f6 /* f0a4878: 44812000 */ mtc1 $at,$f4 /* f0a487c: 00000000 */ nop /* f0a4880: 46048400 */ add.s $f16,$f16,$f4 .L0f0a4884: /* f0a4884: 46148002 */ mul.s $f0,$f16,$f20 /* f0a4888: 3c017f1b */ lui $at,%hi(var7f1ac8e0) /* f0a488c: c432c8e0 */ lwc1 $f18,%lo(var7f1ac8e0)($at) /* f0a4890: 3c014338 */ lui $at,0x4338 /* f0a4894: 44813000 */ mtc1 $at,$f6 /* f0a4898: 3c017f1b */ lui $at,%hi(var7f1ac8e4) /* f0a489c: c430c8e4 */ lwc1 $f16,%lo(var7f1ac8e4)($at) /* f0a48a0: 46000200 */ add.s $f8,$f0,$f0 /* f0a48a4: 46124282 */ mul.s $f10,$f8,$f18 /* f0a48a8: 46065103 */ div.s $f4,$f10,$f6 /* f0a48ac: 46102201 */ sub.s $f8,$f4,$f16 /* f0a48b0: 100000dc */ b .L0f0a4c24 /* f0a48b4: e7a800d8 */ swc1 $f8,0xd8($sp) .L0f0a48b8: /* f0a48b8: 0c004b70 */ jal random /* f0a48bc: 00000000 */ nop /* f0a48c0: 3c017f1b */ lui $at,%hi(var7f1ac8e8) /* f0a48c4: c420c8e8 */ lwc1 $f0,%lo(var7f1ac8e8)($at) /* f0a48c8: 44829000 */ mtc1 $v0,$f18 /* f0a48cc: 3c012f80 */ lui $at,0x2f80 /* f0a48d0: 4481a000 */ mtc1 $at,$f20 /* f0a48d4: 04410005 */ bgez $v0,.L0f0a48ec /* f0a48d8: 468092a0 */ cvt.s.w $f10,$f18 /* f0a48dc: 3c014f80 */ lui $at,0x4f80 /* f0a48e0: 44813000 */ mtc1 $at,$f6 /* f0a48e4: 00000000 */ nop /* f0a48e8: 46065280 */ add.s $f10,$f10,$f6 .L0f0a48ec: /* f0a48ec: 46145102 */ mul.s $f4,$f10,$f20 /* f0a48f0: 3c013f00 */ lui $at,0x3f00 /* f0a48f4: 44818000 */ mtc1 $at,$f16 /* f0a48f8: 3c013d80 */ lui $at,0x3d80 /* f0a48fc: 44813000 */ mtc1 $at,$f6 /* f0a4900: 3c014040 */ lui $at,0x4040 /* f0a4904: 46102201 */ sub.s $f8,$f4,$f16 /* f0a4908: 44812000 */ mtc1 $at,$f4 /* f0a490c: 46004482 */ mul.s $f18,$f8,$f0 /* f0a4910: 00000000 */ nop /* f0a4914: 46069282 */ mul.s $f10,$f18,$f6 /* f0a4918: 00000000 */ nop /* f0a491c: 46002402 */ mul.s $f16,$f4,$f0 /* f0a4920: 46105200 */ add.s $f8,$f10,$f16 /* f0a4924: 46004487 */ neg.s $f18,$f8 /* f0a4928: 0c004b70 */ jal random /* f0a492c: e61206e8 */ swc1 $f18,0x6e8($s0) /* f0a4930: 44823000 */ mtc1 $v0,$f6 /* f0a4934: 3c014020 */ lui $at,0x4020 /* f0a4938: 44810000 */ mtc1 $at,$f0 /* f0a493c: 04410005 */ bgez $v0,.L0f0a4954 /* f0a4940: 46803120 */ cvt.s.w $f4,$f6 /* f0a4944: 3c014f80 */ lui $at,0x4f80 /* f0a4948: 44815000 */ mtc1 $at,$f10 /* f0a494c: 00000000 */ nop /* f0a4950: 460a2100 */ add.s $f4,$f4,$f10 .L0f0a4954: /* f0a4954: 46142402 */ mul.s $f16,$f4,$f20 /* f0a4958: 3c013e00 */ lui $at,0x3e00 /* f0a495c: 44819000 */ mtc1 $at,$f18 /* f0a4960: 46008202 */ mul.s $f8,$f16,$f0 /* f0a4964: 00000000 */ nop /* f0a4968: 46124182 */ mul.s $f6,$f8,$f18 /* f0a496c: 46003280 */ add.s $f10,$f6,$f0 /* f0a4970: 0c004b70 */ jal random /* f0a4974: e60a06ec */ swc1 $f10,0x6ec($s0) /* f0a4978: 44822000 */ mtc1 $v0,$f4 /* f0a497c: 3c014f80 */ lui $at,0x4f80 /* f0a4980: 04410004 */ bgez $v0,.L0f0a4994 /* f0a4984: 46802420 */ cvt.s.w $f16,$f4 /* f0a4988: 44814000 */ mtc1 $at,$f8 /* f0a498c: 00000000 */ nop /* f0a4990: 46088400 */ add.s $f16,$f16,$f8 .L0f0a4994: /* f0a4994: 46148482 */ mul.s $f18,$f16,$f20 /* f0a4998: 3c013f80 */ lui $at,0x3f80 /* f0a499c: 44813000 */ mtc1 $at,$f6 /* f0a49a0: 00000000 */ nop /* f0a49a4: 46069280 */ add.s $f10,$f18,$f6 /* f0a49a8: 46005107 */ neg.s $f4,$f10 /* f0a49ac: 0c004b70 */ jal random /* f0a49b0: e60406f0 */ swc1 $f4,0x6f0($s0) /* f0a49b4: 44824000 */ mtc1 $v0,$f8 /* f0a49b8: 3c014f80 */ lui $at,0x4f80 /* f0a49bc: 04410004 */ bgez $v0,.L0f0a49d0 /* f0a49c0: 46804420 */ cvt.s.w $f16,$f8 /* f0a49c4: 44819000 */ mtc1 $at,$f18 /* f0a49c8: 00000000 */ nop /* f0a49cc: 46128400 */ add.s $f16,$f16,$f18 .L0f0a49d0: /* f0a49d0: 46148182 */ mul.s $f6,$f16,$f20 /* f0a49d4: 3c014040 */ lui $at,0x4040 /* f0a49d8: 44815000 */ mtc1 $at,$f10 /* f0a49dc: 3c017f1b */ lui $at,%hi(var7f1ac8ec) /* f0a49e0: c428c8ec */ lwc1 $f8,%lo(var7f1ac8ec)($at) /* f0a49e4: 3c014350 */ lui $at,0x4350 /* f0a49e8: 44818000 */ mtc1 $at,$f16 /* f0a49ec: 460a3100 */ add.s $f4,$f6,$f10 /* f0a49f0: 46082482 */ mul.s $f18,$f4,$f8 /* f0a49f4: 46109183 */ div.s $f6,$f18,$f16 /* f0a49f8: 0c004b70 */ jal random /* f0a49fc: e7a600d0 */ swc1 $f6,0xd0($sp) /* f0a4a00: 44825000 */ mtc1 $v0,$f10 /* f0a4a04: 3c014f80 */ lui $at,0x4f80 /* f0a4a08: 04410004 */ bgez $v0,.L0f0a4a1c /* f0a4a0c: 46805120 */ cvt.s.w $f4,$f10 /* f0a4a10: 44814000 */ mtc1 $at,$f8 /* f0a4a14: 00000000 */ nop /* f0a4a18: 46082100 */ add.s $f4,$f4,$f8 .L0f0a4a1c: /* f0a4a1c: 46142002 */ mul.s $f0,$f4,$f20 /* f0a4a20: 3c017f1b */ lui $at,%hi(var7f1ac8f0) /* f0a4a24: c430c8f0 */ lwc1 $f16,%lo(var7f1ac8f0)($at) /* f0a4a28: 3c014408 */ lui $at,0x4408 /* f0a4a2c: 44815000 */ mtc1 $at,$f10 /* f0a4a30: 3c017f1b */ lui $at,%hi(var7f1ac8f4) /* f0a4a34: c424c8f4 */ lwc1 $f4,%lo(var7f1ac8f4)($at) /* f0a4a38: 46000480 */ add.s $f18,$f0,$f0 /* f0a4a3c: 46109182 */ mul.s $f6,$f18,$f16 /* f0a4a40: 460a3203 */ div.s $f8,$f6,$f10 /* f0a4a44: 46044481 */ sub.s $f18,$f8,$f4 /* f0a4a48: 0c004b70 */ jal random /* f0a4a4c: e7b200d4 */ swc1 $f18,0xd4($sp) /* f0a4a50: 44828000 */ mtc1 $v0,$f16 /* f0a4a54: 3c014f80 */ lui $at,0x4f80 /* f0a4a58: 04410004 */ bgez $v0,.L0f0a4a6c /* f0a4a5c: 468081a0 */ cvt.s.w $f6,$f16 /* f0a4a60: 44815000 */ mtc1 $at,$f10 /* f0a4a64: 00000000 */ nop /* f0a4a68: 460a3180 */ add.s $f6,$f6,$f10 .L0f0a4a6c: /* f0a4a6c: 46143002 */ mul.s $f0,$f6,$f20 /* f0a4a70: 3c017f1b */ lui $at,%hi(var7f1ac8f8) /* f0a4a74: c424c8f8 */ lwc1 $f4,%lo(var7f1ac8f8)($at) /* f0a4a78: 3c014408 */ lui $at,0x4408 /* f0a4a7c: 44818000 */ mtc1 $at,$f16 /* f0a4a80: 3c017f1b */ lui $at,%hi(var7f1ac8fc) /* f0a4a84: c426c8fc */ lwc1 $f6,%lo(var7f1ac8fc)($at) /* f0a4a88: 46000200 */ add.s $f8,$f0,$f0 /* f0a4a8c: 46044482 */ mul.s $f18,$f8,$f4 /* f0a4a90: 46109283 */ div.s $f10,$f18,$f16 /* f0a4a94: 46065201 */ sub.s $f8,$f10,$f6 /* f0a4a98: 10000062 */ b .L0f0a4c24 /* f0a4a9c: e7a800d8 */ swc1 $f8,0xd8($sp) /* f0a4aa0: 44802000 */ mtc1 $zero,$f4 .L0f0a4aa4: /* f0a4aa4: 0c004b70 */ jal random /* f0a4aa8: e60406e8 */ swc1 $f4,0x6e8($s0) /* f0a4aac: 3c014020 */ lui $at,0x4020 /* f0a4ab0: 44810000 */ mtc1 $at,$f0 /* f0a4ab4: 44829000 */ mtc1 $v0,$f18 /* f0a4ab8: 3c012f80 */ lui $at,0x2f80 /* f0a4abc: 4481a000 */ mtc1 $at,$f20 /* f0a4ac0: 04410005 */ bgez $v0,.L0f0a4ad8 /* f0a4ac4: 46809420 */ cvt.s.w $f16,$f18 /* f0a4ac8: 3c014f80 */ lui $at,0x4f80 /* f0a4acc: 44815000 */ mtc1 $at,$f10 /* f0a4ad0: 00000000 */ nop /* f0a4ad4: 460a8400 */ add.s $f16,$f16,$f10 .L0f0a4ad8: /* f0a4ad8: 46148182 */ mul.s $f6,$f16,$f20 /* f0a4adc: 3c013e00 */ lui $at,0x3e00 /* f0a4ae0: 44812000 */ mtc1 $at,$f4 /* f0a4ae4: 46003202 */ mul.s $f8,$f6,$f0 /* f0a4ae8: 00000000 */ nop /* f0a4aec: 46044482 */ mul.s $f18,$f8,$f4 /* f0a4af0: 46009280 */ add.s $f10,$f18,$f0 /* f0a4af4: 0c004b70 */ jal random /* f0a4af8: e60a06ec */ swc1 $f10,0x6ec($s0) /* f0a4afc: 44828000 */ mtc1 $v0,$f16 /* f0a4b00: 3c014f80 */ lui $at,0x4f80 /* f0a4b04: 04410004 */ bgez $v0,.L0f0a4b18 /* f0a4b08: 468081a0 */ cvt.s.w $f6,$f16 /* f0a4b0c: 44814000 */ mtc1 $at,$f8 /* f0a4b10: 00000000 */ nop /* f0a4b14: 46083180 */ add.s $f6,$f6,$f8 .L0f0a4b18: /* f0a4b18: 46143102 */ mul.s $f4,$f6,$f20 /* f0a4b1c: 3c013f80 */ lui $at,0x3f80 /* f0a4b20: 44819000 */ mtc1 $at,$f18 /* f0a4b24: 3c013e80 */ lui $at,0x3e80 /* f0a4b28: 44818000 */ mtc1 $at,$f16 /* f0a4b2c: 46122280 */ add.s $f10,$f4,$f18 /* f0a4b30: 46105202 */ mul.s $f8,$f10,$f16 /* f0a4b34: 0c004b70 */ jal random /* f0a4b38: e60806f0 */ swc1 $f8,0x6f0($s0) /* f0a4b3c: 44823000 */ mtc1 $v0,$f6 /* f0a4b40: 3c014f80 */ lui $at,0x4f80 /* f0a4b44: 04410004 */ bgez $v0,.L0f0a4b58 /* f0a4b48: 46803120 */ cvt.s.w $f4,$f6 /* f0a4b4c: 44819000 */ mtc1 $at,$f18 /* f0a4b50: 00000000 */ nop /* f0a4b54: 46122100 */ add.s $f4,$f4,$f18 .L0f0a4b58: /* f0a4b58: 46142282 */ mul.s $f10,$f4,$f20 /* f0a4b5c: 3c014040 */ lui $at,0x4040 /* f0a4b60: 44818000 */ mtc1 $at,$f16 /* f0a4b64: 3c017f1b */ lui $at,%hi(var7f1ac900) /* f0a4b68: c426c900 */ lwc1 $f6,%lo(var7f1ac900)($at) /* f0a4b6c: 3c0143b8 */ lui $at,0x43b8 /* f0a4b70: 44812000 */ mtc1 $at,$f4 /* f0a4b74: 46105200 */ add.s $f8,$f10,$f16 /* f0a4b78: 46064482 */ mul.s $f18,$f8,$f6 /* f0a4b7c: 46049283 */ div.s $f10,$f18,$f4 /* f0a4b80: 0c004b70 */ jal random /* f0a4b84: e7aa00d0 */ swc1 $f10,0xd0($sp) /* f0a4b88: 44828000 */ mtc1 $v0,$f16 /* f0a4b8c: 3c014f80 */ lui $at,0x4f80 /* f0a4b90: 04410004 */ bgez $v0,.L0f0a4ba4 /* f0a4b94: 46808220 */ cvt.s.w $f8,$f16 /* f0a4b98: 44813000 */ mtc1 $at,$f6 /* f0a4b9c: 00000000 */ nop /* f0a4ba0: 46064200 */ add.s $f8,$f8,$f6 .L0f0a4ba4: /* f0a4ba4: 46144002 */ mul.s $f0,$f8,$f20 /* f0a4ba8: 3c017f1b */ lui $at,%hi(var7f1ac904) /* f0a4bac: c424c904 */ lwc1 $f4,%lo(var7f1ac904)($at) /* f0a4bb0: 3c01446c */ lui $at,0x446c /* f0a4bb4: 44818000 */ mtc1 $at,$f16 /* f0a4bb8: 3c017f1b */ lui $at,%hi(var7f1ac908) /* f0a4bbc: c428c908 */ lwc1 $f8,%lo(var7f1ac908)($at) /* f0a4bc0: 46000480 */ add.s $f18,$f0,$f0 /* f0a4bc4: 46049282 */ mul.s $f10,$f18,$f4 /* f0a4bc8: 46105183 */ div.s $f6,$f10,$f16 /* f0a4bcc: 46083481 */ sub.s $f18,$f6,$f8 /* f0a4bd0: 0c004b70 */ jal random /* f0a4bd4: e7b200d4 */ swc1 $f18,0xd4($sp) /* f0a4bd8: 44822000 */ mtc1 $v0,$f4 /* f0a4bdc: 3c014f80 */ lui $at,0x4f80 /* f0a4be0: 04410004 */ bgez $v0,.L0f0a4bf4 /* f0a4be4: 468022a0 */ cvt.s.w $f10,$f4 /* f0a4be8: 44818000 */ mtc1 $at,$f16 /* f0a4bec: 00000000 */ nop /* f0a4bf0: 46105280 */ add.s $f10,$f10,$f16 .L0f0a4bf4: /* f0a4bf4: 46145002 */ mul.s $f0,$f10,$f20 /* f0a4bf8: 3c017f1b */ lui $at,%hi(var7f1ac90c) /* f0a4bfc: c428c90c */ lwc1 $f8,%lo(var7f1ac90c)($at) /* f0a4c00: 3c01446c */ lui $at,0x446c /* f0a4c04: 44812000 */ mtc1 $at,$f4 /* f0a4c08: 3c017f1b */ lui $at,%hi(var7f1ac910) /* f0a4c0c: c42ac910 */ lwc1 $f10,%lo(var7f1ac910)($at) /* f0a4c10: 46000180 */ add.s $f6,$f0,$f0 /* f0a4c14: 46083482 */ mul.s $f18,$f6,$f8 /* f0a4c18: 46049403 */ div.s $f16,$f18,$f4 /* f0a4c1c: 460a8181 */ sub.s $f6,$f16,$f10 /* f0a4c20: e7a600d8 */ swc1 $f6,0xd8($sp) .L0f0a4c24: /* f0a4c24: 3c014348 */ lui $at,0x4348 .L0f0a4c28: /* f0a4c28: 44819000 */ mtc1 $at,$f18 /* f0a4c2c: c60806dc */ lwc1 $f8,0x6dc($s0) /* f0a4c30: 27a400d0 */ addiu $a0,$sp,0xd0 /* f0a4c34: 27a50090 */ addiu $a1,$sp,0x90 /* f0a4c38: 46124101 */ sub.s $f4,$f8,$f18 /* f0a4c3c: 0c005923 */ jal func0001648c /* f0a4c40: e60406d8 */ swc1 $f4,0x6d8($s0) /* f0a4c44: 27a40090 */ addiu $a0,$sp,0x90 /* f0a4c48: 0c005768 */ jal func00015da0 /* f0a4c4c: 26050718 */ addiu $a1,$s0,0x718 /* f0a4c50: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a4c54: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0a4c58: 8c790034 */ lw $t9,0x34($v1) /* f0a4c5c: 5b20002e */ blezl $t9,.L0f0a4d18 /* f0a4c60: 920b06d6 */ lbu $t3,0x6d6($s0) /* f0a4c64: 8e0806d4 */ lw $t0,0x6d4($s0) /* f0a4c68: 00084d00 */ sll $t1,$t0,0x14 /* f0a4c6c: 00095742 */ srl $t2,$t1,0x1d /* f0a4c70: 51400029 */ beqzl $t2,.L0f0a4d18 /* f0a4c74: 920b06d6 */ lbu $t3,0x6d6($s0) /* f0a4c78: c6100324 */ lwc1 $f16,0x324($s0) /* f0a4c7c: c60a0364 */ lwc1 $f10,0x364($s0) /* f0a4c80: c460004c */ lwc1 $f0,0x4c($v1) /* f0a4c84: 260402f4 */ addiu $a0,$s0,0x2f4 /* f0a4c88: 460a8181 */ sub.s $f6,$f16,$f10 /* f0a4c8c: 27a50044 */ addiu $a1,$sp,0x44 /* f0a4c90: 46003203 */ div.s $f8,$f6,$f0 /* f0a4c94: e7a80084 */ swc1 $f8,0x84($sp) /* f0a4c98: c6040368 */ lwc1 $f4,0x368($s0) /* f0a4c9c: c6120328 */ lwc1 $f18,0x328($s0) /* f0a4ca0: 46049401 */ sub.s $f16,$f18,$f4 /* f0a4ca4: 46008283 */ div.s $f10,$f16,$f0 /* f0a4ca8: e7aa0088 */ swc1 $f10,0x88($sp) /* f0a4cac: c608036c */ lwc1 $f8,0x36c($s0) /* f0a4cb0: c606032c */ lwc1 $f6,0x32c($s0) /* f0a4cb4: 46083481 */ sub.s $f18,$f6,$f8 /* f0a4cb8: 46009103 */ div.s $f4,$f18,$f0 /* f0a4cbc: 0c005d62 */ jal func00017588 /* f0a4cc0: e7a4008c */ swc1 $f4,0x8c($sp) /* f0a4cc4: 27a40044 */ addiu $a0,$sp,0x44 /* f0a4cc8: 0c0056c4 */ jal func00015b10 /* f0a4ccc: 27a50084 */ addiu $a1,$sp,0x84 /* f0a4cd0: 3c017f1b */ lui $at,%hi(var7f1ac914) /* f0a4cd4: c420c914 */ lwc1 $f0,%lo(var7f1ac914)($at) /* f0a4cd8: c7aa0084 */ lwc1 $f10,0x84($sp) /* f0a4cdc: c61006e8 */ lwc1 $f16,0x6e8($s0) /* f0a4ce0: c61206ec */ lwc1 $f18,0x6ec($s0) /* f0a4ce4: 46005182 */ mul.s $f6,$f10,$f0 /* f0a4ce8: 46068200 */ add.s $f8,$f16,$f6 /* f0a4cec: c60606f0 */ lwc1 $f6,0x6f0($s0) /* f0a4cf0: e60806e8 */ swc1 $f8,0x6e8($s0) /* f0a4cf4: c7a40088 */ lwc1 $f4,0x88($sp) /* f0a4cf8: 46002282 */ mul.s $f10,$f4,$f0 /* f0a4cfc: 460a9400 */ add.s $f16,$f18,$f10 /* f0a4d00: e61006ec */ swc1 $f16,0x6ec($s0) /* f0a4d04: c7a8008c */ lwc1 $f8,0x8c($sp) /* f0a4d08: 46004102 */ mul.s $f4,$f8,$f0 /* f0a4d0c: 46043480 */ add.s $f18,$f6,$f4 /* f0a4d10: e61206f0 */ swc1 $f18,0x6f0($s0) /* f0a4d14: 920b06d6 */ lbu $t3,0x6d6($s0) .L0f0a4d18: /* f0a4d18: 316cff0f */ andi $t4,$t3,0xff0f /* f0a4d1c: 358d0020 */ ori $t5,$t4,0x20 /* f0a4d20: 10000043 */ b .L0f0a4e30 /* f0a4d24: a20d06d6 */ sb $t5,0x6d6($s0) .L0f0a4d28: /* f0a4d28: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0a4d2c: 8c6e0284 */ lw $t6,0x284($v1) /* f0a4d30: c460004c */ lwc1 $f0,0x4c($v1) /* f0a4d34: 3c013fc0 */ lui $at,0x3fc0 /* f0a4d38: 8dcf00d8 */ lw $t7,0xd8($t6) /* f0a4d3c: 11e00008 */ beqz $t7,.L0f0a4d60 /* f0a4d40: 00000000 */ nop /* f0a4d44: 44811000 */ mtc1 $at,$f2 /* f0a4d48: 00000000 */ nop /* f0a4d4c: 4600103c */ c.lt.s $f2,$f0 /* f0a4d50: 00000000 */ nop /* f0a4d54: 45000002 */ bc1f .L0f0a4d60 /* f0a4d58: 00000000 */ nop /* f0a4d5c: 46001006 */ mov.s $f0,$f2 .L0f0a4d60: /* f0a4d60: 3c017f1b */ lui $at,%hi(var7f1ac918) /* f0a4d64: c42ac918 */ lwc1 $f10,%lo(var7f1ac918)($at) /* f0a4d68: c60e06e0 */ lwc1 $f14,0x6e0($s0) /* f0a4d6c: c60806d8 */ lwc1 $f8,0x6d8($s0) /* f0a4d70: 460a0402 */ mul.s $f16,$f0,$f10 /* f0a4d74: c60206ec */ lwc1 $f2,0x6ec($s0) /* f0a4d78: 4608703c */ c.lt.s $f14,$f8 /* f0a4d7c: 3c013f00 */ lui $at,0x3f00 /* f0a4d80: 45000006 */ bc1f .L0f0a4d9c /* f0a4d84: 46101301 */ sub.s $f12,$f2,$f16 /* f0a4d88: 921806d6 */ lbu $t8,0x6d6($s0) /* f0a4d8c: 3319ff0f */ andi $t9,$t8,0xff0f /* f0a4d90: 37280030 */ ori $t0,$t9,0x30 /* f0a4d94: 10000026 */ b .L0f0a4e30 /* f0a4d98: a20806d6 */ sb $t0,0x6d6($s0) .L0f0a4d9c: /* f0a4d9c: 44813000 */ mtc1 $at,$f6 /* f0a4da0: 460c1480 */ add.s $f18,$f2,$f12 /* f0a4da4: c60806dc */ lwc1 $f8,0x6dc($s0) /* f0a4da8: 46060102 */ mul.s $f4,$f0,$f6 /* f0a4dac: c60606e8 */ lwc1 $f6,0x6e8($s0) /* f0a4db0: e60c06ec */ swc1 $f12,0x6ec($s0) /* f0a4db4: 00001025 */ or $v0,$zero,$zero /* f0a4db8: 26040718 */ addiu $a0,$s0,0x718 /* f0a4dbc: 260506f4 */ addiu $a1,$s0,0x6f4 /* f0a4dc0: 46122282 */ mul.s $f10,$f4,$f18 /* f0a4dc4: 460a7400 */ add.s $f16,$f14,$f10 /* f0a4dc8: 46060102 */ mul.s $f4,$f0,$f6 /* f0a4dcc: c60a06e4 */ lwc1 $f10,0x6e4($s0) /* f0a4dd0: e61006e0 */ swc1 $f16,0x6e0($s0) /* f0a4dd4: c61006f0 */ lwc1 $f16,0x6f0($s0) /* f0a4dd8: 46100182 */ mul.s $f6,$f0,$f16 /* f0a4ddc: 46044480 */ add.s $f18,$f8,$f4 /* f0a4de0: e61206dc */ swc1 $f18,0x6dc($s0) /* f0a4de4: 46065200 */ add.s $f8,$f10,$f6 /* f0a4de8: e60806e4 */ swc1 $f8,0x6e4($s0) /* f0a4dec: 8c690034 */ lw $t1,0x34($v1) /* f0a4df0: 59200010 */ blezl $t1,.L0f0a4e34 /* f0a4df4: 8fbf0024 */ lw $ra,0x24($sp) /* f0a4df8: afa40030 */ sw $a0,0x30($sp) /* f0a4dfc: afa5002c */ sw $a1,0x2c($sp) /* f0a4e00: 8fa40030 */ lw $a0,0x30($sp) .L0f0a4e04: /* f0a4e04: 8fa5002c */ lw $a1,0x2c($sp) /* f0a4e08: 0c005844 */ jal func00016110 /* f0a4e0c: afa20040 */ sw $v0,0x40($sp) /* f0a4e10: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a4e14: 8fa20040 */ lw $v0,0x40($sp) /* f0a4e18: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0a4e1c: 8c6a0034 */ lw $t2,0x34($v1) /* f0a4e20: 24420001 */ addiu $v0,$v0,0x1 /* f0a4e24: 004a082a */ slt $at,$v0,$t2 /* f0a4e28: 5420fff6 */ bnezl $at,.L0f0a4e04 /* f0a4e2c: 8fa40030 */ lw $a0,0x30($sp) .L0f0a4e30: /* f0a4e30: 8fbf0024 */ lw $ra,0x24($sp) .L0f0a4e34: /* f0a4e34: d7b40018 */ ldc1 $f20,0x18($sp) /* f0a4e38: 8fb00020 */ lw $s0,0x20($sp) /* f0a4e3c: 03e00008 */ jr $ra /* f0a4e40: 27bd00e0 */ addiu $sp,$sp,0xe0 ); #endif GLOBAL_ASM( glabel bgun0f0a4e44 .late_rodata glabel var7f1ac91c .word 0x40c907a9 glabel var7f1ac920 .word 0x3fd33333 glabel var7f1ac924 .word 0x33333333 glabel var7f1ac928 .word 0x3fc33333 glabel var7f1ac92c .word 0x33333333 glabel var7f1ac930 .word 0x3dccccce glabel var7f1ac934 .word 0x40c907a9 .text /* f0a4e44: 27bdfee8 */ addiu $sp,$sp,-280 /* f0a4e48: 3c0e8007 */ lui $t6,%hi(var80070238) /* f0a4e4c: afbf0044 */ sw $ra,0x44($sp) /* f0a4e50: afb70040 */ sw $s7,0x40($sp) /* f0a4e54: afb6003c */ sw $s6,0x3c($sp) /* f0a4e58: afb50038 */ sw $s5,0x38($sp) /* f0a4e5c: afb40034 */ sw $s4,0x34($sp) /* f0a4e60: afb30030 */ sw $s3,0x30($sp) /* f0a4e64: afb2002c */ sw $s2,0x2c($sp) /* f0a4e68: afb10028 */ sw $s1,0x28($sp) /* f0a4e6c: afb00024 */ sw $s0,0x24($sp) /* f0a4e70: f7b40018 */ sdc1 $f20,0x18($sp) /* f0a4e74: afa60120 */ sw $a2,0x120($sp) /* f0a4e78: 25ce0238 */ addiu $t6,$t6,%lo(var80070238) /* f0a4e7c: 8dc10000 */ lw $at,0x0($t6) /* f0a4e80: 8fb10128 */ lw $s1,0x128($sp) /* f0a4e84: 27b300c4 */ addiu $s3,$sp,0xc4 /* f0a4e88: ae610000 */ sw $at,0x0($s3) /* f0a4e8c: 8dd90004 */ lw $t9,0x4($t6) /* f0a4e90: 0080b025 */ or $s6,$a0,$zero /* f0a4e94: 00e0a025 */ or $s4,$a3,$zero /* f0a4e98: ae790004 */ sw $t9,0x4($s3) /* f0a4e9c: 8dc10008 */ lw $at,0x8($t6) /* f0a4ea0: 00a0a825 */ or $s5,$a1,$zero /* f0a4ea4: ae610008 */ sw $at,0x8($s3) /* f0a4ea8: 8c880558 */ lw $t0,0x558($a0) /* f0a4eac: 8ed205f8 */ lw $s2,0x5f8($s6) /* f0a4eb0: 0111001a */ div $zero,$t0,$s1 /* f0a4eb4: 00008010 */ mfhi $s0 /* f0a4eb8: 16200002 */ bnez $s1,.L0f0a4ec4 /* f0a4ebc: 00000000 */ nop /* f0a4ec0: 0007000d */ break 0x7 .L0f0a4ec4: /* f0a4ec4: 2401ffff */ addiu $at,$zero,-1 /* f0a4ec8: 16210004 */ bne $s1,$at,.L0f0a4edc /* f0a4ecc: 3c018000 */ lui $at,0x8000 /* f0a4ed0: 15010002 */ bne $t0,$at,.L0f0a4edc /* f0a4ed4: 00000000 */ nop /* f0a4ed8: 0006000d */ break 0x6 .L0f0a4edc: /* f0a4edc: 0c004b70 */ jal random /* f0a4ee0: 00000000 */ nop /* f0a4ee4: 44822000 */ mtc1 $v0,$f4 /* f0a4ee8: 27b700d8 */ addiu $s7,$sp,0xd8 /* f0a4eec: 04410005 */ bgez $v0,.L0f0a4f04 /* f0a4ef0: 468021a0 */ cvt.s.w $f6,$f4 /* f0a4ef4: 3c014f80 */ lui $at,0x4f80 /* f0a4ef8: 44814000 */ mtc1 $at,$f8 /* f0a4efc: 00000000 */ nop /* f0a4f00: 46083180 */ add.s $f6,$f6,$f8 .L0f0a4f04: /* f0a4f04: 3c012f80 */ lui $at,0x2f80 /* f0a4f08: 44815000 */ mtc1 $at,$f10 /* f0a4f0c: 3c013e80 */ lui $at,0x3e80 /* f0a4f10: 44819000 */ mtc1 $at,$f18 /* f0a4f14: 460a3402 */ mul.s $f16,$f6,$f10 /* f0a4f18: 3c013f80 */ lui $at,0x3f80 /* f0a4f1c: 44814000 */ mtc1 $at,$f8 /* f0a4f20: 02e02025 */ or $a0,$s7,$zero /* f0a4f24: 46128102 */ mul.s $f4,$f16,$f18 /* f0a4f28: 46082180 */ add.s $f6,$f4,$f8 /* f0a4f2c: e7a600b4 */ swc1 $f6,0xb4($sp) /* f0a4f30: c6aa0028 */ lwc1 $f10,0x28($s5) /* f0a4f34: 0c00566c */ jal func000159b0 /* f0a4f38: e7aa00b0 */ swc1 $f10,0xb0($sp) /* f0a4f3c: 12800017 */ beqz $s4,.L0f0a4f9c /* f0a4f40: 00000000 */ nop /* f0a4f44: 8e890010 */ lw $t1,0x10($s4) /* f0a4f48: 312a0001 */ andi $t2,$t1,0x1 /* f0a4f4c: 11400013 */ beqz $t2,.L0f0a4f9c /* f0a4f50: 00000000 */ nop /* f0a4f54: 0c004b70 */ jal random /* f0a4f58: 00000000 */ nop /* f0a4f5c: 44828000 */ mtc1 $v0,$f16 /* f0a4f60: 3c014f80 */ lui $at,0x4f80 /* f0a4f64: 04410004 */ bgez $v0,.L0f0a4f78 /* f0a4f68: 468084a0 */ cvt.s.w $f18,$f16 /* f0a4f6c: 44812000 */ mtc1 $at,$f4 /* f0a4f70: 00000000 */ nop /* f0a4f74: 46049480 */ add.s $f18,$f18,$f4 .L0f0a4f78: /* f0a4f78: 3c012f80 */ lui $at,0x2f80 /* f0a4f7c: 44814000 */ mtc1 $at,$f8 /* f0a4f80: 3c017f1b */ lui $at,%hi(var7f1ac91c) /* f0a4f84: c42ac91c */ lwc1 $f10,%lo(var7f1ac91c)($at) /* f0a4f88: 46089182 */ mul.s $f6,$f18,$f8 /* f0a4f8c: 02e02825 */ or $a1,$s7,$zero /* f0a4f90: 460a3302 */ mul.s $f12,$f6,$f10 /* f0a4f94: 0c005900 */ jal func00016400 /* f0a4f98: 00000000 */ nop .L0f0a4f9c: /* f0a4f9c: 0c004b70 */ jal random /* f0a4fa0: 00000000 */ nop /* f0a4fa4: 44828000 */ mtc1 $v0,$f16 /* f0a4fa8: 3c014f80 */ lui $at,0x4f80 /* f0a4fac: 04410004 */ bgez $v0,.L0f0a4fc0 /* f0a4fb0: 46808120 */ cvt.s.w $f4,$f16 /* f0a4fb4: 44819000 */ mtc1 $at,$f18 /* f0a4fb8: 00000000 */ nop /* f0a4fbc: 46122100 */ add.s $f4,$f4,$f18 .L0f0a4fc0: /* f0a4fc0: 3c012f80 */ lui $at,0x2f80 /* f0a4fc4: 44814000 */ mtc1 $at,$f8 /* f0a4fc8: 3c017f1b */ lui $at,%hi(var7f1ac920) /* f0a4fcc: d430c920 */ ldc1 $f16,%lo(var7f1ac920)($at) /* f0a4fd0: 46082182 */ mul.s $f6,$f4,$f8 /* f0a4fd4: 3c017f1b */ lui $at,%hi(var7f1ac928) /* f0a4fd8: d424c928 */ ldc1 $f4,%lo(var7f1ac928)($at) /* f0a4fdc: 02e02825 */ or $a1,$s7,$zero /* f0a4fe0: 460032a1 */ cvt.d.s $f10,$f6 /* f0a4fe4: 46305482 */ mul.d $f18,$f10,$f16 /* f0a4fe8: 46249201 */ sub.d $f8,$f18,$f4 /* f0a4fec: 0c005900 */ jal func00016400 /* f0a4ff0: 46204320 */ cvt.s.d $f12,$f8 /* f0a4ff4: 8fab0138 */ lw $t3,0x138($sp) /* f0a4ff8: 8fb5012c */ lw $s5,0x12c($sp) /* f0a4ffc: 02e02825 */ or $a1,$s7,$zero /* f0a5000: 000b6180 */ sll $t4,$t3,0x6 /* f0a5004: 02aca021 */ addu $s4,$s5,$t4 /* f0a5008: 0c00567f */ jal func000159fc /* f0a500c: 02802025 */ or $a0,$s4,$zero /* f0a5010: c7ac00b4 */ lwc1 $f12,0xb4($sp) /* f0a5014: 0c0057c1 */ jal func00015f04 /* f0a5018: 02e02825 */ or $a1,$s7,$zero /* f0a501c: c7ac00b0 */ lwc1 $f12,0xb0($sp) /* f0a5020: 0c0057aa */ jal func00015ea8 /* f0a5024: 02e02825 */ or $a1,$s7,$zero /* f0a5028: 02e02025 */ or $a0,$s7,$zero /* f0a502c: 0c005746 */ jal func00015d18 /* f0a5030: 02802825 */ or $a1,$s4,$zero /* f0a5034: 16400006 */ bnez $s2,.L0f0a5050 /* f0a5038: 00001025 */ or $v0,$zero,$zero /* f0a503c: 8fb70130 */ lw $s7,0x130($sp) /* f0a5040: 24010014 */ addiu $at,$zero,0x14 /* f0a5044: 12e10002 */ beq $s7,$at,.L0f0a5050 /* f0a5048: 00000000 */ nop /* f0a504c: 26520001 */ addiu $s2,$s2,0x1 .L0f0a5050: /* f0a5050: 1a40000d */ blez $s2,.L0f0a5088 /* f0a5054: 8fb70130 */ lw $s7,0x130($sp) /* f0a5058: 24070001 */ addiu $a3,$zero,0x1 /* f0a505c: 00106880 */ sll $t5,$s0,0x2 .L0f0a5060: /* f0a5060: 26100001 */ addiu $s0,$s0,0x1 /* f0a5064: 026dc021 */ addu $t8,$s3,$t5 /* f0a5068: 0211082a */ slt $at,$s0,$s1 /* f0a506c: 14200002 */ bnez $at,.L0f0a5078 /* f0a5070: af070000 */ sw $a3,0x0($t8) /* f0a5074: 00008025 */ or $s0,$zero,$zero .L0f0a5078: /* f0a5078: 24420001 */ addiu $v0,$v0,0x1 /* f0a507c: 5452fff8 */ bnel $v0,$s2,.L0f0a5060 /* f0a5080: 00106880 */ sll $t5,$s0,0x2 /* f0a5084: 00001025 */ or $v0,$zero,$zero .L0f0a5088: /* f0a5088: 1a20000f */ blez $s1,.L0f0a50c8 /* f0a508c: 24070001 */ addiu $a3,$zero,0x1 /* f0a5090: 00001825 */ or $v1,$zero,$zero /* f0a5094: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0a5098: 8fa60134 */ lw $a2,0x134($sp) .L0f0a509c: /* f0a509c: 8c8f0000 */ lw $t7,0x0($a0) /* f0a50a0: 24420001 */ addiu $v0,$v0,0x1 /* f0a50a4: 24840004 */ addiu $a0,$a0,0x4 /* f0a50a8: 11e00005 */ beqz $t7,.L0f0a50c0 /* f0a50ac: 00c37021 */ addu $t6,$a2,$v1 /* f0a50b0: 8dc50000 */ lw $a1,0x0($t6) /* f0a50b4: 10a00002 */ beqz $a1,.L0f0a50c0 /* f0a50b8: 00000000 */ nop /* f0a50bc: aca70000 */ sw $a3,0x0($a1) .L0f0a50c0: /* f0a50c0: 1451fff6 */ bne $v0,$s1,.L0f0a509c /* f0a50c4: 24630004 */ addiu $v1,$v1,0x4 .L0f0a50c8: /* f0a50c8: 24120050 */ addiu $s2,$zero,0x50 /* f0a50cc: 8fb40140 */ lw $s4,0x140($sp) /* f0a50d0: 27b10070 */ addiu $s1,$sp,0x70 /* f0a50d4: 8fa40120 */ lw $a0,0x120($sp) .L0f0a50d8: /* f0a50d8: 0c006a47 */ jal modelGetPart /* f0a50dc: 02402825 */ or $a1,$s2,$zero /* f0a50e0: 10400077 */ beqz $v0,.L0f0a52c0 /* f0a50e4: 00402025 */ or $a0,$v0,$zero /* f0a50e8: 24010014 */ addiu $at,$zero,0x14 /* f0a50ec: 12e10074 */ beq $s7,$at,.L0f0a52c0 /* f0a50f0: 24010013 */ addiu $at,$zero,0x13 /* f0a50f4: 12e10072 */ beq $s7,$at,.L0f0a52c0 /* f0a50f8: c7aa00b4 */ lwc1 $f10,0xb4($sp) /* f0a50fc: 3c017f1b */ lui $at,%hi(var7f1ac930) /* f0a5100: c426c930 */ lwc1 $f6,%lo(var7f1ac930)($at) /* f0a5104: 8c500004 */ lw $s0,0x4($v0) /* f0a5108: 00002825 */ or $a1,$zero,$zero /* f0a510c: 460a3502 */ mul.s $f20,$f6,$f10 /* f0a5110: 0c006949 */ jal func0001a524 /* f0a5114: 00000000 */ nop /* f0a5118: c6100000 */ lwc1 $f16,0x0($s0) /* f0a511c: c7b200d8 */ lwc1 $f18,0xd8($sp) /* f0a5120: c6080004 */ lwc1 $f8,0x4($s0) /* f0a5124: c7a600e8 */ lwc1 $f6,0xe8($sp) /* f0a5128: 46128102 */ mul.s $f4,$f16,$f18 /* f0a512c: c6120008 */ lwc1 $f18,0x8($s0) /* f0a5130: 00409825 */ or $s3,$v0,$zero /* f0a5134: 46064282 */ mul.s $f10,$f8,$f6 /* f0a5138: c7a800f8 */ lwc1 $f8,0xf8($sp) /* f0a513c: 02202025 */ or $a0,$s1,$zero /* f0a5140: 46089182 */ mul.s $f6,$f18,$f8 /* f0a5144: 460a2400 */ add.s $f16,$f4,$f10 /* f0a5148: c7aa0108 */ lwc1 $f10,0x108($sp) /* f0a514c: 46068100 */ add.s $f4,$f16,$f6 /* f0a5150: c7b000dc */ lwc1 $f16,0xdc($sp) /* f0a5154: 46045480 */ add.s $f18,$f10,$f4 /* f0a5158: c7a400ec */ lwc1 $f4,0xec($sp) /* f0a515c: e7b20060 */ swc1 $f18,0x60($sp) /* f0a5160: c6080000 */ lwc1 $f8,0x0($s0) /* f0a5164: c60a0004 */ lwc1 $f10,0x4($s0) /* f0a5168: 46104182 */ mul.s $f6,$f8,$f16 /* f0a516c: c6100008 */ lwc1 $f16,0x8($s0) /* f0a5170: 46045482 */ mul.s $f18,$f10,$f4 /* f0a5174: c7aa00fc */ lwc1 $f10,0xfc($sp) /* f0a5178: 460a8102 */ mul.s $f4,$f16,$f10 /* f0a517c: 46123200 */ add.s $f8,$f6,$f18 /* f0a5180: c7b2010c */ lwc1 $f18,0x10c($sp) /* f0a5184: 46044180 */ add.s $f6,$f8,$f4 /* f0a5188: c7a800e0 */ lwc1 $f8,0xe0($sp) /* f0a518c: 46069400 */ add.s $f16,$f18,$f6 /* f0a5190: c7a600f0 */ lwc1 $f6,0xf0($sp) /* f0a5194: e7b00064 */ swc1 $f16,0x64($sp) /* f0a5198: c60a0000 */ lwc1 $f10,0x0($s0) /* f0a519c: c6120004 */ lwc1 $f18,0x4($s0) /* f0a51a0: 46085102 */ mul.s $f4,$f10,$f8 /* f0a51a4: c6080008 */ lwc1 $f8,0x8($s0) /* f0a51a8: 46069402 */ mul.s $f16,$f18,$f6 /* f0a51ac: c7b20100 */ lwc1 $f18,0x100($sp) /* f0a51b0: 46124182 */ mul.s $f6,$f8,$f18 /* f0a51b4: 46102280 */ add.s $f10,$f4,$f16 /* f0a51b8: c7b00110 */ lwc1 $f16,0x110($sp) /* f0a51bc: 46065100 */ add.s $f4,$f10,$f6 /* f0a51c0: 46048200 */ add.s $f8,$f16,$f4 /* f0a51c4: 0c00566c */ jal func000159b0 /* f0a51c8: e7a80068 */ swc1 $f8,0x68($sp) /* f0a51cc: 0c004b70 */ jal random /* f0a51d0: 00000000 */ nop /* f0a51d4: 44829000 */ mtc1 $v0,$f18 /* f0a51d8: 02202025 */ or $a0,$s1,$zero /* f0a51dc: 04410005 */ bgez $v0,.L0f0a51f4 /* f0a51e0: 468092a0 */ cvt.s.w $f10,$f18 /* f0a51e4: 3c014f80 */ lui $at,0x4f80 /* f0a51e8: 44813000 */ mtc1 $at,$f6 /* f0a51ec: 00000000 */ nop /* f0a51f0: 46065280 */ add.s $f10,$f10,$f6 .L0f0a51f4: /* f0a51f4: 3c012f80 */ lui $at,0x2f80 /* f0a51f8: 44818000 */ mtc1 $at,$f16 /* f0a51fc: 3c017f1b */ lui $at,%hi(var7f1ac934) /* f0a5200: c428c934 */ lwc1 $f8,%lo(var7f1ac934)($at) /* f0a5204: 46105102 */ mul.s $f4,$f10,$f16 /* f0a5208: c7b00064 */ lwc1 $f16,0x64($sp) /* f0a520c: c7a60060 */ lwc1 $f6,0x60($sp) /* f0a5210: 46003287 */ neg.s $f10,$f6 /* f0a5214: 46082482 */ mul.s $f18,$f4,$f8 /* f0a5218: c7a80068 */ lwc1 $f8,0x68($sp) /* f0a521c: 46008107 */ neg.s $f4,$f16 /* f0a5220: 44065000 */ mfc1 $a2,$f10 /* f0a5224: 44072000 */ mfc1 $a3,$f4 /* f0a5228: 44059000 */ mfc1 $a1,$f18 /* f0a522c: 46004487 */ neg.s $f18,$f8 /* f0a5230: 0c005c0a */ jal func00017028 /* f0a5234: e7b20010 */ swc1 $f18,0x10($sp) /* f0a5238: 4600a306 */ mov.s $f12,$f20 /* f0a523c: 0c0057c1 */ jal func00015f04 /* f0a5240: 02202825 */ or $a1,$s1,$zero /* f0a5244: c6a60030 */ lwc1 $f6,0x30($s5) /* f0a5248: c6ca01c0 */ lwc1 $f10,0x1c0($s6) /* f0a524c: c6a40034 */ lwc1 $f4,0x34($s5) /* f0a5250: c6c801c4 */ lwc1 $f8,0x1c4($s6) /* f0a5254: 460a3401 */ sub.s $f16,$f6,$f10 /* f0a5258: c6ca01c8 */ lwc1 $f10,0x1c8($s6) /* f0a525c: c6a60038 */ lwc1 $f6,0x38($s5) /* f0a5260: 46082481 */ sub.s $f18,$f4,$f8 /* f0a5264: 44068000 */ mfc1 $a2,$f16 /* f0a5268: 02802025 */ or $a0,$s4,$zero /* f0a526c: 460a3401 */ sub.s $f16,$f6,$f10 /* f0a5270: 44079000 */ mfc1 $a3,$f18 /* f0a5274: 24050000 */ addiu $a1,$zero,0x0 /* f0a5278: 0c005ba6 */ jal func00016e98 /* f0a527c: e7b00010 */ swc1 $f16,0x10($sp) /* f0a5280: 02802025 */ or $a0,$s4,$zero /* f0a5284: 0c00567f */ jal func000159fc /* f0a5288: 02202825 */ or $a1,$s1,$zero /* f0a528c: c7ac00b0 */ lwc1 $f12,0xb0($sp) /* f0a5290: 0c0059c4 */ jal func00016710 /* f0a5294: 02202825 */ or $a1,$s1,$zero /* f0a5298: 8fa4013c */ lw $a0,0x13c($sp) /* f0a529c: 0c00567f */ jal func000159fc /* f0a52a0: 02202825 */ or $a1,$s1,$zero /* f0a52a4: 27a40060 */ addiu $a0,$sp,0x60 /* f0a52a8: 0c005775 */ jal func00015dd4 /* f0a52ac: 02202825 */ or $a1,$s1,$zero /* f0a52b0: 0013c980 */ sll $t9,$s3,0x6 /* f0a52b4: 02b92821 */ addu $a1,$s5,$t9 /* f0a52b8: 0c005746 */ jal func00015d18 /* f0a52bc: 02202025 */ or $a0,$s1,$zero .L0f0a52c0: /* f0a52c0: 26520001 */ addiu $s2,$s2,0x1 /* f0a52c4: 24010053 */ addiu $at,$zero,0x53 /* f0a52c8: 5641ff83 */ bnel $s2,$at,.L0f0a50d8 /* f0a52cc: 8fa40120 */ lw $a0,0x120($sp) /* f0a52d0: 8fbf0044 */ lw $ra,0x44($sp) /* f0a52d4: d7b40018 */ ldc1 $f20,0x18($sp) /* f0a52d8: 8fb00024 */ lw $s0,0x24($sp) /* f0a52dc: 8fb10028 */ lw $s1,0x28($sp) /* f0a52e0: 8fb2002c */ lw $s2,0x2c($sp) /* f0a52e4: 8fb30030 */ lw $s3,0x30($sp) /* f0a52e8: 8fb40034 */ lw $s4,0x34($sp) /* f0a52ec: 8fb50038 */ lw $s5,0x38($sp) /* f0a52f0: 8fb6003c */ lw $s6,0x3c($sp) /* f0a52f4: 8fb70040 */ lw $s7,0x40($sp) /* f0a52f8: 03e00008 */ jr $ra /* f0a52fc: 27bd0118 */ addiu $sp,$sp,0x118 ); GLOBAL_ASM( glabel bgun0f0a5300 .late_rodata glabel var7f1ac938 .word 0x411fffff glabel var7f1ac93c .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac940 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac944 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac948 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac94c .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac950 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac954 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac958 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac95c .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac960 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac964 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac968 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac96c .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac970 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac974 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac978 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac97c .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac980 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac984 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac988 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac98c .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac990 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac994 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac998 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac99c .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9a0 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9a4 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9a8 .word bgun0f0a5300+0x228 # f0a5528 glabel var7f1ac9ac .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9b0 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9b4 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9b8 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9bc .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9c0 .word bgun0f0a5300+0x240 # f0a5540 glabel var7f1ac9c4 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9c8 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9cc .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9d0 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9d4 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9d8 .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9dc .word bgun0f0a5300+0x20c # f0a550c glabel var7f1ac9e0 .word bgun0f0a5300+0x20c # f0a550c .text /* f0a5300: 27bdff88 */ addiu $sp,$sp,-120 /* f0a5304: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a5308: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0a530c: 8c620284 */ lw $v0,0x284($v1) /* f0a5310: 240e0001 */ addiu $t6,$zero,0x1 /* f0a5314: afbf0014 */ sw $ra,0x14($sp) /* f0a5318: afa40078 */ sw $a0,0x78($sp) /* f0a531c: afa5007c */ sw $a1,0x7c($sp) /* f0a5320: afa60080 */ sw $a2,0x80($sp) /* f0a5324: afa70084 */ sw $a3,0x84($sp) /* f0a5328: afae0070 */ sw $t6,0x70($sp) /* f0a532c: 904f1583 */ lbu $t7,0x1583($v0) /* f0a5330: 31f8fff7 */ andi $t8,$t7,0xfff7 /* f0a5334: a0581583 */ sb $t8,0x1583($v0) /* f0a5338: 8fb90080 */ lw $t9,0x80($sp) /* f0a533c: 53200055 */ beqzl $t9,.L0f0a5494 /* f0a5340: 8fab0080 */ lw $t3,0x80($sp) /* f0a5344: 8c680284 */ lw $t0,0x284($v1) /* f0a5348: 8fa40088 */ lw $a0,0x88($sp) /* f0a534c: 8fa90084 */ lw $t1,0x84($sp) /* f0a5350: c5040078 */ lwc1 $f4,0x78($t0) /* f0a5354: 24010008 */ addiu $at,$zero,0x8 /* f0a5358: 1080003b */ beqz $a0,.L0f0a5448 /* f0a535c: e7a40074 */ swc1 $f4,0x74($sp) /* f0a5360: 11210039 */ beq $t1,$at,.L0f0a5448 /* f0a5364: 24010009 */ addiu $at,$zero,0x9 /* f0a5368: 11210037 */ beq $t1,$at,.L0f0a5448 /* f0a536c: 24010014 */ addiu $at,$zero,0x14 /* f0a5370: 1521000a */ bne $t1,$at,.L0f0a539c /* f0a5374: 2405003c */ addiu $a1,$zero,0x3c /* f0a5378: 8faa0078 */ lw $t2,0x78($sp) /* f0a537c: 24010001 */ addiu $at,$zero,0x1 /* f0a5380: 24050031 */ addiu $a1,$zero,0x31 /* f0a5384: 8d4b0558 */ lw $t3,0x558($t2) /* f0a5388: 316c0001 */ andi $t4,$t3,0x1 /* f0a538c: 15810003 */ bne $t4,$at,.L0f0a539c /* f0a5390: 00000000 */ nop /* f0a5394: 10000001 */ b .L0f0a539c /* f0a5398: 24050030 */ addiu $a1,$zero,0x30 .L0f0a539c: /* f0a539c: 0c006a47 */ jal modelGetPart /* f0a53a0: 00000000 */ nop /* f0a53a4: 10400017 */ beqz $v0,.L0f0a5404 /* f0a53a8: 00402025 */ or $a0,$v0,$zero /* f0a53ac: 0c006949 */ jal func0001a524 /* f0a53b0: 00002825 */ or $a1,$zero,$zero /* f0a53b4: 8fad008c */ lw $t5,0x8c($sp) /* f0a53b8: 00027180 */ sll $t6,$v0,0x6 /* f0a53bc: 27a50024 */ addiu $a1,$sp,0x24 /* f0a53c0: 0c005746 */ jal func00015d18 /* f0a53c4: 01ae2021 */ addu $a0,$t5,$t6 /* f0a53c8: 3c017f1b */ lui $at,%hi(var7f1ac938) /* f0a53cc: c42cc938 */ lwc1 $f12,%lo(var7f1ac938)($at) /* f0a53d0: 0c0057c1 */ jal func00015f04 /* f0a53d4: 27a50024 */ addiu $a1,$sp,0x24 /* f0a53d8: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a53dc: 00000000 */ nop /* f0a53e0: 00402025 */ or $a0,$v0,$zero /* f0a53e4: 0c00567f */ jal func000159fc /* f0a53e8: 27a50024 */ addiu $a1,$sp,0x24 /* f0a53ec: 8fa4007c */ lw $a0,0x7c($sp) /* f0a53f0: 8fa50074 */ lw $a1,0x74($sp) /* f0a53f4: 0fc2b780 */ jal func0f0ade00 /* f0a53f8: 27a60024 */ addiu $a2,$sp,0x24 /* f0a53fc: 10000007 */ b .L0f0a541c /* f0a5400: 24040046 */ addiu $a0,$zero,0x46 .L0f0a5404: /* f0a5404: 8fa60078 */ lw $a2,0x78($sp) /* f0a5408: 8fa4007c */ lw $a0,0x7c($sp) /* f0a540c: 8fa50074 */ lw $a1,0x74($sp) /* f0a5410: 0fc2b780 */ jal func0f0ade00 /* f0a5414: 24c602f4 */ addiu $a2,$a2,0x2f4 /* f0a5418: 24040046 */ addiu $a0,$zero,0x46 .L0f0a541c: /* f0a541c: 00002825 */ or $a1,$zero,$zero /* f0a5420: 8fa60078 */ lw $a2,0x78($sp) /* f0a5424: 0fc25f9d */ jal bgun0f097e74 /* f0a5428: 8fa70088 */ lw $a3,0x88($sp) /* f0a542c: 24040047 */ addiu $a0,$zero,0x47 /* f0a5430: 24050001 */ addiu $a1,$zero,0x1 /* f0a5434: 8fa60078 */ lw $a2,0x78($sp) /* f0a5438: 0fc25f9d */ jal bgun0f097e74 /* f0a543c: 8fa70088 */ lw $a3,0x88($sp) /* f0a5440: 3c03800a */ lui $v1,%hi(g_Vars) /* f0a5444: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) .L0f0a5448: /* f0a5448: 8faf0080 */ lw $t7,0x80($sp) /* f0a544c: 24010201 */ addiu $at,$zero,0x201 /* f0a5450: 8de20000 */ lw $v0,0x0($t7) /* f0a5454: 14410007 */ bne $v0,$at,.L0f0a5474 /* f0a5458: 304800ff */ andi $t0,$v0,0xff /* f0a545c: 8c780284 */ lw $t8,0x284($v1) /* f0a5460: 8f1900bc */ lw $t9,0xbc($t8) /* f0a5464: 0fc0897d */ jal chrUncloakTemporarily /* f0a5468: 8f240004 */ lw $a0,0x4($t9) /* f0a546c: 10000009 */ b .L0f0a5494 /* f0a5470: 8fab0080 */ lw $t3,0x80($sp) .L0f0a5474: /* f0a5474: 24010002 */ addiu $at,$zero,0x2 /* f0a5478: 55010006 */ bnel $t0,$at,.L0f0a5494 /* f0a547c: 8fab0080 */ lw $t3,0x80($sp) /* f0a5480: 8c690284 */ lw $t1,0x284($v1) /* f0a5484: 8d2a00bc */ lw $t2,0xbc($t1) /* f0a5488: 0fc0897d */ jal chrUncloakTemporarily /* f0a548c: 8d440004 */ lw $a0,0x4($t2) /* f0a5490: 8fab0080 */ lw $t3,0x80($sp) .L0f0a5494: /* f0a5494: 51600012 */ beqzl $t3,.L0f0a54e0 /* f0a5498: 8fad0070 */ lw $t5,0x70($sp) /* f0a549c: 8d620000 */ lw $v0,0x0($t3) /* f0a54a0: 24010003 */ addiu $at,$zero,0x3 /* f0a54a4: 304300ff */ andi $v1,$v0,0xff /* f0a54a8: 10610003 */ beq $v1,$at,.L0f0a54b8 /* f0a54ac: 304c0200 */ andi $t4,$v0,0x200 /* f0a54b0: 51800003 */ beqzl $t4,.L0f0a54c0 /* f0a54b4: 24010004 */ addiu $at,$zero,0x4 .L0f0a54b8: /* f0a54b8: afa00070 */ sw $zero,0x70($sp) /* f0a54bc: 24010004 */ addiu $at,$zero,0x4 .L0f0a54c0: /* f0a54c0: 54610003 */ bnel $v1,$at,.L0f0a54d0 /* f0a54c4: 24010002 */ addiu $at,$zero,0x2 /* f0a54c8: afa00070 */ sw $zero,0x70($sp) /* f0a54cc: 24010002 */ addiu $at,$zero,0x2 .L0f0a54d0: /* f0a54d0: 54610003 */ bnel $v1,$at,.L0f0a54e0 /* f0a54d4: 8fad0070 */ lw $t5,0x70($sp) /* f0a54d8: afa00070 */ sw $zero,0x70($sp) /* f0a54dc: 8fad0070 */ lw $t5,0x70($sp) .L0f0a54e0: /* f0a54e0: 8fae0084 */ lw $t6,0x84($sp) /* f0a54e4: 11a00016 */ beqz $t5,.L0f0a5540 /* f0a54e8: 25cffffe */ addiu $t7,$t6,-2 /* f0a54ec: 2de1002a */ sltiu $at,$t7,0x2a /* f0a54f0: 10200013 */ beqz $at,.L0f0a5540 /* f0a54f4: 000f7880 */ sll $t7,$t7,0x2 /* f0a54f8: 3c017f1b */ lui $at,%hi(var7f1ac93c) /* f0a54fc: 002f0821 */ addu $at,$at,$t7 /* f0a5500: 8c2fc93c */ lw $t7,%lo(var7f1ac93c)($at) /* f0a5504: 01e00008 */ jr $t7 /* f0a5508: 00000000 */ nop /* f0a550c: 0fc2b04e */ jal func0f0ac138 /* f0a5510: 8fa4007c */ lw $a0,0x7c($sp) /* f0a5514: 8fb80078 */ lw $t8,0x78($sp) /* f0a5518: 8f190028 */ lw $t9,0x28($t8) /* f0a551c: 27280001 */ addiu $t0,$t9,0x1 /* f0a5520: 10000007 */ b .L0f0a5540 /* f0a5524: af080028 */ sw $t0,0x28($t8) /* f0a5528: 8fa90078 */ lw $t1,0x78($sp) /* f0a552c: 8d2a0028 */ lw $t2,0x28($t1) /* f0a5530: 254b0001 */ addiu $t3,$t2,0x1 /* f0a5534: ad2b0028 */ sw $t3,0x28($t1) /* f0a5538: 0fc2b04e */ jal func0f0ac138 /* f0a553c: 8fa4007c */ lw $a0,0x7c($sp) .L0f0a5540: /* f0a5540: 8fbf0014 */ lw $ra,0x14($sp) /* f0a5544: 27bd0078 */ addiu $sp,$sp,0x78 /* f0a5548: 03e00008 */ jr $ra /* f0a554c: 00000000 */ nop ); #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a5550 .late_rodata glabel var7f1ac9e4 .word 0x40490fdb glabel var7f1ac9e8 .word 0x3dccccce glabel var7f1ac9ec .word bgun0f0a5550+0xca8 glabel var7f1ac9f0 .word bgun0f0a5550+0xd08 glabel var7f1ac9f4 .word bgun0f0a5550+0xd08 glabel var7f1ac9f8 .word bgun0f0a5550+0xd08 glabel var7f1ac9fc .word bgun0f0a5550+0xd08 glabel var7f1aca00 .word bgun0f0a5550+0xd08 glabel var7f1aca04 .word bgun0f0a5550+0xcb0 glabel var7f1aca08 .word bgun0f0a5550+0xd08 glabel var7f1aca0c .word bgun0f0a5550+0xd08 glabel var7f1aca10 .word bgun0f0a5550+0xd08 glabel var7f1aca14 .word bgun0f0a5550+0xcc4 glabel var7f1aca18 .word bgun0f0a5550+0xcc4 glabel var7f1aca1c .word bgun0f0a5550+0xcc4 glabel var7f1aca20 .word bgun0f0a5550+0xcc4 glabel var7f1aca24 .word bgun0f0a5550+0xcc4 glabel var7f1aca28 .word bgun0f0a5550+0xd08 glabel var7f1aca2c .word bgun0f0a5550+0xd08 glabel var7f1aca30 .word bgun0f0a5550+0xd08 glabel var7f1aca34 .word bgun0f0a5550+0xd08 glabel var7f1aca38 .word bgun0f0a5550+0xd08 glabel var7f1aca3c .word bgun0f0a5550+0xd08 glabel var7f1aca40 .word bgun0f0a5550+0xd08 glabel var7f1aca44 .word bgun0f0a5550+0xd08 glabel var7f1aca48 .word bgun0f0a5550+0xd08 glabel var7f1aca4c .word bgun0f0a5550+0xd08 glabel var7f1aca50 .word bgun0f0a5550+0xd08 glabel var7f1aca54 .word bgun0f0a5550+0xd08 glabel var7f1aca58 .word bgun0f0a5550+0xd08 glabel var7f1aca5c .word bgun0f0a5550+0xd08 glabel var7f1aca60 .word bgun0f0a5550+0xd08 glabel var7f1aca64 .word bgun0f0a5550+0xd08 glabel var7f1aca68 .word bgun0f0a5550+0xd08 glabel var7f1aca6c .word bgun0f0a5550+0xd08 glabel var7f1aca70 .word bgun0f0a5550+0xcc4 glabel var7f1adc74pf .word 0x7f0a6668 glabel var7f1adc78pf .word 0x7f0a666c glabel var7f1adc7cpf .word 0x7f0a6668 glabel var7f1adc80pf .word 0x7f0a666c glabel var7f1adc84pf .word 0x7f0a666c glabel var7f1adc88pf .word 0x7f0a666c glabel var7f1adc8cpf .word 0x7f0a666c glabel var7f1adc90pf .word 0x7f0a666c glabel var7f1adc94pf .word 0x7f0a666c glabel var7f1adc98pf .word 0x7f0a666c glabel var7f1adc9cpf .word 0x7f0a666c glabel var7f1adca0pf .word 0x7f0a666c glabel var7f1adca4pf .word 0x7f0a666c glabel var7f1adca8pf .word 0x7f0a666c glabel var7f1adcacpf .word 0x7f0a666c glabel var7f1adcb0pf .word 0x7f0a666c glabel var7f1adcb4pf .word 0x7f0a666c glabel var7f1adcb8pf .word 0x7f0a666c glabel var7f1adcbcpf .word 0x7f0a666c glabel var7f1adcc0pf .word 0x7f0a666c glabel var7f1adcc4pf .word 0x7f0a6668 glabel var7f1adcc8pf .word 0x7f0a666c glabel var7f1adcccpf .word 0x7f0a666c glabel var7f1adcd0pf .word 0x7f0a666c glabel var7f1adcd4pf .word 0x7f0a666c glabel var7f1adcd8pf .word 0x7f0a666c glabel var7f1adcdcpf .word 0x7f0a666c glabel var7f1adce0pf .word 0x7f0a666c glabel var7f1adce4pf .word 0x7f0a666c glabel var7f1adce8pf .word 0x7f0a6668 glabel var7f1adcecpf .word 0x7f0a666c glabel var7f1adcf0pf .word 0x7f0a666c glabel var7f1adcf4pf .word 0x7f0a666c glabel var7f1adcf8pf .word 0x7f0a666c glabel var7f1adcfcpf .word 0x7f0a6668 glabel var7f1add00pf .word 0x7f0a6668 glabel var7f1add04pf .word 0x7f0a666c glabel var7f1add08pf .word 0x7f0a666c glabel var7f1add0cpf .word 0x7f0a666c glabel var7f1add10pf .word 0x7f0a666c glabel var7f1add14pf .word 0x7f0a666c glabel var7f1add18pf .word 0x7f0a6668 glabel var7f1add1cpf .word 0x7f0a666c glabel var7f1add20pf .word 0x7f0a6668 .text /* f0a5868: 27bdfcf0 */ addiu $sp,$sp,-784 /* f0a586c: 3c0f8007 */ lui $t7,0x8007 /* f0a5870: afbf003c */ sw $ra,0x3c($sp) /* f0a5874: afb00038 */ sw $s0,0x38($sp) /* f0a5878: afa00288 */ sw $zero,0x288($sp) /* f0a587c: 25ef05d4 */ addiu $t7,$t7,0x5d4 /* f0a5880: 8de10000 */ lw $at,0x0($t7) /* f0a5884: 27ae027c */ addiu $t6,$sp,0x27c /* f0a5888: 8de90004 */ lw $t1,0x4($t7) /* f0a588c: adc10000 */ sw $at,0x0($t6) /* f0a5890: 8de10008 */ lw $at,0x8($t7) /* f0a5894: 3c0b8007 */ lui $t3,0x8007 /* f0a5898: 256b05e0 */ addiu $t3,$t3,0x5e0 /* f0a589c: adc90004 */ sw $t1,0x4($t6) /* f0a58a0: adc10008 */ sw $at,0x8($t6) /* f0a58a4: 8d610000 */ lw $at,0x0($t3) /* f0a58a8: 27aa01ec */ addiu $t2,$sp,0x1ec /* f0a58ac: 8d790004 */ lw $t9,0x4($t3) /* f0a58b0: ad410000 */ sw $at,0x0($t2) /* f0a58b4: 8d610008 */ lw $at,0x8($t3) /* f0a58b8: 00041900 */ sll $v1,$a0,0x4 /* f0a58bc: 00641823 */ subu $v1,$v1,$a0 /* f0a58c0: 00031880 */ sll $v1,$v1,0x2 /* f0a58c4: 3c02800a */ lui $v0,0x800a /* f0a58c8: 00641821 */ addu $v1,$v1,$a0 /* f0a58cc: ad590004 */ sw $t9,0x4($t2) /* f0a58d0: ad410008 */ sw $at,0x8($t2) /* f0a58d4: 8c42a794 */ lw $v0,-0x586c($v0) /* f0a58d8: 000318c0 */ sll $v1,$v1,0x3 /* f0a58dc: 00641821 */ addu $v1,$v1,$a0 /* f0a58e0: 00031880 */ sll $v1,$v1,0x2 /* f0a58e4: 00438021 */ addu $s0,$v0,$v1 /* f0a58e8: 26100638 */ addiu $s0,$s0,0x638 /* f0a58ec: afa001e8 */ sw $zero,0x1e8($sp) /* f0a58f0: afb001dc */ sw $s0,0x1dc($sp) /* f0a58f4: afa001d4 */ sw $zero,0x1d4($sp) /* f0a58f8: afa30054 */ sw $v1,0x54($sp) /* f0a58fc: afa40310 */ sw $a0,0x310($sp) /* f0a5900: 0fc28749 */ jal bgunGetWeaponNum2 /* f0a5904: afa201e0 */ sw $v0,0x1e0($sp) /* f0a5908: afa201cc */ sw $v0,0x1cc($sp) /* f0a590c: afa001c0 */ sw $zero,0x1c0($sp) /* f0a5910: 0fc2c524 */ jal weaponFindById /* f0a5914: 00402025 */ move $a0,$v0 /* f0a5918: 8fb80310 */ lw $t8,0x310($sp) /* f0a591c: 24010001 */ li $at,0x1 /* f0a5920: afa201c8 */ sw $v0,0x1c8($sp) /* f0a5924: 17010007 */ bne $t8,$at,.PF0f0a5944 /* f0a5928: 00000000 */ nop /* f0a592c: 8fae01cc */ lw $t6,0x1cc($sp) /* f0a5930: 24010022 */ li $at,0x22 /* f0a5934: 240f0001 */ li $t7,0x1 /* f0a5938: 15c10002 */ bne $t6,$at,.PF0f0a5944 /* f0a593c: 00000000 */ nop /* f0a5940: afaf01c0 */ sw $t7,0x1c0($sp) .PF0f0a5944: /* f0a5944: 0fc2c53f */ jal gsetGetWeaponFunction2 /* f0a5948: 02002025 */ move $a0,$s0 /* f0a594c: 10400007 */ beqz $v0,.PF0f0a596c /* f0a5950: afa201d8 */ sw $v0,0x1d8($sp) /* f0a5954: 8c490000 */ lw $t1,0x0($v0) /* f0a5958: 24010001 */ li $at,0x1 /* f0a595c: 312d00ff */ andi $t5,$t1,0xff /* f0a5960: 55a10003 */ bnel $t5,$at,.PF0f0a5970 /* f0a5964: 02002025 */ move $a0,$s0 /* f0a5968: afa201d4 */ sw $v0,0x1d4($sp) .PF0f0a596c: /* f0a596c: 02002025 */ move $a0,$s0 .PF0f0a5970: /* f0a5970: 0fc27601 */ jal bgun0f09d550 /* f0a5974: 8fa50310 */ lw $a1,0x310($sp) /* f0a5978: 8fac0310 */ lw $t4,0x310($sp) /* f0a597c: 1580002b */ bnez $t4,.PF0f0a5a2c /* f0a5980: 00000000 */ nop /* f0a5984: 0fc28749 */ jal bgunGetWeaponNum2 /* f0a5988: 24040001 */ li $a0,0x1 /* f0a598c: 00402025 */ move $a0,$v0 /* f0a5990: 0fc2c720 */ jal weaponHasFlag /* f0a5994: 24050040 */ li $a1,0x40 /* f0a5998: 10400013 */ beqz $v0,.PF0f0a59e8 /* f0a599c: 3c01800a */ lui $at,0x800a /* f0a59a0: 3c014000 */ lui $at,0x4000 /* f0a59a4: 44811000 */ mtc1 $at,$f2 /* f0a59a8: 3c01800a */ lui $at,0x800a /* f0a59ac: c420a55c */ lwc1 $f0,-0x5aa4($at) /* f0a59b0: 3c014370 */ lui $at,0x4370 /* f0a59b4: 44813000 */ mtc1 $at,$f6 /* f0a59b8: 46000100 */ add.s $f4,$f0,$f0 /* f0a59bc: c60a01bc */ lwc1 $f10,0x1bc($s0) /* f0a59c0: 46062203 */ div.s $f8,$f4,$f6 /* f0a59c4: 46085400 */ add.s $f16,$f10,$f8 /* f0a59c8: e61001bc */ swc1 $f16,0x1bc($s0) /* f0a59cc: c61201bc */ lwc1 $f18,0x1bc($s0) /* f0a59d0: 4612103c */ c.lt.s $f2,$f18 /* f0a59d4: 00000000 */ nop /* f0a59d8: 4502003f */ bc1fl .PF0f0a5ad8 /* f0a59dc: 8faa0310 */ lw $t2,0x310($sp) /* f0a59e0: 1000003c */ b .PF0f0a5ad4 /* f0a59e4: e60201bc */ swc1 $f2,0x1bc($s0) .PF0f0a59e8: /* f0a59e8: c420a55c */ lwc1 $f0,-0x5aa4($at) /* f0a59ec: 3c014370 */ lui $at,0x4370 /* f0a59f0: 44813000 */ mtc1 $at,$f6 /* f0a59f4: 46000100 */ add.s $f4,$f0,$f0 /* f0a59f8: c60801bc */ lwc1 $f8,0x1bc($s0) /* f0a59fc: 46062283 */ div.s $f10,$f4,$f6 /* f0a5a00: 44802000 */ mtc1 $zero,$f4 /* f0a5a04: 460a4401 */ sub.s $f16,$f8,$f10 /* f0a5a08: e61001bc */ swc1 $f16,0x1bc($s0) /* f0a5a0c: c61201bc */ lwc1 $f18,0x1bc($s0) /* f0a5a10: 4604903c */ c.lt.s $f18,$f4 /* f0a5a14: 00000000 */ nop /* f0a5a18: 4502002f */ bc1fl .PF0f0a5ad8 /* f0a5a1c: 8faa0310 */ lw $t2,0x310($sp) /* f0a5a20: 44803000 */ mtc1 $zero,$f6 /* f0a5a24: 1000002b */ b .PF0f0a5ad4 /* f0a5a28: e60601bc */ swc1 $f6,0x1bc($s0) .PF0f0a5a2c: /* f0a5a2c: 0fc28749 */ jal bgunGetWeaponNum2 /* f0a5a30: 00002025 */ move $a0,$zero /* f0a5a34: 00402025 */ move $a0,$v0 /* f0a5a38: 0fc2c720 */ jal weaponHasFlag /* f0a5a3c: 24050040 */ li $a1,0x40 /* f0a5a40: 10400013 */ beqz $v0,.PF0f0a5a90 /* f0a5a44: 3c01800a */ lui $at,0x800a /* f0a5a48: 3c01c000 */ lui $at,0xc000 /* f0a5a4c: 44811000 */ mtc1 $at,$f2 /* f0a5a50: 3c01800a */ lui $at,0x800a /* f0a5a54: c420a55c */ lwc1 $f0,-0x5aa4($at) /* f0a5a58: 3c014370 */ lui $at,0x4370 /* f0a5a5c: 44815000 */ mtc1 $at,$f10 /* f0a5a60: 46000200 */ add.s $f8,$f0,$f0 /* f0a5a64: c61201bc */ lwc1 $f18,0x1bc($s0) /* f0a5a68: 460a4403 */ div.s $f16,$f8,$f10 /* f0a5a6c: 46109101 */ sub.s $f4,$f18,$f16 /* f0a5a70: e60401bc */ swc1 $f4,0x1bc($s0) /* f0a5a74: c60601bc */ lwc1 $f6,0x1bc($s0) /* f0a5a78: 4602303c */ c.lt.s $f6,$f2 /* f0a5a7c: 00000000 */ nop /* f0a5a80: 45020015 */ bc1fl .PF0f0a5ad8 /* f0a5a84: 8faa0310 */ lw $t2,0x310($sp) /* f0a5a88: 10000012 */ b .PF0f0a5ad4 /* f0a5a8c: e60201bc */ swc1 $f2,0x1bc($s0) .PF0f0a5a90: /* f0a5a90: c420a55c */ lwc1 $f0,-0x5aa4($at) /* f0a5a94: 3c014370 */ lui $at,0x4370 /* f0a5a98: 44815000 */ mtc1 $at,$f10 /* f0a5a9c: 46000200 */ add.s $f8,$f0,$f0 /* f0a5aa0: c61001bc */ lwc1 $f16,0x1bc($s0) /* f0a5aa4: 44803000 */ mtc1 $zero,$f6 /* f0a5aa8: 460a4483 */ div.s $f18,$f8,$f10 /* f0a5aac: 46128100 */ add.s $f4,$f16,$f18 /* f0a5ab0: e60401bc */ swc1 $f4,0x1bc($s0) /* f0a5ab4: c60801bc */ lwc1 $f8,0x1bc($s0) /* f0a5ab8: 4608303c */ c.lt.s $f6,$f8 /* f0a5abc: 00000000 */ nop /* f0a5ac0: 45020005 */ bc1fl .PF0f0a5ad8 /* f0a5ac4: 8faa0310 */ lw $t2,0x310($sp) /* f0a5ac8: 44805000 */ mtc1 $zero,$f10 /* f0a5acc: 00000000 */ nop /* f0a5ad0: e60a01bc */ swc1 $f10,0x1bc($s0) .PF0f0a5ad4: /* f0a5ad4: 8faa0310 */ lw $t2,0x310($sp) .PF0f0a5ad8: /* f0a5ad8: 55400017 */ bnezl $t2,.PF0f0a5b38 /* f0a5adc: 8fb901c0 */ lw $t9,0x1c0($sp) /* f0a5ae0: 0fc2c5f7 */ jal func0f0b131c /* f0a5ae4: 01402025 */ move $a0,$t2 /* f0a5ae8: c61200b8 */ lwc1 $f18,0xb8($s0) /* f0a5aec: c61001b0 */ lwc1 $f16,0x1b0($s0) /* f0a5af0: 8fab01c8 */ lw $t3,0x1c8($sp) /* f0a5af4: 46120100 */ add.s $f4,$f0,$f18 /* f0a5af8: 46048180 */ add.s $f6,$f16,$f4 /* f0a5afc: e7a6027c */ swc1 $f6,0x27c($sp) /* f0a5b00: c60a00bc */ lwc1 $f10,0xbc($s0) /* f0a5b04: c5680030 */ lwc1 $f8,0x30($t3) /* f0a5b08: c61001b4 */ lwc1 $f16,0x1b4($s0) /* f0a5b0c: 460a4480 */ add.s $f18,$f8,$f10 /* f0a5b10: 46128100 */ add.s $f4,$f16,$f18 /* f0a5b14: e7a40280 */ swc1 $f4,0x280($sp) /* f0a5b18: c60800c0 */ lwc1 $f8,0xc0($s0) /* f0a5b1c: c5660034 */ lwc1 $f6,0x34($t3) /* f0a5b20: c61001b8 */ lwc1 $f16,0x1b8($s0) /* f0a5b24: 46083280 */ add.s $f10,$f6,$f8 /* f0a5b28: 460a8480 */ add.s $f18,$f16,$f10 /* f0a5b2c: 1000002e */ b .PF0f0a5be8 /* f0a5b30: e7b20284 */ swc1 $f18,0x284($sp) /* f0a5b34: 8fb901c0 */ lw $t9,0x1c0($sp) .PF0f0a5b38: /* f0a5b38: 3c0140d0 */ lui $at,0x40d0 /* f0a5b3c: 13200016 */ beqz $t9,.PF0f0a5b98 /* f0a5b40: 00000000 */ nop /* f0a5b44: 44812000 */ mtc1 $at,$f4 /* f0a5b48: c60600b8 */ lwc1 $f6,0xb8($s0) /* f0a5b4c: c61001b0 */ lwc1 $f16,0x1b0($s0) /* f0a5b50: 3c01c184 */ lui $at,0xc184 /* f0a5b54: 46062200 */ add.s $f8,$f4,$f6 /* f0a5b58: 44819000 */ mtc1 $at,$f18 /* f0a5b5c: 3c01c180 */ lui $at,0xc180 /* f0a5b60: 46104281 */ sub.s $f10,$f8,$f16 /* f0a5b64: e7aa027c */ swc1 $f10,0x27c($sp) /* f0a5b68: c60400bc */ lwc1 $f4,0xbc($s0) /* f0a5b6c: c60801b4 */ lwc1 $f8,0x1b4($s0) /* f0a5b70: 44815000 */ mtc1 $at,$f10 /* f0a5b74: 46049180 */ add.s $f6,$f18,$f4 /* f0a5b78: 46064400 */ add.s $f16,$f8,$f6 /* f0a5b7c: e7b00280 */ swc1 $f16,0x280($sp) /* f0a5b80: c61200c0 */ lwc1 $f18,0xc0($s0) /* f0a5b84: c60801b8 */ lwc1 $f8,0x1b8($s0) /* f0a5b88: 46125100 */ add.s $f4,$f10,$f18 /* f0a5b8c: 46044180 */ add.s $f6,$f8,$f4 /* f0a5b90: 10000015 */ b .PF0f0a5be8 /* f0a5b94: e7a60284 */ swc1 $f6,0x284($sp) .PF0f0a5b98: /* f0a5b98: 0fc2c5f7 */ jal func0f0b131c /* f0a5b9c: 8fa40310 */ lw $a0,0x310($sp) /* f0a5ba0: c61000b8 */ lwc1 $f16,0xb8($s0) /* f0a5ba4: c61201b0 */ lwc1 $f18,0x1b0($s0) /* f0a5ba8: 8fb801c8 */ lw $t8,0x1c8($sp) /* f0a5bac: 46100280 */ add.s $f10,$f0,$f16 /* f0a5bb0: 46125201 */ sub.s $f8,$f10,$f18 /* f0a5bb4: e7a8027c */ swc1 $f8,0x27c($sp) /* f0a5bb8: c60600bc */ lwc1 $f6,0xbc($s0) /* f0a5bbc: c7040030 */ lwc1 $f4,0x30($t8) /* f0a5bc0: c60a01b4 */ lwc1 $f10,0x1b4($s0) /* f0a5bc4: 46062400 */ add.s $f16,$f4,$f6 /* f0a5bc8: 46105480 */ add.s $f18,$f10,$f16 /* f0a5bcc: e7b20280 */ swc1 $f18,0x280($sp) /* f0a5bd0: c60400c0 */ lwc1 $f4,0xc0($s0) /* f0a5bd4: c7080034 */ lwc1 $f8,0x34($t8) /* f0a5bd8: c60a01b8 */ lwc1 $f10,0x1b8($s0) /* f0a5bdc: 46044180 */ add.s $f6,$f8,$f4 /* f0a5be0: 46065400 */ add.s $f16,$f10,$f6 /* f0a5be4: e7b00284 */ swc1 $f16,0x284($sp) .PF0f0a5be8: /* f0a5be8: 3c01c2b4 */ lui $at,0xc2b4 /* f0a5bec: 44810000 */ mtc1 $at,$f0 /* f0a5bf0: 8fae01e0 */ lw $t6,0x1e0($sp) /* f0a5bf4: 3c014248 */ lui $at,0x4248 /* f0a5bf8: 44811000 */ mtc1 $at,$f2 /* f0a5bfc: 3c0140a0 */ lui $at,0x40a0 /* f0a5c00: 44814000 */ mtc1 $at,$f8 /* f0a5c04: c5d21968 */ lwc1 $f18,0x1968($t6) /* f0a5c08: c7b00280 */ lwc1 $f16,0x280($sp) /* f0a5c0c: 3c014170 */ lui $at,0x4170 /* f0a5c10: 46089102 */ mul.s $f4,$f18,$f8 /* f0a5c14: 46002283 */ div.s $f10,$f4,$f0 /* f0a5c18: 44812000 */ mtc1 $at,$f4 /* f0a5c1c: 46025182 */ mul.s $f6,$f10,$f2 /* f0a5c20: 46068480 */ add.s $f18,$f16,$f6 /* f0a5c24: e7b20280 */ swc1 $f18,0x280($sp) /* f0a5c28: c5c81968 */ lwc1 $f8,0x1968($t6) /* f0a5c2c: c7b20284 */ lwc1 $f18,0x284($sp) /* f0a5c30: 46044282 */ mul.s $f10,$f8,$f4 /* f0a5c34: 46005403 */ div.s $f16,$f10,$f0 /* f0a5c38: 46028182 */ mul.s $f6,$f16,$f2 /* f0a5c3c: 46069201 */ sub.s $f8,$f18,$f6 /* f0a5c40: e7a80284 */ swc1 $f8,0x284($sp) /* f0a5c44: 820f0004 */ lb $t7,0x4($s0) /* f0a5c48: 11e00054 */ beqz $t7,.PF0f0a5d9c /* f0a5c4c: 00000000 */ nop /* f0a5c50: 8fa201d4 */ lw $v0,0x1d4($sp) /* f0a5c54: 3c09800a */ lui $t1,0x800a /* f0a5c58: 10400050 */ beqz $v0,.PF0f0a5d9c /* f0a5c5c: 00000000 */ nop /* f0a5c60: 8d29a544 */ lw $t1,-0x5abc($t1) /* f0a5c64: 1120004d */ beqz $t1,.PF0f0a5d9c /* f0a5c68: 00000000 */ nop /* f0a5c6c: 8c4d0014 */ lw $t5,0x14($v0) /* f0a5c70: 11a0004a */ beqz $t5,.PF0f0a5d9c /* f0a5c74: 00000000 */ nop /* f0a5c78: 0c004ad4 */ jal random /* f0a5c7c: 00000000 */ nop /* f0a5c80: 44822000 */ mtc1 $v0,$f4 /* f0a5c84: 3c014f80 */ lui $at,0x4f80 /* f0a5c88: 04410004 */ bgez $v0,.PF0f0a5c9c /* f0a5c8c: 468022a0 */ cvt.s.w $f10,$f4 /* f0a5c90: 44818000 */ mtc1 $at,$f16 /* f0a5c94: 00000000 */ nop /* f0a5c98: 46105280 */ add.s $f10,$f10,$f16 .PF0f0a5c9c: /* f0a5c9c: 3c012f80 */ lui $at,0x2f80 /* f0a5ca0: 44819000 */ mtc1 $at,$f18 /* f0a5ca4: 8fac01d4 */ lw $t4,0x1d4($sp) /* f0a5ca8: 3c013f00 */ lui $at,0x3f00 /* f0a5cac: 46125182 */ mul.s $f6,$f10,$f18 /* f0a5cb0: 44814000 */ mtc1 $at,$f8 /* f0a5cb4: 8d8a0014 */ lw $t2,0x14($t4) /* f0a5cb8: c6120284 */ lwc1 $f18,0x284($s0) /* f0a5cbc: c5500000 */ lwc1 $f16,0x0($t2) /* f0a5cc0: 46083101 */ sub.s $f4,$f6,$f8 /* f0a5cc4: c7a8027c */ lwc1 $f8,0x27c($sp) /* f0a5cc8: 46102282 */ mul.s $f10,$f4,$f16 /* f0a5ccc: 00000000 */ nop /* f0a5cd0: 46125182 */ mul.s $f6,$f10,$f18 /* f0a5cd4: 46064100 */ add.s $f4,$f8,$f6 /* f0a5cd8: 0c004ad4 */ jal random /* f0a5cdc: e7a4027c */ swc1 $f4,0x27c($sp) /* f0a5ce0: 44828000 */ mtc1 $v0,$f16 /* f0a5ce4: 3c014f80 */ lui $at,0x4f80 /* f0a5ce8: 04410004 */ bgez $v0,.PF0f0a5cfc /* f0a5cec: 468082a0 */ cvt.s.w $f10,$f16 /* f0a5cf0: 44819000 */ mtc1 $at,$f18 /* f0a5cf4: 00000000 */ nop /* f0a5cf8: 46125280 */ add.s $f10,$f10,$f18 .PF0f0a5cfc: /* f0a5cfc: 3c012f80 */ lui $at,0x2f80 /* f0a5d00: 44814000 */ mtc1 $at,$f8 /* f0a5d04: 8fab01d4 */ lw $t3,0x1d4($sp) /* f0a5d08: 3c013f00 */ lui $at,0x3f00 /* f0a5d0c: 46085182 */ mul.s $f6,$f10,$f8 /* f0a5d10: 44812000 */ mtc1 $at,$f4 /* f0a5d14: 8d790014 */ lw $t9,0x14($t3) /* f0a5d18: c6080284 */ lwc1 $f8,0x284($s0) /* f0a5d1c: c7320004 */ lwc1 $f18,0x4($t9) /* f0a5d20: 46043401 */ sub.s $f16,$f6,$f4 /* f0a5d24: c7a40280 */ lwc1 $f4,0x280($sp) /* f0a5d28: 46128282 */ mul.s $f10,$f16,$f18 /* f0a5d2c: 00000000 */ nop /* f0a5d30: 46085182 */ mul.s $f6,$f10,$f8 /* f0a5d34: 46062400 */ add.s $f16,$f4,$f6 /* f0a5d38: 0c004ad4 */ jal random /* f0a5d3c: e7b00280 */ swc1 $f16,0x280($sp) /* f0a5d40: 44829000 */ mtc1 $v0,$f18 /* f0a5d44: 3c014f80 */ lui $at,0x4f80 /* f0a5d48: 04410004 */ bgez $v0,.PF0f0a5d5c /* f0a5d4c: 468092a0 */ cvt.s.w $f10,$f18 /* f0a5d50: 44814000 */ mtc1 $at,$f8 /* f0a5d54: 00000000 */ nop /* f0a5d58: 46085280 */ add.s $f10,$f10,$f8 .PF0f0a5d5c: /* f0a5d5c: 3c012f80 */ lui $at,0x2f80 /* f0a5d60: 44812000 */ mtc1 $at,$f4 /* f0a5d64: 8fb801d4 */ lw $t8,0x1d4($sp) /* f0a5d68: 3c013f00 */ lui $at,0x3f00 /* f0a5d6c: 46045182 */ mul.s $f6,$f10,$f4 /* f0a5d70: 44818000 */ mtc1 $at,$f16 /* f0a5d74: 8f0e0014 */ lw $t6,0x14($t8) /* f0a5d78: c6040284 */ lwc1 $f4,0x284($s0) /* f0a5d7c: c5c80008 */ lwc1 $f8,0x8($t6) /* f0a5d80: 46103481 */ sub.s $f18,$f6,$f16 /* f0a5d84: c7b00284 */ lwc1 $f16,0x284($sp) /* f0a5d88: 46089282 */ mul.s $f10,$f18,$f8 /* f0a5d8c: 00000000 */ nop /* f0a5d90: 46045182 */ mul.s $f6,$f10,$f4 /* f0a5d94: 46068480 */ add.s $f18,$f16,$f6 /* f0a5d98: e7b20284 */ swc1 $f18,0x284($sp) .PF0f0a5d9c: /* f0a5d9c: 0fc2d73e */ jal currentPlayerGetScreenWidth /* f0a5da0: 00000000 */ nop /* f0a5da4: 0fc2d746 */ jal currentPlayerGetScreenLeft /* f0a5da8: e7a00064 */ swc1 $f0,0x64($sp) /* f0a5dac: 0fc2d73e */ jal currentPlayerGetScreenWidth /* f0a5db0: e7a00068 */ swc1 $f0,0x68($sp) /* f0a5db4: 3c013f00 */ lui $at,0x3f00 /* f0a5db8: 44811000 */ mtc1 $at,$f2 /* f0a5dbc: 8faf01e0 */ lw $t7,0x1e0($sp) /* f0a5dc0: c7b00064 */ lwc1 $f16,0x64($sp) /* f0a5dc4: c7aa0068 */ lwc1 $f10,0x68($sp) /* f0a5dc8: c5e81674 */ lwc1 $f8,0x1674($t7) /* f0a5dcc: 46028182 */ mul.s $f6,$f16,$f2 /* f0a5dd0: 8fa901c8 */ lw $t1,0x1c8($sp) /* f0a5dd4: 460a4101 */ sub.s $f4,$f8,$f10 /* f0a5dd8: 8d2d0024 */ lw $t5,0x24($t1) /* f0a5ddc: 46062481 */ sub.s $f18,$f4,$f6 /* f0a5de0: c5a8000c */ lwc1 $f8,0xc($t5) /* f0a5de4: 46089282 */ mul.s $f10,$f18,$f8 /* f0a5de8: 00000000 */ nop /* f0a5dec: 46020402 */ mul.s $f16,$f0,$f2 /* f0a5df0: 46105103 */ div.s $f4,$f10,$f16 /* f0a5df4: 0fc2d74a */ jal currentPlayerGetScreenTop /* f0a5df8: e604076c */ swc1 $f4,0x76c($s0) /* f0a5dfc: 0fc2d742 */ jal currentPlayerGetScreenHeight /* f0a5e00: e7a00068 */ swc1 $f0,0x68($sp) /* f0a5e04: 3c013f00 */ lui $at,0x3f00 /* f0a5e08: 44813000 */ mtc1 $at,$f6 /* f0a5e0c: 8fac01e0 */ lw $t4,0x1e0($sp) /* f0a5e10: c7aa0068 */ lwc1 $f10,0x68($sp) /* f0a5e14: 46060482 */ mul.s $f18,$f0,$f6 /* f0a5e18: c5881678 */ lwc1 $f8,0x1678($t4) /* f0a5e1c: 460a4401 */ sub.s $f16,$f8,$f10 /* f0a5e20: 4610903c */ c.lt.s $f18,$f16 /* f0a5e24: 00000000 */ nop /* f0a5e28: 4500001a */ bc1f .PF0f0a5e94 /* f0a5e2c: 00000000 */ nop /* f0a5e30: 0fc2d742 */ jal currentPlayerGetScreenHeight /* f0a5e34: 00000000 */ nop /* f0a5e38: 0fc2d74a */ jal currentPlayerGetScreenTop /* f0a5e3c: e7a00064 */ swc1 $f0,0x64($sp) /* f0a5e40: 0fc2d742 */ jal currentPlayerGetScreenHeight /* f0a5e44: e7a00068 */ swc1 $f0,0x68($sp) /* f0a5e48: 3c013f00 */ lui $at,0x3f00 /* f0a5e4c: 44819000 */ mtc1 $at,$f18 /* f0a5e50: 8faa01e0 */ lw $t2,0x1e0($sp) /* f0a5e54: c7aa0064 */ lwc1 $f10,0x64($sp) /* f0a5e58: c7a60068 */ lwc1 $f6,0x68($sp) /* f0a5e5c: c5441678 */ lwc1 $f4,0x1678($t2) /* f0a5e60: 46125402 */ mul.s $f16,$f10,$f18 /* f0a5e64: 8fab01c8 */ lw $t3,0x1c8($sp) /* f0a5e68: 46062201 */ sub.s $f8,$f4,$f6 /* f0a5e6c: 44819000 */ mtc1 $at,$f18 /* f0a5e70: 8d790024 */ lw $t9,0x24($t3) /* f0a5e74: 46104101 */ sub.s $f4,$f8,$f16 /* f0a5e78: c7260008 */ lwc1 $f6,0x8($t9) /* f0a5e7c: 46062282 */ mul.s $f10,$f4,$f6 /* f0a5e80: 00000000 */ nop /* f0a5e84: 46120202 */ mul.s $f8,$f0,$f18 /* f0a5e88: 46085403 */ div.s $f16,$f10,$f8 /* f0a5e8c: 10000019 */ b .PF0f0a5ef4 /* f0a5e90: e6100770 */ swc1 $f16,0x770($s0) .PF0f0a5e94: /* f0a5e94: 0fc2d742 */ jal currentPlayerGetScreenHeight /* f0a5e98: 00000000 */ nop /* f0a5e9c: 0fc2d74a */ jal currentPlayerGetScreenTop /* f0a5ea0: e7a00064 */ swc1 $f0,0x64($sp) /* f0a5ea4: 0fc2d742 */ jal currentPlayerGetScreenHeight /* f0a5ea8: e7a00068 */ swc1 $f0,0x68($sp) /* f0a5eac: 3c013f00 */ lui $at,0x3f00 /* f0a5eb0: 44814000 */ mtc1 $at,$f8 /* f0a5eb4: 8fb801e0 */ lw $t8,0x1e0($sp) /* f0a5eb8: c7aa0064 */ lwc1 $f10,0x64($sp) /* f0a5ebc: c7a60068 */ lwc1 $f6,0x68($sp) /* f0a5ec0: c7041678 */ lwc1 $f4,0x1678($t8) /* f0a5ec4: 46085402 */ mul.s $f16,$f10,$f8 /* f0a5ec8: 8fae01c8 */ lw $t6,0x1c8($sp) /* f0a5ecc: 46062481 */ sub.s $f18,$f4,$f6 /* f0a5ed0: 44814000 */ mtc1 $at,$f8 /* f0a5ed4: 8dcf0024 */ lw $t7,0x24($t6) /* f0a5ed8: 46109101 */ sub.s $f4,$f18,$f16 /* f0a5edc: c5e60004 */ lwc1 $f6,0x4($t7) /* f0a5ee0: 46062282 */ mul.s $f10,$f4,$f6 /* f0a5ee4: 00000000 */ nop /* f0a5ee8: 46080482 */ mul.s $f18,$f0,$f8 /* f0a5eec: 46125403 */ div.s $f16,$f10,$f18 /* f0a5ef0: e6100770 */ swc1 $f16,0x770($s0) .PF0f0a5ef4: /* f0a5ef4: c600076c */ lwc1 $f0,0x76c($s0) /* f0a5ef8: c6020770 */ lwc1 $f2,0x770($s0) /* f0a5efc: c7a4027c */ lwc1 $f4,0x27c($sp) /* f0a5f00: c7a80280 */ lwc1 $f8,0x280($sp) /* f0a5f04: 24090001 */ li $t1,0x1 /* f0a5f08: 46002180 */ add.s $f6,$f4,$f0 /* f0a5f0c: 24050040 */ li $a1,0x40 /* f0a5f10: 46024281 */ sub.s $f10,$f8,$f2 /* f0a5f14: e7a6027c */ swc1 $f6,0x27c($sp) /* f0a5f18: e7aa0280 */ swc1 $f10,0x280($sp) /* f0a5f1c: a2090007 */ sb $t1,0x7($s0) /* f0a5f20: 0fc2c720 */ jal weaponHasFlag /* f0a5f24: 8fa401cc */ lw $a0,0x1cc($sp) /* f0a5f28: 50400018 */ beqzl $v0,.PF0f0a5f8c /* f0a5f2c: a2000007 */ sb $zero,0x7($s0) /* f0a5f30: 8fa401cc */ lw $a0,0x1cc($sp) /* f0a5f34: 0fc2c720 */ jal weaponHasFlag /* f0a5f38: 24050080 */ li $a1,0x80 /* f0a5f3c: 54400013 */ bnezl $v0,.PF0f0a5f8c /* f0a5f40: a2000007 */ sb $zero,0x7($s0) /* f0a5f44: 8e020020 */ lw $v0,0x20($s0) /* f0a5f48: 24010006 */ li $at,0x6 /* f0a5f4c: 1041000e */ beq $v0,$at,.PF0f0a5f88 /* f0a5f50: 24010007 */ li $at,0x7 /* f0a5f54: 5041000d */ beql $v0,$at,.PF0f0a5f8c /* f0a5f58: a2000007 */ sb $zero,0x7($s0) /* f0a5f5c: 0fc2780c */ jal bgun0f09dd7c /* f0a5f60: 00000000 */ nop /* f0a5f64: 50400009 */ beqzl $v0,.PF0f0a5f8c /* f0a5f68: a2000007 */ sb $zero,0x7($s0) /* f0a5f6c: 820d0008 */ lb $t5,0x8($s0) /* f0a5f70: 51a00006 */ beqzl $t5,.PF0f0a5f8c /* f0a5f74: a2000007 */ sb $zero,0x7($s0) /* f0a5f78: 0fc27820 */ jal bgun0f09ddcc /* f0a5f7c: 00000000 */ nop /* f0a5f80: 54400003 */ bnezl $v0,.PF0f0a5f90 /* f0a5f84: 820c0007 */ lb $t4,0x7($s0) .PF0f0a5f88: /* f0a5f88: a2000007 */ sb $zero,0x7($s0) .PF0f0a5f8c: /* f0a5f8c: 820c0007 */ lb $t4,0x7($s0) .PF0f0a5f90: /* f0a5f90: 11800031 */ beqz $t4,.PF0f0a6058 /* f0a5f94: 00000000 */ nop /* f0a5f98: 8faa01e0 */ lw $t2,0x1e0($sp) /* f0a5f9c: 8d421590 */ lw $v0,0x1590($t2) /* f0a5fa0: 8444000e */ lh $a0,0xe($v0) /* f0a5fa4: afa20288 */ sw $v0,0x288($sp) /* f0a5fa8: 00045980 */ sll $t3,$a0,0x6 /* f0a5fac: 0fc5a25d */ jal gfxAllocate /* f0a5fb0: 01602025 */ move $a0,$t3 /* f0a5fb4: afa2030c */ sw $v0,0x30c($sp) /* f0a5fb8: 8fa401cc */ lw $a0,0x1cc($sp) /* f0a5fbc: 0fc2c720 */ jal weaponHasFlag /* f0a5fc0: 3c050200 */ lui $a1,0x200 /* f0a5fc4: 10400012 */ beqz $v0,.PF0f0a6010 /* f0a5fc8: 8fb90288 */ lw $t9,0x288($sp) /* f0a5fcc: 8738000e */ lh $t8,0xe($t9) /* f0a5fd0: 00001025 */ move $v0,$zero /* f0a5fd4: 8fa4030c */ lw $a0,0x30c($sp) /* f0a5fd8: 1b00000d */ blez $t8,.PF0f0a6010 /* f0a5fdc: 00000000 */ nop /* f0a5fe0: afa201d0 */ sw $v0,0x1d0($sp) .PF0f0a5fe4: /* f0a5fe4: 0c0055d0 */ jal func000159b0 /* f0a5fe8: afa4004c */ sw $a0,0x4c($sp) /* f0a5fec: 8fae0288 */ lw $t6,0x288($sp) /* f0a5ff0: 8fa201d0 */ lw $v0,0x1d0($sp) /* f0a5ff4: 8fa4004c */ lw $a0,0x4c($sp) /* f0a5ff8: 85cf000e */ lh $t7,0xe($t6) /* f0a5ffc: 24420001 */ addiu $v0,$v0,0x1 /* f0a6000: 24840040 */ addiu $a0,$a0,0x40 /* f0a6004: 004f082a */ slt $at,$v0,$t7 /* f0a6008: 5420fff6 */ bnezl $at,.PF0f0a5fe4 /* f0a600c: afa201d0 */ sw $v0,0x1d0($sp) .PF0f0a6010: /* f0a6010: 0fc28c37 */ jal bgun0f0a2da8 /* f0a6014: 8e040794 */ lw $a0,0x794($s0) /* f0a6018: 8fa901e0 */ lw $t1,0x1e0($sp) /* f0a601c: 8d2d1594 */ lw $t5,0x1594($t1) /* f0a6020: 51a00004 */ beqzl $t5,.PF0f0a6034 /* f0a6024: 02002025 */ move $a0,$s0 /* f0a6028: 0fc28c37 */ jal bgun0f0a2da8 /* f0a602c: 8e040798 */ lw $a0,0x798($s0) /* f0a6030: 02002025 */ move $a0,$s0 .PF0f0a6034: /* f0a6034: 0fc25fd4 */ jal bgun0f098030 /* f0a6038: 8fa50288 */ lw $a1,0x288($sp) /* f0a603c: 8fa401cc */ lw $a0,0x1cc($sp) /* f0a6040: 0fc2c720 */ jal weaponHasFlag /* f0a6044: 24052000 */ li $a1,0x2000 /* f0a6048: 10400003 */ beqz $v0,.PF0f0a6058 /* f0a604c: 02002025 */ move $a0,$s0 /* f0a6050: 0fc26042 */ jal bgun0f0981e8 /* f0a6054: 8fa50288 */ lw $a1,0x288($sp) .PF0f0a6058: /* f0a6058: 0c0055d0 */ jal func000159b0 /* f0a605c: 27a4023c */ addiu $a0,$sp,0x23c /* f0a6060: 3c08800a */ lui $t0,0x800a /* f0a6064: 2508a510 */ addiu $t0,$t0,-23280 /* f0a6068: 8d0c006c */ lw $t4,0x6c($t0) /* f0a606c: 24010001 */ li $at,0x1 /* f0a6070: 51800004 */ beqzl $t4,.PF0f0a6084 /* f0a6074: 00002825 */ move $a1,$zero /* f0a6078: 10000002 */ b .PF0f0a6084 /* f0a607c: 24050001 */ li $a1,0x1 /* f0a6080: 00002825 */ move $a1,$zero .PF0f0a6084: /* f0a6084: 8d0a0068 */ lw $t2,0x68($t0) /* f0a6088: 51400004 */ beqzl $t2,.PF0f0a609c /* f0a608c: 00002025 */ move $a0,$zero /* f0a6090: 10000002 */ b .PF0f0a609c /* f0a6094: 24040001 */ li $a0,0x1 /* f0a6098: 00002025 */ move $a0,$zero .PF0f0a609c: /* f0a609c: 8d0b0064 */ lw $t3,0x64($t0) /* f0a60a0: 51600004 */ beqzl $t3,.PF0f0a60b4 /* f0a60a4: 00001825 */ move $v1,$zero /* f0a60a8: 10000002 */ b .PF0f0a60b4 /* f0a60ac: 24030001 */ li $v1,0x1 /* f0a60b0: 00001825 */ move $v1,$zero .PF0f0a60b4: /* f0a60b4: 8d190070 */ lw $t9,0x70($t0) /* f0a60b8: 53200004 */ beqzl $t9,.PF0f0a60cc /* f0a60bc: 00001025 */ move $v0,$zero /* f0a60c0: 10000002 */ b .PF0f0a60cc /* f0a60c4: 24020001 */ li $v0,0x1 /* f0a60c8: 00001025 */ move $v0,$zero .PF0f0a60cc: /* f0a60cc: 0043c021 */ addu $t8,$v0,$v1 /* f0a60d0: 03047021 */ addu $t6,$t8,$a0 /* f0a60d4: 01c57821 */ addu $t7,$t6,$a1 /* f0a60d8: 15e10012 */ bne $t7,$at,.PF0f0a6124 /* f0a60dc: 3c098009 */ lui $t1,0x8009 /* f0a60e0: 91291040 */ lbu $t1,0x1040($t1) /* f0a60e4: 24010001 */ li $at,0x1 /* f0a60e8: 8fa401cc */ lw $a0,0x1cc($sp) /* f0a60ec: 5121000e */ beql $t1,$at,.PF0f0a6128 /* f0a60f0: 8e0a00b4 */ lw $t2,0xb4($s0) /* f0a60f4: 0fc2c720 */ jal weaponHasFlag /* f0a60f8: 3c050008 */ lui $a1,0x8 /* f0a60fc: 10400009 */ beqz $v0,.PF0f0a6124 /* f0a6100: 02002025 */ move $a0,$s0 /* f0a6104: 27ad028c */ addiu $t5,$sp,0x28c /* f0a6108: 27ac023c */ addiu $t4,$sp,0x23c /* f0a610c: afac0014 */ sw $t4,0x14($sp) /* f0a6110: afad0010 */ sw $t5,0x10($sp) /* f0a6114: 8fa50310 */ lw $a1,0x310($sp) /* f0a6118: 27a6027c */ addiu $a2,$sp,0x27c /* f0a611c: 0fc28d25 */ jal bgun0f0a3160 /* f0a6120: 8fa701d8 */ lw $a3,0x1d8($sp) .PF0f0a6124: /* f0a6124: 8e0a00b4 */ lw $t2,0xb4($s0) .PF0f0a6128: /* f0a6128: 51400017 */ beqzl $t2,.PF0f0a6188 /* f0a612c: 44800000 */ mtc1 $zero,$f0 /* f0a6130: c7b2027c */ lwc1 $f18,0x27c($sp) /* f0a6134: c61000a4 */ lwc1 $f16,0xa4($s0) /* f0a6138: c7a60280 */ lwc1 $f6,0x280($sp) /* f0a613c: 26040074 */ addiu $a0,$s0,0x74 /* f0a6140: 46109100 */ add.s $f4,$f18,$f16 /* f0a6144: c7b20284 */ lwc1 $f18,0x284($sp) /* f0a6148: 27a5023c */ addiu $a1,$sp,0x23c /* f0a614c: e7a4027c */ swc1 $f4,0x27c($sp) /* f0a6150: c60800a8 */ lwc1 $f8,0xa8($s0) /* f0a6154: 46083280 */ add.s $f10,$f6,$f8 /* f0a6158: e7aa0280 */ swc1 $f10,0x280($sp) /* f0a615c: c61000ac */ lwc1 $f16,0xac($s0) /* f0a6160: 46109100 */ add.s $f4,$f18,$f16 /* f0a6164: 0c00565c */ jal func00015be0 /* f0a6168: e7a40284 */ swc1 $f4,0x284($sp) /* f0a616c: 44800000 */ mtc1 $zero,$f0 /* f0a6170: 00000000 */ nop /* f0a6174: e7a0026c */ swc1 $f0,0x26c($sp) /* f0a6178: e7a00270 */ swc1 $f0,0x270($sp) /* f0a617c: 10000007 */ b .PF0f0a619c /* f0a6180: e7a00274 */ swc1 $f0,0x274($sp) /* f0a6184: 44800000 */ mtc1 $zero,$f0 .PF0f0a6188: /* f0a6188: 00000000 */ nop /* f0a618c: e6000070 */ swc1 $f0,0x70($s0) /* f0a6190: e6000064 */ swc1 $f0,0x64($s0) /* f0a6194: e6000068 */ swc1 $f0,0x68($s0) /* f0a6198: e600006c */ swc1 $f0,0x6c($s0) .PF0f0a619c: /* f0a619c: c60600c4 */ lwc1 $f6,0xc4($s0) /* f0a61a0: 44050000 */ mfc1 $a1,$f0 /* f0a61a4: 44060000 */ mfc1 $a2,$f0 /* f0a61a8: e7a60010 */ swc1 $f6,0x10($sp) /* f0a61ac: c60800c8 */ lwc1 $f8,0xc8($s0) /* f0a61b0: 44070000 */ mfc1 $a3,$f0 /* f0a61b4: 27a4028c */ addiu $a0,$sp,0x28c /* f0a61b8: e7a80014 */ swc1 $f8,0x14($sp) /* f0a61bc: c60a00cc */ lwc1 $f10,0xcc($s0) /* f0a61c0: e7aa0018 */ swc1 $f10,0x18($sp) /* f0a61c4: c61200d0 */ lwc1 $f18,0xd0($s0) /* f0a61c8: e7b2001c */ swc1 $f18,0x1c($sp) /* f0a61cc: c61000d4 */ lwc1 $f16,0xd4($s0) /* f0a61d0: e7b00020 */ swc1 $f16,0x20($sp) /* f0a61d4: c60400d8 */ lwc1 $f4,0xd8($s0) /* f0a61d8: 0c005aba */ jal func00016d58 /* f0a61dc: e7a40024 */ swc1 $f4,0x24($sp) /* f0a61e0: 27a4028c */ addiu $a0,$sp,0x28c /* f0a61e4: 0c00565c */ jal func00015be0 /* f0a61e8: 27a5023c */ addiu $a1,$sp,0x23c /* f0a61ec: 44800000 */ mtc1 $zero,$f0 /* f0a61f0: 3c017f1b */ lui $at,0x7f1b /* f0a61f4: c426dbe4 */ lwc1 $f6,-0x241c($at) /* f0a61f8: 27a401ac */ addiu $a0,$sp,0x1ac /* f0a61fc: 27a5016c */ addiu $a1,$sp,0x16c /* f0a6200: e7a001ac */ swc1 $f0,0x1ac($sp) /* f0a6204: e7a001b4 */ swc1 $f0,0x1b4($sp) /* f0a6208: 0c005887 */ jal func0001648c /* f0a620c: e7a601b0 */ swc1 $f6,0x1b0($sp) /* f0a6210: 44804000 */ mtc1 $zero,$f8 /* f0a6214: 27a40120 */ addiu $a0,$sp,0x120 /* f0a6218: 8fa50310 */ lw $a1,0x310($sp) /* f0a621c: 0fc28a09 */ jal bgun0f0a24f0 /* f0a6220: e7a801b0 */ swc1 $f8,0x1b0($sp) /* f0a6224: c7ac0120 */ lwc1 $f12,0x120($sp) /* f0a6228: c7ae0128 */ lwc1 $f14,0x128($sp) /* f0a622c: 8fa6027c */ lw $a2,0x27c($sp) /* f0a6230: 0fc289f3 */ jal bgun0f0a2498 /* f0a6234: 8fa70284 */ lw $a3,0x284($sp) /* f0a6238: 46000287 */ neg.s $f10,$f0 /* f0a623c: c7ac0124 */ lwc1 $f12,0x124($sp) /* f0a6240: e7aa01b0 */ swc1 $f10,0x1b0($sp) /* f0a6244: c7ae0128 */ lwc1 $f14,0x128($sp) /* f0a6248: 8fa60280 */ lw $a2,0x280($sp) /* f0a624c: 0fc289f3 */ jal bgun0f0a2498 /* f0a6250: 8fa70284 */ lw $a3,0x284($sp) /* f0a6254: e7a001ac */ swc1 $f0,0x1ac($sp) /* f0a6258: c7b201ac */ lwc1 $f18,0x1ac($sp) /* f0a625c: 27a401ac */ addiu $a0,$sp,0x1ac /* f0a6260: 27a5012c */ addiu $a1,$sp,0x12c /* f0a6264: e6120234 */ swc1 $f18,0x234($s0) /* f0a6268: c7b001b0 */ lwc1 $f16,0x1b0($sp) /* f0a626c: 0c005887 */ jal func0001648c /* f0a6270: e6100238 */ swc1 $f16,0x238($s0) /* f0a6274: 27a4012c */ addiu $a0,$sp,0x12c /* f0a6278: 27a5016c */ addiu $a1,$sp,0x16c /* f0a627c: 0c0055e4 */ jal func00015a00 /* f0a6280: 27a6028c */ addiu $a2,$sp,0x28c /* f0a6284: 27a4028c */ addiu $a0,$sp,0x28c /* f0a6288: 0c0055e3 */ jal func000159fc /* f0a628c: 27a5023c */ addiu $a1,$sp,0x23c /* f0a6290: 27a4023c */ addiu $a0,$sp,0x23c /* f0a6294: 0c0056aa */ jal func00015d18 /* f0a6298: 27a502cc */ addiu $a1,$sp,0x2cc /* f0a629c: 27a4027c */ addiu $a0,$sp,0x27c /* f0a62a0: 0c0056d9 */ jal func00015dd4 /* f0a62a4: 27a502cc */ addiu $a1,$sp,0x2cc /* f0a62a8: 260502b4 */ addiu $a1,$s0,0x2b4 /* f0a62ac: afa5004c */ sw $a1,0x4c($sp) /* f0a62b0: 0c0056aa */ jal func00015d18 /* f0a62b4: 27a402cc */ addiu $a0,$sp,0x2cc /* f0a62b8: 260402f4 */ addiu $a0,$s0,0x2f4 /* f0a62bc: afa40044 */ sw $a0,0x44($sp) /* f0a62c0: 0c0056aa */ jal func00015d18 /* f0a62c4: 26050334 */ addiu $a1,$s0,0x334 /* f0a62c8: 0fc2d726 */ jal currentPlayerGetUnk174c /* f0a62cc: 00000000 */ nop /* f0a62d0: 00402025 */ move $a0,$v0 /* f0a62d4: 8fa5004c */ lw $a1,0x4c($sp) /* f0a62d8: 0c00565d */ jal func00015be4 /* f0a62dc: 8fa60044 */ lw $a2,0x44($sp) /* f0a62e0: 820b0007 */ lb $t3,0x7($s0) /* f0a62e4: 1160020f */ beqz $t3,.PF0f0a6b24 /* f0a62e8: 2405005a */ li $a1,0x5a /* f0a62ec: 8fa40288 */ lw $a0,0x288($sp) .PF0f0a62f0: /* f0a62f0: 0c0069ab */ jal modelGetPart /* f0a62f4: afa5011c */ sw $a1,0x11c($sp) /* f0a62f8: 1040000c */ beqz $v0,.PF0f0a632c /* f0a62fc: 8fa5011c */ lw $a1,0x11c($sp) /* f0a6300: 8c430004 */ lw $v1,0x4($v0) /* f0a6304: 8fa901e8 */ lw $t1,0x1e8($sp) /* f0a6308: 94790004 */ lhu $t9,0x4($v1) /* f0a630c: 00096880 */ sll $t5,$t1,0x2 /* f0a6310: 03ad6021 */ addu $t4,$sp,$t5 /* f0a6314: 0019c080 */ sll $t8,$t9,0x2 /* f0a6318: 02187021 */ addu $t6,$s0,$t8 /* f0a631c: 25cf0434 */ addiu $t7,$t6,0x434 /* f0a6320: ad8f01ec */ sw $t7,0x1ec($t4) /* f0a6324: 252a0001 */ addiu $t2,$t1,0x1 /* f0a6328: afaa01e8 */ sw $t2,0x1e8($sp) .PF0f0a632c: /* f0a632c: 24a50001 */ addiu $a1,$a1,0x1 /* f0a6330: 2401005d */ li $at,0x5d /* f0a6334: 54a1ffee */ bnel $a1,$at,.PF0f0a62f0 /* f0a6338: 8fa40288 */ lw $a0,0x288($sp) /* f0a633c: 8fa2030c */ lw $v0,0x30c($sp) /* f0a6340: 24050020 */ li $a1,0x20 /* f0a6344: ae020390 */ sw $v0,0x390($s0) /* f0a6348: ae020540 */ sw $v0,0x540($s0) /* f0a634c: 0fc2c720 */ jal weaponHasFlag /* f0a6350: 8fa401cc */ lw $a0,0x1cc($sp) /* f0a6354: 10400008 */ beqz $v0,.PF0f0a6378 /* f0a6358: 00000000 */ nop /* f0a635c: 8fab0310 */ lw $t3,0x310($sp) /* f0a6360: 24010001 */ li $at,0x1 /* f0a6364: 15610004 */ bne $t3,$at,.PF0f0a6378 /* f0a6368: 3c01bf80 */ lui $at,0xbf80 /* f0a636c: 44816000 */ mtc1 $at,$f12 /* f0a6370: 0c0056ed */ jal func00015e24 /* f0a6374: 27a502cc */ addiu $a1,$sp,0x2cc .PF0f0a6378: /* f0a6378: 3c017f1b */ lui $at,0x7f1b /* f0a637c: c42cdbe8 */ lwc1 $f12,-0x2418($at) /* f0a6380: 0c005725 */ jal func00015f04 /* f0a6384: 27a502cc */ addiu $a1,$sp,0x2cc /* f0a6388: 27a402cc */ addiu $a0,$sp,0x2cc /* f0a638c: 0c0056aa */ jal func00015d18 /* f0a6390: 8fa5030c */ lw $a1,0x30c($sp) /* f0a6394: 8e190690 */ lw $t9,0x690($s0) /* f0a6398: 0019c0c0 */ sll $t8,$t9,0x3 /* f0a639c: 00187742 */ srl $t6,$t8,0x1d /* f0a63a0: 19c00018 */ blez $t6,.PF0f0a6404 /* f0a63a4: 00000000 */ nop /* f0a63a8: 8fa801cc */ lw $t0,0x1cc($sp) /* f0a63ac: 2401001c */ li $at,0x1c /* f0a63b0: 1101000d */ beq $t0,$at,.PF0f0a63e8 /* f0a63b4: 2401001e */ li $at,0x1e /* f0a63b8: 11010003 */ beq $t0,$at,.PF0f0a63c8 /* f0a63bc: 2401001f */ li $at,0x1f /* f0a63c0: 15010010 */ bne $t0,$at,.PF0f0a6404 /* f0a63c4: 00000000 */ nop .PF0f0a63c8: /* f0a63c8: 920f06d6 */ lbu $t7,0x6d6($s0) /* f0a63cc: 31edff0f */ andi $t5,$t7,0xff0f /* f0a63d0: 35a90010 */ ori $t1,$t5,0x10 /* f0a63d4: 312a00f1 */ andi $t2,$t1,0xf1 /* f0a63d8: a20906d6 */ sb $t1,0x6d6($s0) /* f0a63dc: 354b0002 */ ori $t3,$t2,0x2 /* f0a63e0: 10000008 */ b .PF0f0a6404 /* f0a63e4: a20b06d6 */ sb $t3,0x6d6($s0) .PF0f0a63e8: /* f0a63e8: 921906d6 */ lbu $t9,0x6d6($s0) /* f0a63ec: 3338ff0f */ andi $t8,$t9,0xff0f /* f0a63f0: 370f0010 */ ori $t7,$t8,0x10 /* f0a63f4: 31ed00f1 */ andi $t5,$t7,0xf1 /* f0a63f8: a20f06d6 */ sb $t7,0x6d6($s0) /* f0a63fc: 35ac0004 */ ori $t4,$t5,0x4 /* f0a6400: a20c06d6 */ sb $t4,0x6d6($s0) .PF0f0a6404: /* f0a6404: 3c01800a */ lui $at,0x800a /* f0a6408: ac30d6ac */ sw $s0,-0x2954($at) /* f0a640c: 960906d6 */ lhu $t1,0x6d6($s0) /* f0a6410: 8fa801cc */ lw $t0,0x1cc($sp) /* f0a6414: 00095302 */ srl $t2,$t1,0xc /* f0a6418: 19400005 */ blez $t2,.PF0f0a6430 /* f0a641c: 02002025 */ move $a0,$s0 /* f0a6420: 8fa50288 */ lw $a1,0x288($sp) /* f0a6424: 0fc29241 */ jal bgun0f0a45d0 /* f0a6428: 8fa601c0 */ lw $a2,0x1c0($sp) /* f0a642c: 8fa801cc */ lw $t0,0x1cc($sp) .PF0f0a6430: /* f0a6430: 240bffff */ li $t3,-1 /* f0a6434: 3c01800a */ lui $at,0x800a /* f0a6438: 3c03800a */ lui $v1,0x800a /* f0a643c: ac2bd650 */ sw $t3,-0x29b0($at) /* f0a6440: 2463d658 */ addiu $v1,$v1,-10664 /* f0a6444: 2419ffff */ li $t9,-1 /* f0a6448: 24010014 */ li $at,0x14 /* f0a644c: ac790008 */ sw $t9,0x8($v1) /* f0a6450: ac790004 */ sw $t9,0x4($v1) /* f0a6454: 11010008 */ beq $t0,$at,.PF0f0a6478 /* f0a6458: ac790000 */ sw $t9,0x0($v1) /* f0a645c: 2401001d */ li $at,0x1d /* f0a6460: 15010009 */ bne $t0,$at,.PF0f0a6488 /* f0a6464: 00000000 */ nop /* f0a6468: 0fc2919a */ jal bgun0f0a4334 /* f0a646c: 02002025 */ move $a0,$s0 /* f0a6470: 10000005 */ b .PF0f0a6488 /* f0a6474: 8fa801cc */ lw $t0,0x1cc($sp) .PF0f0a6478: /* f0a6478: 02002025 */ move $a0,$s0 /* f0a647c: 0fc28f76 */ jal bgun0f0a3aa4 /* f0a6480: 8fa50288 */ lw $a1,0x288($sp) /* f0a6484: 8fa801cc */ lw $t0,0x1cc($sp) .PF0f0a6488: /* f0a6488: 3c0e8007 */ lui $t6,0x8007 /* f0a648c: 25ce05ec */ addiu $t6,$t6,0x5ec /* f0a6490: 24050001 */ li $a1,0x1 /* f0a6494: 25cd003c */ addiu $t5,$t6,0x3c /* f0a6498: 27b800d8 */ addiu $t8,$sp,0xd8 .PF0f0a649c: /* f0a649c: 8dc10000 */ lw $at,0x0($t6) /* f0a64a0: 25ce000c */ addiu $t6,$t6,0xc /* f0a64a4: 2718000c */ addiu $t8,$t8,0xc /* f0a64a8: af01fff4 */ sw $at,-0xc($t8) /* f0a64ac: 8dc1fff8 */ lw $at,-0x8($t6) /* f0a64b0: af01fff8 */ sw $at,-0x8($t8) /* f0a64b4: 8dc1fffc */ lw $at,-0x4($t6) /* f0a64b8: 15cdfff8 */ bne $t6,$t5,.PF0f0a649c /* f0a64bc: af01fffc */ sw $at,-0x4($t8) /* f0a64c0: 8dc10000 */ lw $at,0x0($t6) /* f0a64c4: 27ac02cc */ addiu $t4,$sp,0x2cc /* f0a64c8: 250bffec */ addiu $t3,$t0,-20 /* f0a64cc: af010000 */ sw $at,0x0($t8) /* f0a64d0: afac00d8 */ sw $t4,0xd8($sp) /* f0a64d4: 8e090390 */ lw $t1,0x390($s0) /* f0a64d8: 00003825 */ move $a3,$zero /* f0a64dc: 2d610022 */ sltiu $at,$t3,0x22 /* f0a64e0: afa900e8 */ sw $t1,0xe8($sp) /* f0a64e4: 8e0a068c */ lw $t2,0x68c($s0) /* f0a64e8: 11400002 */ beqz $t2,.PF0f0a64f4 /* f0a64ec: 00000000 */ nop /* f0a64f0: 00002825 */ move $a1,$zero .PF0f0a64f4: /* f0a64f4: 1020001e */ beqz $at,.PF0f0a6570 /* f0a64f8: 000b5880 */ sll $t3,$t3,0x2 /* f0a64fc: 3c017f1b */ lui $at,0x7f1b /* f0a6500: 002b0821 */ addu $at,$at,$t3 /* f0a6504: 8c2bdbec */ lw $t3,-0x2414($at) /* f0a6508: 01600008 */ jr $t3 /* f0a650c: 00000000 */ nop /* f0a6510: 10000017 */ b .PF0f0a6570 /* f0a6514: 00002825 */ move $a1,$zero /* f0a6518: 8fb901e0 */ lw $t9,0x1e0($sp) /* f0a651c: 8f2f0ffc */ lw $t7,0xffc($t9) /* f0a6520: 55e00003 */ bnezl $t7,.PF0f0a6530 /* f0a6524: 8fad01e0 */ lw $t5,0x1e0($sp) /* f0a6528: 00002825 */ move $a1,$zero /* f0a652c: 8fad01e0 */ lw $t5,0x1e0($sp) .PF0f0a6530: /* f0a6530: 8fb801e0 */ lw $t8,0x1e0($sp) /* f0a6534: 8fac0054 */ lw $t4,0x54($sp) /* f0a6538: 8dae0858 */ lw $t6,0x858($t5) /* f0a653c: 030c4821 */ addu $t1,$t8,$t4 /* f0a6540: 55c00003 */ bnezl $t6,.PF0f0a6550 /* f0a6544: 8d220c3c */ lw $v0,0xc3c($t1) /* f0a6548: 00002825 */ move $a1,$zero /* f0a654c: 8d220c3c */ lw $v0,0xc3c($t1) .PF0f0a6550: /* f0a6550: 24010008 */ li $at,0x8 /* f0a6554: 54410003 */ bnel $v0,$at,.PF0f0a6564 /* f0a6558: 24010004 */ li $at,0x4 /* f0a655c: 00002825 */ move $a1,$zero /* f0a6560: 24010004 */ li $at,0x4 .PF0f0a6564: /* f0a6564: 54410003 */ bnel $v0,$at,.PF0f0a6574 /* f0a6568: 8faa01e0 */ lw $t2,0x1e0($sp) /* f0a656c: 00002825 */ move $a1,$zero .PF0f0a6570: /* f0a6570: 8faa01e0 */ lw $t2,0x1e0($sp) .PF0f0a6574: /* f0a6574: 8fab0054 */ lw $t3,0x54($sp) /* f0a6578: 961906d6 */ lhu $t9,0x6d6($s0) /* f0a657c: 24010005 */ li $at,0x5 /* f0a6580: 014b1821 */ addu $v1,$t2,$t3 /* f0a6584: 00197b02 */ srl $t7,$t9,0xc /* f0a6588: 11e00002 */ beqz $t7,.PF0f0a6594 /* f0a658c: 8c620c3c */ lw $v0,0xc3c($v1) /* f0a6590: 00002825 */ move $a1,$zero .PF0f0a6594: /* f0a6594: 1441000a */ bne $v0,$at,.PF0f0a65c0 /* f0a6598: 26040384 */ addiu $a0,$s0,0x384 /* f0a659c: 8c6d0c40 */ lw $t5,0xc40($v1) /* f0a65a0: 8fae01c8 */ lw $t6,0x1c8($sp) /* f0a65a4: 29a10002 */ slti $at,$t5,0x2 /* f0a65a8: 50200006 */ beqzl $at,.PF0f0a65c4 /* f0a65ac: afa40054 */ sw $a0,0x54($sp) /* f0a65b0: 8dd80008 */ lw $t8,0x8($t6) /* f0a65b4: 53000003 */ beqzl $t8,.PF0f0a65c4 /* f0a65b8: afa40054 */ sw $a0,0x54($sp) /* f0a65bc: 00002825 */ move $a1,$zero .PF0f0a65c0: /* f0a65c0: afa40054 */ sw $a0,0x54($sp) .PF0f0a65c4: /* f0a65c4: afa50118 */ sw $a1,0x118($sp) /* f0a65c8: 0c0073c3 */ jal modelGetAnimNum /* f0a65cc: afa700d4 */ sw $a3,0xd4($sp) /* f0a65d0: 284100e5 */ slti $at,$v0,0xe5 /* f0a65d4: 8fa50118 */ lw $a1,0x118($sp) /* f0a65d8: 1420001a */ bnez $at,.PF0f0a6644 /* f0a65dc: 8fa700d4 */ lw $a3,0xd4($sp) /* f0a65e0: 28410116 */ slti $at,$v0,0x116 /* f0a65e4: 14200010 */ bnez $at,.PF0f0a6628 /* f0a65e8: 244cfc14 */ addiu $t4,$v0,-1004 /* f0a65ec: 28410418 */ slti $at,$v0,0x418 /* f0a65f0: 14200005 */ bnez $at,.PF0f0a6608 /* f0a65f4: 24010432 */ li $at,0x432 /* f0a65f8: 5041001c */ beql $v0,$at,.PF0f0a666c /* f0a65fc: 24070001 */ li $a3,0x1 /* f0a6600: 1000001a */ b .PF0f0a666c /* f0a6604: 00000000 */ nop .PF0f0a6608: /* f0a6608: 2d81002c */ sltiu $at,$t4,0x2c /* f0a660c: 10200017 */ beqz $at,.PF0f0a666c /* f0a6610: 000c6080 */ sll $t4,$t4,0x2 /* f0a6614: 3c017f1b */ lui $at,0x7f1b /* f0a6618: 002c0821 */ addu $at,$at,$t4 /* f0a661c: 8c2cdc74 */ lw $t4,-0x238c($at) /* f0a6620: 01800008 */ jr $t4 /* f0a6624: 00000000 */ nop .PF0f0a6628: /* f0a6628: 240100ed */ li $at,0xed /* f0a662c: 1041000e */ beq $v0,$at,.PF0f0a6668 /* f0a6630: 24010115 */ li $at,0x115 /* f0a6634: 5041000d */ beql $v0,$at,.PF0f0a666c /* f0a6638: 24070001 */ li $a3,0x1 /* f0a663c: 1000000b */ b .PF0f0a666c /* f0a6640: 00000000 */ nop .PF0f0a6644: /* f0a6644: 240100c1 */ li $at,0xc1 /* f0a6648: 10410007 */ beq $v0,$at,.PF0f0a6668 /* f0a664c: 240100e2 */ li $at,0xe2 /* f0a6650: 10410005 */ beq $v0,$at,.PF0f0a6668 /* f0a6654: 240100e3 */ li $at,0xe3 /* f0a6658: 10410003 */ beq $v0,$at,.PF0f0a6668 /* f0a665c: 240100e4 */ li $at,0xe4 /* f0a6660: 14410002 */ bne $v0,$at,.PF0f0a666c /* f0a6664: 00000000 */ nop .PF0f0a6668: /* f0a6668: 24070001 */ li $a3,0x1 .PF0f0a666c: /* f0a666c: 10a00041 */ beqz $a1,.PF0f0a6774 /* f0a6670: 240e0001 */ li $t6,0x1 /* f0a6674: 8fa901e0 */ lw $t1,0x1e0($sp) /* f0a6678: 2401ffff */ li $at,-1 /* f0a667c: 27a40088 */ addiu $a0,$sp,0x88 /* f0a6680: 8d2a0dd4 */ lw $t2,0xdd4($t1) /* f0a6684: 55410022 */ bnel $t2,$at,.PF0f0a6710 /* f0a6688: 8e0a038c */ lw $t2,0x38c($s0) /* f0a668c: 0c0055d0 */ jal func000159b0 /* f0a6690: afa700d4 */ sw $a3,0xd4($sp) /* f0a6694: 8fb901e0 */ lw $t9,0x1e0($sp) /* f0a6698: 8e060390 */ lw $a2,0x390($s0) /* f0a669c: 27ab0088 */ addiu $t3,$sp,0x88 /* f0a66a0: 8fa700d4 */ lw $a3,0xd4($sp) /* f0a66a4: afab00d8 */ sw $t3,0xd8($sp) /* f0a66a8: 8f2f0dd8 */ lw $t7,0xdd8($t9) /* f0a66ac: 240d0001 */ li $t5,0x1 /* f0a66b0: 3c018006 */ lui $at,0x8006 /* f0a66b4: ac2dec6c */ sw $t5,-0x1394($at) /* f0a66b8: 10e00004 */ beqz $a3,.PF0f0a66cc /* f0a66bc: afaf00e8 */ sw $t7,0xe8($sp) /* f0a66c0: 240e0001 */ li $t6,0x1 /* f0a66c4: 3c018006 */ lui $at,0x8006 /* f0a66c8: a02eec50 */ sb $t6,-0x13b0($at) .PF0f0a66cc: /* f0a66cc: 27a400d8 */ addiu $a0,$sp,0xd8 /* f0a66d0: 8fa50054 */ lw $a1,0x54($sp) /* f0a66d4: afa600c8 */ sw $a2,0xc8($sp) /* f0a66d8: 0c007323 */ jal func0001cebc /* f0a66dc: afa700d4 */ sw $a3,0xd4($sp) /* f0a66e0: 8fa700d4 */ lw $a3,0xd4($sp) /* f0a66e4: 3c018006 */ lui $at,0x8006 /* f0a66e8: 8fa600c8 */ lw $a2,0xc8($sp) /* f0a66ec: 10e00003 */ beqz $a3,.PF0f0a66fc /* f0a66f0: ac20ec6c */ sw $zero,-0x1394($at) /* f0a66f4: 3c018006 */ lui $at,0x8006 /* f0a66f8: a020ec50 */ sb $zero,-0x13b0($at) .PF0f0a66fc: /* f0a66fc: 8fac01e0 */ lw $t4,0x1e0($sp) /* f0a6700: 24180001 */ li $t8,0x1 /* f0a6704: ad980dd4 */ sw $t8,0xdd4($t4) /* f0a6708: ae060390 */ sw $a2,0x390($s0) /* f0a670c: 8e0a038c */ lw $t2,0x38c($s0) .PF0f0a6710: /* f0a6710: 8fa901e0 */ lw $t1,0x1e0($sp) /* f0a6714: 8e060390 */ lw $a2,0x390($s0) /* f0a6718: 854b000e */ lh $t3,0xe($t2) /* f0a671c: 00001025 */ move $v0,$zero /* f0a6720: 8d250dd8 */ lw $a1,0xdd8($t1) /* f0a6724: 19600023 */ blez $t3,.PF0f0a67b4 /* f0a6728: 27a402cc */ addiu $a0,$sp,0x2cc .PF0f0a672c: /* f0a672c: afa200d0 */ sw $v0,0xd0($sp) /* f0a6730: afa500cc */ sw $a1,0xcc($sp) /* f0a6734: 0c00565d */ jal func00015be4 /* f0a6738: afa600c8 */ sw $a2,0xc8($sp) /* f0a673c: 8fb901dc */ lw $t9,0x1dc($sp) /* f0a6740: 8fa200d0 */ lw $v0,0xd0($sp) /* f0a6744: 8fa500cc */ lw $a1,0xcc($sp) /* f0a6748: 8f2f038c */ lw $t7,0x38c($t9) /* f0a674c: 8fa600c8 */ lw $a2,0xc8($sp) /* f0a6750: 24420001 */ addiu $v0,$v0,0x1 /* f0a6754: 85ed000e */ lh $t5,0xe($t7) /* f0a6758: 24a50040 */ addiu $a1,$a1,0x40 /* f0a675c: 24c60040 */ addiu $a2,$a2,0x40 /* f0a6760: 004d082a */ slt $at,$v0,$t5 /* f0a6764: 5420fff1 */ bnezl $at,.PF0f0a672c /* f0a6768: 27a402cc */ addiu $a0,$sp,0x2cc /* f0a676c: 10000011 */ b .PF0f0a67b4 /* f0a6770: 00000000 */ nop .PF0f0a6774: /* f0a6774: 3c018006 */ lui $at,0x8006 /* f0a6778: 10e00004 */ beqz $a3,.PF0f0a678c /* f0a677c: ac2eec6c */ sw $t6,-0x1394($at) /* f0a6780: 24180001 */ li $t8,0x1 /* f0a6784: 3c018006 */ lui $at,0x8006 /* f0a6788: a038ec50 */ sb $t8,-0x13b0($at) .PF0f0a678c: /* f0a678c: 27a400d8 */ addiu $a0,$sp,0xd8 /* f0a6790: 8fa50054 */ lw $a1,0x54($sp) /* f0a6794: 0c007323 */ jal func0001cebc /* f0a6798: afa700d4 */ sw $a3,0xd4($sp) /* f0a679c: 8fa700d4 */ lw $a3,0xd4($sp) /* f0a67a0: 3c018006 */ lui $at,0x8006 /* f0a67a4: ac20ec6c */ sw $zero,-0x1394($at) /* f0a67a8: 10e00002 */ beqz $a3,.PF0f0a67b4 /* f0a67ac: 3c018006 */ lui $at,0x8006 /* f0a67b0: a020ec50 */ sb $zero,-0x13b0($at) .PF0f0a67b4: /* f0a67b4: 3c018006 */ lui $at,0x8006 /* f0a67b8: ac20ec74 */ sw $zero,-0x138c($at) /* f0a67bc: 8fa40288 */ lw $a0,0x288($sp) /* f0a67c0: 0c0069ab */ jal modelGetPart /* f0a67c4: 24050033 */ li $a1,0x33 /* f0a67c8: 10400020 */ beqz $v0,.PF0f0a684c /* f0a67cc: 00402025 */ move $a0,$v0 /* f0a67d0: 0c0068ad */ jal func0001a524 /* f0a67d4: 00002825 */ move $a1,$zero /* f0a67d8: afa20084 */ sw $v0,0x84($sp) /* f0a67dc: 0fc2899c */ jal bgun0f0a233c /* f0a67e0: 8fa40310 */ lw $a0,0x310($sp) /* f0a67e4: 44800000 */ mtc1 $zero,$f0 /* f0a67e8: 8fa90084 */ lw $t1,0x84($sp) /* f0a67ec: 8fac030c */ lw $t4,0x30c($sp) /* f0a67f0: e7a00078 */ swc1 $f0,0x78($sp) /* f0a67f4: e7a0007c */ swc1 $f0,0x7c($sp) /* f0a67f8: c6040210 */ lwc1 $f4,0x210($s0) /* f0a67fc: 00095180 */ sll $t2,$t1,0x6 /* f0a6800: 018a2021 */ addu $a0,$t4,$t2 /* f0a6804: 46002187 */ neg.s $f6,$f4 /* f0a6808: afa40054 */ sw $a0,0x54($sp) /* f0a680c: e7a60080 */ swc1 $f6,0x80($sp) /* f0a6810: 0c005628 */ jal func00015b10 /* f0a6814: 27a50078 */ addiu $a1,$sp,0x78 /* f0a6818: 8fa40054 */ lw $a0,0x54($sp) /* f0a681c: c7aa0078 */ lwc1 $f10,0x78($sp) /* f0a6820: c4880030 */ lwc1 $f8,0x30($a0) /* f0a6824: c4900034 */ lwc1 $f16,0x34($a0) /* f0a6828: 460a4480 */ add.s $f18,$f8,$f10 /* f0a682c: c4880038 */ lwc1 $f8,0x38($a0) /* f0a6830: e4920030 */ swc1 $f18,0x30($a0) /* f0a6834: c7a4007c */ lwc1 $f4,0x7c($sp) /* f0a6838: 46048180 */ add.s $f6,$f16,$f4 /* f0a683c: e4860034 */ swc1 $f6,0x34($a0) /* f0a6840: c7aa0080 */ lwc1 $f10,0x80($sp) /* f0a6844: 460a4480 */ add.s $f18,$f8,$f10 /* f0a6848: e4920038 */ swc1 $f18,0x38($a0) .PF0f0a684c: /* f0a684c: 8fab01ec */ lw $t3,0x1ec($sp) /* f0a6850: 02002025 */ move $a0,$s0 /* f0a6854: 51600003 */ beqzl $t3,.PF0f0a6864 /* f0a6858: 8fb901f0 */ lw $t9,0x1f0($sp) /* f0a685c: ad600000 */ sw $zero,0x0($t3) /* f0a6860: 8fb901f0 */ lw $t9,0x1f0($sp) .PF0f0a6864: /* f0a6864: 53200003 */ beqzl $t9,.PF0f0a6874 /* f0a6868: 8faf01f4 */ lw $t7,0x1f4($sp) /* f0a686c: af200000 */ sw $zero,0x0($t9) /* f0a6870: 8faf01f4 */ lw $t7,0x1f4($sp) .PF0f0a6874: /* f0a6874: 51e00003 */ beqzl $t7,.PF0f0a6884 /* f0a6878: 8fa201cc */ lw $v0,0x1cc($sp) /* f0a687c: ade00000 */ sw $zero,0x0($t7) /* f0a6880: 8fa201cc */ lw $v0,0x1cc($sp) .PF0f0a6884: /* f0a6884: 24010013 */ li $at,0x13 /* f0a6888: 8fa5030c */ lw $a1,0x30c($sp) /* f0a688c: 10410012 */ beq $v0,$at,.PF0f0a68d8 /* f0a6890: 8fa601ec */ lw $a2,0x1ec($sp) /* f0a6894: 24010015 */ li $at,0x15 /* f0a6898: 10410006 */ beq $v0,$at,.PF0f0a68b4 /* f0a689c: 8fa40288 */ lw $a0,0x288($sp) /* f0a68a0: 24010017 */ li $at,0x17 /* f0a68a4: 10410007 */ beq $v0,$at,.PF0f0a68c4 /* f0a68a8: 02002025 */ move $a0,$s0 /* f0a68ac: 1000000d */ b .PF0f0a68e4 /* f0a68b0: 8fa40288 */ lw $a0,0x288($sp) .PF0f0a68b4: /* f0a68b4: 0fc29078 */ jal bgun0f0a3eac /* f0a68b8: 8fa5030c */ lw $a1,0x30c($sp) /* f0a68bc: 10000009 */ b .PF0f0a68e4 /* f0a68c0: 8fa40288 */ lw $a0,0x288($sp) .PF0f0a68c4: /* f0a68c4: 8fa5030c */ lw $a1,0x30c($sp) /* f0a68c8: 0fc290f2 */ jal bgun0f0a4094 /* f0a68cc: 8fa60288 */ lw $a2,0x288($sp) /* f0a68d0: 10000004 */ b .PF0f0a68e4 /* f0a68d4: 8fa40288 */ lw $a0,0x288($sp) .PF0f0a68d8: /* f0a68d8: 0fc29134 */ jal bgun0f0a419c /* f0a68dc: 8fa70288 */ lw $a3,0x288($sp) /* f0a68e0: 8fa40288 */ lw $a0,0x288($sp) .PF0f0a68e4: /* f0a68e4: 0c0069ab */ jal modelGetPart /* f0a68e8: 24050032 */ li $a1,0x32 /* f0a68ec: 8fad01cc */ lw $t5,0x1cc($sp) /* f0a68f0: 24010014 */ li $at,0x14 /* f0a68f4: 00402025 */ move $a0,$v0 /* f0a68f8: 15a1001b */ bne $t5,$at,.PF0f0a6968 /* f0a68fc: 00000000 */ nop /* f0a6900: 820e0005 */ lb $t6,0x5($s0) /* f0a6904: 55c00006 */ bnezl $t6,.PF0f0a6920 /* f0a6908: 8e050558 */ lw $a1,0x558($s0) /* f0a690c: 82180004 */ lb $t8,0x4($s0) /* f0a6910: 3c05800a */ lui $a1,0x800a /* f0a6914: 1300000b */ beqz $t8,.PF0f0a6944 /* f0a6918: 00000000 */ nop /* f0a691c: 8e050558 */ lw $a1,0x558($s0) .PF0f0a6920: /* f0a6920: 24010003 */ li $at,0x3 /* f0a6924: 8fa40288 */ lw $a0,0x288($sp) /* f0a6928: 00a1001a */ div $zero,$a1,$at /* f0a692c: 00004810 */ mfhi $t1 /* f0a6930: 2525001e */ addiu $a1,$t1,0x1e /* f0a6934: 0c0069ab */ jal modelGetPart /* f0a6938: 00000000 */ nop /* f0a693c: 1000000a */ b .PF0f0a6968 /* f0a6940: 00402025 */ move $a0,$v0 .PF0f0a6944: /* f0a6944: 8ca5a51c */ lw $a1,-0x5ae4($a1) /* f0a6948: 24010003 */ li $at,0x3 /* f0a694c: 8fa40288 */ lw $a0,0x288($sp) /* f0a6950: 00a1001a */ div $zero,$a1,$at /* f0a6954: 00006010 */ mfhi $t4 /* f0a6958: 2585001e */ addiu $a1,$t4,0x1e /* f0a695c: 0c0069ab */ jal modelGetPart /* f0a6960: 00000000 */ nop /* f0a6964: 00402025 */ move $a0,$v0 .PF0f0a6968: /* f0a6968: 10400038 */ beqz $v0,.PF0f0a6a4c /* f0a696c: 8fad01cc */ lw $t5,0x1cc($sp) /* f0a6970: 0c0068ad */ jal func0001a524 /* f0a6974: 00002825 */ move $a1,$zero /* f0a6978: 8faa030c */ lw $t2,0x30c($sp) /* f0a697c: 00025980 */ sll $t3,$v0,0x6 /* f0a6980: afa20070 */ sw $v0,0x70($sp) /* f0a6984: 014b2021 */ addu $a0,$t2,$t3 /* f0a6988: c4900030 */ lwc1 $f16,0x30($a0) /* f0a698c: 26050620 */ addiu $a1,$s0,0x620 /* f0a6990: e6100374 */ swc1 $f16,0x374($s0) /* f0a6994: c4840034 */ lwc1 $f4,0x34($a0) /* f0a6998: e6040378 */ swc1 $f4,0x378($s0) /* f0a699c: c4860038 */ lwc1 $f6,0x38($a0) /* f0a69a0: 0c0056aa */ jal func00015d18 /* f0a69a4: e606037c */ swc1 $f6,0x37c($s0) /* f0a69a8: 0fc2d726 */ jal currentPlayerGetUnk174c /* f0a69ac: 00000000 */ nop /* f0a69b0: 00402025 */ move $a0,$v0 /* f0a69b4: 0c00563d */ jal func00015b64 /* f0a69b8: 26050374 */ addiu $a1,$s0,0x374 /* f0a69bc: 8fa20070 */ lw $v0,0x70($sp) /* f0a69c0: 8fb9030c */ lw $t9,0x30c($sp) /* f0a69c4: 820e0005 */ lb $t6,0x5($s0) /* f0a69c8: 00027980 */ sll $t7,$v0,0x6 /* f0a69cc: 032f6821 */ addu $t5,$t9,$t7 /* f0a69d0: c5a80038 */ lwc1 $f8,0x38($t5) /* f0a69d4: 46004287 */ neg.s $f10,$f8 /* f0a69d8: 11c0005e */ beqz $t6,.PF0f0a6b54 /* f0a69dc: e60a0380 */ swc1 $f10,0x380($s0) /* f0a69e0: 8fb801e8 */ lw $t8,0x1e8($sp) /* f0a69e4: 8fa901cc */ lw $t1,0x1cc($sp) /* f0a69e8: 24010013 */ li $at,0x13 /* f0a69ec: 5b00005a */ blezl $t8,.PF0f0a6b58 /* f0a69f0: 8fb901cc */ lw $t9,0x1cc($sp) /* f0a69f4: 11210057 */ beq $t1,$at,.PF0f0a6b54 /* f0a69f8: 3c0c800a */ lui $t4,0x800a /* f0a69fc: 8d8ca544 */ lw $t4,-0x5abc($t4) /* f0a6a00: 02002025 */ move $a0,$s0 /* f0a6a04: 8fa501c8 */ lw $a1,0x1c8($sp) /* f0a6a08: 11800052 */ beqz $t4,.PF0f0a6b54 /* f0a6a0c: 8fa60288 */ lw $a2,0x288($sp) /* f0a6a10: 8faa030c */ lw $t2,0x30c($sp) /* f0a6a14: 27ab01ec */ addiu $t3,$sp,0x1ec /* f0a6a18: 27b9023c */ addiu $t9,$sp,0x23c /* f0a6a1c: 27af01fc */ addiu $t7,$sp,0x1fc /* f0a6a20: afaf0028 */ sw $t7,0x28($sp) /* f0a6a24: afb90024 */ sw $t9,0x24($sp) /* f0a6a28: afab001c */ sw $t3,0x1c($sp) /* f0a6a2c: 8fa701d8 */ lw $a3,0x1d8($sp) /* f0a6a30: afb80010 */ sw $t8,0x10($sp) /* f0a6a34: afa90018 */ sw $t1,0x18($sp) /* f0a6a38: afa20020 */ sw $v0,0x20($sp) /* f0a6a3c: 0fc29457 */ jal bgun0f0a4e44 /* f0a6a40: afaa0014 */ sw $t2,0x14($sp) /* f0a6a44: 10000044 */ b .PF0f0a6b58 /* f0a6a48: 8fb901cc */ lw $t9,0x1cc($sp) .PF0f0a6a4c: /* f0a6a4c: 2401001e */ li $at,0x1e /* f0a6a50: 11a1000a */ beq $t5,$at,.PF0f0a6a7c /* f0a6a54: 8fa40288 */ lw $a0,0x288($sp) /* f0a6a58: 24010020 */ li $at,0x20 /* f0a6a5c: 11a10007 */ beq $t5,$at,.PF0f0a6a7c /* f0a6a60: 24010022 */ li $at,0x22 /* f0a6a64: 11a10005 */ beq $t5,$at,.PF0f0a6a7c /* f0a6a68: 24010021 */ li $at,0x21 /* f0a6a6c: 11a10003 */ beq $t5,$at,.PF0f0a6a7c /* f0a6a70: 2401001f */ li $at,0x1f /* f0a6a74: 15a1001f */ bne $t5,$at,.PF0f0a6af4 /* f0a6a78: 26050620 */ addiu $a1,$s0,0x620 .PF0f0a6a7c: /* f0a6a7c: 0c0069ab */ jal modelGetPart /* f0a6a80: 24050037 */ li $a1,0x37 /* f0a6a84: 00402025 */ move $a0,$v0 /* f0a6a88: 0c0068ad */ jal func0001a524 /* f0a6a8c: 00002825 */ move $a1,$zero /* f0a6a90: 8fae030c */ lw $t6,0x30c($sp) /* f0a6a94: 00026180 */ sll $t4,$v0,0x6 /* f0a6a98: afa20070 */ sw $v0,0x70($sp) /* f0a6a9c: 01cc2021 */ addu $a0,$t6,$t4 /* f0a6aa0: c4920030 */ lwc1 $f18,0x30($a0) /* f0a6aa4: 26050620 */ addiu $a1,$s0,0x620 /* f0a6aa8: e6120374 */ swc1 $f18,0x374($s0) /* f0a6aac: c4900034 */ lwc1 $f16,0x34($a0) /* f0a6ab0: e6100378 */ swc1 $f16,0x378($s0) /* f0a6ab4: c4840038 */ lwc1 $f4,0x38($a0) /* f0a6ab8: 0c0056aa */ jal func00015d18 /* f0a6abc: e604037c */ swc1 $f4,0x37c($s0) /* f0a6ac0: 0fc2d726 */ jal currentPlayerGetUnk174c /* f0a6ac4: 00000000 */ nop /* f0a6ac8: 00402025 */ move $a0,$v0 /* f0a6acc: 0c00563d */ jal func00015b64 /* f0a6ad0: 26050374 */ addiu $a1,$s0,0x374 /* f0a6ad4: 8faa0070 */ lw $t2,0x70($sp) /* f0a6ad8: 8fb8030c */ lw $t8,0x30c($sp) /* f0a6adc: 000a4980 */ sll $t1,$t2,0x6 /* f0a6ae0: 03095821 */ addu $t3,$t8,$t1 /* f0a6ae4: c5660038 */ lwc1 $f6,0x38($t3) /* f0a6ae8: 46003207 */ neg.s $f8,$f6 /* f0a6aec: 10000019 */ b .PF0f0a6b54 /* f0a6af0: e6080380 */ swc1 $f8,0x380($s0) .PF0f0a6af4: /* f0a6af4: c60a0324 */ lwc1 $f10,0x324($s0) /* f0a6af8: c6120328 */ lwc1 $f18,0x328($s0) /* f0a6afc: c610032c */ lwc1 $f16,0x32c($s0) /* f0a6b00: e60a0374 */ swc1 $f10,0x374($s0) /* f0a6b04: e6120378 */ swc1 $f18,0x378($s0) /* f0a6b08: e610037c */ swc1 $f16,0x37c($s0) /* f0a6b0c: 0c0056aa */ jal func00015d18 /* f0a6b10: 8fa40044 */ lw $a0,0x44($sp) /* f0a6b14: c60402ec */ lwc1 $f4,0x2ec($s0) /* f0a6b18: 46002187 */ neg.s $f6,$f4 /* f0a6b1c: 1000000d */ b .PF0f0a6b54 /* f0a6b20: e6060380 */ swc1 $f6,0x380($s0) .PF0f0a6b24: /* f0a6b24: c6080324 */ lwc1 $f8,0x324($s0) /* f0a6b28: c60a0328 */ lwc1 $f10,0x328($s0) /* f0a6b2c: c612032c */ lwc1 $f18,0x32c($s0) /* f0a6b30: e6080374 */ swc1 $f8,0x374($s0) /* f0a6b34: e60a0378 */ swc1 $f10,0x378($s0) /* f0a6b38: e612037c */ swc1 $f18,0x37c($s0) /* f0a6b3c: 8fa40044 */ lw $a0,0x44($sp) /* f0a6b40: 0c0056aa */ jal func00015d18 /* f0a6b44: 26050620 */ addiu $a1,$s0,0x620 /* f0a6b48: c61002ec */ lwc1 $f16,0x2ec($s0) /* f0a6b4c: 46008107 */ neg.s $f4,$f16 /* f0a6b50: e6040380 */ swc1 $f4,0x380($s0) .PF0f0a6b54: /* f0a6b54: 8fb901cc */ lw $t9,0x1cc($sp) .PF0f0a6b58: /* f0a6b58: 24010008 */ li $at,0x8 /* f0a6b5c: 1321000a */ beq $t9,$at,.PF0f0a6b88 /* f0a6b60: 24010009 */ li $at,0x9 /* f0a6b64: 13210008 */ beq $t9,$at,.PF0f0a6b88 /* f0a6b68: 24010018 */ li $at,0x18 /* f0a6b6c: 1721000f */ bne $t9,$at,.PF0f0a6bac /* f0a6b70: 02002025 */ move $a0,$s0 /* f0a6b74: 8fa50310 */ lw $a1,0x310($sp) /* f0a6b78: 0fc29229 */ jal bgun0f0a4570 /* f0a6b7c: 8fa601d8 */ lw $a2,0x1d8($sp) /* f0a6b80: 1000000b */ b .PF0f0a6bb0 /* f0a6b84: 820c0004 */ lb $t4,0x4($s0) .PF0f0a6b88: /* f0a6b88: 8e0f0690 */ lw $t7,0x690($s0) /* f0a6b8c: 02002025 */ move $a0,$s0 /* f0a6b90: 8fa50310 */ lw $a1,0x310($sp) /* f0a6b94: 000f68c0 */ sll $t5,$t7,0x3 /* f0a6b98: 000d7742 */ srl $t6,$t5,0x1d /* f0a6b9c: 19c00003 */ blez $t6,.PF0f0a6bac /* f0a6ba0: 8fa60288 */ lw $a2,0x288($sp) /* f0a6ba4: 0fc291db */ jal bgun0f0a4438 /* f0a6ba8: 8fa7030c */ lw $a3,0x30c($sp) .PF0f0a6bac: /* f0a6bac: 820c0004 */ lb $t4,0x4($s0) .PF0f0a6bb0: /* f0a6bb0: 1180000c */ beqz $t4,.PF0f0a6be4 /* f0a6bb4: 3c0a800a */ lui $t2,0x800a /* f0a6bb8: 8d4aa544 */ lw $t2,-0x5abc($t2) /* f0a6bbc: 02002025 */ move $a0,$s0 /* f0a6bc0: 8fa50310 */ lw $a1,0x310($sp) /* f0a6bc4: 11400007 */ beqz $t2,.PF0f0a6be4 /* f0a6bc8: 8fa601d8 */ lw $a2,0x1d8($sp) /* f0a6bcc: 8fb80288 */ lw $t8,0x288($sp) /* f0a6bd0: 8fa9030c */ lw $t1,0x30c($sp) /* f0a6bd4: 8fa701cc */ lw $a3,0x1cc($sp) /* f0a6bd8: afb80010 */ sw $t8,0x10($sp) /* f0a6bdc: 0fc29586 */ jal bgun0f0a5300 /* f0a6be0: afa90014 */ sw $t1,0x14($sp) .PF0f0a6be4: /* f0a6be4: 3c0b800a */ lui $t3,0x800a /* f0a6be8: 8d6ba57c */ lw $t3,-0x5a84($t3) /* f0a6bec: 3c19800a */ lui $t9,0x800a /* f0a6bf0: 3c0f800a */ lui $t7,0x800a /* f0a6bf4: 11600003 */ beqz $t3,.PF0f0a6c04 /* f0a6bf8: 3c0d800a */ lui $t5,0x800a /* f0a6bfc: 10000002 */ b .PF0f0a6c08 /* f0a6c00: 24050001 */ li $a1,0x1 .PF0f0a6c04: /* f0a6c04: 00002825 */ move $a1,$zero .PF0f0a6c08: /* f0a6c08: 8f39a578 */ lw $t9,-0x5a88($t9) /* f0a6c0c: 24010001 */ li $at,0x1 /* f0a6c10: 00002025 */ move $a0,$zero /* f0a6c14: 13200003 */ beqz $t9,.PF0f0a6c24 /* f0a6c18: 00000000 */ nop /* f0a6c1c: 10000001 */ b .PF0f0a6c24 /* f0a6c20: 24040001 */ li $a0,0x1 .PF0f0a6c24: /* f0a6c24: 8defa574 */ lw $t7,-0x5a8c($t7) /* f0a6c28: 00001825 */ move $v1,$zero /* f0a6c2c: 11e00003 */ beqz $t7,.PF0f0a6c3c /* f0a6c30: 00000000 */ nop /* f0a6c34: 10000001 */ b .PF0f0a6c3c /* f0a6c38: 24030001 */ li $v1,0x1 .PF0f0a6c3c: /* f0a6c3c: 8dada580 */ lw $t5,-0x5a80($t5) /* f0a6c40: 00001025 */ move $v0,$zero /* f0a6c44: 3c188009 */ lui $t8,0x8009 /* f0a6c48: 11a00003 */ beqz $t5,.PF0f0a6c58 /* f0a6c4c: 00000000 */ nop /* f0a6c50: 10000001 */ b .PF0f0a6c58 /* f0a6c54: 24020001 */ li $v0,0x1 .PF0f0a6c58: /* f0a6c58: 00437021 */ addu $t6,$v0,$v1 /* f0a6c5c: 01c46021 */ addu $t4,$t6,$a0 /* f0a6c60: 01855021 */ addu $t2,$t4,$a1 /* f0a6c64: 5541000e */ bnel $t2,$at,.PF0f0a6ca0 /* f0a6c68: 960b06d6 */ lhu $t3,0x6d6($s0) /* f0a6c6c: 93181040 */ lbu $t8,0x1040($t8) /* f0a6c70: 24010001 */ li $at,0x1 /* f0a6c74: 3c09800a */ lui $t1,0x800a /* f0a6c78: 53010009 */ beql $t8,$at,.PF0f0a6ca0 /* f0a6c7c: 960b06d6 */ lhu $t3,0x6d6($s0) /* f0a6c80: 8d29a544 */ lw $t1,-0x5abc($t1) /* f0a6c84: 02002025 */ move $a0,$s0 /* f0a6c88: 8fa50310 */ lw $a1,0x310($sp) /* f0a6c8c: 11200003 */ beqz $t1,.PF0f0a6c9c /* f0a6c90: 8fa601cc */ lw $a2,0x1cc($sp) /* f0a6c94: 0fc28df1 */ jal bgun0f0a3490 /* f0a6c98: 8fa701d8 */ lw $a3,0x1d8($sp) .PF0f0a6c9c: /* f0a6c9c: 960b06d6 */ lhu $t3,0x6d6($s0) .PF0f0a6ca0: /* f0a6ca0: 02002025 */ move $a0,$s0 /* f0a6ca4: 8fa50288 */ lw $a1,0x288($sp) /* f0a6ca8: 000bcb02 */ srl $t9,$t3,0xc /* f0a6cac: 1b200003 */ blez $t9,.PF0f0a6cbc /* f0a6cb0: 00000000 */ nop /* f0a6cb4: 0fc29276 */ jal bgun0f0a46a4 /* f0a6cb8: 8fa601c0 */ lw $a2,0x1c0($sp) .PF0f0a6cbc: /* f0a6cbc: 3c0f800a */ lui $t7,0x800a /* f0a6cc0: 8defa57c */ lw $t7,-0x5a84($t7) /* f0a6cc4: 3c02800a */ lui $v0,0x800a /* f0a6cc8: 3c03800a */ lui $v1,0x800a /* f0a6ccc: 3c06800a */ lui $a2,0x800a /* f0a6cd0: 8cc6a580 */ lw $a2,-0x5a80($a2) /* f0a6cd4: 8c63a574 */ lw $v1,-0x5a8c($v1) /* f0a6cd8: 11e00003 */ beqz $t7,.PF0f0a6ce8 /* f0a6cdc: 8c42a578 */ lw $v0,-0x5a88($v0) /* f0a6ce0: 10000002 */ b .PF0f0a6cec /* f0a6ce4: 24050001 */ li $a1,0x1 .PF0f0a6ce8: /* f0a6ce8: 00002825 */ move $a1,$zero .PF0f0a6cec: /* f0a6cec: 10400003 */ beqz $v0,.PF0f0a6cfc /* f0a6cf0: 24010001 */ li $at,0x1 /* f0a6cf4: 10000002 */ b .PF0f0a6d00 /* f0a6cf8: 24040001 */ li $a0,0x1 .PF0f0a6cfc: /* f0a6cfc: 00002025 */ move $a0,$zero .PF0f0a6d00: /* f0a6d00: 10600003 */ beqz $v1,.PF0f0a6d10 /* f0a6d04: 00001025 */ move $v0,$zero /* f0a6d08: 10000002 */ b .PF0f0a6d14 /* f0a6d0c: 24030001 */ li $v1,0x1 .PF0f0a6d10: /* f0a6d10: 00001825 */ move $v1,$zero .PF0f0a6d14: /* f0a6d14: 10c00003 */ beqz $a2,.PF0f0a6d24 /* f0a6d18: 3c0a8009 */ lui $t2,0x8009 /* f0a6d1c: 10000001 */ b .PF0f0a6d24 /* f0a6d20: 24020001 */ li $v0,0x1 .PF0f0a6d24: /* f0a6d24: 00436821 */ addu $t5,$v0,$v1 /* f0a6d28: 01a47021 */ addu $t6,$t5,$a0 /* f0a6d2c: 01c56021 */ addu $t4,$t6,$a1 /* f0a6d30: 15810013 */ bne $t4,$at,.PF0f0a6d80 /* f0a6d34: 00000000 */ nop /* f0a6d38: 914a1040 */ lbu $t2,0x1040($t2) /* f0a6d3c: 24010001 */ li $at,0x1 /* f0a6d40: 1141000f */ beq $t2,$at,.PF0f0a6d80 /* f0a6d44: 00000000 */ nop /* f0a6d48: 82180007 */ lb $t8,0x7($s0) /* f0a6d4c: 8fa901cc */ lw $t1,0x1cc($sp) /* f0a6d50: 1300000b */ beqz $t8,.PF0f0a6d80 /* f0a6d54: 29210002 */ slti $at,$t1,0x2 /* f0a6d58: 14200009 */ bnez $at,.PF0f0a6d80 /* f0a6d5c: 29210005 */ slti $at,$t1,0x5 /* f0a6d60: 10200007 */ beqz $at,.PF0f0a6d80 /* f0a6d64: 02002025 */ move $a0,$s0 /* f0a6d68: 8fa50288 */ lw $a1,0x288($sp) /* f0a6d6c: 8fa60310 */ lw $a2,0x310($sp) /* f0a6d70: 0fc28eba */ jal bgun0f0a37b4 /* f0a6d74: 8fa7030c */ lw $a3,0x30c($sp) /* f0a6d78: 10000004 */ b .PF0f0a6d8c /* f0a6d7c: 44803000 */ mtc1 $zero,$f6 .PF0f0a6d80: /* f0a6d80: 0fc2c226 */ jal lasersightFree /* f0a6d84: 8fa40310 */ lw $a0,0x310($sp) /* f0a6d88: 44803000 */ mtc1 $zero,$f6 .PF0f0a6d8c: /* f0a6d8c: ae000684 */ sw $zero,0x684($s0) /* f0a6d90: e6060688 */ swc1 $f6,0x688($s0) /* f0a6d94: 8fbf003c */ lw $ra,0x3c($sp) /* f0a6d98: 8fb00038 */ lw $s0,0x38($sp) /* f0a6d9c: 27bd0310 */ addiu $sp,$sp,0x310 /* f0a6da0: 03e00008 */ jr $ra /* f0a6da4: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a5550 .late_rodata glabel var7f1ac9e4 .word 0x40490fdb glabel var7f1ac9e8 .word 0x3dccccce glabel var7f1ac9ec .word bgun0f0a5550+0xca4 # f0a61f4 glabel var7f1ac9f0 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1ac9f4 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1ac9f8 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1ac9fc .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca00 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca04 .word bgun0f0a5550+0xcac # f0a61fc glabel var7f1aca08 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca0c .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca10 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca14 .word bgun0f0a5550+0xcc0 # f0a6210 glabel var7f1aca18 .word bgun0f0a5550+0xcc0 # f0a6210 glabel var7f1aca1c .word bgun0f0a5550+0xcc0 # f0a6210 glabel var7f1aca20 .word bgun0f0a5550+0xcc0 # f0a6210 glabel var7f1aca24 .word bgun0f0a5550+0xcc0 # f0a6210 glabel var7f1aca28 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca2c .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca30 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca34 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca38 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca3c .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca40 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca44 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca48 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca4c .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca50 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca54 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca58 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca5c .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca60 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca64 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca68 .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca6c .word bgun0f0a5550+0xd04 # f0a6254 glabel var7f1aca70 .word bgun0f0a5550+0xcc0 # f0a6210 .text /* f0a5550: 27bdfcf8 */ addiu $sp,$sp,-776 /* f0a5554: 3c0f8007 */ lui $t7,%hi(var80070244) /* f0a5558: afbf003c */ sw $ra,0x3c($sp) /* f0a555c: afb00038 */ sw $s0,0x38($sp) /* f0a5560: afa00280 */ sw $zero,0x280($sp) /* f0a5564: 25ef0244 */ addiu $t7,$t7,%lo(var80070244) /* f0a5568: 8de10000 */ lw $at,0x0($t7) /* f0a556c: 27ae0274 */ addiu $t6,$sp,0x274 /* f0a5570: 8de90004 */ lw $t1,0x4($t7) /* f0a5574: adc10000 */ sw $at,0x0($t6) /* f0a5578: 8de10008 */ lw $at,0x8($t7) /* f0a557c: 3c0b8007 */ lui $t3,%hi(var80070250) /* f0a5580: 256b0250 */ addiu $t3,$t3,%lo(var80070250) /* f0a5584: adc90004 */ sw $t1,0x4($t6) /* f0a5588: adc10008 */ sw $at,0x8($t6) /* f0a558c: 8d610000 */ lw $at,0x0($t3) /* f0a5590: 27aa01e4 */ addiu $t2,$sp,0x1e4 /* f0a5594: 8d790004 */ lw $t9,0x4($t3) /* f0a5598: ad410000 */ sw $at,0x0($t2) /* f0a559c: 8d610008 */ lw $at,0x8($t3) /* f0a55a0: 00041900 */ sll $v1,$a0,0x4 /* f0a55a4: 00641823 */ subu $v1,$v1,$a0 /* f0a55a8: 00031880 */ sll $v1,$v1,0x2 /* f0a55ac: 3c02800a */ lui $v0,%hi(g_Vars+0x284) /* f0a55b0: 00641821 */ addu $v1,$v1,$a0 /* f0a55b4: ad590004 */ sw $t9,0x4($t2) /* f0a55b8: ad410008 */ sw $at,0x8($t2) /* f0a55bc: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0) /* f0a55c0: 000318c0 */ sll $v1,$v1,0x3 /* f0a55c4: 00641821 */ addu $v1,$v1,$a0 /* f0a55c8: 00031880 */ sll $v1,$v1,0x2 /* f0a55cc: 00438021 */ addu $s0,$v0,$v1 /* f0a55d0: 26100638 */ addiu $s0,$s0,0x638 /* f0a55d4: afa001e0 */ sw $zero,0x1e0($sp) /* f0a55d8: afb001d4 */ sw $s0,0x1d4($sp) /* f0a55dc: afa001cc */ sw $zero,0x1cc($sp) /* f0a55e0: afa30050 */ sw $v1,0x50($sp) /* f0a55e4: afa40308 */ sw $a0,0x308($sp) /* f0a55e8: 0fc2867c */ jal bgunGetWeaponNum2 /* f0a55ec: afa201d8 */ sw $v0,0x1d8($sp) /* f0a55f0: afa201c4 */ sw $v0,0x1c4($sp) /* f0a55f4: afa001b8 */ sw $zero,0x1b8($sp) /* f0a55f8: 0fc2c3f4 */ jal weaponFindById /* f0a55fc: 00402025 */ or $a0,$v0,$zero /* f0a5600: 8fb80308 */ lw $t8,0x308($sp) /* f0a5604: 24010001 */ addiu $at,$zero,0x1 /* f0a5608: afa201c0 */ sw $v0,0x1c0($sp) /* f0a560c: 17010007 */ bne $t8,$at,.L0f0a562c /* f0a5610: 00000000 */ nop /* f0a5614: 8fae01c4 */ lw $t6,0x1c4($sp) /* f0a5618: 24010022 */ addiu $at,$zero,0x22 /* f0a561c: 240f0001 */ addiu $t7,$zero,0x1 /* f0a5620: 15c10002 */ bne $t6,$at,.L0f0a562c /* f0a5624: 00000000 */ nop /* f0a5628: afaf01b8 */ sw $t7,0x1b8($sp) .L0f0a562c: /* f0a562c: 0fc2c40f */ jal gsetGetWeaponFunction2 /* f0a5630: 02002025 */ or $a0,$s0,$zero /* f0a5634: 10400007 */ beqz $v0,.L0f0a5654 /* f0a5638: afa201d0 */ sw $v0,0x1d0($sp) /* f0a563c: 8c490000 */ lw $t1,0x0($v0) /* f0a5640: 24010001 */ addiu $at,$zero,0x1 /* f0a5644: 312d00ff */ andi $t5,$t1,0xff /* f0a5648: 55a10003 */ bnel $t5,$at,.L0f0a5658 /* f0a564c: 02002025 */ or $a0,$s0,$zero /* f0a5650: afa201cc */ sw $v0,0x1cc($sp) .L0f0a5654: /* f0a5654: 02002025 */ or $a0,$s0,$zero .L0f0a5658: /* f0a5658: 0fc27554 */ jal bgun0f09d550 /* f0a565c: 8fa50308 */ lw $a1,0x308($sp) /* f0a5660: 8fac0308 */ lw $t4,0x308($sp) /* f0a5664: 1580002b */ bnez $t4,.L0f0a5714 /* f0a5668: 00000000 */ nop /* f0a566c: 0fc2867c */ jal bgunGetWeaponNum2 /* f0a5670: 24040001 */ addiu $a0,$zero,0x1 /* f0a5674: 00402025 */ or $a0,$v0,$zero /* f0a5678: 0fc2c5f0 */ jal weaponHasFlag /* f0a567c: 24050040 */ addiu $a1,$zero,0x40 /* f0a5680: 10400013 */ beqz $v0,.L0f0a56d0 /* f0a5684: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f0a5688: 3c014000 */ lui $at,0x4000 /* f0a568c: 44811000 */ mtc1 $at,$f2 /* f0a5690: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f0a5694: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) /* f0a5698: 3c014370 */ lui $at,0x4370 /* f0a569c: 44813000 */ mtc1 $at,$f6 /* f0a56a0: 46000100 */ add.s $f4,$f0,$f0 /* f0a56a4: c60a01bc */ lwc1 $f10,0x1bc($s0) /* f0a56a8: 46062203 */ div.s $f8,$f4,$f6 /* f0a56ac: 46085400 */ add.s $f16,$f10,$f8 /* f0a56b0: e61001bc */ swc1 $f16,0x1bc($s0) /* f0a56b4: c61201bc */ lwc1 $f18,0x1bc($s0) /* f0a56b8: 4612103c */ c.lt.s $f2,$f18 /* f0a56bc: 00000000 */ nop /* f0a56c0: 4502003f */ bc1fl .L0f0a57c0 /* f0a56c4: 8faa0308 */ lw $t2,0x308($sp) /* f0a56c8: 1000003c */ b .L0f0a57bc /* f0a56cc: e60201bc */ swc1 $f2,0x1bc($s0) .L0f0a56d0: /* f0a56d0: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) /* f0a56d4: 3c014370 */ lui $at,0x4370 /* f0a56d8: 44813000 */ mtc1 $at,$f6 /* f0a56dc: 46000100 */ add.s $f4,$f0,$f0 /* f0a56e0: c60801bc */ lwc1 $f8,0x1bc($s0) /* f0a56e4: 46062283 */ div.s $f10,$f4,$f6 /* f0a56e8: 44802000 */ mtc1 $zero,$f4 /* f0a56ec: 460a4401 */ sub.s $f16,$f8,$f10 /* f0a56f0: e61001bc */ swc1 $f16,0x1bc($s0) /* f0a56f4: c61201bc */ lwc1 $f18,0x1bc($s0) /* f0a56f8: 4604903c */ c.lt.s $f18,$f4 /* f0a56fc: 00000000 */ nop /* f0a5700: 4502002f */ bc1fl .L0f0a57c0 /* f0a5704: 8faa0308 */ lw $t2,0x308($sp) /* f0a5708: 44803000 */ mtc1 $zero,$f6 /* f0a570c: 1000002b */ b .L0f0a57bc /* f0a5710: e60601bc */ swc1 $f6,0x1bc($s0) .L0f0a5714: /* f0a5714: 0fc2867c */ jal bgunGetWeaponNum2 /* f0a5718: 00002025 */ or $a0,$zero,$zero /* f0a571c: 00402025 */ or $a0,$v0,$zero /* f0a5720: 0fc2c5f0 */ jal weaponHasFlag /* f0a5724: 24050040 */ addiu $a1,$zero,0x40 /* f0a5728: 10400013 */ beqz $v0,.L0f0a5778 /* f0a572c: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f0a5730: 3c01c000 */ lui $at,0xc000 /* f0a5734: 44811000 */ mtc1 $at,$f2 /* f0a5738: 3c01800a */ lui $at,%hi(g_Vars+0x4c) /* f0a573c: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) /* f0a5740: 3c014370 */ lui $at,0x4370 /* f0a5744: 44815000 */ mtc1 $at,$f10 /* f0a5748: 46000200 */ add.s $f8,$f0,$f0 /* f0a574c: c61201bc */ lwc1 $f18,0x1bc($s0) /* f0a5750: 460a4403 */ div.s $f16,$f8,$f10 /* f0a5754: 46109101 */ sub.s $f4,$f18,$f16 /* f0a5758: e60401bc */ swc1 $f4,0x1bc($s0) /* f0a575c: c60601bc */ lwc1 $f6,0x1bc($s0) /* f0a5760: 4602303c */ c.lt.s $f6,$f2 /* f0a5764: 00000000 */ nop /* f0a5768: 45020015 */ bc1fl .L0f0a57c0 /* f0a576c: 8faa0308 */ lw $t2,0x308($sp) /* f0a5770: 10000012 */ b .L0f0a57bc /* f0a5774: e60201bc */ swc1 $f2,0x1bc($s0) .L0f0a5778: /* f0a5778: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) /* f0a577c: 3c014370 */ lui $at,0x4370 /* f0a5780: 44815000 */ mtc1 $at,$f10 /* f0a5784: 46000200 */ add.s $f8,$f0,$f0 /* f0a5788: c61001bc */ lwc1 $f16,0x1bc($s0) /* f0a578c: 44803000 */ mtc1 $zero,$f6 /* f0a5790: 460a4483 */ div.s $f18,$f8,$f10 /* f0a5794: 46128100 */ add.s $f4,$f16,$f18 /* f0a5798: e60401bc */ swc1 $f4,0x1bc($s0) /* f0a579c: c60801bc */ lwc1 $f8,0x1bc($s0) /* f0a57a0: 4608303c */ c.lt.s $f6,$f8 /* f0a57a4: 00000000 */ nop /* f0a57a8: 45020005 */ bc1fl .L0f0a57c0 /* f0a57ac: 8faa0308 */ lw $t2,0x308($sp) /* f0a57b0: 44805000 */ mtc1 $zero,$f10 /* f0a57b4: 00000000 */ nop /* f0a57b8: e60a01bc */ swc1 $f10,0x1bc($s0) .L0f0a57bc: /* f0a57bc: 8faa0308 */ lw $t2,0x308($sp) .L0f0a57c0: /* f0a57c0: 55400017 */ bnezl $t2,.L0f0a5820 /* f0a57c4: 8fb901b8 */ lw $t9,0x1b8($sp) /* f0a57c8: 0fc2c4c7 */ jal func0f0b131c /* f0a57cc: 01402025 */ or $a0,$t2,$zero /* f0a57d0: c61200b8 */ lwc1 $f18,0xb8($s0) /* f0a57d4: c61001b0 */ lwc1 $f16,0x1b0($s0) /* f0a57d8: 8fab01c0 */ lw $t3,0x1c0($sp) /* f0a57dc: 46120100 */ add.s $f4,$f0,$f18 /* f0a57e0: 46048180 */ add.s $f6,$f16,$f4 /* f0a57e4: e7a60274 */ swc1 $f6,0x274($sp) /* f0a57e8: c60a00bc */ lwc1 $f10,0xbc($s0) /* f0a57ec: c5680030 */ lwc1 $f8,0x30($t3) /* f0a57f0: c61001b4 */ lwc1 $f16,0x1b4($s0) /* f0a57f4: 460a4480 */ add.s $f18,$f8,$f10 /* f0a57f8: 46128100 */ add.s $f4,$f16,$f18 /* f0a57fc: e7a40278 */ swc1 $f4,0x278($sp) /* f0a5800: c60800c0 */ lwc1 $f8,0xc0($s0) /* f0a5804: c5660034 */ lwc1 $f6,0x34($t3) /* f0a5808: c61001b8 */ lwc1 $f16,0x1b8($s0) /* f0a580c: 46083280 */ add.s $f10,$f6,$f8 /* f0a5810: 460a8480 */ add.s $f18,$f16,$f10 /* f0a5814: 1000002e */ b .L0f0a58d0 /* f0a5818: e7b2027c */ swc1 $f18,0x27c($sp) /* f0a581c: 8fb901b8 */ lw $t9,0x1b8($sp) .L0f0a5820: /* f0a5820: 3c0140d0 */ lui $at,0x40d0 /* f0a5824: 13200016 */ beqz $t9,.L0f0a5880 /* f0a5828: 00000000 */ nop /* f0a582c: 44812000 */ mtc1 $at,$f4 /* f0a5830: c60600b8 */ lwc1 $f6,0xb8($s0) /* f0a5834: c61001b0 */ lwc1 $f16,0x1b0($s0) /* f0a5838: 3c01c184 */ lui $at,0xc184 /* f0a583c: 46062200 */ add.s $f8,$f4,$f6 /* f0a5840: 44819000 */ mtc1 $at,$f18 /* f0a5844: 3c01c180 */ lui $at,0xc180 /* f0a5848: 46104281 */ sub.s $f10,$f8,$f16 /* f0a584c: e7aa0274 */ swc1 $f10,0x274($sp) /* f0a5850: c60400bc */ lwc1 $f4,0xbc($s0) /* f0a5854: c60801b4 */ lwc1 $f8,0x1b4($s0) /* f0a5858: 44815000 */ mtc1 $at,$f10 /* f0a585c: 46049180 */ add.s $f6,$f18,$f4 /* f0a5860: 46064400 */ add.s $f16,$f8,$f6 /* f0a5864: e7b00278 */ swc1 $f16,0x278($sp) /* f0a5868: c61200c0 */ lwc1 $f18,0xc0($s0) /* f0a586c: c60801b8 */ lwc1 $f8,0x1b8($s0) /* f0a5870: 46125100 */ add.s $f4,$f10,$f18 /* f0a5874: 46044180 */ add.s $f6,$f8,$f4 /* f0a5878: 10000015 */ b .L0f0a58d0 /* f0a587c: e7a6027c */ swc1 $f6,0x27c($sp) .L0f0a5880: /* f0a5880: 0fc2c4c7 */ jal func0f0b131c /* f0a5884: 8fa40308 */ lw $a0,0x308($sp) /* f0a5888: c61000b8 */ lwc1 $f16,0xb8($s0) /* f0a588c: c61201b0 */ lwc1 $f18,0x1b0($s0) /* f0a5890: 8fb801c0 */ lw $t8,0x1c0($sp) /* f0a5894: 46100280 */ add.s $f10,$f0,$f16 /* f0a5898: 46125201 */ sub.s $f8,$f10,$f18 /* f0a589c: e7a80274 */ swc1 $f8,0x274($sp) /* f0a58a0: c60600bc */ lwc1 $f6,0xbc($s0) /* f0a58a4: c7040030 */ lwc1 $f4,0x30($t8) /* f0a58a8: c60a01b4 */ lwc1 $f10,0x1b4($s0) /* f0a58ac: 46062400 */ add.s $f16,$f4,$f6 /* f0a58b0: 46105480 */ add.s $f18,$f10,$f16 /* f0a58b4: e7b20278 */ swc1 $f18,0x278($sp) /* f0a58b8: c60400c0 */ lwc1 $f4,0xc0($s0) /* f0a58bc: c7080034 */ lwc1 $f8,0x34($t8) /* f0a58c0: c60a01b8 */ lwc1 $f10,0x1b8($s0) /* f0a58c4: 46044180 */ add.s $f6,$f8,$f4 /* f0a58c8: 46065400 */ add.s $f16,$f10,$f6 /* f0a58cc: e7b0027c */ swc1 $f16,0x27c($sp) .L0f0a58d0: /* f0a58d0: 3c01c2b4 */ lui $at,0xc2b4 /* f0a58d4: 44810000 */ mtc1 $at,$f0 /* f0a58d8: 8fae01d8 */ lw $t6,0x1d8($sp) /* f0a58dc: 3c014248 */ lui $at,0x4248 /* f0a58e0: 44811000 */ mtc1 $at,$f2 /* f0a58e4: 3c0140a0 */ lui $at,0x40a0 /* f0a58e8: 44814000 */ mtc1 $at,$f8 /* f0a58ec: c5d21968 */ lwc1 $f18,0x1968($t6) /* f0a58f0: c7b00278 */ lwc1 $f16,0x278($sp) /* f0a58f4: 3c014170 */ lui $at,0x4170 /* f0a58f8: 46089102 */ mul.s $f4,$f18,$f8 /* f0a58fc: 46002283 */ div.s $f10,$f4,$f0 /* f0a5900: 44812000 */ mtc1 $at,$f4 /* f0a5904: 46025182 */ mul.s $f6,$f10,$f2 /* f0a5908: 46068480 */ add.s $f18,$f16,$f6 /* f0a590c: e7b20278 */ swc1 $f18,0x278($sp) /* f0a5910: c5c81968 */ lwc1 $f8,0x1968($t6) /* f0a5914: c7b2027c */ lwc1 $f18,0x27c($sp) /* f0a5918: 46044282 */ mul.s $f10,$f8,$f4 /* f0a591c: 46005403 */ div.s $f16,$f10,$f0 /* f0a5920: 46028182 */ mul.s $f6,$f16,$f2 /* f0a5924: 46069201 */ sub.s $f8,$f18,$f6 /* f0a5928: e7a8027c */ swc1 $f8,0x27c($sp) /* f0a592c: 820f0004 */ lb $t7,0x4($s0) /* f0a5930: 11e00054 */ beqz $t7,.L0f0a5a84 /* f0a5934: 00000000 */ nop /* f0a5938: 8fa201cc */ lw $v0,0x1cc($sp) /* f0a593c: 3c09800a */ lui $t1,%hi(g_Vars+0x34) /* f0a5940: 10400050 */ beqz $v0,.L0f0a5a84 /* f0a5944: 00000000 */ nop /* f0a5948: 8d299ff4 */ lw $t1,%lo(g_Vars+0x34)($t1) /* f0a594c: 1120004d */ beqz $t1,.L0f0a5a84 /* f0a5950: 00000000 */ nop /* f0a5954: 8c4d0014 */ lw $t5,0x14($v0) /* f0a5958: 11a0004a */ beqz $t5,.L0f0a5a84 /* f0a595c: 00000000 */ nop /* f0a5960: 0c004b70 */ jal random /* f0a5964: 00000000 */ nop /* f0a5968: 44822000 */ mtc1 $v0,$f4 /* f0a596c: 3c014f80 */ lui $at,0x4f80 /* f0a5970: 04410004 */ bgez $v0,.L0f0a5984 /* f0a5974: 468022a0 */ cvt.s.w $f10,$f4 /* f0a5978: 44818000 */ mtc1 $at,$f16 /* f0a597c: 00000000 */ nop /* f0a5980: 46105280 */ add.s $f10,$f10,$f16 .L0f0a5984: /* f0a5984: 3c012f80 */ lui $at,0x2f80 /* f0a5988: 44819000 */ mtc1 $at,$f18 /* f0a598c: 8fac01cc */ lw $t4,0x1cc($sp) /* f0a5990: 3c013f00 */ lui $at,0x3f00 /* f0a5994: 46125182 */ mul.s $f6,$f10,$f18 /* f0a5998: 44814000 */ mtc1 $at,$f8 /* f0a599c: 8d8a0014 */ lw $t2,0x14($t4) /* f0a59a0: c6120284 */ lwc1 $f18,0x284($s0) /* f0a59a4: c5500000 */ lwc1 $f16,0x0($t2) /* f0a59a8: 46083101 */ sub.s $f4,$f6,$f8 /* f0a59ac: c7a80274 */ lwc1 $f8,0x274($sp) /* f0a59b0: 46102282 */ mul.s $f10,$f4,$f16 /* f0a59b4: 00000000 */ nop /* f0a59b8: 46125182 */ mul.s $f6,$f10,$f18 /* f0a59bc: 46064100 */ add.s $f4,$f8,$f6 /* f0a59c0: 0c004b70 */ jal random /* f0a59c4: e7a40274 */ swc1 $f4,0x274($sp) /* f0a59c8: 44828000 */ mtc1 $v0,$f16 /* f0a59cc: 3c014f80 */ lui $at,0x4f80 /* f0a59d0: 04410004 */ bgez $v0,.L0f0a59e4 /* f0a59d4: 468082a0 */ cvt.s.w $f10,$f16 /* f0a59d8: 44819000 */ mtc1 $at,$f18 /* f0a59dc: 00000000 */ nop /* f0a59e0: 46125280 */ add.s $f10,$f10,$f18 .L0f0a59e4: /* f0a59e4: 3c012f80 */ lui $at,0x2f80 /* f0a59e8: 44814000 */ mtc1 $at,$f8 /* f0a59ec: 8fab01cc */ lw $t3,0x1cc($sp) /* f0a59f0: 3c013f00 */ lui $at,0x3f00 /* f0a59f4: 46085182 */ mul.s $f6,$f10,$f8 /* f0a59f8: 44812000 */ mtc1 $at,$f4 /* f0a59fc: 8d790014 */ lw $t9,0x14($t3) /* f0a5a00: c6080284 */ lwc1 $f8,0x284($s0) /* f0a5a04: c7320004 */ lwc1 $f18,0x4($t9) /* f0a5a08: 46043401 */ sub.s $f16,$f6,$f4 /* f0a5a0c: c7a40278 */ lwc1 $f4,0x278($sp) /* f0a5a10: 46128282 */ mul.s $f10,$f16,$f18 /* f0a5a14: 00000000 */ nop /* f0a5a18: 46085182 */ mul.s $f6,$f10,$f8 /* f0a5a1c: 46062400 */ add.s $f16,$f4,$f6 /* f0a5a20: 0c004b70 */ jal random /* f0a5a24: e7b00278 */ swc1 $f16,0x278($sp) /* f0a5a28: 44829000 */ mtc1 $v0,$f18 /* f0a5a2c: 3c014f80 */ lui $at,0x4f80 /* f0a5a30: 04410004 */ bgez $v0,.L0f0a5a44 /* f0a5a34: 468092a0 */ cvt.s.w $f10,$f18 /* f0a5a38: 44814000 */ mtc1 $at,$f8 /* f0a5a3c: 00000000 */ nop /* f0a5a40: 46085280 */ add.s $f10,$f10,$f8 .L0f0a5a44: /* f0a5a44: 3c012f80 */ lui $at,0x2f80 /* f0a5a48: 44812000 */ mtc1 $at,$f4 /* f0a5a4c: 8fb801cc */ lw $t8,0x1cc($sp) /* f0a5a50: 3c013f00 */ lui $at,0x3f00 /* f0a5a54: 46045182 */ mul.s $f6,$f10,$f4 /* f0a5a58: 44818000 */ mtc1 $at,$f16 /* f0a5a5c: 8f0e0014 */ lw $t6,0x14($t8) /* f0a5a60: c6040284 */ lwc1 $f4,0x284($s0) /* f0a5a64: c5c80008 */ lwc1 $f8,0x8($t6) /* f0a5a68: 46103481 */ sub.s $f18,$f6,$f16 /* f0a5a6c: c7b0027c */ lwc1 $f16,0x27c($sp) /* f0a5a70: 46089282 */ mul.s $f10,$f18,$f8 /* f0a5a74: 00000000 */ nop /* f0a5a78: 46045182 */ mul.s $f6,$f10,$f4 /* f0a5a7c: 46068480 */ add.s $f18,$f16,$f6 /* f0a5a80: e7b2027c */ swc1 $f18,0x27c($sp) .L0f0a5a84: /* f0a5a84: 0fc2d5f6 */ jal currentPlayerGetScreenWidth /* f0a5a88: 00000000 */ nop /* f0a5a8c: 0fc2d5fe */ jal currentPlayerGetScreenLeft /* f0a5a90: e7a00060 */ swc1 $f0,0x60($sp) /* f0a5a94: 0fc2d5f6 */ jal currentPlayerGetScreenWidth /* f0a5a98: e7a00064 */ swc1 $f0,0x64($sp) /* f0a5a9c: 3c013f00 */ lui $at,0x3f00 /* f0a5aa0: 44811000 */ mtc1 $at,$f2 /* f0a5aa4: 8faf01d8 */ lw $t7,0x1d8($sp) /* f0a5aa8: c7b00060 */ lwc1 $f16,0x60($sp) /* f0a5aac: c7aa0064 */ lwc1 $f10,0x64($sp) /* f0a5ab0: c5e81674 */ lwc1 $f8,0x1674($t7) /* f0a5ab4: 46028182 */ mul.s $f6,$f16,$f2 /* f0a5ab8: 8fa901c0 */ lw $t1,0x1c0($sp) /* f0a5abc: 460a4101 */ sub.s $f4,$f8,$f10 /* f0a5ac0: 8d2d0024 */ lw $t5,0x24($t1) /* f0a5ac4: 46062481 */ sub.s $f18,$f4,$f6 /* f0a5ac8: c5a8000c */ lwc1 $f8,0xc($t5) /* f0a5acc: 46089282 */ mul.s $f10,$f18,$f8 /* f0a5ad0: 00000000 */ nop /* f0a5ad4: 46020402 */ mul.s $f16,$f0,$f2 /* f0a5ad8: 46105103 */ div.s $f4,$f10,$f16 /* f0a5adc: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a5ae0: e604076c */ swc1 $f4,0x76c($s0) /* f0a5ae4: 0fc2d5fa */ jal currentPlayerGetScreenHeight /* f0a5ae8: e7a00064 */ swc1 $f0,0x64($sp) /* f0a5aec: 3c013f00 */ lui $at,0x3f00 /* f0a5af0: 44813000 */ mtc1 $at,$f6 /* f0a5af4: 8fac01d8 */ lw $t4,0x1d8($sp) /* f0a5af8: c7aa0064 */ lwc1 $f10,0x64($sp) /* f0a5afc: 46060482 */ mul.s $f18,$f0,$f6 /* f0a5b00: c5881678 */ lwc1 $f8,0x1678($t4) /* f0a5b04: 460a4401 */ sub.s $f16,$f8,$f10 /* f0a5b08: 4610903c */ c.lt.s $f18,$f16 /* f0a5b0c: 00000000 */ nop /* f0a5b10: 4500001a */ bc1f .L0f0a5b7c /* f0a5b14: 00000000 */ nop /* f0a5b18: 0fc2d5fa */ jal currentPlayerGetScreenHeight /* f0a5b1c: 00000000 */ nop /* f0a5b20: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a5b24: e7a00060 */ swc1 $f0,0x60($sp) /* f0a5b28: 0fc2d5fa */ jal currentPlayerGetScreenHeight /* f0a5b2c: e7a00064 */ swc1 $f0,0x64($sp) /* f0a5b30: 3c013f00 */ lui $at,0x3f00 /* f0a5b34: 44819000 */ mtc1 $at,$f18 /* f0a5b38: 8faa01d8 */ lw $t2,0x1d8($sp) /* f0a5b3c: c7aa0060 */ lwc1 $f10,0x60($sp) /* f0a5b40: c7a60064 */ lwc1 $f6,0x64($sp) /* f0a5b44: c5441678 */ lwc1 $f4,0x1678($t2) /* f0a5b48: 46125402 */ mul.s $f16,$f10,$f18 /* f0a5b4c: 8fab01c0 */ lw $t3,0x1c0($sp) /* f0a5b50: 46062201 */ sub.s $f8,$f4,$f6 /* f0a5b54: 44819000 */ mtc1 $at,$f18 /* f0a5b58: 8d790024 */ lw $t9,0x24($t3) /* f0a5b5c: 46104101 */ sub.s $f4,$f8,$f16 /* f0a5b60: c7260008 */ lwc1 $f6,0x8($t9) /* f0a5b64: 46062282 */ mul.s $f10,$f4,$f6 /* f0a5b68: 00000000 */ nop /* f0a5b6c: 46120202 */ mul.s $f8,$f0,$f18 /* f0a5b70: 46085403 */ div.s $f16,$f10,$f8 /* f0a5b74: 10000019 */ b .L0f0a5bdc /* f0a5b78: e6100770 */ swc1 $f16,0x770($s0) .L0f0a5b7c: /* f0a5b7c: 0fc2d5fa */ jal currentPlayerGetScreenHeight /* f0a5b80: 00000000 */ nop /* f0a5b84: 0fc2d602 */ jal currentPlayerGetScreenTop /* f0a5b88: e7a00060 */ swc1 $f0,0x60($sp) /* f0a5b8c: 0fc2d5fa */ jal currentPlayerGetScreenHeight /* f0a5b90: e7a00064 */ swc1 $f0,0x64($sp) /* f0a5b94: 3c013f00 */ lui $at,0x3f00 /* f0a5b98: 44814000 */ mtc1 $at,$f8 /* f0a5b9c: 8fb801d8 */ lw $t8,0x1d8($sp) /* f0a5ba0: c7aa0060 */ lwc1 $f10,0x60($sp) /* f0a5ba4: c7a60064 */ lwc1 $f6,0x64($sp) /* f0a5ba8: c7041678 */ lwc1 $f4,0x1678($t8) /* f0a5bac: 46085402 */ mul.s $f16,$f10,$f8 /* f0a5bb0: 8fae01c0 */ lw $t6,0x1c0($sp) /* f0a5bb4: 46062481 */ sub.s $f18,$f4,$f6 /* f0a5bb8: 44814000 */ mtc1 $at,$f8 /* f0a5bbc: 8dcf0024 */ lw $t7,0x24($t6) /* f0a5bc0: 46109101 */ sub.s $f4,$f18,$f16 /* f0a5bc4: c5e60004 */ lwc1 $f6,0x4($t7) /* f0a5bc8: 46062282 */ mul.s $f10,$f4,$f6 /* f0a5bcc: 00000000 */ nop /* f0a5bd0: 46080482 */ mul.s $f18,$f0,$f8 /* f0a5bd4: 46125403 */ div.s $f16,$f10,$f18 /* f0a5bd8: e6100770 */ swc1 $f16,0x770($s0) .L0f0a5bdc: /* f0a5bdc: c600076c */ lwc1 $f0,0x76c($s0) /* f0a5be0: c6020770 */ lwc1 $f2,0x770($s0) /* f0a5be4: c7a40274 */ lwc1 $f4,0x274($sp) /* f0a5be8: c7a80278 */ lwc1 $f8,0x278($sp) /* f0a5bec: 24090001 */ addiu $t1,$zero,0x1 /* f0a5bf0: 46002180 */ add.s $f6,$f4,$f0 /* f0a5bf4: 24050040 */ addiu $a1,$zero,0x40 /* f0a5bf8: 46024281 */ sub.s $f10,$f8,$f2 /* f0a5bfc: e7a60274 */ swc1 $f6,0x274($sp) /* f0a5c00: e7aa0278 */ swc1 $f10,0x278($sp) /* f0a5c04: a2090007 */ sb $t1,0x7($s0) /* f0a5c08: 0fc2c5f0 */ jal weaponHasFlag /* f0a5c0c: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a5c10: 50400018 */ beqzl $v0,.L0f0a5c74 /* f0a5c14: a2000007 */ sb $zero,0x7($s0) /* f0a5c18: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a5c1c: 0fc2c5f0 */ jal weaponHasFlag /* f0a5c20: 24050080 */ addiu $a1,$zero,0x80 /* f0a5c24: 54400013 */ bnezl $v0,.L0f0a5c74 /* f0a5c28: a2000007 */ sb $zero,0x7($s0) /* f0a5c2c: 8e020020 */ lw $v0,0x20($s0) /* f0a5c30: 24010006 */ addiu $at,$zero,0x6 /* f0a5c34: 1041000e */ beq $v0,$at,.L0f0a5c70 /* f0a5c38: 24010007 */ addiu $at,$zero,0x7 /* f0a5c3c: 5041000d */ beql $v0,$at,.L0f0a5c74 /* f0a5c40: a2000007 */ sb $zero,0x7($s0) /* f0a5c44: 0fc2775f */ jal bgun0f09dd7c /* f0a5c48: 00000000 */ nop /* f0a5c4c: 50400009 */ beqzl $v0,.L0f0a5c74 /* f0a5c50: a2000007 */ sb $zero,0x7($s0) /* f0a5c54: 820d0008 */ lb $t5,0x8($s0) /* f0a5c58: 51a00006 */ beqzl $t5,.L0f0a5c74 /* f0a5c5c: a2000007 */ sb $zero,0x7($s0) /* f0a5c60: 0fc27773 */ jal bgun0f09ddcc /* f0a5c64: 00000000 */ nop /* f0a5c68: 54400003 */ bnezl $v0,.L0f0a5c78 /* f0a5c6c: 820c0007 */ lb $t4,0x7($s0) .L0f0a5c70: /* f0a5c70: a2000007 */ sb $zero,0x7($s0) .L0f0a5c74: /* f0a5c74: 820c0007 */ lb $t4,0x7($s0) .L0f0a5c78: /* f0a5c78: 11800031 */ beqz $t4,.L0f0a5d40 /* f0a5c7c: 00000000 */ nop /* f0a5c80: 8faa01d8 */ lw $t2,0x1d8($sp) /* f0a5c84: 8d421590 */ lw $v0,0x1590($t2) /* f0a5c88: 8444000e */ lh $a0,0xe($v0) /* f0a5c8c: afa20280 */ sw $v0,0x280($sp) /* f0a5c90: 00045980 */ sll $t3,$a0,0x6 /* f0a5c94: 0fc59e7d */ jal gfxAllocate /* f0a5c98: 01602025 */ or $a0,$t3,$zero /* f0a5c9c: afa20304 */ sw $v0,0x304($sp) /* f0a5ca0: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a5ca4: 0fc2c5f0 */ jal weaponHasFlag /* f0a5ca8: 3c050200 */ lui $a1,0x200 /* f0a5cac: 10400012 */ beqz $v0,.L0f0a5cf8 /* f0a5cb0: 8fb90280 */ lw $t9,0x280($sp) /* f0a5cb4: 8738000e */ lh $t8,0xe($t9) /* f0a5cb8: 00001025 */ or $v0,$zero,$zero /* f0a5cbc: 8fa40304 */ lw $a0,0x304($sp) /* f0a5cc0: 1b00000d */ blez $t8,.L0f0a5cf8 /* f0a5cc4: 00000000 */ nop /* f0a5cc8: afa201c8 */ sw $v0,0x1c8($sp) .L0f0a5ccc: /* f0a5ccc: 0c00566c */ jal func000159b0 /* f0a5cd0: afa40048 */ sw $a0,0x48($sp) /* f0a5cd4: 8fae0280 */ lw $t6,0x280($sp) /* f0a5cd8: 8fa201c8 */ lw $v0,0x1c8($sp) /* f0a5cdc: 8fa40048 */ lw $a0,0x48($sp) /* f0a5ce0: 85cf000e */ lh $t7,0xe($t6) /* f0a5ce4: 24420001 */ addiu $v0,$v0,0x1 /* f0a5ce8: 24840040 */ addiu $a0,$a0,0x40 /* f0a5cec: 004f082a */ slt $at,$v0,$t7 /* f0a5cf0: 5420fff6 */ bnezl $at,.L0f0a5ccc /* f0a5cf4: afa201c8 */ sw $v0,0x1c8($sp) .L0f0a5cf8: /* f0a5cf8: 0fc28b6a */ jal bgun0f0a2da8 /* f0a5cfc: 8e040794 */ lw $a0,0x794($s0) /* f0a5d00: 8fa901d8 */ lw $t1,0x1d8($sp) /* f0a5d04: 8d2d1594 */ lw $t5,0x1594($t1) /* f0a5d08: 51a00004 */ beqzl $t5,.L0f0a5d1c /* f0a5d0c: 02002025 */ or $a0,$s0,$zero /* f0a5d10: 0fc28b6a */ jal bgun0f0a2da8 /* f0a5d14: 8e040798 */ lw $a0,0x798($s0) /* f0a5d18: 02002025 */ or $a0,$s0,$zero .L0f0a5d1c: /* f0a5d1c: 0fc2600c */ jal bgun0f098030 /* f0a5d20: 8fa50280 */ lw $a1,0x280($sp) /* f0a5d24: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a5d28: 0fc2c5f0 */ jal weaponHasFlag /* f0a5d2c: 24052000 */ addiu $a1,$zero,0x2000 /* f0a5d30: 10400003 */ beqz $v0,.L0f0a5d40 /* f0a5d34: 02002025 */ or $a0,$s0,$zero /* f0a5d38: 0fc2607a */ jal bgun0f0981e8 /* f0a5d3c: 8fa50280 */ lw $a1,0x280($sp) .L0f0a5d40: /* f0a5d40: 0c00566c */ jal func000159b0 /* f0a5d44: 27a40234 */ addiu $a0,$sp,0x234 /* f0a5d48: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a5d4c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a5d50: 8d0c006c */ lw $t4,0x6c($t0) /* f0a5d54: 24010001 */ addiu $at,$zero,0x1 /* f0a5d58: 51800004 */ beqzl $t4,.L0f0a5d6c /* f0a5d5c: 00002825 */ or $a1,$zero,$zero /* f0a5d60: 10000002 */ b .L0f0a5d6c /* f0a5d64: 24050001 */ addiu $a1,$zero,0x1 /* f0a5d68: 00002825 */ or $a1,$zero,$zero .L0f0a5d6c: /* f0a5d6c: 8d0a0068 */ lw $t2,0x68($t0) /* f0a5d70: 51400004 */ beqzl $t2,.L0f0a5d84 /* f0a5d74: 00002025 */ or $a0,$zero,$zero /* f0a5d78: 10000002 */ b .L0f0a5d84 /* f0a5d7c: 24040001 */ addiu $a0,$zero,0x1 /* f0a5d80: 00002025 */ or $a0,$zero,$zero .L0f0a5d84: /* f0a5d84: 8d0b0064 */ lw $t3,0x64($t0) /* f0a5d88: 51600004 */ beqzl $t3,.L0f0a5d9c /* f0a5d8c: 00001825 */ or $v1,$zero,$zero /* f0a5d90: 10000002 */ b .L0f0a5d9c /* f0a5d94: 24030001 */ addiu $v1,$zero,0x1 /* f0a5d98: 00001825 */ or $v1,$zero,$zero .L0f0a5d9c: /* f0a5d9c: 8d190070 */ lw $t9,0x70($t0) /* f0a5da0: 53200004 */ beqzl $t9,.L0f0a5db4 /* f0a5da4: 00001025 */ or $v0,$zero,$zero /* f0a5da8: 10000002 */ b .L0f0a5db4 /* f0a5dac: 24020001 */ addiu $v0,$zero,0x1 /* f0a5db0: 00001025 */ or $v0,$zero,$zero .L0f0a5db4: /* f0a5db4: 0043c021 */ addu $t8,$v0,$v1 /* f0a5db8: 03047021 */ addu $t6,$t8,$a0 /* f0a5dbc: 01c57821 */ addu $t7,$t6,$a1 /* f0a5dc0: 15e10012 */ bne $t7,$at,.L0f0a5e0c /* f0a5dc4: 3c098009 */ lui $t1,%hi(g_Is4Mb) /* f0a5dc8: 91290af0 */ lbu $t1,%lo(g_Is4Mb)($t1) /* f0a5dcc: 24010001 */ addiu $at,$zero,0x1 /* f0a5dd0: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a5dd4: 5121000e */ beql $t1,$at,.L0f0a5e10 /* f0a5dd8: 8e0a00b4 */ lw $t2,0xb4($s0) /* f0a5ddc: 0fc2c5f0 */ jal weaponHasFlag /* f0a5de0: 3c050008 */ lui $a1,0x8 /* f0a5de4: 10400009 */ beqz $v0,.L0f0a5e0c /* f0a5de8: 02002025 */ or $a0,$s0,$zero /* f0a5dec: 27ad0284 */ addiu $t5,$sp,0x284 /* f0a5df0: 27ac0234 */ addiu $t4,$sp,0x234 /* f0a5df4: afac0014 */ sw $t4,0x14($sp) /* f0a5df8: afad0010 */ sw $t5,0x10($sp) /* f0a5dfc: 8fa50308 */ lw $a1,0x308($sp) /* f0a5e00: 27a60274 */ addiu $a2,$sp,0x274 /* f0a5e04: 0fc28c58 */ jal bgun0f0a3160 /* f0a5e08: 8fa701d0 */ lw $a3,0x1d0($sp) .L0f0a5e0c: /* f0a5e0c: 8e0a00b4 */ lw $t2,0xb4($s0) .L0f0a5e10: /* f0a5e10: 51400017 */ beqzl $t2,.L0f0a5e70 /* f0a5e14: 44800000 */ mtc1 $zero,$f0 /* f0a5e18: c7b20274 */ lwc1 $f18,0x274($sp) /* f0a5e1c: c61000a4 */ lwc1 $f16,0xa4($s0) /* f0a5e20: c7a60278 */ lwc1 $f6,0x278($sp) /* f0a5e24: 26040074 */ addiu $a0,$s0,0x74 /* f0a5e28: 46109100 */ add.s $f4,$f18,$f16 /* f0a5e2c: c7b2027c */ lwc1 $f18,0x27c($sp) /* f0a5e30: 27a50234 */ addiu $a1,$sp,0x234 /* f0a5e34: e7a40274 */ swc1 $f4,0x274($sp) /* f0a5e38: c60800a8 */ lwc1 $f8,0xa8($s0) /* f0a5e3c: 46083280 */ add.s $f10,$f6,$f8 /* f0a5e40: e7aa0278 */ swc1 $f10,0x278($sp) /* f0a5e44: c61000ac */ lwc1 $f16,0xac($s0) /* f0a5e48: 46109100 */ add.s $f4,$f18,$f16 /* f0a5e4c: 0c0056f8 */ jal func00015be0 /* f0a5e50: e7a4027c */ swc1 $f4,0x27c($sp) /* f0a5e54: 44800000 */ mtc1 $zero,$f0 /* f0a5e58: 00000000 */ nop /* f0a5e5c: e7a00264 */ swc1 $f0,0x264($sp) /* f0a5e60: e7a00268 */ swc1 $f0,0x268($sp) /* f0a5e64: 10000007 */ b .L0f0a5e84 /* f0a5e68: e7a0026c */ swc1 $f0,0x26c($sp) /* f0a5e6c: 44800000 */ mtc1 $zero,$f0 .L0f0a5e70: /* f0a5e70: 00000000 */ nop /* f0a5e74: e6000070 */ swc1 $f0,0x70($s0) /* f0a5e78: e6000064 */ swc1 $f0,0x64($s0) /* f0a5e7c: e6000068 */ swc1 $f0,0x68($s0) /* f0a5e80: e600006c */ swc1 $f0,0x6c($s0) .L0f0a5e84: /* f0a5e84: c60600c4 */ lwc1 $f6,0xc4($s0) /* f0a5e88: 44050000 */ mfc1 $a1,$f0 /* f0a5e8c: 44060000 */ mfc1 $a2,$f0 /* f0a5e90: e7a60010 */ swc1 $f6,0x10($sp) /* f0a5e94: c60800c8 */ lwc1 $f8,0xc8($s0) /* f0a5e98: 44070000 */ mfc1 $a3,$f0 /* f0a5e9c: 27a40284 */ addiu $a0,$sp,0x284 /* f0a5ea0: e7a80014 */ swc1 $f8,0x14($sp) /* f0a5ea4: c60a00cc */ lwc1 $f10,0xcc($s0) /* f0a5ea8: e7aa0018 */ swc1 $f10,0x18($sp) /* f0a5eac: c61200d0 */ lwc1 $f18,0xd0($s0) /* f0a5eb0: e7b2001c */ swc1 $f18,0x1c($sp) /* f0a5eb4: c61000d4 */ lwc1 $f16,0xd4($s0) /* f0a5eb8: e7b00020 */ swc1 $f16,0x20($sp) /* f0a5ebc: c60400d8 */ lwc1 $f4,0xd8($s0) /* f0a5ec0: 0c005b56 */ jal func00016d58 /* f0a5ec4: e7a40024 */ swc1 $f4,0x24($sp) /* f0a5ec8: 27a40284 */ addiu $a0,$sp,0x284 /* f0a5ecc: 0c0056f8 */ jal func00015be0 /* f0a5ed0: 27a50234 */ addiu $a1,$sp,0x234 /* f0a5ed4: 44800000 */ mtc1 $zero,$f0 /* f0a5ed8: 3c017f1b */ lui $at,%hi(var7f1ac9e4) /* f0a5edc: c426c9e4 */ lwc1 $f6,%lo(var7f1ac9e4)($at) /* f0a5ee0: 27a401a4 */ addiu $a0,$sp,0x1a4 /* f0a5ee4: 27a50164 */ addiu $a1,$sp,0x164 /* f0a5ee8: e7a001a4 */ swc1 $f0,0x1a4($sp) /* f0a5eec: e7a001ac */ swc1 $f0,0x1ac($sp) /* f0a5ef0: 0c005923 */ jal func0001648c /* f0a5ef4: e7a601a8 */ swc1 $f6,0x1a8($sp) /* f0a5ef8: 44804000 */ mtc1 $zero,$f8 /* f0a5efc: 27a40118 */ addiu $a0,$sp,0x118 /* f0a5f00: 8fa50308 */ lw $a1,0x308($sp) /* f0a5f04: 0fc2893c */ jal bgun0f0a24f0 /* f0a5f08: e7a801a8 */ swc1 $f8,0x1a8($sp) /* f0a5f0c: c7ac0118 */ lwc1 $f12,0x118($sp) /* f0a5f10: c7ae0120 */ lwc1 $f14,0x120($sp) /* f0a5f14: 8fa60274 */ lw $a2,0x274($sp) /* f0a5f18: 0fc28926 */ jal bgun0f0a2498 /* f0a5f1c: 8fa7027c */ lw $a3,0x27c($sp) /* f0a5f20: 46000287 */ neg.s $f10,$f0 /* f0a5f24: c7ac011c */ lwc1 $f12,0x11c($sp) /* f0a5f28: e7aa01a8 */ swc1 $f10,0x1a8($sp) /* f0a5f2c: c7ae0120 */ lwc1 $f14,0x120($sp) /* f0a5f30: 8fa60278 */ lw $a2,0x278($sp) /* f0a5f34: 0fc28926 */ jal bgun0f0a2498 /* f0a5f38: 8fa7027c */ lw $a3,0x27c($sp) /* f0a5f3c: e7a001a4 */ swc1 $f0,0x1a4($sp) /* f0a5f40: c7b201a4 */ lwc1 $f18,0x1a4($sp) /* f0a5f44: 27a401a4 */ addiu $a0,$sp,0x1a4 /* f0a5f48: 27a50124 */ addiu $a1,$sp,0x124 /* f0a5f4c: e6120234 */ swc1 $f18,0x234($s0) /* f0a5f50: c7b001a8 */ lwc1 $f16,0x1a8($sp) /* f0a5f54: 0c005923 */ jal func0001648c /* f0a5f58: e6100238 */ swc1 $f16,0x238($s0) /* f0a5f5c: 27a40124 */ addiu $a0,$sp,0x124 /* f0a5f60: 27a50164 */ addiu $a1,$sp,0x164 /* f0a5f64: 0c005680 */ jal func00015a00 /* f0a5f68: 27a60284 */ addiu $a2,$sp,0x284 /* f0a5f6c: 27a40284 */ addiu $a0,$sp,0x284 /* f0a5f70: 0c00567f */ jal func000159fc /* f0a5f74: 27a50234 */ addiu $a1,$sp,0x234 /* f0a5f78: 27a40234 */ addiu $a0,$sp,0x234 /* f0a5f7c: 0c005746 */ jal func00015d18 /* f0a5f80: 27a502c4 */ addiu $a1,$sp,0x2c4 /* f0a5f84: 27a40274 */ addiu $a0,$sp,0x274 /* f0a5f88: 0c005775 */ jal func00015dd4 /* f0a5f8c: 27a502c4 */ addiu $a1,$sp,0x2c4 /* f0a5f90: 260502b4 */ addiu $a1,$s0,0x2b4 /* f0a5f94: afa50048 */ sw $a1,0x48($sp) /* f0a5f98: 0c005746 */ jal func00015d18 /* f0a5f9c: 27a402c4 */ addiu $a0,$sp,0x2c4 /* f0a5fa0: 260402f4 */ addiu $a0,$s0,0x2f4 /* f0a5fa4: afa40040 */ sw $a0,0x40($sp) /* f0a5fa8: 0c005746 */ jal func00015d18 /* f0a5fac: 26050334 */ addiu $a1,$s0,0x334 /* f0a5fb0: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a5fb4: 00000000 */ nop /* f0a5fb8: 00402025 */ or $a0,$v0,$zero /* f0a5fbc: 8fa50048 */ lw $a1,0x48($sp) /* f0a5fc0: 0c0056f9 */ jal func00015be4 /* f0a5fc4: 8fa60040 */ lw $a2,0x40($sp) /* f0a5fc8: 820b0007 */ lb $t3,0x7($s0) /* f0a5fcc: 116001c4 */ beqz $t3,.L0f0a66e0 /* f0a5fd0: 2405005a */ addiu $a1,$zero,0x5a /* f0a5fd4: 8fa40280 */ lw $a0,0x280($sp) .L0f0a5fd8: /* f0a5fd8: 0c006a47 */ jal modelGetPart /* f0a5fdc: afa50114 */ sw $a1,0x114($sp) /* f0a5fe0: 1040000c */ beqz $v0,.L0f0a6014 /* f0a5fe4: 8fa50114 */ lw $a1,0x114($sp) /* f0a5fe8: 8c430004 */ lw $v1,0x4($v0) /* f0a5fec: 8fa901e0 */ lw $t1,0x1e0($sp) /* f0a5ff0: 94790004 */ lhu $t9,0x4($v1) /* f0a5ff4: 00096880 */ sll $t5,$t1,0x2 /* f0a5ff8: 03ad6021 */ addu $t4,$sp,$t5 /* f0a5ffc: 0019c080 */ sll $t8,$t9,0x2 /* f0a6000: 02187021 */ addu $t6,$s0,$t8 /* f0a6004: 25cf0434 */ addiu $t7,$t6,0x434 /* f0a6008: ad8f01e4 */ sw $t7,0x1e4($t4) /* f0a600c: 252a0001 */ addiu $t2,$t1,0x1 /* f0a6010: afaa01e0 */ sw $t2,0x1e0($sp) .L0f0a6014: /* f0a6014: 24a50001 */ addiu $a1,$a1,0x1 /* f0a6018: 2401005d */ addiu $at,$zero,0x5d /* f0a601c: 54a1ffee */ bnel $a1,$at,.L0f0a5fd8 /* f0a6020: 8fa40280 */ lw $a0,0x280($sp) /* f0a6024: 8fa20304 */ lw $v0,0x304($sp) /* f0a6028: 24050020 */ addiu $a1,$zero,0x20 /* f0a602c: ae020390 */ sw $v0,0x390($s0) /* f0a6030: ae020540 */ sw $v0,0x540($s0) /* f0a6034: 0fc2c5f0 */ jal weaponHasFlag /* f0a6038: 8fa401c4 */ lw $a0,0x1c4($sp) /* f0a603c: 10400008 */ beqz $v0,.L0f0a6060 /* f0a6040: 00000000 */ nop /* f0a6044: 8fab0308 */ lw $t3,0x308($sp) /* f0a6048: 24010001 */ addiu $at,$zero,0x1 /* f0a604c: 15610004 */ bne $t3,$at,.L0f0a6060 /* f0a6050: 3c01bf80 */ lui $at,0xbf80 /* f0a6054: 44816000 */ mtc1 $at,$f12 /* f0a6058: 0c005789 */ jal func00015e24 /* f0a605c: 27a502c4 */ addiu $a1,$sp,0x2c4 .L0f0a6060: /* f0a6060: 3c017f1b */ lui $at,%hi(var7f1ac9e8) /* f0a6064: c42cc9e8 */ lwc1 $f12,%lo(var7f1ac9e8)($at) /* f0a6068: 0c0057c1 */ jal func00015f04 /* f0a606c: 27a502c4 */ addiu $a1,$sp,0x2c4 /* f0a6070: 27a402c4 */ addiu $a0,$sp,0x2c4 /* f0a6074: 0c005746 */ jal func00015d18 /* f0a6078: 8fa50304 */ lw $a1,0x304($sp) /* f0a607c: 8e190690 */ lw $t9,0x690($s0) /* f0a6080: 0019c0c0 */ sll $t8,$t9,0x3 /* f0a6084: 00187742 */ srl $t6,$t8,0x1d /* f0a6088: 19c00018 */ blez $t6,.L0f0a60ec /* f0a608c: 00000000 */ nop /* f0a6090: 8faf01c4 */ lw $t7,0x1c4($sp) /* f0a6094: 2401001c */ addiu $at,$zero,0x1c /* f0a6098: 11e1000d */ beq $t7,$at,.L0f0a60d0 /* f0a609c: 2401001e */ addiu $at,$zero,0x1e /* f0a60a0: 11e10003 */ beq $t7,$at,.L0f0a60b0 /* f0a60a4: 2401001f */ addiu $at,$zero,0x1f /* f0a60a8: 15e10010 */ bne $t7,$at,.L0f0a60ec /* f0a60ac: 00000000 */ nop .L0f0a60b0: /* f0a60b0: 920d06d6 */ lbu $t5,0x6d6($s0) /* f0a60b4: 31acff0f */ andi $t4,$t5,0xff0f /* f0a60b8: 358a0010 */ ori $t2,$t4,0x10 /* f0a60bc: 314b00f1 */ andi $t3,$t2,0xf1 /* f0a60c0: a20a06d6 */ sb $t2,0x6d6($s0) /* f0a60c4: 35790002 */ ori $t9,$t3,0x2 /* f0a60c8: 10000008 */ b .L0f0a60ec /* f0a60cc: a21906d6 */ sb $t9,0x6d6($s0) .L0f0a60d0: /* f0a60d0: 921806d6 */ lbu $t8,0x6d6($s0) /* f0a60d4: 330eff0f */ andi $t6,$t8,0xff0f /* f0a60d8: 35cd0010 */ ori $t5,$t6,0x10 /* f0a60dc: 31ac00f1 */ andi $t4,$t5,0xf1 /* f0a60e0: a20d06d6 */ sb $t5,0x6d6($s0) /* f0a60e4: 35890004 */ ori $t1,$t4,0x4 /* f0a60e8: a20906d6 */ sb $t1,0x6d6($s0) .L0f0a60ec: /* f0a60ec: 3c01800a */ lui $at,%hi(var8009d144) /* f0a60f0: ac30d144 */ sw $s0,%lo(var8009d144)($at) /* f0a60f4: 960a06d6 */ lhu $t2,0x6d6($s0) /* f0a60f8: 000a5b02 */ srl $t3,$t2,0xc /* f0a60fc: 19600004 */ blez $t3,.L0f0a6110 /* f0a6100: 02002025 */ or $a0,$s0,$zero /* f0a6104: 8fa50280 */ lw $a1,0x280($sp) /* f0a6108: 0fc29174 */ jal bgun0f0a45d0 /* f0a610c: 8fa601b8 */ lw $a2,0x1b8($sp) .L0f0a6110: /* f0a6110: 2408ffff */ addiu $t0,$zero,-1 /* f0a6114: 3c01800a */ lui $at,%hi(var8009d0dc) /* f0a6118: 8fb901c4 */ lw $t9,0x1c4($sp) /* f0a611c: 3c03800a */ lui $v1,%hi(var8009d0f0) /* f0a6120: ac28d0dc */ sw $t0,%lo(var8009d0dc)($at) /* f0a6124: 2463d0f0 */ addiu $v1,$v1,%lo(var8009d0f0) /* f0a6128: 24010014 */ addiu $at,$zero,0x14 /* f0a612c: ac680008 */ sw $t0,0x8($v1) /* f0a6130: ac680004 */ sw $t0,0x4($v1) /* f0a6134: 13210008 */ beq $t9,$at,.L0f0a6158 /* f0a6138: ac680000 */ sw $t0,0x0($v1) /* f0a613c: 2401001d */ addiu $at,$zero,0x1d /* f0a6140: 17210009 */ bne $t9,$at,.L0f0a6168 /* f0a6144: 00000000 */ nop /* f0a6148: 0fc290cd */ jal bgun0f0a4334 /* f0a614c: 02002025 */ or $a0,$s0,$zero /* f0a6150: 10000005 */ b .L0f0a6168 /* f0a6154: 2408ffff */ addiu $t0,$zero,-1 .L0f0a6158: /* f0a6158: 02002025 */ or $a0,$s0,$zero /* f0a615c: 0fc28ea9 */ jal bgun0f0a3aa4 /* f0a6160: 8fa50280 */ lw $a1,0x280($sp) /* f0a6164: 2408ffff */ addiu $t0,$zero,-1 .L0f0a6168: /* f0a6168: 3c188007 */ lui $t8,%hi(var8007025c) /* f0a616c: 27a600d0 */ addiu $a2,$sp,0xd0 /* f0a6170: 2718025c */ addiu $t8,$t8,%lo(var8007025c) /* f0a6174: 27a702c4 */ addiu $a3,$sp,0x2c4 /* f0a6178: 24040001 */ addiu $a0,$zero,0x1 /* f0a617c: 270f003c */ addiu $t7,$t8,0x3c /* f0a6180: 00c06825 */ or $t5,$a2,$zero .L0f0a6184: /* f0a6184: 8f010000 */ lw $at,0x0($t8) /* f0a6188: 2718000c */ addiu $t8,$t8,0xc /* f0a618c: 25ad000c */ addiu $t5,$t5,0xc /* f0a6190: ada1fff4 */ sw $at,-0xc($t5) /* f0a6194: 8f01fff8 */ lw $at,-0x8($t8) /* f0a6198: ada1fff8 */ sw $at,-0x8($t5) /* f0a619c: 8f01fffc */ lw $at,-0x4($t8) /* f0a61a0: 170ffff8 */ bne $t8,$t7,.L0f0a6184 /* f0a61a4: ada1fffc */ sw $at,-0x4($t5) /* f0a61a8: 8f010000 */ lw $at,0x0($t8) /* f0a61ac: ada10000 */ sw $at,0x0($t5) /* f0a61b0: afa700d0 */ sw $a3,0xd0($sp) /* f0a61b4: 8e0c0390 */ lw $t4,0x390($s0) /* f0a61b8: 8faa01c4 */ lw $t2,0x1c4($sp) /* f0a61bc: afac00e0 */ sw $t4,0xe0($sp) /* f0a61c0: 8e09068c */ lw $t1,0x68c($s0) /* f0a61c4: 254bffec */ addiu $t3,$t2,-20 /* f0a61c8: 2d610022 */ sltiu $at,$t3,0x22 /* f0a61cc: 11200002 */ beqz $t1,.L0f0a61d8 /* f0a61d0: 00000000 */ nop /* f0a61d4: 00002025 */ or $a0,$zero,$zero .L0f0a61d8: /* f0a61d8: 1020001e */ beqz $at,.L0f0a6254 /* f0a61dc: 000b5880 */ sll $t3,$t3,0x2 /* f0a61e0: 3c017f1b */ lui $at,%hi(var7f1ac9ec) /* f0a61e4: 002b0821 */ addu $at,$at,$t3 /* f0a61e8: 8c2bc9ec */ lw $t3,%lo(var7f1ac9ec)($at) /* f0a61ec: 01600008 */ jr $t3 /* f0a61f0: 00000000 */ nop /* f0a61f4: 10000017 */ b .L0f0a6254 /* f0a61f8: 00002025 */ or $a0,$zero,$zero /* f0a61fc: 8fb901d8 */ lw $t9,0x1d8($sp) /* f0a6200: 8f2e0ffc */ lw $t6,0xffc($t9) /* f0a6204: 55c00003 */ bnezl $t6,.L0f0a6214 /* f0a6208: 8faf01d8 */ lw $t7,0x1d8($sp) /* f0a620c: 00002025 */ or $a0,$zero,$zero /* f0a6210: 8faf01d8 */ lw $t7,0x1d8($sp) .L0f0a6214: /* f0a6214: 8fad01d8 */ lw $t5,0x1d8($sp) /* f0a6218: 8fac0050 */ lw $t4,0x50($sp) /* f0a621c: 8df80858 */ lw $t8,0x858($t7) /* f0a6220: 01ac4821 */ addu $t1,$t5,$t4 /* f0a6224: 57000003 */ bnezl $t8,.L0f0a6234 /* f0a6228: 8d220c3c */ lw $v0,0xc3c($t1) /* f0a622c: 00002025 */ or $a0,$zero,$zero /* f0a6230: 8d220c3c */ lw $v0,0xc3c($t1) .L0f0a6234: /* f0a6234: 24010008 */ addiu $at,$zero,0x8 /* f0a6238: 54410003 */ bnel $v0,$at,.L0f0a6248 /* f0a623c: 24010004 */ addiu $at,$zero,0x4 /* f0a6240: 00002025 */ or $a0,$zero,$zero /* f0a6244: 24010004 */ addiu $at,$zero,0x4 .L0f0a6248: /* f0a6248: 54410003 */ bnel $v0,$at,.L0f0a6258 /* f0a624c: 8faa01d8 */ lw $t2,0x1d8($sp) /* f0a6250: 00002025 */ or $a0,$zero,$zero .L0f0a6254: /* f0a6254: 8faa01d8 */ lw $t2,0x1d8($sp) .L0f0a6258: /* f0a6258: 8fab0050 */ lw $t3,0x50($sp) /* f0a625c: 961906d6 */ lhu $t9,0x6d6($s0) /* f0a6260: 24010005 */ addiu $at,$zero,0x5 /* f0a6264: 014b1821 */ addu $v1,$t2,$t3 /* f0a6268: 00197302 */ srl $t6,$t9,0xc /* f0a626c: 11c00002 */ beqz $t6,.L0f0a6278 /* f0a6270: 8c620c3c */ lw $v0,0xc3c($v1) /* f0a6274: 00002025 */ or $a0,$zero,$zero .L0f0a6278: /* f0a6278: 1441000a */ bne $v0,$at,.L0f0a62a4 /* f0a627c: 00000000 */ nop /* f0a6280: 8c6f0c40 */ lw $t7,0xc40($v1) /* f0a6284: 8fb801c0 */ lw $t8,0x1c0($sp) /* f0a6288: 29e10002 */ slti $at,$t7,0x2 /* f0a628c: 10200005 */ beqz $at,.L0f0a62a4 /* f0a6290: 00000000 */ nop /* f0a6294: 8f0d0008 */ lw $t5,0x8($t8) /* f0a6298: 11a00002 */ beqz $t5,.L0f0a62a4 /* f0a629c: 00000000 */ nop /* f0a62a0: 00002025 */ or $a0,$zero,$zero .L0f0a62a4: /* f0a62a4: 10800030 */ beqz $a0,.L0f0a6368 /* f0a62a8: 26050384 */ addiu $a1,$s0,0x384 /* f0a62ac: 8fac01d8 */ lw $t4,0x1d8($sp) /* f0a62b0: 8d890dd4 */ lw $t1,0xdd4($t4) /* f0a62b4: 55090013 */ bnel $t0,$t1,.L0f0a6304 /* f0a62b8: 8e0d038c */ lw $t5,0x38c($s0) /* f0a62bc: 0c00566c */ jal func000159b0 /* f0a62c0: 27a40084 */ addiu $a0,$sp,0x84 /* f0a62c4: 8fab01d8 */ lw $t3,0x1d8($sp) /* f0a62c8: 8e060390 */ lw $a2,0x390($s0) /* f0a62cc: 27aa0084 */ addiu $t2,$sp,0x84 /* f0a62d0: afaa00d0 */ sw $t2,0xd0($sp) /* f0a62d4: 8d790dd8 */ lw $t9,0xdd8($t3) /* f0a62d8: 27a400d0 */ addiu $a0,$sp,0xd0 /* f0a62dc: 26050384 */ addiu $a1,$s0,0x384 /* f0a62e0: afa600c4 */ sw $a2,0xc4($sp) /* f0a62e4: 0c0073af */ jal func0001cebc /* f0a62e8: afb900e0 */ sw $t9,0xe0($sp) /* f0a62ec: 8faf01d8 */ lw $t7,0x1d8($sp) /* f0a62f0: 8fa600c4 */ lw $a2,0xc4($sp) /* f0a62f4: 240e0001 */ addiu $t6,$zero,0x1 /* f0a62f8: adee0dd4 */ sw $t6,0xdd4($t7) /* f0a62fc: ae060390 */ sw $a2,0x390($s0) /* f0a6300: 8e0d038c */ lw $t5,0x38c($s0) .L0f0a6304: /* f0a6304: 8fb801d8 */ lw $t8,0x1d8($sp) /* f0a6308: 8e060390 */ lw $a2,0x390($s0) /* f0a630c: 85ac000e */ lh $t4,0xe($t5) /* f0a6310: 00001025 */ or $v0,$zero,$zero /* f0a6314: 8f050dd8 */ lw $a1,0xdd8($t8) /* f0a6318: 19800015 */ blez $t4,.L0f0a6370 /* f0a631c: 27a402c4 */ addiu $a0,$sp,0x2c4 .L0f0a6320: /* f0a6320: afa200cc */ sw $v0,0xcc($sp) /* f0a6324: afa500c8 */ sw $a1,0xc8($sp) /* f0a6328: 0c0056f9 */ jal func00015be4 /* f0a632c: afa600c4 */ sw $a2,0xc4($sp) /* f0a6330: 8fa901d4 */ lw $t1,0x1d4($sp) /* f0a6334: 8fa200cc */ lw $v0,0xcc($sp) /* f0a6338: 8fa500c8 */ lw $a1,0xc8($sp) /* f0a633c: 8d2a038c */ lw $t2,0x38c($t1) /* f0a6340: 8fa600c4 */ lw $a2,0xc4($sp) /* f0a6344: 24420001 */ addiu $v0,$v0,0x1 /* f0a6348: 854b000e */ lh $t3,0xe($t2) /* f0a634c: 24a50040 */ addiu $a1,$a1,0x40 /* f0a6350: 24c60040 */ addiu $a2,$a2,0x40 /* f0a6354: 004b082a */ slt $at,$v0,$t3 /* f0a6358: 5420fff1 */ bnezl $at,.L0f0a6320 /* f0a635c: 27a402c4 */ addiu $a0,$sp,0x2c4 /* f0a6360: 10000003 */ b .L0f0a6370 /* f0a6364: 00000000 */ nop .L0f0a6368: /* f0a6368: 0c0073af */ jal func0001cebc /* f0a636c: 00c02025 */ or $a0,$a2,$zero .L0f0a6370: /* f0a6370: 3c018006 */ lui $at,%hi(var8005efcc) /* f0a6374: ac20efcc */ sw $zero,%lo(var8005efcc)($at) /* f0a6378: 8fa40280 */ lw $a0,0x280($sp) /* f0a637c: 0c006a47 */ jal modelGetPart /* f0a6380: 24050033 */ addiu $a1,$zero,0x33 /* f0a6384: 10400020 */ beqz $v0,.L0f0a6408 /* f0a6388: 00402025 */ or $a0,$v0,$zero /* f0a638c: 0c006949 */ jal func0001a524 /* f0a6390: 00002825 */ or $a1,$zero,$zero /* f0a6394: afa20080 */ sw $v0,0x80($sp) /* f0a6398: 0fc288cf */ jal bgun0f0a233c /* f0a639c: 8fa40308 */ lw $a0,0x308($sp) /* f0a63a0: 44800000 */ mtc1 $zero,$f0 /* f0a63a4: 8fae0080 */ lw $t6,0x80($sp) /* f0a63a8: 8fb90304 */ lw $t9,0x304($sp) /* f0a63ac: e7a00074 */ swc1 $f0,0x74($sp) /* f0a63b0: e7a00078 */ swc1 $f0,0x78($sp) /* f0a63b4: c6040210 */ lwc1 $f4,0x210($s0) /* f0a63b8: 000e7980 */ sll $t7,$t6,0x6 /* f0a63bc: 032f2021 */ addu $a0,$t9,$t7 /* f0a63c0: 46002187 */ neg.s $f6,$f4 /* f0a63c4: afa40050 */ sw $a0,0x50($sp) /* f0a63c8: e7a6007c */ swc1 $f6,0x7c($sp) /* f0a63cc: 0c0056c4 */ jal func00015b10 /* f0a63d0: 27a50074 */ addiu $a1,$sp,0x74 /* f0a63d4: 8fa40050 */ lw $a0,0x50($sp) /* f0a63d8: c7aa0074 */ lwc1 $f10,0x74($sp) /* f0a63dc: c4880030 */ lwc1 $f8,0x30($a0) /* f0a63e0: c4900034 */ lwc1 $f16,0x34($a0) /* f0a63e4: 460a4480 */ add.s $f18,$f8,$f10 /* f0a63e8: c4880038 */ lwc1 $f8,0x38($a0) /* f0a63ec: e4920030 */ swc1 $f18,0x30($a0) /* f0a63f0: c7a40078 */ lwc1 $f4,0x78($sp) /* f0a63f4: 46048180 */ add.s $f6,$f16,$f4 /* f0a63f8: e4860034 */ swc1 $f6,0x34($a0) /* f0a63fc: c7aa007c */ lwc1 $f10,0x7c($sp) /* f0a6400: 460a4480 */ add.s $f18,$f8,$f10 /* f0a6404: e4920038 */ swc1 $f18,0x38($a0) .L0f0a6408: /* f0a6408: 8fb801e4 */ lw $t8,0x1e4($sp) /* f0a640c: 02002025 */ or $a0,$s0,$zero /* f0a6410: 53000003 */ beqzl $t8,.L0f0a6420 /* f0a6414: 8fad01e8 */ lw $t5,0x1e8($sp) /* f0a6418: af000000 */ sw $zero,0x0($t8) /* f0a641c: 8fad01e8 */ lw $t5,0x1e8($sp) .L0f0a6420: /* f0a6420: 51a00003 */ beqzl $t5,.L0f0a6430 /* f0a6424: 8fac01ec */ lw $t4,0x1ec($sp) /* f0a6428: ada00000 */ sw $zero,0x0($t5) /* f0a642c: 8fac01ec */ lw $t4,0x1ec($sp) .L0f0a6430: /* f0a6430: 51800003 */ beqzl $t4,.L0f0a6440 /* f0a6434: 8fa901c4 */ lw $t1,0x1c4($sp) /* f0a6438: ad800000 */ sw $zero,0x0($t4) /* f0a643c: 8fa901c4 */ lw $t1,0x1c4($sp) .L0f0a6440: /* f0a6440: 24010013 */ addiu $at,$zero,0x13 /* f0a6444: 8fa50304 */ lw $a1,0x304($sp) /* f0a6448: 11210012 */ beq $t1,$at,.L0f0a6494 /* f0a644c: 8fa601e4 */ lw $a2,0x1e4($sp) /* f0a6450: 24010015 */ addiu $at,$zero,0x15 /* f0a6454: 11210006 */ beq $t1,$at,.L0f0a6470 /* f0a6458: 8fa40280 */ lw $a0,0x280($sp) /* f0a645c: 24010017 */ addiu $at,$zero,0x17 /* f0a6460: 11210007 */ beq $t1,$at,.L0f0a6480 /* f0a6464: 02002025 */ or $a0,$s0,$zero /* f0a6468: 1000000d */ b .L0f0a64a0 /* f0a646c: 8fa40280 */ lw $a0,0x280($sp) .L0f0a6470: /* f0a6470: 0fc28fab */ jal bgun0f0a3eac /* f0a6474: 8fa50304 */ lw $a1,0x304($sp) /* f0a6478: 10000009 */ b .L0f0a64a0 /* f0a647c: 8fa40280 */ lw $a0,0x280($sp) .L0f0a6480: /* f0a6480: 8fa50304 */ lw $a1,0x304($sp) /* f0a6484: 0fc29025 */ jal bgun0f0a4094 /* f0a6488: 8fa60280 */ lw $a2,0x280($sp) /* f0a648c: 10000004 */ b .L0f0a64a0 /* f0a6490: 8fa40280 */ lw $a0,0x280($sp) .L0f0a6494: /* f0a6494: 0fc29067 */ jal bgun0f0a419c /* f0a6498: 8fa70280 */ lw $a3,0x280($sp) /* f0a649c: 8fa40280 */ lw $a0,0x280($sp) .L0f0a64a0: /* f0a64a0: 0c006a47 */ jal modelGetPart /* f0a64a4: 24050032 */ addiu $a1,$zero,0x32 /* f0a64a8: 8faa01c4 */ lw $t2,0x1c4($sp) /* f0a64ac: 24010014 */ addiu $at,$zero,0x14 /* f0a64b0: 00402025 */ or $a0,$v0,$zero /* f0a64b4: 1541001b */ bne $t2,$at,.L0f0a6524 /* f0a64b8: 00000000 */ nop /* f0a64bc: 820b0005 */ lb $t3,0x5($s0) /* f0a64c0: 55600006 */ bnezl $t3,.L0f0a64dc /* f0a64c4: 8e050558 */ lw $a1,0x558($s0) /* f0a64c8: 820e0004 */ lb $t6,0x4($s0) /* f0a64cc: 3c05800a */ lui $a1,%hi(g_Vars+0xc) /* f0a64d0: 11c0000b */ beqz $t6,.L0f0a6500 /* f0a64d4: 00000000 */ nop /* f0a64d8: 8e050558 */ lw $a1,0x558($s0) .L0f0a64dc: /* f0a64dc: 24010003 */ addiu $at,$zero,0x3 /* f0a64e0: 8fa40280 */ lw $a0,0x280($sp) /* f0a64e4: 00a1001a */ div $zero,$a1,$at /* f0a64e8: 0000c810 */ mfhi $t9 /* f0a64ec: 2725001e */ addiu $a1,$t9,0x1e /* f0a64f0: 0c006a47 */ jal modelGetPart /* f0a64f4: 00000000 */ nop /* f0a64f8: 1000000a */ b .L0f0a6524 /* f0a64fc: 00402025 */ or $a0,$v0,$zero .L0f0a6500: /* f0a6500: 8ca59fcc */ lw $a1,%lo(g_Vars+0xc)($a1) /* f0a6504: 24010003 */ addiu $at,$zero,0x3 /* f0a6508: 8fa40280 */ lw $a0,0x280($sp) /* f0a650c: 00a1001a */ div $zero,$a1,$at /* f0a6510: 00007810 */ mfhi $t7 /* f0a6514: 25e5001e */ addiu $a1,$t7,0x1e /* f0a6518: 0c006a47 */ jal modelGetPart /* f0a651c: 00000000 */ nop /* f0a6520: 00402025 */ or $a0,$v0,$zero .L0f0a6524: /* f0a6524: 10400038 */ beqz $v0,.L0f0a6608 /* f0a6528: 8faa01c4 */ lw $t2,0x1c4($sp) /* f0a652c: 0c006949 */ jal func0001a524 /* f0a6530: 00002825 */ or $a1,$zero,$zero /* f0a6534: 8fb80304 */ lw $t8,0x304($sp) /* f0a6538: 00026980 */ sll $t5,$v0,0x6 /* f0a653c: afa2006c */ sw $v0,0x6c($sp) /* f0a6540: 030d2021 */ addu $a0,$t8,$t5 /* f0a6544: c4900030 */ lwc1 $f16,0x30($a0) /* f0a6548: 26050620 */ addiu $a1,$s0,0x620 /* f0a654c: e6100374 */ swc1 $f16,0x374($s0) /* f0a6550: c4840034 */ lwc1 $f4,0x34($a0) /* f0a6554: e6040378 */ swc1 $f4,0x378($s0) /* f0a6558: c4860038 */ lwc1 $f6,0x38($a0) /* f0a655c: 0c005746 */ jal func00015d18 /* f0a6560: e606037c */ swc1 $f6,0x37c($s0) /* f0a6564: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a6568: 00000000 */ nop /* f0a656c: 00402025 */ or $a0,$v0,$zero /* f0a6570: 0c0056d9 */ jal func00015b64 /* f0a6574: 26050374 */ addiu $a1,$s0,0x374 /* f0a6578: 8fa2006c */ lw $v0,0x6c($sp) /* f0a657c: 8fac0304 */ lw $t4,0x304($sp) /* f0a6580: 820b0005 */ lb $t3,0x5($s0) /* f0a6584: 00024980 */ sll $t1,$v0,0x6 /* f0a6588: 01895021 */ addu $t2,$t4,$t1 /* f0a658c: c5480038 */ lwc1 $f8,0x38($t2) /* f0a6590: 46004287 */ neg.s $f10,$f8 /* f0a6594: 1160005e */ beqz $t3,.L0f0a6710 /* f0a6598: e60a0380 */ swc1 $f10,0x380($s0) /* f0a659c: 8fae01e0 */ lw $t6,0x1e0($sp) /* f0a65a0: 8fb901c4 */ lw $t9,0x1c4($sp) /* f0a65a4: 24010013 */ addiu $at,$zero,0x13 /* f0a65a8: 59c0005a */ blezl $t6,.L0f0a6714 /* f0a65ac: 8fac01c4 */ lw $t4,0x1c4($sp) /* f0a65b0: 13210057 */ beq $t9,$at,.L0f0a6710 /* f0a65b4: 3c0f800a */ lui $t7,%hi(g_Vars+0x34) /* f0a65b8: 8def9ff4 */ lw $t7,%lo(g_Vars+0x34)($t7) /* f0a65bc: 02002025 */ or $a0,$s0,$zero /* f0a65c0: 8fa501c0 */ lw $a1,0x1c0($sp) /* f0a65c4: 11e00052 */ beqz $t7,.L0f0a6710 /* f0a65c8: 8fa60280 */ lw $a2,0x280($sp) /* f0a65cc: 8fb80304 */ lw $t8,0x304($sp) /* f0a65d0: 27ad01e4 */ addiu $t5,$sp,0x1e4 /* f0a65d4: 27ac0234 */ addiu $t4,$sp,0x234 /* f0a65d8: 27a901f4 */ addiu $t1,$sp,0x1f4 /* f0a65dc: afa90028 */ sw $t1,0x28($sp) /* f0a65e0: afac0024 */ sw $t4,0x24($sp) /* f0a65e4: afad001c */ sw $t5,0x1c($sp) /* f0a65e8: 8fa701d0 */ lw $a3,0x1d0($sp) /* f0a65ec: afae0010 */ sw $t6,0x10($sp) /* f0a65f0: afb90018 */ sw $t9,0x18($sp) /* f0a65f4: afa20020 */ sw $v0,0x20($sp) /* f0a65f8: 0fc29391 */ jal bgun0f0a4e44 /* f0a65fc: afb80014 */ sw $t8,0x14($sp) /* f0a6600: 10000044 */ b .L0f0a6714 /* f0a6604: 8fac01c4 */ lw $t4,0x1c4($sp) .L0f0a6608: /* f0a6608: 2401001e */ addiu $at,$zero,0x1e /* f0a660c: 1141000a */ beq $t2,$at,.L0f0a6638 /* f0a6610: 8fa40280 */ lw $a0,0x280($sp) /* f0a6614: 24010020 */ addiu $at,$zero,0x20 /* f0a6618: 11410007 */ beq $t2,$at,.L0f0a6638 /* f0a661c: 24010022 */ addiu $at,$zero,0x22 /* f0a6620: 11410005 */ beq $t2,$at,.L0f0a6638 /* f0a6624: 24010021 */ addiu $at,$zero,0x21 /* f0a6628: 11410003 */ beq $t2,$at,.L0f0a6638 /* f0a662c: 2401001f */ addiu $at,$zero,0x1f /* f0a6630: 1541001f */ bne $t2,$at,.L0f0a66b0 /* f0a6634: 26050620 */ addiu $a1,$s0,0x620 .L0f0a6638: /* f0a6638: 0c006a47 */ jal modelGetPart /* f0a663c: 24050037 */ addiu $a1,$zero,0x37 /* f0a6640: 00402025 */ or $a0,$v0,$zero /* f0a6644: 0c006949 */ jal func0001a524 /* f0a6648: 00002825 */ or $a1,$zero,$zero /* f0a664c: 8fab0304 */ lw $t3,0x304($sp) /* f0a6650: 00027980 */ sll $t7,$v0,0x6 /* f0a6654: afa2006c */ sw $v0,0x6c($sp) /* f0a6658: 016f2021 */ addu $a0,$t3,$t7 /* f0a665c: c4920030 */ lwc1 $f18,0x30($a0) /* f0a6660: 26050620 */ addiu $a1,$s0,0x620 /* f0a6664: e6120374 */ swc1 $f18,0x374($s0) /* f0a6668: c4900034 */ lwc1 $f16,0x34($a0) /* f0a666c: e6100378 */ swc1 $f16,0x378($s0) /* f0a6670: c4840038 */ lwc1 $f4,0x38($a0) /* f0a6674: 0c005746 */ jal func00015d18 /* f0a6678: e604037c */ swc1 $f4,0x37c($s0) /* f0a667c: 0fc2d5de */ jal currentPlayerGetUnk174c /* f0a6680: 00000000 */ nop /* f0a6684: 00402025 */ or $a0,$v0,$zero /* f0a6688: 0c0056d9 */ jal func00015b64 /* f0a668c: 26050374 */ addiu $a1,$s0,0x374 /* f0a6690: 8fb8006c */ lw $t8,0x6c($sp) /* f0a6694: 8fae0304 */ lw $t6,0x304($sp) /* f0a6698: 0018c980 */ sll $t9,$t8,0x6 /* f0a669c: 01d96821 */ addu $t5,$t6,$t9 /* f0a66a0: c5a60038 */ lwc1 $f6,0x38($t5) /* f0a66a4: 46003207 */ neg.s $f8,$f6 /* f0a66a8: 10000019 */ b .L0f0a6710 /* f0a66ac: e6080380 */ swc1 $f8,0x380($s0) .L0f0a66b0: /* f0a66b0: c60a0324 */ lwc1 $f10,0x324($s0) /* f0a66b4: c6120328 */ lwc1 $f18,0x328($s0) /* f0a66b8: c610032c */ lwc1 $f16,0x32c($s0) /* f0a66bc: e60a0374 */ swc1 $f10,0x374($s0) /* f0a66c0: e6120378 */ swc1 $f18,0x378($s0) /* f0a66c4: e610037c */ swc1 $f16,0x37c($s0) /* f0a66c8: 0c005746 */ jal func00015d18 /* f0a66cc: 8fa40040 */ lw $a0,0x40($sp) /* f0a66d0: c60402ec */ lwc1 $f4,0x2ec($s0) /* f0a66d4: 46002187 */ neg.s $f6,$f4 /* f0a66d8: 1000000d */ b .L0f0a6710 /* f0a66dc: e6060380 */ swc1 $f6,0x380($s0) .L0f0a66e0: /* f0a66e0: c6080324 */ lwc1 $f8,0x324($s0) /* f0a66e4: c60a0328 */ lwc1 $f10,0x328($s0) /* f0a66e8: c612032c */ lwc1 $f18,0x32c($s0) /* f0a66ec: e6080374 */ swc1 $f8,0x374($s0) /* f0a66f0: e60a0378 */ swc1 $f10,0x378($s0) /* f0a66f4: e612037c */ swc1 $f18,0x37c($s0) /* f0a66f8: 8fa40040 */ lw $a0,0x40($sp) /* f0a66fc: 0c005746 */ jal func00015d18 /* f0a6700: 26050620 */ addiu $a1,$s0,0x620 /* f0a6704: c61002ec */ lwc1 $f16,0x2ec($s0) /* f0a6708: 46008107 */ neg.s $f4,$f16 /* f0a670c: e6040380 */ swc1 $f4,0x380($s0) .L0f0a6710: /* f0a6710: 8fac01c4 */ lw $t4,0x1c4($sp) .L0f0a6714: /* f0a6714: 24010008 */ addiu $at,$zero,0x8 /* f0a6718: 1181000a */ beq $t4,$at,.L0f0a6744 /* f0a671c: 24010009 */ addiu $at,$zero,0x9 /* f0a6720: 11810008 */ beq $t4,$at,.L0f0a6744 /* f0a6724: 24010018 */ addiu $at,$zero,0x18 /* f0a6728: 1581000f */ bne $t4,$at,.L0f0a6768 /* f0a672c: 02002025 */ or $a0,$s0,$zero /* f0a6730: 8fa50308 */ lw $a1,0x308($sp) /* f0a6734: 0fc2915c */ jal bgun0f0a4570 /* f0a6738: 8fa601d0 */ lw $a2,0x1d0($sp) /* f0a673c: 1000000b */ b .L0f0a676c /* f0a6740: 820f0004 */ lb $t7,0x4($s0) .L0f0a6744: /* f0a6744: 8e090690 */ lw $t1,0x690($s0) /* f0a6748: 02002025 */ or $a0,$s0,$zero /* f0a674c: 8fa50308 */ lw $a1,0x308($sp) /* f0a6750: 000950c0 */ sll $t2,$t1,0x3 /* f0a6754: 000a5f42 */ srl $t3,$t2,0x1d /* f0a6758: 19600003 */ blez $t3,.L0f0a6768 /* f0a675c: 8fa60280 */ lw $a2,0x280($sp) /* f0a6760: 0fc2910e */ jal bgun0f0a4438 /* f0a6764: 8fa70304 */ lw $a3,0x304($sp) .L0f0a6768: /* f0a6768: 820f0004 */ lb $t7,0x4($s0) .L0f0a676c: /* f0a676c: 11e0000c */ beqz $t7,.L0f0a67a0 /* f0a6770: 3c18800a */ lui $t8,%hi(g_Vars+0x34) /* f0a6774: 8f189ff4 */ lw $t8,%lo(g_Vars+0x34)($t8) /* f0a6778: 02002025 */ or $a0,$s0,$zero /* f0a677c: 8fa50308 */ lw $a1,0x308($sp) /* f0a6780: 13000007 */ beqz $t8,.L0f0a67a0 /* f0a6784: 8fa601d0 */ lw $a2,0x1d0($sp) /* f0a6788: 8fae0280 */ lw $t6,0x280($sp) /* f0a678c: 8fb90304 */ lw $t9,0x304($sp) /* f0a6790: 8fa701c4 */ lw $a3,0x1c4($sp) /* f0a6794: afae0010 */ sw $t6,0x10($sp) /* f0a6798: 0fc294c0 */ jal bgun0f0a5300 /* f0a679c: afb90014 */ sw $t9,0x14($sp) .L0f0a67a0: /* f0a67a0: 3c0d800a */ lui $t5,%hi(g_Vars+0x6c) /* f0a67a4: 8dada02c */ lw $t5,%lo(g_Vars+0x6c)($t5) /* f0a67a8: 3c0c800a */ lui $t4,%hi(g_Vars+0x68) /* f0a67ac: 3c09800a */ lui $t1,%hi(g_Vars+0x64) /* f0a67b0: 11a00003 */ beqz $t5,.L0f0a67c0 /* f0a67b4: 3c0a800a */ lui $t2,%hi(g_Vars+0x70) /* f0a67b8: 10000002 */ b .L0f0a67c4 /* f0a67bc: 24050001 */ addiu $a1,$zero,0x1 .L0f0a67c0: /* f0a67c0: 00002825 */ or $a1,$zero,$zero .L0f0a67c4: /* f0a67c4: 8d8ca028 */ lw $t4,%lo(g_Vars+0x68)($t4) /* f0a67c8: 24010001 */ addiu $at,$zero,0x1 /* f0a67cc: 00002025 */ or $a0,$zero,$zero /* f0a67d0: 11800003 */ beqz $t4,.L0f0a67e0 /* f0a67d4: 00000000 */ nop /* f0a67d8: 10000001 */ b .L0f0a67e0 /* f0a67dc: 24040001 */ addiu $a0,$zero,0x1 .L0f0a67e0: /* f0a67e0: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1) /* f0a67e4: 00001825 */ or $v1,$zero,$zero /* f0a67e8: 11200003 */ beqz $t1,.L0f0a67f8 /* f0a67ec: 00000000 */ nop /* f0a67f0: 10000001 */ b .L0f0a67f8 /* f0a67f4: 24030001 */ addiu $v1,$zero,0x1 .L0f0a67f8: /* f0a67f8: 8d4aa030 */ lw $t2,%lo(g_Vars+0x70)($t2) /* f0a67fc: 00001025 */ or $v0,$zero,$zero /* f0a6800: 3c0e8009 */ lui $t6,%hi(g_Is4Mb) /* f0a6804: 11400003 */ beqz $t2,.L0f0a6814 /* f0a6808: 00000000 */ nop /* f0a680c: 10000001 */ b .L0f0a6814 /* f0a6810: 24020001 */ addiu $v0,$zero,0x1 .L0f0a6814: /* f0a6814: 00435821 */ addu $t3,$v0,$v1 /* f0a6818: 01647821 */ addu $t7,$t3,$a0 /* f0a681c: 01e5c021 */ addu $t8,$t7,$a1 /* f0a6820: 5701000e */ bnel $t8,$at,.L0f0a685c /* f0a6824: 960d06d6 */ lhu $t5,0x6d6($s0) /* f0a6828: 91ce0af0 */ lbu $t6,%lo(g_Is4Mb)($t6) /* f0a682c: 24010001 */ addiu $at,$zero,0x1 /* f0a6830: 3c19800a */ lui $t9,%hi(g_Vars+0x34) /* f0a6834: 51c10009 */ beql $t6,$at,.L0f0a685c /* f0a6838: 960d06d6 */ lhu $t5,0x6d6($s0) /* f0a683c: 8f399ff4 */ lw $t9,%lo(g_Vars+0x34)($t9) /* f0a6840: 02002025 */ or $a0,$s0,$zero /* f0a6844: 8fa50308 */ lw $a1,0x308($sp) /* f0a6848: 13200003 */ beqz $t9,.L0f0a6858 /* f0a684c: 8fa601c4 */ lw $a2,0x1c4($sp) /* f0a6850: 0fc28d24 */ jal bgun0f0a3490 /* f0a6854: 8fa701d0 */ lw $a3,0x1d0($sp) .L0f0a6858: /* f0a6858: 960d06d6 */ lhu $t5,0x6d6($s0) .L0f0a685c: /* f0a685c: 02002025 */ or $a0,$s0,$zero /* f0a6860: 8fa50280 */ lw $a1,0x280($sp) /* f0a6864: 000d6302 */ srl $t4,$t5,0xc /* f0a6868: 19800003 */ blez $t4,.L0f0a6878 /* f0a686c: 00000000 */ nop /* f0a6870: 0fc291a9 */ jal bgun0f0a46a4 /* f0a6874: 8fa601b8 */ lw $a2,0x1b8($sp) .L0f0a6878: /* f0a6878: 3c09800a */ lui $t1,%hi(g_Vars+0x6c) /* f0a687c: 8d29a02c */ lw $t1,%lo(g_Vars+0x6c)($t1) /* f0a6880: 3c02800a */ lui $v0,%hi(g_Vars+0x68) /* f0a6884: 3c03800a */ lui $v1,%hi(g_Vars+0x64) /* f0a6888: 3c06800a */ lui $a2,%hi(g_Vars+0x70) /* f0a688c: 8cc6a030 */ lw $a2,%lo(g_Vars+0x70)($a2) /* f0a6890: 8c63a024 */ lw $v1,%lo(g_Vars+0x64)($v1) /* f0a6894: 11200003 */ beqz $t1,.L0f0a68a4 /* f0a6898: 8c42a028 */ lw $v0,%lo(g_Vars+0x68)($v0) /* f0a689c: 10000002 */ b .L0f0a68a8 /* f0a68a0: 24050001 */ addiu $a1,$zero,0x1 .L0f0a68a4: /* f0a68a4: 00002825 */ or $a1,$zero,$zero .L0f0a68a8: /* f0a68a8: 10400003 */ beqz $v0,.L0f0a68b8 /* f0a68ac: 24010001 */ addiu $at,$zero,0x1 /* f0a68b0: 10000002 */ b .L0f0a68bc /* f0a68b4: 24040001 */ addiu $a0,$zero,0x1 .L0f0a68b8: /* f0a68b8: 00002025 */ or $a0,$zero,$zero .L0f0a68bc: /* f0a68bc: 10600003 */ beqz $v1,.L0f0a68cc /* f0a68c0: 00001025 */ or $v0,$zero,$zero /* f0a68c4: 10000002 */ b .L0f0a68d0 /* f0a68c8: 24030001 */ addiu $v1,$zero,0x1 .L0f0a68cc: /* f0a68cc: 00001825 */ or $v1,$zero,$zero .L0f0a68d0: /* f0a68d0: 10c00003 */ beqz $a2,.L0f0a68e0 /* f0a68d4: 3c188009 */ lui $t8,%hi(g_Is4Mb) /* f0a68d8: 10000001 */ b .L0f0a68e0 /* f0a68dc: 24020001 */ addiu $v0,$zero,0x1 .L0f0a68e0: /* f0a68e0: 00435021 */ addu $t2,$v0,$v1 /* f0a68e4: 01445821 */ addu $t3,$t2,$a0 /* f0a68e8: 01657821 */ addu $t7,$t3,$a1 /* f0a68ec: 15e10013 */ bne $t7,$at,.L0f0a693c /* f0a68f0: 00000000 */ nop /* f0a68f4: 93180af0 */ lbu $t8,%lo(g_Is4Mb)($t8) /* f0a68f8: 24010001 */ addiu $at,$zero,0x1 /* f0a68fc: 1301000f */ beq $t8,$at,.L0f0a693c /* f0a6900: 00000000 */ nop /* f0a6904: 820e0007 */ lb $t6,0x7($s0) /* f0a6908: 8fb901c4 */ lw $t9,0x1c4($sp) /* f0a690c: 11c0000b */ beqz $t6,.L0f0a693c /* f0a6910: 2b210002 */ slti $at,$t9,0x2 /* f0a6914: 14200009 */ bnez $at,.L0f0a693c /* f0a6918: 2b210005 */ slti $at,$t9,0x5 /* f0a691c: 10200007 */ beqz $at,.L0f0a693c /* f0a6920: 02002025 */ or $a0,$s0,$zero /* f0a6924: 8fa50280 */ lw $a1,0x280($sp) /* f0a6928: 8fa60308 */ lw $a2,0x308($sp) /* f0a692c: 0fc28ded */ jal bgun0f0a37b4 /* f0a6930: 8fa70304 */ lw $a3,0x304($sp) /* f0a6934: 10000004 */ b .L0f0a6948 /* f0a6938: ae000684 */ sw $zero,0x684($s0) .L0f0a693c: /* f0a693c: 0fc2c0f6 */ jal lasersightFree /* f0a6940: 8fa40308 */ lw $a0,0x308($sp) /* f0a6944: ae000684 */ sw $zero,0x684($s0) .L0f0a6948: /* f0a6948: 8fbf003c */ lw $ra,0x3c($sp) /* f0a694c: 8fb00038 */ lw $s0,0x38($sp) /* f0a6950: 27bd0308 */ addiu $sp,$sp,0x308 /* f0a6954: 03e00008 */ jr $ra /* f0a6958: 00000000 */ nop ); #endif void bgunTickMaulerCharge(void) { struct player *player = g_Vars.currentplayer; s32 i; for (i = 0; i < 2; i++) { struct hand *hand = &player->hands[i]; u32 charging = false; if (hand->inuse) { if (bgunIsReloading(hand)) { // Reloading - reset charge amount hand->matmot1 = 0; } else if (hand->gset.weaponfunc == FUNC_SECONDARY) { // Charging or fully charged s32 oldvalue = hand->matmot1; s32 newvalue; if (hand->loadedammo[0] >= 2 && hand->matmot1 < 5) { charging = true; hand->matmot1 += g_Vars.lvupdate240freal * 0.05f; } if (hand->matmot1 > 5) { hand->matmot1 = 5; } newvalue = hand->matmot1; if (oldvalue != newvalue && hand->loadedammo[0] >= 2) { hand->loadedammo[0]--; } } else { // Using primary function - make the charge wear off slowly hand->matmot1 -= g_Vars.lvupdate240freal * 0.005f; if (hand->matmot1 < 0) { hand->matmot1 = 0; } } /** * Probable @bug: In other places where audio is started and then * its speed is adjusted, the game raises the priority of the main * thread (this thread) to above the audio thread's priority so that * the audio thread cannot execute and start playing the audio * between the calls to sndStart and func00033e50. But this pattern * is not done here. * * There is a known issue where the Mauler charge sound is played * correctly then the game proceeds to play other unrelated sound * effects before eventually crashing. It's suspected that this lack * of thread priority adjusting is the root cause. Perhaps a race * condition exists where the audio thread does something with the * sound while this thread is in the middle of reconfiguring it. * This is not yet confirmed. */ if (hand->audiohandle == NULL && hand->matmot1 > 0.1f && charging && g_Vars.lvupdate240 != 0) { sndStart(var80095200, SFX_MAULER_CHARGE, &hand->audiohandle, -1, -1, -1, -1, -1); } if (hand->audiohandle) { f32 speed = 0.5f + hand->matmot1 / 3.0f + sinf(var80061630 * M_PI * 32.0f) * 0.03f; if (hand->matmot1 < 0.1f || !charging) { audioStop(hand->audiohandle); } else { func00033e50(hand->audiohandle, 16, *(s32 *)&speed); } } } } } void bgun0f0a6c30(void) { struct player *player = g_Vars.currentplayer; struct hand *hand; u32 stack[3]; s32 i; #if VERSION >= VERSION_NTSC_1_0 if (g_Vars.currentplayernum == 0) { projectilesDebug(); } #endif if (player->gunctrl.unk1583_06) { // empty } else { bgun0f09ea90(); } // Return control to Jo if eyespy has been deselected if ((g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_EYESPY) == 0 && player->eyespy) { player->eyespy->active = false; } if ((g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_XRAYSCANNER) && (bgunGetWeaponNum(HAND_RIGHT) != WEAPON_FARSIGHT || player->gunsightoff)) { // Using normal xray scanner (not Farsight zoom) if (player->visionmode != VISIONMODE_XRAY) { player->erasertime = 0; } else { player->erasertime += g_Vars.lvupdate240; } player->visionmode = VISIONMODE_XRAY; player->ecol_1 = 24; player->ecol_2 = 8; player->ecol_3 = 24; player->epcol_0 = 2; player->epcol_1 = 0; player->epcol_2 = 1; } else { if (player->gunsightoff == 0) { if (player->hands[HAND_RIGHT].gset.weaponnum == WEAPON_FARSIGHT) { // Aiming with the Farsight if (player->visionmode != VISIONMODE_XRAY) { player->erasertime = 0; } else { player->erasertime += g_Vars.lvupdate240; } player->visionmode = VISIONMODE_XRAY; player->ecol_1 = 16; player->ecol_2 = 24; player->ecol_3 = 8; player->epcol_0 = 0; player->epcol_1 = 1; player->epcol_2 = 2; } else { // Aiming with non-Farsight if (player->visionmode != VISIONMODE_SLAYERROCKET) { player->visionmode = VISIONMODE_NORMAL; } } } else { // Not aiming if (player->visionmode != VISIONMODE_SLAYERROCKET) { player->visionmode = VISIONMODE_NORMAL; } } } if (player->gunctrl.weaponnum == WEAPON_MAULER) { bgunTickMaulerCharge(); } if (g_Vars.lvupdate240 == 0) { for (i = 0; i < 2; i++) { hand = &player->hands[i]; if (hand->audiohandle) { audioStop(hand->audiohandle); } } } if (g_Vars.currentplayer->devicesactive & ~g_Vars.currentplayer->devicesinhibit & DEVICE_CLOAKRCP120) { if (player->gunctrl.weaponnum == WEAPON_RCP120) { struct chrdata *chr = player->prop->chr; // Handle RCP120 cloak ammo usage if ((chr->hidden & CHRHFLAG_CLOAKED) && chr->cloakfadefinished == true) { hand = &player->hands[HAND_RIGHT]; #if VERSION >= VERSION_PAL_FINAL hand->matmot1 += g_Vars.lvupdate240freal * 0.4f; #else hand->matmot1 += g_Vars.lvupdate240f * 0.4f; #endif if (hand->matmot1 > 1.0f) { s32 usedqty = hand->matmot1; if (usedqty > hand->loadedammo[0]) { usedqty = hand->loadedammo[0]; } hand->matmot1 -= usedqty; hand->loadedammo[0] -= usedqty; // If out of ammo, turn off cloak if (hand->loadedammo[0] == 0 && hand->state != HANDSTATE_RELOAD) { s32 stilltogo = hand->matmot1; if (stilltogo > player->ammoheldarr[player->gunctrl.ammotypes[0]]) { g_Vars.currentplayer->devicesactive &= ~DEVICE_CLOAKRCP120; } } } } } else { // No longer using RCP120, so turn off cloak player->devicesactive &= ~DEVICE_CLOAKRCP120; } } else if (player->gunctrl.weaponnum == WEAPON_RCP120) { hand = &player->hands[HAND_RIGHT]; // I think this is handling situations where the player has turned off // RCP120 cloak but there's still a bit of ammo to be subtracted on // this tick. if (hand->matmot1 > 1.0f) { s32 usedqty = hand->matmot1; if (usedqty > hand->loadedammo[0]) { usedqty = hand->loadedammo[0]; } hand->matmot1 -= usedqty; hand->loadedammo[0] -= usedqty; if (hand->matmot1 > 1.0f) { s32 usedqty = hand->matmot1; if (usedqty > player->ammoheldarr[player->gunctrl.ammotypes[0]]) { usedqty = player->ammoheldarr[player->gunctrl.ammotypes[0]]; } player->ammoheldarr[player->gunctrl.ammotypes[0]] -= usedqty; hand->matmot1 = 0; } } } bgunTickUnequippedReload(); bgun0f0a5550(HAND_RIGHT); if (player->hands[HAND_LEFT].inuse) { bgun0f0a5550(HAND_LEFT); } else { player->hands[HAND_LEFT].unk0d0e_00 = 0; } bgunIsUsingSecondaryFunction(); } #if VERSION >= VERSION_NTSC_1_0 s8 bgunFreeFireslotWrapper(s32 fireslot_id) { return bgunFreeFireslot(fireslot_id); } #else GLOBAL_ASM( glabel bgunFreeFireslotWrapper /* f0a4d84: 27bdffe0 */ addiu $sp,$sp,-32 /* f0a4d88: afbf0014 */ sw $ra,0x14($sp) /* f0a4d8c: 0480001b */ bltz $a0,.NB0f0a4dfc /* f0a4d90: afa40020 */ sw $a0,0x20($sp) /* f0a4d94: 000478c0 */ sll $t7,$a0,0x3 /* f0a4d98: 01e47823 */ subu $t7,$t7,$a0 /* f0a4d9c: 3c18800a */ lui $t8,0x800a /* f0a4da0: 27181888 */ addiu $t8,$t8,0x1888 /* f0a4da4: 000f78c0 */ sll $t7,$t7,0x3 /* f0a4da8: 01f81821 */ addu $v1,$t7,$t8 /* f0a4dac: 8c640004 */ lw $a0,0x4($v1) /* f0a4db0: 5080000a */ beqzl $a0,.NB0f0a4ddc /* f0a4db4: 8c640008 */ lw $a0,0x8($v1) /* f0a4db8: 0c00d360 */ jal audioIsPlaying /* f0a4dbc: afa3001c */ sw $v1,0x1c($sp) /* f0a4dc0: 10400005 */ beqz $v0,.NB0f0a4dd8 /* f0a4dc4: 8fa3001c */ lw $v1,0x1c($sp) /* f0a4dc8: 8c640004 */ lw $a0,0x4($v1) /* f0a4dcc: 0c00d428 */ jal audioStop /* f0a4dd0: afa3001c */ sw $v1,0x1c($sp) /* f0a4dd4: 8fa3001c */ lw $v1,0x1c($sp) .NB0f0a4dd8: /* f0a4dd8: 8c640008 */ lw $a0,0x8($v1) .NB0f0a4ddc: /* f0a4ddc: 10800007 */ beqz $a0,.NB0f0a4dfc /* f0a4de0: 00000000 */ sll $zero,$zero,0x0 /* f0a4de4: 0c00d360 */ jal audioIsPlaying /* f0a4de8: afa3001c */ sw $v1,0x1c($sp) /* f0a4dec: 10400003 */ beqz $v0,.NB0f0a4dfc /* f0a4df0: 8fa3001c */ lw $v1,0x1c($sp) /* f0a4df4: 0c00d428 */ jal audioStop /* f0a4df8: 8c640008 */ lw $a0,0x8($v1) .NB0f0a4dfc: /* f0a4dfc: 0fc29385 */ jal bgunFreeFireslot /* f0a4e00: 8fa40020 */ lw $a0,0x20($sp) /* f0a4e04: 8fbf0014 */ lw $ra,0x14($sp) /* f0a4e08: 27bd0020 */ addiu $sp,$sp,0x20 /* f0a4e0c: 03e00008 */ jr $ra /* f0a4e10: 00000000 */ sll $zero,$zero,0x0 ); #endif s8 bgunFreeFireslot(s32 fireslot_id) { #if VERSION >= VERSION_NTSC_1_0 if (fireslot_id >= 0 && fireslot_id < NUM_FIRESLOTS) { g_Fireslots[fireslot_id].unk00 = -1; } #else if (fireslot_id >= 0) { g_Fireslots[fireslot_id].unk00 = -1; } #endif return -1; } s32 bgun0f0a70f8(void) { s32 index = -1; s32 i; for (i = 0; i < ARRAYCOUNT(g_Fireslots); i++) { if (g_Fireslots[i].unk00 < 0) { g_Fireslots[i].unk00 = 0; #if VERSION < VERSION_NTSC_1_0 g_Fireslots[i].unk04nb = 0; g_Fireslots[i].unk08nb = 0; #endif g_Fireslots[i].beam.age = -1; index = i; break; } } return index; } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a7138 .late_rodata glabel var7f1aca8c .word 0x3faaaaab glabel var7f1aca90 .word 0x3f3ebebf .text /* f0a7138: 27bdfeb0 */ addiu $sp,$sp,-336 /* f0a713c: afbf0034 */ sw $ra,0x34($sp) /* f0a7140: afb50030 */ sw $s5,0x30($sp) /* f0a7144: afb4002c */ sw $s4,0x2c($sp) /* f0a7148: afb30028 */ sw $s3,0x28($sp) /* f0a714c: afb20024 */ sw $s2,0x24($sp) /* f0a7150: afb10020 */ sw $s1,0x20($sp) /* f0a7154: afb0001c */ sw $s0,0x1c($sp) /* f0a7158: afa40150 */ sw $a0,0x150($sp) /* f0a715c: 8c8f0000 */ lw $t7,0x0($a0) /* f0a7160: 3c198007 */ lui $t9,%hi(var8007029c) /* f0a7164: 3c11800a */ lui $s1,%hi(g_Vars) /* f0a7168: 2739029c */ addiu $t9,$t9,%lo(var8007029c) /* f0a716c: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) /* f0a7170: 272a003c */ addiu $t2,$t9,0x3c /* f0a7174: 27b8010c */ addiu $t8,$sp,0x10c /* f0a7178: afaf014c */ sw $t7,0x14c($sp) .L0f0a717c: /* f0a717c: 8f210000 */ lw $at,0x0($t9) /* f0a7180: 2739000c */ addiu $t9,$t9,0xc /* f0a7184: 2718000c */ addiu $t8,$t8,0xc /* f0a7188: af01fff4 */ sw $at,-0xc($t8) /* f0a718c: 8f21fff8 */ lw $at,-0x8($t9) /* f0a7190: af01fff8 */ sw $at,-0x8($t8) /* f0a7194: 8f21fffc */ lw $at,-0x4($t9) /* f0a7198: 172afff8 */ bne $t9,$t2,.L0f0a717c /* f0a719c: af01fffc */ sw $at,-0x4($t8) /* f0a71a0: 8f210000 */ lw $at,0x0($t9) /* f0a71a4: af010000 */ sw $at,0x0($t8) /* f0a71a8: 8e330284 */ lw $s3,0x284($s1) /* f0a71ac: 24010001 */ addiu $at,$zero,0x1 /* f0a71b0: 966b0010 */ lhu $t3,0x10($s3) /* f0a71b4: 1561000d */ bne $t3,$at,.L0f0a71ec /* f0a71b8: 00001025 */ or $v0,$zero,$zero /* f0a71bc: 24040f48 */ addiu $a0,$zero,0xf48 /* f0a71c0: 8e2c0284 */ lw $t4,0x284($s1) .L0f0a71c4: /* f0a71c4: 01821821 */ addu $v1,$t4,$v0 /* f0a71c8: 8c6d0854 */ lw $t5,0x854($v1) /* f0a71cc: 244207a4 */ addiu $v0,$v0,0x7a4 /* f0a71d0: 11a00002 */ beqz $t5,.L0f0a71dc /* f0a71d4: 00000000 */ nop /* f0a71d8: ac600850 */ sw $zero,0x850($v1) .L0f0a71dc: /* f0a71dc: 5444fff9 */ bnel $v0,$a0,.L0f0a71c4 /* f0a71e0: 8e2c0284 */ lw $t4,0x284($s1) /* f0a71e4: 100002d5 */ b .L0f0a7d3c /* f0a71e8: 8fbf0034 */ lw $ra,0x34($sp) .L0f0a71ec: /* f0a71ec: 0fc5d9ad */ jal func0f1766b4 /* f0a71f0: 8fa4014c */ lw $a0,0x14c($sp) /* f0a71f4: afa2014c */ sw $v0,0x14c($sp) /* f0a71f8: 0c002ca0 */ jal func0000b280 /* f0a71fc: 00402025 */ or $a0,$v0,$zero /* f0a7200: afa2014c */ sw $v0,0x14c($sp) /* f0a7204: 0c002c74 */ jal func0000b1d0 /* f0a7208: 00402025 */ or $a0,$v0,$zero /* f0a720c: 244e0008 */ addiu $t6,$v0,0x8 /* f0a7210: afae014c */ sw $t6,0x14c($sp) /* f0a7214: 0c002f40 */ jal viGetViewLeft /* f0a7218: 0040a825 */ or $s5,$v0,$zero /* f0a721c: 00028400 */ sll $s0,$v0,0x10 /* f0a7220: 00107c03 */ sra $t7,$s0,0x10 /* f0a7224: 0c002f44 */ jal viGetViewTop /* f0a7228: 01e08025 */ or $s0,$t7,$zero /* f0a722c: 44822000 */ mtc1 $v0,$f4 /* f0a7230: 44908000 */ mtc1 $s0,$f16 /* f0a7234: 3c014080 */ lui $at,0x4080 /* f0a7238: 468021a0 */ cvt.s.w $f6,$f4 /* f0a723c: 44810000 */ mtc1 $at,$f0 /* f0a7240: 3c01ed00 */ lui $at,0xed00 /* f0a7244: 468084a0 */ cvt.s.w $f18,$f16 /* f0a7248: 46003202 */ mul.s $f8,$f6,$f0 /* f0a724c: 00000000 */ nop /* f0a7250: 46009102 */ mul.s $f4,$f18,$f0 /* f0a7254: 4600428d */ trunc.w.s $f10,$f8 /* f0a7258: 4600218d */ trunc.w.s $f6,$f4 /* f0a725c: 44085000 */ mfc1 $t0,$f10 /* f0a7260: 440b3000 */ mfc1 $t3,$f6 /* f0a7264: 310a0fff */ andi $t2,$t0,0xfff /* f0a7268: 0141c825 */ or $t9,$t2,$at /* f0a726c: 316c0fff */ andi $t4,$t3,0xfff /* f0a7270: 000c6b00 */ sll $t5,$t4,0xc /* f0a7274: 032d7025 */ or $t6,$t9,$t5 /* f0a7278: 0c002f22 */ jal viGetViewWidth /* f0a727c: aeae0000 */ sw $t6,0x0($s5) /* f0a7280: 00029400 */ sll $s2,$v0,0x10 /* f0a7284: 00127c03 */ sra $t7,$s2,0x10 /* f0a7288: 0c002f40 */ jal viGetViewLeft /* f0a728c: 01e09025 */ or $s2,$t7,$zero /* f0a7290: 0002a400 */ sll $s4,$v0,0x10 /* f0a7294: 00144c03 */ sra $t1,$s4,0x10 /* f0a7298: 0c002f44 */ jal viGetViewTop /* f0a729c: 0120a025 */ or $s4,$t1,$zero /* f0a72a0: 00028400 */ sll $s0,$v0,0x10 /* f0a72a4: 00104403 */ sra $t0,$s0,0x10 /* f0a72a8: 0c002f26 */ jal viGetViewHeight /* f0a72ac: 01008025 */ or $s0,$t0,$zero /* f0a72b0: 00505021 */ addu $t2,$v0,$s0 /* f0a72b4: 448a4000 */ mtc1 $t2,$f8 /* f0a72b8: 0292c821 */ addu $t9,$s4,$s2 /* f0a72bc: 44992000 */ mtc1 $t9,$f4 /* f0a72c0: 468042a0 */ cvt.s.w $f10,$f8 /* f0a72c4: 3c014080 */ lui $at,0x4080 /* f0a72c8: 44810000 */ mtc1 $at,$f0 /* f0a72cc: 3c053fc0 */ lui $a1,0x3fc0 /* f0a72d0: 3c06447a */ lui $a2,0x447a /* f0a72d4: 468021a0 */ cvt.s.w $f6,$f4 /* f0a72d8: 46005402 */ mul.s $f16,$f10,$f0 /* f0a72dc: 00000000 */ nop /* f0a72e0: 46003202 */ mul.s $f8,$f6,$f0 /* f0a72e4: 4600848d */ trunc.w.s $f18,$f16 /* f0a72e8: 4600428d */ trunc.w.s $f10,$f8 /* f0a72ec: 440b9000 */ mfc1 $t3,$f18 /* f0a72f0: 440e5000 */ mfc1 $t6,$f10 /* f0a72f4: 316c0fff */ andi $t4,$t3,0xfff /* f0a72f8: 31cf0fff */ andi $t7,$t6,0xfff /* f0a72fc: 000f4b00 */ sll $t1,$t7,0xc /* f0a7300: 01894025 */ or $t0,$t4,$t1 /* f0a7304: aea80004 */ sw $t0,0x4($s5) /* f0a7308: 0c002b29 */ jal func0000aca4 /* f0a730c: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7310: 8e2a0284 */ lw $t2,0x284($s1) /* f0a7314: afa2014c */ sw $v0,0x14c($sp) /* f0a7318: 91581bfc */ lbu $t8,0x1bfc($t2) /* f0a731c: 53000016 */ beqzl $t8,.L0f0a7378 /* f0a7320: 8e2b006c */ lw $t3,0x6c($s1) /* f0a7324: 0fc54bc7 */ jal optionsGetScreenRatio /* f0a7328: 00000000 */ nop /* f0a732c: 24010001 */ addiu $at,$zero,0x1 /* f0a7330: 14410008 */ bne $v0,$at,.L0f0a7354 /* f0a7334: 00000000 */ nop /* f0a7338: 0fc2f4d6 */ jal func0f0bd358 /* f0a733c: 00000000 */ nop /* f0a7340: 3c017f1b */ lui $at,%hi(var7f1aca8c) /* f0a7344: c430ca8c */ lwc1 $f16,%lo(var7f1aca8c)($at) /* f0a7348: 46100082 */ mul.s $f2,$f0,$f16 /* f0a734c: 10000005 */ b .L0f0a7364 /* f0a7350: 44061000 */ mfc1 $a2,$f2 .L0f0a7354: /* f0a7354: 0fc2f4d6 */ jal func0f0bd358 /* f0a7358: 00000000 */ nop /* f0a735c: 46000086 */ mov.s $f2,$f0 /* f0a7360: 44061000 */ mfc1 $a2,$f2 .L0f0a7364: /* f0a7364: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7368: 0c002c3a */ jal func0000b0e8 /* f0a736c: 3c054270 */ lui $a1,0x4270 /* f0a7370: afa2014c */ sw $v0,0x14c($sp) /* f0a7374: 8e2b006c */ lw $t3,0x6c($s1) .L0f0a7378: /* f0a7378: 24010001 */ addiu $at,$zero,0x1 /* f0a737c: 51600004 */ beqzl $t3,.L0f0a7390 /* f0a7380: 00002825 */ or $a1,$zero,$zero /* f0a7384: 10000002 */ b .L0f0a7390 /* f0a7388: 24050001 */ addiu $a1,$zero,0x1 /* f0a738c: 00002825 */ or $a1,$zero,$zero .L0f0a7390: /* f0a7390: 8e390068 */ lw $t9,0x68($s1) /* f0a7394: 53200004 */ beqzl $t9,.L0f0a73a8 /* f0a7398: 00002025 */ or $a0,$zero,$zero /* f0a739c: 10000002 */ b .L0f0a73a8 /* f0a73a0: 24040001 */ addiu $a0,$zero,0x1 /* f0a73a4: 00002025 */ or $a0,$zero,$zero .L0f0a73a8: /* f0a73a8: 8e2d0064 */ lw $t5,0x64($s1) /* f0a73ac: 51a00004 */ beqzl $t5,.L0f0a73c0 /* f0a73b0: 00001025 */ or $v0,$zero,$zero /* f0a73b4: 10000002 */ b .L0f0a73c0 /* f0a73b8: 24020001 */ addiu $v0,$zero,0x1 /* f0a73bc: 00001025 */ or $v0,$zero,$zero .L0f0a73c0: /* f0a73c0: 8e2e0070 */ lw $t6,0x70($s1) /* f0a73c4: 51c00004 */ beqzl $t6,.L0f0a73d8 /* f0a73c8: 00001825 */ or $v1,$zero,$zero /* f0a73cc: 10000002 */ b .L0f0a73d8 /* f0a73d0: 24030001 */ addiu $v1,$zero,0x1 /* f0a73d4: 00001825 */ or $v1,$zero,$zero .L0f0a73d8: /* f0a73d8: 00627821 */ addu $t7,$v1,$v0 /* f0a73dc: 01e46021 */ addu $t4,$t7,$a0 /* f0a73e0: 01854821 */ addu $t1,$t4,$a1 /* f0a73e4: 15210008 */ bne $t1,$at,.L0f0a7408 /* f0a73e8: 3c088009 */ lui $t0,%hi(g_Is4Mb) /* f0a73ec: 91080af0 */ lbu $t0,%lo(g_Is4Mb)($t0) /* f0a73f0: 24010001 */ addiu $at,$zero,0x1 /* f0a73f4: 51010005 */ beql $t0,$at,.L0f0a740c /* f0a73f8: 0000a025 */ or $s4,$zero,$zero /* f0a73fc: 0fc2be93 */ jal lasersightRenderBeam /* f0a7400: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7404: afa2014c */ sw $v0,0x14c($sp) .L0f0a7408: /* f0a7408: 0000a025 */ or $s4,$zero,$zero .L0f0a740c: /* f0a740c: 26700638 */ addiu $s0,$s3,0x638 /* f0a7410: 8fb500e4 */ lw $s5,0xe4($sp) /* f0a7414: 24120019 */ addiu $s2,$zero,0x1e .L0f0a7418: /* f0a7418: 0fc2867c */ jal bgunGetWeaponNum2 /* f0a741c: 02802025 */ or $a0,$s4,$zero /* f0a7420: afa200ec */ sw $v0,0xec($sp) /* f0a7424: 820a0007 */ lb $t2,0x7($s0) /* f0a7428: 8fa4014c */ lw $a0,0x14c($sp) /* f0a742c: 260501dc */ addiu $a1,$s0,0x1dc /* f0a7430: 114001f2 */ beqz $t2,.L0f0a7bfc /* f0a7434: 00003025 */ or $a2,$zero,$zero /* f0a7438: 26180384 */ addiu $t8,$s0,0x384 /* f0a743c: afb8003c */ sw $t8,0x3c($sp) /* f0a7440: 0fc2b2e4 */ jal func0f0acb90 /* f0a7444: 00003825 */ or $a3,$zero,$zero /* f0a7448: afa2014c */ sw $v0,0x14c($sp) /* f0a744c: 92040000 */ lbu $a0,0x0($s0) /* f0a7450: 0fc2c5f0 */ jal weaponHasFlag /* f0a7454: 34058000 */ dli $a1,0x8000 /* f0a7458: 10400030 */ beqz $v0,.L0f0a751c /* f0a745c: 8fab014c */ lw $t3,0x14c($sp) /* f0a7460: 25790008 */ addiu $t9,$t3,0x8 /* f0a7464: afb9014c */ sw $t9,0x14c($sp) /* f0a7468: 3c0dbc00 */ lui $t5,0xbc00 /* f0a746c: 3c0e8000 */ lui $t6,0x8000 /* f0a7470: 35ce0040 */ ori $t6,$t6,0x40 /* f0a7474: 35ad0002 */ ori $t5,$t5,0x2 /* f0a7478: ad6d0000 */ sw $t5,0x0($t3) /* f0a747c: ad6e0004 */ sw $t6,0x4($t3) /* f0a7480: 8faf014c */ lw $t7,0x14c($sp) /* f0a7484: 3c090386 */ lui $t1,0x386 /* f0a7488: 3c088007 */ lui $t0,%hi(var80070098) /* f0a748c: 25ec0008 */ addiu $t4,$t7,0x8 /* f0a7490: afac014c */ sw $t4,0x14c($sp) /* f0a7494: 25080098 */ addiu $t0,$t0,%lo(var80070098) /* f0a7498: 35290010 */ ori $t1,$t1,0x10 /* f0a749c: ade90000 */ sw $t1,0x0($t7) /* f0a74a0: ade80004 */ sw $t0,0x4($t7) /* f0a74a4: 8faa014c */ lw $t2,0x14c($sp) /* f0a74a8: 3c0b0388 */ lui $t3,0x388 /* f0a74ac: 3c198007 */ lui $t9,%hi(var80070090) /* f0a74b0: 25580008 */ addiu $t8,$t2,0x8 /* f0a74b4: afb8014c */ sw $t8,0x14c($sp) /* f0a74b8: 27390090 */ addiu $t9,$t9,%lo(var80070090) /* f0a74bc: 356b0010 */ ori $t3,$t3,0x10 /* f0a74c0: ad4b0000 */ sw $t3,0x0($t2) /* f0a74c4: ad590004 */ sw $t9,0x4($t2) /* f0a74c8: 8fad014c */ lw $t5,0x14c($sp) /* f0a74cc: 3c0f0384 */ lui $t7,0x384 /* f0a74d0: 35ef0010 */ ori $t7,$t7,0x10 /* f0a74d4: 25ae0008 */ addiu $t6,$t5,0x8 /* f0a74d8: afae014c */ sw $t6,0x14c($sp) /* f0a74dc: adaf0000 */ sw $t7,0x0($t5) /* f0a74e0: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f0a74e4: afad00d4 */ sw $t5,0xd4($sp) /* f0a74e8: 8fa500d4 */ lw $a1,0xd4($sp) /* f0a74ec: 3c080382 */ lui $t0,0x382 /* f0a74f0: 35080010 */ ori $t0,$t0,0x10 /* f0a74f4: aca20004 */ sw $v0,0x4($a1) /* f0a74f8: 8fac014c */ lw $t4,0x14c($sp) /* f0a74fc: 25890008 */ addiu $t1,$t4,0x8 /* f0a7500: afa9014c */ sw $t1,0x14c($sp) /* f0a7504: ad880000 */ sw $t0,0x0($t4) /* f0a7508: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f0a750c: afac00d0 */ sw $t4,0xd0($sp) /* f0a7510: 8fa300d0 */ lw $v1,0xd0($sp) /* f0a7514: 244a0010 */ addiu $t2,$v0,0x10 /* f0a7518: ac6a0004 */ sw $t2,0x4($v1) .L0f0a751c: /* f0a751c: 8fb8014c */ lw $t8,0x14c($sp) /* f0a7520: 3c19bc00 */ lui $t9,0xbc00 /* f0a7524: 3739000e */ ori $t9,$t9,0xe /* f0a7528: 270b0008 */ addiu $t3,$t8,0x8 /* f0a752c: afab014c */ sw $t3,0x14c($sp) /* f0a7530: 3c014396 */ lui $at,0x4396 /* f0a7534: 44817000 */ mtc1 $at,$f14 /* f0a7538: 44806000 */ mtc1 $zero,$f12 /* f0a753c: af190000 */ sw $t9,0x0($t8) /* f0a7540: 0c005b73 */ jal func00016dcc /* f0a7544: afb800cc */ sw $t8,0xcc($sp) /* f0a7548: 8fa300cc */ lw $v1,0xcc($sp) /* f0a754c: 24050010 */ addiu $a1,$zero,0x10 /* f0a7550: ac620004 */ sw $v0,0x4($v1) /* f0a7554: 0c006a47 */ jal modelGetPart /* f0a7558: 8e04038c */ lw $a0,0x38c($s0) /* f0a755c: 10400014 */ beqz $v0,.L0f0a75b0 /* f0a7560: afa200e8 */ sw $v0,0xe8($sp) /* f0a7564: 8e04038c */ lw $a0,0x38c($s0) /* f0a7568: 0c006a47 */ jal modelGetPart /* f0a756c: 24050011 */ addiu $a1,$zero,0x11 /* f0a7570: 8fa4003c */ lw $a0,0x3c($sp) /* f0a7574: 0c006a87 */ jal modelGetNodeRwData /* f0a7578: 00402825 */ or $a1,$v0,$zero /* f0a757c: 10400003 */ beqz $v0,.L0f0a758c /* f0a7580: 3c06800a */ lui $a2,%hi(var8009cf88) /* f0a7584: 240d0001 */ addiu $t5,$zero,0x1 /* f0a7588: ac4d0000 */ sw $t5,0x0($v0) .L0f0a758c: /* f0a758c: 240e0001 */ addiu $t6,$zero,0x1 /* f0a7590: afae0014 */ sw $t6,0x14($sp) /* f0a7594: 8fa4003c */ lw $a0,0x3c($sp) /* f0a7598: 8fa500e8 */ lw $a1,0xe8($sp) /* f0a759c: 24c6cf88 */ addiu $a2,$a2,%lo(var8009cf88) /* f0a75a0: 8fa7014c */ lw $a3,0x14c($sp) /* f0a75a4: 0fc1fefe */ jal tvscreenRender /* f0a75a8: afa00010 */ sw $zero,0x10($sp) /* f0a75ac: afa2014c */ sw $v0,0x14c($sp) .L0f0a75b0: /* f0a75b0: 8faf014c */ lw $t7,0x14c($sp) /* f0a75b4: 8e250284 */ lw $a1,0x284($s1) /* f0a75b8: 240c0004 */ addiu $t4,$zero,0x4 /* f0a75bc: afac013c */ sw $t4,0x13c($sp) /* f0a75c0: afaf0118 */ sw $t7,0x118($sp) /* f0a75c4: 8ca300d8 */ lw $v1,0xd8($a1) /* f0a75c8: 3c078007 */ lui $a3,%hi(g_InCutscene) /* f0a75cc: 14600013 */ bnez $v1,.L0f0a761c /* f0a75d0: 00000000 */ nop /* f0a75d4: 8ce70764 */ lw $a3,%lo(g_InCutscene)($a3) /* f0a75d8: 14e00010 */ bnez $a3,.L0f0a761c /* f0a75dc: 00000000 */ nop /* f0a75e0: 8ca20480 */ lw $v0,0x480($a1) /* f0a75e4: 50400007 */ beqzl $v0,.L0f0a7604 /* f0a75e8: 8caa1c54 */ lw $t2,0x1c54($a1) /* f0a75ec: 1040000b */ beqz $v0,.L0f0a761c /* f0a75f0: 00000000 */ nop /* f0a75f4: 80490037 */ lb $t1,0x37($v0) /* f0a75f8: 15200008 */ bnez $t1,.L0f0a761c /* f0a75fc: 00000000 */ nop /* f0a7600: 8caa1c54 */ lw $t2,0x1c54($a1) .L0f0a7604: /* f0a7604: 8ca800c4 */ lw $t0,0xc4($a1) /* f0a7608: 0140c027 */ nor $t8,$t2,$zero /* f0a760c: 01185824 */ and $t3,$t0,$t8 /* f0a7610: 31790001 */ andi $t9,$t3,0x1 /* f0a7614: 57200016 */ bnezl $t9,.L0f0a7670 /* f0a7618: 92681615 */ lbu $t0,0x1615($s3) .L0f0a761c: /* f0a761c: 14600078 */ bnez $v1,.L0f0a7800 /* f0a7620: 3c078007 */ lui $a3,%hi(g_InCutscene) /* f0a7624: 8ce70764 */ lw $a3,%lo(g_InCutscene)($a3) /* f0a7628: 54e00076 */ bnezl $a3,.L0f0a7804 /* f0a762c: 926d1614 */ lbu $t5,0x1614($s3) /* f0a7630: 8ca20480 */ lw $v0,0x480($a1) /* f0a7634: 50400007 */ beqzl $v0,.L0f0a7654 /* f0a7638: 8caf1c54 */ lw $t7,0x1c54($a1) /* f0a763c: 50400071 */ beqzl $v0,.L0f0a7804 /* f0a7640: 926d1614 */ lbu $t5,0x1614($s3) /* f0a7644: 804d0037 */ lb $t5,0x37($v0) /* f0a7648: 55a0006e */ bnezl $t5,.L0f0a7804 /* f0a764c: 926d1614 */ lbu $t5,0x1614($s3) /* f0a7650: 8caf1c54 */ lw $t7,0x1c54($a1) .L0f0a7654: /* f0a7654: 8cae00c4 */ lw $t6,0xc4($a1) /* f0a7658: 01e06027 */ nor $t4,$t7,$zero /* f0a765c: 01cc4824 */ and $t1,$t6,$t4 /* f0a7660: 312a0008 */ andi $t2,$t1,0x8 /* f0a7664: 51400067 */ beqzl $t2,.L0f0a7804 /* f0a7668: 926d1614 */ lbu $t5,0x1614($s3) /* f0a766c: 92681615 */ lbu $t0,0x1615($s3) .L0f0a7670: /* f0a7670: 92781614 */ lbu $t8,0x1614($s3) /* f0a7674: 26641614 */ addiu $a0,$s3,0x1614 /* f0a7678: 0118082a */ slt $at,$t0,$t8 /* f0a767c: 50200009 */ beqzl $at,.L0f0a76a4 /* f0a7680: 90820002 */ lbu $v0,0x2($a0) /* f0a7684: 90830000 */ lbu $v1,0x0($a0) /* f0a7688: 908b0002 */ lbu $t3,0x2($a0) /* f0a768c: 0163082a */ slt $at,$t3,$v1 /* f0a7690: 50200004 */ beqzl $at,.L0f0a76a4 /* f0a7694: 90820002 */ lbu $v0,0x2($a0) /* f0a7698: 1000000a */ b .L0f0a76c4 /* f0a769c: 00601025 */ or $v0,$v1,$zero /* f0a76a0: 90820002 */ lbu $v0,0x2($a0) .L0f0a76a4: /* f0a76a4: 90860001 */ lbu $a2,0x1($a0) /* f0a76a8: 00401825 */ or $v1,$v0,$zero /* f0a76ac: 0046082a */ slt $at,$v0,$a2 /* f0a76b0: 10200003 */ beqz $at,.L0f0a76c0 /* f0a76b4: 00000000 */ nop /* f0a76b8: 10000001 */ b .L0f0a76c0 /* f0a76bc: 00c01825 */ or $v1,$a2,$zero .L0f0a76c0: /* f0a76c0: 00601025 */ or $v0,$v1,$zero .L0f0a76c4: /* f0a76c4: 90890003 */ lbu $t1,0x3($a0) /* f0a76c8: 0002ce00 */ sll $t9,$v0,0x18 /* f0a76cc: 00026c00 */ sll $t5,$v0,0x10 /* f0a76d0: 032d7825 */ or $t7,$t9,$t5 /* f0a76d4: 00027200 */ sll $t6,$v0,0x8 /* f0a76d8: 01ee6025 */ or $t4,$t7,$t6 /* f0a76dc: 012c5021 */ addu $t2,$t1,$t4 /* f0a76e0: afaa0140 */ sw $t2,0x140($sp) /* f0a76e4: 8ca300d8 */ lw $v1,0xd8($a1) /* f0a76e8: 14600021 */ bnez $v1,.L0f0a7770 /* f0a76ec: 00000000 */ nop /* f0a76f0: 14e0001f */ bnez $a3,.L0f0a7770 /* f0a76f4: 00000000 */ nop /* f0a76f8: 8ca20480 */ lw $v0,0x480($a1) /* f0a76fc: 50400007 */ beqzl $v0,.L0f0a771c /* f0a7700: 8cab1c54 */ lw $t3,0x1c54($a1) /* f0a7704: 1040001a */ beqz $v0,.L0f0a7770 /* f0a7708: 00000000 */ nop /* f0a770c: 80480037 */ lb $t0,0x37($v0) /* f0a7710: 15000017 */ bnez $t0,.L0f0a7770 /* f0a7714: 00000000 */ nop /* f0a7718: 8cab1c54 */ lw $t3,0x1c54($a1) .L0f0a771c: /* f0a771c: 8cb800c4 */ lw $t8,0xc4($a1) /* f0a7720: 3c02800a */ lui $v0,%hi(var8009caec+0x3) /* f0a7724: 0160c827 */ nor $t9,$t3,$zero /* f0a7728: 03196824 */ and $t5,$t8,$t9 /* f0a772c: 31af0001 */ andi $t7,$t5,0x1 /* f0a7730: 11e0000f */ beqz $t7,.L0f0a7770 /* f0a7734: 00000000 */ nop /* f0a7738: 9042caef */ lbu $v0,%lo(var8009caec+0x3)($v0) /* f0a773c: 3c06800a */ lui $a2,%hi(var8009caf0) /* f0a7740: 90c6caf0 */ lbu $a2,%lo(var8009caf0)($a2) /* f0a7744: 00027600 */ sll $t6,$v0,0x18 /* f0a7748: 00024c00 */ sll $t1,$v0,0x10 /* f0a774c: 01c96025 */ or $t4,$t6,$t1 /* f0a7750: 00025200 */ sll $t2,$v0,0x8 /* f0a7754: 018a4025 */ or $t0,$t4,$t2 /* f0a7758: afa200b0 */ sw $v0,0xb0($sp) /* f0a775c: afa200b4 */ sw $v0,0xb4($sp) /* f0a7760: afa200b8 */ sw $v0,0xb8($sp) /* f0a7764: 00c8a821 */ addu $s5,$a2,$t0 /* f0a7768: 1000001f */ b .L0f0a77e8 /* f0a776c: afa600bc */ sw $a2,0xbc($sp) .L0f0a7770: /* f0a7770: 5460001e */ bnezl $v1,.L0f0a77ec /* f0a7774: 8fb900ec */ lw $t9,0xec($sp) /* f0a7778: 54e0001c */ bnezl $a3,.L0f0a77ec /* f0a777c: 8fb900ec */ lw $t9,0xec($sp) /* f0a7780: 8ca20480 */ lw $v0,0x480($a1) /* f0a7784: 50400007 */ beqzl $v0,.L0f0a77a4 /* f0a7788: 8cb91c54 */ lw $t9,0x1c54($a1) /* f0a778c: 50400017 */ beqzl $v0,.L0f0a77ec /* f0a7790: 8fb900ec */ lw $t9,0xec($sp) /* f0a7794: 804b0037 */ lb $t3,0x37($v0) /* f0a7798: 55600014 */ bnezl $t3,.L0f0a77ec /* f0a779c: 8fb900ec */ lw $t9,0xec($sp) /* f0a77a0: 8cb91c54 */ lw $t9,0x1c54($a1) .L0f0a77a4: /* f0a77a4: 8cb800c4 */ lw $t8,0xc4($a1) /* f0a77a8: 240200ff */ addiu $v0,$zero,0xff /* f0a77ac: 03206827 */ nor $t5,$t9,$zero /* f0a77b0: 030d7824 */ and $t7,$t8,$t5 /* f0a77b4: 31ee0008 */ andi $t6,$t7,0x8 /* f0a77b8: 11c0000b */ beqz $t6,.L0f0a77e8 /* f0a77bc: 24050080 */ addiu $a1,$zero,0x80 /* f0a77c0: 00024e00 */ sll $t1,$v0,0x18 /* f0a77c4: 00006400 */ sll $t4,$zero,0x10 /* f0a77c8: 012c5025 */ or $t2,$t1,$t4 /* f0a77cc: 00004200 */ sll $t0,$zero,0x8 /* f0a77d0: 01485825 */ or $t3,$t2,$t0 /* f0a77d4: 00aba821 */ addu $s5,$a1,$t3 /* f0a77d8: afa200a0 */ sw $v0,0xa0($sp) /* f0a77dc: afa000a4 */ sw $zero,0xa4($sp) /* f0a77e0: afa000a8 */ sw $zero,0xa8($sp) /* f0a77e4: afa500ac */ sw $a1,0xac($sp) .L0f0a77e8: /* f0a77e8: 8fb900ec */ lw $t9,0xec($sp) .L0f0a77ec: /* f0a77ec: 24010001 */ addiu $at,$zero,0x1 /* f0a77f0: 5721003d */ bnel $t9,$at,.L0f0a78e8 /* f0a77f4: 8e6f00bc */ lw $t7,0xbc($s3) /* f0a77f8: 1000003a */ b .L0f0a78e4 /* f0a77fc: afb50140 */ sw $s5,0x140($sp) .L0f0a7800: /* f0a7800: 926d1614 */ lbu $t5,0x1614($s3) .L0f0a7804: /* f0a7804: 92781617 */ lbu $t8,0x1617($s3) /* f0a7808: 92691615 */ lbu $t1,0x1615($s3) /* f0a780c: 92681616 */ lbu $t0,0x1616($s3) /* f0a7810: 000d7e00 */ sll $t7,$t5,0x18 /* f0a7814: 030f7025 */ or $t6,$t8,$t7 /* f0a7818: 00096400 */ sll $t4,$t1,0x10 /* f0a781c: 01cc5025 */ or $t2,$t6,$t4 /* f0a7820: 00085a00 */ sll $t3,$t0,0x8 /* f0a7824: 014bc825 */ or $t9,$t2,$t3 /* f0a7828: afb90140 */ sw $t9,0x140($sp) /* f0a782c: 920d0000 */ lbu $t5,0x0($s0) /* f0a7830: 24010006 */ addiu $at,$zero,0x6 /* f0a7834: 0320a825 */ or $s5,$t9,$zero /* f0a7838: 15a1002a */ bne $t5,$at,.L0f0a78e4 /* f0a783c: 3c04ff00 */ lui $a0,0xff00 /* f0a7840: 3c014248 */ lui $at,0x4248 /* f0a7844: 44812000 */ mtc1 $at,$f4 /* f0a7848: c612023c */ lwc1 $f18,0x23c($s0) /* f0a784c: 24060001 */ addiu $a2,$zero,0x1 /* f0a7850: 3c014f00 */ lui $at,0x4f00 /* f0a7854: 46049182 */ mul.s $f6,$f18,$f4 /* f0a7858: 3484007f */ ori $a0,$a0,0x7f /* f0a785c: 4458f800 */ cfc1 $t8,$31 /* f0a7860: 44c6f800 */ ctc1 $a2,$31 /* f0a7864: 00000000 */ nop /* f0a7868: 46003224 */ cvt.w.s $f8,$f6 /* f0a786c: 4446f800 */ cfc1 $a2,$31 /* f0a7870: 00000000 */ nop /* f0a7874: 30c60078 */ andi $a2,$a2,0x78 /* f0a7878: 50c00013 */ beqzl $a2,.L0f0a78c8 /* f0a787c: 44064000 */ mfc1 $a2,$f8 /* f0a7880: 44814000 */ mtc1 $at,$f8 /* f0a7884: 24060001 */ addiu $a2,$zero,0x1 /* f0a7888: 46083201 */ sub.s $f8,$f6,$f8 /* f0a788c: 44c6f800 */ ctc1 $a2,$31 /* f0a7890: 00000000 */ nop /* f0a7894: 46004224 */ cvt.w.s $f8,$f8 /* f0a7898: 4446f800 */ cfc1 $a2,$31 /* f0a789c: 00000000 */ nop /* f0a78a0: 30c60078 */ andi $a2,$a2,0x78 /* f0a78a4: 14c00005 */ bnez $a2,.L0f0a78bc /* f0a78a8: 00000000 */ nop /* f0a78ac: 44064000 */ mfc1 $a2,$f8 /* f0a78b0: 3c018000 */ lui $at,0x8000 /* f0a78b4: 10000007 */ b .L0f0a78d4 /* f0a78b8: 00c13025 */ or $a2,$a2,$at .L0f0a78bc: /* f0a78bc: 10000005 */ b .L0f0a78d4 /* f0a78c0: 2406ffff */ addiu $a2,$zero,-1 /* f0a78c4: 44064000 */ mfc1 $a2,$f8 .L0f0a78c8: /* f0a78c8: 00000000 */ nop /* f0a78cc: 04c0fffb */ bltz $a2,.L0f0a78bc /* f0a78d0: 00000000 */ nop .L0f0a78d4: /* f0a78d4: 44d8f800 */ ctc1 $t8,$31 /* f0a78d8: 0fc01a40 */ jal colourBlend /* f0a78dc: 03202825 */ or $a1,$t9,$zero /* f0a78e0: afa20140 */ sw $v0,0x140($sp) .L0f0a78e4: /* f0a78e4: 8e6f00bc */ lw $t7,0xbc($s3) .L0f0a78e8: /* f0a78e8: 0fc08af9 */ jal func0f022be4 /* f0a78ec: 8de40004 */ lw $a0,0x4($t7) /* f0a78f0: 284100ff */ slti $at,$v0,0xff /* f0a78f4: 1020000f */ beqz $at,.L0f0a7934 /* f0a78f8: 240c0001 */ addiu $t4,$zero,0x1 /* f0a78fc: 44825000 */ mtc1 $v0,$f10 /* f0a7900: 3c017f1b */ lui $at,%hi(var7f1aca90) /* f0a7904: c432ca90 */ lwc1 $f18,%lo(var7f1aca90)($at) /* f0a7908: 46805420 */ cvt.s.w $f16,$f10 /* f0a790c: 8fa40140 */ lw $a0,0x140($sp) /* f0a7910: 240e0005 */ addiu $t6,$zero,0x5 /* f0a7914: afae013c */ sw $t6,0x13c($sp) /* f0a7918: afa40144 */ sw $a0,0x144($sp) /* f0a791c: 46128102 */ mul.s $f4,$f16,$f18 /* f0a7920: 4600218d */ trunc.w.s $f6,$f4 /* f0a7924: 44033000 */ mfc1 $v1,$f6 /* f0a7928: 00000000 */ nop /* f0a792c: 24750041 */ addiu $s5,$v1,0x41 /* f0a7930: afb50140 */ sw $s5,0x140($sp) .L0f0a7934: /* f0a7934: 0c0059d8 */ jal func00016760 /* f0a7938: afac0110 */ sw $t4,0x110($sp) /* f0a793c: 8e020218 */ lw $v0,0x218($s0) /* f0a7940: 50400017 */ beqzl $v0,.L0f0a79a0 /* f0a7944: 8fa400ec */ lw $a0,0xec($sp) /* f0a7948: 8c460018 */ lw $a2,0x18($v0) /* f0a794c: afa00094 */ sw $zero,0x94($sp) /* f0a7950: 50c00013 */ beqzl $a2,.L0f0a79a0 /* f0a7954: 8fa400ec */ lw $a0,0xec($sp) /* f0a7958: 8cc80008 */ lw $t0,0x8($a2) /* f0a795c: 240a0001 */ addiu $t2,$zero,0x1 /* f0a7960: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7964: 1100000d */ beqz $t0,.L0f0a799c /* f0a7968: 00c02825 */ or $a1,$a2,$zero /* f0a796c: afaa0094 */ sw $t2,0x94($sp) /* f0a7970: 0c0087bd */ jal modelRender /* f0a7974: afa60098 */ sw $a2,0x98($sp) /* f0a7978: 8fa60098 */ lw $a2,0x98($sp) /* f0a797c: 8ccb0008 */ lw $t3,0x8($a2) /* f0a7980: 8cc4000c */ lw $a0,0xc($a2) /* f0a7984: 0fc30cfc */ jal func0f0c33f0 /* f0a7988: 8565000e */ lh $a1,0xe($t3) /* f0a798c: 8e0d021c */ lw $t5,0x21c($s0) /* f0a7990: 51a00003 */ beqzl $t5,.L0f0a79a0 /* f0a7994: 8fa400ec */ lw $a0,0xec($sp) /* f0a7998: ae000218 */ sw $zero,0x218($s0) .L0f0a799c: /* f0a799c: 8fa400ec */ lw $a0,0xec($sp) .L0f0a79a0: /* f0a79a0: 0fc2c5f0 */ jal weaponHasFlag /* f0a79a4: 24050020 */ addiu $a1,$zero,0x20 /* f0a79a8: 1040000e */ beqz $v0,.L0f0a79e4 /* f0a79ac: 24010001 */ addiu $at,$zero,0x1 /* f0a79b0: 8fb80118 */ lw $t8,0x118($sp) /* f0a79b4: 3c0fb600 */ lui $t7,0xb600 /* f0a79b8: 24093000 */ addiu $t1,$zero,0x3000 /* f0a79bc: 27190008 */ addiu $t9,$t8,0x8 /* f0a79c0: afb90118 */ sw $t9,0x118($sp) /* f0a79c4: af090004 */ sw $t1,0x4($t8) /* f0a79c8: 16800004 */ bnez $s4,.L0f0a79dc /* f0a79cc: af0f0000 */ sw $t7,0x0($t8) /* f0a79d0: 240e0003 */ addiu $t6,$zero,0x3 /* f0a79d4: 10000003 */ b .L0f0a79e4 /* f0a79d8: afae0148 */ sw $t6,0x148($sp) .L0f0a79dc: /* f0a79dc: 240c0002 */ addiu $t4,$zero,0x2 /* f0a79e0: afac0148 */ sw $t4,0x148($sp) .L0f0a79e4: /* f0a79e4: 8e28006c */ lw $t0,0x6c($s1) /* f0a79e8: 00002825 */ or $a1,$zero,$zero /* f0a79ec: 00002025 */ or $a0,$zero,$zero /* f0a79f0: 11000003 */ beqz $t0,.L0f0a7a00 /* f0a79f4: 00001025 */ or $v0,$zero,$zero /* f0a79f8: 10000001 */ b .L0f0a7a00 /* f0a79fc: 24050001 */ addiu $a1,$zero,0x1 .L0f0a7a00: /* f0a7a00: 8e2a0068 */ lw $t2,0x68($s1) /* f0a7a04: 00001825 */ or $v1,$zero,$zero /* f0a7a08: 11400003 */ beqz $t2,.L0f0a7a18 /* f0a7a0c: 00000000 */ nop /* f0a7a10: 10000001 */ b .L0f0a7a18 /* f0a7a14: 24040001 */ addiu $a0,$zero,0x1 .L0f0a7a18: /* f0a7a18: 8e2b0064 */ lw $t3,0x64($s1) /* f0a7a1c: 11600003 */ beqz $t3,.L0f0a7a2c /* f0a7a20: 00000000 */ nop /* f0a7a24: 10000001 */ b .L0f0a7a2c /* f0a7a28: 24020001 */ addiu $v0,$zero,0x1 .L0f0a7a2c: /* f0a7a2c: 8e2d0070 */ lw $t5,0x70($s1) /* f0a7a30: 11a00003 */ beqz $t5,.L0f0a7a40 /* f0a7a34: 00000000 */ nop /* f0a7a38: 10000001 */ b .L0f0a7a40 /* f0a7a3c: 24030001 */ addiu $v1,$zero,0x1 .L0f0a7a40: /* f0a7a40: 0062c021 */ addu $t8,$v1,$v0 /* f0a7a44: 0304c821 */ addu $t9,$t8,$a0 /* f0a7a48: 03257821 */ addu $t7,$t9,$a1 /* f0a7a4c: 15e10036 */ bne $t7,$at,.L0f0a7b28 /* f0a7a50: 24050041 */ addiu $a1,$zero,0x41 /* f0a7a54: 0c006a47 */ jal modelGetPart /* f0a7a58: 8e04038c */ lw $a0,0x38c($s0) /* f0a7a5c: 50400033 */ beqzl $v0,.L0f0a7b2c /* f0a7a60: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7a64: 8c440004 */ lw $a0,0x4($v0) /* f0a7a68: 00002825 */ or $a1,$zero,$zero /* f0a7a6c: 84890010 */ lh $t1,0x10($a0) /* f0a7a70: 5920002e */ blezl $t1,.L0f0a7b2c /* f0a7a74: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7a78: 8e2a0034 */ lw $t2,0x34($s1) .L0f0a7a7c: /* f0a7a7c: 8c8e000c */ lw $t6,0xc($a0) /* f0a7a80: 00056080 */ sll $t4,$a1,0x2 /* f0a7a84: 01520019 */ multu $t2,$s2 /* f0a7a88: 01856023 */ subu $t4,$t4,$a1 /* f0a7a8c: 000c6080 */ sll $t4,$t4,0x2 /* f0a7a90: 01cc1021 */ addu $v0,$t6,$t4 /* f0a7a94: 8448000a */ lh $t0,0xa($v0) /* f0a7a98: 0005c880 */ sll $t9,$a1,0x2 /* f0a7a9c: 0325c823 */ subu $t9,$t9,$a1 /* f0a7aa0: 0019c880 */ sll $t9,$t9,0x2 /* f0a7aa4: 24420002 */ addiu $v0,$v0,0x2 /* f0a7aa8: 00005812 */ mflo $t3 /* f0a7aac: 010b6823 */ subu $t5,$t0,$t3 /* f0a7ab0: a44d0008 */ sh $t5,0x8($v0) /* f0a7ab4: 8c98000c */ lw $t8,0xc($a0) /* f0a7ab8: 03197821 */ addu $t7,$t8,$t9 /* f0a7abc: 85e9000a */ lh $t1,0xa($t7) /* f0a7ac0: 2921a000 */ slti $at,$t1,-24576 /* f0a7ac4: 50200014 */ beqzl $at,.L0f0a7b18 /* f0a7ac8: 84980010 */ lh $t8,0x10($a0) /* f0a7acc: 848e0010 */ lh $t6,0x10($a0) /* f0a7ad0: 00001825 */ or $v1,$zero,$zero /* f0a7ad4: 59c00010 */ blezl $t6,.L0f0a7b18 /* f0a7ad8: 84980010 */ lh $t8,0x10($a0) /* f0a7adc: 8c8c000c */ lw $t4,0xc($a0) .L0f0a7ae0: /* f0a7ae0: 00035080 */ sll $t2,$v1,0x2 /* f0a7ae4: 01435023 */ subu $t2,$t2,$v1 /* f0a7ae8: 000a5080 */ sll $t2,$t2,0x2 /* f0a7aec: 018a1021 */ addu $v0,$t4,$t2 /* f0a7af0: 8448000a */ lh $t0,0xa($v0) /* f0a7af4: 24630001 */ addiu $v1,$v1,0x1 /* f0a7af8: 24420002 */ addiu $v0,$v0,0x2 /* f0a7afc: 250b2000 */ addiu $t3,$t0,0x2000 /* f0a7b00: a44b0008 */ sh $t3,0x8($v0) /* f0a7b04: 848d0010 */ lh $t5,0x10($a0) /* f0a7b08: 006d082a */ slt $at,$v1,$t5 /* f0a7b0c: 5420fff4 */ bnezl $at,.L0f0a7ae0 /* f0a7b10: 8c8c000c */ lw $t4,0xc($a0) /* f0a7b14: 84980010 */ lh $t8,0x10($a0) .L0f0a7b18: /* f0a7b18: 24a50001 */ addiu $a1,$a1,0x1 /* f0a7b1c: 00b8082a */ slt $at,$a1,$t8 /* f0a7b20: 5420ffd6 */ bnezl $at,.L0f0a7a7c /* f0a7b24: 8e2a0034 */ lw $t2,0x34($s1) .L0f0a7b28: /* f0a7b28: 27a4010c */ addiu $a0,$sp,0x10c .L0f0a7b2c: /* f0a7b2c: 0c0087bd */ jal modelRender /* f0a7b30: 8fa5003c */ lw $a1,0x3c($sp) /* f0a7b34: 8e791594 */ lw $t9,0x1594($s3) /* f0a7b38: 3c0f8007 */ lui $t7,%hi(var800702dc) /* f0a7b3c: 53200013 */ beqzl $t9,.L0f0a7b8c /* f0a7b40: 8fac0118 */ lw $t4,0x118($sp) /* f0a7b44: 8def02dc */ lw $t7,%lo(var800702dc)($t7) /* f0a7b48: 8fa90140 */ lw $t1,0x140($sp) /* f0a7b4c: 51e0000f */ beqzl $t7,.L0f0a7b8c /* f0a7b50: 8fac0118 */ lw $t4,0x118($sp) /* f0a7b54: afa9007c */ sw $t1,0x7c($sp) /* f0a7b58: 8e0e0390 */ lw $t6,0x390($s0) /* f0a7b5c: 26050534 */ addiu $a1,$s0,0x534 /* f0a7b60: 00a02025 */ or $a0,$a1,$zero /* f0a7b64: ae0e0540 */ sw $t6,0x540($s0) /* f0a7b68: 0c007308 */ jal func0001cc20 /* f0a7b6c: afa50054 */ sw $a1,0x54($sp) /* f0a7b70: 8fa50054 */ lw $a1,0x54($sp) /* f0a7b74: afb50140 */ sw $s5,0x140($sp) /* f0a7b78: 0c0087bd */ jal modelRender /* f0a7b7c: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7b80: 8fa4007c */ lw $a0,0x7c($sp) /* f0a7b84: afa40140 */ sw $a0,0x140($sp) /* f0a7b88: 8fac0118 */ lw $t4,0x118($sp) .L0f0a7b8c: /* f0a7b8c: 8fa400ec */ lw $a0,0xec($sp) /* f0a7b90: 24050020 */ addiu $a1,$zero,0x20 /* f0a7b94: 0fc2c5f0 */ jal weaponHasFlag /* f0a7b98: afac014c */ sw $t4,0x14c($sp) /* f0a7b9c: 10400007 */ beqz $v0,.L0f0a7bbc /* f0a7ba0: 8faa014c */ lw $t2,0x14c($sp) /* f0a7ba4: 25480008 */ addiu $t0,$t2,0x8 /* f0a7ba8: afa8014c */ sw $t0,0x14c($sp) /* f0a7bac: 3c0bb600 */ lui $t3,0xb600 /* f0a7bb0: 240d3000 */ addiu $t5,$zero,0x3000 /* f0a7bb4: ad4d0004 */ sw $t5,0x4($t2) /* f0a7bb8: ad4b0000 */ sw $t3,0x0($t2) .L0f0a7bbc: /* f0a7bbc: 8e18038c */ lw $t8,0x38c($s0) /* f0a7bc0: 8e040390 */ lw $a0,0x390($s0) /* f0a7bc4: 0fc30cfc */ jal func0f0c33f0 /* f0a7bc8: 8705000e */ lh $a1,0xe($t8) /* f0a7bcc: 0c0059e1 */ jal func00016784 /* f0a7bd0: 00000000 */ nop /* f0a7bd4: 8fb9014c */ lw $t9,0x14c($sp) /* f0a7bd8: 3c09bc00 */ lui $t1,0xbc00 /* f0a7bdc: 3529000e */ ori $t1,$t1,0xe /* f0a7be0: 272f0008 */ addiu $t7,$t9,0x8 /* f0a7be4: afaf014c */ sw $t7,0x14c($sp) /* f0a7be8: af290000 */ sw $t1,0x0($t9) /* f0a7bec: 0c002adb */ jal func0000ab6c /* f0a7bf0: afb90074 */ sw $t9,0x74($sp) /* f0a7bf4: 8fa30074 */ lw $v1,0x74($sp) /* f0a7bf8: ac620004 */ sw $v0,0x4($v1) .L0f0a7bfc: /* f0a7bfc: 26940001 */ addiu $s4,$s4,0x1 /* f0a7c00: 24010002 */ addiu $at,$zero,0x2 /* f0a7c04: 1681fe04 */ bne $s4,$at,.L0f0a7418 /* f0a7c08: 261007a4 */ addiu $s0,$s0,0x7a4 /* f0a7c0c: afb500e4 */ sw $s5,0xe4($sp) /* f0a7c10: 0fc2baf8 */ jal func0f0aebe0 /* f0a7c14: 27a4014c */ addiu $a0,$sp,0x14c /* f0a7c18: 0fc5d8a6 */ jal func0f176298 /* f0a7c1c: 00000000 */ nop /* f0a7c20: 0fc5d8ab */ jal func0f1762ac /* f0a7c24: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7c28: afa2014c */ sw $v0,0x14c($sp) /* f0a7c2c: 0c002c74 */ jal func0000b1d0 /* f0a7c30: 00402025 */ or $a0,$v0,$zero /* f0a7c34: 244e0008 */ addiu $t6,$v0,0x8 /* f0a7c38: afae014c */ sw $t6,0x14c($sp) /* f0a7c3c: 0c002f40 */ jal viGetViewLeft /* f0a7c40: 00408825 */ or $s1,$v0,$zero /* f0a7c44: 00028400 */ sll $s0,$v0,0x10 /* f0a7c48: 00106403 */ sra $t4,$s0,0x10 /* f0a7c4c: 0c002f44 */ jal viGetViewTop /* f0a7c50: 01808025 */ or $s0,$t4,$zero /* f0a7c54: 44824000 */ mtc1 $v0,$f8 /* f0a7c58: 44902000 */ mtc1 $s0,$f4 /* f0a7c5c: 3c014080 */ lui $at,0x4080 /* f0a7c60: 468042a0 */ cvt.s.w $f10,$f8 /* f0a7c64: 44810000 */ mtc1 $at,$f0 /* f0a7c68: 3c01ed00 */ lui $at,0xed00 /* f0a7c6c: 468021a0 */ cvt.s.w $f6,$f4 /* f0a7c70: 46005402 */ mul.s $f16,$f10,$f0 /* f0a7c74: 00000000 */ nop /* f0a7c78: 46003202 */ mul.s $f8,$f6,$f0 /* f0a7c7c: 4600848d */ trunc.w.s $f18,$f16 /* f0a7c80: 4600428d */ trunc.w.s $f10,$f8 /* f0a7c84: 44089000 */ mfc1 $t0,$f18 /* f0a7c88: 44195000 */ mfc1 $t9,$f10 /* f0a7c8c: 310b0fff */ andi $t3,$t0,0xfff /* f0a7c90: 01616825 */ or $t5,$t3,$at /* f0a7c94: 332f0fff */ andi $t7,$t9,0xfff /* f0a7c98: 000f4b00 */ sll $t1,$t7,0xc /* f0a7c9c: 01a97025 */ or $t6,$t5,$t1 /* f0a7ca0: 0c002f22 */ jal viGetViewWidth /* f0a7ca4: ae2e0000 */ sw $t6,0x0($s1) /* f0a7ca8: 00029400 */ sll $s2,$v0,0x10 /* f0a7cac: 00126403 */ sra $t4,$s2,0x10 /* f0a7cb0: 0c002f40 */ jal viGetViewLeft /* f0a7cb4: 01809025 */ or $s2,$t4,$zero /* f0a7cb8: 0002a400 */ sll $s4,$v0,0x10 /* f0a7cbc: 00145403 */ sra $t2,$s4,0x10 /* f0a7cc0: 0c002f44 */ jal viGetViewTop /* f0a7cc4: 0140a025 */ or $s4,$t2,$zero /* f0a7cc8: 00028400 */ sll $s0,$v0,0x10 /* f0a7ccc: 00104403 */ sra $t0,$s0,0x10 /* f0a7cd0: 0c002f26 */ jal viGetViewHeight /* f0a7cd4: 01008025 */ or $s0,$t0,$zero /* f0a7cd8: 00505821 */ addu $t3,$v0,$s0 /* f0a7cdc: 448b8000 */ mtc1 $t3,$f16 /* f0a7ce0: 02926821 */ addu $t5,$s4,$s2 /* f0a7ce4: 448d5000 */ mtc1 $t5,$f10 /* f0a7ce8: 468084a0 */ cvt.s.w $f18,$f16 /* f0a7cec: 3c014080 */ lui $at,0x4080 /* f0a7cf0: 44812000 */ mtc1 $at,$f4 /* f0a7cf4: 46805420 */ cvt.s.w $f16,$f10 /* f0a7cf8: 46049182 */ mul.s $f6,$f18,$f4 /* f0a7cfc: 44819000 */ mtc1 $at,$f18 /* f0a7d00: 00000000 */ nop /* f0a7d04: 46128102 */ mul.s $f4,$f16,$f18 /* f0a7d08: 4600320d */ trunc.w.s $f8,$f6 /* f0a7d0c: 4600218d */ trunc.w.s $f6,$f4 /* f0a7d10: 44194000 */ mfc1 $t9,$f8 /* f0a7d14: 440e3000 */ mfc1 $t6,$f6 /* f0a7d18: 332f0fff */ andi $t7,$t9,0xfff /* f0a7d1c: 31cc0fff */ andi $t4,$t6,0xfff /* f0a7d20: 000c5300 */ sll $t2,$t4,0xc /* f0a7d24: 01ea4025 */ or $t0,$t7,$t2 /* f0a7d28: ae280004 */ sw $t0,0x4($s1) /* f0a7d2c: 8fb80150 */ lw $t8,0x150($sp) /* f0a7d30: 8fab014c */ lw $t3,0x14c($sp) /* f0a7d34: af0b0000 */ sw $t3,0x0($t8) /* f0a7d38: 8fbf0034 */ lw $ra,0x34($sp) .L0f0a7d3c: /* f0a7d3c: 8fb0001c */ lw $s0,0x1c($sp) /* f0a7d40: 8fb10020 */ lw $s1,0x20($sp) /* f0a7d44: 8fb20024 */ lw $s2,0x24($sp) /* f0a7d48: 8fb30028 */ lw $s3,0x28($sp) /* f0a7d4c: 8fb4002c */ lw $s4,0x2c($sp) /* f0a7d50: 8fb50030 */ lw $s5,0x30($sp) /* f0a7d54: 03e00008 */ jr $ra /* f0a7d58: 27bd0150 */ addiu $sp,$sp,0x150 ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgun0f0a7138 .late_rodata glabel var7f1aca8c .word 0x3faaaaab glabel var7f1aca90 .word 0x3f3ebebf .text /* f0a7138: 27bdfeb0 */ addiu $sp,$sp,-336 /* f0a713c: afbf0034 */ sw $ra,0x34($sp) /* f0a7140: afb50030 */ sw $s5,0x30($sp) /* f0a7144: afb4002c */ sw $s4,0x2c($sp) /* f0a7148: afb30028 */ sw $s3,0x28($sp) /* f0a714c: afb20024 */ sw $s2,0x24($sp) /* f0a7150: afb10020 */ sw $s1,0x20($sp) /* f0a7154: afb0001c */ sw $s0,0x1c($sp) /* f0a7158: afa40150 */ sw $a0,0x150($sp) /* f0a715c: 8c8f0000 */ lw $t7,0x0($a0) /* f0a7160: 3c198007 */ lui $t9,%hi(var8007029c) /* f0a7164: 3c11800a */ lui $s1,%hi(g_Vars) /* f0a7168: 2739029c */ addiu $t9,$t9,%lo(var8007029c) /* f0a716c: 26319fc0 */ addiu $s1,$s1,%lo(g_Vars) /* f0a7170: 272a003c */ addiu $t2,$t9,0x3c /* f0a7174: 27b8010c */ addiu $t8,$sp,0x10c /* f0a7178: afaf014c */ sw $t7,0x14c($sp) .L0f0a717c: /* f0a717c: 8f210000 */ lw $at,0x0($t9) /* f0a7180: 2739000c */ addiu $t9,$t9,0xc /* f0a7184: 2718000c */ addiu $t8,$t8,0xc /* f0a7188: af01fff4 */ sw $at,-0xc($t8) /* f0a718c: 8f21fff8 */ lw $at,-0x8($t9) /* f0a7190: af01fff8 */ sw $at,-0x8($t8) /* f0a7194: 8f21fffc */ lw $at,-0x4($t9) /* f0a7198: 172afff8 */ bne $t9,$t2,.L0f0a717c /* f0a719c: af01fffc */ sw $at,-0x4($t8) /* f0a71a0: 8f210000 */ lw $at,0x0($t9) /* f0a71a4: af010000 */ sw $at,0x0($t8) /* f0a71a8: 8e330284 */ lw $s3,0x284($s1) /* f0a71ac: 24010001 */ addiu $at,$zero,0x1 /* f0a71b0: 966b0010 */ lhu $t3,0x10($s3) /* f0a71b4: 1561000d */ bne $t3,$at,.L0f0a71ec /* f0a71b8: 00001025 */ or $v0,$zero,$zero /* f0a71bc: 24040f48 */ addiu $a0,$zero,0xf48 /* f0a71c0: 8e2c0284 */ lw $t4,0x284($s1) .L0f0a71c4: /* f0a71c4: 01821821 */ addu $v1,$t4,$v0 /* f0a71c8: 8c6d0854 */ lw $t5,0x854($v1) /* f0a71cc: 244207a4 */ addiu $v0,$v0,0x7a4 /* f0a71d0: 11a00002 */ beqz $t5,.L0f0a71dc /* f0a71d4: 00000000 */ nop /* f0a71d8: ac600850 */ sw $zero,0x850($v1) .L0f0a71dc: /* f0a71dc: 5444fff9 */ bnel $v0,$a0,.L0f0a71c4 /* f0a71e0: 8e2c0284 */ lw $t4,0x284($s1) /* f0a71e4: 100002d5 */ b .L0f0a7d3c /* f0a71e8: 8fbf0034 */ lw $ra,0x34($sp) .L0f0a71ec: /* f0a71ec: 0fc5d9ad */ jal func0f1766b4 /* f0a71f0: 8fa4014c */ lw $a0,0x14c($sp) /* f0a71f4: afa2014c */ sw $v0,0x14c($sp) /* f0a71f8: 0c002ca0 */ jal func0000b280 /* f0a71fc: 00402025 */ or $a0,$v0,$zero /* f0a7200: afa2014c */ sw $v0,0x14c($sp) /* f0a7204: 0c002c74 */ jal func0000b1d0 /* f0a7208: 00402025 */ or $a0,$v0,$zero /* f0a720c: 244e0008 */ addiu $t6,$v0,0x8 /* f0a7210: afae014c */ sw $t6,0x14c($sp) /* f0a7214: 0c002f40 */ jal viGetViewLeft /* f0a7218: 0040a825 */ or $s5,$v0,$zero /* f0a721c: 00028400 */ sll $s0,$v0,0x10 /* f0a7220: 00107c03 */ sra $t7,$s0,0x10 /* f0a7224: 0c002f44 */ jal viGetViewTop /* f0a7228: 01e08025 */ or $s0,$t7,$zero /* f0a722c: 44822000 */ mtc1 $v0,$f4 /* f0a7230: 44908000 */ mtc1 $s0,$f16 /* f0a7234: 3c014080 */ lui $at,0x4080 /* f0a7238: 468021a0 */ cvt.s.w $f6,$f4 /* f0a723c: 44810000 */ mtc1 $at,$f0 /* f0a7240: 3c01ed00 */ lui $at,0xed00 /* f0a7244: 468084a0 */ cvt.s.w $f18,$f16 /* f0a7248: 46003202 */ mul.s $f8,$f6,$f0 /* f0a724c: 00000000 */ nop /* f0a7250: 46009102 */ mul.s $f4,$f18,$f0 /* f0a7254: 4600428d */ trunc.w.s $f10,$f8 /* f0a7258: 4600218d */ trunc.w.s $f6,$f4 /* f0a725c: 44085000 */ mfc1 $t0,$f10 /* f0a7260: 440b3000 */ mfc1 $t3,$f6 /* f0a7264: 310a0fff */ andi $t2,$t0,0xfff /* f0a7268: 0141c825 */ or $t9,$t2,$at /* f0a726c: 316c0fff */ andi $t4,$t3,0xfff /* f0a7270: 000c6b00 */ sll $t5,$t4,0xc /* f0a7274: 032d7025 */ or $t6,$t9,$t5 /* f0a7278: 0c002f22 */ jal viGetViewWidth /* f0a727c: aeae0000 */ sw $t6,0x0($s5) /* f0a7280: 00029400 */ sll $s2,$v0,0x10 /* f0a7284: 00127c03 */ sra $t7,$s2,0x10 /* f0a7288: 0c002f40 */ jal viGetViewLeft /* f0a728c: 01e09025 */ or $s2,$t7,$zero /* f0a7290: 0002a400 */ sll $s4,$v0,0x10 /* f0a7294: 00144c03 */ sra $t1,$s4,0x10 /* f0a7298: 0c002f44 */ jal viGetViewTop /* f0a729c: 0120a025 */ or $s4,$t1,$zero /* f0a72a0: 00028400 */ sll $s0,$v0,0x10 /* f0a72a4: 00104403 */ sra $t0,$s0,0x10 /* f0a72a8: 0c002f26 */ jal viGetViewHeight /* f0a72ac: 01008025 */ or $s0,$t0,$zero /* f0a72b0: 00505021 */ addu $t2,$v0,$s0 /* f0a72b4: 448a4000 */ mtc1 $t2,$f8 /* f0a72b8: 0292c821 */ addu $t9,$s4,$s2 /* f0a72bc: 44992000 */ mtc1 $t9,$f4 /* f0a72c0: 468042a0 */ cvt.s.w $f10,$f8 /* f0a72c4: 3c014080 */ lui $at,0x4080 /* f0a72c8: 44810000 */ mtc1 $at,$f0 /* f0a72cc: 3c053fc0 */ lui $a1,0x3fc0 /* f0a72d0: 3c06447a */ lui $a2,0x447a /* f0a72d4: 468021a0 */ cvt.s.w $f6,$f4 /* f0a72d8: 46005402 */ mul.s $f16,$f10,$f0 /* f0a72dc: 00000000 */ nop /* f0a72e0: 46003202 */ mul.s $f8,$f6,$f0 /* f0a72e4: 4600848d */ trunc.w.s $f18,$f16 /* f0a72e8: 4600428d */ trunc.w.s $f10,$f8 /* f0a72ec: 440b9000 */ mfc1 $t3,$f18 /* f0a72f0: 440e5000 */ mfc1 $t6,$f10 /* f0a72f4: 316c0fff */ andi $t4,$t3,0xfff /* f0a72f8: 31cf0fff */ andi $t7,$t6,0xfff /* f0a72fc: 000f4b00 */ sll $t1,$t7,0xc /* f0a7300: 01894025 */ or $t0,$t4,$t1 /* f0a7304: aea80004 */ sw $t0,0x4($s5) /* f0a7308: 0c002b29 */ jal func0000aca4 /* f0a730c: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7310: 8e2a0284 */ lw $t2,0x284($s1) /* f0a7314: afa2014c */ sw $v0,0x14c($sp) /* f0a7318: 91581bfc */ lbu $t8,0x1bfc($t2) /* f0a731c: 53000016 */ beqzl $t8,.L0f0a7378 /* f0a7320: 8e2b006c */ lw $t3,0x6c($s1) /* f0a7324: 0fc54bc7 */ jal optionsGetScreenRatio /* f0a7328: 00000000 */ nop /* f0a732c: 24010001 */ addiu $at,$zero,0x1 /* f0a7330: 14410008 */ bne $v0,$at,.L0f0a7354 /* f0a7334: 00000000 */ nop /* f0a7338: 0fc2f4d6 */ jal func0f0bd358 /* f0a733c: 00000000 */ nop /* f0a7340: 3c017f1b */ lui $at,%hi(var7f1aca8c) /* f0a7344: c430ca8c */ lwc1 $f16,%lo(var7f1aca8c)($at) /* f0a7348: 46100082 */ mul.s $f2,$f0,$f16 /* f0a734c: 10000005 */ b .L0f0a7364 /* f0a7350: 44061000 */ mfc1 $a2,$f2 .L0f0a7354: /* f0a7354: 0fc2f4d6 */ jal func0f0bd358 /* f0a7358: 00000000 */ nop /* f0a735c: 46000086 */ mov.s $f2,$f0 /* f0a7360: 44061000 */ mfc1 $a2,$f2 .L0f0a7364: /* f0a7364: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7368: 0c002c3a */ jal func0000b0e8 /* f0a736c: 3c054270 */ lui $a1,0x4270 /* f0a7370: afa2014c */ sw $v0,0x14c($sp) /* f0a7374: 8e2b006c */ lw $t3,0x6c($s1) .L0f0a7378: /* f0a7378: 24010001 */ addiu $at,$zero,0x1 /* f0a737c: 51600004 */ beqzl $t3,.L0f0a7390 /* f0a7380: 00002825 */ or $a1,$zero,$zero /* f0a7384: 10000002 */ b .L0f0a7390 /* f0a7388: 24050001 */ addiu $a1,$zero,0x1 /* f0a738c: 00002825 */ or $a1,$zero,$zero .L0f0a7390: /* f0a7390: 8e390068 */ lw $t9,0x68($s1) /* f0a7394: 53200004 */ beqzl $t9,.L0f0a73a8 /* f0a7398: 00002025 */ or $a0,$zero,$zero /* f0a739c: 10000002 */ b .L0f0a73a8 /* f0a73a0: 24040001 */ addiu $a0,$zero,0x1 /* f0a73a4: 00002025 */ or $a0,$zero,$zero .L0f0a73a8: /* f0a73a8: 8e2d0064 */ lw $t5,0x64($s1) /* f0a73ac: 51a00004 */ beqzl $t5,.L0f0a73c0 /* f0a73b0: 00001025 */ or $v0,$zero,$zero /* f0a73b4: 10000002 */ b .L0f0a73c0 /* f0a73b8: 24020001 */ addiu $v0,$zero,0x1 /* f0a73bc: 00001025 */ or $v0,$zero,$zero .L0f0a73c0: /* f0a73c0: 8e2e0070 */ lw $t6,0x70($s1) /* f0a73c4: 51c00004 */ beqzl $t6,.L0f0a73d8 /* f0a73c8: 00001825 */ or $v1,$zero,$zero /* f0a73cc: 10000002 */ b .L0f0a73d8 /* f0a73d0: 24030001 */ addiu $v1,$zero,0x1 /* f0a73d4: 00001825 */ or $v1,$zero,$zero .L0f0a73d8: /* f0a73d8: 00627821 */ addu $t7,$v1,$v0 /* f0a73dc: 01e46021 */ addu $t4,$t7,$a0 /* f0a73e0: 01854821 */ addu $t1,$t4,$a1 /* f0a73e4: 15210008 */ bne $t1,$at,.L0f0a7408 /* f0a73e8: 3c088009 */ lui $t0,%hi(g_Is4Mb) /* f0a73ec: 91080af0 */ lbu $t0,%lo(g_Is4Mb)($t0) /* f0a73f0: 24010001 */ addiu $at,$zero,0x1 /* f0a73f4: 51010005 */ beql $t0,$at,.L0f0a740c /* f0a73f8: 0000a025 */ or $s4,$zero,$zero /* f0a73fc: 0fc2be93 */ jal lasersightRenderBeam /* f0a7400: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7404: afa2014c */ sw $v0,0x14c($sp) .L0f0a7408: /* f0a7408: 0000a025 */ or $s4,$zero,$zero .L0f0a740c: /* f0a740c: 26700638 */ addiu $s0,$s3,0x638 /* f0a7410: 8fb500e4 */ lw $s5,0xe4($sp) /* f0a7414: 24120019 */ addiu $s2,$zero,0x19 .L0f0a7418: /* f0a7418: 0fc2867c */ jal bgunGetWeaponNum2 /* f0a741c: 02802025 */ or $a0,$s4,$zero /* f0a7420: afa200ec */ sw $v0,0xec($sp) /* f0a7424: 820a0007 */ lb $t2,0x7($s0) /* f0a7428: 8fa4014c */ lw $a0,0x14c($sp) /* f0a742c: 260501dc */ addiu $a1,$s0,0x1dc /* f0a7430: 114001f2 */ beqz $t2,.L0f0a7bfc /* f0a7434: 00003025 */ or $a2,$zero,$zero /* f0a7438: 26180384 */ addiu $t8,$s0,0x384 /* f0a743c: afb8003c */ sw $t8,0x3c($sp) /* f0a7440: 0fc2b2e4 */ jal func0f0acb90 /* f0a7444: 00003825 */ or $a3,$zero,$zero /* f0a7448: afa2014c */ sw $v0,0x14c($sp) /* f0a744c: 92040000 */ lbu $a0,0x0($s0) /* f0a7450: 0fc2c5f0 */ jal weaponHasFlag /* f0a7454: 34058000 */ dli $a1,0x8000 /* f0a7458: 10400030 */ beqz $v0,.L0f0a751c /* f0a745c: 8fab014c */ lw $t3,0x14c($sp) /* f0a7460: 25790008 */ addiu $t9,$t3,0x8 /* f0a7464: afb9014c */ sw $t9,0x14c($sp) /* f0a7468: 3c0dbc00 */ lui $t5,0xbc00 /* f0a746c: 3c0e8000 */ lui $t6,0x8000 /* f0a7470: 35ce0040 */ ori $t6,$t6,0x40 /* f0a7474: 35ad0002 */ ori $t5,$t5,0x2 /* f0a7478: ad6d0000 */ sw $t5,0x0($t3) /* f0a747c: ad6e0004 */ sw $t6,0x4($t3) /* f0a7480: 8faf014c */ lw $t7,0x14c($sp) /* f0a7484: 3c090386 */ lui $t1,0x386 /* f0a7488: 3c088007 */ lui $t0,%hi(var80070098) /* f0a748c: 25ec0008 */ addiu $t4,$t7,0x8 /* f0a7490: afac014c */ sw $t4,0x14c($sp) /* f0a7494: 25080098 */ addiu $t0,$t0,%lo(var80070098) /* f0a7498: 35290010 */ ori $t1,$t1,0x10 /* f0a749c: ade90000 */ sw $t1,0x0($t7) /* f0a74a0: ade80004 */ sw $t0,0x4($t7) /* f0a74a4: 8faa014c */ lw $t2,0x14c($sp) /* f0a74a8: 3c0b0388 */ lui $t3,0x388 /* f0a74ac: 3c198007 */ lui $t9,%hi(var80070090) /* f0a74b0: 25580008 */ addiu $t8,$t2,0x8 /* f0a74b4: afb8014c */ sw $t8,0x14c($sp) /* f0a74b8: 27390090 */ addiu $t9,$t9,%lo(var80070090) /* f0a74bc: 356b0010 */ ori $t3,$t3,0x10 /* f0a74c0: ad4b0000 */ sw $t3,0x0($t2) /* f0a74c4: ad590004 */ sw $t9,0x4($t2) /* f0a74c8: 8fad014c */ lw $t5,0x14c($sp) /* f0a74cc: 3c0f0384 */ lui $t7,0x384 /* f0a74d0: 35ef0010 */ ori $t7,$t7,0x10 /* f0a74d4: 25ae0008 */ addiu $t6,$t5,0x8 /* f0a74d8: afae014c */ sw $t6,0x14c($sp) /* f0a74dc: adaf0000 */ sw $t7,0x0($t5) /* f0a74e0: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f0a74e4: afad00d4 */ sw $t5,0xd4($sp) /* f0a74e8: 8fa500d4 */ lw $a1,0xd4($sp) /* f0a74ec: 3c080382 */ lui $t0,0x382 /* f0a74f0: 35080010 */ ori $t0,$t0,0x10 /* f0a74f4: aca20004 */ sw $v0,0x4($a1) /* f0a74f8: 8fac014c */ lw $t4,0x14c($sp) /* f0a74fc: 25890008 */ addiu $t1,$t4,0x8 /* f0a7500: afa9014c */ sw $t1,0x14c($sp) /* f0a7504: ad880000 */ sw $t0,0x0($t4) /* f0a7508: 0fc2d5ea */ jal currentPlayerGetUnk175c /* f0a750c: afac00d0 */ sw $t4,0xd0($sp) /* f0a7510: 8fa300d0 */ lw $v1,0xd0($sp) /* f0a7514: 244a0010 */ addiu $t2,$v0,0x10 /* f0a7518: ac6a0004 */ sw $t2,0x4($v1) .L0f0a751c: /* f0a751c: 8fb8014c */ lw $t8,0x14c($sp) /* f0a7520: 3c19bc00 */ lui $t9,0xbc00 /* f0a7524: 3739000e */ ori $t9,$t9,0xe /* f0a7528: 270b0008 */ addiu $t3,$t8,0x8 /* f0a752c: afab014c */ sw $t3,0x14c($sp) /* f0a7530: 3c014396 */ lui $at,0x4396 /* f0a7534: 44817000 */ mtc1 $at,$f14 /* f0a7538: 44806000 */ mtc1 $zero,$f12 /* f0a753c: af190000 */ sw $t9,0x0($t8) /* f0a7540: 0c005b73 */ jal func00016dcc /* f0a7544: afb800cc */ sw $t8,0xcc($sp) /* f0a7548: 8fa300cc */ lw $v1,0xcc($sp) /* f0a754c: 24050010 */ addiu $a1,$zero,0x10 /* f0a7550: ac620004 */ sw $v0,0x4($v1) /* f0a7554: 0c006a47 */ jal modelGetPart /* f0a7558: 8e04038c */ lw $a0,0x38c($s0) /* f0a755c: 10400014 */ beqz $v0,.L0f0a75b0 /* f0a7560: afa200e8 */ sw $v0,0xe8($sp) /* f0a7564: 8e04038c */ lw $a0,0x38c($s0) /* f0a7568: 0c006a47 */ jal modelGetPart /* f0a756c: 24050011 */ addiu $a1,$zero,0x11 /* f0a7570: 8fa4003c */ lw $a0,0x3c($sp) /* f0a7574: 0c006a87 */ jal modelGetNodeRwData /* f0a7578: 00402825 */ or $a1,$v0,$zero /* f0a757c: 10400003 */ beqz $v0,.L0f0a758c /* f0a7580: 3c06800a */ lui $a2,%hi(var8009cf88) /* f0a7584: 240d0001 */ addiu $t5,$zero,0x1 /* f0a7588: ac4d0000 */ sw $t5,0x0($v0) .L0f0a758c: /* f0a758c: 240e0001 */ addiu $t6,$zero,0x1 /* f0a7590: afae0014 */ sw $t6,0x14($sp) /* f0a7594: 8fa4003c */ lw $a0,0x3c($sp) /* f0a7598: 8fa500e8 */ lw $a1,0xe8($sp) /* f0a759c: 24c6cf88 */ addiu $a2,$a2,%lo(var8009cf88) /* f0a75a0: 8fa7014c */ lw $a3,0x14c($sp) /* f0a75a4: 0fc1fefe */ jal tvscreenRender /* f0a75a8: afa00010 */ sw $zero,0x10($sp) /* f0a75ac: afa2014c */ sw $v0,0x14c($sp) .L0f0a75b0: /* f0a75b0: 8faf014c */ lw $t7,0x14c($sp) /* f0a75b4: 8e250284 */ lw $a1,0x284($s1) /* f0a75b8: 240c0004 */ addiu $t4,$zero,0x4 /* f0a75bc: afac013c */ sw $t4,0x13c($sp) /* f0a75c0: afaf0118 */ sw $t7,0x118($sp) /* f0a75c4: 8ca300d8 */ lw $v1,0xd8($a1) /* f0a75c8: 3c078007 */ lui $a3,%hi(g_InCutscene) /* f0a75cc: 14600013 */ bnez $v1,.L0f0a761c /* f0a75d0: 00000000 */ nop /* f0a75d4: 8ce70764 */ lw $a3,%lo(g_InCutscene)($a3) /* f0a75d8: 14e00010 */ bnez $a3,.L0f0a761c /* f0a75dc: 00000000 */ nop /* f0a75e0: 8ca20480 */ lw $v0,0x480($a1) /* f0a75e4: 50400007 */ beqzl $v0,.L0f0a7604 /* f0a75e8: 8caa1c54 */ lw $t2,0x1c54($a1) /* f0a75ec: 1040000b */ beqz $v0,.L0f0a761c /* f0a75f0: 00000000 */ nop /* f0a75f4: 80490037 */ lb $t1,0x37($v0) /* f0a75f8: 15200008 */ bnez $t1,.L0f0a761c /* f0a75fc: 00000000 */ nop /* f0a7600: 8caa1c54 */ lw $t2,0x1c54($a1) .L0f0a7604: /* f0a7604: 8ca800c4 */ lw $t0,0xc4($a1) /* f0a7608: 0140c027 */ nor $t8,$t2,$zero /* f0a760c: 01185824 */ and $t3,$t0,$t8 /* f0a7610: 31790001 */ andi $t9,$t3,0x1 /* f0a7614: 57200016 */ bnezl $t9,.L0f0a7670 /* f0a7618: 92681615 */ lbu $t0,0x1615($s3) .L0f0a761c: /* f0a761c: 14600078 */ bnez $v1,.L0f0a7800 /* f0a7620: 3c078007 */ lui $a3,%hi(g_InCutscene) /* f0a7624: 8ce70764 */ lw $a3,%lo(g_InCutscene)($a3) /* f0a7628: 54e00076 */ bnezl $a3,.L0f0a7804 /* f0a762c: 926d1614 */ lbu $t5,0x1614($s3) /* f0a7630: 8ca20480 */ lw $v0,0x480($a1) /* f0a7634: 50400007 */ beqzl $v0,.L0f0a7654 /* f0a7638: 8caf1c54 */ lw $t7,0x1c54($a1) /* f0a763c: 50400071 */ beqzl $v0,.L0f0a7804 /* f0a7640: 926d1614 */ lbu $t5,0x1614($s3) /* f0a7644: 804d0037 */ lb $t5,0x37($v0) /* f0a7648: 55a0006e */ bnezl $t5,.L0f0a7804 /* f0a764c: 926d1614 */ lbu $t5,0x1614($s3) /* f0a7650: 8caf1c54 */ lw $t7,0x1c54($a1) .L0f0a7654: /* f0a7654: 8cae00c4 */ lw $t6,0xc4($a1) /* f0a7658: 01e06027 */ nor $t4,$t7,$zero /* f0a765c: 01cc4824 */ and $t1,$t6,$t4 /* f0a7660: 312a0008 */ andi $t2,$t1,0x8 /* f0a7664: 51400067 */ beqzl $t2,.L0f0a7804 /* f0a7668: 926d1614 */ lbu $t5,0x1614($s3) /* f0a766c: 92681615 */ lbu $t0,0x1615($s3) .L0f0a7670: /* f0a7670: 92781614 */ lbu $t8,0x1614($s3) /* f0a7674: 26641614 */ addiu $a0,$s3,0x1614 /* f0a7678: 0118082a */ slt $at,$t0,$t8 /* f0a767c: 50200009 */ beqzl $at,.L0f0a76a4 /* f0a7680: 90820002 */ lbu $v0,0x2($a0) /* f0a7684: 90830000 */ lbu $v1,0x0($a0) /* f0a7688: 908b0002 */ lbu $t3,0x2($a0) /* f0a768c: 0163082a */ slt $at,$t3,$v1 /* f0a7690: 50200004 */ beqzl $at,.L0f0a76a4 /* f0a7694: 90820002 */ lbu $v0,0x2($a0) /* f0a7698: 1000000a */ b .L0f0a76c4 /* f0a769c: 00601025 */ or $v0,$v1,$zero /* f0a76a0: 90820002 */ lbu $v0,0x2($a0) .L0f0a76a4: /* f0a76a4: 90860001 */ lbu $a2,0x1($a0) /* f0a76a8: 00401825 */ or $v1,$v0,$zero /* f0a76ac: 0046082a */ slt $at,$v0,$a2 /* f0a76b0: 10200003 */ beqz $at,.L0f0a76c0 /* f0a76b4: 00000000 */ nop /* f0a76b8: 10000001 */ b .L0f0a76c0 /* f0a76bc: 00c01825 */ or $v1,$a2,$zero .L0f0a76c0: /* f0a76c0: 00601025 */ or $v0,$v1,$zero .L0f0a76c4: /* f0a76c4: 90890003 */ lbu $t1,0x3($a0) /* f0a76c8: 0002ce00 */ sll $t9,$v0,0x18 /* f0a76cc: 00026c00 */ sll $t5,$v0,0x10 /* f0a76d0: 032d7825 */ or $t7,$t9,$t5 /* f0a76d4: 00027200 */ sll $t6,$v0,0x8 /* f0a76d8: 01ee6025 */ or $t4,$t7,$t6 /* f0a76dc: 012c5021 */ addu $t2,$t1,$t4 /* f0a76e0: afaa0140 */ sw $t2,0x140($sp) /* f0a76e4: 8ca300d8 */ lw $v1,0xd8($a1) /* f0a76e8: 14600021 */ bnez $v1,.L0f0a7770 /* f0a76ec: 00000000 */ nop /* f0a76f0: 14e0001f */ bnez $a3,.L0f0a7770 /* f0a76f4: 00000000 */ nop /* f0a76f8: 8ca20480 */ lw $v0,0x480($a1) /* f0a76fc: 50400007 */ beqzl $v0,.L0f0a771c /* f0a7700: 8cab1c54 */ lw $t3,0x1c54($a1) /* f0a7704: 1040001a */ beqz $v0,.L0f0a7770 /* f0a7708: 00000000 */ nop /* f0a770c: 80480037 */ lb $t0,0x37($v0) /* f0a7710: 15000017 */ bnez $t0,.L0f0a7770 /* f0a7714: 00000000 */ nop /* f0a7718: 8cab1c54 */ lw $t3,0x1c54($a1) .L0f0a771c: /* f0a771c: 8cb800c4 */ lw $t8,0xc4($a1) /* f0a7720: 3c02800a */ lui $v0,%hi(var8009caec+0x3) /* f0a7724: 0160c827 */ nor $t9,$t3,$zero /* f0a7728: 03196824 */ and $t5,$t8,$t9 /* f0a772c: 31af0001 */ andi $t7,$t5,0x1 /* f0a7730: 11e0000f */ beqz $t7,.L0f0a7770 /* f0a7734: 00000000 */ nop /* f0a7738: 9042caef */ lbu $v0,%lo(var8009caec+0x3)($v0) /* f0a773c: 3c06800a */ lui $a2,%hi(var8009caf0) /* f0a7740: 90c6caf0 */ lbu $a2,%lo(var8009caf0)($a2) /* f0a7744: 00027600 */ sll $t6,$v0,0x18 /* f0a7748: 00024c00 */ sll $t1,$v0,0x10 /* f0a774c: 01c96025 */ or $t4,$t6,$t1 /* f0a7750: 00025200 */ sll $t2,$v0,0x8 /* f0a7754: 018a4025 */ or $t0,$t4,$t2 /* f0a7758: afa200b0 */ sw $v0,0xb0($sp) /* f0a775c: afa200b4 */ sw $v0,0xb4($sp) /* f0a7760: afa200b8 */ sw $v0,0xb8($sp) /* f0a7764: 00c8a821 */ addu $s5,$a2,$t0 /* f0a7768: 1000001f */ b .L0f0a77e8 /* f0a776c: afa600bc */ sw $a2,0xbc($sp) .L0f0a7770: /* f0a7770: 5460001e */ bnezl $v1,.L0f0a77ec /* f0a7774: 8fb900ec */ lw $t9,0xec($sp) /* f0a7778: 54e0001c */ bnezl $a3,.L0f0a77ec /* f0a777c: 8fb900ec */ lw $t9,0xec($sp) /* f0a7780: 8ca20480 */ lw $v0,0x480($a1) /* f0a7784: 50400007 */ beqzl $v0,.L0f0a77a4 /* f0a7788: 8cb91c54 */ lw $t9,0x1c54($a1) /* f0a778c: 50400017 */ beqzl $v0,.L0f0a77ec /* f0a7790: 8fb900ec */ lw $t9,0xec($sp) /* f0a7794: 804b0037 */ lb $t3,0x37($v0) /* f0a7798: 55600014 */ bnezl $t3,.L0f0a77ec /* f0a779c: 8fb900ec */ lw $t9,0xec($sp) /* f0a77a0: 8cb91c54 */ lw $t9,0x1c54($a1) .L0f0a77a4: /* f0a77a4: 8cb800c4 */ lw $t8,0xc4($a1) /* f0a77a8: 240200ff */ addiu $v0,$zero,0xff /* f0a77ac: 03206827 */ nor $t5,$t9,$zero /* f0a77b0: 030d7824 */ and $t7,$t8,$t5 /* f0a77b4: 31ee0008 */ andi $t6,$t7,0x8 /* f0a77b8: 11c0000b */ beqz $t6,.L0f0a77e8 /* f0a77bc: 24050080 */ addiu $a1,$zero,0x80 /* f0a77c0: 00024e00 */ sll $t1,$v0,0x18 /* f0a77c4: 00006400 */ sll $t4,$zero,0x10 /* f0a77c8: 012c5025 */ or $t2,$t1,$t4 /* f0a77cc: 00004200 */ sll $t0,$zero,0x8 /* f0a77d0: 01485825 */ or $t3,$t2,$t0 /* f0a77d4: 00aba821 */ addu $s5,$a1,$t3 /* f0a77d8: afa200a0 */ sw $v0,0xa0($sp) /* f0a77dc: afa000a4 */ sw $zero,0xa4($sp) /* f0a77e0: afa000a8 */ sw $zero,0xa8($sp) /* f0a77e4: afa500ac */ sw $a1,0xac($sp) .L0f0a77e8: /* f0a77e8: 8fb900ec */ lw $t9,0xec($sp) .L0f0a77ec: /* f0a77ec: 24010001 */ addiu $at,$zero,0x1 /* f0a77f0: 5721003d */ bnel $t9,$at,.L0f0a78e8 /* f0a77f4: 8e6f00bc */ lw $t7,0xbc($s3) /* f0a77f8: 1000003a */ b .L0f0a78e4 /* f0a77fc: afb50140 */ sw $s5,0x140($sp) .L0f0a7800: /* f0a7800: 926d1614 */ lbu $t5,0x1614($s3) .L0f0a7804: /* f0a7804: 92781617 */ lbu $t8,0x1617($s3) /* f0a7808: 92691615 */ lbu $t1,0x1615($s3) /* f0a780c: 92681616 */ lbu $t0,0x1616($s3) /* f0a7810: 000d7e00 */ sll $t7,$t5,0x18 /* f0a7814: 030f7025 */ or $t6,$t8,$t7 /* f0a7818: 00096400 */ sll $t4,$t1,0x10 /* f0a781c: 01cc5025 */ or $t2,$t6,$t4 /* f0a7820: 00085a00 */ sll $t3,$t0,0x8 /* f0a7824: 014bc825 */ or $t9,$t2,$t3 /* f0a7828: afb90140 */ sw $t9,0x140($sp) /* f0a782c: 920d0000 */ lbu $t5,0x0($s0) /* f0a7830: 24010006 */ addiu $at,$zero,0x6 /* f0a7834: 0320a825 */ or $s5,$t9,$zero /* f0a7838: 15a1002a */ bne $t5,$at,.L0f0a78e4 /* f0a783c: 3c04ff00 */ lui $a0,0xff00 /* f0a7840: 3c014248 */ lui $at,0x4248 /* f0a7844: 44812000 */ mtc1 $at,$f4 /* f0a7848: c612023c */ lwc1 $f18,0x23c($s0) /* f0a784c: 24060001 */ addiu $a2,$zero,0x1 /* f0a7850: 3c014f00 */ lui $at,0x4f00 /* f0a7854: 46049182 */ mul.s $f6,$f18,$f4 /* f0a7858: 3484007f */ ori $a0,$a0,0x7f /* f0a785c: 4458f800 */ cfc1 $t8,$31 /* f0a7860: 44c6f800 */ ctc1 $a2,$31 /* f0a7864: 00000000 */ nop /* f0a7868: 46003224 */ cvt.w.s $f8,$f6 /* f0a786c: 4446f800 */ cfc1 $a2,$31 /* f0a7870: 00000000 */ nop /* f0a7874: 30c60078 */ andi $a2,$a2,0x78 /* f0a7878: 50c00013 */ beqzl $a2,.L0f0a78c8 /* f0a787c: 44064000 */ mfc1 $a2,$f8 /* f0a7880: 44814000 */ mtc1 $at,$f8 /* f0a7884: 24060001 */ addiu $a2,$zero,0x1 /* f0a7888: 46083201 */ sub.s $f8,$f6,$f8 /* f0a788c: 44c6f800 */ ctc1 $a2,$31 /* f0a7890: 00000000 */ nop /* f0a7894: 46004224 */ cvt.w.s $f8,$f8 /* f0a7898: 4446f800 */ cfc1 $a2,$31 /* f0a789c: 00000000 */ nop /* f0a78a0: 30c60078 */ andi $a2,$a2,0x78 /* f0a78a4: 14c00005 */ bnez $a2,.L0f0a78bc /* f0a78a8: 00000000 */ nop /* f0a78ac: 44064000 */ mfc1 $a2,$f8 /* f0a78b0: 3c018000 */ lui $at,0x8000 /* f0a78b4: 10000007 */ b .L0f0a78d4 /* f0a78b8: 00c13025 */ or $a2,$a2,$at .L0f0a78bc: /* f0a78bc: 10000005 */ b .L0f0a78d4 /* f0a78c0: 2406ffff */ addiu $a2,$zero,-1 /* f0a78c4: 44064000 */ mfc1 $a2,$f8 .L0f0a78c8: /* f0a78c8: 00000000 */ nop /* f0a78cc: 04c0fffb */ bltz $a2,.L0f0a78bc /* f0a78d0: 00000000 */ nop .L0f0a78d4: /* f0a78d4: 44d8f800 */ ctc1 $t8,$31 /* f0a78d8: 0fc01a40 */ jal colourBlend /* f0a78dc: 03202825 */ or $a1,$t9,$zero /* f0a78e0: afa20140 */ sw $v0,0x140($sp) .L0f0a78e4: /* f0a78e4: 8e6f00bc */ lw $t7,0xbc($s3) .L0f0a78e8: /* f0a78e8: 0fc08af9 */ jal func0f022be4 /* f0a78ec: 8de40004 */ lw $a0,0x4($t7) /* f0a78f0: 284100ff */ slti $at,$v0,0xff /* f0a78f4: 1020000f */ beqz $at,.L0f0a7934 /* f0a78f8: 240c0001 */ addiu $t4,$zero,0x1 /* f0a78fc: 44825000 */ mtc1 $v0,$f10 /* f0a7900: 3c017f1b */ lui $at,%hi(var7f1aca90) /* f0a7904: c432ca90 */ lwc1 $f18,%lo(var7f1aca90)($at) /* f0a7908: 46805420 */ cvt.s.w $f16,$f10 /* f0a790c: 8fa40140 */ lw $a0,0x140($sp) /* f0a7910: 240e0005 */ addiu $t6,$zero,0x5 /* f0a7914: afae013c */ sw $t6,0x13c($sp) /* f0a7918: afa40144 */ sw $a0,0x144($sp) /* f0a791c: 46128102 */ mul.s $f4,$f16,$f18 /* f0a7920: 4600218d */ trunc.w.s $f6,$f4 /* f0a7924: 44033000 */ mfc1 $v1,$f6 /* f0a7928: 00000000 */ nop /* f0a792c: 24750041 */ addiu $s5,$v1,0x41 /* f0a7930: afb50140 */ sw $s5,0x140($sp) .L0f0a7934: /* f0a7934: 0c0059d8 */ jal func00016760 /* f0a7938: afac0110 */ sw $t4,0x110($sp) /* f0a793c: 8e020218 */ lw $v0,0x218($s0) /* f0a7940: 50400017 */ beqzl $v0,.L0f0a79a0 /* f0a7944: 8fa400ec */ lw $a0,0xec($sp) /* f0a7948: 8c460018 */ lw $a2,0x18($v0) /* f0a794c: afa00094 */ sw $zero,0x94($sp) /* f0a7950: 50c00013 */ beqzl $a2,.L0f0a79a0 /* f0a7954: 8fa400ec */ lw $a0,0xec($sp) /* f0a7958: 8cc80008 */ lw $t0,0x8($a2) /* f0a795c: 240a0001 */ addiu $t2,$zero,0x1 /* f0a7960: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7964: 1100000d */ beqz $t0,.L0f0a799c /* f0a7968: 00c02825 */ or $a1,$a2,$zero /* f0a796c: afaa0094 */ sw $t2,0x94($sp) /* f0a7970: 0c0087bd */ jal modelRender /* f0a7974: afa60098 */ sw $a2,0x98($sp) /* f0a7978: 8fa60098 */ lw $a2,0x98($sp) /* f0a797c: 8ccb0008 */ lw $t3,0x8($a2) /* f0a7980: 8cc4000c */ lw $a0,0xc($a2) /* f0a7984: 0fc30cfc */ jal func0f0c33f0 /* f0a7988: 8565000e */ lh $a1,0xe($t3) /* f0a798c: 8e0d021c */ lw $t5,0x21c($s0) /* f0a7990: 51a00003 */ beqzl $t5,.L0f0a79a0 /* f0a7994: 8fa400ec */ lw $a0,0xec($sp) /* f0a7998: ae000218 */ sw $zero,0x218($s0) .L0f0a799c: /* f0a799c: 8fa400ec */ lw $a0,0xec($sp) .L0f0a79a0: /* f0a79a0: 0fc2c5f0 */ jal weaponHasFlag /* f0a79a4: 24050020 */ addiu $a1,$zero,0x20 /* f0a79a8: 1040000e */ beqz $v0,.L0f0a79e4 /* f0a79ac: 24010001 */ addiu $at,$zero,0x1 /* f0a79b0: 8fb80118 */ lw $t8,0x118($sp) /* f0a79b4: 3c0fb600 */ lui $t7,0xb600 /* f0a79b8: 24093000 */ addiu $t1,$zero,0x3000 /* f0a79bc: 27190008 */ addiu $t9,$t8,0x8 /* f0a79c0: afb90118 */ sw $t9,0x118($sp) /* f0a79c4: af090004 */ sw $t1,0x4($t8) /* f0a79c8: 16800004 */ bnez $s4,.L0f0a79dc /* f0a79cc: af0f0000 */ sw $t7,0x0($t8) /* f0a79d0: 240e0003 */ addiu $t6,$zero,0x3 /* f0a79d4: 10000003 */ b .L0f0a79e4 /* f0a79d8: afae0148 */ sw $t6,0x148($sp) .L0f0a79dc: /* f0a79dc: 240c0002 */ addiu $t4,$zero,0x2 /* f0a79e0: afac0148 */ sw $t4,0x148($sp) .L0f0a79e4: /* f0a79e4: 8e28006c */ lw $t0,0x6c($s1) /* f0a79e8: 00002825 */ or $a1,$zero,$zero /* f0a79ec: 00002025 */ or $a0,$zero,$zero /* f0a79f0: 11000003 */ beqz $t0,.L0f0a7a00 /* f0a79f4: 00001025 */ or $v0,$zero,$zero /* f0a79f8: 10000001 */ b .L0f0a7a00 /* f0a79fc: 24050001 */ addiu $a1,$zero,0x1 .L0f0a7a00: /* f0a7a00: 8e2a0068 */ lw $t2,0x68($s1) /* f0a7a04: 00001825 */ or $v1,$zero,$zero /* f0a7a08: 11400003 */ beqz $t2,.L0f0a7a18 /* f0a7a0c: 00000000 */ nop /* f0a7a10: 10000001 */ b .L0f0a7a18 /* f0a7a14: 24040001 */ addiu $a0,$zero,0x1 .L0f0a7a18: /* f0a7a18: 8e2b0064 */ lw $t3,0x64($s1) /* f0a7a1c: 11600003 */ beqz $t3,.L0f0a7a2c /* f0a7a20: 00000000 */ nop /* f0a7a24: 10000001 */ b .L0f0a7a2c /* f0a7a28: 24020001 */ addiu $v0,$zero,0x1 .L0f0a7a2c: /* f0a7a2c: 8e2d0070 */ lw $t5,0x70($s1) /* f0a7a30: 11a00003 */ beqz $t5,.L0f0a7a40 /* f0a7a34: 00000000 */ nop /* f0a7a38: 10000001 */ b .L0f0a7a40 /* f0a7a3c: 24030001 */ addiu $v1,$zero,0x1 .L0f0a7a40: /* f0a7a40: 0062c021 */ addu $t8,$v1,$v0 /* f0a7a44: 0304c821 */ addu $t9,$t8,$a0 /* f0a7a48: 03257821 */ addu $t7,$t9,$a1 /* f0a7a4c: 15e10036 */ bne $t7,$at,.L0f0a7b28 /* f0a7a50: 24050041 */ addiu $a1,$zero,0x41 /* f0a7a54: 0c006a47 */ jal modelGetPart /* f0a7a58: 8e04038c */ lw $a0,0x38c($s0) /* f0a7a5c: 50400033 */ beqzl $v0,.L0f0a7b2c /* f0a7a60: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7a64: 8c440004 */ lw $a0,0x4($v0) /* f0a7a68: 00002825 */ or $a1,$zero,$zero /* f0a7a6c: 84890010 */ lh $t1,0x10($a0) /* f0a7a70: 5920002e */ blezl $t1,.L0f0a7b2c /* f0a7a74: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7a78: 8e2a0034 */ lw $t2,0x34($s1) .L0f0a7a7c: /* f0a7a7c: 8c8e000c */ lw $t6,0xc($a0) /* f0a7a80: 00056080 */ sll $t4,$a1,0x2 /* f0a7a84: 01520019 */ multu $t2,$s2 /* f0a7a88: 01856023 */ subu $t4,$t4,$a1 /* f0a7a8c: 000c6080 */ sll $t4,$t4,0x2 /* f0a7a90: 01cc1021 */ addu $v0,$t6,$t4 /* f0a7a94: 8448000a */ lh $t0,0xa($v0) /* f0a7a98: 0005c880 */ sll $t9,$a1,0x2 /* f0a7a9c: 0325c823 */ subu $t9,$t9,$a1 /* f0a7aa0: 0019c880 */ sll $t9,$t9,0x2 /* f0a7aa4: 24420002 */ addiu $v0,$v0,0x2 /* f0a7aa8: 00005812 */ mflo $t3 /* f0a7aac: 010b6823 */ subu $t5,$t0,$t3 /* f0a7ab0: a44d0008 */ sh $t5,0x8($v0) /* f0a7ab4: 8c98000c */ lw $t8,0xc($a0) /* f0a7ab8: 03197821 */ addu $t7,$t8,$t9 /* f0a7abc: 85e9000a */ lh $t1,0xa($t7) /* f0a7ac0: 2921a000 */ slti $at,$t1,-24576 /* f0a7ac4: 50200014 */ beqzl $at,.L0f0a7b18 /* f0a7ac8: 84980010 */ lh $t8,0x10($a0) /* f0a7acc: 848e0010 */ lh $t6,0x10($a0) /* f0a7ad0: 00001825 */ or $v1,$zero,$zero /* f0a7ad4: 59c00010 */ blezl $t6,.L0f0a7b18 /* f0a7ad8: 84980010 */ lh $t8,0x10($a0) /* f0a7adc: 8c8c000c */ lw $t4,0xc($a0) .L0f0a7ae0: /* f0a7ae0: 00035080 */ sll $t2,$v1,0x2 /* f0a7ae4: 01435023 */ subu $t2,$t2,$v1 /* f0a7ae8: 000a5080 */ sll $t2,$t2,0x2 /* f0a7aec: 018a1021 */ addu $v0,$t4,$t2 /* f0a7af0: 8448000a */ lh $t0,0xa($v0) /* f0a7af4: 24630001 */ addiu $v1,$v1,0x1 /* f0a7af8: 24420002 */ addiu $v0,$v0,0x2 /* f0a7afc: 250b2000 */ addiu $t3,$t0,0x2000 /* f0a7b00: a44b0008 */ sh $t3,0x8($v0) /* f0a7b04: 848d0010 */ lh $t5,0x10($a0) /* f0a7b08: 006d082a */ slt $at,$v1,$t5 /* f0a7b0c: 5420fff4 */ bnezl $at,.L0f0a7ae0 /* f0a7b10: 8c8c000c */ lw $t4,0xc($a0) /* f0a7b14: 84980010 */ lh $t8,0x10($a0) .L0f0a7b18: /* f0a7b18: 24a50001 */ addiu $a1,$a1,0x1 /* f0a7b1c: 00b8082a */ slt $at,$a1,$t8 /* f0a7b20: 5420ffd6 */ bnezl $at,.L0f0a7a7c /* f0a7b24: 8e2a0034 */ lw $t2,0x34($s1) .L0f0a7b28: /* f0a7b28: 27a4010c */ addiu $a0,$sp,0x10c .L0f0a7b2c: /* f0a7b2c: 0c0087bd */ jal modelRender /* f0a7b30: 8fa5003c */ lw $a1,0x3c($sp) /* f0a7b34: 8e791594 */ lw $t9,0x1594($s3) /* f0a7b38: 3c0f8007 */ lui $t7,%hi(var800702dc) /* f0a7b3c: 53200013 */ beqzl $t9,.L0f0a7b8c /* f0a7b40: 8fac0118 */ lw $t4,0x118($sp) /* f0a7b44: 8def02dc */ lw $t7,%lo(var800702dc)($t7) /* f0a7b48: 8fa90140 */ lw $t1,0x140($sp) /* f0a7b4c: 51e0000f */ beqzl $t7,.L0f0a7b8c /* f0a7b50: 8fac0118 */ lw $t4,0x118($sp) /* f0a7b54: afa9007c */ sw $t1,0x7c($sp) /* f0a7b58: 8e0e0390 */ lw $t6,0x390($s0) /* f0a7b5c: 26050534 */ addiu $a1,$s0,0x534 /* f0a7b60: 00a02025 */ or $a0,$a1,$zero /* f0a7b64: ae0e0540 */ sw $t6,0x540($s0) /* f0a7b68: 0c007308 */ jal func0001cc20 /* f0a7b6c: afa50054 */ sw $a1,0x54($sp) /* f0a7b70: 8fa50054 */ lw $a1,0x54($sp) /* f0a7b74: afb50140 */ sw $s5,0x140($sp) /* f0a7b78: 0c0087bd */ jal modelRender /* f0a7b7c: 27a4010c */ addiu $a0,$sp,0x10c /* f0a7b80: 8fa4007c */ lw $a0,0x7c($sp) /* f0a7b84: afa40140 */ sw $a0,0x140($sp) /* f0a7b88: 8fac0118 */ lw $t4,0x118($sp) .L0f0a7b8c: /* f0a7b8c: 8fa400ec */ lw $a0,0xec($sp) /* f0a7b90: 24050020 */ addiu $a1,$zero,0x20 /* f0a7b94: 0fc2c5f0 */ jal weaponHasFlag /* f0a7b98: afac014c */ sw $t4,0x14c($sp) /* f0a7b9c: 10400007 */ beqz $v0,.L0f0a7bbc /* f0a7ba0: 8faa014c */ lw $t2,0x14c($sp) /* f0a7ba4: 25480008 */ addiu $t0,$t2,0x8 /* f0a7ba8: afa8014c */ sw $t0,0x14c($sp) /* f0a7bac: 3c0bb600 */ lui $t3,0xb600 /* f0a7bb0: 240d3000 */ addiu $t5,$zero,0x3000 /* f0a7bb4: ad4d0004 */ sw $t5,0x4($t2) /* f0a7bb8: ad4b0000 */ sw $t3,0x0($t2) .L0f0a7bbc: /* f0a7bbc: 8e18038c */ lw $t8,0x38c($s0) /* f0a7bc0: 8e040390 */ lw $a0,0x390($s0) /* f0a7bc4: 0fc30cfc */ jal func0f0c33f0 /* f0a7bc8: 8705000e */ lh $a1,0xe($t8) /* f0a7bcc: 0c0059e1 */ jal func00016784 /* f0a7bd0: 00000000 */ nop /* f0a7bd4: 8fb9014c */ lw $t9,0x14c($sp) /* f0a7bd8: 3c09bc00 */ lui $t1,0xbc00 /* f0a7bdc: 3529000e */ ori $t1,$t1,0xe /* f0a7be0: 272f0008 */ addiu $t7,$t9,0x8 /* f0a7be4: afaf014c */ sw $t7,0x14c($sp) /* f0a7be8: af290000 */ sw $t1,0x0($t9) /* f0a7bec: 0c002adb */ jal func0000ab6c /* f0a7bf0: afb90074 */ sw $t9,0x74($sp) /* f0a7bf4: 8fa30074 */ lw $v1,0x74($sp) /* f0a7bf8: ac620004 */ sw $v0,0x4($v1) .L0f0a7bfc: /* f0a7bfc: 26940001 */ addiu $s4,$s4,0x1 /* f0a7c00: 24010002 */ addiu $at,$zero,0x2 /* f0a7c04: 1681fe04 */ bne $s4,$at,.L0f0a7418 /* f0a7c08: 261007a4 */ addiu $s0,$s0,0x7a4 /* f0a7c0c: afb500e4 */ sw $s5,0xe4($sp) /* f0a7c10: 0fc2baf8 */ jal func0f0aebe0 /* f0a7c14: 27a4014c */ addiu $a0,$sp,0x14c /* f0a7c18: 0fc5d8a6 */ jal func0f176298 /* f0a7c1c: 00000000 */ nop /* f0a7c20: 0fc5d8ab */ jal func0f1762ac /* f0a7c24: 8fa4014c */ lw $a0,0x14c($sp) /* f0a7c28: afa2014c */ sw $v0,0x14c($sp) /* f0a7c2c: 0c002c74 */ jal func0000b1d0 /* f0a7c30: 00402025 */ or $a0,$v0,$zero /* f0a7c34: 244e0008 */ addiu $t6,$v0,0x8 /* f0a7c38: afae014c */ sw $t6,0x14c($sp) /* f0a7c3c: 0c002f40 */ jal viGetViewLeft /* f0a7c40: 00408825 */ or $s1,$v0,$zero /* f0a7c44: 00028400 */ sll $s0,$v0,0x10 /* f0a7c48: 00106403 */ sra $t4,$s0,0x10 /* f0a7c4c: 0c002f44 */ jal viGetViewTop /* f0a7c50: 01808025 */ or $s0,$t4,$zero /* f0a7c54: 44824000 */ mtc1 $v0,$f8 /* f0a7c58: 44902000 */ mtc1 $s0,$f4 /* f0a7c5c: 3c014080 */ lui $at,0x4080 /* f0a7c60: 468042a0 */ cvt.s.w $f10,$f8 /* f0a7c64: 44810000 */ mtc1 $at,$f0 /* f0a7c68: 3c01ed00 */ lui $at,0xed00 /* f0a7c6c: 468021a0 */ cvt.s.w $f6,$f4 /* f0a7c70: 46005402 */ mul.s $f16,$f10,$f0 /* f0a7c74: 00000000 */ nop /* f0a7c78: 46003202 */ mul.s $f8,$f6,$f0 /* f0a7c7c: 4600848d */ trunc.w.s $f18,$f16 /* f0a7c80: 4600428d */ trunc.w.s $f10,$f8 /* f0a7c84: 44089000 */ mfc1 $t0,$f18 /* f0a7c88: 44195000 */ mfc1 $t9,$f10 /* f0a7c8c: 310b0fff */ andi $t3,$t0,0xfff /* f0a7c90: 01616825 */ or $t5,$t3,$at /* f0a7c94: 332f0fff */ andi $t7,$t9,0xfff /* f0a7c98: 000f4b00 */ sll $t1,$t7,0xc /* f0a7c9c: 01a97025 */ or $t6,$t5,$t1 /* f0a7ca0: 0c002f22 */ jal viGetViewWidth /* f0a7ca4: ae2e0000 */ sw $t6,0x0($s1) /* f0a7ca8: 00029400 */ sll $s2,$v0,0x10 /* f0a7cac: 00126403 */ sra $t4,$s2,0x10 /* f0a7cb0: 0c002f40 */ jal viGetViewLeft /* f0a7cb4: 01809025 */ or $s2,$t4,$zero /* f0a7cb8: 0002a400 */ sll $s4,$v0,0x10 /* f0a7cbc: 00145403 */ sra $t2,$s4,0x10 /* f0a7cc0: 0c002f44 */ jal viGetViewTop /* f0a7cc4: 0140a025 */ or $s4,$t2,$zero /* f0a7cc8: 00028400 */ sll $s0,$v0,0x10 /* f0a7ccc: 00104403 */ sra $t0,$s0,0x10 /* f0a7cd0: 0c002f26 */ jal viGetViewHeight /* f0a7cd4: 01008025 */ or $s0,$t0,$zero /* f0a7cd8: 00505821 */ addu $t3,$v0,$s0 /* f0a7cdc: 448b8000 */ mtc1 $t3,$f16 /* f0a7ce0: 02926821 */ addu $t5,$s4,$s2 /* f0a7ce4: 448d5000 */ mtc1 $t5,$f10 /* f0a7ce8: 468084a0 */ cvt.s.w $f18,$f16 /* f0a7cec: 3c014080 */ lui $at,0x4080 /* f0a7cf0: 44812000 */ mtc1 $at,$f4 /* f0a7cf4: 46805420 */ cvt.s.w $f16,$f10 /* f0a7cf8: 46049182 */ mul.s $f6,$f18,$f4 /* f0a7cfc: 44819000 */ mtc1 $at,$f18 /* f0a7d00: 00000000 */ nop /* f0a7d04: 46128102 */ mul.s $f4,$f16,$f18 /* f0a7d08: 4600320d */ trunc.w.s $f8,$f6 /* f0a7d0c: 4600218d */ trunc.w.s $f6,$f4 /* f0a7d10: 44194000 */ mfc1 $t9,$f8 /* f0a7d14: 440e3000 */ mfc1 $t6,$f6 /* f0a7d18: 332f0fff */ andi $t7,$t9,0xfff /* f0a7d1c: 31cc0fff */ andi $t4,$t6,0xfff /* f0a7d20: 000c5300 */ sll $t2,$t4,0xc /* f0a7d24: 01ea4025 */ or $t0,$t7,$t2 /* f0a7d28: ae280004 */ sw $t0,0x4($s1) /* f0a7d2c: 8fb80150 */ lw $t8,0x150($sp) /* f0a7d30: 8fab014c */ lw $t3,0x14c($sp) /* f0a7d34: af0b0000 */ sw $t3,0x0($t8) /* f0a7d38: 8fbf0034 */ lw $ra,0x34($sp) .L0f0a7d3c: /* f0a7d3c: 8fb0001c */ lw $s0,0x1c($sp) /* f0a7d40: 8fb10020 */ lw $s1,0x20($sp) /* f0a7d44: 8fb20024 */ lw $s2,0x24($sp) /* f0a7d48: 8fb30028 */ lw $s3,0x28($sp) /* f0a7d4c: 8fb4002c */ lw $s4,0x2c($sp) /* f0a7d50: 8fb50030 */ lw $s5,0x30($sp) /* f0a7d54: 03e00008 */ jr $ra /* f0a7d58: 27bd0150 */ addiu $sp,$sp,0x150 ); #else GLOBAL_ASM( glabel bgun0f0a7138 .late_rodata glabel var7f1aca8c .word 0x3faaaaab glabel var7f1aca90 .word 0x3f3ebebf .text /* f0a4e84: 27bdfeb8 */ addiu $sp,$sp,-328 /* f0a4e88: afbf0034 */ sw $ra,0x34($sp) /* f0a4e8c: afb50030 */ sw $s5,0x30($sp) /* f0a4e90: afb4002c */ sw $s4,0x2c($sp) /* f0a4e94: afb30028 */ sw $s3,0x28($sp) /* f0a4e98: afb20024 */ sw $s2,0x24($sp) /* f0a4e9c: afb10020 */ sw $s1,0x20($sp) /* f0a4ea0: afb0001c */ sw $s0,0x1c($sp) /* f0a4ea4: afa40148 */ sw $a0,0x148($sp) /* f0a4ea8: 8c8f0000 */ lw $t7,0x0($a0) /* f0a4eac: 3c198007 */ lui $t9,0x8007 /* f0a4eb0: 3c11800a */ lui $s1,0x800a /* f0a4eb4: 2739295c */ addiu $t9,$t9,0x295c /* f0a4eb8: 2631e6c0 */ addiu $s1,$s1,-6464 /* f0a4ebc: 272a003c */ addiu $t2,$t9,0x3c /* f0a4ec0: 27b80104 */ addiu $t8,$sp,0x104 /* f0a4ec4: afaf0144 */ sw $t7,0x144($sp) .NB0f0a4ec8: /* f0a4ec8: 8f210000 */ lw $at,0x0($t9) /* f0a4ecc: 2739000c */ addiu $t9,$t9,0xc /* f0a4ed0: 2718000c */ addiu $t8,$t8,0xc /* f0a4ed4: af01fff4 */ sw $at,-0xc($t8) /* f0a4ed8: 8f21fff8 */ lw $at,-0x8($t9) /* f0a4edc: af01fff8 */ sw $at,-0x8($t8) /* f0a4ee0: 8f21fffc */ lw $at,-0x4($t9) /* f0a4ee4: 172afff8 */ bne $t9,$t2,.NB0f0a4ec8 /* f0a4ee8: af01fffc */ sw $at,-0x4($t8) /* f0a4eec: 8f210000 */ lw $at,0x0($t9) /* f0a4ef0: af010000 */ sw $at,0x0($t8) /* f0a4ef4: 8e330284 */ lw $s3,0x284($s1) /* f0a4ef8: 24010001 */ addiu $at,$zero,0x1 /* f0a4efc: 966b0010 */ lhu $t3,0x10($s3) /* f0a4f00: 1561000d */ bne $t3,$at,.NB0f0a4f38 /* f0a4f04: 00001025 */ or $v0,$zero,$zero /* f0a4f08: 24040f48 */ addiu $a0,$zero,0xf48 /* f0a4f0c: 8e2c0284 */ lw $t4,0x284($s1) .NB0f0a4f10: /* f0a4f10: 01821821 */ addu $v1,$t4,$v0 /* f0a4f14: 8c6d0854 */ lw $t5,0x854($v1) /* f0a4f18: 244207a4 */ addiu $v0,$v0,0x7a4 /* f0a4f1c: 11a00002 */ beqz $t5,.NB0f0a4f28 /* f0a4f20: 00000000 */ sll $zero,$zero,0x0 /* f0a4f24: ac600850 */ sw $zero,0x850($v1) .NB0f0a4f28: /* f0a4f28: 5444fff9 */ bnel $v0,$a0,.NB0f0a4f10 /* f0a4f2c: 8e2c0284 */ lw $t4,0x284($s1) /* f0a4f30: 100002cd */ beqz $zero,.NB0f0a5a68 /* f0a4f34: 8fbf0034 */ lw $ra,0x34($sp) .NB0f0a4f38: /* f0a4f38: 0fc5c4d5 */ jal func0f1766b4 /* f0a4f3c: 8fa40144 */ lw $a0,0x144($sp) /* f0a4f40: afa20144 */ sw $v0,0x144($sp) /* f0a4f44: 0c002d00 */ jal func0000b280 /* f0a4f48: 00402025 */ or $a0,$v0,$zero /* f0a4f4c: afa20144 */ sw $v0,0x144($sp) /* f0a4f50: 0c002cd4 */ jal func0000b1d0 /* f0a4f54: 00402025 */ or $a0,$v0,$zero /* f0a4f58: 244e0008 */ addiu $t6,$v0,0x8 /* f0a4f5c: afae0144 */ sw $t6,0x144($sp) /* f0a4f60: 0c002fb5 */ jal viGetViewLeft /* f0a4f64: 0040a825 */ or $s5,$v0,$zero /* f0a4f68: 00028400 */ sll $s0,$v0,0x10 /* f0a4f6c: 00107c03 */ sra $t7,$s0,0x10 /* f0a4f70: 0c002fb9 */ jal viGetViewTop /* f0a4f74: 01e08025 */ or $s0,$t7,$zero /* f0a4f78: 44822000 */ mtc1 $v0,$f4 /* f0a4f7c: 44908000 */ mtc1 $s0,$f16 /* f0a4f80: 3c014080 */ lui $at,0x4080 /* f0a4f84: 468021a0 */ cvt.s.w $f6,$f4 /* f0a4f88: 44810000 */ mtc1 $at,$f0 /* f0a4f8c: 3c01ed00 */ lui $at,0xed00 /* f0a4f90: 468084a0 */ cvt.s.w $f18,$f16 /* f0a4f94: 46003202 */ mul.s $f8,$f6,$f0 /* f0a4f98: 00000000 */ sll $zero,$zero,0x0 /* f0a4f9c: 46009102 */ mul.s $f4,$f18,$f0 /* f0a4fa0: 4600428d */ trunc.w.s $f10,$f8 /* f0a4fa4: 4600218d */ trunc.w.s $f6,$f4 /* f0a4fa8: 44085000 */ mfc1 $t0,$f10 /* f0a4fac: 440b3000 */ mfc1 $t3,$f6 /* f0a4fb0: 310a0fff */ andi $t2,$t0,0xfff /* f0a4fb4: 0141c825 */ or $t9,$t2,$at /* f0a4fb8: 316c0fff */ andi $t4,$t3,0xfff /* f0a4fbc: 000c6b00 */ sll $t5,$t4,0xc /* f0a4fc0: 032d7025 */ or $t6,$t9,$t5 /* f0a4fc4: 0c002f97 */ jal viGetViewWidth /* f0a4fc8: aeae0000 */ sw $t6,0x0($s5) /* f0a4fcc: 00029400 */ sll $s2,$v0,0x10 /* f0a4fd0: 00127c03 */ sra $t7,$s2,0x10 /* f0a4fd4: 0c002fb5 */ jal viGetViewLeft /* f0a4fd8: 01e09025 */ or $s2,$t7,$zero /* f0a4fdc: 0002a400 */ sll $s4,$v0,0x10 /* f0a4fe0: 00144c03 */ sra $t1,$s4,0x10 /* f0a4fe4: 0c002fb9 */ jal viGetViewTop /* f0a4fe8: 0120a025 */ or $s4,$t1,$zero /* f0a4fec: 00028400 */ sll $s0,$v0,0x10 /* f0a4ff0: 00104403 */ sra $t0,$s0,0x10 /* f0a4ff4: 0c002f9b */ jal viGetViewHeight /* f0a4ff8: 01008025 */ or $s0,$t0,$zero /* f0a4ffc: 00505021 */ addu $t2,$v0,$s0 /* f0a5000: 448a4000 */ mtc1 $t2,$f8 /* f0a5004: 0292c821 */ addu $t9,$s4,$s2 /* f0a5008: 44992000 */ mtc1 $t9,$f4 /* f0a500c: 468042a0 */ cvt.s.w $f10,$f8 /* f0a5010: 3c014080 */ lui $at,0x4080 /* f0a5014: 44810000 */ mtc1 $at,$f0 /* f0a5018: 3c053fc0 */ lui $a1,0x3fc0 /* f0a501c: 3c06447a */ lui $a2,0x447a /* f0a5020: 468021a0 */ cvt.s.w $f6,$f4 /* f0a5024: 46005402 */ mul.s $f16,$f10,$f0 /* f0a5028: 00000000 */ sll $zero,$zero,0x0 /* f0a502c: 46003202 */ mul.s $f8,$f6,$f0 /* f0a5030: 4600848d */ trunc.w.s $f18,$f16 /* f0a5034: 4600428d */ trunc.w.s $f10,$f8 /* f0a5038: 440b9000 */ mfc1 $t3,$f18 /* f0a503c: 440e5000 */ mfc1 $t6,$f10 /* f0a5040: 316c0fff */ andi $t4,$t3,0xfff /* f0a5044: 31cf0fff */ andi $t7,$t6,0xfff /* f0a5048: 000f4b00 */ sll $t1,$t7,0xc /* f0a504c: 01894025 */ or $t0,$t4,$t1 /* f0a5050: aea80004 */ sw $t0,0x4($s5) /* f0a5054: 0c002b89 */ jal func0000aca4 /* f0a5058: 8fa40144 */ lw $a0,0x144($sp) /* f0a505c: 8e2a0284 */ lw $t2,0x284($s1) /* f0a5060: afa20144 */ sw $v0,0x144($sp) /* f0a5064: 91581bfc */ lbu $t8,0x1bfc($t2) /* f0a5068: 53000016 */ beqzl $t8,.NB0f0a50c4 /* f0a506c: 8e2b006c */ lw $t3,0x6c($s1) /* f0a5070: 0fc53582 */ jal optionsGetScreenRatio /* f0a5074: 00000000 */ sll $zero,$zero,0x0 /* f0a5078: 24010001 */ addiu $at,$zero,0x1 /* f0a507c: 14410008 */ bne $v0,$at,.NB0f0a50a0 /* f0a5080: 00000000 */ sll $zero,$zero,0x0 /* f0a5084: 0fc2ebf0 */ jal func0f0bd358 /* f0a5088: 00000000 */ sll $zero,$zero,0x0 /* f0a508c: 3c017f1a */ lui $at,0x7f1a /* f0a5090: c4306dd4 */ lwc1 $f16,0x6dd4($at) /* f0a5094: 46100082 */ mul.s $f2,$f0,$f16 /* f0a5098: 10000005 */ beqz $zero,.NB0f0a50b0 /* f0a509c: 44061000 */ mfc1 $a2,$f2 .NB0f0a50a0: /* f0a50a0: 0fc2ebf0 */ jal func0f0bd358 /* f0a50a4: 00000000 */ sll $zero,$zero,0x0 /* f0a50a8: 46000086 */ mov.s $f2,$f0 /* f0a50ac: 44061000 */ mfc1 $a2,$f2 .NB0f0a50b0: /* f0a50b0: 8fa40144 */ lw $a0,0x144($sp) /* f0a50b4: 0c002c9a */ jal func0000b0e8 /* f0a50b8: 3c054270 */ lui $a1,0x4270 /* f0a50bc: afa20144 */ sw $v0,0x144($sp) /* f0a50c0: 8e2b006c */ lw $t3,0x6c($s1) .NB0f0a50c4: /* f0a50c4: 24010001 */ addiu $at,$zero,0x1 /* f0a50c8: 51600004 */ beqzl $t3,.NB0f0a50dc /* f0a50cc: 00002825 */ or $a1,$zero,$zero /* f0a50d0: 10000002 */ beqz $zero,.NB0f0a50dc /* f0a50d4: 24050001 */ addiu $a1,$zero,0x1 /* f0a50d8: 00002825 */ or $a1,$zero,$zero .NB0f0a50dc: /* f0a50dc: 8e390068 */ lw $t9,0x68($s1) /* f0a50e0: 53200004 */ beqzl $t9,.NB0f0a50f4 /* f0a50e4: 00002025 */ or $a0,$zero,$zero /* f0a50e8: 10000002 */ beqz $zero,.NB0f0a50f4 /* f0a50ec: 24040001 */ addiu $a0,$zero,0x1 /* f0a50f0: 00002025 */ or $a0,$zero,$zero .NB0f0a50f4: /* f0a50f4: 8e2d0064 */ lw $t5,0x64($s1) /* f0a50f8: 51a00004 */ beqzl $t5,.NB0f0a510c /* f0a50fc: 00001025 */ or $v0,$zero,$zero /* f0a5100: 10000002 */ beqz $zero,.NB0f0a510c /* f0a5104: 24020001 */ addiu $v0,$zero,0x1 /* f0a5108: 00001025 */ or $v0,$zero,$zero .NB0f0a510c: /* f0a510c: 8e2e0070 */ lw $t6,0x70($s1) /* f0a5110: 51c00004 */ beqzl $t6,.NB0f0a5124 /* f0a5114: 00001825 */ or $v1,$zero,$zero /* f0a5118: 10000002 */ beqz $zero,.NB0f0a5124 /* f0a511c: 24030001 */ addiu $v1,$zero,0x1 /* f0a5120: 00001825 */ or $v1,$zero,$zero .NB0f0a5124: /* f0a5124: 00627821 */ addu $t7,$v1,$v0 /* f0a5128: 01e46021 */ addu $t4,$t7,$a0 /* f0a512c: 01854821 */ addu $t1,$t4,$a1 /* f0a5130: 15210008 */ bne $t1,$at,.NB0f0a5154 /* f0a5134: 3c088009 */ lui $t0,0x8009 /* f0a5138: 910830e0 */ lbu $t0,0x30e0($t0) /* f0a513c: 24010001 */ addiu $at,$zero,0x1 /* f0a5140: 51010005 */ beql $t0,$at,.NB0f0a5158 /* f0a5144: 0000a025 */ or $s4,$zero,$zero /* f0a5148: 0fc2b5eb */ jal lasersightRenderBeam /* f0a514c: 8fa40144 */ lw $a0,0x144($sp) /* f0a5150: afa20144 */ sw $v0,0x144($sp) .NB0f0a5154: /* f0a5154: 0000a025 */ or $s4,$zero,$zero .NB0f0a5158: /* f0a5158: 26700638 */ addiu $s0,$s3,0x638 /* f0a515c: 8fb500dc */ lw $s5,0xdc($sp) /* f0a5160: 24120019 */ addiu $s2,$zero,0x19 .NB0f0a5164: /* f0a5164: 0fc27de9 */ jal bgunGetWeaponNum2 /* f0a5168: 02802025 */ or $a0,$s4,$zero /* f0a516c: afa200e4 */ sw $v0,0xe4($sp) /* f0a5170: 820a0007 */ lb $t2,0x7($s0) /* f0a5174: 8fa40144 */ lw $a0,0x144($sp) /* f0a5178: 260501dc */ addiu $a1,$s0,0x1dc /* f0a517c: 114001ea */ beqz $t2,.NB0f0a5928 /* f0a5180: 00003025 */ or $a2,$zero,$zero /* f0a5184: 26180384 */ addiu $t8,$s0,0x384 /* f0a5188: afb80038 */ sw $t8,0x38($sp) /* f0a518c: 0fc2aa3c */ jal func0f0acb90 /* f0a5190: 00003825 */ or $a3,$zero,$zero /* f0a5194: afa20144 */ sw $v0,0x144($sp) /* f0a5198: 92040000 */ lbu $a0,0x0($s0) /* f0a519c: 0fc2bd48 */ jal weaponHasFlag /* f0a51a0: 34058000 */ dli $a1,0x8000 /* f0a51a4: 10400030 */ beqz $v0,.NB0f0a5268 /* f0a51a8: 8fab0144 */ lw $t3,0x144($sp) /* f0a51ac: 25790008 */ addiu $t9,$t3,0x8 /* f0a51b0: afb90144 */ sw $t9,0x144($sp) /* f0a51b4: 3c0dbc00 */ lui $t5,0xbc00 /* f0a51b8: 3c0e8000 */ lui $t6,0x8000 /* f0a51bc: 35ce0040 */ ori $t6,$t6,0x40 /* f0a51c0: 35ad0002 */ ori $t5,$t5,0x2 /* f0a51c4: ad6d0000 */ sw $t5,0x0($t3) /* f0a51c8: ad6e0004 */ sw $t6,0x4($t3) /* f0a51cc: 8faf0144 */ lw $t7,0x144($sp) /* f0a51d0: 3c090386 */ lui $t1,0x386 /* f0a51d4: 3c088007 */ lui $t0,0x8007 /* f0a51d8: 25ec0008 */ addiu $t4,$t7,0x8 /* f0a51dc: afac0144 */ sw $t4,0x144($sp) /* f0a51e0: 25082758 */ addiu $t0,$t0,0x2758 /* f0a51e4: 35290010 */ ori $t1,$t1,0x10 /* f0a51e8: ade90000 */ sw $t1,0x0($t7) /* f0a51ec: ade80004 */ sw $t0,0x4($t7) /* f0a51f0: 8faa0144 */ lw $t2,0x144($sp) /* f0a51f4: 3c0b0388 */ lui $t3,0x388 /* f0a51f8: 3c198007 */ lui $t9,0x8007 /* f0a51fc: 25580008 */ addiu $t8,$t2,0x8 /* f0a5200: afb80144 */ sw $t8,0x144($sp) /* f0a5204: 27392750 */ addiu $t9,$t9,0x2750 /* f0a5208: 356b0010 */ ori $t3,$t3,0x10 /* f0a520c: ad4b0000 */ sw $t3,0x0($t2) /* f0a5210: ad590004 */ sw $t9,0x4($t2) /* f0a5214: 8fad0144 */ lw $t5,0x144($sp) /* f0a5218: 3c0f0384 */ lui $t7,0x384 /* f0a521c: 35ef0010 */ ori $t7,$t7,0x10 /* f0a5220: 25ae0008 */ addiu $t6,$t5,0x8 /* f0a5224: afae0144 */ sw $t6,0x144($sp) /* f0a5228: adaf0000 */ sw $t7,0x0($t5) /* f0a522c: 0fc2cd42 */ jal currentPlayerGetUnk175c /* f0a5230: afad00cc */ sw $t5,0xcc($sp) /* f0a5234: 8fa500cc */ lw $a1,0xcc($sp) /* f0a5238: 3c080382 */ lui $t0,0x382 /* f0a523c: 35080010 */ ori $t0,$t0,0x10 /* f0a5240: aca20004 */ sw $v0,0x4($a1) /* f0a5244: 8fac0144 */ lw $t4,0x144($sp) /* f0a5248: 25890008 */ addiu $t1,$t4,0x8 /* f0a524c: afa90144 */ sw $t1,0x144($sp) /* f0a5250: ad880000 */ sw $t0,0x0($t4) /* f0a5254: 0fc2cd42 */ jal currentPlayerGetUnk175c /* f0a5258: afac00c8 */ sw $t4,0xc8($sp) /* f0a525c: 8fa300c8 */ lw $v1,0xc8($sp) /* f0a5260: 244a0010 */ addiu $t2,$v0,0x10 /* f0a5264: ac6a0004 */ sw $t2,0x4($v1) .NB0f0a5268: /* f0a5268: 8fb80144 */ lw $t8,0x144($sp) /* f0a526c: 3c19bc00 */ lui $t9,0xbc00 /* f0a5270: 3739000e */ ori $t9,$t9,0xe /* f0a5274: 270b0008 */ addiu $t3,$t8,0x8 /* f0a5278: afab0144 */ sw $t3,0x144($sp) /* f0a527c: 3c014396 */ lui $at,0x4396 /* f0a5280: 44817000 */ mtc1 $at,$f14 /* f0a5284: 44806000 */ mtc1 $zero,$f12 /* f0a5288: af190000 */ sw $t9,0x0($t8) /* f0a528c: 0c005f57 */ jal func00016dcc /* f0a5290: afb800c4 */ sw $t8,0xc4($sp) /* f0a5294: 8fa300c4 */ lw $v1,0xc4($sp) /* f0a5298: 24050010 */ addiu $a1,$zero,0x10 /* f0a529c: ac620004 */ sw $v0,0x4($v1) /* f0a52a0: 0c006ea3 */ jal modelGetPart /* f0a52a4: 8e04038c */ lw $a0,0x38c($s0) /* f0a52a8: 10400014 */ beqz $v0,.NB0f0a52fc /* f0a52ac: afa200e0 */ sw $v0,0xe0($sp) /* f0a52b0: 8e04038c */ lw $a0,0x38c($s0) /* f0a52b4: 0c006ea3 */ jal modelGetPart /* f0a52b8: 24050011 */ addiu $a1,$zero,0x11 /* f0a52bc: 8fa40038 */ lw $a0,0x38($sp) /* f0a52c0: 0c006bab */ jal modelGetNodeRwData /* f0a52c4: 00402825 */ or $a1,$v0,$zero /* f0a52c8: 10400003 */ beqz $v0,.NB0f0a52d8 /* f0a52cc: 3c06800a */ lui $a2,0x800a /* f0a52d0: 240d0001 */ addiu $t5,$zero,0x1 /* f0a52d4: ac4d0000 */ sw $t5,0x0($v0) .NB0f0a52d8: /* f0a52d8: 240e0001 */ addiu $t6,$zero,0x1 /* f0a52dc: afae0014 */ sw $t6,0x14($sp) /* f0a52e0: 8fa40038 */ lw $a0,0x38($sp) /* f0a52e4: 8fa500e0 */ lw $a1,0xe0($sp) /* f0a52e8: 24c616b8 */ addiu $a2,$a2,0x16b8 /* f0a52ec: 8fa70144 */ lw $a3,0x144($sp) /* f0a52f0: 0fc1f99c */ jal tvscreenRender /* f0a52f4: afa00010 */ sw $zero,0x10($sp) /* f0a52f8: afa20144 */ sw $v0,0x144($sp) .NB0f0a52fc: /* f0a52fc: 8faf0144 */ lw $t7,0x144($sp) /* f0a5300: 8e250284 */ lw $a1,0x284($s1) /* f0a5304: 240c0004 */ addiu $t4,$zero,0x4 /* f0a5308: afac0134 */ sw $t4,0x134($sp) /* f0a530c: afaf0110 */ sw $t7,0x110($sp) /* f0a5310: 8ca300d8 */ lw $v1,0xd8($a1) /* f0a5314: 3c078007 */ lui $a3,0x8007 /* f0a5318: 14600013 */ bnez $v1,.NB0f0a5368 /* f0a531c: 00000000 */ sll $zero,$zero,0x0 /* f0a5320: 8ce72e24 */ lw $a3,0x2e24($a3) /* f0a5324: 14e00010 */ bnez $a3,.NB0f0a5368 /* f0a5328: 00000000 */ sll $zero,$zero,0x0 /* f0a532c: 8ca20480 */ lw $v0,0x480($a1) /* f0a5330: 50400007 */ beqzl $v0,.NB0f0a5350 /* f0a5334: 8caa1c54 */ lw $t2,0x1c54($a1) /* f0a5338: 1040000b */ beqz $v0,.NB0f0a5368 /* f0a533c: 00000000 */ sll $zero,$zero,0x0 /* f0a5340: 80490037 */ lb $t1,0x37($v0) /* f0a5344: 15200008 */ bnez $t1,.NB0f0a5368 /* f0a5348: 00000000 */ sll $zero,$zero,0x0 /* f0a534c: 8caa1c54 */ lw $t2,0x1c54($a1) .NB0f0a5350: /* f0a5350: 8ca800c4 */ lw $t0,0xc4($a1) /* f0a5354: 0140c027 */ nor $t8,$t2,$zero /* f0a5358: 01185824 */ and $t3,$t0,$t8 /* f0a535c: 31790001 */ andi $t9,$t3,0x1 /* f0a5360: 57200016 */ bnezl $t9,.NB0f0a53bc /* f0a5364: 92681615 */ lbu $t0,0x1615($s3) .NB0f0a5368: /* f0a5368: 14600078 */ bnez $v1,.NB0f0a554c /* f0a536c: 3c078007 */ lui $a3,0x8007 /* f0a5370: 8ce72e24 */ lw $a3,0x2e24($a3) /* f0a5374: 54e00076 */ bnezl $a3,.NB0f0a5550 /* f0a5378: 926d1614 */ lbu $t5,0x1614($s3) /* f0a537c: 8ca20480 */ lw $v0,0x480($a1) /* f0a5380: 50400007 */ beqzl $v0,.NB0f0a53a0 /* f0a5384: 8caf1c54 */ lw $t7,0x1c54($a1) /* f0a5388: 50400071 */ beqzl $v0,.NB0f0a5550 /* f0a538c: 926d1614 */ lbu $t5,0x1614($s3) /* f0a5390: 804d0037 */ lb $t5,0x37($v0) /* f0a5394: 55a0006e */ bnezl $t5,.NB0f0a5550 /* f0a5398: 926d1614 */ lbu $t5,0x1614($s3) /* f0a539c: 8caf1c54 */ lw $t7,0x1c54($a1) .NB0f0a53a0: /* f0a53a0: 8cae00c4 */ lw $t6,0xc4($a1) /* f0a53a4: 01e06027 */ nor $t4,$t7,$zero /* f0a53a8: 01cc4824 */ and $t1,$t6,$t4 /* f0a53ac: 312a0008 */ andi $t2,$t1,0x8 /* f0a53b0: 51400067 */ beqzl $t2,.NB0f0a5550 /* f0a53b4: 926d1614 */ lbu $t5,0x1614($s3) /* f0a53b8: 92681615 */ lbu $t0,0x1615($s3) .NB0f0a53bc: /* f0a53bc: 92781614 */ lbu $t8,0x1614($s3) /* f0a53c0: 26641614 */ addiu $a0,$s3,0x1614 /* f0a53c4: 0118082a */ slt $at,$t0,$t8 /* f0a53c8: 50200009 */ beqzl $at,.NB0f0a53f0 /* f0a53cc: 90820002 */ lbu $v0,0x2($a0) /* f0a53d0: 90830000 */ lbu $v1,0x0($a0) /* f0a53d4: 908b0002 */ lbu $t3,0x2($a0) /* f0a53d8: 0163082a */ slt $at,$t3,$v1 /* f0a53dc: 50200004 */ beqzl $at,.NB0f0a53f0 /* f0a53e0: 90820002 */ lbu $v0,0x2($a0) /* f0a53e4: 1000000a */ beqz $zero,.NB0f0a5410 /* f0a53e8: 00601025 */ or $v0,$v1,$zero /* f0a53ec: 90820002 */ lbu $v0,0x2($a0) .NB0f0a53f0: /* f0a53f0: 90860001 */ lbu $a2,0x1($a0) /* f0a53f4: 00401825 */ or $v1,$v0,$zero /* f0a53f8: 0046082a */ slt $at,$v0,$a2 /* f0a53fc: 10200003 */ beqz $at,.NB0f0a540c /* f0a5400: 00000000 */ sll $zero,$zero,0x0 /* f0a5404: 10000001 */ beqz $zero,.NB0f0a540c /* f0a5408: 00c01825 */ or $v1,$a2,$zero .NB0f0a540c: /* f0a540c: 00601025 */ or $v0,$v1,$zero .NB0f0a5410: /* f0a5410: 90890003 */ lbu $t1,0x3($a0) /* f0a5414: 0002ce00 */ sll $t9,$v0,0x18 /* f0a5418: 00026c00 */ sll $t5,$v0,0x10 /* f0a541c: 032d7825 */ or $t7,$t9,$t5 /* f0a5420: 00027200 */ sll $t6,$v0,0x8 /* f0a5424: 01ee6025 */ or $t4,$t7,$t6 /* f0a5428: 012c5021 */ addu $t2,$t1,$t4 /* f0a542c: afaa0138 */ sw $t2,0x138($sp) /* f0a5430: 8ca300d8 */ lw $v1,0xd8($a1) /* f0a5434: 14600021 */ bnez $v1,.NB0f0a54bc /* f0a5438: 00000000 */ sll $zero,$zero,0x0 /* f0a543c: 14e0001f */ bnez $a3,.NB0f0a54bc /* f0a5440: 00000000 */ sll $zero,$zero,0x0 /* f0a5444: 8ca20480 */ lw $v0,0x480($a1) /* f0a5448: 50400007 */ beqzl $v0,.NB0f0a5468 /* f0a544c: 8cab1c54 */ lw $t3,0x1c54($a1) /* f0a5450: 1040001a */ beqz $v0,.NB0f0a54bc /* f0a5454: 00000000 */ sll $zero,$zero,0x0 /* f0a5458: 80480037 */ lb $t0,0x37($v0) /* f0a545c: 15000017 */ bnez $t0,.NB0f0a54bc /* f0a5460: 00000000 */ sll $zero,$zero,0x0 /* f0a5464: 8cab1c54 */ lw $t3,0x1c54($a1) .NB0f0a5468: /* f0a5468: 8cb800c4 */ lw $t8,0xc4($a1) /* f0a546c: 3c02800a */ lui $v0,0x800a /* f0a5470: 0160c827 */ nor $t9,$t3,$zero /* f0a5474: 03196824 */ and $t5,$t8,$t9 /* f0a5478: 31af0001 */ andi $t7,$t5,0x1 /* f0a547c: 11e0000f */ beqz $t7,.NB0f0a54bc /* f0a5480: 00000000 */ sll $zero,$zero,0x0 /* f0a5484: 9042122f */ lbu $v0,0x122f($v0) /* f0a5488: 3c06800a */ lui $a2,0x800a /* f0a548c: 90c61230 */ lbu $a2,0x1230($a2) /* f0a5490: 00027600 */ sll $t6,$v0,0x18 /* f0a5494: 00024c00 */ sll $t1,$v0,0x10 /* f0a5498: 01c96025 */ or $t4,$t6,$t1 /* f0a549c: 00025200 */ sll $t2,$v0,0x8 /* f0a54a0: 018a4025 */ or $t0,$t4,$t2 /* f0a54a4: afa200a8 */ sw $v0,0xa8($sp) /* f0a54a8: afa200ac */ sw $v0,0xac($sp) /* f0a54ac: afa200b0 */ sw $v0,0xb0($sp) /* f0a54b0: 00c8a821 */ addu $s5,$a2,$t0 /* f0a54b4: 1000001f */ beqz $zero,.NB0f0a5534 /* f0a54b8: afa600b4 */ sw $a2,0xb4($sp) .NB0f0a54bc: /* f0a54bc: 5460001e */ bnezl $v1,.NB0f0a5538 /* f0a54c0: 8fb900e4 */ lw $t9,0xe4($sp) /* f0a54c4: 54e0001c */ bnezl $a3,.NB0f0a5538 /* f0a54c8: 8fb900e4 */ lw $t9,0xe4($sp) /* f0a54cc: 8ca20480 */ lw $v0,0x480($a1) /* f0a54d0: 50400007 */ beqzl $v0,.NB0f0a54f0 /* f0a54d4: 8cb91c54 */ lw $t9,0x1c54($a1) /* f0a54d8: 50400017 */ beqzl $v0,.NB0f0a5538 /* f0a54dc: 8fb900e4 */ lw $t9,0xe4($sp) /* f0a54e0: 804b0037 */ lb $t3,0x37($v0) /* f0a54e4: 55600014 */ bnezl $t3,.NB0f0a5538 /* f0a54e8: 8fb900e4 */ lw $t9,0xe4($sp) /* f0a54ec: 8cb91c54 */ lw $t9,0x1c54($a1) .NB0f0a54f0: /* f0a54f0: 8cb800c4 */ lw $t8,0xc4($a1) /* f0a54f4: 240200ff */ addiu $v0,$zero,0xff /* f0a54f8: 03206827 */ nor $t5,$t9,$zero /* f0a54fc: 030d7824 */ and $t7,$t8,$t5 /* f0a5500: 31ee0008 */ andi $t6,$t7,0x8 /* f0a5504: 11c0000b */ beqz $t6,.NB0f0a5534 /* f0a5508: 24050080 */ addiu $a1,$zero,0x80 /* f0a550c: 00024e00 */ sll $t1,$v0,0x18 /* f0a5510: 00006400 */ sll $t4,$zero,0x10 /* f0a5514: 012c5025 */ or $t2,$t1,$t4 /* f0a5518: 00004200 */ sll $t0,$zero,0x8 /* f0a551c: 01485825 */ or $t3,$t2,$t0 /* f0a5520: 00aba821 */ addu $s5,$a1,$t3 /* f0a5524: afa20098 */ sw $v0,0x98($sp) /* f0a5528: afa0009c */ sw $zero,0x9c($sp) /* f0a552c: afa000a0 */ sw $zero,0xa0($sp) /* f0a5530: afa500a4 */ sw $a1,0xa4($sp) .NB0f0a5534: /* f0a5534: 8fb900e4 */ lw $t9,0xe4($sp) .NB0f0a5538: /* f0a5538: 24010001 */ addiu $at,$zero,0x1 /* f0a553c: 5721003d */ bnel $t9,$at,.NB0f0a5634 /* f0a5540: 8e6f00bc */ lw $t7,0xbc($s3) /* f0a5544: 1000003a */ beqz $zero,.NB0f0a5630 /* f0a5548: afb50138 */ sw $s5,0x138($sp) .NB0f0a554c: /* f0a554c: 926d1614 */ lbu $t5,0x1614($s3) .NB0f0a5550: /* f0a5550: 92781617 */ lbu $t8,0x1617($s3) /* f0a5554: 92691615 */ lbu $t1,0x1615($s3) /* f0a5558: 92681616 */ lbu $t0,0x1616($s3) /* f0a555c: 000d7e00 */ sll $t7,$t5,0x18 /* f0a5560: 030f7025 */ or $t6,$t8,$t7 /* f0a5564: 00096400 */ sll $t4,$t1,0x10 /* f0a5568: 01cc5025 */ or $t2,$t6,$t4 /* f0a556c: 00085a00 */ sll $t3,$t0,0x8 /* f0a5570: 014bc825 */ or $t9,$t2,$t3 /* f0a5574: afb90138 */ sw $t9,0x138($sp) /* f0a5578: 920d0000 */ lbu $t5,0x0($s0) /* f0a557c: 24010006 */ addiu $at,$zero,0x6 /* f0a5580: 0320a825 */ or $s5,$t9,$zero /* f0a5584: 15a1002a */ bne $t5,$at,.NB0f0a5630 /* f0a5588: 3c04ff00 */ lui $a0,0xff00 /* f0a558c: 3c014248 */ lui $at,0x4248 /* f0a5590: 44812000 */ mtc1 $at,$f4 /* f0a5594: c612023c */ lwc1 $f18,0x23c($s0) /* f0a5598: 24060001 */ addiu $a2,$zero,0x1 /* f0a559c: 3c014f00 */ lui $at,0x4f00 /* f0a55a0: 46049182 */ mul.s $f6,$f18,$f4 /* f0a55a4: 3484007f */ ori $a0,$a0,0x7f /* f0a55a8: 4458f800 */ cfc1 $t8,$31 /* f0a55ac: 44c6f800 */ ctc1 $a2,$31 /* f0a55b0: 00000000 */ sll $zero,$zero,0x0 /* f0a55b4: 46003224 */ cvt.w.s $f8,$f6 /* f0a55b8: 4446f800 */ cfc1 $a2,$31 /* f0a55bc: 00000000 */ sll $zero,$zero,0x0 /* f0a55c0: 30c60078 */ andi $a2,$a2,0x78 /* f0a55c4: 50c00013 */ beqzl $a2,.NB0f0a5614 /* f0a55c8: 44064000 */ mfc1 $a2,$f8 /* f0a55cc: 44814000 */ mtc1 $at,$f8 /* f0a55d0: 24060001 */ addiu $a2,$zero,0x1 /* f0a55d4: 46083201 */ sub.s $f8,$f6,$f8 /* f0a55d8: 44c6f800 */ ctc1 $a2,$31 /* f0a55dc: 00000000 */ sll $zero,$zero,0x0 /* f0a55e0: 46004224 */ cvt.w.s $f8,$f8 /* f0a55e4: 4446f800 */ cfc1 $a2,$31 /* f0a55e8: 00000000 */ sll $zero,$zero,0x0 /* f0a55ec: 30c60078 */ andi $a2,$a2,0x78 /* f0a55f0: 14c00005 */ bnez $a2,.NB0f0a5608 /* f0a55f4: 00000000 */ sll $zero,$zero,0x0 /* f0a55f8: 44064000 */ mfc1 $a2,$f8 /* f0a55fc: 3c018000 */ lui $at,0x8000 /* f0a5600: 10000007 */ beqz $zero,.NB0f0a5620 /* f0a5604: 00c13025 */ or $a2,$a2,$at .NB0f0a5608: /* f0a5608: 10000005 */ beqz $zero,.NB0f0a5620 /* f0a560c: 2406ffff */ addiu $a2,$zero,-1 /* f0a5610: 44064000 */ mfc1 $a2,$f8 .NB0f0a5614: /* f0a5614: 00000000 */ sll $zero,$zero,0x0 /* f0a5618: 04c0fffb */ bltz $a2,.NB0f0a5608 /* f0a561c: 00000000 */ sll $zero,$zero,0x0 .NB0f0a5620: /* f0a5620: 44d8f800 */ ctc1 $t8,$31 /* f0a5624: 0fc01990 */ jal colourBlend /* f0a5628: 03202825 */ or $a1,$t9,$zero /* f0a562c: afa20138 */ sw $v0,0x138($sp) .NB0f0a5630: /* f0a5630: 8e6f00bc */ lw $t7,0xbc($s3) .NB0f0a5634: /* f0a5634: 0fc089b4 */ jal func0f022be4 /* f0a5638: 8de40004 */ lw $a0,0x4($t7) /* f0a563c: 284100ff */ slti $at,$v0,0xff /* f0a5640: 1020000f */ beqz $at,.NB0f0a5680 /* f0a5644: 240c0001 */ addiu $t4,$zero,0x1 /* f0a5648: 44825000 */ mtc1 $v0,$f10 /* f0a564c: 3c017f1a */ lui $at,0x7f1a /* f0a5650: c4326dd8 */ lwc1 $f18,0x6dd8($at) /* f0a5654: 46805420 */ cvt.s.w $f16,$f10 /* f0a5658: 8fa40138 */ lw $a0,0x138($sp) /* f0a565c: 240e0005 */ addiu $t6,$zero,0x5 /* f0a5660: afae0134 */ sw $t6,0x134($sp) /* f0a5664: afa4013c */ sw $a0,0x13c($sp) /* f0a5668: 46128102 */ mul.s $f4,$f16,$f18 /* f0a566c: 4600218d */ trunc.w.s $f6,$f4 /* f0a5670: 44033000 */ mfc1 $v1,$f6 /* f0a5674: 00000000 */ sll $zero,$zero,0x0 /* f0a5678: 24750041 */ addiu $s5,$v1,0x41 /* f0a567c: afb50138 */ sw $s5,0x138($sp) .NB0f0a5680: /* f0a5680: 0c005dbc */ jal func00016760 /* f0a5684: afac0108 */ sw $t4,0x108($sp) /* f0a5688: 8e020218 */ lw $v0,0x218($s0) /* f0a568c: 5040000f */ beqzl $v0,.NB0f0a56cc /* f0a5690: 8fa400e4 */ lw $a0,0xe4($sp) /* f0a5694: 8c450018 */ lw $a1,0x18($v0) /* f0a5698: 27a40104 */ addiu $a0,$sp,0x104 /* f0a569c: 0c008be3 */ jal modelRender /* f0a56a0: afa50090 */ sw $a1,0x90($sp) /* f0a56a4: 8fa60090 */ lw $a2,0x90($sp) /* f0a56a8: 8cc80008 */ lw $t0,0x8($a2) /* f0a56ac: 8cc4000c */ lw $a0,0xc($a2) /* f0a56b0: 0fc303f0 */ jal func0f0c33f0 /* f0a56b4: 8505000e */ lh $a1,0xe($t0) /* f0a56b8: 8e0a021c */ lw $t2,0x21c($s0) /* f0a56bc: 51400003 */ beqzl $t2,.NB0f0a56cc /* f0a56c0: 8fa400e4 */ lw $a0,0xe4($sp) /* f0a56c4: ae000218 */ sw $zero,0x218($s0) /* f0a56c8: 8fa400e4 */ lw $a0,0xe4($sp) .NB0f0a56cc: /* f0a56cc: 0fc2bd48 */ jal weaponHasFlag /* f0a56d0: 24050020 */ addiu $a1,$zero,0x20 /* f0a56d4: 1040000e */ beqz $v0,.NB0f0a5710 /* f0a56d8: 24010001 */ addiu $at,$zero,0x1 /* f0a56dc: 8fab0110 */ lw $t3,0x110($sp) /* f0a56e0: 3c18b600 */ lui $t8,0xb600 /* f0a56e4: 24193000 */ addiu $t9,$zero,0x3000 /* f0a56e8: 256d0008 */ addiu $t5,$t3,0x8 /* f0a56ec: afad0110 */ sw $t5,0x110($sp) /* f0a56f0: ad790004 */ sw $t9,0x4($t3) /* f0a56f4: 16800004 */ bnez $s4,.NB0f0a5708 /* f0a56f8: ad780000 */ sw $t8,0x0($t3) /* f0a56fc: 240f0003 */ addiu $t7,$zero,0x3 /* f0a5700: 10000003 */ beqz $zero,.NB0f0a5710 /* f0a5704: afaf0140 */ sw $t7,0x140($sp) .NB0f0a5708: /* f0a5708: 24090002 */ addiu $t1,$zero,0x2 /* f0a570c: afa90140 */ sw $t1,0x140($sp) .NB0f0a5710: /* f0a5710: 8e2e006c */ lw $t6,0x6c($s1) /* f0a5714: 00002825 */ or $a1,$zero,$zero /* f0a5718: 00002025 */ or $a0,$zero,$zero /* f0a571c: 11c00003 */ beqz $t6,.NB0f0a572c /* f0a5720: 00001025 */ or $v0,$zero,$zero /* f0a5724: 10000001 */ beqz $zero,.NB0f0a572c /* f0a5728: 24050001 */ addiu $a1,$zero,0x1 .NB0f0a572c: /* f0a572c: 8e2c0068 */ lw $t4,0x68($s1) /* f0a5730: 00001825 */ or $v1,$zero,$zero /* f0a5734: 11800003 */ beqz $t4,.NB0f0a5744 /* f0a5738: 00000000 */ sll $zero,$zero,0x0 /* f0a573c: 10000001 */ beqz $zero,.NB0f0a5744 /* f0a5740: 24040001 */ addiu $a0,$zero,0x1 .NB0f0a5744: /* f0a5744: 8e280064 */ lw $t0,0x64($s1) /* f0a5748: 11000003 */ beqz $t0,.NB0f0a5758 /* f0a574c: 00000000 */ sll $zero,$zero,0x0 /* f0a5750: 10000001 */ beqz $zero,.NB0f0a5758 /* f0a5754: 24020001 */ addiu $v0,$zero,0x1 .NB0f0a5758: /* f0a5758: 8e2a0070 */ lw $t2,0x70($s1) /* f0a575c: 11400003 */ beqz $t2,.NB0f0a576c /* f0a5760: 00000000 */ sll $zero,$zero,0x0 /* f0a5764: 10000001 */ beqz $zero,.NB0f0a576c /* f0a5768: 24030001 */ addiu $v1,$zero,0x1 .NB0f0a576c: /* f0a576c: 00625821 */ addu $t3,$v1,$v0 /* f0a5770: 01646821 */ addu $t5,$t3,$a0 /* f0a5774: 01a5c021 */ addu $t8,$t5,$a1 /* f0a5778: 17010036 */ bne $t8,$at,.NB0f0a5854 /* f0a577c: 24050041 */ addiu $a1,$zero,0x41 /* f0a5780: 0c006ea3 */ jal modelGetPart /* f0a5784: 8e04038c */ lw $a0,0x38c($s0) /* f0a5788: 50400033 */ beqzl $v0,.NB0f0a5858 /* f0a578c: 27a40104 */ addiu $a0,$sp,0x104 /* f0a5790: 8c440004 */ lw $a0,0x4($v0) /* f0a5794: 00002825 */ or $a1,$zero,$zero /* f0a5798: 84990010 */ lh $t9,0x10($a0) /* f0a579c: 5b20002e */ blezl $t9,.NB0f0a5858 /* f0a57a0: 27a40104 */ addiu $a0,$sp,0x104 /* f0a57a4: 8e2c0034 */ lw $t4,0x34($s1) .NB0f0a57a8: /* f0a57a8: 8c8f000c */ lw $t7,0xc($a0) /* f0a57ac: 00054880 */ sll $t1,$a1,0x2 /* f0a57b0: 01920019 */ multu $t4,$s2 /* f0a57b4: 01254823 */ subu $t1,$t1,$a1 /* f0a57b8: 00094880 */ sll $t1,$t1,0x2 /* f0a57bc: 01e91021 */ addu $v0,$t7,$t1 /* f0a57c0: 844e000a */ lh $t6,0xa($v0) /* f0a57c4: 00056880 */ sll $t5,$a1,0x2 /* f0a57c8: 01a56823 */ subu $t5,$t5,$a1 /* f0a57cc: 000d6880 */ sll $t5,$t5,0x2 /* f0a57d0: 24420002 */ addiu $v0,$v0,0x2 /* f0a57d4: 00004012 */ mflo $t0 /* f0a57d8: 01c85023 */ subu $t2,$t6,$t0 /* f0a57dc: a44a0008 */ sh $t2,0x8($v0) /* f0a57e0: 8c8b000c */ lw $t3,0xc($a0) /* f0a57e4: 016dc021 */ addu $t8,$t3,$t5 /* f0a57e8: 8719000a */ lh $t9,0xa($t8) /* f0a57ec: 2b21a000 */ slti $at,$t9,-24576 /* f0a57f0: 50200014 */ beqzl $at,.NB0f0a5844 /* f0a57f4: 848b0010 */ lh $t3,0x10($a0) /* f0a57f8: 848f0010 */ lh $t7,0x10($a0) /* f0a57fc: 00001825 */ or $v1,$zero,$zero /* f0a5800: 59e00010 */ blezl $t7,.NB0f0a5844 /* f0a5804: 848b0010 */ lh $t3,0x10($a0) /* f0a5808: 8c89000c */ lw $t1,0xc($a0) .NB0f0a580c: /* f0a580c: 00036080 */ sll $t4,$v1,0x2 /* f0a5810: 01836023 */ subu $t4,$t4,$v1 /* f0a5814: 000c6080 */ sll $t4,$t4,0x2 /* f0a5818: 012c1021 */ addu $v0,$t1,$t4 /* f0a581c: 844e000a */ lh $t6,0xa($v0) /* f0a5820: 24630001 */ addiu $v1,$v1,0x1 /* f0a5824: 24420002 */ addiu $v0,$v0,0x2 /* f0a5828: 25c82000 */ addiu $t0,$t6,0x2000 /* f0a582c: a4480008 */ sh $t0,0x8($v0) /* f0a5830: 848a0010 */ lh $t2,0x10($a0) /* f0a5834: 006a082a */ slt $at,$v1,$t2 /* f0a5838: 5420fff4 */ bnezl $at,.NB0f0a580c /* f0a583c: 8c89000c */ lw $t1,0xc($a0) /* f0a5840: 848b0010 */ lh $t3,0x10($a0) .NB0f0a5844: /* f0a5844: 24a50001 */ addiu $a1,$a1,0x1 /* f0a5848: 00ab082a */ slt $at,$a1,$t3 /* f0a584c: 5420ffd6 */ bnezl $at,.NB0f0a57a8 /* f0a5850: 8e2c0034 */ lw $t4,0x34($s1) .NB0f0a5854: /* f0a5854: 27a40104 */ addiu $a0,$sp,0x104 .NB0f0a5858: /* f0a5858: 0c008be3 */ jal modelRender /* f0a585c: 8fa50038 */ lw $a1,0x38($sp) /* f0a5860: 8e6d1594 */ lw $t5,0x1594($s3) /* f0a5864: 3c188007 */ lui $t8,0x8007 /* f0a5868: 51a00013 */ beqzl $t5,.NB0f0a58b8 /* f0a586c: 8fa90110 */ lw $t1,0x110($sp) /* f0a5870: 8f18299c */ lw $t8,0x299c($t8) /* f0a5874: 8fb90138 */ lw $t9,0x138($sp) /* f0a5878: 5300000f */ beqzl $t8,.NB0f0a58b8 /* f0a587c: 8fa90110 */ lw $t1,0x110($sp) /* f0a5880: afb90078 */ sw $t9,0x78($sp) /* f0a5884: 8e0f0390 */ lw $t7,0x390($s0) /* f0a5888: 26050534 */ addiu $a1,$s0,0x534 /* f0a588c: 00a02025 */ or $a0,$a1,$zero /* f0a5890: ae0f0540 */ sw $t7,0x540($s0) /* f0a5894: 0c007728 */ jal func0001cc20 /* f0a5898: afa50050 */ sw $a1,0x50($sp) /* f0a589c: 8fa50050 */ lw $a1,0x50($sp) /* f0a58a0: afb50138 */ sw $s5,0x138($sp) /* f0a58a4: 0c008be3 */ jal modelRender /* f0a58a8: 27a40104 */ addiu $a0,$sp,0x104 /* f0a58ac: 8fa40078 */ lw $a0,0x78($sp) /* f0a58b0: afa40138 */ sw $a0,0x138($sp) /* f0a58b4: 8fa90110 */ lw $t1,0x110($sp) .NB0f0a58b8: /* f0a58b8: 8fa400e4 */ lw $a0,0xe4($sp) /* f0a58bc: 24050020 */ addiu $a1,$zero,0x20 /* f0a58c0: 0fc2bd48 */ jal weaponHasFlag /* f0a58c4: afa90144 */ sw $t1,0x144($sp) /* f0a58c8: 10400007 */ beqz $v0,.NB0f0a58e8 /* f0a58cc: 8fac0144 */ lw $t4,0x144($sp) /* f0a58d0: 258e0008 */ addiu $t6,$t4,0x8 /* f0a58d4: afae0144 */ sw $t6,0x144($sp) /* f0a58d8: 3c08b600 */ lui $t0,0xb600 /* f0a58dc: 240a3000 */ addiu $t2,$zero,0x3000 /* f0a58e0: ad8a0004 */ sw $t2,0x4($t4) /* f0a58e4: ad880000 */ sw $t0,0x0($t4) .NB0f0a58e8: /* f0a58e8: 8e0b038c */ lw $t3,0x38c($s0) /* f0a58ec: 8e040390 */ lw $a0,0x390($s0) /* f0a58f0: 0fc303f0 */ jal func0f0c33f0 /* f0a58f4: 8565000e */ lh $a1,0xe($t3) /* f0a58f8: 0c005dc5 */ jal func00016784 /* f0a58fc: 00000000 */ sll $zero,$zero,0x0 /* f0a5900: 8fad0144 */ lw $t5,0x144($sp) /* f0a5904: 3c19bc00 */ lui $t9,0xbc00 /* f0a5908: 3739000e */ ori $t9,$t9,0xe /* f0a590c: 25b80008 */ addiu $t8,$t5,0x8 /* f0a5910: afb80144 */ sw $t8,0x144($sp) /* f0a5914: adb90000 */ sw $t9,0x0($t5) /* f0a5918: 0c002b3b */ jal func0000ab6c /* f0a591c: afad0070 */ sw $t5,0x70($sp) /* f0a5920: 8fa30070 */ lw $v1,0x70($sp) /* f0a5924: ac620004 */ sw $v0,0x4($v1) .NB0f0a5928: /* f0a5928: 26940001 */ addiu $s4,$s4,0x1 /* f0a592c: 24010002 */ addiu $at,$zero,0x2 /* f0a5930: 1681fe0c */ bne $s4,$at,.NB0f0a5164 /* f0a5934: 261007a4 */ addiu $s0,$s0,0x7a4 /* f0a5938: afb500dc */ sw $s5,0xdc($sp) /* f0a593c: 0fc2b250 */ jal func0f0aebe0 /* f0a5940: 27a40144 */ addiu $a0,$sp,0x144 /* f0a5944: 0fc5c3ce */ jal func0f176298 /* f0a5948: 00000000 */ sll $zero,$zero,0x0 /* f0a594c: 0fc5c3d3 */ jal func0f1762ac /* f0a5950: 8fa40144 */ lw $a0,0x144($sp) /* f0a5954: afa20144 */ sw $v0,0x144($sp) /* f0a5958: 0c002cd4 */ jal func0000b1d0 /* f0a595c: 00402025 */ or $a0,$v0,$zero /* f0a5960: 244f0008 */ addiu $t7,$v0,0x8 /* f0a5964: afaf0144 */ sw $t7,0x144($sp) /* f0a5968: 0c002fb5 */ jal viGetViewLeft /* f0a596c: 00408825 */ or $s1,$v0,$zero /* f0a5970: 00028400 */ sll $s0,$v0,0x10 /* f0a5974: 00104c03 */ sra $t1,$s0,0x10 /* f0a5978: 0c002fb9 */ jal viGetViewTop /* f0a597c: 01208025 */ or $s0,$t1,$zero /* f0a5980: 44824000 */ mtc1 $v0,$f8 /* f0a5984: 44902000 */ mtc1 $s0,$f4 /* f0a5988: 3c014080 */ lui $at,0x4080 /* f0a598c: 468042a0 */ cvt.s.w $f10,$f8 /* f0a5990: 44810000 */ mtc1 $at,$f0 /* f0a5994: 3c01ed00 */ lui $at,0xed00 /* f0a5998: 468021a0 */ cvt.s.w $f6,$f4 /* f0a599c: 46005402 */ mul.s $f16,$f10,$f0 /* f0a59a0: 00000000 */ sll $zero,$zero,0x0 /* f0a59a4: 46003202 */ mul.s $f8,$f6,$f0 /* f0a59a8: 4600848d */ trunc.w.s $f18,$f16 /* f0a59ac: 4600428d */ trunc.w.s $f10,$f8 /* f0a59b0: 440e9000 */ mfc1 $t6,$f18 /* f0a59b4: 440d5000 */ mfc1 $t5,$f10 /* f0a59b8: 31c80fff */ andi $t0,$t6,0xfff /* f0a59bc: 01015025 */ or $t2,$t0,$at /* f0a59c0: 31b80fff */ andi $t8,$t5,0xfff /* f0a59c4: 0018cb00 */ sll $t9,$t8,0xc /* f0a59c8: 01597825 */ or $t7,$t2,$t9 /* f0a59cc: 0c002f97 */ jal viGetViewWidth /* f0a59d0: ae2f0000 */ sw $t7,0x0($s1) /* f0a59d4: 00029400 */ sll $s2,$v0,0x10 /* f0a59d8: 00124c03 */ sra $t1,$s2,0x10 /* f0a59dc: 0c002fb5 */ jal viGetViewLeft /* f0a59e0: 01209025 */ or $s2,$t1,$zero /* f0a59e4: 0002a400 */ sll $s4,$v0,0x10 /* f0a59e8: 00146403 */ sra $t4,$s4,0x10 /* f0a59ec: 0c002fb9 */ jal viGetViewTop /* f0a59f0: 0180a025 */ or $s4,$t4,$zero /* f0a59f4: 00028400 */ sll $s0,$v0,0x10 /* f0a59f8: 00107403 */ sra $t6,$s0,0x10 /* f0a59fc: 0c002f9b */ jal viGetViewHeight /* f0a5a00: 01c08025 */ or $s0,$t6,$zero /* f0a5a04: 00504021 */ addu $t0,$v0,$s0 /* f0a5a08: 44888000 */ mtc1 $t0,$f16 /* f0a5a0c: 02925021 */ addu $t2,$s4,$s2 /* f0a5a10: 448a5000 */ mtc1 $t2,$f10 /* f0a5a14: 468084a0 */ cvt.s.w $f18,$f16 /* f0a5a18: 3c014080 */ lui $at,0x4080 /* f0a5a1c: 44812000 */ mtc1 $at,$f4 /* f0a5a20: 46805420 */ cvt.s.w $f16,$f10 /* f0a5a24: 46049182 */ mul.s $f6,$f18,$f4 /* f0a5a28: 44819000 */ mtc1 $at,$f18 /* f0a5a2c: 00000000 */ sll $zero,$zero,0x0 /* f0a5a30: 46128102 */ mul.s $f4,$f16,$f18 /* f0a5a34: 4600320d */ trunc.w.s $f8,$f6 /* f0a5a38: 4600218d */ trunc.w.s $f6,$f4 /* f0a5a3c: 440d4000 */ mfc1 $t5,$f8 /* f0a5a40: 440f3000 */ mfc1 $t7,$f6 /* f0a5a44: 31b80fff */ andi $t8,$t5,0xfff /* f0a5a48: 31e90fff */ andi $t1,$t7,0xfff /* f0a5a4c: 00096300 */ sll $t4,$t1,0xc /* f0a5a50: 030c7025 */ or $t6,$t8,$t4 /* f0a5a54: ae2e0004 */ sw $t6,0x4($s1) /* f0a5a58: 8fab0148 */ lw $t3,0x148($sp) /* f0a5a5c: 8fa80144 */ lw $t0,0x144($sp) /* f0a5a60: ad680000 */ sw $t0,0x0($t3) /* f0a5a64: 8fbf0034 */ lw $ra,0x34($sp) .NB0f0a5a68: /* f0a5a68: 8fb0001c */ lw $s0,0x1c($sp) /* f0a5a6c: 8fb10020 */ lw $s1,0x20($sp) /* f0a5a70: 8fb20024 */ lw $s2,0x24($sp) /* f0a5a74: 8fb30028 */ lw $s3,0x28($sp) /* f0a5a78: 8fb4002c */ lw $s4,0x2c($sp) /* f0a5a7c: 8fb50030 */ lw $s5,0x30($sp) /* f0a5a80: 03e00008 */ jr $ra /* f0a5a84: 27bd0148 */ addiu $sp,$sp,0x148 ); #endif /** * Find and return an available audio handle out of a pool of four. */ struct audiohandle **bgun0f0a7d5c(void) { s32 i; for (i = 0; i < ARRAYCOUNT(var8009d0e0); i++) { if (var8009d0e0[i] == NULL) { return &var8009d0e0[i]; } } return NULL; } #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgunPlayPropHitSound .late_rodata glabel var7f1aca94 .word 0x453b8000 .text /* f0a7d98: 27bdff38 */ addiu $sp,$sp,-200 /* f0a7d9c: afbf0044 */ sw $ra,0x44($sp) /* f0a7da0: afa500cc */ sw $a1,0xcc($sp) /* f0a7da4: afa600d0 */ sw $a2,0xd0($sp) /* f0a7da8: 0c004b70 */ jal random /* f0a7dac: afa400c8 */ sw $a0,0xc8($sp) /* f0a7db0: 0c004b70 */ jal random /* f0a7db4: afa200c4 */ sw $v0,0xc4($sp) /* f0a7db8: 3c0e800a */ lui $t6,%hi(g_Vars+0x34) /* f0a7dbc: 8dce9ff4 */ lw $t6,%lo(g_Vars+0x34)($t6) /* f0a7dc0: 8fa700c8 */ lw $a3,0xc8($sp) /* f0a7dc4: afa200c0 */ sw $v0,0xc0($sp) /* f0a7dc8: 19c0018a */ blez $t6,.L0f0a83f4 /* f0a7dcc: 8fa300d0 */ lw $v1,0xd0($sp) /* f0a7dd0: 0460000f */ bltz $v1,.L0f0a7e10 /* f0a7dd4: 28610daf */ slti $at,$v1,0xdaf /* f0a7dd8: 1020000d */ beqz $at,.L0f0a7e10 /* f0a7ddc: 3c0f800b */ lui $t7,%hi(g_Textures) /* f0a7de0: 8defabc0 */ lw $t7,%lo(g_Textures)($t7) /* f0a7de4: 0003c0c0 */ sll $t8,$v1,0x3 /* f0a7de8: 3c0b8008 */ lui $t3,%hi(g_SurfaceTypes) /* f0a7dec: 01f8c821 */ addu $t9,$t7,$t8 /* f0a7df0: 8f280000 */ lw $t0,0x0($t9) /* f0a7df4: 00084f02 */ srl $t1,$t0,0x1c /* f0a7df8: 00095080 */ sll $t2,$t1,0x2 /* f0a7dfc: 016a5821 */ addu $t3,$t3,$t2 /* f0a7e00: 8d6b4458 */ lw $t3,%lo(g_SurfaceTypes)($t3) /* f0a7e04: 856c0008 */ lh $t4,0x8($t3) /* f0a7e08: 5180017b */ beqzl $t4,.L0f0a83f8 /* f0a7e0c: 8fbf0044 */ lw $ra,0x44($sp) .L0f0a7e10: /* f0a7e10: 90e20000 */ lbu $v0,0x0($a3) /* f0a7e14: 24010022 */ addiu $at,$zero,0x22 /* f0a7e18: 00002025 */ or $a0,$zero,$zero /* f0a7e1c: 1041000d */ beq $v0,$at,.L0f0a7e54 /* f0a7e20: 8fa500cc */ lw $a1,0xcc($sp) /* f0a7e24: 24010021 */ addiu $at,$zero,0x21 /* f0a7e28: 1041000a */ beq $v0,$at,.L0f0a7e54 /* f0a7e2c: 24010020 */ addiu $at,$zero,0x20 /* f0a7e30: 10410008 */ beq $v0,$at,.L0f0a7e54 /* f0a7e34: 2401003d */ addiu $at,$zero,0x3d /* f0a7e38: 10410006 */ beq $v0,$at,.L0f0a7e54 /* f0a7e3c: 2401003e */ addiu $at,$zero,0x3e /* f0a7e40: 10410004 */ beq $v0,$at,.L0f0a7e54 /* f0a7e44: 2401003f */ addiu $at,$zero,0x3f /* f0a7e48: 10410002 */ beq $v0,$at,.L0f0a7e54 /* f0a7e4c: 24010035 */ addiu $at,$zero,0x35 /* f0a7e50: 14410014 */ bne $v0,$at,.L0f0a7ea4 .L0f0a7e54: /* f0a7e54: 3c01bf80 */ lui $at,0xbf80 /* f0a7e58: 44810000 */ mtc1 $at,$f0 /* f0a7e5c: 240dffff */ addiu $t5,$zero,-1 /* f0a7e60: 240effff */ addiu $t6,$zero,-1 /* f0a7e64: afae002c */ sw $t6,0x2c($sp) /* f0a7e68: afad0010 */ sw $t5,0x10($sp) /* f0a7e6c: 240680aa */ addiu $a2,$zero,-32598 /* f0a7e70: 2407ffff */ addiu $a3,$zero,-1 /* f0a7e74: afa00014 */ sw $zero,0x14($sp) /* f0a7e78: afa00018 */ sw $zero,0x18($sp) /* f0a7e7c: afa0001c */ sw $zero,0x1c($sp) /* f0a7e80: afa00020 */ sw $zero,0x20($sp) /* f0a7e84: afa00028 */ sw $zero,0x28($sp) /* f0a7e88: e7a00024 */ swc1 $f0,0x24($sp) /* f0a7e8c: e7a00030 */ swc1 $f0,0x30($sp) /* f0a7e90: e7a00034 */ swc1 $f0,0x34($sp) /* f0a7e94: 0fc24e7e */ jal func0f0939f8 /* f0a7e98: e7a00038 */ swc1 $f0,0x38($sp) /* f0a7e9c: 10000156 */ b .L0f0a83f8 /* f0a7ea0: 8fbf0044 */ lw $ra,0x44($sp) .L0f0a7ea4: /* f0a7ea4: 0fc29f57 */ jal bgun0f0a7d5c /* f0a7ea8: afa700c8 */ sw $a3,0xc8($sp) /* f0a7eac: 8fa700c8 */ lw $a3,0xc8($sp) /* f0a7eb0: 104000fa */ beqz $v0,.L0f0a829c /* f0a7eb4: afa200bc */ sw $v0,0xbc($sp) /* f0a7eb8: 8faf00cc */ lw $t7,0xcc($sp) /* f0a7ebc: 24010003 */ addiu $at,$zero,0x3 /* f0a7ec0: 8fb800cc */ lw $t8,0xcc($sp) /* f0a7ec4: 91e20000 */ lbu $v0,0x0($t7) /* f0a7ec8: 10410003 */ beq $v0,$at,.L0f0a7ed8 /* f0a7ecc: 24010006 */ addiu $at,$zero,0x6 /* f0a7ed0: 14410077 */ bne $v0,$at,.L0f0a80b0 /* f0a7ed4: 240bffff */ addiu $t3,$zero,-1 .L0f0a7ed8: /* f0a7ed8: 8f040004 */ lw $a0,0x4($t8) /* f0a7edc: afa000b0 */ sw $zero,0xb0($sp) /* f0a7ee0: 0fc0cfe8 */ jal chrGetShield /* f0a7ee4: afa700c8 */ sw $a3,0xc8($sp) /* f0a7ee8: 44802000 */ mtc1 $zero,$f4 /* f0a7eec: 8fa700c8 */ lw $a3,0xc8($sp) /* f0a7ef0: 24190064 */ addiu $t9,$zero,0x64 /* f0a7ef4: 4600203c */ c.lt.s $f4,$f0 /* f0a7ef8: 00000000 */ nop /* f0a7efc: 45020004 */ bc1fl .L0f0a7f10 /* f0a7f00: 90e20000 */ lbu $v0,0x0($a3) /* f0a7f04: 10000036 */ b .L0f0a7fe0 /* f0a7f08: a7b900b6 */ sh $t9,0xb6($sp) /* f0a7f0c: 90e20000 */ lbu $v0,0x0($a3) .L0f0a7f10: /* f0a7f10: 2404001a */ addiu $a0,$zero,0x1a /* f0a7f14: 240805f6 */ addiu $t0,$zero,0x5f6 /* f0a7f18: 10820005 */ beq $a0,$v0,.L0f0a7f30 /* f0a7f1c: 24090001 */ addiu $t1,$zero,0x1 /* f0a7f20: 10820003 */ beq $a0,$v0,.L0f0a7f30 /* f0a7f24: 24010056 */ addiu $at,$zero,0x56 /* f0a7f28: 14410004 */ bne $v0,$at,.L0f0a7f3c /* f0a7f2c: 24030001 */ addiu $v1,$zero,0x1 .L0f0a7f30: /* f0a7f30: a7a800b6 */ sh $t0,0xb6($sp) /* f0a7f34: 1000002a */ b .L0f0a7fe0 /* f0a7f38: afa900b0 */ sw $t1,0xb0($sp) .L0f0a7f3c: /* f0a7f3c: 1062000e */ beq $v1,$v0,.L0f0a7f78 /* f0a7f40: 3c0b8007 */ lui $t3,%hi(var800702e0) /* f0a7f44: 90ea0003 */ lbu $t2,0x3($a3) /* f0a7f48: 24010002 */ addiu $at,$zero,0x2 /* f0a7f4c: 146a0019 */ bne $v1,$t2,.L0f0a7fb4 /* f0a7f50: 00000000 */ nop /* f0a7f54: 10410008 */ beq $v0,$at,.L0f0a7f78 /* f0a7f58: 24010003 */ addiu $at,$zero,0x3 /* f0a7f5c: 10410006 */ beq $v0,$at,.L0f0a7f78 /* f0a7f60: 24010004 */ addiu $at,$zero,0x4 /* f0a7f64: 10410004 */ beq $v0,$at,.L0f0a7f78 /* f0a7f68: 24010008 */ addiu $at,$zero,0x8 /* f0a7f6c: 10410002 */ beq $v0,$at,.L0f0a7f78 /* f0a7f70: 24010009 */ addiu $at,$zero,0x9 /* f0a7f74: 1441000f */ bne $v0,$at,.L0f0a7fb4 .L0f0a7f78: /* f0a7f78: 256b02e0 */ addiu $t3,$t3,%lo(var800702e0) /* f0a7f7c: 8d610000 */ lw $at,0x0($t3) /* f0a7f80: 27a200a0 */ addiu $v0,$sp,0xa0 /* f0a7f84: ac410000 */ sw $at,0x0($v0) /* f0a7f88: 95610004 */ lhu $at,0x4($t3) /* f0a7f8c: a4410004 */ sh $at,0x4($v0) /* f0a7f90: 8fae00c4 */ lw $t6,0xc4($sp) /* f0a7f94: 24010003 */ addiu $at,$zero,0x3 /* f0a7f98: 01c1001b */ divu $zero,$t6,$at /* f0a7f9c: 00007810 */ mfhi $t7 /* f0a7fa0: 000fc040 */ sll $t8,$t7,0x1 /* f0a7fa4: 0058c821 */ addu $t9,$v0,$t8 /* f0a7fa8: 87280000 */ lh $t0,0x0($t9) /* f0a7fac: 1000000c */ b .L0f0a7fe0 /* f0a7fb0: a7a800b6 */ sh $t0,0xb6($sp) .L0f0a7fb4: /* f0a7fb4: 3c098007 */ lui $t1,%hi(var800702e8) /* f0a7fb8: 252902e8 */ addiu $t1,$t1,%lo(var800702e8) /* f0a7fbc: 8d210000 */ lw $at,0x0($t1) /* f0a7fc0: 27a2009c */ addiu $v0,$sp,0x9c /* f0a7fc4: ac410000 */ sw $at,0x0($v0) /* f0a7fc8: 8fad00c4 */ lw $t5,0xc4($sp) /* f0a7fcc: 31ae0001 */ andi $t6,$t5,0x1 /* f0a7fd0: 000e7840 */ sll $t7,$t6,0x1 /* f0a7fd4: 004fc021 */ addu $t8,$v0,$t7 /* f0a7fd8: 87190000 */ lh $t9,0x0($t8) /* f0a7fdc: a7b900b6 */ sh $t9,0xb6($sp) .L0f0a7fe0: /* f0a7fe0: 87a800b6 */ lh $t0,0xb6($sp) /* f0a7fe4: 8fac00cc */ lw $t4,0xcc($sp) /* f0a7fe8: 2401ffff */ addiu $at,$zero,-1 /* f0a7fec: 1101002b */ beq $t0,$at,.L0f0a809c /* f0a7ff0: 25840008 */ addiu $a0,$t4,0x8 /* f0a7ff4: 27aa00a8 */ addiu $t2,$sp,0xa8 /* f0a7ff8: afaa0010 */ sw $t2,0x10($sp) /* f0a7ffc: 25850028 */ addiu $a1,$t4,0x28 /* f0a8000: 01003025 */ or $a2,$t0,$zero /* f0a8004: 0fc253bd */ jal func0f094ef4 /* f0a8008: 27a700ac */ addiu $a3,$sp,0xac /* f0a800c: 8fa900ac */ lw $t1,0xac($sp) /* f0a8010: 3c048009 */ lui $a0,%hi(var80095200) /* f0a8014: 87a500b6 */ lh $a1,0xb6($sp) /* f0a8018: 11200020 */ beqz $t1,.L0f0a809c /* f0a801c: 8fa600bc */ lw $a2,0xbc($sp) /* f0a8020: 3c01bf80 */ lui $at,0xbf80 /* f0a8024: 44813000 */ mtc1 $at,$f6 /* f0a8028: 240bffff */ addiu $t3,$zero,-1 /* f0a802c: 240dffff */ addiu $t5,$zero,-1 /* f0a8030: 240effff */ addiu $t6,$zero,-1 /* f0a8034: afae001c */ sw $t6,0x1c($sp) /* f0a8038: afad0018 */ sw $t5,0x18($sp) /* f0a803c: afab0010 */ sw $t3,0x10($sp) /* f0a8040: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a8044: 2407ffff */ addiu $a3,$zero,-1 /* f0a8048: 0c004241 */ jal sndStart /* f0a804c: e7a60014 */ swc1 $f6,0x14($sp) /* f0a8050: 8faf00bc */ lw $t7,0xbc($sp) /* f0a8054: 00002825 */ or $a1,$zero,$zero /* f0a8058: 8fa600ac */ lw $a2,0xac($sp) /* f0a805c: 8df80000 */ lw $t8,0x0($t7) /* f0a8060: 8fa700a8 */ lw $a3,0xa8($sp) /* f0a8064: 87b900b6 */ lh $t9,0xb6($sp) /* f0a8068: 1300000c */ beqz $t8,.L0f0a809c /* f0a806c: 01e02025 */ or $a0,$t7,$zero /* f0a8070: 3c013f80 */ lui $at,0x3f80 /* f0a8074: 44814000 */ mtc1 $at,$f8 /* f0a8078: 240c0001 */ addiu $t4,$zero,0x1 /* f0a807c: 2408ffff */ addiu $t0,$zero,-1 /* f0a8080: 240a0001 */ addiu $t2,$zero,0x1 /* f0a8084: afaa0020 */ sw $t2,0x20($sp) /* f0a8088: afa8001c */ sw $t0,0x1c($sp) /* f0a808c: afac0018 */ sw $t4,0x18($sp) /* f0a8090: afb90010 */ sw $t9,0x10($sp) /* f0a8094: 0c004128 */ jal sndAdjust /* f0a8098: e7a80014 */ swc1 $f8,0x14($sp) .L0f0a809c: /* f0a809c: 8fa900b0 */ lw $t1,0xb0($sp) /* f0a80a0: 5120007f */ beqzl $t1,.L0f0a82a0 /* f0a80a4: 8fa200d0 */ lw $v0,0xd0($sp) /* f0a80a8: 100000d3 */ b .L0f0a83f8 /* f0a80ac: 8fbf0044 */ lw $ra,0x44($sp) .L0f0a80b0: /* f0a80b0: 8fad00d0 */ lw $t5,0xd0($sp) /* f0a80b4: 24012710 */ addiu $at,$zero,0x2710 /* f0a80b8: a7ab009a */ sh $t3,0x9a($sp) /* f0a80bc: 15a10004 */ bne $t5,$at,.L0f0a80d0 /* f0a80c0: 00001825 */ or $v1,$zero,$zero /* f0a80c4: 240e0064 */ addiu $t6,$zero,0x64 /* f0a80c8: 1000003d */ b .L0f0a81c0 /* f0a80cc: a7ae009a */ sh $t6,0x9a($sp) .L0f0a80d0: /* f0a80d0: 90e20000 */ lbu $v0,0x0($a3) /* f0a80d4: 2401001d */ addiu $at,$zero,0x1d /* f0a80d8: 2404001a */ addiu $a0,$zero,0x1a /* f0a80dc: 14410019 */ bne $v0,$at,.L0f0a8144 /* f0a80e0: 00000000 */ nop /* f0a80e4: 90f80003 */ lbu $t8,0x3($a3) /* f0a80e8: 1300000a */ beqz $t8,.L0f0a8114 /* f0a80ec: 00000000 */ nop /* f0a80f0: 90ef0002 */ lbu $t7,0x2($a3) /* f0a80f4: 31f90003 */ andi $t9,$t7,0x3 /* f0a80f8: 17200010 */ bnez $t9,.L0f0a813c /* f0a80fc: 00000000 */ nop /* f0a8100: 0c004b70 */ jal random /* f0a8104: 00000000 */ nop /* f0a8108: 304c0001 */ andi $t4,$v0,0x1 /* f0a810c: 1180000b */ beqz $t4,.L0f0a813c /* f0a8110: 00000000 */ nop .L0f0a8114: /* f0a8114: 0c004b70 */ jal random /* f0a8118: 00000000 */ nop /* f0a811c: 30480001 */ andi $t0,$v0,0x1 /* f0a8120: 15000005 */ bnez $t0,.L0f0a8138 /* f0a8124: 2409005c */ addiu $t1,$zero,0x5c /* f0a8128: 240a005b */ addiu $t2,$zero,0x5b /* f0a812c: a7aa009a */ sh $t2,0x9a($sp) /* f0a8130: 10000023 */ b .L0f0a81c0 /* f0a8134: 24030001 */ addiu $v1,$zero,0x1 .L0f0a8138: /* f0a8138: a7a9009a */ sh $t1,0x9a($sp) .L0f0a813c: /* f0a813c: 10000020 */ b .L0f0a81c0 /* f0a8140: 24030001 */ addiu $v1,$zero,0x1 .L0f0a8144: /* f0a8144: 10820003 */ beq $a0,$v0,.L0f0a8154 /* f0a8148: 24010056 */ addiu $at,$zero,0x56 /* f0a814c: 14410005 */ bne $v0,$at,.L0f0a8164 /* f0a8150: 3c0d8007 */ lui $t5,%hi(var800702ec) .L0f0a8154: /* f0a8154: 240b8079 */ addiu $t3,$zero,-32647 /* f0a8158: a7ab009a */ sh $t3,0x9a($sp) /* f0a815c: 10000018 */ b .L0f0a81c0 /* f0a8160: 24030001 */ addiu $v1,$zero,0x1 .L0f0a8164: /* f0a8164: 27a20060 */ addiu $v0,$sp,0x60 /* f0a8168: 25ad02ec */ addiu $t5,$t5,%lo(var800702ec) /* f0a816c: 25af0024 */ addiu $t7,$t5,0x24 /* f0a8170: 0040c825 */ or $t9,$v0,$zero .L0f0a8174: /* f0a8174: 8da10000 */ lw $at,0x0($t5) /* f0a8178: 25ad000c */ addiu $t5,$t5,0xc /* f0a817c: 2739000c */ addiu $t9,$t9,0xc /* f0a8180: af21fff4 */ sw $at,-0xc($t9) /* f0a8184: 8da1fff8 */ lw $at,-0x8($t5) /* f0a8188: af21fff8 */ sw $at,-0x8($t9) /* f0a818c: 8da1fffc */ lw $at,-0x4($t5) /* f0a8190: 15affff8 */ bne $t5,$t7,.L0f0a8174 /* f0a8194: af21fffc */ sw $at,-0x4($t9) /* f0a8198: 8da10000 */ lw $at,0x0($t5) /* f0a819c: af210000 */ sw $at,0x0($t9) /* f0a81a0: 8fac00c4 */ lw $t4,0xc4($sp) /* f0a81a4: 24010014 */ addiu $at,$zero,0x14 /* f0a81a8: 0181001b */ divu $zero,$t4,$at /* f0a81ac: 00004010 */ mfhi $t0 /* f0a81b0: 00085040 */ sll $t2,$t0,0x1 /* f0a81b4: 004a4821 */ addu $t1,$v0,$t2 /* f0a81b8: 852b0000 */ lh $t3,0x0($t1) /* f0a81bc: a7ab009a */ sh $t3,0x9a($sp) .L0f0a81c0: /* f0a81c0: 87b8009a */ lh $t8,0x9a($sp) /* f0a81c4: 8fae00cc */ lw $t6,0xcc($sp) /* f0a81c8: 2401ffff */ addiu $at,$zero,-1 /* f0a81cc: 13010031 */ beq $t8,$at,.L0f0a8294 /* f0a81d0: 25c40008 */ addiu $a0,$t6,0x8 /* f0a81d4: 27af008c */ addiu $t7,$sp,0x8c /* f0a81d8: afaf0010 */ sw $t7,0x10($sp) /* f0a81dc: 25c50028 */ addiu $a1,$t6,0x28 /* f0a81e0: 03003025 */ or $a2,$t8,$zero /* f0a81e4: 27a70090 */ addiu $a3,$sp,0x90 /* f0a81e8: 0fc253bd */ jal func0f094ef4 /* f0a81ec: afa30094 */ sw $v1,0x94($sp) /* f0a81f0: 8fad0090 */ lw $t5,0x90($sp) /* f0a81f4: 8fa30094 */ lw $v1,0x94($sp) /* f0a81f8: 3c048009 */ lui $a0,%hi(var80095200) /* f0a81fc: 11a00025 */ beqz $t5,.L0f0a8294 /* f0a8200: 87a5009a */ lh $a1,0x9a($sp) /* f0a8204: 3c01bf80 */ lui $at,0xbf80 /* f0a8208: 44815000 */ mtc1 $at,$f10 /* f0a820c: 2419ffff */ addiu $t9,$zero,-1 /* f0a8210: 240cffff */ addiu $t4,$zero,-1 /* f0a8214: 2408ffff */ addiu $t0,$zero,-1 /* f0a8218: afa8001c */ sw $t0,0x1c($sp) /* f0a821c: afac0018 */ sw $t4,0x18($sp) /* f0a8220: afb90010 */ sw $t9,0x10($sp) /* f0a8224: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a8228: 8fa600bc */ lw $a2,0xbc($sp) /* f0a822c: 2407ffff */ addiu $a3,$zero,-1 /* f0a8230: afa30094 */ sw $v1,0x94($sp) /* f0a8234: 0c004241 */ jal sndStart /* f0a8238: e7aa0014 */ swc1 $f10,0x14($sp) /* f0a823c: 8faa00bc */ lw $t2,0xbc($sp) /* f0a8240: 8fa30094 */ lw $v1,0x94($sp) /* f0a8244: 00002825 */ or $a1,$zero,$zero /* f0a8248: 8d490000 */ lw $t1,0x0($t2) /* f0a824c: 8fa60090 */ lw $a2,0x90($sp) /* f0a8250: 8fa7008c */ lw $a3,0x8c($sp) /* f0a8254: 1120000f */ beqz $t1,.L0f0a8294 /* f0a8258: 01402025 */ or $a0,$t2,$zero /* f0a825c: 3c013f80 */ lui $at,0x3f80 /* f0a8260: 44818000 */ mtc1 $at,$f16 /* f0a8264: 87ab009a */ lh $t3,0x9a($sp) /* f0a8268: 240e0001 */ addiu $t6,$zero,0x1 /* f0a826c: 2418ffff */ addiu $t8,$zero,-1 /* f0a8270: 240f0001 */ addiu $t7,$zero,0x1 /* f0a8274: afaf0020 */ sw $t7,0x20($sp) /* f0a8278: afb8001c */ sw $t8,0x1c($sp) /* f0a827c: afae0018 */ sw $t6,0x18($sp) /* f0a8280: afa30094 */ sw $v1,0x94($sp) /* f0a8284: afab0010 */ sw $t3,0x10($sp) /* f0a8288: 0c004128 */ jal sndAdjust /* f0a828c: e7b00014 */ swc1 $f16,0x14($sp) /* f0a8290: 8fa30094 */ lw $v1,0x94($sp) .L0f0a8294: /* f0a8294: 54600058 */ bnezl $v1,.L0f0a83f8 /* f0a8298: 8fbf0044 */ lw $ra,0x44($sp) .L0f0a829c: /* f0a829c: 8fa200d0 */ lw $v0,0xd0($sp) .L0f0a82a0: /* f0a82a0: 04400054 */ bltz $v0,.L0f0a83f4 /* f0a82a4: 28410daf */ slti $at,$v0,0xdaf /* f0a82a8: 10200052 */ beqz $at,.L0f0a83f4 /* f0a82ac: 3c0d800b */ lui $t5,%hi(g_Textures) /* f0a82b0: 8dadabc0 */ lw $t5,%lo(g_Textures)($t5) /* f0a82b4: 000218c0 */ sll $v1,$v0,0x3 /* f0a82b8: 3c0a8008 */ lui $t2,%hi(g_SurfaceTypes) /* f0a82bc: 01a3c821 */ addu $t9,$t5,$v1 /* f0a82c0: 8f2c0000 */ lw $t4,0x0($t9) /* f0a82c4: 240bffff */ addiu $t3,$zero,-1 /* f0a82c8: 000c4702 */ srl $t0,$t4,0x1c /* f0a82cc: 00084880 */ sll $t1,$t0,0x2 /* f0a82d0: 01495021 */ addu $t2,$t2,$t1 /* f0a82d4: 8d4a4458 */ lw $t2,%lo(g_SurfaceTypes)($t2) /* f0a82d8: 51400047 */ beqzl $t2,.L0f0a83f8 /* f0a82dc: 8fbf0044 */ lw $ra,0x44($sp) /* f0a82e0: a7ab005e */ sh $t3,0x5e($sp) /* f0a82e4: 0fc29f57 */ jal bgun0f0a7d5c /* f0a82e8: afa30054 */ sw $v1,0x54($sp) /* f0a82ec: 8fa30054 */ lw $v1,0x54($sp) /* f0a82f0: 10400040 */ beqz $v0,.L0f0a83f4 /* f0a82f4: afa200bc */ sw $v0,0xbc($sp) /* f0a82f8: 3c0e800b */ lui $t6,%hi(g_Textures) /* f0a82fc: 8dceabc0 */ lw $t6,%lo(g_Textures)($t6) /* f0a8300: 3c048008 */ lui $a0,%hi(g_SurfaceTypes) /* f0a8304: 8fac00c0 */ lw $t4,0xc0($sp) /* f0a8308: 01c3c021 */ addu $t8,$t6,$v1 /* f0a830c: 8f0f0000 */ lw $t7,0x0($t8) /* f0a8310: 000f6f02 */ srl $t5,$t7,0x1c /* f0a8314: 000dc880 */ sll $t9,$t5,0x2 /* f0a8318: 00992021 */ addu $a0,$a0,$t9 /* f0a831c: 8c844458 */ lw $a0,%lo(g_SurfaceTypes)($a0) /* f0a8320: 84850008 */ lh $a1,0x8($a0) /* f0a8324: 58a0001e */ blezl $a1,.L0f0a83a0 /* f0a8328: 8fb900bc */ lw $t9,0xbc($sp) /* f0a832c: 0185001b */ divu $zero,$t4,$a1 /* f0a8330: 8c880000 */ lw $t0,0x0($a0) /* f0a8334: 00001010 */ mfhi $v0 /* f0a8338: 00024840 */ sll $t1,$v0,0x1 /* f0a833c: 01095021 */ addu $t2,$t0,$t1 /* f0a8340: 954b0000 */ lhu $t3,0x0($t2) /* f0a8344: 14a00002 */ bnez $a1,.L0f0a8350 /* f0a8348: 00000000 */ nop /* f0a834c: 0007000d */ break 0x7 .L0f0a8350: /* f0a8350: a7ab005e */ sh $t3,0x5e($sp) /* f0a8354: 87ae005e */ lh $t6,0x5e($sp) /* f0a8358: 2401ffff */ addiu $at,$zero,-1 /* f0a835c: 3c048009 */ lui $a0,%hi(var80095200) /* f0a8360: 11c1000e */ beq $t6,$at,.L0f0a839c /* f0a8364: 01c02825 */ or $a1,$t6,$zero /* f0a8368: 3c01bf80 */ lui $at,0xbf80 /* f0a836c: 44819000 */ mtc1 $at,$f18 /* f0a8370: 2418ffff */ addiu $t8,$zero,-1 /* f0a8374: 240fffff */ addiu $t7,$zero,-1 /* f0a8378: 240dffff */ addiu $t5,$zero,-1 /* f0a837c: afad001c */ sw $t5,0x1c($sp) /* f0a8380: afaf0018 */ sw $t7,0x18($sp) /* f0a8384: afb80010 */ sw $t8,0x10($sp) /* f0a8388: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a838c: 8fa600bc */ lw $a2,0xbc($sp) /* f0a8390: 2407ffff */ addiu $a3,$zero,-1 /* f0a8394: 0c004241 */ jal sndStart /* f0a8398: e7b20014 */ swc1 $f18,0x14($sp) .L0f0a839c: /* f0a839c: 8fb900bc */ lw $t9,0xbc($sp) .L0f0a83a0: /* f0a83a0: 87ac005e */ lh $t4,0x5e($sp) /* f0a83a4: 2401ffff */ addiu $at,$zero,-1 /* f0a83a8: 8f240000 */ lw $a0,0x0($t9) /* f0a83ac: 50800012 */ beqzl $a0,.L0f0a83f8 /* f0a83b0: 8fbf0044 */ lw $ra,0x44($sp) /* f0a83b4: 1181000f */ beq $t4,$at,.L0f0a83f4 /* f0a83b8: 8fa800cc */ lw $t0,0xcc($sp) /* f0a83bc: 3c017f1b */ lui $at,%hi(var7f1aca94) /* f0a83c0: c424ca94 */ lwc1 $f4,%lo(var7f1aca94)($at) /* f0a83c4: 3c07451c */ lui $a3,0x451c /* f0a83c8: 25090028 */ addiu $t1,$t0,0x28 /* f0a83cc: 240a7fff */ addiu $t2,$zero,0x7fff /* f0a83d0: afaa001c */ sw $t2,0x1c($sp) /* f0a83d4: afa90014 */ sw $t1,0x14($sp) /* f0a83d8: 34e74000 */ ori $a3,$a3,0x4000 /* f0a83dc: 25050008 */ addiu $a1,$t0,0x8 /* f0a83e0: 3c0643c8 */ lui $a2,0x43c8 /* f0a83e4: afac0018 */ sw $t4,0x18($sp) /* f0a83e8: afa00020 */ sw $zero,0x20($sp) /* f0a83ec: 0fc25417 */ jal func0f09505c /* f0a83f0: e7a40010 */ swc1 $f4,0x10($sp) .L0f0a83f4: /* f0a83f4: 8fbf0044 */ lw $ra,0x44($sp) .L0f0a83f8: /* f0a83f8: 27bd00c8 */ addiu $sp,$sp,0xc8 /* f0a83fc: 03e00008 */ jr $ra /* f0a8400: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgunPlayPropHitSound .late_rodata glabel var7f1aca94 .word 0x453b8000 .text /* f0a5ac4: 27bdff48 */ addiu $sp,$sp,-184 /* f0a5ac8: afbf0044 */ sw $ra,0x44($sp) /* f0a5acc: afa500bc */ sw $a1,0xbc($sp) /* f0a5ad0: afa600c0 */ sw $a2,0xc0($sp) /* f0a5ad4: 0c004d84 */ jal random /* f0a5ad8: afa400b8 */ sw $a0,0xb8($sp) /* f0a5adc: 0c004d84 */ jal random /* f0a5ae0: afa200b4 */ sw $v0,0xb4($sp) /* f0a5ae4: 3c0e800a */ lui $t6,0x800a /* f0a5ae8: 8dcee6f4 */ lw $t6,-0x190c($t6) /* f0a5aec: 8fa700b8 */ lw $a3,0xb8($sp) /* f0a5af0: afa200b0 */ sw $v0,0xb0($sp) /* f0a5af4: 19c001b5 */ blez $t6,.NB0f0a61cc /* f0a5af8: 8fa300c0 */ lw $v1,0xc0($sp) /* f0a5afc: 0460000f */ bltz $v1,.NB0f0a5b3c /* f0a5b00: 28610daf */ slti $at,$v1,0xdaf /* f0a5b04: 1020000d */ beqz $at,.NB0f0a5b3c /* f0a5b08: 3c0f800b */ lui $t7,0x800b /* f0a5b0c: 8deff470 */ lw $t7,-0xb90($t7) /* f0a5b10: 0003c0c0 */ sll $t8,$v1,0x3 /* f0a5b14: 3c0d8008 */ lui $t5,0x8008 /* f0a5b18: 01f8c821 */ addu $t9,$t7,$t8 /* f0a5b1c: 8f2a0000 */ lw $t2,0x0($t9) /* f0a5b20: 000a5f02 */ srl $t3,$t2,0x1c /* f0a5b24: 000b6080 */ sll $t4,$t3,0x2 /* f0a5b28: 01ac6821 */ addu $t5,$t5,$t4 /* f0a5b2c: 8dad6cd8 */ lw $t5,0x6cd8($t5) /* f0a5b30: 85ae0008 */ lh $t6,0x8($t5) /* f0a5b34: 51c001a6 */ beqzl $t6,.NB0f0a61d0 /* f0a5b38: 8fbf0044 */ lw $ra,0x44($sp) .NB0f0a5b3c: /* f0a5b3c: 90e20000 */ lbu $v0,0x0($a3) /* f0a5b40: 24010022 */ addiu $at,$zero,0x22 /* f0a5b44: 00002025 */ or $a0,$zero,$zero /* f0a5b48: 1041000d */ beq $v0,$at,.NB0f0a5b80 /* f0a5b4c: 8fa500bc */ lw $a1,0xbc($sp) /* f0a5b50: 24010021 */ addiu $at,$zero,0x21 /* f0a5b54: 1041000a */ beq $v0,$at,.NB0f0a5b80 /* f0a5b58: 24010020 */ addiu $at,$zero,0x20 /* f0a5b5c: 10410008 */ beq $v0,$at,.NB0f0a5b80 /* f0a5b60: 2401003d */ addiu $at,$zero,0x3d /* f0a5b64: 10410006 */ beq $v0,$at,.NB0f0a5b80 /* f0a5b68: 2401003e */ addiu $at,$zero,0x3e /* f0a5b6c: 10410004 */ beq $v0,$at,.NB0f0a5b80 /* f0a5b70: 2401003f */ addiu $at,$zero,0x3f /* f0a5b74: 10410002 */ beq $v0,$at,.NB0f0a5b80 /* f0a5b78: 24010035 */ addiu $at,$zero,0x35 /* f0a5b7c: 14410014 */ bne $v0,$at,.NB0f0a5bd0 .NB0f0a5b80: /* f0a5b80: 3c01bf80 */ lui $at,0xbf80 /* f0a5b84: 44810000 */ mtc1 $at,$f0 /* f0a5b88: 240fffff */ addiu $t7,$zero,-1 /* f0a5b8c: 2418ffff */ addiu $t8,$zero,-1 /* f0a5b90: afb8002c */ sw $t8,0x2c($sp) /* f0a5b94: afaf0010 */ sw $t7,0x10($sp) /* f0a5b98: 240680aa */ addiu $a2,$zero,-32598 /* f0a5b9c: 2407ffff */ addiu $a3,$zero,-1 /* f0a5ba0: afa00014 */ sw $zero,0x14($sp) /* f0a5ba4: afa00018 */ sw $zero,0x18($sp) /* f0a5ba8: afa0001c */ sw $zero,0x1c($sp) /* f0a5bac: afa00020 */ sw $zero,0x20($sp) /* f0a5bb0: afa00028 */ sw $zero,0x28($sp) /* f0a5bb4: e7a00024 */ swc1 $f0,0x24($sp) /* f0a5bb8: e7a00030 */ swc1 $f0,0x30($sp) /* f0a5bbc: e7a00034 */ swc1 $f0,0x34($sp) /* f0a5bc0: 0fc24762 */ jal func0f0939f8 /* f0a5bc4: e7a00038 */ swc1 $f0,0x38($sp) /* f0a5bc8: 10000181 */ beqz $zero,.NB0f0a61d0 /* f0a5bcc: 8fbf0044 */ lw $ra,0x44($sp) .NB0f0a5bd0: /* f0a5bd0: 0fc296a2 */ jal bgun0f0a7d5c /* f0a5bd4: afa700b8 */ sw $a3,0xb8($sp) /* f0a5bd8: 8fa700b8 */ lw $a3,0xb8($sp) /* f0a5bdc: 1040012d */ beqz $v0,.NB0f0a6094 /* f0a5be0: afa200ac */ sw $v0,0xac($sp) /* f0a5be4: 8fb900bc */ lw $t9,0xbc($sp) /* f0a5be8: 24010003 */ addiu $at,$zero,0x3 /* f0a5bec: 8faa00bc */ lw $t2,0xbc($sp) /* f0a5bf0: 93220000 */ lbu $v0,0x0($t9) /* f0a5bf4: 10410003 */ beq $v0,$at,.NB0f0a5c04 /* f0a5bf8: 24010006 */ addiu $at,$zero,0x6 /* f0a5bfc: 14410093 */ bne $v0,$at,.NB0f0a5e4c /* f0a5c00: 8faf00c0 */ lw $t7,0xc0($sp) .NB0f0a5c04: /* f0a5c04: 8d440004 */ lw $a0,0x4($t2) /* f0a5c08: afa000a0 */ sw $zero,0xa0($sp) /* f0a5c0c: 0fc0ce2a */ jal chrGetShield /* f0a5c10: afa700b8 */ sw $a3,0xb8($sp) /* f0a5c14: 44802000 */ mtc1 $zero,$f4 /* f0a5c18: 8fa700b8 */ lw $a3,0xb8($sp) /* f0a5c1c: 3c04800a */ lui $a0,0x800a /* f0a5c20: 4600203c */ c.lt.s $f4,$f0 /* f0a5c24: 24050064 */ addiu $a1,$zero,0x64 /* f0a5c28: 8fa600ac */ lw $a2,0xac($sp) /* f0a5c2c: 240bffff */ addiu $t3,$zero,-1 /* f0a5c30: 4500000e */ bc1f .NB0f0a5c6c /* f0a5c34: 3c01bf80 */ lui $at,0xbf80 /* f0a5c38: 44813000 */ mtc1 $at,$f6 /* f0a5c3c: 240cffff */ addiu $t4,$zero,-1 /* f0a5c40: 240dffff */ addiu $t5,$zero,-1 /* f0a5c44: afad001c */ sw $t5,0x1c($sp) /* f0a5c48: afac0018 */ sw $t4,0x18($sp) /* f0a5c4c: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a5c50: 2407ffff */ addiu $a3,$zero,-1 /* f0a5c54: afab0010 */ sw $t3,0x10($sp) /* f0a5c58: 0c004338 */ jal sndStart /* f0a5c5c: e7a60014 */ swc1 $f6,0x14($sp) /* f0a5c60: 240e0064 */ addiu $t6,$zero,0x64 /* f0a5c64: 10000061 */ beqz $zero,.NB0f0a5dec /* f0a5c68: a7ae00a6 */ sh $t6,0xa6($sp) .NB0f0a5c6c: /* f0a5c6c: 90e20000 */ lbu $v0,0x0($a3) /* f0a5c70: 2404001a */ addiu $a0,$zero,0x1a /* f0a5c74: 240505f6 */ addiu $a1,$zero,0x5f6 /* f0a5c78: 10820005 */ beq $a0,$v0,.NB0f0a5c90 /* f0a5c7c: 8fa600ac */ lw $a2,0xac($sp) /* f0a5c80: 10820003 */ beq $a0,$v0,.NB0f0a5c90 /* f0a5c84: 24010055 */ addiu $at,$zero,0x55 /* f0a5c88: 14410013 */ bne $v0,$at,.NB0f0a5cd8 /* f0a5c8c: 24030001 */ addiu $v1,$zero,0x1 .NB0f0a5c90: /* f0a5c90: 3c01bf80 */ lui $at,0xbf80 /* f0a5c94: 44814000 */ mtc1 $at,$f8 /* f0a5c98: 3c04800a */ lui $a0,0x800a /* f0a5c9c: 240fffff */ addiu $t7,$zero,-1 /* f0a5ca0: 2418ffff */ addiu $t8,$zero,-1 /* f0a5ca4: 2419ffff */ addiu $t9,$zero,-1 /* f0a5ca8: afb9001c */ sw $t9,0x1c($sp) /* f0a5cac: afb80018 */ sw $t8,0x18($sp) /* f0a5cb0: afaf0010 */ sw $t7,0x10($sp) /* f0a5cb4: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a5cb8: 2407ffff */ addiu $a3,$zero,-1 /* f0a5cbc: 0c004338 */ jal sndStart /* f0a5cc0: e7a80014 */ swc1 $f8,0x14($sp) /* f0a5cc4: 240a05f6 */ addiu $t2,$zero,0x5f6 /* f0a5cc8: 240b0001 */ addiu $t3,$zero,0x1 /* f0a5ccc: a7aa00a6 */ sh $t2,0xa6($sp) /* f0a5cd0: 10000046 */ beqz $zero,.NB0f0a5dec /* f0a5cd4: afab00a0 */ sw $t3,0xa0($sp) .NB0f0a5cd8: /* f0a5cd8: 1062000f */ beq $v1,$v0,.NB0f0a5d18 /* f0a5cdc: 3c0d8007 */ lui $t5,0x8007 /* f0a5ce0: 90ec0003 */ lbu $t4,0x3($a3) /* f0a5ce4: 3c0f8007 */ lui $t7,0x8007 /* f0a5ce8: 24010002 */ addiu $at,$zero,0x2 /* f0a5cec: 146c0028 */ bne $v1,$t4,.NB0f0a5d90 /* f0a5cf0: 25ef29a8 */ addiu $t7,$t7,0x29a8 /* f0a5cf4: 10410008 */ beq $v0,$at,.NB0f0a5d18 /* f0a5cf8: 24010003 */ addiu $at,$zero,0x3 /* f0a5cfc: 10410006 */ beq $v0,$at,.NB0f0a5d18 /* f0a5d00: 24010004 */ addiu $at,$zero,0x4 /* f0a5d04: 10410004 */ beq $v0,$at,.NB0f0a5d18 /* f0a5d08: 24010008 */ addiu $at,$zero,0x8 /* f0a5d0c: 10410002 */ beq $v0,$at,.NB0f0a5d18 /* f0a5d10: 24010009 */ addiu $at,$zero,0x9 /* f0a5d14: 1441001e */ bne $v0,$at,.NB0f0a5d90 .NB0f0a5d18: /* f0a5d18: 25ad29a0 */ addiu $t5,$t5,0x29a0 /* f0a5d1c: 8da10000 */ lw $at,0x0($t5) /* f0a5d20: 27a20098 */ addiu $v0,$sp,0x98 /* f0a5d24: 3c04800a */ lui $a0,0x800a /* f0a5d28: ac410000 */ sw $at,0x0($v0) /* f0a5d2c: 95a10004 */ lhu $at,0x4($t5) /* f0a5d30: 240dffff */ addiu $t5,$zero,-1 /* f0a5d34: 240cffff */ addiu $t4,$zero,-1 /* f0a5d38: a4410004 */ sh $at,0x4($v0) /* f0a5d3c: 8fb800b4 */ lw $t8,0xb4($sp) /* f0a5d40: 24010003 */ addiu $at,$zero,0x3 /* f0a5d44: 240effff */ addiu $t6,$zero,-1 /* f0a5d48: 0301001b */ divu $zero,$t8,$at /* f0a5d4c: 0000c810 */ mfhi $t9 /* f0a5d50: 00195040 */ sll $t2,$t9,0x1 /* f0a5d54: 004a5821 */ addu $t3,$v0,$t2 /* f0a5d58: 85650000 */ lh $a1,0x0($t3) /* f0a5d5c: 3c01bf80 */ lui $at,0xbf80 /* f0a5d60: 44815000 */ mtc1 $at,$f10 /* f0a5d64: afad001c */ sw $t5,0x1c($sp) /* f0a5d68: afae0018 */ sw $t6,0x18($sp) /* f0a5d6c: afac0010 */ sw $t4,0x10($sp) /* f0a5d70: 8fa600ac */ lw $a2,0xac($sp) /* f0a5d74: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a5d78: 2407ffff */ addiu $a3,$zero,-1 /* f0a5d7c: a7a500a6 */ sh $a1,0xa6($sp) /* f0a5d80: 0c004338 */ jal sndStart /* f0a5d84: e7aa0014 */ swc1 $f10,0x14($sp) /* f0a5d88: 10000019 */ beqz $zero,.NB0f0a5df0 /* f0a5d8c: 8fab00ac */ lw $t3,0xac($sp) .NB0f0a5d90: /* f0a5d90: 8de10000 */ lw $at,0x0($t7) /* f0a5d94: 27a20094 */ addiu $v0,$sp,0x94 /* f0a5d98: 240fffff */ addiu $t7,$zero,-1 /* f0a5d9c: ac410000 */ sw $at,0x0($v0) /* f0a5da0: 8fab00b4 */ lw $t3,0xb4($sp) /* f0a5da4: 3c01bf80 */ lui $at,0xbf80 /* f0a5da8: 44818000 */ mtc1 $at,$f16 /* f0a5dac: 316c0001 */ andi $t4,$t3,0x1 /* f0a5db0: 000c7040 */ sll $t6,$t4,0x1 /* f0a5db4: 004e6821 */ addu $t5,$v0,$t6 /* f0a5db8: 85a50000 */ lh $a1,0x0($t5) /* f0a5dbc: 3c04800a */ lui $a0,0x800a /* f0a5dc0: 2418ffff */ addiu $t8,$zero,-1 /* f0a5dc4: 240affff */ addiu $t2,$zero,-1 /* f0a5dc8: afaa001c */ sw $t2,0x1c($sp) /* f0a5dcc: afb80010 */ sw $t8,0x10($sp) /* f0a5dd0: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a5dd4: afaf0018 */ sw $t7,0x18($sp) /* f0a5dd8: 8fa600ac */ lw $a2,0xac($sp) /* f0a5ddc: 2407ffff */ addiu $a3,$zero,-1 /* f0a5de0: e7b00014 */ swc1 $f16,0x14($sp) /* f0a5de4: 0c004338 */ jal sndStart /* f0a5de8: a7a500a6 */ sh $a1,0xa6($sp) .NB0f0a5dec: /* f0a5dec: 8fab00ac */ lw $t3,0xac($sp) .NB0f0a5df0: /* f0a5df0: 8fac00bc */ lw $t4,0xbc($sp) /* f0a5df4: 3c07451c */ lui $a3,0x451c /* f0a5df8: 8d640000 */ lw $a0,0x0($t3) /* f0a5dfc: 34e74000 */ ori $a3,$a3,0x4000 /* f0a5e00: 3c0643c8 */ lui $a2,0x43c8 /* f0a5e04: 1080000c */ beqz $a0,.NB0f0a5e38 /* f0a5e08: 25850008 */ addiu $a1,$t4,0x8 /* f0a5e0c: 3c017f1a */ lui $at,0x7f1a /* f0a5e10: c4326ddc */ lwc1 $f18,0x6ddc($at) /* f0a5e14: 87ad00a6 */ lh $t5,0xa6($sp) /* f0a5e18: 258e0028 */ addiu $t6,$t4,0x28 /* f0a5e1c: 24197fff */ addiu $t9,$zero,0x7fff /* f0a5e20: afb9001c */ sw $t9,0x1c($sp) /* f0a5e24: afae0014 */ sw $t6,0x14($sp) /* f0a5e28: afa00020 */ sw $zero,0x20($sp) /* f0a5e2c: e7b20010 */ swc1 $f18,0x10($sp) /* f0a5e30: 0fc24c8e */ jal func0f09505c /* f0a5e34: afad0018 */ sw $t5,0x18($sp) .NB0f0a5e38: /* f0a5e38: 8fb800a0 */ lw $t8,0xa0($sp) /* f0a5e3c: 53000096 */ beqzl $t8,.NB0f0a6098 /* f0a5e40: 8fa200c0 */ lw $v0,0xc0($sp) /* f0a5e44: 100000e2 */ beqz $zero,.NB0f0a61d0 /* f0a5e48: 8fbf0044 */ lw $ra,0x44($sp) .NB0f0a5e4c: /* f0a5e4c: 24012710 */ addiu $at,$zero,0x2710 /* f0a5e50: 15e10015 */ bne $t7,$at,.NB0f0a5ea8 /* f0a5e54: 00001825 */ or $v1,$zero,$zero /* f0a5e58: 3c01bf80 */ lui $at,0xbf80 /* f0a5e5c: 44812000 */ mtc1 $at,$f4 /* f0a5e60: 3c04800a */ lui $a0,0x800a /* f0a5e64: 240affff */ addiu $t2,$zero,-1 /* f0a5e68: 240bffff */ addiu $t3,$zero,-1 /* f0a5e6c: 240cffff */ addiu $t4,$zero,-1 /* f0a5e70: afac001c */ sw $t4,0x1c($sp) /* f0a5e74: afab0018 */ sw $t3,0x18($sp) /* f0a5e78: afaa0010 */ sw $t2,0x10($sp) /* f0a5e7c: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a5e80: 24050064 */ addiu $a1,$zero,0x64 /* f0a5e84: 8fa600ac */ lw $a2,0xac($sp) /* f0a5e88: 2407ffff */ addiu $a3,$zero,-1 /* f0a5e8c: afa3008c */ sw $v1,0x8c($sp) /* f0a5e90: 0c004338 */ jal sndStart /* f0a5e94: e7a40014 */ swc1 $f4,0x14($sp) /* f0a5e98: 240e0064 */ addiu $t6,$zero,0x64 /* f0a5e9c: 8fa3008c */ lw $v1,0x8c($sp) /* f0a5ea0: 10000065 */ beqz $zero,.NB0f0a6038 /* f0a5ea4: a7ae0092 */ sh $t6,0x92($sp) .NB0f0a5ea8: /* f0a5ea8: 90e20000 */ lbu $v0,0x0($a3) /* f0a5eac: 2401001d */ addiu $at,$zero,0x1d /* f0a5eb0: 2404001a */ addiu $a0,$zero,0x1a /* f0a5eb4: 14410022 */ bne $v0,$at,.NB0f0a5f40 /* f0a5eb8: 00000000 */ sll $zero,$zero,0x0 /* f0a5ebc: 90ed0003 */ lbu $t5,0x3($a3) /* f0a5ec0: 11a00005 */ beqz $t5,.NB0f0a5ed8 /* f0a5ec4: 00000000 */ sll $zero,$zero,0x0 /* f0a5ec8: 90f90002 */ lbu $t9,0x2($a3) /* f0a5ecc: 33380007 */ andi $t8,$t9,0x7 /* f0a5ed0: 5700005a */ bnezl $t8,.NB0f0a603c /* f0a5ed4: 8fb800ac */ lw $t8,0xac($sp) .NB0f0a5ed8: /* f0a5ed8: 0c004d84 */ jal random /* f0a5edc: 00000000 */ sll $zero,$zero,0x0 /* f0a5ee0: 304f0001 */ andi $t7,$v0,0x1 /* f0a5ee4: 15e00004 */ bnez $t7,.NB0f0a5ef8 /* f0a5ee8: 3c04800a */ lui $a0,0x800a /* f0a5eec: 240a005b */ addiu $t2,$zero,0x5b /* f0a5ef0: 10000003 */ beqz $zero,.NB0f0a5f00 /* f0a5ef4: a7aa0092 */ sh $t2,0x92($sp) .NB0f0a5ef8: /* f0a5ef8: 240b005c */ addiu $t3,$zero,0x5c /* f0a5efc: a7ab0092 */ sh $t3,0x92($sp) .NB0f0a5f00: /* f0a5f00: 3c01bf80 */ lui $at,0xbf80 /* f0a5f04: 44813000 */ mtc1 $at,$f6 /* f0a5f08: 240cffff */ addiu $t4,$zero,-1 /* f0a5f0c: 240effff */ addiu $t6,$zero,-1 /* f0a5f10: 240dffff */ addiu $t5,$zero,-1 /* f0a5f14: afad001c */ sw $t5,0x1c($sp) /* f0a5f18: afae0018 */ sw $t6,0x18($sp) /* f0a5f1c: afac0010 */ sw $t4,0x10($sp) /* f0a5f20: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a5f24: 87a50092 */ lh $a1,0x92($sp) /* f0a5f28: 8fa600ac */ lw $a2,0xac($sp) /* f0a5f2c: 2407ffff */ addiu $a3,$zero,-1 /* f0a5f30: 0c004338 */ jal sndStart /* f0a5f34: e7a60014 */ swc1 $f6,0x14($sp) /* f0a5f38: 1000003f */ beqz $zero,.NB0f0a6038 /* f0a5f3c: 24030001 */ addiu $v1,$zero,0x1 .NB0f0a5f40: /* f0a5f40: 10820003 */ beq $a0,$v0,.NB0f0a5f50 /* f0a5f44: 24010055 */ addiu $at,$zero,0x55 /* f0a5f48: 14410014 */ bne $v0,$at,.NB0f0a5f9c /* f0a5f4c: 3c0b8007 */ lui $t3,0x8007 .NB0f0a5f50: /* f0a5f50: 3c01bf80 */ lui $at,0xbf80 /* f0a5f54: 44814000 */ mtc1 $at,$f8 /* f0a5f58: 24198079 */ addiu $t9,$zero,-32647 /* f0a5f5c: 3c04800a */ lui $a0,0x800a /* f0a5f60: 2418ffff */ addiu $t8,$zero,-1 /* f0a5f64: 240fffff */ addiu $t7,$zero,-1 /* f0a5f68: 240affff */ addiu $t2,$zero,-1 /* f0a5f6c: a7b90092 */ sh $t9,0x92($sp) /* f0a5f70: afaa001c */ sw $t2,0x1c($sp) /* f0a5f74: afaf0018 */ sw $t7,0x18($sp) /* f0a5f78: afb80010 */ sw $t8,0x10($sp) /* f0a5f7c: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a5f80: 24058079 */ addiu $a1,$zero,-32647 /* f0a5f84: 8fa600ac */ lw $a2,0xac($sp) /* f0a5f88: 2407ffff */ addiu $a3,$zero,-1 /* f0a5f8c: 0c004338 */ jal sndStart /* f0a5f90: e7a80014 */ swc1 $f8,0x14($sp) /* f0a5f94: 10000028 */ beqz $zero,.NB0f0a6038 /* f0a5f98: 24030001 */ addiu $v1,$zero,0x1 .NB0f0a5f9c: /* f0a5f9c: 27a20060 */ addiu $v0,$sp,0x60 /* f0a5fa0: 256b29ac */ addiu $t3,$t3,0x29ac /* f0a5fa4: 256d0024 */ addiu $t5,$t3,0x24 /* f0a5fa8: 0040c825 */ or $t9,$v0,$zero .NB0f0a5fac: /* f0a5fac: 8d610000 */ lw $at,0x0($t3) /* f0a5fb0: 256b000c */ addiu $t3,$t3,0xc /* f0a5fb4: 2739000c */ addiu $t9,$t9,0xc /* f0a5fb8: af21fff4 */ sw $at,-0xc($t9) /* f0a5fbc: 8d61fff8 */ lw $at,-0x8($t3) /* f0a5fc0: af21fff8 */ sw $at,-0x8($t9) /* f0a5fc4: 8d61fffc */ lw $at,-0x4($t3) /* f0a5fc8: 156dfff8 */ bne $t3,$t5,.NB0f0a5fac /* f0a5fcc: af21fffc */ sw $at,-0x4($t9) /* f0a5fd0: 8d610000 */ lw $at,0x0($t3) /* f0a5fd4: 240bffff */ addiu $t3,$zero,-1 /* f0a5fd8: 3c04800a */ lui $a0,0x800a /* f0a5fdc: af210000 */ sw $at,0x0($t9) /* f0a5fe0: 8fb800b4 */ lw $t8,0xb4($sp) /* f0a5fe4: 24010014 */ addiu $at,$zero,0x14 /* f0a5fe8: 2419ffff */ addiu $t9,$zero,-1 /* f0a5fec: 0301001b */ divu $zero,$t8,$at /* f0a5ff0: 00007810 */ mfhi $t7 /* f0a5ff4: 000f5040 */ sll $t2,$t7,0x1 /* f0a5ff8: 004a7021 */ addu $t6,$v0,$t2 /* f0a5ffc: 85c50000 */ lh $a1,0x0($t6) /* f0a6000: 3c01bf80 */ lui $at,0xbf80 /* f0a6004: 44815000 */ mtc1 $at,$f10 /* f0a6008: 240dffff */ addiu $t5,$zero,-1 /* f0a600c: afad0010 */ sw $t5,0x10($sp) /* f0a6010: afa3008c */ sw $v1,0x8c($sp) /* f0a6014: afb9001c */ sw $t9,0x1c($sp) /* f0a6018: afab0018 */ sw $t3,0x18($sp) /* f0a601c: 8fa600ac */ lw $a2,0xac($sp) /* f0a6020: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a6024: 2407ffff */ addiu $a3,$zero,-1 /* f0a6028: a7a50092 */ sh $a1,0x92($sp) /* f0a602c: 0c004338 */ jal sndStart /* f0a6030: e7aa0014 */ swc1 $f10,0x14($sp) /* f0a6034: 8fa3008c */ lw $v1,0x8c($sp) .NB0f0a6038: /* f0a6038: 8fb800ac */ lw $t8,0xac($sp) .NB0f0a603c: /* f0a603c: 8faf00bc */ lw $t7,0xbc($sp) /* f0a6040: 3c07451c */ lui $a3,0x451c /* f0a6044: 8f040000 */ lw $a0,0x0($t8) /* f0a6048: 34e74000 */ ori $a3,$a3,0x4000 /* f0a604c: 3c0643c8 */ lui $a2,0x43c8 /* f0a6050: 1080000e */ beqz $a0,.NB0f0a608c /* f0a6054: 25e50008 */ addiu $a1,$t7,0x8 /* f0a6058: 3c017f1a */ lui $at,0x7f1a /* f0a605c: c4306de0 */ lwc1 $f16,0x6de0($at) /* f0a6060: 87ae0092 */ lh $t6,0x92($sp) /* f0a6064: 25ea0028 */ addiu $t2,$t7,0x28 /* f0a6068: 240c7fff */ addiu $t4,$zero,0x7fff /* f0a606c: afac001c */ sw $t4,0x1c($sp) /* f0a6070: afaa0014 */ sw $t2,0x14($sp) /* f0a6074: afa00020 */ sw $zero,0x20($sp) /* f0a6078: afa3008c */ sw $v1,0x8c($sp) /* f0a607c: e7b00010 */ swc1 $f16,0x10($sp) /* f0a6080: 0fc24c8e */ jal func0f09505c /* f0a6084: afae0018 */ sw $t6,0x18($sp) /* f0a6088: 8fa3008c */ lw $v1,0x8c($sp) .NB0f0a608c: /* f0a608c: 54600050 */ bnezl $v1,.NB0f0a61d0 /* f0a6090: 8fbf0044 */ lw $ra,0x44($sp) .NB0f0a6094: /* f0a6094: 8fa200c0 */ lw $v0,0xc0($sp) .NB0f0a6098: /* f0a6098: 0440004c */ bltz $v0,.NB0f0a61cc /* f0a609c: 28410daf */ slti $at,$v0,0xdaf /* f0a60a0: 1020004a */ beqz $at,.NB0f0a61cc /* f0a60a4: 3c0d800b */ lui $t5,0x800b /* f0a60a8: 8dadf470 */ lw $t5,-0xb90($t5) /* f0a60ac: 000218c0 */ sll $v1,$v0,0x3 /* f0a60b0: 3c0a8008 */ lui $t2,0x8008 /* f0a60b4: 01a35821 */ addu $t3,$t5,$v1 /* f0a60b8: 8d790000 */ lw $t9,0x0($t3) /* f0a60bc: 240effff */ addiu $t6,$zero,-1 /* f0a60c0: 0019c702 */ srl $t8,$t9,0x1c /* f0a60c4: 00187880 */ sll $t7,$t8,0x2 /* f0a60c8: 014f5021 */ addu $t2,$t2,$t7 /* f0a60cc: 8d4a6cd8 */ lw $t2,0x6cd8($t2) /* f0a60d0: 5140003f */ beqzl $t2,.NB0f0a61d0 /* f0a60d4: 8fbf0044 */ lw $ra,0x44($sp) /* f0a60d8: a7ae005e */ sh $t6,0x5e($sp) /* f0a60dc: 0fc296a2 */ jal bgun0f0a7d5c /* f0a60e0: afa30054 */ sw $v1,0x54($sp) /* f0a60e4: 8fa30054 */ lw $v1,0x54($sp) /* f0a60e8: 10400038 */ beqz $v0,.NB0f0a61cc /* f0a60ec: afa200ac */ sw $v0,0xac($sp) /* f0a60f0: 3c0c800b */ lui $t4,0x800b /* f0a60f4: 8d8cf470 */ lw $t4,-0xb90($t4) /* f0a60f8: 3c088008 */ lui $t0,0x8008 /* f0a60fc: 8faf00b0 */ lw $t7,0xb0($sp) /* f0a6100: 01836821 */ addu $t5,$t4,$v1 /* f0a6104: 8dab0000 */ lw $t3,0x0($t5) /* f0a6108: 240dffff */ addiu $t5,$zero,-1 /* f0a610c: 3c04800a */ lui $a0,0x800a /* f0a6110: 000bcf02 */ srl $t9,$t3,0x1c /* f0a6114: 0019c080 */ sll $t8,$t9,0x2 /* f0a6118: 01184021 */ addu $t0,$t0,$t8 /* f0a611c: 8d086cd8 */ lw $t0,0x6cd8($t0) /* f0a6120: 2419ffff */ addiu $t9,$zero,-1 /* f0a6124: 240bffff */ addiu $t3,$zero,-1 /* f0a6128: 85090008 */ lh $t1,0x8($t0) /* f0a612c: 8fa600ac */ lw $a2,0xac($sp) /* f0a6130: 2407ffff */ addiu $a3,$zero,-1 /* f0a6134: 19200012 */ blez $t1,.NB0f0a6180 /* f0a6138: 3c01bf80 */ lui $at,0xbf80 /* f0a613c: 01e9001b */ divu $zero,$t7,$t1 /* f0a6140: 8d0a0000 */ lw $t2,0x0($t0) /* f0a6144: 00001010 */ mfhi $v0 /* f0a6148: 00027040 */ sll $t6,$v0,0x1 /* f0a614c: 014e6021 */ addu $t4,$t2,$t6 /* f0a6150: 85850000 */ lh $a1,0x0($t4) /* f0a6154: 44819000 */ mtc1 $at,$f18 /* f0a6158: 15200002 */ bnez $t1,.NB0f0a6164 /* f0a615c: 00000000 */ sll $zero,$zero,0x0 /* f0a6160: 0007000d */ break 0x7 .NB0f0a6164: /* f0a6164: afb9001c */ sw $t9,0x1c($sp) /* f0a6168: afab0018 */ sw $t3,0x18($sp) /* f0a616c: afad0010 */ sw $t5,0x10($sp) /* f0a6170: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a6174: a7a5005e */ sh $a1,0x5e($sp) /* f0a6178: 0c004338 */ jal sndStart /* f0a617c: e7b20014 */ swc1 $f18,0x14($sp) .NB0f0a6180: /* f0a6180: 8fb800ac */ lw $t8,0xac($sp) /* f0a6184: 8faf00bc */ lw $t7,0xbc($sp) /* f0a6188: 3c07451c */ lui $a3,0x451c /* f0a618c: 8f040000 */ lw $a0,0x0($t8) /* f0a6190: 34e74000 */ ori $a3,$a3,0x4000 /* f0a6194: 3c0643c8 */ lui $a2,0x43c8 /* f0a6198: 1080000c */ beqz $a0,.NB0f0a61cc /* f0a619c: 25e50008 */ addiu $a1,$t7,0x8 /* f0a61a0: 3c017f1a */ lui $at,0x7f1a /* f0a61a4: c4246de4 */ lwc1 $f4,0x6de4($at) /* f0a61a8: 87ae005e */ lh $t6,0x5e($sp) /* f0a61ac: 25ea0028 */ addiu $t2,$t7,0x28 /* f0a61b0: 240c7fff */ addiu $t4,$zero,0x7fff /* f0a61b4: afac001c */ sw $t4,0x1c($sp) /* f0a61b8: afaa0014 */ sw $t2,0x14($sp) /* f0a61bc: afa00020 */ sw $zero,0x20($sp) /* f0a61c0: e7a40010 */ swc1 $f4,0x10($sp) /* f0a61c4: 0fc24c8e */ jal func0f09505c /* f0a61c8: afae0018 */ sw $t6,0x18($sp) .NB0f0a61cc: /* f0a61cc: 8fbf0044 */ lw $ra,0x44($sp) .NB0f0a61d0: /* f0a61d0: 27bd00b8 */ addiu $sp,$sp,0xb8 /* f0a61d4: 03e00008 */ jr $ra /* f0a61d8: 00000000 */ sll $zero,$zero,0x0 ); #endif void bgun0f0a8404(struct coord *pos, s16 *rooms, s32 arg2) { if (g_Vars.lvupdate240 > 0) { struct audiohandle **handle = bgun0f0a7d5c(); if (handle) { sndStart(var80095200, SFX_HIT_GLASS, handle, -1, -1, -1, -1, -1); if (*handle) { func0f09505c(*handle, pos, 400, 2500, 3000, rooms, SFX_HIT_GLASS, 0x7fff, 0); } } } } #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgun0f0a84c8 .late_rodata glabel var7f1aca9c .word 0x453b8000 glabel var7f1acaa0 .word 0x453b8000 .text /* f0a84c8: 27bdff58 */ addiu $sp,$sp,-168 /* f0a84cc: afbf002c */ sw $ra,0x2c($sp) /* f0a84d0: afa400a8 */ sw $a0,0xa8($sp) /* f0a84d4: afa500ac */ sw $a1,0xac($sp) /* f0a84d8: afa600b0 */ sw $a2,0xb0($sp) /* f0a84dc: 0c004b70 */ jal random /* f0a84e0: afa700b4 */ sw $a3,0xb4($sp) /* f0a84e4: 0c004b70 */ jal random /* f0a84e8: afa200a0 */ sw $v0,0xa0($sp) /* f0a84ec: 3c0e800a */ lui $t6,%hi(g_Vars+0x34) /* f0a84f0: 8dce9ff4 */ lw $t6,%lo(g_Vars+0x34)($t6) /* f0a84f4: afa2009c */ sw $v0,0x9c($sp) /* f0a84f8: 8fa200b0 */ lw $v0,0xb0($sp) /* f0a84fc: 59c00101 */ blezl $t6,.L0f0a8904 /* f0a8500: 8fbf002c */ lw $ra,0x2c($sp) /* f0a8504: 0440000e */ bltz $v0,.L0f0a8540 /* f0a8508: 28410daf */ slti $at,$v0,0xdaf /* f0a850c: 1020000c */ beqz $at,.L0f0a8540 /* f0a8510: 3c0f800b */ lui $t7,%hi(g_Textures) /* f0a8514: 8defabc0 */ lw $t7,%lo(g_Textures)($t7) /* f0a8518: 0002c0c0 */ sll $t8,$v0,0x3 /* f0a851c: 3c0c8008 */ lui $t4,%hi(g_SurfaceTypes) /* f0a8520: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8524: 8f290000 */ lw $t1,0x0($t9) /* f0a8528: 00095702 */ srl $t2,$t1,0x1c /* f0a852c: 000a5880 */ sll $t3,$t2,0x2 /* f0a8530: 018b6021 */ addu $t4,$t4,$t3 /* f0a8534: 8d8c4458 */ lw $t4,%lo(g_SurfaceTypes)($t4) /* f0a8538: 858d0008 */ lh $t5,0x8($t4) /* f0a853c: 11a000f0 */ beqz $t5,.L0f0a8900 .L0f0a8540: /* f0a8540: 240e0001 */ addiu $t6,$zero,0x1 /* f0a8544: 0fc29f57 */ jal bgun0f0a7d5c /* f0a8548: afae0098 */ sw $t6,0x98($sp) /* f0a854c: 104000a5 */ beqz $v0,.L0f0a87e4 /* f0a8550: afa200a4 */ sw $v0,0xa4($sp) /* f0a8554: 8fa400a8 */ lw $a0,0xa8($sp) /* f0a8558: 240fffff */ addiu $t7,$zero,-1 /* f0a855c: a7af0096 */ sh $t7,0x96($sp) /* f0a8560: 90820000 */ lbu $v0,0x0($a0) /* f0a8564: 2401001d */ addiu $at,$zero,0x1d /* f0a8568: 00001825 */ or $v1,$zero,$zero /* f0a856c: 5441002a */ bnel $v0,$at,.L0f0a8618 /* f0a8570: 2401001a */ addiu $at,$zero,0x1a /* f0a8574: afa00098 */ sw $zero,0x98($sp) /* f0a8578: 90980003 */ lbu $t8,0x3($a0) /* f0a857c: 1300000a */ beqz $t8,.L0f0a85a8 /* f0a8580: 00000000 */ nop /* f0a8584: 90990002 */ lbu $t9,0x2($a0) /* f0a8588: 33290003 */ andi $t1,$t9,0x3 /* f0a858c: 55200080 */ bnezl $t1,.L0f0a8790 /* f0a8590: 8fb900a4 */ lw $t9,0xa4($sp) /* f0a8594: 0c004b70 */ jal random /* f0a8598: afa30090 */ sw $v1,0x90($sp) /* f0a859c: 304a0001 */ andi $t2,$v0,0x1 /* f0a85a0: 1140007a */ beqz $t2,.L0f0a878c /* f0a85a4: 8fa30090 */ lw $v1,0x90($sp) .L0f0a85a8: /* f0a85a8: 3c0b8007 */ lui $t3,%hi(var80070314) /* f0a85ac: 256b0314 */ addiu $t3,$t3,%lo(var80070314) /* f0a85b0: 8d610000 */ lw $at,0x0($t3) /* f0a85b4: 27a2008c */ addiu $v0,$sp,0x8c /* f0a85b8: 240bffff */ addiu $t3,$zero,-1 /* f0a85bc: ac410000 */ sw $at,0x0($v0) /* f0a85c0: 8faf00a0 */ lw $t7,0xa0($sp) /* f0a85c4: 3c01bf80 */ lui $at,0xbf80 /* f0a85c8: 44812000 */ mtc1 $at,$f4 /* f0a85cc: 31f80001 */ andi $t8,$t7,0x1 /* f0a85d0: 0018c840 */ sll $t9,$t8,0x1 /* f0a85d4: 00594821 */ addu $t1,$v0,$t9 /* f0a85d8: 85250000 */ lh $a1,0x0($t1) /* f0a85dc: 3c048009 */ lui $a0,%hi(var80095200) /* f0a85e0: 240dffff */ addiu $t5,$zero,-1 /* f0a85e4: 240cffff */ addiu $t4,$zero,-1 /* f0a85e8: afac0018 */ sw $t4,0x18($sp) /* f0a85ec: afad0010 */ sw $t5,0x10($sp) /* f0a85f0: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a85f4: afab001c */ sw $t3,0x1c($sp) /* f0a85f8: 8fa600a4 */ lw $a2,0xa4($sp) /* f0a85fc: 2407ffff */ addiu $a3,$zero,-1 /* f0a8600: e7a40014 */ swc1 $f4,0x14($sp) /* f0a8604: 0c004241 */ jal sndStart /* f0a8608: a7a50096 */ sh $a1,0x96($sp) /* f0a860c: 1000005f */ b .L0f0a878c /* f0a8610: 24030001 */ addiu $v1,$zero,0x1 /* f0a8614: 2401001a */ addiu $at,$zero,0x1a .L0f0a8618: /* f0a8618: 10410003 */ beq $v0,$at,.L0f0a8628 /* f0a861c: 240e8079 */ addiu $t6,$zero,-32647 /* f0a8620: 24010056 */ addiu $at,$zero,0x56 /* f0a8624: 14410012 */ bne $v0,$at,.L0f0a8670 .L0f0a8628: /* f0a8628: 3c01bf80 */ lui $at,0xbf80 /* f0a862c: 44813000 */ mtc1 $at,$f6 /* f0a8630: 3c048009 */ lui $a0,%hi(var80095200) /* f0a8634: 240fffff */ addiu $t7,$zero,-1 /* f0a8638: 2418ffff */ addiu $t8,$zero,-1 /* f0a863c: 2419ffff */ addiu $t9,$zero,-1 /* f0a8640: a7ae0096 */ sh $t6,0x96($sp) /* f0a8644: afb9001c */ sw $t9,0x1c($sp) /* f0a8648: afb80018 */ sw $t8,0x18($sp) /* f0a864c: afaf0010 */ sw $t7,0x10($sp) /* f0a8650: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a8654: 24058079 */ addiu $a1,$zero,-32647 /* f0a8658: 8fa600a4 */ lw $a2,0xa4($sp) /* f0a865c: 2407ffff */ addiu $a3,$zero,-1 /* f0a8660: 0c004241 */ jal sndStart /* f0a8664: e7a60014 */ swc1 $f6,0x14($sp) /* f0a8668: 10000048 */ b .L0f0a878c /* f0a866c: 24030001 */ addiu $v1,$zero,0x1 .L0f0a8670: /* f0a8670: 24010022 */ addiu $at,$zero,0x22 /* f0a8674: 1041000e */ beq $v0,$at,.L0f0a86b0 /* f0a8678: 240980aa */ addiu $t1,$zero,-32598 /* f0a867c: 24010021 */ addiu $at,$zero,0x21 /* f0a8680: 1041000b */ beq $v0,$at,.L0f0a86b0 /* f0a8684: 24010020 */ addiu $at,$zero,0x20 /* f0a8688: 10410009 */ beq $v0,$at,.L0f0a86b0 /* f0a868c: 2401003d */ addiu $at,$zero,0x3d /* f0a8690: 10410007 */ beq $v0,$at,.L0f0a86b0 /* f0a8694: 2401003e */ addiu $at,$zero,0x3e /* f0a8698: 10410005 */ beq $v0,$at,.L0f0a86b0 /* f0a869c: 2401003f */ addiu $at,$zero,0x3f /* f0a86a0: 10410003 */ beq $v0,$at,.L0f0a86b0 /* f0a86a4: 24010035 */ addiu $at,$zero,0x35 /* f0a86a8: 14410013 */ bne $v0,$at,.L0f0a86f8 /* f0a86ac: 3c0b8007 */ lui $t3,%hi(var80070318) .L0f0a86b0: /* f0a86b0: 3c01bf80 */ lui $at,0xbf80 /* f0a86b4: 44814000 */ mtc1 $at,$f8 /* f0a86b8: 3c048009 */ lui $a0,%hi(var80095200) /* f0a86bc: 240affff */ addiu $t2,$zero,-1 /* f0a86c0: 240dffff */ addiu $t5,$zero,-1 /* f0a86c4: 240cffff */ addiu $t4,$zero,-1 /* f0a86c8: a7a90096 */ sh $t1,0x96($sp) /* f0a86cc: afac001c */ sw $t4,0x1c($sp) /* f0a86d0: afad0018 */ sw $t5,0x18($sp) /* f0a86d4: afaa0010 */ sw $t2,0x10($sp) /* f0a86d8: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a86dc: 240580aa */ addiu $a1,$zero,-32598 /* f0a86e0: 8fa600a4 */ lw $a2,0xa4($sp) /* f0a86e4: 2407ffff */ addiu $a3,$zero,-1 /* f0a86e8: 0c004241 */ jal sndStart /* f0a86ec: e7a80014 */ swc1 $f8,0x14($sp) /* f0a86f0: 10000026 */ b .L0f0a878c /* f0a86f4: 24030001 */ addiu $v1,$zero,0x1 .L0f0a86f8: /* f0a86f8: 27a20044 */ addiu $v0,$sp,0x44 /* f0a86fc: 256b0318 */ addiu $t3,$t3,%lo(var80070318) /* f0a8700: 25780048 */ addiu $t8,$t3,0x48 /* f0a8704: 0040c825 */ or $t9,$v0,$zero .L0f0a8708: /* f0a8708: 8d610000 */ lw $at,0x0($t3) /* f0a870c: 256b000c */ addiu $t3,$t3,0xc /* f0a8710: 2739000c */ addiu $t9,$t9,0xc /* f0a8714: af21fff4 */ sw $at,-0xc($t9) /* f0a8718: 8d61fff8 */ lw $at,-0x8($t3) /* f0a871c: af21fff8 */ sw $at,-0x8($t9) /* f0a8720: 8d61fffc */ lw $at,-0x4($t3) /* f0a8724: 1578fff8 */ bne $t3,$t8,.L0f0a8708 /* f0a8728: af21fffc */ sw $at,-0x4($t9) /* f0a872c: 8fa900a0 */ lw $t1,0xa0($sp) /* f0a8730: 24010024 */ addiu $at,$zero,0x24 /* f0a8734: 3c048009 */ lui $a0,%hi(var80095200) /* f0a8738: 0121001b */ divu $zero,$t1,$at /* f0a873c: 00005010 */ mfhi $t2 /* f0a8740: 000a6840 */ sll $t5,$t2,0x1 /* f0a8744: 004d6021 */ addu $t4,$v0,$t5 /* f0a8748: 85850000 */ lh $a1,0x0($t4) /* f0a874c: 3c01bf80 */ lui $at,0xbf80 /* f0a8750: 44815000 */ mtc1 $at,$f10 /* f0a8754: 240effff */ addiu $t6,$zero,-1 /* f0a8758: 2418ffff */ addiu $t8,$zero,-1 /* f0a875c: 240bffff */ addiu $t3,$zero,-1 /* f0a8760: afab001c */ sw $t3,0x1c($sp) /* f0a8764: afb80018 */ sw $t8,0x18($sp) /* f0a8768: afae0010 */ sw $t6,0x10($sp) /* f0a876c: afa30090 */ sw $v1,0x90($sp) /* f0a8770: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a8774: 8fa600a4 */ lw $a2,0xa4($sp) /* f0a8778: 2407ffff */ addiu $a3,$zero,-1 /* f0a877c: a7a50096 */ sh $a1,0x96($sp) /* f0a8780: 0c004241 */ jal sndStart /* f0a8784: e7aa0014 */ swc1 $f10,0x14($sp) /* f0a8788: 8fa30090 */ lw $v1,0x90($sp) .L0f0a878c: /* f0a878c: 8fb900a4 */ lw $t9,0xa4($sp) .L0f0a8790: /* f0a8790: 3c07451c */ lui $a3,0x451c /* f0a8794: 34e74000 */ ori $a3,$a3,0x4000 /* f0a8798: 8f240000 */ lw $a0,0x0($t9) /* f0a879c: 8fa500ac */ lw $a1,0xac($sp) /* f0a87a0: 3c0643c8 */ lui $a2,0x43c8 /* f0a87a4: 1080000d */ beqz $a0,.L0f0a87dc /* f0a87a8: 3c017f1b */ lui $at,%hi(var7f1aca9c) /* f0a87ac: c430ca9c */ lwc1 $f16,%lo(var7f1aca9c)($at) /* f0a87b0: 8fa900b4 */ lw $t1,0xb4($sp) /* f0a87b4: 87aa0096 */ lh $t2,0x96($sp) /* f0a87b8: 240d7fff */ addiu $t5,$zero,0x7fff /* f0a87bc: afad001c */ sw $t5,0x1c($sp) /* f0a87c0: afa00020 */ sw $zero,0x20($sp) /* f0a87c4: afa30090 */ sw $v1,0x90($sp) /* f0a87c8: e7b00010 */ swc1 $f16,0x10($sp) /* f0a87cc: afa90014 */ sw $t1,0x14($sp) /* f0a87d0: 0fc25417 */ jal func0f09505c /* f0a87d4: afaa0018 */ sw $t2,0x18($sp) /* f0a87d8: 8fa30090 */ lw $v1,0x90($sp) .L0f0a87dc: /* f0a87dc: 54600049 */ bnezl $v1,.L0f0a8904 /* f0a87e0: 8fbf002c */ lw $ra,0x2c($sp) .L0f0a87e4: /* f0a87e4: 8fac0098 */ lw $t4,0x98($sp) /* f0a87e8: 51800046 */ beqzl $t4,.L0f0a8904 /* f0a87ec: 8fbf002c */ lw $ra,0x2c($sp) /* f0a87f0: 0fc29f57 */ jal bgun0f0a7d5c /* f0a87f4: 00000000 */ nop /* f0a87f8: 10400041 */ beqz $v0,.L0f0a8900 /* f0a87fc: afa200a4 */ sw $v0,0xa4($sp) /* f0a8800: 8fa300b0 */ lw $v1,0xb0($sp) /* f0a8804: 0460003e */ bltz $v1,.L0f0a8900 /* f0a8808: 28610daf */ slti $at,$v1,0xdaf /* f0a880c: 1020003c */ beqz $at,.L0f0a8900 /* f0a8810: 3c0f800b */ lui $t7,%hi(g_Textures) /* f0a8814: 8defabc0 */ lw $t7,%lo(g_Textures)($t7) /* f0a8818: 000370c0 */ sll $t6,$v1,0x3 /* f0a881c: 3c028008 */ lui $v0,%hi(g_SurfaceTypes) /* f0a8820: 01eec021 */ addu $t8,$t7,$t6 /* f0a8824: 8f0b0000 */ lw $t3,0x0($t8) /* f0a8828: 240affff */ addiu $t2,$zero,-1 /* f0a882c: 000bcf02 */ srl $t9,$t3,0x1c /* f0a8830: 00194880 */ sll $t1,$t9,0x2 /* f0a8834: 00491021 */ addu $v0,$v0,$t1 /* f0a8838: 8c424458 */ lw $v0,%lo(g_SurfaceTypes)($v0) /* f0a883c: 84480008 */ lh $t0,0x8($v0) /* f0a8840: 59000030 */ blezl $t0,.L0f0a8904 /* f0a8844: 8fbf002c */ lw $ra,0x2c($sp) /* f0a8848: 1040001b */ beqz $v0,.L0f0a88b8 /* f0a884c: a7aa0042 */ sh $t2,0x42($sp) /* f0a8850: 8fad009c */ lw $t5,0x9c($sp) /* f0a8854: 8c4c0000 */ lw $t4,0x0($v0) /* f0a8858: 3c01bf80 */ lui $at,0xbf80 /* f0a885c: 01a8001b */ divu $zero,$t5,$t0 /* f0a8860: 00001810 */ mfhi $v1 /* f0a8864: 00037840 */ sll $t7,$v1,0x1 /* f0a8868: 018f7021 */ addu $t6,$t4,$t7 /* f0a886c: 95d80000 */ lhu $t8,0x0($t6) /* f0a8870: 44819000 */ mtc1 $at,$f18 /* f0a8874: 15000002 */ bnez $t0,.L0f0a8880 /* f0a8878: 00000000 */ nop /* f0a887c: 0007000d */ break 0x7 .L0f0a8880: /* f0a8880: 3c048009 */ lui $a0,%hi(var80095200) /* f0a8884: 240bffff */ addiu $t3,$zero,-1 /* f0a8888: 2419ffff */ addiu $t9,$zero,-1 /* f0a888c: 2409ffff */ addiu $t1,$zero,-1 /* f0a8890: a7b80042 */ sh $t8,0x42($sp) /* f0a8894: 87a50042 */ lh $a1,0x42($sp) /* f0a8898: afa9001c */ sw $t1,0x1c($sp) /* f0a889c: afb90018 */ sw $t9,0x18($sp) /* f0a88a0: afab0010 */ sw $t3,0x10($sp) /* f0a88a4: 8c845200 */ lw $a0,%lo(var80095200)($a0) /* f0a88a8: 8fa600a4 */ lw $a2,0xa4($sp) /* f0a88ac: 2407ffff */ addiu $a3,$zero,-1 /* f0a88b0: 0c004241 */ jal sndStart /* f0a88b4: e7b20014 */ swc1 $f18,0x14($sp) .L0f0a88b8: /* f0a88b8: 8faa00a4 */ lw $t2,0xa4($sp) /* f0a88bc: 3c07451c */ lui $a3,0x451c /* f0a88c0: 34e74000 */ ori $a3,$a3,0x4000 /* f0a88c4: 8d440000 */ lw $a0,0x0($t2) /* f0a88c8: 8fa500ac */ lw $a1,0xac($sp) /* f0a88cc: 3c0643c8 */ lui $a2,0x43c8 /* f0a88d0: 1080000b */ beqz $a0,.L0f0a8900 /* f0a88d4: 3c017f1b */ lui $at,%hi(var7f1acaa0) /* f0a88d8: c424caa0 */ lwc1 $f4,%lo(var7f1acaa0)($at) /* f0a88dc: 8fad00b4 */ lw $t5,0xb4($sp) /* f0a88e0: 87ac0042 */ lh $t4,0x42($sp) /* f0a88e4: 240f7fff */ addiu $t7,$zero,0x7fff /* f0a88e8: afaf001c */ sw $t7,0x1c($sp) /* f0a88ec: afa00020 */ sw $zero,0x20($sp) /* f0a88f0: e7a40010 */ swc1 $f4,0x10($sp) /* f0a88f4: afad0014 */ sw $t5,0x14($sp) /* f0a88f8: 0fc25417 */ jal func0f09505c /* f0a88fc: afac0018 */ sw $t4,0x18($sp) .L0f0a8900: /* f0a8900: 8fbf002c */ lw $ra,0x2c($sp) .L0f0a8904: /* f0a8904: 27bd00a8 */ addiu $sp,$sp,0xa8 /* f0a8908: 03e00008 */ jr $ra /* f0a890c: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a84c8 .late_rodata glabel var7f1aca9c .word 0x453b8000 glabel var7f1acaa0 .word 0x453b8000 .text /* f0a62a0: 27bdff60 */ addiu $sp,$sp,-160 /* f0a62a4: afbf002c */ sw $ra,0x2c($sp) /* f0a62a8: afa400a0 */ sw $a0,0xa0($sp) /* f0a62ac: afa500a4 */ sw $a1,0xa4($sp) /* f0a62b0: afa600a8 */ sw $a2,0xa8($sp) /* f0a62b4: 0c004d84 */ jal random /* f0a62b8: afa700ac */ sw $a3,0xac($sp) /* f0a62bc: 0c004d84 */ jal random /* f0a62c0: afa20098 */ sw $v0,0x98($sp) /* f0a62c4: 3c0e800a */ lui $t6,0x800a /* f0a62c8: 8dcee6f4 */ lw $t6,-0x190c($t6) /* f0a62cc: afa20094 */ sw $v0,0x94($sp) /* f0a62d0: 8fa200a8 */ lw $v0,0xa8($sp) /* f0a62d4: 59c000f3 */ blezl $t6,.NB0f0a66a4 /* f0a62d8: 8fbf002c */ lw $ra,0x2c($sp) /* f0a62dc: 0440000f */ bltz $v0,.NB0f0a631c /* f0a62e0: 28410daf */ slti $at,$v0,0xdaf /* f0a62e4: 1020000d */ beqz $at,.NB0f0a631c /* f0a62e8: 3c0f800b */ lui $t7,0x800b /* f0a62ec: 8deff470 */ lw $t7,-0xb90($t7) /* f0a62f0: 0002c0c0 */ sll $t8,$v0,0x3 /* f0a62f4: 3c0c8008 */ lui $t4,0x8008 /* f0a62f8: 01f8c821 */ addu $t9,$t7,$t8 /* f0a62fc: 8f290000 */ lw $t1,0x0($t9) /* f0a6300: 00095702 */ srl $t2,$t1,0x1c /* f0a6304: 000a5880 */ sll $t3,$t2,0x2 /* f0a6308: 018b6021 */ addu $t4,$t4,$t3 /* f0a630c: 8d8c6cd8 */ lw $t4,0x6cd8($t4) /* f0a6310: 858d0008 */ lh $t5,0x8($t4) /* f0a6314: 51a000e3 */ beqzl $t5,.NB0f0a66a4 /* f0a6318: 8fbf002c */ lw $ra,0x2c($sp) .NB0f0a631c: /* f0a631c: 0fc296a2 */ jal bgun0f0a7d5c /* f0a6320: 00000000 */ sll $zero,$zero,0x0 /* f0a6324: 1040009a */ beqz $v0,.NB0f0a6590 /* f0a6328: afa2009c */ sw $v0,0x9c($sp) /* f0a632c: 8fa400a0 */ lw $a0,0xa0($sp) /* f0a6330: 2401001d */ addiu $at,$zero,0x1d /* f0a6334: 00001825 */ or $v1,$zero,$zero /* f0a6338: 90820000 */ lbu $v0,0x0($a0) /* f0a633c: 54410023 */ bnel $v0,$at,.NB0f0a63cc /* f0a6340: 2401001a */ addiu $at,$zero,0x1a /* f0a6344: 908e0003 */ lbu $t6,0x3($a0) /* f0a6348: 3c198007 */ lui $t9,0x8007 /* f0a634c: 27a20088 */ addiu $v0,$sp,0x88 /* f0a6350: 11c00005 */ beqz $t6,.NB0f0a6368 /* f0a6354: 273929d4 */ addiu $t9,$t9,0x29d4 /* f0a6358: 908f0002 */ lbu $t7,0x2($a0) /* f0a635c: 31f80007 */ andi $t8,$t7,0x7 /* f0a6360: 57000076 */ bnezl $t8,.NB0f0a653c /* f0a6364: 8faa009c */ lw $t2,0x9c($sp) .NB0f0a6368: /* f0a6368: 8f210000 */ lw $at,0x0($t9) /* f0a636c: 3c04800a */ lui $a0,0x800a /* f0a6370: 240fffff */ addiu $t7,$zero,-1 /* f0a6374: ac410000 */ sw $at,0x0($v0) /* f0a6378: 8fab0098 */ lw $t3,0x98($sp) /* f0a637c: 3c01bf80 */ lui $at,0xbf80 /* f0a6380: 44812000 */ mtc1 $at,$f4 /* f0a6384: 316c0001 */ andi $t4,$t3,0x1 /* f0a6388: 000c6840 */ sll $t5,$t4,0x1 /* f0a638c: 004d7021 */ addu $t6,$v0,$t5 /* f0a6390: 85c50000 */ lh $a1,0x0($t6) /* f0a6394: 2418ffff */ addiu $t8,$zero,-1 /* f0a6398: 2409ffff */ addiu $t1,$zero,-1 /* f0a639c: afa9001c */ sw $t1,0x1c($sp) /* f0a63a0: afb80018 */ sw $t8,0x18($sp) /* f0a63a4: afaf0010 */ sw $t7,0x10($sp) /* f0a63a8: 8fa6009c */ lw $a2,0x9c($sp) /* f0a63ac: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a63b0: 2407ffff */ addiu $a3,$zero,-1 /* f0a63b4: e7a40014 */ swc1 $f4,0x14($sp) /* f0a63b8: 0c004338 */ jal sndStart /* f0a63bc: a7a50092 */ sh $a1,0x92($sp) /* f0a63c0: 1000005d */ beqz $zero,.NB0f0a6538 /* f0a63c4: 24030001 */ addiu $v1,$zero,0x1 /* f0a63c8: 2401001a */ addiu $at,$zero,0x1a .NB0f0a63cc: /* f0a63cc: 10410003 */ beq $v0,$at,.NB0f0a63dc /* f0a63d0: 24198079 */ addiu $t9,$zero,-32647 /* f0a63d4: 24010055 */ addiu $at,$zero,0x55 /* f0a63d8: 14410012 */ bne $v0,$at,.NB0f0a6424 .NB0f0a63dc: /* f0a63dc: 3c01bf80 */ lui $at,0xbf80 /* f0a63e0: 44813000 */ mtc1 $at,$f6 /* f0a63e4: 3c04800a */ lui $a0,0x800a /* f0a63e8: 240affff */ addiu $t2,$zero,-1 /* f0a63ec: 240bffff */ addiu $t3,$zero,-1 /* f0a63f0: 240cffff */ addiu $t4,$zero,-1 /* f0a63f4: a7b90092 */ sh $t9,0x92($sp) /* f0a63f8: afac001c */ sw $t4,0x1c($sp) /* f0a63fc: afab0018 */ sw $t3,0x18($sp) /* f0a6400: afaa0010 */ sw $t2,0x10($sp) /* f0a6404: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a6408: 24058079 */ addiu $a1,$zero,-32647 /* f0a640c: 8fa6009c */ lw $a2,0x9c($sp) /* f0a6410: 2407ffff */ addiu $a3,$zero,-1 /* f0a6414: 0c004338 */ jal sndStart /* f0a6418: e7a60014 */ swc1 $f6,0x14($sp) /* f0a641c: 10000046 */ beqz $zero,.NB0f0a6538 /* f0a6420: 24030001 */ addiu $v1,$zero,0x1 .NB0f0a6424: /* f0a6424: 24010022 */ addiu $at,$zero,0x22 /* f0a6428: 1041000e */ beq $v0,$at,.NB0f0a6464 /* f0a642c: 3c04800a */ lui $a0,0x800a /* f0a6430: 24010021 */ addiu $at,$zero,0x21 /* f0a6434: 1041000b */ beq $v0,$at,.NB0f0a6464 /* f0a6438: 24010020 */ addiu $at,$zero,0x20 /* f0a643c: 10410009 */ beq $v0,$at,.NB0f0a6464 /* f0a6440: 2401003d */ addiu $at,$zero,0x3d /* f0a6444: 10410007 */ beq $v0,$at,.NB0f0a6464 /* f0a6448: 2401003e */ addiu $at,$zero,0x3e /* f0a644c: 10410005 */ beq $v0,$at,.NB0f0a6464 /* f0a6450: 2401003f */ addiu $at,$zero,0x3f /* f0a6454: 10410003 */ beq $v0,$at,.NB0f0a6464 /* f0a6458: 24010035 */ addiu $at,$zero,0x35 /* f0a645c: 14410011 */ bne $v0,$at,.NB0f0a64a4 /* f0a6460: 3c188007 */ lui $t8,0x8007 .NB0f0a6464: /* f0a6464: 3c01bf80 */ lui $at,0xbf80 /* f0a6468: 44814000 */ mtc1 $at,$f8 /* f0a646c: 240dffff */ addiu $t5,$zero,-1 /* f0a6470: 240effff */ addiu $t6,$zero,-1 /* f0a6474: 240fffff */ addiu $t7,$zero,-1 /* f0a6478: afaf001c */ sw $t7,0x1c($sp) /* f0a647c: afae0018 */ sw $t6,0x18($sp) /* f0a6480: afad0010 */ sw $t5,0x10($sp) /* f0a6484: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a6488: 240580aa */ addiu $a1,$zero,-32598 /* f0a648c: 8fa6009c */ lw $a2,0x9c($sp) /* f0a6490: 2407ffff */ addiu $a3,$zero,-1 /* f0a6494: 0c004338 */ jal sndStart /* f0a6498: e7a80014 */ swc1 $f8,0x14($sp) /* f0a649c: 10000026 */ beqz $zero,.NB0f0a6538 /* f0a64a0: 24030001 */ addiu $v1,$zero,0x1 .NB0f0a64a4: /* f0a64a4: 27a20040 */ addiu $v0,$sp,0x40 /* f0a64a8: 271829d8 */ addiu $t8,$t8,0x29d8 /* f0a64ac: 27190048 */ addiu $t9,$t8,0x48 /* f0a64b0: 00405025 */ or $t2,$v0,$zero .NB0f0a64b4: /* f0a64b4: 8f010000 */ lw $at,0x0($t8) /* f0a64b8: 2718000c */ addiu $t8,$t8,0xc /* f0a64bc: 254a000c */ addiu $t2,$t2,0xc /* f0a64c0: ad41fff4 */ sw $at,-0xc($t2) /* f0a64c4: 8f01fff8 */ lw $at,-0x8($t8) /* f0a64c8: ad41fff8 */ sw $at,-0x8($t2) /* f0a64cc: 8f01fffc */ lw $at,-0x4($t8) /* f0a64d0: 1719fff8 */ bne $t8,$t9,.NB0f0a64b4 /* f0a64d4: ad41fffc */ sw $at,-0x4($t2) /* f0a64d8: 8fab0098 */ lw $t3,0x98($sp) /* f0a64dc: 24010024 */ addiu $at,$zero,0x24 /* f0a64e0: 3c04800a */ lui $a0,0x800a /* f0a64e4: 0161001b */ divu $zero,$t3,$at /* f0a64e8: 00006010 */ mfhi $t4 /* f0a64ec: 000c6840 */ sll $t5,$t4,0x1 /* f0a64f0: 004d7021 */ addu $t6,$v0,$t5 /* f0a64f4: 85c50000 */ lh $a1,0x0($t6) /* f0a64f8: 3c01bf80 */ lui $at,0xbf80 /* f0a64fc: 44815000 */ mtc1 $at,$f10 /* f0a6500: 2409ffff */ addiu $t1,$zero,-1 /* f0a6504: 2419ffff */ addiu $t9,$zero,-1 /* f0a6508: 2418ffff */ addiu $t8,$zero,-1 /* f0a650c: afb8001c */ sw $t8,0x1c($sp) /* f0a6510: afb90018 */ sw $t9,0x18($sp) /* f0a6514: afa90010 */ sw $t1,0x10($sp) /* f0a6518: afa3008c */ sw $v1,0x8c($sp) /* f0a651c: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a6520: 8fa6009c */ lw $a2,0x9c($sp) /* f0a6524: 2407ffff */ addiu $a3,$zero,-1 /* f0a6528: a7a50092 */ sh $a1,0x92($sp) /* f0a652c: 0c004338 */ jal sndStart /* f0a6530: e7aa0014 */ swc1 $f10,0x14($sp) /* f0a6534: 8fa3008c */ lw $v1,0x8c($sp) .NB0f0a6538: /* f0a6538: 8faa009c */ lw $t2,0x9c($sp) .NB0f0a653c: /* f0a653c: 3c07451c */ lui $a3,0x451c /* f0a6540: 34e74000 */ ori $a3,$a3,0x4000 /* f0a6544: 8d440000 */ lw $a0,0x0($t2) /* f0a6548: 8fa500a4 */ lw $a1,0xa4($sp) /* f0a654c: 3c0643c8 */ lui $a2,0x43c8 /* f0a6550: 1080000d */ beqz $a0,.NB0f0a6588 /* f0a6554: 3c017f1a */ lui $at,0x7f1a /* f0a6558: c4306dec */ lwc1 $f16,0x6dec($at) /* f0a655c: 8fab00ac */ lw $t3,0xac($sp) /* f0a6560: 87ac0092 */ lh $t4,0x92($sp) /* f0a6564: 240d7fff */ addiu $t5,$zero,0x7fff /* f0a6568: afad001c */ sw $t5,0x1c($sp) /* f0a656c: afa00020 */ sw $zero,0x20($sp) /* f0a6570: afa3008c */ sw $v1,0x8c($sp) /* f0a6574: e7b00010 */ swc1 $f16,0x10($sp) /* f0a6578: afab0014 */ sw $t3,0x14($sp) /* f0a657c: 0fc24c8e */ jal func0f09505c /* f0a6580: afac0018 */ sw $t4,0x18($sp) /* f0a6584: 8fa3008c */ lw $v1,0x8c($sp) .NB0f0a6588: /* f0a6588: 54600046 */ bnezl $v1,.NB0f0a66a4 /* f0a658c: 8fbf002c */ lw $ra,0x2c($sp) .NB0f0a6590: /* f0a6590: 0fc296a2 */ jal bgun0f0a7d5c /* f0a6594: 00000000 */ sll $zero,$zero,0x0 /* f0a6598: 10400041 */ beqz $v0,.NB0f0a66a0 /* f0a659c: afa2009c */ sw $v0,0x9c($sp) /* f0a65a0: 8fa300a8 */ lw $v1,0xa8($sp) /* f0a65a4: 0460003e */ bltz $v1,.NB0f0a66a0 /* f0a65a8: 28610daf */ slti $at,$v1,0xdaf /* f0a65ac: 1020003c */ beqz $at,.NB0f0a66a0 /* f0a65b0: 3c0e800b */ lui $t6,0x800b /* f0a65b4: 8dcef470 */ lw $t6,-0xb90($t6) /* f0a65b8: 000378c0 */ sll $t7,$v1,0x3 /* f0a65bc: 3c028008 */ lui $v0,0x8008 /* f0a65c0: 01cf4821 */ addu $t1,$t6,$t7 /* f0a65c4: 8d390000 */ lw $t9,0x0($t1) /* f0a65c8: 240bffff */ addiu $t3,$zero,-1 /* f0a65cc: 0019c702 */ srl $t8,$t9,0x1c /* f0a65d0: 00185080 */ sll $t2,$t8,0x2 /* f0a65d4: 004a1021 */ addu $v0,$v0,$t2 /* f0a65d8: 8c426cd8 */ lw $v0,0x6cd8($v0) /* f0a65dc: 84480008 */ lh $t0,0x8($v0) /* f0a65e0: 59000030 */ blezl $t0,.NB0f0a66a4 /* f0a65e4: 8fbf002c */ lw $ra,0x2c($sp) /* f0a65e8: 1040001b */ beqz $v0,.NB0f0a6658 /* f0a65ec: a7ab003e */ sh $t3,0x3e($sp) /* f0a65f0: 8fac0094 */ lw $t4,0x94($sp) /* f0a65f4: 8c4d0000 */ lw $t5,0x0($v0) /* f0a65f8: 3c01bf80 */ lui $at,0xbf80 /* f0a65fc: 0188001b */ divu $zero,$t4,$t0 /* f0a6600: 00001810 */ mfhi $v1 /* f0a6604: 00037040 */ sll $t6,$v1,0x1 /* f0a6608: 01ae7821 */ addu $t7,$t5,$t6 /* f0a660c: 95e90000 */ lhu $t1,0x0($t7) /* f0a6610: 44819000 */ mtc1 $at,$f18 /* f0a6614: 15000002 */ bnez $t0,.NB0f0a6620 /* f0a6618: 00000000 */ sll $zero,$zero,0x0 /* f0a661c: 0007000d */ break 0x7 .NB0f0a6620: /* f0a6620: 3c04800a */ lui $a0,0x800a /* f0a6624: 2419ffff */ addiu $t9,$zero,-1 /* f0a6628: 2418ffff */ addiu $t8,$zero,-1 /* f0a662c: 240affff */ addiu $t2,$zero,-1 /* f0a6630: a7a9003e */ sh $t1,0x3e($sp) /* f0a6634: 87a5003e */ lh $a1,0x3e($sp) /* f0a6638: afaa001c */ sw $t2,0x1c($sp) /* f0a663c: afb80018 */ sw $t8,0x18($sp) /* f0a6640: afb90010 */ sw $t9,0x10($sp) /* f0a6644: 8c848180 */ lw $a0,-0x7e80($a0) /* f0a6648: 8fa6009c */ lw $a2,0x9c($sp) /* f0a664c: 2407ffff */ addiu $a3,$zero,-1 /* f0a6650: 0c004338 */ jal sndStart /* f0a6654: e7b20014 */ swc1 $f18,0x14($sp) .NB0f0a6658: /* f0a6658: 8fab009c */ lw $t3,0x9c($sp) /* f0a665c: 3c07451c */ lui $a3,0x451c /* f0a6660: 34e74000 */ ori $a3,$a3,0x4000 /* f0a6664: 8d640000 */ lw $a0,0x0($t3) /* f0a6668: 8fa500a4 */ lw $a1,0xa4($sp) /* f0a666c: 3c0643c8 */ lui $a2,0x43c8 /* f0a6670: 1080000b */ beqz $a0,.NB0f0a66a0 /* f0a6674: 3c017f1a */ lui $at,0x7f1a /* f0a6678: c4246df0 */ lwc1 $f4,0x6df0($at) /* f0a667c: 8fac00ac */ lw $t4,0xac($sp) /* f0a6680: 87ad003e */ lh $t5,0x3e($sp) /* f0a6684: 240e7fff */ addiu $t6,$zero,0x7fff /* f0a6688: afae001c */ sw $t6,0x1c($sp) /* f0a668c: afa00020 */ sw $zero,0x20($sp) /* f0a6690: e7a40010 */ swc1 $f4,0x10($sp) /* f0a6694: afac0014 */ sw $t4,0x14($sp) /* f0a6698: 0fc24c8e */ jal func0f09505c /* f0a669c: afad0018 */ sw $t5,0x18($sp) .NB0f0a66a0: /* f0a66a0: 8fbf002c */ lw $ra,0x2c($sp) .NB0f0a66a4: /* f0a66a4: 27bd00a0 */ addiu $sp,$sp,0xa0 /* f0a66a8: 03e00008 */ jr $ra /* f0a66ac: 00000000 */ sll $zero,$zero,0x0 ); #endif void bgunSetTriggerOn(s32 handnum, bool on) { struct hand *hand = &g_Vars.currentplayer->hands[handnum]; hand->triggerprev = hand->triggeron; hand->triggeron = on; if (!on) { hand->triggerreleased = true; } } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgunConsiderToggleGunFunction .late_rodata glabel var7f1acaa4 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acaa8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaac .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acab0 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acab4 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acab8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acabc .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acac0 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c glabel var7f1acac4 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c glabel var7f1acac8 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c glabel var7f1acacc .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acad0 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acad4 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acad8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acadc .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acae0 .word bgunConsiderToggleGunFunction+0x44 # f0a89a0 glabel var7f1acae4 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acae8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaec .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaf0 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaf4 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaf8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acafc .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb00 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb04 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb08 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb0c .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acb10 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb14 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c .text /* f0a895c: 27bdffe8 */ addiu $sp,$sp,-24 /* f0a8960: afbf0014 */ sw $ra,0x14($sp) /* f0a8964: afa40018 */ sw $a0,0x18($sp) /* f0a8968: afa60020 */ sw $a2,0x20($sp) /* f0a896c: 00002025 */ or $a0,$zero,$zero /* f0a8970: 0fc2866a */ jal bgunGetWeaponNum /* f0a8974: afa5001c */ sw $a1,0x1c($sp) /* f0a8978: 244efffa */ addiu $t6,$v0,-6 /* f0a897c: 2dc1001d */ sltiu $at,$t6,0x1d /* f0a8980: 10200073 */ beqz $at,.L0f0a8b50 /* f0a8984: 8fa5001c */ lw $a1,0x1c($sp) /* f0a8988: 000e7080 */ sll $t6,$t6,0x2 /* f0a898c: 3c017f1b */ lui $at,%hi(var7f1acaa4) /* f0a8990: 002e0821 */ addu $at,$at,$t6 /* f0a8994: 8c2ecaa4 */ lw $t6,%lo(var7f1acaa4)($at) /* f0a8998: 01c00008 */ jr $t6 /* f0a899c: 00000000 */ nop /* f0a89a0: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a89a4: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a89a8: 8d030284 */ lw $v1,0x284($t0) /* f0a89ac: 90781583 */ lbu $t8,0x1583($v1) /* f0a89b0: 37190020 */ ori $t9,$t8,0x20 /* f0a89b4: 10a00003 */ beqz $a1,.L0f0a89c4 /* f0a89b8: a0791583 */ sb $t9,0x1583($v1) /* f0a89bc: 100000a0 */ b .L0f0a8c40 /* f0a89c0: 24020001 */ addiu $v0,$zero,0x1 .L0f0a89c4: /* f0a89c4: 8fa90018 */ lw $t1,0x18($sp) /* f0a89c8: 29210032 */ slti $at,$t1,0x29 /* f0a89cc: 50200004 */ beqzl $at,.L0f0a89e0 /* f0a89d0: 8d030284 */ lw $v1,0x284($t0) /* f0a89d4: 1000009a */ b .L0f0a8c40 /* f0a89d8: 00001025 */ or $v0,$zero,$zero /* f0a89dc: 8d030284 */ lw $v1,0x284($t0) .L0f0a89e0: /* f0a89e0: 24010001 */ addiu $at,$zero,0x1 /* f0a89e4: 906a063b */ lbu $t2,0x63b($v1) /* f0a89e8: 51410004 */ beql $t2,$at,.L0f0a89fc /* f0a89ec: 906c0d0f */ lbu $t4,0xd0f($v1) /* f0a89f0: 10000093 */ b .L0f0a8c40 /* f0a89f4: 00001025 */ or $v0,$zero,$zero /* f0a89f8: 906c0d0f */ lbu $t4,0xd0f($v1) .L0f0a89fc: /* f0a89fc: 24020002 */ addiu $v0,$zero,0x2 /* f0a8a00: 358d0010 */ ori $t5,$t4,0x10 /* f0a8a04: 1000008e */ b .L0f0a8c40 /* f0a8a08: a06d0d0f */ sb $t5,0xd0f($v1) /* f0a8a0c: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a10: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a14: 8d030284 */ lw $v1,0x284($t0) /* f0a8a18: 906f1583 */ lbu $t7,0x1583($v1) /* f0a8a1c: 35f80020 */ ori $t8,$t7,0x20 /* f0a8a20: a0781583 */ sb $t8,0x1583($v1) /* f0a8a24: 8fb90020 */ lw $t9,0x20($sp) /* f0a8a28: 1320000b */ beqz $t9,.L0f0a8a58 /* f0a8a2c: 00000000 */ nop /* f0a8a30: 0fc2a31f */ jal bgunIsUsingSecondaryFunction /* f0a8a34: 00000000 */ nop /* f0a8a38: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a3c: 24010001 */ addiu $at,$zero,0x1 /* f0a8a40: 14410005 */ bne $v0,$at,.L0f0a8a58 /* f0a8a44: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a48: 8d030284 */ lw $v1,0x284($t0) /* f0a8a4c: 906a0d0f */ lbu $t2,0xd0f($v1) /* f0a8a50: 354b0010 */ ori $t3,$t2,0x10 /* f0a8a54: a06b0d0f */ sb $t3,0xd0f($v1) .L0f0a8a58: /* f0a8a58: 10000079 */ b .L0f0a8c40 /* f0a8a5c: 24020001 */ addiu $v0,$zero,0x1 /* f0a8a60: 14a00039 */ bnez $a1,.L0f0a8b48 /* f0a8a64: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a68: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a6c: 8d0c0284 */ lw $t4,0x284($t0) /* f0a8a70: 81871580 */ lb $a3,0x1580($t4) /* f0a8a74: 0007102a */ slt $v0,$zero,$a3 /* f0a8a78: 10400031 */ beqz $v0,.L0f0a8b40 /* f0a8a7c: 28e30024 */ slti $v1,$a3,0x24 /* f0a8a80: 1060002f */ beqz $v1,.L0f0a8b40 /* f0a8a84: 00000000 */ nop /* f0a8a88: 10400014 */ beqz $v0,.L0f0a8adc /* f0a8a8c: 00402025 */ or $a0,$v0,$zero /* f0a8a90: 10600012 */ beqz $v1,.L0f0a8adc /* f0a8a94: 00602025 */ or $a0,$v1,$zero /* f0a8a98: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8a9c: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8aa0: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8aa4: 8dae0070 */ lw $t6,0x70($t5) /* f0a8aa8: 3c09800b */ lui $t1,%hi(g_MpPlayers+0x97) /* f0a8aac: 304a0007 */ andi $t2,$v0,0x7 /* f0a8ab0: 000e7880 */ sll $t7,$t6,0x2 /* f0a8ab4: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8ab8: 000f7940 */ sll $t7,$t7,0x5 /* f0a8abc: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8ac0: 01394821 */ addu $t1,$t1,$t9 /* f0a8ac4: 9129c84f */ lbu $t1,%lo(g_MpPlayers+0x97)($t1) /* f0a8ac8: 240b0001 */ addiu $t3,$zero,0x1 /* f0a8acc: 014b6004 */ sllv $t4,$t3,$t2 /* f0a8ad0: 012c2024 */ and $a0,$t1,$t4 /* f0a8ad4: 0004682b */ sltu $t5,$zero,$a0 /* f0a8ad8: 01a02025 */ or $a0,$t5,$zero .L0f0a8adc: /* f0a8adc: 3c0e800a */ lui $t6,%hi(g_Vars+0x288) /* f0a8ae0: 8dcea248 */ lw $t6,%lo(g_Vars+0x288)($t6) /* f0a8ae4: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8ae8: 0002c8c3 */ sra $t9,$v0,0x3 /* f0a8aec: 8dcf0070 */ lw $t7,0x70($t6) /* f0a8af0: 3c0a800b */ lui $t2,%hi(g_MpPlayers) /* f0a8af4: 254ac7b8 */ addiu $t2,$t2,%lo(g_MpPlayers) /* f0a8af8: 000fc080 */ sll $t8,$t7,0x2 /* f0a8afc: 030fc021 */ addu $t8,$t8,$t7 /* f0a8b00: 0018c140 */ sll $t8,$t8,0x5 /* f0a8b04: 03195821 */ addu $t3,$t8,$t9 /* f0a8b08: 016a1821 */ addu $v1,$t3,$t2 /* f0a8b0c: 30490007 */ andi $t1,$v0,0x7 /* f0a8b10: 240c0001 */ addiu $t4,$zero,0x1 /* f0a8b14: 240d0001 */ addiu $t5,$zero,0x1 /* f0a8b18: 012c3004 */ sllv $a2,$t4,$t1 /* f0a8b1c: 11a40005 */ beq $t5,$a0,.L0f0a8b34 /* f0a8b20: 90650097 */ lbu $a1,0x97($v1) /* f0a8b24: 00a67825 */ or $t7,$a1,$a2 /* f0a8b28: a06f0097 */ sb $t7,0x97($v1) /* f0a8b2c: 10000044 */ b .L0f0a8c40 /* f0a8b30: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8b34: /* f0a8b34: 00c0c027 */ nor $t8,$a2,$zero /* f0a8b38: 00b8c824 */ and $t9,$a1,$t8 /* f0a8b3c: a0790097 */ sb $t9,0x97($v1) .L0f0a8b40: /* f0a8b40: 1000003f */ b .L0f0a8c40 /* f0a8b44: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8b48: /* f0a8b48: 1000003d */ b .L0f0a8c40 /* f0a8b4c: 00001025 */ or $v0,$zero,$zero .L0f0a8b50: /* f0a8b50: 10a00008 */ beqz $a1,.L0f0a8b74 /* f0a8b54: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8b58: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8b5c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8b60: 8d030284 */ lw $v1,0x284($t0) /* f0a8b64: 906a1583 */ lbu $t2,0x1583($v1) /* f0a8b68: 354c0020 */ ori $t4,$t2,0x20 /* f0a8b6c: 10000033 */ b .L0f0a8c3c /* f0a8b70: a06c1583 */ sb $t4,0x1583($v1) .L0f0a8b74: /* f0a8b74: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8b78: 8d090284 */ lw $t1,0x284($t0) /* f0a8b7c: 81271580 */ lb $a3,0x1580($t1) /* f0a8b80: 0007102a */ slt $v0,$zero,$a3 /* f0a8b84: 1040002d */ beqz $v0,.L0f0a8c3c /* f0a8b88: 28e30024 */ slti $v1,$a3,0x24 /* f0a8b8c: 5060002c */ beqzl $v1,.L0f0a8c40 /* f0a8b90: 24020001 */ addiu $v0,$zero,0x1 /* f0a8b94: 50400015 */ beqzl $v0,.L0f0a8bec /* f0a8b98: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8b9c: 10600012 */ beqz $v1,.L0f0a8be8 /* f0a8ba0: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8ba4: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8ba8: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8bac: 3c0b800b */ lui $t3,%hi(g_MpPlayers) /* f0a8bb0: 8dae0070 */ lw $t6,0x70($t5) /* f0a8bb4: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) /* f0a8bb8: 304a0007 */ andi $t2,$v0,0x7 /* f0a8bbc: 000e7880 */ sll $t7,$t6,0x2 /* f0a8bc0: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8bc4: 000f7940 */ sll $t7,$t7,0x5 /* f0a8bc8: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8bcc: 032b1821 */ addu $v1,$t9,$t3 /* f0a8bd0: 90650097 */ lbu $a1,0x97($v1) /* f0a8bd4: 240c0001 */ addiu $t4,$zero,0x1 /* f0a8bd8: 014c3004 */ sllv $a2,$t4,$t2 /* f0a8bdc: 00a64824 */ and $t1,$a1,$a2 /* f0a8be0: 55200014 */ bnezl $t1,.L0f0a8c34 /* f0a8be4: 00c07827 */ nor $t7,$a2,$zero .L0f0a8be8: /* f0a8be8: 8d0d0288 */ lw $t5,0x288($t0) .L0f0a8bec: /* f0a8bec: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8bf0: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8bf4: 8dae0070 */ lw $t6,0x70($t5) /* f0a8bf8: 3c0b800b */ lui $t3,%hi(g_MpPlayers) /* f0a8bfc: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) /* f0a8c00: 000e7880 */ sll $t7,$t6,0x2 /* f0a8c04: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8c08: 000f7940 */ sll $t7,$t7,0x5 /* f0a8c0c: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8c10: 032b1821 */ addu $v1,$t9,$t3 /* f0a8c14: 906c0097 */ lbu $t4,0x97($v1) /* f0a8c18: 304a0007 */ andi $t2,$v0,0x7 /* f0a8c1c: 24090001 */ addiu $t1,$zero,0x1 /* f0a8c20: 01496804 */ sllv $t5,$t1,$t2 /* f0a8c24: 018d7025 */ or $t6,$t4,$t5 /* f0a8c28: 10000004 */ b .L0f0a8c3c /* f0a8c2c: a06e0097 */ sb $t6,0x97($v1) /* f0a8c30: 00c07827 */ nor $t7,$a2,$zero .L0f0a8c34: /* f0a8c34: 00afc024 */ and $t8,$a1,$t7 /* f0a8c38: a0780097 */ sb $t8,0x97($v1) .L0f0a8c3c: /* f0a8c3c: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8c40: /* f0a8c40: 8fbf0014 */ lw $ra,0x14($sp) /* f0a8c44: 27bd0018 */ addiu $sp,$sp,0x18 /* f0a8c48: 03e00008 */ jr $ra /* f0a8c4c: 00000000 */ nop ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgunConsiderToggleGunFunction .late_rodata glabel var7f1acaa4 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acaa8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaac .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acab0 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acab4 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acab8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acabc .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acac0 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c glabel var7f1acac4 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c glabel var7f1acac8 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c glabel var7f1acacc .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acad0 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acad4 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acad8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acadc .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acae0 .word bgunConsiderToggleGunFunction+0x44 # f0a89a0 glabel var7f1acae4 .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acae8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaec .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaf0 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaf4 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acaf8 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acafc .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb00 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb04 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb08 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb0c .word bgunConsiderToggleGunFunction+0x104 # f0a8a60 glabel var7f1acb10 .word bgunConsiderToggleGunFunction+0x1f4 # f0a8b50 glabel var7f1acb14 .word bgunConsiderToggleGunFunction+0xb0 # f0a8a0c .text /* f0a895c: 27bdffe8 */ addiu $sp,$sp,-24 /* f0a8960: afbf0014 */ sw $ra,0x14($sp) /* f0a8964: afa40018 */ sw $a0,0x18($sp) /* f0a8968: afa60020 */ sw $a2,0x20($sp) /* f0a896c: 00002025 */ or $a0,$zero,$zero /* f0a8970: 0fc2866a */ jal bgunGetWeaponNum /* f0a8974: afa5001c */ sw $a1,0x1c($sp) /* f0a8978: 244efffa */ addiu $t6,$v0,-6 /* f0a897c: 2dc1001d */ sltiu $at,$t6,0x1d /* f0a8980: 10200073 */ beqz $at,.L0f0a8b50 /* f0a8984: 8fa5001c */ lw $a1,0x1c($sp) /* f0a8988: 000e7080 */ sll $t6,$t6,0x2 /* f0a898c: 3c017f1b */ lui $at,%hi(var7f1acaa4) /* f0a8990: 002e0821 */ addu $at,$at,$t6 /* f0a8994: 8c2ecaa4 */ lw $t6,%lo(var7f1acaa4)($at) /* f0a8998: 01c00008 */ jr $t6 /* f0a899c: 00000000 */ nop /* f0a89a0: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a89a4: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a89a8: 8d030284 */ lw $v1,0x284($t0) /* f0a89ac: 90781583 */ lbu $t8,0x1583($v1) /* f0a89b0: 37190020 */ ori $t9,$t8,0x20 /* f0a89b4: 10a00003 */ beqz $a1,.L0f0a89c4 /* f0a89b8: a0791583 */ sb $t9,0x1583($v1) /* f0a89bc: 100000a0 */ b .L0f0a8c40 /* f0a89c0: 24020001 */ addiu $v0,$zero,0x1 .L0f0a89c4: /* f0a89c4: 8fa90018 */ lw $t1,0x18($sp) /* f0a89c8: 29210032 */ slti $at,$t1,0x32 /* f0a89cc: 50200004 */ beqzl $at,.L0f0a89e0 /* f0a89d0: 8d030284 */ lw $v1,0x284($t0) /* f0a89d4: 1000009a */ b .L0f0a8c40 /* f0a89d8: 00001025 */ or $v0,$zero,$zero /* f0a89dc: 8d030284 */ lw $v1,0x284($t0) .L0f0a89e0: /* f0a89e0: 24010001 */ addiu $at,$zero,0x1 /* f0a89e4: 906a063b */ lbu $t2,0x63b($v1) /* f0a89e8: 51410004 */ beql $t2,$at,.L0f0a89fc /* f0a89ec: 906c0d0f */ lbu $t4,0xd0f($v1) /* f0a89f0: 10000093 */ b .L0f0a8c40 /* f0a89f4: 00001025 */ or $v0,$zero,$zero /* f0a89f8: 906c0d0f */ lbu $t4,0xd0f($v1) .L0f0a89fc: /* f0a89fc: 24020002 */ addiu $v0,$zero,0x2 /* f0a8a00: 358d0010 */ ori $t5,$t4,0x10 /* f0a8a04: 1000008e */ b .L0f0a8c40 /* f0a8a08: a06d0d0f */ sb $t5,0xd0f($v1) /* f0a8a0c: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a10: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a14: 8d030284 */ lw $v1,0x284($t0) /* f0a8a18: 906f1583 */ lbu $t7,0x1583($v1) /* f0a8a1c: 35f80020 */ ori $t8,$t7,0x20 /* f0a8a20: a0781583 */ sb $t8,0x1583($v1) /* f0a8a24: 8fb90020 */ lw $t9,0x20($sp) /* f0a8a28: 1320000b */ beqz $t9,.L0f0a8a58 /* f0a8a2c: 00000000 */ nop /* f0a8a30: 0fc2a31f */ jal bgunIsUsingSecondaryFunction /* f0a8a34: 00000000 */ nop /* f0a8a38: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a3c: 24010001 */ addiu $at,$zero,0x1 /* f0a8a40: 14410005 */ bne $v0,$at,.L0f0a8a58 /* f0a8a44: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a48: 8d030284 */ lw $v1,0x284($t0) /* f0a8a4c: 906a0d0f */ lbu $t2,0xd0f($v1) /* f0a8a50: 354b0010 */ ori $t3,$t2,0x10 /* f0a8a54: a06b0d0f */ sb $t3,0xd0f($v1) .L0f0a8a58: /* f0a8a58: 10000079 */ b .L0f0a8c40 /* f0a8a5c: 24020001 */ addiu $v0,$zero,0x1 /* f0a8a60: 14a00039 */ bnez $a1,.L0f0a8b48 /* f0a8a64: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a68: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a6c: 8d0c0284 */ lw $t4,0x284($t0) /* f0a8a70: 81871580 */ lb $a3,0x1580($t4) /* f0a8a74: 0007102a */ slt $v0,$zero,$a3 /* f0a8a78: 10400031 */ beqz $v0,.L0f0a8b40 /* f0a8a7c: 28e30024 */ slti $v1,$a3,0x24 /* f0a8a80: 1060002f */ beqz $v1,.L0f0a8b40 /* f0a8a84: 00000000 */ nop /* f0a8a88: 10400014 */ beqz $v0,.L0f0a8adc /* f0a8a8c: 00402025 */ or $a0,$v0,$zero /* f0a8a90: 10600012 */ beqz $v1,.L0f0a8adc /* f0a8a94: 00602025 */ or $a0,$v1,$zero /* f0a8a98: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8a9c: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8aa0: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8aa4: 8dae0070 */ lw $t6,0x70($t5) /* f0a8aa8: 3c09800b */ lui $t1,%hi(g_MpPlayers+0x97) /* f0a8aac: 304a0007 */ andi $t2,$v0,0x7 /* f0a8ab0: 000e7880 */ sll $t7,$t6,0x2 /* f0a8ab4: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8ab8: 000f7940 */ sll $t7,$t7,0x5 /* f0a8abc: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8ac0: 01394821 */ addu $t1,$t1,$t9 /* f0a8ac4: 9129c84f */ lbu $t1,%lo(g_MpPlayers+0x97)($t1) /* f0a8ac8: 240b0001 */ addiu $t3,$zero,0x1 /* f0a8acc: 014b6004 */ sllv $t4,$t3,$t2 /* f0a8ad0: 012c2024 */ and $a0,$t1,$t4 /* f0a8ad4: 0004682b */ sltu $t5,$zero,$a0 /* f0a8ad8: 01a02025 */ or $a0,$t5,$zero .L0f0a8adc: /* f0a8adc: 3c0e800a */ lui $t6,%hi(g_Vars+0x288) /* f0a8ae0: 8dcea248 */ lw $t6,%lo(g_Vars+0x288)($t6) /* f0a8ae4: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8ae8: 0002c8c3 */ sra $t9,$v0,0x3 /* f0a8aec: 8dcf0070 */ lw $t7,0x70($t6) /* f0a8af0: 3c0a800b */ lui $t2,%hi(g_MpPlayers) /* f0a8af4: 254ac7b8 */ addiu $t2,$t2,%lo(g_MpPlayers) /* f0a8af8: 000fc080 */ sll $t8,$t7,0x2 /* f0a8afc: 030fc021 */ addu $t8,$t8,$t7 /* f0a8b00: 0018c140 */ sll $t8,$t8,0x5 /* f0a8b04: 03195821 */ addu $t3,$t8,$t9 /* f0a8b08: 016a1821 */ addu $v1,$t3,$t2 /* f0a8b0c: 30490007 */ andi $t1,$v0,0x7 /* f0a8b10: 240c0001 */ addiu $t4,$zero,0x1 /* f0a8b14: 240d0001 */ addiu $t5,$zero,0x1 /* f0a8b18: 012c3004 */ sllv $a2,$t4,$t1 /* f0a8b1c: 11a40005 */ beq $t5,$a0,.L0f0a8b34 /* f0a8b20: 90650097 */ lbu $a1,0x97($v1) /* f0a8b24: 00a67825 */ or $t7,$a1,$a2 /* f0a8b28: a06f0097 */ sb $t7,0x97($v1) /* f0a8b2c: 10000044 */ b .L0f0a8c40 /* f0a8b30: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8b34: /* f0a8b34: 00c0c027 */ nor $t8,$a2,$zero /* f0a8b38: 00b8c824 */ and $t9,$a1,$t8 /* f0a8b3c: a0790097 */ sb $t9,0x97($v1) .L0f0a8b40: /* f0a8b40: 1000003f */ b .L0f0a8c40 /* f0a8b44: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8b48: /* f0a8b48: 1000003d */ b .L0f0a8c40 /* f0a8b4c: 00001025 */ or $v0,$zero,$zero .L0f0a8b50: /* f0a8b50: 10a00008 */ beqz $a1,.L0f0a8b74 /* f0a8b54: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8b58: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8b5c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8b60: 8d030284 */ lw $v1,0x284($t0) /* f0a8b64: 906a1583 */ lbu $t2,0x1583($v1) /* f0a8b68: 354c0020 */ ori $t4,$t2,0x20 /* f0a8b6c: 10000033 */ b .L0f0a8c3c /* f0a8b70: a06c1583 */ sb $t4,0x1583($v1) .L0f0a8b74: /* f0a8b74: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8b78: 8d090284 */ lw $t1,0x284($t0) /* f0a8b7c: 81271580 */ lb $a3,0x1580($t1) /* f0a8b80: 0007102a */ slt $v0,$zero,$a3 /* f0a8b84: 1040002d */ beqz $v0,.L0f0a8c3c /* f0a8b88: 28e30024 */ slti $v1,$a3,0x24 /* f0a8b8c: 5060002c */ beqzl $v1,.L0f0a8c40 /* f0a8b90: 24020001 */ addiu $v0,$zero,0x1 /* f0a8b94: 50400015 */ beqzl $v0,.L0f0a8bec /* f0a8b98: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8b9c: 10600012 */ beqz $v1,.L0f0a8be8 /* f0a8ba0: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8ba4: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8ba8: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8bac: 3c0b800b */ lui $t3,%hi(g_MpPlayers) /* f0a8bb0: 8dae0070 */ lw $t6,0x70($t5) /* f0a8bb4: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) /* f0a8bb8: 304a0007 */ andi $t2,$v0,0x7 /* f0a8bbc: 000e7880 */ sll $t7,$t6,0x2 /* f0a8bc0: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8bc4: 000f7940 */ sll $t7,$t7,0x5 /* f0a8bc8: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8bcc: 032b1821 */ addu $v1,$t9,$t3 /* f0a8bd0: 90650097 */ lbu $a1,0x97($v1) /* f0a8bd4: 240c0001 */ addiu $t4,$zero,0x1 /* f0a8bd8: 014c3004 */ sllv $a2,$t4,$t2 /* f0a8bdc: 00a64824 */ and $t1,$a1,$a2 /* f0a8be0: 55200014 */ bnezl $t1,.L0f0a8c34 /* f0a8be4: 00c07827 */ nor $t7,$a2,$zero .L0f0a8be8: /* f0a8be8: 8d0d0288 */ lw $t5,0x288($t0) .L0f0a8bec: /* f0a8bec: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8bf0: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8bf4: 8dae0070 */ lw $t6,0x70($t5) /* f0a8bf8: 3c0b800b */ lui $t3,%hi(g_MpPlayers) /* f0a8bfc: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) /* f0a8c00: 000e7880 */ sll $t7,$t6,0x2 /* f0a8c04: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8c08: 000f7940 */ sll $t7,$t7,0x5 /* f0a8c0c: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8c10: 032b1821 */ addu $v1,$t9,$t3 /* f0a8c14: 906c0097 */ lbu $t4,0x97($v1) /* f0a8c18: 304a0007 */ andi $t2,$v0,0x7 /* f0a8c1c: 24090001 */ addiu $t1,$zero,0x1 /* f0a8c20: 01496804 */ sllv $t5,$t1,$t2 /* f0a8c24: 018d7025 */ or $t6,$t4,$t5 /* f0a8c28: 10000004 */ b .L0f0a8c3c /* f0a8c2c: a06e0097 */ sb $t6,0x97($v1) /* f0a8c30: 00c07827 */ nor $t7,$a2,$zero .L0f0a8c34: /* f0a8c34: 00afc024 */ and $t8,$a1,$t7 /* f0a8c38: a0780097 */ sb $t8,0x97($v1) .L0f0a8c3c: /* f0a8c3c: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8c40: /* f0a8c40: 8fbf0014 */ lw $ra,0x14($sp) /* f0a8c44: 27bd0018 */ addiu $sp,$sp,0x18 /* f0a8c48: 03e00008 */ jr $ra /* f0a8c4c: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgunConsiderToggleGunFunction .late_rodata glabel var7f1a6fccnb .word 0x453b8000 glabel var7f1a6fd0nb .word 0x453b8000 glabel var7f1acaa4 .word bgunConsiderToggleGunFunction+0x104 glabel var7f1a6fd8nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a6fdcnb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a6fe0nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a6fe4nb .word bgunConsiderToggleGunFunction+0x104 glabel var7f1a6fe8nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a6fecnb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a6ff0nb .word bgunConsiderToggleGunFunction+0x0b0 glabel var7f1a6ff4nb .word bgunConsiderToggleGunFunction+0x0b0 glabel var7f1a6ff8nb .word bgunConsiderToggleGunFunction+0x0b0 glabel var7f1a6ffcnb .word bgunConsiderToggleGunFunction+0x104 glabel var7f1a7000nb .word bgunConsiderToggleGunFunction+0x104 glabel var7f1a7004nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7008nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a700cnb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7010nb .word bgunConsiderToggleGunFunction+0x044 glabel var7f1a7014nb .word bgunConsiderToggleGunFunction+0x104 glabel var7f1a7018nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a701cnb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7020nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7024nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7028nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a702cnb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7030nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7034nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7038nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a703cnb .word bgunConsiderToggleGunFunction+0x104 glabel var7f1a7040nb .word bgunConsiderToggleGunFunction+0x1f4 glabel var7f1a7044nb .word bgunConsiderToggleGunFunction+0x0b0 .text /* f0a895c: 27bdffe8 */ addiu $sp,$sp,-24 /* f0a8960: afbf0014 */ sw $ra,0x14($sp) /* f0a8964: afa40018 */ sw $a0,0x18($sp) /* f0a8968: afa60020 */ sw $a2,0x20($sp) /* f0a896c: 00002025 */ or $a0,$zero,$zero /* f0a8970: 0fc2866a */ jal bgunGetWeaponNum /* f0a8974: afa5001c */ sw $a1,0x1c($sp) /* f0a8978: 244efffa */ addiu $t6,$v0,-6 /* f0a897c: 2dc1001d */ sltiu $at,$t6,0x1d /* f0a8980: 10200073 */ beqz $at,.L0f0a8b50 /* f0a8984: 8fa5001c */ lw $a1,0x1c($sp) /* f0a8988: 000e7080 */ sll $t6,$t6,0x2 /* f0a898c: 3c017f1b */ lui $at,%hi(var7f1acaa4) /* f0a8990: 002e0821 */ addu $at,$at,$t6 /* f0a8994: 8c2ecaa4 */ lw $t6,%lo(var7f1acaa4)($at) /* f0a8998: 01c00008 */ jr $t6 /* f0a899c: 00000000 */ nop /* f0a89a0: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a89a4: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a89a8: 8d030284 */ lw $v1,0x284($t0) /* f0a89ac: 90781583 */ lbu $t8,0x1583($v1) /* f0a89b0: 37190020 */ ori $t9,$t8,0x20 /* f0a89b4: 10a00003 */ beqz $a1,.L0f0a89c4 /* f0a89b8: a0791583 */ sb $t9,0x1583($v1) /* f0a89bc: 100000a0 */ b .L0f0a8c40 /* f0a89c0: 24020001 */ addiu $v0,$zero,0x1 .L0f0a89c4: /* f0a89c4: 8fa90018 */ lw $t1,0x18($sp) /* f0a89c8: 29210032 */ slti $at,$t1,0x32 /* f0a89cc: 50200004 */ beqzl $at,.L0f0a89e0 /* f0a89d0: 8d030284 */ lw $v1,0x284($t0) /* f0a89d4: 1000009a */ b .L0f0a8c40 /* f0a89d8: 00001025 */ or $v0,$zero,$zero /* f0a89dc: 8d030284 */ lw $v1,0x284($t0) .L0f0a89e0: /* f0a89e0: 24010001 */ addiu $at,$zero,0x1 /* f0a89e4: 906a063b */ lbu $t2,0x63b($v1) /* f0a89e8: 51410004 */ beql $t2,$at,.L0f0a89fc /* f0a89ec: 906c0d0f */ lbu $t4,0xd0f($v1) /* f0a89f0: 10000093 */ b .L0f0a8c40 /* f0a89f4: 00001025 */ or $v0,$zero,$zero /* f0a89f8: 906c0d0f */ lbu $t4,0xd0f($v1) .L0f0a89fc: /* f0a89fc: 24020002 */ addiu $v0,$zero,0x2 /* f0a8a00: 358d0010 */ ori $t5,$t4,0x10 /* f0a8a04: 1000008e */ b .L0f0a8c40 /* f0a8a08: a06d0d0f */ sb $t5,0xd0f($v1) /* f0a8a0c: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a10: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a14: 8d030284 */ lw $v1,0x284($t0) /* f0a8a18: 906f1583 */ lbu $t7,0x1583($v1) /* f0a8a1c: 35f80020 */ ori $t8,$t7,0x20 /* f0a8a20: a0781583 */ sb $t8,0x1583($v1) /* f0a8a24: 8fb90020 */ lw $t9,0x20($sp) /* f0a8a28: 1320000b */ beqz $t9,.L0f0a8a58 /* f0a8a2c: 00000000 */ nop /* f0a8a30: 0fc2a31f */ jal bgunIsUsingSecondaryFunction /* f0a8a34: 00000000 */ nop /* f0a8a38: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a3c: 24010001 */ addiu $at,$zero,0x1 /* f0a8a40: 14410005 */ bne $v0,$at,.L0f0a8a58 /* f0a8a44: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a48: 8d030284 */ lw $v1,0x284($t0) /* f0a8a4c: 906a0d0f */ lbu $t2,0xd0f($v1) /* f0a8a50: 354b0010 */ ori $t3,$t2,0x10 /* f0a8a54: a06b0d0f */ sb $t3,0xd0f($v1) .L0f0a8a58: /* f0a8a58: 10000079 */ b .L0f0a8c40 /* f0a8a5c: 24020001 */ addiu $v0,$zero,0x1 /* f0a8a60: 14a00039 */ bnez $a1,.L0f0a8b48 /* f0a8a64: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8a68: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8a6c: 8d0c0284 */ lw $t4,0x284($t0) /* f0a8a70: 81871580 */ lb $a3,0x1580($t4) /* f0a8a74: 0007102a */ slt $v0,$zero,$a3 /* f0a8a78: 10400031 */ beqz $v0,.L0f0a8b40 /* f0a8a7c: 28e30024 */ slti $v1,$a3,0x24 /* f0a8a80: 1060002f */ beqz $v1,.L0f0a8b40 /* f0a8a84: 00000000 */ nop /* f0a8a88: 10400014 */ beqz $v0,.L0f0a8adc /* f0a8a8c: 00402025 */ or $a0,$v0,$zero /* f0a8a90: 10600012 */ beqz $v1,.L0f0a8adc /* f0a8a94: 00602025 */ or $a0,$v1,$zero /* f0a8a98: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8a9c: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8aa0: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8aa4: 8dae0070 */ lw $t6,0x70($t5) /* f0a8aa8: 3c09800b */ lui $t1,%hi(g_MpPlayers+0x97) /* f0a8aac: 304a0007 */ andi $t2,$v0,0x7 /* f0a8ab0: 000e7880 */ sll $t7,$t6,0x2 /* f0a8ab4: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8ab8: 000f7940 */ sll $t7,$t7,0x5 /* f0a8abc: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8ac0: 01394821 */ addu $t1,$t1,$t9 /* f0a8ac4: 9129c84f */ lbu $t1,%lo(g_MpPlayers+0x97)($t1) /* f0a8ac8: 240b0001 */ addiu $t3,$zero,0x1 /* f0a8acc: 014b6004 */ sllv $t4,$t3,$t2 /* f0a8ad0: 012c2024 */ and $a0,$t1,$t4 /* f0a8ad4: 0004682b */ sltu $t5,$zero,$a0 /* f0a8ad8: 01a02025 */ or $a0,$t5,$zero .L0f0a8adc: /* f0a8adc: 3c0e800a */ lui $t6,%hi(g_Vars+0x288) /* f0a8ae0: 8dcea248 */ lw $t6,%lo(g_Vars+0x288)($t6) /* f0a8ae4: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8ae8: 0002c8c3 */ sra $t9,$v0,0x3 /* f0a8aec: 8dcf0070 */ lw $t7,0x70($t6) /* f0a8af0: 3c0a800b */ lui $t2,%hi(g_MpPlayers) /* f0a8af4: 254ac7b8 */ addiu $t2,$t2,%lo(g_MpPlayers) /* f0a8af8: 000fc080 */ sll $t8,$t7,0x2 /* f0a8afc: 030fc021 */ addu $t8,$t8,$t7 /* f0a8b00: 0018c140 */ sll $t8,$t8,0x5 /* f0a8b04: 03195821 */ addu $t3,$t8,$t9 /* f0a8b08: 016a1821 */ addu $v1,$t3,$t2 /* f0a8b0c: 30490007 */ andi $t1,$v0,0x7 /* f0a8b10: 240c0001 */ addiu $t4,$zero,0x1 /* f0a8b14: 240d0001 */ addiu $t5,$zero,0x1 /* f0a8b18: 012c3004 */ sllv $a2,$t4,$t1 /* f0a8b1c: 11a40005 */ beq $t5,$a0,.L0f0a8b34 /* f0a8b20: 90650097 */ lbu $a1,0x97($v1) /* f0a8b24: 00a67825 */ or $t7,$a1,$a2 /* f0a8b28: a06f0097 */ sb $t7,0x97($v1) /* f0a8b2c: 10000044 */ b .L0f0a8c40 /* f0a8b30: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8b34: /* f0a8b34: 00c0c027 */ nor $t8,$a2,$zero /* f0a8b38: 00b8c824 */ and $t9,$a1,$t8 /* f0a8b3c: a0790097 */ sb $t9,0x97($v1) .L0f0a8b40: /* f0a8b40: 1000003f */ b .L0f0a8c40 /* f0a8b44: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8b48: /* f0a8b48: 1000003d */ b .L0f0a8c40 /* f0a8b4c: 00001025 */ or $v0,$zero,$zero .L0f0a8b50: /* f0a8b50: 10a00008 */ beqz $a1,.L0f0a8b74 /* f0a8b54: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8b58: 3c08800a */ lui $t0,%hi(g_Vars) /* f0a8b5c: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8b60: 8d030284 */ lw $v1,0x284($t0) /* f0a8b64: 906a1583 */ lbu $t2,0x1583($v1) /* f0a8b68: 354c0020 */ ori $t4,$t2,0x20 /* f0a8b6c: 10000033 */ b .L0f0a8c3c /* f0a8b70: a06c1583 */ sb $t4,0x1583($v1) .L0f0a8b74: /* f0a8b74: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0a8b78: 8d090284 */ lw $t1,0x284($t0) /* f0a8b7c: 81271580 */ lb $a3,0x1580($t1) /* f0a8b80: 0007102a */ slt $v0,$zero,$a3 /* f0a8b84: 1040002d */ beqz $v0,.L0f0a8c3c /* f0a8b88: 28e30024 */ slti $v1,$a3,0x24 /* f0a8b8c: 5060002c */ beqzl $v1,.L0f0a8c40 /* f0a8b90: 24020001 */ addiu $v0,$zero,0x1 /* f0a8b94: 50400015 */ beqzl $v0,.L0f0a8bec /* f0a8b98: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8b9c: 10600012 */ beqz $v1,.L0f0a8be8 /* f0a8ba0: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8ba4: 8d0d0288 */ lw $t5,0x288($t0) /* f0a8ba8: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8bac: 3c0b800b */ lui $t3,%hi(g_MpPlayers) /* f0a8bb0: 8dae0070 */ lw $t6,0x70($t5) /* f0a8bb4: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) /* f0a8bb8: 304a0007 */ andi $t2,$v0,0x7 /* f0a8bbc: 000e7880 */ sll $t7,$t6,0x2 /* f0a8bc0: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8bc4: 000f7940 */ sll $t7,$t7,0x5 /* f0a8bc8: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8bcc: 032b1821 */ addu $v1,$t9,$t3 /* f0a8bd0: 90650097 */ lbu $a1,0x97($v1) /* f0a8bd4: 240c0001 */ addiu $t4,$zero,0x1 /* f0a8bd8: 014c3004 */ sllv $a2,$t4,$t2 /* f0a8bdc: 00a64824 */ and $t1,$a1,$a2 /* f0a8be0: 55200014 */ bnezl $t1,.L0f0a8c34 /* f0a8be4: 00c07827 */ nor $t7,$a2,$zero .L0f0a8be8: /* f0a8be8: 8d0d0288 */ lw $t5,0x288($t0) .L0f0a8bec: /* f0a8bec: 24e2ffff */ addiu $v0,$a3,-1 /* f0a8bf0: 0002c0c3 */ sra $t8,$v0,0x3 /* f0a8bf4: 8dae0070 */ lw $t6,0x70($t5) /* f0a8bf8: 3c0b800b */ lui $t3,%hi(g_MpPlayers) /* f0a8bfc: 256bc7b8 */ addiu $t3,$t3,%lo(g_MpPlayers) /* f0a8c00: 000e7880 */ sll $t7,$t6,0x2 /* f0a8c04: 01ee7821 */ addu $t7,$t7,$t6 /* f0a8c08: 000f7940 */ sll $t7,$t7,0x5 /* f0a8c0c: 01f8c821 */ addu $t9,$t7,$t8 /* f0a8c10: 032b1821 */ addu $v1,$t9,$t3 /* f0a8c14: 906c0097 */ lbu $t4,0x97($v1) /* f0a8c18: 304a0007 */ andi $t2,$v0,0x7 /* f0a8c1c: 24090001 */ addiu $t1,$zero,0x1 /* f0a8c20: 01496804 */ sllv $t5,$t1,$t2 /* f0a8c24: 018d7025 */ or $t6,$t4,$t5 /* f0a8c28: 10000004 */ b .L0f0a8c3c /* f0a8c2c: a06e0097 */ sb $t6,0x97($v1) /* f0a8c30: 00c07827 */ nor $t7,$a2,$zero .L0f0a8c34: /* f0a8c34: 00afc024 */ and $t8,$a1,$t7 /* f0a8c38: a0780097 */ sb $t8,0x97($v1) .L0f0a8c3c: /* f0a8c3c: 24020001 */ addiu $v0,$zero,0x1 .L0f0a8c40: /* f0a8c40: 8fbf0014 */ lw $ra,0x14($sp) /* f0a8c44: 27bd0018 */ addiu $sp,$sp,0x18 /* f0a8c48: 03e00008 */ jr $ra /* f0a8c4c: 00000000 */ nop ); #endif // Mismatch near the first gunfuncs check. // Goal loads 1 into $t5 while the below uses $at. //u32 bgunConsiderToggleGunFunction(s32 usedowntime, bool firing, s32 arg2) //{ // switch (bgunGetWeaponNum(HAND_RIGHT)) { // case WEAPON_SNIPERRIFLE: // f0a89a0 // // Setting this allows the sniper rifle to behave somewhat similarly to // // a temporary function, meaning that it reverts to primary when B is // // released. // g_Vars.currentplayer->invertgunfunc = true; // // // B+Z immediately triggers crouch or stand. // if (firing) { // return 1; // } // // // Don't do anything if B hasn't been held for 50/60ths of a second. // if (usedowntime < 50) { // return 0; // } // // // Sanity check - make sure the sniper isn't set to alt function // // permanently (this is impossible). // if (g_Vars.currentplayer->hands[HAND_RIGHT].weaponfunc != 1) { // return 0; // } // // // Do crouch or stand // g_Vars.currentplayer->hands[HAND_RIGHT].unk0d0f_03 = true; // return 2; // case WEAPON_RCP120: // case WEAPON_LAPTOPGUN: // case WEAPON_DRAGON: // case WEAPON_REMOTEMINE: // f0a8a0c // // These guns use temporary alt functions // g_Vars.currentplayer->invertgunfunc = true; // // if (arg2 && bgunIsUsingSecondaryFunction() == true) { // g_Vars.currentplayer->hands[HAND_RIGHT].unk0d0f_03 = true; // } // // return 1; // case WEAPON_MAULER: // case WEAPON_CMP150: // case WEAPON_K7AVENGER: // case WEAPON_AR34: // case WEAPON_FARSIGHT: // case WEAPON_TIMEDMINE: // f0a8a60 // // These guns disallow B+Z // if (firing == false) { // if (g_Vars.currentplayer->weaponnum >= WEAPON_UNARMED // && g_Vars.currentplayer->weaponnum <= WEAPON_COMBATBOOST) { // // A macro is probably used here, hence the duplicate checks // if ((g_Vars.currentplayer->weaponnum >= WEAPON_UNARMED // && g_Vars.currentplayer->weaponnum <= WEAPON_COMBATBOOST // && (g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->weaponnum - 1) >> 3] & (1 << ((g_Vars.currentplayer->weaponnum - 1) & 7)))) != 1) { // // b24 // g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->weaponnum - 1) >> 3] |= 1 << ((g_Vars.currentplayer->weaponnum - 1) & 7); // } else { // // b34 // g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->weaponnum - 1) >> 3] &= ~(1 << ((g_Vars.currentplayer->weaponnum - 1) & 7)); // } // } // // return 1; // } // // return 0; // default: // b50 // if (firing) { // // B+Z // g_Vars.currentplayer->invertgunfunc = true; // } else { // if (g_Vars.currentplayer->weaponnum >= WEAPON_UNARMED // && g_Vars.currentplayer->weaponnum <= WEAPON_COMBATBOOST) { // if (!(g_Vars.currentplayer->weaponnum >= WEAPON_UNARMED // && g_Vars.currentplayer->weaponnum <= WEAPON_COMBATBOOST // && (g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->weaponnum - 1) >> 3] & (1 << ((g_Vars.currentplayer->weaponnum - 1) & 7))))) { // g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->weaponnum - 1) >> 3] |= 1 << ((g_Vars.currentplayer->weaponnum - 1) & 7); // } else { // g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[(g_Vars.currentplayer->weaponnum - 1) >> 3] &= ~(1 << ((g_Vars.currentplayer->weaponnum - 1) & 7)); // } // } // } // // return 1; // } //} void bgun0f0a8c50(void) { if (g_Vars.currentplayer->hands[HAND_RIGHT].unk0d0f_03 == 0) { g_Vars.currentplayer->gunctrl.invertgunfunc = false; } } bool bgunIsUsingSecondaryFunction(void) { struct player *player = g_Vars.currentplayer; s32 weaponnum = player->gunctrl.weaponnum; if (weaponnum >= WEAPON_UNARMED && weaponnum <= WEAPON_COMBATBOOST) { s32 index = (weaponnum - 1) >> 3; s32 value = 1 << ((weaponnum - 1) & 7); if (g_MpPlayers[g_Vars.currentplayerstats->mpindex].gunfuncs[index] & value) { if (player->gunctrl.invertgunfunc == true) { return false; } return true; } } if (player->gunctrl.invertgunfunc == true) { return true; } return false; } void bgunsTick(bool triggeron) { s32 gunsfiring[2] = {false, false}; struct player *player = g_Vars.currentplayer; s32 i; // Remove weapons if in passive mode if (g_Vars.currentplayer->gunctrl.passivemode) { struct chrdata *chr = g_Vars.currentplayer->prop->chr; triggeron = false; if (invGetCount() > 1) { invClear(); invGiveSingleWeapon(WEAPON_UNARMED); } if (g_Vars.currentplayer->gunctrl.weaponnum != WEAPON_UNARMED && g_Vars.currentplayer->gunctrl.switchtoweaponnum != WEAPON_UNARMED) { bgunEquipWeapon(WEAPON_UNARMED); } g_Vars.currentplayer->gunctrl.unk1583_00 = 0; g_Vars.currentplayer->devicesactive = 0; chr->cloakpause = 0; chr->cloakfadefrac = 0; chr->cloakfadefinished = false; chr->hidden &= ~CHRHFLAG_CLOAKED; } // Remove throwable items from inventory if there's no more left for (i = 0; i < invGetCount(); i++) { struct weapon *weapon; s32 weaponnum = invGetWeaponNumByIndex(i); s32 equippedweaponnum; switch (weaponnum) { case WEAPON_COMBATKNIFE: case WEAPON_GRENADE: case WEAPON_NBOMB: case WEAPON_COMBATBOOST: case WEAPON_CLOAKINGDEVICE: case WEAPON_ECMMINE: case WEAPON_COMMSRIDER: case WEAPON_TRACERBUG: case WEAPON_TARGETAMPLIFIER: weapon = weaponFindById(weaponnum); if (weapon && weapon->ammos[0] && bgunGetAmmoCount(weapon->ammos[0]->type) == 0) { equippedweaponnum = bgunGetWeaponNum(HAND_RIGHT); invRemoveItemByNum(weaponnum); if (weaponnum == equippedweaponnum && !invHasSingleWeaponIncAllGuns(weaponnum)) { invCalculateCurrentIndex(); bgunEquipWeapon(invGetWeaponNumByIndex(g_Vars.currentplayer->equipcuritem)); } } } } if (g_Vars.tickmode == TICKMODE_CUTSCENE) { triggeron = false; g_Vars.currentplayer->hands[HAND_LEFT].firing = false; g_Vars.currentplayer->hands[HAND_RIGHT].firing = false; } player->playertriggerprev = player->playertriggeron; player->playertriggeron = triggeron; if (triggeron == false && player->playertriggerprev) { // Releasing trigger player->doautoselect = true; } // Handle gun firing - particularly alternating // between left and right if dual wielding if (player->playertriggeron) { player->playertrigtime240 += g_Vars.lvupdate240; if (player->hands[HAND_LEFT].inuse && player->hands[HAND_RIGHT].inuse && player->gunctrl.weaponnum != WEAPON_REMOTEMINE) { if (player->playertrigtime240 > PALDOWN(80)) { gunsfiring[player->curguntofire] = 1; if (bgun0f099008(1 - player->curguntofire) || player->hands[1 - player->curguntofire].triggeron) { gunsfiring[1 - player->curguntofire] = 1; } } else { if (player->playertriggerprev == false && (bgun0f099008(1 - player->curguntofire) || !bgun0f099008(player->curguntofire))) { player->curguntofire = 1 - player->curguntofire; } gunsfiring[player->curguntofire] = 1; gunsfiring[1 - player->curguntofire] = 0; } } else { if (!player->hands[player->curguntofire].inuse && player->hands[1 - player->curguntofire].inuse) { player->curguntofire = 1 - player->curguntofire; } if (player->gunctrl.weaponnum == WEAPON_REMOTEMINE) { player->curguntofire = 0; } gunsfiring[player->curguntofire] = 1; gunsfiring[1 - player->curguntofire] = 0; } } else { player->playertrigtime240 = 0; } bgunSetTriggerOn(HAND_RIGHT, gunsfiring[0]); bgunSetTriggerOn(HAND_LEFT, gunsfiring[1]); if (g_Vars.tickmode == TICKMODE_NORMAL && g_Vars.lvupdate240 > 0) { bgunTick(HAND_RIGHT); bgunTick(HAND_LEFT); bgun0f09ce8c(); if (cheatIsActive(CHEAT_UNLIMITEDAMMONORELOADS)) { s32 i; struct weapon *weapon; struct hand *lhand = &g_Vars.currentplayer->hands[HAND_LEFT]; struct hand *rhand = &g_Vars.currentplayer->hands[HAND_RIGHT]; weapon = weaponFindById(rhand->gset.weaponnum); for (i = 0; i != 2; i++) { if (weapon && weapon->ammos[i] && bgunAmmotypeAllowsUnlimitedAmmo(weapon->ammos[i]->type)) { rhand->loadedammo[i] = rhand->clipsizes[i]; lhand->loadedammo[i] = lhand->clipsizes[i]; } } bgunGiveMaxAmmo(false); } else if (cheatIsActive(CHEAT_UNLIMITEDAMMO)) { bgunGiveMaxAmmo(false); } } bgunDecreaseNoiseRadius(); if (player->resetshadecol) { func0f069144(g_Vars.currentplayer->prop, player->gunshadecol, player->floorcol); player->resetshadecol = 0; } else { u8 shadecol[4]; func0f069144(g_Vars.currentplayer->prop, shadecol, player->floorcol); colourTween(player->gunshadecol, shadecol); } invIncrementHeldTime(bgunGetWeaponNum(HAND_RIGHT), bgunGetWeaponNum(HAND_LEFT)); } void bgunSetPassiveMode(bool enable) { s32 i; for (i = 0; i < PLAYERCOUNT(); i++) { g_Vars.players[i]->gunctrl.passivemode = enable; } } void bgunSetAimType(u32 aimtype) { g_Vars.currentplayer->aimtype = aimtype; } void bgunSetAimPos(struct coord *coord) { struct player *player = g_Vars.currentplayer; player->hands[HAND_RIGHT].aimpos.x = handGetXShift(HAND_RIGHT) + coord->x; player->hands[HAND_RIGHT].aimpos.y = coord->y; player->hands[HAND_RIGHT].aimpos.z = coord->z; player->hands[HAND_LEFT].aimpos.x = handGetXShift(HAND_LEFT) + coord->x; player->hands[HAND_LEFT].aimpos.y = coord->y; player->hands[HAND_LEFT].aimpos.z = coord->z; } void bgunSetHitPos(struct coord *coord) { struct player *player = g_Vars.currentplayer; player->hands[HAND_LEFT].hitpos.x = player->hands[HAND_RIGHT].hitpos.x = coord->x; player->hands[HAND_LEFT].hitpos.y = player->hands[HAND_RIGHT].hitpos.y = coord->y; player->hands[HAND_LEFT].hitpos.z = player->hands[HAND_RIGHT].hitpos.z = coord->z; } void bgun0f0a9494(u32 operation) { switch (operation) { case 0: g_Vars.currentplayer->hands[HAND_LEFT].unk0cec = g_Vars.currentplayer->hands[HAND_RIGHT].unk0cec = false; break; case 1: break; } } void bgun0f0a94d0(u32 operation, struct coord *pos, struct coord *rot) { struct player *player = g_Vars.currentplayer; switch (operation) { case 0: if (pos->x > -100000.0f && pos->x < 100000.0f && pos->y > -100000.0f && pos->y < 100000.0f && pos->z > -100000.0f && pos->z < 100000.0f) { player->hands[HAND_RIGHT].unk0cec = true; player->hands[HAND_LEFT].unk0cec = true; player->hands[HAND_LEFT].unk0cf0.x = player->hands[HAND_RIGHT].unk0cf0.x = pos->x; player->hands[HAND_LEFT].unk0cf0.y = player->hands[HAND_RIGHT].unk0cf0.y = pos->y; player->hands[HAND_LEFT].unk0cf0.z = player->hands[HAND_RIGHT].unk0cf0.z = pos->z; player->hands[HAND_LEFT].unk0cfc.x = player->hands[HAND_RIGHT].unk0cfc.x = rot->x; player->hands[HAND_LEFT].unk0cfc.y = player->hands[HAND_RIGHT].unk0cfc.y = rot->y; player->hands[HAND_LEFT].unk0cfc.z = player->hands[HAND_RIGHT].unk0cfc.z = rot->z; } break; case 1: case 2: lasersightSetDot(operation - 1, pos, rot); break; } } void bgunSetGunAmmoVisible(u32 reason, bool enable) { if (enable) { g_Vars.currentplayer->gunammooff &= ~reason; } else { g_Vars.currentplayer->gunammooff |= reason; } } struct ammotype g_AmmoTypes[] = { { 0, 0, 0 }, { 800, 0, 0 }, { 800, 0, 0 }, { 69, 0, 0 }, { 400, 0, -2 }, { 100, 0, 0 }, { 100, 0, 0 }, { 12, 0, 0 }, { 3, 0, -2 }, { 10, 0, 0 }, { 200, 0, 0 }, { 40, 0, 0 }, { 10, 0, 1 }, { 10, 0, 1 }, { 10, 0, 1 }, { 800, 0, 0 }, { 15, 0, -2 }, { 50, 0, 0 }, { 10, 0, 0 }, { 200, 0, 0 }, #if PAL { 15000, 0, 0 }, #else { 18000, 0, 0 }, #endif { 4, 0, 0 }, { 200, 0, 0 }, { 2, 0, 0 }, { 10, 0, 0 }, { 10, 0, 0 }, { 10, 0, 0 }, { 1000, 0, 0 }, { 10, 0, 0 }, { 50, 0, -1 }, { 1, 0, 0 }, { 200, 0, 0 }, { 10, 0, 0 }, }; void bgunSetAmmoQuantity(s32 ammotype, s32 quantity) { struct player *player = g_Vars.currentplayer; s32 weaponnum = bgunGetWeaponNum(HAND_RIGHT); s32 funcnum = -1; s32 magamount; // Check if this ammo type applies to the player's equipped weapon if (bgunGetAmmoTypeForWeapon(weaponnum, FUNC_PRIMARY) == ammotype) { funcnum = FUNC_PRIMARY; } if (bgunGetAmmoTypeForWeapon(weaponnum, FUNC_SECONDARY) == ammotype) { funcnum = FUNC_SECONDARY; } if (funcnum != -1 && func0f0b184c(weaponnum, funcnum, 1)) { // This part seems a bit odd. It's adding the ammo rather than setting // it, and it clears the held amount. Maybe this code isn't reachable. player->hands[0].loadedammo[funcnum] += quantity; if (player->hands[0].loadedammo[funcnum] > player->hands[0].clipsizes[funcnum]) { player->hands[0].loadedammo[funcnum] = player->hands[0].clipsizes[funcnum]; } player->ammoheldarr[ammotype] = 0; return; } magamount = 0; if (funcnum != -1 && func0f0b184c(weaponnum, funcnum, 2)) { magamount = player->hands[0].loadedammo[funcnum] + player->hands[1].loadedammo[funcnum]; } if (quantity > g_AmmoTypes[ammotype].capacity - magamount) { player->ammoheldarr[ammotype] = g_AmmoTypes[ammotype].capacity - magamount; } else { player->ammoheldarr[ammotype] = quantity; } } s32 bgunGetAmmoCountWithCheck(s32 ammotype) { s32 i; s32 j; s32 total = g_Vars.currentplayer->ammoheldarr[ammotype]; struct player *player = g_Vars.currentplayer; for (i = 0; i < 2; i++) { if (player->hands[i].inuse) { for (j = 0; j < 2; j++) { if (player->gunctrl.ammotypes[j] == ammotype && func0f0b184c(player->hands[i].gset.weaponnum, j, 0x00000001)) { total = total + player->hands[i].loadedammo[j]; } } } } return total; } s32 bgunGetAmmoCount(s32 ammotype) { s32 i; s32 j; s32 total = g_Vars.currentplayer->ammoheldarr[ammotype]; struct player *player = g_Vars.currentplayer; for (i = 0; i < 2; i++) { if (player->hands[i].inuse) { for (j = 0; j < 2; j++) { if (player->gunctrl.ammotypes[j] == ammotype) { total = total + player->hands[i].loadedammo[j]; } } } } return total; } s32 bgunGetCapacityByAmmotype(u32 ammotype) { return g_AmmoTypes[ammotype].capacity; } bool bgunAmmotypeAllowsUnlimitedAmmo(u32 ammotype) { switch (ammotype) { case AMMOTYPE_REMOTE_MINE: if (g_Vars.stagenum == STAGE_CHICAGO) { return false; } break; case AMMOTYPE_TIMED_MINE: if (g_Vars.stagenum == STAGE_AIRFORCEONE) { return false; } break; case AMMOTYPE_PSYCHOSIS: case AMMOTYPE_17: case AMMOTYPE_BUG: case AMMOTYPE_MICROCAMERA: case AMMOTYPE_PLASTIQUE: case AMMOTYPE_1B: case AMMOTYPE_1C: case AMMOTYPE_1D: case AMMOTYPE_TOKEN: case AMMOTYPE_1F: case AMMOTYPE_ECM_MINE: return false; } return true; } void bgunGiveMaxAmmo(bool force) { s32 i; for (i = 0; i < ARRAYCOUNT(g_AmmoTypes); i++) { bool give = true; if (!force) { give = bgunAmmotypeAllowsUnlimitedAmmo(i); } if (give) { bgunSetAmmoQuantity(i, g_AmmoTypes[i].capacity); } } } u32 bgunGetAmmoTypeForWeapon(u32 weaponnum, u32 func) { struct weapon *weapon = weaponFindById(weaponnum); if (!weapon) { return 0; } if (!weapon->ammos[func]) { return 0; } return weapon->ammos[func]->type; } s32 bgunGetAmmoQtyForWeapon(u32 weaponnum, u32 func) { struct weapon *weapon = weaponFindById(weaponnum); if (weapon) { struct inventory_ammo *ammo = weapon->ammos[func]; if (ammo) { return bgunGetAmmoCountWithCheck(ammo->type); } } return 0; } void bgunSetAmmoQtyForWeapon(u32 weaponnum, u32 func, u32 quantity) { struct weapon *weapon = weaponFindById(weaponnum); if (weapon) { struct inventory_ammo *ammo = weapon->ammos[func]; if (ammo) { bgunSetAmmoQuantity(ammo->type, quantity); } } } s32 bgunGetAmmoCapacityForWeapon(s32 weaponnum, s32 func) { struct weapon *weapon = weaponFindById(weaponnum); struct inventory_ammo *ammo = weapon->ammos[func]; if (ammo) { return g_AmmoTypes[ammo->type].capacity; } return 0; } Gfx *bgunRenderHudString(Gfx *gdl, char *text, s32 x, bool halign, s32 y, s32 valign, u32 colour) { s32 x1 = 0; s32 y1 = 0; s32 x2 = 0; s32 y2 = 0; s32 textheight; s32 textwidth; textwidth = 0; textheight = 0; textMeasure(&textheight, &textwidth, text, g_FontNumeric1, g_FontNumeric2, 0); if (halign == HUDHALIGN_LEFT) { // left x2 = x + textwidth; x1 = x; } else if (halign == HUDHALIGN_RIGHT) { // right x1 = x - textwidth; x2 = x; } else if (halign == HUDHALIGN_MIDDLE) { // middle x2 = x + textwidth / 2; x1 = x2 - textwidth; } if (valign == HUDVALIGN_TOP) { // top y2 = y + textheight; y1 = y; } else if (valign == HUDVALIGN_BOTTOM) { // bottom y1 = y - textheight; y2 = y; } else if (valign == HUDVALIGN_MIDDLE) { // middle y2 = y + textheight / 2; y1 = y2 - textheight; } gdl = func0f153858(gdl, &x1, &y1, &x2, &y2); gdl = textRender(gdl, &x1, &y1, text, g_FontNumeric1, g_FontNumeric2, colour, 0x000000a0, viGetWidth(), viGetHeight(), 0, 0); return gdl; } Gfx *bgunRenderHudInteger(Gfx *gdl, s32 value, s32 x, bool halign, s32 y, s32 valign, u32 colour) { char buffer[12]; sprintf(buffer, "%d\n", value); gdl = bgunRenderHudString(gdl, buffer, x, halign, y, valign, colour); return gdl; } void bgunResetAbmag(struct abmag *abmag) { abmag->loadedammo = 0; abmag->change = 0; abmag->ref = 0; abmag->timer60 = 0; } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgun0f0a9da8 /* f0aa1f4: 28c10015 */ slti $at,$a2,0x15 /* f0aa1f8: 54200023 */ bnezl $at,.PF0f0aa288 /* f0aa1fc: 80880005 */ lb $t0,0x5($a0) /* f0aa200: 00e50019 */ multu $a3,$a1 /* f0aa204: 00007012 */ mflo $t6 /* f0aa208: 00000000 */ nop /* f0aa20c: 00000000 */ nop /* f0aa210: 01c6001a */ div $zero,$t6,$a2 /* f0aa214: 00001812 */ mflo $v1 /* f0aa218: 00601025 */ move $v0,$v1 /* f0aa21c: 14c00002 */ bnez $a2,.PF0f0aa228 /* f0aa220: 00000000 */ nop /* f0aa224: 0007000d */ break 0x7 .PF0f0aa228: /* f0aa228: 2401ffff */ li $at,-1 /* f0aa22c: 14c10004 */ bne $a2,$at,.PF0f0aa240 /* f0aa230: 3c018000 */ lui $at,0x8000 /* f0aa234: 15c10002 */ bne $t6,$at,.PF0f0aa240 /* f0aa238: 00000000 */ nop /* f0aa23c: 0006000d */ break 0x6 .PF0f0aa240: /* f0aa240: 58a00005 */ blezl $a1,.PF0f0aa258 /* f0aa244: 80830004 */ lb $v1,0x4($a0) /* f0aa248: 5c600003 */ bgtzl $v1,.PF0f0aa258 /* f0aa24c: 80830004 */ lb $v1,0x4($a0) /* f0aa250: 24020001 */ li $v0,0x1 /* f0aa254: 80830004 */ lb $v1,0x4($a0) .PF0f0aa258: /* f0aa258: 00e03025 */ move $a2,$a3 /* f0aa25c: 54430008 */ bnel $v0,$v1,.PF0f0aa280 /* f0aa260: a4850000 */ sh $a1,0x0($a0) /* f0aa264: 848f0000 */ lh $t7,0x0($a0) /* f0aa268: 24780001 */ addiu $t8,$v1,0x1 /* f0aa26c: 00af082a */ slt $at,$a1,$t7 /* f0aa270: 50200003 */ beqzl $at,.PF0f0aa280 /* f0aa274: a4850000 */ sh $a1,0x0($a0) /* f0aa278: a0980004 */ sb $t8,0x4($a0) /* f0aa27c: a4850000 */ sh $a1,0x0($a0) .PF0f0aa280: /* f0aa280: 00402825 */ move $a1,$v0 /* f0aa284: 80880005 */ lb $t0,0x5($a0) .PF0f0aa288: /* f0aa288: 80830004 */ lb $v1,0x4($a0) /* f0aa28c: 3c0e800a */ lui $t6,0x800a /* f0aa290: 05010003 */ bgez $t0,.PF0f0aa2a0 /* f0aa294: 00a31023 */ subu $v0,$a1,$v1 /* f0aa298: 5c400005 */ bgtzl $v0,.PF0f0aa2b0 /* f0aa29c: 0068c821 */ addu $t9,$v1,$t0 .PF0f0aa2a0: /* f0aa2a0: 19000009 */ blez $t0,.PF0f0aa2c8 /* f0aa2a4: 00000000 */ nop /* f0aa2a8: 04410007 */ bgez $v0,.PF0f0aa2c8 /* f0aa2ac: 0068c821 */ addu $t9,$v1,$t0 .PF0f0aa2b0: /* f0aa2b0: a0990004 */ sb $t9,0x4($a0) /* f0aa2b4: 80890004 */ lb $t1,0x4($a0) /* f0aa2b8: a0800005 */ sb $zero,0x5($a0) /* f0aa2bc: a4800002 */ sh $zero,0x2($a0) /* f0aa2c0: 80880005 */ lb $t0,0x5($a0) /* f0aa2c4: 00a91023 */ subu $v0,$a1,$t1 .PF0f0aa2c8: /* f0aa2c8: 0501000e */ bgez $t0,.PF0f0aa304 /* f0aa2cc: 0048082a */ slt $at,$v0,$t0 /* f0aa2d0: 1020000c */ beqz $at,.PF0f0aa304 /* f0aa2d4: 00081823 */ negu $v1,$t0 /* f0aa2d8: 00035080 */ sll $t2,$v1,0x2 /* f0aa2dc: 01435023 */ subu $t2,$t2,$v1 /* f0aa2e0: 000a5080 */ sll $t2,$t2,0x2 /* f0aa2e4: 848b0002 */ lh $t3,0x2($a0) /* f0aa2e8: 01435021 */ addu $t2,$t2,$v1 /* f0aa2ec: 000a5080 */ sll $t2,$t2,0x2 /* f0aa2f0: 01435021 */ addu $t2,$t2,$v1 /* f0aa2f4: 014b082a */ slt $at,$t2,$t3 /* f0aa2f8: 50200003 */ beqzl $at,.PF0f0aa308 /* f0aa2fc: a0820005 */ sb $v0,0x5($a0) /* f0aa300: a48a0002 */ sh $t2,0x2($a0) .PF0f0aa304: /* f0aa304: a0820005 */ sb $v0,0x5($a0) .PF0f0aa308: /* f0aa308: 80880005 */ lb $t0,0x5($a0) /* f0aa30c: 19000006 */ blez $t0,.PF0f0aa328 /* f0aa310: 2901fffd */ slti $at,$t0,-3 /* f0aa314: 28c10006 */ slti $at,$a2,0x6 /* f0aa318: 10200008 */ beqz $at,.PF0f0aa33c /* f0aa31c: 00c03825 */ move $a3,$a2 /* f0aa320: 10000006 */ b .PF0f0aa33c /* f0aa324: 24070006 */ li $a3,0x6 .PF0f0aa328: /* f0aa328: 10200004 */ beqz $at,.PF0f0aa33c /* f0aa32c: 24070008 */ li $a3,0x8 /* f0aa330: 00083823 */ negu $a3,$t0 /* f0aa334: 00076040 */ sll $t4,$a3,0x1 /* f0aa338: 25870008 */ addiu $a3,$t4,0x8 .PF0f0aa33c: /* f0aa33c: 51000035 */ beqzl $t0,.PF0f0aa414 /* f0aa340: a4800002 */ sh $zero,0x2($a0) /* f0aa344: 85cea54a */ lh $t6,-0x5ab6($t6) /* f0aa348: 848d0002 */ lh $t5,0x2($a0) /* f0aa34c: 01c70019 */ multu $t6,$a3 /* f0aa350: 00007812 */ mflo $t7 /* f0aa354: 01afc021 */ addu $t8,$t5,$t7 /* f0aa358: a4980002 */ sh $t8,0x2($a0) /* f0aa35c: 84820002 */ lh $v0,0x2($a0) /* f0aa360: 284100d5 */ slti $at,$v0,0xd5 /* f0aa364: 1420002b */ bnez $at,.PF0f0aa414 /* f0aa368: 00000000 */ nop /* f0aa36c: 80880005 */ lb $t0,0x5($a0) /* f0aa370: 284100d5 */ slti $at,$v0,0xd5 /* f0aa374: 19000014 */ blez $t0,.PF0f0aa3c8 /* f0aa378: 00000000 */ nop /* f0aa37c: 284100d5 */ slti $at,$v0,0xd5 /* f0aa380: 14200024 */ bnez $at,.PF0f0aa414 /* f0aa384: 00000000 */ nop /* f0aa388: 19000022 */ blez $t0,.PF0f0aa414 /* f0aa38c: 244bffcb */ addiu $t3,$v0,-53 .PF0f0aa390: /* f0aa390: a48b0002 */ sh $t3,0x2($a0) /* f0aa394: 80890004 */ lb $t1,0x4($a0) /* f0aa398: 84820002 */ lh $v0,0x2($a0) /* f0aa39c: 2519ffff */ addiu $t9,$t0,-1 /* f0aa3a0: 252a0001 */ addiu $t2,$t1,0x1 /* f0aa3a4: 284100d5 */ slti $at,$v0,0xd5 /* f0aa3a8: a0990005 */ sb $t9,0x5($a0) /* f0aa3ac: 14200019 */ bnez $at,.PF0f0aa414 /* f0aa3b0: a08a0004 */ sb $t2,0x4($a0) /* f0aa3b4: 80880005 */ lb $t0,0x5($a0) /* f0aa3b8: 5d00fff5 */ bgtzl $t0,.PF0f0aa390 /* f0aa3bc: 244bffcb */ addiu $t3,$v0,-53 /* f0aa3c0: 03e00008 */ jr $ra /* f0aa3c4: 00000000 */ nop .PF0f0aa3c8: /* f0aa3c8: 14200012 */ bnez $at,.PF0f0aa414 /* f0aa3cc: 00000000 */ nop /* f0aa3d0: 05010010 */ bgez $t0,.PF0f0aa414 /* f0aa3d4: 244fffcb */ addiu $t7,$v0,-53 .PF0f0aa3d8: /* f0aa3d8: a48f0002 */ sh $t7,0x2($a0) /* f0aa3dc: 808e0004 */ lb $t6,0x4($a0) /* f0aa3e0: 84820002 */ lh $v0,0x2($a0) /* f0aa3e4: 250c0001 */ addiu $t4,$t0,0x1 /* f0aa3e8: 25cdffff */ addiu $t5,$t6,-1 /* f0aa3ec: 284100d5 */ slti $at,$v0,0xd5 /* f0aa3f0: a08c0005 */ sb $t4,0x5($a0) /* f0aa3f4: 14200007 */ bnez $at,.PF0f0aa414 /* f0aa3f8: a08d0004 */ sb $t5,0x4($a0) /* f0aa3fc: 80880005 */ lb $t0,0x5($a0) /* f0aa400: 0502fff5 */ bltzl $t0,.PF0f0aa3d8 /* f0aa404: 244fffcb */ addiu $t7,$v0,-53 /* f0aa408: 03e00008 */ jr $ra /* f0aa40c: 00000000 */ nop /* f0aa410: a4800002 */ sh $zero,0x2($a0) .PF0f0aa414: /* f0aa414: 03e00008 */ jr $ra /* f0aa418: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgun0f0a9da8 /* f0a9da8: 28c10015 */ slti $at,$a2,0x15 /* f0a9dac: 54200023 */ bnezl $at,.L0f0a9e3c /* f0a9db0: 80880005 */ lb $t0,0x5($a0) /* f0a9db4: 00e50019 */ multu $a3,$a1 /* f0a9db8: 00007012 */ mflo $t6 /* f0a9dbc: 00000000 */ nop /* f0a9dc0: 00000000 */ nop /* f0a9dc4: 01c6001a */ div $zero,$t6,$a2 /* f0a9dc8: 00001812 */ mflo $v1 /* f0a9dcc: 00601025 */ or $v0,$v1,$zero /* f0a9dd0: 14c00002 */ bnez $a2,.L0f0a9ddc /* f0a9dd4: 00000000 */ nop /* f0a9dd8: 0007000d */ break 0x7 .L0f0a9ddc: /* f0a9ddc: 2401ffff */ addiu $at,$zero,-1 /* f0a9de0: 14c10004 */ bne $a2,$at,.L0f0a9df4 /* f0a9de4: 3c018000 */ lui $at,0x8000 /* f0a9de8: 15c10002 */ bne $t6,$at,.L0f0a9df4 /* f0a9dec: 00000000 */ nop /* f0a9df0: 0006000d */ break 0x6 .L0f0a9df4: /* f0a9df4: 58a00005 */ blezl $a1,.L0f0a9e0c /* f0a9df8: 80830004 */ lb $v1,0x4($a0) /* f0a9dfc: 5c600003 */ bgtzl $v1,.L0f0a9e0c /* f0a9e00: 80830004 */ lb $v1,0x4($a0) /* f0a9e04: 24020001 */ addiu $v0,$zero,0x1 /* f0a9e08: 80830004 */ lb $v1,0x4($a0) .L0f0a9e0c: /* f0a9e0c: 00e03025 */ or $a2,$a3,$zero /* f0a9e10: 54430008 */ bnel $v0,$v1,.L0f0a9e34 /* f0a9e14: a4850000 */ sh $a1,0x0($a0) /* f0a9e18: 848f0000 */ lh $t7,0x0($a0) /* f0a9e1c: 24780001 */ addiu $t8,$v1,0x1 /* f0a9e20: 00af082a */ slt $at,$a1,$t7 /* f0a9e24: 50200003 */ beqzl $at,.L0f0a9e34 /* f0a9e28: a4850000 */ sh $a1,0x0($a0) /* f0a9e2c: a0980004 */ sb $t8,0x4($a0) /* f0a9e30: a4850000 */ sh $a1,0x0($a0) .L0f0a9e34: /* f0a9e34: 00402825 */ or $a1,$v0,$zero /* f0a9e38: 80880005 */ lb $t0,0x5($a0) .L0f0a9e3c: /* f0a9e3c: 80830004 */ lb $v1,0x4($a0) /* f0a9e40: 3c0e800a */ lui $t6,%hi(g_Vars+0x3a) /* f0a9e44: 05010003 */ bgez $t0,.L0f0a9e54 /* f0a9e48: 00a31023 */ subu $v0,$a1,$v1 /* f0a9e4c: 5c400005 */ bgtzl $v0,.L0f0a9e64 /* f0a9e50: 0068c821 */ addu $t9,$v1,$t0 .L0f0a9e54: /* f0a9e54: 19000009 */ blez $t0,.L0f0a9e7c /* f0a9e58: 00000000 */ nop /* f0a9e5c: 04410007 */ bgez $v0,.L0f0a9e7c /* f0a9e60: 0068c821 */ addu $t9,$v1,$t0 .L0f0a9e64: /* f0a9e64: a0990004 */ sb $t9,0x4($a0) /* f0a9e68: 80890004 */ lb $t1,0x4($a0) /* f0a9e6c: a0800005 */ sb $zero,0x5($a0) /* f0a9e70: a4800002 */ sh $zero,0x2($a0) /* f0a9e74: 80880005 */ lb $t0,0x5($a0) /* f0a9e78: 00a91023 */ subu $v0,$a1,$t1 .L0f0a9e7c: /* f0a9e7c: 0501000a */ bgez $t0,.L0f0a9ea8 /* f0a9e80: 0048082a */ slt $at,$v0,$t0 /* f0a9e84: 50200009 */ beqzl $at,.L0f0a9eac /* f0a9e88: a0820005 */ sb $v0,0x5($a0) /* f0a9e8c: 848b0002 */ lh $t3,0x2($a0) /* f0a9e90: 00081823 */ negu $v1,$t0 /* f0a9e94: 00035180 */ sll $t2,$v1,0x6 /* f0a9e98: 014b082a */ slt $at,$t2,$t3 /* f0a9e9c: 50200003 */ beqzl $at,.L0f0a9eac /* f0a9ea0: a0820005 */ sb $v0,0x5($a0) /* f0a9ea4: a48a0002 */ sh $t2,0x2($a0) .L0f0a9ea8: /* f0a9ea8: a0820005 */ sb $v0,0x5($a0) .L0f0a9eac: /* f0a9eac: 80880005 */ lb $t0,0x5($a0) /* f0a9eb0: 19000006 */ blez $t0,.L0f0a9ecc /* f0a9eb4: 2901fffd */ slti $at,$t0,-3 /* f0a9eb8: 28c10006 */ slti $at,$a2,0x6 /* f0a9ebc: 10200008 */ beqz $at,.L0f0a9ee0 /* f0a9ec0: 00c03825 */ or $a3,$a2,$zero /* f0a9ec4: 10000006 */ b .L0f0a9ee0 /* f0a9ec8: 24070006 */ addiu $a3,$zero,0x6 .L0f0a9ecc: /* f0a9ecc: 10200004 */ beqz $at,.L0f0a9ee0 /* f0a9ed0: 24070008 */ addiu $a3,$zero,0x8 /* f0a9ed4: 00083823 */ negu $a3,$t0 /* f0a9ed8: 00076040 */ sll $t4,$a3,0x1 /* f0a9edc: 25870008 */ addiu $a3,$t4,0x8 .L0f0a9ee0: /* f0a9ee0: 51000035 */ beqzl $t0,.L0f0a9fb8 /* f0a9ee4: a4800002 */ sh $zero,0x2($a0) /* f0a9ee8: 85ce9ffa */ lh $t6,%lo(g_Vars+0x3a)($t6) /* f0a9eec: 848d0002 */ lh $t5,0x2($a0) /* f0a9ef0: 01c70019 */ multu $t6,$a3 /* f0a9ef4: 00007812 */ mflo $t7 /* f0a9ef8: 01afc021 */ addu $t8,$t5,$t7 /* f0a9efc: a4980002 */ sh $t8,0x2($a0) /* f0a9f00: 84820002 */ lh $v0,0x2($a0) /* f0a9f04: 28410100 */ slti $at,$v0,0x100 /* f0a9f08: 1420002b */ bnez $at,.L0f0a9fb8 /* f0a9f0c: 00000000 */ nop /* f0a9f10: 80880005 */ lb $t0,0x5($a0) /* f0a9f14: 28410100 */ slti $at,$v0,0x100 /* f0a9f18: 19000014 */ blez $t0,.L0f0a9f6c /* f0a9f1c: 00000000 */ nop /* f0a9f20: 28410100 */ slti $at,$v0,0x100 /* f0a9f24: 14200024 */ bnez $at,.L0f0a9fb8 /* f0a9f28: 00000000 */ nop /* f0a9f2c: 19000022 */ blez $t0,.L0f0a9fb8 /* f0a9f30: 244bffc0 */ addiu $t3,$v0,-64 .L0f0a9f34: /* f0a9f34: a48b0002 */ sh $t3,0x2($a0) /* f0a9f38: 80890004 */ lb $t1,0x4($a0) /* f0a9f3c: 84820002 */ lh $v0,0x2($a0) /* f0a9f40: 2519ffff */ addiu $t9,$t0,-1 /* f0a9f44: 252a0001 */ addiu $t2,$t1,0x1 /* f0a9f48: 28410100 */ slti $at,$v0,0x100 /* f0a9f4c: a0990005 */ sb $t9,0x5($a0) /* f0a9f50: 14200019 */ bnez $at,.L0f0a9fb8 /* f0a9f54: a08a0004 */ sb $t2,0x4($a0) /* f0a9f58: 80880005 */ lb $t0,0x5($a0) /* f0a9f5c: 5d00fff5 */ bgtzl $t0,.L0f0a9f34 /* f0a9f60: 244bffc0 */ addiu $t3,$v0,-64 /* f0a9f64: 03e00008 */ jr $ra /* f0a9f68: 00000000 */ nop .L0f0a9f6c: /* f0a9f6c: 14200012 */ bnez $at,.L0f0a9fb8 /* f0a9f70: 00000000 */ nop /* f0a9f74: 05010010 */ bgez $t0,.L0f0a9fb8 /* f0a9f78: 244fffc0 */ addiu $t7,$v0,-64 .L0f0a9f7c: /* f0a9f7c: a48f0002 */ sh $t7,0x2($a0) /* f0a9f80: 808e0004 */ lb $t6,0x4($a0) /* f0a9f84: 84820002 */ lh $v0,0x2($a0) /* f0a9f88: 250c0001 */ addiu $t4,$t0,0x1 /* f0a9f8c: 25cdffff */ addiu $t5,$t6,-1 /* f0a9f90: 28410100 */ slti $at,$v0,0x100 /* f0a9f94: a08c0005 */ sb $t4,0x5($a0) /* f0a9f98: 14200007 */ bnez $at,.L0f0a9fb8 /* f0a9f9c: a08d0004 */ sb $t5,0x4($a0) /* f0a9fa0: 80880005 */ lb $t0,0x5($a0) /* f0a9fa4: 0502fff5 */ bltzl $t0,.L0f0a9f7c /* f0a9fa8: 244fffc0 */ addiu $t7,$v0,-64 /* f0a9fac: 03e00008 */ jr $ra /* f0a9fb0: 00000000 */ nop /* f0a9fb4: a4800002 */ sh $zero,0x2($a0) .L0f0a9fb8: /* f0a9fb8: 03e00008 */ jr $ra /* f0a9fbc: 00000000 */ nop ); #endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgunRenderHudGauge /* f0aa41c: 27bdff28 */ addiu $sp,$sp,-216 /* f0aa420: afbe0038 */ sw $s8,0x38($sp) /* f0aa424: afa600e0 */ sw $a2,0xe0($sp) /* f0aa428: 8fbe00e8 */ lw $s8,0xe8($sp) /* f0aa42c: 8fae00e0 */ lw $t6,0xe0($sp) /* f0aa430: afb00018 */ sw $s0,0x18($sp) /* f0aa434: 8fb000f4 */ lw $s0,0xf4($sp) /* f0aa438: afb20020 */ sw $s2,0x20($sp) /* f0aa43c: afb1001c */ sw $s1,0x1c($sp) /* f0aa440: 00808825 */ move $s1,$a0 /* f0aa444: afbf003c */ sw $ra,0x3c($sp) /* f0aa448: afa500dc */ sw $a1,0xdc($sp) /* f0aa44c: afa700e4 */ sw $a3,0xe4($sp) /* f0aa450: 03ce9023 */ subu $s2,$s8,$t6 /* f0aa454: afb70034 */ sw $s7,0x34($sp) /* f0aa458: afb60030 */ sw $s6,0x30($sp) /* f0aa45c: afb5002c */ sw $s5,0x2c($sp) /* f0aa460: afb40028 */ sw $s4,0x28($sp) /* f0aa464: afb30024 */ sw $s3,0x24($sp) /* f0aa468: 02403825 */ move $a3,$s2 /* f0aa46c: 8fa500f0 */ lw $a1,0xf0($sp) /* f0aa470: 8fa400ec */ lw $a0,0xec($sp) /* f0aa474: afb000bc */ sw $s0,0xbc($sp) /* f0aa478: 0fc2a87d */ jal bgun0f0a9da8 /* f0aa47c: 02003025 */ move $a2,$s0 /* f0aa480: 2a010015 */ slti $at,$s0,0x15 /* f0aa484: 8fa800ec */ lw $t0,0xec($sp) /* f0aa488: 8faa00e0 */ lw $t2,0xe0($sp) /* f0aa48c: 8fab00e4 */ lw $t3,0xe4($sp) /* f0aa490: 14200008 */ bnez $at,.PF0f0aa4b4 /* f0aa494: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa498: 810f0004 */ lb $t7,0x4($t0) /* f0aa49c: 24160001 */ li $s6,0x1 /* f0aa4a0: afb200bc */ sw $s2,0xbc($sp) /* f0aa4a4: 448f2000 */ mtc1 $t7,$f4 /* f0aa4a8: 03d23023 */ subu $a2,$s8,$s2 /* f0aa4ac: 1000002b */ b .PF0f0aa55c /* f0aa4b0: 46802020 */ cvt.s.w $f0,$f4 .PF0f0aa4b4: /* f0aa4b4: 0250001a */ div $zero,$s2,$s0 /* f0aa4b8: 00001012 */ mflo $v0 /* f0aa4bc: 24470001 */ addiu $a3,$v0,0x1 /* f0aa4c0: 81180004 */ lb $t8,0x4($t0) /* f0aa4c4: 00500019 */ multu $v0,$s0 /* f0aa4c8: 0040b025 */ move $s6,$v0 /* f0aa4cc: 44983000 */ mtc1 $t8,$f6 /* f0aa4d0: 00000000 */ nop /* f0aa4d4: 46803020 */ cvt.s.w $f0,$f6 /* f0aa4d8: 16000002 */ bnez $s0,.PF0f0aa4e4 /* f0aa4dc: 00000000 */ nop /* f0aa4e0: 0007000d */ break 0x7 .PF0f0aa4e4: /* f0aa4e4: 2401ffff */ li $at,-1 /* f0aa4e8: 16010004 */ bne $s0,$at,.PF0f0aa4fc /* f0aa4ec: 3c018000 */ lui $at,0x8000 /* f0aa4f0: 16410002 */ bne $s2,$at,.PF0f0aa4fc /* f0aa4f4: 00000000 */ nop /* f0aa4f8: 0006000d */ break 0x6 .PF0f0aa4fc: /* f0aa4fc: 0000c812 */ mflo $t9 /* f0aa500: 03322023 */ subu $a0,$t9,$s2 /* f0aa504: 00802825 */ move $a1,$a0 /* f0aa508: 00f00019 */ multu $a3,$s0 /* f0aa50c: 00006812 */ mflo $t5 /* f0aa510: 01b21823 */ subu $v1,$t5,$s2 /* f0aa514: 04810002 */ bgez $a0,.PF0f0aa520 /* f0aa518: 00603025 */ move $a2,$v1 /* f0aa51c: 00042823 */ negu $a1,$a0 .PF0f0aa520: /* f0aa520: 04630003 */ bgezl $v1,.PF0f0aa530 /* f0aa524: 00c5082a */ slt $at,$a2,$a1 /* f0aa528: 00033023 */ negu $a2,$v1 /* f0aa52c: 00c5082a */ slt $at,$a2,$a1 .PF0f0aa530: /* f0aa530: 10200002 */ beqz $at,.PF0f0aa53c /* f0aa534: 00000000 */ nop /* f0aa538: 00e0b025 */ move $s6,$a3 .PF0f0aa53c: /* f0aa53c: 02d00019 */ multu $s6,$s0 /* f0aa540: 2ac10003 */ slti $at,$s6,0x3 /* f0aa544: 00007012 */ mflo $t6 /* f0aa548: 03ce1023 */ subu $v0,$s8,$t6 /* f0aa54c: 24420001 */ addiu $v0,$v0,0x1 /* f0aa550: 10200002 */ beqz $at,.PF0f0aa55c /* f0aa554: 00403025 */ move $a2,$v0 /* f0aa558: 2446ffff */ addiu $a2,$v0,-1 .PF0f0aa55c: /* f0aa55c: 16c0008a */ bnez $s6,.PF0f0aa788 /* f0aa560: 02202025 */ move $a0,$s1 /* f0aa564: 03c68023 */ subu $s0,$s8,$a2 /* f0aa568: 44904000 */ mtc1 $s0,$f8 /* f0aa56c: 8faf00bc */ lw $t7,0xbc($sp) /* f0aa570: 02202025 */ move $a0,$s1 /* f0aa574: 468042a0 */ cvt.s.w $f10,$f8 /* f0aa578: 448f9000 */ mtc1 $t7,$f18 /* f0aa57c: 449e4000 */ mtc1 $s8,$f8 /* f0aa580: 8fa500f8 */ lw $a1,0xf8($sp) /* f0aa584: 46809120 */ cvt.s.w $f4,$f18 /* f0aa588: 46005402 */ mul.s $f16,$f10,$f0 /* f0aa58c: 468042a0 */ cvt.s.w $f10,$f8 /* f0aa590: 46048183 */ div.s $f6,$f16,$f4 /* f0aa594: 46065481 */ sub.s $f18,$f10,$f6 /* f0aa598: 4600940d */ trunc.w.s $f16,$f18 /* f0aa59c: 44128000 */ mfc1 $s2,$f16 /* f0aa5a0: 00000000 */ nop /* f0aa5a4: 00d2082a */ slt $at,$a2,$s2 /* f0aa5a8: 1020003e */ beqz $at,.PF0f0aa6a4 /* f0aa5ac: 00000000 */ nop /* f0aa5b0: 0fc5513c */ jal gfxSetPrimColour /* f0aa5b4: afa600c4 */ sw $a2,0xc4($sp) /* f0aa5b8: 8fb90100 */ lw $t9,0x100($sp) /* f0aa5bc: 8fa600c4 */ lw $a2,0xc4($sp) /* f0aa5c0: 8faa00e0 */ lw $t2,0xe0($sp) /* f0aa5c4: 8fab00e4 */ lw $t3,0xe4($sp) /* f0aa5c8: 1320001c */ beqz $t9,.PF0f0aa63c /* f0aa5cc: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa5d0: 3c138008 */ lui $s3,0x8008 /* f0aa5d4: 26730020 */ addiu $s3,$s3,0x20 /* f0aa5d8: 8e6d0000 */ lw $t5,0x0($s3) /* f0aa5dc: 3c09f600 */ lui $t1,0xf600 /* f0aa5e0: 24510008 */ addiu $s1,$v0,0x8 /* f0aa5e4: 016d0019 */ multu $t3,$t5 /* f0aa5e8: 020a6821 */ addu $t5,$s0,$t2 /* f0aa5ec: 00007012 */ mflo $t6 /* f0aa5f0: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aa5f4: 000fc380 */ sll $t8,$t7,0xe /* f0aa5f8: 31ae03ff */ andi $t6,$t5,0x3ff /* f0aa5fc: 000e7880 */ sll $t7,$t6,0x2 /* f0aa600: 0309c825 */ or $t9,$t8,$t1 /* f0aa604: 032fc025 */ or $t8,$t9,$t7 /* f0aa608: ac580000 */ sw $t8,0x0($v0) /* f0aa60c: 8e6d0000 */ lw $t5,0x0($s3) /* f0aa610: 03d2c023 */ subu $t8,$s8,$s2 /* f0aa614: 018d0019 */ multu $t4,$t5 /* f0aa618: 030a6821 */ addu $t5,$t8,$t2 /* f0aa61c: 00007012 */ mflo $t6 /* f0aa620: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa624: 00197b80 */ sll $t7,$t9,0xe /* f0aa628: 31ae03ff */ andi $t6,$t5,0x3ff /* f0aa62c: 000ec880 */ sll $t9,$t6,0x2 /* f0aa630: 01f9c025 */ or $t8,$t7,$t9 /* f0aa634: 10000018 */ b .PF0f0aa698 /* f0aa638: ac580004 */ sw $t8,0x4($v0) .PF0f0aa63c: /* f0aa63c: 3c138008 */ lui $s3,0x8008 /* f0aa640: 26730020 */ addiu $s3,$s3,0x20 /* f0aa644: 8e6d0000 */ lw $t5,0x0($s3) /* f0aa648: 3c09f600 */ lui $t1,0xf600 /* f0aa64c: 24510008 */ addiu $s1,$v0,0x8 /* f0aa650: 016d0019 */ multu $t3,$t5 /* f0aa654: 324d03ff */ andi $t5,$s2,0x3ff /* f0aa658: 00007012 */ mflo $t6 /* f0aa65c: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aa660: 000fcb80 */ sll $t9,$t7,0xe /* f0aa664: 0329c025 */ or $t8,$t9,$t1 /* f0aa668: 000d7080 */ sll $t6,$t5,0x2 /* f0aa66c: 030e7825 */ or $t7,$t8,$t6 /* f0aa670: ac4f0000 */ sw $t7,0x0($v0) /* f0aa674: 8e790000 */ lw $t9,0x0($s3) /* f0aa678: 30cf03ff */ andi $t7,$a2,0x3ff /* f0aa67c: 01990019 */ multu $t4,$t9 /* f0aa680: 000fc880 */ sll $t9,$t7,0x2 /* f0aa684: 00006812 */ mflo $t5 /* f0aa688: 31b803ff */ andi $t8,$t5,0x3ff /* f0aa68c: 00187380 */ sll $t6,$t8,0xe /* f0aa690: 01d96825 */ or $t5,$t6,$t9 /* f0aa694: ac4d0004 */ sw $t5,0x4($v0) .PF0f0aa698: /* f0aa698: 0fc55153 */ jal func0f153838 /* f0aa69c: 02202025 */ move $a0,$s1 /* f0aa6a0: 00408825 */ move $s1,$v0 .PF0f0aa6a4: /* f0aa6a4: 3c138008 */ lui $s3,0x8008 /* f0aa6a8: 26730020 */ addiu $s3,$s3,0x20 /* f0aa6ac: 02202025 */ move $a0,$s1 /* f0aa6b0: 0fc5513c */ jal gfxSetPrimColour /* f0aa6b4: 8fa500fc */ lw $a1,0xfc($sp) /* f0aa6b8: 8fb80100 */ lw $t8,0x100($sp) /* f0aa6bc: 3c09f600 */ lui $t1,0xf600 /* f0aa6c0: 8faa00e0 */ lw $t2,0xe0($sp) /* f0aa6c4: 8fab00e4 */ lw $t3,0xe4($sp) /* f0aa6c8: 1300001a */ beqz $t8,.PF0f0aa734 /* f0aa6cc: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa6d0: 8e6f0000 */ lw $t7,0x0($s3) /* f0aa6d4: 24510008 */ addiu $s1,$v0,0x8 /* f0aa6d8: 016f0019 */ multu $t3,$t7 /* f0aa6dc: 03d27823 */ subu $t7,$s8,$s2 /* f0aa6e0: 00007012 */ mflo $t6 /* f0aa6e4: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa6e8: 00196b80 */ sll $t5,$t9,0xe /* f0aa6ec: 01ea7021 */ addu $t6,$t7,$t2 /* f0aa6f0: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa6f4: 01a9c025 */ or $t8,$t5,$t1 /* f0aa6f8: 00196880 */ sll $t5,$t9,0x2 /* f0aa6fc: 030d7825 */ or $t7,$t8,$t5 /* f0aa700: ac4f0000 */ sw $t7,0x0($v0) /* f0aa704: 8e6e0000 */ lw $t6,0x0($s3) /* f0aa708: 03de7823 */ subu $t7,$s8,$s8 /* f0aa70c: 018e0019 */ multu $t4,$t6 /* f0aa710: 01ea7021 */ addu $t6,$t7,$t2 /* f0aa714: 0000c812 */ mflo $t9 /* f0aa718: 333803ff */ andi $t8,$t9,0x3ff /* f0aa71c: 00186b80 */ sll $t5,$t8,0xe /* f0aa720: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa724: 0019c080 */ sll $t8,$t9,0x2 /* f0aa728: 01b87825 */ or $t7,$t5,$t8 /* f0aa72c: 1000016c */ b .PF0f0aace0 /* f0aa730: ac4f0004 */ sw $t7,0x4($v0) .PF0f0aa734: /* f0aa734: 8e6e0000 */ lw $t6,0x0($s3) /* f0aa738: 24510008 */ addiu $s1,$v0,0x8 /* f0aa73c: 016e0019 */ multu $t3,$t6 /* f0aa740: 33ce03ff */ andi $t6,$s8,0x3ff /* f0aa744: 0000c812 */ mflo $t9 /* f0aa748: 332d03ff */ andi $t5,$t9,0x3ff /* f0aa74c: 000dc380 */ sll $t8,$t5,0xe /* f0aa750: 03097825 */ or $t7,$t8,$t1 /* f0aa754: 000ec880 */ sll $t9,$t6,0x2 /* f0aa758: 01f96825 */ or $t5,$t7,$t9 /* f0aa75c: ac4d0000 */ sw $t5,0x0($v0) /* f0aa760: 8e780000 */ lw $t8,0x0($s3) /* f0aa764: 324d03ff */ andi $t5,$s2,0x3ff /* f0aa768: 01980019 */ multu $t4,$t8 /* f0aa76c: 000dc080 */ sll $t8,$t5,0x2 /* f0aa770: 00007012 */ mflo $t6 /* f0aa774: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aa778: 000fcb80 */ sll $t9,$t7,0xe /* f0aa77c: 03387025 */ or $t6,$t9,$t8 /* f0aa780: 10000157 */ b .PF0f0aace0 /* f0aa784: ac4e0004 */ sw $t6,0x4($v0) .PF0f0aa788: /* f0aa788: 8fa500f8 */ lw $a1,0xf8($sp) /* f0aa78c: afa600c4 */ sw $a2,0xc4($sp) /* f0aa790: 0fc5513c */ jal gfxSetPrimColour /* f0aa794: e7a000c0 */ swc1 $f0,0xc0($sp) /* f0aa798: 8faf00bc */ lw $t7,0xbc($sp) /* f0aa79c: 8fa600c4 */ lw $a2,0xc4($sp) /* f0aa7a0: 8fa800ec */ lw $t0,0xec($sp) /* f0aa7a4: 8faa00e0 */ lw $t2,0xe0($sp) /* f0aa7a8: 8fab00e4 */ lw $t3,0xe4($sp) /* f0aa7ac: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa7b0: c7a000c0 */ lwc1 $f0,0xc0($sp) /* f0aa7b4: 00408825 */ move $s1,$v0 /* f0aa7b8: 2412ffff */ li $s2,-1 /* f0aa7bc: 00008025 */ move $s0,$zero /* f0aa7c0: 19e00110 */ blez $t7,.PF0f0aac04 /* f0aa7c4: 00c0a825 */ move $s5,$a2 /* f0aa7c8: 4600010d */ trunc.w.s $f4,$f0 /* f0aa7cc: 00c0b825 */ move $s7,$a2 /* f0aa7d0: 00d63821 */ addu $a3,$a2,$s6 /* f0aa7d4: 27d9ffff */ addiu $t9,$s8,-1 /* f0aa7d8: 44022000 */ mfc1 $v0,$f4 /* f0aa7dc: 3c138008 */ lui $s3,0x8008 /* f0aa7e0: 26730020 */ addiu $s3,$s3,0x20 /* f0aa7e4: afb90044 */ sw $t9,0x44($sp) /* f0aa7e8: 8fa6009c */ lw $a2,0x9c($sp) /* f0aa7ec: 3c09f600 */ lui $t1,0xf600 /* f0aa7f0: 01e2a023 */ subu $s4,$t7,$v0 /* f0aa7f4: afa20058 */ sw $v0,0x58($sp) .PF0f0aa7f8: /* f0aa7f8: 81040005 */ lb $a0,0x5($t0) /* f0aa7fc: 00002825 */ move $a1,$zero /* f0aa800: 18800044 */ blez $a0,.PF0f0aa914 /* f0aa804: 0284c023 */ subu $t8,$s4,$a0 /* f0aa808: 0218082a */ slt $at,$s0,$t8 /* f0aa80c: 1420006d */ bnez $at,.PF0f0aa9c4 /* f0aa810: 0214082a */ slt $at,$s0,$s4 /* f0aa814: 1020006b */ beqz $at,.PF0f0aa9c4 /* f0aa818: 02906823 */ subu $t5,$s4,$s0 /* f0aa81c: 000d7880 */ sll $t7,$t5,0x2 /* f0aa820: 01ed7823 */ subu $t7,$t7,$t5 /* f0aa824: 000f7880 */ sll $t7,$t7,0x2 /* f0aa828: 850e0002 */ lh $t6,0x2($t0) /* f0aa82c: 01ed7821 */ addu $t7,$t7,$t5 /* f0aa830: 000f7880 */ sll $t7,$t7,0x2 /* f0aa834: 01ed7821 */ addu $t7,$t7,$t5 /* f0aa838: 01cf1823 */ subu $v1,$t6,$t7 /* f0aa83c: 24630035 */ addiu $v1,$v1,0x35 /* f0aa840: 04600060 */ bltz $v1,.PF0f0aa9c4 /* f0aa844: 28610035 */ slti $at,$v1,0x35 /* f0aa848: 1420001b */ bnez $at,.PF0f0aa8b8 /* f0aa84c: 00031080 */ sll $v0,$v1,0x2 /* f0aa850: 00031080 */ sll $v0,$v1,0x2 /* f0aa854: 2442ff30 */ addiu $v0,$v0,-208 /* f0aa858: 24010003 */ li $at,0x3 /* f0aa85c: 0041001a */ div $zero,$v0,$at /* f0aa860: 0000c812 */ mflo $t9 /* f0aa864: 0019c100 */ sll $t8,$t9,0x4 /* f0aa868: 0319c023 */ subu $t8,$t8,$t9 /* f0aa86c: 0018c080 */ sll $t8,$t8,0x2 /* f0aa870: 24010032 */ li $at,0x32 /* f0aa874: 0301001b */ divu $zero,$t8,$at /* f0aa878: 00003012 */ mflo $a2 /* f0aa87c: 2cc10100 */ sltiu $at,$a2,0x100 /* f0aa880: 14200002 */ bnez $at,.PF0f0aa88c /* f0aa884: 8fa400fc */ lw $a0,0xfc($sp) /* f0aa888: 240600ff */ li $a2,0xff .PF0f0aa88c: /* f0aa88c: 2405ffbf */ li $a1,-65 /* f0aa890: 0fc01a3c */ jal colourBlend /* f0aa894: afa70048 */ sw $a3,0x48($sp) /* f0aa898: 8fa70048 */ lw $a3,0x48($sp) /* f0aa89c: 8fa800ec */ lw $t0,0xec($sp) /* f0aa8a0: 3c09f600 */ lui $t1,0xf600 /* f0aa8a4: 8faa00e0 */ lw $t2,0xe0($sp) /* f0aa8a8: 8fab00e4 */ lw $t3,0xe4($sp) /* f0aa8ac: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa8b0: 10000015 */ b .PF0f0aa908 /* f0aa8b4: 00403025 */ move $a2,$v0 .PF0f0aa8b8: /* f0aa8b8: 00027100 */ sll $t6,$v0,0x4 /* f0aa8bc: 01c27023 */ subu $t6,$t6,$v0 /* f0aa8c0: 000e7080 */ sll $t6,$t6,0x2 /* f0aa8c4: 24010032 */ li $at,0x32 /* f0aa8c8: 01c1001b */ divu $zero,$t6,$at /* f0aa8cc: 00003012 */ mflo $a2 /* f0aa8d0: 2cc10100 */ sltiu $at,$a2,0x100 /* f0aa8d4: 14200002 */ bnez $at,.PF0f0aa8e0 /* f0aa8d8: 2404ffbf */ li $a0,-65 /* f0aa8dc: 240600ff */ li $a2,0xff .PF0f0aa8e0: /* f0aa8e0: 8fa500f8 */ lw $a1,0xf8($sp) /* f0aa8e4: 0fc01a3c */ jal colourBlend /* f0aa8e8: afa70048 */ sw $a3,0x48($sp) /* f0aa8ec: 8fa70048 */ lw $a3,0x48($sp) /* f0aa8f0: 8fa800ec */ lw $t0,0xec($sp) /* f0aa8f4: 3c09f600 */ lui $t1,0xf600 /* f0aa8f8: 8faa00e0 */ lw $t2,0xe0($sp) /* f0aa8fc: 8fab00e4 */ lw $t3,0xe4($sp) /* f0aa900: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa904: 00403025 */ move $a2,$v0 .PF0f0aa908: /* f0aa908: 24050001 */ li $a1,0x1 /* f0aa90c: 1000002d */ b .PF0f0aa9c4 /* f0aa910: 81040005 */ lb $a0,0x5($t0) .PF0f0aa914: /* f0aa914: 0481002b */ bgez $a0,.PF0f0aa9c4 /* f0aa918: 0284c823 */ subu $t9,$s4,$a0 /* f0aa91c: 0219082a */ slt $at,$s0,$t9 /* f0aa920: 10200028 */ beqz $at,.PF0f0aa9c4 /* f0aa924: 0214082a */ slt $at,$s0,$s4 /* f0aa928: 14200026 */ bnez $at,.PF0f0aa9c4 /* f0aa92c: 8fb800bc */ lw $t8,0xbc($sp) /* f0aa930: 8fae0058 */ lw $t6,0x58($sp) /* f0aa934: 02186823 */ subu $t5,$s0,$t8 /* f0aa938: 85180002 */ lh $t8,0x2($t0) /* f0aa93c: 01ae7821 */ addu $t7,$t5,$t6 /* f0aa940: 000fc880 */ sll $t9,$t7,0x2 /* f0aa944: 032fc823 */ subu $t9,$t9,$t7 /* f0aa948: 0019c880 */ sll $t9,$t9,0x2 /* f0aa94c: 032fc821 */ addu $t9,$t9,$t7 /* f0aa950: 0019c880 */ sll $t9,$t9,0x2 /* f0aa954: 032fc821 */ addu $t9,$t9,$t7 /* f0aa958: 03191023 */ subu $v0,$t8,$t9 /* f0aa95c: 04400019 */ bltz $v0,.PF0f0aa9c4 /* f0aa960: 24010032 */ li $at,0x32 /* f0aa964: 00023100 */ sll $a2,$v0,0x4 /* f0aa968: 00c23023 */ subu $a2,$a2,$v0 /* f0aa96c: 00063080 */ sll $a2,$a2,0x2 /* f0aa970: 00c1001a */ div $zero,$a2,$at /* f0aa974: 00003012 */ mflo $a2 /* f0aa978: 2cc10100 */ sltiu $at,$a2,0x100 /* f0aa97c: 14200003 */ bnez $at,.PF0f0aa98c /* f0aa980: 8fa500fc */ lw $a1,0xfc($sp) /* f0aa984: 1000000e */ b .PF0f0aa9c0 /* f0aa988: 8fa600f8 */ lw $a2,0xf8($sp) .PF0f0aa98c: /* f0aa98c: 34ae00ff */ ori $t6,$a1,0xff /* f0aa990: 01c02825 */ move $a1,$t6 /* f0aa994: 8fa400f8 */ lw $a0,0xf8($sp) /* f0aa998: 0fc01a3c */ jal colourBlend /* f0aa99c: afa70048 */ sw $a3,0x48($sp) /* f0aa9a0: 8fa800ec */ lw $t0,0xec($sp) /* f0aa9a4: 8fa70048 */ lw $a3,0x48($sp) /* f0aa9a8: 3c09f600 */ lui $t1,0xf600 /* f0aa9ac: 8faa00e0 */ lw $t2,0xe0($sp) /* f0aa9b0: 8fab00e4 */ lw $t3,0xe4($sp) /* f0aa9b4: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa9b8: 00403025 */ move $a2,$v0 /* f0aa9bc: 81040005 */ lb $a0,0x5($t0) .PF0f0aa9c0: /* f0aa9c0: 24050001 */ li $a1,0x1 .PF0f0aa9c4: /* f0aa9c4: 04810007 */ bgez $a0,.PF0f0aa9e4 /* f0aa9c8: 2ac10003 */ slti $at,$s6,0x3 /* f0aa9cc: 02847823 */ subu $t7,$s4,$a0 /* f0aa9d0: 160f0008 */ bne $s0,$t7,.PF0f0aa9f4 /* f0aa9d4: 00000000 */ nop /* f0aa9d8: 8fa600fc */ lw $a2,0xfc($sp) /* f0aa9dc: 10000005 */ b .PF0f0aa9f4 /* f0aa9e0: 24050001 */ li $a1,0x1 .PF0f0aa9e4: /* f0aa9e4: 16140003 */ bne $s0,$s4,.PF0f0aa9f4 /* f0aa9e8: 00000000 */ nop /* f0aa9ec: 8fa600fc */ lw $a2,0xfc($sp) /* f0aa9f0: 24050001 */ li $a1,0x1 .PF0f0aa9f4: /* f0aa9f4: 5020003a */ beqzl $at,.PF0f0aaae0 /* f0aa9f8: 02e0a825 */ move $s5,$s7 /* f0aa9fc: 10a00035 */ beqz $a1,.PF0f0aaad4 /* f0aaa00: 00000000 */ nop /* f0aaa04: 06400032 */ bltz $s2,.PF0f0aaad0 /* f0aaa08: 8fb80100 */ lw $t8,0x100($sp) /* f0aaa0c: 5300001c */ beqzl $t8,.PF0f0aaa80 /* f0aaa10: 8e6d0000 */ lw $t5,0x0($s3) /* f0aaa14: 8e790000 */ lw $t9,0x0($s3) /* f0aaa18: 02201025 */ move $v0,$s1 /* f0aaa1c: 26310008 */ addiu $s1,$s1,0x8 /* f0aaa20: 01790019 */ multu $t3,$t9 /* f0aaa24: 03d5c823 */ subu $t9,$s8,$s5 /* f0aaa28: 00006812 */ mflo $t5 /* f0aaa2c: 31ae03ff */ andi $t6,$t5,0x3ff /* f0aaa30: 000e7b80 */ sll $t7,$t6,0xe /* f0aaa34: 032a6821 */ addu $t5,$t9,$t2 /* f0aaa38: 31ae03ff */ andi $t6,$t5,0x3ff /* f0aaa3c: 01e9c025 */ or $t8,$t7,$t1 /* f0aaa40: 000e7880 */ sll $t7,$t6,0x2 /* f0aaa44: 030fc825 */ or $t9,$t8,$t7 /* f0aaa48: ac590000 */ sw $t9,0x0($v0) /* f0aaa4c: 8e6d0000 */ lw $t5,0x0($s3) /* f0aaa50: 03d2c823 */ subu $t9,$s8,$s2 /* f0aaa54: 018d0019 */ multu $t4,$t5 /* f0aaa58: 032a6821 */ addu $t5,$t9,$t2 /* f0aaa5c: 00007012 */ mflo $t6 /* f0aaa60: 31d803ff */ andi $t8,$t6,0x3ff /* f0aaa64: 00187b80 */ sll $t7,$t8,0xe /* f0aaa68: 31ae03ff */ andi $t6,$t5,0x3ff /* f0aaa6c: 000ec080 */ sll $t8,$t6,0x2 /* f0aaa70: 01f8c825 */ or $t9,$t7,$t8 /* f0aaa74: 10000016 */ b .PF0f0aaad0 /* f0aaa78: ac590004 */ sw $t9,0x4($v0) /* f0aaa7c: 8e6d0000 */ lw $t5,0x0($s3) .PF0f0aaa80: /* f0aaa80: 02201025 */ move $v0,$s1 /* f0aaa84: 26310008 */ addiu $s1,$s1,0x8 /* f0aaa88: 016d0019 */ multu $t3,$t5 /* f0aaa8c: 324d03ff */ andi $t5,$s2,0x3ff /* f0aaa90: 00007012 */ mflo $t6 /* f0aaa94: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aaa98: 000fc380 */ sll $t8,$t7,0xe /* f0aaa9c: 0309c825 */ or $t9,$t8,$t1 /* f0aaaa0: 000d7080 */ sll $t6,$t5,0x2 /* f0aaaa4: 032e7825 */ or $t7,$t9,$t6 /* f0aaaa8: ac4f0000 */ sw $t7,0x0($v0) /* f0aaaac: 8e780000 */ lw $t8,0x0($s3) /* f0aaab0: 32af03ff */ andi $t7,$s5,0x3ff /* f0aaab4: 01980019 */ multu $t4,$t8 /* f0aaab8: 000fc080 */ sll $t8,$t7,0x2 /* f0aaabc: 00006812 */ mflo $t5 /* f0aaac0: 31b903ff */ andi $t9,$t5,0x3ff /* f0aaac4: 00197380 */ sll $t6,$t9,0xe /* f0aaac8: 01d86825 */ or $t5,$t6,$t8 /* f0aaacc: ac4d0004 */ sw $t5,0x4($v0) .PF0f0aaad0: /* f0aaad0: 02e0a825 */ move $s5,$s7 .PF0f0aaad4: /* f0aaad4: 10000003 */ b .PF0f0aaae4 /* f0aaad8: 00e09025 */ move $s2,$a3 /* f0aaadc: 02e0a825 */ move $s5,$s7 .PF0f0aaae0: /* f0aaae0: 24f2ffff */ addiu $s2,$a3,-1 .PF0f0aaae4: /* f0aaae4: 10a00005 */ beqz $a1,.PF0f0aaafc /* f0aaae8: 02201025 */ move $v0,$s1 /* f0aaaec: 3c19fa00 */ lui $t9,0xfa00 /* f0aaaf0: ac590000 */ sw $t9,0x0($v0) /* f0aaaf4: 26310008 */ addiu $s1,$s1,0x8 /* f0aaaf8: ac460004 */ sw $a2,0x4($v0) .PF0f0aaafc: /* f0aaafc: 8faf0044 */ lw $t7,0x44($sp) /* f0aab00: 8fae0100 */ lw $t6,0x100($sp) /* f0aab04: 024f082a */ slt $at,$s2,$t7 /* f0aab08: 14200004 */ bnez $at,.PF0f0aab1c /* f0aab0c: 2ac10002 */ slti $at,$s6,0x2 /* f0aab10: 54200003 */ bnezl $at,.PF0f0aab20 /* f0aab14: 2ac10003 */ slti $at,$s6,0x3 /* f0aab18: 03c09025 */ move $s2,$s8 .PF0f0aab1c: /* f0aab1c: 2ac10003 */ slti $at,$s6,0x3 .PF0f0aab20: /* f0aab20: 54200033 */ bnezl $at,.PF0f0aabf0 /* f0aab24: 8fb800bc */ lw $t8,0xbc($sp) /* f0aab28: 51c0001c */ beqzl $t6,.PF0f0aab9c /* f0aab2c: 8e6d0000 */ lw $t5,0x0($s3) /* f0aab30: 8e780000 */ lw $t8,0x0($s3) /* f0aab34: 02201025 */ move $v0,$s1 /* f0aab38: 26310008 */ addiu $s1,$s1,0x8 /* f0aab3c: 01780019 */ multu $t3,$t8 /* f0aab40: 03d5c023 */ subu $t8,$s8,$s5 /* f0aab44: 00006812 */ mflo $t5 /* f0aab48: 31b903ff */ andi $t9,$t5,0x3ff /* f0aab4c: 00197b80 */ sll $t7,$t9,0xe /* f0aab50: 030a6821 */ addu $t5,$t8,$t2 /* f0aab54: 31b903ff */ andi $t9,$t5,0x3ff /* f0aab58: 01e97025 */ or $t6,$t7,$t1 /* f0aab5c: 00197880 */ sll $t7,$t9,0x2 /* f0aab60: 01cfc025 */ or $t8,$t6,$t7 /* f0aab64: ac580000 */ sw $t8,0x0($v0) /* f0aab68: 8e6d0000 */ lw $t5,0x0($s3) /* f0aab6c: 03d2c023 */ subu $t8,$s8,$s2 /* f0aab70: 018d0019 */ multu $t4,$t5 /* f0aab74: 030a6821 */ addu $t5,$t8,$t2 /* f0aab78: 0000c812 */ mflo $t9 /* f0aab7c: 332e03ff */ andi $t6,$t9,0x3ff /* f0aab80: 000e7b80 */ sll $t7,$t6,0xe /* f0aab84: 31b903ff */ andi $t9,$t5,0x3ff /* f0aab88: 00197080 */ sll $t6,$t9,0x2 /* f0aab8c: 01eec025 */ or $t8,$t7,$t6 /* f0aab90: 10000016 */ b .PF0f0aabec /* f0aab94: ac580004 */ sw $t8,0x4($v0) /* f0aab98: 8e6d0000 */ lw $t5,0x0($s3) .PF0f0aab9c: /* f0aab9c: 02201025 */ move $v0,$s1 /* f0aaba0: 26310008 */ addiu $s1,$s1,0x8 /* f0aaba4: 016d0019 */ multu $t3,$t5 /* f0aaba8: 324d03ff */ andi $t5,$s2,0x3ff /* f0aabac: 0000c812 */ mflo $t9 /* f0aabb0: 332f03ff */ andi $t7,$t9,0x3ff /* f0aabb4: 000f7380 */ sll $t6,$t7,0xe /* f0aabb8: 01c9c025 */ or $t8,$t6,$t1 /* f0aabbc: 000dc880 */ sll $t9,$t5,0x2 /* f0aabc0: 03197825 */ or $t7,$t8,$t9 /* f0aabc4: ac4f0000 */ sw $t7,0x0($v0) /* f0aabc8: 8e6e0000 */ lw $t6,0x0($s3) /* f0aabcc: 32af03ff */ andi $t7,$s5,0x3ff /* f0aabd0: 018e0019 */ multu $t4,$t6 /* f0aabd4: 000f7080 */ sll $t6,$t7,0x2 /* f0aabd8: 00006812 */ mflo $t5 /* f0aabdc: 31b803ff */ andi $t8,$t5,0x3ff /* f0aabe0: 0018cb80 */ sll $t9,$t8,0xe /* f0aabe4: 032e6825 */ or $t5,$t9,$t6 /* f0aabe8: ac4d0004 */ sw $t5,0x4($v0) .PF0f0aabec: /* f0aabec: 8fb800bc */ lw $t8,0xbc($sp) .PF0f0aabf0: /* f0aabf0: 26100001 */ addiu $s0,$s0,0x1 /* f0aabf4: 02f6b821 */ addu $s7,$s7,$s6 /* f0aabf8: 1618feff */ bne $s0,$t8,.PF0f0aa7f8 /* f0aabfc: 00f63821 */ addu $a3,$a3,$s6 /* f0aac00: afa6009c */ sw $a2,0x9c($sp) .PF0f0aac04: /* f0aac04: 3c138008 */ lui $s3,0x8008 /* f0aac08: 2ac10003 */ slti $at,$s6,0x3 /* f0aac0c: 26730020 */ addiu $s3,$s3,0x20 /* f0aac10: 10200033 */ beqz $at,.PF0f0aace0 /* f0aac14: 3c09f600 */ lui $t1,0xf600 /* f0aac18: 8faf0100 */ lw $t7,0x100($sp) /* f0aac1c: 51e0001c */ beqzl $t7,.PF0f0aac90 /* f0aac20: 8e6e0000 */ lw $t6,0x0($s3) /* f0aac24: 8e790000 */ lw $t9,0x0($s3) /* f0aac28: 02201025 */ move $v0,$s1 /* f0aac2c: 26310008 */ addiu $s1,$s1,0x8 /* f0aac30: 01790019 */ multu $t3,$t9 /* f0aac34: 03d5c823 */ subu $t9,$s8,$s5 /* f0aac38: 00007012 */ mflo $t6 /* f0aac3c: 31cd03ff */ andi $t5,$t6,0x3ff /* f0aac40: 000dc380 */ sll $t8,$t5,0xe /* f0aac44: 032a7021 */ addu $t6,$t9,$t2 /* f0aac48: 31cd03ff */ andi $t5,$t6,0x3ff /* f0aac4c: 03097825 */ or $t7,$t8,$t1 /* f0aac50: 000dc080 */ sll $t8,$t5,0x2 /* f0aac54: 01f8c825 */ or $t9,$t7,$t8 /* f0aac58: ac590000 */ sw $t9,0x0($v0) /* f0aac5c: 8e6e0000 */ lw $t6,0x0($s3) /* f0aac60: 03d2c823 */ subu $t9,$s8,$s2 /* f0aac64: 018e0019 */ multu $t4,$t6 /* f0aac68: 032a7021 */ addu $t6,$t9,$t2 /* f0aac6c: 00006812 */ mflo $t5 /* f0aac70: 31af03ff */ andi $t7,$t5,0x3ff /* f0aac74: 000fc380 */ sll $t8,$t7,0xe /* f0aac78: 31cd03ff */ andi $t5,$t6,0x3ff /* f0aac7c: 000d7880 */ sll $t7,$t5,0x2 /* f0aac80: 030fc825 */ or $t9,$t8,$t7 /* f0aac84: 10000016 */ b .PF0f0aace0 /* f0aac88: ac590004 */ sw $t9,0x4($v0) /* f0aac8c: 8e6e0000 */ lw $t6,0x0($s3) .PF0f0aac90: /* f0aac90: 02201025 */ move $v0,$s1 /* f0aac94: 26310008 */ addiu $s1,$s1,0x8 /* f0aac98: 016e0019 */ multu $t3,$t6 /* f0aac9c: 324e03ff */ andi $t6,$s2,0x3ff /* f0aaca0: 00006812 */ mflo $t5 /* f0aaca4: 31b803ff */ andi $t8,$t5,0x3ff /* f0aaca8: 00187b80 */ sll $t7,$t8,0xe /* f0aacac: 01e9c825 */ or $t9,$t7,$t1 /* f0aacb0: 000e6880 */ sll $t5,$t6,0x2 /* f0aacb4: 032dc025 */ or $t8,$t9,$t5 /* f0aacb8: ac580000 */ sw $t8,0x0($v0) /* f0aacbc: 8e6f0000 */ lw $t7,0x0($s3) /* f0aacc0: 32b803ff */ andi $t8,$s5,0x3ff /* f0aacc4: 018f0019 */ multu $t4,$t7 /* f0aacc8: 00187880 */ sll $t7,$t8,0x2 /* f0aaccc: 00007012 */ mflo $t6 /* f0aacd0: 31d903ff */ andi $t9,$t6,0x3ff /* f0aacd4: 00196b80 */ sll $t5,$t9,0xe /* f0aacd8: 01af7025 */ or $t6,$t5,$t7 /* f0aacdc: ac4e0004 */ sw $t6,0x4($v0) .PF0f0aace0: /* f0aace0: 0fc55153 */ jal func0f153838 /* f0aace4: 02202025 */ move $a0,$s1 /* f0aace8: 3c19b900 */ lui $t9,0xb900 /* f0aacec: 3c180050 */ lui $t8,0x50 /* f0aacf0: 371841c8 */ ori $t8,$t8,0x41c8 /* f0aacf4: 3739031d */ ori $t9,$t9,0x31d /* f0aacf8: ac590000 */ sw $t9,0x0($v0) /* f0aacfc: ac580004 */ sw $t8,0x4($v0) /* f0aad00: 8fbf003c */ lw $ra,0x3c($sp) /* f0aad04: 8fbe0038 */ lw $s8,0x38($sp) /* f0aad08: 8fb70034 */ lw $s7,0x34($sp) /* f0aad0c: 8fb60030 */ lw $s6,0x30($sp) /* f0aad10: 8fb5002c */ lw $s5,0x2c($sp) /* f0aad14: 8fb40028 */ lw $s4,0x28($sp) /* f0aad18: 8fb30024 */ lw $s3,0x24($sp) /* f0aad1c: 8fb20020 */ lw $s2,0x20($sp) /* f0aad20: 8fb1001c */ lw $s1,0x1c($sp) /* f0aad24: 8fb00018 */ lw $s0,0x18($sp) /* f0aad28: 27bd00d8 */ addiu $sp,$sp,0xd8 /* f0aad2c: 03e00008 */ jr $ra /* f0aad30: 24420008 */ addiu $v0,$v0,0x8 ); #else GLOBAL_ASM( glabel bgunRenderHudGauge /* f0a9fc0: 27bdff30 */ addiu $sp,$sp,-208 /* f0a9fc4: afa600d8 */ sw $a2,0xd8($sp) /* f0a9fc8: 8faf00d8 */ lw $t7,0xd8($sp) /* f0a9fcc: 8fae00e0 */ lw $t6,0xe0($sp) /* f0a9fd0: afb1001c */ sw $s1,0x1c($sp) /* f0a9fd4: 8fb100ec */ lw $s1,0xec($sp) /* f0a9fd8: afb70034 */ sw $s7,0x34($sp) /* f0a9fdc: 8fb700e4 */ lw $s7,0xe4($sp) /* f0a9fe0: afb20020 */ sw $s2,0x20($sp) /* f0a9fe4: afb00018 */ sw $s0,0x18($sp) /* f0a9fe8: 00808025 */ or $s0,$a0,$zero /* f0a9fec: afbf003c */ sw $ra,0x3c($sp) /* f0a9ff0: afa500d4 */ sw $a1,0xd4($sp) /* f0a9ff4: afa700dc */ sw $a3,0xdc($sp) /* f0a9ff8: 01cf9023 */ subu $s2,$t6,$t7 /* f0a9ffc: afbe0038 */ sw $s8,0x38($sp) /* f0aa000: afb60030 */ sw $s6,0x30($sp) /* f0aa004: afb5002c */ sw $s5,0x2c($sp) /* f0aa008: afb40028 */ sw $s4,0x28($sp) /* f0aa00c: afb30024 */ sw $s3,0x24($sp) /* f0aa010: 02403825 */ or $a3,$s2,$zero /* f0aa014: 8fa500e8 */ lw $a1,0xe8($sp) /* f0aa018: afb100b4 */ sw $s1,0xb4($sp) /* f0aa01c: 02203025 */ or $a2,$s1,$zero /* f0aa020: 0fc2a76a */ jal bgun0f0a9da8 /* f0aa024: 02e02025 */ or $a0,$s7,$zero /* f0aa028: 2a210015 */ slti $at,$s1,0x15 /* f0aa02c: 8fa900e0 */ lw $t1,0xe0($sp) /* f0aa030: 8fab00d8 */ lw $t3,0xd8($sp) /* f0aa034: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa038: 14200008 */ bnez $at,.L0f0aa05c /* f0aa03c: 8fad00d4 */ lw $t5,0xd4($sp) /* f0aa040: 82f80004 */ lb $t8,0x4($s7) /* f0aa044: 24160001 */ addiu $s6,$zero,0x1 /* f0aa048: afb200b4 */ sw $s2,0xb4($sp) /* f0aa04c: 44982000 */ mtc1 $t8,$f4 /* f0aa050: 01323023 */ subu $a2,$t1,$s2 /* f0aa054: 1000002b */ b .L0f0aa104 /* f0aa058: 46802020 */ cvt.s.w $f0,$f4 .L0f0aa05c: /* f0aa05c: 0251001a */ div $zero,$s2,$s1 /* f0aa060: 00001012 */ mflo $v0 /* f0aa064: 24470001 */ addiu $a3,$v0,0x1 /* f0aa068: 82f90004 */ lb $t9,0x4($s7) /* f0aa06c: 00510019 */ multu $v0,$s1 /* f0aa070: 0040b025 */ or $s6,$v0,$zero /* f0aa074: 44993000 */ mtc1 $t9,$f6 /* f0aa078: 00000000 */ nop /* f0aa07c: 46803020 */ cvt.s.w $f0,$f6 /* f0aa080: 16200002 */ bnez $s1,.L0f0aa08c /* f0aa084: 00000000 */ nop /* f0aa088: 0007000d */ break 0x7 .L0f0aa08c: /* f0aa08c: 2401ffff */ addiu $at,$zero,-1 /* f0aa090: 16210004 */ bne $s1,$at,.L0f0aa0a4 /* f0aa094: 3c018000 */ lui $at,0x8000 /* f0aa098: 16410002 */ bne $s2,$at,.L0f0aa0a4 /* f0aa09c: 00000000 */ nop /* f0aa0a0: 0006000d */ break 0x6 .L0f0aa0a4: /* f0aa0a4: 00007012 */ mflo $t6 /* f0aa0a8: 01d22023 */ subu $a0,$t6,$s2 /* f0aa0ac: 00802825 */ or $a1,$a0,$zero /* f0aa0b0: 00f10019 */ multu $a3,$s1 /* f0aa0b4: 00007812 */ mflo $t7 /* f0aa0b8: 01f21823 */ subu $v1,$t7,$s2 /* f0aa0bc: 04810002 */ bgez $a0,.L0f0aa0c8 /* f0aa0c0: 00603025 */ or $a2,$v1,$zero /* f0aa0c4: 00042823 */ negu $a1,$a0 .L0f0aa0c8: /* f0aa0c8: 04630003 */ bgezl $v1,.L0f0aa0d8 /* f0aa0cc: 00c5082a */ slt $at,$a2,$a1 /* f0aa0d0: 00033023 */ negu $a2,$v1 /* f0aa0d4: 00c5082a */ slt $at,$a2,$a1 .L0f0aa0d8: /* f0aa0d8: 10200002 */ beqz $at,.L0f0aa0e4 /* f0aa0dc: 00000000 */ nop /* f0aa0e0: 00e0b025 */ or $s6,$a3,$zero .L0f0aa0e4: /* f0aa0e4: 02d10019 */ multu $s6,$s1 /* f0aa0e8: 2ac10003 */ slti $at,$s6,0x3 /* f0aa0ec: 0000c012 */ mflo $t8 /* f0aa0f0: 01381023 */ subu $v0,$t1,$t8 /* f0aa0f4: 24420001 */ addiu $v0,$v0,0x1 /* f0aa0f8: 10200002 */ beqz $at,.L0f0aa104 /* f0aa0fc: 00403025 */ or $a2,$v0,$zero /* f0aa100: 2446ffff */ addiu $a2,$v0,-1 .L0f0aa104: /* f0aa104: 16c0008c */ bnez $s6,.L0f0aa338 /* f0aa108: 02002025 */ or $a0,$s0,$zero /* f0aa10c: 01268823 */ subu $s1,$t1,$a2 /* f0aa110: 44914000 */ mtc1 $s1,$f8 /* f0aa114: 8fb900b4 */ lw $t9,0xb4($sp) /* f0aa118: 02002025 */ or $a0,$s0,$zero /* f0aa11c: 468042a0 */ cvt.s.w $f10,$f8 /* f0aa120: 44999000 */ mtc1 $t9,$f18 /* f0aa124: 44894000 */ mtc1 $t1,$f8 /* f0aa128: 8fa500f0 */ lw $a1,0xf0($sp) /* f0aa12c: 46809120 */ cvt.s.w $f4,$f18 /* f0aa130: 46005402 */ mul.s $f16,$f10,$f0 /* f0aa134: 468042a0 */ cvt.s.w $f10,$f8 /* f0aa138: 46048183 */ div.s $f6,$f16,$f4 /* f0aa13c: 46065481 */ sub.s $f18,$f10,$f6 /* f0aa140: 4600940d */ trunc.w.s $f16,$f18 /* f0aa144: 44128000 */ mfc1 $s2,$f16 /* f0aa148: 00000000 */ nop /* f0aa14c: 00d2082a */ slt $at,$a2,$s2 /* f0aa150: 1020003f */ beqz $at,.L0f0aa250 /* f0aa154: 00000000 */ nop /* f0aa158: 0fc54df7 */ jal gfxSetPrimColour /* f0aa15c: afa600bc */ sw $a2,0xbc($sp) /* f0aa160: 8faf00f8 */ lw $t7,0xf8($sp) /* f0aa164: 8fa600bc */ lw $a2,0xbc($sp) /* f0aa168: 8fa900e0 */ lw $t1,0xe0($sp) /* f0aa16c: 8fab00d8 */ lw $t3,0xd8($sp) /* f0aa170: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa174: 11e0001c */ beqz $t7,.L0f0aa1e8 /* f0aa178: 8fad00d4 */ lw $t5,0xd4($sp) /* f0aa17c: 3c138008 */ lui $s3,%hi(g_ScaleX) /* f0aa180: 2673fac0 */ addiu $s3,$s3,%lo(g_ScaleX) /* f0aa184: 8e780000 */ lw $t8,0x0($s3) /* f0aa188: 3c0af600 */ lui $t2,0xf600 /* f0aa18c: 24500008 */ addiu $s0,$v0,0x8 /* f0aa190: 01980019 */ multu $t4,$t8 /* f0aa194: 0000c812 */ mflo $t9 /* f0aa198: 332e03ff */ andi $t6,$t9,0x3ff /* f0aa19c: 000e7b80 */ sll $t7,$t6,0xe /* f0aa1a0: 022bc821 */ addu $t9,$s1,$t3 /* f0aa1a4: 332e03ff */ andi $t6,$t9,0x3ff /* f0aa1a8: 01eac025 */ or $t8,$t7,$t2 /* f0aa1ac: 000e7880 */ sll $t7,$t6,0x2 /* f0aa1b0: 030fc825 */ or $t9,$t8,$t7 /* f0aa1b4: ac590000 */ sw $t9,0x0($v0) /* f0aa1b8: 8e6e0000 */ lw $t6,0x0($s3) /* f0aa1bc: 01ae0019 */ multu $t5,$t6 /* f0aa1c0: 01327023 */ subu $t6,$t1,$s2 /* f0aa1c4: 0000c012 */ mflo $t8 /* f0aa1c8: 330f03ff */ andi $t7,$t8,0x3ff /* f0aa1cc: 000fcb80 */ sll $t9,$t7,0xe /* f0aa1d0: 01cbc021 */ addu $t8,$t6,$t3 /* f0aa1d4: 330f03ff */ andi $t7,$t8,0x3ff /* f0aa1d8: 000f7080 */ sll $t6,$t7,0x2 /* f0aa1dc: 032ec025 */ or $t8,$t9,$t6 /* f0aa1e0: 10000018 */ b .L0f0aa244 /* f0aa1e4: ac580004 */ sw $t8,0x4($v0) .L0f0aa1e8: /* f0aa1e8: 3c138008 */ lui $s3,%hi(g_ScaleX) /* f0aa1ec: 2673fac0 */ addiu $s3,$s3,%lo(g_ScaleX) /* f0aa1f0: 8e6f0000 */ lw $t7,0x0($s3) /* f0aa1f4: 3c0af600 */ lui $t2,0xf600 /* f0aa1f8: 24500008 */ addiu $s0,$v0,0x8 /* f0aa1fc: 018f0019 */ multu $t4,$t7 /* f0aa200: 0000c812 */ mflo $t9 /* f0aa204: 332e03ff */ andi $t6,$t9,0x3ff /* f0aa208: 000ec380 */ sll $t8,$t6,0xe /* f0aa20c: 325903ff */ andi $t9,$s2,0x3ff /* f0aa210: 00197080 */ sll $t6,$t9,0x2 /* f0aa214: 030a7825 */ or $t7,$t8,$t2 /* f0aa218: 01eec025 */ or $t8,$t7,$t6 /* f0aa21c: ac580000 */ sw $t8,0x0($v0) /* f0aa220: 8e790000 */ lw $t9,0x0($s3) /* f0aa224: 01b90019 */ multu $t5,$t9 /* f0aa228: 30d903ff */ andi $t9,$a2,0x3ff /* f0aa22c: 00007812 */ mflo $t7 /* f0aa230: 31ee03ff */ andi $t6,$t7,0x3ff /* f0aa234: 000ec380 */ sll $t8,$t6,0xe /* f0aa238: 00197880 */ sll $t7,$t9,0x2 /* f0aa23c: 030f7025 */ or $t6,$t8,$t7 /* f0aa240: ac4e0004 */ sw $t6,0x4($v0) .L0f0aa244: /* f0aa244: 0fc54e0e */ jal func0f153838 /* f0aa248: 02002025 */ or $a0,$s0,$zero /* f0aa24c: 00408025 */ or $s0,$v0,$zero .L0f0aa250: /* f0aa250: 3c138008 */ lui $s3,%hi(g_ScaleX) /* f0aa254: 2673fac0 */ addiu $s3,$s3,%lo(g_ScaleX) /* f0aa258: 02002025 */ or $a0,$s0,$zero /* f0aa25c: 0fc54df7 */ jal gfxSetPrimColour /* f0aa260: 8fa500f4 */ lw $a1,0xf4($sp) /* f0aa264: 8fb900f8 */ lw $t9,0xf8($sp) /* f0aa268: 8fa900e0 */ lw $t1,0xe0($sp) /* f0aa26c: 3c0af600 */ lui $t2,0xf600 /* f0aa270: 8fab00d8 */ lw $t3,0xd8($sp) /* f0aa274: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa278: 1320001a */ beqz $t9,.L0f0aa2e4 /* f0aa27c: 8fad00d4 */ lw $t5,0xd4($sp) /* f0aa280: 8e780000 */ lw $t8,0x0($s3) /* f0aa284: 24500008 */ addiu $s0,$v0,0x8 /* f0aa288: 01980019 */ multu $t4,$t8 /* f0aa28c: 00007812 */ mflo $t7 /* f0aa290: 31ee03ff */ andi $t6,$t7,0x3ff /* f0aa294: 000ecb80 */ sll $t9,$t6,0xe /* f0aa298: 01327823 */ subu $t7,$t1,$s2 /* f0aa29c: 01eb7021 */ addu $t6,$t7,$t3 /* f0aa2a0: 032ac025 */ or $t8,$t9,$t2 /* f0aa2a4: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa2a8: 00197880 */ sll $t7,$t9,0x2 /* f0aa2ac: 030f7025 */ or $t6,$t8,$t7 /* f0aa2b0: ac4e0000 */ sw $t6,0x0($v0) /* f0aa2b4: 8e790000 */ lw $t9,0x0($s3) /* f0aa2b8: 01b90019 */ multu $t5,$t9 /* f0aa2bc: 0129c823 */ subu $t9,$t1,$t1 /* f0aa2c0: 0000c012 */ mflo $t8 /* f0aa2c4: 330f03ff */ andi $t7,$t8,0x3ff /* f0aa2c8: 000f7380 */ sll $t6,$t7,0xe /* f0aa2cc: 032bc021 */ addu $t8,$t9,$t3 /* f0aa2d0: 330f03ff */ andi $t7,$t8,0x3ff /* f0aa2d4: 000fc880 */ sll $t9,$t7,0x2 /* f0aa2d8: 01d9c025 */ or $t8,$t6,$t9 /* f0aa2dc: 1000014e */ b .L0f0aa818 /* f0aa2e0: ac580004 */ sw $t8,0x4($v0) .L0f0aa2e4: /* f0aa2e4: 8e6f0000 */ lw $t7,0x0($s3) /* f0aa2e8: 24500008 */ addiu $s0,$v0,0x8 /* f0aa2ec: 018f0019 */ multu $t4,$t7 /* f0aa2f0: 00007012 */ mflo $t6 /* f0aa2f4: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa2f8: 0019c380 */ sll $t8,$t9,0xe /* f0aa2fc: 312e03ff */ andi $t6,$t1,0x3ff /* f0aa300: 000ec880 */ sll $t9,$t6,0x2 /* f0aa304: 030a7825 */ or $t7,$t8,$t2 /* f0aa308: 01f9c025 */ or $t8,$t7,$t9 /* f0aa30c: ac580000 */ sw $t8,0x0($v0) /* f0aa310: 8e6e0000 */ lw $t6,0x0($s3) /* f0aa314: 01ae0019 */ multu $t5,$t6 /* f0aa318: 324e03ff */ andi $t6,$s2,0x3ff /* f0aa31c: 00007812 */ mflo $t7 /* f0aa320: 31f903ff */ andi $t9,$t7,0x3ff /* f0aa324: 0019c380 */ sll $t8,$t9,0xe /* f0aa328: 000e7880 */ sll $t7,$t6,0x2 /* f0aa32c: 030fc825 */ or $t9,$t8,$t7 /* f0aa330: 10000139 */ b .L0f0aa818 /* f0aa334: ac590004 */ sw $t9,0x4($v0) .L0f0aa338: /* f0aa338: 8fa500f0 */ lw $a1,0xf0($sp) /* f0aa33c: afa600bc */ sw $a2,0xbc($sp) /* f0aa340: 0fc54df7 */ jal gfxSetPrimColour /* f0aa344: e7a000b8 */ swc1 $f0,0xb8($sp) /* f0aa348: 8fae00b4 */ lw $t6,0xb4($sp) /* f0aa34c: 8fa600bc */ lw $a2,0xbc($sp) /* f0aa350: 8fa900e0 */ lw $t1,0xe0($sp) /* f0aa354: 8fab00d8 */ lw $t3,0xd8($sp) /* f0aa358: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa35c: 8fad00d4 */ lw $t5,0xd4($sp) /* f0aa360: c7a000b8 */ lwc1 $f0,0xb8($sp) /* f0aa364: 00408025 */ or $s0,$v0,$zero /* f0aa368: 2412ffff */ addiu $s2,$zero,-1 /* f0aa36c: 00008825 */ or $s1,$zero,$zero /* f0aa370: 19c000f2 */ blez $t6,.L0f0aa73c /* f0aa374: 00c0a825 */ or $s5,$a2,$zero /* f0aa378: 4600010d */ trunc.w.s $f4,$f0 /* f0aa37c: 252fffff */ addiu $t7,$t1,-1 /* f0aa380: 3c138008 */ lui $s3,%hi(g_ScaleX) /* f0aa384: 2673fac0 */ addiu $s3,$s3,%lo(g_ScaleX) /* f0aa388: 44022000 */ mfc1 $v0,$f4 /* f0aa38c: afaf0040 */ sw $t7,0x40($sp) /* f0aa390: 00c0f025 */ or $s8,$a2,$zero /* f0aa394: 00d64021 */ addu $t0,$a2,$s6 /* f0aa398: 3c0af600 */ lui $t2,0xf600 /* f0aa39c: 8fa70094 */ lw $a3,0x94($sp) /* f0aa3a0: 01c2a023 */ subu $s4,$t6,$v0 /* f0aa3a4: afa20050 */ sw $v0,0x50($sp) .L0f0aa3a8: /* f0aa3a8: 82e40005 */ lb $a0,0x5($s7) /* f0aa3ac: 00002825 */ or $a1,$zero,$zero /* f0aa3b0: 18800031 */ blez $a0,.L0f0aa478 /* f0aa3b4: 0284c823 */ subu $t9,$s4,$a0 /* f0aa3b8: 0239082a */ slt $at,$s1,$t9 /* f0aa3bc: 1420004f */ bnez $at,.L0f0aa4fc /* f0aa3c0: 0234082a */ slt $at,$s1,$s4 /* f0aa3c4: 1020004d */ beqz $at,.L0f0aa4fc /* f0aa3c8: 00000000 */ nop /* f0aa3cc: 86f80002 */ lh $t8,0x2($s7) /* f0aa3d0: 02917023 */ subu $t6,$s4,$s1 /* f0aa3d4: 000e7980 */ sll $t7,$t6,0x6 /* f0aa3d8: 030f1823 */ subu $v1,$t8,$t7 /* f0aa3dc: 24630040 */ addiu $v1,$v1,0x40 /* f0aa3e0: 04600046 */ bltz $v1,.L0f0aa4fc /* f0aa3e4: 28610040 */ slti $at,$v1,0x40 /* f0aa3e8: 14200015 */ bnez $at,.L0f0aa440 /* f0aa3ec: 2404ffbf */ addiu $a0,$zero,-65 /* f0aa3f0: 00031080 */ sll $v0,$v1,0x2 /* f0aa3f4: 2442ff04 */ addiu $v0,$v0,-252 /* f0aa3f8: 24010003 */ addiu $at,$zero,0x3 /* f0aa3fc: 0041001a */ div $zero,$v0,$at /* f0aa400: 00003012 */ mflo $a2 /* f0aa404: 2cc10100 */ sltiu $at,$a2,0x100 /* f0aa408: 14200002 */ bnez $at,.L0f0aa414 /* f0aa40c: 8fa400f4 */ lw $a0,0xf4($sp) /* f0aa410: 240600ff */ addiu $a2,$zero,0xff .L0f0aa414: /* f0aa414: 2405ffbf */ addiu $a1,$zero,-65 /* f0aa418: 0fc01a40 */ jal colourBlend /* f0aa41c: afa80044 */ sw $t0,0x44($sp) /* f0aa420: 8fa80044 */ lw $t0,0x44($sp) /* f0aa424: 8fa900e0 */ lw $t1,0xe0($sp) /* f0aa428: 3c0af600 */ lui $t2,0xf600 /* f0aa42c: 8fab00d8 */ lw $t3,0xd8($sp) /* f0aa430: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa434: 8fad00d4 */ lw $t5,0xd4($sp) /* f0aa438: 1000000c */ b .L0f0aa46c /* f0aa43c: 00403825 */ or $a3,$v0,$zero .L0f0aa440: /* f0aa440: 8fa500f0 */ lw $a1,0xf0($sp) /* f0aa444: 00033080 */ sll $a2,$v1,0x2 /* f0aa448: 0fc01a40 */ jal colourBlend /* f0aa44c: afa80044 */ sw $t0,0x44($sp) /* f0aa450: 8fa80044 */ lw $t0,0x44($sp) /* f0aa454: 8fa900e0 */ lw $t1,0xe0($sp) /* f0aa458: 3c0af600 */ lui $t2,0xf600 /* f0aa45c: 8fab00d8 */ lw $t3,0xd8($sp) /* f0aa460: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa464: 8fad00d4 */ lw $t5,0xd4($sp) /* f0aa468: 00403825 */ or $a3,$v0,$zero .L0f0aa46c: /* f0aa46c: 24050001 */ addiu $a1,$zero,0x1 /* f0aa470: 10000022 */ b .L0f0aa4fc /* f0aa474: 82e40005 */ lb $a0,0x5($s7) .L0f0aa478: /* f0aa478: 04810020 */ bgez $a0,.L0f0aa4fc /* f0aa47c: 02847023 */ subu $t6,$s4,$a0 /* f0aa480: 022e082a */ slt $at,$s1,$t6 /* f0aa484: 1020001d */ beqz $at,.L0f0aa4fc /* f0aa488: 0234082a */ slt $at,$s1,$s4 /* f0aa48c: 1420001b */ bnez $at,.L0f0aa4fc /* f0aa490: 8fb800b4 */ lw $t8,0xb4($sp) /* f0aa494: 8fb90050 */ lw $t9,0x50($sp) /* f0aa498: 02387823 */ subu $t7,$s1,$t8 /* f0aa49c: 01f97021 */ addu $t6,$t7,$t9 /* f0aa4a0: 86ef0002 */ lh $t7,0x2($s7) /* f0aa4a4: 000ec180 */ sll $t8,$t6,0x6 /* f0aa4a8: 01f83023 */ subu $a2,$t7,$t8 /* f0aa4ac: 04c00013 */ bltz $a2,.L0f0aa4fc /* f0aa4b0: 2cc10100 */ sltiu $at,$a2,0x100 /* f0aa4b4: 14200003 */ bnez $at,.L0f0aa4c4 /* f0aa4b8: 8fa500f4 */ lw $a1,0xf4($sp) /* f0aa4bc: 1000000e */ b .L0f0aa4f8 /* f0aa4c0: 8fa700f0 */ lw $a3,0xf0($sp) .L0f0aa4c4: /* f0aa4c4: 34b900ff */ ori $t9,$a1,0xff /* f0aa4c8: 03202825 */ or $a1,$t9,$zero /* f0aa4cc: 8fa400f0 */ lw $a0,0xf0($sp) /* f0aa4d0: 0fc01a40 */ jal colourBlend /* f0aa4d4: afa80044 */ sw $t0,0x44($sp) /* f0aa4d8: 8fa80044 */ lw $t0,0x44($sp) /* f0aa4dc: 8fa900e0 */ lw $t1,0xe0($sp) /* f0aa4e0: 3c0af600 */ lui $t2,0xf600 /* f0aa4e4: 8fab00d8 */ lw $t3,0xd8($sp) /* f0aa4e8: 8fac00dc */ lw $t4,0xdc($sp) /* f0aa4ec: 8fad00d4 */ lw $t5,0xd4($sp) /* f0aa4f0: 00403825 */ or $a3,$v0,$zero /* f0aa4f4: 82e40005 */ lb $a0,0x5($s7) .L0f0aa4f8: /* f0aa4f8: 24050001 */ addiu $a1,$zero,0x1 .L0f0aa4fc: /* f0aa4fc: 04810007 */ bgez $a0,.L0f0aa51c /* f0aa500: 2ac10003 */ slti $at,$s6,0x3 /* f0aa504: 02847023 */ subu $t6,$s4,$a0 /* f0aa508: 162e0008 */ bne $s1,$t6,.L0f0aa52c /* f0aa50c: 00000000 */ nop /* f0aa510: 8fa700f4 */ lw $a3,0xf4($sp) /* f0aa514: 10000005 */ b .L0f0aa52c /* f0aa518: 24050001 */ addiu $a1,$zero,0x1 .L0f0aa51c: /* f0aa51c: 16340003 */ bne $s1,$s4,.L0f0aa52c /* f0aa520: 00000000 */ nop /* f0aa524: 8fa700f4 */ lw $a3,0xf4($sp) /* f0aa528: 24050001 */ addiu $a1,$zero,0x1 .L0f0aa52c: /* f0aa52c: 5020003a */ beqzl $at,.L0f0aa618 /* f0aa530: 03c0a825 */ or $s5,$s8,$zero /* f0aa534: 10a00035 */ beqz $a1,.L0f0aa60c /* f0aa538: 00000000 */ nop /* f0aa53c: 06400032 */ bltz $s2,.L0f0aa608 /* f0aa540: 8faf00f8 */ lw $t7,0xf8($sp) /* f0aa544: 51e0001c */ beqzl $t7,.L0f0aa5b8 /* f0aa548: 8e790000 */ lw $t9,0x0($s3) /* f0aa54c: 8e780000 */ lw $t8,0x0($s3) /* f0aa550: 02001025 */ or $v0,$s0,$zero /* f0aa554: 26100008 */ addiu $s0,$s0,0x8 /* f0aa558: 01980019 */ multu $t4,$t8 /* f0aa55c: 0000c812 */ mflo $t9 /* f0aa560: 332e03ff */ andi $t6,$t9,0x3ff /* f0aa564: 000e7b80 */ sll $t7,$t6,0xe /* f0aa568: 0135c823 */ subu $t9,$t1,$s5 /* f0aa56c: 032b7021 */ addu $t6,$t9,$t3 /* f0aa570: 01eac025 */ or $t8,$t7,$t2 /* f0aa574: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aa578: 000fc880 */ sll $t9,$t7,0x2 /* f0aa57c: 03197025 */ or $t6,$t8,$t9 /* f0aa580: ac4e0000 */ sw $t6,0x0($v0) /* f0aa584: 8e6f0000 */ lw $t7,0x0($s3) /* f0aa588: 01af0019 */ multu $t5,$t7 /* f0aa58c: 01327823 */ subu $t7,$t1,$s2 /* f0aa590: 0000c012 */ mflo $t8 /* f0aa594: 331903ff */ andi $t9,$t8,0x3ff /* f0aa598: 00197380 */ sll $t6,$t9,0xe /* f0aa59c: 01ebc021 */ addu $t8,$t7,$t3 /* f0aa5a0: 331903ff */ andi $t9,$t8,0x3ff /* f0aa5a4: 00197880 */ sll $t7,$t9,0x2 /* f0aa5a8: 01cfc025 */ or $t8,$t6,$t7 /* f0aa5ac: 10000016 */ b .L0f0aa608 /* f0aa5b0: ac580004 */ sw $t8,0x4($v0) /* f0aa5b4: 8e790000 */ lw $t9,0x0($s3) .L0f0aa5b8: /* f0aa5b8: 02001025 */ or $v0,$s0,$zero /* f0aa5bc: 26100008 */ addiu $s0,$s0,0x8 /* f0aa5c0: 01990019 */ multu $t4,$t9 /* f0aa5c4: 00007012 */ mflo $t6 /* f0aa5c8: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aa5cc: 000fc380 */ sll $t8,$t7,0xe /* f0aa5d0: 324e03ff */ andi $t6,$s2,0x3ff /* f0aa5d4: 000e7880 */ sll $t7,$t6,0x2 /* f0aa5d8: 030ac825 */ or $t9,$t8,$t2 /* f0aa5dc: 032fc025 */ or $t8,$t9,$t7 /* f0aa5e0: ac580000 */ sw $t8,0x0($v0) /* f0aa5e4: 8e6e0000 */ lw $t6,0x0($s3) /* f0aa5e8: 01ae0019 */ multu $t5,$t6 /* f0aa5ec: 32ae03ff */ andi $t6,$s5,0x3ff /* f0aa5f0: 0000c812 */ mflo $t9 /* f0aa5f4: 332f03ff */ andi $t7,$t9,0x3ff /* f0aa5f8: 000fc380 */ sll $t8,$t7,0xe /* f0aa5fc: 000ec880 */ sll $t9,$t6,0x2 /* f0aa600: 03197825 */ or $t7,$t8,$t9 /* f0aa604: ac4f0004 */ sw $t7,0x4($v0) .L0f0aa608: /* f0aa608: 03c0a825 */ or $s5,$s8,$zero .L0f0aa60c: /* f0aa60c: 10000003 */ b .L0f0aa61c /* f0aa610: 01009025 */ or $s2,$t0,$zero /* f0aa614: 03c0a825 */ or $s5,$s8,$zero .L0f0aa618: /* f0aa618: 2512ffff */ addiu $s2,$t0,-1 .L0f0aa61c: /* f0aa61c: 10a00005 */ beqz $a1,.L0f0aa634 /* f0aa620: 02001025 */ or $v0,$s0,$zero /* f0aa624: 3c0efa00 */ lui $t6,0xfa00 /* f0aa628: ac4e0000 */ sw $t6,0x0($v0) /* f0aa62c: 26100008 */ addiu $s0,$s0,0x8 /* f0aa630: ac470004 */ sw $a3,0x4($v0) .L0f0aa634: /* f0aa634: 8fb80040 */ lw $t8,0x40($sp) /* f0aa638: 8fb900f8 */ lw $t9,0xf8($sp) /* f0aa63c: 0258082a */ slt $at,$s2,$t8 /* f0aa640: 14200004 */ bnez $at,.L0f0aa654 /* f0aa644: 2ac10002 */ slti $at,$s6,0x2 /* f0aa648: 54200003 */ bnezl $at,.L0f0aa658 /* f0aa64c: 2ac10003 */ slti $at,$s6,0x3 /* f0aa650: 01209025 */ or $s2,$t1,$zero .L0f0aa654: /* f0aa654: 2ac10003 */ slti $at,$s6,0x3 .L0f0aa658: /* f0aa658: 54200033 */ bnezl $at,.L0f0aa728 /* f0aa65c: 8fb800b4 */ lw $t8,0xb4($sp) /* f0aa660: 5320001c */ beqzl $t9,.L0f0aa6d4 /* f0aa664: 8e6e0000 */ lw $t6,0x0($s3) /* f0aa668: 8e6f0000 */ lw $t7,0x0($s3) /* f0aa66c: 02001025 */ or $v0,$s0,$zero /* f0aa670: 26100008 */ addiu $s0,$s0,0x8 /* f0aa674: 018f0019 */ multu $t4,$t7 /* f0aa678: 00007012 */ mflo $t6 /* f0aa67c: 31d803ff */ andi $t8,$t6,0x3ff /* f0aa680: 0018cb80 */ sll $t9,$t8,0xe /* f0aa684: 01357023 */ subu $t6,$t1,$s5 /* f0aa688: 01cbc021 */ addu $t8,$t6,$t3 /* f0aa68c: 032a7825 */ or $t7,$t9,$t2 /* f0aa690: 331903ff */ andi $t9,$t8,0x3ff /* f0aa694: 00197080 */ sll $t6,$t9,0x2 /* f0aa698: 01eec025 */ or $t8,$t7,$t6 /* f0aa69c: ac580000 */ sw $t8,0x0($v0) /* f0aa6a0: 8e790000 */ lw $t9,0x0($s3) /* f0aa6a4: 01b90019 */ multu $t5,$t9 /* f0aa6a8: 0132c823 */ subu $t9,$t1,$s2 /* f0aa6ac: 00007812 */ mflo $t7 /* f0aa6b0: 31ee03ff */ andi $t6,$t7,0x3ff /* f0aa6b4: 000ec380 */ sll $t8,$t6,0xe /* f0aa6b8: 032b7821 */ addu $t7,$t9,$t3 /* f0aa6bc: 31ee03ff */ andi $t6,$t7,0x3ff /* f0aa6c0: 000ec880 */ sll $t9,$t6,0x2 /* f0aa6c4: 03197825 */ or $t7,$t8,$t9 /* f0aa6c8: 10000016 */ b .L0f0aa724 /* f0aa6cc: ac4f0004 */ sw $t7,0x4($v0) /* f0aa6d0: 8e6e0000 */ lw $t6,0x0($s3) .L0f0aa6d4: /* f0aa6d4: 02001025 */ or $v0,$s0,$zero /* f0aa6d8: 26100008 */ addiu $s0,$s0,0x8 /* f0aa6dc: 018e0019 */ multu $t4,$t6 /* f0aa6e0: 0000c012 */ mflo $t8 /* f0aa6e4: 331903ff */ andi $t9,$t8,0x3ff /* f0aa6e8: 00197b80 */ sll $t7,$t9,0xe /* f0aa6ec: 325803ff */ andi $t8,$s2,0x3ff /* f0aa6f0: 0018c880 */ sll $t9,$t8,0x2 /* f0aa6f4: 01ea7025 */ or $t6,$t7,$t2 /* f0aa6f8: 01d97825 */ or $t7,$t6,$t9 /* f0aa6fc: ac4f0000 */ sw $t7,0x0($v0) /* f0aa700: 8e780000 */ lw $t8,0x0($s3) /* f0aa704: 01b80019 */ multu $t5,$t8 /* f0aa708: 32b803ff */ andi $t8,$s5,0x3ff /* f0aa70c: 00007012 */ mflo $t6 /* f0aa710: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa714: 00197b80 */ sll $t7,$t9,0xe /* f0aa718: 00187080 */ sll $t6,$t8,0x2 /* f0aa71c: 01eec825 */ or $t9,$t7,$t6 /* f0aa720: ac590004 */ sw $t9,0x4($v0) .L0f0aa724: /* f0aa724: 8fb800b4 */ lw $t8,0xb4($sp) .L0f0aa728: /* f0aa728: 26310001 */ addiu $s1,$s1,0x1 /* f0aa72c: 03d6f021 */ addu $s8,$s8,$s6 /* f0aa730: 1638ff1d */ bne $s1,$t8,.L0f0aa3a8 /* f0aa734: 01164021 */ addu $t0,$t0,$s6 /* f0aa738: afa70094 */ sw $a3,0x94($sp) .L0f0aa73c: /* f0aa73c: 3c138008 */ lui $s3,%hi(g_ScaleX) /* f0aa740: 2ac10003 */ slti $at,$s6,0x3 /* f0aa744: 2673fac0 */ addiu $s3,$s3,%lo(g_ScaleX) /* f0aa748: 10200033 */ beqz $at,.L0f0aa818 /* f0aa74c: 3c0af600 */ lui $t2,0xf600 /* f0aa750: 8faf00f8 */ lw $t7,0xf8($sp) /* f0aa754: 51e0001c */ beqzl $t7,.L0f0aa7c8 /* f0aa758: 8e790000 */ lw $t9,0x0($s3) /* f0aa75c: 8e6e0000 */ lw $t6,0x0($s3) /* f0aa760: 02001025 */ or $v0,$s0,$zero /* f0aa764: 26100008 */ addiu $s0,$s0,0x8 /* f0aa768: 018e0019 */ multu $t4,$t6 /* f0aa76c: 0000c812 */ mflo $t9 /* f0aa770: 333803ff */ andi $t8,$t9,0x3ff /* f0aa774: 00187b80 */ sll $t7,$t8,0xe /* f0aa778: 0135c823 */ subu $t9,$t1,$s5 /* f0aa77c: 032bc021 */ addu $t8,$t9,$t3 /* f0aa780: 01ea7025 */ or $t6,$t7,$t2 /* f0aa784: 330f03ff */ andi $t7,$t8,0x3ff /* f0aa788: 000fc880 */ sll $t9,$t7,0x2 /* f0aa78c: 01d9c025 */ or $t8,$t6,$t9 /* f0aa790: ac580000 */ sw $t8,0x0($v0) /* f0aa794: 8e6f0000 */ lw $t7,0x0($s3) /* f0aa798: 01af0019 */ multu $t5,$t7 /* f0aa79c: 01327823 */ subu $t7,$t1,$s2 /* f0aa7a0: 00007012 */ mflo $t6 /* f0aa7a4: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa7a8: 0019c380 */ sll $t8,$t9,0xe /* f0aa7ac: 01eb7021 */ addu $t6,$t7,$t3 /* f0aa7b0: 31d903ff */ andi $t9,$t6,0x3ff /* f0aa7b4: 00197880 */ sll $t7,$t9,0x2 /* f0aa7b8: 030f7025 */ or $t6,$t8,$t7 /* f0aa7bc: 10000016 */ b .L0f0aa818 /* f0aa7c0: ac4e0004 */ sw $t6,0x4($v0) /* f0aa7c4: 8e790000 */ lw $t9,0x0($s3) .L0f0aa7c8: /* f0aa7c8: 02001025 */ or $v0,$s0,$zero /* f0aa7cc: 26100008 */ addiu $s0,$s0,0x8 /* f0aa7d0: 01990019 */ multu $t4,$t9 /* f0aa7d4: 0000c012 */ mflo $t8 /* f0aa7d8: 330f03ff */ andi $t7,$t8,0x3ff /* f0aa7dc: 000f7380 */ sll $t6,$t7,0xe /* f0aa7e0: 325803ff */ andi $t8,$s2,0x3ff /* f0aa7e4: 00187880 */ sll $t7,$t8,0x2 /* f0aa7e8: 01cac825 */ or $t9,$t6,$t2 /* f0aa7ec: 032f7025 */ or $t6,$t9,$t7 /* f0aa7f0: ac4e0000 */ sw $t6,0x0($v0) /* f0aa7f4: 8e780000 */ lw $t8,0x0($s3) /* f0aa7f8: 01b80019 */ multu $t5,$t8 /* f0aa7fc: 32b803ff */ andi $t8,$s5,0x3ff /* f0aa800: 0000c812 */ mflo $t9 /* f0aa804: 332f03ff */ andi $t7,$t9,0x3ff /* f0aa808: 000f7380 */ sll $t6,$t7,0xe /* f0aa80c: 0018c880 */ sll $t9,$t8,0x2 /* f0aa810: 01d97825 */ or $t7,$t6,$t9 /* f0aa814: ac4f0004 */ sw $t7,0x4($v0) .L0f0aa818: /* f0aa818: 0fc54e0e */ jal func0f153838 /* f0aa81c: 02002025 */ or $a0,$s0,$zero /* f0aa820: 3c18b900 */ lui $t8,0xb900 /* f0aa824: 3c0e0050 */ lui $t6,0x50 /* f0aa828: 35ce41c8 */ ori $t6,$t6,0x41c8 /* f0aa82c: 3718031d */ ori $t8,$t8,0x31d /* f0aa830: ac580000 */ sw $t8,0x0($v0) /* f0aa834: ac4e0004 */ sw $t6,0x4($v0) /* f0aa838: 8fbf003c */ lw $ra,0x3c($sp) /* f0aa83c: 8fbe0038 */ lw $s8,0x38($sp) /* f0aa840: 8fb70034 */ lw $s7,0x34($sp) /* f0aa844: 8fb60030 */ lw $s6,0x30($sp) /* f0aa848: 8fb5002c */ lw $s5,0x2c($sp) /* f0aa84c: 8fb40028 */ lw $s4,0x28($sp) /* f0aa850: 8fb30024 */ lw $s3,0x24($sp) /* f0aa854: 8fb20020 */ lw $s2,0x20($sp) /* f0aa858: 8fb1001c */ lw $s1,0x1c($sp) /* f0aa85c: 8fb00018 */ lw $s0,0x18($sp) /* f0aa860: 27bd00d0 */ addiu $sp,$sp,0xd0 /* f0aa864: 03e00008 */ jr $ra /* f0aa868: 24420008 */ addiu $v0,$v0,0x8 ); #endif /** * Render an ammo gauge on the HUD. * * Ammo gauges can be displayed in two ways. If the capacity is less than 20, * each bullet is displayed as a separate block with a gap between each. If the * capacity is 20 or more, a single block covers the whole gauge and the block * is partitioned into two (filled and empty). * * For the separated mode, a unit refers to a single bullet/block. * For the merged mode, a unit refers to a single 1px high line in the gauge. */ // Mismatch: Regalloc (play with the if-statements near 3a8) // Some potential clues: // - gaugeheight variable can be removed and usages replaced with (y2 - y1) // - (s32)ref can be made into a variable // - At 278, asm effectively does y2 - y2 + y1, so a tmp variable is used to // prevent optimising out the y2s // - Unsigned comparison at fadeamount > 255U // - There are several callee-save registers (s2, s5, s8) which can either be // variables or used by the compiler to hold expressions that are used several // times. Below, s2 is a variable while s5 and s8 are inline expressions. //Gfx *bgunRenderHudGauge(Gfx *gdl, s32 x1, s32 y1, s32 x2, s32 y2, struct abmag *abmag, s32 remaining, s32 capacity, u32 emptycolour, u32 filledcolour, bool flip) //{ // s32 gaugeheight = y2 - y1; // s2 // s32 unitheight; // s32 remainder1; // s32 remainder2; // s32 gaugetop; // bc // f32 ref; // b8 // s32 numunits = capacity; // b4 = s1 // s32 i; // // // 020 // bgun0f0a9da8(abmag, remaining, capacity, gaugeheight); // // if (capacity > 20) { // // Use a single merged bar // ref = abmag->ref; // unitheight = 1; // numunits = gaugeheight; // gaugetop = y2 - gaugeheight; // } else { // // 05c // // Use a separate block for each bullet // ref = abmag->ref; // unitheight = gaugeheight / capacity; // remainder1 = unitheight * capacity - gaugeheight; // remainder2 = (unitheight + 1) * capacity - gaugeheight; // // if (remainder1 < 0) { // remainder1 = -remainder1; // } // // if (remainder2 < 0) { // remainder2 = -remainder2; // } // // if (remainder2 < remainder1) { // unitheight++; // } // // gaugetop = y2 - unitheight * capacity + 1; // // if (unitheight <= 2) { // gaugetop--; // } // } // // // 104 // if (unitheight == 0) { // /** // * Using separate blocks, but the clip capacity is more than the gauge // * height meaning each block is less than 1px. This is impossible // * because the gauge switches modes away from separate blocks at 20, // * therefore this code is unreachable. // * // * This code renders the gauge in the merged style, but uses 1px per // * bullet and truncates the gauge at the gaugetop if needed. This is // * clearly an early revision of the code, as it is visually misleading // * and also lacks the transition effect. // */ // s32 partitiony; // s32 tmp; // // gaugeheight = y2 - gaugetop; // partitiony = y2 - gaugeheight * ref / numunits; // tmp = y2; // // // 150 // if (partitiony > gaugetop) { // // Render empty partition // gdl = gfxSetPrimColour(gdl, emptycolour); // // if (flip) { // gDPFillRectangleScaled(gdl++, x1, y2 - partitiony + y1, x2, gaugeheight + y1); // } else { // gDPFillRectangleScaled(gdl++, x1, gaugetop, x2, partitiony); // } // // gdl = func0f153838(gdl); // } // // // 25c // // Render filled partition // gdl = gfxSetPrimColour(gdl, filledcolour); // // // 278 // if (flip) { // gDPFillRectangleScaled(gdl++, x1, y2 - tmp + y1, x2, y2 - partitiony + y1); // } else { // // 2e4 // gDPFillRectangleScaled(gdl++, x1, partitiony, x2, y2); // } // } else { // // 338 // u32 colour; // s32 unittop; // s32 unitbottom; // // gdl = gfxSetPrimColour(gdl, emptycolour); // // unittop = gaugetop; // s5 // unitbottom = -1; // // for (i = 0; i < numunits; i++) { // // 3a8 // bool newstate = false; // // //if (gaugetop + i * unitheight); // //if (abmag); // if (capacity); // // // 3b0 // if (abmag->change > 0) { // // Loading or reloading // // 3bc // if (i >= numunits - (s32)ref - abmag->change && i < numunits - (s32)ref) { // // Unit is potentially unsettled // s32 fadeamount = abmag->timer60 - (numunits - (s32)ref - i - 1) * 64; // // // 3e0 // if (fadeamount >= 0) { // if (fadeamount >= 64) { // // Unit is transitioning to filled // u32 weight = (fadeamount * 4 - 252) / 3; // // if (weight > 255) { // weight = 255; // } // // colour = colourBlend(filledcolour, 0xffffffbf, weight); // } else { // // Unit is bright and has not started transitioning to filled yet // colour = colourBlend(0xffffffbf, emptycolour, fadeamount * 4); // } // // newstate = true; // } // } // } else /*478*/ if (abmag->change < 0) { // // Firing // if (i < numunits - (s32)ref - abmag->change && i >= numunits - (s32)ref) { // s32 fadeamount = abmag->timer60 - (i - numunits + (s32)ref) * 64; // // // 48c // if (fadeamount >= 0) { // if (fadeamount > 255U) { // colour = emptycolour; // } else { // // Unit was recently emptied // colour = colourBlend(emptycolour, filledcolour | 0xff, fadeamount); // } // // newstate = true; // } // } // } // // // 4fc // // Special case for units which are one after the last one being // // faded. I think their colour is calculated incorrectly by the code // // above and this is resetting them to the normal filled colour. // if (abmag->change < 0) { // // Firing // if (i == numunits - (s32)ref - abmag->change) { // colour = filledcolour; // newstate = true; // } // } else { // // 51c // if (i == numunits - (s32)ref) { // colour = filledcolour; // newstate = true; // } // } // // // 52c // // Calculate unittop and unitbottom. For merged gauges keep unittop // // as it is if possible, so the empty and filled partitions can be // // drawn whenever the state is changed in order to save gfx calls. // if (unitheight <= 2) { // // 534 // if (newstate) { // // 53c // if (unitbottom >= 0) { // // Render empty or transitioning unit of merged gauge // // 544 // if (flip) { // gDPFillRectangleScaled(gdl++, x1, y2 - unitbottom + y1, x2, y2 - unittop + y1); // } else { // // 5b4 // gDPFillRectangleScaled(gdl++, x1, unittop, x2, unitbottom); // } // } // // unittop = gaugetop + i * unitheight; // } // // unitbottom = gaugetop + i * unitheight + unitheight; // } else { // // 614 // // Separate blocks - reduce unitbottom by 1 to make a gap // unittop = gaugetop + i * unitheight; // unitbottom = gaugetop + i * unitheight + unitheight - 1; // } // // // 61c // if (newstate) { // gDPSetPrimColorViaWord(gdl++, 0, 0, colour); // } // // // 640 // // For separate blocks, clip the unit bottom to the bottom of the gauge // if (unitbottom >= y2 - 1 && unitheight >= 2) { // unitbottom = y2; // } // // // 658 // // Render separated blocks // if (unitheight >= 3) { // // 660 // if (flip) { // gDPFillRectangleScaled(gdl++, x1, y2 - unitbottom + y1, x2, y2 - unittop + y1); // } else { // // 6d0 // gDPFillRectangleScaled(gdl++, x1, unittop, x2, unitbottom); // } // } // } // end loop // // // For merged gauges, render the final partition // if (unitheight <= 2) { // s32 stack; // // // 754 // if (flip) { // gDPFillRectangleScaled(gdl++, x1, y2 - unitbottom + y1, x2, y2 - unittop + y1); // } else { // // 7c4 // gDPFillRectangleScaled(gdl++, x1, unittop, x2, unitbottom); // } // } // } // // gdl = func0f153838(gdl); // // gDPSetRenderMode(gdl++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2); // // return gdl; //} #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel bgunRenderHud /* f0aad34: 3c0e800a */ lui $t6,0x800a /* f0aad38: 8dcea794 */ lw $t6,-0x586c($t6) /* f0aad3c: 27bdfed0 */ addiu $sp,$sp,-304 /* f0aad40: afbf0034 */ sw $ra,0x34($sp) /* f0aad44: afa40130 */ sw $a0,0x130($sp) /* f0aad48: 0c002e95 */ jal viGetViewTop /* f0aad4c: afae012c */ sw $t6,0x12c($sp) /* f0aad50: 0c002e77 */ jal viGetViewHeight /* f0aad54: a7a20076 */ sh $v0,0x76($sp) /* f0aad58: 87af0076 */ lh $t7,0x76($sp) /* f0aad5c: 3c08800a */ lui $t0,0x800a /* f0aad60: 2508a510 */ addiu $t0,$t0,-23280 /* f0aad64: 8d0e006c */ lw $t6,0x6c($t0) /* f0aad68: 004fc021 */ addu $t8,$v0,$t7 /* f0aad6c: 2719fff3 */ addiu $t9,$t8,-13 /* f0aad70: 11c00003 */ beqz $t6,.PF0f0aad80 /* f0aad74: afb90128 */ sw $t9,0x128($sp) /* f0aad78: 10000002 */ b .PF0f0aad84 /* f0aad7c: 24060001 */ li $a2,0x1 .PF0f0aad80: /* f0aad80: 00003025 */ move $a2,$zero .PF0f0aad84: /* f0aad84: 8d0f0068 */ lw $t7,0x68($t0) /* f0aad88: 00001825 */ move $v1,$zero /* f0aad8c: 00002825 */ move $a1,$zero /* f0aad90: 11e00003 */ beqz $t7,.PF0f0aada0 /* f0aad94: 00001025 */ move $v0,$zero /* f0aad98: 10000001 */ b .PF0f0aada0 /* f0aad9c: 24030001 */ li $v1,0x1 .PF0f0aada0: /* f0aada0: 8d180064 */ lw $t8,0x64($t0) /* f0aada4: 13000003 */ beqz $t8,.PF0f0aadb4 /* f0aada8: 00000000 */ nop /* f0aadac: 10000001 */ b .PF0f0aadb4 /* f0aadb0: 24050001 */ li $a1,0x1 .PF0f0aadb4: /* f0aadb4: 8d190070 */ lw $t9,0x70($t0) /* f0aadb8: 13200003 */ beqz $t9,.PF0f0aadc8 /* f0aadbc: 00000000 */ nop /* f0aadc0: 10000001 */ b .PF0f0aadc8 /* f0aadc4: 24020001 */ li $v0,0x1 .PF0f0aadc8: /* f0aadc8: 8d18028c */ lw $t8,0x28c($t0) /* f0aadcc: 00457021 */ addu $t6,$v0,$a1 /* f0aadd0: 01c37821 */ addu $t7,$t6,$v1 /* f0aadd4: afb80120 */ sw $t8,0x120($sp) /* f0aadd8: 8fb8012c */ lw $t8,0x12c($sp) /* f0aaddc: 01e63821 */ addu $a3,$t7,$a2 /* f0aade0: 24190009 */ li $t9,0x9 /* f0aade4: 240e0024 */ li $t6,0x24 /* f0aade8: 240f0039 */ li $t7,0x39 /* f0aadec: afa70124 */ sw $a3,0x124($sp) /* f0aadf0: afa00110 */ sw $zero,0x110($sp) /* f0aadf4: afb9010c */ sw $t9,0x10c($sp) /* f0aadf8: afae0108 */ sw $t6,0x108($sp) /* f0aadfc: afaf0104 */ sw $t7,0x104($sp) /* f0aae00: 83041580 */ lb $a0,0x1580($t8) /* f0aae04: 0fc2c524 */ jal weaponFindById /* f0aae08: afa70060 */ sw $a3,0x60($sp) /* f0aae0c: 8fb9012c */ lw $t9,0x12c($sp) /* f0aae10: afa200fc */ sw $v0,0xfc($sp) /* f0aae14: 3c02800a */ lui $v0,0x800a /* f0aae18: 8f2e00d8 */ lw $t6,0xd8($t9) /* f0aae1c: 2442a510 */ addiu $v0,$v0,-23280 /* f0aae20: 51c00004 */ beqzl $t6,.PF0f0aae34 /* f0aae24: 8c4f0284 */ lw $t7,0x284($v0) /* f0aae28: 10000454 */ b .PF0f0abf7c /* f0aae2c: 8fa20130 */ lw $v0,0x130($sp) /* f0aae30: 8c4f0284 */ lw $t7,0x284($v0) .PF0f0aae34: /* f0aae34: 8df81580 */ lw $t8,0x1580($t7) /* f0aae38: 33190001 */ andi $t9,$t8,0x1 /* f0aae3c: 53200004 */ beqzl $t9,.PF0f0aae50 /* f0aae40: 8c4e000c */ lw $t6,0xc($v0) /* f0aae44: 1000044d */ b .PF0f0abf7c /* f0aae48: 8fa20130 */ lw $v0,0x130($sp) /* f0aae4c: 8c4e000c */ lw $t6,0xc($v0) .PF0f0aae50: /* f0aae50: 240f0001 */ li $t7,0x1 /* f0aae54: 29c10005 */ slti $at,$t6,0x5 /* f0aae58: 10200003 */ beqz $at,.PF0f0aae68 /* f0aae5c: 00000000 */ nop /* f0aae60: 10000446 */ b .PF0f0abf7c /* f0aae64: 8fa20130 */ lw $v0,0x130($sp) .PF0f0aae68: /* f0aae68: 3c018008 */ lui $at,0x8008 /* f0aae6c: ac2f0020 */ sw $t7,0x20($at) /* f0aae70: 0fc550cf */ jal func0f153628 /* f0aae74: 8fa40130 */ lw $a0,0x130($sp) /* f0aae78: 8fb80060 */ lw $t8,0x60($sp) /* f0aae7c: afa20130 */ sw $v0,0x130($sp) /* f0aae80: 2b010002 */ slti $at,$t8,0x2 /* f0aae84: 1420002a */ bnez $at,.PF0f0aaf30 /* f0aae88: 24190005 */ li $t9,0x5 /* f0aae8c: 240e001a */ li $t6,0x1a /* f0aae90: 240f002f */ li $t7,0x2f /* f0aae94: 24010002 */ li $at,0x2 /* f0aae98: afb9010c */ sw $t9,0x10c($sp) /* f0aae9c: afae0108 */ sw $t6,0x108($sp) /* f0aaea0: 17010015 */ bne $t8,$at,.PF0f0aaef8 /* f0aaea4: afaf0104 */ sw $t7,0x104($sp) /* f0aaea8: 3c198009 */ lui $t9,0x8009 /* f0aaeac: 93391040 */ lbu $t9,0x1040($t9) /* f0aaeb0: 24010001 */ li $at,0x1 /* f0aaeb4: 53210009 */ beql $t9,$at,.PF0f0aaedc /* f0aaeb8: 8faf0128 */ lw $t7,0x128($sp) /* f0aaebc: 0fc54ef9 */ jal optionsGetScreenSplit /* f0aaec0: 00000000 */ nop /* f0aaec4: 24010001 */ li $at,0x1 /* f0aaec8: 10410007 */ beq $v0,$at,.PF0f0aaee8 /* f0aaecc: 8fae0120 */ lw $t6,0x120($sp) /* f0aaed0: 55c00006 */ bnezl $t6,.PF0f0aaeec /* f0aaed4: 8fb90128 */ lw $t9,0x128($sp) /* f0aaed8: 8faf0128 */ lw $t7,0x128($sp) .PF0f0aaedc: /* f0aaedc: 25f8000a */ addiu $t8,$t7,0xa /* f0aaee0: 10000019 */ b .PF0f0aaf48 /* f0aaee4: afb80128 */ sw $t8,0x128($sp) .PF0f0aaee8: /* f0aaee8: 8fb90128 */ lw $t9,0x128($sp) .PF0f0aaeec: /* f0aaeec: 272e0002 */ addiu $t6,$t9,0x2 /* f0aaef0: 10000015 */ b .PF0f0aaf48 /* f0aaef4: afae0128 */ sw $t6,0x128($sp) .PF0f0aaef8: /* f0aaef8: 8faf0060 */ lw $t7,0x60($sp) /* f0aaefc: 8fb80120 */ lw $t8,0x120($sp) /* f0aaf00: 29e10003 */ slti $at,$t7,0x3 /* f0aaf04: 14200010 */ bnez $at,.PF0f0aaf48 /* f0aaf08: 2b010002 */ slti $at,$t8,0x2 /* f0aaf0c: 10200005 */ beqz $at,.PF0f0aaf24 /* f0aaf10: 8faf0128 */ lw $t7,0x128($sp) /* f0aaf14: 8fb90128 */ lw $t9,0x128($sp) /* f0aaf18: 272e000a */ addiu $t6,$t9,0xa /* f0aaf1c: 1000000a */ b .PF0f0aaf48 /* f0aaf20: afae0128 */ sw $t6,0x128($sp) .PF0f0aaf24: /* f0aaf24: 25f80002 */ addiu $t8,$t7,0x2 /* f0aaf28: 10000007 */ b .PF0f0aaf48 /* f0aaf2c: afb80128 */ sw $t8,0x128($sp) .PF0f0aaf30: /* f0aaf30: 0fc54e8c */ jal optionsGetEffectiveScreenSize /* f0aaf34: 00000000 */ nop /* f0aaf38: 10400003 */ beqz $v0,.PF0f0aaf48 /* f0aaf3c: 8fb90128 */ lw $t9,0x128($sp) /* f0aaf40: 272e0008 */ addiu $t6,$t9,0x8 /* f0aaf44: afae0128 */ sw $t6,0x128($sp) .PF0f0aaf48: /* f0aaf48: 3c19800a */ lui $t9,0x800a /* f0aaf4c: 8f39a544 */ lw $t9,-0x5abc($t9) /* f0aaf50: 24010032 */ li $at,0x32 /* f0aaf54: 8fa2012c */ lw $v0,0x12c($sp) /* f0aaf58: 00197100 */ sll $t6,$t9,0x4 /* f0aaf5c: 01d97023 */ subu $t6,$t6,$t9 /* f0aaf60: 000e70c0 */ sll $t6,$t6,0x3 /* f0aaf64: 01c1001a */ div $zero,$t6,$at /* f0aaf68: 3c0fff00 */ lui $t7,0xff00 /* f0aaf6c: 35ef0040 */ ori $t7,$t7,0x40 /* f0aaf70: afaf00f4 */ sw $t7,0xf4($sp) /* f0aaf74: 9058063b */ lbu $t8,0x63b($v0) /* f0aaf78: 00007812 */ mflo $t7 /* f0aaf7c: 24420638 */ addiu $v0,$v0,0x638 /* f0aaf80: afaf00ec */ sw $t7,0xec($sp) /* f0aaf84: afa2005c */ sw $v0,0x5c($sp) /* f0aaf88: 27a400dc */ addiu $a0,$sp,0xdc /* f0aaf8c: 00002825 */ move $a1,$zero /* f0aaf90: 0fc26333 */ jal bgunGetWeaponInfo /* f0aaf94: afb800f0 */ sw $t8,0xf0($sp) /* f0aaf98: 0fc2a432 */ jal bgunIsUsingSecondaryFunction /* f0aaf9c: 00000000 */ nop /* f0aafa0: afa200e8 */ sw $v0,0xe8($sp) /* f0aafa4: 00402025 */ move $a0,$v0 /* f0aafa8: 27a500dc */ addiu $a1,$sp,0xdc /* f0aafac: 0fc26348 */ jal bgun0f098ca0 /* f0aafb0: 8fa6005c */ lw $a2,0x5c($sp) /* f0aafb4: 04400003 */ bltz $v0,.PF0f0aafc4 /* f0aafb8: 00000000 */ nop /* f0aafbc: 8fb800e8 */ lw $t8,0xe8($sp) /* f0aafc0: afb800f0 */ sw $t8,0xf0($sp) .PF0f0aafc4: /* f0aafc4: 0c002e91 */ jal viGetViewLeft /* f0aafc8: 00000000 */ nop /* f0aafcc: 0c002e73 */ jal viGetViewWidth /* f0aafd0: a7a20076 */ sh $v0,0x76($sp) /* f0aafd4: 87b90076 */ lh $t9,0x76($sp) /* f0aafd8: 3c0f8008 */ lui $t7,0x8008 /* f0aafdc: 8def0020 */ lw $t7,0x20($t7) /* f0aafe0: 00597021 */ addu $t6,$v0,$t9 /* f0aafe4: 8fb9010c */ lw $t9,0x10c($sp) /* f0aafe8: 01cf001a */ div $zero,$t6,$t7 /* f0aafec: 15e00002 */ bnez $t7,.PF0f0aaff8 /* f0aaff0: 00000000 */ nop /* f0aaff4: 0007000d */ break 0x7 .PF0f0aaff8: /* f0aaff8: 2401ffff */ li $at,-1 /* f0aaffc: 15e10004 */ bne $t7,$at,.PF0f0ab010 /* f0ab000: 3c018000 */ lui $at,0x8000 /* f0ab004: 15c10002 */ bne $t6,$at,.PF0f0ab010 /* f0ab008: 00000000 */ nop /* f0ab00c: 0006000d */ break 0x6 .PF0f0ab010: /* f0ab010: 0000c012 */ mflo $t8 /* f0ab014: 03197023 */ subu $t6,$t8,$t9 /* f0ab018: 8fb80060 */ lw $t8,0x60($sp) /* f0ab01c: 25cfffe8 */ addiu $t7,$t6,-24 /* f0ab020: 24010002 */ li $at,0x2 /* f0ab024: 1701000f */ bne $t8,$at,.PF0f0ab064 /* f0ab028: afaf0100 */ sw $t7,0x100($sp) /* f0ab02c: 0fc54ef9 */ jal optionsGetScreenSplit /* f0ab030: 00000000 */ nop /* f0ab034: 24070001 */ li $a3,0x1 /* f0ab038: 10e20004 */ beq $a3,$v0,.PF0f0ab04c /* f0ab03c: 3c198009 */ lui $t9,0x8009 /* f0ab040: 93391040 */ lbu $t9,0x1040($t9) /* f0ab044: 54f90008 */ bnel $a3,$t9,.PF0f0ab068 /* f0ab048: 8fb90060 */ lw $t9,0x60($sp) .PF0f0ab04c: /* f0ab04c: 8fae0120 */ lw $t6,0x120($sp) /* f0ab050: 8faf0100 */ lw $t7,0x100($sp) /* f0ab054: 15c00003 */ bnez $t6,.PF0f0ab064 /* f0ab058: 25f8000f */ addiu $t8,$t7,0xf /* f0ab05c: 1000000b */ b .PF0f0ab08c /* f0ab060: afb80100 */ sw $t8,0x100($sp) .PF0f0ab064: /* f0ab064: 8fb90060 */ lw $t9,0x60($sp) .PF0f0ab068: /* f0ab068: 8fae0120 */ lw $t6,0x120($sp) /* f0ab06c: 24070001 */ li $a3,0x1 /* f0ab070: 2b210003 */ slti $at,$t9,0x3 /* f0ab074: 14200005 */ bnez $at,.PF0f0ab08c /* f0ab078: 31cf0001 */ andi $t7,$t6,0x1 /* f0ab07c: 15e00003 */ bnez $t7,.PF0f0ab08c /* f0ab080: 8fb80100 */ lw $t8,0x100($sp) /* f0ab084: 2719000f */ addiu $t9,$t8,0xf /* f0ab088: afb90100 */ sw $t9,0x100($sp) .PF0f0ab08c: /* f0ab08c: 8fa600f0 */ lw $a2,0xf0($sp) /* f0ab090: 8faa012c */ lw $t2,0x12c($sp) /* f0ab094: 54c70014 */ bnel $a2,$a3,.PF0f0ab0e8 /* f0ab098: 8faa012c */ lw $t2,0x12c($sp) /* f0ab09c: 914215e7 */ lbu $v0,0x15e7($t2) /* f0ab0a0: 254a1580 */ addiu $t2,$t2,0x1580 /* f0ab0a4: 284100ff */ slti $at,$v0,0xff /* f0ab0a8: 1020000e */ beqz $at,.PF0f0ab0e4 /* f0ab0ac: 28410080 */ slti $at,$v0,0x80 /* f0ab0b0: 10200003 */ beqz $at,.PF0f0ab0c0 /* f0ab0b4: 240e0080 */ li $t6,0x80 /* f0ab0b8: a14e0067 */ sb $t6,0x67($t2) /* f0ab0bc: 31c200ff */ andi $v0,$t6,0xff .PF0f0ab0c0: /* f0ab0c0: 8faf00ec */ lw $t7,0xec($sp) /* f0ab0c4: 241800ff */ li $t8,0xff /* f0ab0c8: 004f1821 */ addu $v1,$v0,$t7 /* f0ab0cc: 28610100 */ slti $at,$v1,0x100 /* f0ab0d0: 54200004 */ bnezl $at,.PF0f0ab0e4 /* f0ab0d4: a1430067 */ sb $v1,0x67($t2) /* f0ab0d8: 10000002 */ b .PF0f0ab0e4 /* f0ab0dc: a1580067 */ sb $t8,0x67($t2) /* f0ab0e0: a1430067 */ sb $v1,0x67($t2) .PF0f0ab0e4: /* f0ab0e4: 8faa012c */ lw $t2,0x12c($sp) .PF0f0ab0e8: /* f0ab0e8: 254a1580 */ addiu $t2,$t2,0x1580 /* f0ab0ec: 14c0000a */ bnez $a2,.PF0f0ab118 /* f0ab0f0: 91420067 */ lbu $v0,0x67($t2) /* f0ab0f4: 18400008 */ blez $v0,.PF0f0ab118 /* f0ab0f8: 8fb900ec */ lw $t9,0xec($sp) /* f0ab0fc: 00591823 */ subu $v1,$v0,$t9 /* f0ab100: 04610004 */ bgez $v1,.PF0f0ab114 /* f0ab104: 306200ff */ andi $v0,$v1,0xff /* f0ab108: a1400067 */ sb $zero,0x67($t2) /* f0ab10c: 10000002 */ b .PF0f0ab118 /* f0ab110: 300200ff */ andi $v0,$zero,0xff .PF0f0ab114: /* f0ab114: a1430067 */ sb $v1,0x67($t2) .PF0f0ab118: /* f0ab118: 28410081 */ slti $at,$v0,0x81 /* f0ab11c: 14200007 */ bnez $at,.PF0f0ab13c /* f0ab120: 00027040 */ sll $t6,$v0,0x1 /* f0ab124: 25cfff00 */ addiu $t7,$t6,-256 /* f0ab128: 3c01ff00 */ lui $at,0xff00 /* f0ab12c: 34210040 */ ori $at,$at,0x40 /* f0ab130: 000fc400 */ sll $t8,$t7,0x10 /* f0ab134: 0301c825 */ or $t9,$t8,$at /* f0ab138: afb900f4 */ sw $t9,0xf4($sp) .PF0f0ab13c: /* f0ab13c: 8fa40130 */ lw $a0,0x130($sp) /* f0ab140: 8fa500f4 */ lw $a1,0xf4($sp) /* f0ab144: 0fc5513c */ jal gfxSetPrimColour /* f0ab148: afaa0058 */ sw $t2,0x58($sp) /* f0ab14c: 3c068008 */ lui $a2,0x8008 /* f0ab150: 8fa70100 */ lw $a3,0x100($sp) /* f0ab154: 24c60020 */ addiu $a2,$a2,0x20 /* f0ab158: 8cd80000 */ lw $t8,0x0($a2) /* f0ab15c: 24effffe */ addiu $t7,$a3,-2 /* f0ab160: 8fa50128 */ lw $a1,0x128($sp) /* f0ab164: 01f80019 */ multu $t7,$t8 /* f0ab168: 3c01f600 */ lui $at,0xf600 /* f0ab16c: 30a303ff */ andi $v1,$a1,0x3ff /* f0ab170: 00037080 */ sll $t6,$v1,0x2 /* f0ab174: 01c01825 */ move $v1,$t6 /* f0ab178: 24440008 */ addiu $a0,$v0,0x8 /* f0ab17c: 0000c812 */ mflo $t9 /* f0ab180: 332e03ff */ andi $t6,$t9,0x3ff /* f0ab184: 000e7b80 */ sll $t7,$t6,0xe /* f0ab188: 01e1c025 */ or $t8,$t7,$at /* f0ab18c: 0303c825 */ or $t9,$t8,$v1 /* f0ab190: ac590000 */ sw $t9,0x0($v0) /* f0ab194: 8ccf0000 */ lw $t7,0x0($a2) /* f0ab198: 24eefff3 */ addiu $t6,$a3,-13 /* f0ab19c: 01cf0019 */ multu $t6,$t7 /* f0ab1a0: 24affff5 */ addiu $t7,$a1,-11 /* f0ab1a4: 0000c012 */ mflo $t8 /* f0ab1a8: 331903ff */ andi $t9,$t8,0x3ff /* f0ab1ac: 00197380 */ sll $t6,$t9,0xe /* f0ab1b0: 31f803ff */ andi $t8,$t7,0x3ff /* f0ab1b4: 0018c880 */ sll $t9,$t8,0x2 /* f0ab1b8: 01d97825 */ or $t7,$t6,$t9 /* f0ab1bc: ac4f0004 */ sw $t7,0x4($v0) /* f0ab1c0: 0fc55153 */ jal func0f153838 /* f0ab1c4: afa30060 */ sw $v1,0x60($sp) /* f0ab1c8: 3c18800a */ lui $t8,0x800a /* f0ab1cc: 8f18a798 */ lw $t8,-0x5868($t8) /* f0ab1d0: afa20130 */ sw $v0,0x130($sp) /* f0ab1d4: 0fc54d42 */ jal optionsGetShowGunFunction /* f0ab1d8: 8f040070 */ lw $a0,0x70($t8) /* f0ab1dc: 10400163 */ beqz $v0,.PF0f0ab76c /* f0ab1e0: 8faa0058 */ lw $t2,0x58($sp) /* f0ab1e4: 8fae005c */ lw $t6,0x5c($sp) /* f0ab1e8: 8fa500f0 */ lw $a1,0xf0($sp) /* f0ab1ec: 91c40000 */ lbu $a0,0x0($t6) /* f0ab1f0: 0fc2c531 */ jal weaponGetFunctionById /* f0ab1f4: afaa0058 */ sw $t2,0x58($sp) /* f0ab1f8: 0fc44e8c */ jal invGetCurrentIndex /* f0ab1fc: afa200bc */ sw $v0,0xbc($sp) /* f0ab200: 0fc44df6 */ jal invGetNameIdByIndex /* f0ab204: 00402025 */ move $a0,$v0 /* f0ab208: 00402025 */ move $a0,$v0 /* f0ab20c: 0fc5bdaa */ jal langGet /* f0ab210: a7a200ba */ sh $v0,0xba($sp) /* f0ab214: 8faa0058 */ lw $t2,0x58($sp) /* f0ab218: 97a300ba */ lhu $v1,0xba($sp) /* f0ab21c: 00403025 */ move $a2,$v0 /* f0ab220: 95590072 */ lhu $t9,0x72($t2) /* f0ab224: 3c02800a */ lui $v0,0x800a /* f0ab228: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0ab22c: 10790003 */ beq $v1,$t9,.PF0f0ab23c /* f0ab230: 27a500c0 */ addiu $a1,$sp,0xc0 /* f0ab234: a140006f */ sb $zero,0x6f($t2) /* f0ab238: a5430072 */ sh $v1,0x72($t2) .PF0f0ab23c: /* f0ab23c: 9143006f */ lbu $v1,0x6f($t2) /* f0ab240: 3c078008 */ lui $a3,0x8008 /* f0ab244: 286100ff */ slti $at,$v1,0xff /* f0ab248: 5020008b */ beqzl $at,.PF0f0ab478 /* f0ab24c: 8fa200bc */ lw $v0,0xbc($sp) /* f0ab250: 8c42a548 */ lw $v0,-0x5ab8($v0) /* f0ab254: 3c0f55ff */ lui $t7,0x55ff /* f0ab258: 35efffff */ ori $t7,$t7,0xffff /* f0ab25c: 0062c021 */ addu $t8,$v1,$v0 /* f0ab260: 2b010100 */ slti $at,$t8,0x100 /* f0ab264: 14200004 */ bnez $at,.PF0f0ab278 /* f0ab268: afaf00d0 */ sw $t7,0xd0($sp) /* f0ab26c: 240e00ff */ li $t6,0xff /* f0ab270: 10000003 */ b .PF0f0ab280 /* f0ab274: a14e006f */ sb $t6,0x6f($t2) .PF0f0ab278: /* f0ab278: 00627821 */ addu $t7,$v1,$v0 /* f0ab27c: a14f006f */ sb $t7,0x6f($t2) .PF0f0ab280: /* f0ab280: 3c188008 */ lui $t8,0x8008 /* f0ab284: 8f180064 */ lw $t8,0x64($t8) /* f0ab288: 8ce70068 */ lw $a3,0x68($a3) /* f0ab28c: afa00014 */ sw $zero,0x14($sp) /* f0ab290: afa600d4 */ sw $a2,0xd4($sp) /* f0ab294: afaa0058 */ sw $t2,0x58($sp) /* f0ab298: 0fc5609a */ jal textMeasure /* f0ab29c: afb80010 */ sw $t8,0x10($sp) /* f0ab2a0: 8fae00c0 */ lw $t6,0xc0($sp) /* f0ab2a4: 8faa0058 */ lw $t2,0x58($sp) /* f0ab2a8: 00002825 */ move $a1,$zero /* f0ab2ac: 25d90002 */ addiu $t9,$t6,0x2 /* f0ab2b0: afb900c0 */ sw $t9,0xc0($sp) /* f0ab2b4: 9142006f */ lbu $v0,0x6f($t2) /* f0ab2b8: 00027880 */ sll $t7,$v0,0x2 /* f0ab2bc: 01e27823 */ subu $t7,$t7,$v0 /* f0ab2c0: 01f9082a */ slt $at,$t7,$t9 /* f0ab2c4: 50200003 */ beqzl $at,.PF0f0ab2d4 /* f0ab2c8: 8fb80124 */ lw $t8,0x124($sp) /* f0ab2cc: afaf00c0 */ sw $t7,0xc0($sp) /* f0ab2d0: 8fb80124 */ lw $t8,0x124($sp) .PF0f0ab2d4: /* f0ab2d4: 8fae0100 */ lw $t6,0x100($sp) /* f0ab2d8: 8faf00c0 */ lw $t7,0xc0($sp) /* f0ab2dc: 2b010002 */ slti $at,$t8,0x2 /* f0ab2e0: 14200007 */ bnez $at,.PF0f0ab300 /* f0ab2e4: 01cfc823 */ subu $t9,$t6,$t7 /* f0ab2e8: 8fae0100 */ lw $t6,0x100($sp) /* f0ab2ec: 8faf00c0 */ lw $t7,0xc0($sp) /* f0ab2f0: 01cfc823 */ subu $t9,$t6,$t7 /* f0ab2f4: 2738fff3 */ addiu $t8,$t9,-13 /* f0ab2f8: 10000003 */ b .PF0f0ab308 /* f0ab2fc: afb800cc */ sw $t8,0xcc($sp) .PF0f0ab300: /* f0ab300: 2738fffe */ addiu $t8,$t9,-2 /* f0ab304: afb800cc */ sw $t8,0xcc($sp) .PF0f0ab308: /* f0ab308: 8fae0128 */ lw $t6,0x128($sp) /* f0ab30c: 8faf00c4 */ lw $t7,0xc4($sp) /* f0ab310: 01cfc823 */ subu $t9,$t6,$t7 /* f0ab314: 2738fff1 */ addiu $t8,$t9,-15 /* f0ab318: afb800c8 */ sw $t8,0xc8($sp) /* f0ab31c: 9143006f */ lbu $v1,0x6f($t2) /* f0ab320: 241800ff */ li $t8,0xff /* f0ab324: 286100c1 */ slti $at,$v1,0xc1 /* f0ab328: 1420000d */ bnez $at,.PF0f0ab360 /* f0ab32c: 00037200 */ sll $t6,$v1,0x8 /* f0ab330: 3c01ffff */ lui $at,0xffff /* f0ab334: 342140c0 */ ori $at,$at,0x40c0 /* f0ab338: 01c37023 */ subu $t6,$t6,$v1 /* f0ab33c: 01c17821 */ addu $t7,$t6,$at /* f0ab340: 2401003f */ li $at,0x3f /* f0ab344: 01e1001b */ divu $zero,$t7,$at /* f0ab348: 0000c812 */ mflo $t9 /* f0ab34c: 3c0155ff */ lui $at,0x55ff /* f0ab350: 03191023 */ subu $v0,$t8,$t9 /* f0ab354: 3421ff00 */ ori $at,$at,0xff00 /* f0ab358: 00417025 */ or $t6,$v0,$at /* f0ab35c: afae00d0 */ sw $t6,0xd0($sp) .PF0f0ab360: /* f0ab360: 8fa40130 */ lw $a0,0x130($sp) /* f0ab364: 0fc5513c */ jal gfxSetPrimColour /* f0ab368: afaa0058 */ sw $t2,0x58($sp) /* f0ab36c: 3c038008 */ lui $v1,0x8008 /* f0ab370: 8faf0100 */ lw $t7,0x100($sp) /* f0ab374: 24630020 */ addiu $v1,$v1,0x20 /* f0ab378: 8c790000 */ lw $t9,0x0($v1) /* f0ab37c: 25f8fff5 */ addiu $t8,$t7,-11 /* f0ab380: 3c01f600 */ lui $at,0xf600 /* f0ab384: 03190019 */ multu $t8,$t9 /* f0ab388: 24440008 */ addiu $a0,$v0,0x8 /* f0ab38c: 00007012 */ mflo $t6 /* f0ab390: 31cf03ff */ andi $t7,$t6,0x3ff /* f0ab394: 8fae0060 */ lw $t6,0x60($sp) /* f0ab398: 000fc380 */ sll $t8,$t7,0xe /* f0ab39c: 0301c825 */ or $t9,$t8,$at /* f0ab3a0: 032e7825 */ or $t7,$t9,$t6 /* f0ab3a4: ac4f0000 */ sw $t7,0x0($v0) /* f0ab3a8: 8fb800cc */ lw $t8,0xcc($sp) /* f0ab3ac: 8c6e0000 */ lw $t6,0x0($v1) /* f0ab3b0: 2719ffff */ addiu $t9,$t8,-1 /* f0ab3b4: 032e0019 */ multu $t9,$t6 /* f0ab3b8: 8fae00c8 */ lw $t6,0xc8($sp) /* f0ab3bc: 00007812 */ mflo $t7 /* f0ab3c0: 31f803ff */ andi $t8,$t7,0x3ff /* f0ab3c4: 0018cb80 */ sll $t9,$t8,0xe /* f0ab3c8: 25cfffff */ addiu $t7,$t6,-1 /* f0ab3cc: 31f803ff */ andi $t8,$t7,0x3ff /* f0ab3d0: 00187080 */ sll $t6,$t8,0x2 /* f0ab3d4: 032e7825 */ or $t7,$t9,$t6 /* f0ab3d8: 0fc55153 */ jal func0f153838 /* f0ab3dc: ac4f0004 */ sw $t7,0x4($v0) /* f0ab3e0: 3c018006 */ lui $at,0x8006 /* f0ab3e4: c4241300 */ lwc1 $f4,0x1300($at) /* f0ab3e8: 3c014248 */ lui $at,0x4248 /* f0ab3ec: 44813000 */ mtc1 $at,$f6 /* f0ab3f0: afa20130 */ sw $v0,0x130($sp) /* f0ab3f4: 00002825 */ move $a1,$zero /* f0ab3f8: 46062202 */ mul.s $f8,$f4,$f6 /* f0ab3fc: 24060032 */ li $a2,0x32 /* f0ab400: 4600428d */ trunc.w.s $f10,$f8 /* f0ab404: 44045000 */ mfc1 $a0,$f10 /* f0ab408: 0fc55299 */ jal func0f153d50 /* f0ab40c: 00000000 */ nop /* f0ab410: 2404ffff */ li $a0,-1 /* f0ab414: 0fc552d3 */ jal func0f153e38 /* f0ab418: 2405ffff */ li $a1,-1 /* f0ab41c: 3c198008 */ lui $t9,0x8008 /* f0ab420: 8f390068 */ lw $t9,0x68($t9) /* f0ab424: 3c0e8008 */ lui $t6,0x8008 /* f0ab428: 8dce0064 */ lw $t6,0x64($t6) /* f0ab42c: 8faf00d0 */ lw $t7,0xd0($sp) /* f0ab430: 8fb800c0 */ lw $t8,0xc0($sp) /* f0ab434: afb90010 */ sw $t9,0x10($sp) /* f0ab438: 241903e8 */ li $t9,0x3e8 /* f0ab43c: afb90020 */ sw $t9,0x20($sp) /* f0ab440: 8fa40130 */ lw $a0,0x130($sp) /* f0ab444: 27a500cc */ addiu $a1,$sp,0xcc /* f0ab448: 27a600c8 */ addiu $a2,$sp,0xc8 /* f0ab44c: 8fa700d4 */ lw $a3,0xd4($sp) /* f0ab450: afa00024 */ sw $zero,0x24($sp) /* f0ab454: afa00028 */ sw $zero,0x28($sp) /* f0ab458: afae0014 */ sw $t6,0x14($sp) /* f0ab45c: afaf0018 */ sw $t7,0x18($sp) /* f0ab460: 0fc55c50 */ jal textRenderProjected /* f0ab464: afb8001c */ sw $t8,0x1c($sp) /* f0ab468: 0fc552d8 */ jal func0f153e4c /* f0ab46c: afa20130 */ sw $v0,0x130($sp) /* f0ab470: 8faa0058 */ lw $t2,0x58($sp) /* f0ab474: 8fa200bc */ lw $v0,0xbc($sp) .PF0f0ab478: /* f0ab478: 504000bd */ beqzl $v0,.PF0f0ab770 /* f0ab47c: 8fa500fc */ lw $a1,0xfc($sp) /* f0ab480: 94440004 */ lhu $a0,0x4($v0) /* f0ab484: 0fc5bdaa */ jal langGet /* f0ab488: afaa0058 */ sw $t2,0x58($sp) /* f0ab48c: 3c0eff55 */ lui $t6,0xff55 /* f0ab490: 8fa300bc */ lw $v1,0xbc($sp) /* f0ab494: 8faa0058 */ lw $t2,0x58($sp) /* f0ab498: 35ce55ff */ ori $t6,$t6,0x55ff /* f0ab49c: afae00d0 */ sw $t6,0xd0($sp) /* f0ab4a0: 946f0004 */ lhu $t7,0x4($v1) /* f0ab4a4: 9544006c */ lhu $a0,0x6c($t2) /* f0ab4a8: 11e40005 */ beq $t7,$a0,.PF0f0ab4c0 /* f0ab4ac: 00000000 */ nop /* f0ab4b0: 91580067 */ lbu $t8,0x67($t2) /* f0ab4b4: 2b010081 */ slti $at,$t8,0x81 /* f0ab4b8: 50200004 */ beqzl $at,.PF0f0ab4cc /* f0ab4bc: a140006e */ sb $zero,0x6e($t2) .PF0f0ab4c0: /* f0ab4c0: 14800005 */ bnez $a0,.PF0f0ab4d8 /* f0ab4c4: 00000000 */ nop /* f0ab4c8: a140006e */ sb $zero,0x6e($t2) .PF0f0ab4cc: /* f0ab4cc: 94790004 */ lhu $t9,0x4($v1) /* f0ab4d0: a559006c */ sh $t9,0x6c($t2) /* f0ab4d4: 3324ffff */ andi $a0,$t9,0xffff .PF0f0ab4d8: /* f0ab4d8: 0fc5bdaa */ jal langGet /* f0ab4dc: afaa0058 */ sw $t2,0x58($sp) /* f0ab4e0: 8faa0058 */ lw $t2,0x58($sp) /* f0ab4e4: 00403025 */ move $a2,$v0 /* f0ab4e8: 3c02800a */ lui $v0,0x800a /* f0ab4ec: 9143006e */ lbu $v1,0x6e($t2) /* f0ab4f0: 8fae0100 */ lw $t6,0x100($sp) /* f0ab4f4: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0ab4f8: 286100ff */ slti $at,$v1,0xff /* f0ab4fc: 1020009b */ beqz $at,.PF0f0ab76c /* f0ab500: 27a500c0 */ addiu $a1,$sp,0xc0 /* f0ab504: 8c42a548 */ lw $v0,-0x5ab8($v0) /* f0ab508: 25cffff5 */ addiu $t7,$t6,-11 /* f0ab50c: afaf0060 */ sw $t7,0x60($sp) /* f0ab510: 0062c021 */ addu $t8,$v1,$v0 /* f0ab514: 2b010100 */ slti $at,$t8,0x100 /* f0ab518: 14200004 */ bnez $at,.PF0f0ab52c /* f0ab51c: 3c078008 */ lui $a3,0x8008 /* f0ab520: 241900ff */ li $t9,0xff /* f0ab524: 10000003 */ b .PF0f0ab534 /* f0ab528: a159006e */ sb $t9,0x6e($t2) .PF0f0ab52c: /* f0ab52c: 00627821 */ addu $t7,$v1,$v0 /* f0ab530: a14f006e */ sb $t7,0x6e($t2) .PF0f0ab534: /* f0ab534: 8fb800f0 */ lw $t8,0xf0($sp) /* f0ab538: 24010001 */ li $at,0x1 /* f0ab53c: 5701000a */ bnel $t8,$at,.PF0f0ab568 /* f0ab540: 8fae00f0 */ lw $t6,0xf0($sp) /* f0ab544: 8fae00bc */ lw $t6,0xbc($sp) /* f0ab548: 9559006c */ lhu $t9,0x6c($t2) /* f0ab54c: 3c18ffff */ lui $t8,0xffff /* f0ab550: 95cf0004 */ lhu $t7,0x4($t6) /* f0ab554: 371855ff */ ori $t8,$t8,0x55ff /* f0ab558: 572f0003 */ bnel $t9,$t7,.PF0f0ab568 /* f0ab55c: 8fae00f0 */ lw $t6,0xf0($sp) /* f0ab560: afb800d0 */ sw $t8,0xd0($sp) /* f0ab564: 8fae00f0 */ lw $t6,0xf0($sp) .PF0f0ab568: /* f0ab568: 8faf00bc */ lw $t7,0xbc($sp) /* f0ab56c: 15c00008 */ bnez $t6,.PF0f0ab590 /* f0ab570: 00000000 */ nop /* f0ab574: 9559006c */ lhu $t9,0x6c($t2) /* f0ab578: 95f80004 */ lhu $t8,0x4($t7) /* f0ab57c: 8fae00d0 */ lw $t6,0xd0($sp) /* f0ab580: 3c0100ff */ lui $at,0xff /* f0ab584: 13380002 */ beq $t9,$t8,.PF0f0ab590 /* f0ab588: 01c17825 */ or $t7,$t6,$at /* f0ab58c: afaf00d0 */ sw $t7,0xd0($sp) .PF0f0ab590: /* f0ab590: 3c198008 */ lui $t9,0x8008 /* f0ab594: 8f390064 */ lw $t9,0x64($t9) /* f0ab598: 8ce70068 */ lw $a3,0x68($a3) /* f0ab59c: afa00014 */ sw $zero,0x14($sp) /* f0ab5a0: afa600d4 */ sw $a2,0xd4($sp) /* f0ab5a4: afaa0058 */ sw $t2,0x58($sp) /* f0ab5a8: 0fc5609a */ jal textMeasure /* f0ab5ac: afb90010 */ sw $t9,0x10($sp) /* f0ab5b0: 8fb800c0 */ lw $t8,0xc0($sp) /* f0ab5b4: 8faa0058 */ lw $t2,0x58($sp) /* f0ab5b8: 00002825 */ move $a1,$zero /* f0ab5bc: 270e0002 */ addiu $t6,$t8,0x2 /* f0ab5c0: afae00c0 */ sw $t6,0xc0($sp) /* f0ab5c4: 9142006e */ lbu $v0,0x6e($t2) /* f0ab5c8: 00027880 */ sll $t7,$v0,0x2 /* f0ab5cc: 01e27823 */ subu $t7,$t7,$v0 /* f0ab5d0: 01ee082a */ slt $at,$t7,$t6 /* f0ab5d4: 50200003 */ beqzl $at,.PF0f0ab5e4 /* f0ab5d8: 8fb90100 */ lw $t9,0x100($sp) /* f0ab5dc: afaf00c0 */ sw $t7,0xc0($sp) /* f0ab5e0: 8fb90100 */ lw $t9,0x100($sp) .PF0f0ab5e4: /* f0ab5e4: 8fb800c0 */ lw $t8,0xc0($sp) /* f0ab5e8: 03387823 */ subu $t7,$t9,$t8 /* f0ab5ec: 8fb800c4 */ lw $t8,0xc4($sp) /* f0ab5f0: 8fb90128 */ lw $t9,0x128($sp) /* f0ab5f4: 25eefff3 */ addiu $t6,$t7,-13 /* f0ab5f8: afae00cc */ sw $t6,0xcc($sp) /* f0ab5fc: 03387823 */ subu $t7,$t9,$t8 /* f0ab600: 25eeffff */ addiu $t6,$t7,-1 /* f0ab604: afae00c8 */ sw $t6,0xc8($sp) /* f0ab608: 9143006e */ lbu $v1,0x6e($t2) /* f0ab60c: 240e00ff */ li $t6,0xff /* f0ab610: 286100c1 */ slti $at,$v1,0xc1 /* f0ab614: 1420000e */ bnez $at,.PF0f0ab650 /* f0ab618: 0003ca00 */ sll $t9,$v1,0x8 /* f0ab61c: 3c01ffff */ lui $at,0xffff /* f0ab620: 342140c0 */ ori $at,$at,0x40c0 /* f0ab624: 0323c823 */ subu $t9,$t9,$v1 /* f0ab628: 0321c021 */ addu $t8,$t9,$at /* f0ab62c: 2401003f */ li $at,0x3f /* f0ab630: 0301001b */ divu $zero,$t8,$at /* f0ab634: 8fb900d0 */ lw $t9,0xd0($sp) /* f0ab638: 00007812 */ mflo $t7 /* f0ab63c: 2401ff00 */ li $at,-256 /* f0ab640: 01cf1023 */ subu $v0,$t6,$t7 /* f0ab644: 0321c024 */ and $t8,$t9,$at /* f0ab648: 03027025 */ or $t6,$t8,$v0 /* f0ab64c: afae00d0 */ sw $t6,0xd0($sp) .PF0f0ab650: /* f0ab650: 8fa40130 */ lw $a0,0x130($sp) /* f0ab654: 0fc5513c */ jal gfxSetPrimColour /* f0ab658: afaa0058 */ sw $t2,0x58($sp) /* f0ab65c: 3c038008 */ lui $v1,0x8008 /* f0ab660: 24630020 */ addiu $v1,$v1,0x20 /* f0ab664: 8c790000 */ lw $t9,0x0($v1) /* f0ab668: 8faf0060 */ lw $t7,0x60($sp) /* f0ab66c: 3c01f600 */ lui $at,0xf600 /* f0ab670: 24440008 */ addiu $a0,$v0,0x8 /* f0ab674: 01f90019 */ multu $t7,$t9 /* f0ab678: 0000c012 */ mflo $t8 /* f0ab67c: 330e03ff */ andi $t6,$t8,0x3ff /* f0ab680: 8fb80128 */ lw $t8,0x128($sp) /* f0ab684: 000e7b80 */ sll $t7,$t6,0xe /* f0ab688: 01e1c825 */ or $t9,$t7,$at /* f0ab68c: 270e0003 */ addiu $t6,$t8,0x3 /* f0ab690: 31cf03ff */ andi $t7,$t6,0x3ff /* f0ab694: 000fc080 */ sll $t8,$t7,0x2 /* f0ab698: 03387025 */ or $t6,$t9,$t8 /* f0ab69c: ac4e0000 */ sw $t6,0x0($v0) /* f0ab6a0: 8faf00cc */ lw $t7,0xcc($sp) /* f0ab6a4: 8c780000 */ lw $t8,0x0($v1) /* f0ab6a8: 25f9ffff */ addiu $t9,$t7,-1 /* f0ab6ac: 03380019 */ multu $t9,$t8 /* f0ab6b0: 8fb800c8 */ lw $t8,0xc8($sp) /* f0ab6b4: 00007012 */ mflo $t6 /* f0ab6b8: 31cf03ff */ andi $t7,$t6,0x3ff /* f0ab6bc: 000fcb80 */ sll $t9,$t7,0xe /* f0ab6c0: 270effff */ addiu $t6,$t8,-1 /* f0ab6c4: 31cf03ff */ andi $t7,$t6,0x3ff /* f0ab6c8: 000fc080 */ sll $t8,$t7,0x2 /* f0ab6cc: 03387025 */ or $t6,$t9,$t8 /* f0ab6d0: 0fc55153 */ jal func0f153838 /* f0ab6d4: ac4e0004 */ sw $t6,0x4($v0) /* f0ab6d8: 3c018006 */ lui $at,0x8006 /* f0ab6dc: c4301300 */ lwc1 $f16,0x1300($at) /* f0ab6e0: 3c014248 */ lui $at,0x4248 /* f0ab6e4: 44819000 */ mtc1 $at,$f18 /* f0ab6e8: afa20130 */ sw $v0,0x130($sp) /* f0ab6ec: 00002825 */ move $a1,$zero /* f0ab6f0: 46128102 */ mul.s $f4,$f16,$f18 /* f0ab6f4: 24060032 */ li $a2,0x32 /* f0ab6f8: 4600218d */ trunc.w.s $f6,$f4 /* f0ab6fc: 44043000 */ mfc1 $a0,$f6 /* f0ab700: 0fc55299 */ jal func0f153d50 /* f0ab704: 00000000 */ nop /* f0ab708: 2404ffff */ li $a0,-1 /* f0ab70c: 0fc552d3 */ jal func0f153e38 /* f0ab710: 2405ffff */ li $a1,-1 /* f0ab714: 3c198008 */ lui $t9,0x8008 /* f0ab718: 8f390068 */ lw $t9,0x68($t9) /* f0ab71c: 3c188008 */ lui $t8,0x8008 /* f0ab720: 8f180064 */ lw $t8,0x64($t8) /* f0ab724: 8fae00d0 */ lw $t6,0xd0($sp) /* f0ab728: 8faf00c0 */ lw $t7,0xc0($sp) /* f0ab72c: afb90010 */ sw $t9,0x10($sp) /* f0ab730: 241903e8 */ li $t9,0x3e8 /* f0ab734: afb90020 */ sw $t9,0x20($sp) /* f0ab738: 8fa40130 */ lw $a0,0x130($sp) /* f0ab73c: 27a500cc */ addiu $a1,$sp,0xcc /* f0ab740: 27a600c8 */ addiu $a2,$sp,0xc8 /* f0ab744: 8fa700d4 */ lw $a3,0xd4($sp) /* f0ab748: afa00024 */ sw $zero,0x24($sp) /* f0ab74c: afa00028 */ sw $zero,0x28($sp) /* f0ab750: afb80014 */ sw $t8,0x14($sp) /* f0ab754: afae0018 */ sw $t6,0x18($sp) /* f0ab758: 0fc55c50 */ jal textRenderProjected /* f0ab75c: afaf001c */ sw $t7,0x1c($sp) /* f0ab760: 0fc552d8 */ jal func0f153e4c /* f0ab764: afa20130 */ sw $v0,0x130($sp) /* f0ab768: 8faa0058 */ lw $t2,0x58($sp) .PF0f0ab76c: /* f0ab76c: 8fa500fc */ lw $a1,0xfc($sp) .PF0f0ab770: /* f0ab770: 8fb8005c */ lw $t8,0x5c($sp) /* f0ab774: 50a0000a */ beqzl $a1,.PF0f0ab7a0 /* f0ab778: 8fae0110 */ lw $t6,0x110($sp) /* f0ab77c: 930e0003 */ lbu $t6,0x3($t8) /* f0ab780: 000e7880 */ sll $t7,$t6,0x2 /* f0ab784: 00afc821 */ addu $t9,$a1,$t7 /* f0ab788: 8f220014 */ lw $v0,0x14($t9) /* f0ab78c: 50400004 */ beqzl $v0,.PF0f0ab7a0 /* f0ab790: 8fae0110 */ lw $t6,0x110($sp) /* f0ab794: 80580007 */ lb $t8,0x7($v0) /* f0ab798: afb80110 */ sw $t8,0x110($sp) /* f0ab79c: 8fae0110 */ lw $t6,0x110($sp) .PF0f0ab7a0: /* f0ab7a0: 2403ffff */ li $v1,-1 /* f0ab7a4: 8faf005c */ lw $t7,0x5c($sp) /* f0ab7a8: 55c30014 */ bnel $t6,$v1,.PF0f0ab7fc /* f0ab7ac: 8faf0110 */ lw $t7,0x110($sp) /* f0ab7b0: 91f90003 */ lbu $t9,0x3($t7) /* f0ab7b4: 0019c080 */ sll $t8,$t9,0x2 /* f0ab7b8: 00187023 */ negu $t6,$t8 /* f0ab7bc: 00ae7821 */ addu $t7,$a1,$t6 /* f0ab7c0: 8de20018 */ lw $v0,0x18($t7) /* f0ab7c4: 50400004 */ beqzl $v0,.PF0f0ab7d8 /* f0ab7c8: 8fb80110 */ lw $t8,0x110($sp) /* f0ab7cc: 80590007 */ lb $t9,0x7($v0) /* f0ab7d0: afb90110 */ sw $t9,0x110($sp) /* f0ab7d4: 8fb80110 */ lw $t8,0x110($sp) .PF0f0ab7d8: /* f0ab7d8: 57030008 */ bnel $t8,$v1,.PF0f0ab7fc /* f0ab7dc: 8faf0110 */ lw $t7,0x110($sp) /* f0ab7e0: 0fc55125 */ jal func0f153780 /* f0ab7e4: 8fa40130 */ lw $a0,0x130($sp) /* f0ab7e8: 240e0001 */ li $t6,0x1 /* f0ab7ec: 3c018008 */ lui $at,0x8008 /* f0ab7f0: 100001e2 */ b .PF0f0abf7c /* f0ab7f4: ac2e0020 */ sw $t6,0x20($at) /* f0ab7f8: 8faf0110 */ lw $t7,0x110($sp) .PF0f0ab7fc: /* f0ab7fc: 81590069 */ lb $t9,0x69($t2) /* f0ab800: 8fa4012c */ lw $a0,0x12c($sp) /* f0ab804: 11f9000d */ beq $t7,$t9,.PF0f0ab83c /* f0ab808: 24841568 */ addiu $a0,$a0,0x1568 /* f0ab80c: 0fc2a878 */ jal bgunResetAbmag /* f0ab810: afaa0058 */ sw $t2,0x58($sp) /* f0ab814: 8fa4005c */ lw $a0,0x5c($sp) /* f0ab818: 0fc2a878 */ jal bgunResetAbmag /* f0ab81c: 2484078c */ addiu $a0,$a0,0x78c /* f0ab820: 8faa0058 */ lw $t2,0x58($sp) /* f0ab824: 0fc2a878 */ jal bgunResetAbmag /* f0ab828: 2544005c */ addiu $a0,$t2,0x5c /* f0ab82c: 8faa0058 */ lw $t2,0x58($sp) /* f0ab830: 8fb80110 */ lw $t8,0x110($sp) /* f0ab834: a1580069 */ sb $t8,0x69($t2) /* f0ab838: 8fa500fc */ lw $a1,0xfc($sp) .PF0f0ab83c: /* f0ab83c: 8fae012c */ lw $t6,0x12c($sp) /* f0ab840: 8fa20110 */ lw $v0,0x110($sp) /* f0ab844: 25cf0ddc */ addiu $t7,$t6,0xddc /* f0ab848: afaf0060 */ sw $t7,0x60($sp) /* f0ab84c: 81d90de4 */ lb $t9,0xde4($t6) /* f0ab850: 0002c080 */ sll $t8,$v0,0x2 /* f0ab854: 00b82021 */ addu $a0,$a1,$t8 /* f0ab858: 53200076 */ beqzl $t9,.PF0f0aba34 /* f0ab85c: 8fb9005c */ lw $t9,0x5c($sp) /* f0ab860: 8c8f001c */ lw $t7,0x1c($a0) /* f0ab864: 51e00073 */ beqzl $t7,.PF0f0aba34 /* f0ab868: 8fb9005c */ lw $t9,0x5c($sp) /* f0ab86c: 91d90ddc */ lbu $t9,0xddc($t6) /* f0ab870: 24010022 */ li $at,0x22 /* f0ab874: 5321006f */ beql $t9,$at,.PF0f0aba34 /* f0ab878: 8fb9005c */ lw $t9,0x5c($sp) /* f0ab87c: afb80050 */ sw $t8,0x50($sp) /* f0ab880: afa40054 */ sw $a0,0x54($sp) /* f0ab884: 0c002e91 */ jal viGetViewLeft /* f0ab888: afaa0058 */ sw $t2,0x58($sp) /* f0ab88c: 3c188008 */ lui $t8,0x8008 /* f0ab890: 8f180020 */ lw $t8,0x20($t8) /* f0ab894: 8fb90124 */ lw $t9,0x124($sp) /* f0ab898: 8fa40054 */ lw $a0,0x54($sp) /* f0ab89c: 0058001a */ div $zero,$v0,$t8 /* f0ab8a0: 00007812 */ mflo $t7 /* f0ab8a4: 25ee0018 */ addiu $t6,$t7,0x18 /* f0ab8a8: afae0100 */ sw $t6,0x100($sp) /* f0ab8ac: 8faa0058 */ lw $t2,0x58($sp) /* f0ab8b0: 17000002 */ bnez $t8,.PF0f0ab8bc /* f0ab8b4: 00000000 */ nop /* f0ab8b8: 0007000d */ break 0x7 .PF0f0ab8bc: /* f0ab8bc: 2401ffff */ li $at,-1 /* f0ab8c0: 17010004 */ bne $t8,$at,.PF0f0ab8d4 /* f0ab8c4: 3c018000 */ lui $at,0x8000 /* f0ab8c8: 14410002 */ bne $v0,$at,.PF0f0ab8d4 /* f0ab8cc: 00000000 */ nop /* f0ab8d0: 0006000d */ break 0x6 .PF0f0ab8d4: /* f0ab8d4: 24010002 */ li $at,0x2 /* f0ab8d8: 57210015 */ bnel $t9,$at,.PF0f0ab930 /* f0ab8dc: 8fb80124 */ lw $t8,0x124($sp) /* f0ab8e0: afa40054 */ sw $a0,0x54($sp) /* f0ab8e4: 0fc54ef9 */ jal optionsGetScreenSplit /* f0ab8e8: afaa0058 */ sw $t2,0x58($sp) /* f0ab8ec: 24010001 */ li $at,0x1 /* f0ab8f0: 8fa40054 */ lw $a0,0x54($sp) /* f0ab8f4: 10410006 */ beq $v0,$at,.PF0f0ab910 /* f0ab8f8: 8faa0058 */ lw $t2,0x58($sp) /* f0ab8fc: 3c188009 */ lui $t8,0x8009 /* f0ab900: 93181040 */ lbu $t8,0x1040($t8) /* f0ab904: 24010001 */ li $at,0x1 /* f0ab908: 57010009 */ bnel $t8,$at,.PF0f0ab930 /* f0ab90c: 8fb80124 */ lw $t8,0x124($sp) .PF0f0ab910: /* f0ab910: 8faf0120 */ lw $t7,0x120($sp) /* f0ab914: 8fae0100 */ lw $t6,0x100($sp) /* f0ab918: 24010001 */ li $at,0x1 /* f0ab91c: 15e10003 */ bne $t7,$at,.PF0f0ab92c /* f0ab920: 25d9fff2 */ addiu $t9,$t6,-14 /* f0ab924: 1000000b */ b .PF0f0ab954 /* f0ab928: afb90100 */ sw $t9,0x100($sp) .PF0f0ab92c: /* f0ab92c: 8fb80124 */ lw $t8,0x124($sp) .PF0f0ab930: /* f0ab930: 8faf0120 */ lw $t7,0x120($sp) /* f0ab934: 2b010003 */ slti $at,$t8,0x3 /* f0ab938: 14200006 */ bnez $at,.PF0f0ab954 /* f0ab93c: 31ee0001 */ andi $t6,$t7,0x1 /* f0ab940: 24010001 */ li $at,0x1 /* f0ab944: 15c10003 */ bne $t6,$at,.PF0f0ab954 /* f0ab948: 8fb90100 */ lw $t9,0x100($sp) /* f0ab94c: 2738fff2 */ addiu $t8,$t9,-14 /* f0ab950: afb80100 */ sw $t8,0x100($sp) .PF0f0ab954: /* f0ab954: 8fa90060 */ lw $t1,0x60($sp) /* f0ab958: 8faf0050 */ lw $t7,0x50($sp) /* f0ab95c: 012f1821 */ addu $v1,$t1,$t7 /* f0ab960: 8c680228 */ lw $t0,0x228($v1) /* f0ab964: 59000033 */ blezl $t0,.PF0f0aba34 /* f0ab968: 8fb9005c */ lw $t9,0x5c($sp) /* f0ab96c: 8c8e001c */ lw $t6,0x1c($a0) /* f0ab970: 8fa40130 */ lw $a0,0x130($sp) /* f0ab974: 91d90010 */ lbu $t9,0x10($t6) /* f0ab978: 8fae0128 */ lw $t6,0x128($sp) /* f0ab97c: 33380002 */ andi $t8,$t9,0x2 /* f0ab980: 1700002b */ bnez $t8,.PF0f0aba30 /* f0ab984: 8fb90108 */ lw $t9,0x108($sp) /* f0ab988: 8fb80104 */ lw $t8,0x104($sp) /* f0ab98c: 01d91023 */ subu $v0,$t6,$t9 /* f0ab990: 2459fffd */ addiu $t9,$v0,-3 /* f0ab994: 00583023 */ subu $a2,$v0,$t8 /* f0ab998: 2538078c */ addiu $t8,$t1,0x78c /* f0ab99c: afb80014 */ sw $t8,0x14($sp) /* f0ab9a0: afb90010 */ sw $t9,0x10($sp) /* f0ab9a4: 8c6f0220 */ lw $t7,0x220($v1) /* f0ab9a8: 8fae010c */ lw $t6,0x10c($sp) /* f0ab9ac: 8fa50100 */ lw $a1,0x100($sp) /* f0ab9b0: 3c1900ff */ lui $t9,0xff /* f0ab9b4: 37390040 */ ori $t9,$t9,0x40 /* f0ab9b8: 00ae3821 */ addu $a3,$a1,$t6 /* f0ab9bc: 3c0e0030 */ lui $t6,0x30 /* f0ab9c0: 35ce0080 */ ori $t6,$t6,0x80 /* f0ab9c4: afae0020 */ sw $t6,0x20($sp) /* f0ab9c8: afa70044 */ sw $a3,0x44($sp) /* f0ab9cc: afb90024 */ sw $t9,0x24($sp) /* f0ab9d0: afaa0058 */ sw $t2,0x58($sp) /* f0ab9d4: afa3004c */ sw $v1,0x4c($sp) /* f0ab9d8: afa20048 */ sw $v0,0x48($sp) /* f0ab9dc: afa00028 */ sw $zero,0x28($sp) /* f0ab9e0: afa8001c */ sw $t0,0x1c($sp) /* f0ab9e4: 24c6fffd */ addiu $a2,$a2,-3 /* f0ab9e8: 0fc2a907 */ jal bgunRenderHudGauge /* f0ab9ec: afaf0018 */ sw $t7,0x18($sp) /* f0ab9f0: 8fa3004c */ lw $v1,0x4c($sp) /* f0ab9f4: 8fb80048 */ lw $t8,0x48($sp) /* f0ab9f8: 8fa60044 */ lw $a2,0x44($sp) /* f0ab9fc: 3c0e00ff */ lui $t6,0xff /* f0aba00: 8c650220 */ lw $a1,0x220($v1) /* f0aba04: 35ce00a0 */ ori $t6,$t6,0xa0 /* f0aba08: 270ffff8 */ addiu $t7,$t8,-8 /* f0aba0c: afaf0010 */ sw $t7,0x10($sp) /* f0aba10: afae0018 */ sw $t6,0x18($sp) /* f0aba14: afa00014 */ sw $zero,0x14($sp) /* f0aba18: 00402025 */ move $a0,$v0 /* f0aba1c: 24070001 */ li $a3,0x1 /* f0aba20: 0fc2a85e */ jal bgunRenderHudInteger /* f0aba24: 24c60002 */ addiu $a2,$a2,0x2 /* f0aba28: 8faa0058 */ lw $t2,0x58($sp) /* f0aba2c: afa20130 */ sw $v0,0x130($sp) .PF0f0aba30: /* f0aba30: 8fb9005c */ lw $t9,0x5c($sp) .PF0f0aba34: /* f0aba34: 8faf0110 */ lw $t7,0x110($sp) /* f0aba38: 83380008 */ lb $t8,0x8($t9) /* f0aba3c: 014f7021 */ addu $t6,$t2,$t7 /* f0aba40: 13000149 */ beqz $t8,.PF0f0abf68 /* f0aba44: 00000000 */ nop /* f0aba48: 81d90064 */ lb $t9,0x64($t6) /* f0aba4c: 8fb8012c */ lw $t8,0x12c($sp) /* f0aba50: 07200145 */ bltz $t9,.PF0f0abf68 /* f0aba54: 030f7021 */ addu $t6,$t8,$t7 /* f0aba58: 81d915e4 */ lb $t9,0x15e4($t6) /* f0aba5c: 000fc080 */ sll $t8,$t7,0x2 /* f0aba60: afb80050 */ sw $t8,0x50($sp) /* f0aba64: afaa0058 */ sw $t2,0x58($sp) /* f0aba68: 0c002e91 */ jal viGetViewLeft /* f0aba6c: afb900a4 */ sw $t9,0xa4($sp) /* f0aba70: 0c002e73 */ jal viGetViewWidth /* f0aba74: a7a20076 */ sh $v0,0x76($sp) /* f0aba78: 87ae0076 */ lh $t6,0x76($sp) /* f0aba7c: 3c0f8008 */ lui $t7,0x8008 /* f0aba80: 8def0020 */ lw $t7,0x20($t7) /* f0aba84: 004ec821 */ addu $t9,$v0,$t6 /* f0aba88: 8fae010c */ lw $t6,0x10c($sp) /* f0aba8c: 032f001a */ div $zero,$t9,$t7 /* f0aba90: 0000c012 */ mflo $t8 /* f0aba94: 8faa0058 */ lw $t2,0x58($sp) /* f0aba98: 15e00002 */ bnez $t7,.PF0f0abaa4 /* f0aba9c: 00000000 */ nop /* f0abaa0: 0007000d */ break 0x7 .PF0f0abaa4: /* f0abaa4: 2401ffff */ li $at,-1 /* f0abaa8: 15e10004 */ bne $t7,$at,.PF0f0ababc /* f0abaac: 3c018000 */ lui $at,0x8000 /* f0abab0: 17210002 */ bne $t9,$at,.PF0f0ababc /* f0abab4: 00000000 */ nop /* f0abab8: 0006000d */ break 0x6 .PF0f0ababc: /* f0ababc: 030ec823 */ subu $t9,$t8,$t6 /* f0abac0: 8fb80124 */ lw $t8,0x124($sp) /* f0abac4: 272fffe8 */ addiu $t7,$t9,-24 /* f0abac8: 24010002 */ li $at,0x2 /* f0abacc: 17010011 */ bne $t8,$at,.PF0f0abb14 /* f0abad0: afaf0100 */ sw $t7,0x100($sp) /* f0abad4: 0fc54ef9 */ jal optionsGetScreenSplit /* f0abad8: afaa0058 */ sw $t2,0x58($sp) /* f0abadc: 24010001 */ li $at,0x1 /* f0abae0: 10410006 */ beq $v0,$at,.PF0f0abafc /* f0abae4: 8faa0058 */ lw $t2,0x58($sp) /* f0abae8: 3c0e8009 */ lui $t6,0x8009 /* f0abaec: 91ce1040 */ lbu $t6,0x1040($t6) /* f0abaf0: 24010001 */ li $at,0x1 /* f0abaf4: 55c10008 */ bnel $t6,$at,.PF0f0abb18 /* f0abaf8: 8fae0124 */ lw $t6,0x124($sp) .PF0f0abafc: /* f0abafc: 8fb90120 */ lw $t9,0x120($sp) /* f0abb00: 8faf0100 */ lw $t7,0x100($sp) /* f0abb04: 17200003 */ bnez $t9,.PF0f0abb14 /* f0abb08: 25f8000f */ addiu $t8,$t7,0xf /* f0abb0c: 1000000a */ b .PF0f0abb38 /* f0abb10: afb80100 */ sw $t8,0x100($sp) .PF0f0abb14: /* f0abb14: 8fae0124 */ lw $t6,0x124($sp) .PF0f0abb18: /* f0abb18: 8fb90120 */ lw $t9,0x120($sp) /* f0abb1c: 29c10003 */ slti $at,$t6,0x3 /* f0abb20: 14200005 */ bnez $at,.PF0f0abb38 /* f0abb24: 332f0001 */ andi $t7,$t9,0x1 /* f0abb28: 15e00003 */ bnez $t7,.PF0f0abb38 /* f0abb2c: 8fb80100 */ lw $t8,0x100($sp) /* f0abb30: 270e000f */ addiu $t6,$t8,0xf /* f0abb34: afae0100 */ sw $t6,0x100($sp) .PF0f0abb38: /* f0abb38: 8faf00a4 */ lw $t7,0xa4($sp) /* f0abb3c: 8fa90050 */ lw $t1,0x50($sp) /* f0abb40: 8fb9012c */ lw $t9,0x12c($sp) /* f0abb44: 000fc080 */ sll $t8,$t7,0x2 /* f0abb48: 8faf005c */ lw $t7,0x5c($sp) /* f0abb4c: 03387021 */ addu $t6,$t9,$t8 /* f0abb50: 8fb900fc */ lw $t9,0xfc($sp) /* f0abb54: 01e94021 */ addu $t0,$t7,$t1 /* f0abb58: 8d030228 */ lw $v1,0x228($t0) /* f0abb5c: 8dcc17a8 */ lw $t4,0x17a8($t6) /* f0abb60: 0329c021 */ addu $t8,$t9,$t1 /* f0abb64: 58600038 */ blezl $v1,.PF0f0abc48 /* f0abb68: 8faf00a4 */ lw $t7,0xa4($sp) /* f0abb6c: 8f02001c */ lw $v0,0x1c($t8) /* f0abb70: 50400035 */ beqzl $v0,.PF0f0abc48 /* f0abb74: 8faf00a4 */ lw $t7,0xa4($sp) /* f0abb78: 904e0010 */ lbu $t6,0x10($v0) /* f0abb7c: 25f8078c */ addiu $t8,$t7,0x78c /* f0abb80: 3c0f00ff */ lui $t7,0xff /* f0abb84: 31d90002 */ andi $t9,$t6,0x2 /* f0abb88: 1720002e */ bnez $t9,.PF0f0abc44 /* f0abb8c: 8fae0128 */ lw $t6,0x128($sp) /* f0abb90: 8fb90108 */ lw $t9,0x108($sp) /* f0abb94: 8fa50100 */ lw $a1,0x100($sp) /* f0abb98: afb80014 */ sw $t8,0x14($sp) /* f0abb9c: 01d91023 */ subu $v0,$t6,$t9 /* f0abba0: 8fae0104 */ lw $t6,0x104($sp) /* f0abba4: 8fb9010c */ lw $t9,0x10c($sp) /* f0abba8: 2458fff8 */ addiu $t8,$v0,-8 /* f0abbac: 004e3023 */ subu $a2,$v0,$t6 /* f0abbb0: 244efffd */ addiu $t6,$v0,-3 /* f0abbb4: afae0010 */ sw $t6,0x10($sp) /* f0abbb8: 00b93821 */ addu $a3,$a1,$t9 /* f0abbbc: 8d190220 */ lw $t9,0x220($t0) /* f0abbc0: 3c0e0030 */ lui $t6,0x30 /* f0abbc4: 35ce0080 */ ori $t6,$t6,0x80 /* f0abbc8: 35ef0040 */ ori $t7,$t7,0x40 /* f0abbcc: afaf0024 */ sw $t7,0x24($sp) /* f0abbd0: afae0020 */ sw $t6,0x20($sp) /* f0abbd4: afac00a0 */ sw $t4,0xa0($sp) /* f0abbd8: afaa0058 */ sw $t2,0x58($sp) /* f0abbdc: afa80038 */ sw $t0,0x38($sp) /* f0abbe0: afb80054 */ sw $t8,0x54($sp) /* f0abbe4: afa00028 */ sw $zero,0x28($sp) /* f0abbe8: afa3001c */ sw $v1,0x1c($sp) /* f0abbec: 24c6fffd */ addiu $a2,$a2,-3 /* f0abbf0: 8fa40130 */ lw $a0,0x130($sp) /* f0abbf4: 0fc2a907 */ jal bgunRenderHudGauge /* f0abbf8: afb90018 */ sw $t9,0x18($sp) /* f0abbfc: 8fa80038 */ lw $t0,0x38($sp) /* f0abc00: 8fa60100 */ lw $a2,0x100($sp) /* f0abc04: 8fb90054 */ lw $t9,0x54($sp) /* f0abc08: 3c0e00ff */ lui $t6,0xff /* f0abc0c: 8d050220 */ lw $a1,0x220($t0) /* f0abc10: 35ce00a0 */ ori $t6,$t6,0xa0 /* f0abc14: afae0018 */ sw $t6,0x18($sp) /* f0abc18: afa00014 */ sw $zero,0x14($sp) /* f0abc1c: 00402025 */ move $a0,$v0 /* f0abc20: 00003825 */ move $a3,$zero /* f0abc24: 24c6fffe */ addiu $a2,$a2,-2 /* f0abc28: 0fc2a85e */ jal bgunRenderHudInteger /* f0abc2c: afb90010 */ sw $t9,0x10($sp) /* f0abc30: 8fa80038 */ lw $t0,0x38($sp) /* f0abc34: 8faa0058 */ lw $t2,0x58($sp) /* f0abc38: 8fac00a0 */ lw $t4,0xa0($sp) /* f0abc3c: afa20130 */ sw $v0,0x130($sp) /* f0abc40: 8fa90050 */ lw $t1,0x50($sp) .PF0f0abc44: /* f0abc44: 8faf00a4 */ lw $t7,0xa4($sp) .PF0f0abc48: /* f0abc48: 3c0b8007 */ lui $t3,0x8007 /* f0abc4c: 8fb900fc */ lw $t9,0xfc($sp) /* f0abc50: 000fc080 */ sll $t8,$t7,0x2 /* f0abc54: 030fc023 */ subu $t8,$t8,$t7 /* f0abc58: 0018c080 */ sll $t8,$t8,0x2 /* f0abc5c: 01785821 */ addu $t3,$t3,$t8 /* f0abc60: 8d6b06f8 */ lw $t3,0x6f8($t3) /* f0abc64: 03297021 */ addu $t6,$t9,$t1 /* f0abc68: 5960003e */ blezl $t3,.PF0f0abd64 /* f0abc6c: 8fb9005c */ lw $t9,0x5c($sp) /* f0abc70: 8dcf001c */ lw $t7,0x1c($t6) /* f0abc74: 8fb90100 */ lw $t9,0x100($sp) /* f0abc78: 91e20010 */ lbu $v0,0x10($t7) /* f0abc7c: 272efffe */ addiu $t6,$t9,-2 /* f0abc80: 30580001 */ andi $t8,$v0,0x1 /* f0abc84: 57000037 */ bnezl $t8,.PF0f0abd64 /* f0abc88: 8fb9005c */ lw $t9,0x5c($sp) /* f0abc8c: 8faf0128 */ lw $t7,0x128($sp) /* f0abc90: 8fb80108 */ lw $t8,0x108($sp) /* f0abc94: afae0054 */ sw $t6,0x54($sp) /* f0abc98: 8fae010c */ lw $t6,0x10c($sp) /* f0abc9c: 01f83023 */ subu $a2,$t7,$t8 /* f0abca0: 304f0002 */ andi $t7,$v0,0x2 /* f0abca4: 01804825 */ move $t1,$t4 /* f0abca8: 254d005c */ addiu $t5,$t2,0x5c /* f0abcac: 11e0000d */ beqz $t7,.PF0f0abce4 /* f0abcb0: 032e3821 */ addu $a3,$t9,$t6 /* f0abcb4: 8d0e0228 */ lw $t6,0x228($t0) /* f0abcb8: 8fb80060 */ lw $t8,0x60($sp) /* f0abcbc: 8fb90050 */ lw $t9,0x50($sp) /* f0abcc0: 19c00003 */ blez $t6,.PF0f0abcd0 /* f0abcc4: 03191821 */ addu $v1,$t8,$t9 /* f0abcc8: 8d0f0220 */ lw $t7,0x220($t0) /* f0abccc: 018f4821 */ addu $t1,$t4,$t7 .PF0f0abcd0: /* f0abcd0: 8c780228 */ lw $t8,0x228($v1) /* f0abcd4: 5b000004 */ blezl $t8,.PF0f0abce8 /* f0abcd8: 8fae0128 */ lw $t6,0x128($sp) /* f0abcdc: 8c790220 */ lw $t9,0x220($v1) /* f0abce0: 01394821 */ addu $t1,$t1,$t9 .PF0f0abce4: /* f0abce4: 8fae0128 */ lw $t6,0x128($sp) .PF0f0abce8: /* f0abce8: 3c0f0040 */ lui $t7,0x40 /* f0abcec: 3c1800ff */ lui $t8,0xff /* f0abcf0: 3718c040 */ ori $t8,$t8,0xc040 /* f0abcf4: 35ef3080 */ ori $t7,$t7,0x3080 /* f0abcf8: 24190001 */ li $t9,0x1 /* f0abcfc: afb90028 */ sw $t9,0x28($sp) /* f0abd00: afaf0020 */ sw $t7,0x20($sp) /* f0abd04: afb80024 */ sw $t8,0x24($sp) /* f0abd08: 8fa40130 */ lw $a0,0x130($sp) /* f0abd0c: 8fa50100 */ lw $a1,0x100($sp) /* f0abd10: afad0014 */ sw $t5,0x14($sp) /* f0abd14: afa90018 */ sw $t1,0x18($sp) /* f0abd18: afab001c */ sw $t3,0x1c($sp) /* f0abd1c: afa60048 */ sw $a2,0x48($sp) /* f0abd20: afa9009c */ sw $t1,0x9c($sp) /* f0abd24: 0fc2a907 */ jal bgunRenderHudGauge /* f0abd28: afae0010 */ sw $t6,0x10($sp) /* f0abd2c: 8fae0048 */ lw $t6,0x48($sp) /* f0abd30: 3c1800ff */ lui $t8,0xff /* f0abd34: 3718c0a0 */ ori $t8,$t8,0xc0a0 /* f0abd38: 25cf0001 */ addiu $t7,$t6,0x1 /* f0abd3c: afaf0010 */ sw $t7,0x10($sp) /* f0abd40: afb80018 */ sw $t8,0x18($sp) /* f0abd44: 00402025 */ move $a0,$v0 /* f0abd48: 8fa5009c */ lw $a1,0x9c($sp) /* f0abd4c: 8fa60054 */ lw $a2,0x54($sp) /* f0abd50: 00003825 */ move $a3,$zero /* f0abd54: 0fc2a85e */ jal bgunRenderHudInteger /* f0abd58: afa00014 */ sw $zero,0x14($sp) /* f0abd5c: afa20130 */ sw $v0,0x130($sp) /* f0abd60: 8fb9005c */ lw $t9,0x5c($sp) .PF0f0abd64: /* f0abd64: 24010023 */ li $at,0x23 /* f0abd68: 24080bb8 */ li $t0,0xbb8 /* f0abd6c: 932e0000 */ lbu $t6,0x0($t9) /* f0abd70: 3c03800a */ lui $v1,0x800a /* f0abd74: 15c1007c */ bne $t6,$at,.PF0f0abf68 /* f0abd78: 00000000 */ nop /* f0abd7c: 8c63a96c */ lw $v1,-0x5694($v1) /* f0abd80: 8fb80100 */ lw $t8,0x100($sp) /* f0abd84: 8fb9010c */ lw $t9,0x10c($sp) /* f0abd88: 0068001a */ div $zero,$v1,$t0 /* f0abd8c: 00007812 */ mflo $t7 /* f0abd90: afaf005c */ sw $t7,0x5c($sp) /* f0abd94: 03197021 */ addu $t6,$t8,$t9 /* f0abd98: 8fb80108 */ lw $t8,0x108($sp) /* f0abd9c: 8faf0128 */ lw $t7,0x128($sp) /* f0abda0: afae0044 */ sw $t6,0x44($sp) /* f0abda4: 15000002 */ bnez $t0,.PF0f0abdb0 /* f0abda8: 00000000 */ nop /* f0abdac: 0007000d */ break 0x7 .PF0f0abdb0: /* f0abdb0: 2401ffff */ li $at,-1 /* f0abdb4: 15010004 */ bne $t0,$at,.PF0f0abdc8 /* f0abdb8: 3c018000 */ lui $at,0x8000 /* f0abdbc: 14610002 */ bne $v1,$at,.PF0f0abdc8 /* f0abdc0: 00000000 */ nop /* f0abdc4: 0006000d */ break 0x6 .PF0f0abdc8: /* f0abdc8: 01f8c823 */ subu $t9,$t7,$t8 /* f0abdcc: 8faf005c */ lw $t7,0x5c($sp) /* f0abdd0: 272e0001 */ addiu $t6,$t9,0x1 /* f0abdd4: afae0060 */ sw $t6,0x60($sp) /* f0abdd8: 59e0002e */ blezl $t7,.PF0f0abe94 /* f0abddc: 8fb9005c */ lw $t9,0x5c($sp) /* f0abde0: 01e80019 */ multu $t7,$t0 /* f0abde4: 24090032 */ li $t1,0x32 /* f0abde8: 01e03025 */ move $a2,$t7 /* f0abdec: 3c057f1b */ lui $a1,0x7f1b /* f0abdf0: 24a5d37c */ addiu $a1,$a1,-11396 /* f0abdf4: 27a40078 */ addiu $a0,$sp,0x78 /* f0abdf8: 0000c012 */ mflo $t8 /* f0abdfc: 00781023 */ subu $v0,$v1,$t8 /* f0abe00: 00000000 */ nop /* f0abe04: 0049001a */ div $zero,$v0,$t1 /* f0abe08: 00003812 */ mflo $a3 /* f0abe0c: 15200002 */ bnez $t1,.PF0f0abe18 /* f0abe10: 00000000 */ nop /* f0abe14: 0007000d */ break 0x7 .PF0f0abe18: /* f0abe18: 2401ffff */ li $at,-1 /* f0abe1c: 15210004 */ bne $t1,$at,.PF0f0abe30 /* f0abe20: 3c018000 */ lui $at,0x8000 /* f0abe24: 14410002 */ bne $v0,$at,.PF0f0abe30 /* f0abe28: 00000000 */ nop /* f0abe2c: 0006000d */ break 0x6 .PF0f0abe30: /* f0abe30: 00e90019 */ multu $a3,$t1 /* f0abe34: 0000c812 */ mflo $t9 /* f0abe38: 00597023 */ subu $t6,$v0,$t9 /* f0abe3c: 000e7880 */ sll $t7,$t6,0x2 /* f0abe40: 01ee7823 */ subu $t7,$t7,$t6 /* f0abe44: 000f78c0 */ sll $t7,$t7,0x3 /* f0abe48: 01ee7821 */ addu $t7,$t7,$t6 /* f0abe4c: 000f7880 */ sll $t7,$t7,0x2 /* f0abe50: 01e9001a */ div $zero,$t7,$t1 /* f0abe54: 0000c012 */ mflo $t8 /* f0abe58: afb80010 */ sw $t8,0x10($sp) /* f0abe5c: 15200002 */ bnez $t1,.PF0f0abe68 /* f0abe60: 00000000 */ nop /* f0abe64: 0007000d */ break 0x7 .PF0f0abe68: /* f0abe68: 2401ffff */ li $at,-1 /* f0abe6c: 15210004 */ bne $t1,$at,.PF0f0abe80 /* f0abe70: 3c018000 */ lui $at,0x8000 /* f0abe74: 15e10002 */ bne $t7,$at,.PF0f0abe80 /* f0abe78: 00000000 */ nop /* f0abe7c: 0006000d */ break 0x6 .PF0f0abe80: /* f0abe80: 0c004d11 */ jal sprintf /* f0abe84: 00000000 */ nop /* f0abe88: 1000002b */ b .PF0f0abf38 /* f0abe8c: 8fa60044 */ lw $a2,0x44($sp) /* f0abe90: 8fb9005c */ lw $t9,0x5c($sp) .PF0f0abe94: /* f0abe94: 24090032 */ li $t1,0x32 /* f0abe98: 3c057f1b */ lui $a1,0x7f1b /* f0abe9c: 03280019 */ multu $t9,$t0 /* f0abea0: 24a5d38c */ addiu $a1,$a1,-11380 /* f0abea4: 27a40078 */ addiu $a0,$sp,0x78 /* f0abea8: 00007012 */ mflo $t6 /* f0abeac: 006e1023 */ subu $v0,$v1,$t6 /* f0abeb0: 00000000 */ nop /* f0abeb4: 0049001a */ div $zero,$v0,$t1 /* f0abeb8: 00003012 */ mflo $a2 /* f0abebc: 15200002 */ bnez $t1,.PF0f0abec8 /* f0abec0: 00000000 */ nop /* f0abec4: 0007000d */ break 0x7 .PF0f0abec8: /* f0abec8: 2401ffff */ li $at,-1 /* f0abecc: 15210004 */ bne $t1,$at,.PF0f0abee0 /* f0abed0: 3c018000 */ lui $at,0x8000 /* f0abed4: 14410002 */ bne $v0,$at,.PF0f0abee0 /* f0abed8: 00000000 */ nop /* f0abedc: 0006000d */ break 0x6 .PF0f0abee0: /* f0abee0: 00c90019 */ multu $a2,$t1 /* f0abee4: 00007812 */ mflo $t7 /* f0abee8: 004fc023 */ subu $t8,$v0,$t7 /* f0abeec: 0018c880 */ sll $t9,$t8,0x2 /* f0abef0: 0338c823 */ subu $t9,$t9,$t8 /* f0abef4: 0019c8c0 */ sll $t9,$t9,0x3 /* f0abef8: 0338c821 */ addu $t9,$t9,$t8 /* f0abefc: 0019c880 */ sll $t9,$t9,0x2 /* f0abf00: 0329001a */ div $zero,$t9,$t1 /* f0abf04: 00003812 */ mflo $a3 /* f0abf08: 15200002 */ bnez $t1,.PF0f0abf14 /* f0abf0c: 00000000 */ nop /* f0abf10: 0007000d */ break 0x7 .PF0f0abf14: /* f0abf14: 2401ffff */ li $at,-1 /* f0abf18: 15210004 */ bne $t1,$at,.PF0f0abf2c /* f0abf1c: 3c018000 */ lui $at,0x8000 /* f0abf20: 17210002 */ bne $t9,$at,.PF0f0abf2c /* f0abf24: 00000000 */ nop /* f0abf28: 0006000d */ break 0x6 .PF0f0abf2c: /* f0abf2c: 0c004d11 */ jal sprintf /* f0abf30: 00000000 */ nop /* f0abf34: 8fa60044 */ lw $a2,0x44($sp) .PF0f0abf38: /* f0abf38: 8fae0060 */ lw $t6,0x60($sp) /* f0abf3c: 3c0f00ff */ lui $t7,0xff /* f0abf40: 35efc0a0 */ ori $t7,$t7,0xc0a0 /* f0abf44: afaf0018 */ sw $t7,0x18($sp) /* f0abf48: 8fa40130 */ lw $a0,0x130($sp) /* f0abf4c: 27a50078 */ addiu $a1,$sp,0x78 /* f0abf50: 00003825 */ move $a3,$zero /* f0abf54: afa00014 */ sw $zero,0x14($sp) /* f0abf58: 24c6fffe */ addiu $a2,$a2,-2 /* f0abf5c: 0fc2a7ed */ jal bgunRenderHudString /* f0abf60: afae0010 */ sw $t6,0x10($sp) /* f0abf64: afa20130 */ sw $v0,0x130($sp) .PF0f0abf68: /* f0abf68: 0fc55125 */ jal func0f153780 /* f0abf6c: 8fa40130 */ lw $a0,0x130($sp) /* f0abf70: 24180001 */ li $t8,0x1 /* f0abf74: 3c018008 */ lui $at,0x8008 /* f0abf78: ac380020 */ sw $t8,0x20($at) .PF0f0abf7c: /* f0abf7c: 8fbf0034 */ lw $ra,0x34($sp) /* f0abf80: 27bd0130 */ addiu $sp,$sp,0x130 /* f0abf84: 03e00008 */ jr $ra /* f0abf88: 00000000 */ nop ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel bgunRenderHud /* f0aa86c: 3c0e800a */ lui $t6,%hi(g_Vars+0x284) /* f0aa870: 8dcea244 */ lw $t6,%lo(g_Vars+0x284)($t6) /* f0aa874: 27bdfed0 */ addiu $sp,$sp,-304 /* f0aa878: afbf0034 */ sw $ra,0x34($sp) /* f0aa87c: afa40130 */ sw $a0,0x130($sp) /* f0aa880: 0c002f44 */ jal viGetViewTop /* f0aa884: afae012c */ sw $t6,0x12c($sp) /* f0aa888: 0c002f26 */ jal viGetViewHeight /* f0aa88c: a7a20076 */ sh $v0,0x76($sp) /* f0aa890: 87af0076 */ lh $t7,0x76($sp) /* f0aa894: 3c08800a */ lui $t0,%hi(g_Vars) /* f0aa898: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) /* f0aa89c: 8d0e006c */ lw $t6,0x6c($t0) /* f0aa8a0: 004fc021 */ addu $t8,$v0,$t7 /* f0aa8a4: 2719fff3 */ addiu $t9,$t8,-13 /* f0aa8a8: 11c00003 */ beqz $t6,.L0f0aa8b8 /* f0aa8ac: afb90128 */ sw $t9,0x128($sp) /* f0aa8b0: 10000002 */ b .L0f0aa8bc /* f0aa8b4: 24060001 */ addiu $a2,$zero,0x1 .L0f0aa8b8: /* f0aa8b8: 00003025 */ or $a2,$zero,$zero .L0f0aa8bc: /* f0aa8bc: 8d0f0068 */ lw $t7,0x68($t0) /* f0aa8c0: 00001825 */ or $v1,$zero,$zero /* f0aa8c4: 00002825 */ or $a1,$zero,$zero /* f0aa8c8: 11e00003 */ beqz $t7,.L0f0aa8d8 /* f0aa8cc: 00001025 */ or $v0,$zero,$zero /* f0aa8d0: 10000001 */ b .L0f0aa8d8 /* f0aa8d4: 24030001 */ addiu $v1,$zero,0x1 .L0f0aa8d8: /* f0aa8d8: 8d180064 */ lw $t8,0x64($t0) /* f0aa8dc: 13000003 */ beqz $t8,.L0f0aa8ec /* f0aa8e0: 00000000 */ nop /* f0aa8e4: 10000001 */ b .L0f0aa8ec /* f0aa8e8: 24050001 */ addiu $a1,$zero,0x1 .L0f0aa8ec: /* f0aa8ec: 8d190070 */ lw $t9,0x70($t0) /* f0aa8f0: 13200003 */ beqz $t9,.L0f0aa900 /* f0aa8f4: 00000000 */ nop /* f0aa8f8: 10000001 */ b .L0f0aa900 /* f0aa8fc: 24020001 */ addiu $v0,$zero,0x1 .L0f0aa900: /* f0aa900: 8d18028c */ lw $t8,0x28c($t0) /* f0aa904: 00457021 */ addu $t6,$v0,$a1 /* f0aa908: 01c37821 */ addu $t7,$t6,$v1 /* f0aa90c: afb80120 */ sw $t8,0x120($sp) /* f0aa910: 8fb8012c */ lw $t8,0x12c($sp) /* f0aa914: 01e63821 */ addu $a3,$t7,$a2 /* f0aa918: 24190009 */ addiu $t9,$zero,0x9 /* f0aa91c: 240e0024 */ addiu $t6,$zero,0x24 /* f0aa920: 240f0039 */ addiu $t7,$zero,0x39 /* f0aa924: afa70124 */ sw $a3,0x124($sp) /* f0aa928: afa00110 */ sw $zero,0x110($sp) /* f0aa92c: afb9010c */ sw $t9,0x10c($sp) /* f0aa930: afae0108 */ sw $t6,0x108($sp) /* f0aa934: afaf0104 */ sw $t7,0x104($sp) /* f0aa938: 83041580 */ lb $a0,0x1580($t8) /* f0aa93c: 0fc2c3f4 */ jal weaponFindById /* f0aa940: afa70060 */ sw $a3,0x60($sp) /* f0aa944: 8fb9012c */ lw $t9,0x12c($sp) /* f0aa948: afa200fc */ sw $v0,0xfc($sp) /* f0aa94c: 3c03800a */ lui $v1,%hi(g_Vars) /* f0aa950: 8f2e00d8 */ lw $t6,0xd8($t9) /* f0aa954: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f0aa958: 51c00004 */ beqzl $t6,.L0f0aa96c /* f0aa95c: 8c6f0284 */ lw $t7,0x284($v1) /* f0aa960: 10000457 */ b .L0f0abac0 /* f0aa964: 8fa20130 */ lw $v0,0x130($sp) /* f0aa968: 8c6f0284 */ lw $t7,0x284($v1) .L0f0aa96c: /* f0aa96c: 8df81580 */ lw $t8,0x1580($t7) /* f0aa970: 33190001 */ andi $t9,$t8,0x1 /* f0aa974: 53200004 */ beqzl $t9,.L0f0aa988 /* f0aa978: 8c6e000c */ lw $t6,0xc($v1) /* f0aa97c: 10000450 */ b .L0f0abac0 /* f0aa980: 8fa20130 */ lw $v0,0x130($sp) /* f0aa984: 8c6e000c */ lw $t6,0xc($v1) .L0f0aa988: /* f0aa988: 3c0f8007 */ lui $t7,%hi(g_ViMode) /* f0aa98c: 29c10005 */ slti $at,$t6,0x5 /* f0aa990: 10200003 */ beqz $at,.L0f0aa9a0 /* f0aa994: 00000000 */ nop /* f0aa998: 10000449 */ b .L0f0abac0 /* f0aa99c: 8fa20130 */ lw $v0,0x130($sp) .L0f0aa9a0: /* f0aa9a0: 8def06c8 */ lw $t7,%lo(g_ViMode)($t7) /* f0aa9a4: 24020001 */ addiu $v0,$zero,0x1 /* f0aa9a8: 144f0004 */ bne $v0,$t7,.L0f0aa9bc /* f0aa9ac: 24180002 */ addiu $t8,$zero,0x2 /* f0aa9b0: 3c018008 */ lui $at,%hi(g_ScaleX) /* f0aa9b4: 10000003 */ b .L0f0aa9c4 /* f0aa9b8: ac38fac0 */ sw $t8,%lo(g_ScaleX)($at) .L0f0aa9bc: /* f0aa9bc: 3c018008 */ lui $at,%hi(g_ScaleX) /* f0aa9c0: ac22fac0 */ sw $v0,%lo(g_ScaleX)($at) .L0f0aa9c4: /* f0aa9c4: 0fc54d8a */ jal func0f153628 /* f0aa9c8: 8fa40130 */ lw $a0,0x130($sp) /* f0aa9cc: 8fb90060 */ lw $t9,0x60($sp) /* f0aa9d0: afa20130 */ sw $v0,0x130($sp) /* f0aa9d4: 2b210002 */ slti $at,$t9,0x2 /* f0aa9d8: 1420002a */ bnez $at,.L0f0aaa84 /* f0aa9dc: 240e0005 */ addiu $t6,$zero,0x5 /* f0aa9e0: 240f001a */ addiu $t7,$zero,0x1a /* f0aa9e4: 2418002f */ addiu $t8,$zero,0x2f /* f0aa9e8: 24010002 */ addiu $at,$zero,0x2 /* f0aa9ec: afae010c */ sw $t6,0x10c($sp) /* f0aa9f0: afaf0108 */ sw $t7,0x108($sp) /* f0aa9f4: 17210015 */ bne $t9,$at,.L0f0aaa4c /* f0aa9f8: afb80104 */ sw $t8,0x104($sp) /* f0aa9fc: 3c0e8009 */ lui $t6,%hi(g_Is4Mb) /* f0aaa00: 91ce0af0 */ lbu $t6,%lo(g_Is4Mb)($t6) /* f0aaa04: 24010001 */ addiu $at,$zero,0x1 /* f0aaa08: 51c10009 */ beql $t6,$at,.L0f0aaa30 /* f0aaa0c: 8fb80128 */ lw $t8,0x128($sp) /* f0aaa10: 0fc54bcd */ jal optionsGetScreenSplit /* f0aaa14: 00000000 */ nop /* f0aaa18: 24010001 */ addiu $at,$zero,0x1 /* f0aaa1c: 10410007 */ beq $v0,$at,.L0f0aaa3c /* f0aaa20: 8faf0120 */ lw $t7,0x120($sp) /* f0aaa24: 55e00006 */ bnezl $t7,.L0f0aaa40 /* f0aaa28: 8fae0128 */ lw $t6,0x128($sp) /* f0aaa2c: 8fb80128 */ lw $t8,0x128($sp) .L0f0aaa30: /* f0aaa30: 2719000a */ addiu $t9,$t8,0xa /* f0aaa34: 10000019 */ b .L0f0aaa9c /* f0aaa38: afb90128 */ sw $t9,0x128($sp) .L0f0aaa3c: /* f0aaa3c: 8fae0128 */ lw $t6,0x128($sp) .L0f0aaa40: /* f0aaa40: 25cf0002 */ addiu $t7,$t6,0x2 /* f0aaa44: 10000015 */ b .L0f0aaa9c /* f0aaa48: afaf0128 */ sw $t7,0x128($sp) .L0f0aaa4c: /* f0aaa4c: 8fb80060 */ lw $t8,0x60($sp) /* f0aaa50: 8fb90120 */ lw $t9,0x120($sp) /* f0aaa54: 2b010003 */ slti $at,$t8,0x3 /* f0aaa58: 14200010 */ bnez $at,.L0f0aaa9c /* f0aaa5c: 2b210002 */ slti $at,$t9,0x2 /* f0aaa60: 10200005 */ beqz $at,.L0f0aaa78 /* f0aaa64: 8fb80128 */ lw $t8,0x128($sp) /* f0aaa68: 8fae0128 */ lw $t6,0x128($sp) /* f0aaa6c: 25cf000a */ addiu $t7,$t6,0xa /* f0aaa70: 1000000a */ b .L0f0aaa9c /* f0aaa74: afaf0128 */ sw $t7,0x128($sp) .L0f0aaa78: /* f0aaa78: 27190002 */ addiu $t9,$t8,0x2 /* f0aaa7c: 10000007 */ b .L0f0aaa9c /* f0aaa80: afb90128 */ sw $t9,0x128($sp) .L0f0aaa84: /* f0aaa84: 0fc54b60 */ jal optionsGetEffectiveScreenSize /* f0aaa88: 00000000 */ nop /* f0aaa8c: 10400003 */ beqz $v0,.L0f0aaa9c /* f0aaa90: 8fae0128 */ lw $t6,0x128($sp) /* f0aaa94: 25cf0008 */ addiu $t7,$t6,0x8 /* f0aaa98: afaf0128 */ sw $t7,0x128($sp) .L0f0aaa9c: /* f0aaa9c: 8fa2012c */ lw $v0,0x12c($sp) /* f0aaaa0: 3c18ff00 */ lui $t8,0xff00 /* f0aaaa4: 3c0e800a */ lui $t6,%hi(g_Vars+0x34) /* f0aaaa8: 8dce9ff4 */ lw $t6,%lo(g_Vars+0x34)($t6) /* f0aaaac: 37180040 */ ori $t8,$t8,0x40 /* f0aaab0: afb800f4 */ sw $t8,0xf4($sp) /* f0aaab4: 9059063b */ lbu $t9,0x63b($v0) /* f0aaab8: 24420638 */ addiu $v0,$v0,0x638 /* f0aaabc: 000e7840 */ sll $t7,$t6,0x1 /* f0aaac0: afaf00ec */ sw $t7,0xec($sp) /* f0aaac4: afa2005c */ sw $v0,0x5c($sp) /* f0aaac8: 27a400dc */ addiu $a0,$sp,0xdc /* f0aaacc: 00002825 */ or $a1,$zero,$zero /* f0aaad0: 0fc26313 */ jal bgunGetWeaponInfo /* f0aaad4: afb900f0 */ sw $t9,0xf0($sp) /* f0aaad8: 0fc2a31f */ jal bgunIsUsingSecondaryFunction /* f0aaadc: 00000000 */ nop /* f0aaae0: afa200e8 */ sw $v0,0xe8($sp) /* f0aaae4: 00402025 */ or $a0,$v0,$zero /* f0aaae8: 27a500dc */ addiu $a1,$sp,0xdc /* f0aaaec: 0fc26328 */ jal bgun0f098ca0 /* f0aaaf0: 8fa6005c */ lw $a2,0x5c($sp) /* f0aaaf4: 04400003 */ bltz $v0,.L0f0aab04 /* f0aaaf8: 00000000 */ nop /* f0aaafc: 8fb800e8 */ lw $t8,0xe8($sp) /* f0aab00: afb800f0 */ sw $t8,0xf0($sp) .L0f0aab04: /* f0aab04: 0c002f40 */ jal viGetViewLeft /* f0aab08: 00000000 */ nop /* f0aab0c: 0c002f22 */ jal viGetViewWidth /* f0aab10: a7a20076 */ sh $v0,0x76($sp) /* f0aab14: 87b90076 */ lh $t9,0x76($sp) /* f0aab18: 3c0f8008 */ lui $t7,%hi(g_ScaleX) /* f0aab1c: 8deffac0 */ lw $t7,%lo(g_ScaleX)($t7) /* f0aab20: 00597021 */ addu $t6,$v0,$t9 /* f0aab24: 8fb9010c */ lw $t9,0x10c($sp) /* f0aab28: 01cf001a */ div $zero,$t6,$t7 /* f0aab2c: 15e00002 */ bnez $t7,.L0f0aab38 /* f0aab30: 00000000 */ nop /* f0aab34: 0007000d */ break 0x7 .L0f0aab38: /* f0aab38: 2401ffff */ addiu $at,$zero,-1 /* f0aab3c: 15e10004 */ bne $t7,$at,.L0f0aab50 /* f0aab40: 3c018000 */ lui $at,0x8000 /* f0aab44: 15c10002 */ bne $t6,$at,.L0f0aab50 /* f0aab48: 00000000 */ nop /* f0aab4c: 0006000d */ break 0x6 .L0f0aab50: /* f0aab50: 0000c012 */ mflo $t8 /* f0aab54: 03197023 */ subu $t6,$t8,$t9 /* f0aab58: 8fb80060 */ lw $t8,0x60($sp) /* f0aab5c: 25cfffe8 */ addiu $t7,$t6,-24 /* f0aab60: 24010002 */ addiu $at,$zero,0x2 /* f0aab64: 1701000f */ bne $t8,$at,.L0f0aaba4 /* f0aab68: afaf0100 */ sw $t7,0x100($sp) /* f0aab6c: 0fc54bcd */ jal optionsGetScreenSplit /* f0aab70: 00000000 */ nop /* f0aab74: 24070001 */ addiu $a3,$zero,0x1 /* f0aab78: 10e20004 */ beq $a3,$v0,.L0f0aab8c /* f0aab7c: 3c198009 */ lui $t9,%hi(g_Is4Mb) /* f0aab80: 93390af0 */ lbu $t9,%lo(g_Is4Mb)($t9) /* f0aab84: 54f90008 */ bnel $a3,$t9,.L0f0aaba8 /* f0aab88: 8fb90060 */ lw $t9,0x60($sp) .L0f0aab8c: /* f0aab8c: 8fae0120 */ lw $t6,0x120($sp) /* f0aab90: 8faf0100 */ lw $t7,0x100($sp) /* f0aab94: 15c00003 */ bnez $t6,.L0f0aaba4 /* f0aab98: 25f8000f */ addiu $t8,$t7,0xf /* f0aab9c: 1000000b */ b .L0f0aabcc /* f0aaba0: afb80100 */ sw $t8,0x100($sp) .L0f0aaba4: /* f0aaba4: 8fb90060 */ lw $t9,0x60($sp) .L0f0aaba8: /* f0aaba8: 8fae0120 */ lw $t6,0x120($sp) /* f0aabac: 24070001 */ addiu $a3,$zero,0x1 /* f0aabb0: 2b210003 */ slti $at,$t9,0x3 /* f0aabb4: 14200005 */ bnez $at,.L0f0aabcc /* f0aabb8: 31cf0001 */ andi $t7,$t6,0x1 /* f0aabbc: 15e00003 */ bnez $t7,.L0f0aabcc /* f0aabc0: 8fb80100 */ lw $t8,0x100($sp) /* f0aabc4: 2719000f */ addiu $t9,$t8,0xf /* f0aabc8: afb90100 */ sw $t9,0x100($sp) .L0f0aabcc: /* f0aabcc: 8fa600f0 */ lw $a2,0xf0($sp) /* f0aabd0: 8faa012c */ lw $t2,0x12c($sp) /* f0aabd4: 54c70014 */ bnel $a2,$a3,.L0f0aac28 /* f0aabd8: 8faa012c */ lw $t2,0x12c($sp) /* f0aabdc: 914215e7 */ lbu $v0,0x15e7($t2) /* f0aabe0: 254a1580 */ addiu $t2,$t2,0x1580 /* f0aabe4: 284100ff */ slti $at,$v0,0xff /* f0aabe8: 1020000e */ beqz $at,.L0f0aac24 /* f0aabec: 28410080 */ slti $at,$v0,0x80 /* f0aabf0: 10200003 */ beqz $at,.L0f0aac00 /* f0aabf4: 240e0080 */ addiu $t6,$zero,0x80 /* f0aabf8: a14e0067 */ sb $t6,0x67($t2) /* f0aabfc: 31c200ff */ andi $v0,$t6,0xff .L0f0aac00: /* f0aac00: 8faf00ec */ lw $t7,0xec($sp) /* f0aac04: 241800ff */ addiu $t8,$zero,0xff /* f0aac08: 004f1821 */ addu $v1,$v0,$t7 /* f0aac0c: 28610100 */ slti $at,$v1,0x100 /* f0aac10: 54200004 */ bnezl $at,.L0f0aac24 /* f0aac14: a1430067 */ sb $v1,0x67($t2) /* f0aac18: 10000002 */ b .L0f0aac24 /* f0aac1c: a1580067 */ sb $t8,0x67($t2) /* f0aac20: a1430067 */ sb $v1,0x67($t2) .L0f0aac24: /* f0aac24: 8faa012c */ lw $t2,0x12c($sp) .L0f0aac28: /* f0aac28: 254a1580 */ addiu $t2,$t2,0x1580 /* f0aac2c: 14c0000a */ bnez $a2,.L0f0aac58 /* f0aac30: 91420067 */ lbu $v0,0x67($t2) /* f0aac34: 18400008 */ blez $v0,.L0f0aac58 /* f0aac38: 8fb900ec */ lw $t9,0xec($sp) /* f0aac3c: 00591823 */ subu $v1,$v0,$t9 /* f0aac40: 04610004 */ bgez $v1,.L0f0aac54 /* f0aac44: 306200ff */ andi $v0,$v1,0xff /* f0aac48: a1400067 */ sb $zero,0x67($t2) /* f0aac4c: 10000002 */ b .L0f0aac58 /* f0aac50: 300200ff */ andi $v0,$zero,0xff .L0f0aac54: /* f0aac54: a1430067 */ sb $v1,0x67($t2) .L0f0aac58: /* f0aac58: 28410081 */ slti $at,$v0,0x81 /* f0aac5c: 14200007 */ bnez $at,.L0f0aac7c /* f0aac60: 00027040 */ sll $t6,$v0,0x1 /* f0aac64: 25cfff00 */ addiu $t7,$t6,-256 /* f0aac68: 3c01ff00 */ lui $at,0xff00 /* f0aac6c: 34210040 */ ori $at,$at,0x40 /* f0aac70: 000fc400 */ sll $t8,$t7,0x10 /* f0aac74: 0301c825 */ or $t9,$t8,$at /* f0aac78: afb900f4 */ sw $t9,0xf4($sp) .L0f0aac7c: /* f0aac7c: 8fa40130 */ lw $a0,0x130($sp) /* f0aac80: 8fa500f4 */ lw $a1,0xf4($sp) /* f0aac84: 0fc54df7 */ jal gfxSetPrimColour /* f0aac88: afaa0058 */ sw $t2,0x58($sp) /* f0aac8c: 3c068008 */ lui $a2,%hi(g_ScaleX) /* f0aac90: 8faf0100 */ lw $t7,0x100($sp) /* f0aac94: 24c6fac0 */ addiu $a2,$a2,%lo(g_ScaleX) /* f0aac98: 8cd90000 */ lw $t9,0x0($a2) /* f0aac9c: 25f8fffe */ addiu $t8,$t7,-2 /* f0aaca0: 8fa50128 */ lw $a1,0x128($sp) /* f0aaca4: 03190019 */ multu $t8,$t9 /* f0aaca8: 3c01f600 */ lui $at,0xf600 /* f0aacac: 30a303ff */ andi $v1,$a1,0x3ff /* f0aacb0: 00037080 */ sll $t6,$v1,0x2 /* f0aacb4: 01c01825 */ or $v1,$t6,$zero /* f0aacb8: 24440008 */ addiu $a0,$v0,0x8 /* f0aacbc: 00007012 */ mflo $t6 /* f0aacc0: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aacc4: 000fc380 */ sll $t8,$t7,0xe /* f0aacc8: 0301c825 */ or $t9,$t8,$at /* f0aaccc: 03237025 */ or $t6,$t9,$v1 /* f0aacd0: ac4e0000 */ sw $t6,0x0($v0) /* f0aacd4: 8faf0100 */ lw $t7,0x100($sp) /* f0aacd8: 8cd90000 */ lw $t9,0x0($a2) /* f0aacdc: 25f8fff3 */ addiu $t8,$t7,-13 /* f0aace0: 03190019 */ multu $t8,$t9 /* f0aace4: 24b9fff5 */ addiu $t9,$a1,-11 /* f0aace8: 00007012 */ mflo $t6 /* f0aacec: 31cf03ff */ andi $t7,$t6,0x3ff /* f0aacf0: 000fc380 */ sll $t8,$t7,0xe /* f0aacf4: 332e03ff */ andi $t6,$t9,0x3ff /* f0aacf8: 000e7880 */ sll $t7,$t6,0x2 /* f0aacfc: 030fc825 */ or $t9,$t8,$t7 /* f0aad00: ac590004 */ sw $t9,0x4($v0) /* f0aad04: 0fc54e0e */ jal func0f153838 /* f0aad08: afa30060 */ sw $v1,0x60($sp) /* f0aad0c: 3c0e800a */ lui $t6,%hi(g_Vars+0x288) /* f0aad10: 8dcea248 */ lw $t6,%lo(g_Vars+0x288)($t6) /* f0aad14: afa20130 */ sw $v0,0x130($sp) /* f0aad18: 0fc54a16 */ jal optionsGetShowGunFunction /* f0aad1c: 8dc40070 */ lw $a0,0x70($t6) /* f0aad20: 10400163 */ beqz $v0,.L0f0ab2b0 /* f0aad24: 8faa0058 */ lw $t2,0x58($sp) /* f0aad28: 8fb8005c */ lw $t8,0x5c($sp) /* f0aad2c: 8fa500f0 */ lw $a1,0xf0($sp) /* f0aad30: 93040000 */ lbu $a0,0x0($t8) /* f0aad34: 0fc2c401 */ jal weaponGetFunctionById /* f0aad38: afaa0058 */ sw $t2,0x58($sp) /* f0aad3c: 0fc44bd4 */ jal invGetCurrentIndex /* f0aad40: afa200bc */ sw $v0,0xbc($sp) /* f0aad44: 0fc44b3e */ jal invGetNameIdByIndex /* f0aad48: 00402025 */ or $a0,$v0,$zero /* f0aad4c: 00402025 */ or $a0,$v0,$zero /* f0aad50: 0fc5b9f1 */ jal langGet /* f0aad54: a7a200ba */ sh $v0,0xba($sp) /* f0aad58: 8faa0058 */ lw $t2,0x58($sp) /* f0aad5c: 97a300ba */ lhu $v1,0xba($sp) /* f0aad60: 00403025 */ or $a2,$v0,$zero /* f0aad64: 954f0072 */ lhu $t7,0x72($t2) /* f0aad68: 3c02800a */ lui $v0,%hi(g_Vars+0x38) /* f0aad6c: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0aad70: 106f0003 */ beq $v1,$t7,.L0f0aad80 /* f0aad74: 27a500c0 */ addiu $a1,$sp,0xc0 /* f0aad78: a140006f */ sb $zero,0x6f($t2) /* f0aad7c: a5430072 */ sh $v1,0x72($t2) .L0f0aad80: /* f0aad80: 9143006f */ lbu $v1,0x6f($t2) /* f0aad84: 3c078008 */ lui $a3,%hi(g_FontHandelGothicXs1) /* f0aad88: 286100ff */ slti $at,$v1,0xff /* f0aad8c: 5020008b */ beqzl $at,.L0f0aafbc /* f0aad90: 8fa200bc */ lw $v0,0xbc($sp) /* f0aad94: 8c429ff8 */ lw $v0,%lo(g_Vars+0x38)($v0) /* f0aad98: 3c1955ff */ lui $t9,0x55ff /* f0aad9c: 3739ffff */ ori $t9,$t9,0xffff /* f0aada0: 00627021 */ addu $t6,$v1,$v0 /* f0aada4: 29c10100 */ slti $at,$t6,0x100 /* f0aada8: 14200004 */ bnez $at,.L0f0aadbc /* f0aadac: afb900d0 */ sw $t9,0xd0($sp) /* f0aadb0: 241800ff */ addiu $t8,$zero,0xff /* f0aadb4: 10000003 */ b .L0f0aadc4 /* f0aadb8: a158006f */ sb $t8,0x6f($t2) .L0f0aadbc: /* f0aadbc: 0062c821 */ addu $t9,$v1,$v0 /* f0aadc0: a159006f */ sb $t9,0x6f($t2) .L0f0aadc4: /* f0aadc4: 3c0e8008 */ lui $t6,%hi(g_FontHandelGothicXs2) /* f0aadc8: 8dcefb04 */ lw $t6,%lo(g_FontHandelGothicXs2)($t6) /* f0aadcc: 8ce7fb08 */ lw $a3,%lo(g_FontHandelGothicXs1)($a3) /* f0aadd0: afa00014 */ sw $zero,0x14($sp) /* f0aadd4: afa600d4 */ sw $a2,0xd4($sp) /* f0aadd8: afaa0058 */ sw $t2,0x58($sp) /* f0aaddc: 0fc55cbe */ jal textMeasure /* f0aade0: afae0010 */ sw $t6,0x10($sp) /* f0aade4: 8fb800c0 */ lw $t8,0xc0($sp) /* f0aade8: 8faa0058 */ lw $t2,0x58($sp) /* f0aadec: 00002825 */ or $a1,$zero,$zero /* f0aadf0: 270f0002 */ addiu $t7,$t8,0x2 /* f0aadf4: afaf00c0 */ sw $t7,0xc0($sp) /* f0aadf8: 9142006f */ lbu $v0,0x6f($t2) /* f0aadfc: 0002c880 */ sll $t9,$v0,0x2 /* f0aae00: 0322c823 */ subu $t9,$t9,$v0 /* f0aae04: 032f082a */ slt $at,$t9,$t7 /* f0aae08: 50200003 */ beqzl $at,.L0f0aae18 /* f0aae0c: 8fae0124 */ lw $t6,0x124($sp) /* f0aae10: afb900c0 */ sw $t9,0xc0($sp) /* f0aae14: 8fae0124 */ lw $t6,0x124($sp) .L0f0aae18: /* f0aae18: 8fb80100 */ lw $t8,0x100($sp) /* f0aae1c: 8fb900c0 */ lw $t9,0xc0($sp) /* f0aae20: 29c10002 */ slti $at,$t6,0x2 /* f0aae24: 14200007 */ bnez $at,.L0f0aae44 /* f0aae28: 03197823 */ subu $t7,$t8,$t9 /* f0aae2c: 8fb80100 */ lw $t8,0x100($sp) /* f0aae30: 8fb900c0 */ lw $t9,0xc0($sp) /* f0aae34: 03197823 */ subu $t7,$t8,$t9 /* f0aae38: 25eefff3 */ addiu $t6,$t7,-13 /* f0aae3c: 10000003 */ b .L0f0aae4c /* f0aae40: afae00cc */ sw $t6,0xcc($sp) .L0f0aae44: /* f0aae44: 25eefffe */ addiu $t6,$t7,-2 /* f0aae48: afae00cc */ sw $t6,0xcc($sp) .L0f0aae4c: /* f0aae4c: 8fb80128 */ lw $t8,0x128($sp) /* f0aae50: 8fb900c4 */ lw $t9,0xc4($sp) /* f0aae54: 03197823 */ subu $t7,$t8,$t9 /* f0aae58: 25eefff1 */ addiu $t6,$t7,-15 /* f0aae5c: afae00c8 */ sw $t6,0xc8($sp) /* f0aae60: 9143006f */ lbu $v1,0x6f($t2) /* f0aae64: 240e00ff */ addiu $t6,$zero,0xff /* f0aae68: 286100c1 */ slti $at,$v1,0xc1 /* f0aae6c: 1420000d */ bnez $at,.L0f0aaea4 /* f0aae70: 0003c200 */ sll $t8,$v1,0x8 /* f0aae74: 3c01ffff */ lui $at,0xffff /* f0aae78: 342140c0 */ ori $at,$at,0x40c0 /* f0aae7c: 0303c023 */ subu $t8,$t8,$v1 /* f0aae80: 0301c821 */ addu $t9,$t8,$at /* f0aae84: 2401003f */ addiu $at,$zero,0x3f /* f0aae88: 0321001b */ divu $zero,$t9,$at /* f0aae8c: 00007812 */ mflo $t7 /* f0aae90: 3c0155ff */ lui $at,0x55ff /* f0aae94: 01cf1023 */ subu $v0,$t6,$t7 /* f0aae98: 3421ff00 */ ori $at,$at,0xff00 /* f0aae9c: 0041c025 */ or $t8,$v0,$at /* f0aaea0: afb800d0 */ sw $t8,0xd0($sp) .L0f0aaea4: /* f0aaea4: 8fa40130 */ lw $a0,0x130($sp) /* f0aaea8: 0fc54df7 */ jal gfxSetPrimColour /* f0aaeac: afaa0058 */ sw $t2,0x58($sp) /* f0aaeb0: 3c038008 */ lui $v1,%hi(g_ScaleX) /* f0aaeb4: 8fb90100 */ lw $t9,0x100($sp) /* f0aaeb8: 2463fac0 */ addiu $v1,$v1,%lo(g_ScaleX) /* f0aaebc: 8c6f0000 */ lw $t7,0x0($v1) /* f0aaec0: 272efff5 */ addiu $t6,$t9,-11 /* f0aaec4: 3c01f600 */ lui $at,0xf600 /* f0aaec8: 01cf0019 */ multu $t6,$t7 /* f0aaecc: 24440008 */ addiu $a0,$v0,0x8 /* f0aaed0: 0000c012 */ mflo $t8 /* f0aaed4: 331903ff */ andi $t9,$t8,0x3ff /* f0aaed8: 8fb80060 */ lw $t8,0x60($sp) /* f0aaedc: 00197380 */ sll $t6,$t9,0xe /* f0aaee0: 01c17825 */ or $t7,$t6,$at /* f0aaee4: 01f8c825 */ or $t9,$t7,$t8 /* f0aaee8: ac590000 */ sw $t9,0x0($v0) /* f0aaeec: 8fae00cc */ lw $t6,0xcc($sp) /* f0aaef0: 8c780000 */ lw $t8,0x0($v1) /* f0aaef4: 25cfffff */ addiu $t7,$t6,-1 /* f0aaef8: 01f80019 */ multu $t7,$t8 /* f0aaefc: 8fb800c8 */ lw $t8,0xc8($sp) /* f0aaf00: 0000c812 */ mflo $t9 /* f0aaf04: 332e03ff */ andi $t6,$t9,0x3ff /* f0aaf08: 000e7b80 */ sll $t7,$t6,0xe /* f0aaf0c: 2719ffff */ addiu $t9,$t8,-1 /* f0aaf10: 332e03ff */ andi $t6,$t9,0x3ff /* f0aaf14: 000ec080 */ sll $t8,$t6,0x2 /* f0aaf18: 01f8c825 */ or $t9,$t7,$t8 /* f0aaf1c: 0fc54e0e */ jal func0f153838 /* f0aaf20: ac590004 */ sw $t9,0x4($v0) /* f0aaf24: 3c018006 */ lui $at,%hi(var80061630) /* f0aaf28: c4241630 */ lwc1 $f4,%lo(var80061630)($at) /* f0aaf2c: 3c014248 */ lui $at,0x4248 /* f0aaf30: 44813000 */ mtc1 $at,$f6 /* f0aaf34: afa20130 */ sw $v0,0x130($sp) /* f0aaf38: 00002825 */ or $a1,$zero,$zero /* f0aaf3c: 46062202 */ mul.s $f8,$f4,$f6 /* f0aaf40: 24060032 */ addiu $a2,$zero,0x32 /* f0aaf44: 4600428d */ trunc.w.s $f10,$f8 /* f0aaf48: 44045000 */ mfc1 $a0,$f10 /* f0aaf4c: 0fc54f54 */ jal func0f153d50 /* f0aaf50: 00000000 */ nop /* f0aaf54: 2404ffff */ addiu $a0,$zero,-1 /* f0aaf58: 0fc54f8e */ jal func0f153e38 /* f0aaf5c: 2405ffff */ addiu $a1,$zero,-1 /* f0aaf60: 3c0f8008 */ lui $t7,%hi(g_FontHandelGothicXs1) /* f0aaf64: 8deffb08 */ lw $t7,%lo(g_FontHandelGothicXs1)($t7) /* f0aaf68: 3c188008 */ lui $t8,%hi(g_FontHandelGothicXs2) /* f0aaf6c: 8f18fb04 */ lw $t8,%lo(g_FontHandelGothicXs2)($t8) /* f0aaf70: 8fb900d0 */ lw $t9,0xd0($sp) /* f0aaf74: 8fae00c0 */ lw $t6,0xc0($sp) /* f0aaf78: afaf0010 */ sw $t7,0x10($sp) /* f0aaf7c: 240f03e8 */ addiu $t7,$zero,0x3e8 /* f0aaf80: afaf0020 */ sw $t7,0x20($sp) /* f0aaf84: 8fa40130 */ lw $a0,0x130($sp) /* f0aaf88: 27a500cc */ addiu $a1,$sp,0xcc /* f0aaf8c: 27a600c8 */ addiu $a2,$sp,0xc8 /* f0aaf90: 8fa700d4 */ lw $a3,0xd4($sp) /* f0aaf94: afa00024 */ sw $zero,0x24($sp) /* f0aaf98: afa00028 */ sw $zero,0x28($sp) /* f0aaf9c: afb80014 */ sw $t8,0x14($sp) /* f0aafa0: afb90018 */ sw $t9,0x18($sp) /* f0aafa4: 0fc5580f */ jal textRenderProjected /* f0aafa8: afae001c */ sw $t6,0x1c($sp) /* f0aafac: 0fc54f93 */ jal func0f153e4c /* f0aafb0: afa20130 */ sw $v0,0x130($sp) /* f0aafb4: 8faa0058 */ lw $t2,0x58($sp) /* f0aafb8: 8fa200bc */ lw $v0,0xbc($sp) .L0f0aafbc: /* f0aafbc: 504000bd */ beqzl $v0,.L0f0ab2b4 /* f0aafc0: 8fa500fc */ lw $a1,0xfc($sp) /* f0aafc4: 94440004 */ lhu $a0,0x4($v0) /* f0aafc8: 0fc5b9f1 */ jal langGet /* f0aafcc: afaa0058 */ sw $t2,0x58($sp) /* f0aafd0: 3c18ff55 */ lui $t8,0xff55 /* f0aafd4: 8fa300bc */ lw $v1,0xbc($sp) /* f0aafd8: 8faa0058 */ lw $t2,0x58($sp) /* f0aafdc: 371855ff */ ori $t8,$t8,0x55ff /* f0aafe0: afb800d0 */ sw $t8,0xd0($sp) /* f0aafe4: 94790004 */ lhu $t9,0x4($v1) /* f0aafe8: 9544006c */ lhu $a0,0x6c($t2) /* f0aafec: 13240005 */ beq $t9,$a0,.L0f0ab004 /* f0aaff0: 00000000 */ nop /* f0aaff4: 914e0067 */ lbu $t6,0x67($t2) /* f0aaff8: 29c10081 */ slti $at,$t6,0x81 /* f0aaffc: 50200004 */ beqzl $at,.L0f0ab010 /* f0ab000: a140006e */ sb $zero,0x6e($t2) .L0f0ab004: /* f0ab004: 14800005 */ bnez $a0,.L0f0ab01c /* f0ab008: 00000000 */ nop /* f0ab00c: a140006e */ sb $zero,0x6e($t2) .L0f0ab010: /* f0ab010: 946f0004 */ lhu $t7,0x4($v1) /* f0ab014: a54f006c */ sh $t7,0x6c($t2) /* f0ab018: 31e4ffff */ andi $a0,$t7,0xffff .L0f0ab01c: /* f0ab01c: 0fc5b9f1 */ jal langGet /* f0ab020: afaa0058 */ sw $t2,0x58($sp) /* f0ab024: 8faa0058 */ lw $t2,0x58($sp) /* f0ab028: 00403025 */ or $a2,$v0,$zero /* f0ab02c: 3c02800a */ lui $v0,%hi(g_Vars+0x38) /* f0ab030: 9143006e */ lbu $v1,0x6e($t2) /* f0ab034: 8fb80100 */ lw $t8,0x100($sp) /* f0ab038: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0ab03c: 286100ff */ slti $at,$v1,0xff /* f0ab040: 1020009b */ beqz $at,.L0f0ab2b0 /* f0ab044: 27a500c0 */ addiu $a1,$sp,0xc0 /* f0ab048: 8c429ff8 */ lw $v0,%lo(g_Vars+0x38)($v0) /* f0ab04c: 2719fff5 */ addiu $t9,$t8,-11 /* f0ab050: afb90060 */ sw $t9,0x60($sp) /* f0ab054: 00627021 */ addu $t6,$v1,$v0 /* f0ab058: 29c10100 */ slti $at,$t6,0x100 /* f0ab05c: 14200004 */ bnez $at,.L0f0ab070 /* f0ab060: 3c078008 */ lui $a3,%hi(g_FontHandelGothicXs1) /* f0ab064: 240f00ff */ addiu $t7,$zero,0xff /* f0ab068: 10000003 */ b .L0f0ab078 /* f0ab06c: a14f006e */ sb $t7,0x6e($t2) .L0f0ab070: /* f0ab070: 0062c821 */ addu $t9,$v1,$v0 /* f0ab074: a159006e */ sb $t9,0x6e($t2) .L0f0ab078: /* f0ab078: 8fae00f0 */ lw $t6,0xf0($sp) /* f0ab07c: 24010001 */ addiu $at,$zero,0x1 /* f0ab080: 55c1000a */ bnel $t6,$at,.L0f0ab0ac /* f0ab084: 8fb800f0 */ lw $t8,0xf0($sp) /* f0ab088: 8fb800bc */ lw $t8,0xbc($sp) /* f0ab08c: 954f006c */ lhu $t7,0x6c($t2) /* f0ab090: 3c0effff */ lui $t6,0xffff /* f0ab094: 97190004 */ lhu $t9,0x4($t8) /* f0ab098: 35ce55ff */ ori $t6,$t6,0x55ff /* f0ab09c: 55f90003 */ bnel $t7,$t9,.L0f0ab0ac /* f0ab0a0: 8fb800f0 */ lw $t8,0xf0($sp) /* f0ab0a4: afae00d0 */ sw $t6,0xd0($sp) /* f0ab0a8: 8fb800f0 */ lw $t8,0xf0($sp) .L0f0ab0ac: /* f0ab0ac: 8fb900bc */ lw $t9,0xbc($sp) /* f0ab0b0: 17000008 */ bnez $t8,.L0f0ab0d4 /* f0ab0b4: 00000000 */ nop /* f0ab0b8: 954f006c */ lhu $t7,0x6c($t2) /* f0ab0bc: 972e0004 */ lhu $t6,0x4($t9) /* f0ab0c0: 8fb800d0 */ lw $t8,0xd0($sp) /* f0ab0c4: 3c0100ff */ lui $at,0xff /* f0ab0c8: 11ee0002 */ beq $t7,$t6,.L0f0ab0d4 /* f0ab0cc: 0301c825 */ or $t9,$t8,$at /* f0ab0d0: afb900d0 */ sw $t9,0xd0($sp) .L0f0ab0d4: /* f0ab0d4: 3c0f8008 */ lui $t7,%hi(g_FontHandelGothicXs2) /* f0ab0d8: 8deffb04 */ lw $t7,%lo(g_FontHandelGothicXs2)($t7) /* f0ab0dc: 8ce7fb08 */ lw $a3,%lo(g_FontHandelGothicXs1)($a3) /* f0ab0e0: afa00014 */ sw $zero,0x14($sp) /* f0ab0e4: afa600d4 */ sw $a2,0xd4($sp) /* f0ab0e8: afaa0058 */ sw $t2,0x58($sp) /* f0ab0ec: 0fc55cbe */ jal textMeasure /* f0ab0f0: afaf0010 */ sw $t7,0x10($sp) /* f0ab0f4: 8fae00c0 */ lw $t6,0xc0($sp) /* f0ab0f8: 8faa0058 */ lw $t2,0x58($sp) /* f0ab0fc: 00002825 */ or $a1,$zero,$zero /* f0ab100: 25d80002 */ addiu $t8,$t6,0x2 /* f0ab104: afb800c0 */ sw $t8,0xc0($sp) /* f0ab108: 9142006e */ lbu $v0,0x6e($t2) /* f0ab10c: 0002c880 */ sll $t9,$v0,0x2 /* f0ab110: 0322c823 */ subu $t9,$t9,$v0 /* f0ab114: 0338082a */ slt $at,$t9,$t8 /* f0ab118: 50200003 */ beqzl $at,.L0f0ab128 /* f0ab11c: 8faf0100 */ lw $t7,0x100($sp) /* f0ab120: afb900c0 */ sw $t9,0xc0($sp) /* f0ab124: 8faf0100 */ lw $t7,0x100($sp) .L0f0ab128: /* f0ab128: 8fae00c0 */ lw $t6,0xc0($sp) /* f0ab12c: 01eec823 */ subu $t9,$t7,$t6 /* f0ab130: 8fae00c4 */ lw $t6,0xc4($sp) /* f0ab134: 8faf0128 */ lw $t7,0x128($sp) /* f0ab138: 2738fff3 */ addiu $t8,$t9,-13 /* f0ab13c: afb800cc */ sw $t8,0xcc($sp) /* f0ab140: 01eec823 */ subu $t9,$t7,$t6 /* f0ab144: 2738ffff */ addiu $t8,$t9,-1 /* f0ab148: afb800c8 */ sw $t8,0xc8($sp) /* f0ab14c: 9143006e */ lbu $v1,0x6e($t2) /* f0ab150: 241800ff */ addiu $t8,$zero,0xff /* f0ab154: 286100c1 */ slti $at,$v1,0xc1 /* f0ab158: 1420000e */ bnez $at,.L0f0ab194 /* f0ab15c: 00037a00 */ sll $t7,$v1,0x8 /* f0ab160: 3c01ffff */ lui $at,0xffff /* f0ab164: 342140c0 */ ori $at,$at,0x40c0 /* f0ab168: 01e37823 */ subu $t7,$t7,$v1 /* f0ab16c: 01e17021 */ addu $t6,$t7,$at /* f0ab170: 2401003f */ addiu $at,$zero,0x3f /* f0ab174: 01c1001b */ divu $zero,$t6,$at /* f0ab178: 8faf00d0 */ lw $t7,0xd0($sp) /* f0ab17c: 0000c812 */ mflo $t9 /* f0ab180: 2401ff00 */ addiu $at,$zero,-256 /* f0ab184: 03191023 */ subu $v0,$t8,$t9 /* f0ab188: 01e17024 */ and $t6,$t7,$at /* f0ab18c: 01c2c025 */ or $t8,$t6,$v0 /* f0ab190: afb800d0 */ sw $t8,0xd0($sp) .L0f0ab194: /* f0ab194: 8fa40130 */ lw $a0,0x130($sp) /* f0ab198: 0fc54df7 */ jal gfxSetPrimColour /* f0ab19c: afaa0058 */ sw $t2,0x58($sp) /* f0ab1a0: 3c038008 */ lui $v1,%hi(g_ScaleX) /* f0ab1a4: 2463fac0 */ addiu $v1,$v1,%lo(g_ScaleX) /* f0ab1a8: 8c6f0000 */ lw $t7,0x0($v1) /* f0ab1ac: 8fb90060 */ lw $t9,0x60($sp) /* f0ab1b0: 3c01f600 */ lui $at,0xf600 /* f0ab1b4: 24440008 */ addiu $a0,$v0,0x8 /* f0ab1b8: 032f0019 */ multu $t9,$t7 /* f0ab1bc: 00007012 */ mflo $t6 /* f0ab1c0: 31d803ff */ andi $t8,$t6,0x3ff /* f0ab1c4: 8fae0128 */ lw $t6,0x128($sp) /* f0ab1c8: 0018cb80 */ sll $t9,$t8,0xe /* f0ab1cc: 03217825 */ or $t7,$t9,$at /* f0ab1d0: 25d80003 */ addiu $t8,$t6,0x3 /* f0ab1d4: 331903ff */ andi $t9,$t8,0x3ff /* f0ab1d8: 00197080 */ sll $t6,$t9,0x2 /* f0ab1dc: 01eec025 */ or $t8,$t7,$t6 /* f0ab1e0: ac580000 */ sw $t8,0x0($v0) /* f0ab1e4: 8fb900cc */ lw $t9,0xcc($sp) /* f0ab1e8: 8c6e0000 */ lw $t6,0x0($v1) /* f0ab1ec: 272fffff */ addiu $t7,$t9,-1 /* f0ab1f0: 01ee0019 */ multu $t7,$t6 /* f0ab1f4: 8fae00c8 */ lw $t6,0xc8($sp) /* f0ab1f8: 0000c012 */ mflo $t8 /* f0ab1fc: 331903ff */ andi $t9,$t8,0x3ff /* f0ab200: 00197b80 */ sll $t7,$t9,0xe /* f0ab204: 25d8ffff */ addiu $t8,$t6,-1 /* f0ab208: 331903ff */ andi $t9,$t8,0x3ff /* f0ab20c: 00197080 */ sll $t6,$t9,0x2 /* f0ab210: 01eec025 */ or $t8,$t7,$t6 /* f0ab214: 0fc54e0e */ jal func0f153838 /* f0ab218: ac580004 */ sw $t8,0x4($v0) /* f0ab21c: 3c018006 */ lui $at,%hi(var80061630) /* f0ab220: c4301630 */ lwc1 $f16,%lo(var80061630)($at) /* f0ab224: 3c014248 */ lui $at,0x4248 /* f0ab228: 44819000 */ mtc1 $at,$f18 /* f0ab22c: afa20130 */ sw $v0,0x130($sp) /* f0ab230: 00002825 */ or $a1,$zero,$zero /* f0ab234: 46128102 */ mul.s $f4,$f16,$f18 /* f0ab238: 24060032 */ addiu $a2,$zero,0x32 /* f0ab23c: 4600218d */ trunc.w.s $f6,$f4 /* f0ab240: 44043000 */ mfc1 $a0,$f6 /* f0ab244: 0fc54f54 */ jal func0f153d50 /* f0ab248: 00000000 */ nop /* f0ab24c: 2404ffff */ addiu $a0,$zero,-1 /* f0ab250: 0fc54f8e */ jal func0f153e38 /* f0ab254: 2405ffff */ addiu $a1,$zero,-1 /* f0ab258: 3c0f8008 */ lui $t7,%hi(g_FontHandelGothicXs1) /* f0ab25c: 8deffb08 */ lw $t7,%lo(g_FontHandelGothicXs1)($t7) /* f0ab260: 3c0e8008 */ lui $t6,%hi(g_FontHandelGothicXs2) /* f0ab264: 8dcefb04 */ lw $t6,%lo(g_FontHandelGothicXs2)($t6) /* f0ab268: 8fb800d0 */ lw $t8,0xd0($sp) /* f0ab26c: 8fb900c0 */ lw $t9,0xc0($sp) /* f0ab270: afaf0010 */ sw $t7,0x10($sp) /* f0ab274: 240f03e8 */ addiu $t7,$zero,0x3e8 /* f0ab278: afaf0020 */ sw $t7,0x20($sp) /* f0ab27c: 8fa40130 */ lw $a0,0x130($sp) /* f0ab280: 27a500cc */ addiu $a1,$sp,0xcc /* f0ab284: 27a600c8 */ addiu $a2,$sp,0xc8 /* f0ab288: 8fa700d4 */ lw $a3,0xd4($sp) /* f0ab28c: afa00024 */ sw $zero,0x24($sp) /* f0ab290: afa00028 */ sw $zero,0x28($sp) /* f0ab294: afae0014 */ sw $t6,0x14($sp) /* f0ab298: afb80018 */ sw $t8,0x18($sp) /* f0ab29c: 0fc5580f */ jal textRenderProjected /* f0ab2a0: afb9001c */ sw $t9,0x1c($sp) /* f0ab2a4: 0fc54f93 */ jal func0f153e4c /* f0ab2a8: afa20130 */ sw $v0,0x130($sp) /* f0ab2ac: 8faa0058 */ lw $t2,0x58($sp) .L0f0ab2b0: /* f0ab2b0: 8fa500fc */ lw $a1,0xfc($sp) .L0f0ab2b4: /* f0ab2b4: 8fae005c */ lw $t6,0x5c($sp) /* f0ab2b8: 50a0000a */ beqzl $a1,.L0f0ab2e4 /* f0ab2bc: 8fb80110 */ lw $t8,0x110($sp) /* f0ab2c0: 91d80003 */ lbu $t8,0x3($t6) /* f0ab2c4: 0018c880 */ sll $t9,$t8,0x2 /* f0ab2c8: 00b97821 */ addu $t7,$a1,$t9 /* f0ab2cc: 8de20014 */ lw $v0,0x14($t7) /* f0ab2d0: 50400004 */ beqzl $v0,.L0f0ab2e4 /* f0ab2d4: 8fb80110 */ lw $t8,0x110($sp) /* f0ab2d8: 804e0007 */ lb $t6,0x7($v0) /* f0ab2dc: afae0110 */ sw $t6,0x110($sp) /* f0ab2e0: 8fb80110 */ lw $t8,0x110($sp) .L0f0ab2e4: /* f0ab2e4: 2403ffff */ addiu $v1,$zero,-1 /* f0ab2e8: 8fb9005c */ lw $t9,0x5c($sp) /* f0ab2ec: 57030014 */ bnel $t8,$v1,.L0f0ab340 /* f0ab2f0: 8fb90110 */ lw $t9,0x110($sp) /* f0ab2f4: 932f0003 */ lbu $t7,0x3($t9) /* f0ab2f8: 000f7080 */ sll $t6,$t7,0x2 /* f0ab2fc: 000ec023 */ negu $t8,$t6 /* f0ab300: 00b8c821 */ addu $t9,$a1,$t8 /* f0ab304: 8f220018 */ lw $v0,0x18($t9) /* f0ab308: 50400004 */ beqzl $v0,.L0f0ab31c /* f0ab30c: 8fae0110 */ lw $t6,0x110($sp) /* f0ab310: 804f0007 */ lb $t7,0x7($v0) /* f0ab314: afaf0110 */ sw $t7,0x110($sp) /* f0ab318: 8fae0110 */ lw $t6,0x110($sp) .L0f0ab31c: /* f0ab31c: 55c30008 */ bnel $t6,$v1,.L0f0ab340 /* f0ab320: 8fb90110 */ lw $t9,0x110($sp) /* f0ab324: 0fc54de0 */ jal func0f153780 /* f0ab328: 8fa40130 */ lw $a0,0x130($sp) /* f0ab32c: 24180001 */ addiu $t8,$zero,0x1 /* f0ab330: 3c018008 */ lui $at,%hi(g_ScaleX) /* f0ab334: 100001e2 */ b .L0f0abac0 /* f0ab338: ac38fac0 */ sw $t8,%lo(g_ScaleX)($at) /* f0ab33c: 8fb90110 */ lw $t9,0x110($sp) .L0f0ab340: /* f0ab340: 814f0069 */ lb $t7,0x69($t2) /* f0ab344: 8fa4012c */ lw $a0,0x12c($sp) /* f0ab348: 132f000d */ beq $t9,$t7,.L0f0ab380 /* f0ab34c: 24841568 */ addiu $a0,$a0,0x1568 /* f0ab350: 0fc2a765 */ jal bgunResetAbmag /* f0ab354: afaa0058 */ sw $t2,0x58($sp) /* f0ab358: 8fa4005c */ lw $a0,0x5c($sp) /* f0ab35c: 0fc2a765 */ jal bgunResetAbmag /* f0ab360: 2484078c */ addiu $a0,$a0,0x78c /* f0ab364: 8faa0058 */ lw $t2,0x58($sp) /* f0ab368: 0fc2a765 */ jal bgunResetAbmag /* f0ab36c: 2544005c */ addiu $a0,$t2,0x5c /* f0ab370: 8faa0058 */ lw $t2,0x58($sp) /* f0ab374: 8fae0110 */ lw $t6,0x110($sp) /* f0ab378: a14e0069 */ sb $t6,0x69($t2) /* f0ab37c: 8fa500fc */ lw $a1,0xfc($sp) .L0f0ab380: /* f0ab380: 8fb8012c */ lw $t8,0x12c($sp) /* f0ab384: 8fa20110 */ lw $v0,0x110($sp) /* f0ab388: 27190ddc */ addiu $t9,$t8,0xddc /* f0ab38c: afb90060 */ sw $t9,0x60($sp) /* f0ab390: 830f0de4 */ lb $t7,0xde4($t8) /* f0ab394: 00027080 */ sll $t6,$v0,0x2 /* f0ab398: 00ae2021 */ addu $a0,$a1,$t6 /* f0ab39c: 51e00076 */ beqzl $t7,.L0f0ab578 /* f0ab3a0: 8faf005c */ lw $t7,0x5c($sp) /* f0ab3a4: 8c99001c */ lw $t9,0x1c($a0) /* f0ab3a8: 53200073 */ beqzl $t9,.L0f0ab578 /* f0ab3ac: 8faf005c */ lw $t7,0x5c($sp) /* f0ab3b0: 930f0ddc */ lbu $t7,0xddc($t8) /* f0ab3b4: 24010022 */ addiu $at,$zero,0x22 /* f0ab3b8: 51e1006f */ beql $t7,$at,.L0f0ab578 /* f0ab3bc: 8faf005c */ lw $t7,0x5c($sp) /* f0ab3c0: afae0050 */ sw $t6,0x50($sp) /* f0ab3c4: afa40054 */ sw $a0,0x54($sp) /* f0ab3c8: 0c002f40 */ jal viGetViewLeft /* f0ab3cc: afaa0058 */ sw $t2,0x58($sp) /* f0ab3d0: 3c0e8008 */ lui $t6,%hi(g_ScaleX) /* f0ab3d4: 8dcefac0 */ lw $t6,%lo(g_ScaleX)($t6) /* f0ab3d8: 8faf0124 */ lw $t7,0x124($sp) /* f0ab3dc: 8fa40054 */ lw $a0,0x54($sp) /* f0ab3e0: 004e001a */ div $zero,$v0,$t6 /* f0ab3e4: 0000c812 */ mflo $t9 /* f0ab3e8: 27380018 */ addiu $t8,$t9,0x18 /* f0ab3ec: afb80100 */ sw $t8,0x100($sp) /* f0ab3f0: 8faa0058 */ lw $t2,0x58($sp) /* f0ab3f4: 15c00002 */ bnez $t6,.L0f0ab400 /* f0ab3f8: 00000000 */ nop /* f0ab3fc: 0007000d */ break 0x7 .L0f0ab400: /* f0ab400: 2401ffff */ addiu $at,$zero,-1 /* f0ab404: 15c10004 */ bne $t6,$at,.L0f0ab418 /* f0ab408: 3c018000 */ lui $at,0x8000 /* f0ab40c: 14410002 */ bne $v0,$at,.L0f0ab418 /* f0ab410: 00000000 */ nop /* f0ab414: 0006000d */ break 0x6 .L0f0ab418: /* f0ab418: 24010002 */ addiu $at,$zero,0x2 /* f0ab41c: 55e10015 */ bnel $t7,$at,.L0f0ab474 /* f0ab420: 8fae0124 */ lw $t6,0x124($sp) /* f0ab424: afa40054 */ sw $a0,0x54($sp) /* f0ab428: 0fc54bcd */ jal optionsGetScreenSplit /* f0ab42c: afaa0058 */ sw $t2,0x58($sp) /* f0ab430: 24010001 */ addiu $at,$zero,0x1 /* f0ab434: 8fa40054 */ lw $a0,0x54($sp) /* f0ab438: 10410006 */ beq $v0,$at,.L0f0ab454 /* f0ab43c: 8faa0058 */ lw $t2,0x58($sp) /* f0ab440: 3c0e8009 */ lui $t6,%hi(g_Is4Mb) /* f0ab444: 91ce0af0 */ lbu $t6,%lo(g_Is4Mb)($t6) /* f0ab448: 24010001 */ addiu $at,$zero,0x1 /* f0ab44c: 55c10009 */ bnel $t6,$at,.L0f0ab474 /* f0ab450: 8fae0124 */ lw $t6,0x124($sp) .L0f0ab454: /* f0ab454: 8fb90120 */ lw $t9,0x120($sp) /* f0ab458: 8fb80100 */ lw $t8,0x100($sp) /* f0ab45c: 24010001 */ addiu $at,$zero,0x1 /* f0ab460: 17210003 */ bne $t9,$at,.L0f0ab470 /* f0ab464: 270ffff2 */ addiu $t7,$t8,-14 /* f0ab468: 1000000b */ b .L0f0ab498 /* f0ab46c: afaf0100 */ sw $t7,0x100($sp) .L0f0ab470: /* f0ab470: 8fae0124 */ lw $t6,0x124($sp) .L0f0ab474: /* f0ab474: 8fb90120 */ lw $t9,0x120($sp) /* f0ab478: 29c10003 */ slti $at,$t6,0x3 /* f0ab47c: 14200006 */ bnez $at,.L0f0ab498 /* f0ab480: 33380001 */ andi $t8,$t9,0x1 /* f0ab484: 24010001 */ addiu $at,$zero,0x1 /* f0ab488: 17010003 */ bne $t8,$at,.L0f0ab498 /* f0ab48c: 8faf0100 */ lw $t7,0x100($sp) /* f0ab490: 25eefff2 */ addiu $t6,$t7,-14 /* f0ab494: afae0100 */ sw $t6,0x100($sp) .L0f0ab498: /* f0ab498: 8fa90060 */ lw $t1,0x60($sp) /* f0ab49c: 8fb90050 */ lw $t9,0x50($sp) /* f0ab4a0: 01391821 */ addu $v1,$t1,$t9 /* f0ab4a4: 8c680228 */ lw $t0,0x228($v1) /* f0ab4a8: 59000033 */ blezl $t0,.L0f0ab578 /* f0ab4ac: 8faf005c */ lw $t7,0x5c($sp) /* f0ab4b0: 8c98001c */ lw $t8,0x1c($a0) /* f0ab4b4: 8fa40130 */ lw $a0,0x130($sp) /* f0ab4b8: 930f0010 */ lbu $t7,0x10($t8) /* f0ab4bc: 8fb80128 */ lw $t8,0x128($sp) /* f0ab4c0: 31ee0002 */ andi $t6,$t7,0x2 /* f0ab4c4: 15c0002b */ bnez $t6,.L0f0ab574 /* f0ab4c8: 8faf0108 */ lw $t7,0x108($sp) /* f0ab4cc: 8fae0104 */ lw $t6,0x104($sp) /* f0ab4d0: 030f1023 */ subu $v0,$t8,$t7 /* f0ab4d4: 244ffffd */ addiu $t7,$v0,-3 /* f0ab4d8: 004e3023 */ subu $a2,$v0,$t6 /* f0ab4dc: 252e078c */ addiu $t6,$t1,0x78c /* f0ab4e0: afae0014 */ sw $t6,0x14($sp) /* f0ab4e4: afaf0010 */ sw $t7,0x10($sp) /* f0ab4e8: 8c790220 */ lw $t9,0x220($v1) /* f0ab4ec: 8fb8010c */ lw $t8,0x10c($sp) /* f0ab4f0: 8fa50100 */ lw $a1,0x100($sp) /* f0ab4f4: 3c0f00ff */ lui $t7,0xff /* f0ab4f8: 35ef0040 */ ori $t7,$t7,0x40 /* f0ab4fc: 00b83821 */ addu $a3,$a1,$t8 /* f0ab500: 3c180030 */ lui $t8,0x30 /* f0ab504: 37180080 */ ori $t8,$t8,0x80 /* f0ab508: afb80020 */ sw $t8,0x20($sp) /* f0ab50c: afa70044 */ sw $a3,0x44($sp) /* f0ab510: afaf0024 */ sw $t7,0x24($sp) /* f0ab514: afaa0058 */ sw $t2,0x58($sp) /* f0ab518: afa3004c */ sw $v1,0x4c($sp) /* f0ab51c: afa20048 */ sw $v0,0x48($sp) /* f0ab520: afa00028 */ sw $zero,0x28($sp) /* f0ab524: afa8001c */ sw $t0,0x1c($sp) /* f0ab528: 24c6fffd */ addiu $a2,$a2,-3 /* f0ab52c: 0fc2a7f0 */ jal bgunRenderHudGauge /* f0ab530: afb90018 */ sw $t9,0x18($sp) /* f0ab534: 8fa3004c */ lw $v1,0x4c($sp) /* f0ab538: 8fae0048 */ lw $t6,0x48($sp) /* f0ab53c: 8fa60044 */ lw $a2,0x44($sp) /* f0ab540: 3c1800ff */ lui $t8,0xff /* f0ab544: 8c650220 */ lw $a1,0x220($v1) /* f0ab548: 371800a0 */ ori $t8,$t8,0xa0 /* f0ab54c: 25d9fff8 */ addiu $t9,$t6,-8 /* f0ab550: afb90010 */ sw $t9,0x10($sp) /* f0ab554: afb80018 */ sw $t8,0x18($sp) /* f0ab558: afa00014 */ sw $zero,0x14($sp) /* f0ab55c: 00402025 */ or $a0,$v0,$zero /* f0ab560: 24070001 */ addiu $a3,$zero,0x1 /* f0ab564: 0fc2a74b */ jal bgunRenderHudInteger /* f0ab568: 24c60002 */ addiu $a2,$a2,0x2 /* f0ab56c: 8faa0058 */ lw $t2,0x58($sp) /* f0ab570: afa20130 */ sw $v0,0x130($sp) .L0f0ab574: /* f0ab574: 8faf005c */ lw $t7,0x5c($sp) .L0f0ab578: /* f0ab578: 8fb90110 */ lw $t9,0x110($sp) /* f0ab57c: 81ee0008 */ lb $t6,0x8($t7) /* f0ab580: 0159c021 */ addu $t8,$t2,$t9 /* f0ab584: 11c00149 */ beqz $t6,.L0f0abaac /* f0ab588: 00000000 */ nop /* f0ab58c: 830f0064 */ lb $t7,0x64($t8) /* f0ab590: 8fae012c */ lw $t6,0x12c($sp) /* f0ab594: 05e00145 */ bltz $t7,.L0f0abaac /* f0ab598: 01d9c021 */ addu $t8,$t6,$t9 /* f0ab59c: 830f15e4 */ lb $t7,0x15e4($t8) /* f0ab5a0: 00197080 */ sll $t6,$t9,0x2 /* f0ab5a4: afae0050 */ sw $t6,0x50($sp) /* f0ab5a8: afaa0058 */ sw $t2,0x58($sp) /* f0ab5ac: 0c002f40 */ jal viGetViewLeft /* f0ab5b0: afaf00a4 */ sw $t7,0xa4($sp) /* f0ab5b4: 0c002f22 */ jal viGetViewWidth /* f0ab5b8: a7a20076 */ sh $v0,0x76($sp) /* f0ab5bc: 87b80076 */ lh $t8,0x76($sp) /* f0ab5c0: 3c198008 */ lui $t9,%hi(g_ScaleX) /* f0ab5c4: 8f39fac0 */ lw $t9,%lo(g_ScaleX)($t9) /* f0ab5c8: 00587821 */ addu $t7,$v0,$t8 /* f0ab5cc: 8fb8010c */ lw $t8,0x10c($sp) /* f0ab5d0: 01f9001a */ div $zero,$t7,$t9 /* f0ab5d4: 00007012 */ mflo $t6 /* f0ab5d8: 8faa0058 */ lw $t2,0x58($sp) /* f0ab5dc: 17200002 */ bnez $t9,.L0f0ab5e8 /* f0ab5e0: 00000000 */ nop /* f0ab5e4: 0007000d */ break 0x7 .L0f0ab5e8: /* f0ab5e8: 2401ffff */ addiu $at,$zero,-1 /* f0ab5ec: 17210004 */ bne $t9,$at,.L0f0ab600 /* f0ab5f0: 3c018000 */ lui $at,0x8000 /* f0ab5f4: 15e10002 */ bne $t7,$at,.L0f0ab600 /* f0ab5f8: 00000000 */ nop /* f0ab5fc: 0006000d */ break 0x6 .L0f0ab600: /* f0ab600: 01d87823 */ subu $t7,$t6,$t8 /* f0ab604: 8fae0124 */ lw $t6,0x124($sp) /* f0ab608: 25f9ffe8 */ addiu $t9,$t7,-24 /* f0ab60c: 24010002 */ addiu $at,$zero,0x2 /* f0ab610: 15c10011 */ bne $t6,$at,.L0f0ab658 /* f0ab614: afb90100 */ sw $t9,0x100($sp) /* f0ab618: 0fc54bcd */ jal optionsGetScreenSplit /* f0ab61c: afaa0058 */ sw $t2,0x58($sp) /* f0ab620: 24010001 */ addiu $at,$zero,0x1 /* f0ab624: 10410006 */ beq $v0,$at,.L0f0ab640 /* f0ab628: 8faa0058 */ lw $t2,0x58($sp) /* f0ab62c: 3c188009 */ lui $t8,%hi(g_Is4Mb) /* f0ab630: 93180af0 */ lbu $t8,%lo(g_Is4Mb)($t8) /* f0ab634: 24010001 */ addiu $at,$zero,0x1 /* f0ab638: 57010008 */ bnel $t8,$at,.L0f0ab65c /* f0ab63c: 8fb80124 */ lw $t8,0x124($sp) .L0f0ab640: /* f0ab640: 8faf0120 */ lw $t7,0x120($sp) /* f0ab644: 8fb90100 */ lw $t9,0x100($sp) /* f0ab648: 15e00003 */ bnez $t7,.L0f0ab658 /* f0ab64c: 272e000f */ addiu $t6,$t9,0xf /* f0ab650: 1000000a */ b .L0f0ab67c /* f0ab654: afae0100 */ sw $t6,0x100($sp) .L0f0ab658: /* f0ab658: 8fb80124 */ lw $t8,0x124($sp) .L0f0ab65c: /* f0ab65c: 8faf0120 */ lw $t7,0x120($sp) /* f0ab660: 2b010003 */ slti $at,$t8,0x3 /* f0ab664: 14200005 */ bnez $at,.L0f0ab67c /* f0ab668: 31f90001 */ andi $t9,$t7,0x1 /* f0ab66c: 17200003 */ bnez $t9,.L0f0ab67c /* f0ab670: 8fae0100 */ lw $t6,0x100($sp) /* f0ab674: 25d8000f */ addiu $t8,$t6,0xf /* f0ab678: afb80100 */ sw $t8,0x100($sp) .L0f0ab67c: /* f0ab67c: 8fb900a4 */ lw $t9,0xa4($sp) /* f0ab680: 8fa90050 */ lw $t1,0x50($sp) /* f0ab684: 8faf012c */ lw $t7,0x12c($sp) /* f0ab688: 00197080 */ sll $t6,$t9,0x2 /* f0ab68c: 8fb9005c */ lw $t9,0x5c($sp) /* f0ab690: 01eec021 */ addu $t8,$t7,$t6 /* f0ab694: 8faf00fc */ lw $t7,0xfc($sp) /* f0ab698: 03294021 */ addu $t0,$t9,$t1 /* f0ab69c: 8d030228 */ lw $v1,0x228($t0) /* f0ab6a0: 8f0c17a8 */ lw $t4,0x17a8($t8) /* f0ab6a4: 01e97021 */ addu $t6,$t7,$t1 /* f0ab6a8: 58600038 */ blezl $v1,.L0f0ab78c /* f0ab6ac: 8fb900a4 */ lw $t9,0xa4($sp) /* f0ab6b0: 8dc2001c */ lw $v0,0x1c($t6) /* f0ab6b4: 50400035 */ beqzl $v0,.L0f0ab78c /* f0ab6b8: 8fb900a4 */ lw $t9,0xa4($sp) /* f0ab6bc: 90580010 */ lbu $t8,0x10($v0) /* f0ab6c0: 272e078c */ addiu $t6,$t9,0x78c /* f0ab6c4: 3c1900ff */ lui $t9,0xff /* f0ab6c8: 330f0002 */ andi $t7,$t8,0x2 /* f0ab6cc: 15e0002e */ bnez $t7,.L0f0ab788 /* f0ab6d0: 8fb80128 */ lw $t8,0x128($sp) /* f0ab6d4: 8faf0108 */ lw $t7,0x108($sp) /* f0ab6d8: 8fa50100 */ lw $a1,0x100($sp) /* f0ab6dc: afae0014 */ sw $t6,0x14($sp) /* f0ab6e0: 030f1023 */ subu $v0,$t8,$t7 /* f0ab6e4: 8fb80104 */ lw $t8,0x104($sp) /* f0ab6e8: 8faf010c */ lw $t7,0x10c($sp) /* f0ab6ec: 244efff8 */ addiu $t6,$v0,-8 /* f0ab6f0: 00583023 */ subu $a2,$v0,$t8 /* f0ab6f4: 2458fffd */ addiu $t8,$v0,-3 /* f0ab6f8: afb80010 */ sw $t8,0x10($sp) /* f0ab6fc: 00af3821 */ addu $a3,$a1,$t7 /* f0ab700: 8d0f0220 */ lw $t7,0x220($t0) /* f0ab704: 3c180030 */ lui $t8,0x30 /* f0ab708: 37180080 */ ori $t8,$t8,0x80 /* f0ab70c: 37390040 */ ori $t9,$t9,0x40 /* f0ab710: afb90024 */ sw $t9,0x24($sp) /* f0ab714: afb80020 */ sw $t8,0x20($sp) /* f0ab718: afac00a0 */ sw $t4,0xa0($sp) /* f0ab71c: afaa0058 */ sw $t2,0x58($sp) /* f0ab720: afa80038 */ sw $t0,0x38($sp) /* f0ab724: afae0054 */ sw $t6,0x54($sp) /* f0ab728: afa00028 */ sw $zero,0x28($sp) /* f0ab72c: afa3001c */ sw $v1,0x1c($sp) /* f0ab730: 24c6fffd */ addiu $a2,$a2,-3 /* f0ab734: 8fa40130 */ lw $a0,0x130($sp) /* f0ab738: 0fc2a7f0 */ jal bgunRenderHudGauge /* f0ab73c: afaf0018 */ sw $t7,0x18($sp) /* f0ab740: 8fa80038 */ lw $t0,0x38($sp) /* f0ab744: 8fa60100 */ lw $a2,0x100($sp) /* f0ab748: 8faf0054 */ lw $t7,0x54($sp) /* f0ab74c: 3c1800ff */ lui $t8,0xff /* f0ab750: 8d050220 */ lw $a1,0x220($t0) /* f0ab754: 371800a0 */ ori $t8,$t8,0xa0 /* f0ab758: afb80018 */ sw $t8,0x18($sp) /* f0ab75c: afa00014 */ sw $zero,0x14($sp) /* f0ab760: 00402025 */ or $a0,$v0,$zero /* f0ab764: 00003825 */ or $a3,$zero,$zero /* f0ab768: 24c6fffe */ addiu $a2,$a2,-2 /* f0ab76c: 0fc2a74b */ jal bgunRenderHudInteger /* f0ab770: afaf0010 */ sw $t7,0x10($sp) /* f0ab774: 8fa80038 */ lw $t0,0x38($sp) /* f0ab778: 8faa0058 */ lw $t2,0x58($sp) /* f0ab77c: 8fac00a0 */ lw $t4,0xa0($sp) /* f0ab780: afa20130 */ sw $v0,0x130($sp) /* f0ab784: 8fa90050 */ lw $t1,0x50($sp) .L0f0ab788: /* f0ab788: 8fb900a4 */ lw $t9,0xa4($sp) .L0f0ab78c: /* f0ab78c: 3c0b8007 */ lui $t3,%hi(g_AmmoTypes) /* f0ab790: 8faf00fc */ lw $t7,0xfc($sp) /* f0ab794: 00197080 */ sll $t6,$t9,0x2 /* f0ab798: 01d97023 */ subu $t6,$t6,$t9 /* f0ab79c: 000e7080 */ sll $t6,$t6,0x2 /* f0ab7a0: 016e5821 */ addu $t3,$t3,$t6 /* f0ab7a4: 8d6b0368 */ lw $t3,%lo(g_AmmoTypes)($t3) /* f0ab7a8: 01e9c021 */ addu $t8,$t7,$t1 /* f0ab7ac: 5960003e */ blezl $t3,.L0f0ab8a8 /* f0ab7b0: 8faf005c */ lw $t7,0x5c($sp) /* f0ab7b4: 8f19001c */ lw $t9,0x1c($t8) /* f0ab7b8: 8faf0100 */ lw $t7,0x100($sp) /* f0ab7bc: 01804825 */ or $t1,$t4,$zero /* f0ab7c0: 93220010 */ lbu $v0,0x10($t9) /* f0ab7c4: 25f8fffe */ addiu $t8,$t7,-2 /* f0ab7c8: 304e0001 */ andi $t6,$v0,0x1 /* f0ab7cc: 55c00036 */ bnezl $t6,.L0f0ab8a8 /* f0ab7d0: 8faf005c */ lw $t7,0x5c($sp) /* f0ab7d4: 8fb90128 */ lw $t9,0x128($sp) /* f0ab7d8: 8fae0108 */ lw $t6,0x108($sp) /* f0ab7dc: afb80054 */ sw $t8,0x54($sp) /* f0ab7e0: 8fb8010c */ lw $t8,0x10c($sp) /* f0ab7e4: 032e3023 */ subu $a2,$t9,$t6 /* f0ab7e8: 30590002 */ andi $t9,$v0,0x2 /* f0ab7ec: 254d005c */ addiu $t5,$t2,0x5c /* f0ab7f0: 1320000d */ beqz $t9,.L0f0ab828 /* f0ab7f4: 01f83821 */ addu $a3,$t7,$t8 /* f0ab7f8: 8d180228 */ lw $t8,0x228($t0) /* f0ab7fc: 8fae0060 */ lw $t6,0x60($sp) /* f0ab800: 8faf0050 */ lw $t7,0x50($sp) /* f0ab804: 1b000003 */ blez $t8,.L0f0ab814 /* f0ab808: 01cf1821 */ addu $v1,$t6,$t7 /* f0ab80c: 8d190220 */ lw $t9,0x220($t0) /* f0ab810: 01994821 */ addu $t1,$t4,$t9 .L0f0ab814: /* f0ab814: 8c6e0228 */ lw $t6,0x228($v1) /* f0ab818: 59c00004 */ blezl $t6,.L0f0ab82c /* f0ab81c: 8fb80128 */ lw $t8,0x128($sp) /* f0ab820: 8c6f0220 */ lw $t7,0x220($v1) /* f0ab824: 012f4821 */ addu $t1,$t1,$t7 .L0f0ab828: /* f0ab828: 8fb80128 */ lw $t8,0x128($sp) .L0f0ab82c: /* f0ab82c: 3c190040 */ lui $t9,0x40 /* f0ab830: 3c0e00ff */ lui $t6,0xff /* f0ab834: 35cec040 */ ori $t6,$t6,0xc040 /* f0ab838: 37393080 */ ori $t9,$t9,0x3080 /* f0ab83c: 240f0001 */ addiu $t7,$zero,0x1 /* f0ab840: afaf0028 */ sw $t7,0x28($sp) /* f0ab844: afb90020 */ sw $t9,0x20($sp) /* f0ab848: afae0024 */ sw $t6,0x24($sp) /* f0ab84c: 8fa40130 */ lw $a0,0x130($sp) /* f0ab850: 8fa50100 */ lw $a1,0x100($sp) /* f0ab854: afad0014 */ sw $t5,0x14($sp) /* f0ab858: afa90018 */ sw $t1,0x18($sp) /* f0ab85c: afab001c */ sw $t3,0x1c($sp) /* f0ab860: afa60048 */ sw $a2,0x48($sp) /* f0ab864: afa9009c */ sw $t1,0x9c($sp) /* f0ab868: 0fc2a7f0 */ jal bgunRenderHudGauge /* f0ab86c: afb80010 */ sw $t8,0x10($sp) /* f0ab870: 8fb80048 */ lw $t8,0x48($sp) /* f0ab874: 3c0e00ff */ lui $t6,0xff /* f0ab878: 35cec0a0 */ ori $t6,$t6,0xc0a0 /* f0ab87c: 27190001 */ addiu $t9,$t8,0x1 /* f0ab880: afb90010 */ sw $t9,0x10($sp) /* f0ab884: afae0018 */ sw $t6,0x18($sp) /* f0ab888: 00402025 */ or $a0,$v0,$zero /* f0ab88c: 8fa5009c */ lw $a1,0x9c($sp) /* f0ab890: 8fa60054 */ lw $a2,0x54($sp) /* f0ab894: 00003825 */ or $a3,$zero,$zero /* f0ab898: 0fc2a74b */ jal bgunRenderHudInteger /* f0ab89c: afa00014 */ sw $zero,0x14($sp) /* f0ab8a0: afa20130 */ sw $v0,0x130($sp) /* f0ab8a4: 8faf005c */ lw $t7,0x5c($sp) .L0f0ab8a8: /* f0ab8a8: 24010023 */ addiu $at,$zero,0x23 /* f0ab8ac: 24090e10 */ addiu $t1,$zero,0xe10 /* f0ab8b0: 91f80000 */ lbu $t8,0x0($t7) /* f0ab8b4: 3c03800a */ lui $v1,%hi(g_Vars+0x45c) /* f0ab8b8: 1701007c */ bne $t8,$at,.L0f0abaac /* f0ab8bc: 00000000 */ nop /* f0ab8c0: 8c63a41c */ lw $v1,%lo(g_Vars+0x45c)($v1) /* f0ab8c4: 8fae0100 */ lw $t6,0x100($sp) /* f0ab8c8: 8faf010c */ lw $t7,0x10c($sp) /* f0ab8cc: 0069001a */ div $zero,$v1,$t1 /* f0ab8d0: 0000c812 */ mflo $t9 /* f0ab8d4: afb9005c */ sw $t9,0x5c($sp) /* f0ab8d8: 01cfc021 */ addu $t8,$t6,$t7 /* f0ab8dc: 8fae0108 */ lw $t6,0x108($sp) /* f0ab8e0: 8fb90128 */ lw $t9,0x128($sp) /* f0ab8e4: afb80044 */ sw $t8,0x44($sp) /* f0ab8e8: 15200002 */ bnez $t1,.L0f0ab8f4 /* f0ab8ec: 00000000 */ nop /* f0ab8f0: 0007000d */ break 0x7 .L0f0ab8f4: /* f0ab8f4: 2401ffff */ addiu $at,$zero,-1 /* f0ab8f8: 15210004 */ bne $t1,$at,.L0f0ab90c /* f0ab8fc: 3c018000 */ lui $at,0x8000 /* f0ab900: 14610002 */ bne $v1,$at,.L0f0ab90c /* f0ab904: 00000000 */ nop /* f0ab908: 0006000d */ break 0x6 .L0f0ab90c: /* f0ab90c: 032e7823 */ subu $t7,$t9,$t6 /* f0ab910: 8fb9005c */ lw $t9,0x5c($sp) /* f0ab914: 25f80001 */ addiu $t8,$t7,0x1 /* f0ab918: afb80060 */ sw $t8,0x60($sp) /* f0ab91c: 5b20002e */ blezl $t9,.L0f0ab9d8 /* f0ab920: 8faf005c */ lw $t7,0x5c($sp) /* f0ab924: 03290019 */ multu $t9,$t1 /* f0ab928: 2408003c */ addiu $t0,$zero,0x3c /* f0ab92c: 03203025 */ or $a2,$t9,$zero /* f0ab930: 3c057f1b */ lui $a1,%hi(var7f1ac18c) /* f0ab934: 24a5c18c */ addiu $a1,$a1,%lo(var7f1ac18c) /* f0ab938: 27a40078 */ addiu $a0,$sp,0x78 /* f0ab93c: 00007012 */ mflo $t6 /* f0ab940: 006e1023 */ subu $v0,$v1,$t6 /* f0ab944: 00000000 */ nop /* f0ab948: 0048001a */ div $zero,$v0,$t0 /* f0ab94c: 00003812 */ mflo $a3 /* f0ab950: 15000002 */ bnez $t0,.L0f0ab95c /* f0ab954: 00000000 */ nop /* f0ab958: 0007000d */ break 0x7 .L0f0ab95c: /* f0ab95c: 2401ffff */ addiu $at,$zero,-1 /* f0ab960: 15010004 */ bne $t0,$at,.L0f0ab974 /* f0ab964: 3c018000 */ lui $at,0x8000 /* f0ab968: 14410002 */ bne $v0,$at,.L0f0ab974 /* f0ab96c: 00000000 */ nop /* f0ab970: 0006000d */ break 0x6 .L0f0ab974: /* f0ab974: 00e80019 */ multu $a3,$t0 /* f0ab978: 00007812 */ mflo $t7 /* f0ab97c: 004fc023 */ subu $t8,$v0,$t7 /* f0ab980: 0018c880 */ sll $t9,$t8,0x2 /* f0ab984: 0338c823 */ subu $t9,$t9,$t8 /* f0ab988: 0019c8c0 */ sll $t9,$t9,0x3 /* f0ab98c: 0338c821 */ addu $t9,$t9,$t8 /* f0ab990: 0019c880 */ sll $t9,$t9,0x2 /* f0ab994: 0328001a */ div $zero,$t9,$t0 /* f0ab998: 00007012 */ mflo $t6 /* f0ab99c: afae0010 */ sw $t6,0x10($sp) /* f0ab9a0: 15000002 */ bnez $t0,.L0f0ab9ac /* f0ab9a4: 00000000 */ nop /* f0ab9a8: 0007000d */ break 0x7 .L0f0ab9ac: /* f0ab9ac: 2401ffff */ addiu $at,$zero,-1 /* f0ab9b0: 15010004 */ bne $t0,$at,.L0f0ab9c4 /* f0ab9b4: 3c018000 */ lui $at,0x8000 /* f0ab9b8: 17210002 */ bne $t9,$at,.L0f0ab9c4 /* f0ab9bc: 00000000 */ nop /* f0ab9c0: 0006000d */ break 0x6 .L0f0ab9c4: /* f0ab9c4: 0c004dad */ jal sprintf /* f0ab9c8: 00000000 */ nop /* f0ab9cc: 1000002b */ b .L0f0aba7c /* f0ab9d0: 8fa60044 */ lw $a2,0x44($sp) /* f0ab9d4: 8faf005c */ lw $t7,0x5c($sp) .L0f0ab9d8: /* f0ab9d8: 2408003c */ addiu $t0,$zero,0x3c /* f0ab9dc: 3c057f1b */ lui $a1,%hi(var7f1ac19c) /* f0ab9e0: 01e90019 */ multu $t7,$t1 /* f0ab9e4: 24a5c19c */ addiu $a1,$a1,%lo(var7f1ac19c) /* f0ab9e8: 27a40078 */ addiu $a0,$sp,0x78 /* f0ab9ec: 0000c012 */ mflo $t8 /* f0ab9f0: 00781023 */ subu $v0,$v1,$t8 /* f0ab9f4: 00000000 */ nop /* f0ab9f8: 0048001a */ div $zero,$v0,$t0 /* f0ab9fc: 00003012 */ mflo $a2 /* f0aba00: 15000002 */ bnez $t0,.L0f0aba0c /* f0aba04: 00000000 */ nop /* f0aba08: 0007000d */ break 0x7 .L0f0aba0c: /* f0aba0c: 2401ffff */ addiu $at,$zero,-1 /* f0aba10: 15010004 */ bne $t0,$at,.L0f0aba24 /* f0aba14: 3c018000 */ lui $at,0x8000 /* f0aba18: 14410002 */ bne $v0,$at,.L0f0aba24 /* f0aba1c: 00000000 */ nop /* f0aba20: 0006000d */ break 0x6 .L0f0aba24: /* f0aba24: 00c80019 */ multu $a2,$t0 /* f0aba28: 0000c812 */ mflo $t9 /* f0aba2c: 00597023 */ subu $t6,$v0,$t9 /* f0aba30: 000e7880 */ sll $t7,$t6,0x2 /* f0aba34: 01ee7823 */ subu $t7,$t7,$t6 /* f0aba38: 000f78c0 */ sll $t7,$t7,0x3 /* f0aba3c: 01ee7821 */ addu $t7,$t7,$t6 /* f0aba40: 000f7880 */ sll $t7,$t7,0x2 /* f0aba44: 01e8001a */ div $zero,$t7,$t0 /* f0aba48: 00003812 */ mflo $a3 /* f0aba4c: 15000002 */ bnez $t0,.L0f0aba58 /* f0aba50: 00000000 */ nop /* f0aba54: 0007000d */ break 0x7 .L0f0aba58: /* f0aba58: 2401ffff */ addiu $at,$zero,-1 /* f0aba5c: 15010004 */ bne $t0,$at,.L0f0aba70 /* f0aba60: 3c018000 */ lui $at,0x8000 /* f0aba64: 15e10002 */ bne $t7,$at,.L0f0aba70 /* f0aba68: 00000000 */ nop /* f0aba6c: 0006000d */ break 0x6 .L0f0aba70: /* f0aba70: 0c004dad */ jal sprintf /* f0aba74: 00000000 */ nop /* f0aba78: 8fa60044 */ lw $a2,0x44($sp) .L0f0aba7c: /* f0aba7c: 8fb80060 */ lw $t8,0x60($sp) /* f0aba80: 3c1900ff */ lui $t9,0xff /* f0aba84: 3739c0a0 */ ori $t9,$t9,0xc0a0 /* f0aba88: afb90018 */ sw $t9,0x18($sp) /* f0aba8c: 8fa40130 */ lw $a0,0x130($sp) /* f0aba90: 27a50078 */ addiu $a1,$sp,0x78 /* f0aba94: 00003825 */ or $a3,$zero,$zero /* f0aba98: afa00014 */ sw $zero,0x14($sp) /* f0aba9c: 24c6fffe */ addiu $a2,$a2,-2 /* f0abaa0: 0fc2a6da */ jal bgunRenderHudString /* f0abaa4: afb80010 */ sw $t8,0x10($sp) /* f0abaa8: afa20130 */ sw $v0,0x130($sp) .L0f0abaac: /* f0abaac: 0fc54de0 */ jal func0f153780 /* f0abab0: 8fa40130 */ lw $a0,0x130($sp) /* f0abab4: 240e0001 */ addiu $t6,$zero,0x1 /* f0abab8: 3c018008 */ lui $at,%hi(g_ScaleX) /* f0ababc: ac2efac0 */ sw $t6,%lo(g_ScaleX)($at) .L0f0abac0: /* f0abac0: 8fbf0034 */ lw $ra,0x34($sp) /* f0abac4: 27bd0130 */ addiu $sp,$sp,0x130 /* f0abac8: 03e00008 */ jr $ra /* f0abacc: 00000000 */ nop ); #else GLOBAL_ASM( glabel bgunRenderHud /* f0a860c: 3c0e800a */ lui $t6,0x800a /* f0a8610: 8dcee944 */ lw $t6,-0x16bc($t6) /* f0a8614: 27bdfee0 */ addiu $sp,$sp,-288 /* f0a8618: afbf0034 */ sw $ra,0x34($sp) /* f0a861c: afa40120 */ sw $a0,0x120($sp) /* f0a8620: 0c002fb9 */ jal viGetViewTop /* f0a8624: afae011c */ sw $t6,0x11c($sp) /* f0a8628: 0c002f9b */ jal viGetViewHeight /* f0a862c: a7a20076 */ sh $v0,0x76($sp) /* f0a8630: 87af0076 */ lh $t7,0x76($sp) /* f0a8634: 3c08800a */ lui $t0,0x800a /* f0a8638: 2508e6c0 */ addiu $t0,$t0,-6464 /* f0a863c: 8d0e006c */ lw $t6,0x6c($t0) /* f0a8640: 004fc021 */ addu $t8,$v0,$t7 /* f0a8644: 2719fff3 */ addiu $t9,$t8,-13 /* f0a8648: 11c00003 */ beqz $t6,.NB0f0a8658 /* f0a864c: afb90118 */ sw $t9,0x118($sp) /* f0a8650: 10000002 */ beqz $zero,.NB0f0a865c /* f0a8654: 24060001 */ addiu $a2,$zero,0x1 .NB0f0a8658: /* f0a8658: 00003025 */ or $a2,$zero,$zero .NB0f0a865c: /* f0a865c: 8d0f0068 */ lw $t7,0x68($t0) /* f0a8660: 00001825 */ or $v1,$zero,$zero /* f0a8664: 00002825 */ or $a1,$zero,$zero /* f0a8668: 11e00003 */ beqz $t7,.NB0f0a8678 /* f0a866c: 00001025 */ or $v0,$zero,$zero /* f0a8670: 10000001 */ beqz $zero,.NB0f0a8678 /* f0a8674: 24030001 */ addiu $v1,$zero,0x1 .NB0f0a8678: /* f0a8678: 8d180064 */ lw $t8,0x64($t0) /* f0a867c: 13000003 */ beqz $t8,.NB0f0a868c /* f0a8680: 00000000 */ sll $zero,$zero,0x0 /* f0a8684: 10000001 */ beqz $zero,.NB0f0a868c /* f0a8688: 24050001 */ addiu $a1,$zero,0x1 .NB0f0a868c: /* f0a868c: 8d190070 */ lw $t9,0x70($t0) /* f0a8690: 13200003 */ beqz $t9,.NB0f0a86a0 /* f0a8694: 00000000 */ sll $zero,$zero,0x0 /* f0a8698: 10000001 */ beqz $zero,.NB0f0a86a0 /* f0a869c: 24020001 */ addiu $v0,$zero,0x1 .NB0f0a86a0: /* f0a86a0: 8d18028c */ lw $t8,0x28c($t0) /* f0a86a4: 00457021 */ addu $t6,$v0,$a1 /* f0a86a8: 01c37821 */ addu $t7,$t6,$v1 /* f0a86ac: afb80110 */ sw $t8,0x110($sp) /* f0a86b0: 8fb8011c */ lw $t8,0x11c($sp) /* f0a86b4: 01e63821 */ addu $a3,$t7,$a2 /* f0a86b8: 24190009 */ addiu $t9,$zero,0x9 /* f0a86bc: 240e0024 */ addiu $t6,$zero,0x24 /* f0a86c0: 240f0039 */ addiu $t7,$zero,0x39 /* f0a86c4: afa70114 */ sw $a3,0x114($sp) /* f0a86c8: afa00100 */ sw $zero,0x100($sp) /* f0a86cc: afb900fc */ sw $t9,0xfc($sp) /* f0a86d0: afae00f8 */ sw $t6,0xf8($sp) /* f0a86d4: afaf00f4 */ sw $t7,0xf4($sp) /* f0a86d8: 83041580 */ lb $a0,0x1580($t8) /* f0a86dc: 0fc2bb4c */ jal weaponFindById /* f0a86e0: afa70060 */ sw $a3,0x60($sp) /* f0a86e4: 8fb9011c */ lw $t9,0x11c($sp) /* f0a86e8: afa200ec */ sw $v0,0xec($sp) /* f0a86ec: 3c03800a */ lui $v1,0x800a /* f0a86f0: 8f2e00d8 */ lw $t6,0xd8($t9) /* f0a86f4: 2463e6c0 */ addiu $v1,$v1,-6464 /* f0a86f8: 51c00004 */ beqzl $t6,.NB0f0a870c /* f0a86fc: 8c6f0284 */ lw $t7,0x284($v1) /* f0a8700: 10000447 */ beqz $zero,.NB0f0a9820 /* f0a8704: 8fa20120 */ lw $v0,0x120($sp) /* f0a8708: 8c6f0284 */ lw $t7,0x284($v1) .NB0f0a870c: /* f0a870c: 8df81580 */ lw $t8,0x1580($t7) /* f0a8710: 33190001 */ andi $t9,$t8,0x1 /* f0a8714: 53200004 */ beqzl $t9,.NB0f0a8728 /* f0a8718: 8c6e000c */ lw $t6,0xc($v1) /* f0a871c: 10000440 */ beqz $zero,.NB0f0a9820 /* f0a8720: 8fa20120 */ lw $v0,0x120($sp) /* f0a8724: 8c6e000c */ lw $t6,0xc($v1) .NB0f0a8728: /* f0a8728: 3c0f8007 */ lui $t7,0x8007 /* f0a872c: 29c10005 */ slti $at,$t6,0x5 /* f0a8730: 10200003 */ beqz $at,.NB0f0a8740 /* f0a8734: 00000000 */ sll $zero,$zero,0x0 /* f0a8738: 10000439 */ beqz $zero,.NB0f0a9820 /* f0a873c: 8fa20120 */ lw $v0,0x120($sp) .NB0f0a8740: /* f0a8740: 8def2d88 */ lw $t7,0x2d88($t7) /* f0a8744: 24020001 */ addiu $v0,$zero,0x1 /* f0a8748: 144f0004 */ bne $v0,$t7,.NB0f0a875c /* f0a874c: 24180002 */ addiu $t8,$zero,0x2 /* f0a8750: 3c018008 */ lui $at,0x8008 /* f0a8754: 10000003 */ beqz $zero,.NB0f0a8764 /* f0a8758: ac382320 */ sw $t8,0x2320($at) .NB0f0a875c: /* f0a875c: 3c018008 */ lui $at,0x8008 /* f0a8760: ac222320 */ sw $v0,0x2320($at) .NB0f0a8764: /* f0a8764: 0fc5374a */ jal func0f153628 /* f0a8768: 8fa40120 */ lw $a0,0x120($sp) /* f0a876c: 8fb90060 */ lw $t9,0x60($sp) /* f0a8770: afa20120 */ sw $v0,0x120($sp) /* f0a8774: 2b210002 */ slti $at,$t9,0x2 /* f0a8778: 1420002a */ bnez $at,.NB0f0a8824 /* f0a877c: 240e0005 */ addiu $t6,$zero,0x5 /* f0a8780: 240f001a */ addiu $t7,$zero,0x1a /* f0a8784: 2418002f */ addiu $t8,$zero,0x2f /* f0a8788: 24010002 */ addiu $at,$zero,0x2 /* f0a878c: afae00fc */ sw $t6,0xfc($sp) /* f0a8790: afaf00f8 */ sw $t7,0xf8($sp) /* f0a8794: 17210015 */ bne $t9,$at,.NB0f0a87ec /* f0a8798: afb800f4 */ sw $t8,0xf4($sp) /* f0a879c: 3c0e8009 */ lui $t6,0x8009 /* f0a87a0: 91ce30e0 */ lbu $t6,0x30e0($t6) /* f0a87a4: 24010001 */ addiu $at,$zero,0x1 /* f0a87a8: 51c10009 */ beql $t6,$at,.NB0f0a87d0 /* f0a87ac: 8fb80118 */ lw $t8,0x118($sp) /* f0a87b0: 0fc53588 */ jal optionsGetScreenSplit /* f0a87b4: 00000000 */ sll $zero,$zero,0x0 /* f0a87b8: 24010001 */ addiu $at,$zero,0x1 /* f0a87bc: 10410007 */ beq $v0,$at,.NB0f0a87dc /* f0a87c0: 8faf0110 */ lw $t7,0x110($sp) /* f0a87c4: 55e00006 */ bnezl $t7,.NB0f0a87e0 /* f0a87c8: 8fae0118 */ lw $t6,0x118($sp) /* f0a87cc: 8fb80118 */ lw $t8,0x118($sp) .NB0f0a87d0: /* f0a87d0: 2719000a */ addiu $t9,$t8,0xa /* f0a87d4: 10000019 */ beqz $zero,.NB0f0a883c /* f0a87d8: afb90118 */ sw $t9,0x118($sp) .NB0f0a87dc: /* f0a87dc: 8fae0118 */ lw $t6,0x118($sp) .NB0f0a87e0: /* f0a87e0: 25cf0002 */ addiu $t7,$t6,0x2 /* f0a87e4: 10000015 */ beqz $zero,.NB0f0a883c /* f0a87e8: afaf0118 */ sw $t7,0x118($sp) .NB0f0a87ec: /* f0a87ec: 8fb80060 */ lw $t8,0x60($sp) /* f0a87f0: 8fb90110 */ lw $t9,0x110($sp) /* f0a87f4: 2b010003 */ slti $at,$t8,0x3 /* f0a87f8: 14200010 */ bnez $at,.NB0f0a883c /* f0a87fc: 2b210002 */ slti $at,$t9,0x2 /* f0a8800: 10200005 */ beqz $at,.NB0f0a8818 /* f0a8804: 8fb80118 */ lw $t8,0x118($sp) /* f0a8808: 8fae0118 */ lw $t6,0x118($sp) /* f0a880c: 25cf000a */ addiu $t7,$t6,0xa /* f0a8810: 1000000a */ beqz $zero,.NB0f0a883c /* f0a8814: afaf0118 */ sw $t7,0x118($sp) .NB0f0a8818: /* f0a8818: 27190002 */ addiu $t9,$t8,0x2 /* f0a881c: 10000007 */ beqz $zero,.NB0f0a883c /* f0a8820: afb90118 */ sw $t9,0x118($sp) .NB0f0a8824: /* f0a8824: 0fc5351c */ jal optionsGetEffectiveScreenSize /* f0a8828: 00000000 */ sll $zero,$zero,0x0 /* f0a882c: 10400003 */ beqz $v0,.NB0f0a883c /* f0a8830: 8fae0118 */ lw $t6,0x118($sp) /* f0a8834: 25cf0008 */ addiu $t7,$t6,0x8 /* f0a8838: afaf0118 */ sw $t7,0x118($sp) .NB0f0a883c: /* f0a883c: 8fa2011c */ lw $v0,0x11c($sp) /* f0a8840: 3c18ff00 */ lui $t8,0xff00 /* f0a8844: 3c0e800a */ lui $t6,0x800a /* f0a8848: 8dcee6f4 */ lw $t6,-0x190c($t6) /* f0a884c: 37180040 */ ori $t8,$t8,0x40 /* f0a8850: afb800e4 */ sw $t8,0xe4($sp) /* f0a8854: 9059063b */ lbu $t9,0x63b($v0) /* f0a8858: 24420638 */ addiu $v0,$v0,0x638 /* f0a885c: 000e7840 */ sll $t7,$t6,0x1 /* f0a8860: afaf00dc */ sw $t7,0xdc($sp) /* f0a8864: afa2005c */ sw $v0,0x5c($sp) /* f0a8868: 0c002fb5 */ jal viGetViewLeft /* f0a886c: afb900e0 */ sw $t9,0xe0($sp) /* f0a8870: 0c002f97 */ jal viGetViewWidth /* f0a8874: a7a20076 */ sh $v0,0x76($sp) /* f0a8878: 87b80076 */ lh $t8,0x76($sp) /* f0a887c: 3c0e8008 */ lui $t6,0x8008 /* f0a8880: 8dce2320 */ lw $t6,0x2320($t6) /* f0a8884: 0058c821 */ addu $t9,$v0,$t8 /* f0a8888: 8fb800fc */ lw $t8,0xfc($sp) /* f0a888c: 032e001a */ div $zero,$t9,$t6 /* f0a8890: 15c00002 */ bnez $t6,.NB0f0a889c /* f0a8894: 00000000 */ sll $zero,$zero,0x0 /* f0a8898: 0007000d */ break 0x7 .NB0f0a889c: /* f0a889c: 2401ffff */ addiu $at,$zero,-1 /* f0a88a0: 15c10004 */ bne $t6,$at,.NB0f0a88b4 /* f0a88a4: 3c018000 */ lui $at,0x8000 /* f0a88a8: 17210002 */ bne $t9,$at,.NB0f0a88b4 /* f0a88ac: 00000000 */ sll $zero,$zero,0x0 /* f0a88b0: 0006000d */ break 0x6 .NB0f0a88b4: /* f0a88b4: 00007812 */ mflo $t7 /* f0a88b8: 01f8c823 */ subu $t9,$t7,$t8 /* f0a88bc: 8faf0060 */ lw $t7,0x60($sp) /* f0a88c0: 272effe8 */ addiu $t6,$t9,-24 /* f0a88c4: 24010002 */ addiu $at,$zero,0x2 /* f0a88c8: 15e1000f */ bne $t7,$at,.NB0f0a8908 /* f0a88cc: afae00f0 */ sw $t6,0xf0($sp) /* f0a88d0: 0fc53588 */ jal optionsGetScreenSplit /* f0a88d4: 00000000 */ sll $zero,$zero,0x0 /* f0a88d8: 24060001 */ addiu $a2,$zero,0x1 /* f0a88dc: 10c20004 */ beq $a2,$v0,.NB0f0a88f0 /* f0a88e0: 3c188009 */ lui $t8,0x8009 /* f0a88e4: 931830e0 */ lbu $t8,0x30e0($t8) /* f0a88e8: 54d80008 */ bnel $a2,$t8,.NB0f0a890c /* f0a88ec: 8fb80060 */ lw $t8,0x60($sp) .NB0f0a88f0: /* f0a88f0: 8fb90110 */ lw $t9,0x110($sp) /* f0a88f4: 8fae00f0 */ lw $t6,0xf0($sp) /* f0a88f8: 17200003 */ bnez $t9,.NB0f0a8908 /* f0a88fc: 25cf000f */ addiu $t7,$t6,0xf /* f0a8900: 1000000b */ beqz $zero,.NB0f0a8930 /* f0a8904: afaf00f0 */ sw $t7,0xf0($sp) .NB0f0a8908: /* f0a8908: 8fb80060 */ lw $t8,0x60($sp) .NB0f0a890c: /* f0a890c: 8fb90110 */ lw $t9,0x110($sp) /* f0a8910: 24060001 */ addiu $a2,$zero,0x1 /* f0a8914: 2b010003 */ slti $at,$t8,0x3 /* f0a8918: 14200005 */ bnez $at,.NB0f0a8930 /* f0a891c: 332e0001 */ andi $t6,$t9,0x1 /* f0a8920: 15c00003 */ bnez $t6,.NB0f0a8930 /* f0a8924: 8faf00f0 */ lw $t7,0xf0($sp) /* f0a8928: 25f8000f */ addiu $t8,$t7,0xf /* f0a892c: afb800f0 */ sw $t8,0xf0($sp) .NB0f0a8930: /* f0a8930: 8fa400e0 */ lw $a0,0xe0($sp) /* f0a8934: 8faa011c */ lw $t2,0x11c($sp) /* f0a8938: 54860014 */ bnel $a0,$a2,.NB0f0a898c /* f0a893c: 8faa011c */ lw $t2,0x11c($sp) /* f0a8940: 914215e7 */ lbu $v0,0x15e7($t2) /* f0a8944: 254a1580 */ addiu $t2,$t2,0x1580 /* f0a8948: 284100ff */ slti $at,$v0,0xff /* f0a894c: 1020000e */ beqz $at,.NB0f0a8988 /* f0a8950: 28410080 */ slti $at,$v0,0x80 /* f0a8954: 10200003 */ beqz $at,.NB0f0a8964 /* f0a8958: 24190080 */ addiu $t9,$zero,0x80 /* f0a895c: a1590067 */ sb $t9,0x67($t2) /* f0a8960: 332200ff */ andi $v0,$t9,0xff .NB0f0a8964: /* f0a8964: 8fae00dc */ lw $t6,0xdc($sp) /* f0a8968: 240f00ff */ addiu $t7,$zero,0xff /* f0a896c: 004e1821 */ addu $v1,$v0,$t6 /* f0a8970: 28610100 */ slti $at,$v1,0x100 /* f0a8974: 54200004 */ bnezl $at,.NB0f0a8988 /* f0a8978: a1430067 */ sb $v1,0x67($t2) /* f0a897c: 10000002 */ beqz $zero,.NB0f0a8988 /* f0a8980: a14f0067 */ sb $t7,0x67($t2) /* f0a8984: a1430067 */ sb $v1,0x67($t2) .NB0f0a8988: /* f0a8988: 8faa011c */ lw $t2,0x11c($sp) .NB0f0a898c: /* f0a898c: 254a1580 */ addiu $t2,$t2,0x1580 /* f0a8990: 1480000a */ bnez $a0,.NB0f0a89bc /* f0a8994: 91420067 */ lbu $v0,0x67($t2) /* f0a8998: 18400008 */ blez $v0,.NB0f0a89bc /* f0a899c: 8fb800dc */ lw $t8,0xdc($sp) /* f0a89a0: 00581823 */ subu $v1,$v0,$t8 /* f0a89a4: 04610004 */ bgez $v1,.NB0f0a89b8 /* f0a89a8: 306200ff */ andi $v0,$v1,0xff /* f0a89ac: a1400067 */ sb $zero,0x67($t2) /* f0a89b0: 10000002 */ beqz $zero,.NB0f0a89bc /* f0a89b4: 300200ff */ andi $v0,$zero,0xff .NB0f0a89b8: /* f0a89b8: a1430067 */ sb $v1,0x67($t2) .NB0f0a89bc: /* f0a89bc: 28410081 */ slti $at,$v0,0x81 /* f0a89c0: 14200007 */ bnez $at,.NB0f0a89e0 /* f0a89c4: 0002c840 */ sll $t9,$v0,0x1 /* f0a89c8: 272eff00 */ addiu $t6,$t9,-256 /* f0a89cc: 3c01ff00 */ lui $at,0xff00 /* f0a89d0: 34210040 */ ori $at,$at,0x40 /* f0a89d4: 000e7c00 */ sll $t7,$t6,0x10 /* f0a89d8: 01e1c025 */ or $t8,$t7,$at /* f0a89dc: afb800e4 */ sw $t8,0xe4($sp) .NB0f0a89e0: /* f0a89e0: 8fa40120 */ lw $a0,0x120($sp) /* f0a89e4: 8fa500e4 */ lw $a1,0xe4($sp) /* f0a89e8: 0fc537b7 */ jal gfxSetPrimColour /* f0a89ec: afaa0058 */ sw $t2,0x58($sp) /* f0a89f0: 3c068008 */ lui $a2,0x8008 /* f0a89f4: 8fae00f0 */ lw $t6,0xf0($sp) /* f0a89f8: 24c62320 */ addiu $a2,$a2,0x2320 /* f0a89fc: 8cd80000 */ lw $t8,0x0($a2) /* f0a8a00: 25cffffe */ addiu $t7,$t6,-2 /* f0a8a04: 8fa50118 */ lw $a1,0x118($sp) /* f0a8a08: 01f80019 */ multu $t7,$t8 /* f0a8a0c: 3c01f600 */ lui $at,0xf600 /* f0a8a10: 30a303ff */ andi $v1,$a1,0x3ff /* f0a8a14: 0003c880 */ sll $t9,$v1,0x2 /* f0a8a18: 03201825 */ or $v1,$t9,$zero /* f0a8a1c: 24440008 */ addiu $a0,$v0,0x8 /* f0a8a20: 0000c812 */ mflo $t9 /* f0a8a24: 332e03ff */ andi $t6,$t9,0x3ff /* f0a8a28: 000e7b80 */ sll $t7,$t6,0xe /* f0a8a2c: 01e1c025 */ or $t8,$t7,$at /* f0a8a30: 0303c825 */ or $t9,$t8,$v1 /* f0a8a34: ac590000 */ sw $t9,0x0($v0) /* f0a8a38: 8fae00f0 */ lw $t6,0xf0($sp) /* f0a8a3c: 8cd80000 */ lw $t8,0x0($a2) /* f0a8a40: 25cffff3 */ addiu $t7,$t6,-13 /* f0a8a44: 01f80019 */ multu $t7,$t8 /* f0a8a48: 24b8fff5 */ addiu $t8,$a1,-11 /* f0a8a4c: 0000c812 */ mflo $t9 /* f0a8a50: 332e03ff */ andi $t6,$t9,0x3ff /* f0a8a54: 000e7b80 */ sll $t7,$t6,0xe /* f0a8a58: 331903ff */ andi $t9,$t8,0x3ff /* f0a8a5c: 00197080 */ sll $t6,$t9,0x2 /* f0a8a60: 01eec025 */ or $t8,$t7,$t6 /* f0a8a64: ac580004 */ sw $t8,0x4($v0) /* f0a8a68: 0fc537ce */ jal func0f153838 /* f0a8a6c: afa30060 */ sw $v1,0x60($sp) /* f0a8a70: 3c19800a */ lui $t9,0x800a /* f0a8a74: 8f39e948 */ lw $t9,-0x16b8($t9) /* f0a8a78: afa20120 */ sw $v0,0x120($sp) /* f0a8a7c: 0fc533d2 */ jal optionsGetShowGunFunction /* f0a8a80: 8f240070 */ lw $a0,0x70($t9) /* f0a8a84: 10400162 */ beqz $v0,.NB0f0a9010 /* f0a8a88: 8faa0058 */ lw $t2,0x58($sp) /* f0a8a8c: 8fa2005c */ lw $v0,0x5c($sp) /* f0a8a90: 90440000 */ lbu $a0,0x0($v0) /* f0a8a94: 90450003 */ lbu $a1,0x3($v0) /* f0a8a98: 0fc2bb59 */ jal weaponGetFunctionById /* f0a8a9c: afaa0058 */ sw $t2,0x58($sp) /* f0a8aa0: 0fc434ec */ jal invGetCurrentIndex /* f0a8aa4: afa200bc */ sw $v0,0xbc($sp) /* f0a8aa8: 0fc43456 */ jal invGetNameIdByIndex /* f0a8aac: 00402025 */ or $a0,$v0,$zero /* f0a8ab0: 00402025 */ or $a0,$v0,$zero /* f0a8ab4: 0fc5a4dd */ jal langGet /* f0a8ab8: a7a200ba */ sh $v0,0xba($sp) /* f0a8abc: 8faa0058 */ lw $t2,0x58($sp) /* f0a8ac0: 97a300ba */ lhu $v1,0xba($sp) /* f0a8ac4: 00403025 */ or $a2,$v0,$zero /* f0a8ac8: 954f0072 */ lhu $t7,0x72($t2) /* f0a8acc: 3c02800a */ lui $v0,0x800a /* f0a8ad0: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0a8ad4: 106f0003 */ beq $v1,$t7,.NB0f0a8ae4 /* f0a8ad8: 27a500c0 */ addiu $a1,$sp,0xc0 /* f0a8adc: a140006f */ sb $zero,0x6f($t2) /* f0a8ae0: a5430072 */ sh $v1,0x72($t2) .NB0f0a8ae4: /* f0a8ae4: 9143006f */ lbu $v1,0x6f($t2) /* f0a8ae8: 3c078008 */ lui $a3,0x8008 /* f0a8aec: 286100ff */ slti $at,$v1,0xff /* f0a8af0: 5020008b */ beqzl $at,.NB0f0a8d20 /* f0a8af4: 8fa200bc */ lw $v0,0xbc($sp) /* f0a8af8: 8c42e6f8 */ lw $v0,-0x1908($v0) /* f0a8afc: 3c0e55ff */ lui $t6,0x55ff /* f0a8b00: 35ceffff */ ori $t6,$t6,0xffff /* f0a8b04: 0062c021 */ addu $t8,$v1,$v0 /* f0a8b08: 2b010100 */ slti $at,$t8,0x100 /* f0a8b0c: 14200004 */ bnez $at,.NB0f0a8b20 /* f0a8b10: afae00d0 */ sw $t6,0xd0($sp) /* f0a8b14: 241900ff */ addiu $t9,$zero,0xff /* f0a8b18: 10000003 */ beqz $zero,.NB0f0a8b28 /* f0a8b1c: a159006f */ sb $t9,0x6f($t2) .NB0f0a8b20: /* f0a8b20: 00627021 */ addu $t6,$v1,$v0 /* f0a8b24: a14e006f */ sb $t6,0x6f($t2) .NB0f0a8b28: /* f0a8b28: 3c188008 */ lui $t8,0x8008 /* f0a8b2c: 8f182364 */ lw $t8,0x2364($t8) /* f0a8b30: 8ce72368 */ lw $a3,0x2368($a3) /* f0a8b34: afa00014 */ sw $zero,0x14($sp) /* f0a8b38: afa600d4 */ sw $a2,0xd4($sp) /* f0a8b3c: afaa0058 */ sw $t2,0x58($sp) /* f0a8b40: 0fc54655 */ jal textMeasure /* f0a8b44: afb80010 */ sw $t8,0x10($sp) /* f0a8b48: 8fb900c0 */ lw $t9,0xc0($sp) /* f0a8b4c: 8faa0058 */ lw $t2,0x58($sp) /* f0a8b50: 00002825 */ or $a1,$zero,$zero /* f0a8b54: 272f0002 */ addiu $t7,$t9,0x2 /* f0a8b58: afaf00c0 */ sw $t7,0xc0($sp) /* f0a8b5c: 9142006f */ lbu $v0,0x6f($t2) /* f0a8b60: 00027080 */ sll $t6,$v0,0x2 /* f0a8b64: 01c27023 */ subu $t6,$t6,$v0 /* f0a8b68: 01cf082a */ slt $at,$t6,$t7 /* f0a8b6c: 50200003 */ beqzl $at,.NB0f0a8b7c /* f0a8b70: 8fb80114 */ lw $t8,0x114($sp) /* f0a8b74: afae00c0 */ sw $t6,0xc0($sp) /* f0a8b78: 8fb80114 */ lw $t8,0x114($sp) .NB0f0a8b7c: /* f0a8b7c: 8fb900f0 */ lw $t9,0xf0($sp) /* f0a8b80: 8fae00c0 */ lw $t6,0xc0($sp) /* f0a8b84: 2b010002 */ slti $at,$t8,0x2 /* f0a8b88: 14200007 */ bnez $at,.NB0f0a8ba8 /* f0a8b8c: 032e7823 */ subu $t7,$t9,$t6 /* f0a8b90: 8fb900f0 */ lw $t9,0xf0($sp) /* f0a8b94: 8fae00c0 */ lw $t6,0xc0($sp) /* f0a8b98: 032e7823 */ subu $t7,$t9,$t6 /* f0a8b9c: 25f8fff3 */ addiu $t8,$t7,-13 /* f0a8ba0: 10000003 */ beqz $zero,.NB0f0a8bb0 /* f0a8ba4: afb800cc */ sw $t8,0xcc($sp) .NB0f0a8ba8: /* f0a8ba8: 25f8fffe */ addiu $t8,$t7,-2 /* f0a8bac: afb800cc */ sw $t8,0xcc($sp) .NB0f0a8bb0: /* f0a8bb0: 8fb90118 */ lw $t9,0x118($sp) /* f0a8bb4: 8fae00c4 */ lw $t6,0xc4($sp) /* f0a8bb8: 032e7823 */ subu $t7,$t9,$t6 /* f0a8bbc: 25f8fff1 */ addiu $t8,$t7,-15 /* f0a8bc0: afb800c8 */ sw $t8,0xc8($sp) /* f0a8bc4: 9143006f */ lbu $v1,0x6f($t2) /* f0a8bc8: 241800ff */ addiu $t8,$zero,0xff /* f0a8bcc: 286100c1 */ slti $at,$v1,0xc1 /* f0a8bd0: 1420000d */ bnez $at,.NB0f0a8c08 /* f0a8bd4: 0003ca00 */ sll $t9,$v1,0x8 /* f0a8bd8: 3c01ffff */ lui $at,0xffff /* f0a8bdc: 342140c0 */ ori $at,$at,0x40c0 /* f0a8be0: 0323c823 */ subu $t9,$t9,$v1 /* f0a8be4: 03217021 */ addu $t6,$t9,$at /* f0a8be8: 2401003f */ addiu $at,$zero,0x3f /* f0a8bec: 01c1001b */ divu $zero,$t6,$at /* f0a8bf0: 00007812 */ mflo $t7 /* f0a8bf4: 3c0155ff */ lui $at,0x55ff /* f0a8bf8: 030f1023 */ subu $v0,$t8,$t7 /* f0a8bfc: 3421ff00 */ ori $at,$at,0xff00 /* f0a8c00: 0041c825 */ or $t9,$v0,$at /* f0a8c04: afb900d0 */ sw $t9,0xd0($sp) .NB0f0a8c08: /* f0a8c08: 8fa40120 */ lw $a0,0x120($sp) /* f0a8c0c: 0fc537b7 */ jal gfxSetPrimColour /* f0a8c10: afaa0058 */ sw $t2,0x58($sp) /* f0a8c14: 3c038008 */ lui $v1,0x8008 /* f0a8c18: 8fae00f0 */ lw $t6,0xf0($sp) /* f0a8c1c: 24632320 */ addiu $v1,$v1,0x2320 /* f0a8c20: 8c6f0000 */ lw $t7,0x0($v1) /* f0a8c24: 25d8fff5 */ addiu $t8,$t6,-11 /* f0a8c28: 3c01f600 */ lui $at,0xf600 /* f0a8c2c: 030f0019 */ multu $t8,$t7 /* f0a8c30: 24440008 */ addiu $a0,$v0,0x8 /* f0a8c34: 0000c812 */ mflo $t9 /* f0a8c38: 332e03ff */ andi $t6,$t9,0x3ff /* f0a8c3c: 8fb90060 */ lw $t9,0x60($sp) /* f0a8c40: 000ec380 */ sll $t8,$t6,0xe /* f0a8c44: 03017825 */ or $t7,$t8,$at /* f0a8c48: 01f97025 */ or $t6,$t7,$t9 /* f0a8c4c: ac4e0000 */ sw $t6,0x0($v0) /* f0a8c50: 8fb800cc */ lw $t8,0xcc($sp) /* f0a8c54: 8c790000 */ lw $t9,0x0($v1) /* f0a8c58: 270fffff */ addiu $t7,$t8,-1 /* f0a8c5c: 01f90019 */ multu $t7,$t9 /* f0a8c60: 8fb900c8 */ lw $t9,0xc8($sp) /* f0a8c64: 00007012 */ mflo $t6 /* f0a8c68: 31d803ff */ andi $t8,$t6,0x3ff /* f0a8c6c: 00187b80 */ sll $t7,$t8,0xe /* f0a8c70: 272effff */ addiu $t6,$t9,-1 /* f0a8c74: 31d803ff */ andi $t8,$t6,0x3ff /* f0a8c78: 0018c880 */ sll $t9,$t8,0x2 /* f0a8c7c: 01f97025 */ or $t6,$t7,$t9 /* f0a8c80: 0fc537ce */ jal func0f153838 /* f0a8c84: ac4e0004 */ sw $t6,0x4($v0) /* f0a8c88: 3c018006 */ lui $at,0x8006 /* f0a8c8c: c4243b40 */ lwc1 $f4,0x3b40($at) /* f0a8c90: 3c014248 */ lui $at,0x4248 /* f0a8c94: 44813000 */ mtc1 $at,$f6 /* f0a8c98: afa20120 */ sw $v0,0x120($sp) /* f0a8c9c: 00002825 */ or $a1,$zero,$zero /* f0a8ca0: 46062202 */ mul.s $f8,$f4,$f6 /* f0a8ca4: 24060032 */ addiu $a2,$zero,0x32 /* f0a8ca8: 4600428d */ trunc.w.s $f10,$f8 /* f0a8cac: 44045000 */ mfc1 $a0,$f10 /* f0a8cb0: 0fc538eb */ jal func0f153d50 /* f0a8cb4: 00000000 */ sll $zero,$zero,0x0 /* f0a8cb8: 2404ffff */ addiu $a0,$zero,-1 /* f0a8cbc: 0fc53925 */ jal func0f153e38 /* f0a8cc0: 2405ffff */ addiu $a1,$zero,-1 /* f0a8cc4: 3c0f8008 */ lui $t7,0x8008 /* f0a8cc8: 8def2368 */ lw $t7,0x2368($t7) /* f0a8ccc: 3c198008 */ lui $t9,0x8008 /* f0a8cd0: 8f392364 */ lw $t9,0x2364($t9) /* f0a8cd4: 8fae00d0 */ lw $t6,0xd0($sp) /* f0a8cd8: 8fb800c0 */ lw $t8,0xc0($sp) /* f0a8cdc: afaf0010 */ sw $t7,0x10($sp) /* f0a8ce0: 240f03e8 */ addiu $t7,$zero,0x3e8 /* f0a8ce4: afaf0020 */ sw $t7,0x20($sp) /* f0a8ce8: 8fa40120 */ lw $a0,0x120($sp) /* f0a8cec: 27a500cc */ addiu $a1,$sp,0xcc /* f0a8cf0: 27a600c8 */ addiu $a2,$sp,0xc8 /* f0a8cf4: 8fa700d4 */ lw $a3,0xd4($sp) /* f0a8cf8: afa00024 */ sw $zero,0x24($sp) /* f0a8cfc: afa00028 */ sw $zero,0x28($sp) /* f0a8d00: afb90014 */ sw $t9,0x14($sp) /* f0a8d04: afae0018 */ sw $t6,0x18($sp) /* f0a8d08: 0fc541a6 */ jal textRenderProjected /* f0a8d0c: afb8001c */ sw $t8,0x1c($sp) /* f0a8d10: 0fc5392a */ jal func0f153e4c /* f0a8d14: afa20120 */ sw $v0,0x120($sp) /* f0a8d18: 8faa0058 */ lw $t2,0x58($sp) /* f0a8d1c: 8fa200bc */ lw $v0,0xbc($sp) .NB0f0a8d20: /* f0a8d20: 504000bc */ beqzl $v0,.NB0f0a9014 /* f0a8d24: 8fa500ec */ lw $a1,0xec($sp) /* f0a8d28: 94440004 */ lhu $a0,0x4($v0) /* f0a8d2c: 0fc5a4dd */ jal langGet /* f0a8d30: afaa0058 */ sw $t2,0x58($sp) /* f0a8d34: 3c19ff55 */ lui $t9,0xff55 /* f0a8d38: 8fa300bc */ lw $v1,0xbc($sp) /* f0a8d3c: 8faa0058 */ lw $t2,0x58($sp) /* f0a8d40: 373955ff */ ori $t9,$t9,0x55ff /* f0a8d44: afb900d0 */ sw $t9,0xd0($sp) /* f0a8d48: 946e0004 */ lhu $t6,0x4($v1) /* f0a8d4c: 9544006c */ lhu $a0,0x6c($t2) /* f0a8d50: 11c40005 */ beq $t6,$a0,.NB0f0a8d68 /* f0a8d54: 00000000 */ sll $zero,$zero,0x0 /* f0a8d58: 91580067 */ lbu $t8,0x67($t2) /* f0a8d5c: 2b010081 */ slti $at,$t8,0x81 /* f0a8d60: 50200004 */ beqzl $at,.NB0f0a8d74 /* f0a8d64: a140006e */ sb $zero,0x6e($t2) .NB0f0a8d68: /* f0a8d68: 14800005 */ bnez $a0,.NB0f0a8d80 /* f0a8d6c: 00000000 */ sll $zero,$zero,0x0 /* f0a8d70: a140006e */ sb $zero,0x6e($t2) .NB0f0a8d74: /* f0a8d74: 946f0004 */ lhu $t7,0x4($v1) /* f0a8d78: a54f006c */ sh $t7,0x6c($t2) /* f0a8d7c: 31e4ffff */ andi $a0,$t7,0xffff .NB0f0a8d80: /* f0a8d80: 0fc5a4dd */ jal langGet /* f0a8d84: afaa0058 */ sw $t2,0x58($sp) /* f0a8d88: 8faa0058 */ lw $t2,0x58($sp) /* f0a8d8c: 00403025 */ or $a2,$v0,$zero /* f0a8d90: 3c02800a */ lui $v0,0x800a /* f0a8d94: 9143006e */ lbu $v1,0x6e($t2) /* f0a8d98: 8fb900f0 */ lw $t9,0xf0($sp) /* f0a8d9c: 27a400c4 */ addiu $a0,$sp,0xc4 /* f0a8da0: 286100ff */ slti $at,$v1,0xff /* f0a8da4: 1020009a */ beqz $at,.NB0f0a9010 /* f0a8da8: 27a500c0 */ addiu $a1,$sp,0xc0 /* f0a8dac: 8c42e6f8 */ lw $v0,-0x1908($v0) /* f0a8db0: 272efff5 */ addiu $t6,$t9,-11 /* f0a8db4: afae0060 */ sw $t6,0x60($sp) /* f0a8db8: 0062c021 */ addu $t8,$v1,$v0 /* f0a8dbc: 2b010100 */ slti $at,$t8,0x100 /* f0a8dc0: 14200004 */ bnez $at,.NB0f0a8dd4 /* f0a8dc4: 3c078008 */ lui $a3,0x8008 /* f0a8dc8: 240f00ff */ addiu $t7,$zero,0xff /* f0a8dcc: 10000003 */ beqz $zero,.NB0f0a8ddc /* f0a8dd0: a14f006e */ sb $t7,0x6e($t2) .NB0f0a8dd4: /* f0a8dd4: 00627021 */ addu $t6,$v1,$v0 /* f0a8dd8: a14e006e */ sb $t6,0x6e($t2) .NB0f0a8ddc: /* f0a8ddc: 8fb8005c */ lw $t8,0x5c($sp) /* f0a8de0: 24010001 */ addiu $at,$zero,0x1 /* f0a8de4: 93020003 */ lbu $v0,0x3($t8) /* f0a8de8: 14410009 */ bne $v0,$at,.NB0f0a8e10 /* f0a8dec: 00000000 */ sll $zero,$zero,0x0 /* f0a8df0: 8fb900bc */ lw $t9,0xbc($sp) /* f0a8df4: 954f006c */ lhu $t7,0x6c($t2) /* f0a8df8: 3c18ffff */ lui $t8,0xffff /* f0a8dfc: 972e0004 */ lhu $t6,0x4($t9) /* f0a8e00: 371855ff */ ori $t8,$t8,0x55ff /* f0a8e04: 15ee0002 */ bne $t7,$t6,.NB0f0a8e10 /* f0a8e08: 00000000 */ sll $zero,$zero,0x0 /* f0a8e0c: afb800d0 */ sw $t8,0xd0($sp) .NB0f0a8e10: /* f0a8e10: 14400008 */ bnez $v0,.NB0f0a8e34 /* f0a8e14: 8faf00bc */ lw $t7,0xbc($sp) /* f0a8e18: 9559006c */ lhu $t9,0x6c($t2) /* f0a8e1c: 95ee0004 */ lhu $t6,0x4($t7) /* f0a8e20: 8fb800d0 */ lw $t8,0xd0($sp) /* f0a8e24: 3c0100ff */ lui $at,0xff /* f0a8e28: 132e0002 */ beq $t9,$t6,.NB0f0a8e34 /* f0a8e2c: 03017825 */ or $t7,$t8,$at /* f0a8e30: afaf00d0 */ sw $t7,0xd0($sp) .NB0f0a8e34: /* f0a8e34: 3c198008 */ lui $t9,0x8008 /* f0a8e38: 8f392364 */ lw $t9,0x2364($t9) /* f0a8e3c: 8ce72368 */ lw $a3,0x2368($a3) /* f0a8e40: afa00014 */ sw $zero,0x14($sp) /* f0a8e44: afa600d4 */ sw $a2,0xd4($sp) /* f0a8e48: afaa0058 */ sw $t2,0x58($sp) /* f0a8e4c: 0fc54655 */ jal textMeasure /* f0a8e50: afb90010 */ sw $t9,0x10($sp) /* f0a8e54: 8fae00c0 */ lw $t6,0xc0($sp) /* f0a8e58: 8faa0058 */ lw $t2,0x58($sp) /* f0a8e5c: 00002825 */ or $a1,$zero,$zero /* f0a8e60: 25d80002 */ addiu $t8,$t6,0x2 /* f0a8e64: afb800c0 */ sw $t8,0xc0($sp) /* f0a8e68: 9142006e */ lbu $v0,0x6e($t2) /* f0a8e6c: 00027880 */ sll $t7,$v0,0x2 /* f0a8e70: 01e27823 */ subu $t7,$t7,$v0 /* f0a8e74: 01f8082a */ slt $at,$t7,$t8 /* f0a8e78: 50200003 */ beqzl $at,.NB0f0a8e88 /* f0a8e7c: 8fb900f0 */ lw $t9,0xf0($sp) /* f0a8e80: afaf00c0 */ sw $t7,0xc0($sp) /* f0a8e84: 8fb900f0 */ lw $t9,0xf0($sp) .NB0f0a8e88: /* f0a8e88: 8fae00c0 */ lw $t6,0xc0($sp) /* f0a8e8c: 032e7823 */ subu $t7,$t9,$t6 /* f0a8e90: 8fae00c4 */ lw $t6,0xc4($sp) /* f0a8e94: 8fb90118 */ lw $t9,0x118($sp) /* f0a8e98: 25f8fff3 */ addiu $t8,$t7,-13 /* f0a8e9c: afb800cc */ sw $t8,0xcc($sp) /* f0a8ea0: 032e7823 */ subu $t7,$t9,$t6 /* f0a8ea4: 25f8ffff */ addiu $t8,$t7,-1 /* f0a8ea8: afb800c8 */ sw $t8,0xc8($sp) /* f0a8eac: 9143006e */ lbu $v1,0x6e($t2) /* f0a8eb0: 241800ff */ addiu $t8,$zero,0xff /* f0a8eb4: 286100c1 */ slti $at,$v1,0xc1 /* f0a8eb8: 1420000e */ bnez $at,.NB0f0a8ef4 /* f0a8ebc: 0003ca00 */ sll $t9,$v1,0x8 /* f0a8ec0: 3c01ffff */ lui $at,0xffff /* f0a8ec4: 342140c0 */ ori $at,$at,0x40c0 /* f0a8ec8: 0323c823 */ subu $t9,$t9,$v1 /* f0a8ecc: 03217021 */ addu $t6,$t9,$at /* f0a8ed0: 2401003f */ addiu $at,$zero,0x3f /* f0a8ed4: 01c1001b */ divu $zero,$t6,$at /* f0a8ed8: 8fb900d0 */ lw $t9,0xd0($sp) /* f0a8edc: 00007812 */ mflo $t7 /* f0a8ee0: 2401ff00 */ addiu $at,$zero,-256 /* f0a8ee4: 030f1023 */ subu $v0,$t8,$t7 /* f0a8ee8: 03217024 */ and $t6,$t9,$at /* f0a8eec: 01c2c025 */ or $t8,$t6,$v0 /* f0a8ef0: afb800d0 */ sw $t8,0xd0($sp) .NB0f0a8ef4: /* f0a8ef4: 8fa40120 */ lw $a0,0x120($sp) /* f0a8ef8: 0fc537b7 */ jal gfxSetPrimColour /* f0a8efc: afaa0058 */ sw $t2,0x58($sp) /* f0a8f00: 3c038008 */ lui $v1,0x8008 /* f0a8f04: 24632320 */ addiu $v1,$v1,0x2320 /* f0a8f08: 8c790000 */ lw $t9,0x0($v1) /* f0a8f0c: 8faf0060 */ lw $t7,0x60($sp) /* f0a8f10: 3c01f600 */ lui $at,0xf600 /* f0a8f14: 24440008 */ addiu $a0,$v0,0x8 /* f0a8f18: 01f90019 */ multu $t7,$t9 /* f0a8f1c: 00007012 */ mflo $t6 /* f0a8f20: 31d803ff */ andi $t8,$t6,0x3ff /* f0a8f24: 8fae0118 */ lw $t6,0x118($sp) /* f0a8f28: 00187b80 */ sll $t7,$t8,0xe /* f0a8f2c: 01e1c825 */ or $t9,$t7,$at /* f0a8f30: 25d80003 */ addiu $t8,$t6,0x3 /* f0a8f34: 330f03ff */ andi $t7,$t8,0x3ff /* f0a8f38: 000f7080 */ sll $t6,$t7,0x2 /* f0a8f3c: 032ec025 */ or $t8,$t9,$t6 /* f0a8f40: ac580000 */ sw $t8,0x0($v0) /* f0a8f44: 8faf00cc */ lw $t7,0xcc($sp) /* f0a8f48: 8c6e0000 */ lw $t6,0x0($v1) /* f0a8f4c: 25f9ffff */ addiu $t9,$t7,-1 /* f0a8f50: 032e0019 */ multu $t9,$t6 /* f0a8f54: 8fae00c8 */ lw $t6,0xc8($sp) /* f0a8f58: 0000c012 */ mflo $t8 /* f0a8f5c: 330f03ff */ andi $t7,$t8,0x3ff /* f0a8f60: 000fcb80 */ sll $t9,$t7,0xe /* f0a8f64: 25d8ffff */ addiu $t8,$t6,-1 /* f0a8f68: 330f03ff */ andi $t7,$t8,0x3ff /* f0a8f6c: 000f7080 */ sll $t6,$t7,0x2 /* f0a8f70: 032ec025 */ or $t8,$t9,$t6 /* f0a8f74: 0fc537ce */ jal func0f153838 /* f0a8f78: ac580004 */ sw $t8,0x4($v0) /* f0a8f7c: 3c018006 */ lui $at,0x8006 /* f0a8f80: c4303b40 */ lwc1 $f16,0x3b40($at) /* f0a8f84: 3c014248 */ lui $at,0x4248 /* f0a8f88: 44819000 */ mtc1 $at,$f18 /* f0a8f8c: afa20120 */ sw $v0,0x120($sp) /* f0a8f90: 00002825 */ or $a1,$zero,$zero /* f0a8f94: 46128102 */ mul.s $f4,$f16,$f18 /* f0a8f98: 24060032 */ addiu $a2,$zero,0x32 /* f0a8f9c: 4600218d */ trunc.w.s $f6,$f4 /* f0a8fa0: 44043000 */ mfc1 $a0,$f6 /* f0a8fa4: 0fc538eb */ jal func0f153d50 /* f0a8fa8: 00000000 */ sll $zero,$zero,0x0 /* f0a8fac: 2404ffff */ addiu $a0,$zero,-1 /* f0a8fb0: 0fc53925 */ jal func0f153e38 /* f0a8fb4: 2405ffff */ addiu $a1,$zero,-1 /* f0a8fb8: 3c198008 */ lui $t9,0x8008 /* f0a8fbc: 8f392368 */ lw $t9,0x2368($t9) /* f0a8fc0: 3c0e8008 */ lui $t6,0x8008 /* f0a8fc4: 8dce2364 */ lw $t6,0x2364($t6) /* f0a8fc8: 8fb800d0 */ lw $t8,0xd0($sp) /* f0a8fcc: 8faf00c0 */ lw $t7,0xc0($sp) /* f0a8fd0: afb90010 */ sw $t9,0x10($sp) /* f0a8fd4: 241903e8 */ addiu $t9,$zero,0x3e8 /* f0a8fd8: afb90020 */ sw $t9,0x20($sp) /* f0a8fdc: 8fa40120 */ lw $a0,0x120($sp) /* f0a8fe0: 27a500cc */ addiu $a1,$sp,0xcc /* f0a8fe4: 27a600c8 */ addiu $a2,$sp,0xc8 /* f0a8fe8: 8fa700d4 */ lw $a3,0xd4($sp) /* f0a8fec: afa00024 */ sw $zero,0x24($sp) /* f0a8ff0: afa00028 */ sw $zero,0x28($sp) /* f0a8ff4: afae0014 */ sw $t6,0x14($sp) /* f0a8ff8: afb80018 */ sw $t8,0x18($sp) /* f0a8ffc: 0fc541a6 */ jal textRenderProjected /* f0a9000: afaf001c */ sw $t7,0x1c($sp) /* f0a9004: 0fc5392a */ jal func0f153e4c /* f0a9008: afa20120 */ sw $v0,0x120($sp) /* f0a900c: 8faa0058 */ lw $t2,0x58($sp) .NB0f0a9010: /* f0a9010: 8fa500ec */ lw $a1,0xec($sp) .NB0f0a9014: /* f0a9014: 8fae005c */ lw $t6,0x5c($sp) /* f0a9018: 50a0000a */ beqzl $a1,.NB0f0a9044 /* f0a901c: 8fb80100 */ lw $t8,0x100($sp) /* f0a9020: 91d80003 */ lbu $t8,0x3($t6) /* f0a9024: 00187880 */ sll $t7,$t8,0x2 /* f0a9028: 00afc821 */ addu $t9,$a1,$t7 /* f0a902c: 8f220014 */ lw $v0,0x14($t9) /* f0a9030: 50400004 */ beqzl $v0,.NB0f0a9044 /* f0a9034: 8fb80100 */ lw $t8,0x100($sp) /* f0a9038: 804e0007 */ lb $t6,0x7($v0) /* f0a903c: afae0100 */ sw $t6,0x100($sp) /* f0a9040: 8fb80100 */ lw $t8,0x100($sp) .NB0f0a9044: /* f0a9044: 2403ffff */ addiu $v1,$zero,-1 /* f0a9048: 8faf005c */ lw $t7,0x5c($sp) /* f0a904c: 57030014 */ bnel $t8,$v1,.NB0f0a90a0 /* f0a9050: 8faf0100 */ lw $t7,0x100($sp) /* f0a9054: 91f90003 */ lbu $t9,0x3($t7) /* f0a9058: 00197080 */ sll $t6,$t9,0x2 /* f0a905c: 000ec023 */ negu $t8,$t6 /* f0a9060: 00b87821 */ addu $t7,$a1,$t8 /* f0a9064: 8de20018 */ lw $v0,0x18($t7) /* f0a9068: 50400004 */ beqzl $v0,.NB0f0a907c /* f0a906c: 8fae0100 */ lw $t6,0x100($sp) /* f0a9070: 80590007 */ lb $t9,0x7($v0) /* f0a9074: afb90100 */ sw $t9,0x100($sp) /* f0a9078: 8fae0100 */ lw $t6,0x100($sp) .NB0f0a907c: /* f0a907c: 55c30008 */ bnel $t6,$v1,.NB0f0a90a0 /* f0a9080: 8faf0100 */ lw $t7,0x100($sp) /* f0a9084: 0fc537a0 */ jal func0f153780 /* f0a9088: 8fa40120 */ lw $a0,0x120($sp) /* f0a908c: 24180001 */ addiu $t8,$zero,0x1 /* f0a9090: 3c018008 */ lui $at,0x8008 /* f0a9094: 100001e2 */ beqz $zero,.NB0f0a9820 /* f0a9098: ac382320 */ sw $t8,0x2320($at) /* f0a909c: 8faf0100 */ lw $t7,0x100($sp) .NB0f0a90a0: /* f0a90a0: 81590069 */ lb $t9,0x69($t2) /* f0a90a4: 8fa4011c */ lw $a0,0x11c($sp) /* f0a90a8: 11f9000d */ beq $t7,$t9,.NB0f0a90e0 /* f0a90ac: 24841568 */ addiu $a0,$a0,0x1568 /* f0a90b0: 0fc29ecd */ jal bgunResetAbmag /* f0a90b4: afaa0058 */ sw $t2,0x58($sp) /* f0a90b8: 8fa4005c */ lw $a0,0x5c($sp) /* f0a90bc: 0fc29ecd */ jal bgunResetAbmag /* f0a90c0: 2484078c */ addiu $a0,$a0,0x78c /* f0a90c4: 8faa0058 */ lw $t2,0x58($sp) /* f0a90c8: 0fc29ecd */ jal bgunResetAbmag /* f0a90cc: 2544005c */ addiu $a0,$t2,0x5c /* f0a90d0: 8faa0058 */ lw $t2,0x58($sp) /* f0a90d4: 8fae0100 */ lw $t6,0x100($sp) /* f0a90d8: a14e0069 */ sb $t6,0x69($t2) /* f0a90dc: 8fa500ec */ lw $a1,0xec($sp) .NB0f0a90e0: /* f0a90e0: 8fb8011c */ lw $t8,0x11c($sp) /* f0a90e4: 8fa20100 */ lw $v0,0x100($sp) /* f0a90e8: 270f0ddc */ addiu $t7,$t8,0xddc /* f0a90ec: afaf0060 */ sw $t7,0x60($sp) /* f0a90f0: 83190de4 */ lb $t9,0xde4($t8) /* f0a90f4: 00027080 */ sll $t6,$v0,0x2 /* f0a90f8: 00ae2021 */ addu $a0,$a1,$t6 /* f0a90fc: 53200076 */ beqzl $t9,.NB0f0a92d8 /* f0a9100: 8fb9005c */ lw $t9,0x5c($sp) /* f0a9104: 8c8f001c */ lw $t7,0x1c($a0) /* f0a9108: 51e00073 */ beqzl $t7,.NB0f0a92d8 /* f0a910c: 8fb9005c */ lw $t9,0x5c($sp) /* f0a9110: 93190ddc */ lbu $t9,0xddc($t8) /* f0a9114: 24010022 */ addiu $at,$zero,0x22 /* f0a9118: 5321006f */ beql $t9,$at,.NB0f0a92d8 /* f0a911c: 8fb9005c */ lw $t9,0x5c($sp) /* f0a9120: afae0050 */ sw $t6,0x50($sp) /* f0a9124: afa40054 */ sw $a0,0x54($sp) /* f0a9128: 0c002fb5 */ jal viGetViewLeft /* f0a912c: afaa0058 */ sw $t2,0x58($sp) /* f0a9130: 3c0e8008 */ lui $t6,0x8008 /* f0a9134: 8dce2320 */ lw $t6,0x2320($t6) /* f0a9138: 8fb90114 */ lw $t9,0x114($sp) /* f0a913c: 8fa40054 */ lw $a0,0x54($sp) /* f0a9140: 004e001a */ div $zero,$v0,$t6 /* f0a9144: 00007812 */ mflo $t7 /* f0a9148: 25f80018 */ addiu $t8,$t7,0x18 /* f0a914c: afb800f0 */ sw $t8,0xf0($sp) /* f0a9150: 8faa0058 */ lw $t2,0x58($sp) /* f0a9154: 15c00002 */ bnez $t6,.NB0f0a9160 /* f0a9158: 00000000 */ sll $zero,$zero,0x0 /* f0a915c: 0007000d */ break 0x7 .NB0f0a9160: /* f0a9160: 2401ffff */ addiu $at,$zero,-1 /* f0a9164: 15c10004 */ bne $t6,$at,.NB0f0a9178 /* f0a9168: 3c018000 */ lui $at,0x8000 /* f0a916c: 14410002 */ bne $v0,$at,.NB0f0a9178 /* f0a9170: 00000000 */ sll $zero,$zero,0x0 /* f0a9174: 0006000d */ break 0x6 .NB0f0a9178: /* f0a9178: 24010002 */ addiu $at,$zero,0x2 /* f0a917c: 57210015 */ bnel $t9,$at,.NB0f0a91d4 /* f0a9180: 8fae0114 */ lw $t6,0x114($sp) /* f0a9184: afa40054 */ sw $a0,0x54($sp) /* f0a9188: 0fc53588 */ jal optionsGetScreenSplit /* f0a918c: afaa0058 */ sw $t2,0x58($sp) /* f0a9190: 24010001 */ addiu $at,$zero,0x1 /* f0a9194: 8fa40054 */ lw $a0,0x54($sp) /* f0a9198: 10410006 */ beq $v0,$at,.NB0f0a91b4 /* f0a919c: 8faa0058 */ lw $t2,0x58($sp) /* f0a91a0: 3c0e8009 */ lui $t6,0x8009 /* f0a91a4: 91ce30e0 */ lbu $t6,0x30e0($t6) /* f0a91a8: 24010001 */ addiu $at,$zero,0x1 /* f0a91ac: 55c10009 */ bnel $t6,$at,.NB0f0a91d4 /* f0a91b0: 8fae0114 */ lw $t6,0x114($sp) .NB0f0a91b4: /* f0a91b4: 8faf0110 */ lw $t7,0x110($sp) /* f0a91b8: 8fb800f0 */ lw $t8,0xf0($sp) /* f0a91bc: 24010001 */ addiu $at,$zero,0x1 /* f0a91c0: 15e10003 */ bne $t7,$at,.NB0f0a91d0 /* f0a91c4: 2719fff2 */ addiu $t9,$t8,-14 /* f0a91c8: 1000000b */ beqz $zero,.NB0f0a91f8 /* f0a91cc: afb900f0 */ sw $t9,0xf0($sp) .NB0f0a91d0: /* f0a91d0: 8fae0114 */ lw $t6,0x114($sp) .NB0f0a91d4: /* f0a91d4: 8faf0110 */ lw $t7,0x110($sp) /* f0a91d8: 29c10003 */ slti $at,$t6,0x3 /* f0a91dc: 14200006 */ bnez $at,.NB0f0a91f8 /* f0a91e0: 31f80001 */ andi $t8,$t7,0x1 /* f0a91e4: 24010001 */ addiu $at,$zero,0x1 /* f0a91e8: 17010003 */ bne $t8,$at,.NB0f0a91f8 /* f0a91ec: 8fb900f0 */ lw $t9,0xf0($sp) /* f0a91f0: 272efff2 */ addiu $t6,$t9,-14 /* f0a91f4: afae00f0 */ sw $t6,0xf0($sp) .NB0f0a91f8: /* f0a91f8: 8fa90060 */ lw $t1,0x60($sp) /* f0a91fc: 8faf0050 */ lw $t7,0x50($sp) /* f0a9200: 012f1821 */ addu $v1,$t1,$t7 /* f0a9204: 8c680228 */ lw $t0,0x228($v1) /* f0a9208: 59000033 */ blezl $t0,.NB0f0a92d8 /* f0a920c: 8fb9005c */ lw $t9,0x5c($sp) /* f0a9210: 8c98001c */ lw $t8,0x1c($a0) /* f0a9214: 8fa40120 */ lw $a0,0x120($sp) /* f0a9218: 93190010 */ lbu $t9,0x10($t8) /* f0a921c: 8fb80118 */ lw $t8,0x118($sp) /* f0a9220: 332e0002 */ andi $t6,$t9,0x2 /* f0a9224: 15c0002b */ bnez $t6,.NB0f0a92d4 /* f0a9228: 8fb900f8 */ lw $t9,0xf8($sp) /* f0a922c: 8fae00f4 */ lw $t6,0xf4($sp) /* f0a9230: 03191023 */ subu $v0,$t8,$t9 /* f0a9234: 2459fffd */ addiu $t9,$v0,-3 /* f0a9238: 004e3023 */ subu $a2,$v0,$t6 /* f0a923c: 252e078c */ addiu $t6,$t1,0x78c /* f0a9240: afae0014 */ sw $t6,0x14($sp) /* f0a9244: afb90010 */ sw $t9,0x10($sp) /* f0a9248: 8c6f0220 */ lw $t7,0x220($v1) /* f0a924c: 8fb800fc */ lw $t8,0xfc($sp) /* f0a9250: 8fa500f0 */ lw $a1,0xf0($sp) /* f0a9254: 3c1900ff */ lui $t9,0xff /* f0a9258: 37390040 */ ori $t9,$t9,0x40 /* f0a925c: 00b83821 */ addu $a3,$a1,$t8 /* f0a9260: 3c180030 */ lui $t8,0x30 /* f0a9264: 37180080 */ ori $t8,$t8,0x80 /* f0a9268: afb80020 */ sw $t8,0x20($sp) /* f0a926c: afa70044 */ sw $a3,0x44($sp) /* f0a9270: afb90024 */ sw $t9,0x24($sp) /* f0a9274: afaa0058 */ sw $t2,0x58($sp) /* f0a9278: afa3004c */ sw $v1,0x4c($sp) /* f0a927c: afa20048 */ sw $v0,0x48($sp) /* f0a9280: afa00028 */ sw $zero,0x28($sp) /* f0a9284: afa8001c */ sw $t0,0x1c($sp) /* f0a9288: 24c6fffd */ addiu $a2,$a2,-3 /* f0a928c: 0fc29f58 */ jal bgunRenderHudGauge /* f0a9290: afaf0018 */ sw $t7,0x18($sp) /* f0a9294: 8fa3004c */ lw $v1,0x4c($sp) /* f0a9298: 8fae0048 */ lw $t6,0x48($sp) /* f0a929c: 8fa60044 */ lw $a2,0x44($sp) /* f0a92a0: 3c1800ff */ lui $t8,0xff /* f0a92a4: 8c650220 */ lw $a1,0x220($v1) /* f0a92a8: 371800a0 */ ori $t8,$t8,0xa0 /* f0a92ac: 25cffff8 */ addiu $t7,$t6,-8 /* f0a92b0: afaf0010 */ sw $t7,0x10($sp) /* f0a92b4: afb80018 */ sw $t8,0x18($sp) /* f0a92b8: afa00014 */ sw $zero,0x14($sp) /* f0a92bc: 00402025 */ or $a0,$v0,$zero /* f0a92c0: 24070001 */ addiu $a3,$zero,0x1 /* f0a92c4: 0fc29eb3 */ jal bgunRenderHudInteger /* f0a92c8: 24c60002 */ addiu $a2,$a2,0x2 /* f0a92cc: 8faa0058 */ lw $t2,0x58($sp) /* f0a92d0: afa20120 */ sw $v0,0x120($sp) .NB0f0a92d4: /* f0a92d4: 8fb9005c */ lw $t9,0x5c($sp) .NB0f0a92d8: /* f0a92d8: 8faf0100 */ lw $t7,0x100($sp) /* f0a92dc: 832e0008 */ lb $t6,0x8($t9) /* f0a92e0: 014fc021 */ addu $t8,$t2,$t7 /* f0a92e4: 11c00149 */ beqz $t6,.NB0f0a980c /* f0a92e8: 00000000 */ sll $zero,$zero,0x0 /* f0a92ec: 83190064 */ lb $t9,0x64($t8) /* f0a92f0: 8fae011c */ lw $t6,0x11c($sp) /* f0a92f4: 07200145 */ bltz $t9,.NB0f0a980c /* f0a92f8: 01cfc021 */ addu $t8,$t6,$t7 /* f0a92fc: 831915e4 */ lb $t9,0x15e4($t8) /* f0a9300: 000f7080 */ sll $t6,$t7,0x2 /* f0a9304: afae0050 */ sw $t6,0x50($sp) /* f0a9308: afaa0058 */ sw $t2,0x58($sp) /* f0a930c: 0c002fb5 */ jal viGetViewLeft /* f0a9310: afb900a4 */ sw $t9,0xa4($sp) /* f0a9314: 0c002f97 */ jal viGetViewWidth /* f0a9318: a7a20076 */ sh $v0,0x76($sp) /* f0a931c: 3c188008 */ lui $t8,0x8008 /* f0a9320: 8f182320 */ lw $t8,0x2320($t8) /* f0a9324: 87af0076 */ lh $t7,0x76($sp) /* f0a9328: 8faa0058 */ lw $t2,0x58($sp) /* f0a932c: 0058001a */ div $zero,$v0,$t8 /* f0a9330: 17000002 */ bnez $t8,.NB0f0a933c /* f0a9334: 00000000 */ sll $zero,$zero,0x0 /* f0a9338: 0007000d */ break 0x7 .NB0f0a933c: /* f0a933c: 2401ffff */ addiu $at,$zero,-1 /* f0a9340: 17010004 */ bne $t8,$at,.NB0f0a9354 /* f0a9344: 3c018000 */ lui $at,0x8000 /* f0a9348: 14410002 */ bne $v0,$at,.NB0f0a9354 /* f0a934c: 00000000 */ sll $zero,$zero,0x0 /* f0a9350: 0006000d */ break 0x6 .NB0f0a9354: /* f0a9354: 8fb800fc */ lw $t8,0xfc($sp) /* f0a9358: 0000c812 */ mflo $t9 /* f0a935c: 032f7021 */ addu $t6,$t9,$t7 /* f0a9360: 01d8c823 */ subu $t9,$t6,$t8 /* f0a9364: 8fae0114 */ lw $t6,0x114($sp) /* f0a9368: 272fffe8 */ addiu $t7,$t9,-24 /* f0a936c: 24010002 */ addiu $at,$zero,0x2 /* f0a9370: 15c10011 */ bne $t6,$at,.NB0f0a93b8 /* f0a9374: afaf00f0 */ sw $t7,0xf0($sp) /* f0a9378: 0fc53588 */ jal optionsGetScreenSplit /* f0a937c: afaa0058 */ sw $t2,0x58($sp) /* f0a9380: 24010001 */ addiu $at,$zero,0x1 /* f0a9384: 10410006 */ beq $v0,$at,.NB0f0a93a0 /* f0a9388: 8faa0058 */ lw $t2,0x58($sp) /* f0a938c: 3c188009 */ lui $t8,0x8009 /* f0a9390: 931830e0 */ lbu $t8,0x30e0($t8) /* f0a9394: 24010001 */ addiu $at,$zero,0x1 /* f0a9398: 57010008 */ bnel $t8,$at,.NB0f0a93bc /* f0a939c: 8fb80114 */ lw $t8,0x114($sp) .NB0f0a93a0: /* f0a93a0: 8fb90110 */ lw $t9,0x110($sp) /* f0a93a4: 8faf00f0 */ lw $t7,0xf0($sp) /* f0a93a8: 17200003 */ bnez $t9,.NB0f0a93b8 /* f0a93ac: 25ee000f */ addiu $t6,$t7,0xf /* f0a93b0: 1000000a */ beqz $zero,.NB0f0a93dc /* f0a93b4: afae00f0 */ sw $t6,0xf0($sp) .NB0f0a93b8: /* f0a93b8: 8fb80114 */ lw $t8,0x114($sp) .NB0f0a93bc: /* f0a93bc: 8fb90110 */ lw $t9,0x110($sp) /* f0a93c0: 2b010003 */ slti $at,$t8,0x3 /* f0a93c4: 14200005 */ bnez $at,.NB0f0a93dc /* f0a93c8: 332f0001 */ andi $t7,$t9,0x1 /* f0a93cc: 15e00003 */ bnez $t7,.NB0f0a93dc /* f0a93d0: 8fae00f0 */ lw $t6,0xf0($sp) /* f0a93d4: 25d8000f */ addiu $t8,$t6,0xf /* f0a93d8: afb800f0 */ sw $t8,0xf0($sp) .NB0f0a93dc: /* f0a93dc: 8faf00a4 */ lw $t7,0xa4($sp) /* f0a93e0: 8fa90050 */ lw $t1,0x50($sp) /* f0a93e4: 8fb9011c */ lw $t9,0x11c($sp) /* f0a93e8: 000f7080 */ sll $t6,$t7,0x2 /* f0a93ec: 8faf005c */ lw $t7,0x5c($sp) /* f0a93f0: 032ec021 */ addu $t8,$t9,$t6 /* f0a93f4: 8fb900ec */ lw $t9,0xec($sp) /* f0a93f8: 01e94021 */ addu $t0,$t7,$t1 /* f0a93fc: 8d030228 */ lw $v1,0x228($t0) /* f0a9400: 8f0c17a8 */ lw $t4,0x17a8($t8) /* f0a9404: 03297021 */ addu $t6,$t9,$t1 /* f0a9408: 58600038 */ blezl $v1,.NB0f0a94ec /* f0a940c: 8faf00a4 */ lw $t7,0xa4($sp) /* f0a9410: 8dc2001c */ lw $v0,0x1c($t6) /* f0a9414: 50400035 */ beqzl $v0,.NB0f0a94ec /* f0a9418: 8faf00a4 */ lw $t7,0xa4($sp) /* f0a941c: 90580010 */ lbu $t8,0x10($v0) /* f0a9420: 25ee078c */ addiu $t6,$t7,0x78c /* f0a9424: 3c0f00ff */ lui $t7,0xff /* f0a9428: 33190002 */ andi $t9,$t8,0x2 /* f0a942c: 1720002e */ bnez $t9,.NB0f0a94e8 /* f0a9430: 8fb80118 */ lw $t8,0x118($sp) /* f0a9434: 8fb900f8 */ lw $t9,0xf8($sp) /* f0a9438: 8fa500f0 */ lw $a1,0xf0($sp) /* f0a943c: afae0014 */ sw $t6,0x14($sp) /* f0a9440: 03191023 */ subu $v0,$t8,$t9 /* f0a9444: 8fb800f4 */ lw $t8,0xf4($sp) /* f0a9448: 8fb900fc */ lw $t9,0xfc($sp) /* f0a944c: 244efff8 */ addiu $t6,$v0,-8 /* f0a9450: 00583023 */ subu $a2,$v0,$t8 /* f0a9454: 2458fffd */ addiu $t8,$v0,-3 /* f0a9458: afb80010 */ sw $t8,0x10($sp) /* f0a945c: 00b93821 */ addu $a3,$a1,$t9 /* f0a9460: 8d190220 */ lw $t9,0x220($t0) /* f0a9464: 3c180030 */ lui $t8,0x30 /* f0a9468: 37180080 */ ori $t8,$t8,0x80 /* f0a946c: 35ef0040 */ ori $t7,$t7,0x40 /* f0a9470: afaf0024 */ sw $t7,0x24($sp) /* f0a9474: afb80020 */ sw $t8,0x20($sp) /* f0a9478: afac00a0 */ sw $t4,0xa0($sp) /* f0a947c: afaa0058 */ sw $t2,0x58($sp) /* f0a9480: afa80038 */ sw $t0,0x38($sp) /* f0a9484: afae0054 */ sw $t6,0x54($sp) /* f0a9488: afa00028 */ sw $zero,0x28($sp) /* f0a948c: afa3001c */ sw $v1,0x1c($sp) /* f0a9490: 24c6fffd */ addiu $a2,$a2,-3 /* f0a9494: 8fa40120 */ lw $a0,0x120($sp) /* f0a9498: 0fc29f58 */ jal bgunRenderHudGauge /* f0a949c: afb90018 */ sw $t9,0x18($sp) /* f0a94a0: 8fa80038 */ lw $t0,0x38($sp) /* f0a94a4: 8fa600f0 */ lw $a2,0xf0($sp) /* f0a94a8: 8fb90054 */ lw $t9,0x54($sp) /* f0a94ac: 3c1800ff */ lui $t8,0xff /* f0a94b0: 8d050220 */ lw $a1,0x220($t0) /* f0a94b4: 371800a0 */ ori $t8,$t8,0xa0 /* f0a94b8: afb80018 */ sw $t8,0x18($sp) /* f0a94bc: afa00014 */ sw $zero,0x14($sp) /* f0a94c0: 00402025 */ or $a0,$v0,$zero /* f0a94c4: 00003825 */ or $a3,$zero,$zero /* f0a94c8: 24c6fffe */ addiu $a2,$a2,-2 /* f0a94cc: 0fc29eb3 */ jal bgunRenderHudInteger /* f0a94d0: afb90010 */ sw $t9,0x10($sp) /* f0a94d4: 8fa80038 */ lw $t0,0x38($sp) /* f0a94d8: 8faa0058 */ lw $t2,0x58($sp) /* f0a94dc: 8fac00a0 */ lw $t4,0xa0($sp) /* f0a94e0: afa20120 */ sw $v0,0x120($sp) /* f0a94e4: 8fa90050 */ lw $t1,0x50($sp) .NB0f0a94e8: /* f0a94e8: 8faf00a4 */ lw $t7,0xa4($sp) .NB0f0a94ec: /* f0a94ec: 3c0b8007 */ lui $t3,0x8007 /* f0a94f0: 8fb900ec */ lw $t9,0xec($sp) /* f0a94f4: 000f7080 */ sll $t6,$t7,0x2 /* f0a94f8: 01cf7023 */ subu $t6,$t6,$t7 /* f0a94fc: 000e7080 */ sll $t6,$t6,0x2 /* f0a9500: 016e5821 */ addu $t3,$t3,$t6 /* f0a9504: 8d6b2a28 */ lw $t3,0x2a28($t3) /* f0a9508: 0329c021 */ addu $t8,$t9,$t1 /* f0a950c: 5960003e */ blezl $t3,.NB0f0a9608 /* f0a9510: 8fb9005c */ lw $t9,0x5c($sp) /* f0a9514: 8f0f001c */ lw $t7,0x1c($t8) /* f0a9518: 8fb900f0 */ lw $t9,0xf0($sp) /* f0a951c: 01804825 */ or $t1,$t4,$zero /* f0a9520: 91e20010 */ lbu $v0,0x10($t7) /* f0a9524: 2738fffe */ addiu $t8,$t9,-2 /* f0a9528: 304e0001 */ andi $t6,$v0,0x1 /* f0a952c: 55c00036 */ bnezl $t6,.NB0f0a9608 /* f0a9530: 8fb9005c */ lw $t9,0x5c($sp) /* f0a9534: 8faf0118 */ lw $t7,0x118($sp) /* f0a9538: 8fae00f8 */ lw $t6,0xf8($sp) /* f0a953c: afb80054 */ sw $t8,0x54($sp) /* f0a9540: 8fb800fc */ lw $t8,0xfc($sp) /* f0a9544: 01ee3023 */ subu $a2,$t7,$t6 /* f0a9548: 304f0002 */ andi $t7,$v0,0x2 /* f0a954c: 254d005c */ addiu $t5,$t2,0x5c /* f0a9550: 11e0000d */ beqz $t7,.NB0f0a9588 /* f0a9554: 03383821 */ addu $a3,$t9,$t8 /* f0a9558: 8d180228 */ lw $t8,0x228($t0) /* f0a955c: 8fae0060 */ lw $t6,0x60($sp) /* f0a9560: 8fb90050 */ lw $t9,0x50($sp) /* f0a9564: 1b000003 */ blez $t8,.NB0f0a9574 /* f0a9568: 01d91821 */ addu $v1,$t6,$t9 /* f0a956c: 8d0f0220 */ lw $t7,0x220($t0) /* f0a9570: 018f4821 */ addu $t1,$t4,$t7 .NB0f0a9574: /* f0a9574: 8c6e0228 */ lw $t6,0x228($v1) /* f0a9578: 59c00004 */ blezl $t6,.NB0f0a958c /* f0a957c: 8fb80118 */ lw $t8,0x118($sp) /* f0a9580: 8c790220 */ lw $t9,0x220($v1) /* f0a9584: 01394821 */ addu $t1,$t1,$t9 .NB0f0a9588: /* f0a9588: 8fb80118 */ lw $t8,0x118($sp) .NB0f0a958c: /* f0a958c: 3c0f0040 */ lui $t7,0x40 /* f0a9590: 3c0e00ff */ lui $t6,0xff /* f0a9594: 35cec040 */ ori $t6,$t6,0xc040 /* f0a9598: 35ef3080 */ ori $t7,$t7,0x3080 /* f0a959c: 24190001 */ addiu $t9,$zero,0x1 /* f0a95a0: afb90028 */ sw $t9,0x28($sp) /* f0a95a4: afaf0020 */ sw $t7,0x20($sp) /* f0a95a8: afae0024 */ sw $t6,0x24($sp) /* f0a95ac: 8fa40120 */ lw $a0,0x120($sp) /* f0a95b0: 8fa500f0 */ lw $a1,0xf0($sp) /* f0a95b4: afad0014 */ sw $t5,0x14($sp) /* f0a95b8: afa90018 */ sw $t1,0x18($sp) /* f0a95bc: afab001c */ sw $t3,0x1c($sp) /* f0a95c0: afa60048 */ sw $a2,0x48($sp) /* f0a95c4: afa9009c */ sw $t1,0x9c($sp) /* f0a95c8: 0fc29f58 */ jal bgunRenderHudGauge /* f0a95cc: afb80010 */ sw $t8,0x10($sp) /* f0a95d0: 8fb80048 */ lw $t8,0x48($sp) /* f0a95d4: 3c0e00ff */ lui $t6,0xff /* f0a95d8: 35cec0a0 */ ori $t6,$t6,0xc0a0 /* f0a95dc: 270f0001 */ addiu $t7,$t8,0x1 /* f0a95e0: afaf0010 */ sw $t7,0x10($sp) /* f0a95e4: afae0018 */ sw $t6,0x18($sp) /* f0a95e8: 00402025 */ or $a0,$v0,$zero /* f0a95ec: 8fa5009c */ lw $a1,0x9c($sp) /* f0a95f0: 8fa60054 */ lw $a2,0x54($sp) /* f0a95f4: 00003825 */ or $a3,$zero,$zero /* f0a95f8: 0fc29eb3 */ jal bgunRenderHudInteger /* f0a95fc: afa00014 */ sw $zero,0x14($sp) /* f0a9600: afa20120 */ sw $v0,0x120($sp) /* f0a9604: 8fb9005c */ lw $t9,0x5c($sp) .NB0f0a9608: /* f0a9608: 24010023 */ addiu $at,$zero,0x23 /* f0a960c: 24090e10 */ addiu $t1,$zero,0xe10 /* f0a9610: 93380000 */ lbu $t8,0x0($t9) /* f0a9614: 3c03800a */ lui $v1,0x800a /* f0a9618: 1701007c */ bne $t8,$at,.NB0f0a980c /* f0a961c: 00000000 */ sll $zero,$zero,0x0 /* f0a9620: 8c63eb1c */ lw $v1,-0x14e4($v1) /* f0a9624: 8fae00f0 */ lw $t6,0xf0($sp) /* f0a9628: 8fb900fc */ lw $t9,0xfc($sp) /* f0a962c: 0069001a */ div $zero,$v1,$t1 /* f0a9630: 00007812 */ mflo $t7 /* f0a9634: afaf005c */ sw $t7,0x5c($sp) /* f0a9638: 01d9c021 */ addu $t8,$t6,$t9 /* f0a963c: 8fae00f8 */ lw $t6,0xf8($sp) /* f0a9640: 8faf0118 */ lw $t7,0x118($sp) /* f0a9644: afb80044 */ sw $t8,0x44($sp) /* f0a9648: 15200002 */ bnez $t1,.NB0f0a9654 /* f0a964c: 00000000 */ sll $zero,$zero,0x0 /* f0a9650: 0007000d */ break 0x7 .NB0f0a9654: /* f0a9654: 2401ffff */ addiu $at,$zero,-1 /* f0a9658: 15210004 */ bne $t1,$at,.NB0f0a966c /* f0a965c: 3c018000 */ lui $at,0x8000 /* f0a9660: 14610002 */ bne $v1,$at,.NB0f0a966c /* f0a9664: 00000000 */ sll $zero,$zero,0x0 /* f0a9668: 0006000d */ break 0x6 .NB0f0a966c: /* f0a966c: 01eec823 */ subu $t9,$t7,$t6 /* f0a9670: 8faf005c */ lw $t7,0x5c($sp) /* f0a9674: 27380001 */ addiu $t8,$t9,0x1 /* f0a9678: afb80060 */ sw $t8,0x60($sp) /* f0a967c: 59e0002e */ blezl $t7,.NB0f0a9738 /* f0a9680: 8fb9005c */ lw $t9,0x5c($sp) /* f0a9684: 01e90019 */ multu $t7,$t1 /* f0a9688: 2408003c */ addiu $t0,$zero,0x3c /* f0a968c: 01e03025 */ or $a2,$t7,$zero /* f0a9690: 3c057f1a */ lui $a1,0x7f1a /* f0a9694: 24a564dc */ addiu $a1,$a1,0x64dc /* f0a9698: 27a40078 */ addiu $a0,$sp,0x78 /* f0a969c: 00007012 */ mflo $t6 /* f0a96a0: 006e1023 */ subu $v0,$v1,$t6 /* f0a96a4: 00000000 */ sll $zero,$zero,0x0 /* f0a96a8: 0048001a */ div $zero,$v0,$t0 /* f0a96ac: 00003812 */ mflo $a3 /* f0a96b0: 15000002 */ bnez $t0,.NB0f0a96bc /* f0a96b4: 00000000 */ sll $zero,$zero,0x0 /* f0a96b8: 0007000d */ break 0x7 .NB0f0a96bc: /* f0a96bc: 2401ffff */ addiu $at,$zero,-1 /* f0a96c0: 15010004 */ bne $t0,$at,.NB0f0a96d4 /* f0a96c4: 3c018000 */ lui $at,0x8000 /* f0a96c8: 14410002 */ bne $v0,$at,.NB0f0a96d4 /* f0a96cc: 00000000 */ sll $zero,$zero,0x0 /* f0a96d0: 0006000d */ break 0x6 .NB0f0a96d4: /* f0a96d4: 00e80019 */ multu $a3,$t0 /* f0a96d8: 0000c812 */ mflo $t9 /* f0a96dc: 0059c023 */ subu $t8,$v0,$t9 /* f0a96e0: 00187880 */ sll $t7,$t8,0x2 /* f0a96e4: 01f87823 */ subu $t7,$t7,$t8 /* f0a96e8: 000f78c0 */ sll $t7,$t7,0x3 /* f0a96ec: 01f87821 */ addu $t7,$t7,$t8 /* f0a96f0: 000f7880 */ sll $t7,$t7,0x2 /* f0a96f4: 01e8001a */ div $zero,$t7,$t0 /* f0a96f8: 00007012 */ mflo $t6 /* f0a96fc: afae0010 */ sw $t6,0x10($sp) /* f0a9700: 15000002 */ bnez $t0,.NB0f0a970c /* f0a9704: 00000000 */ sll $zero,$zero,0x0 /* f0a9708: 0007000d */ break 0x7 .NB0f0a970c: /* f0a970c: 2401ffff */ addiu $at,$zero,-1 /* f0a9710: 15010004 */ bne $t0,$at,.NB0f0a9724 /* f0a9714: 3c018000 */ lui $at,0x8000 /* f0a9718: 15e10002 */ bne $t7,$at,.NB0f0a9724 /* f0a971c: 00000000 */ sll $zero,$zero,0x0 /* f0a9720: 0006000d */ break 0x6 .NB0f0a9724: /* f0a9724: 0c004fc1 */ jal sprintf /* f0a9728: 00000000 */ sll $zero,$zero,0x0 /* f0a972c: 1000002b */ beqz $zero,.NB0f0a97dc /* f0a9730: 8fa60044 */ lw $a2,0x44($sp) /* f0a9734: 8fb9005c */ lw $t9,0x5c($sp) .NB0f0a9738: /* f0a9738: 2408003c */ addiu $t0,$zero,0x3c /* f0a973c: 3c057f1a */ lui $a1,0x7f1a /* f0a9740: 03290019 */ multu $t9,$t1 /* f0a9744: 24a564ec */ addiu $a1,$a1,0x64ec /* f0a9748: 27a40078 */ addiu $a0,$sp,0x78 /* f0a974c: 0000c012 */ mflo $t8 /* f0a9750: 00781023 */ subu $v0,$v1,$t8 /* f0a9754: 00000000 */ sll $zero,$zero,0x0 /* f0a9758: 0048001a */ div $zero,$v0,$t0 /* f0a975c: 00003012 */ mflo $a2 /* f0a9760: 15000002 */ bnez $t0,.NB0f0a976c /* f0a9764: 00000000 */ sll $zero,$zero,0x0 /* f0a9768: 0007000d */ break 0x7 .NB0f0a976c: /* f0a976c: 2401ffff */ addiu $at,$zero,-1 /* f0a9770: 15010004 */ bne $t0,$at,.NB0f0a9784 /* f0a9774: 3c018000 */ lui $at,0x8000 /* f0a9778: 14410002 */ bne $v0,$at,.NB0f0a9784 /* f0a977c: 00000000 */ sll $zero,$zero,0x0 /* f0a9780: 0006000d */ break 0x6 .NB0f0a9784: /* f0a9784: 00c80019 */ multu $a2,$t0 /* f0a9788: 00007812 */ mflo $t7 /* f0a978c: 004f7023 */ subu $t6,$v0,$t7 /* f0a9790: 000ec880 */ sll $t9,$t6,0x2 /* f0a9794: 032ec823 */ subu $t9,$t9,$t6 /* f0a9798: 0019c8c0 */ sll $t9,$t9,0x3 /* f0a979c: 032ec821 */ addu $t9,$t9,$t6 /* f0a97a0: 0019c880 */ sll $t9,$t9,0x2 /* f0a97a4: 0328001a */ div $zero,$t9,$t0 /* f0a97a8: 00003812 */ mflo $a3 /* f0a97ac: 15000002 */ bnez $t0,.NB0f0a97b8 /* f0a97b0: 00000000 */ sll $zero,$zero,0x0 /* f0a97b4: 0007000d */ break 0x7 .NB0f0a97b8: /* f0a97b8: 2401ffff */ addiu $at,$zero,-1 /* f0a97bc: 15010004 */ bne $t0,$at,.NB0f0a97d0 /* f0a97c0: 3c018000 */ lui $at,0x8000 /* f0a97c4: 17210002 */ bne $t9,$at,.NB0f0a97d0 /* f0a97c8: 00000000 */ sll $zero,$zero,0x0 /* f0a97cc: 0006000d */ break 0x6 .NB0f0a97d0: /* f0a97d0: 0c004fc1 */ jal sprintf /* f0a97d4: 00000000 */ sll $zero,$zero,0x0 /* f0a97d8: 8fa60044 */ lw $a2,0x44($sp) .NB0f0a97dc: /* f0a97dc: 8fb80060 */ lw $t8,0x60($sp) /* f0a97e0: 3c0f00ff */ lui $t7,0xff /* f0a97e4: 35efc0a0 */ ori $t7,$t7,0xc0a0 /* f0a97e8: afaf0018 */ sw $t7,0x18($sp) /* f0a97ec: 8fa40120 */ lw $a0,0x120($sp) /* f0a97f0: 27a50078 */ addiu $a1,$sp,0x78 /* f0a97f4: 00003825 */ or $a3,$zero,$zero /* f0a97f8: afa00014 */ sw $zero,0x14($sp) /* f0a97fc: 24c6fffe */ addiu $a2,$a2,-2 /* f0a9800: 0fc29e42 */ jal bgunRenderHudString /* f0a9804: afb80010 */ sw $t8,0x10($sp) /* f0a9808: afa20120 */ sw $v0,0x120($sp) .NB0f0a980c: /* f0a980c: 0fc537a0 */ jal func0f153780 /* f0a9810: 8fa40120 */ lw $a0,0x120($sp) /* f0a9814: 240e0001 */ addiu $t6,$zero,0x1 /* f0a9818: 3c018008 */ lui $at,0x8008 /* f0a981c: ac2e2320 */ sw $t6,0x2320($at) .NB0f0a9820: /* f0a9820: 8fbf0034 */ lw $ra,0x34($sp) /* f0a9824: 27bd0120 */ addiu $sp,$sp,0x120 /* f0a9828: 03e00008 */ jr $ra /* f0a982c: 00000000 */ sll $zero,$zero,0x0 ); #endif const char var7f1ac18c[] = "%02d:%02d:%02d\n"; const char var7f1ac19c[] = "%02d:%02d\n"; // Mismatch: regalloc near da8 //Gfx *bgunRenderHud(Gfx *gdl) //{ // struct player *player = g_Vars.currentplayer; // 12c // s32 bottom = viGetViewTop() + viGetViewHeight() - 13; // 128 // s32 playercount; // 124 // s32 playernum; // 120 // struct hand *lefthand; // s32 secs60; // s32 secs; // s32 ammoindex; // 110 // s32 barwidth; // 10c // s32 reserveheight; // 108 // s32 clipheight; // 104 // s32 xpos; // 100 // struct weapon *weapon; // fc // u32 alpha; // u32 fncolour; // f4 // s32 funcnum; // f0 // s32 fnfaderinc; // ec // //#if VERSION >= VERSION_NTSC_1_0 // s32 tmpfuncnum; // e8 // // struct handweaponinfo info; // dc //#endif // // struct hand *hand; // char *str; // d4 // u32 colour; // d0 // s32 x; // cc // s32 y; // c8 // s32 textheight; // c4 // s32 textwidth; // c0 // struct weaponfunc *func; // bc // u16 nameid; // ba // // s32 ammotype; // a4 // s32 ammoheld; // a0 // s32 ammototal; // 9c // // char text[32]; // 78 // s32 mins; // 5c // struct gunctrl *ctrl; // 58 // // playercount = PLAYERCOUNT(); // playernum = g_Vars.currentplayernum; // ammoindex = 0; // barwidth = 9; // reserveheight = 36; // clipheight = 57; // weapon = weaponFindById(player->gunctrl.weaponnum); // // hand = &player->hands[HAND_RIGHT]; // lefthand = &player->hands[HAND_LEFT]; // ctrl = &player->gunctrl; // // // 958 // if (player->isdead) { // return gdl; // } // // if (g_Vars.currentplayer->gunctrl.passivemode) { // return gdl; // } // // if (g_Vars.lvframenum < 5) { // return gdl; // } // //#if PAL // g_ScaleX = 1; //#else // if (g_ViMode == VIMODE_HIRES) { // g_ScaleX = 2; // } else { // g_ScaleX = 1; // } //#endif // // gdl = func0f153628(gdl); // // // 9d8 // if (playercount >= 2) { // barwidth = 5; // reserveheight = 26; // clipheight = 47; // // if (playercount == 2) { // if (IS4MB() || (optionsGetScreenSplit() != SCREENSPLIT_VERTICAL && playernum == 0)) { // bottom += 10; // } else { // bottom += 2; // } // } else if (playercount >= 3) { // if (playernum < 2) { // bottom += 10; // } else { // bottom += 2; // } // } // } else if (optionsGetEffectiveScreenSize() != SCREENSIZE_FULL) { // bottom += 8; // } // // // a9c // fncolour = 0xff000040; // funcnum = hand->gset.weaponfunc; // fnfaderinc = PALUP(g_Vars.lvupdate240 * 2); // //#if VERSION >= VERSION_NTSC_1_0 // bgunGetWeaponInfo(&info, HAND_RIGHT); // tmpfuncnum = bgunIsUsingSecondaryFunction(); // // if (bgun0f098ca0(tmpfuncnum, &info, hand) >= 0) { // funcnum = tmpfuncnum; // } //#endif // // xpos = (viGetViewLeft() + viGetViewWidth()) / g_ScaleX - barwidth - 24; // // // b64 // if (playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()) && playernum == 0) { // xpos += 15; // } else if (playercount >= 3 && (playernum % 2) == 0) { // xpos += 15; // } // // // bd4 // // Render function square // if (funcnum == FUNC_SECONDARY && ctrl->fnfader < 255) { // if (ctrl->fnfader < 128) { // ctrl->fnfader = 128; // } // // if (ctrl->fnfader + fnfaderinc > 255) { // ctrl->fnfader = 255; // } else { // ctrl->fnfader += fnfaderinc; // } // } // // if (funcnum == FUNC_PRIMARY && ctrl->fnfader > 0) { // if (ctrl->fnfader - fnfaderinc < 0) { // ctrl->fnfader = 0; // } else { // ctrl->fnfader -= fnfaderinc; // } // } // // if (ctrl->fnfader > 128) { // fncolour = ((ctrl->fnfader * 2) - 256) << 16 | 0xff000040; // } // // gdl = gfxSetPrimColour(gdl, fncolour); // // gDPFillRectangleScaled(gdl++, xpos - 13, bottom - 11, xpos - 2, bottom); // // gdl = func0f153838(gdl); // // // d20 // // Render weapon name and function name // if (optionsGetShowGunFunction(g_Vars.currentplayerstats->mpindex)) { //#if VERSION >= VERSION_NTSC_1_0 // func = weaponGetFunctionById(hand->gset.weaponnum, funcnum); //#else // func = weaponGetFunctionById(hand->gset.weaponnum, hand->gset.weaponfunc); //#endif // nameid = invGetNameIdByIndex(invGetCurrentIndex()); // str = langGet(nameid); // // // d70 // if (ctrl->curgunstr != nameid) { // ctrl->guntypetimer = 0; // ctrl->curgunstr = nameid; // } // // // d8c // if (ctrl->guntypetimer < 255) { // colour = 0x55ffffff; // // if (ctrl->guntypetimer); // // // da8 // if (ctrl->guntypetimer + g_Vars.lvupdate240_60 > 255) { // ctrl->guntypetimer = 255; // } else { // ctrl->guntypetimer = (u32)ctrl->guntypetimer + g_Vars.lvupdate240_60; // } // // textMeasure(&textheight, &textwidth, str, g_FontHandelGothicXs1, g_FontHandelGothicXs2, 0); // textwidth += 2; // // if (textwidth > ctrl->guntypetimer * 3) { // textwidth = ctrl->guntypetimer * 3; // } // // // e24 // if (playercount >= 2) { // x = xpos - textwidth - 13; // } else { // x = xpos - textwidth - 2; // } // // y = bottom - textheight - 15; // // if (ctrl->guntypetimer > 192) { // alpha = 255 - (ctrl->guntypetimer - 192) * 255 / 63U; // colour = (colour & 0xfffffff00) | alpha; // } // // gdl = gfxSetPrimColour(gdl, 0); // // gDPFillRectangleScaled(gdl++, x - 1, y - 1, xpos - 11, bottom); // // gdl = func0f153838(gdl); // func0f153d50(var80061630 * 50.0f, 0, 50); // func0f153e38(0xffffffff, 0xffffffff); // gdl = textRenderProjected(gdl, &x, &y, str, g_FontHandelGothicXs1, g_FontHandelGothicXs2, colour, textwidth, 1000, 0, 0); // func0f153e4c(); // } // // // fbc // if (func) { // langGet(func->name); // // colour = 0xff5555ff; // // if ((ctrl->curfnstr != func->name && ctrl->fnfader > 128) || !ctrl->curfnstr) { // ctrl->fnstrtimer = 0; // ctrl->curfnstr = func->name; // } // // // A match can be made here by changing langGet's argument to a u32 // // but that causes a mismatch within langGet // str = langGet(ctrl->curfnstr); // // // 040 // if (ctrl->fnstrtimer < 255) { // if (ctrl->fnstrtimer + g_Vars.lvupdate240_60 > 255) { // ctrl->fnstrtimer = 255; // } else { // ctrl->fnstrtimer += (u32)g_Vars.lvupdate240_60; // } // //#if VERSION >= VERSION_NTSC_1_0 // if (funcnum == FUNC_SECONDARY && func->name == ctrl->curfnstr) { // colour |= 0x00ff0000; // } // // if (funcnum == FUNC_PRIMARY && func->name != ctrl->curfnstr) { // colour |= 0x00ff0000; // } //#else // if (hand->gset.weaponfunc == FUNC_SECONDARY && func->name == ctrl->curfnstr) { // colour |= 0x00ff0000; // } // // if (hand->gset.weaponfunc == FUNC_PRIMARY && func->name != ctrl->curfnstr) { // colour |= 0x00ff0000; // } //#endif // // textMeasure(&textheight, &textwidth, str, g_FontHandelGothicXs1, g_FontHandelGothicXs2, 0); // textwidth += 2; // // if (textwidth > ctrl->fnstrtimer * 3) { // textwidth = ctrl->fnstrtimer * 3; // } // // x = xpos - textwidth - 13; // y = bottom - textheight - 1; // // // 158 // if (ctrl->fnstrtimer > 192) { // alpha = 255 - (ctrl->fnstrtimer - 192) * 255 / 63U; // colour = (colour & 0xffffff00) | alpha; // } // // gdl = gfxSetPrimColour(gdl, 0); // // gDPFillRectangleScaled(gdl++, x - 1, y - 1, xpos - 11, bottom + 3); // // gdl = func0f153838(gdl); // // func0f153d50(var80061630 * 50.0f, 0, 50); // func0f153e38(0xffffffff, 0xffffffff); // // gdl = textRenderProjected(gdl, &x, &y, str, // g_FontHandelGothicXs1, g_FontHandelGothicXs2, colour, textwidth, // 1000, 0, 0); // // func0f153e4c(); // } // } // } // // // 2b8 // if (weapon && weapon->functions[hand->gset.weaponfunc] != NULL) { // ammoindex = ((struct weaponfunc *)(weapon->functions[hand->gset.weaponfunc]))->ammoindex; // } // // if (ammoindex == -1) { // if (weapon->functions[1 - hand->gset.weaponfunc] != NULL) { // ammoindex = ((struct weaponfunc *)(weapon->functions[1 - hand->gset.weaponfunc]))->ammoindex; // } // // if (ammoindex == -1) { // gdl = func0f153780(gdl); // g_ScaleX = 1; // return gdl; // } // } // // if (ammoindex != ctrl->lastmag) { // bgunResetAbmag(&player->hands[HAND_LEFT].abmag); // bgunResetAbmag(&hand->abmag); // bgunResetAbmag(&ctrl->abmag); // ctrl->lastmag = ammoindex; // } // // // 39c // // Left hand - mag // if (lefthand->inuse // && weapon->ammos[ammoindex] != NULL // && lefthand->gset.weaponnum != WEAPON_REMOTEMINE) { // xpos = viGetViewLeft() / g_ScaleX + 24; // // if (playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()) && playernum == 1) { // xpos -= 14; // } else if (playercount >= 3 && (playernum & 1) == 1) { // xpos -= 14; // } // // if (lefthand->clipsizes[ammoindex] > 0 && (weapon->ammos[ammoindex]->flags & 2) == 0) { // gdl = bgunRenderHudGauge(gdl, // xpos, bottom - reserveheight - clipheight - 3, xpos + barwidth, bottom - reserveheight - 3, // &lefthand->abmag, lefthand->loadedammo[ammoindex], lefthand->clipsizes[ammoindex], // 0x00300080, 0x00ff0040, false); // gdl = bgunRenderHudInteger(gdl, lefthand->loadedammo[ammoindex], xpos + barwidth + 2, true, // bottom - reserveheight - 8, 0, 0x00ff00a0); // } // } // // // 584 // // Right hand - mag, reserve and combat boost timer // if (hand->inuse && ctrl->ammotypes[ammoindex] >= 0) { // ammotype = player->gunctrl.ammotypes[ammoindex]; // //#if VERSION >= VERSION_NTSC_1_0 // xpos = (viGetViewLeft() + viGetViewWidth()) / g_ScaleX - barwidth - 24; //#else // // NTSC Beta omits the brackets here. This would normally cause the // // ammo info to be misaligned for players on the right side of the // // screen and when using hi-res, but I'm not sure if hi-res can even be // // active when using multiple players... // xpos = viGetViewLeft() + viGetViewWidth() / g_ScaleX - barwidth - 24; //#endif // // if (playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()) && playernum == 0) { // xpos += 15; // } else if (playercount >= 3 && (playernum % 2) == 0) { // xpos += 15; // } // // // Mag // // 6a8 // ammoheld = player->ammoheldarr[ammotype]; // // if (hand->clipsizes[ammoindex] > 0 // && weapon->ammos[ammoindex] != NULL // && (weapon->ammos[ammoindex]->flags & 2) == 0) { // gdl = bgunRenderHudGauge(gdl, xpos, bottom - reserveheight - clipheight - 3, xpos + barwidth, // bottom - reserveheight - 3, &hand->abmag, hand->loadedammo[ammoindex], hand->clipsizes[ammoindex], // 0x00300080, 0x00ff0040, false); // gdl = bgunRenderHudInteger(gdl, hand->loadedammo[ammoindex], xpos - 2, false, // bottom - reserveheight - 8, 0, 0x00ff00a0); // } // // // Reserve // // 7ac // if (g_AmmoTypes[ammotype].capacity > 0 // && (weapon->ammos[ammoindex]->flags & 1) == 0) { // ammototal = ammoheld; // // if (weapon->ammos[ammoindex]->flags & 2) { // if (hand->clipsizes[ammoindex] > 0) { // ammototal += hand->loadedammo[ammoindex]; // } // // if (lefthand->clipsizes[ammoindex] > 0) { // ammototal += lefthand->loadedammo[ammoindex]; // } // } // // gdl = bgunRenderHudGauge(gdl, xpos, bottom - reserveheight, xpos + barwidth, // bottom, &ctrl->abmag, ammototal, g_AmmoTypes[ammotype].capacity, // 0x00403080, 0x00ffc040, true); // gdl = bgunRenderHudInteger(gdl, ammototal, xpos - 2, false, bottom - reserveheight + 1, 0, 0x00ffc0a0); // } // // // 8b8 // // Combat boost timer // if (hand->gset.weaponnum == WEAPON_COMBATBOOST) { // mins = g_Vars.speedpilltime / 3600; // // // 91c // if (mins >= 1) { // secs60 = g_Vars.speedpilltime - mins * 3600; // secs = secs60 / 60; // // sprintf(text, "%02d:%02d:%02d\n", mins, secs, (secs60 - secs * 60) * 100 / 60); // } else { // // 9d4 // secs60 = g_Vars.speedpilltime - mins * 3600; // secs = secs60 / 60; // // sprintf(text, "%02d:%02d\n", secs, (secs60 - secs * 60) * 100 / 60); // } // // // a7c // gdl = bgunRenderHudString(gdl, text, xpos + barwidth - 2, false, bottom - reserveheight + 1, 0, 0x00ffc0a0); // } // } // // // aac // gdl = func0f153780(gdl); // g_ScaleX = 1; // // return gdl; //} void bgunAddBoostc(s32 amount) { g_Vars.speedpilltime += amount; if (g_Vars.speedpilltime > 5 * 60 * PALDOWN(60)) { // 5 minutes g_Vars.speedpilltime = 5 * 60 * PALDOWN(60); } if (!g_Vars.speedpillwant) { u32 sound = lvGetSlowMotionType() ? SFX_ARGH_JO_02AD : SFX_JO_BOOST_ACTIVATE; sndStart(var80095200, sound, 0, -1, -1, -1, -1, -1); } g_Vars.speedpillwant = true; } void bgunSubtractBoost(s32 amount) { g_Vars.speedpilltime -= amount; if (g_Vars.speedpilltime <= 0) { g_Vars.speedpilltime = 0; g_Vars.speedpillwant = false; } } void bgunApplyBoost(void) { if (lvGetSlowMotionType() != SLOWMOTION_OFF) { bgunSubtractBoost(PALDOWN(1200)); } else { bgunAddBoostc(PALDOWN(600)); } } void bgunRevertBoost(void) { if (lvGetSlowMotionType() != SLOWMOTION_OFF) { bgunAddBoostc(PALDOWN(1200)); } else { bgunSubtractBoost(PALDOWN(600)); } } void bgunTickBoost(void) { if (g_Vars.speedpillon && g_Vars.speedpilltime > 0 && !g_Vars.in_cutscene) { g_Vars.speedpilltime -= g_Vars.lvupdate240_60; if (g_Vars.speedpilltime <= 0) { g_Vars.speedpilltime = 0; g_Vars.speedpillwant = false; } } } void bgunSetSightVisible(u32 reason, bool visible) { if (visible) { g_Vars.currentplayer->gunsightoff &= ~reason; return; } g_Vars.currentplayer->gunsightoff |= reason; } Gfx *bgun0f0abcb0(Gfx *gdl) { if (g_Vars.currentplayer->gunsightoff == false && !g_Vars.currentplayer->mpmenuon) { gdl = sightRender(gdl, true, currentPlayerGetSight()); } else { gdl = sightRender(gdl, false, currentPlayerGetSight()); } return gdl; } void bgun0f0abd30(s32 handnum) { struct player *player = g_Vars.currentplayer; struct hand *hand = &player->hands[handnum]; struct gunctrl *gunctrl = &player->gunctrl; struct weapon *weapon = weaponFindById(hand->gset.weaponnum); s32 i; for (i = 0; i < 2; i++) { if (handnum == HAND_RIGHT) { gunctrl->ammotypes[i] = -1; } if (weapon && weapon->ammos[i]) { if (handnum == HAND_RIGHT) { gunctrl->ammotypes[i] = weapon->ammos[i]->type; } hand->clipsizes[i] = weapon->ammos[i]->clipsize; if (handnum == HAND_LEFT && hand->gset.weaponnum == WEAPON_REMOTEMINE) { hand->clipsizes[i] = 0; } hand->loadedammo[i] = 0; } } hand->upgrademult[0] = 1; hand->upgrademult[1] = 1; hand->finalmult[0] = 1; hand->finalmult[1] = 1; if (gunctrl->ammotypes[0] >= 0) { bgunResetAbmag(&hand->abmag); if (handnum == HAND_RIGHT) { bgunResetAbmag(&gunctrl->abmag); } gunctrl->lastmag = false; } }