diff --git a/src/game/bondgun.c b/src/game/bondgun.c index f3c96d8ff..e1a7feb38 100644 --- a/src/game/bondgun.c +++ b/src/game/bondgun.c @@ -12717,8 +12717,8 @@ void bgunCreateFiredProjectile(s32 handnum) weapon->base.projectile->unk0a8 = weapon->base.prop->pos.y; weapon->base.projectile->unk0ac = weapon->base.projectile->speed.y; weapon->base.projectile->unk010 = sp250.x; - weapon->base.projectile->xrot = sp250.y; - weapon->base.projectile->yrot = sp250.z; + weapon->base.projectile->unk014 = sp250.y; + weapon->base.projectile->unk018 = sp250.z; weapon->base.projectile->unk0b4 = TICKS(240); weapon->base.projectile->unk08c = funcdef->unk5c; weapon->base.projectile->unk098 = funcdef->unk50 * 1.6666666f; diff --git a/src/game/botact.c b/src/game/botact.c index 7c3aa328c..258c90af4 100644 --- a/src/game/botact.c +++ b/src/game/botact.c @@ -527,8 +527,8 @@ void botactCreateSlayerRocket(struct chrdata *chr) struct prop *target = chrGetTargetProp(chr); rocket->timer240 = -1; rocket->base.projectile->unk010 = 7.5; - rocket->base.projectile->xrot = xrot; - rocket->base.projectile->yrot = yrot; + rocket->base.projectile->unk014 = xrot; + rocket->base.projectile->unk018 = yrot; rocket->base.projectile->smoketimer240 = 0; rocket->base.projectile->unk0b4 = 0x20000000; diff --git a/src/game/player.c b/src/game/player.c index 4c434500f..ff37a6f54 100644 --- a/src/game/player.c +++ b/src/game/player.c @@ -4115,8 +4115,8 @@ void playerTick(bool arg0) projectile->unk0b2 = 0xffff; projectile->flags |= PROJECTILEFLAG_00004000; - projectile->yrot = 0; - projectile->xrot = 0; + projectile->unk018 = 0; + projectile->unk014 = 0; projectile->unk010 = 0; if ((projectile->flags & PROJECTILEFLAG_00000080) == 0) { diff --git a/src/game/propobj.c b/src/game/propobj.c index b06bd0e13..04a50d7bc 100644 --- a/src/game/propobj.c +++ b/src/game/propobj.c @@ -1465,8 +1465,8 @@ void projectileReset(struct projectile *projectile) projectile->speed.y = 0; projectile->speed.z = 0; projectile->unk010 = 0; - projectile->xrot = 0; - projectile->yrot = 0; + projectile->unk014 = 0; + projectile->unk018 = 0; projectile->unk01c = 0; mtx4LoadIdentity(&projectile->unk020); @@ -17497,21 +17497,21 @@ bool rocketTickFbw(struct weaponobj *rocket) yrot = atan2f(ydist, sqrtf(xdist * xdist + zdist * zdist)); for (i = 0; i < g_Vars.lvupdate240; i++) { - projectile->yrot = model0001afe8(projectile->yrot, xrot, PAL ? 0.02246f : 0.01875f); - projectile->xrot = model0001afe8(projectile->xrot, yrot, PAL ? 0.02246f : 0.01875f); + projectile->unk018 = model0001afe8(projectile->unk018, xrot, PAL ? 0.02246f : 0.01875f); + projectile->unk014 = model0001afe8(projectile->unk014, yrot, PAL ? 0.02246f : 0.01875f); } - mtx4LoadXRotation(M_BADTAU - projectile->xrot, &sp118); - mtx4LoadYRotation(projectile->yrot, &spd8); + mtx4LoadXRotation(M_BADTAU - projectile->unk014, &sp118); + mtx4LoadYRotation(projectile->unk018, &spd8); mtx4MultMtx4(&spd8, &sp118, &sp98); mtx00015f04(rocket->base.model->scale, &sp98); mtx4ToMtx3(&sp98, rocket->base.realrot); } // Calculate new pos - dir.f[0] = sinf(projectile->yrot) * cosf(projectile->xrot); - dir.f[1] = sinf(projectile->xrot); - dir.f[2] = cosf(projectile->yrot) * cosf(projectile->xrot); + dir.f[0] = sinf(projectile->unk018) * cosf(projectile->unk014); + dir.f[1] = sinf(projectile->unk014); + dir.f[2] = cosf(projectile->unk018) * cosf(projectile->unk014); newpos.x = rocketprop->pos.x; newpos.y = rocketprop->pos.y; @@ -64001,12 +64001,6 @@ const char var7f1aa18c[] = "ALARM : DIR 1 = %d"; const char var7f1aa1a0[] = "ALARM : ADD 1 = %d (%s%f)"; const char var7f1aa1bc[] = ""; -#if VERSION >= VERSION_PAL_FINAL -const char var7f1aa1c0[] = "prop/propobj.c"; -#else -const char var7f1aa1c0[] = "propobj.c"; -#endif - void alarmTick(void) { if (alarmIsActive()) { @@ -64182,2923 +64176,251 @@ void weaponCreateForPlayerDrop(s32 weaponnum) } } +void projectileCreate(struct prop *fromprop, struct fireslotthing *arg1, struct coord *pos, struct coord *dir, u8 weaponnum, struct prop *targetprop) +{ + if (!lvIsPaused()) { + bool blocked = false; + struct coord endpos; + u32 stack; + f32 x; + f32 y; + f32 z; + f32 sqdist; + struct prop *obstacle = NULL; + s16 sp1c8[8]; + u8 forcebeam = false; + struct beam beam; + struct coord frompos; + u32 stack2; + u8 drug = false; + u32 stack3; + + frompos.x = pos->x; + frompos.y = pos->y; + frompos.z = pos->z; + + if (weaponnum == WEAPON_TRANQUILIZER) { + forcebeam = true; + beam.age = -1; + drug = true; + frompos.y -= 40.0f; + } + + if (arg1 && arg1->unk08 < g_Vars.lvframe60) { + switch (weaponnum) { + case WEAPON_CHOPPERGUN: + func0f0926bc(fromprop, 7, 0xffff); + func0f0939f8(0, fromprop, SFX_810E, -1, -1, 0, 0, 7, 0, -1.0f, 0, -1, -1.0f, -1.0f, -1.0f); + arg1->unk08 = g_Vars.lvframe60 + 4; + break; + case WEAPON_RCP45: + func0f0926bc(fromprop, 1, 0xffff); + func0f0939f8(0, fromprop, SFX_805A, -1, -1, 0, 0, 0, 0, -1.0f, 0, -1, -1.0f, -1.0f, -1.0f); + arg1->unk08 = g_Vars.lvframe60 + 2; + break; + case WEAPON_WATCHLASER: + func0f0926bc(fromprop, 1, 0xffff); + func0f0939f8(0, fromprop, SFX_8043, -1, -1, 0, 0, 0, 0, -1.0f, 0, -1, -1.0f, -1.0f, -1.0f); + arg1->unk08 = g_Vars.lvframe60 + 8; + break; + default: + func0f0926bc(fromprop, 1, 0xffff); + func0f0939f8(0, fromprop, SFX_8045, -1, -1, 0, 0, 0, 0, -1.0f, 0, -1, -1.0f, -1.0f, -1.0f); + arg1->unk08 = g_Vars.lvframe60 + 2; + break; + } + } + + if (targetprop) { + x = targetprop->pos.f[0] - pos->f[0] - dir->f[0] * 15.0f; + y = targetprop->pos.f[1] - pos->f[1] - dir->f[1] * 15.0f; + z = targetprop->pos.f[2] - pos->f[2] - dir->f[2] * 15.0f; + + sqdist = x * x + y * y + z * z; + } else { + sqdist = 0x20000000; + } + + if (weaponnum == WEAPON_ROCKETLAUNCHER) { + struct weaponobj *rocket; + Mtxf sp13c; + struct coord sp130; + struct chopperobj *chopper = chopperFromHovercar((struct chopperobj *)fromprop->obj); + + if (chopper && sqdist > 400.0f * 400.0f) { + struct coord sp120; + Mtxf spe0; + Mtxf spa0; + f32 rotx = chopper->rotx; + f32 roty = chopper->roty; + + rocket = weaponCreateProjectileFromWeaponNum(MODEL_CHRDYROCKETMIS, WEAPON_ROCKET, NULL); + + if (rocket) { + mtx4LoadIdentity(&sp13c); + mtx4LoadXRotation(rotx, &spe0); + mtx4LoadYRotation(roty, &spa0); + mtx00015be0(&spa0, &spe0); + + sp120.x = dir->x * 0.27777776f; + sp120.y = dir->y * 0.27777776f; + sp120.z = dir->z * 0.27777776f; + + sp130.x = sp120.f[0] * g_Vars.lvupdate240freal; + sp130.y = sp120.f[1] * g_Vars.lvupdate240freal; + sp130.z = sp120.f[2] * g_Vars.lvupdate240freal; + + bgun0f09ebcc(&rocket->base, pos, fromprop->rooms, &spe0, &sp130, &sp13c, fromprop, pos); + + if (rocket->base.hidden & OBJHFLAG_AIRBORNE) { + rocket->timer240 = -1; + rocket->base.projectile->flags |= PROJECTILEFLAG_00000010; + rocket->base.projectile->unk010 = sp120.x; + rocket->base.projectile->unk014 = sp120.y; + rocket->base.projectile->unk018 = sp120.z; + + func0f0939f8(NULL, rocket->base.prop, SFX_LAUNCH_ROCKET_8053, -1, -1, 0, 0, 0, 0, -1.0f, 0, -1, -1.0f, -1.0f, -1.0f); + } + } + } + } else { + struct gset gset = {0}; + + gset.weaponnum = weaponnum; + + endpos.x = pos->x + dir->f[0] * 65536.0f; + endpos.y = pos->y + dir->f[1] * 65536.0f; + endpos.z = pos->z + dir->f[2] * 65536.0f; + + propSetPerimEnabled(fromprop, false); + + if (cdTestAToB4(pos, fromprop->rooms, &endpos, CDTYPE_OBJS | CDTYPE_DOORS | CDTYPE_CHRS | CDTYPE_PATHBLOCKER| CDTYPE_BG, 0x10) == CDRESULT_COLLISION) { + blocked = true; #if VERSION >= VERSION_JPN_FINAL -GLOBAL_ASM( -glabel projectileCreate -.late_rodata -glabel var7f1ab20c -.word 0x481c4000 -glabel var7f1ab210 -.word 0x3e8e38e3 -glabel var7f1ab214 -.word 0x3e23d70a -.text -/* f0912dc: 27bdfe00 */ addiu $sp,$sp,-512 -/* f0912e0: afbf0044 */ sw $ra,0x44($sp) -/* f0912e4: afa40200 */ sw $a0,0x200($sp) -/* f0912e8: afa50204 */ sw $a1,0x204($sp) -/* f0912ec: afa60208 */ sw $a2,0x208($sp) -/* f0912f0: 0fc5b364 */ jal lvIsPaused -/* f0912f4: afa7020c */ sw $a3,0x20c($sp) -/* f0912f8: 1440029e */ bnez $v0,.L0f091d74 -/* f0912fc: 8fa30208 */ lw $v1,0x208($sp) -/* f091300: afa001fc */ sw $zero,0x1fc($sp) -/* f091304: afa001d8 */ sw $zero,0x1d8($sp) -/* f091308: a3a001c7 */ sb $zero,0x1c7($sp) -/* f09130c: a3a00187 */ sb $zero,0x187($sp) -/* f091310: c4640000 */ lwc1 $f4,0x0($v1) -/* f091314: 93ae0213 */ lbu $t6,0x213($sp) -/* f091318: 2401001c */ addiu $at,$zero,0x1c -/* f09131c: e7a4018c */ swc1 $f4,0x18c($sp) -/* f091320: c4660004 */ lwc1 $f6,0x4($v1) -/* f091324: 240f0001 */ addiu $t7,$zero,0x1 -/* f091328: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09132c: e7a60190 */ swc1 $f6,0x190($sp) -/* f091330: c4680008 */ lwc1 $f8,0x8($v1) -/* f091334: afae0054 */ sw $t6,0x54($sp) -/* f091338: 15c1000b */ bne $t6,$at,.L0f091368 -/* f09133c: e7a80194 */ swc1 $f8,0x194($sp) -/* f091340: 3c014220 */ lui $at,0x4220 -/* f091344: 44818000 */ mtc1 $at,$f16 -/* f091348: c7aa0190 */ lwc1 $f10,0x190($sp) -/* f09134c: 2418ffff */ addiu $t8,$zero,-1 -/* f091350: 24190001 */ addiu $t9,$zero,0x1 -/* f091354: 46105481 */ sub.s $f18,$f10,$f16 -/* f091358: a3af01c7 */ sb $t7,0x1c7($sp) -/* f09135c: a3b80198 */ sb $t8,0x198($sp) -/* f091360: a3b90187 */ sb $t9,0x187($sp) -/* f091364: e7b20190 */ swc1 $f18,0x190($sp) -.L0f091368: -/* f091368: 8fa80204 */ lw $t0,0x204($sp) -/* f09136c: 5100008d */ beqzl $t0,.L0f0915a4 -/* f091370: 8fa20214 */ lw $v0,0x214($sp) -/* f091374: 8d090008 */ lw $t1,0x8($t0) -/* f091378: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f09137c: 8fab0054 */ lw $t3,0x54($sp) -/* f091380: 012a082a */ slt $at,$t1,$t2 -/* f091384: 10200086 */ beqz $at,.L0f0915a0 -/* f091388: 2401002b */ addiu $at,$zero,0x2b -/* f09138c: 11610028 */ beq $t3,$at,.L0f091430 -/* f091390: 8fa40200 */ lw $a0,0x200($sp) -/* f091394: 24010059 */ addiu $at,$zero,0x59 -/* f091398: 11610006 */ beq $t3,$at,.L0f0913b4 -/* f09139c: 8fa40200 */ lw $a0,0x200($sp) -/* f0913a0: 2401005a */ addiu $at,$zero,0x5a -/* f0913a4: 11610043 */ beq $t3,$at,.L0f0914b4 -/* f0913a8: 8fa40200 */ lw $a0,0x200($sp) -/* f0913ac: 1000005f */ b .L0f09152c -/* f0913b0: 8fa40200 */ lw $a0,0x200($sp) -.L0f0913b4: -/* f0913b4: 24050007 */ addiu $a1,$zero,0x7 -/* f0913b8: 0fc249af */ jal func0f0926bc -/* f0913bc: 3406ffff */ dli $a2,0xffff -/* f0913c0: 3c01bf80 */ lui $at,0xbf80 -/* f0913c4: 44810000 */ mtc1 $at,$f0 -/* f0913c8: 240cffff */ addiu $t4,$zero,-1 -/* f0913cc: 240d0007 */ addiu $t5,$zero,0x7 -/* f0913d0: 240effff */ addiu $t6,$zero,-1 -/* f0913d4: afae002c */ sw $t6,0x2c($sp) -/* f0913d8: afad001c */ sw $t5,0x1c($sp) -/* f0913dc: afac0010 */ sw $t4,0x10($sp) -/* f0913e0: 00002025 */ or $a0,$zero,$zero -/* f0913e4: 8fa50200 */ lw $a1,0x200($sp) -/* f0913e8: 2406810e */ addiu $a2,$zero,-32498 -/* f0913ec: 2407ffff */ addiu $a3,$zero,-1 -/* f0913f0: afa00014 */ sw $zero,0x14($sp) -/* f0913f4: afa00018 */ sw $zero,0x18($sp) -/* f0913f8: afa00020 */ sw $zero,0x20($sp) -/* f0913fc: afa00028 */ sw $zero,0x28($sp) -/* f091400: e7a00024 */ swc1 $f0,0x24($sp) -/* f091404: e7a00030 */ swc1 $f0,0x30($sp) -/* f091408: e7a00034 */ swc1 $f0,0x34($sp) -/* f09140c: 0fc24e7e */ jal func0f0939f8 -/* f091410: e7a00038 */ swc1 $f0,0x38($sp) -/* f091414: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091418: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f09141c: 8fb90204 */ lw $t9,0x204($sp) -/* f091420: 25f80004 */ addiu $t8,$t7,0x4 -/* f091424: af380008 */ sw $t8,0x8($t9) -/* f091428: 1000005d */ b .L0f0915a0 -/* f09142c: 8fa30208 */ lw $v1,0x208($sp) -.L0f091430: -/* f091430: 24050001 */ addiu $a1,$zero,0x1 -/* f091434: 0fc249af */ jal func0f0926bc -/* f091438: 3406ffff */ dli $a2,0xffff -/* f09143c: 3c01bf80 */ lui $at,0xbf80 -/* f091440: 44812000 */ mtc1 $at,$f4 -/* f091444: 44813000 */ mtc1 $at,$f6 -/* f091448: 44814000 */ mtc1 $at,$f8 -/* f09144c: 44815000 */ mtc1 $at,$f10 -/* f091450: 2408ffff */ addiu $t0,$zero,-1 -/* f091454: 2409ffff */ addiu $t1,$zero,-1 -/* f091458: afa9002c */ sw $t1,0x2c($sp) -/* f09145c: afa80010 */ sw $t0,0x10($sp) -/* f091460: 00002025 */ or $a0,$zero,$zero -/* f091464: 8fa50200 */ lw $a1,0x200($sp) -/* f091468: 2406805a */ addiu $a2,$zero,-32678 -/* f09146c: 2407ffff */ addiu $a3,$zero,-1 -/* f091470: afa00014 */ sw $zero,0x14($sp) -/* f091474: afa00018 */ sw $zero,0x18($sp) -/* f091478: afa0001c */ sw $zero,0x1c($sp) -/* f09147c: afa00020 */ sw $zero,0x20($sp) -/* f091480: afa00028 */ sw $zero,0x28($sp) -/* f091484: e7a40024 */ swc1 $f4,0x24($sp) -/* f091488: e7a60030 */ swc1 $f6,0x30($sp) -/* f09148c: e7a80034 */ swc1 $f8,0x34($sp) -/* f091490: 0fc24e7e */ jal func0f0939f8 -/* f091494: e7aa0038 */ swc1 $f10,0x38($sp) -/* f091498: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09149c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f0914a0: 8fac0204 */ lw $t4,0x204($sp) -/* f0914a4: 254b0002 */ addiu $t3,$t2,0x2 -/* f0914a8: ad8b0008 */ sw $t3,0x8($t4) -/* f0914ac: 1000003c */ b .L0f0915a0 -/* f0914b0: 8fa30208 */ lw $v1,0x208($sp) -.L0f0914b4: -/* f0914b4: 24050001 */ addiu $a1,$zero,0x1 -/* f0914b8: 0fc249af */ jal func0f0926bc -/* f0914bc: 3406ffff */ dli $a2,0xffff -/* f0914c0: 3c01bf80 */ lui $at,0xbf80 -/* f0914c4: 44810000 */ mtc1 $at,$f0 -/* f0914c8: 240dffff */ addiu $t5,$zero,-1 -/* f0914cc: 240effff */ addiu $t6,$zero,-1 -/* f0914d0: afae002c */ sw $t6,0x2c($sp) -/* f0914d4: afad0010 */ sw $t5,0x10($sp) -/* f0914d8: 00002025 */ or $a0,$zero,$zero -/* f0914dc: 8fa50200 */ lw $a1,0x200($sp) -/* f0914e0: 24068043 */ addiu $a2,$zero,-32701 -/* f0914e4: 2407ffff */ addiu $a3,$zero,-1 -/* f0914e8: afa00014 */ sw $zero,0x14($sp) -/* f0914ec: afa00018 */ sw $zero,0x18($sp) -/* f0914f0: afa0001c */ sw $zero,0x1c($sp) -/* f0914f4: afa00020 */ sw $zero,0x20($sp) -/* f0914f8: afa00028 */ sw $zero,0x28($sp) -/* f0914fc: e7a00024 */ swc1 $f0,0x24($sp) -/* f091500: e7a00030 */ swc1 $f0,0x30($sp) -/* f091504: e7a00034 */ swc1 $f0,0x34($sp) -/* f091508: 0fc24e7e */ jal func0f0939f8 -/* f09150c: e7a00038 */ swc1 $f0,0x38($sp) -/* f091510: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091514: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f091518: 8fb90204 */ lw $t9,0x204($sp) -/* f09151c: 25f80008 */ addiu $t8,$t7,0x8 -/* f091520: af380008 */ sw $t8,0x8($t9) -/* f091524: 1000001e */ b .L0f0915a0 -/* f091528: 8fa30208 */ lw $v1,0x208($sp) -.L0f09152c: -/* f09152c: 24050001 */ addiu $a1,$zero,0x1 -/* f091530: 0fc249af */ jal func0f0926bc -/* f091534: 3406ffff */ dli $a2,0xffff -/* f091538: 3c01bf80 */ lui $at,0xbf80 -/* f09153c: 44810000 */ mtc1 $at,$f0 -/* f091540: 2408ffff */ addiu $t0,$zero,-1 -/* f091544: 2409ffff */ addiu $t1,$zero,-1 -/* f091548: afa9002c */ sw $t1,0x2c($sp) -/* f09154c: afa80010 */ sw $t0,0x10($sp) -/* f091550: 00002025 */ or $a0,$zero,$zero -/* f091554: 8fa50200 */ lw $a1,0x200($sp) -/* f091558: 24068045 */ addiu $a2,$zero,-32699 -/* f09155c: 2407ffff */ addiu $a3,$zero,-1 -/* f091560: afa00014 */ sw $zero,0x14($sp) -/* f091564: afa00018 */ sw $zero,0x18($sp) -/* f091568: afa0001c */ sw $zero,0x1c($sp) -/* f09156c: afa00020 */ sw $zero,0x20($sp) -/* f091570: afa00028 */ sw $zero,0x28($sp) -/* f091574: e7a00024 */ swc1 $f0,0x24($sp) -/* f091578: e7a00030 */ swc1 $f0,0x30($sp) -/* f09157c: e7a00034 */ swc1 $f0,0x34($sp) -/* f091580: 0fc24e7e */ jal func0f0939f8 -/* f091584: e7a00038 */ swc1 $f0,0x38($sp) -/* f091588: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09158c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f091590: 8fac0204 */ lw $t4,0x204($sp) -/* f091594: 254b0002 */ addiu $t3,$t2,0x2 -/* f091598: ad8b0008 */ sw $t3,0x8($t4) -/* f09159c: 8fa30208 */ lw $v1,0x208($sp) -.L0f0915a0: -/* f0915a0: 8fa20214 */ lw $v0,0x214($sp) -.L0f0915a4: -/* f0915a4: 8fa6020c */ lw $a2,0x20c($sp) -/* f0915a8: 3c014e00 */ lui $at,0x4e00 -/* f0915ac: 1040001d */ beqz $v0,.L0f091624 -/* f0915b0: 3c198007 */ lui $t9,%hi(var8006ae04) -/* f0915b4: 3c014170 */ lui $at,0x4170 -/* f0915b8: 44817000 */ mtc1 $at,$f14 -/* f0915bc: c4c60000 */ lwc1 $f6,0x0($a2) -/* f0915c0: c4500008 */ lwc1 $f16,0x8($v0) -/* f0915c4: c4720000 */ lwc1 $f18,0x0($v1) -/* f0915c8: 460e3202 */ mul.s $f8,$f6,$f14 -/* f0915cc: c4c60004 */ lwc1 $f6,0x4($a2) -/* f0915d0: 46128101 */ sub.s $f4,$f16,$f18 -/* f0915d4: c4700004 */ lwc1 $f16,0x4($v1) -/* f0915d8: c44a000c */ lwc1 $f10,0xc($v0) -/* f0915dc: 46082001 */ sub.s $f0,$f4,$f8 -/* f0915e0: 460e3102 */ mul.s $f4,$f6,$f14 -/* f0915e4: c4c60008 */ lwc1 $f6,0x8($a2) -/* f0915e8: 46105481 */ sub.s $f18,$f10,$f16 -/* f0915ec: c46a0008 */ lwc1 $f10,0x8($v1) -/* f0915f0: c4480010 */ lwc1 $f8,0x10($v0) -/* f0915f4: 46049081 */ sub.s $f2,$f18,$f4 -/* f0915f8: 460e3482 */ mul.s $f18,$f6,$f14 -/* f0915fc: 460a4401 */ sub.s $f16,$f8,$f10 -/* f091600: 46000102 */ mul.s $f4,$f0,$f0 -/* f091604: 00000000 */ nop -/* f091608: 46021202 */ mul.s $f8,$f2,$f2 -/* f09160c: 46128301 */ sub.s $f12,$f16,$f18 -/* f091610: 460c6182 */ mul.s $f6,$f12,$f12 -/* f091614: 46082280 */ add.s $f10,$f4,$f8 -/* f091618: 46065400 */ add.s $f16,$f10,$f6 -/* f09161c: 10000004 */ b .L0f091630 -/* f091620: e7b001dc */ swc1 $f16,0x1dc($sp) -.L0f091624: -/* f091624: 44819000 */ mtc1 $at,$f18 -/* f091628: 8fa6020c */ lw $a2,0x20c($sp) -/* f09162c: e7b201dc */ swc1 $f18,0x1dc($sp) -.L0f091630: -/* f091630: 8fad0054 */ lw $t5,0x54($sp) -/* f091634: 24010018 */ addiu $at,$zero,0x18 -/* f091638: 8fae0200 */ lw $t6,0x200($sp) -/* f09163c: 15a1006d */ bne $t5,$at,.L0f0917f4 -/* f091640: 00000000 */ nop -/* f091644: 0fc1eb7d */ jal chopperFromHovercar -/* f091648: 8dc40004 */ lw $a0,0x4($t6) -/* f09164c: 104001c9 */ beqz $v0,.L0f091d74 -/* f091650: 3c017f1b */ lui $at,%hi(var7f1ab20c) -/* f091654: c424b20c */ lwc1 $f4,%lo(var7f1ab20c)($at) -/* f091658: c7a801dc */ lwc1 $f8,0x1dc($sp) -/* f09165c: 4608203c */ c.lt.s $f4,$f8 -/* f091660: 00000000 */ nop -/* f091664: 450201c4 */ bc1fl .L0f091d78 -/* f091668: 8fbf0044 */ lw $ra,0x44($sp) -/* f09166c: c44a0080 */ lwc1 $f10,0x80($v0) -/* f091670: 2404011f */ addiu $a0,$zero,0x11f -/* f091674: 24050053 */ addiu $a1,$zero,0x53 -/* f091678: e7aa009c */ swc1 $f10,0x9c($sp) -/* f09167c: c446007c */ lwc1 $f6,0x7c($v0) -/* f091680: 00003025 */ or $a2,$zero,$zero -/* f091684: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f091688: e7a60098 */ swc1 $f6,0x98($sp) -/* f09168c: 104001b9 */ beqz $v0,.L0f091d74 -/* f091690: afa2017c */ sw $v0,0x17c($sp) -/* f091694: 0c00566c */ jal mtx4LoadIdentity -/* f091698: 27a4013c */ addiu $a0,$sp,0x13c -/* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) -/* f0916a0: 0c0058ba */ jal mtx4LoadXRotation -/* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f0916ac: 0c0058dd */ jal mtx4LoadYRotation -/* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 -/* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 -/* f0916b8: 0c0056f8 */ jal mtx00015be0 -/* f0916bc: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916c0: 8fa3020c */ lw $v1,0x20c($sp) -/* f0916c4: 3c017f1b */ lui $at,%hi(var7f1ab210) -/* f0916c8: c422b210 */ lwc1 $f2,%lo(var7f1ab210)($at) -/* f0916cc: c4700000 */ lwc1 $f16,0x0($v1) -/* f0916d0: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f0916d4: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) -/* f0916d8: 46028482 */ mul.s $f18,$f16,$f2 -/* f0916dc: 8fa20200 */ lw $v0,0x200($sp) -/* f0916e0: 8fa50208 */ lw $a1,0x208($sp) -/* f0916e4: 27af0130 */ addiu $t7,$sp,0x130 -/* f0916e8: 27b8013c */ addiu $t8,$sp,0x13c -/* f0916ec: 8fa4017c */ lw $a0,0x17c($sp) -/* f0916f0: 27a700e0 */ addiu $a3,$sp,0xe0 -/* f0916f4: e7b20120 */ swc1 $f18,0x120($sp) -/* f0916f8: c4640004 */ lwc1 $f4,0x4($v1) -/* f0916fc: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091700: 24460028 */ addiu $a2,$v0,0x28 -/* f091704: 46022202 */ mul.s $f8,$f4,$f2 -/* f091708: e7a80124 */ swc1 $f8,0x124($sp) -/* f09170c: c46a0008 */ lwc1 $f10,0x8($v1) -/* f091710: c7a40124 */ lwc1 $f4,0x124($sp) -/* f091714: afb80014 */ sw $t8,0x14($sp) -/* f091718: 46025182 */ mul.s $f6,$f10,$f2 -/* f09171c: afaf0010 */ sw $t7,0x10($sp) -/* f091720: afa20018 */ sw $v0,0x18($sp) -/* f091724: 46008482 */ mul.s $f18,$f16,$f0 -/* f091728: afa5001c */ sw $a1,0x1c($sp) -/* f09172c: 46002202 */ mul.s $f8,$f4,$f0 -/* f091730: e7a60128 */ swc1 $f6,0x128($sp) -/* f091734: c7aa0128 */ lwc1 $f10,0x128($sp) -/* f091738: e7b20130 */ swc1 $f18,0x130($sp) -/* f09173c: 46005182 */ mul.s $f6,$f10,$f0 -/* f091740: e7a80134 */ swc1 $f8,0x134($sp) -/* f091744: 0fc27af3 */ jal bgun0f09ebcc -/* f091748: e7a60138 */ swc1 $f6,0x138($sp) -/* f09174c: 8fa3017c */ lw $v1,0x17c($sp) -/* f091750: 8c790040 */ lw $t9,0x40($v1) -/* f091754: 33280080 */ andi $t0,$t9,0x80 -/* f091758: 51000187 */ beqzl $t0,.L0f091d78 -/* f09175c: 8fbf0044 */ lw $ra,0x44($sp) -/* f091760: 8c620048 */ lw $v0,0x48($v1) -/* f091764: 2409ffff */ addiu $t1,$zero,-1 -/* f091768: a4690062 */ sh $t1,0x62($v1) -/* f09176c: 8c4a0000 */ lw $t2,0x0($v0) -/* f091770: 3c01bf80 */ lui $at,0xbf80 -/* f091774: 44810000 */ mtc1 $at,$f0 -/* f091778: 354b0010 */ ori $t3,$t2,0x10 -/* f09177c: ac4b0000 */ sw $t3,0x0($v0) -/* f091780: 8c6c0048 */ lw $t4,0x48($v1) -/* f091784: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091788: 240fffff */ addiu $t7,$zero,-1 -/* f09178c: 2418ffff */ addiu $t8,$zero,-1 -/* f091790: e5900010 */ swc1 $f16,0x10($t4) -/* f091794: 8c6d0048 */ lw $t5,0x48($v1) -/* f091798: c7b20124 */ lwc1 $f18,0x124($sp) -/* f09179c: 00002025 */ or $a0,$zero,$zero -/* f0917a0: 24068053 */ addiu $a2,$zero,-32685 -/* f0917a4: e5b20014 */ swc1 $f18,0x14($t5) -/* f0917a8: 8c6e0048 */ lw $t6,0x48($v1) -/* f0917ac: c7a40128 */ lwc1 $f4,0x128($sp) -/* f0917b0: 2407ffff */ addiu $a3,$zero,-1 -/* f0917b4: e5c40018 */ swc1 $f4,0x18($t6) -/* f0917b8: 8c650014 */ lw $a1,0x14($v1) -/* f0917bc: afb8002c */ sw $t8,0x2c($sp) -/* f0917c0: afa00028 */ sw $zero,0x28($sp) -/* f0917c4: afa00020 */ sw $zero,0x20($sp) -/* f0917c8: afa0001c */ sw $zero,0x1c($sp) -/* f0917cc: afa00018 */ sw $zero,0x18($sp) -/* f0917d0: afa00014 */ sw $zero,0x14($sp) -/* f0917d4: afaf0010 */ sw $t7,0x10($sp) -/* f0917d8: e7a00038 */ swc1 $f0,0x38($sp) -/* f0917dc: e7a00034 */ swc1 $f0,0x34($sp) -/* f0917e0: e7a00030 */ swc1 $f0,0x30($sp) -/* f0917e4: 0fc24e7e */ jal func0f0939f8 -/* f0917e8: e7a00024 */ swc1 $f0,0x24($sp) -/* f0917ec: 10000162 */ b .L0f091d78 -/* f0917f0: 8fbf0044 */ lw $ra,0x44($sp) -.L0f0917f4: -/* f0917f4: 8f39ae04 */ lw $t9,%lo(var8006ae04)($t9) -/* f0917f8: 93a80213 */ lbu $t0,0x213($sp) -/* f0917fc: 3c014780 */ lui $at,0x4780 -/* f091800: afb90094 */ sw $t9,0x94($sp) -/* f091804: a3a80094 */ sb $t0,0x94($sp) -/* f091808: 44810000 */ mtc1 $at,$f0 -/* f09180c: c4c80000 */ lwc1 $f8,0x0($a2) -/* f091810: c4660000 */ lwc1 $f6,0x0($v1) -/* f091814: 8fa40200 */ lw $a0,0x200($sp) -/* f091818: 46004282 */ mul.s $f10,$f8,$f0 -/* f09181c: 00002825 */ or $a1,$zero,$zero -/* f091820: 46065400 */ add.s $f16,$f10,$f6 -/* f091824: e7b001f0 */ swc1 $f16,0x1f0($sp) -/* f091828: c4d20004 */ lwc1 $f18,0x4($a2) -/* f09182c: c4680004 */ lwc1 $f8,0x4($v1) -/* f091830: 46009102 */ mul.s $f4,$f18,$f0 -/* f091834: 46082280 */ add.s $f10,$f4,$f8 -/* f091838: e7aa01f4 */ swc1 $f10,0x1f4($sp) -/* f09183c: c4c60008 */ lwc1 $f6,0x8($a2) -/* f091840: c4720008 */ lwc1 $f18,0x8($v1) -/* f091844: 46003402 */ mul.s $f16,$f6,$f0 -/* f091848: 46128100 */ add.s $f4,$f16,$f18 -/* f09184c: 0fc1905e */ jal propSetPerimEnabled -/* f091850: e7a401f8 */ swc1 $f4,0x1f8($sp) -/* f091854: 8fa50200 */ lw $a1,0x200($sp) -/* f091858: 24090010 */ addiu $t1,$zero,0x10 -/* f09185c: afa90010 */ sw $t1,0x10($sp) -/* f091860: 24a50028 */ addiu $a1,$a1,0x28 -/* f091864: afa50050 */ sw $a1,0x50($sp) -/* f091868: 8fa40208 */ lw $a0,0x208($sp) -/* f09186c: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091870: 0c00b764 */ jal cdTestAToB4 -/* f091874: 2407003b */ addiu $a3,$zero,0x3b -/* f091878: 1440000a */ bnez $v0,.L0f0918a4 -/* f09187c: 240a0001 */ addiu $t2,$zero,0x1 -/* f091880: 3c067f1b */ lui $a2,%hi(var7f1aa1c0) -/* f091884: afaa01fc */ sw $t2,0x1fc($sp) -/* f091888: 24c6a1c0 */ addiu $a2,$a2,%lo(var7f1aa1c0) -/* f09188c: 27a401f0 */ addiu $a0,$sp,0x1f0 -/* f091890: 0c0093af */ jal cdGetPos -/* f091894: 24056133 */ addiu $a1,$zero,0x6133 -/* f091898: 0c0093ac */ jal cdGetObstacle -/* f09189c: 00000000 */ nop -/* f0918a0: afa201d8 */ sw $v0,0x1d8($sp) -.L0f0918a4: -/* f0918a4: 8fa40200 */ lw $a0,0x200($sp) -/* f0918a8: 0fc1905e */ jal propSetPerimEnabled -/* f0918ac: 24050001 */ addiu $a1,$zero,0x1 -/* f0918b0: 8fab0208 */ lw $t3,0x208($sp) -/* f0918b4: 8fac0214 */ lw $t4,0x214($sp) -/* f0918b8: c7a801f0 */ lwc1 $f8,0x1f0($sp) -/* f0918bc: c7a601f4 */ lwc1 $f6,0x1f4($sp) -/* f0918c0: c7b201f8 */ lwc1 $f18,0x1f8($sp) -/* f0918c4: c56a0000 */ lwc1 $f10,0x0($t3) -/* f0918c8: c5700004 */ lwc1 $f16,0x4($t3) -/* f0918cc: c5640008 */ lwc1 $f4,0x8($t3) -/* f0918d0: 460a4001 */ sub.s $f0,$f8,$f10 -/* f0918d4: 46103081 */ sub.s $f2,$f6,$f16 -/* f0918d8: 1180007b */ beqz $t4,.L0f091ac8 -/* f0918dc: 46049301 */ sub.s $f12,$f18,$f4 -/* f0918e0: 46000202 */ mul.s $f8,$f0,$f0 -/* f0918e4: c7a401dc */ lwc1 $f4,0x1dc($sp) -/* f0918e8: 46021282 */ mul.s $f10,$f2,$f2 -/* f0918ec: 460a4180 */ add.s $f6,$f8,$f10 -/* f0918f0: 460c6402 */ mul.s $f16,$f12,$f12 -/* f0918f4: 46103480 */ add.s $f18,$f6,$f16 -/* f0918f8: 4612203e */ c.le.s $f4,$f18 -/* f0918fc: 00000000 */ nop -/* f091900: 45020072 */ bc1fl .L0f091acc -/* f091904: 8fae01fc */ lw $t6,0x1fc($sp) -/* f091908: 0c012974 */ jal sqrtf -/* f09190c: 46002306 */ mov.s $f12,$f4 -/* f091910: 8fa20214 */ lw $v0,0x214($sp) -/* f091914: 3c0141a0 */ lui $at,0x41a0 -/* f091918: 44813000 */ mtc1 $at,$f6 -/* f09191c: c4480008 */ lwc1 $f8,0x8($v0) -/* f091920: 8fa40208 */ lw $a0,0x208($sp) -/* f091924: 8fa5020c */ lw $a1,0x20c($sp) -/* f091928: e7a80084 */ swc1 $f8,0x84($sp) -/* f09192c: c44a000c */ lwc1 $f10,0xc($v0) -/* f091930: 27a60084 */ addiu $a2,$sp,0x84 -/* f091934: 3c0741f0 */ lui $a3,0x41f0 -/* f091938: 46065401 */ sub.s $f16,$f10,$f6 -/* f09193c: e7b00088 */ swc1 $f16,0x88($sp) -/* f091940: c4520010 */ lwc1 $f18,0x10($v0) -/* f091944: e7a00090 */ swc1 $f0,0x90($sp) -/* f091948: 0fc1ace7 */ jal func0f06b39c -/* f09194c: e7b2008c */ swc1 $f18,0x8c($sp) -/* f091950: 1040005d */ beqz $v0,.L0f091ac8 -/* f091954: c7a20090 */ lwc1 $f2,0x90($sp) -/* f091958: 3c014348 */ lui $at,0x4348 -/* f09195c: 44816000 */ mtc1 $at,$f12 -/* f091960: 3c017f1b */ lui $at,%hi(var7f1ab214) -/* f091964: c424b214 */ lwc1 $f4,%lo(var7f1ab214)($at) -/* f091968: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f09196c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at) -/* f091970: 8fad0204 */ lw $t5,0x204($sp) -/* f091974: 4602603c */ c.lt.s $f12,$f2 -/* f091978: 46082282 */ mul.s $f10,$f4,$f8 -/* f09197c: c5a6000c */ lwc1 $f6,0xc($t5) -/* f091980: 8fae0204 */ lw $t6,0x204($sp) -/* f091984: 46065002 */ mul.s $f0,$f10,$f6 -/* f091988: 45020005 */ bc1fl .L0f0919a0 -/* f09198c: c5d20014 */ lwc1 $f18,0x14($t6) -/* f091990: 46026403 */ div.s $f16,$f12,$f2 -/* f091994: 46100002 */ mul.s $f0,$f0,$f16 -/* f091998: 00000000 */ nop -/* f09199c: c5d20014 */ lwc1 $f18,0x14($t6) -.L0f0919a0: -/* f0919a0: 3c013f80 */ lui $at,0x3f80 -/* f0919a4: 44814000 */ mtc1 $at,$f8 -/* f0919a8: 46009100 */ add.s $f4,$f18,$f0 -/* f0919ac: 4604403e */ c.le.s $f8,$f4 -/* f0919b0: e5c40014 */ swc1 $f4,0x14($t6) -/* f0919b4: 8fa20214 */ lw $v0,0x214($sp) -/* f0919b8: 45020044 */ bc1fl .L0f091acc -/* f0919bc: 8fae01fc */ lw $t6,0x1fc($sp) -/* f0919c0: afa001fc */ sw $zero,0x1fc($sp) -/* f0919c4: c44a0008 */ lwc1 $f10,0x8($v0) -/* f0919c8: e7aa01f0 */ swc1 $f10,0x1f0($sp) -/* f0919cc: c446000c */ lwc1 $f6,0xc($v0) -/* f0919d0: e7a601f4 */ swc1 $f6,0x1f4($sp) -/* f0919d4: c4500010 */ lwc1 $f16,0x10($v0) -/* f0919d8: 0c004b70 */ jal random -/* f0919dc: e7b001f8 */ swc1 $f16,0x1f8($sp) -/* f0919e0: 304f0001 */ andi $t7,$v0,0x1 -/* f0919e4: 11e00012 */ beqz $t7,.L0f091a30 -/* f0919e8: 00000000 */ nop -/* f0919ec: 0c004b70 */ jal random -/* f0919f0: 00000000 */ nop -/* f0919f4: 2401000a */ addiu $at,$zero,0xa -/* f0919f8: 0041001b */ divu $zero,$v0,$at -/* f0919fc: 0000c010 */ mfhi $t8 -/* f091a00: 27190002 */ addiu $t9,$t8,0x2 -/* f091a04: 44992000 */ mtc1 $t9,$f4 -/* f091a08: c7b201f4 */ lwc1 $f18,0x1f4($sp) -/* f091a0c: 07210005 */ bgez $t9,.L0f091a24 -/* f091a10: 46802220 */ cvt.s.w $f8,$f4 -/* f091a14: 3c014f80 */ lui $at,0x4f80 -/* f091a18: 44815000 */ mtc1 $at,$f10 -/* f091a1c: 00000000 */ nop -/* f091a20: 460a4200 */ add.s $f8,$f8,$f10 -.L0f091a24: -/* f091a24: 46089180 */ add.s $f6,$f18,$f8 -/* f091a28: 10000011 */ b .L0f091a70 -/* f091a2c: e7a601f4 */ swc1 $f6,0x1f4($sp) -.L0f091a30: -/* f091a30: 0c004b70 */ jal random -/* f091a34: 00000000 */ nop -/* f091a38: 2401000a */ addiu $at,$zero,0xa -/* f091a3c: 0041001b */ divu $zero,$v0,$at -/* f091a40: 00004010 */ mfhi $t0 -/* f091a44: 25090002 */ addiu $t1,$t0,0x2 -/* f091a48: 44892000 */ mtc1 $t1,$f4 -/* f091a4c: c7b001f4 */ lwc1 $f16,0x1f4($sp) -/* f091a50: 05210005 */ bgez $t1,.L0f091a68 -/* f091a54: 468022a0 */ cvt.s.w $f10,$f4 -/* f091a58: 3c014f80 */ lui $at,0x4f80 -/* f091a5c: 44819000 */ mtc1 $at,$f18 -/* f091a60: 00000000 */ nop -/* f091a64: 46125280 */ add.s $f10,$f10,$f18 -.L0f091a68: -/* f091a68: 460a8201 */ sub.s $f8,$f16,$f10 -/* f091a6c: e7a801f4 */ swc1 $f8,0x1f4($sp) -.L0f091a70: -/* f091a70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a74: 8fa50214 */ lw $a1,0x214($sp) -/* f091a78: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091a7c: 2406ffff */ addiu $a2,$zero,-1 -/* f091a80: 0fc2c74a */ jal gsetGetDamage -/* f091a84: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a88: 8fab0204 */ lw $t3,0x204($sp) -/* f091a8c: 8faa0214 */ lw $t2,0x214($sp) -/* f091a90: 240c00c8 */ addiu $t4,$zero,0xc8 -/* f091a94: c5660010 */ lwc1 $f6,0x10($t3) -/* f091a98: 8d440004 */ lw $a0,0x4($t2) -/* f091a9c: afac0014 */ sw $t4,0x14($sp) -/* f091aa0: 46060102 */ mul.s $f4,$f0,$f6 -/* f091aa4: afa00010 */ sw $zero,0x10($sp) -/* f091aa8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091aac: 27a70094 */ addiu $a3,$sp,0x94 -/* f091ab0: 44052000 */ mfc1 $a1,$f4 -/* f091ab4: 0fc0d0cc */ jal chrDamageByImpact -/* f091ab8: 00000000 */ nop -/* f091abc: 44809000 */ mtc1 $zero,$f18 -/* f091ac0: 8fad0204 */ lw $t5,0x204($sp) -/* f091ac4: e5b20014 */ swc1 $f18,0x14($t5) -.L0f091ac8: -/* f091ac8: 8fae01fc */ lw $t6,0x1fc($sp) -.L0f091acc: -/* f091acc: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091ad0: 51c00093 */ beqzl $t6,.L0f091d20 -/* f091ad4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ad8: 11e0007d */ beqz $t7,.L0f091cd0 -/* f091adc: 8fa40208 */ lw $a0,0x208($sp) -/* f091ae0: 91e20000 */ lbu $v0,0x0($t7) -/* f091ae4: 24010003 */ addiu $at,$zero,0x3 -/* f091ae8: 2418ffff */ addiu $t8,$zero,-1 -/* f091aec: 10410004 */ beq $v0,$at,.L0f091b00 -/* f091af0: 241900c8 */ addiu $t9,$zero,0xc8 -/* f091af4: 24010006 */ addiu $at,$zero,0x6 -/* f091af8: 54410040 */ bnel $v0,$at,.L0f091bfc -/* f091afc: 24010001 */ addiu $at,$zero,0x1 -.L0f091b00: -/* f091b00: 8fa801d8 */ lw $t0,0x1d8($sp) -/* f091b04: 8faa0054 */ lw $t2,0x54($sp) -/* f091b08: afa0007c */ sw $zero,0x7c($sp) -/* f091b0c: afa00078 */ sw $zero,0x78($sp) -/* f091b10: afb80074 */ sw $t8,0x74($sp) -/* f091b14: afb90070 */ sw $t9,0x70($sp) -/* f091b18: 8d090004 */ lw $t1,0x4($t0) -/* f091b1c: 24010059 */ addiu $at,$zero,0x59 -/* f091b20: 11410005 */ beq $t2,$at,.L0f091b38 -/* f091b24: afa9006c */ sw $t1,0x6c($sp) -/* f091b28: 27a40094 */ addiu $a0,$sp,0x94 -/* f091b2c: 01002825 */ or $a1,$t0,$zero -/* f091b30: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091b34: 2406ffff */ addiu $a2,$zero,-1 -.L0f091b38: -/* f091b38: 8fab006c */ lw $t3,0x6c($sp) -/* f091b3c: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091b40: 8fa6020c */ lw $a2,0x20c($sp) -/* f091b44: 8d6c0020 */ lw $t4,0x20($t3) -/* f091b48: 27a7007c */ addiu $a3,$sp,0x7c -/* f091b4c: 27ad0070 */ addiu $t5,$sp,0x70 -/* f091b50: 11800007 */ beqz $t4,.L0f091b70 -/* f091b54: 01602025 */ or $a0,$t3,$zero -/* f091b58: 27ae0078 */ addiu $t6,$sp,0x78 -/* f091b5c: 27af0074 */ addiu $t7,$sp,0x74 -/* f091b60: afaf0018 */ sw $t7,0x18($sp) -/* f091b64: afae0014 */ sw $t6,0x14($sp) -/* f091b68: 0fc0ffcb */ jal chrCalculateShieldHit -/* f091b6c: afad0010 */ sw $t5,0x10($sp) -.L0f091b70: -/* f091b70: 8fb8020c */ lw $t8,0x20c($sp) -/* f091b74: 8fa4006c */ lw $a0,0x6c($sp) -/* f091b78: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091b7c: 8fa60070 */ lw $a2,0x70($sp) -/* f091b80: 27a701f0 */ addiu $a3,$sp,0x1f0 -/* f091b84: afa00014 */ sw $zero,0x14($sp) -/* f091b88: 0fc097a9 */ jal chrEmitSparks -/* f091b8c: afb80010 */ sw $t8,0x10($sp) -/* f091b90: 93b90187 */ lbu $t9,0x187($sp) -/* f091b94: 8faa006c */ lw $t2,0x6c($sp) -/* f091b98: 13200002 */ beqz $t9,.L0f091ba4 -/* f091b9c: 24091388 */ addiu $t1,$zero,0x1388 -/* f091ba0: a54902d8 */ sh $t1,0x2d8($t2) -.L0f091ba4: -/* f091ba4: 0fc2c74a */ jal gsetGetDamage -/* f091ba8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091bac: 8fa80070 */ lw $t0,0x70($sp) -/* f091bb0: 8fac01d8 */ lw $t4,0x1d8($sp) -/* f091bb4: 8fab007c */ lw $t3,0x7c($sp) -/* f091bb8: 8fad0078 */ lw $t5,0x78($sp) -/* f091bbc: 8fae0074 */ lw $t6,0x74($sp) -/* f091bc0: 44050000 */ mfc1 $a1,$f0 -/* f091bc4: 8fa4006c */ lw $a0,0x6c($sp) -/* f091bc8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091bcc: 27a70094 */ addiu $a3,$sp,0x94 -/* f091bd0: afa00010 */ sw $zero,0x10($sp) -/* f091bd4: afa00028 */ sw $zero,0x28($sp) -/* f091bd8: afa80014 */ sw $t0,0x14($sp) -/* f091bdc: afac0018 */ sw $t4,0x18($sp) -/* f091be0: afab001c */ sw $t3,0x1c($sp) -/* f091be4: afad0020 */ sw $t5,0x20($sp) -/* f091be8: 0fc0d077 */ jal func0f0341dc -/* f091bec: afae0024 */ sw $t6,0x24($sp) -/* f091bf0: 1000004b */ b .L0f091d20 -/* f091bf4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091bf8: 24010001 */ addiu $at,$zero,0x1 -.L0f091bfc: -/* f091bfc: 10410006 */ beq $v0,$at,.L0f091c18 -/* f091c00: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091c04: 24010004 */ addiu $at,$zero,0x4 -/* f091c08: 10410003 */ beq $v0,$at,.L0f091c18 -/* f091c0c: 24010002 */ addiu $at,$zero,0x2 -/* f091c10: 54410043 */ bnel $v0,$at,.L0f091d20 -/* f091c14: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091c18: -/* f091c18: 8fb90054 */ lw $t9,0x54($sp) -/* f091c1c: 8df80004 */ lw $t8,0x4($t7) -/* f091c20: 24010059 */ addiu $at,$zero,0x59 -/* f091c24: 13210005 */ beq $t9,$at,.L0f091c3c -/* f091c28: afb80068 */ sw $t8,0x68($sp) -/* f091c2c: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c30: 01e02825 */ or $a1,$t7,$zero -/* f091c34: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091c38: 2406ffff */ addiu $a2,$zero,-1 -.L0f091c3c: -/* f091c3c: 8fa40208 */ lw $a0,0x208($sp) -/* f091c40: 8fa50050 */ lw $a1,0x50($sp) -/* f091c44: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c48: 0fc1979d */ jal func0f065e74 -/* f091c4c: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091c50: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091c54: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091c58: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c5c: 00003825 */ or $a3,$zero,$zero -/* f091c60: afa00010 */ sw $zero,0x10($sp) -/* f091c64: 0fc4be7c */ jal sparksCreate -/* f091c68: afa00014 */ sw $zero,0x14($sp) -/* f091c6c: 0fc2c74a */ jal gsetGetDamage -/* f091c70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c74: 8fa901d8 */ lw $t1,0x1d8($sp) -/* f091c78: 44050000 */ mfc1 $a1,$f0 -/* f091c7c: 240affff */ addiu $t2,$zero,-1 -/* f091c80: 8d240004 */ lw $a0,0x4($t1) -/* f091c84: afaa0010 */ sw $t2,0x10($sp) -/* f091c88: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c8c: 0fc2149c */ jal objTakeGunfire -/* f091c90: 8fa70054 */ lw $a3,0x54($sp) -/* f091c94: 8fa20068 */ lw $v0,0x68($sp) -/* f091c98: 24010008 */ addiu $at,$zero,0x8 -/* f091c9c: 90480003 */ lbu $t0,0x3($v0) -/* f091ca0: 5501001f */ bnel $t0,$at,.L0f091d20 -/* f091ca4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ca8: 904c005c */ lbu $t4,0x5c($v0) -/* f091cac: 2401000f */ addiu $at,$zero,0xf -/* f091cb0: 5581001b */ bnel $t4,$at,.L0f091d20 -/* f091cb4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cb8: 904b005f */ lbu $t3,0x5f($v0) -/* f091cbc: 24010001 */ addiu $at,$zero,0x1 -/* f091cc0: 55610017 */ bnel $t3,$at,.L0f091d20 -/* f091cc4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cc8: 10000014 */ b .L0f091d1c -/* f091ccc: a4400062 */ sh $zero,0x62($v0) -.L0f091cd0: -/* f091cd0: 8fa50050 */ lw $a1,0x50($sp) -/* f091cd4: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091cd8: 0fc1979d */ jal func0f065e74 -/* f091cdc: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091ce0: 8fad0054 */ lw $t5,0x54($sp) -/* f091ce4: 24010059 */ addiu $at,$zero,0x59 -/* f091ce8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091cec: 11a10004 */ beq $t5,$at,.L0f091d00 -/* f091cf0: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091cf4: 2406ffff */ addiu $a2,$zero,-1 -/* f091cf8: 0fc2a132 */ jal bgunPlayBgHitSound -/* f091cfc: 27a701c8 */ addiu $a3,$sp,0x1c8 -.L0f091d00: -/* f091d00: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091d04: 00002825 */ or $a1,$zero,$zero -/* f091d08: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091d0c: 00003825 */ or $a3,$zero,$zero -/* f091d10: afa00010 */ sw $zero,0x10($sp) -/* f091d14: 0fc4be7c */ jal sparksCreate -/* f091d18: afa00014 */ sw $zero,0x14($sp) -.L0f091d1c: -/* f091d1c: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091d20: -/* f091d20: 8fb80204 */ lw $t8,0x204($sp) -/* f091d24: 93af01c7 */ lbu $t7,0x1c7($sp) -/* f091d28: 15c00006 */ bnez $t6,.L0f091d44 -/* f091d2c: 93aa01c7 */ lbu $t2,0x1c7($sp) -/* f091d30: 53000011 */ beqzl $t8,.L0f091d78 -/* f091d34: 8fbf0044 */ lw $ra,0x44($sp) -/* f091d38: 93190001 */ lbu $t9,0x1($t8) -/* f091d3c: 5320000e */ beqzl $t9,.L0f091d78 -/* f091d40: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d44: -/* f091d44: 11e00003 */ beqz $t7,.L0f091d54 -/* f091d48: 27a6018c */ addiu $a2,$sp,0x18c -/* f091d4c: 10000003 */ b .L0f091d5c -/* f091d50: 27a40198 */ addiu $a0,$sp,0x198 -.L0f091d54: -/* f091d54: 8fa90204 */ lw $t1,0x204($sp) -/* f091d58: 8d240004 */ lw $a0,0x4($t1) -.L0f091d5c: -/* f091d5c: 11400003 */ beqz $t2,.L0f091d6c -/* f091d60: 8fa50054 */ lw $a1,0x54($sp) -/* f091d64: 10000001 */ b .L0f091d6c -/* f091d68: 24050002 */ addiu $a1,$zero,0x2 -.L0f091d6c: -/* f091d6c: 0fc2af9c */ jal beamCreate -/* f091d70: 27a701f0 */ addiu $a3,$sp,0x1f0 -.L0f091d74: -/* f091d74: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d78: -/* f091d78: 27bd0200 */ addiu $sp,$sp,0x200 -/* f091d7c: 03e00008 */ jr $ra -/* f091d80: 00000000 */ nop -); -#elif PAL -GLOBAL_ASM( -glabel projectileCreate -.late_rodata -glabel var7f1ab20c -.word 0x481c4000 -glabel var7f1ab210 -.word 0x3e8e38e3 -glabel var7f1ab214 -.word 0x3e23d70a -.text -/* f0912dc: 27bdfe00 */ addiu $sp,$sp,-512 -/* f0912e0: afbf0044 */ sw $ra,0x44($sp) -/* f0912e4: afa40200 */ sw $a0,0x200($sp) -/* f0912e8: afa50204 */ sw $a1,0x204($sp) -/* f0912ec: afa60208 */ sw $a2,0x208($sp) -/* f0912f0: 0fc5b364 */ jal lvIsPaused -/* f0912f4: afa7020c */ sw $a3,0x20c($sp) -/* f0912f8: 1440029e */ bnez $v0,.L0f091d74 -/* f0912fc: 8fa30208 */ lw $v1,0x208($sp) -/* f091300: afa001fc */ sw $zero,0x1fc($sp) -/* f091304: afa001d8 */ sw $zero,0x1d8($sp) -/* f091308: a3a001c7 */ sb $zero,0x1c7($sp) -/* f09130c: a3a00187 */ sb $zero,0x187($sp) -/* f091310: c4640000 */ lwc1 $f4,0x0($v1) -/* f091314: 93ae0213 */ lbu $t6,0x213($sp) -/* f091318: 2401001c */ addiu $at,$zero,0x1c -/* f09131c: e7a4018c */ swc1 $f4,0x18c($sp) -/* f091320: c4660004 */ lwc1 $f6,0x4($v1) -/* f091324: 240f0001 */ addiu $t7,$zero,0x1 -/* f091328: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09132c: e7a60190 */ swc1 $f6,0x190($sp) -/* f091330: c4680008 */ lwc1 $f8,0x8($v1) -/* f091334: afae0054 */ sw $t6,0x54($sp) -/* f091338: 15c1000b */ bne $t6,$at,.L0f091368 -/* f09133c: e7a80194 */ swc1 $f8,0x194($sp) -/* f091340: 3c014220 */ lui $at,0x4220 -/* f091344: 44818000 */ mtc1 $at,$f16 -/* f091348: c7aa0190 */ lwc1 $f10,0x190($sp) -/* f09134c: 2418ffff */ addiu $t8,$zero,-1 -/* f091350: 24190001 */ addiu $t9,$zero,0x1 -/* f091354: 46105481 */ sub.s $f18,$f10,$f16 -/* f091358: a3af01c7 */ sb $t7,0x1c7($sp) -/* f09135c: a3b80198 */ sb $t8,0x198($sp) -/* f091360: a3b90187 */ sb $t9,0x187($sp) -/* f091364: e7b20190 */ swc1 $f18,0x190($sp) -.L0f091368: -/* f091368: 8fa80204 */ lw $t0,0x204($sp) -/* f09136c: 5100008d */ beqzl $t0,.L0f0915a4 -/* f091370: 8fa20214 */ lw $v0,0x214($sp) -/* f091374: 8d090008 */ lw $t1,0x8($t0) -/* f091378: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f09137c: 8fab0054 */ lw $t3,0x54($sp) -/* f091380: 012a082a */ slt $at,$t1,$t2 -/* f091384: 10200086 */ beqz $at,.L0f0915a0 -/* f091388: 2401002b */ addiu $at,$zero,0x2b -/* f09138c: 11610028 */ beq $t3,$at,.L0f091430 -/* f091390: 8fa40200 */ lw $a0,0x200($sp) -/* f091394: 24010059 */ addiu $at,$zero,0x59 -/* f091398: 11610006 */ beq $t3,$at,.L0f0913b4 -/* f09139c: 8fa40200 */ lw $a0,0x200($sp) -/* f0913a0: 2401005a */ addiu $at,$zero,0x5a -/* f0913a4: 11610043 */ beq $t3,$at,.L0f0914b4 -/* f0913a8: 8fa40200 */ lw $a0,0x200($sp) -/* f0913ac: 1000005f */ b .L0f09152c -/* f0913b0: 8fa40200 */ lw $a0,0x200($sp) -.L0f0913b4: -/* f0913b4: 24050007 */ addiu $a1,$zero,0x7 -/* f0913b8: 0fc249af */ jal func0f0926bc -/* f0913bc: 3406ffff */ dli $a2,0xffff -/* f0913c0: 3c01bf80 */ lui $at,0xbf80 -/* f0913c4: 44810000 */ mtc1 $at,$f0 -/* f0913c8: 240cffff */ addiu $t4,$zero,-1 -/* f0913cc: 240d0007 */ addiu $t5,$zero,0x7 -/* f0913d0: 240effff */ addiu $t6,$zero,-1 -/* f0913d4: afae002c */ sw $t6,0x2c($sp) -/* f0913d8: afad001c */ sw $t5,0x1c($sp) -/* f0913dc: afac0010 */ sw $t4,0x10($sp) -/* f0913e0: 00002025 */ or $a0,$zero,$zero -/* f0913e4: 8fa50200 */ lw $a1,0x200($sp) -/* f0913e8: 2406810e */ addiu $a2,$zero,-32498 -/* f0913ec: 2407ffff */ addiu $a3,$zero,-1 -/* f0913f0: afa00014 */ sw $zero,0x14($sp) -/* f0913f4: afa00018 */ sw $zero,0x18($sp) -/* f0913f8: afa00020 */ sw $zero,0x20($sp) -/* f0913fc: afa00028 */ sw $zero,0x28($sp) -/* f091400: e7a00024 */ swc1 $f0,0x24($sp) -/* f091404: e7a00030 */ swc1 $f0,0x30($sp) -/* f091408: e7a00034 */ swc1 $f0,0x34($sp) -/* f09140c: 0fc24e7e */ jal func0f0939f8 -/* f091410: e7a00038 */ swc1 $f0,0x38($sp) -/* f091414: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091418: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f09141c: 8fb90204 */ lw $t9,0x204($sp) -/* f091420: 25f80004 */ addiu $t8,$t7,0x4 -/* f091424: af380008 */ sw $t8,0x8($t9) -/* f091428: 1000005d */ b .L0f0915a0 -/* f09142c: 8fa30208 */ lw $v1,0x208($sp) -.L0f091430: -/* f091430: 24050001 */ addiu $a1,$zero,0x1 -/* f091434: 0fc249af */ jal func0f0926bc -/* f091438: 3406ffff */ dli $a2,0xffff -/* f09143c: 3c01bf80 */ lui $at,0xbf80 -/* f091440: 44812000 */ mtc1 $at,$f4 -/* f091444: 44813000 */ mtc1 $at,$f6 -/* f091448: 44814000 */ mtc1 $at,$f8 -/* f09144c: 44815000 */ mtc1 $at,$f10 -/* f091450: 2408ffff */ addiu $t0,$zero,-1 -/* f091454: 2409ffff */ addiu $t1,$zero,-1 -/* f091458: afa9002c */ sw $t1,0x2c($sp) -/* f09145c: afa80010 */ sw $t0,0x10($sp) -/* f091460: 00002025 */ or $a0,$zero,$zero -/* f091464: 8fa50200 */ lw $a1,0x200($sp) -/* f091468: 2406805a */ addiu $a2,$zero,-32678 -/* f09146c: 2407ffff */ addiu $a3,$zero,-1 -/* f091470: afa00014 */ sw $zero,0x14($sp) -/* f091474: afa00018 */ sw $zero,0x18($sp) -/* f091478: afa0001c */ sw $zero,0x1c($sp) -/* f09147c: afa00020 */ sw $zero,0x20($sp) -/* f091480: afa00028 */ sw $zero,0x28($sp) -/* f091484: e7a40024 */ swc1 $f4,0x24($sp) -/* f091488: e7a60030 */ swc1 $f6,0x30($sp) -/* f09148c: e7a80034 */ swc1 $f8,0x34($sp) -/* f091490: 0fc24e7e */ jal func0f0939f8 -/* f091494: e7aa0038 */ swc1 $f10,0x38($sp) -/* f091498: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09149c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f0914a0: 8fac0204 */ lw $t4,0x204($sp) -/* f0914a4: 254b0002 */ addiu $t3,$t2,0x2 -/* f0914a8: ad8b0008 */ sw $t3,0x8($t4) -/* f0914ac: 1000003c */ b .L0f0915a0 -/* f0914b0: 8fa30208 */ lw $v1,0x208($sp) -.L0f0914b4: -/* f0914b4: 24050001 */ addiu $a1,$zero,0x1 -/* f0914b8: 0fc249af */ jal func0f0926bc -/* f0914bc: 3406ffff */ dli $a2,0xffff -/* f0914c0: 3c01bf80 */ lui $at,0xbf80 -/* f0914c4: 44810000 */ mtc1 $at,$f0 -/* f0914c8: 240dffff */ addiu $t5,$zero,-1 -/* f0914cc: 240effff */ addiu $t6,$zero,-1 -/* f0914d0: afae002c */ sw $t6,0x2c($sp) -/* f0914d4: afad0010 */ sw $t5,0x10($sp) -/* f0914d8: 00002025 */ or $a0,$zero,$zero -/* f0914dc: 8fa50200 */ lw $a1,0x200($sp) -/* f0914e0: 24068043 */ addiu $a2,$zero,-32701 -/* f0914e4: 2407ffff */ addiu $a3,$zero,-1 -/* f0914e8: afa00014 */ sw $zero,0x14($sp) -/* f0914ec: afa00018 */ sw $zero,0x18($sp) -/* f0914f0: afa0001c */ sw $zero,0x1c($sp) -/* f0914f4: afa00020 */ sw $zero,0x20($sp) -/* f0914f8: afa00028 */ sw $zero,0x28($sp) -/* f0914fc: e7a00024 */ swc1 $f0,0x24($sp) -/* f091500: e7a00030 */ swc1 $f0,0x30($sp) -/* f091504: e7a00034 */ swc1 $f0,0x34($sp) -/* f091508: 0fc24e7e */ jal func0f0939f8 -/* f09150c: e7a00038 */ swc1 $f0,0x38($sp) -/* f091510: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091514: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f091518: 8fb90204 */ lw $t9,0x204($sp) -/* f09151c: 25f80008 */ addiu $t8,$t7,0x8 -/* f091520: af380008 */ sw $t8,0x8($t9) -/* f091524: 1000001e */ b .L0f0915a0 -/* f091528: 8fa30208 */ lw $v1,0x208($sp) -.L0f09152c: -/* f09152c: 24050001 */ addiu $a1,$zero,0x1 -/* f091530: 0fc249af */ jal func0f0926bc -/* f091534: 3406ffff */ dli $a2,0xffff -/* f091538: 3c01bf80 */ lui $at,0xbf80 -/* f09153c: 44810000 */ mtc1 $at,$f0 -/* f091540: 2408ffff */ addiu $t0,$zero,-1 -/* f091544: 2409ffff */ addiu $t1,$zero,-1 -/* f091548: afa9002c */ sw $t1,0x2c($sp) -/* f09154c: afa80010 */ sw $t0,0x10($sp) -/* f091550: 00002025 */ or $a0,$zero,$zero -/* f091554: 8fa50200 */ lw $a1,0x200($sp) -/* f091558: 24068045 */ addiu $a2,$zero,-32699 -/* f09155c: 2407ffff */ addiu $a3,$zero,-1 -/* f091560: afa00014 */ sw $zero,0x14($sp) -/* f091564: afa00018 */ sw $zero,0x18($sp) -/* f091568: afa0001c */ sw $zero,0x1c($sp) -/* f09156c: afa00020 */ sw $zero,0x20($sp) -/* f091570: afa00028 */ sw $zero,0x28($sp) -/* f091574: e7a00024 */ swc1 $f0,0x24($sp) -/* f091578: e7a00030 */ swc1 $f0,0x30($sp) -/* f09157c: e7a00034 */ swc1 $f0,0x34($sp) -/* f091580: 0fc24e7e */ jal func0f0939f8 -/* f091584: e7a00038 */ swc1 $f0,0x38($sp) -/* f091588: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09158c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f091590: 8fac0204 */ lw $t4,0x204($sp) -/* f091594: 254b0002 */ addiu $t3,$t2,0x2 -/* f091598: ad8b0008 */ sw $t3,0x8($t4) -/* f09159c: 8fa30208 */ lw $v1,0x208($sp) -.L0f0915a0: -/* f0915a0: 8fa20214 */ lw $v0,0x214($sp) -.L0f0915a4: -/* f0915a4: 8fa6020c */ lw $a2,0x20c($sp) -/* f0915a8: 3c014e00 */ lui $at,0x4e00 -/* f0915ac: 1040001d */ beqz $v0,.L0f091624 -/* f0915b0: 3c198007 */ lui $t9,%hi(var8006ae04) -/* f0915b4: 3c014170 */ lui $at,0x4170 -/* f0915b8: 44817000 */ mtc1 $at,$f14 -/* f0915bc: c4c60000 */ lwc1 $f6,0x0($a2) -/* f0915c0: c4500008 */ lwc1 $f16,0x8($v0) -/* f0915c4: c4720000 */ lwc1 $f18,0x0($v1) -/* f0915c8: 460e3202 */ mul.s $f8,$f6,$f14 -/* f0915cc: c4c60004 */ lwc1 $f6,0x4($a2) -/* f0915d0: 46128101 */ sub.s $f4,$f16,$f18 -/* f0915d4: c4700004 */ lwc1 $f16,0x4($v1) -/* f0915d8: c44a000c */ lwc1 $f10,0xc($v0) -/* f0915dc: 46082001 */ sub.s $f0,$f4,$f8 -/* f0915e0: 460e3102 */ mul.s $f4,$f6,$f14 -/* f0915e4: c4c60008 */ lwc1 $f6,0x8($a2) -/* f0915e8: 46105481 */ sub.s $f18,$f10,$f16 -/* f0915ec: c46a0008 */ lwc1 $f10,0x8($v1) -/* f0915f0: c4480010 */ lwc1 $f8,0x10($v0) -/* f0915f4: 46049081 */ sub.s $f2,$f18,$f4 -/* f0915f8: 460e3482 */ mul.s $f18,$f6,$f14 -/* f0915fc: 460a4401 */ sub.s $f16,$f8,$f10 -/* f091600: 46000102 */ mul.s $f4,$f0,$f0 -/* f091604: 00000000 */ nop -/* f091608: 46021202 */ mul.s $f8,$f2,$f2 -/* f09160c: 46128301 */ sub.s $f12,$f16,$f18 -/* f091610: 460c6182 */ mul.s $f6,$f12,$f12 -/* f091614: 46082280 */ add.s $f10,$f4,$f8 -/* f091618: 46065400 */ add.s $f16,$f10,$f6 -/* f09161c: 10000004 */ b .L0f091630 -/* f091620: e7b001dc */ swc1 $f16,0x1dc($sp) -.L0f091624: -/* f091624: 44819000 */ mtc1 $at,$f18 -/* f091628: 8fa6020c */ lw $a2,0x20c($sp) -/* f09162c: e7b201dc */ swc1 $f18,0x1dc($sp) -.L0f091630: -/* f091630: 8fad0054 */ lw $t5,0x54($sp) -/* f091634: 24010018 */ addiu $at,$zero,0x18 -/* f091638: 8fae0200 */ lw $t6,0x200($sp) -/* f09163c: 15a1006d */ bne $t5,$at,.L0f0917f4 -/* f091640: 00000000 */ nop -/* f091644: 0fc1eb7d */ jal chopperFromHovercar -/* f091648: 8dc40004 */ lw $a0,0x4($t6) -/* f09164c: 104001c9 */ beqz $v0,.L0f091d74 -/* f091650: 3c017f1b */ lui $at,%hi(var7f1ab20c) -/* f091654: c424b20c */ lwc1 $f4,%lo(var7f1ab20c)($at) -/* f091658: c7a801dc */ lwc1 $f8,0x1dc($sp) -/* f09165c: 4608203c */ c.lt.s $f4,$f8 -/* f091660: 00000000 */ nop -/* f091664: 450201c4 */ bc1fl .L0f091d78 -/* f091668: 8fbf0044 */ lw $ra,0x44($sp) -/* f09166c: c44a0080 */ lwc1 $f10,0x80($v0) -/* f091670: 2404011f */ addiu $a0,$zero,0x11f -/* f091674: 24050053 */ addiu $a1,$zero,0x53 -/* f091678: e7aa009c */ swc1 $f10,0x9c($sp) -/* f09167c: c446007c */ lwc1 $f6,0x7c($v0) -/* f091680: 00003025 */ or $a2,$zero,$zero -/* f091684: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f091688: e7a60098 */ swc1 $f6,0x98($sp) -/* f09168c: 104001b9 */ beqz $v0,.L0f091d74 -/* f091690: afa2017c */ sw $v0,0x17c($sp) -/* f091694: 0c00566c */ jal mtx4LoadIdentity -/* f091698: 27a4013c */ addiu $a0,$sp,0x13c -/* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) -/* f0916a0: 0c0058ba */ jal mtx4LoadXRotation -/* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f0916ac: 0c0058dd */ jal mtx4LoadYRotation -/* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 -/* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 -/* f0916b8: 0c0056f8 */ jal mtx00015be0 -/* f0916bc: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916c0: 8fa3020c */ lw $v1,0x20c($sp) -/* f0916c4: 3c017f1b */ lui $at,%hi(var7f1ab210) -/* f0916c8: c422b210 */ lwc1 $f2,%lo(var7f1ab210)($at) -/* f0916cc: c4700000 */ lwc1 $f16,0x0($v1) -/* f0916d0: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f0916d4: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) -/* f0916d8: 46028482 */ mul.s $f18,$f16,$f2 -/* f0916dc: 8fa20200 */ lw $v0,0x200($sp) -/* f0916e0: 8fa50208 */ lw $a1,0x208($sp) -/* f0916e4: 27af0130 */ addiu $t7,$sp,0x130 -/* f0916e8: 27b8013c */ addiu $t8,$sp,0x13c -/* f0916ec: 8fa4017c */ lw $a0,0x17c($sp) -/* f0916f0: 27a700e0 */ addiu $a3,$sp,0xe0 -/* f0916f4: e7b20120 */ swc1 $f18,0x120($sp) -/* f0916f8: c4640004 */ lwc1 $f4,0x4($v1) -/* f0916fc: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091700: 24460028 */ addiu $a2,$v0,0x28 -/* f091704: 46022202 */ mul.s $f8,$f4,$f2 -/* f091708: e7a80124 */ swc1 $f8,0x124($sp) -/* f09170c: c46a0008 */ lwc1 $f10,0x8($v1) -/* f091710: c7a40124 */ lwc1 $f4,0x124($sp) -/* f091714: afb80014 */ sw $t8,0x14($sp) -/* f091718: 46025182 */ mul.s $f6,$f10,$f2 -/* f09171c: afaf0010 */ sw $t7,0x10($sp) -/* f091720: afa20018 */ sw $v0,0x18($sp) -/* f091724: 46008482 */ mul.s $f18,$f16,$f0 -/* f091728: afa5001c */ sw $a1,0x1c($sp) -/* f09172c: 46002202 */ mul.s $f8,$f4,$f0 -/* f091730: e7a60128 */ swc1 $f6,0x128($sp) -/* f091734: c7aa0128 */ lwc1 $f10,0x128($sp) -/* f091738: e7b20130 */ swc1 $f18,0x130($sp) -/* f09173c: 46005182 */ mul.s $f6,$f10,$f0 -/* f091740: e7a80134 */ swc1 $f8,0x134($sp) -/* f091744: 0fc27af3 */ jal bgun0f09ebcc -/* f091748: e7a60138 */ swc1 $f6,0x138($sp) -/* f09174c: 8fa3017c */ lw $v1,0x17c($sp) -/* f091750: 8c790040 */ lw $t9,0x40($v1) -/* f091754: 33280080 */ andi $t0,$t9,0x80 -/* f091758: 51000187 */ beqzl $t0,.L0f091d78 -/* f09175c: 8fbf0044 */ lw $ra,0x44($sp) -/* f091760: 8c620048 */ lw $v0,0x48($v1) -/* f091764: 2409ffff */ addiu $t1,$zero,-1 -/* f091768: a4690062 */ sh $t1,0x62($v1) -/* f09176c: 8c4a0000 */ lw $t2,0x0($v0) -/* f091770: 3c01bf80 */ lui $at,0xbf80 -/* f091774: 44810000 */ mtc1 $at,$f0 -/* f091778: 354b0010 */ ori $t3,$t2,0x10 -/* f09177c: ac4b0000 */ sw $t3,0x0($v0) -/* f091780: 8c6c0048 */ lw $t4,0x48($v1) -/* f091784: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091788: 240fffff */ addiu $t7,$zero,-1 -/* f09178c: 2418ffff */ addiu $t8,$zero,-1 -/* f091790: e5900010 */ swc1 $f16,0x10($t4) -/* f091794: 8c6d0048 */ lw $t5,0x48($v1) -/* f091798: c7b20124 */ lwc1 $f18,0x124($sp) -/* f09179c: 00002025 */ or $a0,$zero,$zero -/* f0917a0: 24068053 */ addiu $a2,$zero,-32685 -/* f0917a4: e5b20014 */ swc1 $f18,0x14($t5) -/* f0917a8: 8c6e0048 */ lw $t6,0x48($v1) -/* f0917ac: c7a40128 */ lwc1 $f4,0x128($sp) -/* f0917b0: 2407ffff */ addiu $a3,$zero,-1 -/* f0917b4: e5c40018 */ swc1 $f4,0x18($t6) -/* f0917b8: 8c650014 */ lw $a1,0x14($v1) -/* f0917bc: afb8002c */ sw $t8,0x2c($sp) -/* f0917c0: afa00028 */ sw $zero,0x28($sp) -/* f0917c4: afa00020 */ sw $zero,0x20($sp) -/* f0917c8: afa0001c */ sw $zero,0x1c($sp) -/* f0917cc: afa00018 */ sw $zero,0x18($sp) -/* f0917d0: afa00014 */ sw $zero,0x14($sp) -/* f0917d4: afaf0010 */ sw $t7,0x10($sp) -/* f0917d8: e7a00038 */ swc1 $f0,0x38($sp) -/* f0917dc: e7a00034 */ swc1 $f0,0x34($sp) -/* f0917e0: e7a00030 */ swc1 $f0,0x30($sp) -/* f0917e4: 0fc24e7e */ jal func0f0939f8 -/* f0917e8: e7a00024 */ swc1 $f0,0x24($sp) -/* f0917ec: 10000162 */ b .L0f091d78 -/* f0917f0: 8fbf0044 */ lw $ra,0x44($sp) -.L0f0917f4: -/* f0917f4: 8f39ae04 */ lw $t9,%lo(var8006ae04)($t9) -/* f0917f8: 93a80213 */ lbu $t0,0x213($sp) -/* f0917fc: 3c014780 */ lui $at,0x4780 -/* f091800: afb90094 */ sw $t9,0x94($sp) -/* f091804: a3a80094 */ sb $t0,0x94($sp) -/* f091808: 44810000 */ mtc1 $at,$f0 -/* f09180c: c4c80000 */ lwc1 $f8,0x0($a2) -/* f091810: c4660000 */ lwc1 $f6,0x0($v1) -/* f091814: 8fa40200 */ lw $a0,0x200($sp) -/* f091818: 46004282 */ mul.s $f10,$f8,$f0 -/* f09181c: 00002825 */ or $a1,$zero,$zero -/* f091820: 46065400 */ add.s $f16,$f10,$f6 -/* f091824: e7b001f0 */ swc1 $f16,0x1f0($sp) -/* f091828: c4d20004 */ lwc1 $f18,0x4($a2) -/* f09182c: c4680004 */ lwc1 $f8,0x4($v1) -/* f091830: 46009102 */ mul.s $f4,$f18,$f0 -/* f091834: 46082280 */ add.s $f10,$f4,$f8 -/* f091838: e7aa01f4 */ swc1 $f10,0x1f4($sp) -/* f09183c: c4c60008 */ lwc1 $f6,0x8($a2) -/* f091840: c4720008 */ lwc1 $f18,0x8($v1) -/* f091844: 46003402 */ mul.s $f16,$f6,$f0 -/* f091848: 46128100 */ add.s $f4,$f16,$f18 -/* f09184c: 0fc1905e */ jal propSetPerimEnabled -/* f091850: e7a401f8 */ swc1 $f4,0x1f8($sp) -/* f091854: 8fa50200 */ lw $a1,0x200($sp) -/* f091858: 24090010 */ addiu $t1,$zero,0x10 -/* f09185c: afa90010 */ sw $t1,0x10($sp) -/* f091860: 24a50028 */ addiu $a1,$a1,0x28 -/* f091864: afa50050 */ sw $a1,0x50($sp) -/* f091868: 8fa40208 */ lw $a0,0x208($sp) -/* f09186c: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091870: 0c00b764 */ jal cdTestAToB4 -/* f091874: 2407003b */ addiu $a3,$zero,0x3b -/* f091878: 1440000a */ bnez $v0,.L0f0918a4 -/* f09187c: 240a0001 */ addiu $t2,$zero,0x1 -/* f091880: 3c067f1b */ lui $a2,%hi(var7f1aa1c0) -/* f091884: afaa01fc */ sw $t2,0x1fc($sp) -/* f091888: 24c6a1c0 */ addiu $a2,$a2,%lo(var7f1aa1c0) -/* f09188c: 27a401f0 */ addiu $a0,$sp,0x1f0 -/* f091890: 0c0093af */ jal cdGetPos -/* f091894: 24055fa2 */ addiu $a1,$zero,0x6129 -/* f091898: 0c0093ac */ jal cdGetObstacle -/* f09189c: 00000000 */ nop -/* f0918a0: afa201d8 */ sw $v0,0x1d8($sp) -.L0f0918a4: -/* f0918a4: 8fa40200 */ lw $a0,0x200($sp) -/* f0918a8: 0fc1905e */ jal propSetPerimEnabled -/* f0918ac: 24050001 */ addiu $a1,$zero,0x1 -/* f0918b0: 8fab0208 */ lw $t3,0x208($sp) -/* f0918b4: 8fac0214 */ lw $t4,0x214($sp) -/* f0918b8: c7a801f0 */ lwc1 $f8,0x1f0($sp) -/* f0918bc: c7a601f4 */ lwc1 $f6,0x1f4($sp) -/* f0918c0: c7b201f8 */ lwc1 $f18,0x1f8($sp) -/* f0918c4: c56a0000 */ lwc1 $f10,0x0($t3) -/* f0918c8: c5700004 */ lwc1 $f16,0x4($t3) -/* f0918cc: c5640008 */ lwc1 $f4,0x8($t3) -/* f0918d0: 460a4001 */ sub.s $f0,$f8,$f10 -/* f0918d4: 46103081 */ sub.s $f2,$f6,$f16 -/* f0918d8: 1180007b */ beqz $t4,.L0f091ac8 -/* f0918dc: 46049301 */ sub.s $f12,$f18,$f4 -/* f0918e0: 46000202 */ mul.s $f8,$f0,$f0 -/* f0918e4: c7a401dc */ lwc1 $f4,0x1dc($sp) -/* f0918e8: 46021282 */ mul.s $f10,$f2,$f2 -/* f0918ec: 460a4180 */ add.s $f6,$f8,$f10 -/* f0918f0: 460c6402 */ mul.s $f16,$f12,$f12 -/* f0918f4: 46103480 */ add.s $f18,$f6,$f16 -/* f0918f8: 4612203e */ c.le.s $f4,$f18 -/* f0918fc: 00000000 */ nop -/* f091900: 45020072 */ bc1fl .L0f091acc -/* f091904: 8fae01fc */ lw $t6,0x1fc($sp) -/* f091908: 0c012974 */ jal sqrtf -/* f09190c: 46002306 */ mov.s $f12,$f4 -/* f091910: 8fa20214 */ lw $v0,0x214($sp) -/* f091914: 3c0141a0 */ lui $at,0x41a0 -/* f091918: 44813000 */ mtc1 $at,$f6 -/* f09191c: c4480008 */ lwc1 $f8,0x8($v0) -/* f091920: 8fa40208 */ lw $a0,0x208($sp) -/* f091924: 8fa5020c */ lw $a1,0x20c($sp) -/* f091928: e7a80084 */ swc1 $f8,0x84($sp) -/* f09192c: c44a000c */ lwc1 $f10,0xc($v0) -/* f091930: 27a60084 */ addiu $a2,$sp,0x84 -/* f091934: 3c0741f0 */ lui $a3,0x41f0 -/* f091938: 46065401 */ sub.s $f16,$f10,$f6 -/* f09193c: e7b00088 */ swc1 $f16,0x88($sp) -/* f091940: c4520010 */ lwc1 $f18,0x10($v0) -/* f091944: e7a00090 */ swc1 $f0,0x90($sp) -/* f091948: 0fc1ace7 */ jal func0f06b39c -/* f09194c: e7b2008c */ swc1 $f18,0x8c($sp) -/* f091950: 1040005d */ beqz $v0,.L0f091ac8 -/* f091954: c7a20090 */ lwc1 $f2,0x90($sp) -/* f091958: 3c014348 */ lui $at,0x4348 -/* f09195c: 44816000 */ mtc1 $at,$f12 -/* f091960: 3c017f1b */ lui $at,%hi(var7f1ab214) -/* f091964: c424b214 */ lwc1 $f4,%lo(var7f1ab214)($at) -/* f091968: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f09196c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at) -/* f091970: 8fad0204 */ lw $t5,0x204($sp) -/* f091974: 4602603c */ c.lt.s $f12,$f2 -/* f091978: 46082282 */ mul.s $f10,$f4,$f8 -/* f09197c: c5a6000c */ lwc1 $f6,0xc($t5) -/* f091980: 8fae0204 */ lw $t6,0x204($sp) -/* f091984: 46065002 */ mul.s $f0,$f10,$f6 -/* f091988: 45020005 */ bc1fl .L0f0919a0 -/* f09198c: c5d20014 */ lwc1 $f18,0x14($t6) -/* f091990: 46026403 */ div.s $f16,$f12,$f2 -/* f091994: 46100002 */ mul.s $f0,$f0,$f16 -/* f091998: 00000000 */ nop -/* f09199c: c5d20014 */ lwc1 $f18,0x14($t6) -.L0f0919a0: -/* f0919a0: 3c013f80 */ lui $at,0x3f80 -/* f0919a4: 44814000 */ mtc1 $at,$f8 -/* f0919a8: 46009100 */ add.s $f4,$f18,$f0 -/* f0919ac: 4604403e */ c.le.s $f8,$f4 -/* f0919b0: e5c40014 */ swc1 $f4,0x14($t6) -/* f0919b4: 8fa20214 */ lw $v0,0x214($sp) -/* f0919b8: 45020044 */ bc1fl .L0f091acc -/* f0919bc: 8fae01fc */ lw $t6,0x1fc($sp) -/* f0919c0: afa001fc */ sw $zero,0x1fc($sp) -/* f0919c4: c44a0008 */ lwc1 $f10,0x8($v0) -/* f0919c8: e7aa01f0 */ swc1 $f10,0x1f0($sp) -/* f0919cc: c446000c */ lwc1 $f6,0xc($v0) -/* f0919d0: e7a601f4 */ swc1 $f6,0x1f4($sp) -/* f0919d4: c4500010 */ lwc1 $f16,0x10($v0) -/* f0919d8: 0c004b70 */ jal random -/* f0919dc: e7b001f8 */ swc1 $f16,0x1f8($sp) -/* f0919e0: 304f0001 */ andi $t7,$v0,0x1 -/* f0919e4: 11e00012 */ beqz $t7,.L0f091a30 -/* f0919e8: 00000000 */ nop -/* f0919ec: 0c004b70 */ jal random -/* f0919f0: 00000000 */ nop -/* f0919f4: 2401000a */ addiu $at,$zero,0xa -/* f0919f8: 0041001b */ divu $zero,$v0,$at -/* f0919fc: 0000c010 */ mfhi $t8 -/* f091a00: 27190002 */ addiu $t9,$t8,0x2 -/* f091a04: 44992000 */ mtc1 $t9,$f4 -/* f091a08: c7b201f4 */ lwc1 $f18,0x1f4($sp) -/* f091a0c: 07210005 */ bgez $t9,.L0f091a24 -/* f091a10: 46802220 */ cvt.s.w $f8,$f4 -/* f091a14: 3c014f80 */ lui $at,0x4f80 -/* f091a18: 44815000 */ mtc1 $at,$f10 -/* f091a1c: 00000000 */ nop -/* f091a20: 460a4200 */ add.s $f8,$f8,$f10 -.L0f091a24: -/* f091a24: 46089180 */ add.s $f6,$f18,$f8 -/* f091a28: 10000011 */ b .L0f091a70 -/* f091a2c: e7a601f4 */ swc1 $f6,0x1f4($sp) -.L0f091a30: -/* f091a30: 0c004b70 */ jal random -/* f091a34: 00000000 */ nop -/* f091a38: 2401000a */ addiu $at,$zero,0xa -/* f091a3c: 0041001b */ divu $zero,$v0,$at -/* f091a40: 00004010 */ mfhi $t0 -/* f091a44: 25090002 */ addiu $t1,$t0,0x2 -/* f091a48: 44892000 */ mtc1 $t1,$f4 -/* f091a4c: c7b001f4 */ lwc1 $f16,0x1f4($sp) -/* f091a50: 05210005 */ bgez $t1,.L0f091a68 -/* f091a54: 468022a0 */ cvt.s.w $f10,$f4 -/* f091a58: 3c014f80 */ lui $at,0x4f80 -/* f091a5c: 44819000 */ mtc1 $at,$f18 -/* f091a60: 00000000 */ nop -/* f091a64: 46125280 */ add.s $f10,$f10,$f18 -.L0f091a68: -/* f091a68: 460a8201 */ sub.s $f8,$f16,$f10 -/* f091a6c: e7a801f4 */ swc1 $f8,0x1f4($sp) -.L0f091a70: -/* f091a70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a74: 8fa50214 */ lw $a1,0x214($sp) -/* f091a78: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091a7c: 2406ffff */ addiu $a2,$zero,-1 -/* f091a80: 0fc2c74a */ jal gsetGetDamage -/* f091a84: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a88: 8fab0204 */ lw $t3,0x204($sp) -/* f091a8c: 8faa0214 */ lw $t2,0x214($sp) -/* f091a90: 240c00c8 */ addiu $t4,$zero,0xc8 -/* f091a94: c5660010 */ lwc1 $f6,0x10($t3) -/* f091a98: 8d440004 */ lw $a0,0x4($t2) -/* f091a9c: afac0014 */ sw $t4,0x14($sp) -/* f091aa0: 46060102 */ mul.s $f4,$f0,$f6 -/* f091aa4: afa00010 */ sw $zero,0x10($sp) -/* f091aa8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091aac: 27a70094 */ addiu $a3,$sp,0x94 -/* f091ab0: 44052000 */ mfc1 $a1,$f4 -/* f091ab4: 0fc0d0cc */ jal chrDamageByImpact -/* f091ab8: 00000000 */ nop -/* f091abc: 44809000 */ mtc1 $zero,$f18 -/* f091ac0: 8fad0204 */ lw $t5,0x204($sp) -/* f091ac4: e5b20014 */ swc1 $f18,0x14($t5) -.L0f091ac8: -/* f091ac8: 8fae01fc */ lw $t6,0x1fc($sp) -.L0f091acc: -/* f091acc: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091ad0: 51c00093 */ beqzl $t6,.L0f091d20 -/* f091ad4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ad8: 11e0007d */ beqz $t7,.L0f091cd0 -/* f091adc: 8fa40208 */ lw $a0,0x208($sp) -/* f091ae0: 91e20000 */ lbu $v0,0x0($t7) -/* f091ae4: 24010003 */ addiu $at,$zero,0x3 -/* f091ae8: 2418ffff */ addiu $t8,$zero,-1 -/* f091aec: 10410004 */ beq $v0,$at,.L0f091b00 -/* f091af0: 241900c8 */ addiu $t9,$zero,0xc8 -/* f091af4: 24010006 */ addiu $at,$zero,0x6 -/* f091af8: 54410040 */ bnel $v0,$at,.L0f091bfc -/* f091afc: 24010001 */ addiu $at,$zero,0x1 -.L0f091b00: -/* f091b00: 8fa801d8 */ lw $t0,0x1d8($sp) -/* f091b04: 8faa0054 */ lw $t2,0x54($sp) -/* f091b08: afa0007c */ sw $zero,0x7c($sp) -/* f091b0c: afa00078 */ sw $zero,0x78($sp) -/* f091b10: afb80074 */ sw $t8,0x74($sp) -/* f091b14: afb90070 */ sw $t9,0x70($sp) -/* f091b18: 8d090004 */ lw $t1,0x4($t0) -/* f091b1c: 24010059 */ addiu $at,$zero,0x59 -/* f091b20: 11410005 */ beq $t2,$at,.L0f091b38 -/* f091b24: afa9006c */ sw $t1,0x6c($sp) -/* f091b28: 27a40094 */ addiu $a0,$sp,0x94 -/* f091b2c: 01002825 */ or $a1,$t0,$zero -/* f091b30: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091b34: 2406ffff */ addiu $a2,$zero,-1 -.L0f091b38: -/* f091b38: 8fab006c */ lw $t3,0x6c($sp) -/* f091b3c: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091b40: 8fa6020c */ lw $a2,0x20c($sp) -/* f091b44: 8d6c0020 */ lw $t4,0x20($t3) -/* f091b48: 27a7007c */ addiu $a3,$sp,0x7c -/* f091b4c: 27ad0070 */ addiu $t5,$sp,0x70 -/* f091b50: 11800007 */ beqz $t4,.L0f091b70 -/* f091b54: 01602025 */ or $a0,$t3,$zero -/* f091b58: 27ae0078 */ addiu $t6,$sp,0x78 -/* f091b5c: 27af0074 */ addiu $t7,$sp,0x74 -/* f091b60: afaf0018 */ sw $t7,0x18($sp) -/* f091b64: afae0014 */ sw $t6,0x14($sp) -/* f091b68: 0fc0ffcb */ jal chrCalculateShieldHit -/* f091b6c: afad0010 */ sw $t5,0x10($sp) -.L0f091b70: -/* f091b70: 8fb8020c */ lw $t8,0x20c($sp) -/* f091b74: 8fa4006c */ lw $a0,0x6c($sp) -/* f091b78: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091b7c: 8fa60070 */ lw $a2,0x70($sp) -/* f091b80: 27a701f0 */ addiu $a3,$sp,0x1f0 -/* f091b84: afa00014 */ sw $zero,0x14($sp) -/* f091b88: 0fc097a9 */ jal chrEmitSparks -/* f091b8c: afb80010 */ sw $t8,0x10($sp) -/* f091b90: 93b90187 */ lbu $t9,0x187($sp) -/* f091b94: 8faa006c */ lw $t2,0x6c($sp) -/* f091b98: 13200002 */ beqz $t9,.L0f091ba4 -/* f091b9c: 24091388 */ addiu $t1,$zero,0x1046 -/* f091ba0: a54902d8 */ sh $t1,0x2d8($t2) -.L0f091ba4: -/* f091ba4: 0fc2c74a */ jal gsetGetDamage -/* f091ba8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091bac: 8fa80070 */ lw $t0,0x70($sp) -/* f091bb0: 8fac01d8 */ lw $t4,0x1d8($sp) -/* f091bb4: 8fab007c */ lw $t3,0x7c($sp) -/* f091bb8: 8fad0078 */ lw $t5,0x78($sp) -/* f091bbc: 8fae0074 */ lw $t6,0x74($sp) -/* f091bc0: 44050000 */ mfc1 $a1,$f0 -/* f091bc4: 8fa4006c */ lw $a0,0x6c($sp) -/* f091bc8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091bcc: 27a70094 */ addiu $a3,$sp,0x94 -/* f091bd0: afa00010 */ sw $zero,0x10($sp) -/* f091bd4: afa00028 */ sw $zero,0x28($sp) -/* f091bd8: afa80014 */ sw $t0,0x14($sp) -/* f091bdc: afac0018 */ sw $t4,0x18($sp) -/* f091be0: afab001c */ sw $t3,0x1c($sp) -/* f091be4: afad0020 */ sw $t5,0x20($sp) -/* f091be8: 0fc0d077 */ jal func0f0341dc -/* f091bec: afae0024 */ sw $t6,0x24($sp) -/* f091bf0: 1000004b */ b .L0f091d20 -/* f091bf4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091bf8: 24010001 */ addiu $at,$zero,0x1 -.L0f091bfc: -/* f091bfc: 10410006 */ beq $v0,$at,.L0f091c18 -/* f091c00: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091c04: 24010004 */ addiu $at,$zero,0x4 -/* f091c08: 10410003 */ beq $v0,$at,.L0f091c18 -/* f091c0c: 24010002 */ addiu $at,$zero,0x2 -/* f091c10: 54410043 */ bnel $v0,$at,.L0f091d20 -/* f091c14: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091c18: -/* f091c18: 8fb90054 */ lw $t9,0x54($sp) -/* f091c1c: 8df80004 */ lw $t8,0x4($t7) -/* f091c20: 24010059 */ addiu $at,$zero,0x59 -/* f091c24: 13210005 */ beq $t9,$at,.L0f091c3c -/* f091c28: afb80068 */ sw $t8,0x68($sp) -/* f091c2c: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c30: 01e02825 */ or $a1,$t7,$zero -/* f091c34: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091c38: 2406ffff */ addiu $a2,$zero,-1 -.L0f091c3c: -/* f091c3c: 8fa40208 */ lw $a0,0x208($sp) -/* f091c40: 8fa50050 */ lw $a1,0x50($sp) -/* f091c44: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c48: 0fc1979d */ jal func0f065e74 -/* f091c4c: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091c50: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091c54: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091c58: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c5c: 00003825 */ or $a3,$zero,$zero -/* f091c60: afa00010 */ sw $zero,0x10($sp) -/* f091c64: 0fc4be7c */ jal sparksCreate -/* f091c68: afa00014 */ sw $zero,0x14($sp) -/* f091c6c: 0fc2c74a */ jal gsetGetDamage -/* f091c70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c74: 8fa901d8 */ lw $t1,0x1d8($sp) -/* f091c78: 44050000 */ mfc1 $a1,$f0 -/* f091c7c: 240affff */ addiu $t2,$zero,-1 -/* f091c80: 8d240004 */ lw $a0,0x4($t1) -/* f091c84: afaa0010 */ sw $t2,0x10($sp) -/* f091c88: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c8c: 0fc2149c */ jal objTakeGunfire -/* f091c90: 8fa70054 */ lw $a3,0x54($sp) -/* f091c94: 8fa20068 */ lw $v0,0x68($sp) -/* f091c98: 24010008 */ addiu $at,$zero,0x8 -/* f091c9c: 90480003 */ lbu $t0,0x3($v0) -/* f091ca0: 5501001f */ bnel $t0,$at,.L0f091d20 -/* f091ca4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ca8: 904c005c */ lbu $t4,0x5c($v0) -/* f091cac: 2401000f */ addiu $at,$zero,0xf -/* f091cb0: 5581001b */ bnel $t4,$at,.L0f091d20 -/* f091cb4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cb8: 904b005f */ lbu $t3,0x5f($v0) -/* f091cbc: 24010001 */ addiu $at,$zero,0x1 -/* f091cc0: 55610017 */ bnel $t3,$at,.L0f091d20 -/* f091cc4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cc8: 10000014 */ b .L0f091d1c -/* f091ccc: a4400062 */ sh $zero,0x62($v0) -.L0f091cd0: -/* f091cd0: 8fa50050 */ lw $a1,0x50($sp) -/* f091cd4: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091cd8: 0fc1979d */ jal func0f065e74 -/* f091cdc: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091ce0: 8fad0054 */ lw $t5,0x54($sp) -/* f091ce4: 24010059 */ addiu $at,$zero,0x59 -/* f091ce8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091cec: 11a10004 */ beq $t5,$at,.L0f091d00 -/* f091cf0: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091cf4: 2406ffff */ addiu $a2,$zero,-1 -/* f091cf8: 0fc2a132 */ jal bgunPlayBgHitSound -/* f091cfc: 27a701c8 */ addiu $a3,$sp,0x1c8 -.L0f091d00: -/* f091d00: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091d04: 00002825 */ or $a1,$zero,$zero -/* f091d08: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091d0c: 00003825 */ or $a3,$zero,$zero -/* f091d10: afa00010 */ sw $zero,0x10($sp) -/* f091d14: 0fc4be7c */ jal sparksCreate -/* f091d18: afa00014 */ sw $zero,0x14($sp) -.L0f091d1c: -/* f091d1c: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091d20: -/* f091d20: 8fb80204 */ lw $t8,0x204($sp) -/* f091d24: 93af01c7 */ lbu $t7,0x1c7($sp) -/* f091d28: 15c00006 */ bnez $t6,.L0f091d44 -/* f091d2c: 93aa01c7 */ lbu $t2,0x1c7($sp) -/* f091d30: 53000011 */ beqzl $t8,.L0f091d78 -/* f091d34: 8fbf0044 */ lw $ra,0x44($sp) -/* f091d38: 93190001 */ lbu $t9,0x1($t8) -/* f091d3c: 5320000e */ beqzl $t9,.L0f091d78 -/* f091d40: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d44: -/* f091d44: 11e00003 */ beqz $t7,.L0f091d54 -/* f091d48: 27a6018c */ addiu $a2,$sp,0x18c -/* f091d4c: 10000003 */ b .L0f091d5c -/* f091d50: 27a40198 */ addiu $a0,$sp,0x198 -.L0f091d54: -/* f091d54: 8fa90204 */ lw $t1,0x204($sp) -/* f091d58: 8d240004 */ lw $a0,0x4($t1) -.L0f091d5c: -/* f091d5c: 11400003 */ beqz $t2,.L0f091d6c -/* f091d60: 8fa50054 */ lw $a1,0x54($sp) -/* f091d64: 10000001 */ b .L0f091d6c -/* f091d68: 24050002 */ addiu $a1,$zero,0x2 -.L0f091d6c: -/* f091d6c: 0fc2af9c */ jal beamCreate -/* f091d70: 27a701f0 */ addiu $a3,$sp,0x1f0 -.L0f091d74: -/* f091d74: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d78: -/* f091d78: 27bd0200 */ addiu $sp,$sp,0x200 -/* f091d7c: 03e00008 */ jr $ra -/* f091d80: 00000000 */ nop -); + cdGetPos(&endpos, 24883, "prop/propobj.c"); +#elif VERSION >= VERSION_PAL_FINAL + cdGetPos(&endpos, 24873, "prop/propobj.c"); +#elif VERSION >= VERSION_PAL_BETA + cdGetPos(&endpos, 24873, "propobj.c"); #elif VERSION >= VERSION_NTSC_1_0 -GLOBAL_ASM( -glabel projectileCreate -.late_rodata -glabel var7f1ab20c -.word 0x481c4000 -glabel var7f1ab210 -.word 0x3e8e38e3 -glabel var7f1ab214 -.word 0x3e23d70a -.text -/* f0912dc: 27bdfe00 */ addiu $sp,$sp,-512 -/* f0912e0: afbf0044 */ sw $ra,0x44($sp) -/* f0912e4: afa40200 */ sw $a0,0x200($sp) -/* f0912e8: afa50204 */ sw $a1,0x204($sp) -/* f0912ec: afa60208 */ sw $a2,0x208($sp) -/* f0912f0: 0fc5b364 */ jal lvIsPaused -/* f0912f4: afa7020c */ sw $a3,0x20c($sp) -/* f0912f8: 1440029e */ bnez $v0,.L0f091d74 -/* f0912fc: 8fa30208 */ lw $v1,0x208($sp) -/* f091300: afa001fc */ sw $zero,0x1fc($sp) -/* f091304: afa001d8 */ sw $zero,0x1d8($sp) -/* f091308: a3a001c7 */ sb $zero,0x1c7($sp) -/* f09130c: a3a00187 */ sb $zero,0x187($sp) -/* f091310: c4640000 */ lwc1 $f4,0x0($v1) -/* f091314: 93ae0213 */ lbu $t6,0x213($sp) -/* f091318: 2401001c */ addiu $at,$zero,0x1c -/* f09131c: e7a4018c */ swc1 $f4,0x18c($sp) -/* f091320: c4660004 */ lwc1 $f6,0x4($v1) -/* f091324: 240f0001 */ addiu $t7,$zero,0x1 -/* f091328: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09132c: e7a60190 */ swc1 $f6,0x190($sp) -/* f091330: c4680008 */ lwc1 $f8,0x8($v1) -/* f091334: afae0054 */ sw $t6,0x54($sp) -/* f091338: 15c1000b */ bne $t6,$at,.L0f091368 -/* f09133c: e7a80194 */ swc1 $f8,0x194($sp) -/* f091340: 3c014220 */ lui $at,0x4220 -/* f091344: 44818000 */ mtc1 $at,$f16 -/* f091348: c7aa0190 */ lwc1 $f10,0x190($sp) -/* f09134c: 2418ffff */ addiu $t8,$zero,-1 -/* f091350: 24190001 */ addiu $t9,$zero,0x1 -/* f091354: 46105481 */ sub.s $f18,$f10,$f16 -/* f091358: a3af01c7 */ sb $t7,0x1c7($sp) -/* f09135c: a3b80198 */ sb $t8,0x198($sp) -/* f091360: a3b90187 */ sb $t9,0x187($sp) -/* f091364: e7b20190 */ swc1 $f18,0x190($sp) -.L0f091368: -/* f091368: 8fa80204 */ lw $t0,0x204($sp) -/* f09136c: 5100008d */ beqzl $t0,.L0f0915a4 -/* f091370: 8fa20214 */ lw $v0,0x214($sp) -/* f091374: 8d090008 */ lw $t1,0x8($t0) -/* f091378: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f09137c: 8fab0054 */ lw $t3,0x54($sp) -/* f091380: 012a082a */ slt $at,$t1,$t2 -/* f091384: 10200086 */ beqz $at,.L0f0915a0 -/* f091388: 2401002b */ addiu $at,$zero,0x2b -/* f09138c: 11610028 */ beq $t3,$at,.L0f091430 -/* f091390: 8fa40200 */ lw $a0,0x200($sp) -/* f091394: 24010059 */ addiu $at,$zero,0x59 -/* f091398: 11610006 */ beq $t3,$at,.L0f0913b4 -/* f09139c: 8fa40200 */ lw $a0,0x200($sp) -/* f0913a0: 2401005a */ addiu $at,$zero,0x5a -/* f0913a4: 11610043 */ beq $t3,$at,.L0f0914b4 -/* f0913a8: 8fa40200 */ lw $a0,0x200($sp) -/* f0913ac: 1000005f */ b .L0f09152c -/* f0913b0: 8fa40200 */ lw $a0,0x200($sp) -.L0f0913b4: -/* f0913b4: 24050007 */ addiu $a1,$zero,0x7 -/* f0913b8: 0fc249af */ jal func0f0926bc -/* f0913bc: 3406ffff */ dli $a2,0xffff -/* f0913c0: 3c01bf80 */ lui $at,0xbf80 -/* f0913c4: 44810000 */ mtc1 $at,$f0 -/* f0913c8: 240cffff */ addiu $t4,$zero,-1 -/* f0913cc: 240d0007 */ addiu $t5,$zero,0x7 -/* f0913d0: 240effff */ addiu $t6,$zero,-1 -/* f0913d4: afae002c */ sw $t6,0x2c($sp) -/* f0913d8: afad001c */ sw $t5,0x1c($sp) -/* f0913dc: afac0010 */ sw $t4,0x10($sp) -/* f0913e0: 00002025 */ or $a0,$zero,$zero -/* f0913e4: 8fa50200 */ lw $a1,0x200($sp) -/* f0913e8: 2406810e */ addiu $a2,$zero,-32498 -/* f0913ec: 2407ffff */ addiu $a3,$zero,-1 -/* f0913f0: afa00014 */ sw $zero,0x14($sp) -/* f0913f4: afa00018 */ sw $zero,0x18($sp) -/* f0913f8: afa00020 */ sw $zero,0x20($sp) -/* f0913fc: afa00028 */ sw $zero,0x28($sp) -/* f091400: e7a00024 */ swc1 $f0,0x24($sp) -/* f091404: e7a00030 */ swc1 $f0,0x30($sp) -/* f091408: e7a00034 */ swc1 $f0,0x34($sp) -/* f09140c: 0fc24e7e */ jal func0f0939f8 -/* f091410: e7a00038 */ swc1 $f0,0x38($sp) -/* f091414: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091418: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f09141c: 8fb90204 */ lw $t9,0x204($sp) -/* f091420: 25f80004 */ addiu $t8,$t7,0x4 -/* f091424: af380008 */ sw $t8,0x8($t9) -/* f091428: 1000005d */ b .L0f0915a0 -/* f09142c: 8fa30208 */ lw $v1,0x208($sp) -.L0f091430: -/* f091430: 24050001 */ addiu $a1,$zero,0x1 -/* f091434: 0fc249af */ jal func0f0926bc -/* f091438: 3406ffff */ dli $a2,0xffff -/* f09143c: 3c01bf80 */ lui $at,0xbf80 -/* f091440: 44812000 */ mtc1 $at,$f4 -/* f091444: 44813000 */ mtc1 $at,$f6 -/* f091448: 44814000 */ mtc1 $at,$f8 -/* f09144c: 44815000 */ mtc1 $at,$f10 -/* f091450: 2408ffff */ addiu $t0,$zero,-1 -/* f091454: 2409ffff */ addiu $t1,$zero,-1 -/* f091458: afa9002c */ sw $t1,0x2c($sp) -/* f09145c: afa80010 */ sw $t0,0x10($sp) -/* f091460: 00002025 */ or $a0,$zero,$zero -/* f091464: 8fa50200 */ lw $a1,0x200($sp) -/* f091468: 2406805a */ addiu $a2,$zero,-32678 -/* f09146c: 2407ffff */ addiu $a3,$zero,-1 -/* f091470: afa00014 */ sw $zero,0x14($sp) -/* f091474: afa00018 */ sw $zero,0x18($sp) -/* f091478: afa0001c */ sw $zero,0x1c($sp) -/* f09147c: afa00020 */ sw $zero,0x20($sp) -/* f091480: afa00028 */ sw $zero,0x28($sp) -/* f091484: e7a40024 */ swc1 $f4,0x24($sp) -/* f091488: e7a60030 */ swc1 $f6,0x30($sp) -/* f09148c: e7a80034 */ swc1 $f8,0x34($sp) -/* f091490: 0fc24e7e */ jal func0f0939f8 -/* f091494: e7aa0038 */ swc1 $f10,0x38($sp) -/* f091498: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09149c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f0914a0: 8fac0204 */ lw $t4,0x204($sp) -/* f0914a4: 254b0002 */ addiu $t3,$t2,0x2 -/* f0914a8: ad8b0008 */ sw $t3,0x8($t4) -/* f0914ac: 1000003c */ b .L0f0915a0 -/* f0914b0: 8fa30208 */ lw $v1,0x208($sp) -.L0f0914b4: -/* f0914b4: 24050001 */ addiu $a1,$zero,0x1 -/* f0914b8: 0fc249af */ jal func0f0926bc -/* f0914bc: 3406ffff */ dli $a2,0xffff -/* f0914c0: 3c01bf80 */ lui $at,0xbf80 -/* f0914c4: 44810000 */ mtc1 $at,$f0 -/* f0914c8: 240dffff */ addiu $t5,$zero,-1 -/* f0914cc: 240effff */ addiu $t6,$zero,-1 -/* f0914d0: afae002c */ sw $t6,0x2c($sp) -/* f0914d4: afad0010 */ sw $t5,0x10($sp) -/* f0914d8: 00002025 */ or $a0,$zero,$zero -/* f0914dc: 8fa50200 */ lw $a1,0x200($sp) -/* f0914e0: 24068043 */ addiu $a2,$zero,-32701 -/* f0914e4: 2407ffff */ addiu $a3,$zero,-1 -/* f0914e8: afa00014 */ sw $zero,0x14($sp) -/* f0914ec: afa00018 */ sw $zero,0x18($sp) -/* f0914f0: afa0001c */ sw $zero,0x1c($sp) -/* f0914f4: afa00020 */ sw $zero,0x20($sp) -/* f0914f8: afa00028 */ sw $zero,0x28($sp) -/* f0914fc: e7a00024 */ swc1 $f0,0x24($sp) -/* f091500: e7a00030 */ swc1 $f0,0x30($sp) -/* f091504: e7a00034 */ swc1 $f0,0x34($sp) -/* f091508: 0fc24e7e */ jal func0f0939f8 -/* f09150c: e7a00038 */ swc1 $f0,0x38($sp) -/* f091510: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091514: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f091518: 8fb90204 */ lw $t9,0x204($sp) -/* f09151c: 25f80008 */ addiu $t8,$t7,0x8 -/* f091520: af380008 */ sw $t8,0x8($t9) -/* f091524: 1000001e */ b .L0f0915a0 -/* f091528: 8fa30208 */ lw $v1,0x208($sp) -.L0f09152c: -/* f09152c: 24050001 */ addiu $a1,$zero,0x1 -/* f091530: 0fc249af */ jal func0f0926bc -/* f091534: 3406ffff */ dli $a2,0xffff -/* f091538: 3c01bf80 */ lui $at,0xbf80 -/* f09153c: 44810000 */ mtc1 $at,$f0 -/* f091540: 2408ffff */ addiu $t0,$zero,-1 -/* f091544: 2409ffff */ addiu $t1,$zero,-1 -/* f091548: afa9002c */ sw $t1,0x2c($sp) -/* f09154c: afa80010 */ sw $t0,0x10($sp) -/* f091550: 00002025 */ or $a0,$zero,$zero -/* f091554: 8fa50200 */ lw $a1,0x200($sp) -/* f091558: 24068045 */ addiu $a2,$zero,-32699 -/* f09155c: 2407ffff */ addiu $a3,$zero,-1 -/* f091560: afa00014 */ sw $zero,0x14($sp) -/* f091564: afa00018 */ sw $zero,0x18($sp) -/* f091568: afa0001c */ sw $zero,0x1c($sp) -/* f09156c: afa00020 */ sw $zero,0x20($sp) -/* f091570: afa00028 */ sw $zero,0x28($sp) -/* f091574: e7a00024 */ swc1 $f0,0x24($sp) -/* f091578: e7a00030 */ swc1 $f0,0x30($sp) -/* f09157c: e7a00034 */ swc1 $f0,0x34($sp) -/* f091580: 0fc24e7e */ jal func0f0939f8 -/* f091584: e7a00038 */ swc1 $f0,0x38($sp) -/* f091588: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09158c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f091590: 8fac0204 */ lw $t4,0x204($sp) -/* f091594: 254b0002 */ addiu $t3,$t2,0x2 -/* f091598: ad8b0008 */ sw $t3,0x8($t4) -/* f09159c: 8fa30208 */ lw $v1,0x208($sp) -.L0f0915a0: -/* f0915a0: 8fa20214 */ lw $v0,0x214($sp) -.L0f0915a4: -/* f0915a4: 8fa6020c */ lw $a2,0x20c($sp) -/* f0915a8: 3c014e00 */ lui $at,0x4e00 -/* f0915ac: 1040001d */ beqz $v0,.L0f091624 -/* f0915b0: 3c198007 */ lui $t9,%hi(var8006ae04) -/* f0915b4: 3c014170 */ lui $at,0x4170 -/* f0915b8: 44817000 */ mtc1 $at,$f14 -/* f0915bc: c4c60000 */ lwc1 $f6,0x0($a2) -/* f0915c0: c4500008 */ lwc1 $f16,0x8($v0) -/* f0915c4: c4720000 */ lwc1 $f18,0x0($v1) -/* f0915c8: 460e3202 */ mul.s $f8,$f6,$f14 -/* f0915cc: c4c60004 */ lwc1 $f6,0x4($a2) -/* f0915d0: 46128101 */ sub.s $f4,$f16,$f18 -/* f0915d4: c4700004 */ lwc1 $f16,0x4($v1) -/* f0915d8: c44a000c */ lwc1 $f10,0xc($v0) -/* f0915dc: 46082001 */ sub.s $f0,$f4,$f8 -/* f0915e0: 460e3102 */ mul.s $f4,$f6,$f14 -/* f0915e4: c4c60008 */ lwc1 $f6,0x8($a2) -/* f0915e8: 46105481 */ sub.s $f18,$f10,$f16 -/* f0915ec: c46a0008 */ lwc1 $f10,0x8($v1) -/* f0915f0: c4480010 */ lwc1 $f8,0x10($v0) -/* f0915f4: 46049081 */ sub.s $f2,$f18,$f4 -/* f0915f8: 460e3482 */ mul.s $f18,$f6,$f14 -/* f0915fc: 460a4401 */ sub.s $f16,$f8,$f10 -/* f091600: 46000102 */ mul.s $f4,$f0,$f0 -/* f091604: 00000000 */ nop -/* f091608: 46021202 */ mul.s $f8,$f2,$f2 -/* f09160c: 46128301 */ sub.s $f12,$f16,$f18 -/* f091610: 460c6182 */ mul.s $f6,$f12,$f12 -/* f091614: 46082280 */ add.s $f10,$f4,$f8 -/* f091618: 46065400 */ add.s $f16,$f10,$f6 -/* f09161c: 10000004 */ b .L0f091630 -/* f091620: e7b001dc */ swc1 $f16,0x1dc($sp) -.L0f091624: -/* f091624: 44819000 */ mtc1 $at,$f18 -/* f091628: 8fa6020c */ lw $a2,0x20c($sp) -/* f09162c: e7b201dc */ swc1 $f18,0x1dc($sp) -.L0f091630: -/* f091630: 8fad0054 */ lw $t5,0x54($sp) -/* f091634: 24010018 */ addiu $at,$zero,0x18 -/* f091638: 8fae0200 */ lw $t6,0x200($sp) -/* f09163c: 15a1006d */ bne $t5,$at,.L0f0917f4 -/* f091640: 00000000 */ nop -/* f091644: 0fc1eb7d */ jal chopperFromHovercar -/* f091648: 8dc40004 */ lw $a0,0x4($t6) -/* f09164c: 104001c9 */ beqz $v0,.L0f091d74 -/* f091650: 3c017f1b */ lui $at,%hi(var7f1ab20c) -/* f091654: c424b20c */ lwc1 $f4,%lo(var7f1ab20c)($at) -/* f091658: c7a801dc */ lwc1 $f8,0x1dc($sp) -/* f09165c: 4608203c */ c.lt.s $f4,$f8 -/* f091660: 00000000 */ nop -/* f091664: 450201c4 */ bc1fl .L0f091d78 -/* f091668: 8fbf0044 */ lw $ra,0x44($sp) -/* f09166c: c44a0080 */ lwc1 $f10,0x80($v0) -/* f091670: 2404011f */ addiu $a0,$zero,0x11f -/* f091674: 24050053 */ addiu $a1,$zero,0x53 -/* f091678: e7aa009c */ swc1 $f10,0x9c($sp) -/* f09167c: c446007c */ lwc1 $f6,0x7c($v0) -/* f091680: 00003025 */ or $a2,$zero,$zero -/* f091684: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f091688: e7a60098 */ swc1 $f6,0x98($sp) -/* f09168c: 104001b9 */ beqz $v0,.L0f091d74 -/* f091690: afa2017c */ sw $v0,0x17c($sp) -/* f091694: 0c00566c */ jal mtx4LoadIdentity -/* f091698: 27a4013c */ addiu $a0,$sp,0x13c -/* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) -/* f0916a0: 0c0058ba */ jal mtx4LoadXRotation -/* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f0916ac: 0c0058dd */ jal mtx4LoadYRotation -/* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 -/* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 -/* f0916b8: 0c0056f8 */ jal mtx00015be0 -/* f0916bc: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916c0: 8fa3020c */ lw $v1,0x20c($sp) -/* f0916c4: 3c017f1b */ lui $at,%hi(var7f1ab210) -/* f0916c8: c422b210 */ lwc1 $f2,%lo(var7f1ab210)($at) -/* f0916cc: c4700000 */ lwc1 $f16,0x0($v1) -/* f0916d0: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f0916d4: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) -/* f0916d8: 46028482 */ mul.s $f18,$f16,$f2 -/* f0916dc: 8fa20200 */ lw $v0,0x200($sp) -/* f0916e0: 8fa50208 */ lw $a1,0x208($sp) -/* f0916e4: 27af0130 */ addiu $t7,$sp,0x130 -/* f0916e8: 27b8013c */ addiu $t8,$sp,0x13c -/* f0916ec: 8fa4017c */ lw $a0,0x17c($sp) -/* f0916f0: 27a700e0 */ addiu $a3,$sp,0xe0 -/* f0916f4: e7b20120 */ swc1 $f18,0x120($sp) -/* f0916f8: c4640004 */ lwc1 $f4,0x4($v1) -/* f0916fc: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091700: 24460028 */ addiu $a2,$v0,0x28 -/* f091704: 46022202 */ mul.s $f8,$f4,$f2 -/* f091708: e7a80124 */ swc1 $f8,0x124($sp) -/* f09170c: c46a0008 */ lwc1 $f10,0x8($v1) -/* f091710: c7a40124 */ lwc1 $f4,0x124($sp) -/* f091714: afb80014 */ sw $t8,0x14($sp) -/* f091718: 46025182 */ mul.s $f6,$f10,$f2 -/* f09171c: afaf0010 */ sw $t7,0x10($sp) -/* f091720: afa20018 */ sw $v0,0x18($sp) -/* f091724: 46008482 */ mul.s $f18,$f16,$f0 -/* f091728: afa5001c */ sw $a1,0x1c($sp) -/* f09172c: 46002202 */ mul.s $f8,$f4,$f0 -/* f091730: e7a60128 */ swc1 $f6,0x128($sp) -/* f091734: c7aa0128 */ lwc1 $f10,0x128($sp) -/* f091738: e7b20130 */ swc1 $f18,0x130($sp) -/* f09173c: 46005182 */ mul.s $f6,$f10,$f0 -/* f091740: e7a80134 */ swc1 $f8,0x134($sp) -/* f091744: 0fc27af3 */ jal bgun0f09ebcc -/* f091748: e7a60138 */ swc1 $f6,0x138($sp) -/* f09174c: 8fa3017c */ lw $v1,0x17c($sp) -/* f091750: 8c790040 */ lw $t9,0x40($v1) -/* f091754: 33280080 */ andi $t0,$t9,0x80 -/* f091758: 51000187 */ beqzl $t0,.L0f091d78 -/* f09175c: 8fbf0044 */ lw $ra,0x44($sp) -/* f091760: 8c620048 */ lw $v0,0x48($v1) -/* f091764: 2409ffff */ addiu $t1,$zero,-1 -/* f091768: a4690062 */ sh $t1,0x62($v1) -/* f09176c: 8c4a0000 */ lw $t2,0x0($v0) -/* f091770: 3c01bf80 */ lui $at,0xbf80 -/* f091774: 44810000 */ mtc1 $at,$f0 -/* f091778: 354b0010 */ ori $t3,$t2,0x10 -/* f09177c: ac4b0000 */ sw $t3,0x0($v0) -/* f091780: 8c6c0048 */ lw $t4,0x48($v1) -/* f091784: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091788: 240fffff */ addiu $t7,$zero,-1 -/* f09178c: 2418ffff */ addiu $t8,$zero,-1 -/* f091790: e5900010 */ swc1 $f16,0x10($t4) -/* f091794: 8c6d0048 */ lw $t5,0x48($v1) -/* f091798: c7b20124 */ lwc1 $f18,0x124($sp) -/* f09179c: 00002025 */ or $a0,$zero,$zero -/* f0917a0: 24068053 */ addiu $a2,$zero,-32685 -/* f0917a4: e5b20014 */ swc1 $f18,0x14($t5) -/* f0917a8: 8c6e0048 */ lw $t6,0x48($v1) -/* f0917ac: c7a40128 */ lwc1 $f4,0x128($sp) -/* f0917b0: 2407ffff */ addiu $a3,$zero,-1 -/* f0917b4: e5c40018 */ swc1 $f4,0x18($t6) -/* f0917b8: 8c650014 */ lw $a1,0x14($v1) -/* f0917bc: afb8002c */ sw $t8,0x2c($sp) -/* f0917c0: afa00028 */ sw $zero,0x28($sp) -/* f0917c4: afa00020 */ sw $zero,0x20($sp) -/* f0917c8: afa0001c */ sw $zero,0x1c($sp) -/* f0917cc: afa00018 */ sw $zero,0x18($sp) -/* f0917d0: afa00014 */ sw $zero,0x14($sp) -/* f0917d4: afaf0010 */ sw $t7,0x10($sp) -/* f0917d8: e7a00038 */ swc1 $f0,0x38($sp) -/* f0917dc: e7a00034 */ swc1 $f0,0x34($sp) -/* f0917e0: e7a00030 */ swc1 $f0,0x30($sp) -/* f0917e4: 0fc24e7e */ jal func0f0939f8 -/* f0917e8: e7a00024 */ swc1 $f0,0x24($sp) -/* f0917ec: 10000162 */ b .L0f091d78 -/* f0917f0: 8fbf0044 */ lw $ra,0x44($sp) -.L0f0917f4: -/* f0917f4: 8f39ae04 */ lw $t9,%lo(var8006ae04)($t9) -/* f0917f8: 93a80213 */ lbu $t0,0x213($sp) -/* f0917fc: 3c014780 */ lui $at,0x4780 -/* f091800: afb90094 */ sw $t9,0x94($sp) -/* f091804: a3a80094 */ sb $t0,0x94($sp) -/* f091808: 44810000 */ mtc1 $at,$f0 -/* f09180c: c4c80000 */ lwc1 $f8,0x0($a2) -/* f091810: c4660000 */ lwc1 $f6,0x0($v1) -/* f091814: 8fa40200 */ lw $a0,0x200($sp) -/* f091818: 46004282 */ mul.s $f10,$f8,$f0 -/* f09181c: 00002825 */ or $a1,$zero,$zero -/* f091820: 46065400 */ add.s $f16,$f10,$f6 -/* f091824: e7b001f0 */ swc1 $f16,0x1f0($sp) -/* f091828: c4d20004 */ lwc1 $f18,0x4($a2) -/* f09182c: c4680004 */ lwc1 $f8,0x4($v1) -/* f091830: 46009102 */ mul.s $f4,$f18,$f0 -/* f091834: 46082280 */ add.s $f10,$f4,$f8 -/* f091838: e7aa01f4 */ swc1 $f10,0x1f4($sp) -/* f09183c: c4c60008 */ lwc1 $f6,0x8($a2) -/* f091840: c4720008 */ lwc1 $f18,0x8($v1) -/* f091844: 46003402 */ mul.s $f16,$f6,$f0 -/* f091848: 46128100 */ add.s $f4,$f16,$f18 -/* f09184c: 0fc1905e */ jal propSetPerimEnabled -/* f091850: e7a401f8 */ swc1 $f4,0x1f8($sp) -/* f091854: 8fa50200 */ lw $a1,0x200($sp) -/* f091858: 24090010 */ addiu $t1,$zero,0x10 -/* f09185c: afa90010 */ sw $t1,0x10($sp) -/* f091860: 24a50028 */ addiu $a1,$a1,0x28 -/* f091864: afa50050 */ sw $a1,0x50($sp) -/* f091868: 8fa40208 */ lw $a0,0x208($sp) -/* f09186c: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091870: 0c00b764 */ jal cdTestAToB4 -/* f091874: 2407003b */ addiu $a3,$zero,0x3b -/* f091878: 1440000a */ bnez $v0,.L0f0918a4 -/* f09187c: 240a0001 */ addiu $t2,$zero,0x1 -/* f091880: 3c067f1b */ lui $a2,%hi(var7f1aa1c0) -/* f091884: afaa01fc */ sw $t2,0x1fc($sp) -/* f091888: 24c6a1c0 */ addiu $a2,$a2,%lo(var7f1aa1c0) -/* f09188c: 27a401f0 */ addiu $a0,$sp,0x1f0 -/* f091890: 0c0093af */ jal cdGetPos -/* f091894: 24055fa2 */ addiu $a1,$zero,0x5fa2 -/* f091898: 0c0093ac */ jal cdGetObstacle -/* f09189c: 00000000 */ nop -/* f0918a0: afa201d8 */ sw $v0,0x1d8($sp) -.L0f0918a4: -/* f0918a4: 8fa40200 */ lw $a0,0x200($sp) -/* f0918a8: 0fc1905e */ jal propSetPerimEnabled -/* f0918ac: 24050001 */ addiu $a1,$zero,0x1 -/* f0918b0: 8fab0208 */ lw $t3,0x208($sp) -/* f0918b4: 8fac0214 */ lw $t4,0x214($sp) -/* f0918b8: c7a801f0 */ lwc1 $f8,0x1f0($sp) -/* f0918bc: c7a601f4 */ lwc1 $f6,0x1f4($sp) -/* f0918c0: c7b201f8 */ lwc1 $f18,0x1f8($sp) -/* f0918c4: c56a0000 */ lwc1 $f10,0x0($t3) -/* f0918c8: c5700004 */ lwc1 $f16,0x4($t3) -/* f0918cc: c5640008 */ lwc1 $f4,0x8($t3) -/* f0918d0: 460a4001 */ sub.s $f0,$f8,$f10 -/* f0918d4: 46103081 */ sub.s $f2,$f6,$f16 -/* f0918d8: 1180007b */ beqz $t4,.L0f091ac8 -/* f0918dc: 46049301 */ sub.s $f12,$f18,$f4 -/* f0918e0: 46000202 */ mul.s $f8,$f0,$f0 -/* f0918e4: c7a401dc */ lwc1 $f4,0x1dc($sp) -/* f0918e8: 46021282 */ mul.s $f10,$f2,$f2 -/* f0918ec: 460a4180 */ add.s $f6,$f8,$f10 -/* f0918f0: 460c6402 */ mul.s $f16,$f12,$f12 -/* f0918f4: 46103480 */ add.s $f18,$f6,$f16 -/* f0918f8: 4612203e */ c.le.s $f4,$f18 -/* f0918fc: 00000000 */ nop -/* f091900: 45020072 */ bc1fl .L0f091acc -/* f091904: 8fae01fc */ lw $t6,0x1fc($sp) -/* f091908: 0c012974 */ jal sqrtf -/* f09190c: 46002306 */ mov.s $f12,$f4 -/* f091910: 8fa20214 */ lw $v0,0x214($sp) -/* f091914: 3c0141a0 */ lui $at,0x41a0 -/* f091918: 44813000 */ mtc1 $at,$f6 -/* f09191c: c4480008 */ lwc1 $f8,0x8($v0) -/* f091920: 8fa40208 */ lw $a0,0x208($sp) -/* f091924: 8fa5020c */ lw $a1,0x20c($sp) -/* f091928: e7a80084 */ swc1 $f8,0x84($sp) -/* f09192c: c44a000c */ lwc1 $f10,0xc($v0) -/* f091930: 27a60084 */ addiu $a2,$sp,0x84 -/* f091934: 3c0741f0 */ lui $a3,0x41f0 -/* f091938: 46065401 */ sub.s $f16,$f10,$f6 -/* f09193c: e7b00088 */ swc1 $f16,0x88($sp) -/* f091940: c4520010 */ lwc1 $f18,0x10($v0) -/* f091944: e7a00090 */ swc1 $f0,0x90($sp) -/* f091948: 0fc1ace7 */ jal func0f06b39c -/* f09194c: e7b2008c */ swc1 $f18,0x8c($sp) -/* f091950: 1040005d */ beqz $v0,.L0f091ac8 -/* f091954: c7a20090 */ lwc1 $f2,0x90($sp) -/* f091958: 3c014348 */ lui $at,0x4348 -/* f09195c: 44816000 */ mtc1 $at,$f12 -/* f091960: 3c017f1b */ lui $at,%hi(var7f1ab214) -/* f091964: c424b214 */ lwc1 $f4,%lo(var7f1ab214)($at) -/* f091968: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f09196c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at) -/* f091970: 8fad0204 */ lw $t5,0x204($sp) -/* f091974: 4602603c */ c.lt.s $f12,$f2 -/* f091978: 46082282 */ mul.s $f10,$f4,$f8 -/* f09197c: c5a6000c */ lwc1 $f6,0xc($t5) -/* f091980: 8fae0204 */ lw $t6,0x204($sp) -/* f091984: 46065002 */ mul.s $f0,$f10,$f6 -/* f091988: 45020005 */ bc1fl .L0f0919a0 -/* f09198c: c5d20014 */ lwc1 $f18,0x14($t6) -/* f091990: 46026403 */ div.s $f16,$f12,$f2 -/* f091994: 46100002 */ mul.s $f0,$f0,$f16 -/* f091998: 00000000 */ nop -/* f09199c: c5d20014 */ lwc1 $f18,0x14($t6) -.L0f0919a0: -/* f0919a0: 3c013f80 */ lui $at,0x3f80 -/* f0919a4: 44814000 */ mtc1 $at,$f8 -/* f0919a8: 46009100 */ add.s $f4,$f18,$f0 -/* f0919ac: 4604403e */ c.le.s $f8,$f4 -/* f0919b0: e5c40014 */ swc1 $f4,0x14($t6) -/* f0919b4: 8fa20214 */ lw $v0,0x214($sp) -/* f0919b8: 45020044 */ bc1fl .L0f091acc -/* f0919bc: 8fae01fc */ lw $t6,0x1fc($sp) -/* f0919c0: afa001fc */ sw $zero,0x1fc($sp) -/* f0919c4: c44a0008 */ lwc1 $f10,0x8($v0) -/* f0919c8: e7aa01f0 */ swc1 $f10,0x1f0($sp) -/* f0919cc: c446000c */ lwc1 $f6,0xc($v0) -/* f0919d0: e7a601f4 */ swc1 $f6,0x1f4($sp) -/* f0919d4: c4500010 */ lwc1 $f16,0x10($v0) -/* f0919d8: 0c004b70 */ jal random -/* f0919dc: e7b001f8 */ swc1 $f16,0x1f8($sp) -/* f0919e0: 304f0001 */ andi $t7,$v0,0x1 -/* f0919e4: 11e00012 */ beqz $t7,.L0f091a30 -/* f0919e8: 00000000 */ nop -/* f0919ec: 0c004b70 */ jal random -/* f0919f0: 00000000 */ nop -/* f0919f4: 2401000a */ addiu $at,$zero,0xa -/* f0919f8: 0041001b */ divu $zero,$v0,$at -/* f0919fc: 0000c010 */ mfhi $t8 -/* f091a00: 27190002 */ addiu $t9,$t8,0x2 -/* f091a04: 44992000 */ mtc1 $t9,$f4 -/* f091a08: c7b201f4 */ lwc1 $f18,0x1f4($sp) -/* f091a0c: 07210005 */ bgez $t9,.L0f091a24 -/* f091a10: 46802220 */ cvt.s.w $f8,$f4 -/* f091a14: 3c014f80 */ lui $at,0x4f80 -/* f091a18: 44815000 */ mtc1 $at,$f10 -/* f091a1c: 00000000 */ nop -/* f091a20: 460a4200 */ add.s $f8,$f8,$f10 -.L0f091a24: -/* f091a24: 46089180 */ add.s $f6,$f18,$f8 -/* f091a28: 10000011 */ b .L0f091a70 -/* f091a2c: e7a601f4 */ swc1 $f6,0x1f4($sp) -.L0f091a30: -/* f091a30: 0c004b70 */ jal random -/* f091a34: 00000000 */ nop -/* f091a38: 2401000a */ addiu $at,$zero,0xa -/* f091a3c: 0041001b */ divu $zero,$v0,$at -/* f091a40: 00004010 */ mfhi $t0 -/* f091a44: 25090002 */ addiu $t1,$t0,0x2 -/* f091a48: 44892000 */ mtc1 $t1,$f4 -/* f091a4c: c7b001f4 */ lwc1 $f16,0x1f4($sp) -/* f091a50: 05210005 */ bgez $t1,.L0f091a68 -/* f091a54: 468022a0 */ cvt.s.w $f10,$f4 -/* f091a58: 3c014f80 */ lui $at,0x4f80 -/* f091a5c: 44819000 */ mtc1 $at,$f18 -/* f091a60: 00000000 */ nop -/* f091a64: 46125280 */ add.s $f10,$f10,$f18 -.L0f091a68: -/* f091a68: 460a8201 */ sub.s $f8,$f16,$f10 -/* f091a6c: e7a801f4 */ swc1 $f8,0x1f4($sp) -.L0f091a70: -/* f091a70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a74: 8fa50214 */ lw $a1,0x214($sp) -/* f091a78: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091a7c: 2406ffff */ addiu $a2,$zero,-1 -/* f091a80: 0fc2c74a */ jal gsetGetDamage -/* f091a84: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a88: 8fab0204 */ lw $t3,0x204($sp) -/* f091a8c: 8faa0214 */ lw $t2,0x214($sp) -/* f091a90: 240c00c8 */ addiu $t4,$zero,0xc8 -/* f091a94: c5660010 */ lwc1 $f6,0x10($t3) -/* f091a98: 8d440004 */ lw $a0,0x4($t2) -/* f091a9c: afac0014 */ sw $t4,0x14($sp) -/* f091aa0: 46060102 */ mul.s $f4,$f0,$f6 -/* f091aa4: afa00010 */ sw $zero,0x10($sp) -/* f091aa8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091aac: 27a70094 */ addiu $a3,$sp,0x94 -/* f091ab0: 44052000 */ mfc1 $a1,$f4 -/* f091ab4: 0fc0d0cc */ jal chrDamageByImpact -/* f091ab8: 00000000 */ nop -/* f091abc: 44809000 */ mtc1 $zero,$f18 -/* f091ac0: 8fad0204 */ lw $t5,0x204($sp) -/* f091ac4: e5b20014 */ swc1 $f18,0x14($t5) -.L0f091ac8: -/* f091ac8: 8fae01fc */ lw $t6,0x1fc($sp) -.L0f091acc: -/* f091acc: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091ad0: 51c00093 */ beqzl $t6,.L0f091d20 -/* f091ad4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ad8: 11e0007d */ beqz $t7,.L0f091cd0 -/* f091adc: 8fa40208 */ lw $a0,0x208($sp) -/* f091ae0: 91e20000 */ lbu $v0,0x0($t7) -/* f091ae4: 24010003 */ addiu $at,$zero,0x3 -/* f091ae8: 2418ffff */ addiu $t8,$zero,-1 -/* f091aec: 10410004 */ beq $v0,$at,.L0f091b00 -/* f091af0: 241900c8 */ addiu $t9,$zero,0xc8 -/* f091af4: 24010006 */ addiu $at,$zero,0x6 -/* f091af8: 54410040 */ bnel $v0,$at,.L0f091bfc -/* f091afc: 24010001 */ addiu $at,$zero,0x1 -.L0f091b00: -/* f091b00: 8fa801d8 */ lw $t0,0x1d8($sp) -/* f091b04: 8faa0054 */ lw $t2,0x54($sp) -/* f091b08: afa0007c */ sw $zero,0x7c($sp) -/* f091b0c: afa00078 */ sw $zero,0x78($sp) -/* f091b10: afb80074 */ sw $t8,0x74($sp) -/* f091b14: afb90070 */ sw $t9,0x70($sp) -/* f091b18: 8d090004 */ lw $t1,0x4($t0) -/* f091b1c: 24010059 */ addiu $at,$zero,0x59 -/* f091b20: 11410005 */ beq $t2,$at,.L0f091b38 -/* f091b24: afa9006c */ sw $t1,0x6c($sp) -/* f091b28: 27a40094 */ addiu $a0,$sp,0x94 -/* f091b2c: 01002825 */ or $a1,$t0,$zero -/* f091b30: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091b34: 2406ffff */ addiu $a2,$zero,-1 -.L0f091b38: -/* f091b38: 8fab006c */ lw $t3,0x6c($sp) -/* f091b3c: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091b40: 8fa6020c */ lw $a2,0x20c($sp) -/* f091b44: 8d6c0020 */ lw $t4,0x20($t3) -/* f091b48: 27a7007c */ addiu $a3,$sp,0x7c -/* f091b4c: 27ad0070 */ addiu $t5,$sp,0x70 -/* f091b50: 11800007 */ beqz $t4,.L0f091b70 -/* f091b54: 01602025 */ or $a0,$t3,$zero -/* f091b58: 27ae0078 */ addiu $t6,$sp,0x78 -/* f091b5c: 27af0074 */ addiu $t7,$sp,0x74 -/* f091b60: afaf0018 */ sw $t7,0x18($sp) -/* f091b64: afae0014 */ sw $t6,0x14($sp) -/* f091b68: 0fc0ffcb */ jal chrCalculateShieldHit -/* f091b6c: afad0010 */ sw $t5,0x10($sp) -.L0f091b70: -/* f091b70: 8fb8020c */ lw $t8,0x20c($sp) -/* f091b74: 8fa4006c */ lw $a0,0x6c($sp) -/* f091b78: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091b7c: 8fa60070 */ lw $a2,0x70($sp) -/* f091b80: 27a701f0 */ addiu $a3,$sp,0x1f0 -/* f091b84: afa00014 */ sw $zero,0x14($sp) -/* f091b88: 0fc097a9 */ jal chrEmitSparks -/* f091b8c: afb80010 */ sw $t8,0x10($sp) -/* f091b90: 93b90187 */ lbu $t9,0x187($sp) -/* f091b94: 8faa006c */ lw $t2,0x6c($sp) -/* f091b98: 13200002 */ beqz $t9,.L0f091ba4 -/* f091b9c: 24091388 */ addiu $t1,$zero,0x1388 -/* f091ba0: a54902d8 */ sh $t1,0x2d8($t2) -.L0f091ba4: -/* f091ba4: 0fc2c74a */ jal gsetGetDamage -/* f091ba8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091bac: 8fa80070 */ lw $t0,0x70($sp) -/* f091bb0: 8fac01d8 */ lw $t4,0x1d8($sp) -/* f091bb4: 8fab007c */ lw $t3,0x7c($sp) -/* f091bb8: 8fad0078 */ lw $t5,0x78($sp) -/* f091bbc: 8fae0074 */ lw $t6,0x74($sp) -/* f091bc0: 44050000 */ mfc1 $a1,$f0 -/* f091bc4: 8fa4006c */ lw $a0,0x6c($sp) -/* f091bc8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091bcc: 27a70094 */ addiu $a3,$sp,0x94 -/* f091bd0: afa00010 */ sw $zero,0x10($sp) -/* f091bd4: afa00028 */ sw $zero,0x28($sp) -/* f091bd8: afa80014 */ sw $t0,0x14($sp) -/* f091bdc: afac0018 */ sw $t4,0x18($sp) -/* f091be0: afab001c */ sw $t3,0x1c($sp) -/* f091be4: afad0020 */ sw $t5,0x20($sp) -/* f091be8: 0fc0d077 */ jal func0f0341dc -/* f091bec: afae0024 */ sw $t6,0x24($sp) -/* f091bf0: 1000004b */ b .L0f091d20 -/* f091bf4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091bf8: 24010001 */ addiu $at,$zero,0x1 -.L0f091bfc: -/* f091bfc: 10410006 */ beq $v0,$at,.L0f091c18 -/* f091c00: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091c04: 24010004 */ addiu $at,$zero,0x4 -/* f091c08: 10410003 */ beq $v0,$at,.L0f091c18 -/* f091c0c: 24010002 */ addiu $at,$zero,0x2 -/* f091c10: 54410043 */ bnel $v0,$at,.L0f091d20 -/* f091c14: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091c18: -/* f091c18: 8fb90054 */ lw $t9,0x54($sp) -/* f091c1c: 8df80004 */ lw $t8,0x4($t7) -/* f091c20: 24010059 */ addiu $at,$zero,0x59 -/* f091c24: 13210005 */ beq $t9,$at,.L0f091c3c -/* f091c28: afb80068 */ sw $t8,0x68($sp) -/* f091c2c: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c30: 01e02825 */ or $a1,$t7,$zero -/* f091c34: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091c38: 2406ffff */ addiu $a2,$zero,-1 -.L0f091c3c: -/* f091c3c: 8fa40208 */ lw $a0,0x208($sp) -/* f091c40: 8fa50050 */ lw $a1,0x50($sp) -/* f091c44: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c48: 0fc1979d */ jal func0f065e74 -/* f091c4c: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091c50: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091c54: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091c58: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c5c: 00003825 */ or $a3,$zero,$zero -/* f091c60: afa00010 */ sw $zero,0x10($sp) -/* f091c64: 0fc4be7c */ jal sparksCreate -/* f091c68: afa00014 */ sw $zero,0x14($sp) -/* f091c6c: 0fc2c74a */ jal gsetGetDamage -/* f091c70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c74: 8fa901d8 */ lw $t1,0x1d8($sp) -/* f091c78: 44050000 */ mfc1 $a1,$f0 -/* f091c7c: 240affff */ addiu $t2,$zero,-1 -/* f091c80: 8d240004 */ lw $a0,0x4($t1) -/* f091c84: afaa0010 */ sw $t2,0x10($sp) -/* f091c88: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c8c: 0fc2149c */ jal objTakeGunfire -/* f091c90: 8fa70054 */ lw $a3,0x54($sp) -/* f091c94: 8fa20068 */ lw $v0,0x68($sp) -/* f091c98: 24010008 */ addiu $at,$zero,0x8 -/* f091c9c: 90480003 */ lbu $t0,0x3($v0) -/* f091ca0: 5501001f */ bnel $t0,$at,.L0f091d20 -/* f091ca4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ca8: 904c005c */ lbu $t4,0x5c($v0) -/* f091cac: 2401000f */ addiu $at,$zero,0xf -/* f091cb0: 5581001b */ bnel $t4,$at,.L0f091d20 -/* f091cb4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cb8: 904b005f */ lbu $t3,0x5f($v0) -/* f091cbc: 24010001 */ addiu $at,$zero,0x1 -/* f091cc0: 55610017 */ bnel $t3,$at,.L0f091d20 -/* f091cc4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cc8: 10000014 */ b .L0f091d1c -/* f091ccc: a4400062 */ sh $zero,0x62($v0) -.L0f091cd0: -/* f091cd0: 8fa50050 */ lw $a1,0x50($sp) -/* f091cd4: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091cd8: 0fc1979d */ jal func0f065e74 -/* f091cdc: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091ce0: 8fad0054 */ lw $t5,0x54($sp) -/* f091ce4: 24010059 */ addiu $at,$zero,0x59 -/* f091ce8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091cec: 11a10004 */ beq $t5,$at,.L0f091d00 -/* f091cf0: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091cf4: 2406ffff */ addiu $a2,$zero,-1 -/* f091cf8: 0fc2a132 */ jal bgunPlayBgHitSound -/* f091cfc: 27a701c8 */ addiu $a3,$sp,0x1c8 -.L0f091d00: -/* f091d00: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091d04: 00002825 */ or $a1,$zero,$zero -/* f091d08: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091d0c: 00003825 */ or $a3,$zero,$zero -/* f091d10: afa00010 */ sw $zero,0x10($sp) -/* f091d14: 0fc4be7c */ jal sparksCreate -/* f091d18: afa00014 */ sw $zero,0x14($sp) -.L0f091d1c: -/* f091d1c: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091d20: -/* f091d20: 8fb80204 */ lw $t8,0x204($sp) -/* f091d24: 93af01c7 */ lbu $t7,0x1c7($sp) -/* f091d28: 15c00006 */ bnez $t6,.L0f091d44 -/* f091d2c: 93aa01c7 */ lbu $t2,0x1c7($sp) -/* f091d30: 53000011 */ beqzl $t8,.L0f091d78 -/* f091d34: 8fbf0044 */ lw $ra,0x44($sp) -/* f091d38: 93190001 */ lbu $t9,0x1($t8) -/* f091d3c: 5320000e */ beqzl $t9,.L0f091d78 -/* f091d40: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d44: -/* f091d44: 11e00003 */ beqz $t7,.L0f091d54 -/* f091d48: 27a6018c */ addiu $a2,$sp,0x18c -/* f091d4c: 10000003 */ b .L0f091d5c -/* f091d50: 27a40198 */ addiu $a0,$sp,0x198 -.L0f091d54: -/* f091d54: 8fa90204 */ lw $t1,0x204($sp) -/* f091d58: 8d240004 */ lw $a0,0x4($t1) -.L0f091d5c: -/* f091d5c: 11400003 */ beqz $t2,.L0f091d6c -/* f091d60: 8fa50054 */ lw $a1,0x54($sp) -/* f091d64: 10000001 */ b .L0f091d6c -/* f091d68: 24050002 */ addiu $a1,$zero,0x2 -.L0f091d6c: -/* f091d6c: 0fc2af9c */ jal beamCreate -/* f091d70: 27a701f0 */ addiu $a3,$sp,0x1f0 -.L0f091d74: -/* f091d74: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d78: -/* f091d78: 27bd0200 */ addiu $sp,$sp,0x200 -/* f091d7c: 03e00008 */ jr $ra -/* f091d80: 00000000 */ nop -); + cdGetPos(&endpos, 24482, "propobj.c"); #else -GLOBAL_ASM( -glabel projectileCreate -.late_rodata -glabel var7f1ab20c -.word 0x481c4000 -glabel var7f1ab210 -.word 0x3e8e38e3 -glabel var7f1ab214 -.word 0x3e23d70a -.text -/* f0912dc: 27bdfe00 */ addiu $sp,$sp,-512 -/* f0912e0: afbf0044 */ sw $ra,0x44($sp) -/* f0912e4: afa40200 */ sw $a0,0x200($sp) -/* f0912e8: afa50204 */ sw $a1,0x204($sp) -/* f0912ec: afa60208 */ sw $a2,0x208($sp) -/* f0912f0: 0fc5b364 */ jal lvIsPaused -/* f0912f4: afa7020c */ sw $a3,0x20c($sp) -/* f0912f8: 1440029e */ bnez $v0,.L0f091d74 -/* f0912fc: 8fa30208 */ lw $v1,0x208($sp) -/* f091300: afa001fc */ sw $zero,0x1fc($sp) -/* f091304: afa001d8 */ sw $zero,0x1d8($sp) -/* f091308: a3a001c7 */ sb $zero,0x1c7($sp) -/* f09130c: a3a00187 */ sb $zero,0x187($sp) -/* f091310: c4640000 */ lwc1 $f4,0x0($v1) -/* f091314: 93ae0213 */ lbu $t6,0x213($sp) -/* f091318: 2401001c */ addiu $at,$zero,0x1c -/* f09131c: e7a4018c */ swc1 $f4,0x18c($sp) -/* f091320: c4660004 */ lwc1 $f6,0x4($v1) -/* f091324: 240f0001 */ addiu $t7,$zero,0x1 -/* f091328: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09132c: e7a60190 */ swc1 $f6,0x190($sp) -/* f091330: c4680008 */ lwc1 $f8,0x8($v1) -/* f091334: afae0054 */ sw $t6,0x54($sp) -/* f091338: 15c1000b */ bne $t6,$at,.L0f091368 -/* f09133c: e7a80194 */ swc1 $f8,0x194($sp) -/* f091340: 3c014220 */ lui $at,0x4220 -/* f091344: 44818000 */ mtc1 $at,$f16 -/* f091348: c7aa0190 */ lwc1 $f10,0x190($sp) -/* f09134c: 2418ffff */ addiu $t8,$zero,-1 -/* f091350: 24190001 */ addiu $t9,$zero,0x1 -/* f091354: 46105481 */ sub.s $f18,$f10,$f16 -/* f091358: a3af01c7 */ sb $t7,0x1c7($sp) -/* f09135c: a3b80198 */ sb $t8,0x198($sp) -/* f091360: a3b90187 */ sb $t9,0x187($sp) -/* f091364: e7b20190 */ swc1 $f18,0x190($sp) -.L0f091368: -/* f091368: 8fa80204 */ lw $t0,0x204($sp) -/* f09136c: 5100008d */ beqzl $t0,.L0f0915a4 -/* f091370: 8fa20214 */ lw $v0,0x214($sp) -/* f091374: 8d090008 */ lw $t1,0x8($t0) -/* f091378: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f09137c: 8fab0054 */ lw $t3,0x54($sp) -/* f091380: 012a082a */ slt $at,$t1,$t2 -/* f091384: 10200086 */ beqz $at,.L0f0915a0 -/* f091388: 2401002b */ addiu $at,$zero,0x2b -/* f09138c: 11610028 */ beq $t3,$at,.L0f091430 -/* f091390: 8fa40200 */ lw $a0,0x200($sp) -/* f091394: 24010059 */ addiu $at,$zero,0x58 -/* f091398: 11610006 */ beq $t3,$at,.L0f0913b4 -/* f09139c: 8fa40200 */ lw $a0,0x200($sp) -/* f0913a0: 2401005a */ addiu $at,$zero,0x59 -/* f0913a4: 11610043 */ beq $t3,$at,.L0f0914b4 -/* f0913a8: 8fa40200 */ lw $a0,0x200($sp) -/* f0913ac: 1000005f */ b .L0f09152c -/* f0913b0: 8fa40200 */ lw $a0,0x200($sp) -.L0f0913b4: -/* f0913b4: 24050007 */ addiu $a1,$zero,0x7 -/* f0913b8: 0fc249af */ jal func0f0926bc -/* f0913bc: 3406ffff */ dli $a2,0xffff -/* f0913c0: 3c01bf80 */ lui $at,0xbf80 -/* f0913c4: 44810000 */ mtc1 $at,$f0 -/* f0913c8: 240cffff */ addiu $t4,$zero,-1 -/* f0913cc: 240d0007 */ addiu $t5,$zero,0x7 -/* f0913d0: 240effff */ addiu $t6,$zero,-1 -/* f0913d4: afae002c */ sw $t6,0x2c($sp) -/* f0913d8: afad001c */ sw $t5,0x1c($sp) -/* f0913dc: afac0010 */ sw $t4,0x10($sp) -/* f0913e0: 00002025 */ or $a0,$zero,$zero -/* f0913e4: 8fa50200 */ lw $a1,0x200($sp) -/* f0913e8: 2406810e */ addiu $a2,$zero,-32499 -/* f0913ec: 2407ffff */ addiu $a3,$zero,-1 -/* f0913f0: afa00014 */ sw $zero,0x14($sp) -/* f0913f4: afa00018 */ sw $zero,0x18($sp) -/* f0913f8: afa00020 */ sw $zero,0x20($sp) -/* f0913fc: afa00028 */ sw $zero,0x28($sp) -/* f091400: e7a00024 */ swc1 $f0,0x24($sp) -/* f091404: e7a00030 */ swc1 $f0,0x30($sp) -/* f091408: e7a00034 */ swc1 $f0,0x34($sp) -/* f09140c: 0fc24e7e */ jal func0f0939f8 -/* f091410: e7a00038 */ swc1 $f0,0x38($sp) -/* f091414: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091418: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f09141c: 8fb90204 */ lw $t9,0x204($sp) -/* f091420: 25f80004 */ addiu $t8,$t7,0x4 -/* f091424: af380008 */ sw $t8,0x8($t9) -/* f091428: 1000005d */ b .L0f0915a0 -/* f09142c: 8fa30208 */ lw $v1,0x208($sp) -.L0f091430: -/* f091430: 24050001 */ addiu $a1,$zero,0x1 -/* f091434: 0fc249af */ jal func0f0926bc -/* f091438: 3406ffff */ dli $a2,0xffff -/* f09143c: 3c01bf80 */ lui $at,0xbf80 -/* f091440: 44812000 */ mtc1 $at,$f4 -/* f091444: 44813000 */ mtc1 $at,$f6 -/* f091448: 44814000 */ mtc1 $at,$f8 -/* f09144c: 44815000 */ mtc1 $at,$f10 -/* f091450: 2408ffff */ addiu $t0,$zero,-1 -/* f091454: 2409ffff */ addiu $t1,$zero,-1 -/* f091458: afa9002c */ sw $t1,0x2c($sp) -/* f09145c: afa80010 */ sw $t0,0x10($sp) -/* f091460: 00002025 */ or $a0,$zero,$zero -/* f091464: 8fa50200 */ lw $a1,0x200($sp) -/* f091468: 2406805a */ addiu $a2,$zero,-32678 -/* f09146c: 2407ffff */ addiu $a3,$zero,-1 -/* f091470: afa00014 */ sw $zero,0x14($sp) -/* f091474: afa00018 */ sw $zero,0x18($sp) -/* f091478: afa0001c */ sw $zero,0x1c($sp) -/* f09147c: afa00020 */ sw $zero,0x20($sp) -/* f091480: afa00028 */ sw $zero,0x28($sp) -/* f091484: e7a40024 */ swc1 $f4,0x24($sp) -/* f091488: e7a60030 */ swc1 $f6,0x30($sp) -/* f09148c: e7a80034 */ swc1 $f8,0x34($sp) -/* f091490: 0fc24e7e */ jal func0f0939f8 -/* f091494: e7aa0038 */ swc1 $f10,0x38($sp) -/* f091498: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09149c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f0914a0: 8fac0204 */ lw $t4,0x204($sp) -/* f0914a4: 254b0002 */ addiu $t3,$t2,0x2 -/* f0914a8: ad8b0008 */ sw $t3,0x8($t4) -/* f0914ac: 1000003c */ b .L0f0915a0 -/* f0914b0: 8fa30208 */ lw $v1,0x208($sp) -.L0f0914b4: -/* f0914b4: 24050001 */ addiu $a1,$zero,0x1 -/* f0914b8: 0fc249af */ jal func0f0926bc -/* f0914bc: 3406ffff */ dli $a2,0xffff -/* f0914c0: 3c01bf80 */ lui $at,0xbf80 -/* f0914c4: 44810000 */ mtc1 $at,$f0 -/* f0914c8: 240dffff */ addiu $t5,$zero,-1 -/* f0914cc: 240effff */ addiu $t6,$zero,-1 -/* f0914d0: afae002c */ sw $t6,0x2c($sp) -/* f0914d4: afad0010 */ sw $t5,0x10($sp) -/* f0914d8: 00002025 */ or $a0,$zero,$zero -/* f0914dc: 8fa50200 */ lw $a1,0x200($sp) -/* f0914e0: 24068043 */ addiu $a2,$zero,-32701 -/* f0914e4: 2407ffff */ addiu $a3,$zero,-1 -/* f0914e8: afa00014 */ sw $zero,0x14($sp) -/* f0914ec: afa00018 */ sw $zero,0x18($sp) -/* f0914f0: afa0001c */ sw $zero,0x1c($sp) -/* f0914f4: afa00020 */ sw $zero,0x20($sp) -/* f0914f8: afa00028 */ sw $zero,0x28($sp) -/* f0914fc: e7a00024 */ swc1 $f0,0x24($sp) -/* f091500: e7a00030 */ swc1 $f0,0x30($sp) -/* f091504: e7a00034 */ swc1 $f0,0x34($sp) -/* f091508: 0fc24e7e */ jal func0f0939f8 -/* f09150c: e7a00038 */ swc1 $f0,0x38($sp) -/* f091510: 3c0f800a */ lui $t7,%hi(g_Vars+0x8) -/* f091514: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7) -/* f091518: 8fb90204 */ lw $t9,0x204($sp) -/* f09151c: 25f80008 */ addiu $t8,$t7,0x8 -/* f091520: af380008 */ sw $t8,0x8($t9) -/* f091524: 1000001e */ b .L0f0915a0 -/* f091528: 8fa30208 */ lw $v1,0x208($sp) -.L0f09152c: -/* f09152c: 24050001 */ addiu $a1,$zero,0x1 -/* f091530: 0fc249af */ jal func0f0926bc -/* f091534: 3406ffff */ dli $a2,0xffff -/* f091538: 3c01bf80 */ lui $at,0xbf80 -/* f09153c: 44810000 */ mtc1 $at,$f0 -/* f091540: 2408ffff */ addiu $t0,$zero,-1 -/* f091544: 2409ffff */ addiu $t1,$zero,-1 -/* f091548: afa9002c */ sw $t1,0x2c($sp) -/* f09154c: afa80010 */ sw $t0,0x10($sp) -/* f091550: 00002025 */ or $a0,$zero,$zero -/* f091554: 8fa50200 */ lw $a1,0x200($sp) -/* f091558: 24068045 */ addiu $a2,$zero,-32699 -/* f09155c: 2407ffff */ addiu $a3,$zero,-1 -/* f091560: afa00014 */ sw $zero,0x14($sp) -/* f091564: afa00018 */ sw $zero,0x18($sp) -/* f091568: afa0001c */ sw $zero,0x1c($sp) -/* f09156c: afa00020 */ sw $zero,0x20($sp) -/* f091570: afa00028 */ sw $zero,0x28($sp) -/* f091574: e7a00024 */ swc1 $f0,0x24($sp) -/* f091578: e7a00030 */ swc1 $f0,0x30($sp) -/* f09157c: e7a00034 */ swc1 $f0,0x34($sp) -/* f091580: 0fc24e7e */ jal func0f0939f8 -/* f091584: e7a00038 */ swc1 $f0,0x38($sp) -/* f091588: 3c0a800a */ lui $t2,%hi(g_Vars+0x8) -/* f09158c: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2) -/* f091590: 8fac0204 */ lw $t4,0x204($sp) -/* f091594: 254b0002 */ addiu $t3,$t2,0x2 -/* f091598: ad8b0008 */ sw $t3,0x8($t4) -/* f09159c: 8fa30208 */ lw $v1,0x208($sp) -.L0f0915a0: -/* f0915a0: 8fa20214 */ lw $v0,0x214($sp) -.L0f0915a4: -/* f0915a4: 8fa6020c */ lw $a2,0x20c($sp) -/* f0915a8: 3c014e00 */ lui $at,0x4e00 -/* f0915ac: 1040001d */ beqz $v0,.L0f091624 -/* f0915b0: 3c198007 */ lui $t9,%hi(var8006ae04) -/* f0915b4: 3c014170 */ lui $at,0x4170 -/* f0915b8: 44817000 */ mtc1 $at,$f14 -/* f0915bc: c4c60000 */ lwc1 $f6,0x0($a2) -/* f0915c0: c4500008 */ lwc1 $f16,0x8($v0) -/* f0915c4: c4720000 */ lwc1 $f18,0x0($v1) -/* f0915c8: 460e3202 */ mul.s $f8,$f6,$f14 -/* f0915cc: c4c60004 */ lwc1 $f6,0x4($a2) -/* f0915d0: 46128101 */ sub.s $f4,$f16,$f18 -/* f0915d4: c4700004 */ lwc1 $f16,0x4($v1) -/* f0915d8: c44a000c */ lwc1 $f10,0xc($v0) -/* f0915dc: 46082001 */ sub.s $f0,$f4,$f8 -/* f0915e0: 460e3102 */ mul.s $f4,$f6,$f14 -/* f0915e4: c4c60008 */ lwc1 $f6,0x8($a2) -/* f0915e8: 46105481 */ sub.s $f18,$f10,$f16 -/* f0915ec: c46a0008 */ lwc1 $f10,0x8($v1) -/* f0915f0: c4480010 */ lwc1 $f8,0x10($v0) -/* f0915f4: 46049081 */ sub.s $f2,$f18,$f4 -/* f0915f8: 460e3482 */ mul.s $f18,$f6,$f14 -/* f0915fc: 460a4401 */ sub.s $f16,$f8,$f10 -/* f091600: 46000102 */ mul.s $f4,$f0,$f0 -/* f091604: 00000000 */ nop -/* f091608: 46021202 */ mul.s $f8,$f2,$f2 -/* f09160c: 46128301 */ sub.s $f12,$f16,$f18 -/* f091610: 460c6182 */ mul.s $f6,$f12,$f12 -/* f091614: 46082280 */ add.s $f10,$f4,$f8 -/* f091618: 46065400 */ add.s $f16,$f10,$f6 -/* f09161c: 10000004 */ b .L0f091630 -/* f091620: e7b001dc */ swc1 $f16,0x1dc($sp) -.L0f091624: -/* f091624: 44819000 */ mtc1 $at,$f18 -/* f091628: 8fa6020c */ lw $a2,0x20c($sp) -/* f09162c: e7b201dc */ swc1 $f18,0x1dc($sp) -.L0f091630: -/* f091630: 8fad0054 */ lw $t5,0x54($sp) -/* f091634: 24010018 */ addiu $at,$zero,0x18 -/* f091638: 8fae0200 */ lw $t6,0x200($sp) -/* f09163c: 15a1006d */ bne $t5,$at,.L0f0917f4 -/* f091640: 00000000 */ nop -/* f091644: 0fc1eb7d */ jal chopperFromHovercar -/* f091648: 8dc40004 */ lw $a0,0x4($t6) -/* f09164c: 104001c9 */ beqz $v0,.L0f091d74 -/* f091650: 3c017f1b */ lui $at,%hi(var7f1ab20c) -/* f091654: c424b20c */ lwc1 $f4,%lo(var7f1ab20c)($at) -/* f091658: c7a801dc */ lwc1 $f8,0x1dc($sp) -/* f09165c: 4608203c */ c.lt.s $f4,$f8 -/* f091660: 00000000 */ nop -/* f091664: 450201c4 */ bc1fl .L0f091d78 -/* f091668: 8fbf0044 */ lw $ra,0x44($sp) -/* f09166c: c44a0080 */ lwc1 $f10,0x80($v0) -/* f091670: 2404011f */ addiu $a0,$zero,0x11f -/* f091674: 24050053 */ addiu $a1,$zero,0x52 -/* f091678: e7aa009c */ swc1 $f10,0x9c($sp) -/* f09167c: c446007c */ lwc1 $f6,0x7c($v0) -/* f091680: 00003025 */ or $a2,$zero,$zero -/* f091684: 0fc22e20 */ jal weaponCreateProjectileFromWeaponNum -/* f091688: e7a60098 */ swc1 $f6,0x98($sp) -/* f09168c: 104001b9 */ beqz $v0,.L0f091d74 -/* f091690: afa2017c */ sw $v0,0x17c($sp) -/* f091694: 0c00566c */ jal mtx4LoadIdentity -/* f091698: 27a4013c */ addiu $a0,$sp,0x13c -/* f09169c: c7ac009c */ lwc1 $f12,0x9c($sp) -/* f0916a0: 0c0058ba */ jal mtx4LoadXRotation -/* f0916a4: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916a8: c7ac0098 */ lwc1 $f12,0x98($sp) -/* f0916ac: 0c0058dd */ jal mtx4LoadYRotation -/* f0916b0: 27a500a0 */ addiu $a1,$sp,0xa0 -/* f0916b4: 27a400a0 */ addiu $a0,$sp,0xa0 -/* f0916b8: 0c0056f8 */ jal mtx00015be0 -/* f0916bc: 27a500e0 */ addiu $a1,$sp,0xe0 -/* f0916c0: 8fa3020c */ lw $v1,0x20c($sp) -/* f0916c4: 3c017f1b */ lui $at,%hi(var7f1ab210) -/* f0916c8: c422b210 */ lwc1 $f2,%lo(var7f1ab210)($at) -/* f0916cc: c4700000 */ lwc1 $f16,0x0($v1) -/* f0916d0: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f0916d4: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at) -/* f0916d8: 46028482 */ mul.s $f18,$f16,$f2 -/* f0916dc: 8fa20200 */ lw $v0,0x200($sp) -/* f0916e0: 8fa50208 */ lw $a1,0x208($sp) -/* f0916e4: 27af0130 */ addiu $t7,$sp,0x130 -/* f0916e8: 27b8013c */ addiu $t8,$sp,0x13c -/* f0916ec: 8fa4017c */ lw $a0,0x17c($sp) -/* f0916f0: 27a700e0 */ addiu $a3,$sp,0xe0 -/* f0916f4: e7b20120 */ swc1 $f18,0x120($sp) -/* f0916f8: c4640004 */ lwc1 $f4,0x4($v1) -/* f0916fc: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091700: 24460028 */ addiu $a2,$v0,0x28 -/* f091704: 46022202 */ mul.s $f8,$f4,$f2 -/* f091708: e7a80124 */ swc1 $f8,0x124($sp) -/* f09170c: c46a0008 */ lwc1 $f10,0x8($v1) -/* f091710: c7a40124 */ lwc1 $f4,0x124($sp) -/* f091714: afb80014 */ sw $t8,0x14($sp) -/* f091718: 46025182 */ mul.s $f6,$f10,$f2 -/* f09171c: afaf0010 */ sw $t7,0x10($sp) -/* f091720: afa20018 */ sw $v0,0x18($sp) -/* f091724: 46008482 */ mul.s $f18,$f16,$f0 -/* f091728: afa5001c */ sw $a1,0x1c($sp) -/* f09172c: 46002202 */ mul.s $f8,$f4,$f0 -/* f091730: e7a60128 */ swc1 $f6,0x128($sp) -/* f091734: c7aa0128 */ lwc1 $f10,0x128($sp) -/* f091738: e7b20130 */ swc1 $f18,0x130($sp) -/* f09173c: 46005182 */ mul.s $f6,$f10,$f0 -/* f091740: e7a80134 */ swc1 $f8,0x134($sp) -/* f091744: 0fc27af3 */ jal bgun0f09ebcc -/* f091748: e7a60138 */ swc1 $f6,0x138($sp) -/* f09174c: 8fa3017c */ lw $v1,0x17c($sp) -/* f091750: 8c790040 */ lw $t9,0x40($v1) -/* f091754: 33280080 */ andi $t0,$t9,0x80 -/* f091758: 51000187 */ beqzl $t0,.L0f091d78 -/* f09175c: 8fbf0044 */ lw $ra,0x44($sp) -/* f091760: 8c620048 */ lw $v0,0x48($v1) -/* f091764: 2409ffff */ addiu $t1,$zero,-1 -/* f091768: a4690062 */ sh $t1,0x62($v1) -/* f09176c: 8c4a0000 */ lw $t2,0x0($v0) -/* f091770: 3c01bf80 */ lui $at,0xbf80 -/* f091774: 44810000 */ mtc1 $at,$f0 -/* f091778: 354b0010 */ ori $t3,$t2,0x10 -/* f09177c: ac4b0000 */ sw $t3,0x0($v0) -/* f091780: 8c6c0048 */ lw $t4,0x48($v1) -/* f091784: c7b00120 */ lwc1 $f16,0x120($sp) -/* f091788: 240fffff */ addiu $t7,$zero,-1 -/* f09178c: 2418ffff */ addiu $t8,$zero,-1 -/* f091790: e5900010 */ swc1 $f16,0x10($t4) -/* f091794: 8c6d0048 */ lw $t5,0x48($v1) -/* f091798: c7b20124 */ lwc1 $f18,0x124($sp) -/* f09179c: 00002025 */ or $a0,$zero,$zero -/* f0917a0: 24068053 */ addiu $a2,$zero,-32685 -/* f0917a4: e5b20014 */ swc1 $f18,0x14($t5) -/* f0917a8: 8c6e0048 */ lw $t6,0x48($v1) -/* f0917ac: c7a40128 */ lwc1 $f4,0x128($sp) -/* f0917b0: 2407ffff */ addiu $a3,$zero,-1 -/* f0917b4: e5c40018 */ swc1 $f4,0x18($t6) -/* f0917b8: 8c650014 */ lw $a1,0x14($v1) -/* f0917bc: afb8002c */ sw $t8,0x2c($sp) -/* f0917c0: afa00028 */ sw $zero,0x28($sp) -/* f0917c4: afa00020 */ sw $zero,0x20($sp) -/* f0917c8: afa0001c */ sw $zero,0x1c($sp) -/* f0917cc: afa00018 */ sw $zero,0x18($sp) -/* f0917d0: afa00014 */ sw $zero,0x14($sp) -/* f0917d4: afaf0010 */ sw $t7,0x10($sp) -/* f0917d8: e7a00038 */ swc1 $f0,0x38($sp) -/* f0917dc: e7a00034 */ swc1 $f0,0x34($sp) -/* f0917e0: e7a00030 */ swc1 $f0,0x30($sp) -/* f0917e4: 0fc24e7e */ jal func0f0939f8 -/* f0917e8: e7a00024 */ swc1 $f0,0x24($sp) -/* f0917ec: 10000162 */ b .L0f091d78 -/* f0917f0: 8fbf0044 */ lw $ra,0x44($sp) -.L0f0917f4: -/* f0917f4: 8f39ae04 */ lw $t9,%lo(var8006ae04)($t9) -/* f0917f8: 93a80213 */ lbu $t0,0x213($sp) -/* f0917fc: 3c014780 */ lui $at,0x4780 -/* f091800: afb90094 */ sw $t9,0x94($sp) -/* f091804: a3a80094 */ sb $t0,0x94($sp) -/* f091808: 44810000 */ mtc1 $at,$f0 -/* f09180c: c4c80000 */ lwc1 $f8,0x0($a2) -/* f091810: c4660000 */ lwc1 $f6,0x0($v1) -/* f091814: 8fa40200 */ lw $a0,0x200($sp) -/* f091818: 46004282 */ mul.s $f10,$f8,$f0 -/* f09181c: 00002825 */ or $a1,$zero,$zero -/* f091820: 46065400 */ add.s $f16,$f10,$f6 -/* f091824: e7b001f0 */ swc1 $f16,0x1f0($sp) -/* f091828: c4d20004 */ lwc1 $f18,0x4($a2) -/* f09182c: c4680004 */ lwc1 $f8,0x4($v1) -/* f091830: 46009102 */ mul.s $f4,$f18,$f0 -/* f091834: 46082280 */ add.s $f10,$f4,$f8 -/* f091838: e7aa01f4 */ swc1 $f10,0x1f4($sp) -/* f09183c: c4c60008 */ lwc1 $f6,0x8($a2) -/* f091840: c4720008 */ lwc1 $f18,0x8($v1) -/* f091844: 46003402 */ mul.s $f16,$f6,$f0 -/* f091848: 46128100 */ add.s $f4,$f16,$f18 -/* f09184c: 0fc1905e */ jal propSetPerimEnabled -/* f091850: e7a401f8 */ swc1 $f4,0x1f8($sp) -/* f091854: 8fa50200 */ lw $a1,0x200($sp) -/* f091858: 24090010 */ addiu $t1,$zero,0x10 -/* f09185c: afa90010 */ sw $t1,0x10($sp) -/* f091860: 24a50028 */ addiu $a1,$a1,0x28 -/* f091864: afa50050 */ sw $a1,0x50($sp) -/* f091868: 8fa40208 */ lw $a0,0x208($sp) -/* f09186c: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091870: 0c00b764 */ jal cdTestAToB4 -/* f091874: 2407003b */ addiu $a3,$zero,0x3b -/* f091878: 1440000a */ bnez $v0,.L0f0918a4 -/* f09187c: 240a0001 */ addiu $t2,$zero,0x1 -/* f091880: 3c067f1b */ lui $a2,%hi(var7f1aa1c0) -/* f091884: afaa01fc */ sw $t2,0x1fc($sp) -/* f091888: 24c6a1c0 */ addiu $a2,$a2,%lo(var7f1aa1c0) -/* f09188c: 27a401f0 */ addiu $a0,$sp,0x1f0 -/* f091890: 0c0093af */ jal cdGetPos -/* f091894: 24055fa2 */ addiu $a1,$zero,0x5e49 -/* f091898: 0c0093ac */ jal cdGetObstacle -/* f09189c: 00000000 */ nop -/* f0918a0: afa201d8 */ sw $v0,0x1d8($sp) -.L0f0918a4: -/* f0918a4: 8fa40200 */ lw $a0,0x200($sp) -/* f0918a8: 0fc1905e */ jal propSetPerimEnabled -/* f0918ac: 24050001 */ addiu $a1,$zero,0x1 -/* f0918b0: 8fab0208 */ lw $t3,0x208($sp) -/* f0918b4: 8fac0214 */ lw $t4,0x214($sp) -/* f0918b8: c7a801f0 */ lwc1 $f8,0x1f0($sp) -/* f0918bc: c7a601f4 */ lwc1 $f6,0x1f4($sp) -/* f0918c0: c7b201f8 */ lwc1 $f18,0x1f8($sp) -/* f0918c4: c56a0000 */ lwc1 $f10,0x0($t3) -/* f0918c8: c5700004 */ lwc1 $f16,0x4($t3) -/* f0918cc: c5640008 */ lwc1 $f4,0x8($t3) -/* f0918d0: 460a4001 */ sub.s $f0,$f8,$f10 -/* f0918d4: 46103081 */ sub.s $f2,$f6,$f16 -/* f0918d8: 1180007b */ beqz $t4,.L0f091ac8 -/* f0918dc: 46049301 */ sub.s $f12,$f18,$f4 -/* f0918e0: 46000202 */ mul.s $f8,$f0,$f0 -/* f0918e4: c7a401dc */ lwc1 $f4,0x1dc($sp) -/* f0918e8: 46021282 */ mul.s $f10,$f2,$f2 -/* f0918ec: 460a4180 */ add.s $f6,$f8,$f10 -/* f0918f0: 460c6402 */ mul.s $f16,$f12,$f12 -/* f0918f4: 46103480 */ add.s $f18,$f6,$f16 -/* f0918f8: 4612203e */ c.le.s $f4,$f18 -/* f0918fc: 00000000 */ nop -/* f091900: 45020072 */ bc1fl .L0f091acc -/* f091904: 8fae01fc */ lw $t6,0x1fc($sp) -/* f091908: 0c012974 */ jal sqrtf -/* f09190c: 46002306 */ mov.s $f12,$f4 -/* f091910: 8fa20214 */ lw $v0,0x214($sp) -/* f091914: 3c0141a0 */ lui $at,0x41a0 -/* f091918: 44813000 */ mtc1 $at,$f6 -/* f09191c: c4480008 */ lwc1 $f8,0x8($v0) -/* f091920: 8fa40208 */ lw $a0,0x208($sp) -/* f091924: 8fa5020c */ lw $a1,0x20c($sp) -/* f091928: e7a80084 */ swc1 $f8,0x84($sp) -/* f09192c: c44a000c */ lwc1 $f10,0xc($v0) -/* f091930: 27a60084 */ addiu $a2,$sp,0x84 -/* f091934: 3c0741f0 */ lui $a3,0x41f0 -/* f091938: 46065401 */ sub.s $f16,$f10,$f6 -/* f09193c: e7b00088 */ swc1 $f16,0x88($sp) -/* f091940: c4520010 */ lwc1 $f18,0x10($v0) -/* f091944: e7a00090 */ swc1 $f0,0x90($sp) -/* f091948: 0fc1ace7 */ jal func0f06b39c -/* f09194c: e7b2008c */ swc1 $f18,0x8c($sp) -/* f091950: 1040005d */ beqz $v0,.L0f091ac8 -/* f091954: c7a20090 */ lwc1 $f2,0x90($sp) -/* f091958: 3c014348 */ lui $at,0x4348 -/* f09195c: 44816000 */ mtc1 $at,$f12 -/* f091960: 3c017f1b */ lui $at,%hi(var7f1ab214) -/* f091964: c424b214 */ lwc1 $f4,%lo(var7f1ab214)($at) -/* f091968: 3c01800a */ lui $at,%hi(g_Vars+0x4c) -/* f09196c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at) -/* f091970: 8fad0204 */ lw $t5,0x204($sp) -/* f091974: 4602603c */ c.lt.s $f12,$f2 -/* f091978: 46082282 */ mul.s $f10,$f4,$f8 -/* f09197c: c5a6000c */ lwc1 $f6,0xc($t5) -/* f091980: 8fae0204 */ lw $t6,0x204($sp) -/* f091984: 46065002 */ mul.s $f0,$f10,$f6 -/* f091988: 45020005 */ bc1fl .L0f0919a0 -/* f09198c: c5d20014 */ lwc1 $f18,0x14($t6) -/* f091990: 46026403 */ div.s $f16,$f12,$f2 -/* f091994: 46100002 */ mul.s $f0,$f0,$f16 -/* f091998: 00000000 */ nop -/* f09199c: c5d20014 */ lwc1 $f18,0x14($t6) -.L0f0919a0: -/* f0919a0: 3c013f80 */ lui $at,0x3f80 -/* f0919a4: 44814000 */ mtc1 $at,$f8 -/* f0919a8: 46009100 */ add.s $f4,$f18,$f0 -/* f0919ac: 4604403e */ c.le.s $f8,$f4 -/* f0919b0: e5c40014 */ swc1 $f4,0x14($t6) -/* f0919b4: 8fa20214 */ lw $v0,0x214($sp) -/* f0919b8: 45020044 */ bc1fl .L0f091acc -/* f0919bc: 8fae01fc */ lw $t6,0x1fc($sp) -/* f0919c0: afa001fc */ sw $zero,0x1fc($sp) -/* f0919c4: c44a0008 */ lwc1 $f10,0x8($v0) -/* f0919c8: e7aa01f0 */ swc1 $f10,0x1f0($sp) -/* f0919cc: c446000c */ lwc1 $f6,0xc($v0) -/* f0919d0: e7a601f4 */ swc1 $f6,0x1f4($sp) -/* f0919d4: c4500010 */ lwc1 $f16,0x10($v0) -/* f0919d8: 0c004b70 */ jal random -/* f0919dc: e7b001f8 */ swc1 $f16,0x1f8($sp) -/* f0919e0: 304f0001 */ andi $t7,$v0,0x1 -/* f0919e4: 11e00012 */ beqz $t7,.L0f091a30 -/* f0919e8: 00000000 */ nop -/* f0919ec: 0c004b70 */ jal random -/* f0919f0: 00000000 */ nop -/* f0919f4: 2401000a */ addiu $at,$zero,0xa -/* f0919f8: 0041001b */ divu $zero,$v0,$at -/* f0919fc: 0000c010 */ mfhi $t8 -/* f091a00: 27190002 */ addiu $t9,$t8,0x2 -/* f091a04: 44992000 */ mtc1 $t9,$f4 -/* f091a08: c7b201f4 */ lwc1 $f18,0x1f4($sp) -/* f091a0c: 07210005 */ bgez $t9,.L0f091a24 -/* f091a10: 46802220 */ cvt.s.w $f8,$f4 -/* f091a14: 3c014f80 */ lui $at,0x4f80 -/* f091a18: 44815000 */ mtc1 $at,$f10 -/* f091a1c: 00000000 */ nop -/* f091a20: 460a4200 */ add.s $f8,$f8,$f10 -.L0f091a24: -/* f091a24: 46089180 */ add.s $f6,$f18,$f8 -/* f091a28: 10000011 */ b .L0f091a70 -/* f091a2c: e7a601f4 */ swc1 $f6,0x1f4($sp) -.L0f091a30: -/* f091a30: 0c004b70 */ jal random -/* f091a34: 00000000 */ nop -/* f091a38: 2401000a */ addiu $at,$zero,0xa -/* f091a3c: 0041001b */ divu $zero,$v0,$at -/* f091a40: 00004010 */ mfhi $t0 -/* f091a44: 25090002 */ addiu $t1,$t0,0x2 -/* f091a48: 44892000 */ mtc1 $t1,$f4 -/* f091a4c: c7b001f4 */ lwc1 $f16,0x1f4($sp) -/* f091a50: 05210005 */ bgez $t1,.L0f091a68 -/* f091a54: 468022a0 */ cvt.s.w $f10,$f4 -/* f091a58: 3c014f80 */ lui $at,0x4f80 -/* f091a5c: 44819000 */ mtc1 $at,$f18 -/* f091a60: 00000000 */ nop -/* f091a64: 46125280 */ add.s $f10,$f10,$f18 -.L0f091a68: -/* f091a68: 460a8201 */ sub.s $f8,$f16,$f10 -/* f091a6c: e7a801f4 */ swc1 $f8,0x1f4($sp) -.L0f091a70: -/* f091a70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a74: 8fa50214 */ lw $a1,0x214($sp) -/* f091a78: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091a7c: 2406ffff */ addiu $a2,$zero,-1 -/* f091a80: 0fc2c74a */ jal gsetGetDamage -/* f091a84: 27a40094 */ addiu $a0,$sp,0x94 -/* f091a88: 8fab0204 */ lw $t3,0x204($sp) -/* f091a8c: 8faa0214 */ lw $t2,0x214($sp) -/* f091a90: 240c00c8 */ addiu $t4,$zero,0xc8 -/* f091a94: c5660010 */ lwc1 $f6,0x10($t3) -/* f091a98: 8d440004 */ lw $a0,0x4($t2) -/* f091a9c: afac0014 */ sw $t4,0x14($sp) -/* f091aa0: 46060102 */ mul.s $f4,$f0,$f6 -/* f091aa4: afa00010 */ sw $zero,0x10($sp) -/* f091aa8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091aac: 27a70094 */ addiu $a3,$sp,0x94 -/* f091ab0: 44052000 */ mfc1 $a1,$f4 -/* f091ab4: 0fc0d0cc */ jal chrDamageByImpact -/* f091ab8: 00000000 */ nop -/* f091abc: 44809000 */ mtc1 $zero,$f18 -/* f091ac0: 8fad0204 */ lw $t5,0x204($sp) -/* f091ac4: e5b20014 */ swc1 $f18,0x14($t5) -.L0f091ac8: -/* f091ac8: 8fae01fc */ lw $t6,0x1fc($sp) -.L0f091acc: -/* f091acc: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091ad0: 51c00093 */ beqzl $t6,.L0f091d20 -/* f091ad4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ad8: 11e0007d */ beqz $t7,.L0f091cd0 -/* f091adc: 8fa40208 */ lw $a0,0x208($sp) -/* f091ae0: 91e20000 */ lbu $v0,0x0($t7) -/* f091ae4: 24010003 */ addiu $at,$zero,0x3 -/* f091ae8: 2418ffff */ addiu $t8,$zero,-1 -/* f091aec: 10410004 */ beq $v0,$at,.L0f091b00 -/* f091af0: 241900c8 */ addiu $t9,$zero,0xc8 -/* f091af4: 24010006 */ addiu $at,$zero,0x6 -/* f091af8: 54410040 */ bnel $v0,$at,.L0f091bfc -/* f091afc: 24010001 */ addiu $at,$zero,0x1 -.L0f091b00: -/* f091b00: 8fa801d8 */ lw $t0,0x1d8($sp) -/* f091b04: 8faa0054 */ lw $t2,0x54($sp) -/* f091b08: afa0007c */ sw $zero,0x7c($sp) -/* f091b0c: afa00078 */ sw $zero,0x78($sp) -/* f091b10: afb80074 */ sw $t8,0x74($sp) -/* f091b14: afb90070 */ sw $t9,0x70($sp) -/* f091b18: 8d090004 */ lw $t1,0x4($t0) -/* f091b1c: 24010059 */ addiu $at,$zero,0x58 -/* f091b20: 11410005 */ beq $t2,$at,.L0f091b38 -/* f091b24: afa9006c */ sw $t1,0x6c($sp) -/* f091b28: 27a40094 */ addiu $a0,$sp,0x94 -/* f091b2c: 01002825 */ or $a1,$t0,$zero -/* f091b30: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091b34: 2406ffff */ addiu $a2,$zero,-1 -.L0f091b38: -/* f091b38: 8fab006c */ lw $t3,0x6c($sp) -/* f091b3c: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091b40: 8fa6020c */ lw $a2,0x20c($sp) -/* f091b44: 8d6c0020 */ lw $t4,0x20($t3) -/* f091b48: 27a7007c */ addiu $a3,$sp,0x7c -/* f091b4c: 27ad0070 */ addiu $t5,$sp,0x70 -/* f091b50: 11800007 */ beqz $t4,.L0f091b70 -/* f091b54: 01602025 */ or $a0,$t3,$zero -/* f091b58: 27ae0078 */ addiu $t6,$sp,0x78 -/* f091b5c: 27af0074 */ addiu $t7,$sp,0x74 -/* f091b60: afaf0018 */ sw $t7,0x18($sp) -/* f091b64: afae0014 */ sw $t6,0x14($sp) -/* f091b68: 0fc0ffcb */ jal chrCalculateShieldHit -/* f091b6c: afad0010 */ sw $t5,0x10($sp) -.L0f091b70: -/* f091b70: 8fb8020c */ lw $t8,0x20c($sp) -/* f091b74: 8fa4006c */ lw $a0,0x6c($sp) -/* f091b78: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091b7c: 8fa60070 */ lw $a2,0x70($sp) -/* f091b80: 27a701f0 */ addiu $a3,$sp,0x1f0 -/* f091b84: afa00014 */ sw $zero,0x14($sp) -/* f091b88: 0fc097a9 */ jal chrEmitSparks -/* f091b8c: afb80010 */ sw $t8,0x10($sp) -/* f091b90: 93b90187 */ lbu $t9,0x187($sp) -/* f091b94: 8faa006c */ lw $t2,0x6c($sp) -/* f091b98: 13200002 */ beqz $t9,.L0f091ba4 -/* f091b9c: 24091388 */ addiu $t1,$zero,0x1388 -/* f091ba0: a54902d8 */ sh $t1,0x2d8($t2) -.L0f091ba4: -/* f091ba4: 0fc2c74a */ jal gsetGetDamage -/* f091ba8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091bac: 8fa80070 */ lw $t0,0x70($sp) -/* f091bb0: 8fac01d8 */ lw $t4,0x1d8($sp) -/* f091bb4: 8fab007c */ lw $t3,0x7c($sp) -/* f091bb8: 8fad0078 */ lw $t5,0x78($sp) -/* f091bbc: 8fae0074 */ lw $t6,0x74($sp) -/* f091bc0: 44050000 */ mfc1 $a1,$f0 -/* f091bc4: 8fa4006c */ lw $a0,0x6c($sp) -/* f091bc8: 8fa6020c */ lw $a2,0x20c($sp) -/* f091bcc: 27a70094 */ addiu $a3,$sp,0x94 -/* f091bd0: afa00010 */ sw $zero,0x10($sp) -/* f091bd4: afa00028 */ sw $zero,0x28($sp) -/* f091bd8: afa80014 */ sw $t0,0x14($sp) -/* f091bdc: afac0018 */ sw $t4,0x18($sp) -/* f091be0: afab001c */ sw $t3,0x1c($sp) -/* f091be4: afad0020 */ sw $t5,0x20($sp) -/* f091be8: 0fc0d077 */ jal func0f0341dc -/* f091bec: afae0024 */ sw $t6,0x24($sp) -/* f091bf0: 1000004b */ b .L0f091d20 -/* f091bf4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091bf8: 24010001 */ addiu $at,$zero,0x1 -.L0f091bfc: -/* f091bfc: 10410006 */ beq $v0,$at,.L0f091c18 -/* f091c00: 8faf01d8 */ lw $t7,0x1d8($sp) -/* f091c04: 24010004 */ addiu $at,$zero,0x4 -/* f091c08: 10410003 */ beq $v0,$at,.L0f091c18 -/* f091c0c: 24010002 */ addiu $at,$zero,0x2 -/* f091c10: 54410043 */ bnel $v0,$at,.L0f091d20 -/* f091c14: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091c18: -/* f091c18: 8fb90054 */ lw $t9,0x54($sp) -/* f091c1c: 8df80004 */ lw $t8,0x4($t7) -/* f091c20: 24010059 */ addiu $at,$zero,0x58 -/* f091c24: 13210005 */ beq $t9,$at,.L0f091c3c -/* f091c28: afb80068 */ sw $t8,0x68($sp) -/* f091c2c: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c30: 01e02825 */ or $a1,$t7,$zero -/* f091c34: 0fc29f66 */ jal bgunPlayPropHitSound -/* f091c38: 2406ffff */ addiu $a2,$zero,-1 -.L0f091c3c: -/* f091c3c: 8fa40208 */ lw $a0,0x208($sp) -/* f091c40: 8fa50050 */ lw $a1,0x50($sp) -/* f091c44: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c48: 0fc1979d */ jal func0f065e74 -/* f091c4c: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091c50: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091c54: 8fa501d8 */ lw $a1,0x1d8($sp) -/* f091c58: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c5c: 00003825 */ or $a3,$zero,$zero -/* f091c60: afa00010 */ sw $zero,0x10($sp) -/* f091c64: 0fc4be7c */ jal sparksCreate -/* f091c68: afa00014 */ sw $zero,0x14($sp) -/* f091c6c: 0fc2c74a */ jal gsetGetDamage -/* f091c70: 27a40094 */ addiu $a0,$sp,0x94 -/* f091c74: 8fa901d8 */ lw $t1,0x1d8($sp) -/* f091c78: 44050000 */ mfc1 $a1,$f0 -/* f091c7c: 240affff */ addiu $t2,$zero,-1 -/* f091c80: 8d240004 */ lw $a0,0x4($t1) -/* f091c84: afaa0010 */ sw $t2,0x10($sp) -/* f091c88: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091c8c: 0fc2149c */ jal objTakeGunfire -/* f091c90: 8fa70054 */ lw $a3,0x54($sp) -/* f091c94: 8fa20068 */ lw $v0,0x68($sp) -/* f091c98: 24010008 */ addiu $at,$zero,0x8 -/* f091c9c: 90480003 */ lbu $t0,0x3($v0) -/* f091ca0: 5501001f */ bnel $t0,$at,.L0f091d20 -/* f091ca4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091ca8: 904c005c */ lbu $t4,0x5c($v0) -/* f091cac: 2401000f */ addiu $at,$zero,0xf -/* f091cb0: 5581001b */ bnel $t4,$at,.L0f091d20 -/* f091cb4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cb8: 904b005f */ lbu $t3,0x5f($v0) -/* f091cbc: 24010001 */ addiu $at,$zero,0x1 -/* f091cc0: 55610017 */ bnel $t3,$at,.L0f091d20 -/* f091cc4: 93ae01c7 */ lbu $t6,0x1c7($sp) -/* f091cc8: 10000014 */ b .L0f091d1c -/* f091ccc: a4400062 */ sh $zero,0x62($v0) -.L0f091cd0: -/* f091cd0: 8fa50050 */ lw $a1,0x50($sp) -/* f091cd4: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091cd8: 0fc1979d */ jal func0f065e74 -/* f091cdc: 27a701c8 */ addiu $a3,$sp,0x1c8 -/* f091ce0: 8fad0054 */ lw $t5,0x54($sp) -/* f091ce4: 24010059 */ addiu $at,$zero,0x58 -/* f091ce8: 27a40094 */ addiu $a0,$sp,0x94 -/* f091cec: 11a10004 */ beq $t5,$at,.L0f091d00 -/* f091cf0: 27a501f0 */ addiu $a1,$sp,0x1f0 -/* f091cf4: 2406ffff */ addiu $a2,$zero,-1 -/* f091cf8: 0fc2a132 */ jal bgunPlayBgHitSound -/* f091cfc: 27a701c8 */ addiu $a3,$sp,0x1c8 -.L0f091d00: -/* f091d00: 87a401c8 */ lh $a0,0x1c8($sp) -/* f091d04: 00002825 */ or $a1,$zero,$zero -/* f091d08: 27a601f0 */ addiu $a2,$sp,0x1f0 -/* f091d0c: 00003825 */ or $a3,$zero,$zero -/* f091d10: afa00010 */ sw $zero,0x10($sp) -/* f091d14: 0fc4be7c */ jal sparksCreate -/* f091d18: afa00014 */ sw $zero,0x14($sp) -.L0f091d1c: -/* f091d1c: 93ae01c7 */ lbu $t6,0x1c7($sp) -.L0f091d20: -/* f091d20: 8fb80204 */ lw $t8,0x204($sp) -/* f091d24: 93af01c7 */ lbu $t7,0x1c7($sp) -/* f091d28: 15c00006 */ bnez $t6,.L0f091d44 -/* f091d2c: 93aa01c7 */ lbu $t2,0x1c7($sp) -/* f091d30: 53000011 */ beqzl $t8,.L0f091d78 -/* f091d34: 8fbf0044 */ lw $ra,0x44($sp) -/* f091d38: 93190001 */ lbu $t9,0x1($t8) -/* f091d3c: 5320000e */ beqzl $t9,.L0f091d78 -/* f091d40: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d44: -/* f091d44: 11e00003 */ beqz $t7,.L0f091d54 -/* f091d48: 27a6018c */ addiu $a2,$sp,0x18c -/* f091d4c: 10000003 */ b .L0f091d5c -/* f091d50: 27a40198 */ addiu $a0,$sp,0x198 -.L0f091d54: -/* f091d54: 8fa90204 */ lw $t1,0x204($sp) -/* f091d58: 8d240004 */ lw $a0,0x4($t1) -.L0f091d5c: -/* f091d5c: 11400003 */ beqz $t2,.L0f091d6c -/* f091d60: 8fa50054 */ lw $a1,0x54($sp) -/* f091d64: 10000001 */ b .L0f091d6c -/* f091d68: 24050002 */ addiu $a1,$zero,0x2 -.L0f091d6c: -/* f091d6c: 0fc2af9c */ jal beamCreate -/* f091d70: 27a701f0 */ addiu $a3,$sp,0x1f0 -.L0f091d74: -/* f091d74: 8fbf0044 */ lw $ra,0x44($sp) -.L0f091d78: -/* f091d78: 27bd0200 */ addiu $sp,$sp,0x200 -/* f091d7c: 03e00008 */ jr $ra -/* f091d80: 00000000 */ nop -); + cdGetPos(&endpos, 24137, "propobj.c"); #endif + obstacle = cdGetObstacle(); + } + + propSetPerimEnabled(fromprop, true); + + x = endpos.x - pos->x; + y = endpos.y - pos->y; + z = endpos.z - pos->z; + + if (targetprop && sqdist <= x * x + y * y + z * z) { + f32 dist = sqrtf(sqdist); + struct coord aimpos; + + aimpos.x = targetprop->pos.x; + aimpos.y = targetprop->pos.y - 20.0f; + aimpos.z = targetprop->pos.z; + + if (func0f06b39c(pos, dir, &aimpos, 30)) { + f32 f0 = 0.16f * g_Vars.lvupdate240freal * arg1->unk0c; + + if (dist > 200.0f) { + f0 *= 200.0f / dist; + } + + arg1->unk14 += f0; + + if (arg1->unk14 >= 1.0f) { + blocked = false; + + endpos.x = targetprop->pos.x; + endpos.y = targetprop->pos.y; + endpos.z = targetprop->pos.z; + + if (random() % 2) { + endpos.y += (random() % 10) + 2; + } else { + endpos.y -= (random() % 10) + 2; + } + + bgunPlayPropHitSound(&gset, targetprop, -1); + chrDamageByImpact(targetprop->chr, gsetGetDamage(&gset) * arg1->unk10, dir, &gset, 0, 200); + arg1->unk14 = 0.0f; + } + } + } + + if (blocked) { + if (obstacle) { + if (obstacle->type == PROPTYPE_CHR || obstacle->type == PROPTYPE_PLAYER) { + struct modelnode *node = NULL; + struct model *model = NULL; + s32 side = -1; + s32 hitpart = HITPART_GENERAL; + struct chrdata *chr = obstacle->chr; + + if (weaponnum != WEAPON_CHOPPERGUN) { + bgunPlayPropHitSound(&gset, obstacle, -1); + } + + if (chr->model) { + chrCalculateShieldHit(chr, &endpos, dir, &node, &hitpart, &model, &side); + } + + chrEmitSparks(chr, obstacle, hitpart, &endpos, dir, NULL); + + if (drug) { + chr->blurdrugamount = TICKS(5000); + } + + func0f0341dc(chr, gsetGetDamage(&gset), dir, &gset, 0, hitpart, obstacle, node, model, side, NULL); + } else if (obstacle->type == PROPTYPE_OBJ || obstacle->type == PROPTYPE_WEAPON || obstacle->type == PROPTYPE_DOOR) { + struct defaultobj *obj = obstacle->obj; + + if (weaponnum != WEAPON_CHOPPERGUN) { + bgunPlayPropHitSound(&gset, obstacle, -1); + } + + func0f065e74(pos, fromprop->rooms, &endpos, sp1c8); + sparksCreate(sp1c8[0], obstacle, &endpos, NULL, NULL, SPARKTYPE_00); + objTakeGunfire(obstacle->obj, gsetGetDamage(&gset), &endpos, weaponnum, -1); + + if (obj->type == OBJTYPE_WEAPON) { + struct weaponobj *weapon = (struct weaponobj *)obj; + + if (weapon->weaponnum == WEAPON_DRAGON && weapon->gunfunc == FUNC_SECONDARY) { + weapon->timer240 = 0; + } + } + } + } else { + func0f065e74(pos, fromprop->rooms, &endpos, sp1c8); + + if (weaponnum != WEAPON_CHOPPERGUN) { + bgunPlayBgHitSound(&gset, &endpos, -1, sp1c8); + } + + sparksCreate(sp1c8[0], NULL, &endpos, NULL, NULL, SPARKTYPE_00); + } + } + + if (forcebeam || (arg1 && arg1->unk01)) { + struct beam *beamptr; + + if (forcebeam) { + beamptr = &beam; + } else { + beamptr = arg1->beam; + } + + beamCreate(beamptr, forcebeam ? WEAPON_FALCON2 : weaponnum, &frompos, &endpos); + } + } + } +} void objSetModelPartVisible(struct defaultobj *obj, s32 partnum, bool visible) { @@ -67125,5 +64447,3 @@ Gfx *func0f091e04(Gfx *gdl, u32 arg1) { return gdl; } - -u32 var8006ae04 = 0x00000000; diff --git a/src/include/game/propobj.h b/src/include/game/propobj.h index 3e1caf415..6a9d2dd0f 100644 --- a/src/include/game/propobj.h +++ b/src/include/game/propobj.h @@ -108,7 +108,7 @@ void func0f06ac90(struct prop *prop); void objFree(struct defaultobj *obj, bool freeprop, bool canregen); void objFreePermanently(struct defaultobj *obj, bool freeprop); f32 objGetWidth(struct defaultobj *obj); -bool func0f06b39c(struct coord *arg0, struct coord *arg1, struct coord *arg2, f32 arg3); +bool func0f06b39c(struct coord *pos, struct coord *dir, struct coord *aimpos, f32 arg3); bool func0f06b488(struct prop *prop, struct coord *arg1, struct coord *arg2, struct coord *arg3, struct coord *arg4, struct coord *arg5, f32 *arg6); bool func0f06b610(struct defaultobj *obj, struct coord *arg1, struct coord *arg2, struct coord *arg3, f32 arg4, struct coord *arg5, struct coord *arg6, struct coord *arg7, struct coord *arg8, f32 *arg9); bool func0f06bea0(struct model *model, struct modelnode *arg1, struct modelnode *arg2, struct coord *arg3, struct coord *arg4, void *arg5, f32 *arg6, struct modelnode **arg7, s32 *hitpart, s32 *arg9, struct modelnode **arg10); @@ -348,7 +348,7 @@ void alarmTick(void); void func0f091030(void); void currentPlayerDropAllItems(void); void weaponCreateForPlayerDrop(s32 weaponnum); -void projectileCreate(struct prop *fromprop, struct fireslotthing *arg1, struct coord *pos, struct coord *direction, s32 weaponnum, struct prop *targetprop); +void projectileCreate(struct prop *fromprop, struct fireslotthing *arg1, struct coord *pos, struct coord *direction, u8 weaponnum, struct prop *targetprop); void objSetModelPartVisible(struct defaultobj *obj, s32 partnum, bool visible); #endif diff --git a/src/include/types.h b/src/include/types.h index 0469c62e3..c1dc0db0d 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -1466,8 +1466,8 @@ struct projectile { /*0x000*/ u32 flags; /*0x004*/ struct coord speed; // distance moved in last tick /*0x010*/ f32 unk010; - /*0x014*/ f32 xrot; - /*0x018*/ f32 yrot; + /*0x014*/ f32 unk014; + /*0x018*/ f32 unk018; /*0x01c*/ f32 unk01c; /*0x020*/ Mtxf unk020; /*0x060*/ f32 unk060; @@ -3718,7 +3718,7 @@ struct room { struct fireslotthing { /*0x00*/ u8 unk00; - /*0x01*/ s8 unk01; + /*0x01*/ u8 unk01; /*0x04*/ struct beam *beam; /*0x08*/ s32 unk08; /*0x0c*/ f32 unk0c;