perfect_dark/src/game/propobj.c

72110 lines
2.6 MiB

#include <ultra64.h>
#include "constants.h"
#include "game/bondmove.h"
#include "game/bondwalk.h"
#include "game/cheats.h"
#include "game/chr/chraction.h"
#include "game/chr/chrai.h"
#include "game/debug.h"
#include "game/dlights.h"
#include "game/nbomb.h"
#include "game/game_011110.h"
#include "game/chr/chr.h"
#include "game/prop.h"
#include "game/game_091e10.h"
#include "game/game_092610.h"
#include "game/game_095320.h"
#include "game/game_096360.h"
#include "game/atan2f.h"
#include "game/acosfasinf.h"
#include "game/game_096ca0.h"
#include "game/floor.h"
#include "game/ceil.h"
#include "game/bondgun.h"
#include "game/game_0abe70.h"
#include "game/game_0b0fd0.h"
#include "game/game_0b28d0.h"
#include "game/game_0b3350.h"
#include "game/game_0b4950.h"
#include "game/game_0b63b0.h"
#include "game/player.h"
#include "game/game_0c33f0.h"
#include "game/hudmsg.h"
#include "game/menu.h"
#include "game/inventory/inventory.h"
#include "game/game_127910.h"
#include "game/game_1291b0.h"
#include "game/game_129210.h"
#include "game/explosions/explosions.h"
#include "game/smoke/smoke.h"
#include "game/sparks/sparks.h"
#include "game/game_1531a0.h"
#include "game/bg.h"
#include "game/game_1655c0.h"
#include "game/game_165670.h"
#include "game/game_1657c0.h"
#include "game/gfxmemory.h"
#include "game/lv.h"
#include "game/mplayer/setup.h"
#include "game/mplayer/scenarios.h"
#include "game/mpstats.h"
#include "game/bot.h"
#include "game/botact.h"
#include "game/training/training.h"
#include "game/lang.h"
#include "game/mplayer/mplayer.h"
#include "game/pad.h"
#include "game/options.h"
#include "game/propobj.h"
#include "game/wallhit.h"
#include "game/shards.h"
#include "bss.h"
#include "tvcmds.h"
#include "lib/vi.h"
#include "lib/dma.h"
#include "lib/main.h"
#include "lib/snd.h"
#include "lib/memp.h"
#include "lib/model.h"
#include "lib/rng.h"
#include "lib/mtx.h"
#include "lib/anim.h"
#include "lib/collision.h"
#include "lib/lib_317f0.h"
#include "data.h"
#include "types.h"
#if VERSION < VERSION_PAL_FINAL
const char var7f1a9f60[] = "debugdoors";
#endif
const char var7f1a9f6c[] = "scol";
const char var7f1a9f74[] = "salp";
#if VERSION >= VERSION_PAL_FINAL
const char var7f1a9f7c[] = "prop/propobj.c";
const char var7f1a9f88[] = "prop/propobj.c";
const char var7f1a9f94[] = "prop/propobj.c";
const char var7f1a9fa0[] = "prop/propobj.c";
const char var7f1a9fac[] = "prop/propobj.c";
const char var7f1a9fb8[] = "prop/propobj.c";
const char var7f1a9fc4[] = "prop/propobj.c";
#else
const char var7f1a9f7c[] = "propobj.c";
const char var7f1a9f88[] = "propobj.c";
const char var7f1a9f94[] = "propobj.c";
const char var7f1a9fa0[] = "propobj.c";
const char var7f1a9fac[] = "propobj.c";
const char var7f1a9fb8[] = "propobj.c";
const char var7f1a9fc4[] = "propobj.c";
#endif
const char var7f1a9fd0[] = "kkg";
const char var7f1a9fd4[] = "kkd";
const char var7f1a9fd8[] = "kkp";
struct weaponobj *g_Proxies[30];
f32 g_GasReleaseTimerMax240;
bool g_GasEnableDamage;
s32 g_MaxWeaponSlots;
s32 g_MaxHatSlots;
s32 g_MaxAmmoCrates;
s32 var8009ce4c;
s32 g_MaxProjectiles;
s32 g_MaxMonitorThings;
struct weaponobj *g_WeaponSlots;
struct hatobj *g_HatSlots;
struct ammocrateobj *g_AmmoCrates;
struct defaultobj *var8009ce64;
struct projectile *g_Projectiles;
struct monitorthing *g_MonitorThings;
u32 g_TintedGlassEnabled = 0;
s32 g_AlarmTimer = 0;
struct sndstate *g_AlarmAudioHandle = NULL;
f32 g_AlarmSpeakerWeight = 64;
f32 g_AlarmSpeakerDirection = 1;
f32 g_GasReleaseTimer240 = 0;
bool g_GasReleasing = false;
struct coord g_GasPos = {0};
s32 g_GasLastCough60 = 0;
f32 g_GasSoundTimer240 = 0;
struct sndstate *g_GasAudioHandle = NULL;
u32 g_CountdownTimerOff = COUNTDOWNTIMERREASON_AI;
bool g_CountdownTimerRunning = false;
f32 g_CountdownTimerValue60 = 0;
u32 g_PlayersDetonatingMines = 0x00000000;
s32 g_NextWeaponSlot = 0;
s32 g_NextHatSlot = 0;
struct linkliftdoorobj *g_LiftDoors = NULL;
struct padlockeddoorobj *g_PadlockedDoors = NULL;
struct safeitemobj *g_SafeItems = NULL;
struct linksceneryobj *g_LinkedScenery = NULL;
struct blockedpathobj *g_BlockedPaths = NULL;
u32 var80069930 = 0x00000000;
s32 var80069934 = 0;
u32 var80069938 = 0x00000000;
u32 var8006993c = 0x00000000;
u32 var80069940 = 0x00000000;
u32 var80069944 = 0x00000000;
f32 g_CameraWaitMultiplier = 1;
f32 var8006994c = 1;
f32 var80069950 = 1;
f32 var80069954 = 1;
f32 var80069958 = 1;
f32 g_AmmoMultiplier = 1;
struct padeffectobj *g_PadEffects = NULL;
s32 g_LastPadEffectIndex = -1;
struct autogunobj *g_ThrownLaptops = NULL;
struct beam *g_ThrownLaptopBeams = NULL;
s32 g_MaxThrownLaptops = 0;
#if VERSION < VERSION_PAL_FINAL
u32 var80069974 = 0x00000000;
#endif
u32 var80069978 = 0x00000000;
u32 var8006997c = 0x00000000;
u32 var80069980 = 0x0100000f;
u32 var80069984 = 0x0000ffff;
u32 var80069988 = 0x00000001;
u32 var8006998c = 0x00000000;
u32 var80069990 = 0x00000000;
u32 var80069994 = 0x00000000;
u32 var80069998 = 0x00000000;
u32 var8006999c = 0x3f800000;
u32 var800699a0 = 0x00000000;
u32 var800699a4 = 0x00000000;
u32 var800699a8 = 0x00000000;
u32 var800699ac = 0x3f800000;
u32 var800699b0 = 0x00000000;
u32 var800699b4 = 0x00000000;
u32 var800699b8 = 0x00000000;
u32 var800699bc = 0x3f800000;
u32 var800699c0 = 0x00000000;
u32 var800699c4 = 0x00000000;
u32 var800699c8 = 0x00000000;
u32 var800699cc = 0x000003e8;
u32 var800699d0 = 0xffffff00;
u32 var800699d4 = 0xffffff00;
u32 var800699d8 = 0x0fff0000;
u32 var800699dc = 0x00000000;
u32 var800699e0 = 0x00000000;
u32 var800699e4 = 0x00000000;
u32 var800699e8 = 0x00000000;
u32 var800699ec = 0x00000000;
u32 var800699f0 = 0x00000000;
u32 var800699f4 = 0x80748074;
u32 var800699f8 = 0x80740000;
u32 var800699fc = 0x00000000;
u32 var80069a00 = 0xc1200000;
u32 var80069a04 = 0x00000000;
u32 var80069a08 = 0x00000000;
u32 var80069a0c = 0x00000001;
u32 var80069a10 = 0x00000003;
u32 var80069a14 = 0x00000000;
u32 var80069a18 = 0x00000000;
u32 var80069a1c = 0x00000000;
u32 var80069a20 = 0x00000000;
u32 var80069a24 = 0x00000000;
u32 var80069a28 = 0x00000000;
u32 var80069a2c = 0x00000000;
u32 var80069a30 = 0x00000000;
u32 var80069a34 = 0x00000000;
u32 var80069a38 = 0x00000000;
u32 var80069a3c = 0x00000000;
u32 var80069a40 = 0x00000000;
u32 var80069a44 = 0x00000000;
struct prop *g_Lifts[MAX_LIFTS] = {NULL};
u32 var80069a70 = 0x42b40000;
u32 var80069a74 = 0x3f800000;
u32 var80069a78 = 0x40000000;
#if VERSION >= VERSION_PAL_FINAL
u32 var80069a7c = 0x3a9d4952;
u32 var80069a80 = 0x3f99999a;
u32 var80069a84 = 0x3bcddaca;
u32 var80069a88 = 0x3bcddaca;
u32 var80069a8c = 0x3752cb90;
u32 var80069a90 = 0x39c59ed7;
u32 var80069a94 = 0x3bcddaca;
u32 var80069a98 = 0x3bcddaca;
u32 var80069a9c = 0x3752cb90;
u32 var80069aa0 = 0x39c59ed7;
u32 var80069aa4 = 0x42a00000;
u32 var80069aa8 = 0x3f800000;
u32 var80069aac = 0x40400000;
u32 var80069ab0 = 0x3b449ba6;
u32 var80069ab4 = 0x3df5c290;
u32 var80069ab8 = 0x3c4ddaca;
u32 var80069abc = 0x3c9a6417;
u32 var80069ac0 = 0x37d2cb90;
u32 var80069ac4 = 0x3a459ed7;
u32 var80069ac8 = 0x3c4ddaca;
u32 var80069acc = 0x3c9a6417;
u32 var80069ad0 = 0x37d2cb90;
u32 var80069ad4 = 0x3a459ed7;
u32 var80069ad8 = 0x428c0000;
u32 var80069adc = 0x40000000;
u32 var80069ae0 = 0x40800000;
u32 var80069ae4 = 0x3a9d4952;
u32 var80069ae8 = 0x3f99999a;
u32 var80069aec = 0x3bcddaca;
u32 var80069af0 = 0x3c4ddaca;
u32 var80069af4 = 0x3752cb90;
u32 var80069af8 = 0x39c59ed7;
u32 var80069afc = 0x3bcddaca;
u32 var80069b00 = 0x3c4ddaca;
u32 var80069b04 = 0x3752cb90;
u32 var80069b08 = 0x39c59ed7;
u32 var80069b0c = 0x432a0000;
u32 var80069b10 = 0x40000000;
u32 var80069b14 = 0x40000000;
u32 var80069b18 = 0x3a9d4952;
u32 var80069b1c = 0x3f99999a;
u32 var80069b20 = 0x3b4ddaca;
u32 var80069b24 = 0x3b4ddaca;
u32 var80069b28 = 0x36d2cb90;
u32 var80069b2c = 0x396d2501;
u32 var80069b30 = 0x3b4ddaca;
u32 var80069b34 = 0x3b4ddaca;
u32 var80069b38 = 0x36d2cb90;
u32 var80069b3c = 0x396d2501;
u32 var80069b40 = 0x432a0000;
u32 var80069b44 = 0x40000000;
u32 var80069b48 = 0x40000000;
u32 var80069b4c = 0x3a9d4952;
u32 var80069b50 = 0x3f99999a;
u32 var80069b54 = 0x3b4ddaca;
u32 var80069b58 = 0x3b4ddaca;
u32 var80069b5c = 0x36d2cb90;
u32 var80069b60 = 0x396d2501;
u32 var80069b64 = 0x3b4ddaca;
u32 var80069b68 = 0x3b4ddaca;
u32 var80069b6c = 0x36d2cb90;
u32 var80069b70 = 0x396d2501;
#else
u32 var80069a7c = 0x3a83126f;
u32 var80069a80 = 0x3f800000;
u32 var80069a84 = 0x3bcddaca;
u32 var80069a88 = 0x3bcddaca;
u32 var80069a8c = 0x372fa9a2;
u32 var80069a90 = 0x39a4af08;
u32 var80069a94 = 0x3bcddaca;
u32 var80069a98 = 0x3bcddaca;
u32 var80069a9c = 0x372fa9a2;
u32 var80069aa0 = 0x39a4af08;
u32 var80069aa4 = 0x42a00000;
u32 var80069aa8 = 0x3f800000;
u32 var80069aac = 0x40400000;
u32 var80069ab0 = 0x3b23d70a;
u32 var80069ab4 = 0x3dcccccd;
u32 var80069ab8 = 0x3c4ddaca;
u32 var80069abc = 0x3c9a6417;
u32 var80069ac0 = 0x37afa9a2;
u32 var80069ac4 = 0x3a24af08;
u32 var80069ac8 = 0x3c4ddaca;
u32 var80069acc = 0x3c9a6417;
u32 var80069ad0 = 0x37afa9a2;
u32 var80069ad4 = 0x3a24af08;
u32 var80069ad8 = 0x428c0000;
u32 var80069adc = 0x40000000;
u32 var80069ae0 = 0x40800000;
u32 var80069ae4 = 0x3a83126f;
u32 var80069ae8 = 0x3f800000;
u32 var80069aec = 0x3bcddaca;
u32 var80069af0 = 0x3c4ddaca;
u32 var80069af4 = 0x372fa9a2;
u32 var80069af8 = 0x39a4af08;
u32 var80069afc = 0x3bcddaca;
u32 var80069b00 = 0x3c4ddaca;
u32 var80069b04 = 0x372fa9a2;
u32 var80069b08 = 0x39a4af08;
u32 var80069b0c = 0x432a0000;
u32 var80069b10 = 0x40000000;
u32 var80069b14 = 0x40000000;
u32 var80069b18 = 0x3a83126f;
u32 var80069b1c = 0x3f800000;
u32 var80069b20 = 0x3b4ddaca;
u32 var80069b24 = 0x3b4ddaca;
u32 var80069b28 = 0x36afa9a2;
u32 var80069b2c = 0x39459ed6;
u32 var80069b30 = 0x3b4ddaca;
u32 var80069b34 = 0x3b4ddaca;
u32 var80069b38 = 0x36afa9a2;
u32 var80069b3c = 0x39459ed6;
u32 var80069b40 = 0x432a0000;
u32 var80069b44 = 0x40000000;
u32 var80069b48 = 0x40000000;
u32 var80069b4c = 0x3a83126f;
u32 var80069b50 = 0x3f800000;
u32 var80069b54 = 0x3b4ddaca;
u32 var80069b58 = 0x3b4ddaca;
u32 var80069b5c = 0x36afa9a2;
u32 var80069b60 = 0x39459ed6;
u32 var80069b64 = 0x3b4ddaca;
u32 var80069b68 = 0x3b4ddaca;
u32 var80069b6c = 0x36afa9a2;
u32 var80069b70 = 0x39459ed6;
#endif
u32 var80069b74 = 0x00000000;
u32 var80069b78 = 0x00000000;
u32 var80069b7c = 0x00000000;
u32 var80069b80 = 0x00000000;
u32 var80069b84 = 0x00000000;
u32 var80069b88 = 0x00000000;
u32 var80069b8c = 0x00000000;
u32 var80069b90 = 0x00000000;
u32 var80069b94 = 0x00000000;
u32 var80069b98 = 0x00000000;
u32 var80069b9c = 0x00000000;
u32 var80069ba0 = 0x00000000;
u32 var80069ba4 = 0x00000000;
u32 var80069ba8 = 0x00000000;
u32 var80069bac = 0x3f800000;
u32 var80069bb0 = 0x00000000;
u32 var80069bb4 = 0x3f800000;
u32 var80069bb8 = 0x00000000;
u32 var80069bbc = 0x00270028;
u32 var80069bc0 = 0x0029002a;
u32 var80069bc4 = 0x00000000;
u32 var80069bc8 = 0x00000003;
u32 var80069bcc = 0x00000014;
u32 var80069bd0 = 0x00000078;
/**
* Attempt to call a lift from the given door.
*
* Returns true if the door activation was handled by this function, or false
* if the caller should proceed with opening or closing the door. A true return
* doesn't necessarily mean the lift was called.
*
* The allowclose argument determines whether the door should be closed if the
* lift is at the door. This is typically true when the player has activated the
* door, and false when NPCs have activated the door. If true, doorCallLift
* doesn't handle the activation which allows the caller to close the door.
*
* Lifts will not be called if it's occupied by anyone. This prevents chrs from
* from calling lifts back when players are in them.
*/
bool doorCallLift(struct prop *doorprop, bool allowclose)
{
struct doorobj *door = doorprop->door;
bool handled = false;
if (door->base.hidden & OBJHFLAG_LIFTDOOR) {
struct linkliftdoorobj *link = g_LiftDoors;
while (link) {
if (doorprop == link->door && link->lift
&& (link->lift->type == PROPTYPE_OBJ || link->lift->type == PROPTYPE_DOOR)) {
bool type = link->lift->obj->type;
handled = true;
if (type == OBJTYPE_DOOR) {
// This appears to be handling situations where the setup
// file specifies a door as the lift object. It activates
// that door, which then calls doorCallLift. This allows
// setup files to chain lift doors to other lift doors
// rather than directly to the lift, but this doesn't happen
// in practice so this branch is unused.
doorsActivate(link->lift, allowclose);
} else if (type == OBJTYPE_LIFT) {
if (allowclose
#if VERSION < VERSION_NTSC_1_0
&& g_Vars.currentplayer->lift == link->lift
#endif
&& door->base.type == OBJTYPE_DOOR
&& !doorIsClosed(door)) {
handled = false;
} else {
bool vacant = true;
s32 numchrslots = chrsGetNumSlots();
s32 i;
for (i = 0; i < PLAYERCOUNT(); i++) {
if (g_Vars.players[i]->lift == link->lift) {
vacant = false;
}
}
if (vacant) {
for (i = 0; i < numchrslots; i++) {
/**
* @bug: This is missing a chrIsDead check.
* If a chr dies in a lift it can no longer be called.
*/
if (g_ChrSlots[i].prop && g_ChrSlots[i].lift == link->lift) {
vacant = false;
break;
}
}
}
if (vacant) {
liftGoToStop((struct liftobj *) link->lift->obj, link->stopnum);
}
}
}
}
link = link->next;
}
}
return handled;
}
bool doorIsPadlockFree(struct doorobj *door)
{
if (door->base.hidden & OBJHFLAG_PADLOCKEDDOOR) {
struct padlockeddoorobj *padlockeddoor = g_PadlockedDoors;
while (padlockeddoor) {
if (door == padlockeddoor->door
&& padlockeddoor->lock
&& padlockeddoor->lock->prop
&& objIsHealthy(padlockeddoor->lock)) {
return false;
}
padlockeddoor = padlockeddoor->next;
}
}
return true;
}
bool objCanPickupFromSafe(struct defaultobj *obj)
{
if (obj->flags2 & OBJFLAG2_LINKEDTOSAFE) {
struct safeitemobj *link = g_SafeItems;
while (link) {
struct defaultobj *loopobj = link->item;
if (obj == link->item && link->door && link->door->base.prop) {
if (link->door->frac <= 0.5f * link->door->maxfrac) {
return false;
}
}
link = link->next;
}
}
return true;
}
void objUpdateLinkedScenery(struct defaultobj *obj, s32 arg1)
{
if ((obj->hidden & OBJHFLAG_CONDITIONALSCENERY) && (obj->flags & OBJFLAG_INVINCIBLE) == 0) {
struct linksceneryobj *link = g_LinkedScenery;
while (link) {
if (link->trigger == obj) {
func0f06a170(obj, arg1);
link->trigger->flags2 |= OBJFLAG2_INVISIBLE;
link->trigger->hidden |= OBJHFLAG_REAPABLE;
if (link->unexp) {
link->unexp->flags2 |= OBJFLAG2_INVISIBLE;
}
if (link->exp) {
link->exp->flags2 &= ~OBJFLAG2_INVISIBLE;
}
objSetBlockedPathUnblocked(obj, true);
return;
}
link = link->next;
}
}
}
GLOBAL_ASM(
glabel func0f0667ac
/* f0667ac: 03e00008 */ jr $ra
/* f0667b0: c4800004 */ lwc1 $f0,0x4($a0)
);
GLOBAL_ASM(
glabel func0f0667b4
/* f0667b4: 03e00008 */ jr $ra
/* f0667b8: c4800008 */ lwc1 $f0,0x8($a0)
);
f32 modelBboxGetYMin(struct modelrodata_bbox *bbox)
{
return bbox->ymin;
}
GLOBAL_ASM(
glabel func0f0667c4
/* f0667c4: 03e00008 */ jr $ra
/* f0667c8: c4800010 */ lwc1 $f0,0x10($a0)
);
GLOBAL_ASM(
glabel func0f0667cc
/* f0667cc: 03e00008 */ jr $ra
/* f0667d0: c4800014 */ lwc1 $f0,0x14($a0)
);
f32 modelBboxGetZMax(struct modelrodata_bbox *bbox)
{
return bbox->zmax;
}
GLOBAL_ASM(
glabel func0f0667dc
/* f0667dc: 27bdffe8 */ addiu $sp,$sp,-24
/* f0667e0: afbf0014 */ sw $ra,0x14($sp)
/* f0667e4: afa5001c */ sw $a1,0x1c($sp)
/* f0667e8: 00a07025 */ or $t6,$a1,$zero
/* f0667ec: 8dc60010 */ lw $a2,0x10($t6)
/* f0667f0: 8dc70020 */ lw $a3,0x20($t6)
/* f0667f4: 0fc19a87 */ jal func0f066a1c
/* f0667f8: 8ca50000 */ lw $a1,0x0($a1)
/* f0667fc: 8fbf0014 */ lw $ra,0x14($sp)
/* f066800: 27bd0018 */ addiu $sp,$sp,0x18
/* f066804: 03e00008 */ jr $ra
/* f066808: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f06680c
/* f06680c: 27bdffe8 */ addiu $sp,$sp,-24
/* f066810: afbf0014 */ sw $ra,0x14($sp)
/* f066814: afa5001c */ sw $a1,0x1c($sp)
/* f066818: 00a07025 */ or $t6,$a1,$zero
/* f06681c: 8dc60010 */ lw $a2,0x10($t6)
/* f066820: 8dc70020 */ lw $a3,0x20($t6)
/* f066824: 0fc19aaf */ jal func0f066abc
/* f066828: 8ca50000 */ lw $a1,0x0($a1)
/* f06682c: 8fbf0014 */ lw $ra,0x14($sp)
/* f066830: 27bd0018 */ addiu $sp,$sp,0x18
/* f066834: 03e00008 */ jr $ra
/* f066838: 00000000 */ nop
);
f32 func0f06683c(struct modelrodata_bbox *bbox, Mtxf *mtx)
{
return func0f066a1c(bbox, mtx->m[0][1], mtx->m[1][1], mtx->m[2][1]);
}
f32 func0f06686c(struct modelrodata_bbox *bbox, Mtxf *mtx)
{
return func0f066abc(bbox, mtx->m[0][1], mtx->m[1][1], mtx->m[2][1]);
}
GLOBAL_ASM(
glabel func0f06689c
/* f06689c: 27bdffe8 */ addiu $sp,$sp,-24
/* f0668a0: afbf0014 */ sw $ra,0x14($sp)
/* f0668a4: afa5001c */ sw $a1,0x1c($sp)
/* f0668a8: 00a07025 */ or $t6,$a1,$zero
/* f0668ac: 8dc60018 */ lw $a2,0x18($t6)
/* f0668b0: 8dc70028 */ lw $a3,0x28($t6)
/* f0668b4: 0fc19a87 */ jal func0f066a1c
/* f0668b8: 8ca50008 */ lw $a1,0x8($a1)
/* f0668bc: 8fbf0014 */ lw $ra,0x14($sp)
/* f0668c0: 27bd0018 */ addiu $sp,$sp,0x18
/* f0668c4: 03e00008 */ jr $ra
/* f0668c8: 00000000 */ nop
);
f32 func0f0668cc(struct modelrodata_bbox *bbox, Mtxf *matrix)
{
return func0f066abc(bbox, matrix->m[0][2], matrix->m[1][2], matrix->m[2][2]);
}
f32 func0f0668fc(struct modelrodata_bbox *bbox, f32 realrot[3][3])
{
return func0f066a1c(bbox, realrot[0][0], realrot[1][0], realrot[2][0]);
}
f32 func0f06692c(struct modelrodata_bbox *bbox, f32 realrot[3][3])
{
return func0f066abc(bbox, realrot[0][0], realrot[1][0], realrot[2][0]);
}
f32 func0f06695c(struct modelrodata_bbox *bbox, f32 realrot[3][3])
{
return func0f066a1c(bbox, realrot[0][1], realrot[1][1], realrot[2][1]);
}
f32 func0f06698c(struct modelrodata_bbox *bbox, f32 realrot[3][3])
{
return func0f066abc(bbox, realrot[0][1], realrot[1][1], realrot[2][1]);
}
f32 func0f0669bc(struct modelrodata_bbox *bbox, f32 realrot[3][3])
{
return func0f066a1c(bbox, realrot[0][2], realrot[1][2], realrot[2][2]);
}
f32 func0f0669ec(struct modelrodata_bbox *bbox, f32 realrot[3][3])
{
return func0f066abc(bbox, realrot[0][2], realrot[1][2], realrot[2][2]);
}
f32 func0f066a1c(struct modelrodata_bbox *bbox, f32 arg1, f32 arg2, f32 arg3)
{
f32 sum = 0;
if (arg1 >= 0) {
sum += bbox->xmin * arg1;
} else {
sum += bbox->xmax * arg1;
}
if (arg2 >= 0) {
sum += bbox->ymin * arg2;
} else {
sum += bbox->ymax * arg2;
}
if (arg3 >= 0) {
sum += bbox->zmin * arg3;
} else {
sum += bbox->zmax * arg3;
}
return sum;
}
f32 func0f066abc(struct modelrodata_bbox *bbox, f32 arg1, f32 arg2, f32 arg3)
{
f32 sum = 0;
if (arg1 <= 0) {
sum += bbox->xmin * arg1;
} else {
sum += bbox->xmax * arg1;
}
if (arg2 <= 0) {
sum += bbox->ymin * arg2;
} else {
sum += bbox->ymax * arg2;
}
if (arg3 <= 0) {
sum += bbox->zmin * arg3;
} else {
sum += bbox->zmax * arg3;
}
return sum;
}
GLOBAL_ASM(
glabel func0f066b5c
.late_rodata
glabel var7f1aa1cc
.word 0x3a83126f
.text
/* f066b5c: 27bdfd00 */ addiu $sp,$sp,-768
/* f066b60: 8faf0318 */ lw $t7,0x318($sp)
/* f066b64: afb1000c */ sw $s1,0xc($sp)
/* f066b68: afb00008 */ sw $s0,0x8($sp)
/* f066b6c: e7ac0300 */ swc1 $f12,0x300($sp)
/* f066b70: e7ae0304 */ swc1 $f14,0x304($sp)
/* f066b74: afa60308 */ sw $a2,0x308($sp)
/* f066b78: afa7030c */ sw $a3,0x30c($sp)
/* f066b7c: c5e40000 */ lwc1 $f4,0x0($t7)
/* f066b80: 00001025 */ or $v0,$zero,$zero
/* f066b84: 00005825 */ or $t3,$zero,$zero
/* f066b88: 460021a1 */ cvt.d.s $f6,$f4
/* f066b8c: 00004825 */ or $t1,$zero,$zero
/* f066b90: f7a60170 */ sdc1 $f6,0x170($sp)
/* f066b94: c5ea0008 */ lwc1 $f10,0x8($t7)
/* f066b98: 00005025 */ or $t2,$zero,$zero
/* f066b9c: 00004025 */ or $t0,$zero,$zero
/* f066ba0: 46005221 */ cvt.d.s $f8,$f10
/* f066ba4: 27ac0270 */ addiu $t4,$sp,0x270
/* f066ba8: f7a80168 */ sdc1 $f8,0x168($sp)
/* f066bac: c5e40010 */ lwc1 $f4,0x10($t7)
/* f066bb0: 27a501f0 */ addiu $a1,$sp,0x1f0
/* f066bb4: 00001825 */ or $v1,$zero,$zero
/* f066bb8: 460022a1 */ cvt.d.s $f10,$f4
/* f066bbc: f7aa0160 */ sdc1 $f10,0x160($sp)
/* f066bc0: c5e40018 */ lwc1 $f4,0x18($t7)
/* f066bc4: f7a60010 */ sdc1 $f6,0x10($sp)
/* f066bc8: 46002121 */ cvt.d.s $f4,$f4
/* f066bcc: f7a40158 */ sdc1 $f4,0x158($sp)
/* f066bd0: c5e60020 */ lwc1 $f6,0x20($t7)
/* f066bd4: f7a80018 */ sdc1 $f8,0x18($sp)
/* f066bd8: 460031a1 */ cvt.d.s $f6,$f6
/* f066bdc: f7a60150 */ sdc1 $f6,0x150($sp)
/* f066be0: c5e80028 */ lwc1 $f8,0x28($t7)
/* f066be4: f7aa0020 */ sdc1 $f10,0x20($sp)
/* f066be8: c7aa0300 */ lwc1 $f10,0x300($sp)
/* f066bec: 46004221 */ cvt.d.s $f8,$f8
/* f066bf0: 46005021 */ cvt.d.s $f0,$f10
/* f066bf4: d7aa0010 */ ldc1 $f10,0x10($sp)
/* f066bf8: f7a40010 */ sdc1 $f4,0x10($sp)
/* f066bfc: c7a40308 */ lwc1 $f4,0x308($sp)
/* f066c00: f7a80148 */ sdc1 $f8,0x148($sp)
/* f066c04: f7a80028 */ sdc1 $f8,0x28($sp)
/* f066c08: 460020a1 */ cvt.d.s $f2,$f4
/* f066c0c: 46205402 */ mul.d $f16,$f10,$f0
/* f066c10: d7a40020 */ ldc1 $f4,0x20($sp)
/* f066c14: c7a80310 */ lwc1 $f8,0x310($sp)
/* f066c18: f7a60020 */ sdc1 $f6,0x20($sp)
/* f066c1c: 46222182 */ mul.d $f6,$f4,$f2
/* f066c20: 46004321 */ cvt.d.s $f12,$f8
/* f066c24: d7a80020 */ ldc1 $f8,0x20($sp)
/* f066c28: f7aa0020 */ sdc1 $f10,0x20($sp)
/* f066c2c: 462c4282 */ mul.d $f10,$f8,$f12
/* f066c30: f7a80030 */ sdc1 $f8,0x30($sp)
/* f066c34: 46268480 */ add.d $f18,$f16,$f6
/* f066c38: f7a600b0 */ sdc1 $f6,0xb0($sp)
/* f066c3c: f7aa00a0 */ sdc1 $f10,0xa0($sp)
/* f066c40: 462a9280 */ add.d $f10,$f18,$f10
/* f066c44: f7aa0270 */ sdc1 $f10,0x270($sp)
/* f066c48: d7aa0018 */ ldc1 $f10,0x18($sp)
/* f066c4c: f7a40018 */ sdc1 $f4,0x18($sp)
/* f066c50: 46205102 */ mul.d $f4,$f10,$f0
/* f066c54: f7a400b8 */ sdc1 $f4,0xb8($sp)
/* f066c58: d7a40010 */ ldc1 $f4,0x10($sp)
/* f066c5c: f7a60010 */ sdc1 $f6,0x10($sp)
/* f066c60: 46222182 */ mul.d $f6,$f4,$f2
/* f066c64: f7a600a8 */ sdc1 $f6,0xa8($sp)
/* f066c68: d7a800a8 */ ldc1 $f8,0xa8($sp)
/* f066c6c: d7a600b8 */ ldc1 $f6,0xb8($sp)
/* f066c70: 46283180 */ add.d $f6,$f6,$f8
/* f066c74: d7a80028 */ ldc1 $f8,0x28($sp)
/* f066c78: f7aa0028 */ sdc1 $f10,0x28($sp)
/* f066c7c: f7a60090 */ sdc1 $f6,0x90($sp)
/* f066c80: 462c4182 */ mul.d $f6,$f8,$f12
/* f066c84: f7a60098 */ sdc1 $f6,0x98($sp)
/* f066c88: d7aa0098 */ ldc1 $f10,0x98($sp)
/* f066c8c: d7a60090 */ ldc1 $f6,0x90($sp)
/* f066c90: 462a3180 */ add.d $f6,$f6,$f10
/* f066c94: c7aa0314 */ lwc1 $f10,0x314($sp)
/* f066c98: f7a60278 */ sdc1 $f6,0x278($sp)
/* f066c9c: d7a60030 */ ldc1 $f6,0x30($sp)
/* f066ca0: 460053a1 */ cvt.d.s $f14,$f10
/* f066ca4: 462e3282 */ mul.d $f10,$f6,$f14
/* f066ca8: f7aa0058 */ sdc1 $f10,0x58($sp)
/* f066cac: 462e4182 */ mul.d $f6,$f8,$f14
/* f066cb0: 462a9280 */ add.d $f10,$f18,$f10
/* f066cb4: f7aa0280 */ sdc1 $f10,0x280($sp)
/* f066cb8: d7aa0090 */ ldc1 $f10,0x90($sp)
/* f066cbc: f7a60050 */ sdc1 $f6,0x50($sp)
/* f066cc0: 46265180 */ add.d $f6,$f10,$f6
/* f066cc4: c7aa030c */ lwc1 $f10,0x30c($sp)
/* f066cc8: f7a60288 */ sdc1 $f6,0x288($sp)
/* f066ccc: d7a60018 */ ldc1 $f6,0x18($sp)
/* f066cd0: 46005221 */ cvt.d.s $f8,$f10
/* f066cd4: f7a800c0 */ sdc1 $f8,0xc0($sp)
/* f066cd8: 46283202 */ mul.d $f8,$f6,$f8
/* f066cdc: d7a600a0 */ ldc1 $f6,0xa0($sp)
/* f066ce0: 46288280 */ add.d $f10,$f16,$f8
/* f066ce4: f7a80068 */ sdc1 $f8,0x68($sp)
/* f066ce8: d7a800c0 */ ldc1 $f8,0xc0($sp)
/* f066cec: f7aa0048 */ sdc1 $f10,0x48($sp)
/* f066cf0: 46265280 */ add.d $f10,$f10,$f6
/* f066cf4: 46282182 */ mul.d $f6,$f4,$f8
/* f066cf8: d7a80098 */ ldc1 $f8,0x98($sp)
/* f066cfc: d7a40058 */ ldc1 $f4,0x58($sp)
/* f066d00: f7aa0290 */ sdc1 $f10,0x290($sp)
/* f066d04: d7aa00b8 */ ldc1 $f10,0xb8($sp)
/* f066d08: 46265080 */ add.d $f2,$f10,$f6
/* f066d0c: d7aa0048 */ ldc1 $f10,0x48($sp)
/* f066d10: f7a60060 */ sdc1 $f6,0x60($sp)
/* f066d14: 46281180 */ add.d $f6,$f2,$f8
/* f066d18: 46245200 */ add.d $f8,$f10,$f4
/* f066d1c: c7a40304 */ lwc1 $f4,0x304($sp)
/* f066d20: f7a60298 */ sdc1 $f6,0x298($sp)
/* f066d24: d7a60050 */ ldc1 $f6,0x50($sp)
/* f066d28: f7a802a0 */ sdc1 $f8,0x2a0($sp)
/* f066d2c: d7a80020 */ ldc1 $f8,0x20($sp)
/* f066d30: 46002021 */ cvt.d.s $f0,$f4
/* f066d34: 46261280 */ add.d $f10,$f2,$f6
/* f066d38: 46204402 */ mul.d $f16,$f8,$f0
/* f066d3c: d7a80028 */ ldc1 $f8,0x28($sp)
/* f066d40: d7a60010 */ ldc1 $f6,0x10($sp)
/* f066d44: f7aa02a8 */ sdc1 $f10,0x2a8($sp)
/* f066d48: 46204482 */ mul.d $f18,$f8,$f0
/* f066d4c: d7aa00a0 */ ldc1 $f10,0xa0($sp)
/* f066d50: d7a80058 */ ldc1 $f8,0x58($sp)
/* f066d54: 46268300 */ add.d $f12,$f16,$f6
/* f066d58: d7a600a8 */ ldc1 $f6,0xa8($sp)
/* f066d5c: 462a6100 */ add.d $f4,$f12,$f10
/* f066d60: d7aa0098 */ ldc1 $f10,0x98($sp)
/* f066d64: 46269380 */ add.d $f14,$f18,$f6
/* f066d68: f7a402b0 */ sdc1 $f4,0x2b0($sp)
/* f066d6c: 46286180 */ add.d $f6,$f12,$f8
/* f066d70: d7a80068 */ ldc1 $f8,0x68($sp)
/* f066d74: 462a7100 */ add.d $f4,$f14,$f10
/* f066d78: d7aa0050 */ ldc1 $f10,0x50($sp)
/* f066d7c: f7a602c0 */ sdc1 $f6,0x2c0($sp)
/* f066d80: 46288000 */ add.d $f0,$f16,$f8
/* f066d84: f7a402b8 */ sdc1 $f4,0x2b8($sp)
/* f066d88: d7a600a0 */ ldc1 $f6,0xa0($sp)
/* f066d8c: 462a7100 */ add.d $f4,$f14,$f10
/* f066d90: d7a80098 */ ldc1 $f8,0x98($sp)
/* f066d94: 46260280 */ add.d $f10,$f0,$f6
/* f066d98: f7a402c8 */ sdc1 $f4,0x2c8($sp)
/* f066d9c: d7a40060 */ ldc1 $f4,0x60($sp)
/* f066da0: f7aa02d0 */ sdc1 $f10,0x2d0($sp)
/* f066da4: 46249080 */ add.d $f2,$f18,$f4
/* f066da8: d7aa0058 */ ldc1 $f10,0x58($sp)
/* f066dac: 46281180 */ add.d $f6,$f2,$f8
/* f066db0: d7a80050 */ ldc1 $f8,0x50($sp)
/* f066db4: 462a0100 */ add.d $f4,$f0,$f10
/* f066db8: f7a602d8 */ sdc1 $f6,0x2d8($sp)
/* f066dbc: 46281180 */ add.d $f6,$f2,$f8
/* f066dc0: f7a402e0 */ sdc1 $f4,0x2e0($sp)
/* f066dc4: f7a602e8 */ sdc1 $f6,0x2e8($sp)
.L0f066dc8:
/* f066dc8: 18400021 */ blez $v0,.L0f066e50
/* f066dcc: 00002025 */ or $a0,$zero,$zero
/* f066dd0: 3c017f1b */ lui $at,%hi(var7f1aa1cc)
/* f066dd4: c42aa1cc */ lwc1 $f10,%lo(var7f1aa1cc)($at)
/* f066dd8: 0003c100 */ sll $t8,$v1,0x4
/* f066ddc: 01983021 */ addu $a2,$t4,$t8
/* f066de0: d4cc0000 */ ldc1 $f12,0x0($a2)
/* f066de4: d4d00008 */ ldc1 $f16,0x8($a2)
/* f066de8: 27a701f0 */ addiu $a3,$sp,0x1f0
/* f066dec: 46005021 */ cvt.d.s $f0,$f10
.L0f066df0:
/* f066df0: d4e40000 */ ldc1 $f4,0x0($a3)
/* f066df4: d4e80008 */ ldc1 $f8,0x8($a3)
/* f066df8: 46246081 */ sub.d $f2,$f12,$f4
/* f066dfc: 46288381 */ sub.d $f14,$f16,$f8
/* f066e00: 4620103c */ c.lt.d $f2,$f0
/* f066e04: 00000000 */ nop
/* f066e08: 4502000f */ bc1fl .L0f066e48
/* f066e0c: 24840001 */ addiu $a0,$a0,0x1
/* f066e10: 46200487 */ neg.d $f18,$f0
/* f066e14: 4622903c */ c.lt.d $f18,$f2
/* f066e18: 00000000 */ nop
/* f066e1c: 4502000a */ bc1fl .L0f066e48
/* f066e20: 24840001 */ addiu $a0,$a0,0x1
/* f066e24: 4620703c */ c.lt.d $f14,$f0
/* f066e28: 00000000 */ nop
/* f066e2c: 45020006 */ bc1fl .L0f066e48
/* f066e30: 24840001 */ addiu $a0,$a0,0x1
/* f066e34: 462e903c */ c.lt.d $f18,$f14
/* f066e38: 00000000 */ nop
/* f066e3c: 45030005 */ bc1tl .L0f066e54
/* f066e40: 0082082a */ slt $at,$a0,$v0
/* f066e44: 24840001 */ addiu $a0,$a0,0x1
.L0f066e48:
/* f066e48: 1482ffe9 */ bne $a0,$v0,.L0f066df0
/* f066e4c: 24e70010 */ addiu $a3,$a3,0x10
.L0f066e50:
/* f066e50: 0082082a */ slt $at,$a0,$v0
.L0f066e54:
/* f066e54: 14200009 */ bnez $at,.L0f066e7c
/* f066e58: 0002c900 */ sll $t9,$v0,0x4
/* f066e5c: 00037100 */ sll $t6,$v1,0x4
/* f066e60: 018e3021 */ addu $a2,$t4,$t6
/* f066e64: d4c60000 */ ldc1 $f6,0x0($a2)
/* f066e68: d4ca0008 */ ldc1 $f10,0x8($a2)
/* f066e6c: 00b92021 */ addu $a0,$a1,$t9
/* f066e70: 24420001 */ addiu $v0,$v0,0x1
/* f066e74: f4860000 */ sdc1 $f6,0x0($a0)
/* f066e78: f48a0008 */ sdc1 $f10,0x8($a0)
.L0f066e7c:
/* f066e7c: 24630001 */ addiu $v1,$v1,0x1
/* f066e80: 28610008 */ slti $at,$v1,0x8
/* f066e84: 1420ffd0 */ bnez $at,.L0f066dc8
/* f066e88: 00000000 */ nop
/* f066e8c: 28410002 */ slti $at,$v0,0x2
/* f066e90: 14200019 */ bnez $at,.L0f066ef8
/* f066e94: 24030001 */ addiu $v1,$zero,0x1
/* f066e98: 27a40200 */ addiu $a0,$sp,0x200
.L0f066e9c:
/* f066e9c: 000b7900 */ sll $t7,$t3,0x4
/* f066ea0: 00af3821 */ addu $a3,$a1,$t7
/* f066ea4: d4e20000 */ ldc1 $f2,0x0($a3)
/* f066ea8: d4800000 */ ldc1 $f0,0x0($a0)
/* f066eac: 4622003c */ c.lt.d $f0,$f2
/* f066eb0: 00000000 */ nop
/* f066eb4: 4503000c */ bc1tl .L0f066ee8
/* f066eb8: 00605825 */ or $t3,$v1,$zero
/* f066ebc: 46220032 */ c.eq.d $f0,$f2
/* f066ec0: 00000000 */ nop
/* f066ec4: 45020009 */ bc1fl .L0f066eec
/* f066ec8: 24630001 */ addiu $v1,$v1,0x1
/* f066ecc: d4840008 */ ldc1 $f4,0x8($a0)
/* f066ed0: d4e80008 */ ldc1 $f8,0x8($a3)
/* f066ed4: 4628203c */ c.lt.d $f4,$f8
/* f066ed8: 00000000 */ nop
/* f066edc: 45020003 */ bc1fl .L0f066eec
/* f066ee0: 24630001 */ addiu $v1,$v1,0x1
/* f066ee4: 00605825 */ or $t3,$v1,$zero
.L0f066ee8:
/* f066ee8: 24630001 */ addiu $v1,$v1,0x1
.L0f066eec:
/* f066eec: 1462ffeb */ bne $v1,$v0,.L0f066e9c
/* f066ef0: 24840010 */ addiu $a0,$a0,0x10
/* f066ef4: 24030001 */ addiu $v1,$zero,0x1
.L0f066ef8:
/* f066ef8: 000bc100 */ sll $t8,$t3,0x4
/* f066efc: 00b83821 */ addu $a3,$a1,$t8
/* f066f00: 28410002 */ slti $at,$v0,0x2
/* f066f04: 14200019 */ bnez $at,.L0f066f6c
/* f066f08: d4e20000 */ ldc1 $f2,0x0($a3)
/* f066f0c: 27a40200 */ addiu $a0,$sp,0x200
.L0f066f10:
/* f066f10: 000ac900 */ sll $t9,$t2,0x4
/* f066f14: 00b96821 */ addu $t5,$a1,$t9
/* f066f18: d5ac0008 */ ldc1 $f12,0x8($t5)
/* f066f1c: d4800008 */ ldc1 $f0,0x8($a0)
/* f066f20: 4620603c */ c.lt.d $f12,$f0
/* f066f24: 00000000 */ nop
/* f066f28: 4503000c */ bc1tl .L0f066f5c
/* f066f2c: 00605025 */ or $t2,$v1,$zero
/* f066f30: 462c0032 */ c.eq.d $f0,$f12
/* f066f34: 00000000 */ nop
/* f066f38: 45020009 */ bc1fl .L0f066f60
/* f066f3c: 24630001 */ addiu $v1,$v1,0x1
/* f066f40: d4860000 */ ldc1 $f6,0x0($a0)
/* f066f44: d5aa0000 */ ldc1 $f10,0x0($t5)
/* f066f48: 462a303c */ c.lt.d $f6,$f10
/* f066f4c: 00000000 */ nop
/* f066f50: 45020003 */ bc1fl .L0f066f60
/* f066f54: 24630001 */ addiu $v1,$v1,0x1
/* f066f58: 00605025 */ or $t2,$v1,$zero
.L0f066f5c:
/* f066f5c: 24630001 */ addiu $v1,$v1,0x1
.L0f066f60:
/* f066f60: 1462ffeb */ bne $v1,$v0,.L0f066f10
/* f066f64: 24840010 */ addiu $a0,$a0,0x10
/* f066f68: 24030001 */ addiu $v1,$zero,0x1
.L0f066f6c:
/* f066f6c: 28410002 */ slti $at,$v0,0x2
/* f066f70: 14200018 */ bnez $at,.L0f066fd4
/* f066f74: 27a40200 */ addiu $a0,$sp,0x200
.L0f066f78:
/* f066f78: 00097100 */ sll $t6,$t1,0x4
/* f066f7c: 00ae8021 */ addu $s0,$a1,$t6
/* f066f80: d60c0000 */ ldc1 $f12,0x0($s0)
/* f066f84: d4800000 */ ldc1 $f0,0x0($a0)
/* f066f88: 4620603c */ c.lt.d $f12,$f0
/* f066f8c: 00000000 */ nop
/* f066f90: 4503000c */ bc1tl .L0f066fc4
/* f066f94: 00604825 */ or $t1,$v1,$zero
/* f066f98: 462c0032 */ c.eq.d $f0,$f12
/* f066f9c: 00000000 */ nop
/* f066fa0: 45020009 */ bc1fl .L0f066fc8
/* f066fa4: 24630001 */ addiu $v1,$v1,0x1
/* f066fa8: d6040008 */ ldc1 $f4,0x8($s0)
/* f066fac: d4880008 */ ldc1 $f8,0x8($a0)
/* f066fb0: 4628203c */ c.lt.d $f4,$f8
/* f066fb4: 00000000 */ nop
/* f066fb8: 45020003 */ bc1fl .L0f066fc8
/* f066fbc: 24630001 */ addiu $v1,$v1,0x1
/* f066fc0: 00604825 */ or $t1,$v1,$zero
.L0f066fc4:
/* f066fc4: 24630001 */ addiu $v1,$v1,0x1
.L0f066fc8:
/* f066fc8: 1462ffeb */ bne $v1,$v0,.L0f066f78
/* f066fcc: 24840010 */ addiu $a0,$a0,0x10
/* f066fd0: 24030001 */ addiu $v1,$zero,0x1
.L0f066fd4:
/* f066fd4: 28410002 */ slti $at,$v0,0x2
/* f066fd8: 14200018 */ bnez $at,.L0f06703c
/* f066fdc: 46201120 */ cvt.s.d $f4,$f2
/* f066fe0: 27a40200 */ addiu $a0,$sp,0x200
.L0f066fe4:
/* f066fe4: 00087900 */ sll $t7,$t0,0x4
/* f066fe8: 00af6821 */ addu $t5,$a1,$t7
/* f066fec: d5ac0008 */ ldc1 $f12,0x8($t5)
/* f066ff0: d4800008 */ ldc1 $f0,0x8($a0)
/* f066ff4: 462c003c */ c.lt.d $f0,$f12
/* f066ff8: 00000000 */ nop
/* f066ffc: 4503000c */ bc1tl .L0f067030
/* f067000: 00604025 */ or $t0,$v1,$zero
/* f067004: 462c0032 */ c.eq.d $f0,$f12
/* f067008: 00000000 */ nop
/* f06700c: 45020009 */ bc1fl .L0f067034
/* f067010: 24630001 */ addiu $v1,$v1,0x1
/* f067014: d5a60000 */ ldc1 $f6,0x0($t5)
/* f067018: d48a0000 */ ldc1 $f10,0x0($a0)
/* f06701c: 462a303c */ c.lt.d $f6,$f10
/* f067020: 00000000 */ nop
/* f067024: 45020003 */ bc1fl .L0f067034
/* f067028: 24630001 */ addiu $v1,$v1,0x1
/* f06702c: 00604025 */ or $t0,$v1,$zero
.L0f067030:
/* f067030: 24630001 */ addiu $v1,$v1,0x1
.L0f067034:
/* f067034: 1462ffeb */ bne $v1,$v0,.L0f066fe4
/* f067038: 24840010 */ addiu $a0,$a0,0x10
.L0f06703c:
/* f06703c: 00002025 */ or $a0,$zero,$zero
/* f067040: 18400011 */ blez $v0,.L0f067088
/* f067044: 00001825 */ or $v1,$zero,$zero
/* f067048: 27a601bc */ addiu $a2,$sp,0x1bc
.L0f06704c:
/* f06704c: 506b000b */ beql $v1,$t3,.L0f06707c
/* f067050: 24630001 */ addiu $v1,$v1,0x1
/* f067054: 50690009 */ beql $v1,$t1,.L0f06707c
/* f067058: 24630001 */ addiu $v1,$v1,0x1
/* f06705c: 506a0007 */ beql $v1,$t2,.L0f06707c
/* f067060: 24630001 */ addiu $v1,$v1,0x1
/* f067064: 10680004 */ beq $v1,$t0,.L0f067078
/* f067068: 0004c080 */ sll $t8,$a0,0x2
/* f06706c: 00d8c821 */ addu $t9,$a2,$t8
/* f067070: af230000 */ sw $v1,0x0($t9)
/* f067074: 24840001 */ addiu $a0,$a0,0x1
.L0f067078:
/* f067078: 24630001 */ addiu $v1,$v1,0x1
.L0f06707c:
/* f06707c: 1462fff3 */ bne $v1,$v0,.L0f06704c
/* f067080: 00000000 */ nop
/* f067084: 00001825 */ or $v1,$zero,$zero
.L0f067088:
/* f067088: 8fac031c */ lw $t4,0x31c($sp)
/* f06708c: 24060001 */ addiu $a2,$zero,0x1
/* f067090: 00087100 */ sll $t6,$t0,0x4
/* f067094: e584000c */ swc1 $f4,0xc($t4)
/* f067098: d4e80008 */ ldc1 $f8,0x8($a3)
/* f06709c: 462041a0 */ cvt.s.d $f6,$f8
/* f0670a0: 110b002e */ beq $t0,$t3,.L0f06715c
/* f0670a4: e5860010 */ swc1 $f6,0x10($t4)
/* f0670a8: 18800023 */ blez $a0,.L0f067138
/* f0670ac: 00ae6821 */ addu $t5,$a1,$t6
/* f0670b0: d5ac0008 */ ldc1 $f12,0x8($t5)
/* f0670b4: d5a00000 */ ldc1 $f0,0x0($t5)
/* f0670b8: d4ea0008 */ ldc1 $f10,0x8($a3)
/* f0670bc: d4e40000 */ ldc1 $f4,0x0($a3)
/* f0670c0: 27a201bc */ addiu $v0,$sp,0x1bc
/* f0670c4: 462c5381 */ sub.d $f14,$f10,$f12
/* f0670c8: 46202401 */ sub.d $f16,$f4,$f0
.L0f0670cc:
/* f0670cc: 8c500000 */ lw $s0,0x0($v0)
/* f0670d0: 00107900 */ sll $t7,$s0,0x4
/* f0670d4: 00af8821 */ addu $s1,$a1,$t7
/* f0670d8: d6220000 */ ldc1 $f2,0x0($s1)
/* f0670dc: d62a0008 */ ldc1 $f10,0x8($s1)
/* f0670e0: 46201201 */ sub.d $f8,$f2,$f0
/* f0670e4: 462c5101 */ sub.d $f4,$f10,$f12
/* f0670e8: 462e4182 */ mul.d $f6,$f8,$f14
/* f0670ec: 00000000 */ nop
/* f0670f0: 46302202 */ mul.d $f8,$f4,$f16
/* f0670f4: 4628303c */ c.lt.d $f6,$f8
/* f0670f8: 00000000 */ nop
/* f0670fc: 4500000a */ bc1f .L0f067128
/* f067100: 00000000 */ nop
/* f067104: 462012a0 */ cvt.s.d $f10,$f2
/* f067108: 25820008 */ addiu $v0,$t4,0x8
/* f06710c: 24060002 */ addiu $a2,$zero,0x2
/* f067110: 00001825 */ or $v1,$zero,$zero
/* f067114: e44a000c */ swc1 $f10,0xc($v0)
/* f067118: d6240008 */ ldc1 $f4,0x8($s1)
/* f06711c: 462021a0 */ cvt.s.d $f6,$f4
/* f067120: 10000005 */ b .L0f067138
/* f067124: e4460010 */ swc1 $f6,0x10($v0)
.L0f067128:
/* f067128: 24630001 */ addiu $v1,$v1,0x1
/* f06712c: 1464ffe7 */ bne $v1,$a0,.L0f0670cc
/* f067130: 24420004 */ addiu $v0,$v0,0x4
/* f067134: 00001825 */ or $v1,$zero,$zero
.L0f067138:
/* f067138: d5a80000 */ ldc1 $f8,0x0($t5)
/* f06713c: 0006c0c0 */ sll $t8,$a2,0x3
/* f067140: 01988821 */ addu $s1,$t4,$t8
/* f067144: 462042a0 */ cvt.s.d $f10,$f8
/* f067148: 24c60001 */ addiu $a2,$a2,0x1
/* f06714c: e62a000c */ swc1 $f10,0xc($s1)
/* f067150: d5a40008 */ ldc1 $f4,0x8($t5)
/* f067154: 462021a0 */ cvt.s.d $f6,$f4
/* f067158: e6260010 */ swc1 $f6,0x10($s1)
.L0f06715c:
/* f06715c: 11280030 */ beq $t1,$t0,.L0f067220
/* f067160: 0009c900 */ sll $t9,$t1,0x4
/* f067164: 000670c0 */ sll $t6,$a2,0x3
/* f067168: 018e8821 */ addu $s1,$t4,$t6
/* f06716c: 18800025 */ blez $a0,.L0f067204
/* f067170: 00b98021 */ addu $s0,$a1,$t9
/* f067174: 00087900 */ sll $t7,$t0,0x4
/* f067178: 00af6821 */ addu $t5,$a1,$t7
/* f06717c: d5a80008 */ ldc1 $f8,0x8($t5)
/* f067180: d5aa0000 */ ldc1 $f10,0x0($t5)
/* f067184: d60c0000 */ ldc1 $f12,0x0($s0)
/* f067188: d6000008 */ ldc1 $f0,0x8($s0)
/* f06718c: 27a201bc */ addiu $v0,$sp,0x1bc
/* f067190: 462c5401 */ sub.d $f16,$f10,$f12
/* f067194: 46204381 */ sub.d $f14,$f8,$f0
.L0f067198:
/* f067198: 8c480000 */ lw $t0,0x0($v0)
/* f06719c: 0008c100 */ sll $t8,$t0,0x4
/* f0671a0: 00b86821 */ addu $t5,$a1,$t8
/* f0671a4: d5a20000 */ ldc1 $f2,0x0($t5)
/* f0671a8: d5a80008 */ ldc1 $f8,0x8($t5)
/* f0671ac: 462c1101 */ sub.d $f4,$f2,$f12
/* f0671b0: 46204281 */ sub.d $f10,$f8,$f0
/* f0671b4: 462e2182 */ mul.d $f6,$f4,$f14
/* f0671b8: 00000000 */ nop
/* f0671bc: 46305102 */ mul.d $f4,$f10,$f16
/* f0671c0: 4624303c */ c.lt.d $f6,$f4
/* f0671c4: 00000000 */ nop
/* f0671c8: 4500000a */ bc1f .L0f0671f4
/* f0671cc: 00000000 */ nop
/* f0671d0: 46201220 */ cvt.s.d $f8,$f2
/* f0671d4: 24c60001 */ addiu $a2,$a2,0x1
/* f0671d8: 26310008 */ addiu $s1,$s1,0x8
/* f0671dc: 00001825 */ or $v1,$zero,$zero
/* f0671e0: e6280004 */ swc1 $f8,0x4($s1)
/* f0671e4: d5aa0008 */ ldc1 $f10,0x8($t5)
/* f0671e8: 462051a0 */ cvt.s.d $f6,$f10
/* f0671ec: 10000005 */ b .L0f067204
/* f0671f0: e6260008 */ swc1 $f6,0x8($s1)
.L0f0671f4:
/* f0671f4: 24630001 */ addiu $v1,$v1,0x1
/* f0671f8: 1464ffe7 */ bne $v1,$a0,.L0f067198
/* f0671fc: 24420004 */ addiu $v0,$v0,0x4
/* f067200: 00001825 */ or $v1,$zero,$zero
.L0f067204:
/* f067204: d6040000 */ ldc1 $f4,0x0($s0)
/* f067208: 24c60001 */ addiu $a2,$a2,0x1
/* f06720c: 46202220 */ cvt.s.d $f8,$f4
/* f067210: e628000c */ swc1 $f8,0xc($s1)
/* f067214: d60a0008 */ ldc1 $f10,0x8($s0)
/* f067218: 462051a0 */ cvt.s.d $f6,$f10
/* f06721c: e6260010 */ swc1 $f6,0x10($s1)
.L0f067220:
/* f067220: 11490029 */ beq $t2,$t1,.L0f0672c8
/* f067224: 00000000 */ nop
/* f067228: 18800027 */ blez $a0,.L0f0672c8
/* f06722c: 000ac900 */ sll $t9,$t2,0x4
/* f067230: 00097100 */ sll $t6,$t1,0x4
/* f067234: 00ae8021 */ addu $s0,$a1,$t6
/* f067238: 00b96821 */ addu $t5,$a1,$t9
/* f06723c: d5ac0008 */ ldc1 $f12,0x8($t5)
/* f067240: d5a00000 */ ldc1 $f0,0x0($t5)
/* f067244: d6040008 */ ldc1 $f4,0x8($s0)
/* f067248: d6080000 */ ldc1 $f8,0x0($s0)
/* f06724c: 27a201bc */ addiu $v0,$sp,0x1bc
/* f067250: 462c2381 */ sub.d $f14,$f4,$f12
/* f067254: 46204401 */ sub.d $f16,$f8,$f0
.L0f067258:
/* f067258: 8c480000 */ lw $t0,0x0($v0)
/* f06725c: 00087900 */ sll $t7,$t0,0x4
/* f067260: 00af6821 */ addu $t5,$a1,$t7
/* f067264: d5a20000 */ ldc1 $f2,0x0($t5)
/* f067268: d5a40008 */ ldc1 $f4,0x8($t5)
/* f06726c: 46201281 */ sub.d $f10,$f2,$f0
/* f067270: 462c2201 */ sub.d $f8,$f4,$f12
/* f067274: 462e5182 */ mul.d $f6,$f10,$f14
/* f067278: 00000000 */ nop
/* f06727c: 46304282 */ mul.d $f10,$f8,$f16
/* f067280: 462a303c */ c.lt.d $f6,$f10
/* f067284: 00000000 */ nop
/* f067288: 4500000b */ bc1f .L0f0672b8
/* f06728c: 00000000 */ nop
/* f067290: 46201120 */ cvt.s.d $f4,$f2
/* f067294: 0006c0c0 */ sll $t8,$a2,0x3
/* f067298: 01988821 */ addu $s1,$t4,$t8
/* f06729c: 24c60001 */ addiu $a2,$a2,0x1
/* f0672a0: e624000c */ swc1 $f4,0xc($s1)
/* f0672a4: d5a80008 */ ldc1 $f8,0x8($t5)
/* f0672a8: 00001825 */ or $v1,$zero,$zero
/* f0672ac: 462041a0 */ cvt.s.d $f6,$f8
/* f0672b0: 10000005 */ b .L0f0672c8
/* f0672b4: e6260010 */ swc1 $f6,0x10($s1)
.L0f0672b8:
/* f0672b8: 24630001 */ addiu $v1,$v1,0x1
/* f0672bc: 1464ffe6 */ bne $v1,$a0,.L0f067258
/* f0672c0: 24420004 */ addiu $v0,$v0,0x4
/* f0672c4: 00001825 */ or $v1,$zero,$zero
.L0f0672c8:
/* f0672c8: 1149000d */ beq $t2,$t1,.L0f067300
/* f0672cc: 00000000 */ nop
/* f0672d0: 116a000b */ beq $t3,$t2,.L0f067300
/* f0672d4: 000a7100 */ sll $t6,$t2,0x4
/* f0672d8: 00ae6821 */ addu $t5,$a1,$t6
/* f0672dc: d5aa0000 */ ldc1 $f10,0x0($t5)
/* f0672e0: 0006c8c0 */ sll $t9,$a2,0x3
/* f0672e4: 01998821 */ addu $s1,$t4,$t9
/* f0672e8: 46205120 */ cvt.s.d $f4,$f10
/* f0672ec: 24c60001 */ addiu $a2,$a2,0x1
/* f0672f0: e624000c */ swc1 $f4,0xc($s1)
/* f0672f4: d5a80008 */ ldc1 $f8,0x8($t5)
/* f0672f8: 462041a0 */ cvt.s.d $f6,$f8
/* f0672fc: e6260010 */ swc1 $f6,0x10($s1)
.L0f067300:
/* f067300: 116a0027 */ beq $t3,$t2,.L0f0673a0
/* f067304: 00000000 */ nop
/* f067308: 18800025 */ blez $a0,.L0f0673a0
/* f06730c: 000a7900 */ sll $t7,$t2,0x4
/* f067310: 00af6821 */ addu $t5,$a1,$t7
/* f067314: d5aa0008 */ ldc1 $f10,0x8($t5)
/* f067318: d5a40000 */ ldc1 $f4,0x0($t5)
/* f06731c: d4e20000 */ ldc1 $f2,0x0($a3)
/* f067320: d4e00008 */ ldc1 $f0,0x8($a3)
/* f067324: 27a201bc */ addiu $v0,$sp,0x1bc
/* f067328: 46222401 */ sub.d $f16,$f4,$f2
/* f06732c: 46205381 */ sub.d $f14,$f10,$f0
.L0f067330:
/* f067330: 8c470000 */ lw $a3,0x0($v0)
/* f067334: 0007c100 */ sll $t8,$a3,0x4
/* f067338: 00b84021 */ addu $t0,$a1,$t8
/* f06733c: d50c0000 */ ldc1 $f12,0x0($t0)
/* f067340: d50a0008 */ ldc1 $f10,0x8($t0)
/* f067344: 46226201 */ sub.d $f8,$f12,$f2
/* f067348: 46205101 */ sub.d $f4,$f10,$f0
/* f06734c: 462e4182 */ mul.d $f6,$f8,$f14
/* f067350: 00000000 */ nop
/* f067354: 46302202 */ mul.d $f8,$f4,$f16
/* f067358: 4628303c */ c.lt.d $f6,$f8
/* f06735c: 00000000 */ nop
/* f067360: 4500000b */ bc1f .L0f067390
/* f067364: 00000000 */ nop
/* f067368: 462062a0 */ cvt.s.d $f10,$f12
/* f06736c: 0006c8c0 */ sll $t9,$a2,0x3
/* f067370: 01998821 */ addu $s1,$t4,$t9
/* f067374: 24c60001 */ addiu $a2,$a2,0x1
/* f067378: e62a000c */ swc1 $f10,0xc($s1)
/* f06737c: d5040008 */ ldc1 $f4,0x8($t0)
/* f067380: 00001825 */ or $v1,$zero,$zero
/* f067384: 462021a0 */ cvt.s.d $f6,$f4
/* f067388: 10000005 */ b .L0f0673a0
/* f06738c: e6260010 */ swc1 $f6,0x10($s1)
.L0f067390:
/* f067390: 24630001 */ addiu $v1,$v1,0x1
/* f067394: 1464ffe6 */ bne $v1,$a0,.L0f067330
/* f067398: 24420004 */ addiu $v0,$v0,0x4
/* f06739c: 00001825 */ or $v1,$zero,$zero
.L0f0673a0:
/* f0673a0: 18c0001b */ blez $a2,.L0f067410
/* f0673a4: 01801025 */ or $v0,$t4,$zero
/* f0673a8: 24630001 */ addiu $v1,$v1,0x1
/* f0673ac: c452000c */ lwc1 $f18,0xc($v0)
/* f0673b0: 1066000e */ beq $v1,$a2,.L0f0673ec
/* f0673b4: 8fae0318 */ lw $t6,0x318($sp)
.L0f0673b8:
/* f0673b8: c5d00030 */ lwc1 $f16,0x30($t6)
/* f0673bc: c44e0010 */ lwc1 $f14,0x10($v0)
/* f0673c0: 24630001 */ addiu $v1,$v1,0x1
/* f0673c4: 46109400 */ add.s $f16,$f18,$f16
/* f0673c8: c4520014 */ lwc1 $f18,0x14($v0)
/* f0673cc: 24420008 */ addiu $v0,$v0,0x8
/* f0673d0: e4500004 */ swc1 $f16,0x4($v0)
/* f0673d4: 8faf0318 */ lw $t7,0x318($sp)
/* f0673d8: c5f00038 */ lwc1 $f16,0x38($t7)
/* f0673dc: 46107400 */ add.s $f16,$f14,$f16
/* f0673e0: e4500008 */ swc1 $f16,0x8($v0)
/* f0673e4: 1466fff4 */ bne $v1,$a2,.L0f0673b8
/* f0673e8: 8fae0318 */ lw $t6,0x318($sp)
.L0f0673ec:
/* f0673ec: c5d00030 */ lwc1 $f16,0x30($t6)
/* f0673f0: c44e0010 */ lwc1 $f14,0x10($v0)
/* f0673f4: 24420008 */ addiu $v0,$v0,0x8
/* f0673f8: 46109400 */ add.s $f16,$f18,$f16
/* f0673fc: e4500004 */ swc1 $f16,0x4($v0)
/* f067400: 8faf0318 */ lw $t7,0x318($sp)
/* f067404: c5f00038 */ lwc1 $f16,0x38($t7)
/* f067408: 46107400 */ add.s $f16,$f14,$f16
/* f06740c: e4500008 */ swc1 $f16,0x8($v0)
.L0f067410:
/* f067410: 8fb00008 */ lw $s0,0x8($sp)
/* f067414: 8fb1000c */ lw $s1,0xc($sp)
/* f067418: 27bd0300 */ addiu $sp,$sp,0x300
/* f06741c: 03e00008 */ jr $ra
/* f067420: 00c01025 */ or $v0,$a2,$zero
);
void func0f067424(struct modelrodata_bbox *bbox, Mtxf *mtx, struct tiletype2 *tile)
{
tile->header.numvertices = func0f066b5c(
bbox->xmin, bbox->xmax, bbox->ymin, bbox->ymax, bbox->zmin, bbox->zmax, mtx, tile);
tile->header.type = TILETYPE_02;
tile->ymin = mtx->m[3][1] + func0f06683c(bbox, mtx);
tile->ymax = mtx->m[3][1] + func0f06686c(bbox, mtx);
}
GLOBAL_ASM(
glabel func0f0674bc
/* f0674bc: 27bdffe8 */ addiu $sp,$sp,-24
/* f0674c0: afbf0014 */ sw $ra,0x14($sp)
/* f0674c4: afa5001c */ sw $a1,0x1c($sp)
/* f0674c8: 8c890000 */ lw $t1,0x0($a0)
/* f0674cc: 00004025 */ or $t0,$zero,$zero
/* f0674d0: 240e0002 */ addiu $t6,$zero,0x2
/* f0674d4: 19200026 */ blez $t1,.L0f067570
/* f0674d8: 00c02825 */ or $a1,$a2,$zero
/* f0674dc: 00e01825 */ or $v1,$a3,$zero
/* f0674e0: 00801025 */ or $v0,$a0,$zero
/* f0674e4: c4c40000 */ lwc1 $f4,0x0($a2)
.L0f0674e8:
/* f0674e8: c4460004 */ lwc1 $f6,0x4($v0)
/* f0674ec: c4d20010 */ lwc1 $f18,0x10($a2)
/* f0674f0: c4ca0030 */ lwc1 $f10,0x30($a2)
/* f0674f4: 46062202 */ mul.s $f8,$f4,$f6
/* f0674f8: c4440008 */ lwc1 $f4,0x8($v0)
/* f0674fc: 25080001 */ addiu $t0,$t0,0x1
/* f067500: 24630008 */ addiu $v1,$v1,0x8
/* f067504: 46049182 */ mul.s $f6,$f18,$f4
/* f067508: c4d20020 */ lwc1 $f18,0x20($a2)
/* f06750c: 2442000c */ addiu $v0,$v0,0xc
/* f067510: 46085400 */ add.s $f16,$f10,$f8
/* f067514: c4480000 */ lwc1 $f8,0x0($v0)
/* f067518: 46124102 */ mul.s $f4,$f8,$f18
/* f06751c: 46068280 */ add.s $f10,$f16,$f6
/* f067520: 460a2400 */ add.s $f16,$f4,$f10
/* f067524: e4700004 */ swc1 $f16,0x4($v1)
/* f067528: c448fff8 */ lwc1 $f8,-0x8($v0)
/* f06752c: c4c60008 */ lwc1 $f6,0x8($a2)
/* f067530: c4d00018 */ lwc1 $f16,0x18($a2)
/* f067534: c4c40038 */ lwc1 $f4,0x38($a2)
/* f067538: 46083482 */ mul.s $f18,$f6,$f8
/* f06753c: c446fffc */ lwc1 $f6,-0x4($v0)
/* f067540: 46068202 */ mul.s $f8,$f16,$f6
/* f067544: c4d00028 */ lwc1 $f16,0x28($a2)
/* f067548: 46122280 */ add.s $f10,$f4,$f18
/* f06754c: c4520000 */ lwc1 $f18,0x0($v0)
/* f067550: 46109182 */ mul.s $f6,$f18,$f16
/* f067554: 46085100 */ add.s $f4,$f10,$f8
/* f067558: 46043280 */ add.s $f10,$f6,$f4
/* f06755c: e46a0008 */ swc1 $f10,0x8($v1)
/* f067560: 8c890000 */ lw $t1,0x0($a0)
/* f067564: 0109082a */ slt $at,$t0,$t1
/* f067568: 5420ffdf */ bnezl $at,.L0f0674e8
/* f06756c: c4c40000 */ lwc1 $f4,0x0($a2)
.L0f067570:
/* f067570: a0e90001 */ sb $t1,0x1($a3)
/* f067574: a0ee0000 */ sb $t6,0x0($a3)
/* f067578: afa70024 */ sw $a3,0x24($sp)
/* f06757c: afa60020 */ sw $a2,0x20($sp)
/* f067580: 0fc19a0f */ jal func0f06683c
/* f067584: 8fa4001c */ lw $a0,0x1c($sp)
/* f067588: 8fa50020 */ lw $a1,0x20($sp)
/* f06758c: 8fa70024 */ lw $a3,0x24($sp)
/* f067590: c4a80034 */ lwc1 $f8,0x34($a1)
/* f067594: 46080480 */ add.s $f18,$f0,$f8
/* f067598: e4f20008 */ swc1 $f18,0x8($a3)
/* f06759c: 0fc19a1b */ jal func0f06686c
/* f0675a0: 8fa4001c */ lw $a0,0x1c($sp)
/* f0675a4: 8fa60020 */ lw $a2,0x20($sp)
/* f0675a8: 8fa70024 */ lw $a3,0x24($sp)
/* f0675ac: c4d00034 */ lwc1 $f16,0x34($a2)
/* f0675b0: 46100180 */ add.s $f6,$f0,$f16
/* f0675b4: e4e60004 */ swc1 $f6,0x4($a3)
/* f0675b8: 8fbf0014 */ lw $ra,0x14($sp)
/* f0675bc: 27bd0018 */ addiu $sp,$sp,0x18
/* f0675c0: 03e00008 */ jr $ra
/* f0675c4: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f0675c8
/* f0675c8: 44856000 */ mtc1 $a1,$f12
/* f0675cc: 27bdff68 */ addiu $sp,$sp,-152
/* f0675d0: afbf001c */ sw $ra,0x1c($sp)
/* f0675d4: e7ac003c */ swc1 $f12,0x3c($sp)
/* f0675d8: c7a0003c */ lwc1 $f0,0x3c($sp)
/* f0675dc: afb00018 */ sw $s0,0x18($sp)
/* f0675e0: afa40098 */ sw $a0,0x98($sp)
/* f0675e4: e7a00038 */ swc1 $f0,0x38($sp)
/* f0675e8: e7a00034 */ swc1 $f0,0x34($sp)
/* f0675ec: c4e60030 */ lwc1 $f6,0x30($a3)
/* f0675f0: c4840000 */ lwc1 $f4,0x0($a0)
/* f0675f4: 00c08025 */ or $s0,$a2,$zero
/* f0675f8: 27a50058 */ addiu $a1,$sp,0x58
/* f0675fc: 46062201 */ sub.s $f8,$f4,$f6
/* f067600: e7a8004c */ swc1 $f8,0x4c($sp)
/* f067604: c4f00034 */ lwc1 $f16,0x34($a3)
/* f067608: c48a0004 */ lwc1 $f10,0x4($a0)
/* f06760c: 46105481 */ sub.s $f18,$f10,$f16
/* f067610: e7b20050 */ swc1 $f18,0x50($sp)
/* f067614: c4e60038 */ lwc1 $f6,0x38($a3)
/* f067618: c4840008 */ lwc1 $f4,0x8($a0)
/* f06761c: 00e02025 */ or $a0,$a3,$zero
/* f067620: 46062201 */ sub.s $f8,$f4,$f6
/* f067624: 0c005c39 */ jal mtx000170e4
/* f067628: e7a80054 */ swc1 $f8,0x54($sp)
/* f06762c: 27a40058 */ addiu $a0,$sp,0x58
/* f067630: 27a5004c */ addiu $a1,$sp,0x4c
/* f067634: 0c0056c5 */ jal mtx4RotateVec
/* f067638: 27a60040 */ addiu $a2,$sp,0x40
/* f06763c: 27a40058 */ addiu $a0,$sp,0x58
/* f067640: 27a50034 */ addiu $a1,$sp,0x34
/* f067644: 0c0056c5 */ jal mtx4RotateVec
/* f067648: 27a60028 */ addiu $a2,$sp,0x28
/* f06764c: 44800000 */ mtc1 $zero,$f0
/* f067650: c7a20028 */ lwc1 $f2,0x28($sp)
/* f067654: 4600103c */ c.lt.s $f2,$f0
/* f067658: 00000000 */ nop
/* f06765c: 45020004 */ bc1fl .L0f067670
/* f067660: c7a2002c */ lwc1 $f2,0x2c($sp)
/* f067664: 46001087 */ neg.s $f2,$f2
/* f067668: e7a20028 */ swc1 $f2,0x28($sp)
/* f06766c: c7a2002c */ lwc1 $f2,0x2c($sp)
.L0f067670:
/* f067670: 4600103c */ c.lt.s $f2,$f0
/* f067674: 00000000 */ nop
/* f067678: 45020004 */ bc1fl .L0f06768c
/* f06767c: c7a20030 */ lwc1 $f2,0x30($sp)
/* f067680: 46001087 */ neg.s $f2,$f2
/* f067684: e7a2002c */ swc1 $f2,0x2c($sp)
/* f067688: c7a20030 */ lwc1 $f2,0x30($sp)
.L0f06768c:
/* f06768c: 4600103c */ c.lt.s $f2,$f0
/* f067690: 00000000 */ nop
/* f067694: 45020004 */ bc1fl .L0f0676a8
/* f067698: c7aa0040 */ lwc1 $f10,0x40($sp)
/* f06769c: 46001087 */ neg.s $f2,$f2
/* f0676a0: e7a20030 */ swc1 $f2,0x30($sp)
/* f0676a4: c7aa0040 */ lwc1 $f10,0x40($sp)
.L0f0676a8:
/* f0676a8: c7b00028 */ lwc1 $f16,0x28($sp)
/* f0676ac: c6040008 */ lwc1 $f4,0x8($s0)
/* f0676b0: 00001025 */ or $v0,$zero,$zero
/* f0676b4: 46105481 */ sub.s $f18,$f10,$f16
/* f0676b8: 8fbf001c */ lw $ra,0x1c($sp)
/* f0676bc: 4604903e */ c.le.s $f18,$f4
/* f0676c0: 00000000 */ nop
/* f0676c4: 45000002 */ bc1f .L0f0676d0
/* f0676c8: 00000000 */ nop
/* f0676cc: 24020001 */ addiu $v0,$zero,0x1
.L0f0676d0:
/* f0676d0: 50400034 */ beqzl $v0,.L0f0677a4
/* f0676d4: 8fb00018 */ lw $s0,0x18($sp)
/* f0676d8: 460a8180 */ add.s $f6,$f16,$f10
/* f0676dc: c6080004 */ lwc1 $f8,0x4($s0)
/* f0676e0: 00001025 */ or $v0,$zero,$zero
/* f0676e4: c7a40044 */ lwc1 $f4,0x44($sp)
/* f0676e8: 4606403e */ c.le.s $f8,$f6
/* f0676ec: c7b2002c */ lwc1 $f18,0x2c($sp)
/* f0676f0: 45000002 */ bc1f .L0f0676fc
/* f0676f4: 00000000 */ nop
/* f0676f8: 24020001 */ addiu $v0,$zero,0x1
.L0f0676fc:
/* f0676fc: 50400029 */ beqzl $v0,.L0f0677a4
/* f067700: 8fb00018 */ lw $s0,0x18($sp)
/* f067704: 46122401 */ sub.s $f16,$f4,$f18
/* f067708: c60a0010 */ lwc1 $f10,0x10($s0)
/* f06770c: 00001025 */ or $v0,$zero,$zero
/* f067710: 460a803e */ c.le.s $f16,$f10
/* f067714: 00000000 */ nop
/* f067718: 45000002 */ bc1f .L0f067724
/* f06771c: 00000000 */ nop
/* f067720: 24020001 */ addiu $v0,$zero,0x1
.L0f067724:
/* f067724: 5040001f */ beqzl $v0,.L0f0677a4
/* f067728: 8fb00018 */ lw $s0,0x18($sp)
/* f06772c: 46049180 */ add.s $f6,$f18,$f4
/* f067730: c608000c */ lwc1 $f8,0xc($s0)
/* f067734: 00001025 */ or $v0,$zero,$zero
/* f067738: c7aa0048 */ lwc1 $f10,0x48($sp)
/* f06773c: 4606403e */ c.le.s $f8,$f6
/* f067740: c7b00030 */ lwc1 $f16,0x30($sp)
/* f067744: 45000002 */ bc1f .L0f067750
/* f067748: 00000000 */ nop
/* f06774c: 24020001 */ addiu $v0,$zero,0x1
.L0f067750:
/* f067750: 50400014 */ beqzl $v0,.L0f0677a4
/* f067754: 8fb00018 */ lw $s0,0x18($sp)
/* f067758: 46105481 */ sub.s $f18,$f10,$f16
/* f06775c: c6040018 */ lwc1 $f4,0x18($s0)
/* f067760: 00001025 */ or $v0,$zero,$zero
/* f067764: 4604903e */ c.le.s $f18,$f4
/* f067768: 00000000 */ nop
/* f06776c: 45000002 */ bc1f .L0f067778
/* f067770: 00000000 */ nop
/* f067774: 24020001 */ addiu $v0,$zero,0x1
.L0f067778:
/* f067778: 5040000a */ beqzl $v0,.L0f0677a4
/* f06777c: 8fb00018 */ lw $s0,0x18($sp)
/* f067780: 460a8180 */ add.s $f6,$f16,$f10
/* f067784: c6080014 */ lwc1 $f8,0x14($s0)
/* f067788: 00001025 */ or $v0,$zero,$zero
/* f06778c: 4606403e */ c.le.s $f8,$f6
/* f067790: 00000000 */ nop
/* f067794: 45020003 */ bc1fl .L0f0677a4
/* f067798: 8fb00018 */ lw $s0,0x18($sp)
/* f06779c: 24020001 */ addiu $v0,$zero,0x1
/* f0677a0: 8fb00018 */ lw $s0,0x18($sp)
.L0f0677a4:
/* f0677a4: 03e00008 */ jr $ra
/* f0677a8: 27bd0098 */ addiu $sp,$sp,0x98
);
GLOBAL_ASM(
glabel func0f0677ac
/* f0677ac: c4840000 */ lwc1 $f4,0x0($a0)
/* f0677b0: c4c60000 */ lwc1 $f6,0x0($a2)
/* f0677b4: c4880004 */ lwc1 $f8,0x4($a0)
/* f0677b8: c4ca0004 */ lwc1 $f10,0x4($a2)
/* f0677bc: 8fae0014 */ lw $t6,0x14($sp)
/* f0677c0: 46062081 */ sub.s $f2,$f4,$f6
/* f0677c4: c4c40008 */ lwc1 $f4,0x8($a2)
/* f0677c8: c5c60000 */ lwc1 $f6,0x0($t6)
/* f0677cc: 460a4301 */ sub.s $f12,$f8,$f10
/* f0677d0: c4920008 */ lwc1 $f18,0x8($a0)
/* f0677d4: 46061202 */ mul.s $f8,$f2,$f6
/* f0677d8: c5ca0004 */ lwc1 $f10,0x4($t6)
/* f0677dc: 46049381 */ sub.s $f14,$f18,$f4
/* f0677e0: c5c60008 */ lwc1 $f6,0x8($t6)
/* f0677e4: 460a6482 */ mul.s $f18,$f12,$f10
/* f0677e8: c4b00008 */ lwc1 $f16,0x8($a1)
/* f0677ec: 460e3282 */ mul.s $f10,$f6,$f14
/* f0677f0: c7a60028 */ lwc1 $f6,0x28($sp)
/* f0677f4: 46124100 */ add.s $f4,$f8,$f18
/* f0677f8: c7a8002c */ lwc1 $f8,0x2c($sp)
/* f0677fc: 46045000 */ add.s $f0,$f10,$f4
/* f067800: 46088480 */ add.s $f18,$f16,$f8
/* f067804: 4600903c */ c.lt.s $f18,$f0
/* f067808: 00000000 */ nop
/* f06780c: 45010007 */ bc1t .L0f06782c
/* f067810: 00000000 */ nop
/* f067814: 46103281 */ sub.s $f10,$f6,$f16
/* f067818: 8fa20010 */ lw $v0,0x10($sp)
/* f06781c: 460a003c */ c.lt.s $f0,$f10
/* f067820: 00000000 */ nop
/* f067824: 45020004 */ bc1fl .L0f067838
/* f067828: c4440000 */ lwc1 $f4,0x0($v0)
.L0f06782c:
/* f06782c: 03e00008 */ jr $ra
/* f067830: 00001025 */ or $v0,$zero,$zero
/* f067834: c4440000 */ lwc1 $f4,0x0($v0)
.L0f067838:
/* f067838: c4520004 */ lwc1 $f18,0x4($v0)
/* f06783c: c4b00004 */ lwc1 $f16,0x4($a1)
/* f067840: 46041202 */ mul.s $f8,$f2,$f4
/* f067844: c4440008 */ lwc1 $f4,0x8($v0)
/* f067848: 46126182 */ mul.s $f6,$f12,$f18
/* f06784c: 46064280 */ add.s $f10,$f8,$f6
/* f067850: 460e2482 */ mul.s $f18,$f4,$f14
/* f067854: c7a80024 */ lwc1 $f8,0x24($sp)
/* f067858: c7a40020 */ lwc1 $f4,0x20($sp)
/* f06785c: 46088180 */ add.s $f6,$f16,$f8
/* f067860: 460a9000 */ add.s $f0,$f18,$f10
/* f067864: 4600303c */ c.lt.s $f6,$f0
/* f067868: 00000000 */ nop
/* f06786c: 45010006 */ bc1t .L0f067888
/* f067870: 00000000 */ nop
/* f067874: 46102481 */ sub.s $f18,$f4,$f16
/* f067878: 4612003c */ c.lt.s $f0,$f18
/* f06787c: 00000000 */ nop
/* f067880: 45020004 */ bc1fl .L0f067894
/* f067884: c4ea0000 */ lwc1 $f10,0x0($a3)
.L0f067888:
/* f067888: 03e00008 */ jr $ra
/* f06788c: 00001025 */ or $v0,$zero,$zero
/* f067890: c4ea0000 */ lwc1 $f10,0x0($a3)
.L0f067894:
/* f067894: c4e60004 */ lwc1 $f6,0x4($a3)
/* f067898: c4b00000 */ lwc1 $f16,0x0($a1)
/* f06789c: 460a1202 */ mul.s $f8,$f2,$f10
/* f0678a0: c4ea0008 */ lwc1 $f10,0x8($a3)
/* f0678a4: 46066102 */ mul.s $f4,$f12,$f6
/* f0678a8: 46044480 */ add.s $f18,$f8,$f4
/* f0678ac: 460e5182 */ mul.s $f6,$f10,$f14
/* f0678b0: c7a8001c */ lwc1 $f8,0x1c($sp)
/* f0678b4: c7aa0018 */ lwc1 $f10,0x18($sp)
/* f0678b8: 46088100 */ add.s $f4,$f16,$f8
/* f0678bc: 46123000 */ add.s $f0,$f6,$f18
/* f0678c0: 4600203c */ c.lt.s $f4,$f0
/* f0678c4: 00000000 */ nop
/* f0678c8: 45010007 */ bc1t .L0f0678e8
/* f0678cc: 00000000 */ nop
/* f0678d0: 46105181 */ sub.s $f6,$f10,$f16
/* f0678d4: 24020001 */ addiu $v0,$zero,0x1
/* f0678d8: 4606003c */ c.lt.s $f0,$f6
/* f0678dc: 00000000 */ nop
/* f0678e0: 45000003 */ bc1f .L0f0678f0
/* f0678e4: 00000000 */ nop
.L0f0678e8:
/* f0678e8: 03e00008 */ jr $ra
/* f0678ec: 00001025 */ or $v0,$zero,$zero
.L0f0678f0:
/* f0678f0: 03e00008 */ jr $ra
/* f0678f4: 00000000 */ nop
);
bool func0f0678f8(struct coord *coord, f32 *arg1, s32 padnum)
{
struct pad pad;
padUnpack(padnum, PADFIELD_POS | PADFIELD_LOOK | PADFIELD_UP | PADFIELD_NORMAL | PADFIELD_BBOX, &pad);
return func0f0677ac(coord, arg1, &pad.pos, &pad.normal, &pad.up, &pad.look,
pad.bbox.xmin, pad.bbox.xmax, pad.bbox.ymin, pad.bbox.ymax, pad.bbox.zmin, pad.bbox.zmax);
}
bool func0f06797c(struct coord *coord, f32 arg1, s32 padnum)
{
f32 sp1c[3];
sp1c[0] = arg1;
sp1c[1] = arg1;
sp1c[2] = arg1;
return func0f0678f8(coord, sp1c, padnum);
}
GLOBAL_ASM(
glabel func0f0679ac
/* f0679ac: 27bdffb8 */ addiu $sp,$sp,-72
/* f0679b0: afbf0044 */ sw $ra,0x44($sp)
/* f0679b4: afbe0040 */ sw $s8,0x40($sp)
/* f0679b8: afb7003c */ sw $s7,0x3c($sp)
/* f0679bc: afb60038 */ sw $s6,0x38($sp)
/* f0679c0: afb50034 */ sw $s5,0x34($sp)
/* f0679c4: afb40030 */ sw $s4,0x30($sp)
/* f0679c8: afb3002c */ sw $s3,0x2c($sp)
/* f0679cc: afb20028 */ sw $s2,0x28($sp)
/* f0679d0: afb10024 */ sw $s1,0x24($sp)
/* f0679d4: afb00020 */ sw $s0,0x20($sp)
/* f0679d8: f7b40018 */ sdc1 $f20,0x18($sp)
/* f0679dc: afa40048 */ sw $a0,0x48($sp)
/* f0679e0: 8c8f0008 */ lw $t7,0x8($a0)
/* f0679e4: 00e0a825 */ or $s5,$a3,$zero
/* f0679e8: 00a0b025 */ or $s6,$a1,$zero
/* f0679ec: 8df00000 */ lw $s0,0x0($t7)
/* f0679f0: 00c0b825 */ or $s7,$a2,$zero
/* f0679f4: 24130001 */ addiu $s3,$zero,0x1
/* f0679f8: 12000064 */ beqz $s0,.L0f067b8c
/* f0679fc: 241e000a */ addiu $s8,$zero,0xa
/* f067a00: 8fb40058 */ lw $s4,0x58($sp)
/* f067a04: 96020000 */ lhu $v0,0x0($s0)
.L0f067a08:
/* f067a08: 8fa40048 */ lw $a0,0x48($sp)
/* f067a0c: 02002825 */ or $a1,$s0,$zero
/* f067a10: 305800ff */ andi $t8,$v0,0xff
/* f067a14: 171e004c */ bne $t8,$s8,.L0f067b48
/* f067a18: 00003025 */ or $a2,$zero,$zero
/* f067a1c: 0c006973 */ jal model0001a5cc
/* f067a20: 8e120004 */ lw $s2,0x4($s0)
/* f067a24: 00408825 */ or $s1,$v0,$zero
/* f067a28: 02402025 */ or $a0,$s2,$zero
/* f067a2c: 0fc19a03 */ jal func0f06680c
/* f067a30: 00402825 */ or $a1,$v0,$zero
/* f067a34: c6240030 */ lwc1 $f4,0x30($s1)
/* f067a38: 02402025 */ or $a0,$s2,$zero
/* f067a3c: 02202825 */ or $a1,$s1,$zero
/* f067a40: 0fc199f7 */ jal func0f0667dc
/* f067a44: 46002500 */ add.s $f20,$f4,$f0
/* f067a48: c6ac0000 */ lwc1 $f12,0x0($s5)
/* f067a4c: c68e0000 */ lwc1 $f14,0x0($s4)
/* f067a50: c6260030 */ lwc1 $f6,0x30($s1)
/* f067a54: 460e6201 */ sub.s $f8,$f12,$f14
/* f067a58: 46003080 */ add.s $f2,$f6,$f0
/* f067a5c: 4614403e */ c.le.s $f8,$f20
/* f067a60: 00000000 */ nop
/* f067a64: 45000036 */ bc1f .L0f067b40
/* f067a68: 00000000 */ nop
/* f067a6c: 460c7280 */ add.s $f10,$f14,$f12
/* f067a70: 02402025 */ or $a0,$s2,$zero
/* f067a74: 460a103e */ c.le.s $f2,$f10
/* f067a78: 00000000 */ nop
/* f067a7c: 45000030 */ bc1f .L0f067b40
/* f067a80: 00000000 */ nop
/* f067a84: 0fc19a1b */ jal func0f06686c
/* f067a88: 02202825 */ or $a1,$s1,$zero
/* f067a8c: c6300034 */ lwc1 $f16,0x34($s1)
/* f067a90: 02402025 */ or $a0,$s2,$zero
/* f067a94: 02202825 */ or $a1,$s1,$zero
/* f067a98: 0fc19a0f */ jal func0f06683c
/* f067a9c: 46008500 */ add.s $f20,$f16,$f0
/* f067aa0: c6ac0004 */ lwc1 $f12,0x4($s5)
/* f067aa4: c68e0004 */ lwc1 $f14,0x4($s4)
/* f067aa8: c6320034 */ lwc1 $f18,0x34($s1)
/* f067aac: 460e6101 */ sub.s $f4,$f12,$f14
/* f067ab0: 46009080 */ add.s $f2,$f18,$f0
/* f067ab4: 4614203e */ c.le.s $f4,$f20
/* f067ab8: 00000000 */ nop
/* f067abc: 45000020 */ bc1f .L0f067b40
/* f067ac0: 00000000 */ nop
/* f067ac4: 460c7180 */ add.s $f6,$f14,$f12
/* f067ac8: 02402025 */ or $a0,$s2,$zero
/* f067acc: 4606103e */ c.le.s $f2,$f6
/* f067ad0: 00000000 */ nop
/* f067ad4: 4500001a */ bc1f .L0f067b40
/* f067ad8: 00000000 */ nop
/* f067adc: 0fc19a33 */ jal func0f0668cc
/* f067ae0: 02202825 */ or $a1,$s1,$zero
/* f067ae4: c6280038 */ lwc1 $f8,0x38($s1)
/* f067ae8: 02402025 */ or $a0,$s2,$zero
/* f067aec: 02202825 */ or $a1,$s1,$zero
/* f067af0: 0fc19a27 */ jal func0f06689c
/* f067af4: 46004500 */ add.s $f20,$f8,$f0
/* f067af8: c62a0038 */ lwc1 $f10,0x38($s1)
/* f067afc: 0013102b */ sltu $v0,$zero,$s3
/* f067b00: 16600006 */ bnez $s3,.L0f067b1c
/* f067b04: 46005080 */ add.s $f2,$f10,$f0
/* f067b08: c6d00000 */ lwc1 $f16,0x0($s6)
/* f067b0c: 4614803c */ c.lt.s $f16,$f20
/* f067b10: 00000000 */ nop
/* f067b14: 45000002 */ bc1f .L0f067b20
/* f067b18: 00000000 */ nop
.L0f067b1c:
/* f067b1c: e6d40000 */ swc1 $f20,0x0($s6)
.L0f067b20:
/* f067b20: 14400006 */ bnez $v0,.L0f067b3c
/* f067b24: 00009825 */ or $s3,$zero,$zero
/* f067b28: c6f20000 */ lwc1 $f18,0x0($s7)
/* f067b2c: 4612103c */ c.lt.s $f2,$f18
/* f067b30: 00000000 */ nop
/* f067b34: 45000002 */ bc1f .L0f067b40
/* f067b38: 00000000 */ nop
.L0f067b3c:
/* f067b3c: e6e20000 */ swc1 $f2,0x0($s7)
.L0f067b40:
/* f067b40: 10000002 */ b .L0f067b4c
/* f067b44: 8e020014 */ lw $v0,0x14($s0)
.L0f067b48:
/* f067b48: 8e020014 */ lw $v0,0x14($s0)
.L0f067b4c:
/* f067b4c: 10400003 */ beqz $v0,.L0f067b5c
/* f067b50: 00000000 */ nop
/* f067b54: 1000000b */ b .L0f067b84
/* f067b58: 00408025 */ or $s0,$v0,$zero
.L0f067b5c:
/* f067b5c: 12000009 */ beqz $s0,.L0f067b84
/* f067b60: 00000000 */ nop
/* f067b64: 8e02000c */ lw $v0,0xc($s0)
.L0f067b68:
/* f067b68: 50400004 */ beqzl $v0,.L0f067b7c
/* f067b6c: 8e100008 */ lw $s0,0x8($s0)
/* f067b70: 10000004 */ b .L0f067b84
/* f067b74: 00408025 */ or $s0,$v0,$zero
/* f067b78: 8e100008 */ lw $s0,0x8($s0)
.L0f067b7c:
/* f067b7c: 5600fffa */ bnezl $s0,.L0f067b68
/* f067b80: 8e02000c */ lw $v0,0xc($s0)
.L0f067b84:
/* f067b84: 5600ffa0 */ bnezl $s0,.L0f067a08
/* f067b88: 96020000 */ lhu $v0,0x0($s0)
.L0f067b8c:
/* f067b8c: 8fbf0044 */ lw $ra,0x44($sp)
/* f067b90: 2e620001 */ sltiu $v0,$s3,0x1
/* f067b94: 8fb3002c */ lw $s3,0x2c($sp)
/* f067b98: d7b40018 */ ldc1 $f20,0x18($sp)
/* f067b9c: 8fb00020 */ lw $s0,0x20($sp)
/* f067ba0: 8fb10024 */ lw $s1,0x24($sp)
/* f067ba4: 8fb20028 */ lw $s2,0x28($sp)
/* f067ba8: 8fb40030 */ lw $s4,0x30($sp)
/* f067bac: 8fb50034 */ lw $s5,0x34($sp)
/* f067bb0: 8fb60038 */ lw $s6,0x38($sp)
/* f067bb4: 8fb7003c */ lw $s7,0x3c($sp)
/* f067bb8: 8fbe0040 */ lw $s8,0x40($sp)
/* f067bbc: 03e00008 */ jr $ra
/* f067bc0: 27bd0048 */ addiu $sp,$sp,0x48
);
GLOBAL_ASM(
glabel func0f067bc4
/* f067bc4: 27bdffb8 */ addiu $sp,$sp,-72
/* f067bc8: afbf0044 */ sw $ra,0x44($sp)
/* f067bcc: afbe0040 */ sw $s8,0x40($sp)
/* f067bd0: afb7003c */ sw $s7,0x3c($sp)
/* f067bd4: afb60038 */ sw $s6,0x38($sp)
/* f067bd8: afb50034 */ sw $s5,0x34($sp)
/* f067bdc: afb40030 */ sw $s4,0x30($sp)
/* f067be0: afb3002c */ sw $s3,0x2c($sp)
/* f067be4: afb20028 */ sw $s2,0x28($sp)
/* f067be8: afb10024 */ sw $s1,0x24($sp)
/* f067bec: afb00020 */ sw $s0,0x20($sp)
/* f067bf0: f7b40018 */ sdc1 $f20,0x18($sp)
/* f067bf4: afa40048 */ sw $a0,0x48($sp)
/* f067bf8: 8c8f0008 */ lw $t7,0x8($a0)
/* f067bfc: 00e0a025 */ or $s4,$a3,$zero
/* f067c00: 00a0a825 */ or $s5,$a1,$zero
/* f067c04: 8df00000 */ lw $s0,0x0($t7)
/* f067c08: 00c0b025 */ or $s6,$a2,$zero
/* f067c0c: 24130001 */ addiu $s3,$zero,0x1
/* f067c10: 12000050 */ beqz $s0,.L0f067d54
/* f067c14: 241e0001 */ addiu $s8,$zero,0x1
/* f067c18: 2417000a */ addiu $s7,$zero,0xa
/* f067c1c: 96020000 */ lhu $v0,0x0($s0)
.L0f067c20:
/* f067c20: 8fa40048 */ lw $a0,0x48($sp)
/* f067c24: 02002825 */ or $a1,$s0,$zero
/* f067c28: 305800ff */ andi $t8,$v0,0xff
/* f067c2c: 17170038 */ bne $t8,$s7,.L0f067d10
/* f067c30: 00003025 */ or $a2,$zero,$zero
/* f067c34: 0c006973 */ jal model0001a5cc
/* f067c38: 8e120004 */ lw $s2,0x4($s0)
/* f067c3c: 1680000c */ bnez $s4,.L0f067c70
/* f067c40: 00408825 */ or $s1,$v0,$zero
/* f067c44: 02402025 */ or $a0,$s2,$zero
/* f067c48: 0fc19a03 */ jal func0f06680c
/* f067c4c: 00402825 */ or $a1,$v0,$zero
/* f067c50: c6240030 */ lwc1 $f4,0x30($s1)
/* f067c54: 02402025 */ or $a0,$s2,$zero
/* f067c58: 02202825 */ or $a1,$s1,$zero
/* f067c5c: 0fc199f7 */ jal func0f0667dc
/* f067c60: 46002500 */ add.s $f20,$f4,$f0
/* f067c64: c6260030 */ lwc1 $f6,0x30($s1)
/* f067c68: 10000017 */ b .L0f067cc8
/* f067c6c: 46003080 */ add.s $f2,$f6,$f0
.L0f067c70:
/* f067c70: 169e000c */ bne $s4,$s8,.L0f067ca4
/* f067c74: 02402025 */ or $a0,$s2,$zero
/* f067c78: 02402025 */ or $a0,$s2,$zero
/* f067c7c: 0fc19a1b */ jal func0f06686c
/* f067c80: 02202825 */ or $a1,$s1,$zero
/* f067c84: c6280034 */ lwc1 $f8,0x34($s1)
/* f067c88: 02402025 */ or $a0,$s2,$zero
/* f067c8c: 02202825 */ or $a1,$s1,$zero
/* f067c90: 0fc19a0f */ jal func0f06683c
/* f067c94: 46004500 */ add.s $f20,$f8,$f0
/* f067c98: c62a0034 */ lwc1 $f10,0x34($s1)
/* f067c9c: 1000000a */ b .L0f067cc8
/* f067ca0: 46005080 */ add.s $f2,$f10,$f0
.L0f067ca4:
/* f067ca4: 0fc19a33 */ jal func0f0668cc
/* f067ca8: 02202825 */ or $a1,$s1,$zero
/* f067cac: c6300038 */ lwc1 $f16,0x38($s1)
/* f067cb0: 02402025 */ or $a0,$s2,$zero
/* f067cb4: 02202825 */ or $a1,$s1,$zero
/* f067cb8: 0fc19a27 */ jal func0f06689c
/* f067cbc: 46008500 */ add.s $f20,$f16,$f0
/* f067cc0: c6320038 */ lwc1 $f18,0x38($s1)
/* f067cc4: 46009080 */ add.s $f2,$f18,$f0
.L0f067cc8:
/* f067cc8: 16600006 */ bnez $s3,.L0f067ce4
/* f067ccc: 0013102b */ sltu $v0,$zero,$s3
/* f067cd0: c6a40000 */ lwc1 $f4,0x0($s5)
/* f067cd4: 4614203c */ c.lt.s $f4,$f20
/* f067cd8: 00000000 */ nop
/* f067cdc: 45000002 */ bc1f .L0f067ce8
/* f067ce0: 00000000 */ nop
.L0f067ce4:
/* f067ce4: e6b40000 */ swc1 $f20,0x0($s5)
.L0f067ce8:
/* f067ce8: 14400006 */ bnez $v0,.L0f067d04
/* f067cec: 00009825 */ or $s3,$zero,$zero
/* f067cf0: c6c60000 */ lwc1 $f6,0x0($s6)
/* f067cf4: 4606103c */ c.lt.s $f2,$f6
/* f067cf8: 00000000 */ nop
/* f067cfc: 45000002 */ bc1f .L0f067d08
/* f067d00: 00000000 */ nop
.L0f067d04:
/* f067d04: e6c20000 */ swc1 $f2,0x0($s6)
.L0f067d08:
/* f067d08: 10000002 */ b .L0f067d14
/* f067d0c: 8e020014 */ lw $v0,0x14($s0)
.L0f067d10:
/* f067d10: 8e020014 */ lw $v0,0x14($s0)
.L0f067d14:
/* f067d14: 10400003 */ beqz $v0,.L0f067d24
/* f067d18: 00000000 */ nop
/* f067d1c: 1000000b */ b .L0f067d4c
/* f067d20: 00408025 */ or $s0,$v0,$zero
.L0f067d24:
/* f067d24: 12000009 */ beqz $s0,.L0f067d4c
/* f067d28: 00000000 */ nop
/* f067d2c: 8e02000c */ lw $v0,0xc($s0)
.L0f067d30:
/* f067d30: 50400004 */ beqzl $v0,.L0f067d44
/* f067d34: 8e100008 */ lw $s0,0x8($s0)
/* f067d38: 10000004 */ b .L0f067d4c
/* f067d3c: 00408025 */ or $s0,$v0,$zero
/* f067d40: 8e100008 */ lw $s0,0x8($s0)
.L0f067d44:
/* f067d44: 5600fffa */ bnezl $s0,.L0f067d30
/* f067d48: 8e02000c */ lw $v0,0xc($s0)
.L0f067d4c:
/* f067d4c: 5600ffb4 */ bnezl $s0,.L0f067c20
/* f067d50: 96020000 */ lhu $v0,0x0($s0)
.L0f067d54:
/* f067d54: 8fbf0044 */ lw $ra,0x44($sp)
/* f067d58: d7b40018 */ ldc1 $f20,0x18($sp)
/* f067d5c: 8fb00020 */ lw $s0,0x20($sp)
/* f067d60: 8fb10024 */ lw $s1,0x24($sp)
/* f067d64: 8fb20028 */ lw $s2,0x28($sp)
/* f067d68: 8fb3002c */ lw $s3,0x2c($sp)
/* f067d6c: 8fb40030 */ lw $s4,0x30($sp)
/* f067d70: 8fb50034 */ lw $s5,0x34($sp)
/* f067d74: 8fb60038 */ lw $s6,0x38($sp)
/* f067d78: 8fb7003c */ lw $s7,0x3c($sp)
/* f067d7c: 8fbe0040 */ lw $s8,0x40($sp)
/* f067d80: 03e00008 */ jr $ra
/* f067d84: 27bd0048 */ addiu $sp,$sp,0x48
);
void func0f067d88(struct model *model, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4)
{
func0f067bc4(model, arg1, arg2, false);
func0f067bc4(model, arg3, arg4, true);
}
GLOBAL_ASM(
glabel func0f067dc4
/* f067dc4: 27bdff70 */ addiu $sp,$sp,-144
/* f067dc8: afb70038 */ sw $s7,0x38($sp)
/* f067dcc: afb60034 */ sw $s6,0x34($sp)
/* f067dd0: afb50030 */ sw $s5,0x30($sp)
/* f067dd4: afb30028 */ sw $s3,0x28($sp)
/* f067dd8: 00c0a825 */ or $s5,$a2,$zero
/* f067ddc: 00a0b025 */ or $s6,$a1,$zero
/* f067de0: 00e0b825 */ or $s7,$a3,$zero
/* f067de4: afbf003c */ sw $ra,0x3c($sp)
/* f067de8: afb4002c */ sw $s4,0x2c($sp)
/* f067dec: afb20024 */ sw $s2,0x24($sp)
/* f067df0: afb10020 */ sw $s1,0x20($sp)
/* f067df4: afb0001c */ sw $s0,0x1c($sp)
/* f067df8: afa40090 */ sw $a0,0x90($sp)
/* f067dfc: 10800076 */ beqz $a0,.L0f067fd8
/* f067e00: 24130001 */ addiu $s3,$zero,0x1
/* f067e04: 8c820008 */ lw $v0,0x8($a0)
/* f067e08: 10400073 */ beqz $v0,.L0f067fd8
/* f067e0c: 00000000 */ nop
/* f067e10: 8c500000 */ lw $s0,0x0($v0)
/* f067e14: 8fb400a0 */ lw $s4,0xa0($sp)
/* f067e18: 1200006f */ beqz $s0,.L0f067fd8
/* f067e1c: 00000000 */ nop
/* f067e20: 96020000 */ lhu $v0,0x0($s0)
.L0f067e24:
/* f067e24: 2401000a */ addiu $at,$zero,0xa
/* f067e28: 8fa40090 */ lw $a0,0x90($sp)
/* f067e2c: 304f00ff */ andi $t7,$v0,0xff
/* f067e30: 15e10058 */ bne $t7,$at,.L0f067f94
/* f067e34: 02002825 */ or $a1,$s0,$zero
/* f067e38: 8e120004 */ lw $s2,0x4($s0)
/* f067e3c: 0c006973 */ jal model0001a5cc
/* f067e40: 00003025 */ or $a2,$zero,$zero
/* f067e44: c4440038 */ lwc1 $f4,0x38($v0)
/* f067e48: 44803000 */ mtc1 $zero,$f6
/* f067e4c: 00408825 */ or $s1,$v0,$zero
/* f067e50: 4606203c */ c.lt.s $f4,$f6
/* f067e54: 00000000 */ nop
/* f067e58: 4500004c */ bc1f .L0f067f8c
/* f067e5c: 00000000 */ nop
/* f067e60: c4480030 */ lwc1 $f8,0x30($v0)
/* f067e64: 02402025 */ or $a0,$s2,$zero
/* f067e68: 00402825 */ or $a1,$v0,$zero
/* f067e6c: e7a80050 */ swc1 $f8,0x50($sp)
/* f067e70: c44a0034 */ lwc1 $f10,0x34($v0)
/* f067e74: e7aa0054 */ swc1 $f10,0x54($sp)
/* f067e78: c4500038 */ lwc1 $f16,0x38($v0)
/* f067e7c: 0fc199f7 */ jal func0f0667dc
/* f067e80: e7b00058 */ swc1 $f16,0x58($sp)
/* f067e84: c7b20050 */ lwc1 $f18,0x50($sp)
/* f067e88: 02402025 */ or $a0,$s2,$zero
/* f067e8c: 02202825 */ or $a1,$s1,$zero
/* f067e90: 46009100 */ add.s $f4,$f18,$f0
/* f067e94: 0fc19a03 */ jal func0f06680c
/* f067e98: e7a40064 */ swc1 $f4,0x64($sp)
/* f067e9c: c7a60050 */ lwc1 $f6,0x50($sp)
/* f067ea0: 02402025 */ or $a0,$s2,$zero
/* f067ea4: 02202825 */ or $a1,$s1,$zero
/* f067ea8: 46003200 */ add.s $f8,$f6,$f0
/* f067eac: 0fc19a0f */ jal func0f06683c
/* f067eb0: e7a80068 */ swc1 $f8,0x68($sp)
/* f067eb4: c7aa0054 */ lwc1 $f10,0x54($sp)
/* f067eb8: 02402025 */ or $a0,$s2,$zero
/* f067ebc: 02202825 */ or $a1,$s1,$zero
/* f067ec0: 46005400 */ add.s $f16,$f10,$f0
/* f067ec4: 0fc19a1b */ jal func0f06686c
/* f067ec8: e7b0005c */ swc1 $f16,0x5c($sp)
/* f067ecc: c7b20054 */ lwc1 $f18,0x54($sp)
/* f067ed0: 27b8006c */ addiu $t8,$sp,0x6c
/* f067ed4: afb80010 */ sw $t8,0x10($sp)
/* f067ed8: 46009100 */ add.s $f4,$f18,$f0
/* f067edc: 27a40050 */ addiu $a0,$sp,0x50
/* f067ee0: 27a50064 */ addiu $a1,$sp,0x64
/* f067ee4: 27a6005c */ addiu $a2,$sp,0x5c
/* f067ee8: e7a40060 */ swc1 $f4,0x60($sp)
/* f067eec: 0fc1a00f */ jal func0f06803c
/* f067ef0: 27a70074 */ addiu $a3,$sp,0x74
/* f067ef4: 16600007 */ bnez $s3,.L0f067f14
/* f067ef8: 0013102b */ sltu $v0,$zero,$s3
/* f067efc: c7a60074 */ lwc1 $f6,0x74($sp)
/* f067f00: c6a80000 */ lwc1 $f8,0x0($s5)
/* f067f04: 4608303c */ c.lt.s $f6,$f8
/* f067f08: 00000000 */ nop
/* f067f0c: 45000003 */ bc1f .L0f067f1c
/* f067f10: 00000000 */ nop
.L0f067f14:
/* f067f14: c7aa0074 */ lwc1 $f10,0x74($sp)
/* f067f18: e6aa0000 */ swc1 $f10,0x0($s5)
.L0f067f1c:
/* f067f1c: 16600006 */ bnez $s3,.L0f067f38
/* f067f20: c7b2006c */ lwc1 $f18,0x6c($sp)
/* f067f24: c6d00000 */ lwc1 $f16,0x0($s6)
/* f067f28: 4612803c */ c.lt.s $f16,$f18
/* f067f2c: 00000000 */ nop
/* f067f30: 45000003 */ bc1f .L0f067f40
/* f067f34: 00000000 */ nop
.L0f067f38:
/* f067f38: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f067f3c: e6c40000 */ swc1 $f4,0x0($s6)
.L0f067f40:
/* f067f40: 16600006 */ bnez $s3,.L0f067f5c
/* f067f44: c7a60078 */ lwc1 $f6,0x78($sp)
/* f067f48: c6880000 */ lwc1 $f8,0x0($s4)
/* f067f4c: 4608303c */ c.lt.s $f6,$f8
/* f067f50: 00000000 */ nop
/* f067f54: 45000003 */ bc1f .L0f067f64
/* f067f58: 00000000 */ nop
.L0f067f5c:
/* f067f5c: c7aa0078 */ lwc1 $f10,0x78($sp)
/* f067f60: e68a0000 */ swc1 $f10,0x0($s4)
.L0f067f64:
/* f067f64: 14400007 */ bnez $v0,.L0f067f84
/* f067f68: 00009825 */ or $s3,$zero,$zero
/* f067f6c: c6f00000 */ lwc1 $f16,0x0($s7)
/* f067f70: c7b20070 */ lwc1 $f18,0x70($sp)
/* f067f74: 4612803c */ c.lt.s $f16,$f18
/* f067f78: 00000000 */ nop
/* f067f7c: 45000003 */ bc1f .L0f067f8c
/* f067f80: 00000000 */ nop
.L0f067f84:
/* f067f84: c7a40070 */ lwc1 $f4,0x70($sp)
/* f067f88: e6e40000 */ swc1 $f4,0x0($s7)
.L0f067f8c:
/* f067f8c: 10000002 */ b .L0f067f98
/* f067f90: 8e020014 */ lw $v0,0x14($s0)
.L0f067f94:
/* f067f94: 8e020014 */ lw $v0,0x14($s0)
.L0f067f98:
/* f067f98: 10400003 */ beqz $v0,.L0f067fa8
/* f067f9c: 00000000 */ nop
/* f067fa0: 1000000b */ b .L0f067fd0
/* f067fa4: 00408025 */ or $s0,$v0,$zero
.L0f067fa8:
/* f067fa8: 12000009 */ beqz $s0,.L0f067fd0
/* f067fac: 00000000 */ nop
/* f067fb0: 8e02000c */ lw $v0,0xc($s0)
.L0f067fb4:
/* f067fb4: 50400004 */ beqzl $v0,.L0f067fc8
/* f067fb8: 8e100008 */ lw $s0,0x8($s0)
/* f067fbc: 10000004 */ b .L0f067fd0
/* f067fc0: 00408025 */ or $s0,$v0,$zero
/* f067fc4: 8e100008 */ lw $s0,0x8($s0)
.L0f067fc8:
/* f067fc8: 5600fffa */ bnezl $s0,.L0f067fb4
/* f067fcc: 8e02000c */ lw $v0,0xc($s0)
.L0f067fd0:
/* f067fd0: 5600ff94 */ bnezl $s0,.L0f067e24
/* f067fd4: 96020000 */ lhu $v0,0x0($s0)
.L0f067fd8:
/* f067fd8: 12600003 */ beqz $s3,.L0f067fe8
/* f067fdc: 8fb0001c */ lw $s0,0x1c($sp)
/* f067fe0: 10000002 */ b .L0f067fec
/* f067fe4: 00001825 */ or $v1,$zero,$zero
.L0f067fe8:
/* f067fe8: 24030001 */ addiu $v1,$zero,0x1
.L0f067fec:
/* f067fec: 8fbf003c */ lw $ra,0x3c($sp)
/* f067ff0: 8fb10020 */ lw $s1,0x20($sp)
/* f067ff4: 8fb20024 */ lw $s2,0x24($sp)
/* f067ff8: 8fb30028 */ lw $s3,0x28($sp)
/* f067ffc: 8fb4002c */ lw $s4,0x2c($sp)
/* f068000: 8fb50030 */ lw $s5,0x30($sp)
/* f068004: 8fb60034 */ lw $s6,0x34($sp)
/* f068008: 8fb70038 */ lw $s7,0x38($sp)
/* f06800c: 27bd0090 */ addiu $sp,$sp,0x90
/* f068010: 03e00008 */ jr $ra
/* f068014: 00601025 */ or $v0,$v1,$zero
);
bool modelSetRedBox(struct model *model, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4)
{
return func0f067dc4(model, arg1, arg2, arg3, arg4);
}
GLOBAL_ASM(
glabel func0f06803c
/* f06803c: 27bdffa8 */ addiu $sp,$sp,-88
/* f068040: afbf002c */ sw $ra,0x2c($sp)
/* f068044: afb00028 */ sw $s0,0x28($sp)
/* f068048: 00808025 */ or $s0,$a0,$zero
/* f06804c: f7b60020 */ sdc1 $f22,0x20($sp)
/* f068050: f7b40018 */ sdc1 $f20,0x18($sp)
/* f068054: afa5005c */ sw $a1,0x5c($sp)
/* f068058: afa60060 */ sw $a2,0x60($sp)
/* f06805c: 0c002f72 */ jal viGetAspect
/* f068060: afa70064 */ sw $a3,0x64($sp)
/* f068064: 0c002f9d */ jal viGetFovY
/* f068068: 46000586 */ mov.s $f22,$f0
/* f06806c: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f068070: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f068074: 46000506 */ mov.s $f20,$f0
/* f068078: 8faa005c */ lw $t2,0x5c($sp)
/* f06807c: 8c4f1c54 */ lw $t7,0x1c54($v0)
/* f068080: 8c4e00c4 */ lw $t6,0xc4($v0)
/* f068084: 01e0c027 */ nor $t8,$t7,$zero
/* f068088: 01d8c824 */ and $t9,$t6,$t8
/* f06808c: 33280004 */ andi $t0,$t9,0x4
/* f068090: 5100000b */ beqzl $t0,.L0f0680c0
/* f068094: c5440000 */ lwc1 $f4,0x0($t2)
/* f068098: 8c430480 */ lw $v1,0x480($v0)
/* f06809c: 50600008 */ beqzl $v1,.L0f0680c0
/* f0680a0: c5440000 */ lwc1 $f4,0x0($t2)
/* f0680a4: 80690037 */ lb $t1,0x37($v1)
/* f0680a8: 3c0142f0 */ lui $at,0x42f0
/* f0680ac: 51200004 */ beqzl $t1,.L0f0680c0
/* f0680b0: c5440000 */ lwc1 $f4,0x0($t2)
/* f0680b4: 4481a000 */ mtc1 $at,$f20
/* f0680b8: 00000000 */ nop
/* f0680bc: c5440000 */ lwc1 $f4,0x0($t2)
.L0f0680c0:
/* f0680c0: 4406a000 */ mfc1 $a2,$f20
/* f0680c4: 4407b000 */ mfc1 $a3,$f22
/* f0680c8: e7a4004c */ swc1 $f4,0x4c($sp)
/* f0680cc: c6060004 */ lwc1 $f6,0x4($s0)
/* f0680d0: 27a4004c */ addiu $a0,$sp,0x4c
/* f0680d4: 27a50044 */ addiu $a1,$sp,0x44
/* f0680d8: e7a60050 */ swc1 $f6,0x50($sp)
/* f0680dc: c6080008 */ lwc1 $f8,0x8($s0)
/* f0680e0: 0fc2d3ae */ jal func0f0b4eb8
/* f0680e4: e7a80054 */ swc1 $f8,0x54($sp)
/* f0680e8: c7aa0044 */ lwc1 $f10,0x44($sp)
/* f0680ec: 8fab0064 */ lw $t3,0x64($sp)
/* f0680f0: 4406a000 */ mfc1 $a2,$f20
/* f0680f4: 4407b000 */ mfc1 $a3,$f22
/* f0680f8: e56a0000 */ swc1 $f10,0x0($t3)
/* f0680fc: 8fac005c */ lw $t4,0x5c($sp)
/* f068100: 27a4004c */ addiu $a0,$sp,0x4c
/* f068104: 27a50044 */ addiu $a1,$sp,0x44
/* f068108: c5900004 */ lwc1 $f16,0x4($t4)
/* f06810c: e7b0004c */ swc1 $f16,0x4c($sp)
/* f068110: c6120004 */ lwc1 $f18,0x4($s0)
/* f068114: e7b20050 */ swc1 $f18,0x50($sp)
/* f068118: c6040008 */ lwc1 $f4,0x8($s0)
/* f06811c: 0fc2d3ae */ jal func0f0b4eb8
/* f068120: e7a40054 */ swc1 $f4,0x54($sp)
/* f068124: c7a60044 */ lwc1 $f6,0x44($sp)
/* f068128: 8fad0068 */ lw $t5,0x68($sp)
/* f06812c: 4406a000 */ mfc1 $a2,$f20
/* f068130: 4407b000 */ mfc1 $a3,$f22
/* f068134: e5a60000 */ swc1 $f6,0x0($t5)
/* f068138: c6080000 */ lwc1 $f8,0x0($s0)
/* f06813c: 8faf0060 */ lw $t7,0x60($sp)
/* f068140: 27a4004c */ addiu $a0,$sp,0x4c
/* f068144: e7a8004c */ swc1 $f8,0x4c($sp)
/* f068148: c5ea0004 */ lwc1 $f10,0x4($t7)
/* f06814c: 27a50044 */ addiu $a1,$sp,0x44
/* f068150: e7aa0050 */ swc1 $f10,0x50($sp)
/* f068154: c6100008 */ lwc1 $f16,0x8($s0)
/* f068158: 0fc2d3ae */ jal func0f0b4eb8
/* f06815c: e7b00054 */ swc1 $f16,0x54($sp)
/* f068160: c7b20048 */ lwc1 $f18,0x48($sp)
/* f068164: 8fae0064 */ lw $t6,0x64($sp)
/* f068168: 4406a000 */ mfc1 $a2,$f20
/* f06816c: 4407b000 */ mfc1 $a3,$f22
/* f068170: e5d20004 */ swc1 $f18,0x4($t6)
/* f068174: c6040000 */ lwc1 $f4,0x0($s0)
/* f068178: 8fb80060 */ lw $t8,0x60($sp)
/* f06817c: 27a4004c */ addiu $a0,$sp,0x4c
/* f068180: e7a4004c */ swc1 $f4,0x4c($sp)
/* f068184: c7060000 */ lwc1 $f6,0x0($t8)
/* f068188: 27a50044 */ addiu $a1,$sp,0x44
/* f06818c: e7a60050 */ swc1 $f6,0x50($sp)
/* f068190: c6080008 */ lwc1 $f8,0x8($s0)
/* f068194: 0fc2d3ae */ jal func0f0b4eb8
/* f068198: e7a80054 */ swc1 $f8,0x54($sp)
/* f06819c: c7aa0048 */ lwc1 $f10,0x48($sp)
/* f0681a0: 8fb90068 */ lw $t9,0x68($sp)
/* f0681a4: e72a0004 */ swc1 $f10,0x4($t9)
/* f0681a8: 8fbf002c */ lw $ra,0x2c($sp)
/* f0681ac: 8fb00028 */ lw $s0,0x28($sp)
/* f0681b0: d7b60020 */ ldc1 $f22,0x20($sp)
/* f0681b4: d7b40018 */ ldc1 $f20,0x18($sp)
/* f0681b8: 03e00008 */ jr $ra
/* f0681bc: 27bd0058 */ addiu $sp,$sp,0x58
);
struct defaultobj *objFindByPadNum(s32 padnum)
{
struct prop *prop = g_Vars.activeprops;
while (prop) {
if (prop->type == PROPTYPE_OBJ) {
struct defaultobj *obj = prop->obj;
if (obj->pad == (s16)padnum) {
return obj;
}
}
prop = prop->next;
}
return NULL;
}
GLOBAL_ASM(
glabel func0f068218
/* f068218: 27bdffc0 */ addiu $sp,$sp,-64
/* f06821c: afb00014 */ sw $s0,0x14($sp)
/* f068220: 3c10800a */ lui $s0,%hi(g_Vars+0x33c)
/* f068224: 8e10a2fc */ lw $s0,%lo(g_Vars+0x33c)($s0)
/* f068228: afb50028 */ sw $s5,0x28($sp)
/* f06822c: afb10018 */ sw $s1,0x18($sp)
/* f068230: 00808825 */ or $s1,$a0,$zero
/* f068234: 00a0a825 */ or $s5,$a1,$zero
/* f068238: afbf002c */ sw $ra,0x2c($sp)
/* f06823c: afb40024 */ sw $s4,0x24($sp)
/* f068240: afb30020 */ sw $s3,0x20($sp)
/* f068244: 1200001b */ beqz $s0,.L0f0682b4
/* f068248: afb2001c */ sw $s2,0x1c($sp)
/* f06824c: 27b40034 */ addiu $s4,$sp,0x34
/* f068250: 27b30038 */ addiu $s3,$sp,0x38
/* f068254: 24120001 */ addiu $s2,$zero,0x1
/* f068258: 920e0000 */ lbu $t6,0x0($s0)
.L0f06825c:
/* f06825c: 26040028 */ addiu $a0,$s0,0x28
/* f068260: 564e0012 */ bnel $s2,$t6,.L0f0682ac
/* f068264: 8e100020 */ lw $s0,0x20($s0)
/* f068268: 0fc19620 */ jal arrayIntersects
/* f06826c: 02a02825 */ or $a1,$s5,$zero
/* f068270: 1040000d */ beqz $v0,.L0f0682a8
/* f068274: 02002025 */ or $a0,$s0,$zero
/* f068278: 02602825 */ or $a1,$s3,$zero
/* f06827c: 0fc198a4 */ jal propUpdateGeometry
/* f068280: 02803025 */ or $a2,$s4,$zero
/* f068284: 10400008 */ beqz $v0,.L0f0682a8
/* f068288: 8fa60038 */ lw $a2,0x38($sp)
/* f06828c: c62c0000 */ lwc1 $f12,0x0($s1)
/* f068290: 0c0099a9 */ jal func000266a4
/* f068294: c62e0008 */ lwc1 $f14,0x8($s1)
/* f068298: 50400004 */ beqzl $v0,.L0f0682ac
/* f06829c: 8e100020 */ lw $s0,0x20($s0)
/* f0682a0: 10000005 */ b .L0f0682b8
/* f0682a4: 8e020004 */ lw $v0,0x4($s0)
.L0f0682a8:
/* f0682a8: 8e100020 */ lw $s0,0x20($s0)
.L0f0682ac:
/* f0682ac: 5600ffeb */ bnezl $s0,.L0f06825c
/* f0682b0: 920e0000 */ lbu $t6,0x0($s0)
.L0f0682b4:
/* f0682b4: 00001025 */ or $v0,$zero,$zero
.L0f0682b8:
/* f0682b8: 8fbf002c */ lw $ra,0x2c($sp)
/* f0682bc: 8fb00014 */ lw $s0,0x14($sp)
/* f0682c0: 8fb10018 */ lw $s1,0x18($sp)
/* f0682c4: 8fb2001c */ lw $s2,0x1c($sp)
/* f0682c8: 8fb30020 */ lw $s3,0x20($sp)
/* f0682cc: 8fb40024 */ lw $s4,0x24($sp)
/* f0682d0: 8fb50028 */ lw $s5,0x28($sp)
/* f0682d4: 03e00008 */ jr $ra
/* f0682d8: 27bd0040 */ addiu $sp,$sp,0x40
);
void projectileFree(struct projectile *projectile)
{
if (projectile) {
projectile->flags |= PROJECTILEFLAG_FREE;
}
}
void projectilesUnrefOwner(struct prop *owner)
{
s32 i;
for (i = 0; i < g_MaxProjectiles; i++) {
if ((g_Projectiles[i].flags & PROJECTILEFLAG_FREE) == 0
&& g_Projectiles[i].ownerprop == owner) {
g_Projectiles[i].ownerprop = NULL;
}
}
}
void projectileReset(struct projectile *projectile)
{
projectile->flags = 0;
projectile->speed.x = 0;
projectile->speed.y = 0;
projectile->speed.z = 0;
projectile->unk010 = 0;
projectile->unk014 = 0;
projectile->unk018 = 0;
projectile->unk01c = 0;
mtx4LoadIdentity((Mtxf *)&projectile->unk020);
projectile->unk060 = 1;
projectile->ownerprop = NULL;
projectile->unk08c = 0.05f;
projectile->unk090 = 0;
projectile->unk094 = -1;
projectile->unk09c = -1;
projectile->unk0a0 = 0;
projectile->unk0a4 = -1;
projectile->droptype = DROPTYPE_DEFAULT;
projectile->unk0b4 = 0;
projectile->unk0d0 = 0;
projectile->obj = NULL;
projectile->unk0d8 = 0;
projectile->unk0f4 = 0;
projectile->unk0e8 = 0;
projectile->unk108 = 0;
projectile->unk0b2 = 0xffff;
projectile->unk0b8 = 1;
projectile->unk0bc = 1;
projectile->unk0c0 = 1;
projectile->unk0e4 = 1;
projectile->unk098 = 0;
projectile->unk0dc = 0;
projectile->unk0e0 = 0;
projectile->unk0ec = 0;
projectile->unk0f0 = 0;
}
struct projectile *projectileGetNew(void)
{
s32 bestindex = -1;
s32 i;
// Happy path - find one that is already free
for (i = 0; i < g_MaxProjectiles; i++) {
if (g_Projectiles[i].flags & PROJECTILEFLAG_FREE) {
projectileReset(&g_Projectiles[i]);
return &g_Projectiles[i];
}
}
// Find one with the lowest unk0d8 (some kind of age/timer?)
// and some other conditions
for (i = 0; i < g_MaxProjectiles; i++) {
if (g_Projectiles[i].obj
&& g_Projectiles[i].unk0d8 > 0
&& (bestindex < 0 || g_Projectiles[i].unk0d8 < g_Projectiles[bestindex].unk0d8)) {
bestindex = i;
}
}
// If there were none, pick one at random
if (bestindex == -1 && g_MaxProjectiles) {
bestindex = random() % g_MaxProjectiles;
}
if (bestindex >= 0) {
// Reset and return it
if (g_Projectiles[bestindex].obj) {
if (g_Projectiles[bestindex].obj->prop) {
func0f06ac90(g_Projectiles[bestindex].obj->prop);
}
g_Projectiles[bestindex].obj->hidden |= OBJHFLAG_REAPABLE;
}
projectileReset(&g_Projectiles[bestindex]);
return &g_Projectiles[bestindex];
} else {
return NULL;
}
}
void func0f0685e4(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
if (obj->hidden & OBJHFLAG_00000040) {
if (obj->projectile->unk044) {
projectileReset(obj->projectile->unk044);
} else {
obj->projectile->unk044 = projectileGetNew();
}
} else if ((obj->hidden & OBJHFLAG_AIRBORNE) == 0) {
if (obj->projectile) {
projectileReset(obj->projectile);
} else {
obj->projectile = projectileGetNew();
}
if (obj->projectile) {
obj->hidden |= OBJHFLAG_AIRBORNE;
}
}
}
void objSetProjectileFlag4(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
struct projectile *projectile = NULL;
if (obj->hidden & OBJHFLAG_00000040) {
projectile = obj->projectile->unk044;
} else if (obj->hidden & OBJHFLAG_AIRBORNE) {
projectile = obj->projectile;
}
if (projectile) {
projectile->flags |= PROJECTILEFLAG_00000004;
}
}
void projectileSetFlag1(struct projectile *projectile)
{
projectile->flags |= PROJECTILEFLAG_00000001;
}
struct monitorthing *monitorthingGetNew(void)
{
s32 i;
for (i = 0; i < g_MaxMonitorThings; i++) {
if (g_MonitorThings[i].flags & 0x00000001) {
g_MonitorThings[i].flags = 0;
g_MonitorThings[i].unk044 = NULL;
return &g_MonitorThings[i];
}
}
return NULL;
}
/**
* Return 0 if obj is less than 1/3 destroyed.
* Return 1 if obj is less than 2/3 destroyed.
* Return 2 if obj is less than fully destroyed.
* Return damage + 4 if fully destroyed.
*/
s32 objGetDestroyedThird(struct defaultobj *obj)
{
if ((obj->hidden2 & OBJH2FLAG_DESTROYED) == 0) {
return obj->damage * 3.0f / obj->maxdamage;
}
return obj->damage + 4;
}
/**
* Return a positive value if obj is destroyed (roughly 1/4 of its damage).
*/
s32 objGetDestroyedValue(struct defaultobj *obj)
{
if ((obj->hidden2 & OBJH2FLAG_DESTROYED) == 0) {
return 0;
}
return (obj->damage >> 2) + 1;
}
struct modelnode *func0f0687e4(struct model *model)
{
struct modelfiledata *filedata = model->filedata;
struct modelnode *node = filedata->rootnode;
while (node) {
u32 type = node->type & 0xff;
switch (type) {
case MODELNODETYPE_DL:
return node;
case MODELNODETYPE_DISTANCE:
model0001c784(model, node);
break;
case MODELNODETYPE_TOGGLE:
model0001c7d0(model, node);
break;
case MODELNODETYPE_HEADSPOT:
modelAttachHead(model, node);
break;
}
if (node->child) {
node = node->child;
} else {
while (node) {
if (node->next) {
node = node->next;
break;
}
node = node->parent;
}
}
}
return NULL;
}
struct modelnode *modelFileDataFindBboxNode(struct modelfiledata *filedata)
{
struct modelnode *node = filedata->rootnode;
while (node) {
if ((node->type & 0xff) == MODELNODETYPE_BBOX) {
return node;
}
if (node->child) {
node = node->child;
} else {
while (node) {
if (node->next) {
node = node->next;
break;
}
node = node->parent;
}
}
}
return NULL;
}
struct modelrodata_bbox *modelFileDataFindBboxRodata(struct modelfiledata *filedata)
{
struct modelnode *node = modelFileDataFindBboxNode(filedata);
if (node) {
return &node->rodata->bbox;
}
return NULL;
}
struct modelnode *modelFindBboxNode(struct model *model)
{
struct modelnode *node = model->filedata->rootnode;
while (node) {
u32 type = node->type & 0xff;
switch (type) {
case MODELNODETYPE_BBOX:
return node;
case MODELNODETYPE_DISTANCE:
model0001c784(model, node);
break;
case MODELNODETYPE_TOGGLE:
model0001c7d0(model, node);
break;
case MODELNODETYPE_HEADSPOT:
modelAttachHead(model, node);
break;
}
if (node->child) {
node = node->child;
} else {
while (node) {
if (node->next) {
node = node->next;
break;
}
node = node->parent;
}
}
}
return NULL;
}
struct modelrodata_bbox *modelFindBboxRodata(struct model *model)
{
struct modelnode *node = modelFindBboxNode(model);
if (node) {
return &node->rodata->bbox;
}
return NULL;
}
struct modelnode *objFindBboxNode(struct defaultobj *obj)
{
return modelFindBboxNode(obj->model);
}
struct modelrodata_bbox *objFindBboxRodata(struct defaultobj *obj)
{
return modelFindBboxRodata(obj->model);
}
s32 func0f068b14(s16 *rooms, s32 arg1)
{
s32 total = 0;
s32 i;
for (i = 0; rooms[i] != -1; i++) {
if (arg1 == 0) {
total += func0f000b24(rooms[i]);
} else if (arg1 == 1) {
total += func0f000c54(rooms[i]);
}
}
if (i) {
s32 average = total / i;
if (average > 255) {
average = 255;
}
return average;
}
return 0;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f068c04
/* f068e94: 27bdfed0 */ addiu $sp,$sp,-304
/* f068e98: afbf0054 */ sw $ra,0x54($sp)
/* f068e9c: afbe0050 */ sw $s8,0x50($sp)
/* f068ea0: afb7004c */ sw $s7,0x4c($sp)
/* f068ea4: afb60048 */ sw $s6,0x48($sp)
/* f068ea8: afb50044 */ sw $s5,0x44($sp)
/* f068eac: afb40040 */ sw $s4,0x40($sp)
/* f068eb0: afb3003c */ sw $s3,0x3c($sp)
/* f068eb4: afb20038 */ sw $s2,0x38($sp)
/* f068eb8: afb10034 */ sw $s1,0x34($sp)
/* f068ebc: afb00030 */ sw $s0,0x30($sp)
/* f068ec0: f7b80028 */ sdc1 $f24,0x28($sp)
/* f068ec4: f7b60020 */ sdc1 $f22,0x20($sp)
/* f068ec8: f7b40018 */ sdc1 $f20,0x18($sp)
/* f068ecc: afa40130 */ sw $a0,0x130($sp)
/* f068ed0: afa50134 */ sw $a1,0x134($sp)
/* f068ed4: afa60138 */ sw $a2,0x138($sp)
/* f068ed8: 8c8f0004 */ lw $t7,0x4($a0)
/* f068edc: 00807025 */ move $t6,$a0
/* f068ee0: 00009825 */ move $s3,$zero
/* f068ee4: 0000a025 */ move $s4,$zero
/* f068ee8: 00009025 */ move $s2,$zero
/* f068eec: 0000a825 */ move $s5,$zero
/* f068ef0: afaf012c */ sw $t7,0x12c($sp)
/* f068ef4: 11e00095 */ beqz $t7,.PF0f06914c
/* f068ef8: 01e03825 */ move $a3,$t7
/* f068efc: 8df80014 */ lw $t8,0x14($t7)
/* f068f00: 13000092 */ beqz $t8,.PF0f06914c
/* f068f04: 00000000 */ nop
/* f068f08: 3c17800a */ lui $s7,0x800a
/* f068f0c: 4480c000 */ mtc1 $zero,$f24
/* f068f10: 26f74ec8 */ addiu $s7,$s7,0x4ec8
/* f068f14: 241e008c */ li $s8,0x8c
/* f068f18: 2416ffff */ li $s6,-1
/* f068f1c: 8fb9012c */ lw $t9,0x12c($sp)
.PF0f068f20:
/* f068f20: afa70128 */ sw $a3,0x128($sp)
/* f068f24: 84e900c4 */ lh $t1,0xc4($a3)
/* f068f28: 872800c4 */ lh $t0,0xc4($t9)
/* f068f2c: 5509007e */ bnel $t0,$t1,.PF0f069128
/* f068f30: 8fa70128 */ lw $a3,0x128($sp)
/* f068f34: 3c02800a */ lui $v0,0x800a
/* f068f38: 8c42a794 */ lw $v0,-0x586c($v0)
/* f068f3c: afa70128 */ sw $a3,0x128($sp)
/* f068f40: 8c4a00bc */ lw $t2,0xbc($v0)
/* f068f44: 51400078 */ beqzl $t2,.PF0f069128
/* f068f48: 8fa70128 */ lw $a3,0x128($sp)
/* f068f4c: 8ce30014 */ lw $v1,0x14($a3)
/* f068f50: 84e40006 */ lh $a0,0x6($a3)
/* f068f54: 24501bb0 */ addiu $s0,$v0,0x1bb0
/* f068f58: afa70128 */ sw $a3,0x128($sp)
/* f068f5c: 2405005e */ li $a1,0x5e
/* f068f60: 27a600b0 */ addiu $a2,$sp,0xb0
/* f068f64: 0fc45964 */ jal padUnpack
/* f068f68: afa30104 */ sw $v1,0x104($sp)
/* f068f6c: 8fab012c */ lw $t3,0x12c($sp)
/* f068f70: 3c010400 */ lui $at,0x400
/* f068f74: 8fa30104 */ lw $v1,0x104($sp)
/* f068f78: 8d6c0010 */ lw $t4,0x10($t3)
/* f068f7c: 8fae012c */ lw $t6,0x12c($sp)
/* f068f80: 01816824 */ and $t5,$t4,$at
/* f068f84: 51a0000f */ beqzl $t5,.PF0f068fc4
/* f068f88: 95cf0070 */ lhu $t7,0x70($t6)
/* f068f8c: 0fc002c9 */ jal func0f000b24
/* f068f90: 8fa400f8 */ lw $a0,0xf8($sp)
/* f068f94: 02629821 */ addu $s3,$s3,$v0
/* f068f98: 0fc00315 */ jal func0f000c54
/* f068f9c: 8fa400f8 */ lw $a0,0xf8($sp)
/* f068fa0: 0282a021 */ addu $s4,$s4,$v0
/* f068fa4: 02741821 */ addu $v1,$s3,$s4
/* f068fa8: 28610100 */ slti $at,$v1,0x100
/* f068fac: 26b50001 */ addiu $s5,$s5,0x1
/* f068fb0: 1420005c */ bnez $at,.PF0f069124
/* f068fb4: 00609025 */ move $s2,$v1
/* f068fb8: 1000005a */ b .PF0f069124
/* f068fbc: 241200ff */ li $s2,0xff
/* f068fc0: 95cf0070 */ lhu $t7,0x70($t6)
.PF0f068fc4:
/* f068fc4: 00001025 */ move $v0,$zero
/* f068fc8: 31f80008 */ andi $t8,$t7,0x8
/* f068fcc: 5300000b */ beqzl $t8,.PF0f068ffc
/* f068fd0: c6080000 */ lwc1 $f8,0x0($s0)
/* f068fd4: c7b600d4 */ lwc1 $f22,0xd4($sp)
/* f068fd8: c7a800d8 */ lwc1 $f8,0xd8($sp)
/* f068fdc: c7ac00dc */ lwc1 $f12,0xdc($sp)
/* f068fe0: 4600b587 */ neg.s $f22,$f22
/* f068fe4: 46004287 */ neg.s $f10,$f8
/* f068fe8: 46006307 */ neg.s $f12,$f12
/* f068fec: e7b600d4 */ swc1 $f22,0xd4($sp)
/* f068ff0: e7aa00d8 */ swc1 $f10,0xd8($sp)
/* f068ff4: e7ac00dc */ swc1 $f12,0xdc($sp)
/* f068ff8: c6080000 */ lwc1 $f8,0x0($s0)
.PF0f068ffc:
/* f068ffc: c7aa00b0 */ lwc1 $f10,0xb0($sp)
/* f069000: c6040004 */ lwc1 $f4,0x4($s0)
/* f069004: c7a600b4 */ lwc1 $f6,0xb4($sp)
/* f069008: 460a4001 */ sub.s $f0,$f8,$f10
/* f06900c: c7aa00b8 */ lwc1 $f10,0xb8($sp)
/* f069010: c6080008 */ lwc1 $f8,0x8($s0)
/* f069014: 46062081 */ sub.s $f2,$f4,$f6
/* f069018: c7a400d4 */ lwc1 $f4,0xd4($sp)
/* f06901c: 84790028 */ lh $t9,0x28($v1)
/* f069020: 460a4301 */ sub.s $f12,$f8,$f10
/* f069024: 46002182 */ mul.s $f6,$f4,$f0
/* f069028: c7a800d8 */ lwc1 $f8,0xd8($sp)
/* f06902c: 46081282 */ mul.s $f10,$f2,$f8
/* f069030: c7a800dc */ lwc1 $f8,0xdc($sp)
/* f069034: 460a3100 */ add.s $f4,$f6,$f10
/* f069038: 46086182 */ mul.s $f6,$f12,$f8
/* f06903c: 12d90039 */ beq $s6,$t9,.PF0f069124
/* f069040: 46062580 */ add.s $f22,$f4,$f6
/* f069044: 00608825 */ move $s1,$v1
/* f069048: 84640028 */ lh $a0,0x28($v1)
.PF0f06904c:
/* f06904c: 009e0019 */ multu $a0,$s8
/* f069050: 8ee80000 */ lw $t0,0x0($s7)
/* f069054: c7aa00b0 */ lwc1 $f10,0xb0($sp)
/* f069058: c7a800b4 */ lwc1 $f8,0xb4($sp)
/* f06905c: c7a600d4 */ lwc1 $f6,0xd4($sp)
/* f069060: c7a400b8 */ lwc1 $f4,0xb8($sp)
/* f069064: 4618b03c */ c.lt.s $f22,$f24
/* f069068: 00004812 */ mflo $t1
/* f06906c: 01091021 */ addu $v0,$t0,$t1
/* f069070: c4400030 */ lwc1 $f0,0x30($v0)
/* f069074: c4420034 */ lwc1 $f2,0x34($v0)
/* f069078: c44c0038 */ lwc1 $f12,0x38($v0)
/* f06907c: 460a0381 */ sub.s $f14,$f0,$f10
/* f069080: 46081401 */ sub.s $f16,$f2,$f8
/* f069084: 460e3282 */ mul.s $f10,$f6,$f14
/* f069088: c7a800d8 */ lwc1 $f8,0xd8($sp)
/* f06908c: 46046481 */ sub.s $f18,$f12,$f4
/* f069090: 46088102 */ mul.s $f4,$f16,$f8
/* f069094: c7a800dc */ lwc1 $f8,0xdc($sp)
/* f069098: 46045180 */ add.s $f6,$f10,$f4
/* f06909c: 46089282 */ mul.s $f10,$f18,$f8
/* f0690a0: 45000005 */ bc1f .PF0f0690b8
/* f0690a4: 460a3500 */ add.s $f20,$f6,$f10
/* f0690a8: 4618b03c */ c.lt.s $f22,$f24
/* f0690ac: 00000000 */ nop
/* f0690b0: 45010009 */ bc1t .PF0f0690d8
/* f0690b4: 00000000 */ nop
.PF0f0690b8:
/* f0690b8: 4616c03c */ c.lt.s $f24,$f22
/* f0690bc: 00000000 */ nop
/* f0690c0: 45020015 */ bc1fl .PF0f069118
/* f0690c4: 8624002a */ lh $a0,0x2a($s1)
/* f0690c8: 4614c03c */ c.lt.s $f24,$f20
/* f0690cc: 00000000 */ nop
/* f0690d0: 45020011 */ bc1fl .PF0f069118
/* f0690d4: 8624002a */ lh $a0,0x2a($s1)
.PF0f0690d8:
/* f0690d8: 0fc00315 */ jal func0f000c54
/* f0690dc: 00000000 */ nop
/* f0690e0: 00408025 */ move $s0,$v0
/* f0690e4: 0fc002c9 */ jal func0f000b24
/* f0690e8: 86240028 */ lh $a0,0x28($s1)
/* f0690ec: 00501821 */ addu $v1,$v0,$s0
/* f0690f0: 28610100 */ slti $at,$v1,0x100
/* f0690f4: 00602825 */ move $a1,$v1
/* f0690f8: 14200002 */ bnez $at,.PF0f069104
/* f0690fc: 00402025 */ move $a0,$v0
/* f069100: 240500ff */ li $a1,0xff
.PF0f069104:
/* f069104: 26b50001 */ addiu $s5,$s5,0x1
/* f069108: 02649821 */ addu $s3,$s3,$a0
/* f06910c: 0290a021 */ addu $s4,$s4,$s0
/* f069110: 02459021 */ addu $s2,$s2,$a1
/* f069114: 8624002a */ lh $a0,0x2a($s1)
.PF0f069118:
/* f069118: 26310002 */ addiu $s1,$s1,0x2
/* f06911c: 16c4ffcb */ bne $s6,$a0,.PF0f06904c
/* f069120: 00000000 */ nop
.PF0f069124:
/* f069124: 8fa70128 */ lw $a3,0x128($sp)
.PF0f069128:
/* f069128: 8faa012c */ lw $t2,0x12c($sp)
/* f06912c: 8ce700bc */ lw $a3,0xbc($a3)
/* f069130: 10ea0006 */ beq $a3,$t2,.PF0f06914c
/* f069134: 00000000 */ nop
/* f069138: 10e00004 */ beqz $a3,.PF0f06914c
/* f06913c: 00000000 */ nop
/* f069140: 8ceb0014 */ lw $t3,0x14($a3)
/* f069144: 5560ff76 */ bnezl $t3,.PF0f068f20
/* f069148: 8fb9012c */ lw $t9,0x12c($sp)
.PF0f06914c:
/* f06914c: 16a0000c */ bnez $s5,.PF0f069180
/* f069150: 00000000 */ nop
/* f069154: 8fb00130 */ lw $s0,0x130($sp)
/* f069158: 00002825 */ move $a1,$zero
/* f06915c: 26100028 */ addiu $s0,$s0,0x28
/* f069160: 0fc1a369 */ jal func0f068b14
/* f069164: 02002025 */ move $a0,$s0
/* f069168: 00408825 */ move $s1,$v0
/* f06916c: 02002025 */ move $a0,$s0
/* f069170: 0fc1a369 */ jal func0f068b14
/* f069174: 24050001 */ li $a1,0x1
/* f069178: 10000017 */ b .PF0f0691d8
/* f06917c: 00401825 */ move $v1,$v0
.PF0f069180:
/* f069180: 0275001a */ div $zero,$s3,$s5
/* f069184: 00008812 */ mflo $s1
/* f069188: 16a00002 */ bnez $s5,.PF0f069194
/* f06918c: 00000000 */ nop
/* f069190: 0007000d */ break 0x7
.PF0f069194:
/* f069194: 2401ffff */ li $at,-1
/* f069198: 16a10004 */ bne $s5,$at,.PF0f0691ac
/* f06919c: 3c018000 */ lui $at,0x8000
/* f0691a0: 16610002 */ bne $s3,$at,.PF0f0691ac
/* f0691a4: 00000000 */ nop
/* f0691a8: 0006000d */ break 0x6
.PF0f0691ac:
/* f0691ac: 0295001a */ div $zero,$s4,$s5
/* f0691b0: 00001812 */ mflo $v1
/* f0691b4: 16a00002 */ bnez $s5,.PF0f0691c0
/* f0691b8: 00000000 */ nop
/* f0691bc: 0007000d */ break 0x7
.PF0f0691c0:
/* f0691c0: 2401ffff */ li $at,-1
/* f0691c4: 16a10004 */ bne $s5,$at,.PF0f0691d8
/* f0691c8: 3c018000 */ lui $at,0x8000
/* f0691cc: 16810002 */ bne $s4,$at,.PF0f0691d8
/* f0691d0: 00000000 */ nop
/* f0691d4: 0006000d */ break 0x6
.PF0f0691d8:
/* f0691d8: 8fac0134 */ lw $t4,0x134($sp)
/* f0691dc: 02231021 */ addu $v0,$s1,$v1
/* f0691e0: 284100ff */ slti $at,$v0,0xff
/* f0691e4: 51800003 */ beqzl $t4,.PF0f0691f4
/* f0691e8: 8fad0138 */ lw $t5,0x138($sp)
/* f0691ec: ad910000 */ sw $s1,0x0($t4)
/* f0691f0: 8fad0138 */ lw $t5,0x138($sp)
.PF0f0691f4:
/* f0691f4: 11a00002 */ beqz $t5,.PF0f069200
/* f0691f8: 00000000 */ nop
/* f0691fc: ada30000 */ sw $v1,0x0($t5)
.PF0f069200:
/* f069200: 10200003 */ beqz $at,.PF0f069210
/* f069204: d7b40018 */ ldc1 $f20,0x18($sp)
/* f069208: 10000002 */ b .PF0f069214
/* f06920c: 00401825 */ move $v1,$v0
.PF0f069210:
/* f069210: 240300ff */ li $v1,0xff
.PF0f069214:
/* f069214: 8fbf0054 */ lw $ra,0x54($sp)
/* f069218: d7b60020 */ ldc1 $f22,0x20($sp)
/* f06921c: d7b80028 */ ldc1 $f24,0x28($sp)
/* f069220: 8fb00030 */ lw $s0,0x30($sp)
/* f069224: 8fb10034 */ lw $s1,0x34($sp)
/* f069228: 8fb20038 */ lw $s2,0x38($sp)
/* f06922c: 8fb3003c */ lw $s3,0x3c($sp)
/* f069230: 8fb40040 */ lw $s4,0x40($sp)
/* f069234: 8fb50044 */ lw $s5,0x44($sp)
/* f069238: 8fb60048 */ lw $s6,0x48($sp)
/* f06923c: 8fb7004c */ lw $s7,0x4c($sp)
/* f069240: 8fbe0050 */ lw $s8,0x50($sp)
/* f069244: 27bd0130 */ addiu $sp,$sp,0x130
/* f069248: 03e00008 */ jr $ra
/* f06924c: 00601025 */ move $v0,$v1
);
#else
GLOBAL_ASM(
glabel func0f068c04
/* f068c04: 27bdfed0 */ addiu $sp,$sp,-304
/* f068c08: afbf0054 */ sw $ra,0x54($sp)
/* f068c0c: afbe0050 */ sw $s8,0x50($sp)
/* f068c10: afb7004c */ sw $s7,0x4c($sp)
/* f068c14: afb60048 */ sw $s6,0x48($sp)
/* f068c18: afb50044 */ sw $s5,0x44($sp)
/* f068c1c: afb40040 */ sw $s4,0x40($sp)
/* f068c20: afb3003c */ sw $s3,0x3c($sp)
/* f068c24: afb20038 */ sw $s2,0x38($sp)
/* f068c28: afb10034 */ sw $s1,0x34($sp)
/* f068c2c: afb00030 */ sw $s0,0x30($sp)
/* f068c30: f7b80028 */ sdc1 $f24,0x28($sp)
/* f068c34: f7b60020 */ sdc1 $f22,0x20($sp)
/* f068c38: f7b40018 */ sdc1 $f20,0x18($sp)
/* f068c3c: afa40130 */ sw $a0,0x130($sp)
/* f068c40: afa50134 */ sw $a1,0x134($sp)
/* f068c44: afa60138 */ sw $a2,0x138($sp)
/* f068c48: 8c8f0004 */ lw $t7,0x4($a0)
/* f068c4c: 3c047f1b */ lui $a0,%hi(var7f1a9f60)
/* f068c50: 3c058007 */ lui $a1,%hi(var80069974)
/* f068c54: 00009825 */ or $s3,$zero,$zero
/* f068c58: 0000a025 */ or $s4,$zero,$zero
/* f068c5c: 00009025 */ or $s2,$zero,$zero
/* f068c60: 0000a825 */ or $s5,$zero,$zero
/* f068c64: 24a59974 */ addiu $a1,$a1,%lo(var80069974)
/* f068c68: 24849f60 */ addiu $a0,$a0,%lo(var7f1a9f60)
/* f068c6c: 0c0036cc */ jal mainOverrideVariable
/* f068c70: afaf012c */ sw $t7,0x12c($sp)
/* f068c74: 8fa3012c */ lw $v1,0x12c($sp)
/* f068c78: 10600092 */ beqz $v1,.L0f068ec4
/* f068c7c: 00603825 */ or $a3,$v1,$zero
/* f068c80: 8c780014 */ lw $t8,0x14($v1)
/* f068c84: 1300008f */ beqz $t8,.L0f068ec4
/* f068c88: 00000000 */ nop
/* f068c8c: 3c17800a */ lui $s7,%hi(g_Rooms)
/* f068c90: 4480c000 */ mtc1 $zero,$f24
/* f068c94: 26f74928 */ addiu $s7,$s7,%lo(g_Rooms)
/* f068c98: 241e008c */ addiu $s8,$zero,0x8c
/* f068c9c: 2416ffff */ addiu $s6,$zero,-1
/* f068ca0: afa70128 */ sw $a3,0x128($sp)
.L0f068ca4:
/* f068ca4: 84e800c4 */ lh $t0,0xc4($a3)
/* f068ca8: 847900c4 */ lh $t9,0xc4($v1)
/* f068cac: 5728007c */ bnel $t9,$t0,.L0f068ea0
/* f068cb0: 8fa70128 */ lw $a3,0x128($sp)
/* f068cb4: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f068cb8: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f068cbc: afa70128 */ sw $a3,0x128($sp)
/* f068cc0: 8c4900bc */ lw $t1,0xbc($v0)
/* f068cc4: 51200076 */ beqzl $t1,.L0f068ea0
/* f068cc8: 8fa70128 */ lw $a3,0x128($sp)
/* f068ccc: 8ce30014 */ lw $v1,0x14($a3)
/* f068cd0: 84e40006 */ lh $a0,0x6($a3)
/* f068cd4: 24501bb0 */ addiu $s0,$v0,0x1bb0
/* f068cd8: afa70128 */ sw $a3,0x128($sp)
/* f068cdc: 2405005e */ addiu $a1,$zero,0x5e
/* f068ce0: 27a600b0 */ addiu $a2,$sp,0xb0
/* f068ce4: 0fc456ac */ jal padUnpack
/* f068ce8: afa30104 */ sw $v1,0x104($sp)
/* f068cec: 8faa012c */ lw $t2,0x12c($sp)
/* f068cf0: 3c010400 */ lui $at,0x400
/* f068cf4: 8fa30104 */ lw $v1,0x104($sp)
/* f068cf8: 8d4b0010 */ lw $t3,0x10($t2)
/* f068cfc: 8fad012c */ lw $t5,0x12c($sp)
/* f068d00: 01616024 */ and $t4,$t3,$at
/* f068d04: 5180000e */ beqzl $t4,.L0f068d40
/* f068d08: 95ae0070 */ lhu $t6,0x70($t5)
/* f068d0c: 0fc002c9 */ jal func0f000b24
/* f068d10: 8fa400f8 */ lw $a0,0xf8($sp)
/* f068d14: 02629821 */ addu $s3,$s3,$v0
/* f068d18: 0fc00315 */ jal func0f000c54
/* f068d1c: 8fa400f8 */ lw $a0,0xf8($sp)
/* f068d20: 0282a021 */ addu $s4,$s4,$v0
/* f068d24: 02749021 */ addu $s2,$s3,$s4
/* f068d28: 2a410100 */ slti $at,$s2,0x100
/* f068d2c: 1420005b */ bnez $at,.L0f068e9c
/* f068d30: 26b50001 */ addiu $s5,$s5,0x1
/* f068d34: 10000059 */ b .L0f068e9c
/* f068d38: 241200ff */ addiu $s2,$zero,0xff
/* f068d3c: 95ae0070 */ lhu $t6,0x70($t5)
.L0f068d40:
/* f068d40: 00001025 */ or $v0,$zero,$zero
/* f068d44: 31cf0008 */ andi $t7,$t6,0x8
/* f068d48: 51e0000b */ beqzl $t7,.L0f068d78
/* f068d4c: c6080000 */ lwc1 $f8,0x0($s0)
/* f068d50: c7b600d4 */ lwc1 $f22,0xd4($sp)
/* f068d54: c7a800d8 */ lwc1 $f8,0xd8($sp)
/* f068d58: c7ac00dc */ lwc1 $f12,0xdc($sp)
/* f068d5c: 4600b587 */ neg.s $f22,$f22
/* f068d60: 46004287 */ neg.s $f10,$f8
/* f068d64: 46006307 */ neg.s $f12,$f12
/* f068d68: e7b600d4 */ swc1 $f22,0xd4($sp)
/* f068d6c: e7aa00d8 */ swc1 $f10,0xd8($sp)
/* f068d70: e7ac00dc */ swc1 $f12,0xdc($sp)
/* f068d74: c6080000 */ lwc1 $f8,0x0($s0)
.L0f068d78:
/* f068d78: c7aa00b0 */ lwc1 $f10,0xb0($sp)
/* f068d7c: c6040004 */ lwc1 $f4,0x4($s0)
/* f068d80: c7a600b4 */ lwc1 $f6,0xb4($sp)
/* f068d84: 460a4001 */ sub.s $f0,$f8,$f10
/* f068d88: c7aa00b8 */ lwc1 $f10,0xb8($sp)
/* f068d8c: c6080008 */ lwc1 $f8,0x8($s0)
/* f068d90: 46062081 */ sub.s $f2,$f4,$f6
/* f068d94: c7a400d4 */ lwc1 $f4,0xd4($sp)
/* f068d98: 84780028 */ lh $t8,0x28($v1)
/* f068d9c: 460a4301 */ sub.s $f12,$f8,$f10
/* f068da0: 46002182 */ mul.s $f6,$f4,$f0
/* f068da4: c7a800d8 */ lwc1 $f8,0xd8($sp)
/* f068da8: 46081282 */ mul.s $f10,$f2,$f8
/* f068dac: c7a800dc */ lwc1 $f8,0xdc($sp)
/* f068db0: 460a3100 */ add.s $f4,$f6,$f10
/* f068db4: 46086182 */ mul.s $f6,$f12,$f8
/* f068db8: 12d80038 */ beq $s6,$t8,.L0f068e9c
/* f068dbc: 46062580 */ add.s $f22,$f4,$f6
/* f068dc0: 00608825 */ or $s1,$v1,$zero
/* f068dc4: 84640028 */ lh $a0,0x28($v1)
.L0f068dc8:
/* f068dc8: 009e0019 */ multu $a0,$s8
/* f068dcc: 8ef90000 */ lw $t9,0x0($s7)
/* f068dd0: c7aa00b0 */ lwc1 $f10,0xb0($sp)
/* f068dd4: c7a800b4 */ lwc1 $f8,0xb4($sp)
/* f068dd8: c7a600d4 */ lwc1 $f6,0xd4($sp)
/* f068ddc: c7a400b8 */ lwc1 $f4,0xb8($sp)
/* f068de0: 4618b03c */ c.lt.s $f22,$f24
/* f068de4: 00004012 */ mflo $t0
/* f068de8: 03281021 */ addu $v0,$t9,$t0
/* f068dec: c4400030 */ lwc1 $f0,0x30($v0)
/* f068df0: c4420034 */ lwc1 $f2,0x34($v0)
/* f068df4: c44c0038 */ lwc1 $f12,0x38($v0)
/* f068df8: 460a0381 */ sub.s $f14,$f0,$f10
/* f068dfc: 46081401 */ sub.s $f16,$f2,$f8
/* f068e00: 460e3282 */ mul.s $f10,$f6,$f14
/* f068e04: c7a800d8 */ lwc1 $f8,0xd8($sp)
/* f068e08: 46046481 */ sub.s $f18,$f12,$f4
/* f068e0c: 46088102 */ mul.s $f4,$f16,$f8
/* f068e10: c7a800dc */ lwc1 $f8,0xdc($sp)
/* f068e14: 46045180 */ add.s $f6,$f10,$f4
/* f068e18: 46089282 */ mul.s $f10,$f18,$f8
/* f068e1c: 45000005 */ bc1f .L0f068e34
/* f068e20: 460a3500 */ add.s $f20,$f6,$f10
/* f068e24: 4618b03c */ c.lt.s $f22,$f24
/* f068e28: 00000000 */ nop
/* f068e2c: 45010009 */ bc1t .L0f068e54
/* f068e30: 00000000 */ nop
.L0f068e34:
/* f068e34: 4616c03c */ c.lt.s $f24,$f22
/* f068e38: 00000000 */ nop
/* f068e3c: 45020014 */ bc1fl .L0f068e90
/* f068e40: 8624002a */ lh $a0,0x2a($s1)
/* f068e44: 4614c03c */ c.lt.s $f24,$f20
/* f068e48: 00000000 */ nop
/* f068e4c: 45020010 */ bc1fl .L0f068e90
/* f068e50: 8624002a */ lh $a0,0x2a($s1)
.L0f068e54:
/* f068e54: 0fc00315 */ jal func0f000c54
/* f068e58: 00000000 */ nop
/* f068e5c: 00408025 */ or $s0,$v0,$zero
/* f068e60: 0fc002c9 */ jal func0f000b24
/* f068e64: 86240028 */ lh $a0,0x28($s1)
/* f068e68: 00502821 */ addu $a1,$v0,$s0
/* f068e6c: 28a10100 */ slti $at,$a1,0x100
/* f068e70: 14200002 */ bnez $at,.L0f068e7c
/* f068e74: 00402025 */ or $a0,$v0,$zero
/* f068e78: 240500ff */ addiu $a1,$zero,0xff
.L0f068e7c:
/* f068e7c: 26b50001 */ addiu $s5,$s5,0x1
/* f068e80: 02649821 */ addu $s3,$s3,$a0
/* f068e84: 0290a021 */ addu $s4,$s4,$s0
/* f068e88: 02459021 */ addu $s2,$s2,$a1
/* f068e8c: 8624002a */ lh $a0,0x2a($s1)
.L0f068e90:
/* f068e90: 26310002 */ addiu $s1,$s1,0x2
/* f068e94: 16c4ffcc */ bne $s6,$a0,.L0f068dc8
/* f068e98: 00000000 */ nop
.L0f068e9c:
/* f068e9c: 8fa70128 */ lw $a3,0x128($sp)
.L0f068ea0:
/* f068ea0: 8fa3012c */ lw $v1,0x12c($sp)
/* f068ea4: 8ce700bc */ lw $a3,0xbc($a3)
/* f068ea8: 10e30006 */ beq $a3,$v1,.L0f068ec4
/* f068eac: 00000000 */ nop
/* f068eb0: 10e00004 */ beqz $a3,.L0f068ec4
/* f068eb4: 00000000 */ nop
/* f068eb8: 8ce90014 */ lw $t1,0x14($a3)
/* f068ebc: 5520ff79 */ bnezl $t1,.L0f068ca4
/* f068ec0: afa70128 */ sw $a3,0x128($sp)
.L0f068ec4:
/* f068ec4: 16a0000c */ bnez $s5,.L0f068ef8
/* f068ec8: 00000000 */ nop
/* f068ecc: 8fb00130 */ lw $s0,0x130($sp)
/* f068ed0: 00002825 */ or $a1,$zero,$zero
/* f068ed4: 26100028 */ addiu $s0,$s0,0x28
/* f068ed8: 0fc1a2c5 */ jal func0f068b14
/* f068edc: 02002025 */ or $a0,$s0,$zero
/* f068ee0: 00408825 */ or $s1,$v0,$zero
/* f068ee4: 02002025 */ or $a0,$s0,$zero
/* f068ee8: 0fc1a2c5 */ jal func0f068b14
/* f068eec: 24050001 */ addiu $a1,$zero,0x1
/* f068ef0: 10000017 */ b .L0f068f50
/* f068ef4: 00401825 */ or $v1,$v0,$zero
.L0f068ef8:
/* f068ef8: 0275001a */ div $zero,$s3,$s5
/* f068efc: 00008812 */ mflo $s1
/* f068f00: 16a00002 */ bnez $s5,.L0f068f0c
/* f068f04: 00000000 */ nop
/* f068f08: 0007000d */ break 0x7
.L0f068f0c:
/* f068f0c: 2401ffff */ addiu $at,$zero,-1
/* f068f10: 16a10004 */ bne $s5,$at,.L0f068f24
/* f068f14: 3c018000 */ lui $at,0x8000
/* f068f18: 16610002 */ bne $s3,$at,.L0f068f24
/* f068f1c: 00000000 */ nop
/* f068f20: 0006000d */ break 0x6
.L0f068f24:
/* f068f24: 0295001a */ div $zero,$s4,$s5
/* f068f28: 00001812 */ mflo $v1
/* f068f2c: 16a00002 */ bnez $s5,.L0f068f38
/* f068f30: 00000000 */ nop
/* f068f34: 0007000d */ break 0x7
.L0f068f38:
/* f068f38: 2401ffff */ addiu $at,$zero,-1
/* f068f3c: 16a10004 */ bne $s5,$at,.L0f068f50
/* f068f40: 3c018000 */ lui $at,0x8000
/* f068f44: 16810002 */ bne $s4,$at,.L0f068f50
/* f068f48: 00000000 */ nop
/* f068f4c: 0006000d */ break 0x6
.L0f068f50:
/* f068f50: 8fa20134 */ lw $v0,0x134($sp)
/* f068f54: 50400003 */ beqzl $v0,.L0f068f64
/* f068f58: 8fa20138 */ lw $v0,0x138($sp)
/* f068f5c: ac510000 */ sw $s1,0x0($v0)
/* f068f60: 8fa20138 */ lw $v0,0x138($sp)
.L0f068f64:
/* f068f64: 50400003 */ beqzl $v0,.L0f068f74
/* f068f68: 02231021 */ addu $v0,$s1,$v1
/* f068f6c: ac430000 */ sw $v1,0x0($v0)
/* f068f70: 02231021 */ addu $v0,$s1,$v1
.L0f068f74:
/* f068f74: 284100ff */ slti $at,$v0,0xff
/* f068f78: 10200003 */ beqz $at,.L0f068f88
/* f068f7c: d7b40018 */ ldc1 $f20,0x18($sp)
/* f068f80: 10000002 */ b .L0f068f8c
/* f068f84: 00401825 */ or $v1,$v0,$zero
.L0f068f88:
/* f068f88: 240300ff */ addiu $v1,$zero,0xff
.L0f068f8c:
/* f068f8c: 8fbf0054 */ lw $ra,0x54($sp)
/* f068f90: d7b60020 */ ldc1 $f22,0x20($sp)
/* f068f94: d7b80028 */ ldc1 $f24,0x28($sp)
/* f068f98: 8fb00030 */ lw $s0,0x30($sp)
/* f068f9c: 8fb10034 */ lw $s1,0x34($sp)
/* f068fa0: 8fb20038 */ lw $s2,0x38($sp)
/* f068fa4: 8fb3003c */ lw $s3,0x3c($sp)
/* f068fa8: 8fb40040 */ lw $s4,0x40($sp)
/* f068fac: 8fb50044 */ lw $s5,0x44($sp)
/* f068fb0: 8fb60048 */ lw $s6,0x48($sp)
/* f068fb4: 8fb7004c */ lw $s7,0x4c($sp)
/* f068fb8: 8fbe0050 */ lw $s8,0x50($sp)
/* f068fbc: 27bd0130 */ addiu $sp,$sp,0x130
/* f068fc0: 03e00008 */ jr $ra
/* f068fc4: 00601025 */ or $v0,$v1,$zero
);
#endif
s32 func0f068fc8(struct prop *prop, bool arg1)
{
struct defaultobj *obj = prop->obj;
s32 actual = 0;
s32 extra = 0;
s32 *actualptr;
s32 *extraptr;
if (prop->rooms[0] == -1) {
actual = random() % 255;
extra = 0;
} else if (obj->type == OBJTYPE_DOOR) {
struct doorobj *door = (struct doorobj *)obj;
if (g_Vars.normmplayerisrunning) {
actual = 255;
} else {
actualptr = arg1 == 0 ? &actual : NULL;
extraptr = arg1 == 1 ? &extra : NULL;
func0f068c04(prop, actualptr, extraptr);
if (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) {
if (g_Vars.currentplayernum == 1) {
if (actualptr) {
door->actual1 = actual & 0xff;
}
if (extraptr) {
door->extra1 = extra & 0xff;
}
} else {
if (actualptr) {
door->actual2 = actual & 0xff;
}
if (extraptr) {
door->extra2 = extra & 0xff;
}
}
}
}
} else {
actual = func0f068b14(prop->rooms, 0);
extra = func0f068b14(prop->rooms, 1);
}
if (arg1 == 0) {
return actual;
}
if (arg1 == 1) {
return extra;
}
return 255;
}
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f069144
.late_rodata
glabel var7f1aa1d4
.word 0x39cd9a67
glabel var7f1aa1d8
.word 0x3f666666
.text
/* f069144: 27bdff90 */ addiu $sp,$sp,-112
/* f069148: afb00018 */ sw $s0,0x18($sp)
/* f06914c: 00a08025 */ or $s0,$a1,$zero
/* f069150: afa40070 */ sw $a0,0x70($sp)
/* f069154: afbf001c */ sw $ra,0x1c($sp)
/* f069158: 3c047f1b */ lui $a0,%hi(var7f1a9f6c)
/* f06915c: 3c058007 */ lui $a1,%hi(var80069978)
/* f069160: afa60078 */ sw $a2,0x78($sp)
/* f069164: 24a59978 */ addiu $a1,$a1,%lo(var80069978)
/* f069168: 0c0036cc */ jal mainOverrideVariable
/* f06916c: 24849f6c */ addiu $a0,$a0,%lo(var7f1a9f6c)
/* f069170: 3c047f1b */ lui $a0,%hi(var7f1a9f74)
/* f069174: 3c058007 */ lui $a1,%hi(var8006997c)
/* f069178: 24a5997c */ addiu $a1,$a1,%lo(var8006997c)
/* f06917c: 0c0036cc */ jal mainOverrideVariable
/* f069180: 24849f74 */ addiu $a0,$a0,%lo(var7f1a9f74)
/* f069184: 8fae0070 */ lw $t6,0x70($sp)
/* f069188: 24010001 */ addiu $at,$zero,0x1
/* f06918c: 8faf0070 */ lw $t7,0x70($sp)
/* f069190: 91c20000 */ lbu $v0,0x0($t6)
/* f069194: 8fb80070 */ lw $t8,0x70($sp)
/* f069198: 10410005 */ beq $v0,$at,.L0f0691b0
/* f06919c: 24010004 */ addiu $at,$zero,0x4
/* f0691a0: 10410003 */ beq $v0,$at,.L0f0691b0
/* f0691a4: 24010002 */ addiu $at,$zero,0x2
/* f0691a8: 14410003 */ bne $v0,$at,.L0f0691b8
/* f0691ac: 00003025 */ or $a2,$zero,$zero
.L0f0691b0:
/* f0691b0: 10000001 */ b .L0f0691b8
/* f0691b4: 8de60004 */ lw $a2,0x4($t7)
.L0f0691b8:
/* f0691b8: 24010003 */ addiu $at,$zero,0x3
/* f0691bc: 14410005 */ bne $v0,$at,.L0f0691d4
/* f0691c0: 00000000 */ nop
/* f0691c4: 8f020004 */ lw $v0,0x4($t8)
/* f0691c8: 9059032e */ lbu $t9,0x32e($v0)
/* f0691cc: 332effdf */ andi $t6,$t9,0xffdf
/* f0691d0: a04e032e */ sb $t6,0x32e($v0)
.L0f0691d4:
/* f0691d4: 10c0000b */ beqz $a2,.L0f069204
/* f0691d8: 97a2007a */ lhu $v0,0x7a($sp)
/* f0691dc: 8ccf0008 */ lw $t7,0x8($a2)
/* f0691e0: 240700ff */ addiu $a3,$zero,0xff
/* f0691e4: 31f80400 */ andi $t8,$t7,0x400
/* f0691e8: 53000007 */ beqzl $t8,.L0f069208
/* f0691ec: 00021a03 */ sra $v1,$v0,0x8
/* f0691f0: a2070000 */ sb $a3,0x0($s0)
/* f0691f4: a2070001 */ sb $a3,0x1($s0)
/* f0691f8: a2070002 */ sb $a3,0x2($s0)
/* f0691fc: 10000011 */ b .L0f069244
/* f069200: a2070003 */ sb $a3,0x3($s0)
.L0f069204:
/* f069204: 00021a03 */ sra $v1,$v0,0x8
.L0f069208:
/* f069208: 306e000f */ andi $t6,$v1,0xf
/* f06920c: 000e7900 */ sll $t7,$t6,0x4
/* f069210: 01eec025 */ or $t8,$t7,$t6
/* f069214: 00022103 */ sra $a0,$v0,0x4
/* f069218: 308e000f */ andi $t6,$a0,0xf
/* f06921c: a2180000 */ sb $t8,0x0($s0)
/* f069220: 000e7900 */ sll $t7,$t6,0x4
/* f069224: 01eec025 */ or $t8,$t7,$t6
/* f069228: 3059000f */ andi $t9,$v0,0xf
/* f06922c: 00197100 */ sll $t6,$t9,0x4
/* f069230: 240700ff */ addiu $a3,$zero,0xff
/* f069234: 01d97825 */ or $t7,$t6,$t9
/* f069238: a2180001 */ sb $t8,0x1($s0)
/* f06923c: a20f0002 */ sb $t7,0x2($s0)
/* f069240: a2070003 */ sb $a3,0x3($s0)
.L0f069244:
/* f069244: 50c0000a */ beqzl $a2,.L0f069270
/* f069248: 8fa40070 */ lw $a0,0x70($sp)
/* f06924c: 8cd80008 */ lw $t8,0x8($a2)
/* f069250: 33191000 */ andi $t9,$t8,0x1000
/* f069254: 53200006 */ beqzl $t9,.L0f069270
/* f069258: 8fa40070 */ lw $a0,0x70($sp)
/* f06925c: 0fc41b99 */ jal cheatIsActive
/* f069260: 24040015 */ addiu $a0,$zero,0x15
/* f069264: 50400065 */ beqzl $v0,.L0f0693fc
/* f069268: 920a0002 */ lbu $t2,0x2($s0)
/* f06926c: 8fa40070 */ lw $a0,0x70($sp)
.L0f069270:
/* f069270: 0fc1a3f2 */ jal func0f068fc8
/* f069274: 00002825 */ or $a1,$zero,$zero
/* f069278: 44822000 */ mtc1 $v0,$f4
/* f06927c: 3c017f1b */ lui $at,%hi(var7f1aa1d4)
/* f069280: c428a1d4 */ lwc1 $f8,%lo(var7f1aa1d4)($at)
/* f069284: 468021a0 */ cvt.s.w $f6,$f4
/* f069288: 3c013f80 */ lui $at,0x3f80
/* f06928c: 44818000 */ mtc1 $at,$f16
/* f069290: 8fae0070 */ lw $t6,0x70($sp)
/* f069294: afa20058 */ sw $v0,0x58($sp)
/* f069298: afa20054 */ sw $v0,0x54($sp)
/* f06929c: 46083282 */ mul.s $f10,$f6,$f8
/* f0692a0: afa20050 */ sw $v0,0x50($sp)
/* f0692a4: 27a50058 */ addiu $a1,$sp,0x58
/* f0692a8: 27a60054 */ addiu $a2,$sp,0x54
/* f0692ac: 27a70050 */ addiu $a3,$sp,0x50
/* f0692b0: 460a8481 */ sub.s $f18,$f16,$f10
/* f0692b4: e7b2005c */ swc1 $f18,0x5c($sp)
/* f0692b8: 0fc6192e */ jal scenarioHighlightRoom
/* f0692bc: 85c40028 */ lh $a0,0x28($t6)
/* f0692c0: 920f0000 */ lbu $t7,0x0($s0)
/* f0692c4: 8fb80058 */ lw $t8,0x58($sp)
/* f0692c8: 3c014f00 */ lui $at,0x4f00
/* f0692cc: 01f80019 */ multu $t7,$t8
/* f0692d0: 920f0001 */ lbu $t7,0x1($s0)
/* f0692d4: 0000c812 */ mflo $t9
/* f0692d8: 00197203 */ sra $t6,$t9,0x8
/* f0692dc: a20e0000 */ sb $t6,0x0($s0)
/* f0692e0: 8fb80054 */ lw $t8,0x54($sp)
/* f0692e4: 920c0000 */ lbu $t4,0x0($s0)
/* f0692e8: 01f80019 */ multu $t7,$t8
/* f0692ec: 920f0002 */ lbu $t7,0x2($s0)
/* f0692f0: 0000c812 */ mflo $t9
/* f0692f4: 00197203 */ sra $t6,$t9,0x8
/* f0692f8: a20e0001 */ sb $t6,0x1($s0)
/* f0692fc: 8fb80050 */ lw $t8,0x50($sp)
/* f069300: 920d0001 */ lbu $t5,0x1($s0)
/* f069304: 01f80019 */ multu $t7,$t8
/* f069308: 000cc080 */ sll $t8,$t4,0x2
/* f06930c: 030cc021 */ addu $t8,$t8,$t4
/* f069310: 0018c100 */ sll $t8,$t8,0x4
/* f069314: 030cc023 */ subu $t8,$t8,$t4
/* f069318: 0000c812 */ mflo $t9
/* f06931c: 00197203 */ sra $t6,$t9,0x8
/* f069320: 31ca00ff */ andi $t2,$t6,0xff
/* f069324: a20e0002 */ sb $t6,0x2($s0)
/* f069328: 000a7880 */ sll $t7,$t2,0x2
/* f06932c: 01ea7821 */ addu $t7,$t7,$t2
/* f069330: 000d7080 */ sll $t6,$t5,0x2
/* f069334: 000f7880 */ sll $t7,$t7,0x2
/* f069338: 01cd7021 */ addu $t6,$t6,$t5
/* f06933c: 000e70c0 */ sll $t6,$t6,0x3
/* f069340: 01ea7821 */ addu $t7,$t7,$t2
/* f069344: 01f8c821 */ addu $t9,$t7,$t8
/* f069348: 01cd7023 */ subu $t6,$t6,$t5
/* f06934c: 000e7080 */ sll $t6,$t6,0x2
/* f069350: 032e1021 */ addu $v0,$t9,$t6
/* f069354: 00027a03 */ sra $t7,$v0,0x8
/* f069358: 241800ff */ addiu $t8,$zero,0xff
/* f06935c: 030fc823 */ subu $t9,$t8,$t7
/* f069360: 44992000 */ mtc1 $t9,$f4
/* f069364: c7a8005c */ lwc1 $f8,0x5c($sp)
/* f069368: 240f0001 */ addiu $t7,$zero,0x1
/* f06936c: 468021a0 */ cvt.s.w $f6,$f4
/* f069370: 46083402 */ mul.s $f16,$f6,$f8
/* f069374: 444ef800 */ cfc1 $t6,$31
/* f069378: 44cff800 */ ctc1 $t7,$31
/* f06937c: 00000000 */ nop
/* f069380: 460082a4 */ cvt.w.s $f10,$f16
/* f069384: 444ff800 */ cfc1 $t7,$31
/* f069388: 00000000 */ nop
/* f06938c: 31ef0078 */ andi $t7,$t7,0x78
/* f069390: 51e00013 */ beqzl $t7,.L0f0693e0
/* f069394: 440f5000 */ mfc1 $t7,$f10
/* f069398: 44815000 */ mtc1 $at,$f10
/* f06939c: 240f0001 */ addiu $t7,$zero,0x1
/* f0693a0: 460a8281 */ sub.s $f10,$f16,$f10
/* f0693a4: 44cff800 */ ctc1 $t7,$31
/* f0693a8: 00000000 */ nop
/* f0693ac: 460052a4 */ cvt.w.s $f10,$f10
/* f0693b0: 444ff800 */ cfc1 $t7,$31
/* f0693b4: 00000000 */ nop
/* f0693b8: 31ef0078 */ andi $t7,$t7,0x78
/* f0693bc: 15e00005 */ bnez $t7,.L0f0693d4
/* f0693c0: 00000000 */ nop
/* f0693c4: 440f5000 */ mfc1 $t7,$f10
/* f0693c8: 3c018000 */ lui $at,0x8000
/* f0693cc: 10000007 */ b .L0f0693ec
/* f0693d0: 01e17825 */ or $t7,$t7,$at
.L0f0693d4:
/* f0693d4: 10000005 */ b .L0f0693ec
/* f0693d8: 240fffff */ addiu $t7,$zero,-1
/* f0693dc: 440f5000 */ mfc1 $t7,$f10
.L0f0693e0:
/* f0693e0: 00000000 */ nop
/* f0693e4: 05e0fffb */ bltz $t7,.L0f0693d4
/* f0693e8: 00000000 */ nop
.L0f0693ec:
/* f0693ec: 44cef800 */ ctc1 $t6,$31
/* f0693f0: 1000003e */ b .L0f0694ec
/* f0693f4: a20f0003 */ sb $t7,0x3($s0)
/* f0693f8: 920a0002 */ lbu $t2,0x2($s0)
.L0f0693fc:
/* f0693fc: 920c0000 */ lbu $t4,0x0($s0)
/* f069400: 920d0001 */ lbu $t5,0x1($s0)
/* f069404: 000ac080 */ sll $t8,$t2,0x2
/* f069408: 000cc880 */ sll $t9,$t4,0x2
/* f06940c: 030ac021 */ addu $t8,$t8,$t2
/* f069410: 032cc821 */ addu $t9,$t9,$t4
/* f069414: 000d7880 */ sll $t7,$t5,0x2
/* f069418: 0019c900 */ sll $t9,$t9,0x4
/* f06941c: 0018c080 */ sll $t8,$t8,0x2
/* f069420: 01ed7821 */ addu $t7,$t7,$t5
/* f069424: 000f78c0 */ sll $t7,$t7,0x3
/* f069428: 030ac021 */ addu $t8,$t8,$t2
/* f06942c: 032cc823 */ subu $t9,$t9,$t4
/* f069430: 03197021 */ addu $t6,$t8,$t9
/* f069434: 01ed7823 */ subu $t7,$t7,$t5
/* f069438: 000f7880 */ sll $t7,$t7,0x2
/* f06943c: 01cf1021 */ addu $v0,$t6,$t7
/* f069440: 0002c203 */ sra $t8,$v0,0x8
/* f069444: 241900ff */ addiu $t9,$zero,0xff
/* f069448: 03387023 */ subu $t6,$t9,$t8
/* f06944c: 448e9000 */ mtc1 $t6,$f18
/* f069450: 3c017f1b */ lui $at,%hi(var7f1aa1d8)
/* f069454: c426a1d8 */ lwc1 $f6,%lo(var7f1aa1d8)($at)
/* f069458: 46809120 */ cvt.s.w $f4,$f18
/* f06945c: 24180001 */ addiu $t8,$zero,0x1
/* f069460: 3c014f00 */ lui $at,0x4f00
/* f069464: 46062202 */ mul.s $f8,$f4,$f6
/* f069468: 444ff800 */ cfc1 $t7,$31
/* f06946c: 44d8f800 */ ctc1 $t8,$31
/* f069470: 00000000 */ nop
/* f069474: 46004424 */ cvt.w.s $f16,$f8
/* f069478: 4458f800 */ cfc1 $t8,$31
/* f06947c: 00000000 */ nop
/* f069480: 33180078 */ andi $t8,$t8,0x78
/* f069484: 53000013 */ beqzl $t8,.L0f0694d4
/* f069488: 44188000 */ mfc1 $t8,$f16
/* f06948c: 44818000 */ mtc1 $at,$f16
/* f069490: 24180001 */ addiu $t8,$zero,0x1
/* f069494: 46104401 */ sub.s $f16,$f8,$f16
/* f069498: 44d8f800 */ ctc1 $t8,$31
/* f06949c: 00000000 */ nop
/* f0694a0: 46008424 */ cvt.w.s $f16,$f16
/* f0694a4: 4458f800 */ cfc1 $t8,$31
/* f0694a8: 00000000 */ nop
/* f0694ac: 33180078 */ andi $t8,$t8,0x78
/* f0694b0: 17000005 */ bnez $t8,.L0f0694c8
/* f0694b4: 00000000 */ nop
/* f0694b8: 44188000 */ mfc1 $t8,$f16
/* f0694bc: 3c018000 */ lui $at,0x8000
/* f0694c0: 10000007 */ b .L0f0694e0
/* f0694c4: 0301c025 */ or $t8,$t8,$at
.L0f0694c8:
/* f0694c8: 10000005 */ b .L0f0694e0
/* f0694cc: 2418ffff */ addiu $t8,$zero,-1
/* f0694d0: 44188000 */ mfc1 $t8,$f16
.L0f0694d4:
/* f0694d4: 00000000 */ nop
/* f0694d8: 0700fffb */ bltz $t8,.L0f0694c8
/* f0694dc: 00000000 */ nop
.L0f0694e0:
/* f0694e0: 44cff800 */ ctc1 $t7,$31
/* f0694e4: a2180003 */ sb $t8,0x3($s0)
/* f0694e8: 00000000 */ nop
.L0f0694ec:
/* f0694ec: 018d082a */ slt $at,$t4,$t5
/* f0694f0: 00001025 */ or $v0,$zero,$zero
/* f0694f4: 10200003 */ beqz $at,.L0f069504
/* f0694f8: 00005825 */ or $t3,$zero,$zero
/* f0694fc: 10000002 */ b .L0f069508
/* f069500: 24020001 */ addiu $v0,$zero,0x1
.L0f069504:
/* f069504: 240b0001 */ addiu $t3,$zero,0x1
.L0f069508:
/* f069508: 02024821 */ addu $t1,$s0,$v0
/* f06950c: 91260000 */ lbu $a2,0x0($t1)
/* f069510: 00402825 */ or $a1,$v0,$zero
/* f069514: 020bc821 */ addu $t9,$s0,$t3
/* f069518: 00ca082a */ slt $at,$a2,$t2
/* f06951c: 50200005 */ beqzl $at,.L0f069534
/* f069520: 932e0000 */ lbu $t6,0x0($t9)
/* f069524: 26090002 */ addiu $t1,$s0,0x2
/* f069528: 10000009 */ b .L0f069550
/* f06952c: 91260000 */ lbu $a2,0x0($t1)
/* f069530: 932e0000 */ lbu $t6,0x0($t9)
.L0f069534:
/* f069534: 01602825 */ or $a1,$t3,$zero
/* f069538: 01ca082a */ slt $at,$t6,$t2
/* f06953c: 50200004 */ beqzl $at,.L0f069550
/* f069540: 240b0002 */ addiu $t3,$zero,0x2
/* f069544: 10000002 */ b .L0f069550
/* f069548: 24050002 */ addiu $a1,$zero,0x2
/* f06954c: 240b0002 */ addiu $t3,$zero,0x2
.L0f069550:
/* f069550: 18c0001b */ blez $a2,.L0f0695c0
/* f069554: 02051821 */ addu $v1,$s0,$a1
/* f069558: 020b1021 */ addu $v0,$s0,$t3
/* f06955c: 904f0000 */ lbu $t7,0x0($v0)
/* f069560: 90780000 */ lbu $t8,0x0($v1)
/* f069564: a0400000 */ sb $zero,0x0($v0)
/* f069568: 00cf2023 */ subu $a0,$a2,$t7
/* f06956c: 03040019 */ multu $t8,$a0
/* f069570: 00804025 */ or $t0,$a0,$zero
/* f069574: 0000c812 */ mflo $t9
/* f069578: 00000000 */ nop
/* f06957c: 00000000 */ nop
/* f069580: 0326001a */ div $zero,$t9,$a2
/* f069584: 00003812 */ mflo $a3
/* f069588: a0670000 */ sb $a3,0x0($v1)
/* f06958c: a1240000 */ sb $a0,0x0($t1)
/* f069590: 14c00002 */ bnez $a2,.L0f06959c
/* f069594: 00000000 */ nop
/* f069598: 0007000d */ break 0x7
.L0f06959c:
/* f06959c: 2401ffff */ addiu $at,$zero,-1
/* f0695a0: 14c10004 */ bne $a2,$at,.L0f0695b4
/* f0695a4: 3c018000 */ lui $at,0x8000
/* f0695a8: 17210002 */ bne $t9,$at,.L0f0695b4
/* f0695ac: 00000000 */ nop
/* f0695b0: 0006000d */ break 0x6
.L0f0695b4:
/* f0695b4: 920a0002 */ lbu $t2,0x2($s0)
/* f0695b8: 920d0001 */ lbu $t5,0x1($s0)
/* f0695bc: 920c0000 */ lbu $t4,0x0($s0)
.L0f0695c0:
/* f0695c0: 000c7042 */ srl $t6,$t4,0x1
/* f0695c4: 000d7842 */ srl $t7,$t5,0x1
/* f0695c8: 000ac042 */ srl $t8,$t2,0x1
/* f0695cc: a20e0000 */ sb $t6,0x0($s0)
/* f0695d0: a20f0001 */ sb $t7,0x1($s0)
/* f0695d4: a2180002 */ sb $t8,0x2($s0)
/* f0695d8: 3c198007 */ lui $t9,%hi(var80069978)
/* f0695dc: 8f399978 */ lw $t9,%lo(var80069978)($t9)
/* f0695e0: 3c0e8007 */ lui $t6,%hi(var8006997c)
/* f0695e4: 3c0f8007 */ lui $t7,%hi(var80069978)
/* f0695e8: 17200004 */ bnez $t9,.L0f0695fc
/* f0695ec: 3c028007 */ lui $v0,%hi(var80069978+0x3)
/* f0695f0: 8dce997c */ lw $t6,%lo(var8006997c)($t6)
/* f0695f4: 51c0000a */ beqzl $t6,.L0f069620
/* f0695f8: 8fbf001c */ lw $ra,0x1c($sp)
.L0f0695fc:
/* f0695fc: 9042997b */ lbu $v0,%lo(var80069978+0x3)($v0)
/* f069600: 8def9978 */ lw $t7,%lo(var80069978)($t7)
/* f069604: 3c188007 */ lui $t8,%hi(var8006997c)
/* f069608: a2020000 */ sb $v0,0x0($s0)
/* f06960c: a2020001 */ sb $v0,0x1($s0)
/* f069610: a20f0002 */ sb $t7,0x2($s0)
/* f069614: 8f18997c */ lw $t8,%lo(var8006997c)($t8)
/* f069618: a2180003 */ sb $t8,0x3($s0)
/* f06961c: 8fbf001c */ lw $ra,0x1c($sp)
.L0f069620:
/* f069620: 8fb00018 */ lw $s0,0x18($sp)
/* f069624: 27bd0070 */ addiu $sp,$sp,0x70
/* f069628: 03e00008 */ jr $ra
/* f06962c: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f069144
.late_rodata
glabel var7f1aa1d4
.word 0x39cd9a67
glabel var7f1aa1d8
.word 0x3f666666
.text
/* f0683c4: 27bdff90 */ addiu $sp,$sp,-112
/* f0683c8: afb00018 */ sw $s0,0x18($sp)
/* f0683cc: 00a08025 */ or $s0,$a1,$zero
/* f0683d0: afa40070 */ sw $a0,0x70($sp)
/* f0683d4: afbf001c */ sw $ra,0x1c($sp)
/* f0683d8: 3c047f1a */ lui $a0,0x7f1a
/* f0683dc: 3c058007 */ lui $a1,0x8007
/* f0683e0: afa60078 */ sw $a2,0x78($sp)
/* f0683e4: 24a5c078 */ addiu $a1,$a1,-16264
/* f0683e8: 0c00381c */ jal mainOverrideVariable
/* f0683ec: 2484428c */ addiu $a0,$a0,0x428c
/* f0683f0: 3c047f1a */ lui $a0,0x7f1a
/* f0683f4: 3c058007 */ lui $a1,0x8007
/* f0683f8: 24a5c07c */ addiu $a1,$a1,-16260
/* f0683fc: 0c00381c */ jal mainOverrideVariable
/* f068400: 24844294 */ addiu $a0,$a0,0x4294
/* f068404: 8fae0070 */ lw $t6,0x70($sp)
/* f068408: 24010001 */ addiu $at,$zero,0x1
/* f06840c: 8faf0070 */ lw $t7,0x70($sp)
/* f068410: 91c20000 */ lbu $v0,0x0($t6)
/* f068414: 8fb80070 */ lw $t8,0x70($sp)
/* f068418: 10410005 */ beq $v0,$at,.NB0f068430
/* f06841c: 24010004 */ addiu $at,$zero,0x4
/* f068420: 10410003 */ beq $v0,$at,.NB0f068430
/* f068424: 24010002 */ addiu $at,$zero,0x2
/* f068428: 14410003 */ bne $v0,$at,.NB0f068438
/* f06842c: 00003025 */ or $a2,$zero,$zero
.NB0f068430:
/* f068430: 10000001 */ beqz $zero,.NB0f068438
/* f068434: 8de60004 */ lw $a2,0x4($t7)
.NB0f068438:
/* f068438: 24010003 */ addiu $at,$zero,0x3
/* f06843c: 14410005 */ bne $v0,$at,.NB0f068454
/* f068440: 00000000 */ sll $zero,$zero,0x0
/* f068444: 8f020004 */ lw $v0,0x4($t8)
/* f068448: 9059032e */ lbu $t9,0x32e($v0)
/* f06844c: 332effdf */ andi $t6,$t9,0xffdf
/* f068450: a04e032e */ sb $t6,0x32e($v0)
.NB0f068454:
/* f068454: 10c0000b */ beqz $a2,.NB0f068484
/* f068458: 97a2007a */ lhu $v0,0x7a($sp)
/* f06845c: 8ccf0008 */ lw $t7,0x8($a2)
/* f068460: 240700ff */ addiu $a3,$zero,0xff
/* f068464: 31f80400 */ andi $t8,$t7,0x400
/* f068468: 53000007 */ beqzl $t8,.NB0f068488
/* f06846c: 00021a03 */ sra $v1,$v0,0x8
/* f068470: a2070000 */ sb $a3,0x0($s0)
/* f068474: a2070001 */ sb $a3,0x1($s0)
/* f068478: a2070002 */ sb $a3,0x2($s0)
/* f06847c: 10000011 */ beqz $zero,.NB0f0684c4
/* f068480: a2070003 */ sb $a3,0x3($s0)
.NB0f068484:
/* f068484: 00021a03 */ sra $v1,$v0,0x8
.NB0f068488:
/* f068488: 306e000f */ andi $t6,$v1,0xf
/* f06848c: 000e7900 */ sll $t7,$t6,0x4
/* f068490: 01eec025 */ or $t8,$t7,$t6
/* f068494: 00022103 */ sra $a0,$v0,0x4
/* f068498: 308e000f */ andi $t6,$a0,0xf
/* f06849c: a2180000 */ sb $t8,0x0($s0)
/* f0684a0: 000e7900 */ sll $t7,$t6,0x4
/* f0684a4: 01eec025 */ or $t8,$t7,$t6
/* f0684a8: 3059000f */ andi $t9,$v0,0xf
/* f0684ac: 00197100 */ sll $t6,$t9,0x4
/* f0684b0: 240700ff */ addiu $a3,$zero,0xff
/* f0684b4: 01d97825 */ or $t7,$t6,$t9
/* f0684b8: a2180001 */ sb $t8,0x1($s0)
/* f0684bc: a20f0002 */ sb $t7,0x2($s0)
/* f0684c0: a2070003 */ sb $a3,0x3($s0)
.NB0f0684c4:
/* f0684c4: 10c00005 */ beqz $a2,.NB0f0684dc
/* f0684c8: 8fa40070 */ lw $a0,0x70($sp)
/* f0684cc: 8cd80008 */ lw $t8,0x8($a2)
/* f0684d0: 33191000 */ andi $t9,$t8,0x1000
/* f0684d4: 57200064 */ bnezl $t9,.NB0f068668
/* f0684d8: 920a0002 */ lbu $t2,0x2($s0)
.NB0f0684dc:
/* f0684dc: 0fc1a092 */ jal func0f068fc8
/* f0684e0: 00002825 */ or $a1,$zero,$zero
/* f0684e4: 44822000 */ mtc1 $v0,$f4
/* f0684e8: 3c017f1a */ lui $at,0x7f1a
/* f0684ec: c42844f4 */ lwc1 $f8,0x44f4($at)
/* f0684f0: 468021a0 */ cvt.s.w $f6,$f4
/* f0684f4: 3c013f80 */ lui $at,0x3f80
/* f0684f8: 44818000 */ mtc1 $at,$f16
/* f0684fc: 8fae0070 */ lw $t6,0x70($sp)
/* f068500: afa20058 */ sw $v0,0x58($sp)
/* f068504: afa20054 */ sw $v0,0x54($sp)
/* f068508: 46083282 */ mul.s $f10,$f6,$f8
/* f06850c: afa20050 */ sw $v0,0x50($sp)
/* f068510: 27a50058 */ addiu $a1,$sp,0x58
/* f068514: 27a60054 */ addiu $a2,$sp,0x54
/* f068518: 27a70050 */ addiu $a3,$sp,0x50
/* f06851c: 460a8481 */ sub.s $f18,$f16,$f10
/* f068520: e7b2005c */ swc1 $f18,0x5c($sp)
/* f068524: 0fc60248 */ jal scenarioHighlightRoom
/* f068528: 85c40028 */ lh $a0,0x28($t6)
/* f06852c: 920f0000 */ lbu $t7,0x0($s0)
/* f068530: 8fb80058 */ lw $t8,0x58($sp)
/* f068534: 3c014f00 */ lui $at,0x4f00
/* f068538: 01f80019 */ multu $t7,$t8
/* f06853c: 920f0001 */ lbu $t7,0x1($s0)
/* f068540: 0000c812 */ mflo $t9
/* f068544: 00197203 */ sra $t6,$t9,0x8
/* f068548: a20e0000 */ sb $t6,0x0($s0)
/* f06854c: 8fb80054 */ lw $t8,0x54($sp)
/* f068550: 920c0000 */ lbu $t4,0x0($s0)
/* f068554: 01f80019 */ multu $t7,$t8
/* f068558: 920f0002 */ lbu $t7,0x2($s0)
/* f06855c: 0000c812 */ mflo $t9
/* f068560: 00197203 */ sra $t6,$t9,0x8
/* f068564: a20e0001 */ sb $t6,0x1($s0)
/* f068568: 8fb80050 */ lw $t8,0x50($sp)
/* f06856c: 920d0001 */ lbu $t5,0x1($s0)
/* f068570: 01f80019 */ multu $t7,$t8
/* f068574: 000cc080 */ sll $t8,$t4,0x2
/* f068578: 030cc021 */ addu $t8,$t8,$t4
/* f06857c: 0018c100 */ sll $t8,$t8,0x4
/* f068580: 030cc023 */ subu $t8,$t8,$t4
/* f068584: 0000c812 */ mflo $t9
/* f068588: 00197203 */ sra $t6,$t9,0x8
/* f06858c: 31ca00ff */ andi $t2,$t6,0xff
/* f068590: a20e0002 */ sb $t6,0x2($s0)
/* f068594: 000a7880 */ sll $t7,$t2,0x2
/* f068598: 01ea7821 */ addu $t7,$t7,$t2
/* f06859c: 000d7080 */ sll $t6,$t5,0x2
/* f0685a0: 000f7880 */ sll $t7,$t7,0x2
/* f0685a4: 01cd7021 */ addu $t6,$t6,$t5
/* f0685a8: 000e70c0 */ sll $t6,$t6,0x3
/* f0685ac: 01ea7821 */ addu $t7,$t7,$t2
/* f0685b0: 01f8c821 */ addu $t9,$t7,$t8
/* f0685b4: 01cd7023 */ subu $t6,$t6,$t5
/* f0685b8: 000e7080 */ sll $t6,$t6,0x2
/* f0685bc: 032e1021 */ addu $v0,$t9,$t6
/* f0685c0: 00027a03 */ sra $t7,$v0,0x8
/* f0685c4: 241800ff */ addiu $t8,$zero,0xff
/* f0685c8: 030fc823 */ subu $t9,$t8,$t7
/* f0685cc: 44992000 */ mtc1 $t9,$f4
/* f0685d0: c7a8005c */ lwc1 $f8,0x5c($sp)
/* f0685d4: 240f0001 */ addiu $t7,$zero,0x1
/* f0685d8: 468021a0 */ cvt.s.w $f6,$f4
/* f0685dc: 46083402 */ mul.s $f16,$f6,$f8
/* f0685e0: 444ef800 */ cfc1 $t6,$31
/* f0685e4: 44cff800 */ ctc1 $t7,$31
/* f0685e8: 00000000 */ sll $zero,$zero,0x0
/* f0685ec: 460082a4 */ cvt.w.s $f10,$f16
/* f0685f0: 444ff800 */ cfc1 $t7,$31
/* f0685f4: 00000000 */ sll $zero,$zero,0x0
/* f0685f8: 31ef0078 */ andi $t7,$t7,0x78
/* f0685fc: 51e00013 */ beqzl $t7,.NB0f06864c
/* f068600: 440f5000 */ mfc1 $t7,$f10
/* f068604: 44815000 */ mtc1 $at,$f10
/* f068608: 240f0001 */ addiu $t7,$zero,0x1
/* f06860c: 460a8281 */ sub.s $f10,$f16,$f10
/* f068610: 44cff800 */ ctc1 $t7,$31
/* f068614: 00000000 */ sll $zero,$zero,0x0
/* f068618: 460052a4 */ cvt.w.s $f10,$f10
/* f06861c: 444ff800 */ cfc1 $t7,$31
/* f068620: 00000000 */ sll $zero,$zero,0x0
/* f068624: 31ef0078 */ andi $t7,$t7,0x78
/* f068628: 15e00005 */ bnez $t7,.NB0f068640
/* f06862c: 00000000 */ sll $zero,$zero,0x0
/* f068630: 440f5000 */ mfc1 $t7,$f10
/* f068634: 3c018000 */ lui $at,0x8000
/* f068638: 10000007 */ beqz $zero,.NB0f068658
/* f06863c: 01e17825 */ or $t7,$t7,$at
.NB0f068640:
/* f068640: 10000005 */ beqz $zero,.NB0f068658
/* f068644: 240fffff */ addiu $t7,$zero,-1
/* f068648: 440f5000 */ mfc1 $t7,$f10
.NB0f06864c:
/* f06864c: 00000000 */ sll $zero,$zero,0x0
/* f068650: 05e0fffb */ bltz $t7,.NB0f068640
/* f068654: 00000000 */ sll $zero,$zero,0x0
.NB0f068658:
/* f068658: 44cef800 */ ctc1 $t6,$31
/* f06865c: 1000003e */ beqz $zero,.NB0f068758
/* f068660: a20f0003 */ sb $t7,0x3($s0)
/* f068664: 920a0002 */ lbu $t2,0x2($s0)
.NB0f068668:
/* f068668: 920c0000 */ lbu $t4,0x0($s0)
/* f06866c: 920d0001 */ lbu $t5,0x1($s0)
/* f068670: 000ac080 */ sll $t8,$t2,0x2
/* f068674: 000cc880 */ sll $t9,$t4,0x2
/* f068678: 030ac021 */ addu $t8,$t8,$t2
/* f06867c: 032cc821 */ addu $t9,$t9,$t4
/* f068680: 000d7880 */ sll $t7,$t5,0x2
/* f068684: 0019c900 */ sll $t9,$t9,0x4
/* f068688: 0018c080 */ sll $t8,$t8,0x2
/* f06868c: 01ed7821 */ addu $t7,$t7,$t5
/* f068690: 000f78c0 */ sll $t7,$t7,0x3
/* f068694: 030ac021 */ addu $t8,$t8,$t2
/* f068698: 032cc823 */ subu $t9,$t9,$t4
/* f06869c: 03197021 */ addu $t6,$t8,$t9
/* f0686a0: 01ed7823 */ subu $t7,$t7,$t5
/* f0686a4: 000f7880 */ sll $t7,$t7,0x2
/* f0686a8: 01cf1021 */ addu $v0,$t6,$t7
/* f0686ac: 0002c203 */ sra $t8,$v0,0x8
/* f0686b0: 241900ff */ addiu $t9,$zero,0xff
/* f0686b4: 03387023 */ subu $t6,$t9,$t8
/* f0686b8: 448e9000 */ mtc1 $t6,$f18
/* f0686bc: 3c017f1a */ lui $at,0x7f1a
/* f0686c0: c42644f8 */ lwc1 $f6,0x44f8($at)
/* f0686c4: 46809120 */ cvt.s.w $f4,$f18
/* f0686c8: 24180001 */ addiu $t8,$zero,0x1
/* f0686cc: 3c014f00 */ lui $at,0x4f00
/* f0686d0: 46062202 */ mul.s $f8,$f4,$f6
/* f0686d4: 444ff800 */ cfc1 $t7,$31
/* f0686d8: 44d8f800 */ ctc1 $t8,$31
/* f0686dc: 00000000 */ sll $zero,$zero,0x0
/* f0686e0: 46004424 */ cvt.w.s $f16,$f8
/* f0686e4: 4458f800 */ cfc1 $t8,$31
/* f0686e8: 00000000 */ sll $zero,$zero,0x0
/* f0686ec: 33180078 */ andi $t8,$t8,0x78
/* f0686f0: 53000013 */ beqzl $t8,.NB0f068740
/* f0686f4: 44188000 */ mfc1 $t8,$f16
/* f0686f8: 44818000 */ mtc1 $at,$f16
/* f0686fc: 24180001 */ addiu $t8,$zero,0x1
/* f068700: 46104401 */ sub.s $f16,$f8,$f16
/* f068704: 44d8f800 */ ctc1 $t8,$31
/* f068708: 00000000 */ sll $zero,$zero,0x0
/* f06870c: 46008424 */ cvt.w.s $f16,$f16
/* f068710: 4458f800 */ cfc1 $t8,$31
/* f068714: 00000000 */ sll $zero,$zero,0x0
/* f068718: 33180078 */ andi $t8,$t8,0x78
/* f06871c: 17000005 */ bnez $t8,.NB0f068734
/* f068720: 00000000 */ sll $zero,$zero,0x0
/* f068724: 44188000 */ mfc1 $t8,$f16
/* f068728: 3c018000 */ lui $at,0x8000
/* f06872c: 10000007 */ beqz $zero,.NB0f06874c
/* f068730: 0301c025 */ or $t8,$t8,$at
.NB0f068734:
/* f068734: 10000005 */ beqz $zero,.NB0f06874c
/* f068738: 2418ffff */ addiu $t8,$zero,-1
/* f06873c: 44188000 */ mfc1 $t8,$f16
.NB0f068740:
/* f068740: 00000000 */ sll $zero,$zero,0x0
/* f068744: 0700fffb */ bltz $t8,.NB0f068734
/* f068748: 00000000 */ sll $zero,$zero,0x0
.NB0f06874c:
/* f06874c: 44cff800 */ ctc1 $t7,$31
/* f068750: a2180003 */ sb $t8,0x3($s0)
/* f068754: 00000000 */ sll $zero,$zero,0x0
.NB0f068758:
/* f068758: 018d082a */ slt $at,$t4,$t5
/* f06875c: 00001025 */ or $v0,$zero,$zero
/* f068760: 10200003 */ beqz $at,.NB0f068770
/* f068764: 00005825 */ or $t3,$zero,$zero
/* f068768: 10000002 */ beqz $zero,.NB0f068774
/* f06876c: 24020001 */ addiu $v0,$zero,0x1
.NB0f068770:
/* f068770: 240b0001 */ addiu $t3,$zero,0x1
.NB0f068774:
/* f068774: 02024821 */ addu $t1,$s0,$v0
/* f068778: 91260000 */ lbu $a2,0x0($t1)
/* f06877c: 00402825 */ or $a1,$v0,$zero
/* f068780: 020bc821 */ addu $t9,$s0,$t3
/* f068784: 00ca082a */ slt $at,$a2,$t2
/* f068788: 50200005 */ beqzl $at,.NB0f0687a0
/* f06878c: 932e0000 */ lbu $t6,0x0($t9)
/* f068790: 26090002 */ addiu $t1,$s0,0x2
/* f068794: 10000009 */ beqz $zero,.NB0f0687bc
/* f068798: 91260000 */ lbu $a2,0x0($t1)
/* f06879c: 932e0000 */ lbu $t6,0x0($t9)
.NB0f0687a0:
/* f0687a0: 01602825 */ or $a1,$t3,$zero
/* f0687a4: 01ca082a */ slt $at,$t6,$t2
/* f0687a8: 50200004 */ beqzl $at,.NB0f0687bc
/* f0687ac: 240b0002 */ addiu $t3,$zero,0x2
/* f0687b0: 10000002 */ beqz $zero,.NB0f0687bc
/* f0687b4: 24050002 */ addiu $a1,$zero,0x2
/* f0687b8: 240b0002 */ addiu $t3,$zero,0x2
.NB0f0687bc:
/* f0687bc: 18c0001b */ blez $a2,.NB0f06882c
/* f0687c0: 02051821 */ addu $v1,$s0,$a1
/* f0687c4: 020b1021 */ addu $v0,$s0,$t3
/* f0687c8: 904f0000 */ lbu $t7,0x0($v0)
/* f0687cc: 90780000 */ lbu $t8,0x0($v1)
/* f0687d0: a0400000 */ sb $zero,0x0($v0)
/* f0687d4: 00cf2023 */ subu $a0,$a2,$t7
/* f0687d8: 03040019 */ multu $t8,$a0
/* f0687dc: 00804025 */ or $t0,$a0,$zero
/* f0687e0: 0000c812 */ mflo $t9
/* f0687e4: 00000000 */ sll $zero,$zero,0x0
/* f0687e8: 00000000 */ sll $zero,$zero,0x0
/* f0687ec: 0326001a */ div $zero,$t9,$a2
/* f0687f0: 00003812 */ mflo $a3
/* f0687f4: a0670000 */ sb $a3,0x0($v1)
/* f0687f8: a1240000 */ sb $a0,0x0($t1)
/* f0687fc: 14c00002 */ bnez $a2,.NB0f068808
/* f068800: 00000000 */ sll $zero,$zero,0x0
/* f068804: 0007000d */ break 0x7
.NB0f068808:
/* f068808: 2401ffff */ addiu $at,$zero,-1
/* f06880c: 14c10004 */ bne $a2,$at,.NB0f068820
/* f068810: 3c018000 */ lui $at,0x8000
/* f068814: 17210002 */ bne $t9,$at,.NB0f068820
/* f068818: 00000000 */ sll $zero,$zero,0x0
/* f06881c: 0006000d */ break 0x6
.NB0f068820:
/* f068820: 920a0002 */ lbu $t2,0x2($s0)
/* f068824: 920d0001 */ lbu $t5,0x1($s0)
/* f068828: 920c0000 */ lbu $t4,0x0($s0)
.NB0f06882c:
/* f06882c: 000c7042 */ srl $t6,$t4,0x1
/* f068830: 000d7842 */ srl $t7,$t5,0x1
/* f068834: 000ac042 */ srl $t8,$t2,0x1
/* f068838: a20e0000 */ sb $t6,0x0($s0)
/* f06883c: a20f0001 */ sb $t7,0x1($s0)
/* f068840: a2180002 */ sb $t8,0x2($s0)
/* f068844: 3c198007 */ lui $t9,0x8007
/* f068848: 8f39c078 */ lw $t9,-0x3f88($t9)
/* f06884c: 3c0e8007 */ lui $t6,0x8007
/* f068850: 3c0f8007 */ lui $t7,0x8007
/* f068854: 17200004 */ bnez $t9,.NB0f068868
/* f068858: 3c028007 */ lui $v0,0x8007
/* f06885c: 8dcec07c */ lw $t6,-0x3f84($t6)
/* f068860: 51c0000a */ beqzl $t6,.NB0f06888c
/* f068864: 8fbf001c */ lw $ra,0x1c($sp)
.NB0f068868:
/* f068868: 9042c07b */ lbu $v0,-0x3f85($v0)
/* f06886c: 8defc078 */ lw $t7,-0x3f88($t7)
/* f068870: 3c188007 */ lui $t8,0x8007
/* f068874: a2020000 */ sb $v0,0x0($s0)
/* f068878: a2020001 */ sb $v0,0x1($s0)
/* f06887c: a20f0002 */ sb $t7,0x2($s0)
/* f068880: 8f18c07c */ lw $t8,-0x3f84($t8)
/* f068884: a2180003 */ sb $t8,0x3($s0)
/* f068888: 8fbf001c */ lw $ra,0x1c($sp)
.NB0f06888c:
/* f06888c: 8fb00018 */ lw $s0,0x18($sp)
/* f068890: 27bd0070 */ addiu $sp,$sp,0x70
/* f068894: 03e00008 */ jr $ra
/* f068898: 00000000 */ sll $zero,$zero,0x0
);
#endif
void func0f069630(struct prop *prop, u8 *nextcol, u16 floorcol)
{
func0f069144(prop, nextcol, floorcol);
nextcol[0] >>= 1;
nextcol[1] >>= 1;
nextcol[2] >>= 1;
if (prop->type == PROPTYPE_DOOR && (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0)) {
struct doorobj *door = prop->door;
if (g_Vars.currentplayernum == 0) {
door->shadeinfo1[0] = nextcol[0];
door->shadeinfo1[1] = nextcol[1];
door->shadeinfo1[2] = nextcol[2];
door->shadeinfo1[3] = nextcol[3];
} else {
door->shadeinfo2[0] = nextcol[0];
door->shadeinfo2[1] = nextcol[1];
door->shadeinfo2[2] = nextcol[2];
door->shadeinfo2[3] = nextcol[3];
}
}
}
/**
* Shift shadecol to be closer to nextcol.
*
* It works by moving halfway towards the nextcol colour each time it's called.
*/
void colourTween(u8 *col, u8 *nextcol)
{
s32 i;
for (i = 0; i < 4; i++) {
s32 remaining = nextcol[i] - col[i];
s32 newcol = col[i] + (remaining >> 1);
col[i] = newcol;
}
}
GLOBAL_ASM(
glabel func0f069750
/* f069750: 24010001 */ addiu $at,$zero,0x1
/* f069754: 14a1003c */ bne $a1,$at,.L0f069848
/* f069758: 3c01437f */ lui $at,0x437f
/* f06975c: 44811000 */ mtc1 $at,$f2
/* f069760: c4c40000 */ lwc1 $f4,0x0($a2)
/* f069764: c4c80004 */ lwc1 $f8,0x4($a2)
/* f069768: c4d00008 */ lwc1 $f16,0x8($a2)
/* f06976c: 46022182 */ mul.s $f6,$f4,$f2
/* f069770: 00000000 */ nop
/* f069774: 46024282 */ mul.s $f10,$f8,$f2
/* f069778: 00000000 */ nop
/* f06977c: 46028482 */ mul.s $f18,$f16,$f2
/* f069780: e4c60000 */ swc1 $f6,0x0($a2)
/* f069784: c4c80000 */ lwc1 $f8,0x0($a2)
/* f069788: c4c6000c */ lwc1 $f6,0xc($a2)
/* f06978c: e4ca0004 */ swc1 $f10,0x4($a2)
/* f069790: e4d20008 */ swc1 $f18,0x8($a2)
/* f069794: 8c8e0000 */ lw $t6,0x0($a0)
/* f069798: 8c990004 */ lw $t9,0x4($a0)
/* f06979c: 8c8a0008 */ lw $t2,0x8($a0)
/* f0697a0: 448e2000 */ mtc1 $t6,$f4
/* f0697a4: 8c8d000c */ lw $t5,0xc($a0)
/* f0697a8: 46802020 */ cvt.s.w $f0,$f4
/* f0697ac: 46004281 */ sub.s $f10,$f8,$f0
/* f0697b0: 44994000 */ mtc1 $t9,$f8
/* f0697b4: 460a3402 */ mul.s $f16,$f6,$f10
/* f0697b8: 46008480 */ add.s $f18,$f16,$f0
/* f0697bc: 46804020 */ cvt.s.w $f0,$f8
/* f0697c0: 4600910d */ trunc.w.s $f4,$f18
/* f0697c4: 44182000 */ mfc1 $t8,$f4
/* f0697c8: 00000000 */ nop
/* f0697cc: ac980000 */ sw $t8,0x0($a0)
/* f0697d0: c4ca0004 */ lwc1 $f10,0x4($a2)
/* f0697d4: c4c6000c */ lwc1 $f6,0xc($a2)
/* f0697d8: 46005401 */ sub.s $f16,$f10,$f0
/* f0697dc: 448a5000 */ mtc1 $t2,$f10
/* f0697e0: 46103482 */ mul.s $f18,$f6,$f16
/* f0697e4: 46009100 */ add.s $f4,$f18,$f0
/* f0697e8: 46805020 */ cvt.s.w $f0,$f10
/* f0697ec: 4600220d */ trunc.w.s $f8,$f4
/* f0697f0: 44094000 */ mfc1 $t1,$f8
/* f0697f4: 00000000 */ nop
/* f0697f8: ac890004 */ sw $t1,0x4($a0)
/* f0697fc: c4d00008 */ lwc1 $f16,0x8($a2)
/* f069800: c4c6000c */ lwc1 $f6,0xc($a2)
/* f069804: 46008481 */ sub.s $f18,$f16,$f0
/* f069808: 448d8000 */ mtc1 $t5,$f16
/* f06980c: 46123102 */ mul.s $f4,$f6,$f18
/* f069810: 46002200 */ add.s $f8,$f4,$f0
/* f069814: 46808020 */ cvt.s.w $f0,$f16
/* f069818: 4600428d */ trunc.w.s $f10,$f8
/* f06981c: 46001481 */ sub.s $f18,$f2,$f0
/* f069820: 440c5000 */ mfc1 $t4,$f10
/* f069824: 00000000 */ nop
/* f069828: ac8c0008 */ sw $t4,0x8($a0)
/* f06982c: c4c6000c */ lwc1 $f6,0xc($a2)
/* f069830: 46123102 */ mul.s $f4,$f6,$f18
/* f069834: 46002200 */ add.s $f8,$f4,$f0
/* f069838: 4600428d */ trunc.w.s $f10,$f8
/* f06983c: 440f5000 */ mfc1 $t7,$f10
/* f069840: 00000000 */ nop
/* f069844: ac8f000c */ sw $t7,0xc($a0)
.L0f069848:
/* f069848: 03e00008 */ jr $ra
/* f06984c: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f069850
/* f069850: 27bdff88 */ addiu $sp,$sp,-120
/* f069854: afbf001c */ sw $ra,0x1c($sp)
/* f069858: afb10018 */ sw $s1,0x18($sp)
/* f06985c: afb00014 */ sw $s0,0x14($sp)
/* f069860: 00808025 */ or $s0,$a0,$zero
/* f069864: 00e08825 */ or $s1,$a3,$zero
/* f069868: afa5007c */ sw $a1,0x7c($sp)
/* f06986c: 0fc1a2bd */ jal objFindBboxRodata
/* f069870: afa60080 */ sw $a2,0x80($sp)
/* f069874: afa20034 */ sw $v0,0x34($sp)
/* f069878: afa00030 */ sw $zero,0x30($sp)
/* f06987c: 8fa40080 */ lw $a0,0x80($sp)
/* f069880: 0c005755 */ jal mtx3ToMtx4
/* f069884: 27a50038 */ addiu $a1,$sp,0x38
/* f069888: 8fa4007c */ lw $a0,0x7c($sp)
/* f06988c: 0c005775 */ jal mtx4SetTranslation
/* f069890: 27a50038 */ addiu $a1,$sp,0x38
/* f069894: 8e0e0018 */ lw $t6,0x18($s0)
/* f069898: 3c0f8008 */ lui $t7,%hi(g_SkelHoverbike)
/* f06989c: 25efaf3c */ addiu $t7,$t7,%lo(g_SkelHoverbike)
/* f0698a0: 8dc40008 */ lw $a0,0x8($t6)
/* f0698a4: 3c188008 */ lui $t8,%hi(g_SkelBasic)
/* f0698a8: 2718c06c */ addiu $t8,$t8,%lo(g_SkelBasic)
/* f0698ac: 8c820004 */ lw $v0,0x4($a0)
/* f0698b0: 11e20009 */ beq $t7,$v0,.L0f0698d8
/* f0698b4: 00000000 */ nop
/* f0698b8: 13020007 */ beq $t8,$v0,.L0f0698d8
/* f0698bc: 3c198008 */ lui $t9,%hi(g_SkelMaianUfo)
/* f0698c0: 2739afc8 */ addiu $t9,$t9,%lo(g_SkelMaianUfo)
/* f0698c4: 13220004 */ beq $t9,$v0,.L0f0698d8
/* f0698c8: 3c088008 */ lui $t0,%hi(g_SkelDropship)
/* f0698cc: 2508adf0 */ addiu $t0,$t0,%lo(g_SkelDropship)
/* f0698d0: 55020005 */ bnel $t0,$v0,.L0f0698e8
/* f0698d4: 8e090010 */ lw $t1,0x10($s0)
.L0f0698d8:
/* f0698d8: 0c006a6f */ jal modelGetPartRodata
/* f0698dc: 24050064 */ addiu $a1,$zero,0x64
/* f0698e0: afa20030 */ sw $v0,0x30($sp)
/* f0698e4: 8e090010 */ lw $t1,0x10($s0)
.L0f0698e8:
/* f0698e8: 8fa40030 */ lw $a0,0x30($sp)
/* f0698ec: 240b0003 */ addiu $t3,$zero,0x3
/* f0698f0: 00095180 */ sll $t2,$t1,0x6
/* f0698f4: 0541004f */ bgez $t2,.L0f069a34
/* f0698f8: 240c001c */ addiu $t4,$zero,0x1c
/* f0698fc: a22b0000 */ sb $t3,0x0($s1)
/* f069900: a62c0002 */ sh $t4,0x2($s1)
/* f069904: 92020003 */ lbu $v0,0x3($s0)
/* f069908: 24010033 */ addiu $at,$zero,0x33
/* f06990c: 5441001a */ bnel $v0,$at,.L0f069978
/* f069910: 24010035 */ addiu $at,$zero,0x35
/* f069914: 0fc199f1 */ jal func0f0667c4
/* f069918: 8fa40034 */ lw $a0,0x34($sp)
/* f06991c: 920d005c */ lbu $t5,0x5c($s0)
/* f069920: 8e0f0018 */ lw $t7,0x18($s0)
/* f069924: 3c018007 */ lui $at,%hi(var80069a70)
/* f069928: 000d7080 */ sll $t6,$t5,0x2
/* f06992c: 01cd7023 */ subu $t6,$t6,$t5
/* f069930: 000e7080 */ sll $t6,$t6,0x2
/* f069934: c5ea0014 */ lwc1 $f10,0x14($t7)
/* f069938: 01cd7021 */ addu $t6,$t6,$t5
/* f06993c: 000e7080 */ sll $t6,$t6,0x2
/* f069940: 002e0821 */ addu $at,$at,$t6
/* f069944: 460a0402 */ mul.s $f16,$f0,$f10
/* f069948: c4269a70 */ lwc1 $f6,%lo(var80069a70)($at)
/* f06994c: c6040090 */ lwc1 $f4,0x90($s0)
/* f069950: 3c0141a0 */ lui $at,0x41a0
/* f069954: 46062200 */ add.s $f8,$f4,$f6
/* f069958: 44813000 */ mtc1 $at,$f6
/* f06995c: 46088480 */ add.s $f18,$f16,$f8
/* f069960: e6320004 */ swc1 $f18,0x4($s1)
/* f069964: c6040090 */ lwc1 $f4,0x90($s0)
/* f069968: 46062280 */ add.s $f10,$f4,$f6
/* f06996c: 10000027 */ b .L0f069a0c
/* f069970: e62a0008 */ swc1 $f10,0x8($s1)
/* f069974: 24010035 */ addiu $at,$zero,0x35
.L0f069978:
/* f069978: 14410019 */ bne $v0,$at,.L0f0699e0
/* f06997c: 8fa40034 */ lw $a0,0x34($sp)
/* f069980: 0fc199f1 */ jal func0f0667c4
/* f069984: 8fa40034 */ lw $a0,0x34($sp)
/* f069988: 9218005c */ lbu $t8,0x5c($s0)
/* f06998c: 8e080018 */ lw $t0,0x18($s0)
/* f069990: 3c018007 */ lui $at,%hi(var80069a70)
/* f069994: 0018c880 */ sll $t9,$t8,0x2
/* f069998: 0338c823 */ subu $t9,$t9,$t8
/* f06999c: 0019c880 */ sll $t9,$t9,0x2
/* f0699a0: c5040014 */ lwc1 $f4,0x14($t0)
/* f0699a4: 0338c821 */ addu $t9,$t9,$t8
/* f0699a8: 0019c880 */ sll $t9,$t9,0x2
/* f0699ac: 00390821 */ addu $at,$at,$t9
/* f0699b0: 46040182 */ mul.s $f6,$f0,$f4
/* f0699b4: c4289a70 */ lwc1 $f8,%lo(var80069a70)($at)
/* f0699b8: c6100090 */ lwc1 $f16,0x90($s0)
/* f0699bc: 3c0141a0 */ lui $at,0x41a0
/* f0699c0: 46088480 */ add.s $f18,$f16,$f8
/* f0699c4: 44814000 */ mtc1 $at,$f8
/* f0699c8: 46123280 */ add.s $f10,$f6,$f18
/* f0699cc: e62a0004 */ swc1 $f10,0x4($s1)
/* f0699d0: c6100090 */ lwc1 $f16,0x90($s0)
/* f0699d4: 46088100 */ add.s $f4,$f16,$f8
/* f0699d8: 1000000c */ b .L0f069a0c
/* f0699dc: e6240008 */ swc1 $f4,0x8($s1)
.L0f0699e0:
/* f0699e0: 0fc19a0f */ jal func0f06683c
/* f0699e4: 27a50038 */ addiu $a1,$sp,0x38
/* f0699e8: c7a6006c */ lwc1 $f6,0x6c($sp)
/* f0699ec: 27a50038 */ addiu $a1,$sp,0x38
/* f0699f0: 46060480 */ add.s $f18,$f0,$f6
/* f0699f4: e6320008 */ swc1 $f18,0x8($s1)
/* f0699f8: 0fc19a1b */ jal func0f06686c
/* f0699fc: 8fa40034 */ lw $a0,0x34($sp)
/* f069a00: c7aa006c */ lwc1 $f10,0x6c($sp)
/* f069a04: 460a0400 */ add.s $f16,$f0,$f10
/* f069a08: e6300004 */ swc1 $f16,0x4($s1)
.L0f069a0c:
/* f069a0c: 8fa9007c */ lw $t1,0x7c($sp)
/* f069a10: 3c0142b4 */ lui $at,0x42b4
/* f069a14: 44813000 */ mtc1 $at,$f6
/* f069a18: c5280000 */ lwc1 $f8,0x0($t1)
/* f069a1c: e628000c */ swc1 $f8,0xc($s1)
/* f069a20: 8faa007c */ lw $t2,0x7c($sp)
/* f069a24: c5440008 */ lwc1 $f4,0x8($t2)
/* f069a28: e6260014 */ swc1 $f6,0x14($s1)
/* f069a2c: 10000042 */ b .L0f069b38
/* f069a30: e6240010 */ swc1 $f4,0x10($s1)
.L0f069a34:
/* f069a34: 10800007 */ beqz $a0,.L0f069a54
/* f069a38: 27a50038 */ addiu $a1,$sp,0x38
/* f069a3c: 8fa50034 */ lw $a1,0x34($sp)
/* f069a40: 27a60038 */ addiu $a2,$sp,0x38
/* f069a44: 0fc19d2f */ jal func0f0674bc
/* f069a48: 02203825 */ or $a3,$s1,$zero
/* f069a4c: 10000005 */ b .L0f069a64
/* f069a50: 92020003 */ lbu $v0,0x3($s0)
.L0f069a54:
/* f069a54: 8fa40034 */ lw $a0,0x34($sp)
/* f069a58: 0fc19d09 */ jal func0f067424
/* f069a5c: 02203025 */ or $a2,$s1,$zero
/* f069a60: 92020003 */ lbu $v0,0x3($s0)
.L0f069a64:
/* f069a64: 24010033 */ addiu $at,$zero,0x33
/* f069a68: 5441001a */ bnel $v0,$at,.L0f069ad4
/* f069a6c: 24010035 */ addiu $at,$zero,0x35
/* f069a70: 0fc199f1 */ jal func0f0667c4
/* f069a74: 8fa40034 */ lw $a0,0x34($sp)
/* f069a78: 920b005c */ lbu $t3,0x5c($s0)
/* f069a7c: 8e0d0018 */ lw $t5,0x18($s0)
/* f069a80: 3c018007 */ lui $at,%hi(var80069a70)
/* f069a84: 000b6080 */ sll $t4,$t3,0x2
/* f069a88: 018b6023 */ subu $t4,$t4,$t3
/* f069a8c: 000c6080 */ sll $t4,$t4,0x2
/* f069a90: c5a80014 */ lwc1 $f8,0x14($t5)
/* f069a94: 018b6021 */ addu $t4,$t4,$t3
/* f069a98: 000c6080 */ sll $t4,$t4,0x2
/* f069a9c: 002c0821 */ addu $at,$at,$t4
/* f069aa0: 46080102 */ mul.s $f4,$f0,$f8
/* f069aa4: c42a9a70 */ lwc1 $f10,%lo(var80069a70)($at)
/* f069aa8: c6120090 */ lwc1 $f18,0x90($s0)
/* f069aac: 3c0141a0 */ lui $at,0x41a0
/* f069ab0: 460a9400 */ add.s $f16,$f18,$f10
/* f069ab4: 44815000 */ mtc1 $at,$f10
/* f069ab8: 46102180 */ add.s $f6,$f4,$f16
/* f069abc: e6260004 */ swc1 $f6,0x4($s1)
/* f069ac0: c6120090 */ lwc1 $f18,0x90($s0)
/* f069ac4: 460a9200 */ add.s $f8,$f18,$f10
/* f069ac8: 1000001b */ b .L0f069b38
/* f069acc: e6280008 */ swc1 $f8,0x8($s1)
/* f069ad0: 24010035 */ addiu $at,$zero,0x35
.L0f069ad4:
/* f069ad4: 54410019 */ bnel $v0,$at,.L0f069b3c
/* f069ad8: 8fbf001c */ lw $ra,0x1c($sp)
/* f069adc: 0fc199f1 */ jal func0f0667c4
/* f069ae0: 8fa40034 */ lw $a0,0x34($sp)
/* f069ae4: 920e005c */ lbu $t6,0x5c($s0)
/* f069ae8: 8e180018 */ lw $t8,0x18($s0)
/* f069aec: 3c018007 */ lui $at,%hi(var80069a70)
/* f069af0: 000e7880 */ sll $t7,$t6,0x2
/* f069af4: 01ee7823 */ subu $t7,$t7,$t6
/* f069af8: 000f7880 */ sll $t7,$t7,0x2
/* f069afc: c7120014 */ lwc1 $f18,0x14($t8)
/* f069b00: 01ee7821 */ addu $t7,$t7,$t6
/* f069b04: 000f7880 */ sll $t7,$t7,0x2
/* f069b08: 002f0821 */ addu $at,$at,$t7
/* f069b0c: 46120282 */ mul.s $f10,$f0,$f18
/* f069b10: c4309a70 */ lwc1 $f16,%lo(var80069a70)($at)
/* f069b14: c6040090 */ lwc1 $f4,0x90($s0)
/* f069b18: 3c0141a0 */ lui $at,0x41a0
/* f069b1c: 46102180 */ add.s $f6,$f4,$f16
/* f069b20: 44818000 */ mtc1 $at,$f16
/* f069b24: 46065200 */ add.s $f8,$f10,$f6
/* f069b28: e6280004 */ swc1 $f8,0x4($s1)
/* f069b2c: c6040090 */ lwc1 $f4,0x90($s0)
/* f069b30: 46102480 */ add.s $f18,$f4,$f16
/* f069b34: e6320008 */ swc1 $f18,0x8($s1)
.L0f069b38:
/* f069b38: 8fbf001c */ lw $ra,0x1c($sp)
.L0f069b3c:
/* f069b3c: 8fb00014 */ lw $s0,0x14($sp)
/* f069b40: 8fb10018 */ lw $s1,0x18($sp)
/* f069b44: 03e00008 */ jr $ra
/* f069b48: 27bd0078 */ addiu $sp,$sp,0x78
);
void func0f069b4c(struct defaultobj *obj)
{
union modelrodata *rodata;
u8 *ptr = (u8 *) obj->unkgeo;
if (ptr != NULL) {
if ((obj->hidden2 & OBJH2FLAG_08)) {
if (obj->flags3 & OBJFLAG3_GEOTYPE3) {
ptr += sizeof(struct tiletype3);
} else {
ptr += sizeof(struct tiletype2);
}
}
rodata = modelGetPartRodata(obj->model->filedata, MODELPART_0065);
if (rodata != NULL) {
s32 uVar3 = 3;
if (obj->type == OBJTYPE_ESCASTEP) {
uVar3 = 0x23;
}
func0f070ca0(obj, ptr, uVar3, NULL, rodata);
ptr += 0x40;
}
rodata = modelGetPartRodata(obj->model->filedata, MODELPART_0066);
if (rodata != NULL) {
func0f070ca0(obj, ptr, 0x1c, NULL, rodata);
}
}
}
void func0f069c1c(struct defaultobj *obj)
{
if (obj->geo3) {
if (obj->hidden2 & OBJH2FLAG_08) {
func0f069850(obj, &obj->prop->pos, obj->realrot, obj->geo3);
}
func0f069b4c(obj);
}
}
void func0f069c70(struct defaultobj *obj, bool arg1, bool arg2)
{
struct prop *prop;
if (arg1) {
func0f069c1c(obj);
}
if (arg2) {
func0f0923d4(obj);
}
prop = obj->prop;
func0f069630(prop, obj->nextcol, obj->floorcol);
coordTriggerProxies(&obj->prop->pos, false);
}
/**
* Iterate the model parts in range 201 to 220 (0xc9 to 0xdc) and disable them,
* stopping when any part doesn't exist.
*
* This range of part numbers is a special range that is hidden when the object
* is initialised.
*/
void objInitToggleNodes(struct defaultobj *obj)
{
struct model *model = obj->model;
union modelrwdata *rwdata;
s32 i;
for (i = 0; i < 20; i++) {
struct modelnode *node = modelGetPart(model->filedata, 201 + i);
if (!node) {
return;
}
rwdata = modelGetNodeRwData(model, node);
rwdata->toggle.visible = false;
}
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f069d38
.late_rodata
glabel var7f1aa1dc
.word 0x40555555
glabel var7f1aa1e0
.word 0x40d55555
glabel var7f1aa1e4
.word 0x40555555
glabel var7f1aa1e8
.word 0x3d713c65
glabel var7f1aa1ec
.word 0x3cf13c65
glabel var7f1aa1f0
.word 0x3d713c65
glabel var7f1aa1f4
.word 0x3cf13c65
glabel var7f1aa1f8
.word 0x3d713c65
glabel var7f1aa1fc
.word 0x3cf13c65
.text
/* f069d38: 27bdff58 */ addiu $sp,$sp,-168
/* f069d3c: afbf001c */ sw $ra,0x1c($sp)
/* f069d40: afb00018 */ sw $s0,0x18($sp)
/* f069d44: afa400a8 */ sw $a0,0xa8($sp)
/* f069d48: afa500ac */ sw $a1,0xac($sp)
/* f069d4c: 0fc22a23 */ jal func0f08a88c
/* f069d50: afa600b0 */ sw $a2,0xb0($sp)
/* f069d54: 10400101 */ beqz $v0,.L0f06a15c
/* f069d58: 00408025 */ or $s0,$v0,$zero
/* f069d5c: 3c0e8007 */ lui $t6,%hi(var80069980)
/* f069d60: 27a20048 */ addiu $v0,$sp,0x48
/* f069d64: 25ce9980 */ addiu $t6,$t6,%lo(var80069980)
/* f069d68: 25d80054 */ addiu $t8,$t6,0x54
/* f069d6c: 0040c825 */ or $t9,$v0,$zero
.L0f069d70:
/* f069d70: 8dc10000 */ lw $at,0x0($t6)
/* f069d74: 25ce000c */ addiu $t6,$t6,0xc
/* f069d78: 2739000c */ addiu $t9,$t9,0xc
/* f069d7c: af21fff4 */ sw $at,-0xc($t9)
/* f069d80: 8dc1fff8 */ lw $at,-0x8($t6)
/* f069d84: af21fff8 */ sw $at,-0x8($t9)
/* f069d88: 8dc1fffc */ lw $at,-0x4($t6)
/* f069d8c: 15d8fff8 */ bne $t6,$t8,.L0f069d70
/* f069d90: af21fffc */ sw $at,-0x4($t9)
/* f069d94: 8dc10000 */ lw $at,0x0($t6)
/* f069d98: 00405025 */ or $t2,$v0,$zero
/* f069d9c: 02005825 */ or $t3,$s0,$zero
/* f069da0: af210000 */ sw $at,0x0($t9)
/* f069da4: 8dd80004 */ lw $t8,0x4($t6)
/* f069da8: 24490054 */ addiu $t1,$v0,0x54
/* f069dac: af380004 */ sw $t8,0x4($t9)
.L0f069db0:
/* f069db0: 8d410000 */ lw $at,0x0($t2)
/* f069db4: 254a000c */ addiu $t2,$t2,0xc
/* f069db8: 256b000c */ addiu $t3,$t3,0xc
/* f069dbc: ad61fff4 */ sw $at,-0xc($t3)
/* f069dc0: 8d41fff8 */ lw $at,-0x8($t2)
/* f069dc4: ad61fff8 */ sw $at,-0x8($t3)
/* f069dc8: 8d41fffc */ lw $at,-0x4($t2)
/* f069dcc: 1549fff8 */ bne $t2,$t1,.L0f069db0
/* f069dd0: ad61fffc */ sw $at,-0x4($t3)
/* f069dd4: 8d410000 */ lw $at,0x0($t2)
/* f069dd8: 3c058008 */ lui $a1,%hi(g_ModelStates)
/* f069ddc: 02002025 */ or $a0,$s0,$zero
/* f069de0: ad610000 */ sw $at,0x0($t3)
/* f069de4: 8d490004 */ lw $t1,0x4($t2)
/* f069de8: ad690004 */ sw $t1,0x4($t3)
/* f069dec: 8fac00a8 */ lw $t4,0xa8($sp)
/* f069df0: 858d0004 */ lh $t5,0x4($t4)
/* f069df4: a60d0004 */ sh $t5,0x4($s0)
/* f069df8: 860f0004 */ lh $t7,0x4($s0)
/* f069dfc: 000fc0c0 */ sll $t8,$t7,0x3
/* f069e00: 00b82821 */ addu $a1,$a1,$t8
/* f069e04: 0fc1a94b */ jal objInitWithModelDef
/* f069e08: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
/* f069e0c: 104000d3 */ beqz $v0,.L0f06a15c
/* f069e10: 8fae00a8 */ lw $t6,0xa8($sp)
/* f069e14: 8e040014 */ lw $a0,0x14($s0)
/* f069e18: 0fc181a6 */ jal propReparent
/* f069e1c: 8dc50014 */ lw $a1,0x14($t6)
/* f069e20: 8e040014 */ lw $a0,0x14($s0)
/* f069e24: 0fc20a59 */ jal objSetDropped
/* f069e28: 24050005 */ addiu $a1,$zero,0x5
/* f069e2c: 8e190040 */ lw $t9,0x40($s0)
/* f069e30: 8fa200b0 */ lw $v0,0xb0($sp)
/* f069e34: 33280080 */ andi $t0,$t9,0x80
/* f069e38: 510000a4 */ beqzl $t0,.L0f06a0cc
/* f069e3c: 8fa900a8 */ lw $t1,0xa8($sp)
/* f069e40: 8e090048 */ lw $t1,0x48($s0)
/* f069e44: 3c0b8007 */ lui $t3,%hi(var800699dc)
/* f069e48: 256b99dc */ addiu $t3,$t3,%lo(var800699dc)
/* f069e4c: afa9003c */ sw $t1,0x3c($sp)
/* f069e50: 8d610000 */ lw $at,0x0($t3)
/* f069e54: 27aa0030 */ addiu $t2,$sp,0x30
/* f069e58: 8d6f0004 */ lw $t7,0x4($t3)
/* f069e5c: ad410000 */ sw $at,0x0($t2)
/* f069e60: 8d610008 */ lw $at,0x8($t3)
/* f069e64: ad4f0004 */ sw $t7,0x4($t2)
/* f069e68: 44805000 */ mtc1 $zero,$f10
/* f069e6c: ad410008 */ sw $at,0x8($t2)
/* f069e70: 8fb800a8 */ lw $t8,0xa8($sp)
/* f069e74: c4460008 */ lwc1 $f6,0x8($v0)
/* f069e78: 8f0e0014 */ lw $t6,0x14($t8)
/* f069e7c: c5c40008 */ lwc1 $f4,0x8($t6)
/* f069e80: e7aa0028 */ swc1 $f10,0x28($sp)
/* f069e84: 46062201 */ sub.s $f8,$f4,$f6
/* f069e88: e7a80024 */ swc1 $f8,0x24($sp)
/* f069e8c: 8f190014 */ lw $t9,0x14($t8)
/* f069e90: c4520010 */ lwc1 $f18,0x10($v0)
/* f069e94: c7300010 */ lwc1 $f16,0x10($t9)
/* f069e98: 46128101 */ sub.s $f4,$f16,$f18
/* f069e9c: 46042182 */ mul.s $f6,$f4,$f4
/* f069ea0: e7a4002c */ swc1 $f4,0x2c($sp)
/* f069ea4: 46084282 */ mul.s $f10,$f8,$f8
/* f069ea8: 0c012974 */ jal sqrtf
/* f069eac: 460a3300 */ add.s $f12,$f6,$f10
/* f069eb0: 44808000 */ mtc1 $zero,$f16
/* f069eb4: 00000000 */ nop
/* f069eb8: 4600803c */ c.lt.s $f16,$f0
/* f069ebc: 00000000 */ nop
/* f069ec0: 4500000b */ bc1f .L0f069ef0
/* f069ec4: 3c013f80 */ lui $at,0x3f80
/* f069ec8: 44819000 */ mtc1 $at,$f18
/* f069ecc: c7a40024 */ lwc1 $f4,0x24($sp)
/* f069ed0: c7a6002c */ lwc1 $f6,0x2c($sp)
/* f069ed4: 46009083 */ div.s $f2,$f18,$f0
/* f069ed8: 46022202 */ mul.s $f8,$f4,$f2
/* f069edc: 00000000 */ nop
/* f069ee0: 46023282 */ mul.s $f10,$f6,$f2
/* f069ee4: e7a80024 */ swc1 $f8,0x24($sp)
/* f069ee8: 10000022 */ b .L0f069f74
/* f069eec: e7aa002c */ swc1 $f10,0x2c($sp)
.L0f069ef0:
/* f069ef0: 0c004b70 */ jal random
/* f069ef4: 00000000 */ nop
/* f069ef8: 44828000 */ mtc1 $v0,$f16
/* f069efc: 3c014f80 */ lui $at,0x4f80
/* f069f00: 04410004 */ bgez $v0,.L0f069f14
/* f069f04: 468084a0 */ cvt.s.w $f18,$f16
/* f069f08: 44812000 */ mtc1 $at,$f4
/* f069f0c: 00000000 */ nop
/* f069f10: 46049480 */ add.s $f18,$f18,$f4
.L0f069f14:
/* f069f14: 3c012f80 */ lui $at,0x2f80
/* f069f18: 44814000 */ mtc1 $at,$f8
/* f069f1c: 3c013f00 */ lui $at,0x3f00
/* f069f20: 44815000 */ mtc1 $at,$f10
/* f069f24: 46089182 */ mul.s $f6,$f18,$f8
/* f069f28: 00000000 */ nop
/* f069f2c: 460a3402 */ mul.s $f16,$f6,$f10
/* f069f30: 0c004b70 */ jal random
/* f069f34: e7b00024 */ swc1 $f16,0x24($sp)
/* f069f38: 44822000 */ mtc1 $v0,$f4
/* f069f3c: 3c014f80 */ lui $at,0x4f80
/* f069f40: 04410004 */ bgez $v0,.L0f069f54
/* f069f44: 468024a0 */ cvt.s.w $f18,$f4
/* f069f48: 44814000 */ mtc1 $at,$f8
/* f069f4c: 00000000 */ nop
/* f069f50: 46089480 */ add.s $f18,$f18,$f8
.L0f069f54:
/* f069f54: 3c012f80 */ lui $at,0x2f80
/* f069f58: 44813000 */ mtc1 $at,$f6
/* f069f5c: 3c013f00 */ lui $at,0x3f00
/* f069f60: 44818000 */ mtc1 $at,$f16
/* f069f64: 46069282 */ mul.s $f10,$f18,$f6
/* f069f68: 00000000 */ nop
/* f069f6c: 46105102 */ mul.s $f4,$f10,$f16
/* f069f70: e7a4002c */ swc1 $f4,0x2c($sp)
.L0f069f74:
/* f069f74: 3c017f1b */ lui $at,%hi(var7f1aa1dc)
/* f069f78: c432a1dc */ lwc1 $f18,%lo(var7f1aa1dc)($at)
/* f069f7c: c7a80024 */ lwc1 $f8,0x24($sp)
/* f069f80: 8fa8003c */ lw $t0,0x3c($sp)
/* f069f84: 46124182 */ mul.s $f6,$f8,$f18
/* f069f88: 0c004b70 */ jal random
/* f069f8c: e5060004 */ swc1 $f6,0x4($t0)
/* f069f90: 44825000 */ mtc1 $v0,$f10
/* f069f94: 8fa3003c */ lw $v1,0x3c($sp)
/* f069f98: 04410005 */ bgez $v0,.L0f069fb0
/* f069f9c: 46805420 */ cvt.s.w $f16,$f10
/* f069fa0: 3c014f80 */ lui $at,0x4f80
/* f069fa4: 44812000 */ mtc1 $at,$f4
/* f069fa8: 00000000 */ nop
/* f069fac: 46048400 */ add.s $f16,$f16,$f4
.L0f069fb0:
/* f069fb0: 3c012f80 */ lui $at,0x2f80
/* f069fb4: 44814000 */ mtc1 $at,$f8
/* f069fb8: 3c017f1b */ lui $at,%hi(var7f1aa1e0)
/* f069fbc: c426a1e0 */ lwc1 $f6,%lo(var7f1aa1e0)($at)
/* f069fc0: 46088482 */ mul.s $f18,$f16,$f8
/* f069fc4: 3c017f1b */ lui $at,%hi(var7f1aa1e4)
/* f069fc8: 46069282 */ mul.s $f10,$f18,$f6
/* f069fcc: e46a0008 */ swc1 $f10,0x8($v1)
/* f069fd0: c430a1e4 */ lwc1 $f16,%lo(var7f1aa1e4)($at)
/* f069fd4: c7a4002c */ lwc1 $f4,0x2c($sp)
/* f069fd8: 46102202 */ mul.s $f8,$f4,$f16
/* f069fdc: 0c004b70 */ jal random
/* f069fe0: e468000c */ swc1 $f8,0xc($v1)
/* f069fe4: 44829000 */ mtc1 $v0,$f18
/* f069fe8: 3c014f80 */ lui $at,0x4f80
/* f069fec: 04410004 */ bgez $v0,.L0f06a000
/* f069ff0: 468091a0 */ cvt.s.w $f6,$f18
/* f069ff4: 44815000 */ mtc1 $at,$f10
/* f069ff8: 00000000 */ nop
/* f069ffc: 460a3180 */ add.s $f6,$f6,$f10
.L0f06a000:
/* f06a000: 3c012f80 */ lui $at,0x2f80
/* f06a004: 44812000 */ mtc1 $at,$f4
/* f06a008: 3c017f1b */ lui $at,%hi(var7f1aa1e8)
/* f06a00c: c428a1e8 */ lwc1 $f8,%lo(var7f1aa1e8)($at)
/* f06a010: 46043402 */ mul.s $f16,$f6,$f4
/* f06a014: 3c017f1b */ lui $at,%hi(var7f1aa1ec)
/* f06a018: c42aa1ec */ lwc1 $f10,%lo(var7f1aa1ec)($at)
/* f06a01c: 46088482 */ mul.s $f18,$f16,$f8
/* f06a020: 460a9181 */ sub.s $f6,$f18,$f10
/* f06a024: 0c004b70 */ jal random
/* f06a028: e7a60030 */ swc1 $f6,0x30($sp)
/* f06a02c: 44822000 */ mtc1 $v0,$f4
/* f06a030: 3c014f80 */ lui $at,0x4f80
/* f06a034: 04410004 */ bgez $v0,.L0f06a048
/* f06a038: 46802420 */ cvt.s.w $f16,$f4
/* f06a03c: 44814000 */ mtc1 $at,$f8
/* f06a040: 00000000 */ nop
/* f06a044: 46088400 */ add.s $f16,$f16,$f8
.L0f06a048:
/* f06a048: 3c012f80 */ lui $at,0x2f80
/* f06a04c: 44819000 */ mtc1 $at,$f18
/* f06a050: 3c017f1b */ lui $at,%hi(var7f1aa1f0)
/* f06a054: c426a1f0 */ lwc1 $f6,%lo(var7f1aa1f0)($at)
/* f06a058: 46128282 */ mul.s $f10,$f16,$f18
/* f06a05c: 3c017f1b */ lui $at,%hi(var7f1aa1f4)
/* f06a060: c428a1f4 */ lwc1 $f8,%lo(var7f1aa1f4)($at)
/* f06a064: 46065102 */ mul.s $f4,$f10,$f6
/* f06a068: 46082401 */ sub.s $f16,$f4,$f8
/* f06a06c: 0c004b70 */ jal random
/* f06a070: e7b00034 */ swc1 $f16,0x34($sp)
/* f06a074: 44829000 */ mtc1 $v0,$f18
/* f06a078: 3c014f80 */ lui $at,0x4f80
/* f06a07c: 04410004 */ bgez $v0,.L0f06a090
/* f06a080: 468092a0 */ cvt.s.w $f10,$f18
/* f06a084: 44813000 */ mtc1 $at,$f6
/* f06a088: 00000000 */ nop
/* f06a08c: 46065280 */ add.s $f10,$f10,$f6
.L0f06a090:
/* f06a090: 3c012f80 */ lui $at,0x2f80
/* f06a094: 44812000 */ mtc1 $at,$f4
/* f06a098: 3c017f1b */ lui $at,%hi(var7f1aa1f8)
/* f06a09c: c430a1f8 */ lwc1 $f16,%lo(var7f1aa1f8)($at)
/* f06a0a0: 46045202 */ mul.s $f8,$f10,$f4
/* f06a0a4: 3c017f1b */ lui $at,%hi(var7f1aa1fc)
/* f06a0a8: c426a1fc */ lwc1 $f6,%lo(var7f1aa1fc)($at)
/* f06a0ac: 8fa5003c */ lw $a1,0x3c($sp)
/* f06a0b0: 27a40030 */ addiu $a0,$sp,0x30
/* f06a0b4: 24a50020 */ addiu $a1,$a1,0x20
/* f06a0b8: 46104482 */ mul.s $f18,$f8,$f16
/* f06a0bc: 46069281 */ sub.s $f10,$f18,$f6
/* f06a0c0: 0c005923 */ jal mtx4LoadRotation
/* f06a0c4: e7aa0038 */ swc1 $f10,0x38($sp)
/* f06a0c8: 8fa900a8 */ lw $t1,0xa8($sp)
.L0f06a0cc:
/* f06a0cc: 8e0c0018 */ lw $t4,0x18($s0)
/* f06a0d0: 3c010122 */ lui $at,0x122
/* f06a0d4: 8d2d0018 */ lw $t5,0x18($t1)
/* f06a0d8: 240500c8 */ addiu $a1,$zero,0xc8
/* f06a0dc: c5a40014 */ lwc1 $f4,0x14($t5)
/* f06a0e0: e5840014 */ swc1 $f4,0x14($t4)
/* f06a0e4: 8e0a0008 */ lw $t2,0x8($s0)
/* f06a0e8: 8e0f000c */ lw $t7,0xc($s0)
/* f06a0ec: 8e180010 */ lw $t8,0x10($s0)
/* f06a0f0: 01415825 */ or $t3,$t2,$at
/* f06a0f4: 3c010020 */ lui $at,0x20
/* f06a0f8: 34214000 */ ori $at,$at,0x4000
/* f06a0fc: 8e080018 */ lw $t0,0x18($s0)
/* f06a100: 01e17025 */ or $t6,$t7,$at
/* f06a104: 37190008 */ ori $t9,$t8,0x8
/* f06a108: ae0b0008 */ sw $t3,0x8($s0)
/* f06a10c: ae0e000c */ sw $t6,0xc($s0)
/* f06a110: ae190010 */ sw $t9,0x10($s0)
/* f06a114: 0c006a47 */ jal modelGetPart
/* f06a118: 8d040008 */ lw $a0,0x8($t0)
/* f06a11c: 10400004 */ beqz $v0,.L0f06a130
/* f06a120: 00402825 */ or $a1,$v0,$zero
/* f06a124: 0c006a87 */ jal modelGetNodeRwData
/* f06a128: 8e040018 */ lw $a0,0x18($s0)
/* f06a12c: ac400000 */ sw $zero,0x0($v0)
.L0f06a130:
/* f06a130: 8e090018 */ lw $t1,0x18($s0)
/* f06a134: 8fa500ac */ lw $a1,0xac($sp)
/* f06a138: 8d240008 */ lw $a0,0x8($t1)
/* f06a13c: 0c006a47 */ jal modelGetPart
/* f06a140: 24a500c9 */ addiu $a1,$a1,0xc9
/* f06a144: 10400005 */ beqz $v0,.L0f06a15c
/* f06a148: 00402825 */ or $a1,$v0,$zero
/* f06a14c: 0c006a87 */ jal modelGetNodeRwData
/* f06a150: 8e040018 */ lw $a0,0x18($s0)
/* f06a154: 240d0001 */ addiu $t5,$zero,0x1
/* f06a158: ac4d0000 */ sw $t5,0x0($v0)
.L0f06a15c:
/* f06a15c: 8fbf001c */ lw $ra,0x1c($sp)
/* f06a160: 8fb00018 */ lw $s0,0x18($sp)
/* f06a164: 27bd00a8 */ addiu $sp,$sp,0xa8
/* f06a168: 03e00008 */ jr $ra
/* f06a16c: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f069d38
.late_rodata
glabel var7f1aa1dc
.word 0x40555555
glabel var7f1aa1e0
.word 0x40d55555
glabel var7f1aa1e4
.word 0x40555555
glabel var7f1aa1e8
.word 0x3d4907a9
glabel var7f1aa1ec
.word 0x3cc907a9
glabel var7f1aa1f0
.word 0x3d4907a9
glabel var7f1aa1f4
.word 0x3cc907a9
glabel var7f1aa1f8
.word 0x3d4907a9
glabel var7f1aa1fc
.word 0x3cc907a9
.text
/* f069d38: 27bdff58 */ addiu $sp,$sp,-168
/* f069d3c: afbf001c */ sw $ra,0x1c($sp)
/* f069d40: afb00018 */ sw $s0,0x18($sp)
/* f069d44: afa400a8 */ sw $a0,0xa8($sp)
/* f069d48: afa500ac */ sw $a1,0xac($sp)
/* f069d4c: 0fc22a23 */ jal func0f08a88c
/* f069d50: afa600b0 */ sw $a2,0xb0($sp)
/* f069d54: 10400101 */ beqz $v0,.L0f06a15c
/* f069d58: 00408025 */ or $s0,$v0,$zero
/* f069d5c: 3c0e8007 */ lui $t6,%hi(var80069980)
/* f069d60: 27a20048 */ addiu $v0,$sp,0x48
/* f069d64: 25ce9980 */ addiu $t6,$t6,%lo(var80069980)
/* f069d68: 25d80054 */ addiu $t8,$t6,0x54
/* f069d6c: 0040c825 */ or $t9,$v0,$zero
.L0f069d70:
/* f069d70: 8dc10000 */ lw $at,0x0($t6)
/* f069d74: 25ce000c */ addiu $t6,$t6,0xc
/* f069d78: 2739000c */ addiu $t9,$t9,0xc
/* f069d7c: af21fff4 */ sw $at,-0xc($t9)
/* f069d80: 8dc1fff8 */ lw $at,-0x8($t6)
/* f069d84: af21fff8 */ sw $at,-0x8($t9)
/* f069d88: 8dc1fffc */ lw $at,-0x4($t6)
/* f069d8c: 15d8fff8 */ bne $t6,$t8,.L0f069d70
/* f069d90: af21fffc */ sw $at,-0x4($t9)
/* f069d94: 8dc10000 */ lw $at,0x0($t6)
/* f069d98: 00405025 */ or $t2,$v0,$zero
/* f069d9c: 02005825 */ or $t3,$s0,$zero
/* f069da0: af210000 */ sw $at,0x0($t9)
/* f069da4: 8dd80004 */ lw $t8,0x4($t6)
/* f069da8: 24490054 */ addiu $t1,$v0,0x54
/* f069dac: af380004 */ sw $t8,0x4($t9)
.L0f069db0:
/* f069db0: 8d410000 */ lw $at,0x0($t2)
/* f069db4: 254a000c */ addiu $t2,$t2,0xc
/* f069db8: 256b000c */ addiu $t3,$t3,0xc
/* f069dbc: ad61fff4 */ sw $at,-0xc($t3)
/* f069dc0: 8d41fff8 */ lw $at,-0x8($t2)
/* f069dc4: ad61fff8 */ sw $at,-0x8($t3)
/* f069dc8: 8d41fffc */ lw $at,-0x4($t2)
/* f069dcc: 1549fff8 */ bne $t2,$t1,.L0f069db0
/* f069dd0: ad61fffc */ sw $at,-0x4($t3)
/* f069dd4: 8d410000 */ lw $at,0x0($t2)
/* f069dd8: 3c058008 */ lui $a1,%hi(g_ModelStates)
/* f069ddc: 02002025 */ or $a0,$s0,$zero
/* f069de0: ad610000 */ sw $at,0x0($t3)
/* f069de4: 8d490004 */ lw $t1,0x4($t2)
/* f069de8: ad690004 */ sw $t1,0x4($t3)
/* f069dec: 8fac00a8 */ lw $t4,0xa8($sp)
/* f069df0: 858d0004 */ lh $t5,0x4($t4)
/* f069df4: a60d0004 */ sh $t5,0x4($s0)
/* f069df8: 860f0004 */ lh $t7,0x4($s0)
/* f069dfc: 000fc0c0 */ sll $t8,$t7,0x3
/* f069e00: 00b82821 */ addu $a1,$a1,$t8
/* f069e04: 0fc1a94b */ jal objInitWithModelDef
/* f069e08: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
/* f069e0c: 104000d3 */ beqz $v0,.L0f06a15c
/* f069e10: 8fae00a8 */ lw $t6,0xa8($sp)
/* f069e14: 8e040014 */ lw $a0,0x14($s0)
/* f069e18: 0fc181a6 */ jal propReparent
/* f069e1c: 8dc50014 */ lw $a1,0x14($t6)
/* f069e20: 8e040014 */ lw $a0,0x14($s0)
/* f069e24: 0fc20a59 */ jal objSetDropped
/* f069e28: 24050005 */ addiu $a1,$zero,0x5
/* f069e2c: 8e190040 */ lw $t9,0x40($s0)
/* f069e30: 8fa200b0 */ lw $v0,0xb0($sp)
/* f069e34: 33280080 */ andi $t0,$t9,0x80
/* f069e38: 510000a4 */ beqzl $t0,.L0f06a0cc
/* f069e3c: 8fa900a8 */ lw $t1,0xa8($sp)
/* f069e40: 8e090048 */ lw $t1,0x48($s0)
/* f069e44: 3c0b8007 */ lui $t3,%hi(var800699dc)
/* f069e48: 256b99dc */ addiu $t3,$t3,%lo(var800699dc)
/* f069e4c: afa9003c */ sw $t1,0x3c($sp)
/* f069e50: 8d610000 */ lw $at,0x0($t3)
/* f069e54: 27aa0030 */ addiu $t2,$sp,0x30
/* f069e58: 8d6f0004 */ lw $t7,0x4($t3)
/* f069e5c: ad410000 */ sw $at,0x0($t2)
/* f069e60: 8d610008 */ lw $at,0x8($t3)
/* f069e64: ad4f0004 */ sw $t7,0x4($t2)
/* f069e68: 44805000 */ mtc1 $zero,$f10
/* f069e6c: ad410008 */ sw $at,0x8($t2)
/* f069e70: 8fb800a8 */ lw $t8,0xa8($sp)
/* f069e74: c4460008 */ lwc1 $f6,0x8($v0)
/* f069e78: 8f0e0014 */ lw $t6,0x14($t8)
/* f069e7c: c5c40008 */ lwc1 $f4,0x8($t6)
/* f069e80: e7aa0028 */ swc1 $f10,0x28($sp)
/* f069e84: 46062201 */ sub.s $f8,$f4,$f6
/* f069e88: e7a80024 */ swc1 $f8,0x24($sp)
/* f069e8c: 8f190014 */ lw $t9,0x14($t8)
/* f069e90: c4520010 */ lwc1 $f18,0x10($v0)
/* f069e94: c7300010 */ lwc1 $f16,0x10($t9)
/* f069e98: 46128101 */ sub.s $f4,$f16,$f18
/* f069e9c: 46042182 */ mul.s $f6,$f4,$f4
/* f069ea0: e7a4002c */ swc1 $f4,0x2c($sp)
/* f069ea4: 46084282 */ mul.s $f10,$f8,$f8
/* f069ea8: 0c012974 */ jal sqrtf
/* f069eac: 460a3300 */ add.s $f12,$f6,$f10
/* f069eb0: 44808000 */ mtc1 $zero,$f16
/* f069eb4: 00000000 */ nop
/* f069eb8: 4600803c */ c.lt.s $f16,$f0
/* f069ebc: 00000000 */ nop
/* f069ec0: 4500000b */ bc1f .L0f069ef0
/* f069ec4: 3c013f80 */ lui $at,0x3f80
/* f069ec8: 44819000 */ mtc1 $at,$f18
/* f069ecc: c7a40024 */ lwc1 $f4,0x24($sp)
/* f069ed0: c7a6002c */ lwc1 $f6,0x2c($sp)
/* f069ed4: 46009083 */ div.s $f2,$f18,$f0
/* f069ed8: 46022202 */ mul.s $f8,$f4,$f2
/* f069edc: 00000000 */ nop
/* f069ee0: 46023282 */ mul.s $f10,$f6,$f2
/* f069ee4: e7a80024 */ swc1 $f8,0x24($sp)
/* f069ee8: 10000022 */ b .L0f069f74
/* f069eec: e7aa002c */ swc1 $f10,0x2c($sp)
.L0f069ef0:
/* f069ef0: 0c004b70 */ jal random
/* f069ef4: 00000000 */ nop
/* f069ef8: 44828000 */ mtc1 $v0,$f16
/* f069efc: 3c014f80 */ lui $at,0x4f80
/* f069f00: 04410004 */ bgez $v0,.L0f069f14
/* f069f04: 468084a0 */ cvt.s.w $f18,$f16
/* f069f08: 44812000 */ mtc1 $at,$f4
/* f069f0c: 00000000 */ nop
/* f069f10: 46049480 */ add.s $f18,$f18,$f4
.L0f069f14:
/* f069f14: 3c012f80 */ lui $at,0x2f80
/* f069f18: 44814000 */ mtc1 $at,$f8
/* f069f1c: 3c013f00 */ lui $at,0x3f00
/* f069f20: 44815000 */ mtc1 $at,$f10
/* f069f24: 46089182 */ mul.s $f6,$f18,$f8
/* f069f28: 00000000 */ nop
/* f069f2c: 460a3402 */ mul.s $f16,$f6,$f10
/* f069f30: 0c004b70 */ jal random
/* f069f34: e7b00024 */ swc1 $f16,0x24($sp)
/* f069f38: 44822000 */ mtc1 $v0,$f4
/* f069f3c: 3c014f80 */ lui $at,0x4f80
/* f069f40: 04410004 */ bgez $v0,.L0f069f54
/* f069f44: 468024a0 */ cvt.s.w $f18,$f4
/* f069f48: 44814000 */ mtc1 $at,$f8
/* f069f4c: 00000000 */ nop
/* f069f50: 46089480 */ add.s $f18,$f18,$f8
.L0f069f54:
/* f069f54: 3c012f80 */ lui $at,0x2f80
/* f069f58: 44813000 */ mtc1 $at,$f6
/* f069f5c: 3c013f00 */ lui $at,0x3f00
/* f069f60: 44818000 */ mtc1 $at,$f16
/* f069f64: 46069282 */ mul.s $f10,$f18,$f6
/* f069f68: 00000000 */ nop
/* f069f6c: 46105102 */ mul.s $f4,$f10,$f16
/* f069f70: e7a4002c */ swc1 $f4,0x2c($sp)
.L0f069f74:
/* f069f74: 3c017f1b */ lui $at,%hi(var7f1aa1dc)
/* f069f78: c432a1dc */ lwc1 $f18,%lo(var7f1aa1dc)($at)
/* f069f7c: c7a80024 */ lwc1 $f8,0x24($sp)
/* f069f80: 8fa8003c */ lw $t0,0x3c($sp)
/* f069f84: 46124182 */ mul.s $f6,$f8,$f18
/* f069f88: 0c004b70 */ jal random
/* f069f8c: e5060004 */ swc1 $f6,0x4($t0)
/* f069f90: 44825000 */ mtc1 $v0,$f10
/* f069f94: 8fa3003c */ lw $v1,0x3c($sp)
/* f069f98: 04410005 */ bgez $v0,.L0f069fb0
/* f069f9c: 46805420 */ cvt.s.w $f16,$f10
/* f069fa0: 3c014f80 */ lui $at,0x4f80
/* f069fa4: 44812000 */ mtc1 $at,$f4
/* f069fa8: 00000000 */ nop
/* f069fac: 46048400 */ add.s $f16,$f16,$f4
.L0f069fb0:
/* f069fb0: 3c012f80 */ lui $at,0x2f80
/* f069fb4: 44814000 */ mtc1 $at,$f8
/* f069fb8: 3c017f1b */ lui $at,%hi(var7f1aa1e0)
/* f069fbc: c426a1e0 */ lwc1 $f6,%lo(var7f1aa1e0)($at)
/* f069fc0: 46088482 */ mul.s $f18,$f16,$f8
/* f069fc4: 3c017f1b */ lui $at,%hi(var7f1aa1e4)
/* f069fc8: 46069282 */ mul.s $f10,$f18,$f6
/* f069fcc: e46a0008 */ swc1 $f10,0x8($v1)
/* f069fd0: c430a1e4 */ lwc1 $f16,%lo(var7f1aa1e4)($at)
/* f069fd4: c7a4002c */ lwc1 $f4,0x2c($sp)
/* f069fd8: 46102202 */ mul.s $f8,$f4,$f16
/* f069fdc: 0c004b70 */ jal random
/* f069fe0: e468000c */ swc1 $f8,0xc($v1)
/* f069fe4: 44829000 */ mtc1 $v0,$f18
/* f069fe8: 3c014f80 */ lui $at,0x4f80
/* f069fec: 04410004 */ bgez $v0,.L0f06a000
/* f069ff0: 468091a0 */ cvt.s.w $f6,$f18
/* f069ff4: 44815000 */ mtc1 $at,$f10
/* f069ff8: 00000000 */ nop
/* f069ffc: 460a3180 */ add.s $f6,$f6,$f10
.L0f06a000:
/* f06a000: 3c012f80 */ lui $at,0x2f80
/* f06a004: 44812000 */ mtc1 $at,$f4
/* f06a008: 3c017f1b */ lui $at,%hi(var7f1aa1e8)
/* f06a00c: c428a1e8 */ lwc1 $f8,%lo(var7f1aa1e8)($at)
/* f06a010: 46043402 */ mul.s $f16,$f6,$f4
/* f06a014: 3c017f1b */ lui $at,%hi(var7f1aa1ec)
/* f06a018: c42aa1ec */ lwc1 $f10,%lo(var7f1aa1ec)($at)
/* f06a01c: 46088482 */ mul.s $f18,$f16,$f8
/* f06a020: 460a9181 */ sub.s $f6,$f18,$f10
/* f06a024: 0c004b70 */ jal random
/* f06a028: e7a60030 */ swc1 $f6,0x30($sp)
/* f06a02c: 44822000 */ mtc1 $v0,$f4
/* f06a030: 3c014f80 */ lui $at,0x4f80
/* f06a034: 04410004 */ bgez $v0,.L0f06a048
/* f06a038: 46802420 */ cvt.s.w $f16,$f4
/* f06a03c: 44814000 */ mtc1 $at,$f8
/* f06a040: 00000000 */ nop
/* f06a044: 46088400 */ add.s $f16,$f16,$f8
.L0f06a048:
/* f06a048: 3c012f80 */ lui $at,0x2f80
/* f06a04c: 44819000 */ mtc1 $at,$f18
/* f06a050: 3c017f1b */ lui $at,%hi(var7f1aa1f0)
/* f06a054: c426a1f0 */ lwc1 $f6,%lo(var7f1aa1f0)($at)
/* f06a058: 46128282 */ mul.s $f10,$f16,$f18
/* f06a05c: 3c017f1b */ lui $at,%hi(var7f1aa1f4)
/* f06a060: c428a1f4 */ lwc1 $f8,%lo(var7f1aa1f4)($at)
/* f06a064: 46065102 */ mul.s $f4,$f10,$f6
/* f06a068: 46082401 */ sub.s $f16,$f4,$f8
/* f06a06c: 0c004b70 */ jal random
/* f06a070: e7b00034 */ swc1 $f16,0x34($sp)
/* f06a074: 44829000 */ mtc1 $v0,$f18
/* f06a078: 3c014f80 */ lui $at,0x4f80
/* f06a07c: 04410004 */ bgez $v0,.L0f06a090
/* f06a080: 468092a0 */ cvt.s.w $f10,$f18
/* f06a084: 44813000 */ mtc1 $at,$f6
/* f06a088: 00000000 */ nop
/* f06a08c: 46065280 */ add.s $f10,$f10,$f6
.L0f06a090:
/* f06a090: 3c012f80 */ lui $at,0x2f80
/* f06a094: 44812000 */ mtc1 $at,$f4
/* f06a098: 3c017f1b */ lui $at,%hi(var7f1aa1f8)
/* f06a09c: c430a1f8 */ lwc1 $f16,%lo(var7f1aa1f8)($at)
/* f06a0a0: 46045202 */ mul.s $f8,$f10,$f4
/* f06a0a4: 3c017f1b */ lui $at,%hi(var7f1aa1fc)
/* f06a0a8: c426a1fc */ lwc1 $f6,%lo(var7f1aa1fc)($at)
/* f06a0ac: 8fa5003c */ lw $a1,0x3c($sp)
/* f06a0b0: 27a40030 */ addiu $a0,$sp,0x30
/* f06a0b4: 24a50020 */ addiu $a1,$a1,0x20
/* f06a0b8: 46104482 */ mul.s $f18,$f8,$f16
/* f06a0bc: 46069281 */ sub.s $f10,$f18,$f6
/* f06a0c0: 0c005923 */ jal mtx4LoadRotation
/* f06a0c4: e7aa0038 */ swc1 $f10,0x38($sp)
/* f06a0c8: 8fa900a8 */ lw $t1,0xa8($sp)
.L0f06a0cc:
/* f06a0cc: 8e0c0018 */ lw $t4,0x18($s0)
/* f06a0d0: 3c010122 */ lui $at,0x122
/* f06a0d4: 8d2d0018 */ lw $t5,0x18($t1)
/* f06a0d8: 240500c8 */ addiu $a1,$zero,0xc8
/* f06a0dc: c5a40014 */ lwc1 $f4,0x14($t5)
/* f06a0e0: e5840014 */ swc1 $f4,0x14($t4)
/* f06a0e4: 8e0a0008 */ lw $t2,0x8($s0)
/* f06a0e8: 8e0f000c */ lw $t7,0xc($s0)
/* f06a0ec: 8e180010 */ lw $t8,0x10($s0)
/* f06a0f0: 01415825 */ or $t3,$t2,$at
/* f06a0f4: 3c010020 */ lui $at,0x20
/* f06a0f8: 34214000 */ ori $at,$at,0x4000
/* f06a0fc: 8e080018 */ lw $t0,0x18($s0)
/* f06a100: 01e17025 */ or $t6,$t7,$at
/* f06a104: 37190008 */ ori $t9,$t8,0x8
/* f06a108: ae0b0008 */ sw $t3,0x8($s0)
/* f06a10c: ae0e000c */ sw $t6,0xc($s0)
/* f06a110: ae190010 */ sw $t9,0x10($s0)
/* f06a114: 0c006a47 */ jal modelGetPart
/* f06a118: 8d040008 */ lw $a0,0x8($t0)
/* f06a11c: 10400004 */ beqz $v0,.L0f06a130
/* f06a120: 00402825 */ or $a1,$v0,$zero
/* f06a124: 0c006a87 */ jal modelGetNodeRwData
/* f06a128: 8e040018 */ lw $a0,0x18($s0)
/* f06a12c: ac400000 */ sw $zero,0x0($v0)
.L0f06a130:
/* f06a130: 8e090018 */ lw $t1,0x18($s0)
/* f06a134: 8fa500ac */ lw $a1,0xac($sp)
/* f06a138: 8d240008 */ lw $a0,0x8($t1)
/* f06a13c: 0c006a47 */ jal modelGetPart
/* f06a140: 24a500c9 */ addiu $a1,$a1,0xc9
/* f06a144: 10400005 */ beqz $v0,.L0f06a15c
/* f06a148: 00402825 */ or $a1,$v0,$zero
/* f06a14c: 0c006a87 */ jal modelGetNodeRwData
/* f06a150: 8e040018 */ lw $a0,0x18($s0)
/* f06a154: 240d0001 */ addiu $t5,$zero,0x1
/* f06a158: ac4d0000 */ sw $t5,0x0($v0)
.L0f06a15c:
/* f06a15c: 8fbf001c */ lw $ra,0x1c($sp)
/* f06a160: 8fb00018 */ lw $s0,0x18($sp)
/* f06a164: 27bd00a8 */ addiu $sp,$sp,0xa8
/* f06a168: 03e00008 */ jr $ra
/* f06a16c: 00000000 */ nop
);
#endif
void func0f06a170(struct defaultobj *obj, s32 arg1)
{
struct model *model = obj->model;
s32 i;
if (arg1);
for (i = 0; i < 20; i++) {
if (modelGetPart(model->filedata, 201 + i) == NULL) {
break;
}
func0f069d38(obj, i, arg1);
}
}
struct prop *objInit(struct defaultobj *obj, struct modelfiledata *filedata, struct prop *prop, struct model *model)
{
if (prop == NULL) {
prop = propAllocate();
}
if (model == NULL) {
model = modelInstantiate(filedata);
}
if (prop && model) {
s32 geosize;
obj->model = model;
if (modelGetPartRodata(filedata, MODELPART_BASIC_0065)) {
obj->numtiles++;
}
if (modelGetPartRodata(filedata, MODELPART_BASIC_0066)) {
obj->numtiles++;
}
geosize = obj->numtiles * 0x40;
if (obj->flags & OBJFLAG_00000100) {
if (obj->flags3 & OBJFLAG3_GEOTYPE3) {
geosize += sizeof(struct tiletype3);
} else {
geosize += sizeof(struct tiletype2);
}
obj->numtiles++;
obj->hidden2 |= OBJH2FLAG_08;
} else {
obj->hidden2 &= ~OBJH2FLAG_08;
}
if (obj->numtiles > 0) {
obj->unkgeo = mempAlloc(ALIGN16(geosize), MEMPOOL_STAGE);
} else {
obj->unkgeo = NULL;
}
obj->prop = prop;
obj->damage = 0;
obj->projectile = NULL;
obj->shadecol[0] = 0;
obj->shadecol[1] = 0;
obj->shadecol[2] = 0;
obj->shadecol[3] = 0;
obj->nextcol[0] = 0;
obj->nextcol[1] = 0;
obj->nextcol[2] = 0;
obj->nextcol[3] = 0;
obj->floorcol = 0xfff;
obj->model->obj = obj;
obj->model->unk01 = 0;
modelSetScale(obj->model, g_ModelStates[obj->modelnum].scale * (1.0f / 4096.0f));
prop->type = PROPTYPE_OBJ;
prop->obj = obj;
prop->pos.x = 0;
prop->pos.y = 0;
prop->pos.z = 0;
objInitToggleNodes(obj);
if (obj->flags3 & OBJFLAG3_RENDERPOSTBG) {
prop->flags |= PROPFLAG_RENDERPOSTBG;
}
if (obj->flags3 & OBJFLAG3_DRAWONTOP) {
prop->flags |= PROPFLAG_DRAWONTOP;
}
} else {
if (model) {
modelFree(model);
}
if (prop) {
propFree(prop);
prop = NULL;
}
if (obj) {
obj->prop = NULL;
obj->model = NULL;
}
}
if (g_Vars.normmplayerisrunning && prop && obj && obj->type == OBJTYPE_WEAPON) {
struct weaponobj *weapon = (struct weaponobj *) obj;
if (weapon->weaponnum == WEAPON_BRIEFCASE2) {
if (g_MpSetup.scenario == MPSCENARIO_HOLDTHEBRIEFCASE) {
g_ScenarioData.htb.token = prop;
}
prop->forcetick = true;
obj->flags |= OBJFLAG_INVINCIBLE | OBJFLAG_00400000;
obj->flags2 |= OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_00200000;
} else if (weapon->weaponnum == WEAPON_DATAUPLINK) {
if (g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL) {
g_ScenarioData.htm.uplink = prop;
}
prop->forcetick = true;
obj->flags |= OBJFLAG_INVINCIBLE | OBJFLAG_00400000;
obj->flags2 |= OBJFLAG2_IMMUNETOGUNFIRE | OBJFLAG2_00200000;
}
}
return prop;
}
struct prop *objInitWithModelDef(struct defaultobj *obj, struct modelfiledata *filedata)
{
return objInit(obj, filedata, NULL, NULL);
}
struct prop *objInitWithAutoModel(struct defaultobj *obj)
{
return objInitWithModelDef(obj, g_ModelStates[obj->modelnum].filedata);
}
void func0f06a580(struct defaultobj *obj, struct coord *pos, Mtxf *matrix, s16 *rooms)
{
struct prop *prop = obj->prop;
mtx4ToMtx3(matrix, obj->realrot);
prop->pos.x = pos->x;
prop->pos.y = pos->y;
prop->pos.z = pos->z;
propDeregisterRooms(prop);
roomsCopy(rooms, prop->rooms);
func0f069c70(obj, true, true);
obj->shadecol[0] = obj->nextcol[0];
obj->shadecol[1] = obj->nextcol[1];
obj->shadecol[2] = obj->nextcol[2];
obj->shadecol[3] = obj->nextcol[3];
}
f32 func0f06a620(struct defaultobj *obj)
{
if (obj->type == OBJTYPE_WEAPON) {
return 0;
}
return 4;
}
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f06a650
/* f06a650: 27bdffb8 */ addiu $sp,$sp,-72
/* f06a654: afb00020 */ sw $s0,0x20($sp)
/* f06a658: 00808025 */ or $s0,$a0,$zero
/* f06a65c: afbf0024 */ sw $ra,0x24($sp)
/* f06a660: afa5004c */ sw $a1,0x4c($sp)
/* f06a664: afa60050 */ sw $a2,0x50($sp)
/* f06a668: afa70054 */ sw $a3,0x54($sp)
/* f06a66c: 0fc1a2aa */ jal modelFindBboxRodata
/* f06a670: 8c840018 */ lw $a0,0x18($a0)
/* f06a674: afa20044 */ sw $v0,0x44($sp)
/* f06a678: 8fa4004c */ lw $a0,0x4c($sp)
/* f06a67c: 8fa50054 */ lw $a1,0x54($sp)
/* f06a680: 27a6003c */ addiu $a2,$sp,0x3c
/* f06a684: 26070058 */ addiu $a3,$s0,0x58
/* f06a688: 0c00a910 */ jal cd0002a440
/* f06a68c: afa00010 */ sw $zero,0x10($sp)
/* f06a690: 1840001d */ blez $v0,.L0f06a708
/* f06a694: a7a20042 */ sh $v0,0x42($sp)
/* f06a698: 8fae004c */ lw $t6,0x4c($sp)
/* f06a69c: 02002025 */ or $a0,$s0,$zero
/* f06a6a0: c5c40000 */ lwc1 $f4,0x0($t6)
/* f06a6a4: 0fc1a988 */ jal func0f06a620
/* f06a6a8: e7a40030 */ swc1 $f4,0x30($sp)
/* f06a6ac: e7a00028 */ swc1 $f0,0x28($sp)
/* f06a6b0: 8fa40044 */ lw $a0,0x44($sp)
/* f06a6b4: 0fc19a0f */ jal func0f06683c
/* f06a6b8: 8fa50050 */ lw $a1,0x50($sp)
/* f06a6bc: c7a6003c */ lwc1 $f6,0x3c($sp)
/* f06a6c0: c7a80028 */ lwc1 $f8,0x28($sp)
/* f06a6c4: 8faf004c */ lw $t7,0x4c($sp)
/* f06a6c8: 87b80042 */ lh $t8,0x42($sp)
/* f06a6cc: 46083280 */ add.s $f10,$f6,$f8
/* f06a6d0: 2419ffff */ addiu $t9,$zero,-1
/* f06a6d4: 02002025 */ or $a0,$s0,$zero
/* f06a6d8: 27a50030 */ addiu $a1,$sp,0x30
/* f06a6dc: 46005401 */ sub.s $f16,$f10,$f0
/* f06a6e0: 8fa60050 */ lw $a2,0x50($sp)
/* f06a6e4: 27a7002c */ addiu $a3,$sp,0x2c
/* f06a6e8: e7b00034 */ swc1 $f16,0x34($sp)
/* f06a6ec: c5f20008 */ lwc1 $f18,0x8($t7)
/* f06a6f0: a7b9002e */ sh $t9,0x2e($sp)
/* f06a6f4: a7b8002c */ sh $t8,0x2c($sp)
/* f06a6f8: 0fc1a960 */ jal func0f06a580
/* f06a6fc: e7b20038 */ swc1 $f18,0x38($sp)
/* f06a700: 10000007 */ b .L0f06a720
/* f06a704: 8fbf0024 */ lw $ra,0x24($sp)
.L0f06a708:
/* f06a708: 02002025 */ or $a0,$s0,$zero
/* f06a70c: 8fa5004c */ lw $a1,0x4c($sp)
/* f06a710: 8fa60050 */ lw $a2,0x50($sp)
/* f06a714: 0fc1a960 */ jal func0f06a580
/* f06a718: 8fa70054 */ lw $a3,0x54($sp)
/* f06a71c: 8fbf0024 */ lw $ra,0x24($sp)
.L0f06a720:
/* f06a720: 8fb00020 */ lw $s0,0x20($sp)
/* f06a724: 27bd0048 */ addiu $sp,$sp,0x48
/* f06a728: 03e00008 */ jr $ra
/* f06a72c: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f06a650
/* f0698bc: 27bdffc0 */ addiu $sp,$sp,-64
/* f0698c0: afb00018 */ sw $s0,0x18($sp)
/* f0698c4: 00808025 */ or $s0,$a0,$zero
/* f0698c8: afbf001c */ sw $ra,0x1c($sp)
/* f0698cc: afa50044 */ sw $a1,0x44($sp)
/* f0698d0: afa60048 */ sw $a2,0x48($sp)
/* f0698d4: afa7004c */ sw $a3,0x4c($sp)
/* f0698d8: 0fc19f4a */ jal modelFindBboxRodata
/* f0698dc: 8c840018 */ lw $a0,0x18($a0)
/* f0698e0: afa2003c */ sw $v0,0x3c($sp)
/* f0698e4: 8fa40044 */ lw $a0,0x44($sp)
/* f0698e8: 8fa5004c */ lw $a1,0x4c($sp)
/* f0698ec: 27a60034 */ addiu $a2,$sp,0x34
/* f0698f0: 0c00ae22 */ jal cd0002a440
/* f0698f4: 26070058 */ addiu $a3,$s0,0x58
/* f0698f8: 1840001d */ blez $v0,.NB0f069970
/* f0698fc: a7a2003a */ sh $v0,0x3a($sp)
/* f069900: 8fae0044 */ lw $t6,0x44($sp)
/* f069904: 02002025 */ or $a0,$s0,$zero
/* f069908: c5c40000 */ lwc1 $f4,0x0($t6)
/* f06990c: 0fc1a623 */ jal func0f06a620
/* f069910: e7a40028 */ swc1 $f4,0x28($sp)
/* f069914: e7a00020 */ swc1 $f0,0x20($sp)
/* f069918: 8fa4003c */ lw $a0,0x3c($sp)
/* f06991c: 0fc196af */ jal func0f06683c
/* f069920: 8fa50048 */ lw $a1,0x48($sp)
/* f069924: c7a60034 */ lwc1 $f6,0x34($sp)
/* f069928: c7a80020 */ lwc1 $f8,0x20($sp)
/* f06992c: 8faf0044 */ lw $t7,0x44($sp)
/* f069930: 87b8003a */ lh $t8,0x3a($sp)
/* f069934: 46083280 */ add.s $f10,$f6,$f8
/* f069938: 2419ffff */ addiu $t9,$zero,-1
/* f06993c: 02002025 */ or $a0,$s0,$zero
/* f069940: 27a50028 */ addiu $a1,$sp,0x28
/* f069944: 46005401 */ sub.s $f16,$f10,$f0
/* f069948: 8fa60048 */ lw $a2,0x48($sp)
/* f06994c: 27a70024 */ addiu $a3,$sp,0x24
/* f069950: e7b0002c */ swc1 $f16,0x2c($sp)
/* f069954: c5f20008 */ lwc1 $f18,0x8($t7)
/* f069958: a7b90026 */ sh $t9,0x26($sp)
/* f06995c: a7b80024 */ sh $t8,0x24($sp)
/* f069960: 0fc1a5fb */ jal func0f06a580
/* f069964: e7b20030 */ swc1 $f18,0x30($sp)
/* f069968: 10000007 */ beqz $zero,.NB0f069988
/* f06996c: 8fbf001c */ lw $ra,0x1c($sp)
.NB0f069970:
/* f069970: 02002025 */ or $a0,$s0,$zero
/* f069974: 8fa50044 */ lw $a1,0x44($sp)
/* f069978: 8fa60048 */ lw $a2,0x48($sp)
/* f06997c: 0fc1a5fb */ jal func0f06a580
/* f069980: 8fa7004c */ lw $a3,0x4c($sp)
/* f069984: 8fbf001c */ lw $ra,0x1c($sp)
.NB0f069988:
/* f069988: 8fb00018 */ lw $s0,0x18($sp)
/* f06998c: 27bd0040 */ addiu $sp,$sp,0x40
/* f069990: 03e00008 */ jr $ra
/* f069994: 00000000 */ sll $zero,$zero,0x0
);
#endif
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f06a730
.late_rodata
glabel var7f1aa200
.word 0x404907a9
.text
/* f06a730: 27bdff38 */ addiu $sp,$sp,-200
/* f06a734: afbf0024 */ sw $ra,0x24($sp)
/* f06a738: f7b40018 */ sdc1 $f20,0x18($sp)
/* f06a73c: afa400c8 */ sw $a0,0xc8($sp)
/* f06a740: afa500cc */ sw $a1,0xcc($sp)
/* f06a744: afa600d0 */ sw $a2,0xd0($sp)
/* f06a748: afa700d4 */ sw $a3,0xd4($sp)
/* f06a74c: 0fc1a2aa */ jal modelFindBboxRodata
/* f06a750: 8c840018 */ lw $a0,0x18($a0)
/* f06a754: afa200c4 */ sw $v0,0xc4($sp)
/* f06a758: 0fc199ef */ jal modelBboxGetYMin
/* f06a75c: 00402025 */ or $a0,$v0,$zero
/* f06a760: 46000506 */ mov.s $f20,$f0
/* f06a764: 0fc199f1 */ jal func0f0667c4
/* f06a768: 8fa400c4 */ lw $a0,0xc4($sp)
/* f06a76c: 8faf00c8 */ lw $t7,0xc8($sp)
/* f06a770: 46000386 */ mov.s $f14,$f0
/* f06a774: 3c017f1b */ lui $at,%hi(var7f1aa200)
/* f06a778: 8de20008 */ lw $v0,0x8($t7)
/* f06a77c: 27a50070 */ addiu $a1,$sp,0x70
/* f06a780: 30580004 */ andi $t8,$v0,0x4
/* f06a784: 13000019 */ beqz $t8,.L0f06a7ec
/* f06a788: 30590008 */ andi $t9,$v0,0x8
/* f06a78c: c42ca200 */ lwc1 $f12,%lo(var7f1aa200)($at)
/* f06a790: 0c005900 */ jal mtx4LoadZRotation
/* f06a794: e7ae00bc */ swc1 $f14,0xbc($sp)
/* f06a798: 8fa400d0 */ lw $a0,0xd0($sp)
/* f06a79c: 0c00567f */ jal mtx4MultMtx4InPlace
/* f06a7a0: 27a50070 */ addiu $a1,$sp,0x70
/* f06a7a4: c7ae00bc */ lwc1 $f14,0xbc($sp)
/* f06a7a8: c7a60080 */ lwc1 $f6,0x80($sp)
/* f06a7ac: 8fa200d8 */ lw $v0,0xd8($sp)
/* f06a7b0: 460e3202 */ mul.s $f8,$f6,$f14
/* f06a7b4: c4440000 */ lwc1 $f4,0x0($v0)
/* f06a7b8: 46082281 */ sub.s $f10,$f4,$f8
/* f06a7bc: c7a40084 */ lwc1 $f4,0x84($sp)
/* f06a7c0: 460e2202 */ mul.s $f8,$f4,$f14
/* f06a7c4: e7aa00b0 */ swc1 $f10,0xb0($sp)
/* f06a7c8: c4460004 */ lwc1 $f6,0x4($v0)
/* f06a7cc: 46083281 */ sub.s $f10,$f6,$f8
/* f06a7d0: c7a60088 */ lwc1 $f6,0x88($sp)
/* f06a7d4: 460e3202 */ mul.s $f8,$f6,$f14
/* f06a7d8: e7aa00b4 */ swc1 $f10,0xb4($sp)
/* f06a7dc: c4440008 */ lwc1 $f4,0x8($v0)
/* f06a7e0: 46082281 */ sub.s $f10,$f4,$f8
/* f06a7e4: 100000cf */ b .L0f06ab24
/* f06a7e8: e7aa00b8 */ swc1 $f10,0xb8($sp)
.L0f06a7ec:
/* f06a7ec: 13200015 */ beqz $t9,.L0f06a844
/* f06a7f0: 8fa400d0 */ lw $a0,0xd0($sp)
/* f06a7f4: 8fa400d0 */ lw $a0,0xd0($sp)
/* f06a7f8: 0c005746 */ jal mtx4Copy
/* f06a7fc: 27a50070 */ addiu $a1,$sp,0x70
/* f06a800: c7a40080 */ lwc1 $f4,0x80($sp)
/* f06a804: 8fa200d8 */ lw $v0,0xd8($sp)
/* f06a808: 46142202 */ mul.s $f8,$f4,$f20
/* f06a80c: c4460000 */ lwc1 $f6,0x0($v0)
/* f06a810: 46083281 */ sub.s $f10,$f6,$f8
/* f06a814: c7a60084 */ lwc1 $f6,0x84($sp)
/* f06a818: 46143202 */ mul.s $f8,$f6,$f20
/* f06a81c: e7aa00b0 */ swc1 $f10,0xb0($sp)
/* f06a820: c4440004 */ lwc1 $f4,0x4($v0)
/* f06a824: 46082281 */ sub.s $f10,$f4,$f8
/* f06a828: c7a40088 */ lwc1 $f4,0x88($sp)
/* f06a82c: 46142202 */ mul.s $f8,$f4,$f20
/* f06a830: e7aa00b4 */ swc1 $f10,0xb4($sp)
/* f06a834: c4460008 */ lwc1 $f6,0x8($v0)
/* f06a838: 46083281 */ sub.s $f10,$f6,$f8
/* f06a83c: 100000b9 */ b .L0f06ab24
/* f06a840: e7aa00b8 */ swc1 $f10,0xb8($sp)
.L0f06a844:
/* f06a844: 27a50070 */ addiu $a1,$sp,0x70
/* f06a848: 0c005746 */ jal mtx4Copy
/* f06a84c: e7ae00bc */ swc1 $f14,0xbc($sp)
/* f06a850: 44806000 */ mtc1 $zero,$f12
/* f06a854: c7b20074 */ lwc1 $f18,0x74($sp)
/* f06a858: c7ae00bc */ lwc1 $f14,0xbc($sp)
/* f06a85c: 460c903c */ c.lt.s $f18,$f12
/* f06a860: 46009006 */ mov.s $f0,$f18
/* f06a864: 45020003 */ bc1fl .L0f06a874
/* f06a868: 460c903c */ c.lt.s $f18,$f12
/* f06a86c: 46009007 */ neg.s $f0,$f18
/* f06a870: 460c903c */ c.lt.s $f18,$f12
.L0f06a874:
/* f06a874: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06a878: 00004025 */ or $t0,$zero,$zero
/* f06a87c: 00004825 */ or $t1,$zero,$zero
/* f06a880: 45020003 */ bc1fl .L0f06a890
/* f06a884: 460c803c */ c.lt.s $f16,$f12
/* f06a888: 24090001 */ addiu $t1,$zero,0x1
/* f06a88c: 460c803c */ c.lt.s $f16,$f12
.L0f06a890:
/* f06a890: 46000086 */ mov.s $f2,$f0
/* f06a894: afa9004c */ sw $t1,0x4c($sp)
/* f06a898: 46008006 */ mov.s $f0,$f16
/* f06a89c: 45020003 */ bc1fl .L0f06a8ac
/* f06a8a0: 4600103c */ c.lt.s $f2,$f0
/* f06a8a4: 46008007 */ neg.s $f0,$f16
/* f06a8a8: 4600103c */ c.lt.s $f2,$f0
.L0f06a8ac:
/* f06a8ac: 00000000 */ nop
/* f06a8b0: 4502000a */ bc1fl .L0f06a8dc
/* f06a8b4: c7b00094 */ lwc1 $f16,0x94($sp)
/* f06a8b8: 460c803c */ c.lt.s $f16,$f12
/* f06a8bc: 24080001 */ addiu $t0,$zero,0x1
/* f06a8c0: 00005025 */ or $t2,$zero,$zero
/* f06a8c4: 46000086 */ mov.s $f2,$f0
/* f06a8c8: 45020003 */ bc1fl .L0f06a8d8
/* f06a8cc: afaa004c */ sw $t2,0x4c($sp)
/* f06a8d0: 240a0001 */ addiu $t2,$zero,0x1
/* f06a8d4: afaa004c */ sw $t2,0x4c($sp)
.L0f06a8d8:
/* f06a8d8: c7b00094 */ lwc1 $f16,0x94($sp)
.L0f06a8dc:
/* f06a8dc: 24010002 */ addiu $at,$zero,0x2
/* f06a8e0: 460c803c */ c.lt.s $f16,$f12
/* f06a8e4: 46008006 */ mov.s $f0,$f16
/* f06a8e8: 45020003 */ bc1fl .L0f06a8f8
/* f06a8ec: 4600103c */ c.lt.s $f2,$f0
/* f06a8f0: 46008007 */ neg.s $f0,$f16
/* f06a8f4: 4600103c */ c.lt.s $f2,$f0
.L0f06a8f8:
/* f06a8f8: 00000000 */ nop
/* f06a8fc: 45000008 */ bc1f .L0f06a920
/* f06a900: 00000000 */ nop
/* f06a904: 460c803c */ c.lt.s $f16,$f12
/* f06a908: 24080002 */ addiu $t0,$zero,0x2
/* f06a90c: 00005825 */ or $t3,$zero,$zero
/* f06a910: 45020003 */ bc1fl .L0f06a920
/* f06a914: afab004c */ sw $t3,0x4c($sp)
/* f06a918: 240b0001 */ addiu $t3,$zero,0x1
/* f06a91c: afab004c */ sw $t3,0x4c($sp)
.L0f06a920:
/* f06a920: 15000009 */ bnez $t0,.L0f06a948
/* f06a924: 8fa400c4 */ lw $a0,0xc4($sp)
/* f06a928: 0fc199eb */ jal func0f0667ac
/* f06a92c: afa80050 */ sw $t0,0x50($sp)
/* f06a930: 46000506 */ mov.s $f20,$f0
/* f06a934: 0fc199ed */ jal func0f0667b4
/* f06a938: 8fa400c4 */ lw $a0,0xc4($sp)
/* f06a93c: 8fa80050 */ lw $t0,0x50($sp)
/* f06a940: 1000000a */ b .L0f06a96c
/* f06a944: 46000386 */ mov.s $f14,$f0
.L0f06a948:
/* f06a948: 15010008 */ bne $t0,$at,.L0f06a96c
/* f06a94c: 8fa400c4 */ lw $a0,0xc4($sp)
/* f06a950: 0fc199f3 */ jal func0f0667cc
/* f06a954: afa80050 */ sw $t0,0x50($sp)
/* f06a958: 46000506 */ mov.s $f20,$f0
/* f06a95c: 0fc199f5 */ jal modelBboxGetZMax
/* f06a960: 8fa400c4 */ lw $a0,0xc4($sp)
/* f06a964: 8fa80050 */ lw $t0,0x50($sp)
/* f06a968: 46000386 */ mov.s $f14,$f0
.L0f06a96c:
/* f06a96c: 8fac004c */ lw $t4,0x4c($sp)
/* f06a970: 00086900 */ sll $t5,$t0,0x4
/* f06a974: 27ae0070 */ addiu $t6,$sp,0x70
/* f06a978: 11800004 */ beqz $t4,.L0f06a98c
/* f06a97c: 01ae1821 */ addu $v1,$t5,$t6
/* f06a980: 4600a006 */ mov.s $f0,$f20
/* f06a984: 46007506 */ mov.s $f20,$f14
/* f06a988: 46000386 */ mov.s $f14,$f0
.L0f06a98c:
/* f06a98c: c4660000 */ lwc1 $f6,0x0($v1)
/* f06a990: 8fa200d8 */ lw $v0,0xd8($sp)
/* f06a994: 8fa400cc */ lw $a0,0xcc($sp)
/* f06a998: 46143202 */ mul.s $f8,$f6,$f20
/* f06a99c: c4440000 */ lwc1 $f4,0x0($v0)
/* f06a9a0: 8fa500d4 */ lw $a1,0xd4($sp)
/* f06a9a4: 27a600b0 */ addiu $a2,$sp,0xb0
/* f06a9a8: 27a70060 */ addiu $a3,$sp,0x60
/* f06a9ac: 46082281 */ sub.s $f10,$f4,$f8
/* f06a9b0: e7aa00b0 */ swc1 $f10,0xb0($sp)
/* f06a9b4: c4640004 */ lwc1 $f4,0x4($v1)
/* f06a9b8: c4460004 */ lwc1 $f6,0x4($v0)
/* f06a9bc: 46142202 */ mul.s $f8,$f4,$f20
/* f06a9c0: 46083281 */ sub.s $f10,$f6,$f8
/* f06a9c4: e7aa00b4 */ swc1 $f10,0xb4($sp)
/* f06a9c8: c4660008 */ lwc1 $f6,0x8($v1)
/* f06a9cc: c4440008 */ lwc1 $f4,0x8($v0)
/* f06a9d0: e7ae00bc */ swc1 $f14,0xbc($sp)
/* f06a9d4: 46143202 */ mul.s $f8,$f6,$f20
/* f06a9d8: afa30030 */ sw $v1,0x30($sp)
/* f06a9dc: 46082281 */ sub.s $f10,$f4,$f8
/* f06a9e0: 0fc1979d */ jal func0f065e74
/* f06a9e4: e7aa00b8 */ swc1 $f10,0xb8($sp)
/* f06a9e8: 8fa700c8 */ lw $a3,0xc8($sp)
/* f06a9ec: 27a400b0 */ addiu $a0,$sp,0xb0
/* f06a9f0: 27a50060 */ addiu $a1,$sp,0x60
/* f06a9f4: 27a60058 */ addiu $a2,$sp,0x58
/* f06a9f8: afa00010 */ sw $zero,0x10($sp)
/* f06a9fc: 0c00a910 */ jal cd0002a440
/* f06aa00: 24e70058 */ addiu $a3,$a3,0x58
/* f06aa04: 18400047 */ blez $v0,.L0f06ab24
/* f06aa08: c7ae00bc */ lwc1 $f14,0xbc($sp)
/* f06aa0c: 27a400b0 */ addiu $a0,$sp,0xb0
/* f06aa10: 27a50060 */ addiu $a1,$sp,0x60
/* f06aa14: 0fc1a086 */ jal func0f068218
/* f06aa18: e7ae00bc */ swc1 $f14,0xbc($sp)
/* f06aa1c: 10400038 */ beqz $v0,.L0f06ab00
/* f06aa20: c7ae00bc */ lwc1 $f14,0xbc($sp)
/* f06aa24: 8c440014 */ lw $a0,0x14($v0)
/* f06aa28: e7ae00bc */ swc1 $f14,0xbc($sp)
/* f06aa2c: 27a5003c */ addiu $a1,$sp,0x3c
/* f06aa30: 0fc198a4 */ jal propUpdateGeometry
/* f06aa34: 27a60038 */ addiu $a2,$sp,0x38
/* f06aa38: 10400027 */ beqz $v0,.L0f06aad8
/* f06aa3c: c7ae00bc */ lwc1 $f14,0xbc($sp)
/* f06aa40: 8faf003c */ lw $t7,0x3c($sp)
/* f06aa44: 24010002 */ addiu $at,$zero,0x2
/* f06aa48: c7a60058 */ lwc1 $f6,0x58($sp)
/* f06aa4c: 91f80000 */ lbu $t8,0x0($t7)
/* f06aa50: 17010021 */ bne $t8,$at,.L0f06aad8
/* f06aa54: 00000000 */ nop
/* f06aa58: c5e40004 */ lwc1 $f4,0x4($t7)
/* f06aa5c: 8fa400c8 */ lw $a0,0xc8($sp)
/* f06aa60: 4604303c */ c.lt.s $f6,$f4
/* f06aa64: 00000000 */ nop
/* f06aa68: 4500001b */ bc1f .L0f06aad8
/* f06aa6c: 00000000 */ nop
/* f06aa70: afaf0034 */ sw $t7,0x34($sp)
/* f06aa74: 0fc1a988 */ jal func0f06a620
/* f06aa78: e7ae00bc */ swc1 $f14,0xbc($sp)
/* f06aa7c: c7ae00bc */ lwc1 $f14,0xbc($sp)
/* f06aa80: 8fb90030 */ lw $t9,0x30($sp)
/* f06aa84: c7aa0058 */ lwc1 $f10,0x58($sp)
/* f06aa88: 46147181 */ sub.s $f6,$f14,$f20
/* f06aa8c: c7220004 */ lwc1 $f2,0x4($t9)
/* f06aa90: 8fa20034 */ lw $v0,0x34($sp)
/* f06aa94: 46023102 */ mul.s $f4,$f6,$f2
/* f06aa98: c4480008 */ lwc1 $f8,0x8($v0)
/* f06aa9c: 46045180 */ add.s $f6,$f10,$f4
/* f06aaa0: 46060280 */ add.s $f10,$f0,$f6
/* f06aaa4: 460a403c */ c.lt.s $f8,$f10
/* f06aaa8: 00000000 */ nop
/* f06aaac: 4500000a */ bc1f .L0f06aad8
/* f06aab0: 00000000 */ nop
/* f06aab4: 46141182 */ mul.s $f6,$f2,$f20
/* f06aab8: c4440004 */ lwc1 $f4,0x4($v0)
/* f06aabc: 8fa900c8 */ lw $t1,0xc8($sp)
/* f06aac0: 46062201 */ sub.s $f8,$f4,$f6
/* f06aac4: e7a800b4 */ swc1 $f8,0xb4($sp)
/* f06aac8: 8d2a0040 */ lw $t2,0x40($t1)
/* f06aacc: 354b8000 */ ori $t3,$t2,0x8000
/* f06aad0: 10000014 */ b .L0f06ab24
/* f06aad4: ad2b0040 */ sw $t3,0x40($t1)
.L0f06aad8:
/* f06aad8: 0fc1a988 */ jal func0f06a620
/* f06aadc: 8fa400c8 */ lw $a0,0xc8($sp)
/* f06aae0: 8fac0030 */ lw $t4,0x30($sp)
/* f06aae4: c7aa0058 */ lwc1 $f10,0x58($sp)
/* f06aae8: c5840004 */ lwc1 $f4,0x4($t4)
/* f06aaec: 4604a182 */ mul.s $f6,$f20,$f4
/* f06aaf0: 46065201 */ sub.s $f8,$f10,$f6
/* f06aaf4: 46080100 */ add.s $f4,$f0,$f8
/* f06aaf8: 1000000a */ b .L0f06ab24
/* f06aafc: e7a400b4 */ swc1 $f4,0xb4($sp)
.L0f06ab00:
/* f06ab00: 0fc1a988 */ jal func0f06a620
/* f06ab04: 8fa400c8 */ lw $a0,0xc8($sp)
/* f06ab08: 8fad0030 */ lw $t5,0x30($sp)
/* f06ab0c: c7aa0058 */ lwc1 $f10,0x58($sp)
/* f06ab10: c5a60004 */ lwc1 $f6,0x4($t5)
/* f06ab14: 4606a202 */ mul.s $f8,$f20,$f6
/* f06ab18: 46085101 */ sub.s $f4,$f10,$f8
/* f06ab1c: 46040180 */ add.s $f6,$f0,$f4
/* f06ab20: e7a600b4 */ swc1 $f6,0xb4($sp)
.L0f06ab24:
/* f06ab24: 8fa400cc */ lw $a0,0xcc($sp)
/* f06ab28: 8fa500d4 */ lw $a1,0xd4($sp)
/* f06ab2c: 27a600b0 */ addiu $a2,$sp,0xb0
/* f06ab30: 0fc1979d */ jal func0f065e74
/* f06ab34: 27a70060 */ addiu $a3,$sp,0x60
/* f06ab38: 8fa400c8 */ lw $a0,0xc8($sp)
/* f06ab3c: 27a500b0 */ addiu $a1,$sp,0xb0
/* f06ab40: 27a60070 */ addiu $a2,$sp,0x70
/* f06ab44: 0fc1a960 */ jal func0f06a580
/* f06ab48: 27a70060 */ addiu $a3,$sp,0x60
/* f06ab4c: 8fbf0024 */ lw $ra,0x24($sp)
/* f06ab50: d7b40018 */ ldc1 $f20,0x18($sp)
/* f06ab54: 27bd00c8 */ addiu $sp,$sp,0xc8
/* f06ab58: 03e00008 */ jr $ra
/* f06ab5c: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f06a730
.late_rodata
glabel var7f1aa200
.word 0x404907a9
.text
/* f069998: 27bdff40 */ addiu $sp,$sp,-192
/* f06999c: afbf001c */ sw $ra,0x1c($sp)
/* f0699a0: f7b40010 */ sdc1 $f20,0x10($sp)
/* f0699a4: afa400c0 */ sw $a0,0xc0($sp)
/* f0699a8: afa500c4 */ sw $a1,0xc4($sp)
/* f0699ac: afa600c8 */ sw $a2,0xc8($sp)
/* f0699b0: afa700cc */ sw $a3,0xcc($sp)
/* f0699b4: 0fc19f4a */ jal modelFindBboxRodata
/* f0699b8: 8c840018 */ lw $a0,0x18($a0)
/* f0699bc: afa200bc */ sw $v0,0xbc($sp)
/* f0699c0: 0fc1968f */ jal modelBboxGetYMin
/* f0699c4: 00402025 */ or $a0,$v0,$zero
/* f0699c8: 46000506 */ mov.s $f20,$f0
/* f0699cc: 0fc19691 */ jal func0f0667c4
/* f0699d0: 8fa400bc */ lw $a0,0xbc($sp)
/* f0699d4: 8faf00c0 */ lw $t7,0xc0($sp)
/* f0699d8: 46000386 */ mov.s $f14,$f0
/* f0699dc: 3c017f1a */ lui $at,0x7f1a
/* f0699e0: 8de20008 */ lw $v0,0x8($t7)
/* f0699e4: 27a50068 */ addiu $a1,$sp,0x68
/* f0699e8: 30580004 */ andi $t8,$v0,0x4
/* f0699ec: 13000019 */ beqz $t8,.NB0f069a54
/* f0699f0: 30590008 */ andi $t9,$v0,0x8
/* f0699f4: c42c4520 */ lwc1 $f12,0x4520($at)
/* f0699f8: 0c005ce4 */ jal mtx4LoadZRotation
/* f0699fc: e7ae00b4 */ swc1 $f14,0xb4($sp)
/* f069a00: 8fa400c8 */ lw $a0,0xc8($sp)
/* f069a04: 0c005a3b */ jal mtx4MultMtx4InPlace
/* f069a08: 27a50068 */ addiu $a1,$sp,0x68
/* f069a0c: c7ae00b4 */ lwc1 $f14,0xb4($sp)
/* f069a10: c7a60078 */ lwc1 $f6,0x78($sp)
/* f069a14: 8fa200d0 */ lw $v0,0xd0($sp)
/* f069a18: 460e3202 */ mul.s $f8,$f6,$f14
/* f069a1c: c4440000 */ lwc1 $f4,0x0($v0)
/* f069a20: 46082281 */ sub.s $f10,$f4,$f8
/* f069a24: c7a4007c */ lwc1 $f4,0x7c($sp)
/* f069a28: 460e2202 */ mul.s $f8,$f4,$f14
/* f069a2c: e7aa00a8 */ swc1 $f10,0xa8($sp)
/* f069a30: c4460004 */ lwc1 $f6,0x4($v0)
/* f069a34: 46083281 */ sub.s $f10,$f6,$f8
/* f069a38: c7a60080 */ lwc1 $f6,0x80($sp)
/* f069a3c: 460e3202 */ mul.s $f8,$f6,$f14
/* f069a40: e7aa00ac */ swc1 $f10,0xac($sp)
/* f069a44: c4440008 */ lwc1 $f4,0x8($v0)
/* f069a48: 46082281 */ sub.s $f10,$f4,$f8
/* f069a4c: 100000ce */ beqz $zero,.NB0f069d88
/* f069a50: e7aa00b0 */ swc1 $f10,0xb0($sp)
.NB0f069a54:
/* f069a54: 13200015 */ beqz $t9,.NB0f069aac
/* f069a58: 8fa400c8 */ lw $a0,0xc8($sp)
/* f069a5c: 8fa400c8 */ lw $a0,0xc8($sp)
/* f069a60: 0c005b02 */ jal mtx4Copy
/* f069a64: 27a50068 */ addiu $a1,$sp,0x68
/* f069a68: c7a40078 */ lwc1 $f4,0x78($sp)
/* f069a6c: 8fa200d0 */ lw $v0,0xd0($sp)
/* f069a70: 46142202 */ mul.s $f8,$f4,$f20
/* f069a74: c4460000 */ lwc1 $f6,0x0($v0)
/* f069a78: 46083281 */ sub.s $f10,$f6,$f8
/* f069a7c: c7a6007c */ lwc1 $f6,0x7c($sp)
/* f069a80: 46143202 */ mul.s $f8,$f6,$f20
/* f069a84: e7aa00a8 */ swc1 $f10,0xa8($sp)
/* f069a88: c4440004 */ lwc1 $f4,0x4($v0)
/* f069a8c: 46082281 */ sub.s $f10,$f4,$f8
/* f069a90: c7a40080 */ lwc1 $f4,0x80($sp)
/* f069a94: 46142202 */ mul.s $f8,$f4,$f20
/* f069a98: e7aa00ac */ swc1 $f10,0xac($sp)
/* f069a9c: c4460008 */ lwc1 $f6,0x8($v0)
/* f069aa0: 46083281 */ sub.s $f10,$f6,$f8
/* f069aa4: 100000b8 */ beqz $zero,.NB0f069d88
/* f069aa8: e7aa00b0 */ swc1 $f10,0xb0($sp)
.NB0f069aac:
/* f069aac: 27a50068 */ addiu $a1,$sp,0x68
/* f069ab0: 0c005b02 */ jal mtx4Copy
/* f069ab4: e7ae00b4 */ swc1 $f14,0xb4($sp)
/* f069ab8: 44806000 */ mtc1 $zero,$f12
/* f069abc: c7b2006c */ lwc1 $f18,0x6c($sp)
/* f069ac0: c7ae00b4 */ lwc1 $f14,0xb4($sp)
/* f069ac4: 460c903c */ c.lt.s $f18,$f12
/* f069ac8: 46009006 */ mov.s $f0,$f18
/* f069acc: 45020003 */ bc1fl .NB0f069adc
/* f069ad0: 460c903c */ c.lt.s $f18,$f12
/* f069ad4: 46009007 */ neg.s $f0,$f18
/* f069ad8: 460c903c */ c.lt.s $f18,$f12
.NB0f069adc:
/* f069adc: c7b0007c */ lwc1 $f16,0x7c($sp)
/* f069ae0: 00004025 */ or $t0,$zero,$zero
/* f069ae4: 00004825 */ or $t1,$zero,$zero
/* f069ae8: 45020003 */ bc1fl .NB0f069af8
/* f069aec: 460c803c */ c.lt.s $f16,$f12
/* f069af0: 24090001 */ addiu $t1,$zero,0x1
/* f069af4: 460c803c */ c.lt.s $f16,$f12
.NB0f069af8:
/* f069af8: 46000086 */ mov.s $f2,$f0
/* f069afc: afa90044 */ sw $t1,0x44($sp)
/* f069b00: 46008006 */ mov.s $f0,$f16
/* f069b04: 45020003 */ bc1fl .NB0f069b14
/* f069b08: 4600103c */ c.lt.s $f2,$f0
/* f069b0c: 46008007 */ neg.s $f0,$f16
/* f069b10: 4600103c */ c.lt.s $f2,$f0
.NB0f069b14:
/* f069b14: 00000000 */ sll $zero,$zero,0x0
/* f069b18: 4502000a */ bc1fl .NB0f069b44
/* f069b1c: c7b0008c */ lwc1 $f16,0x8c($sp)
/* f069b20: 460c803c */ c.lt.s $f16,$f12
/* f069b24: 24080001 */ addiu $t0,$zero,0x1
/* f069b28: 00005025 */ or $t2,$zero,$zero
/* f069b2c: 46000086 */ mov.s $f2,$f0
/* f069b30: 45020003 */ bc1fl .NB0f069b40
/* f069b34: afaa0044 */ sw $t2,0x44($sp)
/* f069b38: 240a0001 */ addiu $t2,$zero,0x1
/* f069b3c: afaa0044 */ sw $t2,0x44($sp)
.NB0f069b40:
/* f069b40: c7b0008c */ lwc1 $f16,0x8c($sp)
.NB0f069b44:
/* f069b44: 24010002 */ addiu $at,$zero,0x2
/* f069b48: 460c803c */ c.lt.s $f16,$f12
/* f069b4c: 46008006 */ mov.s $f0,$f16
/* f069b50: 45020003 */ bc1fl .NB0f069b60
/* f069b54: 4600103c */ c.lt.s $f2,$f0
/* f069b58: 46008007 */ neg.s $f0,$f16
/* f069b5c: 4600103c */ c.lt.s $f2,$f0
.NB0f069b60:
/* f069b60: 00000000 */ sll $zero,$zero,0x0
/* f069b64: 45000008 */ bc1f .NB0f069b88
/* f069b68: 00000000 */ sll $zero,$zero,0x0
/* f069b6c: 460c803c */ c.lt.s $f16,$f12
/* f069b70: 24080002 */ addiu $t0,$zero,0x2
/* f069b74: 00005825 */ or $t3,$zero,$zero
/* f069b78: 45020003 */ bc1fl .NB0f069b88
/* f069b7c: afab0044 */ sw $t3,0x44($sp)
/* f069b80: 240b0001 */ addiu $t3,$zero,0x1
/* f069b84: afab0044 */ sw $t3,0x44($sp)
.NB0f069b88:
/* f069b88: 15000009 */ bnez $t0,.NB0f069bb0
/* f069b8c: 8fa400bc */ lw $a0,0xbc($sp)
/* f069b90: 0fc1968b */ jal func0f0667ac
/* f069b94: afa80048 */ sw $t0,0x48($sp)
/* f069b98: 46000506 */ mov.s $f20,$f0
/* f069b9c: 0fc1968d */ jal func0f0667b4
/* f069ba0: 8fa400bc */ lw $a0,0xbc($sp)
/* f069ba4: 8fa80048 */ lw $t0,0x48($sp)
/* f069ba8: 1000000a */ beqz $zero,.NB0f069bd4
/* f069bac: 46000386 */ mov.s $f14,$f0
.NB0f069bb0:
/* f069bb0: 15010008 */ bne $t0,$at,.NB0f069bd4
/* f069bb4: 8fa400bc */ lw $a0,0xbc($sp)
/* f069bb8: 0fc19693 */ jal func0f0667cc
/* f069bbc: afa80048 */ sw $t0,0x48($sp)
/* f069bc0: 46000506 */ mov.s $f20,$f0
/* f069bc4: 0fc19695 */ jal modelBboxGetZMax
/* f069bc8: 8fa400bc */ lw $a0,0xbc($sp)
/* f069bcc: 8fa80048 */ lw $t0,0x48($sp)
/* f069bd0: 46000386 */ mov.s $f14,$f0
.NB0f069bd4:
/* f069bd4: 8fac0044 */ lw $t4,0x44($sp)
/* f069bd8: 00086900 */ sll $t5,$t0,0x4
/* f069bdc: 27ae0068 */ addiu $t6,$sp,0x68
/* f069be0: 11800004 */ beqz $t4,.NB0f069bf4
/* f069be4: 01ae1821 */ addu $v1,$t5,$t6
/* f069be8: 4600a006 */ mov.s $f0,$f20
/* f069bec: 46007506 */ mov.s $f20,$f14
/* f069bf0: 46000386 */ mov.s $f14,$f0
.NB0f069bf4:
/* f069bf4: c4660000 */ lwc1 $f6,0x0($v1)
/* f069bf8: 8fa200d0 */ lw $v0,0xd0($sp)
/* f069bfc: 8fa400c4 */ lw $a0,0xc4($sp)
/* f069c00: 46143202 */ mul.s $f8,$f6,$f20
/* f069c04: c4440000 */ lwc1 $f4,0x0($v0)
/* f069c08: 8fa500cc */ lw $a1,0xcc($sp)
/* f069c0c: 27a600a8 */ addiu $a2,$sp,0xa8
/* f069c10: 27a70058 */ addiu $a3,$sp,0x58
/* f069c14: 46082281 */ sub.s $f10,$f4,$f8
/* f069c18: e7aa00a8 */ swc1 $f10,0xa8($sp)
/* f069c1c: c4640004 */ lwc1 $f4,0x4($v1)
/* f069c20: c4460004 */ lwc1 $f6,0x4($v0)
/* f069c24: 46142202 */ mul.s $f8,$f4,$f20
/* f069c28: 46083281 */ sub.s $f10,$f6,$f8
/* f069c2c: e7aa00ac */ swc1 $f10,0xac($sp)
/* f069c30: c4660008 */ lwc1 $f6,0x8($v1)
/* f069c34: c4440008 */ lwc1 $f4,0x8($v0)
/* f069c38: e7ae00b4 */ swc1 $f14,0xb4($sp)
/* f069c3c: 46143202 */ mul.s $f8,$f6,$f20
/* f069c40: afa30028 */ sw $v1,0x28($sp)
/* f069c44: 46082281 */ sub.s $f10,$f4,$f8
/* f069c48: 0fc19437 */ jal func0f065e74
/* f069c4c: e7aa00b0 */ swc1 $f10,0xb0($sp)
/* f069c50: 8fa700c0 */ lw $a3,0xc0($sp)
/* f069c54: 27a400a8 */ addiu $a0,$sp,0xa8
/* f069c58: 27a50058 */ addiu $a1,$sp,0x58
/* f069c5c: 27a60050 */ addiu $a2,$sp,0x50
/* f069c60: 0c00ae22 */ jal cd0002a440
/* f069c64: 24e70058 */ addiu $a3,$a3,0x58
/* f069c68: 18400047 */ blez $v0,.NB0f069d88
/* f069c6c: c7ae00b4 */ lwc1 $f14,0xb4($sp)
/* f069c70: 27a400a8 */ addiu $a0,$sp,0xa8
/* f069c74: 27a50058 */ addiu $a1,$sp,0x58
/* f069c78: 0fc19d26 */ jal func0f068218
/* f069c7c: e7ae00b4 */ swc1 $f14,0xb4($sp)
/* f069c80: 10400038 */ beqz $v0,.NB0f069d64
/* f069c84: c7ae00b4 */ lwc1 $f14,0xb4($sp)
/* f069c88: 8c440014 */ lw $a0,0x14($v0)
/* f069c8c: e7ae00b4 */ swc1 $f14,0xb4($sp)
/* f069c90: 27a50034 */ addiu $a1,$sp,0x34
/* f069c94: 0fc1953e */ jal propUpdateGeometry
/* f069c98: 27a60030 */ addiu $a2,$sp,0x30
/* f069c9c: 10400027 */ beqz $v0,.NB0f069d3c
/* f069ca0: c7ae00b4 */ lwc1 $f14,0xb4($sp)
/* f069ca4: 8faf0034 */ lw $t7,0x34($sp)
/* f069ca8: 24010002 */ addiu $at,$zero,0x2
/* f069cac: c7a60050 */ lwc1 $f6,0x50($sp)
/* f069cb0: 91f80000 */ lbu $t8,0x0($t7)
/* f069cb4: 17010021 */ bne $t8,$at,.NB0f069d3c
/* f069cb8: 00000000 */ sll $zero,$zero,0x0
/* f069cbc: c5e40004 */ lwc1 $f4,0x4($t7)
/* f069cc0: 8fa400c0 */ lw $a0,0xc0($sp)
/* f069cc4: 4604303c */ c.lt.s $f6,$f4
/* f069cc8: 00000000 */ sll $zero,$zero,0x0
/* f069ccc: 4500001b */ bc1f .NB0f069d3c
/* f069cd0: 00000000 */ sll $zero,$zero,0x0
/* f069cd4: afaf002c */ sw $t7,0x2c($sp)
/* f069cd8: 0fc1a623 */ jal func0f06a620
/* f069cdc: e7ae00b4 */ swc1 $f14,0xb4($sp)
/* f069ce0: c7ae00b4 */ lwc1 $f14,0xb4($sp)
/* f069ce4: 8fb90028 */ lw $t9,0x28($sp)
/* f069ce8: c7aa0050 */ lwc1 $f10,0x50($sp)
/* f069cec: 46147181 */ sub.s $f6,$f14,$f20
/* f069cf0: c7220004 */ lwc1 $f2,0x4($t9)
/* f069cf4: 8fa2002c */ lw $v0,0x2c($sp)
/* f069cf8: 46023102 */ mul.s $f4,$f6,$f2
/* f069cfc: c4480008 */ lwc1 $f8,0x8($v0)
/* f069d00: 46045180 */ add.s $f6,$f10,$f4
/* f069d04: 46060280 */ add.s $f10,$f0,$f6
/* f069d08: 460a403c */ c.lt.s $f8,$f10
/* f069d0c: 00000000 */ sll $zero,$zero,0x0
/* f069d10: 4500000a */ bc1f .NB0f069d3c
/* f069d14: 00000000 */ sll $zero,$zero,0x0
/* f069d18: 46141182 */ mul.s $f6,$f2,$f20
/* f069d1c: c4440004 */ lwc1 $f4,0x4($v0)
/* f069d20: 8fa900c0 */ lw $t1,0xc0($sp)
/* f069d24: 46062201 */ sub.s $f8,$f4,$f6
/* f069d28: e7a800ac */ swc1 $f8,0xac($sp)
/* f069d2c: 8d2a0040 */ lw $t2,0x40($t1)
/* f069d30: 354b8000 */ ori $t3,$t2,0x8000
/* f069d34: 10000014 */ beqz $zero,.NB0f069d88
/* f069d38: ad2b0040 */ sw $t3,0x40($t1)
.NB0f069d3c:
/* f069d3c: 0fc1a623 */ jal func0f06a620
/* f069d40: 8fa400c0 */ lw $a0,0xc0($sp)
/* f069d44: 8fac0028 */ lw $t4,0x28($sp)
/* f069d48: c7aa0050 */ lwc1 $f10,0x50($sp)
/* f069d4c: c5840004 */ lwc1 $f4,0x4($t4)
/* f069d50: 4604a182 */ mul.s $f6,$f20,$f4
/* f069d54: 46065201 */ sub.s $f8,$f10,$f6
/* f069d58: 46080100 */ add.s $f4,$f0,$f8
/* f069d5c: 1000000a */ beqz $zero,.NB0f069d88
/* f069d60: e7a400ac */ swc1 $f4,0xac($sp)
.NB0f069d64:
/* f069d64: 0fc1a623 */ jal func0f06a620
/* f069d68: 8fa400c0 */ lw $a0,0xc0($sp)
/* f069d6c: 8fad0028 */ lw $t5,0x28($sp)
/* f069d70: c7aa0050 */ lwc1 $f10,0x50($sp)
/* f069d74: c5a60004 */ lwc1 $f6,0x4($t5)
/* f069d78: 4606a202 */ mul.s $f8,$f20,$f6
/* f069d7c: 46085101 */ sub.s $f4,$f10,$f8
/* f069d80: 46040180 */ add.s $f6,$f0,$f4
/* f069d84: e7a600ac */ swc1 $f6,0xac($sp)
.NB0f069d88:
/* f069d88: 8fa400c4 */ lw $a0,0xc4($sp)
/* f069d8c: 8fa500cc */ lw $a1,0xcc($sp)
/* f069d90: 27a600a8 */ addiu $a2,$sp,0xa8
/* f069d94: 0fc19437 */ jal func0f065e74
/* f069d98: 27a70058 */ addiu $a3,$sp,0x58
/* f069d9c: 8fa400c0 */ lw $a0,0xc0($sp)
/* f069da0: 27a500a8 */ addiu $a1,$sp,0xa8
/* f069da4: 27a60068 */ addiu $a2,$sp,0x68
/* f069da8: 0fc1a5fb */ jal func0f06a580
/* f069dac: 27a70058 */ addiu $a3,$sp,0x58
/* f069db0: 8fbf001c */ lw $ra,0x1c($sp)
/* f069db4: d7b40010 */ ldc1 $f20,0x10($sp)
/* f069db8: 27bd00c0 */ addiu $sp,$sp,0xc0
/* f069dbc: 03e00008 */ jr $ra
/* f069dc0: 00000000 */ sll $zero,$zero,0x0
);
#endif
GLOBAL_ASM(
glabel func0f06ab60
.late_rodata
glabel var7f1aa204
.word 0x4096c5bf
glabel var7f1aa208
.word 0x404907a9
.text
/* f06ab60: 27bdff40 */ addiu $sp,$sp,-192
/* f06ab64: afbf0014 */ sw $ra,0x14($sp)
/* f06ab68: afa400c0 */ sw $a0,0xc0($sp)
/* f06ab6c: afa500c4 */ sw $a1,0xc4($sp)
/* f06ab70: afa600c8 */ sw $a2,0xc8($sp)
/* f06ab74: afa700cc */ sw $a3,0xcc($sp)
/* f06ab78: 0fc1a2aa */ jal modelFindBboxRodata
/* f06ab7c: 8c840018 */ lw $a0,0x18($a0)
/* f06ab80: 0fc199f3 */ jal func0f0667cc
/* f06ab84: 00402025 */ or $a0,$v0,$zero
/* f06ab88: 3c017f1b */ lui $at,%hi(var7f1aa204)
/* f06ab8c: e7a000b8 */ swc1 $f0,0xb8($sp)
/* f06ab90: c42ca204 */ lwc1 $f12,%lo(var7f1aa204)($at)
/* f06ab94: 0c0058ba */ jal mtx4LoadXRotation
/* f06ab98: 27a5005c */ addiu $a1,$sp,0x5c
/* f06ab9c: 3c017f1b */ lui $at,%hi(var7f1aa208)
/* f06aba0: c42ca208 */ lwc1 $f12,%lo(var7f1aa208)($at)
/* f06aba4: 0c0058dd */ jal mtx4LoadYRotation
/* f06aba8: 27a5001c */ addiu $a1,$sp,0x1c
/* f06abac: 27a4001c */ addiu $a0,$sp,0x1c
/* f06abb0: 0c00567f */ jal mtx4MultMtx4InPlace
/* f06abb4: 27a5005c */ addiu $a1,$sp,0x5c
/* f06abb8: 8fa400c8 */ lw $a0,0xc8($sp)
/* f06abbc: 0c00567f */ jal mtx4MultMtx4InPlace
/* f06abc0: 27a5005c */ addiu $a1,$sp,0x5c
/* f06abc4: c7a000b8 */ lwc1 $f0,0xb8($sp)
/* f06abc8: c7a6007c */ lwc1 $f6,0x7c($sp)
/* f06abcc: 8fa200d0 */ lw $v0,0xd0($sp)
/* f06abd0: c7b20080 */ lwc1 $f18,0x80($sp)
/* f06abd4: 46003202 */ mul.s $f8,$f6,$f0
/* f06abd8: c4440000 */ lwc1 $f4,0x0($v0)
/* f06abdc: 8fa400c4 */ lw $a0,0xc4($sp)
/* f06abe0: 46009182 */ mul.s $f6,$f18,$f0
/* f06abe4: 8fa500cc */ lw $a1,0xcc($sp)
/* f06abe8: 27a600ac */ addiu $a2,$sp,0xac
/* f06abec: 27a7009c */ addiu $a3,$sp,0x9c
/* f06abf0: 46082281 */ sub.s $f10,$f4,$f8
/* f06abf4: e7aa00ac */ swc1 $f10,0xac($sp)
/* f06abf8: c4500004 */ lwc1 $f16,0x4($v0)
/* f06abfc: c7aa0084 */ lwc1 $f10,0x84($sp)
/* f06ac00: 46068101 */ sub.s $f4,$f16,$f6
/* f06ac04: 46005482 */ mul.s $f18,$f10,$f0
/* f06ac08: e7a400b0 */ swc1 $f4,0xb0($sp)
/* f06ac0c: c4480008 */ lwc1 $f8,0x8($v0)
/* f06ac10: 46124401 */ sub.s $f16,$f8,$f18
/* f06ac14: 0fc1979d */ jal func0f065e74
/* f06ac18: e7b000b4 */ swc1 $f16,0xb4($sp)
/* f06ac1c: 8fa400c0 */ lw $a0,0xc0($sp)
/* f06ac20: 27a500ac */ addiu $a1,$sp,0xac
/* f06ac24: 27a6005c */ addiu $a2,$sp,0x5c
/* f06ac28: 0fc1a960 */ jal func0f06a580
/* f06ac2c: 27a7009c */ addiu $a3,$sp,0x9c
/* f06ac30: 8fbf0014 */ lw $ra,0x14($sp)
/* f06ac34: 27bd00c0 */ addiu $sp,$sp,0xc0
/* f06ac38: 03e00008 */ jr $ra
/* f06ac3c: 00000000 */ nop
);
void objEndFlight(struct defaultobj *obj)
{
if (obj->hidden & OBJHFLAG_AIRBORNE) {
projectileFree(obj->projectile);
obj->projectile = NULL;
obj->hidden &= ~OBJHFLAG_AIRBORNE;
}
}
void func0f06ac90(struct prop *prop)
{
if (prop && prop->obj) {
struct defaultobj *obj = prop->obj;
if (obj->hidden & OBJHFLAG_00000040) {
if (obj->projectile) {
if (obj->projectile->unk044) {
projectileFree(obj->projectile->unk044);
}
projectileSetFlag1(obj->projectile);
}
obj->projectile = NULL;
obj->hidden &= ~OBJHFLAG_00000040;
} else if (obj->hidden & OBJHFLAG_AIRBORNE) {
objEndFlight(obj);
}
}
}
/**
* Remove an object from the game world by clearing all references to it.
*
* If freeprop is true, the obj's prop will be returned to the freeprops list.
* Child objects such as attached knives and mines will always have their props
* freed.
*/
void objFree(struct defaultobj *obj, bool freeprop, bool canregen)
{
struct prop *child;
if (obj->type == OBJTYPE_WEAPON) {
struct weaponobj *weapon = (struct weaponobj *) obj;
if (weapon->dualweapon) {
weapon->dualweapon->dualweapon = NULL;
weapon->dualweapon = NULL;
}
if (weapon->weaponnum == WEAPON_PROXIMITYMINE) {
weaponUnregisterProxy(weapon);
}
if (weapon->weaponnum == WEAPON_DRAGON && weapon->gunfunc == FUNC_SECONDARY) {
weaponUnregisterProxy(weapon);
}
if (weapon->weaponnum == WEAPON_NBOMB && weapon->gunfunc == FUNC_SECONDARY) {
weaponUnregisterProxy(weapon);
}
if (weapon->weaponnum == WEAPON_GRENADE && weapon->gunfunc == FUNC_SECONDARY) {
weaponUnregisterProxy(weapon);
smokeClearForProp(obj->prop);
}
if (weapon->weaponnum == WEAPON_BOLT) {
s32 value = func0f0aec54(obj->prop);
if (value != -1) {
func0f0aeea8(value, 1400);
}
}
if (g_Vars.normmplayerisrunning
&& weapon->weaponnum == WEAPON_SKROCKET
&& obj->projectile
&& obj->projectile->ownerprop) {
s32 i;
for (i = 0; i < g_MpNumChrs; i++) {
if (g_MpAllChrPtrs[i]->aibot && g_MpAllChrPtrs[i]->aibot->skrocket == obj->prop) {
g_MpAllChrPtrs[i]->aibot->skrocket = NULL;
}
}
}
} else if (obj->type == OBJTYPE_TINTEDGLASS) {
struct tintedglassobj *glass = (struct tintedglassobj *) obj;
if (glass->portalnum >= 0) {
func0f0b6470(glass->portalnum, 1);
portalSetEnabled(glass->portalnum, true);
g_BgPortals[glass->portalnum].flags |= PORTALFLAG_04;
}
} else if (obj->type == OBJTYPE_GLASS) {
struct glassobj *glass = (struct glassobj *) obj;
if (glass->portalnum >= 0) {
func0f0b6470(glass->portalnum, 1);
}
} else if (obj->type == OBJTYPE_DOOR) {
struct doorobj *door = (struct doorobj *) obj;
doorActivatePortal(door);
if (door->portalnum >= 0) {
g_BgPortals[door->portalnum].flags |= PORTALFLAG_04;
}
}
if (obj->prop) {
s32 prevplayernum = g_Vars.currentplayernum;
s32 i;
for (i = 0; i < PLAYERCOUNT(); i++) {
setCurrentPlayerNum(i);
if (obj->prop == bmoveGetGrabbedProp() || obj->prop == bmoveGetHoverbike()) {
bmoveSetMode(MOVEMODE_WALK);
}
invRemoveProp(obj->prop);
}
setCurrentPlayerNum(prevplayernum);
// If obj is an occupied chair, remove the chr from it
if (obj->hidden & OBJHFLAG_OCCUPIEDCHAIR) {
s32 numchrs = chrsGetNumSlots();
s32 i;
obj->hidden &= ~OBJHFLAG_OCCUPIEDCHAIR;
for (i = 0; i < numchrs; i++) {
// @bug: Should be ==, but this isn't a problem because occupied
// chairs are never removed using this code. If they were, and
// the propnum was > 0, all chrs would be disassociated with
// their chairs but their chairs would still have the occupied
// flag. If the propnum was 0, all chrs would be assigned to
// this one chair, and their original chairs would still have
// the occupied flag.
if (g_ChrSlots[i].proppreset1 = obj->prop - g_Vars.props) {
g_ChrSlots[i].proppreset1 = -1;
}
}
}
// Remove references from aibots if the obj is the item being fetched
if (g_Vars.normmplayerisrunning) {
s32 i;
for (i = 0; i < g_MpNumChrs; i++) {
if (g_MpAllChrPtrs[i]->aibot && g_MpAllChrPtrs[i]->aibot->gotoprop == obj->prop) {
g_MpAllChrPtrs[i]->aibot->gotoprop = NULL;
}
}
}
func0f0926bc(obj->prop, 1, 0xffff);
shieldhitsRemoveByProp(obj->prop);
chrClearReferences(obj->prop - g_Vars.props);
projectilesUnrefOwner(obj->prop);
wallhitsRemoveByProp(obj->prop, 0);
wallhitsRemoveByProp(obj->prop, 1);
func0f06ac90(obj->prop);
child = obj->prop->child;
while (child) {
struct prop *next = child->next;
objFreePermanently(child->obj, true);
child = next;
}
if (!canregen) {
if (obj->prop->parent) {
objDetach(obj->prop);
}
propDeregisterRooms(obj->prop);
if (obj->prop->type != PROPTYPE_DOOR) {
func0f089a94(true, obj->model);
}
modelFree(obj->model);
if (freeprop) {
propDelist(obj->prop);
propDisable(obj->prop);
propFree(obj->prop);
}
obj->prop->obj = NULL;
obj->prop = NULL;
}
}
}
void objFreePermanently(struct defaultobj *obj, bool freeprop)
{
objFree(obj, freeprop, false);
}
f32 objGetWidth(struct defaultobj *obj)
{
if (obj->type == OBJTYPE_KEY) {
return 20;
}
return 10;
}
bool func0f06b39c(struct coord *arg0, struct coord *arg1, struct coord *arg2, f32 arg3)
{
struct coord sp0c;
f32 value;
sp0c.x = arg2->x - arg0->x;
sp0c.y = arg2->y - arg0->y;
sp0c.z = arg2->z - arg0->z;
value = arg1->f[0] * sp0c.f[0] + arg1->f[1] * sp0c.f[1] + arg1->f[2] * sp0c.f[2];
if (value > 0) {
f32 a = arg1->f[0] * arg1->f[0] + arg1->f[1] * arg1->f[1] + arg1->f[2] * arg1->f[2];
f32 b = sp0c.f[0] * sp0c.f[0] + sp0c.f[1] * sp0c.f[1] + sp0c.f[2] * sp0c.f[2];
if ((b - arg3 * arg3) * a <= value * value) {
return true;
}
}
return false;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f06b488
/* f06b488: 27bdffb8 */ addiu $sp,$sp,-72
/* f06b48c: afa40048 */ sw $a0,0x48($sp)
/* f06b490: afa5004c */ sw $a1,0x4c($sp)
/* f06b494: 00a02025 */ or $a0,$a1,$zero
/* f06b498: afbf001c */ sw $ra,0x1c($sp)
/* f06b49c: afb00018 */ sw $s0,0x18($sp)
/* f06b4a0: afa60050 */ sw $a2,0x50($sp)
/* f06b4a4: 00c02825 */ or $a1,$a2,$zero
/* f06b4a8: 00e08025 */ or $s0,$a3,$zero
/* f06b4ac: 0c00b7b6 */ jal cd0002ded8
/* f06b4b0: 8fa60048 */ lw $a2,0x48($sp)
/* f06b4b4: 14400050 */ bnez $v0,.L0f06b5f8
/* f06b4b8: 27a4003c */ addiu $a0,$sp,0x3c
/* f06b4bc: 3c077f1b */ lui $a3,%hi(var7f1a9f7c)
/* f06b4c0: 24e79f7c */ addiu $a3,$a3,%lo(var7f1a9f7c)
/* f06b4c4: 27a50030 */ addiu $a1,$sp,0x30
/* f06b4c8: 0c009393 */ jal cd00024e4c
/* f06b4cc: 24060b5d */ addiu $a2,$zero,0xb5e
/* f06b4d0: 3c067f1b */ lui $a2,%hi(var7f1a9f88)
/* f06b4d4: 24c69f88 */ addiu $a2,$a2,%lo(var7f1a9f88)
/* f06b4d8: 27a40020 */ addiu $a0,$sp,0x20
/* f06b4dc: 0c0093af */ jal cdGetPos
/* f06b4e0: 24050b5e */ addiu $a1,$zero,0xb5f
/* f06b4e4: 8fa2004c */ lw $v0,0x4c($sp)
/* f06b4e8: c7a40020 */ lwc1 $f4,0x20($sp)
/* f06b4ec: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06b4f0: c4460000 */ lwc1 $f6,0x0($v0)
/* f06b4f4: c7b20024 */ lwc1 $f18,0x24($sp)
/* f06b4f8: 8fa30060 */ lw $v1,0x60($sp)
/* f06b4fc: 46062201 */ sub.s $f8,$f4,$f6
/* f06b500: c4440004 */ lwc1 $f4,0x4($v0)
/* f06b504: 8fa4005c */ lw $a0,0x5c($sp)
/* f06b508: 460a4402 */ mul.s $f16,$f8,$f10
/* f06b50c: 46049181 */ sub.s $f6,$f18,$f4
/* f06b510: c6080004 */ lwc1 $f8,0x4($s0)
/* f06b514: c7a40028 */ lwc1 $f4,0x28($sp)
/* f06b518: 46083282 */ mul.s $f10,$f6,$f8
/* f06b51c: c4460008 */ lwc1 $f6,0x8($v0)
/* f06b520: 8fa20058 */ lw $v0,0x58($sp)
/* f06b524: 46062201 */ sub.s $f8,$f4,$f6
/* f06b528: c4640000 */ lwc1 $f4,0x0($v1)
/* f06b52c: 460a8480 */ add.s $f18,$f16,$f10
/* f06b530: c6100008 */ lwc1 $f16,0x8($s0)
/* f06b534: 46088282 */ mul.s $f10,$f16,$f8
/* f06b538: 46125000 */ add.s $f0,$f10,$f18
/* f06b53c: 4604003c */ c.lt.s $f0,$f4
/* f06b540: 00000000 */ nop
/* f06b544: 4502002d */ bc1fl .L0f06b5fc
/* f06b548: 00001025 */ or $v0,$zero,$zero
/* f06b54c: e4600000 */ swc1 $f0,0x0($v1)
/* f06b550: c7a60020 */ lwc1 $f6,0x20($sp)
/* f06b554: 44801000 */ mtc1 $zero,$f2
/* f06b558: 24850004 */ addiu $a1,$a0,0x4
/* f06b55c: e4460000 */ swc1 $f6,0x0($v0)
/* f06b560: c7b00024 */ lwc1 $f16,0x24($sp)
/* f06b564: e4500004 */ swc1 $f16,0x4($v0)
/* f06b568: c7a80028 */ lwc1 $f8,0x28($sp)
/* f06b56c: e4480008 */ swc1 $f8,0x8($v0)
/* f06b570: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06b574: e4820004 */ swc1 $f2,0x4($a0)
/* f06b578: 46005487 */ neg.s $f18,$f10
/* f06b57c: e4920000 */ swc1 $f18,0x0($a0)
/* f06b580: c4900000 */ lwc1 $f16,0x0($a0)
/* f06b584: c6040008 */ lwc1 $f4,0x8($s0)
/* f06b588: 46101032 */ c.eq.s $f2,$f16
/* f06b58c: 46002187 */ neg.s $f6,$f4
/* f06b590: 45000007 */ bc1f .L0f06b5b0
/* f06b594: e4860008 */ swc1 $f6,0x8($a0)
/* f06b598: c4880008 */ lwc1 $f8,0x8($a0)
/* f06b59c: 3c013f80 */ lui $at,0x3f80
/* f06b5a0: 46081032 */ c.eq.s $f2,$f8
/* f06b5a4: 00000000 */ nop
/* f06b5a8: 45030006 */ bc1tl .L0f06b5c4
/* f06b5ac: 44815000 */ mtc1 $at,$f10
.L0f06b5b0:
/* f06b5b0: 0c0011e4 */ jal guNormalize
/* f06b5b4: 24860008 */ addiu $a2,$a0,0x8
/* f06b5b8: 10000005 */ b .L0f06b5d0
/* f06b5bc: 8fae0048 */ lw $t6,0x48($sp)
/* f06b5c0: 44815000 */ mtc1 $at,$f10
.L0f06b5c4:
/* f06b5c4: 00000000 */ nop
/* f06b5c8: e48a0008 */ swc1 $f10,0x8($a0)
/* f06b5cc: 8fae0048 */ lw $t6,0x48($sp)
.L0f06b5d0:
/* f06b5d0: 3c018007 */ lui $at,%hi(var80069930)
/* f06b5d4: 24020001 */ addiu $v0,$zero,0x1
/* f06b5d8: ac2e9930 */ sw $t6,%lo(var80069930)($at)
/* f06b5dc: 3c018007 */ lui $at,%hi(var80069934)
/* f06b5e0: ac209934 */ sw $zero,%lo(var80069934)($at)
/* f06b5e4: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06b5e8: ac20ce70 */ sw $zero,%lo(var8009ce70)($at)
/* f06b5ec: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06b5f0: 10000002 */ b .L0f06b5fc
/* f06b5f4: ac20ce74 */ sw $zero,%lo(var8009ce74)($at)
.L0f06b5f8:
/* f06b5f8: 00001025 */ or $v0,$zero,$zero
.L0f06b5fc:
/* f06b5fc: 8fbf001c */ lw $ra,0x1c($sp)
/* f06b600: 8fb00018 */ lw $s0,0x18($sp)
/* f06b604: 27bd0048 */ addiu $sp,$sp,0x48
/* f06b608: 03e00008 */ jr $ra
/* f06b60c: 00000000 */ nop
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f06b488
/* f06b488: 27bdffb8 */ addiu $sp,$sp,-72
/* f06b48c: afa40048 */ sw $a0,0x48($sp)
/* f06b490: afa5004c */ sw $a1,0x4c($sp)
/* f06b494: 00a02025 */ or $a0,$a1,$zero
/* f06b498: afbf001c */ sw $ra,0x1c($sp)
/* f06b49c: afb00018 */ sw $s0,0x18($sp)
/* f06b4a0: afa60050 */ sw $a2,0x50($sp)
/* f06b4a4: 00c02825 */ or $a1,$a2,$zero
/* f06b4a8: 00e08025 */ or $s0,$a3,$zero
/* f06b4ac: 0c00b7b6 */ jal cd0002ded8
/* f06b4b0: 8fa60048 */ lw $a2,0x48($sp)
/* f06b4b4: 14400050 */ bnez $v0,.L0f06b5f8
/* f06b4b8: 27a4003c */ addiu $a0,$sp,0x3c
/* f06b4bc: 3c077f1b */ lui $a3,%hi(var7f1a9f7c)
/* f06b4c0: 24e79f7c */ addiu $a3,$a3,%lo(var7f1a9f7c)
/* f06b4c4: 27a50030 */ addiu $a1,$sp,0x30
/* f06b4c8: 0c009393 */ jal cd00024e4c
/* f06b4cc: 24060b5d */ addiu $a2,$zero,0xb5d
/* f06b4d0: 3c067f1b */ lui $a2,%hi(var7f1a9f88)
/* f06b4d4: 24c69f88 */ addiu $a2,$a2,%lo(var7f1a9f88)
/* f06b4d8: 27a40020 */ addiu $a0,$sp,0x20
/* f06b4dc: 0c0093af */ jal cdGetPos
/* f06b4e0: 24050b5e */ addiu $a1,$zero,0xb5e
/* f06b4e4: 8fa2004c */ lw $v0,0x4c($sp)
/* f06b4e8: c7a40020 */ lwc1 $f4,0x20($sp)
/* f06b4ec: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06b4f0: c4460000 */ lwc1 $f6,0x0($v0)
/* f06b4f4: c7b20024 */ lwc1 $f18,0x24($sp)
/* f06b4f8: 8fa30060 */ lw $v1,0x60($sp)
/* f06b4fc: 46062201 */ sub.s $f8,$f4,$f6
/* f06b500: c4440004 */ lwc1 $f4,0x4($v0)
/* f06b504: 8fa4005c */ lw $a0,0x5c($sp)
/* f06b508: 460a4402 */ mul.s $f16,$f8,$f10
/* f06b50c: 46049181 */ sub.s $f6,$f18,$f4
/* f06b510: c6080004 */ lwc1 $f8,0x4($s0)
/* f06b514: c7a40028 */ lwc1 $f4,0x28($sp)
/* f06b518: 46083282 */ mul.s $f10,$f6,$f8
/* f06b51c: c4460008 */ lwc1 $f6,0x8($v0)
/* f06b520: 8fa20058 */ lw $v0,0x58($sp)
/* f06b524: 46062201 */ sub.s $f8,$f4,$f6
/* f06b528: c4640000 */ lwc1 $f4,0x0($v1)
/* f06b52c: 460a8480 */ add.s $f18,$f16,$f10
/* f06b530: c6100008 */ lwc1 $f16,0x8($s0)
/* f06b534: 46088282 */ mul.s $f10,$f16,$f8
/* f06b538: 46125000 */ add.s $f0,$f10,$f18
/* f06b53c: 4604003c */ c.lt.s $f0,$f4
/* f06b540: 00000000 */ nop
/* f06b544: 4502002d */ bc1fl .L0f06b5fc
/* f06b548: 00001025 */ or $v0,$zero,$zero
/* f06b54c: e4600000 */ swc1 $f0,0x0($v1)
/* f06b550: c7a60020 */ lwc1 $f6,0x20($sp)
/* f06b554: 44801000 */ mtc1 $zero,$f2
/* f06b558: 24850004 */ addiu $a1,$a0,0x4
/* f06b55c: e4460000 */ swc1 $f6,0x0($v0)
/* f06b560: c7b00024 */ lwc1 $f16,0x24($sp)
/* f06b564: e4500004 */ swc1 $f16,0x4($v0)
/* f06b568: c7a80028 */ lwc1 $f8,0x28($sp)
/* f06b56c: e4480008 */ swc1 $f8,0x8($v0)
/* f06b570: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06b574: e4820004 */ swc1 $f2,0x4($a0)
/* f06b578: 46005487 */ neg.s $f18,$f10
/* f06b57c: e4920000 */ swc1 $f18,0x0($a0)
/* f06b580: c4900000 */ lwc1 $f16,0x0($a0)
/* f06b584: c6040008 */ lwc1 $f4,0x8($s0)
/* f06b588: 46101032 */ c.eq.s $f2,$f16
/* f06b58c: 46002187 */ neg.s $f6,$f4
/* f06b590: 45000007 */ bc1f .L0f06b5b0
/* f06b594: e4860008 */ swc1 $f6,0x8($a0)
/* f06b598: c4880008 */ lwc1 $f8,0x8($a0)
/* f06b59c: 3c013f80 */ lui $at,0x3f80
/* f06b5a0: 46081032 */ c.eq.s $f2,$f8
/* f06b5a4: 00000000 */ nop
/* f06b5a8: 45030006 */ bc1tl .L0f06b5c4
/* f06b5ac: 44815000 */ mtc1 $at,$f10
.L0f06b5b0:
/* f06b5b0: 0c0011e4 */ jal guNormalize
/* f06b5b4: 24860008 */ addiu $a2,$a0,0x8
/* f06b5b8: 10000005 */ b .L0f06b5d0
/* f06b5bc: 8fae0048 */ lw $t6,0x48($sp)
/* f06b5c0: 44815000 */ mtc1 $at,$f10
.L0f06b5c4:
/* f06b5c4: 00000000 */ nop
/* f06b5c8: e48a0008 */ swc1 $f10,0x8($a0)
/* f06b5cc: 8fae0048 */ lw $t6,0x48($sp)
.L0f06b5d0:
/* f06b5d0: 3c018007 */ lui $at,%hi(var80069930)
/* f06b5d4: 24020001 */ addiu $v0,$zero,0x1
/* f06b5d8: ac2e9930 */ sw $t6,%lo(var80069930)($at)
/* f06b5dc: 3c018007 */ lui $at,%hi(var80069934)
/* f06b5e0: ac209934 */ sw $zero,%lo(var80069934)($at)
/* f06b5e4: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06b5e8: ac20ce70 */ sw $zero,%lo(var8009ce70)($at)
/* f06b5ec: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06b5f0: 10000002 */ b .L0f06b5fc
/* f06b5f4: ac20ce74 */ sw $zero,%lo(var8009ce74)($at)
.L0f06b5f8:
/* f06b5f8: 00001025 */ or $v0,$zero,$zero
.L0f06b5fc:
/* f06b5fc: 8fbf001c */ lw $ra,0x1c($sp)
/* f06b600: 8fb00018 */ lw $s0,0x18($sp)
/* f06b604: 27bd0048 */ addiu $sp,$sp,0x48
/* f06b608: 03e00008 */ jr $ra
/* f06b60c: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f06b488
/* f06b488: 27bdffb8 */ addiu $sp,$sp,-72
/* f06b48c: afa40048 */ sw $a0,0x48($sp)
/* f06b490: afa5004c */ sw $a1,0x4c($sp)
/* f06b494: 00a02025 */ or $a0,$a1,$zero
/* f06b498: afbf001c */ sw $ra,0x1c($sp)
/* f06b49c: afb00018 */ sw $s0,0x18($sp)
/* f06b4a0: afa60050 */ sw $a2,0x50($sp)
/* f06b4a4: 00c02825 */ or $a1,$a2,$zero
/* f06b4a8: 00e08025 */ or $s0,$a3,$zero
/* f06b4ac: 0c00b7b6 */ jal cd0002ded8
/* f06b4b0: 8fa60048 */ lw $a2,0x48($sp)
/* f06b4b4: 14400050 */ bnez $v0,.L0f06b5f8
/* f06b4b8: 27a4003c */ addiu $a0,$sp,0x3c
/* f06b4bc: 3c077f1b */ lui $a3,%hi(var7f1a9f7c)
/* f06b4c0: 24e79f7c */ addiu $a3,$a3,%lo(var7f1a9f7c)
/* f06b4c4: 27a50030 */ addiu $a1,$sp,0x30
/* f06b4c8: 0c009393 */ jal cd00024e4c
/* f06b4cc: 24060b5d */ addiu $a2,$zero,0xb52
/* f06b4d0: 3c067f1b */ lui $a2,%hi(var7f1a9f88)
/* f06b4d4: 24c69f88 */ addiu $a2,$a2,%lo(var7f1a9f88)
/* f06b4d8: 27a40020 */ addiu $a0,$sp,0x20
/* f06b4dc: 0c0093af */ jal cdGetPos
/* f06b4e0: 24050b5e */ addiu $a1,$zero,0xb53
/* f06b4e4: 8fa2004c */ lw $v0,0x4c($sp)
/* f06b4e8: c7a40020 */ lwc1 $f4,0x20($sp)
/* f06b4ec: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06b4f0: c4460000 */ lwc1 $f6,0x0($v0)
/* f06b4f4: c7b20024 */ lwc1 $f18,0x24($sp)
/* f06b4f8: 8fa30060 */ lw $v1,0x60($sp)
/* f06b4fc: 46062201 */ sub.s $f8,$f4,$f6
/* f06b500: c4440004 */ lwc1 $f4,0x4($v0)
/* f06b504: 8fa4005c */ lw $a0,0x5c($sp)
/* f06b508: 460a4402 */ mul.s $f16,$f8,$f10
/* f06b50c: 46049181 */ sub.s $f6,$f18,$f4
/* f06b510: c6080004 */ lwc1 $f8,0x4($s0)
/* f06b514: c7a40028 */ lwc1 $f4,0x28($sp)
/* f06b518: 46083282 */ mul.s $f10,$f6,$f8
/* f06b51c: c4460008 */ lwc1 $f6,0x8($v0)
/* f06b520: 8fa20058 */ lw $v0,0x58($sp)
/* f06b524: 46062201 */ sub.s $f8,$f4,$f6
/* f06b528: c4640000 */ lwc1 $f4,0x0($v1)
/* f06b52c: 460a8480 */ add.s $f18,$f16,$f10
/* f06b530: c6100008 */ lwc1 $f16,0x8($s0)
/* f06b534: 46088282 */ mul.s $f10,$f16,$f8
/* f06b538: 46125000 */ add.s $f0,$f10,$f18
/* f06b53c: 4604003c */ c.lt.s $f0,$f4
/* f06b540: 00000000 */ nop
/* f06b544: 4502002d */ bc1fl .L0f06b5fc
/* f06b548: 00001025 */ or $v0,$zero,$zero
/* f06b54c: e4600000 */ swc1 $f0,0x0($v1)
/* f06b550: c7a60020 */ lwc1 $f6,0x20($sp)
/* f06b554: 44801000 */ mtc1 $zero,$f2
/* f06b558: 24850004 */ addiu $a1,$a0,0x4
/* f06b55c: e4460000 */ swc1 $f6,0x0($v0)
/* f06b560: c7b00024 */ lwc1 $f16,0x24($sp)
/* f06b564: e4500004 */ swc1 $f16,0x4($v0)
/* f06b568: c7a80028 */ lwc1 $f8,0x28($sp)
/* f06b56c: e4480008 */ swc1 $f8,0x8($v0)
/* f06b570: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06b574: e4820004 */ swc1 $f2,0x4($a0)
/* f06b578: 46005487 */ neg.s $f18,$f10
/* f06b57c: e4920000 */ swc1 $f18,0x0($a0)
/* f06b580: c4900000 */ lwc1 $f16,0x0($a0)
/* f06b584: c6040008 */ lwc1 $f4,0x8($s0)
/* f06b588: 46101032 */ c.eq.s $f2,$f16
/* f06b58c: 46002187 */ neg.s $f6,$f4
/* f06b590: 45000007 */ bc1f .L0f06b5b0
/* f06b594: e4860008 */ swc1 $f6,0x8($a0)
/* f06b598: c4880008 */ lwc1 $f8,0x8($a0)
/* f06b59c: 3c013f80 */ lui $at,0x3f80
/* f06b5a0: 46081032 */ c.eq.s $f2,$f8
/* f06b5a4: 00000000 */ nop
/* f06b5a8: 45030006 */ bc1tl .L0f06b5c4
/* f06b5ac: 44815000 */ mtc1 $at,$f10
.L0f06b5b0:
/* f06b5b0: 0c0011e4 */ jal guNormalize
/* f06b5b4: 24860008 */ addiu $a2,$a0,0x8
/* f06b5b8: 10000005 */ b .L0f06b5d0
/* f06b5bc: 8fae0048 */ lw $t6,0x48($sp)
/* f06b5c0: 44815000 */ mtc1 $at,$f10
.L0f06b5c4:
/* f06b5c4: 00000000 */ nop
/* f06b5c8: e48a0008 */ swc1 $f10,0x8($a0)
/* f06b5cc: 8fae0048 */ lw $t6,0x48($sp)
.L0f06b5d0:
/* f06b5d0: 3c018007 */ lui $at,%hi(var80069930)
/* f06b5d4: 24020001 */ addiu $v0,$zero,0x1
/* f06b5d8: ac2e9930 */ sw $t6,%lo(var80069930)($at)
/* f06b5dc: 3c018007 */ lui $at,%hi(var80069934)
/* f06b5e0: ac209934 */ sw $zero,%lo(var80069934)($at)
/* f06b5e4: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06b5e8: ac20ce70 */ sw $zero,%lo(var8009ce70)($at)
/* f06b5ec: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06b5f0: 10000002 */ b .L0f06b5fc
/* f06b5f4: ac20ce74 */ sw $zero,%lo(var8009ce74)($at)
.L0f06b5f8:
/* f06b5f8: 00001025 */ or $v0,$zero,$zero
.L0f06b5fc:
/* f06b5fc: 8fbf001c */ lw $ra,0x1c($sp)
/* f06b600: 8fb00018 */ lw $s0,0x18($sp)
/* f06b604: 27bd0048 */ addiu $sp,$sp,0x48
/* f06b608: 03e00008 */ jr $ra
/* f06b60c: 00000000 */ nop
);
#endif
GLOBAL_ASM(
glabel func0f06b610
/* f06b610: 27bdfed0 */ addiu $sp,$sp,-304
/* f06b614: afbf005c */ sw $ra,0x5c($sp)
/* f06b618: afbe0058 */ sw $s8,0x58($sp)
/* f06b61c: afb70054 */ sw $s7,0x54($sp)
/* f06b620: afb60050 */ sw $s6,0x50($sp)
/* f06b624: afb5004c */ sw $s5,0x4c($sp)
/* f06b628: afb40048 */ sw $s4,0x48($sp)
/* f06b62c: afb30044 */ sw $s3,0x44($sp)
/* f06b630: afb20040 */ sw $s2,0x40($sp)
/* f06b634: afb1003c */ sw $s1,0x3c($sp)
/* f06b638: afb00038 */ sw $s0,0x38($sp)
/* f06b63c: f7b40030 */ sdc1 $f20,0x30($sp)
/* f06b640: afa50134 */ sw $a1,0x134($sp)
/* f06b644: afa60138 */ sw $a2,0x138($sp)
/* f06b648: afa7013c */ sw $a3,0x13c($sp)
/* f06b64c: 8c940018 */ lw $s4,0x18($a0)
/* f06b650: 00808025 */ or $s0,$a0,$zero
/* f06b654: 0c006be0 */ jal model0001af80
/* f06b658: 02802025 */ or $a0,$s4,$zero
/* f06b65c: 8e020014 */ lw $v0,0x14($s0)
/* f06b660: afa000e4 */ sw $zero,0xe4($sp)
/* f06b664: 4480a000 */ mtc1 $zero,$f20
/* f06b668: 8c4e0018 */ lw $t6,0x18($v0)
/* f06b66c: 0000f025 */ or $s8,$zero,$zero
/* f06b670: 8faf0134 */ lw $t7,0x134($sp)
/* f06b674: 15c00013 */ bnez $t6,.L0f06b6c4
/* f06b678: 4600a406 */ mov.s $f16,$f20
/* f06b67c: c4440008 */ lwc1 $f4,0x8($v0)
/* f06b680: c5e60000 */ lwc1 $f6,0x0($t7)
/* f06b684: c448000c */ lwc1 $f8,0xc($v0)
/* f06b688: c5ea0004 */ lwc1 $f10,0x4($t7)
/* f06b68c: 8fb8013c */ lw $t8,0x13c($sp)
/* f06b690: 46062081 */ sub.s $f2,$f4,$f6
/* f06b694: c5e40008 */ lwc1 $f4,0x8($t7)
/* f06b698: c7060000 */ lwc1 $f6,0x0($t8)
/* f06b69c: 460a4301 */ sub.s $f12,$f8,$f10
/* f06b6a0: c4520010 */ lwc1 $f18,0x10($v0)
/* f06b6a4: 46061202 */ mul.s $f8,$f2,$f6
/* f06b6a8: c70a0004 */ lwc1 $f10,0x4($t8)
/* f06b6ac: 46049381 */ sub.s $f14,$f18,$f4
/* f06b6b0: c7060008 */ lwc1 $f6,0x8($t8)
/* f06b6b4: 460a6482 */ mul.s $f18,$f12,$f10
/* f06b6b8: 46124100 */ add.s $f4,$f8,$f18
/* f06b6bc: 460e3282 */ mul.s $f10,$f6,$f14
/* f06b6c0: 46045400 */ add.s $f16,$f10,$f4
.L0f06b6c4:
/* f06b6c4: 46000207 */ neg.s $f8,$f0
/* f06b6c8: afa20114 */ sw $v0,0x114($sp)
/* f06b6cc: 4610403e */ c.le.s $f8,$f16
/* f06b6d0: 00000000 */ nop
/* f06b6d4: 450201ab */ bc1fl .L0f06bd84
/* f06b6d8: 8fa20114 */ lw $v0,0x114($sp)
/* f06b6dc: c7b20140 */ lwc1 $f18,0x140($sp)
/* f06b6e0: afa20114 */ sw $v0,0x114($sp)
/* f06b6e4: 46009180 */ add.s $f6,$f18,$f0
/* f06b6e8: 4606803e */ c.le.s $f16,$f6
/* f06b6ec: 00000000 */ nop
/* f06b6f0: 450201a4 */ bc1fl .L0f06bd84
/* f06b6f4: 8fa20114 */ lw $v0,0x114($sp)
/* f06b6f8: 90590001 */ lbu $t9,0x1($v0)
/* f06b6fc: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06b700: 02802025 */ or $a0,$s4,$zero
/* f06b704: 33280002 */ andi $t0,$t9,0x2
/* f06b708: 11000181 */ beqz $t0,.L0f06bd10
/* f06b70c: 00000000 */ nop
/* f06b710: c42aefc0 */ lwc1 $f10,%lo(var8005efc0)($at)
/* f06b714: 8fb20148 */ lw $s2,0x148($sp)
/* f06b718: 8fb30144 */ lw $s3,0x144($sp)
/* f06b71c: 460aa03c */ c.lt.s $f20,$f10
/* f06b720: 02802025 */ or $a0,$s4,$zero
/* f06b724: 27b600b4 */ addiu $s6,$sp,0xb4
/* f06b728: 02403025 */ or $a2,$s2,$zero
/* f06b72c: 45000088 */ bc1f .L0f06b950
/* f06b730: 02602825 */ or $a1,$s3,$zero
/* f06b734: 27a700e4 */ addiu $a3,$sp,0xe4
/* f06b738: 0c008975 */ jal model000225d4
/* f06b73c: afa20114 */ sw $v0,0x114($sp)
/* f06b740: 18400081 */ blez $v0,.L0f06b948
/* f06b744: 0040a825 */ or $s5,$v0,$zero
/* f06b748: 3c118007 */ lui $s1,%hi(var8006993c)
/* f06b74c: 2631993c */ addiu $s1,$s1,%lo(var8006993c)
/* f06b750: 8fb70154 */ lw $s7,0x154($sp)
/* f06b754: 27b600b4 */ addiu $s6,$sp,0xb4
/* f06b758: 8fb00150 */ lw $s0,0x150($sp)
.L0f06b75c:
/* f06b75c: 27a900b0 */ addiu $t1,$sp,0xb0
/* f06b760: 27aa00ec */ addiu $t2,$sp,0xec
/* f06b764: afaa0018 */ sw $t2,0x18($sp)
/* f06b768: afa90014 */ sw $t1,0x14($sp)
/* f06b76c: 02802025 */ or $a0,$s4,$zero
/* f06b770: 8fa500e4 */ lw $a1,0xe4($sp)
/* f06b774: 02603025 */ or $a2,$s3,$zero
/* f06b778: 02403825 */ or $a3,$s2,$zero
/* f06b77c: 0fc21165 */ jal func0f084594
/* f06b780: afb60010 */ sw $s6,0x10($sp)
/* f06b784: 10400069 */ beqz $v0,.L0f06b92c
/* f06b788: 8fac00b0 */ lw $t4,0xb0($sp)
/* f06b78c: 8e8b000c */ lw $t3,0xc($s4)
/* f06b790: 000c6980 */ sll $t5,$t4,0x6
/* f06b794: 02c02825 */ or $a1,$s6,$zero
/* f06b798: 27a600fc */ addiu $a2,$sp,0xfc
/* f06b79c: 0c0056da */ jal mtx4TransformVec
/* f06b7a0: 016d2021 */ addu $a0,$t3,$t5
/* f06b7a4: c7a400fc */ lwc1 $f4,0xfc($sp)
/* f06b7a8: c6680000 */ lwc1 $f8,0x0($s3)
/* f06b7ac: c6460000 */ lwc1 $f6,0x0($s2)
/* f06b7b0: 8faf00b0 */ lw $t7,0xb0($sp)
/* f06b7b4: 46082481 */ sub.s $f18,$f4,$f8
/* f06b7b8: c6680004 */ lwc1 $f8,0x4($s3)
/* f06b7bc: c7a40100 */ lwc1 $f4,0x100($sp)
/* f06b7c0: 27a500c0 */ addiu $a1,$sp,0xc0
/* f06b7c4: 46069282 */ mul.s $f10,$f18,$f6
/* f06b7c8: 46082481 */ sub.s $f18,$f4,$f8
/* f06b7cc: c6460004 */ lwc1 $f6,0x4($s2)
/* f06b7d0: 27a600f0 */ addiu $a2,$sp,0xf0
/* f06b7d4: 000fc180 */ sll $t8,$t7,0x6
/* f06b7d8: 46069102 */ mul.s $f4,$f18,$f6
/* f06b7dc: c6660008 */ lwc1 $f6,0x8($s3)
/* f06b7e0: c7b20104 */ lwc1 $f18,0x104($sp)
/* f06b7e4: 46045200 */ add.s $f8,$f10,$f4
/* f06b7e8: c6440008 */ lwc1 $f4,0x8($s2)
/* f06b7ec: 46069281 */ sub.s $f10,$f18,$f6
/* f06b7f0: c6e60000 */ lwc1 $f6,0x0($s7)
/* f06b7f4: 460a2482 */ mul.s $f18,$f4,$f10
/* f06b7f8: 46089000 */ add.s $f0,$f18,$f8
/* f06b7fc: 4606003c */ c.lt.s $f0,$f6
/* f06b800: 00000000 */ nop
/* f06b804: 4502004a */ bc1fl .L0f06b930
/* f06b808: 02802025 */ or $a0,$s4,$zero
/* f06b80c: 8e8e000c */ lw $t6,0xc($s4)
/* f06b810: e7a00108 */ swc1 $f0,0x108($sp)
/* f06b814: 241e0001 */ addiu $s8,$zero,0x1
/* f06b818: 0c0056c5 */ jal mtx4RotateVec
/* f06b81c: 01d82021 */ addu $a0,$t6,$t8
/* f06b820: c7a00108 */ lwc1 $f0,0x108($sp)
/* f06b824: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06b828: e6e00000 */ swc1 $f0,0x0($s7)
/* f06b82c: 00402025 */ or $a0,$v0,$zero
/* f06b830: 27a500fc */ addiu $a1,$sp,0xfc
/* f06b834: 0c0056da */ jal mtx4TransformVec
/* f06b838: 8fa6014c */ lw $a2,0x14c($sp)
/* f06b83c: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06b840: 00000000 */ nop
/* f06b844: 00402025 */ or $a0,$v0,$zero
/* f06b848: 27a500f0 */ addiu $a1,$sp,0xf0
/* f06b84c: 0c0056c5 */ jal mtx4RotateVec
/* f06b850: 02003025 */ or $a2,$s0,$zero
/* f06b854: c6040000 */ lwc1 $f4,0x0($s0)
/* f06b858: 02002025 */ or $a0,$s0,$zero
/* f06b85c: 26050004 */ addiu $a1,$s0,0x4
/* f06b860: 4604a032 */ c.eq.s $f20,$f4
/* f06b864: 00000000 */ nop
/* f06b868: 4500000c */ bc1f .L0f06b89c
/* f06b86c: 00000000 */ nop
/* f06b870: c60a0004 */ lwc1 $f10,0x4($s0)
/* f06b874: 460aa032 */ c.eq.s $f20,$f10
/* f06b878: 00000000 */ nop
/* f06b87c: 45000007 */ bc1f .L0f06b89c
/* f06b880: 00000000 */ nop
/* f06b884: c6120008 */ lwc1 $f18,0x8($s0)
/* f06b888: 3c013f80 */ lui $at,0x3f80
/* f06b88c: 4612a032 */ c.eq.s $f20,$f18
/* f06b890: 00000000 */ nop
/* f06b894: 45030006 */ bc1tl .L0f06b8b0
/* f06b898: 44814000 */ mtc1 $at,$f8
.L0f06b89c:
/* f06b89c: 0c0011e4 */ jal guNormalize
/* f06b8a0: 26060008 */ addiu $a2,$s0,0x8
/* f06b8a4: 10000005 */ b .L0f06b8bc
/* f06b8a8: 8fb90114 */ lw $t9,0x114($sp)
/* f06b8ac: 44814000 */ mtc1 $at,$f8
.L0f06b8b0:
/* f06b8b0: 00000000 */ nop
/* f06b8b4: e6080008 */ swc1 $f8,0x8($s0)
/* f06b8b8: 8fb90114 */ lw $t9,0x114($sp)
.L0f06b8bc:
/* f06b8bc: 3c018007 */ lui $at,%hi(var80069930)
/* f06b8c0: c7a600b4 */ lwc1 $f6,0xb4($sp)
/* f06b8c4: ac399930 */ sw $t9,%lo(var80069930)($at)
/* f06b8c8: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06b8cc: ac34ce70 */ sw $s4,%lo(var8009ce70)($at)
/* f06b8d0: 8fa800e4 */ lw $t0,0xe4($sp)
/* f06b8d4: c7aa00b8 */ lwc1 $f10,0xb8($sp)
/* f06b8d8: c7a800bc */ lwc1 $f8,0xbc($sp)
/* f06b8dc: 3c018007 */ lui $at,%hi(var80069934)
/* f06b8e0: 87a900dc */ lh $t1,0xdc($sp)
/* f06b8e4: ac359934 */ sw $s5,%lo(var80069934)($at)
/* f06b8e8: 4600310d */ trunc.w.s $f4,$f6
/* f06b8ec: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06b8f0: ac28ce74 */ sw $t0,%lo(var8009ce74)($at)
/* f06b8f4: 4600548d */ trunc.w.s $f18,$f10
/* f06b8f8: 05210003 */ bgez $t1,.L0f06b908
/* f06b8fc: 00095043 */ sra $t2,$t1,0x1
/* f06b900: 25210001 */ addiu $at,$t1,0x1
/* f06b904: 00015043 */ sra $t2,$at,0x1
.L0f06b908:
/* f06b908: 4600418d */ trunc.w.s $f6,$f8
/* f06b90c: 3c018007 */ lui $at,%hi(var80069938)
/* f06b910: 440b2000 */ mfc1 $t3,$f4
/* f06b914: 440f9000 */ mfc1 $t7,$f18
/* f06b918: 44183000 */ mfc1 $t8,$f6
/* f06b91c: ac2a9938 */ sw $t2,%lo(var80069938)($at)
/* f06b920: a62b0000 */ sh $t3,0x0($s1)
/* f06b924: a62f0002 */ sh $t7,0x2($s1)
/* f06b928: a6380004 */ sh $t8,0x4($s1)
.L0f06b92c:
/* f06b92c: 02802025 */ or $a0,$s4,$zero
.L0f06b930:
/* f06b930: 02602825 */ or $a1,$s3,$zero
/* f06b934: 02403025 */ or $a2,$s2,$zero
/* f06b938: 0c008975 */ jal model000225d4
/* f06b93c: 27a700e4 */ addiu $a3,$sp,0xe4
/* f06b940: 1c40ff86 */ bgtz $v0,.L0f06b75c
/* f06b944: 0040a825 */ or $s5,$v0,$zero
.L0f06b948:
/* f06b948: 100000ef */ b .L0f06bd08
/* f06b94c: 00000000 */ nop
.L0f06b950:
/* f06b950: afa20114 */ sw $v0,0x114($sp)
/* f06b954: e7b00118 */ swc1 $f16,0x118($sp)
/* f06b958: 8fb30144 */ lw $s3,0x144($sp)
/* f06b95c: 8fb20148 */ lw $s2,0x148($sp)
/* f06b960: 02802025 */ or $a0,$s4,$zero
.L0f06b964:
/* f06b964: 02602825 */ or $a1,$s3,$zero
/* f06b968: 02403025 */ or $a2,$s2,$zero
/* f06b96c: 0c008975 */ jal model000225d4
/* f06b970: 27a700e4 */ addiu $a3,$sp,0xe4
/* f06b974: 1840000d */ blez $v0,.L0f06b9ac
/* f06b978: 0040a825 */ or $s5,$v0,$zero
/* f06b97c: 27b900b0 */ addiu $t9,$sp,0xb0
/* f06b980: 27a800ec */ addiu $t0,$sp,0xec
/* f06b984: afa80018 */ sw $t0,0x18($sp)
/* f06b988: afb90014 */ sw $t9,0x14($sp)
/* f06b98c: 02802025 */ or $a0,$s4,$zero
/* f06b990: 8fa500e4 */ lw $a1,0xe4($sp)
/* f06b994: 02603025 */ or $a2,$s3,$zero
/* f06b998: 02403825 */ or $a3,$s2,$zero
/* f06b99c: 0fc21277 */ jal func0f0849dc
/* f06b9a0: afb60010 */ sw $s6,0x10($sp)
/* f06b9a4: 54400004 */ bnezl $v0,.L0f06b9b8
/* f06b9a8: 8e090010 */ lw $t1,0x10($s0)
.L0f06b9ac:
/* f06b9ac: 5ea0ffed */ bgtzl $s5,.L0f06b964
/* f06b9b0: 02802025 */ or $a0,$s4,$zero
/* f06b9b4: 8e090010 */ lw $t1,0x10($s0)
.L0f06b9b8:
/* f06b9b8: 24050067 */ addiu $a1,$zero,0x67
/* f06b9bc: 000952c0 */ sll $t2,$t1,0xb
/* f06b9c0: 05410046 */ bgez $t2,.L0f06badc
/* f06b9c4: 00000000 */ nop
/* f06b9c8: 0c006a47 */ jal modelGetPart
/* f06b9cc: 8e840008 */ lw $a0,0x8($s4)
/* f06b9d0: 10400042 */ beqz $v0,.L0f06badc
/* f06b9d4: 00402825 */ or $a1,$v0,$zero
/* f06b9d8: 27b0007c */ addiu $s0,$sp,0x7c
/* f06b9dc: 27ac0078 */ addiu $t4,$sp,0x78
/* f06b9e0: 27ab0074 */ addiu $t3,$sp,0x74
/* f06b9e4: afab0018 */ sw $t3,0x18($sp)
/* f06b9e8: afac0014 */ sw $t4,0x14($sp)
/* f06b9ec: afb00010 */ sw $s0,0x10($sp)
/* f06b9f0: 02802025 */ or $a0,$s4,$zero
/* f06b9f4: 02603025 */ or $a2,$s3,$zero
/* f06b9f8: 0fc21165 */ jal func0f084594
/* f06b9fc: 02403825 */ or $a3,$s2,$zero
/* f06ba00: 10400036 */ beqz $v0,.L0f06badc
/* f06ba04: 00000000 */ nop
/* f06ba08: 1aa00021 */ blez $s5,.L0f06ba90
/* f06ba0c: 8fad00b0 */ lw $t5,0xb0($sp)
/* f06ba10: 8e84000c */ lw $a0,0xc($s4)
/* f06ba14: 000d7980 */ sll $t7,$t5,0x6
/* f06ba18: c7aa00b4 */ lwc1 $f10,0xb4($sp)
/* f06ba1c: 008f1021 */ addu $v0,$a0,$t7
/* f06ba20: c4440008 */ lwc1 $f4,0x8($v0)
/* f06ba24: c4480018 */ lwc1 $f8,0x18($v0)
/* f06ba28: c7a600b8 */ lwc1 $f6,0xb8($sp)
/* f06ba2c: 460a2482 */ mul.s $f18,$f4,$f10
/* f06ba30: 8fae0078 */ lw $t6,0x78($sp)
/* f06ba34: 46064102 */ mul.s $f4,$f8,$f6
/* f06ba38: c4460028 */ lwc1 $f6,0x28($v0)
/* f06ba3c: c7a800bc */ lwc1 $f8,0xbc($sp)
/* f06ba40: 000ec180 */ sll $t8,$t6,0x6
/* f06ba44: 00981821 */ addu $v1,$a0,$t8
/* f06ba48: 46049280 */ add.s $f10,$f18,$f4
/* f06ba4c: 46064482 */ mul.s $f18,$f8,$f6
/* f06ba50: c7a6007c */ lwc1 $f6,0x7c($sp)
/* f06ba54: c4680008 */ lwc1 $f8,0x8($v1)
/* f06ba58: 460a9100 */ add.s $f4,$f18,$f10
/* f06ba5c: 46064482 */ mul.s $f18,$f8,$f6
/* f06ba60: c7a80080 */ lwc1 $f8,0x80($sp)
/* f06ba64: c46a0018 */ lwc1 $f10,0x18($v1)
/* f06ba68: 46085182 */ mul.s $f6,$f10,$f8
/* f06ba6c: c4680028 */ lwc1 $f8,0x28($v1)
/* f06ba70: 46069280 */ add.s $f10,$f18,$f6
/* f06ba74: c7b20084 */ lwc1 $f18,0x84($sp)
/* f06ba78: 46124182 */ mul.s $f6,$f8,$f18
/* f06ba7c: 46065200 */ add.s $f8,$f10,$f6
/* f06ba80: 4608203c */ c.lt.s $f4,$f8
/* f06ba84: 00000000 */ nop
/* f06ba88: 45000014 */ bc1f .L0f06badc
/* f06ba8c: 00000000 */ nop
.L0f06ba90:
/* f06ba90: 24150001 */ addiu $s5,$zero,0x1
/* f06ba94: 02004825 */ or $t1,$s0,$zero
/* f06ba98: 02c05025 */ or $t2,$s6,$zero
/* f06ba9c: 26080030 */ addiu $t0,$s0,0x30
.L0f06baa0:
/* f06baa0: 8d210000 */ lw $at,0x0($t1)
/* f06baa4: 2529000c */ addiu $t1,$t1,0xc
/* f06baa8: 254a000c */ addiu $t2,$t2,0xc
/* f06baac: ad41fff4 */ sw $at,-0xc($t2)
/* f06bab0: 8d21fff8 */ lw $at,-0x8($t1)
/* f06bab4: ad41fff8 */ sw $at,-0x8($t2)
/* f06bab8: 8d21fffc */ lw $at,-0x4($t1)
/* f06babc: 1528fff8 */ bne $t1,$t0,.L0f06baa0
/* f06bac0: ad41fffc */ sw $at,-0x4($t2)
/* f06bac4: 8fac0078 */ lw $t4,0x78($sp)
/* f06bac8: 8fab0074 */ lw $t3,0x74($sp)
/* f06bacc: 240d2710 */ addiu $t5,$zero,0x2710
/* f06bad0: a7ad00de */ sh $t5,0xde($sp)
/* f06bad4: afac00b0 */ sw $t4,0xb0($sp)
/* f06bad8: afab00ec */ sw $t3,0xec($sp)
.L0f06badc:
/* f06badc: 1aa0008a */ blez $s5,.L0f06bd08
/* f06bae0: 8fae00b0 */ lw $t6,0xb0($sp)
/* f06bae4: 8e8f000c */ lw $t7,0xc($s4)
/* f06bae8: 000ec180 */ sll $t8,$t6,0x6
/* f06baec: 02c02825 */ or $a1,$s6,$zero
/* f06baf0: 27a600fc */ addiu $a2,$sp,0xfc
/* f06baf4: 0c0056da */ jal mtx4TransformVec
/* f06baf8: 01f82021 */ addu $a0,$t7,$t8
/* f06bafc: c7b200fc */ lwc1 $f18,0xfc($sp)
/* f06bb00: c66a0000 */ lwc1 $f10,0x0($s3)
/* f06bb04: c6440000 */ lwc1 $f4,0x0($s2)
/* f06bb08: 8fb70154 */ lw $s7,0x154($sp)
/* f06bb0c: 460a9181 */ sub.s $f6,$f18,$f10
/* f06bb10: c66a0004 */ lwc1 $f10,0x4($s3)
/* f06bb14: c7b20100 */ lwc1 $f18,0x100($sp)
/* f06bb18: 46043202 */ mul.s $f8,$f6,$f4
/* f06bb1c: 460a9181 */ sub.s $f6,$f18,$f10
/* f06bb20: c6440004 */ lwc1 $f4,0x4($s2)
/* f06bb24: 46043482 */ mul.s $f18,$f6,$f4
/* f06bb28: c6640008 */ lwc1 $f4,0x8($s3)
/* f06bb2c: c7a60104 */ lwc1 $f6,0x104($sp)
/* f06bb30: 46124280 */ add.s $f10,$f8,$f18
/* f06bb34: c6520008 */ lwc1 $f18,0x8($s2)
/* f06bb38: 46043201 */ sub.s $f8,$f6,$f4
/* f06bb3c: 46089182 */ mul.s $f6,$f18,$f8
/* f06bb40: 460a3000 */ add.s $f0,$f6,$f10
/* f06bb44: 4600a03e */ c.le.s $f20,$f0
/* f06bb48: 00000000 */ nop
/* f06bb4c: 4500006e */ bc1f .L0f06bd08
/* f06bb50: 00000000 */ nop
/* f06bb54: c6e40000 */ lwc1 $f4,0x0($s7)
/* f06bb58: 8fa800b0 */ lw $t0,0xb0($sp)
/* f06bb5c: 27a500c0 */ addiu $a1,$sp,0xc0
/* f06bb60: 4604003e */ c.le.s $f0,$f4
/* f06bb64: 00084980 */ sll $t1,$t0,0x6
/* f06bb68: 45000067 */ bc1f .L0f06bd08
/* f06bb6c: 00000000 */ nop
/* f06bb70: 8e99000c */ lw $t9,0xc($s4)
/* f06bb74: 27a600f0 */ addiu $a2,$sp,0xf0
/* f06bb78: 0c0056c5 */ jal mtx4RotateVec
/* f06bb7c: 03292021 */ addu $a0,$t9,$t1
/* f06bb80: c7b20118 */ lwc1 $f18,0x118($sp)
/* f06bb84: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06bb88: e6f20000 */ swc1 $f18,0x0($s7)
/* f06bb8c: 00402025 */ or $a0,$v0,$zero
/* f06bb90: 27a500fc */ addiu $a1,$sp,0xfc
/* f06bb94: 0c0056da */ jal mtx4TransformVec
/* f06bb98: 8fa6014c */ lw $a2,0x14c($sp)
/* f06bb9c: c7a800f0 */ lwc1 $f8,0xf0($sp)
/* f06bba0: c6460000 */ lwc1 $f6,0x0($s2)
/* f06bba4: c7a400f4 */ lwc1 $f4,0xf4($sp)
/* f06bba8: c6520004 */ lwc1 $f18,0x4($s2)
/* f06bbac: 46064282 */ mul.s $f10,$f8,$f6
/* f06bbb0: 00000000 */ nop
/* f06bbb4: 46122182 */ mul.s $f6,$f4,$f18
/* f06bbb8: 46065480 */ add.s $f18,$f10,$f6
/* f06bbbc: c7a600f8 */ lwc1 $f6,0xf8($sp)
/* f06bbc0: c64a0008 */ lwc1 $f10,0x8($s2)
/* f06bbc4: 46065282 */ mul.s $f10,$f10,$f6
/* f06bbc8: 46125280 */ add.s $f10,$f10,$f18
/* f06bbcc: 460aa03c */ c.lt.s $f20,$f10
/* f06bbd0: 00000000 */ nop
/* f06bbd4: 45000007 */ bc1f .L0f06bbf4
/* f06bbd8: 00000000 */ nop
/* f06bbdc: 46004487 */ neg.s $f18,$f8
/* f06bbe0: 46002287 */ neg.s $f10,$f4
/* f06bbe4: 46003207 */ neg.s $f8,$f6
/* f06bbe8: e7b200f0 */ swc1 $f18,0xf0($sp)
/* f06bbec: e7aa00f4 */ swc1 $f10,0xf4($sp)
/* f06bbf0: e7a800f8 */ swc1 $f8,0xf8($sp)
.L0f06bbf4:
/* f06bbf4: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06bbf8: 00000000 */ nop
/* f06bbfc: 8fb00150 */ lw $s0,0x150($sp)
/* f06bc00: 00402025 */ or $a0,$v0,$zero
/* f06bc04: 27a500f0 */ addiu $a1,$sp,0xf0
/* f06bc08: 0c0056c5 */ jal mtx4RotateVec
/* f06bc0c: 02003025 */ or $a2,$s0,$zero
/* f06bc10: c6120000 */ lwc1 $f18,0x0($s0)
/* f06bc14: 02002025 */ or $a0,$s0,$zero
/* f06bc18: 26050004 */ addiu $a1,$s0,0x4
/* f06bc1c: 4612a032 */ c.eq.s $f20,$f18
/* f06bc20: 00000000 */ nop
/* f06bc24: 4500000c */ bc1f .L0f06bc58
/* f06bc28: 00000000 */ nop
/* f06bc2c: c6040004 */ lwc1 $f4,0x4($s0)
/* f06bc30: 4604a032 */ c.eq.s $f20,$f4
/* f06bc34: 00000000 */ nop
/* f06bc38: 45000007 */ bc1f .L0f06bc58
/* f06bc3c: 00000000 */ nop
/* f06bc40: c60a0008 */ lwc1 $f10,0x8($s0)
/* f06bc44: 3c013f80 */ lui $at,0x3f80
/* f06bc48: 460aa032 */ c.eq.s $f20,$f10
/* f06bc4c: 00000000 */ nop
/* f06bc50: 45030006 */ bc1tl .L0f06bc6c
/* f06bc54: 44813000 */ mtc1 $at,$f6
.L0f06bc58:
/* f06bc58: 0c0011e4 */ jal guNormalize
/* f06bc5c: 26060008 */ addiu $a2,$s0,0x8
/* f06bc60: 10000005 */ b .L0f06bc78
/* f06bc64: 8faa0114 */ lw $t2,0x114($sp)
/* f06bc68: 44813000 */ mtc1 $at,$f6
.L0f06bc6c:
/* f06bc6c: 00000000 */ nop
/* f06bc70: e6060008 */ swc1 $f6,0x8($s0)
/* f06bc74: 8faa0114 */ lw $t2,0x114($sp)
.L0f06bc78:
/* f06bc78: 3c018007 */ lui $at,%hi(var80069930)
/* f06bc7c: 8fac00ec */ lw $t4,0xec($sp)
/* f06bc80: ac2a9930 */ sw $t2,%lo(var80069930)($at)
/* f06bc84: 3c018007 */ lui $at,%hi(var80069934)
/* f06bc88: ac359934 */ sw $s5,%lo(var80069934)($at)
/* f06bc8c: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06bc90: ac34ce70 */ sw $s4,%lo(var8009ce70)($at)
/* f06bc94: 87a200de */ lh $v0,0xde($sp)
/* f06bc98: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06bc9c: ac2cce74 */ sw $t4,%lo(var8009ce74)($at)
/* f06bca0: 3c018007 */ lui $at,%hi(var80069944)
/* f06bca4: ac229944 */ sw $v0,%lo(var80069944)($at)
/* f06bca8: 24012710 */ addiu $at,$zero,0x2710
/* f06bcac: 14410016 */ bne $v0,$at,.L0f06bd08
/* f06bcb0: 241e0001 */ addiu $s8,$zero,0x1
/* f06bcb4: c7a800b4 */ lwc1 $f8,0xb4($sp)
/* f06bcb8: c7a400b8 */ lwc1 $f4,0xb8($sp)
/* f06bcbc: c7a600bc */ lwc1 $f6,0xbc($sp)
/* f06bcc0: 87ab00dc */ lh $t3,0xdc($sp)
/* f06bcc4: 4600448d */ trunc.w.s $f18,$f8
/* f06bcc8: 3c118007 */ lui $s1,%hi(var8006993c)
/* f06bccc: 2631993c */ addiu $s1,$s1,%lo(var8006993c)
/* f06bcd0: 4600228d */ trunc.w.s $f10,$f4
/* f06bcd4: 05610003 */ bgez $t3,.L0f06bce4
/* f06bcd8: 000b6843 */ sra $t5,$t3,0x1
/* f06bcdc: 25610001 */ addiu $at,$t3,0x1
/* f06bce0: 00016843 */ sra $t5,$at,0x1
.L0f06bce4:
/* f06bce4: 4600320d */ trunc.w.s $f8,$f6
/* f06bce8: 3c018007 */ lui $at,%hi(var80069938)
/* f06bcec: 440f9000 */ mfc1 $t7,$f18
/* f06bcf0: 44085000 */ mfc1 $t0,$f10
/* f06bcf4: 44094000 */ mfc1 $t1,$f8
/* f06bcf8: ac2d9938 */ sw $t5,%lo(var80069938)($at)
/* f06bcfc: a62f0000 */ sh $t7,0x0($s1)
/* f06bd00: a6280002 */ sh $t0,0x2($s1)
/* f06bd04: a6290004 */ sh $t1,0x4($s1)
.L0f06bd08:
/* f06bd08: 1000001e */ b .L0f06bd84
/* f06bd0c: 8fa20114 */ lw $v0,0x114($sp)
.L0f06bd10:
/* f06bd10: 0c006be0 */ jal model0001af80
/* f06bd14: afa20114 */ sw $v0,0x114($sp)
/* f06bd18: 8fa60114 */ lw $a2,0x114($sp)
/* f06bd1c: 44070000 */ mfc1 $a3,$f0
/* f06bd20: 8fa40134 */ lw $a0,0x134($sp)
/* f06bd24: 8fa5013c */ lw $a1,0x13c($sp)
/* f06bd28: 0fc1ace7 */ jal func0f06b39c
/* f06bd2c: 24c60008 */ addiu $a2,$a2,0x8
/* f06bd30: 10400013 */ beqz $v0,.L0f06bd80
/* f06bd34: 8fb00150 */ lw $s0,0x150($sp)
/* f06bd38: 8fb70154 */ lw $s7,0x154($sp)
/* f06bd3c: 8faa014c */ lw $t2,0x14c($sp)
/* f06bd40: 8fa40114 */ lw $a0,0x114($sp)
/* f06bd44: 8fa50134 */ lw $a1,0x134($sp)
/* f06bd48: 8fa60138 */ lw $a2,0x138($sp)
/* f06bd4c: 8fa7013c */ lw $a3,0x13c($sp)
/* f06bd50: afb00014 */ sw $s0,0x14($sp)
/* f06bd54: afb70018 */ sw $s7,0x18($sp)
/* f06bd58: 0fc1ad22 */ jal func0f06b488
/* f06bd5c: afaa0010 */ sw $t2,0x10($sp)
/* f06bd60: 10400007 */ beqz $v0,.L0f06bd80
/* f06bd64: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06bd68: ac34ce70 */ sw $s4,%lo(var8009ce70)($at)
/* f06bd6c: 8e8c0008 */ lw $t4,0x8($s4)
/* f06bd70: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06bd74: 241e0001 */ addiu $s8,$zero,0x1
/* f06bd78: 8d8b0000 */ lw $t3,0x0($t4)
/* f06bd7c: ac2bce74 */ sw $t3,%lo(var8009ce74)($at)
.L0f06bd80:
/* f06bd80: 8fa20114 */ lw $v0,0x114($sp)
.L0f06bd84:
/* f06bd84: 8fb00150 */ lw $s0,0x150($sp)
/* f06bd88: 8fb20148 */ lw $s2,0x148($sp)
/* f06bd8c: 904d0001 */ lbu $t5,0x1($v0)
/* f06bd90: 8fb30144 */ lw $s3,0x144($sp)
/* f06bd94: 8fb70154 */ lw $s7,0x154($sp)
/* f06bd98: 31ae0002 */ andi $t6,$t5,0x2
/* f06bd9c: 51c0001c */ beqzl $t6,.L0f06be10
/* f06bda0: 8fbf005c */ lw $ra,0x5c($sp)
/* f06bda4: 8c43001c */ lw $v1,0x1c($v0)
/* f06bda8: 50600019 */ beqzl $v1,.L0f06be10
/* f06bdac: 8fbf005c */ lw $ra,0x5c($sp)
/* f06bdb0: 906f0001 */ lbu $t7,0x1($v1)
.L0f06bdb4:
/* f06bdb4: 8fa50134 */ lw $a1,0x134($sp)
/* f06bdb8: 8fa60138 */ lw $a2,0x138($sp)
/* f06bdbc: 31f80002 */ andi $t8,$t7,0x2
/* f06bdc0: 1300000f */ beqz $t8,.L0f06be00
/* f06bdc4: 8fa7013c */ lw $a3,0x13c($sp)
/* f06bdc8: 8c640004 */ lw $a0,0x4($v1)
/* f06bdcc: c7b20140 */ lwc1 $f18,0x140($sp)
/* f06bdd0: 8fa8014c */ lw $t0,0x14c($sp)
/* f06bdd4: afa30110 */ sw $v1,0x110($sp)
/* f06bdd8: afb70024 */ sw $s7,0x24($sp)
/* f06bddc: afb00020 */ sw $s0,0x20($sp)
/* f06bde0: afb20018 */ sw $s2,0x18($sp)
/* f06bde4: afb30014 */ sw $s3,0x14($sp)
/* f06bde8: e7b20010 */ swc1 $f18,0x10($sp)
/* f06bdec: 0fc1ad84 */ jal func0f06b610
/* f06bdf0: afa8001c */ sw $t0,0x1c($sp)
/* f06bdf4: 10400002 */ beqz $v0,.L0f06be00
/* f06bdf8: 8fa30110 */ lw $v1,0x110($sp)
/* f06bdfc: 241e0001 */ addiu $s8,$zero,0x1
.L0f06be00:
/* f06be00: 8c630020 */ lw $v1,0x20($v1)
/* f06be04: 5460ffeb */ bnezl $v1,.L0f06bdb4
/* f06be08: 906f0001 */ lbu $t7,0x1($v1)
/* f06be0c: 8fbf005c */ lw $ra,0x5c($sp)
.L0f06be10:
/* f06be10: 03c01025 */ or $v0,$s8,$zero
/* f06be14: 8fbe0058 */ lw $s8,0x58($sp)
/* f06be18: d7b40030 */ ldc1 $f20,0x30($sp)
/* f06be1c: 8fb00038 */ lw $s0,0x38($sp)
/* f06be20: 8fb1003c */ lw $s1,0x3c($sp)
/* f06be24: 8fb20040 */ lw $s2,0x40($sp)
/* f06be28: 8fb30044 */ lw $s3,0x44($sp)
/* f06be2c: 8fb40048 */ lw $s4,0x48($sp)
/* f06be30: 8fb5004c */ lw $s5,0x4c($sp)
/* f06be34: 8fb60050 */ lw $s6,0x50($sp)
/* f06be38: 8fb70054 */ lw $s7,0x54($sp)
/* f06be3c: 03e00008 */ jr $ra
/* f06be40: 27bd0130 */ addiu $sp,$sp,0x130
);
GLOBAL_ASM(
glabel func0f06be44
/* f06be44: 27bdffe0 */ addiu $sp,$sp,-32
/* f06be48: afb10018 */ sw $s1,0x18($sp)
/* f06be4c: afb00014 */ sw $s0,0x14($sp)
/* f06be50: afbf001c */ sw $ra,0x1c($sp)
/* f06be54: 00008025 */ or $s0,$zero,$zero
/* f06be58: 1080000b */ beqz $a0,.L0f06be88
/* f06be5c: 00808825 */ or $s1,$a0,$zero
/* f06be60: 8e240014 */ lw $a0,0x14($s1)
.L0f06be64:
/* f06be64: 26100001 */ addiu $s0,$s0,0x1
/* f06be68: 50800005 */ beqzl $a0,.L0f06be80
/* f06be6c: 8e31000c */ lw $s1,0xc($s1)
/* f06be70: 0fc1af91 */ jal func0f06be44
/* f06be74: 00000000 */ nop
/* f06be78: 02028021 */ addu $s0,$s0,$v0
/* f06be7c: 8e31000c */ lw $s1,0xc($s1)
.L0f06be80:
/* f06be80: 5620fff8 */ bnezl $s1,.L0f06be64
/* f06be84: 8e240014 */ lw $a0,0x14($s1)
.L0f06be88:
/* f06be88: 8fbf001c */ lw $ra,0x1c($sp)
/* f06be8c: 02001025 */ or $v0,$s0,$zero
/* f06be90: 8fb00014 */ lw $s0,0x14($sp)
/* f06be94: 8fb10018 */ lw $s1,0x18($sp)
/* f06be98: 03e00008 */ jr $ra
/* f06be9c: 27bd0020 */ addiu $sp,$sp,0x20
);
GLOBAL_ASM(
glabel func0f06bea0
.late_rodata
glabel var7f1aa20c
.word 0x46fffe00
glabel var7f1aa210
.word 0x7f7fffff
glabel var7f1aa214
.word func0f06bea0+0x24c # f06c0ec
glabel var7f1aa218
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa21c
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa220
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa224
.word func0f06bea0+0x288 # f06c128
glabel var7f1aa228
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa22c
.word func0f06bea0+0x104 # f06bfa4
glabel var7f1aa230
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa234
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa238
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa23c
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa240
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa244
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa248
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa24c
.word func0f06bea0+0x29c # f06c13c
glabel var7f1aa250
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa254
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa258
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa25c
.word func0f06bea0+0x2bc # f06c15c
glabel var7f1aa260
.word func0f06bea0+0x2b0 # f06c150
glabel var7f1aa264
.word func0f06bea0+0x1e8 # f06c088
.text
/* f06bea0: 27bdff58 */ addiu $sp,$sp,-168
/* f06bea4: 3c017f1b */ lui $at,%hi(var7f1aa20c)
/* f06bea8: c420a20c */ lwc1 $f0,%lo(var7f1aa20c)($at)
/* f06beac: 3c017f1b */ lui $at,%hi(var7f1aa210)
/* f06beb0: c424a210 */ lwc1 $f4,%lo(var7f1aa210)($at)
/* f06beb4: afbf0054 */ sw $ra,0x54($sp)
/* f06beb8: afbe0050 */ sw $s8,0x50($sp)
/* f06bebc: afb7004c */ sw $s7,0x4c($sp)
/* f06bec0: afb60048 */ sw $s6,0x48($sp)
/* f06bec4: afb50044 */ sw $s5,0x44($sp)
/* f06bec8: afb40040 */ sw $s4,0x40($sp)
/* f06becc: afb3003c */ sw $s3,0x3c($sp)
/* f06bed0: afb20038 */ sw $s2,0x38($sp)
/* f06bed4: afb10034 */ sw $s1,0x34($sp)
/* f06bed8: afb00030 */ sw $s0,0x30($sp)
/* f06bedc: afa700b4 */ sw $a3,0xb4($sp)
/* f06bee0: afa0009c */ sw $zero,0x9c($sp)
/* f06bee4: afa00084 */ sw $zero,0x84($sp)
/* f06bee8: afa0008c */ sw $zero,0x8c($sp)
/* f06beec: 3c014020 */ lui $at,0x4020
/* f06bef0: e7a40098 */ swc1 $f4,0x98($sp)
/* f06bef4: c4880014 */ lwc1 $f8,0x14($a0)
/* f06bef8: 44813000 */ mtc1 $at,$f6
/* f06befc: 8fae00b8 */ lw $t6,0xb8($sp)
/* f06bf00: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06bf04: 46083283 */ div.s $f10,$f6,$f8
/* f06bf08: 3c15800a */ lui $s5,%hi(g_Vars)
/* f06bf0c: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars)
/* f06bf10: 00c08025 */ or $s0,$a2,$zero
/* f06bf14: 00a09025 */ or $s2,$a1,$zero
/* f06bf18: 00809825 */ or $s3,$a0,$zero
/* f06bf1c: 0000b825 */ or $s7,$zero,$zero
/* f06bf20: e42aefc0 */ swc1 $f10,%lo(var8005efc0)($at)
/* f06bf24: c5d00000 */ lwc1 $f16,0x0($t6)
/* f06bf28: c4e40000 */ lwc1 $f4,0x0($a3)
/* f06bf2c: 46008482 */ mul.s $f18,$f16,$f0
/* f06bf30: 46049180 */ add.s $f6,$f18,$f4
/* f06bf34: e7a60074 */ swc1 $f6,0x74($sp)
/* f06bf38: c5c80004 */ lwc1 $f8,0x4($t6)
/* f06bf3c: c4f00004 */ lwc1 $f16,0x4($a3)
/* f06bf40: 46004282 */ mul.s $f10,$f8,$f0
/* f06bf44: 46105480 */ add.s $f18,$f10,$f16
/* f06bf48: e7b20078 */ swc1 $f18,0x78($sp)
/* f06bf4c: c5c40008 */ lwc1 $f4,0x8($t6)
/* f06bf50: c4e80008 */ lwc1 $f8,0x8($a3)
/* f06bf54: aea002c0 */ sw $zero,0x2c0($s5)
/* f06bf58: 46002182 */ mul.s $f6,$f4,$f0
/* f06bf5c: 46083280 */ add.s $f10,$f6,$f8
/* f06bf60: 10c000ac */ beqz $a2,.L0f06c214
/* f06bf64: e7aa007c */ swc1 $f10,0x7c($sp)
/* f06bf68: 3c1e00ff */ lui $s8,0xff
/* f06bf6c: 37deffff */ ori $s8,$s8,0xffff
/* f06bf70: 96020000 */ lhu $v0,0x0($s0)
.L0f06bf74:
/* f06bf74: 0000a025 */ or $s4,$zero,$zero
/* f06bf78: 0000b025 */ or $s6,$zero,$zero
/* f06bf7c: 305800ff */ andi $t8,$v0,0xff
/* f06bf80: 2719fffc */ addiu $t9,$t8,-4
/* f06bf84: 2f210015 */ sltiu $at,$t9,0x15
/* f06bf88: 10200074 */ beqz $at,.L0f06c15c
/* f06bf8c: 0019c880 */ sll $t9,$t9,0x2
/* f06bf90: 3c017f1b */ lui $at,%hi(var7f1aa214)
/* f06bf94: 00390821 */ addu $at,$at,$t9
/* f06bf98: 8c39a214 */ lw $t9,%lo(var7f1aa214)($at)
/* f06bf9c: 03200008 */ jr $t9
/* f06bfa0: 00000000 */ nop
/* f06bfa4: 8e110004 */ lw $s1,0x4($s0)
/* f06bfa8: 02602025 */ or $a0,$s3,$zero
/* f06bfac: 02002825 */ or $a1,$s0,$zero
/* f06bfb0: 0c006973 */ jal model0001a5cc
/* f06bfb4: 00003025 */ or $a2,$zero,$zero
/* f06bfb8: 02202025 */ or $a0,$s1,$zero
/* f06bfbc: 00402825 */ or $a1,$v0,$zero
/* f06bfc0: 8fa600b4 */ lw $a2,0xb4($sp)
/* f06bfc4: 0c00883f */ jal model000220fc
/* f06bfc8: 8fa700b8 */ lw $a3,0xb8($sp)
/* f06bfcc: 1040000d */ beqz $v0,.L0f06c004
/* f06bfd0: 3c014120 */ lui $at,0x4120
/* f06bfd4: 8ea202c0 */ lw $v0,0x2c0($s5)
/* f06bfd8: 24170001 */ addiu $s7,$zero,0x1
/* f06bfdc: afb00084 */ sw $s0,0x84($sp)
/* f06bfe0: 28410014 */ slti $at,$v0,0x14
/* f06bfe4: 1020005d */ beqz $at,.L0f06c15c
/* f06bfe8: 00024080 */ sll $t0,$v0,0x2
/* f06bfec: 02a84821 */ addu $t1,$s5,$t0
/* f06bff0: ad3002c4 */ sw $s0,0x2c4($t1)
/* f06bff4: 8eaa02c0 */ lw $t2,0x2c0($s5)
/* f06bff8: 254b0001 */ addiu $t3,$t2,0x1
/* f06bffc: 10000057 */ b .L0f06c15c
/* f06c000: aeab02c0 */ sw $t3,0x2c0($s5)
.L0f06c004:
/* f06c004: 44818000 */ mtc1 $at,$f16
/* f06c008: c6720014 */ lwc1 $f18,0x14($s3)
/* f06c00c: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06c010: 0000b825 */ or $s7,$zero,$zero
/* f06c014: 46128103 */ div.s $f4,$f16,$f18
/* f06c018: 02602025 */ or $a0,$s3,$zero
/* f06c01c: 02002825 */ or $a1,$s0,$zero
/* f06c020: 00003025 */ or $a2,$zero,$zero
/* f06c024: 0c006973 */ jal model0001a5cc
/* f06c028: e424efc0 */ swc1 $f4,%lo(var8005efc0)($at)
/* f06c02c: 02202025 */ or $a0,$s1,$zero
/* f06c030: 00402825 */ or $a1,$v0,$zero
/* f06c034: 8fa600b4 */ lw $a2,0xb4($sp)
/* f06c038: 0c00883f */ jal model000220fc
/* f06c03c: 8fa700b8 */ lw $a3,0xb8($sp)
/* f06c040: 5040000b */ beqzl $v0,.L0f06c070
/* f06c044: 3c014020 */ lui $at,0x4020
/* f06c048: 8ea202c0 */ lw $v0,0x2c0($s5)
/* f06c04c: 28410014 */ slti $at,$v0,0x14
/* f06c050: 10200006 */ beqz $at,.L0f06c06c
/* f06c054: 00026080 */ sll $t4,$v0,0x2
/* f06c058: 02ac6821 */ addu $t5,$s5,$t4
/* f06c05c: adb002c4 */ sw $s0,0x2c4($t5)
/* f06c060: 8eae02c0 */ lw $t6,0x2c0($s5)
/* f06c064: 25cf0001 */ addiu $t7,$t6,0x1
/* f06c068: aeaf02c0 */ sw $t7,0x2c0($s5)
.L0f06c06c:
/* f06c06c: 3c014020 */ lui $at,0x4020
.L0f06c070:
/* f06c070: 44813000 */ mtc1 $at,$f6
/* f06c074: c6680014 */ lwc1 $f8,0x14($s3)
/* f06c078: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06c07c: 46083283 */ div.s $f10,$f6,$f8
/* f06c080: 10000036 */ b .L0f06c15c
/* f06c084: e42aefc0 */ swc1 $f10,%lo(var8005efc0)($at)
/* f06c088: 12e00034 */ beqz $s7,.L0f06c15c
/* f06c08c: 02602025 */ or $a0,$s3,$zero
/* f06c090: 8e110004 */ lw $s1,0x4($s0)
/* f06c094: 0c006a87 */ jal modelGetNodeRwData
/* f06c098: 02002825 */ or $a1,$s0,$zero
/* f06c09c: 8c430004 */ lw $v1,0x4($v0)
/* f06c0a0: 1060002e */ beqz $v1,.L0f06c15c
/* f06c0a4: 00000000 */ nop
/* f06c0a8: 8e240000 */ lw $a0,0x0($s1)
/* f06c0ac: 0060a025 */ or $s4,$v1,$zero
/* f06c0b0: 14830005 */ bne $a0,$v1,.L0f06c0c8
/* f06c0b4: 00000000 */ nop
/* f06c0b8: 8e380008 */ lw $t8,0x8($s1)
/* f06c0bc: 009ec824 */ and $t9,$a0,$s8
/* f06c0c0: 10000001 */ b .L0f06c0c8
/* f06c0c4: 0319a021 */ addu $s4,$t8,$t9
.L0f06c0c8:
/* f06c0c8: 8e230004 */ lw $v1,0x4($s1)
/* f06c0cc: 50600005 */ beqzl $v1,.L0f06c0e4
/* f06c0d0: 8c4a0000 */ lw $t2,0x0($v0)
/* f06c0d4: 8e280008 */ lw $t0,0x8($s1)
/* f06c0d8: 007e4824 */ and $t1,$v1,$s8
/* f06c0dc: 0109b021 */ addu $s6,$t0,$t1
/* f06c0e0: 8c4a0000 */ lw $t2,0x0($v0)
.L0f06c0e4:
/* f06c0e4: 1000001d */ b .L0f06c15c
/* f06c0e8: afaa008c */ sw $t2,0x8c($sp)
/* f06c0ec: 12e0001b */ beqz $s7,.L0f06c15c
/* f06c0f0: 00000000 */ nop
/* f06c0f4: 8e020004 */ lw $v0,0x4($s0)
/* f06c0f8: 8c440000 */ lw $a0,0x0($v0)
/* f06c0fc: 10800017 */ beqz $a0,.L0f06c15c
/* f06c100: 00000000 */ nop
/* f06c104: 8c450004 */ lw $a1,0x4($v0)
/* f06c108: 8c430008 */ lw $v1,0x8($v0)
/* f06c10c: 009e5824 */ and $t3,$a0,$s8
/* f06c110: 10a00003 */ beqz $a1,.L0f06c120
/* f06c114: 006ba021 */ addu $s4,$v1,$t3
/* f06c118: 00be6024 */ and $t4,$a1,$s8
/* f06c11c: 006cb021 */ addu $s6,$v1,$t4
.L0f06c120:
/* f06c120: 1000000e */ b .L0f06c15c
/* f06c124: afa3008c */ sw $v1,0x8c($sp)
/* f06c128: 02602025 */ or $a0,$s3,$zero
/* f06c12c: 0c0071e1 */ jal model0001c784
/* f06c130: 02002825 */ or $a1,$s0,$zero
/* f06c134: 10000009 */ b .L0f06c15c
/* f06c138: 00000000 */ nop
/* f06c13c: 02602025 */ or $a0,$s3,$zero
/* f06c140: 0c0071f4 */ jal model0001c7d0
/* f06c144: 02002825 */ or $a1,$s0,$zero
/* f06c148: 10000004 */ b .L0f06c15c
/* f06c14c: 00000000 */ nop
/* f06c150: 02602025 */ or $a0,$s3,$zero
/* f06c154: 0c007207 */ jal modelAttachHead
/* f06c158: 02002825 */ or $a1,$s0,$zero
.L0f06c15c:
/* f06c15c: 12800018 */ beqz $s4,.L0f06c1c0
/* f06c160: 02602025 */ or $a0,$s3,$zero
/* f06c164: 8fad008c */ lw $t5,0x8c($sp)
/* f06c168: 8faf00bc */ lw $t7,0xbc($sp)
/* f06c16c: 27ae0098 */ addiu $t6,$sp,0x98
/* f06c170: afae001c */ sw $t6,0x1c($sp)
/* f06c174: 8fa500b4 */ lw $a1,0xb4($sp)
/* f06c178: 27a60074 */ addiu $a2,$sp,0x74
/* f06c17c: 8fa700b8 */ lw $a3,0xb8($sp)
/* f06c180: afb40010 */ sw $s4,0x10($sp)
/* f06c184: afb60014 */ sw $s6,0x14($sp)
/* f06c188: afad0018 */ sw $t5,0x18($sp)
/* f06c18c: 0fc57ff7 */ jal func0f15ffdc
/* f06c190: afaf0020 */ sw $t7,0x20($sp)
/* f06c194: 1040000a */ beqz $v0,.L0f06c1c0
/* f06c198: 24180001 */ addiu $t8,$zero,0x1
/* f06c19c: 8fb90084 */ lw $t9,0x84($sp)
/* f06c1a0: 8fa800c4 */ lw $t0,0xc4($sp)
/* f06c1a4: afb8009c */ sw $t8,0x9c($sp)
/* f06c1a8: afb00088 */ sw $s0,0x88($sp)
/* f06c1ac: ad190000 */ sw $t9,0x0($t0)
/* f06c1b0: 8f290004 */ lw $t1,0x4($t9)
/* f06c1b4: 8fab00c8 */ lw $t3,0xc8($sp)
/* f06c1b8: 8d2a0000 */ lw $t2,0x0($t1)
/* f06c1bc: ad6a0000 */ sw $t2,0x0($t3)
.L0f06c1c0:
/* f06c1c0: 8e020014 */ lw $v0,0x14($s0)
/* f06c1c4: 10400003 */ beqz $v0,.L0f06c1d4
/* f06c1c8: 00000000 */ nop
/* f06c1cc: 1000000f */ b .L0f06c20c
/* f06c1d0: 00408025 */ or $s0,$v0,$zero
.L0f06c1d4:
/* f06c1d4: 1200000d */ beqz $s0,.L0f06c20c
/* f06c1d8: 00000000 */ nop
.L0f06c1dc:
/* f06c1dc: 56120004 */ bnel $s0,$s2,.L0f06c1f0
/* f06c1e0: 8e02000c */ lw $v0,0xc($s0)
/* f06c1e4: 10000009 */ b .L0f06c20c
/* f06c1e8: 00008025 */ or $s0,$zero,$zero
/* f06c1ec: 8e02000c */ lw $v0,0xc($s0)
.L0f06c1f0:
/* f06c1f0: 50400004 */ beqzl $v0,.L0f06c204
/* f06c1f4: 8e100008 */ lw $s0,0x8($s0)
/* f06c1f8: 10000004 */ b .L0f06c20c
/* f06c1fc: 00408025 */ or $s0,$v0,$zero
/* f06c200: 8e100008 */ lw $s0,0x8($s0)
.L0f06c204:
/* f06c204: 1600fff5 */ bnez $s0,.L0f06c1dc
/* f06c208: 00000000 */ nop
.L0f06c20c:
/* f06c20c: 5600ff59 */ bnezl $s0,.L0f06bf74
/* f06c210: 96020000 */ lhu $v0,0x0($s0)
.L0f06c214:
/* f06c214: 8fac009c */ lw $t4,0x9c($sp)
/* f06c218: 5180000d */ beqzl $t4,.L0f06c250
/* f06c21c: 8fbf0054 */ lw $ra,0x54($sp)
/* f06c220: 0c012974 */ jal sqrtf
/* f06c224: c7ac0098 */ lwc1 $f12,0x98($sp)
/* f06c228: 8fad00c0 */ lw $t5,0xc0($sp)
/* f06c22c: 00002825 */ or $a1,$zero,$zero
/* f06c230: e5a00000 */ swc1 $f0,0x0($t5)
/* f06c234: 8faf00d0 */ lw $t7,0xd0($sp)
/* f06c238: 8fa40088 */ lw $a0,0x88($sp)
/* f06c23c: 0c006949 */ jal model0001a524
/* f06c240: ade40000 */ sw $a0,0x0($t7)
/* f06c244: 8fb800cc */ lw $t8,0xcc($sp)
/* f06c248: af020000 */ sw $v0,0x0($t8)
/* f06c24c: 8fbf0054 */ lw $ra,0x54($sp)
.L0f06c250:
/* f06c250: 44808000 */ mtc1 $zero,$f16
/* f06c254: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06c258: 8fa2009c */ lw $v0,0x9c($sp)
/* f06c25c: 8fb00030 */ lw $s0,0x30($sp)
/* f06c260: 8fb10034 */ lw $s1,0x34($sp)
/* f06c264: 8fb20038 */ lw $s2,0x38($sp)
/* f06c268: 8fb3003c */ lw $s3,0x3c($sp)
/* f06c26c: 8fb40040 */ lw $s4,0x40($sp)
/* f06c270: 8fb50044 */ lw $s5,0x44($sp)
/* f06c274: 8fb60048 */ lw $s6,0x48($sp)
/* f06c278: 8fb7004c */ lw $s7,0x4c($sp)
/* f06c27c: 8fbe0050 */ lw $s8,0x50($sp)
/* f06c280: 27bd00a8 */ addiu $sp,$sp,0xa8
/* f06c284: 03e00008 */ jr $ra
/* f06c288: e430efc0 */ swc1 $f16,%lo(var8005efc0)($at)
);
GLOBAL_ASM(
glabel func0f06c28c
/* f06c28c: 27bdff10 */ addiu $sp,$sp,-240
/* f06c290: afbf0064 */ sw $ra,0x64($sp)
/* f06c294: afbe0060 */ sw $s8,0x60($sp)
/* f06c298: afb7005c */ sw $s7,0x5c($sp)
/* f06c29c: afb60058 */ sw $s6,0x58($sp)
/* f06c2a0: afb50054 */ sw $s5,0x54($sp)
/* f06c2a4: afb40050 */ sw $s4,0x50($sp)
/* f06c2a8: afb3004c */ sw $s3,0x4c($sp)
/* f06c2ac: afb20048 */ sw $s2,0x48($sp)
/* f06c2b0: afb10044 */ sw $s1,0x44($sp)
/* f06c2b4: afb00040 */ sw $s0,0x40($sp)
/* f06c2b8: f7b40038 */ sdc1 $f20,0x38($sp)
/* f06c2bc: afa500f4 */ sw $a1,0xf4($sp)
/* f06c2c0: afa600f8 */ sw $a2,0xf8($sp)
/* f06c2c4: afa700fc */ sw $a3,0xfc($sp)
/* f06c2c8: 8c8e001c */ lw $t6,0x1c($a0)
/* f06c2cc: 00808025 */ or $s0,$a0,$zero
/* f06c2d0: 0fc09e29 */ jal chr0f0278a4
/* f06c2d4: afae00e8 */ sw $t6,0xe8($sp)
/* f06c2d8: 8fa200e8 */ lw $v0,0xe8($sp)
/* f06c2dc: 8fa300f4 */ lw $v1,0xf4($sp)
/* f06c2e0: 8fa500fc */ lw $a1,0xfc($sp)
/* f06c2e4: c4440008 */ lwc1 $f4,0x8($v0)
/* f06c2e8: c4660000 */ lwc1 $f6,0x0($v1)
/* f06c2ec: c448000c */ lwc1 $f8,0xc($v0)
/* f06c2f0: c46a0004 */ lwc1 $f10,0x4($v1)
/* f06c2f4: 46062081 */ sub.s $f2,$f4,$f6
/* f06c2f8: c4440010 */ lwc1 $f4,0x10($v0)
/* f06c2fc: c4660008 */ lwc1 $f6,0x8($v1)
/* f06c300: 460a4301 */ sub.s $f12,$f8,$f10
/* f06c304: c4a80000 */ lwc1 $f8,0x0($a1)
/* f06c308: 02002025 */ or $a0,$s0,$zero
/* f06c30c: 46062381 */ sub.s $f14,$f4,$f6
/* f06c310: 46081282 */ mul.s $f10,$f2,$f8
/* f06c314: c4a40004 */ lwc1 $f4,0x4($a1)
/* f06c318: 46046182 */ mul.s $f6,$f12,$f4
/* f06c31c: c4a40008 */ lwc1 $f4,0x8($a1)
/* f06c320: afa000d0 */ sw $zero,0xd0($sp)
/* f06c324: afa000cc */ sw $zero,0xcc($sp)
/* f06c328: afa000c8 */ sw $zero,0xc8($sp)
/* f06c32c: afa00078 */ sw $zero,0x78($sp)
/* f06c330: afa00074 */ sw $zero,0x74($sp)
/* f06c334: 46065200 */ add.s $f8,$f10,$f6
/* f06c338: 460e2282 */ mul.s $f10,$f4,$f14
/* f06c33c: 8e120020 */ lw $s2,0x20($s0)
/* f06c340: e7a000e4 */ swc1 $f0,0xe4($sp)
/* f06c344: 46085400 */ add.s $f16,$f10,$f8
/* f06c348: 0fc0cfe8 */ jal chrGetShield
/* f06c34c: e7b000d4 */ swc1 $f16,0xd4($sp)
/* f06c350: 4480a000 */ mtc1 $zero,$f20
/* f06c354: c7b200e4 */ lwc1 $f18,0xe4($sp)
/* f06c358: c7b000d4 */ lwc1 $f16,0xd4($sp)
/* f06c35c: 4600a03c */ c.lt.s $f20,$f0
/* f06c360: 46009207 */ neg.s $f8,$f18
/* f06c364: 45020009 */ bc1fl .L0f06c38c
/* f06c368: 4610403e */ c.le.s $f8,$f16
/* f06c36c: 8e0f0020 */ lw $t7,0x20($s0)
/* f06c370: 3c014120 */ lui $at,0x4120
/* f06c374: 44813000 */ mtc1 $at,$f6
/* f06c378: c5e40014 */ lwc1 $f4,0x14($t7)
/* f06c37c: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06c380: 46043283 */ div.s $f10,$f6,$f4
/* f06c384: e42aefc0 */ swc1 $f10,%lo(var8005efc0)($at)
/* f06c388: 4610403e */ c.le.s $f8,$f16
.L0f06c38c:
/* f06c38c: c7a60100 */ lwc1 $f6,0x100($sp)
/* f06c390: 4502010f */ bc1fl .L0f06c7d0
/* f06c394: 8faa00e8 */ lw $t2,0xe8($sp)
/* f06c398: 46123100 */ add.s $f4,$f6,$f18
/* f06c39c: 8fa400f4 */ lw $a0,0xf4($sp)
/* f06c3a0: 8fa500fc */ lw $a1,0xfc($sp)
/* f06c3a4: 8fa600e8 */ lw $a2,0xe8($sp)
/* f06c3a8: 4604803e */ c.le.s $f16,$f4
/* f06c3ac: 00000000 */ nop
/* f06c3b0: 45020107 */ bc1fl .L0f06c7d0
/* f06c3b4: 8faa00e8 */ lw $t2,0xe8($sp)
/* f06c3b8: 44079000 */ mfc1 $a3,$f18
/* f06c3bc: 0fc1ace7 */ jal func0f06b39c
/* f06c3c0: 24c60008 */ addiu $a2,$a2,0x8
/* f06c3c4: 10400101 */ beqz $v0,.L0f06c7cc
/* f06c3c8: 8fb000e8 */ lw $s0,0xe8($sp)
/* f06c3cc: 92180001 */ lbu $t8,0x1($s0)
/* f06c3d0: 8fb10110 */ lw $s1,0x110($sp)
/* f06c3d4: 02002025 */ or $a0,$s0,$zero
/* f06c3d8: 33190002 */ andi $t9,$t8,0x2
/* f06c3dc: 132000ed */ beqz $t9,.L0f06c794
/* f06c3e0: 8fa500f4 */ lw $a1,0xf4($sp)
/* f06c3e4: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06c3e8: c42aefc0 */ lwc1 $f10,%lo(var8005efc0)($at)
/* f06c3ec: 8fb30104 */ lw $s3,0x104($sp)
/* f06c3f0: 8fb40108 */ lw $s4,0x108($sp)
/* f06c3f4: 460aa03c */ c.lt.s $f20,$f10
/* f06c3f8: 27a700cc */ addiu $a3,$sp,0xcc
/* f06c3fc: 02402025 */ or $a0,$s2,$zero
/* f06c400: 02602825 */ or $a1,$s3,$zero
/* f06c404: 4500008f */ bc1f .L0f06c644
/* f06c408: 02803025 */ or $a2,$s4,$zero
/* f06c40c: 8fb30104 */ lw $s3,0x104($sp)
/* f06c410: 8fb40108 */ lw $s4,0x108($sp)
/* f06c414: 02402025 */ or $a0,$s2,$zero
/* f06c418: 02602825 */ or $a1,$s3,$zero
/* f06c41c: 0c008975 */ jal model000225d4
/* f06c420: 02803025 */ or $a2,$s4,$zero
/* f06c424: 18400085 */ blez $v0,.L0f06c63c
/* f06c428: afa200d0 */ sw $v0,0xd0($sp)
/* f06c42c: 3c108007 */ lui $s0,%hi(var8006993c)
/* f06c430: 2610993c */ addiu $s0,$s0,%lo(var8006993c)
/* f06c434: 8fbe0114 */ lw $s8,0x114($sp)
/* f06c438: 27b7007c */ addiu $s7,$sp,0x7c
/* f06c43c: 27b600ac */ addiu $s6,$sp,0xac
/* f06c440: 27b500b8 */ addiu $s5,$sp,0xb8
/* f06c444: 8fb10110 */ lw $s1,0x110($sp)
.L0f06c448:
/* f06c448: 27a80078 */ addiu $t0,$sp,0x78
/* f06c44c: 27a90074 */ addiu $t1,$sp,0x74
/* f06c450: afa90018 */ sw $t1,0x18($sp)
/* f06c454: afa80014 */ sw $t0,0x14($sp)
/* f06c458: 02402025 */ or $a0,$s2,$zero
/* f06c45c: 8fa500cc */ lw $a1,0xcc($sp)
/* f06c460: 02603025 */ or $a2,$s3,$zero
/* f06c464: 02803825 */ or $a3,$s4,$zero
/* f06c468: 0fc21165 */ jal func0f084594
/* f06c46c: afb70010 */ sw $s7,0x10($sp)
/* f06c470: 1040006b */ beqz $v0,.L0f06c620
/* f06c474: 8fab0078 */ lw $t3,0x78($sp)
/* f06c478: 8e4a000c */ lw $t2,0xc($s2)
/* f06c47c: 000b6180 */ sll $t4,$t3,0x6
/* f06c480: 02e02825 */ or $a1,$s7,$zero
/* f06c484: 02a03025 */ or $a2,$s5,$zero
/* f06c488: 0c0056da */ jal mtx4TransformVec
/* f06c48c: 014c2021 */ addu $a0,$t2,$t4
/* f06c490: c7a800b8 */ lwc1 $f8,0xb8($sp)
/* f06c494: c6660000 */ lwc1 $f6,0x0($s3)
/* f06c498: c68a0000 */ lwc1 $f10,0x0($s4)
/* f06c49c: 8fae0078 */ lw $t6,0x78($sp)
/* f06c4a0: 46064101 */ sub.s $f4,$f8,$f6
/* f06c4a4: c7a600bc */ lwc1 $f6,0xbc($sp)
/* f06c4a8: 27a50088 */ addiu $a1,$sp,0x88
/* f06c4ac: 02c03025 */ or $a2,$s6,$zero
/* f06c4b0: 460a2202 */ mul.s $f8,$f4,$f10
/* f06c4b4: c6640004 */ lwc1 $f4,0x4($s3)
/* f06c4b8: 24180001 */ addiu $t8,$zero,0x1
/* f06c4bc: 000e7980 */ sll $t7,$t6,0x6
/* f06c4c0: 46043281 */ sub.s $f10,$f6,$f4
/* f06c4c4: c6860004 */ lwc1 $f6,0x4($s4)
/* f06c4c8: 46065102 */ mul.s $f4,$f10,$f6
/* f06c4cc: c7a600c0 */ lwc1 $f6,0xc0($sp)
/* f06c4d0: 46044280 */ add.s $f10,$f8,$f4
/* f06c4d4: c6680008 */ lwc1 $f8,0x8($s3)
/* f06c4d8: 46083101 */ sub.s $f4,$f6,$f8
/* f06c4dc: c6860008 */ lwc1 $f6,0x8($s4)
/* f06c4e0: 46043202 */ mul.s $f8,$f6,$f4
/* f06c4e4: 460a4180 */ add.s $f6,$f8,$f10
/* f06c4e8: e7a600ec */ swc1 $f6,0xec($sp)
/* f06c4ec: c7c40000 */ lwc1 $f4,0x0($s8)
/* f06c4f0: 4604303c */ c.lt.s $f6,$f4
/* f06c4f4: 00000000 */ nop
/* f06c4f8: 4502004a */ bc1fl .L0f06c624
/* f06c4fc: 02402025 */ or $a0,$s2,$zero
/* f06c500: 8e4d000c */ lw $t5,0xc($s2)
/* f06c504: afb800c8 */ sw $t8,0xc8($sp)
/* f06c508: 0c0056c5 */ jal mtx4RotateVec
/* f06c50c: 01af2021 */ addu $a0,$t5,$t7
/* f06c510: c7a800ec */ lwc1 $f8,0xec($sp)
/* f06c514: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06c518: e7c80000 */ swc1 $f8,0x0($s8)
/* f06c51c: 00402025 */ or $a0,$v0,$zero
/* f06c520: 02a02825 */ or $a1,$s5,$zero
/* f06c524: 0c0056da */ jal mtx4TransformVec
/* f06c528: 8fa6010c */ lw $a2,0x10c($sp)
/* f06c52c: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06c530: 00000000 */ nop
/* f06c534: 00402025 */ or $a0,$v0,$zero
/* f06c538: 02c02825 */ or $a1,$s6,$zero
/* f06c53c: 0c0056c5 */ jal mtx4RotateVec
/* f06c540: 02203025 */ or $a2,$s1,$zero
/* f06c544: c62a0000 */ lwc1 $f10,0x0($s1)
/* f06c548: 02202025 */ or $a0,$s1,$zero
/* f06c54c: 26250004 */ addiu $a1,$s1,0x4
/* f06c550: 460aa032 */ c.eq.s $f20,$f10
/* f06c554: 00000000 */ nop
/* f06c558: 4500000c */ bc1f .L0f06c58c
/* f06c55c: 00000000 */ nop
/* f06c560: c6260004 */ lwc1 $f6,0x4($s1)
/* f06c564: 4606a032 */ c.eq.s $f20,$f6
/* f06c568: 00000000 */ nop
/* f06c56c: 45000007 */ bc1f .L0f06c58c
/* f06c570: 00000000 */ nop
/* f06c574: c6240008 */ lwc1 $f4,0x8($s1)
/* f06c578: 3c013f80 */ lui $at,0x3f80
/* f06c57c: 4604a032 */ c.eq.s $f20,$f4
/* f06c580: 00000000 */ nop
/* f06c584: 45030006 */ bc1tl .L0f06c5a0
/* f06c588: 44814000 */ mtc1 $at,$f8
.L0f06c58c:
/* f06c58c: 0c0011e4 */ jal guNormalize
/* f06c590: 26260008 */ addiu $a2,$s1,0x8
/* f06c594: 10000005 */ b .L0f06c5ac
/* f06c598: 8fb900e8 */ lw $t9,0xe8($sp)
/* f06c59c: 44814000 */ mtc1 $at,$f8
.L0f06c5a0:
/* f06c5a0: 00000000 */ nop
/* f06c5a4: e6280008 */ swc1 $f8,0x8($s1)
/* f06c5a8: 8fb900e8 */ lw $t9,0xe8($sp)
.L0f06c5ac:
/* f06c5ac: c7aa007c */ lwc1 $f10,0x7c($sp)
/* f06c5b0: 3c018007 */ lui $at,%hi(var80069930)
/* f06c5b4: ac399930 */ sw $t9,%lo(var80069930)($at)
/* f06c5b8: 4600518d */ trunc.w.s $f6,$f10
/* f06c5bc: 8fa800d0 */ lw $t0,0xd0($sp)
/* f06c5c0: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06c5c4: ac32ce70 */ sw $s2,%lo(var8009ce70)($at)
/* f06c5c8: 8fa900cc */ lw $t1,0xcc($sp)
/* f06c5cc: c7a40080 */ lwc1 $f4,0x80($sp)
/* f06c5d0: c7aa0084 */ lwc1 $f10,0x84($sp)
/* f06c5d4: 3c018007 */ lui $at,%hi(var80069934)
/* f06c5d8: 87ab00a4 */ lh $t3,0xa4($sp)
/* f06c5dc: ac289934 */ sw $t0,%lo(var80069934)($at)
/* f06c5e0: 440e3000 */ mfc1 $t6,$f6
/* f06c5e4: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06c5e8: 4600220d */ trunc.w.s $f8,$f4
/* f06c5ec: ac29ce74 */ sw $t1,%lo(var8009ce74)($at)
/* f06c5f0: 05610003 */ bgez $t3,.L0f06c600
/* f06c5f4: 000b5043 */ sra $t2,$t3,0x1
/* f06c5f8: 25610001 */ addiu $at,$t3,0x1
/* f06c5fc: 00015043 */ sra $t2,$at,0x1
.L0f06c600:
/* f06c600: 4600518d */ trunc.w.s $f6,$f10
/* f06c604: 3c018007 */ lui $at,%hi(var80069938)
/* f06c608: 440f4000 */ mfc1 $t7,$f8
/* f06c60c: ac2a9938 */ sw $t2,%lo(var80069938)($at)
/* f06c610: 44193000 */ mfc1 $t9,$f6
/* f06c614: a60e0000 */ sh $t6,0x0($s0)
/* f06c618: a60f0002 */ sh $t7,0x2($s0)
/* f06c61c: a6190004 */ sh $t9,0x4($s0)
.L0f06c620:
/* f06c620: 02402025 */ or $a0,$s2,$zero
.L0f06c624:
/* f06c624: 02602825 */ or $a1,$s3,$zero
/* f06c628: 02803025 */ or $a2,$s4,$zero
/* f06c62c: 0c008975 */ jal model000225d4
/* f06c630: 27a700cc */ addiu $a3,$sp,0xcc
/* f06c634: 1c40ff84 */ bgtz $v0,.L0f06c448
/* f06c638: afa200d0 */ sw $v0,0xd0($sp)
.L0f06c63c:
/* f06c63c: 10000053 */ b .L0f06c78c
/* f06c640: 00000000 */ nop
.L0f06c644:
/* f06c644: 0c008975 */ jal model000225d4
/* f06c648: 27a700cc */ addiu $a3,$sp,0xcc
/* f06c64c: 1840004f */ blez $v0,.L0f06c78c
/* f06c650: afa200d0 */ sw $v0,0xd0($sp)
/* f06c654: 8e480008 */ lw $t0,0x8($s2)
/* f06c658: 27b7007c */ addiu $s7,$sp,0x7c
/* f06c65c: 27a900ec */ addiu $t1,$sp,0xec
/* f06c660: 8d050000 */ lw $a1,0x0($t0)
/* f06c664: 27ab00cc */ addiu $t3,$sp,0xcc
/* f06c668: 27aa00d0 */ addiu $t2,$sp,0xd0
/* f06c66c: 27ac0078 */ addiu $t4,$sp,0x78
/* f06c670: 27ae0074 */ addiu $t6,$sp,0x74
/* f06c674: afae0028 */ sw $t6,0x28($sp)
/* f06c678: afac0024 */ sw $t4,0x24($sp)
/* f06c67c: afaa0020 */ sw $t2,0x20($sp)
/* f06c680: afab001c */ sw $t3,0x1c($sp)
/* f06c684: afa90018 */ sw $t1,0x18($sp)
/* f06c688: afb70014 */ sw $s7,0x14($sp)
/* f06c68c: afb40010 */ sw $s4,0x10($sp)
/* f06c690: 02402025 */ or $a0,$s2,$zero
/* f06c694: 02603825 */ or $a3,$s3,$zero
/* f06c698: 0fc1afa8 */ jal func0f06bea0
/* f06c69c: 00a03025 */ or $a2,$a1,$zero
/* f06c6a0: 1040003a */ beqz $v0,.L0f06c78c
/* f06c6a4: 8fbe0114 */ lw $s8,0x114($sp)
/* f06c6a8: c7a400ec */ lwc1 $f4,0xec($sp)
/* f06c6ac: c7c80000 */ lwc1 $f8,0x0($s8)
/* f06c6b0: 4608203c */ c.lt.s $f4,$f8
/* f06c6b4: 00000000 */ nop
/* f06c6b8: 45000034 */ bc1f .L0f06c78c
/* f06c6bc: 00000000 */ nop
/* f06c6c0: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06c6c4: e7c40000 */ swc1 $f4,0x0($s8)
/* f06c6c8: 00402025 */ or $a0,$v0,$zero
/* f06c6cc: 02e02825 */ or $a1,$s7,$zero
/* f06c6d0: 0c0056da */ jal mtx4TransformVec
/* f06c6d4: 8fa6010c */ lw $a2,0x10c($sp)
/* f06c6d8: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06c6dc: 00000000 */ nop
/* f06c6e0: 8fb10110 */ lw $s1,0x110($sp)
/* f06c6e4: 00402025 */ or $a0,$v0,$zero
/* f06c6e8: 27a50088 */ addiu $a1,$sp,0x88
/* f06c6ec: 0c0056c5 */ jal mtx4RotateVec
/* f06c6f0: 02203025 */ or $a2,$s1,$zero
/* f06c6f4: c62a0000 */ lwc1 $f10,0x0($s1)
/* f06c6f8: 02202025 */ or $a0,$s1,$zero
/* f06c6fc: 26250004 */ addiu $a1,$s1,0x4
/* f06c700: 460aa032 */ c.eq.s $f20,$f10
/* f06c704: 00000000 */ nop
/* f06c708: 4500000c */ bc1f .L0f06c73c
/* f06c70c: 00000000 */ nop
/* f06c710: c6260004 */ lwc1 $f6,0x4($s1)
/* f06c714: 4606a032 */ c.eq.s $f20,$f6
/* f06c718: 00000000 */ nop
/* f06c71c: 45000007 */ bc1f .L0f06c73c
/* f06c720: 00000000 */ nop
/* f06c724: c6280008 */ lwc1 $f8,0x8($s1)
/* f06c728: 3c013f80 */ lui $at,0x3f80
/* f06c72c: 4608a032 */ c.eq.s $f20,$f8
/* f06c730: 00000000 */ nop
/* f06c734: 45030006 */ bc1tl .L0f06c750
/* f06c738: 44812000 */ mtc1 $at,$f4
.L0f06c73c:
/* f06c73c: 0c0011e4 */ jal guNormalize
/* f06c740: 26260008 */ addiu $a2,$s1,0x8
/* f06c744: 10000005 */ b .L0f06c75c
/* f06c748: 8fad00e8 */ lw $t5,0xe8($sp)
/* f06c74c: 44812000 */ mtc1 $at,$f4
.L0f06c750:
/* f06c750: 00000000 */ nop
/* f06c754: e6240008 */ swc1 $f4,0x8($s1)
/* f06c758: 8fad00e8 */ lw $t5,0xe8($sp)
.L0f06c75c:
/* f06c75c: 3c018007 */ lui $at,%hi(var80069930)
/* f06c760: 8faf00d0 */ lw $t7,0xd0($sp)
/* f06c764: ac2d9930 */ sw $t5,%lo(var80069930)($at)
/* f06c768: 3c01800a */ lui $at,%hi(var8009ce70)
/* f06c76c: ac32ce70 */ sw $s2,%lo(var8009ce70)($at)
/* f06c770: 8fb800cc */ lw $t8,0xcc($sp)
/* f06c774: 3c018007 */ lui $at,%hi(var80069934)
/* f06c778: ac2f9934 */ sw $t7,%lo(var80069934)($at)
/* f06c77c: 3c01800a */ lui $at,%hi(var8009ce74)
/* f06c780: 24190001 */ addiu $t9,$zero,0x1
/* f06c784: afb900c8 */ sw $t9,0xc8($sp)
/* f06c788: ac38ce74 */ sw $t8,%lo(var8009ce74)($at)
.L0f06c78c:
/* f06c78c: 10000010 */ b .L0f06c7d0
/* f06c790: 8faa00e8 */ lw $t2,0xe8($sp)
.L0f06c794:
/* f06c794: 8fbe0114 */ lw $s8,0x114($sp)
/* f06c798: 8fa8010c */ lw $t0,0x10c($sp)
/* f06c79c: 8fa600f8 */ lw $a2,0xf8($sp)
/* f06c7a0: 8fa700fc */ lw $a3,0xfc($sp)
/* f06c7a4: afb10014 */ sw $s1,0x14($sp)
/* f06c7a8: afbe0018 */ sw $s8,0x18($sp)
/* f06c7ac: 0fc1ad22 */ jal func0f06b488
/* f06c7b0: afa80010 */ sw $t0,0x10($sp)
/* f06c7b4: 10400005 */ beqz $v0,.L0f06c7cc
/* f06c7b8: 2409000f */ addiu $t1,$zero,0xf
/* f06c7bc: 3c018007 */ lui $at,%hi(var80069934)
/* f06c7c0: 240b0001 */ addiu $t3,$zero,0x1
/* f06c7c4: ac299934 */ sw $t1,%lo(var80069934)($at)
/* f06c7c8: afab00c8 */ sw $t3,0xc8($sp)
.L0f06c7cc:
/* f06c7cc: 8faa00e8 */ lw $t2,0xe8($sp)
.L0f06c7d0:
/* f06c7d0: 8fb10110 */ lw $s1,0x110($sp)
/* f06c7d4: 8fb30104 */ lw $s3,0x104($sp)
/* f06c7d8: 914c0001 */ lbu $t4,0x1($t2)
/* f06c7dc: 8fb40108 */ lw $s4,0x108($sp)
/* f06c7e0: 8fbe0114 */ lw $s8,0x114($sp)
/* f06c7e4: 318e0002 */ andi $t6,$t4,0x2
/* f06c7e8: 11c0001a */ beqz $t6,.L0f06c854
/* f06c7ec: 00000000 */ nop
/* f06c7f0: 8d50001c */ lw $s0,0x1c($t2)
/* f06c7f4: 12000017 */ beqz $s0,.L0f06c854
/* f06c7f8: 00000000 */ nop
/* f06c7fc: 920d0001 */ lbu $t5,0x1($s0)
.L0f06c800:
/* f06c800: 8fa500f4 */ lw $a1,0xf4($sp)
/* f06c804: 8fa600f8 */ lw $a2,0xf8($sp)
/* f06c808: 31af0002 */ andi $t7,$t5,0x2
/* f06c80c: 11e0000e */ beqz $t7,.L0f06c848
/* f06c810: 8fa700fc */ lw $a3,0xfc($sp)
/* f06c814: 8e040004 */ lw $a0,0x4($s0)
/* f06c818: c7aa0100 */ lwc1 $f10,0x100($sp)
/* f06c81c: 8fb8010c */ lw $t8,0x10c($sp)
/* f06c820: afbe0024 */ sw $s8,0x24($sp)
/* f06c824: afb10020 */ sw $s1,0x20($sp)
/* f06c828: afb40018 */ sw $s4,0x18($sp)
/* f06c82c: afb30014 */ sw $s3,0x14($sp)
/* f06c830: e7aa0010 */ swc1 $f10,0x10($sp)
/* f06c834: 0fc1ad84 */ jal func0f06b610
/* f06c838: afb8001c */ sw $t8,0x1c($sp)
/* f06c83c: 10400002 */ beqz $v0,.L0f06c848
/* f06c840: 24190001 */ addiu $t9,$zero,0x1
/* f06c844: afb900c8 */ sw $t9,0xc8($sp)
.L0f06c848:
/* f06c848: 8e100020 */ lw $s0,0x20($s0)
/* f06c84c: 5600ffec */ bnezl $s0,.L0f06c800
/* f06c850: 920d0001 */ lbu $t5,0x1($s0)
.L0f06c854:
/* f06c854: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06c858: c426efc0 */ lwc1 $f6,%lo(var8005efc0)($at)
/* f06c85c: 3c018006 */ lui $at,%hi(var8005efc0)
/* f06c860: 4606a03c */ c.lt.s $f20,$f6
/* f06c864: 00000000 */ nop
/* f06c868: 45020003 */ bc1fl .L0f06c878
/* f06c86c: 8fbf0064 */ lw $ra,0x64($sp)
/* f06c870: e434efc0 */ swc1 $f20,%lo(var8005efc0)($at)
/* f06c874: 8fbf0064 */ lw $ra,0x64($sp)
.L0f06c878:
/* f06c878: 8fa200c8 */ lw $v0,0xc8($sp)
/* f06c87c: d7b40038 */ ldc1 $f20,0x38($sp)
/* f06c880: 8fb00040 */ lw $s0,0x40($sp)
/* f06c884: 8fb10044 */ lw $s1,0x44($sp)
/* f06c888: 8fb20048 */ lw $s2,0x48($sp)
/* f06c88c: 8fb3004c */ lw $s3,0x4c($sp)
/* f06c890: 8fb40050 */ lw $s4,0x50($sp)
/* f06c894: 8fb50054 */ lw $s5,0x54($sp)
/* f06c898: 8fb60058 */ lw $s6,0x58($sp)
/* f06c89c: 8fb7005c */ lw $s7,0x5c($sp)
/* f06c8a0: 8fbe0060 */ lw $s8,0x60($sp)
/* f06c8a4: 03e00008 */ jr $ra
/* f06c8a8: 27bd00f0 */ addiu $sp,$sp,0xf0
);
GLOBAL_ASM(
glabel func0f06c8ac
/* f06c8ac: 27bdfd48 */ addiu $sp,$sp,-696
/* f06c8b0: afbf005c */ sw $ra,0x5c($sp)
/* f06c8b4: afbe0058 */ sw $s8,0x58($sp)
/* f06c8b8: afb70054 */ sw $s7,0x54($sp)
/* f06c8bc: afb60050 */ sw $s6,0x50($sp)
/* f06c8c0: afb5004c */ sw $s5,0x4c($sp)
/* f06c8c4: afb40048 */ sw $s4,0x48($sp)
/* f06c8c8: afb30044 */ sw $s3,0x44($sp)
/* f06c8cc: afb20040 */ sw $s2,0x40($sp)
/* f06c8d0: afb1003c */ sw $s1,0x3c($sp)
/* f06c8d4: afb00038 */ sw $s0,0x38($sp)
/* f06c8d8: f7b40030 */ sdc1 $f20,0x30($sp)
/* f06c8dc: afa402b8 */ sw $a0,0x2b8($sp)
/* f06c8e0: afa002b4 */ sw $zero,0x2b4($sp)
/* f06c8e4: afa000a4 */ sw $zero,0xa4($sp)
/* f06c8e8: c4a60000 */ lwc1 $f6,0x0($a1)
/* f06c8ec: c4c40000 */ lwc1 $f4,0x0($a2)
/* f06c8f0: 00e09025 */ or $s2,$a3,$zero
/* f06c8f4: 00a0a025 */ or $s4,$a1,$zero
/* f06c8f8: 46062201 */ sub.s $f8,$f4,$f6
/* f06c8fc: e7a80098 */ swc1 $f8,0x98($sp)
/* f06c900: c4b00004 */ lwc1 $f16,0x4($a1)
/* f06c904: c4ca0004 */ lwc1 $f10,0x4($a2)
/* f06c908: 46105481 */ sub.s $f18,$f10,$f16
/* f06c90c: c7aa0098 */ lwc1 $f10,0x98($sp)
/* f06c910: e7b2009c */ swc1 $f18,0x9c($sp)
/* f06c914: c4a60008 */ lwc1 $f6,0x8($a1)
/* f06c918: c4c40008 */ lwc1 $f4,0x8($a2)
/* f06c91c: 460a5402 */ mul.s $f16,$f10,$f10
/* f06c920: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06c924: 46062201 */ sub.s $f8,$f4,$f6
/* f06c928: afa602c0 */ sw $a2,0x2c0($sp)
/* f06c92c: 46129102 */ mul.s $f4,$f18,$f18
/* f06c930: e7a800a0 */ swc1 $f8,0xa0($sp)
/* f06c934: c7a800a0 */ lwc1 $f8,0xa0($sp)
/* f06c938: 46084282 */ mul.s $f10,$f8,$f8
/* f06c93c: 46048180 */ add.s $f6,$f16,$f4
/* f06c940: 0c012974 */ jal sqrtf
/* f06c944: 46065300 */ add.s $f12,$f10,$f6
/* f06c948: 44809000 */ mtc1 $zero,$f18
/* f06c94c: 46000506 */ mov.s $f20,$f0
/* f06c950: 3c013f80 */ lui $at,0x3f80
/* f06c954: 46120032 */ c.eq.s $f0,$f18
/* f06c958: 00000000 */ nop
/* f06c95c: 45020004 */ bc1fl .L0f06c970
/* f06c960: 44818000 */ mtc1 $at,$f16
/* f06c964: 100000d9 */ b .L0f06cccc
/* f06c968: 00001025 */ or $v0,$zero,$zero
/* f06c96c: 44818000 */ mtc1 $at,$f16
.L0f06c970:
/* f06c970: c7a40098 */ lwc1 $f4,0x98($sp)
/* f06c974: c7aa009c */ lwc1 $f10,0x9c($sp)
/* f06c978: 46148003 */ div.s $f0,$f16,$f20
/* f06c97c: c7b200a0 */ lwc1 $f18,0xa0($sp)
/* f06c980: 46002202 */ mul.s $f8,$f4,$f0
/* f06c984: 00000000 */ nop
/* f06c988: 46005182 */ mul.s $f6,$f10,$f0
/* f06c98c: 00000000 */ nop
/* f06c990: 46009402 */ mul.s $f16,$f18,$f0
/* f06c994: e7a80098 */ swc1 $f8,0x98($sp)
/* f06c998: e7a6009c */ swc1 $f6,0x9c($sp)
/* f06c99c: e7b000a0 */ swc1 $f16,0xa0($sp)
/* f06c9a0: c6840000 */ lwc1 $f4,0x0($s4)
/* f06c9a4: e7a40088 */ swc1 $f4,0x88($sp)
/* f06c9a8: c6880004 */ lwc1 $f8,0x4($s4)
/* f06c9ac: e7a8008c */ swc1 $f8,0x8c($sp)
/* f06c9b0: c68a0008 */ lwc1 $f10,0x8($s4)
/* f06c9b4: 0fc2d5be */ jal currentPlayerGetMatrix1740
/* f06c9b8: e7aa0090 */ swc1 $f10,0x90($sp)
/* f06c9bc: 00402025 */ or $a0,$v0,$zero
/* f06c9c0: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f06c9c4: 27a50088 */ addiu $a1,$sp,0x88
/* f06c9c8: c7a60098 */ lwc1 $f6,0x98($sp)
/* f06c9cc: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06c9d0: c7b000a0 */ lwc1 $f16,0xa0($sp)
/* f06c9d4: e7a6007c */ swc1 $f6,0x7c($sp)
/* f06c9d8: e7b20080 */ swc1 $f18,0x80($sp)
/* f06c9dc: 0fc2d5be */ jal currentPlayerGetMatrix1740
/* f06c9e0: e7b00084 */ swc1 $f16,0x84($sp)
/* f06c9e4: 00402025 */ or $a0,$v0,$zero
/* f06c9e8: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f06c9ec: 27a5007c */ addiu $a1,$sp,0x7c
/* f06c9f0: 124000a1 */ beqz $s2,.L0f06cc78
/* f06c9f4: e7b400a8 */ swc1 $f20,0xa8($sp)
/* f06c9f8: 27b000ac */ addiu $s0,$sp,0xac
/* f06c9fc: 02002825 */ or $a1,$s0,$zero
/* f06ca00: 8fa402d0 */ lw $a0,0x2d0($sp)
/* f06ca04: 0fc197e0 */ jal roomGetProps
/* f06ca08: 24060100 */ addiu $a2,$zero,0x100
/* f06ca0c: 87ae00ac */ lh $t6,0xac($sp)
/* f06ca10: 0200a825 */ or $s5,$s0,$zero
/* f06ca14: 27af00ac */ addiu $t7,$sp,0xac
/* f06ca18: 05c00097 */ bltz $t6,.L0f06cc78
/* f06ca1c: 27be0098 */ addiu $s8,$sp,0x98
/* f06ca20: 3c13800a */ lui $s3,%hi(g_Vars)
/* f06ca24: 26739fc0 */ addiu $s3,$s3,%lo(g_Vars)
/* f06ca28: 85e20000 */ lh $v0,0x0($t7)
/* f06ca2c: 8fb702cc */ lw $s7,0x2cc($sp)
/* f06ca30: 8fb602c8 */ lw $s6,0x2c8($sp)
/* f06ca34: 8e790338 */ lw $t9,0x338($s3)
.L0f06ca38:
/* f06ca38: 0002c0c0 */ sll $t8,$v0,0x3
/* f06ca3c: 8fa802b8 */ lw $t0,0x2b8($sp)
/* f06ca40: 0302c021 */ addu $t8,$t8,$v0
/* f06ca44: 0018c0c0 */ sll $t8,$t8,0x3
/* f06ca48: 03198021 */ addu $s0,$t8,$t9
/* f06ca4c: 52080087 */ beql $s0,$t0,.L0f06cc6c
/* f06ca50: 86a20002 */ lh $v0,0x2($s5)
/* f06ca54: 92020000 */ lbu $v0,0x0($s0)
/* f06ca58: 24010001 */ addiu $at,$zero,0x1
/* f06ca5c: 10410005 */ beq $v0,$at,.L0f06ca74
/* f06ca60: 24010004 */ addiu $at,$zero,0x4
/* f06ca64: 10410003 */ beq $v0,$at,.L0f06ca74
/* f06ca68: 24010002 */ addiu $at,$zero,0x2
/* f06ca6c: 5441002b */ bnel $v0,$at,.L0f06cb1c
/* f06ca70: 24010003 */ addiu $at,$zero,0x3
.L0f06ca74:
/* f06ca74: 8e110004 */ lw $s1,0x4($s0)
/* f06ca78: 8e290040 */ lw $t1,0x40($s1)
/* f06ca7c: 312a0008 */ andi $t2,$t1,0x8
/* f06ca80: 5540007a */ bnezl $t2,.L0f06cc6c
/* f06ca84: 86a20002 */ lh $v0,0x2($s5)
/* f06ca88: 8e2b000c */ lw $t3,0xc($s1)
/* f06ca8c: 24010002 */ addiu $at,$zero,0x2
/* f06ca90: 000b6180 */ sll $t4,$t3,0x6
/* f06ca94: 05820075 */ bltzl $t4,.L0f06cc6c
/* f06ca98: 86a20002 */ lh $v0,0x2($s5)
/* f06ca9c: 1441000b */ bne $v0,$at,.L0f06cacc
/* f06caa0: 324f0001 */ andi $t7,$s2,0x1
/* f06caa4: 324d0002 */ andi $t5,$s2,0x2
/* f06caa8: 55a0000a */ bnezl $t5,.L0f06cad4
/* f06caac: 27b80088 */ addiu $t8,$sp,0x88
/* f06cab0: 0fc1953a */ jal propDoorGetCdTypes
/* f06cab4: 02002025 */ or $a0,$s0,$zero
/* f06cab8: 00527024 */ and $t6,$v0,$s2
/* f06cabc: 55c00005 */ bnezl $t6,.L0f06cad4
/* f06cac0: 27b80088 */ addiu $t8,$sp,0x88
/* f06cac4: 10000069 */ b .L0f06cc6c
/* f06cac8: 86a20002 */ lh $v0,0x2($s5)
.L0f06cacc:
/* f06cacc: 11e00066 */ beqz $t7,.L0f06cc68
/* f06cad0: 27b80088 */ addiu $t8,$sp,0x88
.L0f06cad4:
/* f06cad4: 27b9007c */ addiu $t9,$sp,0x7c
/* f06cad8: 27a800a8 */ addiu $t0,$sp,0xa8
/* f06cadc: afa80024 */ sw $t0,0x24($sp)
/* f06cae0: afb90018 */ sw $t9,0x18($sp)
/* f06cae4: afb80014 */ sw $t8,0x14($sp)
/* f06cae8: 02202025 */ or $a0,$s1,$zero
/* f06caec: 02802825 */ or $a1,$s4,$zero
/* f06caf0: 8fa602c0 */ lw $a2,0x2c0($sp)
/* f06caf4: 03c03825 */ or $a3,$s8,$zero
/* f06caf8: e7b40010 */ swc1 $f20,0x10($sp)
/* f06cafc: afb6001c */ sw $s6,0x1c($sp)
/* f06cb00: 0fc1ad84 */ jal func0f06b610
/* f06cb04: afb70020 */ sw $s7,0x20($sp)
/* f06cb08: 10400057 */ beqz $v0,.L0f06cc68
/* f06cb0c: 24090001 */ addiu $t1,$zero,0x1
/* f06cb10: 10000055 */ b .L0f06cc68
/* f06cb14: afa900a4 */ sw $t1,0xa4($sp)
/* f06cb18: 24010003 */ addiu $at,$zero,0x3
.L0f06cb1c:
/* f06cb1c: 1041000c */ beq $v0,$at,.L0f06cb50
/* f06cb20: 24010006 */ addiu $at,$zero,0x6
/* f06cb24: 5441003a */ bnel $v0,$at,.L0f06cc10
/* f06cb28: 92080000 */ lbu $t0,0x0($s0)
/* f06cb2c: 0fc4a25f */ jal propGetPlayerNum
/* f06cb30: 02002025 */ or $a0,$s0,$zero
/* f06cb34: 00025080 */ sll $t2,$v0,0x2
/* f06cb38: 026a5821 */ addu $t3,$s3,$t2
/* f06cb3c: 8d6c0064 */ lw $t4,0x64($t3)
/* f06cb40: 8d8d19c8 */ lw $t5,0x19c8($t4)
/* f06cb44: 51a00032 */ beqzl $t5,.L0f06cc10
/* f06cb48: 92080000 */ lbu $t0,0x0($s0)
/* f06cb4c: 92020000 */ lbu $v0,0x0($s0)
.L0f06cb50:
/* f06cb50: 24010006 */ addiu $at,$zero,0x6
/* f06cb54: 1441000e */ bne $v0,$at,.L0f06cb90
/* f06cb58: 8e110004 */ lw $s1,0x4($s0)
/* f06cb5c: 0fc4a25f */ jal propGetPlayerNum
/* f06cb60: 02002025 */ or $a0,$s0,$zero
/* f06cb64: 00027080 */ sll $t6,$v0,0x2
/* f06cb68: 026e7821 */ addu $t7,$s3,$t6
/* f06cb6c: 8df80064 */ lw $t8,0x64($t7)
/* f06cb70: 32480004 */ andi $t0,$s2,0x4
/* f06cb74: 8f1900c0 */ lw $t9,0xc0($t8)
/* f06cb78: 5320003c */ beqzl $t9,.L0f06cc6c
/* f06cb7c: 86a20002 */ lh $v0,0x2($s5)
/* f06cb80: 55000011 */ bnezl $t0,.L0f06cbc8
/* f06cb84: 27ae0088 */ addiu $t6,$sp,0x88
/* f06cb88: 10000038 */ b .L0f06cc6c
/* f06cb8c: 86a20002 */ lh $v0,0x2($s5)
.L0f06cb90:
/* f06cb90: 24010003 */ addiu $at,$zero,0x3
/* f06cb94: 5441000c */ bnel $v0,$at,.L0f06cbc8
/* f06cb98: 27ae0088 */ addiu $t6,$sp,0x88
/* f06cb9c: 8e290014 */ lw $t1,0x14($s1)
/* f06cba0: 312a0100 */ andi $t2,$t1,0x100
/* f06cba4: 55400031 */ bnezl $t2,.L0f06cc6c
/* f06cba8: 86a20002 */ lh $v0,0x2($s5)
/* f06cbac: 8e2b0018 */ lw $t3,0x18($s1)
/* f06cbb0: 324d0008 */ andi $t5,$s2,0x8
/* f06cbb4: 316c0400 */ andi $t4,$t3,0x400
/* f06cbb8: 5580002c */ bnezl $t4,.L0f06cc6c
/* f06cbbc: 86a20002 */ lh $v0,0x2($s5)
/* f06cbc0: 11a00029 */ beqz $t5,.L0f06cc68
/* f06cbc4: 27ae0088 */ addiu $t6,$sp,0x88
.L0f06cbc8:
/* f06cbc8: 27af007c */ addiu $t7,$sp,0x7c
/* f06cbcc: 27b800a8 */ addiu $t8,$sp,0xa8
/* f06cbd0: afb80024 */ sw $t8,0x24($sp)
/* f06cbd4: afaf0018 */ sw $t7,0x18($sp)
/* f06cbd8: afae0014 */ sw $t6,0x14($sp)
/* f06cbdc: 02202025 */ or $a0,$s1,$zero
/* f06cbe0: 02802825 */ or $a1,$s4,$zero
/* f06cbe4: 8fa602c0 */ lw $a2,0x2c0($sp)
/* f06cbe8: 03c03825 */ or $a3,$s8,$zero
/* f06cbec: e7b40010 */ swc1 $f20,0x10($sp)
/* f06cbf0: afb6001c */ sw $s6,0x1c($sp)
/* f06cbf4: 0fc1b0a3 */ jal func0f06c28c
/* f06cbf8: afb70020 */ sw $s7,0x20($sp)
/* f06cbfc: 1040001a */ beqz $v0,.L0f06cc68
/* f06cc00: 24190001 */ addiu $t9,$zero,0x1
/* f06cc04: 10000018 */ b .L0f06cc68
/* f06cc08: afb900a4 */ sw $t9,0xa4($sp)
/* f06cc0c: 92080000 */ lbu $t0,0x0($s0)
.L0f06cc10:
/* f06cc10: 24010006 */ addiu $at,$zero,0x6
/* f06cc14: 55010015 */ bnel $t0,$at,.L0f06cc6c
/* f06cc18: 86a20002 */ lh $v0,0x2($s5)
/* f06cc1c: 0fc4a25f */ jal propGetPlayerNum
/* f06cc20: 02002025 */ or $a0,$s0,$zero
/* f06cc24: 00024880 */ sll $t1,$v0,0x2
/* f06cc28: 02695021 */ addu $t2,$s3,$t1
/* f06cc2c: 8d4b0064 */ lw $t3,0x64($t2)
/* f06cc30: 02002025 */ or $a0,$s0,$zero
/* f06cc34: 02802825 */ or $a1,$s4,$zero
/* f06cc38: 8d6c00c0 */ lw $t4,0xc0($t3)
/* f06cc3c: 8fa602c0 */ lw $a2,0x2c0($sp)
/* f06cc40: 03c03825 */ or $a3,$s8,$zero
/* f06cc44: 11800008 */ beqz $t4,.L0f06cc68
/* f06cc48: 27ad00a8 */ addiu $t5,$sp,0xa8
/* f06cc4c: afb60010 */ sw $s6,0x10($sp)
/* f06cc50: afb70014 */ sw $s7,0x14($sp)
/* f06cc54: 0fc1ad22 */ jal func0f06b488
/* f06cc58: afad0018 */ sw $t5,0x18($sp)
/* f06cc5c: 10400002 */ beqz $v0,.L0f06cc68
/* f06cc60: 240e0001 */ addiu $t6,$zero,0x1
/* f06cc64: afae00a4 */ sw $t6,0xa4($sp)
.L0f06cc68:
/* f06cc68: 86a20002 */ lh $v0,0x2($s5)
.L0f06cc6c:
/* f06cc6c: 26b50002 */ addiu $s5,$s5,0x2
/* f06cc70: 0443ff71 */ bgezl $v0,.L0f06ca38
/* f06cc74: 8e790338 */ lw $t9,0x338($s3)
.L0f06cc78:
/* f06cc78: 8faf00a4 */ lw $t7,0xa4($sp)
/* f06cc7c: 3c02800a */ lui $v0,%hi(var8009ce78)
/* f06cc80: 2442ce78 */ addiu $v0,$v0,%lo(var8009ce78)
/* f06cc84: 11e00010 */ beqz $t7,.L0f06ccc8
/* f06cc88: 3c03800a */ lui $v1,%hi(var8009ce88)
/* f06cc8c: c7a40098 */ lwc1 $f4,0x98($sp)
/* f06cc90: c7a8009c */ lwc1 $f8,0x9c($sp)
/* f06cc94: c7aa00a0 */ lwc1 $f10,0xa0($sp)
/* f06cc98: c7a6007c */ lwc1 $f6,0x7c($sp)
/* f06cc9c: c7b20080 */ lwc1 $f18,0x80($sp)
/* f06cca0: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06cca4: 2463ce88 */ addiu $v1,$v1,%lo(var8009ce88)
/* f06cca8: 24180001 */ addiu $t8,$zero,0x1
/* f06ccac: afb802b4 */ sw $t8,0x2b4($sp)
/* f06ccb0: e4440000 */ swc1 $f4,0x0($v0)
/* f06ccb4: e4480004 */ swc1 $f8,0x4($v0)
/* f06ccb8: e44a0008 */ swc1 $f10,0x8($v0)
/* f06ccbc: e4660000 */ swc1 $f6,0x0($v1)
/* f06ccc0: e4720004 */ swc1 $f18,0x4($v1)
/* f06ccc4: e4700008 */ swc1 $f16,0x8($v1)
.L0f06ccc8:
/* f06ccc8: 8fa202b4 */ lw $v0,0x2b4($sp)
.L0f06cccc:
/* f06cccc: 8fbf005c */ lw $ra,0x5c($sp)
/* f06ccd0: d7b40030 */ ldc1 $f20,0x30($sp)
/* f06ccd4: 8fb00038 */ lw $s0,0x38($sp)
/* f06ccd8: 8fb1003c */ lw $s1,0x3c($sp)
/* f06ccdc: 8fb20040 */ lw $s2,0x40($sp)
/* f06cce0: 8fb30044 */ lw $s3,0x44($sp)
/* f06cce4: 8fb40048 */ lw $s4,0x48($sp)
/* f06cce8: 8fb5004c */ lw $s5,0x4c($sp)
/* f06ccec: 8fb60050 */ lw $s6,0x50($sp)
/* f06ccf0: 8fb70054 */ lw $s7,0x54($sp)
/* f06ccf4: 8fbe0058 */ lw $s8,0x58($sp)
/* f06ccf8: 03e00008 */ jr $ra
/* f06ccfc: 27bd02b8 */ addiu $sp,$sp,0x2b8
);
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f06cd00
.late_rodata
glabel var7f1aa268
.word 0x3dcccccd
.text
/* f06cd00: 27bdfdf8 */ addiu $sp,$sp,-520
/* f06cd04: 3c02800a */ lui $v0,%hi(g_Vars)
/* f06cd08: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f06cd0c: 8c4f0318 */ lw $t7,0x318($v0)
/* f06cd10: afbf0074 */ sw $ra,0x74($sp)
/* f06cd14: afb70070 */ sw $s7,0x70($sp)
/* f06cd18: afb6006c */ sw $s6,0x6c($sp)
/* f06cd1c: afb50068 */ sw $s5,0x68($sp)
/* f06cd20: afb40064 */ sw $s4,0x64($sp)
/* f06cd24: afb30060 */ sw $s3,0x60($sp)
/* f06cd28: afb2005c */ sw $s2,0x5c($sp)
/* f06cd2c: afb10058 */ sw $s1,0x58($sp)
/* f06cd30: afb00054 */ sw $s0,0x54($sp)
/* f06cd34: f7b60048 */ sdc1 $f22,0x48($sp)
/* f06cd38: f7b40040 */ sdc1 $f20,0x40($sp)
/* f06cd3c: afa60210 */ sw $a2,0x210($sp)
/* f06cd40: 8c920014 */ lw $s2,0x14($a0)
/* f06cd44: 240e0001 */ addiu $t6,$zero,0x1
/* f06cd48: 00a08025 */ or $s0,$a1,$zero
/* f06cd4c: 00e0a025 */ or $s4,$a3,$zero
/* f06cd50: 0080b825 */ or $s7,$a0,$zero
/* f06cd54: 11e00003 */ beqz $t7,.L0f06cd64
/* f06cd58: afae0200 */ sw $t6,0x200($sp)
/* f06cd5c: 24180001 */ addiu $t8,$zero,0x1
/* f06cd60: ac58048c */ sw $t8,0x48c($v0)
.L0f06cd64:
/* f06cd64: 3c018007 */ lui $at,%hi(var80069930)
/* f06cd68: ac209930 */ sw $zero,%lo(var80069930)($at)
/* f06cd6c: 3c018007 */ lui $at,%hi(var80069944)
/* f06cd70: ac209944 */ sw $zero,%lo(var80069944)($at)
/* f06cd74: c6040000 */ lwc1 $f4,0x0($s0)
/* f06cd78: e7a401c4 */ swc1 $f4,0x1c4($sp)
/* f06cd7c: c6060004 */ lwc1 $f6,0x4($s0)
/* f06cd80: e7a601c8 */ swc1 $f6,0x1c8($sp)
/* f06cd84: c6080008 */ lwc1 $f8,0x8($s0)
/* f06cd88: e7a801cc */ swc1 $f8,0x1cc($sp)
/* f06cd8c: c6500008 */ lwc1 $f16,0x8($s2)
/* f06cd90: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06cd94: 46105032 */ c.eq.s $f10,$f16
/* f06cd98: 00000000 */ nop
/* f06cd9c: 4502000e */ bc1fl .L0f06cdd8
/* f06cda0: 8ef90040 */ lw $t9,0x40($s7)
/* f06cda4: c6120004 */ lwc1 $f18,0x4($s0)
/* f06cda8: c644000c */ lwc1 $f4,0xc($s2)
/* f06cdac: 46049032 */ c.eq.s $f18,$f4
/* f06cdb0: 00000000 */ nop
/* f06cdb4: 45020008 */ bc1fl .L0f06cdd8
/* f06cdb8: 8ef90040 */ lw $t9,0x40($s7)
/* f06cdbc: c6060008 */ lwc1 $f6,0x8($s0)
/* f06cdc0: c6480010 */ lwc1 $f8,0x10($s2)
/* f06cdc4: 46083032 */ c.eq.s $f6,$f8
/* f06cdc8: 00000000 */ nop
/* f06cdcc: 45010157 */ bc1t .L0f06d32c
/* f06cdd0: 00000000 */ nop
/* f06cdd4: 8ef90040 */ lw $t9,0x40($s7)
.L0f06cdd8:
/* f06cdd8: 33280080 */ andi $t0,$t9,0x80
/* f06cddc: 11000153 */ beqz $t0,.L0f06d32c
/* f06cde0: 00000000 */ nop
/* f06cde4: 8ee90048 */ lw $t1,0x48($s7)
/* f06cde8: 26550008 */ addiu $s5,$s2,0x8
/* f06cdec: 02a02025 */ or $a0,$s5,$zero
/* f06cdf0: 8d2a0000 */ lw $t2,0x0($t1)
/* f06cdf4: 27a501c4 */ addiu $a1,$sp,0x1c4
/* f06cdf8: 26460028 */ addiu $a2,$s2,0x28
/* f06cdfc: 314b0004 */ andi $t3,$t2,0x4
/* f06ce00: 1160014a */ beqz $t3,.L0f06d32c
/* f06ce04: 27a700b8 */ addiu $a3,$sp,0xb8
/* f06ce08: 27ac00cc */ addiu $t4,$sp,0xcc
/* f06ce0c: 240d0014 */ addiu $t5,$zero,0x14
/* f06ce10: afad0014 */ sw $t5,0x14($sp)
/* f06ce14: afac0010 */ sw $t4,0x10($sp)
/* f06ce18: 0c006052 */ jal func00018148
/* f06ce1c: afb0020c */ sw $s0,0x20c($sp)
/* f06ce20: 87ae00cc */ lh $t6,0xcc($sp)
/* f06ce24: 2416ffff */ addiu $s6,$zero,-1
/* f06ce28: 27a400cc */ addiu $a0,$sp,0xcc
/* f06ce2c: 12ce0005 */ beq $s6,$t6,.L0f06ce44
/* f06ce30: 00000000 */ nop
/* f06ce34: 848f0002 */ lh $t7,0x2($a0)
.L0f06ce38:
/* f06ce38: 24840002 */ addiu $a0,$a0,0x2
/* f06ce3c: 56cffffe */ bnel $s6,$t7,.L0f06ce38
/* f06ce40: 848f0002 */ lh $t7,0x2($a0)
.L0f06ce44:
/* f06ce44: 0fc5914d */ jal roomsGetActive
/* f06ce48: 24050064 */ addiu $a1,$zero,0x64
/* f06ce4c: 87b800cc */ lh $t8,0xcc($sp)
/* f06ce50: 27b100cc */ addiu $s1,$sp,0xcc
/* f06ce54: 3c013f80 */ lui $at,0x3f80
/* f06ce58: 12d800d1 */ beq $s6,$t8,.L0f06d1a0
/* f06ce5c: 27b301d0 */ addiu $s3,$sp,0x1d0
/* f06ce60: 4481b000 */ mtc1 $at,$f22
/* f06ce64: 3c01bf80 */ lui $at,0xbf80
/* f06ce68: 4481a000 */ mtc1 $at,$f20
/* f06ce6c: 86240000 */ lh $a0,0x0($s1)
.L0f06ce70:
/* f06ce70: 0fc586ad */ jal roomIsLoaded
/* f06ce74: 00008025 */ or $s0,$zero,$zero
/* f06ce78: 10400045 */ beqz $v0,.L0f06cf90
/* f06ce7c: 02a02025 */ or $a0,$s5,$zero
/* f06ce80: 02a02025 */ or $a0,$s5,$zero
/* f06ce84: 27a501c4 */ addiu $a1,$sp,0x1c4
/* f06ce88: 86260000 */ lh $a2,0x0($s1)
/* f06ce8c: 0fc58548 */ jal func0f161520
/* f06ce90: 02603825 */ or $a3,$s3,$zero
/* f06ce94: 1040004e */ beqz $v0,.L0f06cfd0
/* f06ce98: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
/* f06ce9c: 46165402 */ mul.s $f16,$f10,$f22
/* f06cea0: c7b201d4 */ lwc1 $f18,0x1d4($sp)
/* f06cea4: c7a601d8 */ lwc1 $f6,0x1d8($sp)
/* f06cea8: 87a801fa */ lh $t0,0x1fa($sp)
/* f06ceac: 46169102 */ mul.s $f4,$f18,$f22
/* f06ceb0: 3c09800b */ lui $t1,%hi(g_Textures)
/* f06ceb4: 8d29abc0 */ lw $t1,%lo(g_Textures)($t1)
/* f06ceb8: 46163202 */ mul.s $f8,$f6,$f22
/* f06cebc: 3c018007 */ lui $at,%hi(var80069944)
/* f06cec0: 000850c0 */ sll $t2,$t0,0x3
/* f06cec4: e7b001d0 */ swc1 $f16,0x1d0($sp)
/* f06cec8: e7a401d4 */ swc1 $f4,0x1d4($sp)
/* f06cecc: ac289944 */ sw $t0,%lo(var80069944)($at)
/* f06ced0: 012a5821 */ addu $t3,$t1,$t2
/* f06ced4: e7a801d8 */ swc1 $f8,0x1d8($sp)
/* f06ced8: 916c0000 */ lbu $t4,0x0($t3)
/* f06cedc: 2401000e */ addiu $at,$zero,0xe
/* f06cee0: 24100001 */ addiu $s0,$zero,0x1
/* f06cee4: 318d000f */ andi $t5,$t4,0xf
/* f06cee8: 15a10039 */ bne $t5,$at,.L0f06cfd0
/* f06ceec: 3c0e8007 */ lui $t6,%hi(var800699e8)
/* f06cef0: 25ce99e8 */ addiu $t6,$t6,%lo(var800699e8)
/* f06cef4: 8dc10000 */ lw $at,0x0($t6)
/* f06cef8: 27a700a4 */ addiu $a3,$sp,0xa4
/* f06cefc: 27b901dc */ addiu $t9,$sp,0x1dc
/* f06cf00: ace10000 */ sw $at,0x0($a3)
/* f06cf04: 8dd80004 */ lw $t8,0x4($t6)
/* f06cf08: 2408001a */ addiu $t0,$zero,0x1a
/* f06cf0c: 00008025 */ or $s0,$zero,$zero
/* f06cf10: acf80004 */ sw $t8,0x4($a3)
/* f06cf14: 8dc10008 */ lw $at,0x8($t6)
/* f06cf18: 02402825 */ or $a1,$s2,$zero
/* f06cf1c: 02603025 */ or $a2,$s3,$zero
/* f06cf20: ace10008 */ sw $at,0x8($a3)
/* f06cf24: 86440028 */ lh $a0,0x28($s2)
/* f06cf28: afa80014 */ sw $t0,0x14($sp)
/* f06cf2c: 0fc4be7c */ jal sparksCreate
/* f06cf30: afb90010 */ sw $t9,0x10($sp)
/* f06cf34: 00163c00 */ sll $a3,$s6,0x10
/* f06cf38: 00074c03 */ sra $t1,$a3,0x10
/* f06cf3c: 240a0400 */ addiu $t2,$zero,0x400
/* f06cf40: afaa0014 */ sw $t2,0x14($sp)
/* f06cf44: 01203825 */ or $a3,$t1,$zero
/* f06cf48: 00002025 */ or $a0,$zero,$zero
/* f06cf4c: 02402825 */ or $a1,$s2,$zero
/* f06cf50: 24068080 */ addiu $a2,$zero,-32640
/* f06cf54: afb60010 */ sw $s6,0x10($sp)
/* f06cf58: afa00018 */ sw $zero,0x18($sp)
/* f06cf5c: afa0001c */ sw $zero,0x1c($sp)
/* f06cf60: afa00020 */ sw $zero,0x20($sp)
/* f06cf64: e7b40024 */ swc1 $f20,0x24($sp)
/* f06cf68: afa00028 */ sw $zero,0x28($sp)
/* f06cf6c: afb6002c */ sw $s6,0x2c($sp)
/* f06cf70: e7b40030 */ swc1 $f20,0x30($sp)
/* f06cf74: e7b40034 */ swc1 $f20,0x34($sp)
/* f06cf78: 0fc24e7e */ jal func0f0939f8
/* f06cf7c: e7b40038 */ swc1 $f20,0x38($sp)
/* f06cf80: 8eeb0040 */ lw $t3,0x40($s7)
/* f06cf84: 356c0004 */ ori $t4,$t3,0x4
/* f06cf88: 10000011 */ b .L0f06cfd0
/* f06cf8c: aeec0040 */ sw $t4,0x40($s7)
.L0f06cf90:
/* f06cf90: 862d0000 */ lh $t5,0x0($s1)
/* f06cf94: a7b600a2 */ sh $s6,0xa2($sp)
/* f06cf98: 27a500a0 */ addiu $a1,$sp,0xa0
/* f06cf9c: 27a601c4 */ addiu $a2,$sp,0x1c4
/* f06cfa0: 24070020 */ addiu $a3,$zero,0x20
/* f06cfa4: 0c00b784 */ jal cd0002de10
/* f06cfa8: a7ad00a0 */ sh $t5,0xa0($sp)
/* f06cfac: 14400008 */ bnez $v0,.L0f06cfd0
/* f06cfb0: 02602025 */ or $a0,$s3,$zero
/* f06cfb4: 3c067f1b */ lui $a2,%hi(var7f1a9f94)
/* f06cfb8: 24100001 */ addiu $s0,$zero,0x1
/* f06cfbc: 24c69f94 */ addiu $a2,$a2,%lo(var7f1a9f94)
/* f06cfc0: 0c0093af */ jal cdGetPos
/* f06cfc4: 240510a1 */ addiu $a1,$zero,0x10a2
/* f06cfc8: 0c0093ba */ jal cd00024ee8
/* f06cfcc: 27a401dc */ addiu $a0,$sp,0x1dc
.L0f06cfd0:
/* f06cfd0: 1200006f */ beqz $s0,.L0f06d190
/* f06cfd4: c7aa01c4 */ lwc1 $f10,0x1c4($sp)
/* f06cfd8: c64c0008 */ lwc1 $f12,0x8($s2)
/* f06cfdc: c7b001d0 */ lwc1 $f16,0x1d0($sp)
/* f06cfe0: c7b201c4 */ lwc1 $f18,0x1c4($sp)
/* f06cfe4: 460a603e */ c.le.s $f12,$f10
/* f06cfe8: 00000000 */ nop
/* f06cfec: 4502000a */ bc1fl .L0f06d018
/* f06cff0: 460c903e */ c.le.s $f18,$f12
/* f06cff4: 460a803e */ c.le.s $f16,$f10
/* f06cff8: 00000000 */ nop
/* f06cffc: 45020006 */ bc1fl .L0f06d018
/* f06d000: 460c903e */ c.le.s $f18,$f12
/* f06d004: 4610603e */ c.le.s $f12,$f16
/* f06d008: 00000000 */ nop
/* f06d00c: 4503000e */ bc1tl .L0f06d048
/* f06d010: c642000c */ lwc1 $f2,0xc($s2)
/* f06d014: 460c903e */ c.le.s $f18,$f12
.L0f06d018:
/* f06d018: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d01c: 4502005d */ bc1fl .L0f06d194
/* f06d020: 86240002 */ lh $a0,0x2($s1)
/* f06d024: 4604903e */ c.le.s $f18,$f4
/* f06d028: 00000000 */ nop
/* f06d02c: 45020059 */ bc1fl .L0f06d194
/* f06d030: 86240002 */ lh $a0,0x2($s1)
/* f06d034: 460c203e */ c.le.s $f4,$f12
/* f06d038: 00000000 */ nop
/* f06d03c: 45020055 */ bc1fl .L0f06d194
/* f06d040: 86240002 */ lh $a0,0x2($s1)
/* f06d044: c642000c */ lwc1 $f2,0xc($s2)
.L0f06d048:
/* f06d048: c7a601c8 */ lwc1 $f6,0x1c8($sp)
/* f06d04c: c7a801d4 */ lwc1 $f8,0x1d4($sp)
/* f06d050: c7aa01c8 */ lwc1 $f10,0x1c8($sp)
/* f06d054: 4606103e */ c.le.s $f2,$f6
/* f06d058: 00000000 */ nop
/* f06d05c: 4502000a */ bc1fl .L0f06d088
/* f06d060: 4602503e */ c.le.s $f10,$f2
/* f06d064: 4606403e */ c.le.s $f8,$f6
/* f06d068: 00000000 */ nop
/* f06d06c: 45020006 */ bc1fl .L0f06d088
/* f06d070: 4602503e */ c.le.s $f10,$f2
/* f06d074: 4608103e */ c.le.s $f2,$f8
/* f06d078: 00000000 */ nop
/* f06d07c: 4503000e */ bc1tl .L0f06d0b8
/* f06d080: c6400010 */ lwc1 $f0,0x10($s2)
/* f06d084: 4602503e */ c.le.s $f10,$f2
.L0f06d088:
/* f06d088: c7b001d4 */ lwc1 $f16,0x1d4($sp)
/* f06d08c: 45020041 */ bc1fl .L0f06d194
/* f06d090: 86240002 */ lh $a0,0x2($s1)
/* f06d094: 4610503e */ c.le.s $f10,$f16
/* f06d098: 00000000 */ nop
/* f06d09c: 4502003d */ bc1fl .L0f06d194
/* f06d0a0: 86240002 */ lh $a0,0x2($s1)
/* f06d0a4: 4602803e */ c.le.s $f16,$f2
/* f06d0a8: 00000000 */ nop
/* f06d0ac: 45020039 */ bc1fl .L0f06d194
/* f06d0b0: 86240002 */ lh $a0,0x2($s1)
/* f06d0b4: c6400010 */ lwc1 $f0,0x10($s2)
.L0f06d0b8:
/* f06d0b8: c7b201cc */ lwc1 $f18,0x1cc($sp)
/* f06d0bc: c7a401d8 */ lwc1 $f4,0x1d8($sp)
/* f06d0c0: c7a601cc */ lwc1 $f6,0x1cc($sp)
/* f06d0c4: 4612003e */ c.le.s $f0,$f18
/* f06d0c8: 00000000 */ nop
/* f06d0cc: 4502000a */ bc1fl .L0f06d0f8
/* f06d0d0: 4600303e */ c.le.s $f6,$f0
/* f06d0d4: 4612203e */ c.le.s $f4,$f18
/* f06d0d8: 00000000 */ nop
/* f06d0dc: 45020006 */ bc1fl .L0f06d0f8
/* f06d0e0: 4600303e */ c.le.s $f6,$f0
/* f06d0e4: 4604003e */ c.le.s $f0,$f4
/* f06d0e8: 00000000 */ nop
/* f06d0ec: 4503000e */ bc1tl .L0f06d128
/* f06d0f0: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
/* f06d0f4: 4600303e */ c.le.s $f6,$f0
.L0f06d0f8:
/* f06d0f8: c7a801d8 */ lwc1 $f8,0x1d8($sp)
/* f06d0fc: 45020025 */ bc1fl .L0f06d194
/* f06d100: 86240002 */ lh $a0,0x2($s1)
/* f06d104: 4608303e */ c.le.s $f6,$f8
/* f06d108: 00000000 */ nop
/* f06d10c: 45020021 */ bc1fl .L0f06d194
/* f06d110: 86240002 */ lh $a0,0x2($s1)
/* f06d114: 4600403e */ c.le.s $f8,$f0
/* f06d118: 00000000 */ nop
/* f06d11c: 4502001d */ bc1fl .L0f06d194
/* f06d120: 86240002 */ lh $a0,0x2($s1)
/* f06d124: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
.L0f06d128:
/* f06d128: c7b001d4 */ lwc1 $f16,0x1d4($sp)
/* f06d12c: 460a6032 */ c.eq.s $f12,$f10
/* f06d130: 00000000 */ nop
/* f06d134: 4502000a */ bc1fl .L0f06d160
/* f06d138: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d13c: 46101032 */ c.eq.s $f2,$f16
/* f06d140: c7b201d8 */ lwc1 $f18,0x1d8($sp)
/* f06d144: 45020006 */ bc1fl .L0f06d160
/* f06d148: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d14c: 46120032 */ c.eq.s $f0,$f18
/* f06d150: 00000000 */ nop
/* f06d154: 4503000f */ bc1tl .L0f06d194
/* f06d158: 86240002 */ lh $a0,0x2($s1)
/* f06d15c: c7a401d0 */ lwc1 $f4,0x1d0($sp)
.L0f06d160:
/* f06d160: c7a601d4 */ lwc1 $f6,0x1d4($sp)
/* f06d164: c7a801d8 */ lwc1 $f8,0x1d8($sp)
/* f06d168: c7aa01dc */ lwc1 $f10,0x1dc($sp)
/* f06d16c: afa00200 */ sw $zero,0x200($sp)
/* f06d170: e7a401c4 */ swc1 $f4,0x1c4($sp)
/* f06d174: e7a601c8 */ swc1 $f6,0x1c8($sp)
/* f06d178: e7a801cc */ swc1 $f8,0x1cc($sp)
/* f06d17c: e68a0000 */ swc1 $f10,0x0($s4)
/* f06d180: c7b001e0 */ lwc1 $f16,0x1e0($sp)
/* f06d184: e6900004 */ swc1 $f16,0x4($s4)
/* f06d188: c7b201e4 */ lwc1 $f18,0x1e4($sp)
/* f06d18c: e6920008 */ swc1 $f18,0x8($s4)
.L0f06d190:
/* f06d190: 86240002 */ lh $a0,0x2($s1)
.L0f06d194:
/* f06d194: 26310002 */ addiu $s1,$s1,0x2
/* f06d198: 16c4ff35 */ bne $s6,$a0,.L0f06ce70
/* f06d19c: 00000000 */ nop
.L0f06d1a0:
/* f06d1a0: 8faf0210 */ lw $t7,0x210($sp)
/* f06d1a4: 3c013f80 */ lui $at,0x3f80
/* f06d1a8: 4481b000 */ mtc1 $at,$f22
/* f06d1ac: 27ae00cc */ addiu $t6,$sp,0xcc
/* f06d1b0: afae0018 */ sw $t6,0x18($sp)
/* f06d1b4: 02402025 */ or $a0,$s2,$zero
/* f06d1b8: 02a02825 */ or $a1,$s5,$zero
/* f06d1bc: 27a601c4 */ addiu $a2,$sp,0x1c4
/* f06d1c0: 2407003f */ addiu $a3,$zero,0x3f
/* f06d1c4: afb40014 */ sw $s4,0x14($sp)
/* f06d1c8: 0fc1b22b */ jal func0f06c8ac
/* f06d1cc: afaf0010 */ sw $t7,0x10($sp)
/* f06d1d0: 1440000a */ bnez $v0,.L0f06d1fc
/* f06d1d4: 8fb80200 */ lw $t8,0x200($sp)
/* f06d1d8: 17000009 */ bnez $t8,.L0f06d200
/* f06d1dc: c7a401c4 */ lwc1 $f4,0x1c4($sp)
/* f06d1e0: 8fb90210 */ lw $t9,0x210($sp)
/* f06d1e4: e7240000 */ swc1 $f4,0x0($t9)
/* f06d1e8: c7a601c8 */ lwc1 $f6,0x1c8($sp)
/* f06d1ec: e7260004 */ swc1 $f6,0x4($t9)
/* f06d1f0: c7a801cc */ lwc1 $f8,0x1cc($sp)
/* f06d1f4: 10000002 */ b .L0f06d200
/* f06d1f8: e7280008 */ swc1 $f8,0x8($t9)
.L0f06d1fc:
/* f06d1fc: afa00200 */ sw $zero,0x200($sp)
.L0f06d200:
/* f06d200: 8fa80200 */ lw $t0,0x200($sp)
/* f06d204: 24010001 */ addiu $at,$zero,0x1
/* f06d208: 8fa2020c */ lw $v0,0x20c($sp)
/* f06d20c: 11010047 */ beq $t0,$at,.L0f06d32c
/* f06d210: 00000000 */ nop
/* f06d214: c44a0000 */ lwc1 $f10,0x0($v0)
/* f06d218: c6500008 */ lwc1 $f16,0x8($s2)
/* f06d21c: 46105481 */ sub.s $f18,$f10,$f16
/* f06d220: e7b20094 */ swc1 $f18,0x94($sp)
/* f06d224: c646000c */ lwc1 $f6,0xc($s2)
/* f06d228: c4440004 */ lwc1 $f4,0x4($v0)
/* f06d22c: 46062201 */ sub.s $f8,$f4,$f6
/* f06d230: c7a40094 */ lwc1 $f4,0x94($sp)
/* f06d234: e7a80098 */ swc1 $f8,0x98($sp)
/* f06d238: c6500010 */ lwc1 $f16,0x10($s2)
/* f06d23c: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06d240: 46042182 */ mul.s $f6,$f4,$f4
/* f06d244: c7a80098 */ lwc1 $f8,0x98($sp)
/* f06d248: 46105481 */ sub.s $f18,$f10,$f16
/* f06d24c: 46084282 */ mul.s $f10,$f8,$f8
/* f06d250: e7b2009c */ swc1 $f18,0x9c($sp)
/* f06d254: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06d258: 46129102 */ mul.s $f4,$f18,$f18
/* f06d25c: 460a3400 */ add.s $f16,$f6,$f10
/* f06d260: 0c012974 */ jal sqrtf
/* f06d264: 46102300 */ add.s $f12,$f4,$f16
/* f06d268: 3c017f1b */ lui $at,%hi(var7f1aa268)
/* f06d26c: c42ca268 */ lwc1 $f12,%lo(var7f1aa268)($at)
/* f06d270: 3c013f00 */ lui $at,0x3f00
/* f06d274: c7a60094 */ lwc1 $f6,0x94($sp)
/* f06d278: 4600603c */ c.lt.s $f12,$f0
/* f06d27c: 02802025 */ or $a0,$s4,$zero
/* f06d280: 26850004 */ addiu $a1,$s4,0x4
/* f06d284: 45020004 */ bc1fl .L0f06d298
/* f06d288: 44811000 */ mtc1 $at,$f2
/* f06d28c: 10000003 */ b .L0f06d29c
/* f06d290: 46006083 */ div.s $f2,$f12,$f0
/* f06d294: 44811000 */ mtc1 $at,$f2
.L0f06d298:
/* f06d298: 00000000 */ nop
.L0f06d29c:
/* f06d29c: 46061282 */ mul.s $f10,$f2,$f6
/* f06d2a0: 8fa20210 */ lw $v0,0x210($sp)
/* f06d2a4: 44800000 */ mtc1 $zero,$f0
/* f06d2a8: c4480000 */ lwc1 $f8,0x0($v0)
/* f06d2ac: c4440004 */ lwc1 $f4,0x4($v0)
/* f06d2b0: 460a4481 */ sub.s $f18,$f8,$f10
/* f06d2b4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06d2b8: e4520000 */ swc1 $f18,0x0($v0)
/* f06d2bc: c7b00098 */ lwc1 $f16,0x98($sp)
/* f06d2c0: 46101182 */ mul.s $f6,$f2,$f16
/* f06d2c4: 46062201 */ sub.s $f8,$f4,$f6
/* f06d2c8: e4480004 */ swc1 $f8,0x4($v0)
/* f06d2cc: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06d2d0: 46121402 */ mul.s $f16,$f2,$f18
/* f06d2d4: 46105101 */ sub.s $f4,$f10,$f16
/* f06d2d8: e4440008 */ swc1 $f4,0x8($v0)
/* f06d2dc: c6860000 */ lwc1 $f6,0x0($s4)
/* f06d2e0: 46060032 */ c.eq.s $f0,$f6
/* f06d2e4: 00000000 */ nop
/* f06d2e8: 4500000b */ bc1f .L0f06d318
/* f06d2ec: 00000000 */ nop
/* f06d2f0: c6880004 */ lwc1 $f8,0x4($s4)
/* f06d2f4: 46080032 */ c.eq.s $f0,$f8
/* f06d2f8: 00000000 */ nop
/* f06d2fc: 45000006 */ bc1f .L0f06d318
/* f06d300: 00000000 */ nop
/* f06d304: c6920008 */ lwc1 $f18,0x8($s4)
/* f06d308: 46120032 */ c.eq.s $f0,$f18
/* f06d30c: 00000000 */ nop
/* f06d310: 45030006 */ bc1tl .L0f06d32c
/* f06d314: e6960008 */ swc1 $f22,0x8($s4)
.L0f06d318:
/* f06d318: 0c0011e4 */ jal guNormalize
/* f06d31c: 26860008 */ addiu $a2,$s4,0x8
/* f06d320: 10000002 */ b .L0f06d32c
/* f06d324: 00000000 */ nop
/* f06d328: e6960008 */ swc1 $f22,0x8($s4)
.L0f06d32c:
/* f06d32c: 3c02800a */ lui $v0,%hi(g_Vars)
/* f06d330: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f06d334: 8c490318 */ lw $t1,0x318($v0)
/* f06d338: 51200003 */ beqzl $t1,.L0f06d348
/* f06d33c: 8fbf0074 */ lw $ra,0x74($sp)
/* f06d340: ac40048c */ sw $zero,0x48c($v0)
/* f06d344: 8fbf0074 */ lw $ra,0x74($sp)
.L0f06d348:
/* f06d348: 8fa20200 */ lw $v0,0x200($sp)
/* f06d34c: d7b40040 */ ldc1 $f20,0x40($sp)
/* f06d350: d7b60048 */ ldc1 $f22,0x48($sp)
/* f06d354: 8fb00054 */ lw $s0,0x54($sp)
/* f06d358: 8fb10058 */ lw $s1,0x58($sp)
/* f06d35c: 8fb2005c */ lw $s2,0x5c($sp)
/* f06d360: 8fb30060 */ lw $s3,0x60($sp)
/* f06d364: 8fb40064 */ lw $s4,0x64($sp)
/* f06d368: 8fb50068 */ lw $s5,0x68($sp)
/* f06d36c: 8fb6006c */ lw $s6,0x6c($sp)
/* f06d370: 8fb70070 */ lw $s7,0x70($sp)
/* f06d374: 03e00008 */ jr $ra
/* f06d378: 27bd0208 */ addiu $sp,$sp,0x208
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f06cd00
.late_rodata
glabel var7f1aa268
.word 0x3dcccccd
.text
/* f06cd00: 27bdfdf8 */ addiu $sp,$sp,-520
/* f06cd04: 3c02800a */ lui $v0,%hi(g_Vars)
/* f06cd08: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f06cd0c: 8c4f0318 */ lw $t7,0x318($v0)
/* f06cd10: afbf0074 */ sw $ra,0x74($sp)
/* f06cd14: afb70070 */ sw $s7,0x70($sp)
/* f06cd18: afb6006c */ sw $s6,0x6c($sp)
/* f06cd1c: afb50068 */ sw $s5,0x68($sp)
/* f06cd20: afb40064 */ sw $s4,0x64($sp)
/* f06cd24: afb30060 */ sw $s3,0x60($sp)
/* f06cd28: afb2005c */ sw $s2,0x5c($sp)
/* f06cd2c: afb10058 */ sw $s1,0x58($sp)
/* f06cd30: afb00054 */ sw $s0,0x54($sp)
/* f06cd34: f7b60048 */ sdc1 $f22,0x48($sp)
/* f06cd38: f7b40040 */ sdc1 $f20,0x40($sp)
/* f06cd3c: afa60210 */ sw $a2,0x210($sp)
/* f06cd40: 8c920014 */ lw $s2,0x14($a0)
/* f06cd44: 240e0001 */ addiu $t6,$zero,0x1
/* f06cd48: 00a08025 */ or $s0,$a1,$zero
/* f06cd4c: 00e0a025 */ or $s4,$a3,$zero
/* f06cd50: 0080b825 */ or $s7,$a0,$zero
/* f06cd54: 11e00003 */ beqz $t7,.L0f06cd64
/* f06cd58: afae0200 */ sw $t6,0x200($sp)
/* f06cd5c: 24180001 */ addiu $t8,$zero,0x1
/* f06cd60: ac58048c */ sw $t8,0x48c($v0)
.L0f06cd64:
/* f06cd64: 3c018007 */ lui $at,%hi(var80069930)
/* f06cd68: ac209930 */ sw $zero,%lo(var80069930)($at)
/* f06cd6c: 3c018007 */ lui $at,%hi(var80069944)
/* f06cd70: ac209944 */ sw $zero,%lo(var80069944)($at)
/* f06cd74: c6040000 */ lwc1 $f4,0x0($s0)
/* f06cd78: e7a401c4 */ swc1 $f4,0x1c4($sp)
/* f06cd7c: c6060004 */ lwc1 $f6,0x4($s0)
/* f06cd80: e7a601c8 */ swc1 $f6,0x1c8($sp)
/* f06cd84: c6080008 */ lwc1 $f8,0x8($s0)
/* f06cd88: e7a801cc */ swc1 $f8,0x1cc($sp)
/* f06cd8c: c6500008 */ lwc1 $f16,0x8($s2)
/* f06cd90: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06cd94: 46105032 */ c.eq.s $f10,$f16
/* f06cd98: 00000000 */ nop
/* f06cd9c: 4502000e */ bc1fl .L0f06cdd8
/* f06cda0: 8ef90040 */ lw $t9,0x40($s7)
/* f06cda4: c6120004 */ lwc1 $f18,0x4($s0)
/* f06cda8: c644000c */ lwc1 $f4,0xc($s2)
/* f06cdac: 46049032 */ c.eq.s $f18,$f4
/* f06cdb0: 00000000 */ nop
/* f06cdb4: 45020008 */ bc1fl .L0f06cdd8
/* f06cdb8: 8ef90040 */ lw $t9,0x40($s7)
/* f06cdbc: c6060008 */ lwc1 $f6,0x8($s0)
/* f06cdc0: c6480010 */ lwc1 $f8,0x10($s2)
/* f06cdc4: 46083032 */ c.eq.s $f6,$f8
/* f06cdc8: 00000000 */ nop
/* f06cdcc: 45010157 */ bc1t .L0f06d32c
/* f06cdd0: 00000000 */ nop
/* f06cdd4: 8ef90040 */ lw $t9,0x40($s7)
.L0f06cdd8:
/* f06cdd8: 33280080 */ andi $t0,$t9,0x80
/* f06cddc: 11000153 */ beqz $t0,.L0f06d32c
/* f06cde0: 00000000 */ nop
/* f06cde4: 8ee90048 */ lw $t1,0x48($s7)
/* f06cde8: 26550008 */ addiu $s5,$s2,0x8
/* f06cdec: 02a02025 */ or $a0,$s5,$zero
/* f06cdf0: 8d2a0000 */ lw $t2,0x0($t1)
/* f06cdf4: 27a501c4 */ addiu $a1,$sp,0x1c4
/* f06cdf8: 26460028 */ addiu $a2,$s2,0x28
/* f06cdfc: 314b0004 */ andi $t3,$t2,0x4
/* f06ce00: 1160014a */ beqz $t3,.L0f06d32c
/* f06ce04: 27a700b8 */ addiu $a3,$sp,0xb8
/* f06ce08: 27ac00cc */ addiu $t4,$sp,0xcc
/* f06ce0c: 240d0014 */ addiu $t5,$zero,0x14
/* f06ce10: afad0014 */ sw $t5,0x14($sp)
/* f06ce14: afac0010 */ sw $t4,0x10($sp)
/* f06ce18: 0c006052 */ jal func00018148
/* f06ce1c: afb0020c */ sw $s0,0x20c($sp)
/* f06ce20: 87ae00cc */ lh $t6,0xcc($sp)
/* f06ce24: 2416ffff */ addiu $s6,$zero,-1
/* f06ce28: 27a400cc */ addiu $a0,$sp,0xcc
/* f06ce2c: 12ce0005 */ beq $s6,$t6,.L0f06ce44
/* f06ce30: 00000000 */ nop
/* f06ce34: 848f0002 */ lh $t7,0x2($a0)
.L0f06ce38:
/* f06ce38: 24840002 */ addiu $a0,$a0,0x2
/* f06ce3c: 56cffffe */ bnel $s6,$t7,.L0f06ce38
/* f06ce40: 848f0002 */ lh $t7,0x2($a0)
.L0f06ce44:
/* f06ce44: 0fc5914d */ jal roomsGetActive
/* f06ce48: 24050064 */ addiu $a1,$zero,0x64
/* f06ce4c: 87b800cc */ lh $t8,0xcc($sp)
/* f06ce50: 27b100cc */ addiu $s1,$sp,0xcc
/* f06ce54: 3c013f80 */ lui $at,0x3f80
/* f06ce58: 12d800d1 */ beq $s6,$t8,.L0f06d1a0
/* f06ce5c: 27b301d0 */ addiu $s3,$sp,0x1d0
/* f06ce60: 4481b000 */ mtc1 $at,$f22
/* f06ce64: 3c01bf80 */ lui $at,0xbf80
/* f06ce68: 4481a000 */ mtc1 $at,$f20
/* f06ce6c: 86240000 */ lh $a0,0x0($s1)
.L0f06ce70:
/* f06ce70: 0fc586ad */ jal roomIsLoaded
/* f06ce74: 00008025 */ or $s0,$zero,$zero
/* f06ce78: 10400045 */ beqz $v0,.L0f06cf90
/* f06ce7c: 02a02025 */ or $a0,$s5,$zero
/* f06ce80: 02a02025 */ or $a0,$s5,$zero
/* f06ce84: 27a501c4 */ addiu $a1,$sp,0x1c4
/* f06ce88: 86260000 */ lh $a2,0x0($s1)
/* f06ce8c: 0fc58548 */ jal func0f161520
/* f06ce90: 02603825 */ or $a3,$s3,$zero
/* f06ce94: 1040004e */ beqz $v0,.L0f06cfd0
/* f06ce98: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
/* f06ce9c: 46165402 */ mul.s $f16,$f10,$f22
/* f06cea0: c7b201d4 */ lwc1 $f18,0x1d4($sp)
/* f06cea4: c7a601d8 */ lwc1 $f6,0x1d8($sp)
/* f06cea8: 87a801fa */ lh $t0,0x1fa($sp)
/* f06ceac: 46169102 */ mul.s $f4,$f18,$f22
/* f06ceb0: 3c09800b */ lui $t1,%hi(g_Textures)
/* f06ceb4: 8d29abc0 */ lw $t1,%lo(g_Textures)($t1)
/* f06ceb8: 46163202 */ mul.s $f8,$f6,$f22
/* f06cebc: 3c018007 */ lui $at,%hi(var80069944)
/* f06cec0: 000850c0 */ sll $t2,$t0,0x3
/* f06cec4: e7b001d0 */ swc1 $f16,0x1d0($sp)
/* f06cec8: e7a401d4 */ swc1 $f4,0x1d4($sp)
/* f06cecc: ac289944 */ sw $t0,%lo(var80069944)($at)
/* f06ced0: 012a5821 */ addu $t3,$t1,$t2
/* f06ced4: e7a801d8 */ swc1 $f8,0x1d8($sp)
/* f06ced8: 916c0000 */ lbu $t4,0x0($t3)
/* f06cedc: 2401000e */ addiu $at,$zero,0xe
/* f06cee0: 24100001 */ addiu $s0,$zero,0x1
/* f06cee4: 318d000f */ andi $t5,$t4,0xf
/* f06cee8: 15a10039 */ bne $t5,$at,.L0f06cfd0
/* f06ceec: 3c0e8007 */ lui $t6,%hi(var800699e8)
/* f06cef0: 25ce99e8 */ addiu $t6,$t6,%lo(var800699e8)
/* f06cef4: 8dc10000 */ lw $at,0x0($t6)
/* f06cef8: 27a700a4 */ addiu $a3,$sp,0xa4
/* f06cefc: 27b901dc */ addiu $t9,$sp,0x1dc
/* f06cf00: ace10000 */ sw $at,0x0($a3)
/* f06cf04: 8dd80004 */ lw $t8,0x4($t6)
/* f06cf08: 2408001a */ addiu $t0,$zero,0x1a
/* f06cf0c: 00008025 */ or $s0,$zero,$zero
/* f06cf10: acf80004 */ sw $t8,0x4($a3)
/* f06cf14: 8dc10008 */ lw $at,0x8($t6)
/* f06cf18: 02402825 */ or $a1,$s2,$zero
/* f06cf1c: 02603025 */ or $a2,$s3,$zero
/* f06cf20: ace10008 */ sw $at,0x8($a3)
/* f06cf24: 86440028 */ lh $a0,0x28($s2)
/* f06cf28: afa80014 */ sw $t0,0x14($sp)
/* f06cf2c: 0fc4be7c */ jal sparksCreate
/* f06cf30: afb90010 */ sw $t9,0x10($sp)
/* f06cf34: 00163c00 */ sll $a3,$s6,0x10
/* f06cf38: 00074c03 */ sra $t1,$a3,0x10
/* f06cf3c: 240a0400 */ addiu $t2,$zero,0x400
/* f06cf40: afaa0014 */ sw $t2,0x14($sp)
/* f06cf44: 01203825 */ or $a3,$t1,$zero
/* f06cf48: 00002025 */ or $a0,$zero,$zero
/* f06cf4c: 02402825 */ or $a1,$s2,$zero
/* f06cf50: 24068080 */ addiu $a2,$zero,-32640
/* f06cf54: afb60010 */ sw $s6,0x10($sp)
/* f06cf58: afa00018 */ sw $zero,0x18($sp)
/* f06cf5c: afa0001c */ sw $zero,0x1c($sp)
/* f06cf60: afa00020 */ sw $zero,0x20($sp)
/* f06cf64: e7b40024 */ swc1 $f20,0x24($sp)
/* f06cf68: afa00028 */ sw $zero,0x28($sp)
/* f06cf6c: afb6002c */ sw $s6,0x2c($sp)
/* f06cf70: e7b40030 */ swc1 $f20,0x30($sp)
/* f06cf74: e7b40034 */ swc1 $f20,0x34($sp)
/* f06cf78: 0fc24e7e */ jal func0f0939f8
/* f06cf7c: e7b40038 */ swc1 $f20,0x38($sp)
/* f06cf80: 8eeb0040 */ lw $t3,0x40($s7)
/* f06cf84: 356c0004 */ ori $t4,$t3,0x4
/* f06cf88: 10000011 */ b .L0f06cfd0
/* f06cf8c: aeec0040 */ sw $t4,0x40($s7)
.L0f06cf90:
/* f06cf90: 862d0000 */ lh $t5,0x0($s1)
/* f06cf94: a7b600a2 */ sh $s6,0xa2($sp)
/* f06cf98: 27a500a0 */ addiu $a1,$sp,0xa0
/* f06cf9c: 27a601c4 */ addiu $a2,$sp,0x1c4
/* f06cfa0: 24070020 */ addiu $a3,$zero,0x20
/* f06cfa4: 0c00b784 */ jal cd0002de10
/* f06cfa8: a7ad00a0 */ sh $t5,0xa0($sp)
/* f06cfac: 14400008 */ bnez $v0,.L0f06cfd0
/* f06cfb0: 02602025 */ or $a0,$s3,$zero
/* f06cfb4: 3c067f1b */ lui $a2,%hi(var7f1a9f94)
/* f06cfb8: 24100001 */ addiu $s0,$zero,0x1
/* f06cfbc: 24c69f94 */ addiu $a2,$a2,%lo(var7f1a9f94)
/* f06cfc0: 0c0093af */ jal cdGetPos
/* f06cfc4: 240510a1 */ addiu $a1,$zero,0x10a1
/* f06cfc8: 0c0093ba */ jal cd00024ee8
/* f06cfcc: 27a401dc */ addiu $a0,$sp,0x1dc
.L0f06cfd0:
/* f06cfd0: 1200006f */ beqz $s0,.L0f06d190
/* f06cfd4: c7aa01c4 */ lwc1 $f10,0x1c4($sp)
/* f06cfd8: c64c0008 */ lwc1 $f12,0x8($s2)
/* f06cfdc: c7b001d0 */ lwc1 $f16,0x1d0($sp)
/* f06cfe0: c7b201c4 */ lwc1 $f18,0x1c4($sp)
/* f06cfe4: 460a603e */ c.le.s $f12,$f10
/* f06cfe8: 00000000 */ nop
/* f06cfec: 4502000a */ bc1fl .L0f06d018
/* f06cff0: 460c903e */ c.le.s $f18,$f12
/* f06cff4: 460a803e */ c.le.s $f16,$f10
/* f06cff8: 00000000 */ nop
/* f06cffc: 45020006 */ bc1fl .L0f06d018
/* f06d000: 460c903e */ c.le.s $f18,$f12
/* f06d004: 4610603e */ c.le.s $f12,$f16
/* f06d008: 00000000 */ nop
/* f06d00c: 4503000e */ bc1tl .L0f06d048
/* f06d010: c642000c */ lwc1 $f2,0xc($s2)
/* f06d014: 460c903e */ c.le.s $f18,$f12
.L0f06d018:
/* f06d018: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d01c: 4502005d */ bc1fl .L0f06d194
/* f06d020: 86240002 */ lh $a0,0x2($s1)
/* f06d024: 4604903e */ c.le.s $f18,$f4
/* f06d028: 00000000 */ nop
/* f06d02c: 45020059 */ bc1fl .L0f06d194
/* f06d030: 86240002 */ lh $a0,0x2($s1)
/* f06d034: 460c203e */ c.le.s $f4,$f12
/* f06d038: 00000000 */ nop
/* f06d03c: 45020055 */ bc1fl .L0f06d194
/* f06d040: 86240002 */ lh $a0,0x2($s1)
/* f06d044: c642000c */ lwc1 $f2,0xc($s2)
.L0f06d048:
/* f06d048: c7a601c8 */ lwc1 $f6,0x1c8($sp)
/* f06d04c: c7a801d4 */ lwc1 $f8,0x1d4($sp)
/* f06d050: c7aa01c8 */ lwc1 $f10,0x1c8($sp)
/* f06d054: 4606103e */ c.le.s $f2,$f6
/* f06d058: 00000000 */ nop
/* f06d05c: 4502000a */ bc1fl .L0f06d088
/* f06d060: 4602503e */ c.le.s $f10,$f2
/* f06d064: 4606403e */ c.le.s $f8,$f6
/* f06d068: 00000000 */ nop
/* f06d06c: 45020006 */ bc1fl .L0f06d088
/* f06d070: 4602503e */ c.le.s $f10,$f2
/* f06d074: 4608103e */ c.le.s $f2,$f8
/* f06d078: 00000000 */ nop
/* f06d07c: 4503000e */ bc1tl .L0f06d0b8
/* f06d080: c6400010 */ lwc1 $f0,0x10($s2)
/* f06d084: 4602503e */ c.le.s $f10,$f2
.L0f06d088:
/* f06d088: c7b001d4 */ lwc1 $f16,0x1d4($sp)
/* f06d08c: 45020041 */ bc1fl .L0f06d194
/* f06d090: 86240002 */ lh $a0,0x2($s1)
/* f06d094: 4610503e */ c.le.s $f10,$f16
/* f06d098: 00000000 */ nop
/* f06d09c: 4502003d */ bc1fl .L0f06d194
/* f06d0a0: 86240002 */ lh $a0,0x2($s1)
/* f06d0a4: 4602803e */ c.le.s $f16,$f2
/* f06d0a8: 00000000 */ nop
/* f06d0ac: 45020039 */ bc1fl .L0f06d194
/* f06d0b0: 86240002 */ lh $a0,0x2($s1)
/* f06d0b4: c6400010 */ lwc1 $f0,0x10($s2)
.L0f06d0b8:
/* f06d0b8: c7b201cc */ lwc1 $f18,0x1cc($sp)
/* f06d0bc: c7a401d8 */ lwc1 $f4,0x1d8($sp)
/* f06d0c0: c7a601cc */ lwc1 $f6,0x1cc($sp)
/* f06d0c4: 4612003e */ c.le.s $f0,$f18
/* f06d0c8: 00000000 */ nop
/* f06d0cc: 4502000a */ bc1fl .L0f06d0f8
/* f06d0d0: 4600303e */ c.le.s $f6,$f0
/* f06d0d4: 4612203e */ c.le.s $f4,$f18
/* f06d0d8: 00000000 */ nop
/* f06d0dc: 45020006 */ bc1fl .L0f06d0f8
/* f06d0e0: 4600303e */ c.le.s $f6,$f0
/* f06d0e4: 4604003e */ c.le.s $f0,$f4
/* f06d0e8: 00000000 */ nop
/* f06d0ec: 4503000e */ bc1tl .L0f06d128
/* f06d0f0: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
/* f06d0f4: 4600303e */ c.le.s $f6,$f0
.L0f06d0f8:
/* f06d0f8: c7a801d8 */ lwc1 $f8,0x1d8($sp)
/* f06d0fc: 45020025 */ bc1fl .L0f06d194
/* f06d100: 86240002 */ lh $a0,0x2($s1)
/* f06d104: 4608303e */ c.le.s $f6,$f8
/* f06d108: 00000000 */ nop
/* f06d10c: 45020021 */ bc1fl .L0f06d194
/* f06d110: 86240002 */ lh $a0,0x2($s1)
/* f06d114: 4600403e */ c.le.s $f8,$f0
/* f06d118: 00000000 */ nop
/* f06d11c: 4502001d */ bc1fl .L0f06d194
/* f06d120: 86240002 */ lh $a0,0x2($s1)
/* f06d124: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
.L0f06d128:
/* f06d128: c7b001d4 */ lwc1 $f16,0x1d4($sp)
/* f06d12c: 460a6032 */ c.eq.s $f12,$f10
/* f06d130: 00000000 */ nop
/* f06d134: 4502000a */ bc1fl .L0f06d160
/* f06d138: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d13c: 46101032 */ c.eq.s $f2,$f16
/* f06d140: c7b201d8 */ lwc1 $f18,0x1d8($sp)
/* f06d144: 45020006 */ bc1fl .L0f06d160
/* f06d148: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d14c: 46120032 */ c.eq.s $f0,$f18
/* f06d150: 00000000 */ nop
/* f06d154: 4503000f */ bc1tl .L0f06d194
/* f06d158: 86240002 */ lh $a0,0x2($s1)
/* f06d15c: c7a401d0 */ lwc1 $f4,0x1d0($sp)
.L0f06d160:
/* f06d160: c7a601d4 */ lwc1 $f6,0x1d4($sp)
/* f06d164: c7a801d8 */ lwc1 $f8,0x1d8($sp)
/* f06d168: c7aa01dc */ lwc1 $f10,0x1dc($sp)
/* f06d16c: afa00200 */ sw $zero,0x200($sp)
/* f06d170: e7a401c4 */ swc1 $f4,0x1c4($sp)
/* f06d174: e7a601c8 */ swc1 $f6,0x1c8($sp)
/* f06d178: e7a801cc */ swc1 $f8,0x1cc($sp)
/* f06d17c: e68a0000 */ swc1 $f10,0x0($s4)
/* f06d180: c7b001e0 */ lwc1 $f16,0x1e0($sp)
/* f06d184: e6900004 */ swc1 $f16,0x4($s4)
/* f06d188: c7b201e4 */ lwc1 $f18,0x1e4($sp)
/* f06d18c: e6920008 */ swc1 $f18,0x8($s4)
.L0f06d190:
/* f06d190: 86240002 */ lh $a0,0x2($s1)
.L0f06d194:
/* f06d194: 26310002 */ addiu $s1,$s1,0x2
/* f06d198: 16c4ff35 */ bne $s6,$a0,.L0f06ce70
/* f06d19c: 00000000 */ nop
.L0f06d1a0:
/* f06d1a0: 8faf0210 */ lw $t7,0x210($sp)
/* f06d1a4: 3c013f80 */ lui $at,0x3f80
/* f06d1a8: 4481b000 */ mtc1 $at,$f22
/* f06d1ac: 27ae00cc */ addiu $t6,$sp,0xcc
/* f06d1b0: afae0018 */ sw $t6,0x18($sp)
/* f06d1b4: 02402025 */ or $a0,$s2,$zero
/* f06d1b8: 02a02825 */ or $a1,$s5,$zero
/* f06d1bc: 27a601c4 */ addiu $a2,$sp,0x1c4
/* f06d1c0: 2407003f */ addiu $a3,$zero,0x3f
/* f06d1c4: afb40014 */ sw $s4,0x14($sp)
/* f06d1c8: 0fc1b22b */ jal func0f06c8ac
/* f06d1cc: afaf0010 */ sw $t7,0x10($sp)
/* f06d1d0: 1440000a */ bnez $v0,.L0f06d1fc
/* f06d1d4: 8fb80200 */ lw $t8,0x200($sp)
/* f06d1d8: 17000009 */ bnez $t8,.L0f06d200
/* f06d1dc: c7a401c4 */ lwc1 $f4,0x1c4($sp)
/* f06d1e0: 8fb90210 */ lw $t9,0x210($sp)
/* f06d1e4: e7240000 */ swc1 $f4,0x0($t9)
/* f06d1e8: c7a601c8 */ lwc1 $f6,0x1c8($sp)
/* f06d1ec: e7260004 */ swc1 $f6,0x4($t9)
/* f06d1f0: c7a801cc */ lwc1 $f8,0x1cc($sp)
/* f06d1f4: 10000002 */ b .L0f06d200
/* f06d1f8: e7280008 */ swc1 $f8,0x8($t9)
.L0f06d1fc:
/* f06d1fc: afa00200 */ sw $zero,0x200($sp)
.L0f06d200:
/* f06d200: 8fa80200 */ lw $t0,0x200($sp)
/* f06d204: 24010001 */ addiu $at,$zero,0x1
/* f06d208: 8fa2020c */ lw $v0,0x20c($sp)
/* f06d20c: 11010047 */ beq $t0,$at,.L0f06d32c
/* f06d210: 00000000 */ nop
/* f06d214: c44a0000 */ lwc1 $f10,0x0($v0)
/* f06d218: c6500008 */ lwc1 $f16,0x8($s2)
/* f06d21c: 46105481 */ sub.s $f18,$f10,$f16
/* f06d220: e7b20094 */ swc1 $f18,0x94($sp)
/* f06d224: c646000c */ lwc1 $f6,0xc($s2)
/* f06d228: c4440004 */ lwc1 $f4,0x4($v0)
/* f06d22c: 46062201 */ sub.s $f8,$f4,$f6
/* f06d230: c7a40094 */ lwc1 $f4,0x94($sp)
/* f06d234: e7a80098 */ swc1 $f8,0x98($sp)
/* f06d238: c6500010 */ lwc1 $f16,0x10($s2)
/* f06d23c: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06d240: 46042182 */ mul.s $f6,$f4,$f4
/* f06d244: c7a80098 */ lwc1 $f8,0x98($sp)
/* f06d248: 46105481 */ sub.s $f18,$f10,$f16
/* f06d24c: 46084282 */ mul.s $f10,$f8,$f8
/* f06d250: e7b2009c */ swc1 $f18,0x9c($sp)
/* f06d254: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06d258: 46129102 */ mul.s $f4,$f18,$f18
/* f06d25c: 460a3400 */ add.s $f16,$f6,$f10
/* f06d260: 0c012974 */ jal sqrtf
/* f06d264: 46102300 */ add.s $f12,$f4,$f16
/* f06d268: 3c017f1b */ lui $at,%hi(var7f1aa268)
/* f06d26c: c42ca268 */ lwc1 $f12,%lo(var7f1aa268)($at)
/* f06d270: 3c013f00 */ lui $at,0x3f00
/* f06d274: c7a60094 */ lwc1 $f6,0x94($sp)
/* f06d278: 4600603c */ c.lt.s $f12,$f0
/* f06d27c: 02802025 */ or $a0,$s4,$zero
/* f06d280: 26850004 */ addiu $a1,$s4,0x4
/* f06d284: 45020004 */ bc1fl .L0f06d298
/* f06d288: 44811000 */ mtc1 $at,$f2
/* f06d28c: 10000003 */ b .L0f06d29c
/* f06d290: 46006083 */ div.s $f2,$f12,$f0
/* f06d294: 44811000 */ mtc1 $at,$f2
.L0f06d298:
/* f06d298: 00000000 */ nop
.L0f06d29c:
/* f06d29c: 46061282 */ mul.s $f10,$f2,$f6
/* f06d2a0: 8fa20210 */ lw $v0,0x210($sp)
/* f06d2a4: 44800000 */ mtc1 $zero,$f0
/* f06d2a8: c4480000 */ lwc1 $f8,0x0($v0)
/* f06d2ac: c4440004 */ lwc1 $f4,0x4($v0)
/* f06d2b0: 460a4481 */ sub.s $f18,$f8,$f10
/* f06d2b4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06d2b8: e4520000 */ swc1 $f18,0x0($v0)
/* f06d2bc: c7b00098 */ lwc1 $f16,0x98($sp)
/* f06d2c0: 46101182 */ mul.s $f6,$f2,$f16
/* f06d2c4: 46062201 */ sub.s $f8,$f4,$f6
/* f06d2c8: e4480004 */ swc1 $f8,0x4($v0)
/* f06d2cc: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06d2d0: 46121402 */ mul.s $f16,$f2,$f18
/* f06d2d4: 46105101 */ sub.s $f4,$f10,$f16
/* f06d2d8: e4440008 */ swc1 $f4,0x8($v0)
/* f06d2dc: c6860000 */ lwc1 $f6,0x0($s4)
/* f06d2e0: 46060032 */ c.eq.s $f0,$f6
/* f06d2e4: 00000000 */ nop
/* f06d2e8: 4500000b */ bc1f .L0f06d318
/* f06d2ec: 00000000 */ nop
/* f06d2f0: c6880004 */ lwc1 $f8,0x4($s4)
/* f06d2f4: 46080032 */ c.eq.s $f0,$f8
/* f06d2f8: 00000000 */ nop
/* f06d2fc: 45000006 */ bc1f .L0f06d318
/* f06d300: 00000000 */ nop
/* f06d304: c6920008 */ lwc1 $f18,0x8($s4)
/* f06d308: 46120032 */ c.eq.s $f0,$f18
/* f06d30c: 00000000 */ nop
/* f06d310: 45030006 */ bc1tl .L0f06d32c
/* f06d314: e6960008 */ swc1 $f22,0x8($s4)
.L0f06d318:
/* f06d318: 0c0011e4 */ jal guNormalize
/* f06d31c: 26860008 */ addiu $a2,$s4,0x8
/* f06d320: 10000002 */ b .L0f06d32c
/* f06d324: 00000000 */ nop
/* f06d328: e6960008 */ swc1 $f22,0x8($s4)
.L0f06d32c:
/* f06d32c: 3c02800a */ lui $v0,%hi(g_Vars)
/* f06d330: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f06d334: 8c490318 */ lw $t1,0x318($v0)
/* f06d338: 51200003 */ beqzl $t1,.L0f06d348
/* f06d33c: 8fbf0074 */ lw $ra,0x74($sp)
/* f06d340: ac40048c */ sw $zero,0x48c($v0)
/* f06d344: 8fbf0074 */ lw $ra,0x74($sp)
.L0f06d348:
/* f06d348: 8fa20200 */ lw $v0,0x200($sp)
/* f06d34c: d7b40040 */ ldc1 $f20,0x40($sp)
/* f06d350: d7b60048 */ ldc1 $f22,0x48($sp)
/* f06d354: 8fb00054 */ lw $s0,0x54($sp)
/* f06d358: 8fb10058 */ lw $s1,0x58($sp)
/* f06d35c: 8fb2005c */ lw $s2,0x5c($sp)
/* f06d360: 8fb30060 */ lw $s3,0x60($sp)
/* f06d364: 8fb40064 */ lw $s4,0x64($sp)
/* f06d368: 8fb50068 */ lw $s5,0x68($sp)
/* f06d36c: 8fb6006c */ lw $s6,0x6c($sp)
/* f06d370: 8fb70070 */ lw $s7,0x70($sp)
/* f06d374: 03e00008 */ jr $ra
/* f06d378: 27bd0208 */ addiu $sp,$sp,0x208
);
#else
GLOBAL_ASM(
glabel func0f06cd00
.late_rodata
glabel var7f1aa268
.word 0x3dcccccd
.text
/* f06cd00: 27bdfdf8 */ addiu $sp,$sp,-520
/* f06cd04: 3c02800a */ lui $v0,%hi(g_Vars)
/* f06cd08: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f06cd0c: 8c4f0318 */ lw $t7,0x318($v0)
/* f06cd10: afbf0074 */ sw $ra,0x74($sp)
/* f06cd14: afb70070 */ sw $s7,0x70($sp)
/* f06cd18: afb6006c */ sw $s6,0x6c($sp)
/* f06cd1c: afb50068 */ sw $s5,0x68($sp)
/* f06cd20: afb40064 */ sw $s4,0x64($sp)
/* f06cd24: afb30060 */ sw $s3,0x60($sp)
/* f06cd28: afb2005c */ sw $s2,0x5c($sp)
/* f06cd2c: afb10058 */ sw $s1,0x58($sp)
/* f06cd30: afb00054 */ sw $s0,0x54($sp)
/* f06cd34: f7b60048 */ sdc1 $f22,0x48($sp)
/* f06cd38: f7b40040 */ sdc1 $f20,0x40($sp)
/* f06cd3c: afa60210 */ sw $a2,0x210($sp)
/* f06cd40: 8c920014 */ lw $s2,0x14($a0)
/* f06cd44: 240e0001 */ addiu $t6,$zero,0x1
/* f06cd48: 00a08025 */ or $s0,$a1,$zero
/* f06cd4c: 00e0a025 */ or $s4,$a3,$zero
/* f06cd50: 0080b825 */ or $s7,$a0,$zero
/* f06cd54: 11e00003 */ beqz $t7,.L0f06cd64
/* f06cd58: afae0200 */ sw $t6,0x200($sp)
/* f06cd5c: 24180001 */ addiu $t8,$zero,0x1
/* f06cd60: ac58048c */ sw $t8,0x48c($v0)
.L0f06cd64:
/* f06cd64: 3c018007 */ lui $at,%hi(var80069930)
/* f06cd68: ac209930 */ sw $zero,%lo(var80069930)($at)
/* f06cd6c: 3c018007 */ lui $at,%hi(var80069944)
/* f06cd70: ac209944 */ sw $zero,%lo(var80069944)($at)
/* f06cd74: c6040000 */ lwc1 $f4,0x0($s0)
/* f06cd78: e7a401c4 */ swc1 $f4,0x1c4($sp)
/* f06cd7c: c6060004 */ lwc1 $f6,0x4($s0)
/* f06cd80: e7a601c8 */ swc1 $f6,0x1c8($sp)
/* f06cd84: c6080008 */ lwc1 $f8,0x8($s0)
/* f06cd88: e7a801cc */ swc1 $f8,0x1cc($sp)
/* f06cd8c: c6500008 */ lwc1 $f16,0x8($s2)
/* f06cd90: c60a0000 */ lwc1 $f10,0x0($s0)
/* f06cd94: 46105032 */ c.eq.s $f10,$f16
/* f06cd98: 00000000 */ nop
/* f06cd9c: 4502000e */ bc1fl .L0f06cdd8
/* f06cda0: 8ef90040 */ lw $t9,0x40($s7)
/* f06cda4: c6120004 */ lwc1 $f18,0x4($s0)
/* f06cda8: c644000c */ lwc1 $f4,0xc($s2)
/* f06cdac: 46049032 */ c.eq.s $f18,$f4
/* f06cdb0: 00000000 */ nop
/* f06cdb4: 45020008 */ bc1fl .L0f06cdd8
/* f06cdb8: 8ef90040 */ lw $t9,0x40($s7)
/* f06cdbc: c6060008 */ lwc1 $f6,0x8($s0)
/* f06cdc0: c6480010 */ lwc1 $f8,0x10($s2)
/* f06cdc4: 46083032 */ c.eq.s $f6,$f8
/* f06cdc8: 00000000 */ nop
/* f06cdcc: 45010157 */ bc1t .L0f06d32c
/* f06cdd0: 00000000 */ nop
/* f06cdd4: 8ef90040 */ lw $t9,0x40($s7)
.L0f06cdd8:
/* f06cdd8: 33280080 */ andi $t0,$t9,0x80
/* f06cddc: 11000153 */ beqz $t0,.L0f06d32c
/* f06cde0: 00000000 */ nop
/* f06cde4: 8ee90048 */ lw $t1,0x48($s7)
/* f06cde8: 26550008 */ addiu $s5,$s2,0x8
/* f06cdec: 02a02025 */ or $a0,$s5,$zero
/* f06cdf0: 8d2a0000 */ lw $t2,0x0($t1)
/* f06cdf4: 27a501c4 */ addiu $a1,$sp,0x1c4
/* f06cdf8: 26460028 */ addiu $a2,$s2,0x28
/* f06cdfc: 314b0004 */ andi $t3,$t2,0x4
/* f06ce00: 1160014a */ beqz $t3,.L0f06d32c
/* f06ce04: 27a700b8 */ addiu $a3,$sp,0xb8
/* f06ce08: 27ac00cc */ addiu $t4,$sp,0xcc
/* f06ce0c: 240d0014 */ addiu $t5,$zero,0x14
/* f06ce10: afad0014 */ sw $t5,0x14($sp)
/* f06ce14: afac0010 */ sw $t4,0x10($sp)
/* f06ce18: 0c006052 */ jal func00018148
/* f06ce1c: afb0020c */ sw $s0,0x20c($sp)
/* f06ce20: 87ae00cc */ lh $t6,0xcc($sp)
/* f06ce24: 2416ffff */ addiu $s6,$zero,-1
/* f06ce28: 27a400cc */ addiu $a0,$sp,0xcc
/* f06ce2c: 12ce0005 */ beq $s6,$t6,.L0f06ce44
/* f06ce30: 00000000 */ nop
/* f06ce34: 848f0002 */ lh $t7,0x2($a0)
.L0f06ce38:
/* f06ce38: 24840002 */ addiu $a0,$a0,0x2
/* f06ce3c: 56cffffe */ bnel $s6,$t7,.L0f06ce38
/* f06ce40: 848f0002 */ lh $t7,0x2($a0)
.L0f06ce44:
/* f06ce44: 0fc5914d */ jal roomsGetActive
/* f06ce48: 24050064 */ addiu $a1,$zero,0x64
/* f06ce4c: 87b800cc */ lh $t8,0xcc($sp)
/* f06ce50: 27b100cc */ addiu $s1,$sp,0xcc
/* f06ce54: 3c013f80 */ lui $at,0x3f80
/* f06ce58: 12d800d1 */ beq $s6,$t8,.L0f06d1a0
/* f06ce5c: 27b301d0 */ addiu $s3,$sp,0x1d0
/* f06ce60: 4481b000 */ mtc1 $at,$f22
/* f06ce64: 3c01bf80 */ lui $at,0xbf80
/* f06ce68: 4481a000 */ mtc1 $at,$f20
/* f06ce6c: 86240000 */ lh $a0,0x0($s1)
.L0f06ce70:
/* f06ce70: 0fc586ad */ jal roomIsLoaded
/* f06ce74: 00008025 */ or $s0,$zero,$zero
/* f06ce78: 10400045 */ beqz $v0,.L0f06cf90
/* f06ce7c: 02a02025 */ or $a0,$s5,$zero
/* f06ce80: 02a02025 */ or $a0,$s5,$zero
/* f06ce84: 27a501c4 */ addiu $a1,$sp,0x1c4
/* f06ce88: 86260000 */ lh $a2,0x0($s1)
/* f06ce8c: 0fc58548 */ jal func0f161520
/* f06ce90: 02603825 */ or $a3,$s3,$zero
/* f06ce94: 1040004e */ beqz $v0,.L0f06cfd0
/* f06ce98: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
/* f06ce9c: 46165402 */ mul.s $f16,$f10,$f22
/* f06cea0: c7b201d4 */ lwc1 $f18,0x1d4($sp)
/* f06cea4: c7a601d8 */ lwc1 $f6,0x1d8($sp)
/* f06cea8: 87a801fa */ lh $t0,0x1fa($sp)
/* f06ceac: 46169102 */ mul.s $f4,$f18,$f22
/* f06ceb0: 3c09800b */ lui $t1,%hi(g_Textures)
/* f06ceb4: 8d29abc0 */ lw $t1,%lo(g_Textures)($t1)
/* f06ceb8: 46163202 */ mul.s $f8,$f6,$f22
/* f06cebc: 3c018007 */ lui $at,%hi(var80069944)
/* f06cec0: 000850c0 */ sll $t2,$t0,0x3
/* f06cec4: e7b001d0 */ swc1 $f16,0x1d0($sp)
/* f06cec8: e7a401d4 */ swc1 $f4,0x1d4($sp)
/* f06cecc: ac289944 */ sw $t0,%lo(var80069944)($at)
/* f06ced0: 012a5821 */ addu $t3,$t1,$t2
/* f06ced4: e7a801d8 */ swc1 $f8,0x1d8($sp)
/* f06ced8: 916c0000 */ lbu $t4,0x0($t3)
/* f06cedc: 2401000e */ addiu $at,$zero,0xe
/* f06cee0: 24100001 */ addiu $s0,$zero,0x1
/* f06cee4: 318d000f */ andi $t5,$t4,0xf
/* f06cee8: 15a10039 */ bne $t5,$at,.L0f06cfd0
/* f06ceec: 3c0e8007 */ lui $t6,%hi(var800699e8)
/* f06cef0: 25ce99e8 */ addiu $t6,$t6,%lo(var800699e8)
/* f06cef4: 8dc10000 */ lw $at,0x0($t6)
/* f06cef8: 27a700a4 */ addiu $a3,$sp,0xa4
/* f06cefc: 27b901dc */ addiu $t9,$sp,0x1dc
/* f06cf00: ace10000 */ sw $at,0x0($a3)
/* f06cf04: 8dd80004 */ lw $t8,0x4($t6)
/* f06cf08: 2408001a */ addiu $t0,$zero,0x1a
/* f06cf0c: 00008025 */ or $s0,$zero,$zero
/* f06cf10: acf80004 */ sw $t8,0x4($a3)
/* f06cf14: 8dc10008 */ lw $at,0x8($t6)
/* f06cf18: 02402825 */ or $a1,$s2,$zero
/* f06cf1c: 02603025 */ or $a2,$s3,$zero
/* f06cf20: ace10008 */ sw $at,0x8($a3)
/* f06cf24: 86440028 */ lh $a0,0x28($s2)
/* f06cf28: afa80014 */ sw $t0,0x14($sp)
/* f06cf2c: 0fc4be7c */ jal sparksCreate
/* f06cf30: afb90010 */ sw $t9,0x10($sp)
/* f06cf34: 00163c00 */ sll $a3,$s6,0x10
/* f06cf38: 00074c03 */ sra $t1,$a3,0x10
/* f06cf3c: 240a0400 */ addiu $t2,$zero,0x400
/* f06cf40: afaa0014 */ sw $t2,0x14($sp)
/* f06cf44: 01203825 */ or $a3,$t1,$zero
/* f06cf48: 00002025 */ or $a0,$zero,$zero
/* f06cf4c: 02402825 */ or $a1,$s2,$zero
/* f06cf50: 24068080 */ addiu $a2,$zero,-32640
/* f06cf54: afb60010 */ sw $s6,0x10($sp)
/* f06cf58: afa00018 */ sw $zero,0x18($sp)
/* f06cf5c: afa0001c */ sw $zero,0x1c($sp)
/* f06cf60: afa00020 */ sw $zero,0x20($sp)
/* f06cf64: e7b40024 */ swc1 $f20,0x24($sp)
/* f06cf68: afa00028 */ sw $zero,0x28($sp)
/* f06cf6c: afb6002c */ sw $s6,0x2c($sp)
/* f06cf70: e7b40030 */ swc1 $f20,0x30($sp)
/* f06cf74: e7b40034 */ swc1 $f20,0x34($sp)
/* f06cf78: 0fc24e7e */ jal func0f0939f8
/* f06cf7c: e7b40038 */ swc1 $f20,0x38($sp)
/* f06cf80: 8eeb0040 */ lw $t3,0x40($s7)
/* f06cf84: 356c0004 */ ori $t4,$t3,0x4
/* f06cf88: 10000011 */ b .L0f06cfd0
/* f06cf8c: aeec0040 */ sw $t4,0x40($s7)
.L0f06cf90:
/* f06cf90: 862d0000 */ lh $t5,0x0($s1)
/* f06cf94: a7b600a2 */ sh $s6,0xa2($sp)
/* f06cf98: 27a500a0 */ addiu $a1,$sp,0xa0
/* f06cf9c: 27a601c4 */ addiu $a2,$sp,0x1c4
/* f06cfa0: 24070020 */ addiu $a3,$zero,0x20
/* f06cfa4: 0c00b784 */ jal cd0002de10
/* f06cfa8: a7ad00a0 */ sh $t5,0xa0($sp)
/* f06cfac: 14400008 */ bnez $v0,.L0f06cfd0
/* f06cfb0: 02602025 */ or $a0,$s3,$zero
/* f06cfb4: 3c067f1b */ lui $a2,%hi(var7f1a9f94)
/* f06cfb8: 24100001 */ addiu $s0,$zero,0x1
/* f06cfbc: 24c69f94 */ addiu $a2,$a2,%lo(var7f1a9f94)
/* f06cfc0: 0c0093af */ jal cdGetPos
/* f06cfc4: 240510a1 */ addiu $a1,$zero,0x1096
/* f06cfc8: 0c0093ba */ jal cd00024ee8
/* f06cfcc: 27a401dc */ addiu $a0,$sp,0x1dc
.L0f06cfd0:
/* f06cfd0: 1200006f */ beqz $s0,.L0f06d190
/* f06cfd4: c7aa01c4 */ lwc1 $f10,0x1c4($sp)
/* f06cfd8: c64c0008 */ lwc1 $f12,0x8($s2)
/* f06cfdc: c7b001d0 */ lwc1 $f16,0x1d0($sp)
/* f06cfe0: c7b201c4 */ lwc1 $f18,0x1c4($sp)
/* f06cfe4: 460a603e */ c.le.s $f12,$f10
/* f06cfe8: 00000000 */ nop
/* f06cfec: 4502000a */ bc1fl .L0f06d018
/* f06cff0: 460c903e */ c.le.s $f18,$f12
/* f06cff4: 460a803e */ c.le.s $f16,$f10
/* f06cff8: 00000000 */ nop
/* f06cffc: 45020006 */ bc1fl .L0f06d018
/* f06d000: 460c903e */ c.le.s $f18,$f12
/* f06d004: 4610603e */ c.le.s $f12,$f16
/* f06d008: 00000000 */ nop
/* f06d00c: 4503000e */ bc1tl .L0f06d048
/* f06d010: c642000c */ lwc1 $f2,0xc($s2)
/* f06d014: 460c903e */ c.le.s $f18,$f12
.L0f06d018:
/* f06d018: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d01c: 4502005d */ bc1fl .L0f06d194
/* f06d020: 86240002 */ lh $a0,0x2($s1)
/* f06d024: 4604903e */ c.le.s $f18,$f4
/* f06d028: 00000000 */ nop
/* f06d02c: 45020059 */ bc1fl .L0f06d194
/* f06d030: 86240002 */ lh $a0,0x2($s1)
/* f06d034: 460c203e */ c.le.s $f4,$f12
/* f06d038: 00000000 */ nop
/* f06d03c: 45020055 */ bc1fl .L0f06d194
/* f06d040: 86240002 */ lh $a0,0x2($s1)
/* f06d044: c642000c */ lwc1 $f2,0xc($s2)
.L0f06d048:
/* f06d048: c7a601c8 */ lwc1 $f6,0x1c8($sp)
/* f06d04c: c7a801d4 */ lwc1 $f8,0x1d4($sp)
/* f06d050: c7aa01c8 */ lwc1 $f10,0x1c8($sp)
/* f06d054: 4606103e */ c.le.s $f2,$f6
/* f06d058: 00000000 */ nop
/* f06d05c: 4502000a */ bc1fl .L0f06d088
/* f06d060: 4602503e */ c.le.s $f10,$f2
/* f06d064: 4606403e */ c.le.s $f8,$f6
/* f06d068: 00000000 */ nop
/* f06d06c: 45020006 */ bc1fl .L0f06d088
/* f06d070: 4602503e */ c.le.s $f10,$f2
/* f06d074: 4608103e */ c.le.s $f2,$f8
/* f06d078: 00000000 */ nop
/* f06d07c: 4503000e */ bc1tl .L0f06d0b8
/* f06d080: c6400010 */ lwc1 $f0,0x10($s2)
/* f06d084: 4602503e */ c.le.s $f10,$f2
.L0f06d088:
/* f06d088: c7b001d4 */ lwc1 $f16,0x1d4($sp)
/* f06d08c: 45020041 */ bc1fl .L0f06d194
/* f06d090: 86240002 */ lh $a0,0x2($s1)
/* f06d094: 4610503e */ c.le.s $f10,$f16
/* f06d098: 00000000 */ nop
/* f06d09c: 4502003d */ bc1fl .L0f06d194
/* f06d0a0: 86240002 */ lh $a0,0x2($s1)
/* f06d0a4: 4602803e */ c.le.s $f16,$f2
/* f06d0a8: 00000000 */ nop
/* f06d0ac: 45020039 */ bc1fl .L0f06d194
/* f06d0b0: 86240002 */ lh $a0,0x2($s1)
/* f06d0b4: c6400010 */ lwc1 $f0,0x10($s2)
.L0f06d0b8:
/* f06d0b8: c7b201cc */ lwc1 $f18,0x1cc($sp)
/* f06d0bc: c7a401d8 */ lwc1 $f4,0x1d8($sp)
/* f06d0c0: c7a601cc */ lwc1 $f6,0x1cc($sp)
/* f06d0c4: 4612003e */ c.le.s $f0,$f18
/* f06d0c8: 00000000 */ nop
/* f06d0cc: 4502000a */ bc1fl .L0f06d0f8
/* f06d0d0: 4600303e */ c.le.s $f6,$f0
/* f06d0d4: 4612203e */ c.le.s $f4,$f18
/* f06d0d8: 00000000 */ nop
/* f06d0dc: 45020006 */ bc1fl .L0f06d0f8
/* f06d0e0: 4600303e */ c.le.s $f6,$f0
/* f06d0e4: 4604003e */ c.le.s $f0,$f4
/* f06d0e8: 00000000 */ nop
/* f06d0ec: 4503000e */ bc1tl .L0f06d128
/* f06d0f0: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
/* f06d0f4: 4600303e */ c.le.s $f6,$f0
.L0f06d0f8:
/* f06d0f8: c7a801d8 */ lwc1 $f8,0x1d8($sp)
/* f06d0fc: 45020025 */ bc1fl .L0f06d194
/* f06d100: 86240002 */ lh $a0,0x2($s1)
/* f06d104: 4608303e */ c.le.s $f6,$f8
/* f06d108: 00000000 */ nop
/* f06d10c: 45020021 */ bc1fl .L0f06d194
/* f06d110: 86240002 */ lh $a0,0x2($s1)
/* f06d114: 4600403e */ c.le.s $f8,$f0
/* f06d118: 00000000 */ nop
/* f06d11c: 4502001d */ bc1fl .L0f06d194
/* f06d120: 86240002 */ lh $a0,0x2($s1)
/* f06d124: c7aa01d0 */ lwc1 $f10,0x1d0($sp)
.L0f06d128:
/* f06d128: c7b001d4 */ lwc1 $f16,0x1d4($sp)
/* f06d12c: 460a6032 */ c.eq.s $f12,$f10
/* f06d130: 00000000 */ nop
/* f06d134: 4502000a */ bc1fl .L0f06d160
/* f06d138: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d13c: 46101032 */ c.eq.s $f2,$f16
/* f06d140: c7b201d8 */ lwc1 $f18,0x1d8($sp)
/* f06d144: 45020006 */ bc1fl .L0f06d160
/* f06d148: c7a401d0 */ lwc1 $f4,0x1d0($sp)
/* f06d14c: 46120032 */ c.eq.s $f0,$f18
/* f06d150: 00000000 */ nop
/* f06d154: 4503000f */ bc1tl .L0f06d194
/* f06d158: 86240002 */ lh $a0,0x2($s1)
/* f06d15c: c7a401d0 */ lwc1 $f4,0x1d0($sp)
.L0f06d160:
/* f06d160: c7a601d4 */ lwc1 $f6,0x1d4($sp)
/* f06d164: c7a801d8 */ lwc1 $f8,0x1d8($sp)
/* f06d168: c7aa01dc */ lwc1 $f10,0x1dc($sp)
/* f06d16c: afa00200 */ sw $zero,0x200($sp)
/* f06d170: e7a401c4 */ swc1 $f4,0x1c4($sp)
/* f06d174: e7a601c8 */ swc1 $f6,0x1c8($sp)
/* f06d178: e7a801cc */ swc1 $f8,0x1cc($sp)
/* f06d17c: e68a0000 */ swc1 $f10,0x0($s4)
/* f06d180: c7b001e0 */ lwc1 $f16,0x1e0($sp)
/* f06d184: e6900004 */ swc1 $f16,0x4($s4)
/* f06d188: c7b201e4 */ lwc1 $f18,0x1e4($sp)
/* f06d18c: e6920008 */ swc1 $f18,0x8($s4)
.L0f06d190:
/* f06d190: 86240002 */ lh $a0,0x2($s1)
.L0f06d194:
/* f06d194: 26310002 */ addiu $s1,$s1,0x2
/* f06d198: 16c4ff35 */ bne $s6,$a0,.L0f06ce70
/* f06d19c: 00000000 */ nop
.L0f06d1a0:
/* f06d1a0: 8faf0210 */ lw $t7,0x210($sp)
/* f06d1a4: 3c013f80 */ lui $at,0x3f80
/* f06d1a8: 4481b000 */ mtc1 $at,$f22
/* f06d1ac: 27ae00cc */ addiu $t6,$sp,0xcc
/* f06d1b0: afae0018 */ sw $t6,0x18($sp)
/* f06d1b4: 02402025 */ or $a0,$s2,$zero
/* f06d1b8: 02a02825 */ or $a1,$s5,$zero
/* f06d1bc: 27a601c4 */ addiu $a2,$sp,0x1c4
/* f06d1c0: 2407003f */ addiu $a3,$zero,0x3f
/* f06d1c4: afb40014 */ sw $s4,0x14($sp)
/* f06d1c8: 0fc1b22b */ jal func0f06c8ac
/* f06d1cc: afaf0010 */ sw $t7,0x10($sp)
/* f06d1d0: 1440000a */ bnez $v0,.L0f06d1fc
/* f06d1d4: 8fb80200 */ lw $t8,0x200($sp)
/* f06d1d8: 17000009 */ bnez $t8,.L0f06d200
/* f06d1dc: c7a401c4 */ lwc1 $f4,0x1c4($sp)
/* f06d1e0: 8fb90210 */ lw $t9,0x210($sp)
/* f06d1e4: e7240000 */ swc1 $f4,0x0($t9)
/* f06d1e8: c7a601c8 */ lwc1 $f6,0x1c8($sp)
/* f06d1ec: e7260004 */ swc1 $f6,0x4($t9)
/* f06d1f0: c7a801cc */ lwc1 $f8,0x1cc($sp)
/* f06d1f4: 10000002 */ b .L0f06d200
/* f06d1f8: e7280008 */ swc1 $f8,0x8($t9)
.L0f06d1fc:
/* f06d1fc: afa00200 */ sw $zero,0x200($sp)
.L0f06d200:
/* f06d200: 8fa80200 */ lw $t0,0x200($sp)
/* f06d204: 24010001 */ addiu $at,$zero,0x1
/* f06d208: 8fa2020c */ lw $v0,0x20c($sp)
/* f06d20c: 11010047 */ beq $t0,$at,.L0f06d32c
/* f06d210: 00000000 */ nop
/* f06d214: c44a0000 */ lwc1 $f10,0x0($v0)
/* f06d218: c6500008 */ lwc1 $f16,0x8($s2)
/* f06d21c: 46105481 */ sub.s $f18,$f10,$f16
/* f06d220: e7b20094 */ swc1 $f18,0x94($sp)
/* f06d224: c646000c */ lwc1 $f6,0xc($s2)
/* f06d228: c4440004 */ lwc1 $f4,0x4($v0)
/* f06d22c: 46062201 */ sub.s $f8,$f4,$f6
/* f06d230: c7a40094 */ lwc1 $f4,0x94($sp)
/* f06d234: e7a80098 */ swc1 $f8,0x98($sp)
/* f06d238: c6500010 */ lwc1 $f16,0x10($s2)
/* f06d23c: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06d240: 46042182 */ mul.s $f6,$f4,$f4
/* f06d244: c7a80098 */ lwc1 $f8,0x98($sp)
/* f06d248: 46105481 */ sub.s $f18,$f10,$f16
/* f06d24c: 46084282 */ mul.s $f10,$f8,$f8
/* f06d250: e7b2009c */ swc1 $f18,0x9c($sp)
/* f06d254: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06d258: 46129102 */ mul.s $f4,$f18,$f18
/* f06d25c: 460a3400 */ add.s $f16,$f6,$f10
/* f06d260: 0c012974 */ jal sqrtf
/* f06d264: 46102300 */ add.s $f12,$f4,$f16
/* f06d268: 3c017f1b */ lui $at,%hi(var7f1aa268)
/* f06d26c: c42ca268 */ lwc1 $f12,%lo(var7f1aa268)($at)
/* f06d270: 3c013f00 */ lui $at,0x3f00
/* f06d274: c7a60094 */ lwc1 $f6,0x94($sp)
/* f06d278: 4600603c */ c.lt.s $f12,$f0
/* f06d27c: 02802025 */ or $a0,$s4,$zero
/* f06d280: 26850004 */ addiu $a1,$s4,0x4
/* f06d284: 45020004 */ bc1fl .L0f06d298
/* f06d288: 44811000 */ mtc1 $at,$f2
/* f06d28c: 10000003 */ b .L0f06d29c
/* f06d290: 46006083 */ div.s $f2,$f12,$f0
/* f06d294: 44811000 */ mtc1 $at,$f2
.L0f06d298:
/* f06d298: 00000000 */ nop
.L0f06d29c:
/* f06d29c: 46061282 */ mul.s $f10,$f2,$f6
/* f06d2a0: 8fa20210 */ lw $v0,0x210($sp)
/* f06d2a4: 44800000 */ mtc1 $zero,$f0
/* f06d2a8: c4480000 */ lwc1 $f8,0x0($v0)
/* f06d2ac: c4440004 */ lwc1 $f4,0x4($v0)
/* f06d2b0: 460a4481 */ sub.s $f18,$f8,$f10
/* f06d2b4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06d2b8: e4520000 */ swc1 $f18,0x0($v0)
/* f06d2bc: c7b00098 */ lwc1 $f16,0x98($sp)
/* f06d2c0: 46101182 */ mul.s $f6,$f2,$f16
/* f06d2c4: 46062201 */ sub.s $f8,$f4,$f6
/* f06d2c8: e4480004 */ swc1 $f8,0x4($v0)
/* f06d2cc: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f06d2d0: 46121402 */ mul.s $f16,$f2,$f18
/* f06d2d4: 46105101 */ sub.s $f4,$f10,$f16
/* f06d2d8: e4440008 */ swc1 $f4,0x8($v0)
/* f06d2dc: c6860000 */ lwc1 $f6,0x0($s4)
/* f06d2e0: 46060032 */ c.eq.s $f0,$f6
/* f06d2e4: 00000000 */ nop
/* f06d2e8: 4500000b */ bc1f .L0f06d318
/* f06d2ec: 00000000 */ nop
/* f06d2f0: c6880004 */ lwc1 $f8,0x4($s4)
/* f06d2f4: 46080032 */ c.eq.s $f0,$f8
/* f06d2f8: 00000000 */ nop
/* f06d2fc: 45000006 */ bc1f .L0f06d318
/* f06d300: 00000000 */ nop
/* f06d304: c6920008 */ lwc1 $f18,0x8($s4)
/* f06d308: 46120032 */ c.eq.s $f0,$f18
/* f06d30c: 00000000 */ nop
/* f06d310: 45030006 */ bc1tl .L0f06d32c
/* f06d314: e6960008 */ swc1 $f22,0x8($s4)
.L0f06d318:
/* f06d318: 0c0011e4 */ jal guNormalize
/* f06d31c: 26860008 */ addiu $a2,$s4,0x8
/* f06d320: 10000002 */ b .L0f06d32c
/* f06d324: 00000000 */ nop
/* f06d328: e6960008 */ swc1 $f22,0x8($s4)
.L0f06d32c:
/* f06d32c: 3c02800a */ lui $v0,%hi(g_Vars)
/* f06d330: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f06d334: 8c490318 */ lw $t1,0x318($v0)
/* f06d338: 51200003 */ beqzl $t1,.L0f06d348
/* f06d33c: 8fbf0074 */ lw $ra,0x74($sp)
/* f06d340: ac40048c */ sw $zero,0x48c($v0)
/* f06d344: 8fbf0074 */ lw $ra,0x74($sp)
.L0f06d348:
/* f06d348: 8fa20200 */ lw $v0,0x200($sp)
/* f06d34c: d7b40040 */ ldc1 $f20,0x40($sp)
/* f06d350: d7b60048 */ ldc1 $f22,0x48($sp)
/* f06d354: 8fb00054 */ lw $s0,0x54($sp)
/* f06d358: 8fb10058 */ lw $s1,0x58($sp)
/* f06d35c: 8fb2005c */ lw $s2,0x5c($sp)
/* f06d360: 8fb30060 */ lw $s3,0x60($sp)
/* f06d364: 8fb40064 */ lw $s4,0x64($sp)
/* f06d368: 8fb50068 */ lw $s5,0x68($sp)
/* f06d36c: 8fb6006c */ lw $s6,0x6c($sp)
/* f06d370: 8fb70070 */ lw $s7,0x70($sp)
/* f06d374: 03e00008 */ jr $ra
/* f06d378: 27bd0208 */ addiu $sp,$sp,0x208
);
#endif
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f06d37c
.late_rodata
glabel var7f1aa26c
.word 0x3f7d70a4
.text
/* f06d37c: 27bdff58 */ addiu $sp,$sp,-168
/* f06d380: afbf0034 */ sw $ra,0x34($sp)
/* f06d384: afb10030 */ sw $s1,0x30($sp)
/* f06d388: afb0002c */ sw $s0,0x2c($sp)
/* f06d38c: afa700b4 */ sw $a3,0xb4($sp)
/* f06d390: 8c900014 */ lw $s0,0x14($a0)
/* f06d394: 00c08825 */ or $s1,$a2,$zero
/* f06d398: afa500ac */ sw $a1,0xac($sp)
/* f06d39c: 0fc1acdb */ jal objGetWidth
/* f06d3a0: afa400a8 */ sw $a0,0xa8($sp)
/* f06d3a4: 3c018007 */ lui $at,%hi(var80069930)
/* f06d3a8: 8fa500ac */ lw $a1,0xac($sp)
/* f06d3ac: ac209930 */ sw $zero,%lo(var80069930)($at)
/* f06d3b0: 240e0001 */ addiu $t6,$zero,0x1
/* f06d3b4: 3c018007 */ lui $at,%hi(var80069944)
/* f06d3b8: afae009c */ sw $t6,0x9c($sp)
/* f06d3bc: afa00098 */ sw $zero,0x98($sp)
/* f06d3c0: ac209944 */ sw $zero,%lo(var80069944)($at)
/* f06d3c4: c4a40000 */ lwc1 $f4,0x0($a1)
/* f06d3c8: 46000086 */ mov.s $f2,$f0
/* f06d3cc: 8faf00a8 */ lw $t7,0xa8($sp)
/* f06d3d0: e7a40080 */ swc1 $f4,0x80($sp)
/* f06d3d4: c4a60004 */ lwc1 $f6,0x4($a1)
/* f06d3d8: e7a60084 */ swc1 $f6,0x84($sp)
/* f06d3dc: c4a80008 */ lwc1 $f8,0x8($a1)
/* f06d3e0: e7a80088 */ swc1 $f8,0x88($sp)
/* f06d3e4: c6100008 */ lwc1 $f16,0x8($s0)
/* f06d3e8: c4aa0000 */ lwc1 $f10,0x0($a1)
/* f06d3ec: 46105032 */ c.eq.s $f10,$f16
/* f06d3f0: 00000000 */ nop
/* f06d3f4: 4502000e */ bc1fl .L0f06d430
/* f06d3f8: 8df80040 */ lw $t8,0x40($t7)
/* f06d3fc: c4b20004 */ lwc1 $f18,0x4($a1)
/* f06d400: c604000c */ lwc1 $f4,0xc($s0)
/* f06d404: 46049032 */ c.eq.s $f18,$f4
/* f06d408: 00000000 */ nop
/* f06d40c: 45020008 */ bc1fl .L0f06d430
/* f06d410: 8df80040 */ lw $t8,0x40($t7)
/* f06d414: c4a60008 */ lwc1 $f6,0x8($a1)
/* f06d418: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d41c: 46083032 */ c.eq.s $f6,$f8
/* f06d420: 00000000 */ nop
/* f06d424: 45030134 */ bc1tl .L0f06d8f8
/* f06d428: 8fbf0034 */ lw $ra,0x34($sp)
/* f06d42c: 8df80040 */ lw $t8,0x40($t7)
.L0f06d430:
/* f06d430: 26040008 */ addiu $a0,$s0,0x8
/* f06d434: 26050028 */ addiu $a1,$s0,0x28
/* f06d438: 33190080 */ andi $t9,$t8,0x80
/* f06d43c: 1320012d */ beqz $t9,.L0f06d8f4
/* f06d440: 27a60080 */ addiu $a2,$sp,0x80
/* f06d444: 44800000 */ mtc1 $zero,$f0
/* f06d448: 2408003f */ addiu $t0,$zero,0x3f
/* f06d44c: afa80014 */ sw $t0,0x14($sp)
/* f06d450: 27a70070 */ addiu $a3,$sp,0x70
/* f06d454: e7a20010 */ swc1 $f2,0x10($sp)
/* f06d458: afa00018 */ sw $zero,0x18($sp)
/* f06d45c: afa40040 */ sw $a0,0x40($sp)
/* f06d460: afa5003c */ sw $a1,0x3c($sp)
/* f06d464: e7a200a0 */ swc1 $f2,0xa0($sp)
/* f06d468: e7a0001c */ swc1 $f0,0x1c($sp)
/* f06d46c: 0c00b6b2 */ jal cd0002dac8
/* f06d470: e7a00020 */ swc1 $f0,0x20($sp)
/* f06d474: 10400020 */ beqz $v0,.L0f06d4f8
/* f06d478: 8fa400a8 */ lw $a0,0xa8($sp)
/* f06d47c: 27a50080 */ addiu $a1,$sp,0x80
/* f06d480: 2486001c */ addiu $a2,$a0,0x1c
/* f06d484: 0fc248cf */ jal func0f09233c
/* f06d488: 27a70070 */ addiu $a3,$sp,0x70
/* f06d48c: 44800000 */ mtc1 $zero,$f0
/* f06d490: 2409003f */ addiu $t1,$zero,0x3f
/* f06d494: afa90010 */ sw $t1,0x10($sp)
/* f06d498: 8fa40040 */ lw $a0,0x40($sp)
/* f06d49c: 27a50080 */ addiu $a1,$sp,0x80
/* f06d4a0: 8fa600a0 */ lw $a2,0xa0($sp)
/* f06d4a4: 27a70070 */ addiu $a3,$sp,0x70
/* f06d4a8: afa00014 */ sw $zero,0x14($sp)
/* f06d4ac: e7a00018 */ swc1 $f0,0x18($sp)
/* f06d4b0: 0c00aa7c */ jal cdTestAToB1
/* f06d4b4: e7a0001c */ swc1 $f0,0x1c($sp)
/* f06d4b8: 1040000d */ beqz $v0,.L0f06d4f0
/* f06d4bc: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d4c0: e60a0008 */ swc1 $f10,0x8($s0)
/* f06d4c4: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d4c8: 02002025 */ or $a0,$s0,$zero
/* f06d4cc: e610000c */ swc1 $f16,0xc($s0)
/* f06d4d0: c7b20088 */ lwc1 $f18,0x88($sp)
/* f06d4d4: 0fc19711 */ jal propDeregisterRooms
/* f06d4d8: e6120010 */ swc1 $f18,0x10($s0)
/* f06d4dc: 27a40070 */ addiu $a0,$sp,0x70
/* f06d4e0: 0fc195e9 */ jal roomsCopy
/* f06d4e4: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d4e8: 10000005 */ b .L0f06d500
/* f06d4ec: 8faa009c */ lw $t2,0x9c($sp)
.L0f06d4f0:
/* f06d4f0: 10000002 */ b .L0f06d4fc
/* f06d4f4: afa0009c */ sw $zero,0x9c($sp)
.L0f06d4f8:
/* f06d4f8: afa0009c */ sw $zero,0x9c($sp)
.L0f06d4fc:
/* f06d4fc: 8faa009c */ lw $t2,0x9c($sp)
.L0f06d500:
/* f06d500: 27a40064 */ addiu $a0,$sp,0x64
/* f06d504: 27a50058 */ addiu $a1,$sp,0x58
/* f06d508: 154000fa */ bnez $t2,.L0f06d8f4
/* f06d50c: 24061121 */ addiu $a2,$zero,0x1122
/* f06d510: 3c077f1b */ lui $a3,%hi(var7f1a9fa0)
/* f06d514: 0c009393 */ jal cd00024e4c
/* f06d518: 24e79fa0 */ addiu $a3,$a3,%lo(var7f1a9fa0)
/* f06d51c: c7a40060 */ lwc1 $f4,0x60($sp)
/* f06d520: c7a6006c */ lwc1 $f6,0x6c($sp)
/* f06d524: 8fa400b4 */ lw $a0,0xb4($sp)
/* f06d528: 44800000 */ mtc1 $zero,$f0
/* f06d52c: 46062201 */ sub.s $f8,$f4,$f6
/* f06d530: 24850004 */ addiu $a1,$a0,0x4
/* f06d534: e4800004 */ swc1 $f0,0x4($a0)
/* f06d538: e4880000 */ swc1 $f8,0x0($a0)
/* f06d53c: c4840000 */ lwc1 $f4,0x0($a0)
/* f06d540: c7b00058 */ lwc1 $f16,0x58($sp)
/* f06d544: c7aa0064 */ lwc1 $f10,0x64($sp)
/* f06d548: 46040032 */ c.eq.s $f0,$f4
/* f06d54c: 46105481 */ sub.s $f18,$f10,$f16
/* f06d550: 45000007 */ bc1f .L0f06d570
/* f06d554: e4920008 */ swc1 $f18,0x8($a0)
/* f06d558: c4860008 */ lwc1 $f6,0x8($a0)
/* f06d55c: 3c013f80 */ lui $at,0x3f80
/* f06d560: 46060032 */ c.eq.s $f0,$f6
/* f06d564: 00000000 */ nop
/* f06d568: 45030006 */ bc1tl .L0f06d584
/* f06d56c: 44814000 */ mtc1 $at,$f8
.L0f06d570:
/* f06d570: 0c0011e4 */ jal guNormalize
/* f06d574: 24860008 */ addiu $a2,$a0,0x8
/* f06d578: 10000005 */ b .L0f06d590
/* f06d57c: c6020008 */ lwc1 $f2,0x8($s0)
/* f06d580: 44814000 */ mtc1 $at,$f8
.L0f06d584:
/* f06d584: 00000000 */ nop
/* f06d588: e4880008 */ swc1 $f8,0x8($a0)
/* f06d58c: c6020008 */ lwc1 $f2,0x8($s0)
.L0f06d590:
/* f06d590: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d594: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d598: c7a80080 */ lwc1 $f8,0x80($sp)
/* f06d59c: 46025032 */ c.eq.s $f10,$f2
/* f06d5a0: 00000000 */ nop
/* f06d5a4: 4502000e */ bc1fl .L0f06d5e0
/* f06d5a8: 46024281 */ sub.s $f10,$f8,$f2
/* f06d5ac: c612000c */ lwc1 $f18,0xc($s0)
/* f06d5b0: c7a40088 */ lwc1 $f4,0x88($sp)
/* f06d5b4: 46128032 */ c.eq.s $f16,$f18
/* f06d5b8: 00000000 */ nop
/* f06d5bc: 45020008 */ bc1fl .L0f06d5e0
/* f06d5c0: 46024281 */ sub.s $f10,$f8,$f2
/* f06d5c4: c6060010 */ lwc1 $f6,0x10($s0)
/* f06d5c8: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d5cc: 46062032 */ c.eq.s $f4,$f6
/* f06d5d0: 00000000 */ nop
/* f06d5d4: 450300ad */ bc1tl .L0f06d88c
/* f06d5d8: e62a0000 */ swc1 $f10,0x0($s1)
/* f06d5dc: 46024281 */ sub.s $f10,$f8,$f2
.L0f06d5e0:
/* f06d5e0: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d5e4: c7a60088 */ lwc1 $f6,0x88($sp)
/* f06d5e8: 8fa40040 */ lw $a0,0x40($sp)
/* f06d5ec: e7aa008c */ swc1 $f10,0x8c($sp)
/* f06d5f0: c612000c */ lwc1 $f18,0xc($s0)
/* f06d5f4: 27a5008c */ addiu $a1,$sp,0x8c
/* f06d5f8: 02203025 */ or $a2,$s1,$zero
/* f06d5fc: 46128101 */ sub.s $f4,$f16,$f18
/* f06d600: e7a40090 */ swc1 $f4,0x90($sp)
/* f06d604: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d608: 46083281 */ sub.s $f10,$f6,$f8
/* f06d60c: 0fc0b93e */ jal func0f02e4f8
/* f06d610: e7aa0094 */ swc1 $f10,0x94($sp)
/* f06d614: c6020008 */ lwc1 $f2,0x8($s0)
/* f06d618: c7b00080 */ lwc1 $f16,0x80($sp)
/* f06d61c: 4610103c */ c.lt.s $f2,$f16
/* f06d620: 00000000 */ nop
/* f06d624: 4502000f */ bc1fl .L0f06d664
/* f06d628: c6200000 */ lwc1 $f0,0x0($s1)
/* f06d62c: c6200000 */ lwc1 $f0,0x0($s1)
/* f06d630: 4600803c */ c.lt.s $f16,$f0
/* f06d634: 00000000 */ nop
/* f06d638: 45020004 */ bc1fl .L0f06d64c
/* f06d63c: 4602003c */ c.lt.s $f0,$f2
/* f06d640: 10000014 */ b .L0f06d694
/* f06d644: e6300000 */ swc1 $f16,0x0($s1)
/* f06d648: 4602003c */ c.lt.s $f0,$f2
.L0f06d64c:
/* f06d64c: 00000000 */ nop
/* f06d650: 45020011 */ bc1fl .L0f06d698
/* f06d654: c602000c */ lwc1 $f2,0xc($s0)
/* f06d658: 1000000e */ b .L0f06d694
/* f06d65c: e6220000 */ swc1 $f2,0x0($s1)
/* f06d660: c6200000 */ lwc1 $f0,0x0($s1)
.L0f06d664:
/* f06d664: c7b20080 */ lwc1 $f18,0x80($sp)
/* f06d668: 4600103c */ c.lt.s $f2,$f0
/* f06d66c: 00000000 */ nop
/* f06d670: 45020004 */ bc1fl .L0f06d684
/* f06d674: 4612003c */ c.lt.s $f0,$f18
/* f06d678: 10000006 */ b .L0f06d694
/* f06d67c: e6220000 */ swc1 $f2,0x0($s1)
/* f06d680: 4612003c */ c.lt.s $f0,$f18
.L0f06d684:
/* f06d684: 00000000 */ nop
/* f06d688: 45020003 */ bc1fl .L0f06d698
/* f06d68c: c602000c */ lwc1 $f2,0xc($s0)
/* f06d690: e6320000 */ swc1 $f18,0x0($s1)
.L0f06d694:
/* f06d694: c602000c */ lwc1 $f2,0xc($s0)
.L0f06d698:
/* f06d698: c7a40084 */ lwc1 $f4,0x84($sp)
/* f06d69c: 4604103c */ c.lt.s $f2,$f4
/* f06d6a0: 00000000 */ nop
/* f06d6a4: 4502000f */ bc1fl .L0f06d6e4
/* f06d6a8: c6200004 */ lwc1 $f0,0x4($s1)
/* f06d6ac: c6200004 */ lwc1 $f0,0x4($s1)
/* f06d6b0: 4600203c */ c.lt.s $f4,$f0
/* f06d6b4: 00000000 */ nop
/* f06d6b8: 45020004 */ bc1fl .L0f06d6cc
/* f06d6bc: 4602003c */ c.lt.s $f0,$f2
/* f06d6c0: 10000014 */ b .L0f06d714
/* f06d6c4: e6240004 */ swc1 $f4,0x4($s1)
/* f06d6c8: 4602003c */ c.lt.s $f0,$f2
.L0f06d6cc:
/* f06d6cc: 00000000 */ nop
/* f06d6d0: 45020011 */ bc1fl .L0f06d718
/* f06d6d4: c6020010 */ lwc1 $f2,0x10($s0)
/* f06d6d8: 1000000e */ b .L0f06d714
/* f06d6dc: e6220004 */ swc1 $f2,0x4($s1)
/* f06d6e0: c6200004 */ lwc1 $f0,0x4($s1)
.L0f06d6e4:
/* f06d6e4: c7a60084 */ lwc1 $f6,0x84($sp)
/* f06d6e8: 4600103c */ c.lt.s $f2,$f0
/* f06d6ec: 00000000 */ nop
/* f06d6f0: 45020004 */ bc1fl .L0f06d704
/* f06d6f4: 4606003c */ c.lt.s $f0,$f6
/* f06d6f8: 10000006 */ b .L0f06d714
/* f06d6fc: e6220004 */ swc1 $f2,0x4($s1)
/* f06d700: 4606003c */ c.lt.s $f0,$f6
.L0f06d704:
/* f06d704: 00000000 */ nop
/* f06d708: 45020003 */ bc1fl .L0f06d718
/* f06d70c: c6020010 */ lwc1 $f2,0x10($s0)
/* f06d710: e6260004 */ swc1 $f6,0x4($s1)
.L0f06d714:
/* f06d714: c6020010 */ lwc1 $f2,0x10($s0)
.L0f06d718:
/* f06d718: c7a80088 */ lwc1 $f8,0x88($sp)
/* f06d71c: 4608103c */ c.lt.s $f2,$f8
/* f06d720: 00000000 */ nop
/* f06d724: 4502000f */ bc1fl .L0f06d764
/* f06d728: c6200008 */ lwc1 $f0,0x8($s1)
/* f06d72c: c6200008 */ lwc1 $f0,0x8($s1)
/* f06d730: 4600403c */ c.lt.s $f8,$f0
/* f06d734: 00000000 */ nop
/* f06d738: 45020004 */ bc1fl .L0f06d74c
/* f06d73c: 4602003c */ c.lt.s $f0,$f2
/* f06d740: 10000014 */ b .L0f06d794
/* f06d744: e6280008 */ swc1 $f8,0x8($s1)
/* f06d748: 4602003c */ c.lt.s $f0,$f2
.L0f06d74c:
/* f06d74c: 00000000 */ nop
/* f06d750: 45000010 */ bc1f .L0f06d794
/* f06d754: 00000000 */ nop
/* f06d758: 1000000e */ b .L0f06d794
/* f06d75c: e6220008 */ swc1 $f2,0x8($s1)
/* f06d760: c6200008 */ lwc1 $f0,0x8($s1)
.L0f06d764:
/* f06d764: c7aa0088 */ lwc1 $f10,0x88($sp)
/* f06d768: 4600103c */ c.lt.s $f2,$f0
/* f06d76c: 00000000 */ nop
/* f06d770: 45020004 */ bc1fl .L0f06d784
/* f06d774: 460a003c */ c.lt.s $f0,$f10
/* f06d778: 10000006 */ b .L0f06d794
/* f06d77c: e6220008 */ swc1 $f2,0x8($s1)
/* f06d780: 460a003c */ c.lt.s $f0,$f10
.L0f06d784:
/* f06d784: 00000000 */ nop
/* f06d788: 45000002 */ bc1f .L0f06d794
/* f06d78c: 00000000 */ nop
/* f06d790: e62a0008 */ swc1 $f10,0x8($s1)
.L0f06d794:
/* f06d794: 0c0093a6 */ jal cd00024e98
/* f06d798: 00000000 */ nop
/* f06d79c: 3c017f1b */ lui $at,%hi(var7f1aa26c)
/* f06d7a0: c430a26c */ lwc1 $f16,%lo(var7f1aa26c)($at)
/* f06d7a4: c7b2008c */ lwc1 $f18,0x8c($sp)
/* f06d7a8: c6060008 */ lwc1 $f6,0x8($s0)
/* f06d7ac: 46100082 */ mul.s $f2,$f0,$f16
/* f06d7b0: c7b00094 */ lwc1 $f16,0x94($sp)
/* f06d7b4: c7aa0084 */ lwc1 $f10,0x84($sp)
/* f06d7b8: 27b1004c */ addiu $s1,$sp,0x4c
/* f06d7bc: 240b003f */ addiu $t3,$zero,0x3f
/* f06d7c0: e7aa0050 */ swc1 $f10,0x50($sp)
/* f06d7c4: 44805000 */ mtc1 $zero,$f10
/* f06d7c8: 46029102 */ mul.s $f4,$f18,$f2
/* f06d7cc: 02203025 */ or $a2,$s1,$zero
/* f06d7d0: 8fa40040 */ lw $a0,0x40($sp)
/* f06d7d4: 46028482 */ mul.s $f18,$f16,$f2
/* f06d7d8: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d7dc: 27a70070 */ addiu $a3,$sp,0x70
/* f06d7e0: 46062200 */ add.s $f8,$f4,$f6
/* f06d7e4: e7a8004c */ swc1 $f8,0x4c($sp)
/* f06d7e8: c6040010 */ lwc1 $f4,0x10($s0)
/* f06d7ec: 44804000 */ mtc1 $zero,$f8
/* f06d7f0: afa00014 */ sw $zero,0x14($sp)
/* f06d7f4: 46049180 */ add.s $f6,$f18,$f4
/* f06d7f8: afab0010 */ sw $t3,0x10($sp)
/* f06d7fc: e7aa001c */ swc1 $f10,0x1c($sp)
/* f06d800: e7a80018 */ swc1 $f8,0x18($sp)
/* f06d804: 0c00b694 */ jal cd0002da50
/* f06d808: e7a60054 */ swc1 $f6,0x54($sp)
/* f06d80c: 10400024 */ beqz $v0,.L0f06d8a0
/* f06d810: 8fa400a8 */ lw $a0,0xa8($sp)
/* f06d814: 02202825 */ or $a1,$s1,$zero
/* f06d818: 2486001c */ addiu $a2,$a0,0x1c
/* f06d81c: 0fc248cf */ jal func0f09233c
/* f06d820: 27a70070 */ addiu $a3,$sp,0x70
/* f06d824: 44808000 */ mtc1 $zero,$f16
/* f06d828: 44809000 */ mtc1 $zero,$f18
/* f06d82c: 02202025 */ or $a0,$s1,$zero
/* f06d830: 8fa500a0 */ lw $a1,0xa0($sp)
/* f06d834: 27a60070 */ addiu $a2,$sp,0x70
/* f06d838: 2407003f */ addiu $a3,$zero,0x3f
/* f06d83c: afa00010 */ sw $zero,0x10($sp)
/* f06d840: e7b00014 */ swc1 $f16,0x14($sp)
/* f06d844: 0c00a9a1 */ jal cdTestVolume
/* f06d848: e7b20018 */ swc1 $f18,0x18($sp)
/* f06d84c: 10400014 */ beqz $v0,.L0f06d8a0
/* f06d850: c7a4004c */ lwc1 $f4,0x4c($sp)
/* f06d854: e6040008 */ swc1 $f4,0x8($s0)
/* f06d858: c7a60050 */ lwc1 $f6,0x50($sp)
/* f06d85c: 02002025 */ or $a0,$s0,$zero
/* f06d860: e606000c */ swc1 $f6,0xc($s0)
/* f06d864: c7a80054 */ lwc1 $f8,0x54($sp)
/* f06d868: 0fc19711 */ jal propDeregisterRooms
/* f06d86c: e6080010 */ swc1 $f8,0x10($s0)
/* f06d870: 27a40070 */ addiu $a0,$sp,0x70
/* f06d874: 0fc195e9 */ jal roomsCopy
/* f06d878: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d87c: 240d0001 */ addiu $t5,$zero,0x1
/* f06d880: 10000007 */ b .L0f06d8a0
/* f06d884: afad0098 */ sw $t5,0x98($sp)
/* f06d888: e62a0000 */ swc1 $f10,0x0($s1)
.L0f06d88c:
/* f06d88c: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d890: e6300004 */ swc1 $f16,0x4($s1)
/* f06d894: c7b20088 */ lwc1 $f18,0x88($sp)
/* f06d898: e6320008 */ swc1 $f18,0x8($s1)
/* f06d89c: 27b1004c */ addiu $s1,$sp,0x4c
.L0f06d8a0:
/* f06d8a0: 8fae0098 */ lw $t6,0x98($sp)
/* f06d8a4: 02203025 */ or $a2,$s1,$zero
/* f06d8a8: 27a70070 */ addiu $a3,$sp,0x70
/* f06d8ac: 55c00012 */ bnezl $t6,.L0f06d8f8
/* f06d8b0: 8fbf0034 */ lw $ra,0x34($sp)
/* f06d8b4: c6040008 */ lwc1 $f4,0x8($s0)
/* f06d8b8: c7a60084 */ lwc1 $f6,0x84($sp)
/* f06d8bc: 8fa40040 */ lw $a0,0x40($sp)
/* f06d8c0: e7a4004c */ swc1 $f4,0x4c($sp)
/* f06d8c4: e7a60050 */ swc1 $f6,0x50($sp)
/* f06d8c8: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d8cc: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d8d0: 0fc1979d */ jal func0f065e74
/* f06d8d4: e7a80054 */ swc1 $f8,0x54($sp)
/* f06d8d8: c7aa0050 */ lwc1 $f10,0x50($sp)
/* f06d8dc: 02002025 */ or $a0,$s0,$zero
/* f06d8e0: 0fc19711 */ jal propDeregisterRooms
/* f06d8e4: e60a000c */ swc1 $f10,0xc($s0)
/* f06d8e8: 27a40070 */ addiu $a0,$sp,0x70
/* f06d8ec: 0fc195e9 */ jal roomsCopy
/* f06d8f0: 8fa5003c */ lw $a1,0x3c($sp)
.L0f06d8f4:
/* f06d8f4: 8fbf0034 */ lw $ra,0x34($sp)
.L0f06d8f8:
/* f06d8f8: 8fa2009c */ lw $v0,0x9c($sp)
/* f06d8fc: 8fb0002c */ lw $s0,0x2c($sp)
/* f06d900: 8fb10030 */ lw $s1,0x30($sp)
/* f06d904: 03e00008 */ jr $ra
/* f06d908: 27bd00a8 */ addiu $sp,$sp,0xa8
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f06d37c
.late_rodata
glabel var7f1aa26c
.word 0x3f7d70a4
.text
/* f06d37c: 27bdff58 */ addiu $sp,$sp,-168
/* f06d380: afbf0034 */ sw $ra,0x34($sp)
/* f06d384: afb10030 */ sw $s1,0x30($sp)
/* f06d388: afb0002c */ sw $s0,0x2c($sp)
/* f06d38c: afa700b4 */ sw $a3,0xb4($sp)
/* f06d390: 8c900014 */ lw $s0,0x14($a0)
/* f06d394: 00c08825 */ or $s1,$a2,$zero
/* f06d398: afa500ac */ sw $a1,0xac($sp)
/* f06d39c: 0fc1acdb */ jal objGetWidth
/* f06d3a0: afa400a8 */ sw $a0,0xa8($sp)
/* f06d3a4: 3c018007 */ lui $at,%hi(var80069930)
/* f06d3a8: 8fa500ac */ lw $a1,0xac($sp)
/* f06d3ac: ac209930 */ sw $zero,%lo(var80069930)($at)
/* f06d3b0: 240e0001 */ addiu $t6,$zero,0x1
/* f06d3b4: 3c018007 */ lui $at,%hi(var80069944)
/* f06d3b8: afae009c */ sw $t6,0x9c($sp)
/* f06d3bc: afa00098 */ sw $zero,0x98($sp)
/* f06d3c0: ac209944 */ sw $zero,%lo(var80069944)($at)
/* f06d3c4: c4a40000 */ lwc1 $f4,0x0($a1)
/* f06d3c8: 46000086 */ mov.s $f2,$f0
/* f06d3cc: 8faf00a8 */ lw $t7,0xa8($sp)
/* f06d3d0: e7a40080 */ swc1 $f4,0x80($sp)
/* f06d3d4: c4a60004 */ lwc1 $f6,0x4($a1)
/* f06d3d8: e7a60084 */ swc1 $f6,0x84($sp)
/* f06d3dc: c4a80008 */ lwc1 $f8,0x8($a1)
/* f06d3e0: e7a80088 */ swc1 $f8,0x88($sp)
/* f06d3e4: c6100008 */ lwc1 $f16,0x8($s0)
/* f06d3e8: c4aa0000 */ lwc1 $f10,0x0($a1)
/* f06d3ec: 46105032 */ c.eq.s $f10,$f16
/* f06d3f0: 00000000 */ nop
/* f06d3f4: 4502000e */ bc1fl .L0f06d430
/* f06d3f8: 8df80040 */ lw $t8,0x40($t7)
/* f06d3fc: c4b20004 */ lwc1 $f18,0x4($a1)
/* f06d400: c604000c */ lwc1 $f4,0xc($s0)
/* f06d404: 46049032 */ c.eq.s $f18,$f4
/* f06d408: 00000000 */ nop
/* f06d40c: 45020008 */ bc1fl .L0f06d430
/* f06d410: 8df80040 */ lw $t8,0x40($t7)
/* f06d414: c4a60008 */ lwc1 $f6,0x8($a1)
/* f06d418: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d41c: 46083032 */ c.eq.s $f6,$f8
/* f06d420: 00000000 */ nop
/* f06d424: 45030134 */ bc1tl .L0f06d8f8
/* f06d428: 8fbf0034 */ lw $ra,0x34($sp)
/* f06d42c: 8df80040 */ lw $t8,0x40($t7)
.L0f06d430:
/* f06d430: 26040008 */ addiu $a0,$s0,0x8
/* f06d434: 26050028 */ addiu $a1,$s0,0x28
/* f06d438: 33190080 */ andi $t9,$t8,0x80
/* f06d43c: 1320012d */ beqz $t9,.L0f06d8f4
/* f06d440: 27a60080 */ addiu $a2,$sp,0x80
/* f06d444: 44800000 */ mtc1 $zero,$f0
/* f06d448: 2408003f */ addiu $t0,$zero,0x3f
/* f06d44c: afa80014 */ sw $t0,0x14($sp)
/* f06d450: 27a70070 */ addiu $a3,$sp,0x70
/* f06d454: e7a20010 */ swc1 $f2,0x10($sp)
/* f06d458: afa00018 */ sw $zero,0x18($sp)
/* f06d45c: afa40040 */ sw $a0,0x40($sp)
/* f06d460: afa5003c */ sw $a1,0x3c($sp)
/* f06d464: e7a200a0 */ swc1 $f2,0xa0($sp)
/* f06d468: e7a0001c */ swc1 $f0,0x1c($sp)
/* f06d46c: 0c00b6b2 */ jal cd0002dac8
/* f06d470: e7a00020 */ swc1 $f0,0x20($sp)
/* f06d474: 10400020 */ beqz $v0,.L0f06d4f8
/* f06d478: 8fa400a8 */ lw $a0,0xa8($sp)
/* f06d47c: 27a50080 */ addiu $a1,$sp,0x80
/* f06d480: 2486001c */ addiu $a2,$a0,0x1c
/* f06d484: 0fc248cf */ jal func0f09233c
/* f06d488: 27a70070 */ addiu $a3,$sp,0x70
/* f06d48c: 44800000 */ mtc1 $zero,$f0
/* f06d490: 2409003f */ addiu $t1,$zero,0x3f
/* f06d494: afa90010 */ sw $t1,0x10($sp)
/* f06d498: 8fa40040 */ lw $a0,0x40($sp)
/* f06d49c: 27a50080 */ addiu $a1,$sp,0x80
/* f06d4a0: 8fa600a0 */ lw $a2,0xa0($sp)
/* f06d4a4: 27a70070 */ addiu $a3,$sp,0x70
/* f06d4a8: afa00014 */ sw $zero,0x14($sp)
/* f06d4ac: e7a00018 */ swc1 $f0,0x18($sp)
/* f06d4b0: 0c00aa7c */ jal cdTestAToB1
/* f06d4b4: e7a0001c */ swc1 $f0,0x1c($sp)
/* f06d4b8: 1040000d */ beqz $v0,.L0f06d4f0
/* f06d4bc: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d4c0: e60a0008 */ swc1 $f10,0x8($s0)
/* f06d4c4: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d4c8: 02002025 */ or $a0,$s0,$zero
/* f06d4cc: e610000c */ swc1 $f16,0xc($s0)
/* f06d4d0: c7b20088 */ lwc1 $f18,0x88($sp)
/* f06d4d4: 0fc19711 */ jal propDeregisterRooms
/* f06d4d8: e6120010 */ swc1 $f18,0x10($s0)
/* f06d4dc: 27a40070 */ addiu $a0,$sp,0x70
/* f06d4e0: 0fc195e9 */ jal roomsCopy
/* f06d4e4: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d4e8: 10000005 */ b .L0f06d500
/* f06d4ec: 8faa009c */ lw $t2,0x9c($sp)
.L0f06d4f0:
/* f06d4f0: 10000002 */ b .L0f06d4fc
/* f06d4f4: afa0009c */ sw $zero,0x9c($sp)
.L0f06d4f8:
/* f06d4f8: afa0009c */ sw $zero,0x9c($sp)
.L0f06d4fc:
/* f06d4fc: 8faa009c */ lw $t2,0x9c($sp)
.L0f06d500:
/* f06d500: 27a40064 */ addiu $a0,$sp,0x64
/* f06d504: 27a50058 */ addiu $a1,$sp,0x58
/* f06d508: 154000fa */ bnez $t2,.L0f06d8f4
/* f06d50c: 24061121 */ addiu $a2,$zero,0x1121
/* f06d510: 3c077f1b */ lui $a3,%hi(var7f1a9fa0)
/* f06d514: 0c009393 */ jal cd00024e4c
/* f06d518: 24e79fa0 */ addiu $a3,$a3,%lo(var7f1a9fa0)
/* f06d51c: c7a40060 */ lwc1 $f4,0x60($sp)
/* f06d520: c7a6006c */ lwc1 $f6,0x6c($sp)
/* f06d524: 8fa400b4 */ lw $a0,0xb4($sp)
/* f06d528: 44800000 */ mtc1 $zero,$f0
/* f06d52c: 46062201 */ sub.s $f8,$f4,$f6
/* f06d530: 24850004 */ addiu $a1,$a0,0x4
/* f06d534: e4800004 */ swc1 $f0,0x4($a0)
/* f06d538: e4880000 */ swc1 $f8,0x0($a0)
/* f06d53c: c4840000 */ lwc1 $f4,0x0($a0)
/* f06d540: c7b00058 */ lwc1 $f16,0x58($sp)
/* f06d544: c7aa0064 */ lwc1 $f10,0x64($sp)
/* f06d548: 46040032 */ c.eq.s $f0,$f4
/* f06d54c: 46105481 */ sub.s $f18,$f10,$f16
/* f06d550: 45000007 */ bc1f .L0f06d570
/* f06d554: e4920008 */ swc1 $f18,0x8($a0)
/* f06d558: c4860008 */ lwc1 $f6,0x8($a0)
/* f06d55c: 3c013f80 */ lui $at,0x3f80
/* f06d560: 46060032 */ c.eq.s $f0,$f6
/* f06d564: 00000000 */ nop
/* f06d568: 45030006 */ bc1tl .L0f06d584
/* f06d56c: 44814000 */ mtc1 $at,$f8
.L0f06d570:
/* f06d570: 0c0011e4 */ jal guNormalize
/* f06d574: 24860008 */ addiu $a2,$a0,0x8
/* f06d578: 10000005 */ b .L0f06d590
/* f06d57c: c6020008 */ lwc1 $f2,0x8($s0)
/* f06d580: 44814000 */ mtc1 $at,$f8
.L0f06d584:
/* f06d584: 00000000 */ nop
/* f06d588: e4880008 */ swc1 $f8,0x8($a0)
/* f06d58c: c6020008 */ lwc1 $f2,0x8($s0)
.L0f06d590:
/* f06d590: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d594: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d598: c7a80080 */ lwc1 $f8,0x80($sp)
/* f06d59c: 46025032 */ c.eq.s $f10,$f2
/* f06d5a0: 00000000 */ nop
/* f06d5a4: 4502000e */ bc1fl .L0f06d5e0
/* f06d5a8: 46024281 */ sub.s $f10,$f8,$f2
/* f06d5ac: c612000c */ lwc1 $f18,0xc($s0)
/* f06d5b0: c7a40088 */ lwc1 $f4,0x88($sp)
/* f06d5b4: 46128032 */ c.eq.s $f16,$f18
/* f06d5b8: 00000000 */ nop
/* f06d5bc: 45020008 */ bc1fl .L0f06d5e0
/* f06d5c0: 46024281 */ sub.s $f10,$f8,$f2
/* f06d5c4: c6060010 */ lwc1 $f6,0x10($s0)
/* f06d5c8: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d5cc: 46062032 */ c.eq.s $f4,$f6
/* f06d5d0: 00000000 */ nop
/* f06d5d4: 450300ad */ bc1tl .L0f06d88c
/* f06d5d8: e62a0000 */ swc1 $f10,0x0($s1)
/* f06d5dc: 46024281 */ sub.s $f10,$f8,$f2
.L0f06d5e0:
/* f06d5e0: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d5e4: c7a60088 */ lwc1 $f6,0x88($sp)
/* f06d5e8: 8fa40040 */ lw $a0,0x40($sp)
/* f06d5ec: e7aa008c */ swc1 $f10,0x8c($sp)
/* f06d5f0: c612000c */ lwc1 $f18,0xc($s0)
/* f06d5f4: 27a5008c */ addiu $a1,$sp,0x8c
/* f06d5f8: 02203025 */ or $a2,$s1,$zero
/* f06d5fc: 46128101 */ sub.s $f4,$f16,$f18
/* f06d600: e7a40090 */ swc1 $f4,0x90($sp)
/* f06d604: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d608: 46083281 */ sub.s $f10,$f6,$f8
/* f06d60c: 0fc0b93e */ jal func0f02e4f8
/* f06d610: e7aa0094 */ swc1 $f10,0x94($sp)
/* f06d614: c6020008 */ lwc1 $f2,0x8($s0)
/* f06d618: c7b00080 */ lwc1 $f16,0x80($sp)
/* f06d61c: 4610103c */ c.lt.s $f2,$f16
/* f06d620: 00000000 */ nop
/* f06d624: 4502000f */ bc1fl .L0f06d664
/* f06d628: c6200000 */ lwc1 $f0,0x0($s1)
/* f06d62c: c6200000 */ lwc1 $f0,0x0($s1)
/* f06d630: 4600803c */ c.lt.s $f16,$f0
/* f06d634: 00000000 */ nop
/* f06d638: 45020004 */ bc1fl .L0f06d64c
/* f06d63c: 4602003c */ c.lt.s $f0,$f2
/* f06d640: 10000014 */ b .L0f06d694
/* f06d644: e6300000 */ swc1 $f16,0x0($s1)
/* f06d648: 4602003c */ c.lt.s $f0,$f2
.L0f06d64c:
/* f06d64c: 00000000 */ nop
/* f06d650: 45020011 */ bc1fl .L0f06d698
/* f06d654: c602000c */ lwc1 $f2,0xc($s0)
/* f06d658: 1000000e */ b .L0f06d694
/* f06d65c: e6220000 */ swc1 $f2,0x0($s1)
/* f06d660: c6200000 */ lwc1 $f0,0x0($s1)
.L0f06d664:
/* f06d664: c7b20080 */ lwc1 $f18,0x80($sp)
/* f06d668: 4600103c */ c.lt.s $f2,$f0
/* f06d66c: 00000000 */ nop
/* f06d670: 45020004 */ bc1fl .L0f06d684
/* f06d674: 4612003c */ c.lt.s $f0,$f18
/* f06d678: 10000006 */ b .L0f06d694
/* f06d67c: e6220000 */ swc1 $f2,0x0($s1)
/* f06d680: 4612003c */ c.lt.s $f0,$f18
.L0f06d684:
/* f06d684: 00000000 */ nop
/* f06d688: 45020003 */ bc1fl .L0f06d698
/* f06d68c: c602000c */ lwc1 $f2,0xc($s0)
/* f06d690: e6320000 */ swc1 $f18,0x0($s1)
.L0f06d694:
/* f06d694: c602000c */ lwc1 $f2,0xc($s0)
.L0f06d698:
/* f06d698: c7a40084 */ lwc1 $f4,0x84($sp)
/* f06d69c: 4604103c */ c.lt.s $f2,$f4
/* f06d6a0: 00000000 */ nop
/* f06d6a4: 4502000f */ bc1fl .L0f06d6e4
/* f06d6a8: c6200004 */ lwc1 $f0,0x4($s1)
/* f06d6ac: c6200004 */ lwc1 $f0,0x4($s1)
/* f06d6b0: 4600203c */ c.lt.s $f4,$f0
/* f06d6b4: 00000000 */ nop
/* f06d6b8: 45020004 */ bc1fl .L0f06d6cc
/* f06d6bc: 4602003c */ c.lt.s $f0,$f2
/* f06d6c0: 10000014 */ b .L0f06d714
/* f06d6c4: e6240004 */ swc1 $f4,0x4($s1)
/* f06d6c8: 4602003c */ c.lt.s $f0,$f2
.L0f06d6cc:
/* f06d6cc: 00000000 */ nop
/* f06d6d0: 45020011 */ bc1fl .L0f06d718
/* f06d6d4: c6020010 */ lwc1 $f2,0x10($s0)
/* f06d6d8: 1000000e */ b .L0f06d714
/* f06d6dc: e6220004 */ swc1 $f2,0x4($s1)
/* f06d6e0: c6200004 */ lwc1 $f0,0x4($s1)
.L0f06d6e4:
/* f06d6e4: c7a60084 */ lwc1 $f6,0x84($sp)
/* f06d6e8: 4600103c */ c.lt.s $f2,$f0
/* f06d6ec: 00000000 */ nop
/* f06d6f0: 45020004 */ bc1fl .L0f06d704
/* f06d6f4: 4606003c */ c.lt.s $f0,$f6
/* f06d6f8: 10000006 */ b .L0f06d714
/* f06d6fc: e6220004 */ swc1 $f2,0x4($s1)
/* f06d700: 4606003c */ c.lt.s $f0,$f6
.L0f06d704:
/* f06d704: 00000000 */ nop
/* f06d708: 45020003 */ bc1fl .L0f06d718
/* f06d70c: c6020010 */ lwc1 $f2,0x10($s0)
/* f06d710: e6260004 */ swc1 $f6,0x4($s1)
.L0f06d714:
/* f06d714: c6020010 */ lwc1 $f2,0x10($s0)
.L0f06d718:
/* f06d718: c7a80088 */ lwc1 $f8,0x88($sp)
/* f06d71c: 4608103c */ c.lt.s $f2,$f8
/* f06d720: 00000000 */ nop
/* f06d724: 4502000f */ bc1fl .L0f06d764
/* f06d728: c6200008 */ lwc1 $f0,0x8($s1)
/* f06d72c: c6200008 */ lwc1 $f0,0x8($s1)
/* f06d730: 4600403c */ c.lt.s $f8,$f0
/* f06d734: 00000000 */ nop
/* f06d738: 45020004 */ bc1fl .L0f06d74c
/* f06d73c: 4602003c */ c.lt.s $f0,$f2
/* f06d740: 10000014 */ b .L0f06d794
/* f06d744: e6280008 */ swc1 $f8,0x8($s1)
/* f06d748: 4602003c */ c.lt.s $f0,$f2
.L0f06d74c:
/* f06d74c: 00000000 */ nop
/* f06d750: 45000010 */ bc1f .L0f06d794
/* f06d754: 00000000 */ nop
/* f06d758: 1000000e */ b .L0f06d794
/* f06d75c: e6220008 */ swc1 $f2,0x8($s1)
/* f06d760: c6200008 */ lwc1 $f0,0x8($s1)
.L0f06d764:
/* f06d764: c7aa0088 */ lwc1 $f10,0x88($sp)
/* f06d768: 4600103c */ c.lt.s $f2,$f0
/* f06d76c: 00000000 */ nop
/* f06d770: 45020004 */ bc1fl .L0f06d784
/* f06d774: 460a003c */ c.lt.s $f0,$f10
/* f06d778: 10000006 */ b .L0f06d794
/* f06d77c: e6220008 */ swc1 $f2,0x8($s1)
/* f06d780: 460a003c */ c.lt.s $f0,$f10
.L0f06d784:
/* f06d784: 00000000 */ nop
/* f06d788: 45000002 */ bc1f .L0f06d794
/* f06d78c: 00000000 */ nop
/* f06d790: e62a0008 */ swc1 $f10,0x8($s1)
.L0f06d794:
/* f06d794: 0c0093a6 */ jal cd00024e98
/* f06d798: 00000000 */ nop
/* f06d79c: 3c017f1b */ lui $at,%hi(var7f1aa26c)
/* f06d7a0: c430a26c */ lwc1 $f16,%lo(var7f1aa26c)($at)
/* f06d7a4: c7b2008c */ lwc1 $f18,0x8c($sp)
/* f06d7a8: c6060008 */ lwc1 $f6,0x8($s0)
/* f06d7ac: 46100082 */ mul.s $f2,$f0,$f16
/* f06d7b0: c7b00094 */ lwc1 $f16,0x94($sp)
/* f06d7b4: c7aa0084 */ lwc1 $f10,0x84($sp)
/* f06d7b8: 27b1004c */ addiu $s1,$sp,0x4c
/* f06d7bc: 240b003f */ addiu $t3,$zero,0x3f
/* f06d7c0: e7aa0050 */ swc1 $f10,0x50($sp)
/* f06d7c4: 44805000 */ mtc1 $zero,$f10
/* f06d7c8: 46029102 */ mul.s $f4,$f18,$f2
/* f06d7cc: 02203025 */ or $a2,$s1,$zero
/* f06d7d0: 8fa40040 */ lw $a0,0x40($sp)
/* f06d7d4: 46028482 */ mul.s $f18,$f16,$f2
/* f06d7d8: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d7dc: 27a70070 */ addiu $a3,$sp,0x70
/* f06d7e0: 46062200 */ add.s $f8,$f4,$f6
/* f06d7e4: e7a8004c */ swc1 $f8,0x4c($sp)
/* f06d7e8: c6040010 */ lwc1 $f4,0x10($s0)
/* f06d7ec: 44804000 */ mtc1 $zero,$f8
/* f06d7f0: afa00014 */ sw $zero,0x14($sp)
/* f06d7f4: 46049180 */ add.s $f6,$f18,$f4
/* f06d7f8: afab0010 */ sw $t3,0x10($sp)
/* f06d7fc: e7aa001c */ swc1 $f10,0x1c($sp)
/* f06d800: e7a80018 */ swc1 $f8,0x18($sp)
/* f06d804: 0c00b694 */ jal cd0002da50
/* f06d808: e7a60054 */ swc1 $f6,0x54($sp)
/* f06d80c: 10400024 */ beqz $v0,.L0f06d8a0
/* f06d810: 8fa400a8 */ lw $a0,0xa8($sp)
/* f06d814: 02202825 */ or $a1,$s1,$zero
/* f06d818: 2486001c */ addiu $a2,$a0,0x1c
/* f06d81c: 0fc248cf */ jal func0f09233c
/* f06d820: 27a70070 */ addiu $a3,$sp,0x70
/* f06d824: 44808000 */ mtc1 $zero,$f16
/* f06d828: 44809000 */ mtc1 $zero,$f18
/* f06d82c: 02202025 */ or $a0,$s1,$zero
/* f06d830: 8fa500a0 */ lw $a1,0xa0($sp)
/* f06d834: 27a60070 */ addiu $a2,$sp,0x70
/* f06d838: 2407003f */ addiu $a3,$zero,0x3f
/* f06d83c: afa00010 */ sw $zero,0x10($sp)
/* f06d840: e7b00014 */ swc1 $f16,0x14($sp)
/* f06d844: 0c00a9a1 */ jal cdTestVolume
/* f06d848: e7b20018 */ swc1 $f18,0x18($sp)
/* f06d84c: 10400014 */ beqz $v0,.L0f06d8a0
/* f06d850: c7a4004c */ lwc1 $f4,0x4c($sp)
/* f06d854: e6040008 */ swc1 $f4,0x8($s0)
/* f06d858: c7a60050 */ lwc1 $f6,0x50($sp)
/* f06d85c: 02002025 */ or $a0,$s0,$zero
/* f06d860: e606000c */ swc1 $f6,0xc($s0)
/* f06d864: c7a80054 */ lwc1 $f8,0x54($sp)
/* f06d868: 0fc19711 */ jal propDeregisterRooms
/* f06d86c: e6080010 */ swc1 $f8,0x10($s0)
/* f06d870: 27a40070 */ addiu $a0,$sp,0x70
/* f06d874: 0fc195e9 */ jal roomsCopy
/* f06d878: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d87c: 240d0001 */ addiu $t5,$zero,0x1
/* f06d880: 10000007 */ b .L0f06d8a0
/* f06d884: afad0098 */ sw $t5,0x98($sp)
/* f06d888: e62a0000 */ swc1 $f10,0x0($s1)
.L0f06d88c:
/* f06d88c: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d890: e6300004 */ swc1 $f16,0x4($s1)
/* f06d894: c7b20088 */ lwc1 $f18,0x88($sp)
/* f06d898: e6320008 */ swc1 $f18,0x8($s1)
/* f06d89c: 27b1004c */ addiu $s1,$sp,0x4c
.L0f06d8a0:
/* f06d8a0: 8fae0098 */ lw $t6,0x98($sp)
/* f06d8a4: 02203025 */ or $a2,$s1,$zero
/* f06d8a8: 27a70070 */ addiu $a3,$sp,0x70
/* f06d8ac: 55c00012 */ bnezl $t6,.L0f06d8f8
/* f06d8b0: 8fbf0034 */ lw $ra,0x34($sp)
/* f06d8b4: c6040008 */ lwc1 $f4,0x8($s0)
/* f06d8b8: c7a60084 */ lwc1 $f6,0x84($sp)
/* f06d8bc: 8fa40040 */ lw $a0,0x40($sp)
/* f06d8c0: e7a4004c */ swc1 $f4,0x4c($sp)
/* f06d8c4: e7a60050 */ swc1 $f6,0x50($sp)
/* f06d8c8: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d8cc: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d8d0: 0fc1979d */ jal func0f065e74
/* f06d8d4: e7a80054 */ swc1 $f8,0x54($sp)
/* f06d8d8: c7aa0050 */ lwc1 $f10,0x50($sp)
/* f06d8dc: 02002025 */ or $a0,$s0,$zero
/* f06d8e0: 0fc19711 */ jal propDeregisterRooms
/* f06d8e4: e60a000c */ swc1 $f10,0xc($s0)
/* f06d8e8: 27a40070 */ addiu $a0,$sp,0x70
/* f06d8ec: 0fc195e9 */ jal roomsCopy
/* f06d8f0: 8fa5003c */ lw $a1,0x3c($sp)
.L0f06d8f4:
/* f06d8f4: 8fbf0034 */ lw $ra,0x34($sp)
.L0f06d8f8:
/* f06d8f8: 8fa2009c */ lw $v0,0x9c($sp)
/* f06d8fc: 8fb0002c */ lw $s0,0x2c($sp)
/* f06d900: 8fb10030 */ lw $s1,0x30($sp)
/* f06d904: 03e00008 */ jr $ra
/* f06d908: 27bd00a8 */ addiu $sp,$sp,0xa8
);
#else
GLOBAL_ASM(
glabel func0f06d37c
.late_rodata
glabel var7f1aa26c
.word 0x3f7d70a4
.text
/* f06d37c: 27bdff58 */ addiu $sp,$sp,-168
/* f06d380: afbf0034 */ sw $ra,0x34($sp)
/* f06d384: afb10030 */ sw $s1,0x30($sp)
/* f06d388: afb0002c */ sw $s0,0x2c($sp)
/* f06d38c: afa700b4 */ sw $a3,0xb4($sp)
/* f06d390: 8c900014 */ lw $s0,0x14($a0)
/* f06d394: 00c08825 */ or $s1,$a2,$zero
/* f06d398: afa500ac */ sw $a1,0xac($sp)
/* f06d39c: 0fc1acdb */ jal objGetWidth
/* f06d3a0: afa400a8 */ sw $a0,0xa8($sp)
/* f06d3a4: 3c018007 */ lui $at,%hi(var80069930)
/* f06d3a8: 8fa500ac */ lw $a1,0xac($sp)
/* f06d3ac: ac209930 */ sw $zero,%lo(var80069930)($at)
/* f06d3b0: 240e0001 */ addiu $t6,$zero,0x1
/* f06d3b4: 3c018007 */ lui $at,%hi(var80069944)
/* f06d3b8: afae009c */ sw $t6,0x9c($sp)
/* f06d3bc: afa00098 */ sw $zero,0x98($sp)
/* f06d3c0: ac209944 */ sw $zero,%lo(var80069944)($at)
/* f06d3c4: c4a40000 */ lwc1 $f4,0x0($a1)
/* f06d3c8: 46000086 */ mov.s $f2,$f0
/* f06d3cc: 8faf00a8 */ lw $t7,0xa8($sp)
/* f06d3d0: e7a40080 */ swc1 $f4,0x80($sp)
/* f06d3d4: c4a60004 */ lwc1 $f6,0x4($a1)
/* f06d3d8: e7a60084 */ swc1 $f6,0x84($sp)
/* f06d3dc: c4a80008 */ lwc1 $f8,0x8($a1)
/* f06d3e0: e7a80088 */ swc1 $f8,0x88($sp)
/* f06d3e4: c6100008 */ lwc1 $f16,0x8($s0)
/* f06d3e8: c4aa0000 */ lwc1 $f10,0x0($a1)
/* f06d3ec: 46105032 */ c.eq.s $f10,$f16
/* f06d3f0: 00000000 */ nop
/* f06d3f4: 4502000e */ bc1fl .L0f06d430
/* f06d3f8: 8df80040 */ lw $t8,0x40($t7)
/* f06d3fc: c4b20004 */ lwc1 $f18,0x4($a1)
/* f06d400: c604000c */ lwc1 $f4,0xc($s0)
/* f06d404: 46049032 */ c.eq.s $f18,$f4
/* f06d408: 00000000 */ nop
/* f06d40c: 45020008 */ bc1fl .L0f06d430
/* f06d410: 8df80040 */ lw $t8,0x40($t7)
/* f06d414: c4a60008 */ lwc1 $f6,0x8($a1)
/* f06d418: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d41c: 46083032 */ c.eq.s $f6,$f8
/* f06d420: 00000000 */ nop
/* f06d424: 45030134 */ bc1tl .L0f06d8f8
/* f06d428: 8fbf0034 */ lw $ra,0x34($sp)
/* f06d42c: 8df80040 */ lw $t8,0x40($t7)
.L0f06d430:
/* f06d430: 26040008 */ addiu $a0,$s0,0x8
/* f06d434: 26050028 */ addiu $a1,$s0,0x28
/* f06d438: 33190080 */ andi $t9,$t8,0x80
/* f06d43c: 1320012d */ beqz $t9,.L0f06d8f4
/* f06d440: 27a60080 */ addiu $a2,$sp,0x80
/* f06d444: 44800000 */ mtc1 $zero,$f0
/* f06d448: 2408003f */ addiu $t0,$zero,0x3f
/* f06d44c: afa80014 */ sw $t0,0x14($sp)
/* f06d450: 27a70070 */ addiu $a3,$sp,0x70
/* f06d454: e7a20010 */ swc1 $f2,0x10($sp)
/* f06d458: afa00018 */ sw $zero,0x18($sp)
/* f06d45c: afa40040 */ sw $a0,0x40($sp)
/* f06d460: afa5003c */ sw $a1,0x3c($sp)
/* f06d464: e7a200a0 */ swc1 $f2,0xa0($sp)
/* f06d468: e7a0001c */ swc1 $f0,0x1c($sp)
/* f06d46c: 0c00b6b2 */ jal cd0002dac8
/* f06d470: e7a00020 */ swc1 $f0,0x20($sp)
/* f06d474: 10400020 */ beqz $v0,.L0f06d4f8
/* f06d478: 8fa400a8 */ lw $a0,0xa8($sp)
/* f06d47c: 27a50080 */ addiu $a1,$sp,0x80
/* f06d480: 2486001c */ addiu $a2,$a0,0x1c
/* f06d484: 0fc248cf */ jal func0f09233c
/* f06d488: 27a70070 */ addiu $a3,$sp,0x70
/* f06d48c: 44800000 */ mtc1 $zero,$f0
/* f06d490: 2409003f */ addiu $t1,$zero,0x3f
/* f06d494: afa90010 */ sw $t1,0x10($sp)
/* f06d498: 8fa40040 */ lw $a0,0x40($sp)
/* f06d49c: 27a50080 */ addiu $a1,$sp,0x80
/* f06d4a0: 8fa600a0 */ lw $a2,0xa0($sp)
/* f06d4a4: 27a70070 */ addiu $a3,$sp,0x70
/* f06d4a8: afa00014 */ sw $zero,0x14($sp)
/* f06d4ac: e7a00018 */ swc1 $f0,0x18($sp)
/* f06d4b0: 0c00aa7c */ jal cdTestAToB1
/* f06d4b4: e7a0001c */ swc1 $f0,0x1c($sp)
/* f06d4b8: 1040000d */ beqz $v0,.L0f06d4f0
/* f06d4bc: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d4c0: e60a0008 */ swc1 $f10,0x8($s0)
/* f06d4c4: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d4c8: 02002025 */ or $a0,$s0,$zero
/* f06d4cc: e610000c */ swc1 $f16,0xc($s0)
/* f06d4d0: c7b20088 */ lwc1 $f18,0x88($sp)
/* f06d4d4: 0fc19711 */ jal propDeregisterRooms
/* f06d4d8: e6120010 */ swc1 $f18,0x10($s0)
/* f06d4dc: 27a40070 */ addiu $a0,$sp,0x70
/* f06d4e0: 0fc195e9 */ jal roomsCopy
/* f06d4e4: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d4e8: 10000005 */ b .L0f06d500
/* f06d4ec: 8faa009c */ lw $t2,0x9c($sp)
.L0f06d4f0:
/* f06d4f0: 10000002 */ b .L0f06d4fc
/* f06d4f4: afa0009c */ sw $zero,0x9c($sp)
.L0f06d4f8:
/* f06d4f8: afa0009c */ sw $zero,0x9c($sp)
.L0f06d4fc:
/* f06d4fc: 8faa009c */ lw $t2,0x9c($sp)
.L0f06d500:
/* f06d500: 27a40064 */ addiu $a0,$sp,0x64
/* f06d504: 27a50058 */ addiu $a1,$sp,0x58
/* f06d508: 154000fa */ bnez $t2,.L0f06d8f4
/* f06d50c: 24061121 */ addiu $a2,$zero,0x1116
/* f06d510: 3c077f1b */ lui $a3,%hi(var7f1a9fa0)
/* f06d514: 0c009393 */ jal cd00024e4c
/* f06d518: 24e79fa0 */ addiu $a3,$a3,%lo(var7f1a9fa0)
/* f06d51c: c7a40060 */ lwc1 $f4,0x60($sp)
/* f06d520: c7a6006c */ lwc1 $f6,0x6c($sp)
/* f06d524: 8fa400b4 */ lw $a0,0xb4($sp)
/* f06d528: 44800000 */ mtc1 $zero,$f0
/* f06d52c: 46062201 */ sub.s $f8,$f4,$f6
/* f06d530: 24850004 */ addiu $a1,$a0,0x4
/* f06d534: e4800004 */ swc1 $f0,0x4($a0)
/* f06d538: e4880000 */ swc1 $f8,0x0($a0)
/* f06d53c: c4840000 */ lwc1 $f4,0x0($a0)
/* f06d540: c7b00058 */ lwc1 $f16,0x58($sp)
/* f06d544: c7aa0064 */ lwc1 $f10,0x64($sp)
/* f06d548: 46040032 */ c.eq.s $f0,$f4
/* f06d54c: 46105481 */ sub.s $f18,$f10,$f16
/* f06d550: 45000007 */ bc1f .L0f06d570
/* f06d554: e4920008 */ swc1 $f18,0x8($a0)
/* f06d558: c4860008 */ lwc1 $f6,0x8($a0)
/* f06d55c: 3c013f80 */ lui $at,0x3f80
/* f06d560: 46060032 */ c.eq.s $f0,$f6
/* f06d564: 00000000 */ nop
/* f06d568: 45030006 */ bc1tl .L0f06d584
/* f06d56c: 44814000 */ mtc1 $at,$f8
.L0f06d570:
/* f06d570: 0c0011e4 */ jal guNormalize
/* f06d574: 24860008 */ addiu $a2,$a0,0x8
/* f06d578: 10000005 */ b .L0f06d590
/* f06d57c: c6020008 */ lwc1 $f2,0x8($s0)
/* f06d580: 44814000 */ mtc1 $at,$f8
.L0f06d584:
/* f06d584: 00000000 */ nop
/* f06d588: e4880008 */ swc1 $f8,0x8($a0)
/* f06d58c: c6020008 */ lwc1 $f2,0x8($s0)
.L0f06d590:
/* f06d590: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d594: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d598: c7a80080 */ lwc1 $f8,0x80($sp)
/* f06d59c: 46025032 */ c.eq.s $f10,$f2
/* f06d5a0: 00000000 */ nop
/* f06d5a4: 4502000e */ bc1fl .L0f06d5e0
/* f06d5a8: 46024281 */ sub.s $f10,$f8,$f2
/* f06d5ac: c612000c */ lwc1 $f18,0xc($s0)
/* f06d5b0: c7a40088 */ lwc1 $f4,0x88($sp)
/* f06d5b4: 46128032 */ c.eq.s $f16,$f18
/* f06d5b8: 00000000 */ nop
/* f06d5bc: 45020008 */ bc1fl .L0f06d5e0
/* f06d5c0: 46024281 */ sub.s $f10,$f8,$f2
/* f06d5c4: c6060010 */ lwc1 $f6,0x10($s0)
/* f06d5c8: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f06d5cc: 46062032 */ c.eq.s $f4,$f6
/* f06d5d0: 00000000 */ nop
/* f06d5d4: 450300ad */ bc1tl .L0f06d88c
/* f06d5d8: e62a0000 */ swc1 $f10,0x0($s1)
/* f06d5dc: 46024281 */ sub.s $f10,$f8,$f2
.L0f06d5e0:
/* f06d5e0: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d5e4: c7a60088 */ lwc1 $f6,0x88($sp)
/* f06d5e8: 8fa40040 */ lw $a0,0x40($sp)
/* f06d5ec: e7aa008c */ swc1 $f10,0x8c($sp)
/* f06d5f0: c612000c */ lwc1 $f18,0xc($s0)
/* f06d5f4: 27a5008c */ addiu $a1,$sp,0x8c
/* f06d5f8: 02203025 */ or $a2,$s1,$zero
/* f06d5fc: 46128101 */ sub.s $f4,$f16,$f18
/* f06d600: e7a40090 */ swc1 $f4,0x90($sp)
/* f06d604: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d608: 46083281 */ sub.s $f10,$f6,$f8
/* f06d60c: 0fc0b93e */ jal func0f02e4f8
/* f06d610: e7aa0094 */ swc1 $f10,0x94($sp)
/* f06d614: c6020008 */ lwc1 $f2,0x8($s0)
/* f06d618: c7b00080 */ lwc1 $f16,0x80($sp)
/* f06d61c: 4610103c */ c.lt.s $f2,$f16
/* f06d620: 00000000 */ nop
/* f06d624: 4502000f */ bc1fl .L0f06d664
/* f06d628: c6200000 */ lwc1 $f0,0x0($s1)
/* f06d62c: c6200000 */ lwc1 $f0,0x0($s1)
/* f06d630: 4600803c */ c.lt.s $f16,$f0
/* f06d634: 00000000 */ nop
/* f06d638: 45020004 */ bc1fl .L0f06d64c
/* f06d63c: 4602003c */ c.lt.s $f0,$f2
/* f06d640: 10000014 */ b .L0f06d694
/* f06d644: e6300000 */ swc1 $f16,0x0($s1)
/* f06d648: 4602003c */ c.lt.s $f0,$f2
.L0f06d64c:
/* f06d64c: 00000000 */ nop
/* f06d650: 45020011 */ bc1fl .L0f06d698
/* f06d654: c602000c */ lwc1 $f2,0xc($s0)
/* f06d658: 1000000e */ b .L0f06d694
/* f06d65c: e6220000 */ swc1 $f2,0x0($s1)
/* f06d660: c6200000 */ lwc1 $f0,0x0($s1)
.L0f06d664:
/* f06d664: c7b20080 */ lwc1 $f18,0x80($sp)
/* f06d668: 4600103c */ c.lt.s $f2,$f0
/* f06d66c: 00000000 */ nop
/* f06d670: 45020004 */ bc1fl .L0f06d684
/* f06d674: 4612003c */ c.lt.s $f0,$f18
/* f06d678: 10000006 */ b .L0f06d694
/* f06d67c: e6220000 */ swc1 $f2,0x0($s1)
/* f06d680: 4612003c */ c.lt.s $f0,$f18
.L0f06d684:
/* f06d684: 00000000 */ nop
/* f06d688: 45020003 */ bc1fl .L0f06d698
/* f06d68c: c602000c */ lwc1 $f2,0xc($s0)
/* f06d690: e6320000 */ swc1 $f18,0x0($s1)
.L0f06d694:
/* f06d694: c602000c */ lwc1 $f2,0xc($s0)
.L0f06d698:
/* f06d698: c7a40084 */ lwc1 $f4,0x84($sp)
/* f06d69c: 4604103c */ c.lt.s $f2,$f4
/* f06d6a0: 00000000 */ nop
/* f06d6a4: 4502000f */ bc1fl .L0f06d6e4
/* f06d6a8: c6200004 */ lwc1 $f0,0x4($s1)
/* f06d6ac: c6200004 */ lwc1 $f0,0x4($s1)
/* f06d6b0: 4600203c */ c.lt.s $f4,$f0
/* f06d6b4: 00000000 */ nop
/* f06d6b8: 45020004 */ bc1fl .L0f06d6cc
/* f06d6bc: 4602003c */ c.lt.s $f0,$f2
/* f06d6c0: 10000014 */ b .L0f06d714
/* f06d6c4: e6240004 */ swc1 $f4,0x4($s1)
/* f06d6c8: 4602003c */ c.lt.s $f0,$f2
.L0f06d6cc:
/* f06d6cc: 00000000 */ nop
/* f06d6d0: 45020011 */ bc1fl .L0f06d718
/* f06d6d4: c6020010 */ lwc1 $f2,0x10($s0)
/* f06d6d8: 1000000e */ b .L0f06d714
/* f06d6dc: e6220004 */ swc1 $f2,0x4($s1)
/* f06d6e0: c6200004 */ lwc1 $f0,0x4($s1)
.L0f06d6e4:
/* f06d6e4: c7a60084 */ lwc1 $f6,0x84($sp)
/* f06d6e8: 4600103c */ c.lt.s $f2,$f0
/* f06d6ec: 00000000 */ nop
/* f06d6f0: 45020004 */ bc1fl .L0f06d704
/* f06d6f4: 4606003c */ c.lt.s $f0,$f6
/* f06d6f8: 10000006 */ b .L0f06d714
/* f06d6fc: e6220004 */ swc1 $f2,0x4($s1)
/* f06d700: 4606003c */ c.lt.s $f0,$f6
.L0f06d704:
/* f06d704: 00000000 */ nop
/* f06d708: 45020003 */ bc1fl .L0f06d718
/* f06d70c: c6020010 */ lwc1 $f2,0x10($s0)
/* f06d710: e6260004 */ swc1 $f6,0x4($s1)
.L0f06d714:
/* f06d714: c6020010 */ lwc1 $f2,0x10($s0)
.L0f06d718:
/* f06d718: c7a80088 */ lwc1 $f8,0x88($sp)
/* f06d71c: 4608103c */ c.lt.s $f2,$f8
/* f06d720: 00000000 */ nop
/* f06d724: 4502000f */ bc1fl .L0f06d764
/* f06d728: c6200008 */ lwc1 $f0,0x8($s1)
/* f06d72c: c6200008 */ lwc1 $f0,0x8($s1)
/* f06d730: 4600403c */ c.lt.s $f8,$f0
/* f06d734: 00000000 */ nop
/* f06d738: 45020004 */ bc1fl .L0f06d74c
/* f06d73c: 4602003c */ c.lt.s $f0,$f2
/* f06d740: 10000014 */ b .L0f06d794
/* f06d744: e6280008 */ swc1 $f8,0x8($s1)
/* f06d748: 4602003c */ c.lt.s $f0,$f2
.L0f06d74c:
/* f06d74c: 00000000 */ nop
/* f06d750: 45000010 */ bc1f .L0f06d794
/* f06d754: 00000000 */ nop
/* f06d758: 1000000e */ b .L0f06d794
/* f06d75c: e6220008 */ swc1 $f2,0x8($s1)
/* f06d760: c6200008 */ lwc1 $f0,0x8($s1)
.L0f06d764:
/* f06d764: c7aa0088 */ lwc1 $f10,0x88($sp)
/* f06d768: 4600103c */ c.lt.s $f2,$f0
/* f06d76c: 00000000 */ nop
/* f06d770: 45020004 */ bc1fl .L0f06d784
/* f06d774: 460a003c */ c.lt.s $f0,$f10
/* f06d778: 10000006 */ b .L0f06d794
/* f06d77c: e6220008 */ swc1 $f2,0x8($s1)
/* f06d780: 460a003c */ c.lt.s $f0,$f10
.L0f06d784:
/* f06d784: 00000000 */ nop
/* f06d788: 45000002 */ bc1f .L0f06d794
/* f06d78c: 00000000 */ nop
/* f06d790: e62a0008 */ swc1 $f10,0x8($s1)
.L0f06d794:
/* f06d794: 0c0093a6 */ jal cd00024e98
/* f06d798: 00000000 */ nop
/* f06d79c: 3c017f1b */ lui $at,%hi(var7f1aa26c)
/* f06d7a0: c430a26c */ lwc1 $f16,%lo(var7f1aa26c)($at)
/* f06d7a4: c7b2008c */ lwc1 $f18,0x8c($sp)
/* f06d7a8: c6060008 */ lwc1 $f6,0x8($s0)
/* f06d7ac: 46100082 */ mul.s $f2,$f0,$f16
/* f06d7b0: c7b00094 */ lwc1 $f16,0x94($sp)
/* f06d7b4: c7aa0084 */ lwc1 $f10,0x84($sp)
/* f06d7b8: 27b1004c */ addiu $s1,$sp,0x4c
/* f06d7bc: 240b003f */ addiu $t3,$zero,0x3f
/* f06d7c0: e7aa0050 */ swc1 $f10,0x50($sp)
/* f06d7c4: 44805000 */ mtc1 $zero,$f10
/* f06d7c8: 46029102 */ mul.s $f4,$f18,$f2
/* f06d7cc: 02203025 */ or $a2,$s1,$zero
/* f06d7d0: 8fa40040 */ lw $a0,0x40($sp)
/* f06d7d4: 46028482 */ mul.s $f18,$f16,$f2
/* f06d7d8: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d7dc: 27a70070 */ addiu $a3,$sp,0x70
/* f06d7e0: 46062200 */ add.s $f8,$f4,$f6
/* f06d7e4: e7a8004c */ swc1 $f8,0x4c($sp)
/* f06d7e8: c6040010 */ lwc1 $f4,0x10($s0)
/* f06d7ec: 44804000 */ mtc1 $zero,$f8
/* f06d7f0: afa00014 */ sw $zero,0x14($sp)
/* f06d7f4: 46049180 */ add.s $f6,$f18,$f4
/* f06d7f8: afab0010 */ sw $t3,0x10($sp)
/* f06d7fc: e7aa001c */ swc1 $f10,0x1c($sp)
/* f06d800: e7a80018 */ swc1 $f8,0x18($sp)
/* f06d804: 0c00b694 */ jal cd0002da50
/* f06d808: e7a60054 */ swc1 $f6,0x54($sp)
/* f06d80c: 10400024 */ beqz $v0,.L0f06d8a0
/* f06d810: 8fa400a8 */ lw $a0,0xa8($sp)
/* f06d814: 02202825 */ or $a1,$s1,$zero
/* f06d818: 2486001c */ addiu $a2,$a0,0x1c
/* f06d81c: 0fc248cf */ jal func0f09233c
/* f06d820: 27a70070 */ addiu $a3,$sp,0x70
/* f06d824: 44808000 */ mtc1 $zero,$f16
/* f06d828: 44809000 */ mtc1 $zero,$f18
/* f06d82c: 02202025 */ or $a0,$s1,$zero
/* f06d830: 8fa500a0 */ lw $a1,0xa0($sp)
/* f06d834: 27a60070 */ addiu $a2,$sp,0x70
/* f06d838: 2407003f */ addiu $a3,$zero,0x3f
/* f06d83c: afa00010 */ sw $zero,0x10($sp)
/* f06d840: e7b00014 */ swc1 $f16,0x14($sp)
/* f06d844: 0c00a9a1 */ jal cdTestVolume
/* f06d848: e7b20018 */ swc1 $f18,0x18($sp)
/* f06d84c: 10400014 */ beqz $v0,.L0f06d8a0
/* f06d850: c7a4004c */ lwc1 $f4,0x4c($sp)
/* f06d854: e6040008 */ swc1 $f4,0x8($s0)
/* f06d858: c7a60050 */ lwc1 $f6,0x50($sp)
/* f06d85c: 02002025 */ or $a0,$s0,$zero
/* f06d860: e606000c */ swc1 $f6,0xc($s0)
/* f06d864: c7a80054 */ lwc1 $f8,0x54($sp)
/* f06d868: 0fc19711 */ jal propDeregisterRooms
/* f06d86c: e6080010 */ swc1 $f8,0x10($s0)
/* f06d870: 27a40070 */ addiu $a0,$sp,0x70
/* f06d874: 0fc195e9 */ jal roomsCopy
/* f06d878: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d87c: 240d0001 */ addiu $t5,$zero,0x1
/* f06d880: 10000007 */ b .L0f06d8a0
/* f06d884: afad0098 */ sw $t5,0x98($sp)
/* f06d888: e62a0000 */ swc1 $f10,0x0($s1)
.L0f06d88c:
/* f06d88c: c7b00084 */ lwc1 $f16,0x84($sp)
/* f06d890: e6300004 */ swc1 $f16,0x4($s1)
/* f06d894: c7b20088 */ lwc1 $f18,0x88($sp)
/* f06d898: e6320008 */ swc1 $f18,0x8($s1)
/* f06d89c: 27b1004c */ addiu $s1,$sp,0x4c
.L0f06d8a0:
/* f06d8a0: 8fae0098 */ lw $t6,0x98($sp)
/* f06d8a4: 02203025 */ or $a2,$s1,$zero
/* f06d8a8: 27a70070 */ addiu $a3,$sp,0x70
/* f06d8ac: 55c00012 */ bnezl $t6,.L0f06d8f8
/* f06d8b0: 8fbf0034 */ lw $ra,0x34($sp)
/* f06d8b4: c6040008 */ lwc1 $f4,0x8($s0)
/* f06d8b8: c7a60084 */ lwc1 $f6,0x84($sp)
/* f06d8bc: 8fa40040 */ lw $a0,0x40($sp)
/* f06d8c0: e7a4004c */ swc1 $f4,0x4c($sp)
/* f06d8c4: e7a60050 */ swc1 $f6,0x50($sp)
/* f06d8c8: c6080010 */ lwc1 $f8,0x10($s0)
/* f06d8cc: 8fa5003c */ lw $a1,0x3c($sp)
/* f06d8d0: 0fc1979d */ jal func0f065e74
/* f06d8d4: e7a80054 */ swc1 $f8,0x54($sp)
/* f06d8d8: c7aa0050 */ lwc1 $f10,0x50($sp)
/* f06d8dc: 02002025 */ or $a0,$s0,$zero
/* f06d8e0: 0fc19711 */ jal propDeregisterRooms
/* f06d8e4: e60a000c */ swc1 $f10,0xc($s0)
/* f06d8e8: 27a40070 */ addiu $a0,$sp,0x70
/* f06d8ec: 0fc195e9 */ jal roomsCopy
/* f06d8f0: 8fa5003c */ lw $a1,0x3c($sp)
.L0f06d8f4:
/* f06d8f4: 8fbf0034 */ lw $ra,0x34($sp)
.L0f06d8f8:
/* f06d8f8: 8fa2009c */ lw $v0,0x9c($sp)
/* f06d8fc: 8fb0002c */ lw $s0,0x2c($sp)
/* f06d900: 8fb10030 */ lw $s1,0x30($sp)
/* f06d904: 03e00008 */ jr $ra
/* f06d908: 27bd00a8 */ addiu $sp,$sp,0xa8
);
#endif
/**
* Update a speed and distance travelled, factoring in acceleration,
* deceleration and the global update multiplier.
*
* The new speed and distance done are written back to those pointers.
*/
void applySpeed(f32 *distdone, f32 maxdist, f32 *speedptr, f32 accel, f32 decel, f32 maxspeed)
{
f32 speed = *speedptr;
s32 i;
for (i = 0; i < g_Vars.lvupdate240_60; i++) {
f32 limit = speed * speed * 0.5f / decel;
f32 distremaining = maxdist - *distdone;
if (distremaining > 0.0f) {
if (speed > 0.0f && distremaining <= limit) {
// Slow down for end
speed -= decel;
if (speed < decel) {
speed = decel;
}
} else if (speed < maxspeed) {
// Accelerate
if (speed < 0.0f) {
speed += decel;
} else {
speed += accel;
}
if (speed > maxspeed) {
speed = maxspeed;
}
}
if (speed >= distremaining) {
*distdone = maxdist;
break;
}
*distdone += speed;
} else {
if (speed < 0.0f && -distremaining <= limit) {
speed += decel;
if (speed > -decel) {
speed = -decel;
}
} else if (speed > -maxspeed) {
if (speed > 0.0f) {
speed -= decel;
} else {
speed -= accel;
}
if (speed < -maxspeed) {
speed = -maxspeed;
}
}
if (speed <= distremaining) {
*distdone = maxdist;
break;
}
*distdone += speed;
}
}
*speedptr = speed;
}
GLOBAL_ASM(
glabel applyRotation
.late_rodata
glabel var7f1aa270
.word 0xc0490fdb
glabel var7f1aa274
.word 0x40c907a9
glabel var7f1aa278
.word 0x40490fdb
glabel var7f1aa27c
.word 0x40c907a9
glabel var7f1aa280
.word 0x40c907a9
.text
/* f06db00: 27bdffe0 */ addiu $sp,$sp,-32
/* f06db04: afbf001c */ sw $ra,0x1c($sp)
/* f06db08: 44856000 */ mtc1 $a1,$f12
/* f06db0c: c4840000 */ lwc1 $f4,0x0($a0)
/* f06db10: 3c017f1b */ lui $at,%hi(var7f1aa270)
/* f06db14: c426a270 */ lwc1 $f6,%lo(var7f1aa270)($at)
/* f06db18: 46046001 */ sub.s $f0,$f12,$f4
/* f06db1c: 44877000 */ mtc1 $a3,$f14
/* f06db20: 3c017f1b */ lui $at,%hi(var7f1aa274)
/* f06db24: c7b00030 */ lwc1 $f16,0x30($sp)
/* f06db28: 4606003c */ c.lt.s $f0,$f6
/* f06db2c: 44077000 */ mfc1 $a3,$f14
/* f06db30: 45000005 */ bc1f .L0f06db48
/* f06db34: 00000000 */ nop
/* f06db38: 3c017f1b */ lui $at,%hi(var7f1aa278)
/* f06db3c: c428a274 */ lwc1 $f8,%lo(var7f1aa274)($at)
/* f06db40: 10000009 */ b .L0f06db68
/* f06db44: 46086300 */ add.s $f12,$f12,$f8
.L0f06db48:
/* f06db48: c42aa278 */ lwc1 $f10,%lo(var7f1aa278)($at)
/* f06db4c: 3c017f1b */ lui $at,%hi(var7f1aa27c)
/* f06db50: 4600503e */ c.le.s $f10,$f0
/* f06db54: 00000000 */ nop
/* f06db58: 45020004 */ bc1fl .L0f06db6c
/* f06db5c: c7b20034 */ lwc1 $f18,0x34($sp)
/* f06db60: c422a27c */ lwc1 $f2,%lo(var7f1aa27c)($at)
/* f06db64: 46026301 */ sub.s $f12,$f12,$f2
.L0f06db68:
/* f06db68: c7b20034 */ lwc1 $f18,0x34($sp)
.L0f06db6c:
/* f06db6c: 44056000 */ mfc1 $a1,$f12
/* f06db70: e7b00010 */ swc1 $f16,0x10($sp)
/* f06db74: afa40020 */ sw $a0,0x20($sp)
/* f06db78: 0fc1b643 */ jal applySpeed
/* f06db7c: e7b20014 */ swc1 $f18,0x14($sp)
/* f06db80: 8fa40020 */ lw $a0,0x20($sp)
/* f06db84: 44802000 */ mtc1 $zero,$f4
/* f06db88: 3c017f1b */ lui $at,%hi(var7f1aa280)
/* f06db8c: c4800000 */ lwc1 $f0,0x0($a0)
/* f06db90: c422a280 */ lwc1 $f2,%lo(var7f1aa280)($at)
/* f06db94: 4604003c */ c.lt.s $f0,$f4
/* f06db98: 00000000 */ nop
/* f06db9c: 45020005 */ bc1fl .L0f06dbb4
/* f06dba0: 4600103e */ c.le.s $f2,$f0
/* f06dba4: 46020180 */ add.s $f6,$f0,$f2
/* f06dba8: e4860000 */ swc1 $f6,0x0($a0)
/* f06dbac: c4800000 */ lwc1 $f0,0x0($a0)
/* f06dbb0: 4600103e */ c.le.s $f2,$f0
.L0f06dbb4:
/* f06dbb4: 00000000 */ nop
/* f06dbb8: 45020004 */ bc1fl .L0f06dbcc
/* f06dbbc: 8fbf001c */ lw $ra,0x1c($sp)
/* f06dbc0: 46020201 */ sub.s $f8,$f0,$f2
/* f06dbc4: e4880000 */ swc1 $f8,0x0($a0)
/* f06dbc8: 8fbf001c */ lw $ra,0x1c($sp)
.L0f06dbcc:
/* f06dbcc: 27bd0020 */ addiu $sp,$sp,0x20
/* f06dbd0: 03e00008 */ jr $ra
/* f06dbd4: 00000000 */ nop
);
// Mismatch: M_BADTAU + 1 should be just M_BADTAU, but this causes reordering.
//void applyRotation(f32 *angle, f32 maxrot, f32 *speed, f32 accel, f32 decel, f32 maxspeed)
//{
// f32 tmp = maxrot - *angle;
//
// if (tmp < -M_PI) {
// maxrot += M_PI;
// } else if (tmp >= M_BADTAU) {
// maxrot -= M_BADTAU + 1;
// }
//
// if (1);
//
// applySpeed(angle, maxrot, speed, accel, decel, maxspeed);
//
// if (*angle < 0) {
// *angle += M_BADTAU;
// }
//
// if (*angle >= M_BADTAU) {
// *angle -= M_BADTAU;
// }
//}
GLOBAL_ASM(
glabel func0f06dbd8
.late_rodata
glabel var7f1aa284
.word 0x3d4ccccd
glabel var7f1aa288
.word 0x3f230028
glabel var7f1aa28c
.word 0x3d4ccccd
glabel var7f1aa290
.word 0x3f230028
glabel var7f1aa294
.word 0x3cf5c28f
glabel var7f1aa298
.word 0x3e19999a
.text
/* f06dbd8: 27bdfe60 */ addiu $sp,$sp,-416
/* f06dbdc: afbf0014 */ sw $ra,0x14($sp)
/* f06dbe0: afa501a4 */ sw $a1,0x1a4($sp)
/* f06dbe4: 8c8e0040 */ lw $t6,0x40($a0)
/* f06dbe8: 3c01fffe */ lui $at,0xfffe
/* f06dbec: 3421ffff */ ori $at,$at,0xffff
/* f06dbf0: 01c17824 */ and $t7,$t6,$at
/* f06dbf4: 31f90080 */ andi $t9,$t7,0x80
/* f06dbf8: 00803025 */ or $a2,$a0,$zero
/* f06dbfc: 1320031b */ beqz $t9,.L0f06e86c
/* f06dc00: ac8f0040 */ sw $t7,0x40($a0)
/* f06dc04: 908e0003 */ lbu $t6,0x3($a0)
/* f06dc08: 24010001 */ addiu $at,$zero,0x1
/* f06dc0c: 8c820048 */ lw $v0,0x48($a0)
/* f06dc10: 15c10005 */ bne $t6,$at,.L0f06dc28
/* f06dc14: 27a50148 */ addiu $a1,$sp,0x148
/* f06dc18: 0fc1ab10 */ jal objEndFlight
/* f06dc1c: 00000000 */ nop
/* f06dc20: 10000313 */ b .L0f06e870
/* f06dc24: 8fbf0014 */ lw $ra,0x14($sp)
.L0f06dc28:
/* f06dc28: 8c4f0000 */ lw $t7,0x0($v0)
/* f06dc2c: 2401fffe */ addiu $at,$zero,-2
/* f06dc30: ac400088 */ sw $zero,0x88($v0)
/* f06dc34: 01e1c024 */ and $t8,$t7,$at
/* f06dc38: ac580000 */ sw $t8,0x0($v0)
/* f06dc3c: 370e0400 */ ori $t6,$t8,0x400
/* f06dc40: 2401fffb */ addiu $at,$zero,-5
/* f06dc44: ac4e0000 */ sw $t6,0x0($v0)
/* f06dc48: 01c1c024 */ and $t8,$t6,$at
/* f06dc4c: ac580000 */ sw $t8,0x0($v0)
/* f06dc50: afa601a0 */ sw $a2,0x1a0($sp)
/* f06dc54: afa20068 */ sw $v0,0x68($sp)
/* f06dc58: 0c005755 */ jal mtx3ToMtx4
/* f06dc5c: 24c4001c */ addiu $a0,$a2,0x1c
/* f06dc60: 27a40148 */ addiu $a0,$sp,0x148
/* f06dc64: 0c005976 */ jal mtx4GetRotation
/* f06dc68: 27a50188 */ addiu $a1,$sp,0x188
/* f06dc6c: 27a40188 */ addiu $a0,$sp,0x188
/* f06dc70: 0c005923 */ jal mtx4LoadRotation
/* f06dc74: 27a50108 */ addiu $a1,$sp,0x108
/* f06dc78: 8fa50068 */ lw $a1,0x68($sp)
/* f06dc7c: 27a40188 */ addiu $a0,$sp,0x188
/* f06dc80: 24a50068 */ addiu $a1,$a1,0x68
/* f06dc84: 0fc25b28 */ jal func0f096ca0
/* f06dc88: afa50038 */ sw $a1,0x38($sp)
/* f06dc8c: 27a40108 */ addiu $a0,$sp,0x108
/* f06dc90: 0c005c1c */ jal mtx4LoadRotationFrom
/* f06dc94: 27a500c8 */ addiu $a1,$sp,0xc8
/* f06dc98: 27a400c8 */ addiu $a0,$sp,0xc8
/* f06dc9c: 27a50148 */ addiu $a1,$sp,0x148
/* f06dca0: 0c005680 */ jal mtx4MultMtx4
/* f06dca4: 27a60088 */ addiu $a2,$sp,0x88
/* f06dca8: c7a20088 */ lwc1 $f2,0x88($sp)
/* f06dcac: c7ae008c */ lwc1 $f14,0x8c($sp)
/* f06dcb0: c7a00090 */ lwc1 $f0,0x90($sp)
/* f06dcb4: 46021102 */ mul.s $f4,$f2,$f2
/* f06dcb8: 00000000 */ nop
/* f06dcbc: 460e7182 */ mul.s $f6,$f14,$f14
/* f06dcc0: 46062200 */ add.s $f8,$f4,$f6
/* f06dcc4: 46000282 */ mul.s $f10,$f0,$f0
/* f06dcc8: 0c012974 */ jal sqrtf
/* f06dccc: 46085300 */ add.s $f12,$f10,$f8
/* f06dcd0: 8fb90068 */ lw $t9,0x68($sp)
/* f06dcd4: e72000b8 */ swc1 $f0,0xb8($t9)
/* f06dcd8: c7a40098 */ lwc1 $f4,0x98($sp)
/* f06dcdc: c7aa009c */ lwc1 $f10,0x9c($sp)
/* f06dce0: 46042182 */ mul.s $f6,$f4,$f4
/* f06dce4: 00000000 */ nop
/* f06dce8: 460a5202 */ mul.s $f8,$f10,$f10
/* f06dcec: c7aa00a0 */ lwc1 $f10,0xa0($sp)
/* f06dcf0: 46083100 */ add.s $f4,$f6,$f8
/* f06dcf4: 460a5182 */ mul.s $f6,$f10,$f10
/* f06dcf8: 0c012974 */ jal sqrtf
/* f06dcfc: 46043300 */ add.s $f12,$f6,$f4
/* f06dd00: 8fae0068 */ lw $t6,0x68($sp)
/* f06dd04: e5c000bc */ swc1 $f0,0xbc($t6)
/* f06dd08: c7a800a8 */ lwc1 $f8,0xa8($sp)
/* f06dd0c: c7a600ac */ lwc1 $f6,0xac($sp)
/* f06dd10: 46084282 */ mul.s $f10,$f8,$f8
/* f06dd14: 00000000 */ nop
/* f06dd18: 46063102 */ mul.s $f4,$f6,$f6
/* f06dd1c: c7a600b0 */ lwc1 $f6,0xb0($sp)
/* f06dd20: 46045200 */ add.s $f8,$f10,$f4
/* f06dd24: 46063282 */ mul.s $f10,$f6,$f6
/* f06dd28: 0c012974 */ jal sqrtf
/* f06dd2c: 46085300 */ add.s $f12,$f10,$f8
/* f06dd30: 8faf0068 */ lw $t7,0x68($sp)
/* f06dd34: 240affff */ addiu $t2,$zero,-1
/* f06dd38: 240cffff */ addiu $t4,$zero,-1
/* f06dd3c: e5e000c0 */ swc1 $f0,0xc0($t7)
/* f06dd40: 240bffff */ addiu $t3,$zero,-1
/* f06dd44: afab0194 */ sw $t3,0x194($sp)
/* f06dd48: afac0198 */ sw $t4,0x198($sp)
/* f06dd4c: afaa019c */ sw $t2,0x19c($sp)
/* f06dd50: 0fc1a2bd */ jal objFindBboxRodata
/* f06dd54: 8fa401a0 */ lw $a0,0x1a0($sp)
/* f06dd58: c4440008 */ lwc1 $f4,0x8($v0)
/* f06dd5c: c4460004 */ lwc1 $f6,0x4($v0)
/* f06dd60: 44809000 */ mtc1 $zero,$f18
/* f06dd64: 8faa019c */ lw $t2,0x19c($sp)
/* f06dd68: 46062281 */ sub.s $f10,$f4,$f6
/* f06dd6c: 8fab0194 */ lw $t3,0x194($sp)
/* f06dd70: 8fac0198 */ lw $t4,0x198($sp)
/* f06dd74: 00002825 */ or $a1,$zero,$zero
/* f06dd78: e7aa004c */ swc1 $f10,0x4c($sp)
/* f06dd7c: c444000c */ lwc1 $f4,0xc($v0)
/* f06dd80: c4480010 */ lwc1 $f8,0x10($v0)
/* f06dd84: 27a40058 */ addiu $a0,$sp,0x58
/* f06dd88: 8fa60068 */ lw $a2,0x68($sp)
/* f06dd8c: 46044181 */ sub.s $f6,$f8,$f4
/* f06dd90: 27a7004c */ addiu $a3,$sp,0x4c
/* f06dd94: 27a30040 */ addiu $v1,$sp,0x40
/* f06dd98: 00004025 */ or $t0,$zero,$zero
/* f06dd9c: e7a60050 */ swc1 $f6,0x50($sp)
/* f06dda0: c4480014 */ lwc1 $f8,0x14($v0)
/* f06dda4: c44a0018 */ lwc1 $f10,0x18($v0)
/* f06dda8: 8fa901a0 */ lw $t1,0x1a0($sp)
/* f06ddac: 46085101 */ sub.s $f4,$f10,$f8
/* f06ddb0: e7a40054 */ swc1 $f4,0x54($sp)
.L0f06ddb4:
/* f06ddb4: c4e00000 */ lwc1 $f0,0x0($a3)
/* f06ddb8: c4c600b8 */ lwc1 $f6,0xb8($a2)
/* f06ddbc: 2508000c */ addiu $t0,$t0,0xc
/* f06ddc0: 29010024 */ slti $at,$t0,0x24
/* f06ddc4: 46003282 */ mul.s $f10,$f6,$f0
/* f06ddc8: 24840004 */ addiu $a0,$a0,0x4
/* f06ddcc: 24c60004 */ addiu $a2,$a2,0x4
/* f06ddd0: 24e70004 */ addiu $a3,$a3,0x4
/* f06ddd4: 2529000c */ addiu $t1,$t1,0xc
/* f06ddd8: e48afffc */ swc1 $f10,-0x4($a0)
/* f06dddc: c5280014 */ lwc1 $f8,0x14($t1)
/* f06dde0: 46080102 */ mul.s $f4,$f0,$f8
/* f06dde4: e4640000 */ swc1 $f4,0x0($v1)
/* f06dde8: c4620000 */ lwc1 $f2,0x0($v1)
/* f06ddec: 4612103c */ c.lt.s $f2,$f18
/* f06ddf0: 00000000 */ nop
/* f06ddf4: 45000003 */ bc1f .L0f06de04
/* f06ddf8: 00000000 */ nop
/* f06ddfc: 46001187 */ neg.s $f6,$f2
/* f06de00: e4660000 */ swc1 $f6,0x0($v1)
.L0f06de04:
/* f06de04: 1420ffeb */ bnez $at,.L0f06ddb4
/* f06de08: 24630004 */ addiu $v1,$v1,0x4
/* f06de0c: 8fb801a0 */ lw $t8,0x1a0($sp)
/* f06de10: 3c010800 */ lui $at,0x800
/* f06de14: 34210208 */ ori $at,$at,0x208
/* f06de18: 8f020010 */ lw $v0,0x10($t8)
/* f06de1c: 0041c824 */ and $t9,$v0,$at
/* f06de20: 53200061 */ beqzl $t9,.L0f06dfa8
/* f06de24: 27a30058 */ addiu $v1,$sp,0x58
/* f06de28: 304e0008 */ andi $t6,$v0,0x8
/* f06de2c: 11c00032 */ beqz $t6,.L0f06def8
/* f06de30: 24080003 */ addiu $t0,$zero,0x3
/* f06de34: 00002825 */ or $a1,$zero,$zero
/* f06de38: 27a40058 */ addiu $a0,$sp,0x58
/* f06de3c: 27a30058 */ addiu $v1,$sp,0x58
.L0f06de40:
/* f06de40: 24a20001 */ addiu $v0,$a1,0x1
/* f06de44: 0048001a */ div $zero,$v0,$t0
/* f06de48: 00007810 */ mfhi $t7
/* f06de4c: 000fc080 */ sll $t8,$t7,0x2
/* f06de50: 0078c821 */ addu $t9,$v1,$t8
/* f06de54: c72a0000 */ lwc1 $f10,0x0($t9)
/* f06de58: c4800000 */ lwc1 $f0,0x0($a0)
/* f06de5c: 15000002 */ bnez $t0,.L0f06de68
/* f06de60: 00000000 */ nop
/* f06de64: 0007000d */ break 0x7
.L0f06de68:
/* f06de68: 2401ffff */ addiu $at,$zero,-1
/* f06de6c: 15010004 */ bne $t0,$at,.L0f06de80
/* f06de70: 3c018000 */ lui $at,0x8000
/* f06de74: 14410002 */ bne $v0,$at,.L0f06de80
/* f06de78: 00000000 */ nop
/* f06de7c: 0006000d */ break 0x6
.L0f06de80:
/* f06de80: 460a003c */ c.lt.s $f0,$f10
/* f06de84: 00000000 */ nop
/* f06de88: 45020017 */ bc1fl .L0f06dee8
/* f06de8c: 00402825 */ or $a1,$v0,$zero
/* f06de90: 24ae0002 */ addiu $t6,$a1,0x2
/* f06de94: 01c8001a */ div $zero,$t6,$t0
/* f06de98: 00007810 */ mfhi $t7
/* f06de9c: 000fc080 */ sll $t8,$t7,0x2
/* f06dea0: 0078c821 */ addu $t9,$v1,$t8
/* f06dea4: c7280000 */ lwc1 $f8,0x0($t9)
/* f06dea8: 15000002 */ bnez $t0,.L0f06deb4
/* f06deac: 00000000 */ nop
/* f06deb0: 0007000d */ break 0x7
.L0f06deb4:
/* f06deb4: 2401ffff */ addiu $at,$zero,-1
/* f06deb8: 15010004 */ bne $t0,$at,.L0f06decc
/* f06debc: 3c018000 */ lui $at,0x8000
/* f06dec0: 15c10002 */ bne $t6,$at,.L0f06decc
/* f06dec4: 00000000 */ nop
/* f06dec8: 0006000d */ break 0x6
.L0f06decc:
/* f06decc: 4608003c */ c.lt.s $f0,$f8
/* f06ded0: 00000000 */ nop
/* f06ded4: 45020004 */ bc1fl .L0f06dee8
/* f06ded8: 00402825 */ or $a1,$v0,$zero
/* f06dedc: 10000009 */ b .L0f06df04
/* f06dee0: 00a06025 */ or $t4,$a1,$zero
/* f06dee4: 00402825 */ or $a1,$v0,$zero
.L0f06dee8:
/* f06dee8: 1448ffd5 */ bne $v0,$t0,.L0f06de40
/* f06deec: 24840004 */ addiu $a0,$a0,0x4
/* f06def0: 10000005 */ b .L0f06df08
/* f06def4: 258e0001 */ addiu $t6,$t4,0x1
.L0f06def8:
/* f06def8: 240c0001 */ addiu $t4,$zero,0x1
/* f06defc: 24080003 */ addiu $t0,$zero,0x3
/* f06df00: 27a30058 */ addiu $v1,$sp,0x58
.L0f06df04:
/* f06df04: 258e0001 */ addiu $t6,$t4,0x1
.L0f06df08:
/* f06df08: 01c8001a */ div $zero,$t6,$t0
/* f06df0c: 258f0002 */ addiu $t7,$t4,0x2
/* f06df10: 00001010 */ mfhi $v0
/* f06df14: 27a90040 */ addiu $t1,$sp,0x40
/* f06df18: 15000002 */ bnez $t0,.L0f06df24
/* f06df1c: 00000000 */ nop
/* f06df20: 0007000d */ break 0x7
.L0f06df24:
/* f06df24: 2401ffff */ addiu $at,$zero,-1
/* f06df28: 15010004 */ bne $t0,$at,.L0f06df3c
/* f06df2c: 3c018000 */ lui $at,0x8000
/* f06df30: 15c10002 */ bne $t6,$at,.L0f06df3c
/* f06df34: 00000000 */ nop
/* f06df38: 0006000d */ break 0x6
.L0f06df3c:
/* f06df3c: 01e8001a */ div $zero,$t7,$t0
/* f06df40: 00002010 */ mfhi $a0
/* f06df44: 00047080 */ sll $t6,$a0,0x2
/* f06df48: 15000002 */ bnez $t0,.L0f06df54
/* f06df4c: 00000000 */ nop
/* f06df50: 0007000d */ break 0x7
.L0f06df54:
/* f06df54: 2401ffff */ addiu $at,$zero,-1
/* f06df58: 15010004 */ bne $t0,$at,.L0f06df6c
/* f06df5c: 3c018000 */ lui $at,0x8000
/* f06df60: 15e10002 */ bne $t7,$at,.L0f06df6c
/* f06df64: 00000000 */ nop
/* f06df68: 0006000d */ break 0x6
.L0f06df6c:
/* f06df6c: 0002c080 */ sll $t8,$v0,0x2
/* f06df70: 0138c821 */ addu $t9,$t1,$t8
/* f06df74: 012e7821 */ addu $t7,$t1,$t6
/* f06df78: c5e60000 */ lwc1 $f6,0x0($t7)
/* f06df7c: c7240000 */ lwc1 $f4,0x0($t9)
/* f06df80: 00805025 */ or $t2,$a0,$zero
/* f06df84: 00405825 */ or $t3,$v0,$zero
/* f06df88: 4604303e */ c.le.s $f6,$f4
/* f06df8c: 00000000 */ nop
/* f06df90: 45000004 */ bc1f .L0f06dfa4
/* f06df94: 00000000 */ nop
/* f06df98: 00405025 */ or $t2,$v0,$zero
/* f06df9c: 10000001 */ b .L0f06dfa4
/* f06dfa0: 00805825 */ or $t3,$a0,$zero
.L0f06dfa4:
/* f06dfa4: 27a30058 */ addiu $v1,$sp,0x58
.L0f06dfa8:
/* f06dfa8: 24080003 */ addiu $t0,$zero,0x3
/* f06dfac: 05410055 */ bgez $t2,.L0f06e104
/* f06dfb0: 27a90040 */ addiu $t1,$sp,0x40
/* f06dfb4: 3c014040 */ lui $at,0x4040
/* f06dfb8: 44817000 */ mtc1 $at,$f14
/* f06dfbc: 00002825 */ or $a1,$zero,$zero
/* f06dfc0: 27a40058 */ addiu $a0,$sp,0x58
.L0f06dfc4:
/* f06dfc4: 24a20001 */ addiu $v0,$a1,0x1
/* f06dfc8: 0048001a */ div $zero,$v0,$t0
/* f06dfcc: 00003010 */ mfhi $a2
/* f06dfd0: 0006c080 */ sll $t8,$a2,0x2
/* f06dfd4: 0078c821 */ addu $t9,$v1,$t8
/* f06dfd8: c7220000 */ lwc1 $f2,0x0($t9)
/* f06dfdc: c4800000 */ lwc1 $f0,0x0($a0)
/* f06dfe0: 15000002 */ bnez $t0,.L0f06dfec
/* f06dfe4: 00000000 */ nop
/* f06dfe8: 0007000d */ break 0x7
.L0f06dfec:
/* f06dfec: 2401ffff */ addiu $at,$zero,-1
/* f06dff0: 15010004 */ bne $t0,$at,.L0f06e004
/* f06dff4: 3c018000 */ lui $at,0x8000
/* f06dff8: 14410002 */ bne $v0,$at,.L0f06e004
/* f06dffc: 00000000 */ nop
/* f06e000: 0006000d */ break 0x6
.L0f06e004:
/* f06e004: 460e1282 */ mul.s $f10,$f2,$f14
/* f06e008: 4600503c */ c.lt.s $f10,$f0
/* f06e00c: 00000000 */ nop
/* f06e010: 4502003a */ bc1fl .L0f06e0fc
/* f06e014: 00402825 */ or $a1,$v0,$zero
/* f06e018: 24ae0002 */ addiu $t6,$a1,0x2
/* f06e01c: 01c8001a */ div $zero,$t6,$t0
/* f06e020: 00003810 */ mfhi $a3
/* f06e024: 00077880 */ sll $t7,$a3,0x2
/* f06e028: 006fc021 */ addu $t8,$v1,$t7
/* f06e02c: c70c0000 */ lwc1 $f12,0x0($t8)
/* f06e030: 15000002 */ bnez $t0,.L0f06e03c
/* f06e034: 00000000 */ nop
/* f06e038: 0007000d */ break 0x7
.L0f06e03c:
/* f06e03c: 2401ffff */ addiu $at,$zero,-1
/* f06e040: 15010004 */ bne $t0,$at,.L0f06e054
/* f06e044: 3c018000 */ lui $at,0x8000
/* f06e048: 15c10002 */ bne $t6,$at,.L0f06e054
/* f06e04c: 00000000 */ nop
/* f06e050: 0006000d */ break 0x6
.L0f06e054:
/* f06e054: 460e6202 */ mul.s $f8,$f12,$f14
/* f06e058: 4600403c */ c.lt.s $f8,$f0
/* f06e05c: 00000000 */ nop
/* f06e060: 45020026 */ bc1fl .L0f06e0fc
/* f06e064: 00402825 */ or $a1,$v0,$zero
/* f06e068: 460c6100 */ add.s $f4,$f12,$f12
/* f06e06c: 00a05025 */ or $t2,$a1,$zero
/* f06e070: 00e06025 */ or $t4,$a3,$zero
/* f06e074: 4602203c */ c.lt.s $f4,$f2
/* f06e078: 00000000 */ nop
/* f06e07c: 45020004 */ bc1fl .L0f06e090
/* f06e080: 46021180 */ add.s $f6,$f2,$f2
/* f06e084: 1000001f */ b .L0f06e104
/* f06e088: 00c05825 */ or $t3,$a2,$zero
/* f06e08c: 46021180 */ add.s $f6,$f2,$f2
.L0f06e090:
/* f06e090: 00c06025 */ or $t4,$a2,$zero
/* f06e094: 460c303c */ c.lt.s $f6,$f12
/* f06e098: 00000000 */ nop
/* f06e09c: 45020004 */ bc1fl .L0f06e0b0
/* f06e0a0: afa60024 */ sw $a2,0x24($sp)
/* f06e0a4: 10000017 */ b .L0f06e104
/* f06e0a8: 00e05825 */ or $t3,$a3,$zero
/* f06e0ac: afa60024 */ sw $a2,0x24($sp)
.L0f06e0b0:
/* f06e0b0: afa70020 */ sw $a3,0x20($sp)
/* f06e0b4: 0c004b70 */ jal random
/* f06e0b8: afaa019c */ sw $t2,0x19c($sp)
/* f06e0bc: 44809000 */ mtc1 $zero,$f18
/* f06e0c0: 30590001 */ andi $t9,$v0,0x1
/* f06e0c4: 27a30058 */ addiu $v1,$sp,0x58
/* f06e0c8: 8fa60024 */ lw $a2,0x24($sp)
/* f06e0cc: 8fa70020 */ lw $a3,0x20($sp)
/* f06e0d0: 24080003 */ addiu $t0,$zero,0x3
/* f06e0d4: 27a90040 */ addiu $t1,$sp,0x40
/* f06e0d8: 17200004 */ bnez $t9,.L0f06e0ec
/* f06e0dc: 8faa019c */ lw $t2,0x19c($sp)
/* f06e0e0: 00e06025 */ or $t4,$a3,$zero
/* f06e0e4: 10000007 */ b .L0f06e104
/* f06e0e8: 00c05825 */ or $t3,$a2,$zero
.L0f06e0ec:
/* f06e0ec: 00c06025 */ or $t4,$a2,$zero
/* f06e0f0: 10000004 */ b .L0f06e104
/* f06e0f4: 00e05825 */ or $t3,$a3,$zero
/* f06e0f8: 00402825 */ or $a1,$v0,$zero
.L0f06e0fc:
/* f06e0fc: 1448ffb1 */ bne $v0,$t0,.L0f06dfc4
/* f06e100: 24840004 */ addiu $a0,$a0,0x4
.L0f06e104:
/* f06e104: 3c014040 */ lui $at,0x4040
/* f06e108: 44817000 */ mtc1 $at,$f14
/* f06e10c: 05410072 */ bgez $t2,.L0f06e2d8
/* f06e110: 8fad01a0 */ lw $t5,0x1a0($sp)
/* f06e114: 00002825 */ or $a1,$zero,$zero
/* f06e118: 27a40058 */ addiu $a0,$sp,0x58
.L0f06e11c:
/* f06e11c: 24a20001 */ addiu $v0,$a1,0x1
/* f06e120: 0048001a */ div $zero,$v0,$t0
/* f06e124: 00003010 */ mfhi $a2
/* f06e128: 00067080 */ sll $t6,$a2,0x2
/* f06e12c: 006e7821 */ addu $t7,$v1,$t6
/* f06e130: c5ea0000 */ lwc1 $f10,0x0($t7)
/* f06e134: c4800000 */ lwc1 $f0,0x0($a0)
/* f06e138: 15000002 */ bnez $t0,.L0f06e144
/* f06e13c: 00000000 */ nop
/* f06e140: 0007000d */ break 0x7
.L0f06e144:
/* f06e144: 2401ffff */ addiu $at,$zero,-1
/* f06e148: 15010004 */ bne $t0,$at,.L0f06e15c
/* f06e14c: 3c018000 */ lui $at,0x8000
/* f06e150: 14410002 */ bne $v0,$at,.L0f06e15c
/* f06e154: 00000000 */ nop
/* f06e158: 0006000d */ break 0x6
.L0f06e15c:
/* f06e15c: 460e5082 */ mul.s $f2,$f10,$f14
/* f06e160: 4600103c */ c.lt.s $f2,$f0
/* f06e164: 00000000 */ nop
/* f06e168: 45030016 */ bc1tl .L0f06e1c4
/* f06e16c: 4600103c */ c.lt.s $f2,$f0
/* f06e170: 24b80002 */ addiu $t8,$a1,0x2
/* f06e174: 0308001a */ div $zero,$t8,$t0
/* f06e178: 0000c810 */ mfhi $t9
/* f06e17c: 00197080 */ sll $t6,$t9,0x2
/* f06e180: 006e7821 */ addu $t7,$v1,$t6
/* f06e184: c5e80000 */ lwc1 $f8,0x0($t7)
/* f06e188: 15000002 */ bnez $t0,.L0f06e194
/* f06e18c: 00000000 */ nop
/* f06e190: 0007000d */ break 0x7
.L0f06e194:
/* f06e194: 2401ffff */ addiu $at,$zero,-1
/* f06e198: 15010004 */ bne $t0,$at,.L0f06e1ac
/* f06e19c: 3c018000 */ lui $at,0x8000
/* f06e1a0: 17010002 */ bne $t8,$at,.L0f06e1ac
/* f06e1a4: 00000000 */ nop
/* f06e1a8: 0006000d */ break 0x6
.L0f06e1ac:
/* f06e1ac: 460e4102 */ mul.s $f4,$f8,$f14
/* f06e1b0: 4600203c */ c.lt.s $f4,$f0
/* f06e1b4: 00000000 */ nop
/* f06e1b8: 45020045 */ bc1fl .L0f06e2d0
/* f06e1bc: 00402825 */ or $a1,$v0,$zero
/* f06e1c0: 4600103c */ c.lt.s $f2,$f0
.L0f06e1c4:
/* f06e1c4: 00000000 */ nop
/* f06e1c8: 45020004 */ bc1fl .L0f06e1dc
/* f06e1cc: 24b80002 */ addiu $t8,$a1,0x2
/* f06e1d0: 10000016 */ b .L0f06e22c
/* f06e1d4: 00c06025 */ or $t4,$a2,$zero
/* f06e1d8: 24b80002 */ addiu $t8,$a1,0x2
.L0f06e1dc:
/* f06e1dc: 0308001a */ div $zero,$t8,$t0
/* f06e1e0: 00003810 */ mfhi $a3
/* f06e1e4: 0007c880 */ sll $t9,$a3,0x2
/* f06e1e8: 00797021 */ addu $t6,$v1,$t9
/* f06e1ec: c5c60000 */ lwc1 $f6,0x0($t6)
/* f06e1f0: 15000002 */ bnez $t0,.L0f06e1fc
/* f06e1f4: 00000000 */ nop
/* f06e1f8: 0007000d */ break 0x7
.L0f06e1fc:
/* f06e1fc: 2401ffff */ addiu $at,$zero,-1
/* f06e200: 15010004 */ bne $t0,$at,.L0f06e214
/* f06e204: 3c018000 */ lui $at,0x8000
/* f06e208: 17010002 */ bne $t8,$at,.L0f06e214
/* f06e20c: 00000000 */ nop
/* f06e210: 0006000d */ break 0x6
.L0f06e214:
/* f06e214: 460e3282 */ mul.s $f10,$f6,$f14
/* f06e218: 4600503c */ c.lt.s $f10,$f0
/* f06e21c: 00000000 */ nop
/* f06e220: 45020003 */ bc1fl .L0f06e230
/* f06e224: 258f0001 */ addiu $t7,$t4,0x1
/* f06e228: 00e06025 */ or $t4,$a3,$zero
.L0f06e22c:
/* f06e22c: 258f0001 */ addiu $t7,$t4,0x1
.L0f06e230:
/* f06e230: 01e8001a */ div $zero,$t7,$t0
/* f06e234: 25980002 */ addiu $t8,$t4,0x2
/* f06e238: 00001010 */ mfhi $v0
/* f06e23c: 0002c880 */ sll $t9,$v0,0x2
/* f06e240: 15000002 */ bnez $t0,.L0f06e24c
/* f06e244: 00000000 */ nop
/* f06e248: 0007000d */ break 0x7
.L0f06e24c:
/* f06e24c: 2401ffff */ addiu $at,$zero,-1
/* f06e250: 15010004 */ bne $t0,$at,.L0f06e264
/* f06e254: 3c018000 */ lui $at,0x8000
/* f06e258: 15e10002 */ bne $t7,$at,.L0f06e264
/* f06e25c: 00000000 */ nop
/* f06e260: 0006000d */ break 0x6
.L0f06e264:
/* f06e264: 0308001a */ div $zero,$t8,$t0
/* f06e268: 00002010 */ mfhi $a0
/* f06e26c: 00047880 */ sll $t7,$a0,0x2
/* f06e270: 15000002 */ bnez $t0,.L0f06e27c
/* f06e274: 00000000 */ nop
/* f06e278: 0007000d */ break 0x7
.L0f06e27c:
/* f06e27c: 2401ffff */ addiu $at,$zero,-1
/* f06e280: 15010004 */ bne $t0,$at,.L0f06e294
/* f06e284: 3c018000 */ lui $at,0x8000
/* f06e288: 17010002 */ bne $t8,$at,.L0f06e294
/* f06e28c: 00000000 */ nop
/* f06e290: 0006000d */ break 0x6
.L0f06e294:
/* f06e294: 012fc021 */ addu $t8,$t1,$t7
/* f06e298: 01397021 */ addu $t6,$t1,$t9
/* f06e29c: c5c80000 */ lwc1 $f8,0x0($t6)
/* f06e2a0: c7040000 */ lwc1 $f4,0x0($t8)
/* f06e2a4: 00805825 */ or $t3,$a0,$zero
/* f06e2a8: 00805025 */ or $t2,$a0,$zero
/* f06e2ac: 4608203e */ c.le.s $f4,$f8
/* f06e2b0: 00000000 */ nop
/* f06e2b4: 45000003 */ bc1f .L0f06e2c4
/* f06e2b8: 00000000 */ nop
/* f06e2bc: 10000006 */ b .L0f06e2d8
/* f06e2c0: 00405025 */ or $t2,$v0,$zero
.L0f06e2c4:
/* f06e2c4: 10000004 */ b .L0f06e2d8
/* f06e2c8: 00405825 */ or $t3,$v0,$zero
/* f06e2cc: 00402825 */ or $a1,$v0,$zero
.L0f06e2d0:
/* f06e2d0: 1448ff92 */ bne $v0,$t0,.L0f06e11c
/* f06e2d4: 24840004 */ addiu $a0,$a0,0x4
.L0f06e2d8:
/* f06e2d8: 05410035 */ bgez $t2,.L0f06e3b0
/* f06e2dc: 00002825 */ or $a1,$zero,$zero
/* f06e2e0: 27a30040 */ addiu $v1,$sp,0x40
.L0f06e2e4:
/* f06e2e4: 24a20001 */ addiu $v0,$a1,0x1
/* f06e2e8: 0048001a */ div $zero,$v0,$t0
/* f06e2ec: 00003010 */ mfhi $a2
/* f06e2f0: 0006c880 */ sll $t9,$a2,0x2
/* f06e2f4: 01397021 */ addu $t6,$t1,$t9
/* f06e2f8: c5c00000 */ lwc1 $f0,0x0($t6)
/* f06e2fc: c4620000 */ lwc1 $f2,0x0($v1)
/* f06e300: 15000002 */ bnez $t0,.L0f06e30c
/* f06e304: 00000000 */ nop
/* f06e308: 0007000d */ break 0x7
.L0f06e30c:
/* f06e30c: 2401ffff */ addiu $at,$zero,-1
/* f06e310: 15010004 */ bne $t0,$at,.L0f06e324
/* f06e314: 3c018000 */ lui $at,0x8000
/* f06e318: 14410002 */ bne $v0,$at,.L0f06e324
/* f06e31c: 00000000 */ nop
/* f06e320: 0006000d */ break 0x6
.L0f06e324:
/* f06e324: 4602003e */ c.le.s $f0,$f2
/* f06e328: 24630004 */ addiu $v1,$v1,0x4
/* f06e32c: 4500001e */ bc1f .L0f06e3a8
/* f06e330: 00000000 */ nop
/* f06e334: 24af0002 */ addiu $t7,$a1,0x2
/* f06e338: 01e8001a */ div $zero,$t7,$t0
/* f06e33c: 00003810 */ mfhi $a3
/* f06e340: 0007c080 */ sll $t8,$a3,0x2
/* f06e344: 0138c821 */ addu $t9,$t1,$t8
/* f06e348: c72c0000 */ lwc1 $f12,0x0($t9)
/* f06e34c: 15000002 */ bnez $t0,.L0f06e358
/* f06e350: 00000000 */ nop
/* f06e354: 0007000d */ break 0x7
.L0f06e358:
/* f06e358: 2401ffff */ addiu $at,$zero,-1
/* f06e35c: 15010004 */ bne $t0,$at,.L0f06e370
/* f06e360: 3c018000 */ lui $at,0x8000
/* f06e364: 15e10002 */ bne $t7,$at,.L0f06e370
/* f06e368: 00000000 */ nop
/* f06e36c: 0006000d */ break 0x6
.L0f06e370:
/* f06e370: 4602603e */ c.le.s $f12,$f2
/* f06e374: 00000000 */ nop
/* f06e378: 4500000b */ bc1f .L0f06e3a8
/* f06e37c: 00000000 */ nop
/* f06e380: 4600603e */ c.le.s $f12,$f0
/* f06e384: 00a06025 */ or $t4,$a1,$zero
/* f06e388: 00e05825 */ or $t3,$a3,$zero
/* f06e38c: 00e05025 */ or $t2,$a3,$zero
/* f06e390: 45000003 */ bc1f .L0f06e3a0
/* f06e394: 00000000 */ nop
/* f06e398: 10000005 */ b .L0f06e3b0
/* f06e39c: 00c05025 */ or $t2,$a2,$zero
.L0f06e3a0:
/* f06e3a0: 10000003 */ b .L0f06e3b0
/* f06e3a4: 00c05825 */ or $t3,$a2,$zero
.L0f06e3a8:
/* f06e3a8: 1448ffce */ bne $v0,$t0,.L0f06e2e4
/* f06e3ac: 00402825 */ or $a1,$v0,$zero
.L0f06e3b0:
/* f06e3b0: 05430005 */ bgezl $t2,.L0f06e3c8
/* f06e3b4: 000a7080 */ sll $t6,$t2,0x2
/* f06e3b8: 00005025 */ or $t2,$zero,$zero
/* f06e3bc: 240c0001 */ addiu $t4,$zero,0x1
/* f06e3c0: 240b0002 */ addiu $t3,$zero,0x2
/* f06e3c4: 000a7080 */ sll $t6,$t2,0x2
.L0f06e3c8:
/* f06e3c8: 01ca7023 */ subu $t6,$t6,$t2
/* f06e3cc: 000e7080 */ sll $t6,$t6,0x2
/* f06e3d0: afae0034 */ sw $t6,0x34($sp)
/* f06e3d4: 01ae3021 */ addu $a2,$t5,$t6
/* f06e3d8: c4ce001c */ lwc1 $f14,0x1c($a2)
/* f06e3dc: c4d00024 */ lwc1 $f16,0x24($a2)
/* f06e3e0: 46127032 */ c.eq.s $f14,$f18
/* f06e3e4: 00000000 */ nop
/* f06e3e8: 45000005 */ bc1f .L0f06e400
/* f06e3ec: 00000000 */ nop
/* f06e3f0: 46128032 */ c.eq.s $f16,$f18
/* f06e3f4: 3c013f80 */ lui $at,0x3f80
/* f06e3f8: 45030025 */ bc1tl .L0f06e490
/* f06e3fc: 44818000 */ mtc1 $at,$f16
.L0f06e400:
/* f06e400: 460e7182 */ mul.s $f6,$f14,$f14
/* f06e404: afa60030 */ sw $a2,0x30($sp)
/* f06e408: afaa019c */ sw $t2,0x19c($sp)
/* f06e40c: 46108282 */ mul.s $f10,$f16,$f16
/* f06e410: afab0194 */ sw $t3,0x194($sp)
/* f06e414: afac0198 */ sw $t4,0x198($sp)
/* f06e418: e7ae0084 */ swc1 $f14,0x84($sp)
/* f06e41c: e7b00080 */ swc1 $f16,0x80($sp)
/* f06e420: 0c012974 */ jal sqrtf
/* f06e424: 460a3300 */ add.s $f12,$f6,$f10
/* f06e428: 44809000 */ mtc1 $zero,$f18
/* f06e42c: 8fa60030 */ lw $a2,0x30($sp)
/* f06e430: 24080003 */ addiu $t0,$zero,0x3
/* f06e434: 4600903c */ c.lt.s $f18,$f0
/* f06e438: 8faa019c */ lw $t2,0x19c($sp)
/* f06e43c: 8fab0194 */ lw $t3,0x194($sp)
/* f06e440: 8fac0198 */ lw $t4,0x198($sp)
/* f06e444: c7ae0084 */ lwc1 $f14,0x84($sp)
/* f06e448: c7b00080 */ lwc1 $f16,0x80($sp)
/* f06e44c: 4500000a */ bc1f .L0f06e478
/* f06e450: 46000086 */ mov.s $f2,$f0
/* f06e454: 3c013f80 */ lui $at,0x3f80
/* f06e458: 44814000 */ mtc1 $at,$f8
/* f06e45c: 00000000 */ nop
/* f06e460: 46004083 */ div.s $f2,$f8,$f0
/* f06e464: 46027382 */ mul.s $f14,$f14,$f2
/* f06e468: 00000000 */ nop
/* f06e46c: 46028402 */ mul.s $f16,$f16,$f2
/* f06e470: 10000004 */ b .L0f06e484
/* f06e474: 00000000 */ nop
.L0f06e478:
/* f06e478: 3c013f80 */ lui $at,0x3f80
/* f06e47c: 44818000 */ mtc1 $at,$f16
/* f06e480: 46009386 */ mov.s $f14,$f18
.L0f06e484:
/* f06e484: 10000003 */ b .L0f06e494
/* f06e488: 8fad01a0 */ lw $t5,0x1a0($sp)
/* f06e48c: 44818000 */ mtc1 $at,$f16
.L0f06e490:
/* f06e490: 46009386 */ mov.s $f14,$f18
.L0f06e494:
/* f06e494: 27a700c8 */ addiu $a3,$sp,0xc8
/* f06e498: 000a4900 */ sll $t1,$t2,0x4
/* f06e49c: 00e91821 */ addu $v1,$a3,$t1
/* f06e4a0: 000cc080 */ sll $t8,$t4,0x2
/* f06e4a4: 030cc023 */ subu $t8,$t8,$t4
/* f06e4a8: 0018c080 */ sll $t8,$t8,0x2
/* f06e4ac: e46e0000 */ swc1 $f14,0x0($v1)
/* f06e4b0: e4720004 */ swc1 $f18,0x4($v1)
/* f06e4b4: e4700008 */ swc1 $f16,0x8($v1)
/* f06e4b8: e472000c */ swc1 $f18,0xc($v1)
/* f06e4bc: 01b82021 */ addu $a0,$t5,$t8
/* f06e4c0: c4800020 */ lwc1 $f0,0x20($a0)
/* f06e4c4: 258f0001 */ addiu $t7,$t4,0x1
/* f06e4c8: 4600903e */ c.le.s $f18,$f0
/* f06e4cc: 00000000 */ nop
/* f06e4d0: 45010006 */ bc1t .L0f06e4ec
/* f06e4d4: 00000000 */ nop
/* f06e4d8: 8db90010 */ lw $t9,0x10($t5)
/* f06e4dc: 3c050800 */ lui $a1,0x800
/* f06e4e0: 03257024 */ and $t6,$t9,$a1
/* f06e4e4: 51c00010 */ beqzl $t6,.L0f06e528
/* f06e4e8: 4612003e */ c.le.s $f0,$f18
.L0f06e4ec:
/* f06e4ec: 01e8001a */ div $zero,$t7,$t0
/* f06e4f0: 0000c010 */ mfhi $t8
/* f06e4f4: 3c050800 */ lui $a1,0x800
/* f06e4f8: 15000002 */ bnez $t0,.L0f06e504
/* f06e4fc: 00000000 */ nop
/* f06e500: 0007000d */ break 0x7
.L0f06e504:
/* f06e504: 2401ffff */ addiu $at,$zero,-1
/* f06e508: 15010004 */ bne $t0,$at,.L0f06e51c
/* f06e50c: 3c018000 */ lui $at,0x8000
/* f06e510: 15e10002 */ bne $t7,$at,.L0f06e51c
/* f06e514: 00000000 */ nop
/* f06e518: 0006000d */ break 0x6
.L0f06e51c:
/* f06e51c: 51780017 */ beql $t3,$t8,.L0f06e57c
/* f06e520: 000bc900 */ sll $t9,$t3,0x4
/* f06e524: 4612003e */ c.le.s $f0,$f18
.L0f06e528:
/* f06e528: 00000000 */ nop
/* f06e52c: 4502001b */ bc1fl .L0f06e59c
/* f06e530: 000b7100 */ sll $t6,$t3,0x4
/* f06e534: 8db90010 */ lw $t9,0x10($t5)
/* f06e538: 258f0002 */ addiu $t7,$t4,0x2
/* f06e53c: 03257024 */ and $t6,$t9,$a1
/* f06e540: 55c00016 */ bnezl $t6,.L0f06e59c
/* f06e544: 000b7100 */ sll $t6,$t3,0x4
/* f06e548: 01e8001a */ div $zero,$t7,$t0
/* f06e54c: 0000c010 */ mfhi $t8
/* f06e550: 15000002 */ bnez $t0,.L0f06e55c
/* f06e554: 00000000 */ nop
/* f06e558: 0007000d */ break 0x7
.L0f06e55c:
/* f06e55c: 2401ffff */ addiu $at,$zero,-1
/* f06e560: 15010004 */ bne $t0,$at,.L0f06e574
/* f06e564: 3c018000 */ lui $at,0x8000
/* f06e568: 15e10002 */ bne $t7,$at,.L0f06e574
/* f06e56c: 00000000 */ nop
/* f06e570: 0006000d */ break 0x6
.L0f06e574:
/* f06e574: 15780008 */ bne $t3,$t8,.L0f06e598
/* f06e578: 000bc900 */ sll $t9,$t3,0x4
.L0f06e57c:
/* f06e57c: 00f91021 */ addu $v0,$a3,$t9
/* f06e580: 46008107 */ neg.s $f4,$f16
/* f06e584: e4520004 */ swc1 $f18,0x4($v0)
/* f06e588: e4440000 */ swc1 $f4,0x0($v0)
/* f06e58c: e44e0008 */ swc1 $f14,0x8($v0)
/* f06e590: 10000008 */ b .L0f06e5b4
/* f06e594: e452000c */ swc1 $f18,0xc($v0)
.L0f06e598:
/* f06e598: 000b7100 */ sll $t6,$t3,0x4
.L0f06e59c:
/* f06e59c: 00ee1021 */ addu $v0,$a3,$t6
/* f06e5a0: 46007187 */ neg.s $f6,$f14
/* f06e5a4: e4500000 */ swc1 $f16,0x0($v0)
/* f06e5a8: e4520004 */ swc1 $f18,0x4($v0)
/* f06e5ac: e4460008 */ swc1 $f6,0x8($v0)
/* f06e5b0: e452000c */ swc1 $f18,0xc($v0)
.L0f06e5b4:
/* f06e5b4: c48a0020 */ lwc1 $f10,0x20($a0)
/* f06e5b8: 000cc900 */ sll $t9,$t4,0x4
/* f06e5bc: 00f91021 */ addu $v0,$a3,$t9
/* f06e5c0: 460a903e */ c.le.s $f18,$f10
/* f06e5c4: 3c013f80 */ lui $at,0x3f80
/* f06e5c8: 00e02025 */ or $a0,$a3,$zero
/* f06e5cc: 45030007 */ bc1tl .L0f06e5ec
/* f06e5d0: 44814000 */ mtc1 $at,$f8
/* f06e5d4: 8daf0010 */ lw $t7,0x10($t5)
/* f06e5d8: 000c7100 */ sll $t6,$t4,0x4
/* f06e5dc: 01e5c024 */ and $t8,$t7,$a1
/* f06e5e0: 53000008 */ beqzl $t8,.L0f06e604
/* f06e5e4: 00ee1021 */ addu $v0,$a3,$t6
/* f06e5e8: 44814000 */ mtc1 $at,$f8
.L0f06e5ec:
/* f06e5ec: e4520000 */ swc1 $f18,0x0($v0)
/* f06e5f0: e4520008 */ swc1 $f18,0x8($v0)
/* f06e5f4: e452000c */ swc1 $f18,0xc($v0)
/* f06e5f8: 10000008 */ b .L0f06e61c
/* f06e5fc: e4480004 */ swc1 $f8,0x4($v0)
/* f06e600: 00ee1021 */ addu $v0,$a3,$t6
.L0f06e604:
/* f06e604: 3c01bf80 */ lui $at,0xbf80
/* f06e608: 44812000 */ mtc1 $at,$f4
/* f06e60c: e4520000 */ swc1 $f18,0x0($v0)
/* f06e610: e4520008 */ swc1 $f18,0x8($v0)
/* f06e614: e452000c */ swc1 $f18,0xc($v0)
/* f06e618: e4440004 */ swc1 $f4,0x4($v0)
.L0f06e61c:
/* f06e61c: 3c013f80 */ lui $at,0x3f80
/* f06e620: 44813000 */ mtc1 $at,$f6
/* f06e624: e7b200f8 */ swc1 $f18,0xf8($sp)
/* f06e628: e7b200fc */ swc1 $f18,0xfc($sp)
/* f06e62c: e7b20100 */ swc1 $f18,0x100($sp)
/* f06e630: 27a50188 */ addiu $a1,$sp,0x188
/* f06e634: afa30028 */ sw $v1,0x28($sp)
/* f06e638: afa60030 */ sw $a2,0x30($sp)
/* f06e63c: afa9002c */ sw $t1,0x2c($sp)
/* f06e640: 0c005976 */ jal mtx4GetRotation
/* f06e644: e7a60104 */ swc1 $f6,0x104($sp)
/* f06e648: 8fa50068 */ lw $a1,0x68($sp)
/* f06e64c: 27a40188 */ addiu $a0,$sp,0x188
/* f06e650: 24a50078 */ addiu $a1,$a1,0x78
/* f06e654: 0fc25b28 */ jal func0f096ca0
/* f06e658: afa50024 */ sw $a1,0x24($sp)
/* f06e65c: 8fa50024 */ lw $a1,0x24($sp)
/* f06e660: 0fc25db0 */ jal func0f0976c0
/* f06e664: 8fa40038 */ lw $a0,0x38($sp)
/* f06e668: 44809000 */ mtc1 $zero,$f18
/* f06e66c: 8faf0068 */ lw $t7,0x68($sp)
/* f06e670: 8fa30028 */ lw $v1,0x28($sp)
/* f06e674: 27b90108 */ addiu $t9,$sp,0x108
/* f06e678: e5f20060 */ swc1 $f18,0x60($t7)
/* f06e67c: 8fb8002c */ lw $t8,0x2c($sp)
/* f06e680: c46a0000 */ lwc1 $f10,0x0($v1)
/* f06e684: c4660004 */ lwc1 $f6,0x4($v1)
/* f06e688: 03191021 */ addu $v0,$t8,$t9
/* f06e68c: c4480000 */ lwc1 $f8,0x0($v0)
/* f06e690: 46085102 */ mul.s $f4,$f10,$f8
/* f06e694: c44a0004 */ lwc1 $f10,0x4($v0)
/* f06e698: 460a3202 */ mul.s $f8,$f6,$f10
/* f06e69c: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06e6a0: 46082180 */ add.s $f6,$f4,$f8
/* f06e6a4: c4640008 */ lwc1 $f4,0x8($v1)
/* f06e6a8: 46045202 */ mul.s $f8,$f10,$f4
/* f06e6ac: 0fc25a74 */ jal acosf
/* f06e6b0: 46064300 */ add.s $f12,$f8,$f6
/* f06e6b4: 44809000 */ mtc1 $zero,$f18
/* f06e6b8: 8fa60030 */ lw $a2,0x30($sp)
/* f06e6bc: 46000406 */ mov.s $f16,$f0
/* f06e6c0: 4600903c */ c.lt.s $f18,$f0
/* f06e6c4: 00000000 */ nop
/* f06e6c8: 45020017 */ bc1fl .L0f06e728
/* f06e6cc: 4600903c */ c.lt.s $f18,$f0
/* f06e6d0: c4c20020 */ lwc1 $f2,0x20($a2)
/* f06e6d4: 8fae01a4 */ lw $t6,0x1a4($sp)
/* f06e6d8: 8faf0034 */ lw $t7,0x34($sp)
/* f06e6dc: 4602903c */ c.lt.s $f18,$f2
/* f06e6e0: 01cfc021 */ addu $t8,$t6,$t7
/* f06e6e4: 45020010 */ bc1fl .L0f06e728
/* f06e6e8: 4600903c */ c.lt.s $f18,$f0
/* f06e6ec: c70a0004 */ lwc1 $f10,0x4($t8)
/* f06e6f0: 3c017f1b */ lui $at,%hi(var7f1aa284)
/* f06e6f4: 4602503c */ c.lt.s $f10,$f2
/* f06e6f8: 00000000 */ nop
/* f06e6fc: 4502000a */ bc1fl .L0f06e728
/* f06e700: 4600903c */ c.lt.s $f18,$f0
/* f06e704: c424a284 */ lwc1 $f4,%lo(var7f1aa284)($at)
/* f06e708: 3c017f1b */ lui $at,%hi(var7f1aa288)
/* f06e70c: c428a288 */ lwc1 $f8,%lo(var7f1aa288)($at)
/* f06e710: 8fb90068 */ lw $t9,0x68($sp)
/* f06e714: 46080182 */ mul.s $f6,$f0,$f8
/* f06e718: 46062283 */ div.s $f10,$f4,$f6
/* f06e71c: 10000039 */ b .L0f06e804
/* f06e720: e72a0064 */ swc1 $f10,0x64($t9)
/* f06e724: 4600903c */ c.lt.s $f18,$f0
.L0f06e728:
/* f06e728: 8fae01a4 */ lw $t6,0x1a4($sp)
/* f06e72c: 8faf0034 */ lw $t7,0x34($sp)
/* f06e730: c4c20020 */ lwc1 $f2,0x20($a2)
/* f06e734: 01cf1021 */ addu $v0,$t6,$t7
/* f06e738: 45000011 */ bc1f .L0f06e780
/* f06e73c: c44e0004 */ lwc1 $f14,0x4($v0)
/* f06e740: 4612103c */ c.lt.s $f2,$f18
/* f06e744: 00000000 */ nop
/* f06e748: 4502000e */ bc1fl .L0f06e784
/* f06e74c: c4c40024 */ lwc1 $f4,0x24($a2)
/* f06e750: 460e103c */ c.lt.s $f2,$f14
/* f06e754: 3c017f1b */ lui $at,%hi(var7f1aa28c)
/* f06e758: 4502000a */ bc1fl .L0f06e784
/* f06e75c: c4c40024 */ lwc1 $f4,0x24($a2)
/* f06e760: c428a28c */ lwc1 $f8,%lo(var7f1aa28c)($at)
/* f06e764: 3c017f1b */ lui $at,%hi(var7f1aa290)
/* f06e768: c424a290 */ lwc1 $f4,%lo(var7f1aa290)($at)
/* f06e76c: 8fb80068 */ lw $t8,0x68($sp)
/* f06e770: 46040182 */ mul.s $f6,$f0,$f4
/* f06e774: 46064283 */ div.s $f10,$f8,$f6
/* f06e778: 10000022 */ b .L0f06e804
/* f06e77c: e70a0064 */ swc1 $f10,0x64($t8)
.L0f06e780:
/* f06e780: c4c40024 */ lwc1 $f4,0x24($a2)
.L0f06e784:
/* f06e784: c4480008 */ lwc1 $f8,0x8($v0)
/* f06e788: c44a0000 */ lwc1 $f10,0x0($v0)
/* f06e78c: 8fb901a0 */ lw $t9,0x1a0($sp)
/* f06e790: 46082182 */ mul.s $f6,$f4,$f8
/* f06e794: c4c4001c */ lwc1 $f4,0x1c($a2)
/* f06e798: 8f2e0018 */ lw $t6,0x18($t9)
/* f06e79c: 46045202 */ mul.s $f8,$f10,$f4
/* f06e7a0: c5c00014 */ lwc1 $f0,0x14($t6)
/* f06e7a4: e7b0006c */ swc1 $f16,0x6c($sp)
/* f06e7a8: 46027282 */ mul.s $f10,$f14,$f2
/* f06e7ac: 460a4100 */ add.s $f4,$f8,$f10
/* f06e7b0: 46000282 */ mul.s $f10,$f0,$f0
/* f06e7b4: 46043200 */ add.s $f8,$f6,$f4
/* f06e7b8: 0fc25a74 */ jal acosf
/* f06e7bc: 460a4303 */ div.s $f12,$f8,$f10
/* f06e7c0: c7b0006c */ lwc1 $f16,0x6c($sp)
/* f06e7c4: 44809000 */ mtc1 $zero,$f18
/* f06e7c8: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f06e7cc: c426a00c */ lwc1 $f6,%lo(g_Vars+0x4c)($at)
/* f06e7d0: 46128032 */ c.eq.s $f16,$f18
/* f06e7d4: 3c013f80 */ lui $at,0x3f80
/* f06e7d8: 8fb80068 */ lw $t8,0x68($sp)
/* f06e7dc: 46060083 */ div.s $f2,$f0,$f6
/* f06e7e0: 45030006 */ bc1tl .L0f06e7fc
/* f06e7e4: 44814000 */ mtc1 $at,$f8
/* f06e7e8: 46101103 */ div.s $f4,$f2,$f16
/* f06e7ec: 8faf0068 */ lw $t7,0x68($sp)
/* f06e7f0: 10000004 */ b .L0f06e804
/* f06e7f4: e5e40064 */ swc1 $f4,0x64($t7)
/* f06e7f8: 44814000 */ mtc1 $at,$f8
.L0f06e7fc:
/* f06e7fc: 00000000 */ nop
/* f06e800: e7080064 */ swc1 $f8,0x64($t8)
.L0f06e804:
/* f06e804: 8fb90068 */ lw $t9,0x68($sp)
/* f06e808: 3c017f1b */ lui $at,%hi(var7f1aa294)
/* f06e80c: c7200064 */ lwc1 $f0,0x64($t9)
/* f06e810: 4612003c */ c.lt.s $f0,$f18
/* f06e814: 00000000 */ nop
/* f06e818: 45000004 */ bc1f .L0f06e82c
/* f06e81c: 00000000 */ nop
/* f06e820: 46000287 */ neg.s $f10,$f0
/* f06e824: e72a0064 */ swc1 $f10,0x64($t9)
/* f06e828: 46005006 */ mov.s $f0,$f10
.L0f06e82c:
/* f06e82c: c422a294 */ lwc1 $f2,%lo(var7f1aa294)($at)
/* f06e830: 3c017f1b */ lui $at,%hi(var7f1aa298)
/* f06e834: 8fae0068 */ lw $t6,0x68($sp)
/* f06e838: 4602003c */ c.lt.s $f0,$f2
/* f06e83c: 00000000 */ nop
/* f06e840: 45000003 */ bc1f .L0f06e850
/* f06e844: 00000000 */ nop
/* f06e848: 10000008 */ b .L0f06e86c
/* f06e84c: e5c20064 */ swc1 $f2,0x64($t6)
.L0f06e850:
/* f06e850: c422a298 */ lwc1 $f2,%lo(var7f1aa298)($at)
/* f06e854: 8faf0068 */ lw $t7,0x68($sp)
/* f06e858: 4600103c */ c.lt.s $f2,$f0
/* f06e85c: 00000000 */ nop
/* f06e860: 45020003 */ bc1fl .L0f06e870
/* f06e864: 8fbf0014 */ lw $ra,0x14($sp)
/* f06e868: e5e20064 */ swc1 $f2,0x64($t7)
.L0f06e86c:
/* f06e86c: 8fbf0014 */ lw $ra,0x14($sp)
.L0f06e870:
/* f06e870: 27bd01a0 */ addiu $sp,$sp,0x1a0
/* f06e874: 03e00008 */ jr $ra
/* f06e878: 00000000 */ nop
);
#if PAL
GLOBAL_ASM(
glabel func0f06e87c
/* f06e87c: 27bdff98 */ addiu $sp,$sp,-104
/* f06e880: afbf004c */ sw $ra,0x4c($sp)
/* f06e884: afb00048 */ sw $s0,0x48($sp)
/* f06e888: 8c820040 */ lw $v0,0x40($a0)
/* f06e88c: 00808025 */ or $s0,$a0,$zero
/* f06e890: 304e0080 */ andi $t6,$v0,0x80
/* f06e894: 51c00049 */ beqzl $t6,.L0f06e9bc
/* f06e898: 8fbf004c */ lw $ra,0x4c($sp)
/* f06e89c: 8c830048 */ lw $v1,0x48($a0)
/* f06e8a0: 2401ffdf */ addiu $at,$zero,-33
/* f06e8a4: 00417024 */ and $t6,$v0,$at
/* f06e8a8: 8c6f0000 */ lw $t7,0x0($v1)
/* f06e8ac: 24050001 */ addiu $a1,$zero,0x1
/* f06e8b0: 3406ffff */ dli $a2,0xffff
/* f06e8b4: 31f80001 */ andi $t8,$t7,0x1
/* f06e8b8: 5300003d */ beqzl $t8,.L0f06e9b0
/* f06e8bc: ae0e0040 */ sw $t6,0x40($s0)
/* f06e8c0: 8c790090 */ lw $t9,0x90($v1)
/* f06e8c4: 30480020 */ andi $t0,$v0,0x20
/* f06e8c8: 5f200039 */ bgtzl $t9,.L0f06e9b0
/* f06e8cc: ae0e0040 */ sw $t6,0x40($s0)
/* f06e8d0: 11000036 */ beqz $t0,.L0f06e9ac
/* f06e8d4: 3c0a8007 */ lui $t2,%hi(var800699f4)
/* f06e8d8: 254a99f4 */ addiu $t2,$t2,%lo(var800699f4)
/* f06e8dc: 8d410000 */ lw $at,0x0($t2)
/* f06e8e0: 27a90060 */ addiu $t1,$sp,0x60
/* f06e8e4: ad210000 */ sw $at,0x0($t1)
/* f06e8e8: 95410004 */ lhu $at,0x4($t2)
/* f06e8ec: 0c004b70 */ jal random
/* f06e8f0: a5210004 */ sh $at,0x4($t1)
/* f06e8f4: 24010003 */ addiu $at,$zero,0x3
/* f06e8f8: 0041001b */ divu $zero,$v0,$at
/* f06e8fc: 00006810 */ mfhi $t5
/* f06e900: afad005c */ sw $t5,0x5c($sp)
/* f06e904: 8e0e0048 */ lw $t6,0x48($s0)
/* f06e908: 3c18800a */ lui $t8,%hi(g_Vars+0x8)
/* f06e90c: 8f189fc8 */ lw $t8,%lo(g_Vars+0x8)($t8)
/* f06e910: 8dcf009c */ lw $t7,0x9c($t6)
/* f06e914: 24050001 */ addiu $a1,$zero,0x1
/* f06e918: 2719fffa */ addiu $t9,$t8,-5
/* f06e91c: 01f9082a */ slt $at,$t7,$t9
/* f06e920: 10200025 */ beqz $at,.L0f06e9b8
/* f06e924: 3406ffff */ dli $a2,0xffff
/* f06e928: 0fc249af */ jal func0f0926bc
/* f06e92c: 8e040014 */ lw $a0,0x14($s0)
/* f06e930: 0fc5b364 */ jal lvIsPaused
/* f06e934: 00000000 */ nop
/* f06e938: 1440001f */ bnez $v0,.L0f06e9b8
/* f06e93c: 3c01bf80 */ lui $at,0xbf80
/* f06e940: 8fa8005c */ lw $t0,0x5c($sp)
/* f06e944: 8e050014 */ lw $a1,0x14($s0)
/* f06e948: 44810000 */ mtc1 $at,$f0
/* f06e94c: 00085840 */ sll $t3,$t0,0x1
/* f06e950: 03ab3021 */ addu $a2,$sp,$t3
/* f06e954: 84c60060 */ lh $a2,0x60($a2)
/* f06e958: 2409ffff */ addiu $t1,$zero,-1
/* f06e95c: 240affff */ addiu $t2,$zero,-1
/* f06e960: afaa002c */ sw $t2,0x2c($sp)
/* f06e964: afa90010 */ sw $t1,0x10($sp)
/* f06e968: afa00028 */ sw $zero,0x28($sp)
/* f06e96c: afa00020 */ sw $zero,0x20($sp)
/* f06e970: afa0001c */ sw $zero,0x1c($sp)
/* f06e974: afa00018 */ sw $zero,0x18($sp)
/* f06e978: afa00014 */ sw $zero,0x14($sp)
/* f06e97c: 00002025 */ or $a0,$zero,$zero
/* f06e980: 2407ffff */ addiu $a3,$zero,-1
/* f06e984: e7a00038 */ swc1 $f0,0x38($sp)
/* f06e988: e7a00034 */ swc1 $f0,0x34($sp)
/* f06e98c: e7a00030 */ swc1 $f0,0x30($sp)
/* f06e990: 0fc24e7e */ jal func0f0939f8
/* f06e994: e7a00024 */ swc1 $f0,0x24($sp)
/* f06e998: 3c0c800a */ lui $t4,%hi(g_Vars+0x8)
/* f06e99c: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4)
/* f06e9a0: 8e0d0048 */ lw $t5,0x48($s0)
/* f06e9a4: 10000004 */ b .L0f06e9b8
/* f06e9a8: adac009c */ sw $t4,0x9c($t5)
.L0f06e9ac:
/* f06e9ac: ae0e0040 */ sw $t6,0x40($s0)
.L0f06e9b0:
/* f06e9b0: 0fc249af */ jal func0f0926bc
/* f06e9b4: 8e040014 */ lw $a0,0x14($s0)
.L0f06e9b8:
/* f06e9b8: 8fbf004c */ lw $ra,0x4c($sp)
.L0f06e9bc:
/* f06e9bc: 8fb00048 */ lw $s0,0x48($sp)
/* f06e9c0: 27bd0068 */ addiu $sp,$sp,0x68
/* f06e9c4: 03e00008 */ jr $ra
/* f06e9c8: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f06e87c
/* f06e87c: 27bdff98 */ addiu $sp,$sp,-104
/* f06e880: afbf004c */ sw $ra,0x4c($sp)
/* f06e884: afb00048 */ sw $s0,0x48($sp)
/* f06e888: 8c820040 */ lw $v0,0x40($a0)
/* f06e88c: 00808025 */ or $s0,$a0,$zero
/* f06e890: 304e0080 */ andi $t6,$v0,0x80
/* f06e894: 51c00049 */ beqzl $t6,.L0f06e9bc
/* f06e898: 8fbf004c */ lw $ra,0x4c($sp)
/* f06e89c: 8c830048 */ lw $v1,0x48($a0)
/* f06e8a0: 2401ffdf */ addiu $at,$zero,-33
/* f06e8a4: 00417024 */ and $t6,$v0,$at
/* f06e8a8: 8c6f0000 */ lw $t7,0x0($v1)
/* f06e8ac: 24050001 */ addiu $a1,$zero,0x1
/* f06e8b0: 3406ffff */ dli $a2,0xffff
/* f06e8b4: 31f80001 */ andi $t8,$t7,0x1
/* f06e8b8: 5300003d */ beqzl $t8,.L0f06e9b0
/* f06e8bc: ae0e0040 */ sw $t6,0x40($s0)
/* f06e8c0: 8c790090 */ lw $t9,0x90($v1)
/* f06e8c4: 30480020 */ andi $t0,$v0,0x20
/* f06e8c8: 5f200039 */ bgtzl $t9,.L0f06e9b0
/* f06e8cc: ae0e0040 */ sw $t6,0x40($s0)
/* f06e8d0: 11000036 */ beqz $t0,.L0f06e9ac
/* f06e8d4: 3c0a8007 */ lui $t2,%hi(var800699f4)
/* f06e8d8: 254a99f4 */ addiu $t2,$t2,%lo(var800699f4)
/* f06e8dc: 8d410000 */ lw $at,0x0($t2)
/* f06e8e0: 27a90060 */ addiu $t1,$sp,0x60
/* f06e8e4: ad210000 */ sw $at,0x0($t1)
/* f06e8e8: 95410004 */ lhu $at,0x4($t2)
/* f06e8ec: 0c004b70 */ jal random
/* f06e8f0: a5210004 */ sh $at,0x4($t1)
/* f06e8f4: 24010003 */ addiu $at,$zero,0x3
/* f06e8f8: 0041001b */ divu $zero,$v0,$at
/* f06e8fc: 00006810 */ mfhi $t5
/* f06e900: afad005c */ sw $t5,0x5c($sp)
/* f06e904: 8e0e0048 */ lw $t6,0x48($s0)
/* f06e908: 3c18800a */ lui $t8,%hi(g_Vars+0x8)
/* f06e90c: 8f189fc8 */ lw $t8,%lo(g_Vars+0x8)($t8)
/* f06e910: 8dcf009c */ lw $t7,0x9c($t6)
/* f06e914: 24050001 */ addiu $a1,$zero,0x1
/* f06e918: 2719fffa */ addiu $t9,$t8,-6
/* f06e91c: 01f9082a */ slt $at,$t7,$t9
/* f06e920: 10200025 */ beqz $at,.L0f06e9b8
/* f06e924: 3406ffff */ dli $a2,0xffff
/* f06e928: 0fc249af */ jal func0f0926bc
/* f06e92c: 8e040014 */ lw $a0,0x14($s0)
/* f06e930: 0fc5b364 */ jal lvIsPaused
/* f06e934: 00000000 */ nop
/* f06e938: 1440001f */ bnez $v0,.L0f06e9b8
/* f06e93c: 3c01bf80 */ lui $at,0xbf80
/* f06e940: 8fa8005c */ lw $t0,0x5c($sp)
/* f06e944: 8e050014 */ lw $a1,0x14($s0)
/* f06e948: 44810000 */ mtc1 $at,$f0
/* f06e94c: 00085840 */ sll $t3,$t0,0x1
/* f06e950: 03ab3021 */ addu $a2,$sp,$t3
/* f06e954: 84c60060 */ lh $a2,0x60($a2)
/* f06e958: 2409ffff */ addiu $t1,$zero,-1
/* f06e95c: 240affff */ addiu $t2,$zero,-1
/* f06e960: afaa002c */ sw $t2,0x2c($sp)
/* f06e964: afa90010 */ sw $t1,0x10($sp)
/* f06e968: afa00028 */ sw $zero,0x28($sp)
/* f06e96c: afa00020 */ sw $zero,0x20($sp)
/* f06e970: afa0001c */ sw $zero,0x1c($sp)
/* f06e974: afa00018 */ sw $zero,0x18($sp)
/* f06e978: afa00014 */ sw $zero,0x14($sp)
/* f06e97c: 00002025 */ or $a0,$zero,$zero
/* f06e980: 2407ffff */ addiu $a3,$zero,-1
/* f06e984: e7a00038 */ swc1 $f0,0x38($sp)
/* f06e988: e7a00034 */ swc1 $f0,0x34($sp)
/* f06e98c: e7a00030 */ swc1 $f0,0x30($sp)
/* f06e990: 0fc24e7e */ jal func0f0939f8
/* f06e994: e7a00024 */ swc1 $f0,0x24($sp)
/* f06e998: 3c0c800a */ lui $t4,%hi(g_Vars+0x8)
/* f06e99c: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4)
/* f06e9a0: 8e0d0048 */ lw $t5,0x48($s0)
/* f06e9a4: 10000004 */ b .L0f06e9b8
/* f06e9a8: adac009c */ sw $t4,0x9c($t5)
.L0f06e9ac:
/* f06e9ac: ae0e0040 */ sw $t6,0x40($s0)
.L0f06e9b0:
/* f06e9b0: 0fc249af */ jal func0f0926bc
/* f06e9b4: 8e040014 */ lw $a0,0x14($s0)
.L0f06e9b8:
/* f06e9b8: 8fbf004c */ lw $ra,0x4c($sp)
.L0f06e9bc:
/* f06e9bc: 8fb00048 */ lw $s0,0x48($sp)
/* f06e9c0: 27bd0068 */ addiu $sp,$sp,0x68
/* f06e9c4: 03e00008 */ jr $ra
/* f06e9c8: 00000000 */ nop
);
#endif
GLOBAL_ASM(
glabel func0f06e9cc
.late_rodata
glabel var7f1aa29c
.word 0xbfc907a9
glabel var7f1aa2a0
.word 0xbfc907a9
.text
/* f06e9cc: 27bdfed8 */ addiu $sp,$sp,-296
/* f06e9d0: afbf0014 */ sw $ra,0x14($sp)
/* f06e9d4: afa5012c */ sw $a1,0x12c($sp)
/* f06e9d8: c4820000 */ lwc1 $f2,0x0($a0)
/* f06e9dc: c48e0004 */ lwc1 $f14,0x4($a0)
/* f06e9e0: c4800008 */ lwc1 $f0,0x8($a0)
/* f06e9e4: 46021102 */ mul.s $f4,$f2,$f2
/* f06e9e8: afa40128 */ sw $a0,0x128($sp)
/* f06e9ec: 460e7182 */ mul.s $f6,$f14,$f14
/* f06e9f0: 46062200 */ add.s $f8,$f4,$f6
/* f06e9f4: 46000282 */ mul.s $f10,$f0,$f0
/* f06e9f8: 0c012974 */ jal sqrtf
/* f06e9fc: 46085300 */ add.s $f12,$f10,$f8
/* f06ea00: 8fa40128 */ lw $a0,0x128($sp)
/* f06ea04: 44801000 */ mtc1 $zero,$f2
/* f06ea08: c4840000 */ lwc1 $f4,0x0($a0)
/* f06ea0c: c4860004 */ lwc1 $f6,0x4($a0)
/* f06ea10: c48a0008 */ lwc1 $f10,0x8($a0)
/* f06ea14: 46002383 */ div.s $f14,$f4,$f0
/* f06ea18: 46003483 */ div.s $f18,$f6,$f0
/* f06ea1c: 46027032 */ c.eq.s $f14,$f2
/* f06ea20: 00000000 */ nop
/* f06ea24: 4500000c */ bc1f .L0f06ea58
/* f06ea28: 46005403 */ div.s $f16,$f10,$f0
/* f06ea2c: 46028032 */ c.eq.s $f16,$f2
/* f06ea30: 3c013f80 */ lui $at,0x3f80
/* f06ea34: 45000008 */ bc1f .L0f06ea58
/* f06ea38: 00000000 */ nop
/* f06ea3c: 44814000 */ mtc1 $at,$f8
/* f06ea40: e7a20124 */ swc1 $f2,0x124($sp)
/* f06ea44: e7a20120 */ swc1 $f2,0x120($sp)
/* f06ea48: e7b2011c */ swc1 $f18,0x11c($sp)
/* f06ea4c: e7a20114 */ swc1 $f2,0x114($sp)
/* f06ea50: 10000016 */ b .L0f06eaac
/* f06ea54: e7a80118 */ swc1 $f8,0x118($sp)
.L0f06ea58:
/* f06ea58: 460e7102 */ mul.s $f4,$f14,$f14
/* f06ea5c: e7ae010c */ swc1 $f14,0x10c($sp)
/* f06ea60: e7b00104 */ swc1 $f16,0x104($sp)
/* f06ea64: 46108182 */ mul.s $f6,$f16,$f16
/* f06ea68: e7b20108 */ swc1 $f18,0x108($sp)
/* f06ea6c: 0c012974 */ jal sqrtf
/* f06ea70: 46062300 */ add.s $f12,$f4,$f6
/* f06ea74: c7ae010c */ lwc1 $f14,0x10c($sp)
/* f06ea78: c7b00104 */ lwc1 $f16,0x104($sp)
/* f06ea7c: c7b20108 */ lwc1 $f18,0x108($sp)
/* f06ea80: 46007083 */ div.s $f2,$f14,$f0
/* f06ea84: 46000107 */ neg.s $f4,$f0
/* f06ea88: e7a40120 */ swc1 $f4,0x120($sp)
/* f06ea8c: 46008303 */ div.s $f12,$f16,$f0
/* f06ea90: 46029202 */ mul.s $f8,$f18,$f2
/* f06ea94: 46001287 */ neg.s $f10,$f2
/* f06ea98: e7aa0114 */ swc1 $f10,0x114($sp)
/* f06ea9c: e7a80124 */ swc1 $f8,0x124($sp)
/* f06eaa0: 460c9182 */ mul.s $f6,$f18,$f12
/* f06eaa4: e7ac0118 */ swc1 $f12,0x118($sp)
/* f06eaa8: e7a6011c */ swc1 $f6,0x11c($sp)
.L0f06eaac:
/* f06eaac: c7ac0118 */ lwc1 $f12,0x118($sp)
/* f06eab0: 0fc259d4 */ jal atan2f
/* f06eab4: c7ae0114 */ lwc1 $f14,0x114($sp)
/* f06eab8: e7a000f4 */ swc1 $f0,0xf4($sp)
/* f06eabc: 46000307 */ neg.s $f12,$f0
/* f06eac0: 0c0058dd */ jal mtx4LoadYRotation
/* f06eac4: 27a500b0 */ addiu $a1,$sp,0xb0
/* f06eac8: c7aa0124 */ lwc1 $f10,0x124($sp)
/* f06eacc: c7a80120 */ lwc1 $f8,0x120($sp)
/* f06ead0: c7a4011c */ lwc1 $f4,0x11c($sp)
/* f06ead4: 27a400b0 */ addiu $a0,$sp,0xb0
/* f06ead8: 27a50024 */ addiu $a1,$sp,0x24
/* f06eadc: e7aa0024 */ swc1 $f10,0x24($sp)
/* f06eae0: e7a80028 */ swc1 $f8,0x28($sp)
/* f06eae4: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f06eae8: e7a4002c */ swc1 $f4,0x2c($sp)
/* f06eaec: c7ac0024 */ lwc1 $f12,0x24($sp)
/* f06eaf0: 0fc259d4 */ jal atan2f
/* f06eaf4: c7ae0028 */ lwc1 $f14,0x28($sp)
/* f06eaf8: 3c017f1b */ lui $at,%hi(var7f1aa29c)
/* f06eafc: c426a29c */ lwc1 $f6,%lo(var7f1aa29c)($at)
/* f06eb00: c7aa00f4 */ lwc1 $f10,0xf4($sp)
/* f06eb04: e7a000f0 */ swc1 $f0,0xf0($sp)
/* f06eb08: 27a50070 */ addiu $a1,$sp,0x70
/* f06eb0c: 0c0058dd */ jal mtx4LoadYRotation
/* f06eb10: 460a3300 */ add.s $f12,$f6,$f10
/* f06eb14: 3c017f1b */ lui $at,%hi(var7f1aa2a0)
/* f06eb18: c428a2a0 */ lwc1 $f8,%lo(var7f1aa2a0)($at)
/* f06eb1c: c7a400f0 */ lwc1 $f4,0xf0($sp)
/* f06eb20: 27a50030 */ addiu $a1,$sp,0x30
/* f06eb24: 0c0058ba */ jal mtx4LoadXRotation
/* f06eb28: 46044301 */ sub.s $f12,$f8,$f4
/* f06eb2c: 27a40070 */ addiu $a0,$sp,0x70
/* f06eb30: 27a50030 */ addiu $a1,$sp,0x30
/* f06eb34: 0c005680 */ jal mtx4MultMtx4
/* f06eb38: 8fa6012c */ lw $a2,0x12c($sp)
/* f06eb3c: 8fbf0014 */ lw $ra,0x14($sp)
/* f06eb40: 27bd0128 */ addiu $sp,$sp,0x128
/* f06eb44: 03e00008 */ jr $ra
/* f06eb48: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f06eb4c
/* f06eb4c: 27bdff80 */ addiu $sp,$sp,-128
/* f06eb50: afbf0014 */ sw $ra,0x14($sp)
/* f06eb54: afa40080 */ sw $a0,0x80($sp)
/* f06eb58: afa50084 */ sw $a1,0x84($sp)
/* f06eb5c: afa60088 */ sw $a2,0x88($sp)
/* f06eb60: 0fc1a2aa */ jal modelFindBboxRodata
/* f06eb64: 8c840018 */ lw $a0,0x18($a0)
/* f06eb68: 0fc199ef */ jal modelBboxGetYMin
/* f06eb6c: 00402025 */ or $a0,$v0,$zero
/* f06eb70: 8faf0080 */ lw $t7,0x80($sp)
/* f06eb74: 8fa40088 */ lw $a0,0x88($sp)
/* f06eb78: 27a50040 */ addiu $a1,$sp,0x40
/* f06eb7c: 8df80014 */ lw $t8,0x14($t7)
/* f06eb80: e7a0002c */ swc1 $f0,0x2c($sp)
/* f06eb84: 0fc1ba73 */ jal func0f06e9cc
/* f06eb88: afb80028 */ sw $t8,0x28($sp)
/* f06eb8c: 8fb90080 */ lw $t9,0x80($sp)
/* f06eb90: 27a50040 */ addiu $a1,$sp,0x40
/* f06eb94: 8f280018 */ lw $t0,0x18($t9)
/* f06eb98: 0c0057c1 */ jal mtx00015f04
/* f06eb9c: c50c0014 */ lwc1 $f12,0x14($t0)
/* f06eba0: c7a2002c */ lwc1 $f2,0x2c($sp)
/* f06eba4: c7a60050 */ lwc1 $f6,0x50($sp)
/* f06eba8: 8fa20084 */ lw $v0,0x84($sp)
/* f06ebac: c7b20054 */ lwc1 $f18,0x54($sp)
/* f06ebb0: 46023202 */ mul.s $f8,$f6,$f2
/* f06ebb4: c4440000 */ lwc1 $f4,0x0($v0)
/* f06ebb8: 8fa30028 */ lw $v1,0x28($sp)
/* f06ebbc: 46029182 */ mul.s $f6,$f18,$f2
/* f06ebc0: 27a60034 */ addiu $a2,$sp,0x34
/* f06ebc4: 27a70018 */ addiu $a3,$sp,0x18
/* f06ebc8: 24640008 */ addiu $a0,$v1,0x8
/* f06ebcc: 24650028 */ addiu $a1,$v1,0x28
/* f06ebd0: 46082281 */ sub.s $f10,$f4,$f8
/* f06ebd4: e7aa0034 */ swc1 $f10,0x34($sp)
/* f06ebd8: c4500004 */ lwc1 $f16,0x4($v0)
/* f06ebdc: c7aa0058 */ lwc1 $f10,0x58($sp)
/* f06ebe0: 46068101 */ sub.s $f4,$f16,$f6
/* f06ebe4: 46025482 */ mul.s $f18,$f10,$f2
/* f06ebe8: e7a40038 */ swc1 $f4,0x38($sp)
/* f06ebec: c4480008 */ lwc1 $f8,0x8($v0)
/* f06ebf0: 46124401 */ sub.s $f16,$f8,$f18
/* f06ebf4: 0fc1979d */ jal func0f065e74
/* f06ebf8: e7b0003c */ swc1 $f16,0x3c($sp)
/* f06ebfc: 8fa40080 */ lw $a0,0x80($sp)
/* f06ec00: 27a50034 */ addiu $a1,$sp,0x34
/* f06ec04: 27a60040 */ addiu $a2,$sp,0x40
/* f06ec08: 0fc1a960 */ jal func0f06a580
/* f06ec0c: 27a70018 */ addiu $a3,$sp,0x18
/* f06ec10: 8fbf0014 */ lw $ra,0x14($sp)
/* f06ec14: 27bd0080 */ addiu $sp,$sp,0x80
/* f06ec18: 03e00008 */ jr $ra
/* f06ec1c: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f06ec20
/* f06ec20: 27bdff68 */ addiu $sp,$sp,-152
/* f06ec24: afb00018 */ sw $s0,0x18($sp)
/* f06ec28: 00808025 */ or $s0,$a0,$zero
/* f06ec2c: afbf001c */ sw $ra,0x1c($sp)
/* f06ec30: afa5009c */ sw $a1,0x9c($sp)
/* f06ec34: 0fc1a2aa */ jal modelFindBboxRodata
/* f06ec38: 8c840018 */ lw $a0,0x18($a0)
/* f06ec3c: 8e0e0014 */ lw $t6,0x14($s0)
/* f06ec40: 240f000d */ addiu $t7,$zero,0xd
/* f06ec44: 00402025 */ or $a0,$v0,$zero
/* f06ec48: afae003c */ sw $t6,0x3c($sp)
/* f06ec4c: 0fc199f5 */ jal modelBboxGetZMax
/* f06ec50: a60f0062 */ sh $t7,0x62($s0)
/* f06ec54: 0c004b70 */ jal random
/* f06ec58: e7a00040 */ swc1 $f0,0x40($sp)
/* f06ec5c: 44822000 */ mtc1 $v0,$f4
/* f06ec60: c7a20040 */ lwc1 $f2,0x40($sp)
/* f06ec64: 04410005 */ bgez $v0,.L0f06ec7c
/* f06ec68: 468021a0 */ cvt.s.w $f6,$f4
/* f06ec6c: 3c014f80 */ lui $at,0x4f80
/* f06ec70: 44814000 */ mtc1 $at,$f8
/* f06ec74: 00000000 */ nop
/* f06ec78: 46083180 */ add.s $f6,$f6,$f8
.L0f06ec7c:
/* f06ec7c: 3c012f80 */ lui $at,0x2f80
/* f06ec80: 44815000 */ mtc1 $at,$f10
/* f06ec84: 3c0141c8 */ lui $at,0x41c8
/* f06ec88: 44818000 */ mtc1 $at,$f16
/* f06ec8c: 460a3002 */ mul.s $f0,$f6,$f10
/* f06ec90: 2604001c */ addiu $a0,$s0,0x1c
/* f06ec94: 27a50058 */ addiu $a1,$sp,0x58
/* f06ec98: 46000480 */ add.s $f18,$f0,$f0
/* f06ec9c: 46128100 */ add.s $f4,$f16,$f18
/* f06eca0: 46041081 */ sub.s $f2,$f2,$f4
/* f06eca4: 0c005755 */ jal mtx3ToMtx4
/* f06eca8: e7a20040 */ swc1 $f2,0x40($sp)
/* f06ecac: c7a20040 */ lwc1 $f2,0x40($sp)
/* f06ecb0: c7a60078 */ lwc1 $f6,0x78($sp)
/* f06ecb4: 8fa2009c */ lw $v0,0x9c($sp)
/* f06ecb8: c7a4007c */ lwc1 $f4,0x7c($sp)
/* f06ecbc: 46023282 */ mul.s $f10,$f6,$f2
/* f06ecc0: c4480000 */ lwc1 $f8,0x0($v0)
/* f06ecc4: 8fa3003c */ lw $v1,0x3c($sp)
/* f06ecc8: 46022182 */ mul.s $f6,$f4,$f2
/* f06eccc: 27a6004c */ addiu $a2,$sp,0x4c
/* f06ecd0: 24640008 */ addiu $a0,$v1,0x8
/* f06ecd4: 27a7002c */ addiu $a3,$sp,0x2c
/* f06ecd8: 24650028 */ addiu $a1,$v1,0x28
/* f06ecdc: 460a4401 */ sub.s $f16,$f8,$f10
/* f06ece0: e7b0004c */ swc1 $f16,0x4c($sp)
/* f06ece4: c4520004 */ lwc1 $f18,0x4($v0)
/* f06ece8: c7b00080 */ lwc1 $f16,0x80($sp)
/* f06ecec: 46069201 */ sub.s $f8,$f18,$f6
/* f06ecf0: 46028102 */ mul.s $f4,$f16,$f2
/* f06ecf4: e7a80050 */ swc1 $f8,0x50($sp)
/* f06ecf8: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06ecfc: afa40024 */ sw $a0,0x24($sp)
/* f06ed00: 46045481 */ sub.s $f18,$f10,$f4
/* f06ed04: 0fc19776 */ jal func0f065dd8
/* f06ed08: e7b20054 */ swc1 $f18,0x54($sp)
/* f06ed0c: 02002025 */ or $a0,$s0,$zero
/* f06ed10: 27a5004c */ addiu $a1,$sp,0x4c
/* f06ed14: 27a60058 */ addiu $a2,$sp,0x58
/* f06ed18: 0fc1a960 */ jal func0f06a580
/* f06ed1c: 27a7002c */ addiu $a3,$sp,0x2c
/* f06ed20: 0fc2bb15 */ jal func0f0aec54
/* f06ed24: 8fa4003c */ lw $a0,0x3c($sp)
/* f06ed28: 2401ffff */ addiu $at,$zero,-1
/* f06ed2c: 10410008 */ beq $v0,$at,.L0f06ed50
/* f06ed30: 00408025 */ or $s0,$v0,$zero
/* f06ed34: 00402025 */ or $a0,$v0,$zero
/* f06ed38: 0fc2bb5c */ jal func0f0aed70
/* f06ed3c: 8fa50024 */ lw $a1,0x24($sp)
/* f06ed40: 3c054503 */ lui $a1,0x4503
/* f06ed44: 34a54000 */ ori $a1,$a1,0x4000
/* f06ed48: 0fc2bbaa */ jal func0f0aeea8
/* f06ed4c: 02002025 */ or $a0,$s0,$zero
.L0f06ed50:
/* f06ed50: 8fbf001c */ lw $ra,0x1c($sp)
/* f06ed54: 8fb00018 */ lw $s0,0x18($sp)
/* f06ed58: 27bd0098 */ addiu $sp,$sp,0x98
/* f06ed5c: 03e00008 */ jr $ra
/* f06ed60: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f06ed64
.late_rodata
glabel var7f1aa2a4
.word 0x3f4ccccd
glabel var7f1aa2a8
.word 0x3ecccccd
glabel var7f1aa2ac
.word 0x3f4ccccd
glabel var7f1aa2b0
.word 0x3ecccccd
glabel var7f1aa2b4
.word 0x3f4ccccd
glabel var7f1aa2b8
.word 0x3ecccccd
glabel var7f1aa2bc
.word 0xbfc907a9
.text
/* f06ed64: 27bdfef0 */ addiu $sp,$sp,-272
/* f06ed68: afbf0014 */ sw $ra,0x14($sp)
/* f06ed6c: afa40110 */ sw $a0,0x110($sp)
/* f06ed70: afa50114 */ sw $a1,0x114($sp)
/* f06ed74: afa60118 */ sw $a2,0x118($sp)
/* f06ed78: 0fc1a2aa */ jal modelFindBboxRodata
/* f06ed7c: 8c840018 */ lw $a0,0x18($a0)
/* f06ed80: 8faf0110 */ lw $t7,0x110($sp)
/* f06ed84: 00402025 */ or $a0,$v0,$zero
/* f06ed88: 8df80014 */ lw $t8,0x14($t7)
/* f06ed8c: 0fc199f3 */ jal func0f0667cc
/* f06ed90: afb80038 */ sw $t8,0x38($sp)
/* f06ed94: 0c004b70 */ jal random
/* f06ed98: 00000000 */ nop
/* f06ed9c: 0c004b70 */ jal random
/* f06eda0: 00000000 */ nop
/* f06eda4: 44822000 */ mtc1 $v0,$f4
/* f06eda8: 04410005 */ bgez $v0,.L0f06edc0
/* f06edac: 468021a0 */ cvt.s.w $f6,$f4
/* f06edb0: 3c014f80 */ lui $at,0x4f80
/* f06edb4: 44814000 */ mtc1 $at,$f8
/* f06edb8: 00000000 */ nop
/* f06edbc: 46083180 */ add.s $f6,$f6,$f8
.L0f06edc0:
/* f06edc0: 3c012f80 */ lui $at,0x2f80
/* f06edc4: 44815000 */ mtc1 $at,$f10
/* f06edc8: 3c017f1b */ lui $at,%hi(var7f1aa2a4)
/* f06edcc: c432a2a4 */ lwc1 $f18,%lo(var7f1aa2a4)($at)
/* f06edd0: 460a3402 */ mul.s $f16,$f6,$f10
/* f06edd4: 8fb90118 */ lw $t9,0x118($sp)
/* f06edd8: 3c017f1b */ lui $at,%hi(var7f1aa2a8)
/* f06eddc: c42aa2a8 */ lwc1 $f10,%lo(var7f1aa2a8)($at)
/* f06ede0: c7280000 */ lwc1 $f8,0x0($t9)
/* f06ede4: 46128102 */ mul.s $f4,$f16,$f18
/* f06ede8: 46082180 */ add.s $f6,$f4,$f8
/* f06edec: 460a3401 */ sub.s $f16,$f6,$f10
/* f06edf0: 0c004b70 */ jal random
/* f06edf4: e7b0001c */ swc1 $f16,0x1c($sp)
/* f06edf8: 44829000 */ mtc1 $v0,$f18
/* f06edfc: 3c014f80 */ lui $at,0x4f80
/* f06ee00: 04410004 */ bgez $v0,.L0f06ee14
/* f06ee04: 46809120 */ cvt.s.w $f4,$f18
/* f06ee08: 44814000 */ mtc1 $at,$f8
/* f06ee0c: 00000000 */ nop
/* f06ee10: 46082100 */ add.s $f4,$f4,$f8
.L0f06ee14:
/* f06ee14: 3c012f80 */ lui $at,0x2f80
/* f06ee18: 44813000 */ mtc1 $at,$f6
/* f06ee1c: 3c017f1b */ lui $at,%hi(var7f1aa2ac)
/* f06ee20: c430a2ac */ lwc1 $f16,%lo(var7f1aa2ac)($at)
/* f06ee24: 46062282 */ mul.s $f10,$f4,$f6
/* f06ee28: 8fa80118 */ lw $t0,0x118($sp)
/* f06ee2c: 3c017f1b */ lui $at,%hi(var7f1aa2b0)
/* f06ee30: c426a2b0 */ lwc1 $f6,%lo(var7f1aa2b0)($at)
/* f06ee34: c5080004 */ lwc1 $f8,0x4($t0)
/* f06ee38: 46105482 */ mul.s $f18,$f10,$f16
/* f06ee3c: 46089100 */ add.s $f4,$f18,$f8
/* f06ee40: 46062281 */ sub.s $f10,$f4,$f6
/* f06ee44: 0c004b70 */ jal random
/* f06ee48: e7aa0020 */ swc1 $f10,0x20($sp)
/* f06ee4c: 44828000 */ mtc1 $v0,$f16
/* f06ee50: 3c014f80 */ lui $at,0x4f80
/* f06ee54: 04410004 */ bgez $v0,.L0f06ee68
/* f06ee58: 468084a0 */ cvt.s.w $f18,$f16
/* f06ee5c: 44814000 */ mtc1 $at,$f8
/* f06ee60: 00000000 */ nop
/* f06ee64: 46089480 */ add.s $f18,$f18,$f8
.L0f06ee68:
/* f06ee68: 3c012f80 */ lui $at,0x2f80
/* f06ee6c: 44812000 */ mtc1 $at,$f4
/* f06ee70: 3c017f1b */ lui $at,%hi(var7f1aa2b4)
/* f06ee74: c42aa2b4 */ lwc1 $f10,%lo(var7f1aa2b4)($at)
/* f06ee78: 46049182 */ mul.s $f6,$f18,$f4
/* f06ee7c: 8fa90118 */ lw $t1,0x118($sp)
/* f06ee80: 3c017f1b */ lui $at,%hi(var7f1aa2b8)
/* f06ee84: c424a2b8 */ lwc1 $f4,%lo(var7f1aa2b8)($at)
/* f06ee88: c5280008 */ lwc1 $f8,0x8($t1)
/* f06ee8c: 27a4001c */ addiu $a0,$sp,0x1c
/* f06ee90: 27a50090 */ addiu $a1,$sp,0x90
/* f06ee94: 460a3402 */ mul.s $f16,$f6,$f10
/* f06ee98: 46088480 */ add.s $f18,$f16,$f8
/* f06ee9c: 46049181 */ sub.s $f6,$f18,$f4
/* f06eea0: 0fc1ba73 */ jal func0f06e9cc
/* f06eea4: e7a60024 */ swc1 $f6,0x24($sp)
/* f06eea8: 3c017f1b */ lui $at,%hi(var7f1aa2bc)
/* f06eeac: c42ca2bc */ lwc1 $f12,%lo(var7f1aa2bc)($at)
/* f06eeb0: 0c0058ba */ jal mtx4LoadXRotation
/* f06eeb4: 27a50050 */ addiu $a1,$sp,0x50
/* f06eeb8: 27a40090 */ addiu $a0,$sp,0x90
/* f06eebc: 27a50050 */ addiu $a1,$sp,0x50
/* f06eec0: 0c005680 */ jal mtx4MultMtx4
/* f06eec4: 27a600d0 */ addiu $a2,$sp,0xd0
/* f06eec8: 8faa0110 */ lw $t2,0x110($sp)
/* f06eecc: 27a500d0 */ addiu $a1,$sp,0xd0
/* f06eed0: 8d4b0018 */ lw $t3,0x18($t2)
/* f06eed4: 0c0057c1 */ jal mtx00015f04
/* f06eed8: c56c0014 */ lwc1 $f12,0x14($t3)
/* f06eedc: 8fa20114 */ lw $v0,0x114($sp)
/* f06eee0: 44800000 */ mtc1 $zero,$f0
/* f06eee4: 8fa30038 */ lw $v1,0x38($sp)
/* f06eee8: c44a0000 */ lwc1 $f10,0x0($v0)
/* f06eeec: 27a60044 */ addiu $a2,$sp,0x44
/* f06eef0: 27a70028 */ addiu $a3,$sp,0x28
/* f06eef4: 46005401 */ sub.s $f16,$f10,$f0
/* f06eef8: 24640008 */ addiu $a0,$v1,0x8
/* f06eefc: 24650028 */ addiu $a1,$v1,0x28
/* f06ef00: e7b00044 */ swc1 $f16,0x44($sp)
/* f06ef04: c4480004 */ lwc1 $f8,0x4($v0)
/* f06ef08: 46004481 */ sub.s $f18,$f8,$f0
/* f06ef0c: e7b20048 */ swc1 $f18,0x48($sp)
/* f06ef10: c4440008 */ lwc1 $f4,0x8($v0)
/* f06ef14: 46002181 */ sub.s $f6,$f4,$f0
/* f06ef18: 0fc1979d */ jal func0f065e74
/* f06ef1c: e7a6004c */ swc1 $f6,0x4c($sp)
/* f06ef20: 8fa40110 */ lw $a0,0x110($sp)
/* f06ef24: 27a50044 */ addiu $a1,$sp,0x44
/* f06ef28: 27a600d0 */ addiu $a2,$sp,0xd0
/* f06ef2c: 0fc1a960 */ jal func0f06a580
/* f06ef30: 27a70028 */ addiu $a3,$sp,0x28
/* f06ef34: 8fbf0014 */ lw $ra,0x14($sp)
/* f06ef38: 27bd0110 */ addiu $sp,$sp,0x110
/* f06ef3c: 03e00008 */ jr $ra
/* f06ef40: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f06ef44
/* f06ef44: 27bdfe88 */ addiu $sp,$sp,-376
/* f06ef48: afbf001c */ sw $ra,0x1c($sp)
/* f06ef4c: afb10018 */ sw $s1,0x18($sp)
/* f06ef50: afb00014 */ sw $s0,0x14($sp)
/* f06ef54: afa5017c */ sw $a1,0x17c($sp)
/* f06ef58: afa60180 */ sw $a2,0x180($sp)
/* f06ef5c: afa70184 */ sw $a3,0x184($sp)
/* f06ef60: 90af0001 */ lbu $t7,0x1($a1)
/* f06ef64: 00808825 */ or $s1,$a0,$zero
/* f06ef68: 31f80002 */ andi $t8,$t7,0x2
/* f06ef6c: 53000047 */ beqzl $t8,.L0f06f08c
/* f06ef70: 00001025 */ or $v0,$zero,$zero
/* f06ef74: 0fc1a1bc */ jal monitorthingGetNew
/* f06ef78: 8c900004 */ lw $s0,0x4($a0)
/* f06ef7c: 10400042 */ beqz $v0,.L0f06f088
/* f06ef80: ae020048 */ sw $v0,0x48($s0)
/* f06ef84: 8fa40180 */ lw $a0,0x180($sp)
/* f06ef88: 8fa50184 */ lw $a1,0x184($sp)
/* f06ef8c: 0c006973 */ jal model0001a5cc
/* f06ef90: 00003025 */ or $a2,$zero,$zero
/* f06ef94: afa20024 */ sw $v0,0x24($sp)
/* f06ef98: 8e190040 */ lw $t9,0x40($s0)
/* f06ef9c: 02202025 */ or $a0,$s1,$zero
/* f06efa0: 37280040 */ ori $t0,$t9,0x40
/* f06efa4: 0fc19711 */ jal propDeregisterRooms
/* f06efa8: ae080040 */ sw $t0,0x40($s0)
/* f06efac: 0fc18171 */ jal propDelist
/* f06efb0: 02202025 */ or $a0,$s1,$zero
/* f06efb4: 0fc180c0 */ jal propDisable
/* f06efb8: 02202025 */ or $a0,$s1,$zero
/* f06efbc: 8fa90180 */ lw $t1,0x180($sp)
/* f06efc0: 8e0a0018 */ lw $t2,0x18($s0)
/* f06efc4: 02202025 */ or $a0,$s1,$zero
/* f06efc8: ad490018 */ sw $t1,0x18($t2)
/* f06efcc: 8e0c0018 */ lw $t4,0x18($s0)
/* f06efd0: 8fab0184 */ lw $t3,0x184($sp)
/* f06efd4: ad8b001c */ sw $t3,0x1c($t4)
/* f06efd8: 0fc181a6 */ jal propReparent
/* f06efdc: 8fa5017c */ lw $a1,0x17c($sp)
/* f06efe0: 8e040018 */ lw $a0,0x18($s0)
/* f06efe4: 0c006b43 */ jal modelGetRootPosition
/* f06efe8: 27a50028 */ addiu $a1,$sp,0x28
/* f06efec: c7a40028 */ lwc1 $f4,0x28($sp)
/* f06eff0: c7a8002c */ lwc1 $f8,0x2c($sp)
/* f06eff4: c7b00030 */ lwc1 $f16,0x30($sp)
/* f06eff8: 46002187 */ neg.s $f6,$f4
/* f06effc: 46004287 */ neg.s $f10,$f8
/* f06f000: 46008487 */ neg.s $f18,$f16
/* f06f004: e7a60028 */ swc1 $f6,0x28($sp)
/* f06f008: e7aa002c */ swc1 $f10,0x2c($sp)
/* f06f00c: e7b20030 */ swc1 $f18,0x30($sp)
/* f06f010: 27a40028 */ addiu $a0,$sp,0x28
/* f06f014: 0c0059b7 */ jal mtx4LoadTranslation
/* f06f018: 27a50074 */ addiu $a1,$sp,0x74
/* f06f01c: 2604001c */ addiu $a0,$s0,0x1c
/* f06f020: 0c005755 */ jal mtx3ToMtx4
/* f06f024: 27a50034 */ addiu $a1,$sp,0x34
/* f06f028: 26240008 */ addiu $a0,$s1,0x8
/* f06f02c: 0c005775 */ jal mtx4SetTranslation
/* f06f030: 27a50034 */ addiu $a1,$sp,0x34
/* f06f034: 27b10134 */ addiu $s1,$sp,0x134
/* f06f038: 02203025 */ or $a2,$s1,$zero
/* f06f03c: 27a40034 */ addiu $a0,$sp,0x34
/* f06f040: 0c0056f9 */ jal mtx00015be4
/* f06f044: 27a50074 */ addiu $a1,$sp,0x74
/* f06f048: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f06f04c: 00000000 */ nop
/* f06f050: 00402025 */ or $a0,$v0,$zero
/* f06f054: 8fa50024 */ lw $a1,0x24($sp)
/* f06f058: 0c0056f9 */ jal mtx00015be4
/* f06f05c: 27a600f4 */ addiu $a2,$sp,0xf4
/* f06f060: 27a400f4 */ addiu $a0,$sp,0xf4
/* f06f064: 0c005cbc */ jal mtx000172f0
/* f06f068: 27a500b4 */ addiu $a1,$sp,0xb4
/* f06f06c: 8e060048 */ lw $a2,0x48($s0)
/* f06f070: 27a400b4 */ addiu $a0,$sp,0xb4
/* f06f074: 02202825 */ or $a1,$s1,$zero
/* f06f078: 0c0056f9 */ jal mtx00015be4
/* f06f07c: 24c60004 */ addiu $a2,$a2,0x4
/* f06f080: 10000002 */ b .L0f06f08c
/* f06f084: 24020001 */ addiu $v0,$zero,0x1
.L0f06f088:
/* f06f088: 00001025 */ or $v0,$zero,$zero
.L0f06f08c:
/* f06f08c: 8fbf001c */ lw $ra,0x1c($sp)
/* f06f090: 8fb00014 */ lw $s0,0x14($sp)
/* f06f094: 8fb10018 */ lw $s1,0x18($sp)
/* f06f098: 03e00008 */ jr $ra
/* f06f09c: 27bd0178 */ addiu $sp,$sp,0x178
);
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f06f0a0
/* f06f0a0: 27bdffd8 */ addiu $sp,$sp,-40
/* f06f0a4: afbf001c */ sw $ra,0x1c($sp)
/* f06f0a8: afb00018 */ sw $s0,0x18($sp)
/* f06f0ac: afa40028 */ sw $a0,0x28($sp)
/* f06f0b0: afa5002c */ sw $a1,0x2c($sp)
/* f06f0b4: afa60030 */ sw $a2,0x30($sp)
/* f06f0b8: afa70034 */ sw $a3,0x34($sp)
/* f06f0bc: 8c900004 */ lw $s0,0x4($a0)
/* f06f0c0: afa00020 */ sw $zero,0x20($sp)
/* f06f0c4: 8e030040 */ lw $v1,0x40($s0)
/* f06f0c8: 306f0080 */ andi $t7,$v1,0x80
/* f06f0cc: 51e00008 */ beqzl $t7,.L0f06f0f0
/* f06f0d0: 92020003 */ lbu $v0,0x3($s0)
/* f06f0d4: 8e180048 */ lw $t8,0x48($s0)
/* f06f0d8: 02002025 */ or $a0,$s0,$zero
/* f06f0dc: 8f190088 */ lw $t9,0x88($t8)
/* f06f0e0: 0fc1ab10 */ jal objEndFlight
/* f06f0e4: afb90020 */ sw $t9,0x20($sp)
/* f06f0e8: 8e030040 */ lw $v1,0x40($s0)
/* f06f0ec: 92020003 */ lbu $v0,0x3($s0)
.L0f06f0f0:
/* f06f0f0: 3c050002 */ lui $a1,0x2
/* f06f0f4: 24070008 */ addiu $a3,$zero,0x8
/* f06f0f8: 00654025 */ or $t0,$v1,$a1
/* f06f0fc: 14e20030 */ bne $a3,$v0,.L0f06f1c0
/* f06f100: ae080040 */ sw $t0,0x40($s0)
/* f06f104: 9204005c */ lbu $a0,0x5c($s0)
/* f06f108: 24010035 */ addiu $at,$zero,0x35
/* f06f10c: 10810007 */ beq $a0,$at,.L0f06f12c
/* f06f110: 2401003d */ addiu $at,$zero,0x3d
/* f06f114: 10810005 */ beq $a0,$at,.L0f06f12c
/* f06f118: 2401003e */ addiu $at,$zero,0x3e
/* f06f11c: 10810003 */ beq $a0,$at,.L0f06f12c
/* f06f120: 2401003f */ addiu $at,$zero,0x3f
/* f06f124: 5481000c */ bnel $a0,$at,.L0f06f158
/* f06f128: 8fa50028 */ lw $a1,0x28($sp)
.L0f06f12c:
/* f06f12c: 8e090008 */ lw $t1,0x8($s0)
/* f06f130: 8e0d000c */ lw $t5,0xc($s0)
/* f06f134: 3c010040 */ lui $at,0x40
/* f06f138: 01255025 */ or $t2,$t1,$a1
/* f06f13c: ae0a0008 */ sw $t2,0x8($s0)
/* f06f140: 01416025 */ or $t4,$t2,$at
/* f06f144: 35ae4000 */ ori $t6,$t5,0x4000
/* f06f148: ae0c0008 */ sw $t4,0x8($s0)
/* f06f14c: ae0e000c */ sw $t6,0xc($s0)
/* f06f150: 9204005c */ lbu $a0,0x5c($s0)
/* f06f154: 8fa50028 */ lw $a1,0x28($sp)
.L0f06f158:
/* f06f158: 0fc257f6 */ jal objectiveCheckMultiroomEntered
/* f06f15c: 24a50028 */ addiu $a1,$a1,0x28
/* f06f160: 9204005c */ lbu $a0,0x5c($s0)
/* f06f164: 24010056 */ addiu $at,$zero,0x56
/* f06f168: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f16c: 54810006 */ bnel $a0,$at,.L0f06f188
/* f06f170: 2401001a */ addiu $at,$zero,0x1a
/* f06f174: 0fc1bb08 */ jal func0f06ec20
/* f06f178: 02002025 */ or $a0,$s0,$zero
/* f06f17c: 1000000e */ b .L0f06f1b8
/* f06f180: 92020003 */ lbu $v0,0x3($s0)
/* f06f184: 2401001a */ addiu $at,$zero,0x1a
.L0f06f188:
/* f06f188: 14810007 */ bne $a0,$at,.L0f06f1a8
/* f06f18c: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f190: 02002025 */ or $a0,$s0,$zero
/* f06f194: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f198: 0fc1bb59 */ jal func0f06ed64
/* f06f19c: 8fa60030 */ lw $a2,0x30($sp)
/* f06f1a0: 10000005 */ b .L0f06f1b8
/* f06f1a4: 92020003 */ lbu $v0,0x3($s0)
.L0f06f1a8:
/* f06f1a8: 02002025 */ or $a0,$s0,$zero
/* f06f1ac: 0fc1bad3 */ jal func0f06eb4c
/* f06f1b0: 8fa60030 */ lw $a2,0x30($sp)
/* f06f1b4: 92020003 */ lbu $v0,0x3($s0)
.L0f06f1b8:
/* f06f1b8: 1000001e */ b .L0f06f234
/* f06f1bc: 24070008 */ addiu $a3,$zero,0x8
.L0f06f1c0:
/* f06f1c0: 2401000d */ addiu $at,$zero,0xd
/* f06f1c4: 1441001b */ bne $v0,$at,.L0f06f234
/* f06f1c8: 02002025 */ or $a0,$s0,$zero
/* f06f1cc: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f1d0: 0fc1bad3 */ jal func0f06eb4c
/* f06f1d4: 8fa60030 */ lw $a2,0x30($sp)
/* f06f1d8: 8fa20030 */ lw $v0,0x30($sp)
/* f06f1dc: c44c0000 */ lwc1 $f12,0x0($v0)
/* f06f1e0: 0fc259d4 */ jal atan2f
/* f06f1e4: c44e0008 */ lwc1 $f14,0x8($v0)
/* f06f1e8: e6000060 */ swc1 $f0,0x60($s0)
/* f06f1ec: 8faf0030 */ lw $t7,0x30($sp)
/* f06f1f0: c5ee0008 */ lwc1 $f14,0x8($t7)
/* f06f1f4: c5e20000 */ lwc1 $f2,0x0($t7)
/* f06f1f8: 460e7102 */ mul.s $f4,$f14,$f14
/* f06f1fc: 00000000 */ nop
/* f06f200: 46021182 */ mul.s $f6,$f2,$f2
/* f06f204: 0c012974 */ jal sqrtf
/* f06f208: 46062300 */ add.s $f12,$f4,$f6
/* f06f20c: 8fb80030 */ lw $t8,0x30($sp)
/* f06f210: 46000386 */ mov.s $f14,$f0
/* f06f214: 0fc259d4 */ jal atan2f
/* f06f218: c70c0004 */ lwc1 $f12,0x4($t8)
/* f06f21c: c6080060 */ lwc1 $f8,0x60($s0)
/* f06f220: e6000074 */ swc1 $f0,0x74($s0)
/* f06f224: e6000078 */ swc1 $f0,0x78($s0)
/* f06f228: 92020003 */ lbu $v0,0x3($s0)
/* f06f22c: 24070008 */ addiu $a3,$zero,0x8
/* f06f230: e608006c */ swc1 $f8,0x6c($s0)
.L0f06f234:
/* f06f234: 3c058007 */ lui $a1,%hi(var80069930)
/* f06f238: 8ca59930 */ lw $a1,%lo(var80069930)($a1)
/* f06f23c: 10a00029 */ beqz $a1,.L0f06f2e4
/* f06f240: 00000000 */ nop
/* f06f244: 14e20012 */ bne $a3,$v0,.L0f06f290
/* f06f248: 2604005c */ addiu $a0,$s0,0x5c
/* f06f24c: 0fc29f66 */ jal bgunPlayPropHitSound
/* f06f250: 2406ffff */ addiu $a2,$zero,-1
/* f06f254: 9219005c */ lbu $t9,0x5c($s0)
/* f06f258: 2401001a */ addiu $at,$zero,0x1a
/* f06f25c: 3c038007 */ lui $v1,%hi(var80069930)
/* f06f260: 1721000b */ bne $t9,$at,.L0f06f290
/* f06f264: 00000000 */ nop
/* f06f268: 8c639930 */ lw $v1,%lo(var80069930)($v1)
/* f06f26c: 24010003 */ addiu $at,$zero,0x3
/* f06f270: 8fa50020 */ lw $a1,0x20($sp)
/* f06f274: 90620000 */ lbu $v0,0x0($v1)
/* f06f278: 10410003 */ beq $v0,$at,.L0f06f288
/* f06f27c: 24010006 */ addiu $at,$zero,0x6
/* f06f280: 14410003 */ bne $v0,$at,.L0f06f290
/* f06f284: 00000000 */ nop
.L0f06f288:
/* f06f288: 0fc08b32 */ jal chrSetPoisoned
/* f06f28c: 8c640004 */ lw $a0,0x4($v1)
.L0f06f290:
/* f06f290: 3c058007 */ lui $a1,%hi(var80069930)
/* f06f294: 8ca59930 */ lw $a1,%lo(var80069930)($a1)
/* f06f298: 8fa40028 */ lw $a0,0x28($sp)
/* f06f29c: 3c06800a */ lui $a2,%hi(var8009ce70)
/* f06f2a0: 90a80001 */ lbu $t0,0x1($a1)
/* f06f2a4: 3c07800a */ lui $a3,%hi(var8009ce74)
/* f06f2a8: 31090002 */ andi $t1,$t0,0x2
/* f06f2ac: 5120000a */ beqzl $t1,.L0f06f2d8
/* f06f2b0: 8e0c0040 */ lw $t4,0x40($s0)
/* f06f2b4: 8cc6ce70 */ lw $a2,%lo(var8009ce70)($a2)
/* f06f2b8: 0fc1bbd1 */ jal func0f06ef44
/* f06f2bc: 8ce7ce74 */ lw $a3,%lo(var8009ce74)($a3)
/* f06f2c0: 1040000f */ beqz $v0,.L0f06f300
/* f06f2c4: 8fab0034 */ lw $t3,0x34($sp)
/* f06f2c8: 240a0001 */ addiu $t2,$zero,0x1
/* f06f2cc: 1000000c */ b .L0f06f300
/* f06f2d0: ad6a0000 */ sw $t2,0x0($t3)
/* f06f2d4: 8e0c0040 */ lw $t4,0x40($s0)
.L0f06f2d8:
/* f06f2d8: 358d0004 */ ori $t5,$t4,0x4
/* f06f2dc: 10000008 */ b .L0f06f300
/* f06f2e0: ae0d0040 */ sw $t5,0x40($s0)
.L0f06f2e4:
/* f06f2e4: 14e20006 */ bne $a3,$v0,.L0f06f300
/* f06f2e8: 2604005c */ addiu $a0,$s0,0x5c
/* f06f2ec: 8fa70028 */ lw $a3,0x28($sp)
/* f06f2f0: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f2f4: 2406ffff */ addiu $a2,$zero,-1
/* f06f2f8: 0fc2a132 */ jal bgunPlayBgHitSound
/* f06f2fc: 24e70028 */ addiu $a3,$a3,40
.L0f06f300:
/* f06f300: 8fbf001c */ lw $ra,0x1c($sp)
/* f06f304: 8fb00018 */ lw $s0,0x18($sp)
/* f06f308: 27bd0028 */ addiu $sp,$sp,0x28
/* f06f30c: 03e00008 */ jr $ra
/* f06f310: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f06f0a0
/* f06f0a0: 27bdffd8 */ addiu $sp,$sp,-40
/* f06f0a4: afbf001c */ sw $ra,0x1c($sp)
/* f06f0a8: afb00018 */ sw $s0,0x18($sp)
/* f06f0ac: afa40028 */ sw $a0,0x28($sp)
/* f06f0b0: afa5002c */ sw $a1,0x2c($sp)
/* f06f0b4: afa60030 */ sw $a2,0x30($sp)
/* f06f0b8: afa70034 */ sw $a3,0x34($sp)
/* f06f0bc: 8c900004 */ lw $s0,0x4($a0)
/* f06f0c0: afa00020 */ sw $zero,0x20($sp)
/* f06f0c4: 8e030040 */ lw $v1,0x40($s0)
/* f06f0c8: 306f0080 */ andi $t7,$v1,0x80
/* f06f0cc: 51e00008 */ beqzl $t7,.L0f06f0f0
/* f06f0d0: 92020003 */ lbu $v0,0x3($s0)
/* f06f0d4: 8e180048 */ lw $t8,0x48($s0)
/* f06f0d8: 02002025 */ or $a0,$s0,$zero
/* f06f0dc: 8f190088 */ lw $t9,0x88($t8)
/* f06f0e0: 0fc1ab10 */ jal objEndFlight
/* f06f0e4: afb90020 */ sw $t9,0x20($sp)
/* f06f0e8: 8e030040 */ lw $v1,0x40($s0)
/* f06f0ec: 92020003 */ lbu $v0,0x3($s0)
.L0f06f0f0:
/* f06f0f0: 3c050002 */ lui $a1,0x2
/* f06f0f4: 24070008 */ addiu $a3,$zero,0x8
/* f06f0f8: 00654025 */ or $t0,$v1,$a1
/* f06f0fc: 14e20030 */ bne $a3,$v0,.L0f06f1c0
/* f06f100: ae080040 */ sw $t0,0x40($s0)
/* f06f104: 9204005c */ lbu $a0,0x5c($s0)
/* f06f108: 24010035 */ addiu $at,$zero,0x35
/* f06f10c: 10810007 */ beq $a0,$at,.L0f06f12c
/* f06f110: 2401003d */ addiu $at,$zero,0x3d
/* f06f114: 10810005 */ beq $a0,$at,.L0f06f12c
/* f06f118: 2401003e */ addiu $at,$zero,0x3e
/* f06f11c: 10810003 */ beq $a0,$at,.L0f06f12c
/* f06f120: 2401003f */ addiu $at,$zero,0x3f
/* f06f124: 5481000c */ bnel $a0,$at,.L0f06f158
/* f06f128: 8fa50028 */ lw $a1,0x28($sp)
.L0f06f12c:
/* f06f12c: 8e090008 */ lw $t1,0x8($s0)
/* f06f130: 8e0d000c */ lw $t5,0xc($s0)
/* f06f134: 3c010040 */ lui $at,0x40
/* f06f138: 01255025 */ or $t2,$t1,$a1
/* f06f13c: ae0a0008 */ sw $t2,0x8($s0)
/* f06f140: 01416025 */ or $t4,$t2,$at
/* f06f144: 35ae4000 */ ori $t6,$t5,0x4000
/* f06f148: ae0c0008 */ sw $t4,0x8($s0)
/* f06f14c: ae0e000c */ sw $t6,0xc($s0)
/* f06f150: 9204005c */ lbu $a0,0x5c($s0)
/* f06f154: 8fa50028 */ lw $a1,0x28($sp)
.L0f06f158:
/* f06f158: 0fc257f6 */ jal objectiveCheckMultiroomEntered
/* f06f15c: 24a50028 */ addiu $a1,$a1,0x28
/* f06f160: 9204005c */ lbu $a0,0x5c($s0)
/* f06f164: 24010056 */ addiu $at,$zero,0x55
/* f06f168: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f16c: 54810006 */ bnel $a0,$at,.L0f06f188
/* f06f170: 2401001a */ addiu $at,$zero,0x1a
/* f06f174: 0fc1bb08 */ jal func0f06ec20
/* f06f178: 02002025 */ or $a0,$s0,$zero
/* f06f17c: 1000000e */ b .L0f06f1b8
/* f06f180: 92020003 */ lbu $v0,0x3($s0)
/* f06f184: 2401001a */ addiu $at,$zero,0x1a
.L0f06f188:
/* f06f188: 14810007 */ bne $a0,$at,.L0f06f1a8
/* f06f18c: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f190: 02002025 */ or $a0,$s0,$zero
/* f06f194: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f198: 0fc1bb59 */ jal func0f06ed64
/* f06f19c: 8fa60030 */ lw $a2,0x30($sp)
/* f06f1a0: 10000005 */ b .L0f06f1b8
/* f06f1a4: 92020003 */ lbu $v0,0x3($s0)
.L0f06f1a8:
/* f06f1a8: 02002025 */ or $a0,$s0,$zero
/* f06f1ac: 0fc1bad3 */ jal func0f06eb4c
/* f06f1b0: 8fa60030 */ lw $a2,0x30($sp)
/* f06f1b4: 92020003 */ lbu $v0,0x3($s0)
.L0f06f1b8:
/* f06f1b8: 1000001e */ b .L0f06f234
/* f06f1bc: 24070008 */ addiu $a3,$zero,0x8
.L0f06f1c0:
/* f06f1c0: 2401000d */ addiu $at,$zero,0xd
/* f06f1c4: 1441001b */ bne $v0,$at,.L0f06f234
/* f06f1c8: 02002025 */ or $a0,$s0,$zero
/* f06f1cc: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f1d0: 0fc1bad3 */ jal func0f06eb4c
/* f06f1d4: 8fa60030 */ lw $a2,0x30($sp)
/* f06f1d8: 8fa20030 */ lw $v0,0x30($sp)
/* f06f1dc: c44c0000 */ lwc1 $f12,0x0($v0)
/* f06f1e0: 0fc259d4 */ jal atan2f
/* f06f1e4: c44e0008 */ lwc1 $f14,0x8($v0)
/* f06f1e8: e6000060 */ swc1 $f0,0x60($s0)
/* f06f1ec: 8faf0030 */ lw $t7,0x30($sp)
/* f06f1f0: c5ee0008 */ lwc1 $f14,0x8($t7)
/* f06f1f4: c5e20000 */ lwc1 $f2,0x0($t7)
/* f06f1f8: 460e7102 */ mul.s $f4,$f14,$f14
/* f06f1fc: 00000000 */ nop
/* f06f200: 46021182 */ mul.s $f6,$f2,$f2
/* f06f204: 0c012974 */ jal sqrtf
/* f06f208: 46062300 */ add.s $f12,$f4,$f6
/* f06f20c: 8fb80030 */ lw $t8,0x30($sp)
/* f06f210: 46000386 */ mov.s $f14,$f0
/* f06f214: 0fc259d4 */ jal atan2f
/* f06f218: c70c0004 */ lwc1 $f12,0x4($t8)
/* f06f21c: c6080060 */ lwc1 $f8,0x60($s0)
/* f06f220: e6000074 */ swc1 $f0,0x74($s0)
/* f06f224: e6000078 */ swc1 $f0,0x78($s0)
/* f06f228: 92020003 */ lbu $v0,0x3($s0)
/* f06f22c: 24070008 */ addiu $a3,$zero,0x8
/* f06f230: e608006c */ swc1 $f8,0x6c($s0)
.L0f06f234:
/* f06f234: 3c058007 */ lui $a1,%hi(var80069930)
/* f06f238: 8ca59930 */ lw $a1,%lo(var80069930)($a1)
/* f06f23c: 10a00029 */ beqz $a1,.L0f06f2e4
/* f06f240: 00000000 */ nop
/* f06f244: 14e20012 */ bne $a3,$v0,.L0f06f290
/* f06f248: 2604005c */ addiu $a0,$s0,0x5c
/* f06f24c: 0fc29f66 */ jal bgunPlayPropHitSound
/* f06f250: 2406ffff */ addiu $a2,$zero,-1
/* f06f254: 9219005c */ lbu $t9,0x5c($s0)
/* f06f258: 2401001a */ addiu $at,$zero,0x1a
/* f06f25c: 3c038007 */ lui $v1,%hi(var80069930)
/* f06f260: 1721000b */ bne $t9,$at,.L0f06f290
/* f06f264: 00000000 */ nop
/* f06f268: 8c639930 */ lw $v1,%lo(var80069930)($v1)
/* f06f26c: 24010003 */ addiu $at,$zero,0x3
/* f06f270: 8fa50020 */ lw $a1,0x20($sp)
/* f06f274: 90620000 */ lbu $v0,0x0($v1)
/* f06f278: 10410003 */ beq $v0,$at,.L0f06f288
/* f06f27c: 24010006 */ addiu $at,$zero,0x6
/* f06f280: 14410003 */ bne $v0,$at,.L0f06f290
/* f06f284: 00000000 */ nop
.L0f06f288:
/* f06f288: 0fc08b32 */ jal chrSetPoisoned
/* f06f28c: 8c640004 */ lw $a0,0x4($v1)
.L0f06f290:
/* f06f290: 3c058007 */ lui $a1,%hi(var80069930)
/* f06f294: 8ca59930 */ lw $a1,%lo(var80069930)($a1)
/* f06f298: 8fa40028 */ lw $a0,0x28($sp)
/* f06f29c: 3c06800a */ lui $a2,%hi(var8009ce70)
/* f06f2a0: 90a80001 */ lbu $t0,0x1($a1)
/* f06f2a4: 3c07800a */ lui $a3,%hi(var8009ce74)
/* f06f2a8: 31090002 */ andi $t1,$t0,0x2
/* f06f2ac: 5120000a */ beqzl $t1,.L0f06f2d8
/* f06f2b0: 8e0c0040 */ lw $t4,0x40($s0)
/* f06f2b4: 8cc6ce70 */ lw $a2,%lo(var8009ce70)($a2)
/* f06f2b8: 0fc1bbd1 */ jal func0f06ef44
/* f06f2bc: 8ce7ce74 */ lw $a3,%lo(var8009ce74)($a3)
/* f06f2c0: 1040000f */ beqz $v0,.L0f06f300
/* f06f2c4: 8fab0034 */ lw $t3,0x34($sp)
/* f06f2c8: 240a0001 */ addiu $t2,$zero,0x1
/* f06f2cc: 1000000c */ b .L0f06f300
/* f06f2d0: ad6a0000 */ sw $t2,0x0($t3)
/* f06f2d4: 8e0c0040 */ lw $t4,0x40($s0)
.L0f06f2d8:
/* f06f2d8: 358d0004 */ ori $t5,$t4,0x4
/* f06f2dc: 10000008 */ b .L0f06f300
/* f06f2e0: ae0d0040 */ sw $t5,0x40($s0)
.L0f06f2e4:
/* f06f2e4: 14e20006 */ bne $a3,$v0,.L0f06f300
/* f06f2e8: 2604005c */ addiu $a0,$s0,0x5c
/* f06f2ec: 8fa70028 */ lw $a3,0x28($sp)
/* f06f2f0: 8fa5002c */ lw $a1,0x2c($sp)
/* f06f2f4: 2406ffff */ addiu $a2,$zero,-1
/* f06f2f8: 0fc2a132 */ jal bgunPlayBgHitSound
/* f06f2fc: 24e70028 */ addiu $a3,$a3,40
.L0f06f300:
/* f06f300: 8fbf001c */ lw $ra,0x1c($sp)
/* f06f304: 8fb00018 */ lw $s0,0x18($sp)
/* f06f308: 27bd0028 */ addiu $sp,$sp,0x28
/* f06f30c: 03e00008 */ jr $ra
/* f06f310: 00000000 */ nop
);
#endif
bool propExplode(struct prop *prop, s32 exptype)
{
struct defaultobj *obj = prop->obj;
s32 playernum = (obj->hidden & 0xf0000000) >> 28;
bool result;
if (prop->parent) {
struct prop *parent = prop->parent;
struct coord pos;
s16 rooms[8];
while (parent->parent) {
parent = parent->parent;
}
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
Mtxf *mtx = model0001a60c(obj->model);
pos.x = mtx->m[3][0];
pos.y = mtx->m[3][1];
pos.z = mtx->m[3][2];
mtx4TransformVecInPlace(currentPlayerGetUnk174c(), &pos);
} else {
pos.x = parent->pos.x;
pos.y = parent->pos.y;
pos.z = parent->pos.z;
}
func0f065e74(&parent->pos, parent->rooms, &pos, rooms);
result = explosionCreateComplex(NULL, &pos, rooms, exptype, playernum);
} else if ((obj->hidden & (OBJHFLAG_00000040 | OBJHFLAG_AIRBORNE | OBJHFLAG_00020000)) == OBJHFLAG_00020000) {
struct coord sp5c;
struct coord sp50;
f32 ymin = modelBboxGetYMin(modelFindBboxRodata(obj->model));
s32 room = prop->rooms[0];
sp50.x = obj->realrot[1][0];
sp50.y = obj->realrot[1][1];
sp50.z = obj->realrot[1][2];
sp5c.x = prop->pos.f[0] + obj->realrot[1][0] * ymin;
sp5c.y = prop->pos.f[1] + obj->realrot[1][1] * ymin;
sp5c.z = prop->pos.f[2] + obj->realrot[1][2] * ymin;
result = explosionCreate(NULL, &prop->pos, prop->rooms, exptype,
playernum, true, &sp5c, room, &sp50);
} else {
result = explosionCreateComplex(NULL, &prop->pos, prop->rooms, exptype, playernum);
}
return result;
}
void ammocrateTick(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
if (obj->flags & OBJFLAG_AMMOCRATE_EXPLODENOW) {
propExplode(prop, EXPLOSIONTYPE_12);
obj->hidden |= OBJHFLAG_REAPABLE;
}
}
#if PAL
GLOBAL_ASM(
glabel weaponTick
.late_rodata
glabel var7f1aa2c0
.word 0x47742400
glabel var7f1aa2c4
.word 0x3cd67750
.text
/* f06f54c: 27bdfe50 */ addiu $sp,$sp,-432
/* f06f550: afbf001c */ sw $ra,0x1c($sp)
/* f06f554: afb00018 */ sw $s0,0x18($sp)
/* f06f558: afa401b0 */ sw $a0,0x1b0($sp)
/* f06f55c: 8c820004 */ lw $v0,0x4($a0)
/* f06f560: 2406001e */ addiu $a2,$zero,0x1e
/* f06f564: afa201a8 */ sw $v0,0x1a8($sp)
/* f06f568: 904f005c */ lbu $t7,0x5c($v0)
/* f06f56c: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06f570: 00408025 */ or $s0,$v0,$zero
/* f06f574: 54cf0005 */ bnel $a2,$t7,.L0f06f58c
/* f06f578: 91c2005c */ lbu $v0,0x5c($t6)
/* f06f57c: 9059005f */ lbu $t9,0x5f($v0)
/* f06f580: 53200006 */ beqzl $t9,.L0f06f59c
/* f06f584: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06f588: 91c2005c */ lbu $v0,0x5c($t6)
.L0f06f58c:
/* f06f58c: 24010055 */ addiu $at,$zero,0x55
/* f06f590: 544100cf */ bnel $v0,$at,.L0f06f8d0
/* f06f594: 2405001f */ addiu $a1,$zero,0x1f
/* f06f598: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06f59c:
/* f06f59c: 24010055 */ addiu $at,$zero,0x55
/* f06f5a0: 85e30062 */ lh $v1,0x62($t7)
/* f06f5a4: 91e2005c */ lbu $v0,0x5c($t7)
/* f06f5a8: 046200c9 */ bltzl $v1,.L0f06f8d0
/* f06f5ac: 2405001f */ addiu $a1,$zero,0x1f
/* f06f5b0: 1441005f */ bne $v0,$at,.L0f06f730
/* f06f5b4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f5b8: 91f8005f */ lbu $t8,0x5f($t7)
/* f06f5bc: 24070001 */ addiu $a3,$zero,0x1
/* f06f5c0: 14f8005b */ bne $a3,$t8,.L0f06f730
/* f06f5c4: 00000000 */ nop
/* f06f5c8: 18600059 */ blez $v1,.L0f06f730
/* f06f5cc: 28610002 */ slti $at,$v1,0x2
/* f06f5d0: 14200055 */ bnez $at,.L0f06f728
/* f06f5d4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f5d8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f5dc: 8db90034 */ lw $t9,0x34($t5)
/* f06f5e0: 00797023 */ subu $t6,$v1,$t9
/* f06f5e4: 29c10008 */ slti $at,$t6,0x8
/* f06f5e8: 102003e9 */ beqz $at,.L0f070590
/* f06f5ec: a5ee0062 */ sh $t6,0x62($t7)
/* f06f5f0: 3c198007 */ lui $t9,%hi(var800699fc)
/* f06f5f4: 273999fc */ addiu $t9,$t9,%lo(var800699fc)
/* f06f5f8: 8f210000 */ lw $at,0x0($t9)
/* f06f5fc: 27b8019c */ addiu $t8,$sp,0x19c
/* f06f600: 8f2e0004 */ lw $t6,0x4($t9)
/* f06f604: af010000 */ sw $at,0x0($t8)
/* f06f608: 8f210008 */ lw $at,0x8($t9)
/* f06f60c: af0e0004 */ sw $t6,0x4($t8)
/* f06f610: af010008 */ sw $at,0x8($t8)
/* f06f614: afa00194 */ sw $zero,0x194($sp)
/* f06f618: 0fc1a179 */ jal func0f0685e4
/* f06f61c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f620: 8e020040 */ lw $v0,0x40($s0)
/* f06f624: 8fa50194 */ lw $a1,0x194($sp)
/* f06f628: 24070001 */ addiu $a3,$zero,0x1
/* f06f62c: 304f0040 */ andi $t7,$v0,0x40
/* f06f630: 11e00004 */ beqz $t7,.L0f06f644
/* f06f634: 30590080 */ andi $t9,$v0,0x80
/* f06f638: 8e180048 */ lw $t8,0x48($s0)
/* f06f63c: 10000004 */ b .L0f06f650
/* f06f640: 8f050044 */ lw $a1,0x44($t8)
.L0f06f644:
/* f06f644: 13200002 */ beqz $t9,.L0f06f650
/* f06f648: 00000000 */ nop
/* f06f64c: 8e050048 */ lw $a1,0x48($s0)
.L0f06f650:
/* f06f650: 10a00032 */ beqz $a1,.L0f06f71c
/* f06f654: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06f658: 8fae01b0 */ lw $t6,0x1b0($sp)
/* f06f65c: 8dcf0018 */ lw $t7,0x18($t6)
/* f06f660: 01c01825 */ or $v1,$t6,$zero
/* f06f664: 11e00006 */ beqz $t7,.L0f06f680
/* f06f668: 00000000 */ nop
/* f06f66c: 8dc20018 */ lw $v0,0x18($t6)
/* f06f670: 00401825 */ or $v1,$v0,$zero
.L0f06f674:
/* f06f674: 8c420018 */ lw $v0,0x18($v0)
/* f06f678: 5440fffe */ bnezl $v0,.L0f06f674
/* f06f67c: 00401825 */ or $v1,$v0,$zero
.L0f06f680:
/* f06f680: 5060000d */ beqzl $v1,.L0f06f6b8
/* f06f684: 8cae0000 */ lw $t6,0x0($a1)
/* f06f688: 90620000 */ lbu $v0,0x0($v1)
/* f06f68c: 24010003 */ addiu $at,$zero,0x3
/* f06f690: 10410003 */ beq $v0,$at,.L0f06f6a0
/* f06f694: 24010006 */ addiu $at,$zero,0x6
/* f06f698: 54410007 */ bnel $v0,$at,.L0f06f6b8
/* f06f69c: 8cae0000 */ lw $t6,0x0($a1)
.L0f06f6a0:
/* f06f6a0: 8c620004 */ lw $v0,0x4($v1)
/* f06f6a4: 8c580014 */ lw $t8,0x14($v0)
/* f06f6a8: 37190001 */ ori $t9,$t8,0x1
/* f06f6ac: 10000005 */ b .L0f06f6c4
/* f06f6b0: ac590014 */ sw $t9,0x14($v0)
/* f06f6b4: 8cae0000 */ lw $t6,0x0($a1)
.L0f06f6b8:
/* f06f6b8: aca00088 */ sw $zero,0x88($a1)
/* f06f6bc: 35cf0001 */ ori $t7,$t6,0x1
/* f06f6c0: acaf0000 */ sw $t7,0x0($a1)
.L0f06f6c4:
/* f06f6c4: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06f6c8: a7070062 */ sh $a3,0x62($t8)
/* f06f6cc: afa50194 */ sw $a1,0x194($sp)
/* f06f6d0: 0fc1a1a5 */ jal objSetProjectileFlag4
/* f06f6d4: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f6d8: 8fa50194 */ lw $a1,0x194($sp)
/* f06f6dc: c7a4019c */ lwc1 $f4,0x19c($sp)
/* f06f6e0: 24a40020 */ addiu $a0,$a1,0x20
/* f06f6e4: e4a40004 */ swc1 $f4,0x4($a1)
/* f06f6e8: c7a601a0 */ lwc1 $f6,0x1a0($sp)
/* f06f6ec: e4a60008 */ swc1 $f6,0x8($a1)
/* f06f6f0: c7a801a4 */ lwc1 $f8,0x1a4($sp)
/* f06f6f4: 0c00566c */ jal mtx4LoadIdentity
/* f06f6f8: e4a8000c */ swc1 $f8,0xc($a1)
/* f06f6fc: 8fa50194 */ lw $a1,0x194($sp)
/* f06f700: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06f704: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f708: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f70c: acb900d4 */ sw $t9,0xd4($a1)
/* f06f710: 8dae000c */ lw $t6,0xc($t5)
/* f06f714: 1000039e */ b .L0f070590
/* f06f718: acae00d8 */ sw $t6,0xd8($a1)
.L0f06f71c:
/* f06f71c: 240f0002 */ addiu $t7,$zero,0x2
/* f06f720: 1000039b */ b .L0f070590
/* f06f724: a70f0062 */ sh $t7,0x62($t8)
.L0f06f728:
/* f06f728: 1000039a */ b .L0f070594
/* f06f72c: 8e190010 */ lw $t9,0x10($s0)
.L0f06f730:
/* f06f730: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f734: 8db90034 */ lw $t9,0x34($t5)
/* f06f738: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06f73c: 00797023 */ subu $t6,$v1,$t9
/* f06f740: 05c10393 */ bgez $t6,.L0f070590
/* f06f744: a5ee0062 */ sh $t6,0x62($t7)
/* f06f748: 0fc10e62 */ jal propUnsetDangerous
/* f06f74c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f750: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06f754: 24010002 */ addiu $at,$zero,0x2
/* f06f758: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f75c: 9319005f */ lbu $t9,0x5f($t8)
/* f06f760: 57210007 */ bnel $t9,$at,.L0f06f780
/* f06f764: 8e0f000c */ lw $t7,0xc($s0)
/* f06f768: 0fc1bcc5 */ jal propExplode
/* f06f76c: 24050015 */ addiu $a1,$zero,0x15
/* f06f770: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f774: 1000000c */ b .L0f06f7a8
/* f06f778: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f77c: 8e0f000c */ lw $t7,0xc($s0)
.L0f06f780:
/* f06f780: 2405000d */ addiu $a1,$zero,0xd
/* f06f784: 000f7000 */ sll $t6,$t7,0x0
/* f06f788: 05c10003 */ bgez $t6,.L0f06f798
/* f06f78c: 00000000 */ nop
/* f06f790: 10000001 */ b .L0f06f798
/* f06f794: 24050011 */ addiu $a1,$zero,0x11
.L0f06f798:
/* f06f798: 0fc1bcc5 */ jal propExplode
/* f06f79c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f7a0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f7a4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
.L0f06f7a8:
/* f06f7a8: 8e180040 */ lw $t8,0x40($s0)
/* f06f7ac: 00004025 */ or $t0,$zero,$zero
/* f06f7b0: 00003025 */ or $a2,$zero,$zero
/* f06f7b4: 37190004 */ ori $t9,$t8,0x4
/* f06f7b8: ae190040 */ sw $t9,0x40($s0)
/* f06f7bc: 8dab006c */ lw $t3,0x6c($t5)
/* f06f7c0: 00002025 */ or $a0,$zero,$zero
/* f06f7c4: 00001025 */ or $v0,$zero,$zero
/* f06f7c8: 11600003 */ beqz $t3,.L0f06f7d8
/* f06f7cc: 00002825 */ or $a1,$zero,$zero
/* f06f7d0: 10000001 */ b .L0f06f7d8
/* f06f7d4: 24060001 */ addiu $a2,$zero,0x1
.L0f06f7d8:
/* f06f7d8: 8daa0068 */ lw $t2,0x68($t5)
/* f06f7dc: 0008c880 */ sll $t9,$t0,0x2
/* f06f7e0: 01b91821 */ addu $v1,$t5,$t9
/* f06f7e4: 11400003 */ beqz $t2,.L0f06f7f4
/* f06f7e8: 240c0003 */ addiu $t4,$zero,0x3
/* f06f7ec: 10000001 */ b .L0f06f7f4
/* f06f7f0: 24040001 */ addiu $a0,$zero,0x1
.L0f06f7f4:
/* f06f7f4: 8da90064 */ lw $t1,0x64($t5)
/* f06f7f8: 11200003 */ beqz $t1,.L0f06f808
/* f06f7fc: 00000000 */ nop
/* f06f800: 10000001 */ b .L0f06f808
/* f06f804: 24020001 */ addiu $v0,$zero,0x1
.L0f06f808:
/* f06f808: 8da70070 */ lw $a3,0x70($t5)
/* f06f80c: 10e00003 */ beqz $a3,.L0f06f81c
/* f06f810: 00000000 */ nop
/* f06f814: 10000001 */ b .L0f06f81c
/* f06f818: 24050001 */ addiu $a1,$zero,0x1
.L0f06f81c:
/* f06f81c: 00a27821 */ addu $t7,$a1,$v0
/* f06f820: 01e47021 */ addu $t6,$t7,$a0
/* f06f824: 01c6c021 */ addu $t8,$t6,$a2
/* f06f828: 5b00035a */ blezl $t8,.L0f070594
/* f06f82c: 8e190010 */ lw $t9,0x10($s0)
/* f06f830: 8c620064 */ lw $v0,0x64($v1)
.L0f06f834:
/* f06f834: 25080001 */ addiu $t0,$t0,0x1
/* f06f838: 00003025 */ or $a2,$zero,$zero
/* f06f83c: 8c4f0264 */ lw $t7,0x264($v0)
/* f06f840: 00002025 */ or $a0,$zero,$zero
/* f06f844: 00002825 */ or $a1,$zero,$zero
/* f06f848: 160f0008 */ bne $s0,$t7,.L0f06f86c
/* f06f84c: 00000000 */ nop
/* f06f850: ac400264 */ sw $zero,0x264($v0)
/* f06f854: 8c6e0064 */ lw $t6,0x64($v1)
/* f06f858: a5cc0010 */ sh $t4,0x10($t6)
/* f06f85c: 8da70070 */ lw $a3,0x70($t5)
/* f06f860: 8da90064 */ lw $t1,0x64($t5)
/* f06f864: 8daa0068 */ lw $t2,0x68($t5)
/* f06f868: 8dab006c */ lw $t3,0x6c($t5)
.L0f06f86c:
/* f06f86c: 11600003 */ beqz $t3,.L0f06f87c
/* f06f870: 24630004 */ addiu $v1,$v1,0x4
/* f06f874: 10000001 */ b .L0f06f87c
/* f06f878: 24060001 */ addiu $a2,$zero,0x1
.L0f06f87c:
/* f06f87c: 11400003 */ beqz $t2,.L0f06f88c
/* f06f880: 00001025 */ or $v0,$zero,$zero
/* f06f884: 10000001 */ b .L0f06f88c
/* f06f888: 24040001 */ addiu $a0,$zero,0x1
.L0f06f88c:
/* f06f88c: 11200003 */ beqz $t1,.L0f06f89c
/* f06f890: 00000000 */ nop
/* f06f894: 10000001 */ b .L0f06f89c
/* f06f898: 24020001 */ addiu $v0,$zero,0x1
.L0f06f89c:
/* f06f89c: 10e00003 */ beqz $a3,.L0f06f8ac
/* f06f8a0: 00000000 */ nop
/* f06f8a4: 10000001 */ b .L0f06f8ac
/* f06f8a8: 24050001 */ addiu $a1,$zero,0x1
.L0f06f8ac:
/* f06f8ac: 00a2c021 */ addu $t8,$a1,$v0
/* f06f8b0: 0304c821 */ addu $t9,$t8,$a0
/* f06f8b4: 03267821 */ addu $t7,$t9,$a2
/* f06f8b8: 010f082a */ slt $at,$t0,$t7
/* f06f8bc: 5420ffdd */ bnezl $at,.L0f06f834
/* f06f8c0: 8c620064 */ lw $v0,0x64($v1)
/* f06f8c4: 10000333 */ b .L0f070594
/* f06f8c8: 8e190010 */ lw $t9,0x10($s0)
/* f06f8cc: 2405001f */ addiu $a1,$zero,0x1f
.L0f06f8d0:
/* f06f8d0: 54a2006b */ bnel $a1,$v0,.L0f06fa80
/* f06f8d4: 24010053 */ addiu $at,$zero,0x53
/* f06f8d8: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06f8dc: 91d8005f */ lbu $t8,0x5f($t6)
/* f06f8e0: 57000067 */ bnezl $t8,.L0f06fa80
/* f06f8e4: 24010053 */ addiu $at,$zero,0x53
/* f06f8e8: 85c30062 */ lh $v1,0x62($t6)
/* f06f8ec: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f8f0: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f8f4: 0460005f */ bltz $v1,.L0f06fa74
/* f06f8f8: 00000000 */ nop
/* f06f8fc: 8db90034 */ lw $t9,0x34($t5)
/* f06f900: 00002825 */ or $a1,$zero,$zero
/* f06f904: 00797823 */ subu $t7,$v1,$t9
/* f06f908: 05e1005a */ bgez $t7,.L0f06fa74
/* f06f90c: a5cf0062 */ sh $t7,0x62($t6)
/* f06f910: 8e040040 */ lw $a0,0x40($s0)
/* f06f914: 8dae0318 */ lw $t6,0x318($t5)
/* f06f918: 3c01f000 */ lui $at,0xf000
/* f06f91c: 0081c024 */ and $t8,$a0,$at
/* f06f920: 11c00006 */ beqz $t6,.L0f06f93c
/* f06f924: 00182702 */ srl $a0,$t8,0x1c
/* f06f928: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f06f92c: afa0018c */ sw $zero,0x18c($sp)
/* f06f930: 10400002 */ beqz $v0,.L0f06f93c
/* f06f934: 8fa5018c */ lw $a1,0x18c($sp)
/* f06f938: 8c45001c */ lw $a1,0x1c($v0)
.L0f06f93c:
/* f06f93c: 8fa601b0 */ lw $a2,0x1b0($sp)
/* f06f940: 0fc0287e */ jal nbombCreateStorm
/* f06f944: 24c40008 */ addiu $a0,$a2,0x8
/* f06f948: 0fc10e62 */ jal propUnsetDangerous
/* f06f94c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f950: 8e180040 */ lw $t8,0x40($s0)
/* f06f954: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f958: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f95c: 37190004 */ ori $t9,$t8,0x4
/* f06f960: ae190040 */ sw $t9,0x40($s0)
/* f06f964: 8dab006c */ lw $t3,0x6c($t5)
/* f06f968: 00004025 */ or $t0,$zero,$zero
/* f06f96c: 00003025 */ or $a2,$zero,$zero
/* f06f970: 11600003 */ beqz $t3,.L0f06f980
/* f06f974: 00002025 */ or $a0,$zero,$zero
/* f06f978: 10000001 */ b .L0f06f980
/* f06f97c: 24060001 */ addiu $a2,$zero,0x1
.L0f06f980:
/* f06f980: 8daa0068 */ lw $t2,0x68($t5)
/* f06f984: 00001025 */ or $v0,$zero,$zero
/* f06f988: 00002825 */ or $a1,$zero,$zero
/* f06f98c: 11400003 */ beqz $t2,.L0f06f99c
/* f06f990: 0008c880 */ sll $t9,$t0,0x2
/* f06f994: 10000001 */ b .L0f06f99c
/* f06f998: 24040001 */ addiu $a0,$zero,0x1
.L0f06f99c:
/* f06f99c: 8da90064 */ lw $t1,0x64($t5)
/* f06f9a0: 01b91821 */ addu $v1,$t5,$t9
/* f06f9a4: 240c0003 */ addiu $t4,$zero,0x3
/* f06f9a8: 11200003 */ beqz $t1,.L0f06f9b8
/* f06f9ac: 00000000 */ nop
/* f06f9b0: 10000001 */ b .L0f06f9b8
/* f06f9b4: 24020001 */ addiu $v0,$zero,0x1
.L0f06f9b8:
/* f06f9b8: 8da70070 */ lw $a3,0x70($t5)
/* f06f9bc: 10e00003 */ beqz $a3,.L0f06f9cc
/* f06f9c0: 00000000 */ nop
/* f06f9c4: 10000001 */ b .L0f06f9cc
/* f06f9c8: 24050001 */ addiu $a1,$zero,0x1
.L0f06f9cc:
/* f06f9cc: 00a27021 */ addu $t6,$a1,$v0
/* f06f9d0: 01c47821 */ addu $t7,$t6,$a0
/* f06f9d4: 01e6c021 */ addu $t8,$t7,$a2
/* f06f9d8: 1b000026 */ blez $t8,.L0f06fa74
/* f06f9dc: 00000000 */ nop
/* f06f9e0: 8c620064 */ lw $v0,0x64($v1)
.L0f06f9e4:
/* f06f9e4: 25080001 */ addiu $t0,$t0,0x1
/* f06f9e8: 00003025 */ or $a2,$zero,$zero
/* f06f9ec: 8c4e0264 */ lw $t6,0x264($v0)
/* f06f9f0: 00002025 */ or $a0,$zero,$zero
/* f06f9f4: 00002825 */ or $a1,$zero,$zero
/* f06f9f8: 160e0008 */ bne $s0,$t6,.L0f06fa1c
/* f06f9fc: 00000000 */ nop
/* f06fa00: ac400264 */ sw $zero,0x264($v0)
/* f06fa04: 8c6f0064 */ lw $t7,0x64($v1)
/* f06fa08: a5ec0010 */ sh $t4,0x10($t7)
/* f06fa0c: 8da70070 */ lw $a3,0x70($t5)
/* f06fa10: 8da90064 */ lw $t1,0x64($t5)
/* f06fa14: 8daa0068 */ lw $t2,0x68($t5)
/* f06fa18: 8dab006c */ lw $t3,0x6c($t5)
.L0f06fa1c:
/* f06fa1c: 11600003 */ beqz $t3,.L0f06fa2c
/* f06fa20: 24630004 */ addiu $v1,$v1,0x4
/* f06fa24: 10000001 */ b .L0f06fa2c
/* f06fa28: 24060001 */ addiu $a2,$zero,0x1
.L0f06fa2c:
/* f06fa2c: 11400003 */ beqz $t2,.L0f06fa3c
/* f06fa30: 00001025 */ or $v0,$zero,$zero
/* f06fa34: 10000001 */ b .L0f06fa3c
/* f06fa38: 24040001 */ addiu $a0,$zero,0x1
.L0f06fa3c:
/* f06fa3c: 11200003 */ beqz $t1,.L0f06fa4c
/* f06fa40: 00000000 */ nop
/* f06fa44: 10000001 */ b .L0f06fa4c
/* f06fa48: 24020001 */ addiu $v0,$zero,0x1
.L0f06fa4c:
/* f06fa4c: 10e00003 */ beqz $a3,.L0f06fa5c
/* f06fa50: 00000000 */ nop
/* f06fa54: 10000001 */ b .L0f06fa5c
/* f06fa58: 24050001 */ addiu $a1,$zero,0x1
.L0f06fa5c:
/* f06fa5c: 00a2c021 */ addu $t8,$a1,$v0
/* f06fa60: 0304c821 */ addu $t9,$t8,$a0
/* f06fa64: 03267021 */ addu $t6,$t9,$a2
/* f06fa68: 010e082a */ slt $at,$t0,$t6
/* f06fa6c: 5420ffdd */ bnezl $at,.L0f06f9e4
/* f06fa70: 8c620064 */ lw $v0,0x64($v1)
.L0f06fa74:
/* f06fa74: 100002c7 */ b .L0f070594
/* f06fa78: 8e190010 */ lw $t9,0x10($s0)
/* f06fa7c: 24010053 */ addiu $at,$zero,0x53
.L0f06fa80:
/* f06fa80: 10410005 */ beq $v0,$at,.L0f06fa98
/* f06fa84: 24010054 */ addiu $at,$zero,0x54
/* f06fa88: 10410003 */ beq $v0,$at,.L0f06fa98
/* f06fa8c: 24010058 */ addiu $at,$zero,0x58
/* f06fa90: 5441005a */ bnel $v0,$at,.L0f06fbfc
/* f06fa94: 24010020 */ addiu $at,$zero,0x20
.L0f06fa98:
/* f06fa98: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06fa9c: 85f80062 */ lh $t8,0x62($t7)
/* f06faa0: 17000053 */ bnez $t8,.L0f06fbf0
/* f06faa4: 00000000 */ nop
/* f06faa8: 8e19000c */ lw $t9,0xc($s0)
/* f06faac: 2405000d */ addiu $a1,$zero,0xd
/* f06fab0: 00197000 */ sll $t6,$t9,0x0
/* f06fab4: 05c10003 */ bgez $t6,.L0f06fac4
/* f06fab8: 00000000 */ nop
/* f06fabc: 10000001 */ b .L0f06fac4
/* f06fac0: 24050011 */ addiu $a1,$zero,0x11
.L0f06fac4:
/* f06fac4: 0fc1bcc5 */ jal propExplode
/* f06fac8: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06facc: 8e0f0040 */ lw $t7,0x40($s0)
/* f06fad0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fad4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fad8: 35f80004 */ ori $t8,$t7,0x4
/* f06fadc: ae180040 */ sw $t8,0x40($s0)
/* f06fae0: 8dab006c */ lw $t3,0x6c($t5)
/* f06fae4: 00004025 */ or $t0,$zero,$zero
/* f06fae8: 00003025 */ or $a2,$zero,$zero
/* f06faec: 11600003 */ beqz $t3,.L0f06fafc
/* f06faf0: 00002025 */ or $a0,$zero,$zero
/* f06faf4: 10000001 */ b .L0f06fafc
/* f06faf8: 24060001 */ addiu $a2,$zero,0x1
.L0f06fafc:
/* f06fafc: 8daa0068 */ lw $t2,0x68($t5)
/* f06fb00: 00001025 */ or $v0,$zero,$zero
/* f06fb04: 00002825 */ or $a1,$zero,$zero
/* f06fb08: 11400003 */ beqz $t2,.L0f06fb18
/* f06fb0c: 0008c080 */ sll $t8,$t0,0x2
/* f06fb10: 10000001 */ b .L0f06fb18
/* f06fb14: 24040001 */ addiu $a0,$zero,0x1
.L0f06fb18:
/* f06fb18: 8da90064 */ lw $t1,0x64($t5)
/* f06fb1c: 01b81821 */ addu $v1,$t5,$t8
/* f06fb20: 240c0003 */ addiu $t4,$zero,0x3
/* f06fb24: 11200003 */ beqz $t1,.L0f06fb34
/* f06fb28: 00000000 */ nop
/* f06fb2c: 10000001 */ b .L0f06fb34
/* f06fb30: 24020001 */ addiu $v0,$zero,0x1
.L0f06fb34:
/* f06fb34: 8da70070 */ lw $a3,0x70($t5)
/* f06fb38: 10e00003 */ beqz $a3,.L0f06fb48
/* f06fb3c: 00000000 */ nop
/* f06fb40: 10000001 */ b .L0f06fb48
/* f06fb44: 24050001 */ addiu $a1,$zero,0x1
.L0f06fb48:
/* f06fb48: 00a2c821 */ addu $t9,$a1,$v0
/* f06fb4c: 03247021 */ addu $t6,$t9,$a0
/* f06fb50: 01c67821 */ addu $t7,$t6,$a2
/* f06fb54: 19e00026 */ blez $t7,.L0f06fbf0
/* f06fb58: 00000000 */ nop
/* f06fb5c: 8c620064 */ lw $v0,0x64($v1)
.L0f06fb60:
/* f06fb60: 25080001 */ addiu $t0,$t0,0x1
/* f06fb64: 00003025 */ or $a2,$zero,$zero
/* f06fb68: 8c590264 */ lw $t9,0x264($v0)
/* f06fb6c: 00002025 */ or $a0,$zero,$zero
/* f06fb70: 00002825 */ or $a1,$zero,$zero
/* f06fb74: 16190008 */ bne $s0,$t9,.L0f06fb98
/* f06fb78: 00000000 */ nop
/* f06fb7c: ac400264 */ sw $zero,0x264($v0)
/* f06fb80: 8c6e0064 */ lw $t6,0x64($v1)
/* f06fb84: a5cc0010 */ sh $t4,0x10($t6)
/* f06fb88: 8da70070 */ lw $a3,0x70($t5)
/* f06fb8c: 8da90064 */ lw $t1,0x64($t5)
/* f06fb90: 8daa0068 */ lw $t2,0x68($t5)
/* f06fb94: 8dab006c */ lw $t3,0x6c($t5)
.L0f06fb98:
/* f06fb98: 11600003 */ beqz $t3,.L0f06fba8
/* f06fb9c: 24630004 */ addiu $v1,$v1,0x4
/* f06fba0: 10000001 */ b .L0f06fba8
/* f06fba4: 24060001 */ addiu $a2,$zero,0x1
.L0f06fba8:
/* f06fba8: 11400003 */ beqz $t2,.L0f06fbb8
/* f06fbac: 00001025 */ or $v0,$zero,$zero
/* f06fbb0: 10000001 */ b .L0f06fbb8
/* f06fbb4: 24040001 */ addiu $a0,$zero,0x1
.L0f06fbb8:
/* f06fbb8: 11200003 */ beqz $t1,.L0f06fbc8
/* f06fbbc: 00000000 */ nop
/* f06fbc0: 10000001 */ b .L0f06fbc8
/* f06fbc4: 24020001 */ addiu $v0,$zero,0x1
.L0f06fbc8:
/* f06fbc8: 10e00003 */ beqz $a3,.L0f06fbd8
/* f06fbcc: 00000000 */ nop
/* f06fbd0: 10000001 */ b .L0f06fbd8
/* f06fbd4: 24050001 */ addiu $a1,$zero,0x1
.L0f06fbd8:
/* f06fbd8: 00a27821 */ addu $t7,$a1,$v0
/* f06fbdc: 01e4c021 */ addu $t8,$t7,$a0
/* f06fbe0: 0306c821 */ addu $t9,$t8,$a2
/* f06fbe4: 0119082a */ slt $at,$t0,$t9
/* f06fbe8: 5420ffdd */ bnezl $at,.L0f06fb60
/* f06fbec: 8c620064 */ lw $v0,0x64($v1)
.L0f06fbf0:
/* f06fbf0: 10000268 */ b .L0f070594
/* f06fbf4: 8e190010 */ lw $t9,0x10($s0)
/* f06fbf8: 24010020 */ addiu $at,$zero,0x20
.L0f06fbfc:
/* f06fbfc: 54410022 */ bnel $v0,$at,.L0f06fc88
/* f06fc00: 24010022 */ addiu $at,$zero,0x22
/* f06fc04: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06fc08: 85c30062 */ lh $v1,0x62($t6)
/* f06fc0c: 0462001e */ bltzl $v1,.L0f06fc88
/* f06fc10: 24010022 */ addiu $at,$zero,0x22
/* f06fc14: 91cf005f */ lbu $t7,0x5f($t6)
/* f06fc18: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fc1c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fc20: 15e00016 */ bnez $t7,.L0f06fc7c
/* f06fc24: 00000000 */ nop
/* f06fc28: 8db80034 */ lw $t8,0x34($t5)
/* f06fc2c: 0078c823 */ subu $t9,$v1,$t8
/* f06fc30: 07210257 */ bgez $t9,.L0f070590
/* f06fc34: a5d90062 */ sh $t9,0x62($t6)
/* f06fc38: 8e0f000c */ lw $t7,0xc($s0)
/* f06fc3c: 2405000d */ addiu $a1,$zero,0xd
/* f06fc40: 000fc000 */ sll $t8,$t7,0x0
/* f06fc44: 07010003 */ bgez $t8,.L0f06fc54
/* f06fc48: 00000000 */ nop
/* f06fc4c: 10000001 */ b .L0f06fc54
/* f06fc50: 24050011 */ addiu $a1,$zero,0x11
.L0f06fc54:
/* f06fc54: 0fc1bcc5 */ jal propExplode
/* f06fc58: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06fc5c: 1040024c */ beqz $v0,.L0f070590
/* f06fc60: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06fc64: 240effff */ addiu $t6,$zero,-1
/* f06fc68: a72e0062 */ sh $t6,0x62($t9)
/* f06fc6c: 8e0f0040 */ lw $t7,0x40($s0)
/* f06fc70: 35f80004 */ ori $t8,$t7,0x4
/* f06fc74: 10000246 */ b .L0f070590
/* f06fc78: ae180040 */ sw $t8,0x40($s0)
.L0f06fc7c:
/* f06fc7c: 10000245 */ b .L0f070594
/* f06fc80: 8e190010 */ lw $t9,0x10($s0)
/* f06fc84: 24010022 */ addiu $at,$zero,0x22
.L0f06fc88:
/* f06fc88: 5441007a */ bnel $v0,$at,.L0f06fe74
/* f06fc8c: 24010021 */ addiu $at,$zero,0x21
/* f06fc90: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fc94: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fc98: 8cae0000 */ lw $t6,0x0($a1)
/* f06fc9c: 8fb801b0 */ lw $t8,0x1b0($sp)
/* f06fca0: 51c00053 */ beqzl $t6,.L0f06fdf0
/* f06fca4: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06fca8: 8e030040 */ lw $v1,0x40($s0)
/* f06fcac: 8f020018 */ lw $v0,0x18($t8)
/* f06fcb0: 3c01f000 */ lui $at,0xf000
/* f06fcb4: 0061c824 */ and $t9,$v1,$at
/* f06fcb8: 10400003 */ beqz $v0,.L0f06fcc8
/* f06fcbc: 00191f02 */ srl $v1,$t9,0x1c
/* f06fcc0: 10000002 */ b .L0f06fccc
/* f06fcc4: 8c440004 */ lw $a0,0x4($v0)
.L0f06fcc8:
/* f06fcc8: 00002025 */ or $a0,$zero,$zero
.L0f06fccc:
/* f06fccc: 10400009 */ beqz $v0,.L0f06fcf4
/* f06fcd0: 00000000 */ nop
/* f06fcd4: 10800007 */ beqz $a0,.L0f06fcf4
/* f06fcd8: 00000000 */ nop
/* f06fcdc: 0fc633fe */ jal mpPlayerGetIndex
/* f06fce0: afa30178 */ sw $v1,0x178($sp)
/* f06fce4: 8fa30178 */ lw $v1,0x178($sp)
/* f06fce8: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fcec: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fcf0: 1043003e */ beq $v0,$v1,.L0f06fdec
.L0f06fcf4:
/* f06fcf4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fcf8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fcfc: 8dae0298 */ lw $t6,0x298($t5)
/* f06fd00: 24010002 */ addiu $at,$zero,0x2
/* f06fd04: 05c10004 */ bgez $t6,.L0f06fd18
/* f06fd08: 00000000 */ nop
/* f06fd0c: 8db9029c */ lw $t9,0x29c($t5)
/* f06fd10: 07220030 */ bltzl $t9,.L0f06fdd4
/* f06fd14: 8cae0000 */ lw $t6,0x0($a1)
.L0f06fd18:
/* f06fd18: 54610026 */ bnel $v1,$at,.L0f06fdb4
/* f06fd1c: 8cb80000 */ lw $t8,0x0($a1)
/* f06fd20: 8da202a4 */ lw $v0,0x2a4($t5)
/* f06fd24: 00001825 */ or $v1,$zero,$zero
/* f06fd28: 5040000d */ beqzl $v0,.L0f06fd60
/* f06fd2c: 8da202a0 */ lw $v0,0x2a0($t5)
/* f06fd30: 8c4400bc */ lw $a0,0xbc($v0)
/* f06fd34: 5080000a */ beqzl $a0,.L0f06fd60
/* f06fd38: 8da202a0 */ lw $v0,0x2a0($t5)
/* f06fd3c: 0fc4a25f */ jal propGetPlayerNum
/* f06fd40: 00000000 */ nop
/* f06fd44: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fd48: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fd4c: 240f0001 */ addiu $t7,$zero,0x1
/* f06fd50: 004f1804 */ sllv $v1,$t7,$v0
/* f06fd54: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fd58: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fd5c: 8da202a0 */ lw $v0,0x2a0($t5)
.L0f06fd60:
/* f06fd60: 5040000d */ beqzl $v0,.L0f06fd98
/* f06fd64: 8cb90000 */ lw $t9,0x0($a1)
/* f06fd68: 8c4400bc */ lw $a0,0xbc($v0)
/* f06fd6c: 5080000a */ beqzl $a0,.L0f06fd98
/* f06fd70: 8cb90000 */ lw $t9,0x0($a1)
/* f06fd74: 0fc4a25f */ jal propGetPlayerNum
/* f06fd78: afa30170 */ sw $v1,0x170($sp)
/* f06fd7c: 8fa30170 */ lw $v1,0x170($sp)
/* f06fd80: 24180001 */ addiu $t8,$zero,0x1
/* f06fd84: 00587004 */ sllv $t6,$t8,$v0
/* f06fd88: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fd8c: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fd90: 006e1825 */ or $v1,$v1,$t6
/* f06fd94: 8cb90000 */ lw $t9,0x0($a1)
.L0f06fd98:
/* f06fd98: 03237824 */ and $t7,$t9,$v1
/* f06fd9c: 11e00013 */ beqz $t7,.L0f06fdec
/* f06fda0: acaf0000 */ sw $t7,0x0($a1)
/* f06fda4: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06fda8: 10000010 */ b .L0f06fdec
/* f06fdac: a5c00062 */ sh $zero,0x62($t6)
/* f06fdb0: 8cb80000 */ lw $t8,0x0($a1)
.L0f06fdb4:
/* f06fdb4: 24190001 */ addiu $t9,$zero,0x1
/* f06fdb8: 00797804 */ sllv $t7,$t9,$v1
/* f06fdbc: 01f87024 */ and $t6,$t7,$t8
/* f06fdc0: 11c0000a */ beqz $t6,.L0f06fdec
/* f06fdc4: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06fdc8: 10000008 */ b .L0f06fdec
/* f06fdcc: a7200062 */ sh $zero,0x62($t9)
/* f06fdd0: 8cae0000 */ lw $t6,0x0($a1)
.L0f06fdd4:
/* f06fdd4: 240f0001 */ addiu $t7,$zero,0x1
/* f06fdd8: 006fc004 */ sllv $t8,$t7,$v1
/* f06fddc: 030ec824 */ and $t9,$t8,$t6
/* f06fde0: 13200002 */ beqz $t9,.L0f06fdec
/* f06fde4: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06fde8: a5e00062 */ sh $zero,0x62($t7)
.L0f06fdec:
/* f06fdec: 8fb801a8 */ lw $t8,0x1a8($sp)
.L0f06fdf0:
/* f06fdf0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fdf4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fdf8: 87030062 */ lh $v1,0x62($t8)
/* f06fdfc: 28610002 */ slti $at,$v1,0x2
/* f06fe00: 14200009 */ bnez $at,.L0f06fe28
/* f06fe04: 00000000 */ nop
/* f06fe08: 8dae0034 */ lw $t6,0x34($t5)
/* f06fe0c: 24070001 */ addiu $a3,$zero,0x1
/* f06fe10: 006ec823 */ subu $t9,$v1,$t6
/* f06fe14: 2b210002 */ slti $at,$t9,0x2
/* f06fe18: 102001dd */ beqz $at,.L0f070590
/* f06fe1c: a7190062 */ sh $t9,0x62($t8)
/* f06fe20: 100001db */ b .L0f070590
/* f06fe24: a7070062 */ sh $a3,0x62($t8)
.L0f06fe28:
/* f06fe28: 546001da */ bnezl $v1,.L0f070594
/* f06fe2c: 8e190010 */ lw $t9,0x10($s0)
/* f06fe30: 8e0f000c */ lw $t7,0xc($s0)
/* f06fe34: 2405000d */ addiu $a1,$zero,0xd
/* f06fe38: 000f7000 */ sll $t6,$t7,0x0
/* f06fe3c: 05c10002 */ bgez $t6,.L0f06fe48
/* f06fe40: 00000000 */ nop
/* f06fe44: 24050011 */ addiu $a1,$zero,0x11
.L0f06fe48:
/* f06fe48: 0fc1bcc5 */ jal propExplode
/* f06fe4c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06fe50: 104001cf */ beqz $v0,.L0f070590
/* f06fe54: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06fe58: 2419ffff */ addiu $t9,$zero,-1
/* f06fe5c: a7190062 */ sh $t9,0x62($t8)
/* f06fe60: 8e0f0040 */ lw $t7,0x40($s0)
/* f06fe64: 35ee0004 */ ori $t6,$t7,0x4
/* f06fe68: 100001c9 */ b .L0f070590
/* f06fe6c: ae0e0040 */ sw $t6,0x40($s0)
/* f06fe70: 24010021 */ addiu $at,$zero,0x21
.L0f06fe74:
/* f06fe74: 10410012 */ beq $v0,$at,.L0f06fec0
/* f06fe78: 2401000f */ addiu $at,$zero,0xf
/* f06fe7c: 14410005 */ bne $v0,$at,.L0f06fe94
/* f06fe80: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06fe84: 9338005f */ lbu $t8,0x5f($t9)
/* f06fe88: 24070001 */ addiu $a3,$zero,0x1
/* f06fe8c: 50f8000d */ beql $a3,$t8,.L0f06fec4
/* f06fe90: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06fe94:
/* f06fe94: 14c20005 */ bne $a2,$v0,.L0f06feac
/* f06fe98: 24070001 */ addiu $a3,$zero,0x1
/* f06fe9c: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06fea0: 91ee005f */ lbu $t6,0x5f($t7)
/* f06fea4: 50ee0007 */ beql $a3,$t6,.L0f06fec4
/* f06fea8: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06feac:
/* f06feac: 14a200af */ bne $a1,$v0,.L0f07016c
/* f06feb0: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06feb4: 9338005f */ lbu $t8,0x5f($t9)
/* f06feb8: 54f800ad */ bnel $a3,$t8,.L0f070170
/* f06febc: 24010056 */ addiu $at,$zero,0x56
.L0f06fec0:
/* f06fec0: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06fec4:
/* f06fec4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fec8: 24070001 */ addiu $a3,$zero,0x1
/* f06fecc: 85e30062 */ lh $v1,0x62($t7)
/* f06fed0: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fed4: 28610002 */ slti $at,$v1,0x2
/* f06fed8: 1420000e */ bnez $at,.L0f06ff14
/* f06fedc: 00000000 */ nop
/* f06fee0: 8dae0034 */ lw $t6,0x34($t5)
/* f06fee4: 01e02025 */ or $a0,$t7,$zero
/* f06fee8: 006ec823 */ subu $t9,$v1,$t6
/* f06feec: 2b210002 */ slti $at,$t9,0x2
/* f06fef0: a5f90062 */ sh $t9,0x62($t7)
/* f06fef4: 10200025 */ beqz $at,.L0f06ff8c
/* f06fef8: 03201825 */ or $v1,$t9,$zero
/* f06fefc: 0fc22ad9 */ jal weaponRegisterProxy
/* f06ff00: a5e70062 */ sh $a3,0x62($t7)
/* f06ff04: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06ff08: 2405001f */ addiu $a1,$zero,0x1f
/* f06ff0c: 1000001f */ b .L0f06ff8c
/* f06ff10: 87030062 */ lh $v1,0x62($t8)
.L0f06ff14:
/* f06ff14: 14e3001d */ bne $a3,$v1,.L0f06ff8c
/* f06ff18: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06ff1c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06ff20: 8dae0284 */ lw $t6,0x284($t5)
/* f06ff24: 8fb901b0 */ lw $t9,0x1b0($sp)
/* f06ff28: 3c017f1b */ lui $at,%hi(var7f1aa2c0)
/* f06ff2c: 8dc200bc */ lw $v0,0xbc($t6)
/* f06ff30: c7240008 */ lwc1 $f4,0x8($t9)
/* f06ff34: c728000c */ lwc1 $f8,0xc($t9)
/* f06ff38: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06ff3c: c446000c */ lwc1 $f6,0xc($v0)
/* f06ff40: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06ff44: 46045001 */ sub.s $f0,$f10,$f4
/* f06ff48: c7240010 */ lwc1 $f4,0x10($t9)
/* f06ff4c: c44a0010 */ lwc1 $f10,0x10($v0)
/* f06ff50: 46083081 */ sub.s $f2,$f6,$f8
/* f06ff54: 46000182 */ mul.s $f6,$f0,$f0
/* f06ff58: 24420008 */ addiu $v0,$v0,0x8
/* f06ff5c: 46045301 */ sub.s $f12,$f10,$f4
/* f06ff60: 46021202 */ mul.s $f8,$f2,$f2
/* f06ff64: 46083280 */ add.s $f10,$f6,$f8
/* f06ff68: 460c6102 */ mul.s $f4,$f12,$f12
/* f06ff6c: c428a2c0 */ lwc1 $f8,%lo(var7f1aa2c0)($at)
/* f06ff70: 46045180 */ add.s $f6,$f10,$f4
/* f06ff74: 4608303c */ c.lt.s $f6,$f8
/* f06ff78: 00000000 */ nop
/* f06ff7c: 45000003 */ bc1f .L0f06ff8c
/* f06ff80: 00000000 */ nop
/* f06ff84: a5e00062 */ sh $zero,0x62($t7)
/* f06ff88: 00001825 */ or $v1,$zero,$zero
.L0f06ff8c:
/* f06ff8c: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06ff90: 1460017f */ bnez $v1,.L0f070590
/* f06ff94: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06ff98: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06ff9c: 2401000f */ addiu $at,$zero,0xf
/* f06ffa0: 9302005c */ lbu $v0,0x5c($t8)
/* f06ffa4: 54a2005e */ bnel $a1,$v0,.L0f070120
/* f06ffa8: 8e18000c */ lw $t8,0xc($s0)
/* f06ffac: 8e040040 */ lw $a0,0x40($s0)
/* f06ffb0: 8daf0318 */ lw $t7,0x318($t5)
/* f06ffb4: 3c01f000 */ lui $at,0xf000
/* f06ffb8: 00817024 */ and $t6,$a0,$at
/* f06ffbc: 00002825 */ or $a1,$zero,$zero
/* f06ffc0: 11e00006 */ beqz $t7,.L0f06ffdc
/* f06ffc4: 000e2702 */ srl $a0,$t6,0x1c
/* f06ffc8: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f06ffcc: afa00154 */ sw $zero,0x154($sp)
/* f06ffd0: 10400002 */ beqz $v0,.L0f06ffdc
/* f06ffd4: 8fa50154 */ lw $a1,0x154($sp)
/* f06ffd8: 8c45001c */ lw $a1,0x1c($v0)
.L0f06ffdc:
/* f06ffdc: 8fa601b0 */ lw $a2,0x1b0($sp)
/* f06ffe0: 0fc0287e */ jal nbombCreateStorm
/* f06ffe4: 24c40008 */ addiu $a0,$a2,0x8
/* f06ffe8: 0fc10e62 */ jal propUnsetDangerous
/* f06ffec: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06fff0: 8e0e0040 */ lw $t6,0x40($s0)
/* f06fff4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fff8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fffc: 35d90004 */ ori $t9,$t6,0x4
/* f070000: ae190040 */ sw $t9,0x40($s0)
/* f070004: 8dab006c */ lw $t3,0x6c($t5)
/* f070008: 00004025 */ or $t0,$zero,$zero
/* f07000c: 00003025 */ or $a2,$zero,$zero
/* f070010: 11600003 */ beqz $t3,.L0f070020
/* f070014: 00002025 */ or $a0,$zero,$zero
/* f070018: 10000001 */ b .L0f070020
/* f07001c: 24060001 */ addiu $a2,$zero,0x1
.L0f070020:
/* f070020: 8daa0068 */ lw $t2,0x68($t5)
/* f070024: 00001025 */ or $v0,$zero,$zero
/* f070028: 00002825 */ or $a1,$zero,$zero
/* f07002c: 11400003 */ beqz $t2,.L0f07003c
/* f070030: 0008c880 */ sll $t9,$t0,0x2
/* f070034: 10000001 */ b .L0f07003c
/* f070038: 24040001 */ addiu $a0,$zero,0x1
.L0f07003c:
/* f07003c: 8da90064 */ lw $t1,0x64($t5)
/* f070040: 01b91821 */ addu $v1,$t5,$t9
/* f070044: 240c0003 */ addiu $t4,$zero,0x3
/* f070048: 11200003 */ beqz $t1,.L0f070058
/* f07004c: 00000000 */ nop
/* f070050: 10000001 */ b .L0f070058
/* f070054: 24020001 */ addiu $v0,$zero,0x1
.L0f070058:
/* f070058: 8da70070 */ lw $a3,0x70($t5)
/* f07005c: 10e00003 */ beqz $a3,.L0f07006c
/* f070060: 00000000 */ nop
/* f070064: 10000001 */ b .L0f07006c
/* f070068: 24050001 */ addiu $a1,$zero,0x1
.L0f07006c:
/* f07006c: 00a27821 */ addu $t7,$a1,$v0
/* f070070: 01e4c021 */ addu $t8,$t7,$a0
/* f070074: 03067021 */ addu $t6,$t8,$a2
/* f070078: 59c00146 */ blezl $t6,.L0f070594
/* f07007c: 8e190010 */ lw $t9,0x10($s0)
/* f070080: 8c620064 */ lw $v0,0x64($v1)
.L0f070084:
/* f070084: 25080001 */ addiu $t0,$t0,0x1
/* f070088: 00003025 */ or $a2,$zero,$zero
/* f07008c: 8c4f0264 */ lw $t7,0x264($v0)
/* f070090: 00002025 */ or $a0,$zero,$zero
/* f070094: 00002825 */ or $a1,$zero,$zero
/* f070098: 160f0008 */ bne $s0,$t7,.L0f0700bc
/* f07009c: 00000000 */ nop
/* f0700a0: ac400264 */ sw $zero,0x264($v0)
/* f0700a4: 8c780064 */ lw $t8,0x64($v1)
/* f0700a8: a70c0010 */ sh $t4,0x10($t8)
/* f0700ac: 8da70070 */ lw $a3,0x70($t5)
/* f0700b0: 8da90064 */ lw $t1,0x64($t5)
/* f0700b4: 8daa0068 */ lw $t2,0x68($t5)
/* f0700b8: 8dab006c */ lw $t3,0x6c($t5)
.L0f0700bc:
/* f0700bc: 11600003 */ beqz $t3,.L0f0700cc
/* f0700c0: 24630004 */ addiu $v1,$v1,0x4
/* f0700c4: 10000001 */ b .L0f0700cc
/* f0700c8: 24060001 */ addiu $a2,$zero,0x1
.L0f0700cc:
/* f0700cc: 11400003 */ beqz $t2,.L0f0700dc
/* f0700d0: 00001025 */ or $v0,$zero,$zero
/* f0700d4: 10000001 */ b .L0f0700dc
/* f0700d8: 24040001 */ addiu $a0,$zero,0x1
.L0f0700dc:
/* f0700dc: 11200003 */ beqz $t1,.L0f0700ec
/* f0700e0: 00000000 */ nop
/* f0700e4: 10000001 */ b .L0f0700ec
/* f0700e8: 24020001 */ addiu $v0,$zero,0x1
.L0f0700ec:
/* f0700ec: 10e00003 */ beqz $a3,.L0f0700fc
/* f0700f0: 00000000 */ nop
/* f0700f4: 10000001 */ b .L0f0700fc
/* f0700f8: 24050001 */ addiu $a1,$zero,0x1
.L0f0700fc:
/* f0700fc: 00a27021 */ addu $t6,$a1,$v0
/* f070100: 01c4c821 */ addu $t9,$t6,$a0
/* f070104: 03267821 */ addu $t7,$t9,$a2
/* f070108: 010f082a */ slt $at,$t0,$t7
/* f07010c: 5420ffdd */ bnezl $at,.L0f070084
/* f070110: 8c620064 */ lw $v0,0x64($v1)
/* f070114: 1000011f */ b .L0f070594
/* f070118: 8e190010 */ lw $t9,0x10($s0)
/* f07011c: 8e18000c */ lw $t8,0xc($s0)
.L0f070120:
/* f070120: 2405000d */ addiu $a1,$zero,0xd
/* f070124: 00187000 */ sll $t6,$t8,0x0
/* f070128: 05c10003 */ bgez $t6,.L0f070138
/* f07012c: 00000000 */ nop
/* f070130: 10000001 */ b .L0f070138
/* f070134: 24050011 */ addiu $a1,$zero,0x11
.L0f070138:
/* f070138: 14410002 */ bne $v0,$at,.L0f070144
/* f07013c: 00000000 */ nop
/* f070140: 24050017 */ addiu $a1,$zero,0x17
.L0f070144:
/* f070144: 0fc1bcc5 */ jal propExplode
/* f070148: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f07014c: 10400110 */ beqz $v0,.L0f070590
/* f070150: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f070154: 2419ffff */ addiu $t9,$zero,-1
/* f070158: a5f90062 */ sh $t9,0x62($t7)
/* f07015c: 8e180040 */ lw $t8,0x40($s0)
/* f070160: 370e0004 */ ori $t6,$t8,0x4
/* f070164: 1000010a */ b .L0f070590
/* f070168: ae0e0040 */ sw $t6,0x40($s0)
.L0f07016c:
/* f07016c: 24010056 */ addiu $at,$zero,0x56
.L0f070170:
/* f070170: 54410108 */ bnel $v0,$at,.L0f070594
/* f070174: 8e190010 */ lw $t9,0x10($s0)
/* f070178: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f07017c: 87230062 */ lh $v1,0x62($t9)
/* f070180: 28610002 */ slti $at,$v1,0x2
/* f070184: 14200099 */ bnez $at,.L0f0703ec
/* f070188: 00000000 */ nop
/* f07018c: 0fc1a2aa */ jal modelFindBboxRodata
/* f070190: 8e040018 */ lw $a0,0x18($s0)
/* f070194: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f070198: 3c014140 */ lui $at,0x4140
/* f07019c: 44811000 */ mtc1 $at,$f2
/* f0701a0: 85e30062 */ lh $v1,0x62($t7)
/* f0701a4: 3c017f1b */ lui $at,%hi(var7f1aa2c4)
/* f0701a8: c42ea2c4 */ lwc1 $f14,%lo(var7f1aa2c4)($at)
/* f0701ac: 2463ffff */ addiu $v1,$v1,-1
/* f0701b0: 44835000 */ mtc1 $v1,$f10
/* f0701b4: 2861000c */ slti $at,$v1,0xc
/* f0701b8: 24070001 */ addiu $a3,$zero,0x1
/* f0701bc: 46805120 */ cvt.s.w $f4,$f10
/* f0701c0: 00403025 */ or $a2,$v0,$zero
/* f0701c4: 24780001 */ addiu $t8,$v1,0x1
/* f0701c8: 306e0001 */ andi $t6,$v1,0x1
/* f0701cc: 27a500b8 */ addiu $a1,$sp,0xb8
/* f0701d0: 46022183 */ div.s $f6,$f4,$f2
/* f0701d4: 460e3002 */ mul.s $f0,$f6,$f14
/* f0701d8: 10200007 */ beqz $at,.L0f0701f8
/* f0701dc: 46000306 */ mov.s $f12,$f0
/* f0701e0: 44984000 */ mtc1 $t8,$f8
/* f0701e4: 00000000 */ nop
/* f0701e8: 468042a0 */ cvt.s.w $f10,$f8
/* f0701ec: 46025103 */ div.s $f4,$f10,$f2
/* f0701f0: 46047182 */ mul.s $f6,$f14,$f4
/* f0701f4: 46060300 */ add.s $f12,$f0,$f6
.L0f0701f8:
/* f0701f8: 14ee0002 */ bne $a3,$t6,.L0f070204
/* f0701fc: 00000000 */ nop
/* f070200: 46006307 */ neg.s $f12,$f12
.L0f070204:
/* f070204: 0c0058dd */ jal mtx4LoadYRotation
/* f070208: afa60140 */ sw $a2,0x140($sp)
/* f07020c: 8e030048 */ lw $v1,0x48($s0)
/* f070210: 8fa60140 */ lw $a2,0x140($sp)
/* f070214: 8fb901b0 */ lw $t9,0x1b0($sp)
/* f070218: 50600040 */ beqzl $v1,.L0f07031c
/* f07021c: 44808000 */ mtc1 $zero,$f16
/* f070220: 8f220018 */ lw $v0,0x18($t9)
/* f070224: 5040006e */ beqzl $v0,.L0f0703e0
/* f070228: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f07022c: 904f0000 */ lbu $t7,0x0($v0)
/* f070230: 24010003 */ addiu $at,$zero,0x3
/* f070234: 24640004 */ addiu $a0,$v1,0x4
/* f070238: 11e10068 */ beq $t7,$at,.L0f0703dc
/* f07023c: 27a500f8 */ addiu $a1,$sp,0xf8
/* f070240: 0c005746 */ jal mtx4Copy
/* f070244: afa60140 */ sw $a2,0x140($sp)
/* f070248: 44800000 */ mtc1 $zero,$f0
/* f07024c: 8fa40140 */ lw $a0,0x140($sp)
/* f070250: e7a0012c */ swc1 $f0,0x12c($sp)
/* f070254: e7a00128 */ swc1 $f0,0x128($sp)
/* f070258: e7a00114 */ swc1 $f0,0x114($sp)
/* f07025c: e7a00104 */ swc1 $f0,0x104($sp)
/* f070260: e7a00070 */ swc1 $f0,0x70($sp)
/* f070264: e7a00060 */ swc1 $f0,0x60($sp)
/* f070268: e7a0006c */ swc1 $f0,0x6c($sp)
/* f07026c: e7a00130 */ swc1 $f0,0x130($sp)
/* f070270: e7a00124 */ swc1 $f0,0x124($sp)
/* f070274: 0fc199f5 */ jal modelBboxGetZMax
/* f070278: e7a00064 */ swc1 $f0,0x64($sp)
/* f07027c: e7a00068 */ swc1 $f0,0x68($sp)
/* f070280: e7a00074 */ swc1 $f0,0x74($sp)
/* f070284: 27a400f8 */ addiu $a0,$sp,0xf8
/* f070288: 27a500b8 */ addiu $a1,$sp,0xb8
/* f07028c: 0c005680 */ jal mtx4MultMtx4
/* f070290: 27a60078 */ addiu $a2,$sp,0x78
/* f070294: 27a400f8 */ addiu $a0,$sp,0xf8
/* f070298: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f07029c: 27a5006c */ addiu $a1,$sp,0x6c
/* f0702a0: 27a40078 */ addiu $a0,$sp,0x78
/* f0702a4: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f0702a8: 27a50060 */ addiu $a1,$sp,0x60
/* f0702ac: c7a80060 */ lwc1 $f8,0x60($sp)
/* f0702b0: c7aa006c */ lwc1 $f10,0x6c($sp)
/* f0702b4: 8e180048 */ lw $t8,0x48($s0)
/* f0702b8: 27a40078 */ addiu $a0,$sp,0x78
/* f0702bc: 460a4101 */ sub.s $f4,$f8,$f10
/* f0702c0: c7060034 */ lwc1 $f6,0x34($t8)
/* f0702c4: c7aa0064 */ lwc1 $f10,0x64($sp)
/* f0702c8: 46043201 */ sub.s $f8,$f6,$f4
/* f0702cc: c7a60070 */ lwc1 $f6,0x70($sp)
/* f0702d0: e7a800a8 */ swc1 $f8,0xa8($sp)
/* f0702d4: 8e0e0048 */ lw $t6,0x48($s0)
/* f0702d8: 46065101 */ sub.s $f4,$f10,$f6
/* f0702dc: c7a60068 */ lwc1 $f6,0x68($sp)
/* f0702e0: c5c80038 */ lwc1 $f8,0x38($t6)
/* f0702e4: 46044281 */ sub.s $f10,$f8,$f4
/* f0702e8: c7a80074 */ lwc1 $f8,0x74($sp)
/* f0702ec: e7aa00ac */ swc1 $f10,0xac($sp)
/* f0702f0: 8e190048 */ lw $t9,0x48($s0)
/* f0702f4: 46083101 */ sub.s $f4,$f6,$f8
/* f0702f8: c72a003c */ lwc1 $f10,0x3c($t9)
/* f0702fc: 46045181 */ sub.s $f6,$f10,$f4
/* f070300: e7a600b0 */ swc1 $f6,0xb0($sp)
/* f070304: 8e050048 */ lw $a1,0x48($s0)
/* f070308: 0c005746 */ jal mtx4Copy
/* f07030c: 24a50004 */ addiu $a1,$a1,0x4
/* f070310: 10000033 */ b .L0f0703e0
/* f070314: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f070318: 44808000 */ mtc1 $zero,$f16
.L0f07031c:
/* f07031c: 00c02025 */ or $a0,$a2,$zero
/* f070320: e7b00070 */ swc1 $f16,0x70($sp)
/* f070324: e7b00060 */ swc1 $f16,0x60($sp)
/* f070328: e7b0006c */ swc1 $f16,0x6c($sp)
/* f07032c: 0fc199f5 */ jal modelBboxGetZMax
/* f070330: e7b00064 */ swc1 $f16,0x64($sp)
/* f070334: 2604001c */ addiu $a0,$s0,0x1c
/* f070338: e7a00068 */ swc1 $f0,0x68($sp)
/* f07033c: e7a00074 */ swc1 $f0,0x74($sp)
/* f070340: afa40038 */ sw $a0,0x38($sp)
/* f070344: 0c005755 */ jal mtx3ToMtx4
/* f070348: 27a500f8 */ addiu $a1,$sp,0xf8
/* f07034c: 27a400f8 */ addiu $a0,$sp,0xf8
/* f070350: 27a500b8 */ addiu $a1,$sp,0xb8
/* f070354: 0c005680 */ jal mtx4MultMtx4
/* f070358: 27a60078 */ addiu $a2,$sp,0x78
/* f07035c: 27a40078 */ addiu $a0,$sp,0x78
/* f070360: 0c005768 */ jal mtx4ToMtx3
/* f070364: 8fa50038 */ lw $a1,0x38($sp)
/* f070368: 27a400f8 */ addiu $a0,$sp,0xf8
/* f07036c: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f070370: 27a5006c */ addiu $a1,$sp,0x6c
/* f070374: 27a40078 */ addiu $a0,$sp,0x78
/* f070378: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f07037c: 27a50060 */ addiu $a1,$sp,0x60
/* f070380: c7a80060 */ lwc1 $f8,0x60($sp)
/* f070384: c7aa006c */ lwc1 $f10,0x6c($sp)
/* f070388: 8faf01b0 */ lw $t7,0x1b0($sp)
/* f07038c: 02002025 */ or $a0,$s0,$zero
/* f070390: 460a4101 */ sub.s $f4,$f8,$f10
/* f070394: c5e60008 */ lwc1 $f6,0x8($t7)
/* f070398: 00002825 */ or $a1,$zero,$zero
/* f07039c: 24060001 */ addiu $a2,$zero,0x1
/* f0703a0: 46043201 */ sub.s $f8,$f6,$f4
/* f0703a4: e5e80008 */ swc1 $f8,0x8($t7)
/* f0703a8: c7a60070 */ lwc1 $f6,0x70($sp)
/* f0703ac: c7aa0064 */ lwc1 $f10,0x64($sp)
/* f0703b0: c5e8000c */ lwc1 $f8,0xc($t7)
/* f0703b4: 46065101 */ sub.s $f4,$f10,$f6
/* f0703b8: 46044281 */ sub.s $f10,$f8,$f4
/* f0703bc: e5ea000c */ swc1 $f10,0xc($t7)
/* f0703c0: c7a80074 */ lwc1 $f8,0x74($sp)
/* f0703c4: c7a60068 */ lwc1 $f6,0x68($sp)
/* f0703c8: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f0703cc: 46083101 */ sub.s $f4,$f6,$f8
/* f0703d0: 46045181 */ sub.s $f6,$f10,$f4
/* f0703d4: 0fc1a71c */ jal func0f069c70
/* f0703d8: e5e60010 */ swc1 $f6,0x10($t7)
.L0f0703dc:
/* f0703dc: 8fb801a8 */ lw $t8,0x1a8($sp)
.L0f0703e0:
/* f0703e0: 870e0062 */ lh $t6,0x62($t8)
/* f0703e4: 25c3ffff */ addiu $v1,$t6,-1
/* f0703e8: a7030062 */ sh $v1,0x62($t8)
.L0f0703ec:
/* f0703ec: 04610023 */ bgez $v1,.L0f07047c
/* f0703f0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f0703f4: 8e030048 */ lw $v1,0x48($s0)
/* f0703f8: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f0703fc: 0fc2bb15 */ jal func0f0aec54
/* f070400: afa3005c */ sw $v1,0x5c($sp)
/* f070404: 2401ffff */ addiu $at,$zero,-1
/* f070408: 8fa3005c */ lw $v1,0x5c($sp)
/* f07040c: 10410019 */ beq $v0,$at,.L0f070474
/* f070410: 00402025 */ or $a0,$v0,$zero
/* f070414: 8fa501b0 */ lw $a1,0x1b0($sp)
/* f070418: afa3005c */ sw $v1,0x5c($sp)
/* f07041c: afa20058 */ sw $v0,0x58($sp)
/* f070420: 0fc2bb5c */ jal func0f0aed70
/* f070424: 24a50008 */ addiu $a1,$a1,0x8
/* f070428: 3c05453b */ lui $a1,0x453b
/* f07042c: 34a58000 */ ori $a1,$a1,0x8000
/* f070430: 8fa40058 */ lw $a0,0x58($sp)
/* f070434: 0fc2bb69 */ jal func0f0aeda4
/* f070438: 00003025 */ or $a2,$zero,$zero
/* f07043c: 8fa3005c */ lw $v1,0x5c($sp)
/* f070440: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f070444: 3c0544af */ lui $a1,0x44af
/* f070448: 10600005 */ beqz $v1,.L0f070460
/* f07044c: 00000000 */ nop
/* f070450: 8c6f0090 */ lw $t7,0x90($v1)
/* f070454: 19e00002 */ blez $t7,.L0f070460
/* f070458: 00000000 */ nop
/* f07045c: 00001825 */ or $v1,$zero,$zero
.L0f070460:
/* f070460: 14600004 */ bnez $v1,.L0f070474
/* f070464: 00000000 */ nop
/* f070468: a5c00062 */ sh $zero,0x62($t6)
/* f07046c: 0fc2bbaa */ jal func0f0aeea8
/* f070470: 8fa40058 */ lw $a0,0x58($sp)
.L0f070474:
/* f070474: 10000047 */ b .L0f070594
/* f070478: 8e190010 */ lw $t9,0x10($s0)
.L0f07047c:
/* f07047c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f070480: 8dab006c */ lw $t3,0x6c($t5)
/* f070484: 00004025 */ or $t0,$zero,$zero
/* f070488: 00003025 */ or $a2,$zero,$zero
/* f07048c: 11600003 */ beqz $t3,.L0f07049c
/* f070490: 00002025 */ or $a0,$zero,$zero
/* f070494: 10000001 */ b .L0f07049c
/* f070498: 24060001 */ addiu $a2,$zero,0x1
.L0f07049c:
/* f07049c: 8daa0068 */ lw $t2,0x68($t5)
/* f0704a0: 00001025 */ or $v0,$zero,$zero
/* f0704a4: 00002825 */ or $a1,$zero,$zero
/* f0704a8: 11400003 */ beqz $t2,.L0f0704b8
/* f0704ac: 00087080 */ sll $t6,$t0,0x2
/* f0704b0: 10000001 */ b .L0f0704b8
/* f0704b4: 24040001 */ addiu $a0,$zero,0x1
.L0f0704b8:
/* f0704b8: 8da90064 */ lw $t1,0x64($t5)
/* f0704bc: 01ae1821 */ addu $v1,$t5,$t6
/* f0704c0: 240c0003 */ addiu $t4,$zero,0x3
/* f0704c4: 11200003 */ beqz $t1,.L0f0704d4
/* f0704c8: 00000000 */ nop
/* f0704cc: 10000001 */ b .L0f0704d4
/* f0704d0: 24020001 */ addiu $v0,$zero,0x1
.L0f0704d4:
/* f0704d4: 8da70070 */ lw $a3,0x70($t5)
/* f0704d8: 10e00003 */ beqz $a3,.L0f0704e8
/* f0704dc: 00000000 */ nop
/* f0704e0: 10000001 */ b .L0f0704e8
/* f0704e4: 24050001 */ addiu $a1,$zero,0x1
.L0f0704e8:
/* f0704e8: 00a2c021 */ addu $t8,$a1,$v0
/* f0704ec: 0304c821 */ addu $t9,$t8,$a0
/* f0704f0: 03267821 */ addu $t7,$t9,$a2
/* f0704f4: 59e00027 */ blezl $t7,.L0f070594
/* f0704f8: 8e190010 */ lw $t9,0x10($s0)
/* f0704fc: 8c620064 */ lw $v0,0x64($v1)
.L0f070500:
/* f070500: 25080001 */ addiu $t0,$t0,0x1
/* f070504: 00003025 */ or $a2,$zero,$zero
/* f070508: 8c580264 */ lw $t8,0x264($v0)
/* f07050c: 00002025 */ or $a0,$zero,$zero
/* f070510: 00002825 */ or $a1,$zero,$zero
/* f070514: 16180008 */ bne $s0,$t8,.L0f070538
/* f070518: 00000000 */ nop
/* f07051c: ac400264 */ sw $zero,0x264($v0)
/* f070520: 8c790064 */ lw $t9,0x64($v1)
/* f070524: a72c0010 */ sh $t4,0x10($t9)
/* f070528: 8da70070 */ lw $a3,0x70($t5)
/* f07052c: 8da90064 */ lw $t1,0x64($t5)
/* f070530: 8daa0068 */ lw $t2,0x68($t5)
/* f070534: 8dab006c */ lw $t3,0x6c($t5)
.L0f070538:
/* f070538: 11600003 */ beqz $t3,.L0f070548
/* f07053c: 24630004 */ addiu $v1,$v1,0x4
/* f070540: 10000001 */ b .L0f070548
/* f070544: 24060001 */ addiu $a2,$zero,0x1
.L0f070548:
/* f070548: 11400003 */ beqz $t2,.L0f070558
/* f07054c: 00001025 */ or $v0,$zero,$zero
/* f070550: 10000001 */ b .L0f070558
/* f070554: 24040001 */ addiu $a0,$zero,0x1
.L0f070558:
/* f070558: 11200003 */ beqz $t1,.L0f070568
/* f07055c: 00000000 */ nop
/* f070560: 10000001 */ b .L0f070568
/* f070564: 24020001 */ addiu $v0,$zero,0x1
.L0f070568:
/* f070568: 10e00003 */ beqz $a3,.L0f070578
/* f07056c: 00000000 */ nop
/* f070570: 10000001 */ b .L0f070578
/* f070574: 24050001 */ addiu $a1,$zero,0x1
.L0f070578:
/* f070578: 00a27821 */ addu $t7,$a1,$v0
/* f07057c: 01e47021 */ addu $t6,$t7,$a0
/* f070580: 01c6c021 */ addu $t8,$t6,$a2
/* f070584: 0118082a */ slt $at,$t0,$t8
/* f070588: 5420ffdd */ bnezl $at,.L0f070500
/* f07058c: 8c620064 */ lw $v0,0x64($v1)
.L0f070590:
/* f070590: 8e190010 */ lw $t9,0x10($s0)
.L0f070594:
/* f070594: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f070598: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f07059c: 332f0100 */ andi $t7,$t9,0x100
/* f0705a0: 11e0000a */ beqz $t7,.L0f0705cc
/* f0705a4: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f0705a8: 81d80060 */ lb $t8,0x60($t6)
/* f0705ac: 8db90038 */ lw $t9,0x38($t5)
/* f0705b0: 03197823 */ subu $t7,$t8,$t9
/* f0705b4: 1de00005 */ bgtz $t7,.L0f0705cc
/* f0705b8: a1cf0060 */ sb $t7,0x60($t6)
/* f0705bc: a1c00060 */ sb $zero,0x60($t6)
/* f0705c0: 8e180040 */ lw $t8,0x40($s0)
/* f0705c4: 37190004 */ ori $t9,$t8,0x4
/* f0705c8: ae190040 */ sw $t9,0x40($s0)
.L0f0705cc:
/* f0705cc: 8e0f0010 */ lw $t7,0x10($s0)
/* f0705d0: 8fb801b0 */ lw $t8,0x1b0($sp)
/* f0705d4: 31ee0080 */ andi $t6,$t7,0x80
/* f0705d8: 51c00014 */ beqzl $t6,.L0f07062c
/* f0705dc: 8fbf001c */ lw $ra,0x1c($sp)
/* f0705e0: 93190001 */ lbu $t9,0x1($t8)
/* f0705e4: 332f0002 */ andi $t7,$t9,0x2
/* f0705e8: 51e00010 */ beqzl $t7,.L0f07062c
/* f0705ec: 8fbf001c */ lw $ra,0x1c($sp)
/* f0705f0: 8dae043c */ lw $t6,0x43c($t5)
/* f0705f4: 25d80001 */ addiu $t8,$t6,0x1
/* f0705f8: 2b010015 */ slti $at,$t8,0x15
/* f0705fc: 1420000a */ bnez $at,.L0f070628
/* f070600: adb8043c */ sw $t8,0x43c($t5)
/* f070604: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f070608: 240f003c */ addiu $t7,$zero,0x32
/* f07060c: 2401ff7f */ addiu $at,$zero,-129
/* f070610: a1cf0060 */ sb $t7,0x60($t6)
/* f070614: 8e180010 */ lw $t8,0x10($s0)
/* f070618: 0301c824 */ and $t9,$t8,$at
/* f07061c: ae190010 */ sw $t9,0x10($s0)
/* f070620: 372e0100 */ ori $t6,$t9,0x100
/* f070624: ae0e0010 */ sw $t6,0x10($s0)
.L0f070628:
/* f070628: 8fbf001c */ lw $ra,0x1c($sp)
.L0f07062c:
/* f07062c: 8fb00018 */ lw $s0,0x18($sp)
/* f070630: 27bd01b0 */ addiu $sp,$sp,0x1b0
/* f070634: 03e00008 */ jr $ra
/* f070638: 00000000 */ nop
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel weaponTick
.late_rodata
glabel var7f1aa2c0
.word 0x47742400
glabel var7f1aa2c4
.word 0x3cd67750
.text
/* f06f54c: 27bdfe50 */ addiu $sp,$sp,-432
/* f06f550: afbf001c */ sw $ra,0x1c($sp)
/* f06f554: afb00018 */ sw $s0,0x18($sp)
/* f06f558: afa401b0 */ sw $a0,0x1b0($sp)
/* f06f55c: 8c820004 */ lw $v0,0x4($a0)
/* f06f560: 2406001e */ addiu $a2,$zero,0x1e
/* f06f564: afa201a8 */ sw $v0,0x1a8($sp)
/* f06f568: 904f005c */ lbu $t7,0x5c($v0)
/* f06f56c: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06f570: 00408025 */ or $s0,$v0,$zero
/* f06f574: 54cf0005 */ bnel $a2,$t7,.L0f06f58c
/* f06f578: 91c2005c */ lbu $v0,0x5c($t6)
/* f06f57c: 9059005f */ lbu $t9,0x5f($v0)
/* f06f580: 53200006 */ beqzl $t9,.L0f06f59c
/* f06f584: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06f588: 91c2005c */ lbu $v0,0x5c($t6)
.L0f06f58c:
/* f06f58c: 24010055 */ addiu $at,$zero,0x55
/* f06f590: 544100cf */ bnel $v0,$at,.L0f06f8d0
/* f06f594: 2405001f */ addiu $a1,$zero,0x1f
/* f06f598: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06f59c:
/* f06f59c: 24010055 */ addiu $at,$zero,0x55
/* f06f5a0: 85e30062 */ lh $v1,0x62($t7)
/* f06f5a4: 91e2005c */ lbu $v0,0x5c($t7)
/* f06f5a8: 046200c9 */ bltzl $v1,.L0f06f8d0
/* f06f5ac: 2405001f */ addiu $a1,$zero,0x1f
/* f06f5b0: 1441005f */ bne $v0,$at,.L0f06f730
/* f06f5b4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f5b8: 91f8005f */ lbu $t8,0x5f($t7)
/* f06f5bc: 24070001 */ addiu $a3,$zero,0x1
/* f06f5c0: 14f8005b */ bne $a3,$t8,.L0f06f730
/* f06f5c4: 00000000 */ nop
/* f06f5c8: 18600059 */ blez $v1,.L0f06f730
/* f06f5cc: 28610002 */ slti $at,$v1,0x2
/* f06f5d0: 14200055 */ bnez $at,.L0f06f728
/* f06f5d4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f5d8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f5dc: 8db90034 */ lw $t9,0x34($t5)
/* f06f5e0: 00797023 */ subu $t6,$v1,$t9
/* f06f5e4: 29c10008 */ slti $at,$t6,0x8
/* f06f5e8: 102003e9 */ beqz $at,.L0f070590
/* f06f5ec: a5ee0062 */ sh $t6,0x62($t7)
/* f06f5f0: 3c198007 */ lui $t9,%hi(var800699fc)
/* f06f5f4: 273999fc */ addiu $t9,$t9,%lo(var800699fc)
/* f06f5f8: 8f210000 */ lw $at,0x0($t9)
/* f06f5fc: 27b8019c */ addiu $t8,$sp,0x19c
/* f06f600: 8f2e0004 */ lw $t6,0x4($t9)
/* f06f604: af010000 */ sw $at,0x0($t8)
/* f06f608: 8f210008 */ lw $at,0x8($t9)
/* f06f60c: af0e0004 */ sw $t6,0x4($t8)
/* f06f610: af010008 */ sw $at,0x8($t8)
/* f06f614: afa00194 */ sw $zero,0x194($sp)
/* f06f618: 0fc1a179 */ jal func0f0685e4
/* f06f61c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f620: 8e020040 */ lw $v0,0x40($s0)
/* f06f624: 8fa50194 */ lw $a1,0x194($sp)
/* f06f628: 24070001 */ addiu $a3,$zero,0x1
/* f06f62c: 304f0040 */ andi $t7,$v0,0x40
/* f06f630: 11e00004 */ beqz $t7,.L0f06f644
/* f06f634: 30590080 */ andi $t9,$v0,0x80
/* f06f638: 8e180048 */ lw $t8,0x48($s0)
/* f06f63c: 10000004 */ b .L0f06f650
/* f06f640: 8f050044 */ lw $a1,0x44($t8)
.L0f06f644:
/* f06f644: 13200002 */ beqz $t9,.L0f06f650
/* f06f648: 00000000 */ nop
/* f06f64c: 8e050048 */ lw $a1,0x48($s0)
.L0f06f650:
/* f06f650: 10a00032 */ beqz $a1,.L0f06f71c
/* f06f654: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06f658: 8fae01b0 */ lw $t6,0x1b0($sp)
/* f06f65c: 8dcf0018 */ lw $t7,0x18($t6)
/* f06f660: 01c01825 */ or $v1,$t6,$zero
/* f06f664: 11e00006 */ beqz $t7,.L0f06f680
/* f06f668: 00000000 */ nop
/* f06f66c: 8dc20018 */ lw $v0,0x18($t6)
/* f06f670: 00401825 */ or $v1,$v0,$zero
.L0f06f674:
/* f06f674: 8c420018 */ lw $v0,0x18($v0)
/* f06f678: 5440fffe */ bnezl $v0,.L0f06f674
/* f06f67c: 00401825 */ or $v1,$v0,$zero
.L0f06f680:
/* f06f680: 5060000d */ beqzl $v1,.L0f06f6b8
/* f06f684: 8cae0000 */ lw $t6,0x0($a1)
/* f06f688: 90620000 */ lbu $v0,0x0($v1)
/* f06f68c: 24010003 */ addiu $at,$zero,0x3
/* f06f690: 10410003 */ beq $v0,$at,.L0f06f6a0
/* f06f694: 24010006 */ addiu $at,$zero,0x6
/* f06f698: 54410007 */ bnel $v0,$at,.L0f06f6b8
/* f06f69c: 8cae0000 */ lw $t6,0x0($a1)
.L0f06f6a0:
/* f06f6a0: 8c620004 */ lw $v0,0x4($v1)
/* f06f6a4: 8c580014 */ lw $t8,0x14($v0)
/* f06f6a8: 37190001 */ ori $t9,$t8,0x1
/* f06f6ac: 10000005 */ b .L0f06f6c4
/* f06f6b0: ac590014 */ sw $t9,0x14($v0)
/* f06f6b4: 8cae0000 */ lw $t6,0x0($a1)
.L0f06f6b8:
/* f06f6b8: aca00088 */ sw $zero,0x88($a1)
/* f06f6bc: 35cf0001 */ ori $t7,$t6,0x1
/* f06f6c0: acaf0000 */ sw $t7,0x0($a1)
.L0f06f6c4:
/* f06f6c4: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06f6c8: a7070062 */ sh $a3,0x62($t8)
/* f06f6cc: afa50194 */ sw $a1,0x194($sp)
/* f06f6d0: 0fc1a1a5 */ jal objSetProjectileFlag4
/* f06f6d4: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f6d8: 8fa50194 */ lw $a1,0x194($sp)
/* f06f6dc: c7a4019c */ lwc1 $f4,0x19c($sp)
/* f06f6e0: 24a40020 */ addiu $a0,$a1,0x20
/* f06f6e4: e4a40004 */ swc1 $f4,0x4($a1)
/* f06f6e8: c7a601a0 */ lwc1 $f6,0x1a0($sp)
/* f06f6ec: e4a60008 */ swc1 $f6,0x8($a1)
/* f06f6f0: c7a801a4 */ lwc1 $f8,0x1a4($sp)
/* f06f6f4: 0c00566c */ jal mtx4LoadIdentity
/* f06f6f8: e4a8000c */ swc1 $f8,0xc($a1)
/* f06f6fc: 8fa50194 */ lw $a1,0x194($sp)
/* f06f700: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06f704: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f708: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f70c: acb900d4 */ sw $t9,0xd4($a1)
/* f06f710: 8dae000c */ lw $t6,0xc($t5)
/* f06f714: 1000039e */ b .L0f070590
/* f06f718: acae00d8 */ sw $t6,0xd8($a1)
.L0f06f71c:
/* f06f71c: 240f0002 */ addiu $t7,$zero,0x2
/* f06f720: 1000039b */ b .L0f070590
/* f06f724: a70f0062 */ sh $t7,0x62($t8)
.L0f06f728:
/* f06f728: 1000039a */ b .L0f070594
/* f06f72c: 8e190010 */ lw $t9,0x10($s0)
.L0f06f730:
/* f06f730: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f734: 8db90034 */ lw $t9,0x34($t5)
/* f06f738: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06f73c: 00797023 */ subu $t6,$v1,$t9
/* f06f740: 05c10393 */ bgez $t6,.L0f070590
/* f06f744: a5ee0062 */ sh $t6,0x62($t7)
/* f06f748: 0fc10e62 */ jal propUnsetDangerous
/* f06f74c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f750: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06f754: 24010002 */ addiu $at,$zero,0x2
/* f06f758: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f75c: 9319005f */ lbu $t9,0x5f($t8)
/* f06f760: 57210007 */ bnel $t9,$at,.L0f06f780
/* f06f764: 8e0f000c */ lw $t7,0xc($s0)
/* f06f768: 0fc1bcc5 */ jal propExplode
/* f06f76c: 24050015 */ addiu $a1,$zero,0x15
/* f06f770: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f774: 1000000c */ b .L0f06f7a8
/* f06f778: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f77c: 8e0f000c */ lw $t7,0xc($s0)
.L0f06f780:
/* f06f780: 2405000d */ addiu $a1,$zero,0xd
/* f06f784: 000f7000 */ sll $t6,$t7,0x0
/* f06f788: 05c10003 */ bgez $t6,.L0f06f798
/* f06f78c: 00000000 */ nop
/* f06f790: 10000001 */ b .L0f06f798
/* f06f794: 24050011 */ addiu $a1,$zero,0x11
.L0f06f798:
/* f06f798: 0fc1bcc5 */ jal propExplode
/* f06f79c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f7a0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f7a4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
.L0f06f7a8:
/* f06f7a8: 8e180040 */ lw $t8,0x40($s0)
/* f06f7ac: 00004025 */ or $t0,$zero,$zero
/* f06f7b0: 00003025 */ or $a2,$zero,$zero
/* f06f7b4: 37190004 */ ori $t9,$t8,0x4
/* f06f7b8: ae190040 */ sw $t9,0x40($s0)
/* f06f7bc: 8dab006c */ lw $t3,0x6c($t5)
/* f06f7c0: 00002025 */ or $a0,$zero,$zero
/* f06f7c4: 00001025 */ or $v0,$zero,$zero
/* f06f7c8: 11600003 */ beqz $t3,.L0f06f7d8
/* f06f7cc: 00002825 */ or $a1,$zero,$zero
/* f06f7d0: 10000001 */ b .L0f06f7d8
/* f06f7d4: 24060001 */ addiu $a2,$zero,0x1
.L0f06f7d8:
/* f06f7d8: 8daa0068 */ lw $t2,0x68($t5)
/* f06f7dc: 0008c880 */ sll $t9,$t0,0x2
/* f06f7e0: 01b91821 */ addu $v1,$t5,$t9
/* f06f7e4: 11400003 */ beqz $t2,.L0f06f7f4
/* f06f7e8: 240c0003 */ addiu $t4,$zero,0x3
/* f06f7ec: 10000001 */ b .L0f06f7f4
/* f06f7f0: 24040001 */ addiu $a0,$zero,0x1
.L0f06f7f4:
/* f06f7f4: 8da90064 */ lw $t1,0x64($t5)
/* f06f7f8: 11200003 */ beqz $t1,.L0f06f808
/* f06f7fc: 00000000 */ nop
/* f06f800: 10000001 */ b .L0f06f808
/* f06f804: 24020001 */ addiu $v0,$zero,0x1
.L0f06f808:
/* f06f808: 8da70070 */ lw $a3,0x70($t5)
/* f06f80c: 10e00003 */ beqz $a3,.L0f06f81c
/* f06f810: 00000000 */ nop
/* f06f814: 10000001 */ b .L0f06f81c
/* f06f818: 24050001 */ addiu $a1,$zero,0x1
.L0f06f81c:
/* f06f81c: 00a27821 */ addu $t7,$a1,$v0
/* f06f820: 01e47021 */ addu $t6,$t7,$a0
/* f06f824: 01c6c021 */ addu $t8,$t6,$a2
/* f06f828: 5b00035a */ blezl $t8,.L0f070594
/* f06f82c: 8e190010 */ lw $t9,0x10($s0)
/* f06f830: 8c620064 */ lw $v0,0x64($v1)
.L0f06f834:
/* f06f834: 25080001 */ addiu $t0,$t0,0x1
/* f06f838: 00003025 */ or $a2,$zero,$zero
/* f06f83c: 8c4f0264 */ lw $t7,0x264($v0)
/* f06f840: 00002025 */ or $a0,$zero,$zero
/* f06f844: 00002825 */ or $a1,$zero,$zero
/* f06f848: 160f0008 */ bne $s0,$t7,.L0f06f86c
/* f06f84c: 00000000 */ nop
/* f06f850: ac400264 */ sw $zero,0x264($v0)
/* f06f854: 8c6e0064 */ lw $t6,0x64($v1)
/* f06f858: a5cc0010 */ sh $t4,0x10($t6)
/* f06f85c: 8da70070 */ lw $a3,0x70($t5)
/* f06f860: 8da90064 */ lw $t1,0x64($t5)
/* f06f864: 8daa0068 */ lw $t2,0x68($t5)
/* f06f868: 8dab006c */ lw $t3,0x6c($t5)
.L0f06f86c:
/* f06f86c: 11600003 */ beqz $t3,.L0f06f87c
/* f06f870: 24630004 */ addiu $v1,$v1,0x4
/* f06f874: 10000001 */ b .L0f06f87c
/* f06f878: 24060001 */ addiu $a2,$zero,0x1
.L0f06f87c:
/* f06f87c: 11400003 */ beqz $t2,.L0f06f88c
/* f06f880: 00001025 */ or $v0,$zero,$zero
/* f06f884: 10000001 */ b .L0f06f88c
/* f06f888: 24040001 */ addiu $a0,$zero,0x1
.L0f06f88c:
/* f06f88c: 11200003 */ beqz $t1,.L0f06f89c
/* f06f890: 00000000 */ nop
/* f06f894: 10000001 */ b .L0f06f89c
/* f06f898: 24020001 */ addiu $v0,$zero,0x1
.L0f06f89c:
/* f06f89c: 10e00003 */ beqz $a3,.L0f06f8ac
/* f06f8a0: 00000000 */ nop
/* f06f8a4: 10000001 */ b .L0f06f8ac
/* f06f8a8: 24050001 */ addiu $a1,$zero,0x1
.L0f06f8ac:
/* f06f8ac: 00a2c021 */ addu $t8,$a1,$v0
/* f06f8b0: 0304c821 */ addu $t9,$t8,$a0
/* f06f8b4: 03267821 */ addu $t7,$t9,$a2
/* f06f8b8: 010f082a */ slt $at,$t0,$t7
/* f06f8bc: 5420ffdd */ bnezl $at,.L0f06f834
/* f06f8c0: 8c620064 */ lw $v0,0x64($v1)
/* f06f8c4: 10000333 */ b .L0f070594
/* f06f8c8: 8e190010 */ lw $t9,0x10($s0)
/* f06f8cc: 2405001f */ addiu $a1,$zero,0x1f
.L0f06f8d0:
/* f06f8d0: 54a2006b */ bnel $a1,$v0,.L0f06fa80
/* f06f8d4: 24010053 */ addiu $at,$zero,0x53
/* f06f8d8: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06f8dc: 91d8005f */ lbu $t8,0x5f($t6)
/* f06f8e0: 57000067 */ bnezl $t8,.L0f06fa80
/* f06f8e4: 24010053 */ addiu $at,$zero,0x53
/* f06f8e8: 85c30062 */ lh $v1,0x62($t6)
/* f06f8ec: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f8f0: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f8f4: 0460005f */ bltz $v1,.L0f06fa74
/* f06f8f8: 00000000 */ nop
/* f06f8fc: 8db90034 */ lw $t9,0x34($t5)
/* f06f900: 00002825 */ or $a1,$zero,$zero
/* f06f904: 00797823 */ subu $t7,$v1,$t9
/* f06f908: 05e1005a */ bgez $t7,.L0f06fa74
/* f06f90c: a5cf0062 */ sh $t7,0x62($t6)
/* f06f910: 8e040040 */ lw $a0,0x40($s0)
/* f06f914: 8dae0318 */ lw $t6,0x318($t5)
/* f06f918: 3c01f000 */ lui $at,0xf000
/* f06f91c: 0081c024 */ and $t8,$a0,$at
/* f06f920: 11c00006 */ beqz $t6,.L0f06f93c
/* f06f924: 00182702 */ srl $a0,$t8,0x1c
/* f06f928: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f06f92c: afa0018c */ sw $zero,0x18c($sp)
/* f06f930: 10400002 */ beqz $v0,.L0f06f93c
/* f06f934: 8fa5018c */ lw $a1,0x18c($sp)
/* f06f938: 8c45001c */ lw $a1,0x1c($v0)
.L0f06f93c:
/* f06f93c: 8fa601b0 */ lw $a2,0x1b0($sp)
/* f06f940: 0fc0287e */ jal nbombCreateStorm
/* f06f944: 24c40008 */ addiu $a0,$a2,0x8
/* f06f948: 0fc10e62 */ jal propUnsetDangerous
/* f06f94c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06f950: 8e180040 */ lw $t8,0x40($s0)
/* f06f954: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06f958: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06f95c: 37190004 */ ori $t9,$t8,0x4
/* f06f960: ae190040 */ sw $t9,0x40($s0)
/* f06f964: 8dab006c */ lw $t3,0x6c($t5)
/* f06f968: 00004025 */ or $t0,$zero,$zero
/* f06f96c: 00003025 */ or $a2,$zero,$zero
/* f06f970: 11600003 */ beqz $t3,.L0f06f980
/* f06f974: 00002025 */ or $a0,$zero,$zero
/* f06f978: 10000001 */ b .L0f06f980
/* f06f97c: 24060001 */ addiu $a2,$zero,0x1
.L0f06f980:
/* f06f980: 8daa0068 */ lw $t2,0x68($t5)
/* f06f984: 00001025 */ or $v0,$zero,$zero
/* f06f988: 00002825 */ or $a1,$zero,$zero
/* f06f98c: 11400003 */ beqz $t2,.L0f06f99c
/* f06f990: 0008c880 */ sll $t9,$t0,0x2
/* f06f994: 10000001 */ b .L0f06f99c
/* f06f998: 24040001 */ addiu $a0,$zero,0x1
.L0f06f99c:
/* f06f99c: 8da90064 */ lw $t1,0x64($t5)
/* f06f9a0: 01b91821 */ addu $v1,$t5,$t9
/* f06f9a4: 240c0003 */ addiu $t4,$zero,0x3
/* f06f9a8: 11200003 */ beqz $t1,.L0f06f9b8
/* f06f9ac: 00000000 */ nop
/* f06f9b0: 10000001 */ b .L0f06f9b8
/* f06f9b4: 24020001 */ addiu $v0,$zero,0x1
.L0f06f9b8:
/* f06f9b8: 8da70070 */ lw $a3,0x70($t5)
/* f06f9bc: 10e00003 */ beqz $a3,.L0f06f9cc
/* f06f9c0: 00000000 */ nop
/* f06f9c4: 10000001 */ b .L0f06f9cc
/* f06f9c8: 24050001 */ addiu $a1,$zero,0x1
.L0f06f9cc:
/* f06f9cc: 00a27021 */ addu $t6,$a1,$v0
/* f06f9d0: 01c47821 */ addu $t7,$t6,$a0
/* f06f9d4: 01e6c021 */ addu $t8,$t7,$a2
/* f06f9d8: 1b000026 */ blez $t8,.L0f06fa74
/* f06f9dc: 00000000 */ nop
/* f06f9e0: 8c620064 */ lw $v0,0x64($v1)
.L0f06f9e4:
/* f06f9e4: 25080001 */ addiu $t0,$t0,0x1
/* f06f9e8: 00003025 */ or $a2,$zero,$zero
/* f06f9ec: 8c4e0264 */ lw $t6,0x264($v0)
/* f06f9f0: 00002025 */ or $a0,$zero,$zero
/* f06f9f4: 00002825 */ or $a1,$zero,$zero
/* f06f9f8: 160e0008 */ bne $s0,$t6,.L0f06fa1c
/* f06f9fc: 00000000 */ nop
/* f06fa00: ac400264 */ sw $zero,0x264($v0)
/* f06fa04: 8c6f0064 */ lw $t7,0x64($v1)
/* f06fa08: a5ec0010 */ sh $t4,0x10($t7)
/* f06fa0c: 8da70070 */ lw $a3,0x70($t5)
/* f06fa10: 8da90064 */ lw $t1,0x64($t5)
/* f06fa14: 8daa0068 */ lw $t2,0x68($t5)
/* f06fa18: 8dab006c */ lw $t3,0x6c($t5)
.L0f06fa1c:
/* f06fa1c: 11600003 */ beqz $t3,.L0f06fa2c
/* f06fa20: 24630004 */ addiu $v1,$v1,0x4
/* f06fa24: 10000001 */ b .L0f06fa2c
/* f06fa28: 24060001 */ addiu $a2,$zero,0x1
.L0f06fa2c:
/* f06fa2c: 11400003 */ beqz $t2,.L0f06fa3c
/* f06fa30: 00001025 */ or $v0,$zero,$zero
/* f06fa34: 10000001 */ b .L0f06fa3c
/* f06fa38: 24040001 */ addiu $a0,$zero,0x1
.L0f06fa3c:
/* f06fa3c: 11200003 */ beqz $t1,.L0f06fa4c
/* f06fa40: 00000000 */ nop
/* f06fa44: 10000001 */ b .L0f06fa4c
/* f06fa48: 24020001 */ addiu $v0,$zero,0x1
.L0f06fa4c:
/* f06fa4c: 10e00003 */ beqz $a3,.L0f06fa5c
/* f06fa50: 00000000 */ nop
/* f06fa54: 10000001 */ b .L0f06fa5c
/* f06fa58: 24050001 */ addiu $a1,$zero,0x1
.L0f06fa5c:
/* f06fa5c: 00a2c021 */ addu $t8,$a1,$v0
/* f06fa60: 0304c821 */ addu $t9,$t8,$a0
/* f06fa64: 03267021 */ addu $t6,$t9,$a2
/* f06fa68: 010e082a */ slt $at,$t0,$t6
/* f06fa6c: 5420ffdd */ bnezl $at,.L0f06f9e4
/* f06fa70: 8c620064 */ lw $v0,0x64($v1)
.L0f06fa74:
/* f06fa74: 100002c7 */ b .L0f070594
/* f06fa78: 8e190010 */ lw $t9,0x10($s0)
/* f06fa7c: 24010053 */ addiu $at,$zero,0x53
.L0f06fa80:
/* f06fa80: 10410005 */ beq $v0,$at,.L0f06fa98
/* f06fa84: 24010054 */ addiu $at,$zero,0x54
/* f06fa88: 10410003 */ beq $v0,$at,.L0f06fa98
/* f06fa8c: 24010058 */ addiu $at,$zero,0x58
/* f06fa90: 5441005a */ bnel $v0,$at,.L0f06fbfc
/* f06fa94: 24010020 */ addiu $at,$zero,0x20
.L0f06fa98:
/* f06fa98: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06fa9c: 85f80062 */ lh $t8,0x62($t7)
/* f06faa0: 17000053 */ bnez $t8,.L0f06fbf0
/* f06faa4: 00000000 */ nop
/* f06faa8: 8e19000c */ lw $t9,0xc($s0)
/* f06faac: 2405000d */ addiu $a1,$zero,0xd
/* f06fab0: 00197000 */ sll $t6,$t9,0x0
/* f06fab4: 05c10003 */ bgez $t6,.L0f06fac4
/* f06fab8: 00000000 */ nop
/* f06fabc: 10000001 */ b .L0f06fac4
/* f06fac0: 24050011 */ addiu $a1,$zero,0x11
.L0f06fac4:
/* f06fac4: 0fc1bcc5 */ jal propExplode
/* f06fac8: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06facc: 8e0f0040 */ lw $t7,0x40($s0)
/* f06fad0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fad4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fad8: 35f80004 */ ori $t8,$t7,0x4
/* f06fadc: ae180040 */ sw $t8,0x40($s0)
/* f06fae0: 8dab006c */ lw $t3,0x6c($t5)
/* f06fae4: 00004025 */ or $t0,$zero,$zero
/* f06fae8: 00003025 */ or $a2,$zero,$zero
/* f06faec: 11600003 */ beqz $t3,.L0f06fafc
/* f06faf0: 00002025 */ or $a0,$zero,$zero
/* f06faf4: 10000001 */ b .L0f06fafc
/* f06faf8: 24060001 */ addiu $a2,$zero,0x1
.L0f06fafc:
/* f06fafc: 8daa0068 */ lw $t2,0x68($t5)
/* f06fb00: 00001025 */ or $v0,$zero,$zero
/* f06fb04: 00002825 */ or $a1,$zero,$zero
/* f06fb08: 11400003 */ beqz $t2,.L0f06fb18
/* f06fb0c: 0008c080 */ sll $t8,$t0,0x2
/* f06fb10: 10000001 */ b .L0f06fb18
/* f06fb14: 24040001 */ addiu $a0,$zero,0x1
.L0f06fb18:
/* f06fb18: 8da90064 */ lw $t1,0x64($t5)
/* f06fb1c: 01b81821 */ addu $v1,$t5,$t8
/* f06fb20: 240c0003 */ addiu $t4,$zero,0x3
/* f06fb24: 11200003 */ beqz $t1,.L0f06fb34
/* f06fb28: 00000000 */ nop
/* f06fb2c: 10000001 */ b .L0f06fb34
/* f06fb30: 24020001 */ addiu $v0,$zero,0x1
.L0f06fb34:
/* f06fb34: 8da70070 */ lw $a3,0x70($t5)
/* f06fb38: 10e00003 */ beqz $a3,.L0f06fb48
/* f06fb3c: 00000000 */ nop
/* f06fb40: 10000001 */ b .L0f06fb48
/* f06fb44: 24050001 */ addiu $a1,$zero,0x1
.L0f06fb48:
/* f06fb48: 00a2c821 */ addu $t9,$a1,$v0
/* f06fb4c: 03247021 */ addu $t6,$t9,$a0
/* f06fb50: 01c67821 */ addu $t7,$t6,$a2
/* f06fb54: 19e00026 */ blez $t7,.L0f06fbf0
/* f06fb58: 00000000 */ nop
/* f06fb5c: 8c620064 */ lw $v0,0x64($v1)
.L0f06fb60:
/* f06fb60: 25080001 */ addiu $t0,$t0,0x1
/* f06fb64: 00003025 */ or $a2,$zero,$zero
/* f06fb68: 8c590264 */ lw $t9,0x264($v0)
/* f06fb6c: 00002025 */ or $a0,$zero,$zero
/* f06fb70: 00002825 */ or $a1,$zero,$zero
/* f06fb74: 16190008 */ bne $s0,$t9,.L0f06fb98
/* f06fb78: 00000000 */ nop
/* f06fb7c: ac400264 */ sw $zero,0x264($v0)
/* f06fb80: 8c6e0064 */ lw $t6,0x64($v1)
/* f06fb84: a5cc0010 */ sh $t4,0x10($t6)
/* f06fb88: 8da70070 */ lw $a3,0x70($t5)
/* f06fb8c: 8da90064 */ lw $t1,0x64($t5)
/* f06fb90: 8daa0068 */ lw $t2,0x68($t5)
/* f06fb94: 8dab006c */ lw $t3,0x6c($t5)
.L0f06fb98:
/* f06fb98: 11600003 */ beqz $t3,.L0f06fba8
/* f06fb9c: 24630004 */ addiu $v1,$v1,0x4
/* f06fba0: 10000001 */ b .L0f06fba8
/* f06fba4: 24060001 */ addiu $a2,$zero,0x1
.L0f06fba8:
/* f06fba8: 11400003 */ beqz $t2,.L0f06fbb8
/* f06fbac: 00001025 */ or $v0,$zero,$zero
/* f06fbb0: 10000001 */ b .L0f06fbb8
/* f06fbb4: 24040001 */ addiu $a0,$zero,0x1
.L0f06fbb8:
/* f06fbb8: 11200003 */ beqz $t1,.L0f06fbc8
/* f06fbbc: 00000000 */ nop
/* f06fbc0: 10000001 */ b .L0f06fbc8
/* f06fbc4: 24020001 */ addiu $v0,$zero,0x1
.L0f06fbc8:
/* f06fbc8: 10e00003 */ beqz $a3,.L0f06fbd8
/* f06fbcc: 00000000 */ nop
/* f06fbd0: 10000001 */ b .L0f06fbd8
/* f06fbd4: 24050001 */ addiu $a1,$zero,0x1
.L0f06fbd8:
/* f06fbd8: 00a27821 */ addu $t7,$a1,$v0
/* f06fbdc: 01e4c021 */ addu $t8,$t7,$a0
/* f06fbe0: 0306c821 */ addu $t9,$t8,$a2
/* f06fbe4: 0119082a */ slt $at,$t0,$t9
/* f06fbe8: 5420ffdd */ bnezl $at,.L0f06fb60
/* f06fbec: 8c620064 */ lw $v0,0x64($v1)
.L0f06fbf0:
/* f06fbf0: 10000268 */ b .L0f070594
/* f06fbf4: 8e190010 */ lw $t9,0x10($s0)
/* f06fbf8: 24010020 */ addiu $at,$zero,0x20
.L0f06fbfc:
/* f06fbfc: 54410022 */ bnel $v0,$at,.L0f06fc88
/* f06fc00: 24010022 */ addiu $at,$zero,0x22
/* f06fc04: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06fc08: 85c30062 */ lh $v1,0x62($t6)
/* f06fc0c: 0462001e */ bltzl $v1,.L0f06fc88
/* f06fc10: 24010022 */ addiu $at,$zero,0x22
/* f06fc14: 91cf005f */ lbu $t7,0x5f($t6)
/* f06fc18: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fc1c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fc20: 15e00016 */ bnez $t7,.L0f06fc7c
/* f06fc24: 00000000 */ nop
/* f06fc28: 8db80034 */ lw $t8,0x34($t5)
/* f06fc2c: 0078c823 */ subu $t9,$v1,$t8
/* f06fc30: 07210257 */ bgez $t9,.L0f070590
/* f06fc34: a5d90062 */ sh $t9,0x62($t6)
/* f06fc38: 8e0f000c */ lw $t7,0xc($s0)
/* f06fc3c: 2405000d */ addiu $a1,$zero,0xd
/* f06fc40: 000fc000 */ sll $t8,$t7,0x0
/* f06fc44: 07010003 */ bgez $t8,.L0f06fc54
/* f06fc48: 00000000 */ nop
/* f06fc4c: 10000001 */ b .L0f06fc54
/* f06fc50: 24050011 */ addiu $a1,$zero,0x11
.L0f06fc54:
/* f06fc54: 0fc1bcc5 */ jal propExplode
/* f06fc58: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06fc5c: 1040024c */ beqz $v0,.L0f070590
/* f06fc60: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06fc64: 240effff */ addiu $t6,$zero,-1
/* f06fc68: a72e0062 */ sh $t6,0x62($t9)
/* f06fc6c: 8e0f0040 */ lw $t7,0x40($s0)
/* f06fc70: 35f80004 */ ori $t8,$t7,0x4
/* f06fc74: 10000246 */ b .L0f070590
/* f06fc78: ae180040 */ sw $t8,0x40($s0)
.L0f06fc7c:
/* f06fc7c: 10000245 */ b .L0f070594
/* f06fc80: 8e190010 */ lw $t9,0x10($s0)
/* f06fc84: 24010022 */ addiu $at,$zero,0x22
.L0f06fc88:
/* f06fc88: 5441007a */ bnel $v0,$at,.L0f06fe74
/* f06fc8c: 24010021 */ addiu $at,$zero,0x21
/* f06fc90: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fc94: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fc98: 8cae0000 */ lw $t6,0x0($a1)
/* f06fc9c: 8fb801b0 */ lw $t8,0x1b0($sp)
/* f06fca0: 51c00053 */ beqzl $t6,.L0f06fdf0
/* f06fca4: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06fca8: 8e030040 */ lw $v1,0x40($s0)
/* f06fcac: 8f020018 */ lw $v0,0x18($t8)
/* f06fcb0: 3c01f000 */ lui $at,0xf000
/* f06fcb4: 0061c824 */ and $t9,$v1,$at
/* f06fcb8: 10400003 */ beqz $v0,.L0f06fcc8
/* f06fcbc: 00191f02 */ srl $v1,$t9,0x1c
/* f06fcc0: 10000002 */ b .L0f06fccc
/* f06fcc4: 8c440004 */ lw $a0,0x4($v0)
.L0f06fcc8:
/* f06fcc8: 00002025 */ or $a0,$zero,$zero
.L0f06fccc:
/* f06fccc: 10400009 */ beqz $v0,.L0f06fcf4
/* f06fcd0: 00000000 */ nop
/* f06fcd4: 10800007 */ beqz $a0,.L0f06fcf4
/* f06fcd8: 00000000 */ nop
/* f06fcdc: 0fc633fe */ jal mpPlayerGetIndex
/* f06fce0: afa30178 */ sw $v1,0x178($sp)
/* f06fce4: 8fa30178 */ lw $v1,0x178($sp)
/* f06fce8: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fcec: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fcf0: 1043003e */ beq $v0,$v1,.L0f06fdec
.L0f06fcf4:
/* f06fcf4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fcf8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fcfc: 8dae0298 */ lw $t6,0x298($t5)
/* f06fd00: 24010002 */ addiu $at,$zero,0x2
/* f06fd04: 05c10004 */ bgez $t6,.L0f06fd18
/* f06fd08: 00000000 */ nop
/* f06fd0c: 8db9029c */ lw $t9,0x29c($t5)
/* f06fd10: 07220030 */ bltzl $t9,.L0f06fdd4
/* f06fd14: 8cae0000 */ lw $t6,0x0($a1)
.L0f06fd18:
/* f06fd18: 54610026 */ bnel $v1,$at,.L0f06fdb4
/* f06fd1c: 8cb80000 */ lw $t8,0x0($a1)
/* f06fd20: 8da202a4 */ lw $v0,0x2a4($t5)
/* f06fd24: 00001825 */ or $v1,$zero,$zero
/* f06fd28: 5040000d */ beqzl $v0,.L0f06fd60
/* f06fd2c: 8da202a0 */ lw $v0,0x2a0($t5)
/* f06fd30: 8c4400bc */ lw $a0,0xbc($v0)
/* f06fd34: 5080000a */ beqzl $a0,.L0f06fd60
/* f06fd38: 8da202a0 */ lw $v0,0x2a0($t5)
/* f06fd3c: 0fc4a25f */ jal propGetPlayerNum
/* f06fd40: 00000000 */ nop
/* f06fd44: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fd48: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fd4c: 240f0001 */ addiu $t7,$zero,0x1
/* f06fd50: 004f1804 */ sllv $v1,$t7,$v0
/* f06fd54: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fd58: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fd5c: 8da202a0 */ lw $v0,0x2a0($t5)
.L0f06fd60:
/* f06fd60: 5040000d */ beqzl $v0,.L0f06fd98
/* f06fd64: 8cb90000 */ lw $t9,0x0($a1)
/* f06fd68: 8c4400bc */ lw $a0,0xbc($v0)
/* f06fd6c: 5080000a */ beqzl $a0,.L0f06fd98
/* f06fd70: 8cb90000 */ lw $t9,0x0($a1)
/* f06fd74: 0fc4a25f */ jal propGetPlayerNum
/* f06fd78: afa30170 */ sw $v1,0x170($sp)
/* f06fd7c: 8fa30170 */ lw $v1,0x170($sp)
/* f06fd80: 24180001 */ addiu $t8,$zero,0x1
/* f06fd84: 00587004 */ sllv $t6,$t8,$v0
/* f06fd88: 3c058007 */ lui $a1,%hi(g_PlayersDetonatingMines)
/* f06fd8c: 24a59910 */ addiu $a1,$a1,%lo(g_PlayersDetonatingMines)
/* f06fd90: 006e1825 */ or $v1,$v1,$t6
/* f06fd94: 8cb90000 */ lw $t9,0x0($a1)
.L0f06fd98:
/* f06fd98: 03237824 */ and $t7,$t9,$v1
/* f06fd9c: 11e00013 */ beqz $t7,.L0f06fdec
/* f06fda0: acaf0000 */ sw $t7,0x0($a1)
/* f06fda4: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f06fda8: 10000010 */ b .L0f06fdec
/* f06fdac: a5c00062 */ sh $zero,0x62($t6)
/* f06fdb0: 8cb80000 */ lw $t8,0x0($a1)
.L0f06fdb4:
/* f06fdb4: 24190001 */ addiu $t9,$zero,0x1
/* f06fdb8: 00797804 */ sllv $t7,$t9,$v1
/* f06fdbc: 01f87024 */ and $t6,$t7,$t8
/* f06fdc0: 11c0000a */ beqz $t6,.L0f06fdec
/* f06fdc4: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06fdc8: 10000008 */ b .L0f06fdec
/* f06fdcc: a7200062 */ sh $zero,0x62($t9)
/* f06fdd0: 8cae0000 */ lw $t6,0x0($a1)
.L0f06fdd4:
/* f06fdd4: 240f0001 */ addiu $t7,$zero,0x1
/* f06fdd8: 006fc004 */ sllv $t8,$t7,$v1
/* f06fddc: 030ec824 */ and $t9,$t8,$t6
/* f06fde0: 13200002 */ beqz $t9,.L0f06fdec
/* f06fde4: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06fde8: a5e00062 */ sh $zero,0x62($t7)
.L0f06fdec:
/* f06fdec: 8fb801a8 */ lw $t8,0x1a8($sp)
.L0f06fdf0:
/* f06fdf0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fdf4: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fdf8: 87030062 */ lh $v1,0x62($t8)
/* f06fdfc: 28610002 */ slti $at,$v1,0x2
/* f06fe00: 14200009 */ bnez $at,.L0f06fe28
/* f06fe04: 00000000 */ nop
/* f06fe08: 8dae0034 */ lw $t6,0x34($t5)
/* f06fe0c: 24070001 */ addiu $a3,$zero,0x1
/* f06fe10: 006ec823 */ subu $t9,$v1,$t6
/* f06fe14: 2b210002 */ slti $at,$t9,0x2
/* f06fe18: 102001dd */ beqz $at,.L0f070590
/* f06fe1c: a7190062 */ sh $t9,0x62($t8)
/* f06fe20: 100001db */ b .L0f070590
/* f06fe24: a7070062 */ sh $a3,0x62($t8)
.L0f06fe28:
/* f06fe28: 546001da */ bnezl $v1,.L0f070594
/* f06fe2c: 8e190010 */ lw $t9,0x10($s0)
/* f06fe30: 8e0f000c */ lw $t7,0xc($s0)
/* f06fe34: 2405000d */ addiu $a1,$zero,0xd
/* f06fe38: 000f7000 */ sll $t6,$t7,0x0
/* f06fe3c: 05c10002 */ bgez $t6,.L0f06fe48
/* f06fe40: 00000000 */ nop
/* f06fe44: 24050011 */ addiu $a1,$zero,0x11
.L0f06fe48:
/* f06fe48: 0fc1bcc5 */ jal propExplode
/* f06fe4c: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06fe50: 104001cf */ beqz $v0,.L0f070590
/* f06fe54: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06fe58: 2419ffff */ addiu $t9,$zero,-1
/* f06fe5c: a7190062 */ sh $t9,0x62($t8)
/* f06fe60: 8e0f0040 */ lw $t7,0x40($s0)
/* f06fe64: 35ee0004 */ ori $t6,$t7,0x4
/* f06fe68: 100001c9 */ b .L0f070590
/* f06fe6c: ae0e0040 */ sw $t6,0x40($s0)
/* f06fe70: 24010021 */ addiu $at,$zero,0x21
.L0f06fe74:
/* f06fe74: 10410012 */ beq $v0,$at,.L0f06fec0
/* f06fe78: 2401000f */ addiu $at,$zero,0xf
/* f06fe7c: 14410005 */ bne $v0,$at,.L0f06fe94
/* f06fe80: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06fe84: 9338005f */ lbu $t8,0x5f($t9)
/* f06fe88: 24070001 */ addiu $a3,$zero,0x1
/* f06fe8c: 50f8000d */ beql $a3,$t8,.L0f06fec4
/* f06fe90: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06fe94:
/* f06fe94: 14c20005 */ bne $a2,$v0,.L0f06feac
/* f06fe98: 24070001 */ addiu $a3,$zero,0x1
/* f06fe9c: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06fea0: 91ee005f */ lbu $t6,0x5f($t7)
/* f06fea4: 50ee0007 */ beql $a3,$t6,.L0f06fec4
/* f06fea8: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06feac:
/* f06feac: 14a200af */ bne $a1,$v0,.L0f07016c
/* f06feb0: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f06feb4: 9338005f */ lbu $t8,0x5f($t9)
/* f06feb8: 54f800ad */ bnel $a3,$t8,.L0f070170
/* f06febc: 24010056 */ addiu $at,$zero,0x56
.L0f06fec0:
/* f06fec0: 8faf01a8 */ lw $t7,0x1a8($sp)
.L0f06fec4:
/* f06fec4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fec8: 24070001 */ addiu $a3,$zero,0x1
/* f06fecc: 85e30062 */ lh $v1,0x62($t7)
/* f06fed0: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fed4: 28610002 */ slti $at,$v1,0x2
/* f06fed8: 1420000e */ bnez $at,.L0f06ff14
/* f06fedc: 00000000 */ nop
/* f06fee0: 8dae0034 */ lw $t6,0x34($t5)
/* f06fee4: 01e02025 */ or $a0,$t7,$zero
/* f06fee8: 006ec823 */ subu $t9,$v1,$t6
/* f06feec: 2b210002 */ slti $at,$t9,0x2
/* f06fef0: a5f90062 */ sh $t9,0x62($t7)
/* f06fef4: 10200025 */ beqz $at,.L0f06ff8c
/* f06fef8: 03201825 */ or $v1,$t9,$zero
/* f06fefc: 0fc22ad9 */ jal weaponRegisterProxy
/* f06ff00: a5e70062 */ sh $a3,0x62($t7)
/* f06ff04: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06ff08: 2405001f */ addiu $a1,$zero,0x1f
/* f06ff0c: 1000001f */ b .L0f06ff8c
/* f06ff10: 87030062 */ lh $v1,0x62($t8)
.L0f06ff14:
/* f06ff14: 14e3001d */ bne $a3,$v1,.L0f06ff8c
/* f06ff18: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06ff1c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06ff20: 8dae0284 */ lw $t6,0x284($t5)
/* f06ff24: 8fb901b0 */ lw $t9,0x1b0($sp)
/* f06ff28: 3c017f1b */ lui $at,%hi(var7f1aa2c0)
/* f06ff2c: 8dc200bc */ lw $v0,0xbc($t6)
/* f06ff30: c7240008 */ lwc1 $f4,0x8($t9)
/* f06ff34: c728000c */ lwc1 $f8,0xc($t9)
/* f06ff38: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06ff3c: c446000c */ lwc1 $f6,0xc($v0)
/* f06ff40: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f06ff44: 46045001 */ sub.s $f0,$f10,$f4
/* f06ff48: c7240010 */ lwc1 $f4,0x10($t9)
/* f06ff4c: c44a0010 */ lwc1 $f10,0x10($v0)
/* f06ff50: 46083081 */ sub.s $f2,$f6,$f8
/* f06ff54: 46000182 */ mul.s $f6,$f0,$f0
/* f06ff58: 24420008 */ addiu $v0,$v0,0x8
/* f06ff5c: 46045301 */ sub.s $f12,$f10,$f4
/* f06ff60: 46021202 */ mul.s $f8,$f2,$f2
/* f06ff64: 46083280 */ add.s $f10,$f6,$f8
/* f06ff68: 460c6102 */ mul.s $f4,$f12,$f12
/* f06ff6c: c428a2c0 */ lwc1 $f8,%lo(var7f1aa2c0)($at)
/* f06ff70: 46045180 */ add.s $f6,$f10,$f4
/* f06ff74: 4608303c */ c.lt.s $f6,$f8
/* f06ff78: 00000000 */ nop
/* f06ff7c: 45000003 */ bc1f .L0f06ff8c
/* f06ff80: 00000000 */ nop
/* f06ff84: a5e00062 */ sh $zero,0x62($t7)
/* f06ff88: 00001825 */ or $v1,$zero,$zero
.L0f06ff8c:
/* f06ff8c: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06ff90: 1460017f */ bnez $v1,.L0f070590
/* f06ff94: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06ff98: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f06ff9c: 2401000f */ addiu $at,$zero,0xf
/* f06ffa0: 9302005c */ lbu $v0,0x5c($t8)
/* f06ffa4: 54a2005e */ bnel $a1,$v0,.L0f070120
/* f06ffa8: 8e18000c */ lw $t8,0xc($s0)
/* f06ffac: 8e040040 */ lw $a0,0x40($s0)
/* f06ffb0: 8daf0318 */ lw $t7,0x318($t5)
/* f06ffb4: 3c01f000 */ lui $at,0xf000
/* f06ffb8: 00817024 */ and $t6,$a0,$at
/* f06ffbc: 00002825 */ or $a1,$zero,$zero
/* f06ffc0: 11e00006 */ beqz $t7,.L0f06ffdc
/* f06ffc4: 000e2702 */ srl $a0,$t6,0x1c
/* f06ffc8: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f06ffcc: afa00154 */ sw $zero,0x154($sp)
/* f06ffd0: 10400002 */ beqz $v0,.L0f06ffdc
/* f06ffd4: 8fa50154 */ lw $a1,0x154($sp)
/* f06ffd8: 8c45001c */ lw $a1,0x1c($v0)
.L0f06ffdc:
/* f06ffdc: 8fa601b0 */ lw $a2,0x1b0($sp)
/* f06ffe0: 0fc0287e */ jal nbombCreateStorm
/* f06ffe4: 24c40008 */ addiu $a0,$a2,0x8
/* f06ffe8: 0fc10e62 */ jal propUnsetDangerous
/* f06ffec: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f06fff0: 8e0e0040 */ lw $t6,0x40($s0)
/* f06fff4: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f06fff8: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f06fffc: 35d90004 */ ori $t9,$t6,0x4
/* f070000: ae190040 */ sw $t9,0x40($s0)
/* f070004: 8dab006c */ lw $t3,0x6c($t5)
/* f070008: 00004025 */ or $t0,$zero,$zero
/* f07000c: 00003025 */ or $a2,$zero,$zero
/* f070010: 11600003 */ beqz $t3,.L0f070020
/* f070014: 00002025 */ or $a0,$zero,$zero
/* f070018: 10000001 */ b .L0f070020
/* f07001c: 24060001 */ addiu $a2,$zero,0x1
.L0f070020:
/* f070020: 8daa0068 */ lw $t2,0x68($t5)
/* f070024: 00001025 */ or $v0,$zero,$zero
/* f070028: 00002825 */ or $a1,$zero,$zero
/* f07002c: 11400003 */ beqz $t2,.L0f07003c
/* f070030: 0008c880 */ sll $t9,$t0,0x2
/* f070034: 10000001 */ b .L0f07003c
/* f070038: 24040001 */ addiu $a0,$zero,0x1
.L0f07003c:
/* f07003c: 8da90064 */ lw $t1,0x64($t5)
/* f070040: 01b91821 */ addu $v1,$t5,$t9
/* f070044: 240c0003 */ addiu $t4,$zero,0x3
/* f070048: 11200003 */ beqz $t1,.L0f070058
/* f07004c: 00000000 */ nop
/* f070050: 10000001 */ b .L0f070058
/* f070054: 24020001 */ addiu $v0,$zero,0x1
.L0f070058:
/* f070058: 8da70070 */ lw $a3,0x70($t5)
/* f07005c: 10e00003 */ beqz $a3,.L0f07006c
/* f070060: 00000000 */ nop
/* f070064: 10000001 */ b .L0f07006c
/* f070068: 24050001 */ addiu $a1,$zero,0x1
.L0f07006c:
/* f07006c: 00a27821 */ addu $t7,$a1,$v0
/* f070070: 01e4c021 */ addu $t8,$t7,$a0
/* f070074: 03067021 */ addu $t6,$t8,$a2
/* f070078: 59c00146 */ blezl $t6,.L0f070594
/* f07007c: 8e190010 */ lw $t9,0x10($s0)
/* f070080: 8c620064 */ lw $v0,0x64($v1)
.L0f070084:
/* f070084: 25080001 */ addiu $t0,$t0,0x1
/* f070088: 00003025 */ or $a2,$zero,$zero
/* f07008c: 8c4f0264 */ lw $t7,0x264($v0)
/* f070090: 00002025 */ or $a0,$zero,$zero
/* f070094: 00002825 */ or $a1,$zero,$zero
/* f070098: 160f0008 */ bne $s0,$t7,.L0f0700bc
/* f07009c: 00000000 */ nop
/* f0700a0: ac400264 */ sw $zero,0x264($v0)
/* f0700a4: 8c780064 */ lw $t8,0x64($v1)
/* f0700a8: a70c0010 */ sh $t4,0x10($t8)
/* f0700ac: 8da70070 */ lw $a3,0x70($t5)
/* f0700b0: 8da90064 */ lw $t1,0x64($t5)
/* f0700b4: 8daa0068 */ lw $t2,0x68($t5)
/* f0700b8: 8dab006c */ lw $t3,0x6c($t5)
.L0f0700bc:
/* f0700bc: 11600003 */ beqz $t3,.L0f0700cc
/* f0700c0: 24630004 */ addiu $v1,$v1,0x4
/* f0700c4: 10000001 */ b .L0f0700cc
/* f0700c8: 24060001 */ addiu $a2,$zero,0x1
.L0f0700cc:
/* f0700cc: 11400003 */ beqz $t2,.L0f0700dc
/* f0700d0: 00001025 */ or $v0,$zero,$zero
/* f0700d4: 10000001 */ b .L0f0700dc
/* f0700d8: 24040001 */ addiu $a0,$zero,0x1
.L0f0700dc:
/* f0700dc: 11200003 */ beqz $t1,.L0f0700ec
/* f0700e0: 00000000 */ nop
/* f0700e4: 10000001 */ b .L0f0700ec
/* f0700e8: 24020001 */ addiu $v0,$zero,0x1
.L0f0700ec:
/* f0700ec: 10e00003 */ beqz $a3,.L0f0700fc
/* f0700f0: 00000000 */ nop
/* f0700f4: 10000001 */ b .L0f0700fc
/* f0700f8: 24050001 */ addiu $a1,$zero,0x1
.L0f0700fc:
/* f0700fc: 00a27021 */ addu $t6,$a1,$v0
/* f070100: 01c4c821 */ addu $t9,$t6,$a0
/* f070104: 03267821 */ addu $t7,$t9,$a2
/* f070108: 010f082a */ slt $at,$t0,$t7
/* f07010c: 5420ffdd */ bnezl $at,.L0f070084
/* f070110: 8c620064 */ lw $v0,0x64($v1)
/* f070114: 1000011f */ b .L0f070594
/* f070118: 8e190010 */ lw $t9,0x10($s0)
/* f07011c: 8e18000c */ lw $t8,0xc($s0)
.L0f070120:
/* f070120: 2405000d */ addiu $a1,$zero,0xd
/* f070124: 00187000 */ sll $t6,$t8,0x0
/* f070128: 05c10003 */ bgez $t6,.L0f070138
/* f07012c: 00000000 */ nop
/* f070130: 10000001 */ b .L0f070138
/* f070134: 24050011 */ addiu $a1,$zero,0x11
.L0f070138:
/* f070138: 14410002 */ bne $v0,$at,.L0f070144
/* f07013c: 00000000 */ nop
/* f070140: 24050017 */ addiu $a1,$zero,0x17
.L0f070144:
/* f070144: 0fc1bcc5 */ jal propExplode
/* f070148: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f07014c: 10400110 */ beqz $v0,.L0f070590
/* f070150: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f070154: 2419ffff */ addiu $t9,$zero,-1
/* f070158: a5f90062 */ sh $t9,0x62($t7)
/* f07015c: 8e180040 */ lw $t8,0x40($s0)
/* f070160: 370e0004 */ ori $t6,$t8,0x4
/* f070164: 1000010a */ b .L0f070590
/* f070168: ae0e0040 */ sw $t6,0x40($s0)
.L0f07016c:
/* f07016c: 24010056 */ addiu $at,$zero,0x56
.L0f070170:
/* f070170: 54410108 */ bnel $v0,$at,.L0f070594
/* f070174: 8e190010 */ lw $t9,0x10($s0)
/* f070178: 8fb901a8 */ lw $t9,0x1a8($sp)
/* f07017c: 87230062 */ lh $v1,0x62($t9)
/* f070180: 28610002 */ slti $at,$v1,0x2
/* f070184: 14200099 */ bnez $at,.L0f0703ec
/* f070188: 00000000 */ nop
/* f07018c: 0fc1a2aa */ jal modelFindBboxRodata
/* f070190: 8e040018 */ lw $a0,0x18($s0)
/* f070194: 8faf01a8 */ lw $t7,0x1a8($sp)
/* f070198: 3c014140 */ lui $at,0x4140
/* f07019c: 44811000 */ mtc1 $at,$f2
/* f0701a0: 85e30062 */ lh $v1,0x62($t7)
/* f0701a4: 3c017f1b */ lui $at,%hi(var7f1aa2c4)
/* f0701a8: c42ea2c4 */ lwc1 $f14,%lo(var7f1aa2c4)($at)
/* f0701ac: 2463ffff */ addiu $v1,$v1,-1
/* f0701b0: 44835000 */ mtc1 $v1,$f10
/* f0701b4: 2861000c */ slti $at,$v1,0xc
/* f0701b8: 24070001 */ addiu $a3,$zero,0x1
/* f0701bc: 46805120 */ cvt.s.w $f4,$f10
/* f0701c0: 00403025 */ or $a2,$v0,$zero
/* f0701c4: 24780001 */ addiu $t8,$v1,0x1
/* f0701c8: 306e0001 */ andi $t6,$v1,0x1
/* f0701cc: 27a500b8 */ addiu $a1,$sp,0xb8
/* f0701d0: 46022183 */ div.s $f6,$f4,$f2
/* f0701d4: 460e3002 */ mul.s $f0,$f6,$f14
/* f0701d8: 10200007 */ beqz $at,.L0f0701f8
/* f0701dc: 46000306 */ mov.s $f12,$f0
/* f0701e0: 44984000 */ mtc1 $t8,$f8
/* f0701e4: 00000000 */ nop
/* f0701e8: 468042a0 */ cvt.s.w $f10,$f8
/* f0701ec: 46025103 */ div.s $f4,$f10,$f2
/* f0701f0: 46047182 */ mul.s $f6,$f14,$f4
/* f0701f4: 46060300 */ add.s $f12,$f0,$f6
.L0f0701f8:
/* f0701f8: 14ee0002 */ bne $a3,$t6,.L0f070204
/* f0701fc: 00000000 */ nop
/* f070200: 46006307 */ neg.s $f12,$f12
.L0f070204:
/* f070204: 0c0058dd */ jal mtx4LoadYRotation
/* f070208: afa60140 */ sw $a2,0x140($sp)
/* f07020c: 8e030048 */ lw $v1,0x48($s0)
/* f070210: 8fa60140 */ lw $a2,0x140($sp)
/* f070214: 8fb901b0 */ lw $t9,0x1b0($sp)
/* f070218: 50600040 */ beqzl $v1,.L0f07031c
/* f07021c: 44808000 */ mtc1 $zero,$f16
/* f070220: 8f220018 */ lw $v0,0x18($t9)
/* f070224: 5040006e */ beqzl $v0,.L0f0703e0
/* f070228: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f07022c: 904f0000 */ lbu $t7,0x0($v0)
/* f070230: 24010003 */ addiu $at,$zero,0x3
/* f070234: 24640004 */ addiu $a0,$v1,0x4
/* f070238: 11e10068 */ beq $t7,$at,.L0f0703dc
/* f07023c: 27a500f8 */ addiu $a1,$sp,0xf8
/* f070240: 0c005746 */ jal mtx4Copy
/* f070244: afa60140 */ sw $a2,0x140($sp)
/* f070248: 44800000 */ mtc1 $zero,$f0
/* f07024c: 8fa40140 */ lw $a0,0x140($sp)
/* f070250: e7a0012c */ swc1 $f0,0x12c($sp)
/* f070254: e7a00128 */ swc1 $f0,0x128($sp)
/* f070258: e7a00114 */ swc1 $f0,0x114($sp)
/* f07025c: e7a00104 */ swc1 $f0,0x104($sp)
/* f070260: e7a00070 */ swc1 $f0,0x70($sp)
/* f070264: e7a00060 */ swc1 $f0,0x60($sp)
/* f070268: e7a0006c */ swc1 $f0,0x6c($sp)
/* f07026c: e7a00130 */ swc1 $f0,0x130($sp)
/* f070270: e7a00124 */ swc1 $f0,0x124($sp)
/* f070274: 0fc199f5 */ jal modelBboxGetZMax
/* f070278: e7a00064 */ swc1 $f0,0x64($sp)
/* f07027c: e7a00068 */ swc1 $f0,0x68($sp)
/* f070280: e7a00074 */ swc1 $f0,0x74($sp)
/* f070284: 27a400f8 */ addiu $a0,$sp,0xf8
/* f070288: 27a500b8 */ addiu $a1,$sp,0xb8
/* f07028c: 0c005680 */ jal mtx4MultMtx4
/* f070290: 27a60078 */ addiu $a2,$sp,0x78
/* f070294: 27a400f8 */ addiu $a0,$sp,0xf8
/* f070298: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f07029c: 27a5006c */ addiu $a1,$sp,0x6c
/* f0702a0: 27a40078 */ addiu $a0,$sp,0x78
/* f0702a4: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f0702a8: 27a50060 */ addiu $a1,$sp,0x60
/* f0702ac: c7a80060 */ lwc1 $f8,0x60($sp)
/* f0702b0: c7aa006c */ lwc1 $f10,0x6c($sp)
/* f0702b4: 8e180048 */ lw $t8,0x48($s0)
/* f0702b8: 27a40078 */ addiu $a0,$sp,0x78
/* f0702bc: 460a4101 */ sub.s $f4,$f8,$f10
/* f0702c0: c7060034 */ lwc1 $f6,0x34($t8)
/* f0702c4: c7aa0064 */ lwc1 $f10,0x64($sp)
/* f0702c8: 46043201 */ sub.s $f8,$f6,$f4
/* f0702cc: c7a60070 */ lwc1 $f6,0x70($sp)
/* f0702d0: e7a800a8 */ swc1 $f8,0xa8($sp)
/* f0702d4: 8e0e0048 */ lw $t6,0x48($s0)
/* f0702d8: 46065101 */ sub.s $f4,$f10,$f6
/* f0702dc: c7a60068 */ lwc1 $f6,0x68($sp)
/* f0702e0: c5c80038 */ lwc1 $f8,0x38($t6)
/* f0702e4: 46044281 */ sub.s $f10,$f8,$f4
/* f0702e8: c7a80074 */ lwc1 $f8,0x74($sp)
/* f0702ec: e7aa00ac */ swc1 $f10,0xac($sp)
/* f0702f0: 8e190048 */ lw $t9,0x48($s0)
/* f0702f4: 46083101 */ sub.s $f4,$f6,$f8
/* f0702f8: c72a003c */ lwc1 $f10,0x3c($t9)
/* f0702fc: 46045181 */ sub.s $f6,$f10,$f4
/* f070300: e7a600b0 */ swc1 $f6,0xb0($sp)
/* f070304: 8e050048 */ lw $a1,0x48($s0)
/* f070308: 0c005746 */ jal mtx4Copy
/* f07030c: 24a50004 */ addiu $a1,$a1,0x4
/* f070310: 10000033 */ b .L0f0703e0
/* f070314: 8fb801a8 */ lw $t8,0x1a8($sp)
/* f070318: 44808000 */ mtc1 $zero,$f16
.L0f07031c:
/* f07031c: 00c02025 */ or $a0,$a2,$zero
/* f070320: e7b00070 */ swc1 $f16,0x70($sp)
/* f070324: e7b00060 */ swc1 $f16,0x60($sp)
/* f070328: e7b0006c */ swc1 $f16,0x6c($sp)
/* f07032c: 0fc199f5 */ jal modelBboxGetZMax
/* f070330: e7b00064 */ swc1 $f16,0x64($sp)
/* f070334: 2604001c */ addiu $a0,$s0,0x1c
/* f070338: e7a00068 */ swc1 $f0,0x68($sp)
/* f07033c: e7a00074 */ swc1 $f0,0x74($sp)
/* f070340: afa40038 */ sw $a0,0x38($sp)
/* f070344: 0c005755 */ jal mtx3ToMtx4
/* f070348: 27a500f8 */ addiu $a1,$sp,0xf8
/* f07034c: 27a400f8 */ addiu $a0,$sp,0xf8
/* f070350: 27a500b8 */ addiu $a1,$sp,0xb8
/* f070354: 0c005680 */ jal mtx4MultMtx4
/* f070358: 27a60078 */ addiu $a2,$sp,0x78
/* f07035c: 27a40078 */ addiu $a0,$sp,0x78
/* f070360: 0c005768 */ jal mtx4ToMtx3
/* f070364: 8fa50038 */ lw $a1,0x38($sp)
/* f070368: 27a400f8 */ addiu $a0,$sp,0xf8
/* f07036c: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f070370: 27a5006c */ addiu $a1,$sp,0x6c
/* f070374: 27a40078 */ addiu $a0,$sp,0x78
/* f070378: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f07037c: 27a50060 */ addiu $a1,$sp,0x60
/* f070380: c7a80060 */ lwc1 $f8,0x60($sp)
/* f070384: c7aa006c */ lwc1 $f10,0x6c($sp)
/* f070388: 8faf01b0 */ lw $t7,0x1b0($sp)
/* f07038c: 02002025 */ or $a0,$s0,$zero
/* f070390: 460a4101 */ sub.s $f4,$f8,$f10
/* f070394: c5e60008 */ lwc1 $f6,0x8($t7)
/* f070398: 00002825 */ or $a1,$zero,$zero
/* f07039c: 24060001 */ addiu $a2,$zero,0x1
/* f0703a0: 46043201 */ sub.s $f8,$f6,$f4
/* f0703a4: e5e80008 */ swc1 $f8,0x8($t7)
/* f0703a8: c7a60070 */ lwc1 $f6,0x70($sp)
/* f0703ac: c7aa0064 */ lwc1 $f10,0x64($sp)
/* f0703b0: c5e8000c */ lwc1 $f8,0xc($t7)
/* f0703b4: 46065101 */ sub.s $f4,$f10,$f6
/* f0703b8: 46044281 */ sub.s $f10,$f8,$f4
/* f0703bc: e5ea000c */ swc1 $f10,0xc($t7)
/* f0703c0: c7a80074 */ lwc1 $f8,0x74($sp)
/* f0703c4: c7a60068 */ lwc1 $f6,0x68($sp)
/* f0703c8: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f0703cc: 46083101 */ sub.s $f4,$f6,$f8
/* f0703d0: 46045181 */ sub.s $f6,$f10,$f4
/* f0703d4: 0fc1a71c */ jal func0f069c70
/* f0703d8: e5e60010 */ swc1 $f6,0x10($t7)
.L0f0703dc:
/* f0703dc: 8fb801a8 */ lw $t8,0x1a8($sp)
.L0f0703e0:
/* f0703e0: 870e0062 */ lh $t6,0x62($t8)
/* f0703e4: 25c3ffff */ addiu $v1,$t6,-1
/* f0703e8: a7030062 */ sh $v1,0x62($t8)
.L0f0703ec:
/* f0703ec: 04610023 */ bgez $v1,.L0f07047c
/* f0703f0: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f0703f4: 8e030048 */ lw $v1,0x48($s0)
/* f0703f8: 8fa401b0 */ lw $a0,0x1b0($sp)
/* f0703fc: 0fc2bb15 */ jal func0f0aec54
/* f070400: afa3005c */ sw $v1,0x5c($sp)
/* f070404: 2401ffff */ addiu $at,$zero,-1
/* f070408: 8fa3005c */ lw $v1,0x5c($sp)
/* f07040c: 10410019 */ beq $v0,$at,.L0f070474
/* f070410: 00402025 */ or $a0,$v0,$zero
/* f070414: 8fa501b0 */ lw $a1,0x1b0($sp)
/* f070418: afa3005c */ sw $v1,0x5c($sp)
/* f07041c: afa20058 */ sw $v0,0x58($sp)
/* f070420: 0fc2bb5c */ jal func0f0aed70
/* f070424: 24a50008 */ addiu $a1,$a1,0x8
/* f070428: 3c05453b */ lui $a1,0x453b
/* f07042c: 34a58000 */ ori $a1,$a1,0x8000
/* f070430: 8fa40058 */ lw $a0,0x58($sp)
/* f070434: 0fc2bb69 */ jal func0f0aeda4
/* f070438: 00003025 */ or $a2,$zero,$zero
/* f07043c: 8fa3005c */ lw $v1,0x5c($sp)
/* f070440: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f070444: 3c0544af */ lui $a1,0x44af
/* f070448: 10600005 */ beqz $v1,.L0f070460
/* f07044c: 00000000 */ nop
/* f070450: 8c6f0090 */ lw $t7,0x90($v1)
/* f070454: 19e00002 */ blez $t7,.L0f070460
/* f070458: 00000000 */ nop
/* f07045c: 00001825 */ or $v1,$zero,$zero
.L0f070460:
/* f070460: 14600004 */ bnez $v1,.L0f070474
/* f070464: 00000000 */ nop
/* f070468: a5c00062 */ sh $zero,0x62($t6)
/* f07046c: 0fc2bbaa */ jal func0f0aeea8
/* f070470: 8fa40058 */ lw $a0,0x58($sp)
.L0f070474:
/* f070474: 10000047 */ b .L0f070594
/* f070478: 8e190010 */ lw $t9,0x10($s0)
.L0f07047c:
/* f07047c: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f070480: 8dab006c */ lw $t3,0x6c($t5)
/* f070484: 00004025 */ or $t0,$zero,$zero
/* f070488: 00003025 */ or $a2,$zero,$zero
/* f07048c: 11600003 */ beqz $t3,.L0f07049c
/* f070490: 00002025 */ or $a0,$zero,$zero
/* f070494: 10000001 */ b .L0f07049c
/* f070498: 24060001 */ addiu $a2,$zero,0x1
.L0f07049c:
/* f07049c: 8daa0068 */ lw $t2,0x68($t5)
/* f0704a0: 00001025 */ or $v0,$zero,$zero
/* f0704a4: 00002825 */ or $a1,$zero,$zero
/* f0704a8: 11400003 */ beqz $t2,.L0f0704b8
/* f0704ac: 00087080 */ sll $t6,$t0,0x2
/* f0704b0: 10000001 */ b .L0f0704b8
/* f0704b4: 24040001 */ addiu $a0,$zero,0x1
.L0f0704b8:
/* f0704b8: 8da90064 */ lw $t1,0x64($t5)
/* f0704bc: 01ae1821 */ addu $v1,$t5,$t6
/* f0704c0: 240c0003 */ addiu $t4,$zero,0x3
/* f0704c4: 11200003 */ beqz $t1,.L0f0704d4
/* f0704c8: 00000000 */ nop
/* f0704cc: 10000001 */ b .L0f0704d4
/* f0704d0: 24020001 */ addiu $v0,$zero,0x1
.L0f0704d4:
/* f0704d4: 8da70070 */ lw $a3,0x70($t5)
/* f0704d8: 10e00003 */ beqz $a3,.L0f0704e8
/* f0704dc: 00000000 */ nop
/* f0704e0: 10000001 */ b .L0f0704e8
/* f0704e4: 24050001 */ addiu $a1,$zero,0x1
.L0f0704e8:
/* f0704e8: 00a2c021 */ addu $t8,$a1,$v0
/* f0704ec: 0304c821 */ addu $t9,$t8,$a0
/* f0704f0: 03267821 */ addu $t7,$t9,$a2
/* f0704f4: 59e00027 */ blezl $t7,.L0f070594
/* f0704f8: 8e190010 */ lw $t9,0x10($s0)
/* f0704fc: 8c620064 */ lw $v0,0x64($v1)
.L0f070500:
/* f070500: 25080001 */ addiu $t0,$t0,0x1
/* f070504: 00003025 */ or $a2,$zero,$zero
/* f070508: 8c580264 */ lw $t8,0x264($v0)
/* f07050c: 00002025 */ or $a0,$zero,$zero
/* f070510: 00002825 */ or $a1,$zero,$zero
/* f070514: 16180008 */ bne $s0,$t8,.L0f070538
/* f070518: 00000000 */ nop
/* f07051c: ac400264 */ sw $zero,0x264($v0)
/* f070520: 8c790064 */ lw $t9,0x64($v1)
/* f070524: a72c0010 */ sh $t4,0x10($t9)
/* f070528: 8da70070 */ lw $a3,0x70($t5)
/* f07052c: 8da90064 */ lw $t1,0x64($t5)
/* f070530: 8daa0068 */ lw $t2,0x68($t5)
/* f070534: 8dab006c */ lw $t3,0x6c($t5)
.L0f070538:
/* f070538: 11600003 */ beqz $t3,.L0f070548
/* f07053c: 24630004 */ addiu $v1,$v1,0x4
/* f070540: 10000001 */ b .L0f070548
/* f070544: 24060001 */ addiu $a2,$zero,0x1
.L0f070548:
/* f070548: 11400003 */ beqz $t2,.L0f070558
/* f07054c: 00001025 */ or $v0,$zero,$zero
/* f070550: 10000001 */ b .L0f070558
/* f070554: 24040001 */ addiu $a0,$zero,0x1
.L0f070558:
/* f070558: 11200003 */ beqz $t1,.L0f070568
/* f07055c: 00000000 */ nop
/* f070560: 10000001 */ b .L0f070568
/* f070564: 24020001 */ addiu $v0,$zero,0x1
.L0f070568:
/* f070568: 10e00003 */ beqz $a3,.L0f070578
/* f07056c: 00000000 */ nop
/* f070570: 10000001 */ b .L0f070578
/* f070574: 24050001 */ addiu $a1,$zero,0x1
.L0f070578:
/* f070578: 00a27821 */ addu $t7,$a1,$v0
/* f07057c: 01e47021 */ addu $t6,$t7,$a0
/* f070580: 01c6c021 */ addu $t8,$t6,$a2
/* f070584: 0118082a */ slt $at,$t0,$t8
/* f070588: 5420ffdd */ bnezl $at,.L0f070500
/* f07058c: 8c620064 */ lw $v0,0x64($v1)
.L0f070590:
/* f070590: 8e190010 */ lw $t9,0x10($s0)
.L0f070594:
/* f070594: 3c0d800a */ lui $t5,%hi(g_Vars)
/* f070598: 25ad9fc0 */ addiu $t5,$t5,%lo(g_Vars)
/* f07059c: 332f0100 */ andi $t7,$t9,0x100
/* f0705a0: 11e0000a */ beqz $t7,.L0f0705cc
/* f0705a4: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f0705a8: 81d80060 */ lb $t8,0x60($t6)
/* f0705ac: 8db90038 */ lw $t9,0x38($t5)
/* f0705b0: 03197823 */ subu $t7,$t8,$t9
/* f0705b4: 1de00005 */ bgtz $t7,.L0f0705cc
/* f0705b8: a1cf0060 */ sb $t7,0x60($t6)
/* f0705bc: a1c00060 */ sb $zero,0x60($t6)
/* f0705c0: 8e180040 */ lw $t8,0x40($s0)
/* f0705c4: 37190004 */ ori $t9,$t8,0x4
/* f0705c8: ae190040 */ sw $t9,0x40($s0)
.L0f0705cc:
/* f0705cc: 8e0f0010 */ lw $t7,0x10($s0)
/* f0705d0: 8fb801b0 */ lw $t8,0x1b0($sp)
/* f0705d4: 31ee0080 */ andi $t6,$t7,0x80
/* f0705d8: 51c00014 */ beqzl $t6,.L0f07062c
/* f0705dc: 8fbf001c */ lw $ra,0x1c($sp)
/* f0705e0: 93190001 */ lbu $t9,0x1($t8)
/* f0705e4: 332f0002 */ andi $t7,$t9,0x2
/* f0705e8: 51e00010 */ beqzl $t7,.L0f07062c
/* f0705ec: 8fbf001c */ lw $ra,0x1c($sp)
/* f0705f0: 8dae043c */ lw $t6,0x43c($t5)
/* f0705f4: 25d80001 */ addiu $t8,$t6,0x1
/* f0705f8: 2b010015 */ slti $at,$t8,0x15
/* f0705fc: 1420000a */ bnez $at,.L0f070628
/* f070600: adb8043c */ sw $t8,0x43c($t5)
/* f070604: 8fae01a8 */ lw $t6,0x1a8($sp)
/* f070608: 240f003c */ addiu $t7,$zero,0x3c
/* f07060c: 2401ff7f */ addiu $at,$zero,-129
/* f070610: a1cf0060 */ sb $t7,0x60($t6)
/* f070614: 8e180010 */ lw $t8,0x10($s0)
/* f070618: 0301c824 */ and $t9,$t8,$at
/* f07061c: ae190010 */ sw $t9,0x10($s0)
/* f070620: 372e0100 */ ori $t6,$t9,0x100
/* f070624: ae0e0010 */ sw $t6,0x10($s0)
.L0f070628:
/* f070628: 8fbf001c */ lw $ra,0x1c($sp)
.L0f07062c:
/* f07062c: 8fb00018 */ lw $s0,0x18($sp)
/* f070630: 27bd01b0 */ addiu $sp,$sp,0x1b0
/* f070634: 03e00008 */ jr $ra
/* f070638: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel weaponTick
.late_rodata
glabel var7f1aa2c0
.word 0x47742400
glabel var7f1aa2c4
.word 0x3cd67750
.text
/* f06e7b0: 27bdfe88 */ addiu $sp,$sp,-376
/* f06e7b4: afbf0014 */ sw $ra,0x14($sp)
/* f06e7b8: afa40178 */ sw $a0,0x178($sp)
/* f06e7bc: 8c820004 */ lw $v0,0x4($a0)
/* f06e7c0: 2406001e */ addiu $a2,$zero,0x1e
/* f06e7c4: afa20174 */ sw $v0,0x174($sp)
/* f06e7c8: 904f005c */ lbu $t7,0x5c($v0)
/* f06e7cc: 00403825 */ or $a3,$v0,$zero
/* f06e7d0: 54cf0005 */ bnel $a2,$t7,.NB0f06e7e8
/* f06e7d4: 90e2005c */ lbu $v0,0x5c($a3)
/* f06e7d8: 9058005f */ lbu $t8,0x5f($v0)
/* f06e7dc: 53000006 */ beqzl $t8,.NB0f06e7f8
/* f06e7e0: 84e30062 */ lh $v1,0x62($a3)
/* f06e7e4: 90e2005c */ lbu $v0,0x5c($a3)
.NB0f06e7e8:
/* f06e7e8: 24010054 */ addiu $at,$zero,0x54
/* f06e7ec: 54410092 */ bnel $v0,$at,.NB0f06ea38
/* f06e7f0: 2405001f */ addiu $a1,$zero,0x1f
/* f06e7f4: 84e30062 */ lh $v1,0x62($a3)
.NB0f06e7f8:
/* f06e7f8: 90e2005c */ lbu $v0,0x5c($a3)
/* f06e7fc: 24010054 */ addiu $at,$zero,0x54
/* f06e800: 0462008d */ bltzl $v1,.NB0f06ea38
/* f06e804: 2405001f */ addiu $a1,$zero,0x1f
/* f06e808: 1441005f */ bne $v0,$at,.NB0f06e988
/* f06e80c: 3c09800a */ lui $t1,0x800a
/* f06e810: 90f9005f */ lbu $t9,0x5f($a3)
/* f06e814: 24080001 */ addiu $t0,$zero,0x1
/* f06e818: 1519005b */ bne $t0,$t9,.NB0f06e988
/* f06e81c: 00000000 */ sll $zero,$zero,0x0
/* f06e820: 18600059 */ blez $v1,.NB0f06e988
/* f06e824: 28610002 */ slti $at,$v1,0x2
/* f06e828: 142002d2 */ bnez $at,.NB0f06f374
/* f06e82c: 3c09800a */ lui $t1,0x800a
/* f06e830: 8d29e6f4 */ lw $t1,-0x190c($t1)
/* f06e834: 3c0d8007 */ lui $t5,0x8007
/* f06e838: 25adc0fc */ addiu $t5,$t5,-16132
/* f06e83c: 00695023 */ subu $t2,$v1,$t1
/* f06e840: a4ea0062 */ sh $t2,0x62($a3)
/* f06e844: 84eb0062 */ lh $t3,0x62($a3)
/* f06e848: 29610008 */ slti $at,$t3,0x8
/* f06e84c: 502002ca */ beqzl $at,.NB0f06f378
/* f06e850: 8fae0174 */ lw $t6,0x174($sp)
/* f06e854: 8da10000 */ lw $at,0x0($t5)
/* f06e858: 27ac0164 */ addiu $t4,$sp,0x164
/* f06e85c: 8daf0004 */ lw $t7,0x4($t5)
/* f06e860: ad810000 */ sw $at,0x0($t4)
/* f06e864: 8da10008 */ lw $at,0x8($t5)
/* f06e868: ad8f0004 */ sw $t7,0x4($t4)
/* f06e86c: ad810008 */ sw $at,0x8($t4)
/* f06e870: afa70170 */ sw $a3,0x170($sp)
/* f06e874: afa0015c */ sw $zero,0x15c($sp)
/* f06e878: 0fc19e19 */ jal func0f0685e4
/* f06e87c: 8fa40178 */ lw $a0,0x178($sp)
/* f06e880: 8fa60174 */ lw $a2,0x174($sp)
/* f06e884: 8fa5015c */ lw $a1,0x15c($sp)
/* f06e888: 8fa70170 */ lw $a3,0x170($sp)
/* f06e88c: 8cc20040 */ lw $v0,0x40($a2)
/* f06e890: 24080001 */ addiu $t0,$zero,0x1
/* f06e894: 8faa0178 */ lw $t2,0x178($sp)
/* f06e898: 30580040 */ andi $t8,$v0,0x40
/* f06e89c: 13000004 */ beqz $t8,.NB0f06e8b0
/* f06e8a0: 30490080 */ andi $t1,$v0,0x80
/* f06e8a4: 8cd90048 */ lw $t9,0x48($a2)
/* f06e8a8: 10000004 */ beqz $zero,.NB0f06e8bc
/* f06e8ac: 8f250044 */ lw $a1,0x44($t9)
.NB0f06e8b0:
/* f06e8b0: 11200002 */ beqz $t1,.NB0f06e8bc
/* f06e8b4: 00000000 */ sll $zero,$zero,0x0
/* f06e8b8: 8cc50048 */ lw $a1,0x48($a2)
.NB0f06e8bc:
/* f06e8bc: 10a00030 */ beqz $a1,.NB0f06e980
/* f06e8c0: 24190002 */ addiu $t9,$zero,0x2
/* f06e8c4: 8d4b0018 */ lw $t3,0x18($t2)
/* f06e8c8: 01401825 */ or $v1,$t2,$zero
/* f06e8cc: 11600006 */ beqz $t3,.NB0f06e8e8
/* f06e8d0: 00000000 */ sll $zero,$zero,0x0
/* f06e8d4: 8d420018 */ lw $v0,0x18($t2)
/* f06e8d8: 00401825 */ or $v1,$v0,$zero
.NB0f06e8dc:
/* f06e8dc: 8c420018 */ lw $v0,0x18($v0)
/* f06e8e0: 5440fffe */ bnezl $v0,.NB0f06e8dc
/* f06e8e4: 00401825 */ or $v1,$v0,$zero
.NB0f06e8e8:
/* f06e8e8: 5060000d */ beqzl $v1,.NB0f06e920
/* f06e8ec: 8cad0000 */ lw $t5,0x0($a1)
/* f06e8f0: 90620000 */ lbu $v0,0x0($v1)
/* f06e8f4: 24010003 */ addiu $at,$zero,0x3
/* f06e8f8: 10410003 */ beq $v0,$at,.NB0f06e908
/* f06e8fc: 24010006 */ addiu $at,$zero,0x6
/* f06e900: 54410007 */ bnel $v0,$at,.NB0f06e920
/* f06e904: 8cad0000 */ lw $t5,0x0($a1)
.NB0f06e908:
/* f06e908: 8c620004 */ lw $v0,0x4($v1)
/* f06e90c: 8c4e0014 */ lw $t6,0x14($v0)
/* f06e910: 35cc0001 */ ori $t4,$t6,0x1
/* f06e914: 10000005 */ beqz $zero,.NB0f06e92c
/* f06e918: ac4c0014 */ sw $t4,0x14($v0)
/* f06e91c: 8cad0000 */ lw $t5,0x0($a1)
.NB0f06e920:
/* f06e920: aca00088 */ sw $zero,0x88($a1)
/* f06e924: 35af0001 */ ori $t7,$t5,0x1
/* f06e928: acaf0000 */ sw $t7,0x0($a1)
.NB0f06e92c:
/* f06e92c: a4e80062 */ sh $t0,0x62($a3)
/* f06e930: afa70170 */ sw $a3,0x170($sp)
/* f06e934: afa5015c */ sw $a1,0x15c($sp)
/* f06e938: 0fc19e45 */ jal objSetProjectileFlag4
/* f06e93c: 8fa40178 */ lw $a0,0x178($sp)
/* f06e940: 8fa5015c */ lw $a1,0x15c($sp)
/* f06e944: c7a40164 */ lwc1 $f4,0x164($sp)
/* f06e948: 24a40020 */ addiu $a0,$a1,0x20
/* f06e94c: e4a40004 */ swc1 $f4,0x4($a1)
/* f06e950: c7a60168 */ lwc1 $f6,0x168($sp)
/* f06e954: e4a60008 */ swc1 $f6,0x8($a1)
/* f06e958: c7a8016c */ lwc1 $f8,0x16c($sp)
/* f06e95c: 0c005a28 */ jal mtx4LoadIdentity
/* f06e960: e4a8000c */ swc1 $f8,0xc($a1)
/* f06e964: 8fa5015c */ lw $a1,0x15c($sp)
/* f06e968: 8fa70170 */ lw $a3,0x170($sp)
/* f06e96c: 3c18800a */ lui $t8,0x800a
/* f06e970: aca700d4 */ sw $a3,0xd4($a1)
/* f06e974: 8f18e6cc */ lw $t8,-0x1934($t8)
/* f06e978: 1000027e */ beqz $zero,.NB0f06f374
/* f06e97c: acb800d8 */ sw $t8,0xd8($a1)
.NB0f06e980:
/* f06e980: 1000027c */ beqz $zero,.NB0f06f374
/* f06e984: a4f90062 */ sh $t9,0x62($a3)
.NB0f06e988:
/* f06e988: 8d29e6f4 */ lw $t1,-0x190c($t1)
/* f06e98c: 00695023 */ subu $t2,$v1,$t1
/* f06e990: a4ea0062 */ sh $t2,0x62($a3)
/* f06e994: 84eb0062 */ lh $t3,0x62($a3)
/* f06e998: 8fa40178 */ lw $a0,0x178($sp)
/* f06e99c: 05630276 */ bgezl $t3,.NB0f06f378
/* f06e9a0: 8fae0174 */ lw $t6,0x174($sp)
/* f06e9a4: 0fc10c55 */ jal propUnsetDangerous
/* f06e9a8: afa70170 */ sw $a3,0x170($sp)
/* f06e9ac: 8fa70170 */ lw $a3,0x170($sp)
/* f06e9b0: 24010002 */ addiu $at,$zero,0x2
/* f06e9b4: 24050015 */ addiu $a1,$zero,0x15
/* f06e9b8: 90ee005f */ lbu $t6,0x5f($a3)
/* f06e9bc: 8fac0174 */ lw $t4,0x174($sp)
/* f06e9c0: 8fa40178 */ lw $a0,0x178($sp)
/* f06e9c4: 55c10007 */ bnel $t6,$at,.NB0f06e9e4
/* f06e9c8: 8d8d000c */ lw $t5,0xc($t4)
/* f06e9cc: 8fa40178 */ lw $a0,0x178($sp)
/* f06e9d0: 0fc1b95e */ jal propExplode
/* f06e9d4: afa70170 */ sw $a3,0x170($sp)
/* f06e9d8: 1000000b */ beqz $zero,.NB0f06ea08
/* f06e9dc: 8fa70170 */ lw $a3,0x170($sp)
/* f06e9e0: 8d8d000c */ lw $t5,0xc($t4)
.NB0f06e9e4:
/* f06e9e4: 2405000d */ addiu $a1,$zero,0xd
/* f06e9e8: 000d7800 */ sll $t7,$t5,0x0
/* f06e9ec: 05e10003 */ bgez $t7,.NB0f06e9fc
/* f06e9f0: 00000000 */ sll $zero,$zero,0x0
/* f06e9f4: 10000001 */ beqz $zero,.NB0f06e9fc
/* f06e9f8: 24050011 */ addiu $a1,$zero,0x11
.NB0f06e9fc:
/* f06e9fc: 0fc1b95e */ jal propExplode
/* f06ea00: afa70170 */ sw $a3,0x170($sp)
/* f06ea04: 8fa70170 */ lw $a3,0x170($sp)
.NB0f06ea08:
/* f06ea08: 8fa20174 */ lw $v0,0x174($sp)
/* f06ea0c: 3c03800a */ lui $v1,0x800a
/* f06ea10: 8c580040 */ lw $t8,0x40($v0)
/* f06ea14: 37190004 */ ori $t9,$t8,0x4
/* f06ea18: ac590040 */ sw $t9,0x40($v0)
/* f06ea1c: 8c63e944 */ lw $v1,-0x16bc($v1)
/* f06ea20: 8c690264 */ lw $t1,0x264($v1)
/* f06ea24: 54490254 */ bnel $v0,$t1,.NB0f06f378
/* f06ea28: 8fae0174 */ lw $t6,0x174($sp)
/* f06ea2c: 10000251 */ beqz $zero,.NB0f06f374
/* f06ea30: ac600264 */ sw $zero,0x264($v1)
/* f06ea34: 2405001f */ addiu $a1,$zero,0x1f
.NB0f06ea38:
/* f06ea38: 14a20030 */ bne $a1,$v0,.NB0f06eafc
/* f06ea3c: 24010052 */ addiu $at,$zero,0x52
/* f06ea40: 90ea005f */ lbu $t2,0x5f($a3)
/* f06ea44: 1540002d */ bnez $t2,.NB0f06eafc
/* f06ea48: 00000000 */ sll $zero,$zero,0x0
/* f06ea4c: 84e30062 */ lh $v1,0x62($a3)
/* f06ea50: 3c0b800a */ lui $t3,0x800a
/* f06ea54: 04620248 */ bltzl $v1,.NB0f06f378
/* f06ea58: 8fae0174 */ lw $t6,0x174($sp)
/* f06ea5c: 8d6be6f4 */ lw $t3,-0x190c($t3)
/* f06ea60: 3c01f000 */ lui $at,0xf000
/* f06ea64: 3c19800a */ lui $t9,0x800a
/* f06ea68: 006b7023 */ subu $t6,$v1,$t3
/* f06ea6c: a4ee0062 */ sh $t6,0x62($a3)
/* f06ea70: 84ec0062 */ lh $t4,0x62($a3)
/* f06ea74: 8fad0174 */ lw $t5,0x174($sp)
/* f06ea78: 0583023f */ bgezl $t4,.NB0f06f378
/* f06ea7c: 8fae0174 */ lw $t6,0x174($sp)
/* f06ea80: 8da40040 */ lw $a0,0x40($t5)
/* f06ea84: 8f39e9d8 */ lw $t9,-0x1628($t9)
/* f06ea88: 00002825 */ or $a1,$zero,$zero
/* f06ea8c: 00817824 */ and $t7,$a0,$at
/* f06ea90: 13200008 */ beqz $t9,.NB0f06eab4
/* f06ea94: 000f2702 */ srl $a0,$t7,0x1c
/* f06ea98: afa00158 */ sw $zero,0x158($sp)
/* f06ea9c: 0fc61c91 */ jal mpGetChrFromPlayerIndex
/* f06eaa0: afa70170 */ sw $a3,0x170($sp)
/* f06eaa4: 8fa50158 */ lw $a1,0x158($sp)
/* f06eaa8: 10400002 */ beqz $v0,.NB0f06eab4
/* f06eaac: 8fa70170 */ lw $a3,0x170($sp)
/* f06eab0: 8c45001c */ lw $a1,0x1c($v0)
.NB0f06eab4:
/* f06eab4: 8fa60178 */ lw $a2,0x178($sp)
/* f06eab8: afa70170 */ sw $a3,0x170($sp)
/* f06eabc: 0fc027b2 */ jal nbombCreateStorm
/* f06eac0: 24c40008 */ addiu $a0,$a2,0x8
/* f06eac4: 0fc10c55 */ jal propUnsetDangerous
/* f06eac8: 8fa40178 */ lw $a0,0x178($sp)
/* f06eacc: 8fa20174 */ lw $v0,0x174($sp)
/* f06ead0: 8fa70170 */ lw $a3,0x170($sp)
/* f06ead4: 3c03800a */ lui $v1,0x800a
/* f06ead8: 8c4a0040 */ lw $t2,0x40($v0)
/* f06eadc: 354b0004 */ ori $t3,$t2,0x4
/* f06eae0: ac4b0040 */ sw $t3,0x40($v0)
/* f06eae4: 8c63e944 */ lw $v1,-0x16bc($v1)
/* f06eae8: 8c6e0264 */ lw $t6,0x264($v1)
/* f06eaec: 544e0222 */ bnel $v0,$t6,.NB0f06f378
/* f06eaf0: 8fae0174 */ lw $t6,0x174($sp)
/* f06eaf4: 1000021f */ beqz $zero,.NB0f06f374
/* f06eaf8: ac600264 */ sw $zero,0x264($v1)
.NB0f06eafc:
/* f06eafc: 10410005 */ beq $v0,$at,.NB0f06eb14
/* f06eb00: 24010053 */ addiu $at,$zero,0x53
/* f06eb04: 10410003 */ beq $v0,$at,.NB0f06eb14
/* f06eb08: 24010057 */ addiu $at,$zero,0x57
/* f06eb0c: 5441001c */ bnel $v0,$at,.NB0f06eb80
/* f06eb10: 24010020 */ addiu $at,$zero,0x20
.NB0f06eb14:
/* f06eb14: 84ec0062 */ lh $t4,0x62($a3)
/* f06eb18: 8fad0174 */ lw $t5,0x174($sp)
/* f06eb1c: 8fa40178 */ lw $a0,0x178($sp)
/* f06eb20: 55800215 */ bnezl $t4,.NB0f06f378
/* f06eb24: 8fae0174 */ lw $t6,0x174($sp)
/* f06eb28: 8daf000c */ lw $t7,0xc($t5)
/* f06eb2c: 2405000d */ addiu $a1,$zero,0xd
/* f06eb30: 000fc000 */ sll $t8,$t7,0x0
/* f06eb34: 07010003 */ bgez $t8,.NB0f06eb44
/* f06eb38: 00000000 */ sll $zero,$zero,0x0
/* f06eb3c: 10000001 */ beqz $zero,.NB0f06eb44
/* f06eb40: 24050011 */ addiu $a1,$zero,0x11
.NB0f06eb44:
/* f06eb44: 0fc1b95e */ jal propExplode
/* f06eb48: afa70170 */ sw $a3,0x170($sp)
/* f06eb4c: 8fa40174 */ lw $a0,0x174($sp)
/* f06eb50: 8fa70170 */ lw $a3,0x170($sp)
/* f06eb54: 3c03800a */ lui $v1,0x800a
/* f06eb58: 8c990040 */ lw $t9,0x40($a0)
/* f06eb5c: 37290004 */ ori $t1,$t9,0x4
/* f06eb60: ac890040 */ sw $t1,0x40($a0)
/* f06eb64: 8c63e944 */ lw $v1,-0x16bc($v1)
/* f06eb68: 8c6a0264 */ lw $t2,0x264($v1)
/* f06eb6c: 548a0202 */ bnel $a0,$t2,.NB0f06f378
/* f06eb70: 8fae0174 */ lw $t6,0x174($sp)
/* f06eb74: 100001ff */ beqz $zero,.NB0f06f374
/* f06eb78: ac600264 */ sw $zero,0x264($v1)
/* f06eb7c: 24010020 */ addiu $at,$zero,0x20
.NB0f06eb80:
/* f06eb80: 54410023 */ bnel $v0,$at,.NB0f06ec10
/* f06eb84: 24010022 */ addiu $at,$zero,0x22
/* f06eb88: 84e30062 */ lh $v1,0x62($a3)
/* f06eb8c: 04620020 */ bltzl $v1,.NB0f06ec10
/* f06eb90: 24010022 */ addiu $at,$zero,0x22
/* f06eb94: 90eb005f */ lbu $t3,0x5f($a3)
/* f06eb98: 3c0e800a */ lui $t6,0x800a
/* f06eb9c: 556001f6 */ bnezl $t3,.NB0f06f378
/* f06eba0: 8fae0174 */ lw $t6,0x174($sp)
/* f06eba4: 8dcee6f4 */ lw $t6,-0x190c($t6)
/* f06eba8: 006e6023 */ subu $t4,$v1,$t6
/* f06ebac: a4ec0062 */ sh $t4,0x62($a3)
/* f06ebb0: 84ed0062 */ lh $t5,0x62($a3)
/* f06ebb4: 8fa40178 */ lw $a0,0x178($sp)
/* f06ebb8: 8faf0174 */ lw $t7,0x174($sp)
/* f06ebbc: 05a301ee */ bgezl $t5,.NB0f06f378
/* f06ebc0: 8fae0174 */ lw $t6,0x174($sp)
/* f06ebc4: 8df8000c */ lw $t8,0xc($t7)
/* f06ebc8: 2405000d */ addiu $a1,$zero,0xd
/* f06ebcc: 0018c800 */ sll $t9,$t8,0x0
/* f06ebd0: 07210003 */ bgez $t9,.NB0f06ebe0
/* f06ebd4: 00000000 */ sll $zero,$zero,0x0
/* f06ebd8: 10000001 */ beqz $zero,.NB0f06ebe0
/* f06ebdc: 24050011 */ addiu $a1,$zero,0x11
.NB0f06ebe0:
/* f06ebe0: 0fc1b95e */ jal propExplode
/* f06ebe4: afa70170 */ sw $a3,0x170($sp)
/* f06ebe8: 104001e2 */ beqz $v0,.NB0f06f374
/* f06ebec: 8fa70170 */ lw $a3,0x170($sp)
/* f06ebf0: 2409ffff */ addiu $t1,$zero,-1
/* f06ebf4: a4e90062 */ sh $t1,0x62($a3)
/* f06ebf8: 8faa0174 */ lw $t2,0x174($sp)
/* f06ebfc: 8d4b0040 */ lw $t3,0x40($t2)
/* f06ec00: 356e0004 */ ori $t6,$t3,0x4
/* f06ec04: 100001db */ beqz $zero,.NB0f06f374
/* f06ec08: ad4e0040 */ sw $t6,0x40($t2)
/* f06ec0c: 24010022 */ addiu $at,$zero,0x22
.NB0f06ec10:
/* f06ec10: 54410080 */ bnel $v0,$at,.NB0f06ee14
/* f06ec14: 24010021 */ addiu $at,$zero,0x21
/* f06ec18: 3c058007 */ lui $a1,0x8007
/* f06ec1c: 24a5c010 */ addiu $a1,$a1,-16368
/* f06ec20: 8cac0000 */ lw $t4,0x0($a1)
/* f06ec24: 8fad0174 */ lw $t5,0x174($sp)
/* f06ec28: 8fb90178 */ lw $t9,0x178($sp)
/* f06ec2c: 51800056 */ beqzl $t4,.NB0f06ed88
/* f06ec30: 84e30062 */ lh $v1,0x62($a3)
/* f06ec34: 8da30040 */ lw $v1,0x40($t5)
/* f06ec38: 8f220018 */ lw $v0,0x18($t9)
/* f06ec3c: 3c01f000 */ lui $at,0xf000
/* f06ec40: 00617824 */ and $t7,$v1,$at
/* f06ec44: 10400003 */ beqz $v0,.NB0f06ec54
/* f06ec48: 000f1f02 */ srl $v1,$t7,0x1c
/* f06ec4c: 10000002 */ beqz $zero,.NB0f06ec58
/* f06ec50: 8c440004 */ lw $a0,0x4($v0)
.NB0f06ec54:
/* f06ec54: 00002025 */ or $a0,$zero,$zero
.NB0f06ec58:
/* f06ec58: 1040000b */ beqz $v0,.NB0f06ec88
/* f06ec5c: 00000000 */ sll $zero,$zero,0x0
/* f06ec60: 10800009 */ beqz $a0,.NB0f06ec88
/* f06ec64: 00000000 */ sll $zero,$zero,0x0
/* f06ec68: afa3014c */ sw $v1,0x14c($sp)
/* f06ec6c: 0fc61c7f */ jal mpPlayerGetIndex
/* f06ec70: afa70170 */ sw $a3,0x170($sp)
/* f06ec74: 8fa3014c */ lw $v1,0x14c($sp)
/* f06ec78: 3c058007 */ lui $a1,0x8007
/* f06ec7c: 24a5c010 */ addiu $a1,$a1,-16368
/* f06ec80: 10430040 */ beq $v0,$v1,.NB0f06ed84
/* f06ec84: 8fa70170 */ lw $a3,0x170($sp)
.NB0f06ec88:
/* f06ec88: 3c09800a */ lui $t1,0x800a
/* f06ec8c: 8d29e958 */ lw $t1,-0x16a8($t1)
/* f06ec90: 3c0b800a */ lui $t3,0x800a
/* f06ec94: 24010002 */ addiu $at,$zero,0x2
/* f06ec98: 05210004 */ bgez $t1,.NB0f06ecac
/* f06ec9c: 00000000 */ sll $zero,$zero,0x0
/* f06eca0: 8d6be95c */ lw $t3,-0x16a4($t3)
/* f06eca4: 05620031 */ bltzl $t3,.NB0f06ed6c
/* f06eca8: 8cad0000 */ lw $t5,0x0($a1)
.NB0f06ecac:
/* f06ecac: 14610026 */ bne $v1,$at,.NB0f06ed48
/* f06ecb0: 3c02800a */ lui $v0,0x800a
/* f06ecb4: 8c42e964 */ lw $v0,-0x169c($v0)
/* f06ecb8: 00001825 */ or $v1,$zero,$zero
/* f06ecbc: 1040000b */ beqz $v0,.NB0f06ecec
/* f06ecc0: 00000000 */ sll $zero,$zero,0x0
/* f06ecc4: 8c4400bc */ lw $a0,0xbc($v0)
/* f06ecc8: 10800008 */ beqz $a0,.NB0f06ecec
/* f06eccc: 00000000 */ sll $zero,$zero,0x0
/* f06ecd0: 0fc48d6f */ jal propGetPlayerNum
/* f06ecd4: afa70170 */ sw $a3,0x170($sp)
/* f06ecd8: 3c058007 */ lui $a1,0x8007
/* f06ecdc: 240e0001 */ addiu $t6,$zero,0x1
/* f06ece0: 004e1804 */ sllv $v1,$t6,$v0
/* f06ece4: 24a5c010 */ addiu $a1,$a1,-16368
/* f06ece8: 8fa70170 */ lw $a3,0x170($sp)
.NB0f06ecec:
/* f06ecec: 3c02800a */ lui $v0,0x800a
/* f06ecf0: 8c42e960 */ lw $v0,-0x16a0($v0)
/* f06ecf4: 5040000f */ beqzl $v0,.NB0f06ed34
/* f06ecf8: 8cad0000 */ lw $t5,0x0($a1)
/* f06ecfc: 8c4400bc */ lw $a0,0xbc($v0)
/* f06ed00: 5080000c */ beqzl $a0,.NB0f06ed34
/* f06ed04: 8cad0000 */ lw $t5,0x0($a1)
/* f06ed08: afa30144 */ sw $v1,0x144($sp)
/* f06ed0c: 0fc48d6f */ jal propGetPlayerNum
/* f06ed10: afa70170 */ sw $a3,0x170($sp)
/* f06ed14: 8fa30144 */ lw $v1,0x144($sp)
/* f06ed18: 240a0001 */ addiu $t2,$zero,0x1
/* f06ed1c: 004a6004 */ sllv $t4,$t2,$v0
/* f06ed20: 3c058007 */ lui $a1,0x8007
/* f06ed24: 24a5c010 */ addiu $a1,$a1,-16368
/* f06ed28: 8fa70170 */ lw $a3,0x170($sp)
/* f06ed2c: 006c1825 */ or $v1,$v1,$t4
/* f06ed30: 8cad0000 */ lw $t5,0x0($a1)
.NB0f06ed34:
/* f06ed34: 01a37824 */ and $t7,$t5,$v1
/* f06ed38: 11e00012 */ beqz $t7,.NB0f06ed84
/* f06ed3c: acaf0000 */ sw $t7,0x0($a1)
/* f06ed40: 10000010 */ beqz $zero,.NB0f06ed84
/* f06ed44: a4e00062 */ sh $zero,0x62($a3)
.NB0f06ed48:
/* f06ed48: 8cab0000 */ lw $t3,0x0($a1)
/* f06ed4c: 24190001 */ addiu $t9,$zero,0x1
/* f06ed50: 00794804 */ sllv $t1,$t9,$v1
/* f06ed54: 012b7024 */ and $t6,$t1,$t3
/* f06ed58: 51c0000b */ beqzl $t6,.NB0f06ed88
/* f06ed5c: 84e30062 */ lh $v1,0x62($a3)
/* f06ed60: 10000008 */ beqz $zero,.NB0f06ed84
/* f06ed64: a4e00062 */ sh $zero,0x62($a3)
/* f06ed68: 8cad0000 */ lw $t5,0x0($a1)
.NB0f06ed6c:
/* f06ed6c: 240a0001 */ addiu $t2,$zero,0x1
/* f06ed70: 006a6004 */ sllv $t4,$t2,$v1
/* f06ed74: 018d7824 */ and $t7,$t4,$t5
/* f06ed78: 51e00003 */ beqzl $t7,.NB0f06ed88
/* f06ed7c: 84e30062 */ lh $v1,0x62($a3)
/* f06ed80: a4e00062 */ sh $zero,0x62($a3)
.NB0f06ed84:
/* f06ed84: 84e30062 */ lh $v1,0x62($a3)
.NB0f06ed88:
/* f06ed88: 3c18800a */ lui $t8,0x800a
/* f06ed8c: 28610002 */ slti $at,$v1,0x2
/* f06ed90: 1420000b */ bnez $at,.NB0f06edc0
/* f06ed94: 00000000 */ sll $zero,$zero,0x0
/* f06ed98: 8f18e6f4 */ lw $t8,-0x190c($t8)
/* f06ed9c: 24080001 */ addiu $t0,$zero,0x1
/* f06eda0: 0078c823 */ subu $t9,$v1,$t8
/* f06eda4: a4f90062 */ sh $t9,0x62($a3)
/* f06eda8: 84e90062 */ lh $t1,0x62($a3)
/* f06edac: 29210002 */ slti $at,$t1,0x2
/* f06edb0: 50200171 */ beqzl $at,.NB0f06f378
/* f06edb4: 8fae0174 */ lw $t6,0x174($sp)
/* f06edb8: 1000016e */ beqz $zero,.NB0f06f374
/* f06edbc: a4e80062 */ sh $t0,0x62($a3)
.NB0f06edc0:
/* f06edc0: 1460016c */ bnez $v1,.NB0f06f374
/* f06edc4: 8fab0174 */ lw $t3,0x174($sp)
/* f06edc8: 8d6e000c */ lw $t6,0xc($t3)
/* f06edcc: 2405000d */ addiu $a1,$zero,0xd
/* f06edd0: 8fa40178 */ lw $a0,0x178($sp)
/* f06edd4: 000e5000 */ sll $t2,$t6,0x0
/* f06edd8: 05410002 */ bgez $t2,.NB0f06ede4
/* f06eddc: 00000000 */ sll $zero,$zero,0x0
/* f06ede0: 24050011 */ addiu $a1,$zero,0x11
.NB0f06ede4:
/* f06ede4: 0fc1b95e */ jal propExplode
/* f06ede8: afa70170 */ sw $a3,0x170($sp)
/* f06edec: 10400161 */ beqz $v0,.NB0f06f374
/* f06edf0: 8fa70170 */ lw $a3,0x170($sp)
/* f06edf4: 240cffff */ addiu $t4,$zero,-1
/* f06edf8: a4ec0062 */ sh $t4,0x62($a3)
/* f06edfc: 8fad0174 */ lw $t5,0x174($sp)
/* f06ee00: 8daf0040 */ lw $t7,0x40($t5)
/* f06ee04: 35f80004 */ ori $t8,$t7,0x4
/* f06ee08: 1000015a */ beqz $zero,.NB0f06f374
/* f06ee0c: adb80040 */ sw $t8,0x40($t5)
/* f06ee10: 24010021 */ addiu $at,$zero,0x21
.NB0f06ee14:
/* f06ee14: 10410011 */ beq $v0,$at,.NB0f06ee5c
/* f06ee18: 2401000f */ addiu $at,$zero,0xf
/* f06ee1c: 14410005 */ bne $v0,$at,.NB0f06ee34
/* f06ee20: 00000000 */ sll $zero,$zero,0x0
/* f06ee24: 90f9005f */ lbu $t9,0x5f($a3)
/* f06ee28: 24080001 */ addiu $t0,$zero,0x1
/* f06ee2c: 5119000c */ beql $t0,$t9,.NB0f06ee60
/* f06ee30: 84e30062 */ lh $v1,0x62($a3)
.NB0f06ee34:
/* f06ee34: 14c20004 */ bne $a2,$v0,.NB0f06ee48
/* f06ee38: 24080001 */ addiu $t0,$zero,0x1
/* f06ee3c: 90e9005f */ lbu $t1,0x5f($a3)
/* f06ee40: 51090007 */ beql $t0,$t1,.NB0f06ee60
/* f06ee44: 84e30062 */ lh $v1,0x62($a3)
.NB0f06ee48:
/* f06ee48: 14a20073 */ bne $a1,$v0,.NB0f06f018
/* f06ee4c: 24010055 */ addiu $at,$zero,0x55
/* f06ee50: 90eb005f */ lbu $t3,0x5f($a3)
/* f06ee54: 150b0070 */ bne $t0,$t3,.NB0f06f018
/* f06ee58: 00000000 */ sll $zero,$zero,0x0
.NB0f06ee5c:
/* f06ee5c: 84e30062 */ lh $v1,0x62($a3)
.NB0f06ee60:
/* f06ee60: 24080001 */ addiu $t0,$zero,0x1
/* f06ee64: 3c0e800a */ lui $t6,0x800a
/* f06ee68: 28610002 */ slti $at,$v1,0x2
/* f06ee6c: 14200010 */ bnez $at,.NB0f06eeb0
/* f06ee70: 00000000 */ sll $zero,$zero,0x0
/* f06ee74: 8dcee6f4 */ lw $t6,-0x190c($t6)
/* f06ee78: 00e02025 */ or $a0,$a3,$zero
/* f06ee7c: 006e5023 */ subu $t2,$v1,$t6
/* f06ee80: a4ea0062 */ sh $t2,0x62($a3)
/* f06ee84: 84e30062 */ lh $v1,0x62($a3)
/* f06ee88: 28610002 */ slti $at,$v1,0x2
/* f06ee8c: 10200024 */ beqz $at,.NB0f06ef20
/* f06ee90: 00000000 */ sll $zero,$zero,0x0
/* f06ee94: a4e80062 */ sh $t0,0x62($a3)
/* f06ee98: 0fc224eb */ jal weaponRegisterProxy
/* f06ee9c: afa70170 */ sw $a3,0x170($sp)
/* f06eea0: 8fa70170 */ lw $a3,0x170($sp)
/* f06eea4: 2405001f */ addiu $a1,$zero,0x1f
/* f06eea8: 1000001d */ beqz $zero,.NB0f06ef20
/* f06eeac: 84e30062 */ lh $v1,0x62($a3)
.NB0f06eeb0:
/* f06eeb0: 1503001b */ bne $t0,$v1,.NB0f06ef20
/* f06eeb4: 3c0c800a */ lui $t4,0x800a
/* f06eeb8: 8d8ce944 */ lw $t4,-0x16bc($t4)
/* f06eebc: 8faf0178 */ lw $t7,0x178($sp)
/* f06eec0: 3c017f1a */ lui $at,0x7f1a
/* f06eec4: 8d8200bc */ lw $v0,0xbc($t4)
/* f06eec8: c5e40008 */ lwc1 $f4,0x8($t7)
/* f06eecc: c5e8000c */ lwc1 $f8,0xc($t7)
/* f06eed0: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06eed4: c446000c */ lwc1 $f6,0xc($v0)
/* f06eed8: 24420008 */ addiu $v0,$v0,0x8
/* f06eedc: 46045001 */ sub.s $f0,$f10,$f4
/* f06eee0: c5e40010 */ lwc1 $f4,0x10($t7)
/* f06eee4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f06eee8: 46083081 */ sub.s $f2,$f6,$f8
/* f06eeec: 46000182 */ mul.s $f6,$f0,$f0
/* f06eef0: 46045301 */ sub.s $f12,$f10,$f4
/* f06eef4: 46021202 */ mul.s $f8,$f2,$f2
/* f06eef8: 46083280 */ add.s $f10,$f6,$f8
/* f06eefc: 460c6102 */ mul.s $f4,$f12,$f12
/* f06ef00: c42845e0 */ lwc1 $f8,0x45e0($at)
/* f06ef04: 46045180 */ add.s $f6,$f10,$f4
/* f06ef08: 4608303c */ c.lt.s $f6,$f8
/* f06ef0c: 00000000 */ sll $zero,$zero,0x0
/* f06ef10: 45000003 */ bc1f .NB0f06ef20
/* f06ef14: 00000000 */ sll $zero,$zero,0x0
/* f06ef18: a4e00062 */ sh $zero,0x62($a3)
/* f06ef1c: 84e30062 */ lh $v1,0x62($a3)
.NB0f06ef20:
/* f06ef20: 54600115 */ bnezl $v1,.NB0f06f378
/* f06ef24: 8fae0174 */ lw $t6,0x174($sp)
/* f06ef28: 90e2005c */ lbu $v0,0x5c($a3)
/* f06ef2c: 8fb80174 */ lw $t8,0x174($sp)
/* f06ef30: 2401000f */ addiu $at,$zero,0xf
/* f06ef34: 14a20023 */ bne $a1,$v0,.NB0f06efc4
/* f06ef38: 8fa40178 */ lw $a0,0x178($sp)
/* f06ef3c: 8fb80174 */ lw $t8,0x174($sp)
/* f06ef40: 3c09800a */ lui $t1,0x800a
/* f06ef44: 8d29e9d8 */ lw $t1,-0x1628($t1)
/* f06ef48: 8f040040 */ lw $a0,0x40($t8)
/* f06ef4c: 3c01f000 */ lui $at,0xf000
/* f06ef50: 00002825 */ or $a1,$zero,$zero
/* f06ef54: 00816824 */ and $t5,$a0,$at
/* f06ef58: 11200008 */ beqz $t1,.NB0f06ef7c
/* f06ef5c: 000d2702 */ srl $a0,$t5,0x1c
/* f06ef60: afa00128 */ sw $zero,0x128($sp)
/* f06ef64: 0fc61c91 */ jal mpGetChrFromPlayerIndex
/* f06ef68: afa70170 */ sw $a3,0x170($sp)
/* f06ef6c: 8fa50128 */ lw $a1,0x128($sp)
/* f06ef70: 10400002 */ beqz $v0,.NB0f06ef7c
/* f06ef74: 8fa70170 */ lw $a3,0x170($sp)
/* f06ef78: 8c45001c */ lw $a1,0x1c($v0)
.NB0f06ef7c:
/* f06ef7c: 8fa60178 */ lw $a2,0x178($sp)
/* f06ef80: afa70170 */ sw $a3,0x170($sp)
/* f06ef84: 0fc027b2 */ jal nbombCreateStorm
/* f06ef88: 24c40008 */ addiu $a0,$a2,0x8
/* f06ef8c: 0fc10c55 */ jal propUnsetDangerous
/* f06ef90: 8fa40178 */ lw $a0,0x178($sp)
/* f06ef94: 8fae0174 */ lw $t6,0x174($sp)
/* f06ef98: 8fa70170 */ lw $a3,0x170($sp)
/* f06ef9c: 3c03800a */ lui $v1,0x800a
/* f06efa0: 8dca0040 */ lw $t2,0x40($t6)
/* f06efa4: 354c0004 */ ori $t4,$t2,0x4
/* f06efa8: adcc0040 */ sw $t4,0x40($t6)
/* f06efac: 8c63e944 */ lw $v1,-0x16bc($v1)
/* f06efb0: 8c6f0264 */ lw $t7,0x264($v1)
/* f06efb4: 55cf00f0 */ bnel $t6,$t7,.NB0f06f378
/* f06efb8: 8fae0174 */ lw $t6,0x174($sp)
/* f06efbc: 100000ed */ beqz $zero,.NB0f06f374
/* f06efc0: ac600264 */ sw $zero,0x264($v1)
.NB0f06efc4:
/* f06efc4: 8f0d000c */ lw $t5,0xc($t8)
/* f06efc8: 2405000d */ addiu $a1,$zero,0xd
/* f06efcc: 000dc800 */ sll $t9,$t5,0x0
/* f06efd0: 07210003 */ bgez $t9,.NB0f06efe0
/* f06efd4: 00000000 */ sll $zero,$zero,0x0
/* f06efd8: 10000001 */ beqz $zero,.NB0f06efe0
/* f06efdc: 24050011 */ addiu $a1,$zero,0x11
.NB0f06efe0:
/* f06efe0: 14410002 */ bne $v0,$at,.NB0f06efec
/* f06efe4: 00000000 */ sll $zero,$zero,0x0
/* f06efe8: 24050017 */ addiu $a1,$zero,0x17
.NB0f06efec:
/* f06efec: 0fc1b95e */ jal propExplode
/* f06eff0: afa70170 */ sw $a3,0x170($sp)
/* f06eff4: 104000df */ beqz $v0,.NB0f06f374
/* f06eff8: 8fa70170 */ lw $a3,0x170($sp)
/* f06effc: 2409ffff */ addiu $t1,$zero,-1
/* f06f000: a4e90062 */ sh $t1,0x62($a3)
/* f06f004: 8fab0174 */ lw $t3,0x174($sp)
/* f06f008: 8d6a0040 */ lw $t2,0x40($t3)
/* f06f00c: 354c0004 */ ori $t4,$t2,0x4
/* f06f010: 100000d8 */ beqz $zero,.NB0f06f374
/* f06f014: ad6c0040 */ sw $t4,0x40($t3)
.NB0f06f018:
/* f06f018: 544100d7 */ bnel $v0,$at,.NB0f06f378
/* f06f01c: 8fae0174 */ lw $t6,0x174($sp)
/* f06f020: 84e30062 */ lh $v1,0x62($a3)
/* f06f024: 8fae0174 */ lw $t6,0x174($sp)
/* f06f028: 28610002 */ slti $at,$v1,0x2
/* f06f02c: 142000a2 */ bnez $at,.NB0f06f2b8
/* f06f030: 00000000 */ sll $zero,$zero,0x0
/* f06f034: 8dc40018 */ lw $a0,0x18($t6)
/* f06f038: 0fc19f4a */ jal modelFindBboxRodata
/* f06f03c: afa70170 */ sw $a3,0x170($sp)
/* f06f040: 8fa70170 */ lw $a3,0x170($sp)
/* f06f044: 3c014140 */ lui $at,0x4140
/* f06f048: 44811000 */ mtc1 $at,$f2
/* f06f04c: 84e30062 */ lh $v1,0x62($a3)
/* f06f050: 3c017f1a */ lui $at,0x7f1a
/* f06f054: c42e45e4 */ lwc1 $f14,0x45e4($at)
/* f06f058: 2463ffff */ addiu $v1,$v1,-1
/* f06f05c: 44835000 */ mtc1 $v1,$f10
/* f06f060: 2861000c */ slti $at,$v1,0xc
/* f06f064: 24080001 */ addiu $t0,$zero,0x1
/* f06f068: 46805120 */ cvt.s.w $f4,$f10
/* f06f06c: 00403025 */ or $a2,$v0,$zero
/* f06f070: 246f0001 */ addiu $t7,$v1,0x1
/* f06f074: 30780001 */ andi $t8,$v1,0x1
/* f06f078: 27a50090 */ addiu $a1,$sp,0x90
/* f06f07c: 46022183 */ div.s $f6,$f4,$f2
/* f06f080: 460e3002 */ mul.s $f0,$f6,$f14
/* f06f084: 10200007 */ beqz $at,.NB0f06f0a4
/* f06f088: 46000306 */ mov.s $f12,$f0
/* f06f08c: 448f4000 */ mtc1 $t7,$f8
/* f06f090: 00000000 */ sll $zero,$zero,0x0
/* f06f094: 468042a0 */ cvt.s.w $f10,$f8
/* f06f098: 46025103 */ div.s $f4,$f10,$f2
/* f06f09c: 46047182 */ mul.s $f6,$f14,$f4
/* f06f0a0: 46060300 */ add.s $f12,$f0,$f6
.NB0f06f0a4:
/* f06f0a4: 55180003 */ bnel $t0,$t8,.NB0f06f0b4
/* f06f0a8: afa60118 */ sw $a2,0x118($sp)
/* f06f0ac: 46006307 */ neg.s $f12,$f12
/* f06f0b0: afa60118 */ sw $a2,0x118($sp)
.NB0f06f0b4:
/* f06f0b4: 0c005cc1 */ jal mtx4LoadYRotation
/* f06f0b8: afa70170 */ sw $a3,0x170($sp)
/* f06f0bc: 8fad0174 */ lw $t5,0x174($sp)
/* f06f0c0: 8fa60118 */ lw $a2,0x118($sp)
/* f06f0c4: 8fa70170 */ lw $a3,0x170($sp)
/* f06f0c8: 8da30048 */ lw $v1,0x48($t5)
/* f06f0cc: 8fb90178 */ lw $t9,0x178($sp)
/* f06f0d0: 50600042 */ beqzl $v1,.NB0f06f1dc
/* f06f0d4: 44808000 */ mtc1 $zero,$f16
/* f06f0d8: 8f220018 */ lw $v0,0x18($t9)
/* f06f0dc: 50400073 */ beqzl $v0,.NB0f06f2ac
/* f06f0e0: 84f80062 */ lh $t8,0x62($a3)
/* f06f0e4: 90490000 */ lbu $t1,0x0($v0)
/* f06f0e8: 24010003 */ addiu $at,$zero,0x3
/* f06f0ec: 24640004 */ addiu $a0,$v1,0x4
/* f06f0f0: 1121006d */ beq $t1,$at,.NB0f06f2a8
/* f06f0f4: 27a500d0 */ addiu $a1,$sp,0xd0
/* f06f0f8: afa60118 */ sw $a2,0x118($sp)
/* f06f0fc: 0c005b02 */ jal mtx4Copy
/* f06f100: afa70170 */ sw $a3,0x170($sp)
/* f06f104: 44800000 */ mtc1 $zero,$f0
/* f06f108: 8fa40118 */ lw $a0,0x118($sp)
/* f06f10c: e7a00104 */ swc1 $f0,0x104($sp)
/* f06f110: e7a00100 */ swc1 $f0,0x100($sp)
/* f06f114: e7a000ec */ swc1 $f0,0xec($sp)
/* f06f118: e7a000dc */ swc1 $f0,0xdc($sp)
/* f06f11c: e7a00048 */ swc1 $f0,0x48($sp)
/* f06f120: e7a00038 */ swc1 $f0,0x38($sp)
/* f06f124: e7a00044 */ swc1 $f0,0x44($sp)
/* f06f128: e7a00108 */ swc1 $f0,0x108($sp)
/* f06f12c: e7a000fc */ swc1 $f0,0xfc($sp)
/* f06f130: 0fc19695 */ jal modelBboxGetZMax
/* f06f134: e7a0003c */ swc1 $f0,0x3c($sp)
/* f06f138: e7a00040 */ swc1 $f0,0x40($sp)
/* f06f13c: e7a0004c */ swc1 $f0,0x4c($sp)
/* f06f140: 27a400d0 */ addiu $a0,$sp,0xd0
/* f06f144: 27a50090 */ addiu $a1,$sp,0x90
/* f06f148: 0c005a3c */ jal mtx4MultMtx4
/* f06f14c: 27a60050 */ addiu $a2,$sp,0x50
/* f06f150: 27a400d0 */ addiu $a0,$sp,0xd0
/* f06f154: 0c005a80 */ jal mtx4RotateVecInPlace
/* f06f158: 27a50044 */ addiu $a1,$sp,0x44
/* f06f15c: 27a40050 */ addiu $a0,$sp,0x50
/* f06f160: 0c005a80 */ jal mtx4RotateVecInPlace
/* f06f164: 27a50038 */ addiu $a1,$sp,0x38
/* f06f168: 8faa0174 */ lw $t2,0x174($sp)
/* f06f16c: c7a80038 */ lwc1 $f8,0x38($sp)
/* f06f170: c7aa0044 */ lwc1 $f10,0x44($sp)
/* f06f174: 8d4c0048 */ lw $t4,0x48($t2)
/* f06f178: 27a40050 */ addiu $a0,$sp,0x50
/* f06f17c: 460a4101 */ sub.s $f4,$f8,$f10
/* f06f180: c5860034 */ lwc1 $f6,0x34($t4)
/* f06f184: c7aa003c */ lwc1 $f10,0x3c($sp)
/* f06f188: 46043201 */ sub.s $f8,$f6,$f4
/* f06f18c: c7a60048 */ lwc1 $f6,0x48($sp)
/* f06f190: e7a80080 */ swc1 $f8,0x80($sp)
/* f06f194: 8d4b0048 */ lw $t3,0x48($t2)
/* f06f198: 46065101 */ sub.s $f4,$f10,$f6
/* f06f19c: c7a60040 */ lwc1 $f6,0x40($sp)
/* f06f1a0: c5680038 */ lwc1 $f8,0x38($t3)
/* f06f1a4: 46044281 */ sub.s $f10,$f8,$f4
/* f06f1a8: c7a8004c */ lwc1 $f8,0x4c($sp)
/* f06f1ac: e7aa0084 */ swc1 $f10,0x84($sp)
/* f06f1b0: 8d4e0048 */ lw $t6,0x48($t2)
/* f06f1b4: 46083101 */ sub.s $f4,$f6,$f8
/* f06f1b8: c5ca003c */ lwc1 $f10,0x3c($t6)
/* f06f1bc: 46045181 */ sub.s $f6,$f10,$f4
/* f06f1c0: e7a60088 */ swc1 $f6,0x88($sp)
/* f06f1c4: 8d450048 */ lw $a1,0x48($t2)
/* f06f1c8: 0c005b02 */ jal mtx4Copy
/* f06f1cc: 24a50004 */ addiu $a1,$a1,0x4
/* f06f1d0: 10000035 */ beqz $zero,.NB0f06f2a8
/* f06f1d4: 8fa70170 */ lw $a3,0x170($sp)
/* f06f1d8: 44808000 */ mtc1 $zero,$f16
.NB0f06f1dc:
/* f06f1dc: 00c02025 */ or $a0,$a2,$zero
/* f06f1e0: afa70170 */ sw $a3,0x170($sp)
/* f06f1e4: e7b00048 */ swc1 $f16,0x48($sp)
/* f06f1e8: e7b00038 */ swc1 $f16,0x38($sp)
/* f06f1ec: e7b00044 */ swc1 $f16,0x44($sp)
/* f06f1f0: 0fc19695 */ jal modelBboxGetZMax
/* f06f1f4: e7b0003c */ swc1 $f16,0x3c($sp)
/* f06f1f8: 8fa40174 */ lw $a0,0x174($sp)
/* f06f1fc: e7a00040 */ swc1 $f0,0x40($sp)
/* f06f200: e7a0004c */ swc1 $f0,0x4c($sp)
/* f06f204: 2484001c */ addiu $a0,$a0,0x1c
/* f06f208: afa40020 */ sw $a0,0x20($sp)
/* f06f20c: 0c005b11 */ jal mtx3ToMtx4
/* f06f210: 27a500d0 */ addiu $a1,$sp,0xd0
/* f06f214: 27a400d0 */ addiu $a0,$sp,0xd0
/* f06f218: 27a50090 */ addiu $a1,$sp,0x90
/* f06f21c: 0c005a3c */ jal mtx4MultMtx4
/* f06f220: 27a60050 */ addiu $a2,$sp,0x50
/* f06f224: 27a40050 */ addiu $a0,$sp,0x50
/* f06f228: 0c005b24 */ jal mtx4ToMtx3
/* f06f22c: 8fa50020 */ lw $a1,0x20($sp)
/* f06f230: 27a400d0 */ addiu $a0,$sp,0xd0
/* f06f234: 0c005a80 */ jal mtx4RotateVecInPlace
/* f06f238: 27a50044 */ addiu $a1,$sp,0x44
/* f06f23c: 27a40050 */ addiu $a0,$sp,0x50
/* f06f240: 0c005a80 */ jal mtx4RotateVecInPlace
/* f06f244: 27a50038 */ addiu $a1,$sp,0x38
/* f06f248: c7a80038 */ lwc1 $f8,0x38($sp)
/* f06f24c: c7aa0044 */ lwc1 $f10,0x44($sp)
/* f06f250: 8faf0178 */ lw $t7,0x178($sp)
/* f06f254: 00002825 */ or $a1,$zero,$zero
/* f06f258: 460a4101 */ sub.s $f4,$f8,$f10
/* f06f25c: c5e60008 */ lwc1 $f6,0x8($t7)
/* f06f260: 24060001 */ addiu $a2,$zero,0x1
/* f06f264: 46043201 */ sub.s $f8,$f6,$f4
/* f06f268: e5e80008 */ swc1 $f8,0x8($t7)
/* f06f26c: c7a60048 */ lwc1 $f6,0x48($sp)
/* f06f270: c7aa003c */ lwc1 $f10,0x3c($sp)
/* f06f274: c5e8000c */ lwc1 $f8,0xc($t7)
/* f06f278: 46065101 */ sub.s $f4,$f10,$f6
/* f06f27c: 46044281 */ sub.s $f10,$f8,$f4
/* f06f280: e5ea000c */ swc1 $f10,0xc($t7)
/* f06f284: c7a8004c */ lwc1 $f8,0x4c($sp)
/* f06f288: c7a60040 */ lwc1 $f6,0x40($sp)
/* f06f28c: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f06f290: 46083101 */ sub.s $f4,$f6,$f8
/* f06f294: 46045181 */ sub.s $f6,$f10,$f4
/* f06f298: e5e60010 */ swc1 $f6,0x10($t7)
/* f06f29c: 0fc1a3b7 */ jal func0f069c70
/* f06f2a0: 8fa40174 */ lw $a0,0x174($sp)
/* f06f2a4: 8fa70170 */ lw $a3,0x170($sp)
.NB0f06f2a8:
/* f06f2a8: 84f80062 */ lh $t8,0x62($a3)
.NB0f06f2ac:
/* f06f2ac: 270dffff */ addiu $t5,$t8,-1
/* f06f2b0: a4ed0062 */ sh $t5,0x62($a3)
/* f06f2b4: 84e30062 */ lh $v1,0x62($a3)
.NB0f06f2b8:
/* f06f2b8: 04610027 */ bgez $v1,.NB0f06f358
/* f06f2bc: 8fb90174 */ lw $t9,0x174($sp)
/* f06f2c0: 8f230048 */ lw $v1,0x48($t9)
/* f06f2c4: afa70170 */ sw $a3,0x170($sp)
/* f06f2c8: 8fa40178 */ lw $a0,0x178($sp)
/* f06f2cc: 0fc2b26d */ jal func0f0aec54
/* f06f2d0: afa30034 */ sw $v1,0x34($sp)
/* f06f2d4: 2401ffff */ addiu $at,$zero,-1
/* f06f2d8: 8fa30034 */ lw $v1,0x34($sp)
/* f06f2dc: 8fa70170 */ lw $a3,0x170($sp)
/* f06f2e0: 10410024 */ beq $v0,$at,.NB0f06f374
/* f06f2e4: 00402025 */ or $a0,$v0,$zero
/* f06f2e8: 8fa50178 */ lw $a1,0x178($sp)
/* f06f2ec: afa30034 */ sw $v1,0x34($sp)
/* f06f2f0: afa20030 */ sw $v0,0x30($sp)
/* f06f2f4: afa70170 */ sw $a3,0x170($sp)
/* f06f2f8: 0fc2b2b4 */ jal func0f0aed70
/* f06f2fc: 24a50008 */ addiu $a1,$a1,0x8
/* f06f300: 3c05453b */ lui $a1,0x453b
/* f06f304: 34a58000 */ ori $a1,$a1,0x8000
/* f06f308: 8fa40030 */ lw $a0,0x30($sp)
/* f06f30c: 0fc2b2c1 */ jal func0f0aeda4
/* f06f310: 00003025 */ or $a2,$zero,$zero
/* f06f314: 8fa30034 */ lw $v1,0x34($sp)
/* f06f318: 8fa70170 */ lw $a3,0x170($sp)
/* f06f31c: 3c0544af */ lui $a1,0x44af
/* f06f320: 10600005 */ beqz $v1,.NB0f06f338
/* f06f324: 00000000 */ sll $zero,$zero,0x0
/* f06f328: 8c690090 */ lw $t1,0x90($v1)
/* f06f32c: 19200002 */ blez $t1,.NB0f06f338
/* f06f330: 00000000 */ sll $zero,$zero,0x0
/* f06f334: 00001825 */ or $v1,$zero,$zero
.NB0f06f338:
/* f06f338: 5460000f */ bnezl $v1,.NB0f06f378
/* f06f33c: 8fae0174 */ lw $t6,0x174($sp)
/* f06f340: a4e00062 */ sh $zero,0x62($a3)
/* f06f344: afa70170 */ sw $a3,0x170($sp)
/* f06f348: 0fc2b302 */ jal func0f0aeea8
/* f06f34c: 8fa40030 */ lw $a0,0x30($sp)
/* f06f350: 10000008 */ beqz $zero,.NB0f06f374
/* f06f354: 8fa70170 */ lw $a3,0x170($sp)
.NB0f06f358:
/* f06f358: 3c03800a */ lui $v1,0x800a
/* f06f35c: 8c63e944 */ lw $v1,-0x16bc($v1)
/* f06f360: 8fac0174 */ lw $t4,0x174($sp)
/* f06f364: 8c6b0264 */ lw $t3,0x264($v1)
/* f06f368: 558b0003 */ bnel $t4,$t3,.NB0f06f378
/* f06f36c: 8fae0174 */ lw $t6,0x174($sp)
/* f06f370: ac600264 */ sw $zero,0x264($v1)
.NB0f06f374:
/* f06f374: 8fae0174 */ lw $t6,0x174($sp)
.NB0f06f378:
/* f06f378: 3c0d800a */ lui $t5,0x800a
/* f06f37c: 8dca0010 */ lw $t2,0x10($t6)
/* f06f380: 314f0100 */ andi $t7,$t2,0x100
/* f06f384: 51e0000e */ beqzl $t7,.NB0f06f3c0
/* f06f388: 8faa0174 */ lw $t2,0x174($sp)
/* f06f38c: 80f80060 */ lb $t8,0x60($a3)
/* f06f390: 8dade6f8 */ lw $t5,-0x1908($t5)
/* f06f394: 030dc823 */ subu $t9,$t8,$t5
/* f06f398: a0f90060 */ sb $t9,0x60($a3)
/* f06f39c: 80e90060 */ lb $t1,0x60($a3)
/* f06f3a0: 5d200007 */ bgtzl $t1,.NB0f06f3c0
/* f06f3a4: 8faa0174 */ lw $t2,0x174($sp)
/* f06f3a8: a0e00060 */ sb $zero,0x60($a3)
/* f06f3ac: 8fac0174 */ lw $t4,0x174($sp)
/* f06f3b0: 8d8b0040 */ lw $t3,0x40($t4)
/* f06f3b4: 356e0004 */ ori $t6,$t3,0x4
/* f06f3b8: ad8e0040 */ sw $t6,0x40($t4)
/* f06f3bc: 8faa0174 */ lw $t2,0x174($sp)
.NB0f06f3c0:
/* f06f3c0: 8fad0178 */ lw $t5,0x178($sp)
/* f06f3c4: 8d4f0010 */ lw $t7,0x10($t2)
/* f06f3c8: 31f80080 */ andi $t8,$t7,0x80
/* f06f3cc: 53000017 */ beqzl $t8,.NB0f06f42c
/* f06f3d0: 8fbf0014 */ lw $ra,0x14($sp)
/* f06f3d4: 91b90001 */ lbu $t9,0x1($t5)
/* f06f3d8: 3c0b800a */ lui $t3,0x800a
/* f06f3dc: 33290002 */ andi $t1,$t9,0x2
/* f06f3e0: 51200012 */ beqzl $t1,.NB0f06f42c
/* f06f3e4: 8fbf0014 */ lw $ra,0x14($sp)
/* f06f3e8: 8d6beafc */ lw $t3,-0x1504($t3)
/* f06f3ec: 3c01800a */ lui $at,0x800a
/* f06f3f0: 240c003c */ addiu $t4,$zero,0x3c
/* f06f3f4: 256e0001 */ addiu $t6,$t3,0x1
/* f06f3f8: ac2eeafc */ sw $t6,-0x1504($at)
/* f06f3fc: 29c10015 */ slti $at,$t6,0x15
/* f06f400: 5420000a */ bnezl $at,.NB0f06f42c
/* f06f404: 8fbf0014 */ lw $ra,0x14($sp)
/* f06f408: a0ec0060 */ sb $t4,0x60($a3)
/* f06f40c: 8faa0174 */ lw $t2,0x174($sp)
/* f06f410: 2401ff7f */ addiu $at,$zero,-129
/* f06f414: 8d4f0010 */ lw $t7,0x10($t2)
/* f06f418: 01e1c024 */ and $t8,$t7,$at
/* f06f41c: 370d0100 */ ori $t5,$t8,0x100
/* f06f420: ad580010 */ sw $t8,0x10($t2)
/* f06f424: ad4d0010 */ sw $t5,0x10($t2)
/* f06f428: 8fbf0014 */ lw $ra,0x14($sp)
.NB0f06f42c:
/* f06f42c: 27bd0178 */ addiu $sp,$sp,0x178
/* f06f430: 03e00008 */ jr $ra
/* f06f434: 00000000 */ sll $zero,$zero,0x0
);
#endif
// Mismatch: Crossbow bolt matrix code needs some work
//void weaponTick(struct prop *prop)
//{
// struct defaultobj *obj = prop->obj;
// struct weaponobj *weapon = prop->weapon;
// s32 exptype;
// s32 i;
//
// // Handle grenade timers
// if (((weapon->weaponnum == WEAPON_GRENADE && weapon->gunfunc == FUNC_PRIMARY)
// || weapon->weaponnum == WEAPON_GRENADEROUND)
// && weapon->timer240 >= 0) {
// // 5b0
// // Handle Devastator wall hugger timer
// if (weapon->weaponnum == WEAPON_GRENADEROUND
// && weapon->gunfunc == FUNC_SECONDARY
// && weapon->timer240 > 0) {
// if (weapon->timer240 >= 2) {
// // Still on the wall
// weapon->timer240 -= g_Vars.lvupdate240;
//
// if (weapon->timer240 < 8) {
// // Time to fall
// struct coord direction = {0, -10, 0}; // var800699fc
// struct prop *parent;
// struct projectile *projectile = NULL;
//
// func0f0685e4(prop);
//
// if (obj->hidden & OBJHFLAG_00000040) {
// projectile = obj->projectile->unk044;
// } else if (obj->hidden & OBJHFLAG_AIRBORNE) {
// projectile = obj->projectile;
// }
//
// if (projectile) {
// parent = prop;
//
// while (parent->parent) {
// parent = parent->parent;
// }
//
// if (parent && (parent->type == PROPTYPE_CHR || parent->type == PROPTYPE_PLAYER)) {
// parent->chr->hidden |= CHRHFLAG_00000001;
// } else {
// projectile->ownerprop = NULL;
// projectile->flags |= PROJECTILEFLAG_00000001;
// }
//
// weapon->timer240 = 1;
//
// objSetProjectileFlag4(prop);
//
// projectile->speed.x = direction.x;
// projectile->speed.y = direction.y;
// projectile->speed.z = direction.z;
//
// mtx4LoadIdentity((Mtxf *)&projectile->unk020);
//
// projectile->obj = (struct defaultobj *)weapon;
// projectile->unk0d8 = g_Vars.lvframenum;
// } else {
// // Couldn't create projectile - try again next frame
// weapon->timer240 = 2;
// }
// }
// } else {
// // empty
// }
// } else {
// // 730
// // Normal grenade
// weapon->timer240 -= g_Vars.lvupdate240;
//
// if (weapon->timer240 < 0) {
// propUnsetDangerous(prop);
//
// if (weapon->gunfunc == FUNC_2) {
// propExplode(prop, EXPLOSIONTYPE_21);
// } else {
// propExplode(prop, (obj->flags2 & OBJFLAG2_80000000) ? EXPLOSIONTYPE_17 : EXPLOSIONTYPE_13);
// }
//
// obj->hidden |= OBJHFLAG_REAPABLE;
//
// for (i = 0; i < PLAYERCOUNT(); i++) {
// if (g_Vars.players[i]->slayerrocket == (struct weaponobj *)obj) {
// g_Vars.players[i]->slayerrocket = NULL;
// g_Vars.players[i]->visionmode = VISIONMODE_SLAYERROCKETSTATIC;
// }
// }
// }
// }
// } else if (weapon->weaponnum == WEAPON_NBOMB && weapon->gunfunc == FUNC_PRIMARY) {
// // 8e8
// // Handle nbombs being thrown normally
// if (weapon->timer240 >= 0) {
// struct prop *ownerprop = NULL;
//
// weapon->timer240 -= g_Vars.lvupdate240;
//
// if (weapon->timer240 < 0) {
// // Nbombs detonate when they hit the ground, so this code only
// // runs if it's airborne for the entire duration of its timer.
// s32 ownerplayernum = (obj->hidden & 0xf0000000) >> 28;
//
// if (g_Vars.normmplayerisrunning) {
// struct chrdata *chr = mpGetChrFromPlayerIndex(ownerplayernum);
//
// if (chr) {
// ownerprop = chr->prop;
// }
// }
//
// nbombCreateStorm(&prop->pos, ownerprop);
// propUnsetDangerous(prop);
//
// obj->hidden |= OBJHFLAG_REAPABLE;
//
// for (i = 0; i < PLAYERCOUNT(); i++) {
// if (g_Vars.players[i]->slayerrocket == (struct weaponobj *)obj) {
// g_Vars.players[i]->slayerrocket = NULL;
// g_Vars.players[i]->visionmode = VISIONMODE_SLAYERROCKETSTATIC;
// }
// }
// }
// }
// } else if (weapon->weaponnum == WEAPON_ROCKET
// || weapon->weaponnum == WEAPON_HOMINGROCKET
// || weapon->weaponnum == WEAPON_SKROCKET) {
// // a98
// // Handle rockets
// if (weapon->timer240 == 0) {
// propExplode(prop, (obj->flags2 & OBJFLAG2_80000000) ? EXPLOSIONTYPE_17 : EXPLOSIONTYPE_13);
//
// obj->hidden |= OBJHFLAG_REAPABLE;
//
// for (i = 0; i < PLAYERCOUNT(); i++) {
// if (g_Vars.players[i]->slayerrocket == (struct weaponobj *)obj) {
// g_Vars.players[i]->slayerrocket = NULL;
// g_Vars.players[i]->visionmode = VISIONMODE_SLAYERROCKETSTATIC;
// }
// }
// }
// } else if (weapon->weaponnum == WEAPON_TIMEDMINE && weapon->timer240 >= 0) {
// // c14
// // Handle timed mines
// if (weapon->gunfunc == FUNC_PRIMARY) {
// weapon->timer240 -= g_Vars.lvupdate240;
//
// if (weapon->timer240 < 0) {
// if (propExplode(prop, (obj->flags2 & OBJFLAG2_80000000) ? EXPLOSIONTYPE_17 : EXPLOSIONTYPE_13)) {
// weapon->timer240 = -1;
// obj->hidden |= OBJHFLAG_REAPABLE;
// }
// }
// } else {
// // empty
// }
// } else if (weapon->weaponnum == WEAPON_REMOTEMINE) {
// // c90
// // Handle remote mines
// if (g_PlayersDetonatingMines != 0) {
// s32 ownerplayernum = (obj->hidden & 0xf0000000) >> 28;
// struct chrdata *parentchr = prop->parent ? prop->parent->chr : NULL;
//
// // If a player manages to throw a mine on themselves, it will not detonate.
// // You can't throw a mine on yourself anyway, so this check always passes
// if (prop->parent == NULL || parentchr == NULL || mpPlayerGetIndex(parentchr) != ownerplayernum) {
// if (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) {
// if (ownerplayernum == 2) {
// u32 mask = 0;
//
// if (g_Vars.coop && g_Vars.coop->prop) {
// mask |= 1 << propGetPlayerNum(g_Vars.coop->prop);
// }
//
// if (g_Vars.bond && g_Vars.bond->prop) {
// mask |= 1 << propGetPlayerNum(g_Vars.bond->prop);
// }
//
// g_PlayersDetonatingMines &= mask;
//
// if (g_PlayersDetonatingMines != 0) {
// weapon->timer240 = 0;
// }
// } else if (g_PlayersDetonatingMines & 1 << ownerplayernum) {
// weapon->timer240 = 0;
// }
// } else if (g_PlayersDetonatingMines & 1 << ownerplayernum) {
// weapon->timer240 = 0;
// }
// }
// }
//
// if (weapon->timer240 >= 2) {
// // I don't think this is reachable? Remote mines don't use a timer.
// weapon->timer240 -= g_Vars.lvupdate240;
//
// if (weapon->timer240 < 2) {
// weapon->timer240 = 1;
// }
// } else if (weapon->timer240 == 0) {
// // Mine was damaged or timer was set to 0 above
// exptype = EXPLOSIONTYPE_13;
//
// if (obj->flags2 & OBJFLAG2_80000000) {
// exptype = EXPLOSIONTYPE_17;
// }
//
// if (propExplode(prop, exptype)) {
// weapon->timer240 = -1;
// obj->hidden |= OBJHFLAG_REAPABLE;
// }
// }
// } else if (weapon->weaponnum == WEAPON_PROXIMITYMINE
// || (weapon->weaponnum == WEAPON_DRAGON && weapon->gunfunc == FUNC_SECONDARY)
// || (weapon->weaponnum == WEAPON_GRENADE && weapon->gunfunc == FUNC_SECONDARY)
// || (weapon->weaponnum == WEAPON_NBOMB && weapon->gunfunc == FUNC_SECONDARY)) {
// // ec0
// // Handle proximity items
// if (weapon->timer240 >= 2) {
// // The timer is still active, so the proxy isn't active yet
// weapon->timer240 -= g_Vars.lvupdate240;
//
// if (weapon->timer240 < 2) {
// weapon->timer240 = 1;
// weaponRegisterProxy(weapon);
// }
// } else if (weapon->timer240 == 1) {
// // Proxy is active
// struct coord *playerpos = &g_Vars.currentplayer->prop->pos;
// f32 xdist = playerpos->x - prop->pos.x;
// f32 ydist = playerpos->y - prop->pos.y;
// f32 zdist = playerpos->z - prop->pos.z;
//
// if (xdist * xdist + ydist * ydist + zdist * zdist < 250 * 250) {
// weapon->timer240 = 0;
// }
// }
//
// if (weapon->timer240 == 0) {
// // Proxy was triggered or shot
// if (weapon->weaponnum == WEAPON_NBOMB) {
// struct prop *ownerprop = NULL;
// s32 ownerplayernum = (obj->hidden & 0xf0000000) >> 28;
//
// if (g_Vars.normmplayerisrunning) {
// struct chrdata *chr = mpGetChrFromPlayerIndex(ownerplayernum);
//
// if (chr) {
// ownerprop = chr->prop;
// }
// }
//
// nbombCreateStorm(&prop->pos, ownerprop);
// propUnsetDangerous(prop);
//
// obj->hidden |= OBJHFLAG_REAPABLE;
//
// for (i = 0; i < PLAYERCOUNT(); i++) {
// if (g_Vars.players[i]->slayerrocket == (struct weaponobj *)obj) {
// g_Vars.players[i]->slayerrocket = NULL;
// g_Vars.players[i]->visionmode = VISIONMODE_SLAYERROCKETSTATIC;
// }
// }
// } else {
// // Regular explosive
// exptype = EXPLOSIONTYPE_13;
//
// if (obj->flags2 & OBJFLAG2_80000000) {
// exptype = EXPLOSIONTYPE_17;
// } else if (weapon->weaponnum == WEAPON_DRAGON) {
// exptype = EXPLOSIONTYPE_23;
// }
//
// if (propExplode(prop, exptype)) {
// weapon->timer240 = -1;
// obj->hidden |= OBJHFLAG_REAPABLE;
// }
// }
// }
// } else if (weapon->weaponnum == WEAPON_BOLT) {
// // 178
// // Handle crossbow bolts
// // Note that the timer240 value doesn't act like a timer at all
// if (weapon->timer240 >= 2) {
// // Bolt is travelling
// struct modelrodata_bbox *sp140 = modelFindBboxRodata(obj->model);
// s32 ival = weapon->timer240 - 1;
// f32 radians = ival / 12.0f * 0.026179939508438f;
// Mtxf spf8;
// Mtxf spb8;
// Mtxf sp78;
// struct coord sp6c;
// struct coord sp60;
// f32 sp38[3][3];
//
// if (ival < 12) {
// radians += (ival + 1) / 12.0f * 0.026179939508438f;
// }
//
// if ((ival & 1) == 1) {
// radians = -radians;
// }
//
// mtx4LoadYRotation(radians, &spb8);
//
// if (obj->projectile) {
// if (prop->parent && prop->parent->type != PROPTYPE_CHR) {
// mtx4Copy((Mtxf *)&obj->projectile->speed, &spf8);
//
// spf8.m[3][0] = spf8.m[3][1] = 0;
// spf8.m[0][3] = spf8.m[1][3] = 0;
//
// sp6c.y = 0;
// sp60.x = 0;
// sp6c.x = 0;
//
// spf8.m[3][2] = 0;
// spf8.m[2][3] = 0;
//
// sp60.y = 0;
// sp6c.z = sp60.z = modelBboxGetZMax(sp140);
//
// mtx4MultMtx4(&spf8, &spb8, &sp78);
// mtx4RotateVecInPlace(&spf8, &sp6c);
// mtx4RotateVecInPlace(&sp78, &sp60);
//
// sp78.m[3][0] = obj->projectile->unk034 - (sp60.x - sp6c.x);
// sp78.m[3][1] = obj->projectile->unk038 - (sp60.y - sp6c.y);
// sp78.m[3][2] = obj->projectile->unk03c - (sp60.z - sp6c.z);
//
// mtx4Copy(&sp78, (Mtxf *)&obj->projectile->speed);
// }
// } else {
// sp6c.y = 0;
// sp60.x = 0;
// sp6c.x = 0;
// sp60.y = 0;
//
// sp38[0][0] = sp6c.z = sp60.z = modelBboxGetZMax(sp140);
//
// mtx3ToMtx4(obj->realrot, &spf8);
// mtx4MultMtx4(&spf8, &spb8, &sp78);
// mtx4ToMtx3(&sp78, sp38);
//
// mtx4RotateVecInPlace(&spf8, &sp6c);
// mtx4RotateVecInPlace(&sp78, &sp60);
//
// prop->pos.x -= sp60.x - sp6c.x;
// prop->pos.y -= sp60.y - sp6c.y;
// prop->pos.z -= sp60.z - sp6c.z;
//
// func0f069c70(obj, false, true);
// }
//
// weapon->timer240--;
// }
//
// if (weapon->timer240 < 0) {
// struct projectile *projectile = obj->projectile;
// s32 value = func0f0aec54(prop);
//
// if (value != -1) {
// func0f0aed70(value, &prop->pos);
//
// func0f0aeda4(value, 3000, 0);
//
// if (projectile && projectile->unk090 > 0) {
// projectile = NULL;
// }
//
// if (projectile == NULL) {
// weapon->timer240 = 0;
// func0f0aeea8(value, 1400);
// }
// }
// } else {
// for (i = 0; i < PLAYERCOUNT(); i++) {
// if (g_Vars.players[i]->slayerrocket == (struct weaponobj *)obj) {
// g_Vars.players[i]->slayerrocket = NULL;
// g_Vars.players[i]->visionmode = VISIONMODE_SLAYERROCKETSTATIC;
// }
// }
// }
// }
//
// // Hard freeing is the practice of freeing a prop while it's on screen.
// // Hard frees are triggered when there are over 20 props on screen with the
// // flag CANHARDFREE. This flag is given to dropped weapons in multiplayer.
// // When this occurs, the props past the first 20 are given the flag
// // HARDFREEING. They then fade out over 1 second, at which point they are
// // given the REAPABLE flag and soon freed.
// // 594
// if (obj->flags3 & OBJFLAG3_HARDFREEING) {
// weapon->fadeouttimer60 -= g_Vars.lvupdate240_60;
//
// if (weapon->fadeouttimer60 <= 0) {
// weapon->fadeouttimer60 = 0;
// obj->hidden |= OBJHFLAG_REAPABLE;
// }
// }
//
// if ((obj->flags3 & OBJFLAG3_CANHARDFREE) && (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
// g_Vars.hardfreeabletally++;
//
// if (g_Vars.hardfreeabletally > 20) {
// weapon->fadeouttimer60 = 60;
// obj->flags3 &= ~OBJFLAG3_CANHARDFREE;
// obj->flags3 |= OBJFLAG3_HARDFREEING;
// }
// }
//}
void func0f07063c(struct prop *prop, bool arg1)
{
struct defaultobj *obj = prop->obj;
if (arg1) {
if (obj->type == OBJTYPE_AMMOCRATE || obj->type == OBJTYPE_MULTIAMMOCRATE) {
ammocrateTick(prop);
} else if (obj->type == OBJTYPE_WEAPON) {
weaponTick(prop);
}
}
}
void objDropRecursively(struct prop *prop, bool arg1)
{
struct prop *child = prop->child;
while (child) {
struct prop *next = child->next;
objDropRecursively(child, arg1);
objDrop(child, arg1);
child = next;
}
}
void func0f0706f8(struct prop *prop, bool arg1)
{
struct defaultobj *obj = prop->obj;
struct prop *child;
if (obj->hidden & OBJHFLAG_REAPABLE) {
objFree(obj, true, obj->hidden2 & OBJH2FLAG_CANREGEN);
} else {
prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
func0f07063c(prop, arg1);
// Recurse into children
child = prop->child;
while (child) {
struct prop *next = child->next;
func0f0706f8(child, arg1);
child = next;
}
}
}
GLOBAL_ASM(
glabel func0f07079c
/* f07079c: 27bdff38 */ addiu $sp,$sp,-200
/* f0707a0: afbf0024 */ sw $ra,0x24($sp)
/* f0707a4: afb20020 */ sw $s2,0x20($sp)
/* f0707a8: afb1001c */ sw $s1,0x1c($sp)
/* f0707ac: afb00018 */ sw $s0,0x18($sp)
/* f0707b0: 8c910004 */ lw $s1,0x4($a0)
/* f0707b4: 00808025 */ or $s0,$a0,$zero
/* f0707b8: 00a09025 */ or $s2,$a1,$zero
/* f0707bc: 8e220040 */ lw $v0,0x40($s1)
/* f0707c0: 8e230018 */ lw $v1,0x18($s1)
/* f0707c4: 304e0004 */ andi $t6,$v0,0x4
/* f0707c8: 51c0000a */ beqzl $t6,.L0f0707f4
/* f0707cc: 8c65001c */ lw $a1,0x1c($v1)
/* f0707d0: 92260002 */ lbu $a2,0x2($s1)
/* f0707d4: 02202025 */ or $a0,$s1,$zero
/* f0707d8: 24050001 */ addiu $a1,$zero,0x1
/* f0707dc: 30cf0004 */ andi $t7,$a2,0x4
/* f0707e0: 0fc1ab4b */ jal objFree
/* f0707e4: 01e03025 */ or $a2,$t7,$zero
/* f0707e8: 1000004b */ b .L0f070918
/* f0707ec: 8fbf0024 */ lw $ra,0x24($sp)
/* f0707f0: 8c65001c */ lw $a1,0x1c($v1)
.L0f0707f4:
/* f0707f4: 30580040 */ andi $t8,$v0,0x40
/* f0707f8: 50a00038 */ beqzl $a1,.L0f0708dc
/* f0707fc: 92090001 */ lbu $t1,0x1($s0)
/* f070800: 13000035 */ beqz $t8,.L0f0708d8
/* f070804: 00003025 */ or $a2,$zero,$zero
/* f070808: 8c640018 */ lw $a0,0x18($v1)
/* f07080c: 0c006973 */ jal model0001a5cc
/* f070810: afa300c0 */ sw $v1,0xc0($sp)
/* f070814: 3c088007 */ lui $t0,%hi(var80069a08)
/* f070818: 25089a08 */ addiu $t0,$t0,%lo(var80069a08)
/* f07081c: 250b003c */ addiu $t3,$t0,0x3c
/* f070820: 27b90074 */ addiu $t9,$sp,0x74
.L0f070824:
/* f070824: 8d010000 */ lw $at,0x0($t0)
/* f070828: 2508000c */ addiu $t0,$t0,0xc
/* f07082c: 2739000c */ addiu $t9,$t9,0xc
/* f070830: af21fff4 */ sw $at,-0xc($t9)
/* f070834: 8d01fff8 */ lw $at,-0x8($t0)
/* f070838: af21fff8 */ sw $at,-0x8($t9)
/* f07083c: 8d01fffc */ lw $at,-0x4($t0)
/* f070840: 150bfff8 */ bne $t0,$t3,.L0f070824
/* f070844: af21fffc */ sw $at,-0x4($t9)
/* f070848: 8d010000 */ lw $at,0x0($t0)
/* f07084c: 00402025 */ or $a0,$v0,$zero
/* f070850: 27a60030 */ addiu $a2,$sp,0x30
/* f070854: af210000 */ sw $at,0x0($t9)
/* f070858: 920c0001 */ lbu $t4,0x1($s0)
/* f07085c: 358d0042 */ ori $t5,$t4,0x42
/* f070860: a20d0001 */ sb $t5,0x1($s0)
/* f070864: 8e250048 */ lw $a1,0x48($s1)
/* f070868: 0c0056f9 */ jal mtx00015be4
/* f07086c: 24a50004 */ addiu $a1,$a1,0x4
/* f070870: 8fae00c0 */ lw $t6,0xc0($sp)
/* f070874: 8dcf0008 */ lw $t7,0x8($t6)
/* f070878: 85e4000e */ lh $a0,0xe($t7)
/* f07087c: 0004c180 */ sll $t8,$a0,0x6
/* f070880: 0fc59e7d */ jal gfxAllocate
/* f070884: 03002025 */ or $a0,$t8,$zero
/* f070888: 27aa0030 */ addiu $t2,$sp,0x30
/* f07088c: afa20084 */ sw $v0,0x84($sp)
/* f070890: afaa0074 */ sw $t2,0x74($sp)
/* f070894: 27a40074 */ addiu $a0,$sp,0x74
/* f070898: 0c007399 */ jal model0001ce64
/* f07089c: 8fa500c0 */ lw $a1,0xc0($sp)
/* f0708a0: 02002025 */ or $a0,$s0,$zero
/* f0708a4: 0fc1c18f */ jal func0f07063c
/* f0708a8: 02402825 */ or $a1,$s2,$zero
/* f0708ac: 8e11001c */ lw $s1,0x1c($s0)
/* f0708b0: 52200019 */ beqzl $s1,.L0f070918
/* f0708b4: 8fbf0024 */ lw $ra,0x24($sp)
.L0f0708b8:
/* f0708b8: 8e300020 */ lw $s0,0x20($s1)
/* f0708bc: 02202025 */ or $a0,$s1,$zero
/* f0708c0: 0fc1c1e7 */ jal func0f07079c
/* f0708c4: 02402825 */ or $a1,$s2,$zero
/* f0708c8: 1600fffb */ bnez $s0,.L0f0708b8
/* f0708cc: 02008825 */ or $s1,$s0,$zero
/* f0708d0: 10000011 */ b .L0f070918
/* f0708d4: 8fbf0024 */ lw $ra,0x24($sp)
.L0f0708d8:
/* f0708d8: 92090001 */ lbu $t1,0x1($s0)
.L0f0708dc:
/* f0708dc: 02002025 */ or $a0,$s0,$zero
/* f0708e0: 02402825 */ or $a1,$s2,$zero
/* f0708e4: 312bfffd */ andi $t3,$t1,0xfffd
/* f0708e8: 0fc1c18f */ jal func0f07063c
/* f0708ec: a20b0001 */ sb $t3,0x1($s0)
/* f0708f0: 8e11001c */ lw $s1,0x1c($s0)
/* f0708f4: 52200008 */ beqzl $s1,.L0f070918
/* f0708f8: 8fbf0024 */ lw $ra,0x24($sp)
.L0f0708fc:
/* f0708fc: 8e300020 */ lw $s0,0x20($s1)
/* f070900: 02202025 */ or $a0,$s1,$zero
/* f070904: 0fc1c1be */ jal func0f0706f8
/* f070908: 02402825 */ or $a1,$s2,$zero
/* f07090c: 1600fffb */ bnez $s0,.L0f0708fc
/* f070910: 02008825 */ or $s1,$s0,$zero
/* f070914: 8fbf0024 */ lw $ra,0x24($sp)
.L0f070918:
/* f070918: 8fb00018 */ lw $s0,0x18($sp)
/* f07091c: 8fb1001c */ lw $s1,0x1c($sp)
/* f070920: 8fb20020 */ lw $s2,0x20($sp)
/* f070924: 03e00008 */ jr $ra
/* f070928: 27bd00c8 */ addiu $sp,$sp,0xc8
);
s32 glassCalculateOpacity(struct coord *pos, f32 xludist, f32 opadist, f32 arg3)
{
struct coord *campos = &g_Vars.currentplayer->cam_pos;
s32 opacity;
f32 xdiff = pos->x - campos->x;
f32 ydiff = pos->y - campos->y;
f32 zdiff = pos->z - campos->z;
f32 distance = sqrtf(xdiff * xdiff + ydiff * ydiff + zdiff * zdiff);
if (distance > opadist) {
opacity = 255;
} else if (distance < xludist) {
opacity = arg3 * 255;
} else {
opacity = (((distance - xludist) * (1.0f - arg3)) / (opadist - xludist) + arg3) * 255;
}
return opacity;
}
GLOBAL_ASM(
glabel func0f070a1c
/* f070a1c: c4ae0000 */ lwc1 $f14,0x0($a1)
/* f070a20: c4800004 */ lwc1 $f0,0x4($a0)
/* f070a24: 27bdffa8 */ addiu $sp,$sp,-88
/* f070a28: 46007102 */ mul.s $f4,$f14,$f0
/* f070a2c: e7a40054 */ swc1 $f4,0x54($sp)
/* f070a30: c4b00004 */ lwc1 $f16,0x4($a1)
/* f070a34: 46008282 */ mul.s $f10,$f16,$f0
/* f070a38: e7aa0050 */ swc1 $f10,0x50($sp)
/* f070a3c: c4b20008 */ lwc1 $f18,0x8($a1)
/* f070a40: 46009202 */ mul.s $f8,$f18,$f0
/* f070a44: e7a8004c */ swc1 $f8,0x4c($sp)
/* f070a48: c4a60018 */ lwc1 $f6,0x18($a1)
/* f070a4c: e7a60008 */ swc1 $f6,0x8($sp)
/* f070a50: c7a40008 */ lwc1 $f4,0x8($sp)
/* f070a54: c4820014 */ lwc1 $f2,0x14($a0)
/* f070a58: 46022282 */ mul.s $f10,$f4,$f2
/* f070a5c: e7aa0048 */ swc1 $f10,0x48($sp)
/* f070a60: c4a8001c */ lwc1 $f8,0x1c($a1)
/* f070a64: e7a80018 */ swc1 $f8,0x18($sp)
/* f070a68: c7a60018 */ lwc1 $f6,0x18($sp)
/* f070a6c: 46023202 */ mul.s $f8,$f6,$f2
/* f070a70: e7a80044 */ swc1 $f8,0x44($sp)
/* f070a74: c4a80020 */ lwc1 $f8,0x20($a1)
/* f070a78: e7a40000 */ swc1 $f4,0x0($sp)
/* f070a7c: e7a80014 */ swc1 $f8,0x14($sp)
/* f070a80: c7a80014 */ lwc1 $f8,0x14($sp)
/* f070a84: 46024102 */ mul.s $f4,$f8,$f2
/* f070a88: e7a40040 */ swc1 $f4,0x40($sp)
/* f070a8c: c48c0008 */ lwc1 $f12,0x8($a0)
/* f070a90: 460c7102 */ mul.s $f4,$f14,$f12
/* f070a94: e7a4003c */ swc1 $f4,0x3c($sp)
/* f070a98: 460c8102 */ mul.s $f4,$f16,$f12
/* f070a9c: e7a40038 */ swc1 $f4,0x38($sp)
/* f070aa0: 460c9102 */ mul.s $f4,$f18,$f12
/* f070aa4: e7a40034 */ swc1 $f4,0x34($sp)
/* f070aa8: c4840018 */ lwc1 $f4,0x18($a0)
/* f070aac: e7a40010 */ swc1 $f4,0x10($sp)
/* f070ab0: c7a40000 */ lwc1 $f4,0x0($sp)
/* f070ab4: e7aa0000 */ swc1 $f10,0x0($sp)
/* f070ab8: c7aa0010 */ lwc1 $f10,0x10($sp)
/* f070abc: 460a2102 */ mul.s $f4,$f4,$f10
/* f070ac0: e7a40030 */ swc1 $f4,0x30($sp)
/* f070ac4: 460a3082 */ mul.s $f2,$f6,$f10
/* f070ac8: c4a6000c */ lwc1 $f6,0xc($a1)
/* f070acc: c480000c */ lwc1 $f0,0xc($a0)
/* f070ad0: 460a4302 */ mul.s $f12,$f8,$f10
/* f070ad4: c4c40000 */ lwc1 $f4,0x0($a2)
/* f070ad8: c4ca0004 */ lwc1 $f10,0x4($a2)
/* f070adc: 46003202 */ mul.s $f8,$f6,$f0
/* f070ae0: c4a60010 */ lwc1 $f6,0x10($a1)
/* f070ae4: 46082380 */ add.s $f14,$f4,$f8
/* f070ae8: 46003102 */ mul.s $f4,$f6,$f0
/* f070aec: c4a60014 */ lwc1 $f6,0x14($a1)
/* f070af0: c4c80008 */ lwc1 $f8,0x8($a2)
/* f070af4: 46045400 */ add.s $f16,$f10,$f4
/* f070af8: 46003282 */ mul.s $f10,$f6,$f0
/* f070afc: c7a40054 */ lwc1 $f4,0x54($sp)
/* f070b00: 460e2180 */ add.s $f6,$f4,$f14
/* f070b04: 460a4480 */ add.s $f18,$f8,$f10
/* f070b08: c7a80000 */ lwc1 $f8,0x0($sp)
/* f070b0c: e7a6000c */ swc1 $f6,0xc($sp)
/* f070b10: 46083280 */ add.s $f10,$f6,$f8
/* f070b14: e4ea0000 */ swc1 $f10,0x0($a3)
/* f070b18: c7a40050 */ lwc1 $f4,0x50($sp)
/* f070b1c: c7a80044 */ lwc1 $f8,0x44($sp)
/* f070b20: 46102180 */ add.s $f6,$f4,$f16
/* f070b24: 46083280 */ add.s $f10,$f6,$f8
/* f070b28: e7a60008 */ swc1 $f6,0x8($sp)
/* f070b2c: e4ea0004 */ swc1 $f10,0x4($a3)
/* f070b30: c7a4004c */ lwc1 $f4,0x4c($sp)
/* f070b34: c7a60040 */ lwc1 $f6,0x40($sp)
/* f070b38: 46122000 */ add.s $f0,$f4,$f18
/* f070b3c: 46060200 */ add.s $f8,$f0,$f6
/* f070b40: e4e80008 */ swc1 $f8,0x8($a3)
/* f070b44: c7a40030 */ lwc1 $f4,0x30($sp)
/* f070b48: c7aa000c */ lwc1 $f10,0xc($sp)
/* f070b4c: 46045180 */ add.s $f6,$f10,$f4
/* f070b50: 460c0100 */ add.s $f4,$f0,$f12
/* f070b54: e4e6000c */ swc1 $f6,0xc($a3)
/* f070b58: c7a80008 */ lwc1 $f8,0x8($sp)
/* f070b5c: e4e40014 */ swc1 $f4,0x14($a3)
/* f070b60: 46024280 */ add.s $f10,$f8,$f2
/* f070b64: e4ea0010 */ swc1 $f10,0x10($a3)
/* f070b68: c7a6003c */ lwc1 $f6,0x3c($sp)
/* f070b6c: c7aa0030 */ lwc1 $f10,0x30($sp)
/* f070b70: 460e3200 */ add.s $f8,$f6,$f14
/* f070b74: 460a4100 */ add.s $f4,$f8,$f10
/* f070b78: e7a80018 */ swc1 $f8,0x18($sp)
/* f070b7c: e4e40018 */ swc1 $f4,0x18($a3)
/* f070b80: c7a60038 */ lwc1 $f6,0x38($sp)
/* f070b84: 46103000 */ add.s $f0,$f6,$f16
/* f070b88: 46020200 */ add.s $f8,$f0,$f2
/* f070b8c: e4e8001c */ swc1 $f8,0x1c($a3)
/* f070b90: c7aa0034 */ lwc1 $f10,0x34($sp)
/* f070b94: 46125380 */ add.s $f14,$f10,$f18
/* f070b98: 460c7100 */ add.s $f4,$f14,$f12
/* f070b9c: e4e40020 */ swc1 $f4,0x20($a3)
/* f070ba0: c7a80048 */ lwc1 $f8,0x48($sp)
/* f070ba4: c7a60018 */ lwc1 $f6,0x18($sp)
/* f070ba8: 46083280 */ add.s $f10,$f6,$f8
/* f070bac: e4ea0024 */ swc1 $f10,0x24($a3)
/* f070bb0: c7a40044 */ lwc1 $f4,0x44($sp)
/* f070bb4: 46040180 */ add.s $f6,$f0,$f4
/* f070bb8: e4e60028 */ swc1 $f6,0x28($a3)
/* f070bbc: c7a80040 */ lwc1 $f8,0x40($sp)
/* f070bc0: 27bd0058 */ addiu $sp,$sp,0x58
/* f070bc4: 46087280 */ add.s $f10,$f14,$f8
/* f070bc8: 03e00008 */ jr $ra
/* f070bcc: e4ea002c */ swc1 $f10,0x2c($a3)
);
GLOBAL_ASM(
glabel func0f070bd0
/* f070bd0: 00804025 */ or $t0,$a0,$zero
/* f070bd4: 24040004 */ addiu $a0,$zero,0x4
/* f070bd8: 00001025 */ or $v0,$zero,$zero
/* f070bdc: 00e01825 */ or $v1,$a3,$zero
.L0f070be0:
/* f070be0: c4b20000 */ lwc1 $f18,0x0($a1)
/* f070be4: c5100004 */ lwc1 $f16,0x4($t0)
/* f070be8: c4ce0000 */ lwc1 $f14,0x0($a2)
/* f070bec: c4ac000c */ lwc1 $f12,0xc($a1)
/* f070bf0: 46109402 */ mul.s $f16,$f18,$f16
/* f070bf4: c5120008 */ lwc1 $f18,0x8($t0)
/* f070bf8: c50a000c */ lwc1 $f10,0xc($t0)
/* f070bfc: c4a80018 */ lwc1 $f8,0x18($a1)
/* f070c00: 46126482 */ mul.s $f18,$f12,$f18
/* f070c04: 24420001 */ addiu $v0,$v0,0x1
/* f070c08: 2463000c */ addiu $v1,$v1,0xc
/* f070c0c: 46085202 */ mul.s $f8,$f10,$f8
/* f070c10: 2508000c */ addiu $t0,$t0,0xc
/* f070c14: 46107400 */ add.s $f16,$f14,$f16
/* f070c18: 46128480 */ add.s $f18,$f16,$f18
/* f070c1c: 46124480 */ add.s $f18,$f8,$f18
/* f070c20: e472fff4 */ swc1 $f18,-0xc($v1)
/* f070c24: c4b20004 */ lwc1 $f18,0x4($a1)
/* f070c28: c508fff8 */ lwc1 $f8,-0x8($t0)
/* f070c2c: c4b00010 */ lwc1 $f16,0x10($a1)
/* f070c30: c50efffc */ lwc1 $f14,-0x4($t0)
/* f070c34: 46089202 */ mul.s $f8,$f18,$f8
/* f070c38: c4d20004 */ lwc1 $f18,0x4($a2)
/* f070c3c: c50a0000 */ lwc1 $f10,0x0($t0)
/* f070c40: 460e8382 */ mul.s $f14,$f16,$f14
/* f070c44: c4b0001c */ lwc1 $f16,0x1c($a1)
/* f070c48: 46105402 */ mul.s $f16,$f10,$f16
/* f070c4c: 46089200 */ add.s $f8,$f18,$f8
/* f070c50: 460e4380 */ add.s $f14,$f8,$f14
/* f070c54: 460e8380 */ add.s $f14,$f16,$f14
/* f070c58: e46efff8 */ swc1 $f14,-0x8($v1)
/* f070c5c: c4ae0008 */ lwc1 $f14,0x8($a1)
/* f070c60: c510fff8 */ lwc1 $f16,-0x8($t0)
/* f070c64: c4a80014 */ lwc1 $f8,0x14($a1)
/* f070c68: c512fffc */ lwc1 $f18,-0x4($t0)
/* f070c6c: 46107402 */ mul.s $f16,$f14,$f16
/* f070c70: c4ce0008 */ lwc1 $f14,0x8($a2)
/* f070c74: c50a0000 */ lwc1 $f10,0x0($t0)
/* f070c78: 46124482 */ mul.s $f18,$f8,$f18
/* f070c7c: c4a80020 */ lwc1 $f8,0x20($a1)
/* f070c80: 46085202 */ mul.s $f8,$f10,$f8
/* f070c84: 46107400 */ add.s $f16,$f14,$f16
/* f070c88: 46128480 */ add.s $f18,$f16,$f18
/* f070c8c: 46124480 */ add.s $f18,$f8,$f18
/* f070c90: 1444ffd3 */ bne $v0,$a0,.L0f070be0
/* f070c94: e472fffc */ swc1 $f18,-0x4($v1)
/* f070c98: 03e00008 */ jr $ra
/* f070c9c: 00000000 */ nop
);
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f070ca0
/* f070ca0: 27bdff98 */ addiu $sp,$sp,-104
/* f070ca4: afb00018 */ sw $s0,0x18($sp)
/* f070ca8: 00a08025 */ or $s0,$a1,$zero
/* f070cac: afbf001c */ sw $ra,0x1c($sp)
/* f070cb0: afa40068 */ sw $a0,0x68($sp)
/* f070cb4: afa60070 */ sw $a2,0x70($sp)
/* f070cb8: 10e0000a */ beqz $a3,.L0f070ce4
/* f070cbc: afa70074 */ sw $a3,0x74($sp)
/* f070cc0: 8faf0068 */ lw $t7,0x68($sp)
/* f070cc4: 00e02025 */ or $a0,$a3,$zero
/* f070cc8: 27a70038 */ addiu $a3,$sp,0x38
/* f070ccc: 8de60014 */ lw $a2,0x14($t7)
/* f070cd0: 25e5001c */ addiu $a1,$t7,0x1c
/* f070cd4: 0fc1c287 */ jal func0f070a1c
/* f070cd8: 24c60008 */ addiu $a2,$a2,0x8
/* f070cdc: 1000000a */ b .L0f070d08
/* f070ce0: 24190001 */ addiu $t9,$zero,0x1
.L0f070ce4:
/* f070ce4: 8fa40078 */ lw $a0,0x78($sp)
/* f070ce8: 8fb80068 */ lw $t8,0x68($sp)
/* f070cec: 10800005 */ beqz $a0,.L0f070d04
/* f070cf0: 2705001c */ addiu $a1,$t8,0x1c
/* f070cf4: 8f060014 */ lw $a2,0x14($t8)
/* f070cf8: 27a70038 */ addiu $a3,$sp,0x38
/* f070cfc: 0fc1c2f4 */ jal func0f070bd0
/* f070d00: 24c60008 */ addiu $a2,$a2,0x8
.L0f070d04:
/* f070d04: 24190001 */ addiu $t9,$zero,0x1
.L0f070d08:
/* f070d08: a2190000 */ sb $t9,0x0($s0)
/* f070d0c: 8fa80070 */ lw $t0,0x70($sp)
/* f070d10: 24090004 */ addiu $t1,$zero,0x4
/* f070d14: a2090001 */ sb $t1,0x1($s0)
/* f070d18: 02001825 */ or $v1,$s0,$zero
/* f070d1c: 27a20038 */ addiu $v0,$sp,0x38
/* f070d20: 27a40068 */ addiu $a0,$sp,0x68
/* f070d24: a6080002 */ sh $t0,0x2($s0)
.L0f070d28:
/* f070d28: c4440000 */ lwc1 $f4,0x0($v0)
/* f070d2c: 2442000c */ addiu $v0,$v0,0xc
/* f070d30: 0044082b */ sltu $at,$v0,$a0
/* f070d34: e4640010 */ swc1 $f4,0x10($v1)
/* f070d38: c446fff8 */ lwc1 $f6,-0x8($v0)
/* f070d3c: 2463000c */ addiu $v1,$v1,0xc
/* f070d40: e4660008 */ swc1 $f6,0x8($v1)
/* f070d44: c448fffc */ lwc1 $f8,-0x4($v0)
/* f070d48: 1420fff7 */ bnez $at,.L0f070d28
/* f070d4c: e468000c */ swc1 $f8,0xc($v1)
/* f070d50: 240a0fff */ addiu $t2,$zero,0xfff
/* f070d54: a60a000c */ sh $t2,0xc($s0)
/* f070d58: a6000004 */ sh $zero,0x4($s0)
/* f070d5c: 00003025 */ or $a2,$zero,$zero
/* f070d60: 02002025 */ or $a0,$s0,$zero
/* f070d64: 24070003 */ addiu $a3,$zero,0x3
.L0f070d68:
/* f070d68: a0800006 */ sb $zero,0x6($a0)
/* f070d6c: a0800009 */ sb $zero,0x9($a0)
/* f070d70: 920b0001 */ lbu $t3,0x1($s0)
/* f070d74: 00062880 */ sll $a1,$a2,0x2
/* f070d78: 02051821 */ addu $v1,$s0,$a1
/* f070d7c: 29610002 */ slti $at,$t3,0x2
/* f070d80: 14200022 */ bnez $at,.L0f070e0c
/* f070d84: 24020001 */ addiu $v0,$zero,0x1
/* f070d88: 2463000c */ addiu $v1,$v1,0xc
/* f070d8c: 908c0006 */ lbu $t4,0x6($a0)
.L0f070d90:
/* f070d90: c4600010 */ lwc1 $f0,0x10($v1)
/* f070d94: 000c6880 */ sll $t5,$t4,0x2
/* f070d98: 01ac6823 */ subu $t5,$t5,$t4
/* f070d9c: 000d6880 */ sll $t5,$t5,0x2
/* f070da0: 020d7021 */ addu $t6,$s0,$t5
/* f070da4: 01c57821 */ addu $t7,$t6,$a1
/* f070da8: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f070dac: 460a003c */ c.lt.s $f0,$f10
/* f070db0: 00000000 */ nop
/* f070db4: 45020004 */ bc1fl .L0f070dc8
/* f070db8: 90980009 */ lbu $t8,0x9($a0)
/* f070dbc: a0820006 */ sb $v0,0x6($a0)
/* f070dc0: c4600010 */ lwc1 $f0,0x10($v1)
/* f070dc4: 90980009 */ lbu $t8,0x9($a0)
.L0f070dc8:
/* f070dc8: 0018c880 */ sll $t9,$t8,0x2
/* f070dcc: 0338c823 */ subu $t9,$t9,$t8
/* f070dd0: 0019c880 */ sll $t9,$t9,0x2
/* f070dd4: 02194021 */ addu $t0,$s0,$t9
/* f070dd8: 01054821 */ addu $t1,$t0,$a1
/* f070ddc: c5300010 */ lwc1 $f16,0x10($t1)
/* f070de0: 4600803c */ c.lt.s $f16,$f0
/* f070de4: 00000000 */ nop
/* f070de8: 45020003 */ bc1fl .L0f070df8
/* f070dec: 920a0001 */ lbu $t2,0x1($s0)
/* f070df0: a0820009 */ sb $v0,0x9($a0)
/* f070df4: 920a0001 */ lbu $t2,0x1($s0)
.L0f070df8:
/* f070df8: 24420001 */ addiu $v0,$v0,0x1
/* f070dfc: 2463000c */ addiu $v1,$v1,0xc
/* f070e00: 004a082a */ slt $at,$v0,$t2
/* f070e04: 5420ffe2 */ bnezl $at,.L0f070d90
/* f070e08: 908c0006 */ lbu $t4,0x6($a0)
.L0f070e0c:
/* f070e0c: 24c60001 */ addiu $a2,$a2,0x1
/* f070e10: 14c7ffd5 */ bne $a2,$a3,.L0f070d68
/* f070e14: 24840001 */ addiu $a0,$a0,0x1
/* f070e18: 8fbf001c */ lw $ra,0x1c($sp)
/* f070e1c: 8fb00018 */ lw $s0,0x18($sp)
/* f070e20: 27bd0068 */ addiu $sp,$sp,0x68
/* f070e24: 03e00008 */ jr $ra
/* f070e28: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f070ca0
/* f06fa9c: 27bdff98 */ addiu $sp,$sp,-104
/* f06faa0: afb00018 */ sw $s0,0x18($sp)
/* f06faa4: 00a08025 */ or $s0,$a1,$zero
/* f06faa8: afbf001c */ sw $ra,0x1c($sp)
/* f06faac: afa40068 */ sw $a0,0x68($sp)
/* f06fab0: afa60070 */ sw $a2,0x70($sp)
/* f06fab4: 10e0000a */ beqz $a3,.NB0f06fae0
/* f06fab8: afa70074 */ sw $a3,0x74($sp)
/* f06fabc: 8faf0068 */ lw $t7,0x68($sp)
/* f06fac0: 00e02025 */ or $a0,$a3,$zero
/* f06fac4: 27a70038 */ addiu $a3,$sp,0x38
/* f06fac8: 8de60014 */ lw $a2,0x14($t7)
/* f06facc: 25e5001c */ addiu $a1,$t7,0x1c
/* f06fad0: 0fc1be06 */ jal func0f070a1c
/* f06fad4: 24c60008 */ addiu $a2,$a2,0x8
/* f06fad8: 1000000a */ beqz $zero,.NB0f06fb04
/* f06fadc: 24190001 */ addiu $t9,$zero,0x1
.NB0f06fae0:
/* f06fae0: 8fa40078 */ lw $a0,0x78($sp)
/* f06fae4: 8fb80068 */ lw $t8,0x68($sp)
/* f06fae8: 10800005 */ beqz $a0,.NB0f06fb00
/* f06faec: 2705001c */ addiu $a1,$t8,0x1c
/* f06faf0: 8f060014 */ lw $a2,0x14($t8)
/* f06faf4: 27a70038 */ addiu $a3,$sp,0x38
/* f06faf8: 0fc1be73 */ jal func0f070bd0
/* f06fafc: 24c60008 */ addiu $a2,$a2,0x8
.NB0f06fb00:
/* f06fb00: 24190001 */ addiu $t9,$zero,0x1
.NB0f06fb04:
/* f06fb04: a2190000 */ sb $t9,0x0($s0)
/* f06fb08: 8fa80070 */ lw $t0,0x70($sp)
/* f06fb0c: 24090004 */ addiu $t1,$zero,0x4
/* f06fb10: a2090001 */ sb $t1,0x1($s0)
/* f06fb14: 02001825 */ or $v1,$s0,$zero
/* f06fb18: 27a20038 */ addiu $v0,$sp,0x38
/* f06fb1c: 27a40068 */ addiu $a0,$sp,0x68
/* f06fb20: a6080002 */ sh $t0,0x2($s0)
.NB0f06fb24:
/* f06fb24: c4440000 */ lwc1 $f4,0x0($v0)
/* f06fb28: 2442000c */ addiu $v0,$v0,0xc
/* f06fb2c: 0044082b */ sltu $at,$v0,$a0
/* f06fb30: e4640010 */ swc1 $f4,0x10($v1)
/* f06fb34: c446fff8 */ lwc1 $f6,-0x8($v0)
/* f06fb38: 2463000c */ addiu $v1,$v1,0xc
/* f06fb3c: e4660008 */ swc1 $f6,0x8($v1)
/* f06fb40: c448fffc */ lwc1 $f8,-0x4($v0)
/* f06fb44: 1420fff7 */ bnez $at,.NB0f06fb24
/* f06fb48: e468000c */ swc1 $f8,0xc($v1)
/* f06fb4c: 240a0fff */ addiu $t2,$zero,0xfff
/* f06fb50: a60a000c */ sh $t2,0xc($s0)
/* f06fb54: 00003025 */ or $a2,$zero,$zero
/* f06fb58: 02002025 */ or $a0,$s0,$zero
/* f06fb5c: 24070003 */ addiu $a3,$zero,0x3
.NB0f06fb60:
/* f06fb60: a0800006 */ sb $zero,0x6($a0)
/* f06fb64: a0800009 */ sb $zero,0x9($a0)
/* f06fb68: 920b0001 */ lbu $t3,0x1($s0)
/* f06fb6c: 00062880 */ sll $a1,$a2,0x2
/* f06fb70: 02051821 */ addu $v1,$s0,$a1
/* f06fb74: 29610002 */ slti $at,$t3,0x2
/* f06fb78: 14200022 */ bnez $at,.NB0f06fc04
/* f06fb7c: 24020001 */ addiu $v0,$zero,0x1
/* f06fb80: 2463000c */ addiu $v1,$v1,0xc
/* f06fb84: 908c0006 */ lbu $t4,0x6($a0)
.NB0f06fb88:
/* f06fb88: c4600010 */ lwc1 $f0,0x10($v1)
/* f06fb8c: 000c6880 */ sll $t5,$t4,0x2
/* f06fb90: 01ac6823 */ subu $t5,$t5,$t4
/* f06fb94: 000d6880 */ sll $t5,$t5,0x2
/* f06fb98: 020d7021 */ addu $t6,$s0,$t5
/* f06fb9c: 01c57821 */ addu $t7,$t6,$a1
/* f06fba0: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f06fba4: 460a003c */ c.lt.s $f0,$f10
/* f06fba8: 00000000 */ sll $zero,$zero,0x0
/* f06fbac: 45020004 */ bc1fl .NB0f06fbc0
/* f06fbb0: 90980009 */ lbu $t8,0x9($a0)
/* f06fbb4: a0820006 */ sb $v0,0x6($a0)
/* f06fbb8: c4600010 */ lwc1 $f0,0x10($v1)
/* f06fbbc: 90980009 */ lbu $t8,0x9($a0)
.NB0f06fbc0:
/* f06fbc0: 0018c880 */ sll $t9,$t8,0x2
/* f06fbc4: 0338c823 */ subu $t9,$t9,$t8
/* f06fbc8: 0019c880 */ sll $t9,$t9,0x2
/* f06fbcc: 02194021 */ addu $t0,$s0,$t9
/* f06fbd0: 01054821 */ addu $t1,$t0,$a1
/* f06fbd4: c5300010 */ lwc1 $f16,0x10($t1)
/* f06fbd8: 4600803c */ c.lt.s $f16,$f0
/* f06fbdc: 00000000 */ sll $zero,$zero,0x0
/* f06fbe0: 45020003 */ bc1fl .NB0f06fbf0
/* f06fbe4: 920a0001 */ lbu $t2,0x1($s0)
/* f06fbe8: a0820009 */ sb $v0,0x9($a0)
/* f06fbec: 920a0001 */ lbu $t2,0x1($s0)
.NB0f06fbf0:
/* f06fbf0: 24420001 */ addiu $v0,$v0,0x1
/* f06fbf4: 2463000c */ addiu $v1,$v1,0xc
/* f06fbf8: 004a082a */ slt $at,$v0,$t2
/* f06fbfc: 5420ffe2 */ bnezl $at,.NB0f06fb88
/* f06fc00: 908c0006 */ lbu $t4,0x6($a0)
.NB0f06fc04:
/* f06fc04: 24c60001 */ addiu $a2,$a2,0x1
/* f06fc08: 14c7ffd5 */ bne $a2,$a3,.NB0f06fb60
/* f06fc0c: 24840001 */ addiu $a0,$a0,0x1
/* f06fc10: 8fbf001c */ lw $ra,0x1c($sp)
/* f06fc14: 8fb00018 */ lw $s0,0x18($sp)
/* f06fc18: 27bd0068 */ addiu $sp,$sp,0x68
/* f06fc1c: 03e00008 */ jr $ra
/* f06fc20: 00000000 */ sll $zero,$zero,0x0
);
#endif
void liftActivate(struct prop *prop, u8 liftnum)
{
if (liftnum > 0 && liftnum <= MAX_LIFTS) {
g_Lifts[liftnum - 1] = prop;
}
}
struct prop *liftFindByPad(s16 padnum)
{
struct pad pad;
padUnpack(padnum, PADFIELD_LIFT, &pad);
if (pad.liftnum <= 0 || pad.liftnum > MAX_LIFTS) {
return NULL;
}
return g_Lifts[pad.liftnum - 1];
}
f32 liftGetY(struct liftobj *lift)
{
f32 y = lift->base.prop->pos.y;
if (lift->base.numtiles > 0) {
struct tiletype1 *tile = lift->base.geo1;
if (tile && tile->header.type == TILETYPE_01) {
if (tile->header.flags & TILEFLAG_0001) {
y = tile->vertices[tile->ymax].y;
}
}
}
return y;
}
/**
* Recalculate a lift's tile/geometry information.
*
* The lift models and the part numbers in each model are:
*
* a51_lift_control 0
* a51_lift_hangar 0
* a51_lift_store 0
* a51_lift_thinwall 0
* a51dish 0
* airbase_lift_angle 0 1 2
* airbase_lift_enclosed 0 1 2
* al_docklift 5 6
* baggagecarrier 0
* chamber 0
* ci_lift 0
* dd_liftr 0 1 2 3 4
* lift_platform 0 1
* matrix_lift 0 1 2
* ravinelift 0
* sk_lift 0
* skedarbridge 0
*
* Part 0 is the floor if rectangular
* Parts 1-3 are walls (some lifts rely on BG geometry instead)
* Part 4 is a door blocker (used by dataDyne tower lifts)
* Part 5 is the first half of the floor if non-rectangular (Deep Sea lift)
* Part 6 is the second half of the floor if non-rectangular (Deep Sea lift)
*/
void liftUpdateTiles(struct liftobj *lift, bool stationary)
{
u8 *geo;
union modelrodata *rodata;
struct modelrodata_bbox *bbox;
s32 numtiles;
u32 sp4c;
s32 i;
lift->base.numtiles = 0;
i = 0;
do {
geo = (u8 *)lift->base.unkgeo + lift->base.numtiles * 0x40;
bbox = NULL;
rodata = NULL;
do {
if (i == 0) {
sp4c = VERSION >= VERSION_NTSC_1_0 ? 0x3b : 0x23;
// Look for a non-rectangular floor with fallback to rectangular
rodata = modelGetPartRodata(lift->base.model->filedata, MODELPART_LIFT_FLOORNONRECT1);
if (rodata == NULL) {
union modelrodata *tmp;
tmp = modelGetPartRodata(lift->base.model->filedata, MODELPART_LIFT_FLOORRECT);
bbox = &tmp->bbox;
if (bbox == NULL) {
bbox = objFindBboxRodata(&lift->base);
}
}
} else if (i == 1) {
sp4c = 4;
rodata = modelGetPartRodata(lift->base.model->filedata, MODELPART_LIFT_WALL1);
} else if (i == 2) {
sp4c = 4;
rodata = modelGetPartRodata(lift->base.model->filedata, MODELPART_LIFT_WALL2);
} else if (i == 3) {
sp4c = 4;
rodata = modelGetPartRodata(lift->base.model->filedata, MODELPART_LIFT_WALL3);
} else if (i == 4) {
// The doorblock model part exists in the dataDyne tower lifts.
// It's a tile across the door that only applies while the lift
// is moving. Without it, the player could exit the lift through
// the doorway while it's moving.
if (!stationary) {
sp4c = 4;
rodata = modelGetPartRodata(lift->base.model->filedata, MODELPART_LIFT_DOORBLOCK);
}
} else if (i == 5) {
sp4c = VERSION >= VERSION_NTSC_1_0 ? 0x3b : 0x23;
rodata = modelGetPartRodata(lift->base.model->filedata, MODELPART_LIFT_FLOORNONRECT2);
} else {
break;
}
i++;
} while (!bbox && !rodata);
if (bbox || rodata) {
func0f070ca0(&lift->base, geo, sp4c, bbox, rodata);
lift->base.numtiles++;
}
} while (bbox || rodata);
}
void liftGoToStop(struct liftobj *lift, s32 stopnum)
{
#if VERSION >= VERSION_NTSC_1_0
u32 stack;
#endif
struct pad curpad;
struct pad aimpad;
struct pad reqpad;
if (lift->pads[stopnum] >= 0 && lift->levelaim != stopnum) {
#if VERSION >= VERSION_NTSC_1_0
// If lift is stopped (cur == aim)
// or door is not fully closed yet
if (lift->levelcur == lift->levelaim ||
(lift->doors[lift->levelcur] && !doorIsClosed(lift->doors[lift->levelcur]))) {
// Sanity check to make sure lift is actually not moving
if (lift->dist == 0 && lift->speed == 0) {
lift->levelaim = stopnum;
return;
}
}
#else
if (lift->levelcur == lift->levelaim) {
lift->levelaim = stopnum;
return;
}
#endif
padUnpack(lift->pads[lift->levelcur], PADFIELD_POS, &curpad);
padUnpack(lift->pads[lift->levelaim], PADFIELD_POS, &aimpad);
padUnpack(lift->pads[stopnum], PADFIELD_POS, &reqpad);
// Figure out if the lift needs to reverse direction on any axis
#if VERSION >= VERSION_NTSC_1_0
if (stopnum != lift->levelcur &&
((aimpad.pos.x >= curpad.pos.x && reqpad.pos.x >= curpad.pos.x) ||
(curpad.pos.x >= aimpad.pos.x && curpad.pos.x >= reqpad.pos.x)) &&
((aimpad.pos.y >= curpad.pos.y && reqpad.pos.y >= curpad.pos.y) ||
(curpad.pos.y >= aimpad.pos.y && curpad.pos.y >= reqpad.pos.y)) &&
((aimpad.pos.z >= curpad.pos.z && reqpad.pos.z >= curpad.pos.z) ||
(curpad.pos.z >= aimpad.pos.z && curpad.pos.z >= reqpad.pos.z)))
#else
if (((aimpad.pos.x >= curpad.pos.x && reqpad.pos.x >= aimpad.pos.x) ||
(curpad.pos.x >= aimpad.pos.x && aimpad.pos.x >= reqpad.pos.x)) &&
((aimpad.pos.y >= curpad.pos.y && reqpad.pos.y >= aimpad.pos.y) ||
(curpad.pos.y >= aimpad.pos.y && aimpad.pos.y >= reqpad.pos.y)) &&
((aimpad.pos.z >= curpad.pos.z && reqpad.pos.z >= aimpad.pos.z) ||
(curpad.pos.z >= aimpad.pos.z && aimpad.pos.z >= reqpad.pos.z)))
#endif
{
// Same direction
lift->levelaim = stopnum;
} else {
// Reverse direction
f32 xdiff = aimpad.pos.x - curpad.pos.x;
f32 ydiff = aimpad.pos.y - curpad.pos.y;
f32 zdiff = aimpad.pos.z - curpad.pos.z;
f32 result = sqrtf(xdiff * xdiff + ydiff * ydiff + zdiff * zdiff);
lift->levelcur = lift->levelaim;
lift->dist = result - lift->dist;
lift->speed = -lift->speed;
lift->levelaim = stopnum;
}
}
}
f32 objGetHov04(struct defaultobj *obj)
{
struct hov *hov = NULL;
f32 result;
if (obj->type == OBJTYPE_HOVERPROP) {
struct hoverpropobj *tmp = (struct hoverpropobj *) obj;
hov = &tmp->hov;
} else if (obj->type == OBJTYPE_HOVERBIKE) {
struct hoverbikeobj *tmp = (struct hoverbikeobj *) obj;
hov = &tmp->hov;
}
if (hov) {
result = hov->unk04;
} else {
struct modelrodata_bbox *bbox = objFindBboxRodata(obj);
f32 value = func0f06695c(bbox, obj->realrot);
result = func0f06a620(obj) - value;
}
return result;
}
void hovUpdateGround(struct defaultobj *obj, struct hov *hov, struct coord *pos, s16 *rooms, f32 matrix[3][3])
{
f32 ground;
s16 testrooms[8];
struct coord testpos;
if (g_Vars.lvframe60 > hov->groundnext60) {
testpos.x = pos->x;
testpos.y = pos->y - 50;
testpos.z = pos->z;
roomsCopy(rooms, testrooms);
func0f09233c(obj, &testpos, matrix, testrooms);
ground = cdFindGroundYSimple(pos, 5, testrooms, &obj->floorcol, NULL);
if (ground < -30000) {
ground = hov->ground;
}
hov->ground = ground;
hov->groundprev60 = g_Vars.lvframe60;
}
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0714b8
.late_rodata
glabel var7f1ab570pf
.word 0x3f666666
glabel var7f1ab574pf
.word 0x3f666666
glabel var7f1ab578pf
.word 0xc6ea6000
glabel var7f1ab57cpf
.word 0x40490fdb
glabel var7f1ab580pf
.word 0x40c907a9
glabel var7f1ab584pf
.word 0x40490fdb
glabel var7f1ab588pf
.word 0x40c907a9
glabel var7f1ab58cpf
.word 0x40490fdb
glabel var7f1ab590pf
.word 0x40c907a9
glabel var7f1ab594pf
.word 0x40490fdb
glabel var7f1ab598pf
.word 0x40c907a9
glabel var7f1ab59cpf
.word 0x40490fdb
glabel var7f1ab5a0pf
.word 0x40c907a9
glabel var7f1ab5a4pf
.word 0x3dd0e561
glabel var7f1ab5a8pf
.word 0x3db6e2eb
glabel var7f1ab5acpf
.word 0x3e4ccccd
glabel var7f1ab5b0pf
.word 0x3f19999a
glabel var7f1ab5b4pf
.word 0x3f19999a
glabel var7f1ab5b8pf
.word 0x40c907a9
glabel var7f1ab5bcpf
.word 0x40c907a9
glabel var7f1ab5c0pf
.word 0x40c907a9
.text
/* f071740: 27bdfe28 */ addiu $sp,$sp,-472
/* f071744: afbf004c */ sw $ra,0x4c($sp)
/* f071748: afb10048 */ sw $s1,0x48($sp)
/* f07174c: afb00044 */ sw $s0,0x44($sp)
/* f071750: 3c0f800a */ lui $t7,0x800a
/* f071754: 8defa518 */ lw $t7,-0x5ae8($t7)
/* f071758: 8cae0038 */ lw $t6,0x38($a1)
/* f07175c: 00a08025 */ move $s0,$a1
/* f071760: 00808825 */ move $s1,$a0
/* f071764: 01cf082a */ slt $at,$t6,$t7
/* f071768: 502002ef */ beqzl $at,.PF0f072328
/* f07176c: 8fbf004c */ lw $ra,0x4c($sp)
/* f071770: 8c980014 */ lw $t8,0x14($a0)
/* f071774: 0fc1a361 */ jal objFindBboxRodata
/* f071778: afb801d4 */ sw $t8,0x1d4($sp)
/* f07177c: 92190000 */ lbu $t9,0x0($s0)
/* f071780: 3c0a8007 */ lui $t2,0x8007
/* f071784: 254a974c */ addiu $t2,$t2,-26804
/* f071788: 00194880 */ sll $t1,$t9,0x2
/* f07178c: 01394823 */ subu $t1,$t1,$t9
/* f071790: 00094880 */ sll $t1,$t1,0x2
/* f071794: 01394821 */ addu $t1,$t1,$t9
/* f071798: 00094880 */ sll $t1,$t1,0x2
/* f07179c: 012a5821 */ addu $t3,$t1,$t2
/* f0717a0: afab00c0 */ sw $t3,0xc0($sp)
/* f0717a4: afa0008c */ sw $zero,0x8c($sp)
/* f0717a8: 3c03800a */ lui $v1,0x800a
/* f0717ac: 8c63a518 */ lw $v1,-0x5ae8($v1)
/* f0717b0: 8e0c003c */ lw $t4,0x3c($s0)
/* f0717b4: 00404025 */ move $t0,$v0
/* f0717b8: 0183082a */ slt $at,$t4,$v1
/* f0717bc: 5020000e */ beqzl $at,.PF0f0717f8
/* f0717c0: ae030038 */ sw $v1,0x38($s0)
/* f0717c4: 8fa201d4 */ lw $v0,0x1d4($sp)
/* f0717c8: 262d001c */ addiu $t5,$s1,0x1c
/* f0717cc: afad0010 */ sw $t5,0x10($sp)
/* f0717d0: 02202025 */ move $a0,$s1
/* f0717d4: 02002825 */ move $a1,$s0
/* f0717d8: afa801c0 */ sw $t0,0x1c0($sp)
/* f0717dc: 24460008 */ addiu $a2,$v0,0x8
/* f0717e0: 0fc1c59b */ jal hovUpdateGround
/* f0717e4: 24470028 */ addiu $a3,$v0,0x28
/* f0717e8: 3c03800a */ lui $v1,0x800a
/* f0717ec: 8c63a518 */ lw $v1,-0x5ae8($v1)
/* f0717f0: 8fa801c0 */ lw $t0,0x1c0($sp)
/* f0717f4: ae030038 */ sw $v1,0x38($s0)
.PF0f0717f8:
/* f0717f8: 262e001c */ addiu $t6,$s1,0x1c
/* f0717fc: afae005c */ sw $t6,0x5c($sp)
/* f071800: 8e2f0008 */ lw $t7,0x8($s1)
/* f071804: 000fc0c0 */ sll $t8,$t7,0x3
/* f071808: 07030005 */ bgezl $t8,.PF0f071820
/* f07180c: 8fa401d4 */ lw $a0,0x1d4($sp)
/* f071810: 44802000 */ mtc1 $zero,$f4
/* f071814: 100000b6 */ b .PF0f071af0
/* f071818: e7a400b4 */ swc1 $f4,0xb4($sp)
/* f07181c: 8fa401d4 */ lw $a0,0x1d4($sp)
.PF0f071820:
/* f071820: 24990008 */ addiu $t9,$a0,0x8
/* f071824: 24890028 */ addiu $t1,$a0,0x28
/* f071828: afa90060 */ sw $t1,0x60($sp)
/* f07182c: afb90064 */ sw $t9,0x64($sp)
/* f071830: 8e2a0010 */ lw $t2,0x10($s1)
/* f071834: 000a5980 */ sll $t3,$t2,0x6
/* f071838: 0561000c */ bgez $t3,.PF0f07186c
/* f07183c: 27a50088 */ addiu $a1,$sp,0x88
/* f071840: 27a60084 */ addiu $a2,$sp,0x84
/* f071844: 0fc21def */ jal propObjGetBbox
/* f071848: 27a70080 */ addiu $a3,$sp,0x80
/* f07184c: 3c017f1b */ lui $at,0x7f1b
/* f071850: c422b570 */ lwc1 $f2,-0x4a90($at)
/* f071854: c7a60088 */ lwc1 $f6,0x88($sp)
/* f071858: 46023002 */ mul.s $f0,$f6,$f2
/* f07185c: 46000207 */ neg.s $f8,$f0
/* f071860: e7a001cc */ swc1 $f0,0x1cc($sp)
/* f071864: 1000000e */ b .PF0f0718a0
/* f071868: e7a801d0 */ swc1 $f8,0x1d0($sp)
.PF0f07186c:
/* f07186c: 3c017f1b */ lui $at,0x7f1b
/* f071870: c422b574 */ lwc1 $f2,-0x4a8c($at)
/* f071874: c50a0014 */ lwc1 $f10,0x14($t0)
/* f071878: 8e2c0018 */ lw $t4,0x18($s1)
/* f07187c: 46025102 */ mul.s $f4,$f10,$f2
/* f071880: c5800014 */ lwc1 $f0,0x14($t4)
/* f071884: 46002182 */ mul.s $f6,$f4,$f0
/* f071888: e7a601d0 */ swc1 $f6,0x1d0($sp)
/* f07188c: c5080018 */ lwc1 $f8,0x18($t0)
/* f071890: 46024282 */ mul.s $f10,$f8,$f2
/* f071894: 00000000 */ nop
/* f071898: 46005102 */ mul.s $f4,$f10,$f0
/* f07189c: e7a401cc */ swc1 $f4,0x1cc($sp)
.PF0f0718a0:
/* f0718a0: 0c006858 */ jal cosf
/* f0718a4: c60c0010 */ lwc1 $f12,0x10($s0)
/* f0718a8: c60c0010 */ lwc1 $f12,0x10($s0)
/* f0718ac: 0c00685b */ jal sinf
/* f0718b0: e7a000bc */ swc1 $f0,0xbc($sp)
/* f0718b4: c7ac01d0 */ lwc1 $f12,0x1d0($sp)
/* f0718b8: 8fa201d4 */ lw $v0,0x1d4($sp)
/* f0718bc: c7a200bc */ lwc1 $f2,0xbc($sp)
/* f0718c0: 46006202 */ mul.s $f8,$f12,$f0
/* f0718c4: c4460008 */ lwc1 $f6,0x8($v0)
/* f0718c8: c7ae01cc */ lwc1 $f14,0x1cc($sp)
/* f0718cc: 3c014248 */ lui $at,0x4248
/* f0718d0: 8fa40060 */ lw $a0,0x60($sp)
/* f0718d4: 27a5009c */ addiu $a1,$sp,0x9c
/* f0718d8: 46083280 */ add.s $f10,$f6,$f8
/* f0718dc: 46026202 */ mul.s $f8,$f12,$f2
/* f0718e0: e7aa01b4 */ swc1 $f10,0x1b4($sp)
/* f0718e4: c444000c */ lwc1 $f4,0xc($v0)
/* f0718e8: e7a401b8 */ swc1 $f4,0x1b8($sp)
/* f0718ec: c4460010 */ lwc1 $f6,0x10($v0)
/* f0718f0: 46083280 */ add.s $f10,$f6,$f8
/* f0718f4: 46007182 */ mul.s $f6,$f14,$f0
/* f0718f8: e7aa01bc */ swc1 $f10,0x1bc($sp)
/* f0718fc: c4440008 */ lwc1 $f4,0x8($v0)
/* f071900: 46062200 */ add.s $f8,$f4,$f6
/* f071904: 46027182 */ mul.s $f6,$f14,$f2
/* f071908: e7a801a8 */ swc1 $f8,0x1a8($sp)
/* f07190c: c44a000c */ lwc1 $f10,0xc($v0)
/* f071910: e7aa01ac */ swc1 $f10,0x1ac($sp)
/* f071914: c4440010 */ lwc1 $f4,0x10($v0)
/* f071918: 46062200 */ add.s $f8,$f4,$f6
/* f07191c: 44813000 */ mtc1 $at,$f6
/* f071920: e7a801b0 */ swc1 $f8,0x1b0($sp)
/* f071924: c44a0008 */ lwc1 $f10,0x8($v0)
/* f071928: e7aa0090 */ swc1 $f10,0x90($sp)
/* f07192c: c444000c */ lwc1 $f4,0xc($v0)
/* f071930: 46062201 */ sub.s $f8,$f4,$f6
/* f071934: e7a80094 */ swc1 $f8,0x94($sp)
/* f071938: c44a0010 */ lwc1 $f10,0x10($v0)
/* f07193c: 0fc1968d */ jal roomsCopy
/* f071940: e7aa0098 */ swc1 $f10,0x98($sp)
/* f071944: 02202025 */ move $a0,$s1
/* f071948: 27a50090 */ addiu $a1,$sp,0x90
/* f07194c: 8fa6005c */ lw $a2,0x5c($sp)
/* f071950: 0fc2488f */ jal func0f09233c
/* f071954: 27a7009c */ addiu $a3,$sp,0x9c
/* f071958: 8fa40064 */ lw $a0,0x64($sp)
/* f07195c: 8fa50060 */ lw $a1,0x60($sp)
/* f071960: 27a601b4 */ addiu $a2,$sp,0x1b4
/* f071964: 0fc19841 */ jal func0f065e74
/* f071968: 27a70198 */ addiu $a3,$sp,0x198
/* f07196c: 27a4009c */ addiu $a0,$sp,0x9c
/* f071970: 27a50198 */ addiu $a1,$sp,0x198
/* f071974: 0fc1969a */ jal roomsAppend
/* f071978: 24060008 */ li $a2,0x8
/* f07197c: 27a401b4 */ addiu $a0,$sp,0x1b4
/* f071980: 3c0540a0 */ lui $a1,0x40a0
/* f071984: 27a60198 */ addiu $a2,$sp,0x198
/* f071988: 26270058 */ addiu $a3,$s1,0x58
/* f07198c: 0c00a70c */ jal cdFindGroundYSimple
/* f071990: afa00010 */ sw $zero,0x10($sp)
/* f071994: 8fa40064 */ lw $a0,0x64($sp)
/* f071998: 8fa50060 */ lw $a1,0x60($sp)
/* f07199c: 27a601a8 */ addiu $a2,$sp,0x1a8
/* f0719a0: 27a70188 */ addiu $a3,$sp,0x188
/* f0719a4: 0fc19841 */ jal func0f065e74
/* f0719a8: e7a001c8 */ swc1 $f0,0x1c8($sp)
/* f0719ac: 27a4009c */ addiu $a0,$sp,0x9c
/* f0719b0: 27a50188 */ addiu $a1,$sp,0x188
/* f0719b4: 0fc1969a */ jal roomsAppend
/* f0719b8: 24060008 */ li $a2,0x8
/* f0719bc: 27a401a8 */ addiu $a0,$sp,0x1a8
/* f0719c0: 3c0540a0 */ lui $a1,0x40a0
/* f0719c4: 27a60188 */ addiu $a2,$sp,0x188
/* f0719c8: 00003825 */ move $a3,$zero
/* f0719cc: 0c00a70c */ jal cdFindGroundYSimple
/* f0719d0: afa00010 */ sw $zero,0x10($sp)
/* f0719d4: 3c017f1b */ lui $at,0x7f1b
/* f0719d8: c42cb578 */ lwc1 $f12,-0x4a88($at)
/* f0719dc: c7a201c8 */ lwc1 $f2,0x1c8($sp)
/* f0719e0: 46000406 */ mov.s $f16,$f0
/* f0719e4: 4602603e */ c.le.s $f12,$f2
/* f0719e8: 00000000 */ nop
/* f0719ec: 45020016 */ bc1fl .PF0f071a48
/* f0719f0: 4602603e */ c.le.s $f12,$f2
/* f0719f4: 4600603e */ c.le.s $f12,$f0
/* f0719f8: c7a401cc */ lwc1 $f4,0x1cc($sp)
/* f0719fc: c7a601d0 */ lwc1 $f6,0x1d0($sp)
/* f071a00: 45020011 */ bc1fl .PF0f071a48
/* f071a04: 4602603e */ c.le.s $f12,$f2
/* f071a08: 46101301 */ sub.s $f12,$f2,$f16
/* f071a0c: 0fc2599c */ jal atan2f
/* f071a10: 46062381 */ sub.s $f14,$f4,$f6
/* f071a14: 3c017f1b */ lui $at,0x7f1b
/* f071a18: c428b57c */ lwc1 $f8,-0x4a84($at)
/* f071a1c: 46000086 */ mov.s $f2,$f0
/* f071a20: 3c017f1b */ lui $at,0x7f1b
/* f071a24: 4600403e */ c.le.s $f8,$f0
/* f071a28: 00000000 */ nop
/* f071a2c: 45000003 */ bc1f .PF0f071a3c
/* f071a30: 00000000 */ nop
/* f071a34: c42ab580 */ lwc1 $f10,-0x4a80($at)
/* f071a38: 460a0081 */ sub.s $f2,$f0,$f10
.PF0f071a3c:
/* f071a3c: 1000002c */ b .PF0f071af0
/* f071a40: e7a200b4 */ swc1 $f2,0xb4($sp)
/* f071a44: 4602603e */ c.le.s $f12,$f2
.PF0f071a48:
/* f071a48: c7ae01d0 */ lwc1 $f14,0x1d0($sp)
/* f071a4c: 45020012 */ bc1fl .PF0f071a98
/* f071a50: 4600603e */ c.le.s $f12,$f0
/* f071a54: c6040034 */ lwc1 $f4,0x34($s0)
/* f071a58: 46007387 */ neg.s $f14,$f14
/* f071a5c: 0fc2599c */ jal atan2f
/* f071a60: 46041301 */ sub.s $f12,$f2,$f4
/* f071a64: 3c017f1b */ lui $at,0x7f1b
/* f071a68: c426b584 */ lwc1 $f6,-0x4a7c($at)
/* f071a6c: 46000086 */ mov.s $f2,$f0
/* f071a70: 3c017f1b */ lui $at,0x7f1b
/* f071a74: 4600303e */ c.le.s $f6,$f0
/* f071a78: 00000000 */ nop
/* f071a7c: 45000003 */ bc1f .PF0f071a8c
/* f071a80: 00000000 */ nop
/* f071a84: c428b588 */ lwc1 $f8,-0x4a78($at)
/* f071a88: 46080081 */ sub.s $f2,$f0,$f8
.PF0f071a8c:
/* f071a8c: 10000018 */ b .PF0f071af0
/* f071a90: e7a200b4 */ swc1 $f2,0xb4($sp)
/* f071a94: 4600603e */ c.le.s $f12,$f0
.PF0f071a98:
/* f071a98: 00000000 */ nop
/* f071a9c: 45020012 */ bc1fl .PF0f071ae8
/* f071aa0: 44804000 */ mtc1 $zero,$f8
/* f071aa4: c60a0034 */ lwc1 $f10,0x34($s0)
/* f071aa8: c7ae01cc */ lwc1 $f14,0x1cc($sp)
/* f071aac: 0fc2599c */ jal atan2f
/* f071ab0: 46105301 */ sub.s $f12,$f10,$f16
/* f071ab4: 3c017f1b */ lui $at,0x7f1b
/* f071ab8: c424b58c */ lwc1 $f4,-0x4a74($at)
/* f071abc: 46000086 */ mov.s $f2,$f0
/* f071ac0: 3c017f1b */ lui $at,0x7f1b
/* f071ac4: 4600203e */ c.le.s $f4,$f0
/* f071ac8: 00000000 */ nop
/* f071acc: 45000003 */ bc1f .PF0f071adc
/* f071ad0: 00000000 */ nop
/* f071ad4: c426b590 */ lwc1 $f6,-0x4a70($at)
/* f071ad8: 46060081 */ sub.s $f2,$f0,$f6
.PF0f071adc:
/* f071adc: 10000004 */ b .PF0f071af0
/* f071ae0: e7a200b4 */ swc1 $f2,0xb4($sp)
/* f071ae4: 44804000 */ mtc1 $zero,$f8
.PF0f071ae8:
/* f071ae8: 00000000 */ nop
/* f071aec: e7a800b4 */ swc1 $f8,0xb4($sp)
.PF0f071af0:
/* f071af0: c60a0034 */ lwc1 $f10,0x34($s0)
/* f071af4: e7aa00ac */ swc1 $f10,0xac($sp)
/* f071af8: 8e2d0040 */ lw $t5,0x40($s1)
/* f071afc: 000d7100 */ sll $t6,$t5,0x4
/* f071b00: 05c1000c */ bgez $t6,.PF0f071b34
/* f071b04: 3c0f800a */ lui $t7,0x800a
/* f071b08: 8defa794 */ lw $t7,-0x586c($t7)
/* f071b0c: 3c01428c */ lui $at,0x428c
/* f071b10: 44813000 */ mtc1 $at,$f6
/* f071b14: c5e00078 */ lwc1 $f0,0x78($t7)
/* f071b18: c7a400ac */ lwc1 $f4,0xac($sp)
/* f071b1c: 46060201 */ sub.s $f8,$f0,$f6
/* f071b20: 4608203c */ c.lt.s $f4,$f8
/* f071b24: 00000000 */ nop
/* f071b28: 45020003 */ bc1fl .PF0f071b38
/* f071b2c: 92020001 */ lbu $v0,0x1($s0)
/* f071b30: e7a000ac */ swc1 $f0,0xac($sp)
.PF0f071b34:
/* f071b34: 92020001 */ lbu $v0,0x1($s0)
.PF0f071b38:
/* f071b38: 30580001 */ andi $t8,$v0,0x1
/* f071b3c: 53000023 */ beqzl $t8,.PF0f071bcc
/* f071b40: 8fae00c0 */ lw $t6,0xc0($sp)
/* f071b44: 8fa900c0 */ lw $t1,0xc0($sp)
/* f071b48: 24190001 */ li $t9,0x1
/* f071b4c: afb9008c */ sw $t9,0x8c($sp)
/* f071b50: c5200000 */ lwc1 $f0,0x0($t1)
/* f071b54: 304afffe */ andi $t2,$v0,0xfffe
/* f071b58: 24010033 */ li $at,0x33
/* f071b5c: e6000008 */ swc1 $f0,0x8($s0)
/* f071b60: e6000004 */ swc1 $f0,0x4($s0)
/* f071b64: c7aa00ac */ lwc1 $f10,0xac($sp)
/* f071b68: a20a0001 */ sb $t2,0x1($s0)
/* f071b6c: 00002025 */ move $a0,$zero
/* f071b70: e60a0030 */ swc1 $f10,0x30($s0)
/* f071b74: 922b0003 */ lbu $t3,0x3($s1)
/* f071b78: 240680af */ li $a2,-32593
/* f071b7c: 2407ffff */ li $a3,-1
/* f071b80: 15610011 */ bne $t3,$at,.PF0f071bc8
/* f071b84: 240cffff */ li $t4,-1
/* f071b88: 8e250014 */ lw $a1,0x14($s1)
/* f071b8c: 3c01bf80 */ lui $at,0xbf80
/* f071b90: 44810000 */ mtc1 $at,$f0
/* f071b94: 240dffff */ li $t5,-1
/* f071b98: afad002c */ sw $t5,0x2c($sp)
/* f071b9c: afa00028 */ sw $zero,0x28($sp)
/* f071ba0: afa00020 */ sw $zero,0x20($sp)
/* f071ba4: afa0001c */ sw $zero,0x1c($sp)
/* f071ba8: afa00018 */ sw $zero,0x18($sp)
/* f071bac: afa00014 */ sw $zero,0x14($sp)
/* f071bb0: afac0010 */ sw $t4,0x10($sp)
/* f071bb4: e7a00024 */ swc1 $f0,0x24($sp)
/* f071bb8: e7a00030 */ swc1 $f0,0x30($sp)
/* f071bbc: e7a00034 */ swc1 $f0,0x34($sp)
/* f071bc0: 0fc24e3a */ jal func0f0939f8
/* f071bc4: e7a00038 */ swc1 $f0,0x38($sp)
.PF0f071bc8:
/* f071bc8: 8fae00c0 */ lw $t6,0xc0($sp)
.PF0f071bcc:
/* f071bcc: 8e050008 */ lw $a1,0x8($s0)
/* f071bd0: 26040004 */ addiu $a0,$s0,0x4
/* f071bd4: c5c0000c */ lwc1 $f0,0xc($t6)
/* f071bd8: 2606000c */ addiu $a2,$s0,0xc
/* f071bdc: e7a00010 */ swc1 $f0,0x10($sp)
/* f071be0: c5c60010 */ lwc1 $f6,0x10($t6)
/* f071be4: 44070000 */ mfc1 $a3,$f0
/* f071be8: 0fc1b6e5 */ jal applySpeed
/* f071bec: e7a60014 */ swc1 $f6,0x14($sp)
/* f071bf0: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071bf4: c6000008 */ lwc1 $f0,0x8($s0)
/* f071bf8: c4420000 */ lwc1 $f2,0x0($v0)
/* f071bfc: 4600103e */ c.le.s $f2,$f0
/* f071c00: 00000000 */ nop
/* f071c04: 4502001f */ bc1fl .PF0f071c84
/* f071c08: 4602003c */ c.lt.s $f0,$f2
/* f071c0c: c6040004 */ lwc1 $f4,0x4($s0)
/* f071c10: 4604003e */ c.le.s $f0,$f4
/* f071c14: 00000000 */ nop
/* f071c18: 4502001a */ bc1fl .PF0f071c84
/* f071c1c: 4602003c */ c.lt.s $f0,$f2
/* f071c20: 44804000 */ mtc1 $zero,$f8
/* f071c24: 0c004ad4 */ jal random
/* f071c28: e608000c */ swc1 $f8,0xc($s0)
/* f071c2c: 8fa300c0 */ lw $v1,0xc0($sp)
/* f071c30: 44824000 */ mtc1 $v0,$f8
/* f071c34: 3c014f80 */ lui $at,0x4f80
/* f071c38: c46a0000 */ lwc1 $f10,0x0($v1)
/* f071c3c: c4660004 */ lwc1 $f6,0x4($v1)
/* f071c40: 46065101 */ sub.s $f4,$f10,$f6
/* f071c44: 04410004 */ bgez $v0,.PF0f071c58
/* f071c48: 468042a0 */ cvt.s.w $f10,$f8
/* f071c4c: 44813000 */ mtc1 $at,$f6
/* f071c50: 00000000 */ nop
/* f071c54: 46065280 */ add.s $f10,$f10,$f6
.PF0f071c58:
/* f071c58: 3c012f80 */ lui $at,0x2f80
/* f071c5c: 44814000 */ mtc1 $at,$f8
/* f071c60: 00000000 */ nop
/* f071c64: 46085182 */ mul.s $f6,$f10,$f8
/* f071c68: c46a0008 */ lwc1 $f10,0x8($v1)
/* f071c6c: 460a3202 */ mul.s $f8,$f6,$f10
/* f071c70: 46082181 */ sub.s $f6,$f4,$f8
/* f071c74: e6060008 */ swc1 $f6,0x8($s0)
/* f071c78: 10000020 */ b .PF0f071cfc
/* f071c7c: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071c80: 4602003c */ c.lt.s $f0,$f2
.PF0f071c84:
/* f071c84: 00000000 */ nop
/* f071c88: 4502001d */ bc1fl .PF0f071d00
/* f071c8c: c440001c */ lwc1 $f0,0x1c($v0)
/* f071c90: c60a0004 */ lwc1 $f10,0x4($s0)
/* f071c94: 4600503e */ c.le.s $f10,$f0
/* f071c98: 00000000 */ nop
/* f071c9c: 45020018 */ bc1fl .PF0f071d00
/* f071ca0: c440001c */ lwc1 $f0,0x1c($v0)
/* f071ca4: 44802000 */ mtc1 $zero,$f4
/* f071ca8: 0c004ad4 */ jal random
/* f071cac: e604000c */ swc1 $f4,0xc($s0)
/* f071cb0: 44824000 */ mtc1 $v0,$f8
/* f071cb4: 3c014f80 */ lui $at,0x4f80
/* f071cb8: 04410004 */ bgez $v0,.PF0f071ccc
/* f071cbc: 468041a0 */ cvt.s.w $f6,$f8
/* f071cc0: 44815000 */ mtc1 $at,$f10
/* f071cc4: 00000000 */ nop
/* f071cc8: 460a3180 */ add.s $f6,$f6,$f10
.PF0f071ccc:
/* f071ccc: 3c012f80 */ lui $at,0x2f80
/* f071cd0: 44812000 */ mtc1 $at,$f4
/* f071cd4: 8faf00c0 */ lw $t7,0xc0($sp)
/* f071cd8: 46043202 */ mul.s $f8,$f6,$f4
/* f071cdc: c5ea0008 */ lwc1 $f10,0x8($t7)
/* f071ce0: c5e40000 */ lwc1 $f4,0x0($t7)
/* f071ce4: 460a4182 */ mul.s $f6,$f8,$f10
/* f071ce8: c5e80004 */ lwc1 $f8,0x4($t7)
/* f071cec: 46082280 */ add.s $f10,$f4,$f8
/* f071cf0: 460a3100 */ add.s $f4,$f6,$f10
/* f071cf4: e6040008 */ swc1 $f4,0x8($s0)
/* f071cf8: 8fa200c0 */ lw $v0,0xc0($sp)
.PF0f071cfc:
/* f071cfc: c440001c */ lwc1 $f0,0x1c($v0)
.PF0f071d00:
/* f071d00: 8e050018 */ lw $a1,0x18($s0)
/* f071d04: 26040014 */ addiu $a0,$s0,0x14
/* f071d08: e7a00010 */ swc1 $f0,0x10($sp)
/* f071d0c: c4480020 */ lwc1 $f8,0x20($v0)
/* f071d10: 44070000 */ mfc1 $a3,$f0
/* f071d14: 2606001c */ addiu $a2,$s0,0x1c
/* f071d18: 0fc1b762 */ jal applyRotation
/* f071d1c: e7a80014 */ swc1 $f8,0x14($sp)
/* f071d20: c60c0018 */ lwc1 $f12,0x18($s0)
/* f071d24: c6060014 */ lwc1 $f6,0x14($s0)
/* f071d28: 46066032 */ c.eq.s $f12,$f6
/* f071d2c: 00000000 */ nop
/* f071d30: 45020041 */ bc1fl .PF0f071e38
/* f071d34: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071d38: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071d3c: c60e001c */ lwc1 $f14,0x1c($s0)
/* f071d40: c440001c */ lwc1 $f0,0x1c($v0)
/* f071d44: 46000280 */ add.s $f10,$f0,$f0
/* f071d48: 460a703e */ c.le.s $f14,$f10
/* f071d4c: 00000000 */ nop
/* f071d50: 45020039 */ bc1fl .PF0f071e38
/* f071d54: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071d58: 46000087 */ neg.s $f2,$f0
/* f071d5c: 46021100 */ add.s $f4,$f2,$f2
/* f071d60: 460e203e */ c.le.s $f4,$f14
/* f071d64: 00000000 */ nop
/* f071d68: 45020033 */ bc1fl .PF0f071e38
/* f071d6c: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071d70: 44804000 */ mtc1 $zero,$f8
/* f071d74: 3c017f1b */ lui $at,0x7f1b
/* f071d78: e608001c */ swc1 $f8,0x1c($s0)
/* f071d7c: c426b594 */ lwc1 $f6,-0x4a6c($at)
/* f071d80: 4606603c */ c.lt.s $f12,$f6
/* f071d84: 00000000 */ nop
/* f071d88: 45000018 */ bc1f .PF0f071dec
/* f071d8c: 00000000 */ nop
/* f071d90: 0c004ad4 */ jal random
/* f071d94: 00000000 */ nop
/* f071d98: 8fa300c0 */ lw $v1,0xc0($sp)
/* f071d9c: 3c017f1b */ lui $at,0x7f1b
/* f071da0: c42ab598 */ lwc1 $f10,-0x4a68($at)
/* f071da4: c4640014 */ lwc1 $f4,0x14($v1)
/* f071da8: 44823000 */ mtc1 $v0,$f6
/* f071dac: 3c014f80 */ lui $at,0x4f80
/* f071db0: 46045201 */ sub.s $f8,$f10,$f4
/* f071db4: 04410004 */ bgez $v0,.PF0f071dc8
/* f071db8: 468032a0 */ cvt.s.w $f10,$f6
/* f071dbc: 44812000 */ mtc1 $at,$f4
/* f071dc0: 00000000 */ nop
/* f071dc4: 46045280 */ add.s $f10,$f10,$f4
.PF0f071dc8:
/* f071dc8: 3c012f80 */ lui $at,0x2f80
/* f071dcc: 44813000 */ mtc1 $at,$f6
/* f071dd0: 00000000 */ nop
/* f071dd4: 46065102 */ mul.s $f4,$f10,$f6
/* f071dd8: c46a0018 */ lwc1 $f10,0x18($v1)
/* f071ddc: 460a2182 */ mul.s $f6,$f4,$f10
/* f071de0: 46064101 */ sub.s $f4,$f8,$f6
/* f071de4: 10000013 */ b .PF0f071e34
/* f071de8: e6040018 */ swc1 $f4,0x18($s0)
.PF0f071dec:
/* f071dec: 0c004ad4 */ jal random
/* f071df0: 00000000 */ nop
/* f071df4: 44825000 */ mtc1 $v0,$f10
/* f071df8: 3c014f80 */ lui $at,0x4f80
/* f071dfc: 04410004 */ bgez $v0,.PF0f071e10
/* f071e00: 46805220 */ cvt.s.w $f8,$f10
/* f071e04: 44813000 */ mtc1 $at,$f6
/* f071e08: 00000000 */ nop
/* f071e0c: 46064200 */ add.s $f8,$f8,$f6
.PF0f071e10:
/* f071e10: 3c012f80 */ lui $at,0x2f80
/* f071e14: 44812000 */ mtc1 $at,$f4
/* f071e18: 8fb800c0 */ lw $t8,0xc0($sp)
/* f071e1c: 46044282 */ mul.s $f10,$f8,$f4
/* f071e20: c7060018 */ lwc1 $f6,0x18($t8)
/* f071e24: c7040014 */ lwc1 $f4,0x14($t8)
/* f071e28: 46065202 */ mul.s $f8,$f10,$f6
/* f071e2c: 46044280 */ add.s $f10,$f8,$f4
/* f071e30: e60a0018 */ swc1 $f10,0x18($s0)
.PF0f071e34:
/* f071e34: 8fa200c0 */ lw $v0,0xc0($sp)
.PF0f071e38:
/* f071e38: 8e050024 */ lw $a1,0x24($s0)
/* f071e3c: 26040020 */ addiu $a0,$s0,0x20
/* f071e40: c440002c */ lwc1 $f0,0x2c($v0)
/* f071e44: 26060028 */ addiu $a2,$s0,0x28
/* f071e48: e7a00010 */ swc1 $f0,0x10($sp)
/* f071e4c: c4460030 */ lwc1 $f6,0x30($v0)
/* f071e50: 44070000 */ mfc1 $a3,$f0
/* f071e54: 0fc1b762 */ jal applyRotation
/* f071e58: e7a60014 */ swc1 $f6,0x14($sp)
/* f071e5c: c60c0024 */ lwc1 $f12,0x24($s0)
/* f071e60: c6080020 */ lwc1 $f8,0x20($s0)
/* f071e64: 46086032 */ c.eq.s $f12,$f8
/* f071e68: 00000000 */ nop
/* f071e6c: 45000040 */ bc1f .PF0f071f70
/* f071e70: 00000000 */ nop
/* f071e74: 8fb900c0 */ lw $t9,0xc0($sp)
/* f071e78: c60e0028 */ lwc1 $f14,0x28($s0)
/* f071e7c: c720002c */ lwc1 $f0,0x2c($t9)
/* f071e80: 46000100 */ add.s $f4,$f0,$f0
/* f071e84: 4604703e */ c.le.s $f14,$f4
/* f071e88: 00000000 */ nop
/* f071e8c: 45000038 */ bc1f .PF0f071f70
/* f071e90: 00000000 */ nop
/* f071e94: 46000087 */ neg.s $f2,$f0
/* f071e98: 46021280 */ add.s $f10,$f2,$f2
/* f071e9c: 460e503e */ c.le.s $f10,$f14
/* f071ea0: 00000000 */ nop
/* f071ea4: 45000032 */ bc1f .PF0f071f70
/* f071ea8: 00000000 */ nop
/* f071eac: 44803000 */ mtc1 $zero,$f6
/* f071eb0: 3c017f1b */ lui $at,0x7f1b
/* f071eb4: e6060028 */ swc1 $f6,0x28($s0)
/* f071eb8: c428b59c */ lwc1 $f8,-0x4a64($at)
/* f071ebc: 4608603c */ c.lt.s $f12,$f8
/* f071ec0: 00000000 */ nop
/* f071ec4: 45000018 */ bc1f .PF0f071f28
/* f071ec8: 00000000 */ nop
/* f071ecc: 0c004ad4 */ jal random
/* f071ed0: 00000000 */ nop
/* f071ed4: 8fa900c0 */ lw $t1,0xc0($sp)
/* f071ed8: 3c017f1b */ lui $at,0x7f1b
/* f071edc: c424b5a0 */ lwc1 $f4,-0x4a60($at)
/* f071ee0: c52a0024 */ lwc1 $f10,0x24($t1)
/* f071ee4: 44824000 */ mtc1 $v0,$f8
/* f071ee8: 3c014f80 */ lui $at,0x4f80
/* f071eec: 460a2181 */ sub.s $f6,$f4,$f10
/* f071ef0: 04410004 */ bgez $v0,.PF0f071f04
/* f071ef4: 46804120 */ cvt.s.w $f4,$f8
/* f071ef8: 44815000 */ mtc1 $at,$f10
/* f071efc: 00000000 */ nop
/* f071f00: 460a2100 */ add.s $f4,$f4,$f10
.PF0f071f04:
/* f071f04: 3c012f80 */ lui $at,0x2f80
/* f071f08: 44814000 */ mtc1 $at,$f8
/* f071f0c: 00000000 */ nop
/* f071f10: 46082282 */ mul.s $f10,$f4,$f8
/* f071f14: c5240028 */ lwc1 $f4,0x28($t1)
/* f071f18: 46045202 */ mul.s $f8,$f10,$f4
/* f071f1c: 46083281 */ sub.s $f10,$f6,$f8
/* f071f20: 10000013 */ b .PF0f071f70
/* f071f24: e60a0024 */ swc1 $f10,0x24($s0)
.PF0f071f28:
/* f071f28: 0c004ad4 */ jal random
/* f071f2c: 00000000 */ nop
/* f071f30: 44822000 */ mtc1 $v0,$f4
/* f071f34: 3c014f80 */ lui $at,0x4f80
/* f071f38: 04410004 */ bgez $v0,.PF0f071f4c
/* f071f3c: 468021a0 */ cvt.s.w $f6,$f4
/* f071f40: 44814000 */ mtc1 $at,$f8
/* f071f44: 00000000 */ nop
/* f071f48: 46083180 */ add.s $f6,$f6,$f8
.PF0f071f4c:
/* f071f4c: 3c012f80 */ lui $at,0x2f80
/* f071f50: 44815000 */ mtc1 $at,$f10
/* f071f54: 8faa00c0 */ lw $t2,0xc0($sp)
/* f071f58: 460a3102 */ mul.s $f4,$f6,$f10
/* f071f5c: c5480028 */ lwc1 $f8,0x28($t2)
/* f071f60: c54a0024 */ lwc1 $f10,0x24($t2)
/* f071f64: 46082182 */ mul.s $f6,$f4,$f8
/* f071f68: 460a3100 */ add.s $f4,$f6,$f10
/* f071f6c: e6040024 */ swc1 $f4,0x24($s0)
.PF0f071f70:
/* f071f70: 3c04800a */ lui $a0,0x800a
/* f071f74: 2484a510 */ addiu $a0,$a0,-23280
/* f071f78: 8c8b0038 */ lw $t3,0x38($a0)
/* f071f7c: 00001025 */ move $v0,$zero
/* f071f80: 19600070 */ blez $t3,.PF0f072144
/* f071f84: 3c017f1b */ lui $at,0x7f1b
/* f071f88: c432b5a4 */ lwc1 $f18,-0x4a5c($at)
/* f071f8c: 3c014120 */ lui $at,0x4120
/* f071f90: 44818000 */ mtc1 $at,$f16
/* f071f94: 3c030400 */ lui $v1,0x400
/* f071f98: c602002c */ lwc1 $f2,0x2c($s0)
.PF0f071f9c:
/* f071f9c: c7a800b4 */ lwc1 $f8,0xb4($sp)
/* f071fa0: 3c017f1b */ lui $at,0x7f1b
/* f071fa4: c42ab5a8 */ lwc1 $f10,-0x4a58($at)
/* f071fa8: 46024181 */ sub.s $f6,$f8,$f2
/* f071fac: c60e0030 */ lwc1 $f14,0x30($s0)
/* f071fb0: 46009306 */ mov.s $f12,$f18
/* f071fb4: 240e0001 */ li $t6,0x1
/* f071fb8: 460a3102 */ mul.s $f4,$f6,$f10
/* f071fbc: c60a0034 */ lwc1 $f10,0x34($s0)
/* f071fc0: 460a703c */ c.lt.s $f14,$f10
/* f071fc4: 46041200 */ add.s $f8,$f2,$f4
/* f071fc8: e608002c */ swc1 $f8,0x2c($s0)
/* f071fcc: c7a600ac */ lwc1 $f6,0xac($sp)
/* f071fd0: 45000021 */ bc1f .PF0f072058
/* f071fd4: 460e3001 */ sub.s $f0,$f6,$f14
/* f071fd8: 44802000 */ mtc1 $zero,$f4
/* f071fdc: 3c017f1b */ lui $at,0x7f1b
/* f071fe0: 4600203e */ c.le.s $f4,$f0
/* f071fe4: 00000000 */ nop
/* f071fe8: 45020004 */ bc1fl .PF0f071ffc
/* f071fec: 46000087 */ neg.s $f2,$f0
/* f071ff0: 10000002 */ b .PF0f071ffc
/* f071ff4: 46000086 */ mov.s $f2,$f0
/* f071ff8: 46000087 */ neg.s $f2,$f0
.PF0f071ffc:
/* f071ffc: 4602803c */ c.lt.s $f16,$f2
/* f072000: 00000000 */ nop
/* f072004: 45000009 */ bc1f .PF0f07202c
/* f072008: 00000000 */ nop
/* f07200c: 46101201 */ sub.s $f8,$f2,$f16
/* f072010: c426b5ac */ lwc1 $f6,-0x4a54($at)
/* f072014: 3c013f80 */ lui $at,0x3f80
/* f072018: 44812000 */ mtc1 $at,$f4
/* f07201c: 46064282 */ mul.s $f10,$f8,$f6
/* f072020: 460a2200 */ add.s $f8,$f4,$f10
/* f072024: 46089302 */ mul.s $f12,$f18,$f8
/* f072028: 00000000 */ nop
.PF0f07202c:
/* f07202c: 3c017f1b */ lui $at,0x7f1b
/* f072030: c426b5b0 */ lwc1 $f6,-0x4a50($at)
/* f072034: 3c017f1b */ lui $at,0x7f1b
/* f072038: 460c303c */ c.lt.s $f6,$f12
/* f07203c: 00000000 */ nop
/* f072040: 45000002 */ bc1f .PF0f07204c
/* f072044: 00000000 */ nop
/* f072048: c42cb5b4 */ lwc1 $f12,-0x4a4c($at)
.PF0f07204c:
/* f07204c: 460c0002 */ mul.s $f0,$f0,$f12
/* f072050: 10000029 */ b .PF0f0720f8
/* f072054: 3c013f80 */ lui $at,0x3f80
.PF0f072058:
/* f072058: 8e2c0040 */ lw $t4,0x40($s1)
/* f07205c: 46120002 */ mul.s $f0,$f0,$f18
/* f072060: 3c0140a0 */ lui $at,0x40a0
/* f072064: 01836824 */ and $t5,$t4,$v1
/* f072068: 51a00011 */ beqzl $t5,.PF0f0720b0
/* f07206c: 44815000 */ mtc1 $at,$f10
/* f072070: 4600803c */ c.lt.s $f16,$f0
/* f072074: 3c01c120 */ lui $at,0xc120
/* f072078: 45020004 */ bc1fl .PF0f07208c
/* f07207c: 44812000 */ mtc1 $at,$f4
/* f072080: 1000001c */ b .PF0f0720f4
/* f072084: 46008006 */ mov.s $f0,$f16
/* f072088: 44812000 */ mtc1 $at,$f4
.PF0f07208c:
/* f07208c: 3c01c120 */ lui $at,0xc120
/* f072090: 4604003c */ c.lt.s $f0,$f4
/* f072094: 00000000 */ nop
/* f072098: 45020017 */ bc1fl .PF0f0720f8
/* f07209c: 3c013f80 */ lui $at,0x3f80
/* f0720a0: 44810000 */ mtc1 $at,$f0
/* f0720a4: 10000014 */ b .PF0f0720f8
/* f0720a8: 3c013f80 */ lui $at,0x3f80
/* f0720ac: 44815000 */ mtc1 $at,$f10
.PF0f0720b0:
/* f0720b0: 3c01c0a0 */ lui $at,0xc0a0
/* f0720b4: 4600503c */ c.lt.s $f10,$f0
/* f0720b8: 00000000 */ nop
/* f0720bc: 45020006 */ bc1fl .PF0f0720d8
/* f0720c0: 44814000 */ mtc1 $at,$f8
/* f0720c4: 3c0140a0 */ lui $at,0x40a0
/* f0720c8: 44810000 */ mtc1 $at,$f0
/* f0720cc: 1000000a */ b .PF0f0720f8
/* f0720d0: 3c013f80 */ lui $at,0x3f80
/* f0720d4: 44814000 */ mtc1 $at,$f8
.PF0f0720d8:
/* f0720d8: 3c01c0a0 */ lui $at,0xc0a0
/* f0720dc: 4608003c */ c.lt.s $f0,$f8
/* f0720e0: 00000000 */ nop
/* f0720e4: 45020004 */ bc1fl .PF0f0720f8
/* f0720e8: 3c013f80 */ lui $at,0x3f80
/* f0720ec: 44810000 */ mtc1 $at,$f0
/* f0720f0: 00000000 */ nop
.PF0f0720f4:
/* f0720f4: 3c013f80 */ lui $at,0x3f80
.PF0f0720f8:
/* f0720f8: 44812000 */ mtc1 $at,$f4
/* f0720fc: 46007180 */ add.s $f6,$f14,$f0
/* f072100: 3c01bf80 */ lui $at,0xbf80
/* f072104: 4600203c */ c.lt.s $f4,$f0
/* f072108: e6060030 */ swc1 $f6,0x30($s0)
/* f07210c: 45030008 */ bc1tl .PF0f072130
/* f072110: afae008c */ sw $t6,0x8c($sp)
/* f072114: 44815000 */ mtc1 $at,$f10
/* f072118: 00000000 */ nop
/* f07211c: 460a003c */ c.lt.s $f0,$f10
/* f072120: 00000000 */ nop
/* f072124: 45020003 */ bc1fl .PF0f072134
/* f072128: 8c8f0038 */ lw $t7,0x38($a0)
/* f07212c: afae008c */ sw $t6,0x8c($sp)
.PF0f072130:
/* f072130: 8c8f0038 */ lw $t7,0x38($a0)
.PF0f072134:
/* f072134: 24420001 */ addiu $v0,$v0,0x1
/* f072138: 004f082a */ slt $at,$v0,$t7
/* f07213c: 5420ff97 */ bnezl $at,.PF0f071f9c
/* f072140: c602002c */ lwc1 $f2,0x2c($s0)
.PF0f072144:
/* f072144: 8fb8008c */ lw $t8,0x8c($sp)
/* f072148: 13000004 */ beqz $t8,.PF0f07215c
/* f07214c: 02202025 */ move $a0,$s1
/* f072150: 24050001 */ li $a1,0x1
/* f072154: 0fc1a7be */ jal func0f069c70
/* f072158: 24060001 */ li $a2,0x1
.PF0f07215c:
/* f07215c: 3c0140a0 */ lui $at,0x40a0
/* f072160: 44811000 */ mtc1 $at,$f2
/* f072164: c6000034 */ lwc1 $f0,0x34($s0)
/* f072168: c60e0030 */ lwc1 $f14,0x30($s0)
/* f07216c: 46020201 */ sub.s $f8,$f0,$f2
/* f072170: 4608703c */ c.lt.s $f14,$f8
/* f072174: 00000000 */ nop
/* f072178: 45030007 */ bc1tl .PF0f072198
/* f07217c: 8e390008 */ lw $t9,0x8($s1)
/* f072180: 46020180 */ add.s $f6,$f0,$f2
/* f072184: 460e303c */ c.lt.s $f6,$f14
/* f072188: 00000000 */ nop
/* f07218c: 45020007 */ bc1fl .PF0f0721ac
/* f072190: 8e2a0008 */ lw $t2,0x8($s1)
/* f072194: 8e390008 */ lw $t9,0x8($s1)
.PF0f072198:
/* f072198: 3c018000 */ lui $at,0x8000
/* f07219c: 03214825 */ or $t1,$t9,$at
/* f0721a0: 10000006 */ b .PF0f0721bc
/* f0721a4: ae290008 */ sw $t1,0x8($s1)
/* f0721a8: 8e2a0008 */ lw $t2,0x8($s1)
.PF0f0721ac:
/* f0721ac: 3c017fff */ lui $at,0x7fff
/* f0721b0: 3421ffff */ ori $at,$at,0xffff
/* f0721b4: 01415824 */ and $t3,$t2,$at
/* f0721b8: ae2b0008 */ sw $t3,0x8($s1)
.PF0f0721bc:
/* f0721bc: 0fc1c57a */ jal objGetHov04
/* f0721c0: 02202025 */ move $a0,$s1
/* f0721c4: c6040030 */ lwc1 $f4,0x30($s0)
/* f0721c8: 8fac01d4 */ lw $t4,0x1d4($sp)
/* f0721cc: 27a50148 */ addiu $a1,$sp,0x148
/* f0721d0: 46040280 */ add.s $f10,$f0,$f4
/* f0721d4: e58a000c */ swc1 $f10,0xc($t4)
/* f0721d8: 0c005864 */ jal mtx4LoadZRotation
/* f0721dc: c60c0020 */ lwc1 $f12,0x20($s0)
/* f0721e0: c608002c */ lwc1 $f8,0x2c($s0)
/* f0721e4: c6060014 */ lwc1 $f6,0x14($s0)
/* f0721e8: 3c017f1b */ lui $at,0x7f1b
/* f0721ec: c424b5b8 */ lwc1 $f4,-0x4a48($at)
/* f0721f0: 46064300 */ add.s $f12,$f8,$f6
/* f0721f4: 3c017f1b */ lui $at,0x7f1b
/* f0721f8: 460c203e */ c.le.s $f4,$f12
/* f0721fc: 00000000 */ nop
/* f072200: 45020005 */ bc1fl .PF0f072218
/* f072204: 44804000 */ mtc1 $zero,$f8
/* f072208: c42ab5bc */ lwc1 $f10,-0x4a44($at)
/* f07220c: 10000009 */ b .PF0f072234
/* f072210: 460a6301 */ sub.s $f12,$f12,$f10
/* f072214: 44804000 */ mtc1 $zero,$f8
.PF0f072218:
/* f072218: 3c017f1b */ lui $at,0x7f1b
/* f07221c: 4608603c */ c.lt.s $f12,$f8
/* f072220: 00000000 */ nop
/* f072224: 45000003 */ bc1f .PF0f072234
/* f072228: 00000000 */ nop
/* f07222c: c426b5c0 */ lwc1 $f6,-0x4a40($at)
/* f072230: 46066300 */ add.s $f12,$f12,$f6
.PF0f072234:
/* f072234: 0c00581e */ jal mtx4LoadXRotation
/* f072238: 27a50108 */ addiu $a1,$sp,0x108
/* f07223c: 27a40108 */ addiu $a0,$sp,0x108
/* f072240: 0c00565c */ jal mtx00015be0
/* f072244: 27a50148 */ addiu $a1,$sp,0x148
/* f072248: c60c0010 */ lwc1 $f12,0x10($s0)
/* f07224c: 0c005841 */ jal mtx4LoadYRotation
/* f072250: 27a50108 */ addiu $a1,$sp,0x108
/* f072254: 27b00108 */ addiu $s0,$sp,0x108
/* f072258: 02002025 */ move $a0,$s0
/* f07225c: 0c00565c */ jal mtx00015be0
/* f072260: 27a50148 */ addiu $a1,$sp,0x148
/* f072264: 8e2d0018 */ lw $t5,0x18($s1)
/* f072268: 27a50148 */ addiu $a1,$sp,0x148
/* f07226c: 0c005725 */ jal mtx00015f04
/* f072270: c5ac0014 */ lwc1 $f12,0x14($t5)
/* f072274: 922e0003 */ lbu $t6,0x3($s1)
/* f072278: 24010033 */ li $at,0x33
/* f07227c: 55c10027 */ bnel $t6,$at,.PF0f07231c
/* f072280: 27a40148 */ addiu $a0,$sp,0x148
/* f072284: c62400bc */ lwc1 $f4,0xbc($s1)
/* f072288: c62a00c0 */ lwc1 $f10,0xc0($s1)
/* f07228c: 44803000 */ mtc1 $zero,$f6
/* f072290: 460a2200 */ add.s $f8,$f4,$f10
/* f072294: e7a8006c */ swc1 $f8,0x6c($sp)
/* f072298: c62c00b8 */ lwc1 $f12,0xb8($s1)
/* f07229c: 460c3032 */ c.eq.s $f6,$f12
/* f0722a0: 00000000 */ nop
/* f0722a4: 4503000c */ bc1tl .PF0f0722d8
/* f0722a8: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f0722ac: 0c00581e */ jal mtx4LoadXRotation
/* f0722b0: 02002825 */ move $a1,$s0
/* f0722b4: 27b100c8 */ addiu $s1,$sp,0xc8
/* f0722b8: 02203025 */ move $a2,$s1
/* f0722bc: 27a40148 */ addiu $a0,$sp,0x148
/* f0722c0: 0c00565d */ jal mtx00015be4
/* f0722c4: 02002825 */ move $a1,$s0
/* f0722c8: 02202025 */ move $a0,$s1
/* f0722cc: 0c0056aa */ jal mtx4Copy
/* f0722d0: 27a50148 */ addiu $a1,$sp,0x148
/* f0722d4: c7a4006c */ lwc1 $f4,0x6c($sp)
.PF0f0722d8:
/* f0722d8: 44805000 */ mtc1 $zero,$f10
/* f0722dc: 27b100c8 */ addiu $s1,$sp,0xc8
/* f0722e0: 02002825 */ move $a1,$s0
/* f0722e4: 460a2032 */ c.eq.s $f4,$f10
/* f0722e8: 00000000 */ nop
/* f0722ec: 4503000b */ bc1tl .PF0f07231c
/* f0722f0: 27a40148 */ addiu $a0,$sp,0x148
/* f0722f4: 0c005864 */ jal mtx4LoadZRotation
/* f0722f8: 46002306 */ mov.s $f12,$f4
/* f0722fc: 27a40148 */ addiu $a0,$sp,0x148
/* f072300: 02002825 */ move $a1,$s0
/* f072304: 0c00565d */ jal mtx00015be4
/* f072308: 02203025 */ move $a2,$s1
/* f07230c: 02202025 */ move $a0,$s1
/* f072310: 0c0056aa */ jal mtx4Copy
/* f072314: 27a50148 */ addiu $a1,$sp,0x148
/* f072318: 27a40148 */ addiu $a0,$sp,0x148
.PF0f07231c:
/* f07231c: 0c0056cc */ jal mtx4ToMtx3
/* f072320: 8fa5005c */ lw $a1,0x5c($sp)
/* f072324: 8fbf004c */ lw $ra,0x4c($sp)
.PF0f072328:
/* f072328: 8fb00044 */ lw $s0,0x44($sp)
/* f07232c: 8fb10048 */ lw $s1,0x48($sp)
/* f072330: 03e00008 */ jr $ra
/* f072334: 27bd01d8 */ addiu $sp,$sp,0x1d8
);
#else
GLOBAL_ASM(
glabel func0f0714b8
.late_rodata
glabel var7f1aa2cc
.word 0x3f666666
glabel var7f1aa2d0
.word 0x3f666666
glabel var7f1aa2d4
.word 0xc6ea6000
glabel var7f1aa2d8
.word 0x40490fdb
glabel var7f1aa2dc
.word 0x40c907a9
glabel var7f1aa2e0
.word 0x40490fdb
glabel var7f1aa2e4
.word 0x40c907a9
glabel var7f1aa2e8
.word 0x40490fdb
glabel var7f1aa2ec
.word 0x40c907a9
glabel var7f1aa2f0
.word 0x40490fdb
glabel var7f1aa2f4
.word 0x40c907a9
glabel var7f1aa2f8
.word 0x40490fdb
glabel var7f1aa2fc
.word 0x40c907a9
glabel var7f1aa300
.word 0x3dae147b
glabel var7f1aa304
.word 0x3d99999a
glabel var7f1aa308
.word 0x3e4ccccd
glabel var7f1aa30c
.word 0x40c907a9
glabel var7f1aa310
.word 0x40c907a9
glabel var7f1aa314
.word 0x40c907a9
.text
/* f0714b8: 27bdfe28 */ addiu $sp,$sp,-472
/* f0714bc: afbf004c */ sw $ra,0x4c($sp)
/* f0714c0: afb10048 */ sw $s1,0x48($sp)
/* f0714c4: afb00044 */ sw $s0,0x44($sp)
/* f0714c8: 3c0f800a */ lui $t7,%hi(g_Vars+0x8)
/* f0714cc: 8def9fc8 */ lw $t7,%lo(g_Vars+0x8)($t7)
/* f0714d0: 8cae0038 */ lw $t6,0x38($a1)
/* f0714d4: 00a08025 */ or $s0,$a1,$zero
/* f0714d8: 00808825 */ or $s1,$a0,$zero
/* f0714dc: 01cf082a */ slt $at,$t6,$t7
/* f0714e0: 502002f0 */ beqzl $at,.L0f0720a4
/* f0714e4: 8fbf004c */ lw $ra,0x4c($sp)
/* f0714e8: 8c980014 */ lw $t8,0x14($a0)
/* f0714ec: 0fc1a2bd */ jal objFindBboxRodata
/* f0714f0: afb801d4 */ sw $t8,0x1d4($sp)
/* f0714f4: 92190000 */ lbu $t9,0x0($s0)
/* f0714f8: 3c0a8007 */ lui $t2,%hi(var80069a70)
/* f0714fc: 254a9a70 */ addiu $t2,$t2,%lo(var80069a70)
/* f071500: 00194880 */ sll $t1,$t9,0x2
/* f071504: 01394823 */ subu $t1,$t1,$t9
/* f071508: 00094880 */ sll $t1,$t1,0x2
/* f07150c: 01394821 */ addu $t1,$t1,$t9
/* f071510: 00094880 */ sll $t1,$t1,0x2
/* f071514: 012a5821 */ addu $t3,$t1,$t2
/* f071518: afab00c0 */ sw $t3,0xc0($sp)
/* f07151c: afa0008c */ sw $zero,0x8c($sp)
/* f071520: 3c03800a */ lui $v1,%hi(g_Vars+0x8)
/* f071524: 8c639fc8 */ lw $v1,%lo(g_Vars+0x8)($v1)
/* f071528: 8e0c003c */ lw $t4,0x3c($s0)
/* f07152c: 00404025 */ or $t0,$v0,$zero
/* f071530: 0183082a */ slt $at,$t4,$v1
/* f071534: 5020000e */ beqzl $at,.L0f071570
/* f071538: ae030038 */ sw $v1,0x38($s0)
/* f07153c: 8fa201d4 */ lw $v0,0x1d4($sp)
/* f071540: 262d001c */ addiu $t5,$s1,0x1c
/* f071544: afad0010 */ sw $t5,0x10($sp)
/* f071548: 02202025 */ or $a0,$s1,$zero
/* f07154c: 02002825 */ or $a1,$s0,$zero
/* f071550: afa801c0 */ sw $t0,0x1c0($sp)
/* f071554: 24460008 */ addiu $a2,$v0,0x8
/* f071558: 0fc1c4f9 */ jal hovUpdateGround
/* f07155c: 24470028 */ addiu $a3,$v0,0x28
/* f071560: 3c03800a */ lui $v1,%hi(g_Vars+0x8)
/* f071564: 8c639fc8 */ lw $v1,%lo(g_Vars+0x8)($v1)
/* f071568: 8fa801c0 */ lw $t0,0x1c0($sp)
/* f07156c: ae030038 */ sw $v1,0x38($s0)
.L0f071570:
/* f071570: 262e001c */ addiu $t6,$s1,0x1c
/* f071574: afae005c */ sw $t6,0x5c($sp)
/* f071578: 8e2f0008 */ lw $t7,0x8($s1)
/* f07157c: 000fc0c0 */ sll $t8,$t7,0x3
/* f071580: 07030005 */ bgezl $t8,.L0f071598
/* f071584: 8fa401d4 */ lw $a0,0x1d4($sp)
/* f071588: 44802000 */ mtc1 $zero,$f4
/* f07158c: 100000b6 */ b .L0f071868
/* f071590: e7a400b4 */ swc1 $f4,0xb4($sp)
/* f071594: 8fa401d4 */ lw $a0,0x1d4($sp)
.L0f071598:
/* f071598: 24990008 */ addiu $t9,$a0,0x8
/* f07159c: 24890028 */ addiu $t1,$a0,0x28
/* f0715a0: afa90060 */ sw $t1,0x60($sp)
/* f0715a4: afb90064 */ sw $t9,0x64($sp)
/* f0715a8: 8e2a0010 */ lw $t2,0x10($s1)
/* f0715ac: 000a5980 */ sll $t3,$t2,0x6
/* f0715b0: 0561000c */ bgez $t3,.L0f0715e4
/* f0715b4: 27a50088 */ addiu $a1,$sp,0x88
/* f0715b8: 27a60084 */ addiu $a2,$sp,0x84
/* f0715bc: 0fc21d5b */ jal propObjGetBbox
/* f0715c0: 27a70080 */ addiu $a3,$sp,0x80
/* f0715c4: 3c017f1b */ lui $at,%hi(var7f1aa2cc)
/* f0715c8: c422a2cc */ lwc1 $f2,%lo(var7f1aa2cc)($at)
/* f0715cc: c7a60088 */ lwc1 $f6,0x88($sp)
/* f0715d0: 46023002 */ mul.s $f0,$f6,$f2
/* f0715d4: 46000207 */ neg.s $f8,$f0
/* f0715d8: e7a001cc */ swc1 $f0,0x1cc($sp)
/* f0715dc: 1000000e */ b .L0f071618
/* f0715e0: e7a801d0 */ swc1 $f8,0x1d0($sp)
.L0f0715e4:
/* f0715e4: 3c017f1b */ lui $at,%hi(var7f1aa2d0)
/* f0715e8: c422a2d0 */ lwc1 $f2,%lo(var7f1aa2d0)($at)
/* f0715ec: c50a0014 */ lwc1 $f10,0x14($t0)
/* f0715f0: 8e2c0018 */ lw $t4,0x18($s1)
/* f0715f4: 46025102 */ mul.s $f4,$f10,$f2
/* f0715f8: c5800014 */ lwc1 $f0,0x14($t4)
/* f0715fc: 46002182 */ mul.s $f6,$f4,$f0
/* f071600: e7a601d0 */ swc1 $f6,0x1d0($sp)
/* f071604: c5080018 */ lwc1 $f8,0x18($t0)
/* f071608: 46024282 */ mul.s $f10,$f8,$f2
/* f07160c: 00000000 */ nop
/* f071610: 46005102 */ mul.s $f4,$f10,$f0
/* f071614: e7a401cc */ swc1 $f4,0x1cc($sp)
.L0f071618:
/* f071618: 0c0068f4 */ jal cosf
/* f07161c: c60c0010 */ lwc1 $f12,0x10($s0)
/* f071620: c60c0010 */ lwc1 $f12,0x10($s0)
/* f071624: 0c0068f7 */ jal sinf
/* f071628: e7a000bc */ swc1 $f0,0xbc($sp)
/* f07162c: c7ac01d0 */ lwc1 $f12,0x1d0($sp)
/* f071630: 8fa201d4 */ lw $v0,0x1d4($sp)
/* f071634: c7a200bc */ lwc1 $f2,0xbc($sp)
/* f071638: 46006202 */ mul.s $f8,$f12,$f0
/* f07163c: c4460008 */ lwc1 $f6,0x8($v0)
/* f071640: c7ae01cc */ lwc1 $f14,0x1cc($sp)
/* f071644: 3c014248 */ lui $at,0x4248
/* f071648: 8fa40060 */ lw $a0,0x60($sp)
/* f07164c: 27a5009c */ addiu $a1,$sp,0x9c
/* f071650: 46083280 */ add.s $f10,$f6,$f8
/* f071654: 46026202 */ mul.s $f8,$f12,$f2
/* f071658: e7aa01b4 */ swc1 $f10,0x1b4($sp)
/* f07165c: c444000c */ lwc1 $f4,0xc($v0)
/* f071660: e7a401b8 */ swc1 $f4,0x1b8($sp)
/* f071664: c4460010 */ lwc1 $f6,0x10($v0)
/* f071668: 46083280 */ add.s $f10,$f6,$f8
/* f07166c: 46007182 */ mul.s $f6,$f14,$f0
/* f071670: e7aa01bc */ swc1 $f10,0x1bc($sp)
/* f071674: c4440008 */ lwc1 $f4,0x8($v0)
/* f071678: 46062200 */ add.s $f8,$f4,$f6
/* f07167c: 46027182 */ mul.s $f6,$f14,$f2
/* f071680: e7a801a8 */ swc1 $f8,0x1a8($sp)
/* f071684: c44a000c */ lwc1 $f10,0xc($v0)
/* f071688: e7aa01ac */ swc1 $f10,0x1ac($sp)
/* f07168c: c4440010 */ lwc1 $f4,0x10($v0)
/* f071690: 46062200 */ add.s $f8,$f4,$f6
/* f071694: 44813000 */ mtc1 $at,$f6
/* f071698: e7a801b0 */ swc1 $f8,0x1b0($sp)
/* f07169c: c44a0008 */ lwc1 $f10,0x8($v0)
/* f0716a0: e7aa0090 */ swc1 $f10,0x90($sp)
/* f0716a4: c444000c */ lwc1 $f4,0xc($v0)
/* f0716a8: 46062201 */ sub.s $f8,$f4,$f6
/* f0716ac: e7a80094 */ swc1 $f8,0x94($sp)
/* f0716b0: c44a0010 */ lwc1 $f10,0x10($v0)
/* f0716b4: 0fc195e9 */ jal roomsCopy
/* f0716b8: e7aa0098 */ swc1 $f10,0x98($sp)
/* f0716bc: 02202025 */ or $a0,$s1,$zero
/* f0716c0: 27a50090 */ addiu $a1,$sp,0x90
/* f0716c4: 8fa6005c */ lw $a2,0x5c($sp)
/* f0716c8: 0fc248cf */ jal func0f09233c
/* f0716cc: 27a7009c */ addiu $a3,$sp,0x9c
/* f0716d0: 8fa40064 */ lw $a0,0x64($sp)
/* f0716d4: 8fa50060 */ lw $a1,0x60($sp)
/* f0716d8: 27a601b4 */ addiu $a2,$sp,0x1b4
/* f0716dc: 0fc1979d */ jal func0f065e74
/* f0716e0: 27a70198 */ addiu $a3,$sp,0x198
/* f0716e4: 27a4009c */ addiu $a0,$sp,0x9c
/* f0716e8: 27a50198 */ addiu $a1,$sp,0x198
/* f0716ec: 0fc195f6 */ jal roomsAppend
/* f0716f0: 24060008 */ addiu $a2,$zero,0x8
/* f0716f4: 27a401b4 */ addiu $a0,$sp,0x1b4
/* f0716f8: 3c0540a0 */ lui $a1,0x40a0
/* f0716fc: 27a60198 */ addiu $a2,$sp,0x198
/* f071700: 26270058 */ addiu $a3,$s1,0x58
/* f071704: 0c00a8cc */ jal cdFindGroundYSimple
/* f071708: afa00010 */ sw $zero,0x10($sp)
/* f07170c: 8fa40064 */ lw $a0,0x64($sp)
/* f071710: 8fa50060 */ lw $a1,0x60($sp)
/* f071714: 27a601a8 */ addiu $a2,$sp,0x1a8
/* f071718: 27a70188 */ addiu $a3,$sp,0x188
/* f07171c: 0fc1979d */ jal func0f065e74
/* f071720: e7a001c8 */ swc1 $f0,0x1c8($sp)
/* f071724: 27a4009c */ addiu $a0,$sp,0x9c
/* f071728: 27a50188 */ addiu $a1,$sp,0x188
/* f07172c: 0fc195f6 */ jal roomsAppend
/* f071730: 24060008 */ addiu $a2,$zero,0x8
/* f071734: 27a401a8 */ addiu $a0,$sp,0x1a8
/* f071738: 3c0540a0 */ lui $a1,0x40a0
/* f07173c: 27a60188 */ addiu $a2,$sp,0x188
/* f071740: 00003825 */ or $a3,$zero,$zero
/* f071744: 0c00a8cc */ jal cdFindGroundYSimple
/* f071748: afa00010 */ sw $zero,0x10($sp)
/* f07174c: 3c017f1b */ lui $at,%hi(var7f1aa2d4)
/* f071750: c42ca2d4 */ lwc1 $f12,%lo(var7f1aa2d4)($at)
/* f071754: c7a201c8 */ lwc1 $f2,0x1c8($sp)
/* f071758: 46000406 */ mov.s $f16,$f0
/* f07175c: 4602603e */ c.le.s $f12,$f2
/* f071760: 00000000 */ nop
/* f071764: 45020016 */ bc1fl .L0f0717c0
/* f071768: 4602603e */ c.le.s $f12,$f2
/* f07176c: 4600603e */ c.le.s $f12,$f0
/* f071770: c7a401cc */ lwc1 $f4,0x1cc($sp)
/* f071774: c7a601d0 */ lwc1 $f6,0x1d0($sp)
/* f071778: 45020011 */ bc1fl .L0f0717c0
/* f07177c: 4602603e */ c.le.s $f12,$f2
/* f071780: 46101301 */ sub.s $f12,$f2,$f16
/* f071784: 0fc259d4 */ jal atan2f
/* f071788: 46062381 */ sub.s $f14,$f4,$f6
/* f07178c: 3c017f1b */ lui $at,%hi(var7f1aa2d8)
/* f071790: c428a2d8 */ lwc1 $f8,%lo(var7f1aa2d8)($at)
/* f071794: 46000086 */ mov.s $f2,$f0
/* f071798: 3c017f1b */ lui $at,%hi(var7f1aa2dc)
/* f07179c: 4600403e */ c.le.s $f8,$f0
/* f0717a0: 00000000 */ nop
/* f0717a4: 45000003 */ bc1f .L0f0717b4
/* f0717a8: 00000000 */ nop
/* f0717ac: c42aa2dc */ lwc1 $f10,%lo(var7f1aa2dc)($at)
/* f0717b0: 460a0081 */ sub.s $f2,$f0,$f10
.L0f0717b4:
/* f0717b4: 1000002c */ b .L0f071868
/* f0717b8: e7a200b4 */ swc1 $f2,0xb4($sp)
/* f0717bc: 4602603e */ c.le.s $f12,$f2
.L0f0717c0:
/* f0717c0: c7ae01d0 */ lwc1 $f14,0x1d0($sp)
/* f0717c4: 45020012 */ bc1fl .L0f071810
/* f0717c8: 4600603e */ c.le.s $f12,$f0
/* f0717cc: c6040034 */ lwc1 $f4,0x34($s0)
/* f0717d0: 46007387 */ neg.s $f14,$f14
/* f0717d4: 0fc259d4 */ jal atan2f
/* f0717d8: 46041301 */ sub.s $f12,$f2,$f4
/* f0717dc: 3c017f1b */ lui $at,%hi(var7f1aa2e0)
/* f0717e0: c426a2e0 */ lwc1 $f6,%lo(var7f1aa2e0)($at)
/* f0717e4: 46000086 */ mov.s $f2,$f0
/* f0717e8: 3c017f1b */ lui $at,%hi(var7f1aa2e4)
/* f0717ec: 4600303e */ c.le.s $f6,$f0
/* f0717f0: 00000000 */ nop
/* f0717f4: 45000003 */ bc1f .L0f071804
/* f0717f8: 00000000 */ nop
/* f0717fc: c428a2e4 */ lwc1 $f8,%lo(var7f1aa2e4)($at)
/* f071800: 46080081 */ sub.s $f2,$f0,$f8
.L0f071804:
/* f071804: 10000018 */ b .L0f071868
/* f071808: e7a200b4 */ swc1 $f2,0xb4($sp)
/* f07180c: 4600603e */ c.le.s $f12,$f0
.L0f071810:
/* f071810: 00000000 */ nop
/* f071814: 45020012 */ bc1fl .L0f071860
/* f071818: 44804000 */ mtc1 $zero,$f8
/* f07181c: c60a0034 */ lwc1 $f10,0x34($s0)
/* f071820: c7ae01cc */ lwc1 $f14,0x1cc($sp)
/* f071824: 0fc259d4 */ jal atan2f
/* f071828: 46105301 */ sub.s $f12,$f10,$f16
/* f07182c: 3c017f1b */ lui $at,%hi(var7f1aa2e8)
/* f071830: c424a2e8 */ lwc1 $f4,%lo(var7f1aa2e8)($at)
/* f071834: 46000086 */ mov.s $f2,$f0
/* f071838: 3c017f1b */ lui $at,%hi(var7f1aa2ec)
/* f07183c: 4600203e */ c.le.s $f4,$f0
/* f071840: 00000000 */ nop
/* f071844: 45000003 */ bc1f .L0f071854
/* f071848: 00000000 */ nop
/* f07184c: c426a2ec */ lwc1 $f6,%lo(var7f1aa2ec)($at)
/* f071850: 46060081 */ sub.s $f2,$f0,$f6
.L0f071854:
/* f071854: 10000004 */ b .L0f071868
/* f071858: e7a200b4 */ swc1 $f2,0xb4($sp)
/* f07185c: 44804000 */ mtc1 $zero,$f8
.L0f071860:
/* f071860: 00000000 */ nop
/* f071864: e7a800b4 */ swc1 $f8,0xb4($sp)
.L0f071868:
/* f071868: c60a0034 */ lwc1 $f10,0x34($s0)
/* f07186c: e7aa00ac */ swc1 $f10,0xac($sp)
/* f071870: 8e2d0040 */ lw $t5,0x40($s1)
/* f071874: 000d7100 */ sll $t6,$t5,0x4
/* f071878: 05c1000c */ bgez $t6,.L0f0718ac
/* f07187c: 3c0f800a */ lui $t7,%hi(g_Vars+0x284)
/* f071880: 8defa244 */ lw $t7,%lo(g_Vars+0x284)($t7)
/* f071884: 3c01428c */ lui $at,0x428c
/* f071888: 44813000 */ mtc1 $at,$f6
/* f07188c: c5e00078 */ lwc1 $f0,0x78($t7)
/* f071890: c7a400ac */ lwc1 $f4,0xac($sp)
/* f071894: 46060201 */ sub.s $f8,$f0,$f6
/* f071898: 4608203c */ c.lt.s $f4,$f8
/* f07189c: 00000000 */ nop
/* f0718a0: 45020003 */ bc1fl .L0f0718b0
/* f0718a4: 92020001 */ lbu $v0,0x1($s0)
/* f0718a8: e7a000ac */ swc1 $f0,0xac($sp)
.L0f0718ac:
/* f0718ac: 92020001 */ lbu $v0,0x1($s0)
.L0f0718b0:
/* f0718b0: 30580001 */ andi $t8,$v0,0x1
/* f0718b4: 53000023 */ beqzl $t8,.L0f071944
/* f0718b8: 8fae00c0 */ lw $t6,0xc0($sp)
/* f0718bc: 8fa900c0 */ lw $t1,0xc0($sp)
/* f0718c0: 24190001 */ addiu $t9,$zero,0x1
/* f0718c4: afb9008c */ sw $t9,0x8c($sp)
/* f0718c8: c5200000 */ lwc1 $f0,0x0($t1)
/* f0718cc: 304afffe */ andi $t2,$v0,0xfffe
/* f0718d0: 24010033 */ addiu $at,$zero,0x33
/* f0718d4: e6000008 */ swc1 $f0,0x8($s0)
/* f0718d8: e6000004 */ swc1 $f0,0x4($s0)
/* f0718dc: c7aa00ac */ lwc1 $f10,0xac($sp)
/* f0718e0: a20a0001 */ sb $t2,0x1($s0)
/* f0718e4: 00002025 */ or $a0,$zero,$zero
/* f0718e8: e60a0030 */ swc1 $f10,0x30($s0)
/* f0718ec: 922b0003 */ lbu $t3,0x3($s1)
/* f0718f0: 240680af */ addiu $a2,$zero,-32593
/* f0718f4: 2407ffff */ addiu $a3,$zero,-1
/* f0718f8: 15610011 */ bne $t3,$at,.L0f071940
/* f0718fc: 240cffff */ addiu $t4,$zero,-1
/* f071900: 8e250014 */ lw $a1,0x14($s1)
/* f071904: 3c01bf80 */ lui $at,0xbf80
/* f071908: 44810000 */ mtc1 $at,$f0
/* f07190c: 240dffff */ addiu $t5,$zero,-1
/* f071910: afad002c */ sw $t5,0x2c($sp)
/* f071914: afa00028 */ sw $zero,0x28($sp)
/* f071918: afa00020 */ sw $zero,0x20($sp)
/* f07191c: afa0001c */ sw $zero,0x1c($sp)
/* f071920: afa00018 */ sw $zero,0x18($sp)
/* f071924: afa00014 */ sw $zero,0x14($sp)
/* f071928: afac0010 */ sw $t4,0x10($sp)
/* f07192c: e7a00024 */ swc1 $f0,0x24($sp)
/* f071930: e7a00030 */ swc1 $f0,0x30($sp)
/* f071934: e7a00034 */ swc1 $f0,0x34($sp)
/* f071938: 0fc24e7e */ jal func0f0939f8
/* f07193c: e7a00038 */ swc1 $f0,0x38($sp)
.L0f071940:
/* f071940: 8fae00c0 */ lw $t6,0xc0($sp)
.L0f071944:
/* f071944: 8e050008 */ lw $a1,0x8($s0)
/* f071948: 26040004 */ addiu $a0,$s0,0x4
/* f07194c: c5c0000c */ lwc1 $f0,0xc($t6)
/* f071950: 2606000c */ addiu $a2,$s0,0xc
/* f071954: e7a00010 */ swc1 $f0,0x10($sp)
/* f071958: c5c60010 */ lwc1 $f6,0x10($t6)
/* f07195c: 44070000 */ mfc1 $a3,$f0
/* f071960: 0fc1b643 */ jal applySpeed
/* f071964: e7a60014 */ swc1 $f6,0x14($sp)
/* f071968: 8fa200c0 */ lw $v0,0xc0($sp)
/* f07196c: c6000008 */ lwc1 $f0,0x8($s0)
/* f071970: c4420000 */ lwc1 $f2,0x0($v0)
/* f071974: 4600103e */ c.le.s $f2,$f0
/* f071978: 00000000 */ nop
/* f07197c: 4502001f */ bc1fl .L0f0719fc
/* f071980: 4602003c */ c.lt.s $f0,$f2
/* f071984: c6040004 */ lwc1 $f4,0x4($s0)
/* f071988: 4604003e */ c.le.s $f0,$f4
/* f07198c: 00000000 */ nop
/* f071990: 4502001a */ bc1fl .L0f0719fc
/* f071994: 4602003c */ c.lt.s $f0,$f2
/* f071998: 44804000 */ mtc1 $zero,$f8
/* f07199c: 0c004b70 */ jal random
/* f0719a0: e608000c */ swc1 $f8,0xc($s0)
/* f0719a4: 8fa300c0 */ lw $v1,0xc0($sp)
/* f0719a8: 44824000 */ mtc1 $v0,$f8
/* f0719ac: 3c014f80 */ lui $at,0x4f80
/* f0719b0: c46a0000 */ lwc1 $f10,0x0($v1)
/* f0719b4: c4660004 */ lwc1 $f6,0x4($v1)
/* f0719b8: 46065101 */ sub.s $f4,$f10,$f6
/* f0719bc: 04410004 */ bgez $v0,.L0f0719d0
/* f0719c0: 468042a0 */ cvt.s.w $f10,$f8
/* f0719c4: 44813000 */ mtc1 $at,$f6
/* f0719c8: 00000000 */ nop
/* f0719cc: 46065280 */ add.s $f10,$f10,$f6
.L0f0719d0:
/* f0719d0: 3c012f80 */ lui $at,0x2f80
/* f0719d4: 44814000 */ mtc1 $at,$f8
/* f0719d8: 00000000 */ nop
/* f0719dc: 46085182 */ mul.s $f6,$f10,$f8
/* f0719e0: c46a0008 */ lwc1 $f10,0x8($v1)
/* f0719e4: 460a3202 */ mul.s $f8,$f6,$f10
/* f0719e8: 46082181 */ sub.s $f6,$f4,$f8
/* f0719ec: e6060008 */ swc1 $f6,0x8($s0)
/* f0719f0: 10000020 */ b .L0f071a74
/* f0719f4: 8fa200c0 */ lw $v0,0xc0($sp)
/* f0719f8: 4602003c */ c.lt.s $f0,$f2
.L0f0719fc:
/* f0719fc: 00000000 */ nop
/* f071a00: 4502001d */ bc1fl .L0f071a78
/* f071a04: c440001c */ lwc1 $f0,0x1c($v0)
/* f071a08: c60a0004 */ lwc1 $f10,0x4($s0)
/* f071a0c: 4600503e */ c.le.s $f10,$f0
/* f071a10: 00000000 */ nop
/* f071a14: 45020018 */ bc1fl .L0f071a78
/* f071a18: c440001c */ lwc1 $f0,0x1c($v0)
/* f071a1c: 44802000 */ mtc1 $zero,$f4
/* f071a20: 0c004b70 */ jal random
/* f071a24: e604000c */ swc1 $f4,0xc($s0)
/* f071a28: 44824000 */ mtc1 $v0,$f8
/* f071a2c: 3c014f80 */ lui $at,0x4f80
/* f071a30: 04410004 */ bgez $v0,.L0f071a44
/* f071a34: 468041a0 */ cvt.s.w $f6,$f8
/* f071a38: 44815000 */ mtc1 $at,$f10
/* f071a3c: 00000000 */ nop
/* f071a40: 460a3180 */ add.s $f6,$f6,$f10
.L0f071a44:
/* f071a44: 3c012f80 */ lui $at,0x2f80
/* f071a48: 44812000 */ mtc1 $at,$f4
/* f071a4c: 8faf00c0 */ lw $t7,0xc0($sp)
/* f071a50: 46043202 */ mul.s $f8,$f6,$f4
/* f071a54: c5ea0008 */ lwc1 $f10,0x8($t7)
/* f071a58: c5e40000 */ lwc1 $f4,0x0($t7)
/* f071a5c: 460a4182 */ mul.s $f6,$f8,$f10
/* f071a60: c5e80004 */ lwc1 $f8,0x4($t7)
/* f071a64: 46082280 */ add.s $f10,$f4,$f8
/* f071a68: 460a3100 */ add.s $f4,$f6,$f10
/* f071a6c: e6040008 */ swc1 $f4,0x8($s0)
/* f071a70: 8fa200c0 */ lw $v0,0xc0($sp)
.L0f071a74:
/* f071a74: c440001c */ lwc1 $f0,0x1c($v0)
.L0f071a78:
/* f071a78: 8e050018 */ lw $a1,0x18($s0)
/* f071a7c: 26040014 */ addiu $a0,$s0,0x14
/* f071a80: e7a00010 */ swc1 $f0,0x10($sp)
/* f071a84: c4480020 */ lwc1 $f8,0x20($v0)
/* f071a88: 44070000 */ mfc1 $a3,$f0
/* f071a8c: 2606001c */ addiu $a2,$s0,0x1c
/* f071a90: 0fc1b6c0 */ jal applyRotation
/* f071a94: e7a80014 */ swc1 $f8,0x14($sp)
/* f071a98: c60c0018 */ lwc1 $f12,0x18($s0)
/* f071a9c: c6060014 */ lwc1 $f6,0x14($s0)
/* f071aa0: 46066032 */ c.eq.s $f12,$f6
/* f071aa4: 00000000 */ nop
/* f071aa8: 45020041 */ bc1fl .L0f071bb0
/* f071aac: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071ab0: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071ab4: c60e001c */ lwc1 $f14,0x1c($s0)
/* f071ab8: c440001c */ lwc1 $f0,0x1c($v0)
/* f071abc: 46000280 */ add.s $f10,$f0,$f0
/* f071ac0: 460a703e */ c.le.s $f14,$f10
/* f071ac4: 00000000 */ nop
/* f071ac8: 45020039 */ bc1fl .L0f071bb0
/* f071acc: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071ad0: 46000087 */ neg.s $f2,$f0
/* f071ad4: 46021100 */ add.s $f4,$f2,$f2
/* f071ad8: 460e203e */ c.le.s $f4,$f14
/* f071adc: 00000000 */ nop
/* f071ae0: 45020033 */ bc1fl .L0f071bb0
/* f071ae4: 8fa200c0 */ lw $v0,0xc0($sp)
/* f071ae8: 44804000 */ mtc1 $zero,$f8
/* f071aec: 3c017f1b */ lui $at,%hi(var7f1aa2f0)
/* f071af0: e608001c */ swc1 $f8,0x1c($s0)
/* f071af4: c426a2f0 */ lwc1 $f6,%lo(var7f1aa2f0)($at)
/* f071af8: 4606603c */ c.lt.s $f12,$f6
/* f071afc: 00000000 */ nop
/* f071b00: 45000018 */ bc1f .L0f071b64
/* f071b04: 00000000 */ nop
/* f071b08: 0c004b70 */ jal random
/* f071b0c: 00000000 */ nop
/* f071b10: 8fa300c0 */ lw $v1,0xc0($sp)
/* f071b14: 3c017f1b */ lui $at,%hi(var7f1aa2f4)
/* f071b18: c42aa2f4 */ lwc1 $f10,%lo(var7f1aa2f4)($at)
/* f071b1c: c4640014 */ lwc1 $f4,0x14($v1)
/* f071b20: 44823000 */ mtc1 $v0,$f6
/* f071b24: 3c014f80 */ lui $at,0x4f80
/* f071b28: 46045201 */ sub.s $f8,$f10,$f4
/* f071b2c: 04410004 */ bgez $v0,.L0f071b40
/* f071b30: 468032a0 */ cvt.s.w $f10,$f6
/* f071b34: 44812000 */ mtc1 $at,$f4
/* f071b38: 00000000 */ nop
/* f071b3c: 46045280 */ add.s $f10,$f10,$f4
.L0f071b40:
/* f071b40: 3c012f80 */ lui $at,0x2f80
/* f071b44: 44813000 */ mtc1 $at,$f6
/* f071b48: 00000000 */ nop
/* f071b4c: 46065102 */ mul.s $f4,$f10,$f6
/* f071b50: c46a0018 */ lwc1 $f10,0x18($v1)
/* f071b54: 460a2182 */ mul.s $f6,$f4,$f10
/* f071b58: 46064101 */ sub.s $f4,$f8,$f6
/* f071b5c: 10000013 */ b .L0f071bac
/* f071b60: e6040018 */ swc1 $f4,0x18($s0)
.L0f071b64:
/* f071b64: 0c004b70 */ jal random
/* f071b68: 00000000 */ nop
/* f071b6c: 44825000 */ mtc1 $v0,$f10
/* f071b70: 3c014f80 */ lui $at,0x4f80
/* f071b74: 04410004 */ bgez $v0,.L0f071b88
/* f071b78: 46805220 */ cvt.s.w $f8,$f10
/* f071b7c: 44813000 */ mtc1 $at,$f6
/* f071b80: 00000000 */ nop
/* f071b84: 46064200 */ add.s $f8,$f8,$f6
.L0f071b88:
/* f071b88: 3c012f80 */ lui $at,0x2f80
/* f071b8c: 44812000 */ mtc1 $at,$f4
/* f071b90: 8fb800c0 */ lw $t8,0xc0($sp)
/* f071b94: 46044282 */ mul.s $f10,$f8,$f4
/* f071b98: c7060018 */ lwc1 $f6,0x18($t8)
/* f071b9c: c7040014 */ lwc1 $f4,0x14($t8)
/* f071ba0: 46065202 */ mul.s $f8,$f10,$f6
/* f071ba4: 46044280 */ add.s $f10,$f8,$f4
/* f071ba8: e60a0018 */ swc1 $f10,0x18($s0)
.L0f071bac:
/* f071bac: 8fa200c0 */ lw $v0,0xc0($sp)
.L0f071bb0:
/* f071bb0: 8e050024 */ lw $a1,0x24($s0)
/* f071bb4: 26040020 */ addiu $a0,$s0,0x20
/* f071bb8: c440002c */ lwc1 $f0,0x2c($v0)
/* f071bbc: 26060028 */ addiu $a2,$s0,0x28
/* f071bc0: e7a00010 */ swc1 $f0,0x10($sp)
/* f071bc4: c4460030 */ lwc1 $f6,0x30($v0)
/* f071bc8: 44070000 */ mfc1 $a3,$f0
/* f071bcc: 0fc1b6c0 */ jal applyRotation
/* f071bd0: e7a60014 */ swc1 $f6,0x14($sp)
/* f071bd4: c60c0024 */ lwc1 $f12,0x24($s0)
/* f071bd8: c6080020 */ lwc1 $f8,0x20($s0)
/* f071bdc: 46086032 */ c.eq.s $f12,$f8
/* f071be0: 00000000 */ nop
/* f071be4: 45000040 */ bc1f .L0f071ce8
/* f071be8: 00000000 */ nop
/* f071bec: 8fb900c0 */ lw $t9,0xc0($sp)
/* f071bf0: c60e0028 */ lwc1 $f14,0x28($s0)
/* f071bf4: c720002c */ lwc1 $f0,0x2c($t9)
/* f071bf8: 46000100 */ add.s $f4,$f0,$f0
/* f071bfc: 4604703e */ c.le.s $f14,$f4
/* f071c00: 00000000 */ nop
/* f071c04: 45000038 */ bc1f .L0f071ce8
/* f071c08: 00000000 */ nop
/* f071c0c: 46000087 */ neg.s $f2,$f0
/* f071c10: 46021280 */ add.s $f10,$f2,$f2
/* f071c14: 460e503e */ c.le.s $f10,$f14
/* f071c18: 00000000 */ nop
/* f071c1c: 45000032 */ bc1f .L0f071ce8
/* f071c20: 00000000 */ nop
/* f071c24: 44803000 */ mtc1 $zero,$f6
/* f071c28: 3c017f1b */ lui $at,%hi(var7f1aa2f8)
/* f071c2c: e6060028 */ swc1 $f6,0x28($s0)
/* f071c30: c428a2f8 */ lwc1 $f8,%lo(var7f1aa2f8)($at)
/* f071c34: 4608603c */ c.lt.s $f12,$f8
/* f071c38: 00000000 */ nop
/* f071c3c: 45000018 */ bc1f .L0f071ca0
/* f071c40: 00000000 */ nop
/* f071c44: 0c004b70 */ jal random
/* f071c48: 00000000 */ nop
/* f071c4c: 8fa900c0 */ lw $t1,0xc0($sp)
/* f071c50: 3c017f1b */ lui $at,%hi(var7f1aa2fc)
/* f071c54: c424a2fc */ lwc1 $f4,%lo(var7f1aa2fc)($at)
/* f071c58: c52a0024 */ lwc1 $f10,0x24($t1)
/* f071c5c: 44824000 */ mtc1 $v0,$f8
/* f071c60: 3c014f80 */ lui $at,0x4f80
/* f071c64: 460a2181 */ sub.s $f6,$f4,$f10
/* f071c68: 04410004 */ bgez $v0,.L0f071c7c
/* f071c6c: 46804120 */ cvt.s.w $f4,$f8
/* f071c70: 44815000 */ mtc1 $at,$f10
/* f071c74: 00000000 */ nop
/* f071c78: 460a2100 */ add.s $f4,$f4,$f10
.L0f071c7c:
/* f071c7c: 3c012f80 */ lui $at,0x2f80
/* f071c80: 44814000 */ mtc1 $at,$f8
/* f071c84: 00000000 */ nop
/* f071c88: 46082282 */ mul.s $f10,$f4,$f8
/* f071c8c: c5240028 */ lwc1 $f4,0x28($t1)
/* f071c90: 46045202 */ mul.s $f8,$f10,$f4
/* f071c94: 46083281 */ sub.s $f10,$f6,$f8
/* f071c98: 10000013 */ b .L0f071ce8
/* f071c9c: e60a0024 */ swc1 $f10,0x24($s0)
.L0f071ca0:
/* f071ca0: 0c004b70 */ jal random
/* f071ca4: 00000000 */ nop
/* f071ca8: 44822000 */ mtc1 $v0,$f4
/* f071cac: 3c014f80 */ lui $at,0x4f80
/* f071cb0: 04410004 */ bgez $v0,.L0f071cc4
/* f071cb4: 468021a0 */ cvt.s.w $f6,$f4
/* f071cb8: 44814000 */ mtc1 $at,$f8
/* f071cbc: 00000000 */ nop
/* f071cc0: 46083180 */ add.s $f6,$f6,$f8
.L0f071cc4:
/* f071cc4: 3c012f80 */ lui $at,0x2f80
/* f071cc8: 44815000 */ mtc1 $at,$f10
/* f071ccc: 8faa00c0 */ lw $t2,0xc0($sp)
/* f071cd0: 460a3102 */ mul.s $f4,$f6,$f10
/* f071cd4: c5480028 */ lwc1 $f8,0x28($t2)
/* f071cd8: c54a0024 */ lwc1 $f10,0x24($t2)
/* f071cdc: 46082182 */ mul.s $f6,$f4,$f8
/* f071ce0: 460a3100 */ add.s $f4,$f6,$f10
/* f071ce4: e6040024 */ swc1 $f4,0x24($s0)
.L0f071ce8:
/* f071ce8: 3c04800a */ lui $a0,%hi(g_Vars)
/* f071cec: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars)
/* f071cf0: 8c8b0038 */ lw $t3,0x38($a0)
/* f071cf4: 00001025 */ or $v0,$zero,$zero
/* f071cf8: 19600071 */ blez $t3,.L0f071ec0
/* f071cfc: 3c017f1b */ lui $at,%hi(var7f1aa300)
/* f071d00: c432a300 */ lwc1 $f18,%lo(var7f1aa300)($at)
/* f071d04: 3c014120 */ lui $at,0x4120
/* f071d08: 44818000 */ mtc1 $at,$f16
/* f071d0c: 3c030400 */ lui $v1,0x400
/* f071d10: c602002c */ lwc1 $f2,0x2c($s0)
.L0f071d14:
/* f071d14: c7a800b4 */ lwc1 $f8,0xb4($sp)
/* f071d18: 3c017f1b */ lui $at,%hi(var7f1aa304)
/* f071d1c: c42aa304 */ lwc1 $f10,%lo(var7f1aa304)($at)
/* f071d20: 46024181 */ sub.s $f6,$f8,$f2
/* f071d24: c60e0030 */ lwc1 $f14,0x30($s0)
/* f071d28: 46009306 */ mov.s $f12,$f18
/* f071d2c: 240e0001 */ addiu $t6,$zero,0x1
/* f071d30: 460a3102 */ mul.s $f4,$f6,$f10
/* f071d34: c60a0034 */ lwc1 $f10,0x34($s0)
/* f071d38: 460a703c */ c.lt.s $f14,$f10
/* f071d3c: 46041200 */ add.s $f8,$f2,$f4
/* f071d40: e608002c */ swc1 $f8,0x2c($s0)
/* f071d44: c7a600ac */ lwc1 $f6,0xac($sp)
/* f071d48: 45000022 */ bc1f .L0f071dd4
/* f071d4c: 460e3001 */ sub.s $f0,$f6,$f14
/* f071d50: 44802000 */ mtc1 $zero,$f4
/* f071d54: 3c017f1b */ lui $at,%hi(var7f1aa308)
/* f071d58: 4600203e */ c.le.s $f4,$f0
/* f071d5c: 00000000 */ nop
/* f071d60: 45020004 */ bc1fl .L0f071d74
/* f071d64: 46000087 */ neg.s $f2,$f0
/* f071d68: 10000002 */ b .L0f071d74
/* f071d6c: 46000086 */ mov.s $f2,$f0
/* f071d70: 46000087 */ neg.s $f2,$f0
.L0f071d74:
/* f071d74: 4602803c */ c.lt.s $f16,$f2
/* f071d78: 00000000 */ nop
/* f071d7c: 4502000a */ bc1fl .L0f071da8
/* f071d80: 3c013f00 */ lui $at,0x3f00
/* f071d84: 46101201 */ sub.s $f8,$f2,$f16
/* f071d88: c426a308 */ lwc1 $f6,%lo(var7f1aa308)($at)
/* f071d8c: 3c013f80 */ lui $at,0x3f80
/* f071d90: 44812000 */ mtc1 $at,$f4
/* f071d94: 46064282 */ mul.s $f10,$f8,$f6
/* f071d98: 460a2200 */ add.s $f8,$f4,$f10
/* f071d9c: 46089302 */ mul.s $f12,$f18,$f8
/* f071da0: 00000000 */ nop
/* f071da4: 3c013f00 */ lui $at,0x3f00
.L0f071da8:
/* f071da8: 44813000 */ mtc1 $at,$f6
/* f071dac: 3c013f00 */ lui $at,0x3f00
/* f071db0: 460c303c */ c.lt.s $f6,$f12
/* f071db4: 00000000 */ nop
/* f071db8: 45000003 */ bc1f .L0f071dc8
/* f071dbc: 00000000 */ nop
/* f071dc0: 44816000 */ mtc1 $at,$f12
/* f071dc4: 00000000 */ nop
.L0f071dc8:
/* f071dc8: 460c0002 */ mul.s $f0,$f0,$f12
/* f071dcc: 10000029 */ b .L0f071e74
/* f071dd0: 3c013f80 */ lui $at,0x3f80
.L0f071dd4:
/* f071dd4: 8e2c0040 */ lw $t4,0x40($s1)
/* f071dd8: 46120002 */ mul.s $f0,$f0,$f18
/* f071ddc: 3c0140a0 */ lui $at,0x40a0
/* f071de0: 01836824 */ and $t5,$t4,$v1
/* f071de4: 51a00011 */ beqzl $t5,.L0f071e2c
/* f071de8: 44815000 */ mtc1 $at,$f10
/* f071dec: 4600803c */ c.lt.s $f16,$f0
/* f071df0: 3c01c120 */ lui $at,0xc120
/* f071df4: 45020004 */ bc1fl .L0f071e08
/* f071df8: 44812000 */ mtc1 $at,$f4
/* f071dfc: 1000001c */ b .L0f071e70
/* f071e00: 46008006 */ mov.s $f0,$f16
/* f071e04: 44812000 */ mtc1 $at,$f4
.L0f071e08:
/* f071e08: 3c01c120 */ lui $at,0xc120
/* f071e0c: 4604003c */ c.lt.s $f0,$f4
/* f071e10: 00000000 */ nop
/* f071e14: 45020017 */ bc1fl .L0f071e74
/* f071e18: 3c013f80 */ lui $at,0x3f80
/* f071e1c: 44810000 */ mtc1 $at,$f0
/* f071e20: 10000014 */ b .L0f071e74
/* f071e24: 3c013f80 */ lui $at,0x3f80
/* f071e28: 44815000 */ mtc1 $at,$f10
.L0f071e2c:
/* f071e2c: 3c01c0a0 */ lui $at,0xc0a0
/* f071e30: 4600503c */ c.lt.s $f10,$f0
/* f071e34: 00000000 */ nop
/* f071e38: 45020006 */ bc1fl .L0f071e54
/* f071e3c: 44814000 */ mtc1 $at,$f8
/* f071e40: 3c0140a0 */ lui $at,0x40a0
/* f071e44: 44810000 */ mtc1 $at,$f0
/* f071e48: 1000000a */ b .L0f071e74
/* f071e4c: 3c013f80 */ lui $at,0x3f80
/* f071e50: 44814000 */ mtc1 $at,$f8
.L0f071e54:
/* f071e54: 3c01c0a0 */ lui $at,0xc0a0
/* f071e58: 4608003c */ c.lt.s $f0,$f8
/* f071e5c: 00000000 */ nop
/* f071e60: 45020004 */ bc1fl .L0f071e74
/* f071e64: 3c013f80 */ lui $at,0x3f80
/* f071e68: 44810000 */ mtc1 $at,$f0
/* f071e6c: 00000000 */ nop
.L0f071e70:
/* f071e70: 3c013f80 */ lui $at,0x3f80
.L0f071e74:
/* f071e74: 44812000 */ mtc1 $at,$f4
/* f071e78: 46007180 */ add.s $f6,$f14,$f0
/* f071e7c: 3c01bf80 */ lui $at,0xbf80
/* f071e80: 4600203c */ c.lt.s $f4,$f0
/* f071e84: e6060030 */ swc1 $f6,0x30($s0)
/* f071e88: 45030008 */ bc1tl .L0f071eac
/* f071e8c: afae008c */ sw $t6,0x8c($sp)
/* f071e90: 44815000 */ mtc1 $at,$f10
/* f071e94: 00000000 */ nop
/* f071e98: 460a003c */ c.lt.s $f0,$f10
/* f071e9c: 00000000 */ nop
/* f071ea0: 45020003 */ bc1fl .L0f071eb0
/* f071ea4: 8c8f0038 */ lw $t7,0x38($a0)
/* f071ea8: afae008c */ sw $t6,0x8c($sp)
.L0f071eac:
/* f071eac: 8c8f0038 */ lw $t7,0x38($a0)
.L0f071eb0:
/* f071eb0: 24420001 */ addiu $v0,$v0,0x1
/* f071eb4: 004f082a */ slt $at,$v0,$t7
/* f071eb8: 5420ff96 */ bnezl $at,.L0f071d14
/* f071ebc: c602002c */ lwc1 $f2,0x2c($s0)
.L0f071ec0:
/* f071ec0: 8fb8008c */ lw $t8,0x8c($sp)
/* f071ec4: 13000004 */ beqz $t8,.L0f071ed8
/* f071ec8: 02202025 */ or $a0,$s1,$zero
/* f071ecc: 24050001 */ addiu $a1,$zero,0x1
/* f071ed0: 0fc1a71c */ jal func0f069c70
/* f071ed4: 24060001 */ addiu $a2,$zero,0x1
.L0f071ed8:
/* f071ed8: 3c0140a0 */ lui $at,0x40a0
/* f071edc: 44811000 */ mtc1 $at,$f2
/* f071ee0: c6000034 */ lwc1 $f0,0x34($s0)
/* f071ee4: c60e0030 */ lwc1 $f14,0x30($s0)
/* f071ee8: 46020201 */ sub.s $f8,$f0,$f2
/* f071eec: 4608703c */ c.lt.s $f14,$f8
/* f071ef0: 00000000 */ nop
/* f071ef4: 45030007 */ bc1tl .L0f071f14
/* f071ef8: 8e390008 */ lw $t9,0x8($s1)
/* f071efc: 46020180 */ add.s $f6,$f0,$f2
/* f071f00: 460e303c */ c.lt.s $f6,$f14
/* f071f04: 00000000 */ nop
/* f071f08: 45020007 */ bc1fl .L0f071f28
/* f071f0c: 8e2a0008 */ lw $t2,0x8($s1)
/* f071f10: 8e390008 */ lw $t9,0x8($s1)
.L0f071f14:
/* f071f14: 3c018000 */ lui $at,0x8000
/* f071f18: 03214825 */ or $t1,$t9,$at
/* f071f1c: 10000006 */ b .L0f071f38
/* f071f20: ae290008 */ sw $t1,0x8($s1)
/* f071f24: 8e2a0008 */ lw $t2,0x8($s1)
.L0f071f28:
/* f071f28: 3c017fff */ lui $at,0x7fff
/* f071f2c: 3421ffff */ ori $at,$at,0xffff
/* f071f30: 01415824 */ and $t3,$t2,$at
/* f071f34: ae2b0008 */ sw $t3,0x8($s1)
.L0f071f38:
/* f071f38: 0fc1c4d8 */ jal objGetHov04
/* f071f3c: 02202025 */ or $a0,$s1,$zero
/* f071f40: c6040030 */ lwc1 $f4,0x30($s0)
/* f071f44: 8fac01d4 */ lw $t4,0x1d4($sp)
/* f071f48: 27a50148 */ addiu $a1,$sp,0x148
/* f071f4c: 46040280 */ add.s $f10,$f0,$f4
/* f071f50: e58a000c */ swc1 $f10,0xc($t4)
/* f071f54: 0c005900 */ jal mtx4LoadZRotation
/* f071f58: c60c0020 */ lwc1 $f12,0x20($s0)
/* f071f5c: c608002c */ lwc1 $f8,0x2c($s0)
/* f071f60: c6060014 */ lwc1 $f6,0x14($s0)
/* f071f64: 3c017f1b */ lui $at,%hi(var7f1aa30c)
/* f071f68: c424a30c */ lwc1 $f4,%lo(var7f1aa30c)($at)
/* f071f6c: 46064300 */ add.s $f12,$f8,$f6
/* f071f70: 3c017f1b */ lui $at,%hi(var7f1aa310)
/* f071f74: 460c203e */ c.le.s $f4,$f12
/* f071f78: 00000000 */ nop
/* f071f7c: 45020005 */ bc1fl .L0f071f94
/* f071f80: 44804000 */ mtc1 $zero,$f8
/* f071f84: c42aa310 */ lwc1 $f10,%lo(var7f1aa310)($at)
/* f071f88: 10000009 */ b .L0f071fb0
/* f071f8c: 460a6301 */ sub.s $f12,$f12,$f10
/* f071f90: 44804000 */ mtc1 $zero,$f8
.L0f071f94:
/* f071f94: 3c017f1b */ lui $at,%hi(var7f1aa314)
/* f071f98: 4608603c */ c.lt.s $f12,$f8
/* f071f9c: 00000000 */ nop
/* f071fa0: 45000003 */ bc1f .L0f071fb0
/* f071fa4: 00000000 */ nop
/* f071fa8: c426a314 */ lwc1 $f6,%lo(var7f1aa314)($at)
/* f071fac: 46066300 */ add.s $f12,$f12,$f6
.L0f071fb0:
/* f071fb0: 0c0058ba */ jal mtx4LoadXRotation
/* f071fb4: 27a50108 */ addiu $a1,$sp,0x108
/* f071fb8: 27a40108 */ addiu $a0,$sp,0x108
/* f071fbc: 0c0056f8 */ jal mtx00015be0
/* f071fc0: 27a50148 */ addiu $a1,$sp,0x148
/* f071fc4: c60c0010 */ lwc1 $f12,0x10($s0)
/* f071fc8: 0c0058dd */ jal mtx4LoadYRotation
/* f071fcc: 27a50108 */ addiu $a1,$sp,0x108
/* f071fd0: 27b00108 */ addiu $s0,$sp,0x108
/* f071fd4: 02002025 */ or $a0,$s0,$zero
/* f071fd8: 0c0056f8 */ jal mtx00015be0
/* f071fdc: 27a50148 */ addiu $a1,$sp,0x148
/* f071fe0: 8e2d0018 */ lw $t5,0x18($s1)
/* f071fe4: 27a50148 */ addiu $a1,$sp,0x148
/* f071fe8: 0c0057c1 */ jal mtx00015f04
/* f071fec: c5ac0014 */ lwc1 $f12,0x14($t5)
/* f071ff0: 922e0003 */ lbu $t6,0x3($s1)
/* f071ff4: 24010033 */ addiu $at,$zero,0x33
/* f071ff8: 55c10027 */ bnel $t6,$at,.L0f072098
/* f071ffc: 27a40148 */ addiu $a0,$sp,0x148
/* f072000: c62400bc */ lwc1 $f4,0xbc($s1)
/* f072004: c62a00c0 */ lwc1 $f10,0xc0($s1)
/* f072008: 44803000 */ mtc1 $zero,$f6
/* f07200c: 460a2200 */ add.s $f8,$f4,$f10
/* f072010: e7a8006c */ swc1 $f8,0x6c($sp)
/* f072014: c62c00b8 */ lwc1 $f12,0xb8($s1)
/* f072018: 460c3032 */ c.eq.s $f6,$f12
/* f07201c: 00000000 */ nop
/* f072020: 4503000c */ bc1tl .L0f072054
/* f072024: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f072028: 0c0058ba */ jal mtx4LoadXRotation
/* f07202c: 02002825 */ or $a1,$s0,$zero
/* f072030: 27b100c8 */ addiu $s1,$sp,0xc8
/* f072034: 02203025 */ or $a2,$s1,$zero
/* f072038: 27a40148 */ addiu $a0,$sp,0x148
/* f07203c: 0c0056f9 */ jal mtx00015be4
/* f072040: 02002825 */ or $a1,$s0,$zero
/* f072044: 02202025 */ or $a0,$s1,$zero
/* f072048: 0c005746 */ jal mtx4Copy
/* f07204c: 27a50148 */ addiu $a1,$sp,0x148
/* f072050: c7a4006c */ lwc1 $f4,0x6c($sp)
.L0f072054:
/* f072054: 44805000 */ mtc1 $zero,$f10
/* f072058: 27b100c8 */ addiu $s1,$sp,0xc8
/* f07205c: 02002825 */ or $a1,$s0,$zero
/* f072060: 460a2032 */ c.eq.s $f4,$f10
/* f072064: 00000000 */ nop
/* f072068: 4503000b */ bc1tl .L0f072098
/* f07206c: 27a40148 */ addiu $a0,$sp,0x148
/* f072070: 0c005900 */ jal mtx4LoadZRotation
/* f072074: 46002306 */ mov.s $f12,$f4
/* f072078: 27a40148 */ addiu $a0,$sp,0x148
/* f07207c: 02002825 */ or $a1,$s0,$zero
/* f072080: 0c0056f9 */ jal mtx00015be4
/* f072084: 02203025 */ or $a2,$s1,$zero
/* f072088: 02202025 */ or $a0,$s1,$zero
/* f07208c: 0c005746 */ jal mtx4Copy
/* f072090: 27a50148 */ addiu $a1,$sp,0x148
/* f072094: 27a40148 */ addiu $a0,$sp,0x148
.L0f072098:
/* f072098: 0c005768 */ jal mtx4ToMtx3
/* f07209c: 8fa5005c */ lw $a1,0x5c($sp)
/* f0720a0: 8fbf004c */ lw $ra,0x4c($sp)
.L0f0720a4:
/* f0720a4: 8fb00044 */ lw $s0,0x44($sp)
/* f0720a8: 8fb10048 */ lw $s1,0x48($sp)
/* f0720ac: 03e00008 */ jr $ra
/* f0720b0: 27bd01d8 */ addiu $sp,$sp,0x1d8
);
#endif
s32 objIsHoverpropOrBike(struct defaultobj *obj)
{
return obj->type == OBJTYPE_HOVERPROP || obj->type == OBJTYPE_HOVERBIKE;
}
f32 hoverpropGetTurnAngle(struct defaultobj *obj)
{
f32 angle = 0;
if (obj->type == OBJTYPE_HOVERPROP) {
struct hoverpropobj *hoverprop = (struct hoverpropobj *)obj;
angle = hoverprop->hov.unk10;
} else if (obj->type == OBJTYPE_HOVERBIKE) {
struct hoverbikeobj *hoverbike = (struct hoverbikeobj *)obj;
angle = hoverbike->hov.unk10;
}
return angle;
}
void hoverpropSetTurnAngle(struct defaultobj *obj, f32 angle)
{
if (obj->type == OBJTYPE_HOVERPROP) {
struct hoverpropobj *hoverprop = (struct hoverpropobj *)obj;
hoverprop->hov.unk10 = angle;
} else if (obj->type == OBJTYPE_HOVERBIKE) {
struct hoverbikeobj *hoverbike = (struct hoverbikeobj *)obj;
hoverbike->hov.unk10 = angle;
}
}
GLOBAL_ASM(
glabel func0f072144
.late_rodata
glabel var7f1aa318
.word 0x40c907a9
glabel var7f1aa31c
.word 0x40c907a9
.text
/* f072144: 27bdfb78 */ addiu $sp,$sp,-1160
/* f072148: 240e0001 */ addiu $t6,$zero,0x1
/* f07214c: afbf002c */ sw $ra,0x2c($sp)
/* f072150: afb00028 */ sw $s0,0x28($sp)
/* f072154: afa5048c */ sw $a1,0x48c($sp)
/* f072158: afa70494 */ sw $a3,0x494($sp)
/* f07215c: afae0484 */ sw $t6,0x484($sp)
/* f072160: afa003fc */ sw $zero,0x3fc($sp)
/* f072164: 44866000 */ mtc1 $a2,$f12
/* f072168: 8c8f0014 */ lw $t7,0x14($a0)
/* f07216c: 00808025 */ or $s0,$a0,$zero
/* f072170: e7ac0490 */ swc1 $f12,0x490($sp)
/* f072174: 0fc1c82d */ jal objIsHoverpropOrBike
/* f072178: afaf00e8 */ sw $t7,0xe8($sp)
/* f07217c: 1040002c */ beqz $v0,.L0f072230
/* f072180: c7ac0490 */ lwc1 $f12,0x490($sp)
/* f072184: 44802000 */ mtc1 $zero,$f4
/* f072188: 02002025 */ or $a0,$s0,$zero
/* f07218c: 46046032 */ c.eq.s $f12,$f4
/* f072190: 00000000 */ nop
/* f072194: 45010017 */ bc1t .L0f0721f4
/* f072198: 00000000 */ nop
/* f07219c: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0721a0: e7ac0490 */ swc1 $f12,0x490($sp)
/* f0721a4: c7ac0490 */ lwc1 $f12,0x490($sp)
/* f0721a8: 3c017f1b */ lui $at,%hi(var7f1aa318)
/* f0721ac: c42ea318 */ lwc1 $f14,%lo(var7f1aa318)($at)
/* f0721b0: 460c0080 */ add.s $f2,$f0,$f12
/* f0721b4: 4602703e */ c.le.s $f14,$f2
/* f0721b8: e7a2045c */ swc1 $f2,0x45c($sp)
/* f0721bc: 45020005 */ bc1fl .L0f0721d4
/* f0721c0: 44804000 */ mtc1 $zero,$f8
/* f0721c4: 460e1181 */ sub.s $f6,$f2,$f14
/* f0721c8: 1000000d */ b .L0f072200
/* f0721cc: e7a6045c */ swc1 $f6,0x45c($sp)
/* f0721d0: 44804000 */ mtc1 $zero,$f8
.L0f0721d4:
/* f0721d4: 00000000 */ nop
/* f0721d8: 4608103c */ c.lt.s $f2,$f8
/* f0721dc: 00000000 */ nop
/* f0721e0: 45020008 */ bc1fl .L0f072204
/* f0721e4: c7ac045c */ lwc1 $f12,0x45c($sp)
/* f0721e8: 460e1280 */ add.s $f10,$f2,$f14
/* f0721ec: 10000004 */ b .L0f072200
/* f0721f0: e7aa045c */ swc1 $f10,0x45c($sp)
.L0f0721f4:
/* f0721f4: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0721f8: 02002025 */ or $a0,$s0,$zero
/* f0721fc: e7a0045c */ swc1 $f0,0x45c($sp)
.L0f072200:
/* f072200: c7ac045c */ lwc1 $f12,0x45c($sp)
.L0f072204:
/* f072204: 0c0058dd */ jal mtx4LoadYRotation
/* f072208: 27a500a4 */ addiu $a1,$sp,0xa4
/* f07220c: 8e180018 */ lw $t8,0x18($s0)
/* f072210: 27a500a4 */ addiu $a1,$sp,0xa4
/* f072214: 0c0057c1 */ jal mtx00015f04
/* f072218: c70c0014 */ lwc1 $f12,0x14($t8)
/* f07221c: 27a400a4 */ addiu $a0,$sp,0xa4
/* f072220: 0c005768 */ jal mtx4ToMtx3
/* f072224: 27a50460 */ addiu $a1,$sp,0x460
/* f072228: 10000025 */ b .L0f0722c0
/* f07222c: 8fa400e8 */ lw $a0,0xe8($sp)
.L0f072230:
/* f072230: 44809000 */ mtc1 $zero,$f18
/* f072234: 44808000 */ mtc1 $zero,$f16
/* f072238: 3c017f1b */ lui $at,%hi(var7f1aa31c)
/* f07223c: 46126032 */ c.eq.s $f12,$f18
/* f072240: 2604001c */ addiu $a0,$s0,0x1c
/* f072244: e7b0045c */ swc1 $f16,0x45c($sp)
/* f072248: 4501001a */ bc1t .L0f0722b4
/* f07224c: 00000000 */ nop
/* f072250: c42ea31c */ lwc1 $f14,%lo(var7f1aa31c)($at)
/* f072254: 460c703e */ c.le.s $f14,$f12
/* f072258: 00000000 */ nop
/* f07225c: 45020004 */ bc1fl .L0f072270
/* f072260: 44802000 */ mtc1 $zero,$f4
/* f072264: 10000008 */ b .L0f072288
/* f072268: 460e6301 */ sub.s $f12,$f12,$f14
/* f07226c: 44802000 */ mtc1 $zero,$f4
.L0f072270:
/* f072270: 00000000 */ nop
/* f072274: 4604603c */ c.lt.s $f12,$f4
/* f072278: 00000000 */ nop
/* f07227c: 45000002 */ bc1f .L0f072288
/* f072280: 00000000 */ nop
/* f072284: 460e6300 */ add.s $f12,$f12,$f14
.L0f072288:
/* f072288: 0c0058dd */ jal mtx4LoadYRotation
/* f07228c: 27a50064 */ addiu $a1,$sp,0x64
/* f072290: 27a40064 */ addiu $a0,$sp,0x64
/* f072294: 0c005768 */ jal mtx4ToMtx3
/* f072298: 27a50040 */ addiu $a1,$sp,0x40
/* f07229c: 27a40040 */ addiu $a0,$sp,0x40
/* f0722a0: 2605001c */ addiu $a1,$s0,0x1c
/* f0722a4: 0c005850 */ jal mtx00016140
/* f0722a8: 27a60460 */ addiu $a2,$sp,0x460
/* f0722ac: 10000004 */ b .L0f0722c0
/* f0722b0: 8fa400e8 */ lw $a0,0xe8($sp)
.L0f0722b4:
/* f0722b4: 0c005736 */ jal mtx3Copy
/* f0722b8: 27a50460 */ addiu $a1,$sp,0x460
/* f0722bc: 8fa400e8 */ lw $a0,0xe8($sp)
.L0f0722c0:
/* f0722c0: 00002825 */ or $a1,$zero,$zero
/* f0722c4: c4860008 */ lwc1 $f6,0x8($a0)
/* f0722c8: e7a60450 */ swc1 $f6,0x450($sp)
/* f0722cc: c488000c */ lwc1 $f8,0xc($a0)
/* f0722d0: e7a80454 */ swc1 $f8,0x454($sp)
/* f0722d4: c48a0010 */ lwc1 $f10,0x10($a0)
/* f0722d8: 0fc1905e */ jal propSetPerimEnabled
/* f0722dc: e7aa0458 */ swc1 $f10,0x458($sp)
/* f0722e0: 8fa3048c */ lw $v1,0x48c($sp)
/* f0722e4: 44801000 */ mtc1 $zero,$f2
/* f0722e8: c7b20450 */ lwc1 $f18,0x450($sp)
/* f0722ec: c4600000 */ lwc1 $f0,0x0($v1)
/* f0722f0: 27a60450 */ addiu $a2,$sp,0x450
/* f0722f4: 46001032 */ c.eq.s $f2,$f0
/* f0722f8: 00000000 */ nop
/* f0722fc: 45020009 */ bc1fl .L0f072324
/* f072300: 46009100 */ add.s $f4,$f18,$f0
/* f072304: c4700008 */ lwc1 $f16,0x8($v1)
/* f072308: 8fa400e8 */ lw $a0,0xe8($sp)
/* f07230c: 27a50440 */ addiu $a1,$sp,0x440
/* f072310: 46101032 */ c.eq.s $f2,$f16
/* f072314: 24840028 */ addiu $a0,$a0,0x28
/* f072318: 4501004f */ bc1t .L0f072458
/* f07231c: 00000000 */ nop
/* f072320: 46009100 */ add.s $f4,$f18,$f0
.L0f072324:
/* f072324: c7a60458 */ lwc1 $f6,0x458($sp)
/* f072328: 8fa200e8 */ lw $v0,0xe8($sp)
/* f07232c: 27a70440 */ addiu $a3,$sp,0x440
/* f072330: e7a40450 */ swc1 $f4,0x450($sp)
/* f072334: c4680008 */ lwc1 $f8,0x8($v1)
/* f072338: 24440008 */ addiu $a0,$v0,0x8
/* f07233c: 24450028 */ addiu $a1,$v0,0x28
/* f072340: 46083280 */ add.s $f10,$f6,$f8
/* f072344: afa50034 */ sw $a1,0x34($sp)
/* f072348: afa40038 */ sw $a0,0x38($sp)
/* f07234c: 0fc1979d */ jal func0f065e74
/* f072350: e7aa0458 */ swc1 $f10,0x458($sp)
/* f072354: 02002025 */ or $a0,$s0,$zero
/* f072358: 27a50450 */ addiu $a1,$sp,0x450
/* f07235c: 27a60460 */ addiu $a2,$sp,0x460
/* f072360: 0fc248cf */ jal func0f09233c
/* f072364: 27a70440 */ addiu $a3,$sp,0x440
/* f072368: 92020003 */ lbu $v0,0x3($s0)
/* f07236c: 24010033 */ addiu $at,$zero,0x33
/* f072370: 2619005c */ addiu $t9,$s0,0x5c
/* f072374: 14410003 */ bne $v0,$at,.L0f072384
/* f072378: 27aa0400 */ addiu $t2,$sp,0x400
/* f07237c: 10000005 */ b .L0f072394
/* f072380: afb903fc */ sw $t9,0x3fc($sp)
.L0f072384:
/* f072384: 24010035 */ addiu $at,$zero,0x35
/* f072388: 14410002 */ bne $v0,$at,.L0f072394
/* f07238c: 2608005c */ addiu $t0,$s0,0x5c
/* f072390: afa803fc */ sw $t0,0x3fc($sp)
.L0f072394:
/* f072394: 8fa903fc */ lw $t1,0x3fc($sp)
/* f072398: 02002025 */ or $a0,$s0,$zero
/* f07239c: 27a60450 */ addiu $a2,$sp,0x450
/* f0723a0: 11200018 */ beqz $t1,.L0f072404
/* f0723a4: 252c003c */ addiu $t4,$t1,0x3c
.L0f0723a8:
/* f0723a8: 8d210000 */ lw $at,0x0($t1)
/* f0723ac: 2529000c */ addiu $t1,$t1,0xc
/* f0723b0: 254a000c */ addiu $t2,$t2,0xc
/* f0723b4: ad41fff4 */ sw $at,-0xc($t2)
/* f0723b8: 8d21fff8 */ lw $at,-0x8($t1)
/* f0723bc: ad41fff8 */ sw $at,-0x8($t2)
/* f0723c0: 8d21fffc */ lw $at,-0x4($t1)
/* f0723c4: 152cfff8 */ bne $t1,$t4,.L0f0723a8
/* f0723c8: ad41fffc */ sw $at,-0x4($t2)
/* f0723cc: 8d210000 */ lw $at,0x0($t1)
/* f0723d0: 27ad0460 */ addiu $t5,$sp,0x460
/* f0723d4: 27a70440 */ addiu $a3,$sp,0x440
/* f0723d8: ad410000 */ sw $at,0x0($t2)
/* f0723dc: afad0010 */ sw $t5,0x10($sp)
/* f0723e0: 0fc1c4f9 */ jal hovUpdateGround
/* f0723e4: 8fa503fc */ lw $a1,0x3fc($sp)
/* f0723e8: 8fae03fc */ lw $t6,0x3fc($sp)
/* f0723ec: c7b20434 */ lwc1 $f18,0x434($sp)
/* f0723f0: c7a60454 */ lwc1 $f6,0x454($sp)
/* f0723f4: c5d00034 */ lwc1 $f16,0x34($t6)
/* f0723f8: 46128101 */ sub.s $f4,$f16,$f18
/* f0723fc: 46043200 */ add.s $f8,$f6,$f4
/* f072400: e7a80454 */ swc1 $f8,0x454($sp)
.L0f072404:
/* f072404: 44800000 */ mtc1 $zero,$f0
/* f072408: 240f003f */ addiu $t7,$zero,0x3f
/* f07240c: 24180001 */ addiu $t8,$zero,0x1
/* f072410: afb80014 */ sw $t8,0x14($sp)
/* f072414: afaf0010 */ sw $t7,0x10($sp)
/* f072418: 8fa40038 */ lw $a0,0x38($sp)
/* f07241c: 8fa50034 */ lw $a1,0x34($sp)
/* f072420: 27a60450 */ addiu $a2,$sp,0x450
/* f072424: 27a70440 */ addiu $a3,$sp,0x440
/* f072428: e7a00018 */ swc1 $f0,0x18($sp)
/* f07242c: 0c00b62e */ jal cd0002d8b8
/* f072430: e7a0001c */ swc1 $f0,0x1c($sp)
/* f072434: 2401ffff */ addiu $at,$zero,-1
/* f072438: 1041000e */ beq $v0,$at,.L0f072474
/* f07243c: afa20484 */ sw $v0,0x484($sp)
/* f072440: 1440000c */ bnez $v0,.L0f072474
/* f072444: 8fa40038 */ lw $a0,0x38($sp)
/* f072448: 0c0094c5 */ jal cd00025314
/* f07244c: 27a50450 */ addiu $a1,$sp,0x450
/* f072450: 10000009 */ b .L0f072478
/* f072454: 8fb90484 */ lw $t9,0x484($sp)
.L0f072458:
/* f072458: 0fc195e9 */ jal roomsCopy
/* f07245c: afa40034 */ sw $a0,0x34($sp)
/* f072460: 02002025 */ or $a0,$s0,$zero
/* f072464: 27a50450 */ addiu $a1,$sp,0x450
/* f072468: 27a60460 */ addiu $a2,$sp,0x460
/* f07246c: 0fc248cf */ jal func0f09233c
/* f072470: 27a70440 */ addiu $a3,$sp,0x440
.L0f072474:
/* f072474: 8fb90484 */ lw $t9,0x484($sp)
.L0f072478:
/* f072478: 24010001 */ addiu $at,$zero,0x1
/* f07247c: 02002025 */ or $a0,$s0,$zero
/* f072480: 1721001f */ bne $t9,$at,.L0f072500
/* f072484: 27a50450 */ addiu $a1,$sp,0x450
/* f072488: 27a60460 */ addiu $a2,$sp,0x460
/* f07248c: 0fc1a614 */ jal func0f069850
/* f072490: 27a700ec */ addiu $a3,$sp,0xec
/* f072494: 8e080010 */ lw $t0,0x10($s0)
/* f072498: c7a00454 */ lwc1 $f0,0x454($sp)
/* f07249c: 27a400ec */ addiu $a0,$sp,0xec
/* f0724a0: 00085980 */ sll $t3,$t0,0x6
/* f0724a4: 05610013 */ bgez $t3,.L0f0724f4
/* f0724a8: 27a50440 */ addiu $a1,$sp,0x440
/* f0724ac: c7aa00f0 */ lwc1 $f10,0xf0($sp)
/* f0724b0: c7b200f4 */ lwc1 $f18,0xf4($sp)
/* f0724b4: 8fa400e8 */ lw $a0,0xe8($sp)
/* f0724b8: 46005401 */ sub.s $f16,$f10,$f0
/* f0724bc: 240c003f */ addiu $t4,$zero,0x3f
/* f0724c0: 24090001 */ addiu $t1,$zero,0x1
/* f0724c4: 46009181 */ sub.s $f6,$f18,$f0
/* f0724c8: afa90014 */ sw $t1,0x14($sp)
/* f0724cc: afac0010 */ sw $t4,0x10($sp)
/* f0724d0: e7b00018 */ swc1 $f16,0x18($sp)
/* f0724d4: e7a6001c */ swc1 $f6,0x1c($sp)
/* f0724d8: 27a50450 */ addiu $a1,$sp,0x450
/* f0724dc: 8fa60100 */ lw $a2,0x100($sp)
/* f0724e0: 27a70440 */ addiu $a3,$sp,0x440
/* f0724e4: 0c00a9bf */ jal cd0002a6fc
/* f0724e8: 24840008 */ addiu $a0,$a0,0x8
/* f0724ec: 10000004 */ b .L0f072500
/* f0724f0: afa20484 */ sw $v0,0x484($sp)
.L0f0724f4:
/* f0724f4: 0c00bc0b */ jal cd0002f02c
/* f0724f8: 2406003f */ addiu $a2,$zero,0x3f
/* f0724fc: afa20484 */ sw $v0,0x484($sp)
.L0f072500:
/* f072500: 8fa400e8 */ lw $a0,0xe8($sp)
/* f072504: 0fc1905e */ jal propSetPerimEnabled
/* f072508: 24050001 */ addiu $a1,$zero,0x1
/* f07250c: 8faa0484 */ lw $t2,0x484($sp)
/* f072510: 24010001 */ addiu $at,$zero,0x1
/* f072514: 8fad0494 */ lw $t5,0x494($sp)
/* f072518: 1541003a */ bne $t2,$at,.L0f072604
/* f07251c: 8fb903fc */ lw $t9,0x3fc($sp)
/* f072520: 11a00038 */ beqz $t5,.L0f072604
/* f072524: 02002025 */ or $a0,$s0,$zero
/* f072528: 260e001c */ addiu $t6,$s0,0x1c
/* f07252c: afae003c */ sw $t6,0x3c($sp)
/* f072530: 0fc1c844 */ jal hoverpropSetTurnAngle
/* f072534: 8fa5045c */ lw $a1,0x45c($sp)
/* f072538: 27a40460 */ addiu $a0,$sp,0x460
/* f07253c: 0c005736 */ jal mtx3Copy
/* f072540: 8fa5003c */ lw $a1,0x3c($sp)
/* f072544: c7a40450 */ lwc1 $f4,0x450($sp)
/* f072548: 8fa400e8 */ lw $a0,0xe8($sp)
/* f07254c: e4840008 */ swc1 $f4,0x8($a0)
/* f072550: c7a80458 */ lwc1 $f8,0x458($sp)
/* f072554: 0fc19711 */ jal propDeregisterRooms
/* f072558: e4880010 */ swc1 $f8,0x10($a0)
/* f07255c: 27a40440 */ addiu $a0,$sp,0x440
/* f072560: 0fc195e9 */ jal roomsCopy
/* f072564: 8fa50034 */ lw $a1,0x34($sp)
/* f072568: 8e020044 */ lw $v0,0x44($s0)
/* f07256c: 50400034 */ beqzl $v0,.L0f072640
/* f072570: 8fbf002c */ lw $ra,0x2c($sp)
/* f072574: 92180002 */ lbu $t8,0x2($s0)
/* f072578: 33190008 */ andi $t9,$t8,0x8
/* f07257c: 53200030 */ beqzl $t9,.L0f072640
/* f072580: 8fbf002c */ lw $ra,0x2c($sp)
/* f072584: 8e080010 */ lw $t0,0x10($s0)
/* f072588: 27ad00ec */ addiu $t5,$sp,0xec
/* f07258c: 25af0048 */ addiu $t7,$t5,0x48
/* f072590: 00085980 */ sll $t3,$t0,0x6
/* f072594: 0561000f */ bgez $t3,.L0f0725d4
/* f072598: 0040c025 */ or $t8,$v0,$zero
/* f07259c: 27ac00ec */ addiu $t4,$sp,0xec
/* f0725a0: 8d810000 */ lw $at,0x0($t4)
/* f0725a4: ac410000 */ sw $at,0x0($v0)
/* f0725a8: 8d8a0004 */ lw $t2,0x4($t4)
/* f0725ac: ac4a0004 */ sw $t2,0x4($v0)
/* f0725b0: 8d810008 */ lw $at,0x8($t4)
/* f0725b4: ac410008 */ sw $at,0x8($v0)
/* f0725b8: 8d8a000c */ lw $t2,0xc($t4)
/* f0725bc: ac4a000c */ sw $t2,0xc($v0)
/* f0725c0: 8d810010 */ lw $at,0x10($t4)
/* f0725c4: ac410010 */ sw $at,0x10($v0)
/* f0725c8: 8d8a0014 */ lw $t2,0x14($t4)
/* f0725cc: 1000001b */ b .L0f07263c
/* f0725d0: ac4a0014 */ sw $t2,0x14($v0)
.L0f0725d4:
/* f0725d4: 8da10000 */ lw $at,0x0($t5)
/* f0725d8: 25ad000c */ addiu $t5,$t5,0xc
/* f0725dc: 2718000c */ addiu $t8,$t8,0xc
/* f0725e0: af01fff4 */ sw $at,-0xc($t8)
/* f0725e4: 8da1fff8 */ lw $at,-0x8($t5)
/* f0725e8: af01fff8 */ sw $at,-0x8($t8)
/* f0725ec: 8da1fffc */ lw $at,-0x4($t5)
/* f0725f0: 15affff8 */ bne $t5,$t7,.L0f0725d4
/* f0725f4: af01fffc */ sw $at,-0x4($t8)
/* f0725f8: 8da10000 */ lw $at,0x0($t5)
/* f0725fc: 1000000f */ b .L0f07263c
/* f072600: af010000 */ sw $at,0x0($t8)
.L0f072604:
/* f072604: 1320000d */ beqz $t9,.L0f07263c
/* f072608: 27a80400 */ addiu $t0,$sp,0x400
/* f07260c: 2509003c */ addiu $t1,$t0,0x3c
.L0f072610:
/* f072610: 8d010000 */ lw $at,0x0($t0)
/* f072614: 2508000c */ addiu $t0,$t0,0xc
/* f072618: 2739000c */ addiu $t9,$t9,0xc
/* f07261c: af21fff4 */ sw $at,-0xc($t9)
/* f072620: 8d01fff8 */ lw $at,-0x8($t0)
/* f072624: af21fff8 */ sw $at,-0x8($t9)
/* f072628: 8d01fffc */ lw $at,-0x4($t0)
/* f07262c: 1509fff8 */ bne $t0,$t1,.L0f072610
/* f072630: af21fffc */ sw $at,-0x4($t9)
/* f072634: 8d010000 */ lw $at,0x0($t0)
/* f072638: af210000 */ sw $at,0x0($t9)
.L0f07263c:
/* f07263c: 8fbf002c */ lw $ra,0x2c($sp)
.L0f072640:
/* f072640: 8fa20484 */ lw $v0,0x484($sp)
/* f072644: 8fb00028 */ lw $s0,0x28($sp)
/* f072648: 03e00008 */ jr $ra
/* f07264c: 27bd0488 */ addiu $sp,$sp,0x488
);
void hovercarFindNextPath(struct hovercarobj *hovercar)
{
s32 index = hovercar->path - g_StageSetup.paths + 1;
while (true) {
if (g_StageSetup.paths[index].pads == NULL) {
index = 0;
}
if (&g_StageSetup.paths[index] == hovercar->path) {
break;
}
if ((g_StageSetup.paths[index].flags & PATHFLAG_FLYING)
&& (g_StageSetup.paths[index].flags & PATHFLAG_INUSE) == 0) {
hovercar->path->flags &= ~PATHFLAG_INUSE;
hovercar->path = &g_StageSetup.paths[index];
hovercar->path->flags |= PATHFLAG_INUSE;
return;
}
index++;
}
}
void hovercarStartNextPath(struct hovercarobj *hovercar)
{
s32 *pads;
struct pad pad;
Mtxf matrix;
s16 rooms[2];
hovercarFindNextPath(hovercar);
pads = hovercar->path->pads;
hovercar->nextstep = 0;
padUnpack(pads[0], PADFIELD_POS | PADFIELD_ROOM, &pad);
mtx3ToMtx4(hovercar->base.realrot, &matrix);
rooms[0] = pad.room;
rooms[1] = -1;
func0f06a730(&hovercar->base, &pad.pos, &matrix, rooms, &pad.pos);
hovercar->base.flags |= OBJFLAG_HOVERCAR_20000000;
}
void hovercarIncrementStep(struct hovercarobj *hovercar)
{
hovercar->nextstep++;
if (hovercar->path->pads[hovercar->nextstep] < 0) {
if (hovercar->path->flags & PATHFLAG_CIRCULAR) {
hovercar->nextstep = 0;
} else {
hovercarStartNextPath(hovercar);
}
}
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0727d4
.late_rodata
glabel var7f1aa320
.word 0x3dcccccd
.text
/* f0727d4: 27bdff60 */ addiu $sp,$sp,-160
/* f0727d8: 3c013f80 */ lui $at,0x3f80
/* f0727dc: 44812000 */ mtc1 $at,$f4
/* f0727e0: afbf0024 */ sw $ra,0x24($sp)
/* f0727e4: afb00020 */ sw $s0,0x20($sp)
/* f0727e8: 00808025 */ or $s0,$a0,$zero
/* f0727ec: afa500a4 */ sw $a1,0xa4($sp)
/* f0727f0: afa600a8 */ sw $a2,0xa8($sp)
/* f0727f4: 0c0093ac */ jal cdGetObstacle
/* f0727f8: e7a4009c */ swc1 $f4,0x9c($sp)
/* f0727fc: 104000b2 */ beqz $v0,.L0f072ac8
/* f072800: 8faa00a4 */ lw $t2,0xa4($sp)
/* f072804: 3c09800a */ lui $t1,%hi(g_Vars)
/* f072808: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07280c: 8d2e0034 */ lw $t6,0x34($t1)
/* f072810: 59c000ae */ blezl $t6,.L0f072acc
/* f072814: 8fbf0024 */ lw $ra,0x24($sp)
/* f072818: 90430000 */ lbu $v1,0x0($v0)
/* f07281c: 24010003 */ addiu $at,$zero,0x3
/* f072820: 106100a9 */ beq $v1,$at,.L0f072ac8
/* f072824: 24010006 */ addiu $at,$zero,0x6
/* f072828: 106100a7 */ beq $v1,$at,.L0f072ac8
/* f07282c: 24010001 */ addiu $at,$zero,0x1
/* f072830: 546100a6 */ bnel $v1,$at,.L0f072acc
/* f072834: 8fbf0024 */ lw $ra,0x24($sp)
/* f072838: 8c440004 */ lw $a0,0x4($v0)
/* f07283c: 8c830040 */ lw $v1,0x40($a0)
/* f072840: 00037940 */ sll $t7,$v1,0x5
/* f072844: 05e000a0 */ bltz $t7,.L0f072ac8
/* f072848: 0003c100 */ sll $t8,$v1,0x4
/* f07284c: 0702009f */ bltzl $t8,.L0f072acc
/* f072850: 8fbf0024 */ lw $ra,0x24($sp)
/* f072854: 8c990010 */ lw $t9,0x10($a0)
/* f072858: 3c0c8007 */ lui $t4,%hi(var80069b74)
/* f07285c: 3c013f00 */ lui $at,0x3f00
/* f072860: 332b0001 */ andi $t3,$t9,0x1
/* f072864: 11600098 */ beqz $t3,.L0f072ac8
/* f072868: 258c9b74 */ addiu $t4,$t4,%lo(var80069b74)
/* f07286c: 44816000 */ mtc1 $at,$f12
/* f072870: 8d810000 */ lw $at,0x0($t4)
/* f072874: 27a5007c */ addiu $a1,$sp,0x7c
/* f072878: c520004c */ lwc1 $f0,0x4c($t1)
/* f07287c: aca10000 */ sw $at,0x0($a1)
/* f072880: 8d8e0004 */ lw $t6,0x4($t4)
/* f072884: 44801000 */ mtc1 $zero,$f2
/* f072888: 240f0001 */ addiu $t7,$zero,0x1
/* f07288c: acae0004 */ sw $t6,0x4($a1)
/* f072890: 8d810008 */ lw $at,0x8($t4)
/* f072894: 44061000 */ mfc1 $a2,$f2
/* f072898: 24070001 */ addiu $a3,$zero,0x1
/* f07289c: aca10008 */ sw $at,0x8($a1)
/* f0728a0: c5460000 */ lwc1 $f6,0x0($t2)
/* f0728a4: e7a20080 */ swc1 $f2,0x80($sp)
/* f0728a8: 460c3202 */ mul.s $f8,$f6,$f12
/* f0728ac: 46004283 */ div.s $f10,$f8,$f0
/* f0728b0: e7aa007c */ swc1 $f10,0x7c($sp)
/* f0728b4: c5440008 */ lwc1 $f4,0x8($t2)
/* f0728b8: afa20098 */ sw $v0,0x98($sp)
/* f0728bc: afa40094 */ sw $a0,0x94($sp)
/* f0728c0: 460c2182 */ mul.s $f6,$f4,$f12
/* f0728c4: afaf0010 */ sw $t7,0x10($sp)
/* f0728c8: 46003203 */ div.s $f8,$f6,$f0
/* f0728cc: 0fc20a87 */ jal func0f082a1c
/* f0728d0: e7a80084 */ swc1 $f8,0x84($sp)
/* f0728d4: 3c077f1b */ lui $a3,%hi(var7f1a9fac)
/* f0728d8: 24e79fac */ addiu $a3,$a3,%lo(var7f1a9fac)
/* f0728dc: 27a40070 */ addiu $a0,$sp,0x70
/* f0728e0: 27a50064 */ addiu $a1,$sp,0x64
/* f0728e4: 0c009393 */ jal cd00024e4c
/* f0728e8: 24061cbb */ addiu $a2,$zero,0x1cbc
/* f0728ec: 27a40058 */ addiu $a0,$sp,0x58
/* f0728f0: 0c0094d9 */ jal cd00025364
/* f0728f4: 27a5004c */ addiu $a1,$sp,0x4c
/* f0728f8: 1040000e */ beqz $v0,.L0f072934
/* f0728fc: 8fa80098 */ lw $t0,0x98($sp)
/* f072900: c7aa004c */ lwc1 $f10,0x4c($sp)
/* f072904: c7a40058 */ lwc1 $f4,0x58($sp)
/* f072908: c7a80050 */ lwc1 $f8,0x50($sp)
/* f07290c: 46045181 */ sub.s $f6,$f10,$f4
/* f072910: c7aa005c */ lwc1 $f10,0x5c($sp)
/* f072914: 460a4101 */ sub.s $f4,$f8,$f10
/* f072918: e7a6004c */ swc1 $f6,0x4c($sp)
/* f07291c: c7a60054 */ lwc1 $f6,0x54($sp)
/* f072920: c7a80060 */ lwc1 $f8,0x60($sp)
/* f072924: e7a40050 */ swc1 $f4,0x50($sp)
/* f072928: 46083281 */ sub.s $f10,$f6,$f8
/* f07292c: 10000019 */ b .L0f072994
/* f072930: e7aa0054 */ swc1 $f10,0x54($sp)
.L0f072934:
/* f072934: 8e180014 */ lw $t8,0x14($s0)
/* f072938: c7040008 */ lwc1 $f4,0x8($t8)
/* f07293c: e7a40058 */ swc1 $f4,0x58($sp)
/* f072940: 8e190014 */ lw $t9,0x14($s0)
/* f072944: c726000c */ lwc1 $f6,0xc($t9)
/* f072948: e7a6005c */ swc1 $f6,0x5c($sp)
/* f07294c: 8e0b0014 */ lw $t3,0x14($s0)
/* f072950: c5680010 */ lwc1 $f8,0x10($t3)
/* f072954: e7a80060 */ swc1 $f8,0x60($sp)
/* f072958: 8e0d0014 */ lw $t5,0x14($s0)
/* f07295c: c50a0008 */ lwc1 $f10,0x8($t0)
/* f072960: c5a40008 */ lwc1 $f4,0x8($t5)
/* f072964: 46045181 */ sub.s $f6,$f10,$f4
/* f072968: e7a6004c */ swc1 $f6,0x4c($sp)
/* f07296c: 8e0c0014 */ lw $t4,0x14($s0)
/* f072970: c508000c */ lwc1 $f8,0xc($t0)
/* f072974: c58a000c */ lwc1 $f10,0xc($t4)
/* f072978: 460a4101 */ sub.s $f4,$f8,$f10
/* f07297c: e7a40050 */ swc1 $f4,0x50($sp)
/* f072980: 8e0e0014 */ lw $t6,0x14($s0)
/* f072984: c5060010 */ lwc1 $f6,0x10($t0)
/* f072988: c5c80010 */ lwc1 $f8,0x10($t6)
/* f07298c: 46083281 */ sub.s $f10,$f6,$f8
/* f072990: e7aa0054 */ swc1 $f10,0x54($sp)
.L0f072994:
/* f072994: 27af0088 */ addiu $t7,$sp,0x88
/* f072998: afaf0010 */ sw $t7,0x10($sp)
/* f07299c: 27a40070 */ addiu $a0,$sp,0x70
/* f0729a0: 27a50064 */ addiu $a1,$sp,0x64
/* f0729a4: 27a60058 */ addiu $a2,$sp,0x58
/* f0729a8: 0fc0b8f7 */ jal func0f02e3dc
/* f0729ac: 27a7004c */ addiu $a3,$sp,0x4c
/* f0729b0: 44800000 */ mtc1 $zero,$f0
/* f0729b4: c7a600a8 */ lwc1 $f6,0xa8($sp)
/* f0729b8: 3c013f00 */ lui $at,0x3f00
/* f0729bc: 44812000 */ mtc1 $at,$f4
/* f0729c0: 46003032 */ c.eq.s $f6,$f0
/* f0729c4: c7a80088 */ lwc1 $f8,0x88($sp)
/* f0729c8: e7a4009c */ swc1 $f4,0x9c($sp)
/* f0729cc: c7a40090 */ lwc1 $f4,0x90($sp)
/* f0729d0: 4503003e */ bc1tl .L0f072acc
/* f0729d4: 8fbf0024 */ lw $ra,0x24($sp)
/* f0729d8: 8e020014 */ lw $v0,0x14($s0)
/* f0729dc: 3c198007 */ lui $t9,%hi(var80069b80)
/* f0729e0: 27399b80 */ addiu $t9,$t9,%lo(var80069b80)
/* f0729e4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f0729e8: c4460010 */ lwc1 $f6,0x10($v0)
/* f0729ec: 8f210000 */ lw $at,0x0($t9)
/* f0729f0: 460a4081 */ sub.s $f2,$f8,$f10
/* f0729f4: 27b80034 */ addiu $t8,$sp,0x34
/* f0729f8: af010000 */ sw $at,0x0($t8)
/* f0729fc: 46062381 */ sub.s $f14,$f4,$f6
/* f072a00: 46021202 */ mul.s $f8,$f2,$f2
/* f072a04: 8f210008 */ lw $at,0x8($t9)
/* f072a08: 8f2d0004 */ lw $t5,0x4($t9)
/* f072a0c: 460e7282 */ mul.s $f10,$f14,$f14
/* f072a10: af010008 */ sw $at,0x8($t8)
/* f072a14: af0d0004 */ sw $t5,0x4($t8)
/* f072a18: e7ae0044 */ swc1 $f14,0x44($sp)
/* f072a1c: e7a20048 */ swc1 $f2,0x48($sp)
/* f072a20: 0c012974 */ jal sqrtf
/* f072a24: 460a4300 */ add.s $f12,$f8,$f10
/* f072a28: 3c014120 */ lui $at,0x4120
/* f072a2c: 44819000 */ mtc1 $at,$f18
/* f072a30: 3c013f80 */ lui $at,0x3f80
/* f072a34: 44812000 */ mtc1 $at,$f4
/* f072a38: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f072a3c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at)
/* f072a40: 46002303 */ div.s $f12,$f4,$f0
/* f072a44: c7a600a8 */ lwc1 $f6,0xa8($sp)
/* f072a48: c7a20048 */ lwc1 $f2,0x48($sp)
/* f072a4c: c7ae0044 */ lwc1 $f14,0x44($sp)
/* f072a50: 3c017f1b */ lui $at,%hi(var7f1aa320)
/* f072a54: 240c0001 */ addiu $t4,$zero,0x1
/* f072a58: afac0010 */ sw $t4,0x10($sp)
/* f072a5c: 8fa40094 */ lw $a0,0x94($sp)
/* f072a60: 27a50034 */ addiu $a1,$sp,0x34
/* f072a64: 24070001 */ addiu $a3,$zero,0x1
/* f072a68: 46083283 */ div.s $f10,$f6,$f8
/* f072a6c: 460c1082 */ mul.s $f2,$f2,$f12
/* f072a70: 00000000 */ nop
/* f072a74: 460c7382 */ mul.s $f14,$f14,$f12
/* f072a78: 46007107 */ neg.s $f4,$f14
/* f072a7c: e7aa00a8 */ swc1 $f10,0xa8($sp)
/* f072a80: 460a2182 */ mul.s $f6,$f4,$f10
/* f072a84: c7a40034 */ lwc1 $f4,0x34($sp)
/* f072a88: 46123202 */ mul.s $f8,$f6,$f18
/* f072a8c: 46082180 */ add.s $f6,$f4,$f8
/* f072a90: 460a1102 */ mul.s $f4,$f2,$f10
/* f072a94: e7a60034 */ swc1 $f6,0x34($sp)
/* f072a98: c7a6003c */ lwc1 $f6,0x3c($sp)
/* f072a9c: 46122202 */ mul.s $f8,$f4,$f18
/* f072aa0: 46083100 */ add.s $f4,$f6,$f8
/* f072aa4: c426a320 */ lwc1 $f6,%lo(var7f1aa320)($at)
/* f072aa8: 46065202 */ mul.s $f8,$f10,$f6
/* f072aac: e7a4003c */ swc1 $f4,0x3c($sp)
/* f072ab0: 44802000 */ mtc1 $zero,$f4
/* f072ab4: 00000000 */ nop
/* f072ab8: 46082400 */ add.s $f16,$f4,$f8
/* f072abc: 44068000 */ mfc1 $a2,$f16
/* f072ac0: 0fc20a87 */ jal func0f082a1c
/* f072ac4: 00000000 */ nop
.L0f072ac8:
/* f072ac8: 8fbf0024 */ lw $ra,0x24($sp)
.L0f072acc:
/* f072acc: c7a0009c */ lwc1 $f0,0x9c($sp)
/* f072ad0: 8fb00020 */ lw $s0,0x20($sp)
/* f072ad4: 03e00008 */ jr $ra
/* f072ad8: 27bd00a0 */ addiu $sp,$sp,0xa0
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f0727d4
.late_rodata
glabel var7f1aa320
.word 0x3dcccccd
.text
/* f0727d4: 27bdff60 */ addiu $sp,$sp,-160
/* f0727d8: 3c013f80 */ lui $at,0x3f80
/* f0727dc: 44812000 */ mtc1 $at,$f4
/* f0727e0: afbf0024 */ sw $ra,0x24($sp)
/* f0727e4: afb00020 */ sw $s0,0x20($sp)
/* f0727e8: 00808025 */ or $s0,$a0,$zero
/* f0727ec: afa500a4 */ sw $a1,0xa4($sp)
/* f0727f0: afa600a8 */ sw $a2,0xa8($sp)
/* f0727f4: 0c0093ac */ jal cdGetObstacle
/* f0727f8: e7a4009c */ swc1 $f4,0x9c($sp)
/* f0727fc: 104000b2 */ beqz $v0,.L0f072ac8
/* f072800: 8faa00a4 */ lw $t2,0xa4($sp)
/* f072804: 3c09800a */ lui $t1,%hi(g_Vars)
/* f072808: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07280c: 8d2e0034 */ lw $t6,0x34($t1)
/* f072810: 59c000ae */ blezl $t6,.L0f072acc
/* f072814: 8fbf0024 */ lw $ra,0x24($sp)
/* f072818: 90430000 */ lbu $v1,0x0($v0)
/* f07281c: 24010003 */ addiu $at,$zero,0x3
/* f072820: 106100a9 */ beq $v1,$at,.L0f072ac8
/* f072824: 24010006 */ addiu $at,$zero,0x6
/* f072828: 106100a7 */ beq $v1,$at,.L0f072ac8
/* f07282c: 24010001 */ addiu $at,$zero,0x1
/* f072830: 546100a6 */ bnel $v1,$at,.L0f072acc
/* f072834: 8fbf0024 */ lw $ra,0x24($sp)
/* f072838: 8c440004 */ lw $a0,0x4($v0)
/* f07283c: 8c830040 */ lw $v1,0x40($a0)
/* f072840: 00037940 */ sll $t7,$v1,0x5
/* f072844: 05e000a0 */ bltz $t7,.L0f072ac8
/* f072848: 0003c100 */ sll $t8,$v1,0x4
/* f07284c: 0702009f */ bltzl $t8,.L0f072acc
/* f072850: 8fbf0024 */ lw $ra,0x24($sp)
/* f072854: 8c990010 */ lw $t9,0x10($a0)
/* f072858: 3c0c8007 */ lui $t4,%hi(var80069b74)
/* f07285c: 3c013f00 */ lui $at,0x3f00
/* f072860: 332b0001 */ andi $t3,$t9,0x1
/* f072864: 11600098 */ beqz $t3,.L0f072ac8
/* f072868: 258c9b74 */ addiu $t4,$t4,%lo(var80069b74)
/* f07286c: 44816000 */ mtc1 $at,$f12
/* f072870: 8d810000 */ lw $at,0x0($t4)
/* f072874: 27a5007c */ addiu $a1,$sp,0x7c
/* f072878: c520004c */ lwc1 $f0,0x4c($t1)
/* f07287c: aca10000 */ sw $at,0x0($a1)
/* f072880: 8d8e0004 */ lw $t6,0x4($t4)
/* f072884: 44801000 */ mtc1 $zero,$f2
/* f072888: 240f0001 */ addiu $t7,$zero,0x1
/* f07288c: acae0004 */ sw $t6,0x4($a1)
/* f072890: 8d810008 */ lw $at,0x8($t4)
/* f072894: 44061000 */ mfc1 $a2,$f2
/* f072898: 24070001 */ addiu $a3,$zero,0x1
/* f07289c: aca10008 */ sw $at,0x8($a1)
/* f0728a0: c5460000 */ lwc1 $f6,0x0($t2)
/* f0728a4: e7a20080 */ swc1 $f2,0x80($sp)
/* f0728a8: 460c3202 */ mul.s $f8,$f6,$f12
/* f0728ac: 46004283 */ div.s $f10,$f8,$f0
/* f0728b0: e7aa007c */ swc1 $f10,0x7c($sp)
/* f0728b4: c5440008 */ lwc1 $f4,0x8($t2)
/* f0728b8: afa20098 */ sw $v0,0x98($sp)
/* f0728bc: afa40094 */ sw $a0,0x94($sp)
/* f0728c0: 460c2182 */ mul.s $f6,$f4,$f12
/* f0728c4: afaf0010 */ sw $t7,0x10($sp)
/* f0728c8: 46003203 */ div.s $f8,$f6,$f0
/* f0728cc: 0fc20a87 */ jal func0f082a1c
/* f0728d0: e7a80084 */ swc1 $f8,0x84($sp)
/* f0728d4: 3c077f1b */ lui $a3,%hi(var7f1a9fac)
/* f0728d8: 24e79fac */ addiu $a3,$a3,%lo(var7f1a9fac)
/* f0728dc: 27a40070 */ addiu $a0,$sp,0x70
/* f0728e0: 27a50064 */ addiu $a1,$sp,0x64
/* f0728e4: 0c009393 */ jal cd00024e4c
/* f0728e8: 24061cbb */ addiu $a2,$zero,0x1cbb
/* f0728ec: 27a40058 */ addiu $a0,$sp,0x58
/* f0728f0: 0c0094d9 */ jal cd00025364
/* f0728f4: 27a5004c */ addiu $a1,$sp,0x4c
/* f0728f8: 1040000e */ beqz $v0,.L0f072934
/* f0728fc: 8fa80098 */ lw $t0,0x98($sp)
/* f072900: c7aa004c */ lwc1 $f10,0x4c($sp)
/* f072904: c7a40058 */ lwc1 $f4,0x58($sp)
/* f072908: c7a80050 */ lwc1 $f8,0x50($sp)
/* f07290c: 46045181 */ sub.s $f6,$f10,$f4
/* f072910: c7aa005c */ lwc1 $f10,0x5c($sp)
/* f072914: 460a4101 */ sub.s $f4,$f8,$f10
/* f072918: e7a6004c */ swc1 $f6,0x4c($sp)
/* f07291c: c7a60054 */ lwc1 $f6,0x54($sp)
/* f072920: c7a80060 */ lwc1 $f8,0x60($sp)
/* f072924: e7a40050 */ swc1 $f4,0x50($sp)
/* f072928: 46083281 */ sub.s $f10,$f6,$f8
/* f07292c: 10000019 */ b .L0f072994
/* f072930: e7aa0054 */ swc1 $f10,0x54($sp)
.L0f072934:
/* f072934: 8e180014 */ lw $t8,0x14($s0)
/* f072938: c7040008 */ lwc1 $f4,0x8($t8)
/* f07293c: e7a40058 */ swc1 $f4,0x58($sp)
/* f072940: 8e190014 */ lw $t9,0x14($s0)
/* f072944: c726000c */ lwc1 $f6,0xc($t9)
/* f072948: e7a6005c */ swc1 $f6,0x5c($sp)
/* f07294c: 8e0b0014 */ lw $t3,0x14($s0)
/* f072950: c5680010 */ lwc1 $f8,0x10($t3)
/* f072954: e7a80060 */ swc1 $f8,0x60($sp)
/* f072958: 8e0d0014 */ lw $t5,0x14($s0)
/* f07295c: c50a0008 */ lwc1 $f10,0x8($t0)
/* f072960: c5a40008 */ lwc1 $f4,0x8($t5)
/* f072964: 46045181 */ sub.s $f6,$f10,$f4
/* f072968: e7a6004c */ swc1 $f6,0x4c($sp)
/* f07296c: 8e0c0014 */ lw $t4,0x14($s0)
/* f072970: c508000c */ lwc1 $f8,0xc($t0)
/* f072974: c58a000c */ lwc1 $f10,0xc($t4)
/* f072978: 460a4101 */ sub.s $f4,$f8,$f10
/* f07297c: e7a40050 */ swc1 $f4,0x50($sp)
/* f072980: 8e0e0014 */ lw $t6,0x14($s0)
/* f072984: c5060010 */ lwc1 $f6,0x10($t0)
/* f072988: c5c80010 */ lwc1 $f8,0x10($t6)
/* f07298c: 46083281 */ sub.s $f10,$f6,$f8
/* f072990: e7aa0054 */ swc1 $f10,0x54($sp)
.L0f072994:
/* f072994: 27af0088 */ addiu $t7,$sp,0x88
/* f072998: afaf0010 */ sw $t7,0x10($sp)
/* f07299c: 27a40070 */ addiu $a0,$sp,0x70
/* f0729a0: 27a50064 */ addiu $a1,$sp,0x64
/* f0729a4: 27a60058 */ addiu $a2,$sp,0x58
/* f0729a8: 0fc0b8f7 */ jal func0f02e3dc
/* f0729ac: 27a7004c */ addiu $a3,$sp,0x4c
/* f0729b0: 44800000 */ mtc1 $zero,$f0
/* f0729b4: c7a600a8 */ lwc1 $f6,0xa8($sp)
/* f0729b8: 3c013f00 */ lui $at,0x3f00
/* f0729bc: 44812000 */ mtc1 $at,$f4
/* f0729c0: 46003032 */ c.eq.s $f6,$f0
/* f0729c4: c7a80088 */ lwc1 $f8,0x88($sp)
/* f0729c8: e7a4009c */ swc1 $f4,0x9c($sp)
/* f0729cc: c7a40090 */ lwc1 $f4,0x90($sp)
/* f0729d0: 4503003e */ bc1tl .L0f072acc
/* f0729d4: 8fbf0024 */ lw $ra,0x24($sp)
/* f0729d8: 8e020014 */ lw $v0,0x14($s0)
/* f0729dc: 3c198007 */ lui $t9,%hi(var80069b80)
/* f0729e0: 27399b80 */ addiu $t9,$t9,%lo(var80069b80)
/* f0729e4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f0729e8: c4460010 */ lwc1 $f6,0x10($v0)
/* f0729ec: 8f210000 */ lw $at,0x0($t9)
/* f0729f0: 460a4081 */ sub.s $f2,$f8,$f10
/* f0729f4: 27b80034 */ addiu $t8,$sp,0x34
/* f0729f8: af010000 */ sw $at,0x0($t8)
/* f0729fc: 46062381 */ sub.s $f14,$f4,$f6
/* f072a00: 46021202 */ mul.s $f8,$f2,$f2
/* f072a04: 8f210008 */ lw $at,0x8($t9)
/* f072a08: 8f2d0004 */ lw $t5,0x4($t9)
/* f072a0c: 460e7282 */ mul.s $f10,$f14,$f14
/* f072a10: af010008 */ sw $at,0x8($t8)
/* f072a14: af0d0004 */ sw $t5,0x4($t8)
/* f072a18: e7ae0044 */ swc1 $f14,0x44($sp)
/* f072a1c: e7a20048 */ swc1 $f2,0x48($sp)
/* f072a20: 0c012974 */ jal sqrtf
/* f072a24: 460a4300 */ add.s $f12,$f8,$f10
/* f072a28: 3c014120 */ lui $at,0x4120
/* f072a2c: 44819000 */ mtc1 $at,$f18
/* f072a30: 3c013f80 */ lui $at,0x3f80
/* f072a34: 44812000 */ mtc1 $at,$f4
/* f072a38: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f072a3c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at)
/* f072a40: 46002303 */ div.s $f12,$f4,$f0
/* f072a44: c7a600a8 */ lwc1 $f6,0xa8($sp)
/* f072a48: c7a20048 */ lwc1 $f2,0x48($sp)
/* f072a4c: c7ae0044 */ lwc1 $f14,0x44($sp)
/* f072a50: 3c017f1b */ lui $at,%hi(var7f1aa320)
/* f072a54: 240c0001 */ addiu $t4,$zero,0x1
/* f072a58: afac0010 */ sw $t4,0x10($sp)
/* f072a5c: 8fa40094 */ lw $a0,0x94($sp)
/* f072a60: 27a50034 */ addiu $a1,$sp,0x34
/* f072a64: 24070001 */ addiu $a3,$zero,0x1
/* f072a68: 46083283 */ div.s $f10,$f6,$f8
/* f072a6c: 460c1082 */ mul.s $f2,$f2,$f12
/* f072a70: 00000000 */ nop
/* f072a74: 460c7382 */ mul.s $f14,$f14,$f12
/* f072a78: 46007107 */ neg.s $f4,$f14
/* f072a7c: e7aa00a8 */ swc1 $f10,0xa8($sp)
/* f072a80: 460a2182 */ mul.s $f6,$f4,$f10
/* f072a84: c7a40034 */ lwc1 $f4,0x34($sp)
/* f072a88: 46123202 */ mul.s $f8,$f6,$f18
/* f072a8c: 46082180 */ add.s $f6,$f4,$f8
/* f072a90: 460a1102 */ mul.s $f4,$f2,$f10
/* f072a94: e7a60034 */ swc1 $f6,0x34($sp)
/* f072a98: c7a6003c */ lwc1 $f6,0x3c($sp)
/* f072a9c: 46122202 */ mul.s $f8,$f4,$f18
/* f072aa0: 46083100 */ add.s $f4,$f6,$f8
/* f072aa4: c426a320 */ lwc1 $f6,%lo(var7f1aa320)($at)
/* f072aa8: 46065202 */ mul.s $f8,$f10,$f6
/* f072aac: e7a4003c */ swc1 $f4,0x3c($sp)
/* f072ab0: 44802000 */ mtc1 $zero,$f4
/* f072ab4: 00000000 */ nop
/* f072ab8: 46082400 */ add.s $f16,$f4,$f8
/* f072abc: 44068000 */ mfc1 $a2,$f16
/* f072ac0: 0fc20a87 */ jal func0f082a1c
/* f072ac4: 00000000 */ nop
.L0f072ac8:
/* f072ac8: 8fbf0024 */ lw $ra,0x24($sp)
.L0f072acc:
/* f072acc: c7a0009c */ lwc1 $f0,0x9c($sp)
/* f072ad0: 8fb00020 */ lw $s0,0x20($sp)
/* f072ad4: 03e00008 */ jr $ra
/* f072ad8: 27bd00a0 */ addiu $sp,$sp,0xa0
);
#else
GLOBAL_ASM(
glabel func0f0727d4
.late_rodata
glabel var7f1aa320
.word 0x3dcccccd
.text
/* f0727d4: 27bdff60 */ addiu $sp,$sp,-160
/* f0727d8: 3c013f80 */ lui $at,0x3f80
/* f0727dc: 44812000 */ mtc1 $at,$f4
/* f0727e0: afbf0024 */ sw $ra,0x24($sp)
/* f0727e4: afb00020 */ sw $s0,0x20($sp)
/* f0727e8: 00808025 */ or $s0,$a0,$zero
/* f0727ec: afa500a4 */ sw $a1,0xa4($sp)
/* f0727f0: afa600a8 */ sw $a2,0xa8($sp)
/* f0727f4: 0c0093ac */ jal cdGetObstacle
/* f0727f8: e7a4009c */ swc1 $f4,0x9c($sp)
/* f0727fc: 104000b2 */ beqz $v0,.L0f072ac8
/* f072800: 8faa00a4 */ lw $t2,0xa4($sp)
/* f072804: 3c09800a */ lui $t1,%hi(g_Vars)
/* f072808: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07280c: 8d2e0034 */ lw $t6,0x34($t1)
/* f072810: 59c000ae */ blezl $t6,.L0f072acc
/* f072814: 8fbf0024 */ lw $ra,0x24($sp)
/* f072818: 90430000 */ lbu $v1,0x0($v0)
/* f07281c: 24010003 */ addiu $at,$zero,0x3
/* f072820: 106100a9 */ beq $v1,$at,.L0f072ac8
/* f072824: 24010006 */ addiu $at,$zero,0x6
/* f072828: 106100a7 */ beq $v1,$at,.L0f072ac8
/* f07282c: 24010001 */ addiu $at,$zero,0x1
/* f072830: 546100a6 */ bnel $v1,$at,.L0f072acc
/* f072834: 8fbf0024 */ lw $ra,0x24($sp)
/* f072838: 8c440004 */ lw $a0,0x4($v0)
/* f07283c: 8c830040 */ lw $v1,0x40($a0)
/* f072840: 00037940 */ sll $t7,$v1,0x5
/* f072844: 05e000a0 */ bltz $t7,.L0f072ac8
/* f072848: 0003c100 */ sll $t8,$v1,0x4
/* f07284c: 0702009f */ bltzl $t8,.L0f072acc
/* f072850: 8fbf0024 */ lw $ra,0x24($sp)
/* f072854: 8c990010 */ lw $t9,0x10($a0)
/* f072858: 3c0c8007 */ lui $t4,%hi(var80069b74)
/* f07285c: 3c013f00 */ lui $at,0x3f00
/* f072860: 332b0001 */ andi $t3,$t9,0x1
/* f072864: 11600098 */ beqz $t3,.L0f072ac8
/* f072868: 258c9b74 */ addiu $t4,$t4,%lo(var80069b74)
/* f07286c: 44816000 */ mtc1 $at,$f12
/* f072870: 8d810000 */ lw $at,0x0($t4)
/* f072874: 27a5007c */ addiu $a1,$sp,0x7c
/* f072878: c520004c */ lwc1 $f0,0x4c($t1)
/* f07287c: aca10000 */ sw $at,0x0($a1)
/* f072880: 8d8e0004 */ lw $t6,0x4($t4)
/* f072884: 44801000 */ mtc1 $zero,$f2
/* f072888: 240f0001 */ addiu $t7,$zero,0x1
/* f07288c: acae0004 */ sw $t6,0x4($a1)
/* f072890: 8d810008 */ lw $at,0x8($t4)
/* f072894: 44061000 */ mfc1 $a2,$f2
/* f072898: 24070001 */ addiu $a3,$zero,0x1
/* f07289c: aca10008 */ sw $at,0x8($a1)
/* f0728a0: c5460000 */ lwc1 $f6,0x0($t2)
/* f0728a4: e7a20080 */ swc1 $f2,0x80($sp)
/* f0728a8: 460c3202 */ mul.s $f8,$f6,$f12
/* f0728ac: 46004283 */ div.s $f10,$f8,$f0
/* f0728b0: e7aa007c */ swc1 $f10,0x7c($sp)
/* f0728b4: c5440008 */ lwc1 $f4,0x8($t2)
/* f0728b8: afa20098 */ sw $v0,0x98($sp)
/* f0728bc: afa40094 */ sw $a0,0x94($sp)
/* f0728c0: 460c2182 */ mul.s $f6,$f4,$f12
/* f0728c4: afaf0010 */ sw $t7,0x10($sp)
/* f0728c8: 46003203 */ div.s $f8,$f6,$f0
/* f0728cc: 0fc20a87 */ jal func0f082a1c
/* f0728d0: e7a80084 */ swc1 $f8,0x84($sp)
/* f0728d4: 3c077f1b */ lui $a3,%hi(var7f1a9fac)
/* f0728d8: 24e79fac */ addiu $a3,$a3,%lo(var7f1a9fac)
/* f0728dc: 27a40070 */ addiu $a0,$sp,0x70
/* f0728e0: 27a50064 */ addiu $a1,$sp,0x64
/* f0728e4: 0c009393 */ jal cd00024e4c
/* f0728e8: 24061cbb */ addiu $a2,$zero,0x1c8c
/* f0728ec: 27a40058 */ addiu $a0,$sp,0x58
/* f0728f0: 0c0094d9 */ jal cd00025364
/* f0728f4: 27a5004c */ addiu $a1,$sp,0x4c
/* f0728f8: 1040000e */ beqz $v0,.L0f072934
/* f0728fc: 8fa80098 */ lw $t0,0x98($sp)
/* f072900: c7aa004c */ lwc1 $f10,0x4c($sp)
/* f072904: c7a40058 */ lwc1 $f4,0x58($sp)
/* f072908: c7a80050 */ lwc1 $f8,0x50($sp)
/* f07290c: 46045181 */ sub.s $f6,$f10,$f4
/* f072910: c7aa005c */ lwc1 $f10,0x5c($sp)
/* f072914: 460a4101 */ sub.s $f4,$f8,$f10
/* f072918: e7a6004c */ swc1 $f6,0x4c($sp)
/* f07291c: c7a60054 */ lwc1 $f6,0x54($sp)
/* f072920: c7a80060 */ lwc1 $f8,0x60($sp)
/* f072924: e7a40050 */ swc1 $f4,0x50($sp)
/* f072928: 46083281 */ sub.s $f10,$f6,$f8
/* f07292c: 10000019 */ b .L0f072994
/* f072930: e7aa0054 */ swc1 $f10,0x54($sp)
.L0f072934:
/* f072934: 8e180014 */ lw $t8,0x14($s0)
/* f072938: c7040008 */ lwc1 $f4,0x8($t8)
/* f07293c: e7a40058 */ swc1 $f4,0x58($sp)
/* f072940: 8e190014 */ lw $t9,0x14($s0)
/* f072944: c726000c */ lwc1 $f6,0xc($t9)
/* f072948: e7a6005c */ swc1 $f6,0x5c($sp)
/* f07294c: 8e0b0014 */ lw $t3,0x14($s0)
/* f072950: c5680010 */ lwc1 $f8,0x10($t3)
/* f072954: e7a80060 */ swc1 $f8,0x60($sp)
/* f072958: 8e0d0014 */ lw $t5,0x14($s0)
/* f07295c: c50a0008 */ lwc1 $f10,0x8($t0)
/* f072960: c5a40008 */ lwc1 $f4,0x8($t5)
/* f072964: 46045181 */ sub.s $f6,$f10,$f4
/* f072968: e7a6004c */ swc1 $f6,0x4c($sp)
/* f07296c: 8e0c0014 */ lw $t4,0x14($s0)
/* f072970: c508000c */ lwc1 $f8,0xc($t0)
/* f072974: c58a000c */ lwc1 $f10,0xc($t4)
/* f072978: 460a4101 */ sub.s $f4,$f8,$f10
/* f07297c: e7a40050 */ swc1 $f4,0x50($sp)
/* f072980: 8e0e0014 */ lw $t6,0x14($s0)
/* f072984: c5060010 */ lwc1 $f6,0x10($t0)
/* f072988: c5c80010 */ lwc1 $f8,0x10($t6)
/* f07298c: 46083281 */ sub.s $f10,$f6,$f8
/* f072990: e7aa0054 */ swc1 $f10,0x54($sp)
.L0f072994:
/* f072994: 27af0088 */ addiu $t7,$sp,0x88
/* f072998: afaf0010 */ sw $t7,0x10($sp)
/* f07299c: 27a40070 */ addiu $a0,$sp,0x70
/* f0729a0: 27a50064 */ addiu $a1,$sp,0x64
/* f0729a4: 27a60058 */ addiu $a2,$sp,0x58
/* f0729a8: 0fc0b8f7 */ jal func0f02e3dc
/* f0729ac: 27a7004c */ addiu $a3,$sp,0x4c
/* f0729b0: 44800000 */ mtc1 $zero,$f0
/* f0729b4: c7a600a8 */ lwc1 $f6,0xa8($sp)
/* f0729b8: 3c013f00 */ lui $at,0x3f00
/* f0729bc: 44812000 */ mtc1 $at,$f4
/* f0729c0: 46003032 */ c.eq.s $f6,$f0
/* f0729c4: c7a80088 */ lwc1 $f8,0x88($sp)
/* f0729c8: e7a4009c */ swc1 $f4,0x9c($sp)
/* f0729cc: c7a40090 */ lwc1 $f4,0x90($sp)
/* f0729d0: 4503003e */ bc1tl .L0f072acc
/* f0729d4: 8fbf0024 */ lw $ra,0x24($sp)
/* f0729d8: 8e020014 */ lw $v0,0x14($s0)
/* f0729dc: 3c198007 */ lui $t9,%hi(var80069b80)
/* f0729e0: 27399b80 */ addiu $t9,$t9,%lo(var80069b80)
/* f0729e4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f0729e8: c4460010 */ lwc1 $f6,0x10($v0)
/* f0729ec: 8f210000 */ lw $at,0x0($t9)
/* f0729f0: 460a4081 */ sub.s $f2,$f8,$f10
/* f0729f4: 27b80034 */ addiu $t8,$sp,0x34
/* f0729f8: af010000 */ sw $at,0x0($t8)
/* f0729fc: 46062381 */ sub.s $f14,$f4,$f6
/* f072a00: 46021202 */ mul.s $f8,$f2,$f2
/* f072a04: 8f210008 */ lw $at,0x8($t9)
/* f072a08: 8f2d0004 */ lw $t5,0x4($t9)
/* f072a0c: 460e7282 */ mul.s $f10,$f14,$f14
/* f072a10: af010008 */ sw $at,0x8($t8)
/* f072a14: af0d0004 */ sw $t5,0x4($t8)
/* f072a18: e7ae0044 */ swc1 $f14,0x44($sp)
/* f072a1c: e7a20048 */ swc1 $f2,0x48($sp)
/* f072a20: 0c012974 */ jal sqrtf
/* f072a24: 460a4300 */ add.s $f12,$f8,$f10
/* f072a28: 3c014120 */ lui $at,0x4120
/* f072a2c: 44819000 */ mtc1 $at,$f18
/* f072a30: 3c013f80 */ lui $at,0x3f80
/* f072a34: 44812000 */ mtc1 $at,$f4
/* f072a38: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f072a3c: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at)
/* f072a40: 46002303 */ div.s $f12,$f4,$f0
/* f072a44: c7a600a8 */ lwc1 $f6,0xa8($sp)
/* f072a48: c7a20048 */ lwc1 $f2,0x48($sp)
/* f072a4c: c7ae0044 */ lwc1 $f14,0x44($sp)
/* f072a50: 3c017f1b */ lui $at,%hi(var7f1aa320)
/* f072a54: 240c0001 */ addiu $t4,$zero,0x1
/* f072a58: afac0010 */ sw $t4,0x10($sp)
/* f072a5c: 8fa40094 */ lw $a0,0x94($sp)
/* f072a60: 27a50034 */ addiu $a1,$sp,0x34
/* f072a64: 24070001 */ addiu $a3,$zero,0x1
/* f072a68: 46083283 */ div.s $f10,$f6,$f8
/* f072a6c: 460c1082 */ mul.s $f2,$f2,$f12
/* f072a70: 00000000 */ nop
/* f072a74: 460c7382 */ mul.s $f14,$f14,$f12
/* f072a78: 46007107 */ neg.s $f4,$f14
/* f072a7c: e7aa00a8 */ swc1 $f10,0xa8($sp)
/* f072a80: 460a2182 */ mul.s $f6,$f4,$f10
/* f072a84: c7a40034 */ lwc1 $f4,0x34($sp)
/* f072a88: 46123202 */ mul.s $f8,$f6,$f18
/* f072a8c: 46082180 */ add.s $f6,$f4,$f8
/* f072a90: 460a1102 */ mul.s $f4,$f2,$f10
/* f072a94: e7a60034 */ swc1 $f6,0x34($sp)
/* f072a98: c7a6003c */ lwc1 $f6,0x3c($sp)
/* f072a9c: 46122202 */ mul.s $f8,$f4,$f18
/* f072aa0: 46083100 */ add.s $f4,$f6,$f8
/* f072aa4: c426a320 */ lwc1 $f6,%lo(var7f1aa320)($at)
/* f072aa8: 46065202 */ mul.s $f8,$f10,$f6
/* f072aac: e7a4003c */ swc1 $f4,0x3c($sp)
/* f072ab0: 44802000 */ mtc1 $zero,$f4
/* f072ab4: 00000000 */ nop
/* f072ab8: 46082400 */ add.s $f16,$f4,$f8
/* f072abc: 44068000 */ mfc1 $a2,$f16
/* f072ac0: 0fc20a87 */ jal func0f082a1c
/* f072ac4: 00000000 */ nop
.L0f072ac8:
/* f072ac8: 8fbf0024 */ lw $ra,0x24($sp)
.L0f072acc:
/* f072acc: c7a0009c */ lwc1 $f0,0x9c($sp)
/* f072ad0: 8fb00020 */ lw $s0,0x20($sp)
/* f072ad4: 03e00008 */ jr $ra
/* f072ad8: 27bd00a0 */ addiu $sp,$sp,0xa0
);
#endif
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel hoverbikeUpdateMovement
.late_rodata
glabel var7f1ab5d0pf
.word 0x3d32b179
glabel var7f1ab5d4pf
.word 0x3db6e2eb
glabel var7f1ab5d8pf
.word 0x3e99999a
glabel var7f1ab5dcpf
.word 0x3dcccccd
glabel var7f1ab5e0pf
.word 0x3e99999a
glabel var7f1ab5e4pf
.word 0x3dcccccd
glabel var7f1ab5e8pf
.word 0x3f6e147b
glabel var7f1ab5ecpf
.word 0x3f333333
glabel var7f1ab5f0pf
.word 0x3d23d70a
glabel var7f1ab5f4pf
.word 0x40c907a9
glabel var7f1ab5f8pf
.word 0x3dcccccd
glabel var7f1ab5fcpf
.word 0x3dcccccd
glabel var7f1ab600pf
.word 0x3ecccccd
glabel var7f1ab604pf
.word 0x3e80a8be
glabel var7f1ab608pf
.word 0x3fa5e355
glabel var7f1ab60cpf
.word 0x3f5d2f1c
glabel var7f1ab610pf
.word 0x3fa5e355
glabel var7f1ab614pf
.word 0x3f5d2f1c
glabel var7f1ab618pf
.word 0x3f76c8b4
glabel var7f1ab61cpf
.word 0x3e353f7d
glabel var7f1ab620pf
.word 0x3d43c9ef
glabel var7f1ab624pf
.word 0x3f7d70a4
glabel var7f1ab628pf
.word 0x3f4ccccd
glabel var7f1ab62cpf
.word 0xbdcccccd
glabel var7f1ab630pf
.word 0x459c4000
glabel var7f1ab634pf
.word 0x49f42400
glabel var7f1ab638pf
.word 0x3dcccccd
glabel var7f1ab63cpf
.word 0x3dcccccd
glabel var7f1ab640pf
.word 0x3a83126f
glabel var7f1ab644pf
.word 0x3dcccccd
glabel var7f1ab648pf
.word 0xbdcccccd
glabel var7f1ab64cpf
.word 0xbdcccccd
glabel var7f1ab650pf
.word 0xba83126f
glabel var7f1ab654pf
.word 0xbdcccccd
.text
/* f072d60: 27bdff78 */ addiu $sp,$sp,-136
/* f072d64: f7b40010 */ sdc1 $f20,0x10($sp)
/* f072d68: afa5008c */ sw $a1,0x8c($sp)
/* f072d6c: 4480a000 */ mtc1 $zero,$f20
/* f072d70: c7a6008c */ lwc1 $f6,0x8c($sp)
/* f072d74: 3c017f1b */ lui $at,0x7f1b
/* f072d78: 44877000 */ mtc1 $a3,$f14
/* f072d7c: 4614303c */ c.lt.s $f6,$f20
/* f072d80: c424b5d0 */ lwc1 $f4,-0x4a30($at)
/* f072d84: afbf001c */ sw $ra,0x1c($sp)
/* f072d88: afa60090 */ sw $a2,0x90($sp)
/* f072d8c: 46047302 */ mul.s $f12,$f14,$f4
/* f072d90: 45000009 */ bc1f .PF0f072db8
/* f072d94: 3c05800a */ lui $a1,0x800a
/* f072d98: 3c013f00 */ lui $at,0x3f00
/* f072d9c: 44814000 */ mtc1 $at,$f8
/* f072da0: 3c013f80 */ lui $at,0x3f80
/* f072da4: 44812000 */ mtc1 $at,$f4
/* f072da8: 46083282 */ mul.s $f10,$f6,$f8
/* f072dac: 460a2181 */ sub.s $f6,$f4,$f10
/* f072db0: 46066302 */ mul.s $f12,$f12,$f6
/* f072db4: 00000000 */ nop
.PF0f072db8:
/* f072db8: 3c013f00 */ lui $at,0x3f00
/* f072dbc: 44812000 */ mtc1 $at,$f4
/* f072dc0: c7a8008c */ lwc1 $f8,0x8c($sp)
/* f072dc4: 24a5a510 */ addiu $a1,$a1,-23280
/* f072dc8: 8cae0038 */ lw $t6,0x38($a1)
/* f072dcc: 46044382 */ mul.s $f14,$f8,$f4
/* f072dd0: 00001825 */ move $v1,$zero
/* f072dd4: 19c0000d */ blez $t6,.PF0f072e0c
/* f072dd8: 3c017f1b */ lui $at,0x7f1b
/* f072ddc: c420b5d4 */ lwc1 $f0,-0x4a2c($at)
/* f072de0: c48200ac */ lwc1 $f2,0xac($a0)
.PF0f072de4:
/* f072de4: 24630001 */ addiu $v1,$v1,0x1
/* f072de8: 46026281 */ sub.s $f10,$f12,$f2
/* f072dec: 46005182 */ mul.s $f6,$f10,$f0
/* f072df0: 46061200 */ add.s $f8,$f2,$f6
/* f072df4: e48800ac */ swc1 $f8,0xac($a0)
/* f072df8: 8caf0038 */ lw $t7,0x38($a1)
/* f072dfc: 006f082a */ slt $at,$v1,$t7
/* f072e00: 5420fff8 */ bnezl $at,.PF0f072de4
/* f072e04: c48200ac */ lwc1 $f2,0xac($a0)
/* f072e08: 00001825 */ move $v1,$zero
.PF0f072e0c:
/* f072e0c: 3c014140 */ lui $at,0x4140
/* f072e10: 44815000 */ mtc1 $at,$f10
/* f072e14: c48400ac */ lwc1 $f4,0xac($a0)
/* f072e18: e7ae0044 */ swc1 $f14,0x44($sp)
/* f072e1c: afa40088 */ sw $a0,0x88($sp)
/* f072e20: 460a2182 */ mul.s $f6,$f4,$f10
/* f072e24: afa30064 */ sw $v1,0x64($sp)
/* f072e28: 4606a200 */ add.s $f8,$f20,$f6
/* f072e2c: 0fc1c8d7 */ jal hoverpropGetTurnAngle
/* f072e30: e7a8006c */ swc1 $f8,0x6c($sp)
/* f072e34: e7a00080 */ swc1 $f0,0x80($sp)
/* f072e38: 0c00685b */ jal sinf
/* f072e3c: 46000306 */ mov.s $f12,$f0
/* f072e40: e7a0007c */ swc1 $f0,0x7c($sp)
/* f072e44: 0c006858 */ jal cosf
/* f072e48: c7ac0080 */ lwc1 $f12,0x80($sp)
/* f072e4c: c7b0008c */ lwc1 $f16,0x8c($sp)
/* f072e50: 3c05800a */ lui $a1,0x800a
/* f072e54: 24a5a510 */ addiu $a1,$a1,-23280
/* f072e58: 4610a03e */ c.le.s $f20,$f16
/* f072e5c: 8fa30064 */ lw $v1,0x64($sp)
/* f072e60: 8fa40088 */ lw $a0,0x88($sp)
/* f072e64: c7ae0044 */ lwc1 $f14,0x44($sp)
/* f072e68: 4500000c */ bc1f .PF0f072e9c
/* f072e6c: 3c017f1b */ lui $at,0x7f1b
/* f072e70: 3c017f1b */ lui $at,0x7f1b
/* f072e74: c432b5d8 */ lwc1 $f18,-0x4a28($at)
/* f072e78: 3c017f1b */ lui $at,0x7f1b
/* f072e7c: c424b5dc */ lwc1 $f4,-0x4a24($at)
/* f072e80: c4a8004c */ lwc1 $f8,0x4c($a1)
/* f072e84: 46048280 */ add.s $f10,$f16,$f4
/* f072e88: 46125182 */ mul.s $f6,$f10,$f18
/* f072e8c: 00000000 */ nop
/* f072e90: 46083082 */ mul.s $f2,$f6,$f8
/* f072e94: 1000000a */ b .PF0f072ec0
/* f072e98: 00000000 */ nop
.PF0f072e9c:
/* f072e9c: c432b5e0 */ lwc1 $f18,-0x4a20($at)
/* f072ea0: 3c017f1b */ lui $at,0x7f1b
/* f072ea4: c424b5e4 */ lwc1 $f4,-0x4a1c($at)
/* f072ea8: c4a8004c */ lwc1 $f8,0x4c($a1)
/* f072eac: 46102281 */ sub.s $f10,$f4,$f16
/* f072eb0: 46125182 */ mul.s $f6,$f10,$f18
/* f072eb4: 00000000 */ nop
/* f072eb8: 46083082 */ mul.s $f2,$f6,$f8
/* f072ebc: 00000000 */ nop
.PF0f072ec0:
/* f072ec0: c48c00b4 */ lwc1 $f12,0xb4($a0)
/* f072ec4: 3c013f80 */ lui $at,0x3f80
/* f072ec8: 460e603c */ c.lt.s $f12,$f14
/* f072ecc: 00000000 */ nop
/* f072ed0: 4502000b */ bc1fl .PF0f072f00
/* f072ed4: 46026181 */ sub.s $f6,$f12,$f2
/* f072ed8: 46026100 */ add.s $f4,$f12,$f2
/* f072edc: e48400b4 */ swc1 $f4,0xb4($a0)
/* f072ee0: c48a00b4 */ lwc1 $f10,0xb4($a0)
/* f072ee4: 460a703c */ c.lt.s $f14,$f10
/* f072ee8: 00000000 */ nop
/* f072eec: 4502000c */ bc1fl .PF0f072f20
/* f072ef0: 44816000 */ mtc1 $at,$f12
/* f072ef4: 10000009 */ b .PF0f072f1c
/* f072ef8: e48e00b4 */ swc1 $f14,0xb4($a0)
/* f072efc: 46026181 */ sub.s $f6,$f12,$f2
.PF0f072f00:
/* f072f00: e48600b4 */ swc1 $f6,0xb4($a0)
/* f072f04: c48800b4 */ lwc1 $f8,0xb4($a0)
/* f072f08: 460e403c */ c.lt.s $f8,$f14
/* f072f0c: 00000000 */ nop
/* f072f10: 45020003 */ bc1fl .PF0f072f20
/* f072f14: 44816000 */ mtc1 $at,$f12
/* f072f18: e48e00b4 */ swc1 $f14,0xb4($a0)
.PF0f072f1c:
/* f072f1c: 44816000 */ mtc1 $at,$f12
.PF0f072f20:
/* f072f20: 3c017f1b */ lui $at,0x7f1b
/* f072f24: c42ab5e8 */ lwc1 $f10,-0x4a18($at)
/* f072f28: c48400c8 */ lwc1 $f4,0xc8($a0)
/* f072f2c: 3c0140a0 */ lui $at,0x40a0
/* f072f30: 460a2182 */ mul.s $f6,$f4,$f10
/* f072f34: c48400c4 */ lwc1 $f4,0xc4($a0)
/* f072f38: e49000c4 */ swc1 $f16,0xc4($a0)
/* f072f3c: 46048281 */ sub.s $f10,$f16,$f4
/* f072f40: e48600c8 */ swc1 $f6,0xc8($a0)
/* f072f44: c48800c8 */ lwc1 $f8,0xc8($a0)
/* f072f48: 460a4180 */ add.s $f6,$f8,$f10
/* f072f4c: 44814000 */ mtc1 $at,$f8
/* f072f50: 3c01bf80 */ lui $at,0xbf80
/* f072f54: e48600c8 */ swc1 $f6,0xc8($a0)
/* f072f58: c48400c8 */ lwc1 $f4,0xc8($a0)
/* f072f5c: 46082082 */ mul.s $f2,$f4,$f8
/* f072f60: 4602603c */ c.lt.s $f12,$f2
/* f072f64: 00000000 */ nop
/* f072f68: 45020004 */ bc1fl .PF0f072f7c
/* f072f6c: 44816000 */ mtc1 $at,$f12
/* f072f70: 10000008 */ b .PF0f072f94
/* f072f74: 46006086 */ mov.s $f2,$f12
/* f072f78: 44816000 */ mtc1 $at,$f12
.PF0f072f7c:
/* f072f7c: 00000000 */ nop
/* f072f80: 460c103c */ c.lt.s $f2,$f12
/* f072f84: 00000000 */ nop
/* f072f88: 45020003 */ bc1fl .PF0f072f98
/* f072f8c: 4610a03e */ c.le.s $f20,$f16
/* f072f90: 46006086 */ mov.s $f2,$f12
.PF0f072f94:
/* f072f94: 4610a03e */ c.le.s $f20,$f16
.PF0f072f98:
/* f072f98: 00000000 */ nop
/* f072f9c: 45020010 */ bc1fl .PF0f072fe0
/* f072fa0: 4614103c */ c.lt.s $f2,$f20
/* f072fa4: 4602a03c */ c.lt.s $f20,$f2
/* f072fa8: 3c017f1b */ lui $at,0x7f1b
/* f072fac: 45000008 */ bc1f .PF0f072fd0
/* f072fb0: 00000000 */ nop
/* f072fb4: 46128282 */ mul.s $f10,$f16,$f18
/* f072fb8: c426b5ec */ lwc1 $f6,-0x4a14($at)
/* f072fbc: 46068102 */ mul.s $f4,$f16,$f6
/* f072fc0: 00000000 */ nop
/* f072fc4: 46022202 */ mul.s $f8,$f4,$f2
/* f072fc8: 1000000c */ b .PF0f072ffc
/* f072fcc: 46085300 */ add.s $f12,$f10,$f8
.PF0f072fd0:
/* f072fd0: 46128302 */ mul.s $f12,$f16,$f18
/* f072fd4: 10000009 */ b .PF0f072ffc
/* f072fd8: 00000000 */ nop
/* f072fdc: 4614103c */ c.lt.s $f2,$f20
.PF0f072fe0:
/* f072fe0: 00000000 */ nop
/* f072fe4: 45020005 */ bc1fl .PF0f072ffc
/* f072fe8: 46007306 */ mov.s $f12,$f14
/* f072fec: 46027182 */ mul.s $f6,$f14,$f2
/* f072ff0: 10000002 */ b .PF0f072ffc
/* f072ff4: 46067301 */ sub.s $f12,$f14,$f6
/* f072ff8: 46007306 */ mov.s $f12,$f14
.PF0f072ffc:
/* f072ffc: 3c017f1b */ lui $at,0x7f1b
/* f073000: c424b5f0 */ lwc1 $f4,-0x4a10($at)
/* f073004: 3c017f1b */ lui $at,0x7f1b
/* f073008: c428b5f4 */ lwc1 $f8,-0x4a0c($at)
/* f07300c: 46046282 */ mul.s $f10,$f12,$f4
/* f073010: 3c017f1b */ lui $at,0x7f1b
/* f073014: 46085182 */ mul.s $f6,$f10,$f8
/* f073018: c7aa0090 */ lwc1 $f10,0x90($sp)
/* f07301c: 460aa03e */ c.le.s $f20,$f10
/* f073020: 4606a100 */ add.s $f4,$f20,$f6
/* f073024: c7a60090 */ lwc1 $f6,0x90($sp)
/* f073028: 4500000a */ bc1f .PF0f073054
/* f07302c: e7a40070 */ swc1 $f4,0x70($sp)
/* f073030: 3c017f1b */ lui $at,0x7f1b
/* f073034: c428b5f8 */ lwc1 $f8,-0x4a08($at)
/* f073038: 46085180 */ add.s $f6,$f10,$f8
/* f07303c: c4aa004c */ lwc1 $f10,0x4c($a1)
/* f073040: 46123102 */ mul.s $f4,$f6,$f18
/* f073044: 00000000 */ nop
/* f073048: 460a2302 */ mul.s $f12,$f4,$f10
/* f07304c: 10000008 */ b .PF0f073070
/* f073050: 00000000 */ nop
.PF0f073054:
/* f073054: c428b5fc */ lwc1 $f8,-0x4a04($at)
/* f073058: 46064101 */ sub.s $f4,$f8,$f6
/* f07305c: c4a8004c */ lwc1 $f8,0x4c($a1)
/* f073060: 46122282 */ mul.s $f10,$f4,$f18
/* f073064: 00000000 */ nop
/* f073068: 46085302 */ mul.s $f12,$f10,$f8
/* f07306c: 00000000 */ nop
.PF0f073070:
/* f073070: 3c017f1b */ lui $at,0x7f1b
/* f073074: c426b600 */ lwc1 $f6,-0x4a00($at)
/* f073078: c7a40090 */ lwc1 $f4,0x90($sp)
/* f07307c: c48e00b0 */ lwc1 $f14,0xb0($a0)
/* f073080: 3c017f1b */ lui $at,0x7f1b
/* f073084: 46043082 */ mul.s $f2,$f6,$f4
/* f073088: 4602703c */ c.lt.s $f14,$f2
/* f07308c: 00000000 */ nop
/* f073090: 4502000b */ bc1fl .PF0f0730c0
/* f073094: 460c7181 */ sub.s $f6,$f14,$f12
/* f073098: 460c7280 */ add.s $f10,$f14,$f12
/* f07309c: e48a00b0 */ swc1 $f10,0xb0($a0)
/* f0730a0: c48800b0 */ lwc1 $f8,0xb0($a0)
/* f0730a4: 4608103c */ c.lt.s $f2,$f8
/* f0730a8: 00000000 */ nop
/* f0730ac: 4502000c */ bc1fl .PF0f0730e0
/* f0730b0: c7aa0090 */ lwc1 $f10,0x90($sp)
/* f0730b4: 10000009 */ b .PF0f0730dc
/* f0730b8: e48200b0 */ swc1 $f2,0xb0($a0)
/* f0730bc: 460c7181 */ sub.s $f6,$f14,$f12
.PF0f0730c0:
/* f0730c0: e48600b0 */ swc1 $f6,0xb0($a0)
/* f0730c4: c48400b0 */ lwc1 $f4,0xb0($a0)
/* f0730c8: 4602203c */ c.lt.s $f4,$f2
/* f0730cc: 00000000 */ nop
/* f0730d0: 45020003 */ bc1fl .PF0f0730e0
/* f0730d4: c7aa0090 */ lwc1 $f10,0x90($sp)
/* f0730d8: e48200b0 */ swc1 $f2,0xb0($a0)
.PF0f0730dc:
/* f0730dc: c7aa0090 */ lwc1 $f10,0x90($sp)
.PF0f0730e0:
/* f0730e0: c428b604 */ lwc1 $f8,-0x49fc($at)
/* f0730e4: 8ca20038 */ lw $v0,0x38($a1)
/* f0730e8: 46085182 */ mul.s $f6,$f10,$f8
/* f0730ec: c7a8007c */ lwc1 $f8,0x7c($sp)
/* f0730f0: 4606a100 */ add.s $f4,$f20,$f6
/* f0730f4: 18400033 */ blez $v0,.PF0f0731c4
/* f0730f8: e7a40068 */ swc1 $f4,0x68($sp)
/* f0730fc: c48a00b4 */ lwc1 $f10,0xb4($a0)
/* f073100: 3c017f1b */ lui $at,0x7f1b
/* f073104: c424b608 */ lwc1 $f4,-0x49f8($at)
/* f073108: 46085182 */ mul.s $f6,$f10,$f8
/* f07310c: c48a00b0 */ lwc1 $f10,0xb0($a0)
/* f073110: 3c017f1b */ lui $at,0x7f1b
/* f073114: 46043302 */ mul.s $f12,$f6,$f4
/* f073118: c424b60c */ lwc1 $f4,-0x49f4($at)
/* f07311c: 3c017f1b */ lui $at,0x7f1b
/* f073120: 46085182 */ mul.s $f6,$f10,$f8
/* f073124: c48a00b4 */ lwc1 $f10,0xb4($a0)
/* f073128: 46043382 */ mul.s $f14,$f6,$f4
/* f07312c: c426b610 */ lwc1 $f6,-0x49f0($at)
/* f073130: c48400b0 */ lwc1 $f4,0xb0($a0)
/* f073134: 46005202 */ mul.s $f8,$f10,$f0
/* f073138: 3c017f1b */ lui $at,0x7f1b
/* f07313c: 46002287 */ neg.s $f10,$f4
/* f073140: 46064402 */ mul.s $f16,$f8,$f6
/* f073144: c426b614 */ lwc1 $f6,-0x49ec($at)
/* f073148: 3c017f1b */ lui $at,0x7f1b
/* f07314c: 46005202 */ mul.s $f8,$f10,$f0
/* f073150: c422b618 */ lwc1 $f2,-0x49e8($at)
/* f073154: 46064482 */ mul.s $f18,$f8,$f6
/* f073158: 00000000 */ nop
.PF0f07315c:
/* f07315c: c48400d4 */ lwc1 $f4,0xd4($a0)
/* f073160: c48800d0 */ lwc1 $f8,0xd0($a0)
/* f073164: 24630001 */ addiu $v1,$v1,0x1
/* f073168: 46022282 */ mul.s $f10,$f4,$f2
/* f07316c: 00000000 */ nop
/* f073170: 46024182 */ mul.s $f6,$f8,$f2
/* f073174: e48a00d4 */ swc1 $f10,0xd4($a0)
/* f073178: c48400d4 */ lwc1 $f4,0xd4($a0)
/* f07317c: e48600d0 */ swc1 $f6,0xd0($a0)
/* f073180: c48800d0 */ lwc1 $f8,0xd0($a0)
/* f073184: 46102280 */ add.s $f10,$f4,$f16
/* f073188: 460c4180 */ add.s $f6,$f8,$f12
/* f07318c: e48a00d4 */ swc1 $f10,0xd4($a0)
/* f073190: c48400d4 */ lwc1 $f4,0xd4($a0)
/* f073194: e48600d0 */ swc1 $f6,0xd0($a0)
/* f073198: c48800d0 */ lwc1 $f8,0xd0($a0)
/* f07319c: 460e2280 */ add.s $f10,$f4,$f14
/* f0731a0: 46124180 */ add.s $f6,$f8,$f18
/* f0731a4: e48a00d4 */ swc1 $f10,0xd4($a0)
/* f0731a8: e48600d0 */ swc1 $f6,0xd0($a0)
/* f0731ac: 8ca20038 */ lw $v0,0x38($a1)
/* f0731b0: 0062082a */ slt $at,$v1,$v0
/* f0731b4: 1420ffe9 */ bnez $at,.PF0f07315c
/* f0731b8: 00000000 */ nop
/* f0731bc: 00001825 */ move $v1,$zero
/* f0731c0: c7b0008c */ lwc1 $f16,0x8c($sp)
.PF0f0731c4:
/* f0731c4: 1840001c */ blez $v0,.PF0f073238
/* f0731c8: 3c017f1b */ lui $at,0x7f1b
/* f0731cc: c42cb61c */ lwc1 $f12,-0x49e4($at)
/* f0731d0: 3c017f1b */ lui $at,0x7f1b
/* f0731d4: c422b620 */ lwc1 $f2,-0x49e0($at)
/* f0731d8: c48e00b8 */ lwc1 $f14,0xb8($a0)
.PF0f0731dc:
/* f0731dc: c7a40070 */ lwc1 $f4,0x70($sp)
/* f0731e0: c49000bc */ lwc1 $f16,0xbc($a0)
/* f0731e4: c49200c0 */ lwc1 $f18,0xc0($a0)
/* f0731e8: 460e2281 */ sub.s $f10,$f4,$f14
/* f0731ec: 24630001 */ addiu $v1,$v1,0x1
/* f0731f0: 46025202 */ mul.s $f8,$f10,$f2
/* f0731f4: 46087180 */ add.s $f6,$f14,$f8
/* f0731f8: e48600b8 */ swc1 $f6,0xb8($a0)
/* f0731fc: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f073200: 46102281 */ sub.s $f10,$f4,$f16
/* f073204: 460c5202 */ mul.s $f8,$f10,$f12
/* f073208: 46088180 */ add.s $f6,$f16,$f8
/* f07320c: e48600bc */ swc1 $f6,0xbc($a0)
/* f073210: c7a40068 */ lwc1 $f4,0x68($sp)
/* f073214: 46122281 */ sub.s $f10,$f4,$f18
/* f073218: 46025202 */ mul.s $f8,$f10,$f2
/* f07321c: 46089180 */ add.s $f6,$f18,$f8
/* f073220: e48600c0 */ swc1 $f6,0xc0($a0)
/* f073224: 8cb80038 */ lw $t8,0x38($a1)
/* f073228: 0078082a */ slt $at,$v1,$t8
/* f07322c: 5420ffeb */ bnezl $at,.PF0f0731dc
/* f073230: c48e00b8 */ lwc1 $f14,0xb8($a0)
/* f073234: c7b0008c */ lwc1 $f16,0x8c($sp)
.PF0f073238:
/* f073238: 3c017f1b */ lui $at,0x7f1b
/* f07323c: c424b624 */ lwc1 $f4,-0x49dc($at)
/* f073240: 4610203e */ c.le.s $f4,$f16
/* f073244: 00000000 */ nop
/* f073248: 4502000b */ bc1fl .PF0f073278
/* f07324c: 8c8200cc */ lw $v0,0xcc($a0)
/* f073250: 8c9900cc */ lw $t9,0xcc($a0)
/* f073254: 8ca80034 */ lw $t0,0x34($a1)
/* f073258: 03281021 */ addu $v0,$t9,$t0
/* f07325c: 284107d1 */ slti $at,$v0,0x7d1
/* f073260: 1420001e */ bnez $at,.PF0f0732dc
/* f073264: ac8200cc */ sw $v0,0xcc($a0)
/* f073268: 240207d0 */ li $v0,0x7d0
/* f07326c: 1000001b */ b .PF0f0732dc
/* f073270: ac8200cc */ sw $v0,0xcc($a0)
/* f073274: 8c8200cc */ lw $v0,0xcc($a0)
.PF0f073278:
/* f073278: 3c017f1b */ lui $at,0x7f1b
/* f07327c: 58400018 */ blezl $v0,.PF0f0732e0
/* f073280: 44822000 */ mtc1 $v0,$f4
/* f073284: c42ab628 */ lwc1 $f10,-0x49d8($at)
/* f073288: 3c017f1b */ lui $at,0x7f1b
/* f07328c: c7a8008c */ lwc1 $f8,0x8c($sp)
/* f073290: 4610503e */ c.le.s $f10,$f16
/* f073294: 00000000 */ nop
/* f073298: 45030011 */ bc1tl .PF0f0732e0
/* f07329c: 44822000 */ mtc1 $v0,$f4
/* f0732a0: c426b62c */ lwc1 $f6,-0x49d4($at)
/* f0732a4: 4608303e */ c.le.s $f6,$f8
/* f0732a8: 00000000 */ nop
/* f0732ac: 4502000a */ bc1fl .PF0f0732d8
/* f0732b0: ac8000cc */ sw $zero,0xcc($a0)
/* f0732b4: 8cab0034 */ lw $t3,0x34($a1)
/* f0732b8: 004b6023 */ subu $t4,$v0,$t3
/* f0732bc: ac8c00cc */ sw $t4,0xcc($a0)
/* f0732c0: 05810006 */ bgez $t4,.PF0f0732dc
/* f0732c4: 01801025 */ move $v0,$t4
/* f0732c8: ac8000cc */ sw $zero,0xcc($a0)
/* f0732cc: 10000003 */ b .PF0f0732dc
/* f0732d0: 00001025 */ move $v0,$zero
/* f0732d4: ac8000cc */ sw $zero,0xcc($a0)
.PF0f0732d8:
/* f0732d8: 00001025 */ move $v0,$zero
.PF0f0732dc:
/* f0732dc: 44822000 */ mtc1 $v0,$f4
.PF0f0732e0:
/* f0732e0: 3c017f1b */ lui $at,0x7f1b
/* f0732e4: c428b630 */ lwc1 $f8,-0x49d0($at)
/* f0732e8: 468022a0 */ cvt.s.w $f10,$f4
/* f0732ec: 3c017f1b */ lui $at,0x7f1b
/* f0732f0: c424b634 */ lwc1 $f4,-0x49cc($at)
/* f0732f4: c48c00d8 */ lwc1 $f12,0xd8($a0)
/* f0732f8: 8c8d0008 */ lw $t5,0x8($a0)
/* f0732fc: 46085182 */ mul.s $f6,$f10,$f8
/* f073300: c48a00d4 */ lwc1 $f10,0xd4($a0)
/* f073304: 000d7040 */ sll $t6,$t5,0x1
/* f073308: 46043083 */ div.s $f2,$f6,$f4
/* f07330c: 46001202 */ mul.s $f8,$f2,$f0
/* f073310: e48200dc */ swc1 $f2,0xdc($a0)
/* f073314: c7a4007c */ lwc1 $f4,0x7c($sp)
/* f073318: 46085180 */ add.s $f6,$f10,$f8
/* f07331c: 46046282 */ mul.s $f10,$f12,$f4
/* f073320: c48400d0 */ lwc1 $f4,0xd0($a0)
/* f073324: 46065200 */ add.s $f8,$f10,$f6
/* f073328: e48800a0 */ swc1 $f8,0xa0($a0)
/* f07332c: c7aa007c */ lwc1 $f10,0x7c($sp)
/* f073330: 460a1182 */ mul.s $f6,$f2,$f10
/* f073334: 46062200 */ add.s $f8,$f4,$f6
/* f073338: 46006282 */ mul.s $f10,$f12,$f0
/* f07333c: 460a4101 */ sub.s $f4,$f8,$f10
/* f073340: 05c1007d */ bgez $t6,.PF0f073538
/* f073344: e484009c */ swc1 $f4,0x9c($a0)
/* f073348: c486009c */ lwc1 $f6,0x9c($a0)
/* f07334c: 3c017f1b */ lui $at,0x7f1b
/* f073350: c428b638 */ lwc1 $f8,-0x49c8($at)
/* f073354: e7a60028 */ swc1 $f6,0x28($sp)
/* f073358: c7aa0028 */ lwc1 $f10,0x28($sp)
/* f07335c: 460a403c */ c.lt.s $f8,$f10
/* f073360: 00000000 */ nop
/* f073364: 45030075 */ bc1tl .PF0f07353c
/* f073368: 8fbf001c */ lw $ra,0x1c($sp)
/* f07336c: c48400a0 */ lwc1 $f4,0xa0($a0)
/* f073370: 3c017f1b */ lui $at,0x7f1b
/* f073374: c426b63c */ lwc1 $f6,-0x49c4($at)
/* f073378: e7a40024 */ swc1 $f4,0x24($sp)
/* f07337c: c7a80024 */ lwc1 $f8,0x24($sp)
/* f073380: 3c017f1b */ lui $at,0x7f1b
/* f073384: 4608303c */ c.lt.s $f6,$f8
/* f073388: 00000000 */ nop
/* f07338c: 4503006b */ bc1tl .PF0f07353c
/* f073390: 8fbf001c */ lw $ra,0x1c($sp)
/* f073394: c420b640 */ lwc1 $f0,-0x49c0($at)
/* f073398: c48200ac */ lwc1 $f2,0xac($a0)
/* f07339c: 4602003c */ c.lt.s $f0,$f2
/* f0733a0: 00000000 */ nop
/* f0733a4: 45030065 */ bc1tl .PF0f07353c
/* f0733a8: 8fbf001c */ lw $ra,0x1c($sp)
/* f0733ac: c49200b0 */ lwc1 $f18,0xb0($a0)
/* f0733b0: 4612003c */ c.lt.s $f0,$f18
/* f0733b4: 00000000 */ nop
/* f0733b8: 45030060 */ bc1tl .PF0f07353c
/* f0733bc: 8fbf001c */ lw $ra,0x1c($sp)
/* f0733c0: c48c00b4 */ lwc1 $f12,0xb4($a0)
/* f0733c4: 460c003c */ c.lt.s $f0,$f12
/* f0733c8: 00000000 */ nop
/* f0733cc: 4503005b */ bc1tl .PF0f07353c
/* f0733d0: 8fbf001c */ lw $ra,0x1c($sp)
/* f0733d4: c48e00b8 */ lwc1 $f14,0xb8($a0)
/* f0733d8: 460e003c */ c.lt.s $f0,$f14
/* f0733dc: 00000000 */ nop
/* f0733e0: 45030056 */ bc1tl .PF0f07353c
/* f0733e4: 8fbf001c */ lw $ra,0x1c($sp)
/* f0733e8: c49000bc */ lwc1 $f16,0xbc($a0)
/* f0733ec: e7b20038 */ swc1 $f18,0x38($sp)
/* f0733f0: 4610003c */ c.lt.s $f0,$f16
/* f0733f4: 00000000 */ nop
/* f0733f8: 45030050 */ bc1tl .PF0f07353c
/* f0733fc: 8fbf001c */ lw $ra,0x1c($sp)
/* f073400: c49200c0 */ lwc1 $f18,0xc0($a0)
/* f073404: 3c017f1b */ lui $at,0x7f1b
/* f073408: 4612003c */ c.lt.s $f0,$f18
/* f07340c: 00000000 */ nop
/* f073410: 4503004a */ bc1tl .PF0f07353c
/* f073414: 8fbf001c */ lw $ra,0x1c($sp)
/* f073418: c48000c8 */ lwc1 $f0,0xc8($a0)
/* f07341c: c424b644 */ lwc1 $f4,-0x49bc($at)
/* f073420: 3c017f1b */ lui $at,0x7f1b
/* f073424: 4600203c */ c.lt.s $f4,$f0
/* f073428: 00000000 */ nop
/* f07342c: 45030043 */ bc1tl .PF0f07353c
/* f073430: 8fbf001c */ lw $ra,0x1c($sp)
/* f073434: c426b648 */ lwc1 $f6,-0x49b8($at)
/* f073438: 3c017f1b */ lui $at,0x7f1b
/* f07343c: 4606503c */ c.lt.s $f10,$f6
/* f073440: 00000000 */ nop
/* f073444: 4503003d */ bc1tl .PF0f07353c
/* f073448: 8fbf001c */ lw $ra,0x1c($sp)
/* f07344c: c424b64c */ lwc1 $f4,-0x49b4($at)
/* f073450: 3c017f1b */ lui $at,0x7f1b
/* f073454: e7a0003c */ swc1 $f0,0x3c($sp)
/* f073458: 4604403c */ c.lt.s $f8,$f4
/* f07345c: 00000000 */ nop
/* f073460: 45030036 */ bc1tl .PF0f07353c
/* f073464: 8fbf001c */ lw $ra,0x1c($sp)
/* f073468: c420b650 */ lwc1 $f0,-0x49b0($at)
/* f07346c: c7aa0038 */ lwc1 $f10,0x38($sp)
/* f073470: 4600103c */ c.lt.s $f2,$f0
/* f073474: 00000000 */ nop
/* f073478: 45030030 */ bc1tl .PF0f07353c
/* f07347c: 8fbf001c */ lw $ra,0x1c($sp)
/* f073480: 4600503c */ c.lt.s $f10,$f0
/* f073484: 00000000 */ nop
/* f073488: 4503002c */ bc1tl .PF0f07353c
/* f07348c: 8fbf001c */ lw $ra,0x1c($sp)
/* f073490: 4600603c */ c.lt.s $f12,$f0
/* f073494: 00000000 */ nop
/* f073498: 45030028 */ bc1tl .PF0f07353c
/* f07349c: 8fbf001c */ lw $ra,0x1c($sp)
/* f0734a0: 4600703c */ c.lt.s $f14,$f0
/* f0734a4: 00000000 */ nop
/* f0734a8: 45030024 */ bc1tl .PF0f07353c
/* f0734ac: 8fbf001c */ lw $ra,0x1c($sp)
/* f0734b0: 4600803c */ c.lt.s $f16,$f0
/* f0734b4: 00000000 */ nop
/* f0734b8: 45030020 */ bc1tl .PF0f07353c
/* f0734bc: 8fbf001c */ lw $ra,0x1c($sp)
/* f0734c0: 4600903c */ c.lt.s $f18,$f0
/* f0734c4: c7a6003c */ lwc1 $f6,0x3c($sp)
/* f0734c8: 3c017f1b */ lui $at,0x7f1b
/* f0734cc: 4503001b */ bc1tl .PF0f07353c
/* f0734d0: 8fbf001c */ lw $ra,0x1c($sp)
/* f0734d4: c428b654 */ lwc1 $f8,-0x49ac($at)
/* f0734d8: 3c01bfff */ lui $at,0xbfff
/* f0734dc: 3421ffff */ ori $at,$at,0xffff
/* f0734e0: 4608303c */ c.lt.s $f6,$f8
/* f0734e4: 00000000 */ nop
/* f0734e8: 45030014 */ bc1tl .PF0f07353c
/* f0734ec: 8fbf001c */ lw $ra,0x1c($sp)
/* f0734f0: 8c8f0008 */ lw $t7,0x8($a0)
/* f0734f4: e494009c */ swc1 $f20,0x9c($a0)
/* f0734f8: e49400a0 */ swc1 $f20,0xa0($a0)
/* f0734fc: 01e1c024 */ and $t8,$t7,$at
/* f073500: e49400ac */ swc1 $f20,0xac($a0)
/* f073504: e49400b0 */ swc1 $f20,0xb0($a0)
/* f073508: e49400b4 */ swc1 $f20,0xb4($a0)
/* f07350c: e49400b8 */ swc1 $f20,0xb8($a0)
/* f073510: e49400bc */ swc1 $f20,0xbc($a0)
/* f073514: e49400c0 */ swc1 $f20,0xc0($a0)
/* f073518: e49400c4 */ swc1 $f20,0xc4($a0)
/* f07351c: e49400c8 */ swc1 $f20,0xc8($a0)
/* f073520: ac8000cc */ sw $zero,0xcc($a0)
/* f073524: e49400d0 */ swc1 $f20,0xd0($a0)
/* f073528: e49400d4 */ swc1 $f20,0xd4($a0)
/* f07352c: e49400d8 */ swc1 $f20,0xd8($a0)
/* f073530: e49400dc */ swc1 $f20,0xdc($a0)
/* f073534: ac980008 */ sw $t8,0x8($a0)
.PF0f073538:
/* f073538: 8fbf001c */ lw $ra,0x1c($sp)
.PF0f07353c:
/* f07353c: d7b40010 */ ldc1 $f20,0x10($sp)
/* f073540: 27bd0088 */ addiu $sp,$sp,0x88
/* f073544: 03e00008 */ jr $ra
/* f073548: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel hoverbikeUpdateMovement
.late_rodata
glabel var7f1aa324
.word 0x3d32b179
glabel var7f1aa328
.word 0x3d99999a
glabel var7f1aa32c
.word 0x3dcccccd
glabel var7f1aa330
.word 0x3e99999a
glabel var7f1aa334
.word 0x3dcccccd
glabel var7f1aa338
.word 0x3e99999a
glabel var7f1aa33c
.word 0x3f6e147b
glabel var7f1aa340
.word 0x3e99999a
glabel var7f1aa344
.word 0x3f333333
glabel var7f1aa348
.word 0x3e99999a
glabel var7f1aa34c
.word 0x3d23d70a
glabel var7f1aa350
.word 0x40c907a9
glabel var7f1aa354
.word 0x3dcccccd
glabel var7f1aa358
.word 0x3e99999a
glabel var7f1aa35c
.word 0x3dcccccd
glabel var7f1aa360
.word 0x3e99999a
glabel var7f1aa364
.word 0x3ecccccd
glabel var7f1aa368
.word 0x3e80a8be
glabel var7f1aa36c
.word 0x3f8a3d71
glabel var7f1aa370
.word 0x3f3851ec
glabel var7f1aa374
.word 0x3f8a3d71
glabel var7f1aa378
.word 0x3f3851ec
glabel var7f1aa37c
.word 0x3f7851ec
glabel var7f1aa380
.word 0x3d23d70a
glabel var7f1aa384
.word 0x3e19999a
glabel var7f1aa388
.word 0x3f7d70a4
glabel var7f1aa38c
.word 0x3f4ccccd
glabel var7f1aa390
.word 0xbdcccccd
glabel var7f1aa394
.word 0x459c4000
glabel var7f1aa398
.word 0x4a127c00
glabel var7f1aa39c
.word 0x3dcccccd
glabel var7f1aa3a0
.word 0x3dcccccd
glabel var7f1aa3a4
.word 0x3a83126f
glabel var7f1aa3a8
.word 0x3dcccccd
glabel var7f1aa3ac
.word 0xbdcccccd
glabel var7f1aa3b0
.word 0xbdcccccd
glabel var7f1aa3b4
.word 0xba83126f
glabel var7f1aa3b8
.word 0xbdcccccd
.text
/* f072adc: 27bdff78 */ addiu $sp,$sp,-136
/* f072ae0: f7b40010 */ sdc1 $f20,0x10($sp)
/* f072ae4: afa5008c */ sw $a1,0x8c($sp)
/* f072ae8: 4480a000 */ mtc1 $zero,$f20
/* f072aec: c7a6008c */ lwc1 $f6,0x8c($sp)
/* f072af0: 3c017f1b */ lui $at,%hi(var7f1aa324)
/* f072af4: 44877000 */ mtc1 $a3,$f14
/* f072af8: 4614303c */ c.lt.s $f6,$f20
/* f072afc: c424a324 */ lwc1 $f4,%lo(var7f1aa324)($at)
/* f072b00: afbf001c */ sw $ra,0x1c($sp)
/* f072b04: afa60090 */ sw $a2,0x90($sp)
/* f072b08: 46047302 */ mul.s $f12,$f14,$f4
/* f072b0c: 45000009 */ bc1f .L0f072b34
/* f072b10: 3c05800a */ lui $a1,%hi(g_Vars)
/* f072b14: 3c013f00 */ lui $at,0x3f00
/* f072b18: 44814000 */ mtc1 $at,$f8
/* f072b1c: 3c013f80 */ lui $at,0x3f80
/* f072b20: 44812000 */ mtc1 $at,$f4
/* f072b24: 46083282 */ mul.s $f10,$f6,$f8
/* f072b28: 460a2181 */ sub.s $f6,$f4,$f10
/* f072b2c: 46066302 */ mul.s $f12,$f12,$f6
/* f072b30: 00000000 */ nop
.L0f072b34:
/* f072b34: 3c013f00 */ lui $at,0x3f00
/* f072b38: 44812000 */ mtc1 $at,$f4
/* f072b3c: c7a8008c */ lwc1 $f8,0x8c($sp)
/* f072b40: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars)
/* f072b44: 8cae0038 */ lw $t6,0x38($a1)
/* f072b48: 46044382 */ mul.s $f14,$f8,$f4
/* f072b4c: 00001825 */ or $v1,$zero,$zero
/* f072b50: 19c0000d */ blez $t6,.L0f072b88
/* f072b54: 3c017f1b */ lui $at,%hi(var7f1aa328)
/* f072b58: c420a328 */ lwc1 $f0,%lo(var7f1aa328)($at)
/* f072b5c: c48200ac */ lwc1 $f2,0xac($a0)
.L0f072b60:
/* f072b60: 24630001 */ addiu $v1,$v1,0x1
/* f072b64: 46026281 */ sub.s $f10,$f12,$f2
/* f072b68: 46005182 */ mul.s $f6,$f10,$f0
/* f072b6c: 46061200 */ add.s $f8,$f2,$f6
/* f072b70: e48800ac */ swc1 $f8,0xac($a0)
/* f072b74: 8caf0038 */ lw $t7,0x38($a1)
/* f072b78: 006f082a */ slt $at,$v1,$t7
/* f072b7c: 5420fff8 */ bnezl $at,.L0f072b60
/* f072b80: c48200ac */ lwc1 $f2,0xac($a0)
/* f072b84: 00001825 */ or $v1,$zero,$zero
.L0f072b88:
/* f072b88: 3c014140 */ lui $at,0x4140
/* f072b8c: 44815000 */ mtc1 $at,$f10
/* f072b90: c48400ac */ lwc1 $f4,0xac($a0)
/* f072b94: e7ae0044 */ swc1 $f14,0x44($sp)
/* f072b98: afa40088 */ sw $a0,0x88($sp)
/* f072b9c: 460a2182 */ mul.s $f6,$f4,$f10
/* f072ba0: afa30064 */ sw $v1,0x64($sp)
/* f072ba4: 4606a200 */ add.s $f8,$f20,$f6
/* f072ba8: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f072bac: e7a8006c */ swc1 $f8,0x6c($sp)
/* f072bb0: e7a00080 */ swc1 $f0,0x80($sp)
/* f072bb4: 0c0068f7 */ jal sinf
/* f072bb8: 46000306 */ mov.s $f12,$f0
/* f072bbc: e7a0007c */ swc1 $f0,0x7c($sp)
/* f072bc0: 0c0068f4 */ jal cosf
/* f072bc4: c7ac0080 */ lwc1 $f12,0x80($sp)
/* f072bc8: c7b0008c */ lwc1 $f16,0x8c($sp)
/* f072bcc: 3c05800a */ lui $a1,%hi(g_Vars)
/* f072bd0: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars)
/* f072bd4: 4610a03e */ c.le.s $f20,$f16
/* f072bd8: 8fa30064 */ lw $v1,0x64($sp)
/* f072bdc: 8fa40088 */ lw $a0,0x88($sp)
/* f072be0: c7ae0044 */ lwc1 $f14,0x44($sp)
/* f072be4: 4500000c */ bc1f .L0f072c18
/* f072be8: 3c017f1b */ lui $at,%hi(var7f1aa32c)
/* f072bec: 3c017f1b */ lui $at,%hi(var7f1aa330)
/* f072bf0: c424a32c */ lwc1 $f4,%lo(var7f1aa32c)($at)
/* f072bf4: 3c017f1b */ lui $at,%hi(var7f1aa334)
/* f072bf8: c426a330 */ lwc1 $f6,%lo(var7f1aa330)($at)
/* f072bfc: 46048280 */ add.s $f10,$f16,$f4
/* f072c00: c4a4004c */ lwc1 $f4,0x4c($a1)
/* f072c04: 46065202 */ mul.s $f8,$f10,$f6
/* f072c08: 00000000 */ nop
/* f072c0c: 46044082 */ mul.s $f2,$f8,$f4
/* f072c10: 1000000a */ b .L0f072c3c
/* f072c14: 00000000 */ nop
.L0f072c18:
/* f072c18: c42aa334 */ lwc1 $f10,%lo(var7f1aa334)($at)
/* f072c1c: 3c017f1b */ lui $at,%hi(var7f1aa338)
/* f072c20: c428a338 */ lwc1 $f8,%lo(var7f1aa338)($at)
/* f072c24: 46105181 */ sub.s $f6,$f10,$f16
/* f072c28: c4aa004c */ lwc1 $f10,0x4c($a1)
/* f072c2c: 46083102 */ mul.s $f4,$f6,$f8
/* f072c30: 00000000 */ nop
/* f072c34: 460a2082 */ mul.s $f2,$f4,$f10
/* f072c38: 00000000 */ nop
.L0f072c3c:
/* f072c3c: c49200b4 */ lwc1 $f18,0xb4($a0)
/* f072c40: 3c013f80 */ lui $at,0x3f80
/* f072c44: 44816000 */ mtc1 $at,$f12
/* f072c48: 460e903c */ c.lt.s $f18,$f14
/* f072c4c: 3c017f1b */ lui $at,%hi(var7f1aa33c)
/* f072c50: 4502000b */ bc1fl .L0f072c80
/* f072c54: 46029101 */ sub.s $f4,$f18,$f2
/* f072c58: 46029180 */ add.s $f6,$f18,$f2
/* f072c5c: e48600b4 */ swc1 $f6,0xb4($a0)
/* f072c60: c48800b4 */ lwc1 $f8,0xb4($a0)
/* f072c64: 4608703c */ c.lt.s $f14,$f8
/* f072c68: 00000000 */ nop
/* f072c6c: 4502000c */ bc1fl .L0f072ca0
/* f072c70: c48600c8 */ lwc1 $f6,0xc8($a0)
/* f072c74: 10000009 */ b .L0f072c9c
/* f072c78: e48e00b4 */ swc1 $f14,0xb4($a0)
/* f072c7c: 46029101 */ sub.s $f4,$f18,$f2
.L0f072c80:
/* f072c80: e48400b4 */ swc1 $f4,0xb4($a0)
/* f072c84: c48a00b4 */ lwc1 $f10,0xb4($a0)
/* f072c88: 460e503c */ c.lt.s $f10,$f14
/* f072c8c: 00000000 */ nop
/* f072c90: 45020003 */ bc1fl .L0f072ca0
/* f072c94: c48600c8 */ lwc1 $f6,0xc8($a0)
/* f072c98: e48e00b4 */ swc1 $f14,0xb4($a0)
.L0f072c9c:
/* f072c9c: c48600c8 */ lwc1 $f6,0xc8($a0)
.L0f072ca0:
/* f072ca0: c428a33c */ lwc1 $f8,%lo(var7f1aa33c)($at)
/* f072ca4: 3c0140a0 */ lui $at,0x40a0
/* f072ca8: 46083102 */ mul.s $f4,$f6,$f8
/* f072cac: c48600c4 */ lwc1 $f6,0xc4($a0)
/* f072cb0: e49000c4 */ swc1 $f16,0xc4($a0)
/* f072cb4: 46068201 */ sub.s $f8,$f16,$f6
/* f072cb8: e48400c8 */ swc1 $f4,0xc8($a0)
/* f072cbc: c48a00c8 */ lwc1 $f10,0xc8($a0)
/* f072cc0: 46085100 */ add.s $f4,$f10,$f8
/* f072cc4: 44815000 */ mtc1 $at,$f10
/* f072cc8: 3c01bf80 */ lui $at,0xbf80
/* f072ccc: e48400c8 */ swc1 $f4,0xc8($a0)
/* f072cd0: c48600c8 */ lwc1 $f6,0xc8($a0)
/* f072cd4: 460a3082 */ mul.s $f2,$f6,$f10
/* f072cd8: 4602603c */ c.lt.s $f12,$f2
/* f072cdc: 00000000 */ nop
/* f072ce0: 45020004 */ bc1fl .L0f072cf4
/* f072ce4: 44816000 */ mtc1 $at,$f12
/* f072ce8: 10000008 */ b .L0f072d0c
/* f072cec: 46006086 */ mov.s $f2,$f12
/* f072cf0: 44816000 */ mtc1 $at,$f12
.L0f072cf4:
/* f072cf4: 00000000 */ nop
/* f072cf8: 460c103c */ c.lt.s $f2,$f12
/* f072cfc: 00000000 */ nop
/* f072d00: 45020003 */ bc1fl .L0f072d10
/* f072d04: 4610a03e */ c.le.s $f20,$f16
/* f072d08: 46006086 */ mov.s $f2,$f12
.L0f072d0c:
/* f072d0c: 4610a03e */ c.le.s $f20,$f16
.L0f072d10:
/* f072d10: 00000000 */ nop
/* f072d14: 45020015 */ bc1fl .L0f072d6c
/* f072d18: 4614103c */ c.lt.s $f2,$f20
/* f072d1c: 4602a03c */ c.lt.s $f20,$f2
/* f072d20: 3c017f1b */ lui $at,%hi(var7f1aa340)
/* f072d24: 4500000c */ bc1f .L0f072d58
/* f072d28: 00000000 */ nop
/* f072d2c: 3c017f1b */ lui $at,%hi(var7f1aa344)
/* f072d30: c428a340 */ lwc1 $f8,%lo(var7f1aa340)($at)
/* f072d34: 3c017f1b */ lui $at,%hi(var7f1aa348)
/* f072d38: c426a344 */ lwc1 $f6,%lo(var7f1aa344)($at)
/* f072d3c: 46088102 */ mul.s $f4,$f16,$f8
/* f072d40: 00000000 */ nop
/* f072d44: 46068282 */ mul.s $f10,$f16,$f6
/* f072d48: 00000000 */ nop
/* f072d4c: 46025202 */ mul.s $f8,$f10,$f2
/* f072d50: 1000000d */ b .L0f072d88
/* f072d54: 46082300 */ add.s $f12,$f4,$f8
.L0f072d58:
/* f072d58: c426a348 */ lwc1 $f6,%lo(var7f1aa348)($at)
/* f072d5c: 46068302 */ mul.s $f12,$f16,$f6
/* f072d60: 10000009 */ b .L0f072d88
/* f072d64: 00000000 */ nop
/* f072d68: 4614103c */ c.lt.s $f2,$f20
.L0f072d6c:
/* f072d6c: 00000000 */ nop
/* f072d70: 45020005 */ bc1fl .L0f072d88
/* f072d74: 46007306 */ mov.s $f12,$f14
/* f072d78: 46027282 */ mul.s $f10,$f14,$f2
/* f072d7c: 10000002 */ b .L0f072d88
/* f072d80: 460a7301 */ sub.s $f12,$f14,$f10
/* f072d84: 46007306 */ mov.s $f12,$f14
.L0f072d88:
/* f072d88: 3c017f1b */ lui $at,%hi(var7f1aa34c)
/* f072d8c: c424a34c */ lwc1 $f4,%lo(var7f1aa34c)($at)
/* f072d90: 3c017f1b */ lui $at,%hi(var7f1aa350)
/* f072d94: c426a350 */ lwc1 $f6,%lo(var7f1aa350)($at)
/* f072d98: 46046202 */ mul.s $f8,$f12,$f4
/* f072d9c: c7b20090 */ lwc1 $f18,0x90($sp)
/* f072da0: 3c017f1b */ lui $at,%hi(var7f1aa354)
/* f072da4: 4612a03e */ c.le.s $f20,$f18
/* f072da8: 46064282 */ mul.s $f10,$f8,$f6
/* f072dac: 460aa100 */ add.s $f4,$f20,$f10
/* f072db0: 4500000c */ bc1f .L0f072de4
/* f072db4: e7a40070 */ swc1 $f4,0x70($sp)
/* f072db8: 3c017f1b */ lui $at,%hi(var7f1aa358)
/* f072dbc: c428a354 */ lwc1 $f8,%lo(var7f1aa354)($at)
/* f072dc0: 3c017f1b */ lui $at,%hi(var7f1aa35c)
/* f072dc4: c42aa358 */ lwc1 $f10,%lo(var7f1aa358)($at)
/* f072dc8: 46089180 */ add.s $f6,$f18,$f8
/* f072dcc: c4a8004c */ lwc1 $f8,0x4c($a1)
/* f072dd0: 460a3102 */ mul.s $f4,$f6,$f10
/* f072dd4: 00000000 */ nop
/* f072dd8: 46082302 */ mul.s $f12,$f4,$f8
/* f072ddc: 1000000a */ b .L0f072e08
/* f072de0: 00000000 */ nop
.L0f072de4:
/* f072de4: c426a35c */ lwc1 $f6,%lo(var7f1aa35c)($at)
/* f072de8: 3c017f1b */ lui $at,%hi(var7f1aa360)
/* f072dec: c424a360 */ lwc1 $f4,%lo(var7f1aa360)($at)
/* f072df0: 46123281 */ sub.s $f10,$f6,$f18
/* f072df4: c4a6004c */ lwc1 $f6,0x4c($a1)
/* f072df8: 46045202 */ mul.s $f8,$f10,$f4
/* f072dfc: 00000000 */ nop
/* f072e00: 46064302 */ mul.s $f12,$f8,$f6
/* f072e04: 00000000 */ nop
.L0f072e08:
/* f072e08: 3c017f1b */ lui $at,%hi(var7f1aa364)
/* f072e0c: c42aa364 */ lwc1 $f10,%lo(var7f1aa364)($at)
/* f072e10: c48e00b0 */ lwc1 $f14,0xb0($a0)
/* f072e14: 3c017f1b */ lui $at,%hi(var7f1aa368)
/* f072e18: 46125082 */ mul.s $f2,$f10,$f18
/* f072e1c: 4602703c */ c.lt.s $f14,$f2
/* f072e20: 00000000 */ nop
/* f072e24: 4502000b */ bc1fl .L0f072e54
/* f072e28: 460c7181 */ sub.s $f6,$f14,$f12
/* f072e2c: 460c7100 */ add.s $f4,$f14,$f12
/* f072e30: e48400b0 */ swc1 $f4,0xb0($a0)
/* f072e34: c48800b0 */ lwc1 $f8,0xb0($a0)
/* f072e38: 4608103c */ c.lt.s $f2,$f8
/* f072e3c: 00000000 */ nop
/* f072e40: 4500000b */ bc1f .L0f072e70
/* f072e44: 00000000 */ nop
/* f072e48: 10000009 */ b .L0f072e70
/* f072e4c: e48200b0 */ swc1 $f2,0xb0($a0)
/* f072e50: 460c7181 */ sub.s $f6,$f14,$f12
.L0f072e54:
/* f072e54: e48600b0 */ swc1 $f6,0xb0($a0)
/* f072e58: c48a00b0 */ lwc1 $f10,0xb0($a0)
/* f072e5c: 4602503c */ c.lt.s $f10,$f2
/* f072e60: 00000000 */ nop
/* f072e64: 45000002 */ bc1f .L0f072e70
/* f072e68: 00000000 */ nop
/* f072e6c: e48200b0 */ swc1 $f2,0xb0($a0)
.L0f072e70:
/* f072e70: c424a368 */ lwc1 $f4,%lo(var7f1aa368)($at)
/* f072e74: 8ca20038 */ lw $v0,0x38($a1)
/* f072e78: 46049202 */ mul.s $f8,$f18,$f4
/* f072e7c: c7a4007c */ lwc1 $f4,0x7c($sp)
/* f072e80: 4608a180 */ add.s $f6,$f20,$f8
/* f072e84: 18400032 */ blez $v0,.L0f072f50
/* f072e88: e7a60068 */ swc1 $f6,0x68($sp)
/* f072e8c: c48a00b4 */ lwc1 $f10,0xb4($a0)
/* f072e90: 3c017f1b */ lui $at,%hi(var7f1aa36c)
/* f072e94: c426a36c */ lwc1 $f6,%lo(var7f1aa36c)($at)
/* f072e98: 46045202 */ mul.s $f8,$f10,$f4
/* f072e9c: c48a00b0 */ lwc1 $f10,0xb0($a0)
/* f072ea0: 3c017f1b */ lui $at,%hi(var7f1aa370)
/* f072ea4: 46064302 */ mul.s $f12,$f8,$f6
/* f072ea8: c426a370 */ lwc1 $f6,%lo(var7f1aa370)($at)
/* f072eac: 3c017f1b */ lui $at,%hi(var7f1aa374)
/* f072eb0: 46045202 */ mul.s $f8,$f10,$f4
/* f072eb4: c48a00b4 */ lwc1 $f10,0xb4($a0)
/* f072eb8: 46064382 */ mul.s $f14,$f8,$f6
/* f072ebc: c428a374 */ lwc1 $f8,%lo(var7f1aa374)($at)
/* f072ec0: c48600b0 */ lwc1 $f6,0xb0($a0)
/* f072ec4: 46005102 */ mul.s $f4,$f10,$f0
/* f072ec8: 3c017f1b */ lui $at,%hi(var7f1aa378)
/* f072ecc: 46003287 */ neg.s $f10,$f6
/* f072ed0: 46082402 */ mul.s $f16,$f4,$f8
/* f072ed4: c428a378 */ lwc1 $f8,%lo(var7f1aa378)($at)
/* f072ed8: 3c017f1b */ lui $at,%hi(var7f1aa37c)
/* f072edc: 46005102 */ mul.s $f4,$f10,$f0
/* f072ee0: c422a37c */ lwc1 $f2,%lo(var7f1aa37c)($at)
/* f072ee4: 46082482 */ mul.s $f18,$f4,$f8
/* f072ee8: 00000000 */ nop
.L0f072eec:
/* f072eec: c48600d4 */ lwc1 $f6,0xd4($a0)
/* f072ef0: c48400d0 */ lwc1 $f4,0xd0($a0)
/* f072ef4: 24630001 */ addiu $v1,$v1,0x1
/* f072ef8: 46023282 */ mul.s $f10,$f6,$f2
/* f072efc: 00000000 */ nop
/* f072f00: 46022202 */ mul.s $f8,$f4,$f2
/* f072f04: e48a00d4 */ swc1 $f10,0xd4($a0)
/* f072f08: c48600d4 */ lwc1 $f6,0xd4($a0)
/* f072f0c: e48800d0 */ swc1 $f8,0xd0($a0)
/* f072f10: c48400d0 */ lwc1 $f4,0xd0($a0)
/* f072f14: 46103280 */ add.s $f10,$f6,$f16
/* f072f18: 460c2200 */ add.s $f8,$f4,$f12
/* f072f1c: e48a00d4 */ swc1 $f10,0xd4($a0)
/* f072f20: c48600d4 */ lwc1 $f6,0xd4($a0)
/* f072f24: e48800d0 */ swc1 $f8,0xd0($a0)
/* f072f28: c48400d0 */ lwc1 $f4,0xd0($a0)
/* f072f2c: 460e3280 */ add.s $f10,$f6,$f14
/* f072f30: 46122200 */ add.s $f8,$f4,$f18
/* f072f34: e48a00d4 */ swc1 $f10,0xd4($a0)
/* f072f38: e48800d0 */ swc1 $f8,0xd0($a0)
/* f072f3c: 8ca20038 */ lw $v0,0x38($a1)
/* f072f40: 0062082a */ slt $at,$v1,$v0
/* f072f44: 1420ffe9 */ bnez $at,.L0f072eec
/* f072f48: 00000000 */ nop
/* f072f4c: 00001825 */ or $v1,$zero,$zero
.L0f072f50:
/* f072f50: 1840001b */ blez $v0,.L0f072fc0
/* f072f54: 3c017f1b */ lui $at,%hi(var7f1aa380)
/* f072f58: c432a380 */ lwc1 $f18,%lo(var7f1aa380)($at)
/* f072f5c: 3c017f1b */ lui $at,%hi(var7f1aa384)
/* f072f60: c422a384 */ lwc1 $f2,%lo(var7f1aa384)($at)
/* f072f64: c48c00b8 */ lwc1 $f12,0xb8($a0)
.L0f072f68:
/* f072f68: c7a60070 */ lwc1 $f6,0x70($sp)
/* f072f6c: c48e00bc */ lwc1 $f14,0xbc($a0)
/* f072f70: c49000c0 */ lwc1 $f16,0xc0($a0)
/* f072f74: 460c3281 */ sub.s $f10,$f6,$f12
/* f072f78: 24630001 */ addiu $v1,$v1,0x1
/* f072f7c: 46125102 */ mul.s $f4,$f10,$f18
/* f072f80: 46046200 */ add.s $f8,$f12,$f4
/* f072f84: e48800b8 */ swc1 $f8,0xb8($a0)
/* f072f88: c7a6006c */ lwc1 $f6,0x6c($sp)
/* f072f8c: 460e3281 */ sub.s $f10,$f6,$f14
/* f072f90: 46025102 */ mul.s $f4,$f10,$f2
/* f072f94: 46047200 */ add.s $f8,$f14,$f4
/* f072f98: e48800bc */ swc1 $f8,0xbc($a0)
/* f072f9c: c7a60068 */ lwc1 $f6,0x68($sp)
/* f072fa0: 46103281 */ sub.s $f10,$f6,$f16
/* f072fa4: 46125102 */ mul.s $f4,$f10,$f18
/* f072fa8: 46048200 */ add.s $f8,$f16,$f4
/* f072fac: e48800c0 */ swc1 $f8,0xc0($a0)
/* f072fb0: 8cb80038 */ lw $t8,0x38($a1)
/* f072fb4: 0078082a */ slt $at,$v1,$t8
/* f072fb8: 5420ffeb */ bnezl $at,.L0f072f68
/* f072fbc: c48c00b8 */ lwc1 $f12,0xb8($a0)
.L0f072fc0:
/* f072fc0: 3c017f1b */ lui $at,%hi(var7f1aa388)
/* f072fc4: c7a2008c */ lwc1 $f2,0x8c($sp)
/* f072fc8: c426a388 */ lwc1 $f6,%lo(var7f1aa388)($at)
/* f072fcc: 4602303e */ c.le.s $f6,$f2
/* f072fd0: 00000000 */ nop
/* f072fd4: 4502000b */ bc1fl .L0f073004
/* f072fd8: 8c8200cc */ lw $v0,0xcc($a0)
/* f072fdc: 8c9900cc */ lw $t9,0xcc($a0)
/* f072fe0: 8ca80034 */ lw $t0,0x34($a1)
/* f072fe4: 03281021 */ addu $v0,$t9,$t0
/* f072fe8: 28410961 */ slti $at,$v0,0x961
/* f072fec: 1420001d */ bnez $at,.L0f073064
/* f072ff0: ac8200cc */ sw $v0,0xcc($a0)
/* f072ff4: 24020960 */ addiu $v0,$zero,0x960
/* f072ff8: 1000001a */ b .L0f073064
/* f072ffc: ac8200cc */ sw $v0,0xcc($a0)
/* f073000: 8c8200cc */ lw $v0,0xcc($a0)
.L0f073004:
/* f073004: 3c017f1b */ lui $at,%hi(var7f1aa38c)
/* f073008: 58400017 */ blezl $v0,.L0f073068
/* f07300c: 44824000 */ mtc1 $v0,$f8
/* f073010: c42aa38c */ lwc1 $f10,%lo(var7f1aa38c)($at)
/* f073014: 3c017f1b */ lui $at,%hi(var7f1aa390)
/* f073018: 4602503e */ c.le.s $f10,$f2
/* f07301c: 00000000 */ nop
/* f073020: 45030011 */ bc1tl .L0f073068
/* f073024: 44824000 */ mtc1 $v0,$f8
/* f073028: c424a390 */ lwc1 $f4,%lo(var7f1aa390)($at)
/* f07302c: 4602203e */ c.le.s $f4,$f2
/* f073030: 00000000 */ nop
/* f073034: 4502000a */ bc1fl .L0f073060
/* f073038: ac8000cc */ sw $zero,0xcc($a0)
/* f07303c: 8cab0034 */ lw $t3,0x34($a1)
/* f073040: 004b6023 */ subu $t4,$v0,$t3
/* f073044: ac8c00cc */ sw $t4,0xcc($a0)
/* f073048: 05810006 */ bgez $t4,.L0f073064
/* f07304c: 01801025 */ or $v0,$t4,$zero
/* f073050: ac8000cc */ sw $zero,0xcc($a0)
/* f073054: 10000003 */ b .L0f073064
/* f073058: 00001025 */ or $v0,$zero,$zero
/* f07305c: ac8000cc */ sw $zero,0xcc($a0)
.L0f073060:
/* f073060: 00001025 */ or $v0,$zero,$zero
.L0f073064:
/* f073064: 44824000 */ mtc1 $v0,$f8
.L0f073068:
/* f073068: 3c017f1b */ lui $at,%hi(var7f1aa394)
/* f07306c: c42aa394 */ lwc1 $f10,%lo(var7f1aa394)($at)
/* f073070: 468041a0 */ cvt.s.w $f6,$f8
/* f073074: 3c017f1b */ lui $at,%hi(var7f1aa398)
/* f073078: c428a398 */ lwc1 $f8,%lo(var7f1aa398)($at)
/* f07307c: c48c00d8 */ lwc1 $f12,0xd8($a0)
/* f073080: 8c8d0008 */ lw $t5,0x8($a0)
/* f073084: 460a3102 */ mul.s $f4,$f6,$f10
/* f073088: c48600d4 */ lwc1 $f6,0xd4($a0)
/* f07308c: 000d7040 */ sll $t6,$t5,0x1
/* f073090: 46082083 */ div.s $f2,$f4,$f8
/* f073094: 46001282 */ mul.s $f10,$f2,$f0
/* f073098: e48200dc */ swc1 $f2,0xdc($a0)
/* f07309c: c7a8007c */ lwc1 $f8,0x7c($sp)
/* f0730a0: 460a3100 */ add.s $f4,$f6,$f10
/* f0730a4: 46086182 */ mul.s $f6,$f12,$f8
/* f0730a8: c48800d0 */ lwc1 $f8,0xd0($a0)
/* f0730ac: 46043280 */ add.s $f10,$f6,$f4
/* f0730b0: e48a00a0 */ swc1 $f10,0xa0($a0)
/* f0730b4: c7a6007c */ lwc1 $f6,0x7c($sp)
/* f0730b8: 46061102 */ mul.s $f4,$f2,$f6
/* f0730bc: 46044280 */ add.s $f10,$f8,$f4
/* f0730c0: 46006182 */ mul.s $f6,$f12,$f0
/* f0730c4: 46065201 */ sub.s $f8,$f10,$f6
/* f0730c8: 05c1007d */ bgez $t6,.L0f0732c0
/* f0730cc: e488009c */ swc1 $f8,0x9c($a0)
/* f0730d0: c484009c */ lwc1 $f4,0x9c($a0)
/* f0730d4: 3c017f1b */ lui $at,%hi(var7f1aa39c)
/* f0730d8: c42aa39c */ lwc1 $f10,%lo(var7f1aa39c)($at)
/* f0730dc: e7a40028 */ swc1 $f4,0x28($sp)
/* f0730e0: c7a60028 */ lwc1 $f6,0x28($sp)
/* f0730e4: 4606503c */ c.lt.s $f10,$f6
/* f0730e8: 00000000 */ nop
/* f0730ec: 45030075 */ bc1tl .L0f0732c4
/* f0730f0: 8fbf001c */ lw $ra,0x1c($sp)
/* f0730f4: c48800a0 */ lwc1 $f8,0xa0($a0)
/* f0730f8: 3c017f1b */ lui $at,%hi(var7f1aa3a0)
/* f0730fc: c424a3a0 */ lwc1 $f4,%lo(var7f1aa3a0)($at)
/* f073100: e7a80024 */ swc1 $f8,0x24($sp)
/* f073104: c7aa0024 */ lwc1 $f10,0x24($sp)
/* f073108: 3c017f1b */ lui $at,%hi(var7f1aa3a4)
/* f07310c: 460a203c */ c.lt.s $f4,$f10
/* f073110: 00000000 */ nop
/* f073114: 4503006b */ bc1tl .L0f0732c4
/* f073118: 8fbf001c */ lw $ra,0x1c($sp)
/* f07311c: c420a3a4 */ lwc1 $f0,%lo(var7f1aa3a4)($at)
/* f073120: c48200ac */ lwc1 $f2,0xac($a0)
/* f073124: 4602003c */ c.lt.s $f0,$f2
/* f073128: 00000000 */ nop
/* f07312c: 45030065 */ bc1tl .L0f0732c4
/* f073130: 8fbf001c */ lw $ra,0x1c($sp)
/* f073134: c49000b0 */ lwc1 $f16,0xb0($a0)
/* f073138: 4610003c */ c.lt.s $f0,$f16
/* f07313c: 00000000 */ nop
/* f073140: 45030060 */ bc1tl .L0f0732c4
/* f073144: 8fbf001c */ lw $ra,0x1c($sp)
/* f073148: c49200b4 */ lwc1 $f18,0xb4($a0)
/* f07314c: 4612003c */ c.lt.s $f0,$f18
/* f073150: 00000000 */ nop
/* f073154: 4503005b */ bc1tl .L0f0732c4
/* f073158: 8fbf001c */ lw $ra,0x1c($sp)
/* f07315c: c48c00b8 */ lwc1 $f12,0xb8($a0)
/* f073160: 460c003c */ c.lt.s $f0,$f12
/* f073164: 00000000 */ nop
/* f073168: 45030056 */ bc1tl .L0f0732c4
/* f07316c: 8fbf001c */ lw $ra,0x1c($sp)
/* f073170: c48e00bc */ lwc1 $f14,0xbc($a0)
/* f073174: e7b00038 */ swc1 $f16,0x38($sp)
/* f073178: 460e003c */ c.lt.s $f0,$f14
/* f07317c: 00000000 */ nop
/* f073180: 45030050 */ bc1tl .L0f0732c4
/* f073184: 8fbf001c */ lw $ra,0x1c($sp)
/* f073188: c49000c0 */ lwc1 $f16,0xc0($a0)
/* f07318c: 3c017f1b */ lui $at,%hi(var7f1aa3a8)
/* f073190: 4610003c */ c.lt.s $f0,$f16
/* f073194: 00000000 */ nop
/* f073198: 4503004a */ bc1tl .L0f0732c4
/* f07319c: 8fbf001c */ lw $ra,0x1c($sp)
/* f0731a0: c48000c8 */ lwc1 $f0,0xc8($a0)
/* f0731a4: c428a3a8 */ lwc1 $f8,%lo(var7f1aa3a8)($at)
/* f0731a8: 3c017f1b */ lui $at,%hi(var7f1aa3ac)
/* f0731ac: 4600403c */ c.lt.s $f8,$f0
/* f0731b0: 00000000 */ nop
/* f0731b4: 45030043 */ bc1tl .L0f0732c4
/* f0731b8: 8fbf001c */ lw $ra,0x1c($sp)
/* f0731bc: c424a3ac */ lwc1 $f4,%lo(var7f1aa3ac)($at)
/* f0731c0: 3c017f1b */ lui $at,%hi(var7f1aa3b0)
/* f0731c4: 4604303c */ c.lt.s $f6,$f4
/* f0731c8: 00000000 */ nop
/* f0731cc: 4503003d */ bc1tl .L0f0732c4
/* f0731d0: 8fbf001c */ lw $ra,0x1c($sp)
/* f0731d4: c428a3b0 */ lwc1 $f8,%lo(var7f1aa3b0)($at)
/* f0731d8: 3c017f1b */ lui $at,%hi(var7f1aa3b4)
/* f0731dc: e7a0003c */ swc1 $f0,0x3c($sp)
/* f0731e0: 4608503c */ c.lt.s $f10,$f8
/* f0731e4: 00000000 */ nop
/* f0731e8: 45030036 */ bc1tl .L0f0732c4
/* f0731ec: 8fbf001c */ lw $ra,0x1c($sp)
/* f0731f0: c420a3b4 */ lwc1 $f0,%lo(var7f1aa3b4)($at)
/* f0731f4: c7a60038 */ lwc1 $f6,0x38($sp)
/* f0731f8: 4600103c */ c.lt.s $f2,$f0
/* f0731fc: 00000000 */ nop
/* f073200: 45030030 */ bc1tl .L0f0732c4
/* f073204: 8fbf001c */ lw $ra,0x1c($sp)
/* f073208: 4600303c */ c.lt.s $f6,$f0
/* f07320c: 00000000 */ nop
/* f073210: 4503002c */ bc1tl .L0f0732c4
/* f073214: 8fbf001c */ lw $ra,0x1c($sp)
/* f073218: 4600903c */ c.lt.s $f18,$f0
/* f07321c: 00000000 */ nop
/* f073220: 45030028 */ bc1tl .L0f0732c4
/* f073224: 8fbf001c */ lw $ra,0x1c($sp)
/* f073228: 4600603c */ c.lt.s $f12,$f0
/* f07322c: 00000000 */ nop
/* f073230: 45030024 */ bc1tl .L0f0732c4
/* f073234: 8fbf001c */ lw $ra,0x1c($sp)
/* f073238: 4600703c */ c.lt.s $f14,$f0
/* f07323c: 00000000 */ nop
/* f073240: 45030020 */ bc1tl .L0f0732c4
/* f073244: 8fbf001c */ lw $ra,0x1c($sp)
/* f073248: 4600803c */ c.lt.s $f16,$f0
/* f07324c: c7a4003c */ lwc1 $f4,0x3c($sp)
/* f073250: 3c017f1b */ lui $at,%hi(var7f1aa3b8)
/* f073254: 4503001b */ bc1tl .L0f0732c4
/* f073258: 8fbf001c */ lw $ra,0x1c($sp)
/* f07325c: c42aa3b8 */ lwc1 $f10,%lo(var7f1aa3b8)($at)
/* f073260: 3c01bfff */ lui $at,0xbfff
/* f073264: 3421ffff */ ori $at,$at,0xffff
/* f073268: 460a203c */ c.lt.s $f4,$f10
/* f07326c: 00000000 */ nop
/* f073270: 45030014 */ bc1tl .L0f0732c4
/* f073274: 8fbf001c */ lw $ra,0x1c($sp)
/* f073278: 8c8f0008 */ lw $t7,0x8($a0)
/* f07327c: e494009c */ swc1 $f20,0x9c($a0)
/* f073280: e49400a0 */ swc1 $f20,0xa0($a0)
/* f073284: 01e1c024 */ and $t8,$t7,$at
/* f073288: e49400ac */ swc1 $f20,0xac($a0)
/* f07328c: e49400b0 */ swc1 $f20,0xb0($a0)
/* f073290: e49400b4 */ swc1 $f20,0xb4($a0)
/* f073294: e49400b8 */ swc1 $f20,0xb8($a0)
/* f073298: e49400bc */ swc1 $f20,0xbc($a0)
/* f07329c: e49400c0 */ swc1 $f20,0xc0($a0)
/* f0732a0: e49400c4 */ swc1 $f20,0xc4($a0)
/* f0732a4: e49400c8 */ swc1 $f20,0xc8($a0)
/* f0732a8: ac8000cc */ sw $zero,0xcc($a0)
/* f0732ac: e49400d0 */ swc1 $f20,0xd0($a0)
/* f0732b0: e49400d4 */ swc1 $f20,0xd4($a0)
/* f0732b4: e49400d8 */ swc1 $f20,0xd8($a0)
/* f0732b8: e49400dc */ swc1 $f20,0xdc($a0)
/* f0732bc: ac980008 */ sw $t8,0x8($a0)
.L0f0732c0:
/* f0732c0: 8fbf001c */ lw $ra,0x1c($sp)
.L0f0732c4:
/* f0732c4: d7b40010 */ ldc1 $f20,0x10($sp)
/* f0732c8: 27bd0088 */ addiu $sp,$sp,0x88
/* f0732cc: 03e00008 */ jr $ra
/* f0732d0: 00000000 */ nop
);
#endif
// Mismatches:
// Goal loads 1.0f earlier for use with leanmult
// Mine loads 1.0f twice for leanmult
// Mine loads speedfowards twice while goal keeps in f2 (near maxspeedtime240)
//void hoverbikeUpdateMovement(struct hoverbikeobj *bike, f32 speedforwards, f32 speedsideways, f32 speedtheta)
//{
// f32 fVar6;
// f32 angle; // 80
// f32 sinangle; // 7c
// f32 cosangle;
// f32 f2;
// f32 sp70 = 0;
// f32 sp6c = 0;
// f32 sp68 = 0;
// s32 i; // 64
// f32 leanmult;
// f32 fVar7;
// f32 fVar10;
// f32 prevleanspeed;
// u32 stack;
// f32 tmp;
// f32 sp44;
//
// tmp = speedtheta * 0.04362628236413f;
//
// if (speedforwards < 0) {
// tmp *= 1.0f - speedforwards * 0.5f;
// }
//
// for (i = 0; i < g_Vars.lvupdate240_60; i++) {
// bike->w += (tmp - bike->w) * 0.075f;
// }
//
// // b84
// sp6c += bike->w * 12;
// angle = hoverpropGetTurnAngle(&bike->base);
// sinangle = sinf(angle);
// cosangle = cosf(angle);
//
// if (speedforwards >= 0) {
// f2 = (0.1f + speedforwards) * 0.3f * g_Vars.lvupdate240freal;
// } else {
// f2 = (0.1f - speedforwards) * 0.3f * g_Vars.lvupdate240freal;
// }
//
// // c3c
// if (bike->rels[1] < speedforwards * 0.5f) {
// bike->rels[1] += f2;
//
// if (bike->rels[1] > speedforwards * 0.5f) {
// bike->rels[1] = speedforwards * 0.5f;
// }
// } else {
// bike->rels[1] -= f2;
//
// if (bike->rels[1] < speedforwards * 0.5f) {
// bike->rels[1] = speedforwards * 0.5f;
// }
// }
//
// prevleanspeed = bike->leanspeed;
// bike->leanspeed = speedforwards;
// bike->leandiff *= 0.93f;
// bike->leandiff += speedforwards - prevleanspeed;
//
// leanmult = bike->leandiff * 5;
//
// if (leanmult > 1.0f) {
// leanmult = 1.0f;
// } else if (leanmult < -1.0f) {
// leanmult = -1.0f;
// }
//
// // d14
// if (speedforwards >= 0) {
// if (leanmult > 0) {
// fVar7 = speedforwards * 0.3f + speedforwards * 0.7f * leanmult;
// } else {
// fVar7 = speedforwards * 0.3f;
// }
// } else {
// if (leanmult < 0) {
// fVar7 = speedforwards * 0.5f - speedforwards * 0.5f * leanmult;
// } else {
// fVar7 = speedforwards * 0.5f;
// }
// }
//
// // d84
// sp70 += fVar7 * 0.04f * M_BADTAU;
//
// if (speedsideways >= 0) {
// f2 = (0.1f + speedsideways) * 0.3f * g_Vars.lvupdate240freal;
// } else {
// f2 = (0.1f - speedsideways) * 0.3f * g_Vars.lvupdate240freal;
// }
//
// if (bike->rels[0] < speedsideways * 0.4f) {
// bike->rels[0] += f2;
//
// if (bike->rels[0] > speedsideways * 0.4f) {
// bike->rels[0] = speedsideways * 0.4f;
// }
// } else {
// bike->rels[0] -= f2;
//
// if (bike->rels[0] < speedsideways * 0.4f) {
// bike->rels[0] = speedsideways * 0.4f;
// }
// }
//
// sp68 += speedsideways * 0.2512874007225f;
//
// for (i = 0; i < g_Vars.lvupdate240_60; i++) {
// bike->speedabs[1] *= 0.97f;
// bike->speedabs[0] *= 0.97f;
// bike->speedabs[1] += bike->rels[1] * cosangle * 1.08f;
// bike->speedabs[0] += bike->rels[1] * sinangle * 1.08f;
// bike->speedabs[1] += bike->rels[0] * sinangle * 0.72f;
// bike->speedabs[0] += -bike->rels[0] * cosangle * 0.72f;
// }
//
// for (i = 0; i < g_Vars.lvupdate240_60; i++) {
// bike->exreal += (sp70 - bike->exreal) * 0.04f;
// bike->ezreal += (sp6c - bike->ezreal) * 0.15f;
// bike->ezreal2 += (sp68 - bike->ezreal2) * 0.04f;
// }
//
// if (speedforwards >= 0.99f) {
// bike->maxspeedtime240 += g_Vars.lvupdate240;
//
// if (bike->maxspeedtime240 > 2400) {
// bike->maxspeedtime240 = 2400;
// }
// } else if (bike->maxspeedtime240 > 0) {
// if (speedforwards >= 0.8f) {
// // empty
// } else if (speedforwards >= -0.1f) {
// bike->maxspeedtime240 -= g_Vars.lvupdate240;
//
// if (bike->maxspeedtime240 < 0) {
// bike->maxspeedtime240 = 0;
// }
// } else {
// bike->maxspeedtime240 = 0;
// }
// }
//
// bike->speedrel[1] = bike->maxspeedtime240 * 50000.0f / 2400000;
//
// bike->speed[1] = bike->speedabs[1] + bike->speedrel[0] * sinangle + bike->speedrel[1] * cosangle;
// bike->speed[0] = bike->speedabs[0] + bike->speedrel[1] * sinangle - bike->speedrel[0] * cosangle;
//
// if (bike->base.flags & OBJFLAG_HOVERBIKE_MOVINGWHILEEMPTY) {
// if (bike->speed[0] > 0.1f
// || bike->speed[1] > 0.1f
// || bike->w > 0.001f
// || bike->rels[0] > 0.001f
// || bike->rels[1] > 0.001f
// || bike->exreal > 0.001f
// || bike->ezreal > 0.001f
// || bike->ezreal2 > 0.001f
// || bike->leandiff > 0.1f
// || (bike->speed[0] < -0.1f)
// || (bike->speed[1] < -0.1f)
// || (bike->w < -0.001f)
// || (bike->rels[0] < -0.001f)
// || (bike->rels[1] < -0.001f)
// || (bike->exreal < -0.001f)
// || (bike->ezreal < -0.001f)
// || (bike->ezreal2 < -0.001f)
// || (bike->leandiff < -0.1f)) {
// // still moving
// } else {
// bike->speed[0] = 0;
// bike->speed[1] = 0;
// bike->w = 0;
// bike->rels[0] = 0;
// bike->rels[1] = 0;
// bike->exreal = 0;
// bike->ezreal = 0;
// bike->ezreal2 = 0;
// bike->leanspeed = 0;
// bike->leandiff = 0;
// bike->maxspeedtime240 = 0;
// bike->speedabs[0] = 0;
// bike->speedabs[1] = 0;
// bike->speedrel[0] = 0;
// bike->speedrel[1] = 0;
//
// if (1);
//
// bike->base.flags &= ~OBJFLAG_HOVERBIKE_MOVINGWHILEEMPTY;
// }
// }
//}
GLOBAL_ASM(
glabel func0f0732d4
/* f0732d4: 27bdfd58 */ addiu $sp,$sp,-680
/* f0732d8: afbf003c */ sw $ra,0x3c($sp)
/* f0732dc: afb70034 */ sw $s7,0x34($sp)
/* f0732e0: afa502ac */ sw $a1,0x2ac($sp)
/* f0732e4: 0080b825 */ or $s7,$a0,$zero
/* f0732e8: afbe0038 */ sw $s8,0x38($sp)
/* f0732ec: afb60030 */ sw $s6,0x30($sp)
/* f0732f0: afb5002c */ sw $s5,0x2c($sp)
/* f0732f4: afb40028 */ sw $s4,0x28($sp)
/* f0732f8: afb30024 */ sw $s3,0x24($sp)
/* f0732fc: afb20020 */ sw $s2,0x20($sp)
/* f073300: afb1001c */ sw $s1,0x1c($sp)
/* f073304: afb00018 */ sw $s0,0x18($sp)
/* f073308: 27a5009c */ addiu $a1,$sp,0x9c
/* f07330c: 0fc198a4 */ jal propUpdateGeometry
/* f073310: 27a60098 */ addiu $a2,$sp,0x98
/* f073314: 1040004c */ beqz $v0,.L0f073448
/* f073318: 27b000a0 */ addiu $s0,$sp,0xa0
/* f07331c: 26fe0028 */ addiu $s8,$s7,0x28
/* f073320: 03c02025 */ or $a0,$s8,$zero
/* f073324: 02002825 */ or $a1,$s0,$zero
/* f073328: 0fc197e0 */ jal roomGetProps
/* f07332c: 24060100 */ addiu $a2,$zero,0x100
/* f073330: 87ae00a0 */ lh $t6,0xa0($sp)
/* f073334: 0200b025 */ or $s6,$s0,$zero
/* f073338: 27af00a0 */ addiu $t7,$sp,0xa0
/* f07333c: 05c00042 */ bltz $t6,.L0f073448
/* f073340: 27b40058 */ addiu $s4,$sp,0x58
/* f073344: 85e20000 */ lh $v0,0x0($t7)
.L0f073348:
/* f073348: 3c19800a */ lui $t9,%hi(g_Vars+0x338)
/* f07334c: 8f39a2f8 */ lw $t9,%lo(g_Vars+0x338)($t9)
/* f073350: 0002c0c0 */ sll $t8,$v0,0x3
/* f073354: 0302c021 */ addu $t8,$t8,$v0
/* f073358: 0018c0c0 */ sll $t8,$t8,0x3
/* f07335c: 03198021 */ addu $s0,$t8,$t9
/* f073360: 92030000 */ lbu $v1,0x0($s0)
/* f073364: 24010001 */ addiu $at,$zero,0x1
/* f073368: 10610003 */ beq $v1,$at,.L0f073378
/* f07336c: 24010004 */ addiu $at,$zero,0x4
/* f073370: 54610032 */ bnel $v1,$at,.L0f07343c
/* f073374: 86c20002 */ lh $v0,0x2($s6)
.L0f073378:
/* f073378: c6e4000c */ lwc1 $f4,0xc($s7)
/* f07337c: c606000c */ lwc1 $f6,0xc($s0)
/* f073380: 8e130004 */ lw $s3,0x4($s0)
/* f073384: 4606203c */ c.lt.s $f4,$f6
/* f073388: 00000000 */ nop
/* f07338c: 4502002b */ bc1fl .L0f07343c
/* f073390: 86c20002 */ lh $v0,0x2($s6)
/* f073394: 8e680040 */ lw $t0,0x40($s3)
/* f073398: 8fa6009c */ lw $a2,0x9c($sp)
/* f07339c: 31098000 */ andi $t1,$t0,0x8000
/* f0733a0: 51200026 */ beqzl $t1,.L0f07343c
/* f0733a4: 86c20002 */ lh $v0,0x2($s6)
/* f0733a8: c60c0008 */ lwc1 $f12,0x8($s0)
/* f0733ac: 0c0099a9 */ jal func000266a4
/* f0733b0: c60e0010 */ lwc1 $f14,0x10($s0)
/* f0733b4: 10400020 */ beqz $v0,.L0f073438
/* f0733b8: 2671001c */ addiu $s1,$s3,0x1c
/* f0733bc: 02202025 */ or $a0,$s1,$zero
/* f0733c0: 02802825 */ or $a1,$s4,$zero
/* f0733c4: 0c005755 */ jal mtx3ToMtx4
/* f0733c8: 26f50008 */ addiu $s5,$s7,0x8
/* f0733cc: 26120008 */ addiu $s2,$s0,0x8
/* f0733d0: 02402025 */ or $a0,$s2,$zero
/* f0733d4: 0c005775 */ jal mtx4SetTranslation
/* f0733d8: 02802825 */ or $a1,$s4,$zero
/* f0733dc: 8fa402ac */ lw $a0,0x2ac($sp)
/* f0733e0: 0c00567f */ jal mtx4MultMtx4InPlace
/* f0733e4: 02802825 */ or $a1,$s4,$zero
/* f0733e8: 02802025 */ or $a0,$s4,$zero
/* f0733ec: 0c005768 */ jal mtx4ToMtx3
/* f0733f0: 02202825 */ or $a1,$s1,$zero
/* f0733f4: c7a80088 */ lwc1 $f8,0x88($sp)
/* f0733f8: 02002025 */ or $a0,$s0,$zero
/* f0733fc: e6080008 */ swc1 $f8,0x8($s0)
/* f073400: c7aa008c */ lwc1 $f10,0x8c($sp)
/* f073404: e60a000c */ swc1 $f10,0xc($s0)
/* f073408: c7b00090 */ lwc1 $f16,0x90($sp)
/* f07340c: 0fc19711 */ jal propDeregisterRooms
/* f073410: e6100010 */ swc1 $f16,0x10($s0)
/* f073414: 02a02025 */ or $a0,$s5,$zero
/* f073418: 03c02825 */ or $a1,$s8,$zero
/* f07341c: 02403025 */ or $a2,$s2,$zero
/* f073420: 0fc1979d */ jal func0f065e74
/* f073424: 26070028 */ addiu $a3,$s0,0x28
/* f073428: 02602025 */ or $a0,$s3,$zero
/* f07342c: 24050001 */ addiu $a1,$zero,0x1
/* f073430: 0fc1a71c */ jal func0f069c70
/* f073434: 24060001 */ addiu $a2,$zero,0x1
.L0f073438:
/* f073438: 86c20002 */ lh $v0,0x2($s6)
.L0f07343c:
/* f07343c: 26d60002 */ addiu $s6,$s6,0x2
/* f073440: 0441ffc1 */ bgez $v0,.L0f073348
/* f073444: 00000000 */ nop
.L0f073448:
/* f073448: 8fbf003c */ lw $ra,0x3c($sp)
/* f07344c: 8fb00018 */ lw $s0,0x18($sp)
/* f073450: 8fb1001c */ lw $s1,0x1c($sp)
/* f073454: 8fb20020 */ lw $s2,0x20($sp)
/* f073458: 8fb30024 */ lw $s3,0x24($sp)
/* f07345c: 8fb40028 */ lw $s4,0x28($sp)
/* f073460: 8fb5002c */ lw $s5,0x2c($sp)
/* f073464: 8fb60030 */ lw $s6,0x30($sp)
/* f073468: 8fb70034 */ lw $s7,0x34($sp)
/* f07346c: 8fbe0038 */ lw $s8,0x38($sp)
/* f073470: 03e00008 */ jr $ra
/* f073474: 27bd02a8 */ addiu $sp,$sp,0x2a8
);
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f073478
.late_rodata
glabel var7f1aa3bc
.word 0x461c4000
glabel var7f1aa3c0
.word 0x40c907a9
glabel var7f1aa3c4
.word 0x3df5c290
glabel var7f1aa3c8
.word 0x3b0d8eca
glabel var7f1aa3cc
.word 0x461c4000
glabel var7f1aa3d0
.word 0x47742400
.text
/* f073478: 27bdfe78 */ addiu $sp,$sp,-392
/* f07347c: afbf003c */ sw $ra,0x3c($sp)
/* f073480: afb50038 */ sw $s5,0x38($sp)
/* f073484: afb40034 */ sw $s4,0x34($sp)
/* f073488: afb30030 */ sw $s3,0x30($sp)
/* f07348c: afb2002c */ sw $s2,0x2c($sp)
/* f073490: afb10028 */ sw $s1,0x28($sp)
/* f073494: afb00024 */ sw $s0,0x24($sp)
/* f073498: f7b40018 */ sdc1 $f20,0x18($sp)
/* f07349c: afa40188 */ sw $a0,0x188($sp)
/* f0734a0: 8c920048 */ lw $s2,0x48($a0)
/* f0734a4: 8c930014 */ lw $s3,0x14($a0)
/* f0734a8: 8e460088 */ lw $a2,0x88($s2)
/* f0734ac: 50c00008 */ beqzl $a2,.L0f0734d0
/* f0734b0: 0000a025 */ or $s4,$zero,$zero
/* f0734b4: 90cf0000 */ lbu $t7,0x0($a2)
/* f0734b8: 24010003 */ addiu $at,$zero,0x3
/* f0734bc: 55e10004 */ bnel $t7,$at,.L0f0734d0
/* f0734c0: 0000a025 */ or $s4,$zero,$zero
/* f0734c4: 10000002 */ b .L0f0734d0
/* f0734c8: 8cd40004 */ lw $s4,0x4($a2)
/* f0734cc: 0000a025 */ or $s4,$zero,$zero
.L0f0734d0:
/* f0734d0: c64400c4 */ lwc1 $f4,0xc4($s2)
/* f0734d4: c6660008 */ lwc1 $f6,0x8($s3)
/* f0734d8: c64800c8 */ lwc1 $f8,0xc8($s2)
/* f0734dc: c66a000c */ lwc1 $f10,0xc($s3)
/* f0734e0: c65000cc */ lwc1 $f16,0xcc($s2)
/* f0734e4: c6720010 */ lwc1 $f18,0x10($s3)
/* f0734e8: 46062301 */ sub.s $f12,$f4,$f6
/* f0734ec: 460a4501 */ sub.s $f20,$f8,$f10
/* f0734f0: 1280002f */ beqz $s4,.L0f0735b0
/* f0734f4: 46128381 */ sub.s $f14,$f16,$f18
/* f0734f8: 460c6102 */ mul.s $f4,$f12,$f12
/* f0734fc: 3c017f1b */ lui $at,%hi(var7f1aa3bc)
/* f073500: c432a3bc */ lwc1 $f18,%lo(var7f1aa3bc)($at)
/* f073504: 4614a182 */ mul.s $f6,$f20,$f20
/* f073508: 46062200 */ add.s $f8,$f4,$f6
/* f07350c: 460e7282 */ mul.s $f10,$f14,$f14
/* f073510: 460a4400 */ add.s $f16,$f8,$f10
/* f073514: 4612803c */ c.lt.s $f16,$f18
/* f073518: 00000000 */ nop
/* f07351c: 45000024 */ bc1f .L0f0735b0
/* f073520: 00000000 */ nop
/* f073524: 92580105 */ lbu $t8,0x105($s2)
/* f073528: 92430104 */ lbu $v1,0x104($s2)
/* f07352c: 02802025 */ or $a0,$s4,$zero
/* f073530: 27190001 */ addiu $t9,$t8,0x1
/* f073534: 18600005 */ blez $v1,.L0f07354c
/* f073538: a2590105 */ sb $t9,0x105($s2)
/* f07353c: 332200ff */ andi $v0,$t9,0xff
/* f073540: 0043082a */ slt $at,$v0,$v1
/* f073544: 14200012 */ bnez $at,.L0f073590
/* f073548: 00025040 */ sll $t2,$v0,0x1
.L0f07354c:
/* f07354c: e7ac0094 */ swc1 $f12,0x94($sp)
/* f073550: 0fc0a221 */ jal chrGetTargetProp
/* f073554: e7ae008c */ swc1 $f14,0x8c($sp)
/* f073558: 24480028 */ addiu $t0,$v0,0x28
/* f07355c: afa80010 */ sw $t0,0x10($sp)
/* f073560: 02802025 */ or $a0,$s4,$zero
/* f073564: 26650008 */ addiu $a1,$s3,0x8
/* f073568: 24460008 */ addiu $a2,$v0,0x8
/* f07356c: 26670028 */ addiu $a3,$s3,0x28
/* f073570: 0fc669b4 */ jal botactFindRocketRoute
/* f073574: afb20014 */ sw $s2,0x14($sp)
/* f073578: c7ac0094 */ lwc1 $f12,0x94($sp)
/* f07357c: 1440000c */ bnez $v0,.L0f0735b0
/* f073580: c7ae008c */ lwc1 $f14,0x8c($sp)
/* f073584: 8fa90188 */ lw $t1,0x188($sp)
/* f073588: 10000009 */ b .L0f0735b0
/* f07358c: a5200062 */ sh $zero,0x62($t1)
.L0f073590:
/* f073590: 024a5821 */ addu $t3,$s2,$t2
/* f073594: 956400f8 */ lhu $a0,0xf8($t3)
/* f073598: e7ae008c */ swc1 $f14,0x8c($sp)
/* f07359c: e7ac0094 */ swc1 $f12,0x94($sp)
/* f0735a0: 0fc669f4 */ jal botactGetRocketSpawnPos
/* f0735a4: 264500c4 */ addiu $a1,$s2,0xc4
/* f0735a8: c7ac0094 */ lwc1 $f12,0x94($sp)
/* f0735ac: c7ae008c */ lwc1 $f14,0x8c($sp)
.L0f0735b0:
/* f0735b0: 1280003e */ beqz $s4,.L0f0736ac
/* f0735b4: 00000000 */ nop
/* f0735b8: 460c6102 */ mul.s $f4,$f12,$f12
/* f0735bc: 00000000 */ nop
/* f0735c0: 460e7182 */ mul.s $f6,$f14,$f14
/* f0735c4: e7a40044 */ swc1 $f4,0x44($sp)
/* f0735c8: 0fc259d4 */ jal atan2f
/* f0735cc: e7a60040 */ swc1 $f6,0x40($sp)
/* f0735d0: c7a80044 */ lwc1 $f8,0x44($sp)
/* f0735d4: c7aa0040 */ lwc1 $f10,0x40($sp)
/* f0735d8: e7a00084 */ swc1 $f0,0x84($sp)
/* f0735dc: 0c012974 */ jal sqrtf
/* f0735e0: 460a4300 */ add.s $f12,$f8,$f10
/* f0735e4: 4600a306 */ mov.s $f12,$f20
/* f0735e8: 0fc259d4 */ jal atan2f
/* f0735ec: 46000386 */ mov.s $f14,$f0
/* f0735f0: 3c15800a */ lui $s5,%hi(g_Vars)
/* f0735f4: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars)
/* f0735f8: 8eac0034 */ lw $t4,0x34($s5)
/* f0735fc: 46000506 */ mov.s $f20,$f0
/* f073600: 00008825 */ or $s1,$zero,$zero
/* f073604: 19800011 */ blez $t4,.L0f07364c
/* f073608: 3c063c99 */ lui $a2,0x3cb7
.L0f07360c:
/* f07360c: 34c6999a */ ori $a2,$a2,0xfe09
/* f073610: c64c0018 */ lwc1 $f12,0x18($s2)
/* f073614: 0c006bfa */ jal model0001afe8
/* f073618: c7ae0084 */ lwc1 $f14,0x84($sp)
/* f07361c: 3c063c99 */ lui $a2,0x3cb7
/* f073620: e6400018 */ swc1 $f0,0x18($s2)
/* f073624: 34c6999a */ ori $a2,$a2,0xfe09
/* f073628: c64c0014 */ lwc1 $f12,0x14($s2)
/* f07362c: 0c006bfa */ jal model0001afe8
/* f073630: 4600a386 */ mov.s $f14,$f20
/* f073634: e6400014 */ swc1 $f0,0x14($s2)
/* f073638: 8ead0034 */ lw $t5,0x34($s5)
/* f07363c: 26310001 */ addiu $s1,$s1,0x1
/* f073640: 022d082a */ slt $at,$s1,$t5
/* f073644: 5420fff1 */ bnezl $at,.L0f07360c
/* f073648: 3c063c99 */ lui $a2,0x3cb7
.L0f07364c:
/* f07364c: 3c017f1b */ lui $at,%hi(var7f1aa3c0)
/* f073650: c430a3c0 */ lwc1 $f16,%lo(var7f1aa3c0)($at)
/* f073654: c6520014 */ lwc1 $f18,0x14($s2)
/* f073658: 27b10118 */ addiu $s1,$sp,0x118
/* f07365c: 02202825 */ or $a1,$s1,$zero
/* f073660: 0c0058ba */ jal mtx4LoadXRotation
/* f073664: 46128301 */ sub.s $f12,$f16,$f18
/* f073668: c64c0018 */ lwc1 $f12,0x18($s2)
/* f07366c: 0c0058dd */ jal mtx4LoadYRotation
/* f073670: 27a500d8 */ addiu $a1,$sp,0xd8
/* f073674: 27b00098 */ addiu $s0,$sp,0x98
/* f073678: 02003025 */ or $a2,$s0,$zero
/* f07367c: 27a400d8 */ addiu $a0,$sp,0xd8
/* f073680: 0c005680 */ jal mtx4MultMtx4
/* f073684: 02202825 */ or $a1,$s1,$zero
/* f073688: 8fae0188 */ lw $t6,0x188($sp)
/* f07368c: 02002825 */ or $a1,$s0,$zero
/* f073690: 8dcf0018 */ lw $t7,0x18($t6)
/* f073694: 0c0057c1 */ jal mtx00015f04
/* f073698: c5ec0014 */ lwc1 $f12,0x14($t7)
/* f07369c: 8fa50188 */ lw $a1,0x188($sp)
/* f0736a0: 02002025 */ or $a0,$s0,$zero
/* f0736a4: 0c005768 */ jal mtx4ToMtx3
/* f0736a8: 24a5001c */ addiu $a1,$a1,0x1c
.L0f0736ac:
/* f0736ac: 3c15800a */ lui $s5,%hi(g_Vars)
/* f0736b0: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars)
/* f0736b4: c64c0018 */ lwc1 $f12,0x18($s2)
/* f0736b8: 0c0068f7 */ jal sinf
/* f0736bc: 00008825 */ or $s1,$zero,$zero
/* f0736c0: 46000506 */ mov.s $f20,$f0
/* f0736c4: 0c0068f4 */ jal cosf
/* f0736c8: c64c0014 */ lwc1 $f12,0x14($s2)
/* f0736cc: 46140102 */ mul.s $f4,$f0,$f20
/* f0736d0: e7a40068 */ swc1 $f4,0x68($sp)
/* f0736d4: 0c0068f7 */ jal sinf
/* f0736d8: c64c0014 */ lwc1 $f12,0x14($s2)
/* f0736dc: e7a0006c */ swc1 $f0,0x6c($sp)
/* f0736e0: 0c0068f4 */ jal cosf
/* f0736e4: c64c0018 */ lwc1 $f12,0x18($s2)
/* f0736e8: 46000506 */ mov.s $f20,$f0
/* f0736ec: 0c0068f4 */ jal cosf
/* f0736f0: c64c0014 */ lwc1 $f12,0x14($s2)
/* f0736f4: 46140182 */ mul.s $f6,$f0,$f20
/* f0736f8: 8eb80038 */ lw $t8,0x38($s5)
/* f0736fc: 3c017f1b */ lui $at,%hi(var7f1aa3c4)
/* f073700: 2402ffff */ addiu $v0,$zero,-1
/* f073704: e7a60070 */ swc1 $f6,0x70($sp)
/* f073708: c6680008 */ lwc1 $f8,0x8($s3)
/* f07370c: e7a80074 */ swc1 $f8,0x74($sp)
/* f073710: c66a000c */ lwc1 $f10,0xc($s3)
/* f073714: e7aa0078 */ swc1 $f10,0x78($sp)
/* f073718: c6700010 */ lwc1 $f16,0x10($s3)
/* f07371c: 1b000020 */ blez $t8,.L0f0737a0
/* f073720: e7b0007c */ swc1 $f16,0x7c($sp)
/* f073724: c42ca3c4 */ lwc1 $f12,%lo(var7f1aa3c4)($at)
/* f073728: 3c017f1b */ lui $at,%hi(var7f1aa3c8)
/* f07372c: c422a3c8 */ lwc1 $f2,%lo(var7f1aa3c8)($at)
.L0f073730:
/* f073730: c6520010 */ lwc1 $f18,0x10($s2)
/* f073734: 46029100 */ add.s $f4,$f18,$f2
/* f073738: e6440010 */ swc1 $f4,0x10($s2)
/* f07373c: c6400010 */ lwc1 $f0,0x10($s2)
/* f073740: 12800005 */ beqz $s4,.L0f073758
/* f073744: c7a80068 */ lwc1 $f8,0x68($sp)
/* f073748: 8699017e */ lh $t9,0x17e($s4)
/* f07374c: 14590002 */ bne $v0,$t9,.L0f073758
/* f073750: 00000000 */ nop
/* f073754: 46006006 */ mov.s $f0,$f12
.L0f073758:
/* f073758: 46004282 */ mul.s $f10,$f8,$f0
/* f07375c: c7a60074 */ lwc1 $f6,0x74($sp)
/* f073760: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f073764: c7b20078 */ lwc1 $f18,0x78($sp)
/* f073768: 8ea80038 */ lw $t0,0x38($s5)
/* f07376c: 46002202 */ mul.s $f8,$f4,$f0
/* f073770: 26310001 */ addiu $s1,$s1,0x1
/* f073774: 460a3400 */ add.s $f16,$f6,$f10
/* f073778: c7aa007c */ lwc1 $f10,0x7c($sp)
/* f07377c: 0228082a */ slt $at,$s1,$t0
/* f073780: e7b00074 */ swc1 $f16,0x74($sp)
/* f073784: c7b00070 */ lwc1 $f16,0x70($sp)
/* f073788: 46089180 */ add.s $f6,$f18,$f8
/* f07378c: 46008102 */ mul.s $f4,$f16,$f0
/* f073790: e7a60078 */ swc1 $f6,0x78($sp)
/* f073794: 46045480 */ add.s $f18,$f10,$f4
/* f073798: 1420ffe5 */ bnez $at,.L0f073730
/* f07379c: e7b2007c */ swc1 $f18,0x7c($sp)
.L0f0737a0:
/* f0737a0: 8e460088 */ lw $a2,0x88($s2)
/* f0737a4: 10c00003 */ beqz $a2,.L0f0737b4
/* f0737a8: 00c02025 */ or $a0,$a2,$zero
/* f0737ac: 0fc1905e */ jal propSetPerimEnabled
/* f0737b0: 00002825 */ or $a1,$zero,$zero
.L0f0737b4:
/* f0737b4: 8fa40188 */ lw $a0,0x188($sp)
/* f0737b8: 27a50074 */ addiu $a1,$sp,0x74
/* f0737bc: 27a60164 */ addiu $a2,$sp,0x164
/* f0737c0: 0fc1b340 */ jal func0f06cd00
/* f0737c4: 27a70158 */ addiu $a3,$sp,0x158
/* f0737c8: afa20184 */ sw $v0,0x184($sp)
/* f0737cc: 8e460088 */ lw $a2,0x88($s2)
/* f0737d0: 10c00003 */ beqz $a2,.L0f0737e0
/* f0737d4: 00c02025 */ or $a0,$a2,$zero
/* f0737d8: 0fc1905e */ jal propSetPerimEnabled
/* f0737dc: 24050001 */ addiu $a1,$zero,0x1
.L0f0737e0:
/* f0737e0: 8fa90184 */ lw $t1,0x184($sp)
/* f0737e4: 24010001 */ addiu $at,$zero,0x1
/* f0737e8: 27b10050 */ addiu $s1,$sp,0x50
/* f0737ec: 15210018 */ bne $t1,$at,.L0f073850
/* f0737f0: 8faa0188 */ lw $t2,0x188($sp)
/* f0737f4: 26700028 */ addiu $s0,$s3,0x28
/* f0737f8: 02002825 */ or $a1,$s0,$zero
/* f0737fc: 26640008 */ addiu $a0,$s3,0x8
/* f073800: 27a60074 */ addiu $a2,$sp,0x74
/* f073804: 0fc1979d */ jal func0f065e74
/* f073808: 02203825 */ or $a3,$s1,$zero
/* f07380c: c7a80074 */ lwc1 $f8,0x74($sp)
/* f073810: 02602025 */ or $a0,$s3,$zero
/* f073814: e6680008 */ swc1 $f8,0x8($s3)
/* f073818: c7a60078 */ lwc1 $f6,0x78($sp)
/* f07381c: e666000c */ swc1 $f6,0xc($s3)
/* f073820: c7b0007c */ lwc1 $f16,0x7c($sp)
/* f073824: 0fc19711 */ jal propDeregisterRooms
/* f073828: e6700010 */ swc1 $f16,0x10($s3)
/* f07382c: 02202025 */ or $a0,$s1,$zero
/* f073830: 0fc195e9 */ jal roomsCopy
/* f073834: 02002825 */ or $a1,$s0,$zero
/* f073838: 8fa40188 */ lw $a0,0x188($sp)
/* f07383c: 24050001 */ addiu $a1,$zero,0x1
/* f073840: 0fc1a71c */ jal func0f069c70
/* f073844: 24060001 */ addiu $a2,$zero,0x1
/* f073848: 10000003 */ b .L0f073858
/* f07384c: 8e4200f4 */ lw $v0,0xf4($s2)
.L0f073850:
/* f073850: a5400062 */ sh $zero,0x62($t2)
/* f073854: 8e4200f4 */ lw $v0,0xf4($s2)
.L0f073858:
/* f073858: 240b0018 */ addiu $t3,$zero,0x14
/* f07385c: 26640008 */ addiu $a0,$s3,0x8
/* f073860: 1c400006 */ bgtz $v0,.L0f07387c
/* f073864: 26650028 */ addiu $a1,$s3,0x28
/* f073868: ae4b00f4 */ sw $t3,0xf4($s2)
/* f07386c: 0fc4ba08 */ jal smokeCreateSimple
/* f073870: 24060008 */ addiu $a2,$zero,0x8
/* f073874: 10000004 */ b .L0f073888
/* f073878: 00000000 */ nop
.L0f07387c:
/* f07387c: 8eac0034 */ lw $t4,0x34($s5)
/* f073880: 004c6823 */ subu $t5,$v0,$t4
/* f073884: ae4d00f4 */ sw $t5,0xf4($s2)
.L0f073888:
/* f073888: 3c017f1b */ lui $at,%hi(var7f1aa3cc)
/* f07388c: c42aa3cc */ lwc1 $f10,%lo(var7f1aa3cc)($at)
/* f073890: c664000c */ lwc1 $f4,0xc($s3)
/* f073894: 8fae0188 */ lw $t6,0x188($sp)
/* f073898: 4604503c */ c.lt.s $f10,$f4
/* f07389c: 00000000 */ nop
/* f0738a0: 45000002 */ bc1f .L0f0738ac
/* f0738a4: 00000000 */ nop
/* f0738a8: a5c00062 */ sh $zero,0x62($t6)
.L0f0738ac:
/* f0738ac: 12800065 */ beqz $s4,.L0f073a44
/* f0738b0: 8faf0188 */ lw $t7,0x188($sp)
/* f0738b4: 85f80062 */ lh $t8,0x62($t7)
/* f0738b8: 3c19800b */ lui $t9,%hi(g_MpNumChrs)
/* f0738bc: 13000061 */ beqz $t8,.L0f073a44
/* f0738c0: 00000000 */ nop
/* f0738c4: 8f39c530 */ lw $t9,%lo(g_MpNumChrs)($t9)
/* f0738c8: 00008825 */ or $s1,$zero,$zero
/* f0738cc: 1b20005d */ blez $t9,.L0f073a44
/* f0738d0: 00000000 */ nop
.L0f0738d4:
/* f0738d4: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f0738d8: 02202025 */ or $a0,$s1,$zero
/* f0738dc: 10540053 */ beq $v0,$s4,.L0f073a2c
/* f0738e0: 00408025 */ or $s0,$v0,$zero
/* f0738e4: 0fc0e6a5 */ jal chrIsDead
/* f0738e8: 00402025 */ or $a0,$v0,$zero
/* f0738ec: 1440004f */ bnez $v0,.L0f073a2c
/* f0738f0: 02802025 */ or $a0,$s4,$zero
/* f0738f4: 02002825 */ or $a1,$s0,$zero
/* f0738f8: 0fc12aa3 */ jal chrCompareTeams
/* f0738fc: 24060002 */ addiu $a2,$zero,0x2
/* f073900: 1040004a */ beqz $v0,.L0f073a2c
/* f073904: 00002025 */ or $a0,$zero,$zero
/* f073908: 0fc64a53 */ jal botIsTargetInvisible
/* f07390c: 02002825 */ or $a1,$s0,$zero
/* f073910: 14400046 */ bnez $v0,.L0f073a2c
/* f073914: 00000000 */ nop
/* f073918: 8e02001c */ lw $v0,0x1c($s0)
/* f07391c: c6720008 */ lwc1 $f18,0x8($s3)
/* f073920: c666000c */ lwc1 $f6,0xc($s3)
/* f073924: c4480008 */ lwc1 $f8,0x8($v0)
/* f073928: c450000c */ lwc1 $f16,0xc($v0)
/* f07392c: c66a0010 */ lwc1 $f10,0x10($s3)
/* f073930: 46089301 */ sub.s $f12,$f18,$f8
/* f073934: c4440010 */ lwc1 $f4,0x10($v0)
/* f073938: 3c017f1b */ lui $at,%hi(var7f1aa3d0)
/* f07393c: 46103501 */ sub.s $f20,$f6,$f16
/* f073940: 460c6482 */ mul.s $f18,$f12,$f12
/* f073944: 46045381 */ sub.s $f14,$f10,$f4
/* f073948: 4614a202 */ mul.s $f8,$f20,$f20
/* f07394c: c424a3d0 */ lwc1 $f4,%lo(var7f1aa3d0)($at)
/* f073950: 460e7402 */ mul.s $f16,$f14,$f14
/* f073954: 46089180 */ add.s $f6,$f18,$f8
/* f073958: 46103280 */ add.s $f10,$f6,$f16
/* f07395c: 4604503c */ c.lt.s $f10,$f4
/* f073960: 00000000 */ nop
/* f073964: 45000004 */ bc1f .L0f073978
/* f073968: 00000000 */ nop
/* f07396c: 8fa80188 */ lw $t0,0x188($sp)
/* f073970: 10000034 */ b .L0f073a44
/* f073974: a5000062 */ sh $zero,0x62($t0)
.L0f073978:
/* f073978: 0fc0a221 */ jal chrGetTargetProp
/* f07397c: 02802025 */ or $a0,$s4,$zero
/* f073980: 8e09001c */ lw $t1,0x1c($s0)
/* f073984: 14490029 */ bne $v0,$t1,.L0f073a2c
/* f073988: 00000000 */ nop
/* f07398c: 0fc633fe */ jal mpPlayerGetIndex
/* f073990: 02802025 */ or $a0,$s4,$zero
/* f073994: 3c0b800b */ lui $t3,%hi(g_MpNumChrs)
/* f073998: 8d6bc530 */ lw $t3,%lo(g_MpNumChrs)($t3)
/* f07399c: 8eaa000c */ lw $t2,0xc($s5)
/* f0739a0: 26640008 */ addiu $a0,$s3,0x8
/* f0739a4: 26650028 */ addiu $a1,$s3,0x28
/* f0739a8: 014b001a */ div $zero,$t2,$t3
/* f0739ac: 00006010 */ mfhi $t4
/* f0739b0: 240d0133 */ addiu $t5,$zero,0x133
/* f0739b4: 15600002 */ bnez $t3,.L0f0739c0
/* f0739b8: 00000000 */ nop
/* f0739bc: 0007000d */ break 0x7
.L0f0739c0:
/* f0739c0: 2401ffff */ addiu $at,$zero,-1
/* f0739c4: 15610004 */ bne $t3,$at,.L0f0739d8
/* f0739c8: 3c018000 */ lui $at,0x8000
/* f0739cc: 15410002 */ bne $t2,$at,.L0f0739d8
/* f0739d0: 00000000 */ nop
/* f0739d4: 0006000d */ break 0x6
.L0f0739d8:
/* f0739d8: 240e0008 */ addiu $t6,$zero,0x8
/* f0739dc: 144c0013 */ bne $v0,$t4,.L0f073a2c
/* f0739e0: 00000000 */ nop
/* f0739e4: 8e02001c */ lw $v0,0x1c($s0)
/* f0739e8: afae0014 */ sw $t6,0x14($sp)
/* f0739ec: afad0010 */ sw $t5,0x10($sp)
/* f0739f0: 24460008 */ addiu $a2,$v0,0x8
/* f0739f4: 0c00b70f */ jal cdHasLineOfSight
/* f0739f8: 24470028 */ addiu $a3,$v0,0x28
/* f0739fc: 1040000b */ beqz $v0,.L0f073a2c
/* f073a00: 00000000 */ nop
/* f073a04: 8e0f001c */ lw $t7,0x1c($s0)
/* f073a08: c5f20008 */ lwc1 $f18,0x8($t7)
/* f073a0c: e65200c4 */ swc1 $f18,0xc4($s2)
/* f073a10: 8e18001c */ lw $t8,0x1c($s0)
/* f073a14: c708000c */ lwc1 $f8,0xc($t8)
/* f073a18: e64800c8 */ swc1 $f8,0xc8($s2)
/* f073a1c: 8e19001c */ lw $t9,0x1c($s0)
/* f073a20: c7260010 */ lwc1 $f6,0x10($t9)
/* f073a24: a2400104 */ sb $zero,0x104($s2)
/* f073a28: e64600cc */ swc1 $f6,0xcc($s2)
.L0f073a2c:
/* f073a2c: 3c08800b */ lui $t0,%hi(g_MpNumChrs)
/* f073a30: 8d08c530 */ lw $t0,%lo(g_MpNumChrs)($t0)
/* f073a34: 26310001 */ addiu $s1,$s1,0x1
/* f073a38: 0228082a */ slt $at,$s1,$t0
/* f073a3c: 1420ffa5 */ bnez $at,.L0f0738d4
/* f073a40: 00000000 */ nop
.L0f073a44:
/* f073a44: 52800010 */ beqzl $s4,.L0f073a88
/* f073a48: ae4000d0 */ sw $zero,0xd0($s2)
/* f073a4c: 8689017e */ lh $t1,0x17e($s4)
/* f073a50: 2401ffff */ addiu $at,$zero,-1
/* f073a54: 5521000c */ bnel $t1,$at,.L0f073a88
/* f073a58: ae4000d0 */ sw $zero,0xd0($s2)
/* f073a5c: a2400104 */ sb $zero,0x104($s2)
/* f073a60: 8eab0034 */ lw $t3,0x34($s5)
/* f073a64: 8e4a00d0 */ lw $t2,0xd0($s2)
/* f073a68: 014b6021 */ addu $t4,$t2,$t3
/* f073a6c: 29810781 */ slti $at,$t4,0x641
/* f073a70: 14200005 */ bnez $at,.L0f073a88
/* f073a74: ae4c00d0 */ sw $t4,0xd0($s2)
/* f073a78: 8fae0188 */ lw $t6,0x188($sp)
/* f073a7c: 10000002 */ b .L0f073a88
/* f073a80: a5c00062 */ sh $zero,0x62($t6)
/* f073a84: ae4000d0 */ sw $zero,0xd0($s2)
.L0f073a88:
/* f073a88: 5280000d */ beqzl $s4,.L0f073ac0
/* f073a8c: 8fbf003c */ lw $ra,0x3c($sp)
/* f073a90: 8e8202d4 */ lw $v0,0x2d4($s4)
/* f073a94: 10400004 */ beqz $v0,.L0f073aa8
/* f073a98: 00000000 */ nop
/* f073a9c: 8c4f0044 */ lw $t7,0x44($v0)
/* f073aa0: 51e00006 */ beqzl $t7,.L0f073abc
/* f073aa4: ae400088 */ sw $zero,0x88($s2)
.L0f073aa8:
/* f073aa8: 0fc0e6a5 */ jal chrIsDead
/* f073aac: 02802025 */ or $a0,$s4,$zero
/* f073ab0: 50400003 */ beqzl $v0,.L0f073ac0
/* f073ab4: 8fbf003c */ lw $ra,0x3c($sp)
/* f073ab8: ae400088 */ sw $zero,0x88($s2)
.L0f073abc:
/* f073abc: 8fbf003c */ lw $ra,0x3c($sp)
.L0f073ac0:
/* f073ac0: 8fa20184 */ lw $v0,0x184($sp)
/* f073ac4: d7b40018 */ ldc1 $f20,0x18($sp)
/* f073ac8: 8fb00024 */ lw $s0,0x24($sp)
/* f073acc: 8fb10028 */ lw $s1,0x28($sp)
/* f073ad0: 8fb2002c */ lw $s2,0x2c($sp)
/* f073ad4: 8fb30030 */ lw $s3,0x30($sp)
/* f073ad8: 8fb40034 */ lw $s4,0x34($sp)
/* f073adc: 8fb50038 */ lw $s5,0x38($sp)
/* f073ae0: 03e00008 */ jr $ra
/* f073ae4: 27bd0188 */ addiu $sp,$sp,0x188
);
#else
GLOBAL_ASM(
glabel func0f073478
.late_rodata
glabel var7f1aa3bc
.word 0x461c4000
glabel var7f1aa3c0
.word 0x40c907a9
glabel var7f1aa3c4
.word 0x3dcccccd
glabel var7f1aa3c8
.word 0x3aebedfa
glabel var7f1aa3cc
.word 0x461c4000
glabel var7f1aa3d0
.word 0x47742400
.text
/* f073478: 27bdfe78 */ addiu $sp,$sp,-392
/* f07347c: afbf003c */ sw $ra,0x3c($sp)
/* f073480: afb50038 */ sw $s5,0x38($sp)
/* f073484: afb40034 */ sw $s4,0x34($sp)
/* f073488: afb30030 */ sw $s3,0x30($sp)
/* f07348c: afb2002c */ sw $s2,0x2c($sp)
/* f073490: afb10028 */ sw $s1,0x28($sp)
/* f073494: afb00024 */ sw $s0,0x24($sp)
/* f073498: f7b40018 */ sdc1 $f20,0x18($sp)
/* f07349c: afa40188 */ sw $a0,0x188($sp)
/* f0734a0: 8c920048 */ lw $s2,0x48($a0)
/* f0734a4: 8c930014 */ lw $s3,0x14($a0)
/* f0734a8: 8e460088 */ lw $a2,0x88($s2)
/* f0734ac: 50c00008 */ beqzl $a2,.L0f0734d0
/* f0734b0: 0000a025 */ or $s4,$zero,$zero
/* f0734b4: 90cf0000 */ lbu $t7,0x0($a2)
/* f0734b8: 24010003 */ addiu $at,$zero,0x3
/* f0734bc: 55e10004 */ bnel $t7,$at,.L0f0734d0
/* f0734c0: 0000a025 */ or $s4,$zero,$zero
/* f0734c4: 10000002 */ b .L0f0734d0
/* f0734c8: 8cd40004 */ lw $s4,0x4($a2)
/* f0734cc: 0000a025 */ or $s4,$zero,$zero
.L0f0734d0:
/* f0734d0: c64400c4 */ lwc1 $f4,0xc4($s2)
/* f0734d4: c6660008 */ lwc1 $f6,0x8($s3)
/* f0734d8: c64800c8 */ lwc1 $f8,0xc8($s2)
/* f0734dc: c66a000c */ lwc1 $f10,0xc($s3)
/* f0734e0: c65000cc */ lwc1 $f16,0xcc($s2)
/* f0734e4: c6720010 */ lwc1 $f18,0x10($s3)
/* f0734e8: 46062301 */ sub.s $f12,$f4,$f6
/* f0734ec: 460a4501 */ sub.s $f20,$f8,$f10
/* f0734f0: 1280002f */ beqz $s4,.L0f0735b0
/* f0734f4: 46128381 */ sub.s $f14,$f16,$f18
/* f0734f8: 460c6102 */ mul.s $f4,$f12,$f12
/* f0734fc: 3c017f1b */ lui $at,%hi(var7f1aa3bc)
/* f073500: c432a3bc */ lwc1 $f18,%lo(var7f1aa3bc)($at)
/* f073504: 4614a182 */ mul.s $f6,$f20,$f20
/* f073508: 46062200 */ add.s $f8,$f4,$f6
/* f07350c: 460e7282 */ mul.s $f10,$f14,$f14
/* f073510: 460a4400 */ add.s $f16,$f8,$f10
/* f073514: 4612803c */ c.lt.s $f16,$f18
/* f073518: 00000000 */ nop
/* f07351c: 45000024 */ bc1f .L0f0735b0
/* f073520: 00000000 */ nop
/* f073524: 92580105 */ lbu $t8,0x105($s2)
/* f073528: 92430104 */ lbu $v1,0x104($s2)
/* f07352c: 02802025 */ or $a0,$s4,$zero
/* f073530: 27190001 */ addiu $t9,$t8,0x1
/* f073534: 18600005 */ blez $v1,.L0f07354c
/* f073538: a2590105 */ sb $t9,0x105($s2)
/* f07353c: 332200ff */ andi $v0,$t9,0xff
/* f073540: 0043082a */ slt $at,$v0,$v1
/* f073544: 14200012 */ bnez $at,.L0f073590
/* f073548: 00025040 */ sll $t2,$v0,0x1
.L0f07354c:
/* f07354c: e7ac0094 */ swc1 $f12,0x94($sp)
/* f073550: 0fc0a221 */ jal chrGetTargetProp
/* f073554: e7ae008c */ swc1 $f14,0x8c($sp)
/* f073558: 24480028 */ addiu $t0,$v0,0x28
/* f07355c: afa80010 */ sw $t0,0x10($sp)
/* f073560: 02802025 */ or $a0,$s4,$zero
/* f073564: 26650008 */ addiu $a1,$s3,0x8
/* f073568: 24460008 */ addiu $a2,$v0,0x8
/* f07356c: 26670028 */ addiu $a3,$s3,0x28
/* f073570: 0fc669b4 */ jal botactFindRocketRoute
/* f073574: afb20014 */ sw $s2,0x14($sp)
/* f073578: c7ac0094 */ lwc1 $f12,0x94($sp)
/* f07357c: 1440000c */ bnez $v0,.L0f0735b0
/* f073580: c7ae008c */ lwc1 $f14,0x8c($sp)
/* f073584: 8fa90188 */ lw $t1,0x188($sp)
/* f073588: 10000009 */ b .L0f0735b0
/* f07358c: a5200062 */ sh $zero,0x62($t1)
.L0f073590:
/* f073590: 024a5821 */ addu $t3,$s2,$t2
/* f073594: 956400f8 */ lhu $a0,0xf8($t3)
/* f073598: e7ae008c */ swc1 $f14,0x8c($sp)
/* f07359c: e7ac0094 */ swc1 $f12,0x94($sp)
/* f0735a0: 0fc669f4 */ jal botactGetRocketSpawnPos
/* f0735a4: 264500c4 */ addiu $a1,$s2,0xc4
/* f0735a8: c7ac0094 */ lwc1 $f12,0x94($sp)
/* f0735ac: c7ae008c */ lwc1 $f14,0x8c($sp)
.L0f0735b0:
/* f0735b0: 1280003e */ beqz $s4,.L0f0736ac
/* f0735b4: 00000000 */ nop
/* f0735b8: 460c6102 */ mul.s $f4,$f12,$f12
/* f0735bc: 00000000 */ nop
/* f0735c0: 460e7182 */ mul.s $f6,$f14,$f14
/* f0735c4: e7a40044 */ swc1 $f4,0x44($sp)
/* f0735c8: 0fc259d4 */ jal atan2f
/* f0735cc: e7a60040 */ swc1 $f6,0x40($sp)
/* f0735d0: c7a80044 */ lwc1 $f8,0x44($sp)
/* f0735d4: c7aa0040 */ lwc1 $f10,0x40($sp)
/* f0735d8: e7a00084 */ swc1 $f0,0x84($sp)
/* f0735dc: 0c012974 */ jal sqrtf
/* f0735e0: 460a4300 */ add.s $f12,$f8,$f10
/* f0735e4: 4600a306 */ mov.s $f12,$f20
/* f0735e8: 0fc259d4 */ jal atan2f
/* f0735ec: 46000386 */ mov.s $f14,$f0
/* f0735f0: 3c15800a */ lui $s5,%hi(g_Vars)
/* f0735f4: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars)
/* f0735f8: 8eac0034 */ lw $t4,0x34($s5)
/* f0735fc: 46000506 */ mov.s $f20,$f0
/* f073600: 00008825 */ or $s1,$zero,$zero
/* f073604: 19800011 */ blez $t4,.L0f07364c
/* f073608: 3c063c99 */ lui $a2,0x3c99
.L0f07360c:
/* f07360c: 34c6999a */ ori $a2,$a2,0x999a
/* f073610: c64c0018 */ lwc1 $f12,0x18($s2)
/* f073614: 0c006bfa */ jal model0001afe8
/* f073618: c7ae0084 */ lwc1 $f14,0x84($sp)
/* f07361c: 3c063c99 */ lui $a2,0x3c99
/* f073620: e6400018 */ swc1 $f0,0x18($s2)
/* f073624: 34c6999a */ ori $a2,$a2,0x999a
/* f073628: c64c0014 */ lwc1 $f12,0x14($s2)
/* f07362c: 0c006bfa */ jal model0001afe8
/* f073630: 4600a386 */ mov.s $f14,$f20
/* f073634: e6400014 */ swc1 $f0,0x14($s2)
/* f073638: 8ead0034 */ lw $t5,0x34($s5)
/* f07363c: 26310001 */ addiu $s1,$s1,0x1
/* f073640: 022d082a */ slt $at,$s1,$t5
/* f073644: 5420fff1 */ bnezl $at,.L0f07360c
/* f073648: 3c063c99 */ lui $a2,0x3c99
.L0f07364c:
/* f07364c: 3c017f1b */ lui $at,%hi(var7f1aa3c0)
/* f073650: c430a3c0 */ lwc1 $f16,%lo(var7f1aa3c0)($at)
/* f073654: c6520014 */ lwc1 $f18,0x14($s2)
/* f073658: 27b10118 */ addiu $s1,$sp,0x118
/* f07365c: 02202825 */ or $a1,$s1,$zero
/* f073660: 0c0058ba */ jal mtx4LoadXRotation
/* f073664: 46128301 */ sub.s $f12,$f16,$f18
/* f073668: c64c0018 */ lwc1 $f12,0x18($s2)
/* f07366c: 0c0058dd */ jal mtx4LoadYRotation
/* f073670: 27a500d8 */ addiu $a1,$sp,0xd8
/* f073674: 27b00098 */ addiu $s0,$sp,0x98
/* f073678: 02003025 */ or $a2,$s0,$zero
/* f07367c: 27a400d8 */ addiu $a0,$sp,0xd8
/* f073680: 0c005680 */ jal mtx4MultMtx4
/* f073684: 02202825 */ or $a1,$s1,$zero
/* f073688: 8fae0188 */ lw $t6,0x188($sp)
/* f07368c: 02002825 */ or $a1,$s0,$zero
/* f073690: 8dcf0018 */ lw $t7,0x18($t6)
/* f073694: 0c0057c1 */ jal mtx00015f04
/* f073698: c5ec0014 */ lwc1 $f12,0x14($t7)
/* f07369c: 8fa50188 */ lw $a1,0x188($sp)
/* f0736a0: 02002025 */ or $a0,$s0,$zero
/* f0736a4: 0c005768 */ jal mtx4ToMtx3
/* f0736a8: 24a5001c */ addiu $a1,$a1,0x1c
.L0f0736ac:
/* f0736ac: 3c15800a */ lui $s5,%hi(g_Vars)
/* f0736b0: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars)
/* f0736b4: c64c0018 */ lwc1 $f12,0x18($s2)
/* f0736b8: 0c0068f7 */ jal sinf
/* f0736bc: 00008825 */ or $s1,$zero,$zero
/* f0736c0: 46000506 */ mov.s $f20,$f0
/* f0736c4: 0c0068f4 */ jal cosf
/* f0736c8: c64c0014 */ lwc1 $f12,0x14($s2)
/* f0736cc: 46140102 */ mul.s $f4,$f0,$f20
/* f0736d0: e7a40068 */ swc1 $f4,0x68($sp)
/* f0736d4: 0c0068f7 */ jal sinf
/* f0736d8: c64c0014 */ lwc1 $f12,0x14($s2)
/* f0736dc: e7a0006c */ swc1 $f0,0x6c($sp)
/* f0736e0: 0c0068f4 */ jal cosf
/* f0736e4: c64c0018 */ lwc1 $f12,0x18($s2)
/* f0736e8: 46000506 */ mov.s $f20,$f0
/* f0736ec: 0c0068f4 */ jal cosf
/* f0736f0: c64c0014 */ lwc1 $f12,0x14($s2)
/* f0736f4: 46140182 */ mul.s $f6,$f0,$f20
/* f0736f8: 8eb80038 */ lw $t8,0x38($s5)
/* f0736fc: 3c017f1b */ lui $at,%hi(var7f1aa3c4)
/* f073700: 2402ffff */ addiu $v0,$zero,-1
/* f073704: e7a60070 */ swc1 $f6,0x70($sp)
/* f073708: c6680008 */ lwc1 $f8,0x8($s3)
/* f07370c: e7a80074 */ swc1 $f8,0x74($sp)
/* f073710: c66a000c */ lwc1 $f10,0xc($s3)
/* f073714: e7aa0078 */ swc1 $f10,0x78($sp)
/* f073718: c6700010 */ lwc1 $f16,0x10($s3)
/* f07371c: 1b000020 */ blez $t8,.L0f0737a0
/* f073720: e7b0007c */ swc1 $f16,0x7c($sp)
/* f073724: c42ca3c4 */ lwc1 $f12,%lo(var7f1aa3c4)($at)
/* f073728: 3c017f1b */ lui $at,%hi(var7f1aa3c8)
/* f07372c: c422a3c8 */ lwc1 $f2,%lo(var7f1aa3c8)($at)
.L0f073730:
/* f073730: c6520010 */ lwc1 $f18,0x10($s2)
/* f073734: 46029100 */ add.s $f4,$f18,$f2
/* f073738: e6440010 */ swc1 $f4,0x10($s2)
/* f07373c: c6400010 */ lwc1 $f0,0x10($s2)
/* f073740: 12800005 */ beqz $s4,.L0f073758
/* f073744: c7a80068 */ lwc1 $f8,0x68($sp)
/* f073748: 8699017e */ lh $t9,0x17e($s4)
/* f07374c: 14590002 */ bne $v0,$t9,.L0f073758
/* f073750: 00000000 */ nop
/* f073754: 46006006 */ mov.s $f0,$f12
.L0f073758:
/* f073758: 46004282 */ mul.s $f10,$f8,$f0
/* f07375c: c7a60074 */ lwc1 $f6,0x74($sp)
/* f073760: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f073764: c7b20078 */ lwc1 $f18,0x78($sp)
/* f073768: 8ea80038 */ lw $t0,0x38($s5)
/* f07376c: 46002202 */ mul.s $f8,$f4,$f0
/* f073770: 26310001 */ addiu $s1,$s1,0x1
/* f073774: 460a3400 */ add.s $f16,$f6,$f10
/* f073778: c7aa007c */ lwc1 $f10,0x7c($sp)
/* f07377c: 0228082a */ slt $at,$s1,$t0
/* f073780: e7b00074 */ swc1 $f16,0x74($sp)
/* f073784: c7b00070 */ lwc1 $f16,0x70($sp)
/* f073788: 46089180 */ add.s $f6,$f18,$f8
/* f07378c: 46008102 */ mul.s $f4,$f16,$f0
/* f073790: e7a60078 */ swc1 $f6,0x78($sp)
/* f073794: 46045480 */ add.s $f18,$f10,$f4
/* f073798: 1420ffe5 */ bnez $at,.L0f073730
/* f07379c: e7b2007c */ swc1 $f18,0x7c($sp)
.L0f0737a0:
/* f0737a0: 8e460088 */ lw $a2,0x88($s2)
/* f0737a4: 10c00003 */ beqz $a2,.L0f0737b4
/* f0737a8: 00c02025 */ or $a0,$a2,$zero
/* f0737ac: 0fc1905e */ jal propSetPerimEnabled
/* f0737b0: 00002825 */ or $a1,$zero,$zero
.L0f0737b4:
/* f0737b4: 8fa40188 */ lw $a0,0x188($sp)
/* f0737b8: 27a50074 */ addiu $a1,$sp,0x74
/* f0737bc: 27a60164 */ addiu $a2,$sp,0x164
/* f0737c0: 0fc1b340 */ jal func0f06cd00
/* f0737c4: 27a70158 */ addiu $a3,$sp,0x158
/* f0737c8: afa20184 */ sw $v0,0x184($sp)
/* f0737cc: 8e460088 */ lw $a2,0x88($s2)
/* f0737d0: 10c00003 */ beqz $a2,.L0f0737e0
/* f0737d4: 00c02025 */ or $a0,$a2,$zero
/* f0737d8: 0fc1905e */ jal propSetPerimEnabled
/* f0737dc: 24050001 */ addiu $a1,$zero,0x1
.L0f0737e0:
/* f0737e0: 8fa90184 */ lw $t1,0x184($sp)
/* f0737e4: 24010001 */ addiu $at,$zero,0x1
/* f0737e8: 27b10050 */ addiu $s1,$sp,0x50
/* f0737ec: 15210018 */ bne $t1,$at,.L0f073850
/* f0737f0: 8faa0188 */ lw $t2,0x188($sp)
/* f0737f4: 26700028 */ addiu $s0,$s3,0x28
/* f0737f8: 02002825 */ or $a1,$s0,$zero
/* f0737fc: 26640008 */ addiu $a0,$s3,0x8
/* f073800: 27a60074 */ addiu $a2,$sp,0x74
/* f073804: 0fc1979d */ jal func0f065e74
/* f073808: 02203825 */ or $a3,$s1,$zero
/* f07380c: c7a80074 */ lwc1 $f8,0x74($sp)
/* f073810: 02602025 */ or $a0,$s3,$zero
/* f073814: e6680008 */ swc1 $f8,0x8($s3)
/* f073818: c7a60078 */ lwc1 $f6,0x78($sp)
/* f07381c: e666000c */ swc1 $f6,0xc($s3)
/* f073820: c7b0007c */ lwc1 $f16,0x7c($sp)
/* f073824: 0fc19711 */ jal propDeregisterRooms
/* f073828: e6700010 */ swc1 $f16,0x10($s3)
/* f07382c: 02202025 */ or $a0,$s1,$zero
/* f073830: 0fc195e9 */ jal roomsCopy
/* f073834: 02002825 */ or $a1,$s0,$zero
/* f073838: 8fa40188 */ lw $a0,0x188($sp)
/* f07383c: 24050001 */ addiu $a1,$zero,0x1
/* f073840: 0fc1a71c */ jal func0f069c70
/* f073844: 24060001 */ addiu $a2,$zero,0x1
/* f073848: 10000003 */ b .L0f073858
/* f07384c: 8e4200f4 */ lw $v0,0xf4($s2)
.L0f073850:
/* f073850: a5400062 */ sh $zero,0x62($t2)
/* f073854: 8e4200f4 */ lw $v0,0xf4($s2)
.L0f073858:
/* f073858: 240b0018 */ addiu $t3,$zero,0x18
/* f07385c: 26640008 */ addiu $a0,$s3,0x8
/* f073860: 1c400006 */ bgtz $v0,.L0f07387c
/* f073864: 26650028 */ addiu $a1,$s3,0x28
/* f073868: ae4b00f4 */ sw $t3,0xf4($s2)
/* f07386c: 0fc4ba08 */ jal smokeCreateSimple
/* f073870: 24060008 */ addiu $a2,$zero,0x8
/* f073874: 10000004 */ b .L0f073888
/* f073878: 00000000 */ nop
.L0f07387c:
/* f07387c: 8eac0034 */ lw $t4,0x34($s5)
/* f073880: 004c6823 */ subu $t5,$v0,$t4
/* f073884: ae4d00f4 */ sw $t5,0xf4($s2)
.L0f073888:
/* f073888: 3c017f1b */ lui $at,%hi(var7f1aa3cc)
/* f07388c: c42aa3cc */ lwc1 $f10,%lo(var7f1aa3cc)($at)
/* f073890: c664000c */ lwc1 $f4,0xc($s3)
/* f073894: 8fae0188 */ lw $t6,0x188($sp)
/* f073898: 4604503c */ c.lt.s $f10,$f4
/* f07389c: 00000000 */ nop
/* f0738a0: 45000002 */ bc1f .L0f0738ac
/* f0738a4: 00000000 */ nop
/* f0738a8: a5c00062 */ sh $zero,0x62($t6)
.L0f0738ac:
/* f0738ac: 12800065 */ beqz $s4,.L0f073a44
/* f0738b0: 8faf0188 */ lw $t7,0x188($sp)
/* f0738b4: 85f80062 */ lh $t8,0x62($t7)
/* f0738b8: 3c19800b */ lui $t9,%hi(g_MpNumChrs)
/* f0738bc: 13000061 */ beqz $t8,.L0f073a44
/* f0738c0: 00000000 */ nop
/* f0738c4: 8f39c530 */ lw $t9,%lo(g_MpNumChrs)($t9)
/* f0738c8: 00008825 */ or $s1,$zero,$zero
/* f0738cc: 1b20005d */ blez $t9,.L0f073a44
/* f0738d0: 00000000 */ nop
.L0f0738d4:
/* f0738d4: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f0738d8: 02202025 */ or $a0,$s1,$zero
/* f0738dc: 10540053 */ beq $v0,$s4,.L0f073a2c
/* f0738e0: 00408025 */ or $s0,$v0,$zero
/* f0738e4: 0fc0e6a5 */ jal chrIsDead
/* f0738e8: 00402025 */ or $a0,$v0,$zero
/* f0738ec: 1440004f */ bnez $v0,.L0f073a2c
/* f0738f0: 02802025 */ or $a0,$s4,$zero
/* f0738f4: 02002825 */ or $a1,$s0,$zero
/* f0738f8: 0fc12aa3 */ jal chrCompareTeams
/* f0738fc: 24060002 */ addiu $a2,$zero,0x2
/* f073900: 1040004a */ beqz $v0,.L0f073a2c
/* f073904: 00002025 */ or $a0,$zero,$zero
/* f073908: 0fc64a53 */ jal botIsTargetInvisible
/* f07390c: 02002825 */ or $a1,$s0,$zero
/* f073910: 14400046 */ bnez $v0,.L0f073a2c
/* f073914: 00000000 */ nop
/* f073918: 8e02001c */ lw $v0,0x1c($s0)
/* f07391c: c6720008 */ lwc1 $f18,0x8($s3)
/* f073920: c666000c */ lwc1 $f6,0xc($s3)
/* f073924: c4480008 */ lwc1 $f8,0x8($v0)
/* f073928: c450000c */ lwc1 $f16,0xc($v0)
/* f07392c: c66a0010 */ lwc1 $f10,0x10($s3)
/* f073930: 46089301 */ sub.s $f12,$f18,$f8
/* f073934: c4440010 */ lwc1 $f4,0x10($v0)
/* f073938: 3c017f1b */ lui $at,%hi(var7f1aa3d0)
/* f07393c: 46103501 */ sub.s $f20,$f6,$f16
/* f073940: 460c6482 */ mul.s $f18,$f12,$f12
/* f073944: 46045381 */ sub.s $f14,$f10,$f4
/* f073948: 4614a202 */ mul.s $f8,$f20,$f20
/* f07394c: c424a3d0 */ lwc1 $f4,%lo(var7f1aa3d0)($at)
/* f073950: 460e7402 */ mul.s $f16,$f14,$f14
/* f073954: 46089180 */ add.s $f6,$f18,$f8
/* f073958: 46103280 */ add.s $f10,$f6,$f16
/* f07395c: 4604503c */ c.lt.s $f10,$f4
/* f073960: 00000000 */ nop
/* f073964: 45000004 */ bc1f .L0f073978
/* f073968: 00000000 */ nop
/* f07396c: 8fa80188 */ lw $t0,0x188($sp)
/* f073970: 10000034 */ b .L0f073a44
/* f073974: a5000062 */ sh $zero,0x62($t0)
.L0f073978:
/* f073978: 0fc0a221 */ jal chrGetTargetProp
/* f07397c: 02802025 */ or $a0,$s4,$zero
/* f073980: 8e09001c */ lw $t1,0x1c($s0)
/* f073984: 14490029 */ bne $v0,$t1,.L0f073a2c
/* f073988: 00000000 */ nop
/* f07398c: 0fc633fe */ jal mpPlayerGetIndex
/* f073990: 02802025 */ or $a0,$s4,$zero
/* f073994: 3c0b800b */ lui $t3,%hi(g_MpNumChrs)
/* f073998: 8d6bc530 */ lw $t3,%lo(g_MpNumChrs)($t3)
/* f07399c: 8eaa000c */ lw $t2,0xc($s5)
/* f0739a0: 26640008 */ addiu $a0,$s3,0x8
/* f0739a4: 26650028 */ addiu $a1,$s3,0x28
/* f0739a8: 014b001a */ div $zero,$t2,$t3
/* f0739ac: 00006010 */ mfhi $t4
/* f0739b0: 240d0133 */ addiu $t5,$zero,0x133
/* f0739b4: 15600002 */ bnez $t3,.L0f0739c0
/* f0739b8: 00000000 */ nop
/* f0739bc: 0007000d */ break 0x7
.L0f0739c0:
/* f0739c0: 2401ffff */ addiu $at,$zero,-1
/* f0739c4: 15610004 */ bne $t3,$at,.L0f0739d8
/* f0739c8: 3c018000 */ lui $at,0x8000
/* f0739cc: 15410002 */ bne $t2,$at,.L0f0739d8
/* f0739d0: 00000000 */ nop
/* f0739d4: 0006000d */ break 0x6
.L0f0739d8:
/* f0739d8: 240e0008 */ addiu $t6,$zero,0x8
/* f0739dc: 144c0013 */ bne $v0,$t4,.L0f073a2c
/* f0739e0: 00000000 */ nop
/* f0739e4: 8e02001c */ lw $v0,0x1c($s0)
/* f0739e8: afae0014 */ sw $t6,0x14($sp)
/* f0739ec: afad0010 */ sw $t5,0x10($sp)
/* f0739f0: 24460008 */ addiu $a2,$v0,0x8
/* f0739f4: 0c00b70f */ jal cdHasLineOfSight
/* f0739f8: 24470028 */ addiu $a3,$v0,0x28
/* f0739fc: 1040000b */ beqz $v0,.L0f073a2c
/* f073a00: 00000000 */ nop
/* f073a04: 8e0f001c */ lw $t7,0x1c($s0)
/* f073a08: c5f20008 */ lwc1 $f18,0x8($t7)
/* f073a0c: e65200c4 */ swc1 $f18,0xc4($s2)
/* f073a10: 8e18001c */ lw $t8,0x1c($s0)
/* f073a14: c708000c */ lwc1 $f8,0xc($t8)
/* f073a18: e64800c8 */ swc1 $f8,0xc8($s2)
/* f073a1c: 8e19001c */ lw $t9,0x1c($s0)
/* f073a20: c7260010 */ lwc1 $f6,0x10($t9)
/* f073a24: a2400104 */ sb $zero,0x104($s2)
/* f073a28: e64600cc */ swc1 $f6,0xcc($s2)
.L0f073a2c:
/* f073a2c: 3c08800b */ lui $t0,%hi(g_MpNumChrs)
/* f073a30: 8d08c530 */ lw $t0,%lo(g_MpNumChrs)($t0)
/* f073a34: 26310001 */ addiu $s1,$s1,0x1
/* f073a38: 0228082a */ slt $at,$s1,$t0
/* f073a3c: 1420ffa5 */ bnez $at,.L0f0738d4
/* f073a40: 00000000 */ nop
.L0f073a44:
/* f073a44: 52800010 */ beqzl $s4,.L0f073a88
/* f073a48: ae4000d0 */ sw $zero,0xd0($s2)
/* f073a4c: 8689017e */ lh $t1,0x17e($s4)
/* f073a50: 2401ffff */ addiu $at,$zero,-1
/* f073a54: 5521000c */ bnel $t1,$at,.L0f073a88
/* f073a58: ae4000d0 */ sw $zero,0xd0($s2)
/* f073a5c: a2400104 */ sb $zero,0x104($s2)
/* f073a60: 8eab0034 */ lw $t3,0x34($s5)
/* f073a64: 8e4a00d0 */ lw $t2,0xd0($s2)
/* f073a68: 014b6021 */ addu $t4,$t2,$t3
/* f073a6c: 29810781 */ slti $at,$t4,0x781
/* f073a70: 14200005 */ bnez $at,.L0f073a88
/* f073a74: ae4c00d0 */ sw $t4,0xd0($s2)
/* f073a78: 8fae0188 */ lw $t6,0x188($sp)
/* f073a7c: 10000002 */ b .L0f073a88
/* f073a80: a5c00062 */ sh $zero,0x62($t6)
/* f073a84: ae4000d0 */ sw $zero,0xd0($s2)
.L0f073a88:
/* f073a88: 5280000d */ beqzl $s4,.L0f073ac0
/* f073a8c: 8fbf003c */ lw $ra,0x3c($sp)
/* f073a90: 8e8202d4 */ lw $v0,0x2d4($s4)
/* f073a94: 10400004 */ beqz $v0,.L0f073aa8
/* f073a98: 00000000 */ nop
/* f073a9c: 8c4f0044 */ lw $t7,0x44($v0)
/* f073aa0: 51e00006 */ beqzl $t7,.L0f073abc
/* f073aa4: ae400088 */ sw $zero,0x88($s2)
.L0f073aa8:
/* f073aa8: 0fc0e6a5 */ jal chrIsDead
/* f073aac: 02802025 */ or $a0,$s4,$zero
/* f073ab0: 50400003 */ beqzl $v0,.L0f073ac0
/* f073ab4: 8fbf003c */ lw $ra,0x3c($sp)
/* f073ab8: ae400088 */ sw $zero,0x88($s2)
.L0f073abc:
/* f073abc: 8fbf003c */ lw $ra,0x3c($sp)
.L0f073ac0:
/* f073ac0: 8fa20184 */ lw $v0,0x184($sp)
/* f073ac4: d7b40018 */ ldc1 $f20,0x18($sp)
/* f073ac8: 8fb00024 */ lw $s0,0x24($sp)
/* f073acc: 8fb10028 */ lw $s1,0x28($sp)
/* f073ad0: 8fb2002c */ lw $s2,0x2c($sp)
/* f073ad4: 8fb30030 */ lw $s3,0x30($sp)
/* f073ad8: 8fb40034 */ lw $s4,0x34($sp)
/* f073adc: 8fb50038 */ lw $s5,0x38($sp)
/* f073ae0: 03e00008 */ jr $ra
/* f073ae4: 27bd0188 */ addiu $sp,$sp,0x188
);
#endif
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f073ae8
/* f073ae8: 27bdffa0 */ addiu $sp,$sp,-96
/* f073aec: afbf0024 */ sw $ra,0x24($sp)
/* f073af0: afb30020 */ sw $s3,0x20($sp)
/* f073af4: afb2001c */ sw $s2,0x1c($sp)
/* f073af8: afb10018 */ sw $s1,0x18($sp)
/* f073afc: afb00014 */ sw $s0,0x14($sp)
/* f073b00: afa60068 */ sw $a2,0x68($sp)
/* f073b04: afa7006c */ sw $a3,0x6c($sp)
/* f073b08: 8cb00088 */ lw $s0,0x88($a1)
/* f073b0c: 00809025 */ or $s2,$a0,$zero
/* f073b10: 00a09825 */ or $s3,$a1,$zero
/* f073b14: 12000004 */ beqz $s0,.L0f073b28
/* f073b18: 8c910014 */ lw $s1,0x14($a0)
/* f073b1c: 02002025 */ or $a0,$s0,$zero
/* f073b20: 0fc1905e */ jal propSetPerimEnabled
/* f073b24: 00002825 */ or $a1,$zero,$zero
.L0f073b28:
/* f073b28: 266500c4 */ addiu $a1,$s3,0xc4
/* f073b2c: afa5002c */ sw $a1,0x2c($sp)
/* f073b30: 02402025 */ or $a0,$s2,$zero
/* f073b34: 8fa60068 */ lw $a2,0x68($sp)
/* f073b38: 0fc1b340 */ jal func0f06cd00
/* f073b3c: 8fa7006c */ lw $a3,0x6c($sp)
/* f073b40: afa2005c */ sw $v0,0x5c($sp)
/* f073b44: 8e700088 */ lw $s0,0x88($s3)
/* f073b48: 12000003 */ beqz $s0,.L0f073b58
/* f073b4c: 02002025 */ or $a0,$s0,$zero
/* f073b50: 0fc1905e */ jal propSetPerimEnabled
/* f073b54: 24050001 */ addiu $a1,$zero,0x1
.L0f073b58:
/* f073b58: 8fae005c */ lw $t6,0x5c($sp)
/* f073b5c: 24020001 */ addiu $v0,$zero,0x1
/* f073b60: 26240008 */ addiu $a0,$s1,0x8
/* f073b64: 15c20014 */ bne $t6,$v0,.L0f073bb8
/* f073b68: 8faf005c */ lw $t7,0x5c($sp)
/* f073b6c: 27b20048 */ addiu $s2,$sp,0x48
/* f073b70: 26300028 */ addiu $s0,$s1,0x28
/* f073b74: 02002825 */ or $a1,$s0,$zero
/* f073b78: 02403825 */ or $a3,$s2,$zero
/* f073b7c: 0fc1979d */ jal func0f065e74
/* f073b80: 8fa6002c */ lw $a2,0x2c($sp)
/* f073b84: c66400c4 */ lwc1 $f4,0xc4($s3)
/* f073b88: 02202025 */ or $a0,$s1,$zero
/* f073b8c: e6240008 */ swc1 $f4,0x8($s1)
/* f073b90: c66600c8 */ lwc1 $f6,0xc8($s3)
/* f073b94: e626000c */ swc1 $f6,0xc($s1)
/* f073b98: c66800cc */ lwc1 $f8,0xcc($s3)
/* f073b9c: 0fc19711 */ jal propDeregisterRooms
/* f073ba0: e6280010 */ swc1 $f8,0x10($s1)
/* f073ba4: 02402025 */ or $a0,$s2,$zero
/* f073ba8: 0fc195e9 */ jal roomsCopy
/* f073bac: 02002825 */ or $a1,$s0,$zero
/* f073bb0: 10000023 */ b .L0f073c40
/* f073bb4: 8e6a0000 */ lw $t2,0x0($s3)
.L0f073bb8:
/* f073bb8: 51e20021 */ beql $t7,$v0,.L0f073c40
/* f073bbc: 8e6a0000 */ lw $t2,0x0($s3)
/* f073bc0: 92580003 */ lbu $t8,0x3($s2)
/* f073bc4: 24010008 */ addiu $at,$zero,0x8
/* f073bc8: 5701001d */ bnel $t8,$at,.L0f073c40
/* f073bcc: 8e6a0000 */ lw $t2,0x0($s3)
/* f073bd0: 9242005c */ lbu $v0,0x5c($s2)
/* f073bd4: 24010053 */ addiu $at,$zero,0x53
/* f073bd8: 26240008 */ addiu $a0,$s1,0x8
/* f073bdc: 10410004 */ beq $v0,$at,.L0f073bf0
/* f073be0: 26300028 */ addiu $s0,$s1,0x28
/* f073be4: 24010054 */ addiu $at,$zero,0x54
/* f073be8: 54410015 */ bnel $v0,$at,.L0f073c40
/* f073bec: 8e6a0000 */ lw $t2,0x0($s3)
.L0f073bf0:
/* f073bf0: a6400062 */ sh $zero,0x62($s2)
/* f073bf4: 8fa60068 */ lw $a2,0x68($sp)
/* f073bf8: 02002825 */ or $a1,$s0,$zero
/* f073bfc: 0fc1979d */ jal func0f065e74
/* f073c00: 27a70034 */ addiu $a3,$sp,0x34
/* f073c04: 8fb90068 */ lw $t9,0x68($sp)
/* f073c08: 02202025 */ or $a0,$s1,$zero
/* f073c0c: c72a0000 */ lwc1 $f10,0x0($t9)
/* f073c10: e62a0008 */ swc1 $f10,0x8($s1)
/* f073c14: 8fa80068 */ lw $t0,0x68($sp)
/* f073c18: c5100004 */ lwc1 $f16,0x4($t0)
/* f073c1c: e630000c */ swc1 $f16,0xc($s1)
/* f073c20: 8fa90068 */ lw $t1,0x68($sp)
/* f073c24: c5320008 */ lwc1 $f18,0x8($t1)
/* f073c28: 0fc19711 */ jal propDeregisterRooms
/* f073c2c: e6320010 */ swc1 $f18,0x10($s1)
/* f073c30: 27a40034 */ addiu $a0,$sp,0x34
/* f073c34: 0fc195e9 */ jal roomsCopy
/* f073c38: 02002825 */ or $a1,$s0,$zero
/* f073c3c: 8e6a0000 */ lw $t2,0x0($s3)
.L0f073c40:
/* f073c40: 2401ff7f */ addiu $at,$zero,-129
/* f073c44: 01415824 */ and $t3,$t2,$at
/* f073c48: ae6b0000 */ sw $t3,0x0($s3)
/* f073c4c: 8fbf0024 */ lw $ra,0x24($sp)
/* f073c50: 8fb30020 */ lw $s3,0x20($sp)
/* f073c54: 8fb2001c */ lw $s2,0x1c($sp)
/* f073c58: 8fb10018 */ lw $s1,0x18($sp)
/* f073c5c: 8fb00014 */ lw $s0,0x14($sp)
/* f073c60: 8fa2005c */ lw $v0,0x5c($sp)
/* f073c64: 03e00008 */ jr $ra
/* f073c68: 27bd0060 */ addiu $sp,$sp,0x60
);
#else
GLOBAL_ASM(
glabel func0f073ae8
/* f073ae8: 27bdffa0 */ addiu $sp,$sp,-96
/* f073aec: afbf0024 */ sw $ra,0x24($sp)
/* f073af0: afb30020 */ sw $s3,0x20($sp)
/* f073af4: afb2001c */ sw $s2,0x1c($sp)
/* f073af8: afb10018 */ sw $s1,0x18($sp)
/* f073afc: afb00014 */ sw $s0,0x14($sp)
/* f073b00: afa60068 */ sw $a2,0x68($sp)
/* f073b04: afa7006c */ sw $a3,0x6c($sp)
/* f073b08: 8cb00088 */ lw $s0,0x88($a1)
/* f073b0c: 00809025 */ or $s2,$a0,$zero
/* f073b10: 00a09825 */ or $s3,$a1,$zero
/* f073b14: 12000004 */ beqz $s0,.L0f073b28
/* f073b18: 8c910014 */ lw $s1,0x14($a0)
/* f073b1c: 02002025 */ or $a0,$s0,$zero
/* f073b20: 0fc1905e */ jal propSetPerimEnabled
/* f073b24: 00002825 */ or $a1,$zero,$zero
.L0f073b28:
/* f073b28: 266500c4 */ addiu $a1,$s3,0xc4
/* f073b2c: afa5002c */ sw $a1,0x2c($sp)
/* f073b30: 02402025 */ or $a0,$s2,$zero
/* f073b34: 8fa60068 */ lw $a2,0x68($sp)
/* f073b38: 0fc1b340 */ jal func0f06cd00
/* f073b3c: 8fa7006c */ lw $a3,0x6c($sp)
/* f073b40: afa2005c */ sw $v0,0x5c($sp)
/* f073b44: 8e700088 */ lw $s0,0x88($s3)
/* f073b48: 12000003 */ beqz $s0,.L0f073b58
/* f073b4c: 02002025 */ or $a0,$s0,$zero
/* f073b50: 0fc1905e */ jal propSetPerimEnabled
/* f073b54: 24050001 */ addiu $a1,$zero,0x1
.L0f073b58:
/* f073b58: 8fae005c */ lw $t6,0x5c($sp)
/* f073b5c: 24020001 */ addiu $v0,$zero,0x1
/* f073b60: 26240008 */ addiu $a0,$s1,0x8
/* f073b64: 15c20014 */ bne $t6,$v0,.L0f073bb8
/* f073b68: 8faf005c */ lw $t7,0x5c($sp)
/* f073b6c: 27b20048 */ addiu $s2,$sp,0x48
/* f073b70: 26300028 */ addiu $s0,$s1,0x28
/* f073b74: 02002825 */ or $a1,$s0,$zero
/* f073b78: 02403825 */ or $a3,$s2,$zero
/* f073b7c: 0fc1979d */ jal func0f065e74
/* f073b80: 8fa6002c */ lw $a2,0x2c($sp)
/* f073b84: c66400c4 */ lwc1 $f4,0xc4($s3)
/* f073b88: 02202025 */ or $a0,$s1,$zero
/* f073b8c: e6240008 */ swc1 $f4,0x8($s1)
/* f073b90: c66600c8 */ lwc1 $f6,0xc8($s3)
/* f073b94: e626000c */ swc1 $f6,0xc($s1)
/* f073b98: c66800cc */ lwc1 $f8,0xcc($s3)
/* f073b9c: 0fc19711 */ jal propDeregisterRooms
/* f073ba0: e6280010 */ swc1 $f8,0x10($s1)
/* f073ba4: 02402025 */ or $a0,$s2,$zero
/* f073ba8: 0fc195e9 */ jal roomsCopy
/* f073bac: 02002825 */ or $a1,$s0,$zero
/* f073bb0: 10000023 */ b .L0f073c40
/* f073bb4: 8e6a0000 */ lw $t2,0x0($s3)
.L0f073bb8:
/* f073bb8: 51e20021 */ beql $t7,$v0,.L0f073c40
/* f073bbc: 8e6a0000 */ lw $t2,0x0($s3)
/* f073bc0: 92580003 */ lbu $t8,0x3($s2)
/* f073bc4: 24010008 */ addiu $at,$zero,0x8
/* f073bc8: 5701001d */ bnel $t8,$at,.L0f073c40
/* f073bcc: 8e6a0000 */ lw $t2,0x0($s3)
/* f073bd0: 9242005c */ lbu $v0,0x5c($s2)
/* f073bd4: 24010053 */ addiu $at,$zero,0x52
/* f073bd8: 26240008 */ addiu $a0,$s1,0x8
/* f073bdc: 10410004 */ beq $v0,$at,.L0f073bf0
/* f073be0: 26300028 */ addiu $s0,$s1,0x28
/* f073be4: 24010054 */ addiu $at,$zero,0x53
/* f073be8: 54410015 */ bnel $v0,$at,.L0f073c40
/* f073bec: 8e6a0000 */ lw $t2,0x0($s3)
.L0f073bf0:
/* f073bf0: a6400062 */ sh $zero,0x62($s2)
/* f073bf4: 8fa60068 */ lw $a2,0x68($sp)
/* f073bf8: 02002825 */ or $a1,$s0,$zero
/* f073bfc: 0fc1979d */ jal func0f065e74
/* f073c00: 27a70034 */ addiu $a3,$sp,0x34
/* f073c04: 8fb90068 */ lw $t9,0x68($sp)
/* f073c08: 02202025 */ or $a0,$s1,$zero
/* f073c0c: c72a0000 */ lwc1 $f10,0x0($t9)
/* f073c10: e62a0008 */ swc1 $f10,0x8($s1)
/* f073c14: 8fa80068 */ lw $t0,0x68($sp)
/* f073c18: c5100004 */ lwc1 $f16,0x4($t0)
/* f073c1c: e630000c */ swc1 $f16,0xc($s1)
/* f073c20: 8fa90068 */ lw $t1,0x68($sp)
/* f073c24: c5320008 */ lwc1 $f18,0x8($t1)
/* f073c28: 0fc19711 */ jal propDeregisterRooms
/* f073c2c: e6320010 */ swc1 $f18,0x10($s1)
/* f073c30: 27a40034 */ addiu $a0,$sp,0x34
/* f073c34: 0fc195e9 */ jal roomsCopy
/* f073c38: 02002825 */ or $a1,$s0,$zero
/* f073c3c: 8e6a0000 */ lw $t2,0x0($s3)
.L0f073c40:
/* f073c40: 2401ff7f */ addiu $at,$zero,-129
/* f073c44: 01415824 */ and $t3,$t2,$at
/* f073c48: ae6b0000 */ sw $t3,0x0($s3)
/* f073c4c: 8fbf0024 */ lw $ra,0x24($sp)
/* f073c50: 8fb30020 */ lw $s3,0x20($sp)
/* f073c54: 8fb2001c */ lw $s2,0x1c($sp)
/* f073c58: 8fb10018 */ lw $s1,0x18($sp)
/* f073c5c: 8fb00014 */ lw $s0,0x14($sp)
/* f073c60: 8fa2005c */ lw $v0,0x5c($sp)
/* f073c64: 03e00008 */ jr $ra
/* f073c68: 27bd0060 */ addiu $sp,$sp,0x60
);
#endif
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f073c6c
.late_rodata
glabel var7f1ab670pf
.word 0x3c23d70a
glabel var7f1ab674pf
.word 0x3c23d70a
glabel var7f1ab678pf
.word 0x38d1b717
glabel var7f1ab67cpf
.word 0x3c23d70a
glabel var7f1ab680pf
.word 0x3c23d70a
glabel var7f1ab684pf
.word 0x3c23d70a
glabel var7f1ab688pf
.word 0xc6ea6000
glabel var7f1ab68cpf
.word 0xc69c4000
glabel var7f1ab690pf
.word 0x3e8e38e4
glabel var7f1ab694pf
.word 0x3c360b61
glabel var7f1ab698pf
.word 0x3d8f5c29
glabel var7f1ab69cpf
.word 0x3e8e38e4
glabel var7f1ab6a0pf
.word 0x3a83126f
glabel var7f1ab6a4pf
.word 0xba83126f
glabel var7f1ab6a8pf
.word 0x3e8e38e4
glabel var7f1ab6acpf
.word 0x3e0e38e4
glabel var7f1ab6b0pf
.word 0x400e38e4
glabel var7f1ab6b4pf
.word 0x46d9038c
glabel var7f1ab6b8pf
.word 0x3dcccccd
glabel var7f1ab6bcpf
.word 0xbdcccccd
glabel var7f1ab6c0pf
.word 0xbdcccccd
glabel var7f1ab6c4pf
.word 0x3f8ccccd
glabel var7f1ab6c8pf
.word 0x3f666666
glabel var7f1ab6ccpf
.word 0x3f99999a
glabel var7f1ab6d0pf
.word 0x3f99999a
glabel var7f1ab6d4pf
.word 0x3f666666
glabel var7f1ab6d8pf
.word 0x3dcccccd
glabel var7f1ab6dcpf
.word 0xbdcccccd
.text
/* f073ee4: 27bdf9f8 */ addiu $sp,$sp,-1544
/* f073ee8: 3c03800a */ lui $v1,0x800a
/* f073eec: 2463a510 */ addiu $v1,$v1,-23280
/* f073ef0: 8c6e0034 */ lw $t6,0x34($v1)
/* f073ef4: afbf005c */ sw $ra,0x5c($sp)
/* f073ef8: afb20058 */ sw $s2,0x58($sp)
/* f073efc: afb10054 */ sw $s1,0x54($sp)
/* f073f00: afb00050 */ sw $s0,0x50($sp)
/* f073f04: f7b40048 */ sdc1 $f20,0x48($sp)
/* f073f08: afa5060c */ sw $a1,0x60c($sp)
/* f073f0c: 8c900048 */ lw $s0,0x48($a0)
/* f073f10: afa005d8 */ sw $zero,0x5d8($sp)
/* f073f14: 00808825 */ move $s1,$a0
/* f073f18: 19c00ca4 */ blez $t6,.PF0f0771ac
/* f073f1c: 8c920014 */ lw $s2,0x14($a0)
/* f073f20: 908f0003 */ lbu $t7,0x3($a0)
/* f073f24: 24010008 */ li $at,0x8
/* f073f28: 55e1000a */ bnel $t7,$at,.PF0f073f54
/* f073f2c: 8e020000 */ lw $v0,0x0($s0)
/* f073f30: 9098005c */ lbu $t8,0x5c($a0)
/* f073f34: 24010058 */ li $at,0x58
/* f073f38: 57010006 */ bnel $t8,$at,.PF0f073f54
/* f073f3c: 8e020000 */ lw $v0,0x0($s0)
/* f073f40: 0fc1cdbc */ jal func0f073478
/* f073f44: 00000000 */ nop
/* f073f48: 10000c98 */ b .PF0f0771ac
/* f073f4c: afa205d8 */ sw $v0,0x5d8($sp)
/* f073f50: 8e020000 */ lw $v0,0x0($s0)
.PF0f073f54:
/* f073f54: 2401cfff */ li $at,-12289
/* f073f58: 30591000 */ andi $t9,$v0,0x1000
/* f073f5c: 13200006 */ beqz $t9,.PF0f073f78
/* f073f60: 30492000 */ andi $t1,$v0,0x2000
/* f073f64: 0009502b */ sltu $t2,$zero,$t1
/* f073f68: afaa05d8 */ sw $t2,0x5d8($sp)
/* f073f6c: 00415824 */ and $t3,$v0,$at
/* f073f70: 10000c8e */ b .PF0f0771ac
/* f073f74: ae0b0000 */ sw $t3,0x0($s0)
.PF0f073f78:
/* f073f78: 8e2c0040 */ lw $t4,0x40($s1)
/* f073f7c: 3c01fffd */ lui $at,0xfffd
/* f073f80: 3421ffff */ ori $at,$at,0xffff
/* f073f84: 01816824 */ and $t5,$t4,$at
/* f073f88: ae2d0040 */ sw $t5,0x40($s1)
/* f073f8c: 8e0e0000 */ lw $t6,0x0($s0)
/* f073f90: 02202025 */ move $a0,$s1
/* f073f94: 02002825 */ move $a1,$s0
/* f073f98: 31cf0080 */ andi $t7,$t6,0x80
/* f073f9c: 11e00005 */ beqz $t7,.PF0f073fb4
/* f073fa0: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f073fa4: 0fc1cf58 */ jal func0f073ae8
/* f073fa8: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f073fac: 3c03800a */ lui $v1,0x800a
/* f073fb0: 2463a510 */ addiu $v1,$v1,-23280
.PF0f073fb4:
/* f073fb4: c6440008 */ lwc1 $f4,0x8($s2)
/* f073fb8: 2624001c */ addiu $a0,$s1,0x1c
/* f073fbc: 27a50504 */ addiu $a1,$sp,0x504
/* f073fc0: e7a405dc */ swc1 $f4,0x5dc($sp)
/* f073fc4: c646000c */ lwc1 $f6,0xc($s2)
/* f073fc8: e7a605e0 */ swc1 $f6,0x5e0($sp)
/* f073fcc: c6480010 */ lwc1 $f8,0x10($s2)
/* f073fd0: e7a805e4 */ swc1 $f8,0x5e4($sp)
/* f073fd4: 8e0200b4 */ lw $v0,0xb4($s0)
/* f073fd8: 58400005 */ blezl $v0,.PF0f073ff0
/* f073fdc: 8e020000 */ lw $v0,0x0($s0)
/* f073fe0: 8c780034 */ lw $t8,0x34($v1)
/* f073fe4: 0058c823 */ subu $t9,$v0,$t8
/* f073fe8: ae1900b4 */ sw $t9,0xb4($s0)
/* f073fec: 8e020000 */ lw $v0,0x0($s0)
.PF0f073ff0:
/* f073ff0: 30490800 */ andi $t1,$v0,0x800
/* f073ff4: 11200379 */ beqz $t1,.PF0f074ddc
/* f073ff8: 304e0001 */ andi $t6,$v0,0x1
/* f073ffc: 0c0056b9 */ jal mtx3ToMtx4
/* f074000: afa40074 */ sw $a0,0x74($sp)
/* f074004: 26440008 */ addiu $a0,$s2,0x8
/* f074008: afa40070 */ sw $a0,0x70($sp)
/* f07400c: 0c0056d9 */ jal mtx4SetTranslation
/* f074010: 27a50504 */ addiu $a1,$sp,0x504
/* f074014: 4480a000 */ mtc1 $zero,$f20
/* f074018: c60000dc */ lwc1 $f0,0xdc($s0)
/* f07401c: 3c01800a */ lui $at,0x800a
/* f074020: 4600a03c */ c.lt.s $f20,$f0
/* f074024: 00000000 */ nop
/* f074028: 4502002c */ bc1fl .PF0f0740dc
/* f07402c: 4614003c */ c.lt.s $f0,$f20
/* f074030: c60a00e0 */ lwc1 $f10,0xe0($s0)
/* f074034: c424a55c */ lwc1 $f4,-0x5aa4($at)
/* f074038: 3c013f80 */ lui $at,0x3f80
/* f07403c: 46045182 */ mul.s $f6,$f10,$f4
/* f074040: 46060201 */ sub.s $f8,$f0,$f6
/* f074044: e60800dc */ swc1 $f8,0xdc($s0)
/* f074048: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f07404c: 4614503c */ c.lt.s $f10,$f20
/* f074050: 00000000 */ nop
/* f074054: 45020004 */ bc1fl .PF0f074068
/* f074058: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f07405c: 1000004b */ b .PF0f07418c
/* f074060: e61400dc */ swc1 $f20,0xdc($s0)
/* f074064: c61000e4 */ lwc1 $f16,0xe4($s0)
.PF0f074068:
/* f074068: 44812000 */ mtc1 $at,$f4
/* f07406c: 3c03800a */ lui $v1,0x800a
/* f074070: 4604803c */ c.lt.s $f16,$f4
/* f074074: 00000000 */ nop
/* f074078: 45020045 */ bc1fl .PF0f074190
/* f07407c: c60e0004 */ lwc1 $f14,0x4($s0)
/* f074080: 8c63a548 */ lw $v1,-0x5ab8($v1)
/* f074084: 00001025 */ move $v0,$zero
/* f074088: 58600041 */ blezl $v1,.PF0f074190
/* f07408c: c60e0004 */ lwc1 $f14,0x4($s0)
/* f074090: c60200ec */ lwc1 $f2,0xec($s0)
/* f074094: c60000dc */ lwc1 $f0,0xdc($s0)
.PF0f074098:
/* f074098: 24420001 */ addiu $v0,$v0,0x1
/* f07409c: 4600103c */ c.lt.s $f2,$f0
/* f0740a0: 00000000 */ nop
/* f0740a4: 45020008 */ bc1fl .PF0f0740c8
/* f0740a8: 0043082a */ slt $at,$v0,$v1
/* f0740ac: 46020181 */ sub.s $f6,$f0,$f2
/* f0740b0: 3c03800a */ lui $v1,0x800a
/* f0740b4: 46103202 */ mul.s $f8,$f6,$f16
/* f0740b8: 46081280 */ add.s $f10,$f2,$f8
/* f0740bc: e60a00dc */ swc1 $f10,0xdc($s0)
/* f0740c0: 8c63a548 */ lw $v1,-0x5ab8($v1)
/* f0740c4: 0043082a */ slt $at,$v0,$v1
.PF0f0740c8:
/* f0740c8: 5420fff3 */ bnezl $at,.PF0f074098
/* f0740cc: c60000dc */ lwc1 $f0,0xdc($s0)
/* f0740d0: 1000002f */ b .PF0f074190
/* f0740d4: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0740d8: 4614003c */ c.lt.s $f0,$f20
.PF0f0740dc:
/* f0740dc: 3c04800a */ lui $a0,0x800a
/* f0740e0: 2484a510 */ addiu $a0,$a0,-23280
/* f0740e4: 4502002a */ bc1fl .PF0f074190
/* f0740e8: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0740ec: c60400e0 */ lwc1 $f4,0xe0($s0)
/* f0740f0: c486004c */ lwc1 $f6,0x4c($a0)
/* f0740f4: 3c013f80 */ lui $at,0x3f80
/* f0740f8: 46062202 */ mul.s $f8,$f4,$f6
/* f0740fc: 46080280 */ add.s $f10,$f0,$f8
/* f074100: e60a00dc */ swc1 $f10,0xdc($s0)
/* f074104: c60400dc */ lwc1 $f4,0xdc($s0)
/* f074108: 4604a03c */ c.lt.s $f20,$f4
/* f07410c: 00000000 */ nop
/* f074110: 45020004 */ bc1fl .PF0f074124
/* f074114: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f074118: 1000001c */ b .PF0f07418c
/* f07411c: e61400dc */ swc1 $f20,0xdc($s0)
/* f074120: c61000e4 */ lwc1 $f16,0xe4($s0)
.PF0f074124:
/* f074124: 44813000 */ mtc1 $at,$f6
/* f074128: 00000000 */ nop
/* f07412c: 4606803c */ c.lt.s $f16,$f6
/* f074130: 00000000 */ nop
/* f074134: 45020016 */ bc1fl .PF0f074190
/* f074138: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07413c: 8c830038 */ lw $v1,0x38($a0)
/* f074140: 00001025 */ move $v0,$zero
/* f074144: 58600012 */ blezl $v1,.PF0f074190
/* f074148: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07414c: c60200ec */ lwc1 $f2,0xec($s0)
/* f074150: 46001307 */ neg.s $f12,$f2
/* f074154: c60000dc */ lwc1 $f0,0xdc($s0)
.PF0f074158:
/* f074158: 24420001 */ addiu $v0,$v0,0x1
/* f07415c: 460c003c */ c.lt.s $f0,$f12
/* f074160: 00000000 */ nop
/* f074164: 45020007 */ bc1fl .PF0f074184
/* f074168: 0043082a */ slt $at,$v0,$v1
/* f07416c: 46020200 */ add.s $f8,$f0,$f2
/* f074170: 46104282 */ mul.s $f10,$f8,$f16
/* f074174: 460a6100 */ add.s $f4,$f12,$f10
/* f074178: e60400dc */ swc1 $f4,0xdc($s0)
/* f07417c: 8c830038 */ lw $v1,0x38($a0)
/* f074180: 0043082a */ slt $at,$v0,$v1
.PF0f074184:
/* f074184: 5420fff4 */ bnezl $at,.PF0f074158
/* f074188: c60000dc */ lwc1 $f0,0xdc($s0)
.PF0f07418c:
/* f07418c: c60e0004 */ lwc1 $f14,0x4($s0)
.PF0f074190:
/* f074190: 460ea032 */ c.eq.s $f20,$f14
/* f074194: 00000000 */ nop
/* f074198: 45020007 */ bc1fl .PF0f0741b8
/* f07419c: c6080098 */ lwc1 $f8,0x98($s0)
/* f0741a0: c606000c */ lwc1 $f6,0xc($s0)
/* f0741a4: 4606a032 */ c.eq.s $f20,$f6
/* f0741a8: 00000000 */ nop
/* f0741ac: 45030061 */ bc1tl .PF0f074334
/* f0741b0: 8e040088 */ lw $a0,0x88($s0)
/* f0741b4: c6080098 */ lwc1 $f8,0x98($s0)
.PF0f0741b8:
/* f0741b8: 4608a03c */ c.lt.s $f20,$f8
/* f0741bc: 00000000 */ nop
/* f0741c0: 4502005c */ bc1fl .PF0f074334
/* f0741c4: 8e040088 */ lw $a0,0x88($s0)
/* f0741c8: c602000c */ lwc1 $f2,0xc($s0)
/* f0741cc: 46021282 */ mul.s $f10,$f2,$f2
/* f0741d0: 00000000 */ nop
/* f0741d4: 460e7102 */ mul.s $f4,$f14,$f14
/* f0741d8: 0c0127b4 */ jal sqrtf
/* f0741dc: 46045300 */ add.s $f12,$f10,$f4
/* f0741e0: 4600a03c */ c.lt.s $f20,$f0
/* f0741e4: 3c03800a */ lui $v1,0x800a
/* f0741e8: 2463a510 */ addiu $v1,$v1,-23280
/* f0741ec: 4502004f */ bc1fl .PF0f07432c
/* f0741f0: e6140004 */ swc1 $f20,0x4($s0)
/* f0741f4: c6060098 */ lwc1 $f6,0x98($s0)
/* f0741f8: c468004c */ lwc1 $f8,0x4c($v1)
/* f0741fc: 3c013f80 */ lui $at,0x3f80
/* f074200: 44812000 */ mtc1 $at,$f4
/* f074204: 46083282 */ mul.s $f10,$f6,$f8
/* f074208: 46005303 */ div.s $f12,$f10,$f0
/* f07420c: 460c203e */ c.le.s $f4,$f12
/* f074210: 00000000 */ nop
/* f074214: 45020005 */ bc1fl .PF0f07422c
/* f074218: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07421c: e6140004 */ swc1 $f20,0x4($s0)
/* f074220: 10000043 */ b .PF0f074330
/* f074224: e614000c */ swc1 $f20,0xc($s0)
/* f074228: c60e0004 */ lwc1 $f14,0x4($s0)
.PF0f07422c:
/* f07422c: c602000c */ lwc1 $f2,0xc($s0)
/* f074230: 3c013f80 */ lui $at,0x3f80
/* f074234: 460c7182 */ mul.s $f6,$f14,$f12
/* f074238: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f07423c: 460c1282 */ mul.s $f10,$f2,$f12
/* f074240: 46067201 */ sub.s $f8,$f14,$f6
/* f074244: 44813000 */ mtc1 $at,$f6
/* f074248: 460a1101 */ sub.s $f4,$f2,$f10
/* f07424c: e6080004 */ swc1 $f8,0x4($s0)
/* f074250: 4606803c */ c.lt.s $f16,$f6
/* f074254: e604000c */ swc1 $f4,0xc($s0)
/* f074258: 45020036 */ bc1fl .PF0f074334
/* f07425c: 8e040088 */ lw $a0,0x88($s0)
/* f074260: 8c6a0038 */ lw $t2,0x38($v1)
/* f074264: 00001025 */ move $v0,$zero
/* f074268: 59400032 */ blezl $t2,.PF0f074334
/* f07426c: 8e040088 */ lw $a0,0x88($s0)
/* f074270: c60c00f0 */ lwc1 $f12,0xf0($s0)
/* f074274: c60e0004 */ lwc1 $f14,0x4($s0)
.PF0f074278:
/* f074278: 460e603c */ c.lt.s $f12,$f14
/* f07427c: 00000000 */ nop
/* f074280: 45020007 */ bc1fl .PF0f0742a0
/* f074284: 46006007 */ neg.s $f0,$f12
/* f074288: 460c7201 */ sub.s $f8,$f14,$f12
/* f07428c: 46104282 */ mul.s $f10,$f8,$f16
/* f074290: 460c5100 */ add.s $f4,$f10,$f12
/* f074294: 1000000a */ b .PF0f0742c0
/* f074298: e6040004 */ swc1 $f4,0x4($s0)
/* f07429c: 46006007 */ neg.s $f0,$f12
.PF0f0742a0:
/* f0742a0: 4600703c */ c.lt.s $f14,$f0
/* f0742a4: 00000000 */ nop
/* f0742a8: 45020006 */ bc1fl .PF0f0742c4
/* f0742ac: c602000c */ lwc1 $f2,0xc($s0)
/* f0742b0: 460c7180 */ add.s $f6,$f14,$f12
/* f0742b4: 46103202 */ mul.s $f8,$f6,$f16
/* f0742b8: 46004280 */ add.s $f10,$f8,$f0
/* f0742bc: e60a0004 */ swc1 $f10,0x4($s0)
.PF0f0742c0:
/* f0742c0: c602000c */ lwc1 $f2,0xc($s0)
.PF0f0742c4:
/* f0742c4: 4602603c */ c.lt.s $f12,$f2
/* f0742c8: 00000000 */ nop
/* f0742cc: 45020007 */ bc1fl .PF0f0742ec
/* f0742d0: 46006007 */ neg.s $f0,$f12
/* f0742d4: 460c1101 */ sub.s $f4,$f2,$f12
/* f0742d8: 46102182 */ mul.s $f6,$f4,$f16
/* f0742dc: 460c3200 */ add.s $f8,$f6,$f12
/* f0742e0: 1000000a */ b .PF0f07430c
/* f0742e4: e608000c */ swc1 $f8,0xc($s0)
/* f0742e8: 46006007 */ neg.s $f0,$f12
.PF0f0742ec:
/* f0742ec: 4600103c */ c.lt.s $f2,$f0
/* f0742f0: 00000000 */ nop
/* f0742f4: 45020006 */ bc1fl .PF0f074310
/* f0742f8: 8c6b0038 */ lw $t3,0x38($v1)
/* f0742fc: 460c1280 */ add.s $f10,$f2,$f12
/* f074300: 46105102 */ mul.s $f4,$f10,$f16
/* f074304: 46002180 */ add.s $f6,$f4,$f0
/* f074308: e606000c */ swc1 $f6,0xc($s0)
.PF0f07430c:
/* f07430c: 8c6b0038 */ lw $t3,0x38($v1)
.PF0f074310:
/* f074310: 24420001 */ addiu $v0,$v0,0x1
/* f074314: 004b082a */ slt $at,$v0,$t3
/* f074318: 5420ffd7 */ bnezl $at,.PF0f074278
/* f07431c: c60e0004 */ lwc1 $f14,0x4($s0)
/* f074320: 10000004 */ b .PF0f074334
/* f074324: 8e040088 */ lw $a0,0x88($s0)
/* f074328: e6140004 */ swc1 $f20,0x4($s0)
.PF0f07432c:
/* f07432c: e614000c */ swc1 $f20,0xc($s0)
.PF0f074330:
/* f074330: 8e040088 */ lw $a0,0x88($s0)
.PF0f074334:
/* f074334: 50800004 */ beqzl $a0,.PF0f074348
/* f074338: 86240006 */ lh $a0,0x6($s1)
/* f07433c: 0fc19102 */ jal propSetPerimEnabled
/* f074340: 00002825 */ move $a1,$zero
/* f074344: 86240006 */ lh $a0,0x6($s1)
.PF0f074348:
/* f074348: 288c0000 */ slti $t4,$a0,0x0
/* f07434c: 398c0001 */ xori $t4,$t4,0x1
/* f074350: 11800007 */ beqz $t4,.PF0f074370
/* f074354: afac0088 */ sw $t4,0x88($sp)
/* f074358: 8e2e0010 */ lw $t6,0x10($s1)
/* f07435c: 3c010100 */ lui $at,0x100
/* f074360: 34210002 */ ori $at,$at,0x2
/* f074364: 01c17824 */ and $t7,$t6,$at
/* f074368: 2df80001 */ sltiu $t8,$t7,0x1
/* f07436c: afb80088 */ sw $t8,0x88($sp)
.PF0f074370:
/* f074370: 8fb90088 */ lw $t9,0x88($sp)
/* f074374: 1320003b */ beqz $t9,.PF0f074464
/* f074378: 24050002 */ li $a1,0x2
/* f07437c: 0fc45964 */ jal padUnpack
/* f074380: 27a60430 */ addiu $a2,$sp,0x430
/* f074384: 3c014348 */ lui $at,0x4348
/* f074388: 44811000 */ mtc1 $at,$f2
/* f07438c: 8e290010 */ lw $t1,0x10($s1)
/* f074390: 3c014396 */ lui $at,0x4396
/* f074394: 44816000 */ mtc1 $at,$f12
/* f074398: 00095200 */ sll $t2,$t1,0x8
/* f07439c: 46001406 */ mov.s $f16,$f2
/* f0743a0: 05410006 */ bgez $t2,.PF0f0743bc
/* f0743a4: 46006386 */ mov.s $f14,$f12
/* f0743a8: 3c01442f */ lui $at,0x442f
/* f0743ac: 44810000 */ mtc1 $at,$f0
/* f0743b0: 00000000 */ nop
/* f0743b4: 46001400 */ add.s $f16,$f2,$f0
/* f0743b8: 46006380 */ add.s $f14,$f12,$f0
.PF0f0743bc:
/* f0743bc: 862b0004 */ lh $t3,0x4($s1)
/* f0743c0: 240101a8 */ li $at,0x1a8
/* f0743c4: c7aa0430 */ lwc1 $f10,0x430($sp)
/* f0743c8: 15610006 */ bne $t3,$at,.PF0f0743e4
/* f0743cc: 3c0141a0 */ lui $at,0x41a0
/* f0743d0: 44810000 */ mtc1 $at,$f0
/* f0743d4: 3c014248 */ lui $at,0x4248
/* f0743d8: 44814000 */ mtc1 $at,$f8
/* f0743dc: 46007380 */ add.s $f14,$f14,$f0
/* f0743e0: 46088400 */ add.s $f16,$f16,$f8
.PF0f0743e4:
/* f0743e4: c6440008 */ lwc1 $f4,0x8($s2)
/* f0743e8: c7a60438 */ lwc1 $f6,0x438($sp)
/* f0743ec: c6480010 */ lwc1 $f8,0x10($s2)
/* f0743f0: 46045001 */ sub.s $f0,$f10,$f4
/* f0743f4: e7b0041c */ swc1 $f16,0x41c($sp)
/* f0743f8: e7ae0418 */ swc1 $f14,0x418($sp)
/* f0743fc: 46083081 */ sub.s $f2,$f6,$f8
/* f074400: 46000282 */ mul.s $f10,$f0,$f0
/* f074404: 00000000 */ nop
/* f074408: 46021102 */ mul.s $f4,$f2,$f2
/* f07440c: 0c0127b4 */ jal sqrtf
/* f074410: 46045300 */ add.s $f12,$f10,$f4
/* f074414: c7a60418 */ lwc1 $f6,0x418($sp)
/* f074418: c7a8041c */ lwc1 $f8,0x41c($sp)
/* f07441c: 4600303c */ c.lt.s $f6,$f0
/* f074420: 00000000 */ nop
/* f074424: 45020004 */ bc1fl .PF0f074438
/* f074428: 4600403c */ c.lt.s $f8,$f0
/* f07442c: 1000000d */ b .PF0f074464
/* f074430: e61400dc */ swc1 $f20,0xdc($s0)
/* f074434: 4600403c */ c.lt.s $f8,$f0
.PF0f074438:
/* f074438: c7aa0418 */ lwc1 $f10,0x418($sp)
/* f07443c: 3c017f1b */ lui $at,0x7f1b
/* f074440: 45000008 */ bc1f .PF0f074464
/* f074444: 00000000 */ nop
/* f074448: 46005101 */ sub.s $f4,$f10,$f0
/* f07444c: c426b670 */ lwc1 $f6,-0x4990($at)
/* f074450: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f074454: 46062202 */ mul.s $f8,$f4,$f6
/* f074458: 00000000 */ nop
/* f07445c: 46085102 */ mul.s $f4,$f10,$f8
/* f074460: e60400dc */ swc1 $f4,0xdc($s0)
.PF0f074464:
/* f074464: 3c01800a */ lui $at,0x800a
/* f074468: c42aa55c */ lwc1 $f10,-0x5aa4($at)
/* f07446c: c60600dc */ lwc1 $f6,0xdc($s0)
/* f074470: 460a3002 */ mul.s $f0,$f6,$f10
/* f074474: 46140032 */ c.eq.s $f0,$f20
/* f074478: 00000000 */ nop
/* f07447c: 4501001c */ bc1t .PF0f0744f0
/* f074480: 3c0c8007 */ lui $t4,0x8007
/* f074484: 258c9868 */ addiu $t4,$t4,-26520
/* f074488: 8d810000 */ lw $at,0x0($t4)
/* f07448c: 27a50404 */ addiu $a1,$sp,0x404
/* f074490: 44060000 */ mfc1 $a2,$f0
/* f074494: aca10000 */ sw $at,0x0($a1)
/* f074498: 8d8e0004 */ lw $t6,0x4($t4)
/* f07449c: 02202025 */ move $a0,$s1
/* f0744a0: 24070001 */ li $a3,0x1
/* f0744a4: acae0004 */ sw $t6,0x4($a1)
/* f0744a8: 8d810008 */ lw $at,0x8($t4)
/* f0744ac: aca10008 */ sw $at,0x8($a1)
/* f0744b0: 0fc1c8f2 */ jal func0f072144
/* f0744b4: e7a005a8 */ swc1 $f0,0x5a8($sp)
/* f0744b8: 2401ffff */ li $at,-1
/* f0744bc: 1041000c */ beq $v0,$at,.PF0f0744f0
/* f0744c0: c7a005a8 */ lwc1 $f0,0x5a8($sp)
/* f0744c4: 1440000a */ bnez $v0,.PF0f0744f0
/* f0744c8: 00000000 */ nop
/* f0744cc: c60800dc */ lwc1 $f8,0xdc($s0)
/* f0744d0: c606008c */ lwc1 $f6,0x8c($s0)
/* f0744d4: 44060000 */ mfc1 $a2,$f0
/* f0744d8: 46004107 */ neg.s $f4,$f8
/* f0744dc: 02202025 */ move $a0,$s1
/* f0744e0: 46062282 */ mul.s $f10,$f4,$f6
/* f0744e4: 27a50404 */ addiu $a1,$sp,0x404
/* f0744e8: 0fc1ca96 */ jal func0f0727d4
/* f0744ec: e60a00dc */ swc1 $f10,0xdc($s0)
.PF0f0744f0:
/* f0744f0: 3c01800a */ lui $at,0x800a
/* f0744f4: c422a55c */ lwc1 $f2,-0x5aa4($at)
/* f0744f8: c6080004 */ lwc1 $f8,0x4($s0)
/* f0744fc: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f074500: 8faf0088 */ lw $t7,0x88($sp)
/* f074504: 46024102 */ mul.s $f4,$f8,$f2
/* f074508: e7a4059c */ swc1 $f4,0x59c($sp)
/* f07450c: c606000c */ lwc1 $f6,0xc($s0)
/* f074510: 46023282 */ mul.s $f10,$f6,$f2
/* f074514: 11e00031 */ beqz $t7,.PF0f0745dc
/* f074518: e7aa05a4 */ swc1 $f10,0x5a4($sp)
/* f07451c: c7a80430 */ lwc1 $f8,0x430($sp)
/* f074520: c6440008 */ lwc1 $f4,0x8($s2)
/* f074524: c7aa059c */ lwc1 $f10,0x59c($sp)
/* f074528: 46044181 */ sub.s $f6,$f8,$f4
/* f07452c: c6440010 */ lwc1 $f4,0x10($s2)
/* f074530: c7a80438 */ lwc1 $f8,0x438($sp)
/* f074534: 460a3001 */ sub.s $f0,$f6,$f10
/* f074538: c7aa05a4 */ lwc1 $f10,0x5a4($sp)
/* f07453c: 46044181 */ sub.s $f6,$f8,$f4
/* f074540: 46000202 */ mul.s $f8,$f0,$f0
/* f074544: 460a3081 */ sub.s $f2,$f6,$f10
/* f074548: 46021102 */ mul.s $f4,$f2,$f2
/* f07454c: 0c0127b4 */ jal sqrtf
/* f074550: 46044300 */ add.s $f12,$f8,$f4
/* f074554: c7ac0418 */ lwc1 $f12,0x418($sp)
/* f074558: c7a6041c */ lwc1 $f6,0x41c($sp)
/* f07455c: 4600603c */ c.lt.s $f12,$f0
/* f074560: 00000000 */ nop
/* f074564: 45020009 */ bc1fl .PF0f07458c
/* f074568: 4600303c */ c.lt.s $f6,$f0
/* f07456c: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f074570: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f074574: e7a0059c */ swc1 $f0,0x59c($sp)
/* f074578: e6000004 */ swc1 $f0,0x4($s0)
/* f07457c: e600000c */ swc1 $f0,0xc($s0)
/* f074580: 10000016 */ b .PF0f0745dc
/* f074584: e60000dc */ swc1 $f0,0xdc($s0)
/* f074588: 4600303c */ c.lt.s $f6,$f0
.PF0f07458c:
/* f07458c: 3c017f1b */ lui $at,0x7f1b
/* f074590: 45020013 */ bc1fl .PF0f0745e0
/* f074594: 4406a000 */ mfc1 $a2,$f20
/* f074598: 46006281 */ sub.s $f10,$f12,$f0
/* f07459c: c428b674 */ lwc1 $f8,-0x498c($at)
/* f0745a0: c6040004 */ lwc1 $f4,0x4($s0)
/* f0745a4: 46085082 */ mul.s $f2,$f10,$f8
/* f0745a8: c60a000c */ lwc1 $f10,0xc($s0)
/* f0745ac: 46022182 */ mul.s $f6,$f4,$f2
/* f0745b0: 00000000 */ nop
/* f0745b4: 46025202 */ mul.s $f8,$f10,$f2
/* f0745b8: e6060004 */ swc1 $f6,0x4($s0)
/* f0745bc: e608000c */ swc1 $f8,0xc($s0)
/* f0745c0: c7a4059c */ lwc1 $f4,0x59c($sp)
/* f0745c4: c7aa05a4 */ lwc1 $f10,0x5a4($sp)
/* f0745c8: 46022182 */ mul.s $f6,$f4,$f2
/* f0745cc: 00000000 */ nop
/* f0745d0: 46025202 */ mul.s $f8,$f10,$f2
/* f0745d4: e7a6059c */ swc1 $f6,0x59c($sp)
/* f0745d8: e7a805a4 */ swc1 $f8,0x5a4($sp)
.PF0f0745dc:
/* f0745dc: 4406a000 */ mfc1 $a2,$f20
.PF0f0745e0:
/* f0745e0: 02202025 */ move $a0,$s1
/* f0745e4: 27a5059c */ addiu $a1,$sp,0x59c
/* f0745e8: 0fc1c8f2 */ jal func0f072144
/* f0745ec: 24070001 */ li $a3,0x1
/* f0745f0: 144001ae */ bnez $v0,.PF0f074cac
/* f0745f4: afa20600 */ sw $v0,0x600($sp)
/* f0745f8: 4406a000 */ mfc1 $a2,$f20
/* f0745fc: 02202025 */ move $a0,$s1
/* f074600: 0fc1ca96 */ jal func0f0727d4
/* f074604: 27a5059c */ addiu $a1,$sp,0x59c
/* f074608: c604008c */ lwc1 $f4,0x8c($s0)
/* f07460c: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f074610: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f074614: 46040402 */ mul.s $f16,$f0,$f4
/* f074618: 4610a03c */ c.lt.s $f20,$f16
/* f07461c: 00000000 */ nop
/* f074620: 450201a3 */ bc1fl .PF0f074cb0
/* f074624: 8fab0600 */ lw $t3,0x600($sp)
/* f074628: 0c009319 */ jal cd00025364
/* f07462c: e7b0058c */ swc1 $f16,0x58c($sp)
/* f074630: 1040000e */ beqz $v0,.PF0f07466c
/* f074634: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f074638: c7a603c4 */ lwc1 $f6,0x3c4($sp)
/* f07463c: c7aa03d0 */ lwc1 $f10,0x3d0($sp)
/* f074640: c7a403c8 */ lwc1 $f4,0x3c8($sp)
/* f074644: 460a3201 */ sub.s $f8,$f6,$f10
/* f074648: c7a603d4 */ lwc1 $f6,0x3d4($sp)
/* f07464c: 46062281 */ sub.s $f10,$f4,$f6
/* f074650: e7a803c4 */ swc1 $f8,0x3c4($sp)
/* f074654: c7a803cc */ lwc1 $f8,0x3cc($sp)
/* f074658: c7a403d8 */ lwc1 $f4,0x3d8($sp)
/* f07465c: e7aa03c8 */ swc1 $f10,0x3c8($sp)
/* f074660: 46044181 */ sub.s $f6,$f8,$f4
/* f074664: 10000020 */ b .PF0f0746e8
/* f074668: e7a603cc */ swc1 $f6,0x3cc($sp)
.PF0f07466c:
/* f07466c: 3c077f1b */ lui $a3,0x7f1b
/* f074670: 24e7b240 */ addiu $a3,$a3,-19904
/* f074674: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f074678: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f07467c: 240620a8 */ li $a2,0x20a8
/* f074680: 0c0091d3 */ jal cd00024e4c
/* f074684: e7b0058c */ swc1 $f16,0x58c($sp)
/* f074688: c7aa03d0 */ lwc1 $f10,0x3d0($sp)
/* f07468c: c7a803c4 */ lwc1 $f8,0x3c4($sp)
/* f074690: c7a603d4 */ lwc1 $f6,0x3d4($sp)
/* f074694: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f074698: 46085101 */ sub.s $f4,$f10,$f8
/* f07469c: c7aa03c8 */ lwc1 $f10,0x3c8($sp)
/* f0746a0: 460a3201 */ sub.s $f8,$f6,$f10
/* f0746a4: e7a403d0 */ swc1 $f4,0x3d0($sp)
/* f0746a8: c7a403d8 */ lwc1 $f4,0x3d8($sp)
/* f0746ac: c7a603cc */ lwc1 $f6,0x3cc($sp)
/* f0746b0: e7a803d4 */ swc1 $f8,0x3d4($sp)
/* f0746b4: e7a803c8 */ swc1 $f8,0x3c8($sp)
/* f0746b8: 46062281 */ sub.s $f10,$f4,$f6
/* f0746bc: c7a603d0 */ lwc1 $f6,0x3d0($sp)
/* f0746c0: 46005107 */ neg.s $f4,$f10
/* f0746c4: e7aa03d8 */ swc1 $f10,0x3d8($sp)
/* f0746c8: e7a403c4 */ swc1 $f4,0x3c4($sp)
/* f0746cc: e7a603cc */ swc1 $f6,0x3cc($sp)
/* f0746d0: c64a0008 */ lwc1 $f10,0x8($s2)
/* f0746d4: e7aa03d0 */ swc1 $f10,0x3d0($sp)
/* f0746d8: c644000c */ lwc1 $f4,0xc($s2)
/* f0746dc: e7a403d4 */ swc1 $f4,0x3d4($sp)
/* f0746e0: c6480010 */ lwc1 $f8,0x10($s2)
/* f0746e4: e7a803d8 */ swc1 $f8,0x3d8($sp)
.PF0f0746e8:
/* f0746e8: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f0746ec: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f0746f0: 27a603b8 */ addiu $a2,$sp,0x3b8
/* f0746f4: 0fc0b986 */ jal func0f02e4f8
/* f0746f8: e7b0058c */ swc1 $f16,0x58c($sp)
/* f0746fc: c6460008 */ lwc1 $f6,0x8($s2)
/* f074700: c7aa05dc */ lwc1 $f10,0x5dc($sp)
/* f074704: e7b403b0 */ swc1 $f20,0x3b0($sp)
/* f074708: 3c017f1b */ lui $at,0x7f1b
/* f07470c: 460a3101 */ sub.s $f4,$f6,$f10
/* f074710: c7a605e4 */ lwc1 $f6,0x5e4($sp)
/* f074714: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f074718: e7a403ac */ swc1 $f4,0x3ac($sp)
/* f07471c: c6480010 */ lwc1 $f8,0x10($s2)
/* f074720: c7a403b8 */ lwc1 $f4,0x3b8($sp)
/* f074724: 46064281 */ sub.s $f10,$f8,$f6
/* f074728: e7aa03b4 */ swc1 $f10,0x3b4($sp)
/* f07472c: c6480008 */ lwc1 $f8,0x8($s2)
/* f074730: c7aa03c0 */ lwc1 $f10,0x3c0($sp)
/* f074734: 46082181 */ sub.s $f6,$f4,$f8
/* f074738: e7a603b8 */ swc1 $f6,0x3b8($sp)
/* f07473c: c6440010 */ lwc1 $f4,0x10($s2)
/* f074740: 46045201 */ sub.s $f8,$f10,$f4
/* f074744: c7aa03ac */ lwc1 $f10,0x3ac($sp)
/* f074748: 46085102 */ mul.s $f4,$f10,$f8
/* f07474c: e7a803c0 */ swc1 $f8,0x3c0($sp)
/* f074750: c7a803b4 */ lwc1 $f8,0x3b4($sp)
/* f074754: 46003287 */ neg.s $f10,$f6
/* f074758: c60200ec */ lwc1 $f2,0xec($s0)
/* f07475c: 46085182 */ mul.s $f6,$f10,$f8
/* f074760: c428b678 */ lwc1 $f8,-0x4988($at)
/* f074764: 46062280 */ add.s $f10,$f4,$f6
/* f074768: 46085382 */ mul.s $f14,$f10,$f8
/* f07476c: 460e103c */ c.lt.s $f2,$f14
/* f074770: 46007006 */ mov.s $f0,$f14
/* f074774: 45020004 */ bc1fl .PF0f074788
/* f074778: 46001307 */ neg.s $f12,$f2
/* f07477c: 10000007 */ b .PF0f07479c
/* f074780: 46001006 */ mov.s $f0,$f2
/* f074784: 46001307 */ neg.s $f12,$f2
.PF0f074788:
/* f074788: 460c703c */ c.lt.s $f14,$f12
/* f07478c: 00000000 */ nop
/* f074790: 45020003 */ bc1fl .PF0f0747a0
/* f074794: c60400dc */ lwc1 $f4,0xdc($s0)
/* f074798: 46006006 */ mov.s $f0,$f12
.PF0f07479c:
/* f07479c: c60400dc */ lwc1 $f4,0xdc($s0)
.PF0f0747a0:
/* f0747a0: 3c077f1b */ lui $a3,0x7f1b
/* f0747a4: 24e7b250 */ addiu $a3,$a3,-19888
/* f0747a8: 46002180 */ add.s $f6,$f4,$f0
/* f0747ac: 27a403e8 */ addiu $a0,$sp,0x3e8
/* f0747b0: 27a503dc */ addiu $a1,$sp,0x3dc
/* f0747b4: 240620ce */ li $a2,0x20ce
/* f0747b8: e60600dc */ swc1 $f6,0xdc($s0)
/* f0747bc: 0c0091d3 */ jal cd00024e4c
/* f0747c0: e7b0058c */ swc1 $f16,0x58c($sp)
/* f0747c4: c7aa03e4 */ lwc1 $f10,0x3e4($sp)
/* f0747c8: c7a803f0 */ lwc1 $f8,0x3f0($sp)
/* f0747cc: c7ae03e8 */ lwc1 $f14,0x3e8($sp)
/* f0747d0: c7b203dc */ lwc1 $f18,0x3dc($sp)
/* f0747d4: 46085001 */ sub.s $f0,$f10,$f8
/* f0747d8: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f0747dc: e7b403f8 */ swc1 $f20,0x3f8($sp)
/* f0747e0: 46127101 */ sub.s $f4,$f14,$f18
/* f0747e4: e7a003f4 */ swc1 $f0,0x3f4($sp)
/* f0747e8: 27a403f4 */ addiu $a0,$sp,0x3f4
/* f0747ec: 4600a032 */ c.eq.s $f20,$f0
/* f0747f0: e7a403fc */ swc1 $f4,0x3fc($sp)
/* f0747f4: c7a603fc */ lwc1 $f6,0x3fc($sp)
/* f0747f8: 27a503f8 */ addiu $a1,$sp,0x3f8
/* f0747fc: 45000005 */ bc1f .PF0f074814
/* f074800: 27a603fc */ addiu $a2,$sp,0x3fc
/* f074804: 4606a032 */ c.eq.s $f20,$f6
/* f074808: 3c013f80 */ lui $at,0x3f80
/* f07480c: 45030006 */ bc1tl .PF0f074828
/* f074810: 44815000 */ mtc1 $at,$f10
.PF0f074814:
/* f074814: 0c0011d8 */ jal guNormalize
/* f074818: e7b0058c */ swc1 $f16,0x58c($sp)
/* f07481c: 10000004 */ b .PF0f074830
/* f074820: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f074824: 44815000 */ mtc1 $at,$f10
.PF0f074828:
/* f074828: 00000000 */ nop
/* f07482c: e7aa03fc */ swc1 $f10,0x3fc($sp)
.PF0f074830:
/* f074830: c7a803fc */ lwc1 $f8,0x3fc($sp)
/* f074834: c604000c */ lwc1 $f4,0xc($s0)
/* f074838: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07483c: c7aa03f4 */ lwc1 $f10,0x3f4($sp)
/* f074840: 46044182 */ mul.s $f6,$f8,$f4
/* f074844: 3c013f80 */ lui $at,0x3f80
/* f074848: e7b40594 */ swc1 $f20,0x594($sp)
/* f07484c: 460a7102 */ mul.s $f4,$f14,$f10
/* f074850: 8fb80088 */ lw $t8,0x88($sp)
/* f074854: 46043000 */ add.s $f0,$f6,$f4
/* f074858: 44813000 */ mtc1 $at,$f6
/* f07485c: 3c01800a */ lui $at,0x800a
/* f074860: c422a55c */ lwc1 $f2,-0x5aa4($at)
/* f074864: 46068100 */ add.s $f4,$f16,$f6
/* f074868: 46002187 */ neg.s $f6,$f4
/* f07486c: 46060002 */ mul.s $f0,$f0,$f6
/* f074870: 00000000 */ nop
/* f074874: 46005102 */ mul.s $f4,$f10,$f0
/* f074878: 460e2180 */ add.s $f6,$f4,$f14
/* f07487c: 46004282 */ mul.s $f10,$f8,$f0
/* f074880: e7a60590 */ swc1 $f6,0x590($sp)
/* f074884: c604000c */ lwc1 $f4,0xc($s0)
/* f074888: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f07488c: 46045200 */ add.s $f8,$f10,$f4
/* f074890: 46023282 */ mul.s $f10,$f6,$f2
/* f074894: c7a60430 */ lwc1 $f6,0x430($sp)
/* f074898: 46024102 */ mul.s $f4,$f8,$f2
/* f07489c: e7a80598 */ swc1 $f8,0x598($sp)
/* f0748a0: e7aa059c */ swc1 $f10,0x59c($sp)
/* f0748a4: 1300002f */ beqz $t8,.PF0f074964
/* f0748a8: e7a405a4 */ swc1 $f4,0x5a4($sp)
/* f0748ac: c6480008 */ lwc1 $f8,0x8($s2)
/* f0748b0: 46083181 */ sub.s $f6,$f6,$f8
/* f0748b4: c7a80438 */ lwc1 $f8,0x438($sp)
/* f0748b8: 460a3001 */ sub.s $f0,$f6,$f10
/* f0748bc: c6460010 */ lwc1 $f6,0x10($s2)
/* f0748c0: 46064281 */ sub.s $f10,$f8,$f6
/* f0748c4: 46000202 */ mul.s $f8,$f0,$f0
/* f0748c8: 46045081 */ sub.s $f2,$f10,$f4
/* f0748cc: 46021182 */ mul.s $f6,$f2,$f2
/* f0748d0: 0c0127b4 */ jal sqrtf
/* f0748d4: 46064300 */ add.s $f12,$f8,$f6
/* f0748d8: c7aa0418 */ lwc1 $f10,0x418($sp)
/* f0748dc: c7a4041c */ lwc1 $f4,0x41c($sp)
/* f0748e0: 4600503c */ c.lt.s $f10,$f0
/* f0748e4: 00000000 */ nop
/* f0748e8: 45020009 */ bc1fl .PF0f074910
/* f0748ec: 4600203c */ c.lt.s $f4,$f0
/* f0748f0: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f0748f4: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f0748f8: e7a0059c */ swc1 $f0,0x59c($sp)
/* f0748fc: e6000004 */ swc1 $f0,0x4($s0)
/* f074900: e600000c */ swc1 $f0,0xc($s0)
/* f074904: 10000017 */ b .PF0f074964
/* f074908: e60000dc */ swc1 $f0,0xdc($s0)
/* f07490c: 4600203c */ c.lt.s $f4,$f0
.PF0f074910:
/* f074910: c7a80418 */ lwc1 $f8,0x418($sp)
/* f074914: 3c017f1b */ lui $at,0x7f1b
/* f074918: 45020013 */ bc1fl .PF0f074968
/* f07491c: 4406a000 */ mfc1 $a2,$f20
/* f074920: 46004181 */ sub.s $f6,$f8,$f0
/* f074924: c42ab67c */ lwc1 $f10,-0x4984($at)
/* f074928: c6040004 */ lwc1 $f4,0x4($s0)
/* f07492c: 460a3082 */ mul.s $f2,$f6,$f10
/* f074930: c606000c */ lwc1 $f6,0xc($s0)
/* f074934: 46022202 */ mul.s $f8,$f4,$f2
/* f074938: 00000000 */ nop
/* f07493c: 46023282 */ mul.s $f10,$f6,$f2
/* f074940: e6080004 */ swc1 $f8,0x4($s0)
/* f074944: e60a000c */ swc1 $f10,0xc($s0)
/* f074948: c7a4059c */ lwc1 $f4,0x59c($sp)
/* f07494c: c7a605a4 */ lwc1 $f6,0x5a4($sp)
/* f074950: 46022202 */ mul.s $f8,$f4,$f2
/* f074954: 00000000 */ nop
/* f074958: 46023282 */ mul.s $f10,$f6,$f2
/* f07495c: e7a8059c */ swc1 $f8,0x59c($sp)
/* f074960: e7aa05a4 */ swc1 $f10,0x5a4($sp)
.PF0f074964:
/* f074964: 4406a000 */ mfc1 $a2,$f20
.PF0f074968:
/* f074968: 02202025 */ move $a0,$s1
/* f07496c: 27a5059c */ addiu $a1,$sp,0x59c
/* f074970: 0fc1c8f2 */ jal func0f072144
/* f074974: 24070001 */ li $a3,0x1
/* f074978: 144000c2 */ bnez $v0,.PF0f074c84
/* f07497c: afa20600 */ sw $v0,0x600($sp)
/* f074980: 4406a000 */ mfc1 $a2,$f20
/* f074984: 02202025 */ move $a0,$s1
/* f074988: 0fc1ca96 */ jal func0f0727d4
/* f07498c: 27a5059c */ addiu $a1,$sp,0x59c
/* f074990: c604008c */ lwc1 $f4,0x8c($s0)
/* f074994: c6080004 */ lwc1 $f8,0x4($s0)
/* f074998: e7b40594 */ swc1 $f20,0x594($sp)
/* f07499c: 46040402 */ mul.s $f16,$f0,$f4
/* f0749a0: 46004187 */ neg.s $f6,$f8
/* f0749a4: 3c01800a */ lui $at,0x800a
/* f0749a8: c422a55c */ lwc1 $f2,-0x5aa4($at)
/* f0749ac: 8fb90088 */ lw $t9,0x88($sp)
/* f0749b0: 46103282 */ mul.s $f10,$f6,$f16
/* f0749b4: e7aa0590 */ swc1 $f10,0x590($sp)
/* f0749b8: c604000c */ lwc1 $f4,0xc($s0)
/* f0749bc: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f0749c0: 46002207 */ neg.s $f8,$f4
/* f0749c4: 46104182 */ mul.s $f6,$f8,$f16
/* f0749c8: 00000000 */ nop
/* f0749cc: 46025102 */ mul.s $f4,$f10,$f2
/* f0749d0: c7aa0430 */ lwc1 $f10,0x430($sp)
/* f0749d4: 46023202 */ mul.s $f8,$f6,$f2
/* f0749d8: e7a60598 */ swc1 $f6,0x598($sp)
/* f0749dc: e7a4059c */ swc1 $f4,0x59c($sp)
/* f0749e0: 1320002f */ beqz $t9,.PF0f074aa0
/* f0749e4: e7a805a4 */ swc1 $f8,0x5a4($sp)
/* f0749e8: c6460008 */ lwc1 $f6,0x8($s2)
/* f0749ec: 46065281 */ sub.s $f10,$f10,$f6
/* f0749f0: c7a60438 */ lwc1 $f6,0x438($sp)
/* f0749f4: 46045001 */ sub.s $f0,$f10,$f4
/* f0749f8: c64a0010 */ lwc1 $f10,0x10($s2)
/* f0749fc: 460a3101 */ sub.s $f4,$f6,$f10
/* f074a00: 46000182 */ mul.s $f6,$f0,$f0
/* f074a04: 46082081 */ sub.s $f2,$f4,$f8
/* f074a08: 46021282 */ mul.s $f10,$f2,$f2
/* f074a0c: 0c0127b4 */ jal sqrtf
/* f074a10: 460a3300 */ add.s $f12,$f6,$f10
/* f074a14: c7a40418 */ lwc1 $f4,0x418($sp)
/* f074a18: c7a8041c */ lwc1 $f8,0x41c($sp)
/* f074a1c: 4600203c */ c.lt.s $f4,$f0
/* f074a20: 00000000 */ nop
/* f074a24: 45020009 */ bc1fl .PF0f074a4c
/* f074a28: 4600403c */ c.lt.s $f8,$f0
/* f074a2c: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f074a30: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f074a34: e7a0059c */ swc1 $f0,0x59c($sp)
/* f074a38: e6000004 */ swc1 $f0,0x4($s0)
/* f074a3c: e600000c */ swc1 $f0,0xc($s0)
/* f074a40: 10000017 */ b .PF0f074aa0
/* f074a44: e60000dc */ swc1 $f0,0xdc($s0)
/* f074a48: 4600403c */ c.lt.s $f8,$f0
.PF0f074a4c:
/* f074a4c: c7a60418 */ lwc1 $f6,0x418($sp)
/* f074a50: 3c017f1b */ lui $at,0x7f1b
/* f074a54: 45020013 */ bc1fl .PF0f074aa4
/* f074a58: 4406a000 */ mfc1 $a2,$f20
/* f074a5c: 46003281 */ sub.s $f10,$f6,$f0
/* f074a60: c424b680 */ lwc1 $f4,-0x4980($at)
/* f074a64: c6080004 */ lwc1 $f8,0x4($s0)
/* f074a68: 46045082 */ mul.s $f2,$f10,$f4
/* f074a6c: c60a000c */ lwc1 $f10,0xc($s0)
/* f074a70: 46024182 */ mul.s $f6,$f8,$f2
/* f074a74: 00000000 */ nop
/* f074a78: 46025102 */ mul.s $f4,$f10,$f2
/* f074a7c: e6060004 */ swc1 $f6,0x4($s0)
/* f074a80: e604000c */ swc1 $f4,0xc($s0)
/* f074a84: c7a8059c */ lwc1 $f8,0x59c($sp)
/* f074a88: c7aa05a4 */ lwc1 $f10,0x5a4($sp)
/* f074a8c: 46024182 */ mul.s $f6,$f8,$f2
/* f074a90: 00000000 */ nop
/* f074a94: 46025102 */ mul.s $f4,$f10,$f2
/* f074a98: e7a6059c */ swc1 $f6,0x59c($sp)
/* f074a9c: e7a405a4 */ swc1 $f4,0x5a4($sp)
.PF0f074aa0:
/* f074aa0: 4406a000 */ mfc1 $a2,$f20
.PF0f074aa4:
/* f074aa4: 02202025 */ move $a0,$s1
/* f074aa8: 27a5059c */ addiu $a1,$sp,0x59c
/* f074aac: 0fc1c8f2 */ jal func0f072144
/* f074ab0: 24070001 */ li $a3,0x1
/* f074ab4: 14400073 */ bnez $v0,.PF0f074c84
/* f074ab8: afa20600 */ sw $v0,0x600($sp)
/* f074abc: 4406a000 */ mfc1 $a2,$f20
/* f074ac0: 02202025 */ move $a0,$s1
/* f074ac4: 0fc1ca96 */ jal func0f0727d4
/* f074ac8: 27a5059c */ addiu $a1,$sp,0x59c
/* f074acc: c7ae03e8 */ lwc1 $f14,0x3e8($sp)
/* f074ad0: c7b203dc */ lwc1 $f18,0x3dc($sp)
/* f074ad4: c7a803f0 */ lwc1 $f8,0x3f0($sp)
/* f074ad8: c7a603e4 */ lwc1 $f6,0x3e4($sp)
/* f074adc: 46127032 */ c.eq.s $f14,$f18
/* f074ae0: c7aa03e4 */ lwc1 $f10,0x3e4($sp)
/* f074ae4: c7a403f0 */ lwc1 $f4,0x3f0($sp)
/* f074ae8: 45020006 */ bc1fl .PF0f074b04
/* f074aec: 46045081 */ sub.s $f2,$f10,$f4
/* f074af0: 46064032 */ c.eq.s $f8,$f6
/* f074af4: 00000000 */ nop
/* f074af8: 45030063 */ bc1tl .PF0f074c88
/* f074afc: 8faa0600 */ lw $t2,0x600($sp)
/* f074b00: 46045081 */ sub.s $f2,$f10,$f4
.PF0f074b04:
/* f074b04: 460e9001 */ sub.s $f0,$f18,$f14
/* f074b08: 46021202 */ mul.s $f8,$f2,$f2
/* f074b0c: e7a203a0 */ swc1 $f2,0x3a0($sp)
/* f074b10: 46000182 */ mul.s $f6,$f0,$f0
/* f074b14: e7a00398 */ swc1 $f0,0x398($sp)
/* f074b18: 0c0127b4 */ jal sqrtf
/* f074b1c: 46064300 */ add.s $f12,$f8,$f6
/* f074b20: 3c013f80 */ lui $at,0x3f80
/* f074b24: 44815000 */ mtc1 $at,$f10
/* f074b28: c7a40398 */ lwc1 $f4,0x398($sp)
/* f074b2c: c7a603a0 */ lwc1 $f6,0x3a0($sp)
/* f074b30: 46005303 */ div.s $f12,$f10,$f0
/* f074b34: 3c01800a */ lui $at,0x800a
/* f074b38: c422a55c */ lwc1 $f2,-0x5aa4($at)
/* f074b3c: 8fa90088 */ lw $t1,0x88($sp)
/* f074b40: 460c2202 */ mul.s $f8,$f4,$f12
/* f074b44: 00000000 */ nop
/* f074b48: 460c3282 */ mul.s $f10,$f6,$f12
/* f074b4c: e7a80398 */ swc1 $f8,0x398($sp)
/* f074b50: e7aa03a0 */ swc1 $f10,0x3a0($sp)
/* f074b54: c604000c */ lwc1 $f4,0xc($s0)
/* f074b58: 46045182 */ mul.s $f6,$f10,$f4
/* f074b5c: c6040004 */ lwc1 $f4,0x4($s0)
/* f074b60: e7b40594 */ swc1 $f20,0x594($sp)
/* f074b64: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f074b68: 46082102 */ mul.s $f4,$f4,$f8
/* f074b6c: 46043380 */ add.s $f14,$f6,$f4
/* f074b70: 460e4182 */ mul.s $f6,$f8,$f14
/* f074b74: 00000000 */ nop
/* f074b78: 460e5102 */ mul.s $f4,$f10,$f14
/* f074b7c: 00000000 */ nop
/* f074b80: 46023202 */ mul.s $f8,$f6,$f2
/* f074b84: e7a60590 */ swc1 $f6,0x590($sp)
/* f074b88: c7a60430 */ lwc1 $f6,0x430($sp)
/* f074b8c: 46022282 */ mul.s $f10,$f4,$f2
/* f074b90: e7a40598 */ swc1 $f4,0x598($sp)
/* f074b94: e7a8059c */ swc1 $f8,0x59c($sp)
/* f074b98: 1120002f */ beqz $t1,.PF0f074c58
/* f074b9c: e7aa05a4 */ swc1 $f10,0x5a4($sp)
/* f074ba0: c6440008 */ lwc1 $f4,0x8($s2)
/* f074ba4: 46043181 */ sub.s $f6,$f6,$f4
/* f074ba8: c7a40438 */ lwc1 $f4,0x438($sp)
/* f074bac: 46083001 */ sub.s $f0,$f6,$f8
/* f074bb0: c6460010 */ lwc1 $f6,0x10($s2)
/* f074bb4: 46062201 */ sub.s $f8,$f4,$f6
/* f074bb8: 46000102 */ mul.s $f4,$f0,$f0
/* f074bbc: 460a4081 */ sub.s $f2,$f8,$f10
/* f074bc0: 46021182 */ mul.s $f6,$f2,$f2
/* f074bc4: 0c0127b4 */ jal sqrtf
/* f074bc8: 46062300 */ add.s $f12,$f4,$f6
/* f074bcc: c7a80418 */ lwc1 $f8,0x418($sp)
/* f074bd0: c7aa041c */ lwc1 $f10,0x41c($sp)
/* f074bd4: 4600403c */ c.lt.s $f8,$f0
/* f074bd8: 00000000 */ nop
/* f074bdc: 45020009 */ bc1fl .PF0f074c04
/* f074be0: 4600503c */ c.lt.s $f10,$f0
/* f074be4: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f074be8: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f074bec: e7a0059c */ swc1 $f0,0x59c($sp)
/* f074bf0: e6000004 */ swc1 $f0,0x4($s0)
/* f074bf4: e600000c */ swc1 $f0,0xc($s0)
/* f074bf8: 10000017 */ b .PF0f074c58
/* f074bfc: e60000dc */ swc1 $f0,0xdc($s0)
/* f074c00: 4600503c */ c.lt.s $f10,$f0
.PF0f074c04:
/* f074c04: c7a40418 */ lwc1 $f4,0x418($sp)
/* f074c08: 3c017f1b */ lui $at,0x7f1b
/* f074c0c: 45020013 */ bc1fl .PF0f074c5c
/* f074c10: 4406a000 */ mfc1 $a2,$f20
/* f074c14: 46002181 */ sub.s $f6,$f4,$f0
/* f074c18: c428b684 */ lwc1 $f8,-0x497c($at)
/* f074c1c: c60a0004 */ lwc1 $f10,0x4($s0)
/* f074c20: 46083082 */ mul.s $f2,$f6,$f8
/* f074c24: c606000c */ lwc1 $f6,0xc($s0)
/* f074c28: 46025102 */ mul.s $f4,$f10,$f2
/* f074c2c: 00000000 */ nop
/* f074c30: 46023202 */ mul.s $f8,$f6,$f2
/* f074c34: e6040004 */ swc1 $f4,0x4($s0)
/* f074c38: e608000c */ swc1 $f8,0xc($s0)
/* f074c3c: c7aa059c */ lwc1 $f10,0x59c($sp)
/* f074c40: c7a605a4 */ lwc1 $f6,0x5a4($sp)
/* f074c44: 46025102 */ mul.s $f4,$f10,$f2
/* f074c48: 00000000 */ nop
/* f074c4c: 46023202 */ mul.s $f8,$f6,$f2
/* f074c50: e7a4059c */ swc1 $f4,0x59c($sp)
/* f074c54: e7a805a4 */ swc1 $f8,0x5a4($sp)
.PF0f074c58:
/* f074c58: 4406a000 */ mfc1 $a2,$f20
.PF0f074c5c:
/* f074c5c: 02202025 */ move $a0,$s1
/* f074c60: 27a5059c */ addiu $a1,$sp,0x59c
/* f074c64: 0fc1c8f2 */ jal func0f072144
/* f074c68: 24070001 */ li $a3,0x1
/* f074c6c: 14400005 */ bnez $v0,.PF0f074c84
/* f074c70: afa20600 */ sw $v0,0x600($sp)
/* f074c74: 4406a000 */ mfc1 $a2,$f20
/* f074c78: 02202025 */ move $a0,$s1
/* f074c7c: 0fc1ca96 */ jal func0f0727d4
/* f074c80: 27a5059c */ addiu $a1,$sp,0x59c
.PF0f074c84:
/* f074c84: 8faa0600 */ lw $t2,0x600($sp)
.PF0f074c88:
/* f074c88: 24010001 */ li $at,0x1
/* f074c8c: c7aa0590 */ lwc1 $f10,0x590($sp)
/* f074c90: 55410007 */ bnel $t2,$at,.PF0f074cb0
/* f074c94: 8fab0600 */ lw $t3,0x600($sp)
/* f074c98: e60a0004 */ swc1 $f10,0x4($s0)
/* f074c9c: c7a40594 */ lwc1 $f4,0x594($sp)
/* f074ca0: e6040008 */ swc1 $f4,0x8($s0)
/* f074ca4: c7a60598 */ lwc1 $f6,0x598($sp)
/* f074ca8: e606000c */ swc1 $f6,0xc($s0)
.PF0f074cac:
/* f074cac: 8fab0600 */ lw $t3,0x600($sp)
.PF0f074cb0:
/* f074cb0: 24010001 */ li $at,0x1
/* f074cb4: 51610005 */ beql $t3,$at,.PF0f074ccc
/* f074cb8: 8e040088 */ lw $a0,0x88($s0)
/* f074cbc: e61400dc */ swc1 $f20,0xdc($s0)
/* f074cc0: e614000c */ swc1 $f20,0xc($s0)
/* f074cc4: e6140004 */ swc1 $f20,0x4($s0)
/* f074cc8: 8e040088 */ lw $a0,0x88($s0)
.PF0f074ccc:
/* f074ccc: 50800004 */ beqzl $a0,.PF0f074ce0
/* f074cd0: c6080004 */ lwc1 $f8,0x4($s0)
/* f074cd4: 0fc19102 */ jal propSetPerimEnabled
/* f074cd8: 24050001 */ li $a1,0x1
/* f074cdc: c6080004 */ lwc1 $f8,0x4($s0)
.PF0f074ce0:
/* f074ce0: 4608a032 */ c.eq.s $f20,$f8
/* f074ce4: 00000000 */ nop
/* f074ce8: 4502000e */ bc1fl .PF0f074d24
/* f074cec: 8fad0600 */ lw $t5,0x600($sp)
/* f074cf0: c60a000c */ lwc1 $f10,0xc($s0)
/* f074cf4: 460aa032 */ c.eq.s $f20,$f10
/* f074cf8: 00000000 */ nop
/* f074cfc: 45020009 */ bc1fl .PF0f074d24
/* f074d00: 8fad0600 */ lw $t5,0x600($sp)
/* f074d04: c60400dc */ lwc1 $f4,0xdc($s0)
/* f074d08: 4604a032 */ c.eq.s $f20,$f4
/* f074d0c: 00000000 */ nop
/* f074d10: 45020004 */ bc1fl .PF0f074d24
/* f074d14: 8fad0600 */ lw $t5,0x600($sp)
/* f074d18: 0fc1abb2 */ jal objEndFlight
/* f074d1c: 02202025 */ move $a0,$s1
/* f074d20: 8fad0600 */ lw $t5,0x600($sp)
.PF0f074d24:
/* f074d24: 24010001 */ li $at,0x1
/* f074d28: 8fa40070 */ lw $a0,0x70($sp)
/* f074d2c: 15a10012 */ bne $t5,$at,.PF0f074d78
/* f074d30: 3c054000 */ lui $a1,0x4000
/* f074d34: 26460028 */ addiu $a2,$s2,0x28
/* f074d38: 26270058 */ addiu $a3,$s1,0x58
/* f074d3c: 0c00a70c */ jal cdFindGroundYSimple
/* f074d40: afa00010 */ sw $zero,0x10($sp)
/* f074d44: 3c017f1b */ lui $at,0x7f1b
/* f074d48: c426b688 */ lwc1 $f6,-0x4978($at)
/* f074d4c: 46000086 */ mov.s $f2,$f0
/* f074d50: 02202025 */ move $a0,$s1
/* f074d54: 4600303c */ c.lt.s $f6,$f0
/* f074d58: 00000000 */ nop
/* f074d5c: 45020007 */ bc1fl .PF0f074d7c
/* f074d60: 02202025 */ move $a0,$s1
/* f074d64: 0fc1c57a */ jal objGetHov04
/* f074d68: e7a20584 */ swc1 $f2,0x584($sp)
/* f074d6c: c7a20584 */ lwc1 $f2,0x584($sp)
/* f074d70: 46020200 */ add.s $f8,$f0,$f2
/* f074d74: e648000c */ swc1 $f8,0xc($s2)
.PF0f074d78:
/* f074d78: 02202025 */ move $a0,$s1
.PF0f074d7c:
/* f074d7c: 00002825 */ move $a1,$zero
/* f074d80: 0fc1a7be */ jal func0f069c70
/* f074d84: 24060001 */ li $a2,0x1
/* f074d88: 27b00484 */ addiu $s0,$sp,0x484
/* f074d8c: 02002825 */ move $a1,$s0
/* f074d90: 0c0056b9 */ jal mtx3ToMtx4
/* f074d94: 8fa40074 */ lw $a0,0x74($sp)
/* f074d98: 8fa40070 */ lw $a0,0x70($sp)
/* f074d9c: 0c0056d9 */ jal mtx4SetTranslation
/* f074da0: 02002825 */ move $a1,$s0
/* f074da4: 27b104c4 */ addiu $s1,$sp,0x4c4
/* f074da8: 02202825 */ move $a1,$s1
/* f074dac: 0c005c20 */ jal mtx000172f0
/* f074db0: 27a40504 */ addiu $a0,$sp,0x504
/* f074db4: 02002025 */ move $a0,$s0
/* f074db8: 02202825 */ move $a1,$s1
/* f074dbc: 0c0055e4 */ jal mtx4MultMtx4
/* f074dc0: 27a60544 */ addiu $a2,$sp,0x544
/* f074dc4: 02402025 */ move $a0,$s2
/* f074dc8: 0fc1cd53 */ jal func0f0732d4
/* f074dcc: 27a50544 */ addiu $a1,$sp,0x544
/* f074dd0: 240c0001 */ li $t4,0x1
/* f074dd4: 100008f5 */ b .PF0f0771ac
/* f074dd8: afac05d8 */ sw $t4,0x5d8($sp)
.PF0f074ddc:
/* f074ddc: 11c007c2 */ beqz $t6,.PF0f076ce8
/* f074de0: 304c0400 */ andi $t4,$v0,0x400
/* f074de4: afa00354 */ sw $zero,0x354($sp)
/* f074de8: afa00350 */ sw $zero,0x350($sp)
/* f074dec: afa0034c */ sw $zero,0x34c($sp)
/* f074df0: 8e0f00d0 */ lw $t7,0xd0($s0)
/* f074df4: 8c780034 */ lw $t8,0x34($v1)
/* f074df8: 30494000 */ andi $t1,$v0,0x4000
/* f074dfc: 01f8c821 */ addu $t9,$t7,$t8
/* f074e00: 15200003 */ bnez $t1,.PF0f074e10
/* f074e04: ae1900d0 */ sw $t9,0xd0($s0)
/* f074e08: 2b211f41 */ slti $at,$t9,0x1f41
/* f074e0c: 10200021 */ beqz $at,.PF0f074e94
.PF0f074e10:
/* f074e10: 3c017f1b */ lui $at,0x7f1b
/* f074e14: c42ab68c */ lwc1 $f10,-0x4974($at)
/* f074e18: c640000c */ lwc1 $f0,0xc($s2)
/* f074e1c: 3c0146fa */ lui $at,0x46fa
/* f074e20: 460a003c */ c.lt.s $f0,$f10
/* f074e24: 00000000 */ nop
/* f074e28: 4503001b */ bc1tl .PF0f074e98
/* f074e2c: 8e2b0040 */ lw $t3,0x40($s1)
/* f074e30: 44811000 */ mtc1 $at,$f2
/* f074e34: 3c01c6fa */ lui $at,0xc6fa
/* f074e38: 4600103c */ c.lt.s $f2,$f0
/* f074e3c: 00000000 */ nop
/* f074e40: 45030015 */ bc1tl .PF0f074e98
/* f074e44: 8e2b0040 */ lw $t3,0x40($s1)
/* f074e48: 44816000 */ mtc1 $at,$f12
/* f074e4c: c6400008 */ lwc1 $f0,0x8($s2)
/* f074e50: 460c003c */ c.lt.s $f0,$f12
/* f074e54: 00000000 */ nop
/* f074e58: 4503000f */ bc1tl .PF0f074e98
/* f074e5c: 8e2b0040 */ lw $t3,0x40($s1)
/* f074e60: 4600103c */ c.lt.s $f2,$f0
/* f074e64: 00000000 */ nop
/* f074e68: 4503000b */ bc1tl .PF0f074e98
/* f074e6c: 8e2b0040 */ lw $t3,0x40($s1)
/* f074e70: c6400010 */ lwc1 $f0,0x10($s2)
/* f074e74: 460c003c */ c.lt.s $f0,$f12
/* f074e78: 00000000 */ nop
/* f074e7c: 45030006 */ bc1tl .PF0f074e98
/* f074e80: 8e2b0040 */ lw $t3,0x40($s1)
/* f074e84: 4600103c */ c.lt.s $f2,$f0
/* f074e88: 00000000 */ nop
/* f074e8c: 45020005 */ bc1fl .PF0f074ea4
/* f074e90: 8e0c00a0 */ lw $t4,0xa0($s0)
.PF0f074e94:
/* f074e94: 8e2b0040 */ lw $t3,0x40($s1)
.PF0f074e98:
/* f074e98: 356d0004 */ ori $t5,$t3,0x4
/* f074e9c: ae2d0040 */ sw $t5,0x40($s1)
/* f074ea0: 8e0c00a0 */ lw $t4,0xa0($s0)
.PF0f074ea4:
/* f074ea4: 8c6e0034 */ lw $t6,0x34($v1)
/* f074ea8: 2624001c */ addiu $a0,$s1,0x1c
/* f074eac: 27a50358 */ addiu $a1,$sp,0x358
/* f074eb0: 018e7821 */ addu $t7,$t4,$t6
/* f074eb4: ae0f00a0 */ sw $t7,0xa0($s0)
/* f074eb8: 0c00569a */ jal mtx3Copy
/* f074ebc: afa40074 */ sw $a0,0x74($sp)
/* f074ec0: 8e180000 */ lw $t8,0x0($s0)
/* f074ec4: 3c017f1b */ lui $at,0x7f1b
/* f074ec8: 33190020 */ andi $t9,$t8,0x20
/* f074ecc: 5320004b */ beqzl $t9,.PF0f074ffc
/* f074ed0: 922c0003 */ lbu $t4,0x3($s1)
/* f074ed4: c430b690 */ lwc1 $f16,-0x4970($at)
/* f074ed8: c600001c */ lwc1 $f0,0x1c($s0)
/* f074edc: 3c03800a */ lui $v1,0x800a
/* f074ee0: 2463a510 */ addiu $v1,$v1,-23280
/* f074ee4: 4610003c */ c.lt.s $f0,$f16
/* f074ee8: 00000000 */ nop
/* f074eec: 4502001b */ bc1fl .PF0f074f5c
/* f074ef0: c60000a8 */ lwc1 $f0,0xa8($s0)
/* f074ef4: c6040014 */ lwc1 $f4,0x14($s0)
/* f074ef8: c466004c */ lwc1 $f6,0x4c($v1)
/* f074efc: c60a00ac */ lwc1 $f10,0xac($s0)
/* f074f00: 3c017f1b */ lui $at,0x7f1b
/* f074f04: 46062202 */ mul.s $f8,$f4,$f6
/* f074f08: 46085100 */ add.s $f4,$f10,$f8
/* f074f0c: e60400ac */ swc1 $f4,0xac($s0)
/* f074f10: c46a004c */ lwc1 $f10,0x4c($v1)
/* f074f14: c60600ac */ lwc1 $f6,0xac($s0)
/* f074f18: c60400a8 */ lwc1 $f4,0xa8($s0)
/* f074f1c: 460a3202 */ mul.s $f8,$f6,$f10
/* f074f20: 46082180 */ add.s $f6,$f4,$f8
/* f074f24: e60600a8 */ swc1 $f6,0xa8($s0)
/* f074f28: c464004c */ lwc1 $f4,0x4c($v1)
/* f074f2c: c42ab694 */ lwc1 $f10,-0x496c($at)
/* f074f30: 46045202 */ mul.s $f8,$f10,$f4
/* f074f34: 46080180 */ add.s $f6,$f0,$f8
/* f074f38: e606001c */ swc1 $f6,0x1c($s0)
/* f074f3c: c60a001c */ lwc1 $f10,0x1c($s0)
/* f074f40: 460a803c */ c.lt.s $f16,$f10
/* f074f44: 00000000 */ nop
/* f074f48: 4502002c */ bc1fl .PF0f074ffc
/* f074f4c: 922c0003 */ lbu $t4,0x3($s1)
/* f074f50: 10000029 */ b .PF0f074ff8
/* f074f54: e610001c */ swc1 $f16,0x1c($s0)
/* f074f58: c60000a8 */ lwc1 $f0,0xa8($s0)
.PF0f074f5c:
/* f074f5c: c7a405e0 */ lwc1 $f4,0x5e0($sp)
/* f074f60: 4600203c */ c.lt.s $f4,$f0
/* f074f64: 00000000 */ nop
/* f074f68: 45000018 */ bc1f .PF0f074fcc
/* f074f6c: 3c01800a */ lui $at,0x800a
/* f074f70: c426a55c */ lwc1 $f6,-0x5aa4($at)
/* f074f74: c6080014 */ lwc1 $f8,0x14($s0)
/* f074f78: c60400ac */ lwc1 $f4,0xac($s0)
/* f074f7c: 46064282 */ mul.s $f10,$f8,$f6
/* f074f80: 460a2200 */ add.s $f8,$f4,$f10
/* f074f84: e60800ac */ swc1 $f8,0xac($s0)
/* f074f88: c424a55c */ lwc1 $f4,-0x5aa4($at)
/* f074f8c: c60600ac */ lwc1 $f6,0xac($s0)
/* f074f90: 3c017f1b */ lui $at,0x7f1b
/* f074f94: 46043282 */ mul.s $f10,$f6,$f4
/* f074f98: 460a0200 */ add.s $f8,$f0,$f10
/* f074f9c: e60800a8 */ swc1 $f8,0xa8($s0)
/* f074fa0: c7a405e0 */ lwc1 $f4,0x5e0($sp)
/* f074fa4: c60600a8 */ lwc1 $f6,0xa8($s0)
/* f074fa8: c428b698 */ lwc1 $f8,-0x4968($at)
/* f074fac: 3c01800a */ lui $at,0x800a
/* f074fb0: 46043281 */ sub.s $f10,$f6,$f4
/* f074fb4: 460a4182 */ mul.s $f6,$f8,$f10
/* f074fb8: c428a55c */ lwc1 $f8,-0x5aa4($at)
/* f074fbc: 46083282 */ mul.s $f10,$f6,$f8
/* f074fc0: 460a2180 */ add.s $f6,$f4,$f10
/* f074fc4: 1000000c */ b .PF0f074ff8
/* f074fc8: e7a605e0 */ swc1 $f6,0x5e0($sp)
.PF0f074fcc:
/* f074fcc: e7a005e0 */ swc1 $f0,0x5e0($sp)
/* f074fd0: 8e090000 */ lw $t1,0x0($s0)
/* f074fd4: 2401ffdf */ li $at,-33
/* f074fd8: 4480a000 */ mtc1 $zero,$f20
/* f074fdc: c60800ac */ lwc1 $f8,0xac($s0)
/* f074fe0: 01215024 */ and $t2,$t1,$at
/* f074fe4: ae0a0000 */ sw $t2,0x0($s0)
/* f074fe8: 354d0010 */ ori $t5,$t2,0x10
/* f074fec: ae0d0000 */ sw $t5,0x0($s0)
/* f074ff0: e6080008 */ swc1 $f8,0x8($s0)
/* f074ff4: e614001c */ swc1 $f20,0x1c($s0)
.PF0f074ff8:
/* f074ff8: 922c0003 */ lbu $t4,0x3($s1)
.PF0f074ffc:
/* f074ffc: 4480a000 */ mtc1 $zero,$f20
/* f075000: 24010008 */ li $at,0x8
/* f075004: 15810006 */ bne $t4,$at,.PF0f075020
/* f075008: 00001025 */ move $v0,$zero
/* f07500c: 922e005c */ lbu $t6,0x5c($s1)
/* f075010: 24010054 */ li $at,0x54
/* f075014: 15c10002 */ bne $t6,$at,.PF0f075020
/* f075018: 00000000 */ nop
/* f07501c: 24020001 */ li $v0,0x1
.PF0f075020:
/* f075020: 10400129 */ beqz $v0,.PF0f0754c8
/* f075024: 3c188007 */ lui $t8,0x8007
/* f075028: 27189874 */ addiu $t8,$t8,-26508
/* f07502c: 8f010000 */ lw $at,0x0($t8)
/* f075030: 27af02f8 */ addiu $t7,$sp,0x2f8
/* f075034: 8f090004 */ lw $t1,0x4($t8)
/* f075038: ade10000 */ sw $at,0x0($t7)
/* f07503c: 8f010008 */ lw $at,0x8($t8)
/* f075040: 3c0b8007 */ lui $t3,0x8007
/* f075044: 256b9880 */ addiu $t3,$t3,-26496
/* f075048: ade90004 */ sw $t1,0x4($t7)
/* f07504c: ade10008 */ sw $at,0x8($t7)
/* f075050: 8d610000 */ lw $at,0x0($t3)
/* f075054: 27aa02ec */ addiu $t2,$sp,0x2ec
/* f075058: 8d6c0004 */ lw $t4,0x4($t3)
/* f07505c: ad410000 */ sw $at,0x0($t2)
/* f075060: 8d610008 */ lw $at,0x8($t3)
/* f075064: 3c198007 */ lui $t9,0x8007
/* f075068: 2739988c */ addiu $t9,$t9,-26484
/* f07506c: ad4c0004 */ sw $t4,0x4($t2)
/* f075070: ad410008 */ sw $at,0x8($t2)
/* f075074: 8f210000 */ lw $at,0x0($t9)
/* f075078: 27ae02e0 */ addiu $t6,$sp,0x2e0
/* f07507c: 8f380004 */ lw $t8,0x4($t9)
/* f075080: adc10000 */ sw $at,0x0($t6)
/* f075084: 8f210008 */ lw $at,0x8($t9)
/* f075088: add80004 */ sw $t8,0x4($t6)
/* f07508c: 1220010e */ beqz $s1,.PF0f0754c8
/* f075090: adc10008 */ sw $at,0x8($t6)
/* f075094: 8e290014 */ lw $t1,0x14($s1)
/* f075098: 5120010c */ beqzl $t1,.PF0f0754cc
/* f07509c: 8e020000 */ lw $v0,0x0($s0)
/* f0750a0: 8e0d00e8 */ lw $t5,0xe8($s0)
/* f0750a4: 51a00109 */ beqzl $t5,.PF0f0754cc
/* f0750a8: 8e020000 */ lw $v0,0x0($s0)
/* f0750ac: c622001c */ lwc1 $f2,0x1c($s1)
/* f0750b0: c62e0028 */ lwc1 $f14,0x28($s1)
/* f0750b4: c6200034 */ lwc1 $f0,0x34($s1)
/* f0750b8: 46021102 */ mul.s $f4,$f2,$f2
/* f0750bc: 00000000 */ nop
/* f0750c0: 460e7282 */ mul.s $f10,$f14,$f14
/* f0750c4: 460a2180 */ add.s $f6,$f4,$f10
/* f0750c8: 46000202 */ mul.s $f8,$f0,$f0
/* f0750cc: 0c0127b4 */ jal sqrtf
/* f0750d0: 46064300 */ add.s $f12,$f8,$f6
/* f0750d4: 27a402a0 */ addiu $a0,$sp,0x2a0
/* f0750d8: 0c0055d0 */ jal mtx4LoadIdentity
/* f0750dc: e7a0029c */ swc1 $f0,0x29c($sp)
/* f0750e0: c7ae029c */ lwc1 $f14,0x29c($sp)
/* f0750e4: c624001c */ lwc1 $f4,0x1c($s1)
/* f0750e8: 27a40290 */ addiu $a0,$sp,0x290
/* f0750ec: 27a50294 */ addiu $a1,$sp,0x294
/* f0750f0: 460e2283 */ div.s $f10,$f4,$f14
/* f0750f4: 27a60298 */ addiu $a2,$sp,0x298
/* f0750f8: e7aa02a0 */ swc1 $f10,0x2a0($sp)
/* f0750fc: c6280020 */ lwc1 $f8,0x20($s1)
/* f075100: 460e4183 */ div.s $f6,$f8,$f14
/* f075104: e7a602a4 */ swc1 $f6,0x2a4($sp)
/* f075108: c6240024 */ lwc1 $f4,0x24($s1)
/* f07510c: 460e2283 */ div.s $f10,$f4,$f14
/* f075110: e7aa02a8 */ swc1 $f10,0x2a8($sp)
/* f075114: c6280028 */ lwc1 $f8,0x28($s1)
/* f075118: 460e4183 */ div.s $f6,$f8,$f14
/* f07511c: e7a602b0 */ swc1 $f6,0x2b0($sp)
/* f075120: c624002c */ lwc1 $f4,0x2c($s1)
/* f075124: 460e2283 */ div.s $f10,$f4,$f14
/* f075128: e7aa02b4 */ swc1 $f10,0x2b4($sp)
/* f07512c: c6280030 */ lwc1 $f8,0x30($s1)
/* f075130: 460e4183 */ div.s $f6,$f8,$f14
/* f075134: e7a602b8 */ swc1 $f6,0x2b8($sp)
/* f075138: c6240034 */ lwc1 $f4,0x34($s1)
/* f07513c: 460e2283 */ div.s $f10,$f4,$f14
/* f075140: e7aa02c0 */ swc1 $f10,0x2c0($sp)
/* f075144: c6280038 */ lwc1 $f8,0x38($s1)
/* f075148: 460e4183 */ div.s $f6,$f8,$f14
/* f07514c: e7a602c4 */ swc1 $f6,0x2c4($sp)
/* f075150: c624003c */ lwc1 $f4,0x3c($s1)
/* f075154: 460e2283 */ div.s $f10,$f4,$f14
/* f075158: e7aa02c8 */ swc1 $f10,0x2c8($sp)
/* f07515c: 8e2a0014 */ lw $t2,0x14($s1)
/* f075160: c5480008 */ lwc1 $f8,0x8($t2)
/* f075164: e7a802f8 */ swc1 $f8,0x2f8($sp)
/* f075168: 8e2b0014 */ lw $t3,0x14($s1)
/* f07516c: c7a802f8 */ lwc1 $f8,0x2f8($sp)
/* f075170: c566000c */ lwc1 $f6,0xc($t3)
/* f075174: e7a602fc */ swc1 $f6,0x2fc($sp)
/* f075178: 8e2c0014 */ lw $t4,0x14($s1)
/* f07517c: c5840010 */ lwc1 $f4,0x10($t4)
/* f075180: e7a40300 */ swc1 $f4,0x300($sp)
/* f075184: 8e0f00e8 */ lw $t7,0xe8($s0)
/* f075188: c5ea0008 */ lwc1 $f10,0x8($t7)
/* f07518c: 46085181 */ sub.s $f6,$f10,$f8
/* f075190: c7aa02fc */ lwc1 $f10,0x2fc($sp)
/* f075194: e7a60290 */ swc1 $f6,0x290($sp)
/* f075198: 8e0e00e8 */ lw $t6,0xe8($s0)
/* f07519c: c5c4000c */ lwc1 $f4,0xc($t6)
/* f0751a0: 460a2201 */ sub.s $f8,$f4,$f10
/* f0751a4: c7a40300 */ lwc1 $f4,0x300($sp)
/* f0751a8: e7a80294 */ swc1 $f8,0x294($sp)
/* f0751ac: 8e1900e8 */ lw $t9,0xe8($s0)
/* f0751b0: c7260010 */ lwc1 $f6,0x10($t9)
/* f0751b4: e7ae029c */ swc1 $f14,0x29c($sp)
/* f0751b8: 46043281 */ sub.s $f10,$f6,$f4
/* f0751bc: 0c0011d8 */ jal guNormalize
/* f0751c0: e7aa0298 */ swc1 $f10,0x298($sp)
/* f0751c4: c6080004 */ lwc1 $f8,0x4($s0)
/* f0751c8: 27a402ec */ addiu $a0,$sp,0x2ec
/* f0751cc: 27a502f0 */ addiu $a1,$sp,0x2f0
/* f0751d0: e7a802ec */ swc1 $f8,0x2ec($sp)
/* f0751d4: c6060008 */ lwc1 $f6,0x8($s0)
/* f0751d8: 27a602f4 */ addiu $a2,$sp,0x2f4
/* f0751dc: e7a602f0 */ swc1 $f6,0x2f0($sp)
/* f0751e0: c604000c */ lwc1 $f4,0xc($s0)
/* f0751e4: 0c0011d8 */ jal guNormalize
/* f0751e8: e7a402f4 */ swc1 $f4,0x2f4($sp)
/* f0751ec: c7aa0298 */ lwc1 $f10,0x298($sp)
/* f0751f0: c7a802f4 */ lwc1 $f8,0x2f4($sp)
/* f0751f4: c7b00290 */ lwc1 $f16,0x290($sp)
/* f0751f8: c7a402ec */ lwc1 $f4,0x2ec($sp)
/* f0751fc: 46085182 */ mul.s $f6,$f10,$f8
/* f075200: c7b20294 */ lwc1 $f18,0x294($sp)
/* f075204: c7a802f0 */ lwc1 $f8,0x2f0($sp)
/* f075208: 46102282 */ mul.s $f10,$f4,$f16
/* f07520c: 00000000 */ nop
/* f075210: 46124102 */ mul.s $f4,$f8,$f18
/* f075214: 46045200 */ add.s $f8,$f10,$f4
/* f075218: 0fc25a3c */ jal acosf
/* f07521c: 46083300 */ add.s $f12,$f6,$f8
/* f075220: 3c017f1b */ lui $at,0x7f1b
/* f075224: c42ab6a0 */ lwc1 $f10,-0x4960($at)
/* f075228: 3c047f1b */ lui $a0,0x7f1b
/* f07522c: c7ae029c */ lwc1 $f14,0x29c($sp)
/* f075230: 4600503c */ c.lt.s $f10,$f0
/* f075234: e7a0028c */ swc1 $f0,0x28c($sp)
/* f075238: 3c017f1b */ lui $at,0x7f1b
/* f07523c: 2484b260 */ addiu $a0,$a0,-19872
/* f075240: 45010005 */ bc1t .PF0f075258
/* f075244: 3c058007 */ lui $a1,0x8007
/* f075248: c424b6a4 */ lwc1 $f4,-0x495c($at)
/* f07524c: 4604003c */ c.lt.s $f0,$f4
/* f075250: 00000000 */ nop
/* f075254: 4500009c */ bc1f .PF0f0754c8
.PF0f075258:
/* f075258: 24a598a4 */ addiu $a1,$a1,-26460
/* f07525c: 0c003624 */ jal mainOverrideVariable
/* f075260: e7ae029c */ swc1 $f14,0x29c($sp)
/* f075264: 3c047f1b */ lui $a0,0x7f1b
/* f075268: 3c058007 */ lui $a1,0x8007
/* f07526c: 24a598a8 */ addiu $a1,$a1,-26456
/* f075270: 0c003624 */ jal mainOverrideVariable
/* f075274: 2484b264 */ addiu $a0,$a0,-19868
/* f075278: 3c047f1b */ lui $a0,0x7f1b
/* f07527c: 3c058007 */ lui $a1,0x8007
/* f075280: 24a598ac */ addiu $a1,$a1,-26452
/* f075284: 0c003624 */ jal mainOverrideVariable
/* f075288: 2484b268 */ addiu $a0,$a0,-19864
/* f07528c: 3c188007 */ lui $t8,0x8007
/* f075290: 8f1898a8 */ lw $t8,-0x6758($t8)
/* f075294: 3c01800a */ lui $at,0x800a
/* f075298: c7b00290 */ lwc1 $f16,0x290($sp)
/* f07529c: 44983000 */ mtc1 $t8,$f6
/* f0752a0: c7b20294 */ lwc1 $f18,0x294($sp)
/* f0752a4: c422a55c */ lwc1 $f2,-0x5aa4($at)
/* f0752a8: 07010005 */ bgez $t8,.PF0f0752c0
/* f0752ac: 46803220 */ cvt.s.w $f8,$f6
/* f0752b0: 3c014f80 */ lui $at,0x4f80
/* f0752b4: 44815000 */ mtc1 $at,$f10
/* f0752b8: 00000000 */ nop
/* f0752bc: 460a4200 */ add.s $f8,$f8,$f10
.PF0f0752c0:
/* f0752c0: 3c0142c8 */ lui $at,0x42c8
/* f0752c4: 44812000 */ mtc1 $at,$f4
/* f0752c8: 3c018007 */ lui $at,0x8007
/* f0752cc: c42a98a0 */ lwc1 $f10,-0x6760($at)
/* f0752d0: 46044183 */ div.s $f6,$f8,$f4
/* f0752d4: 3c098007 */ lui $t1,0x8007
/* f0752d8: 8d2998ac */ lw $t1,-0x6754($t1)
/* f0752dc: 460a3202 */ mul.s $f8,$f6,$f10
/* f0752e0: 44893000 */ mtc1 $t1,$f6
/* f0752e4: 00000000 */ nop
/* f0752e8: 468032a0 */ cvt.s.w $f10,$f6
/* f0752ec: 05210005 */ bgez $t1,.PF0f075304
/* f0752f0: 46024103 */ div.s $f4,$f8,$f2
/* f0752f4: 3c014f80 */ lui $at,0x4f80
/* f0752f8: 44814000 */ mtc1 $at,$f8
/* f0752fc: 00000000 */ nop
/* f075300: 46085280 */ add.s $f10,$f10,$f8
.PF0f075304:
/* f075304: 3c0142c8 */ lui $at,0x42c8
/* f075308: 44813000 */ mtc1 $at,$f6
/* f07530c: 3c0d8007 */ lui $t5,0x8007
/* f075310: 8dad98a4 */ lw $t5,-0x675c($t5)
/* f075314: 46065203 */ div.s $f8,$f10,$f6
/* f075318: c7aa028c */ lwc1 $f10,0x28c($sp)
/* f07531c: 3c014f80 */ lui $at,0x4f80
/* f075320: 460a4182 */ mul.s $f6,$f8,$f10
/* f075324: 00000000 */ nop
/* f075328: 46023202 */ mul.s $f8,$f6,$f2
/* f07532c: 46082180 */ add.s $f6,$f4,$f8
/* f075330: 448d2000 */ mtc1 $t5,$f4
/* f075334: 05a10004 */ bgez $t5,.PF0f075348
/* f075338: 46802220 */ cvt.s.w $f8,$f4
/* f07533c: 44812000 */ mtc1 $at,$f4
/* f075340: 00000000 */ nop
/* f075344: 46044200 */ add.s $f8,$f8,$f4
.PF0f075348:
/* f075348: 3c0142c8 */ lui $at,0x42c8
/* f07534c: 44812000 */ mtc1 $at,$f4
/* f075350: 3c018007 */ lui $at,0x8007
/* f075354: e42a98a0 */ swc1 $f10,-0x6760($at)
/* f075358: 46044203 */ div.s $f8,$f8,$f4
/* f07535c: c7a402f0 */ lwc1 $f4,0x2f0($sp)
/* f075360: c7aa02f4 */ lwc1 $f10,0x2f4($sp)
/* f075364: 3c013f00 */ lui $at,0x3f00
/* f075368: 46083002 */ mul.s $f0,$f6,$f8
/* f07536c: c7a60298 */ lwc1 $f6,0x298($sp)
/* f075370: 46062202 */ mul.s $f8,$f4,$f6
/* f075374: 00000000 */ nop
/* f075378: 460a9182 */ mul.s $f6,$f18,$f10
/* f07537c: 46064281 */ sub.s $f10,$f8,$f6
/* f075380: c7a60298 */ lwc1 $f6,0x298($sp)
/* f075384: c7a802ec */ lwc1 $f8,0x2ec($sp)
/* f075388: e7aa0280 */ swc1 $f10,0x280($sp)
/* f07538c: 46064282 */ mul.s $f10,$f8,$f6
/* f075390: c7a802f4 */ lwc1 $f8,0x2f4($sp)
/* f075394: 46088182 */ mul.s $f6,$f16,$f8
/* f075398: 46065201 */ sub.s $f8,$f10,$f6
/* f07539c: c7a602ec */ lwc1 $f6,0x2ec($sp)
/* f0753a0: 46004287 */ neg.s $f10,$f8
/* f0753a4: 46123202 */ mul.s $f8,$f6,$f18
/* f0753a8: e7aa0284 */ swc1 $f10,0x284($sp)
/* f0753ac: 46048282 */ mul.s $f10,$f16,$f4
/* f0753b0: 44812000 */ mtc1 $at,$f4
/* f0753b4: 00000000 */ nop
/* f0753b8: 46040302 */ mul.s $f12,$f0,$f4
/* f0753bc: 460a4181 */ sub.s $f6,$f8,$f10
/* f0753c0: e7ac0078 */ swc1 $f12,0x78($sp)
/* f0753c4: 0c006858 */ jal cosf
/* f0753c8: e7a60288 */ swc1 $f6,0x288($sp)
/* f0753cc: e7a00260 */ swc1 $f0,0x260($sp)
/* f0753d0: 0c00685b */ jal sinf
/* f0753d4: c7ac0078 */ lwc1 $f12,0x78($sp)
/* f0753d8: c7a80280 */ lwc1 $f8,0x280($sp)
/* f0753dc: c7ac0078 */ lwc1 $f12,0x78($sp)
/* f0753e0: 46080282 */ mul.s $f10,$f0,$f8
/* f0753e4: 0c00685b */ jal sinf
/* f0753e8: e7aa0264 */ swc1 $f10,0x264($sp)
/* f0753ec: c7a60284 */ lwc1 $f6,0x284($sp)
/* f0753f0: c7ac0078 */ lwc1 $f12,0x78($sp)
/* f0753f4: 46060102 */ mul.s $f4,$f0,$f6
/* f0753f8: 0c00685b */ jal sinf
/* f0753fc: e7a40268 */ swc1 $f4,0x268($sp)
/* f075400: c7a80288 */ lwc1 $f8,0x288($sp)
/* f075404: 27a40260 */ addiu $a0,$sp,0x260
/* f075408: 27a5020c */ addiu $a1,$sp,0x20c
/* f07540c: 46080282 */ mul.s $f10,$f0,$f8
/* f075410: 0fc25b7d */ jal func0f096ed4
/* f075414: e7aa026c */ swc1 $f10,0x26c($sp)
/* f075418: e6140018 */ swc1 $f20,0x18($s0)
/* f07541c: e6140014 */ swc1 $f20,0x14($s0)
/* f075420: e6140010 */ swc1 $f20,0x10($s0)
/* f075424: 27a4020c */ addiu $a0,$sp,0x20c
/* f075428: 0c005628 */ jal mtx4RotateVecInPlace
/* f07542c: 26050004 */ addiu $a1,$s0,0x4
/* f075430: 27a402a0 */ addiu $a0,$sp,0x2a0
/* f075434: 0fc25bd9 */ jal func0f097044
/* f075438: 27a50270 */ addiu $a1,$sp,0x270
/* f07543c: 27a40270 */ addiu $a0,$sp,0x270
/* f075440: 27a50260 */ addiu $a1,$sp,0x260
/* f075444: 0fc25d96 */ jal func0f097738
/* f075448: 27a60250 */ addiu $a2,$sp,0x250
/* f07544c: 27a40250 */ addiu $a0,$sp,0x250
/* f075450: 0fc25b7d */ jal func0f096ed4
/* f075454: 27a5020c */ addiu $a1,$sp,0x20c
/* f075458: c7ae029c */ lwc1 $f14,0x29c($sp)
/* f07545c: c7a6020c */ lwc1 $f6,0x20c($sp)
/* f075460: 460e3102 */ mul.s $f4,$f6,$f14
/* f075464: e624001c */ swc1 $f4,0x1c($s1)
/* f075468: c7a80210 */ lwc1 $f8,0x210($sp)
/* f07546c: 460e4282 */ mul.s $f10,$f8,$f14
/* f075470: e62a0020 */ swc1 $f10,0x20($s1)
/* f075474: c7a60214 */ lwc1 $f6,0x214($sp)
/* f075478: 460e3102 */ mul.s $f4,$f6,$f14
/* f07547c: e6240024 */ swc1 $f4,0x24($s1)
/* f075480: c7a8021c */ lwc1 $f8,0x21c($sp)
/* f075484: 460e4282 */ mul.s $f10,$f8,$f14
/* f075488: e62a0028 */ swc1 $f10,0x28($s1)
/* f07548c: c7a60220 */ lwc1 $f6,0x220($sp)
/* f075490: 460e3102 */ mul.s $f4,$f6,$f14
/* f075494: e624002c */ swc1 $f4,0x2c($s1)
/* f075498: c7a80224 */ lwc1 $f8,0x224($sp)
/* f07549c: 460e4282 */ mul.s $f10,$f8,$f14
/* f0754a0: e62a0030 */ swc1 $f10,0x30($s1)
/* f0754a4: c7a6022c */ lwc1 $f6,0x22c($sp)
/* f0754a8: 460e3102 */ mul.s $f4,$f6,$f14
/* f0754ac: e6240034 */ swc1 $f4,0x34($s1)
/* f0754b0: c7a80230 */ lwc1 $f8,0x230($sp)
/* f0754b4: 460e4282 */ mul.s $f10,$f8,$f14
/* f0754b8: e62a0038 */ swc1 $f10,0x38($s1)
/* f0754bc: c7a60234 */ lwc1 $f6,0x234($sp)
/* f0754c0: 460e3102 */ mul.s $f4,$f6,$f14
/* f0754c4: e624003c */ swc1 $f4,0x3c($s1)
.PF0f0754c8:
/* f0754c8: 8e020000 */ lw $v0,0x0($s0)
.PF0f0754cc:
/* f0754cc: 3c03800a */ lui $v1,0x800a
/* f0754d0: 2463a510 */ addiu $v1,$v1,-23280
/* f0754d4: 3c017f1b */ lui $at,0x7f1b
/* f0754d8: 304a0010 */ andi $t2,$v0,0x10
/* f0754dc: c430b6a8 */ lwc1 $f16,-0x4958($at)
/* f0754e0: c462004c */ lwc1 $f2,0x4c($v1)
/* f0754e4: c600001c */ lwc1 $f0,0x1c($s0)
/* f0754e8: 1540001e */ bnez $t2,.PF0f075564
/* f0754ec: c60c0014 */ lwc1 $f12,0x14($s0)
/* f0754f0: 46006280 */ add.s $f10,$f12,$f0
/* f0754f4: c6080008 */ lwc1 $f8,0x8($s0)
/* f0754f8: 00025840 */ sll $t3,$v0,0x1
/* f0754fc: 3c017f1b */ lui $at,0x7f1b
/* f075500: 46025182 */ mul.s $f6,$f10,$f2
/* f075504: 46064100 */ add.s $f4,$f8,$f6
/* f075508: 05610007 */ bgez $t3,.PF0f075528
/* f07550c: e6040008 */ swc1 $f4,0x8($s0)
/* f075510: c462004c */ lwc1 $f2,0x4c($v1)
/* f075514: c42ab6ac */ lwc1 $f10,-0x4954($at)
/* f075518: c60c0008 */ lwc1 $f12,0x8($s0)
/* f07551c: 46025202 */ mul.s $f8,$f10,$f2
/* f075520: 10000005 */ b .PF0f075538
/* f075524: 46086001 */ sub.s $f0,$f12,$f8
.PF0f075528:
/* f075528: c462004c */ lwc1 $f2,0x4c($v1)
/* f07552c: c60c0008 */ lwc1 $f12,0x8($s0)
/* f075530: 46028182 */ mul.s $f6,$f16,$f2
/* f075534: 46066001 */ sub.s $f0,$f12,$f6
.PF0f075538:
/* f075538: 46006100 */ add.s $f4,$f12,$f0
/* f07553c: 3c013f00 */ lui $at,0x3f00
/* f075540: 44814000 */ mtc1 $at,$f8
/* f075544: 46041282 */ mul.s $f10,$f2,$f4
/* f075548: c7a405e0 */ lwc1 $f4,0x5e0($sp)
/* f07554c: 46085182 */ mul.s $f6,$f10,$f8
/* f075550: 46062280 */ add.s $f10,$f4,$f6
/* f075554: e7aa05e0 */ swc1 $f10,0x5e0($sp)
/* f075558: e6000008 */ swc1 $f0,0x8($s0)
/* f07555c: 1000000c */ b .PF0f075590
/* f075560: c462004c */ lwc1 $f2,0x4c($v1)
.PF0f075564:
/* f075564: 46006100 */ add.s $f4,$f12,$f0
/* f075568: c6080008 */ lwc1 $f8,0x8($s0)
/* f07556c: 46022182 */ mul.s $f6,$f4,$f2
/* f075570: 46064280 */ add.s $f10,$f8,$f6
/* f075574: e60a0008 */ swc1 $f10,0x8($s0)
/* f075578: c6080008 */ lwc1 $f8,0x8($s0)
/* f07557c: c462004c */ lwc1 $f2,0x4c($v1)
/* f075580: c7a405e0 */ lwc1 $f4,0x5e0($sp)
/* f075584: 46024182 */ mul.s $f6,$f8,$f2
/* f075588: 46062280 */ add.s $f10,$f4,$f6
/* f07558c: e7aa05e0 */ swc1 $f10,0x5e0($sp)
.PF0f075590:
/* f075590: c6040010 */ lwc1 $f4,0x10($s0)
/* f075594: c6080004 */ lwc1 $f8,0x4($s0)
/* f075598: 27a5030c */ addiu $a1,$sp,0x30c
/* f07559c: 46022182 */ mul.s $f6,$f4,$f2
/* f0755a0: c6040018 */ lwc1 $f4,0x18($s0)
/* f0755a4: 46064280 */ add.s $f10,$f8,$f6
/* f0755a8: e60a0004 */ swc1 $f10,0x4($s0)
/* f0755ac: c468004c */ lwc1 $f8,0x4c($v1)
/* f0755b0: c60a000c */ lwc1 $f10,0xc($s0)
/* f0755b4: 46082182 */ mul.s $f6,$f4,$f8
/* f0755b8: 46065100 */ add.s $f4,$f10,$f6
/* f0755bc: c60a0004 */ lwc1 $f10,0x4($s0)
/* f0755c0: e604000c */ swc1 $f4,0xc($s0)
/* f0755c4: c462004c */ lwc1 $f2,0x4c($v1)
/* f0755c8: c7a805dc */ lwc1 $f8,0x5dc($sp)
/* f0755cc: 8fa40074 */ lw $a0,0x74($sp)
/* f0755d0: 46025182 */ mul.s $f6,$f10,$f2
/* f0755d4: c7aa05e4 */ lwc1 $f10,0x5e4($sp)
/* f0755d8: 46064100 */ add.s $f4,$f8,$f6
/* f0755dc: e7a405dc */ swc1 $f4,0x5dc($sp)
/* f0755e0: c608000c */ lwc1 $f8,0xc($s0)
/* f0755e4: 46024182 */ mul.s $f6,$f8,$f2
/* f0755e8: 46065100 */ add.s $f4,$f10,$f6
/* f0755ec: 0c0056b9 */ jal mtx3ToMtx4
/* f0755f0: e7a405e4 */ swc1 $f4,0x5e4($sp)
/* f0755f4: 26050020 */ addiu $a1,$s0,0x20
/* f0755f8: 3c06800a */ lui $a2,0x800a
/* f0755fc: 8cc6a544 */ lw $a2,-0x5abc($a2)
/* f075600: afa50064 */ sw $a1,0x64($sp)
/* f075604: 0fc2596e */ jal func0f096698
/* f075608: 27a4030c */ addiu $a0,$sp,0x30c
/* f07560c: 27a4030c */ addiu $a0,$sp,0x30c
/* f075610: 0c0056cc */ jal mtx4ToMtx3
/* f075614: 8fa50074 */ lw $a1,0x74($sp)
/* f075618: c6480008 */ lwc1 $f8,0x8($s2)
/* f07561c: 26440028 */ addiu $a0,$s2,0x28
/* f075620: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f075624: e7a805c8 */ swc1 $f8,0x5c8($sp)
/* f075628: c64a000c */ lwc1 $f10,0xc($s2)
/* f07562c: e7aa05cc */ swc1 $f10,0x5cc($sp)
/* f075630: c6460010 */ lwc1 $f6,0x10($s2)
/* f075634: afa4006c */ sw $a0,0x6c($sp)
/* f075638: 0fc1968d */ jal roomsCopy
/* f07563c: e7a605d0 */ swc1 $f6,0x5d0($sp)
/* f075640: 8e040088 */ lw $a0,0x88($s0)
/* f075644: 50800004 */ beqzl $a0,.PF0f075658
/* f075648: 8e0c0000 */ lw $t4,0x0($s0)
/* f07564c: 0fc19102 */ jal propSetPerimEnabled
/* f075650: 00002825 */ move $a1,$zero
/* f075654: 8e0c0000 */ lw $t4,0x0($s0)
.PF0f075658:
/* f075658: 318f0004 */ andi $t7,$t4,0x4
/* f07565c: 11e00007 */ beqz $t7,.PF0f07567c
/* f075660: 02202025 */ move $a0,$s1
/* f075664: 27a505dc */ addiu $a1,$sp,0x5dc
/* f075668: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f07566c: 0fc1b3e2 */ jal func0f06cd00
/* f075670: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f075674: 10000007 */ b .PF0f075694
/* f075678: afa20600 */ sw $v0,0x600($sp)
.PF0f07567c:
/* f07567c: 02202025 */ move $a0,$s1
/* f075680: 27a505dc */ addiu $a1,$sp,0x5dc
/* f075684: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f075688: 0fc1b581 */ jal func0f06d37c
/* f07568c: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f075690: afa20600 */ sw $v0,0x600($sp)
.PF0f075694:
/* f075694: 8e040088 */ lw $a0,0x88($s0)
/* f075698: 50800004 */ beqzl $a0,.PF0f0756ac
/* f07569c: 240e0001 */ li $t6,0x1
/* f0756a0: 0fc19102 */ jal propSetPerimEnabled
/* f0756a4: 24050001 */ li $a1,0x1
/* f0756a8: 240e0001 */ li $t6,0x1
.PF0f0756ac:
/* f0756ac: afae05d8 */ sw $t6,0x5d8($sp)
/* f0756b0: 8e190000 */ lw $t9,0x0($s0)
/* f0756b4: 33380004 */ andi $t8,$t9,0x4
/* f0756b8: 53000318 */ beqzl $t8,.PF0f07631c
/* f0756bc: 8fae034c */ lw $t6,0x34c($sp)
/* f0756c0: 8fa90600 */ lw $t1,0x600($sp)
/* f0756c4: 3c038007 */ lui $v1,0x8007
/* f0756c8: 552002da */ bnezl $t1,.PF0f076234
/* f0756cc: 8faa034c */ lw $t2,0x34c($sp)
/* f0756d0: 8c639610 */ lw $v1,-0x69f0($v1)
/* f0756d4: afa001f8 */ sw $zero,0x1f8($sp)
/* f0756d8: afa001f4 */ sw $zero,0x1f4($sp)
/* f0756dc: 5060000a */ beqzl $v1,.PF0f075708
/* f0756e0: 92220003 */ lbu $v0,0x3($s1)
/* f0756e4: afa301f4 */ sw $v1,0x1f4($sp)
/* f0756e8: 8c620018 */ lw $v0,0x18($v1)
/* f0756ec: 10400005 */ beqz $v0,.PF0f075704
/* f0756f0: 00401825 */ move $v1,$v0
.PF0f0756f4:
/* f0756f4: 8c420018 */ lw $v0,0x18($v0)
/* f0756f8: 5440fffe */ bnezl $v0,.PF0f0756f4
/* f0756fc: 00401825 */ move $v1,$v0
/* f075700: afa301f4 */ sw $v1,0x1f4($sp)
.PF0f075704:
/* f075704: 92220003 */ lbu $v0,0x3($s1)
.PF0f075708:
/* f075708: 2401000d */ li $at,0xd
/* f07570c: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f075710: 54410006 */ bnel $v0,$at,.PF0f07572c
/* f075714: 24010008 */ li $at,0x8
/* f075718: 15400030 */ bnez $t2,.PF0f0757dc
/* f07571c: 240b0001 */ li $t3,0x1
/* f075720: 1000002e */ b .PF0f0757dc
/* f075724: afab01f8 */ sw $t3,0x1f8($sp)
/* f075728: 24010008 */ li $at,0x8
.PF0f07572c:
/* f07572c: 5441002c */ bnel $v0,$at,.PF0f0757e0
/* f075730: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f075734: 9227005c */ lbu $a3,0x5c($s1)
/* f075738: 24010022 */ li $at,0x22
/* f07573c: 10e10016 */ beq $a3,$at,.PF0f075798
/* f075740: 24010020 */ li $at,0x20
/* f075744: 10e10014 */ beq $a3,$at,.PF0f075798
/* f075748: 24010021 */ li $at,0x21
/* f07574c: 10e10012 */ beq $a3,$at,.PF0f075798
/* f075750: 2401003d */ li $at,0x3d
/* f075754: 10e10010 */ beq $a3,$at,.PF0f075798
/* f075758: 2401003e */ li $at,0x3e
/* f07575c: 10e1000e */ beq $a3,$at,.PF0f075798
/* f075760: 2401003f */ li $at,0x3f
/* f075764: 10e1000c */ beq $a3,$at,.PF0f075798
/* f075768: 24010056 */ li $at,0x56
/* f07576c: 10e1000a */ beq $a3,$at,.PF0f075798
/* f075770: 2401001a */ li $at,0x1a
/* f075774: 10e10008 */ beq $a3,$at,.PF0f075798
/* f075778: 24010035 */ li $at,0x35
/* f07577c: 10e10006 */ beq $a3,$at,.PF0f075798
/* f075780: 2624005c */ addiu $a0,$s1,0x5c
/* f075784: 0fc2c8e8 */ jal gsetHasFunctionFlags
/* f075788: 24050100 */ li $a1,0x100
/* f07578c: 50400014 */ beqzl $v0,.PF0f0757e0
/* f075790: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f075794: 9227005c */ lbu $a3,0x5c($s1)
.PF0f075798:
/* f075798: 240c0001 */ li $t4,0x1
/* f07579c: 24010055 */ li $at,0x55
/* f0757a0: 14e1000e */ bne $a3,$at,.PF0f0757dc
/* f0757a4: afac01f8 */ sw $t4,0x1f8($sp)
/* f0757a8: 922f005f */ lbu $t7,0x5f($s1)
/* f0757ac: 24010001 */ li $at,0x1
/* f0757b0: 55e1000b */ bnel $t7,$at,.PF0f0757e0
/* f0757b4: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f0757b8: 862e0062 */ lh $t6,0x62($s1)
/* f0757bc: 24010001 */ li $at,0x1
/* f0757c0: 24190190 */ li $t9,0x190
/* f0757c4: 55c10005 */ bnel $t6,$at,.PF0f0757dc
/* f0757c8: a6390062 */ sh $t9,0x62($s1)
/* f0757cc: afa001f8 */ sw $zero,0x1f8($sp)
/* f0757d0: 10000002 */ b .PF0f0757dc
/* f0757d4: a6200062 */ sh $zero,0x62($s1)
/* f0757d8: a6390062 */ sh $t9,0x62($s1)
.PF0f0757dc:
/* f0757dc: 8fb801f8 */ lw $t8,0x1f8($sp)
.PF0f0757e0:
/* f0757e0: 00004025 */ move $t0,$zero
/* f0757e4: 53000071 */ beqzl $t8,.PF0f0759ac
/* f0757e8: 8fae034c */ lw $t6,0x34c($sp)
/* f0757ec: 92290003 */ lbu $t1,0x3($s1)
/* f0757f0: 3c038007 */ lui $v1,0x8007
/* f0757f4: 24010008 */ li $at,0x8
/* f0757f8: 15210002 */ bne $t1,$at,.PF0f075804
/* f0757fc: 8c639610 */ lw $v1,-0x69f0($v1)
/* f075800: 02204025 */ move $t0,$s1
.PF0f075804:
/* f075804: 50600017 */ beqzl $v1,.PF0f075864
/* f075808: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f07580c: 90620000 */ lbu $v0,0x0($v1)
/* f075810: 24010001 */ li $at,0x1
/* f075814: 10410005 */ beq $v0,$at,.PF0f07582c
/* f075818: 24010004 */ li $at,0x4
/* f07581c: 10410003 */ beq $v0,$at,.PF0f07582c
/* f075820: 24010002 */ li $at,0x2
/* f075824: 5441000f */ bnel $v0,$at,.PF0f075864
/* f075828: 8faa01f4 */ lw $t2,0x1f4($sp)
.PF0f07582c:
/* f07582c: 1100000c */ beqz $t0,.PF0f075860
/* f075830: 8c640004 */ lw $a0,0x4($v1)
/* f075834: 9102005c */ lbu $v0,0x5c($t0)
/* f075838: 24010056 */ li $at,0x56
/* f07583c: 10410003 */ beq $v0,$at,.PF0f07584c
/* f075840: 2401001a */ li $at,0x1a
/* f075844: 54410007 */ bnel $v0,$at,.PF0f075864
/* f075848: 8faa01f4 */ lw $t2,0x1f4($sp)
.PF0f07584c:
/* f07584c: 908d0003 */ lbu $t5,0x3($a0)
/* f075850: 24010008 */ li $at,0x8
/* f075854: 55a10003 */ bnel $t5,$at,.PF0f075864
/* f075858: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f07585c: afa001f8 */ sw $zero,0x1f8($sp)
.PF0f075860:
/* f075860: 8faa01f4 */ lw $t2,0x1f4($sp)
.PF0f075864:
/* f075864: 51400051 */ beqzl $t2,.PF0f0759ac
/* f075868: 8fae034c */ lw $t6,0x34c($sp)
/* f07586c: 91420000 */ lbu $v0,0x0($t2)
/* f075870: 24010001 */ li $at,0x1
/* f075874: 8fab01f4 */ lw $t3,0x1f4($sp)
/* f075878: 10410006 */ beq $v0,$at,.PF0f075894
/* f07587c: 3c098007 */ lui $t1,0x8007
/* f075880: 24010004 */ li $at,0x4
/* f075884: 10410003 */ beq $v0,$at,.PF0f075894
/* f075888: 24010002 */ li $at,0x2
/* f07588c: 5441003a */ bnel $v0,$at,.PF0f075978
/* f075890: 24010003 */ li $at,0x3
.PF0f075894:
/* f075894: 8d630004 */ lw $v1,0x4($t3)
/* f075898: 8c6c0040 */ lw $t4,0x40($v1)
/* f07589c: 318f0080 */ andi $t7,$t4,0x80
/* f0758a0: 11e00007 */ beqz $t7,.PF0f0758c0
/* f0758a4: 00000000 */ nop
/* f0758a8: 8c6e0048 */ lw $t6,0x48($v1)
/* f0758ac: 8dd90000 */ lw $t9,0x0($t6)
/* f0758b0: 33380800 */ andi $t8,$t9,0x800
/* f0758b4: 17000002 */ bnez $t8,.PF0f0758c0
/* f0758b8: 00000000 */ nop
/* f0758bc: afa001f8 */ sw $zero,0x1f8($sp)
.PF0f0758c0:
/* f0758c0: 8d299624 */ lw $t1,-0x69dc($t1)
/* f0758c4: 24012710 */ li $at,0x2710
/* f0758c8: 15210002 */ bne $t1,$at,.PF0f0758d4
/* f0758cc: 00000000 */ nop
/* f0758d0: afa001f8 */ sw $zero,0x1f8($sp)
.PF0f0758d4:
/* f0758d4: 51000035 */ beqzl $t0,.PF0f0759ac
/* f0758d8: 8fae034c */ lw $t6,0x34c($sp)
/* f0758dc: 9102005c */ lbu $v0,0x5c($t0)
/* f0758e0: 24010056 */ li $at,0x56
/* f0758e4: 10410003 */ beq $v0,$at,.PF0f0758f4
/* f0758e8: 2401001a */ li $at,0x1a
/* f0758ec: 5441002f */ bnel $v0,$at,.PF0f0759ac
/* f0758f0: 8fae034c */ lw $t6,0x34c($sp)
.PF0f0758f4:
/* f0758f4: 90620003 */ lbu $v0,0x3($v1)
/* f0758f8: 2401002a */ li $at,0x2a
/* f0758fc: 26440008 */ addiu $a0,$s2,0x8
/* f075900: 10410003 */ beq $v0,$at,.PF0f075910
/* f075904: 8fa5006c */ lw $a1,0x6c($sp)
/* f075908: 2401002f */ li $at,0x2f
/* f07590c: 14410026 */ bne $v0,$at,.PF0f0759a8
.PF0f075910:
/* f075910: 2406ffff */ li $a2,-1
/* f075914: afa301e4 */ sw $v1,0x1e4($sp)
/* f075918: afa40070 */ sw $a0,0x70($sp)
/* f07591c: 0fc2a214 */ jal bgun0f0a8404
/* f075920: afa801ec */ sw $t0,0x1ec($sp)
/* f075924: 8fa401e4 */ lw $a0,0x1e4($sp)
/* f075928: 8fa801ec */ lw $t0,0x1ec($sp)
/* f07592c: 3c0542c8 */ lui $a1,0x42c8
/* f075930: 8c8d000c */ lw $t5,0xc($a0)
/* f075934: 8fa60070 */ lw $a2,0x70($sp)
/* f075938: 3c0b800a */ lui $t3,0x800a
/* f07593c: 31aa4000 */ andi $t2,$t5,0x4000
/* f075940: 5540001a */ bnezl $t2,.PF0f0759ac
/* f075944: 8fae034c */ lw $t6,0x34c($sp)
/* f075948: 8d6ba79c */ lw $t3,-0x5864($t3)
/* f07594c: 9107005c */ lbu $a3,0x5c($t0)
/* f075950: afa001f8 */ sw $zero,0x1f8($sp)
/* f075954: 0fc21530 */ jal objTakeGunfire
/* f075958: afab0010 */ sw $t3,0x10($sp)
/* f07595c: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f075960: 0fc1c248 */ jal objDropRecursively
/* f075964: 00002825 */ move $a1,$zero
/* f075968: 240c0001 */ li $t4,0x1
/* f07596c: 1000000e */ b .PF0f0759a8
/* f075970: afac034c */ sw $t4,0x34c($sp)
/* f075974: 24010003 */ li $at,0x3
.PF0f075978:
/* f075978: 10410004 */ beq $v0,$at,.PF0f07598c
/* f07597c: 8faf01f4 */ lw $t7,0x1f4($sp)
/* f075980: 24010006 */ li $at,0x6
/* f075984: 54410009 */ bnel $v0,$at,.PF0f0759ac
/* f075988: 8fae034c */ lw $t6,0x34c($sp)
.PF0f07598c:
/* f07598c: 0fc0d042 */ jal chrGetShield
/* f075990: 8de40004 */ lw $a0,0x4($t7)
/* f075994: 4600a03c */ c.lt.s $f20,$f0
/* f075998: 00000000 */ nop
/* f07599c: 45020003 */ bc1fl .PF0f0759ac
/* f0759a0: 8fae034c */ lw $t6,0x34c($sp)
/* f0759a4: afa001f8 */ sw $zero,0x1f8($sp)
.PF0f0759a8:
/* f0759a8: 8fae034c */ lw $t6,0x34c($sp)
.PF0f0759ac:
/* f0759ac: 3c198007 */ lui $t9,0x8007
/* f0759b0: 55c00163 */ bnezl $t6,.PF0f075f40
/* f0759b4: 8faf034c */ lw $t7,0x34c($sp)
/* f0759b8: 8f399610 */ lw $t9,-0x69f0($t9)
/* f0759bc: 1320015f */ beqz $t9,.PF0f075f3c
/* f0759c0: afb90068 */ sw $t9,0x68($sp)
/* f0759c4: 92380003 */ lbu $t8,0x3($s1)
/* f0759c8: 24010008 */ li $at,0x8
/* f0759cc: 5701015c */ bnel $t8,$at,.PF0f075f40
/* f0759d0: 8faf034c */ lw $t7,0x34c($sp)
/* f0759d4: 9227005c */ lbu $a3,0x5c($s1)
/* f0759d8: 24010056 */ li $at,0x56
/* f0759dc: 8fa901f4 */ lw $t1,0x1f4($sp)
/* f0759e0: 10e10003 */ beq $a3,$at,.PF0f0759f0
/* f0759e4: 2401001a */ li $at,0x1a
/* f0759e8: 54e100aa */ bnel $a3,$at,.PF0f075c94
/* f0759ec: 24010053 */ li $at,0x53
.PF0f0759f0:
/* f0759f0: 91220000 */ lbu $v0,0x0($t1)
/* f0759f4: 24010003 */ li $at,0x3
/* f0759f8: 10410006 */ beq $v0,$at,.PF0f075a14
/* f0759fc: 24010006 */ li $at,0x6
/* f075a00: 54410072 */ bnel $v0,$at,.PF0f075bcc
/* f075a04: 24010001 */ li $at,0x1
/* f075a08: 8d2d0004 */ lw $t5,0x4($t1)
/* f075a0c: 51a0006f */ beqzl $t5,.PF0f075bcc
/* f075a10: 24010001 */ li $at,0x1
.PF0f075a14:
/* f075a14: 8e220048 */ lw $v0,0x48($s1)
/* f075a18: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f075a1c: 8c4b0000 */ lw $t3,0x0($v0)
/* f075a20: 8d440004 */ lw $a0,0x4($t2)
/* f075a24: 316c0001 */ andi $t4,$t3,0x1
/* f075a28: 51800145 */ beqzl $t4,.PF0f075f40
/* f075a2c: 8faf034c */ lw $t7,0x34c($sp)
/* f075a30: 8c4f0090 */ lw $t7,0x90($v0)
/* f075a34: 2627005c */ addiu $a3,$s1,0x5c
/* f075a38: 5de00141 */ bgtzl $t7,.PF0f075f40
/* f075a3c: 8faf034c */ lw $t7,0x34c($sp)
/* f075a40: 8c4e0088 */ lw $t6,0x88($v0)
/* f075a44: afa70070 */ sw $a3,0x70($sp)
/* f075a48: afa401dc */ sw $a0,0x1dc($sp)
/* f075a4c: 0fc0d042 */ jal chrGetShield
/* f075a50: afae01d4 */ sw $t6,0x1d4($sp)
/* f075a54: 8fa40070 */ lw $a0,0x70($sp)
/* f075a58: 0fc2c87a */ jal gsetGetDamage
/* f075a5c: e7a001d8 */ swc1 $f0,0x1d8($sp)
/* f075a60: 3c188007 */ lui $t8,0x8007
/* f075a64: 3c098007 */ lui $t1,0x8007
/* f075a68: 3c0d800a */ lui $t5,0x800a
/* f075a6c: 3c0a800a */ lui $t2,0x800a
/* f075a70: 3c0b8007 */ lui $t3,0x8007
/* f075a74: 8d6b9618 */ lw $t3,-0x69e8($t3)
/* f075a78: 8d4ad3d0 */ lw $t2,-0x2c30($t2)
/* f075a7c: 8dadd3d4 */ lw $t5,-0x2c2c($t5)
/* f075a80: 8d299610 */ lw $t1,-0x69f0($t1)
/* f075a84: 8f189614 */ lw $t8,-0x69ec($t8)
/* f075a88: 8fb901d4 */ lw $t9,0x1d4($sp)
/* f075a8c: 3c0c8007 */ lui $t4,0x8007
/* f075a90: 258c961c */ addiu $t4,$t4,-27108
/* f075a94: 44050000 */ mfc1 $a1,$f0
/* f075a98: 3c06800a */ lui $a2,0x800a
/* f075a9c: 24c6d3d8 */ addiu $a2,$a2,-11304
/* f075aa0: afac0028 */ sw $t4,0x28($sp)
/* f075aa4: 8fa70070 */ lw $a3,0x70($sp)
/* f075aa8: 8fa401dc */ lw $a0,0x1dc($sp)
/* f075aac: afab0024 */ sw $t3,0x24($sp)
/* f075ab0: afaa0020 */ sw $t2,0x20($sp)
/* f075ab4: afad001c */ sw $t5,0x1c($sp)
/* f075ab8: afa90018 */ sw $t1,0x18($sp)
/* f075abc: afb80014 */ sw $t8,0x14($sp)
/* f075ac0: 0fc0d0d1 */ jal func0f0341dc
/* f075ac4: afb90010 */ sw $t9,0x10($sp)
/* f075ac8: c7a401d8 */ lwc1 $f4,0x1d8($sp)
/* f075acc: 8faf01d4 */ lw $t7,0x1d4($sp)
/* f075ad0: 3c058007 */ lui $a1,0x8007
/* f075ad4: 4614203e */ c.le.s $f4,$f20
/* f075ad8: 3c068007 */ lui $a2,0x8007
/* f075adc: 27a705e8 */ addiu $a3,$sp,0x5e8
/* f075ae0: 27b905f4 */ addiu $t9,$sp,0x5f4
/* f075ae4: 45020116 */ bc1fl .PF0f075f40
/* f075ae8: 8faf034c */ lw $t7,0x34c($sp)
/* f075aec: 51e00005 */ beqzl $t7,.PF0f075b04
/* f075af0: afa00088 */ sw $zero,0x88($sp)
/* f075af4: 8dee0004 */ lw $t6,0x4($t7)
/* f075af8: 10000002 */ b .PF0f075b04
/* f075afc: afae0088 */ sw $t6,0x88($sp)
/* f075b00: afa00088 */ sw $zero,0x88($sp)
.PF0f075b04:
/* f075b04: 8fb80088 */ lw $t8,0x88($sp)
/* f075b08: 8fa401dc */ lw $a0,0x1dc($sp)
/* f075b0c: 8ca59610 */ lw $a1,-0x69f0($a1)
/* f075b10: 8cc69614 */ lw $a2,-0x69ec($a2)
/* f075b14: afb90010 */ sw $t9,0x10($sp)
/* f075b18: 0fc097f2 */ jal chrEmitSparks
/* f075b1c: afb80014 */ sw $t8,0x14($sp)
/* f075b20: 3c098007 */ lui $t1,0x8007
/* f075b24: 8d299610 */ lw $t1,-0x69f0($t1)
/* f075b28: 3c04800a */ lui $a0,0x800a
/* f075b2c: 912d0001 */ lbu $t5,0x1($t1)
/* f075b30: 31aa0002 */ andi $t2,$t5,0x2
/* f075b34: 51400102 */ beqzl $t2,.PF0f075f40
/* f075b38: 8faf034c */ lw $t7,0x34c($sp)
/* f075b3c: 8c84d3d0 */ lw $a0,-0x2c30($a0)
/* f075b40: 3c028007 */ lui $v0,0x8007
/* f075b44: 508000fe */ beqzl $a0,.PF0f075f40
/* f075b48: 8faf034c */ lw $t7,0x34c($sp)
/* f075b4c: 8c429614 */ lw $v0,-0x69ec($v0)
/* f075b50: 24010064 */ li $at,0x64
/* f075b54: 104100f9 */ beq $v0,$at,.PF0f075f3c
/* f075b58: 2401006e */ li $at,0x6e
/* f075b5c: 104100f7 */ beq $v0,$at,.PF0f075f3c
/* f075b60: 3c05800a */ lui $a1,0x800a
/* f075b64: 8ca5d3d4 */ lw $a1,-0x2c2c($a1)
/* f075b68: 0c0068d7 */ jal model0001a5cc
/* f075b6c: 00003025 */ move $a2,$zero
/* f075b70: 0fc2d706 */ jal currentPlayerGetMatrix1740
/* f075b74: afa20184 */ sw $v0,0x184($sp)
/* f075b78: 00402025 */ move $a0,$v0
/* f075b7c: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f075b80: 0c00563e */ jal mtx4TransformVec
/* f075b84: 27a601c8 */ addiu $a2,$sp,0x1c8
/* f075b88: 8fa40184 */ lw $a0,0x184($sp)
/* f075b8c: 0c005bcb */ jal mtx0001719c
/* f075b90: 27a50188 */ addiu $a1,$sp,0x188
/* f075b94: 27a40188 */ addiu $a0,$sp,0x188
/* f075b98: 0c00563d */ jal mtx4TransformVecInPlace
/* f075b9c: 27a501c8 */ addiu $a1,$sp,0x1c8
/* f075ba0: 3c04800a */ lui $a0,0x800a
/* f075ba4: 3c058007 */ lui $a1,0x8007
/* f075ba8: 3c06800a */ lui $a2,0x800a
/* f075bac: 8cc6d3d4 */ lw $a2,-0x2c2c($a2)
/* f075bb0: 8ca59614 */ lw $a1,-0x69ec($a1)
/* f075bb4: 8c84d3d0 */ lw $a0,-0x2c30($a0)
/* f075bb8: 0fc0987a */ jal chr0f0260c4
/* f075bbc: 27a701c8 */ addiu $a3,$sp,0x1c8
/* f075bc0: 100000df */ b .PF0f075f40
/* f075bc4: 8faf034c */ lw $t7,0x34c($sp)
/* f075bc8: 24010001 */ li $at,0x1
.PF0f075bcc:
/* f075bcc: 144100db */ bne $v0,$at,.PF0f075f3c
/* f075bd0: 8fab01f4 */ lw $t3,0x1f4($sp)
/* f075bd4: 3c0f8007 */ lui $t7,0x8007
/* f075bd8: 8def9624 */ lw $t7,-0x69dc($t7)
/* f075bdc: 8d6c0004 */ lw $t4,0x4($t3)
/* f075be0: 24012710 */ li $at,0x2710
/* f075be4: 15e1001a */ bne $t7,$at,.PF0f075c50
/* f075be8: afac0180 */ sw $t4,0x180($sp)
/* f075bec: 8d8e0010 */ lw $t6,0x10($t4)
/* f075bf0: 8fa60068 */ lw $a2,0x68($sp)
/* f075bf4: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f075bf8: 31d91000 */ andi $t9,$t6,0x1000
/* f075bfc: 13200005 */ beqz $t9,.PF0f075c14
/* f075c00: 3c07800a */ lui $a3,0x800a
/* f075c04: 3c014080 */ lui $at,0x4080
/* f075c08: 44810000 */ mtc1 $at,$f0
/* f075c0c: 10000004 */ b .PF0f075c20
/* f075c10: 00000000 */ nop
.PF0f075c14:
/* f075c14: 3c014100 */ lui $at,0x4100
/* f075c18: 44810000 */ mtc1 $at,$f0
/* f075c1c: 00000000 */ nop
.PF0f075c20:
/* f075c20: 3c18800a */ lui $t8,0x800a
/* f075c24: 3c098007 */ lui $t1,0x8007
/* f075c28: 8d299618 */ lw $t1,-0x69e8($t1)
/* f075c2c: 8f18d3d0 */ lw $t8,-0x2c30($t8)
/* f075c30: 3c0d8007 */ lui $t5,0x8007
/* f075c34: 25ad961c */ addiu $t5,$t5,-27108
/* f075c38: 44050000 */ mfc1 $a1,$f0
/* f075c3c: afad0018 */ sw $t5,0x18($sp)
/* f075c40: 8ce7d3d4 */ lw $a3,-0x2c2c($a3)
/* f075c44: afa90014 */ sw $t1,0x14($sp)
/* f075c48: 0fc0a428 */ jal shieldhitCreate
/* f075c4c: afb80010 */ sw $t8,0x10($sp)
.PF0f075c50:
/* f075c50: 8faa0180 */ lw $t2,0x180($sp)
/* f075c54: 2401014c */ li $at,0x14c
/* f075c58: 3c0f8007 */ lui $t7,0x8007
/* f075c5c: 854b0004 */ lh $t3,0x4($t2)
/* f075c60: 556100b7 */ bnel $t3,$at,.PF0f075f40
/* f075c64: 8faf034c */ lw $t7,0x34c($sp)
/* f075c68: 8def9624 */ lw $t7,-0x69dc($t7)
/* f075c6c: 24010b9e */ li $at,0xb9e
/* f075c70: 01402025 */ move $a0,$t2
/* f075c74: 55e100b2 */ bnel $t7,$at,.PF0f075f40
/* f075c78: 8faf034c */ lw $t7,0x34c($sp)
/* f075c7c: 4406a000 */ mfc1 $a2,$f20
/* f075c80: 0fc6876a */ jal frCalculateHit
/* f075c84: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f075c88: 100000ad */ b .PF0f075f40
/* f075c8c: 8faf034c */ lw $t7,0x34c($sp)
/* f075c90: 24010053 */ li $at,0x53
.PF0f075c94:
/* f075c94: 10e10003 */ beq $a3,$at,.PF0f075ca4
/* f075c98: 24010054 */ li $at,0x54
/* f075c9c: 14e1006b */ bne $a3,$at,.PF0f075e4c
/* f075ca0: 8fa901f4 */ lw $t1,0x1f4($sp)
.PF0f075ca4:
/* f075ca4: 8e2c0040 */ lw $t4,0x40($s1)
/* f075ca8: 3c01f000 */ lui $at,0xf000
/* f075cac: 8fb80068 */ lw $t8,0x68($sp)
/* f075cb0: 01817024 */ and $t6,$t4,$at
/* f075cb4: 000ecf02 */ srl $t9,$t6,0x1c
/* f075cb8: afb9017c */ sw $t9,0x17c($sp)
/* f075cbc: 93020000 */ lbu $v0,0x0($t8)
/* f075cc0: 24010003 */ li $at,0x3
/* f075cc4: 24090001 */ li $t1,0x1
/* f075cc8: 10410006 */ beq $v0,$at,.PF0f075ce4
/* f075ccc: afa9034c */ sw $t1,0x34c($sp)
/* f075cd0: 24010006 */ li $at,0x6
/* f075cd4: 5441002b */ bnel $v0,$at,.PF0f075d84
/* f075cd8: 24010001 */ li $at,0x1
/* f075cdc: 8f0d0004 */ lw $t5,0x4($t8)
/* f075ce0: 11a00027 */ beqz $t5,.PF0f075d80
.PF0f075ce4:
/* f075ce4: 3c0b800a */ lui $t3,0x800a
/* f075ce8: 8d6ba828 */ lw $t3,-0x57d8($t3)
/* f075cec: 00001825 */ move $v1,$zero
/* f075cf0: 2627005c */ addiu $a3,$s1,0x5c
/* f075cf4: 11600008 */ beqz $t3,.PF0f075d18
/* f075cf8: 8fa4017c */ lw $a0,0x17c($sp)
/* f075cfc: afa00178 */ sw $zero,0x178($sp)
/* f075d00: 0fc63843 */ jal mpGetChrFromPlayerIndex
/* f075d04: afa70070 */ sw $a3,0x70($sp)
/* f075d08: 8fa30178 */ lw $v1,0x178($sp)
/* f075d0c: 10400002 */ beqz $v0,.PF0f075d18
/* f075d10: 8fa70070 */ lw $a3,0x70($sp)
/* f075d14: 8c43001c */ lw $v1,0x1c($v0)
.PF0f075d18:
/* f075d18: 3c028007 */ lui $v0,0x8007
/* f075d1c: 8c429610 */ lw $v0,-0x69f0($v0)
/* f075d20: 3c0f8007 */ lui $t7,0x8007
/* f075d24: 3c0a800a */ lui $t2,0x800a
/* f075d28: 8c440004 */ lw $a0,0x4($v0)
/* f075d2c: 3c0c800a */ lui $t4,0x800a
/* f075d30: 3c0e8007 */ lui $t6,0x8007
/* f075d34: 8dce9618 */ lw $t6,-0x69e8($t6)
/* f075d38: 8d8cd3d0 */ lw $t4,-0x2c30($t4)
/* f075d3c: 8d4ad3d4 */ lw $t2,-0x2c2c($t2)
/* f075d40: 8def9614 */ lw $t7,-0x69ec($t7)
/* f075d44: 3c198007 */ lui $t9,0x8007
/* f075d48: 2739961c */ addiu $t9,$t9,-27108
/* f075d4c: 3c06800a */ lui $a2,0x800a
/* f075d50: 24c6d3d8 */ addiu $a2,$a2,-11304
/* f075d54: afb90028 */ sw $t9,0x28($sp)
/* f075d58: afa30010 */ sw $v1,0x10($sp)
/* f075d5c: 3c054000 */ lui $a1,0x4000
/* f075d60: afa20018 */ sw $v0,0x18($sp)
/* f075d64: afae0024 */ sw $t6,0x24($sp)
/* f075d68: afac0020 */ sw $t4,0x20($sp)
/* f075d6c: afaa001c */ sw $t2,0x1c($sp)
/* f075d70: 0fc0d0d1 */ jal func0f0341dc
/* f075d74: afaf0014 */ sw $t7,0x14($sp)
/* f075d78: 1000002f */ b .PF0f075e38
/* f075d7c: 02202025 */ move $a0,$s1
.PF0f075d80:
/* f075d80: 24010001 */ li $at,0x1
.PF0f075d84:
/* f075d84: 10410003 */ beq $v0,$at,.PF0f075d94
/* f075d88: 8fa60068 */ lw $a2,0x68($sp)
/* f075d8c: 24010004 */ li $at,0x4
/* f075d90: 14410028 */ bne $v0,$at,.PF0f075e34
.PF0f075d94:
/* f075d94: 3c188007 */ lui $t8,0x8007
/* f075d98: 8f189624 */ lw $t8,-0x69dc($t8)
/* f075d9c: 26490008 */ addiu $t1,$s2,0x8
/* f075da0: afa90070 */ sw $t1,0x70($sp)
/* f075da4: 24012710 */ li $at,0x2710
/* f075da8: 1701001d */ bne $t8,$at,.PF0f075e20
/* f075dac: 8cc40004 */ lw $a0,0x4($a2)
/* f075db0: 8c8d0010 */ lw $t5,0x10($a0)
/* f075db4: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f075db8: 3c07800a */ lui $a3,0x800a
/* f075dbc: 31ab1000 */ andi $t3,$t5,0x1000
/* f075dc0: 11600005 */ beqz $t3,.PF0f075dd8
/* f075dc4: 3c0f800a */ lui $t7,0x800a
/* f075dc8: 3c014080 */ lui $at,0x4080
/* f075dcc: 44810000 */ mtc1 $at,$f0
/* f075dd0: 10000004 */ b .PF0f075de4
/* f075dd4: 00000000 */ nop
.PF0f075dd8:
/* f075dd8: 3c014100 */ lui $at,0x4100
/* f075ddc: 44810000 */ mtc1 $at,$f0
/* f075de0: 00000000 */ nop
.PF0f075de4:
/* f075de4: 3c0a8007 */ lui $t2,0x8007
/* f075de8: 8d4a9618 */ lw $t2,-0x69e8($t2)
/* f075dec: 8defd3d0 */ lw $t7,-0x2c30($t7)
/* f075df0: 3c0c8007 */ lui $t4,0x8007
/* f075df4: 258c961c */ addiu $t4,$t4,-27108
/* f075df8: 44050000 */ mfc1 $a1,$f0
/* f075dfc: afac0018 */ sw $t4,0x18($sp)
/* f075e00: 8ce7d3d4 */ lw $a3,-0x2c2c($a3)
/* f075e04: afaa0014 */ sw $t2,0x14($sp)
/* f075e08: 0fc0a428 */ jal shieldhitCreate
/* f075e0c: afaf0010 */ sw $t7,0x10($sp)
/* f075e10: 3c0e8007 */ lui $t6,0x8007
/* f075e14: 8dce9610 */ lw $t6,-0x69f0($t6)
/* f075e18: 9227005c */ lbu $a3,0x5c($s1)
/* f075e1c: 8dc40004 */ lw $a0,0x4($t6)
.PF0f075e20:
/* f075e20: 8fb9017c */ lw $t9,0x17c($sp)
/* f075e24: 3c0542c8 */ lui $a1,0x42c8
/* f075e28: 8fa60070 */ lw $a2,0x70($sp)
/* f075e2c: 0fc2153f */ jal objDamage
/* f075e30: afb90010 */ sw $t9,0x10($sp)
.PF0f075e34:
/* f075e34: 02202025 */ move $a0,$s1
.PF0f075e38:
/* f075e38: 24050001 */ li $a1,0x1
/* f075e3c: 0fc1a7be */ jal func0f069c70
/* f075e40: 24060001 */ li $a2,0x1
/* f075e44: 1000003d */ b .PF0f075f3c
/* f075e48: a6200062 */ sh $zero,0x62($s1)
.PF0f075e4c:
/* f075e4c: 91220000 */ lbu $v0,0x0($t1)
/* f075e50: 24010003 */ li $at,0x3
/* f075e54: 8fa60068 */ lw $a2,0x68($sp)
/* f075e58: 10410006 */ beq $v0,$at,.PF0f075e74
/* f075e5c: 8fad01f4 */ lw $t5,0x1f4($sp)
/* f075e60: 24010006 */ li $at,0x6
/* f075e64: 54410012 */ bnel $v0,$at,.PF0f075eb0
/* f075e68: 24010001 */ li $at,0x1
/* f075e6c: 8d380004 */ lw $t8,0x4($t1)
/* f075e70: 1300000e */ beqz $t8,.PF0f075eac
.PF0f075e74:
/* f075e74: 3c0b8007 */ lui $t3,0x8007
/* f075e78: 8d6b9618 */ lw $t3,-0x69e8($t3)
/* f075e7c: 3c0f8007 */ lui $t7,0x8007
/* f075e80: 8da40004 */ lw $a0,0x4($t5)
/* f075e84: 25ef961c */ addiu $t7,$t7,-27108
/* f075e88: 3c05800a */ lui $a1,0x800a
/* f075e8c: 3c07800a */ lui $a3,0x800a
/* f075e90: 8ce7d3d0 */ lw $a3,-0x2c30($a3)
/* f075e94: 8ca5d3d4 */ lw $a1,-0x2c2c($a1)
/* f075e98: afaf0014 */ sw $t7,0x14($sp)
/* f075e9c: 0fc0d07a */ jal func0f034080
/* f075ea0: afab0010 */ sw $t3,0x10($sp)
/* f075ea4: 10000026 */ b .PF0f075f40
/* f075ea8: 8faf034c */ lw $t7,0x34c($sp)
.PF0f075eac:
/* f075eac: 24010001 */ li $at,0x1
.PF0f075eb0:
/* f075eb0: 10410004 */ beq $v0,$at,.PF0f075ec4
/* f075eb4: 3c0a8007 */ lui $t2,0x8007
/* f075eb8: 24010004 */ li $at,0x4
/* f075ebc: 54410020 */ bnel $v0,$at,.PF0f075f40
/* f075ec0: 8faf034c */ lw $t7,0x34c($sp)
.PF0f075ec4:
/* f075ec4: 8d4a9624 */ lw $t2,-0x69dc($t2)
/* f075ec8: 24012710 */ li $at,0x2710
/* f075ecc: 8fac01f4 */ lw $t4,0x1f4($sp)
/* f075ed0: 1541001a */ bne $t2,$at,.PF0f075f3c
/* f075ed4: 8fa60068 */ lw $a2,0x68($sp)
/* f075ed8: 8d8e0004 */ lw $t6,0x4($t4)
/* f075edc: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f075ee0: 3c07800a */ lui $a3,0x800a
/* f075ee4: 8dd90010 */ lw $t9,0x10($t6)
/* f075ee8: 3c18800a */ lui $t8,0x800a
/* f075eec: 3c0d8007 */ lui $t5,0x8007
/* f075ef0: 33291000 */ andi $t1,$t9,0x1000
/* f075ef4: 11200005 */ beqz $t1,.PF0f075f0c
/* f075ef8: 3c0b8007 */ lui $t3,0x8007
/* f075efc: 3c014080 */ lui $at,0x4080
/* f075f00: 44810000 */ mtc1 $at,$f0
/* f075f04: 10000004 */ b .PF0f075f18
/* f075f08: 00000000 */ nop
.PF0f075f0c:
/* f075f0c: 3c014100 */ lui $at,0x4100
/* f075f10: 44810000 */ mtc1 $at,$f0
/* f075f14: 00000000 */ nop
.PF0f075f18:
/* f075f18: 8f18d3d0 */ lw $t8,-0x2c30($t8)
/* f075f1c: 8dad9618 */ lw $t5,-0x69e8($t5)
/* f075f20: 44050000 */ mfc1 $a1,$f0
/* f075f24: 256b961c */ addiu $t3,$t3,-27108
/* f075f28: afab0018 */ sw $t3,0x18($sp)
/* f075f2c: 8ce7d3d4 */ lw $a3,-0x2c2c($a3)
/* f075f30: afb80010 */ sw $t8,0x10($sp)
/* f075f34: 0fc0a428 */ jal shieldhitCreate
/* f075f38: afad0014 */ sw $t5,0x14($sp)
.PF0f075f3c:
/* f075f3c: 8faf034c */ lw $t7,0x34c($sp)
.PF0f075f40:
/* f075f40: 8faa01f8 */ lw $t2,0x1f8($sp)
/* f075f44: 55e000bb */ bnezl $t7,.PF0f076234
/* f075f48: 8faa034c */ lw $t2,0x34c($sp)
/* f075f4c: 114000b8 */ beqz $t2,.PF0f076230
/* f075f50: 240c0001 */ li $t4,0x1
/* f075f54: afac034c */ sw $t4,0x34c($sp)
/* f075f58: 02202025 */ move $a0,$s1
/* f075f5c: 24050001 */ li $a1,0x1
/* f075f60: 0fc1a7be */ jal func0f069c70
/* f075f64: 24060001 */ li $a2,0x1
/* f075f68: 922e0003 */ lbu $t6,0x3($s1)
/* f075f6c: 24010008 */ li $at,0x8
/* f075f70: 55c100ab */ bnel $t6,$at,.PF0f076220
/* f075f74: 02402025 */ move $a0,$s2
/* f075f78: 9227005c */ lbu $a3,0x5c($s1)
/* f075f7c: 24010056 */ li $at,0x56
/* f075f80: 10e10003 */ beq $a3,$at,.PF0f075f90
/* f075f84: 2401001a */ li $at,0x1a
/* f075f88: 54e100a5 */ bnel $a3,$at,.PF0f076220
/* f075f8c: 02402025 */ move $a0,$s2
.PF0f075f90:
/* f075f90: 8e390048 */ lw $t9,0x48($s1)
/* f075f94: 8f240088 */ lw $a0,0x88($t9)
/* f075f98: 5080006b */ beqzl $a0,.PF0f076148
/* f075f9c: 8fae01f4 */ lw $t6,0x1f4($sp)
/* f075fa0: 90890000 */ lbu $t1,0x0($a0)
/* f075fa4: 24010006 */ li $at,0x6
/* f075fa8: 3c18800a */ lui $t8,0x800a
/* f075fac: 15210065 */ bne $t1,$at,.PF0f076144
/* f075fb0: 2627005c */ addiu $a3,$s1,0x5c
/* f075fb4: 8f18a79c */ lw $t8,-0x5864($t8)
/* f075fb8: afa70070 */ sw $a3,0x70($sp)
/* f075fbc: 0fc4a513 */ jal propGetPlayerNum
/* f075fc0: afb80164 */ sw $t8,0x164($sp)
/* f075fc4: 0fc4a4ff */ jal setCurrentPlayerNum
/* f075fc8: 00402025 */ move $a0,$v0
/* f075fcc: 8fa40070 */ lw $a0,0x70($sp)
/* f075fd0: 0fc2c238 */ jal mpstatsIncrementPlayerShotCount
/* f075fd4: 00002825 */ move $a1,$zero
/* f075fd8: 3c058007 */ lui $a1,0x8007
/* f075fdc: 8ca59610 */ lw $a1,-0x69f0($a1)
/* f075fe0: 8fa70070 */ lw $a3,0x70($sp)
/* f075fe4: 10a00055 */ beqz $a1,.PF0f07613c
/* f075fe8: 00000000 */ nop
/* f075fec: 90a20000 */ lbu $v0,0x0($a1)
/* f075ff0: 24010001 */ li $at,0x1
/* f075ff4: 5441000c */ bnel $v0,$at,.PF0f076028
/* f075ff8: 24010003 */ li $at,0x3
/* f075ffc: 8ca40004 */ lw $a0,0x4($a1)
/* f076000: 0fc21afe */ jal objIsHealthy
/* f076004: afa70070 */ sw $a3,0x70($sp)
/* f076008: 1040004c */ beqz $v0,.PF0f07613c
/* f07600c: 8fa70070 */ lw $a3,0x70($sp)
/* f076010: 00e02025 */ move $a0,$a3
/* f076014: 0fc2c238 */ jal mpstatsIncrementPlayerShotCount
/* f076018: 24050006 */ li $a1,0x6
/* f07601c: 10000047 */ b .PF0f07613c
/* f076020: 00000000 */ nop
/* f076024: 24010003 */ li $at,0x3
.PF0f076028:
/* f076028: 10410003 */ beq $v0,$at,.PF0f076038
/* f07602c: 24010006 */ li $at,0x6
/* f076030: 14410042 */ bne $v0,$at,.PF0f07613c
/* f076034: 00000000 */ nop
.PF0f076038:
/* f076038: 8ca30004 */ lw $v1,0x4($a1)
/* f07603c: 00003025 */ move $a2,$zero
/* f076040: 00a02025 */ move $a0,$a1
/* f076044: 50600007 */ beqzl $v1,.PF0f076064
/* f076048: 24010006 */ li $at,0x6
/* f07604c: 806d0007 */ lb $t5,0x7($v1)
/* f076050: 24010005 */ li $at,0x5
/* f076054: 55a10003 */ bnel $t5,$at,.PF0f076064
/* f076058: 24010006 */ li $at,0x6
/* f07605c: 24060001 */ li $a2,0x1
/* f076060: 24010006 */ li $at,0x6
.PF0f076064:
/* f076064: 1441000e */ bne $v0,$at,.PF0f0760a0
/* f076068: 00000000 */ nop
/* f07606c: afa6015c */ sw $a2,0x15c($sp)
/* f076070: 0fc4a513 */ jal propGetPlayerNum
/* f076074: afa70070 */ sw $a3,0x70($sp)
/* f076078: 00025880 */ sll $t3,$v0,0x2
/* f07607c: 3c0f800a */ lui $t7,0x800a
/* f076080: 01eb7821 */ addu $t7,$t7,$t3
/* f076084: 8defa574 */ lw $t7,-0x5a8c($t7)
/* f076088: 8fa6015c */ lw $a2,0x15c($sp)
/* f07608c: 8fa70070 */ lw $a3,0x70($sp)
/* f076090: 8dea00d8 */ lw $t2,0xd8($t7)
/* f076094: 11400002 */ beqz $t2,.PF0f0760a0
/* f076098: 00000000 */ nop
/* f07609c: 24060001 */ li $a2,0x1
.PF0f0760a0:
/* f0760a0: 14c00026 */ bnez $a2,.PF0f07613c
/* f0760a4: 3c0c8007 */ lui $t4,0x8007
/* f0760a8: 8d8c9614 */ lw $t4,-0x69ec($t4)
/* f0760ac: 24010007 */ li $at,0x7
/* f0760b0: 11800022 */ beqz $t4,.PF0f07613c
/* f0760b4: afac0088 */ sw $t4,0x88($sp)
/* f0760b8: 1181001a */ beq $t4,$at,.PF0f076124
/* f0760bc: 00e02025 */ move $a0,$a3
/* f0760c0: 24010008 */ li $at,0x8
/* f0760c4: 1181000b */ beq $t4,$at,.PF0f0760f4
/* f0760c8: 24050001 */ li $a1,0x1
/* f0760cc: 2401000f */ li $at,0xf
/* f0760d0: 11810014 */ beq $t4,$at,.PF0f076124
/* f0760d4: 24010064 */ li $at,0x64
/* f0760d8: 1181000a */ beq $t4,$at,.PF0f076104
/* f0760dc: 00e02025 */ move $a0,$a3
/* f0760e0: 2401006e */ li $at,0x6e
/* f0760e4: 1181000b */ beq $t4,$at,.PF0f076114
/* f0760e8: 00e02025 */ move $a0,$a3
/* f0760ec: 10000011 */ b .PF0f076134
/* f0760f0: 00e02025 */ move $a0,$a3
.PF0f0760f4:
/* f0760f4: 0fc2c238 */ jal mpstatsIncrementPlayerShotCount
/* f0760f8: 00e02025 */ move $a0,$a3
/* f0760fc: 1000000f */ b .PF0f07613c
/* f076100: 00000000 */ nop
.PF0f076104:
/* f076104: 0fc2c238 */ jal mpstatsIncrementPlayerShotCount
/* f076108: 24050004 */ li $a1,0x4
/* f07610c: 1000000b */ b .PF0f07613c
/* f076110: 00000000 */ nop
.PF0f076114:
/* f076114: 0fc2c238 */ jal mpstatsIncrementPlayerShotCount
/* f076118: 24050005 */ li $a1,0x5
/* f07611c: 10000007 */ b .PF0f07613c
/* f076120: 00000000 */ nop
.PF0f076124:
/* f076124: 0fc2c238 */ jal mpstatsIncrementPlayerShotCount
/* f076128: 24050002 */ li $a1,0x2
/* f07612c: 10000003 */ b .PF0f07613c
/* f076130: 00000000 */ nop
.PF0f076134:
/* f076134: 0fc2c238 */ jal mpstatsIncrementPlayerShotCount
/* f076138: 24050003 */ li $a1,0x3
.PF0f07613c:
/* f07613c: 0fc4a4ff */ jal setCurrentPlayerNum
/* f076140: 8fa40164 */ lw $a0,0x164($sp)
.PF0f076144:
/* f076144: 8fae01f4 */ lw $t6,0x1f4($sp)
.PF0f076148:
/* f076148: 51c0000a */ beqzl $t6,.PF0f076174
/* f07614c: 8e390048 */ lw $t9,0x48($s1)
/* f076150: 91c20000 */ lbu $v0,0x0($t6)
/* f076154: 24010001 */ li $at,0x1
/* f076158: 10410005 */ beq $v0,$at,.PF0f076170
/* f07615c: 24010004 */ li $at,0x4
/* f076160: 10410003 */ beq $v0,$at,.PF0f076170
/* f076164: 24010002 */ li $at,0x2
/* f076168: 5441002d */ bnel $v0,$at,.PF0f076220
/* f07616c: 02402025 */ move $a0,$s2
.PF0f076170:
/* f076170: 8e390048 */ lw $t9,0x48($s1)
.PF0f076174:
/* f076174: c6080004 */ lwc1 $f8,0x4($s0)
/* f076178: 27a40150 */ addiu $a0,$sp,0x150
/* f07617c: 8f220088 */ lw $v0,0x88($t9)
/* f076180: e7a80150 */ swc1 $f8,0x150($sp)
/* f076184: c60a0008 */ lwc1 $f10,0x8($s0)
/* f076188: 27a50154 */ addiu $a1,$sp,0x154
/* f07618c: 27a60158 */ addiu $a2,$sp,0x158
/* f076190: e7aa0154 */ swc1 $f10,0x154($sp)
/* f076194: c606000c */ lwc1 $f6,0xc($s0)
/* f076198: afa2014c */ sw $v0,0x14c($sp)
/* f07619c: 0c0011d8 */ jal guNormalize
/* f0761a0: e7a60158 */ swc1 $f6,0x158($sp)
/* f0761a4: 8fa2014c */ lw $v0,0x14c($sp)
/* f0761a8: 50400005 */ beqzl $v0,.PF0f0761c0
/* f0761ac: afa00088 */ sw $zero,0x88($sp)
/* f0761b0: 8c490004 */ lw $t1,0x4($v0)
/* f0761b4: 10000002 */ b .PF0f0761c0
/* f0761b8: afa90088 */ sw $t1,0x88($sp)
/* f0761bc: afa00088 */ sw $zero,0x88($sp)
.PF0f0761c0:
/* f0761c0: 0fc4fc06 */ jal chrIsUsingPaintball
/* f0761c4: 8fa40088 */ lw $a0,0x88($sp)
/* f0761c8: 1040000c */ beqz $v0,.PF0f0761fc
/* f0761cc: 02402825 */ move $a1,$s2
/* f0761d0: 86440028 */ lh $a0,0x28($s2)
/* f0761d4: 27b805f4 */ addiu $t8,$sp,0x5f4
/* f0761d8: 240d0019 */ li $t5,0x19
/* f0761dc: afad0014 */ sw $t5,0x14($sp)
/* f0761e0: afb80010 */ sw $t8,0x10($sp)
/* f0761e4: 02402825 */ move $a1,$s2
/* f0761e8: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f0761ec: 0fc4c159 */ jal sparksCreate
/* f0761f0: 27a70150 */ addiu $a3,$sp,0x150
/* f0761f4: 1000000a */ b .PF0f076220
/* f0761f8: 02402025 */ move $a0,$s2
.PF0f0761fc:
/* f0761fc: 86440028 */ lh $a0,0x28($s2)
/* f076200: 27ab05f4 */ addiu $t3,$sp,0x5f4
/* f076204: 240f0010 */ li $t7,0x10
/* f076208: afaf0014 */ sw $t7,0x14($sp)
/* f07620c: afab0010 */ sw $t3,0x10($sp)
/* f076210: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f076214: 0fc4c159 */ jal sparksCreate
/* f076218: 27a70150 */ addiu $a3,$sp,0x150
/* f07621c: 02402025 */ move $a0,$s2
.PF0f076220:
/* f076220: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f076224: 27a605f4 */ addiu $a2,$sp,0x5f4
/* f076228: 0fc1bcca */ jal func0f06f0a0
/* f07622c: 8fa7060c */ lw $a3,0x60c($sp)
.PF0f076230:
/* f076230: 8faa034c */ lw $t2,0x34c($sp)
.PF0f076234:
/* f076234: 8fac0600 */ lw $t4,0x600($sp)
/* f076238: 55400038 */ bnezl $t2,.PF0f07631c
/* f07623c: 8fae034c */ lw $t6,0x34c($sp)
/* f076240: 11800012 */ beqz $t4,.PF0f07628c
/* f076244: 26440008 */ addiu $a0,$s2,0x8
/* f076248: 8fa5006c */ lw $a1,0x6c($sp)
/* f07624c: 27a605dc */ addiu $a2,$sp,0x5dc
/* f076250: 0fc19841 */ jal func0f065e74
/* f076254: 27a7013c */ addiu $a3,$sp,0x13c
/* f076258: c7a405dc */ lwc1 $f4,0x5dc($sp)
/* f07625c: 02402025 */ move $a0,$s2
/* f076260: e6440008 */ swc1 $f4,0x8($s2)
/* f076264: c7a805e0 */ lwc1 $f8,0x5e0($sp)
/* f076268: e648000c */ swc1 $f8,0xc($s2)
/* f07626c: c7aa05e4 */ lwc1 $f10,0x5e4($sp)
/* f076270: 0fc197b5 */ jal propDeregisterRooms
/* f076274: e64a0010 */ swc1 $f10,0x10($s2)
/* f076278: 27a4013c */ addiu $a0,$sp,0x13c
/* f07627c: 0fc1968d */ jal roomsCopy
/* f076280: 8fa5006c */ lw $a1,0x6c($sp)
/* f076284: 10000025 */ b .PF0f07631c
/* f076288: 8fae034c */ lw $t6,0x34c($sp)
.PF0f07628c:
/* f07628c: 3c038007 */ lui $v1,0x8007
/* f076290: 8c639610 */ lw $v1,-0x69f0($v1)
/* f076294: c7a805e8 */ lwc1 $f8,0x5e8($sp)
/* f076298: 27a605dc */ addiu $a2,$sp,0x5dc
/* f07629c: 1060000c */ beqz $v1,.PF0f0762d0
/* f0762a0: 27a7012c */ addiu $a3,$sp,0x12c
/* f0762a4: 90620000 */ lbu $v0,0x0($v1)
/* f0762a8: 24010003 */ li $at,0x3
/* f0762ac: 10410003 */ beq $v0,$at,.PF0f0762bc
/* f0762b0: 24010006 */ li $at,0x6
/* f0762b4: 54410007 */ bnel $v0,$at,.PF0f0762d4
/* f0762b8: c7aa05ec */ lwc1 $f10,0x5ec($sp)
.PF0f0762bc:
/* f0762bc: c6460008 */ lwc1 $f6,0x8($s2)
/* f0762c0: e7a605dc */ swc1 $f6,0x5dc($sp)
/* f0762c4: c6440010 */ lwc1 $f4,0x10($s2)
/* f0762c8: 10000006 */ b .PF0f0762e4
/* f0762cc: e7a405e4 */ swc1 $f4,0x5e4($sp)
.PF0f0762d0:
/* f0762d0: c7aa05ec */ lwc1 $f10,0x5ec($sp)
.PF0f0762d4:
/* f0762d4: c7a605f0 */ lwc1 $f6,0x5f0($sp)
/* f0762d8: e7a805dc */ swc1 $f8,0x5dc($sp)
/* f0762dc: e7aa05e0 */ swc1 $f10,0x5e0($sp)
/* f0762e0: e7a605e4 */ swc1 $f6,0x5e4($sp)
.PF0f0762e4:
/* f0762e4: 0fc19841 */ jal func0f065e74
/* f0762e8: 8fa5006c */ lw $a1,0x6c($sp)
/* f0762ec: c7a405dc */ lwc1 $f4,0x5dc($sp)
/* f0762f0: 02402025 */ move $a0,$s2
/* f0762f4: e6440008 */ swc1 $f4,0x8($s2)
/* f0762f8: c7a805e0 */ lwc1 $f8,0x5e0($sp)
/* f0762fc: e648000c */ swc1 $f8,0xc($s2)
/* f076300: c7aa05e4 */ lwc1 $f10,0x5e4($sp)
/* f076304: 0fc197b5 */ jal propDeregisterRooms
/* f076308: e64a0010 */ swc1 $f10,0x10($s2)
/* f07630c: 27a4012c */ addiu $a0,$sp,0x12c
/* f076310: 0fc1968d */ jal roomsCopy
/* f076314: 8fa5006c */ lw $a1,0x6c($sp)
/* f076318: 8fae034c */ lw $t6,0x34c($sp)
.PF0f07631c:
/* f07631c: 55c003a4 */ bnezl $t6,.PF0f0771b0
/* f076320: 8fbf005c */ lw $ra,0x5c($sp)
/* f076324: 0fc1a361 */ jal objFindBboxRodata
/* f076328: 02202025 */ move $a0,$s1
/* f07632c: 00402025 */ move $a0,$v0
/* f076330: 0fc19afb */ jal func0f06695c
/* f076334: 8fa50074 */ lw $a1,0x74($sp)
/* f076338: e7a0037c */ swc1 $f0,0x37c($sp)
/* f07633c: c6460008 */ lwc1 $f6,0x8($s2)
/* f076340: 26270058 */ addiu $a3,$s1,0x58
/* f076344: 27b9012a */ addiu $t9,$sp,0x12a
/* f076348: e7a605ac */ swc1 $f6,0x5ac($sp)
/* f07634c: c644000c */ lwc1 $f4,0xc($s2)
/* f076350: 27a90380 */ addiu $t1,$sp,0x380
/* f076354: 27a405ac */ addiu $a0,$sp,0x5ac
/* f076358: 46002200 */ add.s $f8,$f4,$f0
/* f07635c: 8fa5006c */ lw $a1,0x6c($sp)
/* f076360: 27a60390 */ addiu $a2,$sp,0x390
/* f076364: e7a805b0 */ swc1 $f8,0x5b0($sp)
/* f076368: c64a0010 */ lwc1 $f10,0x10($s2)
/* f07636c: afa70074 */ sw $a3,0x74($sp)
/* f076370: afa90014 */ sw $t1,0x14($sp)
/* f076374: afb90010 */ sw $t9,0x10($sp)
/* f076378: 0c00a7b9 */ jal cd0002a5e4
/* f07637c: e7aa05b4 */ swc1 $f10,0x5b4($sp)
/* f076380: 00021c00 */ sll $v1,$v0,0x10
/* f076384: 1840002e */ blez $v0,.PF0f076440
/* f076388: 0003c403 */ sra $t8,$v1,0x10
/* f07638c: c646000c */ lwc1 $f6,0xc($s2)
/* f076390: c7a4037c */ lwc1 $f4,0x37c($sp)
/* f076394: c7aa0390 */ lwc1 $f10,0x390($sp)
/* f076398: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f07639c: 46043200 */ add.s $f8,$f6,$f4
/* f0763a0: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f0763a4: 27a605ac */ addiu $a2,$sp,0x5ac
/* f0763a8: 24070021 */ li $a3,0x21
/* f0763ac: 460a403c */ c.lt.s $f8,$f10
/* f0763b0: 240d0003 */ li $t5,0x3
/* f0763b4: 45020023 */ bc1fl .PF0f076444
/* f0763b8: 26440008 */ addiu $a0,$s2,0x8
/* f0763bc: afad0010 */ sw $t5,0x10($sp)
/* f0763c0: 0c00b526 */ jal cd0002db98
/* f0763c4: a7b8038e */ sh $t8,0x38e($sp)
/* f0763c8: 1440001d */ bnez $v0,.PF0f076440
/* f0763cc: 87a3038e */ lh $v1,0x38e($sp)
/* f0763d0: c7a60380 */ lwc1 $f6,0x380($sp)
/* f0763d4: c7a40384 */ lwc1 $f4,0x384($sp)
/* f0763d8: c7a80388 */ lwc1 $f8,0x388($sp)
/* f0763dc: 240b0001 */ li $t3,0x1
/* f0763e0: afab0354 */ sw $t3,0x354($sp)
/* f0763e4: 27a405f4 */ addiu $a0,$sp,0x5f4
/* f0763e8: 27a505f8 */ addiu $a1,$sp,0x5f8
/* f0763ec: 27a605fc */ addiu $a2,$sp,0x5fc
/* f0763f0: a7a3038e */ sh $v1,0x38e($sp)
/* f0763f4: e7a605f4 */ swc1 $f6,0x5f4($sp)
/* f0763f8: e7a405f8 */ swc1 $f4,0x5f8($sp)
/* f0763fc: 0c0011d8 */ jal guNormalize
/* f076400: e7a805fc */ swc1 $f8,0x5fc($sp)
/* f076404: c64a0008 */ lwc1 $f10,0x8($s2)
/* f076408: c7a60390 */ lwc1 $f6,0x390($sp)
/* f07640c: 97af012a */ lhu $t7,0x12a($sp)
/* f076410: e7aa05e8 */ swc1 $f10,0x5e8($sp)
/* f076414: e7a605ec */ swc1 $f6,0x5ec($sp)
/* f076418: c6440010 */ lwc1 $f4,0x10($s2)
/* f07641c: 31ea4000 */ andi $t2,$t7,0x4000
/* f076420: 87a3038e */ lh $v1,0x38e($sp)
/* f076424: afa00600 */ sw $zero,0x600($sp)
/* f076428: 1140003d */ beqz $t2,.PF0f076520
/* f07642c: e7a405f0 */ swc1 $f4,0x5f0($sp)
/* f076430: 8e2c0040 */ lw $t4,0x40($s1)
/* f076434: 358e0004 */ ori $t6,$t4,0x4
/* f076438: 10000039 */ b .PF0f076520
/* f07643c: ae2e0040 */ sw $t6,0x40($s1)
.PF0f076440:
/* f076440: 26440008 */ addiu $a0,$s2,0x8
.PF0f076444:
/* f076444: 27b90380 */ addiu $t9,$sp,0x380
/* f076448: afb90010 */ sw $t9,0x10($sp)
/* f07644c: afa40070 */ sw $a0,0x70($sp)
/* f076450: 8fa5006c */ lw $a1,0x6c($sp)
/* f076454: 27a60390 */ addiu $a2,$sp,0x390
/* f076458: 8fa70074 */ lw $a3,0x74($sp)
/* f07645c: 0c00a799 */ jal cd0002a564
/* f076460: afa00014 */ sw $zero,0x14($sp)
/* f076464: 00021c00 */ sll $v1,$v0,0x10
/* f076468: 00034c03 */ sra $t1,$v1,0x10
/* f07646c: 1c40002c */ bgtz $v0,.PF0f076520
/* f076470: 01201825 */ move $v1,$t1
/* f076474: 8e020000 */ lw $v0,0x0($s0)
/* f076478: 30580004 */ andi $t8,$v0,0x4
/* f07647c: 17000028 */ bnez $t8,.PF0f076520
/* f076480: 00026bc0 */ sll $t5,$v0,0xf
/* f076484: 05a0000c */ bltz $t5,.PF0f0764b8
/* f076488: 3c010001 */ lui $at,0x1
/* f07648c: 00415825 */ or $t3,$v0,$at
/* f076490: ae0b0000 */ sw $t3,0x0($s0)
/* f076494: a7a9038e */ sh $t1,0x38e($sp)
/* f076498: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f07649c: 0c00a740 */ jal cd0002a400
/* f0764a0: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f0764a4: 18400004 */ blez $v0,.PF0f0764b8
/* f0764a8: 87a3038e */ lh $v1,0x38e($sp)
/* f0764ac: 8e0f0000 */ lw $t7,0x0($s0)
/* f0764b0: 35ea8000 */ ori $t2,$t7,0x8000
/* f0764b4: ae0a0000 */ sw $t2,0x0($s0)
.PF0f0764b8:
/* f0764b8: 8e0c0000 */ lw $t4,0x0($s0)
/* f0764bc: c7a805c8 */ lwc1 $f8,0x5c8($sp)
/* f0764c0: 318e8000 */ andi $t6,$t4,0x8000
/* f0764c4: 11c00016 */ beqz $t6,.PF0f076520
/* f0764c8: 00000000 */ nop
/* f0764cc: e6480008 */ swc1 $f8,0x8($s2)
/* f0764d0: c7aa05cc */ lwc1 $f10,0x5cc($sp)
/* f0764d4: 02402025 */ move $a0,$s2
/* f0764d8: e64a000c */ swc1 $f10,0xc($s2)
/* f0764dc: c7a605d0 */ lwc1 $f6,0x5d0($sp)
/* f0764e0: 0fc197b5 */ jal propDeregisterRooms
/* f0764e4: e6460010 */ swc1 $f6,0x10($s2)
/* f0764e8: 27a405b8 */ addiu $a0,$sp,0x5b8
/* f0764ec: 0fc1968d */ jal roomsCopy
/* f0764f0: 8fa5006c */ lw $a1,0x6c($sp)
/* f0764f4: 8fa40070 */ lw $a0,0x70($sp)
/* f0764f8: 8fa5006c */ lw $a1,0x6c($sp)
/* f0764fc: 27a60390 */ addiu $a2,$sp,0x390
/* f076500: 8fa70074 */ lw $a3,0x74($sp)
/* f076504: 0c00a750 */ jal cd0002a440
/* f076508: afa00010 */ sw $zero,0x10($sp)
/* f07650c: 00021c00 */ sll $v1,$v0,0x10
/* f076510: 0003cc03 */ sra $t9,$v1,0x10
/* f076514: 03201825 */ move $v1,$t9
/* f076518: e6140004 */ swc1 $f20,0x4($s0)
/* f07651c: e614000c */ swc1 $f20,0xc($s0)
.PF0f076520:
/* f076520: 18600004 */ blez $v1,.PF0f076534
/* f076524: 8e020000 */ lw $v0,0x0($s0)
/* f076528: 34498000 */ ori $t1,$v0,0x8000
/* f07652c: 10000005 */ b .PF0f076544
/* f076530: ae090000 */ sw $t1,0x0($s0)
.PF0f076534:
/* f076534: 3c01ffff */ lui $at,0xffff
/* f076538: 34217fff */ ori $at,$at,0x7fff
/* f07653c: 0041c024 */ and $t8,$v0,$at
/* f076540: ae180000 */ sw $t8,0x0($s0)
.PF0f076544:
/* f076544: 8fad0600 */ lw $t5,0x600($sp)
/* f076548: 55a000ac */ bnezl $t5,.PF0f0767fc
/* f07654c: 922b0003 */ lbu $t3,0x3($s1)
/* f076550: c60c0008 */ lwc1 $f12,0x8($s0)
/* f076554: c7a805cc */ lwc1 $f8,0x5cc($sp)
/* f076558: 4614603e */ c.le.s $f12,$f20
/* f07655c: 00000000 */ nop
/* f076560: 45020007 */ bc1fl .PF0f076580
/* f076564: 8e0b0000 */ lw $t3,0x0($s0)
/* f076568: c644000c */ lwc1 $f4,0xc($s2)
/* f07656c: 4604403e */ c.le.s $f8,$f4
/* f076570: 00000000 */ nop
/* f076574: 45030008 */ bc1tl .PF0f076598
/* f076578: 240c0001 */ li $t4,0x1
/* f07657c: 8e0b0000 */ lw $t3,0x0($s0)
.PF0f076580:
/* f076580: 8faa0354 */ lw $t2,0x354($sp)
/* f076584: 316f0004 */ andi $t7,$t3,0x4
/* f076588: 55e00005 */ bnezl $t7,.PF0f0765a0
/* f07658c: c612008c */ lwc1 $f18,0x8c($s0)
/* f076590: 11400002 */ beqz $t2,.PF0f07659c
/* f076594: 240c0001 */ li $t4,0x1
.PF0f076598:
/* f076598: afac0350 */ sw $t4,0x350($sp)
.PF0f07659c:
/* f07659c: c612008c */ lwc1 $f18,0x8c($s0)
.PF0f0765a0:
/* f0765a0: c7aa05f4 */ lwc1 $f10,0x5f4($sp)
/* f0765a4: 4612a03c */ c.lt.s $f20,$f18
/* f0765a8: 00000000 */ nop
/* f0765ac: 45020034 */ bc1fl .PF0f076680
/* f0765b0: 8fad0350 */ lw $t5,0x350($sp)
/* f0765b4: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0765b8: c7a405f8 */ lwc1 $f4,0x5f8($sp)
/* f0765bc: c602000c */ lwc1 $f2,0xc($s0)
/* f0765c0: 460a7182 */ mul.s $f6,$f14,$f10
/* f0765c4: 3c013f80 */ lui $at,0x3f80
/* f0765c8: 4614603e */ c.le.s $f12,$f20
/* f0765cc: 46046202 */ mul.s $f8,$f12,$f4
/* f0765d0: 46083100 */ add.s $f4,$f6,$f8
/* f0765d4: c7a605fc */ lwc1 $f6,0x5fc($sp)
/* f0765d8: 46023202 */ mul.s $f8,$f6,$f2
/* f0765dc: 44813000 */ mtc1 $at,$f6
/* f0765e0: 46044000 */ add.s $f0,$f8,$f4
/* f0765e4: 46069200 */ add.s $f8,$f18,$f6
/* f0765e8: 46004107 */ neg.s $f4,$f8
/* f0765ec: 46040002 */ mul.s $f0,$f0,$f4
/* f0765f0: 00000000 */ nop
/* f0765f4: 460a0182 */ mul.s $f6,$f0,$f10
/* f0765f8: 46067200 */ add.s $f8,$f14,$f6
/* f0765fc: e6080004 */ swc1 $f8,0x4($s0)
/* f076600: c7a405f8 */ lwc1 $f4,0x5f8($sp)
/* f076604: 46040282 */ mul.s $f10,$f0,$f4
/* f076608: 460a6180 */ add.s $f6,$f12,$f10
/* f07660c: e6060008 */ swc1 $f6,0x8($s0)
/* f076610: c7a805fc */ lwc1 $f8,0x5fc($sp)
/* f076614: 46080102 */ mul.s $f4,$f0,$f8
/* f076618: 46041280 */ add.s $f10,$f2,$f4
/* f07661c: 45000008 */ bc1f .PF0f076640
/* f076620: e60a000c */ swc1 $f10,0xc($s0)
/* f076624: c6060008 */ lwc1 $f6,0x8($s0)
/* f076628: 240e0001 */ li $t6,0x1
/* f07662c: 4606a03e */ c.le.s $f20,$f6
/* f076630: 00000000 */ nop
/* f076634: 45020003 */ bc1fl .PF0f076644
/* f076638: 92390003 */ lbu $t9,0x3($s1)
/* f07663c: afae0350 */ sw $t6,0x350($sp)
.PF0f076640:
/* f076640: 92390003 */ lbu $t9,0x3($s1)
.PF0f076644:
/* f076644: 24010008 */ li $at,0x8
/* f076648: 5721000d */ bnel $t9,$at,.PF0f076680
/* f07664c: 8fad0350 */ lw $t5,0x350($sp)
/* f076650: 9229005c */ lbu $t1,0x5c($s1)
/* f076654: 2401001e */ li $at,0x1e
/* f076658: 55210009 */ bnel $t1,$at,.PF0f076680
/* f07665c: 8fad0350 */ lw $t5,0x350($sp)
/* f076660: 9238005f */ lbu $t8,0x5f($s1)
/* f076664: 24010001 */ li $at,0x1
/* f076668: 02402025 */ move $a0,$s2
/* f07666c: 57010004 */ bnel $t8,$at,.PF0f076680
/* f076670: 8fad0350 */ lw $t5,0x350($sp)
/* f076674: 0fc4bc95 */ jal smokeCreateAtProp
/* f076678: 24050013 */ li $a1,0x13
/* f07667c: 8fad0350 */ lw $t5,0x350($sp)
.PF0f076680:
/* f076680: c7a805ec */ lwc1 $f8,0x5ec($sp)
/* f076684: c7a4037c */ lwc1 $f4,0x37c($sp)
/* f076688: 51a0000c */ beqzl $t5,.PF0f0766bc
/* f07668c: 8e0f0000 */ lw $t7,0x0($s0)
/* f076690: 46044281 */ sub.s $f10,$f8,$f4
/* f076694: e64a000c */ swc1 $f10,0xc($s2)
/* f076698: 8fab0354 */ lw $t3,0x354($sp)
/* f07669c: 51600007 */ beqzl $t3,.PF0f0766bc
/* f0766a0: 8e0f0000 */ lw $t7,0x0($s0)
/* f0766a4: 0fc1aa2a */ jal func0f06a620
/* f0766a8: 02202025 */ move $a0,$s1
/* f0766ac: c646000c */ lwc1 $f6,0xc($s2)
/* f0766b0: 46003200 */ add.s $f8,$f6,$f0
/* f0766b4: e648000c */ swc1 $f8,0xc($s2)
/* f0766b8: 8e0f0000 */ lw $t7,0x0($s0)
.PF0f0766bc:
/* f0766bc: 31ea0100 */ andi $t2,$t7,0x100
/* f0766c0: 5540000d */ bnezl $t2,.PF0f0766f8
/* f0766c4: 8e190090 */ lw $t9,0x90($s0)
/* f0766c8: 8e020094 */ lw $v0,0x94($s0)
/* f0766cc: 3c0c800a */ lui $t4,0x800a
/* f0766d0: 04400006 */ bltz $v0,.PF0f0766ec
/* f0766d4: 00000000 */ nop
/* f0766d8: 8d8ca518 */ lw $t4,-0x5ae8($t4)
/* f0766dc: 258effce */ addiu $t6,$t4,-50
/* f0766e0: 004e082a */ slt $at,$v0,$t6
/* f0766e4: 50200004 */ beqzl $at,.PF0f0766f8
/* f0766e8: 8e190090 */ lw $t9,0x90($s0)
.PF0f0766ec:
/* f0766ec: 0fc258a0 */ jal func0f096360
/* f0766f0: 8fa40064 */ lw $a0,0x64($sp)
/* f0766f4: 8e190090 */ lw $t9,0x90($s0)
.PF0f0766f8:
/* f0766f8: 3c18800a */ lui $t8,0x800a
/* f0766fc: 27290001 */ addiu $t1,$t9,0x1
/* f076700: ae090090 */ sw $t1,0x90($s0)
/* f076704: 8f18a518 */ lw $t8,-0x5ae8($t8)
/* f076708: ae180094 */ sw $t8,0x94($s0)
/* f07670c: 8e220040 */ lw $v0,0x40($s1)
/* f076710: 00026bc0 */ sll $t5,$v0,0xf
/* f076714: 05a00002 */ bltz $t5,.PF0f076720
/* f076718: 344b0100 */ ori $t3,$v0,0x100
/* f07671c: ae2b0040 */ sw $t3,0x40($s1)
.PF0f076720:
/* f076720: 8faf0350 */ lw $t7,0x350($sp)
/* f076724: 51e00035 */ beqzl $t7,.PF0f0767fc
/* f076728: 922b0003 */ lbu $t3,0x3($s1)
/* f07672c: 8e020000 */ lw $v0,0x0($s0)
/* f076730: 304a0004 */ andi $t2,$v0,0x4
/* f076734: 5540000d */ bnezl $t2,.PF0f07676c
/* f076738: c604008c */ lwc1 $f4,0x8c($s0)
/* f07673c: 8e0c0090 */ lw $t4,0x90($s0)
/* f076740: 8fae0354 */ lw $t6,0x354($sp)
/* f076744: 29810006 */ slti $at,$t4,0x6
/* f076748: 54200008 */ bnezl $at,.PF0f07676c
/* f07674c: c604008c */ lwc1 $f4,0x8c($s0)
/* f076750: 11c00029 */ beqz $t6,.PF0f0767f8
/* f076754: 02202025 */ move $a0,$s1
/* f076758: 0fc1b798 */ jal func0f06dbd8
/* f07675c: 27a50358 */ addiu $a1,$sp,0x358
/* f076760: 10000026 */ b .PF0f0767fc
/* f076764: 922b0003 */ lbu $t3,0x3($s1)
/* f076768: c604008c */ lwc1 $f4,0x8c($s0)
.PF0f07676c:
/* f07676c: 8fad0354 */ lw $t5,0x354($sp)
/* f076770: 4604a03c */ c.lt.s $f20,$f4
/* f076774: 00000000 */ nop
/* f076778: 4500001b */ bc1f .PF0f0767e8
/* f07677c: 00000000 */ nop
/* f076780: c60c0008 */ lwc1 $f12,0x8($s0)
/* f076784: 3c017f1b */ lui $at,0x7f1b
/* f076788: 460ca03e */ c.le.s $f20,$f12
/* f07678c: 00000000 */ nop
/* f076790: 4502001a */ bc1fl .PF0f0767fc
/* f076794: 922b0003 */ lbu $t3,0x3($s1)
/* f076798: c420b6b0 */ lwc1 $f0,-0x4950($at)
/* f07679c: 30590002 */ andi $t9,$v0,0x2
/* f0767a0: 4600603c */ c.lt.s $f12,$f0
/* f0767a4: 00000000 */ nop
/* f0767a8: 45020014 */ bc1fl .PF0f0767fc
/* f0767ac: 922b0003 */ lbu $t3,0x3($s1)
/* f0767b0: 13200007 */ beqz $t9,.PF0f0767d0
/* f0767b4: 8fb80354 */ lw $t8,0x354($sp)
/* f0767b8: 8e090090 */ lw $t1,0x90($s0)
/* f0767bc: 24010001 */ li $at,0x1
/* f0767c0: 15210003 */ bne $t1,$at,.PF0f0767d0
/* f0767c4: 00000000 */ nop
/* f0767c8: 1000000b */ b .PF0f0767f8
/* f0767cc: e6000008 */ swc1 $f0,0x8($s0)
.PF0f0767d0:
/* f0767d0: 13000009 */ beqz $t8,.PF0f0767f8
/* f0767d4: 02202025 */ move $a0,$s1
/* f0767d8: 0fc1b798 */ jal func0f06dbd8
/* f0767dc: 27a50358 */ addiu $a1,$sp,0x358
/* f0767e0: 10000006 */ b .PF0f0767fc
/* f0767e4: 922b0003 */ lbu $t3,0x3($s1)
.PF0f0767e8:
/* f0767e8: 11a00003 */ beqz $t5,.PF0f0767f8
/* f0767ec: 02202025 */ move $a0,$s1
/* f0767f0: 0fc1b798 */ jal func0f06dbd8
/* f0767f4: 27a50358 */ addiu $a1,$sp,0x358
.PF0f0767f8:
/* f0767f8: 922b0003 */ lbu $t3,0x3($s1)
.PF0f0767fc:
/* f0767fc: 24010008 */ li $at,0x8
/* f076800: 55610134 */ bnel $t3,$at,.PF0f076cd4
/* f076804: 02202025 */ move $a0,$s1
/* f076808: 9227005c */ lbu $a3,0x5c($s1)
/* f07680c: 2401001a */ li $at,0x1a
/* f076810: 54e1000a */ bnel $a3,$at,.PF0f07683c
/* f076814: 24010053 */ li $at,0x53
/* f076818: 922f005f */ lbu $t7,0x5f($s1)
/* f07681c: 24010001 */ li $at,0x1
/* f076820: 55e10006 */ bnel $t7,$at,.PF0f07683c
/* f076824: 24010053 */ li $at,0x53
/* f076828: 0fc1bac1 */ jal func0f06e87c
/* f07682c: 02202025 */ move $a0,$s1
/* f076830: 100000b0 */ b .PF0f076af4
/* f076834: 8fac0600 */ lw $t4,0x600($sp)
/* f076838: 24010053 */ li $at,0x53
.PF0f07683c:
/* f07683c: 14e10044 */ bne $a3,$at,.PF0f076950
/* f076840: 8faa0600 */ lw $t2,0x600($sp)
/* f076844: 55400004 */ bnezl $t2,.PF0f076858
/* f076848: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07684c: 100000a8 */ b .PF0f076af0
/* f076850: a6200062 */ sh $zero,0x62($s1)
/* f076854: c60e0004 */ lwc1 $f14,0x4($s0)
.PF0f076858:
/* f076858: c60c0008 */ lwc1 $f12,0x8($s0)
/* f07685c: c602000c */ lwc1 $f2,0xc($s0)
/* f076860: 460e7282 */ mul.s $f10,$f14,$f14
/* f076864: 3c017f1b */ lui $at,0x7f1b
/* f076868: 460c6182 */ mul.s $f6,$f12,$f12
/* f07686c: 46065200 */ add.s $f8,$f10,$f6
/* f076870: 46021102 */ mul.s $f4,$f2,$f2
/* f076874: c42ab6b4 */ lwc1 $f10,-0x494c($at)
/* f076878: 46082000 */ add.s $f0,$f4,$f8
/* f07687c: 4600503c */ c.lt.s $f10,$f0
/* f076880: 00000000 */ nop
/* f076884: 45020005 */ bc1fl .PF0f07689c
/* f076888: 860200b2 */ lh $v0,0xb2($s0)
/* f07688c: e6140010 */ swc1 $f20,0x10($s0)
/* f076890: e6140014 */ swc1 $f20,0x14($s0)
/* f076894: e6140018 */ swc1 $f20,0x18($s0)
/* f076898: 860200b2 */ lh $v0,0xb2($s0)
.PF0f07689c:
/* f07689c: 0442000c */ bltzl $v0,.PF0f0768d0
/* f0768a0: c6060004 */ lwc1 $f6,0x4($s0)
/* f0768a4: 8e0c00a0 */ lw $t4,0xa0($s0)
/* f0768a8: 004c082a */ slt $at,$v0,$t4
/* f0768ac: 50200008 */ beqzl $at,.PF0f0768d0
/* f0768b0: c6060004 */ lwc1 $f6,0x4($s0)
/* f0768b4: 8e0e0000 */ lw $t6,0x0($s0)
/* f0768b8: 2401ffcf */ li $at,-49
/* f0768bc: e614001c */ swc1 $f20,0x1c($s0)
/* f0768c0: 01c1c824 */ and $t9,$t6,$at
/* f0768c4: 1000008a */ b .PF0f076af0
/* f0768c8: ae190000 */ sw $t9,0x0($s0)
/* f0768cc: c6060004 */ lwc1 $f6,0x4($s0)
.PF0f0768d0:
/* f0768d0: 27a40108 */ addiu $a0,$sp,0x108
/* f0768d4: 27a5010c */ addiu $a1,$sp,0x10c
/* f0768d8: e7a60108 */ swc1 $f6,0x108($sp)
/* f0768dc: c6040008 */ lwc1 $f4,0x8($s0)
/* f0768e0: 27a60110 */ addiu $a2,$sp,0x110
/* f0768e4: e7a4010c */ swc1 $f4,0x10c($sp)
/* f0768e8: c608000c */ lwc1 $f8,0xc($s0)
/* f0768ec: 0c0011d8 */ jal guNormalize
/* f0768f0: e7a80110 */ swc1 $f8,0x110($sp)
/* f0768f4: 3c0141a0 */ lui $at,0x41a0
/* f0768f8: 44810000 */ mtc1 $at,$f0
/* f0768fc: c7a60108 */ lwc1 $f6,0x108($sp)
/* f076900: c64a0008 */ lwc1 $f10,0x8($s2)
/* f076904: 27a40108 */ addiu $a0,$sp,0x108
/* f076908: 46003102 */ mul.s $f4,$f6,$f0
/* f07690c: 8fa5006c */ lw $a1,0x6c($sp)
/* f076910: 24060008 */ li $a2,0x8
/* f076914: 46045201 */ sub.s $f8,$f10,$f4
/* f076918: c7aa010c */ lwc1 $f10,0x10c($sp)
/* f07691c: 46005102 */ mul.s $f4,$f10,$f0
/* f076920: e7a80108 */ swc1 $f8,0x108($sp)
/* f076924: c646000c */ lwc1 $f6,0xc($s2)
/* f076928: 46043201 */ sub.s $f8,$f6,$f4
/* f07692c: c7a60110 */ lwc1 $f6,0x110($sp)
/* f076930: 46003102 */ mul.s $f4,$f6,$f0
/* f076934: e7a8010c */ swc1 $f8,0x10c($sp)
/* f076938: c64a0010 */ lwc1 $f10,0x10($s2)
/* f07693c: 46045201 */ sub.s $f8,$f10,$f4
/* f076940: 0fc4bcd8 */ jal smokeCreateSimple
/* f076944: e7a80110 */ swc1 $f8,0x110($sp)
/* f076948: 1000006a */ b .PF0f076af4
/* f07694c: 8fac0600 */ lw $t4,0x600($sp)
.PF0f076950:
/* f076950: 24010054 */ li $at,0x54
/* f076954: 14e1000a */ bne $a3,$at,.PF0f076980
/* f076958: 8fa90600 */ lw $t1,0x600($sp)
/* f07695c: 15200003 */ bnez $t1,.PF0f07696c
/* f076960: 26440008 */ addiu $a0,$s2,0x8
/* f076964: 10000062 */ b .PF0f076af0
/* f076968: a6200062 */ sh $zero,0x62($s1)
.PF0f07696c:
/* f07696c: 8fa5006c */ lw $a1,0x6c($sp)
/* f076970: 0fc4bcd8 */ jal smokeCreateSimple
/* f076974: 2406000b */ li $a2,0xb
/* f076978: 1000005e */ b .PF0f076af4
/* f07697c: 8fac0600 */ lw $t4,0x600($sp)
.PF0f076980:
/* f076980: 24010055 */ li $at,0x55
/* f076984: 10e10006 */ beq $a3,$at,.PF0f0769a0
/* f076988: 2402001f */ li $v0,0x1f
/* f07698c: 54470059 */ bnel $v0,$a3,.PF0f076af4
/* f076990: 8fac0600 */ lw $t4,0x600($sp)
/* f076994: 9238005f */ lbu $t8,0x5f($s1)
/* f076998: 57000056 */ bnezl $t8,.PF0f076af4
/* f07699c: 8fac0600 */ lw $t4,0x600($sp)
.PF0f0769a0:
/* f0769a0: 8fad0350 */ lw $t5,0x350($sp)
/* f0769a4: 2402001f */ li $v0,0x1f
/* f0769a8: 15a00045 */ bnez $t5,.PF0f076ac0
/* f0769ac: 00000000 */ nop
/* f0769b0: 8e0b0000 */ lw $t3,0x0($s0)
/* f0769b4: 3c017f1b */ lui $at,0x7f1b
/* f0769b8: 316f0400 */ andi $t7,$t3,0x400
/* f0769bc: 15e00040 */ bnez $t7,.PF0f076ac0
/* f0769c0: 00000000 */ nop
/* f0769c4: c430b6b8 */ lwc1 $f16,-0x4948($at)
/* f0769c8: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0769cc: 3c017f1b */ lui $at,0x7f1b
/* f0769d0: c7aa05c8 */ lwc1 $f10,0x5c8($sp)
/* f0769d4: 4610703c */ c.lt.s $f14,$f16
/* f0769d8: 00000000 */ nop
/* f0769dc: 45020019 */ bc1fl .PF0f076a44
/* f0769e0: c6460008 */ lwc1 $f6,0x8($s2)
/* f0769e4: c432b6bc */ lwc1 $f18,-0x4944($at)
/* f0769e8: 460e903c */ c.lt.s $f18,$f14
/* f0769ec: 00000000 */ nop
/* f0769f0: 45020014 */ bc1fl .PF0f076a44
/* f0769f4: c6460008 */ lwc1 $f6,0x8($s2)
/* f0769f8: c60c0008 */ lwc1 $f12,0x8($s0)
/* f0769fc: 4610603c */ c.lt.s $f12,$f16
/* f076a00: 00000000 */ nop
/* f076a04: 4502000f */ bc1fl .PF0f076a44
/* f076a08: c6460008 */ lwc1 $f6,0x8($s2)
/* f076a0c: 460c903c */ c.lt.s $f18,$f12
/* f076a10: 00000000 */ nop
/* f076a14: 4502000b */ bc1fl .PF0f076a44
/* f076a18: c6460008 */ lwc1 $f6,0x8($s2)
/* f076a1c: c602000c */ lwc1 $f2,0xc($s0)
/* f076a20: 4610103c */ c.lt.s $f2,$f16
/* f076a24: 00000000 */ nop
/* f076a28: 45020006 */ bc1fl .PF0f076a44
/* f076a2c: c6460008 */ lwc1 $f6,0x8($s2)
/* f076a30: 4602903c */ c.lt.s $f18,$f2
/* f076a34: 00000000 */ nop
/* f076a38: 45010021 */ bc1t .PF0f076ac0
/* f076a3c: 00000000 */ nop
/* f076a40: c6460008 */ lwc1 $f6,0x8($s2)
.PF0f076a44:
/* f076a44: 3c017f1b */ lui $at,0x7f1b
/* f076a48: c432b6c0 */ lwc1 $f18,-0x4940($at)
/* f076a4c: 460a3001 */ sub.s $f0,$f6,$f10
/* f076a50: 4610003c */ c.lt.s $f0,$f16
/* f076a54: 00000000 */ nop
/* f076a58: 45000020 */ bc1f .PF0f076adc
/* f076a5c: 00000000 */ nop
/* f076a60: 4600903c */ c.lt.s $f18,$f0
/* f076a64: c7a805cc */ lwc1 $f8,0x5cc($sp)
/* f076a68: 4500001c */ bc1f .PF0f076adc
/* f076a6c: 00000000 */ nop
/* f076a70: c644000c */ lwc1 $f4,0xc($s2)
/* f076a74: 46082001 */ sub.s $f0,$f4,$f8
/* f076a78: 4610003c */ c.lt.s $f0,$f16
/* f076a7c: 00000000 */ nop
/* f076a80: 45000016 */ bc1f .PF0f076adc
/* f076a84: 00000000 */ nop
/* f076a88: 4600903c */ c.lt.s $f18,$f0
/* f076a8c: c7aa05d0 */ lwc1 $f10,0x5d0($sp)
/* f076a90: 45000012 */ bc1f .PF0f076adc
/* f076a94: 00000000 */ nop
/* f076a98: c6460010 */ lwc1 $f6,0x10($s2)
/* f076a9c: 460a3001 */ sub.s $f0,$f6,$f10
/* f076aa0: 4610003c */ c.lt.s $f0,$f16
/* f076aa4: 00000000 */ nop
/* f076aa8: 4500000c */ bc1f .PF0f076adc
/* f076aac: 00000000 */ nop
/* f076ab0: 4600903c */ c.lt.s $f18,$f0
/* f076ab4: 00000000 */ nop
/* f076ab8: 45000008 */ bc1f .PF0f076adc
/* f076abc: 00000000 */ nop
.PF0f076ac0:
/* f076ac0: 14470004 */ bne $v0,$a3,.PF0f076ad4
/* f076ac4: 00000000 */ nop
/* f076ac8: 862a0062 */ lh $t2,0x62($s1)
/* f076acc: 05420009 */ bltzl $t2,.PF0f076af4
/* f076ad0: 8fac0600 */ lw $t4,0x600($sp)
.PF0f076ad4:
/* f076ad4: 10000006 */ b .PF0f076af0
/* f076ad8: a6200062 */ sh $zero,0x62($s1)
.PF0f076adc:
/* f076adc: 10470004 */ beq $v0,$a3,.PF0f076af0
/* f076ae0: 26440008 */ addiu $a0,$s2,0x8
/* f076ae4: 8fa5006c */ lw $a1,0x6c($sp)
/* f076ae8: 0fc4bcd8 */ jal smokeCreateSimple
/* f076aec: 24060009 */ li $a2,0x9
.PF0f076af0:
/* f076af0: 8fac0600 */ lw $t4,0x600($sp)
.PF0f076af4:
/* f076af4: 3c03800a */ lui $v1,0x800a
/* f076af8: 55800076 */ bnezl $t4,.PF0f076cd4
/* f076afc: 02202025 */ move $a0,$s1
/* f076b00: 8c63a51c */ lw $v1,-0x5ae4($v1)
/* f076b04: 8e0e00a4 */ lw $t6,0xa4($s0)
/* f076b08: 2479fffe */ addiu $t9,$v1,-2
/* f076b0c: 01d9082a */ slt $at,$t6,$t9
/* f076b10: 5020006f */ beqzl $at,.PF0f076cd0
/* f076b14: ae0300a4 */ sw $v1,0xa4($s0)
/* f076b18: 9227005c */ lbu $a3,0x5c($s1)
/* f076b1c: 2401001a */ li $at,0x1a
/* f076b20: 00002025 */ move $a0,$zero
/* f076b24: 10e10003 */ beq $a3,$at,.PF0f076b34
/* f076b28: 02402825 */ move $a1,$s2
/* f076b2c: 2401001a */ li $at,0x1a
/* f076b30: 14e10015 */ bne $a3,$at,.PF0f076b88
.PF0f076b34:
/* f076b34: 3c01bf80 */ lui $at,0xbf80
/* f076b38: 44810000 */ mtc1 $at,$f0
/* f076b3c: 2409ffff */ li $t1,-1
/* f076b40: 2418ffff */ li $t8,-1
/* f076b44: afb8002c */ sw $t8,0x2c($sp)
/* f076b48: afa90010 */ sw $t1,0x10($sp)
/* f076b4c: 2406808b */ li $a2,-32629
/* f076b50: 2407ffff */ li $a3,-1
/* f076b54: afa00014 */ sw $zero,0x14($sp)
/* f076b58: afa00018 */ sw $zero,0x18($sp)
/* f076b5c: afa0001c */ sw $zero,0x1c($sp)
/* f076b60: afa00020 */ sw $zero,0x20($sp)
/* f076b64: afa00028 */ sw $zero,0x28($sp)
/* f076b68: e7a00024 */ swc1 $f0,0x24($sp)
/* f076b6c: e7a00030 */ swc1 $f0,0x30($sp)
/* f076b70: e7a00034 */ swc1 $f0,0x34($sp)
/* f076b74: 0fc24e3a */ jal func0f0939f8
/* f076b78: e7a00038 */ swc1 $f0,0x38($sp)
/* f076b7c: 3c03800a */ lui $v1,0x800a
/* f076b80: 10000052 */ b .PF0f076ccc
/* f076b84: 8c63a51c */ lw $v1,-0x5ae4($v1)
.PF0f076b88:
/* f076b88: 2401001e */ li $at,0x1e
/* f076b8c: 14e1003a */ bne $a3,$at,.PF0f076c78
/* f076b90: 00002025 */ move $a0,$zero
/* f076b94: 922d005f */ lbu $t5,0x5f($s1)
/* f076b98: 24010001 */ li $at,0x1
/* f076b9c: 3c0f8007 */ lui $t7,0x8007
/* f076ba0: 15a10035 */ bne $t5,$at,.PF0f076c78
/* f076ba4: 25ef9898 */ addiu $t7,$t7,-26472
/* f076ba8: 8de10000 */ lw $at,0x0($t7)
/* f076bac: 8dec0004 */ lw $t4,0x4($t7)
/* f076bb0: 27ab0100 */ addiu $t3,$sp,0x100
/* f076bb4: ad610000 */ sw $at,0x0($t3)
/* f076bb8: 0c004ad4 */ jal random
/* f076bbc: ad6c0004 */ sw $t4,0x4($t3)
/* f076bc0: 304e0003 */ andi $t6,$v0,0x3
/* f076bc4: 000ec840 */ sll $t9,$t6,0x1
/* f076bc8: 03b93021 */ addu $a2,$sp,$t9
/* f076bcc: 84c60100 */ lh $a2,0x100($a2)
/* f076bd0: 3c01bf80 */ lui $at,0xbf80
/* f076bd4: 44810000 */ mtc1 $at,$f0
/* f076bd8: 2409ffff */ li $t1,-1
/* f076bdc: 2418ffff */ li $t8,-1
/* f076be0: afb8002c */ sw $t8,0x2c($sp)
/* f076be4: afa90010 */ sw $t1,0x10($sp)
/* f076be8: afa00028 */ sw $zero,0x28($sp)
/* f076bec: afa00020 */ sw $zero,0x20($sp)
/* f076bf0: afa0001c */ sw $zero,0x1c($sp)
/* f076bf4: afa00018 */ sw $zero,0x18($sp)
/* f076bf8: afa00014 */ sw $zero,0x14($sp)
/* f076bfc: 00002025 */ move $a0,$zero
/* f076c00: 02402825 */ move $a1,$s2
/* f076c04: 2407ffff */ li $a3,-1
/* f076c08: e7a00024 */ swc1 $f0,0x24($sp)
/* f076c0c: e7a00030 */ swc1 $f0,0x30($sp)
/* f076c10: e7a00034 */ swc1 $f0,0x34($sp)
/* f076c14: 0fc24e3a */ jal func0f0939f8
/* f076c18: e7a00038 */ swc1 $f0,0x38($sp)
/* f076c1c: 3c01bf80 */ lui $at,0xbf80
/* f076c20: 44810000 */ mtc1 $at,$f0
/* f076c24: 240dffff */ li $t5,-1
/* f076c28: 240affff */ li $t2,-1
/* f076c2c: afaa002c */ sw $t2,0x2c($sp)
/* f076c30: afad0010 */ sw $t5,0x10($sp)
/* f076c34: 00002025 */ move $a0,$zero
/* f076c38: 02402825 */ move $a1,$s2
/* f076c3c: 2406808c */ li $a2,-32628
/* f076c40: 2407ffff */ li $a3,-1
/* f076c44: afa00014 */ sw $zero,0x14($sp)
/* f076c48: afa00018 */ sw $zero,0x18($sp)
/* f076c4c: afa0001c */ sw $zero,0x1c($sp)
/* f076c50: afa00020 */ sw $zero,0x20($sp)
/* f076c54: afa00028 */ sw $zero,0x28($sp)
/* f076c58: e7a00024 */ swc1 $f0,0x24($sp)
/* f076c5c: e7a00030 */ swc1 $f0,0x30($sp)
/* f076c60: e7a00034 */ swc1 $f0,0x34($sp)
/* f076c64: 0fc24e3a */ jal func0f0939f8
/* f076c68: e7a00038 */ swc1 $f0,0x38($sp)
/* f076c6c: 3c03800a */ lui $v1,0x800a
/* f076c70: 10000016 */ b .PF0f076ccc
/* f076c74: 8c63a51c */ lw $v1,-0x5ae4($v1)
.PF0f076c78:
/* f076c78: 3c01bf80 */ lui $at,0xbf80
/* f076c7c: 44810000 */ mtc1 $at,$f0
/* f076c80: 240bffff */ li $t3,-1
/* f076c84: 240fffff */ li $t7,-1
/* f076c88: afaf002c */ sw $t7,0x2c($sp)
/* f076c8c: afab0010 */ sw $t3,0x10($sp)
/* f076c90: 02402825 */ move $a1,$s2
/* f076c94: 2406808c */ li $a2,-32628
/* f076c98: 2407ffff */ li $a3,-1
/* f076c9c: afa00014 */ sw $zero,0x14($sp)
/* f076ca0: afa00018 */ sw $zero,0x18($sp)
/* f076ca4: afa0001c */ sw $zero,0x1c($sp)
/* f076ca8: afa00020 */ sw $zero,0x20($sp)
/* f076cac: afa00028 */ sw $zero,0x28($sp)
/* f076cb0: e7a00024 */ swc1 $f0,0x24($sp)
/* f076cb4: e7a00030 */ swc1 $f0,0x30($sp)
/* f076cb8: e7a00034 */ swc1 $f0,0x34($sp)
/* f076cbc: 0fc24e3a */ jal func0f0939f8
/* f076cc0: e7a00038 */ swc1 $f0,0x38($sp)
/* f076cc4: 3c03800a */ lui $v1,0x800a
/* f076cc8: 8c63a51c */ lw $v1,-0x5ae4($v1)
.PF0f076ccc:
/* f076ccc: ae0300a4 */ sw $v1,0xa4($s0)
.PF0f076cd0:
/* f076cd0: 02202025 */ move $a0,$s1
.PF0f076cd4:
/* f076cd4: 24050001 */ li $a1,0x1
/* f076cd8: 0fc1a7be */ jal func0f069c70
/* f076cdc: 24060001 */ li $a2,0x1
/* f076ce0: 10000133 */ b .PF0f0771b0
/* f076ce4: 8fbf005c */ lw $ra,0x5c($sp)
.PF0f076ce8:
/* f076ce8: 11800130 */ beqz $t4,.PF0f0771ac
/* f076cec: 3c013f80 */ lui $at,0x3f80
/* f076cf0: 240e0001 */ li $t6,0x1
/* f076cf4: afae00fc */ sw $t6,0xfc($sp)
/* f076cf8: 44816000 */ mtc1 $at,$f12
/* f076cfc: c6000060 */ lwc1 $f0,0x60($s0)
/* f076d00: 26040068 */ addiu $a0,$s0,0x68
/* f076d04: 26050078 */ addiu $a1,$s0,0x78
/* f076d08: 460c003c */ c.lt.s $f0,$f12
/* f076d0c: 00000000 */ nop
/* f076d10: 4502002a */ bc1fl .PF0f076dbc
/* f076d14: 4480a000 */ mtc1 $zero,$f20
/* f076d18: c6020064 */ lwc1 $f2,0x64($s0)
/* f076d1c: c464004c */ lwc1 $f4,0x4c($v1)
/* f076d20: 3c017f1b */ lui $at,0x7f1b
/* f076d24: 46041202 */ mul.s $f8,$f2,$f4
/* f076d28: 46080180 */ add.s $f6,$f0,$f8
/* f076d2c: e6060060 */ swc1 $f6,0x60($s0)
/* f076d30: 8c790038 */ lw $t9,0x38($v1)
/* f076d34: 5b200005 */ blezl $t9,.PF0f076d4c
/* f076d38: c6000060 */ lwc1 $f0,0x60($s0)
/* f076d3c: c42ab6c4 */ lwc1 $f10,-0x493c($at)
/* f076d40: 460a1102 */ mul.s $f4,$f2,$f10
/* f076d44: e6040064 */ swc1 $f4,0x64($s0)
/* f076d48: c6000060 */ lwc1 $f0,0x60($s0)
.PF0f076d4c:
/* f076d4c: 4600603c */ c.lt.s $f12,$f0
/* f076d50: 00000000 */ nop
/* f076d54: 45020004 */ bc1fl .PF0f076d68
/* f076d58: 44060000 */ mfc1 $a2,$f0
/* f076d5c: e60c0060 */ swc1 $f12,0x60($s0)
/* f076d60: c6000060 */ lwc1 $f0,0x60($s0)
/* f076d64: 44060000 */ mfc1 $a2,$f0
.PF0f076d68:
/* f076d68: 0fc25c76 */ jal func0f0972b8
/* f076d6c: 27a700ec */ addiu $a3,$sp,0xec
/* f076d70: 27a400ec */ addiu $a0,$sp,0xec
/* f076d74: 0fc25b7d */ jal func0f096ed4
/* f076d78: 27a500ac */ addiu $a1,$sp,0xac
/* f076d7c: c60c00b8 */ lwc1 $f12,0xb8($s0)
/* f076d80: 0c0056ed */ jal mtx00015e24
/* f076d84: 27a500ac */ addiu $a1,$sp,0xac
/* f076d88: c60c00bc */ lwc1 $f12,0xbc($s0)
/* f076d8c: 0c005704 */ jal mtx00015e80
/* f076d90: 27a500ac */ addiu $a1,$sp,0xac
/* f076d94: c60c00c0 */ lwc1 $f12,0xc0($s0)
/* f076d98: 0c00571b */ jal mtx00015edc
/* f076d9c: 27a500ac */ addiu $a1,$sp,0xac
/* f076da0: 27a400ac */ addiu $a0,$sp,0xac
/* f076da4: 0c0056cc */ jal mtx4ToMtx3
/* f076da8: 2625001c */ addiu $a1,$s1,0x1c
/* f076dac: 3c013f80 */ lui $at,0x3f80
/* f076db0: 44816000 */ mtc1 $at,$f12
/* f076db4: afa000fc */ sw $zero,0xfc($sp)
/* f076db8: 4480a000 */ mtc1 $zero,$f20
.PF0f076dbc:
/* f076dbc: c6080004 */ lwc1 $f8,0x4($s0)
/* f076dc0: 02202025 */ move $a0,$s1
/* f076dc4: 2629001c */ addiu $t1,$s1,0x1c
/* f076dc8: 4608a032 */ c.eq.s $f20,$f8
/* f076dcc: 00000000 */ nop
/* f076dd0: 4502000c */ bc1fl .PF0f076e04
/* f076dd4: afa90074 */ sw $t1,0x74($sp)
/* f076dd8: c606000c */ lwc1 $f6,0xc($s0)
/* f076ddc: 4606a032 */ c.eq.s $f20,$f6
/* f076de0: 00000000 */ nop
/* f076de4: 45020007 */ bc1fl .PF0f076e04
/* f076de8: afa90074 */ sw $t1,0x74($sp)
/* f076dec: c60a0060 */ lwc1 $f10,0x60($s0)
/* f076df0: 460c503c */ c.lt.s $f10,$f12
/* f076df4: 00000000 */ nop
/* f076df8: 450200da */ bc1fl .PF0f077164
/* f076dfc: 8faf00fc */ lw $t7,0xfc($sp)
/* f076e00: afa90074 */ sw $t1,0x74($sp)
.PF0f076e04:
/* f076e04: 0fc1a361 */ jal objFindBboxRodata
/* f076e08: afa000fc */ sw $zero,0xfc($sp)
/* f076e0c: 00402025 */ move $a0,$v0
/* f076e10: 0fc19afb */ jal func0f06695c
/* f076e14: 8fa50074 */ lw $a1,0x74($sp)
/* f076e18: 3c03800a */ lui $v1,0x800a
/* f076e1c: 8c63a548 */ lw $v1,-0x5ab8($v1)
/* f076e20: e7a00098 */ swc1 $f0,0x98($sp)
/* f076e24: 00001025 */ move $v0,$zero
/* f076e28: 18600053 */ blez $v1,.PF0f076f78
/* f076e2c: 3c017f1b */ lui $at,0x7f1b
/* f076e30: c432b6c8 */ lwc1 $f18,-0x4938($at)
/* f076e34: 3c017f1b */ lui $at,0x7f1b
/* f076e38: c430b6cc */ lwc1 $f16,-0x4934($at)
/* f076e3c: c6080004 */ lwc1 $f8,0x4($s0)
.PF0f076e40:
/* f076e40: c7a405dc */ lwc1 $f4,0x5dc($sp)
/* f076e44: 3c013f80 */ lui $at,0x3f80
/* f076e48: 46104182 */ mul.s $f6,$f8,$f16
/* f076e4c: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f076e50: 46062280 */ add.s $f10,$f4,$f6
/* f076e54: e7aa05dc */ swc1 $f10,0x5dc($sp)
/* f076e58: c604000c */ lwc1 $f4,0xc($s0)
/* f076e5c: 46102182 */ mul.s $f6,$f4,$f16
/* f076e60: 46064280 */ add.s $f10,$f8,$f6
/* f076e64: 44814000 */ mtc1 $at,$f8
/* f076e68: e7aa05e4 */ swc1 $f10,0x5e4($sp)
/* f076e6c: c6040060 */ lwc1 $f4,0x60($s0)
/* f076e70: 4604403e */ c.le.s $f8,$f4
/* f076e74: 00000000 */ nop
/* f076e78: 4502003c */ bc1fl .PF0f076f6c
/* f076e7c: 24420001 */ addiu $v0,$v0,0x1
/* f076e80: c6060098 */ lwc1 $f6,0x98($s0)
/* f076e84: 4606a03c */ c.lt.s $f20,$f6
/* f076e88: 00000000 */ nop
/* f076e8c: 4502002e */ bc1fl .PF0f076f48
/* f076e90: c6080004 */ lwc1 $f8,0x4($s0)
/* f076e94: c602000c */ lwc1 $f2,0xc($s0)
/* f076e98: c60e0004 */ lwc1 $f14,0x4($s0)
/* f076e9c: afa2009c */ sw $v0,0x9c($sp)
/* f076ea0: 46021282 */ mul.s $f10,$f2,$f2
/* f076ea4: 00000000 */ nop
/* f076ea8: 460e7102 */ mul.s $f4,$f14,$f14
/* f076eac: 0c0127b4 */ jal sqrtf
/* f076eb0: 46045300 */ add.s $f12,$f10,$f4
/* f076eb4: 4600a03c */ c.lt.s $f20,$f0
/* f076eb8: 3c017f1b */ lui $at,0x7f1b
/* f076ebc: c430b6d0 */ lwc1 $f16,-0x4930($at)
/* f076ec0: 3c017f1b */ lui $at,0x7f1b
/* f076ec4: c432b6d4 */ lwc1 $f18,-0x492c($at)
/* f076ec8: 45000019 */ bc1f .PF0f076f30
/* f076ecc: 8fa2009c */ lw $v0,0x9c($sp)
/* f076ed0: 3c01800a */ lui $at,0x800a
/* f076ed4: c426a55c */ lwc1 $f6,-0x5aa4($at)
/* f076ed8: c6080098 */ lwc1 $f8,0x98($s0)
/* f076edc: 3c013f80 */ lui $at,0x3f80
/* f076ee0: 44812000 */ mtc1 $at,$f4
/* f076ee4: 46064282 */ mul.s $f10,$f8,$f6
/* f076ee8: 46005303 */ div.s $f12,$f10,$f0
/* f076eec: 460c203e */ c.le.s $f4,$f12
/* f076ef0: 00000000 */ nop
/* f076ef4: 45020005 */ bc1fl .PF0f076f0c
/* f076ef8: c60e0004 */ lwc1 $f14,0x4($s0)
/* f076efc: e6140004 */ swc1 $f20,0x4($s0)
/* f076f00: 1000000d */ b .PF0f076f38
/* f076f04: e614000c */ swc1 $f20,0xc($s0)
/* f076f08: c60e0004 */ lwc1 $f14,0x4($s0)
.PF0f076f0c:
/* f076f0c: c602000c */ lwc1 $f2,0xc($s0)
/* f076f10: 460c7202 */ mul.s $f8,$f14,$f12
/* f076f14: 00000000 */ nop
/* f076f18: 460c1282 */ mul.s $f10,$f2,$f12
/* f076f1c: 46087181 */ sub.s $f6,$f14,$f8
/* f076f20: 460a1101 */ sub.s $f4,$f2,$f10
/* f076f24: e6060004 */ swc1 $f6,0x4($s0)
/* f076f28: 10000003 */ b .PF0f076f38
/* f076f2c: e604000c */ swc1 $f4,0xc($s0)
.PF0f076f30:
/* f076f30: e6140004 */ swc1 $f20,0x4($s0)
/* f076f34: e614000c */ swc1 $f20,0xc($s0)
.PF0f076f38:
/* f076f38: 3c03800a */ lui $v1,0x800a
/* f076f3c: 1000000a */ b .PF0f076f68
/* f076f40: 8c63a548 */ lw $v1,-0x5ab8($v1)
/* f076f44: c6080004 */ lwc1 $f8,0x4($s0)
.PF0f076f48:
/* f076f48: c60a000c */ lwc1 $f10,0xc($s0)
/* f076f4c: 3c03800a */ lui $v1,0x800a
/* f076f50: 46124182 */ mul.s $f6,$f8,$f18
/* f076f54: 00000000 */ nop
/* f076f58: 46125102 */ mul.s $f4,$f10,$f18
/* f076f5c: e6060004 */ swc1 $f6,0x4($s0)
/* f076f60: e604000c */ swc1 $f4,0xc($s0)
/* f076f64: 8c63a548 */ lw $v1,-0x5ab8($v1)
.PF0f076f68:
/* f076f68: 24420001 */ addiu $v0,$v0,0x1
.PF0f076f6c:
/* f076f6c: 0043082a */ slt $at,$v0,$v1
/* f076f70: 5420ffb3 */ bnezl $at,.PF0f076e40
/* f076f74: c6080004 */ lwc1 $f8,0x4($s0)
.PF0f076f78:
/* f076f78: c6480008 */ lwc1 $f8,0x8($s2)
/* f076f7c: 26440028 */ addiu $a0,$s2,0x28
/* f076f80: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f076f84: e7a805c8 */ swc1 $f8,0x5c8($sp)
/* f076f88: c646000c */ lwc1 $f6,0xc($s2)
/* f076f8c: e7a605cc */ swc1 $f6,0x5cc($sp)
/* f076f90: c64a0010 */ lwc1 $f10,0x10($s2)
/* f076f94: afa4006c */ sw $a0,0x6c($sp)
/* f076f98: 0fc1968d */ jal roomsCopy
/* f076f9c: e7aa05d0 */ swc1 $f10,0x5d0($sp)
/* f076fa0: 02202025 */ move $a0,$s1
/* f076fa4: 27a505dc */ addiu $a1,$sp,0x5dc
/* f076fa8: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f076fac: 0fc1b581 */ jal func0f06d37c
/* f076fb0: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f076fb4: 24180001 */ li $t8,0x1
/* f076fb8: afb805d8 */ sw $t8,0x5d8($sp)
/* f076fbc: c6440008 */ lwc1 $f4,0x8($s2)
/* f076fc0: c7a60098 */ lwc1 $f6,0x98($sp)
/* f076fc4: 26270058 */ addiu $a3,$s1,0x58
/* f076fc8: e7a405ac */ swc1 $f4,0x5ac($sp)
/* f076fcc: c648000c */ lwc1 $f8,0xc($s2)
/* f076fd0: 27ad0096 */ addiu $t5,$sp,0x96
/* f076fd4: 27a405ac */ addiu $a0,$sp,0x5ac
/* f076fd8: 46064280 */ add.s $f10,$f8,$f6
/* f076fdc: 8fa5006c */ lw $a1,0x6c($sp)
/* f076fe0: 27a600a4 */ addiu $a2,$sp,0xa4
/* f076fe4: e7aa05b0 */ swc1 $f10,0x5b0($sp)
/* f076fe8: c6440010 */ lwc1 $f4,0x10($s2)
/* f076fec: afa70074 */ sw $a3,0x74($sp)
/* f076ff0: afad0010 */ sw $t5,0x10($sp)
/* f076ff4: 0c00a774 */ jal cd0002a4d0
/* f076ff8: e7a405b4 */ swc1 $f4,0x5b4($sp)
/* f076ffc: 00021c00 */ sll $v1,$v0,0x10
/* f077000: 1840000b */ blez $v0,.PF0f077030
/* f077004: 00035403 */ sra $t2,$v1,0x10
/* f077008: 240b0003 */ li $t3,0x3
/* f07700c: afab0010 */ sw $t3,0x10($sp)
/* f077010: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f077014: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f077018: 27a605ac */ addiu $a2,$sp,0x5ac
/* f07701c: 24070021 */ li $a3,0x21
/* f077020: 0c00b526 */ jal cd0002db98
/* f077024: a7aa00a2 */ sh $t2,0xa2($sp)
/* f077028: 1040000b */ beqz $v0,.PF0f077058
/* f07702c: 87a300a2 */ lh $v1,0xa2($sp)
.PF0f077030:
/* f077030: 27af0096 */ addiu $t7,$sp,0x96
/* f077034: afaf0010 */ sw $t7,0x10($sp)
/* f077038: 26440008 */ addiu $a0,$s2,0x8
/* f07703c: 8fa5006c */ lw $a1,0x6c($sp)
/* f077040: 27a600a4 */ addiu $a2,$sp,0xa4
/* f077044: 0c00a750 */ jal cd0002a440
/* f077048: 8fa70074 */ lw $a3,0x74($sp)
/* f07704c: 00021c00 */ sll $v1,$v0,0x10
/* f077050: 00036403 */ sra $t4,$v1,0x10
/* f077054: 01801825 */ move $v1,$t4
.PF0f077058:
/* f077058: 1c600017 */ bgtz $v1,.PF0f0770b8
/* f07705c: c7a805c8 */ lwc1 $f8,0x5c8($sp)
/* f077060: e6480008 */ swc1 $f8,0x8($s2)
/* f077064: c7a605d0 */ lwc1 $f6,0x5d0($sp)
/* f077068: 264e0008 */ addiu $t6,$s2,0x8
/* f07706c: 02402025 */ move $a0,$s2
/* f077070: e6460010 */ swc1 $f6,0x10($s2)
/* f077074: 0fc197b5 */ jal propDeregisterRooms
/* f077078: afae0070 */ sw $t6,0x70($sp)
/* f07707c: 27a405b8 */ addiu $a0,$sp,0x5b8
/* f077080: 0fc1968d */ jal roomsCopy
/* f077084: 8fa5006c */ lw $a1,0x6c($sp)
/* f077088: 27b90096 */ addiu $t9,$sp,0x96
/* f07708c: afb90010 */ sw $t9,0x10($sp)
/* f077090: 8fa40070 */ lw $a0,0x70($sp)
/* f077094: 8fa5006c */ lw $a1,0x6c($sp)
/* f077098: 27a600a4 */ addiu $a2,$sp,0xa4
/* f07709c: 0c00a750 */ jal cd0002a440
/* f0770a0: 8fa70074 */ lw $a3,0x74($sp)
/* f0770a4: 00021c00 */ sll $v1,$v0,0x10
/* f0770a8: 00034c03 */ sra $t1,$v1,0x10
/* f0770ac: 01201825 */ move $v1,$t1
/* f0770b0: e6140004 */ swc1 $f20,0x4($s0)
/* f0770b4: e614000c */ swc1 $f20,0xc($s0)
.PF0f0770b8:
/* f0770b8: 18600010 */ blez $v1,.PF0f0770fc
/* f0770bc: c7aa05cc */ lwc1 $f10,0x5cc($sp)
/* f0770c0: 0fc1aa2a */ jal func0f06a620
/* f0770c4: 02202025 */ move $a0,$s1
/* f0770c8: c7aa00a4 */ lwc1 $f10,0xa4($sp)
/* f0770cc: c7a40098 */ lwc1 $f4,0x98($sp)
/* f0770d0: 46045201 */ sub.s $f8,$f10,$f4
/* f0770d4: 46080180 */ add.s $f6,$f0,$f8
/* f0770d8: e646000c */ swc1 $f6,0xc($s2)
/* f0770dc: 97b80096 */ lhu $t8,0x96($sp)
/* f0770e0: 330d4000 */ andi $t5,$t8,0x4000
/* f0770e4: 11a00006 */ beqz $t5,.PF0f077100
/* f0770e8: 00000000 */ nop
/* f0770ec: 8e2a0040 */ lw $t2,0x40($s1)
/* f0770f0: 354b0004 */ ori $t3,$t2,0x4
/* f0770f4: 10000002 */ b .PF0f077100
/* f0770f8: ae2b0040 */ sw $t3,0x40($s1)
.PF0f0770fc:
/* f0770fc: e64a000c */ swc1 $f10,0xc($s2)
.PF0f077100:
/* f077100: 3c017f1b */ lui $at,0x7f1b
/* f077104: c430b6d8 */ lwc1 $f16,-0x4928($at)
/* f077108: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07710c: 3c017f1b */ lui $at,0x7f1b
/* f077110: 4610703c */ c.lt.s $f14,$f16
/* f077114: 00000000 */ nop
/* f077118: 45020012 */ bc1fl .PF0f077164
/* f07711c: 8faf00fc */ lw $t7,0xfc($sp)
/* f077120: c432b6dc */ lwc1 $f18,-0x4924($at)
/* f077124: 460e903c */ c.lt.s $f18,$f14
/* f077128: 00000000 */ nop
/* f07712c: 4502000d */ bc1fl .PF0f077164
/* f077130: 8faf00fc */ lw $t7,0xfc($sp)
/* f077134: c602000c */ lwc1 $f2,0xc($s0)
/* f077138: 4610103c */ c.lt.s $f2,$f16
/* f07713c: 00000000 */ nop
/* f077140: 45020008 */ bc1fl .PF0f077164
/* f077144: 8faf00fc */ lw $t7,0xfc($sp)
/* f077148: 4602903c */ c.lt.s $f18,$f2
/* f07714c: 00000000 */ nop
/* f077150: 45020004 */ bc1fl .PF0f077164
/* f077154: 8faf00fc */ lw $t7,0xfc($sp)
/* f077158: e614000c */ swc1 $f20,0xc($s0)
/* f07715c: e6140004 */ swc1 $f20,0x4($s0)
/* f077160: 8faf00fc */ lw $t7,0xfc($sp)
.PF0f077164:
/* f077164: 51e0000b */ beqzl $t7,.PF0f077194
/* f077168: 8fae05d8 */ lw $t6,0x5d8($sp)
/* f07716c: 0fc1abb2 */ jal objEndFlight
/* f077170: 02202025 */ move $a0,$s1
/* f077174: 922c0003 */ lbu $t4,0x3($s1)
/* f077178: 24010008 */ li $at,0x8
/* f07717c: 26450028 */ addiu $a1,$s2,0x28
/* f077180: 55810004 */ bnel $t4,$at,.PF0f077194
/* f077184: 8fae05d8 */ lw $t6,0x5d8($sp)
/* f077188: 0fc257be */ jal objectiveCheckMultiroomEntered
/* f07718c: 9224005c */ lbu $a0,0x5c($s1)
/* f077190: 8fae05d8 */ lw $t6,0x5d8($sp)
.PF0f077194:
/* f077194: 02202025 */ move $a0,$s1
/* f077198: 24050001 */ li $a1,0x1
/* f07719c: 51c00004 */ beqzl $t6,.PF0f0771b0
/* f0771a0: 8fbf005c */ lw $ra,0x5c($sp)
/* f0771a4: 0fc1a7be */ jal func0f069c70
/* f0771a8: 24060001 */ li $a2,0x1
.PF0f0771ac:
/* f0771ac: 8fbf005c */ lw $ra,0x5c($sp)
.PF0f0771b0:
/* f0771b0: 8fa205d8 */ lw $v0,0x5d8($sp)
/* f0771b4: d7b40048 */ ldc1 $f20,0x48($sp)
/* f0771b8: 8fb00050 */ lw $s0,0x50($sp)
/* f0771bc: 8fb10054 */ lw $s1,0x54($sp)
/* f0771c0: 8fb20058 */ lw $s2,0x58($sp)
/* f0771c4: 03e00008 */ jr $ra
/* f0771c8: 27bd0608 */ addiu $sp,$sp,0x608
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f073c6c
.late_rodata
glabel var7f1aa3d4
.word 0x3c23d70a
glabel var7f1aa3d8
.word 0x3c23d70a
glabel var7f1aa3dc
.word 0x38d1b717
glabel var7f1aa3e0
.word 0x3c23d70a
glabel var7f1aa3e4
.word 0x3c23d70a
glabel var7f1aa3e8
.word 0x3c23d70a
glabel var7f1aa3ec
.word 0xc6ea6000
glabel var7f1aa3f0
.word 0xc69c4000
glabel var7f1aa3f4
.word 0x3e8e38e4
glabel var7f1aa3f8
.word 0x3c360b61
glabel var7f1aa3fc
.word 0x3d8f5c29
glabel var7f1aa400
.word 0x3e8e38e4
glabel var7f1aa404
.word 0x3a83126f
glabel var7f1aa408
.word 0xba83126f
glabel var7f1aa40c
.word 0x3e8e38e4
glabel var7f1aa410
.word 0x3e0e38e4
glabel var7f1aa414
.word 0x400e38e4
glabel var7f1aa418
.word 0x46d9038c
glabel var7f1aa41c
.word 0x3dcccccd
glabel var7f1aa420
.word 0xbdcccccd
glabel var7f1aa424
.word 0xbdcccccd
glabel var7f1aa428
.word 0x3f8ccccd
glabel var7f1aa42c
.word 0x3f666666
glabel var7f1aa430
.word 0x3f666666
glabel var7f1aa434
.word 0x3dcccccd
glabel var7f1aa438
.word 0xbdcccccd
.text
/* f073c6c: 27bdf9f8 */ addiu $sp,$sp,-1544
/* f073c70: 3c03800a */ lui $v1,%hi(g_Vars)
/* f073c74: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f073c78: 8c6e0034 */ lw $t6,0x34($v1)
/* f073c7c: afbf005c */ sw $ra,0x5c($sp)
/* f073c80: afb20058 */ sw $s2,0x58($sp)
/* f073c84: afb10054 */ sw $s1,0x54($sp)
/* f073c88: afb00050 */ sw $s0,0x50($sp)
/* f073c8c: f7b40048 */ sdc1 $f20,0x48($sp)
/* f073c90: afa5060c */ sw $a1,0x60c($sp)
/* f073c94: 8c900048 */ lw $s0,0x48($a0)
/* f073c98: afa005d8 */ sw $zero,0x5d8($sp)
/* f073c9c: 00808825 */ or $s1,$a0,$zero
/* f073ca0: 19c00c9b */ blez $t6,.L0f076f10
/* f073ca4: 8c920014 */ lw $s2,0x14($a0)
/* f073ca8: 908f0003 */ lbu $t7,0x3($a0)
/* f073cac: 24010008 */ addiu $at,$zero,0x8
/* f073cb0: 55e1000a */ bnel $t7,$at,.L0f073cdc
/* f073cb4: 8e020000 */ lw $v0,0x0($s0)
/* f073cb8: 9098005c */ lbu $t8,0x5c($a0)
/* f073cbc: 24010058 */ addiu $at,$zero,0x58
/* f073cc0: 57010006 */ bnel $t8,$at,.L0f073cdc
/* f073cc4: 8e020000 */ lw $v0,0x0($s0)
/* f073cc8: 0fc1cd1e */ jal func0f073478
/* f073ccc: 00000000 */ nop
/* f073cd0: 10000c8f */ b .L0f076f10
/* f073cd4: afa205d8 */ sw $v0,0x5d8($sp)
/* f073cd8: 8e020000 */ lw $v0,0x0($s0)
.L0f073cdc:
/* f073cdc: 2401cfff */ addiu $at,$zero,-12289
/* f073ce0: 30591000 */ andi $t9,$v0,0x1000
/* f073ce4: 13200006 */ beqz $t9,.L0f073d00
/* f073ce8: 30492000 */ andi $t1,$v0,0x2000
/* f073cec: 0009502b */ sltu $t2,$zero,$t1
/* f073cf0: afaa05d8 */ sw $t2,0x5d8($sp)
/* f073cf4: 00415824 */ and $t3,$v0,$at
/* f073cf8: 10000c85 */ b .L0f076f10
/* f073cfc: ae0b0000 */ sw $t3,0x0($s0)
.L0f073d00:
/* f073d00: 8e2c0040 */ lw $t4,0x40($s1)
/* f073d04: 3c01fffd */ lui $at,0xfffd
/* f073d08: 3421ffff */ ori $at,$at,0xffff
/* f073d0c: 01816824 */ and $t5,$t4,$at
/* f073d10: ae2d0040 */ sw $t5,0x40($s1)
/* f073d14: 8e0e0000 */ lw $t6,0x0($s0)
/* f073d18: 02202025 */ or $a0,$s1,$zero
/* f073d1c: 02002825 */ or $a1,$s0,$zero
/* f073d20: 31cf0080 */ andi $t7,$t6,0x80
/* f073d24: 11e00005 */ beqz $t7,.L0f073d3c
/* f073d28: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f073d2c: 0fc1ceba */ jal func0f073ae8
/* f073d30: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f073d34: 3c03800a */ lui $v1,%hi(g_Vars)
/* f073d38: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
.L0f073d3c:
/* f073d3c: c6440008 */ lwc1 $f4,0x8($s2)
/* f073d40: 2624001c */ addiu $a0,$s1,0x1c
/* f073d44: 27a50504 */ addiu $a1,$sp,0x504
/* f073d48: e7a405dc */ swc1 $f4,0x5dc($sp)
/* f073d4c: c646000c */ lwc1 $f6,0xc($s2)
/* f073d50: e7a605e0 */ swc1 $f6,0x5e0($sp)
/* f073d54: c6480010 */ lwc1 $f8,0x10($s2)
/* f073d58: e7a805e4 */ swc1 $f8,0x5e4($sp)
/* f073d5c: 8e0200b4 */ lw $v0,0xb4($s0)
/* f073d60: 58400005 */ blezl $v0,.L0f073d78
/* f073d64: 8e020000 */ lw $v0,0x0($s0)
/* f073d68: 8c780034 */ lw $t8,0x34($v1)
/* f073d6c: 0058c823 */ subu $t9,$v0,$t8
/* f073d70: ae1900b4 */ sw $t9,0xb4($s0)
/* f073d74: 8e020000 */ lw $v0,0x0($s0)
.L0f073d78:
/* f073d78: 30490800 */ andi $t1,$v0,0x800
/* f073d7c: 11200376 */ beqz $t1,.L0f074b58
/* f073d80: 304e0001 */ andi $t6,$v0,0x1
/* f073d84: 0c005755 */ jal mtx3ToMtx4
/* f073d88: afa40074 */ sw $a0,0x74($sp)
/* f073d8c: 26440008 */ addiu $a0,$s2,0x8
/* f073d90: afa40070 */ sw $a0,0x70($sp)
/* f073d94: 0c005775 */ jal mtx4SetTranslation
/* f073d98: 27a50504 */ addiu $a1,$sp,0x504
/* f073d9c: 4480a000 */ mtc1 $zero,$f20
/* f073da0: c60000dc */ lwc1 $f0,0xdc($s0)
/* f073da4: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f073da8: 4600a03c */ c.lt.s $f20,$f0
/* f073dac: 00000000 */ nop
/* f073db0: 4502002c */ bc1fl .L0f073e64
/* f073db4: 4614003c */ c.lt.s $f0,$f20
/* f073db8: c60a00e0 */ lwc1 $f10,0xe0($s0)
/* f073dbc: c424a00c */ lwc1 $f4,%lo(g_Vars+0x4c)($at)
/* f073dc0: 3c013f80 */ lui $at,0x3f80
/* f073dc4: 46045182 */ mul.s $f6,$f10,$f4
/* f073dc8: 46060201 */ sub.s $f8,$f0,$f6
/* f073dcc: e60800dc */ swc1 $f8,0xdc($s0)
/* f073dd0: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f073dd4: 4614503c */ c.lt.s $f10,$f20
/* f073dd8: 00000000 */ nop
/* f073ddc: 45020004 */ bc1fl .L0f073df0
/* f073de0: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f073de4: 1000004b */ b .L0f073f14
/* f073de8: e61400dc */ swc1 $f20,0xdc($s0)
/* f073dec: c61000e4 */ lwc1 $f16,0xe4($s0)
.L0f073df0:
/* f073df0: 44812000 */ mtc1 $at,$f4
/* f073df4: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f073df8: 4604803c */ c.lt.s $f16,$f4
/* f073dfc: 00000000 */ nop
/* f073e00: 45020045 */ bc1fl .L0f073f18
/* f073e04: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073e08: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f073e0c: 00001025 */ or $v0,$zero,$zero
/* f073e10: 58600041 */ blezl $v1,.L0f073f18
/* f073e14: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073e18: c60200ec */ lwc1 $f2,0xec($s0)
/* f073e1c: c60000dc */ lwc1 $f0,0xdc($s0)
.L0f073e20:
/* f073e20: 24420001 */ addiu $v0,$v0,0x1
/* f073e24: 4600103c */ c.lt.s $f2,$f0
/* f073e28: 00000000 */ nop
/* f073e2c: 45020008 */ bc1fl .L0f073e50
/* f073e30: 0043082a */ slt $at,$v0,$v1
/* f073e34: 46020181 */ sub.s $f6,$f0,$f2
/* f073e38: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f073e3c: 46103202 */ mul.s $f8,$f6,$f16
/* f073e40: 46081280 */ add.s $f10,$f2,$f8
/* f073e44: e60a00dc */ swc1 $f10,0xdc($s0)
/* f073e48: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f073e4c: 0043082a */ slt $at,$v0,$v1
.L0f073e50:
/* f073e50: 5420fff3 */ bnezl $at,.L0f073e20
/* f073e54: c60000dc */ lwc1 $f0,0xdc($s0)
/* f073e58: 1000002f */ b .L0f073f18
/* f073e5c: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073e60: 4614003c */ c.lt.s $f0,$f20
.L0f073e64:
/* f073e64: 3c04800a */ lui $a0,%hi(g_Vars)
/* f073e68: 24849fc0 */ addiu $a0,$a0,%lo(g_Vars)
/* f073e6c: 4502002a */ bc1fl .L0f073f18
/* f073e70: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073e74: c60400e0 */ lwc1 $f4,0xe0($s0)
/* f073e78: c486004c */ lwc1 $f6,0x4c($a0)
/* f073e7c: 3c013f80 */ lui $at,0x3f80
/* f073e80: 46062202 */ mul.s $f8,$f4,$f6
/* f073e84: 46080280 */ add.s $f10,$f0,$f8
/* f073e88: e60a00dc */ swc1 $f10,0xdc($s0)
/* f073e8c: c60400dc */ lwc1 $f4,0xdc($s0)
/* f073e90: 4604a03c */ c.lt.s $f20,$f4
/* f073e94: 00000000 */ nop
/* f073e98: 45020004 */ bc1fl .L0f073eac
/* f073e9c: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f073ea0: 1000001c */ b .L0f073f14
/* f073ea4: e61400dc */ swc1 $f20,0xdc($s0)
/* f073ea8: c61000e4 */ lwc1 $f16,0xe4($s0)
.L0f073eac:
/* f073eac: 44813000 */ mtc1 $at,$f6
/* f073eb0: 00000000 */ nop
/* f073eb4: 4606803c */ c.lt.s $f16,$f6
/* f073eb8: 00000000 */ nop
/* f073ebc: 45020016 */ bc1fl .L0f073f18
/* f073ec0: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073ec4: 8c830038 */ lw $v1,0x38($a0)
/* f073ec8: 00001025 */ or $v0,$zero,$zero
/* f073ecc: 58600012 */ blezl $v1,.L0f073f18
/* f073ed0: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073ed4: c60200ec */ lwc1 $f2,0xec($s0)
/* f073ed8: 46001307 */ neg.s $f12,$f2
/* f073edc: c60000dc */ lwc1 $f0,0xdc($s0)
.L0f073ee0:
/* f073ee0: 24420001 */ addiu $v0,$v0,0x1
/* f073ee4: 460c003c */ c.lt.s $f0,$f12
/* f073ee8: 00000000 */ nop
/* f073eec: 45020007 */ bc1fl .L0f073f0c
/* f073ef0: 0043082a */ slt $at,$v0,$v1
/* f073ef4: 46020200 */ add.s $f8,$f0,$f2
/* f073ef8: 46104282 */ mul.s $f10,$f8,$f16
/* f073efc: 460a6100 */ add.s $f4,$f12,$f10
/* f073f00: e60400dc */ swc1 $f4,0xdc($s0)
/* f073f04: 8c830038 */ lw $v1,0x38($a0)
/* f073f08: 0043082a */ slt $at,$v0,$v1
.L0f073f0c:
/* f073f0c: 5420fff4 */ bnezl $at,.L0f073ee0
/* f073f10: c60000dc */ lwc1 $f0,0xdc($s0)
.L0f073f14:
/* f073f14: c60e0004 */ lwc1 $f14,0x4($s0)
.L0f073f18:
/* f073f18: 460ea032 */ c.eq.s $f20,$f14
/* f073f1c: 00000000 */ nop
/* f073f20: 45020007 */ bc1fl .L0f073f40
/* f073f24: c6080098 */ lwc1 $f8,0x98($s0)
/* f073f28: c606000c */ lwc1 $f6,0xc($s0)
/* f073f2c: 4606a032 */ c.eq.s $f20,$f6
/* f073f30: 00000000 */ nop
/* f073f34: 45030061 */ bc1tl .L0f0740bc
/* f073f38: 8e040088 */ lw $a0,0x88($s0)
/* f073f3c: c6080098 */ lwc1 $f8,0x98($s0)
.L0f073f40:
/* f073f40: 4608a03c */ c.lt.s $f20,$f8
/* f073f44: 00000000 */ nop
/* f073f48: 4502005c */ bc1fl .L0f0740bc
/* f073f4c: 8e040088 */ lw $a0,0x88($s0)
/* f073f50: c602000c */ lwc1 $f2,0xc($s0)
/* f073f54: 46021282 */ mul.s $f10,$f2,$f2
/* f073f58: 00000000 */ nop
/* f073f5c: 460e7102 */ mul.s $f4,$f14,$f14
/* f073f60: 0c012974 */ jal sqrtf
/* f073f64: 46045300 */ add.s $f12,$f10,$f4
/* f073f68: 4600a03c */ c.lt.s $f20,$f0
/* f073f6c: 3c03800a */ lui $v1,%hi(g_Vars)
/* f073f70: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f073f74: 4502004f */ bc1fl .L0f0740b4
/* f073f78: e6140004 */ swc1 $f20,0x4($s0)
/* f073f7c: c6060098 */ lwc1 $f6,0x98($s0)
/* f073f80: c468004c */ lwc1 $f8,0x4c($v1)
/* f073f84: 3c013f80 */ lui $at,0x3f80
/* f073f88: 44812000 */ mtc1 $at,$f4
/* f073f8c: 46083282 */ mul.s $f10,$f6,$f8
/* f073f90: 46005303 */ div.s $f12,$f10,$f0
/* f073f94: 460c203e */ c.le.s $f4,$f12
/* f073f98: 00000000 */ nop
/* f073f9c: 45020005 */ bc1fl .L0f073fb4
/* f073fa0: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073fa4: e6140004 */ swc1 $f20,0x4($s0)
/* f073fa8: 10000043 */ b .L0f0740b8
/* f073fac: e614000c */ swc1 $f20,0xc($s0)
/* f073fb0: c60e0004 */ lwc1 $f14,0x4($s0)
.L0f073fb4:
/* f073fb4: c602000c */ lwc1 $f2,0xc($s0)
/* f073fb8: 3c013f80 */ lui $at,0x3f80
/* f073fbc: 460c7182 */ mul.s $f6,$f14,$f12
/* f073fc0: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f073fc4: 460c1282 */ mul.s $f10,$f2,$f12
/* f073fc8: 46067201 */ sub.s $f8,$f14,$f6
/* f073fcc: 44813000 */ mtc1 $at,$f6
/* f073fd0: 460a1101 */ sub.s $f4,$f2,$f10
/* f073fd4: e6080004 */ swc1 $f8,0x4($s0)
/* f073fd8: 4606803c */ c.lt.s $f16,$f6
/* f073fdc: e604000c */ swc1 $f4,0xc($s0)
/* f073fe0: 45020036 */ bc1fl .L0f0740bc
/* f073fe4: 8e040088 */ lw $a0,0x88($s0)
/* f073fe8: 8c6a0038 */ lw $t2,0x38($v1)
/* f073fec: 00001025 */ or $v0,$zero,$zero
/* f073ff0: 59400032 */ blezl $t2,.L0f0740bc
/* f073ff4: 8e040088 */ lw $a0,0x88($s0)
/* f073ff8: c60c00f0 */ lwc1 $f12,0xf0($s0)
/* f073ffc: c60e0004 */ lwc1 $f14,0x4($s0)
.L0f074000:
/* f074000: 460e603c */ c.lt.s $f12,$f14
/* f074004: 00000000 */ nop
/* f074008: 45020007 */ bc1fl .L0f074028
/* f07400c: 46006007 */ neg.s $f0,$f12
/* f074010: 460c7201 */ sub.s $f8,$f14,$f12
/* f074014: 46104282 */ mul.s $f10,$f8,$f16
/* f074018: 460c5100 */ add.s $f4,$f10,$f12
/* f07401c: 1000000a */ b .L0f074048
/* f074020: e6040004 */ swc1 $f4,0x4($s0)
/* f074024: 46006007 */ neg.s $f0,$f12
.L0f074028:
/* f074028: 4600703c */ c.lt.s $f14,$f0
/* f07402c: 00000000 */ nop
/* f074030: 45020006 */ bc1fl .L0f07404c
/* f074034: c602000c */ lwc1 $f2,0xc($s0)
/* f074038: 460c7180 */ add.s $f6,$f14,$f12
/* f07403c: 46103202 */ mul.s $f8,$f6,$f16
/* f074040: 46004280 */ add.s $f10,$f8,$f0
/* f074044: e60a0004 */ swc1 $f10,0x4($s0)
.L0f074048:
/* f074048: c602000c */ lwc1 $f2,0xc($s0)
.L0f07404c:
/* f07404c: 4602603c */ c.lt.s $f12,$f2
/* f074050: 00000000 */ nop
/* f074054: 45020007 */ bc1fl .L0f074074
/* f074058: 46006007 */ neg.s $f0,$f12
/* f07405c: 460c1101 */ sub.s $f4,$f2,$f12
/* f074060: 46102182 */ mul.s $f6,$f4,$f16
/* f074064: 460c3200 */ add.s $f8,$f6,$f12
/* f074068: 1000000a */ b .L0f074094
/* f07406c: e608000c */ swc1 $f8,0xc($s0)
/* f074070: 46006007 */ neg.s $f0,$f12
.L0f074074:
/* f074074: 4600103c */ c.lt.s $f2,$f0
/* f074078: 00000000 */ nop
/* f07407c: 45020006 */ bc1fl .L0f074098
/* f074080: 8c6b0038 */ lw $t3,0x38($v1)
/* f074084: 460c1280 */ add.s $f10,$f2,$f12
/* f074088: 46105102 */ mul.s $f4,$f10,$f16
/* f07408c: 46002180 */ add.s $f6,$f4,$f0
/* f074090: e606000c */ swc1 $f6,0xc($s0)
.L0f074094:
/* f074094: 8c6b0038 */ lw $t3,0x38($v1)
.L0f074098:
/* f074098: 24420001 */ addiu $v0,$v0,0x1
/* f07409c: 004b082a */ slt $at,$v0,$t3
/* f0740a0: 5420ffd7 */ bnezl $at,.L0f074000
/* f0740a4: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0740a8: 10000004 */ b .L0f0740bc
/* f0740ac: 8e040088 */ lw $a0,0x88($s0)
/* f0740b0: e6140004 */ swc1 $f20,0x4($s0)
.L0f0740b4:
/* f0740b4: e614000c */ swc1 $f20,0xc($s0)
.L0f0740b8:
/* f0740b8: 8e040088 */ lw $a0,0x88($s0)
.L0f0740bc:
/* f0740bc: 50800004 */ beqzl $a0,.L0f0740d0
/* f0740c0: 86240006 */ lh $a0,0x6($s1)
/* f0740c4: 0fc1905e */ jal propSetPerimEnabled
/* f0740c8: 00002825 */ or $a1,$zero,$zero
/* f0740cc: 86240006 */ lh $a0,0x6($s1)
.L0f0740d0:
/* f0740d0: 288c0000 */ slti $t4,$a0,0x0
/* f0740d4: 398c0001 */ xori $t4,$t4,0x1
/* f0740d8: 11800007 */ beqz $t4,.L0f0740f8
/* f0740dc: afac0088 */ sw $t4,0x88($sp)
/* f0740e0: 8e2e0010 */ lw $t6,0x10($s1)
/* f0740e4: 3c010100 */ lui $at,0x100
/* f0740e8: 34210002 */ ori $at,$at,0x2
/* f0740ec: 01c17824 */ and $t7,$t6,$at
/* f0740f0: 2df80001 */ sltiu $t8,$t7,0x1
/* f0740f4: afb80088 */ sw $t8,0x88($sp)
.L0f0740f8:
/* f0740f8: 8fb90088 */ lw $t9,0x88($sp)
/* f0740fc: 13200038 */ beqz $t9,.L0f0741e0
/* f074100: 24050002 */ addiu $a1,$zero,0x2
/* f074104: 0fc456ac */ jal padUnpack
/* f074108: 27a60430 */ addiu $a2,$sp,0x430
/* f07410c: 3c014348 */ lui $at,0x4348
/* f074110: 44811000 */ mtc1 $at,$f2
/* f074114: 8e290010 */ lw $t1,0x10($s1)
/* f074118: 3c014396 */ lui $at,0x4396
/* f07411c: 44816000 */ mtc1 $at,$f12
/* f074120: 00095200 */ sll $t2,$t1,0x8
/* f074124: 46001406 */ mov.s $f16,$f2
/* f074128: 05410006 */ bgez $t2,.L0f074144
/* f07412c: 46006386 */ mov.s $f14,$f12
/* f074130: 3c01442f */ lui $at,0x442f
/* f074134: 44810000 */ mtc1 $at,$f0
/* f074138: 00000000 */ nop
/* f07413c: 46001400 */ add.s $f16,$f2,$f0
/* f074140: 46006380 */ add.s $f14,$f12,$f0
.L0f074144:
/* f074144: 862b0004 */ lh $t3,0x4($s1)
/* f074148: 240101a8 */ addiu $at,$zero,0x1a8
/* f07414c: c7a80430 */ lwc1 $f8,0x430($sp)
/* f074150: 15610003 */ bne $t3,$at,.L0f074160
/* f074154: 3c014366 */ lui $at,0x4366
/* f074158: 44818000 */ mtc1 $at,$f16
/* f07415c: 00000000 */ nop
.L0f074160:
/* f074160: c64a0008 */ lwc1 $f10,0x8($s2)
/* f074164: c7a40438 */ lwc1 $f4,0x438($sp)
/* f074168: c6460010 */ lwc1 $f6,0x10($s2)
/* f07416c: 460a4001 */ sub.s $f0,$f8,$f10
/* f074170: e7b0041c */ swc1 $f16,0x41c($sp)
/* f074174: e7ae0418 */ swc1 $f14,0x418($sp)
/* f074178: 46062081 */ sub.s $f2,$f4,$f6
/* f07417c: 46000202 */ mul.s $f8,$f0,$f0
/* f074180: 00000000 */ nop
/* f074184: 46021282 */ mul.s $f10,$f2,$f2
/* f074188: 0c012974 */ jal sqrtf
/* f07418c: 460a4300 */ add.s $f12,$f8,$f10
/* f074190: c7a40418 */ lwc1 $f4,0x418($sp)
/* f074194: c7a6041c */ lwc1 $f6,0x41c($sp)
/* f074198: 4600203c */ c.lt.s $f4,$f0
/* f07419c: 00000000 */ nop
/* f0741a0: 45020004 */ bc1fl .L0f0741b4
/* f0741a4: 4600303c */ c.lt.s $f6,$f0
/* f0741a8: 1000000d */ b .L0f0741e0
/* f0741ac: e61400dc */ swc1 $f20,0xdc($s0)
/* f0741b0: 4600303c */ c.lt.s $f6,$f0
.L0f0741b4:
/* f0741b4: c7a80418 */ lwc1 $f8,0x418($sp)
/* f0741b8: 3c017f1b */ lui $at,%hi(var7f1aa3d4)
/* f0741bc: 45000008 */ bc1f .L0f0741e0
/* f0741c0: 00000000 */ nop
/* f0741c4: 46004281 */ sub.s $f10,$f8,$f0
/* f0741c8: c424a3d4 */ lwc1 $f4,%lo(var7f1aa3d4)($at)
/* f0741cc: c60800dc */ lwc1 $f8,0xdc($s0)
/* f0741d0: 46045182 */ mul.s $f6,$f10,$f4
/* f0741d4: 00000000 */ nop
/* f0741d8: 46064282 */ mul.s $f10,$f8,$f6
/* f0741dc: e60a00dc */ swc1 $f10,0xdc($s0)
.L0f0741e0:
/* f0741e0: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f0741e4: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at)
/* f0741e8: c60400dc */ lwc1 $f4,0xdc($s0)
/* f0741ec: 46082002 */ mul.s $f0,$f4,$f8
/* f0741f0: 46140032 */ c.eq.s $f0,$f20
/* f0741f4: 00000000 */ nop
/* f0741f8: 4501001c */ bc1t .L0f07426c
/* f0741fc: 3c0c8007 */ lui $t4,%hi(var80069b8c)
/* f074200: 258c9b8c */ addiu $t4,$t4,%lo(var80069b8c)
/* f074204: 8d810000 */ lw $at,0x0($t4)
/* f074208: 27a50404 */ addiu $a1,$sp,0x404
/* f07420c: 44060000 */ mfc1 $a2,$f0
/* f074210: aca10000 */ sw $at,0x0($a1)
/* f074214: 8d8e0004 */ lw $t6,0x4($t4)
/* f074218: 02202025 */ or $a0,$s1,$zero
/* f07421c: 24070001 */ addiu $a3,$zero,0x1
/* f074220: acae0004 */ sw $t6,0x4($a1)
/* f074224: 8d810008 */ lw $at,0x8($t4)
/* f074228: aca10008 */ sw $at,0x8($a1)
/* f07422c: 0fc1c851 */ jal func0f072144
/* f074230: e7a005a8 */ swc1 $f0,0x5a8($sp)
/* f074234: 2401ffff */ addiu $at,$zero,-1
/* f074238: 1041000c */ beq $v0,$at,.L0f07426c
/* f07423c: c7a005a8 */ lwc1 $f0,0x5a8($sp)
/* f074240: 1440000a */ bnez $v0,.L0f07426c
/* f074244: 00000000 */ nop
/* f074248: c60600dc */ lwc1 $f6,0xdc($s0)
/* f07424c: c604008c */ lwc1 $f4,0x8c($s0)
/* f074250: 44060000 */ mfc1 $a2,$f0
/* f074254: 46003287 */ neg.s $f10,$f6
/* f074258: 02202025 */ or $a0,$s1,$zero
/* f07425c: 46045202 */ mul.s $f8,$f10,$f4
/* f074260: 27a50404 */ addiu $a1,$sp,0x404
/* f074264: 0fc1c9f5 */ jal func0f0727d4
/* f074268: e60800dc */ swc1 $f8,0xdc($s0)
.L0f07426c:
/* f07426c: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f074270: c422a00c */ lwc1 $f2,%lo(g_Vars+0x4c)($at)
/* f074274: c6060004 */ lwc1 $f6,0x4($s0)
/* f074278: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f07427c: 8faf0088 */ lw $t7,0x88($sp)
/* f074280: 46023282 */ mul.s $f10,$f6,$f2
/* f074284: e7aa059c */ swc1 $f10,0x59c($sp)
/* f074288: c604000c */ lwc1 $f4,0xc($s0)
/* f07428c: 46022202 */ mul.s $f8,$f4,$f2
/* f074290: 11e00031 */ beqz $t7,.L0f074358
/* f074294: e7a805a4 */ swc1 $f8,0x5a4($sp)
/* f074298: c7a60430 */ lwc1 $f6,0x430($sp)
/* f07429c: c64a0008 */ lwc1 $f10,0x8($s2)
/* f0742a0: c7a8059c */ lwc1 $f8,0x59c($sp)
/* f0742a4: 460a3101 */ sub.s $f4,$f6,$f10
/* f0742a8: c64a0010 */ lwc1 $f10,0x10($s2)
/* f0742ac: c7a60438 */ lwc1 $f6,0x438($sp)
/* f0742b0: 46082001 */ sub.s $f0,$f4,$f8
/* f0742b4: c7a805a4 */ lwc1 $f8,0x5a4($sp)
/* f0742b8: 460a3101 */ sub.s $f4,$f6,$f10
/* f0742bc: 46000182 */ mul.s $f6,$f0,$f0
/* f0742c0: 46082081 */ sub.s $f2,$f4,$f8
/* f0742c4: 46021282 */ mul.s $f10,$f2,$f2
/* f0742c8: 0c012974 */ jal sqrtf
/* f0742cc: 460a3300 */ add.s $f12,$f6,$f10
/* f0742d0: c7ac0418 */ lwc1 $f12,0x418($sp)
/* f0742d4: c7a4041c */ lwc1 $f4,0x41c($sp)
/* f0742d8: 4600603c */ c.lt.s $f12,$f0
/* f0742dc: 00000000 */ nop
/* f0742e0: 45020009 */ bc1fl .L0f074308
/* f0742e4: 4600203c */ c.lt.s $f4,$f0
/* f0742e8: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f0742ec: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f0742f0: e7a0059c */ swc1 $f0,0x59c($sp)
/* f0742f4: e6000004 */ swc1 $f0,0x4($s0)
/* f0742f8: e600000c */ swc1 $f0,0xc($s0)
/* f0742fc: 10000016 */ b .L0f074358
/* f074300: e60000dc */ swc1 $f0,0xdc($s0)
/* f074304: 4600203c */ c.lt.s $f4,$f0
.L0f074308:
/* f074308: 3c017f1b */ lui $at,%hi(var7f1aa3d8)
/* f07430c: 45020013 */ bc1fl .L0f07435c
/* f074310: 4406a000 */ mfc1 $a2,$f20
/* f074314: 46006201 */ sub.s $f8,$f12,$f0
/* f074318: c426a3d8 */ lwc1 $f6,%lo(var7f1aa3d8)($at)
/* f07431c: c60a0004 */ lwc1 $f10,0x4($s0)
/* f074320: 46064082 */ mul.s $f2,$f8,$f6
/* f074324: c608000c */ lwc1 $f8,0xc($s0)
/* f074328: 46025102 */ mul.s $f4,$f10,$f2
/* f07432c: 00000000 */ nop
/* f074330: 46024182 */ mul.s $f6,$f8,$f2
/* f074334: e6040004 */ swc1 $f4,0x4($s0)
/* f074338: e606000c */ swc1 $f6,0xc($s0)
/* f07433c: c7aa059c */ lwc1 $f10,0x59c($sp)
/* f074340: c7a805a4 */ lwc1 $f8,0x5a4($sp)
/* f074344: 46025102 */ mul.s $f4,$f10,$f2
/* f074348: 00000000 */ nop
/* f07434c: 46024182 */ mul.s $f6,$f8,$f2
/* f074350: e7a4059c */ swc1 $f4,0x59c($sp)
/* f074354: e7a605a4 */ swc1 $f6,0x5a4($sp)
.L0f074358:
/* f074358: 4406a000 */ mfc1 $a2,$f20
.L0f07435c:
/* f07435c: 02202025 */ or $a0,$s1,$zero
/* f074360: 27a5059c */ addiu $a1,$sp,0x59c
/* f074364: 0fc1c851 */ jal func0f072144
/* f074368: 24070001 */ addiu $a3,$zero,0x1
/* f07436c: 144001ae */ bnez $v0,.L0f074a28
/* f074370: afa20600 */ sw $v0,0x600($sp)
/* f074374: 4406a000 */ mfc1 $a2,$f20
/* f074378: 02202025 */ or $a0,$s1,$zero
/* f07437c: 0fc1c9f5 */ jal func0f0727d4
/* f074380: 27a5059c */ addiu $a1,$sp,0x59c
/* f074384: c60a008c */ lwc1 $f10,0x8c($s0)
/* f074388: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f07438c: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f074390: 460a0402 */ mul.s $f16,$f0,$f10
/* f074394: 4610a03c */ c.lt.s $f20,$f16
/* f074398: 00000000 */ nop
/* f07439c: 450201a3 */ bc1fl .L0f074a2c
/* f0743a0: 8fab0600 */ lw $t3,0x600($sp)
/* f0743a4: 0c0094d9 */ jal cd00025364
/* f0743a8: e7b0058c */ swc1 $f16,0x58c($sp)
/* f0743ac: 1040000e */ beqz $v0,.L0f0743e8
/* f0743b0: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f0743b4: c7a403c4 */ lwc1 $f4,0x3c4($sp)
/* f0743b8: c7a803d0 */ lwc1 $f8,0x3d0($sp)
/* f0743bc: c7aa03c8 */ lwc1 $f10,0x3c8($sp)
/* f0743c0: 46082181 */ sub.s $f6,$f4,$f8
/* f0743c4: c7a403d4 */ lwc1 $f4,0x3d4($sp)
/* f0743c8: 46045201 */ sub.s $f8,$f10,$f4
/* f0743cc: e7a603c4 */ swc1 $f6,0x3c4($sp)
/* f0743d0: c7a603cc */ lwc1 $f6,0x3cc($sp)
/* f0743d4: c7aa03d8 */ lwc1 $f10,0x3d8($sp)
/* f0743d8: e7a803c8 */ swc1 $f8,0x3c8($sp)
/* f0743dc: 460a3101 */ sub.s $f4,$f6,$f10
/* f0743e0: 10000020 */ b .L0f074464
/* f0743e4: e7a403cc */ swc1 $f4,0x3cc($sp)
.L0f0743e8:
/* f0743e8: 3c077f1b */ lui $a3,%hi(var7f1a9fb8)
/* f0743ec: 24e79fb8 */ addiu $a3,$a3,%lo(var7f1a9fb8)
/* f0743f0: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f0743f4: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f0743f8: 24062093 */ addiu $a2,$zero,0x2093
/* f0743fc: 0c009393 */ jal cd00024e4c
/* f074400: e7b0058c */ swc1 $f16,0x58c($sp)
/* f074404: c7a803d0 */ lwc1 $f8,0x3d0($sp)
/* f074408: c7a603c4 */ lwc1 $f6,0x3c4($sp)
/* f07440c: c7a403d4 */ lwc1 $f4,0x3d4($sp)
/* f074410: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f074414: 46064281 */ sub.s $f10,$f8,$f6
/* f074418: c7a803c8 */ lwc1 $f8,0x3c8($sp)
/* f07441c: 46082181 */ sub.s $f6,$f4,$f8
/* f074420: e7aa03d0 */ swc1 $f10,0x3d0($sp)
/* f074424: c7aa03d8 */ lwc1 $f10,0x3d8($sp)
/* f074428: c7a403cc */ lwc1 $f4,0x3cc($sp)
/* f07442c: e7a603d4 */ swc1 $f6,0x3d4($sp)
/* f074430: e7a603c8 */ swc1 $f6,0x3c8($sp)
/* f074434: 46045201 */ sub.s $f8,$f10,$f4
/* f074438: c7a403d0 */ lwc1 $f4,0x3d0($sp)
/* f07443c: 46004287 */ neg.s $f10,$f8
/* f074440: e7a803d8 */ swc1 $f8,0x3d8($sp)
/* f074444: e7aa03c4 */ swc1 $f10,0x3c4($sp)
/* f074448: e7a403cc */ swc1 $f4,0x3cc($sp)
/* f07444c: c6480008 */ lwc1 $f8,0x8($s2)
/* f074450: e7a803d0 */ swc1 $f8,0x3d0($sp)
/* f074454: c64a000c */ lwc1 $f10,0xc($s2)
/* f074458: e7aa03d4 */ swc1 $f10,0x3d4($sp)
/* f07445c: c6460010 */ lwc1 $f6,0x10($s2)
/* f074460: e7a603d8 */ swc1 $f6,0x3d8($sp)
.L0f074464:
/* f074464: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f074468: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f07446c: 27a603b8 */ addiu $a2,$sp,0x3b8
/* f074470: 0fc0b93e */ jal func0f02e4f8
/* f074474: e7b0058c */ swc1 $f16,0x58c($sp)
/* f074478: c6440008 */ lwc1 $f4,0x8($s2)
/* f07447c: c7a805dc */ lwc1 $f8,0x5dc($sp)
/* f074480: e7b403b0 */ swc1 $f20,0x3b0($sp)
/* f074484: 3c017f1b */ lui $at,%hi(var7f1aa3dc)
/* f074488: 46082281 */ sub.s $f10,$f4,$f8
/* f07448c: c7a405e4 */ lwc1 $f4,0x5e4($sp)
/* f074490: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f074494: e7aa03ac */ swc1 $f10,0x3ac($sp)
/* f074498: c6460010 */ lwc1 $f6,0x10($s2)
/* f07449c: c7aa03b8 */ lwc1 $f10,0x3b8($sp)
/* f0744a0: 46043201 */ sub.s $f8,$f6,$f4
/* f0744a4: e7a803b4 */ swc1 $f8,0x3b4($sp)
/* f0744a8: c6460008 */ lwc1 $f6,0x8($s2)
/* f0744ac: c7a803c0 */ lwc1 $f8,0x3c0($sp)
/* f0744b0: 46065101 */ sub.s $f4,$f10,$f6
/* f0744b4: e7a403b8 */ swc1 $f4,0x3b8($sp)
/* f0744b8: c64a0010 */ lwc1 $f10,0x10($s2)
/* f0744bc: 460a4181 */ sub.s $f6,$f8,$f10
/* f0744c0: c7a803ac */ lwc1 $f8,0x3ac($sp)
/* f0744c4: 46064282 */ mul.s $f10,$f8,$f6
/* f0744c8: e7a603c0 */ swc1 $f6,0x3c0($sp)
/* f0744cc: c7a603b4 */ lwc1 $f6,0x3b4($sp)
/* f0744d0: 46002207 */ neg.s $f8,$f4
/* f0744d4: c60200ec */ lwc1 $f2,0xec($s0)
/* f0744d8: 46064102 */ mul.s $f4,$f8,$f6
/* f0744dc: c426a3dc */ lwc1 $f6,%lo(var7f1aa3dc)($at)
/* f0744e0: 46045200 */ add.s $f8,$f10,$f4
/* f0744e4: 46064382 */ mul.s $f14,$f8,$f6
/* f0744e8: 460e103c */ c.lt.s $f2,$f14
/* f0744ec: 46007006 */ mov.s $f0,$f14
/* f0744f0: 45020004 */ bc1fl .L0f074504
/* f0744f4: 46001307 */ neg.s $f12,$f2
/* f0744f8: 10000007 */ b .L0f074518
/* f0744fc: 46001006 */ mov.s $f0,$f2
/* f074500: 46001307 */ neg.s $f12,$f2
.L0f074504:
/* f074504: 460c703c */ c.lt.s $f14,$f12
/* f074508: 00000000 */ nop
/* f07450c: 45020003 */ bc1fl .L0f07451c
/* f074510: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f074514: 46006006 */ mov.s $f0,$f12
.L0f074518:
/* f074518: c60a00dc */ lwc1 $f10,0xdc($s0)
.L0f07451c:
/* f07451c: 3c077f1b */ lui $a3,%hi(var7f1a9fc4)
/* f074520: 24e79fc4 */ addiu $a3,$a3,%lo(var7f1a9fc4)
/* f074524: 46005100 */ add.s $f4,$f10,$f0
/* f074528: 27a403e8 */ addiu $a0,$sp,0x3e8
/* f07452c: 27a503dc */ addiu $a1,$sp,0x3dc
/* f074530: 240620b9 */ addiu $a2,$zero,0x20b9
/* f074534: e60400dc */ swc1 $f4,0xdc($s0)
/* f074538: 0c009393 */ jal cd00024e4c
/* f07453c: e7b0058c */ swc1 $f16,0x58c($sp)
/* f074540: c7a803e4 */ lwc1 $f8,0x3e4($sp)
/* f074544: c7a603f0 */ lwc1 $f6,0x3f0($sp)
/* f074548: c7ae03e8 */ lwc1 $f14,0x3e8($sp)
/* f07454c: c7b203dc */ lwc1 $f18,0x3dc($sp)
/* f074550: 46064001 */ sub.s $f0,$f8,$f6
/* f074554: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f074558: e7b403f8 */ swc1 $f20,0x3f8($sp)
/* f07455c: 46127281 */ sub.s $f10,$f14,$f18
/* f074560: e7a003f4 */ swc1 $f0,0x3f4($sp)
/* f074564: 27a403f4 */ addiu $a0,$sp,0x3f4
/* f074568: 4600a032 */ c.eq.s $f20,$f0
/* f07456c: e7aa03fc */ swc1 $f10,0x3fc($sp)
/* f074570: c7a403fc */ lwc1 $f4,0x3fc($sp)
/* f074574: 27a503f8 */ addiu $a1,$sp,0x3f8
/* f074578: 45000005 */ bc1f .L0f074590
/* f07457c: 27a603fc */ addiu $a2,$sp,0x3fc
/* f074580: 4604a032 */ c.eq.s $f20,$f4
/* f074584: 3c013f80 */ lui $at,0x3f80
/* f074588: 45030006 */ bc1tl .L0f0745a4
/* f07458c: 44814000 */ mtc1 $at,$f8
.L0f074590:
/* f074590: 0c0011e4 */ jal guNormalize
/* f074594: e7b0058c */ swc1 $f16,0x58c($sp)
/* f074598: 10000004 */ b .L0f0745ac
/* f07459c: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f0745a0: 44814000 */ mtc1 $at,$f8
.L0f0745a4:
/* f0745a4: 00000000 */ nop
/* f0745a8: e7a803fc */ swc1 $f8,0x3fc($sp)
.L0f0745ac:
/* f0745ac: c7a603fc */ lwc1 $f6,0x3fc($sp)
/* f0745b0: c60a000c */ lwc1 $f10,0xc($s0)
/* f0745b4: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0745b8: c7a803f4 */ lwc1 $f8,0x3f4($sp)
/* f0745bc: 460a3102 */ mul.s $f4,$f6,$f10
/* f0745c0: 3c013f80 */ lui $at,0x3f80
/* f0745c4: e7b40594 */ swc1 $f20,0x594($sp)
/* f0745c8: 46087282 */ mul.s $f10,$f14,$f8
/* f0745cc: 8fb80088 */ lw $t8,0x88($sp)
/* f0745d0: 460a2000 */ add.s $f0,$f4,$f10
/* f0745d4: 44812000 */ mtc1 $at,$f4
/* f0745d8: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f0745dc: c422a00c */ lwc1 $f2,%lo(g_Vars+0x4c)($at)
/* f0745e0: 46048280 */ add.s $f10,$f16,$f4
/* f0745e4: 46005107 */ neg.s $f4,$f10
/* f0745e8: 46040002 */ mul.s $f0,$f0,$f4
/* f0745ec: 00000000 */ nop
/* f0745f0: 46004282 */ mul.s $f10,$f8,$f0
/* f0745f4: 460e5100 */ add.s $f4,$f10,$f14
/* f0745f8: 46003202 */ mul.s $f8,$f6,$f0
/* f0745fc: e7a40590 */ swc1 $f4,0x590($sp)
/* f074600: c60a000c */ lwc1 $f10,0xc($s0)
/* f074604: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f074608: 460a4180 */ add.s $f6,$f8,$f10
/* f07460c: 46022202 */ mul.s $f8,$f4,$f2
/* f074610: c7a40430 */ lwc1 $f4,0x430($sp)
/* f074614: 46023282 */ mul.s $f10,$f6,$f2
/* f074618: e7a60598 */ swc1 $f6,0x598($sp)
/* f07461c: e7a8059c */ swc1 $f8,0x59c($sp)
/* f074620: 1300002f */ beqz $t8,.L0f0746e0
/* f074624: e7aa05a4 */ swc1 $f10,0x5a4($sp)
/* f074628: c6460008 */ lwc1 $f6,0x8($s2)
/* f07462c: 46062101 */ sub.s $f4,$f4,$f6
/* f074630: c7a60438 */ lwc1 $f6,0x438($sp)
/* f074634: 46082001 */ sub.s $f0,$f4,$f8
/* f074638: c6440010 */ lwc1 $f4,0x10($s2)
/* f07463c: 46043201 */ sub.s $f8,$f6,$f4
/* f074640: 46000182 */ mul.s $f6,$f0,$f0
/* f074644: 460a4081 */ sub.s $f2,$f8,$f10
/* f074648: 46021102 */ mul.s $f4,$f2,$f2
/* f07464c: 0c012974 */ jal sqrtf
/* f074650: 46043300 */ add.s $f12,$f6,$f4
/* f074654: c7a80418 */ lwc1 $f8,0x418($sp)
/* f074658: c7aa041c */ lwc1 $f10,0x41c($sp)
/* f07465c: 4600403c */ c.lt.s $f8,$f0
/* f074660: 00000000 */ nop
/* f074664: 45020009 */ bc1fl .L0f07468c
/* f074668: 4600503c */ c.lt.s $f10,$f0
/* f07466c: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f074670: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f074674: e7a0059c */ swc1 $f0,0x59c($sp)
/* f074678: e6000004 */ swc1 $f0,0x4($s0)
/* f07467c: e600000c */ swc1 $f0,0xc($s0)
/* f074680: 10000017 */ b .L0f0746e0
/* f074684: e60000dc */ swc1 $f0,0xdc($s0)
/* f074688: 4600503c */ c.lt.s $f10,$f0
.L0f07468c:
/* f07468c: c7a60418 */ lwc1 $f6,0x418($sp)
/* f074690: 3c017f1b */ lui $at,%hi(var7f1aa3e0)
/* f074694: 45020013 */ bc1fl .L0f0746e4
/* f074698: 4406a000 */ mfc1 $a2,$f20
/* f07469c: 46003101 */ sub.s $f4,$f6,$f0
/* f0746a0: c428a3e0 */ lwc1 $f8,%lo(var7f1aa3e0)($at)
/* f0746a4: c60a0004 */ lwc1 $f10,0x4($s0)
/* f0746a8: 46082082 */ mul.s $f2,$f4,$f8
/* f0746ac: c604000c */ lwc1 $f4,0xc($s0)
/* f0746b0: 46025182 */ mul.s $f6,$f10,$f2
/* f0746b4: 00000000 */ nop
/* f0746b8: 46022202 */ mul.s $f8,$f4,$f2
/* f0746bc: e6060004 */ swc1 $f6,0x4($s0)
/* f0746c0: e608000c */ swc1 $f8,0xc($s0)
/* f0746c4: c7aa059c */ lwc1 $f10,0x59c($sp)
/* f0746c8: c7a405a4 */ lwc1 $f4,0x5a4($sp)
/* f0746cc: 46025182 */ mul.s $f6,$f10,$f2
/* f0746d0: 00000000 */ nop
/* f0746d4: 46022202 */ mul.s $f8,$f4,$f2
/* f0746d8: e7a6059c */ swc1 $f6,0x59c($sp)
/* f0746dc: e7a805a4 */ swc1 $f8,0x5a4($sp)
.L0f0746e0:
/* f0746e0: 4406a000 */ mfc1 $a2,$f20
.L0f0746e4:
/* f0746e4: 02202025 */ or $a0,$s1,$zero
/* f0746e8: 27a5059c */ addiu $a1,$sp,0x59c
/* f0746ec: 0fc1c851 */ jal func0f072144
/* f0746f0: 24070001 */ addiu $a3,$zero,0x1
/* f0746f4: 144000c2 */ bnez $v0,.L0f074a00
/* f0746f8: afa20600 */ sw $v0,0x600($sp)
/* f0746fc: 4406a000 */ mfc1 $a2,$f20
/* f074700: 02202025 */ or $a0,$s1,$zero
/* f074704: 0fc1c9f5 */ jal func0f0727d4
/* f074708: 27a5059c */ addiu $a1,$sp,0x59c
/* f07470c: c60a008c */ lwc1 $f10,0x8c($s0)
/* f074710: c6060004 */ lwc1 $f6,0x4($s0)
/* f074714: e7b40594 */ swc1 $f20,0x594($sp)
/* f074718: 460a0402 */ mul.s $f16,$f0,$f10
/* f07471c: 46003107 */ neg.s $f4,$f6
/* f074720: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f074724: c422a00c */ lwc1 $f2,%lo(g_Vars+0x4c)($at)
/* f074728: 8fb90088 */ lw $t9,0x88($sp)
/* f07472c: 46102202 */ mul.s $f8,$f4,$f16
/* f074730: e7a80590 */ swc1 $f8,0x590($sp)
/* f074734: c60a000c */ lwc1 $f10,0xc($s0)
/* f074738: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f07473c: 46005187 */ neg.s $f6,$f10
/* f074740: 46103102 */ mul.s $f4,$f6,$f16
/* f074744: 00000000 */ nop
/* f074748: 46024282 */ mul.s $f10,$f8,$f2
/* f07474c: c7a80430 */ lwc1 $f8,0x430($sp)
/* f074750: 46022182 */ mul.s $f6,$f4,$f2
/* f074754: e7a40598 */ swc1 $f4,0x598($sp)
/* f074758: e7aa059c */ swc1 $f10,0x59c($sp)
/* f07475c: 1320002f */ beqz $t9,.L0f07481c
/* f074760: e7a605a4 */ swc1 $f6,0x5a4($sp)
/* f074764: c6440008 */ lwc1 $f4,0x8($s2)
/* f074768: 46044201 */ sub.s $f8,$f8,$f4
/* f07476c: c7a40438 */ lwc1 $f4,0x438($sp)
/* f074770: 460a4001 */ sub.s $f0,$f8,$f10
/* f074774: c6480010 */ lwc1 $f8,0x10($s2)
/* f074778: 46082281 */ sub.s $f10,$f4,$f8
/* f07477c: 46000102 */ mul.s $f4,$f0,$f0
/* f074780: 46065081 */ sub.s $f2,$f10,$f6
/* f074784: 46021202 */ mul.s $f8,$f2,$f2
/* f074788: 0c012974 */ jal sqrtf
/* f07478c: 46082300 */ add.s $f12,$f4,$f8
/* f074790: c7aa0418 */ lwc1 $f10,0x418($sp)
/* f074794: c7a6041c */ lwc1 $f6,0x41c($sp)
/* f074798: 4600503c */ c.lt.s $f10,$f0
/* f07479c: 00000000 */ nop
/* f0747a0: 45020009 */ bc1fl .L0f0747c8
/* f0747a4: 4600303c */ c.lt.s $f6,$f0
/* f0747a8: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f0747ac: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f0747b0: e7a0059c */ swc1 $f0,0x59c($sp)
/* f0747b4: e6000004 */ swc1 $f0,0x4($s0)
/* f0747b8: e600000c */ swc1 $f0,0xc($s0)
/* f0747bc: 10000017 */ b .L0f07481c
/* f0747c0: e60000dc */ swc1 $f0,0xdc($s0)
/* f0747c4: 4600303c */ c.lt.s $f6,$f0
.L0f0747c8:
/* f0747c8: c7a40418 */ lwc1 $f4,0x418($sp)
/* f0747cc: 3c017f1b */ lui $at,%hi(var7f1aa3e4)
/* f0747d0: 45020013 */ bc1fl .L0f074820
/* f0747d4: 4406a000 */ mfc1 $a2,$f20
/* f0747d8: 46002201 */ sub.s $f8,$f4,$f0
/* f0747dc: c42aa3e4 */ lwc1 $f10,%lo(var7f1aa3e4)($at)
/* f0747e0: c6060004 */ lwc1 $f6,0x4($s0)
/* f0747e4: 460a4082 */ mul.s $f2,$f8,$f10
/* f0747e8: c608000c */ lwc1 $f8,0xc($s0)
/* f0747ec: 46023102 */ mul.s $f4,$f6,$f2
/* f0747f0: 00000000 */ nop
/* f0747f4: 46024282 */ mul.s $f10,$f8,$f2
/* f0747f8: e6040004 */ swc1 $f4,0x4($s0)
/* f0747fc: e60a000c */ swc1 $f10,0xc($s0)
/* f074800: c7a6059c */ lwc1 $f6,0x59c($sp)
/* f074804: c7a805a4 */ lwc1 $f8,0x5a4($sp)
/* f074808: 46023102 */ mul.s $f4,$f6,$f2
/* f07480c: 00000000 */ nop
/* f074810: 46024282 */ mul.s $f10,$f8,$f2
/* f074814: e7a4059c */ swc1 $f4,0x59c($sp)
/* f074818: e7aa05a4 */ swc1 $f10,0x5a4($sp)
.L0f07481c:
/* f07481c: 4406a000 */ mfc1 $a2,$f20
.L0f074820:
/* f074820: 02202025 */ or $a0,$s1,$zero
/* f074824: 27a5059c */ addiu $a1,$sp,0x59c
/* f074828: 0fc1c851 */ jal func0f072144
/* f07482c: 24070001 */ addiu $a3,$zero,0x1
/* f074830: 14400073 */ bnez $v0,.L0f074a00
/* f074834: afa20600 */ sw $v0,0x600($sp)
/* f074838: 4406a000 */ mfc1 $a2,$f20
/* f07483c: 02202025 */ or $a0,$s1,$zero
/* f074840: 0fc1c9f5 */ jal func0f0727d4
/* f074844: 27a5059c */ addiu $a1,$sp,0x59c
/* f074848: c7ae03e8 */ lwc1 $f14,0x3e8($sp)
/* f07484c: c7b203dc */ lwc1 $f18,0x3dc($sp)
/* f074850: c7a603f0 */ lwc1 $f6,0x3f0($sp)
/* f074854: c7a403e4 */ lwc1 $f4,0x3e4($sp)
/* f074858: 46127032 */ c.eq.s $f14,$f18
/* f07485c: c7a803e4 */ lwc1 $f8,0x3e4($sp)
/* f074860: c7aa03f0 */ lwc1 $f10,0x3f0($sp)
/* f074864: 45020006 */ bc1fl .L0f074880
/* f074868: 460a4081 */ sub.s $f2,$f8,$f10
/* f07486c: 46043032 */ c.eq.s $f6,$f4
/* f074870: 00000000 */ nop
/* f074874: 45030063 */ bc1tl .L0f074a04
/* f074878: 8faa0600 */ lw $t2,0x600($sp)
/* f07487c: 460a4081 */ sub.s $f2,$f8,$f10
.L0f074880:
/* f074880: 460e9001 */ sub.s $f0,$f18,$f14
/* f074884: 46021182 */ mul.s $f6,$f2,$f2
/* f074888: e7a203a0 */ swc1 $f2,0x3a0($sp)
/* f07488c: 46000102 */ mul.s $f4,$f0,$f0
/* f074890: e7a00398 */ swc1 $f0,0x398($sp)
/* f074894: 0c012974 */ jal sqrtf
/* f074898: 46043300 */ add.s $f12,$f6,$f4
/* f07489c: 3c013f80 */ lui $at,0x3f80
/* f0748a0: 44814000 */ mtc1 $at,$f8
/* f0748a4: c7aa0398 */ lwc1 $f10,0x398($sp)
/* f0748a8: c7a403a0 */ lwc1 $f4,0x3a0($sp)
/* f0748ac: 46004303 */ div.s $f12,$f8,$f0
/* f0748b0: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f0748b4: c422a00c */ lwc1 $f2,%lo(g_Vars+0x4c)($at)
/* f0748b8: 8fa90088 */ lw $t1,0x88($sp)
/* f0748bc: 460c5182 */ mul.s $f6,$f10,$f12
/* f0748c0: 00000000 */ nop
/* f0748c4: 460c2202 */ mul.s $f8,$f4,$f12
/* f0748c8: e7a60398 */ swc1 $f6,0x398($sp)
/* f0748cc: e7a803a0 */ swc1 $f8,0x3a0($sp)
/* f0748d0: c60a000c */ lwc1 $f10,0xc($s0)
/* f0748d4: 460a4102 */ mul.s $f4,$f8,$f10
/* f0748d8: c60a0004 */ lwc1 $f10,0x4($s0)
/* f0748dc: e7b40594 */ swc1 $f20,0x594($sp)
/* f0748e0: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f0748e4: 46065282 */ mul.s $f10,$f10,$f6
/* f0748e8: 460a2380 */ add.s $f14,$f4,$f10
/* f0748ec: 460e3102 */ mul.s $f4,$f6,$f14
/* f0748f0: 00000000 */ nop
/* f0748f4: 460e4282 */ mul.s $f10,$f8,$f14
/* f0748f8: 00000000 */ nop
/* f0748fc: 46022182 */ mul.s $f6,$f4,$f2
/* f074900: e7a40590 */ swc1 $f4,0x590($sp)
/* f074904: c7a40430 */ lwc1 $f4,0x430($sp)
/* f074908: 46025202 */ mul.s $f8,$f10,$f2
/* f07490c: e7aa0598 */ swc1 $f10,0x598($sp)
/* f074910: e7a6059c */ swc1 $f6,0x59c($sp)
/* f074914: 1120002f */ beqz $t1,.L0f0749d4
/* f074918: e7a805a4 */ swc1 $f8,0x5a4($sp)
/* f07491c: c64a0008 */ lwc1 $f10,0x8($s2)
/* f074920: 460a2101 */ sub.s $f4,$f4,$f10
/* f074924: c7aa0438 */ lwc1 $f10,0x438($sp)
/* f074928: 46062001 */ sub.s $f0,$f4,$f6
/* f07492c: c6440010 */ lwc1 $f4,0x10($s2)
/* f074930: 46045181 */ sub.s $f6,$f10,$f4
/* f074934: 46000282 */ mul.s $f10,$f0,$f0
/* f074938: 46083081 */ sub.s $f2,$f6,$f8
/* f07493c: 46021102 */ mul.s $f4,$f2,$f2
/* f074940: 0c012974 */ jal sqrtf
/* f074944: 46045300 */ add.s $f12,$f10,$f4
/* f074948: c7a60418 */ lwc1 $f6,0x418($sp)
/* f07494c: c7a8041c */ lwc1 $f8,0x41c($sp)
/* f074950: 4600303c */ c.lt.s $f6,$f0
/* f074954: 00000000 */ nop
/* f074958: 45020009 */ bc1fl .L0f074980
/* f07495c: 4600403c */ c.lt.s $f8,$f0
/* f074960: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f074964: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f074968: e7a0059c */ swc1 $f0,0x59c($sp)
/* f07496c: e6000004 */ swc1 $f0,0x4($s0)
/* f074970: e600000c */ swc1 $f0,0xc($s0)
/* f074974: 10000017 */ b .L0f0749d4
/* f074978: e60000dc */ swc1 $f0,0xdc($s0)
/* f07497c: 4600403c */ c.lt.s $f8,$f0
.L0f074980:
/* f074980: c7aa0418 */ lwc1 $f10,0x418($sp)
/* f074984: 3c017f1b */ lui $at,%hi(var7f1aa3e8)
/* f074988: 45020013 */ bc1fl .L0f0749d8
/* f07498c: 4406a000 */ mfc1 $a2,$f20
/* f074990: 46005101 */ sub.s $f4,$f10,$f0
/* f074994: c426a3e8 */ lwc1 $f6,%lo(var7f1aa3e8)($at)
/* f074998: c6080004 */ lwc1 $f8,0x4($s0)
/* f07499c: 46062082 */ mul.s $f2,$f4,$f6
/* f0749a0: c604000c */ lwc1 $f4,0xc($s0)
/* f0749a4: 46024282 */ mul.s $f10,$f8,$f2
/* f0749a8: 00000000 */ nop
/* f0749ac: 46022182 */ mul.s $f6,$f4,$f2
/* f0749b0: e60a0004 */ swc1 $f10,0x4($s0)
/* f0749b4: e606000c */ swc1 $f6,0xc($s0)
/* f0749b8: c7a8059c */ lwc1 $f8,0x59c($sp)
/* f0749bc: c7a405a4 */ lwc1 $f4,0x5a4($sp)
/* f0749c0: 46024282 */ mul.s $f10,$f8,$f2
/* f0749c4: 00000000 */ nop
/* f0749c8: 46022182 */ mul.s $f6,$f4,$f2
/* f0749cc: e7aa059c */ swc1 $f10,0x59c($sp)
/* f0749d0: e7a605a4 */ swc1 $f6,0x5a4($sp)
.L0f0749d4:
/* f0749d4: 4406a000 */ mfc1 $a2,$f20
.L0f0749d8:
/* f0749d8: 02202025 */ or $a0,$s1,$zero
/* f0749dc: 27a5059c */ addiu $a1,$sp,0x59c
/* f0749e0: 0fc1c851 */ jal func0f072144
/* f0749e4: 24070001 */ addiu $a3,$zero,0x1
/* f0749e8: 14400005 */ bnez $v0,.L0f074a00
/* f0749ec: afa20600 */ sw $v0,0x600($sp)
/* f0749f0: 4406a000 */ mfc1 $a2,$f20
/* f0749f4: 02202025 */ or $a0,$s1,$zero
/* f0749f8: 0fc1c9f5 */ jal func0f0727d4
/* f0749fc: 27a5059c */ addiu $a1,$sp,0x59c
.L0f074a00:
/* f074a00: 8faa0600 */ lw $t2,0x600($sp)
.L0f074a04:
/* f074a04: 24010001 */ addiu $at,$zero,0x1
/* f074a08: c7a80590 */ lwc1 $f8,0x590($sp)
/* f074a0c: 55410007 */ bnel $t2,$at,.L0f074a2c
/* f074a10: 8fab0600 */ lw $t3,0x600($sp)
/* f074a14: e6080004 */ swc1 $f8,0x4($s0)
/* f074a18: c7aa0594 */ lwc1 $f10,0x594($sp)
/* f074a1c: e60a0008 */ swc1 $f10,0x8($s0)
/* f074a20: c7a40598 */ lwc1 $f4,0x598($sp)
/* f074a24: e604000c */ swc1 $f4,0xc($s0)
.L0f074a28:
/* f074a28: 8fab0600 */ lw $t3,0x600($sp)
.L0f074a2c:
/* f074a2c: 24010001 */ addiu $at,$zero,0x1
/* f074a30: 51610005 */ beql $t3,$at,.L0f074a48
/* f074a34: 8e040088 */ lw $a0,0x88($s0)
/* f074a38: e61400dc */ swc1 $f20,0xdc($s0)
/* f074a3c: e614000c */ swc1 $f20,0xc($s0)
/* f074a40: e6140004 */ swc1 $f20,0x4($s0)
/* f074a44: 8e040088 */ lw $a0,0x88($s0)
.L0f074a48:
/* f074a48: 50800004 */ beqzl $a0,.L0f074a5c
/* f074a4c: c6060004 */ lwc1 $f6,0x4($s0)
/* f074a50: 0fc1905e */ jal propSetPerimEnabled
/* f074a54: 24050001 */ addiu $a1,$zero,0x1
/* f074a58: c6060004 */ lwc1 $f6,0x4($s0)
.L0f074a5c:
/* f074a5c: 4606a032 */ c.eq.s $f20,$f6
/* f074a60: 00000000 */ nop
/* f074a64: 4502000e */ bc1fl .L0f074aa0
/* f074a68: 8fad0600 */ lw $t5,0x600($sp)
/* f074a6c: c608000c */ lwc1 $f8,0xc($s0)
/* f074a70: 4608a032 */ c.eq.s $f20,$f8
/* f074a74: 00000000 */ nop
/* f074a78: 45020009 */ bc1fl .L0f074aa0
/* f074a7c: 8fad0600 */ lw $t5,0x600($sp)
/* f074a80: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f074a84: 460aa032 */ c.eq.s $f20,$f10
/* f074a88: 00000000 */ nop
/* f074a8c: 45020004 */ bc1fl .L0f074aa0
/* f074a90: 8fad0600 */ lw $t5,0x600($sp)
/* f074a94: 0fc1ab10 */ jal objEndFlight
/* f074a98: 02202025 */ or $a0,$s1,$zero
/* f074a9c: 8fad0600 */ lw $t5,0x600($sp)
.L0f074aa0:
/* f074aa0: 24010001 */ addiu $at,$zero,0x1
/* f074aa4: 8fa40070 */ lw $a0,0x70($sp)
/* f074aa8: 15a10012 */ bne $t5,$at,.L0f074af4
/* f074aac: 3c054000 */ lui $a1,0x4000
/* f074ab0: 26460028 */ addiu $a2,$s2,0x28
/* f074ab4: 26270058 */ addiu $a3,$s1,0x58
/* f074ab8: 0c00a8cc */ jal cdFindGroundYSimple
/* f074abc: afa00010 */ sw $zero,0x10($sp)
/* f074ac0: 3c017f1b */ lui $at,%hi(var7f1aa3ec)
/* f074ac4: c424a3ec */ lwc1 $f4,%lo(var7f1aa3ec)($at)
/* f074ac8: 46000086 */ mov.s $f2,$f0
/* f074acc: 02202025 */ or $a0,$s1,$zero
/* f074ad0: 4600203c */ c.lt.s $f4,$f0
/* f074ad4: 00000000 */ nop
/* f074ad8: 45020007 */ bc1fl .L0f074af8
/* f074adc: 02202025 */ or $a0,$s1,$zero
/* f074ae0: 0fc1c4d8 */ jal objGetHov04
/* f074ae4: e7a20584 */ swc1 $f2,0x584($sp)
/* f074ae8: c7a20584 */ lwc1 $f2,0x584($sp)
/* f074aec: 46020180 */ add.s $f6,$f0,$f2
/* f074af0: e646000c */ swc1 $f6,0xc($s2)
.L0f074af4:
/* f074af4: 02202025 */ or $a0,$s1,$zero
.L0f074af8:
/* f074af8: 00002825 */ or $a1,$zero,$zero
/* f074afc: 0fc1a71c */ jal func0f069c70
/* f074b00: 24060001 */ addiu $a2,$zero,0x1
/* f074b04: 27b00484 */ addiu $s0,$sp,0x484
/* f074b08: 02002825 */ or $a1,$s0,$zero
/* f074b0c: 0c005755 */ jal mtx3ToMtx4
/* f074b10: 8fa40074 */ lw $a0,0x74($sp)
/* f074b14: 8fa40070 */ lw $a0,0x70($sp)
/* f074b18: 0c005775 */ jal mtx4SetTranslation
/* f074b1c: 02002825 */ or $a1,$s0,$zero
/* f074b20: 27b104c4 */ addiu $s1,$sp,0x4c4
/* f074b24: 02202825 */ or $a1,$s1,$zero
/* f074b28: 0c005cbc */ jal mtx000172f0
/* f074b2c: 27a40504 */ addiu $a0,$sp,0x504
/* f074b30: 02002025 */ or $a0,$s0,$zero
/* f074b34: 02202825 */ or $a1,$s1,$zero
/* f074b38: 0c005680 */ jal mtx4MultMtx4
/* f074b3c: 27a60544 */ addiu $a2,$sp,0x544
/* f074b40: 02402025 */ or $a0,$s2,$zero
/* f074b44: 0fc1ccb5 */ jal func0f0732d4
/* f074b48: 27a50544 */ addiu $a1,$sp,0x544
/* f074b4c: 240c0001 */ addiu $t4,$zero,0x1
/* f074b50: 100008ef */ b .L0f076f10
/* f074b54: afac05d8 */ sw $t4,0x5d8($sp)
.L0f074b58:
/* f074b58: 11c007c2 */ beqz $t6,.L0f076a64
/* f074b5c: 304c0400 */ andi $t4,$v0,0x400
/* f074b60: afa00354 */ sw $zero,0x354($sp)
/* f074b64: afa00350 */ sw $zero,0x350($sp)
/* f074b68: afa0034c */ sw $zero,0x34c($sp)
/* f074b6c: 8e0f00d0 */ lw $t7,0xd0($s0)
/* f074b70: 8c780034 */ lw $t8,0x34($v1)
/* f074b74: 30494000 */ andi $t1,$v0,0x4000
/* f074b78: 01f8c821 */ addu $t9,$t7,$t8
/* f074b7c: 15200003 */ bnez $t1,.L0f074b8c
/* f074b80: ae1900d0 */ sw $t9,0xd0($s0)
/* f074b84: 2b212581 */ slti $at,$t9,0x2581
/* f074b88: 10200021 */ beqz $at,.L0f074c10
.L0f074b8c:
/* f074b8c: 3c017f1b */ lui $at,%hi(var7f1aa3f0)
/* f074b90: c428a3f0 */ lwc1 $f8,%lo(var7f1aa3f0)($at)
/* f074b94: c640000c */ lwc1 $f0,0xc($s2)
/* f074b98: 3c0146fa */ lui $at,0x46fa
/* f074b9c: 4608003c */ c.lt.s $f0,$f8
/* f074ba0: 00000000 */ nop
/* f074ba4: 4503001b */ bc1tl .L0f074c14
/* f074ba8: 8e2b0040 */ lw $t3,0x40($s1)
/* f074bac: 44811000 */ mtc1 $at,$f2
/* f074bb0: 3c01c6fa */ lui $at,0xc6fa
/* f074bb4: 4600103c */ c.lt.s $f2,$f0
/* f074bb8: 00000000 */ nop
/* f074bbc: 45030015 */ bc1tl .L0f074c14
/* f074bc0: 8e2b0040 */ lw $t3,0x40($s1)
/* f074bc4: 44816000 */ mtc1 $at,$f12
/* f074bc8: c6400008 */ lwc1 $f0,0x8($s2)
/* f074bcc: 460c003c */ c.lt.s $f0,$f12
/* f074bd0: 00000000 */ nop
/* f074bd4: 4503000f */ bc1tl .L0f074c14
/* f074bd8: 8e2b0040 */ lw $t3,0x40($s1)
/* f074bdc: 4600103c */ c.lt.s $f2,$f0
/* f074be0: 00000000 */ nop
/* f074be4: 4503000b */ bc1tl .L0f074c14
/* f074be8: 8e2b0040 */ lw $t3,0x40($s1)
/* f074bec: c6400010 */ lwc1 $f0,0x10($s2)
/* f074bf0: 460c003c */ c.lt.s $f0,$f12
/* f074bf4: 00000000 */ nop
/* f074bf8: 45030006 */ bc1tl .L0f074c14
/* f074bfc: 8e2b0040 */ lw $t3,0x40($s1)
/* f074c00: 4600103c */ c.lt.s $f2,$f0
/* f074c04: 00000000 */ nop
/* f074c08: 45020005 */ bc1fl .L0f074c20
/* f074c0c: 8e0c00a0 */ lw $t4,0xa0($s0)
.L0f074c10:
/* f074c10: 8e2b0040 */ lw $t3,0x40($s1)
.L0f074c14:
/* f074c14: 356d0004 */ ori $t5,$t3,0x4
/* f074c18: ae2d0040 */ sw $t5,0x40($s1)
/* f074c1c: 8e0c00a0 */ lw $t4,0xa0($s0)
.L0f074c20:
/* f074c20: 8c6e0034 */ lw $t6,0x34($v1)
/* f074c24: 2624001c */ addiu $a0,$s1,0x1c
/* f074c28: 27a50358 */ addiu $a1,$sp,0x358
/* f074c2c: 018e7821 */ addu $t7,$t4,$t6
/* f074c30: ae0f00a0 */ sw $t7,0xa0($s0)
/* f074c34: 0c005736 */ jal mtx3Copy
/* f074c38: afa40074 */ sw $a0,0x74($sp)
/* f074c3c: 8e180000 */ lw $t8,0x0($s0)
/* f074c40: 3c017f1b */ lui $at,%hi(var7f1aa3f4)
/* f074c44: 33190020 */ andi $t9,$t8,0x20
/* f074c48: 5320004b */ beqzl $t9,.L0f074d78
/* f074c4c: 922c0003 */ lbu $t4,0x3($s1)
/* f074c50: c430a3f4 */ lwc1 $f16,%lo(var7f1aa3f4)($at)
/* f074c54: c600001c */ lwc1 $f0,0x1c($s0)
/* f074c58: 3c03800a */ lui $v1,%hi(g_Vars)
/* f074c5c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f074c60: 4610003c */ c.lt.s $f0,$f16
/* f074c64: 00000000 */ nop
/* f074c68: 4502001b */ bc1fl .L0f074cd8
/* f074c6c: c60000a8 */ lwc1 $f0,0xa8($s0)
/* f074c70: c60a0014 */ lwc1 $f10,0x14($s0)
/* f074c74: c464004c */ lwc1 $f4,0x4c($v1)
/* f074c78: c60800ac */ lwc1 $f8,0xac($s0)
/* f074c7c: 3c017f1b */ lui $at,%hi(var7f1aa3f8)
/* f074c80: 46045182 */ mul.s $f6,$f10,$f4
/* f074c84: 46064280 */ add.s $f10,$f8,$f6
/* f074c88: e60a00ac */ swc1 $f10,0xac($s0)
/* f074c8c: c468004c */ lwc1 $f8,0x4c($v1)
/* f074c90: c60400ac */ lwc1 $f4,0xac($s0)
/* f074c94: c60a00a8 */ lwc1 $f10,0xa8($s0)
/* f074c98: 46082182 */ mul.s $f6,$f4,$f8
/* f074c9c: 46065100 */ add.s $f4,$f10,$f6
/* f074ca0: e60400a8 */ swc1 $f4,0xa8($s0)
/* f074ca4: c46a004c */ lwc1 $f10,0x4c($v1)
/* f074ca8: c428a3f8 */ lwc1 $f8,%lo(var7f1aa3f8)($at)
/* f074cac: 460a4182 */ mul.s $f6,$f8,$f10
/* f074cb0: 46060100 */ add.s $f4,$f0,$f6
/* f074cb4: e604001c */ swc1 $f4,0x1c($s0)
/* f074cb8: c608001c */ lwc1 $f8,0x1c($s0)
/* f074cbc: 4608803c */ c.lt.s $f16,$f8
/* f074cc0: 00000000 */ nop
/* f074cc4: 4502002c */ bc1fl .L0f074d78
/* f074cc8: 922c0003 */ lbu $t4,0x3($s1)
/* f074ccc: 10000029 */ b .L0f074d74
/* f074cd0: e610001c */ swc1 $f16,0x1c($s0)
/* f074cd4: c60000a8 */ lwc1 $f0,0xa8($s0)
.L0f074cd8:
/* f074cd8: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f074cdc: 4600503c */ c.lt.s $f10,$f0
/* f074ce0: 00000000 */ nop
/* f074ce4: 45000018 */ bc1f .L0f074d48
/* f074ce8: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f074cec: c424a00c */ lwc1 $f4,%lo(g_Vars+0x4c)($at)
/* f074cf0: c6060014 */ lwc1 $f6,0x14($s0)
/* f074cf4: c60a00ac */ lwc1 $f10,0xac($s0)
/* f074cf8: 46043202 */ mul.s $f8,$f6,$f4
/* f074cfc: 46085180 */ add.s $f6,$f10,$f8
/* f074d00: e60600ac */ swc1 $f6,0xac($s0)
/* f074d04: c42aa00c */ lwc1 $f10,-0x5ff4($at)
/* f074d08: c60400ac */ lwc1 $f4,0xac($s0)
/* f074d0c: 3c017f1b */ lui $at,%hi(var7f1aa3fc)
/* f074d10: 460a2202 */ mul.s $f8,$f4,$f10
/* f074d14: 46080180 */ add.s $f6,$f0,$f8
/* f074d18: e60600a8 */ swc1 $f6,0xa8($s0)
/* f074d1c: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f074d20: c60400a8 */ lwc1 $f4,0xa8($s0)
/* f074d24: c426a3fc */ lwc1 $f6,%lo(var7f1aa3fc)($at)
/* f074d28: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f074d2c: 460a2201 */ sub.s $f8,$f4,$f10
/* f074d30: 46083102 */ mul.s $f4,$f6,$f8
/* f074d34: c426a00c */ lwc1 $f6,%lo(g_Vars+0x4c)($at)
/* f074d38: 46062202 */ mul.s $f8,$f4,$f6
/* f074d3c: 46085100 */ add.s $f4,$f10,$f8
/* f074d40: 1000000c */ b .L0f074d74
/* f074d44: e7a405e0 */ swc1 $f4,0x5e0($sp)
.L0f074d48:
/* f074d48: e7a005e0 */ swc1 $f0,0x5e0($sp)
/* f074d4c: 8e090000 */ lw $t1,0x0($s0)
/* f074d50: 2401ffdf */ addiu $at,$zero,-33
/* f074d54: 4480a000 */ mtc1 $zero,$f20
/* f074d58: c60600ac */ lwc1 $f6,0xac($s0)
/* f074d5c: 01215024 */ and $t2,$t1,$at
/* f074d60: ae0a0000 */ sw $t2,0x0($s0)
/* f074d64: 354d0010 */ ori $t5,$t2,0x10
/* f074d68: ae0d0000 */ sw $t5,0x0($s0)
/* f074d6c: e6060008 */ swc1 $f6,0x8($s0)
/* f074d70: e614001c */ swc1 $f20,0x1c($s0)
.L0f074d74:
/* f074d74: 922c0003 */ lbu $t4,0x3($s1)
.L0f074d78:
/* f074d78: 4480a000 */ mtc1 $zero,$f20
/* f074d7c: 24010008 */ addiu $at,$zero,0x8
/* f074d80: 15810006 */ bne $t4,$at,.L0f074d9c
/* f074d84: 00001025 */ or $v0,$zero,$zero
/* f074d88: 922e005c */ lbu $t6,0x5c($s1)
/* f074d8c: 24010054 */ addiu $at,$zero,0x54
/* f074d90: 15c10002 */ bne $t6,$at,.L0f074d9c
/* f074d94: 00000000 */ nop
/* f074d98: 24020001 */ addiu $v0,$zero,0x1
.L0f074d9c:
/* f074d9c: 10400129 */ beqz $v0,.L0f075244
/* f074da0: 3c188007 */ lui $t8,%hi(var80069b98)
/* f074da4: 27189b98 */ addiu $t8,$t8,%lo(var80069b98)
/* f074da8: 8f010000 */ lw $at,0x0($t8)
/* f074dac: 27af02f8 */ addiu $t7,$sp,0x2f8
/* f074db0: 8f090004 */ lw $t1,0x4($t8)
/* f074db4: ade10000 */ sw $at,0x0($t7)
/* f074db8: 8f010008 */ lw $at,0x8($t8)
/* f074dbc: 3c0b8007 */ lui $t3,%hi(var80069ba4)
/* f074dc0: 256b9ba4 */ addiu $t3,$t3,%lo(var80069ba4)
/* f074dc4: ade90004 */ sw $t1,0x4($t7)
/* f074dc8: ade10008 */ sw $at,0x8($t7)
/* f074dcc: 8d610000 */ lw $at,0x0($t3)
/* f074dd0: 27aa02ec */ addiu $t2,$sp,0x2ec
/* f074dd4: 8d6c0004 */ lw $t4,0x4($t3)
/* f074dd8: ad410000 */ sw $at,0x0($t2)
/* f074ddc: 8d610008 */ lw $at,0x8($t3)
/* f074de0: 3c198007 */ lui $t9,%hi(var80069bb0)
/* f074de4: 27399bb0 */ addiu $t9,$t9,%lo(var80069bb0)
/* f074de8: ad4c0004 */ sw $t4,0x4($t2)
/* f074dec: ad410008 */ sw $at,0x8($t2)
/* f074df0: 8f210000 */ lw $at,0x0($t9)
/* f074df4: 27ae02e0 */ addiu $t6,$sp,0x2e0
/* f074df8: 8f380004 */ lw $t8,0x4($t9)
/* f074dfc: adc10000 */ sw $at,0x0($t6)
/* f074e00: 8f210008 */ lw $at,0x8($t9)
/* f074e04: add80004 */ sw $t8,0x4($t6)
/* f074e08: 1220010e */ beqz $s1,.L0f075244
/* f074e0c: adc10008 */ sw $at,0x8($t6)
/* f074e10: 8e290014 */ lw $t1,0x14($s1)
/* f074e14: 5120010c */ beqzl $t1,.L0f075248
/* f074e18: 8e020000 */ lw $v0,0x0($s0)
/* f074e1c: 8e0d00e8 */ lw $t5,0xe8($s0)
/* f074e20: 51a00109 */ beqzl $t5,.L0f075248
/* f074e24: 8e020000 */ lw $v0,0x0($s0)
/* f074e28: c622001c */ lwc1 $f2,0x1c($s1)
/* f074e2c: c62e0028 */ lwc1 $f14,0x28($s1)
/* f074e30: c6200034 */ lwc1 $f0,0x34($s1)
/* f074e34: 46021282 */ mul.s $f10,$f2,$f2
/* f074e38: 00000000 */ nop
/* f074e3c: 460e7202 */ mul.s $f8,$f14,$f14
/* f074e40: 46085100 */ add.s $f4,$f10,$f8
/* f074e44: 46000182 */ mul.s $f6,$f0,$f0
/* f074e48: 0c012974 */ jal sqrtf
/* f074e4c: 46043300 */ add.s $f12,$f6,$f4
/* f074e50: 27a402a0 */ addiu $a0,$sp,0x2a0
/* f074e54: 0c00566c */ jal mtx4LoadIdentity
/* f074e58: e7a0029c */ swc1 $f0,0x29c($sp)
/* f074e5c: c7a2029c */ lwc1 $f2,0x29c($sp)
/* f074e60: c62a001c */ lwc1 $f10,0x1c($s1)
/* f074e64: 27a40290 */ addiu $a0,$sp,0x290
/* f074e68: 27a50294 */ addiu $a1,$sp,0x294
/* f074e6c: 46025203 */ div.s $f8,$f10,$f2
/* f074e70: 27a60298 */ addiu $a2,$sp,0x298
/* f074e74: e7a802a0 */ swc1 $f8,0x2a0($sp)
/* f074e78: c6260020 */ lwc1 $f6,0x20($s1)
/* f074e7c: 46023103 */ div.s $f4,$f6,$f2
/* f074e80: e7a402a4 */ swc1 $f4,0x2a4($sp)
/* f074e84: c62a0024 */ lwc1 $f10,0x24($s1)
/* f074e88: 46025203 */ div.s $f8,$f10,$f2
/* f074e8c: e7a802a8 */ swc1 $f8,0x2a8($sp)
/* f074e90: c6260028 */ lwc1 $f6,0x28($s1)
/* f074e94: 46023103 */ div.s $f4,$f6,$f2
/* f074e98: e7a402b0 */ swc1 $f4,0x2b0($sp)
/* f074e9c: c62a002c */ lwc1 $f10,0x2c($s1)
/* f074ea0: 46025203 */ div.s $f8,$f10,$f2
/* f074ea4: e7a802b4 */ swc1 $f8,0x2b4($sp)
/* f074ea8: c6260030 */ lwc1 $f6,0x30($s1)
/* f074eac: 46023103 */ div.s $f4,$f6,$f2
/* f074eb0: e7a402b8 */ swc1 $f4,0x2b8($sp)
/* f074eb4: c62a0034 */ lwc1 $f10,0x34($s1)
/* f074eb8: 46025203 */ div.s $f8,$f10,$f2
/* f074ebc: e7a802c0 */ swc1 $f8,0x2c0($sp)
/* f074ec0: c6260038 */ lwc1 $f6,0x38($s1)
/* f074ec4: 46023103 */ div.s $f4,$f6,$f2
/* f074ec8: e7a402c4 */ swc1 $f4,0x2c4($sp)
/* f074ecc: c62a003c */ lwc1 $f10,0x3c($s1)
/* f074ed0: 46025203 */ div.s $f8,$f10,$f2
/* f074ed4: e7a802c8 */ swc1 $f8,0x2c8($sp)
/* f074ed8: 8e2a0014 */ lw $t2,0x14($s1)
/* f074edc: c5460008 */ lwc1 $f6,0x8($t2)
/* f074ee0: e7a602f8 */ swc1 $f6,0x2f8($sp)
/* f074ee4: 8e2b0014 */ lw $t3,0x14($s1)
/* f074ee8: c7a602f8 */ lwc1 $f6,0x2f8($sp)
/* f074eec: c564000c */ lwc1 $f4,0xc($t3)
/* f074ef0: e7a402fc */ swc1 $f4,0x2fc($sp)
/* f074ef4: 8e2c0014 */ lw $t4,0x14($s1)
/* f074ef8: c58a0010 */ lwc1 $f10,0x10($t4)
/* f074efc: e7aa0300 */ swc1 $f10,0x300($sp)
/* f074f00: 8e0f00e8 */ lw $t7,0xe8($s0)
/* f074f04: c5e80008 */ lwc1 $f8,0x8($t7)
/* f074f08: 46064101 */ sub.s $f4,$f8,$f6
/* f074f0c: c7a802fc */ lwc1 $f8,0x2fc($sp)
/* f074f10: e7a40290 */ swc1 $f4,0x290($sp)
/* f074f14: 8e0e00e8 */ lw $t6,0xe8($s0)
/* f074f18: c5ca000c */ lwc1 $f10,0xc($t6)
/* f074f1c: 46085181 */ sub.s $f6,$f10,$f8
/* f074f20: c7aa0300 */ lwc1 $f10,0x300($sp)
/* f074f24: e7a60294 */ swc1 $f6,0x294($sp)
/* f074f28: 8e1900e8 */ lw $t9,0xe8($s0)
/* f074f2c: c7240010 */ lwc1 $f4,0x10($t9)
/* f074f30: e7a2029c */ swc1 $f2,0x29c($sp)
/* f074f34: 460a2201 */ sub.s $f8,$f4,$f10
/* f074f38: 0c0011e4 */ jal guNormalize
/* f074f3c: e7a80298 */ swc1 $f8,0x298($sp)
/* f074f40: c6060004 */ lwc1 $f6,0x4($s0)
/* f074f44: 27a402ec */ addiu $a0,$sp,0x2ec
/* f074f48: 27a502f0 */ addiu $a1,$sp,0x2f0
/* f074f4c: e7a602ec */ swc1 $f6,0x2ec($sp)
/* f074f50: c6040008 */ lwc1 $f4,0x8($s0)
/* f074f54: 27a602f4 */ addiu $a2,$sp,0x2f4
/* f074f58: e7a402f0 */ swc1 $f4,0x2f0($sp)
/* f074f5c: c60a000c */ lwc1 $f10,0xc($s0)
/* f074f60: 0c0011e4 */ jal guNormalize
/* f074f64: e7aa02f4 */ swc1 $f10,0x2f4($sp)
/* f074f68: c7a80298 */ lwc1 $f8,0x298($sp)
/* f074f6c: c7a602f4 */ lwc1 $f6,0x2f4($sp)
/* f074f70: c7b00290 */ lwc1 $f16,0x290($sp)
/* f074f74: c7aa02ec */ lwc1 $f10,0x2ec($sp)
/* f074f78: 46064102 */ mul.s $f4,$f8,$f6
/* f074f7c: c7b20294 */ lwc1 $f18,0x294($sp)
/* f074f80: c7a602f0 */ lwc1 $f6,0x2f0($sp)
/* f074f84: 46105202 */ mul.s $f8,$f10,$f16
/* f074f88: 00000000 */ nop
/* f074f8c: 46123282 */ mul.s $f10,$f6,$f18
/* f074f90: 460a4180 */ add.s $f6,$f8,$f10
/* f074f94: 0fc25a74 */ jal acosf
/* f074f98: 46062300 */ add.s $f12,$f4,$f6
/* f074f9c: 3c017f1b */ lui $at,%hi(var7f1aa404)
/* f074fa0: c428a404 */ lwc1 $f8,%lo(var7f1aa404)($at)
/* f074fa4: 3c047f1b */ lui $a0,%hi(var7f1a9fd0)
/* f074fa8: c7a2029c */ lwc1 $f2,0x29c($sp)
/* f074fac: 4600403c */ c.lt.s $f8,$f0
/* f074fb0: e7a0028c */ swc1 $f0,0x28c($sp)
/* f074fb4: 3c017f1b */ lui $at,%hi(var7f1aa408)
/* f074fb8: 24849fd0 */ addiu $a0,$a0,%lo(var7f1a9fd0)
/* f074fbc: 45010005 */ bc1t .L0f074fd4
/* f074fc0: 3c058007 */ lui $a1,%hi(var80069bc8)
/* f074fc4: c42aa408 */ lwc1 $f10,%lo(var7f1aa408)($at)
/* f074fc8: 460a003c */ c.lt.s $f0,$f10
/* f074fcc: 00000000 */ nop
/* f074fd0: 4500009c */ bc1f .L0f075244
.L0f074fd4:
/* f074fd4: 24a59bc8 */ addiu $a1,$a1,%lo(var80069bc8)
/* f074fd8: 0c0036cc */ jal mainOverrideVariable
/* f074fdc: e7a2029c */ swc1 $f2,0x29c($sp)
/* f074fe0: 3c047f1b */ lui $a0,%hi(var7f1a9fd4)
/* f074fe4: 3c058007 */ lui $a1,%hi(var80069bcc)
/* f074fe8: 24a59bcc */ addiu $a1,$a1,%lo(var80069bcc)
/* f074fec: 0c0036cc */ jal mainOverrideVariable
/* f074ff0: 24849fd4 */ addiu $a0,$a0,%lo(var7f1a9fd4)
/* f074ff4: 3c047f1b */ lui $a0,%hi(var7f1a9fd8)
/* f074ff8: 3c058007 */ lui $a1,%hi(var80069bd0)
/* f074ffc: 24a59bd0 */ addiu $a1,$a1,%lo(var80069bd0)
/* f075000: 0c0036cc */ jal mainOverrideVariable
/* f075004: 24849fd8 */ addiu $a0,$a0,%lo(var7f1a9fd8)
/* f075008: 3c188007 */ lui $t8,%hi(var80069bcc)
/* f07500c: 8f189bcc */ lw $t8,%lo(var80069bcc)($t8)
/* f075010: 3c01800a */ lui $at,%hi(g_Vars+0x44)
/* f075014: c7b00290 */ lwc1 $f16,0x290($sp)
/* f075018: 44982000 */ mtc1 $t8,$f4
/* f07501c: c7b20294 */ lwc1 $f18,0x294($sp)
/* f075020: c420a004 */ lwc1 $f0,%lo(g_Vars+0x44)($at)
/* f075024: 07010005 */ bgez $t8,.L0f07503c
/* f075028: 468021a0 */ cvt.s.w $f6,$f4
/* f07502c: 3c014f80 */ lui $at,0x4f80
/* f075030: 44814000 */ mtc1 $at,$f8
/* f075034: 00000000 */ nop
/* f075038: 46083180 */ add.s $f6,$f6,$f8
.L0f07503c:
/* f07503c: 3c0142c8 */ lui $at,0x42c8
/* f075040: 44815000 */ mtc1 $at,$f10
/* f075044: 3c018007 */ lui $at,%hi(var80069bc4)
/* f075048: c4289bc4 */ lwc1 $f8,%lo(var80069bc4)($at)
/* f07504c: 460a3103 */ div.s $f4,$f6,$f10
/* f075050: 3c098007 */ lui $t1,%hi(var80069bd0)
/* f075054: 8d299bd0 */ lw $t1,%lo(var80069bd0)($t1)
/* f075058: 46082182 */ mul.s $f6,$f4,$f8
/* f07505c: 44892000 */ mtc1 $t1,$f4
/* f075060: 00000000 */ nop
/* f075064: 46802220 */ cvt.s.w $f8,$f4
/* f075068: 05210005 */ bgez $t1,.L0f075080
/* f07506c: 46003283 */ div.s $f10,$f6,$f0
/* f075070: 3c014f80 */ lui $at,0x4f80
/* f075074: 44813000 */ mtc1 $at,$f6
/* f075078: 00000000 */ nop
/* f07507c: 46064200 */ add.s $f8,$f8,$f6
.L0f075080:
/* f075080: 3c0142c8 */ lui $at,0x42c8
/* f075084: 44812000 */ mtc1 $at,$f4
/* f075088: 3c0d8007 */ lui $t5,%hi(var80069bc8)
/* f07508c: 8dad9bc8 */ lw $t5,%lo(var80069bc8)($t5)
/* f075090: 46044183 */ div.s $f6,$f8,$f4
/* f075094: c7a8028c */ lwc1 $f8,0x28c($sp)
/* f075098: 3c014f80 */ lui $at,0x4f80
/* f07509c: 46083102 */ mul.s $f4,$f6,$f8
/* f0750a0: 00000000 */ nop
/* f0750a4: 46002182 */ mul.s $f6,$f4,$f0
/* f0750a8: 46065100 */ add.s $f4,$f10,$f6
/* f0750ac: 448d5000 */ mtc1 $t5,$f10
/* f0750b0: 05a10004 */ bgez $t5,.L0f0750c4
/* f0750b4: 468051a0 */ cvt.s.w $f6,$f10
/* f0750b8: 44815000 */ mtc1 $at,$f10
/* f0750bc: 00000000 */ nop
/* f0750c0: 460a3180 */ add.s $f6,$f6,$f10
.L0f0750c4:
/* f0750c4: 3c0142c8 */ lui $at,0x42c8
/* f0750c8: 44815000 */ mtc1 $at,$f10
/* f0750cc: 3c018007 */ lui $at,%hi(var80069bc4)
/* f0750d0: e4289bc4 */ swc1 $f8,%lo(var80069bc4)($at)
/* f0750d4: 460a3183 */ div.s $f6,$f6,$f10
/* f0750d8: c7aa02f0 */ lwc1 $f10,0x2f0($sp)
/* f0750dc: c7a802f4 */ lwc1 $f8,0x2f4($sp)
/* f0750e0: 3c013f00 */ lui $at,0x3f00
/* f0750e4: 46062382 */ mul.s $f14,$f4,$f6
/* f0750e8: c7a40298 */ lwc1 $f4,0x298($sp)
/* f0750ec: 46045182 */ mul.s $f6,$f10,$f4
/* f0750f0: 00000000 */ nop
/* f0750f4: 46089102 */ mul.s $f4,$f18,$f8
/* f0750f8: 46043201 */ sub.s $f8,$f6,$f4
/* f0750fc: c7a40298 */ lwc1 $f4,0x298($sp)
/* f075100: c7a602ec */ lwc1 $f6,0x2ec($sp)
/* f075104: e7a80280 */ swc1 $f8,0x280($sp)
/* f075108: 46043202 */ mul.s $f8,$f6,$f4
/* f07510c: c7a602f4 */ lwc1 $f6,0x2f4($sp)
/* f075110: 46068102 */ mul.s $f4,$f16,$f6
/* f075114: 46044181 */ sub.s $f6,$f8,$f4
/* f075118: c7a402ec */ lwc1 $f4,0x2ec($sp)
/* f07511c: 46003207 */ neg.s $f8,$f6
/* f075120: 46122182 */ mul.s $f6,$f4,$f18
/* f075124: e7a80284 */ swc1 $f8,0x284($sp)
/* f075128: 460a8202 */ mul.s $f8,$f16,$f10
/* f07512c: 44815000 */ mtc1 $at,$f10
/* f075130: 00000000 */ nop
/* f075134: 460a7302 */ mul.s $f12,$f14,$f10
/* f075138: 46083101 */ sub.s $f4,$f6,$f8
/* f07513c: e7ac0078 */ swc1 $f12,0x78($sp)
/* f075140: 0c0068f4 */ jal cosf
/* f075144: e7a40288 */ swc1 $f4,0x288($sp)
/* f075148: e7a00260 */ swc1 $f0,0x260($sp)
/* f07514c: 0c0068f7 */ jal sinf
/* f075150: c7ac0078 */ lwc1 $f12,0x78($sp)
/* f075154: c7a60280 */ lwc1 $f6,0x280($sp)
/* f075158: c7ac0078 */ lwc1 $f12,0x78($sp)
/* f07515c: 46060202 */ mul.s $f8,$f0,$f6
/* f075160: 0c0068f7 */ jal sinf
/* f075164: e7a80264 */ swc1 $f8,0x264($sp)
/* f075168: c7a40284 */ lwc1 $f4,0x284($sp)
/* f07516c: c7ac0078 */ lwc1 $f12,0x78($sp)
/* f075170: 46040282 */ mul.s $f10,$f0,$f4
/* f075174: 0c0068f7 */ jal sinf
/* f075178: e7aa0268 */ swc1 $f10,0x268($sp)
/* f07517c: c7a60288 */ lwc1 $f6,0x288($sp)
/* f075180: 27a40260 */ addiu $a0,$sp,0x260
/* f075184: 27a5020c */ addiu $a1,$sp,0x20c
/* f075188: 46060202 */ mul.s $f8,$f0,$f6
/* f07518c: 0fc25bb5 */ jal func0f096ed4
/* f075190: e7a8026c */ swc1 $f8,0x26c($sp)
/* f075194: e6140018 */ swc1 $f20,0x18($s0)
/* f075198: e6140014 */ swc1 $f20,0x14($s0)
/* f07519c: e6140010 */ swc1 $f20,0x10($s0)
/* f0751a0: 27a4020c */ addiu $a0,$sp,0x20c
/* f0751a4: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f0751a8: 26050004 */ addiu $a1,$s0,0x4
/* f0751ac: 27a402a0 */ addiu $a0,$sp,0x2a0
/* f0751b0: 0fc25c11 */ jal func0f097044
/* f0751b4: 27a50270 */ addiu $a1,$sp,0x270
/* f0751b8: 27a40270 */ addiu $a0,$sp,0x270
/* f0751bc: 27a50260 */ addiu $a1,$sp,0x260
/* f0751c0: 0fc25dce */ jal func0f097738
/* f0751c4: 27a60250 */ addiu $a2,$sp,0x250
/* f0751c8: 27a40250 */ addiu $a0,$sp,0x250
/* f0751cc: 0fc25bb5 */ jal func0f096ed4
/* f0751d0: 27a5020c */ addiu $a1,$sp,0x20c
/* f0751d4: c7a2029c */ lwc1 $f2,0x29c($sp)
/* f0751d8: c7a4020c */ lwc1 $f4,0x20c($sp)
/* f0751dc: 46022282 */ mul.s $f10,$f4,$f2
/* f0751e0: e62a001c */ swc1 $f10,0x1c($s1)
/* f0751e4: c7a60210 */ lwc1 $f6,0x210($sp)
/* f0751e8: 46023202 */ mul.s $f8,$f6,$f2
/* f0751ec: e6280020 */ swc1 $f8,0x20($s1)
/* f0751f0: c7a40214 */ lwc1 $f4,0x214($sp)
/* f0751f4: 46022282 */ mul.s $f10,$f4,$f2
/* f0751f8: e62a0024 */ swc1 $f10,0x24($s1)
/* f0751fc: c7a6021c */ lwc1 $f6,0x21c($sp)
/* f075200: 46023202 */ mul.s $f8,$f6,$f2
/* f075204: e6280028 */ swc1 $f8,0x28($s1)
/* f075208: c7a40220 */ lwc1 $f4,0x220($sp)
/* f07520c: 46022282 */ mul.s $f10,$f4,$f2
/* f075210: e62a002c */ swc1 $f10,0x2c($s1)
/* f075214: c7a60224 */ lwc1 $f6,0x224($sp)
/* f075218: 46023202 */ mul.s $f8,$f6,$f2
/* f07521c: e6280030 */ swc1 $f8,0x30($s1)
/* f075220: c7a4022c */ lwc1 $f4,0x22c($sp)
/* f075224: 46022282 */ mul.s $f10,$f4,$f2
/* f075228: e62a0034 */ swc1 $f10,0x34($s1)
/* f07522c: c7a60230 */ lwc1 $f6,0x230($sp)
/* f075230: 46023202 */ mul.s $f8,$f6,$f2
/* f075234: e6280038 */ swc1 $f8,0x38($s1)
/* f075238: c7a40234 */ lwc1 $f4,0x234($sp)
/* f07523c: 46022282 */ mul.s $f10,$f4,$f2
/* f075240: e62a003c */ swc1 $f10,0x3c($s1)
.L0f075244:
/* f075244: 8e020000 */ lw $v0,0x0($s0)
.L0f075248:
/* f075248: 3c03800a */ lui $v1,%hi(g_Vars)
/* f07524c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f075250: 3c017f1b */ lui $at,%hi(var7f1aa40c)
/* f075254: 304a0010 */ andi $t2,$v0,0x10
/* f075258: c430a40c */ lwc1 $f16,%lo(var7f1aa40c)($at)
/* f07525c: c462004c */ lwc1 $f2,0x4c($v1)
/* f075260: c600001c */ lwc1 $f0,0x1c($s0)
/* f075264: 1540001e */ bnez $t2,.L0f0752e0
/* f075268: c60c0014 */ lwc1 $f12,0x14($s0)
/* f07526c: 46006200 */ add.s $f8,$f12,$f0
/* f075270: c6060008 */ lwc1 $f6,0x8($s0)
/* f075274: 00025840 */ sll $t3,$v0,0x1
/* f075278: 3c017f1b */ lui $at,%hi(var7f1aa410)
/* f07527c: 46024102 */ mul.s $f4,$f8,$f2
/* f075280: 46043280 */ add.s $f10,$f6,$f4
/* f075284: 05610007 */ bgez $t3,.L0f0752a4
/* f075288: e60a0008 */ swc1 $f10,0x8($s0)
/* f07528c: c462004c */ lwc1 $f2,0x4c($v1)
/* f075290: c428a410 */ lwc1 $f8,%lo(var7f1aa410)($at)
/* f075294: c60c0008 */ lwc1 $f12,0x8($s0)
/* f075298: 46024182 */ mul.s $f6,$f8,$f2
/* f07529c: 10000005 */ b .L0f0752b4
/* f0752a0: 46066001 */ sub.s $f0,$f12,$f6
.L0f0752a4:
/* f0752a4: c462004c */ lwc1 $f2,0x4c($v1)
/* f0752a8: c60c0008 */ lwc1 $f12,0x8($s0)
/* f0752ac: 46028102 */ mul.s $f4,$f16,$f2
/* f0752b0: 46046001 */ sub.s $f0,$f12,$f4
.L0f0752b4:
/* f0752b4: 46006280 */ add.s $f10,$f12,$f0
/* f0752b8: 3c013f00 */ lui $at,0x3f00
/* f0752bc: 44813000 */ mtc1 $at,$f6
/* f0752c0: 460a1202 */ mul.s $f8,$f2,$f10
/* f0752c4: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f0752c8: 46064102 */ mul.s $f4,$f8,$f6
/* f0752cc: 46045200 */ add.s $f8,$f10,$f4
/* f0752d0: e7a805e0 */ swc1 $f8,0x5e0($sp)
/* f0752d4: e6000008 */ swc1 $f0,0x8($s0)
/* f0752d8: 1000000c */ b .L0f07530c
/* f0752dc: c462004c */ lwc1 $f2,0x4c($v1)
.L0f0752e0:
/* f0752e0: 46006280 */ add.s $f10,$f12,$f0
/* f0752e4: c6060008 */ lwc1 $f6,0x8($s0)
/* f0752e8: 46025102 */ mul.s $f4,$f10,$f2
/* f0752ec: 46043200 */ add.s $f8,$f6,$f4
/* f0752f0: e6080008 */ swc1 $f8,0x8($s0)
/* f0752f4: c6060008 */ lwc1 $f6,0x8($s0)
/* f0752f8: c462004c */ lwc1 $f2,0x4c($v1)
/* f0752fc: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f075300: 46023102 */ mul.s $f4,$f6,$f2
/* f075304: 46045200 */ add.s $f8,$f10,$f4
/* f075308: e7a805e0 */ swc1 $f8,0x5e0($sp)
.L0f07530c:
/* f07530c: c60a0010 */ lwc1 $f10,0x10($s0)
/* f075310: c6060004 */ lwc1 $f6,0x4($s0)
/* f075314: 27a5030c */ addiu $a1,$sp,0x30c
/* f075318: 46025102 */ mul.s $f4,$f10,$f2
/* f07531c: c60a0018 */ lwc1 $f10,0x18($s0)
/* f075320: 46043200 */ add.s $f8,$f6,$f4
/* f075324: e6080004 */ swc1 $f8,0x4($s0)
/* f075328: c466004c */ lwc1 $f6,0x4c($v1)
/* f07532c: c608000c */ lwc1 $f8,0xc($s0)
/* f075330: 46065102 */ mul.s $f4,$f10,$f6
/* f075334: 46044280 */ add.s $f10,$f8,$f4
/* f075338: c6080004 */ lwc1 $f8,0x4($s0)
/* f07533c: e60a000c */ swc1 $f10,0xc($s0)
/* f075340: c462004c */ lwc1 $f2,0x4c($v1)
/* f075344: c7a605dc */ lwc1 $f6,0x5dc($sp)
/* f075348: 8fa40074 */ lw $a0,0x74($sp)
/* f07534c: 46024102 */ mul.s $f4,$f8,$f2
/* f075350: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f075354: 46043280 */ add.s $f10,$f6,$f4
/* f075358: e7aa05dc */ swc1 $f10,0x5dc($sp)
/* f07535c: c606000c */ lwc1 $f6,0xc($s0)
/* f075360: 46023102 */ mul.s $f4,$f6,$f2
/* f075364: 46044280 */ add.s $f10,$f8,$f4
/* f075368: 0c005755 */ jal mtx3ToMtx4
/* f07536c: e7aa05e4 */ swc1 $f10,0x5e4($sp)
/* f075370: 26050020 */ addiu $a1,$s0,0x20
/* f075374: 3c06800a */ lui $a2,%hi(g_Vars+0x34)
/* f075378: 8cc69ff4 */ lw $a2,%lo(g_Vars+0x34)($a2)
/* f07537c: afa50064 */ sw $a1,0x64($sp)
/* f075380: 0fc259a6 */ jal func0f096698
/* f075384: 27a4030c */ addiu $a0,$sp,0x30c
/* f075388: 27a4030c */ addiu $a0,$sp,0x30c
/* f07538c: 0c005768 */ jal mtx4ToMtx3
/* f075390: 8fa50074 */ lw $a1,0x74($sp)
/* f075394: c6460008 */ lwc1 $f6,0x8($s2)
/* f075398: 26440028 */ addiu $a0,$s2,0x28
/* f07539c: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f0753a0: e7a605c8 */ swc1 $f6,0x5c8($sp)
/* f0753a4: c648000c */ lwc1 $f8,0xc($s2)
/* f0753a8: e7a805cc */ swc1 $f8,0x5cc($sp)
/* f0753ac: c6440010 */ lwc1 $f4,0x10($s2)
/* f0753b0: afa4006c */ sw $a0,0x6c($sp)
/* f0753b4: 0fc195e9 */ jal roomsCopy
/* f0753b8: e7a405d0 */ swc1 $f4,0x5d0($sp)
/* f0753bc: 8e040088 */ lw $a0,0x88($s0)
/* f0753c0: 50800004 */ beqzl $a0,.L0f0753d4
/* f0753c4: 8e0c0000 */ lw $t4,0x0($s0)
/* f0753c8: 0fc1905e */ jal propSetPerimEnabled
/* f0753cc: 00002825 */ or $a1,$zero,$zero
/* f0753d0: 8e0c0000 */ lw $t4,0x0($s0)
.L0f0753d4:
/* f0753d4: 318f0004 */ andi $t7,$t4,0x4
/* f0753d8: 11e00007 */ beqz $t7,.L0f0753f8
/* f0753dc: 02202025 */ or $a0,$s1,$zero
/* f0753e0: 27a505dc */ addiu $a1,$sp,0x5dc
/* f0753e4: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f0753e8: 0fc1b340 */ jal func0f06cd00
/* f0753ec: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f0753f0: 10000007 */ b .L0f075410
/* f0753f4: afa20600 */ sw $v0,0x600($sp)
.L0f0753f8:
/* f0753f8: 02202025 */ or $a0,$s1,$zero
/* f0753fc: 27a505dc */ addiu $a1,$sp,0x5dc
/* f075400: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f075404: 0fc1b4df */ jal func0f06d37c
/* f075408: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f07540c: afa20600 */ sw $v0,0x600($sp)
.L0f075410:
/* f075410: 8e040088 */ lw $a0,0x88($s0)
/* f075414: 50800004 */ beqzl $a0,.L0f075428
/* f075418: 240e0001 */ addiu $t6,$zero,0x1
/* f07541c: 0fc1905e */ jal propSetPerimEnabled
/* f075420: 24050001 */ addiu $a1,$zero,0x1
/* f075424: 240e0001 */ addiu $t6,$zero,0x1
.L0f075428:
/* f075428: afae05d8 */ sw $t6,0x5d8($sp)
/* f07542c: 8e190000 */ lw $t9,0x0($s0)
/* f075430: 33380004 */ andi $t8,$t9,0x4
/* f075434: 53000318 */ beqzl $t8,.L0f076098
/* f075438: 8fae034c */ lw $t6,0x34c($sp)
/* f07543c: 8fa90600 */ lw $t1,0x600($sp)
/* f075440: 3c038007 */ lui $v1,%hi(var80069930)
/* f075444: 552002da */ bnezl $t1,.L0f075fb0
/* f075448: 8faa034c */ lw $t2,0x34c($sp)
/* f07544c: 8c639930 */ lw $v1,%lo(var80069930)($v1)
/* f075450: afa001f8 */ sw $zero,0x1f8($sp)
/* f075454: afa001f4 */ sw $zero,0x1f4($sp)
/* f075458: 5060000a */ beqzl $v1,.L0f075484
/* f07545c: 92220003 */ lbu $v0,0x3($s1)
/* f075460: afa301f4 */ sw $v1,0x1f4($sp)
/* f075464: 8c620018 */ lw $v0,0x18($v1)
/* f075468: 10400005 */ beqz $v0,.L0f075480
/* f07546c: 00401825 */ or $v1,$v0,$zero
.L0f075470:
/* f075470: 8c420018 */ lw $v0,0x18($v0)
/* f075474: 5440fffe */ bnezl $v0,.L0f075470
/* f075478: 00401825 */ or $v1,$v0,$zero
/* f07547c: afa301f4 */ sw $v1,0x1f4($sp)
.L0f075480:
/* f075480: 92220003 */ lbu $v0,0x3($s1)
.L0f075484:
/* f075484: 2401000d */ addiu $at,$zero,0xd
/* f075488: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f07548c: 54410006 */ bnel $v0,$at,.L0f0754a8
/* f075490: 24010008 */ addiu $at,$zero,0x8
/* f075494: 15400030 */ bnez $t2,.L0f075558
/* f075498: 240b0001 */ addiu $t3,$zero,0x1
/* f07549c: 1000002e */ b .L0f075558
/* f0754a0: afab01f8 */ sw $t3,0x1f8($sp)
/* f0754a4: 24010008 */ addiu $at,$zero,0x8
.L0f0754a8:
/* f0754a8: 5441002c */ bnel $v0,$at,.L0f07555c
/* f0754ac: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f0754b0: 9227005c */ lbu $a3,0x5c($s1)
/* f0754b4: 24010022 */ addiu $at,$zero,0x22
/* f0754b8: 10e10016 */ beq $a3,$at,.L0f075514
/* f0754bc: 24010020 */ addiu $at,$zero,0x20
/* f0754c0: 10e10014 */ beq $a3,$at,.L0f075514
/* f0754c4: 24010021 */ addiu $at,$zero,0x21
/* f0754c8: 10e10012 */ beq $a3,$at,.L0f075514
/* f0754cc: 2401003d */ addiu $at,$zero,0x3d
/* f0754d0: 10e10010 */ beq $a3,$at,.L0f075514
/* f0754d4: 2401003e */ addiu $at,$zero,0x3e
/* f0754d8: 10e1000e */ beq $a3,$at,.L0f075514
/* f0754dc: 2401003f */ addiu $at,$zero,0x3f
/* f0754e0: 10e1000c */ beq $a3,$at,.L0f075514
/* f0754e4: 24010056 */ addiu $at,$zero,0x56
/* f0754e8: 10e1000a */ beq $a3,$at,.L0f075514
/* f0754ec: 2401001a */ addiu $at,$zero,0x1a
/* f0754f0: 10e10008 */ beq $a3,$at,.L0f075514
/* f0754f4: 24010035 */ addiu $at,$zero,0x35
/* f0754f8: 10e10006 */ beq $a3,$at,.L0f075514
/* f0754fc: 2624005c */ addiu $a0,$s1,0x5c
/* f075500: 0fc2c7aa */ jal gsetHasFunctionFlags
/* f075504: 24050100 */ addiu $a1,$zero,0x100
/* f075508: 50400014 */ beqzl $v0,.L0f07555c
/* f07550c: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f075510: 9227005c */ lbu $a3,0x5c($s1)
.L0f075514:
/* f075514: 240c0001 */ addiu $t4,$zero,0x1
/* f075518: 24010055 */ addiu $at,$zero,0x55
/* f07551c: 14e1000e */ bne $a3,$at,.L0f075558
/* f075520: afac01f8 */ sw $t4,0x1f8($sp)
/* f075524: 922f005f */ lbu $t7,0x5f($s1)
/* f075528: 24010001 */ addiu $at,$zero,0x1
/* f07552c: 55e1000b */ bnel $t7,$at,.L0f07555c
/* f075530: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f075534: 862e0062 */ lh $t6,0x62($s1)
/* f075538: 24010001 */ addiu $at,$zero,0x1
/* f07553c: 241901e0 */ addiu $t9,$zero,0x1e0
/* f075540: 55c10005 */ bnel $t6,$at,.L0f075558
/* f075544: a6390062 */ sh $t9,0x62($s1)
/* f075548: afa001f8 */ sw $zero,0x1f8($sp)
/* f07554c: 10000002 */ b .L0f075558
/* f075550: a6200062 */ sh $zero,0x62($s1)
/* f075554: a6390062 */ sh $t9,0x62($s1)
.L0f075558:
/* f075558: 8fb801f8 */ lw $t8,0x1f8($sp)
.L0f07555c:
/* f07555c: 00004025 */ or $t0,$zero,$zero
/* f075560: 53000071 */ beqzl $t8,.L0f075728
/* f075564: 8fae034c */ lw $t6,0x34c($sp)
/* f075568: 92290003 */ lbu $t1,0x3($s1)
/* f07556c: 3c038007 */ lui $v1,%hi(var80069930)
/* f075570: 24010008 */ addiu $at,$zero,0x8
/* f075574: 15210002 */ bne $t1,$at,.L0f075580
/* f075578: 8c639930 */ lw $v1,%lo(var80069930)($v1)
/* f07557c: 02204025 */ or $t0,$s1,$zero
.L0f075580:
/* f075580: 50600017 */ beqzl $v1,.L0f0755e0
/* f075584: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f075588: 90620000 */ lbu $v0,0x0($v1)
/* f07558c: 24010001 */ addiu $at,$zero,0x1
/* f075590: 10410005 */ beq $v0,$at,.L0f0755a8
/* f075594: 24010004 */ addiu $at,$zero,0x4
/* f075598: 10410003 */ beq $v0,$at,.L0f0755a8
/* f07559c: 24010002 */ addiu $at,$zero,0x2
/* f0755a0: 5441000f */ bnel $v0,$at,.L0f0755e0
/* f0755a4: 8faa01f4 */ lw $t2,0x1f4($sp)
.L0f0755a8:
/* f0755a8: 1100000c */ beqz $t0,.L0f0755dc
/* f0755ac: 8c640004 */ lw $a0,0x4($v1)
/* f0755b0: 9102005c */ lbu $v0,0x5c($t0)
/* f0755b4: 24010056 */ addiu $at,$zero,0x56
/* f0755b8: 10410003 */ beq $v0,$at,.L0f0755c8
/* f0755bc: 2401001a */ addiu $at,$zero,0x1a
/* f0755c0: 54410007 */ bnel $v0,$at,.L0f0755e0
/* f0755c4: 8faa01f4 */ lw $t2,0x1f4($sp)
.L0f0755c8:
/* f0755c8: 908d0003 */ lbu $t5,0x3($a0)
/* f0755cc: 24010008 */ addiu $at,$zero,0x8
/* f0755d0: 55a10003 */ bnel $t5,$at,.L0f0755e0
/* f0755d4: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f0755d8: afa001f8 */ sw $zero,0x1f8($sp)
.L0f0755dc:
/* f0755dc: 8faa01f4 */ lw $t2,0x1f4($sp)
.L0f0755e0:
/* f0755e0: 51400051 */ beqzl $t2,.L0f075728
/* f0755e4: 8fae034c */ lw $t6,0x34c($sp)
/* f0755e8: 91420000 */ lbu $v0,0x0($t2)
/* f0755ec: 24010001 */ addiu $at,$zero,0x1
/* f0755f0: 8fab01f4 */ lw $t3,0x1f4($sp)
/* f0755f4: 10410006 */ beq $v0,$at,.L0f075610
/* f0755f8: 3c098007 */ lui $t1,%hi(var80069944)
/* f0755fc: 24010004 */ addiu $at,$zero,0x4
/* f075600: 10410003 */ beq $v0,$at,.L0f075610
/* f075604: 24010002 */ addiu $at,$zero,0x2
/* f075608: 5441003a */ bnel $v0,$at,.L0f0756f4
/* f07560c: 24010003 */ addiu $at,$zero,0x3
.L0f075610:
/* f075610: 8d630004 */ lw $v1,0x4($t3)
/* f075614: 8c6c0040 */ lw $t4,0x40($v1)
/* f075618: 318f0080 */ andi $t7,$t4,0x80
/* f07561c: 11e00007 */ beqz $t7,.L0f07563c
/* f075620: 00000000 */ nop
/* f075624: 8c6e0048 */ lw $t6,0x48($v1)
/* f075628: 8dd90000 */ lw $t9,0x0($t6)
/* f07562c: 33380800 */ andi $t8,$t9,0x800
/* f075630: 17000002 */ bnez $t8,.L0f07563c
/* f075634: 00000000 */ nop
/* f075638: afa001f8 */ sw $zero,0x1f8($sp)
.L0f07563c:
/* f07563c: 8d299944 */ lw $t1,%lo(var80069944)($t1)
/* f075640: 24012710 */ addiu $at,$zero,0x2710
/* f075644: 15210002 */ bne $t1,$at,.L0f075650
/* f075648: 00000000 */ nop
/* f07564c: afa001f8 */ sw $zero,0x1f8($sp)
.L0f075650:
/* f075650: 51000035 */ beqzl $t0,.L0f075728
/* f075654: 8fae034c */ lw $t6,0x34c($sp)
/* f075658: 9102005c */ lbu $v0,0x5c($t0)
/* f07565c: 24010056 */ addiu $at,$zero,0x56
/* f075660: 10410003 */ beq $v0,$at,.L0f075670
/* f075664: 2401001a */ addiu $at,$zero,0x1a
/* f075668: 5441002f */ bnel $v0,$at,.L0f075728
/* f07566c: 8fae034c */ lw $t6,0x34c($sp)
.L0f075670:
/* f075670: 90620003 */ lbu $v0,0x3($v1)
/* f075674: 2401002a */ addiu $at,$zero,0x2a
/* f075678: 26440008 */ addiu $a0,$s2,0x8
/* f07567c: 10410003 */ beq $v0,$at,.L0f07568c
/* f075680: 8fa5006c */ lw $a1,0x6c($sp)
/* f075684: 2401002f */ addiu $at,$zero,0x2f
/* f075688: 14410026 */ bne $v0,$at,.L0f075724
.L0f07568c:
/* f07568c: 2406ffff */ addiu $a2,$zero,-1
/* f075690: afa301e4 */ sw $v1,0x1e4($sp)
/* f075694: afa40070 */ sw $a0,0x70($sp)
/* f075698: 0fc2a101 */ jal bgun0f0a8404
/* f07569c: afa801ec */ sw $t0,0x1ec($sp)
/* f0756a0: 8fa401e4 */ lw $a0,0x1e4($sp)
/* f0756a4: 8fa801ec */ lw $t0,0x1ec($sp)
/* f0756a8: 3c0542c8 */ lui $a1,0x42c8
/* f0756ac: 8c8d000c */ lw $t5,0xc($a0)
/* f0756b0: 8fa60070 */ lw $a2,0x70($sp)
/* f0756b4: 3c0b800a */ lui $t3,%hi(g_Vars+0x28c)
/* f0756b8: 31aa4000 */ andi $t2,$t5,0x4000
/* f0756bc: 5540001a */ bnezl $t2,.L0f075728
/* f0756c0: 8fae034c */ lw $t6,0x34c($sp)
/* f0756c4: 8d6ba24c */ lw $t3,%lo(g_Vars+0x28c)($t3)
/* f0756c8: 9107005c */ lbu $a3,0x5c($t0)
/* f0756cc: afa001f8 */ sw $zero,0x1f8($sp)
/* f0756d0: 0fc2149c */ jal objTakeGunfire
/* f0756d4: afab0010 */ sw $t3,0x10($sp)
/* f0756d8: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f0756dc: 0fc1c1a6 */ jal objDropRecursively
/* f0756e0: 00002825 */ or $a1,$zero,$zero
/* f0756e4: 240c0001 */ addiu $t4,$zero,0x1
/* f0756e8: 1000000e */ b .L0f075724
/* f0756ec: afac034c */ sw $t4,0x34c($sp)
/* f0756f0: 24010003 */ addiu $at,$zero,0x3
.L0f0756f4:
/* f0756f4: 10410004 */ beq $v0,$at,.L0f075708
/* f0756f8: 8faf01f4 */ lw $t7,0x1f4($sp)
/* f0756fc: 24010006 */ addiu $at,$zero,0x6
/* f075700: 54410009 */ bnel $v0,$at,.L0f075728
/* f075704: 8fae034c */ lw $t6,0x34c($sp)
.L0f075708:
/* f075708: 0fc0cfe8 */ jal chrGetShield
/* f07570c: 8de40004 */ lw $a0,0x4($t7)
/* f075710: 4600a03c */ c.lt.s $f20,$f0
/* f075714: 00000000 */ nop
/* f075718: 45020003 */ bc1fl .L0f075728
/* f07571c: 8fae034c */ lw $t6,0x34c($sp)
/* f075720: afa001f8 */ sw $zero,0x1f8($sp)
.L0f075724:
/* f075724: 8fae034c */ lw $t6,0x34c($sp)
.L0f075728:
/* f075728: 3c198007 */ lui $t9,%hi(var80069930)
/* f07572c: 55c00163 */ bnezl $t6,.L0f075cbc
/* f075730: 8faf034c */ lw $t7,0x34c($sp)
/* f075734: 8f399930 */ lw $t9,%lo(var80069930)($t9)
/* f075738: 1320015f */ beqz $t9,.L0f075cb8
/* f07573c: afb90068 */ sw $t9,0x68($sp)
/* f075740: 92380003 */ lbu $t8,0x3($s1)
/* f075744: 24010008 */ addiu $at,$zero,0x8
/* f075748: 5701015c */ bnel $t8,$at,.L0f075cbc
/* f07574c: 8faf034c */ lw $t7,0x34c($sp)
/* f075750: 9227005c */ lbu $a3,0x5c($s1)
/* f075754: 24010056 */ addiu $at,$zero,0x56
/* f075758: 8fa901f4 */ lw $t1,0x1f4($sp)
/* f07575c: 10e10003 */ beq $a3,$at,.L0f07576c
/* f075760: 2401001a */ addiu $at,$zero,0x1a
/* f075764: 54e100aa */ bnel $a3,$at,.L0f075a10
/* f075768: 24010053 */ addiu $at,$zero,0x53
.L0f07576c:
/* f07576c: 91220000 */ lbu $v0,0x0($t1)
/* f075770: 24010003 */ addiu $at,$zero,0x3
/* f075774: 10410006 */ beq $v0,$at,.L0f075790
/* f075778: 24010006 */ addiu $at,$zero,0x6
/* f07577c: 54410072 */ bnel $v0,$at,.L0f075948
/* f075780: 24010001 */ addiu $at,$zero,0x1
/* f075784: 8d2d0004 */ lw $t5,0x4($t1)
/* f075788: 51a0006f */ beqzl $t5,.L0f075948
/* f07578c: 24010001 */ addiu $at,$zero,0x1
.L0f075790:
/* f075790: 8e220048 */ lw $v0,0x48($s1)
/* f075794: 8faa01f4 */ lw $t2,0x1f4($sp)
/* f075798: 8c4b0000 */ lw $t3,0x0($v0)
/* f07579c: 8d440004 */ lw $a0,0x4($t2)
/* f0757a0: 316c0001 */ andi $t4,$t3,0x1
/* f0757a4: 51800145 */ beqzl $t4,.L0f075cbc
/* f0757a8: 8faf034c */ lw $t7,0x34c($sp)
/* f0757ac: 8c4f0090 */ lw $t7,0x90($v0)
/* f0757b0: 2627005c */ addiu $a3,$s1,0x5c
/* f0757b4: 5de00141 */ bgtzl $t7,.L0f075cbc
/* f0757b8: 8faf034c */ lw $t7,0x34c($sp)
/* f0757bc: 8c4e0088 */ lw $t6,0x88($v0)
/* f0757c0: afa70070 */ sw $a3,0x70($sp)
/* f0757c4: afa401dc */ sw $a0,0x1dc($sp)
/* f0757c8: 0fc0cfe8 */ jal chrGetShield
/* f0757cc: afae01d4 */ sw $t6,0x1d4($sp)
/* f0757d0: 8fa40070 */ lw $a0,0x70($sp)
/* f0757d4: 0fc2c74a */ jal gsetGetDamage
/* f0757d8: e7a001d8 */ swc1 $f0,0x1d8($sp)
/* f0757dc: 3c188007 */ lui $t8,%hi(var80069934)
/* f0757e0: 3c098007 */ lui $t1,%hi(var80069930)
/* f0757e4: 3c0d800a */ lui $t5,%hi(var8009ce74)
/* f0757e8: 3c0a800a */ lui $t2,%hi(var8009ce70)
/* f0757ec: 3c0b8007 */ lui $t3,%hi(var80069938)
/* f0757f0: 8d6b9938 */ lw $t3,%lo(var80069938)($t3)
/* f0757f4: 8d4ace70 */ lw $t2,%lo(var8009ce70)($t2)
/* f0757f8: 8dadce74 */ lw $t5,%lo(var8009ce74)($t5)
/* f0757fc: 8d299930 */ lw $t1,%lo(var80069930)($t1)
/* f075800: 8f189934 */ lw $t8,%lo(var80069934)($t8)
/* f075804: 8fb901d4 */ lw $t9,0x1d4($sp)
/* f075808: 3c0c8007 */ lui $t4,%hi(var8006993c)
/* f07580c: 258c993c */ addiu $t4,$t4,%lo(var8006993c)
/* f075810: 44050000 */ mfc1 $a1,$f0
/* f075814: 3c06800a */ lui $a2,%hi(var8009ce78)
/* f075818: 24c6ce78 */ addiu $a2,$a2,%lo(var8009ce78)
/* f07581c: afac0028 */ sw $t4,0x28($sp)
/* f075820: 8fa70070 */ lw $a3,0x70($sp)
/* f075824: 8fa401dc */ lw $a0,0x1dc($sp)
/* f075828: afab0024 */ sw $t3,0x24($sp)
/* f07582c: afaa0020 */ sw $t2,0x20($sp)
/* f075830: afad001c */ sw $t5,0x1c($sp)
/* f075834: afa90018 */ sw $t1,0x18($sp)
/* f075838: afb80014 */ sw $t8,0x14($sp)
/* f07583c: 0fc0d077 */ jal func0f0341dc
/* f075840: afb90010 */ sw $t9,0x10($sp)
/* f075844: c7aa01d8 */ lwc1 $f10,0x1d8($sp)
/* f075848: 8faf01d4 */ lw $t7,0x1d4($sp)
/* f07584c: 3c058007 */ lui $a1,%hi(var80069930)
/* f075850: 4614503e */ c.le.s $f10,$f20
/* f075854: 3c068007 */ lui $a2,%hi(var80069934)
/* f075858: 27a705e8 */ addiu $a3,$sp,0x5e8
/* f07585c: 27b905f4 */ addiu $t9,$sp,0x5f4
/* f075860: 45020116 */ bc1fl .L0f075cbc
/* f075864: 8faf034c */ lw $t7,0x34c($sp)
/* f075868: 51e00005 */ beqzl $t7,.L0f075880
/* f07586c: afa00088 */ sw $zero,0x88($sp)
/* f075870: 8dee0004 */ lw $t6,0x4($t7)
/* f075874: 10000002 */ b .L0f075880
/* f075878: afae0088 */ sw $t6,0x88($sp)
/* f07587c: afa00088 */ sw $zero,0x88($sp)
.L0f075880:
/* f075880: 8fb80088 */ lw $t8,0x88($sp)
/* f075884: 8fa401dc */ lw $a0,0x1dc($sp)
/* f075888: 8ca59930 */ lw $a1,%lo(var80069930)($a1)
/* f07588c: 8cc69934 */ lw $a2,%lo(var80069934)($a2)
/* f075890: afb90010 */ sw $t9,0x10($sp)
/* f075894: 0fc097a9 */ jal chrEmitSparks
/* f075898: afb80014 */ sw $t8,0x14($sp)
/* f07589c: 3c098007 */ lui $t1,%hi(var80069930)
/* f0758a0: 8d299930 */ lw $t1,%lo(var80069930)($t1)
/* f0758a4: 3c04800a */ lui $a0,%hi(var8009ce70)
/* f0758a8: 912d0001 */ lbu $t5,0x1($t1)
/* f0758ac: 31aa0002 */ andi $t2,$t5,0x2
/* f0758b0: 51400102 */ beqzl $t2,.L0f075cbc
/* f0758b4: 8faf034c */ lw $t7,0x34c($sp)
/* f0758b8: 8c84ce70 */ lw $a0,%lo(var8009ce70)($a0)
/* f0758bc: 3c028007 */ lui $v0,%hi(var80069934)
/* f0758c0: 508000fe */ beqzl $a0,.L0f075cbc
/* f0758c4: 8faf034c */ lw $t7,0x34c($sp)
/* f0758c8: 8c429934 */ lw $v0,%lo(var80069934)($v0)
/* f0758cc: 24010064 */ addiu $at,$zero,0x64
/* f0758d0: 104100f9 */ beq $v0,$at,.L0f075cb8
/* f0758d4: 2401006e */ addiu $at,$zero,0x6e
/* f0758d8: 104100f7 */ beq $v0,$at,.L0f075cb8
/* f0758dc: 3c05800a */ lui $a1,%hi(var8009ce74)
/* f0758e0: 8ca5ce74 */ lw $a1,%lo(var8009ce74)($a1)
/* f0758e4: 0c006973 */ jal model0001a5cc
/* f0758e8: 00003025 */ or $a2,$zero,$zero
/* f0758ec: 0fc2d5be */ jal currentPlayerGetMatrix1740
/* f0758f0: afa20184 */ sw $v0,0x184($sp)
/* f0758f4: 00402025 */ or $a0,$v0,$zero
/* f0758f8: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f0758fc: 0c0056da */ jal mtx4TransformVec
/* f075900: 27a601c8 */ addiu $a2,$sp,0x1c8
/* f075904: 8fa40184 */ lw $a0,0x184($sp)
/* f075908: 0c005c67 */ jal mtx0001719c
/* f07590c: 27a50188 */ addiu $a1,$sp,0x188
/* f075910: 27a40188 */ addiu $a0,$sp,0x188
/* f075914: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f075918: 27a501c8 */ addiu $a1,$sp,0x1c8
/* f07591c: 3c04800a */ lui $a0,%hi(var8009ce70)
/* f075920: 3c058007 */ lui $a1,%hi(var80069934)
/* f075924: 3c06800a */ lui $a2,%hi(var8009ce74)
/* f075928: 8cc6ce74 */ lw $a2,%lo(var8009ce74)($a2)
/* f07592c: 8ca59934 */ lw $a1,%lo(var80069934)($a1)
/* f075930: 8c84ce70 */ lw $a0,%lo(var8009ce70)($a0)
/* f075934: 0fc09831 */ jal chr0f0260c4
/* f075938: 27a701c8 */ addiu $a3,$sp,0x1c8
/* f07593c: 100000df */ b .L0f075cbc
/* f075940: 8faf034c */ lw $t7,0x34c($sp)
/* f075944: 24010001 */ addiu $at,$zero,0x1
.L0f075948:
/* f075948: 144100db */ bne $v0,$at,.L0f075cb8
/* f07594c: 8fab01f4 */ lw $t3,0x1f4($sp)
/* f075950: 3c0f8007 */ lui $t7,%hi(var80069944)
/* f075954: 8def9944 */ lw $t7,%lo(var80069944)($t7)
/* f075958: 8d6c0004 */ lw $t4,0x4($t3)
/* f07595c: 24012710 */ addiu $at,$zero,0x2710
/* f075960: 15e1001a */ bne $t7,$at,.L0f0759cc
/* f075964: afac0180 */ sw $t4,0x180($sp)
/* f075968: 8d8e0010 */ lw $t6,0x10($t4)
/* f07596c: 8fa60068 */ lw $a2,0x68($sp)
/* f075970: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f075974: 31d91000 */ andi $t9,$t6,0x1000
/* f075978: 13200005 */ beqz $t9,.L0f075990
/* f07597c: 3c07800a */ lui $a3,%hi(var8009ce74)
/* f075980: 3c014080 */ lui $at,0x4080
/* f075984: 44810000 */ mtc1 $at,$f0
/* f075988: 10000004 */ b .L0f07599c
/* f07598c: 00000000 */ nop
.L0f075990:
/* f075990: 3c014100 */ lui $at,0x4100
/* f075994: 44810000 */ mtc1 $at,$f0
/* f075998: 00000000 */ nop
.L0f07599c:
/* f07599c: 3c18800a */ lui $t8,%hi(var8009ce70)
/* f0759a0: 3c098007 */ lui $t1,%hi(var80069938)
/* f0759a4: 8d299938 */ lw $t1,%lo(var80069938)($t1)
/* f0759a8: 8f18ce70 */ lw $t8,%lo(var8009ce70)($t8)
/* f0759ac: 3c0d8007 */ lui $t5,%hi(var8006993c)
/* f0759b0: 25ad993c */ addiu $t5,$t5,%lo(var8006993c)
/* f0759b4: 44050000 */ mfc1 $a1,$f0
/* f0759b8: afad0018 */ sw $t5,0x18($sp)
/* f0759bc: 8ce7ce74 */ lw $a3,%lo(var8009ce74)($a3)
/* f0759c0: afa90014 */ sw $t1,0x14($sp)
/* f0759c4: 0fc0a3df */ jal shieldhitCreate
/* f0759c8: afb80010 */ sw $t8,0x10($sp)
.L0f0759cc:
/* f0759cc: 8faa0180 */ lw $t2,0x180($sp)
/* f0759d0: 2401014c */ addiu $at,$zero,0x14c
/* f0759d4: 3c0f8007 */ lui $t7,%hi(var80069944)
/* f0759d8: 854b0004 */ lh $t3,0x4($t2)
/* f0759dc: 556100b7 */ bnel $t3,$at,.L0f075cbc
/* f0759e0: 8faf034c */ lw $t7,0x34c($sp)
/* f0759e4: 8def9944 */ lw $t7,%lo(var80069944)($t7)
/* f0759e8: 24010b9e */ addiu $at,$zero,0xb9e
/* f0759ec: 01402025 */ or $a0,$t2,$zero
/* f0759f0: 55e100b2 */ bnel $t7,$at,.L0f075cbc
/* f0759f4: 8faf034c */ lw $t7,0x34c($sp)
/* f0759f8: 4406a000 */ mfc1 $a2,$f20
/* f0759fc: 0fc68330 */ jal frCalculateHit
/* f075a00: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f075a04: 100000ad */ b .L0f075cbc
/* f075a08: 8faf034c */ lw $t7,0x34c($sp)
/* f075a0c: 24010053 */ addiu $at,$zero,0x53
.L0f075a10:
/* f075a10: 10e10003 */ beq $a3,$at,.L0f075a20
/* f075a14: 24010054 */ addiu $at,$zero,0x54
/* f075a18: 14e1006b */ bne $a3,$at,.L0f075bc8
/* f075a1c: 8fa901f4 */ lw $t1,0x1f4($sp)
.L0f075a20:
/* f075a20: 8e2c0040 */ lw $t4,0x40($s1)
/* f075a24: 3c01f000 */ lui $at,0xf000
/* f075a28: 8fb80068 */ lw $t8,0x68($sp)
/* f075a2c: 01817024 */ and $t6,$t4,$at
/* f075a30: 000ecf02 */ srl $t9,$t6,0x1c
/* f075a34: afb9017c */ sw $t9,0x17c($sp)
/* f075a38: 93020000 */ lbu $v0,0x0($t8)
/* f075a3c: 24010003 */ addiu $at,$zero,0x3
/* f075a40: 24090001 */ addiu $t1,$zero,0x1
/* f075a44: 10410006 */ beq $v0,$at,.L0f075a60
/* f075a48: afa9034c */ sw $t1,0x34c($sp)
/* f075a4c: 24010006 */ addiu $at,$zero,0x6
/* f075a50: 5441002b */ bnel $v0,$at,.L0f075b00
/* f075a54: 24010001 */ addiu $at,$zero,0x1
/* f075a58: 8f0d0004 */ lw $t5,0x4($t8)
/* f075a5c: 11a00027 */ beqz $t5,.L0f075afc
.L0f075a60:
/* f075a60: 3c0b800a */ lui $t3,%hi(g_Vars+0x318)
/* f075a64: 8d6ba2d8 */ lw $t3,%lo(g_Vars+0x318)($t3)
/* f075a68: 00001825 */ or $v1,$zero,$zero
/* f075a6c: 2627005c */ addiu $a3,$s1,0x5c
/* f075a70: 11600008 */ beqz $t3,.L0f075a94
/* f075a74: 8fa4017c */ lw $a0,0x17c($sp)
/* f075a78: afa00178 */ sw $zero,0x178($sp)
/* f075a7c: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f075a80: afa70070 */ sw $a3,0x70($sp)
/* f075a84: 8fa30178 */ lw $v1,0x178($sp)
/* f075a88: 10400002 */ beqz $v0,.L0f075a94
/* f075a8c: 8fa70070 */ lw $a3,0x70($sp)
/* f075a90: 8c43001c */ lw $v1,0x1c($v0)
.L0f075a94:
/* f075a94: 3c028007 */ lui $v0,%hi(var80069930)
/* f075a98: 8c429930 */ lw $v0,%lo(var80069930)($v0)
/* f075a9c: 3c0f8007 */ lui $t7,%hi(var80069934)
/* f075aa0: 3c0a800a */ lui $t2,%hi(var8009ce74)
/* f075aa4: 8c440004 */ lw $a0,0x4($v0)
/* f075aa8: 3c0c800a */ lui $t4,%hi(var8009ce70)
/* f075aac: 3c0e8007 */ lui $t6,%hi(var80069938)
/* f075ab0: 8dce9938 */ lw $t6,%lo(var80069938)($t6)
/* f075ab4: 8d8cce70 */ lw $t4,%lo(var8009ce70)($t4)
/* f075ab8: 8d4ace74 */ lw $t2,%lo(var8009ce74)($t2)
/* f075abc: 8def9934 */ lw $t7,%lo(var80069934)($t7)
/* f075ac0: 3c198007 */ lui $t9,%hi(var8006993c)
/* f075ac4: 2739993c */ addiu $t9,$t9,%lo(var8006993c)
/* f075ac8: 3c06800a */ lui $a2,%hi(var8009ce78)
/* f075acc: 24c6ce78 */ addiu $a2,$a2,%lo(var8009ce78)
/* f075ad0: afb90028 */ sw $t9,0x28($sp)
/* f075ad4: afa30010 */ sw $v1,0x10($sp)
/* f075ad8: 3c054000 */ lui $a1,0x4000
/* f075adc: afa20018 */ sw $v0,0x18($sp)
/* f075ae0: afae0024 */ sw $t6,0x24($sp)
/* f075ae4: afac0020 */ sw $t4,0x20($sp)
/* f075ae8: afaa001c */ sw $t2,0x1c($sp)
/* f075aec: 0fc0d077 */ jal func0f0341dc
/* f075af0: afaf0014 */ sw $t7,0x14($sp)
/* f075af4: 1000002f */ b .L0f075bb4
/* f075af8: 02202025 */ or $a0,$s1,$zero
.L0f075afc:
/* f075afc: 24010001 */ addiu $at,$zero,0x1
.L0f075b00:
/* f075b00: 10410003 */ beq $v0,$at,.L0f075b10
/* f075b04: 8fa60068 */ lw $a2,0x68($sp)
/* f075b08: 24010004 */ addiu $at,$zero,0x4
/* f075b0c: 14410028 */ bne $v0,$at,.L0f075bb0
.L0f075b10:
/* f075b10: 3c188007 */ lui $t8,%hi(var80069944)
/* f075b14: 8f189944 */ lw $t8,%lo(var80069944)($t8)
/* f075b18: 26490008 */ addiu $t1,$s2,0x8
/* f075b1c: afa90070 */ sw $t1,0x70($sp)
/* f075b20: 24012710 */ addiu $at,$zero,0x2710
/* f075b24: 1701001d */ bne $t8,$at,.L0f075b9c
/* f075b28: 8cc40004 */ lw $a0,0x4($a2)
/* f075b2c: 8c8d0010 */ lw $t5,0x10($a0)
/* f075b30: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f075b34: 3c07800a */ lui $a3,%hi(var8009ce74)
/* f075b38: 31ab1000 */ andi $t3,$t5,0x1000
/* f075b3c: 11600005 */ beqz $t3,.L0f075b54
/* f075b40: 3c0f800a */ lui $t7,%hi(var8009ce70)
/* f075b44: 3c014080 */ lui $at,0x4080
/* f075b48: 44810000 */ mtc1 $at,$f0
/* f075b4c: 10000004 */ b .L0f075b60
/* f075b50: 00000000 */ nop
.L0f075b54:
/* f075b54: 3c014100 */ lui $at,0x4100
/* f075b58: 44810000 */ mtc1 $at,$f0
/* f075b5c: 00000000 */ nop
.L0f075b60:
/* f075b60: 3c0a8007 */ lui $t2,%hi(var80069938)
/* f075b64: 8d4a9938 */ lw $t2,%lo(var80069938)($t2)
/* f075b68: 8defce70 */ lw $t7,%lo(var8009ce70)($t7)
/* f075b6c: 3c0c8007 */ lui $t4,%hi(var8006993c)
/* f075b70: 258c993c */ addiu $t4,$t4,%lo(var8006993c)
/* f075b74: 44050000 */ mfc1 $a1,$f0
/* f075b78: afac0018 */ sw $t4,0x18($sp)
/* f075b7c: 8ce7ce74 */ lw $a3,%lo(var8009ce74)($a3)
/* f075b80: afaa0014 */ sw $t2,0x14($sp)
/* f075b84: 0fc0a3df */ jal shieldhitCreate
/* f075b88: afaf0010 */ sw $t7,0x10($sp)
/* f075b8c: 3c0e8007 */ lui $t6,%hi(var80069930)
/* f075b90: 8dce9930 */ lw $t6,%lo(var80069930)($t6)
/* f075b94: 9227005c */ lbu $a3,0x5c($s1)
/* f075b98: 8dc40004 */ lw $a0,0x4($t6)
.L0f075b9c:
/* f075b9c: 8fb9017c */ lw $t9,0x17c($sp)
/* f075ba0: 3c0542c8 */ lui $a1,0x42c8
/* f075ba4: 8fa60070 */ lw $a2,0x70($sp)
/* f075ba8: 0fc214ab */ jal objDamage
/* f075bac: afb90010 */ sw $t9,0x10($sp)
.L0f075bb0:
/* f075bb0: 02202025 */ or $a0,$s1,$zero
.L0f075bb4:
/* f075bb4: 24050001 */ addiu $a1,$zero,0x1
/* f075bb8: 0fc1a71c */ jal func0f069c70
/* f075bbc: 24060001 */ addiu $a2,$zero,0x1
/* f075bc0: 1000003d */ b .L0f075cb8
/* f075bc4: a6200062 */ sh $zero,0x62($s1)
.L0f075bc8:
/* f075bc8: 91220000 */ lbu $v0,0x0($t1)
/* f075bcc: 24010003 */ addiu $at,$zero,0x3
/* f075bd0: 8fa60068 */ lw $a2,0x68($sp)
/* f075bd4: 10410006 */ beq $v0,$at,.L0f075bf0
/* f075bd8: 8fad01f4 */ lw $t5,0x1f4($sp)
/* f075bdc: 24010006 */ addiu $at,$zero,0x6
/* f075be0: 54410012 */ bnel $v0,$at,.L0f075c2c
/* f075be4: 24010001 */ addiu $at,$zero,0x1
/* f075be8: 8d380004 */ lw $t8,0x4($t1)
/* f075bec: 1300000e */ beqz $t8,.L0f075c28
.L0f075bf0:
/* f075bf0: 3c0b8007 */ lui $t3,%hi(var80069938)
/* f075bf4: 8d6b9938 */ lw $t3,%lo(var80069938)($t3)
/* f075bf8: 3c0f8007 */ lui $t7,%hi(var8006993c)
/* f075bfc: 8da40004 */ lw $a0,0x4($t5)
/* f075c00: 25ef993c */ addiu $t7,$t7,%lo(var8006993c)
/* f075c04: 3c05800a */ lui $a1,%hi(var8009ce74)
/* f075c08: 3c07800a */ lui $a3,%hi(var8009ce70)
/* f075c0c: 8ce7ce70 */ lw $a3,%lo(var8009ce70)($a3)
/* f075c10: 8ca5ce74 */ lw $a1,%lo(var8009ce74)($a1)
/* f075c14: afaf0014 */ sw $t7,0x14($sp)
/* f075c18: 0fc0d020 */ jal func0f034080
/* f075c1c: afab0010 */ sw $t3,0x10($sp)
/* f075c20: 10000026 */ b .L0f075cbc
/* f075c24: 8faf034c */ lw $t7,0x34c($sp)
.L0f075c28:
/* f075c28: 24010001 */ addiu $at,$zero,0x1
.L0f075c2c:
/* f075c2c: 10410004 */ beq $v0,$at,.L0f075c40
/* f075c30: 3c0a8007 */ lui $t2,%hi(var80069944)
/* f075c34: 24010004 */ addiu $at,$zero,0x4
/* f075c38: 54410020 */ bnel $v0,$at,.L0f075cbc
/* f075c3c: 8faf034c */ lw $t7,0x34c($sp)
.L0f075c40:
/* f075c40: 8d4a9944 */ lw $t2,%lo(var80069944)($t2)
/* f075c44: 24012710 */ addiu $at,$zero,0x2710
/* f075c48: 8fac01f4 */ lw $t4,0x1f4($sp)
/* f075c4c: 1541001a */ bne $t2,$at,.L0f075cb8
/* f075c50: 8fa60068 */ lw $a2,0x68($sp)
/* f075c54: 8d8e0004 */ lw $t6,0x4($t4)
/* f075c58: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f075c5c: 3c07800a */ lui $a3,%hi(var8009ce74)
/* f075c60: 8dd90010 */ lw $t9,0x10($t6)
/* f075c64: 3c18800a */ lui $t8,%hi(var8009ce70)
/* f075c68: 3c0d8007 */ lui $t5,%hi(var80069938)
/* f075c6c: 33291000 */ andi $t1,$t9,0x1000
/* f075c70: 11200005 */ beqz $t1,.L0f075c88
/* f075c74: 3c0b8007 */ lui $t3,%hi(var8006993c)
/* f075c78: 3c014080 */ lui $at,0x4080
/* f075c7c: 44810000 */ mtc1 $at,$f0
/* f075c80: 10000004 */ b .L0f075c94
/* f075c84: 00000000 */ nop
.L0f075c88:
/* f075c88: 3c014100 */ lui $at,0x4100
/* f075c8c: 44810000 */ mtc1 $at,$f0
/* f075c90: 00000000 */ nop
.L0f075c94:
/* f075c94: 8f18ce70 */ lw $t8,%lo(var8009ce70)($t8)
/* f075c98: 8dad9938 */ lw $t5,%lo(var80069938)($t5)
/* f075c9c: 44050000 */ mfc1 $a1,$f0
/* f075ca0: 256b993c */ addiu $t3,$t3,%lo(var8006993c)
/* f075ca4: afab0018 */ sw $t3,0x18($sp)
/* f075ca8: 8ce7ce74 */ lw $a3,%lo(var8009ce74)($a3)
/* f075cac: afb80010 */ sw $t8,0x10($sp)
/* f075cb0: 0fc0a3df */ jal shieldhitCreate
/* f075cb4: afad0014 */ sw $t5,0x14($sp)
.L0f075cb8:
/* f075cb8: 8faf034c */ lw $t7,0x34c($sp)
.L0f075cbc:
/* f075cbc: 8faa01f8 */ lw $t2,0x1f8($sp)
/* f075cc0: 55e000bb */ bnezl $t7,.L0f075fb0
/* f075cc4: 8faa034c */ lw $t2,0x34c($sp)
/* f075cc8: 114000b8 */ beqz $t2,.L0f075fac
/* f075ccc: 240c0001 */ addiu $t4,$zero,0x1
/* f075cd0: afac034c */ sw $t4,0x34c($sp)
/* f075cd4: 02202025 */ or $a0,$s1,$zero
/* f075cd8: 24050001 */ addiu $a1,$zero,0x1
/* f075cdc: 0fc1a71c */ jal func0f069c70
/* f075ce0: 24060001 */ addiu $a2,$zero,0x1
/* f075ce4: 922e0003 */ lbu $t6,0x3($s1)
/* f075ce8: 24010008 */ addiu $at,$zero,0x8
/* f075cec: 55c100ab */ bnel $t6,$at,.L0f075f9c
/* f075cf0: 02402025 */ or $a0,$s2,$zero
/* f075cf4: 9227005c */ lbu $a3,0x5c($s1)
/* f075cf8: 24010056 */ addiu $at,$zero,0x56
/* f075cfc: 10e10003 */ beq $a3,$at,.L0f075d0c
/* f075d00: 2401001a */ addiu $at,$zero,0x1a
/* f075d04: 54e100a5 */ bnel $a3,$at,.L0f075f9c
/* f075d08: 02402025 */ or $a0,$s2,$zero
.L0f075d0c:
/* f075d0c: 8e390048 */ lw $t9,0x48($s1)
/* f075d10: 8f240088 */ lw $a0,0x88($t9)
/* f075d14: 5080006b */ beqzl $a0,.L0f075ec4
/* f075d18: 8fae01f4 */ lw $t6,0x1f4($sp)
/* f075d1c: 90890000 */ lbu $t1,0x0($a0)
/* f075d20: 24010006 */ addiu $at,$zero,0x6
/* f075d24: 3c18800a */ lui $t8,%hi(g_Vars+0x28c)
/* f075d28: 15210065 */ bne $t1,$at,.L0f075ec0
/* f075d2c: 2627005c */ addiu $a3,$s1,0x5c
/* f075d30: 8f18a24c */ lw $t8,%lo(g_Vars+0x28c)($t8)
/* f075d34: afa70070 */ sw $a3,0x70($sp)
/* f075d38: 0fc4a25f */ jal propGetPlayerNum
/* f075d3c: afb80164 */ sw $t8,0x164($sp)
/* f075d40: 0fc4a24b */ jal setCurrentPlayerNum
/* f075d44: 00402025 */ or $a0,$v0,$zero
/* f075d48: 8fa40070 */ lw $a0,0x70($sp)
/* f075d4c: 0fc2c108 */ jal mpstatsIncrementPlayerShotCount
/* f075d50: 00002825 */ or $a1,$zero,$zero
/* f075d54: 3c058007 */ lui $a1,%hi(var80069930)
/* f075d58: 8ca59930 */ lw $a1,%lo(var80069930)($a1)
/* f075d5c: 8fa70070 */ lw $a3,0x70($sp)
/* f075d60: 10a00055 */ beqz $a1,.L0f075eb8
/* f075d64: 00000000 */ nop
/* f075d68: 90a20000 */ lbu $v0,0x0($a1)
/* f075d6c: 24010001 */ addiu $at,$zero,0x1
/* f075d70: 5441000c */ bnel $v0,$at,.L0f075da4
/* f075d74: 24010003 */ addiu $at,$zero,0x3
/* f075d78: 8ca40004 */ lw $a0,0x4($a1)
/* f075d7c: 0fc21a6a */ jal objIsHealthy
/* f075d80: afa70070 */ sw $a3,0x70($sp)
/* f075d84: 1040004c */ beqz $v0,.L0f075eb8
/* f075d88: 8fa70070 */ lw $a3,0x70($sp)
/* f075d8c: 00e02025 */ or $a0,$a3,$zero
/* f075d90: 0fc2c108 */ jal mpstatsIncrementPlayerShotCount
/* f075d94: 24050006 */ addiu $a1,$zero,0x6
/* f075d98: 10000047 */ b .L0f075eb8
/* f075d9c: 00000000 */ nop
/* f075da0: 24010003 */ addiu $at,$zero,0x3
.L0f075da4:
/* f075da4: 10410003 */ beq $v0,$at,.L0f075db4
/* f075da8: 24010006 */ addiu $at,$zero,0x6
/* f075dac: 14410042 */ bne $v0,$at,.L0f075eb8
/* f075db0: 00000000 */ nop
.L0f075db4:
/* f075db4: 8ca30004 */ lw $v1,0x4($a1)
/* f075db8: 00003025 */ or $a2,$zero,$zero
/* f075dbc: 00a02025 */ or $a0,$a1,$zero
/* f075dc0: 50600007 */ beqzl $v1,.L0f075de0
/* f075dc4: 24010006 */ addiu $at,$zero,0x6
/* f075dc8: 806d0007 */ lb $t5,0x7($v1)
/* f075dcc: 24010005 */ addiu $at,$zero,0x5
/* f075dd0: 55a10003 */ bnel $t5,$at,.L0f075de0
/* f075dd4: 24010006 */ addiu $at,$zero,0x6
/* f075dd8: 24060001 */ addiu $a2,$zero,0x1
/* f075ddc: 24010006 */ addiu $at,$zero,0x6
.L0f075de0:
/* f075de0: 1441000e */ bne $v0,$at,.L0f075e1c
/* f075de4: 00000000 */ nop
/* f075de8: afa6015c */ sw $a2,0x15c($sp)
/* f075dec: 0fc4a25f */ jal propGetPlayerNum
/* f075df0: afa70070 */ sw $a3,0x70($sp)
/* f075df4: 00025880 */ sll $t3,$v0,0x2
/* f075df8: 3c0f800a */ lui $t7,%hi(g_Vars+0x64)
/* f075dfc: 01eb7821 */ addu $t7,$t7,$t3
/* f075e00: 8defa024 */ lw $t7,%lo(g_Vars+0x64)($t7)
/* f075e04: 8fa6015c */ lw $a2,0x15c($sp)
/* f075e08: 8fa70070 */ lw $a3,0x70($sp)
/* f075e0c: 8dea00d8 */ lw $t2,0xd8($t7)
/* f075e10: 11400002 */ beqz $t2,.L0f075e1c
/* f075e14: 00000000 */ nop
/* f075e18: 24060001 */ addiu $a2,$zero,0x1
.L0f075e1c:
/* f075e1c: 14c00026 */ bnez $a2,.L0f075eb8
/* f075e20: 3c0c8007 */ lui $t4,%hi(var80069934)
/* f075e24: 8d8c9934 */ lw $t4,%lo(var80069934)($t4)
/* f075e28: 24010007 */ addiu $at,$zero,0x7
/* f075e2c: 11800022 */ beqz $t4,.L0f075eb8
/* f075e30: afac0088 */ sw $t4,0x88($sp)
/* f075e34: 1181001a */ beq $t4,$at,.L0f075ea0
/* f075e38: 00e02025 */ or $a0,$a3,$zero
/* f075e3c: 24010008 */ addiu $at,$zero,0x8
/* f075e40: 1181000b */ beq $t4,$at,.L0f075e70
/* f075e44: 24050001 */ addiu $a1,$zero,0x1
/* f075e48: 2401000f */ addiu $at,$zero,0xf
/* f075e4c: 11810014 */ beq $t4,$at,.L0f075ea0
/* f075e50: 24010064 */ addiu $at,$zero,0x64
/* f075e54: 1181000a */ beq $t4,$at,.L0f075e80
/* f075e58: 00e02025 */ or $a0,$a3,$zero
/* f075e5c: 2401006e */ addiu $at,$zero,0x6e
/* f075e60: 1181000b */ beq $t4,$at,.L0f075e90
/* f075e64: 00e02025 */ or $a0,$a3,$zero
/* f075e68: 10000011 */ b .L0f075eb0
/* f075e6c: 00e02025 */ or $a0,$a3,$zero
.L0f075e70:
/* f075e70: 0fc2c108 */ jal mpstatsIncrementPlayerShotCount
/* f075e74: 00e02025 */ or $a0,$a3,$zero
/* f075e78: 1000000f */ b .L0f075eb8
/* f075e7c: 00000000 */ nop
.L0f075e80:
/* f075e80: 0fc2c108 */ jal mpstatsIncrementPlayerShotCount
/* f075e84: 24050004 */ addiu $a1,$zero,0x4
/* f075e88: 1000000b */ b .L0f075eb8
/* f075e8c: 00000000 */ nop
.L0f075e90:
/* f075e90: 0fc2c108 */ jal mpstatsIncrementPlayerShotCount
/* f075e94: 24050005 */ addiu $a1,$zero,0x5
/* f075e98: 10000007 */ b .L0f075eb8
/* f075e9c: 00000000 */ nop
.L0f075ea0:
/* f075ea0: 0fc2c108 */ jal mpstatsIncrementPlayerShotCount
/* f075ea4: 24050002 */ addiu $a1,$zero,0x2
/* f075ea8: 10000003 */ b .L0f075eb8
/* f075eac: 00000000 */ nop
.L0f075eb0:
/* f075eb0: 0fc2c108 */ jal mpstatsIncrementPlayerShotCount
/* f075eb4: 24050003 */ addiu $a1,$zero,0x3
.L0f075eb8:
/* f075eb8: 0fc4a24b */ jal setCurrentPlayerNum
/* f075ebc: 8fa40164 */ lw $a0,0x164($sp)
.L0f075ec0:
/* f075ec0: 8fae01f4 */ lw $t6,0x1f4($sp)
.L0f075ec4:
/* f075ec4: 51c0000a */ beqzl $t6,.L0f075ef0
/* f075ec8: 8e390048 */ lw $t9,0x48($s1)
/* f075ecc: 91c20000 */ lbu $v0,0x0($t6)
/* f075ed0: 24010001 */ addiu $at,$zero,0x1
/* f075ed4: 10410005 */ beq $v0,$at,.L0f075eec
/* f075ed8: 24010004 */ addiu $at,$zero,0x4
/* f075edc: 10410003 */ beq $v0,$at,.L0f075eec
/* f075ee0: 24010002 */ addiu $at,$zero,0x2
/* f075ee4: 5441002d */ bnel $v0,$at,.L0f075f9c
/* f075ee8: 02402025 */ or $a0,$s2,$zero
.L0f075eec:
/* f075eec: 8e390048 */ lw $t9,0x48($s1)
.L0f075ef0:
/* f075ef0: c6060004 */ lwc1 $f6,0x4($s0)
/* f075ef4: 27a40150 */ addiu $a0,$sp,0x150
/* f075ef8: 8f220088 */ lw $v0,0x88($t9)
/* f075efc: e7a60150 */ swc1 $f6,0x150($sp)
/* f075f00: c6080008 */ lwc1 $f8,0x8($s0)
/* f075f04: 27a50154 */ addiu $a1,$sp,0x154
/* f075f08: 27a60158 */ addiu $a2,$sp,0x158
/* f075f0c: e7a80154 */ swc1 $f8,0x154($sp)
/* f075f10: c604000c */ lwc1 $f4,0xc($s0)
/* f075f14: afa2014c */ sw $v0,0x14c($sp)
/* f075f18: 0c0011e4 */ jal guNormalize
/* f075f1c: e7a40158 */ swc1 $f4,0x158($sp)
/* f075f20: 8fa2014c */ lw $v0,0x14c($sp)
/* f075f24: 50400005 */ beqzl $v0,.L0f075f3c
/* f075f28: afa00088 */ sw $zero,0x88($sp)
/* f075f2c: 8c490004 */ lw $t1,0x4($v0)
/* f075f30: 10000002 */ b .L0f075f3c
/* f075f34: afa90088 */ sw $t1,0x88($sp)
/* f075f38: afa00088 */ sw $zero,0x88($sp)
.L0f075f3c:
/* f075f3c: 0fc4f92a */ jal chrIsUsingPaintball
/* f075f40: 8fa40088 */ lw $a0,0x88($sp)
/* f075f44: 1040000c */ beqz $v0,.L0f075f78
/* f075f48: 02402825 */ or $a1,$s2,$zero
/* f075f4c: 86440028 */ lh $a0,0x28($s2)
/* f075f50: 27b805f4 */ addiu $t8,$sp,0x5f4
/* f075f54: 240d0019 */ addiu $t5,$zero,0x19
/* f075f58: afad0014 */ sw $t5,0x14($sp)
/* f075f5c: afb80010 */ sw $t8,0x10($sp)
/* f075f60: 02402825 */ or $a1,$s2,$zero
/* f075f64: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f075f68: 0fc4be7c */ jal sparksCreate
/* f075f6c: 27a70150 */ addiu $a3,$sp,0x150
/* f075f70: 1000000a */ b .L0f075f9c
/* f075f74: 02402025 */ or $a0,$s2,$zero
.L0f075f78:
/* f075f78: 86440028 */ lh $a0,0x28($s2)
/* f075f7c: 27ab05f4 */ addiu $t3,$sp,0x5f4
/* f075f80: 240f0010 */ addiu $t7,$zero,0x10
/* f075f84: afaf0014 */ sw $t7,0x14($sp)
/* f075f88: afab0010 */ sw $t3,0x10($sp)
/* f075f8c: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f075f90: 0fc4be7c */ jal sparksCreate
/* f075f94: 27a70150 */ addiu $a3,$sp,0x150
/* f075f98: 02402025 */ or $a0,$s2,$zero
.L0f075f9c:
/* f075f9c: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f075fa0: 27a605f4 */ addiu $a2,$sp,0x5f4
/* f075fa4: 0fc1bc28 */ jal func0f06f0a0
/* f075fa8: 8fa7060c */ lw $a3,0x60c($sp)
.L0f075fac:
/* f075fac: 8faa034c */ lw $t2,0x34c($sp)
.L0f075fb0:
/* f075fb0: 8fac0600 */ lw $t4,0x600($sp)
/* f075fb4: 55400038 */ bnezl $t2,.L0f076098
/* f075fb8: 8fae034c */ lw $t6,0x34c($sp)
/* f075fbc: 11800012 */ beqz $t4,.L0f076008
/* f075fc0: 26440008 */ addiu $a0,$s2,0x8
/* f075fc4: 8fa5006c */ lw $a1,0x6c($sp)
/* f075fc8: 27a605dc */ addiu $a2,$sp,0x5dc
/* f075fcc: 0fc1979d */ jal func0f065e74
/* f075fd0: 27a7013c */ addiu $a3,$sp,0x13c
/* f075fd4: c7aa05dc */ lwc1 $f10,0x5dc($sp)
/* f075fd8: 02402025 */ or $a0,$s2,$zero
/* f075fdc: e64a0008 */ swc1 $f10,0x8($s2)
/* f075fe0: c7a605e0 */ lwc1 $f6,0x5e0($sp)
/* f075fe4: e646000c */ swc1 $f6,0xc($s2)
/* f075fe8: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f075fec: 0fc19711 */ jal propDeregisterRooms
/* f075ff0: e6480010 */ swc1 $f8,0x10($s2)
/* f075ff4: 27a4013c */ addiu $a0,$sp,0x13c
/* f075ff8: 0fc195e9 */ jal roomsCopy
/* f075ffc: 8fa5006c */ lw $a1,0x6c($sp)
/* f076000: 10000025 */ b .L0f076098
/* f076004: 8fae034c */ lw $t6,0x34c($sp)
.L0f076008:
/* f076008: 3c038007 */ lui $v1,%hi(var80069930)
/* f07600c: 8c639930 */ lw $v1,%lo(var80069930)($v1)
/* f076010: c7a605e8 */ lwc1 $f6,0x5e8($sp)
/* f076014: 27a605dc */ addiu $a2,$sp,0x5dc
/* f076018: 1060000c */ beqz $v1,.L0f07604c
/* f07601c: 27a7012c */ addiu $a3,$sp,0x12c
/* f076020: 90620000 */ lbu $v0,0x0($v1)
/* f076024: 24010003 */ addiu $at,$zero,0x3
/* f076028: 10410003 */ beq $v0,$at,.L0f076038
/* f07602c: 24010006 */ addiu $at,$zero,0x6
/* f076030: 54410007 */ bnel $v0,$at,.L0f076050
/* f076034: c7a805ec */ lwc1 $f8,0x5ec($sp)
.L0f076038:
/* f076038: c6440008 */ lwc1 $f4,0x8($s2)
/* f07603c: e7a405dc */ swc1 $f4,0x5dc($sp)
/* f076040: c64a0010 */ lwc1 $f10,0x10($s2)
/* f076044: 10000006 */ b .L0f076060
/* f076048: e7aa05e4 */ swc1 $f10,0x5e4($sp)
.L0f07604c:
/* f07604c: c7a805ec */ lwc1 $f8,0x5ec($sp)
.L0f076050:
/* f076050: c7a405f0 */ lwc1 $f4,0x5f0($sp)
/* f076054: e7a605dc */ swc1 $f6,0x5dc($sp)
/* f076058: e7a805e0 */ swc1 $f8,0x5e0($sp)
/* f07605c: e7a405e4 */ swc1 $f4,0x5e4($sp)
.L0f076060:
/* f076060: 0fc1979d */ jal func0f065e74
/* f076064: 8fa5006c */ lw $a1,0x6c($sp)
/* f076068: c7aa05dc */ lwc1 $f10,0x5dc($sp)
/* f07606c: 02402025 */ or $a0,$s2,$zero
/* f076070: e64a0008 */ swc1 $f10,0x8($s2)
/* f076074: c7a605e0 */ lwc1 $f6,0x5e0($sp)
/* f076078: e646000c */ swc1 $f6,0xc($s2)
/* f07607c: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f076080: 0fc19711 */ jal propDeregisterRooms
/* f076084: e6480010 */ swc1 $f8,0x10($s2)
/* f076088: 27a4012c */ addiu $a0,$sp,0x12c
/* f07608c: 0fc195e9 */ jal roomsCopy
/* f076090: 8fa5006c */ lw $a1,0x6c($sp)
/* f076094: 8fae034c */ lw $t6,0x34c($sp)
.L0f076098:
/* f076098: 55c0039e */ bnezl $t6,.L0f076f14
/* f07609c: 8fbf005c */ lw $ra,0x5c($sp)
/* f0760a0: 0fc1a2bd */ jal objFindBboxRodata
/* f0760a4: 02202025 */ or $a0,$s1,$zero
/* f0760a8: 00402025 */ or $a0,$v0,$zero
/* f0760ac: 0fc19a57 */ jal func0f06695c
/* f0760b0: 8fa50074 */ lw $a1,0x74($sp)
/* f0760b4: e7a0037c */ swc1 $f0,0x37c($sp)
/* f0760b8: c6440008 */ lwc1 $f4,0x8($s2)
/* f0760bc: 26270058 */ addiu $a3,$s1,0x58
/* f0760c0: 27b9012a */ addiu $t9,$sp,0x12a
/* f0760c4: e7a405ac */ swc1 $f4,0x5ac($sp)
/* f0760c8: c64a000c */ lwc1 $f10,0xc($s2)
/* f0760cc: 27a90380 */ addiu $t1,$sp,0x380
/* f0760d0: 27a405ac */ addiu $a0,$sp,0x5ac
/* f0760d4: 46005180 */ add.s $f6,$f10,$f0
/* f0760d8: 8fa5006c */ lw $a1,0x6c($sp)
/* f0760dc: 27a60390 */ addiu $a2,$sp,0x390
/* f0760e0: e7a605b0 */ swc1 $f6,0x5b0($sp)
/* f0760e4: c6480010 */ lwc1 $f8,0x10($s2)
/* f0760e8: afa70074 */ sw $a3,0x74($sp)
/* f0760ec: afa90014 */ sw $t1,0x14($sp)
/* f0760f0: afb90010 */ sw $t9,0x10($sp)
/* f0760f4: 0c00a979 */ jal cd0002a5e4
/* f0760f8: e7a805b4 */ swc1 $f8,0x5b4($sp)
/* f0760fc: 00021c00 */ sll $v1,$v0,0x10
/* f076100: 1840002e */ blez $v0,.L0f0761bc
/* f076104: 0003c403 */ sra $t8,$v1,0x10
/* f076108: c644000c */ lwc1 $f4,0xc($s2)
/* f07610c: c7aa037c */ lwc1 $f10,0x37c($sp)
/* f076110: c7a80390 */ lwc1 $f8,0x390($sp)
/* f076114: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f076118: 460a2180 */ add.s $f6,$f4,$f10
/* f07611c: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f076120: 27a605ac */ addiu $a2,$sp,0x5ac
/* f076124: 24070021 */ addiu $a3,$zero,0x21
/* f076128: 4608303c */ c.lt.s $f6,$f8
/* f07612c: 240d0003 */ addiu $t5,$zero,0x3
/* f076130: 45020023 */ bc1fl .L0f0761c0
/* f076134: 26440008 */ addiu $a0,$s2,0x8
/* f076138: afad0010 */ sw $t5,0x10($sp)
/* f07613c: 0c00b6e6 */ jal cd0002db98
/* f076140: a7b8038e */ sh $t8,0x38e($sp)
/* f076144: 1440001d */ bnez $v0,.L0f0761bc
/* f076148: 87a3038e */ lh $v1,0x38e($sp)
/* f07614c: c7a40380 */ lwc1 $f4,0x380($sp)
/* f076150: c7aa0384 */ lwc1 $f10,0x384($sp)
/* f076154: c7a60388 */ lwc1 $f6,0x388($sp)
/* f076158: 240b0001 */ addiu $t3,$zero,0x1
/* f07615c: afab0354 */ sw $t3,0x354($sp)
/* f076160: 27a405f4 */ addiu $a0,$sp,0x5f4
/* f076164: 27a505f8 */ addiu $a1,$sp,0x5f8
/* f076168: 27a605fc */ addiu $a2,$sp,0x5fc
/* f07616c: a7a3038e */ sh $v1,0x38e($sp)
/* f076170: e7a405f4 */ swc1 $f4,0x5f4($sp)
/* f076174: e7aa05f8 */ swc1 $f10,0x5f8($sp)
/* f076178: 0c0011e4 */ jal guNormalize
/* f07617c: e7a605fc */ swc1 $f6,0x5fc($sp)
/* f076180: c6480008 */ lwc1 $f8,0x8($s2)
/* f076184: c7a40390 */ lwc1 $f4,0x390($sp)
/* f076188: 97af012a */ lhu $t7,0x12a($sp)
/* f07618c: e7a805e8 */ swc1 $f8,0x5e8($sp)
/* f076190: e7a405ec */ swc1 $f4,0x5ec($sp)
/* f076194: c64a0010 */ lwc1 $f10,0x10($s2)
/* f076198: 31ea4000 */ andi $t2,$t7,0x4000
/* f07619c: 87a3038e */ lh $v1,0x38e($sp)
/* f0761a0: afa00600 */ sw $zero,0x600($sp)
/* f0761a4: 1140003d */ beqz $t2,.L0f07629c
/* f0761a8: e7aa05f0 */ swc1 $f10,0x5f0($sp)
/* f0761ac: 8e2c0040 */ lw $t4,0x40($s1)
/* f0761b0: 358e0004 */ ori $t6,$t4,0x4
/* f0761b4: 10000039 */ b .L0f07629c
/* f0761b8: ae2e0040 */ sw $t6,0x40($s1)
.L0f0761bc:
/* f0761bc: 26440008 */ addiu $a0,$s2,0x8
.L0f0761c0:
/* f0761c0: 27b90380 */ addiu $t9,$sp,0x380
/* f0761c4: afb90010 */ sw $t9,0x10($sp)
/* f0761c8: afa40070 */ sw $a0,0x70($sp)
/* f0761cc: 8fa5006c */ lw $a1,0x6c($sp)
/* f0761d0: 27a60390 */ addiu $a2,$sp,0x390
/* f0761d4: 8fa70074 */ lw $a3,0x74($sp)
/* f0761d8: 0c00a959 */ jal cd0002a564
/* f0761dc: afa00014 */ sw $zero,0x14($sp)
/* f0761e0: 00021c00 */ sll $v1,$v0,0x10
/* f0761e4: 00034c03 */ sra $t1,$v1,0x10
/* f0761e8: 1c40002c */ bgtz $v0,.L0f07629c
/* f0761ec: 01201825 */ or $v1,$t1,$zero
/* f0761f0: 8e020000 */ lw $v0,0x0($s0)
/* f0761f4: 30580004 */ andi $t8,$v0,0x4
/* f0761f8: 17000028 */ bnez $t8,.L0f07629c
/* f0761fc: 00026bc0 */ sll $t5,$v0,0xf
/* f076200: 05a0000c */ bltz $t5,.L0f076234
/* f076204: 3c010001 */ lui $at,0x1
/* f076208: 00415825 */ or $t3,$v0,$at
/* f07620c: ae0b0000 */ sw $t3,0x0($s0)
/* f076210: a7a9038e */ sh $t1,0x38e($sp)
/* f076214: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f076218: 0c00a900 */ jal cd0002a400
/* f07621c: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f076220: 18400004 */ blez $v0,.L0f076234
/* f076224: 87a3038e */ lh $v1,0x38e($sp)
/* f076228: 8e0f0000 */ lw $t7,0x0($s0)
/* f07622c: 35ea8000 */ ori $t2,$t7,0x8000
/* f076230: ae0a0000 */ sw $t2,0x0($s0)
.L0f076234:
/* f076234: 8e0c0000 */ lw $t4,0x0($s0)
/* f076238: c7a605c8 */ lwc1 $f6,0x5c8($sp)
/* f07623c: 318e8000 */ andi $t6,$t4,0x8000
/* f076240: 11c00016 */ beqz $t6,.L0f07629c
/* f076244: 00000000 */ nop
/* f076248: e6460008 */ swc1 $f6,0x8($s2)
/* f07624c: c7a805cc */ lwc1 $f8,0x5cc($sp)
/* f076250: 02402025 */ or $a0,$s2,$zero
/* f076254: e648000c */ swc1 $f8,0xc($s2)
/* f076258: c7a405d0 */ lwc1 $f4,0x5d0($sp)
/* f07625c: 0fc19711 */ jal propDeregisterRooms
/* f076260: e6440010 */ swc1 $f4,0x10($s2)
/* f076264: 27a405b8 */ addiu $a0,$sp,0x5b8
/* f076268: 0fc195e9 */ jal roomsCopy
/* f07626c: 8fa5006c */ lw $a1,0x6c($sp)
/* f076270: 8fa40070 */ lw $a0,0x70($sp)
/* f076274: 8fa5006c */ lw $a1,0x6c($sp)
/* f076278: 27a60390 */ addiu $a2,$sp,0x390
/* f07627c: 8fa70074 */ lw $a3,0x74($sp)
/* f076280: 0c00a910 */ jal cd0002a440
/* f076284: afa00010 */ sw $zero,0x10($sp)
/* f076288: 00021c00 */ sll $v1,$v0,0x10
/* f07628c: 0003cc03 */ sra $t9,$v1,0x10
/* f076290: 03201825 */ or $v1,$t9,$zero
/* f076294: e6140004 */ swc1 $f20,0x4($s0)
/* f076298: e614000c */ swc1 $f20,0xc($s0)
.L0f07629c:
/* f07629c: 18600004 */ blez $v1,.L0f0762b0
/* f0762a0: 8e020000 */ lw $v0,0x0($s0)
/* f0762a4: 34498000 */ ori $t1,$v0,0x8000
/* f0762a8: 10000005 */ b .L0f0762c0
/* f0762ac: ae090000 */ sw $t1,0x0($s0)
.L0f0762b0:
/* f0762b0: 3c01ffff */ lui $at,0xffff
/* f0762b4: 34217fff */ ori $at,$at,0x7fff
/* f0762b8: 0041c024 */ and $t8,$v0,$at
/* f0762bc: ae180000 */ sw $t8,0x0($s0)
.L0f0762c0:
/* f0762c0: 8fad0600 */ lw $t5,0x600($sp)
/* f0762c4: 55a000ac */ bnezl $t5,.L0f076578
/* f0762c8: 922b0003 */ lbu $t3,0x3($s1)
/* f0762cc: c60c0008 */ lwc1 $f12,0x8($s0)
/* f0762d0: c7a605cc */ lwc1 $f6,0x5cc($sp)
/* f0762d4: 4614603e */ c.le.s $f12,$f20
/* f0762d8: 00000000 */ nop
/* f0762dc: 45020007 */ bc1fl .L0f0762fc
/* f0762e0: 8e0b0000 */ lw $t3,0x0($s0)
/* f0762e4: c64a000c */ lwc1 $f10,0xc($s2)
/* f0762e8: 460a303e */ c.le.s $f6,$f10
/* f0762ec: 00000000 */ nop
/* f0762f0: 45030008 */ bc1tl .L0f076314
/* f0762f4: 240c0001 */ addiu $t4,$zero,0x1
/* f0762f8: 8e0b0000 */ lw $t3,0x0($s0)
.L0f0762fc:
/* f0762fc: 8faa0354 */ lw $t2,0x354($sp)
/* f076300: 316f0004 */ andi $t7,$t3,0x4
/* f076304: 55e00005 */ bnezl $t7,.L0f07631c
/* f076308: c612008c */ lwc1 $f18,0x8c($s0)
/* f07630c: 11400002 */ beqz $t2,.L0f076318
/* f076310: 240c0001 */ addiu $t4,$zero,0x1
.L0f076314:
/* f076314: afac0350 */ sw $t4,0x350($sp)
.L0f076318:
/* f076318: c612008c */ lwc1 $f18,0x8c($s0)
.L0f07631c:
/* f07631c: c7a805f4 */ lwc1 $f8,0x5f4($sp)
/* f076320: 4612a03c */ c.lt.s $f20,$f18
/* f076324: 00000000 */ nop
/* f076328: 45020034 */ bc1fl .L0f0763fc
/* f07632c: 8fad0350 */ lw $t5,0x350($sp)
/* f076330: c60e0004 */ lwc1 $f14,0x4($s0)
/* f076334: c7aa05f8 */ lwc1 $f10,0x5f8($sp)
/* f076338: c602000c */ lwc1 $f2,0xc($s0)
/* f07633c: 46087102 */ mul.s $f4,$f14,$f8
/* f076340: 3c013f80 */ lui $at,0x3f80
/* f076344: 4614603e */ c.le.s $f12,$f20
/* f076348: 460a6182 */ mul.s $f6,$f12,$f10
/* f07634c: 46062280 */ add.s $f10,$f4,$f6
/* f076350: c7a405fc */ lwc1 $f4,0x5fc($sp)
/* f076354: 46022182 */ mul.s $f6,$f4,$f2
/* f076358: 44812000 */ mtc1 $at,$f4
/* f07635c: 460a3000 */ add.s $f0,$f6,$f10
/* f076360: 46049180 */ add.s $f6,$f18,$f4
/* f076364: 46003287 */ neg.s $f10,$f6
/* f076368: 460a0002 */ mul.s $f0,$f0,$f10
/* f07636c: 00000000 */ nop
/* f076370: 46080102 */ mul.s $f4,$f0,$f8
/* f076374: 46047180 */ add.s $f6,$f14,$f4
/* f076378: e6060004 */ swc1 $f6,0x4($s0)
/* f07637c: c7aa05f8 */ lwc1 $f10,0x5f8($sp)
/* f076380: 460a0202 */ mul.s $f8,$f0,$f10
/* f076384: 46086100 */ add.s $f4,$f12,$f8
/* f076388: e6040008 */ swc1 $f4,0x8($s0)
/* f07638c: c7a605fc */ lwc1 $f6,0x5fc($sp)
/* f076390: 46060282 */ mul.s $f10,$f0,$f6
/* f076394: 460a1200 */ add.s $f8,$f2,$f10
/* f076398: 45000008 */ bc1f .L0f0763bc
/* f07639c: e608000c */ swc1 $f8,0xc($s0)
/* f0763a0: c6040008 */ lwc1 $f4,0x8($s0)
/* f0763a4: 240e0001 */ addiu $t6,$zero,0x1
/* f0763a8: 4604a03e */ c.le.s $f20,$f4
/* f0763ac: 00000000 */ nop
/* f0763b0: 45020003 */ bc1fl .L0f0763c0
/* f0763b4: 92390003 */ lbu $t9,0x3($s1)
/* f0763b8: afae0350 */ sw $t6,0x350($sp)
.L0f0763bc:
/* f0763bc: 92390003 */ lbu $t9,0x3($s1)
.L0f0763c0:
/* f0763c0: 24010008 */ addiu $at,$zero,0x8
/* f0763c4: 5721000d */ bnel $t9,$at,.L0f0763fc
/* f0763c8: 8fad0350 */ lw $t5,0x350($sp)
/* f0763cc: 9229005c */ lbu $t1,0x5c($s1)
/* f0763d0: 2401001e */ addiu $at,$zero,0x1e
/* f0763d4: 55210009 */ bnel $t1,$at,.L0f0763fc
/* f0763d8: 8fad0350 */ lw $t5,0x350($sp)
/* f0763dc: 9238005f */ lbu $t8,0x5f($s1)
/* f0763e0: 24010001 */ addiu $at,$zero,0x1
/* f0763e4: 02402025 */ or $a0,$s2,$zero
/* f0763e8: 57010004 */ bnel $t8,$at,.L0f0763fc
/* f0763ec: 8fad0350 */ lw $t5,0x350($sp)
/* f0763f0: 0fc4b9c5 */ jal smokeCreateAtProp
/* f0763f4: 24050013 */ addiu $a1,$zero,0x13
/* f0763f8: 8fad0350 */ lw $t5,0x350($sp)
.L0f0763fc:
/* f0763fc: c7a605ec */ lwc1 $f6,0x5ec($sp)
/* f076400: c7aa037c */ lwc1 $f10,0x37c($sp)
/* f076404: 51a0000c */ beqzl $t5,.L0f076438
/* f076408: 8e0f0000 */ lw $t7,0x0($s0)
/* f07640c: 460a3201 */ sub.s $f8,$f6,$f10
/* f076410: e648000c */ swc1 $f8,0xc($s2)
/* f076414: 8fab0354 */ lw $t3,0x354($sp)
/* f076418: 51600007 */ beqzl $t3,.L0f076438
/* f07641c: 8e0f0000 */ lw $t7,0x0($s0)
/* f076420: 0fc1a988 */ jal func0f06a620
/* f076424: 02202025 */ or $a0,$s1,$zero
/* f076428: c644000c */ lwc1 $f4,0xc($s2)
/* f07642c: 46002180 */ add.s $f6,$f4,$f0
/* f076430: e646000c */ swc1 $f6,0xc($s2)
/* f076434: 8e0f0000 */ lw $t7,0x0($s0)
.L0f076438:
/* f076438: 31ea0100 */ andi $t2,$t7,0x100
/* f07643c: 5540000d */ bnezl $t2,.L0f076474
/* f076440: 8e190090 */ lw $t9,0x90($s0)
/* f076444: 8e020094 */ lw $v0,0x94($s0)
/* f076448: 3c0c800a */ lui $t4,%hi(g_Vars+0x8)
/* f07644c: 04400006 */ bltz $v0,.L0f076468
/* f076450: 00000000 */ nop
/* f076454: 8d8c9fc8 */ lw $t4,%lo(g_Vars+0x8)($t4)
/* f076458: 258effc4 */ addiu $t6,$t4,-60
/* f07645c: 004e082a */ slt $at,$v0,$t6
/* f076460: 50200004 */ beqzl $at,.L0f076474
/* f076464: 8e190090 */ lw $t9,0x90($s0)
.L0f076468:
/* f076468: 0fc258d8 */ jal func0f096360
/* f07646c: 8fa40064 */ lw $a0,0x64($sp)
/* f076470: 8e190090 */ lw $t9,0x90($s0)
.L0f076474:
/* f076474: 3c18800a */ lui $t8,%hi(g_Vars+0x8)
/* f076478: 27290001 */ addiu $t1,$t9,0x1
/* f07647c: ae090090 */ sw $t1,0x90($s0)
/* f076480: 8f189fc8 */ lw $t8,%lo(g_Vars+0x8)($t8)
/* f076484: ae180094 */ sw $t8,0x94($s0)
/* f076488: 8e220040 */ lw $v0,0x40($s1)
/* f07648c: 00026bc0 */ sll $t5,$v0,0xf
/* f076490: 05a00002 */ bltz $t5,.L0f07649c
/* f076494: 344b0100 */ ori $t3,$v0,0x100
/* f076498: ae2b0040 */ sw $t3,0x40($s1)
.L0f07649c:
/* f07649c: 8faf0350 */ lw $t7,0x350($sp)
/* f0764a0: 51e00035 */ beqzl $t7,.L0f076578
/* f0764a4: 922b0003 */ lbu $t3,0x3($s1)
/* f0764a8: 8e020000 */ lw $v0,0x0($s0)
/* f0764ac: 304a0004 */ andi $t2,$v0,0x4
/* f0764b0: 5540000d */ bnezl $t2,.L0f0764e8
/* f0764b4: c60a008c */ lwc1 $f10,0x8c($s0)
/* f0764b8: 8e0c0090 */ lw $t4,0x90($s0)
/* f0764bc: 8fae0354 */ lw $t6,0x354($sp)
/* f0764c0: 29810006 */ slti $at,$t4,0x6
/* f0764c4: 54200008 */ bnezl $at,.L0f0764e8
/* f0764c8: c60a008c */ lwc1 $f10,0x8c($s0)
/* f0764cc: 11c00029 */ beqz $t6,.L0f076574
/* f0764d0: 02202025 */ or $a0,$s1,$zero
/* f0764d4: 0fc1b6f6 */ jal func0f06dbd8
/* f0764d8: 27a50358 */ addiu $a1,$sp,0x358
/* f0764dc: 10000026 */ b .L0f076578
/* f0764e0: 922b0003 */ lbu $t3,0x3($s1)
/* f0764e4: c60a008c */ lwc1 $f10,0x8c($s0)
.L0f0764e8:
/* f0764e8: 8fad0354 */ lw $t5,0x354($sp)
/* f0764ec: 460aa03c */ c.lt.s $f20,$f10
/* f0764f0: 00000000 */ nop
/* f0764f4: 4500001b */ bc1f .L0f076564
/* f0764f8: 00000000 */ nop
/* f0764fc: c60c0008 */ lwc1 $f12,0x8($s0)
/* f076500: 3c017f1b */ lui $at,%hi(var7f1aa414)
/* f076504: 460ca03e */ c.le.s $f20,$f12
/* f076508: 00000000 */ nop
/* f07650c: 4502001a */ bc1fl .L0f076578
/* f076510: 922b0003 */ lbu $t3,0x3($s1)
/* f076514: c420a414 */ lwc1 $f0,%lo(var7f1aa414)($at)
/* f076518: 30590002 */ andi $t9,$v0,0x2
/* f07651c: 4600603c */ c.lt.s $f12,$f0
/* f076520: 00000000 */ nop
/* f076524: 45020014 */ bc1fl .L0f076578
/* f076528: 922b0003 */ lbu $t3,0x3($s1)
/* f07652c: 13200007 */ beqz $t9,.L0f07654c
/* f076530: 8fb80354 */ lw $t8,0x354($sp)
/* f076534: 8e090090 */ lw $t1,0x90($s0)
/* f076538: 24010001 */ addiu $at,$zero,0x1
/* f07653c: 15210003 */ bne $t1,$at,.L0f07654c
/* f076540: 00000000 */ nop
/* f076544: 1000000b */ b .L0f076574
/* f076548: e6000008 */ swc1 $f0,0x8($s0)
.L0f07654c:
/* f07654c: 13000009 */ beqz $t8,.L0f076574
/* f076550: 02202025 */ or $a0,$s1,$zero
/* f076554: 0fc1b6f6 */ jal func0f06dbd8
/* f076558: 27a50358 */ addiu $a1,$sp,0x358
/* f07655c: 10000006 */ b .L0f076578
/* f076560: 922b0003 */ lbu $t3,0x3($s1)
.L0f076564:
/* f076564: 11a00003 */ beqz $t5,.L0f076574
/* f076568: 02202025 */ or $a0,$s1,$zero
/* f07656c: 0fc1b6f6 */ jal func0f06dbd8
/* f076570: 27a50358 */ addiu $a1,$sp,0x358
.L0f076574:
/* f076574: 922b0003 */ lbu $t3,0x3($s1)
.L0f076578:
/* f076578: 24010008 */ addiu $at,$zero,0x8
/* f07657c: 55610134 */ bnel $t3,$at,.L0f076a50
/* f076580: 02202025 */ or $a0,$s1,$zero
/* f076584: 9227005c */ lbu $a3,0x5c($s1)
/* f076588: 2401001a */ addiu $at,$zero,0x1a
/* f07658c: 54e1000a */ bnel $a3,$at,.L0f0765b8
/* f076590: 24010053 */ addiu $at,$zero,0x53
/* f076594: 922f005f */ lbu $t7,0x5f($s1)
/* f076598: 24010001 */ addiu $at,$zero,0x1
/* f07659c: 55e10006 */ bnel $t7,$at,.L0f0765b8
/* f0765a0: 24010053 */ addiu $at,$zero,0x53
/* f0765a4: 0fc1ba1f */ jal func0f06e87c
/* f0765a8: 02202025 */ or $a0,$s1,$zero
/* f0765ac: 100000b0 */ b .L0f076870
/* f0765b0: 8fac0600 */ lw $t4,0x600($sp)
/* f0765b4: 24010053 */ addiu $at,$zero,0x53
.L0f0765b8:
/* f0765b8: 14e10044 */ bne $a3,$at,.L0f0766cc
/* f0765bc: 8faa0600 */ lw $t2,0x600($sp)
/* f0765c0: 55400004 */ bnezl $t2,.L0f0765d4
/* f0765c4: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0765c8: 100000a8 */ b .L0f07686c
/* f0765cc: a6200062 */ sh $zero,0x62($s1)
/* f0765d0: c60e0004 */ lwc1 $f14,0x4($s0)
.L0f0765d4:
/* f0765d4: c60c0008 */ lwc1 $f12,0x8($s0)
/* f0765d8: c602000c */ lwc1 $f2,0xc($s0)
/* f0765dc: 460e7202 */ mul.s $f8,$f14,$f14
/* f0765e0: 3c017f1b */ lui $at,%hi(var7f1aa418)
/* f0765e4: 460c6102 */ mul.s $f4,$f12,$f12
/* f0765e8: 46044180 */ add.s $f6,$f8,$f4
/* f0765ec: 46021282 */ mul.s $f10,$f2,$f2
/* f0765f0: c428a418 */ lwc1 $f8,%lo(var7f1aa418)($at)
/* f0765f4: 46065000 */ add.s $f0,$f10,$f6
/* f0765f8: 4600403c */ c.lt.s $f8,$f0
/* f0765fc: 00000000 */ nop
/* f076600: 45020005 */ bc1fl .L0f076618
/* f076604: 860200b2 */ lh $v0,0xb2($s0)
/* f076608: e6140010 */ swc1 $f20,0x10($s0)
/* f07660c: e6140014 */ swc1 $f20,0x14($s0)
/* f076610: e6140018 */ swc1 $f20,0x18($s0)
/* f076614: 860200b2 */ lh $v0,0xb2($s0)
.L0f076618:
/* f076618: 0442000c */ bltzl $v0,.L0f07664c
/* f07661c: c6040004 */ lwc1 $f4,0x4($s0)
/* f076620: 8e0c00a0 */ lw $t4,0xa0($s0)
/* f076624: 004c082a */ slt $at,$v0,$t4
/* f076628: 50200008 */ beqzl $at,.L0f07664c
/* f07662c: c6040004 */ lwc1 $f4,0x4($s0)
/* f076630: 8e0e0000 */ lw $t6,0x0($s0)
/* f076634: 2401ffcf */ addiu $at,$zero,-49
/* f076638: e614001c */ swc1 $f20,0x1c($s0)
/* f07663c: 01c1c824 */ and $t9,$t6,$at
/* f076640: 1000008a */ b .L0f07686c
/* f076644: ae190000 */ sw $t9,0x0($s0)
/* f076648: c6040004 */ lwc1 $f4,0x4($s0)
.L0f07664c:
/* f07664c: 27a40108 */ addiu $a0,$sp,0x108
/* f076650: 27a5010c */ addiu $a1,$sp,0x10c
/* f076654: e7a40108 */ swc1 $f4,0x108($sp)
/* f076658: c60a0008 */ lwc1 $f10,0x8($s0)
/* f07665c: 27a60110 */ addiu $a2,$sp,0x110
/* f076660: e7aa010c */ swc1 $f10,0x10c($sp)
/* f076664: c606000c */ lwc1 $f6,0xc($s0)
/* f076668: 0c0011e4 */ jal guNormalize
/* f07666c: e7a60110 */ swc1 $f6,0x110($sp)
/* f076670: 3c0141a0 */ lui $at,0x41a0
/* f076674: 44810000 */ mtc1 $at,$f0
/* f076678: c7a40108 */ lwc1 $f4,0x108($sp)
/* f07667c: c6480008 */ lwc1 $f8,0x8($s2)
/* f076680: 27a40108 */ addiu $a0,$sp,0x108
/* f076684: 46002282 */ mul.s $f10,$f4,$f0
/* f076688: 8fa5006c */ lw $a1,0x6c($sp)
/* f07668c: 24060008 */ addiu $a2,$zero,0x8
/* f076690: 460a4181 */ sub.s $f6,$f8,$f10
/* f076694: c7a8010c */ lwc1 $f8,0x10c($sp)
/* f076698: 46004282 */ mul.s $f10,$f8,$f0
/* f07669c: e7a60108 */ swc1 $f6,0x108($sp)
/* f0766a0: c644000c */ lwc1 $f4,0xc($s2)
/* f0766a4: 460a2181 */ sub.s $f6,$f4,$f10
/* f0766a8: c7a40110 */ lwc1 $f4,0x110($sp)
/* f0766ac: 46002282 */ mul.s $f10,$f4,$f0
/* f0766b0: e7a6010c */ swc1 $f6,0x10c($sp)
/* f0766b4: c6480010 */ lwc1 $f8,0x10($s2)
/* f0766b8: 460a4181 */ sub.s $f6,$f8,$f10
/* f0766bc: 0fc4ba08 */ jal smokeCreateSimple
/* f0766c0: e7a60110 */ swc1 $f6,0x110($sp)
/* f0766c4: 1000006a */ b .L0f076870
/* f0766c8: 8fac0600 */ lw $t4,0x600($sp)
.L0f0766cc:
/* f0766cc: 24010054 */ addiu $at,$zero,0x54
/* f0766d0: 14e1000a */ bne $a3,$at,.L0f0766fc
/* f0766d4: 8fa90600 */ lw $t1,0x600($sp)
/* f0766d8: 15200003 */ bnez $t1,.L0f0766e8
/* f0766dc: 26440008 */ addiu $a0,$s2,0x8
/* f0766e0: 10000062 */ b .L0f07686c
/* f0766e4: a6200062 */ sh $zero,0x62($s1)
.L0f0766e8:
/* f0766e8: 8fa5006c */ lw $a1,0x6c($sp)
/* f0766ec: 0fc4ba08 */ jal smokeCreateSimple
/* f0766f0: 2406000b */ addiu $a2,$zero,0xb
/* f0766f4: 1000005e */ b .L0f076870
/* f0766f8: 8fac0600 */ lw $t4,0x600($sp)
.L0f0766fc:
/* f0766fc: 24010055 */ addiu $at,$zero,0x55
/* f076700: 10e10006 */ beq $a3,$at,.L0f07671c
/* f076704: 2402001f */ addiu $v0,$zero,0x1f
/* f076708: 54470059 */ bnel $v0,$a3,.L0f076870
/* f07670c: 8fac0600 */ lw $t4,0x600($sp)
/* f076710: 9238005f */ lbu $t8,0x5f($s1)
/* f076714: 57000056 */ bnezl $t8,.L0f076870
/* f076718: 8fac0600 */ lw $t4,0x600($sp)
.L0f07671c:
/* f07671c: 8fad0350 */ lw $t5,0x350($sp)
/* f076720: 2402001f */ addiu $v0,$zero,0x1f
/* f076724: 15a00045 */ bnez $t5,.L0f07683c
/* f076728: 00000000 */ nop
/* f07672c: 8e0b0000 */ lw $t3,0x0($s0)
/* f076730: 3c017f1b */ lui $at,%hi(var7f1aa41c)
/* f076734: 316f0400 */ andi $t7,$t3,0x400
/* f076738: 15e00040 */ bnez $t7,.L0f07683c
/* f07673c: 00000000 */ nop
/* f076740: c430a41c */ lwc1 $f16,%lo(var7f1aa41c)($at)
/* f076744: c60e0004 */ lwc1 $f14,0x4($s0)
/* f076748: 3c017f1b */ lui $at,%hi(var7f1aa420)
/* f07674c: c7a805c8 */ lwc1 $f8,0x5c8($sp)
/* f076750: 4610703c */ c.lt.s $f14,$f16
/* f076754: 00000000 */ nop
/* f076758: 45020019 */ bc1fl .L0f0767c0
/* f07675c: c6440008 */ lwc1 $f4,0x8($s2)
/* f076760: c432a420 */ lwc1 $f18,%lo(var7f1aa420)($at)
/* f076764: 460e903c */ c.lt.s $f18,$f14
/* f076768: 00000000 */ nop
/* f07676c: 45020014 */ bc1fl .L0f0767c0
/* f076770: c6440008 */ lwc1 $f4,0x8($s2)
/* f076774: c60c0008 */ lwc1 $f12,0x8($s0)
/* f076778: 4610603c */ c.lt.s $f12,$f16
/* f07677c: 00000000 */ nop
/* f076780: 4502000f */ bc1fl .L0f0767c0
/* f076784: c6440008 */ lwc1 $f4,0x8($s2)
/* f076788: 460c903c */ c.lt.s $f18,$f12
/* f07678c: 00000000 */ nop
/* f076790: 4502000b */ bc1fl .L0f0767c0
/* f076794: c6440008 */ lwc1 $f4,0x8($s2)
/* f076798: c602000c */ lwc1 $f2,0xc($s0)
/* f07679c: 4610103c */ c.lt.s $f2,$f16
/* f0767a0: 00000000 */ nop
/* f0767a4: 45020006 */ bc1fl .L0f0767c0
/* f0767a8: c6440008 */ lwc1 $f4,0x8($s2)
/* f0767ac: 4602903c */ c.lt.s $f18,$f2
/* f0767b0: 00000000 */ nop
/* f0767b4: 45010021 */ bc1t .L0f07683c
/* f0767b8: 00000000 */ nop
/* f0767bc: c6440008 */ lwc1 $f4,0x8($s2)
.L0f0767c0:
/* f0767c0: 3c017f1b */ lui $at,%hi(var7f1aa424)
/* f0767c4: c432a424 */ lwc1 $f18,%lo(var7f1aa424)($at)
/* f0767c8: 46082001 */ sub.s $f0,$f4,$f8
/* f0767cc: 4610003c */ c.lt.s $f0,$f16
/* f0767d0: 00000000 */ nop
/* f0767d4: 45000020 */ bc1f .L0f076858
/* f0767d8: 00000000 */ nop
/* f0767dc: 4600903c */ c.lt.s $f18,$f0
/* f0767e0: c7a605cc */ lwc1 $f6,0x5cc($sp)
/* f0767e4: 4500001c */ bc1f .L0f076858
/* f0767e8: 00000000 */ nop
/* f0767ec: c64a000c */ lwc1 $f10,0xc($s2)
/* f0767f0: 46065001 */ sub.s $f0,$f10,$f6
/* f0767f4: 4610003c */ c.lt.s $f0,$f16
/* f0767f8: 00000000 */ nop
/* f0767fc: 45000016 */ bc1f .L0f076858
/* f076800: 00000000 */ nop
/* f076804: 4600903c */ c.lt.s $f18,$f0
/* f076808: c7a805d0 */ lwc1 $f8,0x5d0($sp)
/* f07680c: 45000012 */ bc1f .L0f076858
/* f076810: 00000000 */ nop
/* f076814: c6440010 */ lwc1 $f4,0x10($s2)
/* f076818: 46082001 */ sub.s $f0,$f4,$f8
/* f07681c: 4610003c */ c.lt.s $f0,$f16
/* f076820: 00000000 */ nop
/* f076824: 4500000c */ bc1f .L0f076858
/* f076828: 00000000 */ nop
/* f07682c: 4600903c */ c.lt.s $f18,$f0
/* f076830: 00000000 */ nop
/* f076834: 45000008 */ bc1f .L0f076858
/* f076838: 00000000 */ nop
.L0f07683c:
/* f07683c: 14470004 */ bne $v0,$a3,.L0f076850
/* f076840: 00000000 */ nop
/* f076844: 862a0062 */ lh $t2,0x62($s1)
/* f076848: 05420009 */ bltzl $t2,.L0f076870
/* f07684c: 8fac0600 */ lw $t4,0x600($sp)
.L0f076850:
/* f076850: 10000006 */ b .L0f07686c
/* f076854: a6200062 */ sh $zero,0x62($s1)
.L0f076858:
/* f076858: 10470004 */ beq $v0,$a3,.L0f07686c
/* f07685c: 26440008 */ addiu $a0,$s2,0x8
/* f076860: 8fa5006c */ lw $a1,0x6c($sp)
/* f076864: 0fc4ba08 */ jal smokeCreateSimple
/* f076868: 24060009 */ addiu $a2,$zero,0x9
.L0f07686c:
/* f07686c: 8fac0600 */ lw $t4,0x600($sp)
.L0f076870:
/* f076870: 3c03800a */ lui $v1,%hi(g_Vars+0xc)
/* f076874: 55800076 */ bnezl $t4,.L0f076a50
/* f076878: 02202025 */ or $a0,$s1,$zero
/* f07687c: 8c639fcc */ lw $v1,%lo(g_Vars+0xc)($v1)
/* f076880: 8e0e00a4 */ lw $t6,0xa4($s0)
/* f076884: 2479fffe */ addiu $t9,$v1,-2
/* f076888: 01d9082a */ slt $at,$t6,$t9
/* f07688c: 5020006f */ beqzl $at,.L0f076a4c
/* f076890: ae0300a4 */ sw $v1,0xa4($s0)
/* f076894: 9227005c */ lbu $a3,0x5c($s1)
/* f076898: 2401001a */ addiu $at,$zero,0x1a
/* f07689c: 00002025 */ or $a0,$zero,$zero
/* f0768a0: 10e10003 */ beq $a3,$at,.L0f0768b0
/* f0768a4: 02402825 */ or $a1,$s2,$zero
/* f0768a8: 2401001a */ addiu $at,$zero,0x1a
/* f0768ac: 14e10015 */ bne $a3,$at,.L0f076904
.L0f0768b0:
/* f0768b0: 3c01bf80 */ lui $at,0xbf80
/* f0768b4: 44810000 */ mtc1 $at,$f0
/* f0768b8: 2409ffff */ addiu $t1,$zero,-1
/* f0768bc: 2418ffff */ addiu $t8,$zero,-1
/* f0768c0: afb8002c */ sw $t8,0x2c($sp)
/* f0768c4: afa90010 */ sw $t1,0x10($sp)
/* f0768c8: 2406808b */ addiu $a2,$zero,-32629
/* f0768cc: 2407ffff */ addiu $a3,$zero,-1
/* f0768d0: afa00014 */ sw $zero,0x14($sp)
/* f0768d4: afa00018 */ sw $zero,0x18($sp)
/* f0768d8: afa0001c */ sw $zero,0x1c($sp)
/* f0768dc: afa00020 */ sw $zero,0x20($sp)
/* f0768e0: afa00028 */ sw $zero,0x28($sp)
/* f0768e4: e7a00024 */ swc1 $f0,0x24($sp)
/* f0768e8: e7a00030 */ swc1 $f0,0x30($sp)
/* f0768ec: e7a00034 */ swc1 $f0,0x34($sp)
/* f0768f0: 0fc24e7e */ jal func0f0939f8
/* f0768f4: e7a00038 */ swc1 $f0,0x38($sp)
/* f0768f8: 3c03800a */ lui $v1,%hi(g_Vars+0xc)
/* f0768fc: 10000052 */ b .L0f076a48
/* f076900: 8c639fcc */ lw $v1,%lo(g_Vars+0xc)($v1)
.L0f076904:
/* f076904: 2401001e */ addiu $at,$zero,0x1e
/* f076908: 14e1003a */ bne $a3,$at,.L0f0769f4
/* f07690c: 00002025 */ or $a0,$zero,$zero
/* f076910: 922d005f */ lbu $t5,0x5f($s1)
/* f076914: 24010001 */ addiu $at,$zero,0x1
/* f076918: 3c0f8007 */ lui $t7,%hi(var80069bbc)
/* f07691c: 15a10035 */ bne $t5,$at,.L0f0769f4
/* f076920: 25ef9bbc */ addiu $t7,$t7,%lo(var80069bbc)
/* f076924: 8de10000 */ lw $at,0x0($t7)
/* f076928: 8dec0004 */ lw $t4,0x4($t7)
/* f07692c: 27ab0100 */ addiu $t3,$sp,0x100
/* f076930: ad610000 */ sw $at,0x0($t3)
/* f076934: 0c004b70 */ jal random
/* f076938: ad6c0004 */ sw $t4,0x4($t3)
/* f07693c: 304e0003 */ andi $t6,$v0,0x3
/* f076940: 000ec840 */ sll $t9,$t6,0x1
/* f076944: 03b93021 */ addu $a2,$sp,$t9
/* f076948: 84c60100 */ lh $a2,0x100($a2)
/* f07694c: 3c01bf80 */ lui $at,0xbf80
/* f076950: 44810000 */ mtc1 $at,$f0
/* f076954: 2409ffff */ addiu $t1,$zero,-1
/* f076958: 2418ffff */ addiu $t8,$zero,-1
/* f07695c: afb8002c */ sw $t8,0x2c($sp)
/* f076960: afa90010 */ sw $t1,0x10($sp)
/* f076964: afa00028 */ sw $zero,0x28($sp)
/* f076968: afa00020 */ sw $zero,0x20($sp)
/* f07696c: afa0001c */ sw $zero,0x1c($sp)
/* f076970: afa00018 */ sw $zero,0x18($sp)
/* f076974: afa00014 */ sw $zero,0x14($sp)
/* f076978: 00002025 */ or $a0,$zero,$zero
/* f07697c: 02402825 */ or $a1,$s2,$zero
/* f076980: 2407ffff */ addiu $a3,$zero,-1
/* f076984: e7a00024 */ swc1 $f0,0x24($sp)
/* f076988: e7a00030 */ swc1 $f0,0x30($sp)
/* f07698c: e7a00034 */ swc1 $f0,0x34($sp)
/* f076990: 0fc24e7e */ jal func0f0939f8
/* f076994: e7a00038 */ swc1 $f0,0x38($sp)
/* f076998: 3c01bf80 */ lui $at,0xbf80
/* f07699c: 44810000 */ mtc1 $at,$f0
/* f0769a0: 240dffff */ addiu $t5,$zero,-1
/* f0769a4: 240affff */ addiu $t2,$zero,-1
/* f0769a8: afaa002c */ sw $t2,0x2c($sp)
/* f0769ac: afad0010 */ sw $t5,0x10($sp)
/* f0769b0: 00002025 */ or $a0,$zero,$zero
/* f0769b4: 02402825 */ or $a1,$s2,$zero
/* f0769b8: 2406808c */ addiu $a2,$zero,-32628
/* f0769bc: 2407ffff */ addiu $a3,$zero,-1
/* f0769c0: afa00014 */ sw $zero,0x14($sp)
/* f0769c4: afa00018 */ sw $zero,0x18($sp)
/* f0769c8: afa0001c */ sw $zero,0x1c($sp)
/* f0769cc: afa00020 */ sw $zero,0x20($sp)
/* f0769d0: afa00028 */ sw $zero,0x28($sp)
/* f0769d4: e7a00024 */ swc1 $f0,0x24($sp)
/* f0769d8: e7a00030 */ swc1 $f0,0x30($sp)
/* f0769dc: e7a00034 */ swc1 $f0,0x34($sp)
/* f0769e0: 0fc24e7e */ jal func0f0939f8
/* f0769e4: e7a00038 */ swc1 $f0,0x38($sp)
/* f0769e8: 3c03800a */ lui $v1,%hi(g_Vars+0xc)
/* f0769ec: 10000016 */ b .L0f076a48
/* f0769f0: 8c639fcc */ lw $v1,%lo(g_Vars+0xc)($v1)
.L0f0769f4:
/* f0769f4: 3c01bf80 */ lui $at,0xbf80
/* f0769f8: 44810000 */ mtc1 $at,$f0
/* f0769fc: 240bffff */ addiu $t3,$zero,-1
/* f076a00: 240fffff */ addiu $t7,$zero,-1
/* f076a04: afaf002c */ sw $t7,0x2c($sp)
/* f076a08: afab0010 */ sw $t3,0x10($sp)
/* f076a0c: 02402825 */ or $a1,$s2,$zero
/* f076a10: 2406808c */ addiu $a2,$zero,-32628
/* f076a14: 2407ffff */ addiu $a3,$zero,-1
/* f076a18: afa00014 */ sw $zero,0x14($sp)
/* f076a1c: afa00018 */ sw $zero,0x18($sp)
/* f076a20: afa0001c */ sw $zero,0x1c($sp)
/* f076a24: afa00020 */ sw $zero,0x20($sp)
/* f076a28: afa00028 */ sw $zero,0x28($sp)
/* f076a2c: e7a00024 */ swc1 $f0,0x24($sp)
/* f076a30: e7a00030 */ swc1 $f0,0x30($sp)
/* f076a34: e7a00034 */ swc1 $f0,0x34($sp)
/* f076a38: 0fc24e7e */ jal func0f0939f8
/* f076a3c: e7a00038 */ swc1 $f0,0x38($sp)
/* f076a40: 3c03800a */ lui $v1,%hi(g_Vars+0xc)
/* f076a44: 8c639fcc */ lw $v1,%lo(g_Vars+0xc)($v1)
.L0f076a48:
/* f076a48: ae0300a4 */ sw $v1,0xa4($s0)
.L0f076a4c:
/* f076a4c: 02202025 */ or $a0,$s1,$zero
.L0f076a50:
/* f076a50: 24050001 */ addiu $a1,$zero,0x1
/* f076a54: 0fc1a71c */ jal func0f069c70
/* f076a58: 24060001 */ addiu $a2,$zero,0x1
/* f076a5c: 1000012d */ b .L0f076f14
/* f076a60: 8fbf005c */ lw $ra,0x5c($sp)
.L0f076a64:
/* f076a64: 1180012a */ beqz $t4,.L0f076f10
/* f076a68: 3c013f80 */ lui $at,0x3f80
/* f076a6c: 240e0001 */ addiu $t6,$zero,0x1
/* f076a70: afae00fc */ sw $t6,0xfc($sp)
/* f076a74: 44816000 */ mtc1 $at,$f12
/* f076a78: c6000060 */ lwc1 $f0,0x60($s0)
/* f076a7c: 26040068 */ addiu $a0,$s0,0x68
/* f076a80: 26050078 */ addiu $a1,$s0,0x78
/* f076a84: 460c003c */ c.lt.s $f0,$f12
/* f076a88: 00000000 */ nop
/* f076a8c: 4502002a */ bc1fl .L0f076b38
/* f076a90: 4480a000 */ mtc1 $zero,$f20
/* f076a94: c6020064 */ lwc1 $f2,0x64($s0)
/* f076a98: c46a004c */ lwc1 $f10,0x4c($v1)
/* f076a9c: 3c017f1b */ lui $at,%hi(var7f1aa428)
/* f076aa0: 460a1182 */ mul.s $f6,$f2,$f10
/* f076aa4: 46060100 */ add.s $f4,$f0,$f6
/* f076aa8: e6040060 */ swc1 $f4,0x60($s0)
/* f076aac: 8c790038 */ lw $t9,0x38($v1)
/* f076ab0: 5b200005 */ blezl $t9,.L0f076ac8
/* f076ab4: c6000060 */ lwc1 $f0,0x60($s0)
/* f076ab8: c428a428 */ lwc1 $f8,%lo(var7f1aa428)($at)
/* f076abc: 46081282 */ mul.s $f10,$f2,$f8
/* f076ac0: e60a0064 */ swc1 $f10,0x64($s0)
/* f076ac4: c6000060 */ lwc1 $f0,0x60($s0)
.L0f076ac8:
/* f076ac8: 4600603c */ c.lt.s $f12,$f0
/* f076acc: 00000000 */ nop
/* f076ad0: 45020004 */ bc1fl .L0f076ae4
/* f076ad4: 44060000 */ mfc1 $a2,$f0
/* f076ad8: e60c0060 */ swc1 $f12,0x60($s0)
/* f076adc: c6000060 */ lwc1 $f0,0x60($s0)
/* f076ae0: 44060000 */ mfc1 $a2,$f0
.L0f076ae4:
/* f076ae4: 0fc25cae */ jal func0f0972b8
/* f076ae8: 27a700ec */ addiu $a3,$sp,0xec
/* f076aec: 27a400ec */ addiu $a0,$sp,0xec
/* f076af0: 0fc25bb5 */ jal func0f096ed4
/* f076af4: 27a500ac */ addiu $a1,$sp,0xac
/* f076af8: c60c00b8 */ lwc1 $f12,0xb8($s0)
/* f076afc: 0c005789 */ jal mtx00015e24
/* f076b00: 27a500ac */ addiu $a1,$sp,0xac
/* f076b04: c60c00bc */ lwc1 $f12,0xbc($s0)
/* f076b08: 0c0057a0 */ jal mtx00015e80
/* f076b0c: 27a500ac */ addiu $a1,$sp,0xac
/* f076b10: c60c00c0 */ lwc1 $f12,0xc0($s0)
/* f076b14: 0c0057b7 */ jal mtx00015edc
/* f076b18: 27a500ac */ addiu $a1,$sp,0xac
/* f076b1c: 27a400ac */ addiu $a0,$sp,0xac
/* f076b20: 0c005768 */ jal mtx4ToMtx3
/* f076b24: 2625001c */ addiu $a1,$s1,0x1c
/* f076b28: 3c013f80 */ lui $at,0x3f80
/* f076b2c: 44816000 */ mtc1 $at,$f12
/* f076b30: afa000fc */ sw $zero,0xfc($sp)
/* f076b34: 4480a000 */ mtc1 $zero,$f20
.L0f076b38:
/* f076b38: c6060004 */ lwc1 $f6,0x4($s0)
/* f076b3c: 02202025 */ or $a0,$s1,$zero
/* f076b40: 2629001c */ addiu $t1,$s1,0x1c
/* f076b44: 4606a032 */ c.eq.s $f20,$f6
/* f076b48: 00000000 */ nop
/* f076b4c: 4502000c */ bc1fl .L0f076b80
/* f076b50: afa90074 */ sw $t1,0x74($sp)
/* f076b54: c604000c */ lwc1 $f4,0xc($s0)
/* f076b58: 4604a032 */ c.eq.s $f20,$f4
/* f076b5c: 00000000 */ nop
/* f076b60: 45020007 */ bc1fl .L0f076b80
/* f076b64: afa90074 */ sw $t1,0x74($sp)
/* f076b68: c6080060 */ lwc1 $f8,0x60($s0)
/* f076b6c: 460c403c */ c.lt.s $f8,$f12
/* f076b70: 00000000 */ nop
/* f076b74: 450200d4 */ bc1fl .L0f076ec8
/* f076b78: 8faf00fc */ lw $t7,0xfc($sp)
/* f076b7c: afa90074 */ sw $t1,0x74($sp)
.L0f076b80:
/* f076b80: 0fc1a2bd */ jal objFindBboxRodata
/* f076b84: afa000fc */ sw $zero,0xfc($sp)
/* f076b88: 00402025 */ or $a0,$v0,$zero
/* f076b8c: 0fc19a57 */ jal func0f06695c
/* f076b90: 8fa50074 */ lw $a1,0x74($sp)
/* f076b94: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f076b98: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f076b9c: e7a00098 */ swc1 $f0,0x98($sp)
/* f076ba0: 00001025 */ or $v0,$zero,$zero
/* f076ba4: 1860004d */ blez $v1,.L0f076cdc
/* f076ba8: 3c017f1b */ lui $at,%hi(var7f1aa42c)
/* f076bac: c430a42c */ lwc1 $f16,%lo(var7f1aa42c)($at)
/* f076bb0: c7aa05dc */ lwc1 $f10,0x5dc($sp)
.L0f076bb4:
/* f076bb4: c6060004 */ lwc1 $f6,0x4($s0)
/* f076bb8: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f076bbc: 3c013f80 */ lui $at,0x3f80
/* f076bc0: 46065100 */ add.s $f4,$f10,$f6
/* f076bc4: e7a405dc */ swc1 $f4,0x5dc($sp)
/* f076bc8: c60a000c */ lwc1 $f10,0xc($s0)
/* f076bcc: 460a4180 */ add.s $f6,$f8,$f10
/* f076bd0: 44814000 */ mtc1 $at,$f8
/* f076bd4: e7a605e4 */ swc1 $f6,0x5e4($sp)
/* f076bd8: c6040060 */ lwc1 $f4,0x60($s0)
/* f076bdc: 4604403e */ c.le.s $f8,$f4
/* f076be0: 00000000 */ nop
/* f076be4: 4502003a */ bc1fl .L0f076cd0
/* f076be8: 24420001 */ addiu $v0,$v0,0x1
/* f076bec: c60a0098 */ lwc1 $f10,0x98($s0)
/* f076bf0: 460aa03c */ c.lt.s $f20,$f10
/* f076bf4: 00000000 */ nop
/* f076bf8: 4502002c */ bc1fl .L0f076cac
/* f076bfc: c6080004 */ lwc1 $f8,0x4($s0)
/* f076c00: c602000c */ lwc1 $f2,0xc($s0)
/* f076c04: c60e0004 */ lwc1 $f14,0x4($s0)
/* f076c08: afa2009c */ sw $v0,0x9c($sp)
/* f076c0c: 46021182 */ mul.s $f6,$f2,$f2
/* f076c10: 00000000 */ nop
/* f076c14: 460e7102 */ mul.s $f4,$f14,$f14
/* f076c18: 0c012974 */ jal sqrtf
/* f076c1c: 46043300 */ add.s $f12,$f6,$f4
/* f076c20: 4600a03c */ c.lt.s $f20,$f0
/* f076c24: 3c017f1b */ lui $at,%hi(var7f1aa430)
/* f076c28: c430a430 */ lwc1 $f16,%lo(var7f1aa430)($at)
/* f076c2c: 8fa2009c */ lw $v0,0x9c($sp)
/* f076c30: 45000019 */ bc1f .L0f076c98
/* f076c34: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f076c38: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f076c3c: c42aa00c */ lwc1 $f10,%lo(g_Vars+0x4c)($at)
/* f076c40: c6080098 */ lwc1 $f8,0x98($s0)
/* f076c44: 3c013f80 */ lui $at,0x3f80
/* f076c48: 44812000 */ mtc1 $at,$f4
/* f076c4c: 460a4182 */ mul.s $f6,$f8,$f10
/* f076c50: 46003303 */ div.s $f12,$f6,$f0
/* f076c54: 460c203e */ c.le.s $f4,$f12
/* f076c58: 00000000 */ nop
/* f076c5c: 45020005 */ bc1fl .L0f076c74
/* f076c60: c60e0004 */ lwc1 $f14,0x4($s0)
/* f076c64: e6140004 */ swc1 $f20,0x4($s0)
/* f076c68: 1000000d */ b .L0f076ca0
/* f076c6c: e614000c */ swc1 $f20,0xc($s0)
/* f076c70: c60e0004 */ lwc1 $f14,0x4($s0)
.L0f076c74:
/* f076c74: c602000c */ lwc1 $f2,0xc($s0)
/* f076c78: 460c7202 */ mul.s $f8,$f14,$f12
/* f076c7c: 00000000 */ nop
/* f076c80: 460c1182 */ mul.s $f6,$f2,$f12
/* f076c84: 46087281 */ sub.s $f10,$f14,$f8
/* f076c88: 46061101 */ sub.s $f4,$f2,$f6
/* f076c8c: e60a0004 */ swc1 $f10,0x4($s0)
/* f076c90: 10000003 */ b .L0f076ca0
/* f076c94: e604000c */ swc1 $f4,0xc($s0)
.L0f076c98:
/* f076c98: e6140004 */ swc1 $f20,0x4($s0)
/* f076c9c: e614000c */ swc1 $f20,0xc($s0)
.L0f076ca0:
/* f076ca0: 1000000a */ b .L0f076ccc
/* f076ca4: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f076ca8: c6080004 */ lwc1 $f8,0x4($s0)
.L0f076cac:
/* f076cac: c606000c */ lwc1 $f6,0xc($s0)
/* f076cb0: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f076cb4: 46104282 */ mul.s $f10,$f8,$f16
/* f076cb8: 00000000 */ nop
/* f076cbc: 46103102 */ mul.s $f4,$f6,$f16
/* f076cc0: e60a0004 */ swc1 $f10,0x4($s0)
/* f076cc4: e604000c */ swc1 $f4,0xc($s0)
/* f076cc8: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
.L0f076ccc:
/* f076ccc: 24420001 */ addiu $v0,$v0,0x1
.L0f076cd0:
/* f076cd0: 0043082a */ slt $at,$v0,$v1
/* f076cd4: 5420ffb7 */ bnezl $at,.L0f076bb4
/* f076cd8: c7aa05dc */ lwc1 $f10,0x5dc($sp)
.L0f076cdc:
/* f076cdc: c6480008 */ lwc1 $f8,0x8($s2)
/* f076ce0: 26440028 */ addiu $a0,$s2,0x28
/* f076ce4: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f076ce8: e7a805c8 */ swc1 $f8,0x5c8($sp)
/* f076cec: c64a000c */ lwc1 $f10,0xc($s2)
/* f076cf0: e7aa05cc */ swc1 $f10,0x5cc($sp)
/* f076cf4: c6460010 */ lwc1 $f6,0x10($s2)
/* f076cf8: afa4006c */ sw $a0,0x6c($sp)
/* f076cfc: 0fc195e9 */ jal roomsCopy
/* f076d00: e7a605d0 */ swc1 $f6,0x5d0($sp)
/* f076d04: 02202025 */ or $a0,$s1,$zero
/* f076d08: 27a505dc */ addiu $a1,$sp,0x5dc
/* f076d0c: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f076d10: 0fc1b4df */ jal func0f06d37c
/* f076d14: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f076d18: 24180001 */ addiu $t8,$zero,0x1
/* f076d1c: afb805d8 */ sw $t8,0x5d8($sp)
/* f076d20: c6440008 */ lwc1 $f4,0x8($s2)
/* f076d24: c7aa0098 */ lwc1 $f10,0x98($sp)
/* f076d28: 26270058 */ addiu $a3,$s1,0x58
/* f076d2c: e7a405ac */ swc1 $f4,0x5ac($sp)
/* f076d30: c648000c */ lwc1 $f8,0xc($s2)
/* f076d34: 27ad0096 */ addiu $t5,$sp,0x96
/* f076d38: 27a405ac */ addiu $a0,$sp,0x5ac
/* f076d3c: 460a4180 */ add.s $f6,$f8,$f10
/* f076d40: 8fa5006c */ lw $a1,0x6c($sp)
/* f076d44: 27a600a4 */ addiu $a2,$sp,0xa4
/* f076d48: e7a605b0 */ swc1 $f6,0x5b0($sp)
/* f076d4c: c6440010 */ lwc1 $f4,0x10($s2)
/* f076d50: afa70074 */ sw $a3,0x74($sp)
/* f076d54: afad0010 */ sw $t5,0x10($sp)
/* f076d58: 0c00a934 */ jal cd0002a4d0
/* f076d5c: e7a405b4 */ swc1 $f4,0x5b4($sp)
/* f076d60: 00021c00 */ sll $v1,$v0,0x10
/* f076d64: 1840000b */ blez $v0,.L0f076d94
/* f076d68: 00035403 */ sra $t2,$v1,0x10
/* f076d6c: 240b0003 */ addiu $t3,$zero,0x3
/* f076d70: afab0010 */ sw $t3,0x10($sp)
/* f076d74: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f076d78: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f076d7c: 27a605ac */ addiu $a2,$sp,0x5ac
/* f076d80: 24070021 */ addiu $a3,$zero,0x21
/* f076d84: 0c00b6e6 */ jal cd0002db98
/* f076d88: a7aa00a2 */ sh $t2,0xa2($sp)
/* f076d8c: 1040000b */ beqz $v0,.L0f076dbc
/* f076d90: 87a300a2 */ lh $v1,0xa2($sp)
.L0f076d94:
/* f076d94: 27af0096 */ addiu $t7,$sp,0x96
/* f076d98: afaf0010 */ sw $t7,0x10($sp)
/* f076d9c: 26440008 */ addiu $a0,$s2,0x8
/* f076da0: 8fa5006c */ lw $a1,0x6c($sp)
/* f076da4: 27a600a4 */ addiu $a2,$sp,0xa4
/* f076da8: 0c00a910 */ jal cd0002a440
/* f076dac: 8fa70074 */ lw $a3,0x74($sp)
/* f076db0: 00021c00 */ sll $v1,$v0,0x10
/* f076db4: 00036403 */ sra $t4,$v1,0x10
/* f076db8: 01801825 */ or $v1,$t4,$zero
.L0f076dbc:
/* f076dbc: 1c600017 */ bgtz $v1,.L0f076e1c
/* f076dc0: c7a805c8 */ lwc1 $f8,0x5c8($sp)
/* f076dc4: e6480008 */ swc1 $f8,0x8($s2)
/* f076dc8: c7aa05d0 */ lwc1 $f10,0x5d0($sp)
/* f076dcc: 264e0008 */ addiu $t6,$s2,0x8
/* f076dd0: 02402025 */ or $a0,$s2,$zero
/* f076dd4: e64a0010 */ swc1 $f10,0x10($s2)
/* f076dd8: 0fc19711 */ jal propDeregisterRooms
/* f076ddc: afae0070 */ sw $t6,0x70($sp)
/* f076de0: 27a405b8 */ addiu $a0,$sp,0x5b8
/* f076de4: 0fc195e9 */ jal roomsCopy
/* f076de8: 8fa5006c */ lw $a1,0x6c($sp)
/* f076dec: 27b90096 */ addiu $t9,$sp,0x96
/* f076df0: afb90010 */ sw $t9,0x10($sp)
/* f076df4: 8fa40070 */ lw $a0,0x70($sp)
/* f076df8: 8fa5006c */ lw $a1,0x6c($sp)
/* f076dfc: 27a600a4 */ addiu $a2,$sp,0xa4
/* f076e00: 0c00a910 */ jal cd0002a440
/* f076e04: 8fa70074 */ lw $a3,0x74($sp)
/* f076e08: 00021c00 */ sll $v1,$v0,0x10
/* f076e0c: 00034c03 */ sra $t1,$v1,0x10
/* f076e10: 01201825 */ or $v1,$t1,$zero
/* f076e14: e6140004 */ swc1 $f20,0x4($s0)
/* f076e18: e614000c */ swc1 $f20,0xc($s0)
.L0f076e1c:
/* f076e1c: 18600010 */ blez $v1,.L0f076e60
/* f076e20: c7a605cc */ lwc1 $f6,0x5cc($sp)
/* f076e24: 0fc1a988 */ jal func0f06a620
/* f076e28: 02202025 */ or $a0,$s1,$zero
/* f076e2c: c7a600a4 */ lwc1 $f6,0xa4($sp)
/* f076e30: c7a40098 */ lwc1 $f4,0x98($sp)
/* f076e34: 46043201 */ sub.s $f8,$f6,$f4
/* f076e38: 46080280 */ add.s $f10,$f0,$f8
/* f076e3c: e64a000c */ swc1 $f10,0xc($s2)
/* f076e40: 97b80096 */ lhu $t8,0x96($sp)
/* f076e44: 330d4000 */ andi $t5,$t8,0x4000
/* f076e48: 11a00006 */ beqz $t5,.L0f076e64
/* f076e4c: 00000000 */ nop
/* f076e50: 8e2a0040 */ lw $t2,0x40($s1)
/* f076e54: 354b0004 */ ori $t3,$t2,0x4
/* f076e58: 10000002 */ b .L0f076e64
/* f076e5c: ae2b0040 */ sw $t3,0x40($s1)
.L0f076e60:
/* f076e60: e646000c */ swc1 $f6,0xc($s2)
.L0f076e64:
/* f076e64: 3c017f1b */ lui $at,%hi(var7f1aa434)
/* f076e68: c430a434 */ lwc1 $f16,%lo(var7f1aa434)($at)
/* f076e6c: c60e0004 */ lwc1 $f14,0x4($s0)
/* f076e70: 3c017f1b */ lui $at,%hi(var7f1aa438)
/* f076e74: 4610703c */ c.lt.s $f14,$f16
/* f076e78: 00000000 */ nop
/* f076e7c: 45020012 */ bc1fl .L0f076ec8
/* f076e80: 8faf00fc */ lw $t7,0xfc($sp)
/* f076e84: c432a438 */ lwc1 $f18,%lo(var7f1aa438)($at)
/* f076e88: 460e903c */ c.lt.s $f18,$f14
/* f076e8c: 00000000 */ nop
/* f076e90: 4502000d */ bc1fl .L0f076ec8
/* f076e94: 8faf00fc */ lw $t7,0xfc($sp)
/* f076e98: c602000c */ lwc1 $f2,0xc($s0)
/* f076e9c: 4610103c */ c.lt.s $f2,$f16
/* f076ea0: 00000000 */ nop
/* f076ea4: 45020008 */ bc1fl .L0f076ec8
/* f076ea8: 8faf00fc */ lw $t7,0xfc($sp)
/* f076eac: 4602903c */ c.lt.s $f18,$f2
/* f076eb0: 00000000 */ nop
/* f076eb4: 45020004 */ bc1fl .L0f076ec8
/* f076eb8: 8faf00fc */ lw $t7,0xfc($sp)
/* f076ebc: e614000c */ swc1 $f20,0xc($s0)
/* f076ec0: e6140004 */ swc1 $f20,0x4($s0)
/* f076ec4: 8faf00fc */ lw $t7,0xfc($sp)
.L0f076ec8:
/* f076ec8: 51e0000b */ beqzl $t7,.L0f076ef8
/* f076ecc: 8fae05d8 */ lw $t6,0x5d8($sp)
/* f076ed0: 0fc1ab10 */ jal objEndFlight
/* f076ed4: 02202025 */ or $a0,$s1,$zero
/* f076ed8: 922c0003 */ lbu $t4,0x3($s1)
/* f076edc: 24010008 */ addiu $at,$zero,0x8
/* f076ee0: 26450028 */ addiu $a1,$s2,0x28
/* f076ee4: 55810004 */ bnel $t4,$at,.L0f076ef8
/* f076ee8: 8fae05d8 */ lw $t6,0x5d8($sp)
/* f076eec: 0fc257f6 */ jal objectiveCheckMultiroomEntered
/* f076ef0: 9224005c */ lbu $a0,0x5c($s1)
/* f076ef4: 8fae05d8 */ lw $t6,0x5d8($sp)
.L0f076ef8:
/* f076ef8: 02202025 */ or $a0,$s1,$zero
/* f076efc: 24050001 */ addiu $a1,$zero,0x1
/* f076f00: 51c00004 */ beqzl $t6,.L0f076f14
/* f076f04: 8fbf005c */ lw $ra,0x5c($sp)
/* f076f08: 0fc1a71c */ jal func0f069c70
/* f076f0c: 24060001 */ addiu $a2,$zero,0x1
.L0f076f10:
/* f076f10: 8fbf005c */ lw $ra,0x5c($sp)
.L0f076f14:
/* f076f14: 8fa205d8 */ lw $v0,0x5d8($sp)
/* f076f18: d7b40048 */ ldc1 $f20,0x48($sp)
/* f076f1c: 8fb00050 */ lw $s0,0x50($sp)
/* f076f20: 8fb10054 */ lw $s1,0x54($sp)
/* f076f24: 8fb20058 */ lw $s2,0x58($sp)
/* f076f28: 03e00008 */ jr $ra
/* f076f2c: 27bd0608 */ addiu $sp,$sp,0x608
);
#else
GLOBAL_ASM(
glabel func0f073c6c
.late_rodata
glabel var7f1aa3d4
.word 0x3c23d70a
glabel var7f1aa3d8
.word 0x3c23d70a
glabel var7f1aa3dc
.word 0x38d1b717
glabel var7f1aa3e0
.word 0x3c23d70a
glabel var7f1aa3e4
.word 0x3c23d70a
glabel var7f1aa3e8
.word 0x3c23d70a
glabel var7f1aa3ec
.word 0xc6ea6000
glabel var7f1aa3f0
.word 0xc69c4000
glabel var7f1aa3f4
.word 0x3e8e38e4
glabel var7f1aa3f8
.word 0x3c360b61
glabel var7f1aa3fc
.word 0x3d8f5c29
glabel var7f1aa400
.word 0x3e8e38e4
glabel var7f1aa404
.word 0x3a83126f
glabel var7f1aa408
.word 0xba83126f
glabel var7f1aa40c
.word 0x3e8e38e4
glabel var7f1aa410
.word 0x3e0e38e4
glabel var7f1aa414
.word 0x400e38e4
glabel var7f1aa418
.word 0x46d9038c
glabel var7f1aa41c
.word 0x3dcccccd
glabel var7f1aa420
.word 0xbdcccccd
glabel var7f1aa424
.word 0xbdcccccd
glabel var7f1aa428
.word 0x3f8ccccd
glabel var7f1aa42c
.word 0x3f666666
glabel var7f1aa430
.word 0x3f666666
glabel var7f1aa434
.word 0x3dcccccd
glabel var7f1aa438
.word 0xbdcccccd
.text
/* f072a00: 27bdf9f8 */ addiu $sp,$sp,-1544
/* f072a04: 3c03800a */ lui $v1,0x800a
/* f072a08: 2463e6c0 */ addiu $v1,$v1,-6464
/* f072a0c: 8c6e0034 */ lw $t6,0x34($v1)
/* f072a10: afbf005c */ sw $ra,0x5c($sp)
/* f072a14: afb20058 */ sw $s2,0x58($sp)
/* f072a18: afb10054 */ sw $s1,0x54($sp)
/* f072a1c: afb00050 */ sw $s0,0x50($sp)
/* f072a20: f7b40048 */ sdc1 $f20,0x48($sp)
/* f072a24: afa5060c */ sw $a1,0x60c($sp)
/* f072a28: 8c900048 */ lw $s0,0x48($a0)
/* f072a2c: afa005d8 */ sw $zero,0x5d8($sp)
/* f072a30: 00808825 */ or $s1,$a0,$zero
/* f072a34: 19c00c37 */ blez $t6,.NB0f075b14
/* f072a38: 8c920014 */ lw $s2,0x14($a0)
/* f072a3c: 908f0003 */ lbu $t7,0x3($a0)
/* f072a40: 24010008 */ addiu $at,$zero,0x8
/* f072a44: 55e1000a */ bnel $t7,$at,.NB0f072a70
/* f072a48: 8e020000 */ lw $v0,0x0($s0)
/* f072a4c: 9098005c */ lbu $t8,0x5c($a0)
/* f072a50: 24010057 */ addiu $at,$zero,0x57
/* f072a54: 57010006 */ bnel $t8,$at,.NB0f072a70
/* f072a58: 8e020000 */ lw $v0,0x0($s0)
/* f072a5c: 0fc1c883 */ jal func0f073478
/* f072a60: 00000000 */ sll $zero,$zero,0x0
/* f072a64: 10000c2b */ beqz $zero,.NB0f075b14
/* f072a68: afa205d8 */ sw $v0,0x5d8($sp)
/* f072a6c: 8e020000 */ lw $v0,0x0($s0)
.NB0f072a70:
/* f072a70: 2401cfff */ addiu $at,$zero,-12289
/* f072a74: 30591000 */ andi $t9,$v0,0x1000
/* f072a78: 13200006 */ beqz $t9,.NB0f072a94
/* f072a7c: 30492000 */ andi $t1,$v0,0x2000
/* f072a80: 0009502b */ sltu $t2,$zero,$t1
/* f072a84: afaa05d8 */ sw $t2,0x5d8($sp)
/* f072a88: 00415824 */ and $t3,$v0,$at
/* f072a8c: 10000c21 */ beqz $zero,.NB0f075b14
/* f072a90: ae0b0000 */ sw $t3,0x0($s0)
.NB0f072a94:
/* f072a94: 8e2c0040 */ lw $t4,0x40($s1)
/* f072a98: 3c01fffd */ lui $at,0xfffd
/* f072a9c: 3421ffff */ ori $at,$at,0xffff
/* f072aa0: 01816824 */ and $t5,$t4,$at
/* f072aa4: ae2d0040 */ sw $t5,0x40($s1)
/* f072aa8: 8e0e0000 */ lw $t6,0x0($s0)
/* f072aac: 02202025 */ or $a0,$s1,$zero
/* f072ab0: 02002825 */ or $a1,$s0,$zero
/* f072ab4: 31cf0080 */ andi $t7,$t6,0x80
/* f072ab8: 11e00005 */ beqz $t7,.NB0f072ad0
/* f072abc: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f072ac0: 0fc1ca1f */ jal func0f073ae8
/* f072ac4: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f072ac8: 3c03800a */ lui $v1,0x800a
/* f072acc: 2463e6c0 */ addiu $v1,$v1,-6464
.NB0f072ad0:
/* f072ad0: c6440008 */ lwc1 $f4,0x8($s2)
/* f072ad4: 2624001c */ addiu $a0,$s1,0x1c
/* f072ad8: 27a50504 */ addiu $a1,$sp,0x504
/* f072adc: e7a405dc */ swc1 $f4,0x5dc($sp)
/* f072ae0: c646000c */ lwc1 $f6,0xc($s2)
/* f072ae4: e7a605e0 */ swc1 $f6,0x5e0($sp)
/* f072ae8: c6480010 */ lwc1 $f8,0x10($s2)
/* f072aec: e7a805e4 */ swc1 $f8,0x5e4($sp)
/* f072af0: 8e0200b4 */ lw $v0,0xb4($s0)
/* f072af4: 58400005 */ blezl $v0,.NB0f072b0c
/* f072af8: 8e020000 */ lw $v0,0x0($s0)
/* f072afc: 8c780034 */ lw $t8,0x34($v1)
/* f072b00: 0058c823 */ subu $t9,$v0,$t8
/* f072b04: ae1900b4 */ sw $t9,0xb4($s0)
/* f072b08: 8e020000 */ lw $v0,0x0($s0)
.NB0f072b0c:
/* f072b0c: 30490800 */ andi $t1,$v0,0x800
/* f072b10: 11200370 */ beqz $t1,.NB0f0738d4
/* f072b14: 304d0001 */ andi $t5,$v0,0x1
/* f072b18: 0c005b11 */ jal mtx3ToMtx4
/* f072b1c: afa40078 */ sw $a0,0x78($sp)
/* f072b20: 26440008 */ addiu $a0,$s2,0x8
/* f072b24: afa40074 */ sw $a0,0x74($sp)
/* f072b28: 0c005b31 */ jal mtx4SetTranslation
/* f072b2c: 27a50504 */ addiu $a1,$sp,0x504
/* f072b30: 4480a000 */ mtc1 $zero,$f20
/* f072b34: c60000dc */ lwc1 $f0,0xdc($s0)
/* f072b38: 3c01800a */ lui $at,0x800a
/* f072b3c: 4600a03c */ c.lt.s $f20,$f0
/* f072b40: 00000000 */ sll $zero,$zero,0x0
/* f072b44: 4502002c */ bc1fl .NB0f072bf8
/* f072b48: 4614003c */ c.lt.s $f0,$f20
/* f072b4c: c60a00e0 */ lwc1 $f10,0xe0($s0)
/* f072b50: c424e70c */ lwc1 $f4,-0x18f4($at)
/* f072b54: 3c013f80 */ lui $at,0x3f80
/* f072b58: 46045182 */ mul.s $f6,$f10,$f4
/* f072b5c: 46060201 */ sub.s $f8,$f0,$f6
/* f072b60: e60800dc */ swc1 $f8,0xdc($s0)
/* f072b64: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f072b68: 4614503c */ c.lt.s $f10,$f20
/* f072b6c: 00000000 */ sll $zero,$zero,0x0
/* f072b70: 45020004 */ bc1fl .NB0f072b84
/* f072b74: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f072b78: 1000004b */ beqz $zero,.NB0f072ca8
/* f072b7c: e61400dc */ swc1 $f20,0xdc($s0)
/* f072b80: c61000e4 */ lwc1 $f16,0xe4($s0)
.NB0f072b84:
/* f072b84: 44812000 */ mtc1 $at,$f4
/* f072b88: 3c03800a */ lui $v1,0x800a
/* f072b8c: 4604803c */ c.lt.s $f16,$f4
/* f072b90: 00000000 */ sll $zero,$zero,0x0
/* f072b94: 45020045 */ bc1fl .NB0f072cac
/* f072b98: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072b9c: 8c63e6f8 */ lw $v1,-0x1908($v1)
/* f072ba0: 00001025 */ or $v0,$zero,$zero
/* f072ba4: 58600041 */ blezl $v1,.NB0f072cac
/* f072ba8: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072bac: c60200ec */ lwc1 $f2,0xec($s0)
/* f072bb0: c60000dc */ lwc1 $f0,0xdc($s0)
.NB0f072bb4:
/* f072bb4: 24420001 */ addiu $v0,$v0,0x1
/* f072bb8: 4600103c */ c.lt.s $f2,$f0
/* f072bbc: 00000000 */ sll $zero,$zero,0x0
/* f072bc0: 45020008 */ bc1fl .NB0f072be4
/* f072bc4: 0043082a */ slt $at,$v0,$v1
/* f072bc8: 46020181 */ sub.s $f6,$f0,$f2
/* f072bcc: 3c03800a */ lui $v1,0x800a
/* f072bd0: 46103202 */ mul.s $f8,$f6,$f16
/* f072bd4: 46081280 */ add.s $f10,$f2,$f8
/* f072bd8: e60a00dc */ swc1 $f10,0xdc($s0)
/* f072bdc: 8c63e6f8 */ lw $v1,-0x1908($v1)
/* f072be0: 0043082a */ slt $at,$v0,$v1
.NB0f072be4:
/* f072be4: 5420fff3 */ bnezl $at,.NB0f072bb4
/* f072be8: c60000dc */ lwc1 $f0,0xdc($s0)
/* f072bec: 1000002f */ beqz $zero,.NB0f072cac
/* f072bf0: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072bf4: 4614003c */ c.lt.s $f0,$f20
.NB0f072bf8:
/* f072bf8: 3c04800a */ lui $a0,0x800a
/* f072bfc: 2484e6c0 */ addiu $a0,$a0,-6464
/* f072c00: 4502002a */ bc1fl .NB0f072cac
/* f072c04: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072c08: c60400e0 */ lwc1 $f4,0xe0($s0)
/* f072c0c: c486004c */ lwc1 $f6,0x4c($a0)
/* f072c10: 3c013f80 */ lui $at,0x3f80
/* f072c14: 46062202 */ mul.s $f8,$f4,$f6
/* f072c18: 46080280 */ add.s $f10,$f0,$f8
/* f072c1c: e60a00dc */ swc1 $f10,0xdc($s0)
/* f072c20: c60400dc */ lwc1 $f4,0xdc($s0)
/* f072c24: 4604a03c */ c.lt.s $f20,$f4
/* f072c28: 00000000 */ sll $zero,$zero,0x0
/* f072c2c: 45020004 */ bc1fl .NB0f072c40
/* f072c30: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f072c34: 1000001c */ beqz $zero,.NB0f072ca8
/* f072c38: e61400dc */ swc1 $f20,0xdc($s0)
/* f072c3c: c61000e4 */ lwc1 $f16,0xe4($s0)
.NB0f072c40:
/* f072c40: 44813000 */ mtc1 $at,$f6
/* f072c44: 00000000 */ sll $zero,$zero,0x0
/* f072c48: 4606803c */ c.lt.s $f16,$f6
/* f072c4c: 00000000 */ sll $zero,$zero,0x0
/* f072c50: 45020016 */ bc1fl .NB0f072cac
/* f072c54: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072c58: 8c830038 */ lw $v1,0x38($a0)
/* f072c5c: 00001025 */ or $v0,$zero,$zero
/* f072c60: 58600012 */ blezl $v1,.NB0f072cac
/* f072c64: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072c68: c60200ec */ lwc1 $f2,0xec($s0)
/* f072c6c: 46001307 */ neg.s $f12,$f2
/* f072c70: c60000dc */ lwc1 $f0,0xdc($s0)
.NB0f072c74:
/* f072c74: 24420001 */ addiu $v0,$v0,0x1
/* f072c78: 460c003c */ c.lt.s $f0,$f12
/* f072c7c: 00000000 */ sll $zero,$zero,0x0
/* f072c80: 45020007 */ bc1fl .NB0f072ca0
/* f072c84: 0043082a */ slt $at,$v0,$v1
/* f072c88: 46020200 */ add.s $f8,$f0,$f2
/* f072c8c: 46104282 */ mul.s $f10,$f8,$f16
/* f072c90: 460a6100 */ add.s $f4,$f12,$f10
/* f072c94: e60400dc */ swc1 $f4,0xdc($s0)
/* f072c98: 8c830038 */ lw $v1,0x38($a0)
/* f072c9c: 0043082a */ slt $at,$v0,$v1
.NB0f072ca0:
/* f072ca0: 5420fff4 */ bnezl $at,.NB0f072c74
/* f072ca4: c60000dc */ lwc1 $f0,0xdc($s0)
.NB0f072ca8:
/* f072ca8: c60e0004 */ lwc1 $f14,0x4($s0)
.NB0f072cac:
/* f072cac: 460ea032 */ c.eq.s $f20,$f14
/* f072cb0: 00000000 */ sll $zero,$zero,0x0
/* f072cb4: 45020007 */ bc1fl .NB0f072cd4
/* f072cb8: c6080098 */ lwc1 $f8,0x98($s0)
/* f072cbc: c606000c */ lwc1 $f6,0xc($s0)
/* f072cc0: 4606a032 */ c.eq.s $f20,$f6
/* f072cc4: 00000000 */ sll $zero,$zero,0x0
/* f072cc8: 45030061 */ bc1tl .NB0f072e50
/* f072ccc: 8e040088 */ lw $a0,0x88($s0)
/* f072cd0: c6080098 */ lwc1 $f8,0x98($s0)
.NB0f072cd4:
/* f072cd4: 4608a03c */ c.lt.s $f20,$f8
/* f072cd8: 00000000 */ sll $zero,$zero,0x0
/* f072cdc: 4502005c */ bc1fl .NB0f072e50
/* f072ce0: 8e040088 */ lw $a0,0x88($s0)
/* f072ce4: c602000c */ lwc1 $f2,0xc($s0)
/* f072ce8: 46021282 */ mul.s $f10,$f2,$f2
/* f072cec: 00000000 */ sll $zero,$zero,0x0
/* f072cf0: 460e7102 */ mul.s $f4,$f14,$f14
/* f072cf4: 0c012e84 */ jal sqrtf
/* f072cf8: 46045300 */ add.s $f12,$f10,$f4
/* f072cfc: 4600a03c */ c.lt.s $f20,$f0
/* f072d00: 3c03800a */ lui $v1,0x800a
/* f072d04: 2463e6c0 */ addiu $v1,$v1,-6464
/* f072d08: 4502004f */ bc1fl .NB0f072e48
/* f072d0c: e6140004 */ swc1 $f20,0x4($s0)
/* f072d10: c6060098 */ lwc1 $f6,0x98($s0)
/* f072d14: c468004c */ lwc1 $f8,0x4c($v1)
/* f072d18: 3c013f80 */ lui $at,0x3f80
/* f072d1c: 44812000 */ mtc1 $at,$f4
/* f072d20: 46083282 */ mul.s $f10,$f6,$f8
/* f072d24: 46005303 */ div.s $f12,$f10,$f0
/* f072d28: 460c203e */ c.le.s $f4,$f12
/* f072d2c: 00000000 */ sll $zero,$zero,0x0
/* f072d30: 45020005 */ bc1fl .NB0f072d48
/* f072d34: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072d38: e6140004 */ swc1 $f20,0x4($s0)
/* f072d3c: 10000043 */ beqz $zero,.NB0f072e4c
/* f072d40: e614000c */ swc1 $f20,0xc($s0)
/* f072d44: c60e0004 */ lwc1 $f14,0x4($s0)
.NB0f072d48:
/* f072d48: c602000c */ lwc1 $f2,0xc($s0)
/* f072d4c: 3c013f80 */ lui $at,0x3f80
/* f072d50: 460c7182 */ mul.s $f6,$f14,$f12
/* f072d54: c61000e4 */ lwc1 $f16,0xe4($s0)
/* f072d58: 460c1282 */ mul.s $f10,$f2,$f12
/* f072d5c: 46067201 */ sub.s $f8,$f14,$f6
/* f072d60: 44813000 */ mtc1 $at,$f6
/* f072d64: 460a1101 */ sub.s $f4,$f2,$f10
/* f072d68: e6080004 */ swc1 $f8,0x4($s0)
/* f072d6c: 4606803c */ c.lt.s $f16,$f6
/* f072d70: e604000c */ swc1 $f4,0xc($s0)
/* f072d74: 45020036 */ bc1fl .NB0f072e50
/* f072d78: 8e040088 */ lw $a0,0x88($s0)
/* f072d7c: 8c6a0038 */ lw $t2,0x38($v1)
/* f072d80: 00001025 */ or $v0,$zero,$zero
/* f072d84: 59400032 */ blezl $t2,.NB0f072e50
/* f072d88: 8e040088 */ lw $a0,0x88($s0)
/* f072d8c: c60c00f0 */ lwc1 $f12,0xf0($s0)
/* f072d90: c60e0004 */ lwc1 $f14,0x4($s0)
.NB0f072d94:
/* f072d94: 460e603c */ c.lt.s $f12,$f14
/* f072d98: 00000000 */ sll $zero,$zero,0x0
/* f072d9c: 45020007 */ bc1fl .NB0f072dbc
/* f072da0: 46006007 */ neg.s $f0,$f12
/* f072da4: 460c7201 */ sub.s $f8,$f14,$f12
/* f072da8: 46104282 */ mul.s $f10,$f8,$f16
/* f072dac: 460c5100 */ add.s $f4,$f10,$f12
/* f072db0: 1000000a */ beqz $zero,.NB0f072ddc
/* f072db4: e6040004 */ swc1 $f4,0x4($s0)
/* f072db8: 46006007 */ neg.s $f0,$f12
.NB0f072dbc:
/* f072dbc: 4600703c */ c.lt.s $f14,$f0
/* f072dc0: 00000000 */ sll $zero,$zero,0x0
/* f072dc4: 45020006 */ bc1fl .NB0f072de0
/* f072dc8: c602000c */ lwc1 $f2,0xc($s0)
/* f072dcc: 460c7180 */ add.s $f6,$f14,$f12
/* f072dd0: 46103202 */ mul.s $f8,$f6,$f16
/* f072dd4: 46004280 */ add.s $f10,$f8,$f0
/* f072dd8: e60a0004 */ swc1 $f10,0x4($s0)
.NB0f072ddc:
/* f072ddc: c602000c */ lwc1 $f2,0xc($s0)
.NB0f072de0:
/* f072de0: 4602603c */ c.lt.s $f12,$f2
/* f072de4: 00000000 */ sll $zero,$zero,0x0
/* f072de8: 45020007 */ bc1fl .NB0f072e08
/* f072dec: 46006007 */ neg.s $f0,$f12
/* f072df0: 460c1101 */ sub.s $f4,$f2,$f12
/* f072df4: 46102182 */ mul.s $f6,$f4,$f16
/* f072df8: 460c3200 */ add.s $f8,$f6,$f12
/* f072dfc: 1000000a */ beqz $zero,.NB0f072e28
/* f072e00: e608000c */ swc1 $f8,0xc($s0)
/* f072e04: 46006007 */ neg.s $f0,$f12
.NB0f072e08:
/* f072e08: 4600103c */ c.lt.s $f2,$f0
/* f072e0c: 00000000 */ sll $zero,$zero,0x0
/* f072e10: 45020006 */ bc1fl .NB0f072e2c
/* f072e14: 8c6b0038 */ lw $t3,0x38($v1)
/* f072e18: 460c1280 */ add.s $f10,$f2,$f12
/* f072e1c: 46105102 */ mul.s $f4,$f10,$f16
/* f072e20: 46002180 */ add.s $f6,$f4,$f0
/* f072e24: e606000c */ swc1 $f6,0xc($s0)
.NB0f072e28:
/* f072e28: 8c6b0038 */ lw $t3,0x38($v1)
.NB0f072e2c:
/* f072e2c: 24420001 */ addiu $v0,$v0,0x1
/* f072e30: 004b082a */ slt $at,$v0,$t3
/* f072e34: 5420ffd7 */ bnezl $at,.NB0f072d94
/* f072e38: c60e0004 */ lwc1 $f14,0x4($s0)
/* f072e3c: 10000004 */ beqz $zero,.NB0f072e50
/* f072e40: 8e040088 */ lw $a0,0x88($s0)
/* f072e44: e6140004 */ swc1 $f20,0x4($s0)
.NB0f072e48:
/* f072e48: e614000c */ swc1 $f20,0xc($s0)
.NB0f072e4c:
/* f072e4c: 8e040088 */ lw $a0,0x88($s0)
.NB0f072e50:
/* f072e50: 50800004 */ beqzl $a0,.NB0f072e64
/* f072e54: 86240006 */ lh $a0,0x6($s1)
/* f072e58: 0fc18cfb */ jal propSetPerimEnabled
/* f072e5c: 00002825 */ or $a1,$zero,$zero
/* f072e60: 86240006 */ lh $a0,0x6($s1)
.NB0f072e64:
/* f072e64: 288c0000 */ slti $t4,$a0,0x0
/* f072e68: 398c0001 */ xori $t4,$t4,0x1
/* f072e6c: 11800007 */ beqz $t4,.NB0f072e8c
/* f072e70: afac008c */ sw $t4,0x8c($sp)
/* f072e74: 8e2e0010 */ lw $t6,0x10($s1)
/* f072e78: 3c010100 */ lui $at,0x100
/* f072e7c: 34210002 */ ori $at,$at,0x2
/* f072e80: 01c17824 */ and $t7,$t6,$at
/* f072e84: 2df80001 */ sltiu $t8,$t7,0x1
/* f072e88: afb8008c */ sw $t8,0x8c($sp)
.NB0f072e8c:
/* f072e8c: 8fb9008c */ lw $t9,0x8c($sp)
/* f072e90: 13200032 */ beqz $t9,.NB0f072f5c
/* f072e94: 24050002 */ addiu $a1,$zero,0x2
/* f072e98: 0fc43fc4 */ jal padUnpack
/* f072e9c: 27a60430 */ addiu $a2,$sp,0x430
/* f072ea0: 3c014348 */ lui $at,0x4348
/* f072ea4: 44811000 */ mtc1 $at,$f2
/* f072ea8: 8e290010 */ lw $t1,0x10($s1)
/* f072eac: 3c014396 */ lui $at,0x4396
/* f072eb0: 44816000 */ mtc1 $at,$f12
/* f072eb4: 00095200 */ sll $t2,$t1,0x8
/* f072eb8: 46001406 */ mov.s $f16,$f2
/* f072ebc: 05410006 */ bgez $t2,.NB0f072ed8
/* f072ec0: 46006386 */ mov.s $f14,$f12
/* f072ec4: 3c01442f */ lui $at,0x442f
/* f072ec8: 44810000 */ mtc1 $at,$f0
/* f072ecc: 00000000 */ sll $zero,$zero,0x0
/* f072ed0: 46001400 */ add.s $f16,$f2,$f0
/* f072ed4: 46006380 */ add.s $f14,$f12,$f0
.NB0f072ed8:
/* f072ed8: c7a80430 */ lwc1 $f8,0x430($sp)
/* f072edc: c64a0008 */ lwc1 $f10,0x8($s2)
/* f072ee0: c7a40438 */ lwc1 $f4,0x438($sp)
/* f072ee4: c6460010 */ lwc1 $f6,0x10($s2)
/* f072ee8: 460a4001 */ sub.s $f0,$f8,$f10
/* f072eec: e7b0041c */ swc1 $f16,0x41c($sp)
/* f072ef0: e7ae0418 */ swc1 $f14,0x418($sp)
/* f072ef4: 46062081 */ sub.s $f2,$f4,$f6
/* f072ef8: 46000202 */ mul.s $f8,$f0,$f0
/* f072efc: 00000000 */ sll $zero,$zero,0x0
/* f072f00: 46021282 */ mul.s $f10,$f2,$f2
/* f072f04: 0c012e84 */ jal sqrtf
/* f072f08: 460a4300 */ add.s $f12,$f8,$f10
/* f072f0c: c7a40418 */ lwc1 $f4,0x418($sp)
/* f072f10: c7a6041c */ lwc1 $f6,0x41c($sp)
/* f072f14: 4600203c */ c.lt.s $f4,$f0
/* f072f18: 00000000 */ sll $zero,$zero,0x0
/* f072f1c: 45020004 */ bc1fl .NB0f072f30
/* f072f20: 4600303c */ c.lt.s $f6,$f0
/* f072f24: 1000000d */ beqz $zero,.NB0f072f5c
/* f072f28: e61400dc */ swc1 $f20,0xdc($s0)
/* f072f2c: 4600303c */ c.lt.s $f6,$f0
.NB0f072f30:
/* f072f30: c7a80418 */ lwc1 $f8,0x418($sp)
/* f072f34: 3c017f1a */ lui $at,0x7f1a
/* f072f38: 45000008 */ bc1f .NB0f072f5c
/* f072f3c: 00000000 */ sll $zero,$zero,0x0
/* f072f40: 46004281 */ sub.s $f10,$f8,$f0
/* f072f44: c42446f4 */ lwc1 $f4,0x46f4($at)
/* f072f48: c60800dc */ lwc1 $f8,0xdc($s0)
/* f072f4c: 46045182 */ mul.s $f6,$f10,$f4
/* f072f50: 00000000 */ sll $zero,$zero,0x0
/* f072f54: 46064282 */ mul.s $f10,$f8,$f6
/* f072f58: e60a00dc */ swc1 $f10,0xdc($s0)
.NB0f072f5c:
/* f072f5c: 3c01800a */ lui $at,0x800a
/* f072f60: c428e70c */ lwc1 $f8,-0x18f4($at)
/* f072f64: c60400dc */ lwc1 $f4,0xdc($s0)
/* f072f68: 46082002 */ mul.s $f0,$f4,$f8
/* f072f6c: 46140032 */ c.eq.s $f0,$f20
/* f072f70: 00000000 */ sll $zero,$zero,0x0
/* f072f74: 4501001c */ bc1t .NB0f072fe8
/* f072f78: 3c0b8007 */ lui $t3,0x8007
/* f072f7c: 256bc28c */ addiu $t3,$t3,-15732
/* f072f80: 8d610000 */ lw $at,0x0($t3)
/* f072f84: 27a50404 */ addiu $a1,$sp,0x404
/* f072f88: 44060000 */ mfc1 $a2,$f0
/* f072f8c: aca10000 */ sw $at,0x0($a1)
/* f072f90: 8d6d0004 */ lw $t5,0x4($t3)
/* f072f94: 02202025 */ or $a0,$s1,$zero
/* f072f98: 24070001 */ addiu $a3,$zero,0x1
/* f072f9c: acad0004 */ sw $t5,0x4($a1)
/* f072fa0: 8d610008 */ lw $at,0x8($t3)
/* f072fa4: aca10008 */ sw $at,0x8($a1)
/* f072fa8: 0fc1c3b6 */ jal func0f072144
/* f072fac: e7a005a8 */ swc1 $f0,0x5a8($sp)
/* f072fb0: 2401ffff */ addiu $at,$zero,-1
/* f072fb4: 1041000c */ beq $v0,$at,.NB0f072fe8
/* f072fb8: c7a005a8 */ lwc1 $f0,0x5a8($sp)
/* f072fbc: 1440000a */ bnez $v0,.NB0f072fe8
/* f072fc0: 00000000 */ sll $zero,$zero,0x0
/* f072fc4: c60600dc */ lwc1 $f6,0xdc($s0)
/* f072fc8: c604008c */ lwc1 $f4,0x8c($s0)
/* f072fcc: 44060000 */ mfc1 $a2,$f0
/* f072fd0: 46003287 */ neg.s $f10,$f6
/* f072fd4: 02202025 */ or $a0,$s1,$zero
/* f072fd8: 46045202 */ mul.s $f8,$f10,$f4
/* f072fdc: 27a50404 */ addiu $a1,$sp,0x404
/* f072fe0: 0fc1c55a */ jal func0f0727d4
/* f072fe4: e60800dc */ swc1 $f8,0xdc($s0)
.NB0f072fe8:
/* f072fe8: 3c01800a */ lui $at,0x800a
/* f072fec: c422e70c */ lwc1 $f2,-0x18f4($at)
/* f072ff0: c6060004 */ lwc1 $f6,0x4($s0)
/* f072ff4: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f072ff8: 8fae008c */ lw $t6,0x8c($sp)
/* f072ffc: 46023282 */ mul.s $f10,$f6,$f2
/* f073000: e7aa059c */ swc1 $f10,0x59c($sp)
/* f073004: c604000c */ lwc1 $f4,0xc($s0)
/* f073008: 46022202 */ mul.s $f8,$f4,$f2
/* f07300c: 11c00031 */ beqz $t6,.NB0f0730d4
/* f073010: e7a805a4 */ swc1 $f8,0x5a4($sp)
/* f073014: c7a60430 */ lwc1 $f6,0x430($sp)
/* f073018: c64a0008 */ lwc1 $f10,0x8($s2)
/* f07301c: c7a8059c */ lwc1 $f8,0x59c($sp)
/* f073020: 460a3101 */ sub.s $f4,$f6,$f10
/* f073024: c64a0010 */ lwc1 $f10,0x10($s2)
/* f073028: c7a60438 */ lwc1 $f6,0x438($sp)
/* f07302c: 46082001 */ sub.s $f0,$f4,$f8
/* f073030: c7a805a4 */ lwc1 $f8,0x5a4($sp)
/* f073034: 460a3101 */ sub.s $f4,$f6,$f10
/* f073038: 46000182 */ mul.s $f6,$f0,$f0
/* f07303c: 46082081 */ sub.s $f2,$f4,$f8
/* f073040: 46021282 */ mul.s $f10,$f2,$f2
/* f073044: 0c012e84 */ jal sqrtf
/* f073048: 460a3300 */ add.s $f12,$f6,$f10
/* f07304c: c7ac0418 */ lwc1 $f12,0x418($sp)
/* f073050: c7a4041c */ lwc1 $f4,0x41c($sp)
/* f073054: 4600603c */ c.lt.s $f12,$f0
/* f073058: 00000000 */ sll $zero,$zero,0x0
/* f07305c: 45020009 */ bc1fl .NB0f073084
/* f073060: 4600203c */ c.lt.s $f4,$f0
/* f073064: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f073068: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f07306c: e7a0059c */ swc1 $f0,0x59c($sp)
/* f073070: e6000004 */ swc1 $f0,0x4($s0)
/* f073074: e600000c */ swc1 $f0,0xc($s0)
/* f073078: 10000016 */ beqz $zero,.NB0f0730d4
/* f07307c: e60000dc */ swc1 $f0,0xdc($s0)
/* f073080: 4600203c */ c.lt.s $f4,$f0
.NB0f073084:
/* f073084: 3c017f1a */ lui $at,0x7f1a
/* f073088: 45020013 */ bc1fl .NB0f0730d8
/* f07308c: 4406a000 */ mfc1 $a2,$f20
/* f073090: 46006201 */ sub.s $f8,$f12,$f0
/* f073094: c42646f8 */ lwc1 $f6,0x46f8($at)
/* f073098: c60a0004 */ lwc1 $f10,0x4($s0)
/* f07309c: 46064082 */ mul.s $f2,$f8,$f6
/* f0730a0: c608000c */ lwc1 $f8,0xc($s0)
/* f0730a4: 46025102 */ mul.s $f4,$f10,$f2
/* f0730a8: 00000000 */ sll $zero,$zero,0x0
/* f0730ac: 46024182 */ mul.s $f6,$f8,$f2
/* f0730b0: e6040004 */ swc1 $f4,0x4($s0)
/* f0730b4: e606000c */ swc1 $f6,0xc($s0)
/* f0730b8: c7aa059c */ lwc1 $f10,0x59c($sp)
/* f0730bc: c7a805a4 */ lwc1 $f8,0x5a4($sp)
/* f0730c0: 46025102 */ mul.s $f4,$f10,$f2
/* f0730c4: 00000000 */ sll $zero,$zero,0x0
/* f0730c8: 46024182 */ mul.s $f6,$f8,$f2
/* f0730cc: e7a4059c */ swc1 $f4,0x59c($sp)
/* f0730d0: e7a605a4 */ swc1 $f6,0x5a4($sp)
.NB0f0730d4:
/* f0730d4: 4406a000 */ mfc1 $a2,$f20
.NB0f0730d8:
/* f0730d8: 02202025 */ or $a0,$s1,$zero
/* f0730dc: 27a5059c */ addiu $a1,$sp,0x59c
/* f0730e0: 0fc1c3b6 */ jal func0f072144
/* f0730e4: 24070001 */ addiu $a3,$zero,0x1
/* f0730e8: 144001ae */ bnez $v0,.NB0f0737a4
/* f0730ec: afa20600 */ sw $v0,0x600($sp)
/* f0730f0: 4406a000 */ mfc1 $a2,$f20
/* f0730f4: 02202025 */ or $a0,$s1,$zero
/* f0730f8: 0fc1c55a */ jal func0f0727d4
/* f0730fc: 27a5059c */ addiu $a1,$sp,0x59c
/* f073100: c60a008c */ lwc1 $f10,0x8c($s0)
/* f073104: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f073108: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f07310c: 460a0402 */ mul.s $f16,$f0,$f10
/* f073110: 4610a03c */ c.lt.s $f20,$f16
/* f073114: 00000000 */ sll $zero,$zero,0x0
/* f073118: 450201a3 */ bc1fl .NB0f0737a8
/* f07311c: 8faa0600 */ lw $t2,0x600($sp)
/* f073120: 0c0099d1 */ jal cd00025364
/* f073124: e7b0058c */ swc1 $f16,0x58c($sp)
/* f073128: 1040000e */ beqz $v0,.NB0f073164
/* f07312c: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f073130: c7a403c4 */ lwc1 $f4,0x3c4($sp)
/* f073134: c7a803d0 */ lwc1 $f8,0x3d0($sp)
/* f073138: c7aa03c8 */ lwc1 $f10,0x3c8($sp)
/* f07313c: 46082181 */ sub.s $f6,$f4,$f8
/* f073140: c7a403d4 */ lwc1 $f4,0x3d4($sp)
/* f073144: 46045201 */ sub.s $f8,$f10,$f4
/* f073148: e7a603c4 */ swc1 $f6,0x3c4($sp)
/* f07314c: c7a603cc */ lwc1 $f6,0x3cc($sp)
/* f073150: c7aa03d8 */ lwc1 $f10,0x3d8($sp)
/* f073154: e7a803c8 */ swc1 $f8,0x3c8($sp)
/* f073158: 460a3101 */ sub.s $f4,$f6,$f10
/* f07315c: 10000020 */ beqz $zero,.NB0f0731e0
/* f073160: e7a403cc */ swc1 $f4,0x3cc($sp)
.NB0f073164:
/* f073164: 3c077f1a */ lui $a3,0x7f1a
/* f073168: 24e742d8 */ addiu $a3,$a3,0x42d8
/* f07316c: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f073170: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f073174: 24062061 */ addiu $a2,$zero,0x2061
/* f073178: 0c00988b */ jal cd00024e4c
/* f07317c: e7b0058c */ swc1 $f16,0x58c($sp)
/* f073180: c7a803d0 */ lwc1 $f8,0x3d0($sp)
/* f073184: c7a603c4 */ lwc1 $f6,0x3c4($sp)
/* f073188: c7a403d4 */ lwc1 $f4,0x3d4($sp)
/* f07318c: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f073190: 46064281 */ sub.s $f10,$f8,$f6
/* f073194: c7a803c8 */ lwc1 $f8,0x3c8($sp)
/* f073198: 46082181 */ sub.s $f6,$f4,$f8
/* f07319c: e7aa03d0 */ swc1 $f10,0x3d0($sp)
/* f0731a0: c7aa03d8 */ lwc1 $f10,0x3d8($sp)
/* f0731a4: c7a403cc */ lwc1 $f4,0x3cc($sp)
/* f0731a8: e7a603d4 */ swc1 $f6,0x3d4($sp)
/* f0731ac: e7a603c8 */ swc1 $f6,0x3c8($sp)
/* f0731b0: 46045201 */ sub.s $f8,$f10,$f4
/* f0731b4: c7a403d0 */ lwc1 $f4,0x3d0($sp)
/* f0731b8: 46004287 */ neg.s $f10,$f8
/* f0731bc: e7a803d8 */ swc1 $f8,0x3d8($sp)
/* f0731c0: e7aa03c4 */ swc1 $f10,0x3c4($sp)
/* f0731c4: e7a403cc */ swc1 $f4,0x3cc($sp)
/* f0731c8: c6480008 */ lwc1 $f8,0x8($s2)
/* f0731cc: e7a803d0 */ swc1 $f8,0x3d0($sp)
/* f0731d0: c64a000c */ lwc1 $f10,0xc($s2)
/* f0731d4: e7aa03d4 */ swc1 $f10,0x3d4($sp)
/* f0731d8: c6460010 */ lwc1 $f6,0x10($s2)
/* f0731dc: e7a603d8 */ swc1 $f6,0x3d8($sp)
.NB0f0731e0:
/* f0731e0: 27a403d0 */ addiu $a0,$sp,0x3d0
/* f0731e4: 27a503c4 */ addiu $a1,$sp,0x3c4
/* f0731e8: 27a603b8 */ addiu $a2,$sp,0x3b8
/* f0731ec: 0fc0b78e */ jal func0f02e4f8
/* f0731f0: e7b0058c */ swc1 $f16,0x58c($sp)
/* f0731f4: c6440008 */ lwc1 $f4,0x8($s2)
/* f0731f8: c7a805dc */ lwc1 $f8,0x5dc($sp)
/* f0731fc: e7b403b0 */ swc1 $f20,0x3b0($sp)
/* f073200: 3c017f1a */ lui $at,0x7f1a
/* f073204: 46082281 */ sub.s $f10,$f4,$f8
/* f073208: c7a405e4 */ lwc1 $f4,0x5e4($sp)
/* f07320c: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f073210: e7aa03ac */ swc1 $f10,0x3ac($sp)
/* f073214: c6460010 */ lwc1 $f6,0x10($s2)
/* f073218: c7aa03b8 */ lwc1 $f10,0x3b8($sp)
/* f07321c: 46043201 */ sub.s $f8,$f6,$f4
/* f073220: e7a803b4 */ swc1 $f8,0x3b4($sp)
/* f073224: c6460008 */ lwc1 $f6,0x8($s2)
/* f073228: c7a803c0 */ lwc1 $f8,0x3c0($sp)
/* f07322c: 46065101 */ sub.s $f4,$f10,$f6
/* f073230: e7a403b8 */ swc1 $f4,0x3b8($sp)
/* f073234: c64a0010 */ lwc1 $f10,0x10($s2)
/* f073238: 460a4181 */ sub.s $f6,$f8,$f10
/* f07323c: c7a803ac */ lwc1 $f8,0x3ac($sp)
/* f073240: 46064282 */ mul.s $f10,$f8,$f6
/* f073244: e7a603c0 */ swc1 $f6,0x3c0($sp)
/* f073248: c7a603b4 */ lwc1 $f6,0x3b4($sp)
/* f07324c: 46002207 */ neg.s $f8,$f4
/* f073250: c60200ec */ lwc1 $f2,0xec($s0)
/* f073254: 46064102 */ mul.s $f4,$f8,$f6
/* f073258: c42646fc */ lwc1 $f6,0x46fc($at)
/* f07325c: 46045200 */ add.s $f8,$f10,$f4
/* f073260: 46064382 */ mul.s $f14,$f8,$f6
/* f073264: 460e103c */ c.lt.s $f2,$f14
/* f073268: 46007006 */ mov.s $f0,$f14
/* f07326c: 45020004 */ bc1fl .NB0f073280
/* f073270: 46001307 */ neg.s $f12,$f2
/* f073274: 10000007 */ beqz $zero,.NB0f073294
/* f073278: 46001006 */ mov.s $f0,$f2
/* f07327c: 46001307 */ neg.s $f12,$f2
.NB0f073280:
/* f073280: 460c703c */ c.lt.s $f14,$f12
/* f073284: 00000000 */ sll $zero,$zero,0x0
/* f073288: 45020003 */ bc1fl .NB0f073298
/* f07328c: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f073290: 46006006 */ mov.s $f0,$f12
.NB0f073294:
/* f073294: c60a00dc */ lwc1 $f10,0xdc($s0)
.NB0f073298:
/* f073298: 3c077f1a */ lui $a3,0x7f1a
/* f07329c: 24e742e4 */ addiu $a3,$a3,0x42e4
/* f0732a0: 46005100 */ add.s $f4,$f10,$f0
/* f0732a4: 27a403e8 */ addiu $a0,$sp,0x3e8
/* f0732a8: 27a503dc */ addiu $a1,$sp,0x3dc
/* f0732ac: 24062087 */ addiu $a2,$zero,0x2087
/* f0732b0: e60400dc */ swc1 $f4,0xdc($s0)
/* f0732b4: 0c00988b */ jal cd00024e4c
/* f0732b8: e7b0058c */ swc1 $f16,0x58c($sp)
/* f0732bc: c7a803e4 */ lwc1 $f8,0x3e4($sp)
/* f0732c0: c7a603f0 */ lwc1 $f6,0x3f0($sp)
/* f0732c4: c7ae03e8 */ lwc1 $f14,0x3e8($sp)
/* f0732c8: c7b203dc */ lwc1 $f18,0x3dc($sp)
/* f0732cc: 46064001 */ sub.s $f0,$f8,$f6
/* f0732d0: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f0732d4: e7b403f8 */ swc1 $f20,0x3f8($sp)
/* f0732d8: 46127281 */ sub.s $f10,$f14,$f18
/* f0732dc: e7a003f4 */ swc1 $f0,0x3f4($sp)
/* f0732e0: 27a403f4 */ addiu $a0,$sp,0x3f4
/* f0732e4: 4600a032 */ c.eq.s $f20,$f0
/* f0732e8: e7aa03fc */ swc1 $f10,0x3fc($sp)
/* f0732ec: c7a403fc */ lwc1 $f4,0x3fc($sp)
/* f0732f0: 27a503f8 */ addiu $a1,$sp,0x3f8
/* f0732f4: 45000005 */ bc1f .NB0f07330c
/* f0732f8: 27a603fc */ addiu $a2,$sp,0x3fc
/* f0732fc: 4604a032 */ c.eq.s $f20,$f4
/* f073300: 3c013f80 */ lui $at,0x3f80
/* f073304: 45030006 */ bc1tl .NB0f073320
/* f073308: 44814000 */ mtc1 $at,$f8
.NB0f07330c:
/* f07330c: 0c0012a8 */ jal guNormalize
/* f073310: e7b0058c */ swc1 $f16,0x58c($sp)
/* f073314: 10000004 */ beqz $zero,.NB0f073328
/* f073318: c7b0058c */ lwc1 $f16,0x58c($sp)
/* f07331c: 44814000 */ mtc1 $at,$f8
.NB0f073320:
/* f073320: 00000000 */ sll $zero,$zero,0x0
/* f073324: e7a803fc */ swc1 $f8,0x3fc($sp)
.NB0f073328:
/* f073328: c7a603fc */ lwc1 $f6,0x3fc($sp)
/* f07332c: c60a000c */ lwc1 $f10,0xc($s0)
/* f073330: c60e0004 */ lwc1 $f14,0x4($s0)
/* f073334: c7a803f4 */ lwc1 $f8,0x3f4($sp)
/* f073338: 460a3102 */ mul.s $f4,$f6,$f10
/* f07333c: 3c013f80 */ lui $at,0x3f80
/* f073340: e7b40594 */ swc1 $f20,0x594($sp)
/* f073344: 46087282 */ mul.s $f10,$f14,$f8
/* f073348: 8faf008c */ lw $t7,0x8c($sp)
/* f07334c: 460a2000 */ add.s $f0,$f4,$f10
/* f073350: 44812000 */ mtc1 $at,$f4
/* f073354: 3c01800a */ lui $at,0x800a
/* f073358: c422e70c */ lwc1 $f2,-0x18f4($at)
/* f07335c: 46048280 */ add.s $f10,$f16,$f4
/* f073360: 46005107 */ neg.s $f4,$f10
/* f073364: 46040002 */ mul.s $f0,$f0,$f4
/* f073368: 00000000 */ sll $zero,$zero,0x0
/* f07336c: 46004282 */ mul.s $f10,$f8,$f0
/* f073370: 460e5100 */ add.s $f4,$f10,$f14
/* f073374: 46003202 */ mul.s $f8,$f6,$f0
/* f073378: e7a40590 */ swc1 $f4,0x590($sp)
/* f07337c: c60a000c */ lwc1 $f10,0xc($s0)
/* f073380: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f073384: 460a4180 */ add.s $f6,$f8,$f10
/* f073388: 46022202 */ mul.s $f8,$f4,$f2
/* f07338c: c7a40430 */ lwc1 $f4,0x430($sp)
/* f073390: 46023282 */ mul.s $f10,$f6,$f2
/* f073394: e7a60598 */ swc1 $f6,0x598($sp)
/* f073398: e7a8059c */ swc1 $f8,0x59c($sp)
/* f07339c: 11e0002f */ beqz $t7,.NB0f07345c
/* f0733a0: e7aa05a4 */ swc1 $f10,0x5a4($sp)
/* f0733a4: c6460008 */ lwc1 $f6,0x8($s2)
/* f0733a8: 46062101 */ sub.s $f4,$f4,$f6
/* f0733ac: c7a60438 */ lwc1 $f6,0x438($sp)
/* f0733b0: 46082001 */ sub.s $f0,$f4,$f8
/* f0733b4: c6440010 */ lwc1 $f4,0x10($s2)
/* f0733b8: 46043201 */ sub.s $f8,$f6,$f4
/* f0733bc: 46000182 */ mul.s $f6,$f0,$f0
/* f0733c0: 460a4081 */ sub.s $f2,$f8,$f10
/* f0733c4: 46021102 */ mul.s $f4,$f2,$f2
/* f0733c8: 0c012e84 */ jal sqrtf
/* f0733cc: 46043300 */ add.s $f12,$f6,$f4
/* f0733d0: c7a80418 */ lwc1 $f8,0x418($sp)
/* f0733d4: c7aa041c */ lwc1 $f10,0x41c($sp)
/* f0733d8: 4600403c */ c.lt.s $f8,$f0
/* f0733dc: 00000000 */ sll $zero,$zero,0x0
/* f0733e0: 45020009 */ bc1fl .NB0f073408
/* f0733e4: 4600503c */ c.lt.s $f10,$f0
/* f0733e8: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f0733ec: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f0733f0: e7a0059c */ swc1 $f0,0x59c($sp)
/* f0733f4: e6000004 */ swc1 $f0,0x4($s0)
/* f0733f8: e600000c */ swc1 $f0,0xc($s0)
/* f0733fc: 10000017 */ beqz $zero,.NB0f07345c
/* f073400: e60000dc */ swc1 $f0,0xdc($s0)
/* f073404: 4600503c */ c.lt.s $f10,$f0
.NB0f073408:
/* f073408: c7a60418 */ lwc1 $f6,0x418($sp)
/* f07340c: 3c017f1a */ lui $at,0x7f1a
/* f073410: 45020013 */ bc1fl .NB0f073460
/* f073414: 4406a000 */ mfc1 $a2,$f20
/* f073418: 46003101 */ sub.s $f4,$f6,$f0
/* f07341c: c4284700 */ lwc1 $f8,0x4700($at)
/* f073420: c60a0004 */ lwc1 $f10,0x4($s0)
/* f073424: 46082082 */ mul.s $f2,$f4,$f8
/* f073428: c604000c */ lwc1 $f4,0xc($s0)
/* f07342c: 46025182 */ mul.s $f6,$f10,$f2
/* f073430: 00000000 */ sll $zero,$zero,0x0
/* f073434: 46022202 */ mul.s $f8,$f4,$f2
/* f073438: e6060004 */ swc1 $f6,0x4($s0)
/* f07343c: e608000c */ swc1 $f8,0xc($s0)
/* f073440: c7aa059c */ lwc1 $f10,0x59c($sp)
/* f073444: c7a405a4 */ lwc1 $f4,0x5a4($sp)
/* f073448: 46025182 */ mul.s $f6,$f10,$f2
/* f07344c: 00000000 */ sll $zero,$zero,0x0
/* f073450: 46022202 */ mul.s $f8,$f4,$f2
/* f073454: e7a6059c */ swc1 $f6,0x59c($sp)
/* f073458: e7a805a4 */ swc1 $f8,0x5a4($sp)
.NB0f07345c:
/* f07345c: 4406a000 */ mfc1 $a2,$f20
.NB0f073460:
/* f073460: 02202025 */ or $a0,$s1,$zero
/* f073464: 27a5059c */ addiu $a1,$sp,0x59c
/* f073468: 0fc1c3b6 */ jal func0f072144
/* f07346c: 24070001 */ addiu $a3,$zero,0x1
/* f073470: 144000c2 */ bnez $v0,.NB0f07377c
/* f073474: afa20600 */ sw $v0,0x600($sp)
/* f073478: 4406a000 */ mfc1 $a2,$f20
/* f07347c: 02202025 */ or $a0,$s1,$zero
/* f073480: 0fc1c55a */ jal func0f0727d4
/* f073484: 27a5059c */ addiu $a1,$sp,0x59c
/* f073488: c60a008c */ lwc1 $f10,0x8c($s0)
/* f07348c: c6060004 */ lwc1 $f6,0x4($s0)
/* f073490: e7b40594 */ swc1 $f20,0x594($sp)
/* f073494: 460a0402 */ mul.s $f16,$f0,$f10
/* f073498: 46003107 */ neg.s $f4,$f6
/* f07349c: 3c01800a */ lui $at,0x800a
/* f0734a0: c422e70c */ lwc1 $f2,-0x18f4($at)
/* f0734a4: 8fb8008c */ lw $t8,0x8c($sp)
/* f0734a8: 46102202 */ mul.s $f8,$f4,$f16
/* f0734ac: e7a80590 */ swc1 $f8,0x590($sp)
/* f0734b0: c60a000c */ lwc1 $f10,0xc($s0)
/* f0734b4: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f0734b8: 46005187 */ neg.s $f6,$f10
/* f0734bc: 46103102 */ mul.s $f4,$f6,$f16
/* f0734c0: 00000000 */ sll $zero,$zero,0x0
/* f0734c4: 46024282 */ mul.s $f10,$f8,$f2
/* f0734c8: c7a80430 */ lwc1 $f8,0x430($sp)
/* f0734cc: 46022182 */ mul.s $f6,$f4,$f2
/* f0734d0: e7a40598 */ swc1 $f4,0x598($sp)
/* f0734d4: e7aa059c */ swc1 $f10,0x59c($sp)
/* f0734d8: 1300002f */ beqz $t8,.NB0f073598
/* f0734dc: e7a605a4 */ swc1 $f6,0x5a4($sp)
/* f0734e0: c6440008 */ lwc1 $f4,0x8($s2)
/* f0734e4: 46044201 */ sub.s $f8,$f8,$f4
/* f0734e8: c7a40438 */ lwc1 $f4,0x438($sp)
/* f0734ec: 460a4001 */ sub.s $f0,$f8,$f10
/* f0734f0: c6480010 */ lwc1 $f8,0x10($s2)
/* f0734f4: 46082281 */ sub.s $f10,$f4,$f8
/* f0734f8: 46000102 */ mul.s $f4,$f0,$f0
/* f0734fc: 46065081 */ sub.s $f2,$f10,$f6
/* f073500: 46021202 */ mul.s $f8,$f2,$f2
/* f073504: 0c012e84 */ jal sqrtf
/* f073508: 46082300 */ add.s $f12,$f4,$f8
/* f07350c: c7aa0418 */ lwc1 $f10,0x418($sp)
/* f073510: c7a6041c */ lwc1 $f6,0x41c($sp)
/* f073514: 4600503c */ c.lt.s $f10,$f0
/* f073518: 00000000 */ sll $zero,$zero,0x0
/* f07351c: 45020009 */ bc1fl .NB0f073544
/* f073520: 4600303c */ c.lt.s $f6,$f0
/* f073524: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f073528: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f07352c: e7a0059c */ swc1 $f0,0x59c($sp)
/* f073530: e6000004 */ swc1 $f0,0x4($s0)
/* f073534: e600000c */ swc1 $f0,0xc($s0)
/* f073538: 10000017 */ beqz $zero,.NB0f073598
/* f07353c: e60000dc */ swc1 $f0,0xdc($s0)
/* f073540: 4600303c */ c.lt.s $f6,$f0
.NB0f073544:
/* f073544: c7a40418 */ lwc1 $f4,0x418($sp)
/* f073548: 3c017f1a */ lui $at,0x7f1a
/* f07354c: 45020013 */ bc1fl .NB0f07359c
/* f073550: 4406a000 */ mfc1 $a2,$f20
/* f073554: 46002201 */ sub.s $f8,$f4,$f0
/* f073558: c42a4704 */ lwc1 $f10,0x4704($at)
/* f07355c: c6060004 */ lwc1 $f6,0x4($s0)
/* f073560: 460a4082 */ mul.s $f2,$f8,$f10
/* f073564: c608000c */ lwc1 $f8,0xc($s0)
/* f073568: 46023102 */ mul.s $f4,$f6,$f2
/* f07356c: 00000000 */ sll $zero,$zero,0x0
/* f073570: 46024282 */ mul.s $f10,$f8,$f2
/* f073574: e6040004 */ swc1 $f4,0x4($s0)
/* f073578: e60a000c */ swc1 $f10,0xc($s0)
/* f07357c: c7a6059c */ lwc1 $f6,0x59c($sp)
/* f073580: c7a805a4 */ lwc1 $f8,0x5a4($sp)
/* f073584: 46023102 */ mul.s $f4,$f6,$f2
/* f073588: 00000000 */ sll $zero,$zero,0x0
/* f07358c: 46024282 */ mul.s $f10,$f8,$f2
/* f073590: e7a4059c */ swc1 $f4,0x59c($sp)
/* f073594: e7aa05a4 */ swc1 $f10,0x5a4($sp)
.NB0f073598:
/* f073598: 4406a000 */ mfc1 $a2,$f20
.NB0f07359c:
/* f07359c: 02202025 */ or $a0,$s1,$zero
/* f0735a0: 27a5059c */ addiu $a1,$sp,0x59c
/* f0735a4: 0fc1c3b6 */ jal func0f072144
/* f0735a8: 24070001 */ addiu $a3,$zero,0x1
/* f0735ac: 14400073 */ bnez $v0,.NB0f07377c
/* f0735b0: afa20600 */ sw $v0,0x600($sp)
/* f0735b4: 4406a000 */ mfc1 $a2,$f20
/* f0735b8: 02202025 */ or $a0,$s1,$zero
/* f0735bc: 0fc1c55a */ jal func0f0727d4
/* f0735c0: 27a5059c */ addiu $a1,$sp,0x59c
/* f0735c4: c7ae03e8 */ lwc1 $f14,0x3e8($sp)
/* f0735c8: c7b203dc */ lwc1 $f18,0x3dc($sp)
/* f0735cc: c7a603f0 */ lwc1 $f6,0x3f0($sp)
/* f0735d0: c7a403e4 */ lwc1 $f4,0x3e4($sp)
/* f0735d4: 46127032 */ c.eq.s $f14,$f18
/* f0735d8: c7a803e4 */ lwc1 $f8,0x3e4($sp)
/* f0735dc: c7aa03f0 */ lwc1 $f10,0x3f0($sp)
/* f0735e0: 45020006 */ bc1fl .NB0f0735fc
/* f0735e4: 460a4081 */ sub.s $f2,$f8,$f10
/* f0735e8: 46043032 */ c.eq.s $f6,$f4
/* f0735ec: 00000000 */ sll $zero,$zero,0x0
/* f0735f0: 45030063 */ bc1tl .NB0f073780
/* f0735f4: 8fa90600 */ lw $t1,0x600($sp)
/* f0735f8: 460a4081 */ sub.s $f2,$f8,$f10
.NB0f0735fc:
/* f0735fc: 460e9001 */ sub.s $f0,$f18,$f14
/* f073600: 46021182 */ mul.s $f6,$f2,$f2
/* f073604: e7a203a0 */ swc1 $f2,0x3a0($sp)
/* f073608: 46000102 */ mul.s $f4,$f0,$f0
/* f07360c: e7a00398 */ swc1 $f0,0x398($sp)
/* f073610: 0c012e84 */ jal sqrtf
/* f073614: 46043300 */ add.s $f12,$f6,$f4
/* f073618: 3c013f80 */ lui $at,0x3f80
/* f07361c: 44814000 */ mtc1 $at,$f8
/* f073620: c7aa0398 */ lwc1 $f10,0x398($sp)
/* f073624: c7a403a0 */ lwc1 $f4,0x3a0($sp)
/* f073628: 46004303 */ div.s $f12,$f8,$f0
/* f07362c: 3c01800a */ lui $at,0x800a
/* f073630: c422e70c */ lwc1 $f2,-0x18f4($at)
/* f073634: 8fb9008c */ lw $t9,0x8c($sp)
/* f073638: 460c5182 */ mul.s $f6,$f10,$f12
/* f07363c: 00000000 */ sll $zero,$zero,0x0
/* f073640: 460c2202 */ mul.s $f8,$f4,$f12
/* f073644: e7a60398 */ swc1 $f6,0x398($sp)
/* f073648: e7a803a0 */ swc1 $f8,0x3a0($sp)
/* f07364c: c60a000c */ lwc1 $f10,0xc($s0)
/* f073650: 460a4102 */ mul.s $f4,$f8,$f10
/* f073654: c60a0004 */ lwc1 $f10,0x4($s0)
/* f073658: e7b40594 */ swc1 $f20,0x594($sp)
/* f07365c: e7b405a0 */ swc1 $f20,0x5a0($sp)
/* f073660: 46065282 */ mul.s $f10,$f10,$f6
/* f073664: 460a2380 */ add.s $f14,$f4,$f10
/* f073668: 460e3102 */ mul.s $f4,$f6,$f14
/* f07366c: 00000000 */ sll $zero,$zero,0x0
/* f073670: 460e4282 */ mul.s $f10,$f8,$f14
/* f073674: 00000000 */ sll $zero,$zero,0x0
/* f073678: 46022182 */ mul.s $f6,$f4,$f2
/* f07367c: e7a40590 */ swc1 $f4,0x590($sp)
/* f073680: c7a40430 */ lwc1 $f4,0x430($sp)
/* f073684: 46025202 */ mul.s $f8,$f10,$f2
/* f073688: e7aa0598 */ swc1 $f10,0x598($sp)
/* f07368c: e7a6059c */ swc1 $f6,0x59c($sp)
/* f073690: 1320002f */ beqz $t9,.NB0f073750
/* f073694: e7a805a4 */ swc1 $f8,0x5a4($sp)
/* f073698: c64a0008 */ lwc1 $f10,0x8($s2)
/* f07369c: 460a2101 */ sub.s $f4,$f4,$f10
/* f0736a0: c7aa0438 */ lwc1 $f10,0x438($sp)
/* f0736a4: 46062001 */ sub.s $f0,$f4,$f6
/* f0736a8: c6440010 */ lwc1 $f4,0x10($s2)
/* f0736ac: 46045181 */ sub.s $f6,$f10,$f4
/* f0736b0: 46000282 */ mul.s $f10,$f0,$f0
/* f0736b4: 46083081 */ sub.s $f2,$f6,$f8
/* f0736b8: 46021102 */ mul.s $f4,$f2,$f2
/* f0736bc: 0c012e84 */ jal sqrtf
/* f0736c0: 46045300 */ add.s $f12,$f10,$f4
/* f0736c4: c7a60418 */ lwc1 $f6,0x418($sp)
/* f0736c8: c7a8041c */ lwc1 $f8,0x41c($sp)
/* f0736cc: 4600303c */ c.lt.s $f6,$f0
/* f0736d0: 00000000 */ sll $zero,$zero,0x0
/* f0736d4: 45020009 */ bc1fl .NB0f0736fc
/* f0736d8: 4600403c */ c.lt.s $f8,$f0
/* f0736dc: e7b405a4 */ swc1 $f20,0x5a4($sp)
/* f0736e0: c7a005a4 */ lwc1 $f0,0x5a4($sp)
/* f0736e4: e7a0059c */ swc1 $f0,0x59c($sp)
/* f0736e8: e6000004 */ swc1 $f0,0x4($s0)
/* f0736ec: e600000c */ swc1 $f0,0xc($s0)
/* f0736f0: 10000017 */ beqz $zero,.NB0f073750
/* f0736f4: e60000dc */ swc1 $f0,0xdc($s0)
/* f0736f8: 4600403c */ c.lt.s $f8,$f0
.NB0f0736fc:
/* f0736fc: c7aa0418 */ lwc1 $f10,0x418($sp)
/* f073700: 3c017f1a */ lui $at,0x7f1a
/* f073704: 45020013 */ bc1fl .NB0f073754
/* f073708: 4406a000 */ mfc1 $a2,$f20
/* f07370c: 46005101 */ sub.s $f4,$f10,$f0
/* f073710: c4264708 */ lwc1 $f6,0x4708($at)
/* f073714: c6080004 */ lwc1 $f8,0x4($s0)
/* f073718: 46062082 */ mul.s $f2,$f4,$f6
/* f07371c: c604000c */ lwc1 $f4,0xc($s0)
/* f073720: 46024282 */ mul.s $f10,$f8,$f2
/* f073724: 00000000 */ sll $zero,$zero,0x0
/* f073728: 46022182 */ mul.s $f6,$f4,$f2
/* f07372c: e60a0004 */ swc1 $f10,0x4($s0)
/* f073730: e606000c */ swc1 $f6,0xc($s0)
/* f073734: c7a8059c */ lwc1 $f8,0x59c($sp)
/* f073738: c7a405a4 */ lwc1 $f4,0x5a4($sp)
/* f07373c: 46024282 */ mul.s $f10,$f8,$f2
/* f073740: 00000000 */ sll $zero,$zero,0x0
/* f073744: 46022182 */ mul.s $f6,$f4,$f2
/* f073748: e7aa059c */ swc1 $f10,0x59c($sp)
/* f07374c: e7a605a4 */ swc1 $f6,0x5a4($sp)
.NB0f073750:
/* f073750: 4406a000 */ mfc1 $a2,$f20
.NB0f073754:
/* f073754: 02202025 */ or $a0,$s1,$zero
/* f073758: 27a5059c */ addiu $a1,$sp,0x59c
/* f07375c: 0fc1c3b6 */ jal func0f072144
/* f073760: 24070001 */ addiu $a3,$zero,0x1
/* f073764: 14400005 */ bnez $v0,.NB0f07377c
/* f073768: afa20600 */ sw $v0,0x600($sp)
/* f07376c: 4406a000 */ mfc1 $a2,$f20
/* f073770: 02202025 */ or $a0,$s1,$zero
/* f073774: 0fc1c55a */ jal func0f0727d4
/* f073778: 27a5059c */ addiu $a1,$sp,0x59c
.NB0f07377c:
/* f07377c: 8fa90600 */ lw $t1,0x600($sp)
.NB0f073780:
/* f073780: 24010001 */ addiu $at,$zero,0x1
/* f073784: c7a80590 */ lwc1 $f8,0x590($sp)
/* f073788: 55210007 */ bnel $t1,$at,.NB0f0737a8
/* f07378c: 8faa0600 */ lw $t2,0x600($sp)
/* f073790: e6080004 */ swc1 $f8,0x4($s0)
/* f073794: c7aa0594 */ lwc1 $f10,0x594($sp)
/* f073798: e60a0008 */ swc1 $f10,0x8($s0)
/* f07379c: c7a40598 */ lwc1 $f4,0x598($sp)
/* f0737a0: e604000c */ swc1 $f4,0xc($s0)
.NB0f0737a4:
/* f0737a4: 8faa0600 */ lw $t2,0x600($sp)
.NB0f0737a8:
/* f0737a8: 24010001 */ addiu $at,$zero,0x1
/* f0737ac: 51410005 */ beql $t2,$at,.NB0f0737c4
/* f0737b0: 8e040088 */ lw $a0,0x88($s0)
/* f0737b4: e61400dc */ swc1 $f20,0xdc($s0)
/* f0737b8: e614000c */ swc1 $f20,0xc($s0)
/* f0737bc: e6140004 */ swc1 $f20,0x4($s0)
/* f0737c0: 8e040088 */ lw $a0,0x88($s0)
.NB0f0737c4:
/* f0737c4: 50800004 */ beqzl $a0,.NB0f0737d8
/* f0737c8: c6060004 */ lwc1 $f6,0x4($s0)
/* f0737cc: 0fc18cfb */ jal propSetPerimEnabled
/* f0737d0: 24050001 */ addiu $a1,$zero,0x1
/* f0737d4: c6060004 */ lwc1 $f6,0x4($s0)
.NB0f0737d8:
/* f0737d8: 4606a032 */ c.eq.s $f20,$f6
/* f0737dc: 00000000 */ sll $zero,$zero,0x0
/* f0737e0: 4502000e */ bc1fl .NB0f07381c
/* f0737e4: 8fac0600 */ lw $t4,0x600($sp)
/* f0737e8: c608000c */ lwc1 $f8,0xc($s0)
/* f0737ec: 4608a032 */ c.eq.s $f20,$f8
/* f0737f0: 00000000 */ sll $zero,$zero,0x0
/* f0737f4: 45020009 */ bc1fl .NB0f07381c
/* f0737f8: 8fac0600 */ lw $t4,0x600($sp)
/* f0737fc: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f073800: 460aa032 */ c.eq.s $f20,$f10
/* f073804: 00000000 */ sll $zero,$zero,0x0
/* f073808: 45020004 */ bc1fl .NB0f07381c
/* f07380c: 8fac0600 */ lw $t4,0x600($sp)
/* f073810: 0fc1a7a9 */ jal objEndFlight
/* f073814: 02202025 */ or $a0,$s1,$zero
/* f073818: 8fac0600 */ lw $t4,0x600($sp)
.NB0f07381c:
/* f07381c: 24010001 */ addiu $at,$zero,0x1
/* f073820: 8fa40074 */ lw $a0,0x74($sp)
/* f073824: 15810012 */ bne $t4,$at,.NB0f073870
/* f073828: 3c054000 */ lui $a1,0x4000
/* f07382c: 26460028 */ addiu $a2,$s2,0x28
/* f073830: 26270058 */ addiu $a3,$s1,0x58
/* f073834: 0c00adde */ jal cdFindGroundYSimple
/* f073838: afa00010 */ sw $zero,0x10($sp)
/* f07383c: 3c017f1a */ lui $at,0x7f1a
/* f073840: c424470c */ lwc1 $f4,0x470c($at)
/* f073844: 46000086 */ mov.s $f2,$f0
/* f073848: 02202025 */ or $a0,$s1,$zero
/* f07384c: 4600203c */ c.lt.s $f4,$f0
/* f073850: 00000000 */ sll $zero,$zero,0x0
/* f073854: 45020007 */ bc1fl .NB0f073874
/* f073858: 02202025 */ or $a0,$s1,$zero
/* f07385c: 0fc1c03d */ jal objGetHov04
/* f073860: e7a20584 */ swc1 $f2,0x584($sp)
/* f073864: c7a20584 */ lwc1 $f2,0x584($sp)
/* f073868: 46020180 */ add.s $f6,$f0,$f2
/* f07386c: e646000c */ swc1 $f6,0xc($s2)
.NB0f073870:
/* f073870: 02202025 */ or $a0,$s1,$zero
.NB0f073874:
/* f073874: 00002825 */ or $a1,$zero,$zero
/* f073878: 0fc1a3b7 */ jal func0f069c70
/* f07387c: 24060001 */ addiu $a2,$zero,0x1
/* f073880: 27b00484 */ addiu $s0,$sp,0x484
/* f073884: 02002825 */ or $a1,$s0,$zero
/* f073888: 0c005b11 */ jal mtx3ToMtx4
/* f07388c: 8fa40078 */ lw $a0,0x78($sp)
/* f073890: 8fa40074 */ lw $a0,0x74($sp)
/* f073894: 0c005b31 */ jal mtx4SetTranslation
/* f073898: 02002825 */ or $a1,$s0,$zero
/* f07389c: 27b104c4 */ addiu $s1,$sp,0x4c4
/* f0738a0: 02202825 */ or $a1,$s1,$zero
/* f0738a4: 0c0060d7 */ jal mtx000172f0
/* f0738a8: 27a40504 */ addiu $a0,$sp,0x504
/* f0738ac: 02002025 */ or $a0,$s0,$zero
/* f0738b0: 02202825 */ or $a1,$s1,$zero
/* f0738b4: 0c005a3c */ jal mtx4MultMtx4
/* f0738b8: 27a60544 */ addiu $a2,$sp,0x544
/* f0738bc: 02402025 */ or $a0,$s2,$zero
/* f0738c0: 0fc1c81a */ jal func0f0732d4
/* f0738c4: 27a50544 */ addiu $a1,$sp,0x544
/* f0738c8: 240b0001 */ addiu $t3,$zero,0x1
/* f0738cc: 10000891 */ beqz $zero,.NB0f075b14
/* f0738d0: afab05d8 */ sw $t3,0x5d8($sp)
.NB0f0738d4:
/* f0738d4: 51a00771 */ beqzl $t5,.NB0f07569c
/* f0738d8: 304d0400 */ andi $t5,$v0,0x400
/* f0738dc: afa00354 */ sw $zero,0x354($sp)
/* f0738e0: afa00350 */ sw $zero,0x350($sp)
/* f0738e4: afa0034c */ sw $zero,0x34c($sp)
/* f0738e8: 8e0e00d0 */ lw $t6,0xd0($s0)
/* f0738ec: 8c6f0034 */ lw $t7,0x34($v1)
/* f0738f0: 30594000 */ andi $t9,$v0,0x4000
/* f0738f4: 01cfc021 */ addu $t8,$t6,$t7
/* f0738f8: 17200003 */ bnez $t9,.NB0f073908
/* f0738fc: ae1800d0 */ sw $t8,0xd0($s0)
/* f073900: 2b012581 */ slti $at,$t8,0x2581
/* f073904: 10200021 */ beqz $at,.NB0f07398c
.NB0f073908:
/* f073908: 3c017f1a */ lui $at,0x7f1a
/* f07390c: c4284710 */ lwc1 $f8,0x4710($at)
/* f073910: c640000c */ lwc1 $f0,0xc($s2)
/* f073914: 3c0146fa */ lui $at,0x46fa
/* f073918: 4608003c */ c.lt.s $f0,$f8
/* f07391c: 00000000 */ sll $zero,$zero,0x0
/* f073920: 4503001b */ bc1tl .NB0f073990
/* f073924: 8e2a0040 */ lw $t2,0x40($s1)
/* f073928: 44811000 */ mtc1 $at,$f2
/* f07392c: 3c01c6fa */ lui $at,0xc6fa
/* f073930: 4600103c */ c.lt.s $f2,$f0
/* f073934: 00000000 */ sll $zero,$zero,0x0
/* f073938: 45030015 */ bc1tl .NB0f073990
/* f07393c: 8e2a0040 */ lw $t2,0x40($s1)
/* f073940: 44816000 */ mtc1 $at,$f12
/* f073944: c6400008 */ lwc1 $f0,0x8($s2)
/* f073948: 460c003c */ c.lt.s $f0,$f12
/* f07394c: 00000000 */ sll $zero,$zero,0x0
/* f073950: 4503000f */ bc1tl .NB0f073990
/* f073954: 8e2a0040 */ lw $t2,0x40($s1)
/* f073958: 4600103c */ c.lt.s $f2,$f0
/* f07395c: 00000000 */ sll $zero,$zero,0x0
/* f073960: 4503000b */ bc1tl .NB0f073990
/* f073964: 8e2a0040 */ lw $t2,0x40($s1)
/* f073968: c6400010 */ lwc1 $f0,0x10($s2)
/* f07396c: 460c003c */ c.lt.s $f0,$f12
/* f073970: 00000000 */ sll $zero,$zero,0x0
/* f073974: 45030006 */ bc1tl .NB0f073990
/* f073978: 8e2a0040 */ lw $t2,0x40($s1)
/* f07397c: 4600103c */ c.lt.s $f2,$f0
/* f073980: 00000000 */ sll $zero,$zero,0x0
/* f073984: 45020005 */ bc1fl .NB0f07399c
/* f073988: 8e0b00a0 */ lw $t3,0xa0($s0)
.NB0f07398c:
/* f07398c: 8e2a0040 */ lw $t2,0x40($s1)
.NB0f073990:
/* f073990: 354c0004 */ ori $t4,$t2,0x4
/* f073994: ae2c0040 */ sw $t4,0x40($s1)
/* f073998: 8e0b00a0 */ lw $t3,0xa0($s0)
.NB0f07399c:
/* f07399c: 8c6d0034 */ lw $t5,0x34($v1)
/* f0739a0: 2624001c */ addiu $a0,$s1,0x1c
/* f0739a4: 27a50358 */ addiu $a1,$sp,0x358
/* f0739a8: 016d7021 */ addu $t6,$t3,$t5
/* f0739ac: ae0e00a0 */ sw $t6,0xa0($s0)
/* f0739b0: 0c005af2 */ jal mtx3Copy
/* f0739b4: afa40078 */ sw $a0,0x78($sp)
/* f0739b8: 8e0f0000 */ lw $t7,0x0($s0)
/* f0739bc: 3c017f1a */ lui $at,0x7f1a
/* f0739c0: 31f80020 */ andi $t8,$t7,0x20
/* f0739c4: 5300004b */ beqzl $t8,.NB0f073af4
/* f0739c8: 922b0003 */ lbu $t3,0x3($s1)
/* f0739cc: c4304714 */ lwc1 $f16,0x4714($at)
/* f0739d0: c600001c */ lwc1 $f0,0x1c($s0)
/* f0739d4: 3c03800a */ lui $v1,0x800a
/* f0739d8: 2463e6c0 */ addiu $v1,$v1,-6464
/* f0739dc: 4610003c */ c.lt.s $f0,$f16
/* f0739e0: 00000000 */ sll $zero,$zero,0x0
/* f0739e4: 4502001b */ bc1fl .NB0f073a54
/* f0739e8: c60000a8 */ lwc1 $f0,0xa8($s0)
/* f0739ec: c60a0014 */ lwc1 $f10,0x14($s0)
/* f0739f0: c464004c */ lwc1 $f4,0x4c($v1)
/* f0739f4: c60800ac */ lwc1 $f8,0xac($s0)
/* f0739f8: 3c017f1a */ lui $at,0x7f1a
/* f0739fc: 46045182 */ mul.s $f6,$f10,$f4
/* f073a00: 46064280 */ add.s $f10,$f8,$f6
/* f073a04: e60a00ac */ swc1 $f10,0xac($s0)
/* f073a08: c468004c */ lwc1 $f8,0x4c($v1)
/* f073a0c: c60400ac */ lwc1 $f4,0xac($s0)
/* f073a10: c60a00a8 */ lwc1 $f10,0xa8($s0)
/* f073a14: 46082182 */ mul.s $f6,$f4,$f8
/* f073a18: 46065100 */ add.s $f4,$f10,$f6
/* f073a1c: e60400a8 */ swc1 $f4,0xa8($s0)
/* f073a20: c46a004c */ lwc1 $f10,0x4c($v1)
/* f073a24: c4284718 */ lwc1 $f8,0x4718($at)
/* f073a28: 460a4182 */ mul.s $f6,$f8,$f10
/* f073a2c: 46060100 */ add.s $f4,$f0,$f6
/* f073a30: e604001c */ swc1 $f4,0x1c($s0)
/* f073a34: c608001c */ lwc1 $f8,0x1c($s0)
/* f073a38: 4608803c */ c.lt.s $f16,$f8
/* f073a3c: 00000000 */ sll $zero,$zero,0x0
/* f073a40: 4502002c */ bc1fl .NB0f073af4
/* f073a44: 922b0003 */ lbu $t3,0x3($s1)
/* f073a48: 10000029 */ beqz $zero,.NB0f073af0
/* f073a4c: e610001c */ swc1 $f16,0x1c($s0)
/* f073a50: c60000a8 */ lwc1 $f0,0xa8($s0)
.NB0f073a54:
/* f073a54: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f073a58: 4600503c */ c.lt.s $f10,$f0
/* f073a5c: 00000000 */ sll $zero,$zero,0x0
/* f073a60: 45000018 */ bc1f .NB0f073ac4
/* f073a64: 3c01800a */ lui $at,0x800a
/* f073a68: c424e70c */ lwc1 $f4,-0x18f4($at)
/* f073a6c: c6060014 */ lwc1 $f6,0x14($s0)
/* f073a70: c60a00ac */ lwc1 $f10,0xac($s0)
/* f073a74: 46043202 */ mul.s $f8,$f6,$f4
/* f073a78: 46085180 */ add.s $f6,$f10,$f8
/* f073a7c: e60600ac */ swc1 $f6,0xac($s0)
/* f073a80: c42ae70c */ lwc1 $f10,-0x18f4($at)
/* f073a84: c60400ac */ lwc1 $f4,0xac($s0)
/* f073a88: 3c017f1a */ lui $at,0x7f1a
/* f073a8c: 460a2202 */ mul.s $f8,$f4,$f10
/* f073a90: 46080180 */ add.s $f6,$f0,$f8
/* f073a94: e60600a8 */ swc1 $f6,0xa8($s0)
/* f073a98: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f073a9c: c60400a8 */ lwc1 $f4,0xa8($s0)
/* f073aa0: c426471c */ lwc1 $f6,0x471c($at)
/* f073aa4: 3c01800a */ lui $at,0x800a
/* f073aa8: 460a2201 */ sub.s $f8,$f4,$f10
/* f073aac: 46083102 */ mul.s $f4,$f6,$f8
/* f073ab0: c426e70c */ lwc1 $f6,-0x18f4($at)
/* f073ab4: 46062202 */ mul.s $f8,$f4,$f6
/* f073ab8: 46085100 */ add.s $f4,$f10,$f8
/* f073abc: 1000000c */ beqz $zero,.NB0f073af0
/* f073ac0: e7a405e0 */ swc1 $f4,0x5e0($sp)
.NB0f073ac4:
/* f073ac4: e7a005e0 */ swc1 $f0,0x5e0($sp)
/* f073ac8: 8e190000 */ lw $t9,0x0($s0)
/* f073acc: 2401ffdf */ addiu $at,$zero,-33
/* f073ad0: 4480a000 */ mtc1 $zero,$f20
/* f073ad4: c60600ac */ lwc1 $f6,0xac($s0)
/* f073ad8: 03214824 */ and $t1,$t9,$at
/* f073adc: ae090000 */ sw $t1,0x0($s0)
/* f073ae0: 352c0010 */ ori $t4,$t1,0x10
/* f073ae4: ae0c0000 */ sw $t4,0x0($s0)
/* f073ae8: e6060008 */ swc1 $f6,0x8($s0)
/* f073aec: e614001c */ swc1 $f20,0x1c($s0)
.NB0f073af0:
/* f073af0: 922b0003 */ lbu $t3,0x3($s1)
.NB0f073af4:
/* f073af4: 4480a000 */ mtc1 $zero,$f20
/* f073af8: 24010008 */ addiu $at,$zero,0x8
/* f073afc: 15610006 */ bne $t3,$at,.NB0f073b18
/* f073b00: 00001025 */ or $v0,$zero,$zero
/* f073b04: 922d005c */ lbu $t5,0x5c($s1)
/* f073b08: 24010053 */ addiu $at,$zero,0x53
/* f073b0c: 15a10002 */ bne $t5,$at,.NB0f073b18
/* f073b10: 00000000 */ sll $zero,$zero,0x0
/* f073b14: 24020001 */ addiu $v0,$zero,0x1
.NB0f073b18:
/* f073b18: 10400129 */ beqz $v0,.NB0f073fc0
/* f073b1c: 3c0f8007 */ lui $t7,0x8007
/* f073b20: 25efc298 */ addiu $t7,$t7,-15720
/* f073b24: 8de10000 */ lw $at,0x0($t7)
/* f073b28: 27ae02f8 */ addiu $t6,$sp,0x2f8
/* f073b2c: 8df90004 */ lw $t9,0x4($t7)
/* f073b30: adc10000 */ sw $at,0x0($t6)
/* f073b34: 8de10008 */ lw $at,0x8($t7)
/* f073b38: 3c0a8007 */ lui $t2,0x8007
/* f073b3c: 254ac2a4 */ addiu $t2,$t2,-15708
/* f073b40: add90004 */ sw $t9,0x4($t6)
/* f073b44: adc10008 */ sw $at,0x8($t6)
/* f073b48: 8d410000 */ lw $at,0x0($t2)
/* f073b4c: 27a902ec */ addiu $t1,$sp,0x2ec
/* f073b50: 8d4b0004 */ lw $t3,0x4($t2)
/* f073b54: ad210000 */ sw $at,0x0($t1)
/* f073b58: 8d410008 */ lw $at,0x8($t2)
/* f073b5c: 3c188007 */ lui $t8,0x8007
/* f073b60: 2718c2b0 */ addiu $t8,$t8,-15696
/* f073b64: ad2b0004 */ sw $t3,0x4($t1)
/* f073b68: ad210008 */ sw $at,0x8($t1)
/* f073b6c: 8f010000 */ lw $at,0x0($t8)
/* f073b70: 27ad02e0 */ addiu $t5,$sp,0x2e0
/* f073b74: 8f0f0004 */ lw $t7,0x4($t8)
/* f073b78: ada10000 */ sw $at,0x0($t5)
/* f073b7c: 8f010008 */ lw $at,0x8($t8)
/* f073b80: adaf0004 */ sw $t7,0x4($t5)
/* f073b84: 1220010e */ beqz $s1,.NB0f073fc0
/* f073b88: ada10008 */ sw $at,0x8($t5)
/* f073b8c: 8e390014 */ lw $t9,0x14($s1)
/* f073b90: 5320010c */ beqzl $t9,.NB0f073fc4
/* f073b94: 8e020000 */ lw $v0,0x0($s0)
/* f073b98: 8e0c00e8 */ lw $t4,0xe8($s0)
/* f073b9c: 51800109 */ beqzl $t4,.NB0f073fc4
/* f073ba0: 8e020000 */ lw $v0,0x0($s0)
/* f073ba4: c622001c */ lwc1 $f2,0x1c($s1)
/* f073ba8: c62e0028 */ lwc1 $f14,0x28($s1)
/* f073bac: c6200034 */ lwc1 $f0,0x34($s1)
/* f073bb0: 46021282 */ mul.s $f10,$f2,$f2
/* f073bb4: 00000000 */ sll $zero,$zero,0x0
/* f073bb8: 460e7202 */ mul.s $f8,$f14,$f14
/* f073bbc: 46085100 */ add.s $f4,$f10,$f8
/* f073bc0: 46000182 */ mul.s $f6,$f0,$f0
/* f073bc4: 0c012e84 */ jal sqrtf
/* f073bc8: 46043300 */ add.s $f12,$f6,$f4
/* f073bcc: 27a402a0 */ addiu $a0,$sp,0x2a0
/* f073bd0: 0c005a28 */ jal mtx4LoadIdentity
/* f073bd4: e7a0029c */ swc1 $f0,0x29c($sp)
/* f073bd8: c7a2029c */ lwc1 $f2,0x29c($sp)
/* f073bdc: c62a001c */ lwc1 $f10,0x1c($s1)
/* f073be0: 27a40290 */ addiu $a0,$sp,0x290
/* f073be4: 27a50294 */ addiu $a1,$sp,0x294
/* f073be8: 46025203 */ div.s $f8,$f10,$f2
/* f073bec: 27a60298 */ addiu $a2,$sp,0x298
/* f073bf0: e7a802a0 */ swc1 $f8,0x2a0($sp)
/* f073bf4: c6260020 */ lwc1 $f6,0x20($s1)
/* f073bf8: 46023103 */ div.s $f4,$f6,$f2
/* f073bfc: e7a402a4 */ swc1 $f4,0x2a4($sp)
/* f073c00: c62a0024 */ lwc1 $f10,0x24($s1)
/* f073c04: 46025203 */ div.s $f8,$f10,$f2
/* f073c08: e7a802a8 */ swc1 $f8,0x2a8($sp)
/* f073c0c: c6260028 */ lwc1 $f6,0x28($s1)
/* f073c10: 46023103 */ div.s $f4,$f6,$f2
/* f073c14: e7a402b0 */ swc1 $f4,0x2b0($sp)
/* f073c18: c62a002c */ lwc1 $f10,0x2c($s1)
/* f073c1c: 46025203 */ div.s $f8,$f10,$f2
/* f073c20: e7a802b4 */ swc1 $f8,0x2b4($sp)
/* f073c24: c6260030 */ lwc1 $f6,0x30($s1)
/* f073c28: 46023103 */ div.s $f4,$f6,$f2
/* f073c2c: e7a402b8 */ swc1 $f4,0x2b8($sp)
/* f073c30: c62a0034 */ lwc1 $f10,0x34($s1)
/* f073c34: 46025203 */ div.s $f8,$f10,$f2
/* f073c38: e7a802c0 */ swc1 $f8,0x2c0($sp)
/* f073c3c: c6260038 */ lwc1 $f6,0x38($s1)
/* f073c40: 46023103 */ div.s $f4,$f6,$f2
/* f073c44: e7a402c4 */ swc1 $f4,0x2c4($sp)
/* f073c48: c62a003c */ lwc1 $f10,0x3c($s1)
/* f073c4c: 46025203 */ div.s $f8,$f10,$f2
/* f073c50: e7a802c8 */ swc1 $f8,0x2c8($sp)
/* f073c54: 8e290014 */ lw $t1,0x14($s1)
/* f073c58: c5260008 */ lwc1 $f6,0x8($t1)
/* f073c5c: e7a602f8 */ swc1 $f6,0x2f8($sp)
/* f073c60: 8e2a0014 */ lw $t2,0x14($s1)
/* f073c64: c7a602f8 */ lwc1 $f6,0x2f8($sp)
/* f073c68: c544000c */ lwc1 $f4,0xc($t2)
/* f073c6c: e7a402fc */ swc1 $f4,0x2fc($sp)
/* f073c70: 8e2b0014 */ lw $t3,0x14($s1)
/* f073c74: c56a0010 */ lwc1 $f10,0x10($t3)
/* f073c78: e7aa0300 */ swc1 $f10,0x300($sp)
/* f073c7c: 8e0e00e8 */ lw $t6,0xe8($s0)
/* f073c80: c5c80008 */ lwc1 $f8,0x8($t6)
/* f073c84: 46064101 */ sub.s $f4,$f8,$f6
/* f073c88: c7a802fc */ lwc1 $f8,0x2fc($sp)
/* f073c8c: e7a40290 */ swc1 $f4,0x290($sp)
/* f073c90: 8e0d00e8 */ lw $t5,0xe8($s0)
/* f073c94: c5aa000c */ lwc1 $f10,0xc($t5)
/* f073c98: 46085181 */ sub.s $f6,$f10,$f8
/* f073c9c: c7aa0300 */ lwc1 $f10,0x300($sp)
/* f073ca0: e7a60294 */ swc1 $f6,0x294($sp)
/* f073ca4: 8e1800e8 */ lw $t8,0xe8($s0)
/* f073ca8: c7040010 */ lwc1 $f4,0x10($t8)
/* f073cac: e7a2029c */ swc1 $f2,0x29c($sp)
/* f073cb0: 460a2201 */ sub.s $f8,$f4,$f10
/* f073cb4: 0c0012a8 */ jal guNormalize
/* f073cb8: e7a80298 */ swc1 $f8,0x298($sp)
/* f073cbc: c6060004 */ lwc1 $f6,0x4($s0)
/* f073cc0: 27a402ec */ addiu $a0,$sp,0x2ec
/* f073cc4: 27a502f0 */ addiu $a1,$sp,0x2f0
/* f073cc8: e7a602ec */ swc1 $f6,0x2ec($sp)
/* f073ccc: c6040008 */ lwc1 $f4,0x8($s0)
/* f073cd0: 27a602f4 */ addiu $a2,$sp,0x2f4
/* f073cd4: e7a402f0 */ swc1 $f4,0x2f0($sp)
/* f073cd8: c60a000c */ lwc1 $f10,0xc($s0)
/* f073cdc: 0c0012a8 */ jal guNormalize
/* f073ce0: e7aa02f4 */ swc1 $f10,0x2f4($sp)
/* f073ce4: c7a80298 */ lwc1 $f8,0x298($sp)
/* f073ce8: c7a602f4 */ lwc1 $f6,0x2f4($sp)
/* f073cec: c7b00290 */ lwc1 $f16,0x290($sp)
/* f073cf0: c7aa02ec */ lwc1 $f10,0x2ec($sp)
/* f073cf4: 46064102 */ mul.s $f4,$f8,$f6
/* f073cf8: c7b20294 */ lwc1 $f18,0x294($sp)
/* f073cfc: c7a602f0 */ lwc1 $f6,0x2f0($sp)
/* f073d00: 46105202 */ mul.s $f8,$f10,$f16
/* f073d04: 00000000 */ sll $zero,$zero,0x0
/* f073d08: 46123282 */ mul.s $f10,$f6,$f18
/* f073d0c: 460a4180 */ add.s $f6,$f8,$f10
/* f073d10: 0fc25258 */ jal acosf
/* f073d14: 46062300 */ add.s $f12,$f4,$f6
/* f073d18: 3c017f1a */ lui $at,0x7f1a
/* f073d1c: c4284724 */ lwc1 $f8,0x4724($at)
/* f073d20: 3c047f1a */ lui $a0,0x7f1a
/* f073d24: c7a2029c */ lwc1 $f2,0x29c($sp)
/* f073d28: 4600403c */ c.lt.s $f8,$f0
/* f073d2c: e7a0028c */ swc1 $f0,0x28c($sp)
/* f073d30: 3c017f1a */ lui $at,0x7f1a
/* f073d34: 248442f0 */ addiu $a0,$a0,0x42f0
/* f073d38: 45010005 */ bc1t .NB0f073d50
/* f073d3c: 3c058007 */ lui $a1,0x8007
/* f073d40: c42a4728 */ lwc1 $f10,0x4728($at)
/* f073d44: 460a003c */ c.lt.s $f0,$f10
/* f073d48: 00000000 */ sll $zero,$zero,0x0
/* f073d4c: 4500009c */ bc1f .NB0f073fc0
.NB0f073d50:
/* f073d50: 24a5c2c8 */ addiu $a1,$a1,-15672
/* f073d54: 0c00381c */ jal mainOverrideVariable
/* f073d58: e7a2029c */ swc1 $f2,0x29c($sp)
/* f073d5c: 3c047f1a */ lui $a0,0x7f1a
/* f073d60: 3c058007 */ lui $a1,0x8007
/* f073d64: 24a5c2cc */ addiu $a1,$a1,-15668
/* f073d68: 0c00381c */ jal mainOverrideVariable
/* f073d6c: 248442f4 */ addiu $a0,$a0,0x42f4
/* f073d70: 3c047f1a */ lui $a0,0x7f1a
/* f073d74: 3c058007 */ lui $a1,0x8007
/* f073d78: 24a5c2d0 */ addiu $a1,$a1,-15664
/* f073d7c: 0c00381c */ jal mainOverrideVariable
/* f073d80: 248442f8 */ addiu $a0,$a0,0x42f8
/* f073d84: 3c0f8007 */ lui $t7,0x8007
/* f073d88: 8defc2cc */ lw $t7,-0x3d34($t7)
/* f073d8c: 3c01800a */ lui $at,0x800a
/* f073d90: c7b00290 */ lwc1 $f16,0x290($sp)
/* f073d94: 448f2000 */ mtc1 $t7,$f4
/* f073d98: c7b20294 */ lwc1 $f18,0x294($sp)
/* f073d9c: c420e704 */ lwc1 $f0,-0x18fc($at)
/* f073da0: 05e10005 */ bgez $t7,.NB0f073db8
/* f073da4: 468021a0 */ cvt.s.w $f6,$f4
/* f073da8: 3c014f80 */ lui $at,0x4f80
/* f073dac: 44814000 */ mtc1 $at,$f8
/* f073db0: 00000000 */ sll $zero,$zero,0x0
/* f073db4: 46083180 */ add.s $f6,$f6,$f8
.NB0f073db8:
/* f073db8: 3c0142c8 */ lui $at,0x42c8
/* f073dbc: 44815000 */ mtc1 $at,$f10
/* f073dc0: 3c018007 */ lui $at,0x8007
/* f073dc4: c428c2c4 */ lwc1 $f8,-0x3d3c($at)
/* f073dc8: 460a3103 */ div.s $f4,$f6,$f10
/* f073dcc: 3c198007 */ lui $t9,0x8007
/* f073dd0: 8f39c2d0 */ lw $t9,-0x3d30($t9)
/* f073dd4: 46082182 */ mul.s $f6,$f4,$f8
/* f073dd8: 44992000 */ mtc1 $t9,$f4
/* f073ddc: 00000000 */ sll $zero,$zero,0x0
/* f073de0: 46802220 */ cvt.s.w $f8,$f4
/* f073de4: 07210005 */ bgez $t9,.NB0f073dfc
/* f073de8: 46003283 */ div.s $f10,$f6,$f0
/* f073dec: 3c014f80 */ lui $at,0x4f80
/* f073df0: 44813000 */ mtc1 $at,$f6
/* f073df4: 00000000 */ sll $zero,$zero,0x0
/* f073df8: 46064200 */ add.s $f8,$f8,$f6
.NB0f073dfc:
/* f073dfc: 3c0142c8 */ lui $at,0x42c8
/* f073e00: 44812000 */ mtc1 $at,$f4
/* f073e04: 3c0c8007 */ lui $t4,0x8007
/* f073e08: 8d8cc2c8 */ lw $t4,-0x3d38($t4)
/* f073e0c: 46044183 */ div.s $f6,$f8,$f4
/* f073e10: c7a8028c */ lwc1 $f8,0x28c($sp)
/* f073e14: 3c014f80 */ lui $at,0x4f80
/* f073e18: 46083102 */ mul.s $f4,$f6,$f8
/* f073e1c: 00000000 */ sll $zero,$zero,0x0
/* f073e20: 46002182 */ mul.s $f6,$f4,$f0
/* f073e24: 46065100 */ add.s $f4,$f10,$f6
/* f073e28: 448c5000 */ mtc1 $t4,$f10
/* f073e2c: 05810004 */ bgez $t4,.NB0f073e40
/* f073e30: 468051a0 */ cvt.s.w $f6,$f10
/* f073e34: 44815000 */ mtc1 $at,$f10
/* f073e38: 00000000 */ sll $zero,$zero,0x0
/* f073e3c: 460a3180 */ add.s $f6,$f6,$f10
.NB0f073e40:
/* f073e40: 3c0142c8 */ lui $at,0x42c8
/* f073e44: 44815000 */ mtc1 $at,$f10
/* f073e48: 3c018007 */ lui $at,0x8007
/* f073e4c: e428c2c4 */ swc1 $f8,-0x3d3c($at)
/* f073e50: 460a3183 */ div.s $f6,$f6,$f10
/* f073e54: c7aa02f0 */ lwc1 $f10,0x2f0($sp)
/* f073e58: c7a802f4 */ lwc1 $f8,0x2f4($sp)
/* f073e5c: 3c013f00 */ lui $at,0x3f00
/* f073e60: 46062382 */ mul.s $f14,$f4,$f6
/* f073e64: c7a40298 */ lwc1 $f4,0x298($sp)
/* f073e68: 46045182 */ mul.s $f6,$f10,$f4
/* f073e6c: 00000000 */ sll $zero,$zero,0x0
/* f073e70: 46089102 */ mul.s $f4,$f18,$f8
/* f073e74: 46043201 */ sub.s $f8,$f6,$f4
/* f073e78: c7a40298 */ lwc1 $f4,0x298($sp)
/* f073e7c: c7a602ec */ lwc1 $f6,0x2ec($sp)
/* f073e80: e7a80280 */ swc1 $f8,0x280($sp)
/* f073e84: 46043202 */ mul.s $f8,$f6,$f4
/* f073e88: c7a602f4 */ lwc1 $f6,0x2f4($sp)
/* f073e8c: 46068102 */ mul.s $f4,$f16,$f6
/* f073e90: 46044181 */ sub.s $f6,$f8,$f4
/* f073e94: c7a402ec */ lwc1 $f4,0x2ec($sp)
/* f073e98: 46003207 */ neg.s $f8,$f6
/* f073e9c: 46122182 */ mul.s $f6,$f4,$f18
/* f073ea0: e7a80284 */ swc1 $f8,0x284($sp)
/* f073ea4: 460a8202 */ mul.s $f8,$f16,$f10
/* f073ea8: 44815000 */ mtc1 $at,$f10
/* f073eac: 00000000 */ sll $zero,$zero,0x0
/* f073eb0: 460a7302 */ mul.s $f12,$f14,$f10
/* f073eb4: 46083101 */ sub.s $f4,$f6,$f8
/* f073eb8: e7ac007c */ swc1 $f12,0x7c($sp)
/* f073ebc: 0c006d52 */ jal cosf
/* f073ec0: e7a40288 */ swc1 $f4,0x288($sp)
/* f073ec4: e7a00260 */ swc1 $f0,0x260($sp)
/* f073ec8: 0c006d55 */ jal sinf
/* f073ecc: c7ac007c */ lwc1 $f12,0x7c($sp)
/* f073ed0: c7a60280 */ lwc1 $f6,0x280($sp)
/* f073ed4: c7ac007c */ lwc1 $f12,0x7c($sp)
/* f073ed8: 46060202 */ mul.s $f8,$f0,$f6
/* f073edc: 0c006d55 */ jal sinf
/* f073ee0: e7a80264 */ swc1 $f8,0x264($sp)
/* f073ee4: c7a40284 */ lwc1 $f4,0x284($sp)
/* f073ee8: c7ac007c */ lwc1 $f12,0x7c($sp)
/* f073eec: 46040282 */ mul.s $f10,$f0,$f4
/* f073ef0: 0c006d55 */ jal sinf
/* f073ef4: e7aa0268 */ swc1 $f10,0x268($sp)
/* f073ef8: c7a60288 */ lwc1 $f6,0x288($sp)
/* f073efc: 27a40260 */ addiu $a0,$sp,0x260
/* f073f00: 27a5020c */ addiu $a1,$sp,0x20c
/* f073f04: 46060202 */ mul.s $f8,$f0,$f6
/* f073f08: 0fc25399 */ jal func0f096ed4
/* f073f0c: e7a8026c */ swc1 $f8,0x26c($sp)
/* f073f10: e6140018 */ swc1 $f20,0x18($s0)
/* f073f14: e6140014 */ swc1 $f20,0x14($s0)
/* f073f18: e6140010 */ swc1 $f20,0x10($s0)
/* f073f1c: 27a4020c */ addiu $a0,$sp,0x20c
/* f073f20: 0c005a80 */ jal mtx4RotateVecInPlace
/* f073f24: 26050004 */ addiu $a1,$s0,0x4
/* f073f28: 27a402a0 */ addiu $a0,$sp,0x2a0
/* f073f2c: 0fc253f5 */ jal func0f097044
/* f073f30: 27a50270 */ addiu $a1,$sp,0x270
/* f073f34: 27a40270 */ addiu $a0,$sp,0x270
/* f073f38: 27a50260 */ addiu $a1,$sp,0x260
/* f073f3c: 0fc255b2 */ jal func0f097738
/* f073f40: 27a60250 */ addiu $a2,$sp,0x250
/* f073f44: 27a40250 */ addiu $a0,$sp,0x250
/* f073f48: 0fc25399 */ jal func0f096ed4
/* f073f4c: 27a5020c */ addiu $a1,$sp,0x20c
/* f073f50: c7a2029c */ lwc1 $f2,0x29c($sp)
/* f073f54: c7a4020c */ lwc1 $f4,0x20c($sp)
/* f073f58: 46022282 */ mul.s $f10,$f4,$f2
/* f073f5c: e62a001c */ swc1 $f10,0x1c($s1)
/* f073f60: c7a60210 */ lwc1 $f6,0x210($sp)
/* f073f64: 46023202 */ mul.s $f8,$f6,$f2
/* f073f68: e6280020 */ swc1 $f8,0x20($s1)
/* f073f6c: c7a40214 */ lwc1 $f4,0x214($sp)
/* f073f70: 46022282 */ mul.s $f10,$f4,$f2
/* f073f74: e62a0024 */ swc1 $f10,0x24($s1)
/* f073f78: c7a6021c */ lwc1 $f6,0x21c($sp)
/* f073f7c: 46023202 */ mul.s $f8,$f6,$f2
/* f073f80: e6280028 */ swc1 $f8,0x28($s1)
/* f073f84: c7a40220 */ lwc1 $f4,0x220($sp)
/* f073f88: 46022282 */ mul.s $f10,$f4,$f2
/* f073f8c: e62a002c */ swc1 $f10,0x2c($s1)
/* f073f90: c7a60224 */ lwc1 $f6,0x224($sp)
/* f073f94: 46023202 */ mul.s $f8,$f6,$f2
/* f073f98: e6280030 */ swc1 $f8,0x30($s1)
/* f073f9c: c7a4022c */ lwc1 $f4,0x22c($sp)
/* f073fa0: 46022282 */ mul.s $f10,$f4,$f2
/* f073fa4: e62a0034 */ swc1 $f10,0x34($s1)
/* f073fa8: c7a60230 */ lwc1 $f6,0x230($sp)
/* f073fac: 46023202 */ mul.s $f8,$f6,$f2
/* f073fb0: e6280038 */ swc1 $f8,0x38($s1)
/* f073fb4: c7a40234 */ lwc1 $f4,0x234($sp)
/* f073fb8: 46022282 */ mul.s $f10,$f4,$f2
/* f073fbc: e62a003c */ swc1 $f10,0x3c($s1)
.NB0f073fc0:
/* f073fc0: 8e020000 */ lw $v0,0x0($s0)
.NB0f073fc4:
/* f073fc4: 3c03800a */ lui $v1,0x800a
/* f073fc8: 2463e6c0 */ addiu $v1,$v1,-6464
/* f073fcc: 3c017f1a */ lui $at,0x7f1a
/* f073fd0: 30490010 */ andi $t1,$v0,0x10
/* f073fd4: c430472c */ lwc1 $f16,0x472c($at)
/* f073fd8: c462004c */ lwc1 $f2,0x4c($v1)
/* f073fdc: c600001c */ lwc1 $f0,0x1c($s0)
/* f073fe0: 1520001e */ bnez $t1,.NB0f07405c
/* f073fe4: c60c0014 */ lwc1 $f12,0x14($s0)
/* f073fe8: 46006200 */ add.s $f8,$f12,$f0
/* f073fec: c6060008 */ lwc1 $f6,0x8($s0)
/* f073ff0: 00025040 */ sll $t2,$v0,0x1
/* f073ff4: 3c017f1a */ lui $at,0x7f1a
/* f073ff8: 46024102 */ mul.s $f4,$f8,$f2
/* f073ffc: 46043280 */ add.s $f10,$f6,$f4
/* f074000: 05410007 */ bgez $t2,.NB0f074020
/* f074004: e60a0008 */ swc1 $f10,0x8($s0)
/* f074008: c462004c */ lwc1 $f2,0x4c($v1)
/* f07400c: c4284730 */ lwc1 $f8,0x4730($at)
/* f074010: c60c0008 */ lwc1 $f12,0x8($s0)
/* f074014: 46024182 */ mul.s $f6,$f8,$f2
/* f074018: 10000005 */ beqz $zero,.NB0f074030
/* f07401c: 46066001 */ sub.s $f0,$f12,$f6
.NB0f074020:
/* f074020: c462004c */ lwc1 $f2,0x4c($v1)
/* f074024: c60c0008 */ lwc1 $f12,0x8($s0)
/* f074028: 46028102 */ mul.s $f4,$f16,$f2
/* f07402c: 46046001 */ sub.s $f0,$f12,$f4
.NB0f074030:
/* f074030: 46006280 */ add.s $f10,$f12,$f0
/* f074034: 3c013f00 */ lui $at,0x3f00
/* f074038: 44813000 */ mtc1 $at,$f6
/* f07403c: 460a1202 */ mul.s $f8,$f2,$f10
/* f074040: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f074044: 46064102 */ mul.s $f4,$f8,$f6
/* f074048: 46045200 */ add.s $f8,$f10,$f4
/* f07404c: e7a805e0 */ swc1 $f8,0x5e0($sp)
/* f074050: e6000008 */ swc1 $f0,0x8($s0)
/* f074054: 1000000c */ beqz $zero,.NB0f074088
/* f074058: c462004c */ lwc1 $f2,0x4c($v1)
.NB0f07405c:
/* f07405c: 46006280 */ add.s $f10,$f12,$f0
/* f074060: c6060008 */ lwc1 $f6,0x8($s0)
/* f074064: 46025102 */ mul.s $f4,$f10,$f2
/* f074068: 46043200 */ add.s $f8,$f6,$f4
/* f07406c: e6080008 */ swc1 $f8,0x8($s0)
/* f074070: c6060008 */ lwc1 $f6,0x8($s0)
/* f074074: c462004c */ lwc1 $f2,0x4c($v1)
/* f074078: c7aa05e0 */ lwc1 $f10,0x5e0($sp)
/* f07407c: 46023102 */ mul.s $f4,$f6,$f2
/* f074080: 46045200 */ add.s $f8,$f10,$f4
/* f074084: e7a805e0 */ swc1 $f8,0x5e0($sp)
.NB0f074088:
/* f074088: c60a0010 */ lwc1 $f10,0x10($s0)
/* f07408c: c6060004 */ lwc1 $f6,0x4($s0)
/* f074090: 27a5030c */ addiu $a1,$sp,0x30c
/* f074094: 46025102 */ mul.s $f4,$f10,$f2
/* f074098: c60a0018 */ lwc1 $f10,0x18($s0)
/* f07409c: 46043200 */ add.s $f8,$f6,$f4
/* f0740a0: e6080004 */ swc1 $f8,0x4($s0)
/* f0740a4: c466004c */ lwc1 $f6,0x4c($v1)
/* f0740a8: c608000c */ lwc1 $f8,0xc($s0)
/* f0740ac: 46065102 */ mul.s $f4,$f10,$f6
/* f0740b0: 46044280 */ add.s $f10,$f8,$f4
/* f0740b4: c6080004 */ lwc1 $f8,0x4($s0)
/* f0740b8: e60a000c */ swc1 $f10,0xc($s0)
/* f0740bc: c462004c */ lwc1 $f2,0x4c($v1)
/* f0740c0: c7a605dc */ lwc1 $f6,0x5dc($sp)
/* f0740c4: 8fa40078 */ lw $a0,0x78($sp)
/* f0740c8: 46024102 */ mul.s $f4,$f8,$f2
/* f0740cc: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f0740d0: 46043280 */ add.s $f10,$f6,$f4
/* f0740d4: e7aa05dc */ swc1 $f10,0x5dc($sp)
/* f0740d8: c606000c */ lwc1 $f6,0xc($s0)
/* f0740dc: 46023102 */ mul.s $f4,$f6,$f2
/* f0740e0: 46044280 */ add.s $f10,$f8,$f4
/* f0740e4: 0c005b11 */ jal mtx3ToMtx4
/* f0740e8: e7aa05e4 */ swc1 $f10,0x5e4($sp)
/* f0740ec: 26050020 */ addiu $a1,$s0,0x20
/* f0740f0: 3c06800a */ lui $a2,0x800a
/* f0740f4: 8cc6e6f4 */ lw $a2,-0x190c($a2)
/* f0740f8: afa50068 */ sw $a1,0x68($sp)
/* f0740fc: 0fc2518a */ jal func0f096698
/* f074100: 27a4030c */ addiu $a0,$sp,0x30c
/* f074104: 27a4030c */ addiu $a0,$sp,0x30c
/* f074108: 0c005b24 */ jal mtx4ToMtx3
/* f07410c: 8fa50078 */ lw $a1,0x78($sp)
/* f074110: c6460008 */ lwc1 $f6,0x8($s2)
/* f074114: 26440028 */ addiu $a0,$s2,0x28
/* f074118: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f07411c: e7a605c8 */ swc1 $f6,0x5c8($sp)
/* f074120: c648000c */ lwc1 $f8,0xc($s2)
/* f074124: e7a805cc */ swc1 $f8,0x5cc($sp)
/* f074128: c6440010 */ lwc1 $f4,0x10($s2)
/* f07412c: afa40070 */ sw $a0,0x70($sp)
/* f074130: 0fc19283 */ jal roomsCopy
/* f074134: e7a405d0 */ swc1 $f4,0x5d0($sp)
/* f074138: 8e040088 */ lw $a0,0x88($s0)
/* f07413c: 50800004 */ beqzl $a0,.NB0f074150
/* f074140: 8e0b0000 */ lw $t3,0x0($s0)
/* f074144: 0fc18cfb */ jal propSetPerimEnabled
/* f074148: 00002825 */ or $a1,$zero,$zero
/* f07414c: 8e0b0000 */ lw $t3,0x0($s0)
.NB0f074150:
/* f074150: 316e0004 */ andi $t6,$t3,0x4
/* f074154: 11c00007 */ beqz $t6,.NB0f074174
/* f074158: 02202025 */ or $a0,$s1,$zero
/* f07415c: 27a505dc */ addiu $a1,$sp,0x5dc
/* f074160: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f074164: 0fc1afd9 */ jal func0f06cd00
/* f074168: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f07416c: 10000007 */ beqz $zero,.NB0f07418c
/* f074170: afa20600 */ sw $v0,0x600($sp)
.NB0f074174:
/* f074174: 02202025 */ or $a0,$s1,$zero
/* f074178: 27a505dc */ addiu $a1,$sp,0x5dc
/* f07417c: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f074180: 0fc1b178 */ jal func0f06d37c
/* f074184: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f074188: afa20600 */ sw $v0,0x600($sp)
.NB0f07418c:
/* f07418c: 8e040088 */ lw $a0,0x88($s0)
/* f074190: 50800004 */ beqzl $a0,.NB0f0741a4
/* f074194: 240d0001 */ addiu $t5,$zero,0x1
/* f074198: 0fc18cfb */ jal propSetPerimEnabled
/* f07419c: 24050001 */ addiu $a1,$zero,0x1
/* f0741a0: 240d0001 */ addiu $t5,$zero,0x1
.NB0f0741a4:
/* f0741a4: afad05d8 */ sw $t5,0x5d8($sp)
/* f0741a8: 8e180000 */ lw $t8,0x0($s0)
/* f0741ac: 330f0004 */ andi $t7,$t8,0x4
/* f0741b0: 51e00305 */ beqzl $t7,.NB0f074dc8
/* f0741b4: 8fab034c */ lw $t3,0x34c($sp)
/* f0741b8: 8fb90600 */ lw $t9,0x600($sp)
/* f0741bc: 3c038007 */ lui $v1,0x8007
/* f0741c0: 572002c7 */ bnezl $t9,.NB0f074ce0
/* f0741c4: 8fb9034c */ lw $t9,0x34c($sp)
/* f0741c8: 8c63c030 */ lw $v1,-0x3fd0($v1)
/* f0741cc: afa001f8 */ sw $zero,0x1f8($sp)
/* f0741d0: afa001f4 */ sw $zero,0x1f4($sp)
/* f0741d4: 5060000a */ beqzl $v1,.NB0f074200
/* f0741d8: 92220003 */ lbu $v0,0x3($s1)
/* f0741dc: afa301f4 */ sw $v1,0x1f4($sp)
/* f0741e0: 8c620018 */ lw $v0,0x18($v1)
/* f0741e4: 10400005 */ beqz $v0,.NB0f0741fc
/* f0741e8: 00401825 */ or $v1,$v0,$zero
.NB0f0741ec:
/* f0741ec: 8c420018 */ lw $v0,0x18($v0)
/* f0741f0: 5440fffe */ bnezl $v0,.NB0f0741ec
/* f0741f4: 00401825 */ or $v1,$v0,$zero
/* f0741f8: afa301f4 */ sw $v1,0x1f4($sp)
.NB0f0741fc:
/* f0741fc: 92220003 */ lbu $v0,0x3($s1)
.NB0f074200:
/* f074200: 2401000d */ addiu $at,$zero,0xd
/* f074204: 8fa901f4 */ lw $t1,0x1f4($sp)
/* f074208: 54410006 */ bnel $v0,$at,.NB0f074224
/* f07420c: 24010008 */ addiu $at,$zero,0x8
/* f074210: 15200030 */ bnez $t1,.NB0f0742d4
/* f074214: 240a0001 */ addiu $t2,$zero,0x1
/* f074218: 1000002e */ beqz $zero,.NB0f0742d4
/* f07421c: afaa01f8 */ sw $t2,0x1f8($sp)
/* f074220: 24010008 */ addiu $at,$zero,0x8
.NB0f074224:
/* f074224: 5441002c */ bnel $v0,$at,.NB0f0742d8
/* f074228: 8faf01f8 */ lw $t7,0x1f8($sp)
/* f07422c: 9227005c */ lbu $a3,0x5c($s1)
/* f074230: 24010022 */ addiu $at,$zero,0x22
/* f074234: 10e10016 */ beq $a3,$at,.NB0f074290
/* f074238: 24010020 */ addiu $at,$zero,0x20
/* f07423c: 10e10014 */ beq $a3,$at,.NB0f074290
/* f074240: 24010021 */ addiu $at,$zero,0x21
/* f074244: 10e10012 */ beq $a3,$at,.NB0f074290
/* f074248: 2401003d */ addiu $at,$zero,0x3d
/* f07424c: 10e10010 */ beq $a3,$at,.NB0f074290
/* f074250: 2401003e */ addiu $at,$zero,0x3e
/* f074254: 10e1000e */ beq $a3,$at,.NB0f074290
/* f074258: 2401003f */ addiu $at,$zero,0x3f
/* f07425c: 10e1000c */ beq $a3,$at,.NB0f074290
/* f074260: 24010055 */ addiu $at,$zero,0x55
/* f074264: 10e1000a */ beq $a3,$at,.NB0f074290
/* f074268: 2401001a */ addiu $at,$zero,0x1a
/* f07426c: 10e10008 */ beq $a3,$at,.NB0f074290
/* f074270: 24010035 */ addiu $at,$zero,0x35
/* f074274: 10e10006 */ beq $a3,$at,.NB0f074290
/* f074278: 2624005c */ addiu $a0,$s1,0x5c
/* f07427c: 0fc2bf02 */ jal gsetHasFunctionFlags
/* f074280: 24050100 */ addiu $a1,$zero,0x100
/* f074284: 50400014 */ beqzl $v0,.NB0f0742d8
/* f074288: 8faf01f8 */ lw $t7,0x1f8($sp)
/* f07428c: 9227005c */ lbu $a3,0x5c($s1)
.NB0f074290:
/* f074290: 240b0001 */ addiu $t3,$zero,0x1
/* f074294: 24010054 */ addiu $at,$zero,0x54
/* f074298: 14e1000e */ bne $a3,$at,.NB0f0742d4
/* f07429c: afab01f8 */ sw $t3,0x1f8($sp)
/* f0742a0: 922e005f */ lbu $t6,0x5f($s1)
/* f0742a4: 24010001 */ addiu $at,$zero,0x1
/* f0742a8: 55c1000b */ bnel $t6,$at,.NB0f0742d8
/* f0742ac: 8faf01f8 */ lw $t7,0x1f8($sp)
/* f0742b0: 862d0062 */ lh $t5,0x62($s1)
/* f0742b4: 24010001 */ addiu $at,$zero,0x1
/* f0742b8: 241801e0 */ addiu $t8,$zero,0x1e0
/* f0742bc: 55a10005 */ bnel $t5,$at,.NB0f0742d4
/* f0742c0: a6380062 */ sh $t8,0x62($s1)
/* f0742c4: afa001f8 */ sw $zero,0x1f8($sp)
/* f0742c8: 10000002 */ beqz $zero,.NB0f0742d4
/* f0742cc: a6200062 */ sh $zero,0x62($s1)
/* f0742d0: a6380062 */ sh $t8,0x62($s1)
.NB0f0742d4:
/* f0742d4: 8faf01f8 */ lw $t7,0x1f8($sp)
.NB0f0742d8:
/* f0742d8: 8fac01f4 */ lw $t4,0x1f4($sp)
/* f0742dc: 51e0005d */ beqzl $t7,.NB0f074454
/* f0742e0: 8fae034c */ lw $t6,0x34c($sp)
/* f0742e4: 92390003 */ lbu $t9,0x3($s1)
/* f0742e8: 24010008 */ addiu $at,$zero,0x8
/* f0742ec: 00001825 */ or $v1,$zero,$zero
/* f0742f0: 17210002 */ bne $t9,$at,.NB0f0742fc
/* f0742f4: 00000000 */ sll $zero,$zero,0x0
/* f0742f8: 02201825 */ or $v1,$s1,$zero
.NB0f0742fc:
/* f0742fc: 51800055 */ beqzl $t4,.NB0f074454
/* f074300: 8fae034c */ lw $t6,0x34c($sp)
/* f074304: 91820000 */ lbu $v0,0x0($t4)
/* f074308: 24010001 */ addiu $at,$zero,0x1
/* f07430c: 8fa901f4 */ lw $t1,0x1f4($sp)
/* f074310: 10410006 */ beq $v0,$at,.NB0f07432c
/* f074314: 3c0f8007 */ lui $t7,0x8007
/* f074318: 24010004 */ addiu $at,$zero,0x4
/* f07431c: 10410003 */ beq $v0,$at,.NB0f07432c
/* f074320: 24010002 */ addiu $at,$zero,0x2
/* f074324: 5441003e */ bnel $v0,$at,.NB0f074420
/* f074328: 24010003 */ addiu $at,$zero,0x3
.NB0f07432c:
/* f07432c: 8d270004 */ lw $a3,0x4($t1)
/* f074330: 8cea0040 */ lw $t2,0x40($a3)
/* f074334: 314b0080 */ andi $t3,$t2,0x80
/* f074338: 11600007 */ beqz $t3,.NB0f074358
/* f07433c: 00000000 */ sll $zero,$zero,0x0
/* f074340: 8cee0048 */ lw $t6,0x48($a3)
/* f074344: 8dcd0000 */ lw $t5,0x0($t6)
/* f074348: 31b80800 */ andi $t8,$t5,0x800
/* f07434c: 17000002 */ bnez $t8,.NB0f074358
/* f074350: 00000000 */ sll $zero,$zero,0x0
/* f074354: afa001f8 */ sw $zero,0x1f8($sp)
.NB0f074358:
/* f074358: 8defc044 */ lw $t7,-0x3fbc($t7)
/* f07435c: 24012710 */ addiu $at,$zero,0x2710
/* f074360: 15e10002 */ bne $t7,$at,.NB0f07436c
/* f074364: 00000000 */ sll $zero,$zero,0x0
/* f074368: afa001f8 */ sw $zero,0x1f8($sp)
.NB0f07436c:
/* f07436c: 50600039 */ beqzl $v1,.NB0f074454
/* f074370: 8fae034c */ lw $t6,0x34c($sp)
/* f074374: 9062005c */ lbu $v0,0x5c($v1)
/* f074378: 24010055 */ addiu $at,$zero,0x55
/* f07437c: 10410003 */ beq $v0,$at,.NB0f07438c
/* f074380: 2401001a */ addiu $at,$zero,0x1a
/* f074384: 54410033 */ bnel $v0,$at,.NB0f074454
/* f074388: 8fae034c */ lw $t6,0x34c($sp)
.NB0f07438c:
/* f07438c: 90e20003 */ lbu $v0,0x3($a3)
/* f074390: 24010008 */ addiu $at,$zero,0x8
/* f074394: 26440008 */ addiu $a0,$s2,0x8
/* f074398: 14410002 */ bne $v0,$at,.NB0f0743a4
/* f07439c: 2406ffff */ addiu $a2,$zero,-1
/* f0743a0: afa001f8 */ sw $zero,0x1f8($sp)
.NB0f0743a4:
/* f0743a4: 2401002a */ addiu $at,$zero,0x2a
/* f0743a8: 10410004 */ beq $v0,$at,.NB0f0743bc
/* f0743ac: 8fa50070 */ lw $a1,0x70($sp)
/* f0743b0: 2401002f */ addiu $at,$zero,0x2f
/* f0743b4: 54410027 */ bnel $v0,$at,.NB0f074454
/* f0743b8: 8fae034c */ lw $t6,0x34c($sp)
.NB0f0743bc:
/* f0743bc: afa301ec */ sw $v1,0x1ec($sp)
/* f0743c0: afa40074 */ sw $a0,0x74($sp)
/* f0743c4: 0fc29877 */ jal bgun0f0a8404
/* f0743c8: afa701e8 */ sw $a3,0x1e8($sp)
/* f0743cc: 8fa401e8 */ lw $a0,0x1e8($sp)
/* f0743d0: 8fa301ec */ lw $v1,0x1ec($sp)
/* f0743d4: 3c0542c8 */ lui $a1,0x42c8
/* f0743d8: 8c99000c */ lw $t9,0xc($a0)
/* f0743dc: 8fa60074 */ lw $a2,0x74($sp)
/* f0743e0: 3c09800a */ lui $t1,0x800a
/* f0743e4: 332c4000 */ andi $t4,$t9,0x4000
/* f0743e8: 5580001a */ bnezl $t4,.NB0f074454
/* f0743ec: 8fae034c */ lw $t6,0x34c($sp)
/* f0743f0: 8d29e94c */ lw $t1,-0x16b4($t1)
/* f0743f4: 9067005c */ lbu $a3,0x5c($v1)
/* f0743f8: afa001f8 */ sw $zero,0x1f8($sp)
/* f0743fc: 0fc20ebd */ jal objTakeGunfire
/* f074400: afa90010 */ sw $t1,0x10($sp)
/* f074404: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f074408: 0fc1bd25 */ jal objDropRecursively
/* f07440c: 00002825 */ or $a1,$zero,$zero
/* f074410: 240a0001 */ addiu $t2,$zero,0x1
/* f074414: 1000000e */ beqz $zero,.NB0f074450
/* f074418: afaa034c */ sw $t2,0x34c($sp)
/* f07441c: 24010003 */ addiu $at,$zero,0x3
.NB0f074420:
/* f074420: 10410004 */ beq $v0,$at,.NB0f074434
/* f074424: 8fab01f4 */ lw $t3,0x1f4($sp)
/* f074428: 24010006 */ addiu $at,$zero,0x6
/* f07442c: 54410009 */ bnel $v0,$at,.NB0f074454
/* f074430: 8fae034c */ lw $t6,0x34c($sp)
.NB0f074434:
/* f074434: 0fc0ce2a */ jal chrGetShield
/* f074438: 8d640004 */ lw $a0,0x4($t3)
/* f07443c: 4600a03c */ c.lt.s $f20,$f0
/* f074440: 00000000 */ sll $zero,$zero,0x0
/* f074444: 45020003 */ bc1fl .NB0f074454
/* f074448: 8fae034c */ lw $t6,0x34c($sp)
/* f07444c: afa001f8 */ sw $zero,0x1f8($sp)
.NB0f074450:
/* f074450: 8fae034c */ lw $t6,0x34c($sp)
.NB0f074454:
/* f074454: 3c0d8007 */ lui $t5,0x8007
/* f074458: 55c00164 */ bnezl $t6,.NB0f0749ec
/* f07445c: 8fb9034c */ lw $t9,0x34c($sp)
/* f074460: 8dadc030 */ lw $t5,-0x3fd0($t5)
/* f074464: 11a00160 */ beqz $t5,.NB0f0749e8
/* f074468: afad006c */ sw $t5,0x6c($sp)
/* f07446c: 92380003 */ lbu $t8,0x3($s1)
/* f074470: 24010008 */ addiu $at,$zero,0x8
/* f074474: 5701015d */ bnel $t8,$at,.NB0f0749ec
/* f074478: 8fb9034c */ lw $t9,0x34c($sp)
/* f07447c: 9227005c */ lbu $a3,0x5c($s1)
/* f074480: 24010055 */ addiu $at,$zero,0x55
/* f074484: 8faf01f4 */ lw $t7,0x1f4($sp)
/* f074488: 10e10003 */ beq $a3,$at,.NB0f074498
/* f07448c: 2401001a */ addiu $at,$zero,0x1a
/* f074490: 54e100aa */ bnel $a3,$at,.NB0f07473c
/* f074494: 24010052 */ addiu $at,$zero,0x52
.NB0f074498:
/* f074498: 91e20000 */ lbu $v0,0x0($t7)
/* f07449c: 24010003 */ addiu $at,$zero,0x3
/* f0744a0: 10410006 */ beq $v0,$at,.NB0f0744bc
/* f0744a4: 24010006 */ addiu $at,$zero,0x6
/* f0744a8: 54410072 */ bnel $v0,$at,.NB0f074674
/* f0744ac: 24010001 */ addiu $at,$zero,0x1
/* f0744b0: 8df90004 */ lw $t9,0x4($t7)
/* f0744b4: 5320006f */ beqzl $t9,.NB0f074674
/* f0744b8: 24010001 */ addiu $at,$zero,0x1
.NB0f0744bc:
/* f0744bc: 8e220048 */ lw $v0,0x48($s1)
/* f0744c0: 8fac01f4 */ lw $t4,0x1f4($sp)
/* f0744c4: 8c490000 */ lw $t1,0x0($v0)
/* f0744c8: 8d840004 */ lw $a0,0x4($t4)
/* f0744cc: 312a0001 */ andi $t2,$t1,0x1
/* f0744d0: 51400146 */ beqzl $t2,.NB0f0749ec
/* f0744d4: 8fb9034c */ lw $t9,0x34c($sp)
/* f0744d8: 8c4b0090 */ lw $t3,0x90($v0)
/* f0744dc: 2627005c */ addiu $a3,$s1,0x5c
/* f0744e0: 5d600142 */ bgtzl $t3,.NB0f0749ec
/* f0744e4: 8fb9034c */ lw $t9,0x34c($sp)
/* f0744e8: 8c4e0088 */ lw $t6,0x88($v0)
/* f0744ec: afa70060 */ sw $a3,0x60($sp)
/* f0744f0: afa401e0 */ sw $a0,0x1e0($sp)
/* f0744f4: 0fc0ce2a */ jal chrGetShield
/* f0744f8: afae01d8 */ sw $t6,0x1d8($sp)
/* f0744fc: 8fa40060 */ lw $a0,0x60($sp)
/* f074500: 0fc2bea2 */ jal gsetGetDamage
/* f074504: e7a001dc */ swc1 $f0,0x1dc($sp)
/* f074508: 3c188007 */ lui $t8,0x8007
/* f07450c: 3c0f8007 */ lui $t7,0x8007
/* f074510: 3c19800a */ lui $t9,0x800a
/* f074514: 3c0c800a */ lui $t4,0x800a
/* f074518: 3c098007 */ lui $t1,0x8007
/* f07451c: 8d29c038 */ lw $t1,-0x3fc8($t1)
/* f074520: 8d8c15a0 */ lw $t4,0x15a0($t4)
/* f074524: 8f3915a4 */ lw $t9,0x15a4($t9)
/* f074528: 8defc030 */ lw $t7,-0x3fd0($t7)
/* f07452c: 8f18c034 */ lw $t8,-0x3fcc($t8)
/* f074530: 8fad01d8 */ lw $t5,0x1d8($sp)
/* f074534: 3c0a8007 */ lui $t2,0x8007
/* f074538: 254ac03c */ addiu $t2,$t2,-16324
/* f07453c: 44050000 */ mfc1 $a1,$f0
/* f074540: 3c06800a */ lui $a2,0x800a
/* f074544: 24c615a8 */ addiu $a2,$a2,0x15a8
/* f074548: afaa0028 */ sw $t2,0x28($sp)
/* f07454c: 8fa70060 */ lw $a3,0x60($sp)
/* f074550: 8fa401e0 */ lw $a0,0x1e0($sp)
/* f074554: afa90024 */ sw $t1,0x24($sp)
/* f074558: afac0020 */ sw $t4,0x20($sp)
/* f07455c: afb9001c */ sw $t9,0x1c($sp)
/* f074560: afaf0018 */ sw $t7,0x18($sp)
/* f074564: afb80014 */ sw $t8,0x14($sp)
/* f074568: 0fc0ceb9 */ jal func0f0341dc
/* f07456c: afad0010 */ sw $t5,0x10($sp)
/* f074570: c7aa01dc */ lwc1 $f10,0x1dc($sp)
/* f074574: 8fab01d8 */ lw $t3,0x1d8($sp)
/* f074578: 3c058007 */ lui $a1,0x8007
/* f07457c: 4614503e */ c.le.s $f10,$f20
/* f074580: 3c068007 */ lui $a2,0x8007
/* f074584: 27a705e8 */ addiu $a3,$sp,0x5e8
/* f074588: 27ad05f4 */ addiu $t5,$sp,0x5f4
/* f07458c: 45020117 */ bc1fl .NB0f0749ec
/* f074590: 8fb9034c */ lw $t9,0x34c($sp)
/* f074594: 51600005 */ beqzl $t3,.NB0f0745ac
/* f074598: afa0008c */ sw $zero,0x8c($sp)
/* f07459c: 8d6e0004 */ lw $t6,0x4($t3)
/* f0745a0: 10000002 */ beqz $zero,.NB0f0745ac
/* f0745a4: afae008c */ sw $t6,0x8c($sp)
/* f0745a8: afa0008c */ sw $zero,0x8c($sp)
.NB0f0745ac:
/* f0745ac: 8fb8008c */ lw $t8,0x8c($sp)
/* f0745b0: 8fa401e0 */ lw $a0,0x1e0($sp)
/* f0745b4: 8ca5c030 */ lw $a1,-0x3fd0($a1)
/* f0745b8: 8cc6c034 */ lw $a2,-0x3fcc($a2)
/* f0745bc: afad0010 */ sw $t5,0x10($sp)
/* f0745c0: 0fc09630 */ jal chrEmitSparks
/* f0745c4: afb80014 */ sw $t8,0x14($sp)
/* f0745c8: 3c0f8007 */ lui $t7,0x8007
/* f0745cc: 8defc030 */ lw $t7,-0x3fd0($t7)
/* f0745d0: 3c04800a */ lui $a0,0x800a
/* f0745d4: 91f90001 */ lbu $t9,0x1($t7)
/* f0745d8: 332c0002 */ andi $t4,$t9,0x2
/* f0745dc: 51800103 */ beqzl $t4,.NB0f0749ec
/* f0745e0: 8fb9034c */ lw $t9,0x34c($sp)
/* f0745e4: 8c8415a0 */ lw $a0,0x15a0($a0)
/* f0745e8: 3c028007 */ lui $v0,0x8007
/* f0745ec: 508000ff */ beqzl $a0,.NB0f0749ec
/* f0745f0: 8fb9034c */ lw $t9,0x34c($sp)
/* f0745f4: 8c42c034 */ lw $v0,-0x3fcc($v0)
/* f0745f8: 24010064 */ addiu $at,$zero,0x64
/* f0745fc: 104100fa */ beq $v0,$at,.NB0f0749e8
/* f074600: 2401006e */ addiu $at,$zero,0x6e
/* f074604: 104100f8 */ beq $v0,$at,.NB0f0749e8
/* f074608: 3c05800a */ lui $a1,0x800a
/* f07460c: 8ca515a4 */ lw $a1,0x15a4($a1)
/* f074610: 0c006dcf */ jal model0001a5cc
/* f074614: 00003025 */ or $a2,$zero,$zero
/* f074618: 0fc2cd16 */ jal currentPlayerGetMatrix1740
/* f07461c: afa20188 */ sw $v0,0x188($sp)
/* f074620: 00402025 */ or $a0,$v0,$zero
/* f074624: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f074628: 0c005a96 */ jal mtx4TransformVec
/* f07462c: 27a601cc */ addiu $a2,$sp,0x1cc
/* f074630: 8fa40188 */ lw $a0,0x188($sp)
/* f074634: 0c006082 */ jal mtx0001719c
/* f074638: 27a5018c */ addiu $a1,$sp,0x18c
/* f07463c: 27a4018c */ addiu $a0,$sp,0x18c
/* f074640: 0c005a95 */ jal mtx4TransformVecInPlace
/* f074644: 27a501cc */ addiu $a1,$sp,0x1cc
/* f074648: 3c04800a */ lui $a0,0x800a
/* f07464c: 3c058007 */ lui $a1,0x8007
/* f074650: 3c06800a */ lui $a2,0x800a
/* f074654: 8cc615a4 */ lw $a2,0x15a4($a2)
/* f074658: 8ca5c034 */ lw $a1,-0x3fcc($a1)
/* f07465c: 8c8415a0 */ lw $a0,0x15a0($a0)
/* f074660: 0fc096b8 */ jal chr0f0260c4
/* f074664: 27a701cc */ addiu $a3,$sp,0x1cc
/* f074668: 100000e0 */ beqz $zero,.NB0f0749ec
/* f07466c: 8fb9034c */ lw $t9,0x34c($sp)
/* f074670: 24010001 */ addiu $at,$zero,0x1
.NB0f074674:
/* f074674: 144100dc */ bne $v0,$at,.NB0f0749e8
/* f074678: 8fa6006c */ lw $a2,0x6c($sp)
/* f07467c: 8fa901f4 */ lw $t1,0x1f4($sp)
/* f074680: 3c0b8007 */ lui $t3,0x8007
/* f074684: 8d6bc044 */ lw $t3,-0x3fbc($t3)
/* f074688: 8d2a0004 */ lw $t2,0x4($t1)
/* f07468c: 24012710 */ addiu $at,$zero,0x2710
/* f074690: 15610019 */ bne $t3,$at,.NB0f0746f8
/* f074694: afaa0184 */ sw $t2,0x184($sp)
/* f074698: 8d4e0010 */ lw $t6,0x10($t2)
/* f07469c: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f0746a0: 3c07800a */ lui $a3,0x800a
/* f0746a4: 31cd1000 */ andi $t5,$t6,0x1000
/* f0746a8: 11a00005 */ beqz $t5,.NB0f0746c0
/* f0746ac: 3c18800a */ lui $t8,0x800a
/* f0746b0: 3c014080 */ lui $at,0x4080
/* f0746b4: 44810000 */ mtc1 $at,$f0
/* f0746b8: 10000004 */ beqz $zero,.NB0f0746cc
/* f0746bc: 00000000 */ sll $zero,$zero,0x0
.NB0f0746c0:
/* f0746c0: 3c014100 */ lui $at,0x4100
/* f0746c4: 44810000 */ mtc1 $at,$f0
/* f0746c8: 00000000 */ sll $zero,$zero,0x0
.NB0f0746cc:
/* f0746cc: 3c0f8007 */ lui $t7,0x8007
/* f0746d0: 8defc038 */ lw $t7,-0x3fc8($t7)
/* f0746d4: 8f1815a0 */ lw $t8,0x15a0($t8)
/* f0746d8: 3c198007 */ lui $t9,0x8007
/* f0746dc: 2739c03c */ addiu $t9,$t9,-16324
/* f0746e0: 44050000 */ mfc1 $a1,$f0
/* f0746e4: afb90018 */ sw $t9,0x18($sp)
/* f0746e8: 8ce715a4 */ lw $a3,0x15a4($a3)
/* f0746ec: afaf0014 */ sw $t7,0x14($sp)
/* f0746f0: 0fc0a24a */ jal shieldhitCreate
/* f0746f4: afb80010 */ sw $t8,0x10($sp)
.NB0f0746f8:
/* f0746f8: 8fac0184 */ lw $t4,0x184($sp)
/* f0746fc: 2401014c */ addiu $at,$zero,0x14c
/* f074700: 3c0b8007 */ lui $t3,0x8007
/* f074704: 85890004 */ lh $t1,0x4($t4)
/* f074708: 552100b8 */ bnel $t1,$at,.NB0f0749ec
/* f07470c: 8fb9034c */ lw $t9,0x34c($sp)
/* f074710: 8d6bc044 */ lw $t3,-0x3fbc($t3)
/* f074714: 24010b9e */ addiu $at,$zero,0xb9e
/* f074718: 01802025 */ or $a0,$t4,$zero
/* f07471c: 556100b3 */ bnel $t3,$at,.NB0f0749ec
/* f074720: 8fb9034c */ lw $t9,0x34c($sp)
/* f074724: 4406a000 */ mfc1 $a2,$f20
/* f074728: 0fc66b34 */ jal frCalculateHit
/* f07472c: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f074730: 100000ae */ beqz $zero,.NB0f0749ec
/* f074734: 8fb9034c */ lw $t9,0x34c($sp)
/* f074738: 24010052 */ addiu $at,$zero,0x52
.NB0f07473c:
/* f07473c: 10e10004 */ beq $a3,$at,.NB0f074750
/* f074740: 8fad006c */ lw $t5,0x6c($sp)
/* f074744: 24010053 */ addiu $at,$zero,0x53
/* f074748: 14e1006b */ bne $a3,$at,.NB0f0748f8
/* f07474c: 8fae01f4 */ lw $t6,0x1f4($sp)
.NB0f074750:
/* f074750: 8e230040 */ lw $v1,0x40($s1)
/* f074754: 3c01f000 */ lui $at,0xf000
/* f074758: 91a20000 */ lbu $v0,0x0($t5)
/* f07475c: 00615024 */ and $t2,$v1,$at
/* f074760: 000a4702 */ srl $t0,$t2,0x1c
/* f074764: 24010003 */ addiu $at,$zero,0x3
/* f074768: 24180001 */ addiu $t8,$zero,0x1
/* f07476c: 01001825 */ or $v1,$t0,$zero
/* f074770: 10410006 */ beq $v0,$at,.NB0f07478c
/* f074774: afb8034c */ sw $t8,0x34c($sp)
/* f074778: 24010006 */ addiu $at,$zero,0x6
/* f07477c: 5441002b */ bnel $v0,$at,.NB0f07482c
/* f074780: 24010001 */ addiu $at,$zero,0x1
/* f074784: 8daf0004 */ lw $t7,0x4($t5)
/* f074788: 11e00027 */ beqz $t7,.NB0f074828
.NB0f07478c:
/* f07478c: 3c19800a */ lui $t9,0x800a
/* f074790: 8f39e9d8 */ lw $t9,-0x1628($t9)
/* f074794: 00602025 */ or $a0,$v1,$zero
/* f074798: 00004025 */ or $t0,$zero,$zero
/* f07479c: 13200008 */ beqz $t9,.NB0f0747c0
/* f0747a0: 2627005c */ addiu $a3,$s1,0x5c
/* f0747a4: afa70060 */ sw $a3,0x60($sp)
/* f0747a8: 0fc61c91 */ jal mpGetChrFromPlayerIndex
/* f0747ac: afa00178 */ sw $zero,0x178($sp)
/* f0747b0: 8fa70060 */ lw $a3,0x60($sp)
/* f0747b4: 10400002 */ beqz $v0,.NB0f0747c0
/* f0747b8: 8fa80178 */ lw $t0,0x178($sp)
/* f0747bc: 8c48001c */ lw $t0,0x1c($v0)
.NB0f0747c0:
/* f0747c0: 3c028007 */ lui $v0,0x8007
/* f0747c4: 8c42c030 */ lw $v0,-0x3fd0($v0)
/* f0747c8: 3c098007 */ lui $t1,0x8007
/* f0747cc: 3c0b800a */ lui $t3,0x800a
/* f0747d0: 8c440004 */ lw $a0,0x4($v0)
/* f0747d4: 3c0c800a */ lui $t4,0x800a
/* f0747d8: 3c0a8007 */ lui $t2,0x8007
/* f0747dc: 8d4ac038 */ lw $t2,-0x3fc8($t2)
/* f0747e0: 8d8c15a0 */ lw $t4,0x15a0($t4)
/* f0747e4: 8d6b15a4 */ lw $t3,0x15a4($t3)
/* f0747e8: 8d29c034 */ lw $t1,-0x3fcc($t1)
/* f0747ec: 3c0e8007 */ lui $t6,0x8007
/* f0747f0: 25cec03c */ addiu $t6,$t6,-16324
/* f0747f4: 3c06800a */ lui $a2,0x800a
/* f0747f8: 24c615a8 */ addiu $a2,$a2,0x15a8
/* f0747fc: afae0028 */ sw $t6,0x28($sp)
/* f074800: afa80010 */ sw $t0,0x10($sp)
/* f074804: 3c054000 */ lui $a1,0x4000
/* f074808: afa20018 */ sw $v0,0x18($sp)
/* f07480c: afaa0024 */ sw $t2,0x24($sp)
/* f074810: afac0020 */ sw $t4,0x20($sp)
/* f074814: afab001c */ sw $t3,0x1c($sp)
/* f074818: 0fc0ceb9 */ jal func0f0341dc
/* f07481c: afa90014 */ sw $t1,0x14($sp)
/* f074820: 10000030 */ beqz $zero,.NB0f0748e4
/* f074824: 02202025 */ or $a0,$s1,$zero
.NB0f074828:
/* f074828: 24010001 */ addiu $at,$zero,0x1
.NB0f07482c:
/* f07482c: 10410003 */ beq $v0,$at,.NB0f07483c
/* f074830: 8fa6006c */ lw $a2,0x6c($sp)
/* f074834: 24010004 */ addiu $at,$zero,0x4
/* f074838: 14410029 */ bne $v0,$at,.NB0f0748e0
.NB0f07483c:
/* f07483c: 3c0d8007 */ lui $t5,0x8007
/* f074840: 8dadc044 */ lw $t5,-0x3fbc($t5)
/* f074844: 26580008 */ addiu $t8,$s2,0x8
/* f074848: afb80074 */ sw $t8,0x74($sp)
/* f07484c: 24012710 */ addiu $at,$zero,0x2710
/* f074850: 15a1001f */ bne $t5,$at,.NB0f0748d0
/* f074854: 8cc40004 */ lw $a0,0x4($a2)
/* f074858: 8c8f0010 */ lw $t7,0x10($a0)
/* f07485c: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f074860: 3c07800a */ lui $a3,0x800a
/* f074864: 31f91000 */ andi $t9,$t7,0x1000
/* f074868: 13200005 */ beqz $t9,.NB0f074880
/* f07486c: 3c09800a */ lui $t1,0x800a
/* f074870: 3c014080 */ lui $at,0x4080
/* f074874: 44810000 */ mtc1 $at,$f0
/* f074878: 10000004 */ beqz $zero,.NB0f07488c
/* f07487c: 00000000 */ sll $zero,$zero,0x0
.NB0f074880:
/* f074880: 3c014100 */ lui $at,0x4100
/* f074884: 44810000 */ mtc1 $at,$f0
/* f074888: 00000000 */ sll $zero,$zero,0x0
.NB0f07488c:
/* f07488c: 3c0b8007 */ lui $t3,0x8007
/* f074890: 8d6bc038 */ lw $t3,-0x3fc8($t3)
/* f074894: 8d2915a0 */ lw $t1,0x15a0($t1)
/* f074898: 3c0c8007 */ lui $t4,0x8007
/* f07489c: 258cc03c */ addiu $t4,$t4,-16324
/* f0748a0: 44050000 */ mfc1 $a1,$f0
/* f0748a4: afac0018 */ sw $t4,0x18($sp)
/* f0748a8: 8ce715a4 */ lw $a3,0x15a4($a3)
/* f0748ac: afa80180 */ sw $t0,0x180($sp)
/* f0748b0: afab0014 */ sw $t3,0x14($sp)
/* f0748b4: 0fc0a24a */ jal shieldhitCreate
/* f0748b8: afa90010 */ sw $t1,0x10($sp)
/* f0748bc: 3c0a8007 */ lui $t2,0x8007
/* f0748c0: 8d4ac030 */ lw $t2,-0x3fd0($t2)
/* f0748c4: 8fa80180 */ lw $t0,0x180($sp)
/* f0748c8: 9227005c */ lbu $a3,0x5c($s1)
/* f0748cc: 8d440004 */ lw $a0,0x4($t2)
.NB0f0748d0:
/* f0748d0: 3c0542c8 */ lui $a1,0x42c8
/* f0748d4: 8fa60074 */ lw $a2,0x74($sp)
/* f0748d8: 0fc20ecc */ jal objDamage
/* f0748dc: afa80010 */ sw $t0,0x10($sp)
.NB0f0748e0:
/* f0748e0: 02202025 */ or $a0,$s1,$zero
.NB0f0748e4:
/* f0748e4: 24050001 */ addiu $a1,$zero,0x1
/* f0748e8: 0fc1a3b7 */ jal func0f069c70
/* f0748ec: 24060001 */ addiu $a2,$zero,0x1
/* f0748f0: 1000003d */ beqz $zero,.NB0f0749e8
/* f0748f4: a6200062 */ sh $zero,0x62($s1)
.NB0f0748f8:
/* f0748f8: 91c20000 */ lbu $v0,0x0($t6)
/* f0748fc: 24010003 */ addiu $at,$zero,0x3
/* f074900: 8fa6006c */ lw $a2,0x6c($sp)
/* f074904: 10410006 */ beq $v0,$at,.NB0f074920
/* f074908: 8fad01f4 */ lw $t5,0x1f4($sp)
/* f07490c: 24010006 */ addiu $at,$zero,0x6
/* f074910: 54410012 */ bnel $v0,$at,.NB0f07495c
/* f074914: 24010001 */ addiu $at,$zero,0x1
/* f074918: 8dd80004 */ lw $t8,0x4($t6)
/* f07491c: 1300000e */ beqz $t8,.NB0f074958
.NB0f074920:
/* f074920: 3c0f8007 */ lui $t7,0x8007
/* f074924: 8defc038 */ lw $t7,-0x3fc8($t7)
/* f074928: 3c198007 */ lui $t9,0x8007
/* f07492c: 8da40004 */ lw $a0,0x4($t5)
/* f074930: 2739c03c */ addiu $t9,$t9,-16324
/* f074934: 3c05800a */ lui $a1,0x800a
/* f074938: 3c07800a */ lui $a3,0x800a
/* f07493c: 8ce715a0 */ lw $a3,0x15a0($a3)
/* f074940: 8ca515a4 */ lw $a1,0x15a4($a1)
/* f074944: afb90014 */ sw $t9,0x14($sp)
/* f074948: 0fc0ce62 */ jal func0f034080
/* f07494c: afaf0010 */ sw $t7,0x10($sp)
/* f074950: 10000026 */ beqz $zero,.NB0f0749ec
/* f074954: 8fb9034c */ lw $t9,0x34c($sp)
.NB0f074958:
/* f074958: 24010001 */ addiu $at,$zero,0x1
.NB0f07495c:
/* f07495c: 10410004 */ beq $v0,$at,.NB0f074970
/* f074960: 3c098007 */ lui $t1,0x8007
/* f074964: 24010004 */ addiu $at,$zero,0x4
/* f074968: 54410020 */ bnel $v0,$at,.NB0f0749ec
/* f07496c: 8fb9034c */ lw $t9,0x34c($sp)
.NB0f074970:
/* f074970: 8d29c044 */ lw $t1,-0x3fbc($t1)
/* f074974: 24012710 */ addiu $at,$zero,0x2710
/* f074978: 8fab01f4 */ lw $t3,0x1f4($sp)
/* f07497c: 1521001a */ bne $t1,$at,.NB0f0749e8
/* f074980: 8fa6006c */ lw $a2,0x6c($sp)
/* f074984: 8d6c0004 */ lw $t4,0x4($t3)
/* f074988: 8fa401f4 */ lw $a0,0x1f4($sp)
/* f07498c: 3c07800a */ lui $a3,0x800a
/* f074990: 8d8a0010 */ lw $t2,0x10($t4)
/* f074994: 3c18800a */ lui $t8,0x800a
/* f074998: 3c0d8007 */ lui $t5,0x8007
/* f07499c: 314e1000 */ andi $t6,$t2,0x1000
/* f0749a0: 11c00005 */ beqz $t6,.NB0f0749b8
/* f0749a4: 3c0f8007 */ lui $t7,0x8007
/* f0749a8: 3c014080 */ lui $at,0x4080
/* f0749ac: 44810000 */ mtc1 $at,$f0
/* f0749b0: 10000004 */ beqz $zero,.NB0f0749c4
/* f0749b4: 00000000 */ sll $zero,$zero,0x0
.NB0f0749b8:
/* f0749b8: 3c014100 */ lui $at,0x4100
/* f0749bc: 44810000 */ mtc1 $at,$f0
/* f0749c0: 00000000 */ sll $zero,$zero,0x0
.NB0f0749c4:
/* f0749c4: 8f1815a0 */ lw $t8,0x15a0($t8)
/* f0749c8: 8dadc038 */ lw $t5,-0x3fc8($t5)
/* f0749cc: 44050000 */ mfc1 $a1,$f0
/* f0749d0: 25efc03c */ addiu $t7,$t7,-16324
/* f0749d4: afaf0018 */ sw $t7,0x18($sp)
/* f0749d8: 8ce715a4 */ lw $a3,0x15a4($a3)
/* f0749dc: afb80010 */ sw $t8,0x10($sp)
/* f0749e0: 0fc0a24a */ jal shieldhitCreate
/* f0749e4: afad0014 */ sw $t5,0x14($sp)
.NB0f0749e8:
/* f0749e8: 8fb9034c */ lw $t9,0x34c($sp)
.NB0f0749ec:
/* f0749ec: 8fa901f8 */ lw $t1,0x1f8($sp)
/* f0749f0: 572000bb */ bnezl $t9,.NB0f074ce0
/* f0749f4: 8fb9034c */ lw $t9,0x34c($sp)
/* f0749f8: 112000b8 */ beqz $t1,.NB0f074cdc
/* f0749fc: 240b0001 */ addiu $t3,$zero,0x1
/* f074a00: afab034c */ sw $t3,0x34c($sp)
/* f074a04: 02202025 */ or $a0,$s1,$zero
/* f074a08: 24050001 */ addiu $a1,$zero,0x1
/* f074a0c: 0fc1a3b7 */ jal func0f069c70
/* f074a10: 24060001 */ addiu $a2,$zero,0x1
/* f074a14: 922c0003 */ lbu $t4,0x3($s1)
/* f074a18: 24010008 */ addiu $at,$zero,0x8
/* f074a1c: 558100ab */ bnel $t4,$at,.NB0f074ccc
/* f074a20: 02402025 */ or $a0,$s2,$zero
/* f074a24: 9227005c */ lbu $a3,0x5c($s1)
/* f074a28: 24010055 */ addiu $at,$zero,0x55
/* f074a2c: 10e10003 */ beq $a3,$at,.NB0f074a3c
/* f074a30: 2401001a */ addiu $at,$zero,0x1a
/* f074a34: 54e100a5 */ bnel $a3,$at,.NB0f074ccc
/* f074a38: 02402025 */ or $a0,$s2,$zero
.NB0f074a3c:
/* f074a3c: 8e2a0048 */ lw $t2,0x48($s1)
/* f074a40: 8d440088 */ lw $a0,0x88($t2)
/* f074a44: 5080006b */ beqzl $a0,.NB0f074bf4
/* f074a48: 8fa301f4 */ lw $v1,0x1f4($sp)
/* f074a4c: 908e0000 */ lbu $t6,0x0($a0)
/* f074a50: 24010006 */ addiu $at,$zero,0x6
/* f074a54: 3c18800a */ lui $t8,0x800a
/* f074a58: 15c10065 */ bne $t6,$at,.NB0f074bf0
/* f074a5c: 2627005c */ addiu $a3,$s1,0x5c
/* f074a60: 8f18e94c */ lw $t8,-0x16b4($t8)
/* f074a64: afa70060 */ sw $a3,0x60($sp)
/* f074a68: 0fc48d6f */ jal propGetPlayerNum
/* f074a6c: afb80164 */ sw $t8,0x164($sp)
/* f074a70: 0fc48d5b */ jal setCurrentPlayerNum
/* f074a74: 00402025 */ or $a0,$v0,$zero
/* f074a78: 8fa40060 */ lw $a0,0x60($sp)
/* f074a7c: 0fc2b860 */ jal mpstatsIncrementPlayerShotCount
/* f074a80: 00002825 */ or $a1,$zero,$zero
/* f074a84: 3c058007 */ lui $a1,0x8007
/* f074a88: 8ca5c030 */ lw $a1,-0x3fd0($a1)
/* f074a8c: 8fa70060 */ lw $a3,0x60($sp)
/* f074a90: 10a00055 */ beqz $a1,.NB0f074be8
/* f074a94: 00000000 */ sll $zero,$zero,0x0
/* f074a98: 90a20000 */ lbu $v0,0x0($a1)
/* f074a9c: 24010001 */ addiu $at,$zero,0x1
/* f074aa0: 5441000c */ bnel $v0,$at,.NB0f074ad4
/* f074aa4: 24010003 */ addiu $at,$zero,0x3
/* f074aa8: 8ca40004 */ lw $a0,0x4($a1)
/* f074aac: 0fc21481 */ jal objIsHealthy
/* f074ab0: afa70060 */ sw $a3,0x60($sp)
/* f074ab4: 1040004c */ beqz $v0,.NB0f074be8
/* f074ab8: 8fa70060 */ lw $a3,0x60($sp)
/* f074abc: 00e02025 */ or $a0,$a3,$zero
/* f074ac0: 0fc2b860 */ jal mpstatsIncrementPlayerShotCount
/* f074ac4: 24050006 */ addiu $a1,$zero,0x6
/* f074ac8: 10000047 */ beqz $zero,.NB0f074be8
/* f074acc: 00000000 */ sll $zero,$zero,0x0
/* f074ad0: 24010003 */ addiu $at,$zero,0x3
.NB0f074ad4:
/* f074ad4: 10410003 */ beq $v0,$at,.NB0f074ae4
/* f074ad8: 24010006 */ addiu $at,$zero,0x6
/* f074adc: 14410042 */ bne $v0,$at,.NB0f074be8
/* f074ae0: 00000000 */ sll $zero,$zero,0x0
.NB0f074ae4:
/* f074ae4: 8ca30004 */ lw $v1,0x4($a1)
/* f074ae8: 00003025 */ or $a2,$zero,$zero
/* f074aec: 00a02025 */ or $a0,$a1,$zero
/* f074af0: 50600007 */ beqzl $v1,.NB0f074b10
/* f074af4: 24010006 */ addiu $at,$zero,0x6
/* f074af8: 806d0007 */ lb $t5,0x7($v1)
/* f074afc: 24010005 */ addiu $at,$zero,0x5
/* f074b00: 55a10003 */ bnel $t5,$at,.NB0f074b10
/* f074b04: 24010006 */ addiu $at,$zero,0x6
/* f074b08: 24060001 */ addiu $a2,$zero,0x1
/* f074b0c: 24010006 */ addiu $at,$zero,0x6
.NB0f074b10:
/* f074b10: 1441000e */ bne $v0,$at,.NB0f074b4c
/* f074b14: 00000000 */ sll $zero,$zero,0x0
/* f074b18: afa6015c */ sw $a2,0x15c($sp)
/* f074b1c: 0fc48d6f */ jal propGetPlayerNum
/* f074b20: afa70060 */ sw $a3,0x60($sp)
/* f074b24: 00027880 */ sll $t7,$v0,0x2
/* f074b28: 3c19800a */ lui $t9,0x800a
/* f074b2c: 032fc821 */ addu $t9,$t9,$t7
/* f074b30: 8f39e724 */ lw $t9,-0x18dc($t9)
/* f074b34: 8fa6015c */ lw $a2,0x15c($sp)
/* f074b38: 8fa70060 */ lw $a3,0x60($sp)
/* f074b3c: 8f2900d8 */ lw $t1,0xd8($t9)
/* f074b40: 11200002 */ beqz $t1,.NB0f074b4c
/* f074b44: 00000000 */ sll $zero,$zero,0x0
/* f074b48: 24060001 */ addiu $a2,$zero,0x1
.NB0f074b4c:
/* f074b4c: 14c00026 */ bnez $a2,.NB0f074be8
/* f074b50: 3c0b8007 */ lui $t3,0x8007
/* f074b54: 8d6bc034 */ lw $t3,-0x3fcc($t3)
/* f074b58: 24010007 */ addiu $at,$zero,0x7
/* f074b5c: 11600022 */ beqz $t3,.NB0f074be8
/* f074b60: afab008c */ sw $t3,0x8c($sp)
/* f074b64: 1161001a */ beq $t3,$at,.NB0f074bd0
/* f074b68: 00e02025 */ or $a0,$a3,$zero
/* f074b6c: 24010008 */ addiu $at,$zero,0x8
/* f074b70: 1161000b */ beq $t3,$at,.NB0f074ba0
/* f074b74: 24050001 */ addiu $a1,$zero,0x1
/* f074b78: 2401000f */ addiu $at,$zero,0xf
/* f074b7c: 11610014 */ beq $t3,$at,.NB0f074bd0
/* f074b80: 24010064 */ addiu $at,$zero,0x64
/* f074b84: 1161000a */ beq $t3,$at,.NB0f074bb0
/* f074b88: 00e02025 */ or $a0,$a3,$zero
/* f074b8c: 2401006e */ addiu $at,$zero,0x6e
/* f074b90: 1161000b */ beq $t3,$at,.NB0f074bc0
/* f074b94: 00e02025 */ or $a0,$a3,$zero
/* f074b98: 10000011 */ beqz $zero,.NB0f074be0
/* f074b9c: 00e02025 */ or $a0,$a3,$zero
.NB0f074ba0:
/* f074ba0: 0fc2b860 */ jal mpstatsIncrementPlayerShotCount
/* f074ba4: 00e02025 */ or $a0,$a3,$zero
/* f074ba8: 1000000f */ beqz $zero,.NB0f074be8
/* f074bac: 00000000 */ sll $zero,$zero,0x0
.NB0f074bb0:
/* f074bb0: 0fc2b860 */ jal mpstatsIncrementPlayerShotCount
/* f074bb4: 24050004 */ addiu $a1,$zero,0x4
/* f074bb8: 1000000b */ beqz $zero,.NB0f074be8
/* f074bbc: 00000000 */ sll $zero,$zero,0x0
.NB0f074bc0:
/* f074bc0: 0fc2b860 */ jal mpstatsIncrementPlayerShotCount
/* f074bc4: 24050005 */ addiu $a1,$zero,0x5
/* f074bc8: 10000007 */ beqz $zero,.NB0f074be8
/* f074bcc: 00000000 */ sll $zero,$zero,0x0
.NB0f074bd0:
/* f074bd0: 0fc2b860 */ jal mpstatsIncrementPlayerShotCount
/* f074bd4: 24050002 */ addiu $a1,$zero,0x2
/* f074bd8: 10000003 */ beqz $zero,.NB0f074be8
/* f074bdc: 00000000 */ sll $zero,$zero,0x0
.NB0f074be0:
/* f074be0: 0fc2b860 */ jal mpstatsIncrementPlayerShotCount
/* f074be4: 24050003 */ addiu $a1,$zero,0x3
.NB0f074be8:
/* f074be8: 0fc48d5b */ jal setCurrentPlayerNum
/* f074bec: 8fa40164 */ lw $a0,0x164($sp)
.NB0f074bf0:
/* f074bf0: 8fa301f4 */ lw $v1,0x1f4($sp)
.NB0f074bf4:
/* f074bf4: 5060000a */ beqzl $v1,.NB0f074c20
/* f074bf8: 8e2c0048 */ lw $t4,0x48($s1)
/* f074bfc: 90620000 */ lbu $v0,0x0($v1)
/* f074c00: 24010001 */ addiu $at,$zero,0x1
/* f074c04: 10410005 */ beq $v0,$at,.NB0f074c1c
/* f074c08: 24010004 */ addiu $at,$zero,0x4
/* f074c0c: 10410003 */ beq $v0,$at,.NB0f074c1c
/* f074c10: 24010002 */ addiu $at,$zero,0x2
/* f074c14: 5441002d */ bnel $v0,$at,.NB0f074ccc
/* f074c18: 02402025 */ or $a0,$s2,$zero
.NB0f074c1c:
/* f074c1c: 8e2c0048 */ lw $t4,0x48($s1)
.NB0f074c20:
/* f074c20: c6060004 */ lwc1 $f6,0x4($s0)
/* f074c24: 27a40150 */ addiu $a0,$sp,0x150
/* f074c28: 8d820088 */ lw $v0,0x88($t4)
/* f074c2c: e7a60150 */ swc1 $f6,0x150($sp)
/* f074c30: c6080008 */ lwc1 $f8,0x8($s0)
/* f074c34: 27a50154 */ addiu $a1,$sp,0x154
/* f074c38: 27a60158 */ addiu $a2,$sp,0x158
/* f074c3c: e7a80154 */ swc1 $f8,0x154($sp)
/* f074c40: c604000c */ lwc1 $f4,0xc($s0)
/* f074c44: afa2014c */ sw $v0,0x14c($sp)
/* f074c48: 0c0012a8 */ jal guNormalize
/* f074c4c: e7a40158 */ swc1 $f4,0x158($sp)
/* f074c50: 8fa2014c */ lw $v0,0x14c($sp)
/* f074c54: 50400005 */ beqzl $v0,.NB0f074c6c
/* f074c58: afa0008c */ sw $zero,0x8c($sp)
/* f074c5c: 8c4a0004 */ lw $t2,0x4($v0)
/* f074c60: 10000002 */ beqz $zero,.NB0f074c6c
/* f074c64: afaa008c */ sw $t2,0x8c($sp)
/* f074c68: afa0008c */ sw $zero,0x8c($sp)
.NB0f074c6c:
/* f074c6c: 0fc4e3ea */ jal chrIsUsingPaintball
/* f074c70: 8fa4008c */ lw $a0,0x8c($sp)
/* f074c74: 1040000c */ beqz $v0,.NB0f074ca8
/* f074c78: 02402825 */ or $a1,$s2,$zero
/* f074c7c: 86440028 */ lh $a0,0x28($s2)
/* f074c80: 27ae05f4 */ addiu $t6,$sp,0x5f4
/* f074c84: 24180019 */ addiu $t8,$zero,0x19
/* f074c88: afb80014 */ sw $t8,0x14($sp)
/* f074c8c: afae0010 */ sw $t6,0x10($sp)
/* f074c90: 02402825 */ or $a1,$s2,$zero
/* f074c94: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f074c98: 0fc4a960 */ jal sparksCreate
/* f074c9c: 27a70150 */ addiu $a3,$sp,0x150
/* f074ca0: 1000000a */ beqz $zero,.NB0f074ccc
/* f074ca4: 02402025 */ or $a0,$s2,$zero
.NB0f074ca8:
/* f074ca8: 86440028 */ lh $a0,0x28($s2)
/* f074cac: 27ad05f4 */ addiu $t5,$sp,0x5f4
/* f074cb0: 240f0010 */ addiu $t7,$zero,0x10
/* f074cb4: afaf0014 */ sw $t7,0x14($sp)
/* f074cb8: afad0010 */ sw $t5,0x10($sp)
/* f074cbc: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f074cc0: 0fc4a960 */ jal sparksCreate
/* f074cc4: 27a70150 */ addiu $a3,$sp,0x150
/* f074cc8: 02402025 */ or $a0,$s2,$zero
.NB0f074ccc:
/* f074ccc: 27a505e8 */ addiu $a1,$sp,0x5e8
/* f074cd0: 27a605f4 */ addiu $a2,$sp,0x5f4
/* f074cd4: 0fc1b8c1 */ jal func0f06f0a0
/* f074cd8: 8fa7060c */ lw $a3,0x60c($sp)
.NB0f074cdc:
/* f074cdc: 8fb9034c */ lw $t9,0x34c($sp)
.NB0f074ce0:
/* f074ce0: 8fa90600 */ lw $t1,0x600($sp)
/* f074ce4: 57200038 */ bnezl $t9,.NB0f074dc8
/* f074ce8: 8fab034c */ lw $t3,0x34c($sp)
/* f074cec: 11200012 */ beqz $t1,.NB0f074d38
/* f074cf0: 26440008 */ addiu $a0,$s2,0x8
/* f074cf4: 8fa50070 */ lw $a1,0x70($sp)
/* f074cf8: 27a605dc */ addiu $a2,$sp,0x5dc
/* f074cfc: 0fc19437 */ jal func0f065e74
/* f074d00: 27a7013c */ addiu $a3,$sp,0x13c
/* f074d04: c7aa05dc */ lwc1 $f10,0x5dc($sp)
/* f074d08: 02402025 */ or $a0,$s2,$zero
/* f074d0c: e64a0008 */ swc1 $f10,0x8($s2)
/* f074d10: c7a605e0 */ lwc1 $f6,0x5e0($sp)
/* f074d14: e646000c */ swc1 $f6,0xc($s2)
/* f074d18: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f074d1c: 0fc193ab */ jal propDeregisterRooms
/* f074d20: e6480010 */ swc1 $f8,0x10($s2)
/* f074d24: 27a4013c */ addiu $a0,$sp,0x13c
/* f074d28: 0fc19283 */ jal roomsCopy
/* f074d2c: 8fa50070 */ lw $a1,0x70($sp)
/* f074d30: 10000025 */ beqz $zero,.NB0f074dc8
/* f074d34: 8fab034c */ lw $t3,0x34c($sp)
.NB0f074d38:
/* f074d38: 3c038007 */ lui $v1,0x8007
/* f074d3c: 8c63c030 */ lw $v1,-0x3fd0($v1)
/* f074d40: c7a605e8 */ lwc1 $f6,0x5e8($sp)
/* f074d44: 27a605dc */ addiu $a2,$sp,0x5dc
/* f074d48: 1060000c */ beqz $v1,.NB0f074d7c
/* f074d4c: 27a7012c */ addiu $a3,$sp,0x12c
/* f074d50: 90620000 */ lbu $v0,0x0($v1)
/* f074d54: 24010003 */ addiu $at,$zero,0x3
/* f074d58: 10410003 */ beq $v0,$at,.NB0f074d68
/* f074d5c: 24010006 */ addiu $at,$zero,0x6
/* f074d60: 54410007 */ bnel $v0,$at,.NB0f074d80
/* f074d64: c7a805ec */ lwc1 $f8,0x5ec($sp)
.NB0f074d68:
/* f074d68: c6440008 */ lwc1 $f4,0x8($s2)
/* f074d6c: e7a405dc */ swc1 $f4,0x5dc($sp)
/* f074d70: c64a0010 */ lwc1 $f10,0x10($s2)
/* f074d74: 10000006 */ beqz $zero,.NB0f074d90
/* f074d78: e7aa05e4 */ swc1 $f10,0x5e4($sp)
.NB0f074d7c:
/* f074d7c: c7a805ec */ lwc1 $f8,0x5ec($sp)
.NB0f074d80:
/* f074d80: c7a405f0 */ lwc1 $f4,0x5f0($sp)
/* f074d84: e7a605dc */ swc1 $f6,0x5dc($sp)
/* f074d88: e7a805e0 */ swc1 $f8,0x5e0($sp)
/* f074d8c: e7a405e4 */ swc1 $f4,0x5e4($sp)
.NB0f074d90:
/* f074d90: 0fc19437 */ jal func0f065e74
/* f074d94: 8fa50070 */ lw $a1,0x70($sp)
/* f074d98: c7aa05dc */ lwc1 $f10,0x5dc($sp)
/* f074d9c: 02402025 */ or $a0,$s2,$zero
/* f074da0: e64a0008 */ swc1 $f10,0x8($s2)
/* f074da4: c7a605e0 */ lwc1 $f6,0x5e0($sp)
/* f074da8: e646000c */ swc1 $f6,0xc($s2)
/* f074dac: c7a805e4 */ lwc1 $f8,0x5e4($sp)
/* f074db0: 0fc193ab */ jal propDeregisterRooms
/* f074db4: e6480010 */ swc1 $f8,0x10($s2)
/* f074db8: 27a4012c */ addiu $a0,$sp,0x12c
/* f074dbc: 0fc19283 */ jal roomsCopy
/* f074dc0: 8fa50070 */ lw $a1,0x70($sp)
/* f074dc4: 8fab034c */ lw $t3,0x34c($sp)
.NB0f074dc8:
/* f074dc8: 55600353 */ bnezl $t3,.NB0f075b18
/* f074dcc: 8fbf005c */ lw $ra,0x5c($sp)
/* f074dd0: 0fc19f5d */ jal objFindBboxRodata
/* f074dd4: 02202025 */ or $a0,$s1,$zero
/* f074dd8: 00402025 */ or $a0,$v0,$zero
/* f074ddc: 0fc196f7 */ jal func0f06695c
/* f074de0: 8fa50078 */ lw $a1,0x78($sp)
/* f074de4: e7a0037c */ swc1 $f0,0x37c($sp)
/* f074de8: c6440008 */ lwc1 $f4,0x8($s2)
/* f074dec: 26270058 */ addiu $a3,$s1,0x58
/* f074df0: 27ac012a */ addiu $t4,$sp,0x12a
/* f074df4: e7a405ac */ swc1 $f4,0x5ac($sp)
/* f074df8: c64a000c */ lwc1 $f10,0xc($s2)
/* f074dfc: 27aa0380 */ addiu $t2,$sp,0x380
/* f074e00: 27a405ac */ addiu $a0,$sp,0x5ac
/* f074e04: 46005180 */ add.s $f6,$f10,$f0
/* f074e08: 8fa50070 */ lw $a1,0x70($sp)
/* f074e0c: 27a60390 */ addiu $a2,$sp,0x390
/* f074e10: e7a605b0 */ swc1 $f6,0x5b0($sp)
/* f074e14: c6480010 */ lwc1 $f8,0x10($s2)
/* f074e18: afa7007c */ sw $a3,0x7c($sp)
/* f074e1c: afaa0014 */ sw $t2,0x14($sp)
/* f074e20: afac0010 */ sw $t4,0x10($sp)
/* f074e24: 0c00ae7b */ jal cd0002a5e4
/* f074e28: e7a805b4 */ swc1 $f8,0x5b4($sp)
/* f074e2c: 18400029 */ blez $v0,.NB0f074ed4
/* f074e30: c7aa037c */ lwc1 $f10,0x37c($sp)
/* f074e34: c644000c */ lwc1 $f4,0xc($s2)
/* f074e38: c7a80390 */ lwc1 $f8,0x390($sp)
/* f074e3c: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f074e40: 460a2180 */ add.s $f6,$f4,$f10
/* f074e44: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f074e48: 27a605ac */ addiu $a2,$sp,0x5ac
/* f074e4c: 24070020 */ addiu $a3,$zero,0x20
/* f074e50: 4608303c */ c.lt.s $f6,$f8
/* f074e54: 240e0003 */ addiu $t6,$zero,0x3
/* f074e58: 4502001f */ bc1fl .NB0f074ed8
/* f074e5c: 27ab0380 */ addiu $t3,$sp,0x380
/* f074e60: 0c00bbe8 */ jal cd0002db98
/* f074e64: afae0010 */ sw $t6,0x10($sp)
/* f074e68: 1440001a */ bnez $v0,.NB0f074ed4
/* f074e6c: 24180001 */ addiu $t8,$zero,0x1
/* f074e70: c7a40380 */ lwc1 $f4,0x380($sp)
/* f074e74: c7aa0384 */ lwc1 $f10,0x384($sp)
/* f074e78: c7a60388 */ lwc1 $f6,0x388($sp)
/* f074e7c: afb80354 */ sw $t8,0x354($sp)
/* f074e80: 27a405f4 */ addiu $a0,$sp,0x5f4
/* f074e84: 27a505f8 */ addiu $a1,$sp,0x5f8
/* f074e88: 27a605fc */ addiu $a2,$sp,0x5fc
/* f074e8c: e7a405f4 */ swc1 $f4,0x5f4($sp)
/* f074e90: e7aa05f8 */ swc1 $f10,0x5f8($sp)
/* f074e94: 0c0012a8 */ jal guNormalize
/* f074e98: e7a605fc */ swc1 $f6,0x5fc($sp)
/* f074e9c: c6480008 */ lwc1 $f8,0x8($s2)
/* f074ea0: c7a40390 */ lwc1 $f4,0x390($sp)
/* f074ea4: 97ad012a */ lhu $t5,0x12a($sp)
/* f074ea8: e7a805e8 */ swc1 $f8,0x5e8($sp)
/* f074eac: e7a405ec */ swc1 $f4,0x5ec($sp)
/* f074eb0: c64a0010 */ lwc1 $f10,0x10($s2)
/* f074eb4: 31af4000 */ andi $t7,$t5,0x4000
/* f074eb8: afa00600 */ sw $zero,0x600($sp)
/* f074ebc: 11e0000d */ beqz $t7,.NB0f074ef4
/* f074ec0: e7aa05f0 */ swc1 $f10,0x5f0($sp)
/* f074ec4: 8e390040 */ lw $t9,0x40($s1)
/* f074ec8: 37290004 */ ori $t1,$t9,0x4
/* f074ecc: 10000009 */ beqz $zero,.NB0f074ef4
/* f074ed0: ae290040 */ sw $t1,0x40($s1)
.NB0f074ed4:
/* f074ed4: 27ab0380 */ addiu $t3,$sp,0x380
.NB0f074ed8:
/* f074ed8: afab0010 */ sw $t3,0x10($sp)
/* f074edc: 26440008 */ addiu $a0,$s2,0x8
/* f074ee0: 8fa50070 */ lw $a1,0x70($sp)
/* f074ee4: 27a60390 */ addiu $a2,$sp,0x390
/* f074ee8: 8fa7007c */ lw $a3,0x7c($sp)
/* f074eec: 0c00ae5b */ jal cd0002a564
/* f074ef0: afa00014 */ sw $zero,0x14($sp)
.NB0f074ef4:
/* f074ef4: 8fac0600 */ lw $t4,0x600($sp)
/* f074ef8: 558000ac */ bnezl $t4,.NB0f0751ac
/* f074efc: 922a0003 */ lbu $t2,0x3($s1)
/* f074f00: c60c0008 */ lwc1 $f12,0x8($s0)
/* f074f04: c7a805cc */ lwc1 $f8,0x5cc($sp)
/* f074f08: 4614603e */ c.le.s $f12,$f20
/* f074f0c: 00000000 */ sll $zero,$zero,0x0
/* f074f10: 45020007 */ bc1fl .NB0f074f30
/* f074f14: 8e0a0000 */ lw $t2,0x0($s0)
/* f074f18: c646000c */ lwc1 $f6,0xc($s2)
/* f074f1c: 4606403e */ c.le.s $f8,$f6
/* f074f20: 00000000 */ sll $zero,$zero,0x0
/* f074f24: 45030008 */ bc1tl .NB0f074f48
/* f074f28: 240d0001 */ addiu $t5,$zero,0x1
/* f074f2c: 8e0a0000 */ lw $t2,0x0($s0)
.NB0f074f30:
/* f074f30: 8fb80354 */ lw $t8,0x354($sp)
/* f074f34: 314e0004 */ andi $t6,$t2,0x4
/* f074f38: 55c00005 */ bnezl $t6,.NB0f074f50
/* f074f3c: c612008c */ lwc1 $f18,0x8c($s0)
/* f074f40: 13000002 */ beqz $t8,.NB0f074f4c
/* f074f44: 240d0001 */ addiu $t5,$zero,0x1
.NB0f074f48:
/* f074f48: afad0350 */ sw $t5,0x350($sp)
.NB0f074f4c:
/* f074f4c: c612008c */ lwc1 $f18,0x8c($s0)
.NB0f074f50:
/* f074f50: c7a405f4 */ lwc1 $f4,0x5f4($sp)
/* f074f54: 4612a03c */ c.lt.s $f20,$f18
/* f074f58: 00000000 */ sll $zero,$zero,0x0
/* f074f5c: 45020034 */ bc1fl .NB0f075030
/* f074f60: 8fac0350 */ lw $t4,0x350($sp)
/* f074f64: c60e0004 */ lwc1 $f14,0x4($s0)
/* f074f68: c7a605f8 */ lwc1 $f6,0x5f8($sp)
/* f074f6c: c602000c */ lwc1 $f2,0xc($s0)
/* f074f70: 46047282 */ mul.s $f10,$f14,$f4
/* f074f74: 3c013f80 */ lui $at,0x3f80
/* f074f78: 4614603e */ c.le.s $f12,$f20
/* f074f7c: 46066202 */ mul.s $f8,$f12,$f6
/* f074f80: 46085180 */ add.s $f6,$f10,$f8
/* f074f84: c7aa05fc */ lwc1 $f10,0x5fc($sp)
/* f074f88: 46025202 */ mul.s $f8,$f10,$f2
/* f074f8c: 44815000 */ mtc1 $at,$f10
/* f074f90: 46064000 */ add.s $f0,$f8,$f6
/* f074f94: 460a9200 */ add.s $f8,$f18,$f10
/* f074f98: 46004187 */ neg.s $f6,$f8
/* f074f9c: 46060002 */ mul.s $f0,$f0,$f6
/* f074fa0: 00000000 */ sll $zero,$zero,0x0
/* f074fa4: 46040282 */ mul.s $f10,$f0,$f4
/* f074fa8: 460a7200 */ add.s $f8,$f14,$f10
/* f074fac: e6080004 */ swc1 $f8,0x4($s0)
/* f074fb0: c7a605f8 */ lwc1 $f6,0x5f8($sp)
/* f074fb4: 46060102 */ mul.s $f4,$f0,$f6
/* f074fb8: 46046280 */ add.s $f10,$f12,$f4
/* f074fbc: e60a0008 */ swc1 $f10,0x8($s0)
/* f074fc0: c7a805fc */ lwc1 $f8,0x5fc($sp)
/* f074fc4: 46080182 */ mul.s $f6,$f0,$f8
/* f074fc8: 46061100 */ add.s $f4,$f2,$f6
/* f074fcc: 45000008 */ bc1f .NB0f074ff0
/* f074fd0: e604000c */ swc1 $f4,0xc($s0)
/* f074fd4: c60a0008 */ lwc1 $f10,0x8($s0)
/* f074fd8: 240f0001 */ addiu $t7,$zero,0x1
/* f074fdc: 460aa03e */ c.le.s $f20,$f10
/* f074fe0: 00000000 */ sll $zero,$zero,0x0
/* f074fe4: 45020003 */ bc1fl .NB0f074ff4
/* f074fe8: 92390003 */ lbu $t9,0x3($s1)
/* f074fec: afaf0350 */ sw $t7,0x350($sp)
.NB0f074ff0:
/* f074ff0: 92390003 */ lbu $t9,0x3($s1)
.NB0f074ff4:
/* f074ff4: 24010008 */ addiu $at,$zero,0x8
/* f074ff8: 5721000d */ bnel $t9,$at,.NB0f075030
/* f074ffc: 8fac0350 */ lw $t4,0x350($sp)
/* f075000: 9229005c */ lbu $t1,0x5c($s1)
/* f075004: 2401001e */ addiu $at,$zero,0x1e
/* f075008: 55210009 */ bnel $t1,$at,.NB0f075030
/* f07500c: 8fac0350 */ lw $t4,0x350($sp)
/* f075010: 922b005f */ lbu $t3,0x5f($s1)
/* f075014: 24010001 */ addiu $at,$zero,0x1
/* f075018: 02402025 */ or $a0,$s2,$zero
/* f07501c: 55610004 */ bnel $t3,$at,.NB0f075030
/* f075020: 8fac0350 */ lw $t4,0x350($sp)
/* f075024: 0fc4a4a9 */ jal smokeCreateAtProp
/* f075028: 24050013 */ addiu $a1,$zero,0x13
/* f07502c: 8fac0350 */ lw $t4,0x350($sp)
.NB0f075030:
/* f075030: c7a805ec */ lwc1 $f8,0x5ec($sp)
/* f075034: c7a6037c */ lwc1 $f6,0x37c($sp)
/* f075038: 5180000c */ beqzl $t4,.NB0f07506c
/* f07503c: 8e0e0000 */ lw $t6,0x0($s0)
/* f075040: 46064101 */ sub.s $f4,$f8,$f6
/* f075044: e644000c */ swc1 $f4,0xc($s2)
/* f075048: 8faa0354 */ lw $t2,0x354($sp)
/* f07504c: 51400007 */ beqzl $t2,.NB0f07506c
/* f075050: 8e0e0000 */ lw $t6,0x0($s0)
/* f075054: 0fc1a623 */ jal func0f06a620
/* f075058: 02202025 */ or $a0,$s1,$zero
/* f07505c: c64a000c */ lwc1 $f10,0xc($s2)
/* f075060: 46005200 */ add.s $f8,$f10,$f0
/* f075064: e648000c */ swc1 $f8,0xc($s2)
/* f075068: 8e0e0000 */ lw $t6,0x0($s0)
.NB0f07506c:
/* f07506c: 31d80100 */ andi $t8,$t6,0x100
/* f075070: 5700000d */ bnezl $t8,.NB0f0750a8
/* f075074: 8e190090 */ lw $t9,0x90($s0)
/* f075078: 8e020094 */ lw $v0,0x94($s0)
/* f07507c: 3c0d800a */ lui $t5,0x800a
/* f075080: 04400006 */ bltz $v0,.NB0f07509c
/* f075084: 00000000 */ sll $zero,$zero,0x0
/* f075088: 8dade6c8 */ lw $t5,-0x1938($t5)
/* f07508c: 25afffc4 */ addiu $t7,$t5,-60
/* f075090: 004f082a */ slt $at,$v0,$t7
/* f075094: 50200004 */ beqzl $at,.NB0f0750a8
/* f075098: 8e190090 */ lw $t9,0x90($s0)
.NB0f07509c:
/* f07509c: 0fc250bc */ jal func0f096360
/* f0750a0: 8fa40068 */ lw $a0,0x68($sp)
/* f0750a4: 8e190090 */ lw $t9,0x90($s0)
.NB0f0750a8:
/* f0750a8: 3c0b800a */ lui $t3,0x800a
/* f0750ac: 27290001 */ addiu $t1,$t9,0x1
/* f0750b0: ae090090 */ sw $t1,0x90($s0)
/* f0750b4: 8d6be6c8 */ lw $t3,-0x1938($t3)
/* f0750b8: ae0b0094 */ sw $t3,0x94($s0)
/* f0750bc: 8e220040 */ lw $v0,0x40($s1)
/* f0750c0: 000263c0 */ sll $t4,$v0,0xf
/* f0750c4: 05800002 */ bltz $t4,.NB0f0750d0
/* f0750c8: 344a0100 */ ori $t2,$v0,0x100
/* f0750cc: ae2a0040 */ sw $t2,0x40($s1)
.NB0f0750d0:
/* f0750d0: 8fae0350 */ lw $t6,0x350($sp)
/* f0750d4: 51c00035 */ beqzl $t6,.NB0f0751ac
/* f0750d8: 922a0003 */ lbu $t2,0x3($s1)
/* f0750dc: 8e020000 */ lw $v0,0x0($s0)
/* f0750e0: 30580004 */ andi $t8,$v0,0x4
/* f0750e4: 5700000d */ bnezl $t8,.NB0f07511c
/* f0750e8: c606008c */ lwc1 $f6,0x8c($s0)
/* f0750ec: 8e0d0090 */ lw $t5,0x90($s0)
/* f0750f0: 8faf0354 */ lw $t7,0x354($sp)
/* f0750f4: 29a10006 */ slti $at,$t5,0x6
/* f0750f8: 54200008 */ bnezl $at,.NB0f07511c
/* f0750fc: c606008c */ lwc1 $f6,0x8c($s0)
/* f075100: 11e00029 */ beqz $t7,.NB0f0751a8
/* f075104: 02202025 */ or $a0,$s1,$zero
/* f075108: 0fc1b38f */ jal func0f06dbd8
/* f07510c: 27a50358 */ addiu $a1,$sp,0x358
/* f075110: 10000026 */ beqz $zero,.NB0f0751ac
/* f075114: 922a0003 */ lbu $t2,0x3($s1)
/* f075118: c606008c */ lwc1 $f6,0x8c($s0)
.NB0f07511c:
/* f07511c: 8fac0354 */ lw $t4,0x354($sp)
/* f075120: 4606a03c */ c.lt.s $f20,$f6
/* f075124: 00000000 */ sll $zero,$zero,0x0
/* f075128: 4500001b */ bc1f .NB0f075198
/* f07512c: 00000000 */ sll $zero,$zero,0x0
/* f075130: c60c0008 */ lwc1 $f12,0x8($s0)
/* f075134: 3c017f1a */ lui $at,0x7f1a
/* f075138: 460ca03e */ c.le.s $f20,$f12
/* f07513c: 00000000 */ sll $zero,$zero,0x0
/* f075140: 4502001a */ bc1fl .NB0f0751ac
/* f075144: 922a0003 */ lbu $t2,0x3($s1)
/* f075148: c4204734 */ lwc1 $f0,0x4734($at)
/* f07514c: 30590002 */ andi $t9,$v0,0x2
/* f075150: 4600603c */ c.lt.s $f12,$f0
/* f075154: 00000000 */ sll $zero,$zero,0x0
/* f075158: 45020014 */ bc1fl .NB0f0751ac
/* f07515c: 922a0003 */ lbu $t2,0x3($s1)
/* f075160: 13200007 */ beqz $t9,.NB0f075180
/* f075164: 8fab0354 */ lw $t3,0x354($sp)
/* f075168: 8e090090 */ lw $t1,0x90($s0)
/* f07516c: 24010001 */ addiu $at,$zero,0x1
/* f075170: 15210003 */ bne $t1,$at,.NB0f075180
/* f075174: 00000000 */ sll $zero,$zero,0x0
/* f075178: 1000000b */ beqz $zero,.NB0f0751a8
/* f07517c: e6000008 */ swc1 $f0,0x8($s0)
.NB0f075180:
/* f075180: 11600009 */ beqz $t3,.NB0f0751a8
/* f075184: 02202025 */ or $a0,$s1,$zero
/* f075188: 0fc1b38f */ jal func0f06dbd8
/* f07518c: 27a50358 */ addiu $a1,$sp,0x358
/* f075190: 10000006 */ beqz $zero,.NB0f0751ac
/* f075194: 922a0003 */ lbu $t2,0x3($s1)
.NB0f075198:
/* f075198: 11800003 */ beqz $t4,.NB0f0751a8
/* f07519c: 02202025 */ or $a0,$s1,$zero
/* f0751a0: 0fc1b38f */ jal func0f06dbd8
/* f0751a4: 27a50358 */ addiu $a1,$sp,0x358
.NB0f0751a8:
/* f0751a8: 922a0003 */ lbu $t2,0x3($s1)
.NB0f0751ac:
/* f0751ac: 24010008 */ addiu $at,$zero,0x8
/* f0751b0: 55410134 */ bnel $t2,$at,.NB0f075684
/* f0751b4: 02202025 */ or $a0,$s1,$zero
/* f0751b8: 9227005c */ lbu $a3,0x5c($s1)
/* f0751bc: 2401001a */ addiu $at,$zero,0x1a
/* f0751c0: 54e1000a */ bnel $a3,$at,.NB0f0751ec
/* f0751c4: 24010052 */ addiu $at,$zero,0x52
/* f0751c8: 922e005f */ lbu $t6,0x5f($s1)
/* f0751cc: 24010001 */ addiu $at,$zero,0x1
/* f0751d0: 55c10006 */ bnel $t6,$at,.NB0f0751ec
/* f0751d4: 24010052 */ addiu $at,$zero,0x52
/* f0751d8: 0fc1b6b8 */ jal func0f06e87c
/* f0751dc: 02202025 */ or $a0,$s1,$zero
/* f0751e0: 100000b0 */ beqz $zero,.NB0f0754a4
/* f0751e4: 8fad0600 */ lw $t5,0x600($sp)
/* f0751e8: 24010052 */ addiu $at,$zero,0x52
.NB0f0751ec:
/* f0751ec: 14e10044 */ bne $a3,$at,.NB0f075300
/* f0751f0: 8fb80600 */ lw $t8,0x600($sp)
/* f0751f4: 57000004 */ bnezl $t8,.NB0f075208
/* f0751f8: c60e0004 */ lwc1 $f14,0x4($s0)
/* f0751fc: 100000a8 */ beqz $zero,.NB0f0754a0
/* f075200: a6200062 */ sh $zero,0x62($s1)
/* f075204: c60e0004 */ lwc1 $f14,0x4($s0)
.NB0f075208:
/* f075208: c60c0008 */ lwc1 $f12,0x8($s0)
/* f07520c: c602000c */ lwc1 $f2,0xc($s0)
/* f075210: 460e7102 */ mul.s $f4,$f14,$f14
/* f075214: 3c017f1a */ lui $at,0x7f1a
/* f075218: 460c6282 */ mul.s $f10,$f12,$f12
/* f07521c: 460a2200 */ add.s $f8,$f4,$f10
/* f075220: 46021182 */ mul.s $f6,$f2,$f2
/* f075224: c4244738 */ lwc1 $f4,0x4738($at)
/* f075228: 46083000 */ add.s $f0,$f6,$f8
/* f07522c: 4600203c */ c.lt.s $f4,$f0
/* f075230: 00000000 */ sll $zero,$zero,0x0
/* f075234: 45020005 */ bc1fl .NB0f07524c
/* f075238: 860200b2 */ lh $v0,0xb2($s0)
/* f07523c: e6140010 */ swc1 $f20,0x10($s0)
/* f075240: e6140014 */ swc1 $f20,0x14($s0)
/* f075244: e6140018 */ swc1 $f20,0x18($s0)
/* f075248: 860200b2 */ lh $v0,0xb2($s0)
.NB0f07524c:
/* f07524c: 0442000c */ bltzl $v0,.NB0f075280
/* f075250: c60a0004 */ lwc1 $f10,0x4($s0)
/* f075254: 8e0d00a0 */ lw $t5,0xa0($s0)
/* f075258: 004d082a */ slt $at,$v0,$t5
/* f07525c: 50200008 */ beqzl $at,.NB0f075280
/* f075260: c60a0004 */ lwc1 $f10,0x4($s0)
/* f075264: 8e0f0000 */ lw $t7,0x0($s0)
/* f075268: 2401ffcf */ addiu $at,$zero,-49
/* f07526c: e614001c */ swc1 $f20,0x1c($s0)
/* f075270: 01e1c824 */ and $t9,$t7,$at
/* f075274: 1000008a */ beqz $zero,.NB0f0754a0
/* f075278: ae190000 */ sw $t9,0x0($s0)
/* f07527c: c60a0004 */ lwc1 $f10,0x4($s0)
.NB0f075280:
/* f075280: 27a40108 */ addiu $a0,$sp,0x108
/* f075284: 27a5010c */ addiu $a1,$sp,0x10c
/* f075288: e7aa0108 */ swc1 $f10,0x108($sp)
/* f07528c: c6060008 */ lwc1 $f6,0x8($s0)
/* f075290: 27a60110 */ addiu $a2,$sp,0x110
/* f075294: e7a6010c */ swc1 $f6,0x10c($sp)
/* f075298: c608000c */ lwc1 $f8,0xc($s0)
/* f07529c: 0c0012a8 */ jal guNormalize
/* f0752a0: e7a80110 */ swc1 $f8,0x110($sp)
/* f0752a4: 3c0141a0 */ lui $at,0x41a0
/* f0752a8: 44810000 */ mtc1 $at,$f0
/* f0752ac: c7aa0108 */ lwc1 $f10,0x108($sp)
/* f0752b0: c6440008 */ lwc1 $f4,0x8($s2)
/* f0752b4: 27a40108 */ addiu $a0,$sp,0x108
/* f0752b8: 46005182 */ mul.s $f6,$f10,$f0
/* f0752bc: 8fa50070 */ lw $a1,0x70($sp)
/* f0752c0: 24060008 */ addiu $a2,$zero,0x8
/* f0752c4: 46062201 */ sub.s $f8,$f4,$f6
/* f0752c8: c7a4010c */ lwc1 $f4,0x10c($sp)
/* f0752cc: 46002182 */ mul.s $f6,$f4,$f0
/* f0752d0: e7a80108 */ swc1 $f8,0x108($sp)
/* f0752d4: c64a000c */ lwc1 $f10,0xc($s2)
/* f0752d8: 46065201 */ sub.s $f8,$f10,$f6
/* f0752dc: c7aa0110 */ lwc1 $f10,0x110($sp)
/* f0752e0: 46005182 */ mul.s $f6,$f10,$f0
/* f0752e4: e7a8010c */ swc1 $f8,0x10c($sp)
/* f0752e8: c6440010 */ lwc1 $f4,0x10($s2)
/* f0752ec: 46062201 */ sub.s $f8,$f4,$f6
/* f0752f0: 0fc4a4ec */ jal smokeCreateSimple
/* f0752f4: e7a80110 */ swc1 $f8,0x110($sp)
/* f0752f8: 1000006a */ beqz $zero,.NB0f0754a4
/* f0752fc: 8fad0600 */ lw $t5,0x600($sp)
.NB0f075300:
/* f075300: 24010053 */ addiu $at,$zero,0x53
/* f075304: 14e1000a */ bne $a3,$at,.NB0f075330
/* f075308: 8fa90600 */ lw $t1,0x600($sp)
/* f07530c: 15200003 */ bnez $t1,.NB0f07531c
/* f075310: 26440008 */ addiu $a0,$s2,0x8
/* f075314: 10000062 */ beqz $zero,.NB0f0754a0
/* f075318: a6200062 */ sh $zero,0x62($s1)
.NB0f07531c:
/* f07531c: 8fa50070 */ lw $a1,0x70($sp)
/* f075320: 0fc4a4ec */ jal smokeCreateSimple
/* f075324: 2406000b */ addiu $a2,$zero,0xb
/* f075328: 1000005e */ beqz $zero,.NB0f0754a4
/* f07532c: 8fad0600 */ lw $t5,0x600($sp)
.NB0f075330:
/* f075330: 24010054 */ addiu $at,$zero,0x54
/* f075334: 10e10006 */ beq $a3,$at,.NB0f075350
/* f075338: 2402001f */ addiu $v0,$zero,0x1f
/* f07533c: 54470059 */ bnel $v0,$a3,.NB0f0754a4
/* f075340: 8fad0600 */ lw $t5,0x600($sp)
/* f075344: 922b005f */ lbu $t3,0x5f($s1)
/* f075348: 55600056 */ bnezl $t3,.NB0f0754a4
/* f07534c: 8fad0600 */ lw $t5,0x600($sp)
.NB0f075350:
/* f075350: 8fac0350 */ lw $t4,0x350($sp)
/* f075354: 2402001f */ addiu $v0,$zero,0x1f
/* f075358: 15800045 */ bnez $t4,.NB0f075470
/* f07535c: 00000000 */ sll $zero,$zero,0x0
/* f075360: 8e0a0000 */ lw $t2,0x0($s0)
/* f075364: 3c017f1a */ lui $at,0x7f1a
/* f075368: 314e0400 */ andi $t6,$t2,0x400
/* f07536c: 15c00040 */ bnez $t6,.NB0f075470
/* f075370: 00000000 */ sll $zero,$zero,0x0
/* f075374: c430473c */ lwc1 $f16,0x473c($at)
/* f075378: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07537c: 3c017f1a */ lui $at,0x7f1a
/* f075380: c7a405c8 */ lwc1 $f4,0x5c8($sp)
/* f075384: 4610703c */ c.lt.s $f14,$f16
/* f075388: 00000000 */ sll $zero,$zero,0x0
/* f07538c: 45020019 */ bc1fl .NB0f0753f4
/* f075390: c64a0008 */ lwc1 $f10,0x8($s2)
/* f075394: c4324740 */ lwc1 $f18,0x4740($at)
/* f075398: 460e903c */ c.lt.s $f18,$f14
/* f07539c: 00000000 */ sll $zero,$zero,0x0
/* f0753a0: 45020014 */ bc1fl .NB0f0753f4
/* f0753a4: c64a0008 */ lwc1 $f10,0x8($s2)
/* f0753a8: c60c0008 */ lwc1 $f12,0x8($s0)
/* f0753ac: 4610603c */ c.lt.s $f12,$f16
/* f0753b0: 00000000 */ sll $zero,$zero,0x0
/* f0753b4: 4502000f */ bc1fl .NB0f0753f4
/* f0753b8: c64a0008 */ lwc1 $f10,0x8($s2)
/* f0753bc: 460c903c */ c.lt.s $f18,$f12
/* f0753c0: 00000000 */ sll $zero,$zero,0x0
/* f0753c4: 4502000b */ bc1fl .NB0f0753f4
/* f0753c8: c64a0008 */ lwc1 $f10,0x8($s2)
/* f0753cc: c602000c */ lwc1 $f2,0xc($s0)
/* f0753d0: 4610103c */ c.lt.s $f2,$f16
/* f0753d4: 00000000 */ sll $zero,$zero,0x0
/* f0753d8: 45020006 */ bc1fl .NB0f0753f4
/* f0753dc: c64a0008 */ lwc1 $f10,0x8($s2)
/* f0753e0: 4602903c */ c.lt.s $f18,$f2
/* f0753e4: 00000000 */ sll $zero,$zero,0x0
/* f0753e8: 45010021 */ bc1t .NB0f075470
/* f0753ec: 00000000 */ sll $zero,$zero,0x0
/* f0753f0: c64a0008 */ lwc1 $f10,0x8($s2)
.NB0f0753f4:
/* f0753f4: 3c017f1a */ lui $at,0x7f1a
/* f0753f8: c4324744 */ lwc1 $f18,0x4744($at)
/* f0753fc: 46045001 */ sub.s $f0,$f10,$f4
/* f075400: 4610003c */ c.lt.s $f0,$f16
/* f075404: 00000000 */ sll $zero,$zero,0x0
/* f075408: 45000020 */ bc1f .NB0f07548c
/* f07540c: 00000000 */ sll $zero,$zero,0x0
/* f075410: 4600903c */ c.lt.s $f18,$f0
/* f075414: c7a805cc */ lwc1 $f8,0x5cc($sp)
/* f075418: 4500001c */ bc1f .NB0f07548c
/* f07541c: 00000000 */ sll $zero,$zero,0x0
/* f075420: c646000c */ lwc1 $f6,0xc($s2)
/* f075424: 46083001 */ sub.s $f0,$f6,$f8
/* f075428: 4610003c */ c.lt.s $f0,$f16
/* f07542c: 00000000 */ sll $zero,$zero,0x0
/* f075430: 45000016 */ bc1f .NB0f07548c
/* f075434: 00000000 */ sll $zero,$zero,0x0
/* f075438: 4600903c */ c.lt.s $f18,$f0
/* f07543c: c7a405d0 */ lwc1 $f4,0x5d0($sp)
/* f075440: 45000012 */ bc1f .NB0f07548c
/* f075444: 00000000 */ sll $zero,$zero,0x0
/* f075448: c64a0010 */ lwc1 $f10,0x10($s2)
/* f07544c: 46045001 */ sub.s $f0,$f10,$f4
/* f075450: 4610003c */ c.lt.s $f0,$f16
/* f075454: 00000000 */ sll $zero,$zero,0x0
/* f075458: 4500000c */ bc1f .NB0f07548c
/* f07545c: 00000000 */ sll $zero,$zero,0x0
/* f075460: 4600903c */ c.lt.s $f18,$f0
/* f075464: 00000000 */ sll $zero,$zero,0x0
/* f075468: 45000008 */ bc1f .NB0f07548c
/* f07546c: 00000000 */ sll $zero,$zero,0x0
.NB0f075470:
/* f075470: 14470004 */ bne $v0,$a3,.NB0f075484
/* f075474: 00000000 */ sll $zero,$zero,0x0
/* f075478: 86380062 */ lh $t8,0x62($s1)
/* f07547c: 07020009 */ bltzl $t8,.NB0f0754a4
/* f075480: 8fad0600 */ lw $t5,0x600($sp)
.NB0f075484:
/* f075484: 10000006 */ beqz $zero,.NB0f0754a0
/* f075488: a6200062 */ sh $zero,0x62($s1)
.NB0f07548c:
/* f07548c: 10470004 */ beq $v0,$a3,.NB0f0754a0
/* f075490: 26440008 */ addiu $a0,$s2,0x8
/* f075494: 8fa50070 */ lw $a1,0x70($sp)
/* f075498: 0fc4a4ec */ jal smokeCreateSimple
/* f07549c: 24060009 */ addiu $a2,$zero,0x9
.NB0f0754a0:
/* f0754a0: 8fad0600 */ lw $t5,0x600($sp)
.NB0f0754a4:
/* f0754a4: 3c03800a */ lui $v1,0x800a
/* f0754a8: 55a00076 */ bnezl $t5,.NB0f075684
/* f0754ac: 02202025 */ or $a0,$s1,$zero
/* f0754b0: 8c63e6cc */ lw $v1,-0x1934($v1)
/* f0754b4: 8e0f00a4 */ lw $t7,0xa4($s0)
/* f0754b8: 2479fffe */ addiu $t9,$v1,-2
/* f0754bc: 01f9082a */ slt $at,$t7,$t9
/* f0754c0: 5020006f */ beqzl $at,.NB0f075680
/* f0754c4: ae0300a4 */ sw $v1,0xa4($s0)
/* f0754c8: 9227005c */ lbu $a3,0x5c($s1)
/* f0754cc: 2401001a */ addiu $at,$zero,0x1a
/* f0754d0: 00002025 */ or $a0,$zero,$zero
/* f0754d4: 10e10003 */ beq $a3,$at,.NB0f0754e4
/* f0754d8: 02402825 */ or $a1,$s2,$zero
/* f0754dc: 2401001a */ addiu $at,$zero,0x1a
/* f0754e0: 14e10015 */ bne $a3,$at,.NB0f075538
.NB0f0754e4:
/* f0754e4: 3c01bf80 */ lui $at,0xbf80
/* f0754e8: 44810000 */ mtc1 $at,$f0
/* f0754ec: 2409ffff */ addiu $t1,$zero,-1
/* f0754f0: 240bffff */ addiu $t3,$zero,-1
/* f0754f4: afab002c */ sw $t3,0x2c($sp)
/* f0754f8: afa90010 */ sw $t1,0x10($sp)
/* f0754fc: 2406808b */ addiu $a2,$zero,-32629
/* f075500: 2407ffff */ addiu $a3,$zero,-1
/* f075504: afa00014 */ sw $zero,0x14($sp)
/* f075508: afa00018 */ sw $zero,0x18($sp)
/* f07550c: afa0001c */ sw $zero,0x1c($sp)
/* f075510: afa00020 */ sw $zero,0x20($sp)
/* f075514: afa00028 */ sw $zero,0x28($sp)
/* f075518: e7a00024 */ swc1 $f0,0x24($sp)
/* f07551c: e7a00030 */ swc1 $f0,0x30($sp)
/* f075520: e7a00034 */ swc1 $f0,0x34($sp)
/* f075524: 0fc24762 */ jal func0f0939f8
/* f075528: e7a00038 */ swc1 $f0,0x38($sp)
/* f07552c: 3c03800a */ lui $v1,0x800a
/* f075530: 10000052 */ beqz $zero,.NB0f07567c
/* f075534: 8c63e6cc */ lw $v1,-0x1934($v1)
.NB0f075538:
/* f075538: 2401001e */ addiu $at,$zero,0x1e
/* f07553c: 14e1003a */ bne $a3,$at,.NB0f075628
/* f075540: 00002025 */ or $a0,$zero,$zero
/* f075544: 922c005f */ lbu $t4,0x5f($s1)
/* f075548: 24010001 */ addiu $at,$zero,0x1
/* f07554c: 3c0e8007 */ lui $t6,0x8007
/* f075550: 15810035 */ bne $t4,$at,.NB0f075628
/* f075554: 25cec2bc */ addiu $t6,$t6,-15684
/* f075558: 8dc10000 */ lw $at,0x0($t6)
/* f07555c: 8dcd0004 */ lw $t5,0x4($t6)
/* f075560: 27aa0100 */ addiu $t2,$sp,0x100
/* f075564: ad410000 */ sw $at,0x0($t2)
/* f075568: 0c004d84 */ jal random
/* f07556c: ad4d0004 */ sw $t5,0x4($t2)
/* f075570: 304f0003 */ andi $t7,$v0,0x3
/* f075574: 000fc840 */ sll $t9,$t7,0x1
/* f075578: 03b93021 */ addu $a2,$sp,$t9
/* f07557c: 84c60100 */ lh $a2,0x100($a2)
/* f075580: 3c01bf80 */ lui $at,0xbf80
/* f075584: 44810000 */ mtc1 $at,$f0
/* f075588: 2409ffff */ addiu $t1,$zero,-1
/* f07558c: 240bffff */ addiu $t3,$zero,-1
/* f075590: afab002c */ sw $t3,0x2c($sp)
/* f075594: afa90010 */ sw $t1,0x10($sp)
/* f075598: afa00028 */ sw $zero,0x28($sp)
/* f07559c: afa00020 */ sw $zero,0x20($sp)
/* f0755a0: afa0001c */ sw $zero,0x1c($sp)
/* f0755a4: afa00018 */ sw $zero,0x18($sp)
/* f0755a8: afa00014 */ sw $zero,0x14($sp)
/* f0755ac: 00002025 */ or $a0,$zero,$zero
/* f0755b0: 02402825 */ or $a1,$s2,$zero
/* f0755b4: 2407ffff */ addiu $a3,$zero,-1
/* f0755b8: e7a00024 */ swc1 $f0,0x24($sp)
/* f0755bc: e7a00030 */ swc1 $f0,0x30($sp)
/* f0755c0: e7a00034 */ swc1 $f0,0x34($sp)
/* f0755c4: 0fc24762 */ jal func0f0939f8
/* f0755c8: e7a00038 */ swc1 $f0,0x38($sp)
/* f0755cc: 3c01bf80 */ lui $at,0xbf80
/* f0755d0: 44810000 */ mtc1 $at,$f0
/* f0755d4: 240cffff */ addiu $t4,$zero,-1
/* f0755d8: 2418ffff */ addiu $t8,$zero,-1
/* f0755dc: afb8002c */ sw $t8,0x2c($sp)
/* f0755e0: afac0010 */ sw $t4,0x10($sp)
/* f0755e4: 00002025 */ or $a0,$zero,$zero
/* f0755e8: 02402825 */ or $a1,$s2,$zero
/* f0755ec: 2406808c */ addiu $a2,$zero,-32628
/* f0755f0: 2407ffff */ addiu $a3,$zero,-1
/* f0755f4: afa00014 */ sw $zero,0x14($sp)
/* f0755f8: afa00018 */ sw $zero,0x18($sp)
/* f0755fc: afa0001c */ sw $zero,0x1c($sp)
/* f075600: afa00020 */ sw $zero,0x20($sp)
/* f075604: afa00028 */ sw $zero,0x28($sp)
/* f075608: e7a00024 */ swc1 $f0,0x24($sp)
/* f07560c: e7a00030 */ swc1 $f0,0x30($sp)
/* f075610: e7a00034 */ swc1 $f0,0x34($sp)
/* f075614: 0fc24762 */ jal func0f0939f8
/* f075618: e7a00038 */ swc1 $f0,0x38($sp)
/* f07561c: 3c03800a */ lui $v1,0x800a
/* f075620: 10000016 */ beqz $zero,.NB0f07567c
/* f075624: 8c63e6cc */ lw $v1,-0x1934($v1)
.NB0f075628:
/* f075628: 3c01bf80 */ lui $at,0xbf80
/* f07562c: 44810000 */ mtc1 $at,$f0
/* f075630: 240affff */ addiu $t2,$zero,-1
/* f075634: 240effff */ addiu $t6,$zero,-1
/* f075638: afae002c */ sw $t6,0x2c($sp)
/* f07563c: afaa0010 */ sw $t2,0x10($sp)
/* f075640: 02402825 */ or $a1,$s2,$zero
/* f075644: 2406808c */ addiu $a2,$zero,-32628
/* f075648: 2407ffff */ addiu $a3,$zero,-1
/* f07564c: afa00014 */ sw $zero,0x14($sp)
/* f075650: afa00018 */ sw $zero,0x18($sp)
/* f075654: afa0001c */ sw $zero,0x1c($sp)
/* f075658: afa00020 */ sw $zero,0x20($sp)
/* f07565c: afa00028 */ sw $zero,0x28($sp)
/* f075660: e7a00024 */ swc1 $f0,0x24($sp)
/* f075664: e7a00030 */ swc1 $f0,0x30($sp)
/* f075668: e7a00034 */ swc1 $f0,0x34($sp)
/* f07566c: 0fc24762 */ jal func0f0939f8
/* f075670: e7a00038 */ swc1 $f0,0x38($sp)
/* f075674: 3c03800a */ lui $v1,0x800a
/* f075678: 8c63e6cc */ lw $v1,-0x1934($v1)
.NB0f07567c:
/* f07567c: ae0300a4 */ sw $v1,0xa4($s0)
.NB0f075680:
/* f075680: 02202025 */ or $a0,$s1,$zero
.NB0f075684:
/* f075684: 24050001 */ addiu $a1,$zero,0x1
/* f075688: 0fc1a3b7 */ jal func0f069c70
/* f07568c: 24060001 */ addiu $a2,$zero,0x1
/* f075690: 10000121 */ beqz $zero,.NB0f075b18
/* f075694: 8fbf005c */ lw $ra,0x5c($sp)
/* f075698: 304d0400 */ andi $t5,$v0,0x400
.NB0f07569c:
/* f07569c: 11a0011d */ beqz $t5,.NB0f075b14
/* f0756a0: 3c013f80 */ lui $at,0x3f80
/* f0756a4: 240f0001 */ addiu $t7,$zero,0x1
/* f0756a8: afaf00fc */ sw $t7,0xfc($sp)
/* f0756ac: 44816000 */ mtc1 $at,$f12
/* f0756b0: c6000060 */ lwc1 $f0,0x60($s0)
/* f0756b4: 26040068 */ addiu $a0,$s0,0x68
/* f0756b8: 26050078 */ addiu $a1,$s0,0x78
/* f0756bc: 460c003c */ c.lt.s $f0,$f12
/* f0756c0: 00000000 */ sll $zero,$zero,0x0
/* f0756c4: 4502002a */ bc1fl .NB0f075770
/* f0756c8: 4480a000 */ mtc1 $zero,$f20
/* f0756cc: c6020064 */ lwc1 $f2,0x64($s0)
/* f0756d0: c466004c */ lwc1 $f6,0x4c($v1)
/* f0756d4: 3c017f1a */ lui $at,0x7f1a
/* f0756d8: 46061202 */ mul.s $f8,$f2,$f6
/* f0756dc: 46080280 */ add.s $f10,$f0,$f8
/* f0756e0: e60a0060 */ swc1 $f10,0x60($s0)
/* f0756e4: 8c790038 */ lw $t9,0x38($v1)
/* f0756e8: 5b200005 */ blezl $t9,.NB0f075700
/* f0756ec: c6000060 */ lwc1 $f0,0x60($s0)
/* f0756f0: c4244748 */ lwc1 $f4,0x4748($at)
/* f0756f4: 46041182 */ mul.s $f6,$f2,$f4
/* f0756f8: e6060064 */ swc1 $f6,0x64($s0)
/* f0756fc: c6000060 */ lwc1 $f0,0x60($s0)
.NB0f075700:
/* f075700: 4600603c */ c.lt.s $f12,$f0
/* f075704: 00000000 */ sll $zero,$zero,0x0
/* f075708: 45020004 */ bc1fl .NB0f07571c
/* f07570c: 44060000 */ mfc1 $a2,$f0
/* f075710: e60c0060 */ swc1 $f12,0x60($s0)
/* f075714: c6000060 */ lwc1 $f0,0x60($s0)
/* f075718: 44060000 */ mfc1 $a2,$f0
.NB0f07571c:
/* f07571c: 0fc25492 */ jal func0f0972b8
/* f075720: 27a700ec */ addiu $a3,$sp,0xec
/* f075724: 27a400ec */ addiu $a0,$sp,0xec
/* f075728: 0fc25399 */ jal func0f096ed4
/* f07572c: 27a500ac */ addiu $a1,$sp,0xac
/* f075730: c60c00b8 */ lwc1 $f12,0xb8($s0)
/* f075734: 0c005b45 */ jal mtx00015e24
/* f075738: 27a500ac */ addiu $a1,$sp,0xac
/* f07573c: c60c00bc */ lwc1 $f12,0xbc($s0)
/* f075740: 0c005b5c */ jal mtx00015e80
/* f075744: 27a500ac */ addiu $a1,$sp,0xac
/* f075748: c60c00c0 */ lwc1 $f12,0xc0($s0)
/* f07574c: 0c005b73 */ jal mtx00015edc
/* f075750: 27a500ac */ addiu $a1,$sp,0xac
/* f075754: 27a400ac */ addiu $a0,$sp,0xac
/* f075758: 0c005b24 */ jal mtx4ToMtx3
/* f07575c: 2625001c */ addiu $a1,$s1,0x1c
/* f075760: 3c013f80 */ lui $at,0x3f80
/* f075764: 44816000 */ mtc1 $at,$f12
/* f075768: afa000fc */ sw $zero,0xfc($sp)
/* f07576c: 4480a000 */ mtc1 $zero,$f20
.NB0f075770:
/* f075770: c6080004 */ lwc1 $f8,0x4($s0)
/* f075774: 02202025 */ or $a0,$s1,$zero
/* f075778: 2629001c */ addiu $t1,$s1,0x1c
/* f07577c: 4608a032 */ c.eq.s $f20,$f8
/* f075780: 00000000 */ sll $zero,$zero,0x0
/* f075784: 4502000c */ bc1fl .NB0f0757b8
/* f075788: afa90078 */ sw $t1,0x78($sp)
/* f07578c: c60a000c */ lwc1 $f10,0xc($s0)
/* f075790: 460aa032 */ c.eq.s $f20,$f10
/* f075794: 00000000 */ sll $zero,$zero,0x0
/* f075798: 45020007 */ bc1fl .NB0f0757b8
/* f07579c: afa90078 */ sw $t1,0x78($sp)
/* f0757a0: c6040060 */ lwc1 $f4,0x60($s0)
/* f0757a4: 460c203c */ c.lt.s $f4,$f12
/* f0757a8: 00000000 */ sll $zero,$zero,0x0
/* f0757ac: 450200c7 */ bc1fl .NB0f075acc
/* f0757b0: 8faf00fc */ lw $t7,0xfc($sp)
/* f0757b4: afa90078 */ sw $t1,0x78($sp)
.NB0f0757b8:
/* f0757b8: 0fc19f5d */ jal objFindBboxRodata
/* f0757bc: afa000fc */ sw $zero,0xfc($sp)
/* f0757c0: 00402025 */ or $a0,$v0,$zero
/* f0757c4: 0fc196f7 */ jal func0f06695c
/* f0757c8: 8fa50078 */ lw $a1,0x78($sp)
/* f0757cc: 3c03800a */ lui $v1,0x800a
/* f0757d0: 8c63e6f8 */ lw $v1,-0x1908($v1)
/* f0757d4: e7a00098 */ swc1 $f0,0x98($sp)
/* f0757d8: 00001025 */ or $v0,$zero,$zero
/* f0757dc: 1860004d */ blez $v1,.NB0f075914
/* f0757e0: 3c017f1a */ lui $at,0x7f1a
/* f0757e4: c430474c */ lwc1 $f16,0x474c($at)
/* f0757e8: c7a605dc */ lwc1 $f6,0x5dc($sp)
.NB0f0757ec:
/* f0757ec: c6080004 */ lwc1 $f8,0x4($s0)
/* f0757f0: c7a405e4 */ lwc1 $f4,0x5e4($sp)
/* f0757f4: 3c013f80 */ lui $at,0x3f80
/* f0757f8: 46083280 */ add.s $f10,$f6,$f8
/* f0757fc: e7aa05dc */ swc1 $f10,0x5dc($sp)
/* f075800: c606000c */ lwc1 $f6,0xc($s0)
/* f075804: 46062200 */ add.s $f8,$f4,$f6
/* f075808: 44812000 */ mtc1 $at,$f4
/* f07580c: e7a805e4 */ swc1 $f8,0x5e4($sp)
/* f075810: c60a0060 */ lwc1 $f10,0x60($s0)
/* f075814: 460a203e */ c.le.s $f4,$f10
/* f075818: 00000000 */ sll $zero,$zero,0x0
/* f07581c: 4502003a */ bc1fl .NB0f075908
/* f075820: 24420001 */ addiu $v0,$v0,0x1
/* f075824: c6060098 */ lwc1 $f6,0x98($s0)
/* f075828: 4606a03c */ c.lt.s $f20,$f6
/* f07582c: 00000000 */ sll $zero,$zero,0x0
/* f075830: 4502002c */ bc1fl .NB0f0758e4
/* f075834: c6040004 */ lwc1 $f4,0x4($s0)
/* f075838: c602000c */ lwc1 $f2,0xc($s0)
/* f07583c: c60e0004 */ lwc1 $f14,0x4($s0)
/* f075840: afa2009c */ sw $v0,0x9c($sp)
/* f075844: 46021202 */ mul.s $f8,$f2,$f2
/* f075848: 00000000 */ sll $zero,$zero,0x0
/* f07584c: 460e7282 */ mul.s $f10,$f14,$f14
/* f075850: 0c012e84 */ jal sqrtf
/* f075854: 460a4300 */ add.s $f12,$f8,$f10
/* f075858: 4600a03c */ c.lt.s $f20,$f0
/* f07585c: 3c017f1a */ lui $at,0x7f1a
/* f075860: c4304750 */ lwc1 $f16,0x4750($at)
/* f075864: 8fa2009c */ lw $v0,0x9c($sp)
/* f075868: 45000019 */ bc1f .NB0f0758d0
/* f07586c: 3c03800a */ lui $v1,0x800a
/* f075870: 3c01800a */ lui $at,0x800a
/* f075874: c426e70c */ lwc1 $f6,-0x18f4($at)
/* f075878: c6040098 */ lwc1 $f4,0x98($s0)
/* f07587c: 3c013f80 */ lui $at,0x3f80
/* f075880: 44815000 */ mtc1 $at,$f10
/* f075884: 46062202 */ mul.s $f8,$f4,$f6
/* f075888: 46004303 */ div.s $f12,$f8,$f0
/* f07588c: 460c503e */ c.le.s $f10,$f12
/* f075890: 00000000 */ sll $zero,$zero,0x0
/* f075894: 45020005 */ bc1fl .NB0f0758ac
/* f075898: c60e0004 */ lwc1 $f14,0x4($s0)
/* f07589c: e6140004 */ swc1 $f20,0x4($s0)
/* f0758a0: 1000000d */ beqz $zero,.NB0f0758d8
/* f0758a4: e614000c */ swc1 $f20,0xc($s0)
/* f0758a8: c60e0004 */ lwc1 $f14,0x4($s0)
.NB0f0758ac:
/* f0758ac: c602000c */ lwc1 $f2,0xc($s0)
/* f0758b0: 460c7102 */ mul.s $f4,$f14,$f12
/* f0758b4: 00000000 */ sll $zero,$zero,0x0
/* f0758b8: 460c1202 */ mul.s $f8,$f2,$f12
/* f0758bc: 46047181 */ sub.s $f6,$f14,$f4
/* f0758c0: 46081281 */ sub.s $f10,$f2,$f8
/* f0758c4: e6060004 */ swc1 $f6,0x4($s0)
/* f0758c8: 10000003 */ beqz $zero,.NB0f0758d8
/* f0758cc: e60a000c */ swc1 $f10,0xc($s0)
.NB0f0758d0:
/* f0758d0: e6140004 */ swc1 $f20,0x4($s0)
/* f0758d4: e614000c */ swc1 $f20,0xc($s0)
.NB0f0758d8:
/* f0758d8: 1000000a */ beqz $zero,.NB0f075904
/* f0758dc: 8c63e6f8 */ lw $v1,-0x1908($v1)
/* f0758e0: c6040004 */ lwc1 $f4,0x4($s0)
.NB0f0758e4:
/* f0758e4: c608000c */ lwc1 $f8,0xc($s0)
/* f0758e8: 3c03800a */ lui $v1,0x800a
/* f0758ec: 46102182 */ mul.s $f6,$f4,$f16
/* f0758f0: 00000000 */ sll $zero,$zero,0x0
/* f0758f4: 46104282 */ mul.s $f10,$f8,$f16
/* f0758f8: e6060004 */ swc1 $f6,0x4($s0)
/* f0758fc: e60a000c */ swc1 $f10,0xc($s0)
/* f075900: 8c63e6f8 */ lw $v1,-0x1908($v1)
.NB0f075904:
/* f075904: 24420001 */ addiu $v0,$v0,0x1
.NB0f075908:
/* f075908: 0043082a */ slt $at,$v0,$v1
/* f07590c: 5420ffb7 */ bnezl $at,.NB0f0757ec
/* f075910: c7a605dc */ lwc1 $f6,0x5dc($sp)
.NB0f075914:
/* f075914: c6440008 */ lwc1 $f4,0x8($s2)
/* f075918: 26440028 */ addiu $a0,$s2,0x28
/* f07591c: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f075920: e7a405c8 */ swc1 $f4,0x5c8($sp)
/* f075924: c646000c */ lwc1 $f6,0xc($s2)
/* f075928: e7a605cc */ swc1 $f6,0x5cc($sp)
/* f07592c: c6480010 */ lwc1 $f8,0x10($s2)
/* f075930: afa40070 */ sw $a0,0x70($sp)
/* f075934: 0fc19283 */ jal roomsCopy
/* f075938: e7a805d0 */ swc1 $f8,0x5d0($sp)
/* f07593c: 02202025 */ or $a0,$s1,$zero
/* f075940: 27a505dc */ addiu $a1,$sp,0x5dc
/* f075944: 27a605e8 */ addiu $a2,$sp,0x5e8
/* f075948: 0fc1b178 */ jal func0f06d37c
/* f07594c: 27a705f4 */ addiu $a3,$sp,0x5f4
/* f075950: 240b0001 */ addiu $t3,$zero,0x1
/* f075954: afab05d8 */ sw $t3,0x5d8($sp)
/* f075958: c64a0008 */ lwc1 $f10,0x8($s2)
/* f07595c: c7a60098 */ lwc1 $f6,0x98($sp)
/* f075960: 26270058 */ addiu $a3,$s1,0x58
/* f075964: e7aa05ac */ swc1 $f10,0x5ac($sp)
/* f075968: c644000c */ lwc1 $f4,0xc($s2)
/* f07596c: 27a405ac */ addiu $a0,$sp,0x5ac
/* f075970: 8fa50070 */ lw $a1,0x70($sp)
/* f075974: 46062200 */ add.s $f8,$f4,$f6
/* f075978: 27a600a4 */ addiu $a2,$sp,0xa4
/* f07597c: e7a805b0 */ swc1 $f8,0x5b0($sp)
/* f075980: c64a0010 */ lwc1 $f10,0x10($s2)
/* f075984: afa7007c */ sw $a3,0x7c($sp)
/* f075988: 0c00ae3e */ jal cd0002a4d0
/* f07598c: e7aa05b4 */ swc1 $f10,0x5b4($sp)
/* f075990: 00021c00 */ sll $v1,$v0,0x10
/* f075994: 1840000b */ blez $v0,.NB0f0759c4
/* f075998: 00036403 */ sra $t4,$v1,0x10
/* f07599c: 24180003 */ addiu $t8,$zero,0x3
/* f0759a0: afb80010 */ sw $t8,0x10($sp)
/* f0759a4: 27a405c8 */ addiu $a0,$sp,0x5c8
/* f0759a8: 27a505b8 */ addiu $a1,$sp,0x5b8
/* f0759ac: 27a605ac */ addiu $a2,$sp,0x5ac
/* f0759b0: 24070020 */ addiu $a3,$zero,0x20
/* f0759b4: 0c00bbe8 */ jal cd0002db98
/* f0759b8: a7ac00a2 */ sh $t4,0xa2($sp)
/* f0759bc: 10400009 */ beqz $v0,.NB0f0759e4
/* f0759c0: 87a300a2 */ lh $v1,0xa2($sp)
.NB0f0759c4:
/* f0759c4: 26440008 */ addiu $a0,$s2,0x8
/* f0759c8: 8fa50070 */ lw $a1,0x70($sp)
/* f0759cc: 27a600a4 */ addiu $a2,$sp,0xa4
/* f0759d0: 0c00ae22 */ jal cd0002a440
/* f0759d4: 8fa7007c */ lw $a3,0x7c($sp)
/* f0759d8: 00021c00 */ sll $v1,$v0,0x10
/* f0759dc: 00035403 */ sra $t2,$v1,0x10
/* f0759e0: 01401825 */ or $v1,$t2,$zero
.NB0f0759e4:
/* f0759e4: 1c600015 */ bgtz $v1,.NB0f075a3c
/* f0759e8: c7a405c8 */ lwc1 $f4,0x5c8($sp)
/* f0759ec: e6440008 */ swc1 $f4,0x8($s2)
/* f0759f0: c7a605d0 */ lwc1 $f6,0x5d0($sp)
/* f0759f4: 264e0008 */ addiu $t6,$s2,0x8
/* f0759f8: 02402025 */ or $a0,$s2,$zero
/* f0759fc: e6460010 */ swc1 $f6,0x10($s2)
/* f075a00: 0fc193ab */ jal propDeregisterRooms
/* f075a04: afae0074 */ sw $t6,0x74($sp)
/* f075a08: 27a405b8 */ addiu $a0,$sp,0x5b8
/* f075a0c: 0fc19283 */ jal roomsCopy
/* f075a10: 8fa50070 */ lw $a1,0x70($sp)
/* f075a14: 8fa40074 */ lw $a0,0x74($sp)
/* f075a18: 8fa50070 */ lw $a1,0x70($sp)
/* f075a1c: 27a600a4 */ addiu $a2,$sp,0xa4
/* f075a20: 0c00ae22 */ jal cd0002a440
/* f075a24: 8fa7007c */ lw $a3,0x7c($sp)
/* f075a28: 00021c00 */ sll $v1,$v0,0x10
/* f075a2c: 00036c03 */ sra $t5,$v1,0x10
/* f075a30: 01a01825 */ or $v1,$t5,$zero
/* f075a34: e6140004 */ swc1 $f20,0x4($s0)
/* f075a38: e614000c */ swc1 $f20,0xc($s0)
.NB0f075a3c:
/* f075a3c: 18600009 */ blez $v1,.NB0f075a64
/* f075a40: c7a805cc */ lwc1 $f8,0x5cc($sp)
/* f075a44: 0fc1a623 */ jal func0f06a620
/* f075a48: 02202025 */ or $a0,$s1,$zero
/* f075a4c: c7a800a4 */ lwc1 $f8,0xa4($sp)
/* f075a50: c7aa0098 */ lwc1 $f10,0x98($sp)
/* f075a54: 460a4101 */ sub.s $f4,$f8,$f10
/* f075a58: 46040180 */ add.s $f6,$f0,$f4
/* f075a5c: 10000002 */ beqz $zero,.NB0f075a68
/* f075a60: e646000c */ swc1 $f6,0xc($s2)
.NB0f075a64:
/* f075a64: e648000c */ swc1 $f8,0xc($s2)
.NB0f075a68:
/* f075a68: 3c017f1a */ lui $at,0x7f1a
/* f075a6c: c4304754 */ lwc1 $f16,0x4754($at)
/* f075a70: c60e0004 */ lwc1 $f14,0x4($s0)
/* f075a74: 3c017f1a */ lui $at,0x7f1a
/* f075a78: 4610703c */ c.lt.s $f14,$f16
/* f075a7c: 00000000 */ sll $zero,$zero,0x0
/* f075a80: 45020012 */ bc1fl .NB0f075acc
/* f075a84: 8faf00fc */ lw $t7,0xfc($sp)
/* f075a88: c4324758 */ lwc1 $f18,0x4758($at)
/* f075a8c: 460e903c */ c.lt.s $f18,$f14
/* f075a90: 00000000 */ sll $zero,$zero,0x0
/* f075a94: 4502000d */ bc1fl .NB0f075acc
/* f075a98: 8faf00fc */ lw $t7,0xfc($sp)
/* f075a9c: c602000c */ lwc1 $f2,0xc($s0)
/* f075aa0: 4610103c */ c.lt.s $f2,$f16
/* f075aa4: 00000000 */ sll $zero,$zero,0x0
/* f075aa8: 45020008 */ bc1fl .NB0f075acc
/* f075aac: 8faf00fc */ lw $t7,0xfc($sp)
/* f075ab0: 4602903c */ c.lt.s $f18,$f2
/* f075ab4: 00000000 */ sll $zero,$zero,0x0
/* f075ab8: 45020004 */ bc1fl .NB0f075acc
/* f075abc: 8faf00fc */ lw $t7,0xfc($sp)
/* f075ac0: e614000c */ swc1 $f20,0xc($s0)
/* f075ac4: e6140004 */ swc1 $f20,0x4($s0)
/* f075ac8: 8faf00fc */ lw $t7,0xfc($sp)
.NB0f075acc:
/* f075acc: 51e0000b */ beqzl $t7,.NB0f075afc
/* f075ad0: 8fa905d8 */ lw $t1,0x5d8($sp)
/* f075ad4: 0fc1a7a9 */ jal objEndFlight
/* f075ad8: 02202025 */ or $a0,$s1,$zero
/* f075adc: 92390003 */ lbu $t9,0x3($s1)
/* f075ae0: 24010008 */ addiu $at,$zero,0x8
/* f075ae4: 26450028 */ addiu $a1,$s2,0x28
/* f075ae8: 57210004 */ bnel $t9,$at,.NB0f075afc
/* f075aec: 8fa905d8 */ lw $t1,0x5d8($sp)
/* f075af0: 0fc24fd9 */ jal objectiveCheckMultiroomEntered
/* f075af4: 9224005c */ lbu $a0,0x5c($s1)
/* f075af8: 8fa905d8 */ lw $t1,0x5d8($sp)
.NB0f075afc:
/* f075afc: 02202025 */ or $a0,$s1,$zero
/* f075b00: 24050001 */ addiu $a1,$zero,0x1
/* f075b04: 51200004 */ beqzl $t1,.NB0f075b18
/* f075b08: 8fbf005c */ lw $ra,0x5c($sp)
/* f075b0c: 0fc1a3b7 */ jal func0f069c70
/* f075b10: 24060001 */ addiu $a2,$zero,0x1
.NB0f075b14:
/* f075b14: 8fbf005c */ lw $ra,0x5c($sp)
.NB0f075b18:
/* f075b18: 8fa205d8 */ lw $v0,0x5d8($sp)
/* f075b1c: d7b40048 */ ldc1 $f20,0x48($sp)
/* f075b20: 8fb00050 */ lw $s0,0x50($sp)
/* f075b24: 8fb10054 */ lw $s1,0x54($sp)
/* f075b28: 8fb20058 */ lw $s2,0x58($sp)
/* f075b2c: 03e00008 */ jr $ra
/* f075b30: 27bd0608 */ addiu $sp,$sp,0x608
);
#endif
void doorTick(struct prop *doorprop)
{
struct doorobj *door = (struct doorobj *)doorprop->obj;
struct model *model = door->base.model;
f32 prevfrac = door->frac;
u32 stack[2];
#if VERSION < VERSION_PAL_FINAL
static u32 debugdoor = 0;
mainOverrideVariable("debugdoor", &debugdoor);
// If debugdoor is set to 1 or to the address of this door,
// print the distance to the door to console
if (debugdoor) {
u32 addr = (u32)doorprop;
if (debugdoor == 1 || debugdoor == addr) {
f32 xdiff = doorprop->pos.x - g_Vars.players[0]->cam_pos.x;
f32 zdiff = doorprop->pos.z - g_Vars.players[0]->cam_pos.z;
sqrtf(xdiff * xdiff + zdiff * zdiff);
}
}
#endif
// If door should autoclose this tick
if (door->lastopen60 > 0
&& door->mode == DOORMODE_IDLE
&& (door->base.flags & OBJFLAG_DOOR_KEEPOPEN) == 0
&& door->lastopen60 < g_Vars.lvframe60 - PALDOWN(door->autoclosetime)) {
// Check if any sibling is automatic
struct doorobj *loopdoor = door->sibling;
bool pass = door->doorflags & DOORFLAG_AUTOMATIC;
while (loopdoor && loopdoor != door && !pass) {
pass = loopdoor->doorflags & DOORFLAG_AUTOMATIC;
loopdoor = loopdoor->sibling;
}
if (!pass) {
// Not automatic
doorsRequestMode(door, DOORMODE_CLOSING);
} else if (door->doorflags & DOORFLAG_AUTOMATIC) {
// Check if any sibling has anything in range
pass = !doorIsRangeEmpty(door);
loopdoor = door->sibling;
while (loopdoor && loopdoor != door && !pass) {
pass = !doorIsRangeEmpty(loopdoor);
loopdoor = loopdoor->sibling;
}
if (pass) {
// Something is in range, so keep open
loopdoor = door->sibling;
door->lastopen60 = g_Vars.lvframe60;
while (loopdoor && loopdoor != door) {
loopdoor->lastopen60 = g_Vars.lvframe60;
loopdoor = loopdoor->sibling;
}
} else {
doorsRequestMode(door, DOORMODE_CLOSING);
}
}
}
// If waiting for sibling to close, check for that
if (door->mode == DOORMODE_WAITING) {
bool shouldopen = true;
struct doorobj *loopdoor = door->sibling;
while (loopdoor && loopdoor != door) {
if (loopdoor->mode != DOORMODE_IDLE || loopdoor->frac > 0) {
shouldopen = false;
}
loopdoor = loopdoor->sibling;
}
if (shouldopen) {
doorSetMode(door, DOORMODE_OPENING);
}
}
// Open fall-away doors if padlock free (GE only)
if (door->doortype == DOORTYPE_FALLAWAY && doorIsClosed(door) && doorIsPadlockFree(door)) {
doorsActivate(doorprop, false);
}
// Update frac
if (door->lastcalc60 < g_Vars.lvframe60 || g_Vars.lvupdate240 == 0) {
doorsCalcFrac(door);
}
// Consider playing a sound effect
if (model->filedata->skel == &g_Skel13) {
f32 soundpoint = door->maxfrac * 0.3f;
if (door->frac > soundpoint) {
if (prevfrac <= soundpoint) {
// frac increased past the soundpoint
func0f0939f8(NULL, doorprop, SFX_DOOR_8014, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
}
} else {
if (prevfrac > soundpoint) {
// frac decreased past the soundpoint
func0f0939f8(NULL, doorprop, SFX_DOOR_8015, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
}
}
}
}
struct escastepkeyframe g_EscaStepKeyframesX[] = {
{ 0, { -1535.98, -511, -5258.18 } },
{ 41, { -1535.98, -505.76, -5188.43 } },
{ 149, { -1535.98, -504.79, -5008.75 } },
{ 698, { -1535.98, -100.91, -4210.86 } },
{ 759, { -1535.98, -98.89, -4109.62 } },
{ 800, { -1535.98, -102, -4039.06 } },
{ -1, { 0, 0, 0 } },
};
struct escastepkeyframe g_EscaStepKeyframesZ[] = {
{ 0, { -1932.27, -102, -3824.58 } },
{ 41, { -2002.83, -98.89, -3824.58 } },
{ 102, { -2104.07, -100.91, -3824.58 } },
{ 651, { -2901.96, -504.79, -3824.58 } },
{ 759, { -3081.64, -505.76, -3824.58 } },
{ 800, { -3151.39, -511, -3824.58 } },
{ -1, { 0, 0, 0 } },
};
u32 var80069cb8 = 0x2b000000;
u32 var80069cbc = 0x0e000001;
u32 var80069cc0 = 0x00000000;
const char var7f1a9fe8[] = "************** RWI : Door Stuck Mate -> Sort it out\n";
#if VERSION >= VERSION_PAL_FINAL
const char var7f1aa020[] = "prop/propobj.c";
const char var7f1aa02c[] = "prop/propobj.c";
const char var7f1aa038[] = "prop/propobj.c";
const char var7f1aa044[] = "prop/propobj.c";
#else
const char var7f1aa020[] = "propobj.c";
const char var7f1aa02c[] = "propobj.c";
const char var7f1aa038[] = "propobj.c";
const char var7f1aa044[] = "propobj.c";
#endif
const char var7f1aa050[] = "HC: %x - visible\n";
void doorUpdatePortalIfWindowed(struct prop *doorprop, s32 playercount)
{
struct doorobj *doorobj = doorprop->door;
struct modelnode *node;
bool canhide = true;
struct model *model = doorprop->obj->model;
union modelrwdata *rwdata;
if (doorobj->doorflags & DOORFLAG_WINDOWED) {
doorobj->fadealpha = glassCalculateOpacity(&doorprop->pos, doorobj->xludist, doorobj->opadist, 0);
if (doorobj->fadealpha != 255 || doorobj->frac > 0) {
canhide = false;
}
if (model->filedata->skel == &g_SkelWindowedDoor) {
node = modelGetPart(model->filedata, MODELPART_WINDOWEDDOOR_0001);
rwdata = modelGetNodeRwData(model, node);
if (!rwdata->toggle.visible) {
canhide = false;
}
}
if (playercount >= 2) {
canhide = false;
}
if (canhide) {
doorDeactivatePortal(doorobj);
} else {
doorActivatePortal(doorobj);
}
}
}
GLOBAL_ASM(
glabel doorInitMatrices
.late_rodata
glabel var7f1aa440
.word 0x3c8ef461
glabel var7f1aa444
.word 0x40c907a9
glabel var7f1aa448
.word 0x3c8ef461
glabel var7f1aa44c
.word 0x3e99999a
.text
/* f077448: 27bdffb8 */ addiu $sp,$sp,-72
/* f07744c: afbf0044 */ sw $ra,0x44($sp)
/* f077450: afb70040 */ sw $s7,0x40($sp)
/* f077454: afb6003c */ sw $s6,0x3c($sp)
/* f077458: afb50038 */ sw $s5,0x38($sp)
/* f07745c: afb40034 */ sw $s4,0x34($sp)
/* f077460: afb30030 */ sw $s3,0x30($sp)
/* f077464: afb2002c */ sw $s2,0x2c($sp)
/* f077468: afb10028 */ sw $s1,0x28($sp)
/* f07746c: afb00024 */ sw $s0,0x24($sp)
/* f077470: f7b60018 */ sdc1 $f22,0x18($sp)
/* f077474: f7b40010 */ sdc1 $f20,0x10($sp)
/* f077478: 8c900004 */ lw $s0,0x4($a0)
/* f07747c: 8e160018 */ lw $s6,0x18($s0)
/* f077480: 02002025 */ or $a0,$s0,$zero
/* f077484: 8ed5000c */ lw $s5,0xc($s6)
/* f077488: 0fc23109 */ jal func0f08c424
/* f07748c: 02a02825 */ or $a1,$s5,$zero
/* f077490: 0fc2d5be */ jal currentPlayerGetMatrix1740
/* f077494: 00000000 */ nop
/* f077498: 00402025 */ or $a0,$v0,$zero
/* f07749c: 0c0056f8 */ jal mtx00015be0
/* f0774a0: 02a02825 */ or $a1,$s5,$zero
/* f0774a4: 8ec40008 */ lw $a0,0x8($s6)
/* f0774a8: 3c0e8008 */ lui $t6,%hi(g_Skel11)
/* f0774ac: 25ceae84 */ addiu $t6,$t6,%lo(g_Skel11)
/* f0774b0: 8c820004 */ lw $v0,0x4($a0)
/* f0774b4: 3c0f8008 */ lui $t7,%hi(g_Skel13)
/* f0774b8: 3c017f1b */ lui $at,%hi(var7f1aa440)
/* f0774bc: 15c20024 */ bne $t6,$v0,.L0f077550
/* f0774c0: 25efaea8 */ addiu $t7,$t7,%lo(g_Skel13)
/* f0774c4: c42ea440 */ lwc1 $f14,%lo(var7f1aa440)($at)
/* f0774c8: c604007c */ lwc1 $f4,0x7c($s0)
/* f0774cc: 3c017f1b */ lui $at,%hi(var7f1aa444)
/* f0774d0: c436a444 */ lwc1 $f22,%lo(var7f1aa444)($at)
/* f0774d4: 460e2182 */ mul.s $f6,$f4,$f14
/* f0774d8: 24050001 */ addiu $a1,$zero,0x1
/* f0774dc: 0c006a6f */ jal modelGetPartRodata
/* f0774e0: 4606b501 */ sub.s $f20,$f22,$f6
/* f0774e4: 26b10040 */ addiu $s1,$s5,0x40
/* f0774e8: 00408025 */ or $s0,$v0,$zero
/* f0774ec: 02202825 */ or $a1,$s1,$zero
/* f0774f0: 0c0058ba */ jal mtx4LoadXRotation
/* f0774f4: 4600a306 */ mov.s $f12,$f20
/* f0774f8: 02002025 */ or $a0,$s0,$zero
/* f0774fc: 0c005775 */ jal mtx4SetTranslation
/* f077500: 02202825 */ or $a1,$s1,$zero
/* f077504: 02a02025 */ or $a0,$s5,$zero
/* f077508: 0c00567f */ jal mtx4MultMtx4InPlace
/* f07750c: 02202825 */ or $a1,$s1,$zero
/* f077510: 8ec40008 */ lw $a0,0x8($s6)
/* f077514: 0c006a6f */ jal modelGetPartRodata
/* f077518: 24050002 */ addiu $a1,$zero,0x2
/* f07751c: 26b10080 */ addiu $s1,$s5,0x80
/* f077520: 00408025 */ or $s0,$v0,$zero
/* f077524: 02202825 */ or $a1,$s1,$zero
/* f077528: 0c0058ba */ jal mtx4LoadXRotation
/* f07752c: 4614b301 */ sub.s $f12,$f22,$f20
/* f077530: 02002025 */ or $a0,$s0,$zero
/* f077534: 0c005775 */ jal mtx4SetTranslation
/* f077538: 02202825 */ or $a1,$s1,$zero
/* f07753c: 02a02025 */ or $a0,$s5,$zero
/* f077540: 0c00567f */ jal mtx4MultMtx4InPlace
/* f077544: 02202825 */ or $a1,$s1,$zero
/* f077548: 1000003c */ b .L0f07763c
/* f07754c: 8fbf0044 */ lw $ra,0x44($sp)
.L0f077550:
/* f077550: 15e20039 */ bne $t7,$v0,.L0f077638
/* f077554: 3c017f1b */ lui $at,%hi(var7f1aa448)
/* f077558: c42ea448 */ lwc1 $f14,%lo(var7f1aa448)($at)
/* f07755c: c600007c */ lwc1 $f0,0x7c($s0)
/* f077560: 3c017f1b */ lui $at,%hi(var7f1aa44c)
/* f077564: c428a44c */ lwc1 $f8,%lo(var7f1aa44c)($at)
/* f077568: c60c005c */ lwc1 $f12,0x5c($s0)
/* f07756c: 460e0582 */ mul.s $f22,$f0,$f14
/* f077570: 4480a000 */ mtc1 $zero,$f20
/* f077574: 0000a025 */ or $s4,$zero,$zero
/* f077578: 46086082 */ mul.s $f2,$f12,$f8
/* f07757c: 24170006 */ addiu $s7,$zero,0x6
/* f077580: 4600103c */ c.lt.s $f2,$f0
/* f077584: 00000000 */ nop
/* f077588: 45000007 */ bc1f .L0f0775a8
/* f07758c: 00000000 */ nop
/* f077590: 46020281 */ sub.s $f10,$f0,$f2
/* f077594: 46026481 */ sub.s $f18,$f12,$f2
/* f077598: 460a6402 */ mul.s $f16,$f12,$f10
/* f07759c: 46128103 */ div.s $f4,$f16,$f18
/* f0775a0: 460e2502 */ mul.s $f20,$f4,$f14
/* f0775a4: 00000000 */ nop
.L0f0775a8:
/* f0775a8: 00148840 */ sll $s1,$s4,0x1
.L0f0775ac:
/* f0775ac: 26330001 */ addiu $s3,$s1,0x1
/* f0775b0: 02602825 */ or $a1,$s3,$zero
/* f0775b4: 0c006a6f */ jal modelGetPartRodata
/* f0775b8: 8ec40008 */ lw $a0,0x8($s6)
/* f0775bc: 0013c180 */ sll $t8,$s3,0x6
/* f0775c0: 02b89021 */ addu $s2,$s5,$t8
/* f0775c4: 00408025 */ or $s0,$v0,$zero
/* f0775c8: 02402825 */ or $a1,$s2,$zero
/* f0775cc: 0c005900 */ jal mtx4LoadZRotation
/* f0775d0: 4600a306 */ mov.s $f12,$f20
/* f0775d4: 02002025 */ or $a0,$s0,$zero
/* f0775d8: 0c005775 */ jal mtx4SetTranslation
/* f0775dc: 02402825 */ or $a1,$s2,$zero
/* f0775e0: 02a02025 */ or $a0,$s5,$zero
/* f0775e4: 0c00567f */ jal mtx4MultMtx4InPlace
/* f0775e8: 02402825 */ or $a1,$s2,$zero
/* f0775ec: 26330002 */ addiu $s3,$s1,0x2
/* f0775f0: 02602825 */ or $a1,$s3,$zero
/* f0775f4: 0c006a6f */ jal modelGetPartRodata
/* f0775f8: 8ec40008 */ lw $a0,0x8($s6)
/* f0775fc: 0013c980 */ sll $t9,$s3,0x6
/* f077600: 02b98821 */ addu $s1,$s5,$t9
/* f077604: 00408025 */ or $s0,$v0,$zero
/* f077608: 02202825 */ or $a1,$s1,$zero
/* f07760c: 0c005900 */ jal mtx4LoadZRotation
/* f077610: 4600b306 */ mov.s $f12,$f22
/* f077614: 02002025 */ or $a0,$s0,$zero
/* f077618: 0c005775 */ jal mtx4SetTranslation
/* f07761c: 02202825 */ or $a1,$s1,$zero
/* f077620: 02402025 */ or $a0,$s2,$zero
/* f077624: 0c00567f */ jal mtx4MultMtx4InPlace
/* f077628: 02202825 */ or $a1,$s1,$zero
/* f07762c: 26940001 */ addiu $s4,$s4,0x1
/* f077630: 5697ffde */ bnel $s4,$s7,.L0f0775ac
/* f077634: 00148840 */ sll $s1,$s4,0x1
.L0f077638:
/* f077638: 8fbf0044 */ lw $ra,0x44($sp)
.L0f07763c:
/* f07763c: d7b40010 */ ldc1 $f20,0x10($sp)
/* f077640: d7b60018 */ ldc1 $f22,0x18($sp)
/* f077644: 8fb00024 */ lw $s0,0x24($sp)
/* f077648: 8fb10028 */ lw $s1,0x28($sp)
/* f07764c: 8fb2002c */ lw $s2,0x2c($sp)
/* f077650: 8fb30030 */ lw $s3,0x30($sp)
/* f077654: 8fb40034 */ lw $s4,0x34($sp)
/* f077658: 8fb50038 */ lw $s5,0x38($sp)
/* f07765c: 8fb6003c */ lw $s6,0x3c($sp)
/* f077660: 8fb70040 */ lw $s7,0x40($sp)
/* f077664: 03e00008 */ jr $ra
/* f077668: 27bd0048 */ addiu $sp,$sp,0x48
);
// Mismatch: regalloc
//void doorInitMatrices(struct prop *prop)
//{
// struct doorobj *door = prop->door;
// struct model *model = door->base.model;
// Mtxf *matrices = model->matrices;
// union modelrodata *rodata;
//
// func0f08c424(door, matrices);
// mtx00015be0(currentPlayerGetMatrix1740(), matrices);
//
// if (model->filedata->type == &g_Skel11) {
// f32 xrot = M_BADTAU - door->frac * 0.017450513318181f;
//
// rodata = modelGetPartRodata(model->filedata, 1);
// mtx4LoadXRotation(xrot, &matrices[1]);
// mtx4SetTranslation(&rodata->position.pos, &matrices[1]);
// mtx4MultMtx4InPlace(matrices, &matrices[1]);
//
// rodata = modelGetPartRodata(model->filedata, 2);
// mtx4LoadXRotation(M_BADTAU - xrot, &matrices[2]);
// mtx4SetTranslation(&rodata->position.pos, &matrices[2]);
// mtx4MultMtx4InPlace(matrices, &matrices[2]);
// } else if (model->filedata->type == &g_Skel13) {
// f32 zrot1 = 0;
// f32 zrot2 = door->frac * 0.017450513318181f;
// f32 limit = door->maxfrac * 0.3f;
// s32 i;
//
// if (door->frac > limit) {
// zrot1 = ((door->maxfrac * (door->frac - limit)) / (door->maxfrac - limit)) * 0.017450513318181f;
// }
//
// for (i = 0; i < 6; i++) {
// s32 index = i << 1;
//
// rodata = modelGetPartRodata(model->filedata, index + 1);
// mtx4LoadZRotation(zrot1, &matrices[index + 1]);
// mtx4SetTranslation(&rodata->position.pos, &matrices[index + 1]);
// mtx4MultMtx4InPlace(matrices, &matrices[index + 1]);
//
// rodata = modelGetPartRodata(model->filedata, index + 2);
// mtx4LoadZRotation(zrot2, &matrices[index + 2]);
// mtx4SetTranslation(&rodata->position.pos, &matrices[index + 2]);
// mtx4MultMtx4InPlace(&matrices[index + 1], &matrices[index + 2]);
// }
// }
//}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel platformDisplaceProps
.late_rodata
glabel var7f1aa450
.word 0x3d5ed290
glabel var7f1aa454
.word 0x4106ae1e
.text
/* f07766c: 27bdff40 */ addiu $sp,$sp,-192
/* f077670: afbf0054 */ sw $ra,0x54($sp)
/* f077674: afbe0050 */ sw $s8,0x50($sp)
/* f077678: afb7004c */ sw $s7,0x4c($sp)
/* f07767c: afb60048 */ sw $s6,0x48($sp)
/* f077680: afb50044 */ sw $s5,0x44($sp)
/* f077684: afb40040 */ sw $s4,0x40($sp)
/* f077688: afb3003c */ sw $s3,0x3c($sp)
/* f07768c: afb20038 */ sw $s2,0x38($sp)
/* f077690: afb10034 */ sw $s1,0x34($sp)
/* f077694: afb00030 */ sw $s0,0x30($sp)
/* f077698: f7b80028 */ sdc1 $f24,0x28($sp)
/* f07769c: f7b60020 */ sdc1 $f22,0x20($sp)
/* f0776a0: f7b40018 */ sdc1 $f20,0x18($sp)
/* f0776a4: 84ae0000 */ lh $t6,0x0($a1)
/* f0776a8: 00e0a825 */ or $s5,$a3,$zero
/* f0776ac: 00c0b025 */ or $s6,$a2,$zero
/* f0776b0: 05c00148 */ bltz $t6,.L0f077bd4
/* f0776b4: 0080f025 */ or $s8,$a0,$zero
/* f0776b8: 84a30000 */ lh $v1,0x0($a1)
/* f0776bc: 3c017f1b */ lui $at,%hi(var7f1aa450)
/* f0776c0: 4480b000 */ mtc1 $zero,$f22
/* f0776c4: c438a450 */ lwc1 $f24,%lo(var7f1aa450)($at)
/* f0776c8: afa500b8 */ sw $a1,0xb8($sp)
.L0f0776cc:
/* f0776cc: 3c18800a */ lui $t8,%hi(g_Vars+0x338)
/* f0776d0: 8f18a2f8 */ lw $t8,%lo(g_Vars+0x338)($t8)
/* f0776d4: 000378c0 */ sll $t7,$v1,0x3
/* f0776d8: 01e37821 */ addu $t7,$t7,$v1
/* f0776dc: 000f78c0 */ sll $t7,$t7,0x3
/* f0776e0: 01f88821 */ addu $s1,$t7,$t8
/* f0776e4: 92220000 */ lbu $v0,0x0($s1)
/* f0776e8: 24010001 */ addiu $at,$zero,0x1
/* f0776ec: 10410003 */ beq $v0,$at,.L0f0776fc
/* f0776f0: 24010004 */ addiu $at,$zero,0x4
/* f0776f4: 54410046 */ bnel $v0,$at,.L0f077810
/* f0776f8: 24010003 */ addiu $at,$zero,0x3
.L0f0776fc:
/* f0776fc: 8e300004 */ lw $s0,0x4($s1)
/* f077700: 8e020040 */ lw $v0,0x40($s0)
/* f077704: 0002cb80 */ sll $t9,$v0,0xe
/* f077708: 0720012c */ bltz $t9,.L0f077bbc
/* f07770c: 30480080 */ andi $t0,$v0,0x80
/* f077710: 11000006 */ beqz $t0,.L0f07772c
/* f077714: 00001025 */ or $v0,$zero,$zero
/* f077718: 8e090048 */ lw $t1,0x48($s0)
/* f07771c: 8d2a0000 */ lw $t2,0x0($t1)
/* f077720: 314b0c00 */ andi $t3,$t2,0xc00
/* f077724: 51600126 */ beqzl $t3,.L0f077bc0
/* f077728: 8fac00b8 */ lw $t4,0xb8($sp)
.L0f07772c:
/* f07772c: 92030003 */ lbu $v1,0x3($s0)
/* f077730: 24010035 */ addiu $at,$zero,0x35
/* f077734: 27d30008 */ addiu $s3,$s8,0x8
/* f077738: 14610003 */ bne $v1,$at,.L0f077748
/* f07773c: 27d40028 */ addiu $s4,$s8,0x28
/* f077740: 10000005 */ b .L0f077758
/* f077744: 2602005c */ addiu $v0,$s0,0x5c
.L0f077748:
/* f077748: 24010033 */ addiu $at,$zero,0x33
/* f07774c: 14610002 */ bne $v1,$at,.L0f077758
/* f077750: 00000000 */ nop
/* f077754: 2602005c */ addiu $v0,$s0,0x5c
.L0f077758:
/* f077758: 5040000e */ beqzl $v0,.L0f077794
/* f07775c: c6b00000 */ lwc1 $f16,0x0($s5)
/* f077760: c6a40004 */ lwc1 $f4,0x4($s5)
/* f077764: c6c60004 */ lwc1 $f6,0x4($s6)
/* f077768: c44a0030 */ lwc1 $f10,0x30($v0)
/* f07776c: 46062201 */ sub.s $f8,$f4,$f6
/* f077770: 46085400 */ add.s $f16,$f10,$f8
/* f077774: c44a0034 */ lwc1 $f10,0x34($v0)
/* f077778: e4500030 */ swc1 $f16,0x30($v0)
/* f07777c: c6c40004 */ lwc1 $f4,0x4($s6)
/* f077780: c6b20004 */ lwc1 $f18,0x4($s5)
/* f077784: 46049181 */ sub.s $f6,$f18,$f4
/* f077788: 46065200 */ add.s $f8,$f10,$f6
/* f07778c: e4480034 */ swc1 $f8,0x34($v0)
/* f077790: c6b00000 */ lwc1 $f16,0x0($s5)
.L0f077794:
/* f077794: c6d20000 */ lwc1 $f18,0x0($s6)
/* f077798: c62a0008 */ lwc1 $f10,0x8($s1)
/* f07779c: 02202025 */ or $a0,$s1,$zero
/* f0777a0: 46128101 */ sub.s $f4,$f16,$f18
/* f0777a4: 46045180 */ add.s $f6,$f10,$f4
/* f0777a8: c62a000c */ lwc1 $f10,0xc($s1)
/* f0777ac: e6260008 */ swc1 $f6,0x8($s1)
/* f0777b0: c6d00004 */ lwc1 $f16,0x4($s6)
/* f0777b4: c6a80004 */ lwc1 $f8,0x4($s5)
/* f0777b8: 46104481 */ sub.s $f18,$f8,$f16
/* f0777bc: 46125100 */ add.s $f4,$f10,$f18
/* f0777c0: c62a0010 */ lwc1 $f10,0x10($s1)
/* f0777c4: e624000c */ swc1 $f4,0xc($s1)
/* f0777c8: c6c80008 */ lwc1 $f8,0x8($s6)
/* f0777cc: c6a60008 */ lwc1 $f6,0x8($s5)
/* f0777d0: 46083401 */ sub.s $f16,$f6,$f8
/* f0777d4: 46105480 */ add.s $f18,$f10,$f16
/* f0777d8: 0fc19711 */ jal propDeregisterRooms
/* f0777dc: e6320010 */ swc1 $f18,0x10($s1)
/* f0777e0: 02602025 */ or $a0,$s3,$zero
/* f0777e4: 02802825 */ or $a1,$s4,$zero
/* f0777e8: 26260008 */ addiu $a2,$s1,0x8
/* f0777ec: 0fc1979d */ jal func0f065e74
/* f0777f0: 26270028 */ addiu $a3,$s1,0x28
/* f0777f4: 02002025 */ or $a0,$s0,$zero
/* f0777f8: 24050001 */ addiu $a1,$zero,0x1
/* f0777fc: 0fc1a71c */ jal func0f069c70
/* f077800: 24060001 */ addiu $a2,$zero,0x1
/* f077804: 100000ee */ b .L0f077bc0
/* f077808: 8fac00b8 */ lw $t4,0xb8($sp)
/* f07780c: 24010003 */ addiu $at,$zero,0x3
.L0f077810:
/* f077810: 5441004b */ bnel $v0,$at,.L0f077940
/* f077814: 24010006 */ addiu $at,$zero,0x6
/* f077818: 8e300004 */ lw $s0,0x4($s1)
/* f07781c: c60400c0 */ lwc1 $f4,0xc0($s0)
/* f077820: 4604b032 */ c.eq.s $f22,$f4
/* f077824: 00000000 */ nop
/* f077828: 450200e5 */ bc1fl .L0f077bc0
/* f07782c: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077830: c6a60004 */ lwc1 $f6,0x4($s5)
/* f077834: c6c80004 */ lwc1 $f8,0x4($s6)
/* f077838: c61000b8 */ lwc1 $f16,0xb8($s0)
/* f07783c: 3c017f1b */ lui $at,%hi(var7f1aa454)
/* f077840: 46083281 */ sub.s $f10,$f6,$f8
/* f077844: 27d30008 */ addiu $s3,$s8,0x8
/* f077848: 27d40028 */ addiu $s4,$s8,0x28
/* f07784c: 02202025 */ or $a0,$s1,$zero
/* f077850: 460a8480 */ add.s $f18,$f16,$f10
/* f077854: c61000b4 */ lwc1 $f16,0xb4($s0)
/* f077858: e61200b8 */ swc1 $f18,0xb8($s0)
/* f07785c: c6c60004 */ lwc1 $f6,0x4($s6)
/* f077860: c6a40004 */ lwc1 $f4,0x4($s5)
/* f077864: 46062201 */ sub.s $f8,$f4,$f6
/* f077868: 46088280 */ add.s $f10,$f16,$f8
/* f07786c: e60a00b4 */ swc1 $f10,0xb4($s0)
/* f077870: c424a454 */ lwc1 $f4,%lo(var7f1aa454)($at)
/* f077874: c61200b4 */ lwc1 $f18,0xb4($s0)
/* f077878: 46049182 */ mul.s $f6,$f18,$f4
/* f07787c: e60600b0 */ swc1 $f6,0xb0($s0)
/* f077880: c6c80000 */ lwc1 $f8,0x0($s6)
/* f077884: c6b00000 */ lwc1 $f16,0x0($s5)
/* f077888: c6320008 */ lwc1 $f18,0x8($s1)
/* f07788c: 46088281 */ sub.s $f10,$f16,$f8
/* f077890: 460a9100 */ add.s $f4,$f18,$f10
/* f077894: c632000c */ lwc1 $f18,0xc($s1)
/* f077898: e6240008 */ swc1 $f4,0x8($s1)
/* f07789c: c6d00004 */ lwc1 $f16,0x4($s6)
/* f0778a0: c6a60004 */ lwc1 $f6,0x4($s5)
/* f0778a4: 46103201 */ sub.s $f8,$f6,$f16
/* f0778a8: 46089280 */ add.s $f10,$f18,$f8
/* f0778ac: c6320010 */ lwc1 $f18,0x10($s1)
/* f0778b0: e62a000c */ swc1 $f10,0xc($s1)
/* f0778b4: c6c60008 */ lwc1 $f6,0x8($s6)
/* f0778b8: c6a40008 */ lwc1 $f4,0x8($s5)
/* f0778bc: 46062401 */ sub.s $f16,$f4,$f6
/* f0778c0: 46109200 */ add.s $f8,$f18,$f16
/* f0778c4: 0fc19711 */ jal propDeregisterRooms
/* f0778c8: e6280010 */ swc1 $f8,0x10($s1)
/* f0778cc: 26320008 */ addiu $s2,$s1,0x8
/* f0778d0: 02403025 */ or $a2,$s2,$zero
/* f0778d4: 02602025 */ or $a0,$s3,$zero
/* f0778d8: 02802825 */ or $a1,$s4,$zero
/* f0778dc: 0fc1979d */ jal func0f065e74
/* f0778e0: 26270028 */ addiu $a3,$s1,0x28
/* f0778e4: 0fc0882b */ jal chr0f0220ac
/* f0778e8: 02002025 */ or $a0,$s0,$zero
/* f0778ec: 8e040020 */ lw $a0,0x20($s0)
/* f0778f0: 0c006b4d */ jal modelSetRootPosition
/* f0778f4: 02402825 */ or $a1,$s2,$zero
/* f0778f8: 8e040020 */ lw $a0,0x20($s0)
/* f0778fc: 24010001 */ addiu $at,$zero,0x1
/* f077900: 8c8c0008 */ lw $t4,0x8($a0)
/* f077904: 8d850000 */ lw $a1,0x0($t4)
/* f077908: 94a20000 */ lhu $v0,0x0($a1)
/* f07790c: 304d00ff */ andi $t5,$v0,0xff
/* f077910: 55a100ab */ bnel $t5,$at,.L0f077bc0
/* f077914: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077918: 0c006a87 */ jal modelGetNodeRwData
/* f07791c: 00000000 */ nop
/* f077920: c6aa0004 */ lwc1 $f10,0x4($s5)
/* f077924: c6c40004 */ lwc1 $f4,0x4($s6)
/* f077928: c4520004 */ lwc1 $f18,0x4($v0)
/* f07792c: 46045181 */ sub.s $f6,$f10,$f4
/* f077930: 46069400 */ add.s $f16,$f18,$f6
/* f077934: 100000a1 */ b .L0f077bbc
/* f077938: e4500004 */ swc1 $f16,0x4($v0)
/* f07793c: 24010006 */ addiu $at,$zero,0x6
.L0f077940:
/* f077940: 1441009e */ bne $v0,$at,.L0f077bbc
/* f077944: 02202025 */ or $a0,$s1,$zero
/* f077948: 0fc4a25f */ jal propGetPlayerNum
/* f07794c: 8fd40004 */ lw $s4,0x4($s8)
/* f077950: 928e0003 */ lbu $t6,0x3($s4)
/* f077954: 24010030 */ addiu $at,$zero,0x30
/* f077958: 00409825 */ or $s3,$v0,$zero
/* f07795c: 15c10097 */ bne $t6,$at,.L0f077bbc
/* f077960: 00027880 */ sll $t7,$v0,0x2
/* f077964: 3c18800a */ lui $t8,%hi(g_Vars)
/* f077968: 27189fc0 */ addiu $t8,$t8,%lo(g_Vars)
/* f07796c: 01f8c821 */ addu $t9,$t7,$t8
/* f077970: 8f230064 */ lw $v1,0x64($t9)
/* f077974: 8c680298 */ lw $t0,0x298($v1)
/* f077978: 57c80091 */ bnel $s8,$t0,.L0f077bc0
/* f07797c: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077980: 8c6901b0 */ lw $t1,0x1b0($v1)
/* f077984: 5520008e */ bnezl $t1,.L0f077bc0
/* f077988: 8fac00b8 */ lw $t4,0xb8($sp)
/* f07798c: 8e8a0008 */ lw $t2,0x8($s4)
/* f077990: 00026080 */ sll $t4,$v0,0x2
/* f077994: 01989021 */ addu $s2,$t4,$t8
/* f077998: 000a5880 */ sll $t3,$t2,0x2
/* f07799c: 05610026 */ bgez $t3,.L0f077a38
/* f0779a0: 00000000 */ nop
/* f0779a4: c6a80000 */ lwc1 $f8,0x0($s5)
/* f0779a8: c6ca0000 */ lwc1 $f10,0x0($s6)
/* f0779ac: 8e500064 */ lw $s0,0x64($s2)
/* f0779b0: 3c17800a */ lui $s7,%hi(g_Vars+0x28c)
/* f0779b4: 460a4101 */ sub.s $f4,$f8,$f10
/* f0779b8: c6121c44 */ lwc1 $f18,0x1c44($s0)
/* f0779bc: 00402025 */ or $a0,$v0,$zero
/* f0779c0: 46049180 */ add.s $f6,$f18,$f4
/* f0779c4: e6061c44 */ swc1 $f6,0x1c44($s0)
/* f0779c8: c6c80008 */ lwc1 $f8,0x8($s6)
/* f0779cc: c6b00008 */ lwc1 $f16,0x8($s5)
/* f0779d0: 8e500064 */ lw $s0,0x64($s2)
/* f0779d4: 46088281 */ sub.s $f10,$f16,$f8
/* f0779d8: c6121c4c */ lwc1 $f18,0x1c4c($s0)
/* f0779dc: 460a9100 */ add.s $f4,$f18,$f10
/* f0779e0: e6041c4c */ swc1 $f4,0x1c4c($s0)
/* f0779e4: c6d00000 */ lwc1 $f16,0x0($s6)
/* f0779e8: c6a60000 */ lwc1 $f6,0x0($s5)
/* f0779ec: e7b60090 */ swc1 $f22,0x90($sp)
/* f0779f0: 8ef7a24c */ lw $s7,%lo(g_Vars+0x28c)($s7)
/* f0779f4: 46103201 */ sub.s $f8,$f6,$f16
/* f0779f8: e7a8008c */ swc1 $f8,0x8c($sp)
/* f0779fc: c6ca0008 */ lwc1 $f10,0x8($s6)
/* f077a00: c6b20008 */ lwc1 $f18,0x8($s5)
/* f077a04: 460a9101 */ sub.s $f4,$f18,$f10
/* f077a08: 0fc4a24b */ jal setCurrentPlayerNum
/* f077a0c: e7a40094 */ swc1 $f4,0x94($sp)
/* f077a10: 27a4008c */ addiu $a0,$sp,0x8c
/* f077a14: 24050001 */ addiu $a1,$zero,0x1
/* f077a18: 0fc318ef */ jal bwalk0f0c63bc
/* f077a1c: 24060020 */ addiu $a2,$zero,0x20
/* f077a20: 0fc307fd */ jal playerUpdatePerimInfo
/* f077a24: 00000000 */ nop
/* f077a28: 0fc32e31 */ jal bmove0f0cb8c4
/* f077a2c: 8e440064 */ lw $a0,0x64($s2)
/* f077a30: 0fc4a24b */ jal setCurrentPlayerNum
/* f077a34: 02e02025 */ or $a0,$s7,$zero
.L0f077a38:
/* f077a38: 3c0e800a */ lui $t6,%hi(g_Vars)
/* f077a3c: 25ce9fc0 */ addiu $t6,$t6,%lo(g_Vars)
/* f077a40: 00136880 */ sll $t5,$s3,0x2
/* f077a44: 01ae9021 */ addu $s2,$t5,$t6
/* f077a48: 8e500064 */ lw $s0,0x64($s2)
/* f077a4c: 8e0f02b0 */ lw $t7,0x2b0($s0)
/* f077a50: 51e0005b */ beqzl $t7,.L0f077bc0
/* f077a54: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a58: 8e1902ac */ lw $t9,0x2ac($s0)
/* f077a5c: 57200058 */ bnezl $t9,.L0f077bc0
/* f077a60: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a64: 8e080030 */ lw $t0,0x30($s0)
/* f077a68: 55000055 */ bnezl $t0,.L0f077bc0
/* f077a6c: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a70: c6a60004 */ lwc1 $f6,0x4($s5)
/* f077a74: c6d00004 */ lwc1 $f16,0x4($s6)
/* f077a78: 46103501 */ sub.s $f20,$f6,$f16
/* f077a7c: 4616a032 */ c.eq.s $f20,$f22
/* f077a80: 00000000 */ nop
/* f077a84: 4503004e */ bc1tl .L0f077bc0
/* f077a88: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a8c: c6081c48 */ lwc1 $f8,0x1c48($s0)
/* f077a90: 3c17800a */ lui $s7,%hi(g_Vars+0x28c)
/* f077a94: 02602025 */ or $a0,$s3,$zero
/* f077a98: 46144480 */ add.s $f18,$f8,$f20
/* f077a9c: e6121c48 */ swc1 $f18,0x1c48($s0)
/* f077aa0: 0fc4a24b */ jal setCurrentPlayerNum
/* f077aa4: 8ef7a24c */ lw $s7,%lo(g_Vars+0x28c)($s7)
/* f077aa8: 8e500064 */ lw $s0,0x64($s2)
/* f077aac: 4614b03c */ c.lt.s $f22,$f20
/* f077ab0: c60a0078 */ lwc1 $f10,0x78($s0)
/* f077ab4: 46145100 */ add.s $f4,$f10,$f20
/* f077ab8: 45010005 */ bc1t .L0f077ad0
/* f077abc: e6040078 */ swc1 $f4,0x78($s0)
/* f077ac0: 8e890008 */ lw $t1,0x8($s4)
/* f077ac4: 00095000 */ sll $t2,$t1,0x0
/* f077ac8: 05400022 */ bltz $t2,.L0f077b54
/* f077acc: 00000000 */ nop
.L0f077ad0:
/* f077ad0: c6260008 */ lwc1 $f6,0x8($s1)
/* f077ad4: 26300028 */ addiu $s0,$s1,0x28
/* f077ad8: 02002825 */ or $a1,$s0,$zero
/* f077adc: e7a60078 */ swc1 $f6,0x78($sp)
/* f077ae0: c630000c */ lwc1 $f16,0xc($s1)
/* f077ae4: 26240008 */ addiu $a0,$s1,0x8
/* f077ae8: 27a60078 */ addiu $a2,$sp,0x78
/* f077aec: 46148200 */ add.s $f8,$f16,$f20
/* f077af0: 27a70068 */ addiu $a3,$sp,0x68
/* f077af4: e7a8007c */ swc1 $f8,0x7c($sp)
/* f077af8: c6320010 */ lwc1 $f18,0x10($s1)
/* f077afc: 0fc1979d */ jal func0f065e74
/* f077b00: e7b20080 */ swc1 $f18,0x80($sp)
/* f077b04: c7aa0078 */ lwc1 $f10,0x78($sp)
/* f077b08: 02202025 */ or $a0,$s1,$zero
/* f077b0c: e62a0008 */ swc1 $f10,0x8($s1)
/* f077b10: c7a4007c */ lwc1 $f4,0x7c($sp)
/* f077b14: e624000c */ swc1 $f4,0xc($s1)
/* f077b18: c7a60080 */ lwc1 $f6,0x80($sp)
/* f077b1c: 0fc19711 */ jal propDeregisterRooms
/* f077b20: e6260010 */ swc1 $f6,0x10($s1)
/* f077b24: 27a40068 */ addiu $a0,$sp,0x68
/* f077b28: 0fc195e9 */ jal roomsCopy
/* f077b2c: 02002825 */ or $a1,$s0,$zero
/* f077b30: 8e500064 */ lw $s0,0x64($s2)
/* f077b34: c6100074 */ lwc1 $f16,0x74($s0)
/* f077b38: 46148200 */ add.s $f8,$f16,$f20
/* f077b3c: e6080074 */ swc1 $f8,0x74($s0)
/* f077b40: 8e500064 */ lw $s0,0x64($s2)
/* f077b44: c6120074 */ lwc1 $f18,0x74($s0)
/* f077b48: 46189283 */ div.s $f10,$f18,$f24
/* f077b4c: 1000000e */ b .L0f077b88
/* f077b50: e60a0070 */ swc1 $f10,0x70($s0)
.L0f077b54:
/* f077b54: 0fc30f23 */ jal bwalkTryMoveUpwards
/* f077b58: 4600a306 */ mov.s $f12,$f20
/* f077b5c: 24010001 */ addiu $at,$zero,0x1
/* f077b60: 14410009 */ bne $v0,$at,.L0f077b88
/* f077b64: 00000000 */ nop
/* f077b68: 8e500064 */ lw $s0,0x64($s2)
/* f077b6c: c6040074 */ lwc1 $f4,0x74($s0)
/* f077b70: 46142180 */ add.s $f6,$f4,$f20
/* f077b74: e6060074 */ swc1 $f6,0x74($s0)
/* f077b78: 8e500064 */ lw $s0,0x64($s2)
/* f077b7c: c6100074 */ lwc1 $f16,0x74($s0)
/* f077b80: 46188203 */ div.s $f8,$f16,$f24
/* f077b84: e6080070 */ swc1 $f8,0x70($s0)
.L0f077b88:
/* f077b88: 0fc307fd */ jal playerUpdatePerimInfo
/* f077b8c: 00000000 */ nop
/* f077b90: 0fc32e31 */ jal bmove0f0cb8c4
/* f077b94: 8e440064 */ lw $a0,0x64($s2)
/* f077b98: 0fc4a24b */ jal setCurrentPlayerNum
/* f077b9c: 02e02025 */ or $a0,$s7,$zero
/* f077ba0: 8e500064 */ lw $s0,0x64($s2)
/* f077ba4: 8e0b1af8 */ lw $t3,0x1af8($s0)
/* f077ba8: 51600005 */ beqzl $t3,.L0f077bc0
/* f077bac: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077bb0: c6121b54 */ lwc1 $f18,0x1b54($s0)
/* f077bb4: 46149280 */ add.s $f10,$f18,$f20
/* f077bb8: e60a1b54 */ swc1 $f10,0x1b54($s0)
.L0f077bbc:
/* f077bbc: 8fac00b8 */ lw $t4,0xb8($sp)
.L0f077bc0:
/* f077bc0: 25980002 */ addiu $t8,$t4,0x2
/* f077bc4: afb800b8 */ sw $t8,0xb8($sp)
/* f077bc8: 87030000 */ lh $v1,0x0($t8)
/* f077bcc: 0461febf */ bgez $v1,.L0f0776cc
/* f077bd0: 00000000 */ nop
.L0f077bd4:
/* f077bd4: 8fbf0054 */ lw $ra,0x54($sp)
/* f077bd8: d7b40018 */ ldc1 $f20,0x18($sp)
/* f077bdc: d7b60020 */ ldc1 $f22,0x20($sp)
/* f077be0: d7b80028 */ ldc1 $f24,0x28($sp)
/* f077be4: 8fb00030 */ lw $s0,0x30($sp)
/* f077be8: 8fb10034 */ lw $s1,0x34($sp)
/* f077bec: 8fb20038 */ lw $s2,0x38($sp)
/* f077bf0: 8fb3003c */ lw $s3,0x3c($sp)
/* f077bf4: 8fb40040 */ lw $s4,0x40($sp)
/* f077bf8: 8fb50044 */ lw $s5,0x44($sp)
/* f077bfc: 8fb60048 */ lw $s6,0x48($sp)
/* f077c00: 8fb7004c */ lw $s7,0x4c($sp)
/* f077c04: 8fbe0050 */ lw $s8,0x50($sp)
/* f077c08: 03e00008 */ jr $ra
/* f077c0c: 27bd00c0 */ addiu $sp,$sp,0xc0
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel platformDisplaceProps
.late_rodata
glabel var7f1aa450
.word 0x3d3a5e30
glabel var7f1aa454
.word 0x411ffffe
.text
/* f07766c: 27bdff40 */ addiu $sp,$sp,-192
/* f077670: afbf0054 */ sw $ra,0x54($sp)
/* f077674: afbe0050 */ sw $s8,0x50($sp)
/* f077678: afb7004c */ sw $s7,0x4c($sp)
/* f07767c: afb60048 */ sw $s6,0x48($sp)
/* f077680: afb50044 */ sw $s5,0x44($sp)
/* f077684: afb40040 */ sw $s4,0x40($sp)
/* f077688: afb3003c */ sw $s3,0x3c($sp)
/* f07768c: afb20038 */ sw $s2,0x38($sp)
/* f077690: afb10034 */ sw $s1,0x34($sp)
/* f077694: afb00030 */ sw $s0,0x30($sp)
/* f077698: f7b80028 */ sdc1 $f24,0x28($sp)
/* f07769c: f7b60020 */ sdc1 $f22,0x20($sp)
/* f0776a0: f7b40018 */ sdc1 $f20,0x18($sp)
/* f0776a4: 84ae0000 */ lh $t6,0x0($a1)
/* f0776a8: 00e0a825 */ or $s5,$a3,$zero
/* f0776ac: 00c0b025 */ or $s6,$a2,$zero
/* f0776b0: 05c00148 */ bltz $t6,.L0f077bd4
/* f0776b4: 0080f025 */ or $s8,$a0,$zero
/* f0776b8: 84a30000 */ lh $v1,0x0($a1)
/* f0776bc: 3c017f1b */ lui $at,%hi(var7f1aa450)
/* f0776c0: 4480b000 */ mtc1 $zero,$f22
/* f0776c4: c438a450 */ lwc1 $f24,%lo(var7f1aa450)($at)
/* f0776c8: afa500b8 */ sw $a1,0xb8($sp)
.L0f0776cc:
/* f0776cc: 3c18800a */ lui $t8,%hi(g_Vars+0x338)
/* f0776d0: 8f18a2f8 */ lw $t8,%lo(g_Vars+0x338)($t8)
/* f0776d4: 000378c0 */ sll $t7,$v1,0x3
/* f0776d8: 01e37821 */ addu $t7,$t7,$v1
/* f0776dc: 000f78c0 */ sll $t7,$t7,0x3
/* f0776e0: 01f88821 */ addu $s1,$t7,$t8
/* f0776e4: 92220000 */ lbu $v0,0x0($s1)
/* f0776e8: 24010001 */ addiu $at,$zero,0x1
/* f0776ec: 10410003 */ beq $v0,$at,.L0f0776fc
/* f0776f0: 24010004 */ addiu $at,$zero,0x4
/* f0776f4: 54410046 */ bnel $v0,$at,.L0f077810
/* f0776f8: 24010003 */ addiu $at,$zero,0x3
.L0f0776fc:
/* f0776fc: 8e300004 */ lw $s0,0x4($s1)
/* f077700: 8e020040 */ lw $v0,0x40($s0)
/* f077704: 0002cb80 */ sll $t9,$v0,0xe
/* f077708: 0720012c */ bltz $t9,.L0f077bbc
/* f07770c: 30480080 */ andi $t0,$v0,0x80
/* f077710: 11000006 */ beqz $t0,.L0f07772c
/* f077714: 00001025 */ or $v0,$zero,$zero
/* f077718: 8e090048 */ lw $t1,0x48($s0)
/* f07771c: 8d2a0000 */ lw $t2,0x0($t1)
/* f077720: 314b0c00 */ andi $t3,$t2,0xc00
/* f077724: 51600126 */ beqzl $t3,.L0f077bc0
/* f077728: 8fac00b8 */ lw $t4,0xb8($sp)
.L0f07772c:
/* f07772c: 92030003 */ lbu $v1,0x3($s0)
/* f077730: 24010035 */ addiu $at,$zero,0x35
/* f077734: 27d30008 */ addiu $s3,$s8,0x8
/* f077738: 14610003 */ bne $v1,$at,.L0f077748
/* f07773c: 27d40028 */ addiu $s4,$s8,0x28
/* f077740: 10000005 */ b .L0f077758
/* f077744: 2602005c */ addiu $v0,$s0,0x5c
.L0f077748:
/* f077748: 24010033 */ addiu $at,$zero,0x33
/* f07774c: 14610002 */ bne $v1,$at,.L0f077758
/* f077750: 00000000 */ nop
/* f077754: 2602005c */ addiu $v0,$s0,0x5c
.L0f077758:
/* f077758: 5040000e */ beqzl $v0,.L0f077794
/* f07775c: c6b00000 */ lwc1 $f16,0x0($s5)
/* f077760: c6a40004 */ lwc1 $f4,0x4($s5)
/* f077764: c6c60004 */ lwc1 $f6,0x4($s6)
/* f077768: c44a0030 */ lwc1 $f10,0x30($v0)
/* f07776c: 46062201 */ sub.s $f8,$f4,$f6
/* f077770: 46085400 */ add.s $f16,$f10,$f8
/* f077774: c44a0034 */ lwc1 $f10,0x34($v0)
/* f077778: e4500030 */ swc1 $f16,0x30($v0)
/* f07777c: c6c40004 */ lwc1 $f4,0x4($s6)
/* f077780: c6b20004 */ lwc1 $f18,0x4($s5)
/* f077784: 46049181 */ sub.s $f6,$f18,$f4
/* f077788: 46065200 */ add.s $f8,$f10,$f6
/* f07778c: e4480034 */ swc1 $f8,0x34($v0)
/* f077790: c6b00000 */ lwc1 $f16,0x0($s5)
.L0f077794:
/* f077794: c6d20000 */ lwc1 $f18,0x0($s6)
/* f077798: c62a0008 */ lwc1 $f10,0x8($s1)
/* f07779c: 02202025 */ or $a0,$s1,$zero
/* f0777a0: 46128101 */ sub.s $f4,$f16,$f18
/* f0777a4: 46045180 */ add.s $f6,$f10,$f4
/* f0777a8: c62a000c */ lwc1 $f10,0xc($s1)
/* f0777ac: e6260008 */ swc1 $f6,0x8($s1)
/* f0777b0: c6d00004 */ lwc1 $f16,0x4($s6)
/* f0777b4: c6a80004 */ lwc1 $f8,0x4($s5)
/* f0777b8: 46104481 */ sub.s $f18,$f8,$f16
/* f0777bc: 46125100 */ add.s $f4,$f10,$f18
/* f0777c0: c62a0010 */ lwc1 $f10,0x10($s1)
/* f0777c4: e624000c */ swc1 $f4,0xc($s1)
/* f0777c8: c6c80008 */ lwc1 $f8,0x8($s6)
/* f0777cc: c6a60008 */ lwc1 $f6,0x8($s5)
/* f0777d0: 46083401 */ sub.s $f16,$f6,$f8
/* f0777d4: 46105480 */ add.s $f18,$f10,$f16
/* f0777d8: 0fc19711 */ jal propDeregisterRooms
/* f0777dc: e6320010 */ swc1 $f18,0x10($s1)
/* f0777e0: 02602025 */ or $a0,$s3,$zero
/* f0777e4: 02802825 */ or $a1,$s4,$zero
/* f0777e8: 26260008 */ addiu $a2,$s1,0x8
/* f0777ec: 0fc1979d */ jal func0f065e74
/* f0777f0: 26270028 */ addiu $a3,$s1,0x28
/* f0777f4: 02002025 */ or $a0,$s0,$zero
/* f0777f8: 24050001 */ addiu $a1,$zero,0x1
/* f0777fc: 0fc1a71c */ jal func0f069c70
/* f077800: 24060001 */ addiu $a2,$zero,0x1
/* f077804: 100000ee */ b .L0f077bc0
/* f077808: 8fac00b8 */ lw $t4,0xb8($sp)
/* f07780c: 24010003 */ addiu $at,$zero,0x3
.L0f077810:
/* f077810: 5441004b */ bnel $v0,$at,.L0f077940
/* f077814: 24010006 */ addiu $at,$zero,0x6
/* f077818: 8e300004 */ lw $s0,0x4($s1)
/* f07781c: c60400c0 */ lwc1 $f4,0xc0($s0)
/* f077820: 4604b032 */ c.eq.s $f22,$f4
/* f077824: 00000000 */ nop
/* f077828: 450200e5 */ bc1fl .L0f077bc0
/* f07782c: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077830: c6a60004 */ lwc1 $f6,0x4($s5)
/* f077834: c6c80004 */ lwc1 $f8,0x4($s6)
/* f077838: c61000b8 */ lwc1 $f16,0xb8($s0)
/* f07783c: 3c017f1b */ lui $at,%hi(var7f1aa454)
/* f077840: 46083281 */ sub.s $f10,$f6,$f8
/* f077844: 27d30008 */ addiu $s3,$s8,0x8
/* f077848: 27d40028 */ addiu $s4,$s8,0x28
/* f07784c: 02202025 */ or $a0,$s1,$zero
/* f077850: 460a8480 */ add.s $f18,$f16,$f10
/* f077854: c61000b4 */ lwc1 $f16,0xb4($s0)
/* f077858: e61200b8 */ swc1 $f18,0xb8($s0)
/* f07785c: c6c60004 */ lwc1 $f6,0x4($s6)
/* f077860: c6a40004 */ lwc1 $f4,0x4($s5)
/* f077864: 46062201 */ sub.s $f8,$f4,$f6
/* f077868: 46088280 */ add.s $f10,$f16,$f8
/* f07786c: e60a00b4 */ swc1 $f10,0xb4($s0)
/* f077870: c424a454 */ lwc1 $f4,%lo(var7f1aa454)($at)
/* f077874: c61200b4 */ lwc1 $f18,0xb4($s0)
/* f077878: 46049182 */ mul.s $f6,$f18,$f4
/* f07787c: e60600b0 */ swc1 $f6,0xb0($s0)
/* f077880: c6c80000 */ lwc1 $f8,0x0($s6)
/* f077884: c6b00000 */ lwc1 $f16,0x0($s5)
/* f077888: c6320008 */ lwc1 $f18,0x8($s1)
/* f07788c: 46088281 */ sub.s $f10,$f16,$f8
/* f077890: 460a9100 */ add.s $f4,$f18,$f10
/* f077894: c632000c */ lwc1 $f18,0xc($s1)
/* f077898: e6240008 */ swc1 $f4,0x8($s1)
/* f07789c: c6d00004 */ lwc1 $f16,0x4($s6)
/* f0778a0: c6a60004 */ lwc1 $f6,0x4($s5)
/* f0778a4: 46103201 */ sub.s $f8,$f6,$f16
/* f0778a8: 46089280 */ add.s $f10,$f18,$f8
/* f0778ac: c6320010 */ lwc1 $f18,0x10($s1)
/* f0778b0: e62a000c */ swc1 $f10,0xc($s1)
/* f0778b4: c6c60008 */ lwc1 $f6,0x8($s6)
/* f0778b8: c6a40008 */ lwc1 $f4,0x8($s5)
/* f0778bc: 46062401 */ sub.s $f16,$f4,$f6
/* f0778c0: 46109200 */ add.s $f8,$f18,$f16
/* f0778c4: 0fc19711 */ jal propDeregisterRooms
/* f0778c8: e6280010 */ swc1 $f8,0x10($s1)
/* f0778cc: 26320008 */ addiu $s2,$s1,0x8
/* f0778d0: 02403025 */ or $a2,$s2,$zero
/* f0778d4: 02602025 */ or $a0,$s3,$zero
/* f0778d8: 02802825 */ or $a1,$s4,$zero
/* f0778dc: 0fc1979d */ jal func0f065e74
/* f0778e0: 26270028 */ addiu $a3,$s1,0x28
/* f0778e4: 0fc0882b */ jal chr0f0220ac
/* f0778e8: 02002025 */ or $a0,$s0,$zero
/* f0778ec: 8e040020 */ lw $a0,0x20($s0)
/* f0778f0: 0c006b4d */ jal modelSetRootPosition
/* f0778f4: 02402825 */ or $a1,$s2,$zero
/* f0778f8: 8e040020 */ lw $a0,0x20($s0)
/* f0778fc: 24010001 */ addiu $at,$zero,0x1
/* f077900: 8c8c0008 */ lw $t4,0x8($a0)
/* f077904: 8d850000 */ lw $a1,0x0($t4)
/* f077908: 94a20000 */ lhu $v0,0x0($a1)
/* f07790c: 304d00ff */ andi $t5,$v0,0xff
/* f077910: 55a100ab */ bnel $t5,$at,.L0f077bc0
/* f077914: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077918: 0c006a87 */ jal modelGetNodeRwData
/* f07791c: 00000000 */ nop
/* f077920: c6aa0004 */ lwc1 $f10,0x4($s5)
/* f077924: c6c40004 */ lwc1 $f4,0x4($s6)
/* f077928: c4520004 */ lwc1 $f18,0x4($v0)
/* f07792c: 46045181 */ sub.s $f6,$f10,$f4
/* f077930: 46069400 */ add.s $f16,$f18,$f6
/* f077934: 100000a1 */ b .L0f077bbc
/* f077938: e4500004 */ swc1 $f16,0x4($v0)
/* f07793c: 24010006 */ addiu $at,$zero,0x6
.L0f077940:
/* f077940: 1441009e */ bne $v0,$at,.L0f077bbc
/* f077944: 02202025 */ or $a0,$s1,$zero
/* f077948: 0fc4a25f */ jal propGetPlayerNum
/* f07794c: 8fd40004 */ lw $s4,0x4($s8)
/* f077950: 928e0003 */ lbu $t6,0x3($s4)
/* f077954: 24010030 */ addiu $at,$zero,0x30
/* f077958: 00409825 */ or $s3,$v0,$zero
/* f07795c: 15c10097 */ bne $t6,$at,.L0f077bbc
/* f077960: 00027880 */ sll $t7,$v0,0x2
/* f077964: 3c18800a */ lui $t8,%hi(g_Vars)
/* f077968: 27189fc0 */ addiu $t8,$t8,%lo(g_Vars)
/* f07796c: 01f8c821 */ addu $t9,$t7,$t8
/* f077970: 8f230064 */ lw $v1,0x64($t9)
/* f077974: 8c680298 */ lw $t0,0x298($v1)
/* f077978: 57c80091 */ bnel $s8,$t0,.L0f077bc0
/* f07797c: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077980: 8c6901b0 */ lw $t1,0x1b0($v1)
/* f077984: 5520008e */ bnezl $t1,.L0f077bc0
/* f077988: 8fac00b8 */ lw $t4,0xb8($sp)
/* f07798c: 8e8a0008 */ lw $t2,0x8($s4)
/* f077990: 00026080 */ sll $t4,$v0,0x2
/* f077994: 01989021 */ addu $s2,$t4,$t8
/* f077998: 000a5880 */ sll $t3,$t2,0x2
/* f07799c: 05610026 */ bgez $t3,.L0f077a38
/* f0779a0: 00000000 */ nop
/* f0779a4: c6a80000 */ lwc1 $f8,0x0($s5)
/* f0779a8: c6ca0000 */ lwc1 $f10,0x0($s6)
/* f0779ac: 8e500064 */ lw $s0,0x64($s2)
/* f0779b0: 3c17800a */ lui $s7,%hi(g_Vars+0x28c)
/* f0779b4: 460a4101 */ sub.s $f4,$f8,$f10
/* f0779b8: c6121c44 */ lwc1 $f18,0x1c44($s0)
/* f0779bc: 00402025 */ or $a0,$v0,$zero
/* f0779c0: 46049180 */ add.s $f6,$f18,$f4
/* f0779c4: e6061c44 */ swc1 $f6,0x1c44($s0)
/* f0779c8: c6c80008 */ lwc1 $f8,0x8($s6)
/* f0779cc: c6b00008 */ lwc1 $f16,0x8($s5)
/* f0779d0: 8e500064 */ lw $s0,0x64($s2)
/* f0779d4: 46088281 */ sub.s $f10,$f16,$f8
/* f0779d8: c6121c4c */ lwc1 $f18,0x1c4c($s0)
/* f0779dc: 460a9100 */ add.s $f4,$f18,$f10
/* f0779e0: e6041c4c */ swc1 $f4,0x1c4c($s0)
/* f0779e4: c6d00000 */ lwc1 $f16,0x0($s6)
/* f0779e8: c6a60000 */ lwc1 $f6,0x0($s5)
/* f0779ec: e7b60090 */ swc1 $f22,0x90($sp)
/* f0779f0: 8ef7a24c */ lw $s7,%lo(g_Vars+0x28c)($s7)
/* f0779f4: 46103201 */ sub.s $f8,$f6,$f16
/* f0779f8: e7a8008c */ swc1 $f8,0x8c($sp)
/* f0779fc: c6ca0008 */ lwc1 $f10,0x8($s6)
/* f077a00: c6b20008 */ lwc1 $f18,0x8($s5)
/* f077a04: 460a9101 */ sub.s $f4,$f18,$f10
/* f077a08: 0fc4a24b */ jal setCurrentPlayerNum
/* f077a0c: e7a40094 */ swc1 $f4,0x94($sp)
/* f077a10: 27a4008c */ addiu $a0,$sp,0x8c
/* f077a14: 24050001 */ addiu $a1,$zero,0x1
/* f077a18: 0fc318ef */ jal bwalk0f0c63bc
/* f077a1c: 24060020 */ addiu $a2,$zero,0x20
/* f077a20: 0fc307fd */ jal playerUpdatePerimInfo
/* f077a24: 00000000 */ nop
/* f077a28: 0fc32e31 */ jal bmove0f0cb8c4
/* f077a2c: 8e440064 */ lw $a0,0x64($s2)
/* f077a30: 0fc4a24b */ jal setCurrentPlayerNum
/* f077a34: 02e02025 */ or $a0,$s7,$zero
.L0f077a38:
/* f077a38: 3c0e800a */ lui $t6,%hi(g_Vars)
/* f077a3c: 25ce9fc0 */ addiu $t6,$t6,%lo(g_Vars)
/* f077a40: 00136880 */ sll $t5,$s3,0x2
/* f077a44: 01ae9021 */ addu $s2,$t5,$t6
/* f077a48: 8e500064 */ lw $s0,0x64($s2)
/* f077a4c: 8e0f02b0 */ lw $t7,0x2b0($s0)
/* f077a50: 51e0005b */ beqzl $t7,.L0f077bc0
/* f077a54: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a58: 8e1902ac */ lw $t9,0x2ac($s0)
/* f077a5c: 57200058 */ bnezl $t9,.L0f077bc0
/* f077a60: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a64: 8e080030 */ lw $t0,0x30($s0)
/* f077a68: 55000055 */ bnezl $t0,.L0f077bc0
/* f077a6c: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a70: c6a60004 */ lwc1 $f6,0x4($s5)
/* f077a74: c6d00004 */ lwc1 $f16,0x4($s6)
/* f077a78: 46103501 */ sub.s $f20,$f6,$f16
/* f077a7c: 4616a032 */ c.eq.s $f20,$f22
/* f077a80: 00000000 */ nop
/* f077a84: 4503004e */ bc1tl .L0f077bc0
/* f077a88: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077a8c: c6081c48 */ lwc1 $f8,0x1c48($s0)
/* f077a90: 3c17800a */ lui $s7,%hi(g_Vars+0x28c)
/* f077a94: 02602025 */ or $a0,$s3,$zero
/* f077a98: 46144480 */ add.s $f18,$f8,$f20
/* f077a9c: e6121c48 */ swc1 $f18,0x1c48($s0)
/* f077aa0: 0fc4a24b */ jal setCurrentPlayerNum
/* f077aa4: 8ef7a24c */ lw $s7,%lo(g_Vars+0x28c)($s7)
/* f077aa8: 8e500064 */ lw $s0,0x64($s2)
/* f077aac: 4614b03c */ c.lt.s $f22,$f20
/* f077ab0: c60a0078 */ lwc1 $f10,0x78($s0)
/* f077ab4: 46145100 */ add.s $f4,$f10,$f20
/* f077ab8: 45010005 */ bc1t .L0f077ad0
/* f077abc: e6040078 */ swc1 $f4,0x78($s0)
/* f077ac0: 8e890008 */ lw $t1,0x8($s4)
/* f077ac4: 00095000 */ sll $t2,$t1,0x0
/* f077ac8: 05400022 */ bltz $t2,.L0f077b54
/* f077acc: 00000000 */ nop
.L0f077ad0:
/* f077ad0: c6260008 */ lwc1 $f6,0x8($s1)
/* f077ad4: 26300028 */ addiu $s0,$s1,0x28
/* f077ad8: 02002825 */ or $a1,$s0,$zero
/* f077adc: e7a60078 */ swc1 $f6,0x78($sp)
/* f077ae0: c630000c */ lwc1 $f16,0xc($s1)
/* f077ae4: 26240008 */ addiu $a0,$s1,0x8
/* f077ae8: 27a60078 */ addiu $a2,$sp,0x78
/* f077aec: 46148200 */ add.s $f8,$f16,$f20
/* f077af0: 27a70068 */ addiu $a3,$sp,0x68
/* f077af4: e7a8007c */ swc1 $f8,0x7c($sp)
/* f077af8: c6320010 */ lwc1 $f18,0x10($s1)
/* f077afc: 0fc1979d */ jal func0f065e74
/* f077b00: e7b20080 */ swc1 $f18,0x80($sp)
/* f077b04: c7aa0078 */ lwc1 $f10,0x78($sp)
/* f077b08: 02202025 */ or $a0,$s1,$zero
/* f077b0c: e62a0008 */ swc1 $f10,0x8($s1)
/* f077b10: c7a4007c */ lwc1 $f4,0x7c($sp)
/* f077b14: e624000c */ swc1 $f4,0xc($s1)
/* f077b18: c7a60080 */ lwc1 $f6,0x80($sp)
/* f077b1c: 0fc19711 */ jal propDeregisterRooms
/* f077b20: e6260010 */ swc1 $f6,0x10($s1)
/* f077b24: 27a40068 */ addiu $a0,$sp,0x68
/* f077b28: 0fc195e9 */ jal roomsCopy
/* f077b2c: 02002825 */ or $a1,$s0,$zero
/* f077b30: 8e500064 */ lw $s0,0x64($s2)
/* f077b34: c6100074 */ lwc1 $f16,0x74($s0)
/* f077b38: 46148200 */ add.s $f8,$f16,$f20
/* f077b3c: e6080074 */ swc1 $f8,0x74($s0)
/* f077b40: 8e500064 */ lw $s0,0x64($s2)
/* f077b44: c6120074 */ lwc1 $f18,0x74($s0)
/* f077b48: 46189283 */ div.s $f10,$f18,$f24
/* f077b4c: 1000000e */ b .L0f077b88
/* f077b50: e60a0070 */ swc1 $f10,0x70($s0)
.L0f077b54:
/* f077b54: 0fc30f23 */ jal bwalkTryMoveUpwards
/* f077b58: 4600a306 */ mov.s $f12,$f20
/* f077b5c: 24010001 */ addiu $at,$zero,0x1
/* f077b60: 14410009 */ bne $v0,$at,.L0f077b88
/* f077b64: 00000000 */ nop
/* f077b68: 8e500064 */ lw $s0,0x64($s2)
/* f077b6c: c6040074 */ lwc1 $f4,0x74($s0)
/* f077b70: 46142180 */ add.s $f6,$f4,$f20
/* f077b74: e6060074 */ swc1 $f6,0x74($s0)
/* f077b78: 8e500064 */ lw $s0,0x64($s2)
/* f077b7c: c6100074 */ lwc1 $f16,0x74($s0)
/* f077b80: 46188203 */ div.s $f8,$f16,$f24
/* f077b84: e6080070 */ swc1 $f8,0x70($s0)
.L0f077b88:
/* f077b88: 0fc307fd */ jal playerUpdatePerimInfo
/* f077b8c: 00000000 */ nop
/* f077b90: 0fc32e31 */ jal bmove0f0cb8c4
/* f077b94: 8e440064 */ lw $a0,0x64($s2)
/* f077b98: 0fc4a24b */ jal setCurrentPlayerNum
/* f077b9c: 02e02025 */ or $a0,$s7,$zero
/* f077ba0: 8e500064 */ lw $s0,0x64($s2)
/* f077ba4: 8e0b1af8 */ lw $t3,0x1af8($s0)
/* f077ba8: 51600005 */ beqzl $t3,.L0f077bc0
/* f077bac: 8fac00b8 */ lw $t4,0xb8($sp)
/* f077bb0: c6121b54 */ lwc1 $f18,0x1b54($s0)
/* f077bb4: 46149280 */ add.s $f10,$f18,$f20
/* f077bb8: e60a1b54 */ swc1 $f10,0x1b54($s0)
.L0f077bbc:
/* f077bbc: 8fac00b8 */ lw $t4,0xb8($sp)
.L0f077bc0:
/* f077bc0: 25980002 */ addiu $t8,$t4,0x2
/* f077bc4: afb800b8 */ sw $t8,0xb8($sp)
/* f077bc8: 87030000 */ lh $v1,0x0($t8)
/* f077bcc: 0461febf */ bgez $v1,.L0f0776cc
/* f077bd0: 00000000 */ nop
.L0f077bd4:
/* f077bd4: 8fbf0054 */ lw $ra,0x54($sp)
/* f077bd8: d7b40018 */ ldc1 $f20,0x18($sp)
/* f077bdc: d7b60020 */ ldc1 $f22,0x20($sp)
/* f077be0: d7b80028 */ ldc1 $f24,0x28($sp)
/* f077be4: 8fb00030 */ lw $s0,0x30($sp)
/* f077be8: 8fb10034 */ lw $s1,0x34($sp)
/* f077bec: 8fb20038 */ lw $s2,0x38($sp)
/* f077bf0: 8fb3003c */ lw $s3,0x3c($sp)
/* f077bf4: 8fb40040 */ lw $s4,0x40($sp)
/* f077bf8: 8fb50044 */ lw $s5,0x44($sp)
/* f077bfc: 8fb60048 */ lw $s6,0x48($sp)
/* f077c00: 8fb7004c */ lw $s7,0x4c($sp)
/* f077c04: 8fbe0050 */ lw $s8,0x50($sp)
/* f077c08: 03e00008 */ jr $ra
/* f077c0c: 27bd00c0 */ addiu $sp,$sp,0xc0
);
#else
GLOBAL_ASM(
glabel platformDisplaceProps
.late_rodata
glabel var7f1aa450
.word 0x411ffffe
glabel var7f1aa454
.word 0x3d3a5e30
.text
/* f076270: 27bdff70 */ addiu $sp,$sp,-144
/* f076274: afbf0044 */ sw $ra,0x44($sp)
/* f076278: afbe0040 */ sw $s8,0x40($sp)
/* f07627c: afb7003c */ sw $s7,0x3c($sp)
/* f076280: afb60038 */ sw $s6,0x38($sp)
/* f076284: afb50034 */ sw $s5,0x34($sp)
/* f076288: afb40030 */ sw $s4,0x30($sp)
/* f07628c: afb3002c */ sw $s3,0x2c($sp)
/* f076290: afb20028 */ sw $s2,0x28($sp)
/* f076294: afb10024 */ sw $s1,0x24($sp)
/* f076298: afb00020 */ sw $s0,0x20($sp)
/* f07629c: f7b40018 */ sdc1 $f20,0x18($sp)
/* f0762a0: 84ae0000 */ lh $t6,0x0($a1)
/* f0762a4: 00e09025 */ or $s2,$a3,$zero
/* f0762a8: 00c09825 */ or $s3,$a2,$zero
/* f0762ac: 05c00103 */ bltz $t6,.NB0f0766bc
/* f0762b0: 0080b825 */ or $s7,$a0,$zero
/* f0762b4: 84a30000 */ lh $v1,0x0($a1)
/* f0762b8: 3c1e800a */ lui $s8,0x800a
/* f0762bc: 4480a000 */ mtc1 $zero,$f20
/* f0762c0: 27dee6c0 */ addiu $s8,$s8,-6464
/* f0762c4: afa50088 */ sw $a1,0x88($sp)
/* f0762c8: 8fd80338 */ lw $t8,0x338($s8)
.NB0f0762cc:
/* f0762cc: 000378c0 */ sll $t7,$v1,0x3
/* f0762d0: 01e37821 */ addu $t7,$t7,$v1
/* f0762d4: 000f78c0 */ sll $t7,$t7,0x3
/* f0762d8: 01f88821 */ addu $s1,$t7,$t8
/* f0762dc: 92220000 */ lbu $v0,0x0($s1)
/* f0762e0: 24010001 */ addiu $at,$zero,0x1
/* f0762e4: 10410003 */ beq $v0,$at,.NB0f0762f4
/* f0762e8: 24010004 */ addiu $at,$zero,0x4
/* f0762ec: 54410046 */ bnel $v0,$at,.NB0f076408
/* f0762f0: 24010003 */ addiu $at,$zero,0x3
.NB0f0762f4:
/* f0762f4: 8e300004 */ lw $s0,0x4($s1)
/* f0762f8: 8e020040 */ lw $v0,0x40($s0)
/* f0762fc: 0002cb80 */ sll $t9,$v0,0xe
/* f076300: 072000e8 */ bltz $t9,.NB0f0766a4
/* f076304: 30480080 */ andi $t0,$v0,0x80
/* f076308: 11000006 */ beqz $t0,.NB0f076324
/* f07630c: 00001025 */ or $v0,$zero,$zero
/* f076310: 8e090048 */ lw $t1,0x48($s0)
/* f076314: 8d2a0000 */ lw $t2,0x0($t1)
/* f076318: 314b0c00 */ andi $t3,$t2,0xc00
/* f07631c: 516000e2 */ beqzl $t3,.NB0f0766a8
/* f076320: 8fac0088 */ lw $t4,0x88($sp)
.NB0f076324:
/* f076324: 92030003 */ lbu $v1,0x3($s0)
/* f076328: 24010035 */ addiu $at,$zero,0x35
/* f07632c: 26f50008 */ addiu $s5,$s7,0x8
/* f076330: 14610003 */ bne $v1,$at,.NB0f076340
/* f076334: 26f60028 */ addiu $s6,$s7,0x28
/* f076338: 10000005 */ beqz $zero,.NB0f076350
/* f07633c: 2602005c */ addiu $v0,$s0,0x5c
.NB0f076340:
/* f076340: 24010033 */ addiu $at,$zero,0x33
/* f076344: 14610002 */ bne $v1,$at,.NB0f076350
/* f076348: 00000000 */ sll $zero,$zero,0x0
/* f07634c: 2602005c */ addiu $v0,$s0,0x5c
.NB0f076350:
/* f076350: 5040000e */ beqzl $v0,.NB0f07638c
/* f076354: c6500000 */ lwc1 $f16,0x0($s2)
/* f076358: c6440004 */ lwc1 $f4,0x4($s2)
/* f07635c: c6660004 */ lwc1 $f6,0x4($s3)
/* f076360: c44a0030 */ lwc1 $f10,0x30($v0)
/* f076364: 46062201 */ sub.s $f8,$f4,$f6
/* f076368: 46085400 */ add.s $f16,$f10,$f8
/* f07636c: c44a0034 */ lwc1 $f10,0x34($v0)
/* f076370: e4500030 */ swc1 $f16,0x30($v0)
/* f076374: c6640004 */ lwc1 $f4,0x4($s3)
/* f076378: c6520004 */ lwc1 $f18,0x4($s2)
/* f07637c: 46049181 */ sub.s $f6,$f18,$f4
/* f076380: 46065200 */ add.s $f8,$f10,$f6
/* f076384: e4480034 */ swc1 $f8,0x34($v0)
/* f076388: c6500000 */ lwc1 $f16,0x0($s2)
.NB0f07638c:
/* f07638c: c6720000 */ lwc1 $f18,0x0($s3)
/* f076390: c62a0008 */ lwc1 $f10,0x8($s1)
/* f076394: 02202025 */ or $a0,$s1,$zero
/* f076398: 46128101 */ sub.s $f4,$f16,$f18
/* f07639c: 46045180 */ add.s $f6,$f10,$f4
/* f0763a0: c62a000c */ lwc1 $f10,0xc($s1)
/* f0763a4: e6260008 */ swc1 $f6,0x8($s1)
/* f0763a8: c6700004 */ lwc1 $f16,0x4($s3)
/* f0763ac: c6480004 */ lwc1 $f8,0x4($s2)
/* f0763b0: 46104481 */ sub.s $f18,$f8,$f16
/* f0763b4: 46125100 */ add.s $f4,$f10,$f18
/* f0763b8: c62a0010 */ lwc1 $f10,0x10($s1)
/* f0763bc: e624000c */ swc1 $f4,0xc($s1)
/* f0763c0: c6680008 */ lwc1 $f8,0x8($s3)
/* f0763c4: c6460008 */ lwc1 $f6,0x8($s2)
/* f0763c8: 46083401 */ sub.s $f16,$f6,$f8
/* f0763cc: 46105480 */ add.s $f18,$f10,$f16
/* f0763d0: 0fc193ab */ jal propDeregisterRooms
/* f0763d4: e6320010 */ swc1 $f18,0x10($s1)
/* f0763d8: 02a02025 */ or $a0,$s5,$zero
/* f0763dc: 02c02825 */ or $a1,$s6,$zero
/* f0763e0: 26260008 */ addiu $a2,$s1,0x8
/* f0763e4: 0fc19437 */ jal func0f065e74
/* f0763e8: 26270028 */ addiu $a3,$s1,0x28
/* f0763ec: 02002025 */ or $a0,$s0,$zero
/* f0763f0: 24050001 */ addiu $a1,$zero,0x1
/* f0763f4: 0fc1a3b7 */ jal func0f069c70
/* f0763f8: 24060001 */ addiu $a2,$zero,0x1
/* f0763fc: 100000aa */ beqz $zero,.NB0f0766a8
/* f076400: 8fac0088 */ lw $t4,0x88($sp)
/* f076404: 24010003 */ addiu $at,$zero,0x3
.NB0f076408:
/* f076408: 5441004b */ bnel $v0,$at,.NB0f076538
/* f07640c: 24010006 */ addiu $at,$zero,0x6
/* f076410: 8e300004 */ lw $s0,0x4($s1)
/* f076414: c60400c0 */ lwc1 $f4,0xc0($s0)
/* f076418: 4604a032 */ c.eq.s $f20,$f4
/* f07641c: 00000000 */ sll $zero,$zero,0x0
/* f076420: 450200a1 */ bc1fl .NB0f0766a8
/* f076424: 8fac0088 */ lw $t4,0x88($sp)
/* f076428: c6460004 */ lwc1 $f6,0x4($s2)
/* f07642c: c6680004 */ lwc1 $f8,0x4($s3)
/* f076430: c61000b8 */ lwc1 $f16,0xb8($s0)
/* f076434: 3c017f1a */ lui $at,0x7f1a
/* f076438: 46083281 */ sub.s $f10,$f6,$f8
/* f07643c: 26f50008 */ addiu $s5,$s7,0x8
/* f076440: 26f60028 */ addiu $s6,$s7,0x28
/* f076444: 02202025 */ or $a0,$s1,$zero
/* f076448: 460a8480 */ add.s $f18,$f16,$f10
/* f07644c: c61000b4 */ lwc1 $f16,0xb4($s0)
/* f076450: e61200b8 */ swc1 $f18,0xb8($s0)
/* f076454: c6660004 */ lwc1 $f6,0x4($s3)
/* f076458: c6440004 */ lwc1 $f4,0x4($s2)
/* f07645c: 46062201 */ sub.s $f8,$f4,$f6
/* f076460: 46088280 */ add.s $f10,$f16,$f8
/* f076464: e60a00b4 */ swc1 $f10,0xb4($s0)
/* f076468: c4244770 */ lwc1 $f4,0x4770($at)
/* f07646c: c61200b4 */ lwc1 $f18,0xb4($s0)
/* f076470: 46049182 */ mul.s $f6,$f18,$f4
/* f076474: e60600b0 */ swc1 $f6,0xb0($s0)
/* f076478: c6680000 */ lwc1 $f8,0x0($s3)
/* f07647c: c6500000 */ lwc1 $f16,0x0($s2)
/* f076480: c6320008 */ lwc1 $f18,0x8($s1)
/* f076484: 46088281 */ sub.s $f10,$f16,$f8
/* f076488: 460a9100 */ add.s $f4,$f18,$f10
/* f07648c: c632000c */ lwc1 $f18,0xc($s1)
/* f076490: e6240008 */ swc1 $f4,0x8($s1)
/* f076494: c6700004 */ lwc1 $f16,0x4($s3)
/* f076498: c6460004 */ lwc1 $f6,0x4($s2)
/* f07649c: 46103201 */ sub.s $f8,$f6,$f16
/* f0764a0: 46089280 */ add.s $f10,$f18,$f8
/* f0764a4: c6320010 */ lwc1 $f18,0x10($s1)
/* f0764a8: e62a000c */ swc1 $f10,0xc($s1)
/* f0764ac: c6660008 */ lwc1 $f6,0x8($s3)
/* f0764b0: c6440008 */ lwc1 $f4,0x8($s2)
/* f0764b4: 46062401 */ sub.s $f16,$f4,$f6
/* f0764b8: 46109200 */ add.s $f8,$f18,$f16
/* f0764bc: 0fc193ab */ jal propDeregisterRooms
/* f0764c0: e6280010 */ swc1 $f8,0x10($s1)
/* f0764c4: 26340008 */ addiu $s4,$s1,0x8
/* f0764c8: 02803025 */ or $a2,$s4,$zero
/* f0764cc: 02a02025 */ or $a0,$s5,$zero
/* f0764d0: 02c02825 */ or $a1,$s6,$zero
/* f0764d4: 0fc19437 */ jal func0f065e74
/* f0764d8: 26270028 */ addiu $a3,$s1,0x28
/* f0764dc: 0fc086f9 */ jal chr0f0220ac
/* f0764e0: 02002025 */ or $a0,$s0,$zero
/* f0764e4: 8e040020 */ lw $a0,0x20($s0)
/* f0764e8: 0c006f6d */ jal modelSetRootPosition
/* f0764ec: 02802825 */ or $a1,$s4,$zero
/* f0764f0: 8e040020 */ lw $a0,0x20($s0)
/* f0764f4: 24010001 */ addiu $at,$zero,0x1
/* f0764f8: 8c8c0008 */ lw $t4,0x8($a0)
/* f0764fc: 8d850000 */ lw $a1,0x0($t4)
/* f076500: 94a20000 */ lhu $v0,0x0($a1)
/* f076504: 304d00ff */ andi $t5,$v0,0xff
/* f076508: 55a10067 */ bnel $t5,$at,.NB0f0766a8
/* f07650c: 8fac0088 */ lw $t4,0x88($sp)
/* f076510: 0c006bab */ jal modelGetNodeRwData
/* f076514: 00000000 */ sll $zero,$zero,0x0
/* f076518: c64a0004 */ lwc1 $f10,0x4($s2)
/* f07651c: c6640004 */ lwc1 $f4,0x4($s3)
/* f076520: c4520004 */ lwc1 $f18,0x4($v0)
/* f076524: 46045181 */ sub.s $f6,$f10,$f4
/* f076528: 46069400 */ add.s $f16,$f18,$f6
/* f07652c: 1000005d */ beqz $zero,.NB0f0766a4
/* f076530: e4500004 */ swc1 $f16,0x4($v0)
/* f076534: 24010006 */ addiu $at,$zero,0x6
.NB0f076538:
/* f076538: 1441005a */ bne $v0,$at,.NB0f0766a4
/* f07653c: 02202025 */ or $a0,$s1,$zero
/* f076540: 0fc48d6f */ jal propGetPlayerNum
/* f076544: 8ef00004 */ lw $s0,0x4($s7)
/* f076548: 920e0003 */ lbu $t6,0x3($s0)
/* f07654c: 24010030 */ addiu $at,$zero,0x30
/* f076550: 00402025 */ or $a0,$v0,$zero
/* f076554: 55c10054 */ bnel $t6,$at,.NB0f0766a8
/* f076558: 8fac0088 */ lw $t4,0x88($sp)
/* f07655c: 8e0f0008 */ lw $t7,0x8($s0)
/* f076560: 0002c880 */ sll $t9,$v0,0x2
/* f076564: 03d94021 */ addu $t0,$s8,$t9
/* f076568: 000fc080 */ sll $t8,$t7,0x2
/* f07656c: 0703004e */ bgezl $t8,.NB0f0766a8
/* f076570: 8fac0088 */ lw $t4,0x88($sp)
/* f076574: 8d030064 */ lw $v1,0x64($t0)
/* f076578: 8c690298 */ lw $t1,0x298($v1)
/* f07657c: 56e9004a */ bnel $s7,$t1,.NB0f0766a8
/* f076580: 8fac0088 */ lw $t4,0x88($sp)
/* f076584: 8c6a01b0 */ lw $t2,0x1b0($v1)
/* f076588: 00025880 */ sll $t3,$v0,0x2
/* f07658c: 03cb8021 */ addu $s0,$s8,$t3
/* f076590: 55400045 */ bnezl $t2,.NB0f0766a8
/* f076594: 8fac0088 */ lw $t4,0x88($sp)
/* f076598: c6480000 */ lwc1 $f8,0x0($s2)
/* f07659c: c66a0000 */ lwc1 $f10,0x0($s3)
/* f0765a0: 8e020064 */ lw $v0,0x64($s0)
/* f0765a4: 460a4101 */ sub.s $f4,$f8,$f10
/* f0765a8: c4521c44 */ lwc1 $f18,0x1c44($v0)
/* f0765ac: 46049180 */ add.s $f6,$f18,$f4
/* f0765b0: e4461c44 */ swc1 $f6,0x1c44($v0)
/* f0765b4: c6680004 */ lwc1 $f8,0x4($s3)
/* f0765b8: c6500004 */ lwc1 $f16,0x4($s2)
/* f0765bc: 8e020064 */ lw $v0,0x64($s0)
/* f0765c0: 46088281 */ sub.s $f10,$f16,$f8
/* f0765c4: c4521c48 */ lwc1 $f18,0x1c48($v0)
/* f0765c8: 460a9100 */ add.s $f4,$f18,$f10
/* f0765cc: e4441c48 */ swc1 $f4,0x1c48($v0)
/* f0765d0: c6700008 */ lwc1 $f16,0x8($s3)
/* f0765d4: c6460008 */ lwc1 $f6,0x8($s2)
/* f0765d8: 8e020064 */ lw $v0,0x64($s0)
/* f0765dc: 46103201 */ sub.s $f8,$f6,$f16
/* f0765e0: c4521c4c */ lwc1 $f18,0x1c4c($v0)
/* f0765e4: 46089280 */ add.s $f10,$f18,$f8
/* f0765e8: e44a1c4c */ swc1 $f10,0x1c4c($v0)
/* f0765ec: c6660000 */ lwc1 $f6,0x0($s3)
/* f0765f0: c6440000 */ lwc1 $f4,0x0($s2)
/* f0765f4: e7b40060 */ swc1 $f20,0x60($sp)
/* f0765f8: 8fd4028c */ lw $s4,0x28c($s8)
/* f0765fc: 46062401 */ sub.s $f16,$f4,$f6
/* f076600: e7b0005c */ swc1 $f16,0x5c($sp)
/* f076604: c6680008 */ lwc1 $f8,0x8($s3)
/* f076608: c6520008 */ lwc1 $f18,0x8($s2)
/* f07660c: 46089281 */ sub.s $f10,$f18,$f8
/* f076610: 0fc48d5b */ jal setCurrentPlayerNum
/* f076614: e7aa0064 */ swc1 $f10,0x64($sp)
/* f076618: 27a4005c */ addiu $a0,$sp,0x5c
/* f07661c: 24050001 */ addiu $a1,$zero,0x1
/* f076620: 0fc30f48 */ jal bwalk0f0c63bc
/* f076624: 24060020 */ addiu $a2,$zero,0x20
/* f076628: c6440004 */ lwc1 $f4,0x4($s2)
/* f07662c: c6660004 */ lwc1 $f6,0x4($s3)
/* f076630: c632000c */ lwc1 $f18,0xc($s1)
/* f076634: 3c017f1a */ lui $at,0x7f1a
/* f076638: 46062401 */ sub.s $f16,$f4,$f6
/* f07663c: 46109200 */ add.s $f8,$f18,$f16
/* f076640: e628000c */ swc1 $f8,0xc($s1)
/* f076644: c6640004 */ lwc1 $f4,0x4($s3)
/* f076648: c64a0004 */ lwc1 $f10,0x4($s2)
/* f07664c: 8e020064 */ lw $v0,0x64($s0)
/* f076650: 46045181 */ sub.s $f6,$f10,$f4
/* f076654: c4520078 */ lwc1 $f18,0x78($v0)
/* f076658: 46069400 */ add.s $f16,$f18,$f6
/* f07665c: e4500078 */ swc1 $f16,0x78($v0)
/* f076660: c66a0004 */ lwc1 $f10,0x4($s3)
/* f076664: c6480004 */ lwc1 $f8,0x4($s2)
/* f076668: 8e020064 */ lw $v0,0x64($s0)
/* f07666c: 460a4101 */ sub.s $f4,$f8,$f10
/* f076670: c4520074 */ lwc1 $f18,0x74($v0)
/* f076674: 46049180 */ add.s $f6,$f18,$f4
/* f076678: e4460074 */ swc1 $f6,0x74($v0)
/* f07667c: 8e020064 */ lw $v0,0x64($s0)
/* f076680: c4284774 */ lwc1 $f8,0x4774($at)
/* f076684: c4500074 */ lwc1 $f16,0x74($v0)
/* f076688: 46088283 */ div.s $f10,$f16,$f8
/* f07668c: 0fc2feef */ jal playerUpdatePerimInfo
/* f076690: e44a0070 */ swc1 $f10,0x70($v0)
/* f076694: 0fc3243d */ jal bmove0f0cb8c4
/* f076698: 8e040064 */ lw $a0,0x64($s0)
/* f07669c: 0fc48d5b */ jal setCurrentPlayerNum
/* f0766a0: 02802025 */ or $a0,$s4,$zero
.NB0f0766a4:
/* f0766a4: 8fac0088 */ lw $t4,0x88($sp)
.NB0f0766a8:
/* f0766a8: 258d0002 */ addiu $t5,$t4,0x2
/* f0766ac: afad0088 */ sw $t5,0x88($sp)
/* f0766b0: 85a30000 */ lh $v1,0x0($t5)
/* f0766b4: 0463ff05 */ bgezl $v1,.NB0f0762cc
/* f0766b8: 8fd80338 */ lw $t8,0x338($s8)
.NB0f0766bc:
/* f0766bc: 8fbf0044 */ lw $ra,0x44($sp)
/* f0766c0: d7b40018 */ ldc1 $f20,0x18($sp)
/* f0766c4: 8fb00020 */ lw $s0,0x20($sp)
/* f0766c8: 8fb10024 */ lw $s1,0x24($sp)
/* f0766cc: 8fb20028 */ lw $s2,0x28($sp)
/* f0766d0: 8fb3002c */ lw $s3,0x2c($sp)
/* f0766d4: 8fb40030 */ lw $s4,0x30($sp)
/* f0766d8: 8fb50034 */ lw $s5,0x34($sp)
/* f0766dc: 8fb60038 */ lw $s6,0x38($sp)
/* f0766e0: 8fb7003c */ lw $s7,0x3c($sp)
/* f0766e4: 8fbe0040 */ lw $s8,0x40($sp)
/* f0766e8: 03e00008 */ jr $ra
/* f0766ec: 27bd0090 */ addiu $sp,$sp,0x90
);
#endif
void liftTick(struct prop *prop)
{
struct liftobj *lift = (struct liftobj *)prop->obj;
struct defaultobj *obj = prop->obj;
struct doorobj *door;
struct pad padcur;
struct pad padaim;
f32 segdist;
f32 xdiff;
f32 ydiff;
f32 zdiff;
struct coord curcentre;
f32 frac;
s32 move;
struct coord newpos;
s16 newrooms[8];
struct coord prevpos;
#if VERSION >= VERSION_NTSC_1_0
f32 prevdist;
#endif
s16 propnums[256];
s32 stop;
lift->prevpos.x = prop->pos.x;
lift->prevpos.y = prop->pos.y;
lift->prevpos.z = prop->pos.z;
if (lift->levelcur != lift->levelaim) {
// Lift is not at the desired level. So try to move, but not if the lift
// is disabled or if the door needs to be closed first.
move = true;
if (obj->flags & OBJFLAG_DEACTIVATED) {
move = false;
} else if (lift->doors[lift->levelcur] && !doorIsClosed(lift->doors[lift->levelcur])) {
doorsRequestMode(lift->doors[lift->levelcur], DOORMODE_CLOSING);
move = false;
}
if (move) {
prevpos.x = prop->pos.x;
prevpos.y = prop->pos.y;
prevpos.z = prop->pos.z;
cdGetPropsOnPlatform(prop, propnums, ARRAYCOUNT(propnums));
if (lift->dist == 0 && lift->speed == 0) {
doorPlayOpeningSound(lift->soundtype, lift->base.prop);
if (obj->flags & OBJFLAG_LIFT_TRIGGERDISABLE) {
obj->flags &= ~OBJFLAG_LIFT_TRIGGERDISABLE;
obj->flags |= OBJFLAG_DEACTIVATED;
}
}
padGetCentre(lift->pads[lift->levelcur], &curcentre);
padUnpack(lift->pads[lift->levelcur], PADFIELD_POS, &padcur);
padUnpack(lift->pads[lift->levelaim], PADFIELD_POS, &padaim);
xdiff = padaim.pos.f[0] - padcur.pos.f[0];
ydiff = padaim.pos.f[1] - padcur.pos.f[1];
zdiff = padaim.pos.f[2] - padcur.pos.f[2];
segdist = sqrtf(xdiff * xdiff + ydiff * ydiff + zdiff * zdiff);
#if VERSION >= VERSION_NTSC_1_0
prevdist = lift->dist;
#endif
applySpeed(&lift->dist, segdist, &lift->speed, lift->accel, lift->accel, lift->maxspeed);
// If arriving at the destination, set the distance explicitly
if (lift->speed < 1 && lift->speed > -1) {
#if VERSION >= VERSION_NTSC_1_0
if (prevdist < segdist && lift->dist >= segdist) {
lift->dist = segdist;
} else if (prevdist > 0 && lift->dist <= 0) {
lift->dist = 0;
}
#else
if (lift->dist >= segdist) {
lift->dist = segdist;
} else if (lift->dist <= 0) {
lift->dist = 0;
}
#endif
}
frac = segdist == 0 ? 0 : lift->dist / segdist;
newpos.x = curcentre.f[0] + xdiff * frac;
newpos.y = curcentre.f[1] + ydiff * frac;
newpos.z = curcentre.f[2] + zdiff * frac;
if (segdist == lift->dist) {
lift->dist = 0;
lift->speed = 0;
lift->levelcur = lift->levelaim;
doorPlayOpenedSound(lift->soundtype, lift->base.prop);
if (obj->flags & OBJFLAG_LIFT_TRIGGERDISABLE) {
obj->flags &= ~OBJFLAG_LIFT_TRIGGERDISABLE;
obj->flags |= OBJFLAG_DEACTIVATED;
}
door = lift->doors[lift->levelcur];
if (door && door->keyflags == 0) {
doorsRequestMode(door, DOORMODE_OPENING);
}
}
func0f065e74(&prop->pos, prop->rooms, &newpos, newrooms);
prop->pos.x = newpos.x;
prop->pos.y = newpos.y;
prop->pos.z = newpos.z;
propDeregisterRooms(prop);
roomsCopy(newrooms, prop->rooms);
func0f069c70(obj, true, true);
liftUpdateTiles(lift, lift->levelcur == lift->levelaim);
platformDisplaceProps(prop, propnums, &prevpos, &prop->pos);
}
} else {
// Lift is at the aim stop
door = lift->doors[lift->levelcur];
if (!door || (doorIsClosed(door) && door->keyflags == 0)) {
// Find next stop
stop = lift->levelaim;
do {
stop = (stop + 1) % 4;
} while (lift->pads[stop] < 0);
liftGoToStop(lift, stop);
}
}
}
void escastepTick(struct prop *prop)
{
struct escalatorobj *step = (struct escalatorobj *)prop->obj;
struct defaultobj *obj = prop->obj;
struct coord newpos;
struct escastepkeyframe *keyframes;
s32 i;
f32 mult;
struct coord oldpos;
s16 propnums[256];
bool resetting;
resetting = false;
step->frame += g_Vars.lvupdate240_60;
keyframes = (obj->flags & OBJFLAG_ESCSTEP_ZALIGNED) ? g_EscaStepKeyframesZ : g_EscaStepKeyframesX;
for (i = 0; true; i++) {
if (keyframes[i + 1].frame == -1) {
step->frame -= keyframes[i].frame;
i = -1;
resetting = true;
} else if (step->frame < keyframes[i + 1].frame) {
mult = (f32)(step->frame - keyframes[i].frame) / (f32)(keyframes[i + 1].frame - keyframes[i].frame);
newpos.x = keyframes[i].pos.x + (keyframes[i + 1].pos.x - keyframes[i].pos.x) * mult;
newpos.y = keyframes[i].pos.y + (keyframes[i + 1].pos.y - keyframes[i].pos.y) * mult;
newpos.z = keyframes[i].pos.z + (keyframes[i + 1].pos.z - keyframes[i].pos.z) * mult;
break;
} else {
// empty
}
}
if (!resetting) {
oldpos.x = prop->pos.x;
oldpos.y = prop->pos.y;
oldpos.z = prop->pos.z;
cdGetPropsOnPlatform(prop, propnums, ARRAYCOUNT(propnums));
step->prevpos.x = prop->pos.x;
step->prevpos.y = prop->pos.y;
step->prevpos.z = prop->pos.z;
} else {
step->prevpos.x = newpos.f[0];
step->prevpos.y = newpos.f[1];
step->prevpos.z = newpos.f[2];
}
prop->pos.x = newpos.x;
prop->pos.y = newpos.y;
prop->pos.z = newpos.z;
if ((obj->flags & OBJFLAG_ILLUMINATED) == 0) {
cd0002a36c(&prop->pos, prop->rooms, &obj->floorcol, 0);
}
func0f069c70(obj, true, true);
if (!resetting) {
platformDisplaceProps(prop, propnums, &oldpos, &prop->pos);
}
}
void cctvTick(struct prop *camprop)
{
struct cctvobj *camera = (struct cctvobj *)camprop->obj;
struct defaultobj *obj = camprop->obj;
f32 yaw;
struct prop *playerprop;
f32 xdist;
f32 ydist;
f32 zdist;
bool canseeplayer = true;
// If playing in coop mode, cycle between players in alternating frames
if (g_Vars.coopplayernum >= 0) {
if (g_Vars.lvframenum & 1) {
playerprop = g_Vars.bond->prop;
} else {
playerprop = g_Vars.coop->prop;
}
} else {
playerprop = g_Vars.bond->prop;
}
// Check distance
xdist = playerprop->pos.x - camprop->pos.x;
ydist = playerprop->pos.y - camprop->pos.y;
zdist = playerprop->pos.z - camprop->pos.z;
yaw = camera->toleft ? camera->yleft : camera->yright;
if (camera->maxdist > 0) {
if (xdist * xdist + ydist * ydist + zdist * zdist > camera->maxdist * camera->maxdist) {
canseeplayer = false;
}
}
if (g_Vars.bondvisible == false
|| (obj->flags & OBJFLAG_CAMERA_DISABLED)
|| (playerprop->chr->hidden & CHRHFLAG_CLOAKED)) {
canseeplayer = false;
}
// Check horizontal angle
if (canseeplayer) {
f32 angle = atan2f(xdist, zdist);
f32 yrot = camera->yrot;
f32 finalangle;
if (yrot < 0) {
yrot += M_BADTAU;
} else if (yrot >= M_BADTAU) {
yrot -= M_BADTAU;
}
yrot += camera->yzero;
if (yrot >= M_BADTAU) {
yrot -= M_BADTAU;
}
finalangle = angle - yrot;
if (angle < yrot) {
finalangle += M_BADTAU;
}
finalangle -= M_BADPI;
if (finalangle < 0) {
finalangle += M_BADTAU;
}
if (finalangle > M_BADPI) {
finalangle -= M_BADTAU;
}
if (finalangle > 0.7852731347084f || finalangle < -0.7852731347084f) {
canseeplayer = false;
}
}
// Check vertical angle
if (canseeplayer) {
f32 angle = atan2f(ydist, sqrtf(xdist * xdist + zdist * zdist));
f32 finalangle = angle - camera->xzero;
if (angle < camera->xzero) {
finalangle = angle - camera->xzero + M_BADTAU;
}
if (finalangle > M_BADTAU) {
finalangle -= M_BADTAU;
}
if (finalangle > M_BADPI) {
finalangle -= M_BADTAU;
}
if (finalangle);
if (finalangle > 0.7852731347084f || finalangle < -0.7852731347084f) {
canseeplayer = false;
}
}
// Check line of sight
if (canseeplayer) {
playerSetPerimEnabled(playerprop, false);
if (!cdHasLineOfSight(&camprop->pos, camprop->rooms, &playerprop->pos, playerprop->rooms, 315, 8)) {
canseeplayer = false;
}
playerSetPerimEnabled(playerprop, true);
}
if (canseeplayer) {
obj->flags |= OBJFLAG_CAMERA_BONDINVIEW;
camera->seebondtime60 += g_Vars.lvupdate240_60;
if (g_Vars.coopplayernum >= 0) {
camera->seebondtime60 += g_Vars.lvupdate240_60;
}
if (camera->seebondtime60 >= (s32)(PALDOWN(300) * g_CameraWaitMultiplier)) {
alarmActivate();
camera->seebondtime60 = 0;
}
} else {
obj->flags &= ~OBJFLAG_CAMERA_BONDINVIEW;
}
// Update yaw
if (camera->yrot < yaw) {
f32 tmp = camera->yspeed * camera->yspeed * 764.06536865234f;
if (camera->yrot >= yaw - tmp) {
camera->yspeed -= 0.00065439427271485f * g_Vars.lvupdate240freal;
if (camera->yspeed < 0.00065439427271485f) {
camera->yspeed = 0.00065439427271485f;
}
} else if (camera->yspeed < camera->ymaxspeed) {
f32 newspeed = camera->yspeed + 0.00065439427271485f * g_Vars.lvupdate240freal;
if (newspeed > camera->ymaxspeed) {
newspeed = camera->ymaxspeed;
}
if (camera->yrot < yaw - newspeed * newspeed * 764.06536865234f) {
camera->yspeed = newspeed;
}
}
camera->yrot += camera->yspeed * g_Vars.lvupdate240freal;
if (camera->yrot >= yaw) {
camera->yrot = yaw;
camera->toleft = false;
camera->yspeed = 0;
}
} else {
f32 tmp = camera->yspeed * camera->yspeed * 764.06536865234f;
if (camera->yrot <= yaw + tmp) {
camera->yspeed -= 0.00065439427271485f * g_Vars.lvupdate240freal;
if (camera->yspeed < 0.00065439427271485f) {
camera->yspeed = 0.00065439427271485f;
}
} else if (camera->yspeed < camera->ymaxspeed) {
f32 newspeed = camera->yspeed + 0.00065439427271485f * g_Vars.lvupdate240freal;
if (newspeed > camera->ymaxspeed) {
newspeed = camera->ymaxspeed;
}
if (camera->yrot > yaw + newspeed * newspeed * 764.06536865234f) {
camera->yspeed = newspeed;
}
}
camera->yrot -= camera->yspeed * g_Vars.lvupdate240freal;
if (camera->yrot <= yaw) {
camera->yrot = yaw;
camera->toleft = true;
camera->yspeed = 0;
}
}
}
void cctvInitMatrices(struct prop *prop, Mtxf *mtx)
{
struct cctvobj *cctv = (struct cctvobj *)prop->obj;
struct model *model = cctv->base.model;
Mtxf *matrices = model->matrices;
union modelrodata *rodata = modelGetPartRodata(model->filedata, MODELPART_CCTV_LENS);
struct coord sp64;
Mtxf sp24;
f32 yrot = cctv->yrot;
if (yrot < 0) {
yrot += M_BADTAU;
} else if (yrot >= M_BADTAU) {
yrot -= M_BADTAU;
}
mtx4LoadYRotation(yrot, &sp24);
mtx4MultMtx4(&sp24, &cctv->camrotm, &matrices[1]);
sp64.x = rodata->position.pos.x;
sp64.y = rodata->position.pos.y;
sp64.z = rodata->position.pos.z;
mtx4TransformVecInPlace(mtx, &sp64);
mtx4SetTranslation(&sp64, &matrices[1]);
mtx00015be0(currentPlayerGetMatrix1740(), &matrices[1]);
}
void fanTick(struct prop *prop)
{
struct defaultobj *obj = (struct defaultobj *)prop->obj;
struct fanobj *fan = (struct fanobj *)prop->obj;
// If activated, toggle the power state
if (obj->hidden & (OBJHFLAG_ACTIVATED_BY_BOND | OBJHFLAG_ACTIVATED_BY_COOP)) {
if (fan->on == true) {
fan->on = false;
obj->hidden &= ~(OBJHFLAG_ACTIVATED_BY_BOND | OBJHFLAG_ACTIVATED_BY_COOP);
} else {
fan->on = true;
obj->hidden &= ~(OBJHFLAG_ACTIVATED_BY_BOND | OBJHFLAG_ACTIVATED_BY_COOP);
}
}
// Adjust fan speed
if (fan->on == true) {
// Accelerating
fan->yspeed += fan->yaccel * g_Vars.lvupdate240freal;
if (fan->yspeed > fan->ymaxspeed) {
fan->yspeed = fan->ymaxspeed;
}
} else if (fan->yspeed > 0) {
// Decelerating
s32 i;
for (i = 0; i < g_Vars.lvupdate240; i++) {
fan->yspeed -= fan->yaccel * 0.2f;
}
if (fan->yspeed <= fan->ymaxspeed * 0.01f) {
fan->yspeed = 0;
}
}
// Rotate
if (fan->yspeed > 0) {
fan->yrot += fan->yspeed * g_Vars.lvupdate240freal;
while (fan->yrot >= 1.5705462694168f) { // almost BADDEG2RAD(90)
fan->yrot -= 1.5705462694168f;
}
fan->yrotprev = fan->yrot;
}
}
void fanUpdateModel(struct prop *prop)
{
struct fanobj *fan = (struct fanobj *) prop->obj;
Mtxf sp6c;
f32 sp48[3][3];
f32 sp24[3][3];
f32 angle = fan->yspeed * g_Vars.lvupdate240freal;
while (angle >= M_BADTAU) {
angle -= M_BADTAU;
}
mtx4LoadYRotation(angle, &sp6c);
mtx4ToMtx3(&sp6c, sp48);
mtx00016140(fan->base.realrot, sp48, sp24);
mtx3Copy(sp24, fan->base.realrot);
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel autogunTick
.late_rodata
glabel var7f1aa4c0
.word 0x3c8ef461
glabel var7f1aa4c4
.word 0x40c907a9
glabel var7f1aa4c8
.word 0x376a3783
glabel var7f1aa4cc
.word 0x3a5b940b
glabel var7f1aa4d0
.word 0x36ea3783
glabel var7f1aa4d4
.word 0x39db940b
glabel var7f1aa4d8
.word 0x40c907a9
glabel var7f1aa4dc
.word 0x376a3783
glabel var7f1aa4e0
.word 0x40c907a9
glabel var7f1aa4e4
.word 0x3a5b940b
glabel var7f1aa4e8
.word 0x36ea3783
glabel var7f1aa4ec
.word 0x40c907a9
glabel var7f1aa4f0
.word 0x39db940b
glabel var7f1aa4f4
.word 0x40c907a9
glabel var7f1aa4f8
.word 0x40c907a9
glabel var7f1aa4fc
.word 0x3ccddaca
glabel var7f1aa500
.word 0x358637bd
glabel var7f1aa504
.word 0x3c23606f
glabel var7f1aa508
.word 0x40c907a9
glabel var7f1aa50c
.word 0x40c907a9
glabel var7f1aa510
.word 0x40c907a9
glabel var7f1aa514
.word 0x404907a9
glabel var7f1aa518
.word 0x3f9c5b4b
glabel var7f1aa51c
.word 0xbf9c5b4b
glabel var7f1aa520
.word 0xc0490fdb
glabel var7f1aa524
.word 0x40490fdb
glabel var7f1aa528
.word 0x40c907a9
glabel var7f1aa52c
.word 0x40c907a9
glabel var7f1aa530
.word 0x40c907a9
glabel var7f1aa534
.word 0x40c907a9
glabel var7f1aa538
.word 0x40c907a9
glabel var7f1aa53c
.word 0x40c907a9
glabel var7f1aa540
.word 0x40c907a9
glabel var7f1aa544
.word 0x40c907a9
glabel var7f1aa548
.word 0x40c907a9
glabel var7f1aa54c
.word 0x3d80a8be
glabel var7f1aa550
.word 0x40c907a9
glabel var7f1aa554
.word 0x3f4ccccd
glabel var7f1aa558
.word 0xc0490fdb
glabel var7f1aa55c
.word 0x40490fdb
glabel var7f1aa560
.word 0x3a893c87
glabel var7f1aa564
.word 0x3a893c87
glabel var7f1aa568
.word 0x40c907a9
glabel var7f1aa56c
.word 0x40c907a9
glabel var7f1aa570
.word 0x404907a9
glabel var7f1aa574
.word 0x3f192a68
glabel var7f1aa578
.word 0x3c23606f
glabel var7f1aa57c
.word 0x3f7d70a4
glabel var7f1aa580
.word 0x38d1b717
.text
/* f078c78: 27bdff50 */ addiu $sp,$sp,-176
/* f078c7c: afbf001c */ sw $ra,0x1c($sp)
/* f078c80: afa400b0 */ sw $a0,0xb0($sp)
/* f078c84: 8c820004 */ lw $v0,0x4($a0)
/* f078c88: 44802000 */ mtc1 $zero,$f4
/* f078c8c: afa0007c */ sw $zero,0x7c($sp)
/* f078c90: afa00078 */ sw $zero,0x78($sp)
/* f078c94: afa00074 */ sw $zero,0x74($sp)
/* f078c98: afa200a8 */ sw $v0,0xa8($sp)
/* f078c9c: e7a40070 */ swc1 $f4,0x70($sp)
/* f078ca0: 8c4f000c */ lw $t7,0xc($v0)
/* f078ca4: 00001825 */ or $v1,$zero,$zero
/* f078ca8: 8fac00a8 */ lw $t4,0xa8($sp)
/* f078cac: 000fc000 */ sll $t8,$t7,0x0
/* f078cb0: 0701005a */ bgez $t8,.L0f078e1c
/* f078cb4: 00404025 */ or $t0,$v0,$zero
/* f078cb8: 000f5840 */ sll $t3,$t7,0x1
/* f078cbc: 05630008 */ bgezl $t3,.L0f078ce0
/* f078cc0: c5020060 */ lwc1 $f2,0x60($t0)
/* f078cc4: c448006c */ lwc1 $f8,0x6c($v0)
/* f078cc8: c4460078 */ lwc1 $f6,0x78($v0)
/* f078ccc: e4480060 */ swc1 $f8,0x60($v0)
/* f078cd0: c4420060 */ lwc1 $f2,0x60($v0)
/* f078cd4: 10000037 */ b .L0f078db4
/* f078cd8: e4460074 */ swc1 $f6,0x74($v0)
/* f078cdc: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078ce0:
/* f078ce0: c50a006c */ lwc1 $f10,0x6c($t0)
/* f078ce4: 460a1032 */ c.eq.s $f2,$f10
/* f078ce8: 00000000 */ nop
/* f078cec: 45000031 */ bc1f .L0f078db4
/* f078cf0: 00000000 */ nop
/* f078cf4: c5040074 */ lwc1 $f4,0x74($t0)
/* f078cf8: c5060078 */ lwc1 $f6,0x78($t0)
/* f078cfc: 46062032 */ c.eq.s $f4,$f6
/* f078d00: 00000000 */ nop
/* f078d04: 4500002b */ bc1f .L0f078db4
/* f078d08: 00000000 */ nop
/* f078d0c: 0c004b70 */ jal random
/* f078d10: afa800ac */ sw $t0,0xac($sp)
/* f078d14: 44824000 */ mtc1 $v0,$f8
/* f078d18: 8fa800ac */ lw $t0,0xac($sp)
/* f078d1c: 04410005 */ bgez $v0,.L0f078d34
/* f078d20: 468042a0 */ cvt.s.w $f10,$f8
/* f078d24: 3c014f80 */ lui $at,0x4f80
/* f078d28: 44812000 */ mtc1 $at,$f4
/* f078d2c: 00000000 */ nop
/* f078d30: 46045280 */ add.s $f10,$f10,$f4
.L0f078d34:
/* f078d34: 3c012f80 */ lui $at,0x2f80
/* f078d38: 44813000 */ mtc1 $at,$f6
/* f078d3c: 3c01421c */ lui $at,0x421c
/* f078d40: 44812000 */ mtc1 $at,$f4
/* f078d44: 46065202 */ mul.s $f8,$f10,$f6
/* f078d48: 3c013f80 */ lui $at,0x3f80
/* f078d4c: 44813000 */ mtc1 $at,$f6
/* f078d50: 3c017f1b */ lui $at,%hi(var7f1aa4c0)
/* f078d54: 46044282 */ mul.s $f10,$f8,$f4
/* f078d58: c424a4c0 */ lwc1 $f4,%lo(var7f1aa4c0)($at)
/* f078d5c: 46065200 */ add.s $f8,$f10,$f6
/* f078d60: 46044282 */ mul.s $f10,$f8,$f4
/* f078d64: 0c004b70 */ jal random
/* f078d68: e50a0074 */ swc1 $f10,0x74($t0)
/* f078d6c: 44823000 */ mtc1 $v0,$f6
/* f078d70: 3c017f1b */ lui $at,%hi(var7f1aa4c4)
/* f078d74: c430a4c4 */ lwc1 $f16,%lo(var7f1aa4c4)($at)
/* f078d78: 8fa800ac */ lw $t0,0xac($sp)
/* f078d7c: 04410005 */ bgez $v0,.L0f078d94
/* f078d80: 46803220 */ cvt.s.w $f8,$f6
/* f078d84: 3c014f80 */ lui $at,0x4f80
/* f078d88: 44812000 */ mtc1 $at,$f4
/* f078d8c: 00000000 */ nop
/* f078d90: 46044200 */ add.s $f8,$f8,$f4
.L0f078d94:
/* f078d94: 3c012f80 */ lui $at,0x2f80
/* f078d98: 44815000 */ mtc1 $at,$f10
/* f078d9c: 00000000 */ nop
/* f078da0: 460a4182 */ mul.s $f6,$f8,$f10
/* f078da4: 00000000 */ nop
/* f078da8: 46103102 */ mul.s $f4,$f6,$f16
/* f078dac: e5040060 */ swc1 $f4,0x60($t0)
/* f078db0: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078db4:
/* f078db4: 3c017f1b */ lui $at,%hi(var7f1aa4c8)
/* f078db8: c420a4c8 */ lwc1 $f0,%lo(var7f1aa4c8)($at)
/* f078dbc: 3c017f1b */ lui $at,%hi(var7f1aa4cc)
/* f078dc0: c428a4cc */ lwc1 $f8,%lo(var7f1aa4cc)($at)
/* f078dc4: 44051000 */ mfc1 $a1,$f2
/* f078dc8: 44070000 */ mfc1 $a3,$f0
/* f078dcc: 2504006c */ addiu $a0,$t0,0x6c
/* f078dd0: 25060070 */ addiu $a2,$t0,0x70
/* f078dd4: afa800ac */ sw $t0,0xac($sp)
/* f078dd8: e7a00010 */ swc1 $f0,0x10($sp)
/* f078ddc: 0fc1b6c0 */ jal applyRotation
/* f078de0: e7a80014 */ swc1 $f8,0x14($sp)
/* f078de4: 3c017f1b */ lui $at,%hi(var7f1aa4d0)
/* f078de8: c420a4d0 */ lwc1 $f0,%lo(var7f1aa4d0)($at)
/* f078dec: 8fa800ac */ lw $t0,0xac($sp)
/* f078df0: 3c017f1b */ lui $at,%hi(var7f1aa4d4)
/* f078df4: c42aa4d4 */ lwc1 $f10,%lo(var7f1aa4d4)($at)
/* f078df8: 44070000 */ mfc1 $a3,$f0
/* f078dfc: 8d050074 */ lw $a1,0x74($t0)
/* f078e00: e7a00010 */ swc1 $f0,0x10($sp)
/* f078e04: 25040078 */ addiu $a0,$t0,0x78
/* f078e08: 2506007c */ addiu $a2,$t0,0x7c
/* f078e0c: 0fc1b6c0 */ jal applyRotation
/* f078e10: e7aa0014 */ swc1 $f10,0x14($sp)
/* f078e14: 100003a0 */ b .L0f079c98
/* f078e18: 8fbf001c */ lw $ra,0x1c($sp)
.L0f078e1c:
/* f078e1c: 8d82000c */ lw $v0,0xc($t4)
/* f078e20: 00026880 */ sll $t5,$v0,0x2
/* f078e24: 05a10073 */ bgez $t5,.L0f078ff4
/* f078e28: 00027040 */ sll $t6,$v0,0x1
/* f078e2c: 05c30008 */ bgezl $t6,.L0f078e50
/* f078e30: c5020060 */ lwc1 $f2,0x60($t0)
/* f078e34: c504006c */ lwc1 $f4,0x6c($t0)
/* f078e38: c5060078 */ lwc1 $f6,0x78($t0)
/* f078e3c: e5040060 */ swc1 $f4,0x60($t0)
/* f078e40: c5020060 */ lwc1 $f2,0x60($t0)
/* f078e44: 1000001b */ b .L0f078eb4
/* f078e48: e5060074 */ swc1 $f6,0x74($t0)
/* f078e4c: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078e50:
/* f078e50: c508006c */ lwc1 $f8,0x6c($t0)
/* f078e54: 46081032 */ c.eq.s $f2,$f8
/* f078e58: 00000000 */ nop
/* f078e5c: 45000015 */ bc1f .L0f078eb4
/* f078e60: 00000000 */ nop
/* f078e64: 0c004b70 */ jal random
/* f078e68: afa800ac */ sw $t0,0xac($sp)
/* f078e6c: 44825000 */ mtc1 $v0,$f10
/* f078e70: 3c017f1b */ lui $at,%hi(var7f1aa4d8)
/* f078e74: c430a4d8 */ lwc1 $f16,%lo(var7f1aa4d8)($at)
/* f078e78: 8fa800ac */ lw $t0,0xac($sp)
/* f078e7c: 04410005 */ bgez $v0,.L0f078e94
/* f078e80: 468051a0 */ cvt.s.w $f6,$f10
/* f078e84: 3c014f80 */ lui $at,0x4f80
/* f078e88: 44812000 */ mtc1 $at,$f4
/* f078e8c: 00000000 */ nop
/* f078e90: 46043180 */ add.s $f6,$f6,$f4
.L0f078e94:
/* f078e94: 3c012f80 */ lui $at,0x2f80
/* f078e98: 44814000 */ mtc1 $at,$f8
/* f078e9c: 00000000 */ nop
/* f078ea0: 46083282 */ mul.s $f10,$f6,$f8
/* f078ea4: 00000000 */ nop
/* f078ea8: 46105102 */ mul.s $f4,$f10,$f16
/* f078eac: e5040060 */ swc1 $f4,0x60($t0)
/* f078eb0: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078eb4:
/* f078eb4: 3c017f1b */ lui $at,%hi(var7f1aa4dc)
/* f078eb8: c420a4dc */ lwc1 $f0,%lo(var7f1aa4dc)($at)
/* f078ebc: 3c017f1b */ lui $at,%hi(var7f1aa4e4)
/* f078ec0: c426a4e4 */ lwc1 $f6,%lo(var7f1aa4e4)($at)
/* f078ec4: 44051000 */ mfc1 $a1,$f2
/* f078ec8: 44070000 */ mfc1 $a3,$f0
/* f078ecc: 2504006c */ addiu $a0,$t0,0x6c
/* f078ed0: 25060070 */ addiu $a2,$t0,0x70
/* f078ed4: afa800ac */ sw $t0,0xac($sp)
/* f078ed8: e7a00010 */ swc1 $f0,0x10($sp)
/* f078edc: 0fc1b6c0 */ jal applyRotation
/* f078ee0: e7a60014 */ swc1 $f6,0x14($sp)
/* f078ee4: 3c017f1b */ lui $at,%hi(var7f1aa4e8)
/* f078ee8: c420a4e8 */ lwc1 $f0,%lo(var7f1aa4e8)($at)
/* f078eec: 8fa800ac */ lw $t0,0xac($sp)
/* f078ef0: 3c017f1b */ lui $at,%hi(var7f1aa4f0)
/* f078ef4: c428a4f0 */ lwc1 $f8,%lo(var7f1aa4f0)($at)
/* f078ef8: 44070000 */ mfc1 $a3,$f0
/* f078efc: 8d050074 */ lw $a1,0x74($t0)
/* f078f00: e7a00010 */ swc1 $f0,0x10($sp)
/* f078f04: 25040078 */ addiu $a0,$t0,0x78
/* f078f08: 2506007c */ addiu $a2,$t0,0x7c
/* f078f0c: 0fc1b6c0 */ jal applyRotation
/* f078f10: e7a80014 */ swc1 $f8,0x14($sp)
/* f078f14: 8fa800ac */ lw $t0,0xac($sp)
/* f078f18: 0c0068f4 */ jal cosf
/* f078f1c: c50c006c */ lwc1 $f12,0x6c($t0)
/* f078f20: 44807000 */ mtc1 $zero,$f14
/* f078f24: 3c017f1b */ lui $at,%hi(var7f1aa4f8)
/* f078f28: c430a4f8 */ lwc1 $f16,%lo(var7f1aa4f8)($at)
/* f078f2c: 4600703c */ c.lt.s $f14,$f0
/* f078f30: 3c09800a */ lui $t1,%hi(g_Vars)
/* f078f34: 8fa800ac */ lw $t0,0xac($sp)
/* f078f38: 3c017f1b */ lui $at,%hi(var7f1aa4fc)
/* f078f3c: 45000006 */ bc1f .L0f078f58
/* f078f40: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f078f44: 3c017f1b */ lui $at,%hi(var7f1aa500)
/* f078f48: c42aa4fc */ lwc1 $f10,%lo(var7f1aa4fc)($at)
/* f078f4c: 46005302 */ mul.s $f12,$f10,$f0
/* f078f50: 10000002 */ b .L0f078f5c
/* f078f54: 00000000 */ nop
.L0f078f58:
/* f078f58: c42ca500 */ lwc1 $f12,%lo(var7f1aa500)($at)
.L0f078f5c:
/* f078f5c: 3c017f1b */ lui $at,%hi(var7f1aa504)
/* f078f60: c424a504 */ lwc1 $f4,%lo(var7f1aa504)($at)
/* f078f64: c526004c */ lwc1 $f6,0x4c($t1)
/* f078f68: c50a0088 */ lwc1 $f10,0x88($t0)
/* f078f6c: 46062202 */ mul.s $f8,$f4,$f6
/* f078f70: 46085100 */ add.s $f4,$f10,$f8
/* f078f74: e5040088 */ swc1 $f4,0x88($t0)
/* f078f78: c5020088 */ lwc1 $f2,0x88($t0)
/* f078f7c: 4602603c */ c.lt.s $f12,$f2
/* f078f80: 00000000 */ nop
/* f078f84: 45020004 */ bc1fl .L0f078f98
/* f078f88: 4602703c */ c.lt.s $f14,$f2
/* f078f8c: e50c0088 */ swc1 $f12,0x88($t0)
/* f078f90: c5020088 */ lwc1 $f2,0x88($t0)
/* f078f94: 4602703c */ c.lt.s $f14,$f2
.L0f078f98:
/* f078f98: 3c09800a */ lui $t1,%hi(g_Vars)
/* f078f9c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f078fa0: 4502033d */ bc1fl .L0f079c98
/* f078fa4: 8fbf001c */ lw $ra,0x1c($sp)
/* f078fa8: c52a004c */ lwc1 $f10,0x4c($t1)
/* f078fac: c506008c */ lwc1 $f6,0x8c($t0)
/* f078fb0: 460a1202 */ mul.s $f8,$f2,$f10
/* f078fb4: 46083100 */ add.s $f4,$f6,$f8
/* f078fb8: e504008c */ swc1 $f4,0x8c($t0)
/* f078fbc: c500008c */ lwc1 $f0,0x8c($t0)
/* f078fc0: 4600803e */ c.le.s $f16,$f0
/* f078fc4: 00000000 */ nop
/* f078fc8: 45020333 */ bc1fl .L0f079c98
/* f078fcc: 8fbf001c */ lw $ra,0x1c($sp)
/* f078fd0: 46100281 */ sub.s $f10,$f0,$f16
.L0f078fd4:
/* f078fd4: e50a008c */ swc1 $f10,0x8c($t0)
/* f078fd8: c500008c */ lwc1 $f0,0x8c($t0)
/* f078fdc: 4600803e */ c.le.s $f16,$f0
/* f078fe0: 00000000 */ nop
/* f078fe4: 4503fffb */ bc1tl .L0f078fd4
/* f078fe8: 46100281 */ sub.s $f10,$f0,$f16
/* f078fec: 1000032a */ b .L0f079c98
/* f078ff0: 8fbf001c */ lw $ra,0x1c($sp)
.L0f078ff4:
/* f078ff4: 910f00a9 */ lbu $t7,0xa9($t0)
/* f078ff8: 15e00004 */ bnez $t7,.L0f07900c
/* f078ffc: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079000: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079004: 10000096 */ b .L0f079260
/* f079008: afa3006c */ sw $v1,0x6c($sp)
.L0f07900c:
/* f07900c: 8d0200a4 */ lw $v0,0xa4($t0)
/* f079010: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079014: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079018: 50400004 */ beqzl $v0,.L0f07902c
/* f07901c: afa3006c */ sw $v1,0x6c($sp)
/* f079020: 1000008f */ b .L0f079260
/* f079024: afa2006c */ sw $v0,0x6c($sp)
/* f079028: afa3006c */ sw $v1,0x6c($sp)
.L0f07902c:
/* f07902c: 0fc6830c */ jal frIsInTraining
/* f079030: afa800ac */ sw $t0,0xac($sp)
/* f079034: 1040000a */ beqz $v0,.L0f079060
/* f079038: 8fa800ac */ lw $t0,0xac($sp)
/* f07903c: 8fa400b0 */ lw $a0,0xb0($sp)
/* f079040: afa800ac */ sw $t0,0xac($sp)
/* f079044: 0fc67ce7 */ jal frChooseAutogunTarget
/* f079048: 24840008 */ addiu $a0,$a0,0x8
/* f07904c: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079050: 8fa800ac */ lw $t0,0xac($sp)
/* f079054: afa2006c */ sw $v0,0x6c($sp)
/* f079058: 10000081 */ b .L0f079260
/* f07905c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
.L0f079060:
/* f079060: 911800a8 */ lbu $t8,0xa8($t0)
/* f079064: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079068: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07906c: 5300006b */ beqzl $t8,.L0f07921c
/* f079070: 8d2e0298 */ lw $t6,0x298($t1)
/* f079074: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079078: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07907c: 8d390318 */ lw $t9,0x318($t1)
/* f079080: 3c05800b */ lui $a1,%hi(g_MpNumChrs)
/* f079084: 13200003 */ beqz $t9,.L0f079094
/* f079088: 00000000 */ nop
/* f07908c: 10000007 */ b .L0f0790ac
/* f079090: 8ca5c530 */ lw $a1,%lo(g_MpNumChrs)($a1)
.L0f079094:
/* f079094: 0fc07934 */ jal chrsGetNumSlots
/* f079098: afa800ac */ sw $t0,0xac($sp)
/* f07909c: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0790a0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0790a4: 8fa800ac */ lw $t0,0xac($sp)
/* f0790a8: 00402825 */ or $a1,$v0,$zero
.L0f0790ac:
/* f0790ac: 850300aa */ lh $v1,0xaa($t0)
.L0f0790b0:
/* f0790b0: 246a0001 */ addiu $t2,$v1,0x1
.L0f0790b4:
/* f0790b4: a50a00aa */ sh $t2,0xaa($t0)
/* f0790b8: 850300aa */ lh $v1,0xaa($t0)
/* f0790bc: 8fad00a8 */ lw $t5,0xa8($sp)
/* f0790c0: 3c198006 */ lui $t9,%hi(g_ChrSlots)
/* f0790c4: 0065082a */ slt $at,$v1,$a1
/* f0790c8: 14200004 */ bnez $at,.L0f0790dc
/* f0790cc: 0003c0c0 */ sll $t8,$v1,0x3
/* f0790d0: 240bffff */ addiu $t3,$zero,-1
/* f0790d4: 10000062 */ b .L0f079260
/* f0790d8: a50b00aa */ sh $t3,0xaa($t0)
.L0f0790dc:
/* f0790dc: 8d2c0318 */ lw $t4,0x318($t1)
/* f0790e0: 0303c023 */ subu $t8,$t8,$v1
/* f0790e4: 0018c080 */ sll $t8,$t8,0x2
/* f0790e8: 1180001c */ beqz $t4,.L0f07915c
/* f0790ec: 0303c023 */ subu $t8,$t8,$v1
/* f0790f0: 8da20040 */ lw $v0,0x40($t5)
/* f0790f4: 3c01f000 */ lui $at,0xf000
/* f0790f8: 0003c080 */ sll $t8,$v1,0x2
/* f0790fc: 00417024 */ and $t6,$v0,$at
/* f079100: 000e7f02 */ srl $t7,$t6,0x1c
/* f079104: 11e3ffea */ beq $t7,$v1,.L0f0790b0
/* f079108: 3c04800b */ lui $a0,%hi(g_MpAllChrPtrs)
/* f07910c: 00982021 */ addu $a0,$a0,$t8
/* f079110: 8c84c4d0 */ lw $a0,%lo(g_MpAllChrPtrs)($a0)
/* f079114: 8c99001c */ lw $t9,0x1c($a0)
/* f079118: 5320ffe6 */ beqzl $t9,.L0f0790b4
/* f07911c: 246a0001 */ addiu $t2,$v1,0x1
/* f079120: 8c8a0020 */ lw $t2,0x20($a0)
/* f079124: 3c0b800b */ lui $t3,%hi(g_MpSetup+0xc)
/* f079128: 5140ffe2 */ beqzl $t2,.L0f0790b4
/* f07912c: 246a0001 */ addiu $t2,$v1,0x1
/* f079130: 8d6bcb94 */ lw $t3,%lo(g_MpSetup+0xc)($t3)
/* f079134: 316c0002 */ andi $t4,$t3,0x2
/* f079138: 51800021 */ beqzl $t4,.L0f0791c0
/* f07913c: 8c990018 */ lw $t9,0x18($a0)
/* f079140: 908d0125 */ lbu $t5,0x125($a0)
/* f079144: 910e00a8 */ lbu $t6,0xa8($t0)
/* f079148: 01ae7824 */ and $t7,$t5,$t6
/* f07914c: 55e0001c */ bnezl $t7,.L0f0791c0
/* f079150: 8c990018 */ lw $t9,0x18($a0)
/* f079154: 1000ffd7 */ b .L0f0790b4
/* f079158: 246a0001 */ addiu $t2,$v1,0x1
.L0f07915c:
/* f07915c: 8f392988 */ lw $t9,%lo(g_ChrSlots)($t9)
/* f079160: 0018c080 */ sll $t8,$t8,0x2
/* f079164: 0303c021 */ addu $t8,$t8,$v1
/* f079168: 0018c0c0 */ sll $t8,$t8,0x3
/* f07916c: 03192021 */ addu $a0,$t8,$t9
/* f079170: 8c82001c */ lw $v0,0x1c($a0)
/* f079174: 5040ffcf */ beqzl $v0,.L0f0790b4
/* f079178: 246a0001 */ addiu $t2,$v1,0x1
/* f07917c: 908a0125 */ lbu $t2,0x125($a0)
/* f079180: 910b00a8 */ lbu $t3,0xa8($t0)
/* f079184: 014b6024 */ and $t4,$t2,$t3
/* f079188: 5180ffca */ beqzl $t4,.L0f0790b4
/* f07918c: 246a0001 */ addiu $t2,$v1,0x1
/* f079190: 8c8d0020 */ lw $t5,0x20($a0)
/* f079194: 51a00006 */ beqzl $t5,.L0f0791b0
/* f079198: 90580000 */ lbu $t8,0x0($v0)
/* f07919c: 904e0001 */ lbu $t6,0x1($v0)
/* f0791a0: 31cf0004 */ andi $t7,$t6,0x4
/* f0791a4: 55e00006 */ bnezl $t7,.L0f0791c0
/* f0791a8: 8c990018 */ lw $t9,0x18($a0)
/* f0791ac: 90580000 */ lbu $t8,0x0($v0)
.L0f0791b0:
/* f0791b0: 24010006 */ addiu $at,$zero,0x6
/* f0791b4: 5701ffbf */ bnel $t8,$at,.L0f0790b4
/* f0791b8: 246a0001 */ addiu $t2,$v1,0x1
/* f0791bc: 8c990018 */ lw $t9,0x18($a0)
.L0f0791c0:
/* f0791c0: 332a0400 */ andi $t2,$t9,0x400
/* f0791c4: 15400012 */ bnez $t2,.L0f079210
/* f0791c8: 00000000 */ nop
/* f0791cc: 8c8b0014 */ lw $t3,0x14($a0)
/* f0791d0: 000b6080 */ sll $t4,$t3,0x2
/* f0791d4: 0580000e */ bltz $t4,.L0f079210
/* f0791d8: 00000000 */ nop
/* f0791dc: afa40058 */ sw $a0,0x58($sp)
/* f0791e0: afa5005c */ sw $a1,0x5c($sp)
/* f0791e4: 0fc0e6a5 */ jal chrIsDead
/* f0791e8: afa800ac */ sw $t0,0xac($sp)
/* f0791ec: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0791f0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0791f4: 8fa40058 */ lw $a0,0x58($sp)
/* f0791f8: 8fa5005c */ lw $a1,0x5c($sp)
/* f0791fc: 14400004 */ bnez $v0,.L0f079210
/* f079200: 8fa800ac */ lw $t0,0xac($sp)
/* f079204: 8c8d001c */ lw $t5,0x1c($a0)
/* f079208: 10000015 */ b .L0f079260
/* f07920c: afad006c */ sw $t5,0x6c($sp)
.L0f079210:
/* f079210: 1000ffa7 */ b .L0f0790b0
/* f079214: 850300aa */ lh $v1,0xaa($t0)
/* f079218: 8d2e0298 */ lw $t6,0x298($t1)
.L0f07921c:
/* f07921c: 05c2000e */ bltzl $t6,.L0f079258
/* f079220: 8d2d02a0 */ lw $t5,0x2a0($t1)
/* f079224: 8d2f000c */ lw $t7,0xc($t1)
/* f079228: 31f80001 */ andi $t8,$t7,0x1
/* f07922c: 53000006 */ beqzl $t8,.L0f079248
/* f079230: 8d2b02a4 */ lw $t3,0x2a4($t1)
/* f079234: 8d3902a0 */ lw $t9,0x2a0($t1)
/* f079238: 8f2a00bc */ lw $t2,0xbc($t9)
/* f07923c: 10000008 */ b .L0f079260
/* f079240: afaa006c */ sw $t2,0x6c($sp)
/* f079244: 8d2b02a4 */ lw $t3,0x2a4($t1)
.L0f079248:
/* f079248: 8d6c00bc */ lw $t4,0xbc($t3)
/* f07924c: 10000004 */ b .L0f079260
/* f079250: afac006c */ sw $t4,0x6c($sp)
/* f079254: 8d2d02a0 */ lw $t5,0x2a0($t1)
.L0f079258:
/* f079258: 8dae00bc */ lw $t6,0xbc($t5)
/* f07925c: afae006c */ sw $t6,0x6c($sp)
.L0f079260:
/* f079260: 8fa3006c */ lw $v1,0x6c($sp)
/* f079264: 50600016 */ beqzl $v1,.L0f0792c0
/* f079268: 8fa3006c */ lw $v1,0x6c($sp)
/* f07926c: 8c6f0004 */ lw $t7,0x4($v1)
/* f079270: 55e00004 */ bnezl $t7,.L0f079284
/* f079274: 90620000 */ lbu $v0,0x0($v1)
/* f079278: 10000010 */ b .L0f0792bc
/* f07927c: afa0006c */ sw $zero,0x6c($sp)
/* f079280: 90620000 */ lbu $v0,0x0($v1)
.L0f079284:
/* f079284: 24010003 */ addiu $at,$zero,0x3
/* f079288: afa3006c */ sw $v1,0x6c($sp)
/* f07928c: 1041000b */ beq $v0,$at,.L0f0792bc
/* f079290: 24010006 */ addiu $at,$zero,0x6
/* f079294: 10410009 */ beq $v0,$at,.L0f0792bc
/* f079298: afa3006c */ sw $v1,0x6c($sp)
/* f07929c: afa3006c */ sw $v1,0x6c($sp)
/* f0792a0: 0fc6830c */ jal frIsInTraining
/* f0792a4: afa800ac */ sw $t0,0xac($sp)
/* f0792a8: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0792ac: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0792b0: 14400002 */ bnez $v0,.L0f0792bc
/* f0792b4: 8fa800ac */ lw $t0,0xac($sp)
/* f0792b8: afa0006c */ sw $zero,0x6c($sp)
.L0f0792bc:
/* f0792bc: 8fa3006c */ lw $v1,0x6c($sp)
.L0f0792c0:
/* f0792c0: c5060074 */ lwc1 $f6,0x74($t0)
/* f0792c4: c5120060 */ lwc1 $f18,0x60($t0)
/* f0792c8: 10600152 */ beqz $v1,.L0f079814
/* f0792cc: e7a600a0 */ swc1 $f6,0xa0($sp)
/* f0792d0: 8fb800b0 */ lw $t8,0xb0($sp)
/* f0792d4: c46e0008 */ lwc1 $f14,0x8($v1)
/* f0792d8: 90790000 */ lbu $t9,0x0($v1)
/* f0792dc: c70c0008 */ lwc1 $f12,0x8($t8)
/* f0792e0: c46a000c */ lwc1 $f10,0xc($v1)
/* f0792e4: c708000c */ lwc1 $f8,0xc($t8)
/* f0792e8: 460c7081 */ sub.s $f2,$f14,$f12
/* f0792ec: c46c0010 */ lwc1 $f12,0x10($v1)
/* f0792f0: c70e0010 */ lwc1 $f14,0x10($t8)
/* f0792f4: 46085001 */ sub.s $f0,$f10,$f8
/* f0792f8: 24010006 */ addiu $at,$zero,0x6
/* f0792fc: 17210005 */ bne $t9,$at,.L0f079314
/* f079300: 460e6401 */ sub.s $f16,$f12,$f14
/* f079304: 3c0141a0 */ lui $at,0x41a0
/* f079308: 44815000 */ mtc1 $at,$f10
/* f07930c: 00000000 */ nop
/* f079310: 460a0001 */ sub.s $f0,$f0,$f10
.L0f079314:
/* f079314: 46021182 */ mul.s $f6,$f2,$f2
/* f079318: afa3006c */ sw $v1,0x6c($sp)
/* f07931c: afa800ac */ sw $t0,0xac($sp)
/* f079320: 46108202 */ mul.s $f8,$f16,$f16
/* f079324: e7a00090 */ swc1 $f0,0x90($sp)
/* f079328: e7a20094 */ swc1 $f2,0x94($sp)
/* f07932c: e7b0008c */ swc1 $f16,0x8c($sp)
/* f079330: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079334: 46083300 */ add.s $f12,$f6,$f8
/* f079338: e7ac0088 */ swc1 $f12,0x88($sp)
/* f07933c: 0c012974 */ jal sqrtf
/* f079340: e7ac0024 */ swc1 $f12,0x24($sp)
/* f079344: 8faa00a8 */ lw $t2,0xa8($sp)
/* f079348: e7a00080 */ swc1 $f0,0x80($sp)
/* f07934c: 8fa800ac */ lw $t0,0xac($sp)
/* f079350: 8d4b0008 */ lw $t3,0x8($t2)
/* f079354: c7ae0024 */ lwc1 $f14,0x24($sp)
/* f079358: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f07935c: 000b6100 */ sll $t4,$t3,0x4
/* f079360: 0581000b */ bgez $t4,.L0f079390
/* f079364: 46000086 */ mov.s $f2,$f0
/* f079368: c7a00090 */ lwc1 $f0,0x90($sp)
/* f07936c: afa800ac */ sw $t0,0xac($sp)
/* f079370: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079374: 46000102 */ mul.s $f4,$f0,$f0
/* f079378: 46047300 */ add.s $f12,$f14,$f4
/* f07937c: 0c012974 */ jal sqrtf
/* f079380: e7ac0088 */ swc1 $f12,0x88($sp)
/* f079384: 8fa800ac */ lw $t0,0xac($sp)
/* f079388: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f07938c: 46000086 */ mov.s $f2,$f0
.L0f079390:
/* f079390: c7ac0088 */ lwc1 $f12,0x88($sp)
/* f079394: afa800ac */ sw $t0,0xac($sp)
/* f079398: e7a20084 */ swc1 $f2,0x84($sp)
/* f07939c: 0fc0fe84 */ jal chrGetAimLimitAngle
/* f0793a0: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0793a4: 8fa800ac */ lw $t0,0xac($sp)
/* f0793a8: e7a00070 */ swc1 $f0,0x70($sp)
/* f0793ac: c7a20084 */ lwc1 $f2,0x84($sp)
/* f0793b0: c50a0084 */ lwc1 $f10,0x84($t0)
/* f0793b4: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0793b8: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0793bc: 460a103e */ c.le.s $f2,$f10
/* f0793c0: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f0793c4: c7ac0094 */ lwc1 $f12,0x94($sp)
/* f0793c8: c7ae008c */ lwc1 $f14,0x8c($sp)
/* f0793cc: 45020112 */ bc1fl .L0f079818
/* f0793d0: 8fb8007c */ lw $t8,0x7c($sp)
/* f0793d4: afa800ac */ sw $t0,0xac($sp)
/* f0793d8: 0fc259d4 */ jal atan2f
/* f0793dc: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0793e0: e7a00050 */ swc1 $f0,0x50($sp)
/* f0793e4: c7ac0090 */ lwc1 $f12,0x90($sp)
/* f0793e8: 0fc259d4 */ jal atan2f
/* f0793ec: c7ae0080 */ lwc1 $f14,0x80($sp)
/* f0793f0: 8fae00a8 */ lw $t6,0xa8($sp)
/* f0793f4: e7a0004c */ swc1 $f0,0x4c($sp)
/* f0793f8: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0793fc: 8dc20008 */ lw $v0,0x8($t6)
/* f079400: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079404: 3c054000 */ lui $a1,0x4000
/* f079408: 00027840 */ sll $t7,$v0,0x1
/* f07940c: 8fa800ac */ lw $t0,0xac($sp)
/* f079410: 05e00004 */ bltz $t7,.L0f079424
/* f079414: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079418: 0002c080 */ sll $t8,$v0,0x2
/* f07941c: 07010006 */ bgez $t8,.L0f079438
/* f079420: c7a60050 */ lwc1 $f6,0x50($sp)
.L0f079424:
/* f079424: 24190001 */ addiu $t9,$zero,0x1
/* f079428: 3c017f1b */ lui $at,%hi(var7f1aa508)
/* f07942c: c430a508 */ lwc1 $f16,%lo(var7f1aa508)($at)
/* f079430: 10000029 */ b .L0f0794d8
/* f079434: afb9007c */ sw $t9,0x7c($sp)
.L0f079438:
/* f079438: c508006c */ lwc1 $f8,0x6c($t0)
/* f07943c: 44802000 */ mtc1 $zero,$f4
/* f079440: 3c017f1b */ lui $at,%hi(var7f1aa50c)
/* f079444: 46083301 */ sub.s $f12,$f6,$f8
/* f079448: 4604603c */ c.lt.s $f12,$f4
/* f07944c: 00000000 */ nop
/* f079450: 45000003 */ bc1f .L0f079460
/* f079454: 00000000 */ nop
/* f079458: c430a50c */ lwc1 $f16,%lo(var7f1aa50c)($at)
/* f07945c: 46106300 */ add.s $f12,$f12,$f16
.L0f079460:
/* f079460: 3c017f1b */ lui $at,%hi(var7f1aa510)
/* f079464: c430a510 */ lwc1 $f16,%lo(var7f1aa510)($at)
/* f079468: 3c017f1b */ lui $at,%hi(var7f1aa514)
/* f07946c: c42aa514 */ lwc1 $f10,%lo(var7f1aa514)($at)
/* f079470: 3c017f1b */ lui $at,%hi(var7f1aa518)
/* f079474: 460c503c */ c.lt.s $f10,$f12
/* f079478: 00000000 */ nop
/* f07947c: 45020003 */ bc1fl .L0f07948c
/* f079480: c5060078 */ lwc1 $f6,0x78($t0)
/* f079484: 46106301 */ sub.s $f12,$f12,$f16
/* f079488: c5060078 */ lwc1 $f6,0x78($t0)
.L0f07948c:
/* f07948c: 44804000 */ mtc1 $zero,$f8
/* f079490: 46060081 */ sub.s $f2,$f0,$f6
/* f079494: 4608103c */ c.lt.s $f2,$f8
/* f079498: 00000000 */ nop
/* f07949c: 45000001 */ bc1f .L0f0794a4
/* f0794a0: 00000000 */ nop
.L0f0794a4:
/* f0794a4: c424a518 */ lwc1 $f4,%lo(var7f1aa518)($at)
/* f0794a8: 3c017f1b */ lui $at,%hi(var7f1aa51c)
/* f0794ac: 4604603c */ c.lt.s $f12,$f4
/* f0794b0: 00000000 */ nop
/* f0794b4: 45020009 */ bc1fl .L0f0794dc
/* f0794b8: 8fab007c */ lw $t3,0x7c($sp)
/* f0794bc: c42aa51c */ lwc1 $f10,%lo(var7f1aa51c)($at)
/* f0794c0: 240a0001 */ addiu $t2,$zero,0x1
/* f0794c4: 460c503c */ c.lt.s $f10,$f12
/* f0794c8: 00000000 */ nop
/* f0794cc: 45020003 */ bc1fl .L0f0794dc
/* f0794d0: 8fab007c */ lw $t3,0x7c($sp)
/* f0794d4: afaa007c */ sw $t2,0x7c($sp)
.L0f0794d8:
/* f0794d8: 8fab007c */ lw $t3,0x7c($sp)
.L0f0794dc:
/* f0794dc: c7a60050 */ lwc1 $f6,0x50($sp)
/* f0794e0: 8fac006c */ lw $t4,0x6c($sp)
/* f0794e4: 516000cc */ beqzl $t3,.L0f079818
/* f0794e8: 8fb8007c */ lw $t8,0x7c($sp)
/* f0794ec: c5080060 */ lwc1 $f8,0x60($t0)
/* f0794f0: 3c017f1b */ lui $at,%hi(var7f1aa520)
/* f0794f4: c424a520 */ lwc1 $f4,%lo(var7f1aa520)($at)
/* f0794f8: 46083001 */ sub.s $f0,$f6,$f8
/* f0794fc: 24030001 */ addiu $v1,$zero,0x1
/* f079500: 3c017f1b */ lui $at,%hi(var7f1aa524)
/* f079504: 4604003c */ c.lt.s $f0,$f4
/* f079508: 00000000 */ nop
/* f07950c: 45000003 */ bc1f .L0f07951c
/* f079510: 00000000 */ nop
/* f079514: 10000007 */ b .L0f079534
/* f079518: 46100000 */ add.s $f0,$f0,$f16
.L0f07951c:
/* f07951c: c42aa524 */ lwc1 $f10,%lo(var7f1aa524)($at)
/* f079520: 4600503e */ c.le.s $f10,$f0
/* f079524: 00000000 */ nop
/* f079528: 45020003 */ bc1fl .L0f079538
/* f07952c: 91820000 */ lbu $v0,0x0($t4)
/* f079530: 46100001 */ sub.s $f0,$f0,$f16
.L0f079534:
/* f079534: 91820000 */ lbu $v0,0x0($t4)
.L0f079538:
/* f079538: 24010006 */ addiu $at,$zero,0x6
/* f07953c: 54410022 */ bnel $v0,$at,.L0f0795c8
/* f079540: 24010003 */ addiu $at,$zero,0x3
/* f079544: 8d2d0324 */ lw $t5,0x324($t1)
/* f079548: 01802025 */ or $a0,$t4,$zero
/* f07954c: 11a0001b */ beqz $t5,.L0f0795bc
/* f079550: 00000000 */ nop
/* f079554: afa30044 */ sw $v1,0x44($sp)
/* f079558: afa800ac */ sw $t0,0xac($sp)
/* f07955c: e7a00048 */ swc1 $f0,0x48($sp)
/* f079560: 0fc4a25f */ jal propGetPlayerNum
/* f079564: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079568: 3c09800a */ lui $t1,%hi(g_Vars)
/* f07956c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079570: 00027080 */ sll $t6,$v0,0x2
/* f079574: 012e7821 */ addu $t7,$t1,$t6
/* f079578: 8df80064 */ lw $t8,0x64($t7)
/* f07957c: 8fa30044 */ lw $v1,0x44($sp)
/* f079580: 8fa800ac */ lw $t0,0xac($sp)
/* f079584: 8f1900d8 */ lw $t9,0xd8($t8)
/* f079588: c7a00048 */ lwc1 $f0,0x48($sp)
/* f07958c: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079590: 1720000a */ bnez $t9,.L0f0795bc
/* f079594: 8faa006c */ lw $t2,0x6c($sp)
/* f079598: 8d420004 */ lw $v0,0x4($t2)
/* f07959c: 8c4b0018 */ lw $t3,0x18($v0)
/* f0795a0: 316d0400 */ andi $t5,$t3,0x400
/* f0795a4: 15a00005 */ bnez $t5,.L0f0795bc
/* f0795a8: 00000000 */ nop
/* f0795ac: 8c4c0014 */ lw $t4,0x14($v0)
/* f0795b0: 000c7080 */ sll $t6,$t4,0x2
/* f0795b4: 05c30043 */ bgezl $t6,.L0f0796c4
/* f0795b8: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f0795bc:
/* f0795bc: 10000040 */ b .L0f0796c0
/* f0795c0: 00001825 */ or $v1,$zero,$zero
/* f0795c4: 24010003 */ addiu $at,$zero,0x3
.L0f0795c8:
/* f0795c8: 14410024 */ bne $v0,$at,.L0f07965c
/* f0795cc: 8faf006c */ lw $t7,0x6c($sp)
/* f0795d0: 8de40004 */ lw $a0,0x4($t7)
/* f0795d4: 1080001f */ beqz $a0,.L0f079654
/* f0795d8: 00000000 */ nop
/* f0795dc: 8c980018 */ lw $t8,0x18($a0)
/* f0795e0: 33190400 */ andi $t9,$t8,0x400
/* f0795e4: 1720001b */ bnez $t9,.L0f079654
/* f0795e8: 00000000 */ nop
/* f0795ec: 8c820014 */ lw $v0,0x14($a0)
/* f0795f0: 00025080 */ sll $t2,$v0,0x2
/* f0795f4: 05400017 */ bltz $t2,.L0f079654
/* f0795f8: 00455824 */ and $t3,$v0,$a1
/* f0795fc: 15600015 */ bnez $t3,.L0f079654
/* f079600: 00000000 */ nop
/* f079604: afa30044 */ sw $v1,0x44($sp)
/* f079608: afa40040 */ sw $a0,0x40($sp)
/* f07960c: afa800ac */ sw $t0,0xac($sp)
/* f079610: e7a00048 */ swc1 $f0,0x48($sp)
/* f079614: 0fc0e6a5 */ jal chrIsDead
/* f079618: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f07961c: 8fa30044 */ lw $v1,0x44($sp)
/* f079620: 8fa40040 */ lw $a0,0x40($sp)
/* f079624: 8fa800ac */ lw $t0,0xac($sp)
/* f079628: c7a00048 */ lwc1 $f0,0x48($sp)
/* f07962c: 14400009 */ bnez $v0,.L0f079654
/* f079630: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079634: 80820007 */ lb $v0,0x7($a0)
/* f079638: 24010020 */ addiu $at,$zero,0x20
/* f07963c: 10410005 */ beq $v0,$at,.L0f079654
/* f079640: 2401001e */ addiu $at,$zero,0x1e
/* f079644: 10410003 */ beq $v0,$at,.L0f079654
/* f079648: 2401001f */ addiu $at,$zero,0x1f
/* f07964c: 5441001d */ bnel $v0,$at,.L0f0796c4
/* f079650: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f079654:
/* f079654: 1000001a */ b .L0f0796c0
/* f079658: 00001825 */ or $v1,$zero,$zero
.L0f07965c:
/* f07965c: 24010001 */ addiu $at,$zero,0x1
/* f079660: 14410017 */ bne $v0,$at,.L0f0796c0
/* f079664: 8fad006c */ lw $t5,0x6c($sp)
/* f079668: 8da20004 */ lw $v0,0x4($t5)
/* f07966c: 50400014 */ beqzl $v0,.L0f0796c0
/* f079670: 00001825 */ or $v1,$zero,$zero
/* f079674: 844c0004 */ lh $t4,0x4($v0)
/* f079678: 2401014c */ addiu $at,$zero,0x14c
/* f07967c: 01a02025 */ or $a0,$t5,$zero
/* f079680: 1581000e */ bne $t4,$at,.L0f0796bc
/* f079684: 8fa500b0 */ lw $a1,0xb0($sp)
/* f079688: 24a50008 */ addiu $a1,$a1,0x8
/* f07968c: afa30044 */ sw $v1,0x44($sp)
/* f079690: afa800ac */ sw $t0,0xac($sp)
/* f079694: e7a00048 */ swc1 $f0,0x48($sp)
/* f079698: 0fc67cbb */ jal frIsTargetFacingPos
/* f07969c: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0796a0: 8fa30044 */ lw $v1,0x44($sp)
/* f0796a4: 8fa800ac */ lw $t0,0xac($sp)
/* f0796a8: c7a00048 */ lwc1 $f0,0x48($sp)
/* f0796ac: 14400004 */ bnez $v0,.L0f0796c0
/* f0796b0: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f0796b4: 10000002 */ b .L0f0796c0
/* f0796b8: 00001825 */ or $v1,$zero,$zero
.L0f0796bc:
/* f0796bc: 00001825 */ or $v1,$zero,$zero
.L0f0796c0:
/* f0796c0: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f0796c4:
/* f0796c4: 00002825 */ or $a1,$zero,$zero
/* f0796c8: afa30044 */ sw $v1,0x44($sp)
/* f0796cc: afa800ac */ sw $t0,0xac($sp)
/* f0796d0: e7a00048 */ swc1 $f0,0x48($sp)
/* f0796d4: 0fc1905e */ jal propSetPerimEnabled
/* f0796d8: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0796dc: 8fa4006c */ lw $a0,0x6c($sp)
/* f0796e0: 0fc1905e */ jal propSetPerimEnabled
/* f0796e4: 00002825 */ or $a1,$zero,$zero
/* f0796e8: 8fa800ac */ lw $t0,0xac($sp)
/* f0796ec: c7a00048 */ lwc1 $f0,0x48($sp)
/* f0796f0: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0796f4: c5060064 */ lwc1 $f6,0x64($t0)
/* f0796f8: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0796fc: 8fa30044 */ lw $v1,0x44($sp)
/* f079700: 4606003e */ c.le.s $f0,$f6
/* f079704: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079708: 4502002a */ bc1fl .L0f0797b4
/* f07970c: 8d020090 */ lw $v0,0x90($t0)
/* f079710: c5080068 */ lwc1 $f8,0x68($t0)
/* f079714: 4600403e */ c.le.s $f8,$f0
/* f079718: 00000000 */ nop
/* f07971c: 45020025 */ bc1fl .L0f0797b4
/* f079720: 8d020090 */ lw $v0,0x90($t0)
/* f079724: 10600022 */ beqz $v1,.L0f0797b0
/* f079728: 8fa200b0 */ lw $v0,0xb0($sp)
/* f07972c: 8fae006c */ lw $t6,0x6c($sp)
/* f079730: 240f003f */ addiu $t7,$zero,0x3f
/* f079734: 24180008 */ addiu $t8,$zero,0x8
/* f079738: afb80014 */ sw $t8,0x14($sp)
/* f07973c: afaf0010 */ sw $t7,0x10($sp)
/* f079740: 24440008 */ addiu $a0,$v0,0x8
/* f079744: 24450028 */ addiu $a1,$v0,0x28
/* f079748: afa800ac */ sw $t0,0xac($sp)
/* f07974c: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079750: 25c60008 */ addiu $a2,$t6,0x8
/* f079754: 0c00b70f */ jal cdHasLineOfSight
/* f079758: 25c70028 */ addiu $a3,$t6,0x28
/* f07975c: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079760: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079764: 8fa800ac */ lw $t0,0xac($sp)
/* f079768: 10400011 */ beqz $v0,.L0f0797b0
/* f07976c: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079770: 8fa200a8 */ lw $v0,0xa8($sp)
/* f079774: 3c012000 */ lui $at,0x2000
/* f079778: 240b0001 */ addiu $t3,$zero,0x1
/* f07977c: 8c590008 */ lw $t9,0x8($v0)
/* f079780: 03215025 */ or $t2,$t9,$at
/* f079784: ac4a0008 */ sw $t2,0x8($v0)
/* f079788: c7a4004c */ lwc1 $f4,0x4c($sp)
/* f07978c: afab0074 */ sw $t3,0x74($sp)
/* f079790: c7b20050 */ lwc1 $f18,0x50($sp)
/* f079794: e7a400a0 */ swc1 $f4,0xa0($sp)
/* f079798: 8d0c00a4 */ lw $t4,0xa4($t0)
/* f07979c: 8fad006c */ lw $t5,0x6c($sp)
/* f0797a0: 55800011 */ bnezl $t4,.L0f0797e8
/* f0797a4: 8fa400b0 */ lw $a0,0xb0($sp)
/* f0797a8: 1000000e */ b .L0f0797e4
/* f0797ac: ad0d00a4 */ sw $t5,0xa4($t0)
.L0f0797b0:
/* f0797b0: 8d020090 */ lw $v0,0x90($t0)
.L0f0797b4:
/* f0797b4: 0442000b */ bltzl $v0,.L0f0797e4
/* f0797b8: afa0007c */ sw $zero,0x7c($sp)
/* f0797bc: 8d2e0008 */ lw $t6,0x8($t1)
/* f0797c0: 25cfff88 */ addiu $t7,$t6,-100
/* f0797c4: 01e2082a */ slt $at,$t7,$v0
/* f0797c8: 50200006 */ beqzl $at,.L0f0797e4
/* f0797cc: afa0007c */ sw $zero,0x7c($sp)
/* f0797d0: c50a0078 */ lwc1 $f10,0x78($t0)
/* f0797d4: c512006c */ lwc1 $f18,0x6c($t0)
/* f0797d8: 10000002 */ b .L0f0797e4
/* f0797dc: e7aa00a0 */ swc1 $f10,0xa0($sp)
/* f0797e0: afa0007c */ sw $zero,0x7c($sp)
.L0f0797e4:
/* f0797e4: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f0797e8:
/* f0797e8: 24050001 */ addiu $a1,$zero,0x1
/* f0797ec: afa800ac */ sw $t0,0xac($sp)
/* f0797f0: 0fc1905e */ jal propSetPerimEnabled
/* f0797f4: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0797f8: 8fa4006c */ lw $a0,0x6c($sp)
/* f0797fc: 0fc1905e */ jal propSetPerimEnabled
/* f079800: 24050001 */ addiu $a1,$zero,0x1
/* f079804: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079808: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07980c: 8fa800ac */ lw $t0,0xac($sp)
/* f079810: c7b200a4 */ lwc1 $f18,0xa4($sp)
.L0f079814:
/* f079814: 8fb8007c */ lw $t8,0x7c($sp)
.L0f079818:
/* f079818: 3c017f1b */ lui $at,%hi(var7f1aa548)
/* f07981c: c430a548 */ lwc1 $f16,%lo(var7f1aa548)($at)
/* f079820: 57000003 */ bnezl $t8,.L0f079830
/* f079824: 8119005e */ lb $t9,0x5e($t0)
/* f079828: ad0000a4 */ sw $zero,0xa4($t0)
/* f07982c: 8119005e */ lb $t9,0x5e($t0)
.L0f079830:
/* f079830: 53200024 */ beqzl $t9,.L0f0798c4
/* f079834: c5020060 */ lwc1 $f2,0x60($t0)
/* f079838: 8d2a0008 */ lw $t2,0x8($t1)
/* f07983c: 24010078 */ addiu $at,$zero,0x64
/* f079840: afa800ac */ sw $t0,0xac($sp)
/* f079844: 0141001a */ div $zero,$t2,$at
/* f079848: 00005810 */ mfhi $t3
/* f07984c: 448b3000 */ mtc1 $t3,$f6
/* f079850: 3c017f1b */ lui $at,%hi(var7f1aa54c)
/* f079854: c424a54c */ lwc1 $f4,%lo(var7f1aa54c)($at)
/* f079858: 46803220 */ cvt.s.w $f8,$f6
/* f07985c: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079860: 46044302 */ mul.s $f12,$f8,$f4
/* f079864: 0c0068f7 */ jal sinf
/* f079868: 00000000 */ nop
/* f07986c: 3c017f1b */ lui $at,%hi(var7f1aa550)
/* f079870: c430a550 */ lwc1 $f16,%lo(var7f1aa550)($at)
/* f079874: 3c017f1b */ lui $at,%hi(var7f1aa554)
/* f079878: c426a554 */ lwc1 $f6,%lo(var7f1aa554)($at)
/* f07987c: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f079880: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079884: 8fa800ac */ lw $t0,0xac($sp)
/* f079888: 46065202 */ mul.s $f8,$f10,$f6
/* f07988c: 44805000 */ mtc1 $zero,$f10
/* f079890: 46004102 */ mul.s $f4,$f8,$f0
/* f079894: 46049480 */ add.s $f18,$f18,$f4
/* f079898: 460a903c */ c.lt.s $f18,$f10
/* f07989c: 00000000 */ nop
/* f0798a0: 45020003 */ bc1fl .L0f0798b0
/* f0798a4: 4612803e */ c.le.s $f16,$f18
/* f0798a8: 46109480 */ add.s $f18,$f18,$f16
/* f0798ac: 4612803e */ c.le.s $f16,$f18
.L0f0798b0:
/* f0798b0: 00000000 */ nop
/* f0798b4: 45020003 */ bc1fl .L0f0798c4
/* f0798b8: c5020060 */ lwc1 $f2,0x60($t0)
/* f0798bc: 46109481 */ sub.s $f18,$f18,$f16
/* f0798c0: c5020060 */ lwc1 $f2,0x60($t0)
.L0f0798c4:
/* f0798c4: 3c017f1b */ lui $at,%hi(var7f1aa558)
/* f0798c8: c426a558 */ lwc1 $f6,%lo(var7f1aa558)($at)
/* f0798cc: 46029001 */ sub.s $f0,$f18,$f2
/* f0798d0: 44802000 */ mtc1 $zero,$f4
/* f0798d4: 2504006c */ addiu $a0,$t0,0x6c
/* f0798d8: 4606003c */ c.lt.s $f0,$f6
/* f0798dc: 00000000 */ nop
/* f0798e0: 45000003 */ bc1f .L0f0798f0
/* f0798e4: 00000000 */ nop
/* f0798e8: 10000008 */ b .L0f07990c
/* f0798ec: 46100000 */ add.s $f0,$f0,$f16
.L0f0798f0:
/* f0798f0: 3c017f1b */ lui $at,%hi(var7f1aa55c)
/* f0798f4: c428a55c */ lwc1 $f8,%lo(var7f1aa55c)($at)
/* f0798f8: 4600403e */ c.le.s $f8,$f0
/* f0798fc: 00000000 */ nop
/* f079900: 45020003 */ bc1fl .L0f079910
/* f079904: c50c0064 */ lwc1 $f12,0x64($t0)
/* f079908: 46100001 */ sub.s $f0,$f0,$f16
.L0f07990c:
/* f07990c: c50c0064 */ lwc1 $f12,0x64($t0)
.L0f079910:
/* f079910: 3c017f1b */ lui $at,%hi(var7f1aa560)
/* f079914: 4600603c */ c.lt.s $f12,$f0
/* f079918: 00000000 */ nop
/* f07991c: 45020004 */ bc1fl .L0f079930
/* f079920: c50c0068 */ lwc1 $f12,0x68($t0)
/* f079924: 10000007 */ b .L0f079944
/* f079928: 460c1480 */ add.s $f18,$f2,$f12
/* f07992c: c50c0068 */ lwc1 $f12,0x68($t0)
.L0f079930:
/* f079930: 460c003c */ c.lt.s $f0,$f12
/* f079934: 00000000 */ nop
/* f079938: 45020003 */ bc1fl .L0f079948
/* f07993c: 4604903c */ c.lt.s $f18,$f4
/* f079940: 460c1480 */ add.s $f18,$f2,$f12
.L0f079944:
/* f079944: 4604903c */ c.lt.s $f18,$f4
.L0f079948:
/* f079948: 00000000 */ nop
/* f07994c: 45020003 */ bc1fl .L0f07995c
/* f079950: 4612803e */ c.le.s $f16,$f18
/* f079954: 46109480 */ add.s $f18,$f18,$f16
/* f079958: 4612803e */ c.le.s $f16,$f18
.L0f07995c:
/* f07995c: 00000000 */ nop
/* f079960: 45000002 */ bc1f .L0f07996c
/* f079964: 00000000 */ nop
/* f079968: 46109481 */ sub.s $f18,$f18,$f16
.L0f07996c:
/* f07996c: c420a560 */ lwc1 $f0,%lo(var7f1aa560)($at)
/* f079970: 44059000 */ mfc1 $a1,$f18
/* f079974: 25060070 */ addiu $a2,$t0,0x70
/* f079978: e7a00010 */ swc1 $f0,0x10($sp)
/* f07997c: c50a0080 */ lwc1 $f10,0x80($t0)
/* f079980: 44070000 */ mfc1 $a3,$f0
/* f079984: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079988: afa800ac */ sw $t0,0xac($sp)
/* f07998c: 0fc1b6c0 */ jal applyRotation
/* f079990: e7aa0014 */ swc1 $f10,0x14($sp)
/* f079994: 3c017f1b */ lui $at,%hi(var7f1aa564)
/* f079998: c420a564 */ lwc1 $f0,%lo(var7f1aa564)($at)
/* f07999c: 8fa800ac */ lw $t0,0xac($sp)
/* f0799a0: 8fa500a0 */ lw $a1,0xa0($sp)
/* f0799a4: e7a00010 */ swc1 $f0,0x10($sp)
/* f0799a8: c5060080 */ lwc1 $f6,0x80($t0)
/* f0799ac: 44070000 */ mfc1 $a3,$f0
/* f0799b0: 25040078 */ addiu $a0,$t0,0x78
/* f0799b4: 2506007c */ addiu $a2,$t0,0x7c
/* f0799b8: 0fc1b6c0 */ jal applyRotation
/* f0799bc: e7a60014 */ swc1 $f6,0x14($sp)
/* f0799c0: 8fa800ac */ lw $t0,0xac($sp)
/* f0799c4: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f0799c8: 44802000 */ mtc1 $zero,$f4
/* f0799cc: c508006c */ lwc1 $f8,0x6c($t0)
/* f0799d0: 3c017f1b */ lui $at,%hi(var7f1aa56c)
/* f0799d4: c430a56c */ lwc1 $f16,%lo(var7f1aa56c)($at)
/* f0799d8: 46089301 */ sub.s $f12,$f18,$f8
/* f0799dc: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0799e0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0799e4: 3c017f1b */ lui $at,%hi(var7f1aa570)
/* f0799e8: 4604603c */ c.lt.s $f12,$f4
/* f0799ec: c7aa00a0 */ lwc1 $f10,0xa0($sp)
/* f0799f0: 45000002 */ bc1f .L0f0799fc
/* f0799f4: 00000000 */ nop
/* f0799f8: 46106300 */ add.s $f12,$f12,$f16
.L0f0799fc:
/* f0799fc: c420a570 */ lwc1 $f0,%lo(var7f1aa570)($at)
/* f079a00: 460c003c */ c.lt.s $f0,$f12
/* f079a04: 00000000 */ nop
/* f079a08: 45020003 */ bc1fl .L0f079a18
/* f079a0c: c5060078 */ lwc1 $f6,0x78($t0)
/* f079a10: 46106301 */ sub.s $f12,$f12,$f16
/* f079a14: c5060078 */ lwc1 $f6,0x78($t0)
.L0f079a18:
/* f079a18: 44804000 */ mtc1 $zero,$f8
/* f079a1c: 46065081 */ sub.s $f2,$f10,$f6
/* f079a20: 4608103c */ c.lt.s $f2,$f8
/* f079a24: 00000000 */ nop
/* f079a28: 45020003 */ bc1fl .L0f079a38
/* f079a2c: 4602003c */ c.lt.s $f0,$f2
/* f079a30: 46101080 */ add.s $f2,$f2,$f16
/* f079a34: 4602003c */ c.lt.s $f0,$f2
.L0f079a38:
/* f079a38: 00000000 */ nop
/* f079a3c: 45020003 */ bc1fl .L0f079a4c
/* f079a40: a100005e */ sb $zero,0x5e($t0)
/* f079a44: 46101081 */ sub.s $f2,$f2,$f16
/* f079a48: a100005e */ sb $zero,0x5e($t0)
.L0f079a4c:
/* f079a4c: 8fac007c */ lw $t4,0x7c($sp)
/* f079a50: c7a40070 */ lwc1 $f4,0x70($sp)
/* f079a54: 51800045 */ beqzl $t4,.L0f079b6c
/* f079a58: 8faa0078 */ lw $t2,0x78($sp)
/* f079a5c: 4604603c */ c.lt.s $f12,$f4
/* f079a60: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f079a64: 4502001a */ bc1fl .L0f079ad0
/* f079a68: 460a5000 */ add.s $f0,$f10,$f10
/* f079a6c: 46002007 */ neg.s $f0,$f4
/* f079a70: 460c003c */ c.lt.s $f0,$f12
/* f079a74: 00000000 */ nop
/* f079a78: 45020015 */ bc1fl .L0f079ad0
/* f079a7c: 460a5000 */ add.s $f0,$f10,$f10
/* f079a80: 4604103c */ c.lt.s $f2,$f4
/* f079a84: 00000000 */ nop
/* f079a88: 45020011 */ bc1fl .L0f079ad0
/* f079a8c: 460a5000 */ add.s $f0,$f10,$f10
/* f079a90: 4602003c */ c.lt.s $f0,$f2
/* f079a94: 240d0001 */ addiu $t5,$zero,0x1
/* f079a98: 4502000d */ bc1fl .L0f079ad0
/* f079a9c: 460a5000 */ add.s $f0,$f10,$f10
/* f079aa0: a10d005e */ sb $t5,0x5e($t0)
/* f079aa4: 8faf0074 */ lw $t7,0x74($sp)
/* f079aa8: 240e0001 */ addiu $t6,$zero,0x1
/* f079aac: afae0078 */ sw $t6,0x78($sp)
/* f079ab0: 51e0002e */ beqzl $t7,.L0f079b6c
/* f079ab4: 8faa0078 */ lw $t2,0x78($sp)
/* f079ab8: 8d380008 */ lw $t8,0x8($t1)
/* f079abc: ad180090 */ sw $t8,0x90($t0)
/* f079ac0: 8d390008 */ lw $t9,0x8($t1)
/* f079ac4: 10000028 */ b .L0f079b68
/* f079ac8: ad190094 */ sw $t9,0x94($t0)
/* f079acc: 460a5000 */ add.s $f0,$f10,$f10
.L0f079ad0:
/* f079ad0: 4600603c */ c.lt.s $f12,$f0
/* f079ad4: 00000000 */ nop
/* f079ad8: 45020018 */ bc1fl .L0f079b3c
/* f079adc: 8d020090 */ lw $v0,0x90($t0)
/* f079ae0: 46000387 */ neg.s $f14,$f0
/* f079ae4: 460c703c */ c.lt.s $f14,$f12
/* f079ae8: 00000000 */ nop
/* f079aec: 45020013 */ bc1fl .L0f079b3c
/* f079af0: 8d020090 */ lw $v0,0x90($t0)
/* f079af4: 4600103c */ c.lt.s $f2,$f0
/* f079af8: 00000000 */ nop
/* f079afc: 4502000f */ bc1fl .L0f079b3c
/* f079b00: 8d020090 */ lw $v0,0x90($t0)
/* f079b04: 4602703c */ c.lt.s $f14,$f2
/* f079b08: 240a0001 */ addiu $t2,$zero,0x1
/* f079b0c: 4502000b */ bc1fl .L0f079b3c
/* f079b10: 8d020090 */ lw $v0,0x90($t0)
/* f079b14: a10a005e */ sb $t2,0x5e($t0)
/* f079b18: 8fac0074 */ lw $t4,0x74($sp)
/* f079b1c: 240b0001 */ addiu $t3,$zero,0x1
/* f079b20: afab0078 */ sw $t3,0x78($sp)
/* f079b24: 51800011 */ beqzl $t4,.L0f079b6c
/* f079b28: 8faa0078 */ lw $t2,0x78($sp)
/* f079b2c: 8d2d0008 */ lw $t5,0x8($t1)
/* f079b30: 1000000d */ b .L0f079b68
/* f079b34: ad0d0090 */ sw $t5,0x90($t0)
/* f079b38: 8d020090 */ lw $v0,0x90($t0)
.L0f079b3c:
/* f079b3c: 0442000b */ bltzl $v0,.L0f079b6c
/* f079b40: 8faa0078 */ lw $t2,0x78($sp)
/* f079b44: 8d2e0008 */ lw $t6,0x8($t1)
/* f079b48: 24180001 */ addiu $t8,$zero,0x1
/* f079b4c: 24190001 */ addiu $t9,$zero,0x1
/* f079b50: 25cfff88 */ addiu $t7,$t6,-100
/* f079b54: 01e2082a */ slt $at,$t7,$v0
/* f079b58: 50200004 */ beqzl $at,.L0f079b6c
/* f079b5c: 8faa0078 */ lw $t2,0x78($sp)
/* f079b60: a118005e */ sb $t8,0x5e($t0)
/* f079b64: afb90078 */ sw $t9,0x78($sp)
.L0f079b68:
/* f079b68: 8faa0078 */ lw $t2,0x78($sp)
.L0f079b6c:
/* f079b6c: 3c017f1b */ lui $at,%hi(var7f1aa574)
/* f079b70: 51400012 */ beqzl $t2,.L0f079bbc
/* f079b74: c5020088 */ lwc1 $f2,0x88($t0)
/* f079b78: c420a574 */ lwc1 $f0,%lo(var7f1aa574)($at)
/* f079b7c: 3c017f1b */ lui $at,%hi(var7f1aa578)
/* f079b80: c426a578 */ lwc1 $f6,%lo(var7f1aa578)($at)
/* f079b84: c528004c */ lwc1 $f8,0x4c($t1)
/* f079b88: c50a0088 */ lwc1 $f10,0x88($t0)
/* f079b8c: 46083102 */ mul.s $f4,$f6,$f8
/* f079b90: 46045180 */ add.s $f6,$f10,$f4
/* f079b94: e5060088 */ swc1 $f6,0x88($t0)
/* f079b98: c5020088 */ lwc1 $f2,0x88($t0)
/* f079b9c: 4602003c */ c.lt.s $f0,$f2
/* f079ba0: 00000000 */ nop
/* f079ba4: 45020025 */ bc1fl .L0f079c3c
/* f079ba8: 44805000 */ mtc1 $zero,$f10
/* f079bac: e5000088 */ swc1 $f0,0x88($t0)
/* f079bb0: 10000021 */ b .L0f079c38
/* f079bb4: c5020088 */ lwc1 $f2,0x88($t0)
/* f079bb8: c5020088 */ lwc1 $f2,0x88($t0)
.L0f079bbc:
/* f079bbc: 44804000 */ mtc1 $zero,$f8
/* f079bc0: 00000000 */ nop
/* f079bc4: 4602403c */ c.lt.s $f8,$f2
/* f079bc8: 00000000 */ nop
/* f079bcc: 4502001b */ bc1fl .L0f079c3c
/* f079bd0: 44805000 */ mtc1 $zero,$f10
/* f079bd4: 8d2b0038 */ lw $t3,0x38($t1)
/* f079bd8: 00001025 */ or $v0,$zero,$zero
/* f079bdc: 3c017f1b */ lui $at,%hi(var7f1aa57c)
/* f079be0: 1960000b */ blez $t3,.L0f079c10
/* f079be4: 00000000 */ nop
/* f079be8: c420a57c */ lwc1 $f0,%lo(var7f1aa57c)($at)
/* f079bec: c50a0088 */ lwc1 $f10,0x88($t0)
.L0f079bf0:
/* f079bf0: 24420001 */ addiu $v0,$v0,0x1
/* f079bf4: 46005102 */ mul.s $f4,$f10,$f0
/* f079bf8: e5040088 */ swc1 $f4,0x88($t0)
/* f079bfc: 8d2c0038 */ lw $t4,0x38($t1)
/* f079c00: 004c082a */ slt $at,$v0,$t4
/* f079c04: 5420fffa */ bnezl $at,.L0f079bf0
/* f079c08: c50a0088 */ lwc1 $f10,0x88($t0)
/* f079c0c: c5020088 */ lwc1 $f2,0x88($t0)
.L0f079c10:
/* f079c10: 3c017f1b */ lui $at,%hi(var7f1aa580)
/* f079c14: c426a580 */ lwc1 $f6,%lo(var7f1aa580)($at)
/* f079c18: 4606103e */ c.le.s $f2,$f6
/* f079c1c: 00000000 */ nop
/* f079c20: 45020006 */ bc1fl .L0f079c3c
/* f079c24: 44805000 */ mtc1 $zero,$f10
/* f079c28: 44804000 */ mtc1 $zero,$f8
/* f079c2c: 00000000 */ nop
/* f079c30: e5080088 */ swc1 $f8,0x88($t0)
/* f079c34: c5020088 */ lwc1 $f2,0x88($t0)
.L0f079c38:
/* f079c38: 44805000 */ mtc1 $zero,$f10
.L0f079c3c:
/* f079c3c: 00000000 */ nop
/* f079c40: 4602503c */ c.lt.s $f10,$f2
/* f079c44: 00000000 */ nop
/* f079c48: 45020013 */ bc1fl .L0f079c98
/* f079c4c: 8fbf001c */ lw $ra,0x1c($sp)
/* f079c50: c526004c */ lwc1 $f6,0x4c($t1)
/* f079c54: c504008c */ lwc1 $f4,0x8c($t0)
/* f079c58: 46061202 */ mul.s $f8,$f2,$f6
/* f079c5c: 46082280 */ add.s $f10,$f4,$f8
/* f079c60: e50a008c */ swc1 $f10,0x8c($t0)
/* f079c64: c500008c */ lwc1 $f0,0x8c($t0)
/* f079c68: 4600803e */ c.le.s $f16,$f0
/* f079c6c: 00000000 */ nop
/* f079c70: 45020009 */ bc1fl .L0f079c98
/* f079c74: 8fbf001c */ lw $ra,0x1c($sp)
/* f079c78: 46100181 */ sub.s $f6,$f0,$f16
.L0f079c7c:
/* f079c7c: e506008c */ swc1 $f6,0x8c($t0)
/* f079c80: c500008c */ lwc1 $f0,0x8c($t0)
/* f079c84: 4600803e */ c.le.s $f16,$f0
/* f079c88: 00000000 */ nop
/* f079c8c: 4503fffb */ bc1tl .L0f079c7c
/* f079c90: 46100181 */ sub.s $f6,$f0,$f16
/* f079c94: 8fbf001c */ lw $ra,0x1c($sp)
.L0f079c98:
/* f079c98: 27bd00b0 */ addiu $sp,$sp,0xb0
/* f079c9c: 03e00008 */ jr $ra
/* f079ca0: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel autogunTick
.late_rodata
glabel var7f1aa4c0
.word 0x3c8ef461
glabel var7f1aa4c4
.word 0x40c907a9
glabel var7f1aa4c8
.word 0x37432e42
glabel var7f1aa4cc
.word 0x3a36fb5e
glabel var7f1aa4d0
.word 0x36c32e42
glabel var7f1aa4d4
.word 0x39b6fb5e
glabel var7f1aa4d8
.word 0x40c907a9
glabel var7f1aa4dc
.word 0x37432e42
glabel var7f1aa4e0
.word 0x40c907a9
glabel var7f1aa4e4
.word 0x3a36fb5e
glabel var7f1aa4e8
.word 0x36c32e42
glabel var7f1aa4ec
.word 0x40c907a9
glabel var7f1aa4f0
.word 0x39b6fb5e
glabel var7f1aa4f4
.word 0x40c907a9
glabel var7f1aa4f8
.word 0x40c907a9
glabel var7f1aa4fc
.word 0x3ccddaca
glabel var7f1aa500
.word 0x358637bd
glabel var7f1aa504
.word 0x3c23606f
glabel var7f1aa508
.word 0x40c907a9
glabel var7f1aa50c
.word 0x40c907a9
glabel var7f1aa510
.word 0x40c907a9
glabel var7f1aa514
.word 0x404907a9
glabel var7f1aa518
.word 0x3f9c5b4b
glabel var7f1aa51c
.word 0xbf9c5b4b
glabel var7f1aa520
.word 0xc0490fdb
glabel var7f1aa524
.word 0x40490fdb
glabel var7f1aa528
.word 0x40c907a9
glabel var7f1aa52c
.word 0x40c907a9
glabel var7f1aa530
.word 0x40c907a9
glabel var7f1aa534
.word 0x40c907a9
glabel var7f1aa538
.word 0x40c907a9
glabel var7f1aa53c
.word 0x40c907a9
glabel var7f1aa540
.word 0x40c907a9
glabel var7f1aa544
.word 0x40c907a9
glabel var7f1aa548
.word 0x40c907a9
glabel var7f1aa54c
.word 0x3d566e92
glabel var7f1aa550
.word 0x40c907a9
glabel var7f1aa554
.word 0x3f4ccccd
glabel var7f1aa558
.word 0xc0490fdb
glabel var7f1aa55c
.word 0x40490fdb
glabel var7f1aa560
.word 0x3a64ba35
glabel var7f1aa564
.word 0x3a64ba35
glabel var7f1aa568
.word 0x40c907a9
glabel var7f1aa56c
.word 0x40c907a9
glabel var7f1aa570
.word 0x404907a9
glabel var7f1aa574
.word 0x3f192a68
glabel var7f1aa578
.word 0x3c23606f
glabel var7f1aa57c
.word 0x3f7d70a4
glabel var7f1aa580
.word 0x38d1b717
.text
/* f078c78: 27bdff50 */ addiu $sp,$sp,-176
/* f078c7c: afbf001c */ sw $ra,0x1c($sp)
/* f078c80: afa400b0 */ sw $a0,0xb0($sp)
/* f078c84: 8c820004 */ lw $v0,0x4($a0)
/* f078c88: 44802000 */ mtc1 $zero,$f4
/* f078c8c: afa0007c */ sw $zero,0x7c($sp)
/* f078c90: afa00078 */ sw $zero,0x78($sp)
/* f078c94: afa00074 */ sw $zero,0x74($sp)
/* f078c98: afa200a8 */ sw $v0,0xa8($sp)
/* f078c9c: e7a40070 */ swc1 $f4,0x70($sp)
/* f078ca0: 8c4f000c */ lw $t7,0xc($v0)
/* f078ca4: 00001825 */ or $v1,$zero,$zero
/* f078ca8: 8fac00a8 */ lw $t4,0xa8($sp)
/* f078cac: 000fc000 */ sll $t8,$t7,0x0
/* f078cb0: 0701005a */ bgez $t8,.L0f078e1c
/* f078cb4: 00404025 */ or $t0,$v0,$zero
/* f078cb8: 000f5840 */ sll $t3,$t7,0x1
/* f078cbc: 05630008 */ bgezl $t3,.L0f078ce0
/* f078cc0: c5020060 */ lwc1 $f2,0x60($t0)
/* f078cc4: c448006c */ lwc1 $f8,0x6c($v0)
/* f078cc8: c4460078 */ lwc1 $f6,0x78($v0)
/* f078ccc: e4480060 */ swc1 $f8,0x60($v0)
/* f078cd0: c4420060 */ lwc1 $f2,0x60($v0)
/* f078cd4: 10000037 */ b .L0f078db4
/* f078cd8: e4460074 */ swc1 $f6,0x74($v0)
/* f078cdc: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078ce0:
/* f078ce0: c50a006c */ lwc1 $f10,0x6c($t0)
/* f078ce4: 460a1032 */ c.eq.s $f2,$f10
/* f078ce8: 00000000 */ nop
/* f078cec: 45000031 */ bc1f .L0f078db4
/* f078cf0: 00000000 */ nop
/* f078cf4: c5040074 */ lwc1 $f4,0x74($t0)
/* f078cf8: c5060078 */ lwc1 $f6,0x78($t0)
/* f078cfc: 46062032 */ c.eq.s $f4,$f6
/* f078d00: 00000000 */ nop
/* f078d04: 4500002b */ bc1f .L0f078db4
/* f078d08: 00000000 */ nop
/* f078d0c: 0c004b70 */ jal random
/* f078d10: afa800ac */ sw $t0,0xac($sp)
/* f078d14: 44824000 */ mtc1 $v0,$f8
/* f078d18: 8fa800ac */ lw $t0,0xac($sp)
/* f078d1c: 04410005 */ bgez $v0,.L0f078d34
/* f078d20: 468042a0 */ cvt.s.w $f10,$f8
/* f078d24: 3c014f80 */ lui $at,0x4f80
/* f078d28: 44812000 */ mtc1 $at,$f4
/* f078d2c: 00000000 */ nop
/* f078d30: 46045280 */ add.s $f10,$f10,$f4
.L0f078d34:
/* f078d34: 3c012f80 */ lui $at,0x2f80
/* f078d38: 44813000 */ mtc1 $at,$f6
/* f078d3c: 3c01421c */ lui $at,0x421c
/* f078d40: 44812000 */ mtc1 $at,$f4
/* f078d44: 46065202 */ mul.s $f8,$f10,$f6
/* f078d48: 3c013f80 */ lui $at,0x3f80
/* f078d4c: 44813000 */ mtc1 $at,$f6
/* f078d50: 3c017f1b */ lui $at,%hi(var7f1aa4c0)
/* f078d54: 46044282 */ mul.s $f10,$f8,$f4
/* f078d58: c424a4c0 */ lwc1 $f4,%lo(var7f1aa4c0)($at)
/* f078d5c: 46065200 */ add.s $f8,$f10,$f6
/* f078d60: 46044282 */ mul.s $f10,$f8,$f4
/* f078d64: 0c004b70 */ jal random
/* f078d68: e50a0074 */ swc1 $f10,0x74($t0)
/* f078d6c: 44823000 */ mtc1 $v0,$f6
/* f078d70: 3c017f1b */ lui $at,%hi(var7f1aa4c4)
/* f078d74: c430a4c4 */ lwc1 $f16,%lo(var7f1aa4c4)($at)
/* f078d78: 8fa800ac */ lw $t0,0xac($sp)
/* f078d7c: 04410005 */ bgez $v0,.L0f078d94
/* f078d80: 46803220 */ cvt.s.w $f8,$f6
/* f078d84: 3c014f80 */ lui $at,0x4f80
/* f078d88: 44812000 */ mtc1 $at,$f4
/* f078d8c: 00000000 */ nop
/* f078d90: 46044200 */ add.s $f8,$f8,$f4
.L0f078d94:
/* f078d94: 3c012f80 */ lui $at,0x2f80
/* f078d98: 44815000 */ mtc1 $at,$f10
/* f078d9c: 00000000 */ nop
/* f078da0: 460a4182 */ mul.s $f6,$f8,$f10
/* f078da4: 00000000 */ nop
/* f078da8: 46103102 */ mul.s $f4,$f6,$f16
/* f078dac: e5040060 */ swc1 $f4,0x60($t0)
/* f078db0: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078db4:
/* f078db4: 3c017f1b */ lui $at,%hi(var7f1aa4c8)
/* f078db8: c420a4c8 */ lwc1 $f0,%lo(var7f1aa4c8)($at)
/* f078dbc: 3c017f1b */ lui $at,%hi(var7f1aa4cc)
/* f078dc0: c428a4cc */ lwc1 $f8,%lo(var7f1aa4cc)($at)
/* f078dc4: 44051000 */ mfc1 $a1,$f2
/* f078dc8: 44070000 */ mfc1 $a3,$f0
/* f078dcc: 2504006c */ addiu $a0,$t0,0x6c
/* f078dd0: 25060070 */ addiu $a2,$t0,0x70
/* f078dd4: afa800ac */ sw $t0,0xac($sp)
/* f078dd8: e7a00010 */ swc1 $f0,0x10($sp)
/* f078ddc: 0fc1b6c0 */ jal applyRotation
/* f078de0: e7a80014 */ swc1 $f8,0x14($sp)
/* f078de4: 3c017f1b */ lui $at,%hi(var7f1aa4d0)
/* f078de8: c420a4d0 */ lwc1 $f0,%lo(var7f1aa4d0)($at)
/* f078dec: 8fa800ac */ lw $t0,0xac($sp)
/* f078df0: 3c017f1b */ lui $at,%hi(var7f1aa4d4)
/* f078df4: c42aa4d4 */ lwc1 $f10,%lo(var7f1aa4d4)($at)
/* f078df8: 44070000 */ mfc1 $a3,$f0
/* f078dfc: 8d050074 */ lw $a1,0x74($t0)
/* f078e00: e7a00010 */ swc1 $f0,0x10($sp)
/* f078e04: 25040078 */ addiu $a0,$t0,0x78
/* f078e08: 2506007c */ addiu $a2,$t0,0x7c
/* f078e0c: 0fc1b6c0 */ jal applyRotation
/* f078e10: e7aa0014 */ swc1 $f10,0x14($sp)
/* f078e14: 100003a0 */ b .L0f079c98
/* f078e18: 8fbf001c */ lw $ra,0x1c($sp)
.L0f078e1c:
/* f078e1c: 8d82000c */ lw $v0,0xc($t4)
/* f078e20: 00026880 */ sll $t5,$v0,0x2
/* f078e24: 05a10073 */ bgez $t5,.L0f078ff4
/* f078e28: 00027040 */ sll $t6,$v0,0x1
/* f078e2c: 05c30008 */ bgezl $t6,.L0f078e50
/* f078e30: c5020060 */ lwc1 $f2,0x60($t0)
/* f078e34: c504006c */ lwc1 $f4,0x6c($t0)
/* f078e38: c5060078 */ lwc1 $f6,0x78($t0)
/* f078e3c: e5040060 */ swc1 $f4,0x60($t0)
/* f078e40: c5020060 */ lwc1 $f2,0x60($t0)
/* f078e44: 1000001b */ b .L0f078eb4
/* f078e48: e5060074 */ swc1 $f6,0x74($t0)
/* f078e4c: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078e50:
/* f078e50: c508006c */ lwc1 $f8,0x6c($t0)
/* f078e54: 46081032 */ c.eq.s $f2,$f8
/* f078e58: 00000000 */ nop
/* f078e5c: 45000015 */ bc1f .L0f078eb4
/* f078e60: 00000000 */ nop
/* f078e64: 0c004b70 */ jal random
/* f078e68: afa800ac */ sw $t0,0xac($sp)
/* f078e6c: 44825000 */ mtc1 $v0,$f10
/* f078e70: 3c017f1b */ lui $at,%hi(var7f1aa4d8)
/* f078e74: c430a4d8 */ lwc1 $f16,%lo(var7f1aa4d8)($at)
/* f078e78: 8fa800ac */ lw $t0,0xac($sp)
/* f078e7c: 04410005 */ bgez $v0,.L0f078e94
/* f078e80: 468051a0 */ cvt.s.w $f6,$f10
/* f078e84: 3c014f80 */ lui $at,0x4f80
/* f078e88: 44812000 */ mtc1 $at,$f4
/* f078e8c: 00000000 */ nop
/* f078e90: 46043180 */ add.s $f6,$f6,$f4
.L0f078e94:
/* f078e94: 3c012f80 */ lui $at,0x2f80
/* f078e98: 44814000 */ mtc1 $at,$f8
/* f078e9c: 00000000 */ nop
/* f078ea0: 46083282 */ mul.s $f10,$f6,$f8
/* f078ea4: 00000000 */ nop
/* f078ea8: 46105102 */ mul.s $f4,$f10,$f16
/* f078eac: e5040060 */ swc1 $f4,0x60($t0)
/* f078eb0: c5020060 */ lwc1 $f2,0x60($t0)
.L0f078eb4:
/* f078eb4: 3c017f1b */ lui $at,%hi(var7f1aa4dc)
/* f078eb8: c420a4dc */ lwc1 $f0,%lo(var7f1aa4dc)($at)
/* f078ebc: 3c017f1b */ lui $at,%hi(var7f1aa4e4)
/* f078ec0: c426a4e4 */ lwc1 $f6,%lo(var7f1aa4e4)($at)
/* f078ec4: 44051000 */ mfc1 $a1,$f2
/* f078ec8: 44070000 */ mfc1 $a3,$f0
/* f078ecc: 2504006c */ addiu $a0,$t0,0x6c
/* f078ed0: 25060070 */ addiu $a2,$t0,0x70
/* f078ed4: afa800ac */ sw $t0,0xac($sp)
/* f078ed8: e7a00010 */ swc1 $f0,0x10($sp)
/* f078edc: 0fc1b6c0 */ jal applyRotation
/* f078ee0: e7a60014 */ swc1 $f6,0x14($sp)
/* f078ee4: 3c017f1b */ lui $at,%hi(var7f1aa4e8)
/* f078ee8: c420a4e8 */ lwc1 $f0,%lo(var7f1aa4e8)($at)
/* f078eec: 8fa800ac */ lw $t0,0xac($sp)
/* f078ef0: 3c017f1b */ lui $at,%hi(var7f1aa4f0)
/* f078ef4: c428a4f0 */ lwc1 $f8,%lo(var7f1aa4f0)($at)
/* f078ef8: 44070000 */ mfc1 $a3,$f0
/* f078efc: 8d050074 */ lw $a1,0x74($t0)
/* f078f00: e7a00010 */ swc1 $f0,0x10($sp)
/* f078f04: 25040078 */ addiu $a0,$t0,0x78
/* f078f08: 2506007c */ addiu $a2,$t0,0x7c
/* f078f0c: 0fc1b6c0 */ jal applyRotation
/* f078f10: e7a80014 */ swc1 $f8,0x14($sp)
/* f078f14: 8fa800ac */ lw $t0,0xac($sp)
/* f078f18: 0c0068f4 */ jal cosf
/* f078f1c: c50c006c */ lwc1 $f12,0x6c($t0)
/* f078f20: 44807000 */ mtc1 $zero,$f14
/* f078f24: 3c017f1b */ lui $at,%hi(var7f1aa4f8)
/* f078f28: c430a4f8 */ lwc1 $f16,%lo(var7f1aa4f8)($at)
/* f078f2c: 4600703c */ c.lt.s $f14,$f0
/* f078f30: 3c09800a */ lui $t1,%hi(g_Vars)
/* f078f34: 8fa800ac */ lw $t0,0xac($sp)
/* f078f38: 3c017f1b */ lui $at,%hi(var7f1aa4fc)
/* f078f3c: 45000006 */ bc1f .L0f078f58
/* f078f40: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f078f44: 3c017f1b */ lui $at,%hi(var7f1aa500)
/* f078f48: c42aa4fc */ lwc1 $f10,%lo(var7f1aa4fc)($at)
/* f078f4c: 46005302 */ mul.s $f12,$f10,$f0
/* f078f50: 10000002 */ b .L0f078f5c
/* f078f54: 00000000 */ nop
.L0f078f58:
/* f078f58: c42ca500 */ lwc1 $f12,%lo(var7f1aa500)($at)
.L0f078f5c:
/* f078f5c: 3c017f1b */ lui $at,%hi(var7f1aa504)
/* f078f60: c424a504 */ lwc1 $f4,%lo(var7f1aa504)($at)
/* f078f64: c526004c */ lwc1 $f6,0x4c($t1)
/* f078f68: c50a0088 */ lwc1 $f10,0x88($t0)
/* f078f6c: 46062202 */ mul.s $f8,$f4,$f6
/* f078f70: 46085100 */ add.s $f4,$f10,$f8
/* f078f74: e5040088 */ swc1 $f4,0x88($t0)
/* f078f78: c5020088 */ lwc1 $f2,0x88($t0)
/* f078f7c: 4602603c */ c.lt.s $f12,$f2
/* f078f80: 00000000 */ nop
/* f078f84: 45020004 */ bc1fl .L0f078f98
/* f078f88: 4602703c */ c.lt.s $f14,$f2
/* f078f8c: e50c0088 */ swc1 $f12,0x88($t0)
/* f078f90: c5020088 */ lwc1 $f2,0x88($t0)
/* f078f94: 4602703c */ c.lt.s $f14,$f2
.L0f078f98:
/* f078f98: 3c09800a */ lui $t1,%hi(g_Vars)
/* f078f9c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f078fa0: 4502033d */ bc1fl .L0f079c98
/* f078fa4: 8fbf001c */ lw $ra,0x1c($sp)
/* f078fa8: c52a004c */ lwc1 $f10,0x4c($t1)
/* f078fac: c506008c */ lwc1 $f6,0x8c($t0)
/* f078fb0: 460a1202 */ mul.s $f8,$f2,$f10
/* f078fb4: 46083100 */ add.s $f4,$f6,$f8
/* f078fb8: e504008c */ swc1 $f4,0x8c($t0)
/* f078fbc: c500008c */ lwc1 $f0,0x8c($t0)
/* f078fc0: 4600803e */ c.le.s $f16,$f0
/* f078fc4: 00000000 */ nop
/* f078fc8: 45020333 */ bc1fl .L0f079c98
/* f078fcc: 8fbf001c */ lw $ra,0x1c($sp)
/* f078fd0: 46100281 */ sub.s $f10,$f0,$f16
.L0f078fd4:
/* f078fd4: e50a008c */ swc1 $f10,0x8c($t0)
/* f078fd8: c500008c */ lwc1 $f0,0x8c($t0)
/* f078fdc: 4600803e */ c.le.s $f16,$f0
/* f078fe0: 00000000 */ nop
/* f078fe4: 4503fffb */ bc1tl .L0f078fd4
/* f078fe8: 46100281 */ sub.s $f10,$f0,$f16
/* f078fec: 1000032a */ b .L0f079c98
/* f078ff0: 8fbf001c */ lw $ra,0x1c($sp)
.L0f078ff4:
/* f078ff4: 910f00a9 */ lbu $t7,0xa9($t0)
/* f078ff8: 15e00004 */ bnez $t7,.L0f07900c
/* f078ffc: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079000: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079004: 10000096 */ b .L0f079260
/* f079008: afa3006c */ sw $v1,0x6c($sp)
.L0f07900c:
/* f07900c: 8d0200a4 */ lw $v0,0xa4($t0)
/* f079010: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079014: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079018: 50400004 */ beqzl $v0,.L0f07902c
/* f07901c: afa3006c */ sw $v1,0x6c($sp)
/* f079020: 1000008f */ b .L0f079260
/* f079024: afa2006c */ sw $v0,0x6c($sp)
/* f079028: afa3006c */ sw $v1,0x6c($sp)
.L0f07902c:
/* f07902c: 0fc6830c */ jal frIsInTraining
/* f079030: afa800ac */ sw $t0,0xac($sp)
/* f079034: 1040000a */ beqz $v0,.L0f079060
/* f079038: 8fa800ac */ lw $t0,0xac($sp)
/* f07903c: 8fa400b0 */ lw $a0,0xb0($sp)
/* f079040: afa800ac */ sw $t0,0xac($sp)
/* f079044: 0fc67ce7 */ jal frChooseAutogunTarget
/* f079048: 24840008 */ addiu $a0,$a0,0x8
/* f07904c: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079050: 8fa800ac */ lw $t0,0xac($sp)
/* f079054: afa2006c */ sw $v0,0x6c($sp)
/* f079058: 10000081 */ b .L0f079260
/* f07905c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
.L0f079060:
/* f079060: 911800a8 */ lbu $t8,0xa8($t0)
/* f079064: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079068: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07906c: 5300006b */ beqzl $t8,.L0f07921c
/* f079070: 8d2e0298 */ lw $t6,0x298($t1)
/* f079074: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079078: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07907c: 8d390318 */ lw $t9,0x318($t1)
/* f079080: 3c05800b */ lui $a1,%hi(g_MpNumChrs)
/* f079084: 13200003 */ beqz $t9,.L0f079094
/* f079088: 00000000 */ nop
/* f07908c: 10000007 */ b .L0f0790ac
/* f079090: 8ca5c530 */ lw $a1,%lo(g_MpNumChrs)($a1)
.L0f079094:
/* f079094: 0fc07934 */ jal chrsGetNumSlots
/* f079098: afa800ac */ sw $t0,0xac($sp)
/* f07909c: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0790a0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0790a4: 8fa800ac */ lw $t0,0xac($sp)
/* f0790a8: 00402825 */ or $a1,$v0,$zero
.L0f0790ac:
/* f0790ac: 850300aa */ lh $v1,0xaa($t0)
.L0f0790b0:
/* f0790b0: 246a0001 */ addiu $t2,$v1,0x1
.L0f0790b4:
/* f0790b4: a50a00aa */ sh $t2,0xaa($t0)
/* f0790b8: 850300aa */ lh $v1,0xaa($t0)
/* f0790bc: 8fad00a8 */ lw $t5,0xa8($sp)
/* f0790c0: 3c198006 */ lui $t9,%hi(g_ChrSlots)
/* f0790c4: 0065082a */ slt $at,$v1,$a1
/* f0790c8: 14200004 */ bnez $at,.L0f0790dc
/* f0790cc: 0003c0c0 */ sll $t8,$v1,0x3
/* f0790d0: 240bffff */ addiu $t3,$zero,-1
/* f0790d4: 10000062 */ b .L0f079260
/* f0790d8: a50b00aa */ sh $t3,0xaa($t0)
.L0f0790dc:
/* f0790dc: 8d2c0318 */ lw $t4,0x318($t1)
/* f0790e0: 0303c023 */ subu $t8,$t8,$v1
/* f0790e4: 0018c080 */ sll $t8,$t8,0x2
/* f0790e8: 1180001c */ beqz $t4,.L0f07915c
/* f0790ec: 0303c023 */ subu $t8,$t8,$v1
/* f0790f0: 8da20040 */ lw $v0,0x40($t5)
/* f0790f4: 3c01f000 */ lui $at,0xf000
/* f0790f8: 0003c080 */ sll $t8,$v1,0x2
/* f0790fc: 00417024 */ and $t6,$v0,$at
/* f079100: 000e7f02 */ srl $t7,$t6,0x1c
/* f079104: 11e3ffea */ beq $t7,$v1,.L0f0790b0
/* f079108: 3c04800b */ lui $a0,%hi(g_MpAllChrPtrs)
/* f07910c: 00982021 */ addu $a0,$a0,$t8
/* f079110: 8c84c4d0 */ lw $a0,%lo(g_MpAllChrPtrs)($a0)
/* f079114: 8c99001c */ lw $t9,0x1c($a0)
/* f079118: 5320ffe6 */ beqzl $t9,.L0f0790b4
/* f07911c: 246a0001 */ addiu $t2,$v1,0x1
/* f079120: 8c8a0020 */ lw $t2,0x20($a0)
/* f079124: 3c0b800b */ lui $t3,%hi(g_MpSetup+0xc)
/* f079128: 5140ffe2 */ beqzl $t2,.L0f0790b4
/* f07912c: 246a0001 */ addiu $t2,$v1,0x1
/* f079130: 8d6bcb94 */ lw $t3,%lo(g_MpSetup+0xc)($t3)
/* f079134: 316c0002 */ andi $t4,$t3,0x2
/* f079138: 51800021 */ beqzl $t4,.L0f0791c0
/* f07913c: 8c990018 */ lw $t9,0x18($a0)
/* f079140: 908d0125 */ lbu $t5,0x125($a0)
/* f079144: 910e00a8 */ lbu $t6,0xa8($t0)
/* f079148: 01ae7824 */ and $t7,$t5,$t6
/* f07914c: 55e0001c */ bnezl $t7,.L0f0791c0
/* f079150: 8c990018 */ lw $t9,0x18($a0)
/* f079154: 1000ffd7 */ b .L0f0790b4
/* f079158: 246a0001 */ addiu $t2,$v1,0x1
.L0f07915c:
/* f07915c: 8f392988 */ lw $t9,%lo(g_ChrSlots)($t9)
/* f079160: 0018c080 */ sll $t8,$t8,0x2
/* f079164: 0303c021 */ addu $t8,$t8,$v1
/* f079168: 0018c0c0 */ sll $t8,$t8,0x3
/* f07916c: 03192021 */ addu $a0,$t8,$t9
/* f079170: 8c82001c */ lw $v0,0x1c($a0)
/* f079174: 5040ffcf */ beqzl $v0,.L0f0790b4
/* f079178: 246a0001 */ addiu $t2,$v1,0x1
/* f07917c: 908a0125 */ lbu $t2,0x125($a0)
/* f079180: 910b00a8 */ lbu $t3,0xa8($t0)
/* f079184: 014b6024 */ and $t4,$t2,$t3
/* f079188: 5180ffca */ beqzl $t4,.L0f0790b4
/* f07918c: 246a0001 */ addiu $t2,$v1,0x1
/* f079190: 8c8d0020 */ lw $t5,0x20($a0)
/* f079194: 51a00006 */ beqzl $t5,.L0f0791b0
/* f079198: 90580000 */ lbu $t8,0x0($v0)
/* f07919c: 904e0001 */ lbu $t6,0x1($v0)
/* f0791a0: 31cf0004 */ andi $t7,$t6,0x4
/* f0791a4: 55e00006 */ bnezl $t7,.L0f0791c0
/* f0791a8: 8c990018 */ lw $t9,0x18($a0)
/* f0791ac: 90580000 */ lbu $t8,0x0($v0)
.L0f0791b0:
/* f0791b0: 24010006 */ addiu $at,$zero,0x6
/* f0791b4: 5701ffbf */ bnel $t8,$at,.L0f0790b4
/* f0791b8: 246a0001 */ addiu $t2,$v1,0x1
/* f0791bc: 8c990018 */ lw $t9,0x18($a0)
.L0f0791c0:
/* f0791c0: 332a0400 */ andi $t2,$t9,0x400
/* f0791c4: 15400012 */ bnez $t2,.L0f079210
/* f0791c8: 00000000 */ nop
/* f0791cc: 8c8b0014 */ lw $t3,0x14($a0)
/* f0791d0: 000b6080 */ sll $t4,$t3,0x2
/* f0791d4: 0580000e */ bltz $t4,.L0f079210
/* f0791d8: 00000000 */ nop
/* f0791dc: afa40058 */ sw $a0,0x58($sp)
/* f0791e0: afa5005c */ sw $a1,0x5c($sp)
/* f0791e4: 0fc0e6a5 */ jal chrIsDead
/* f0791e8: afa800ac */ sw $t0,0xac($sp)
/* f0791ec: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0791f0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0791f4: 8fa40058 */ lw $a0,0x58($sp)
/* f0791f8: 8fa5005c */ lw $a1,0x5c($sp)
/* f0791fc: 14400004 */ bnez $v0,.L0f079210
/* f079200: 8fa800ac */ lw $t0,0xac($sp)
/* f079204: 8c8d001c */ lw $t5,0x1c($a0)
/* f079208: 10000015 */ b .L0f079260
/* f07920c: afad006c */ sw $t5,0x6c($sp)
.L0f079210:
/* f079210: 1000ffa7 */ b .L0f0790b0
/* f079214: 850300aa */ lh $v1,0xaa($t0)
/* f079218: 8d2e0298 */ lw $t6,0x298($t1)
.L0f07921c:
/* f07921c: 05c2000e */ bltzl $t6,.L0f079258
/* f079220: 8d2d02a0 */ lw $t5,0x2a0($t1)
/* f079224: 8d2f000c */ lw $t7,0xc($t1)
/* f079228: 31f80001 */ andi $t8,$t7,0x1
/* f07922c: 53000006 */ beqzl $t8,.L0f079248
/* f079230: 8d2b02a4 */ lw $t3,0x2a4($t1)
/* f079234: 8d3902a0 */ lw $t9,0x2a0($t1)
/* f079238: 8f2a00bc */ lw $t2,0xbc($t9)
/* f07923c: 10000008 */ b .L0f079260
/* f079240: afaa006c */ sw $t2,0x6c($sp)
/* f079244: 8d2b02a4 */ lw $t3,0x2a4($t1)
.L0f079248:
/* f079248: 8d6c00bc */ lw $t4,0xbc($t3)
/* f07924c: 10000004 */ b .L0f079260
/* f079250: afac006c */ sw $t4,0x6c($sp)
/* f079254: 8d2d02a0 */ lw $t5,0x2a0($t1)
.L0f079258:
/* f079258: 8dae00bc */ lw $t6,0xbc($t5)
/* f07925c: afae006c */ sw $t6,0x6c($sp)
.L0f079260:
/* f079260: 8fa3006c */ lw $v1,0x6c($sp)
/* f079264: 50600016 */ beqzl $v1,.L0f0792c0
/* f079268: 8fa3006c */ lw $v1,0x6c($sp)
/* f07926c: 8c6f0004 */ lw $t7,0x4($v1)
/* f079270: 55e00004 */ bnezl $t7,.L0f079284
/* f079274: 90620000 */ lbu $v0,0x0($v1)
/* f079278: 10000010 */ b .L0f0792bc
/* f07927c: afa0006c */ sw $zero,0x6c($sp)
/* f079280: 90620000 */ lbu $v0,0x0($v1)
.L0f079284:
/* f079284: 24010003 */ addiu $at,$zero,0x3
/* f079288: afa3006c */ sw $v1,0x6c($sp)
/* f07928c: 1041000b */ beq $v0,$at,.L0f0792bc
/* f079290: 24010006 */ addiu $at,$zero,0x6
/* f079294: 10410009 */ beq $v0,$at,.L0f0792bc
/* f079298: afa3006c */ sw $v1,0x6c($sp)
/* f07929c: afa3006c */ sw $v1,0x6c($sp)
/* f0792a0: 0fc6830c */ jal frIsInTraining
/* f0792a4: afa800ac */ sw $t0,0xac($sp)
/* f0792a8: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0792ac: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0792b0: 14400002 */ bnez $v0,.L0f0792bc
/* f0792b4: 8fa800ac */ lw $t0,0xac($sp)
/* f0792b8: afa0006c */ sw $zero,0x6c($sp)
.L0f0792bc:
/* f0792bc: 8fa3006c */ lw $v1,0x6c($sp)
.L0f0792c0:
/* f0792c0: c5060074 */ lwc1 $f6,0x74($t0)
/* f0792c4: c5120060 */ lwc1 $f18,0x60($t0)
/* f0792c8: 10600152 */ beqz $v1,.L0f079814
/* f0792cc: e7a600a0 */ swc1 $f6,0xa0($sp)
/* f0792d0: 8fb800b0 */ lw $t8,0xb0($sp)
/* f0792d4: c46e0008 */ lwc1 $f14,0x8($v1)
/* f0792d8: 90790000 */ lbu $t9,0x0($v1)
/* f0792dc: c70c0008 */ lwc1 $f12,0x8($t8)
/* f0792e0: c46a000c */ lwc1 $f10,0xc($v1)
/* f0792e4: c708000c */ lwc1 $f8,0xc($t8)
/* f0792e8: 460c7081 */ sub.s $f2,$f14,$f12
/* f0792ec: c46c0010 */ lwc1 $f12,0x10($v1)
/* f0792f0: c70e0010 */ lwc1 $f14,0x10($t8)
/* f0792f4: 46085001 */ sub.s $f0,$f10,$f8
/* f0792f8: 24010006 */ addiu $at,$zero,0x6
/* f0792fc: 17210005 */ bne $t9,$at,.L0f079314
/* f079300: 460e6401 */ sub.s $f16,$f12,$f14
/* f079304: 3c0141a0 */ lui $at,0x41a0
/* f079308: 44815000 */ mtc1 $at,$f10
/* f07930c: 00000000 */ nop
/* f079310: 460a0001 */ sub.s $f0,$f0,$f10
.L0f079314:
/* f079314: 46021182 */ mul.s $f6,$f2,$f2
/* f079318: afa3006c */ sw $v1,0x6c($sp)
/* f07931c: afa800ac */ sw $t0,0xac($sp)
/* f079320: 46108202 */ mul.s $f8,$f16,$f16
/* f079324: e7a00090 */ swc1 $f0,0x90($sp)
/* f079328: e7a20094 */ swc1 $f2,0x94($sp)
/* f07932c: e7b0008c */ swc1 $f16,0x8c($sp)
/* f079330: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079334: 46083300 */ add.s $f12,$f6,$f8
/* f079338: e7ac0088 */ swc1 $f12,0x88($sp)
/* f07933c: 0c012974 */ jal sqrtf
/* f079340: e7ac0024 */ swc1 $f12,0x24($sp)
/* f079344: 8faa00a8 */ lw $t2,0xa8($sp)
/* f079348: e7a00080 */ swc1 $f0,0x80($sp)
/* f07934c: 8fa800ac */ lw $t0,0xac($sp)
/* f079350: 8d4b0008 */ lw $t3,0x8($t2)
/* f079354: c7ae0024 */ lwc1 $f14,0x24($sp)
/* f079358: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f07935c: 000b6100 */ sll $t4,$t3,0x4
/* f079360: 0581000b */ bgez $t4,.L0f079390
/* f079364: 46000086 */ mov.s $f2,$f0
/* f079368: c7a00090 */ lwc1 $f0,0x90($sp)
/* f07936c: afa800ac */ sw $t0,0xac($sp)
/* f079370: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079374: 46000102 */ mul.s $f4,$f0,$f0
/* f079378: 46047300 */ add.s $f12,$f14,$f4
/* f07937c: 0c012974 */ jal sqrtf
/* f079380: e7ac0088 */ swc1 $f12,0x88($sp)
/* f079384: 8fa800ac */ lw $t0,0xac($sp)
/* f079388: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f07938c: 46000086 */ mov.s $f2,$f0
.L0f079390:
/* f079390: c7ac0088 */ lwc1 $f12,0x88($sp)
/* f079394: afa800ac */ sw $t0,0xac($sp)
/* f079398: e7a20084 */ swc1 $f2,0x84($sp)
/* f07939c: 0fc0fe84 */ jal chrGetAimLimitAngle
/* f0793a0: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0793a4: 8fa800ac */ lw $t0,0xac($sp)
/* f0793a8: e7a00070 */ swc1 $f0,0x70($sp)
/* f0793ac: c7a20084 */ lwc1 $f2,0x84($sp)
/* f0793b0: c50a0084 */ lwc1 $f10,0x84($t0)
/* f0793b4: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0793b8: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0793bc: 460a103e */ c.le.s $f2,$f10
/* f0793c0: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f0793c4: c7ac0094 */ lwc1 $f12,0x94($sp)
/* f0793c8: c7ae008c */ lwc1 $f14,0x8c($sp)
/* f0793cc: 45020112 */ bc1fl .L0f079818
/* f0793d0: 8fb8007c */ lw $t8,0x7c($sp)
/* f0793d4: afa800ac */ sw $t0,0xac($sp)
/* f0793d8: 0fc259d4 */ jal atan2f
/* f0793dc: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0793e0: e7a00050 */ swc1 $f0,0x50($sp)
/* f0793e4: c7ac0090 */ lwc1 $f12,0x90($sp)
/* f0793e8: 0fc259d4 */ jal atan2f
/* f0793ec: c7ae0080 */ lwc1 $f14,0x80($sp)
/* f0793f0: 8fae00a8 */ lw $t6,0xa8($sp)
/* f0793f4: e7a0004c */ swc1 $f0,0x4c($sp)
/* f0793f8: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0793fc: 8dc20008 */ lw $v0,0x8($t6)
/* f079400: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079404: 3c054000 */ lui $a1,0x4000
/* f079408: 00027840 */ sll $t7,$v0,0x1
/* f07940c: 8fa800ac */ lw $t0,0xac($sp)
/* f079410: 05e00004 */ bltz $t7,.L0f079424
/* f079414: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079418: 0002c080 */ sll $t8,$v0,0x2
/* f07941c: 07010006 */ bgez $t8,.L0f079438
/* f079420: c7a60050 */ lwc1 $f6,0x50($sp)
.L0f079424:
/* f079424: 24190001 */ addiu $t9,$zero,0x1
/* f079428: 3c017f1b */ lui $at,%hi(var7f1aa508)
/* f07942c: c430a508 */ lwc1 $f16,%lo(var7f1aa508)($at)
/* f079430: 10000029 */ b .L0f0794d8
/* f079434: afb9007c */ sw $t9,0x7c($sp)
.L0f079438:
/* f079438: c508006c */ lwc1 $f8,0x6c($t0)
/* f07943c: 44802000 */ mtc1 $zero,$f4
/* f079440: 3c017f1b */ lui $at,%hi(var7f1aa50c)
/* f079444: 46083301 */ sub.s $f12,$f6,$f8
/* f079448: 4604603c */ c.lt.s $f12,$f4
/* f07944c: 00000000 */ nop
/* f079450: 45000003 */ bc1f .L0f079460
/* f079454: 00000000 */ nop
/* f079458: c430a50c */ lwc1 $f16,%lo(var7f1aa50c)($at)
/* f07945c: 46106300 */ add.s $f12,$f12,$f16
.L0f079460:
/* f079460: 3c017f1b */ lui $at,%hi(var7f1aa510)
/* f079464: c430a510 */ lwc1 $f16,%lo(var7f1aa510)($at)
/* f079468: 3c017f1b */ lui $at,%hi(var7f1aa514)
/* f07946c: c42aa514 */ lwc1 $f10,%lo(var7f1aa514)($at)
/* f079470: 3c017f1b */ lui $at,%hi(var7f1aa518)
/* f079474: 460c503c */ c.lt.s $f10,$f12
/* f079478: 00000000 */ nop
/* f07947c: 45020003 */ bc1fl .L0f07948c
/* f079480: c5060078 */ lwc1 $f6,0x78($t0)
/* f079484: 46106301 */ sub.s $f12,$f12,$f16
/* f079488: c5060078 */ lwc1 $f6,0x78($t0)
.L0f07948c:
/* f07948c: 44804000 */ mtc1 $zero,$f8
/* f079490: 46060081 */ sub.s $f2,$f0,$f6
/* f079494: 4608103c */ c.lt.s $f2,$f8
/* f079498: 00000000 */ nop
/* f07949c: 45000001 */ bc1f .L0f0794a4
/* f0794a0: 00000000 */ nop
.L0f0794a4:
/* f0794a4: c424a518 */ lwc1 $f4,%lo(var7f1aa518)($at)
/* f0794a8: 3c017f1b */ lui $at,%hi(var7f1aa51c)
/* f0794ac: 4604603c */ c.lt.s $f12,$f4
/* f0794b0: 00000000 */ nop
/* f0794b4: 45020009 */ bc1fl .L0f0794dc
/* f0794b8: 8fab007c */ lw $t3,0x7c($sp)
/* f0794bc: c42aa51c */ lwc1 $f10,%lo(var7f1aa51c)($at)
/* f0794c0: 240a0001 */ addiu $t2,$zero,0x1
/* f0794c4: 460c503c */ c.lt.s $f10,$f12
/* f0794c8: 00000000 */ nop
/* f0794cc: 45020003 */ bc1fl .L0f0794dc
/* f0794d0: 8fab007c */ lw $t3,0x7c($sp)
/* f0794d4: afaa007c */ sw $t2,0x7c($sp)
.L0f0794d8:
/* f0794d8: 8fab007c */ lw $t3,0x7c($sp)
.L0f0794dc:
/* f0794dc: c7a60050 */ lwc1 $f6,0x50($sp)
/* f0794e0: 8fac006c */ lw $t4,0x6c($sp)
/* f0794e4: 516000cc */ beqzl $t3,.L0f079818
/* f0794e8: 8fb8007c */ lw $t8,0x7c($sp)
/* f0794ec: c5080060 */ lwc1 $f8,0x60($t0)
/* f0794f0: 3c017f1b */ lui $at,%hi(var7f1aa520)
/* f0794f4: c424a520 */ lwc1 $f4,%lo(var7f1aa520)($at)
/* f0794f8: 46083001 */ sub.s $f0,$f6,$f8
/* f0794fc: 24030001 */ addiu $v1,$zero,0x1
/* f079500: 3c017f1b */ lui $at,%hi(var7f1aa524)
/* f079504: 4604003c */ c.lt.s $f0,$f4
/* f079508: 00000000 */ nop
/* f07950c: 45000003 */ bc1f .L0f07951c
/* f079510: 00000000 */ nop
/* f079514: 10000007 */ b .L0f079534
/* f079518: 46100000 */ add.s $f0,$f0,$f16
.L0f07951c:
/* f07951c: c42aa524 */ lwc1 $f10,%lo(var7f1aa524)($at)
/* f079520: 4600503e */ c.le.s $f10,$f0
/* f079524: 00000000 */ nop
/* f079528: 45020003 */ bc1fl .L0f079538
/* f07952c: 91820000 */ lbu $v0,0x0($t4)
/* f079530: 46100001 */ sub.s $f0,$f0,$f16
.L0f079534:
/* f079534: 91820000 */ lbu $v0,0x0($t4)
.L0f079538:
/* f079538: 24010006 */ addiu $at,$zero,0x6
/* f07953c: 54410022 */ bnel $v0,$at,.L0f0795c8
/* f079540: 24010003 */ addiu $at,$zero,0x3
/* f079544: 8d2d0324 */ lw $t5,0x324($t1)
/* f079548: 01802025 */ or $a0,$t4,$zero
/* f07954c: 11a0001b */ beqz $t5,.L0f0795bc
/* f079550: 00000000 */ nop
/* f079554: afa30044 */ sw $v1,0x44($sp)
/* f079558: afa800ac */ sw $t0,0xac($sp)
/* f07955c: e7a00048 */ swc1 $f0,0x48($sp)
/* f079560: 0fc4a25f */ jal propGetPlayerNum
/* f079564: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079568: 3c09800a */ lui $t1,%hi(g_Vars)
/* f07956c: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079570: 00027080 */ sll $t6,$v0,0x2
/* f079574: 012e7821 */ addu $t7,$t1,$t6
/* f079578: 8df80064 */ lw $t8,0x64($t7)
/* f07957c: 8fa30044 */ lw $v1,0x44($sp)
/* f079580: 8fa800ac */ lw $t0,0xac($sp)
/* f079584: 8f1900d8 */ lw $t9,0xd8($t8)
/* f079588: c7a00048 */ lwc1 $f0,0x48($sp)
/* f07958c: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079590: 1720000a */ bnez $t9,.L0f0795bc
/* f079594: 8faa006c */ lw $t2,0x6c($sp)
/* f079598: 8d420004 */ lw $v0,0x4($t2)
/* f07959c: 8c4b0018 */ lw $t3,0x18($v0)
/* f0795a0: 316d0400 */ andi $t5,$t3,0x400
/* f0795a4: 15a00005 */ bnez $t5,.L0f0795bc
/* f0795a8: 00000000 */ nop
/* f0795ac: 8c4c0014 */ lw $t4,0x14($v0)
/* f0795b0: 000c7080 */ sll $t6,$t4,0x2
/* f0795b4: 05c30043 */ bgezl $t6,.L0f0796c4
/* f0795b8: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f0795bc:
/* f0795bc: 10000040 */ b .L0f0796c0
/* f0795c0: 00001825 */ or $v1,$zero,$zero
/* f0795c4: 24010003 */ addiu $at,$zero,0x3
.L0f0795c8:
/* f0795c8: 14410024 */ bne $v0,$at,.L0f07965c
/* f0795cc: 8faf006c */ lw $t7,0x6c($sp)
/* f0795d0: 8de40004 */ lw $a0,0x4($t7)
/* f0795d4: 1080001f */ beqz $a0,.L0f079654
/* f0795d8: 00000000 */ nop
/* f0795dc: 8c980018 */ lw $t8,0x18($a0)
/* f0795e0: 33190400 */ andi $t9,$t8,0x400
/* f0795e4: 1720001b */ bnez $t9,.L0f079654
/* f0795e8: 00000000 */ nop
/* f0795ec: 8c820014 */ lw $v0,0x14($a0)
/* f0795f0: 00025080 */ sll $t2,$v0,0x2
/* f0795f4: 05400017 */ bltz $t2,.L0f079654
/* f0795f8: 00455824 */ and $t3,$v0,$a1
/* f0795fc: 15600015 */ bnez $t3,.L0f079654
/* f079600: 00000000 */ nop
/* f079604: afa30044 */ sw $v1,0x44($sp)
/* f079608: afa40040 */ sw $a0,0x40($sp)
/* f07960c: afa800ac */ sw $t0,0xac($sp)
/* f079610: e7a00048 */ swc1 $f0,0x48($sp)
/* f079614: 0fc0e6a5 */ jal chrIsDead
/* f079618: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f07961c: 8fa30044 */ lw $v1,0x44($sp)
/* f079620: 8fa40040 */ lw $a0,0x40($sp)
/* f079624: 8fa800ac */ lw $t0,0xac($sp)
/* f079628: c7a00048 */ lwc1 $f0,0x48($sp)
/* f07962c: 14400009 */ bnez $v0,.L0f079654
/* f079630: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079634: 80820007 */ lb $v0,0x7($a0)
/* f079638: 24010020 */ addiu $at,$zero,0x20
/* f07963c: 10410005 */ beq $v0,$at,.L0f079654
/* f079640: 2401001e */ addiu $at,$zero,0x1e
/* f079644: 10410003 */ beq $v0,$at,.L0f079654
/* f079648: 2401001f */ addiu $at,$zero,0x1f
/* f07964c: 5441001d */ bnel $v0,$at,.L0f0796c4
/* f079650: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f079654:
/* f079654: 1000001a */ b .L0f0796c0
/* f079658: 00001825 */ or $v1,$zero,$zero
.L0f07965c:
/* f07965c: 24010001 */ addiu $at,$zero,0x1
/* f079660: 14410017 */ bne $v0,$at,.L0f0796c0
/* f079664: 8fad006c */ lw $t5,0x6c($sp)
/* f079668: 8da20004 */ lw $v0,0x4($t5)
/* f07966c: 50400014 */ beqzl $v0,.L0f0796c0
/* f079670: 00001825 */ or $v1,$zero,$zero
/* f079674: 844c0004 */ lh $t4,0x4($v0)
/* f079678: 2401014c */ addiu $at,$zero,0x14c
/* f07967c: 01a02025 */ or $a0,$t5,$zero
/* f079680: 1581000e */ bne $t4,$at,.L0f0796bc
/* f079684: 8fa500b0 */ lw $a1,0xb0($sp)
/* f079688: 24a50008 */ addiu $a1,$a1,0x8
/* f07968c: afa30044 */ sw $v1,0x44($sp)
/* f079690: afa800ac */ sw $t0,0xac($sp)
/* f079694: e7a00048 */ swc1 $f0,0x48($sp)
/* f079698: 0fc67cbb */ jal frIsTargetFacingPos
/* f07969c: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0796a0: 8fa30044 */ lw $v1,0x44($sp)
/* f0796a4: 8fa800ac */ lw $t0,0xac($sp)
/* f0796a8: c7a00048 */ lwc1 $f0,0x48($sp)
/* f0796ac: 14400004 */ bnez $v0,.L0f0796c0
/* f0796b0: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f0796b4: 10000002 */ b .L0f0796c0
/* f0796b8: 00001825 */ or $v1,$zero,$zero
.L0f0796bc:
/* f0796bc: 00001825 */ or $v1,$zero,$zero
.L0f0796c0:
/* f0796c0: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f0796c4:
/* f0796c4: 00002825 */ or $a1,$zero,$zero
/* f0796c8: afa30044 */ sw $v1,0x44($sp)
/* f0796cc: afa800ac */ sw $t0,0xac($sp)
/* f0796d0: e7a00048 */ swc1 $f0,0x48($sp)
/* f0796d4: 0fc1905e */ jal propSetPerimEnabled
/* f0796d8: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0796dc: 8fa4006c */ lw $a0,0x6c($sp)
/* f0796e0: 0fc1905e */ jal propSetPerimEnabled
/* f0796e4: 00002825 */ or $a1,$zero,$zero
/* f0796e8: 8fa800ac */ lw $t0,0xac($sp)
/* f0796ec: c7a00048 */ lwc1 $f0,0x48($sp)
/* f0796f0: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0796f4: c5060064 */ lwc1 $f6,0x64($t0)
/* f0796f8: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0796fc: 8fa30044 */ lw $v1,0x44($sp)
/* f079700: 4606003e */ c.le.s $f0,$f6
/* f079704: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079708: 4502002a */ bc1fl .L0f0797b4
/* f07970c: 8d020090 */ lw $v0,0x90($t0)
/* f079710: c5080068 */ lwc1 $f8,0x68($t0)
/* f079714: 4600403e */ c.le.s $f8,$f0
/* f079718: 00000000 */ nop
/* f07971c: 45020025 */ bc1fl .L0f0797b4
/* f079720: 8d020090 */ lw $v0,0x90($t0)
/* f079724: 10600022 */ beqz $v1,.L0f0797b0
/* f079728: 8fa200b0 */ lw $v0,0xb0($sp)
/* f07972c: 8fae006c */ lw $t6,0x6c($sp)
/* f079730: 240f003f */ addiu $t7,$zero,0x3f
/* f079734: 24180008 */ addiu $t8,$zero,0x8
/* f079738: afb80014 */ sw $t8,0x14($sp)
/* f07973c: afaf0010 */ sw $t7,0x10($sp)
/* f079740: 24440008 */ addiu $a0,$v0,0x8
/* f079744: 24450028 */ addiu $a1,$v0,0x28
/* f079748: afa800ac */ sw $t0,0xac($sp)
/* f07974c: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079750: 25c60008 */ addiu $a2,$t6,0x8
/* f079754: 0c00b70f */ jal cdHasLineOfSight
/* f079758: 25c70028 */ addiu $a3,$t6,0x28
/* f07975c: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079760: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f079764: 8fa800ac */ lw $t0,0xac($sp)
/* f079768: 10400011 */ beqz $v0,.L0f0797b0
/* f07976c: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079770: 8fa200a8 */ lw $v0,0xa8($sp)
/* f079774: 3c012000 */ lui $at,0x2000
/* f079778: 240b0001 */ addiu $t3,$zero,0x1
/* f07977c: 8c590008 */ lw $t9,0x8($v0)
/* f079780: 03215025 */ or $t2,$t9,$at
/* f079784: ac4a0008 */ sw $t2,0x8($v0)
/* f079788: c7a4004c */ lwc1 $f4,0x4c($sp)
/* f07978c: afab0074 */ sw $t3,0x74($sp)
/* f079790: c7b20050 */ lwc1 $f18,0x50($sp)
/* f079794: e7a400a0 */ swc1 $f4,0xa0($sp)
/* f079798: 8d0c00a4 */ lw $t4,0xa4($t0)
/* f07979c: 8fad006c */ lw $t5,0x6c($sp)
/* f0797a0: 55800011 */ bnezl $t4,.L0f0797e8
/* f0797a4: 8fa400b0 */ lw $a0,0xb0($sp)
/* f0797a8: 1000000e */ b .L0f0797e4
/* f0797ac: ad0d00a4 */ sw $t5,0xa4($t0)
.L0f0797b0:
/* f0797b0: 8d020090 */ lw $v0,0x90($t0)
.L0f0797b4:
/* f0797b4: 0442000b */ bltzl $v0,.L0f0797e4
/* f0797b8: afa0007c */ sw $zero,0x7c($sp)
/* f0797bc: 8d2e0008 */ lw $t6,0x8($t1)
/* f0797c0: 25cfff88 */ addiu $t7,$t6,-120
/* f0797c4: 01e2082a */ slt $at,$t7,$v0
/* f0797c8: 50200006 */ beqzl $at,.L0f0797e4
/* f0797cc: afa0007c */ sw $zero,0x7c($sp)
/* f0797d0: c50a0078 */ lwc1 $f10,0x78($t0)
/* f0797d4: c512006c */ lwc1 $f18,0x6c($t0)
/* f0797d8: 10000002 */ b .L0f0797e4
/* f0797dc: e7aa00a0 */ swc1 $f10,0xa0($sp)
/* f0797e0: afa0007c */ sw $zero,0x7c($sp)
.L0f0797e4:
/* f0797e4: 8fa400b0 */ lw $a0,0xb0($sp)
.L0f0797e8:
/* f0797e8: 24050001 */ addiu $a1,$zero,0x1
/* f0797ec: afa800ac */ sw $t0,0xac($sp)
/* f0797f0: 0fc1905e */ jal propSetPerimEnabled
/* f0797f4: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f0797f8: 8fa4006c */ lw $a0,0x6c($sp)
/* f0797fc: 0fc1905e */ jal propSetPerimEnabled
/* f079800: 24050001 */ addiu $a1,$zero,0x1
/* f079804: 3c09800a */ lui $t1,%hi(g_Vars)
/* f079808: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f07980c: 8fa800ac */ lw $t0,0xac($sp)
/* f079810: c7b200a4 */ lwc1 $f18,0xa4($sp)
.L0f079814:
/* f079814: 8fb8007c */ lw $t8,0x7c($sp)
.L0f079818:
/* f079818: 3c017f1b */ lui $at,%hi(var7f1aa548)
/* f07981c: c430a548 */ lwc1 $f16,%lo(var7f1aa548)($at)
/* f079820: 57000003 */ bnezl $t8,.L0f079830
/* f079824: 8119005e */ lb $t9,0x5e($t0)
/* f079828: ad0000a4 */ sw $zero,0xa4($t0)
/* f07982c: 8119005e */ lb $t9,0x5e($t0)
.L0f079830:
/* f079830: 53200024 */ beqzl $t9,.L0f0798c4
/* f079834: c5020060 */ lwc1 $f2,0x60($t0)
/* f079838: 8d2a0008 */ lw $t2,0x8($t1)
/* f07983c: 24010078 */ addiu $at,$zero,0x78
/* f079840: afa800ac */ sw $t0,0xac($sp)
/* f079844: 0141001a */ div $zero,$t2,$at
/* f079848: 00005810 */ mfhi $t3
/* f07984c: 448b3000 */ mtc1 $t3,$f6
/* f079850: 3c017f1b */ lui $at,%hi(var7f1aa54c)
/* f079854: c424a54c */ lwc1 $f4,%lo(var7f1aa54c)($at)
/* f079858: 46803220 */ cvt.s.w $f8,$f6
/* f07985c: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079860: 46044302 */ mul.s $f12,$f8,$f4
/* f079864: 0c0068f7 */ jal sinf
/* f079868: 00000000 */ nop
/* f07986c: 3c017f1b */ lui $at,%hi(var7f1aa550)
/* f079870: c430a550 */ lwc1 $f16,%lo(var7f1aa550)($at)
/* f079874: 3c017f1b */ lui $at,%hi(var7f1aa554)
/* f079878: c426a554 */ lwc1 $f6,%lo(var7f1aa554)($at)
/* f07987c: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f079880: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f079884: 8fa800ac */ lw $t0,0xac($sp)
/* f079888: 46065202 */ mul.s $f8,$f10,$f6
/* f07988c: 44805000 */ mtc1 $zero,$f10
/* f079890: 46004102 */ mul.s $f4,$f8,$f0
/* f079894: 46049480 */ add.s $f18,$f18,$f4
/* f079898: 460a903c */ c.lt.s $f18,$f10
/* f07989c: 00000000 */ nop
/* f0798a0: 45020003 */ bc1fl .L0f0798b0
/* f0798a4: 4612803e */ c.le.s $f16,$f18
/* f0798a8: 46109480 */ add.s $f18,$f18,$f16
/* f0798ac: 4612803e */ c.le.s $f16,$f18
.L0f0798b0:
/* f0798b0: 00000000 */ nop
/* f0798b4: 45020003 */ bc1fl .L0f0798c4
/* f0798b8: c5020060 */ lwc1 $f2,0x60($t0)
/* f0798bc: 46109481 */ sub.s $f18,$f18,$f16
/* f0798c0: c5020060 */ lwc1 $f2,0x60($t0)
.L0f0798c4:
/* f0798c4: 3c017f1b */ lui $at,%hi(var7f1aa558)
/* f0798c8: c426a558 */ lwc1 $f6,%lo(var7f1aa558)($at)
/* f0798cc: 46029001 */ sub.s $f0,$f18,$f2
/* f0798d0: 44802000 */ mtc1 $zero,$f4
/* f0798d4: 2504006c */ addiu $a0,$t0,0x6c
/* f0798d8: 4606003c */ c.lt.s $f0,$f6
/* f0798dc: 00000000 */ nop
/* f0798e0: 45000003 */ bc1f .L0f0798f0
/* f0798e4: 00000000 */ nop
/* f0798e8: 10000008 */ b .L0f07990c
/* f0798ec: 46100000 */ add.s $f0,$f0,$f16
.L0f0798f0:
/* f0798f0: 3c017f1b */ lui $at,%hi(var7f1aa55c)
/* f0798f4: c428a55c */ lwc1 $f8,%lo(var7f1aa55c)($at)
/* f0798f8: 4600403e */ c.le.s $f8,$f0
/* f0798fc: 00000000 */ nop
/* f079900: 45020003 */ bc1fl .L0f079910
/* f079904: c50c0064 */ lwc1 $f12,0x64($t0)
/* f079908: 46100001 */ sub.s $f0,$f0,$f16
.L0f07990c:
/* f07990c: c50c0064 */ lwc1 $f12,0x64($t0)
.L0f079910:
/* f079910: 3c017f1b */ lui $at,%hi(var7f1aa560)
/* f079914: 4600603c */ c.lt.s $f12,$f0
/* f079918: 00000000 */ nop
/* f07991c: 45020004 */ bc1fl .L0f079930
/* f079920: c50c0068 */ lwc1 $f12,0x68($t0)
/* f079924: 10000007 */ b .L0f079944
/* f079928: 460c1480 */ add.s $f18,$f2,$f12
/* f07992c: c50c0068 */ lwc1 $f12,0x68($t0)
.L0f079930:
/* f079930: 460c003c */ c.lt.s $f0,$f12
/* f079934: 00000000 */ nop
/* f079938: 45020003 */ bc1fl .L0f079948
/* f07993c: 4604903c */ c.lt.s $f18,$f4
/* f079940: 460c1480 */ add.s $f18,$f2,$f12
.L0f079944:
/* f079944: 4604903c */ c.lt.s $f18,$f4
.L0f079948:
/* f079948: 00000000 */ nop
/* f07994c: 45020003 */ bc1fl .L0f07995c
/* f079950: 4612803e */ c.le.s $f16,$f18
/* f079954: 46109480 */ add.s $f18,$f18,$f16
/* f079958: 4612803e */ c.le.s $f16,$f18
.L0f07995c:
/* f07995c: 00000000 */ nop
/* f079960: 45000002 */ bc1f .L0f07996c
/* f079964: 00000000 */ nop
/* f079968: 46109481 */ sub.s $f18,$f18,$f16
.L0f07996c:
/* f07996c: c420a560 */ lwc1 $f0,%lo(var7f1aa560)($at)
/* f079970: 44059000 */ mfc1 $a1,$f18
/* f079974: 25060070 */ addiu $a2,$t0,0x70
/* f079978: e7a00010 */ swc1 $f0,0x10($sp)
/* f07997c: c50a0080 */ lwc1 $f10,0x80($t0)
/* f079980: 44070000 */ mfc1 $a3,$f0
/* f079984: e7b200a4 */ swc1 $f18,0xa4($sp)
/* f079988: afa800ac */ sw $t0,0xac($sp)
/* f07998c: 0fc1b6c0 */ jal applyRotation
/* f079990: e7aa0014 */ swc1 $f10,0x14($sp)
/* f079994: 3c017f1b */ lui $at,%hi(var7f1aa564)
/* f079998: c420a564 */ lwc1 $f0,%lo(var7f1aa564)($at)
/* f07999c: 8fa800ac */ lw $t0,0xac($sp)
/* f0799a0: 8fa500a0 */ lw $a1,0xa0($sp)
/* f0799a4: e7a00010 */ swc1 $f0,0x10($sp)
/* f0799a8: c5060080 */ lwc1 $f6,0x80($t0)
/* f0799ac: 44070000 */ mfc1 $a3,$f0
/* f0799b0: 25040078 */ addiu $a0,$t0,0x78
/* f0799b4: 2506007c */ addiu $a2,$t0,0x7c
/* f0799b8: 0fc1b6c0 */ jal applyRotation
/* f0799bc: e7a60014 */ swc1 $f6,0x14($sp)
/* f0799c0: 8fa800ac */ lw $t0,0xac($sp)
/* f0799c4: c7b200a4 */ lwc1 $f18,0xa4($sp)
/* f0799c8: 44802000 */ mtc1 $zero,$f4
/* f0799cc: c508006c */ lwc1 $f8,0x6c($t0)
/* f0799d0: 3c017f1b */ lui $at,%hi(var7f1aa56c)
/* f0799d4: c430a56c */ lwc1 $f16,%lo(var7f1aa56c)($at)
/* f0799d8: 46089301 */ sub.s $f12,$f18,$f8
/* f0799dc: 3c09800a */ lui $t1,%hi(g_Vars)
/* f0799e0: 25299fc0 */ addiu $t1,$t1,%lo(g_Vars)
/* f0799e4: 3c017f1b */ lui $at,%hi(var7f1aa570)
/* f0799e8: 4604603c */ c.lt.s $f12,$f4
/* f0799ec: c7aa00a0 */ lwc1 $f10,0xa0($sp)
/* f0799f0: 45000002 */ bc1f .L0f0799fc
/* f0799f4: 00000000 */ nop
/* f0799f8: 46106300 */ add.s $f12,$f12,$f16
.L0f0799fc:
/* f0799fc: c420a570 */ lwc1 $f0,%lo(var7f1aa570)($at)
/* f079a00: 460c003c */ c.lt.s $f0,$f12
/* f079a04: 00000000 */ nop
/* f079a08: 45020003 */ bc1fl .L0f079a18
/* f079a0c: c5060078 */ lwc1 $f6,0x78($t0)
/* f079a10: 46106301 */ sub.s $f12,$f12,$f16
/* f079a14: c5060078 */ lwc1 $f6,0x78($t0)
.L0f079a18:
/* f079a18: 44804000 */ mtc1 $zero,$f8
/* f079a1c: 46065081 */ sub.s $f2,$f10,$f6
/* f079a20: 4608103c */ c.lt.s $f2,$f8
/* f079a24: 00000000 */ nop
/* f079a28: 45020003 */ bc1fl .L0f079a38
/* f079a2c: 4602003c */ c.lt.s $f0,$f2
/* f079a30: 46101080 */ add.s $f2,$f2,$f16
/* f079a34: 4602003c */ c.lt.s $f0,$f2
.L0f079a38:
/* f079a38: 00000000 */ nop
/* f079a3c: 45020003 */ bc1fl .L0f079a4c
/* f079a40: a100005e */ sb $zero,0x5e($t0)
/* f079a44: 46101081 */ sub.s $f2,$f2,$f16
/* f079a48: a100005e */ sb $zero,0x5e($t0)
.L0f079a4c:
/* f079a4c: 8fac007c */ lw $t4,0x7c($sp)
/* f079a50: c7a40070 */ lwc1 $f4,0x70($sp)
/* f079a54: 51800045 */ beqzl $t4,.L0f079b6c
/* f079a58: 8faa0078 */ lw $t2,0x78($sp)
/* f079a5c: 4604603c */ c.lt.s $f12,$f4
/* f079a60: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f079a64: 4502001a */ bc1fl .L0f079ad0
/* f079a68: 460a5000 */ add.s $f0,$f10,$f10
/* f079a6c: 46002007 */ neg.s $f0,$f4
/* f079a70: 460c003c */ c.lt.s $f0,$f12
/* f079a74: 00000000 */ nop
/* f079a78: 45020015 */ bc1fl .L0f079ad0
/* f079a7c: 460a5000 */ add.s $f0,$f10,$f10
/* f079a80: 4604103c */ c.lt.s $f2,$f4
/* f079a84: 00000000 */ nop
/* f079a88: 45020011 */ bc1fl .L0f079ad0
/* f079a8c: 460a5000 */ add.s $f0,$f10,$f10
/* f079a90: 4602003c */ c.lt.s $f0,$f2
/* f079a94: 240d0001 */ addiu $t5,$zero,0x1
/* f079a98: 4502000d */ bc1fl .L0f079ad0
/* f079a9c: 460a5000 */ add.s $f0,$f10,$f10
/* f079aa0: a10d005e */ sb $t5,0x5e($t0)
/* f079aa4: 8faf0074 */ lw $t7,0x74($sp)
/* f079aa8: 240e0001 */ addiu $t6,$zero,0x1
/* f079aac: afae0078 */ sw $t6,0x78($sp)
/* f079ab0: 51e0002e */ beqzl $t7,.L0f079b6c
/* f079ab4: 8faa0078 */ lw $t2,0x78($sp)
/* f079ab8: 8d380008 */ lw $t8,0x8($t1)
/* f079abc: ad180090 */ sw $t8,0x90($t0)
/* f079ac0: 8d390008 */ lw $t9,0x8($t1)
/* f079ac4: 10000028 */ b .L0f079b68
/* f079ac8: ad190094 */ sw $t9,0x94($t0)
/* f079acc: 460a5000 */ add.s $f0,$f10,$f10
.L0f079ad0:
/* f079ad0: 4600603c */ c.lt.s $f12,$f0
/* f079ad4: 00000000 */ nop
/* f079ad8: 45020018 */ bc1fl .L0f079b3c
/* f079adc: 8d020090 */ lw $v0,0x90($t0)
/* f079ae0: 46000387 */ neg.s $f14,$f0
/* f079ae4: 460c703c */ c.lt.s $f14,$f12
/* f079ae8: 00000000 */ nop
/* f079aec: 45020013 */ bc1fl .L0f079b3c
/* f079af0: 8d020090 */ lw $v0,0x90($t0)
/* f079af4: 4600103c */ c.lt.s $f2,$f0
/* f079af8: 00000000 */ nop
/* f079afc: 4502000f */ bc1fl .L0f079b3c
/* f079b00: 8d020090 */ lw $v0,0x90($t0)
/* f079b04: 4602703c */ c.lt.s $f14,$f2
/* f079b08: 240a0001 */ addiu $t2,$zero,0x1
/* f079b0c: 4502000b */ bc1fl .L0f079b3c
/* f079b10: 8d020090 */ lw $v0,0x90($t0)
/* f079b14: a10a005e */ sb $t2,0x5e($t0)
/* f079b18: 8fac0074 */ lw $t4,0x74($sp)
/* f079b1c: 240b0001 */ addiu $t3,$zero,0x1
/* f079b20: afab0078 */ sw $t3,0x78($sp)
/* f079b24: 51800011 */ beqzl $t4,.L0f079b6c
/* f079b28: 8faa0078 */ lw $t2,0x78($sp)
/* f079b2c: 8d2d0008 */ lw $t5,0x8($t1)
/* f079b30: 1000000d */ b .L0f079b68
/* f079b34: ad0d0090 */ sw $t5,0x90($t0)
/* f079b38: 8d020090 */ lw $v0,0x90($t0)
.L0f079b3c:
/* f079b3c: 0442000b */ bltzl $v0,.L0f079b6c
/* f079b40: 8faa0078 */ lw $t2,0x78($sp)
/* f079b44: 8d2e0008 */ lw $t6,0x8($t1)
/* f079b48: 24180001 */ addiu $t8,$zero,0x1
/* f079b4c: 24190001 */ addiu $t9,$zero,0x1
/* f079b50: 25cfff88 */ addiu $t7,$t6,-120
/* f079b54: 01e2082a */ slt $at,$t7,$v0
/* f079b58: 50200004 */ beqzl $at,.L0f079b6c
/* f079b5c: 8faa0078 */ lw $t2,0x78($sp)
/* f079b60: a118005e */ sb $t8,0x5e($t0)
/* f079b64: afb90078 */ sw $t9,0x78($sp)
.L0f079b68:
/* f079b68: 8faa0078 */ lw $t2,0x78($sp)
.L0f079b6c:
/* f079b6c: 3c017f1b */ lui $at,%hi(var7f1aa574)
/* f079b70: 51400012 */ beqzl $t2,.L0f079bbc
/* f079b74: c5020088 */ lwc1 $f2,0x88($t0)
/* f079b78: c420a574 */ lwc1 $f0,%lo(var7f1aa574)($at)
/* f079b7c: 3c017f1b */ lui $at,%hi(var7f1aa578)
/* f079b80: c426a578 */ lwc1 $f6,%lo(var7f1aa578)($at)
/* f079b84: c528004c */ lwc1 $f8,0x4c($t1)
/* f079b88: c50a0088 */ lwc1 $f10,0x88($t0)
/* f079b8c: 46083102 */ mul.s $f4,$f6,$f8
/* f079b90: 46045180 */ add.s $f6,$f10,$f4
/* f079b94: e5060088 */ swc1 $f6,0x88($t0)
/* f079b98: c5020088 */ lwc1 $f2,0x88($t0)
/* f079b9c: 4602003c */ c.lt.s $f0,$f2
/* f079ba0: 00000000 */ nop
/* f079ba4: 45020025 */ bc1fl .L0f079c3c
/* f079ba8: 44805000 */ mtc1 $zero,$f10
/* f079bac: e5000088 */ swc1 $f0,0x88($t0)
/* f079bb0: 10000021 */ b .L0f079c38
/* f079bb4: c5020088 */ lwc1 $f2,0x88($t0)
/* f079bb8: c5020088 */ lwc1 $f2,0x88($t0)
.L0f079bbc:
/* f079bbc: 44804000 */ mtc1 $zero,$f8
/* f079bc0: 00000000 */ nop
/* f079bc4: 4602403c */ c.lt.s $f8,$f2
/* f079bc8: 00000000 */ nop
/* f079bcc: 4502001b */ bc1fl .L0f079c3c
/* f079bd0: 44805000 */ mtc1 $zero,$f10
/* f079bd4: 8d2b0038 */ lw $t3,0x38($t1)
/* f079bd8: 00001025 */ or $v0,$zero,$zero
/* f079bdc: 3c017f1b */ lui $at,%hi(var7f1aa57c)
/* f079be0: 1960000b */ blez $t3,.L0f079c10
/* f079be4: 00000000 */ nop
/* f079be8: c420a57c */ lwc1 $f0,%lo(var7f1aa57c)($at)
/* f079bec: c50a0088 */ lwc1 $f10,0x88($t0)
.L0f079bf0:
/* f079bf0: 24420001 */ addiu $v0,$v0,0x1
/* f079bf4: 46005102 */ mul.s $f4,$f10,$f0
/* f079bf8: e5040088 */ swc1 $f4,0x88($t0)
/* f079bfc: 8d2c0038 */ lw $t4,0x38($t1)
/* f079c00: 004c082a */ slt $at,$v0,$t4
/* f079c04: 5420fffa */ bnezl $at,.L0f079bf0
/* f079c08: c50a0088 */ lwc1 $f10,0x88($t0)
/* f079c0c: c5020088 */ lwc1 $f2,0x88($t0)
.L0f079c10:
/* f079c10: 3c017f1b */ lui $at,%hi(var7f1aa580)
/* f079c14: c426a580 */ lwc1 $f6,%lo(var7f1aa580)($at)
/* f079c18: 4606103e */ c.le.s $f2,$f6
/* f079c1c: 00000000 */ nop
/* f079c20: 45020006 */ bc1fl .L0f079c3c
/* f079c24: 44805000 */ mtc1 $zero,$f10
/* f079c28: 44804000 */ mtc1 $zero,$f8
/* f079c2c: 00000000 */ nop
/* f079c30: e5080088 */ swc1 $f8,0x88($t0)
/* f079c34: c5020088 */ lwc1 $f2,0x88($t0)
.L0f079c38:
/* f079c38: 44805000 */ mtc1 $zero,$f10
.L0f079c3c:
/* f079c3c: 00000000 */ nop
/* f079c40: 4602503c */ c.lt.s $f10,$f2
/* f079c44: 00000000 */ nop
/* f079c48: 45020013 */ bc1fl .L0f079c98
/* f079c4c: 8fbf001c */ lw $ra,0x1c($sp)
/* f079c50: c526004c */ lwc1 $f6,0x4c($t1)
/* f079c54: c504008c */ lwc1 $f4,0x8c($t0)
/* f079c58: 46061202 */ mul.s $f8,$f2,$f6
/* f079c5c: 46082280 */ add.s $f10,$f4,$f8
/* f079c60: e50a008c */ swc1 $f10,0x8c($t0)
/* f079c64: c500008c */ lwc1 $f0,0x8c($t0)
/* f079c68: 4600803e */ c.le.s $f16,$f0
/* f079c6c: 00000000 */ nop
/* f079c70: 45020009 */ bc1fl .L0f079c98
/* f079c74: 8fbf001c */ lw $ra,0x1c($sp)
/* f079c78: 46100181 */ sub.s $f6,$f0,$f16
.L0f079c7c:
/* f079c7c: e506008c */ swc1 $f6,0x8c($t0)
/* f079c80: c500008c */ lwc1 $f0,0x8c($t0)
/* f079c84: 4600803e */ c.le.s $f16,$f0
/* f079c88: 00000000 */ nop
/* f079c8c: 4503fffb */ bc1tl .L0f079c7c
/* f079c90: 46100181 */ sub.s $f6,$f0,$f16
/* f079c94: 8fbf001c */ lw $ra,0x1c($sp)
.L0f079c98:
/* f079c98: 27bd00b0 */ addiu $sp,$sp,0xb0
/* f079c9c: 03e00008 */ jr $ra
/* f079ca0: 00000000 */ nop
);
#endif
void autogunInitMatrices(struct prop *prop, Mtxf *mtx)
{
struct autogunobj *autogun = (struct autogunobj *)prop->obj;
struct model *model = autogun->base.model;
Mtxf *matrices = model->matrices;
union modelrodata *rodata;
struct coord sp4c;
f32 yrot = autogun->yrot + 1.5705462694168f;
f32 xrot = -autogun->xrot;
Mtxf *tmp;
struct modelnode *node2;
struct modelnode *node3;
struct modelnode *node4;
struct modelnode *node6;
if (yrot >= M_BADTAU) {
yrot -= M_BADTAU;
}
rodata = modelGetPartRodata(model->filedata, MODELPART_AUTOGUN_0001);
sp4c.x = rodata->position.pos.x;
sp4c.y = rodata->position.pos.y;
sp4c.z = rodata->position.pos.z;
mtx4TransformVecInPlace(mtx, &sp4c);
mtx4LoadYRotation(yrot, &matrices[1]);
mtx4SetTranslation(&sp4c, &matrices[1]);
mtx00015f04(autogun->base.model->scale, &matrices[1]);
mtx00015be0(currentPlayerGetMatrix1740(), &matrices[1]);
node2 = modelGetPart(model->filedata, MODELPART_AUTOGUN_0002);
rodata = node2->rodata;
mtx4LoadZRotation(xrot, &matrices[2]);
mtx4SetTranslation(&rodata->position.pos, &matrices[2]);
mtx00015be0(&matrices[1], &matrices[2]);
tmp = model0001a5cc(model, node2, 0x100);
if (tmp != NULL) {
mtx4LoadZRotation(xrot * 0.5f, tmp);
mtx4SetTranslation(&rodata->position.pos, tmp);
mtx00015be0(&matrices[1], tmp);
}
node3 = modelGetPart(model->filedata, MODELPART_AUTOGUN_0003);
if (node3 != NULL) {
tmp = model0001a5cc(model, node3, 0);
rodata = node3->rodata;
mtx4LoadXRotation(autogun->barrelrot, tmp);
mtx4SetTranslation(&rodata->position.pos, tmp);
mtx00015be0(&matrices[2], tmp);
}
node4 = modelGetPart(model->filedata, MODELPART_AUTOGUN_0004);
if (node4 != NULL) {
tmp = model0001a5cc(model, node4, 0);
rodata = node4->rodata;
mtx4LoadTranslation(&rodata->position.pos, tmp);
mtx00015be0(&matrices[2], tmp);
}
node6 = modelGetPart(model->filedata, MODELPART_AUTOGUN_0006);
if (node6 != NULL) {
tmp = model0001a5cc(model, node6, 0);
rodata = node6->rodata;
mtx4LoadXRotation(autogun->barrelrot, tmp);
mtx4SetTranslation(&rodata->position.pos, tmp);
mtx00015be0(&matrices[2], tmp);
}
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f079f1c
.late_rodata
glabel var7f1aa58c
.word 0x3e23d70a
glabel var7f1aa590
.word 0x461c4000
glabel var7f1aa594
.word 0x453b8000
glabel var7f1aa598
.word 0x3f19999a
glabel var7f1aa59c
.word 0x3e99999a
glabel var7f1aa5a0
.word 0xbdcccccd
glabel var7f1aa5a4
.word 0x453b8000
glabel var7f1aa5a8
.word 0x3e4ccccd
.text
/* f079f1c: 27bdfe68 */ addiu $sp,$sp,-408
/* f079f20: afbf0044 */ sw $ra,0x44($sp)
/* f079f24: 0fc5b364 */ jal lvIsPaused
/* f079f28: afa40198 */ sw $a0,0x198($sp)
/* f079f2c: 14400363 */ bnez $v0,.L0f07acbc
/* f079f30: 8fae0198 */ lw $t6,0x198($sp)
/* f079f34: 8dc20004 */ lw $v0,0x4($t6)
/* f079f38: afa0018c */ sw $zero,0x18c($sp)
/* f079f3c: afa00188 */ sw $zero,0x188($sp)
/* f079f40: 8c4f0018 */ lw $t7,0x18($v0)
/* f079f44: afa00174 */ sw $zero,0x174($sp)
/* f079f48: afaf0184 */ sw $t7,0x184($sp)
/* f079f4c: 8058005e */ lb $t8,0x5e($v0)
/* f079f50: 53000347 */ beqzl $t8,.L0f07ac70
/* f079f54: 8fad0184 */ lw $t5,0x184($sp)
/* f079f58: 8c590008 */ lw $t9,0x8($v0)
/* f079f5c: 001940c0 */ sll $t0,$t9,0x3
/* f079f60: 05020343 */ bltzl $t0,.L0f07ac70
/* f079f64: 8fad0184 */ lw $t5,0x184($sp)
/* f079f68: 9049005f */ lbu $t1,0x5f($v0)
/* f079f6c: 24050005 */ addiu $a1,$zero,0x5
/* f079f70: 252b0001 */ addiu $t3,$t1,0x1
/* f079f74: a04b005f */ sb $t3,0x5f($v0)
/* f079f78: 8fae0184 */ lw $t6,0x184($sp)
/* f079f7c: 316c0001 */ andi $t4,$t3,0x1
/* f079f80: 2d8d0001 */ sltiu $t5,$t4,0x1
/* f079f84: afad018c */ sw $t5,0x18c($sp)
/* f079f88: 8dc40008 */ lw $a0,0x8($t6)
/* f079f8c: afa20194 */ sw $v0,0x194($sp)
/* f079f90: 0c006a47 */ jal modelGetPart
/* f079f94: afa20190 */ sw $v0,0x190($sp)
/* f079f98: 1040000b */ beqz $v0,.L0f079fc8
/* f079f9c: 8fa30190 */ lw $v1,0x190($sp)
/* f079fa0: 8faf0194 */ lw $t7,0x194($sp)
/* f079fa4: 91f8005f */ lbu $t8,0x5f($t7)
/* f079fa8: 07010004 */ bgez $t8,.L0f079fbc
/* f079fac: 33190001 */ andi $t9,$t8,0x1
/* f079fb0: 13200002 */ beqz $t9,.L0f079fbc
/* f079fb4: 00000000 */ nop
/* f079fb8: 2739fffe */ addiu $t9,$t9,-2
.L0f079fbc:
/* f079fbc: 3b280001 */ xori $t0,$t9,0x1
/* f079fc0: 2d080001 */ sltiu $t0,$t0,0x1
/* f079fc4: afa80188 */ sw $t0,0x188($sp)
.L0f079fc8:
/* f079fc8: 8fa9018c */ lw $t1,0x18c($sp)
/* f079fcc: 8faa0188 */ lw $t2,0x188($sp)
/* f079fd0: 55200004 */ bnezl $t1,.L0f079fe4
/* f079fd4: 8fab0194 */ lw $t3,0x194($sp)
/* f079fd8: 514002f0 */ beqzl $t2,.L0f07ab9c
/* f079fdc: 8fa80194 */ lw $t0,0x194($sp)
/* f079fe0: 8fab0194 */ lw $t3,0x194($sp)
.L0f079fe4:
/* f079fe4: afa00148 */ sw $zero,0x148($sp)
/* f079fe8: 3c188007 */ lui $t8,%hi(var80069cb8)
/* f079fec: 916c005f */ lbu $t4,0x5f($t3)
/* f079ff0: 8f189cb8 */ lw $t8,%lo(var80069cb8)($t8)
/* f079ff4: 3c09800a */ lui $t1,%hi(g_Vars+0x318)
/* f079ff8: 318d0003 */ andi $t5,$t4,0x3
/* f079ffc: 2dae0001 */ sltiu $t6,$t5,0x1
/* f07a000: afae0128 */ sw $t6,0x128($sp)
/* f07a004: 8d6f00a4 */ lw $t7,0xa4($t3)
/* f07a008: afa0011c */ sw $zero,0x11c($sp)
/* f07a00c: afa00114 */ sw $zero,0x114($sp)
/* f07a010: afa00110 */ sw $zero,0x110($sp)
/* f07a014: afb80118 */ sw $t8,0x118($sp)
/* f07a018: afaf0124 */ sw $t7,0x124($sp)
/* f07a01c: 8c640040 */ lw $a0,0x40($v1)
/* f07a020: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1)
/* f07a024: 3c01f000 */ lui $at,0xf000
/* f07a028: 0081c824 */ and $t9,$a0,$at
/* f07a02c: 11200007 */ beqz $t1,.L0f07a04c
/* f07a030: 00192702 */ srl $a0,$t9,0x1c
/* f07a034: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f07a038: 00000000 */ nop
/* f07a03c: 10400003 */ beqz $v0,.L0f07a04c
/* f07a040: afa20110 */ sw $v0,0x110($sp)
/* f07a044: 8c4a001c */ lw $t2,0x1c($v0)
/* f07a048: afaa0114 */ sw $t2,0x114($sp)
.L0f07a04c:
/* f07a04c: 8fac0194 */ lw $t4,0x194($sp)
/* f07a050: 918d005f */ lbu $t5,0x5f($t4)
/* f07a054: 31ae0007 */ andi $t6,$t5,0x7
/* f07a058: 55c00008 */ bnezl $t6,.L0f07a07c
/* f07a05c: 8faf0184 */ lw $t7,0x184($sp)
/* f07a060: 8fab0184 */ lw $t3,0x184($sp)
/* f07a064: 24050007 */ addiu $a1,$zero,0x7
/* f07a068: 0c006a47 */ jal modelGetPart
/* f07a06c: 8d640008 */ lw $a0,0x8($t3)
/* f07a070: 14400006 */ bnez $v0,.L0f07a08c
/* f07a074: 00403825 */ or $a3,$v0,$zero
/* f07a078: 8faf0184 */ lw $t7,0x184($sp)
.L0f07a07c:
/* f07a07c: 24050005 */ addiu $a1,$zero,0x5
/* f07a080: 0c006a47 */ jal modelGetPart
/* f07a084: 8de40008 */ lw $a0,0x8($t7)
/* f07a088: 00403825 */ or $a3,$v0,$zero
.L0f07a08c:
/* f07a08c: 54400009 */ bnezl $v0,.L0f07a0b4
/* f07a090: 8fa40198 */ lw $a0,0x198($sp)
/* f07a094: 8fb80184 */ lw $t8,0x184($sp)
/* f07a098: 24050003 */ addiu $a1,$zero,0x3
/* f07a09c: 8f040008 */ lw $a0,0x8($t8)
/* f07a0a0: 0c006a47 */ jal modelGetPart
/* f07a0a4: afa70120 */ sw $a3,0x120($sp)
/* f07a0a8: 8fa70120 */ lw $a3,0x120($sp)
/* f07a0ac: afa2011c */ sw $v0,0x11c($sp)
/* f07a0b0: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a0b4:
/* f07a0b4: 00002825 */ or $a1,$zero,$zero
/* f07a0b8: 0fc1905e */ jal propSetPerimEnabled
/* f07a0bc: afa70120 */ sw $a3,0x120($sp)
/* f07a0c0: 8fa20198 */ lw $v0,0x198($sp)
/* f07a0c4: 8fa70120 */ lw $a3,0x120($sp)
/* f07a0c8: 90590001 */ lbu $t9,0x1($v0)
/* f07a0cc: 33280002 */ andi $t0,$t9,0x2
/* f07a0d0: 51000042 */ beqzl $t0,.L0f07a1dc
/* f07a0d4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f07a0d8: 14e00003 */ bnez $a3,.L0f07a0e8
/* f07a0dc: 8fa9011c */ lw $t1,0x11c($sp)
/* f07a0e0: 5120003e */ beqzl $t1,.L0f07a1dc
/* f07a0e4: c44a0008 */ lwc1 $f10,0x8($v0)
.L0f07a0e8:
/* f07a0e8: 10e00010 */ beqz $a3,.L0f07a12c
/* f07a0ec: 8fa40184 */ lw $a0,0x184($sp)
/* f07a0f0: 8fa40184 */ lw $a0,0x184($sp)
/* f07a0f4: 00e02825 */ or $a1,$a3,$zero
/* f07a0f8: 00003025 */ or $a2,$zero,$zero
/* f07a0fc: 0c006973 */ jal model0001a5cc
/* f07a100: afa70120 */ sw $a3,0x120($sp)
/* f07a104: 8fa70120 */ lw $a3,0x120($sp)
/* f07a108: 00402825 */ or $a1,$v0,$zero
/* f07a10c: 8ce30004 */ lw $v1,0x4($a3)
/* f07a110: c4640000 */ lwc1 $f4,0x0($v1)
/* f07a114: e7a40168 */ swc1 $f4,0x168($sp)
/* f07a118: c4660004 */ lwc1 $f6,0x4($v1)
/* f07a11c: e7a6016c */ swc1 $f6,0x16c($sp)
/* f07a120: c4680008 */ lwc1 $f8,0x8($v1)
/* f07a124: 1000000b */ b .L0f07a154
/* f07a128: e7a80170 */ swc1 $f8,0x170($sp)
.L0f07a12c:
/* f07a12c: 8fa5011c */ lw $a1,0x11c($sp)
/* f07a130: 0c006973 */ jal model0001a5cc
/* f07a134: 00003025 */ or $a2,$zero,$zero
/* f07a138: 44805000 */ mtc1 $zero,$f10
/* f07a13c: 44808000 */ mtc1 $zero,$f16
/* f07a140: 44809000 */ mtc1 $zero,$f18
/* f07a144: 00402825 */ or $a1,$v0,$zero
/* f07a148: e7aa0168 */ swc1 $f10,0x168($sp)
/* f07a14c: e7b0016c */ swc1 $f16,0x16c($sp)
/* f07a150: e7b20170 */ swc1 $f18,0x170($sp)
.L0f07a154:
/* f07a154: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f07a158: afa50108 */ sw $a1,0x108($sp)
/* f07a15c: 8fa50108 */ lw $a1,0x108($sp)
/* f07a160: 00402025 */ or $a0,$v0,$zero
/* f07a164: 0c0056f9 */ jal mtx00015be4
/* f07a168: 27a600c8 */ addiu $a2,$sp,0xc8
/* f07a16c: 27a400c8 */ addiu $a0,$sp,0xc8
/* f07a170: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f07a174: 27a50168 */ addiu $a1,$sp,0x168
/* f07a178: 8fa20198 */ lw $v0,0x198($sp)
/* f07a17c: 240a0020 */ addiu $t2,$zero,0x20
/* f07a180: 240c0010 */ addiu $t4,$zero,0x10
/* f07a184: 24450028 */ addiu $a1,$v0,0x28
/* f07a188: afa5004c */ sw $a1,0x4c($sp)
/* f07a18c: afac0014 */ sw $t4,0x14($sp)
/* f07a190: afaa0010 */ sw $t2,0x10($sp)
/* f07a194: 27a60168 */ addiu $a2,$sp,0x168
/* f07a198: 27a70158 */ addiu $a3,$sp,0x158
/* f07a19c: 0c00b78d */ jal cd0002de34
/* f07a1a0: 24440008 */ addiu $a0,$v0,0x8
/* f07a1a4: 14400015 */ bnez $v0,.L0f07a1fc
/* f07a1a8: 8fad0198 */ lw $t5,0x198($sp)
/* f07a1ac: c5a40008 */ lwc1 $f4,0x8($t5)
/* f07a1b0: 8fa4004c */ lw $a0,0x4c($sp)
/* f07a1b4: 27a50158 */ addiu $a1,$sp,0x158
/* f07a1b8: e7a40168 */ swc1 $f4,0x168($sp)
/* f07a1bc: c5a6000c */ lwc1 $f6,0xc($t5)
/* f07a1c0: e7a6016c */ swc1 $f6,0x16c($sp)
/* f07a1c4: c5a80010 */ lwc1 $f8,0x10($t5)
/* f07a1c8: 0fc195e9 */ jal roomsCopy
/* f07a1cc: e7a80170 */ swc1 $f8,0x170($sp)
/* f07a1d0: 1000000b */ b .L0f07a200
/* f07a1d4: 8fae0194 */ lw $t6,0x194($sp)
/* f07a1d8: c44a0008 */ lwc1 $f10,0x8($v0)
.L0f07a1dc:
/* f07a1dc: 24440028 */ addiu $a0,$v0,0x28
/* f07a1e0: 27a50158 */ addiu $a1,$sp,0x158
/* f07a1e4: e7aa0168 */ swc1 $f10,0x168($sp)
/* f07a1e8: c450000c */ lwc1 $f16,0xc($v0)
/* f07a1ec: e7b0016c */ swc1 $f16,0x16c($sp)
/* f07a1f0: c4520010 */ lwc1 $f18,0x10($v0)
/* f07a1f4: 0fc195e9 */ jal roomsCopy
/* f07a1f8: e7b20170 */ swc1 $f18,0x170($sp)
.L0f07a1fc:
/* f07a1fc: 8fae0194 */ lw $t6,0x194($sp)
.L0f07a200:
/* f07a200: 0c0068f4 */ jal cosf
/* f07a204: c5cc0078 */ lwc1 $f12,0x78($t6)
/* f07a208: 8fab0194 */ lw $t3,0x194($sp)
/* f07a20c: e7a00050 */ swc1 $f0,0x50($sp)
/* f07a210: 0c0068f7 */ jal sinf
/* f07a214: c56c006c */ lwc1 $f12,0x6c($t3)
/* f07a218: c7a40050 */ lwc1 $f4,0x50($sp)
/* f07a21c: 8faf0194 */ lw $t7,0x194($sp)
/* f07a220: 46040182 */ mul.s $f6,$f0,$f4
/* f07a224: e7a6014c */ swc1 $f6,0x14c($sp)
/* f07a228: 0c0068f7 */ jal sinf
/* f07a22c: c5ec0078 */ lwc1 $f12,0x78($t7)
/* f07a230: 8fb80194 */ lw $t8,0x194($sp)
/* f07a234: e7a00150 */ swc1 $f0,0x150($sp)
/* f07a238: 0c0068f4 */ jal cosf
/* f07a23c: c70c0078 */ lwc1 $f12,0x78($t8)
/* f07a240: 8fb90194 */ lw $t9,0x194($sp)
/* f07a244: e7a00050 */ swc1 $f0,0x50($sp)
/* f07a248: 0c0068f4 */ jal cosf
/* f07a24c: c72c006c */ lwc1 $f12,0x6c($t9)
/* f07a250: c7a80050 */ lwc1 $f8,0x50($sp)
/* f07a254: 3c014780 */ lui $at,0x4780
/* f07a258: 44811000 */ mtc1 $at,$f2
/* f07a25c: 46080302 */ mul.s $f12,$f0,$f8
/* f07a260: c7aa014c */ lwc1 $f10,0x14c($sp)
/* f07a264: c7a60150 */ lwc1 $f6,0x150($sp)
/* f07a268: c7b20168 */ lwc1 $f18,0x168($sp)
/* f07a26c: 46025402 */ mul.s $f16,$f10,$f2
/* f07a270: c7aa016c */ lwc1 $f10,0x16c($sp)
/* f07a274: 3c03800a */ lui $v1,%hi(g_Vars)
/* f07a278: 46023202 */ mul.s $f8,$f6,$f2
/* f07a27c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f07a280: 8c680318 */ lw $t0,0x318($v1)
/* f07a284: e7ac0154 */ swc1 $f12,0x154($sp)
/* f07a288: 8fa20124 */ lw $v0,0x124($sp)
/* f07a28c: 46128100 */ add.s $f4,$f16,$f18
/* f07a290: 46026482 */ mul.s $f18,$f12,$f2
/* f07a294: 27a40168 */ addiu $a0,$sp,0x168
/* f07a298: 460a4400 */ add.s $f16,$f8,$f10
/* f07a29c: e7a4013c */ swc1 $f4,0x13c($sp)
/* f07a2a0: c7a40170 */ lwc1 $f4,0x170($sp)
/* f07a2a4: 27a50158 */ addiu $a1,$sp,0x158
/* f07a2a8: e7b00140 */ swc1 $f16,0x140($sp)
/* f07a2ac: 46049180 */ add.s $f6,$f18,$f4
/* f07a2b0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a2b4: 2407003f */ addiu $a3,$zero,0x3f
/* f07a2b8: 1500000f */ bnez $t0,.L0f07a2f8
/* f07a2bc: e7a60144 */ swc1 $f6,0x144($sp)
/* f07a2c0: 50400006 */ beqzl $v0,.L0f07a2dc
/* f07a2c4: 8c6a029c */ lw $t2,0x29c($v1)
/* f07a2c8: 90490000 */ lbu $t1,0x0($v0)
/* f07a2cc: 24010003 */ addiu $at,$zero,0x3
/* f07a2d0: 5121000a */ beql $t1,$at,.L0f07a2fc
/* f07a2d4: 240e0010 */ addiu $t6,$zero,0x10
/* f07a2d8: 8c6a029c */ lw $t2,0x29c($v1)
.L0f07a2dc:
/* f07a2dc: 0540007f */ bltz $t2,.L0f07a4dc
/* f07a2e0: 00000000 */ nop
/* f07a2e4: 1040007d */ beqz $v0,.L0f07a4dc
/* f07a2e8: 00000000 */ nop
/* f07a2ec: 8c6c02a8 */ lw $t4,0x2a8($v1)
/* f07a2f0: 8d8d00bc */ lw $t5,0xbc($t4)
/* f07a2f4: 144d0079 */ bne $v0,$t5,.L0f07a4dc
.L0f07a2f8:
/* f07a2f8: 240e0010 */ addiu $t6,$zero,0x10
.L0f07a2fc:
/* f07a2fc: 0c00b764 */ jal cdTestAToB4
/* f07a300: afae0010 */ sw $t6,0x10($sp)
/* f07a304: 14400151 */ bnez $v0,.L0f07a84c
/* f07a308: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a30c: 3c067f1b */ lui $a2,%hi(var7f1aa020)
/* f07a310: 24c6a020 */ addiu $a2,$a2,%lo(var7f1aa020)
/* f07a314: 0c0093af */ jal cdGetPos
/* f07a318: 24052cc2 */ addiu $a1,$zero,0x2cd8
/* f07a31c: 0c0093ac */ jal cdGetObstacle
/* f07a320: 00000000 */ nop
/* f07a324: 1040006a */ beqz $v0,.L0f07a4d0
/* f07a328: afa20178 */ sw $v0,0x178($sp)
/* f07a32c: 90430000 */ lbu $v1,0x0($v0)
/* f07a330: 24010003 */ addiu $at,$zero,0x3
/* f07a334: 3c0b800a */ lui $t3,%hi(g_Vars+0x318)
/* f07a338: 10610003 */ beq $v1,$at,.L0f07a348
/* f07a33c: 24010006 */ addiu $at,$zero,0x6
/* f07a340: 54610064 */ bnel $v1,$at,.L0f07a4d4
/* f07a344: 24080001 */ addiu $t0,$zero,0x1
.L0f07a348:
/* f07a348: 8d6ba2d8 */ lw $t3,%lo(g_Vars+0x318)($t3)
/* f07a34c: 8faf0124 */ lw $t7,0x124($sp)
/* f07a350: 2418ffff */ addiu $t8,$zero,-1
/* f07a354: 15600003 */ bnez $t3,.L0f07a364
/* f07a358: 241900c8 */ addiu $t9,$zero,0xc8
/* f07a35c: 55e2005d */ bnel $t7,$v0,.L0f07a4d4
/* f07a360: 24080001 */ addiu $t0,$zero,0x1
.L0f07a364:
/* f07a364: afa000c0 */ sw $zero,0xc0($sp)
/* f07a368: afa000bc */ sw $zero,0xbc($sp)
/* f07a36c: afb800b8 */ sw $t8,0xb8($sp)
/* f07a370: afb900b4 */ sw $t9,0xb4($sp)
/* f07a374: 0fc2c74a */ jal gsetGetDamage
/* f07a378: 27a40118 */ addiu $a0,$sp,0x118
/* f07a37c: 8fa80178 */ lw $t0,0x178($sp)
/* f07a380: 3c09800a */ lui $t1,%hi(g_Vars+0x318)
/* f07a384: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1)
/* f07a388: e7a000b0 */ swc1 $f0,0xb0($sp)
/* f07a38c: 8d040004 */ lw $a0,0x4($t0)
/* f07a390: 3c013f00 */ lui $at,0x3f00
/* f07a394: 11200005 */ beqz $t1,.L0f07a3ac
/* f07a398: afa400ac */ sw $a0,0xac($sp)
/* f07a39c: 44814000 */ mtc1 $at,$f8
/* f07a3a0: 00000000 */ nop
/* f07a3a4: 46080282 */ mul.s $f10,$f0,$f8
/* f07a3a8: e7aa00b0 */ swc1 $f10,0xb0($sp)
.L0f07a3ac:
/* f07a3ac: 8faa0114 */ lw $t2,0x114($sp)
/* f07a3b0: 8fac0178 */ lw $t4,0x178($sp)
/* f07a3b4: 8fad0110 */ lw $t5,0x110($sp)
/* f07a3b8: 514c0007 */ beql $t2,$t4,.L0f07a3d8
/* f07a3bc: 240e0001 */ addiu $t6,$zero,0x1
/* f07a3c0: 11a00009 */ beqz $t5,.L0f07a3e8
/* f07a3c4: 01a02825 */ or $a1,$t5,$zero
/* f07a3c8: 0fc12aa3 */ jal chrCompareTeams
/* f07a3cc: 24060001 */ addiu $a2,$zero,0x1
/* f07a3d0: 10400005 */ beqz $v0,.L0f07a3e8
/* f07a3d4: 240e0001 */ addiu $t6,$zero,0x1
.L0f07a3d8:
/* f07a3d8: afa00128 */ sw $zero,0x128($sp)
/* f07a3dc: afa0018c */ sw $zero,0x18c($sp)
/* f07a3e0: afa00188 */ sw $zero,0x188($sp)
/* f07a3e4: afae0174 */ sw $t6,0x174($sp)
.L0f07a3e8:
/* f07a3e8: 8fab018c */ lw $t3,0x18c($sp)
/* f07a3ec: 8faf0188 */ lw $t7,0x188($sp)
/* f07a3f0: 27a40118 */ addiu $a0,$sp,0x118
/* f07a3f4: 15600003 */ bnez $t3,.L0f07a404
/* f07a3f8: 8fa50178 */ lw $a1,0x178($sp)
/* f07a3fc: 51e00114 */ beqzl $t7,.L0f07a850
/* f07a400: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a404:
/* f07a404: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a408: 2406ffff */ addiu $a2,$zero,-1
/* f07a40c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a410: 8c980020 */ lw $t8,0x20($a0)
/* f07a414: 53000012 */ beqzl $t8,.L0f07a460
/* f07a418: 8fac0110 */ lw $t4,0x110($sp)
/* f07a41c: 0fc0cfe8 */ jal chrGetShield
/* f07a420: 00000000 */ nop
/* f07a424: 44808000 */ mtc1 $zero,$f16
/* f07a428: 8fa400ac */ lw $a0,0xac($sp)
/* f07a42c: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a430: 4600803c */ c.lt.s $f16,$f0
/* f07a434: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a438: 27a700c0 */ addiu $a3,$sp,0xc0
/* f07a43c: 27b900b4 */ addiu $t9,$sp,0xb4
/* f07a440: 45000006 */ bc1f .L0f07a45c
/* f07a444: 27a800bc */ addiu $t0,$sp,0xbc
/* f07a448: 27a900b8 */ addiu $t1,$sp,0xb8
/* f07a44c: afa90018 */ sw $t1,0x18($sp)
/* f07a450: afb90010 */ sw $t9,0x10($sp)
/* f07a454: 0fc0ffcb */ jal chrCalculateShieldHit
/* f07a458: afa80014 */ sw $t0,0x14($sp)
.L0f07a45c:
/* f07a45c: 8fac0110 */ lw $t4,0x110($sp)
.L0f07a460:
/* f07a460: 27aa014c */ addiu $t2,$sp,0x14c
/* f07a464: 8fa400ac */ lw $a0,0xac($sp)
/* f07a468: afaa0010 */ sw $t2,0x10($sp)
/* f07a46c: 8fa50178 */ lw $a1,0x178($sp)
/* f07a470: 8fa600b4 */ lw $a2,0xb4($sp)
/* f07a474: 27a7013c */ addiu $a3,$sp,0x13c
/* f07a478: 0fc097a9 */ jal chrEmitSparks
/* f07a47c: afac0014 */ sw $t4,0x14($sp)
/* f07a480: 8fad0114 */ lw $t5,0x114($sp)
/* f07a484: 8fab0178 */ lw $t3,0x178($sp)
/* f07a488: 8faf00c0 */ lw $t7,0xc0($sp)
/* f07a48c: 8fb800bc */ lw $t8,0xbc($sp)
/* f07a490: 8fb900b8 */ lw $t9,0xb8($sp)
/* f07a494: 240e00c8 */ addiu $t6,$zero,0xc8
/* f07a498: afae0014 */ sw $t6,0x14($sp)
/* f07a49c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a4a0: 8fa500b0 */ lw $a1,0xb0($sp)
/* f07a4a4: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a4a8: 27a70118 */ addiu $a3,$sp,0x118
/* f07a4ac: afa00028 */ sw $zero,0x28($sp)
/* f07a4b0: afad0010 */ sw $t5,0x10($sp)
/* f07a4b4: afab0018 */ sw $t3,0x18($sp)
/* f07a4b8: afaf001c */ sw $t7,0x1c($sp)
/* f07a4bc: afb80020 */ sw $t8,0x20($sp)
/* f07a4c0: 0fc0d077 */ jal func0f0341dc
/* f07a4c4: afb90024 */ sw $t9,0x24($sp)
/* f07a4c8: 100000e1 */ b .L0f07a850
/* f07a4cc: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a4d0:
/* f07a4d0: 24080001 */ addiu $t0,$zero,0x1
.L0f07a4d4:
/* f07a4d4: 100000dd */ b .L0f07a84c
/* f07a4d8: afa80148 */ sw $t0,0x148($sp)
.L0f07a4dc:
/* f07a4dc: 10400045 */ beqz $v0,.L0f07a5f4
/* f07a4e0: 27a40168 */ addiu $a0,$sp,0x168
/* f07a4e4: 90490000 */ lbu $t1,0x0($v0)
/* f07a4e8: 24010001 */ addiu $at,$zero,0x1
/* f07a4ec: 27a50158 */ addiu $a1,$sp,0x158
/* f07a4f0: 15210040 */ bne $t1,$at,.L0f07a5f4
/* f07a4f4: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a4f8: 240a0010 */ addiu $t2,$zero,0x10
/* f07a4fc: afa000a8 */ sw $zero,0xa8($sp)
/* f07a500: afaa0010 */ sw $t2,0x10($sp)
/* f07a504: 27a40168 */ addiu $a0,$sp,0x168
/* f07a508: 0c00b764 */ jal cdTestAToB4
/* f07a50c: 2407003b */ addiu $a3,$zero,0x3b
/* f07a510: 1440000a */ bnez $v0,.L0f07a53c
/* f07a514: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a518: 3c067f1b */ lui $a2,%hi(var7f1aa02c)
/* f07a51c: 24c6a02c */ addiu $a2,$a2,%lo(var7f1aa02c)
/* f07a520: 0c0093af */ jal cdGetPos
/* f07a524: 24052cf9 */ addiu $a1,$zero,0x2d0f
/* f07a528: 0c0093ac */ jal cdGetObstacle
/* f07a52c: 00000000 */ nop
/* f07a530: 240c0001 */ addiu $t4,$zero,0x1
/* f07a534: afac0148 */ sw $t4,0x148($sp)
/* f07a538: afa200a8 */ sw $v0,0xa8($sp)
.L0f07a53c:
/* f07a53c: 8fa300a8 */ lw $v1,0xa8($sp)
/* f07a540: 506000c3 */ beqzl $v1,.L0f07a850
/* f07a544: 8fa40198 */ lw $a0,0x198($sp)
/* f07a548: 906d0000 */ lbu $t5,0x0($v1)
/* f07a54c: 24010001 */ addiu $at,$zero,0x1
/* f07a550: 55a100bf */ bnel $t5,$at,.L0f07a850
/* f07a554: 8fa40198 */ lw $a0,0x198($sp)
/* f07a558: 8c640004 */ lw $a0,0x4($v1)
/* f07a55c: 2401014c */ addiu $at,$zero,0x14c
/* f07a560: 3c0b8007 */ lui $t3,%hi(var80069cbc)
/* f07a564: 848e0004 */ lh $t6,0x4($a0)
/* f07a568: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a56c: 24060000 */ addiu $a2,$zero,0x0
/* f07a570: 55c100b7 */ bnel $t6,$at,.L0f07a850
/* f07a574: 8fa40198 */ lw $a0,0x198($sp)
/* f07a578: 8d6b9cbc */ lw $t3,%lo(var80069cbc)($t3)
/* f07a57c: afa00148 */ sw $zero,0x148($sp)
/* f07a580: afa300a8 */ sw $v1,0xa8($sp)
/* f07a584: 0fc68330 */ jal frCalculateHit
/* f07a588: afab00a0 */ sw $t3,0xa0($sp)
/* f07a58c: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a590: 8fa40110 */ lw $a0,0x110($sp)
/* f07a594: 1040000b */ beqz $v0,.L0f07a5c4
/* f07a598: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a59c: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5a0: 240f0019 */ addiu $t7,$zero,0x19
/* f07a5a4: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a5a8: 84a40028 */ lh $a0,0x28($a1)
/* f07a5ac: afaf0014 */ sw $t7,0x14($sp)
/* f07a5b0: afa00010 */ sw $zero,0x10($sp)
/* f07a5b4: 0fc4be7c */ jal sparksCreate
/* f07a5b8: 00003825 */ or $a3,$zero,$zero
/* f07a5bc: 10000008 */ b .L0f07a5e0
/* f07a5c0: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5c4:
/* f07a5c4: 84a40028 */ lh $a0,0x28($a1)
/* f07a5c8: afa00014 */ sw $zero,0x14($sp)
/* f07a5cc: afa00010 */ sw $zero,0x10($sp)
/* f07a5d0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a5d4: 0fc4be7c */ jal sparksCreate
/* f07a5d8: 00003825 */ or $a3,$zero,$zero
/* f07a5dc: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5e0:
/* f07a5e0: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5e4: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a5e8: 240600f2 */ addiu $a2,$zero,0xf2
/* f07a5ec: 10000098 */ b .L0f07a850
/* f07a5f0: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a5f4:
/* f07a5f4: 24190010 */ addiu $t9,$zero,0x10
/* f07a5f8: afb90010 */ sw $t9,0x10($sp)
/* f07a5fc: 27a50158 */ addiu $a1,$sp,0x158
/* f07a600: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a604: 0c00b764 */ jal cdTestAToB4
/* f07a608: 24070022 */ addiu $a3,$zero,0x22
/* f07a60c: 14400007 */ bnez $v0,.L0f07a62c
/* f07a610: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a614: 3c067f1b */ lui $a2,%hi(var7f1aa038)
/* f07a618: 24c6a038 */ addiu $a2,$a2,%lo(var7f1aa038)
/* f07a61c: 0c0093af */ jal cdGetPos
/* f07a620: 24052d13 */ addiu $a1,$zero,0x2d29
/* f07a624: 24080001 */ addiu $t0,$zero,0x1
/* f07a628: afa80148 */ sw $t0,0x148($sp)
.L0f07a62c:
/* f07a62c: 8faa0194 */ lw $t2,0x194($sp)
/* f07a630: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f07a634: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f07a638: 8d4c0094 */ lw $t4,0x94($t2)
/* f07a63c: 8fa20124 */ lw $v0,0x124($sp)
/* f07a640: 552c0083 */ bnel $t1,$t4,.L0f07a850
/* f07a644: 8fa40198 */ lw $a0,0x198($sp)
/* f07a648: 50400081 */ beqzl $v0,.L0f07a850
/* f07a64c: 8fa40198 */ lw $a0,0x198($sp)
/* f07a650: 904d0000 */ lbu $t5,0x0($v0)
/* f07a654: 24010006 */ addiu $at,$zero,0x6
/* f07a658: c7a40168 */ lwc1 $f4,0x168($sp)
/* f07a65c: 55a1007c */ bnel $t5,$at,.L0f07a850
/* f07a660: 8fa40198 */ lw $a0,0x198($sp)
/* f07a664: c4520008 */ lwc1 $f18,0x8($v0)
/* f07a668: c446000c */ lwc1 $f6,0xc($v0)
/* f07a66c: c7a8016c */ lwc1 $f8,0x16c($sp)
/* f07a670: 46049001 */ sub.s $f0,$f18,$f4
/* f07a674: c44a0010 */ lwc1 $f10,0x10($v0)
/* f07a678: c7b00170 */ lwc1 $f16,0x170($sp)
/* f07a67c: 46083081 */ sub.s $f2,$f6,$f8
/* f07a680: 46000482 */ mul.s $f18,$f0,$f0
/* f07a684: 46105301 */ sub.s $f12,$f10,$f16
/* f07a688: 46021182 */ mul.s $f6,$f2,$f2
/* f07a68c: 46069280 */ add.s $f10,$f18,$f6
/* f07a690: 460c6482 */ mul.s $f18,$f12,$f12
/* f07a694: c7a6013c */ lwc1 $f6,0x13c($sp)
/* f07a698: 46043001 */ sub.s $f0,$f6,$f4
/* f07a69c: 46125380 */ add.s $f14,$f10,$f18
/* f07a6a0: c7aa0140 */ lwc1 $f10,0x140($sp)
/* f07a6a4: 46000182 */ mul.s $f6,$f0,$f0
/* f07a6a8: c7b20144 */ lwc1 $f18,0x144($sp)
/* f07a6ac: 46085081 */ sub.s $f2,$f10,$f8
/* f07a6b0: 46109301 */ sub.s $f12,$f18,$f16
/* f07a6b4: 46021102 */ mul.s $f4,$f2,$f2
/* f07a6b8: 46043280 */ add.s $f10,$f6,$f4
/* f07a6bc: 460c6202 */ mul.s $f8,$f12,$f12
/* f07a6c0: 46085480 */ add.s $f18,$f10,$f8
/* f07a6c4: 4612703e */ c.le.s $f14,$f18
/* f07a6c8: 00000000 */ nop
/* f07a6cc: 45020060 */ bc1fl .L0f07a850
/* f07a6d0: 8fa40198 */ lw $a0,0x198($sp)
/* f07a6d4: 0c012974 */ jal sqrtf
/* f07a6d8: 46007306 */ mov.s $f12,$f14
/* f07a6dc: 3c014348 */ lui $at,0x4348
/* f07a6e0: 44816000 */ mtc1 $at,$f12
/* f07a6e4: 3c017f1b */ lui $at,%hi(var7f1aa58c)
/* f07a6e8: c430a58c */ lwc1 $f16,%lo(var7f1aa58c)($at)
/* f07a6ec: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07a6f0: c426a00c */ lwc1 $f6,%lo(g_Vars+0x4c)($at)
/* f07a6f4: 3c018007 */ lui $at,%hi(var80069950)
/* f07a6f8: 4600603c */ c.lt.s $f12,$f0
/* f07a6fc: 46068102 */ mul.s $f4,$f16,$f6
/* f07a700: c42a9950 */ lwc1 $f10,%lo(var80069950)($at)
/* f07a704: 8fae0194 */ lw $t6,0x194($sp)
/* f07a708: 460a2082 */ mul.s $f2,$f4,$f10
/* f07a70c: 45020005 */ bc1fl .L0f07a724
/* f07a710: c5d200a0 */ lwc1 $f18,0xa0($t6)
/* f07a714: 46006203 */ div.s $f8,$f12,$f0
/* f07a718: 46081082 */ mul.s $f2,$f2,$f8
/* f07a71c: 00000000 */ nop
/* f07a720: c5d200a0 */ lwc1 $f18,0xa0($t6)
.L0f07a724:
/* f07a724: 3c013f80 */ lui $at,0x3f80
/* f07a728: 44813000 */ mtc1 $at,$f6
/* f07a72c: 46029400 */ add.s $f16,$f18,$f2
/* f07a730: 4610303e */ c.le.s $f6,$f16
/* f07a734: e5d000a0 */ swc1 $f16,0xa0($t6)
/* f07a738: 8fab0124 */ lw $t3,0x124($sp)
/* f07a73c: 45020044 */ bc1fl .L0f07a850
/* f07a740: 8fa40198 */ lw $a0,0x198($sp)
/* f07a744: c5640008 */ lwc1 $f4,0x8($t3)
/* f07a748: e7a4013c */ swc1 $f4,0x13c($sp)
/* f07a74c: c56a000c */ lwc1 $f10,0xc($t3)
/* f07a750: e7aa0140 */ swc1 $f10,0x140($sp)
/* f07a754: c5680010 */ lwc1 $f8,0x10($t3)
/* f07a758: afa00148 */ sw $zero,0x148($sp)
/* f07a75c: 0c004b70 */ jal random
/* f07a760: e7a80144 */ swc1 $f8,0x144($sp)
/* f07a764: 304f0001 */ andi $t7,$v0,0x1
/* f07a768: 11e00012 */ beqz $t7,.L0f07a7b4
/* f07a76c: 00000000 */ nop
/* f07a770: 0c004b70 */ jal random
/* f07a774: 00000000 */ nop
/* f07a778: 2401000a */ addiu $at,$zero,0xa
/* f07a77c: 0041001b */ divu $zero,$v0,$at
/* f07a780: 0000c010 */ mfhi $t8
/* f07a784: 27190002 */ addiu $t9,$t8,0x2
/* f07a788: 44998000 */ mtc1 $t9,$f16
/* f07a78c: c7b20140 */ lwc1 $f18,0x140($sp)
/* f07a790: 07210005 */ bgez $t9,.L0f07a7a8
/* f07a794: 468081a0 */ cvt.s.w $f6,$f16
/* f07a798: 3c014f80 */ lui $at,0x4f80
/* f07a79c: 44812000 */ mtc1 $at,$f4
/* f07a7a0: 00000000 */ nop
/* f07a7a4: 46043180 */ add.s $f6,$f6,$f4
.L0f07a7a8:
/* f07a7a8: 46069280 */ add.s $f10,$f18,$f6
/* f07a7ac: 10000011 */ b .L0f07a7f4
/* f07a7b0: e7aa0140 */ swc1 $f10,0x140($sp)
.L0f07a7b4:
/* f07a7b4: 0c004b70 */ jal random
/* f07a7b8: 00000000 */ nop
/* f07a7bc: 2401000a */ addiu $at,$zero,0xa
/* f07a7c0: 0041001b */ divu $zero,$v0,$at
/* f07a7c4: 00004010 */ mfhi $t0
/* f07a7c8: 250a0002 */ addiu $t2,$t0,0x2
/* f07a7cc: 448a8000 */ mtc1 $t2,$f16
/* f07a7d0: c7a80140 */ lwc1 $f8,0x140($sp)
/* f07a7d4: 05410005 */ bgez $t2,.L0f07a7ec
/* f07a7d8: 46808120 */ cvt.s.w $f4,$f16
/* f07a7dc: 3c014f80 */ lui $at,0x4f80
/* f07a7e0: 44819000 */ mtc1 $at,$f18
/* f07a7e4: 00000000 */ nop
/* f07a7e8: 46122100 */ add.s $f4,$f4,$f18
.L0f07a7ec:
/* f07a7ec: 46044181 */ sub.s $f6,$f8,$f4
/* f07a7f0: e7a60140 */ swc1 $f6,0x140($sp)
.L0f07a7f4:
/* f07a7f4: 27a40118 */ addiu $a0,$sp,0x118
/* f07a7f8: 8fa50124 */ lw $a1,0x124($sp)
/* f07a7fc: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a800: 2406ffff */ addiu $a2,$zero,-1
/* f07a804: 3c013f00 */ lui $at,0x3f00
/* f07a808: 44815000 */ mtc1 $at,$f10
/* f07a80c: 3c018007 */ lui $at,%hi(var80069954)
/* f07a810: c4309954 */ lwc1 $f16,%lo(var80069954)($at)
/* f07a814: 8fa90124 */ lw $t1,0x124($sp)
/* f07a818: 240c00c8 */ addiu $t4,$zero,0xc8
/* f07a81c: 46105002 */ mul.s $f0,$f10,$f16
/* f07a820: 8d240004 */ lw $a0,0x4($t1)
/* f07a824: afac0014 */ sw $t4,0x14($sp)
/* f07a828: afa00010 */ sw $zero,0x10($sp)
/* f07a82c: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a830: 27a70118 */ addiu $a3,$sp,0x118
/* f07a834: 44050000 */ mfc1 $a1,$f0
/* f07a838: 0fc0d0cc */ jal chrDamageByImpact
/* f07a83c: 00000000 */ nop
/* f07a840: 44809000 */ mtc1 $zero,$f18
/* f07a844: 8fad0194 */ lw $t5,0x194($sp)
/* f07a848: e5b200a0 */ swc1 $f18,0xa0($t5)
.L0f07a84c:
/* f07a84c: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a850:
/* f07a850: 0fc1905e */ jal propSetPerimEnabled
/* f07a854: 24050001 */ addiu $a1,$zero,0x1
/* f07a858: 8fae018c */ lw $t6,0x18c($sp)
/* f07a85c: 8fab0188 */ lw $t3,0x188($sp)
/* f07a860: 8faf0194 */ lw $t7,0x194($sp)
/* f07a864: 15c00003 */ bnez $t6,.L0f07a874
/* f07a868: 27a40168 */ addiu $a0,$sp,0x168
/* f07a86c: 51600009 */ beqzl $t3,.L0f07a894
/* f07a870: 8fb90148 */ lw $t9,0x148($sp)
.L0f07a874:
/* f07a874: 91e200a9 */ lbu $v0,0xa9($t7)
/* f07a878: 240100ff */ addiu $at,$zero,0xff
/* f07a87c: 58400005 */ blezl $v0,.L0f07a894
/* f07a880: 8fb90148 */ lw $t9,0x148($sp)
/* f07a884: 10410002 */ beq $v0,$at,.L0f07a890
/* f07a888: 2458ffff */ addiu $t8,$v0,-1
/* f07a88c: a1f800a9 */ sb $t8,0xa9($t7)
.L0f07a890:
/* f07a890: 8fb90148 */ lw $t9,0x148($sp)
.L0f07a894:
/* f07a894: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a898: 27a60158 */ addiu $a2,$sp,0x158
/* f07a89c: 13200024 */ beqz $t9,.L0f07a930
/* f07a8a0: 27a7012c */ addiu $a3,$sp,0x12c
/* f07a8a4: afa00010 */ sw $zero,0x10($sp)
/* f07a8a8: 0c006052 */ jal func00018148
/* f07a8ac: afa00014 */ sw $zero,0x14($sp)
/* f07a8b0: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a8b4: 8fa40110 */ lw $a0,0x110($sp)
/* f07a8b8: 1040000b */ beqz $v0,.L0f07a8e8
/* f07a8bc: 8faa0194 */ lw $t2,0x194($sp)
/* f07a8c0: 24080019 */ addiu $t0,$zero,0x19
/* f07a8c4: afa80014 */ sw $t0,0x14($sp)
/* f07a8c8: 87a4012c */ lh $a0,0x12c($sp)
/* f07a8cc: 00002825 */ or $a1,$zero,$zero
/* f07a8d0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a8d4: 00003825 */ or $a3,$zero,$zero
/* f07a8d8: 0fc4be7c */ jal sparksCreate
/* f07a8dc: afa00010 */ sw $zero,0x10($sp)
/* f07a8e0: 1000000f */ b .L0f07a920
/* f07a8e4: 27a40118 */ addiu $a0,$sp,0x118
.L0f07a8e8:
/* f07a8e8: 85490004 */ lh $t1,0x4($t2)
/* f07a8ec: 24010144 */ addiu $at,$zero,0x144
/* f07a8f0: 87a4012c */ lh $a0,0x12c($sp)
/* f07a8f4: 15210003 */ bne $t1,$at,.L0f07a904
/* f07a8f8: 00002825 */ or $a1,$zero,$zero
/* f07a8fc: 10000002 */ b .L0f07a908
/* f07a900: 24020017 */ addiu $v0,$zero,0x17
.L0f07a904:
/* f07a904: 00001025 */ or $v0,$zero,$zero
.L0f07a908:
/* f07a908: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a90c: 00003825 */ or $a3,$zero,$zero
/* f07a910: afa00010 */ sw $zero,0x10($sp)
/* f07a914: 0fc4be7c */ jal sparksCreate
/* f07a918: afa20014 */ sw $v0,0x14($sp)
/* f07a91c: 27a40118 */ addiu $a0,$sp,0x118
.L0f07a920:
/* f07a920: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a924: 2406ffff */ addiu $a2,$zero,-1
/* f07a928: 0fc2a132 */ jal bgunPlayBgHitSound
/* f07a92c: 27a7012c */ addiu $a3,$sp,0x12c
.L0f07a930:
/* f07a930: 8fac0128 */ lw $t4,0x128($sp)
/* f07a934: c7a8013c */ lwc1 $f8,0x13c($sp)
/* f07a938: c7a40168 */ lwc1 $f4,0x168($sp)
/* f07a93c: 51800097 */ beqzl $t4,.L0f07ab9c
/* f07a940: 8fa80194 */ lw $t0,0x194($sp)
/* f07a944: 46044181 */ sub.s $f6,$f8,$f4
/* f07a948: c7aa0140 */ lwc1 $f10,0x140($sp)
/* f07a94c: c7b0016c */ lwc1 $f16,0x16c($sp)
/* f07a950: c7a40170 */ lwc1 $f4,0x170($sp)
/* f07a954: c7a80144 */ lwc1 $f8,0x144($sp)
/* f07a958: 46105481 */ sub.s $f18,$f10,$f16
/* f07a95c: 8fad0194 */ lw $t5,0x194($sp)
/* f07a960: 46063402 */ mul.s $f16,$f6,$f6
/* f07a964: 46044281 */ sub.s $f10,$f8,$f4
/* f07a968: 8da3009c */ lw $v1,0x9c($t5)
/* f07a96c: 46129202 */ mul.s $f8,$f18,$f18
/* f07a970: e7a60068 */ swc1 $f6,0x68($sp)
/* f07a974: e7aa0070 */ swc1 $f10,0x70($sp)
/* f07a978: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f07a97c: c7a60070 */ lwc1 $f6,0x70($sp)
/* f07a980: e7b2006c */ swc1 $f18,0x6c($sp)
/* f07a984: afa30078 */ sw $v1,0x78($sp)
/* f07a988: 46065482 */ mul.s $f18,$f10,$f6
/* f07a98c: 46088100 */ add.s $f4,$f16,$f8
/* f07a990: 0c012974 */ jal sqrtf
/* f07a994: 46049300 */ add.s $f12,$f18,$f4
/* f07a998: 44808000 */ mtc1 $zero,$f16
/* f07a99c: 8fa30078 */ lw $v1,0x78($sp)
/* f07a9a0: 46000306 */ mov.s $f12,$f0
/* f07a9a4: 4600803c */ c.lt.s $f16,$f0
/* f07a9a8: 3c017f1b */ lui $at,%hi(var7f1aa590)
/* f07a9ac: c7a80168 */ lwc1 $f8,0x168($sp)
/* f07a9b0: 4502007a */ bc1fl .L0f07ab9c
/* f07a9b4: 8fa80194 */ lw $t0,0x194($sp)
/* f07a9b8: c42ea590 */ lwc1 $f14,%lo(var7f1aa590)($at)
/* f07a9bc: e4680004 */ swc1 $f8,0x4($v1)
/* f07a9c0: 3c013f80 */ lui $at,0x3f80
/* f07a9c4: 44814000 */ mtc1 $at,$f8
/* f07a9c8: c7aa016c */ lwc1 $f10,0x16c($sp)
/* f07a9cc: 4600703c */ c.lt.s $f14,$f0
/* f07a9d0: 240f002b */ addiu $t7,$zero,0x2b
/* f07a9d4: 46004083 */ div.s $f2,$f8,$f0
/* f07a9d8: e46a0008 */ swc1 $f10,0x8($v1)
/* f07a9dc: c7a60170 */ lwc1 $f6,0x170($sp)
/* f07a9e0: 2418000c */ addiu $t8,$zero,0xc
/* f07a9e4: e466000c */ swc1 $f6,0xc($v1)
/* f07a9e8: c7b20068 */ lwc1 $f18,0x68($sp)
/* f07a9ec: e4720010 */ swc1 $f18,0x10($v1)
/* f07a9f0: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f07a9f4: c46a0010 */ lwc1 $f10,0x10($v1)
/* f07a9f8: e4640014 */ swc1 $f4,0x14($v1)
/* f07a9fc: c7b00070 */ lwc1 $f16,0x70($sp)
/* f07aa00: c4720014 */ lwc1 $f18,0x14($v1)
/* f07aa04: e4700018 */ swc1 $f16,0x18($v1)
/* f07aa08: c4700018 */ lwc1 $f16,0x18($v1)
/* f07aa0c: 46025182 */ mul.s $f6,$f10,$f2
/* f07aa10: 00000000 */ nop
/* f07aa14: 46029102 */ mul.s $f4,$f18,$f2
/* f07aa18: 00000000 */ nop
/* f07aa1c: 46028202 */ mul.s $f8,$f16,$f2
/* f07aa20: e4660010 */ swc1 $f6,0x10($v1)
/* f07aa24: e4640014 */ swc1 $f4,0x14($v1)
/* f07aa28: 45000002 */ bc1f .L0f07aa34
/* f07aa2c: e4680018 */ swc1 $f8,0x18($v1)
/* f07aa30: 46007306 */ mov.s $f12,$f14
.L0f07aa34:
/* f07aa34: a0600000 */ sb $zero,0x0($v1)
/* f07aa38: 8fae0194 */ lw $t6,0x194($sp)
/* f07aa3c: 24010144 */ addiu $at,$zero,0x144
/* f07aa40: 85cb0004 */ lh $t3,0x4($t6)
/* f07aa44: 55610004 */ bnel $t3,$at,.L0f07aa58
/* f07aa48: a06f0001 */ sb $t7,0x1($v1)
/* f07aa4c: 10000002 */ b .L0f07aa58
/* f07aa50: a0780001 */ sb $t8,0x1($v1)
/* f07aa54: a06f0001 */ sb $t7,0x1($v1)
.L0f07aa58:
/* f07aa58: 3c0143fa */ lui $at,0x43fa
/* f07aa5c: 44810000 */ mtc1 $at,$f0
/* f07aa60: e46c001c */ swc1 $f12,0x1c($v1)
/* f07aa64: 4600603c */ c.lt.s $f12,$f0
/* f07aa68: 00000000 */ nop
/* f07aa6c: 45020003 */ bc1fl .L0f07aa7c
/* f07aa70: 80790001 */ lb $t9,0x1($v1)
/* f07aa74: 46000306 */ mov.s $f12,$f0
/* f07aa78: 80790001 */ lb $t9,0x1($v1)
.L0f07aa7c:
/* f07aa7c: 2401001d */ addiu $at,$zero,0x1d
/* f07aa80: 17210026 */ bne $t9,$at,.L0f07ab1c
/* f07aa84: 3c017f1b */ lui $at,%hi(var7f1aa594)
/* f07aa88: c422a594 */ lwc1 $f2,%lo(var7f1aa594)($at)
/* f07aa8c: 3c013e80 */ lui $at,0x3e80
/* f07aa90: 44815000 */ mtc1 $at,$f10
/* f07aa94: 3c017f1b */ lui $at,%hi(var7f1aa598)
/* f07aa98: 460c5182 */ mul.s $f6,$f10,$f12
/* f07aa9c: e4660020 */ swc1 $f6,0x20($v1)
/* f07aaa0: c432a598 */ lwc1 $f18,%lo(var7f1aa598)($at)
/* f07aaa4: 460c9002 */ mul.s $f0,$f18,$f12
/* f07aaa8: 4600103c */ c.lt.s $f2,$f0
/* f07aaac: e4600024 */ swc1 $f0,0x24($v1)
/* f07aab0: 45020003 */ bc1fl .L0f07aac0
/* f07aab4: afa30078 */ sw $v1,0x78($sp)
/* f07aab8: e4620024 */ swc1 $f2,0x24($v1)
/* f07aabc: afa30078 */ sw $v1,0x78($sp)
.L0f07aac0:
/* f07aac0: 0c004b70 */ jal random
/* f07aac4: e7ac007c */ swc1 $f12,0x7c($sp)
/* f07aac8: 44822000 */ mtc1 $v0,$f4
/* f07aacc: 8fa30078 */ lw $v1,0x78($sp)
/* f07aad0: c7ac007c */ lwc1 $f12,0x7c($sp)
/* f07aad4: 04410005 */ bgez $v0,.L0f07aaec
/* f07aad8: 46802420 */ cvt.s.w $f16,$f4
/* f07aadc: 3c014f80 */ lui $at,0x4f80
/* f07aae0: 44814000 */ mtc1 $at,$f8
/* f07aae4: 00000000 */ nop
/* f07aae8: 46088400 */ add.s $f16,$f16,$f8
.L0f07aaec:
/* f07aaec: 3c012f80 */ lui $at,0x2f80
/* f07aaf0: 44815000 */ mtc1 $at,$f10
/* f07aaf4: 3c017f1b */ lui $at,%hi(var7f1aa59c)
/* f07aaf8: c432a59c */ lwc1 $f18,%lo(var7f1aa59c)($at)
/* f07aafc: 460a8182 */ mul.s $f6,$f16,$f10
/* f07ab00: 3c017f1b */ lui $at,%hi(var7f1aa5a0)
/* f07ab04: c428a5a0 */ lwc1 $f8,%lo(var7f1aa5a0)($at)
/* f07ab08: 46123102 */ mul.s $f4,$f6,$f18
/* f07ab0c: 46044401 */ sub.s $f16,$f8,$f4
/* f07ab10: 460c8282 */ mul.s $f10,$f16,$f12
/* f07ab14: 10000020 */ b .L0f07ab98
/* f07ab18: e46a0028 */ swc1 $f10,0x28($v1)
.L0f07ab1c:
/* f07ab1c: 3c017f1b */ lui $at,%hi(var7f1aa5a4)
/* f07ab20: c422a5a4 */ lwc1 $f2,%lo(var7f1aa5a4)($at)
/* f07ab24: 3c017f1b */ lui $at,%hi(var7f1aa5a8)
/* f07ab28: c426a5a8 */ lwc1 $f6,%lo(var7f1aa5a8)($at)
/* f07ab2c: 460c3002 */ mul.s $f0,$f6,$f12
/* f07ab30: 4600103c */ c.lt.s $f2,$f0
/* f07ab34: e4600020 */ swc1 $f0,0x20($v1)
/* f07ab38: e4600024 */ swc1 $f0,0x24($v1)
/* f07ab3c: 45000002 */ bc1f .L0f07ab48
/* f07ab40: 00000000 */ nop
/* f07ab44: e4620024 */ swc1 $f2,0x24($v1)
.L0f07ab48:
/* f07ab48: 0c004b70 */ jal random
/* f07ab4c: afa30078 */ sw $v1,0x78($sp)
/* f07ab50: 44829000 */ mtc1 $v0,$f18
/* f07ab54: 8fa30078 */ lw $v1,0x78($sp)
/* f07ab58: 04410005 */ bgez $v0,.L0f07ab70
/* f07ab5c: 46809220 */ cvt.s.w $f8,$f18
/* f07ab60: 3c014f80 */ lui $at,0x4f80
/* f07ab64: 44812000 */ mtc1 $at,$f4
/* f07ab68: 00000000 */ nop
/* f07ab6c: 46044200 */ add.s $f8,$f8,$f4
.L0f07ab70:
/* f07ab70: 3c012f80 */ lui $at,0x2f80
/* f07ab74: 44818000 */ mtc1 $at,$f16
/* f07ab78: 3c013f80 */ lui $at,0x3f80
/* f07ab7c: 44813000 */ mtc1 $at,$f6
/* f07ab80: 46104002 */ mul.s $f0,$f8,$f16
/* f07ab84: c4640020 */ lwc1 $f4,0x20($v1)
/* f07ab88: 46000280 */ add.s $f10,$f0,$f0
/* f07ab8c: 46065481 */ sub.s $f18,$f10,$f6
/* f07ab90: 46049202 */ mul.s $f8,$f18,$f4
/* f07ab94: e4680028 */ swc1 $f8,0x28($v1)
.L0f07ab98:
/* f07ab98: 8fa80194 */ lw $t0,0x194($sp)
.L0f07ab9c:
/* f07ab9c: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f07aba0: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f07aba4: 8d0a0098 */ lw $t2,0x98($t0)
/* f07aba8: 240c0002 */ addiu $t4,$zero,0x2
/* f07abac: 24050001 */ addiu $a1,$zero,0x1
/* f07abb0: 0149082a */ slt $at,$t2,$t1
/* f07abb4: 1020002d */ beqz $at,.L0f07ac6c
/* f07abb8: 3406ffff */ dli $a2,0xffff
/* f07abbc: afac0064 */ sw $t4,0x64($sp)
/* f07abc0: 0fc249af */ jal func0f0926bc
/* f07abc4: 8fa40198 */ lw $a0,0x198($sp)
/* f07abc8: 8fad0174 */ lw $t5,0x174($sp)
/* f07abcc: 8fae0194 */ lw $t6,0x194($sp)
/* f07abd0: 00002025 */ or $a0,$zero,$zero
/* f07abd4: 15a0001f */ bnez $t5,.L0f07ac54
/* f07abd8: 2407ffff */ addiu $a3,$zero,-1
/* f07abdc: 85c30004 */ lh $v1,0x4($t6)
/* f07abe0: 24010144 */ addiu $at,$zero,0x144
/* f07abe4: 3402806f */ dli $v0,0x806f
/* f07abe8: 14610002 */ bne $v1,$at,.L0f07abf4
/* f07abec: 240fffff */ addiu $t7,$zero,-1
/* f07abf0: 34028040 */ dli $v0,0x8040
.L0f07abf4:
/* f07abf4: 24010157 */ addiu $at,$zero,0x157
/* f07abf8: 14610004 */ bne $v1,$at,.L0f07ac0c
/* f07abfc: 2419ffff */ addiu $t9,$zero,-1
/* f07ac00: 240b0004 */ addiu $t3,$zero,0x4
/* f07ac04: 34028044 */ dli $v0,0x8044
/* f07ac08: afab0064 */ sw $t3,0x64($sp)
.L0f07ac0c:
/* f07ac0c: 3c01bf80 */ lui $at,0xbf80
/* f07ac10: 44810000 */ mtc1 $at,$f0
/* f07ac14: 00023400 */ sll $a2,$v0,0x10
/* f07ac18: 0006c403 */ sra $t8,$a2,0x10
/* f07ac1c: 03003025 */ or $a2,$t8,$zero
/* f07ac20: 8fa50198 */ lw $a1,0x198($sp)
/* f07ac24: afaf0010 */ sw $t7,0x10($sp)
/* f07ac28: afa00014 */ sw $zero,0x14($sp)
/* f07ac2c: afa00018 */ sw $zero,0x18($sp)
/* f07ac30: afa0001c */ sw $zero,0x1c($sp)
/* f07ac34: afa00020 */ sw $zero,0x20($sp)
/* f07ac38: afa00028 */ sw $zero,0x28($sp)
/* f07ac3c: afb9002c */ sw $t9,0x2c($sp)
/* f07ac40: e7a00024 */ swc1 $f0,0x24($sp)
/* f07ac44: e7a00030 */ swc1 $f0,0x30($sp)
/* f07ac48: e7a00034 */ swc1 $f0,0x34($sp)
/* f07ac4c: 0fc24e7e */ jal func0f0939f8
/* f07ac50: e7a00038 */ swc1 $f0,0x38($sp)
.L0f07ac54:
/* f07ac54: 3c0a800a */ lui $t2,%hi(g_Vars+0x8)
/* f07ac58: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2)
/* f07ac5c: 8fa80064 */ lw $t0,0x64($sp)
/* f07ac60: 8fac0194 */ lw $t4,0x194($sp)
/* f07ac64: 010a4821 */ addu $t1,$t0,$t2
/* f07ac68: ad890098 */ sw $t1,0x98($t4)
.L0f07ac6c:
/* f07ac6c: 8fad0184 */ lw $t5,0x184($sp)
.L0f07ac70:
/* f07ac70: 24050005 */ addiu $a1,$zero,0x5
/* f07ac74: 0c006a47 */ jal modelGetPart
/* f07ac78: 8da40008 */ lw $a0,0x8($t5)
/* f07ac7c: 10400005 */ beqz $v0,.L0f07ac94
/* f07ac80: 00402825 */ or $a1,$v0,$zero
/* f07ac84: 0c006a87 */ jal modelGetNodeRwData
/* f07ac88: 8fa40184 */ lw $a0,0x184($sp)
/* f07ac8c: 8fae018c */ lw $t6,0x18c($sp)
/* f07ac90: a44e0000 */ sh $t6,0x0($v0)
.L0f07ac94:
/* f07ac94: 8fab0184 */ lw $t3,0x184($sp)
/* f07ac98: 24050007 */ addiu $a1,$zero,0x7
/* f07ac9c: 0c006a47 */ jal modelGetPart
/* f07aca0: 8d640008 */ lw $a0,0x8($t3)
/* f07aca4: 10400005 */ beqz $v0,.L0f07acbc
/* f07aca8: 00402825 */ or $a1,$v0,$zero
/* f07acac: 0c006a87 */ jal modelGetNodeRwData
/* f07acb0: 8fa40184 */ lw $a0,0x184($sp)
/* f07acb4: 8fb80188 */ lw $t8,0x188($sp)
/* f07acb8: a4580000 */ sh $t8,0x0($v0)
.L0f07acbc:
/* f07acbc: 8fbf0044 */ lw $ra,0x44($sp)
/* f07acc0: 27bd0198 */ addiu $sp,$sp,0x198
/* f07acc4: 03e00008 */ jr $ra
/* f07acc8: 00000000 */ nop
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f079f1c
.late_rodata
glabel var7f1aa58c
.word 0x3e23d70a
glabel var7f1aa590
.word 0x461c4000
glabel var7f1aa594
.word 0x453b8000
glabel var7f1aa598
.word 0x3f19999a
glabel var7f1aa59c
.word 0x3e99999a
glabel var7f1aa5a0
.word 0xbdcccccd
glabel var7f1aa5a4
.word 0x453b8000
glabel var7f1aa5a8
.word 0x3e4ccccd
.text
/* f079f1c: 27bdfe68 */ addiu $sp,$sp,-408
/* f079f20: afbf0044 */ sw $ra,0x44($sp)
/* f079f24: 0fc5b364 */ jal lvIsPaused
/* f079f28: afa40198 */ sw $a0,0x198($sp)
/* f079f2c: 14400363 */ bnez $v0,.L0f07acbc
/* f079f30: 8fae0198 */ lw $t6,0x198($sp)
/* f079f34: 8dc20004 */ lw $v0,0x4($t6)
/* f079f38: afa0018c */ sw $zero,0x18c($sp)
/* f079f3c: afa00188 */ sw $zero,0x188($sp)
/* f079f40: 8c4f0018 */ lw $t7,0x18($v0)
/* f079f44: afa00174 */ sw $zero,0x174($sp)
/* f079f48: afaf0184 */ sw $t7,0x184($sp)
/* f079f4c: 8058005e */ lb $t8,0x5e($v0)
/* f079f50: 53000347 */ beqzl $t8,.L0f07ac70
/* f079f54: 8fad0184 */ lw $t5,0x184($sp)
/* f079f58: 8c590008 */ lw $t9,0x8($v0)
/* f079f5c: 001940c0 */ sll $t0,$t9,0x3
/* f079f60: 05020343 */ bltzl $t0,.L0f07ac70
/* f079f64: 8fad0184 */ lw $t5,0x184($sp)
/* f079f68: 9049005f */ lbu $t1,0x5f($v0)
/* f079f6c: 24050005 */ addiu $a1,$zero,0x5
/* f079f70: 252b0001 */ addiu $t3,$t1,0x1
/* f079f74: a04b005f */ sb $t3,0x5f($v0)
/* f079f78: 8fae0184 */ lw $t6,0x184($sp)
/* f079f7c: 316c0001 */ andi $t4,$t3,0x1
/* f079f80: 2d8d0001 */ sltiu $t5,$t4,0x1
/* f079f84: afad018c */ sw $t5,0x18c($sp)
/* f079f88: 8dc40008 */ lw $a0,0x8($t6)
/* f079f8c: afa20194 */ sw $v0,0x194($sp)
/* f079f90: 0c006a47 */ jal modelGetPart
/* f079f94: afa20190 */ sw $v0,0x190($sp)
/* f079f98: 1040000b */ beqz $v0,.L0f079fc8
/* f079f9c: 8fa30190 */ lw $v1,0x190($sp)
/* f079fa0: 8faf0194 */ lw $t7,0x194($sp)
/* f079fa4: 91f8005f */ lbu $t8,0x5f($t7)
/* f079fa8: 07010004 */ bgez $t8,.L0f079fbc
/* f079fac: 33190001 */ andi $t9,$t8,0x1
/* f079fb0: 13200002 */ beqz $t9,.L0f079fbc
/* f079fb4: 00000000 */ nop
/* f079fb8: 2739fffe */ addiu $t9,$t9,-2
.L0f079fbc:
/* f079fbc: 3b280001 */ xori $t0,$t9,0x1
/* f079fc0: 2d080001 */ sltiu $t0,$t0,0x1
/* f079fc4: afa80188 */ sw $t0,0x188($sp)
.L0f079fc8:
/* f079fc8: 8fa9018c */ lw $t1,0x18c($sp)
/* f079fcc: 8faa0188 */ lw $t2,0x188($sp)
/* f079fd0: 55200004 */ bnezl $t1,.L0f079fe4
/* f079fd4: 8fab0194 */ lw $t3,0x194($sp)
/* f079fd8: 514002f0 */ beqzl $t2,.L0f07ab9c
/* f079fdc: 8fa80194 */ lw $t0,0x194($sp)
/* f079fe0: 8fab0194 */ lw $t3,0x194($sp)
.L0f079fe4:
/* f079fe4: afa00148 */ sw $zero,0x148($sp)
/* f079fe8: 3c188007 */ lui $t8,%hi(var80069cb8)
/* f079fec: 916c005f */ lbu $t4,0x5f($t3)
/* f079ff0: 8f189cb8 */ lw $t8,%lo(var80069cb8)($t8)
/* f079ff4: 3c09800a */ lui $t1,%hi(g_Vars+0x318)
/* f079ff8: 318d0003 */ andi $t5,$t4,0x3
/* f079ffc: 2dae0001 */ sltiu $t6,$t5,0x1
/* f07a000: afae0128 */ sw $t6,0x128($sp)
/* f07a004: 8d6f00a4 */ lw $t7,0xa4($t3)
/* f07a008: afa0011c */ sw $zero,0x11c($sp)
/* f07a00c: afa00114 */ sw $zero,0x114($sp)
/* f07a010: afa00110 */ sw $zero,0x110($sp)
/* f07a014: afb80118 */ sw $t8,0x118($sp)
/* f07a018: afaf0124 */ sw $t7,0x124($sp)
/* f07a01c: 8c640040 */ lw $a0,0x40($v1)
/* f07a020: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1)
/* f07a024: 3c01f000 */ lui $at,0xf000
/* f07a028: 0081c824 */ and $t9,$a0,$at
/* f07a02c: 11200007 */ beqz $t1,.L0f07a04c
/* f07a030: 00192702 */ srl $a0,$t9,0x1c
/* f07a034: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f07a038: 00000000 */ nop
/* f07a03c: 10400003 */ beqz $v0,.L0f07a04c
/* f07a040: afa20110 */ sw $v0,0x110($sp)
/* f07a044: 8c4a001c */ lw $t2,0x1c($v0)
/* f07a048: afaa0114 */ sw $t2,0x114($sp)
.L0f07a04c:
/* f07a04c: 8fac0194 */ lw $t4,0x194($sp)
/* f07a050: 918d005f */ lbu $t5,0x5f($t4)
/* f07a054: 31ae0007 */ andi $t6,$t5,0x7
/* f07a058: 55c00008 */ bnezl $t6,.L0f07a07c
/* f07a05c: 8faf0184 */ lw $t7,0x184($sp)
/* f07a060: 8fab0184 */ lw $t3,0x184($sp)
/* f07a064: 24050007 */ addiu $a1,$zero,0x7
/* f07a068: 0c006a47 */ jal modelGetPart
/* f07a06c: 8d640008 */ lw $a0,0x8($t3)
/* f07a070: 14400006 */ bnez $v0,.L0f07a08c
/* f07a074: 00403825 */ or $a3,$v0,$zero
/* f07a078: 8faf0184 */ lw $t7,0x184($sp)
.L0f07a07c:
/* f07a07c: 24050005 */ addiu $a1,$zero,0x5
/* f07a080: 0c006a47 */ jal modelGetPart
/* f07a084: 8de40008 */ lw $a0,0x8($t7)
/* f07a088: 00403825 */ or $a3,$v0,$zero
.L0f07a08c:
/* f07a08c: 54400009 */ bnezl $v0,.L0f07a0b4
/* f07a090: 8fa40198 */ lw $a0,0x198($sp)
/* f07a094: 8fb80184 */ lw $t8,0x184($sp)
/* f07a098: 24050003 */ addiu $a1,$zero,0x3
/* f07a09c: 8f040008 */ lw $a0,0x8($t8)
/* f07a0a0: 0c006a47 */ jal modelGetPart
/* f07a0a4: afa70120 */ sw $a3,0x120($sp)
/* f07a0a8: 8fa70120 */ lw $a3,0x120($sp)
/* f07a0ac: afa2011c */ sw $v0,0x11c($sp)
/* f07a0b0: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a0b4:
/* f07a0b4: 00002825 */ or $a1,$zero,$zero
/* f07a0b8: 0fc1905e */ jal propSetPerimEnabled
/* f07a0bc: afa70120 */ sw $a3,0x120($sp)
/* f07a0c0: 8fa20198 */ lw $v0,0x198($sp)
/* f07a0c4: 8fa70120 */ lw $a3,0x120($sp)
/* f07a0c8: 90590001 */ lbu $t9,0x1($v0)
/* f07a0cc: 33280002 */ andi $t0,$t9,0x2
/* f07a0d0: 51000042 */ beqzl $t0,.L0f07a1dc
/* f07a0d4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f07a0d8: 14e00003 */ bnez $a3,.L0f07a0e8
/* f07a0dc: 8fa9011c */ lw $t1,0x11c($sp)
/* f07a0e0: 5120003e */ beqzl $t1,.L0f07a1dc
/* f07a0e4: c44a0008 */ lwc1 $f10,0x8($v0)
.L0f07a0e8:
/* f07a0e8: 10e00010 */ beqz $a3,.L0f07a12c
/* f07a0ec: 8fa40184 */ lw $a0,0x184($sp)
/* f07a0f0: 8fa40184 */ lw $a0,0x184($sp)
/* f07a0f4: 00e02825 */ or $a1,$a3,$zero
/* f07a0f8: 00003025 */ or $a2,$zero,$zero
/* f07a0fc: 0c006973 */ jal model0001a5cc
/* f07a100: afa70120 */ sw $a3,0x120($sp)
/* f07a104: 8fa70120 */ lw $a3,0x120($sp)
/* f07a108: 00402825 */ or $a1,$v0,$zero
/* f07a10c: 8ce30004 */ lw $v1,0x4($a3)
/* f07a110: c4640000 */ lwc1 $f4,0x0($v1)
/* f07a114: e7a40168 */ swc1 $f4,0x168($sp)
/* f07a118: c4660004 */ lwc1 $f6,0x4($v1)
/* f07a11c: e7a6016c */ swc1 $f6,0x16c($sp)
/* f07a120: c4680008 */ lwc1 $f8,0x8($v1)
/* f07a124: 1000000b */ b .L0f07a154
/* f07a128: e7a80170 */ swc1 $f8,0x170($sp)
.L0f07a12c:
/* f07a12c: 8fa5011c */ lw $a1,0x11c($sp)
/* f07a130: 0c006973 */ jal model0001a5cc
/* f07a134: 00003025 */ or $a2,$zero,$zero
/* f07a138: 44805000 */ mtc1 $zero,$f10
/* f07a13c: 44808000 */ mtc1 $zero,$f16
/* f07a140: 44809000 */ mtc1 $zero,$f18
/* f07a144: 00402825 */ or $a1,$v0,$zero
/* f07a148: e7aa0168 */ swc1 $f10,0x168($sp)
/* f07a14c: e7b0016c */ swc1 $f16,0x16c($sp)
/* f07a150: e7b20170 */ swc1 $f18,0x170($sp)
.L0f07a154:
/* f07a154: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f07a158: afa50108 */ sw $a1,0x108($sp)
/* f07a15c: 8fa50108 */ lw $a1,0x108($sp)
/* f07a160: 00402025 */ or $a0,$v0,$zero
/* f07a164: 0c0056f9 */ jal mtx00015be4
/* f07a168: 27a600c8 */ addiu $a2,$sp,0xc8
/* f07a16c: 27a400c8 */ addiu $a0,$sp,0xc8
/* f07a170: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f07a174: 27a50168 */ addiu $a1,$sp,0x168
/* f07a178: 8fa20198 */ lw $v0,0x198($sp)
/* f07a17c: 240a0020 */ addiu $t2,$zero,0x20
/* f07a180: 240c0010 */ addiu $t4,$zero,0x10
/* f07a184: 24450028 */ addiu $a1,$v0,0x28
/* f07a188: afa5004c */ sw $a1,0x4c($sp)
/* f07a18c: afac0014 */ sw $t4,0x14($sp)
/* f07a190: afaa0010 */ sw $t2,0x10($sp)
/* f07a194: 27a60168 */ addiu $a2,$sp,0x168
/* f07a198: 27a70158 */ addiu $a3,$sp,0x158
/* f07a19c: 0c00b78d */ jal cd0002de34
/* f07a1a0: 24440008 */ addiu $a0,$v0,0x8
/* f07a1a4: 14400015 */ bnez $v0,.L0f07a1fc
/* f07a1a8: 8fad0198 */ lw $t5,0x198($sp)
/* f07a1ac: c5a40008 */ lwc1 $f4,0x8($t5)
/* f07a1b0: 8fa4004c */ lw $a0,0x4c($sp)
/* f07a1b4: 27a50158 */ addiu $a1,$sp,0x158
/* f07a1b8: e7a40168 */ swc1 $f4,0x168($sp)
/* f07a1bc: c5a6000c */ lwc1 $f6,0xc($t5)
/* f07a1c0: e7a6016c */ swc1 $f6,0x16c($sp)
/* f07a1c4: c5a80010 */ lwc1 $f8,0x10($t5)
/* f07a1c8: 0fc195e9 */ jal roomsCopy
/* f07a1cc: e7a80170 */ swc1 $f8,0x170($sp)
/* f07a1d0: 1000000b */ b .L0f07a200
/* f07a1d4: 8fae0194 */ lw $t6,0x194($sp)
/* f07a1d8: c44a0008 */ lwc1 $f10,0x8($v0)
.L0f07a1dc:
/* f07a1dc: 24440028 */ addiu $a0,$v0,0x28
/* f07a1e0: 27a50158 */ addiu $a1,$sp,0x158
/* f07a1e4: e7aa0168 */ swc1 $f10,0x168($sp)
/* f07a1e8: c450000c */ lwc1 $f16,0xc($v0)
/* f07a1ec: e7b0016c */ swc1 $f16,0x16c($sp)
/* f07a1f0: c4520010 */ lwc1 $f18,0x10($v0)
/* f07a1f4: 0fc195e9 */ jal roomsCopy
/* f07a1f8: e7b20170 */ swc1 $f18,0x170($sp)
.L0f07a1fc:
/* f07a1fc: 8fae0194 */ lw $t6,0x194($sp)
.L0f07a200:
/* f07a200: 0c0068f4 */ jal cosf
/* f07a204: c5cc0078 */ lwc1 $f12,0x78($t6)
/* f07a208: 8fab0194 */ lw $t3,0x194($sp)
/* f07a20c: e7a00050 */ swc1 $f0,0x50($sp)
/* f07a210: 0c0068f7 */ jal sinf
/* f07a214: c56c006c */ lwc1 $f12,0x6c($t3)
/* f07a218: c7a40050 */ lwc1 $f4,0x50($sp)
/* f07a21c: 8faf0194 */ lw $t7,0x194($sp)
/* f07a220: 46040182 */ mul.s $f6,$f0,$f4
/* f07a224: e7a6014c */ swc1 $f6,0x14c($sp)
/* f07a228: 0c0068f7 */ jal sinf
/* f07a22c: c5ec0078 */ lwc1 $f12,0x78($t7)
/* f07a230: 8fb80194 */ lw $t8,0x194($sp)
/* f07a234: e7a00150 */ swc1 $f0,0x150($sp)
/* f07a238: 0c0068f4 */ jal cosf
/* f07a23c: c70c0078 */ lwc1 $f12,0x78($t8)
/* f07a240: 8fb90194 */ lw $t9,0x194($sp)
/* f07a244: e7a00050 */ swc1 $f0,0x50($sp)
/* f07a248: 0c0068f4 */ jal cosf
/* f07a24c: c72c006c */ lwc1 $f12,0x6c($t9)
/* f07a250: c7a80050 */ lwc1 $f8,0x50($sp)
/* f07a254: 3c014780 */ lui $at,0x4780
/* f07a258: 44811000 */ mtc1 $at,$f2
/* f07a25c: 46080302 */ mul.s $f12,$f0,$f8
/* f07a260: c7aa014c */ lwc1 $f10,0x14c($sp)
/* f07a264: c7a60150 */ lwc1 $f6,0x150($sp)
/* f07a268: c7b20168 */ lwc1 $f18,0x168($sp)
/* f07a26c: 46025402 */ mul.s $f16,$f10,$f2
/* f07a270: c7aa016c */ lwc1 $f10,0x16c($sp)
/* f07a274: 3c03800a */ lui $v1,%hi(g_Vars)
/* f07a278: 46023202 */ mul.s $f8,$f6,$f2
/* f07a27c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f07a280: 8c680318 */ lw $t0,0x318($v1)
/* f07a284: e7ac0154 */ swc1 $f12,0x154($sp)
/* f07a288: 8fa20124 */ lw $v0,0x124($sp)
/* f07a28c: 46128100 */ add.s $f4,$f16,$f18
/* f07a290: 46026482 */ mul.s $f18,$f12,$f2
/* f07a294: 27a40168 */ addiu $a0,$sp,0x168
/* f07a298: 460a4400 */ add.s $f16,$f8,$f10
/* f07a29c: e7a4013c */ swc1 $f4,0x13c($sp)
/* f07a2a0: c7a40170 */ lwc1 $f4,0x170($sp)
/* f07a2a4: 27a50158 */ addiu $a1,$sp,0x158
/* f07a2a8: e7b00140 */ swc1 $f16,0x140($sp)
/* f07a2ac: 46049180 */ add.s $f6,$f18,$f4
/* f07a2b0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a2b4: 2407003f */ addiu $a3,$zero,0x3f
/* f07a2b8: 1500000f */ bnez $t0,.L0f07a2f8
/* f07a2bc: e7a60144 */ swc1 $f6,0x144($sp)
/* f07a2c0: 50400006 */ beqzl $v0,.L0f07a2dc
/* f07a2c4: 8c6a029c */ lw $t2,0x29c($v1)
/* f07a2c8: 90490000 */ lbu $t1,0x0($v0)
/* f07a2cc: 24010003 */ addiu $at,$zero,0x3
/* f07a2d0: 5121000a */ beql $t1,$at,.L0f07a2fc
/* f07a2d4: 240e0010 */ addiu $t6,$zero,0x10
/* f07a2d8: 8c6a029c */ lw $t2,0x29c($v1)
.L0f07a2dc:
/* f07a2dc: 0540007f */ bltz $t2,.L0f07a4dc
/* f07a2e0: 00000000 */ nop
/* f07a2e4: 1040007d */ beqz $v0,.L0f07a4dc
/* f07a2e8: 00000000 */ nop
/* f07a2ec: 8c6c02a8 */ lw $t4,0x2a8($v1)
/* f07a2f0: 8d8d00bc */ lw $t5,0xbc($t4)
/* f07a2f4: 144d0079 */ bne $v0,$t5,.L0f07a4dc
.L0f07a2f8:
/* f07a2f8: 240e0010 */ addiu $t6,$zero,0x10
.L0f07a2fc:
/* f07a2fc: 0c00b764 */ jal cdTestAToB4
/* f07a300: afae0010 */ sw $t6,0x10($sp)
/* f07a304: 14400151 */ bnez $v0,.L0f07a84c
/* f07a308: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a30c: 3c067f1b */ lui $a2,%hi(var7f1aa020)
/* f07a310: 24c6a020 */ addiu $a2,$a2,%lo(var7f1aa020)
/* f07a314: 0c0093af */ jal cdGetPos
/* f07a318: 24052cc2 */ addiu $a1,$zero,0x2cc2
/* f07a31c: 0c0093ac */ jal cdGetObstacle
/* f07a320: 00000000 */ nop
/* f07a324: 1040006a */ beqz $v0,.L0f07a4d0
/* f07a328: afa20178 */ sw $v0,0x178($sp)
/* f07a32c: 90430000 */ lbu $v1,0x0($v0)
/* f07a330: 24010003 */ addiu $at,$zero,0x3
/* f07a334: 3c0b800a */ lui $t3,%hi(g_Vars+0x318)
/* f07a338: 10610003 */ beq $v1,$at,.L0f07a348
/* f07a33c: 24010006 */ addiu $at,$zero,0x6
/* f07a340: 54610064 */ bnel $v1,$at,.L0f07a4d4
/* f07a344: 24080001 */ addiu $t0,$zero,0x1
.L0f07a348:
/* f07a348: 8d6ba2d8 */ lw $t3,%lo(g_Vars+0x318)($t3)
/* f07a34c: 8faf0124 */ lw $t7,0x124($sp)
/* f07a350: 2418ffff */ addiu $t8,$zero,-1
/* f07a354: 15600003 */ bnez $t3,.L0f07a364
/* f07a358: 241900c8 */ addiu $t9,$zero,0xc8
/* f07a35c: 55e2005d */ bnel $t7,$v0,.L0f07a4d4
/* f07a360: 24080001 */ addiu $t0,$zero,0x1
.L0f07a364:
/* f07a364: afa000c0 */ sw $zero,0xc0($sp)
/* f07a368: afa000bc */ sw $zero,0xbc($sp)
/* f07a36c: afb800b8 */ sw $t8,0xb8($sp)
/* f07a370: afb900b4 */ sw $t9,0xb4($sp)
/* f07a374: 0fc2c74a */ jal gsetGetDamage
/* f07a378: 27a40118 */ addiu $a0,$sp,0x118
/* f07a37c: 8fa80178 */ lw $t0,0x178($sp)
/* f07a380: 3c09800a */ lui $t1,%hi(g_Vars+0x318)
/* f07a384: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1)
/* f07a388: e7a000b0 */ swc1 $f0,0xb0($sp)
/* f07a38c: 8d040004 */ lw $a0,0x4($t0)
/* f07a390: 3c013f00 */ lui $at,0x3f00
/* f07a394: 11200005 */ beqz $t1,.L0f07a3ac
/* f07a398: afa400ac */ sw $a0,0xac($sp)
/* f07a39c: 44814000 */ mtc1 $at,$f8
/* f07a3a0: 00000000 */ nop
/* f07a3a4: 46080282 */ mul.s $f10,$f0,$f8
/* f07a3a8: e7aa00b0 */ swc1 $f10,0xb0($sp)
.L0f07a3ac:
/* f07a3ac: 8faa0114 */ lw $t2,0x114($sp)
/* f07a3b0: 8fac0178 */ lw $t4,0x178($sp)
/* f07a3b4: 8fad0110 */ lw $t5,0x110($sp)
/* f07a3b8: 514c0007 */ beql $t2,$t4,.L0f07a3d8
/* f07a3bc: 240e0001 */ addiu $t6,$zero,0x1
/* f07a3c0: 11a00009 */ beqz $t5,.L0f07a3e8
/* f07a3c4: 01a02825 */ or $a1,$t5,$zero
/* f07a3c8: 0fc12aa3 */ jal chrCompareTeams
/* f07a3cc: 24060001 */ addiu $a2,$zero,0x1
/* f07a3d0: 10400005 */ beqz $v0,.L0f07a3e8
/* f07a3d4: 240e0001 */ addiu $t6,$zero,0x1
.L0f07a3d8:
/* f07a3d8: afa00128 */ sw $zero,0x128($sp)
/* f07a3dc: afa0018c */ sw $zero,0x18c($sp)
/* f07a3e0: afa00188 */ sw $zero,0x188($sp)
/* f07a3e4: afae0174 */ sw $t6,0x174($sp)
.L0f07a3e8:
/* f07a3e8: 8fab018c */ lw $t3,0x18c($sp)
/* f07a3ec: 8faf0188 */ lw $t7,0x188($sp)
/* f07a3f0: 27a40118 */ addiu $a0,$sp,0x118
/* f07a3f4: 15600003 */ bnez $t3,.L0f07a404
/* f07a3f8: 8fa50178 */ lw $a1,0x178($sp)
/* f07a3fc: 51e00114 */ beqzl $t7,.L0f07a850
/* f07a400: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a404:
/* f07a404: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a408: 2406ffff */ addiu $a2,$zero,-1
/* f07a40c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a410: 8c980020 */ lw $t8,0x20($a0)
/* f07a414: 53000012 */ beqzl $t8,.L0f07a460
/* f07a418: 8fac0110 */ lw $t4,0x110($sp)
/* f07a41c: 0fc0cfe8 */ jal chrGetShield
/* f07a420: 00000000 */ nop
/* f07a424: 44808000 */ mtc1 $zero,$f16
/* f07a428: 8fa400ac */ lw $a0,0xac($sp)
/* f07a42c: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a430: 4600803c */ c.lt.s $f16,$f0
/* f07a434: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a438: 27a700c0 */ addiu $a3,$sp,0xc0
/* f07a43c: 27b900b4 */ addiu $t9,$sp,0xb4
/* f07a440: 45000006 */ bc1f .L0f07a45c
/* f07a444: 27a800bc */ addiu $t0,$sp,0xbc
/* f07a448: 27a900b8 */ addiu $t1,$sp,0xb8
/* f07a44c: afa90018 */ sw $t1,0x18($sp)
/* f07a450: afb90010 */ sw $t9,0x10($sp)
/* f07a454: 0fc0ffcb */ jal chrCalculateShieldHit
/* f07a458: afa80014 */ sw $t0,0x14($sp)
.L0f07a45c:
/* f07a45c: 8fac0110 */ lw $t4,0x110($sp)
.L0f07a460:
/* f07a460: 27aa014c */ addiu $t2,$sp,0x14c
/* f07a464: 8fa400ac */ lw $a0,0xac($sp)
/* f07a468: afaa0010 */ sw $t2,0x10($sp)
/* f07a46c: 8fa50178 */ lw $a1,0x178($sp)
/* f07a470: 8fa600b4 */ lw $a2,0xb4($sp)
/* f07a474: 27a7013c */ addiu $a3,$sp,0x13c
/* f07a478: 0fc097a9 */ jal chrEmitSparks
/* f07a47c: afac0014 */ sw $t4,0x14($sp)
/* f07a480: 8fad0114 */ lw $t5,0x114($sp)
/* f07a484: 8fab0178 */ lw $t3,0x178($sp)
/* f07a488: 8faf00c0 */ lw $t7,0xc0($sp)
/* f07a48c: 8fb800bc */ lw $t8,0xbc($sp)
/* f07a490: 8fb900b8 */ lw $t9,0xb8($sp)
/* f07a494: 240e00c8 */ addiu $t6,$zero,0xc8
/* f07a498: afae0014 */ sw $t6,0x14($sp)
/* f07a49c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a4a0: 8fa500b0 */ lw $a1,0xb0($sp)
/* f07a4a4: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a4a8: 27a70118 */ addiu $a3,$sp,0x118
/* f07a4ac: afa00028 */ sw $zero,0x28($sp)
/* f07a4b0: afad0010 */ sw $t5,0x10($sp)
/* f07a4b4: afab0018 */ sw $t3,0x18($sp)
/* f07a4b8: afaf001c */ sw $t7,0x1c($sp)
/* f07a4bc: afb80020 */ sw $t8,0x20($sp)
/* f07a4c0: 0fc0d077 */ jal func0f0341dc
/* f07a4c4: afb90024 */ sw $t9,0x24($sp)
/* f07a4c8: 100000e1 */ b .L0f07a850
/* f07a4cc: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a4d0:
/* f07a4d0: 24080001 */ addiu $t0,$zero,0x1
.L0f07a4d4:
/* f07a4d4: 100000dd */ b .L0f07a84c
/* f07a4d8: afa80148 */ sw $t0,0x148($sp)
.L0f07a4dc:
/* f07a4dc: 10400045 */ beqz $v0,.L0f07a5f4
/* f07a4e0: 27a40168 */ addiu $a0,$sp,0x168
/* f07a4e4: 90490000 */ lbu $t1,0x0($v0)
/* f07a4e8: 24010001 */ addiu $at,$zero,0x1
/* f07a4ec: 27a50158 */ addiu $a1,$sp,0x158
/* f07a4f0: 15210040 */ bne $t1,$at,.L0f07a5f4
/* f07a4f4: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a4f8: 240a0010 */ addiu $t2,$zero,0x10
/* f07a4fc: afa000a8 */ sw $zero,0xa8($sp)
/* f07a500: afaa0010 */ sw $t2,0x10($sp)
/* f07a504: 27a40168 */ addiu $a0,$sp,0x168
/* f07a508: 0c00b764 */ jal cdTestAToB4
/* f07a50c: 2407003b */ addiu $a3,$zero,0x3b
/* f07a510: 1440000a */ bnez $v0,.L0f07a53c
/* f07a514: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a518: 3c067f1b */ lui $a2,%hi(var7f1aa02c)
/* f07a51c: 24c6a02c */ addiu $a2,$a2,%lo(var7f1aa02c)
/* f07a520: 0c0093af */ jal cdGetPos
/* f07a524: 24052cf9 */ addiu $a1,$zero,0x2cf9
/* f07a528: 0c0093ac */ jal cdGetObstacle
/* f07a52c: 00000000 */ nop
/* f07a530: 240c0001 */ addiu $t4,$zero,0x1
/* f07a534: afac0148 */ sw $t4,0x148($sp)
/* f07a538: afa200a8 */ sw $v0,0xa8($sp)
.L0f07a53c:
/* f07a53c: 8fa300a8 */ lw $v1,0xa8($sp)
/* f07a540: 506000c3 */ beqzl $v1,.L0f07a850
/* f07a544: 8fa40198 */ lw $a0,0x198($sp)
/* f07a548: 906d0000 */ lbu $t5,0x0($v1)
/* f07a54c: 24010001 */ addiu $at,$zero,0x1
/* f07a550: 55a100bf */ bnel $t5,$at,.L0f07a850
/* f07a554: 8fa40198 */ lw $a0,0x198($sp)
/* f07a558: 8c640004 */ lw $a0,0x4($v1)
/* f07a55c: 2401014c */ addiu $at,$zero,0x14c
/* f07a560: 3c0b8007 */ lui $t3,%hi(var80069cbc)
/* f07a564: 848e0004 */ lh $t6,0x4($a0)
/* f07a568: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a56c: 24060000 */ addiu $a2,$zero,0x0
/* f07a570: 55c100b7 */ bnel $t6,$at,.L0f07a850
/* f07a574: 8fa40198 */ lw $a0,0x198($sp)
/* f07a578: 8d6b9cbc */ lw $t3,%lo(var80069cbc)($t3)
/* f07a57c: afa00148 */ sw $zero,0x148($sp)
/* f07a580: afa300a8 */ sw $v1,0xa8($sp)
/* f07a584: 0fc68330 */ jal frCalculateHit
/* f07a588: afab00a0 */ sw $t3,0xa0($sp)
/* f07a58c: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a590: 8fa40110 */ lw $a0,0x110($sp)
/* f07a594: 1040000b */ beqz $v0,.L0f07a5c4
/* f07a598: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a59c: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5a0: 240f0019 */ addiu $t7,$zero,0x19
/* f07a5a4: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a5a8: 84a40028 */ lh $a0,0x28($a1)
/* f07a5ac: afaf0014 */ sw $t7,0x14($sp)
/* f07a5b0: afa00010 */ sw $zero,0x10($sp)
/* f07a5b4: 0fc4be7c */ jal sparksCreate
/* f07a5b8: 00003825 */ or $a3,$zero,$zero
/* f07a5bc: 10000008 */ b .L0f07a5e0
/* f07a5c0: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5c4:
/* f07a5c4: 84a40028 */ lh $a0,0x28($a1)
/* f07a5c8: afa00014 */ sw $zero,0x14($sp)
/* f07a5cc: afa00010 */ sw $zero,0x10($sp)
/* f07a5d0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a5d4: 0fc4be7c */ jal sparksCreate
/* f07a5d8: 00003825 */ or $a3,$zero,$zero
/* f07a5dc: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5e0:
/* f07a5e0: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5e4: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a5e8: 240600f2 */ addiu $a2,$zero,0xf2
/* f07a5ec: 10000098 */ b .L0f07a850
/* f07a5f0: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a5f4:
/* f07a5f4: 24190010 */ addiu $t9,$zero,0x10
/* f07a5f8: afb90010 */ sw $t9,0x10($sp)
/* f07a5fc: 27a50158 */ addiu $a1,$sp,0x158
/* f07a600: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a604: 0c00b764 */ jal cdTestAToB4
/* f07a608: 24070022 */ addiu $a3,$zero,0x22
/* f07a60c: 14400007 */ bnez $v0,.L0f07a62c
/* f07a610: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a614: 3c067f1b */ lui $a2,%hi(var7f1aa038)
/* f07a618: 24c6a038 */ addiu $a2,$a2,%lo(var7f1aa038)
/* f07a61c: 0c0093af */ jal cdGetPos
/* f07a620: 24052d13 */ addiu $a1,$zero,0x2d13
/* f07a624: 24080001 */ addiu $t0,$zero,0x1
/* f07a628: afa80148 */ sw $t0,0x148($sp)
.L0f07a62c:
/* f07a62c: 8faa0194 */ lw $t2,0x194($sp)
/* f07a630: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f07a634: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f07a638: 8d4c0094 */ lw $t4,0x94($t2)
/* f07a63c: 8fa20124 */ lw $v0,0x124($sp)
/* f07a640: 552c0083 */ bnel $t1,$t4,.L0f07a850
/* f07a644: 8fa40198 */ lw $a0,0x198($sp)
/* f07a648: 50400081 */ beqzl $v0,.L0f07a850
/* f07a64c: 8fa40198 */ lw $a0,0x198($sp)
/* f07a650: 904d0000 */ lbu $t5,0x0($v0)
/* f07a654: 24010006 */ addiu $at,$zero,0x6
/* f07a658: c7a40168 */ lwc1 $f4,0x168($sp)
/* f07a65c: 55a1007c */ bnel $t5,$at,.L0f07a850
/* f07a660: 8fa40198 */ lw $a0,0x198($sp)
/* f07a664: c4520008 */ lwc1 $f18,0x8($v0)
/* f07a668: c446000c */ lwc1 $f6,0xc($v0)
/* f07a66c: c7a8016c */ lwc1 $f8,0x16c($sp)
/* f07a670: 46049001 */ sub.s $f0,$f18,$f4
/* f07a674: c44a0010 */ lwc1 $f10,0x10($v0)
/* f07a678: c7b00170 */ lwc1 $f16,0x170($sp)
/* f07a67c: 46083081 */ sub.s $f2,$f6,$f8
/* f07a680: 46000482 */ mul.s $f18,$f0,$f0
/* f07a684: 46105301 */ sub.s $f12,$f10,$f16
/* f07a688: 46021182 */ mul.s $f6,$f2,$f2
/* f07a68c: 46069280 */ add.s $f10,$f18,$f6
/* f07a690: 460c6482 */ mul.s $f18,$f12,$f12
/* f07a694: c7a6013c */ lwc1 $f6,0x13c($sp)
/* f07a698: 46043001 */ sub.s $f0,$f6,$f4
/* f07a69c: 46125380 */ add.s $f14,$f10,$f18
/* f07a6a0: c7aa0140 */ lwc1 $f10,0x140($sp)
/* f07a6a4: 46000182 */ mul.s $f6,$f0,$f0
/* f07a6a8: c7b20144 */ lwc1 $f18,0x144($sp)
/* f07a6ac: 46085081 */ sub.s $f2,$f10,$f8
/* f07a6b0: 46109301 */ sub.s $f12,$f18,$f16
/* f07a6b4: 46021102 */ mul.s $f4,$f2,$f2
/* f07a6b8: 46043280 */ add.s $f10,$f6,$f4
/* f07a6bc: 460c6202 */ mul.s $f8,$f12,$f12
/* f07a6c0: 46085480 */ add.s $f18,$f10,$f8
/* f07a6c4: 4612703e */ c.le.s $f14,$f18
/* f07a6c8: 00000000 */ nop
/* f07a6cc: 45020060 */ bc1fl .L0f07a850
/* f07a6d0: 8fa40198 */ lw $a0,0x198($sp)
/* f07a6d4: 0c012974 */ jal sqrtf
/* f07a6d8: 46007306 */ mov.s $f12,$f14
/* f07a6dc: 3c014348 */ lui $at,0x4348
/* f07a6e0: 44816000 */ mtc1 $at,$f12
/* f07a6e4: 3c017f1b */ lui $at,%hi(var7f1aa58c)
/* f07a6e8: c430a58c */ lwc1 $f16,%lo(var7f1aa58c)($at)
/* f07a6ec: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07a6f0: c426a00c */ lwc1 $f6,%lo(g_Vars+0x4c)($at)
/* f07a6f4: 3c018007 */ lui $at,%hi(var80069950)
/* f07a6f8: 4600603c */ c.lt.s $f12,$f0
/* f07a6fc: 46068102 */ mul.s $f4,$f16,$f6
/* f07a700: c42a9950 */ lwc1 $f10,%lo(var80069950)($at)
/* f07a704: 8fae0194 */ lw $t6,0x194($sp)
/* f07a708: 460a2082 */ mul.s $f2,$f4,$f10
/* f07a70c: 45020005 */ bc1fl .L0f07a724
/* f07a710: c5d200a0 */ lwc1 $f18,0xa0($t6)
/* f07a714: 46006203 */ div.s $f8,$f12,$f0
/* f07a718: 46081082 */ mul.s $f2,$f2,$f8
/* f07a71c: 00000000 */ nop
/* f07a720: c5d200a0 */ lwc1 $f18,0xa0($t6)
.L0f07a724:
/* f07a724: 3c013f80 */ lui $at,0x3f80
/* f07a728: 44813000 */ mtc1 $at,$f6
/* f07a72c: 46029400 */ add.s $f16,$f18,$f2
/* f07a730: 4610303e */ c.le.s $f6,$f16
/* f07a734: e5d000a0 */ swc1 $f16,0xa0($t6)
/* f07a738: 8fab0124 */ lw $t3,0x124($sp)
/* f07a73c: 45020044 */ bc1fl .L0f07a850
/* f07a740: 8fa40198 */ lw $a0,0x198($sp)
/* f07a744: c5640008 */ lwc1 $f4,0x8($t3)
/* f07a748: e7a4013c */ swc1 $f4,0x13c($sp)
/* f07a74c: c56a000c */ lwc1 $f10,0xc($t3)
/* f07a750: e7aa0140 */ swc1 $f10,0x140($sp)
/* f07a754: c5680010 */ lwc1 $f8,0x10($t3)
/* f07a758: afa00148 */ sw $zero,0x148($sp)
/* f07a75c: 0c004b70 */ jal random
/* f07a760: e7a80144 */ swc1 $f8,0x144($sp)
/* f07a764: 304f0001 */ andi $t7,$v0,0x1
/* f07a768: 11e00012 */ beqz $t7,.L0f07a7b4
/* f07a76c: 00000000 */ nop
/* f07a770: 0c004b70 */ jal random
/* f07a774: 00000000 */ nop
/* f07a778: 2401000a */ addiu $at,$zero,0xa
/* f07a77c: 0041001b */ divu $zero,$v0,$at
/* f07a780: 0000c010 */ mfhi $t8
/* f07a784: 27190002 */ addiu $t9,$t8,0x2
/* f07a788: 44998000 */ mtc1 $t9,$f16
/* f07a78c: c7b20140 */ lwc1 $f18,0x140($sp)
/* f07a790: 07210005 */ bgez $t9,.L0f07a7a8
/* f07a794: 468081a0 */ cvt.s.w $f6,$f16
/* f07a798: 3c014f80 */ lui $at,0x4f80
/* f07a79c: 44812000 */ mtc1 $at,$f4
/* f07a7a0: 00000000 */ nop
/* f07a7a4: 46043180 */ add.s $f6,$f6,$f4
.L0f07a7a8:
/* f07a7a8: 46069280 */ add.s $f10,$f18,$f6
/* f07a7ac: 10000011 */ b .L0f07a7f4
/* f07a7b0: e7aa0140 */ swc1 $f10,0x140($sp)
.L0f07a7b4:
/* f07a7b4: 0c004b70 */ jal random
/* f07a7b8: 00000000 */ nop
/* f07a7bc: 2401000a */ addiu $at,$zero,0xa
/* f07a7c0: 0041001b */ divu $zero,$v0,$at
/* f07a7c4: 00004010 */ mfhi $t0
/* f07a7c8: 250a0002 */ addiu $t2,$t0,0x2
/* f07a7cc: 448a8000 */ mtc1 $t2,$f16
/* f07a7d0: c7a80140 */ lwc1 $f8,0x140($sp)
/* f07a7d4: 05410005 */ bgez $t2,.L0f07a7ec
/* f07a7d8: 46808120 */ cvt.s.w $f4,$f16
/* f07a7dc: 3c014f80 */ lui $at,0x4f80
/* f07a7e0: 44819000 */ mtc1 $at,$f18
/* f07a7e4: 00000000 */ nop
/* f07a7e8: 46122100 */ add.s $f4,$f4,$f18
.L0f07a7ec:
/* f07a7ec: 46044181 */ sub.s $f6,$f8,$f4
/* f07a7f0: e7a60140 */ swc1 $f6,0x140($sp)
.L0f07a7f4:
/* f07a7f4: 27a40118 */ addiu $a0,$sp,0x118
/* f07a7f8: 8fa50124 */ lw $a1,0x124($sp)
/* f07a7fc: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a800: 2406ffff */ addiu $a2,$zero,-1
/* f07a804: 3c013f00 */ lui $at,0x3f00
/* f07a808: 44815000 */ mtc1 $at,$f10
/* f07a80c: 3c018007 */ lui $at,%hi(var80069954)
/* f07a810: c4309954 */ lwc1 $f16,%lo(var80069954)($at)
/* f07a814: 8fa90124 */ lw $t1,0x124($sp)
/* f07a818: 240c00c8 */ addiu $t4,$zero,0xc8
/* f07a81c: 46105002 */ mul.s $f0,$f10,$f16
/* f07a820: 8d240004 */ lw $a0,0x4($t1)
/* f07a824: afac0014 */ sw $t4,0x14($sp)
/* f07a828: afa00010 */ sw $zero,0x10($sp)
/* f07a82c: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a830: 27a70118 */ addiu $a3,$sp,0x118
/* f07a834: 44050000 */ mfc1 $a1,$f0
/* f07a838: 0fc0d0cc */ jal chrDamageByImpact
/* f07a83c: 00000000 */ nop
/* f07a840: 44809000 */ mtc1 $zero,$f18
/* f07a844: 8fad0194 */ lw $t5,0x194($sp)
/* f07a848: e5b200a0 */ swc1 $f18,0xa0($t5)
.L0f07a84c:
/* f07a84c: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a850:
/* f07a850: 0fc1905e */ jal propSetPerimEnabled
/* f07a854: 24050001 */ addiu $a1,$zero,0x1
/* f07a858: 8fae018c */ lw $t6,0x18c($sp)
/* f07a85c: 8fab0188 */ lw $t3,0x188($sp)
/* f07a860: 8faf0194 */ lw $t7,0x194($sp)
/* f07a864: 15c00003 */ bnez $t6,.L0f07a874
/* f07a868: 27a40168 */ addiu $a0,$sp,0x168
/* f07a86c: 51600009 */ beqzl $t3,.L0f07a894
/* f07a870: 8fb90148 */ lw $t9,0x148($sp)
.L0f07a874:
/* f07a874: 91e200a9 */ lbu $v0,0xa9($t7)
/* f07a878: 240100ff */ addiu $at,$zero,0xff
/* f07a87c: 58400005 */ blezl $v0,.L0f07a894
/* f07a880: 8fb90148 */ lw $t9,0x148($sp)
/* f07a884: 10410002 */ beq $v0,$at,.L0f07a890
/* f07a888: 2458ffff */ addiu $t8,$v0,-1
/* f07a88c: a1f800a9 */ sb $t8,0xa9($t7)
.L0f07a890:
/* f07a890: 8fb90148 */ lw $t9,0x148($sp)
.L0f07a894:
/* f07a894: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a898: 27a60158 */ addiu $a2,$sp,0x158
/* f07a89c: 13200024 */ beqz $t9,.L0f07a930
/* f07a8a0: 27a7012c */ addiu $a3,$sp,0x12c
/* f07a8a4: afa00010 */ sw $zero,0x10($sp)
/* f07a8a8: 0c006052 */ jal func00018148
/* f07a8ac: afa00014 */ sw $zero,0x14($sp)
/* f07a8b0: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a8b4: 8fa40110 */ lw $a0,0x110($sp)
/* f07a8b8: 1040000b */ beqz $v0,.L0f07a8e8
/* f07a8bc: 8faa0194 */ lw $t2,0x194($sp)
/* f07a8c0: 24080019 */ addiu $t0,$zero,0x19
/* f07a8c4: afa80014 */ sw $t0,0x14($sp)
/* f07a8c8: 87a4012c */ lh $a0,0x12c($sp)
/* f07a8cc: 00002825 */ or $a1,$zero,$zero
/* f07a8d0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a8d4: 00003825 */ or $a3,$zero,$zero
/* f07a8d8: 0fc4be7c */ jal sparksCreate
/* f07a8dc: afa00010 */ sw $zero,0x10($sp)
/* f07a8e0: 1000000f */ b .L0f07a920
/* f07a8e4: 27a40118 */ addiu $a0,$sp,0x118
.L0f07a8e8:
/* f07a8e8: 85490004 */ lh $t1,0x4($t2)
/* f07a8ec: 24010144 */ addiu $at,$zero,0x144
/* f07a8f0: 87a4012c */ lh $a0,0x12c($sp)
/* f07a8f4: 15210003 */ bne $t1,$at,.L0f07a904
/* f07a8f8: 00002825 */ or $a1,$zero,$zero
/* f07a8fc: 10000002 */ b .L0f07a908
/* f07a900: 24020017 */ addiu $v0,$zero,0x17
.L0f07a904:
/* f07a904: 00001025 */ or $v0,$zero,$zero
.L0f07a908:
/* f07a908: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a90c: 00003825 */ or $a3,$zero,$zero
/* f07a910: afa00010 */ sw $zero,0x10($sp)
/* f07a914: 0fc4be7c */ jal sparksCreate
/* f07a918: afa20014 */ sw $v0,0x14($sp)
/* f07a91c: 27a40118 */ addiu $a0,$sp,0x118
.L0f07a920:
/* f07a920: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a924: 2406ffff */ addiu $a2,$zero,-1
/* f07a928: 0fc2a132 */ jal bgunPlayBgHitSound
/* f07a92c: 27a7012c */ addiu $a3,$sp,0x12c
.L0f07a930:
/* f07a930: 8fac0128 */ lw $t4,0x128($sp)
/* f07a934: c7a8013c */ lwc1 $f8,0x13c($sp)
/* f07a938: c7a40168 */ lwc1 $f4,0x168($sp)
/* f07a93c: 51800097 */ beqzl $t4,.L0f07ab9c
/* f07a940: 8fa80194 */ lw $t0,0x194($sp)
/* f07a944: 46044181 */ sub.s $f6,$f8,$f4
/* f07a948: c7aa0140 */ lwc1 $f10,0x140($sp)
/* f07a94c: c7b0016c */ lwc1 $f16,0x16c($sp)
/* f07a950: c7a40170 */ lwc1 $f4,0x170($sp)
/* f07a954: c7a80144 */ lwc1 $f8,0x144($sp)
/* f07a958: 46105481 */ sub.s $f18,$f10,$f16
/* f07a95c: 8fad0194 */ lw $t5,0x194($sp)
/* f07a960: 46063402 */ mul.s $f16,$f6,$f6
/* f07a964: 46044281 */ sub.s $f10,$f8,$f4
/* f07a968: 8da3009c */ lw $v1,0x9c($t5)
/* f07a96c: 46129202 */ mul.s $f8,$f18,$f18
/* f07a970: e7a60068 */ swc1 $f6,0x68($sp)
/* f07a974: e7aa0070 */ swc1 $f10,0x70($sp)
/* f07a978: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f07a97c: c7a60070 */ lwc1 $f6,0x70($sp)
/* f07a980: e7b2006c */ swc1 $f18,0x6c($sp)
/* f07a984: afa30078 */ sw $v1,0x78($sp)
/* f07a988: 46065482 */ mul.s $f18,$f10,$f6
/* f07a98c: 46088100 */ add.s $f4,$f16,$f8
/* f07a990: 0c012974 */ jal sqrtf
/* f07a994: 46049300 */ add.s $f12,$f18,$f4
/* f07a998: 44808000 */ mtc1 $zero,$f16
/* f07a99c: 8fa30078 */ lw $v1,0x78($sp)
/* f07a9a0: 46000306 */ mov.s $f12,$f0
/* f07a9a4: 4600803c */ c.lt.s $f16,$f0
/* f07a9a8: 3c017f1b */ lui $at,%hi(var7f1aa590)
/* f07a9ac: c7a80168 */ lwc1 $f8,0x168($sp)
/* f07a9b0: 4502007a */ bc1fl .L0f07ab9c
/* f07a9b4: 8fa80194 */ lw $t0,0x194($sp)
/* f07a9b8: c42ea590 */ lwc1 $f14,%lo(var7f1aa590)($at)
/* f07a9bc: e4680004 */ swc1 $f8,0x4($v1)
/* f07a9c0: 3c013f80 */ lui $at,0x3f80
/* f07a9c4: 44814000 */ mtc1 $at,$f8
/* f07a9c8: c7aa016c */ lwc1 $f10,0x16c($sp)
/* f07a9cc: 4600703c */ c.lt.s $f14,$f0
/* f07a9d0: 240f002b */ addiu $t7,$zero,0x2b
/* f07a9d4: 46004083 */ div.s $f2,$f8,$f0
/* f07a9d8: e46a0008 */ swc1 $f10,0x8($v1)
/* f07a9dc: c7a60170 */ lwc1 $f6,0x170($sp)
/* f07a9e0: 2418000c */ addiu $t8,$zero,0xc
/* f07a9e4: e466000c */ swc1 $f6,0xc($v1)
/* f07a9e8: c7b20068 */ lwc1 $f18,0x68($sp)
/* f07a9ec: e4720010 */ swc1 $f18,0x10($v1)
/* f07a9f0: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f07a9f4: c46a0010 */ lwc1 $f10,0x10($v1)
/* f07a9f8: e4640014 */ swc1 $f4,0x14($v1)
/* f07a9fc: c7b00070 */ lwc1 $f16,0x70($sp)
/* f07aa00: c4720014 */ lwc1 $f18,0x14($v1)
/* f07aa04: e4700018 */ swc1 $f16,0x18($v1)
/* f07aa08: c4700018 */ lwc1 $f16,0x18($v1)
/* f07aa0c: 46025182 */ mul.s $f6,$f10,$f2
/* f07aa10: 00000000 */ nop
/* f07aa14: 46029102 */ mul.s $f4,$f18,$f2
/* f07aa18: 00000000 */ nop
/* f07aa1c: 46028202 */ mul.s $f8,$f16,$f2
/* f07aa20: e4660010 */ swc1 $f6,0x10($v1)
/* f07aa24: e4640014 */ swc1 $f4,0x14($v1)
/* f07aa28: 45000002 */ bc1f .L0f07aa34
/* f07aa2c: e4680018 */ swc1 $f8,0x18($v1)
/* f07aa30: 46007306 */ mov.s $f12,$f14
.L0f07aa34:
/* f07aa34: a0600000 */ sb $zero,0x0($v1)
/* f07aa38: 8fae0194 */ lw $t6,0x194($sp)
/* f07aa3c: 24010144 */ addiu $at,$zero,0x144
/* f07aa40: 85cb0004 */ lh $t3,0x4($t6)
/* f07aa44: 55610004 */ bnel $t3,$at,.L0f07aa58
/* f07aa48: a06f0001 */ sb $t7,0x1($v1)
/* f07aa4c: 10000002 */ b .L0f07aa58
/* f07aa50: a0780001 */ sb $t8,0x1($v1)
/* f07aa54: a06f0001 */ sb $t7,0x1($v1)
.L0f07aa58:
/* f07aa58: 3c0143fa */ lui $at,0x43fa
/* f07aa5c: 44810000 */ mtc1 $at,$f0
/* f07aa60: e46c001c */ swc1 $f12,0x1c($v1)
/* f07aa64: 4600603c */ c.lt.s $f12,$f0
/* f07aa68: 00000000 */ nop
/* f07aa6c: 45020003 */ bc1fl .L0f07aa7c
/* f07aa70: 80790001 */ lb $t9,0x1($v1)
/* f07aa74: 46000306 */ mov.s $f12,$f0
/* f07aa78: 80790001 */ lb $t9,0x1($v1)
.L0f07aa7c:
/* f07aa7c: 2401001d */ addiu $at,$zero,0x1d
/* f07aa80: 17210026 */ bne $t9,$at,.L0f07ab1c
/* f07aa84: 3c017f1b */ lui $at,%hi(var7f1aa594)
/* f07aa88: c422a594 */ lwc1 $f2,%lo(var7f1aa594)($at)
/* f07aa8c: 3c013e80 */ lui $at,0x3e80
/* f07aa90: 44815000 */ mtc1 $at,$f10
/* f07aa94: 3c017f1b */ lui $at,%hi(var7f1aa598)
/* f07aa98: 460c5182 */ mul.s $f6,$f10,$f12
/* f07aa9c: e4660020 */ swc1 $f6,0x20($v1)
/* f07aaa0: c432a598 */ lwc1 $f18,%lo(var7f1aa598)($at)
/* f07aaa4: 460c9002 */ mul.s $f0,$f18,$f12
/* f07aaa8: 4600103c */ c.lt.s $f2,$f0
/* f07aaac: e4600024 */ swc1 $f0,0x24($v1)
/* f07aab0: 45020003 */ bc1fl .L0f07aac0
/* f07aab4: afa30078 */ sw $v1,0x78($sp)
/* f07aab8: e4620024 */ swc1 $f2,0x24($v1)
/* f07aabc: afa30078 */ sw $v1,0x78($sp)
.L0f07aac0:
/* f07aac0: 0c004b70 */ jal random
/* f07aac4: e7ac007c */ swc1 $f12,0x7c($sp)
/* f07aac8: 44822000 */ mtc1 $v0,$f4
/* f07aacc: 8fa30078 */ lw $v1,0x78($sp)
/* f07aad0: c7ac007c */ lwc1 $f12,0x7c($sp)
/* f07aad4: 04410005 */ bgez $v0,.L0f07aaec
/* f07aad8: 46802420 */ cvt.s.w $f16,$f4
/* f07aadc: 3c014f80 */ lui $at,0x4f80
/* f07aae0: 44814000 */ mtc1 $at,$f8
/* f07aae4: 00000000 */ nop
/* f07aae8: 46088400 */ add.s $f16,$f16,$f8
.L0f07aaec:
/* f07aaec: 3c012f80 */ lui $at,0x2f80
/* f07aaf0: 44815000 */ mtc1 $at,$f10
/* f07aaf4: 3c017f1b */ lui $at,%hi(var7f1aa59c)
/* f07aaf8: c432a59c */ lwc1 $f18,%lo(var7f1aa59c)($at)
/* f07aafc: 460a8182 */ mul.s $f6,$f16,$f10
/* f07ab00: 3c017f1b */ lui $at,%hi(var7f1aa5a0)
/* f07ab04: c428a5a0 */ lwc1 $f8,%lo(var7f1aa5a0)($at)
/* f07ab08: 46123102 */ mul.s $f4,$f6,$f18
/* f07ab0c: 46044401 */ sub.s $f16,$f8,$f4
/* f07ab10: 460c8282 */ mul.s $f10,$f16,$f12
/* f07ab14: 10000020 */ b .L0f07ab98
/* f07ab18: e46a0028 */ swc1 $f10,0x28($v1)
.L0f07ab1c:
/* f07ab1c: 3c017f1b */ lui $at,%hi(var7f1aa5a4)
/* f07ab20: c422a5a4 */ lwc1 $f2,%lo(var7f1aa5a4)($at)
/* f07ab24: 3c017f1b */ lui $at,%hi(var7f1aa5a8)
/* f07ab28: c426a5a8 */ lwc1 $f6,%lo(var7f1aa5a8)($at)
/* f07ab2c: 460c3002 */ mul.s $f0,$f6,$f12
/* f07ab30: 4600103c */ c.lt.s $f2,$f0
/* f07ab34: e4600020 */ swc1 $f0,0x20($v1)
/* f07ab38: e4600024 */ swc1 $f0,0x24($v1)
/* f07ab3c: 45000002 */ bc1f .L0f07ab48
/* f07ab40: 00000000 */ nop
/* f07ab44: e4620024 */ swc1 $f2,0x24($v1)
.L0f07ab48:
/* f07ab48: 0c004b70 */ jal random
/* f07ab4c: afa30078 */ sw $v1,0x78($sp)
/* f07ab50: 44829000 */ mtc1 $v0,$f18
/* f07ab54: 8fa30078 */ lw $v1,0x78($sp)
/* f07ab58: 04410005 */ bgez $v0,.L0f07ab70
/* f07ab5c: 46809220 */ cvt.s.w $f8,$f18
/* f07ab60: 3c014f80 */ lui $at,0x4f80
/* f07ab64: 44812000 */ mtc1 $at,$f4
/* f07ab68: 00000000 */ nop
/* f07ab6c: 46044200 */ add.s $f8,$f8,$f4
.L0f07ab70:
/* f07ab70: 3c012f80 */ lui $at,0x2f80
/* f07ab74: 44818000 */ mtc1 $at,$f16
/* f07ab78: 3c013f80 */ lui $at,0x3f80
/* f07ab7c: 44813000 */ mtc1 $at,$f6
/* f07ab80: 46104002 */ mul.s $f0,$f8,$f16
/* f07ab84: c4640020 */ lwc1 $f4,0x20($v1)
/* f07ab88: 46000280 */ add.s $f10,$f0,$f0
/* f07ab8c: 46065481 */ sub.s $f18,$f10,$f6
/* f07ab90: 46049202 */ mul.s $f8,$f18,$f4
/* f07ab94: e4680028 */ swc1 $f8,0x28($v1)
.L0f07ab98:
/* f07ab98: 8fa80194 */ lw $t0,0x194($sp)
.L0f07ab9c:
/* f07ab9c: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f07aba0: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f07aba4: 8d0a0098 */ lw $t2,0x98($t0)
/* f07aba8: 240c0002 */ addiu $t4,$zero,0x2
/* f07abac: 24050001 */ addiu $a1,$zero,0x1
/* f07abb0: 0149082a */ slt $at,$t2,$t1
/* f07abb4: 1020002d */ beqz $at,.L0f07ac6c
/* f07abb8: 3406ffff */ dli $a2,0xffff
/* f07abbc: afac0064 */ sw $t4,0x64($sp)
/* f07abc0: 0fc249af */ jal func0f0926bc
/* f07abc4: 8fa40198 */ lw $a0,0x198($sp)
/* f07abc8: 8fad0174 */ lw $t5,0x174($sp)
/* f07abcc: 8fae0194 */ lw $t6,0x194($sp)
/* f07abd0: 00002025 */ or $a0,$zero,$zero
/* f07abd4: 15a0001f */ bnez $t5,.L0f07ac54
/* f07abd8: 2407ffff */ addiu $a3,$zero,-1
/* f07abdc: 85c30004 */ lh $v1,0x4($t6)
/* f07abe0: 24010144 */ addiu $at,$zero,0x144
/* f07abe4: 3402806f */ dli $v0,0x806f
/* f07abe8: 14610002 */ bne $v1,$at,.L0f07abf4
/* f07abec: 240fffff */ addiu $t7,$zero,-1
/* f07abf0: 34028040 */ dli $v0,0x8040
.L0f07abf4:
/* f07abf4: 24010157 */ addiu $at,$zero,0x157
/* f07abf8: 14610004 */ bne $v1,$at,.L0f07ac0c
/* f07abfc: 2419ffff */ addiu $t9,$zero,-1
/* f07ac00: 240b0004 */ addiu $t3,$zero,0x4
/* f07ac04: 34028044 */ dli $v0,0x8044
/* f07ac08: afab0064 */ sw $t3,0x64($sp)
.L0f07ac0c:
/* f07ac0c: 3c01bf80 */ lui $at,0xbf80
/* f07ac10: 44810000 */ mtc1 $at,$f0
/* f07ac14: 00023400 */ sll $a2,$v0,0x10
/* f07ac18: 0006c403 */ sra $t8,$a2,0x10
/* f07ac1c: 03003025 */ or $a2,$t8,$zero
/* f07ac20: 8fa50198 */ lw $a1,0x198($sp)
/* f07ac24: afaf0010 */ sw $t7,0x10($sp)
/* f07ac28: afa00014 */ sw $zero,0x14($sp)
/* f07ac2c: afa00018 */ sw $zero,0x18($sp)
/* f07ac30: afa0001c */ sw $zero,0x1c($sp)
/* f07ac34: afa00020 */ sw $zero,0x20($sp)
/* f07ac38: afa00028 */ sw $zero,0x28($sp)
/* f07ac3c: afb9002c */ sw $t9,0x2c($sp)
/* f07ac40: e7a00024 */ swc1 $f0,0x24($sp)
/* f07ac44: e7a00030 */ swc1 $f0,0x30($sp)
/* f07ac48: e7a00034 */ swc1 $f0,0x34($sp)
/* f07ac4c: 0fc24e7e */ jal func0f0939f8
/* f07ac50: e7a00038 */ swc1 $f0,0x38($sp)
.L0f07ac54:
/* f07ac54: 3c0a800a */ lui $t2,%hi(g_Vars+0x8)
/* f07ac58: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2)
/* f07ac5c: 8fa80064 */ lw $t0,0x64($sp)
/* f07ac60: 8fac0194 */ lw $t4,0x194($sp)
/* f07ac64: 010a4821 */ addu $t1,$t0,$t2
/* f07ac68: ad890098 */ sw $t1,0x98($t4)
.L0f07ac6c:
/* f07ac6c: 8fad0184 */ lw $t5,0x184($sp)
.L0f07ac70:
/* f07ac70: 24050005 */ addiu $a1,$zero,0x5
/* f07ac74: 0c006a47 */ jal modelGetPart
/* f07ac78: 8da40008 */ lw $a0,0x8($t5)
/* f07ac7c: 10400005 */ beqz $v0,.L0f07ac94
/* f07ac80: 00402825 */ or $a1,$v0,$zero
/* f07ac84: 0c006a87 */ jal modelGetNodeRwData
/* f07ac88: 8fa40184 */ lw $a0,0x184($sp)
/* f07ac8c: 8fae018c */ lw $t6,0x18c($sp)
/* f07ac90: a44e0000 */ sh $t6,0x0($v0)
.L0f07ac94:
/* f07ac94: 8fab0184 */ lw $t3,0x184($sp)
/* f07ac98: 24050007 */ addiu $a1,$zero,0x7
/* f07ac9c: 0c006a47 */ jal modelGetPart
/* f07aca0: 8d640008 */ lw $a0,0x8($t3)
/* f07aca4: 10400005 */ beqz $v0,.L0f07acbc
/* f07aca8: 00402825 */ or $a1,$v0,$zero
/* f07acac: 0c006a87 */ jal modelGetNodeRwData
/* f07acb0: 8fa40184 */ lw $a0,0x184($sp)
/* f07acb4: 8fb80188 */ lw $t8,0x188($sp)
/* f07acb8: a4580000 */ sh $t8,0x0($v0)
.L0f07acbc:
/* f07acbc: 8fbf0044 */ lw $ra,0x44($sp)
/* f07acc0: 27bd0198 */ addiu $sp,$sp,0x198
/* f07acc4: 03e00008 */ jr $ra
/* f07acc8: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f079f1c
.late_rodata
glabel var7f1aa58c
.word 0x3e23d70a
glabel var7f1aa590
.word 0x461c4000
glabel var7f1aa594
.word 0x453b8000
glabel var7f1aa598
.word 0x3f19999a
glabel var7f1aa59c
.word 0x3e99999a
glabel var7f1aa5a0
.word 0xbdcccccd
glabel var7f1aa5a4
.word 0x453b8000
glabel var7f1aa5a8
.word 0x3e4ccccd
.text
/* f079f1c: 27bdfe68 */ addiu $sp,$sp,-408
/* f079f20: afbf0044 */ sw $ra,0x44($sp)
/* f079f24: 0fc5b364 */ jal lvIsPaused
/* f079f28: afa40198 */ sw $a0,0x198($sp)
/* f079f2c: 14400363 */ bnez $v0,.L0f07acbc
/* f079f30: 8fae0198 */ lw $t6,0x198($sp)
/* f079f34: 8dc20004 */ lw $v0,0x4($t6)
/* f079f38: afa0018c */ sw $zero,0x18c($sp)
/* f079f3c: afa00188 */ sw $zero,0x188($sp)
/* f079f40: 8c4f0018 */ lw $t7,0x18($v0)
/* f079f44: afa00174 */ sw $zero,0x174($sp)
/* f079f48: afaf0184 */ sw $t7,0x184($sp)
/* f079f4c: 8058005e */ lb $t8,0x5e($v0)
/* f079f50: 53000347 */ beqzl $t8,.L0f07ac70
/* f079f54: 8fad0184 */ lw $t5,0x184($sp)
/* f079f58: 8c590008 */ lw $t9,0x8($v0)
/* f079f5c: 001940c0 */ sll $t0,$t9,0x3
/* f079f60: 05020343 */ bltzl $t0,.L0f07ac70
/* f079f64: 8fad0184 */ lw $t5,0x184($sp)
/* f079f68: 9049005f */ lbu $t1,0x5f($v0)
/* f079f6c: 24050005 */ addiu $a1,$zero,0x5
/* f079f70: 252b0001 */ addiu $t3,$t1,0x1
/* f079f74: a04b005f */ sb $t3,0x5f($v0)
/* f079f78: 8fae0184 */ lw $t6,0x184($sp)
/* f079f7c: 316c0001 */ andi $t4,$t3,0x1
/* f079f80: 2d8d0001 */ sltiu $t5,$t4,0x1
/* f079f84: afad018c */ sw $t5,0x18c($sp)
/* f079f88: 8dc40008 */ lw $a0,0x8($t6)
/* f079f8c: afa20194 */ sw $v0,0x194($sp)
/* f079f90: 0c006a47 */ jal modelGetPart
/* f079f94: afa20190 */ sw $v0,0x190($sp)
/* f079f98: 1040000b */ beqz $v0,.L0f079fc8
/* f079f9c: 8fa30190 */ lw $v1,0x190($sp)
/* f079fa0: 8faf0194 */ lw $t7,0x194($sp)
/* f079fa4: 91f8005f */ lbu $t8,0x5f($t7)
/* f079fa8: 07010004 */ bgez $t8,.L0f079fbc
/* f079fac: 33190001 */ andi $t9,$t8,0x1
/* f079fb0: 13200002 */ beqz $t9,.L0f079fbc
/* f079fb4: 00000000 */ nop
/* f079fb8: 2739fffe */ addiu $t9,$t9,-2
.L0f079fbc:
/* f079fbc: 3b280001 */ xori $t0,$t9,0x1
/* f079fc0: 2d080001 */ sltiu $t0,$t0,0x1
/* f079fc4: afa80188 */ sw $t0,0x188($sp)
.L0f079fc8:
/* f079fc8: 8fa9018c */ lw $t1,0x18c($sp)
/* f079fcc: 8faa0188 */ lw $t2,0x188($sp)
/* f079fd0: 55200004 */ bnezl $t1,.L0f079fe4
/* f079fd4: 8fab0194 */ lw $t3,0x194($sp)
/* f079fd8: 514002f0 */ beqzl $t2,.L0f07ab9c
/* f079fdc: 8fa80194 */ lw $t0,0x194($sp)
/* f079fe0: 8fab0194 */ lw $t3,0x194($sp)
.L0f079fe4:
/* f079fe4: afa00148 */ sw $zero,0x148($sp)
/* f079fe8: 3c188007 */ lui $t8,%hi(var80069cb8)
/* f079fec: 916c005f */ lbu $t4,0x5f($t3)
/* f079ff0: 8f189cb8 */ lw $t8,%lo(var80069cb8)($t8)
/* f079ff4: 3c09800a */ lui $t1,%hi(g_Vars+0x318)
/* f079ff8: 318d0003 */ andi $t5,$t4,0x3
/* f079ffc: 2dae0001 */ sltiu $t6,$t5,0x1
/* f07a000: afae0128 */ sw $t6,0x128($sp)
/* f07a004: 8d6f00a4 */ lw $t7,0xa4($t3)
/* f07a008: afa0011c */ sw $zero,0x11c($sp)
/* f07a00c: afa00114 */ sw $zero,0x114($sp)
/* f07a010: afa00110 */ sw $zero,0x110($sp)
/* f07a014: afb80118 */ sw $t8,0x118($sp)
/* f07a018: afaf0124 */ sw $t7,0x124($sp)
/* f07a01c: 8c640040 */ lw $a0,0x40($v1)
/* f07a020: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1)
/* f07a024: 3c01f000 */ lui $at,0xf000
/* f07a028: 0081c824 */ and $t9,$a0,$at
/* f07a02c: 11200007 */ beqz $t1,.L0f07a04c
/* f07a030: 00192702 */ srl $a0,$t9,0x1c
/* f07a034: 0fc63410 */ jal mpGetChrFromPlayerIndex
/* f07a038: 00000000 */ nop
/* f07a03c: 10400003 */ beqz $v0,.L0f07a04c
/* f07a040: afa20110 */ sw $v0,0x110($sp)
/* f07a044: 8c4a001c */ lw $t2,0x1c($v0)
/* f07a048: afaa0114 */ sw $t2,0x114($sp)
.L0f07a04c:
/* f07a04c: 8fac0194 */ lw $t4,0x194($sp)
/* f07a050: 918d005f */ lbu $t5,0x5f($t4)
/* f07a054: 31ae0007 */ andi $t6,$t5,0x7
/* f07a058: 55c00008 */ bnezl $t6,.L0f07a07c
/* f07a05c: 8faf0184 */ lw $t7,0x184($sp)
/* f07a060: 8fab0184 */ lw $t3,0x184($sp)
/* f07a064: 24050007 */ addiu $a1,$zero,0x7
/* f07a068: 0c006a47 */ jal modelGetPart
/* f07a06c: 8d640008 */ lw $a0,0x8($t3)
/* f07a070: 14400006 */ bnez $v0,.L0f07a08c
/* f07a074: 00403825 */ or $a3,$v0,$zero
/* f07a078: 8faf0184 */ lw $t7,0x184($sp)
.L0f07a07c:
/* f07a07c: 24050005 */ addiu $a1,$zero,0x5
/* f07a080: 0c006a47 */ jal modelGetPart
/* f07a084: 8de40008 */ lw $a0,0x8($t7)
/* f07a088: 00403825 */ or $a3,$v0,$zero
.L0f07a08c:
/* f07a08c: 54400009 */ bnezl $v0,.L0f07a0b4
/* f07a090: 8fa40198 */ lw $a0,0x198($sp)
/* f07a094: 8fb80184 */ lw $t8,0x184($sp)
/* f07a098: 24050003 */ addiu $a1,$zero,0x3
/* f07a09c: 8f040008 */ lw $a0,0x8($t8)
/* f07a0a0: 0c006a47 */ jal modelGetPart
/* f07a0a4: afa70120 */ sw $a3,0x120($sp)
/* f07a0a8: 8fa70120 */ lw $a3,0x120($sp)
/* f07a0ac: afa2011c */ sw $v0,0x11c($sp)
/* f07a0b0: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a0b4:
/* f07a0b4: 00002825 */ or $a1,$zero,$zero
/* f07a0b8: 0fc1905e */ jal propSetPerimEnabled
/* f07a0bc: afa70120 */ sw $a3,0x120($sp)
/* f07a0c0: 8fa20198 */ lw $v0,0x198($sp)
/* f07a0c4: 8fa70120 */ lw $a3,0x120($sp)
/* f07a0c8: 90590001 */ lbu $t9,0x1($v0)
/* f07a0cc: 33280002 */ andi $t0,$t9,0x2
/* f07a0d0: 51000042 */ beqzl $t0,.L0f07a1dc
/* f07a0d4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f07a0d8: 14e00003 */ bnez $a3,.L0f07a0e8
/* f07a0dc: 8fa9011c */ lw $t1,0x11c($sp)
/* f07a0e0: 5120003e */ beqzl $t1,.L0f07a1dc
/* f07a0e4: c44a0008 */ lwc1 $f10,0x8($v0)
.L0f07a0e8:
/* f07a0e8: 10e00010 */ beqz $a3,.L0f07a12c
/* f07a0ec: 8fa40184 */ lw $a0,0x184($sp)
/* f07a0f0: 8fa40184 */ lw $a0,0x184($sp)
/* f07a0f4: 00e02825 */ or $a1,$a3,$zero
/* f07a0f8: 00003025 */ or $a2,$zero,$zero
/* f07a0fc: 0c006973 */ jal model0001a5cc
/* f07a100: afa70120 */ sw $a3,0x120($sp)
/* f07a104: 8fa70120 */ lw $a3,0x120($sp)
/* f07a108: 00402825 */ or $a1,$v0,$zero
/* f07a10c: 8ce30004 */ lw $v1,0x4($a3)
/* f07a110: c4640000 */ lwc1 $f4,0x0($v1)
/* f07a114: e7a40168 */ swc1 $f4,0x168($sp)
/* f07a118: c4660004 */ lwc1 $f6,0x4($v1)
/* f07a11c: e7a6016c */ swc1 $f6,0x16c($sp)
/* f07a120: c4680008 */ lwc1 $f8,0x8($v1)
/* f07a124: 1000000b */ b .L0f07a154
/* f07a128: e7a80170 */ swc1 $f8,0x170($sp)
.L0f07a12c:
/* f07a12c: 8fa5011c */ lw $a1,0x11c($sp)
/* f07a130: 0c006973 */ jal model0001a5cc
/* f07a134: 00003025 */ or $a2,$zero,$zero
/* f07a138: 44805000 */ mtc1 $zero,$f10
/* f07a13c: 44808000 */ mtc1 $zero,$f16
/* f07a140: 44809000 */ mtc1 $zero,$f18
/* f07a144: 00402825 */ or $a1,$v0,$zero
/* f07a148: e7aa0168 */ swc1 $f10,0x168($sp)
/* f07a14c: e7b0016c */ swc1 $f16,0x16c($sp)
/* f07a150: e7b20170 */ swc1 $f18,0x170($sp)
.L0f07a154:
/* f07a154: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f07a158: afa50108 */ sw $a1,0x108($sp)
/* f07a15c: 8fa50108 */ lw $a1,0x108($sp)
/* f07a160: 00402025 */ or $a0,$v0,$zero
/* f07a164: 0c0056f9 */ jal mtx00015be4
/* f07a168: 27a600c8 */ addiu $a2,$sp,0xc8
/* f07a16c: 27a400c8 */ addiu $a0,$sp,0xc8
/* f07a170: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f07a174: 27a50168 */ addiu $a1,$sp,0x168
/* f07a178: 8fa20198 */ lw $v0,0x198($sp)
/* f07a17c: 240a0020 */ addiu $t2,$zero,0x20
/* f07a180: 240c0010 */ addiu $t4,$zero,0x10
/* f07a184: 24450028 */ addiu $a1,$v0,0x28
/* f07a188: afa5004c */ sw $a1,0x4c($sp)
/* f07a18c: afac0014 */ sw $t4,0x14($sp)
/* f07a190: afaa0010 */ sw $t2,0x10($sp)
/* f07a194: 27a60168 */ addiu $a2,$sp,0x168
/* f07a198: 27a70158 */ addiu $a3,$sp,0x158
/* f07a19c: 0c00b78d */ jal cd0002de34
/* f07a1a0: 24440008 */ addiu $a0,$v0,0x8
/* f07a1a4: 14400015 */ bnez $v0,.L0f07a1fc
/* f07a1a8: 8fad0198 */ lw $t5,0x198($sp)
/* f07a1ac: c5a40008 */ lwc1 $f4,0x8($t5)
/* f07a1b0: 8fa4004c */ lw $a0,0x4c($sp)
/* f07a1b4: 27a50158 */ addiu $a1,$sp,0x158
/* f07a1b8: e7a40168 */ swc1 $f4,0x168($sp)
/* f07a1bc: c5a6000c */ lwc1 $f6,0xc($t5)
/* f07a1c0: e7a6016c */ swc1 $f6,0x16c($sp)
/* f07a1c4: c5a80010 */ lwc1 $f8,0x10($t5)
/* f07a1c8: 0fc195e9 */ jal roomsCopy
/* f07a1cc: e7a80170 */ swc1 $f8,0x170($sp)
/* f07a1d0: 1000000b */ b .L0f07a200
/* f07a1d4: 8fae0194 */ lw $t6,0x194($sp)
/* f07a1d8: c44a0008 */ lwc1 $f10,0x8($v0)
.L0f07a1dc:
/* f07a1dc: 24440028 */ addiu $a0,$v0,0x28
/* f07a1e0: 27a50158 */ addiu $a1,$sp,0x158
/* f07a1e4: e7aa0168 */ swc1 $f10,0x168($sp)
/* f07a1e8: c450000c */ lwc1 $f16,0xc($v0)
/* f07a1ec: e7b0016c */ swc1 $f16,0x16c($sp)
/* f07a1f0: c4520010 */ lwc1 $f18,0x10($v0)
/* f07a1f4: 0fc195e9 */ jal roomsCopy
/* f07a1f8: e7b20170 */ swc1 $f18,0x170($sp)
.L0f07a1fc:
/* f07a1fc: 8fae0194 */ lw $t6,0x194($sp)
.L0f07a200:
/* f07a200: 0c0068f4 */ jal cosf
/* f07a204: c5cc0078 */ lwc1 $f12,0x78($t6)
/* f07a208: 8fab0194 */ lw $t3,0x194($sp)
/* f07a20c: e7a00050 */ swc1 $f0,0x50($sp)
/* f07a210: 0c0068f7 */ jal sinf
/* f07a214: c56c006c */ lwc1 $f12,0x6c($t3)
/* f07a218: c7a40050 */ lwc1 $f4,0x50($sp)
/* f07a21c: 8faf0194 */ lw $t7,0x194($sp)
/* f07a220: 46040182 */ mul.s $f6,$f0,$f4
/* f07a224: e7a6014c */ swc1 $f6,0x14c($sp)
/* f07a228: 0c0068f7 */ jal sinf
/* f07a22c: c5ec0078 */ lwc1 $f12,0x78($t7)
/* f07a230: 8fb80194 */ lw $t8,0x194($sp)
/* f07a234: e7a00150 */ swc1 $f0,0x150($sp)
/* f07a238: 0c0068f4 */ jal cosf
/* f07a23c: c70c0078 */ lwc1 $f12,0x78($t8)
/* f07a240: 8fb90194 */ lw $t9,0x194($sp)
/* f07a244: e7a00050 */ swc1 $f0,0x50($sp)
/* f07a248: 0c0068f4 */ jal cosf
/* f07a24c: c72c006c */ lwc1 $f12,0x6c($t9)
/* f07a250: c7a80050 */ lwc1 $f8,0x50($sp)
/* f07a254: 3c014780 */ lui $at,0x4780
/* f07a258: 44811000 */ mtc1 $at,$f2
/* f07a25c: 46080302 */ mul.s $f12,$f0,$f8
/* f07a260: c7aa014c */ lwc1 $f10,0x14c($sp)
/* f07a264: c7a60150 */ lwc1 $f6,0x150($sp)
/* f07a268: c7b20168 */ lwc1 $f18,0x168($sp)
/* f07a26c: 46025402 */ mul.s $f16,$f10,$f2
/* f07a270: c7aa016c */ lwc1 $f10,0x16c($sp)
/* f07a274: 3c03800a */ lui $v1,%hi(g_Vars)
/* f07a278: 46023202 */ mul.s $f8,$f6,$f2
/* f07a27c: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars)
/* f07a280: 8c680318 */ lw $t0,0x318($v1)
/* f07a284: e7ac0154 */ swc1 $f12,0x154($sp)
/* f07a288: 8fa20124 */ lw $v0,0x124($sp)
/* f07a28c: 46128100 */ add.s $f4,$f16,$f18
/* f07a290: 46026482 */ mul.s $f18,$f12,$f2
/* f07a294: 27a40168 */ addiu $a0,$sp,0x168
/* f07a298: 460a4400 */ add.s $f16,$f8,$f10
/* f07a29c: e7a4013c */ swc1 $f4,0x13c($sp)
/* f07a2a0: c7a40170 */ lwc1 $f4,0x170($sp)
/* f07a2a4: 27a50158 */ addiu $a1,$sp,0x158
/* f07a2a8: e7b00140 */ swc1 $f16,0x140($sp)
/* f07a2ac: 46049180 */ add.s $f6,$f18,$f4
/* f07a2b0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a2b4: 2407003f */ addiu $a3,$zero,0x3f
/* f07a2b8: 1500000f */ bnez $t0,.L0f07a2f8
/* f07a2bc: e7a60144 */ swc1 $f6,0x144($sp)
/* f07a2c0: 50400006 */ beqzl $v0,.L0f07a2dc
/* f07a2c4: 8c6a029c */ lw $t2,0x29c($v1)
/* f07a2c8: 90490000 */ lbu $t1,0x0($v0)
/* f07a2cc: 24010003 */ addiu $at,$zero,0x3
/* f07a2d0: 5121000a */ beql $t1,$at,.L0f07a2fc
/* f07a2d4: 240e0010 */ addiu $t6,$zero,0x10
/* f07a2d8: 8c6a029c */ lw $t2,0x29c($v1)
.L0f07a2dc:
/* f07a2dc: 0540007f */ bltz $t2,.L0f07a4dc
/* f07a2e0: 00000000 */ nop
/* f07a2e4: 1040007d */ beqz $v0,.L0f07a4dc
/* f07a2e8: 00000000 */ nop
/* f07a2ec: 8c6c02a8 */ lw $t4,0x2a8($v1)
/* f07a2f0: 8d8d00bc */ lw $t5,0xbc($t4)
/* f07a2f4: 144d0079 */ bne $v0,$t5,.L0f07a4dc
.L0f07a2f8:
/* f07a2f8: 240e0010 */ addiu $t6,$zero,0x10
.L0f07a2fc:
/* f07a2fc: 0c00b764 */ jal cdTestAToB4
/* f07a300: afae0010 */ sw $t6,0x10($sp)
/* f07a304: 14400151 */ bnez $v0,.L0f07a84c
/* f07a308: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a30c: 3c067f1b */ lui $a2,%hi(var7f1aa020)
/* f07a310: 24c6a020 */ addiu $a2,$a2,%lo(var7f1aa020)
/* f07a314: 0c0093af */ jal cdGetPos
/* f07a318: 24052cc2 */ addiu $a1,$zero,0x2c20
/* f07a31c: 0c0093ac */ jal cdGetObstacle
/* f07a320: 00000000 */ nop
/* f07a324: 1040006a */ beqz $v0,.L0f07a4d0
/* f07a328: afa20178 */ sw $v0,0x178($sp)
/* f07a32c: 90430000 */ lbu $v1,0x0($v0)
/* f07a330: 24010003 */ addiu $at,$zero,0x3
/* f07a334: 3c0b800a */ lui $t3,%hi(g_Vars+0x318)
/* f07a338: 10610003 */ beq $v1,$at,.L0f07a348
/* f07a33c: 24010006 */ addiu $at,$zero,0x6
/* f07a340: 54610064 */ bnel $v1,$at,.L0f07a4d4
/* f07a344: 24080001 */ addiu $t0,$zero,0x1
.L0f07a348:
/* f07a348: 8d6ba2d8 */ lw $t3,%lo(g_Vars+0x318)($t3)
/* f07a34c: 8faf0124 */ lw $t7,0x124($sp)
/* f07a350: 2418ffff */ addiu $t8,$zero,-1
/* f07a354: 15600003 */ bnez $t3,.L0f07a364
/* f07a358: 241900c8 */ addiu $t9,$zero,0xc8
/* f07a35c: 55e2005d */ bnel $t7,$v0,.L0f07a4d4
/* f07a360: 24080001 */ addiu $t0,$zero,0x1
.L0f07a364:
/* f07a364: afa000c0 */ sw $zero,0xc0($sp)
/* f07a368: afa000bc */ sw $zero,0xbc($sp)
/* f07a36c: afb800b8 */ sw $t8,0xb8($sp)
/* f07a370: afb900b4 */ sw $t9,0xb4($sp)
/* f07a374: 0fc2c74a */ jal gsetGetDamage
/* f07a378: 27a40118 */ addiu $a0,$sp,0x118
/* f07a37c: 8fa80178 */ lw $t0,0x178($sp)
/* f07a380: 3c09800a */ lui $t1,%hi(g_Vars+0x318)
/* f07a384: 8d29a2d8 */ lw $t1,%lo(g_Vars+0x318)($t1)
/* f07a388: e7a000b0 */ swc1 $f0,0xb0($sp)
/* f07a38c: 8d040004 */ lw $a0,0x4($t0)
/* f07a390: 3c013f00 */ lui $at,0x3f00
/* f07a394: 11200005 */ beqz $t1,.L0f07a3ac
/* f07a398: afa400ac */ sw $a0,0xac($sp)
/* f07a39c: 44814000 */ mtc1 $at,$f8
/* f07a3a0: 00000000 */ nop
/* f07a3a4: 46080282 */ mul.s $f10,$f0,$f8
/* f07a3a8: e7aa00b0 */ swc1 $f10,0xb0($sp)
.L0f07a3ac:
/* f07a3ac: 8faa0114 */ lw $t2,0x114($sp)
/* f07a3b0: 8fac0178 */ lw $t4,0x178($sp)
/* f07a3b4: 8fad0110 */ lw $t5,0x110($sp)
/* f07a3b8: 514c0007 */ beql $t2,$t4,.L0f07a3d8
/* f07a3bc: 240e0001 */ addiu $t6,$zero,0x1
/* f07a3c0: 11a00009 */ beqz $t5,.L0f07a3e8
/* f07a3c4: 01a02825 */ or $a1,$t5,$zero
/* f07a3c8: 0fc12aa3 */ jal chrCompareTeams
/* f07a3cc: 24060001 */ addiu $a2,$zero,0x1
/* f07a3d0: 10400005 */ beqz $v0,.L0f07a3e8
/* f07a3d4: 240e0001 */ addiu $t6,$zero,0x1
.L0f07a3d8:
/* f07a3d8: afa00128 */ sw $zero,0x128($sp)
/* f07a3dc: afa0018c */ sw $zero,0x18c($sp)
/* f07a3e0: afa00188 */ sw $zero,0x188($sp)
/* f07a3e4: afae0174 */ sw $t6,0x174($sp)
.L0f07a3e8:
/* f07a3e8: 8fab018c */ lw $t3,0x18c($sp)
/* f07a3ec: 8faf0188 */ lw $t7,0x188($sp)
/* f07a3f0: 27a40118 */ addiu $a0,$sp,0x118
/* f07a3f4: 15600003 */ bnez $t3,.L0f07a404
/* f07a3f8: 8fa50178 */ lw $a1,0x178($sp)
/* f07a3fc: 51e00114 */ beqzl $t7,.L0f07a850
/* f07a400: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a404:
/* f07a404: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a408: 2406ffff */ addiu $a2,$zero,-1
/* f07a40c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a410: 8c980020 */ lw $t8,0x20($a0)
/* f07a414: 53000012 */ beqzl $t8,.L0f07a460
/* f07a418: 8fac0110 */ lw $t4,0x110($sp)
/* f07a41c: 0fc0cfe8 */ jal chrGetShield
/* f07a420: 00000000 */ nop
/* f07a424: 44808000 */ mtc1 $zero,$f16
/* f07a428: 8fa400ac */ lw $a0,0xac($sp)
/* f07a42c: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a430: 4600803c */ c.lt.s $f16,$f0
/* f07a434: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a438: 27a700c0 */ addiu $a3,$sp,0xc0
/* f07a43c: 27b900b4 */ addiu $t9,$sp,0xb4
/* f07a440: 45000006 */ bc1f .L0f07a45c
/* f07a444: 27a800bc */ addiu $t0,$sp,0xbc
/* f07a448: 27a900b8 */ addiu $t1,$sp,0xb8
/* f07a44c: afa90018 */ sw $t1,0x18($sp)
/* f07a450: afb90010 */ sw $t9,0x10($sp)
/* f07a454: 0fc0ffcb */ jal chrCalculateShieldHit
/* f07a458: afa80014 */ sw $t0,0x14($sp)
.L0f07a45c:
/* f07a45c: 8fac0110 */ lw $t4,0x110($sp)
.L0f07a460:
/* f07a460: 27aa014c */ addiu $t2,$sp,0x14c
/* f07a464: 8fa400ac */ lw $a0,0xac($sp)
/* f07a468: afaa0010 */ sw $t2,0x10($sp)
/* f07a46c: 8fa50178 */ lw $a1,0x178($sp)
/* f07a470: 8fa600b4 */ lw $a2,0xb4($sp)
/* f07a474: 27a7013c */ addiu $a3,$sp,0x13c
/* f07a478: 0fc097a9 */ jal chrEmitSparks
/* f07a47c: afac0014 */ sw $t4,0x14($sp)
/* f07a480: 8fad0114 */ lw $t5,0x114($sp)
/* f07a484: 8fab0178 */ lw $t3,0x178($sp)
/* f07a488: 8faf00c0 */ lw $t7,0xc0($sp)
/* f07a48c: 8fb800bc */ lw $t8,0xbc($sp)
/* f07a490: 8fb900b8 */ lw $t9,0xb8($sp)
/* f07a494: 240e00c8 */ addiu $t6,$zero,0xc8
/* f07a498: afae0014 */ sw $t6,0x14($sp)
/* f07a49c: 8fa400ac */ lw $a0,0xac($sp)
/* f07a4a0: 8fa500b0 */ lw $a1,0xb0($sp)
/* f07a4a4: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a4a8: 27a70118 */ addiu $a3,$sp,0x118
/* f07a4ac: afa00028 */ sw $zero,0x28($sp)
/* f07a4b0: afad0010 */ sw $t5,0x10($sp)
/* f07a4b4: afab0018 */ sw $t3,0x18($sp)
/* f07a4b8: afaf001c */ sw $t7,0x1c($sp)
/* f07a4bc: afb80020 */ sw $t8,0x20($sp)
/* f07a4c0: 0fc0d077 */ jal func0f0341dc
/* f07a4c4: afb90024 */ sw $t9,0x24($sp)
/* f07a4c8: 100000e1 */ b .L0f07a850
/* f07a4cc: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a4d0:
/* f07a4d0: 24080001 */ addiu $t0,$zero,0x1
.L0f07a4d4:
/* f07a4d4: 100000dd */ b .L0f07a84c
/* f07a4d8: afa80148 */ sw $t0,0x148($sp)
.L0f07a4dc:
/* f07a4dc: 10400045 */ beqz $v0,.L0f07a5f4
/* f07a4e0: 27a40168 */ addiu $a0,$sp,0x168
/* f07a4e4: 90490000 */ lbu $t1,0x0($v0)
/* f07a4e8: 24010001 */ addiu $at,$zero,0x1
/* f07a4ec: 27a50158 */ addiu $a1,$sp,0x158
/* f07a4f0: 15210040 */ bne $t1,$at,.L0f07a5f4
/* f07a4f4: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a4f8: 240a0010 */ addiu $t2,$zero,0x10
/* f07a4fc: afa000a8 */ sw $zero,0xa8($sp)
/* f07a500: afaa0010 */ sw $t2,0x10($sp)
/* f07a504: 27a40168 */ addiu $a0,$sp,0x168
/* f07a508: 0c00b764 */ jal cdTestAToB4
/* f07a50c: 2407003b */ addiu $a3,$zero,0x3b
/* f07a510: 1440000a */ bnez $v0,.L0f07a53c
/* f07a514: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a518: 3c067f1b */ lui $a2,%hi(var7f1aa02c)
/* f07a51c: 24c6a02c */ addiu $a2,$a2,%lo(var7f1aa02c)
/* f07a520: 0c0093af */ jal cdGetPos
/* f07a524: 24052cf9 */ addiu $a1,$zero,0x2c57
/* f07a528: 0c0093ac */ jal cdGetObstacle
/* f07a52c: 00000000 */ nop
/* f07a530: 240c0001 */ addiu $t4,$zero,0x1
/* f07a534: afac0148 */ sw $t4,0x148($sp)
/* f07a538: afa200a8 */ sw $v0,0xa8($sp)
.L0f07a53c:
/* f07a53c: 8fa300a8 */ lw $v1,0xa8($sp)
/* f07a540: 506000c3 */ beqzl $v1,.L0f07a850
/* f07a544: 8fa40198 */ lw $a0,0x198($sp)
/* f07a548: 906d0000 */ lbu $t5,0x0($v1)
/* f07a54c: 24010001 */ addiu $at,$zero,0x1
/* f07a550: 55a100bf */ bnel $t5,$at,.L0f07a850
/* f07a554: 8fa40198 */ lw $a0,0x198($sp)
/* f07a558: 8c640004 */ lw $a0,0x4($v1)
/* f07a55c: 2401014c */ addiu $at,$zero,0x14c
/* f07a560: 3c0b8007 */ lui $t3,%hi(var80069cbc)
/* f07a564: 848e0004 */ lh $t6,0x4($a0)
/* f07a568: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a56c: 24060000 */ addiu $a2,$zero,0x0
/* f07a570: 55c100b7 */ bnel $t6,$at,.L0f07a850
/* f07a574: 8fa40198 */ lw $a0,0x198($sp)
/* f07a578: 8d6b9cbc */ lw $t3,%lo(var80069cbc)($t3)
/* f07a57c: afa00148 */ sw $zero,0x148($sp)
/* f07a580: afa300a8 */ sw $v1,0xa8($sp)
/* f07a584: 0fc68330 */ jal frCalculateHit
/* f07a588: afab00a0 */ sw $t3,0xa0($sp)
/* f07a58c: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a590: 8fa40110 */ lw $a0,0x110($sp)
/* f07a594: 1040000b */ beqz $v0,.L0f07a5c4
/* f07a598: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a59c: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5a0: 240f0019 */ addiu $t7,$zero,0x19
/* f07a5a4: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a5a8: 84a40028 */ lh $a0,0x28($a1)
/* f07a5ac: afaf0014 */ sw $t7,0x14($sp)
/* f07a5b0: afa00010 */ sw $zero,0x10($sp)
/* f07a5b4: 0fc4be7c */ jal sparksCreate
/* f07a5b8: 00003825 */ or $a3,$zero,$zero
/* f07a5bc: 10000008 */ b .L0f07a5e0
/* f07a5c0: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5c4:
/* f07a5c4: 84a40028 */ lh $a0,0x28($a1)
/* f07a5c8: afa00014 */ sw $zero,0x14($sp)
/* f07a5cc: afa00010 */ sw $zero,0x10($sp)
/* f07a5d0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a5d4: 0fc4be7c */ jal sparksCreate
/* f07a5d8: 00003825 */ or $a3,$zero,$zero
/* f07a5dc: 27a400a0 */ addiu $a0,$sp,0xa0
.L0f07a5e0:
/* f07a5e0: 8fa500a8 */ lw $a1,0xa8($sp)
/* f07a5e4: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a5e8: 240600f2 */ addiu $a2,$zero,0xf2
/* f07a5ec: 10000098 */ b .L0f07a850
/* f07a5f0: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a5f4:
/* f07a5f4: 24190010 */ addiu $t9,$zero,0x10
/* f07a5f8: afb90010 */ sw $t9,0x10($sp)
/* f07a5fc: 27a50158 */ addiu $a1,$sp,0x158
/* f07a600: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a604: 0c00b764 */ jal cdTestAToB4
/* f07a608: 24070022 */ addiu $a3,$zero,0x22
/* f07a60c: 14400007 */ bnez $v0,.L0f07a62c
/* f07a610: 27a4013c */ addiu $a0,$sp,0x13c
/* f07a614: 3c067f1b */ lui $a2,%hi(var7f1aa038)
/* f07a618: 24c6a038 */ addiu $a2,$a2,%lo(var7f1aa038)
/* f07a61c: 0c0093af */ jal cdGetPos
/* f07a620: 24052d13 */ addiu $a1,$zero,0x2c71
/* f07a624: 24080001 */ addiu $t0,$zero,0x1
/* f07a628: afa80148 */ sw $t0,0x148($sp)
.L0f07a62c:
/* f07a62c: 8faa0194 */ lw $t2,0x194($sp)
/* f07a630: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f07a634: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f07a638: 8d4c0094 */ lw $t4,0x94($t2)
/* f07a63c: 8fa20124 */ lw $v0,0x124($sp)
/* f07a640: 552c0083 */ bnel $t1,$t4,.L0f07a850
/* f07a644: 8fa40198 */ lw $a0,0x198($sp)
/* f07a648: 50400081 */ beqzl $v0,.L0f07a850
/* f07a64c: 8fa40198 */ lw $a0,0x198($sp)
/* f07a650: 904d0000 */ lbu $t5,0x0($v0)
/* f07a654: 24010006 */ addiu $at,$zero,0x6
/* f07a658: c7a40168 */ lwc1 $f4,0x168($sp)
/* f07a65c: 55a1007c */ bnel $t5,$at,.L0f07a850
/* f07a660: 8fa40198 */ lw $a0,0x198($sp)
/* f07a664: c4520008 */ lwc1 $f18,0x8($v0)
/* f07a668: c446000c */ lwc1 $f6,0xc($v0)
/* f07a66c: c7a8016c */ lwc1 $f8,0x16c($sp)
/* f07a670: 46049001 */ sub.s $f0,$f18,$f4
/* f07a674: c44a0010 */ lwc1 $f10,0x10($v0)
/* f07a678: c7b00170 */ lwc1 $f16,0x170($sp)
/* f07a67c: 46083081 */ sub.s $f2,$f6,$f8
/* f07a680: 46000482 */ mul.s $f18,$f0,$f0
/* f07a684: 46105301 */ sub.s $f12,$f10,$f16
/* f07a688: 46021182 */ mul.s $f6,$f2,$f2
/* f07a68c: 46069280 */ add.s $f10,$f18,$f6
/* f07a690: 460c6482 */ mul.s $f18,$f12,$f12
/* f07a694: c7a6013c */ lwc1 $f6,0x13c($sp)
/* f07a698: 46043001 */ sub.s $f0,$f6,$f4
/* f07a69c: 46125380 */ add.s $f14,$f10,$f18
/* f07a6a0: c7aa0140 */ lwc1 $f10,0x140($sp)
/* f07a6a4: 46000182 */ mul.s $f6,$f0,$f0
/* f07a6a8: c7b20144 */ lwc1 $f18,0x144($sp)
/* f07a6ac: 46085081 */ sub.s $f2,$f10,$f8
/* f07a6b0: 46109301 */ sub.s $f12,$f18,$f16
/* f07a6b4: 46021102 */ mul.s $f4,$f2,$f2
/* f07a6b8: 46043280 */ add.s $f10,$f6,$f4
/* f07a6bc: 460c6202 */ mul.s $f8,$f12,$f12
/* f07a6c0: 46085480 */ add.s $f18,$f10,$f8
/* f07a6c4: 4612703e */ c.le.s $f14,$f18
/* f07a6c8: 00000000 */ nop
/* f07a6cc: 45020060 */ bc1fl .L0f07a850
/* f07a6d0: 8fa40198 */ lw $a0,0x198($sp)
/* f07a6d4: 0c012974 */ jal sqrtf
/* f07a6d8: 46007306 */ mov.s $f12,$f14
/* f07a6dc: 3c014348 */ lui $at,0x4348
/* f07a6e0: 44816000 */ mtc1 $at,$f12
/* f07a6e4: 3c017f1b */ lui $at,%hi(var7f1aa58c)
/* f07a6e8: c430a58c */ lwc1 $f16,%lo(var7f1aa58c)($at)
/* f07a6ec: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07a6f0: c426a00c */ lwc1 $f6,%lo(g_Vars+0x4c)($at)
/* f07a6f4: 3c018007 */ lui $at,%hi(var80069950)
/* f07a6f8: 4600603c */ c.lt.s $f12,$f0
/* f07a6fc: 46068102 */ mul.s $f4,$f16,$f6
/* f07a700: c42a9950 */ lwc1 $f10,%lo(var80069950)($at)
/* f07a704: 8fae0194 */ lw $t6,0x194($sp)
/* f07a708: 460a2082 */ mul.s $f2,$f4,$f10
/* f07a70c: 45020005 */ bc1fl .L0f07a724
/* f07a710: c5d200a0 */ lwc1 $f18,0xa0($t6)
/* f07a714: 46006203 */ div.s $f8,$f12,$f0
/* f07a718: 46081082 */ mul.s $f2,$f2,$f8
/* f07a71c: 00000000 */ nop
/* f07a720: c5d200a0 */ lwc1 $f18,0xa0($t6)
.L0f07a724:
/* f07a724: 3c013f80 */ lui $at,0x3f80
/* f07a728: 44813000 */ mtc1 $at,$f6
/* f07a72c: 46029400 */ add.s $f16,$f18,$f2
/* f07a730: 4610303e */ c.le.s $f6,$f16
/* f07a734: e5d000a0 */ swc1 $f16,0xa0($t6)
/* f07a738: 8fab0124 */ lw $t3,0x124($sp)
/* f07a73c: 45020044 */ bc1fl .L0f07a850
/* f07a740: 8fa40198 */ lw $a0,0x198($sp)
/* f07a744: c5640008 */ lwc1 $f4,0x8($t3)
/* f07a748: e7a4013c */ swc1 $f4,0x13c($sp)
/* f07a74c: c56a000c */ lwc1 $f10,0xc($t3)
/* f07a750: e7aa0140 */ swc1 $f10,0x140($sp)
/* f07a754: c5680010 */ lwc1 $f8,0x10($t3)
/* f07a758: afa00148 */ sw $zero,0x148($sp)
/* f07a75c: 0c004b70 */ jal random
/* f07a760: e7a80144 */ swc1 $f8,0x144($sp)
/* f07a764: 304f0001 */ andi $t7,$v0,0x1
/* f07a768: 11e00012 */ beqz $t7,.L0f07a7b4
/* f07a76c: 00000000 */ nop
/* f07a770: 0c004b70 */ jal random
/* f07a774: 00000000 */ nop
/* f07a778: 2401000a */ addiu $at,$zero,0xa
/* f07a77c: 0041001b */ divu $zero,$v0,$at
/* f07a780: 0000c010 */ mfhi $t8
/* f07a784: 27190002 */ addiu $t9,$t8,0x2
/* f07a788: 44998000 */ mtc1 $t9,$f16
/* f07a78c: c7b20140 */ lwc1 $f18,0x140($sp)
/* f07a790: 07210005 */ bgez $t9,.L0f07a7a8
/* f07a794: 468081a0 */ cvt.s.w $f6,$f16
/* f07a798: 3c014f80 */ lui $at,0x4f80
/* f07a79c: 44812000 */ mtc1 $at,$f4
/* f07a7a0: 00000000 */ nop
/* f07a7a4: 46043180 */ add.s $f6,$f6,$f4
.L0f07a7a8:
/* f07a7a8: 46069280 */ add.s $f10,$f18,$f6
/* f07a7ac: 10000011 */ b .L0f07a7f4
/* f07a7b0: e7aa0140 */ swc1 $f10,0x140($sp)
.L0f07a7b4:
/* f07a7b4: 0c004b70 */ jal random
/* f07a7b8: 00000000 */ nop
/* f07a7bc: 2401000a */ addiu $at,$zero,0xa
/* f07a7c0: 0041001b */ divu $zero,$v0,$at
/* f07a7c4: 00004010 */ mfhi $t0
/* f07a7c8: 250a0002 */ addiu $t2,$t0,0x2
/* f07a7cc: 448a8000 */ mtc1 $t2,$f16
/* f07a7d0: c7a80140 */ lwc1 $f8,0x140($sp)
/* f07a7d4: 05410005 */ bgez $t2,.L0f07a7ec
/* f07a7d8: 46808120 */ cvt.s.w $f4,$f16
/* f07a7dc: 3c014f80 */ lui $at,0x4f80
/* f07a7e0: 44819000 */ mtc1 $at,$f18
/* f07a7e4: 00000000 */ nop
/* f07a7e8: 46122100 */ add.s $f4,$f4,$f18
.L0f07a7ec:
/* f07a7ec: 46044181 */ sub.s $f6,$f8,$f4
/* f07a7f0: e7a60140 */ swc1 $f6,0x140($sp)
.L0f07a7f4:
/* f07a7f4: 27a40118 */ addiu $a0,$sp,0x118
/* f07a7f8: 8fa50124 */ lw $a1,0x124($sp)
/* f07a7fc: 0fc29f66 */ jal bgunPlayPropHitSound
/* f07a800: 2406ffff */ addiu $a2,$zero,-1
/* f07a804: 3c013f00 */ lui $at,0x3f00
/* f07a808: 44815000 */ mtc1 $at,$f10
/* f07a80c: 3c018007 */ lui $at,%hi(var80069954)
/* f07a810: c4309954 */ lwc1 $f16,%lo(var80069954)($at)
/* f07a814: 8fa90124 */ lw $t1,0x124($sp)
/* f07a818: 240c00c8 */ addiu $t4,$zero,0xc8
/* f07a81c: 46105002 */ mul.s $f0,$f10,$f16
/* f07a820: 8d240004 */ lw $a0,0x4($t1)
/* f07a824: afac0014 */ sw $t4,0x14($sp)
/* f07a828: afa00010 */ sw $zero,0x10($sp)
/* f07a82c: 27a6014c */ addiu $a2,$sp,0x14c
/* f07a830: 27a70118 */ addiu $a3,$sp,0x118
/* f07a834: 44050000 */ mfc1 $a1,$f0
/* f07a838: 0fc0d0cc */ jal chrDamageByImpact
/* f07a83c: 00000000 */ nop
/* f07a840: 44809000 */ mtc1 $zero,$f18
/* f07a844: 8fad0194 */ lw $t5,0x194($sp)
/* f07a848: e5b200a0 */ swc1 $f18,0xa0($t5)
.L0f07a84c:
/* f07a84c: 8fa40198 */ lw $a0,0x198($sp)
.L0f07a850:
/* f07a850: 0fc1905e */ jal propSetPerimEnabled
/* f07a854: 24050001 */ addiu $a1,$zero,0x1
/* f07a858: 8fae018c */ lw $t6,0x18c($sp)
/* f07a85c: 8fab0188 */ lw $t3,0x188($sp)
/* f07a860: 8faf0194 */ lw $t7,0x194($sp)
/* f07a864: 15c00003 */ bnez $t6,.L0f07a874
/* f07a868: 27a40168 */ addiu $a0,$sp,0x168
/* f07a86c: 51600009 */ beqzl $t3,.L0f07a894
/* f07a870: 8fb90148 */ lw $t9,0x148($sp)
.L0f07a874:
/* f07a874: 91e200a9 */ lbu $v0,0xa9($t7)
/* f07a878: 240100ff */ addiu $at,$zero,0xff
/* f07a87c: 58400005 */ blezl $v0,.L0f07a894
/* f07a880: 8fb90148 */ lw $t9,0x148($sp)
/* f07a884: 10410002 */ beq $v0,$at,.L0f07a890
/* f07a888: 2458ffff */ addiu $t8,$v0,-1
/* f07a88c: a1f800a9 */ sb $t8,0xa9($t7)
.L0f07a890:
/* f07a890: 8fb90148 */ lw $t9,0x148($sp)
.L0f07a894:
/* f07a894: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a898: 27a60158 */ addiu $a2,$sp,0x158
/* f07a89c: 13200024 */ beqz $t9,.L0f07a930
/* f07a8a0: 27a7012c */ addiu $a3,$sp,0x12c
/* f07a8a4: afa00010 */ sw $zero,0x10($sp)
/* f07a8a8: 0c006052 */ jal func00018148
/* f07a8ac: afa00014 */ sw $zero,0x14($sp)
/* f07a8b0: 0fc4f92a */ jal chrIsUsingPaintball
/* f07a8b4: 8fa40110 */ lw $a0,0x110($sp)
/* f07a8b8: 1040000b */ beqz $v0,.L0f07a8e8
/* f07a8bc: 8faa0194 */ lw $t2,0x194($sp)
/* f07a8c0: 24080019 */ addiu $t0,$zero,0x19
/* f07a8c4: afa80014 */ sw $t0,0x14($sp)
/* f07a8c8: 87a4012c */ lh $a0,0x12c($sp)
/* f07a8cc: 00002825 */ or $a1,$zero,$zero
/* f07a8d0: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a8d4: 00003825 */ or $a3,$zero,$zero
/* f07a8d8: 0fc4be7c */ jal sparksCreate
/* f07a8dc: afa00010 */ sw $zero,0x10($sp)
/* f07a8e0: 1000000f */ b .L0f07a920
/* f07a8e4: 27a40118 */ addiu $a0,$sp,0x118
.L0f07a8e8:
/* f07a8e8: 85490004 */ lh $t1,0x4($t2)
/* f07a8ec: 24010144 */ addiu $at,$zero,0x144
/* f07a8f0: 87a4012c */ lh $a0,0x12c($sp)
/* f07a8f4: 15210003 */ bne $t1,$at,.L0f07a904
/* f07a8f8: 00002825 */ or $a1,$zero,$zero
/* f07a8fc: 10000002 */ b .L0f07a908
/* f07a900: 24020017 */ addiu $v0,$zero,0x17
.L0f07a904:
/* f07a904: 00001025 */ or $v0,$zero,$zero
.L0f07a908:
/* f07a908: 27a6013c */ addiu $a2,$sp,0x13c
/* f07a90c: 00003825 */ or $a3,$zero,$zero
/* f07a910: afa00010 */ sw $zero,0x10($sp)
/* f07a914: 0fc4be7c */ jal sparksCreate
/* f07a918: afa20014 */ sw $v0,0x14($sp)
/* f07a91c: 27a40118 */ addiu $a0,$sp,0x118
.L0f07a920:
/* f07a920: 27a5013c */ addiu $a1,$sp,0x13c
/* f07a924: 2406ffff */ addiu $a2,$zero,-1
/* f07a928: 0fc2a132 */ jal bgunPlayBgHitSound
/* f07a92c: 27a7012c */ addiu $a3,$sp,0x12c
.L0f07a930:
/* f07a930: 8fac0128 */ lw $t4,0x128($sp)
/* f07a934: c7a8013c */ lwc1 $f8,0x13c($sp)
/* f07a938: c7a40168 */ lwc1 $f4,0x168($sp)
/* f07a93c: 51800097 */ beqzl $t4,.L0f07ab9c
/* f07a940: 8fa80194 */ lw $t0,0x194($sp)
/* f07a944: 46044181 */ sub.s $f6,$f8,$f4
/* f07a948: c7aa0140 */ lwc1 $f10,0x140($sp)
/* f07a94c: c7b0016c */ lwc1 $f16,0x16c($sp)
/* f07a950: c7a40170 */ lwc1 $f4,0x170($sp)
/* f07a954: c7a80144 */ lwc1 $f8,0x144($sp)
/* f07a958: 46105481 */ sub.s $f18,$f10,$f16
/* f07a95c: 8fad0194 */ lw $t5,0x194($sp)
/* f07a960: 46063402 */ mul.s $f16,$f6,$f6
/* f07a964: 46044281 */ sub.s $f10,$f8,$f4
/* f07a968: 8da3009c */ lw $v1,0x9c($t5)
/* f07a96c: 46129202 */ mul.s $f8,$f18,$f18
/* f07a970: e7a60068 */ swc1 $f6,0x68($sp)
/* f07a974: e7aa0070 */ swc1 $f10,0x70($sp)
/* f07a978: c7aa0070 */ lwc1 $f10,0x70($sp)
/* f07a97c: c7a60070 */ lwc1 $f6,0x70($sp)
/* f07a980: e7b2006c */ swc1 $f18,0x6c($sp)
/* f07a984: afa30078 */ sw $v1,0x78($sp)
/* f07a988: 46065482 */ mul.s $f18,$f10,$f6
/* f07a98c: 46088100 */ add.s $f4,$f16,$f8
/* f07a990: 0c012974 */ jal sqrtf
/* f07a994: 46049300 */ add.s $f12,$f18,$f4
/* f07a998: 44808000 */ mtc1 $zero,$f16
/* f07a99c: 8fa30078 */ lw $v1,0x78($sp)
/* f07a9a0: 46000306 */ mov.s $f12,$f0
/* f07a9a4: 4600803c */ c.lt.s $f16,$f0
/* f07a9a8: 3c017f1b */ lui $at,%hi(var7f1aa590)
/* f07a9ac: c7a80168 */ lwc1 $f8,0x168($sp)
/* f07a9b0: 4502007a */ bc1fl .L0f07ab9c
/* f07a9b4: 8fa80194 */ lw $t0,0x194($sp)
/* f07a9b8: c42ea590 */ lwc1 $f14,%lo(var7f1aa590)($at)
/* f07a9bc: e4680004 */ swc1 $f8,0x4($v1)
/* f07a9c0: 3c013f80 */ lui $at,0x3f80
/* f07a9c4: 44814000 */ mtc1 $at,$f8
/* f07a9c8: c7aa016c */ lwc1 $f10,0x16c($sp)
/* f07a9cc: 4600703c */ c.lt.s $f14,$f0
/* f07a9d0: 240f002b */ addiu $t7,$zero,0x2b
/* f07a9d4: 46004083 */ div.s $f2,$f8,$f0
/* f07a9d8: e46a0008 */ swc1 $f10,0x8($v1)
/* f07a9dc: c7a60170 */ lwc1 $f6,0x170($sp)
/* f07a9e0: 2418000c */ addiu $t8,$zero,0xc
/* f07a9e4: e466000c */ swc1 $f6,0xc($v1)
/* f07a9e8: c7b20068 */ lwc1 $f18,0x68($sp)
/* f07a9ec: e4720010 */ swc1 $f18,0x10($v1)
/* f07a9f0: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f07a9f4: c46a0010 */ lwc1 $f10,0x10($v1)
/* f07a9f8: e4640014 */ swc1 $f4,0x14($v1)
/* f07a9fc: c7b00070 */ lwc1 $f16,0x70($sp)
/* f07aa00: c4720014 */ lwc1 $f18,0x14($v1)
/* f07aa04: e4700018 */ swc1 $f16,0x18($v1)
/* f07aa08: c4700018 */ lwc1 $f16,0x18($v1)
/* f07aa0c: 46025182 */ mul.s $f6,$f10,$f2
/* f07aa10: 00000000 */ nop
/* f07aa14: 46029102 */ mul.s $f4,$f18,$f2
/* f07aa18: 00000000 */ nop
/* f07aa1c: 46028202 */ mul.s $f8,$f16,$f2
/* f07aa20: e4660010 */ swc1 $f6,0x10($v1)
/* f07aa24: e4640014 */ swc1 $f4,0x14($v1)
/* f07aa28: 45000002 */ bc1f .L0f07aa34
/* f07aa2c: e4680018 */ swc1 $f8,0x18($v1)
/* f07aa30: 46007306 */ mov.s $f12,$f14
.L0f07aa34:
/* f07aa34: a0600000 */ sb $zero,0x0($v1)
/* f07aa38: 8fae0194 */ lw $t6,0x194($sp)
/* f07aa3c: 24010144 */ addiu $at,$zero,0x144
/* f07aa40: 85cb0004 */ lh $t3,0x4($t6)
/* f07aa44: 55610004 */ bnel $t3,$at,.L0f07aa58
/* f07aa48: a06f0001 */ sb $t7,0x1($v1)
/* f07aa4c: 10000002 */ b .L0f07aa58
/* f07aa50: a0780001 */ sb $t8,0x1($v1)
/* f07aa54: a06f0001 */ sb $t7,0x1($v1)
.L0f07aa58:
/* f07aa58: 3c0143fa */ lui $at,0x43fa
/* f07aa5c: 44810000 */ mtc1 $at,$f0
/* f07aa60: e46c001c */ swc1 $f12,0x1c($v1)
/* f07aa64: 4600603c */ c.lt.s $f12,$f0
/* f07aa68: 00000000 */ nop
/* f07aa6c: 45020003 */ bc1fl .L0f07aa7c
/* f07aa70: 80790001 */ lb $t9,0x1($v1)
/* f07aa74: 46000306 */ mov.s $f12,$f0
/* f07aa78: 80790001 */ lb $t9,0x1($v1)
.L0f07aa7c:
/* f07aa7c: 2401001d */ addiu $at,$zero,0x1d
/* f07aa80: 17210026 */ bne $t9,$at,.L0f07ab1c
/* f07aa84: 3c017f1b */ lui $at,%hi(var7f1aa594)
/* f07aa88: c422a594 */ lwc1 $f2,%lo(var7f1aa594)($at)
/* f07aa8c: 3c013e80 */ lui $at,0x3e80
/* f07aa90: 44815000 */ mtc1 $at,$f10
/* f07aa94: 3c017f1b */ lui $at,%hi(var7f1aa598)
/* f07aa98: 460c5182 */ mul.s $f6,$f10,$f12
/* f07aa9c: e4660020 */ swc1 $f6,0x20($v1)
/* f07aaa0: c432a598 */ lwc1 $f18,%lo(var7f1aa598)($at)
/* f07aaa4: 460c9002 */ mul.s $f0,$f18,$f12
/* f07aaa8: 4600103c */ c.lt.s $f2,$f0
/* f07aaac: e4600024 */ swc1 $f0,0x24($v1)
/* f07aab0: 45020003 */ bc1fl .L0f07aac0
/* f07aab4: afa30078 */ sw $v1,0x78($sp)
/* f07aab8: e4620024 */ swc1 $f2,0x24($v1)
/* f07aabc: afa30078 */ sw $v1,0x78($sp)
.L0f07aac0:
/* f07aac0: 0c004b70 */ jal random
/* f07aac4: e7ac007c */ swc1 $f12,0x7c($sp)
/* f07aac8: 44822000 */ mtc1 $v0,$f4
/* f07aacc: 8fa30078 */ lw $v1,0x78($sp)
/* f07aad0: c7ac007c */ lwc1 $f12,0x7c($sp)
/* f07aad4: 04410005 */ bgez $v0,.L0f07aaec
/* f07aad8: 46802420 */ cvt.s.w $f16,$f4
/* f07aadc: 3c014f80 */ lui $at,0x4f80
/* f07aae0: 44814000 */ mtc1 $at,$f8
/* f07aae4: 00000000 */ nop
/* f07aae8: 46088400 */ add.s $f16,$f16,$f8
.L0f07aaec:
/* f07aaec: 3c012f80 */ lui $at,0x2f80
/* f07aaf0: 44815000 */ mtc1 $at,$f10
/* f07aaf4: 3c017f1b */ lui $at,%hi(var7f1aa59c)
/* f07aaf8: c432a59c */ lwc1 $f18,%lo(var7f1aa59c)($at)
/* f07aafc: 460a8182 */ mul.s $f6,$f16,$f10
/* f07ab00: 3c017f1b */ lui $at,%hi(var7f1aa5a0)
/* f07ab04: c428a5a0 */ lwc1 $f8,%lo(var7f1aa5a0)($at)
/* f07ab08: 46123102 */ mul.s $f4,$f6,$f18
/* f07ab0c: 46044401 */ sub.s $f16,$f8,$f4
/* f07ab10: 460c8282 */ mul.s $f10,$f16,$f12
/* f07ab14: 10000020 */ b .L0f07ab98
/* f07ab18: e46a0028 */ swc1 $f10,0x28($v1)
.L0f07ab1c:
/* f07ab1c: 3c017f1b */ lui $at,%hi(var7f1aa5a4)
/* f07ab20: c422a5a4 */ lwc1 $f2,%lo(var7f1aa5a4)($at)
/* f07ab24: 3c017f1b */ lui $at,%hi(var7f1aa5a8)
/* f07ab28: c426a5a8 */ lwc1 $f6,%lo(var7f1aa5a8)($at)
/* f07ab2c: 460c3002 */ mul.s $f0,$f6,$f12
/* f07ab30: 4600103c */ c.lt.s $f2,$f0
/* f07ab34: e4600020 */ swc1 $f0,0x20($v1)
/* f07ab38: e4600024 */ swc1 $f0,0x24($v1)
/* f07ab3c: 45000002 */ bc1f .L0f07ab48
/* f07ab40: 00000000 */ nop
/* f07ab44: e4620024 */ swc1 $f2,0x24($v1)
.L0f07ab48:
/* f07ab48: 0c004b70 */ jal random
/* f07ab4c: afa30078 */ sw $v1,0x78($sp)
/* f07ab50: 44829000 */ mtc1 $v0,$f18
/* f07ab54: 8fa30078 */ lw $v1,0x78($sp)
/* f07ab58: 04410005 */ bgez $v0,.L0f07ab70
/* f07ab5c: 46809220 */ cvt.s.w $f8,$f18
/* f07ab60: 3c014f80 */ lui $at,0x4f80
/* f07ab64: 44812000 */ mtc1 $at,$f4
/* f07ab68: 00000000 */ nop
/* f07ab6c: 46044200 */ add.s $f8,$f8,$f4
.L0f07ab70:
/* f07ab70: 3c012f80 */ lui $at,0x2f80
/* f07ab74: 44818000 */ mtc1 $at,$f16
/* f07ab78: 3c013f80 */ lui $at,0x3f80
/* f07ab7c: 44813000 */ mtc1 $at,$f6
/* f07ab80: 46104002 */ mul.s $f0,$f8,$f16
/* f07ab84: c4640020 */ lwc1 $f4,0x20($v1)
/* f07ab88: 46000280 */ add.s $f10,$f0,$f0
/* f07ab8c: 46065481 */ sub.s $f18,$f10,$f6
/* f07ab90: 46049202 */ mul.s $f8,$f18,$f4
/* f07ab94: e4680028 */ swc1 $f8,0x28($v1)
.L0f07ab98:
/* f07ab98: 8fa80194 */ lw $t0,0x194($sp)
.L0f07ab9c:
/* f07ab9c: 3c09800a */ lui $t1,%hi(g_Vars+0x8)
/* f07aba0: 8d299fc8 */ lw $t1,%lo(g_Vars+0x8)($t1)
/* f07aba4: 8d0a0098 */ lw $t2,0x98($t0)
/* f07aba8: 240c0002 */ addiu $t4,$zero,0x2
/* f07abac: 24050001 */ addiu $a1,$zero,0x1
/* f07abb0: 0149082a */ slt $at,$t2,$t1
/* f07abb4: 1020002d */ beqz $at,.L0f07ac6c
/* f07abb8: 3406ffff */ dli $a2,0xffff
/* f07abbc: afac0064 */ sw $t4,0x64($sp)
/* f07abc0: 0fc249af */ jal func0f0926bc
/* f07abc4: 8fa40198 */ lw $a0,0x198($sp)
/* f07abc8: 8fad0174 */ lw $t5,0x174($sp)
/* f07abcc: 8fae0194 */ lw $t6,0x194($sp)
/* f07abd0: 00002025 */ or $a0,$zero,$zero
/* f07abd4: 15a0001f */ bnez $t5,.L0f07ac54
/* f07abd8: 2407ffff */ addiu $a3,$zero,-1
/* f07abdc: 85c30004 */ lh $v1,0x4($t6)
/* f07abe0: 24010144 */ addiu $at,$zero,0x144
/* f07abe4: 3402806f */ dli $v0,0x806f
/* f07abe8: 14610002 */ bne $v1,$at,.L0f07abf4
/* f07abec: 240fffff */ addiu $t7,$zero,-1
/* f07abf0: 34028040 */ dli $v0,0x8040
.L0f07abf4:
/* f07abf4: 24010157 */ addiu $at,$zero,0x157
/* f07abf8: 14610004 */ bne $v1,$at,.L0f07ac0c
/* f07abfc: 2419ffff */ addiu $t9,$zero,-1
/* f07ac00: 240b0004 */ addiu $t3,$zero,0x4
/* f07ac04: 34028044 */ dli $v0,0x8044
/* f07ac08: afab0064 */ sw $t3,0x64($sp)
.L0f07ac0c:
/* f07ac0c: 3c01bf80 */ lui $at,0xbf80
/* f07ac10: 44810000 */ mtc1 $at,$f0
/* f07ac14: 00023400 */ sll $a2,$v0,0x10
/* f07ac18: 0006c403 */ sra $t8,$a2,0x10
/* f07ac1c: 03003025 */ or $a2,$t8,$zero
/* f07ac20: 8fa50198 */ lw $a1,0x198($sp)
/* f07ac24: afaf0010 */ sw $t7,0x10($sp)
/* f07ac28: afa00014 */ sw $zero,0x14($sp)
/* f07ac2c: afa00018 */ sw $zero,0x18($sp)
/* f07ac30: afa0001c */ sw $zero,0x1c($sp)
/* f07ac34: afa00020 */ sw $zero,0x20($sp)
/* f07ac38: afa00028 */ sw $zero,0x28($sp)
/* f07ac3c: afb9002c */ sw $t9,0x2c($sp)
/* f07ac40: e7a00024 */ swc1 $f0,0x24($sp)
/* f07ac44: e7a00030 */ swc1 $f0,0x30($sp)
/* f07ac48: e7a00034 */ swc1 $f0,0x34($sp)
/* f07ac4c: 0fc24e7e */ jal func0f0939f8
/* f07ac50: e7a00038 */ swc1 $f0,0x38($sp)
.L0f07ac54:
/* f07ac54: 3c0a800a */ lui $t2,%hi(g_Vars+0x8)
/* f07ac58: 8d4a9fc8 */ lw $t2,%lo(g_Vars+0x8)($t2)
/* f07ac5c: 8fa80064 */ lw $t0,0x64($sp)
/* f07ac60: 8fac0194 */ lw $t4,0x194($sp)
/* f07ac64: 010a4821 */ addu $t1,$t0,$t2
/* f07ac68: ad890098 */ sw $t1,0x98($t4)
.L0f07ac6c:
/* f07ac6c: 8fad0184 */ lw $t5,0x184($sp)
.L0f07ac70:
/* f07ac70: 24050005 */ addiu $a1,$zero,0x5
/* f07ac74: 0c006a47 */ jal modelGetPart
/* f07ac78: 8da40008 */ lw $a0,0x8($t5)
/* f07ac7c: 10400005 */ beqz $v0,.L0f07ac94
/* f07ac80: 00402825 */ or $a1,$v0,$zero
/* f07ac84: 0c006a87 */ jal modelGetNodeRwData
/* f07ac88: 8fa40184 */ lw $a0,0x184($sp)
/* f07ac8c: 8fae018c */ lw $t6,0x18c($sp)
/* f07ac90: a44e0000 */ sh $t6,0x0($v0)
.L0f07ac94:
/* f07ac94: 8fab0184 */ lw $t3,0x184($sp)
/* f07ac98: 24050007 */ addiu $a1,$zero,0x7
/* f07ac9c: 0c006a47 */ jal modelGetPart
/* f07aca0: 8d640008 */ lw $a0,0x8($t3)
/* f07aca4: 10400005 */ beqz $v0,.L0f07acbc
/* f07aca8: 00402825 */ or $a1,$v0,$zero
/* f07acac: 0c006a87 */ jal modelGetNodeRwData
/* f07acb0: 8fa40184 */ lw $a0,0x184($sp)
/* f07acb4: 8fb80188 */ lw $t8,0x188($sp)
/* f07acb8: a4580000 */ sh $t8,0x0($v0)
.L0f07acbc:
/* f07acbc: 8fbf0044 */ lw $ra,0x44($sp)
/* f07acc0: 27bd0198 */ addiu $sp,$sp,0x198
/* f07acc4: 03e00008 */ jr $ra
/* f07acc8: 00000000 */ nop
);
#endif
void chopperInitMatrices(struct prop *prop)
{
struct chopperobj *chopper = (struct chopperobj *)prop->obj;
struct model *model = chopper->base.model;
Mtxf *matrices = model->matrices;
union modelrodata *rodata;
Mtxf spa8;
Mtxf sp68;
Mtxf sp28;
rodata = modelGetPartRodata(model->filedata, MODELPART_CHOPPER_0001);
mtx4LoadZRotation(M_BADTAU - chopper->gunrotx, &sp68);
mtx4LoadYRotation(chopper->gunroty + 1.5707963705063f, &sp28);
mtx00015be4(&sp28, &sp68, &spa8);
mtx4SetTranslation(&rodata->position.pos, &spa8);
mtx00015be4(matrices, &spa8, &matrices[1]);
rodata = modelGetPartRodata(model->filedata, MODELPART_CHOPPER_0002);
mtx4LoadXRotation(chopper->barrelrot, &spa8);
mtx4SetTranslation(&rodata->position.pos, &spa8);
mtx00015be4(&matrices[1], &spa8, &matrices[2]);
}
struct prop *chopperGetTargetProp(struct chopperobj *chopper)
{
if (chopper->target == -1) {
return g_Vars.currentplayer->prop;
}
return g_Vars.props + chopper->target;
}
struct chopperobj *chopperFromHovercar(struct chopperobj *chopper)
{
if (chopper->base.type == OBJTYPE_CHOPPER) {
return chopper;
}
return NULL;
}
bool chopperCheckTargetInFov(struct chopperobj *hovercar, u8 fov)
{
struct chopperobj *chopper = chopperFromHovercar(hovercar);
u8 visible = false;
if (chopper) {
f32 roty = chopper->roty;
struct prop *target = chopperGetTargetProp(chopper);
struct prop *prop = chopper->base.prop;
f32 angle = atan2f(prop->pos.x - target->pos.x, prop->pos.z - target->pos.z);
f32 anglediff = angle - roty;
if (angle < roty) {
anglediff += M_BADTAU;
}
visible = false;
// This logic looks wrong, but is actually correct. I think the fov is
// actually the not viewable area and starts at the back of the chopper,
// which makes sense because the chopper's windows go around the side.
if (!(anglediff < fov * 0.024539785459638f && anglediff < M_PI)
&& !(anglediff > M_BADTAU - fov * 0.024539785459638f && anglediff > M_PI)) {
visible = true;
}
chopper->targetvisible = visible;
}
return visible;
}
bool chopperCheckTargetInSight(struct chopperobj *obj)
{
struct chopperobj *chopper = chopperFromHovercar(obj);
if (chopper) {
bool visible = false;
struct prop *target = chopperGetTargetProp(chopper);
if (target->type != PROPTYPE_PLAYER || g_Vars.bondvisible) {
visible = cdHasLineOfSight(&target->pos, target->rooms, &chopper->base.prop->pos, chopper->base.prop->rooms, 307, 16);
}
chopper->targetvisible = visible;
return visible;
}
return false;
}
void chopperSetTarget(struct chopperobj *obj, u32 chrnum)
{
struct chopperobj *chopper = chopperFromHovercar(obj);
if (chopper) {
struct chrdata *chr = chrFindById(NULL, chrnum);
if (chr && chr->prop) {
chopper->target = chr->prop - g_Vars.props;
}
}
}
bool chopperAttack(struct chopperobj *obj)
{
struct chopperobj *chopper = chopperFromHovercar(obj);
if (chopper) {
chopper->attackmode = CHOPPERMODE_COMBAT;
chopper->patroltimer60 = PALDOWN(240);
return true;
}
return false;
}
bool chopperStop(struct chopperobj *obj)
{
struct chopperobj *chopper = chopperFromHovercar(obj);
if (chopper) {
chopper->attackmode = CHOPPERMODE_PATROL;
chopper->patroltimer60 = PALDOWN(120);
chopper->power = 0;
return true;
}
return false;
}
bool chopperSetArmed(struct chopperobj *obj, bool armed)
{
struct chopperobj *chopper = chopperFromHovercar(obj);
if (chopper) {
chopper->weaponsarmed = armed;
return true;
}
return false;
}
void chopperRestartTimer(struct chopperobj *obj)
{
struct chopperobj *chopper = chopperFromHovercar(obj);
if (chopper) {
chopper->timer60 = 0;
}
}
f32 chopperGetTimer(struct chopperobj *obj)
{
struct chopperobj *chopper = chopperFromHovercar(obj);
return chopper->timer60 * FRAMEDURATION;
}
void chopperSetMaxDamage(struct chopperobj *chopper, u16 health)
{
chopper->base.maxdamage = health;
}
GLOBAL_ASM(
glabel func0f07b164
/* f07b164: 27bdffc0 */ addiu $sp,$sp,-64
/* f07b168: afbf001c */ sw $ra,0x1c($sp)
/* f07b16c: afb00018 */ sw $s0,0x18($sp)
/* f07b170: afa50044 */ sw $a1,0x44($sp)
/* f07b174: afa60048 */ sw $a2,0x48($sp)
/* f07b178: c4860000 */ lwc1 $f6,0x0($a0)
/* f07b17c: c4a40000 */ lwc1 $f4,0x0($a1)
/* f07b180: 00808025 */ or $s0,$a0,$zero
/* f07b184: 46062201 */ sub.s $f8,$f4,$f6
/* f07b188: e7a80034 */ swc1 $f8,0x34($sp)
/* f07b18c: c4900004 */ lwc1 $f16,0x4($a0)
/* f07b190: c4aa0004 */ lwc1 $f10,0x4($a1)
/* f07b194: 46105481 */ sub.s $f18,$f10,$f16
/* f07b198: e7b20038 */ swc1 $f18,0x38($sp)
/* f07b19c: c4860008 */ lwc1 $f6,0x8($a0)
/* f07b1a0: c4a40008 */ lwc1 $f4,0x8($a1)
/* f07b1a4: 27a50038 */ addiu $a1,$sp,0x38
/* f07b1a8: 46062201 */ sub.s $f8,$f4,$f6
/* f07b1ac: e7a8003c */ swc1 $f8,0x3c($sp)
/* f07b1b0: c4900000 */ lwc1 $f16,0x0($a0)
/* f07b1b4: c4ca0000 */ lwc1 $f10,0x0($a2)
/* f07b1b8: 46105481 */ sub.s $f18,$f10,$f16
/* f07b1bc: e7b20028 */ swc1 $f18,0x28($sp)
/* f07b1c0: c4860004 */ lwc1 $f6,0x4($a0)
/* f07b1c4: c4c40004 */ lwc1 $f4,0x4($a2)
/* f07b1c8: 46062201 */ sub.s $f8,$f4,$f6
/* f07b1cc: e7a8002c */ swc1 $f8,0x2c($sp)
/* f07b1d0: c4900008 */ lwc1 $f16,0x8($a0)
/* f07b1d4: c4ca0008 */ lwc1 $f10,0x8($a2)
/* f07b1d8: afa7004c */ sw $a3,0x4c($sp)
/* f07b1dc: 27a6003c */ addiu $a2,$sp,0x3c
/* f07b1e0: 46105481 */ sub.s $f18,$f10,$f16
/* f07b1e4: 27a40034 */ addiu $a0,$sp,0x34
/* f07b1e8: 0c0011e4 */ jal guNormalize
/* f07b1ec: e7b20030 */ swc1 $f18,0x30($sp)
/* f07b1f0: c7a40028 */ lwc1 $f4,0x28($sp)
/* f07b1f4: c7a60034 */ lwc1 $f6,0x34($sp)
/* f07b1f8: c7aa002c */ lwc1 $f10,0x2c($sp)
/* f07b1fc: c7b00038 */ lwc1 $f16,0x38($sp)
/* f07b200: 46062202 */ mul.s $f8,$f4,$f6
/* f07b204: 8fa7004c */ lw $a3,0x4c($sp)
/* f07b208: 46105482 */ mul.s $f18,$f10,$f16
/* f07b20c: c7b00030 */ lwc1 $f16,0x30($sp)
/* f07b210: c7aa003c */ lwc1 $f10,0x3c($sp)
/* f07b214: 46124100 */ add.s $f4,$f8,$f18
/* f07b218: 46105202 */ mul.s $f8,$f10,$f16
/* f07b21c: c60a0000 */ lwc1 $f10,0x0($s0)
/* f07b220: 46044080 */ add.s $f2,$f8,$f4
/* f07b224: 46023482 */ mul.s $f18,$f6,$f2
/* f07b228: 460a9400 */ add.s $f16,$f18,$f10
/* f07b22c: e4f00000 */ swc1 $f16,0x0($a3)
/* f07b230: c7a80038 */ lwc1 $f8,0x38($sp)
/* f07b234: c6060004 */ lwc1 $f6,0x4($s0)
/* f07b238: 46024102 */ mul.s $f4,$f8,$f2
/* f07b23c: 46062480 */ add.s $f18,$f4,$f6
/* f07b240: e4f20004 */ swc1 $f18,0x4($a3)
/* f07b244: c7aa003c */ lwc1 $f10,0x3c($sp)
/* f07b248: c6080008 */ lwc1 $f8,0x8($s0)
/* f07b24c: 46025402 */ mul.s $f16,$f10,$f2
/* f07b250: 46088100 */ add.s $f4,$f16,$f8
/* f07b254: e4e40008 */ swc1 $f4,0x8($a3)
/* f07b258: c7a60028 */ lwc1 $f6,0x28($sp)
/* f07b25c: c7aa002c */ lwc1 $f10,0x2c($sp)
/* f07b260: c7a40030 */ lwc1 $f4,0x30($sp)
/* f07b264: 46063482 */ mul.s $f18,$f6,$f6
/* f07b268: 8fbf001c */ lw $ra,0x1c($sp)
/* f07b26c: 8fb00018 */ lw $s0,0x18($sp)
/* f07b270: 460a5402 */ mul.s $f16,$f10,$f10
/* f07b274: 27bd0040 */ addiu $sp,$sp,0x40
/* f07b278: 46042182 */ mul.s $f6,$f4,$f4
/* f07b27c: 46109200 */ add.s $f8,$f18,$f16
/* f07b280: 46021482 */ mul.s $f18,$f2,$f2
/* f07b284: 46083280 */ add.s $f10,$f6,$f8
/* f07b288: 03e00008 */ jr $ra
/* f07b28c: 46125001 */ sub.s $f0,$f10,$f18
);
void chopperFireRocket(struct chopperobj *chopper, bool side)
{
if (chopper->ontarget) {
struct coord direction;
struct coord pos;
struct prop *targetprop = chopperGetTargetProp(chopper);
struct prop *chopperprop = chopper->base.prop;
u32 stack;
Mtxf sp6c;
Mtxf sp2c;
pos.x = side ? -754 : 754;
pos.y = -400;
pos.z = -400;
mtx3ToMtx4(chopper->base.realrot, &sp2c);
mtx4LoadTranslation(&pos, &sp6c);
mtx4MultMtx4InPlace(&sp2c, &sp6c);
pos.x = sp6c.m[3][0] + chopperprop->pos.f[0];
pos.y = sp6c.m[3][1] + chopperprop->pos.f[1];
pos.z = sp6c.m[3][2] + chopperprop->pos.f[2];
direction.x = targetprop->pos.x - pos.x;
direction.y = targetprop->pos.y - pos.y + (s32)(random() % 100);
direction.z = targetprop->pos.z - pos.z;
guNormalize(&direction.x, &direction.y, &direction.z);
smokeCreateSimple(&pos, chopperprop->rooms, SMOKETYPE_3);
projectileCreate(chopperprop, 0, &pos, &direction, WEAPON_ROCKETLAUNCHER, targetprop);
}
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f07b3f0
.late_rodata
glabel var7f1aa5d4
.word 0x3dcccccd
glabel var7f1aa5d8
.word 0x40c907a9
glabel var7f1aa5dc
.word 0x40c907a9
glabel var7f1aa5e0
.word 0x40490fdb
glabel var7f1aa5e4
.word 0xc0490fdb
glabel var7f1aa5e8
.word 0x40c907a9
glabel var7f1aa5ec
.word 0x40c907a9
glabel var7f1aa5f0
.word 0x40490fdb
glabel var7f1aa5f4
.word 0x3eb2b8c2
glabel var7f1aa5f8
.word 0x3c8efa35
glabel var7f1aa5fc
.word 0x3c8efa35
glabel var7f1aa600
.word 0x3b36fb5e
glabel var7f1aa604
.word 0x3bb6fb5e
glabel var7f1aa608
.word 0x3e2b8ba9
glabel var7f1aa60c
.word 0xbbb6fb5e
glabel var7f1aa610
.word 0xbbb6fb5e
.text
/* f07b3f0: 27bdfee0 */ addiu $sp,$sp,-288
/* f07b3f4: afbf0024 */ sw $ra,0x24($sp)
/* f07b3f8: afb00020 */ sw $s0,0x20($sp)
/* f07b3fc: afa40120 */ sw $a0,0x120($sp)
/* f07b400: afa50124 */ sw $a1,0x124($sp)
/* f07b404: 8c820004 */ lw $v0,0x4($a0)
/* f07b408: 3c013f80 */ lui $at,0x3f80
/* f07b40c: 44812000 */ mtc1 $at,$f4
/* f07b410: afa2011c */ sw $v0,0x11c($sp)
/* f07b414: 8c4f0018 */ lw $t7,0x18($v0)
/* f07b418: e7a40108 */ swc1 $f4,0x108($sp)
/* f07b41c: 44808000 */ mtc1 $zero,$f16
/* f07b420: afaf0114 */ sw $t7,0x114($sp)
/* f07b424: c44600d0 */ lwc1 $f6,0xd0($v0)
/* f07b428: 00408025 */ or $s0,$v0,$zero
/* f07b42c: 00402025 */ or $a0,$v0,$zero
/* f07b430: e7a600ec */ swc1 $f6,0xec($sp)
/* f07b434: c44800d4 */ lwc1 $f8,0xd4($v0)
/* f07b438: e7a800e8 */ swc1 $f8,0xe8($sp)
/* f07b43c: c44a00c8 */ lwc1 $f10,0xc8($v0)
/* f07b440: e7aa00e4 */ swc1 $f10,0xe4($sp)
/* f07b444: c44400cc */ lwc1 $f4,0xcc($v0)
/* f07b448: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b44c: e7b0010c */ swc1 $f16,0x10c($sp)
/* f07b450: 0fc1eb6e */ jal chopperGetTargetProp
/* f07b454: e7a400e0 */ swc1 $f4,0xe0($sp)
/* f07b458: afa200dc */ sw $v0,0xdc($sp)
/* f07b45c: afa000d4 */ sw $zero,0xd4($sp)
/* f07b460: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07b464: 24010003 */ addiu $at,$zero,0x3
/* f07b468: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b46c: 90640000 */ lbu $a0,0x0($v1)
/* f07b470: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b474: 24050001 */ addiu $a1,$zero,0x1
/* f07b478: 0081001a */ div $zero,$a0,$at
/* f07b47c: 0000c010 */ mfhi $t8
/* f07b480: 2f190001 */ sltiu $t9,$t8,0x1
/* f07b484: a0790001 */ sb $t9,0x1($v1)
/* f07b488: 8fa80124 */ lw $t0,0x124($sp)
/* f07b48c: 8fa90114 */ lw $t1,0x114($sp)
/* f07b490: 510000b2 */ beqzl $t0,.L0f07b75c
/* f07b494: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b498: 0c006a6f */ jal modelGetPartRodata
/* f07b49c: 8d240008 */ lw $a0,0x8($t1)
/* f07b4a0: 8faa00dc */ lw $t2,0xdc($sp)
/* f07b4a4: afa200d0 */ sw $v0,0xd0($sp)
/* f07b4a8: 3c0141a0 */ lui $at,0x41a0
/* f07b4ac: 44814000 */ mtc1 $at,$f8
/* f07b4b0: c546000c */ lwc1 $f6,0xc($t2)
/* f07b4b4: 46083281 */ sub.s $f10,$f6,$f8
/* f07b4b8: 0c004b70 */ jal random
/* f07b4bc: e7aa004c */ swc1 $f10,0x4c($sp)
/* f07b4c0: 0c004b70 */ jal random
/* f07b4c4: afa2003c */ sw $v0,0x3c($sp)
/* f07b4c8: 44802000 */ mtc1 $zero,$f4
/* f07b4cc: 04010005 */ bgez $zero,.L0f07b4e4
/* f07b4d0: 468021a0 */ cvt.s.w $f6,$f4
/* f07b4d4: 3c014f80 */ lui $at,0x4f80
/* f07b4d8: 44814000 */ mtc1 $at,$f8
/* f07b4dc: 00000000 */ nop
/* f07b4e0: 46083180 */ add.s $f6,$f6,$f8
.L0f07b4e4:
/* f07b4e4: 3c0141f0 */ lui $at,0x41f0
/* f07b4e8: 44815000 */ mtc1 $at,$f10
/* f07b4ec: 8fab00d0 */ lw $t3,0xd0($sp)
/* f07b4f0: 460a3102 */ mul.s $f4,$f6,$f10
/* f07b4f4: c5680000 */ lwc1 $f8,0x0($t3)
/* f07b4f8: 46082180 */ add.s $f6,$f4,$f8
/* f07b4fc: 0c004b70 */ jal random
/* f07b500: e7a600f0 */ swc1 $f6,0xf0($sp)
/* f07b504: 44805000 */ mtc1 $zero,$f10
/* f07b508: 8fa3011c */ lw $v1,0x11c($sp)
/* f07b50c: 04010005 */ bgez $zero,.L0f07b524
/* f07b510: 46805120 */ cvt.s.w $f4,$f10
/* f07b514: 3c014f80 */ lui $at,0x4f80
/* f07b518: 44814000 */ mtc1 $at,$f8
/* f07b51c: 00000000 */ nop
/* f07b520: 46082100 */ add.s $f4,$f4,$f8
.L0f07b524:
/* f07b524: 3c0141f0 */ lui $at,0x41f0
/* f07b528: 44813000 */ mtc1 $at,$f6
/* f07b52c: 8fac00d0 */ lw $t4,0xd0($sp)
/* f07b530: 3c014248 */ lui $at,0x4248
/* f07b534: 46062282 */ mul.s $f10,$f4,$f6
/* f07b538: 44812000 */ mtc1 $at,$f4
/* f07b53c: c5880004 */ lwc1 $f8,0x4($t4)
/* f07b540: 3c01437a */ lui $at,0x437a
/* f07b544: 2464001c */ addiu $a0,$v1,0x1c
/* f07b548: 46044181 */ sub.s $f6,$f8,$f4
/* f07b54c: 46065200 */ add.s $f8,$f10,$f6
/* f07b550: 44815000 */ mtc1 $at,$f10
/* f07b554: 24010128 */ addiu $at,$zero,0x128
/* f07b558: e7a800f4 */ swc1 $f8,0xf4($sp)
/* f07b55c: c5840008 */ lwc1 $f4,0x8($t4)
/* f07b560: 460a2180 */ add.s $f6,$f4,$f10
/* f07b564: e7a600f8 */ swc1 $f6,0xf8($sp)
/* f07b568: 846d0004 */ lh $t5,0x4($v1)
/* f07b56c: 15a1000e */ bne $t5,$at,.L0f07b5a8
/* f07b570: 00000000 */ nop
/* f07b574: 8c6e0018 */ lw $t6,0x18($v1)
/* f07b578: 3c017f1b */ lui $at,%hi(var7f1aa5d4)
/* f07b57c: c424a5d4 */ lwc1 $f4,%lo(var7f1aa5d4)($at)
/* f07b580: c5ca0014 */ lwc1 $f10,0x14($t6)
/* f07b584: 460a2003 */ div.s $f0,$f4,$f10
/* f07b588: c7a400f0 */ lwc1 $f4,0xf0($sp)
/* f07b58c: 46002282 */ mul.s $f10,$f4,$f0
/* f07b590: e7aa00f0 */ swc1 $f10,0xf0($sp)
/* f07b594: 46004102 */ mul.s $f4,$f8,$f0
/* f07b598: 00000000 */ nop
/* f07b59c: 46003282 */ mul.s $f10,$f6,$f0
/* f07b5a0: e7a400f4 */ swc1 $f4,0xf4($sp)
/* f07b5a4: e7aa00f8 */ swc1 $f10,0xf8($sp)
.L0f07b5a8:
/* f07b5a8: 0c005755 */ jal mtx3ToMtx4
/* f07b5ac: 27a50050 */ addiu $a1,$sp,0x50
/* f07b5b0: 27a400f0 */ addiu $a0,$sp,0xf0
/* f07b5b4: 0c0059b7 */ jal mtx4LoadTranslation
/* f07b5b8: 27a50090 */ addiu $a1,$sp,0x90
/* f07b5bc: 27a40050 */ addiu $a0,$sp,0x50
/* f07b5c0: 0c00567f */ jal mtx4MultMtx4InPlace
/* f07b5c4: 27a50090 */ addiu $a1,$sp,0x90
/* f07b5c8: 8fa30120 */ lw $v1,0x120($sp)
/* f07b5cc: c7a400c0 */ lwc1 $f4,0xc0($sp)
/* f07b5d0: 8fa200dc */ lw $v0,0xdc($sp)
/* f07b5d4: c4680008 */ lwc1 $f8,0x8($v1)
/* f07b5d8: 46044180 */ add.s $f6,$f8,$f4
/* f07b5dc: c7a800c4 */ lwc1 $f8,0xc4($sp)
/* f07b5e0: e7a600f0 */ swc1 $f6,0xf0($sp)
/* f07b5e4: c46a000c */ lwc1 $f10,0xc($v1)
/* f07b5e8: 46085100 */ add.s $f4,$f10,$f8
/* f07b5ec: c7aa00c8 */ lwc1 $f10,0xc8($sp)
/* f07b5f0: e7a400f4 */ swc1 $f4,0xf4($sp)
/* f07b5f4: c4660010 */ lwc1 $f6,0x10($v1)
/* f07b5f8: 460a3200 */ add.s $f8,$f6,$f10
/* f07b5fc: c7a600f0 */ lwc1 $f6,0xf0($sp)
/* f07b600: e7a800f8 */ swc1 $f8,0xf8($sp)
/* f07b604: c7a800f8 */ lwc1 $f8,0xf8($sp)
/* f07b608: c44a0010 */ lwc1 $f10,0x10($v0)
/* f07b60c: c4440008 */ lwc1 $f4,0x8($v0)
/* f07b610: 46085381 */ sub.s $f14,$f10,$f8
/* f07b614: 0fc259d4 */ jal atan2f
/* f07b618: 46062301 */ sub.s $f12,$f4,$f6
/* f07b61c: 44802000 */ mtc1 $zero,$f4
/* f07b620: 46000406 */ mov.s $f16,$f0
/* f07b624: 3c017f1b */ lui $at,%hi(var7f1aa5d8)
/* f07b628: 4604003e */ c.le.s $f0,$f4
/* f07b62c: 8faf00dc */ lw $t7,0xdc($sp)
/* f07b630: 45000003 */ bc1f .L0f07b640
/* f07b634: 00000000 */ nop
/* f07b638: c432a5d8 */ lwc1 $f18,%lo(var7f1aa5d8)($at)
/* f07b63c: 46120400 */ add.s $f16,$f0,$f18
.L0f07b640:
/* f07b640: 3c017f1b */ lui $at,%hi(var7f1aa5dc)
/* f07b644: c432a5dc */ lwc1 $f18,%lo(var7f1aa5dc)($at)
/* f07b648: 4610903c */ c.lt.s $f18,$f16
/* f07b64c: 00000000 */ nop
/* f07b650: 45020003 */ bc1fl .L0f07b660
/* f07b654: c606007c */ lwc1 $f6,0x7c($s0)
/* f07b658: 46128401 */ sub.s $f16,$f16,$f18
/* f07b65c: c606007c */ lwc1 $f6,0x7c($s0)
.L0f07b660:
/* f07b660: 3c017f1b */ lui $at,%hi(var7f1aa5e0)
/* f07b664: c42aa5e0 */ lwc1 $f10,%lo(var7f1aa5e0)($at)
/* f07b668: 46068401 */ sub.s $f16,$f16,$f6
/* f07b66c: 3c017f1b */ lui $at,%hi(var7f1aa5e4)
/* f07b670: c7a600f0 */ lwc1 $f6,0xf0($sp)
/* f07b674: 4610503c */ c.lt.s $f10,$f16
/* f07b678: 00000000 */ nop
/* f07b67c: 45000002 */ bc1f .L0f07b688
/* f07b680: 00000000 */ nop
/* f07b684: 46128401 */ sub.s $f16,$f16,$f18
.L0f07b688:
/* f07b688: c428a5e4 */ lwc1 $f8,%lo(var7f1aa5e4)($at)
/* f07b68c: 4608803c */ c.lt.s $f16,$f8
/* f07b690: 00000000 */ nop
/* f07b694: 45020003 */ bc1fl .L0f07b6a4
/* f07b698: c5e40008 */ lwc1 $f4,0x8($t7)
/* f07b69c: 46128400 */ add.s $f16,$f16,$f18
/* f07b6a0: c5e40008 */ lwc1 $f4,0x8($t7)
.L0f07b6a4:
/* f07b6a4: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f07b6a8: c7a800f8 */ lwc1 $f8,0xf8($sp)
/* f07b6ac: 46062001 */ sub.s $f0,$f4,$f6
/* f07b6b0: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b6b4: 46085081 */ sub.s $f2,$f10,$f8
/* f07b6b8: 46000102 */ mul.s $f4,$f0,$f0
/* f07b6bc: 00000000 */ nop
/* f07b6c0: 46021182 */ mul.s $f6,$f2,$f2
/* f07b6c4: 0c012974 */ jal sqrtf
/* f07b6c8: 46062300 */ add.s $f12,$f4,$f6
/* f07b6cc: c7aa004c */ lwc1 $f10,0x4c($sp)
/* f07b6d0: c7a800f4 */ lwc1 $f8,0xf4($sp)
/* f07b6d4: 46000386 */ mov.s $f14,$f0
/* f07b6d8: 0fc259d4 */ jal atan2f
/* f07b6dc: 46085301 */ sub.s $f12,$f10,$f8
/* f07b6e0: c6040080 */ lwc1 $f4,0x80($s0)
/* f07b6e4: 3c017f1b */ lui $at,%hi(var7f1aa5ec)
/* f07b6e8: c432a5ec */ lwc1 $f18,%lo(var7f1aa5ec)($at)
/* f07b6ec: 46040181 */ sub.s $f6,$f0,$f4
/* f07b6f0: 3c017f1b */ lui $at,%hi(var7f1aa5f0)
/* f07b6f4: c42aa5f0 */ lwc1 $f10,%lo(var7f1aa5f0)($at)
/* f07b6f8: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b6fc: 46123080 */ add.s $f2,$f6,$f18
/* f07b700: 3c017f1b */ lui $at,%hi(var7f1aa5f4)
/* f07b704: 4602503c */ c.lt.s $f10,$f2
/* f07b708: 00000000 */ nop
/* f07b70c: 45000002 */ bc1f .L0f07b718
/* f07b710: 00000000 */ nop
/* f07b714: 46121081 */ sub.s $f2,$f2,$f18
.L0f07b718:
/* f07b718: c42ca5f4 */ lwc1 $f12,%lo(var7f1aa5f4)($at)
/* f07b71c: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b720: 3c017f1b */ lui $at,%hi(var7f1aa5f8)
/* f07b724: 460c003c */ c.lt.s $f0,$f12
/* f07b728: 00000000 */ nop
/* f07b72c: 45000008 */ bc1f .L0f07b750
/* f07b730: 00000000 */ nop
/* f07b734: c428a5f8 */ lwc1 $f8,%lo(var7f1aa5f8)($at)
/* f07b738: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07b73c: c424a004 */ lwc1 $f4,%lo(g_Vars+0x4c)($at)
/* f07b740: 46044182 */ mul.s $f6,$f8,$f4
/* f07b744: 46060280 */ add.s $f10,$f0,$f6
/* f07b748: 10000014 */ b .L0f07b79c
/* f07b74c: e60a00d8 */ swc1 $f10,0xd8($s0)
.L0f07b750:
/* f07b750: 10000012 */ b .L0f07b79c
/* f07b754: e60c00d8 */ swc1 $f12,0xd8($s0)
/* f07b758: c60000d8 */ lwc1 $f0,0xd8($s0)
.L0f07b75c:
/* f07b75c: 44804000 */ mtc1 $zero,$f8
/* f07b760: 3c013e00 */ lui $at,0x3e00
/* f07b764: 44819000 */ mtc1 $at,$f18
/* f07b768: 4600403c */ c.lt.s $f8,$f0
/* f07b76c: 3c017f1b */ lui $at,%hi(var7f1aa5fc)
/* f07b770: 45020007 */ bc1fl .L0f07b790
/* f07b774: 44805000 */ mtc1 $zero,$f10
/* f07b778: c424a5fc */ lwc1 $f4,%lo(var7f1aa5fc)($at)
/* f07b77c: 46040181 */ sub.s $f6,$f0,$f4
/* f07b780: e60600d8 */ swc1 $f6,0xd8($s0)
/* f07b784: 10000005 */ b .L0f07b79c
/* f07b788: e7b20108 */ swc1 $f18,0x108($sp)
/* f07b78c: 44805000 */ mtc1 $zero,$f10
.L0f07b790:
/* f07b790: 00000000 */ nop
/* f07b794: e60a00d8 */ swc1 $f10,0xd8($s0)
/* f07b798: e7b20108 */ swc1 $f18,0x108($sp)
.L0f07b79c:
/* f07b79c: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07b7a0: c424a004 */ lwc1 $f4,%lo(g_Vars+0x4c)($at)
/* f07b7a4: c60800d8 */ lwc1 $f8,0xd8($s0)
/* f07b7a8: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f07b7ac: c7b20108 */ lwc1 $f18,0x108($sp)
/* f07b7b0: 46044182 */ mul.s $f6,$f8,$f4
/* f07b7b4: 3c017f1b */ lui $at,%hi(var7f1aa600)
/* f07b7b8: 44058000 */ mfc1 $a1,$f16
/* f07b7bc: 27a400ec */ addiu $a0,$sp,0xec
/* f07b7c0: 27a600e4 */ addiu $a2,$sp,0xe4
/* f07b7c4: 46065200 */ add.s $f8,$f10,$f6
/* f07b7c8: e60800dc */ swc1 $f8,0xdc($s0)
/* f07b7cc: c424a600 */ lwc1 $f4,%lo(var7f1aa600)($at)
/* f07b7d0: 3c017f1b */ lui $at,%hi(var7f1aa604)
/* f07b7d4: c42aa604 */ lwc1 $f10,%lo(var7f1aa604)($at)
/* f07b7d8: 46122302 */ mul.s $f12,$f4,$f18
/* f07b7dc: 3c017f1b */ lui $at,%hi(var7f1aa608)
/* f07b7e0: c426a608 */ lwc1 $f6,%lo(var7f1aa608)($at)
/* f07b7e4: 46125002 */ mul.s $f0,$f10,$f18
/* f07b7e8: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b7ec: e7a2010c */ swc1 $f2,0x10c($sp)
/* f07b7f0: 46123382 */ mul.s $f14,$f6,$f18
/* f07b7f4: 44076000 */ mfc1 $a3,$f12
/* f07b7f8: e7ac0034 */ swc1 $f12,0x34($sp)
/* f07b7fc: e7a00010 */ swc1 $f0,0x10($sp)
/* f07b800: e7a00030 */ swc1 $f0,0x30($sp)
/* f07b804: e7ae0014 */ swc1 $f14,0x14($sp)
/* f07b808: 0fc1b643 */ jal applySpeed
/* f07b80c: e7ae002c */ swc1 $f14,0x2c($sp)
/* f07b810: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b814: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b818: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b81c: c7a00030 */ lwc1 $f0,0x30($sp)
/* f07b820: 46104032 */ c.eq.s $f8,$f16
/* f07b824: 44051000 */ mfc1 $a1,$f2
/* f07b828: c7ac0034 */ lwc1 $f12,0x34($sp)
/* f07b82c: c7ae002c */ lwc1 $f14,0x2c($sp)
/* f07b830: 45000011 */ bc1f .L0f07b878
/* f07b834: 27a400e8 */ addiu $a0,$sp,0xe8
/* f07b838: c7b000e4 */ lwc1 $f16,0xe4($sp)
/* f07b83c: 3c017f1b */ lui $at,%hi(var7f1aa60c)
/* f07b840: c7aa0108 */ lwc1 $f10,0x108($sp)
/* f07b844: 4600803e */ c.le.s $f16,$f0
/* f07b848: 00000000 */ nop
/* f07b84c: 4502000b */ bc1fl .L0f07b87c
/* f07b850: 44076000 */ mfc1 $a3,$f12
/* f07b854: c424a60c */ lwc1 $f4,%lo(var7f1aa60c)($at)
/* f07b858: 460a2182 */ mul.s $f6,$f4,$f10
/* f07b85c: 4610303e */ c.le.s $f6,$f16
/* f07b860: 00000000 */ nop
/* f07b864: 45020005 */ bc1fl .L0f07b87c
/* f07b868: 44076000 */ mfc1 $a3,$f12
/* f07b86c: 44808000 */ mtc1 $zero,$f16
/* f07b870: 00000000 */ nop
/* f07b874: e7b000e4 */ swc1 $f16,0xe4($sp)
.L0f07b878:
/* f07b878: 44076000 */ mfc1 $a3,$f12
.L0f07b87c:
/* f07b87c: 27a600e0 */ addiu $a2,$sp,0xe0
/* f07b880: e7a00010 */ swc1 $f0,0x10($sp)
/* f07b884: e7ae0014 */ swc1 $f14,0x14($sp)
/* f07b888: e7a00030 */ swc1 $f0,0x30($sp)
/* f07b88c: 0fc1b643 */ jal applySpeed
/* f07b890: e7a2010c */ swc1 $f2,0x10c($sp)
/* f07b894: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b898: c7a800e8 */ lwc1 $f8,0xe8($sp)
/* f07b89c: c7a00030 */ lwc1 $f0,0x30($sp)
/* f07b8a0: 46024032 */ c.eq.s $f8,$f2
/* f07b8a4: c7a200e0 */ lwc1 $f2,0xe0($sp)
/* f07b8a8: 45020010 */ bc1fl .L0f07b8ec
/* f07b8ac: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8b0: 4600103e */ c.le.s $f2,$f0
/* f07b8b4: 3c017f1b */ lui $at,%hi(var7f1aa610)
/* f07b8b8: c7aa0108 */ lwc1 $f10,0x108($sp)
/* f07b8bc: 4502000b */ bc1fl .L0f07b8ec
/* f07b8c0: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8c4: c424a610 */ lwc1 $f4,%lo(var7f1aa610)($at)
/* f07b8c8: 460a2182 */ mul.s $f6,$f4,$f10
/* f07b8cc: 4602303e */ c.le.s $f6,$f2
/* f07b8d0: 00000000 */ nop
/* f07b8d4: 45020005 */ bc1fl .L0f07b8ec
/* f07b8d8: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8dc: 44801000 */ mtc1 $zero,$f2
/* f07b8e0: 00000000 */ nop
/* f07b8e4: e7a200e0 */ swc1 $f2,0xe0($sp)
/* f07b8e8: c7a800ec */ lwc1 $f8,0xec($sp)
.L0f07b8ec:
/* f07b8ec: 8e1800e0 */ lw $t8,0xe0($s0)
/* f07b8f0: e60800d0 */ swc1 $f8,0xd0($s0)
/* f07b8f4: c7a400e8 */ lwc1 $f4,0xe8($sp)
/* f07b8f8: e60400d4 */ swc1 $f4,0xd4($s0)
/* f07b8fc: c7aa00e4 */ lwc1 $f10,0xe4($sp)
/* f07b900: e60a00c8 */ swc1 $f10,0xc8($s0)
/* f07b904: c7a600e0 */ lwc1 $f6,0xe0($sp)
/* f07b908: e60600cc */ swc1 $f6,0xcc($s0)
/* f07b90c: 93190000 */ lbu $t9,0x0($t8)
/* f07b910: 07210004 */ bgez $t9,.L0f07b924
/* f07b914: 33280001 */ andi $t0,$t9,0x1
/* f07b918: 11000002 */ beqz $t0,.L0f07b924
/* f07b91c: 00000000 */ nop
/* f07b920: 2508fffe */ addiu $t0,$t0,-2
.L0f07b924:
/* f07b924: 55000003 */ bnezl $t0,.L0f07b934
/* f07b928: 8fa90114 */ lw $t1,0x114($sp)
/* f07b92c: afa00124 */ sw $zero,0x124($sp)
/* f07b930: 8fa90114 */ lw $t1,0x114($sp)
.L0f07b934:
/* f07b934: 24050003 */ addiu $a1,$zero,0x3
/* f07b938: 0c006a47 */ jal modelGetPart
/* f07b93c: 8d240008 */ lw $a0,0x8($t1)
/* f07b940: 10400004 */ beqz $v0,.L0f07b954
/* f07b944: 00402825 */ or $a1,$v0,$zero
/* f07b948: 0c006a87 */ jal modelGetNodeRwData
/* f07b94c: 8fa40114 */ lw $a0,0x114($sp)
/* f07b950: afa200d4 */ sw $v0,0xd4($sp)
.L0f07b954:
/* f07b954: 8faa0124 */ lw $t2,0x124($sp)
/* f07b958: 8faf00d4 */ lw $t7,0xd4($sp)
/* f07b95c: 1140002a */ beqz $t2,.L0f07ba08
/* f07b960: 00000000 */ nop
/* f07b964: c60800d4 */ lwc1 $f8,0xd4($s0)
/* f07b968: c6040080 */ lwc1 $f4,0x80($s0)
/* f07b96c: 46044280 */ add.s $f10,$f8,$f4
/* f07b970: e7aa0044 */ swc1 $f10,0x44($sp)
/* f07b974: c608007c */ lwc1 $f8,0x7c($s0)
/* f07b978: c60600d0 */ lwc1 $f6,0xd0($s0)
/* f07b97c: 46083300 */ add.s $f12,$f6,$f8
/* f07b980: 0c0068f7 */ jal sinf
/* f07b984: e7ac0040 */ swc1 $f12,0x40($sp)
/* f07b988: e7a00038 */ swc1 $f0,0x38($sp)
/* f07b98c: 0c0068f4 */ jal cosf
/* f07b990: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b994: c7a40038 */ lwc1 $f4,0x38($sp)
/* f07b998: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b99c: 46040282 */ mul.s $f10,$f0,$f4
/* f07b9a0: 0c0068f7 */ jal sinf
/* f07b9a4: e7aa00fc */ swc1 $f10,0xfc($sp)
/* f07b9a8: e7a00100 */ swc1 $f0,0x100($sp)
/* f07b9ac: 0c0068f4 */ jal cosf
/* f07b9b0: c7ac0040 */ lwc1 $f12,0x40($sp)
/* f07b9b4: e7a00038 */ swc1 $f0,0x38($sp)
/* f07b9b8: 0c0068f4 */ jal cosf
/* f07b9bc: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b9c0: c7a60038 */ lwc1 $f6,0x38($sp)
/* f07b9c4: 8fac00dc */ lw $t4,0xdc($sp)
/* f07b9c8: 240b0059 */ addiu $t3,$zero,0x59
/* f07b9cc: 46060202 */ mul.s $f8,$f0,$f6
/* f07b9d0: 8fa40120 */ lw $a0,0x120($sp)
/* f07b9d4: 27a600f0 */ addiu $a2,$sp,0xf0
/* f07b9d8: 27a700fc */ addiu $a3,$sp,0xfc
/* f07b9dc: e7a80104 */ swc1 $f8,0x104($sp)
/* f07b9e0: 8e0500e0 */ lw $a1,0xe0($s0)
/* f07b9e4: afab0010 */ sw $t3,0x10($sp)
/* f07b9e8: 0fc244b7 */ jal projectileCreate
/* f07b9ec: afac0014 */ sw $t4,0x14($sp)
/* f07b9f0: 8fad00d4 */ lw $t5,0xd4($sp)
/* f07b9f4: 240e0001 */ addiu $t6,$zero,0x1
/* f07b9f8: 51a00007 */ beqzl $t5,.L0f07ba18
/* f07b9fc: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07ba00: 10000004 */ b .L0f07ba14
/* f07ba04: a5ae0000 */ sh $t6,0x0($t5)
.L0f07ba08:
/* f07ba08: 51e00003 */ beqzl $t7,.L0f07ba18
/* f07ba0c: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07ba10: a5e00000 */ sh $zero,0x0($t7)
.L0f07ba14:
/* f07ba14: 8e0300e0 */ lw $v1,0xe0($s0)
.L0f07ba18:
/* f07ba18: 90780000 */ lbu $t8,0x0($v1)
/* f07ba1c: 27190001 */ addiu $t9,$t8,0x1
/* f07ba20: a0790000 */ sb $t9,0x0($v1)
/* f07ba24: 8fbf0024 */ lw $ra,0x24($sp)
/* f07ba28: 8fb00020 */ lw $s0,0x20($sp)
/* f07ba2c: 27bd0120 */ addiu $sp,$sp,0x120
/* f07ba30: 03e00008 */ jr $ra
/* f07ba34: 00000000 */ nop
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f07b3f0
.late_rodata
glabel var7f1aa5d4
.word 0x3dcccccd
glabel var7f1aa5d8
.word 0x40c907a9
glabel var7f1aa5dc
.word 0x40c907a9
glabel var7f1aa5e0
.word 0x40490fdb
glabel var7f1aa5e4
.word 0xc0490fdb
glabel var7f1aa5e8
.word 0x40c907a9
glabel var7f1aa5ec
.word 0x40c907a9
glabel var7f1aa5f0
.word 0x40490fdb
glabel var7f1aa5f4
.word 0x3eb2b8c2
glabel var7f1aa5f8
.word 0x3c8efa35
glabel var7f1aa5fc
.word 0x3c8efa35
glabel var7f1aa600
.word 0x3b187c24
glabel var7f1aa604
.word 0x3b987c24
glabel var7f1aa608
.word 0x3e0ef461
glabel var7f1aa60c
.word 0xbb987c24
glabel var7f1aa610
.word 0xbb987c24
.text
/* f07b3f0: 27bdfee0 */ addiu $sp,$sp,-288
/* f07b3f4: afbf0024 */ sw $ra,0x24($sp)
/* f07b3f8: afb00020 */ sw $s0,0x20($sp)
/* f07b3fc: afa40120 */ sw $a0,0x120($sp)
/* f07b400: afa50124 */ sw $a1,0x124($sp)
/* f07b404: 8c820004 */ lw $v0,0x4($a0)
/* f07b408: 3c013f80 */ lui $at,0x3f80
/* f07b40c: 44812000 */ mtc1 $at,$f4
/* f07b410: afa2011c */ sw $v0,0x11c($sp)
/* f07b414: 8c4f0018 */ lw $t7,0x18($v0)
/* f07b418: e7a40108 */ swc1 $f4,0x108($sp)
/* f07b41c: 44808000 */ mtc1 $zero,$f16
/* f07b420: afaf0114 */ sw $t7,0x114($sp)
/* f07b424: c44600d0 */ lwc1 $f6,0xd0($v0)
/* f07b428: 00408025 */ or $s0,$v0,$zero
/* f07b42c: 00402025 */ or $a0,$v0,$zero
/* f07b430: e7a600ec */ swc1 $f6,0xec($sp)
/* f07b434: c44800d4 */ lwc1 $f8,0xd4($v0)
/* f07b438: e7a800e8 */ swc1 $f8,0xe8($sp)
/* f07b43c: c44a00c8 */ lwc1 $f10,0xc8($v0)
/* f07b440: e7aa00e4 */ swc1 $f10,0xe4($sp)
/* f07b444: c44400cc */ lwc1 $f4,0xcc($v0)
/* f07b448: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b44c: e7b0010c */ swc1 $f16,0x10c($sp)
/* f07b450: 0fc1eb6e */ jal chopperGetTargetProp
/* f07b454: e7a400e0 */ swc1 $f4,0xe0($sp)
/* f07b458: afa200dc */ sw $v0,0xdc($sp)
/* f07b45c: afa000d4 */ sw $zero,0xd4($sp)
/* f07b460: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07b464: 24010003 */ addiu $at,$zero,0x3
/* f07b468: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b46c: 90640000 */ lbu $a0,0x0($v1)
/* f07b470: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b474: 24050001 */ addiu $a1,$zero,0x1
/* f07b478: 0081001a */ div $zero,$a0,$at
/* f07b47c: 0000c010 */ mfhi $t8
/* f07b480: 2f190001 */ sltiu $t9,$t8,0x1
/* f07b484: a0790001 */ sb $t9,0x1($v1)
/* f07b488: 8fa80124 */ lw $t0,0x124($sp)
/* f07b48c: 8fa90114 */ lw $t1,0x114($sp)
/* f07b490: 510000b2 */ beqzl $t0,.L0f07b75c
/* f07b494: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b498: 0c006a6f */ jal modelGetPartRodata
/* f07b49c: 8d240008 */ lw $a0,0x8($t1)
/* f07b4a0: 8faa00dc */ lw $t2,0xdc($sp)
/* f07b4a4: afa200d0 */ sw $v0,0xd0($sp)
/* f07b4a8: 3c0141a0 */ lui $at,0x41a0
/* f07b4ac: 44814000 */ mtc1 $at,$f8
/* f07b4b0: c546000c */ lwc1 $f6,0xc($t2)
/* f07b4b4: 46083281 */ sub.s $f10,$f6,$f8
/* f07b4b8: 0c004b70 */ jal random
/* f07b4bc: e7aa004c */ swc1 $f10,0x4c($sp)
/* f07b4c0: 0c004b70 */ jal random
/* f07b4c4: afa2003c */ sw $v0,0x3c($sp)
/* f07b4c8: 44802000 */ mtc1 $zero,$f4
/* f07b4cc: 04010005 */ bgez $zero,.L0f07b4e4
/* f07b4d0: 468021a0 */ cvt.s.w $f6,$f4
/* f07b4d4: 3c014f80 */ lui $at,0x4f80
/* f07b4d8: 44814000 */ mtc1 $at,$f8
/* f07b4dc: 00000000 */ nop
/* f07b4e0: 46083180 */ add.s $f6,$f6,$f8
.L0f07b4e4:
/* f07b4e4: 3c0141f0 */ lui $at,0x41f0
/* f07b4e8: 44815000 */ mtc1 $at,$f10
/* f07b4ec: 8fab00d0 */ lw $t3,0xd0($sp)
/* f07b4f0: 460a3102 */ mul.s $f4,$f6,$f10
/* f07b4f4: c5680000 */ lwc1 $f8,0x0($t3)
/* f07b4f8: 46082180 */ add.s $f6,$f4,$f8
/* f07b4fc: 0c004b70 */ jal random
/* f07b500: e7a600f0 */ swc1 $f6,0xf0($sp)
/* f07b504: 44805000 */ mtc1 $zero,$f10
/* f07b508: 8fa3011c */ lw $v1,0x11c($sp)
/* f07b50c: 04010005 */ bgez $zero,.L0f07b524
/* f07b510: 46805120 */ cvt.s.w $f4,$f10
/* f07b514: 3c014f80 */ lui $at,0x4f80
/* f07b518: 44814000 */ mtc1 $at,$f8
/* f07b51c: 00000000 */ nop
/* f07b520: 46082100 */ add.s $f4,$f4,$f8
.L0f07b524:
/* f07b524: 3c0141f0 */ lui $at,0x41f0
/* f07b528: 44813000 */ mtc1 $at,$f6
/* f07b52c: 8fac00d0 */ lw $t4,0xd0($sp)
/* f07b530: 3c014248 */ lui $at,0x4248
/* f07b534: 46062282 */ mul.s $f10,$f4,$f6
/* f07b538: 44812000 */ mtc1 $at,$f4
/* f07b53c: c5880004 */ lwc1 $f8,0x4($t4)
/* f07b540: 3c01437a */ lui $at,0x437a
/* f07b544: 2464001c */ addiu $a0,$v1,0x1c
/* f07b548: 46044181 */ sub.s $f6,$f8,$f4
/* f07b54c: 46065200 */ add.s $f8,$f10,$f6
/* f07b550: 44815000 */ mtc1 $at,$f10
/* f07b554: 24010128 */ addiu $at,$zero,0x128
/* f07b558: e7a800f4 */ swc1 $f8,0xf4($sp)
/* f07b55c: c5840008 */ lwc1 $f4,0x8($t4)
/* f07b560: 460a2180 */ add.s $f6,$f4,$f10
/* f07b564: e7a600f8 */ swc1 $f6,0xf8($sp)
/* f07b568: 846d0004 */ lh $t5,0x4($v1)
/* f07b56c: 15a1000e */ bne $t5,$at,.L0f07b5a8
/* f07b570: 00000000 */ nop
/* f07b574: 8c6e0018 */ lw $t6,0x18($v1)
/* f07b578: 3c017f1b */ lui $at,%hi(var7f1aa5d4)
/* f07b57c: c424a5d4 */ lwc1 $f4,%lo(var7f1aa5d4)($at)
/* f07b580: c5ca0014 */ lwc1 $f10,0x14($t6)
/* f07b584: 460a2003 */ div.s $f0,$f4,$f10
/* f07b588: c7a400f0 */ lwc1 $f4,0xf0($sp)
/* f07b58c: 46002282 */ mul.s $f10,$f4,$f0
/* f07b590: e7aa00f0 */ swc1 $f10,0xf0($sp)
/* f07b594: 46004102 */ mul.s $f4,$f8,$f0
/* f07b598: 00000000 */ nop
/* f07b59c: 46003282 */ mul.s $f10,$f6,$f0
/* f07b5a0: e7a400f4 */ swc1 $f4,0xf4($sp)
/* f07b5a4: e7aa00f8 */ swc1 $f10,0xf8($sp)
.L0f07b5a8:
/* f07b5a8: 0c005755 */ jal mtx3ToMtx4
/* f07b5ac: 27a50050 */ addiu $a1,$sp,0x50
/* f07b5b0: 27a400f0 */ addiu $a0,$sp,0xf0
/* f07b5b4: 0c0059b7 */ jal mtx4LoadTranslation
/* f07b5b8: 27a50090 */ addiu $a1,$sp,0x90
/* f07b5bc: 27a40050 */ addiu $a0,$sp,0x50
/* f07b5c0: 0c00567f */ jal mtx4MultMtx4InPlace
/* f07b5c4: 27a50090 */ addiu $a1,$sp,0x90
/* f07b5c8: 8fa30120 */ lw $v1,0x120($sp)
/* f07b5cc: c7a400c0 */ lwc1 $f4,0xc0($sp)
/* f07b5d0: 8fa200dc */ lw $v0,0xdc($sp)
/* f07b5d4: c4680008 */ lwc1 $f8,0x8($v1)
/* f07b5d8: 46044180 */ add.s $f6,$f8,$f4
/* f07b5dc: c7a800c4 */ lwc1 $f8,0xc4($sp)
/* f07b5e0: e7a600f0 */ swc1 $f6,0xf0($sp)
/* f07b5e4: c46a000c */ lwc1 $f10,0xc($v1)
/* f07b5e8: 46085100 */ add.s $f4,$f10,$f8
/* f07b5ec: c7aa00c8 */ lwc1 $f10,0xc8($sp)
/* f07b5f0: e7a400f4 */ swc1 $f4,0xf4($sp)
/* f07b5f4: c4660010 */ lwc1 $f6,0x10($v1)
/* f07b5f8: 460a3200 */ add.s $f8,$f6,$f10
/* f07b5fc: c7a600f0 */ lwc1 $f6,0xf0($sp)
/* f07b600: e7a800f8 */ swc1 $f8,0xf8($sp)
/* f07b604: c7a800f8 */ lwc1 $f8,0xf8($sp)
/* f07b608: c44a0010 */ lwc1 $f10,0x10($v0)
/* f07b60c: c4440008 */ lwc1 $f4,0x8($v0)
/* f07b610: 46085381 */ sub.s $f14,$f10,$f8
/* f07b614: 0fc259d4 */ jal atan2f
/* f07b618: 46062301 */ sub.s $f12,$f4,$f6
/* f07b61c: 44802000 */ mtc1 $zero,$f4
/* f07b620: 46000406 */ mov.s $f16,$f0
/* f07b624: 3c017f1b */ lui $at,%hi(var7f1aa5d8)
/* f07b628: 4604003e */ c.le.s $f0,$f4
/* f07b62c: 8faf00dc */ lw $t7,0xdc($sp)
/* f07b630: 45000003 */ bc1f .L0f07b640
/* f07b634: 00000000 */ nop
/* f07b638: c432a5d8 */ lwc1 $f18,%lo(var7f1aa5d8)($at)
/* f07b63c: 46120400 */ add.s $f16,$f0,$f18
.L0f07b640:
/* f07b640: 3c017f1b */ lui $at,%hi(var7f1aa5dc)
/* f07b644: c432a5dc */ lwc1 $f18,%lo(var7f1aa5dc)($at)
/* f07b648: 4610903c */ c.lt.s $f18,$f16
/* f07b64c: 00000000 */ nop
/* f07b650: 45020003 */ bc1fl .L0f07b660
/* f07b654: c606007c */ lwc1 $f6,0x7c($s0)
/* f07b658: 46128401 */ sub.s $f16,$f16,$f18
/* f07b65c: c606007c */ lwc1 $f6,0x7c($s0)
.L0f07b660:
/* f07b660: 3c017f1b */ lui $at,%hi(var7f1aa5e0)
/* f07b664: c42aa5e0 */ lwc1 $f10,%lo(var7f1aa5e0)($at)
/* f07b668: 46068401 */ sub.s $f16,$f16,$f6
/* f07b66c: 3c017f1b */ lui $at,%hi(var7f1aa5e4)
/* f07b670: c7a600f0 */ lwc1 $f6,0xf0($sp)
/* f07b674: 4610503c */ c.lt.s $f10,$f16
/* f07b678: 00000000 */ nop
/* f07b67c: 45000002 */ bc1f .L0f07b688
/* f07b680: 00000000 */ nop
/* f07b684: 46128401 */ sub.s $f16,$f16,$f18
.L0f07b688:
/* f07b688: c428a5e4 */ lwc1 $f8,%lo(var7f1aa5e4)($at)
/* f07b68c: 4608803c */ c.lt.s $f16,$f8
/* f07b690: 00000000 */ nop
/* f07b694: 45020003 */ bc1fl .L0f07b6a4
/* f07b698: c5e40008 */ lwc1 $f4,0x8($t7)
/* f07b69c: 46128400 */ add.s $f16,$f16,$f18
/* f07b6a0: c5e40008 */ lwc1 $f4,0x8($t7)
.L0f07b6a4:
/* f07b6a4: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f07b6a8: c7a800f8 */ lwc1 $f8,0xf8($sp)
/* f07b6ac: 46062001 */ sub.s $f0,$f4,$f6
/* f07b6b0: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b6b4: 46085081 */ sub.s $f2,$f10,$f8
/* f07b6b8: 46000102 */ mul.s $f4,$f0,$f0
/* f07b6bc: 00000000 */ nop
/* f07b6c0: 46021182 */ mul.s $f6,$f2,$f2
/* f07b6c4: 0c012974 */ jal sqrtf
/* f07b6c8: 46062300 */ add.s $f12,$f4,$f6
/* f07b6cc: c7aa004c */ lwc1 $f10,0x4c($sp)
/* f07b6d0: c7a800f4 */ lwc1 $f8,0xf4($sp)
/* f07b6d4: 46000386 */ mov.s $f14,$f0
/* f07b6d8: 0fc259d4 */ jal atan2f
/* f07b6dc: 46085301 */ sub.s $f12,$f10,$f8
/* f07b6e0: c6040080 */ lwc1 $f4,0x80($s0)
/* f07b6e4: 3c017f1b */ lui $at,%hi(var7f1aa5ec)
/* f07b6e8: c432a5ec */ lwc1 $f18,%lo(var7f1aa5ec)($at)
/* f07b6ec: 46040181 */ sub.s $f6,$f0,$f4
/* f07b6f0: 3c017f1b */ lui $at,%hi(var7f1aa5f0)
/* f07b6f4: c42aa5f0 */ lwc1 $f10,%lo(var7f1aa5f0)($at)
/* f07b6f8: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b6fc: 46123080 */ add.s $f2,$f6,$f18
/* f07b700: 3c017f1b */ lui $at,%hi(var7f1aa5f4)
/* f07b704: 4602503c */ c.lt.s $f10,$f2
/* f07b708: 00000000 */ nop
/* f07b70c: 45000002 */ bc1f .L0f07b718
/* f07b710: 00000000 */ nop
/* f07b714: 46121081 */ sub.s $f2,$f2,$f18
.L0f07b718:
/* f07b718: c42ca5f4 */ lwc1 $f12,%lo(var7f1aa5f4)($at)
/* f07b71c: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b720: 3c017f1b */ lui $at,%hi(var7f1aa5f8)
/* f07b724: 460c003c */ c.lt.s $f0,$f12
/* f07b728: 00000000 */ nop
/* f07b72c: 45000008 */ bc1f .L0f07b750
/* f07b730: 00000000 */ nop
/* f07b734: c428a5f8 */ lwc1 $f8,%lo(var7f1aa5f8)($at)
/* f07b738: 3c01800a */ lui $at,%hi(g_Vars+0x44)
/* f07b73c: c424a004 */ lwc1 $f4,%lo(g_Vars+0x44)($at)
/* f07b740: 46044182 */ mul.s $f6,$f8,$f4
/* f07b744: 46060280 */ add.s $f10,$f0,$f6
/* f07b748: 10000014 */ b .L0f07b79c
/* f07b74c: e60a00d8 */ swc1 $f10,0xd8($s0)
.L0f07b750:
/* f07b750: 10000012 */ b .L0f07b79c
/* f07b754: e60c00d8 */ swc1 $f12,0xd8($s0)
/* f07b758: c60000d8 */ lwc1 $f0,0xd8($s0)
.L0f07b75c:
/* f07b75c: 44804000 */ mtc1 $zero,$f8
/* f07b760: 3c013e00 */ lui $at,0x3e00
/* f07b764: 44819000 */ mtc1 $at,$f18
/* f07b768: 4600403c */ c.lt.s $f8,$f0
/* f07b76c: 3c017f1b */ lui $at,%hi(var7f1aa5fc)
/* f07b770: 45020007 */ bc1fl .L0f07b790
/* f07b774: 44805000 */ mtc1 $zero,$f10
/* f07b778: c424a5fc */ lwc1 $f4,%lo(var7f1aa5fc)($at)
/* f07b77c: 46040181 */ sub.s $f6,$f0,$f4
/* f07b780: e60600d8 */ swc1 $f6,0xd8($s0)
/* f07b784: 10000005 */ b .L0f07b79c
/* f07b788: e7b20108 */ swc1 $f18,0x108($sp)
/* f07b78c: 44805000 */ mtc1 $zero,$f10
.L0f07b790:
/* f07b790: 00000000 */ nop
/* f07b794: e60a00d8 */ swc1 $f10,0xd8($s0)
/* f07b798: e7b20108 */ swc1 $f18,0x108($sp)
.L0f07b79c:
/* f07b79c: 3c01800a */ lui $at,%hi(g_Vars+0x44)
/* f07b7a0: c424a004 */ lwc1 $f4,%lo(g_Vars+0x44)($at)
/* f07b7a4: c60800d8 */ lwc1 $f8,0xd8($s0)
/* f07b7a8: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f07b7ac: c7b20108 */ lwc1 $f18,0x108($sp)
/* f07b7b0: 46044182 */ mul.s $f6,$f8,$f4
/* f07b7b4: 3c017f1b */ lui $at,%hi(var7f1aa600)
/* f07b7b8: 44058000 */ mfc1 $a1,$f16
/* f07b7bc: 27a400ec */ addiu $a0,$sp,0xec
/* f07b7c0: 27a600e4 */ addiu $a2,$sp,0xe4
/* f07b7c4: 46065200 */ add.s $f8,$f10,$f6
/* f07b7c8: e60800dc */ swc1 $f8,0xdc($s0)
/* f07b7cc: c424a600 */ lwc1 $f4,%lo(var7f1aa600)($at)
/* f07b7d0: 3c017f1b */ lui $at,%hi(var7f1aa604)
/* f07b7d4: c42aa604 */ lwc1 $f10,%lo(var7f1aa604)($at)
/* f07b7d8: 46122302 */ mul.s $f12,$f4,$f18
/* f07b7dc: 3c017f1b */ lui $at,%hi(var7f1aa608)
/* f07b7e0: c426a608 */ lwc1 $f6,%lo(var7f1aa608)($at)
/* f07b7e4: 46125002 */ mul.s $f0,$f10,$f18
/* f07b7e8: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b7ec: e7a2010c */ swc1 $f2,0x10c($sp)
/* f07b7f0: 46123382 */ mul.s $f14,$f6,$f18
/* f07b7f4: 44076000 */ mfc1 $a3,$f12
/* f07b7f8: e7ac0034 */ swc1 $f12,0x34($sp)
/* f07b7fc: e7a00010 */ swc1 $f0,0x10($sp)
/* f07b800: e7a00030 */ swc1 $f0,0x30($sp)
/* f07b804: e7ae0014 */ swc1 $f14,0x14($sp)
/* f07b808: 0fc1b643 */ jal applySpeed
/* f07b80c: e7ae002c */ swc1 $f14,0x2c($sp)
/* f07b810: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b814: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b818: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b81c: c7a00030 */ lwc1 $f0,0x30($sp)
/* f07b820: 46104032 */ c.eq.s $f8,$f16
/* f07b824: 44051000 */ mfc1 $a1,$f2
/* f07b828: c7ac0034 */ lwc1 $f12,0x34($sp)
/* f07b82c: c7ae002c */ lwc1 $f14,0x2c($sp)
/* f07b830: 45000011 */ bc1f .L0f07b878
/* f07b834: 27a400e8 */ addiu $a0,$sp,0xe8
/* f07b838: c7b000e4 */ lwc1 $f16,0xe4($sp)
/* f07b83c: 3c017f1b */ lui $at,%hi(var7f1aa60c)
/* f07b840: c7aa0108 */ lwc1 $f10,0x108($sp)
/* f07b844: 4600803e */ c.le.s $f16,$f0
/* f07b848: 00000000 */ nop
/* f07b84c: 4502000b */ bc1fl .L0f07b87c
/* f07b850: 44076000 */ mfc1 $a3,$f12
/* f07b854: c424a60c */ lwc1 $f4,%lo(var7f1aa60c)($at)
/* f07b858: 460a2182 */ mul.s $f6,$f4,$f10
/* f07b85c: 4610303e */ c.le.s $f6,$f16
/* f07b860: 00000000 */ nop
/* f07b864: 45020005 */ bc1fl .L0f07b87c
/* f07b868: 44076000 */ mfc1 $a3,$f12
/* f07b86c: 44808000 */ mtc1 $zero,$f16
/* f07b870: 00000000 */ nop
/* f07b874: e7b000e4 */ swc1 $f16,0xe4($sp)
.L0f07b878:
/* f07b878: 44076000 */ mfc1 $a3,$f12
.L0f07b87c:
/* f07b87c: 27a600e0 */ addiu $a2,$sp,0xe0
/* f07b880: e7a00010 */ swc1 $f0,0x10($sp)
/* f07b884: e7ae0014 */ swc1 $f14,0x14($sp)
/* f07b888: e7a00030 */ swc1 $f0,0x30($sp)
/* f07b88c: 0fc1b643 */ jal applySpeed
/* f07b890: e7a2010c */ swc1 $f2,0x10c($sp)
/* f07b894: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b898: c7a800e8 */ lwc1 $f8,0xe8($sp)
/* f07b89c: c7a00030 */ lwc1 $f0,0x30($sp)
/* f07b8a0: 46024032 */ c.eq.s $f8,$f2
/* f07b8a4: c7a200e0 */ lwc1 $f2,0xe0($sp)
/* f07b8a8: 45020010 */ bc1fl .L0f07b8ec
/* f07b8ac: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8b0: 4600103e */ c.le.s $f2,$f0
/* f07b8b4: 3c017f1b */ lui $at,%hi(var7f1aa610)
/* f07b8b8: c7aa0108 */ lwc1 $f10,0x108($sp)
/* f07b8bc: 4502000b */ bc1fl .L0f07b8ec
/* f07b8c0: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8c4: c424a610 */ lwc1 $f4,%lo(var7f1aa610)($at)
/* f07b8c8: 460a2182 */ mul.s $f6,$f4,$f10
/* f07b8cc: 4602303e */ c.le.s $f6,$f2
/* f07b8d0: 00000000 */ nop
/* f07b8d4: 45020005 */ bc1fl .L0f07b8ec
/* f07b8d8: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8dc: 44801000 */ mtc1 $zero,$f2
/* f07b8e0: 00000000 */ nop
/* f07b8e4: e7a200e0 */ swc1 $f2,0xe0($sp)
/* f07b8e8: c7a800ec */ lwc1 $f8,0xec($sp)
.L0f07b8ec:
/* f07b8ec: 8e1800e0 */ lw $t8,0xe0($s0)
/* f07b8f0: e60800d0 */ swc1 $f8,0xd0($s0)
/* f07b8f4: c7a400e8 */ lwc1 $f4,0xe8($sp)
/* f07b8f8: e60400d4 */ swc1 $f4,0xd4($s0)
/* f07b8fc: c7aa00e4 */ lwc1 $f10,0xe4($sp)
/* f07b900: e60a00c8 */ swc1 $f10,0xc8($s0)
/* f07b904: c7a600e0 */ lwc1 $f6,0xe0($sp)
/* f07b908: e60600cc */ swc1 $f6,0xcc($s0)
/* f07b90c: 93190000 */ lbu $t9,0x0($t8)
/* f07b910: 07210004 */ bgez $t9,.L0f07b924
/* f07b914: 33280001 */ andi $t0,$t9,0x1
/* f07b918: 11000002 */ beqz $t0,.L0f07b924
/* f07b91c: 00000000 */ nop
/* f07b920: 2508fffe */ addiu $t0,$t0,-2
.L0f07b924:
/* f07b924: 55000003 */ bnezl $t0,.L0f07b934
/* f07b928: 8fa90114 */ lw $t1,0x114($sp)
/* f07b92c: afa00124 */ sw $zero,0x124($sp)
/* f07b930: 8fa90114 */ lw $t1,0x114($sp)
.L0f07b934:
/* f07b934: 24050003 */ addiu $a1,$zero,0x3
/* f07b938: 0c006a47 */ jal modelGetPart
/* f07b93c: 8d240008 */ lw $a0,0x8($t1)
/* f07b940: 10400004 */ beqz $v0,.L0f07b954
/* f07b944: 00402825 */ or $a1,$v0,$zero
/* f07b948: 0c006a87 */ jal modelGetNodeRwData
/* f07b94c: 8fa40114 */ lw $a0,0x114($sp)
/* f07b950: afa200d4 */ sw $v0,0xd4($sp)
.L0f07b954:
/* f07b954: 8faa0124 */ lw $t2,0x124($sp)
/* f07b958: 8faf00d4 */ lw $t7,0xd4($sp)
/* f07b95c: 1140002a */ beqz $t2,.L0f07ba08
/* f07b960: 00000000 */ nop
/* f07b964: c60800d4 */ lwc1 $f8,0xd4($s0)
/* f07b968: c6040080 */ lwc1 $f4,0x80($s0)
/* f07b96c: 46044280 */ add.s $f10,$f8,$f4
/* f07b970: e7aa0044 */ swc1 $f10,0x44($sp)
/* f07b974: c608007c */ lwc1 $f8,0x7c($s0)
/* f07b978: c60600d0 */ lwc1 $f6,0xd0($s0)
/* f07b97c: 46083300 */ add.s $f12,$f6,$f8
/* f07b980: 0c0068f7 */ jal sinf
/* f07b984: e7ac0040 */ swc1 $f12,0x40($sp)
/* f07b988: e7a00038 */ swc1 $f0,0x38($sp)
/* f07b98c: 0c0068f4 */ jal cosf
/* f07b990: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b994: c7a40038 */ lwc1 $f4,0x38($sp)
/* f07b998: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b99c: 46040282 */ mul.s $f10,$f0,$f4
/* f07b9a0: 0c0068f7 */ jal sinf
/* f07b9a4: e7aa00fc */ swc1 $f10,0xfc($sp)
/* f07b9a8: e7a00100 */ swc1 $f0,0x100($sp)
/* f07b9ac: 0c0068f4 */ jal cosf
/* f07b9b0: c7ac0040 */ lwc1 $f12,0x40($sp)
/* f07b9b4: e7a00038 */ swc1 $f0,0x38($sp)
/* f07b9b8: 0c0068f4 */ jal cosf
/* f07b9bc: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b9c0: c7a60038 */ lwc1 $f6,0x38($sp)
/* f07b9c4: 8fac00dc */ lw $t4,0xdc($sp)
/* f07b9c8: 240b0059 */ addiu $t3,$zero,0x59
/* f07b9cc: 46060202 */ mul.s $f8,$f0,$f6
/* f07b9d0: 8fa40120 */ lw $a0,0x120($sp)
/* f07b9d4: 27a600f0 */ addiu $a2,$sp,0xf0
/* f07b9d8: 27a700fc */ addiu $a3,$sp,0xfc
/* f07b9dc: e7a80104 */ swc1 $f8,0x104($sp)
/* f07b9e0: 8e0500e0 */ lw $a1,0xe0($s0)
/* f07b9e4: afab0010 */ sw $t3,0x10($sp)
/* f07b9e8: 0fc244b7 */ jal projectileCreate
/* f07b9ec: afac0014 */ sw $t4,0x14($sp)
/* f07b9f0: 8fad00d4 */ lw $t5,0xd4($sp)
/* f07b9f4: 240e0001 */ addiu $t6,$zero,0x1
/* f07b9f8: 51a00007 */ beqzl $t5,.L0f07ba18
/* f07b9fc: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07ba00: 10000004 */ b .L0f07ba14
/* f07ba04: a5ae0000 */ sh $t6,0x0($t5)
.L0f07ba08:
/* f07ba08: 51e00003 */ beqzl $t7,.L0f07ba18
/* f07ba0c: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07ba10: a5e00000 */ sh $zero,0x0($t7)
.L0f07ba14:
/* f07ba14: 8e0300e0 */ lw $v1,0xe0($s0)
.L0f07ba18:
/* f07ba18: 90780000 */ lbu $t8,0x0($v1)
/* f07ba1c: 27190001 */ addiu $t9,$t8,0x1
/* f07ba20: a0790000 */ sb $t9,0x0($v1)
/* f07ba24: 8fbf0024 */ lw $ra,0x24($sp)
/* f07ba28: 8fb00020 */ lw $s0,0x20($sp)
/* f07ba2c: 27bd0120 */ addiu $sp,$sp,0x120
/* f07ba30: 03e00008 */ jr $ra
/* f07ba34: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f07b3f0
.late_rodata
glabel var7f1aa5d4
.word 0x3dcccccd
glabel var7f1aa5d8
.word 0x40c907a9
glabel var7f1aa5dc
.word 0x40c907a9
glabel var7f1aa5e0
.word 0x40490fdb
glabel var7f1aa5e4
.word 0xc0490fdb
glabel var7f1aa5e8
.word 0x40c907a9
glabel var7f1aa5ec
.word 0x40c907a9
glabel var7f1aa5f0
.word 0x40490fdb
glabel var7f1aa5f4
.word 0x3eb2b8c2
glabel var7f1aa5f8
.word 0x3c8efa35
glabel var7f1aa5fc
.word 0x3c8efa35
glabel var7f1aa600
.word 0x3b187c24
glabel var7f1aa604
.word 0x3b987c24
glabel var7f1aa608
.word 0x3e0ef461
glabel var7f1aa60c
.word 0xbb987c24
glabel var7f1aa610
.word 0xbb987c24
.text
/* f07b3f0: 27bdfee0 */ addiu $sp,$sp,-288
/* f07b3f4: afbf0024 */ sw $ra,0x24($sp)
/* f07b3f8: afb00020 */ sw $s0,0x20($sp)
/* f07b3fc: afa40120 */ sw $a0,0x120($sp)
/* f07b400: afa50124 */ sw $a1,0x124($sp)
/* f07b404: 8c820004 */ lw $v0,0x4($a0)
/* f07b408: 3c013f80 */ lui $at,0x3f80
/* f07b40c: 44812000 */ mtc1 $at,$f4
/* f07b410: afa2011c */ sw $v0,0x11c($sp)
/* f07b414: 8c4f0018 */ lw $t7,0x18($v0)
/* f07b418: e7a40108 */ swc1 $f4,0x108($sp)
/* f07b41c: 44808000 */ mtc1 $zero,$f16
/* f07b420: afaf0114 */ sw $t7,0x114($sp)
/* f07b424: c44600d0 */ lwc1 $f6,0xd0($v0)
/* f07b428: 00408025 */ or $s0,$v0,$zero
/* f07b42c: 00402025 */ or $a0,$v0,$zero
/* f07b430: e7a600ec */ swc1 $f6,0xec($sp)
/* f07b434: c44800d4 */ lwc1 $f8,0xd4($v0)
/* f07b438: e7a800e8 */ swc1 $f8,0xe8($sp)
/* f07b43c: c44a00c8 */ lwc1 $f10,0xc8($v0)
/* f07b440: e7aa00e4 */ swc1 $f10,0xe4($sp)
/* f07b444: c44400cc */ lwc1 $f4,0xcc($v0)
/* f07b448: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b44c: e7b0010c */ swc1 $f16,0x10c($sp)
/* f07b450: 0fc1eb6e */ jal chopperGetTargetProp
/* f07b454: e7a400e0 */ swc1 $f4,0xe0($sp)
/* f07b458: afa200dc */ sw $v0,0xdc($sp)
/* f07b45c: afa000d4 */ sw $zero,0xd4($sp)
/* f07b460: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07b464: 24010003 */ addiu $at,$zero,0x3
/* f07b468: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b46c: 90640000 */ lbu $a0,0x0($v1)
/* f07b470: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b474: 24050001 */ addiu $a1,$zero,0x1
/* f07b478: 0081001a */ div $zero,$a0,$at
/* f07b47c: 0000c010 */ mfhi $t8
/* f07b480: 2f190001 */ sltiu $t9,$t8,0x1
/* f07b484: a0790001 */ sb $t9,0x1($v1)
/* f07b488: 8fa80124 */ lw $t0,0x124($sp)
/* f07b48c: 8fa90114 */ lw $t1,0x114($sp)
/* f07b490: 510000b2 */ beqzl $t0,.L0f07b75c
/* f07b494: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b498: 0c006a6f */ jal modelGetPartRodata
/* f07b49c: 8d240008 */ lw $a0,0x8($t1)
/* f07b4a0: 8faa00dc */ lw $t2,0xdc($sp)
/* f07b4a4: afa200d0 */ sw $v0,0xd0($sp)
/* f07b4a8: 3c0141a0 */ lui $at,0x41a0
/* f07b4ac: 44814000 */ mtc1 $at,$f8
/* f07b4b0: c546000c */ lwc1 $f6,0xc($t2)
/* f07b4b4: 46083281 */ sub.s $f10,$f6,$f8
/* f07b4b8: 0c004b70 */ jal random
/* f07b4bc: e7aa004c */ swc1 $f10,0x4c($sp)
/* f07b4c0: 0c004b70 */ jal random
/* f07b4c4: afa2003c */ sw $v0,0x3c($sp)
/* f07b4c8: 44802000 */ mtc1 $zero,$f4
/* f07b4cc: 04010005 */ bgez $zero,.L0f07b4e4
/* f07b4d0: 468021a0 */ cvt.s.w $f6,$f4
/* f07b4d4: 3c014f80 */ lui $at,0x4f80
/* f07b4d8: 44814000 */ mtc1 $at,$f8
/* f07b4dc: 00000000 */ nop
/* f07b4e0: 46083180 */ add.s $f6,$f6,$f8
.L0f07b4e4:
/* f07b4e4: 3c0141f0 */ lui $at,0x41f0
/* f07b4e8: 44815000 */ mtc1 $at,$f10
/* f07b4ec: 8fab00d0 */ lw $t3,0xd0($sp)
/* f07b4f0: 460a3102 */ mul.s $f4,$f6,$f10
/* f07b4f4: c5680000 */ lwc1 $f8,0x0($t3)
/* f07b4f8: 46082180 */ add.s $f6,$f4,$f8
/* f07b4fc: 0c004b70 */ jal random
/* f07b500: e7a600f0 */ swc1 $f6,0xf0($sp)
/* f07b504: 44805000 */ mtc1 $zero,$f10
/* f07b508: 8fa3011c */ lw $v1,0x11c($sp)
/* f07b50c: 04010005 */ bgez $zero,.L0f07b524
/* f07b510: 46805120 */ cvt.s.w $f4,$f10
/* f07b514: 3c014f80 */ lui $at,0x4f80
/* f07b518: 44814000 */ mtc1 $at,$f8
/* f07b51c: 00000000 */ nop
/* f07b520: 46082100 */ add.s $f4,$f4,$f8
.L0f07b524:
/* f07b524: 3c0141f0 */ lui $at,0x41f0
/* f07b528: 44813000 */ mtc1 $at,$f6
/* f07b52c: 8fac00d0 */ lw $t4,0xd0($sp)
/* f07b530: 3c014248 */ lui $at,0x4248
/* f07b534: 46062282 */ mul.s $f10,$f4,$f6
/* f07b538: 44812000 */ mtc1 $at,$f4
/* f07b53c: c5880004 */ lwc1 $f8,0x4($t4)
/* f07b540: 3c01437a */ lui $at,0x437a
/* f07b544: 2464001c */ addiu $a0,$v1,0x1c
/* f07b548: 46044181 */ sub.s $f6,$f8,$f4
/* f07b54c: 46065200 */ add.s $f8,$f10,$f6
/* f07b550: 44815000 */ mtc1 $at,$f10
/* f07b554: 24010128 */ addiu $at,$zero,0x128
/* f07b558: e7a800f4 */ swc1 $f8,0xf4($sp)
/* f07b55c: c5840008 */ lwc1 $f4,0x8($t4)
/* f07b560: 460a2180 */ add.s $f6,$f4,$f10
/* f07b564: e7a600f8 */ swc1 $f6,0xf8($sp)
/* f07b568: 846d0004 */ lh $t5,0x4($v1)
/* f07b56c: 15a1000e */ bne $t5,$at,.L0f07b5a8
/* f07b570: 00000000 */ nop
/* f07b574: 8c6e0018 */ lw $t6,0x18($v1)
/* f07b578: 3c017f1b */ lui $at,%hi(var7f1aa5d4)
/* f07b57c: c424a5d4 */ lwc1 $f4,%lo(var7f1aa5d4)($at)
/* f07b580: c5ca0014 */ lwc1 $f10,0x14($t6)
/* f07b584: 460a2003 */ div.s $f0,$f4,$f10
/* f07b588: c7a400f0 */ lwc1 $f4,0xf0($sp)
/* f07b58c: 46002282 */ mul.s $f10,$f4,$f0
/* f07b590: e7aa00f0 */ swc1 $f10,0xf0($sp)
/* f07b594: 46004102 */ mul.s $f4,$f8,$f0
/* f07b598: 00000000 */ nop
/* f07b59c: 46003282 */ mul.s $f10,$f6,$f0
/* f07b5a0: e7a400f4 */ swc1 $f4,0xf4($sp)
/* f07b5a4: e7aa00f8 */ swc1 $f10,0xf8($sp)
.L0f07b5a8:
/* f07b5a8: 0c005755 */ jal mtx3ToMtx4
/* f07b5ac: 27a50050 */ addiu $a1,$sp,0x50
/* f07b5b0: 27a400f0 */ addiu $a0,$sp,0xf0
/* f07b5b4: 0c0059b7 */ jal mtx4LoadTranslation
/* f07b5b8: 27a50090 */ addiu $a1,$sp,0x90
/* f07b5bc: 27a40050 */ addiu $a0,$sp,0x50
/* f07b5c0: 0c00567f */ jal mtx4MultMtx4InPlace
/* f07b5c4: 27a50090 */ addiu $a1,$sp,0x90
/* f07b5c8: 8fa30120 */ lw $v1,0x120($sp)
/* f07b5cc: c7a400c0 */ lwc1 $f4,0xc0($sp)
/* f07b5d0: 8fa200dc */ lw $v0,0xdc($sp)
/* f07b5d4: c4680008 */ lwc1 $f8,0x8($v1)
/* f07b5d8: 46044180 */ add.s $f6,$f8,$f4
/* f07b5dc: c7a800c4 */ lwc1 $f8,0xc4($sp)
/* f07b5e0: e7a600f0 */ swc1 $f6,0xf0($sp)
/* f07b5e4: c46a000c */ lwc1 $f10,0xc($v1)
/* f07b5e8: 46085100 */ add.s $f4,$f10,$f8
/* f07b5ec: c7aa00c8 */ lwc1 $f10,0xc8($sp)
/* f07b5f0: e7a400f4 */ swc1 $f4,0xf4($sp)
/* f07b5f4: c4660010 */ lwc1 $f6,0x10($v1)
/* f07b5f8: 460a3200 */ add.s $f8,$f6,$f10
/* f07b5fc: c7a600f0 */ lwc1 $f6,0xf0($sp)
/* f07b600: e7a800f8 */ swc1 $f8,0xf8($sp)
/* f07b604: c7a800f8 */ lwc1 $f8,0xf8($sp)
/* f07b608: c44a0010 */ lwc1 $f10,0x10($v0)
/* f07b60c: c4440008 */ lwc1 $f4,0x8($v0)
/* f07b610: 46085381 */ sub.s $f14,$f10,$f8
/* f07b614: 0fc259d4 */ jal atan2f
/* f07b618: 46062301 */ sub.s $f12,$f4,$f6
/* f07b61c: 44802000 */ mtc1 $zero,$f4
/* f07b620: 46000406 */ mov.s $f16,$f0
/* f07b624: 3c017f1b */ lui $at,%hi(var7f1aa5d8)
/* f07b628: 4604003e */ c.le.s $f0,$f4
/* f07b62c: 8faf00dc */ lw $t7,0xdc($sp)
/* f07b630: 45000003 */ bc1f .L0f07b640
/* f07b634: 00000000 */ nop
/* f07b638: c432a5d8 */ lwc1 $f18,%lo(var7f1aa5d8)($at)
/* f07b63c: 46120400 */ add.s $f16,$f0,$f18
.L0f07b640:
/* f07b640: 3c017f1b */ lui $at,%hi(var7f1aa5dc)
/* f07b644: c432a5dc */ lwc1 $f18,%lo(var7f1aa5dc)($at)
/* f07b648: 4610903c */ c.lt.s $f18,$f16
/* f07b64c: 00000000 */ nop
/* f07b650: 45020003 */ bc1fl .L0f07b660
/* f07b654: c606007c */ lwc1 $f6,0x7c($s0)
/* f07b658: 46128401 */ sub.s $f16,$f16,$f18
/* f07b65c: c606007c */ lwc1 $f6,0x7c($s0)
.L0f07b660:
/* f07b660: 3c017f1b */ lui $at,%hi(var7f1aa5e0)
/* f07b664: c42aa5e0 */ lwc1 $f10,%lo(var7f1aa5e0)($at)
/* f07b668: 46068401 */ sub.s $f16,$f16,$f6
/* f07b66c: 3c017f1b */ lui $at,%hi(var7f1aa5e4)
/* f07b670: c7a600f0 */ lwc1 $f6,0xf0($sp)
/* f07b674: 4610503c */ c.lt.s $f10,$f16
/* f07b678: 00000000 */ nop
/* f07b67c: 45000002 */ bc1f .L0f07b688
/* f07b680: 00000000 */ nop
/* f07b684: 46128401 */ sub.s $f16,$f16,$f18
.L0f07b688:
/* f07b688: c428a5e4 */ lwc1 $f8,%lo(var7f1aa5e4)($at)
/* f07b68c: 4608803c */ c.lt.s $f16,$f8
/* f07b690: 00000000 */ nop
/* f07b694: 45020003 */ bc1fl .L0f07b6a4
/* f07b698: c5e40008 */ lwc1 $f4,0x8($t7)
/* f07b69c: 46128400 */ add.s $f16,$f16,$f18
/* f07b6a0: c5e40008 */ lwc1 $f4,0x8($t7)
.L0f07b6a4:
/* f07b6a4: c5ea0010 */ lwc1 $f10,0x10($t7)
/* f07b6a8: c7a800f8 */ lwc1 $f8,0xf8($sp)
/* f07b6ac: 46062001 */ sub.s $f0,$f4,$f6
/* f07b6b0: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b6b4: 46085081 */ sub.s $f2,$f10,$f8
/* f07b6b8: 46000102 */ mul.s $f4,$f0,$f0
/* f07b6bc: 00000000 */ nop
/* f07b6c0: 46021182 */ mul.s $f6,$f2,$f2
/* f07b6c4: 0c012974 */ jal sqrtf
/* f07b6c8: 46062300 */ add.s $f12,$f4,$f6
/* f07b6cc: c7aa004c */ lwc1 $f10,0x4c($sp)
/* f07b6d0: c7a800f4 */ lwc1 $f8,0xf4($sp)
/* f07b6d4: 46000386 */ mov.s $f14,$f0
/* f07b6d8: 0fc259d4 */ jal atan2f
/* f07b6dc: 46085301 */ sub.s $f12,$f10,$f8
/* f07b6e0: c6040080 */ lwc1 $f4,0x80($s0)
/* f07b6e4: 3c017f1b */ lui $at,%hi(var7f1aa5ec)
/* f07b6e8: c432a5ec */ lwc1 $f18,%lo(var7f1aa5ec)($at)
/* f07b6ec: 46040181 */ sub.s $f6,$f0,$f4
/* f07b6f0: 3c017f1b */ lui $at,%hi(var7f1aa5f0)
/* f07b6f4: c42aa5f0 */ lwc1 $f10,%lo(var7f1aa5f0)($at)
/* f07b6f8: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b6fc: 46123080 */ add.s $f2,$f6,$f18
/* f07b700: 3c017f1b */ lui $at,%hi(var7f1aa5f4)
/* f07b704: 4602503c */ c.lt.s $f10,$f2
/* f07b708: 00000000 */ nop
/* f07b70c: 45000002 */ bc1f .L0f07b718
/* f07b710: 00000000 */ nop
/* f07b714: 46121081 */ sub.s $f2,$f2,$f18
.L0f07b718:
/* f07b718: c42ca5f4 */ lwc1 $f12,%lo(var7f1aa5f4)($at)
/* f07b71c: c60000d8 */ lwc1 $f0,0xd8($s0)
/* f07b720: 3c017f1b */ lui $at,%hi(var7f1aa5f8)
/* f07b724: 460c003c */ c.lt.s $f0,$f12
/* f07b728: 00000000 */ nop
/* f07b72c: 45000008 */ bc1f .L0f07b750
/* f07b730: 00000000 */ nop
/* f07b734: c428a5f8 */ lwc1 $f8,%lo(var7f1aa5f8)($at)
/* f07b738: 3c01800a */ lui $at,%hi(g_Vars+0x44)
/* f07b73c: c424a004 */ lwc1 $f4,%lo(g_Vars+0x44)($at)
/* f07b740: 46044182 */ mul.s $f6,$f8,$f4
/* f07b744: 46060280 */ add.s $f10,$f0,$f6
/* f07b748: 10000014 */ b .L0f07b79c
/* f07b74c: e60a00d8 */ swc1 $f10,0xd8($s0)
.L0f07b750:
/* f07b750: 10000012 */ b .L0f07b79c
/* f07b754: e60c00d8 */ swc1 $f12,0xd8($s0)
/* f07b758: c60000d8 */ lwc1 $f0,0xd8($s0)
.L0f07b75c:
/* f07b75c: 44804000 */ mtc1 $zero,$f8
/* f07b760: 3c013e00 */ lui $at,0x3e00
/* f07b764: 44819000 */ mtc1 $at,$f18
/* f07b768: 4600403c */ c.lt.s $f8,$f0
/* f07b76c: 3c017f1b */ lui $at,%hi(var7f1aa5fc)
/* f07b770: 45020007 */ bc1fl .L0f07b790
/* f07b774: 44805000 */ mtc1 $zero,$f10
/* f07b778: c424a5fc */ lwc1 $f4,%lo(var7f1aa5fc)($at)
/* f07b77c: 46040181 */ sub.s $f6,$f0,$f4
/* f07b780: e60600d8 */ swc1 $f6,0xd8($s0)
/* f07b784: 10000005 */ b .L0f07b79c
/* f07b788: e7b20108 */ swc1 $f18,0x108($sp)
/* f07b78c: 44805000 */ mtc1 $zero,$f10
.L0f07b790:
/* f07b790: 00000000 */ nop
/* f07b794: e60a00d8 */ swc1 $f10,0xd8($s0)
/* f07b798: e7b20108 */ swc1 $f18,0x108($sp)
.L0f07b79c:
/* f07b79c: 3c01800a */ lui $at,%hi(g_Vars+0x44)
/* f07b7a0: c424a004 */ lwc1 $f4,%lo(g_Vars+0x44)($at)
/* f07b7a4: c60800d8 */ lwc1 $f8,0xd8($s0)
/* f07b7a8: c60a00dc */ lwc1 $f10,0xdc($s0)
/* f07b7ac: c7b20108 */ lwc1 $f18,0x108($sp)
/* f07b7b0: 46044182 */ mul.s $f6,$f8,$f4
/* f07b7b4: 3c017f1b */ lui $at,%hi(var7f1aa600)
/* f07b7b8: 44058000 */ mfc1 $a1,$f16
/* f07b7bc: 27a400ec */ addiu $a0,$sp,0xec
/* f07b7c0: 27a600e4 */ addiu $a2,$sp,0xe4
/* f07b7c4: 46065200 */ add.s $f8,$f10,$f6
/* f07b7c8: e60800dc */ swc1 $f8,0xdc($s0)
/* f07b7cc: c424a600 */ lwc1 $f4,%lo(var7f1aa600)($at)
/* f07b7d0: 3c017f1b */ lui $at,%hi(var7f1aa604)
/* f07b7d4: c42aa604 */ lwc1 $f10,%lo(var7f1aa604)($at)
/* f07b7d8: 46122302 */ mul.s $f12,$f4,$f18
/* f07b7dc: 3c017f1b */ lui $at,%hi(var7f1aa608)
/* f07b7e0: c426a608 */ lwc1 $f6,%lo(var7f1aa608)($at)
/* f07b7e4: 46125002 */ mul.s $f0,$f10,$f18
/* f07b7e8: e7b00110 */ swc1 $f16,0x110($sp)
/* f07b7ec: e7a2010c */ swc1 $f2,0x10c($sp)
/* f07b7f0: 46123382 */ mul.s $f14,$f6,$f18
/* f07b7f4: 44076000 */ mfc1 $a3,$f12
/* f07b7f8: e7ac0034 */ swc1 $f12,0x34($sp)
/* f07b7fc: e7a00010 */ swc1 $f0,0x10($sp)
/* f07b800: e7a00030 */ swc1 $f0,0x30($sp)
/* f07b804: e7ae0014 */ swc1 $f14,0x14($sp)
/* f07b808: 0fc1b643 */ jal applySpeed
/* f07b80c: e7ae002c */ swc1 $f14,0x2c($sp)
/* f07b810: c7b00110 */ lwc1 $f16,0x110($sp)
/* f07b814: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b818: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b81c: c7a00030 */ lwc1 $f0,0x30($sp)
/* f07b820: 46104032 */ c.eq.s $f8,$f16
/* f07b824: 44051000 */ mfc1 $a1,$f2
/* f07b828: c7ac0034 */ lwc1 $f12,0x34($sp)
/* f07b82c: c7ae002c */ lwc1 $f14,0x2c($sp)
/* f07b830: 45000011 */ bc1f .L0f07b878
/* f07b834: 27a400e8 */ addiu $a0,$sp,0xe8
/* f07b838: c7b000e4 */ lwc1 $f16,0xe4($sp)
/* f07b83c: 3c017f1b */ lui $at,%hi(var7f1aa60c)
/* f07b840: c7aa0108 */ lwc1 $f10,0x108($sp)
/* f07b844: 4600803e */ c.le.s $f16,$f0
/* f07b848: 00000000 */ nop
/* f07b84c: 4502000b */ bc1fl .L0f07b87c
/* f07b850: 44076000 */ mfc1 $a3,$f12
/* f07b854: c424a60c */ lwc1 $f4,%lo(var7f1aa60c)($at)
/* f07b858: 460a2182 */ mul.s $f6,$f4,$f10
/* f07b85c: 4610303e */ c.le.s $f6,$f16
/* f07b860: 00000000 */ nop
/* f07b864: 45020005 */ bc1fl .L0f07b87c
/* f07b868: 44076000 */ mfc1 $a3,$f12
/* f07b86c: 44808000 */ mtc1 $zero,$f16
/* f07b870: 00000000 */ nop
/* f07b874: e7b000e4 */ swc1 $f16,0xe4($sp)
.L0f07b878:
/* f07b878: 44076000 */ mfc1 $a3,$f12
.L0f07b87c:
/* f07b87c: 27a600e0 */ addiu $a2,$sp,0xe0
/* f07b880: e7a00010 */ swc1 $f0,0x10($sp)
/* f07b884: e7ae0014 */ swc1 $f14,0x14($sp)
/* f07b888: e7a00030 */ swc1 $f0,0x30($sp)
/* f07b88c: 0fc1b643 */ jal applySpeed
/* f07b890: e7a2010c */ swc1 $f2,0x10c($sp)
/* f07b894: c7a2010c */ lwc1 $f2,0x10c($sp)
/* f07b898: c7a800e8 */ lwc1 $f8,0xe8($sp)
/* f07b89c: c7a00030 */ lwc1 $f0,0x30($sp)
/* f07b8a0: 46024032 */ c.eq.s $f8,$f2
/* f07b8a4: c7a200e0 */ lwc1 $f2,0xe0($sp)
/* f07b8a8: 45020010 */ bc1fl .L0f07b8ec
/* f07b8ac: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8b0: 4600103e */ c.le.s $f2,$f0
/* f07b8b4: 3c017f1b */ lui $at,%hi(var7f1aa610)
/* f07b8b8: c7aa0108 */ lwc1 $f10,0x108($sp)
/* f07b8bc: 4502000b */ bc1fl .L0f07b8ec
/* f07b8c0: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8c4: c424a610 */ lwc1 $f4,%lo(var7f1aa610)($at)
/* f07b8c8: 460a2182 */ mul.s $f6,$f4,$f10
/* f07b8cc: 4602303e */ c.le.s $f6,$f2
/* f07b8d0: 00000000 */ nop
/* f07b8d4: 45020005 */ bc1fl .L0f07b8ec
/* f07b8d8: c7a800ec */ lwc1 $f8,0xec($sp)
/* f07b8dc: 44801000 */ mtc1 $zero,$f2
/* f07b8e0: 00000000 */ nop
/* f07b8e4: e7a200e0 */ swc1 $f2,0xe0($sp)
/* f07b8e8: c7a800ec */ lwc1 $f8,0xec($sp)
.L0f07b8ec:
/* f07b8ec: 8e1800e0 */ lw $t8,0xe0($s0)
/* f07b8f0: e60800d0 */ swc1 $f8,0xd0($s0)
/* f07b8f4: c7a400e8 */ lwc1 $f4,0xe8($sp)
/* f07b8f8: e60400d4 */ swc1 $f4,0xd4($s0)
/* f07b8fc: c7aa00e4 */ lwc1 $f10,0xe4($sp)
/* f07b900: e60a00c8 */ swc1 $f10,0xc8($s0)
/* f07b904: c7a600e0 */ lwc1 $f6,0xe0($sp)
/* f07b908: e60600cc */ swc1 $f6,0xcc($s0)
/* f07b90c: 93190000 */ lbu $t9,0x0($t8)
/* f07b910: 07210004 */ bgez $t9,.L0f07b924
/* f07b914: 33280001 */ andi $t0,$t9,0x1
/* f07b918: 11000002 */ beqz $t0,.L0f07b924
/* f07b91c: 00000000 */ nop
/* f07b920: 2508fffe */ addiu $t0,$t0,-2
.L0f07b924:
/* f07b924: 55000003 */ bnezl $t0,.L0f07b934
/* f07b928: 8fa90114 */ lw $t1,0x114($sp)
/* f07b92c: afa00124 */ sw $zero,0x124($sp)
/* f07b930: 8fa90114 */ lw $t1,0x114($sp)
.L0f07b934:
/* f07b934: 24050003 */ addiu $a1,$zero,0x3
/* f07b938: 0c006a47 */ jal modelGetPart
/* f07b93c: 8d240008 */ lw $a0,0x8($t1)
/* f07b940: 10400004 */ beqz $v0,.L0f07b954
/* f07b944: 00402825 */ or $a1,$v0,$zero
/* f07b948: 0c006a87 */ jal modelGetNodeRwData
/* f07b94c: 8fa40114 */ lw $a0,0x114($sp)
/* f07b950: afa200d4 */ sw $v0,0xd4($sp)
.L0f07b954:
/* f07b954: 8faa0124 */ lw $t2,0x124($sp)
/* f07b958: 8faf00d4 */ lw $t7,0xd4($sp)
/* f07b95c: 1140002a */ beqz $t2,.L0f07ba08
/* f07b960: 00000000 */ nop
/* f07b964: c60800d4 */ lwc1 $f8,0xd4($s0)
/* f07b968: c6040080 */ lwc1 $f4,0x80($s0)
/* f07b96c: 46044280 */ add.s $f10,$f8,$f4
/* f07b970: e7aa0044 */ swc1 $f10,0x44($sp)
/* f07b974: c608007c */ lwc1 $f8,0x7c($s0)
/* f07b978: c60600d0 */ lwc1 $f6,0xd0($s0)
/* f07b97c: 46083300 */ add.s $f12,$f6,$f8
/* f07b980: 0c0068f7 */ jal sinf
/* f07b984: e7ac0040 */ swc1 $f12,0x40($sp)
/* f07b988: e7a00038 */ swc1 $f0,0x38($sp)
/* f07b98c: 0c0068f4 */ jal cosf
/* f07b990: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b994: c7a40038 */ lwc1 $f4,0x38($sp)
/* f07b998: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b99c: 46040282 */ mul.s $f10,$f0,$f4
/* f07b9a0: 0c0068f7 */ jal sinf
/* f07b9a4: e7aa00fc */ swc1 $f10,0xfc($sp)
/* f07b9a8: e7a00100 */ swc1 $f0,0x100($sp)
/* f07b9ac: 0c0068f4 */ jal cosf
/* f07b9b0: c7ac0040 */ lwc1 $f12,0x40($sp)
/* f07b9b4: e7a00038 */ swc1 $f0,0x38($sp)
/* f07b9b8: 0c0068f4 */ jal cosf
/* f07b9bc: c7ac0044 */ lwc1 $f12,0x44($sp)
/* f07b9c0: c7a60038 */ lwc1 $f6,0x38($sp)
/* f07b9c4: 8fac00dc */ lw $t4,0xdc($sp)
/* f07b9c8: 240b0059 */ addiu $t3,$zero,0x58
/* f07b9cc: 46060202 */ mul.s $f8,$f0,$f6
/* f07b9d0: 8fa40120 */ lw $a0,0x120($sp)
/* f07b9d4: 27a600f0 */ addiu $a2,$sp,0xf0
/* f07b9d8: 27a700fc */ addiu $a3,$sp,0xfc
/* f07b9dc: e7a80104 */ swc1 $f8,0x104($sp)
/* f07b9e0: 8e0500e0 */ lw $a1,0xe0($s0)
/* f07b9e4: afab0010 */ sw $t3,0x10($sp)
/* f07b9e8: 0fc244b7 */ jal projectileCreate
/* f07b9ec: afac0014 */ sw $t4,0x14($sp)
/* f07b9f0: 8fad00d4 */ lw $t5,0xd4($sp)
/* f07b9f4: 240e0001 */ addiu $t6,$zero,0x1
/* f07b9f8: 51a00007 */ beqzl $t5,.L0f07ba18
/* f07b9fc: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07ba00: 10000004 */ b .L0f07ba14
/* f07ba04: a5ae0000 */ sh $t6,0x0($t5)
.L0f07ba08:
/* f07ba08: 51e00003 */ beqzl $t7,.L0f07ba18
/* f07ba0c: 8e0300e0 */ lw $v1,0xe0($s0)
/* f07ba10: a5e00000 */ sh $zero,0x0($t7)
.L0f07ba14:
/* f07ba14: 8e0300e0 */ lw $v1,0xe0($s0)
.L0f07ba18:
/* f07ba18: 90780000 */ lbu $t8,0x0($v1)
/* f07ba1c: 27190001 */ addiu $t9,$t8,0x1
/* f07ba20: a0790000 */ sb $t9,0x0($v1)
/* f07ba24: 8fbf0024 */ lw $ra,0x24($sp)
/* f07ba28: 8fb00020 */ lw $s0,0x20($sp)
/* f07ba2c: 27bd0120 */ addiu $sp,$sp,0x120
/* f07ba30: 03e00008 */ jr $ra
/* f07ba34: 00000000 */ nop
);
#endif
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f07ba38
.late_rodata
glabel var7f1aa614
.word 0x406ccccd
glabel var7f1aa618
.word 0x3cfc9630
glabel var7f1aa61c
.word 0x3d567664
glabel var7f1aa620
.word 0x40c907a9
glabel var7f1aa624
.word 0x3c23d70a
glabel var7f1aa628
.word 0x3e19999a
glabel var7f1aa62c
.word 0x3f79db23
glabel var7f1aa630
.word 0x40490fdb
glabel var7f1aa634
.word 0x40b9999a
glabel var7f1aa638
.word 0x3a093c87
glabel var7f1aa63c
.word 0x3c80a8be
glabel var7f1aa640
.word 0x3a093c87
glabel var7f1aa644
.word 0xba093c87
glabel var7f1aa648
.word 0x3a093c87
glabel var7f1aa64c
.word 0x3c80a8be
glabel var7f1aa650
.word 0x3a093c87
glabel var7f1aa654
.word 0xba093c87
glabel var7f1aa658
.word 0x3dcccccd
glabel var7f1aa65c
.word 0x40c907a9
glabel var7f1aa660
.word 0x40c907a9
glabel var7f1aa664
.word 0x3ee66666
glabel var7f1aa668
.word 0x3e32b021
.text
/* f07ba38: 27bdfe88 */ addiu $sp,$sp,-376
/* f07ba3c: afbf0024 */ sw $ra,0x24($sp)
/* f07ba40: afb00020 */ sw $s0,0x20($sp)
/* f07ba44: afa40178 */ sw $a0,0x178($sp)
/* f07ba48: afa5017c */ sw $a1,0x17c($sp)
/* f07ba4c: afa60180 */ sw $a2,0x180($sp)
/* f07ba50: 8c900004 */ lw $s0,0x4($a0)
/* f07ba54: 3c017f1b */ lui $at,%hi(var7f1aa614)
/* f07ba58: c604007c */ lwc1 $f4,0x7c($s0)
/* f07ba5c: e7a40150 */ swc1 $f4,0x150($sp)
/* f07ba60: c6060080 */ lwc1 $f6,0x80($s0)
/* f07ba64: e7a6014c */ swc1 $f6,0x14c($sp)
/* f07ba68: c6080084 */ lwc1 $f8,0x84($s0)
/* f07ba6c: e7a80148 */ swc1 $f8,0x148($sp)
/* f07ba70: c60a0070 */ lwc1 $f10,0x70($s0)
/* f07ba74: e7aa0144 */ swc1 $f10,0x144($sp)
/* f07ba78: c6120074 */ lwc1 $f18,0x74($s0)
/* f07ba7c: e7b20140 */ swc1 $f18,0x140($sp)
/* f07ba80: c4e40000 */ lwc1 $f4,0x0($a3)
/* f07ba84: c61200a4 */ lwc1 $f18,0xa4($s0)
/* f07ba88: e60400a8 */ swc1 $f4,0xa8($s0)
/* f07ba8c: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07ba90: e60600ac */ swc1 $f6,0xac($s0)
/* f07ba94: c4e80008 */ lwc1 $f8,0x8($a3)
/* f07ba98: e60800b0 */ swc1 $f8,0xb0($s0)
/* f07ba9c: c4ea0000 */ lwc1 $f10,0x0($a3)
/* f07baa0: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07baa4: 46125102 */ mul.s $f4,$f10,$f18
/* f07baa8: c4f20008 */ lwc1 $f18,0x8($a3)
/* f07baac: e4e40000 */ swc1 $f4,0x0($a3)
/* f07bab0: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07bab4: 46083282 */ mul.s $f10,$f6,$f8
/* f07bab8: e4ea0004 */ swc1 $f10,0x4($a3)
/* f07babc: c60400a4 */ lwc1 $f4,0xa4($s0)
/* f07bac0: 46049182 */ mul.s $f6,$f18,$f4
/* f07bac4: e4e60008 */ swc1 $f6,0x8($a3)
/* f07bac8: c428a614 */ lwc1 $f8,%lo(var7f1aa614)($at)
/* f07bacc: c60000a4 */ lwc1 $f0,0xa4($s0)
/* f07bad0: 4608003c */ c.lt.s $f0,$f8
/* f07bad4: 00000000 */ nop
/* f07bad8: 45000007 */ bc1f .L0f07baf8
/* f07badc: 3c017f1b */ lui $at,%hi(var7f1aa618)
/* f07bae0: c42aa618 */ lwc1 $f10,%lo(var7f1aa618)($at)
/* f07bae4: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07bae8: c432a00c */ lwc1 $f18,%lo(g_Vars+0x4c)($at)
/* f07baec: 46125102 */ mul.s $f4,$f10,$f18
/* f07baf0: 46040180 */ add.s $f6,$f0,$f4
/* f07baf4: e60600a4 */ swc1 $f6,0xa4($s0)
.L0f07baf8:
/* f07baf8: 3c017f1b */ lui $at,%hi(var7f1aa61c)
/* f07bafc: c42aa61c */ lwc1 $f10,%lo(var7f1aa61c)($at)
/* f07bb00: c60800b4 */ lwc1 $f8,0xb4($s0)
/* f07bb04: 3c017f1b */ lui $at,%hi(var7f1aa620)
/* f07bb08: 460a4480 */ add.s $f18,$f8,$f10
/* f07bb0c: e61200b4 */ swc1 $f18,0xb4($s0)
/* f07bb10: c60600b4 */ lwc1 $f6,0xb4($s0)
/* f07bb14: c424a620 */ lwc1 $f4,%lo(var7f1aa620)($at)
/* f07bb18: 4606203c */ c.lt.s $f4,$f6
/* f07bb1c: 00000000 */ nop
/* f07bb20: 4502001d */ bc1fl .L0f07bb98
/* f07bb24: c60c00b4 */ lwc1 $f12,0xb4($s0)
/* f07bb28: 44804000 */ mtc1 $zero,$f8
/* f07bb2c: 00000000 */ nop
/* f07bb30: e60800b4 */ swc1 $f8,0xb4($s0)
/* f07bb34: 0c004b70 */ jal random
/* f07bb38: afa70184 */ sw $a3,0x184($sp)
/* f07bb3c: 304f0007 */ andi $t7,$v0,0x7
/* f07bb40: 25f80002 */ addiu $t8,$t7,0x2
/* f07bb44: 44985000 */ mtc1 $t8,$f10
/* f07bb48: 8fa70184 */ lw $a3,0x184($sp)
/* f07bb4c: 07010005 */ bgez $t8,.L0f07bb64
/* f07bb50: 468054a0 */ cvt.s.w $f18,$f10
/* f07bb54: 3c014f80 */ lui $at,0x4f80
/* f07bb58: 44812000 */ mtc1 $at,$f4
/* f07bb5c: 00000000 */ nop
/* f07bb60: 46049480 */ add.s $f18,$f18,$f4
.L0f07bb64:
/* f07bb64: 3c017f1b */ lui $at,%hi(var7f1aa624)
/* f07bb68: c426a624 */ lwc1 $f6,%lo(var7f1aa624)($at)
/* f07bb6c: 8e190008 */ lw $t9,0x8($s0)
/* f07bb70: 3c017f1b */ lui $at,%hi(var7f1aa628)
/* f07bb74: 46069202 */ mul.s $f8,$f18,$f6
/* f07bb78: 00194000 */ sll $t0,$t9,0x0
/* f07bb7c: 05010005 */ bgez $t0,.L0f07bb94
/* f07bb80: e60800b8 */ swc1 $f8,0xb8($s0)
/* f07bb84: c60a00b8 */ lwc1 $f10,0xb8($s0)
/* f07bb88: c424a628 */ lwc1 $f4,%lo(var7f1aa628)($at)
/* f07bb8c: 46045482 */ mul.s $f18,$f10,$f4
/* f07bb90: e61200b8 */ swc1 $f18,0xb8($s0)
.L0f07bb94:
/* f07bb94: c60c00b4 */ lwc1 $f12,0xb4($s0)
.L0f07bb98:
/* f07bb98: 0c0068f7 */ jal sinf
/* f07bb9c: afa70184 */ sw $a3,0x184($sp)
/* f07bba0: c60800b8 */ lwc1 $f8,0xb8($s0)
/* f07bba4: 8fa70184 */ lw $a3,0x184($sp)
/* f07bba8: 3c017f1b */ lui $at,%hi(var7f1aa62c)
/* f07bbac: 46004282 */ mul.s $f10,$f8,$f0
/* f07bbb0: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07bbb4: c42ca62c */ lwc1 $f12,%lo(var7f1aa62c)($at)
/* f07bbb8: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f07bbbc: 24020001 */ addiu $v0,$zero,0x1
/* f07bbc0: 46006086 */ mov.s $f2,$f12
/* f07bbc4: 460a3100 */ add.s $f4,$f6,$f10
/* f07bbc8: e4e40004 */ swc1 $f4,0x4($a3)
/* f07bbcc: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f07bbd0: 28610002 */ slti $at,$v1,0x2
/* f07bbd4: 14200005 */ bnez $at,.L0f07bbec
/* f07bbd8: 24420001 */ addiu $v0,$v0,0x1
.L0f07bbdc:
/* f07bbdc: 0043082a */ slt $at,$v0,$v1
/* f07bbe0: 460c1082 */ mul.s $f2,$f2,$f12
/* f07bbe4: 5420fffd */ bnezl $at,.L0f07bbdc
/* f07bbe8: 24420001 */ addiu $v0,$v0,0x1
.L0f07bbec:
/* f07bbec: c6120098 */ lwc1 $f18,0x98($s0)
/* f07bbf0: c4e80000 */ lwc1 $f8,0x0($a3)
/* f07bbf4: c60a009c */ lwc1 $f10,0x9c($s0)
/* f07bbf8: 92020096 */ lbu $v0,0x96($s0)
/* f07bbfc: 46089180 */ add.s $f6,$f18,$f8
/* f07bc00: c60800a0 */ lwc1 $f8,0xa0($s0)
/* f07bc04: 24010002 */ addiu $at,$zero,0x2
/* f07bc08: e6060098 */ swc1 $f6,0x98($s0)
/* f07bc0c: c4e40004 */ lwc1 $f4,0x4($a3)
/* f07bc10: 46045480 */ add.s $f18,$f10,$f4
/* f07bc14: c6040098 */ lwc1 $f4,0x98($s0)
/* f07bc18: e612009c */ swc1 $f18,0x9c($s0)
/* f07bc1c: c4e60008 */ lwc1 $f6,0x8($a3)
/* f07bc20: 46022482 */ mul.s $f18,$f4,$f2
/* f07bc24: 46064280 */ add.s $f10,$f8,$f6
/* f07bc28: c608009c */ lwc1 $f8,0x9c($s0)
/* f07bc2c: e60a00a0 */ swc1 $f10,0xa0($s0)
/* f07bc30: 46024182 */ mul.s $f6,$f8,$f2
/* f07bc34: c60a00a0 */ lwc1 $f10,0xa0($s0)
/* f07bc38: e6120098 */ swc1 $f18,0x98($s0)
/* f07bc3c: 46025102 */ mul.s $f4,$f10,$f2
/* f07bc40: e606009c */ swc1 $f6,0x9c($s0)
/* f07bc44: 1041002b */ beq $v0,$at,.L0f07bcf4
/* f07bc48: e60400a0 */ swc1 $f4,0xa0($s0)
/* f07bc4c: 14400004 */ bnez $v0,.L0f07bc60
/* f07bc50: 3c0140a0 */ lui $at,0x40a0
/* f07bc54: 8e0900c4 */ lw $t1,0xc4($s0)
/* f07bc58: 59200005 */ blezl $t1,.L0f07bc70
/* f07bc5c: 3c014100 */ lui $at,0x4100
.L0f07bc60:
/* f07bc60: 44810000 */ mtc1 $at,$f0
/* f07bc64: 10000005 */ b .L0f07bc7c
/* f07bc68: c6020098 */ lwc1 $f2,0x98($s0)
/* f07bc6c: 3c014100 */ lui $at,0x4100
.L0f07bc70:
/* f07bc70: 44810000 */ mtc1 $at,$f0
/* f07bc74: 00000000 */ nop
/* f07bc78: c6020098 */ lwc1 $f2,0x98($s0)
.L0f07bc7c:
/* f07bc7c: c60c009c */ lwc1 $f12,0x9c($s0)
/* f07bc80: c60e00a0 */ lwc1 $f14,0xa0($s0)
/* f07bc84: 46021482 */ mul.s $f18,$f2,$f2
/* f07bc88: 26040098 */ addiu $a0,$s0,0x98
/* f07bc8c: 2605009c */ addiu $a1,$s0,0x9c
/* f07bc90: 460c6202 */ mul.s $f8,$f12,$f12
/* f07bc94: 260600a0 */ addiu $a2,$s0,0xa0
/* f07bc98: 460e7282 */ mul.s $f10,$f14,$f14
/* f07bc9c: 00000000 */ nop
/* f07bca0: 46000102 */ mul.s $f4,$f0,$f0
/* f07bca4: 46089180 */ add.s $f6,$f18,$f8
/* f07bca8: 460a3400 */ add.s $f16,$f6,$f10
/* f07bcac: 4610203c */ c.lt.s $f4,$f16
/* f07bcb0: 00000000 */ nop
/* f07bcb4: 4500000f */ bc1f .L0f07bcf4
/* f07bcb8: 00000000 */ nop
/* f07bcbc: 0c0011e4 */ jal guNormalize
/* f07bcc0: e7a0010c */ swc1 $f0,0x10c($sp)
/* f07bcc4: c7a0010c */ lwc1 $f0,0x10c($sp)
/* f07bcc8: c6120098 */ lwc1 $f18,0x98($s0)
/* f07bccc: c606009c */ lwc1 $f6,0x9c($s0)
/* f07bcd0: c60400a0 */ lwc1 $f4,0xa0($s0)
/* f07bcd4: 46009202 */ mul.s $f8,$f18,$f0
/* f07bcd8: 00000000 */ nop
/* f07bcdc: 46003282 */ mul.s $f10,$f6,$f0
/* f07bce0: 00000000 */ nop
/* f07bce4: 46002482 */ mul.s $f18,$f4,$f0
/* f07bce8: e6080098 */ swc1 $f8,0x98($s0)
/* f07bcec: e60a009c */ swc1 $f10,0x9c($s0)
/* f07bcf0: e61200a0 */ swc1 $f18,0xa0($s0)
.L0f07bcf4:
/* f07bcf4: 3c017f1b */ lui $at,%hi(var7f1aa630)
/* f07bcf8: c7a20180 */ lwc1 $f2,0x180($sp)
/* f07bcfc: c428a630 */ lwc1 $f8,%lo(var7f1aa630)($at)
/* f07bd00: 3c073964 */ lui $a3,0x3989
/* f07bd04: 34e7ba35 */ ori $a3,$a3,0x3c87
/* f07bd08: 4602403c */ c.lt.s $f8,$f2
/* f07bd0c: 27a40150 */ addiu $a0,$sp,0x150
/* f07bd10: 27a60144 */ addiu $a2,$sp,0x144
/* f07bd14: 45000007 */ bc1f .L0f07bd34
/* f07bd18: 3c017f1b */ lui $at,%hi(var7f1aa634)
/* f07bd1c: c420a634 */ lwc1 $f0,%lo(var7f1aa634)($at)
/* f07bd20: 4600103c */ c.lt.s $f2,$f0
/* f07bd24: 00000000 */ nop
/* f07bd28: 45000002 */ bc1f .L0f07bd34
/* f07bd2c: 00000000 */ nop
/* f07bd30: e7a00180 */ swc1 $f0,0x180($sp)
.L0f07bd34:
/* f07bd34: 3c017f1b */ lui $at,%hi(var7f1aa638)
/* f07bd38: c426a638 */ lwc1 $f6,%lo(var7f1aa638)($at)
/* f07bd3c: 3c017f1b */ lui $at,%hi(var7f1aa63c)
/* f07bd40: c42aa63c */ lwc1 $f10,%lo(var7f1aa63c)($at)
/* f07bd44: 8fa5017c */ lw $a1,0x17c($sp)
/* f07bd48: e7a60010 */ swc1 $f6,0x10($sp)
/* f07bd4c: 0fc1b6c0 */ jal applyRotation
/* f07bd50: e7aa0014 */ swc1 $f10,0x14($sp)
/* f07bd54: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07bd58: c7b2017c */ lwc1 $f18,0x17c($sp)
/* f07bd5c: 3c073964 */ lui $a3,0x3989
/* f07bd60: 34e7ba35 */ ori $a3,$a3,0x3c87
/* f07bd64: 46122032 */ c.eq.s $f4,$f18
/* f07bd68: 27a4014c */ addiu $a0,$sp,0x14c
/* f07bd6c: 27a60140 */ addiu $a2,$sp,0x140
/* f07bd70: 45000010 */ bc1f .L0f07bdb4
/* f07bd74: 3c017f1b */ lui $at,%hi(var7f1aa640)
/* f07bd78: c428a640 */ lwc1 $f8,%lo(var7f1aa640)($at)
/* f07bd7c: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07bd80: 3c017f1b */ lui $at,%hi(var7f1aa644)
/* f07bd84: 4608103e */ c.le.s $f2,$f8
/* f07bd88: 00000000 */ nop
/* f07bd8c: 45000009 */ bc1f .L0f07bdb4
/* f07bd90: 00000000 */ nop
/* f07bd94: c426a644 */ lwc1 $f6,%lo(var7f1aa644)($at)
/* f07bd98: 4602303e */ c.le.s $f6,$f2
/* f07bd9c: 00000000 */ nop
/* f07bda0: 45000004 */ bc1f .L0f07bdb4
/* f07bda4: 00000000 */ nop
/* f07bda8: 44801000 */ mtc1 $zero,$f2
/* f07bdac: 00000000 */ nop
/* f07bdb0: e7a20144 */ swc1 $f2,0x144($sp)
.L0f07bdb4:
/* f07bdb4: 3c017f1b */ lui $at,%hi(var7f1aa648)
/* f07bdb8: c42aa648 */ lwc1 $f10,%lo(var7f1aa648)($at)
/* f07bdbc: 3c017f1b */ lui $at,%hi(var7f1aa64c)
/* f07bdc0: c424a64c */ lwc1 $f4,%lo(var7f1aa64c)($at)
/* f07bdc4: 8fa50180 */ lw $a1,0x180($sp)
/* f07bdc8: e7aa0010 */ swc1 $f10,0x10($sp)
/* f07bdcc: 0fc1b6c0 */ jal applyRotation
/* f07bdd0: e7a40014 */ swc1 $f4,0x14($sp)
/* f07bdd4: c7a0014c */ lwc1 $f0,0x14c($sp)
/* f07bdd8: c7b20180 */ lwc1 $f18,0x180($sp)
/* f07bddc: 46120032 */ c.eq.s $f0,$f18
/* f07bde0: 00000000 */ nop
/* f07bde4: 45000010 */ bc1f .L0f07be28
/* f07bde8: 3c017f1b */ lui $at,%hi(var7f1aa650)
/* f07bdec: c428a650 */ lwc1 $f8,%lo(var7f1aa650)($at)
/* f07bdf0: c7a20140 */ lwc1 $f2,0x140($sp)
/* f07bdf4: 3c017f1b */ lui $at,%hi(var7f1aa654)
/* f07bdf8: 4608103e */ c.le.s $f2,$f8
/* f07bdfc: 00000000 */ nop
/* f07be00: 4502000a */ bc1fl .L0f07be2c
/* f07be04: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07be08: c426a654 */ lwc1 $f6,%lo(var7f1aa654)($at)
/* f07be0c: 4602303e */ c.le.s $f6,$f2
/* f07be10: 00000000 */ nop
/* f07be14: 45020005 */ bc1fl .L0f07be2c
/* f07be18: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07be1c: 44801000 */ mtc1 $zero,$f2
/* f07be20: 00000000 */ nop
/* f07be24: e7a20140 */ swc1 $f2,0x140($sp)
.L0f07be28:
/* f07be28: c7a20144 */ lwc1 $f2,0x144($sp)
.L0f07be2c:
/* f07be2c: 3c014220 */ lui $at,0x4220
/* f07be30: 44812000 */ mtc1 $at,$f4
/* f07be34: 46001287 */ neg.s $f10,$f2
/* f07be38: c7ae0148 */ lwc1 $f14,0x148($sp)
/* f07be3c: 46045482 */ mul.s $f18,$f10,$f4
/* f07be40: 3c017f1b */ lui $at,%hi(var7f1aa658)
/* f07be44: c426a658 */ lwc1 $f6,%lo(var7f1aa658)($at)
/* f07be48: 3c017f1b */ lui $at,%hi(var7f1aa65c)
/* f07be4c: c424a65c */ lwc1 $f4,%lo(var7f1aa65c)($at)
/* f07be50: 460e9201 */ sub.s $f8,$f18,$f14
/* f07be54: 46002481 */ sub.s $f18,$f4,$f0
/* f07be58: 46064282 */ mul.s $f10,$f8,$f6
/* f07be5c: c7a80150 */ lwc1 $f8,0x150($sp)
/* f07be60: 44803000 */ mtc1 $zero,$f6
/* f07be64: e7b200fc */ swc1 $f18,0xfc($sp)
/* f07be68: e7a80100 */ swc1 $f8,0x100($sp)
/* f07be6c: e7a60104 */ swc1 $f6,0x104($sp)
/* f07be70: 460a7380 */ add.s $f14,$f14,$f10
/* f07be74: 44805000 */ mtc1 $zero,$f10
/* f07be78: 00000000 */ nop
/* f07be7c: 460e503e */ c.le.s $f10,$f14
/* f07be80: 00000000 */ nop
/* f07be84: 45000007 */ bc1f .L0f07bea4
/* f07be88: 00000000 */ nop
/* f07be8c: 46007306 */ mov.s $f12,$f14
/* f07be90: 27a5003c */ addiu $a1,$sp,0x3c
/* f07be94: 0c005900 */ jal mtx4LoadZRotation
/* f07be98: e7ae0148 */ swc1 $f14,0x148($sp)
/* f07be9c: 10000008 */ b .L0f07bec0
/* f07bea0: 27a400fc */ addiu $a0,$sp,0xfc
.L0f07bea4:
/* f07bea4: 3c017f1b */ lui $at,%hi(var7f1aa660)
/* f07bea8: c424a660 */ lwc1 $f4,%lo(var7f1aa660)($at)
/* f07beac: 27a5003c */ addiu $a1,$sp,0x3c
/* f07beb0: e7ae0148 */ swc1 $f14,0x148($sp)
/* f07beb4: 0c005900 */ jal mtx4LoadZRotation
/* f07beb8: 46047300 */ add.s $f12,$f14,$f4
/* f07bebc: 27a400fc */ addiu $a0,$sp,0xfc
.L0f07bec0:
/* f07bec0: 0c005923 */ jal mtx4LoadRotation
/* f07bec4: 27a5007c */ addiu $a1,$sp,0x7c
/* f07bec8: 8e0a0018 */ lw $t2,0x18($s0)
/* f07becc: 27a5007c */ addiu $a1,$sp,0x7c
/* f07bed0: 0c0057c1 */ jal mtx00015f04
/* f07bed4: c54c0014 */ lwc1 $f12,0x14($t2)
/* f07bed8: 27a4007c */ addiu $a0,$sp,0x7c
/* f07bedc: 27a5003c */ addiu $a1,$sp,0x3c
/* f07bee0: 0c005680 */ jal mtx4MultMtx4
/* f07bee4: 27a600bc */ addiu $a2,$sp,0xbc
/* f07bee8: 27a400bc */ addiu $a0,$sp,0xbc
/* f07beec: 0c005768 */ jal mtx4ToMtx3
/* f07bef0: 27a5011c */ addiu $a1,$sp,0x11c
/* f07bef4: 27a4011c */ addiu $a0,$sp,0x11c
/* f07bef8: 0c005736 */ jal mtx3Copy
/* f07befc: 2605001c */ addiu $a1,$s0,0x1c
/* f07bf00: 3c017f1b */ lui $at,%hi(var7f1aa664)
/* f07bf04: c432a664 */ lwc1 $f18,%lo(var7f1aa664)($at)
/* f07bf08: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07bf0c: 8fab0188 */ lw $t3,0x188($sp)
/* f07bf10: 4608903c */ c.lt.s $f18,$f8
/* f07bf14: 00000000 */ nop
/* f07bf18: 4502001a */ bc1fl .L0f07bf84
/* f07bf1c: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf20: 55600018 */ bnezl $t3,.L0f07bf84
/* f07bf24: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf28: 8e0c000c */ lw $t4,0xc($s0)
/* f07bf2c: 000c6b00 */ sll $t5,$t4,0xc
/* f07bf30: 05a20014 */ bltzl $t5,.L0f07bf84
/* f07bf34: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf38: 0fc21a6a */ jal objIsHealthy
/* f07bf3c: 02002025 */ or $a0,$s0,$zero
/* f07bf40: 1040000f */ beqz $v0,.L0f07bf80
/* f07bf44: 3c0e800a */ lui $t6,%hi(g_Vars+0x4b4)
/* f07bf48: 8dcea474 */ lw $t6,%lo(g_Vars+0x4b4)($t6)
/* f07bf4c: 24010022 */ addiu $at,$zero,0x22
/* f07bf50: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf54: 15c10003 */ bne $t6,$at,.L0f07bf64
/* f07bf58: 24060006 */ addiu $a2,$zero,0x6
/* f07bf5c: 10000002 */ b .L0f07bf68
/* f07bf60: 3402810d */ dli $v0,0x810d
.L0f07bf64:
/* f07bf64: 34028110 */ dli $v0,0x8110
.L0f07bf68:
/* f07bf68: 00022c00 */ sll $a1,$v0,0x10
/* f07bf6c: 00057c03 */ sra $t7,$a1,0x10
/* f07bf70: 0fc24a53 */ jal func0f09294c
/* f07bf74: 01e02825 */ or $a1,$t7,$zero
/* f07bf78: 10000006 */ b .L0f07bf94
/* f07bf7c: c7a60150 */ lwc1 $f6,0x150($sp)
.L0f07bf80:
/* f07bf80: 8fa40178 */ lw $a0,0x178($sp)
.L0f07bf84:
/* f07bf84: 24050006 */ addiu $a1,$zero,0x6
/* f07bf88: 0fc249af */ jal func0f0926bc
/* f07bf8c: 3406ffff */ dli $a2,0xffff
/* f07bf90: c7a60150 */ lwc1 $f6,0x150($sp)
.L0f07bf94:
/* f07bf94: 3c017f1b */ lui $at,%hi(var7f1aa668)
/* f07bf98: e606007c */ swc1 $f6,0x7c($s0)
/* f07bf9c: c7aa014c */ lwc1 $f10,0x14c($sp)
/* f07bfa0: e60a0080 */ swc1 $f10,0x80($s0)
/* f07bfa4: c7a40148 */ lwc1 $f4,0x148($sp)
/* f07bfa8: e6040084 */ swc1 $f4,0x84($s0)
/* f07bfac: c7b20144 */ lwc1 $f18,0x144($sp)
/* f07bfb0: e6120070 */ swc1 $f18,0x70($s0)
/* f07bfb4: c7a80140 */ lwc1 $f8,0x140($sp)
/* f07bfb8: e6080074 */ swc1 $f8,0x74($s0)
/* f07bfbc: c7a6017c */ lwc1 $f6,0x17c($sp)
/* f07bfc0: c7aa0150 */ lwc1 $f10,0x150($sp)
/* f07bfc4: c7b2017c */ lwc1 $f18,0x17c($sp)
/* f07bfc8: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07bfcc: 460a303c */ c.lt.s $f6,$f10
/* f07bfd0: 00000000 */ nop
/* f07bfd4: 45020004 */ bc1fl .L0f07bfe8
/* f07bfd8: 46122081 */ sub.s $f2,$f4,$f18
/* f07bfdc: 10000003 */ b .L0f07bfec
/* f07bfe0: 46065081 */ sub.s $f2,$f10,$f6
/* f07bfe4: 46122081 */ sub.s $f2,$f4,$f18
.L0f07bfe8:
/* f07bfe8: 46001087 */ neg.s $f2,$f2
.L0f07bfec:
/* f07bfec: c428a668 */ lwc1 $f8,%lo(var7f1aa668)($at)
/* f07bff0: 8fa20178 */ lw $v0,0x178($sp)
/* f07bff4: 0000c025 */ or $t8,$zero,$zero
/* f07bff8: 4608103c */ c.lt.s $f2,$f8
/* f07bffc: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07c000: 45020003 */ bc1fl .L0f07c010
/* f07c004: a6180092 */ sh $t8,0x92($s0)
/* f07c008: 24180001 */ addiu $t8,$zero,0x1
/* f07c00c: a6180092 */ sh $t8,0x92($s0)
.L0f07c010:
/* f07c010: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at)
/* f07c014: c6060098 */ lwc1 $f6,0x98($s0)
/* f07c018: c44a0008 */ lwc1 $f10,0x8($v0)
/* f07c01c: 24450028 */ addiu $a1,$v0,0x28
/* f07c020: 46003102 */ mul.s $f4,$f6,$f0
/* f07c024: 24440008 */ addiu $a0,$v0,0x8
/* f07c028: 27a60154 */ addiu $a2,$sp,0x154
/* f07c02c: 27a70160 */ addiu $a3,$sp,0x160
/* f07c030: 46045480 */ add.s $f18,$f10,$f4
/* f07c034: e7b20154 */ swc1 $f18,0x154($sp)
/* f07c038: c606009c */ lwc1 $f6,0x9c($s0)
/* f07c03c: c448000c */ lwc1 $f8,0xc($v0)
/* f07c040: 46003282 */ mul.s $f10,$f6,$f0
/* f07c044: 460a4100 */ add.s $f4,$f8,$f10
/* f07c048: e7a40158 */ swc1 $f4,0x158($sp)
/* f07c04c: c60600a0 */ lwc1 $f6,0xa0($s0)
/* f07c050: c4520010 */ lwc1 $f18,0x10($v0)
/* f07c054: afa50030 */ sw $a1,0x30($sp)
/* f07c058: 46003202 */ mul.s $f8,$f6,$f0
/* f07c05c: 46089280 */ add.s $f10,$f18,$f8
/* f07c060: 0fc1979d */ jal func0f065e74
/* f07c064: e7aa015c */ swc1 $f10,0x15c($sp)
/* f07c068: 8fa40178 */ lw $a0,0x178($sp)
/* f07c06c: c7a40154 */ lwc1 $f4,0x154($sp)
/* f07c070: e4840008 */ swc1 $f4,0x8($a0)
/* f07c074: c7a60158 */ lwc1 $f6,0x158($sp)
/* f07c078: e486000c */ swc1 $f6,0xc($a0)
/* f07c07c: c7b2015c */ lwc1 $f18,0x15c($sp)
/* f07c080: 0fc19711 */ jal propDeregisterRooms
/* f07c084: e4920010 */ swc1 $f18,0x10($a0)
/* f07c088: 27a40160 */ addiu $a0,$sp,0x160
/* f07c08c: 0fc195e9 */ jal roomsCopy
/* f07c090: 8fa50030 */ lw $a1,0x30($sp)
/* f07c094: 02002025 */ or $a0,$s0,$zero
/* f07c098: 00002825 */ or $a1,$zero,$zero
/* f07c09c: 0fc1a71c */ jal func0f069c70
/* f07c0a0: 24060001 */ addiu $a2,$zero,0x1
/* f07c0a4: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0a8: 0fc1ecfc */ jal func0f07b3f0
/* f07c0ac: 8fa50188 */ lw $a1,0x188($sp)
/* f07c0b0: 8e19000c */ lw $t9,0xc($s0)
/* f07c0b4: 00194300 */ sll $t0,$t9,0xc
/* f07c0b8: 05020014 */ bltzl $t0,.L0f07c10c
/* f07c0bc: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0c0: 0fc21a6a */ jal objIsHealthy
/* f07c0c4: 02002025 */ or $a0,$s0,$zero
/* f07c0c8: 1040000f */ beqz $v0,.L0f07c108
/* f07c0cc: 3c09800a */ lui $t1,%hi(g_Vars+0x4b4)
/* f07c0d0: 8d29a474 */ lw $t1,%lo(g_Vars+0x4b4)($t1)
/* f07c0d4: 24010022 */ addiu $at,$zero,0x22
/* f07c0d8: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0dc: 15210003 */ bne $t1,$at,.L0f07c0ec
/* f07c0e0: 24060005 */ addiu $a2,$zero,0x5
/* f07c0e4: 10000002 */ b .L0f07c0f0
/* f07c0e8: 3402810c */ dli $v0,0x810c
.L0f07c0ec:
/* f07c0ec: 3402810f */ dli $v0,0x810f
.L0f07c0f0:
/* f07c0f0: 00022c00 */ sll $a1,$v0,0x10
/* f07c0f4: 00055403 */ sra $t2,$a1,0x10
/* f07c0f8: 0fc24a53 */ jal func0f09294c
/* f07c0fc: 01402825 */ or $a1,$t2,$zero
/* f07c100: 10000006 */ b .L0f07c11c
/* f07c104: 8fbf0024 */ lw $ra,0x24($sp)
.L0f07c108:
/* f07c108: 8fa40178 */ lw $a0,0x178($sp)
.L0f07c10c:
/* f07c10c: 24050005 */ addiu $a1,$zero,0x5
/* f07c110: 0fc249af */ jal func0f0926bc
/* f07c114: 3406ffff */ dli $a2,0xffff
/* f07c118: 8fbf0024 */ lw $ra,0x24($sp)
.L0f07c11c:
/* f07c11c: 8fb00020 */ lw $s0,0x20($sp)
/* f07c120: 27bd0178 */ addiu $sp,$sp,0x178
/* f07c124: 03e00008 */ jr $ra
/* f07c128: 00000000 */ nop
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f07ba38
.late_rodata
glabel var7f1aa614
.word 0x406ccccd
glabel var7f1aa618
.word 0x3cfc9630
glabel var7f1aa61c
.word 0x3d567664
glabel var7f1aa620
.word 0x40c907a9
glabel var7f1aa624
.word 0x3c23d70a
glabel var7f1aa628
.word 0x3e19999a
glabel var7f1aa62c
.word 0x3f7ae148
glabel var7f1aa630
.word 0x40490fdb
glabel var7f1aa634
.word 0x40b9999a
glabel var7f1aa638
.word 0x39e4ba35
glabel var7f1aa63c
.word 0x3c566e92
glabel var7f1aa640
.word 0x39e4ba35
glabel var7f1aa644
.word 0xb9e4ba35
glabel var7f1aa648
.word 0x39e4ba35
glabel var7f1aa64c
.word 0x3c566e92
glabel var7f1aa650
.word 0x39e4ba35
glabel var7f1aa654
.word 0xb9e4ba35
glabel var7f1aa658
.word 0x3dcccccd
glabel var7f1aa65c
.word 0x40c907a9
glabel var7f1aa660
.word 0x40c907a9
glabel var7f1aa664
.word 0x3ee66666
glabel var7f1aa668
.word 0x3e32b021
.text
/* f07ba38: 27bdfe88 */ addiu $sp,$sp,-376
/* f07ba3c: afbf0024 */ sw $ra,0x24($sp)
/* f07ba40: afb00020 */ sw $s0,0x20($sp)
/* f07ba44: afa40178 */ sw $a0,0x178($sp)
/* f07ba48: afa5017c */ sw $a1,0x17c($sp)
/* f07ba4c: afa60180 */ sw $a2,0x180($sp)
/* f07ba50: 8c900004 */ lw $s0,0x4($a0)
/* f07ba54: 3c017f1b */ lui $at,%hi(var7f1aa614)
/* f07ba58: c604007c */ lwc1 $f4,0x7c($s0)
/* f07ba5c: e7a40150 */ swc1 $f4,0x150($sp)
/* f07ba60: c6060080 */ lwc1 $f6,0x80($s0)
/* f07ba64: e7a6014c */ swc1 $f6,0x14c($sp)
/* f07ba68: c6080084 */ lwc1 $f8,0x84($s0)
/* f07ba6c: e7a80148 */ swc1 $f8,0x148($sp)
/* f07ba70: c60a0070 */ lwc1 $f10,0x70($s0)
/* f07ba74: e7aa0144 */ swc1 $f10,0x144($sp)
/* f07ba78: c6120074 */ lwc1 $f18,0x74($s0)
/* f07ba7c: e7b20140 */ swc1 $f18,0x140($sp)
/* f07ba80: c4e40000 */ lwc1 $f4,0x0($a3)
/* f07ba84: c61200a4 */ lwc1 $f18,0xa4($s0)
/* f07ba88: e60400a8 */ swc1 $f4,0xa8($s0)
/* f07ba8c: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07ba90: e60600ac */ swc1 $f6,0xac($s0)
/* f07ba94: c4e80008 */ lwc1 $f8,0x8($a3)
/* f07ba98: e60800b0 */ swc1 $f8,0xb0($s0)
/* f07ba9c: c4ea0000 */ lwc1 $f10,0x0($a3)
/* f07baa0: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07baa4: 46125102 */ mul.s $f4,$f10,$f18
/* f07baa8: c4f20008 */ lwc1 $f18,0x8($a3)
/* f07baac: e4e40000 */ swc1 $f4,0x0($a3)
/* f07bab0: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07bab4: 46083282 */ mul.s $f10,$f6,$f8
/* f07bab8: e4ea0004 */ swc1 $f10,0x4($a3)
/* f07babc: c60400a4 */ lwc1 $f4,0xa4($s0)
/* f07bac0: 46049182 */ mul.s $f6,$f18,$f4
/* f07bac4: e4e60008 */ swc1 $f6,0x8($a3)
/* f07bac8: c428a614 */ lwc1 $f8,%lo(var7f1aa614)($at)
/* f07bacc: c60000a4 */ lwc1 $f0,0xa4($s0)
/* f07bad0: 4608003c */ c.lt.s $f0,$f8
/* f07bad4: 00000000 */ nop
/* f07bad8: 45000007 */ bc1f .L0f07baf8
/* f07badc: 3c017f1b */ lui $at,%hi(var7f1aa618)
/* f07bae0: c42aa618 */ lwc1 $f10,%lo(var7f1aa618)($at)
/* f07bae4: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07bae8: c432a00c */ lwc1 $f18,%lo(g_Vars+0x4c)($at)
/* f07baec: 46125102 */ mul.s $f4,$f10,$f18
/* f07baf0: 46040180 */ add.s $f6,$f0,$f4
/* f07baf4: e60600a4 */ swc1 $f6,0xa4($s0)
.L0f07baf8:
/* f07baf8: 3c017f1b */ lui $at,%hi(var7f1aa61c)
/* f07bafc: c42aa61c */ lwc1 $f10,%lo(var7f1aa61c)($at)
/* f07bb00: c60800b4 */ lwc1 $f8,0xb4($s0)
/* f07bb04: 3c017f1b */ lui $at,%hi(var7f1aa620)
/* f07bb08: 460a4480 */ add.s $f18,$f8,$f10
/* f07bb0c: e61200b4 */ swc1 $f18,0xb4($s0)
/* f07bb10: c60600b4 */ lwc1 $f6,0xb4($s0)
/* f07bb14: c424a620 */ lwc1 $f4,%lo(var7f1aa620)($at)
/* f07bb18: 4606203c */ c.lt.s $f4,$f6
/* f07bb1c: 00000000 */ nop
/* f07bb20: 4502001d */ bc1fl .L0f07bb98
/* f07bb24: c60c00b4 */ lwc1 $f12,0xb4($s0)
/* f07bb28: 44804000 */ mtc1 $zero,$f8
/* f07bb2c: 00000000 */ nop
/* f07bb30: e60800b4 */ swc1 $f8,0xb4($s0)
/* f07bb34: 0c004b70 */ jal random
/* f07bb38: afa70184 */ sw $a3,0x184($sp)
/* f07bb3c: 304f0007 */ andi $t7,$v0,0x7
/* f07bb40: 25f80002 */ addiu $t8,$t7,0x2
/* f07bb44: 44985000 */ mtc1 $t8,$f10
/* f07bb48: 8fa70184 */ lw $a3,0x184($sp)
/* f07bb4c: 07010005 */ bgez $t8,.L0f07bb64
/* f07bb50: 468054a0 */ cvt.s.w $f18,$f10
/* f07bb54: 3c014f80 */ lui $at,0x4f80
/* f07bb58: 44812000 */ mtc1 $at,$f4
/* f07bb5c: 00000000 */ nop
/* f07bb60: 46049480 */ add.s $f18,$f18,$f4
.L0f07bb64:
/* f07bb64: 3c017f1b */ lui $at,%hi(var7f1aa624)
/* f07bb68: c426a624 */ lwc1 $f6,%lo(var7f1aa624)($at)
/* f07bb6c: 8e190008 */ lw $t9,0x8($s0)
/* f07bb70: 3c017f1b */ lui $at,%hi(var7f1aa628)
/* f07bb74: 46069202 */ mul.s $f8,$f18,$f6
/* f07bb78: 00194000 */ sll $t0,$t9,0x0
/* f07bb7c: 05010005 */ bgez $t0,.L0f07bb94
/* f07bb80: e60800b8 */ swc1 $f8,0xb8($s0)
/* f07bb84: c60a00b8 */ lwc1 $f10,0xb8($s0)
/* f07bb88: c424a628 */ lwc1 $f4,%lo(var7f1aa628)($at)
/* f07bb8c: 46045482 */ mul.s $f18,$f10,$f4
/* f07bb90: e61200b8 */ swc1 $f18,0xb8($s0)
.L0f07bb94:
/* f07bb94: c60c00b4 */ lwc1 $f12,0xb4($s0)
.L0f07bb98:
/* f07bb98: 0c0068f7 */ jal sinf
/* f07bb9c: afa70184 */ sw $a3,0x184($sp)
/* f07bba0: c60800b8 */ lwc1 $f8,0xb8($s0)
/* f07bba4: 8fa70184 */ lw $a3,0x184($sp)
/* f07bba8: 3c017f1b */ lui $at,%hi(var7f1aa62c)
/* f07bbac: 46004282 */ mul.s $f10,$f8,$f0
/* f07bbb0: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07bbb4: c42ca62c */ lwc1 $f12,%lo(var7f1aa62c)($at)
/* f07bbb8: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f07bbbc: 24020001 */ addiu $v0,$zero,0x1
/* f07bbc0: 46006086 */ mov.s $f2,$f12
/* f07bbc4: 460a3100 */ add.s $f4,$f6,$f10
/* f07bbc8: e4e40004 */ swc1 $f4,0x4($a3)
/* f07bbcc: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f07bbd0: 28610002 */ slti $at,$v1,0x2
/* f07bbd4: 14200005 */ bnez $at,.L0f07bbec
/* f07bbd8: 24420001 */ addiu $v0,$v0,0x1
.L0f07bbdc:
/* f07bbdc: 0043082a */ slt $at,$v0,$v1
/* f07bbe0: 460c1082 */ mul.s $f2,$f2,$f12
/* f07bbe4: 5420fffd */ bnezl $at,.L0f07bbdc
/* f07bbe8: 24420001 */ addiu $v0,$v0,0x1
.L0f07bbec:
/* f07bbec: c6120098 */ lwc1 $f18,0x98($s0)
/* f07bbf0: c4e80000 */ lwc1 $f8,0x0($a3)
/* f07bbf4: c60a009c */ lwc1 $f10,0x9c($s0)
/* f07bbf8: 92020096 */ lbu $v0,0x96($s0)
/* f07bbfc: 46089180 */ add.s $f6,$f18,$f8
/* f07bc00: c60800a0 */ lwc1 $f8,0xa0($s0)
/* f07bc04: 24010002 */ addiu $at,$zero,0x2
/* f07bc08: e6060098 */ swc1 $f6,0x98($s0)
/* f07bc0c: c4e40004 */ lwc1 $f4,0x4($a3)
/* f07bc10: 46045480 */ add.s $f18,$f10,$f4
/* f07bc14: c6040098 */ lwc1 $f4,0x98($s0)
/* f07bc18: e612009c */ swc1 $f18,0x9c($s0)
/* f07bc1c: c4e60008 */ lwc1 $f6,0x8($a3)
/* f07bc20: 46022482 */ mul.s $f18,$f4,$f2
/* f07bc24: 46064280 */ add.s $f10,$f8,$f6
/* f07bc28: c608009c */ lwc1 $f8,0x9c($s0)
/* f07bc2c: e60a00a0 */ swc1 $f10,0xa0($s0)
/* f07bc30: 46024182 */ mul.s $f6,$f8,$f2
/* f07bc34: c60a00a0 */ lwc1 $f10,0xa0($s0)
/* f07bc38: e6120098 */ swc1 $f18,0x98($s0)
/* f07bc3c: 46025102 */ mul.s $f4,$f10,$f2
/* f07bc40: e606009c */ swc1 $f6,0x9c($s0)
/* f07bc44: 1041002b */ beq $v0,$at,.L0f07bcf4
/* f07bc48: e60400a0 */ swc1 $f4,0xa0($s0)
/* f07bc4c: 14400004 */ bnez $v0,.L0f07bc60
/* f07bc50: 3c0140a0 */ lui $at,0x40a0
/* f07bc54: 8e0900c4 */ lw $t1,0xc4($s0)
/* f07bc58: 59200005 */ blezl $t1,.L0f07bc70
/* f07bc5c: 3c014100 */ lui $at,0x4100
.L0f07bc60:
/* f07bc60: 44810000 */ mtc1 $at,$f0
/* f07bc64: 10000005 */ b .L0f07bc7c
/* f07bc68: c6020098 */ lwc1 $f2,0x98($s0)
/* f07bc6c: 3c014100 */ lui $at,0x4100
.L0f07bc70:
/* f07bc70: 44810000 */ mtc1 $at,$f0
/* f07bc74: 00000000 */ nop
/* f07bc78: c6020098 */ lwc1 $f2,0x98($s0)
.L0f07bc7c:
/* f07bc7c: c60c009c */ lwc1 $f12,0x9c($s0)
/* f07bc80: c60e00a0 */ lwc1 $f14,0xa0($s0)
/* f07bc84: 46021482 */ mul.s $f18,$f2,$f2
/* f07bc88: 26040098 */ addiu $a0,$s0,0x98
/* f07bc8c: 2605009c */ addiu $a1,$s0,0x9c
/* f07bc90: 460c6202 */ mul.s $f8,$f12,$f12
/* f07bc94: 260600a0 */ addiu $a2,$s0,0xa0
/* f07bc98: 460e7282 */ mul.s $f10,$f14,$f14
/* f07bc9c: 00000000 */ nop
/* f07bca0: 46000102 */ mul.s $f4,$f0,$f0
/* f07bca4: 46089180 */ add.s $f6,$f18,$f8
/* f07bca8: 460a3400 */ add.s $f16,$f6,$f10
/* f07bcac: 4610203c */ c.lt.s $f4,$f16
/* f07bcb0: 00000000 */ nop
/* f07bcb4: 4500000f */ bc1f .L0f07bcf4
/* f07bcb8: 00000000 */ nop
/* f07bcbc: 0c0011e4 */ jal guNormalize
/* f07bcc0: e7a0010c */ swc1 $f0,0x10c($sp)
/* f07bcc4: c7a0010c */ lwc1 $f0,0x10c($sp)
/* f07bcc8: c6120098 */ lwc1 $f18,0x98($s0)
/* f07bccc: c606009c */ lwc1 $f6,0x9c($s0)
/* f07bcd0: c60400a0 */ lwc1 $f4,0xa0($s0)
/* f07bcd4: 46009202 */ mul.s $f8,$f18,$f0
/* f07bcd8: 00000000 */ nop
/* f07bcdc: 46003282 */ mul.s $f10,$f6,$f0
/* f07bce0: 00000000 */ nop
/* f07bce4: 46002482 */ mul.s $f18,$f4,$f0
/* f07bce8: e6080098 */ swc1 $f8,0x98($s0)
/* f07bcec: e60a009c */ swc1 $f10,0x9c($s0)
/* f07bcf0: e61200a0 */ swc1 $f18,0xa0($s0)
.L0f07bcf4:
/* f07bcf4: 3c017f1b */ lui $at,%hi(var7f1aa630)
/* f07bcf8: c7a20180 */ lwc1 $f2,0x180($sp)
/* f07bcfc: c428a630 */ lwc1 $f8,%lo(var7f1aa630)($at)
/* f07bd00: 3c073964 */ lui $a3,0x3964
/* f07bd04: 34e7ba35 */ ori $a3,$a3,0xba35
/* f07bd08: 4602403c */ c.lt.s $f8,$f2
/* f07bd0c: 27a40150 */ addiu $a0,$sp,0x150
/* f07bd10: 27a60144 */ addiu $a2,$sp,0x144
/* f07bd14: 45000007 */ bc1f .L0f07bd34
/* f07bd18: 3c017f1b */ lui $at,%hi(var7f1aa634)
/* f07bd1c: c420a634 */ lwc1 $f0,%lo(var7f1aa634)($at)
/* f07bd20: 4600103c */ c.lt.s $f2,$f0
/* f07bd24: 00000000 */ nop
/* f07bd28: 45000002 */ bc1f .L0f07bd34
/* f07bd2c: 00000000 */ nop
/* f07bd30: e7a00180 */ swc1 $f0,0x180($sp)
.L0f07bd34:
/* f07bd34: 3c017f1b */ lui $at,%hi(var7f1aa638)
/* f07bd38: c426a638 */ lwc1 $f6,%lo(var7f1aa638)($at)
/* f07bd3c: 3c017f1b */ lui $at,%hi(var7f1aa63c)
/* f07bd40: c42aa63c */ lwc1 $f10,%lo(var7f1aa63c)($at)
/* f07bd44: 8fa5017c */ lw $a1,0x17c($sp)
/* f07bd48: e7a60010 */ swc1 $f6,0x10($sp)
/* f07bd4c: 0fc1b6c0 */ jal applyRotation
/* f07bd50: e7aa0014 */ swc1 $f10,0x14($sp)
/* f07bd54: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07bd58: c7b2017c */ lwc1 $f18,0x17c($sp)
/* f07bd5c: 3c073964 */ lui $a3,0x3964
/* f07bd60: 34e7ba35 */ ori $a3,$a3,0xba35
/* f07bd64: 46122032 */ c.eq.s $f4,$f18
/* f07bd68: 27a4014c */ addiu $a0,$sp,0x14c
/* f07bd6c: 27a60140 */ addiu $a2,$sp,0x140
/* f07bd70: 45000010 */ bc1f .L0f07bdb4
/* f07bd74: 3c017f1b */ lui $at,%hi(var7f1aa640)
/* f07bd78: c428a640 */ lwc1 $f8,%lo(var7f1aa640)($at)
/* f07bd7c: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07bd80: 3c017f1b */ lui $at,%hi(var7f1aa644)
/* f07bd84: 4608103e */ c.le.s $f2,$f8
/* f07bd88: 00000000 */ nop
/* f07bd8c: 45000009 */ bc1f .L0f07bdb4
/* f07bd90: 00000000 */ nop
/* f07bd94: c426a644 */ lwc1 $f6,%lo(var7f1aa644)($at)
/* f07bd98: 4602303e */ c.le.s $f6,$f2
/* f07bd9c: 00000000 */ nop
/* f07bda0: 45000004 */ bc1f .L0f07bdb4
/* f07bda4: 00000000 */ nop
/* f07bda8: 44801000 */ mtc1 $zero,$f2
/* f07bdac: 00000000 */ nop
/* f07bdb0: e7a20144 */ swc1 $f2,0x144($sp)
.L0f07bdb4:
/* f07bdb4: 3c017f1b */ lui $at,%hi(var7f1aa648)
/* f07bdb8: c42aa648 */ lwc1 $f10,%lo(var7f1aa648)($at)
/* f07bdbc: 3c017f1b */ lui $at,%hi(var7f1aa64c)
/* f07bdc0: c424a64c */ lwc1 $f4,%lo(var7f1aa64c)($at)
/* f07bdc4: 8fa50180 */ lw $a1,0x180($sp)
/* f07bdc8: e7aa0010 */ swc1 $f10,0x10($sp)
/* f07bdcc: 0fc1b6c0 */ jal applyRotation
/* f07bdd0: e7a40014 */ swc1 $f4,0x14($sp)
/* f07bdd4: c7a0014c */ lwc1 $f0,0x14c($sp)
/* f07bdd8: c7b20180 */ lwc1 $f18,0x180($sp)
/* f07bddc: 46120032 */ c.eq.s $f0,$f18
/* f07bde0: 00000000 */ nop
/* f07bde4: 45000010 */ bc1f .L0f07be28
/* f07bde8: 3c017f1b */ lui $at,%hi(var7f1aa650)
/* f07bdec: c428a650 */ lwc1 $f8,%lo(var7f1aa650)($at)
/* f07bdf0: c7a20140 */ lwc1 $f2,0x140($sp)
/* f07bdf4: 3c017f1b */ lui $at,%hi(var7f1aa654)
/* f07bdf8: 4608103e */ c.le.s $f2,$f8
/* f07bdfc: 00000000 */ nop
/* f07be00: 4502000a */ bc1fl .L0f07be2c
/* f07be04: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07be08: c426a654 */ lwc1 $f6,%lo(var7f1aa654)($at)
/* f07be0c: 4602303e */ c.le.s $f6,$f2
/* f07be10: 00000000 */ nop
/* f07be14: 45020005 */ bc1fl .L0f07be2c
/* f07be18: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07be1c: 44801000 */ mtc1 $zero,$f2
/* f07be20: 00000000 */ nop
/* f07be24: e7a20140 */ swc1 $f2,0x140($sp)
.L0f07be28:
/* f07be28: c7a20144 */ lwc1 $f2,0x144($sp)
.L0f07be2c:
/* f07be2c: 3c014220 */ lui $at,0x4220
/* f07be30: 44812000 */ mtc1 $at,$f4
/* f07be34: 46001287 */ neg.s $f10,$f2
/* f07be38: c7ae0148 */ lwc1 $f14,0x148($sp)
/* f07be3c: 46045482 */ mul.s $f18,$f10,$f4
/* f07be40: 3c017f1b */ lui $at,%hi(var7f1aa658)
/* f07be44: c426a658 */ lwc1 $f6,%lo(var7f1aa658)($at)
/* f07be48: 3c017f1b */ lui $at,%hi(var7f1aa65c)
/* f07be4c: c424a65c */ lwc1 $f4,%lo(var7f1aa65c)($at)
/* f07be50: 460e9201 */ sub.s $f8,$f18,$f14
/* f07be54: 46002481 */ sub.s $f18,$f4,$f0
/* f07be58: 46064282 */ mul.s $f10,$f8,$f6
/* f07be5c: c7a80150 */ lwc1 $f8,0x150($sp)
/* f07be60: 44803000 */ mtc1 $zero,$f6
/* f07be64: e7b200fc */ swc1 $f18,0xfc($sp)
/* f07be68: e7a80100 */ swc1 $f8,0x100($sp)
/* f07be6c: e7a60104 */ swc1 $f6,0x104($sp)
/* f07be70: 460a7380 */ add.s $f14,$f14,$f10
/* f07be74: 44805000 */ mtc1 $zero,$f10
/* f07be78: 00000000 */ nop
/* f07be7c: 460e503e */ c.le.s $f10,$f14
/* f07be80: 00000000 */ nop
/* f07be84: 45000007 */ bc1f .L0f07bea4
/* f07be88: 00000000 */ nop
/* f07be8c: 46007306 */ mov.s $f12,$f14
/* f07be90: 27a5003c */ addiu $a1,$sp,0x3c
/* f07be94: 0c005900 */ jal mtx4LoadZRotation
/* f07be98: e7ae0148 */ swc1 $f14,0x148($sp)
/* f07be9c: 10000008 */ b .L0f07bec0
/* f07bea0: 27a400fc */ addiu $a0,$sp,0xfc
.L0f07bea4:
/* f07bea4: 3c017f1b */ lui $at,%hi(var7f1aa660)
/* f07bea8: c424a660 */ lwc1 $f4,%lo(var7f1aa660)($at)
/* f07beac: 27a5003c */ addiu $a1,$sp,0x3c
/* f07beb0: e7ae0148 */ swc1 $f14,0x148($sp)
/* f07beb4: 0c005900 */ jal mtx4LoadZRotation
/* f07beb8: 46047300 */ add.s $f12,$f14,$f4
/* f07bebc: 27a400fc */ addiu $a0,$sp,0xfc
.L0f07bec0:
/* f07bec0: 0c005923 */ jal mtx4LoadRotation
/* f07bec4: 27a5007c */ addiu $a1,$sp,0x7c
/* f07bec8: 8e0a0018 */ lw $t2,0x18($s0)
/* f07becc: 27a5007c */ addiu $a1,$sp,0x7c
/* f07bed0: 0c0057c1 */ jal mtx00015f04
/* f07bed4: c54c0014 */ lwc1 $f12,0x14($t2)
/* f07bed8: 27a4007c */ addiu $a0,$sp,0x7c
/* f07bedc: 27a5003c */ addiu $a1,$sp,0x3c
/* f07bee0: 0c005680 */ jal mtx4MultMtx4
/* f07bee4: 27a600bc */ addiu $a2,$sp,0xbc
/* f07bee8: 27a400bc */ addiu $a0,$sp,0xbc
/* f07beec: 0c005768 */ jal mtx4ToMtx3
/* f07bef0: 27a5011c */ addiu $a1,$sp,0x11c
/* f07bef4: 27a4011c */ addiu $a0,$sp,0x11c
/* f07bef8: 0c005736 */ jal mtx3Copy
/* f07befc: 2605001c */ addiu $a1,$s0,0x1c
/* f07bf00: 3c017f1b */ lui $at,%hi(var7f1aa664)
/* f07bf04: c432a664 */ lwc1 $f18,%lo(var7f1aa664)($at)
/* f07bf08: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07bf0c: 8fab0188 */ lw $t3,0x188($sp)
/* f07bf10: 4608903c */ c.lt.s $f18,$f8
/* f07bf14: 00000000 */ nop
/* f07bf18: 4502001a */ bc1fl .L0f07bf84
/* f07bf1c: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf20: 55600018 */ bnezl $t3,.L0f07bf84
/* f07bf24: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf28: 8e0c000c */ lw $t4,0xc($s0)
/* f07bf2c: 000c6b00 */ sll $t5,$t4,0xc
/* f07bf30: 05a20014 */ bltzl $t5,.L0f07bf84
/* f07bf34: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf38: 0fc21a6a */ jal objIsHealthy
/* f07bf3c: 02002025 */ or $a0,$s0,$zero
/* f07bf40: 1040000f */ beqz $v0,.L0f07bf80
/* f07bf44: 3c0e800a */ lui $t6,%hi(g_Vars+0x4b4)
/* f07bf48: 8dcea474 */ lw $t6,%lo(g_Vars+0x4b4)($t6)
/* f07bf4c: 24010022 */ addiu $at,$zero,0x22
/* f07bf50: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf54: 15c10003 */ bne $t6,$at,.L0f07bf64
/* f07bf58: 24060006 */ addiu $a2,$zero,0x6
/* f07bf5c: 10000002 */ b .L0f07bf68
/* f07bf60: 3402810d */ dli $v0,0x810d
.L0f07bf64:
/* f07bf64: 34028110 */ dli $v0,0x8110
.L0f07bf68:
/* f07bf68: 00022c00 */ sll $a1,$v0,0x10
/* f07bf6c: 00057c03 */ sra $t7,$a1,0x10
/* f07bf70: 0fc24a53 */ jal func0f09294c
/* f07bf74: 01e02825 */ or $a1,$t7,$zero
/* f07bf78: 10000006 */ b .L0f07bf94
/* f07bf7c: c7a60150 */ lwc1 $f6,0x150($sp)
.L0f07bf80:
/* f07bf80: 8fa40178 */ lw $a0,0x178($sp)
.L0f07bf84:
/* f07bf84: 24050006 */ addiu $a1,$zero,0x6
/* f07bf88: 0fc249af */ jal func0f0926bc
/* f07bf8c: 3406ffff */ dli $a2,0xffff
/* f07bf90: c7a60150 */ lwc1 $f6,0x150($sp)
.L0f07bf94:
/* f07bf94: 3c017f1b */ lui $at,%hi(var7f1aa668)
/* f07bf98: e606007c */ swc1 $f6,0x7c($s0)
/* f07bf9c: c7aa014c */ lwc1 $f10,0x14c($sp)
/* f07bfa0: e60a0080 */ swc1 $f10,0x80($s0)
/* f07bfa4: c7a40148 */ lwc1 $f4,0x148($sp)
/* f07bfa8: e6040084 */ swc1 $f4,0x84($s0)
/* f07bfac: c7b20144 */ lwc1 $f18,0x144($sp)
/* f07bfb0: e6120070 */ swc1 $f18,0x70($s0)
/* f07bfb4: c7a80140 */ lwc1 $f8,0x140($sp)
/* f07bfb8: e6080074 */ swc1 $f8,0x74($s0)
/* f07bfbc: c7a6017c */ lwc1 $f6,0x17c($sp)
/* f07bfc0: c7aa0150 */ lwc1 $f10,0x150($sp)
/* f07bfc4: c7b2017c */ lwc1 $f18,0x17c($sp)
/* f07bfc8: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07bfcc: 460a303c */ c.lt.s $f6,$f10
/* f07bfd0: 00000000 */ nop
/* f07bfd4: 45020004 */ bc1fl .L0f07bfe8
/* f07bfd8: 46122081 */ sub.s $f2,$f4,$f18
/* f07bfdc: 10000003 */ b .L0f07bfec
/* f07bfe0: 46065081 */ sub.s $f2,$f10,$f6
/* f07bfe4: 46122081 */ sub.s $f2,$f4,$f18
.L0f07bfe8:
/* f07bfe8: 46001087 */ neg.s $f2,$f2
.L0f07bfec:
/* f07bfec: c428a668 */ lwc1 $f8,%lo(var7f1aa668)($at)
/* f07bff0: 8fa20178 */ lw $v0,0x178($sp)
/* f07bff4: 0000c025 */ or $t8,$zero,$zero
/* f07bff8: 4608103c */ c.lt.s $f2,$f8
/* f07bffc: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07c000: 45020003 */ bc1fl .L0f07c010
/* f07c004: a6180092 */ sh $t8,0x92($s0)
/* f07c008: 24180001 */ addiu $t8,$zero,0x1
/* f07c00c: a6180092 */ sh $t8,0x92($s0)
.L0f07c010:
/* f07c010: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at)
/* f07c014: c6060098 */ lwc1 $f6,0x98($s0)
/* f07c018: c44a0008 */ lwc1 $f10,0x8($v0)
/* f07c01c: 24450028 */ addiu $a1,$v0,0x28
/* f07c020: 46003102 */ mul.s $f4,$f6,$f0
/* f07c024: 24440008 */ addiu $a0,$v0,0x8
/* f07c028: 27a60154 */ addiu $a2,$sp,0x154
/* f07c02c: 27a70160 */ addiu $a3,$sp,0x160
/* f07c030: 46045480 */ add.s $f18,$f10,$f4
/* f07c034: e7b20154 */ swc1 $f18,0x154($sp)
/* f07c038: c606009c */ lwc1 $f6,0x9c($s0)
/* f07c03c: c448000c */ lwc1 $f8,0xc($v0)
/* f07c040: 46003282 */ mul.s $f10,$f6,$f0
/* f07c044: 460a4100 */ add.s $f4,$f8,$f10
/* f07c048: e7a40158 */ swc1 $f4,0x158($sp)
/* f07c04c: c60600a0 */ lwc1 $f6,0xa0($s0)
/* f07c050: c4520010 */ lwc1 $f18,0x10($v0)
/* f07c054: afa50030 */ sw $a1,0x30($sp)
/* f07c058: 46003202 */ mul.s $f8,$f6,$f0
/* f07c05c: 46089280 */ add.s $f10,$f18,$f8
/* f07c060: 0fc1979d */ jal func0f065e74
/* f07c064: e7aa015c */ swc1 $f10,0x15c($sp)
/* f07c068: 8fa40178 */ lw $a0,0x178($sp)
/* f07c06c: c7a40154 */ lwc1 $f4,0x154($sp)
/* f07c070: e4840008 */ swc1 $f4,0x8($a0)
/* f07c074: c7a60158 */ lwc1 $f6,0x158($sp)
/* f07c078: e486000c */ swc1 $f6,0xc($a0)
/* f07c07c: c7b2015c */ lwc1 $f18,0x15c($sp)
/* f07c080: 0fc19711 */ jal propDeregisterRooms
/* f07c084: e4920010 */ swc1 $f18,0x10($a0)
/* f07c088: 27a40160 */ addiu $a0,$sp,0x160
/* f07c08c: 0fc195e9 */ jal roomsCopy
/* f07c090: 8fa50030 */ lw $a1,0x30($sp)
/* f07c094: 02002025 */ or $a0,$s0,$zero
/* f07c098: 00002825 */ or $a1,$zero,$zero
/* f07c09c: 0fc1a71c */ jal func0f069c70
/* f07c0a0: 24060001 */ addiu $a2,$zero,0x1
/* f07c0a4: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0a8: 0fc1ecfc */ jal func0f07b3f0
/* f07c0ac: 8fa50188 */ lw $a1,0x188($sp)
/* f07c0b0: 8e19000c */ lw $t9,0xc($s0)
/* f07c0b4: 00194300 */ sll $t0,$t9,0xc
/* f07c0b8: 05020014 */ bltzl $t0,.L0f07c10c
/* f07c0bc: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0c0: 0fc21a6a */ jal objIsHealthy
/* f07c0c4: 02002025 */ or $a0,$s0,$zero
/* f07c0c8: 1040000f */ beqz $v0,.L0f07c108
/* f07c0cc: 3c09800a */ lui $t1,%hi(g_Vars+0x4b4)
/* f07c0d0: 8d29a474 */ lw $t1,%lo(g_Vars+0x4b4)($t1)
/* f07c0d4: 24010022 */ addiu $at,$zero,0x22
/* f07c0d8: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0dc: 15210003 */ bne $t1,$at,.L0f07c0ec
/* f07c0e0: 24060005 */ addiu $a2,$zero,0x5
/* f07c0e4: 10000002 */ b .L0f07c0f0
/* f07c0e8: 3402810c */ dli $v0,0x810c
.L0f07c0ec:
/* f07c0ec: 3402810f */ dli $v0,0x810f
.L0f07c0f0:
/* f07c0f0: 00022c00 */ sll $a1,$v0,0x10
/* f07c0f4: 00055403 */ sra $t2,$a1,0x10
/* f07c0f8: 0fc24a53 */ jal func0f09294c
/* f07c0fc: 01402825 */ or $a1,$t2,$zero
/* f07c100: 10000006 */ b .L0f07c11c
/* f07c104: 8fbf0024 */ lw $ra,0x24($sp)
.L0f07c108:
/* f07c108: 8fa40178 */ lw $a0,0x178($sp)
.L0f07c10c:
/* f07c10c: 24050005 */ addiu $a1,$zero,0x5
/* f07c110: 0fc249af */ jal func0f0926bc
/* f07c114: 3406ffff */ dli $a2,0xffff
/* f07c118: 8fbf0024 */ lw $ra,0x24($sp)
.L0f07c11c:
/* f07c11c: 8fb00020 */ lw $s0,0x20($sp)
/* f07c120: 27bd0178 */ addiu $sp,$sp,0x178
/* f07c124: 03e00008 */ jr $ra
/* f07c128: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f07ba38
.late_rodata
glabel var7f1aa614
.word 0x406ccccd
glabel var7f1aa618
.word 0x3cfc9630
glabel var7f1aa61c
.word 0x3d567664
glabel var7f1aa620
.word 0x40c907a9
glabel var7f1aa624
.word 0x3c23d70a
glabel var7f1aa628
.word 0x3e19999a
glabel var7f1aa62c
.word 0x3f7ae148
glabel var7f1aa630
.word 0x40490fdb
glabel var7f1aa634
.word 0x40b9999a
glabel var7f1aa638
.word 0x39e4ba35
glabel var7f1aa63c
.word 0x3c566e92
glabel var7f1aa640
.word 0x39e4ba35
glabel var7f1aa644
.word 0xb9e4ba35
glabel var7f1aa648
.word 0x39e4ba35
glabel var7f1aa64c
.word 0x3c566e92
glabel var7f1aa650
.word 0x39e4ba35
glabel var7f1aa654
.word 0xb9e4ba35
glabel var7f1aa658
.word 0x3dcccccd
glabel var7f1aa65c
.word 0x40c907a9
glabel var7f1aa660
.word 0x40c907a9
glabel var7f1aa664
.word 0x3ee66666
glabel var7f1aa668
.word 0x3e32b021
.text
/* f07ba38: 27bdfe88 */ addiu $sp,$sp,-376
/* f07ba3c: afbf0024 */ sw $ra,0x24($sp)
/* f07ba40: afb00020 */ sw $s0,0x20($sp)
/* f07ba44: afa40178 */ sw $a0,0x178($sp)
/* f07ba48: afa5017c */ sw $a1,0x17c($sp)
/* f07ba4c: afa60180 */ sw $a2,0x180($sp)
/* f07ba50: 8c900004 */ lw $s0,0x4($a0)
/* f07ba54: 3c017f1b */ lui $at,%hi(var7f1aa614)
/* f07ba58: c604007c */ lwc1 $f4,0x7c($s0)
/* f07ba5c: e7a40150 */ swc1 $f4,0x150($sp)
/* f07ba60: c6060080 */ lwc1 $f6,0x80($s0)
/* f07ba64: e7a6014c */ swc1 $f6,0x14c($sp)
/* f07ba68: c6080084 */ lwc1 $f8,0x84($s0)
/* f07ba6c: e7a80148 */ swc1 $f8,0x148($sp)
/* f07ba70: c60a0070 */ lwc1 $f10,0x70($s0)
/* f07ba74: e7aa0144 */ swc1 $f10,0x144($sp)
/* f07ba78: c6120074 */ lwc1 $f18,0x74($s0)
/* f07ba7c: e7b20140 */ swc1 $f18,0x140($sp)
/* f07ba80: c4e40000 */ lwc1 $f4,0x0($a3)
/* f07ba84: c61200a4 */ lwc1 $f18,0xa4($s0)
/* f07ba88: e60400a8 */ swc1 $f4,0xa8($s0)
/* f07ba8c: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07ba90: e60600ac */ swc1 $f6,0xac($s0)
/* f07ba94: c4e80008 */ lwc1 $f8,0x8($a3)
/* f07ba98: e60800b0 */ swc1 $f8,0xb0($s0)
/* f07ba9c: c4ea0000 */ lwc1 $f10,0x0($a3)
/* f07baa0: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07baa4: 46125102 */ mul.s $f4,$f10,$f18
/* f07baa8: c4f20008 */ lwc1 $f18,0x8($a3)
/* f07baac: e4e40000 */ swc1 $f4,0x0($a3)
/* f07bab0: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07bab4: 46083282 */ mul.s $f10,$f6,$f8
/* f07bab8: e4ea0004 */ swc1 $f10,0x4($a3)
/* f07babc: c60400a4 */ lwc1 $f4,0xa4($s0)
/* f07bac0: 46049182 */ mul.s $f6,$f18,$f4
/* f07bac4: e4e60008 */ swc1 $f6,0x8($a3)
/* f07bac8: c428a614 */ lwc1 $f8,%lo(var7f1aa614)($at)
/* f07bacc: c60000a4 */ lwc1 $f0,0xa4($s0)
/* f07bad0: 4608003c */ c.lt.s $f0,$f8
/* f07bad4: 00000000 */ nop
/* f07bad8: 45000007 */ bc1f .L0f07baf8
/* f07badc: 3c017f1b */ lui $at,%hi(var7f1aa618)
/* f07bae0: c42aa618 */ lwc1 $f10,%lo(var7f1aa618)($at)
/* f07bae4: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07bae8: c432a00c */ lwc1 $f18,%lo(g_Vars+0x4c)($at)
/* f07baec: 46125102 */ mul.s $f4,$f10,$f18
/* f07baf0: 46040180 */ add.s $f6,$f0,$f4
/* f07baf4: e60600a4 */ swc1 $f6,0xa4($s0)
.L0f07baf8:
/* f07baf8: 3c017f1b */ lui $at,%hi(var7f1aa61c)
/* f07bafc: c42aa61c */ lwc1 $f10,%lo(var7f1aa61c)($at)
/* f07bb00: c60800b4 */ lwc1 $f8,0xb4($s0)
/* f07bb04: 3c017f1b */ lui $at,%hi(var7f1aa620)
/* f07bb08: 460a4480 */ add.s $f18,$f8,$f10
/* f07bb0c: e61200b4 */ swc1 $f18,0xb4($s0)
/* f07bb10: c60600b4 */ lwc1 $f6,0xb4($s0)
/* f07bb14: c424a620 */ lwc1 $f4,%lo(var7f1aa620)($at)
/* f07bb18: 4606203c */ c.lt.s $f4,$f6
/* f07bb1c: 00000000 */ nop
/* f07bb20: 4502001d */ bc1fl .L0f07bb98
/* f07bb24: c60c00b4 */ lwc1 $f12,0xb4($s0)
/* f07bb28: 44804000 */ mtc1 $zero,$f8
/* f07bb2c: 00000000 */ nop
/* f07bb30: e60800b4 */ swc1 $f8,0xb4($s0)
/* f07bb34: 0c004b70 */ jal random
/* f07bb38: afa70184 */ sw $a3,0x184($sp)
/* f07bb3c: 304f0007 */ andi $t7,$v0,0x7
/* f07bb40: 25f80002 */ addiu $t8,$t7,0x2
/* f07bb44: 44985000 */ mtc1 $t8,$f10
/* f07bb48: 8fa70184 */ lw $a3,0x184($sp)
/* f07bb4c: 07010005 */ bgez $t8,.L0f07bb64
/* f07bb50: 468054a0 */ cvt.s.w $f18,$f10
/* f07bb54: 3c014f80 */ lui $at,0x4f80
/* f07bb58: 44812000 */ mtc1 $at,$f4
/* f07bb5c: 00000000 */ nop
/* f07bb60: 46049480 */ add.s $f18,$f18,$f4
.L0f07bb64:
/* f07bb64: 3c017f1b */ lui $at,%hi(var7f1aa624)
/* f07bb68: c426a624 */ lwc1 $f6,%lo(var7f1aa624)($at)
/* f07bb6c: 8e190008 */ lw $t9,0x8($s0)
/* f07bb70: 3c017f1b */ lui $at,%hi(var7f1aa628)
/* f07bb74: 46069202 */ mul.s $f8,$f18,$f6
/* f07bb78: 00194000 */ sll $t0,$t9,0x0
/* f07bb7c: 05010005 */ bgez $t0,.L0f07bb94
/* f07bb80: e60800b8 */ swc1 $f8,0xb8($s0)
/* f07bb84: c60a00b8 */ lwc1 $f10,0xb8($s0)
/* f07bb88: c424a628 */ lwc1 $f4,%lo(var7f1aa628)($at)
/* f07bb8c: 46045482 */ mul.s $f18,$f10,$f4
/* f07bb90: e61200b8 */ swc1 $f18,0xb8($s0)
.L0f07bb94:
/* f07bb94: c60c00b4 */ lwc1 $f12,0xb4($s0)
.L0f07bb98:
/* f07bb98: 0c0068f7 */ jal sinf
/* f07bb9c: afa70184 */ sw $a3,0x184($sp)
/* f07bba0: c60800b8 */ lwc1 $f8,0xb8($s0)
/* f07bba4: 8fa70184 */ lw $a3,0x184($sp)
/* f07bba8: 3c017f1b */ lui $at,%hi(var7f1aa62c)
/* f07bbac: 46004282 */ mul.s $f10,$f8,$f0
/* f07bbb0: c4e60004 */ lwc1 $f6,0x4($a3)
/* f07bbb4: c42ca62c */ lwc1 $f12,%lo(var7f1aa62c)($at)
/* f07bbb8: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f07bbbc: 24020001 */ addiu $v0,$zero,0x1
/* f07bbc0: 46006086 */ mov.s $f2,$f12
/* f07bbc4: 460a3100 */ add.s $f4,$f6,$f10
/* f07bbc8: e4e40004 */ swc1 $f4,0x4($a3)
/* f07bbcc: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f07bbd0: 28610002 */ slti $at,$v1,0x2
/* f07bbd4: 14200005 */ bnez $at,.L0f07bbec
/* f07bbd8: 24420001 */ addiu $v0,$v0,0x1
.L0f07bbdc:
/* f07bbdc: 0043082a */ slt $at,$v0,$v1
/* f07bbe0: 460c1082 */ mul.s $f2,$f2,$f12
/* f07bbe4: 5420fffd */ bnezl $at,.L0f07bbdc
/* f07bbe8: 24420001 */ addiu $v0,$v0,0x1
.L0f07bbec:
/* f07bbec: c6120098 */ lwc1 $f18,0x98($s0)
/* f07bbf0: c4e80000 */ lwc1 $f8,0x0($a3)
/* f07bbf4: c60a009c */ lwc1 $f10,0x9c($s0)
/* f07bbf8: 92020096 */ lbu $v0,0x96($s0)
/* f07bbfc: 46089180 */ add.s $f6,$f18,$f8
/* f07bc00: c60800a0 */ lwc1 $f8,0xa0($s0)
/* f07bc04: 24010002 */ addiu $at,$zero,0x2
/* f07bc08: e6060098 */ swc1 $f6,0x98($s0)
/* f07bc0c: c4e40004 */ lwc1 $f4,0x4($a3)
/* f07bc10: 46045480 */ add.s $f18,$f10,$f4
/* f07bc14: c6040098 */ lwc1 $f4,0x98($s0)
/* f07bc18: e612009c */ swc1 $f18,0x9c($s0)
/* f07bc1c: c4e60008 */ lwc1 $f6,0x8($a3)
/* f07bc20: 46022482 */ mul.s $f18,$f4,$f2
/* f07bc24: 46064280 */ add.s $f10,$f8,$f6
/* f07bc28: c608009c */ lwc1 $f8,0x9c($s0)
/* f07bc2c: e60a00a0 */ swc1 $f10,0xa0($s0)
/* f07bc30: 46024182 */ mul.s $f6,$f8,$f2
/* f07bc34: c60a00a0 */ lwc1 $f10,0xa0($s0)
/* f07bc38: e6120098 */ swc1 $f18,0x98($s0)
/* f07bc3c: 46025102 */ mul.s $f4,$f10,$f2
/* f07bc40: e606009c */ swc1 $f6,0x9c($s0)
/* f07bc44: 1041002b */ beq $v0,$at,.L0f07bcf4
/* f07bc48: e60400a0 */ swc1 $f4,0xa0($s0)
/* f07bc4c: 14400004 */ bnez $v0,.L0f07bc60
/* f07bc50: 3c0140a0 */ lui $at,0x40a0
/* f07bc54: 8e0900c4 */ lw $t1,0xc4($s0)
/* f07bc58: 59200005 */ blezl $t1,.L0f07bc70
/* f07bc5c: 3c014100 */ lui $at,0x4100
.L0f07bc60:
/* f07bc60: 44810000 */ mtc1 $at,$f0
/* f07bc64: 10000005 */ b .L0f07bc7c
/* f07bc68: c6020098 */ lwc1 $f2,0x98($s0)
/* f07bc6c: 3c014100 */ lui $at,0x4100
.L0f07bc70:
/* f07bc70: 44810000 */ mtc1 $at,$f0
/* f07bc74: 00000000 */ nop
/* f07bc78: c6020098 */ lwc1 $f2,0x98($s0)
.L0f07bc7c:
/* f07bc7c: c60c009c */ lwc1 $f12,0x9c($s0)
/* f07bc80: c60e00a0 */ lwc1 $f14,0xa0($s0)
/* f07bc84: 46021482 */ mul.s $f18,$f2,$f2
/* f07bc88: 26040098 */ addiu $a0,$s0,0x98
/* f07bc8c: 2605009c */ addiu $a1,$s0,0x9c
/* f07bc90: 460c6202 */ mul.s $f8,$f12,$f12
/* f07bc94: 260600a0 */ addiu $a2,$s0,0xa0
/* f07bc98: 460e7282 */ mul.s $f10,$f14,$f14
/* f07bc9c: 00000000 */ nop
/* f07bca0: 46000102 */ mul.s $f4,$f0,$f0
/* f07bca4: 46089180 */ add.s $f6,$f18,$f8
/* f07bca8: 460a3400 */ add.s $f16,$f6,$f10
/* f07bcac: 4610203c */ c.lt.s $f4,$f16
/* f07bcb0: 00000000 */ nop
/* f07bcb4: 4500000f */ bc1f .L0f07bcf4
/* f07bcb8: 00000000 */ nop
/* f07bcbc: 0c0011e4 */ jal guNormalize
/* f07bcc0: e7a0010c */ swc1 $f0,0x10c($sp)
/* f07bcc4: c7a0010c */ lwc1 $f0,0x10c($sp)
/* f07bcc8: c6120098 */ lwc1 $f18,0x98($s0)
/* f07bccc: c606009c */ lwc1 $f6,0x9c($s0)
/* f07bcd0: c60400a0 */ lwc1 $f4,0xa0($s0)
/* f07bcd4: 46009202 */ mul.s $f8,$f18,$f0
/* f07bcd8: 00000000 */ nop
/* f07bcdc: 46003282 */ mul.s $f10,$f6,$f0
/* f07bce0: 00000000 */ nop
/* f07bce4: 46002482 */ mul.s $f18,$f4,$f0
/* f07bce8: e6080098 */ swc1 $f8,0x98($s0)
/* f07bcec: e60a009c */ swc1 $f10,0x9c($s0)
/* f07bcf0: e61200a0 */ swc1 $f18,0xa0($s0)
.L0f07bcf4:
/* f07bcf4: 3c017f1b */ lui $at,%hi(var7f1aa630)
/* f07bcf8: c7a20180 */ lwc1 $f2,0x180($sp)
/* f07bcfc: c428a630 */ lwc1 $f8,%lo(var7f1aa630)($at)
/* f07bd00: 3c073964 */ lui $a3,0x3964
/* f07bd04: 34e7ba35 */ ori $a3,$a3,0xba35
/* f07bd08: 4602403c */ c.lt.s $f8,$f2
/* f07bd0c: 27a40150 */ addiu $a0,$sp,0x150
/* f07bd10: 27a60144 */ addiu $a2,$sp,0x144
/* f07bd14: 45000007 */ bc1f .L0f07bd34
/* f07bd18: 3c017f1b */ lui $at,%hi(var7f1aa634)
/* f07bd1c: c420a634 */ lwc1 $f0,%lo(var7f1aa634)($at)
/* f07bd20: 4600103c */ c.lt.s $f2,$f0
/* f07bd24: 00000000 */ nop
/* f07bd28: 45000002 */ bc1f .L0f07bd34
/* f07bd2c: 00000000 */ nop
/* f07bd30: e7a00180 */ swc1 $f0,0x180($sp)
.L0f07bd34:
/* f07bd34: 3c017f1b */ lui $at,%hi(var7f1aa638)
/* f07bd38: c426a638 */ lwc1 $f6,%lo(var7f1aa638)($at)
/* f07bd3c: 3c017f1b */ lui $at,%hi(var7f1aa63c)
/* f07bd40: c42aa63c */ lwc1 $f10,%lo(var7f1aa63c)($at)
/* f07bd44: 8fa5017c */ lw $a1,0x17c($sp)
/* f07bd48: e7a60010 */ swc1 $f6,0x10($sp)
/* f07bd4c: 0fc1b6c0 */ jal applyRotation
/* f07bd50: e7aa0014 */ swc1 $f10,0x14($sp)
/* f07bd54: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07bd58: c7b2017c */ lwc1 $f18,0x17c($sp)
/* f07bd5c: 3c073964 */ lui $a3,0x3964
/* f07bd60: 34e7ba35 */ ori $a3,$a3,0xba35
/* f07bd64: 46122032 */ c.eq.s $f4,$f18
/* f07bd68: 27a4014c */ addiu $a0,$sp,0x14c
/* f07bd6c: 27a60140 */ addiu $a2,$sp,0x140
/* f07bd70: 45000010 */ bc1f .L0f07bdb4
/* f07bd74: 3c017f1b */ lui $at,%hi(var7f1aa640)
/* f07bd78: c428a640 */ lwc1 $f8,%lo(var7f1aa640)($at)
/* f07bd7c: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07bd80: 3c017f1b */ lui $at,%hi(var7f1aa644)
/* f07bd84: 4608103e */ c.le.s $f2,$f8
/* f07bd88: 00000000 */ nop
/* f07bd8c: 45000009 */ bc1f .L0f07bdb4
/* f07bd90: 00000000 */ nop
/* f07bd94: c426a644 */ lwc1 $f6,%lo(var7f1aa644)($at)
/* f07bd98: 4602303e */ c.le.s $f6,$f2
/* f07bd9c: 00000000 */ nop
/* f07bda0: 45000004 */ bc1f .L0f07bdb4
/* f07bda4: 00000000 */ nop
/* f07bda8: 44801000 */ mtc1 $zero,$f2
/* f07bdac: 00000000 */ nop
/* f07bdb0: e7a20144 */ swc1 $f2,0x144($sp)
.L0f07bdb4:
/* f07bdb4: 3c017f1b */ lui $at,%hi(var7f1aa648)
/* f07bdb8: c42aa648 */ lwc1 $f10,%lo(var7f1aa648)($at)
/* f07bdbc: 3c017f1b */ lui $at,%hi(var7f1aa64c)
/* f07bdc0: c424a64c */ lwc1 $f4,%lo(var7f1aa64c)($at)
/* f07bdc4: 8fa50180 */ lw $a1,0x180($sp)
/* f07bdc8: e7aa0010 */ swc1 $f10,0x10($sp)
/* f07bdcc: 0fc1b6c0 */ jal applyRotation
/* f07bdd0: e7a40014 */ swc1 $f4,0x14($sp)
/* f07bdd4: c7a0014c */ lwc1 $f0,0x14c($sp)
/* f07bdd8: c7b20180 */ lwc1 $f18,0x180($sp)
/* f07bddc: 46120032 */ c.eq.s $f0,$f18
/* f07bde0: 00000000 */ nop
/* f07bde4: 45000010 */ bc1f .L0f07be28
/* f07bde8: 3c017f1b */ lui $at,%hi(var7f1aa650)
/* f07bdec: c428a650 */ lwc1 $f8,%lo(var7f1aa650)($at)
/* f07bdf0: c7a20140 */ lwc1 $f2,0x140($sp)
/* f07bdf4: 3c017f1b */ lui $at,%hi(var7f1aa654)
/* f07bdf8: 4608103e */ c.le.s $f2,$f8
/* f07bdfc: 00000000 */ nop
/* f07be00: 4502000a */ bc1fl .L0f07be2c
/* f07be04: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07be08: c426a654 */ lwc1 $f6,%lo(var7f1aa654)($at)
/* f07be0c: 4602303e */ c.le.s $f6,$f2
/* f07be10: 00000000 */ nop
/* f07be14: 45020005 */ bc1fl .L0f07be2c
/* f07be18: c7a20144 */ lwc1 $f2,0x144($sp)
/* f07be1c: 44801000 */ mtc1 $zero,$f2
/* f07be20: 00000000 */ nop
/* f07be24: e7a20140 */ swc1 $f2,0x140($sp)
.L0f07be28:
/* f07be28: c7a20144 */ lwc1 $f2,0x144($sp)
.L0f07be2c:
/* f07be2c: 3c014220 */ lui $at,0x4220
/* f07be30: 44812000 */ mtc1 $at,$f4
/* f07be34: 46001287 */ neg.s $f10,$f2
/* f07be38: c7ae0148 */ lwc1 $f14,0x148($sp)
/* f07be3c: 46045482 */ mul.s $f18,$f10,$f4
/* f07be40: 3c017f1b */ lui $at,%hi(var7f1aa658)
/* f07be44: c426a658 */ lwc1 $f6,%lo(var7f1aa658)($at)
/* f07be48: 3c017f1b */ lui $at,%hi(var7f1aa65c)
/* f07be4c: c424a65c */ lwc1 $f4,%lo(var7f1aa65c)($at)
/* f07be50: 460e9201 */ sub.s $f8,$f18,$f14
/* f07be54: 46002481 */ sub.s $f18,$f4,$f0
/* f07be58: 46064282 */ mul.s $f10,$f8,$f6
/* f07be5c: c7a80150 */ lwc1 $f8,0x150($sp)
/* f07be60: 44803000 */ mtc1 $zero,$f6
/* f07be64: e7b200fc */ swc1 $f18,0xfc($sp)
/* f07be68: e7a80100 */ swc1 $f8,0x100($sp)
/* f07be6c: e7a60104 */ swc1 $f6,0x104($sp)
/* f07be70: 460a7380 */ add.s $f14,$f14,$f10
/* f07be74: 44805000 */ mtc1 $zero,$f10
/* f07be78: 00000000 */ nop
/* f07be7c: 460e503e */ c.le.s $f10,$f14
/* f07be80: 00000000 */ nop
/* f07be84: 45000007 */ bc1f .L0f07bea4
/* f07be88: 00000000 */ nop
/* f07be8c: 46007306 */ mov.s $f12,$f14
/* f07be90: 27a5003c */ addiu $a1,$sp,0x3c
/* f07be94: 0c005900 */ jal mtx4LoadZRotation
/* f07be98: e7ae0148 */ swc1 $f14,0x148($sp)
/* f07be9c: 10000008 */ b .L0f07bec0
/* f07bea0: 27a400fc */ addiu $a0,$sp,0xfc
.L0f07bea4:
/* f07bea4: 3c017f1b */ lui $at,%hi(var7f1aa660)
/* f07bea8: c424a660 */ lwc1 $f4,%lo(var7f1aa660)($at)
/* f07beac: 27a5003c */ addiu $a1,$sp,0x3c
/* f07beb0: e7ae0148 */ swc1 $f14,0x148($sp)
/* f07beb4: 0c005900 */ jal mtx4LoadZRotation
/* f07beb8: 46047300 */ add.s $f12,$f14,$f4
/* f07bebc: 27a400fc */ addiu $a0,$sp,0xfc
.L0f07bec0:
/* f07bec0: 0c005923 */ jal mtx4LoadRotation
/* f07bec4: 27a5007c */ addiu $a1,$sp,0x7c
/* f07bec8: 8e0a0018 */ lw $t2,0x18($s0)
/* f07becc: 27a5007c */ addiu $a1,$sp,0x7c
/* f07bed0: 0c0057c1 */ jal mtx00015f04
/* f07bed4: c54c0014 */ lwc1 $f12,0x14($t2)
/* f07bed8: 27a4007c */ addiu $a0,$sp,0x7c
/* f07bedc: 27a5003c */ addiu $a1,$sp,0x3c
/* f07bee0: 0c005680 */ jal mtx4MultMtx4
/* f07bee4: 27a600bc */ addiu $a2,$sp,0xbc
/* f07bee8: 27a400bc */ addiu $a0,$sp,0xbc
/* f07beec: 0c005768 */ jal mtx4ToMtx3
/* f07bef0: 27a5011c */ addiu $a1,$sp,0x11c
/* f07bef4: 27a4011c */ addiu $a0,$sp,0x11c
/* f07bef8: 0c005736 */ jal mtx3Copy
/* f07befc: 2605001c */ addiu $a1,$s0,0x1c
/* f07bf00: 3c017f1b */ lui $at,%hi(var7f1aa664)
/* f07bf04: c432a664 */ lwc1 $f18,%lo(var7f1aa664)($at)
/* f07bf08: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07bf0c: 8fab0188 */ lw $t3,0x188($sp)
/* f07bf10: 4608903c */ c.lt.s $f18,$f8
/* f07bf14: 00000000 */ nop
/* f07bf18: 4502001a */ bc1fl .L0f07bf84
/* f07bf1c: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf20: 55600018 */ bnezl $t3,.L0f07bf84
/* f07bf24: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf28: 8e0c000c */ lw $t4,0xc($s0)
/* f07bf2c: 000c6b00 */ sll $t5,$t4,0xc
/* f07bf30: 05a20014 */ bltzl $t5,.L0f07bf84
/* f07bf34: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf38: 0fc21a6a */ jal objIsHealthy
/* f07bf3c: 02002025 */ or $a0,$s0,$zero
/* f07bf40: 1040000f */ beqz $v0,.L0f07bf80
/* f07bf44: 3c0e800a */ lui $t6,%hi(g_Vars+0x4b4)
/* f07bf48: 8dcea474 */ lw $t6,%lo(g_Vars+0x4b4)($t6)
/* f07bf4c: 24010022 */ addiu $at,$zero,0x22
/* f07bf50: 8fa40178 */ lw $a0,0x178($sp)
/* f07bf54: 15c10003 */ bne $t6,$at,.L0f07bf64
/* f07bf58: 24060006 */ addiu $a2,$zero,0x6
/* f07bf5c: 10000002 */ b .L0f07bf68
/* f07bf60: 3402810d */ dli $v0,0x810c
.L0f07bf64:
/* f07bf64: 34028110 */ dli $v0,0x810f
.L0f07bf68:
/* f07bf68: 00022c00 */ sll $a1,$v0,0x10
/* f07bf6c: 00057c03 */ sra $t7,$a1,0x10
/* f07bf70: 0fc24a53 */ jal func0f09294c
/* f07bf74: 01e02825 */ or $a1,$t7,$zero
/* f07bf78: 10000006 */ b .L0f07bf94
/* f07bf7c: c7a60150 */ lwc1 $f6,0x150($sp)
.L0f07bf80:
/* f07bf80: 8fa40178 */ lw $a0,0x178($sp)
.L0f07bf84:
/* f07bf84: 24050006 */ addiu $a1,$zero,0x6
/* f07bf88: 0fc249af */ jal func0f0926bc
/* f07bf8c: 3406ffff */ dli $a2,0xffff
/* f07bf90: c7a60150 */ lwc1 $f6,0x150($sp)
.L0f07bf94:
/* f07bf94: 3c017f1b */ lui $at,%hi(var7f1aa668)
/* f07bf98: e606007c */ swc1 $f6,0x7c($s0)
/* f07bf9c: c7aa014c */ lwc1 $f10,0x14c($sp)
/* f07bfa0: e60a0080 */ swc1 $f10,0x80($s0)
/* f07bfa4: c7a40148 */ lwc1 $f4,0x148($sp)
/* f07bfa8: e6040084 */ swc1 $f4,0x84($s0)
/* f07bfac: c7b20144 */ lwc1 $f18,0x144($sp)
/* f07bfb0: e6120070 */ swc1 $f18,0x70($s0)
/* f07bfb4: c7a80140 */ lwc1 $f8,0x140($sp)
/* f07bfb8: e6080074 */ swc1 $f8,0x74($s0)
/* f07bfbc: c7a6017c */ lwc1 $f6,0x17c($sp)
/* f07bfc0: c7aa0150 */ lwc1 $f10,0x150($sp)
/* f07bfc4: c7b2017c */ lwc1 $f18,0x17c($sp)
/* f07bfc8: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07bfcc: 460a303c */ c.lt.s $f6,$f10
/* f07bfd0: 00000000 */ nop
/* f07bfd4: 45020004 */ bc1fl .L0f07bfe8
/* f07bfd8: 46122081 */ sub.s $f2,$f4,$f18
/* f07bfdc: 10000003 */ b .L0f07bfec
/* f07bfe0: 46065081 */ sub.s $f2,$f10,$f6
/* f07bfe4: 46122081 */ sub.s $f2,$f4,$f18
.L0f07bfe8:
/* f07bfe8: 46001087 */ neg.s $f2,$f2
.L0f07bfec:
/* f07bfec: c428a668 */ lwc1 $f8,%lo(var7f1aa668)($at)
/* f07bff0: 8fa20178 */ lw $v0,0x178($sp)
/* f07bff4: 0000c025 */ or $t8,$zero,$zero
/* f07bff8: 4608103c */ c.lt.s $f2,$f8
/* f07bffc: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07c000: 45020003 */ bc1fl .L0f07c010
/* f07c004: a6180092 */ sh $t8,0x92($s0)
/* f07c008: 24180001 */ addiu $t8,$zero,0x1
/* f07c00c: a6180092 */ sh $t8,0x92($s0)
.L0f07c010:
/* f07c010: c420a00c */ lwc1 $f0,%lo(g_Vars+0x4c)($at)
/* f07c014: c6060098 */ lwc1 $f6,0x98($s0)
/* f07c018: c44a0008 */ lwc1 $f10,0x8($v0)
/* f07c01c: 24450028 */ addiu $a1,$v0,0x28
/* f07c020: 46003102 */ mul.s $f4,$f6,$f0
/* f07c024: 24440008 */ addiu $a0,$v0,0x8
/* f07c028: 27a60154 */ addiu $a2,$sp,0x154
/* f07c02c: 27a70160 */ addiu $a3,$sp,0x160
/* f07c030: 46045480 */ add.s $f18,$f10,$f4
/* f07c034: e7b20154 */ swc1 $f18,0x154($sp)
/* f07c038: c606009c */ lwc1 $f6,0x9c($s0)
/* f07c03c: c448000c */ lwc1 $f8,0xc($v0)
/* f07c040: 46003282 */ mul.s $f10,$f6,$f0
/* f07c044: 460a4100 */ add.s $f4,$f8,$f10
/* f07c048: e7a40158 */ swc1 $f4,0x158($sp)
/* f07c04c: c60600a0 */ lwc1 $f6,0xa0($s0)
/* f07c050: c4520010 */ lwc1 $f18,0x10($v0)
/* f07c054: afa50030 */ sw $a1,0x30($sp)
/* f07c058: 46003202 */ mul.s $f8,$f6,$f0
/* f07c05c: 46089280 */ add.s $f10,$f18,$f8
/* f07c060: 0fc1979d */ jal func0f065e74
/* f07c064: e7aa015c */ swc1 $f10,0x15c($sp)
/* f07c068: 8fa40178 */ lw $a0,0x178($sp)
/* f07c06c: c7a40154 */ lwc1 $f4,0x154($sp)
/* f07c070: e4840008 */ swc1 $f4,0x8($a0)
/* f07c074: c7a60158 */ lwc1 $f6,0x158($sp)
/* f07c078: e486000c */ swc1 $f6,0xc($a0)
/* f07c07c: c7b2015c */ lwc1 $f18,0x15c($sp)
/* f07c080: 0fc19711 */ jal propDeregisterRooms
/* f07c084: e4920010 */ swc1 $f18,0x10($a0)
/* f07c088: 27a40160 */ addiu $a0,$sp,0x160
/* f07c08c: 0fc195e9 */ jal roomsCopy
/* f07c090: 8fa50030 */ lw $a1,0x30($sp)
/* f07c094: 02002025 */ or $a0,$s0,$zero
/* f07c098: 00002825 */ or $a1,$zero,$zero
/* f07c09c: 0fc1a71c */ jal func0f069c70
/* f07c0a0: 24060001 */ addiu $a2,$zero,0x1
/* f07c0a4: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0a8: 0fc1ecfc */ jal func0f07b3f0
/* f07c0ac: 8fa50188 */ lw $a1,0x188($sp)
/* f07c0b0: 8e19000c */ lw $t9,0xc($s0)
/* f07c0b4: 00194300 */ sll $t0,$t9,0xc
/* f07c0b8: 05020014 */ bltzl $t0,.L0f07c10c
/* f07c0bc: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0c0: 0fc21a6a */ jal objIsHealthy
/* f07c0c4: 02002025 */ or $a0,$s0,$zero
/* f07c0c8: 1040000f */ beqz $v0,.L0f07c108
/* f07c0cc: 3c09800a */ lui $t1,%hi(g_Vars+0x4b4)
/* f07c0d0: 8d29a474 */ lw $t1,%lo(g_Vars+0x4b4)($t1)
/* f07c0d4: 24010022 */ addiu $at,$zero,0x22
/* f07c0d8: 8fa40178 */ lw $a0,0x178($sp)
/* f07c0dc: 15210003 */ bne $t1,$at,.L0f07c0ec
/* f07c0e0: 24060005 */ addiu $a2,$zero,0x5
/* f07c0e4: 10000002 */ b .L0f07c0f0
/* f07c0e8: 3402810c */ dli $v0,0x810b
.L0f07c0ec:
/* f07c0ec: 3402810f */ dli $v0,0x810e
.L0f07c0f0:
/* f07c0f0: 00022c00 */ sll $a1,$v0,0x10
/* f07c0f4: 00055403 */ sra $t2,$a1,0x10
/* f07c0f8: 0fc24a53 */ jal func0f09294c
/* f07c0fc: 01402825 */ or $a1,$t2,$zero
/* f07c100: 10000006 */ b .L0f07c11c
/* f07c104: 8fbf0024 */ lw $ra,0x24($sp)
.L0f07c108:
/* f07c108: 8fa40178 */ lw $a0,0x178($sp)
.L0f07c10c:
/* f07c10c: 24050005 */ addiu $a1,$zero,0x5
/* f07c110: 0fc249af */ jal func0f0926bc
/* f07c114: 3406ffff */ dli $a2,0xffff
/* f07c118: 8fbf0024 */ lw $ra,0x24($sp)
.L0f07c11c:
/* f07c11c: 8fb00020 */ lw $s0,0x20($sp)
/* f07c120: 27bd0178 */ addiu $sp,$sp,0x178
/* f07c124: 03e00008 */ jr $ra
/* f07c128: 00000000 */ nop
);
#endif
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel chopperTickFall
.late_rodata
glabel var7f1aa66c
.word 0xbf333333
glabel var7f1aa670
.word 0x3c1374bc
glabel var7f1aa674
.word 0xc6ea6000
glabel var7f1aa678
.word 0x40490fdb
glabel var7f1aa67c
.word 0xc0490fdb
glabel var7f1aa680
.word 0x3f79db23
glabel var7f1aa684
.word 0x3d567664
glabel var7f1aa688
.word 0x40c907a9
glabel var7f1aa68c
.word 0x3c23d70a
glabel var7f1aa690
.word 0x3e19999a
glabel var7f1aa694
.word 0x40490fdb
glabel var7f1aa698
.word 0xc0490fdb
.text
/* f07c12c: 27bdfe80 */ addiu $sp,$sp,-384
/* f07c130: afbf0034 */ sw $ra,0x34($sp)
/* f07c134: afb10030 */ sw $s1,0x30($sp)
/* f07c138: afb0002c */ sw $s0,0x2c($sp)
/* f07c13c: 8c900004 */ lw $s0,0x4($a0)
/* f07c140: 24010002 */ addiu $at,$zero,0x2
/* f07c144: 00808825 */ or $s1,$a0,$zero
/* f07c148: 8e0300c0 */ lw $v1,0xc0($s0)
/* f07c14c: 3c0e800a */ lui $t6,%hi(g_Vars+0x38)
/* f07c150: 02002825 */ or $a1,$s0,$zero
/* f07c154: 14610078 */ bne $v1,$at,.L0f07c338
/* f07c158: 00000000 */ nop
/* f07c15c: 8dce9ff8 */ lw $t6,%lo(g_Vars+0x38)($t6)
/* f07c160: 8e080088 */ lw $t0,0x88($s0)
/* f07c164: 44801000 */ mtc1 $zero,$f2
/* f07c168: 44807000 */ mtc1 $zero,$f14
/* f07c16c: 006e7823 */ subu $t7,$v1,$t6
/* f07c170: 1100006a */ beqz $t0,.L0f07c31c
/* f07c174: ae0f00c0 */ sw $t7,0xc0($s0)
/* f07c178: 95070006 */ lhu $a3,0x6($t0)
/* f07c17c: 00001825 */ or $v1,$zero,$zero
/* f07c180: 58e0001c */ blezl $a3,.L0f07c1f4
/* f07c184: 920a0097 */ lbu $t2,0x97($s0)
/* f07c188: 92040097 */ lbu $a0,0x97($s0)
/* f07c18c: 8e06008c */ lw $a2,0x8c($s0)
.L0f07c190:
/* f07c190: 50800004 */ beqzl $a0,.L0f07c1a4
/* f07c194: 24780001 */ addiu $t8,$v1,0x1
/* f07c198: 1000000d */ b .L0f07c1d0
/* f07c19c: 00601025 */ or $v0,$v1,$zero
/* f07c1a0: 24780001 */ addiu $t8,$v1,0x1
.L0f07c1a4:
/* f07c1a4: 0307001a */ div $zero,$t8,$a3
/* f07c1a8: 00001010 */ mfhi $v0
/* f07c1ac: 14e00002 */ bnez $a3,.L0f07c1b8
/* f07c1b0: 00000000 */ nop
/* f07c1b4: 0007000d */ break 0x7
.L0f07c1b8:
/* f07c1b8: 2401ffff */ addiu $at,$zero,-1
/* f07c1bc: 14e10004 */ bne $a3,$at,.L0f07c1d0
/* f07c1c0: 3c018000 */ lui $at,0x8000
/* f07c1c4: 17010002 */ bne $t8,$at,.L0f07c1d0
/* f07c1c8: 00000000 */ nop
/* f07c1cc: 0006000d */ break 0x6
.L0f07c1d0:
/* f07c1d0: 50460008 */ beql $v0,$a2,.L0f07c1f4
/* f07c1d4: 920a0097 */ lbu $t2,0x97($s0)
/* f07c1d8: 8cb90088 */ lw $t9,0x88($a1)
/* f07c1dc: 24630001 */ addiu $v1,$v1,0x1
/* f07c1e0: 97290006 */ lhu $t1,0x6($t9)
/* f07c1e4: 0069082a */ slt $at,$v1,$t1
/* f07c1e8: 1420ffe9 */ bnez $at,.L0f07c190
/* f07c1ec: 00000000 */ nop
/* f07c1f0: 920a0097 */ lbu $t2,0x97($s0)
.L0f07c1f4:
/* f07c1f4: 24050002 */ addiu $a1,$zero,0x2
/* f07c1f8: 246b0001 */ addiu $t3,$v1,0x1
/* f07c1fc: 5140000f */ beqzl $t2,.L0f07c23c
/* f07c200: 00601025 */ or $v0,$v1,$zero
/* f07c204: 0167001a */ div $zero,$t3,$a3
/* f07c208: 00001010 */ mfhi $v0
/* f07c20c: 14e00002 */ bnez $a3,.L0f07c218
/* f07c210: 00000000 */ nop
/* f07c214: 0007000d */ break 0x7
.L0f07c218:
/* f07c218: 2401ffff */ addiu $at,$zero,-1
/* f07c21c: 14e10004 */ bne $a3,$at,.L0f07c230
/* f07c220: 3c018000 */ lui $at,0x8000
/* f07c224: 15610002 */ bne $t3,$at,.L0f07c230
/* f07c228: 00000000 */ nop
/* f07c22c: 0006000d */ break 0x6
.L0f07c230:
/* f07c230: 10000003 */ b .L0f07c240
/* f07c234: 8d0c0000 */ lw $t4,0x0($t0)
/* f07c238: 00601025 */ or $v0,$v1,$zero
.L0f07c23c:
/* f07c23c: 8d0c0000 */ lw $t4,0x0($t0)
.L0f07c240:
/* f07c240: 00026880 */ sll $t5,$v0,0x2
/* f07c244: 27a60104 */ addiu $a2,$sp,0x104
/* f07c248: 018d7021 */ addu $t6,$t4,$t5
/* f07c24c: 8dc40000 */ lw $a0,0x0($t6)
/* f07c250: 0fc456ac */ jal padUnpack
/* f07c254: afa30158 */ sw $v1,0x158($sp)
/* f07c258: 920f0097 */ lbu $t7,0x97($s0)
/* f07c25c: 8fa30158 */ lw $v1,0x158($sp)
/* f07c260: 24050002 */ addiu $a1,$zero,0x2
/* f07c264: 51e00005 */ beqzl $t7,.L0f07c27c
/* f07c268: 8e080088 */ lw $t0,0x88($s0)
/* f07c26c: 00601025 */ or $v0,$v1,$zero
/* f07c270: 1000000f */ b .L0f07c2b0
/* f07c274: 8e080088 */ lw $t0,0x88($s0)
/* f07c278: 8e080088 */ lw $t0,0x88($s0)
.L0f07c27c:
/* f07c27c: 24780001 */ addiu $t8,$v1,0x1
/* f07c280: 95190006 */ lhu $t9,0x6($t0)
/* f07c284: 0319001a */ div $zero,$t8,$t9
/* f07c288: 00001010 */ mfhi $v0
/* f07c28c: 17200002 */ bnez $t9,.L0f07c298
/* f07c290: 00000000 */ nop
/* f07c294: 0007000d */ break 0x7
.L0f07c298:
/* f07c298: 2401ffff */ addiu $at,$zero,-1
/* f07c29c: 17210004 */ bne $t9,$at,.L0f07c2b0
/* f07c2a0: 3c018000 */ lui $at,0x8000
/* f07c2a4: 17010002 */ bne $t8,$at,.L0f07c2b0
/* f07c2a8: 00000000 */ nop
/* f07c2ac: 0006000d */ break 0x6
.L0f07c2b0:
/* f07c2b0: 8d090000 */ lw $t1,0x0($t0)
/* f07c2b4: 00025080 */ sll $t2,$v0,0x2
/* f07c2b8: 27a600b0 */ addiu $a2,$sp,0xb0
/* f07c2bc: 012a5821 */ addu $t3,$t1,$t2
/* f07c2c0: 0fc456ac */ jal padUnpack
/* f07c2c4: 8d640000 */ lw $a0,0x0($t3)
/* f07c2c8: c7a40104 */ lwc1 $f4,0x104($sp)
/* f07c2cc: c7a600b0 */ lwc1 $f6,0xb0($sp)
/* f07c2d0: c7a8010c */ lwc1 $f8,0x10c($sp)
/* f07c2d4: c7aa00b8 */ lwc1 $f10,0xb8($sp)
/* f07c2d8: 46062081 */ sub.s $f2,$f4,$f6
/* f07c2dc: 460a4381 */ sub.s $f14,$f8,$f10
/* f07c2e0: 46021402 */ mul.s $f16,$f2,$f2
/* f07c2e4: e7a200ac */ swc1 $f2,0xac($sp)
/* f07c2e8: 460e7482 */ mul.s $f18,$f14,$f14
/* f07c2ec: e7ae00a8 */ swc1 $f14,0xa8($sp)
/* f07c2f0: 0c012974 */ jal sqrtf
/* f07c2f4: 46128300 */ add.s $f12,$f16,$f18
/* f07c2f8: 3c013e80 */ lui $at,0x3e80
/* f07c2fc: 44812000 */ mtc1 $at,$f4
/* f07c300: c7a200ac */ lwc1 $f2,0xac($sp)
/* f07c304: c7ae00a8 */ lwc1 $f14,0xa8($sp)
/* f07c308: 46002303 */ div.s $f12,$f4,$f0
/* f07c30c: 460c1082 */ mul.s $f2,$f2,$f12
/* f07c310: 00000000 */ nop
/* f07c314: 460c7382 */ mul.s $f14,$f14,$f12
/* f07c318: 00000000 */ nop
.L0f07c31c:
/* f07c31c: 44804000 */ mtc1 $zero,$f8
/* f07c320: 46007187 */ neg.s $f6,$f14
/* f07c324: 26020068 */ addiu $v0,$s0,0x68
/* f07c328: e6060064 */ swc1 $f6,0x64($s0)
/* f07c32c: e4480000 */ swc1 $f8,0x0($v0)
/* f07c330: 10000017 */ b .L0f07c390
/* f07c334: e602006c */ swc1 $f2,0x6c($s0)
.L0f07c338:
/* f07c338: 04600007 */ bltz $v1,.L0f07c358
/* f07c33c: 26020068 */ addiu $v0,$s0,0x68
/* f07c340: 3c0c800a */ lui $t4,%hi(g_Vars+0x38)
/* f07c344: 8d8c9ff8 */ lw $t4,%lo(g_Vars+0x38)($t4)
/* f07c348: 26020068 */ addiu $v0,$s0,0x68
/* f07c34c: 006c6823 */ subu $t5,$v1,$t4
/* f07c350: 1000000f */ b .L0f07c390
/* f07c354: ae0d00c0 */ sw $t5,0xc0($s0)
.L0f07c358:
/* f07c358: 3c017f1b */ lui $at,%hi(var7f1aa66c)
/* f07c35c: c42aa66c */ lwc1 $f10,%lo(var7f1aa66c)($at)
/* f07c360: c4400000 */ lwc1 $f0,0x0($v0)
/* f07c364: 3c017f1b */ lui $at,%hi(var7f1aa670)
/* f07c368: 4600503c */ c.lt.s $f10,$f0
/* f07c36c: 00000000 */ nop
/* f07c370: 45020008 */ bc1fl .L0f07c394
/* f07c374: 26030064 */ addiu $v1,$s0,0x64
/* f07c378: c430a670 */ lwc1 $f16,%lo(var7f1aa670)($at)
/* f07c37c: 3c01800a */ lui $at,%hi(g_Vars+0x44)
/* f07c380: c432a004 */ lwc1 $f18,%lo(g_Vars+0x44)($at)
/* f07c384: 46128102 */ mul.s $f4,$f16,$f18
/* f07c388: 46040181 */ sub.s $f6,$f0,$f4
/* f07c38c: e4460000 */ swc1 $f6,0x0($v0)
.L0f07c390:
/* f07c390: 26030064 */ addiu $v1,$s0,0x64
.L0f07c394:
/* f07c394: c4680000 */ lwc1 $f8,0x0($v1)
/* f07c398: 2605006c */ addiu $a1,$s0,0x6c
/* f07c39c: 3c04800a */ lui $a0,%hi(g_Vars+0x4b4)
/* f07c3a0: e7a8015c */ swc1 $f8,0x15c($sp)
/* f07c3a4: c44a0000 */ lwc1 $f10,0x0($v0)
/* f07c3a8: 8c84a474 */ lw $a0,%lo(g_Vars+0x4b4)($a0)
/* f07c3ac: e7aa0160 */ swc1 $f10,0x160($sp)
/* f07c3b0: c4b00000 */ lwc1 $f16,0x0($a1)
/* f07c3b4: e7b00164 */ swc1 $f16,0x164($sp)
/* f07c3b8: c4640000 */ lwc1 $f4,0x0($v1)
/* f07c3bc: c612007c */ lwc1 $f18,0x7c($s0)
/* f07c3c0: c4a80000 */ lwc1 $f8,0x0($a1)
/* f07c3c4: 46049180 */ add.s $f6,$f18,$f4
/* f07c3c8: 46064280 */ add.s $f10,$f8,$f6
/* f07c3cc: 0fc59585 */ jal stageGetIndex
/* f07c3d0: e7aa0174 */ swc1 $f10,0x174($sp)
/* f07c3d4: 2401000e */ addiu $at,$zero,0xe
/* f07c3d8: 14410022 */ bne $v0,$at,.L0f07c464
/* f07c3dc: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f07c3e0: 3c017f1b */ lui $at,%hi(var7f1aa674)
/* f07c3e4: c432a674 */ lwc1 $f18,%lo(var7f1aa674)($at)
/* f07c3e8: c630000c */ lwc1 $f16,0xc($s1)
/* f07c3ec: 3406ffff */ dli $a2,0xffff
/* f07c3f0: 02202025 */ or $a0,$s1,$zero
/* f07c3f4: 4612803c */ c.lt.s $f16,$f18
/* f07c3f8: 8fa50174 */ lw $a1,0x174($sp)
/* f07c3fc: 27a7015c */ addiu $a3,$sp,0x15c
/* f07c400: 45020009 */ bc1fl .L0f07c428
/* f07c404: c6040080 */ lwc1 $f4,0x80($s0)
/* f07c408: 02202025 */ or $a0,$s1,$zero
/* f07c40c: 0fc249af */ jal func0f0926bc
/* f07c410: 24050001 */ addiu $a1,$zero,0x1
/* f07c414: 8e0e0040 */ lw $t6,0x40($s0)
/* f07c418: 35cf0004 */ ori $t7,$t6,0x4
/* f07c41c: 100000df */ b .L0f07c79c
/* f07c420: ae0f0040 */ sw $t7,0x40($s0)
/* f07c424: c6040080 */ lwc1 $f4,0x80($s0)
.L0f07c428:
/* f07c428: 44804000 */ mtc1 $zero,$f8
/* f07c42c: 3c017f1b */ lui $at,%hi(var7f1aa678)
/* f07c430: 4608203c */ c.lt.s $f4,$f8
/* f07c434: 00000000 */ nop
/* f07c438: 45000004 */ bc1f .L0f07c44c
/* f07c43c: 00000000 */ nop
/* f07c440: 3c017f1b */ lui $at,%hi(var7f1aa67c)
/* f07c444: 10000002 */ b .L0f07c450
/* f07c448: c420a678 */ lwc1 $f0,%lo(var7f1aa678)($at)
.L0f07c44c:
/* f07c44c: c420a67c */ lwc1 $f0,%lo(var7f1aa67c)($at)
.L0f07c450:
/* f07c450: 44060000 */ mfc1 $a2,$f0
/* f07c454: 0fc1ee8e */ jal func0f07ba38
/* f07c458: afa00010 */ sw $zero,0x10($sp)
/* f07c45c: 100000d0 */ b .L0f07c7a0
/* f07c460: 8fbf0034 */ lw $ra,0x34($sp)
.L0f07c464:
/* f07c464: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f07c468: 3c017f1b */ lui $at,%hi(var7f1aa680)
/* f07c46c: c420a680 */ lwc1 $f0,%lo(var7f1aa680)($at)
/* f07c470: 28610002 */ slti $at,$v1,0x2
/* f07c474: 24020001 */ addiu $v0,$zero,0x1
/* f07c478: 14200006 */ bnez $at,.L0f07c494
/* f07c47c: 46000086 */ mov.s $f2,$f0
/* f07c480: 24420001 */ addiu $v0,$v0,0x1
.L0f07c484:
/* f07c484: 0043082a */ slt $at,$v0,$v1
/* f07c488: 46001082 */ mul.s $f2,$f2,$f0
/* f07c48c: 5420fffd */ bnezl $at,.L0f07c484
/* f07c490: 24420001 */ addiu $v0,$v0,0x1
.L0f07c494:
/* f07c494: 3c017f1b */ lui $at,%hi(var7f1aa684)
/* f07c498: c42aa684 */ lwc1 $f10,%lo(var7f1aa684)($at)
/* f07c49c: c60600b4 */ lwc1 $f6,0xb4($s0)
/* f07c4a0: 3c017f1b */ lui $at,%hi(var7f1aa688)
/* f07c4a4: c430a688 */ lwc1 $f16,%lo(var7f1aa688)($at)
/* f07c4a8: 460a3300 */ add.s $f12,$f6,$f10
/* f07c4ac: 460c803c */ c.lt.s $f16,$f12
/* f07c4b0: 00000000 */ nop
/* f07c4b4: 4500001c */ bc1f .L0f07c528
/* f07c4b8: 00000000 */ nop
/* f07c4bc: 44806000 */ mtc1 $zero,$f12
/* f07c4c0: e7a20088 */ swc1 $f2,0x88($sp)
/* f07c4c4: 0c004b70 */ jal random
/* f07c4c8: e7ac0084 */ swc1 $f12,0x84($sp)
/* f07c4cc: 30580007 */ andi $t8,$v0,0x7
/* f07c4d0: 27190002 */ addiu $t9,$t8,0x2
/* f07c4d4: 44999000 */ mtc1 $t9,$f18
/* f07c4d8: c7a20088 */ lwc1 $f2,0x88($sp)
/* f07c4dc: c7ac0084 */ lwc1 $f12,0x84($sp)
/* f07c4e0: 07210005 */ bgez $t9,.L0f07c4f8
/* f07c4e4: 46809120 */ cvt.s.w $f4,$f18
/* f07c4e8: 3c014f80 */ lui $at,0x4f80
/* f07c4ec: 44814000 */ mtc1 $at,$f8
/* f07c4f0: 00000000 */ nop
/* f07c4f4: 46082100 */ add.s $f4,$f4,$f8
.L0f07c4f8:
/* f07c4f8: 3c017f1b */ lui $at,%hi(var7f1aa68c)
/* f07c4fc: c426a68c */ lwc1 $f6,%lo(var7f1aa68c)($at)
/* f07c500: 8e090008 */ lw $t1,0x8($s0)
/* f07c504: 3c017f1b */ lui $at,%hi(var7f1aa690)
/* f07c508: 46062282 */ mul.s $f10,$f4,$f6
/* f07c50c: 00095000 */ sll $t2,$t1,0x0
/* f07c510: 05410005 */ bgez $t2,.L0f07c528
/* f07c514: e60a00b8 */ swc1 $f10,0xb8($s0)
/* f07c518: c61000b8 */ lwc1 $f16,0xb8($s0)
/* f07c51c: c432a690 */ lwc1 $f18,%lo(var7f1aa690)($at)
/* f07c520: 46128202 */ mul.s $f8,$f16,$f18
/* f07c524: e60800b8 */ swc1 $f8,0xb8($s0)
.L0f07c528:
/* f07c528: 0c0068f7 */ jal sinf
/* f07c52c: e7a20088 */ swc1 $f2,0x88($sp)
/* f07c530: c60600b8 */ lwc1 $f6,0xb8($s0)
/* f07c534: c7a40160 */ lwc1 $f4,0x160($sp)
/* f07c538: c7b2015c */ lwc1 $f18,0x15c($sp)
/* f07c53c: 46003282 */ mul.s $f10,$f6,$f0
/* f07c540: c7a20088 */ lwc1 $f2,0x88($sp)
/* f07c544: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07c548: c42ca00c */ lwc1 $f12,%lo(g_Vars+0x4c)($at)
/* f07c54c: 26240008 */ addiu $a0,$s1,0x8
/* f07c550: 26250028 */ addiu $a1,$s1,0x28
/* f07c554: 27a60098 */ addiu $a2,$sp,0x98
/* f07c558: 460a2400 */ add.s $f16,$f4,$f10
/* f07c55c: 24070020 */ addiu $a3,$zero,0x20
/* f07c560: e7b00160 */ swc1 $f16,0x160($sp)
/* f07c564: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07c568: c6040098 */ lwc1 $f4,0x98($s0)
/* f07c56c: 46089182 */ mul.s $f6,$f18,$f8
/* f07c570: 46043280 */ add.s $f10,$f6,$f4
/* f07c574: 46025482 */ mul.s $f18,$f10,$f2
/* f07c578: e7b2008c */ swc1 $f18,0x8c($sp)
/* f07c57c: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07c580: c604009c */ lwc1 $f4,0x9c($s0)
/* f07c584: 46088182 */ mul.s $f6,$f16,$f8
/* f07c588: c7a80164 */ lwc1 $f8,0x164($sp)
/* f07c58c: 46043280 */ add.s $f10,$f6,$f4
/* f07c590: 46025402 */ mul.s $f16,$f10,$f2
/* f07c594: e7b00090 */ swc1 $f16,0x90($sp)
/* f07c598: c60600a4 */ lwc1 $f6,0xa4($s0)
/* f07c59c: c60a00a0 */ lwc1 $f10,0xa0($s0)
/* f07c5a0: 46064102 */ mul.s $f4,$f8,$f6
/* f07c5a4: 460a2200 */ add.s $f8,$f4,$f10
/* f07c5a8: 46024182 */ mul.s $f6,$f8,$f2
/* f07c5ac: e7a60094 */ swc1 $f6,0x94($sp)
/* f07c5b0: 460c9102 */ mul.s $f4,$f18,$f12
/* f07c5b4: c62a0008 */ lwc1 $f10,0x8($s1)
/* f07c5b8: 460c8482 */ mul.s $f18,$f16,$f12
/* f07c5bc: 460a2200 */ add.s $f8,$f4,$f10
/* f07c5c0: e7a80098 */ swc1 $f8,0x98($sp)
/* f07c5c4: c624000c */ lwc1 $f4,0xc($s1)
/* f07c5c8: 460c3202 */ mul.s $f8,$f6,$f12
/* f07c5cc: 46049280 */ add.s $f10,$f18,$f4
/* f07c5d0: e7aa009c */ swc1 $f10,0x9c($sp)
/* f07c5d4: c6300010 */ lwc1 $f16,0x10($s1)
/* f07c5d8: afa50040 */ sw $a1,0x40($sp)
/* f07c5dc: afa40044 */ sw $a0,0x44($sp)
/* f07c5e0: 46104480 */ add.s $f18,$f8,$f16
/* f07c5e4: 0c00b784 */ jal cd0002de10
/* f07c5e8: e7b200a0 */ swc1 $f18,0xa0($sp)
/* f07c5ec: 14400058 */ bnez $v0,.L0f07c750
/* f07c5f0: 8fa40044 */ lw $a0,0x44($sp)
/* f07c5f4: 3c0142c8 */ lui $at,0x42c8
/* f07c5f8: 44815000 */ mtc1 $at,$f10
/* f07c5fc: c624000c */ lwc1 $f4,0xc($s1)
/* f07c600: 3c0540a0 */ lui $a1,0x40a0
/* f07c604: 00003825 */ or $a3,$zero,$zero
/* f07c608: 460a2180 */ add.s $f6,$f4,$f10
/* f07c60c: e626000c */ swc1 $f6,0xc($s1)
/* f07c610: afa00010 */ sw $zero,0x10($sp)
/* f07c614: 8fa60040 */ lw $a2,0x40($sp)
/* f07c618: 0c00a8cc */ jal cdFindGroundYSimple
/* f07c61c: 8fa40044 */ lw $a0,0x44($sp)
/* f07c620: e7a00060 */ swc1 $f0,0x60($sp)
/* f07c624: 3c0142c8 */ lui $at,0x42c8
/* f07c628: 44818000 */ mtc1 $at,$f16
/* f07c62c: c628000c */ lwc1 $f8,0xc($s1)
/* f07c630: 3c067f1b */ lui $a2,%hi(var7f1aa044)
/* f07c634: 24c6a044 */ addiu $a2,$a2,%lo(var7f1aa044)
/* f07c638: 46104481 */ sub.s $f18,$f8,$f16
/* f07c63c: 27a40064 */ addiu $a0,$sp,0x64
/* f07c640: 240530a1 */ addiu $a1,$zero,0x30bc
/* f07c644: 0c0093af */ jal cdGetPos
/* f07c648: e632000c */ swc1 $f18,0xc($s1)
/* f07c64c: 3c0141a0 */ lui $at,0x41a0
/* f07c650: 44813000 */ mtc1 $at,$f6
/* f07c654: c7aa0060 */ lwc1 $f10,0x60($sp)
/* f07c658: c7a40064 */ lwc1 $f4,0x64($sp)
/* f07c65c: c7b0006c */ lwc1 $f16,0x6c($sp)
/* f07c660: 46065200 */ add.s $f8,$f10,$f6
/* f07c664: 8fa40044 */ lw $a0,0x44($sp)
/* f07c668: 8fa50040 */ lw $a1,0x40($sp)
/* f07c66c: 27a60098 */ addiu $a2,$sp,0x98
/* f07c670: e7a8009c */ swc1 $f8,0x9c($sp)
/* f07c674: 27a70050 */ addiu $a3,$sp,0x50
/* f07c678: e7a40098 */ swc1 $f4,0x98($sp)
/* f07c67c: 0fc1979d */ jal func0f065e74
/* f07c680: e7b000a0 */ swc1 $f16,0xa0($sp)
/* f07c684: c7b20098 */ lwc1 $f18,0x98($sp)
/* f07c688: 02202025 */ or $a0,$s1,$zero
/* f07c68c: e6320008 */ swc1 $f18,0x8($s1)
/* f07c690: c7a4009c */ lwc1 $f4,0x9c($sp)
/* f07c694: e624000c */ swc1 $f4,0xc($s1)
/* f07c698: c7aa00a0 */ lwc1 $f10,0xa0($sp)
/* f07c69c: 0fc19711 */ jal propDeregisterRooms
/* f07c6a0: e62a0010 */ swc1 $f10,0x10($s1)
/* f07c6a4: 27a40050 */ addiu $a0,$sp,0x50
/* f07c6a8: 0fc195e9 */ jal roomsCopy
/* f07c6ac: 8fa50040 */ lw $a1,0x40($sp)
/* f07c6b0: 02002025 */ or $a0,$s0,$zero
/* f07c6b4: 00002825 */ or $a1,$zero,$zero
/* f07c6b8: 0fc1a71c */ jal func0f069c70
/* f07c6bc: 24060001 */ addiu $a2,$zero,0x1
/* f07c6c0: 920b0096 */ lbu $t3,0x96($s0)
/* f07c6c4: 02002025 */ or $a0,$s0,$zero
/* f07c6c8: 24050008 */ addiu $a1,$zero,0x8
/* f07c6cc: 256c0001 */ addiu $t4,$t3,0x1
/* f07c6d0: 0fc20733 */ jal func0f081ccc
/* f07c6d4: a20c0096 */ sb $t4,0x96($s0)
/* f07c6d8: 862d0028 */ lh $t5,0x28($s1)
/* f07c6dc: 3c013f80 */ lui $at,0x3f80
/* f07c6e0: 44803000 */ mtc1 $zero,$f6
/* f07c6e4: 44814000 */ mtc1 $at,$f8
/* f07c6e8: 44808000 */ mtc1 $zero,$f16
/* f07c6ec: 02202025 */ or $a0,$s1,$zero
/* f07c6f0: 24050001 */ addiu $a1,$zero,0x1
/* f07c6f4: 3406ffff */ dli $a2,0xffff
/* f07c6f8: a7ad0072 */ sh $t5,0x72($sp)
/* f07c6fc: e7a60074 */ swc1 $f6,0x74($sp)
/* f07c700: e7a80078 */ swc1 $f8,0x78($sp)
/* f07c704: 0fc249af */ jal func0f0926bc
/* f07c708: e7b0007c */ swc1 $f16,0x7c($sp)
/* f07c70c: 87b80072 */ lh $t8,0x72($sp)
/* f07c710: 240e0001 */ addiu $t6,$zero,0x1
/* f07c714: 27af0098 */ addiu $t7,$sp,0x98
/* f07c718: 27b90074 */ addiu $t9,$sp,0x74
/* f07c71c: afb90020 */ sw $t9,0x20($sp)
/* f07c720: afaf0018 */ sw $t7,0x18($sp)
/* f07c724: afae0014 */ sw $t6,0x14($sp)
/* f07c728: 00002025 */ or $a0,$zero,$zero
/* f07c72c: 8fa50044 */ lw $a1,0x44($sp)
/* f07c730: 8fa60040 */ lw $a2,0x40($sp)
/* f07c734: 2407000d */ addiu $a3,$zero,0xd
/* f07c738: afa00010 */ sw $zero,0x10($sp)
/* f07c73c: 0fc4a7d5 */ jal explosionCreate
/* f07c740: afb8001c */ sw $t8,0x1c($sp)
/* f07c744: 24090001 */ addiu $t1,$zero,0x1
/* f07c748: 10000014 */ b .L0f07c79c
/* f07c74c: ae0900e4 */ sw $t1,0xe4($s0)
.L0f07c750:
/* f07c750: 8fa50040 */ lw $a1,0x40($sp)
/* f07c754: 0fc4ba08 */ jal smokeCreateSimple
/* f07c758: 24060003 */ addiu $a2,$zero,0x3
/* f07c75c: c6120080 */ lwc1 $f18,0x80($s0)
/* f07c760: 44802000 */ mtc1 $zero,$f4
/* f07c764: 02202025 */ or $a0,$s1,$zero
/* f07c768: 8fa50174 */ lw $a1,0x174($sp)
/* f07c76c: 4604903c */ c.lt.s $f18,$f4
/* f07c770: 27a7015c */ addiu $a3,$sp,0x15c
/* f07c774: 3c017f1b */ lui $at,%hi(var7f1aa694)
/* f07c778: 45000004 */ bc1f .L0f07c78c
/* f07c77c: 00000000 */ nop
/* f07c780: 3c017f1b */ lui $at,%hi(var7f1aa698)
/* f07c784: 10000002 */ b .L0f07c790
/* f07c788: c420a694 */ lwc1 $f0,%lo(var7f1aa694)($at)
.L0f07c78c:
/* f07c78c: c420a698 */ lwc1 $f0,%lo(var7f1aa698)($at)
.L0f07c790:
/* f07c790: 44060000 */ mfc1 $a2,$f0
/* f07c794: 0fc1ee8e */ jal func0f07ba38
/* f07c798: afa00010 */ sw $zero,0x10($sp)
.L0f07c79c:
/* f07c79c: 8fbf0034 */ lw $ra,0x34($sp)
.L0f07c7a0:
/* f07c7a0: 8fb0002c */ lw $s0,0x2c($sp)
/* f07c7a4: 8fb10030 */ lw $s1,0x30($sp)
/* f07c7a8: 03e00008 */ jr $ra
/* f07c7ac: 27bd0180 */ addiu $sp,$sp,0x180
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel chopperTickFall
.late_rodata
glabel var7f1aa66c
.word 0xbf333333
glabel var7f1aa670
.word 0x3c1374bc
glabel var7f1aa674
.word 0xc6ea6000
glabel var7f1aa678
.word 0x40490fdb
glabel var7f1aa67c
.word 0xc0490fdb
glabel var7f1aa680
.word 0x3f7ae148
glabel var7f1aa684
.word 0x3d567664
glabel var7f1aa688
.word 0x40c907a9
glabel var7f1aa68c
.word 0x3c23d70a
glabel var7f1aa690
.word 0x3e19999a
glabel var7f1aa694
.word 0x40490fdb
glabel var7f1aa698
.word 0xc0490fdb
.text
/* f07c12c: 27bdfe80 */ addiu $sp,$sp,-384
/* f07c130: afbf0034 */ sw $ra,0x34($sp)
/* f07c134: afb10030 */ sw $s1,0x30($sp)
/* f07c138: afb0002c */ sw $s0,0x2c($sp)
/* f07c13c: 8c900004 */ lw $s0,0x4($a0)
/* f07c140: 24010002 */ addiu $at,$zero,0x2
/* f07c144: 00808825 */ or $s1,$a0,$zero
/* f07c148: 8e0300c0 */ lw $v1,0xc0($s0)
/* f07c14c: 3c0e800a */ lui $t6,%hi(g_Vars+0x38)
/* f07c150: 02002825 */ or $a1,$s0,$zero
/* f07c154: 14610078 */ bne $v1,$at,.L0f07c338
/* f07c158: 00000000 */ nop
/* f07c15c: 8dce9ff8 */ lw $t6,%lo(g_Vars+0x38)($t6)
/* f07c160: 8e080088 */ lw $t0,0x88($s0)
/* f07c164: 44801000 */ mtc1 $zero,$f2
/* f07c168: 44807000 */ mtc1 $zero,$f14
/* f07c16c: 006e7823 */ subu $t7,$v1,$t6
/* f07c170: 1100006a */ beqz $t0,.L0f07c31c
/* f07c174: ae0f00c0 */ sw $t7,0xc0($s0)
/* f07c178: 95070006 */ lhu $a3,0x6($t0)
/* f07c17c: 00001825 */ or $v1,$zero,$zero
/* f07c180: 58e0001c */ blezl $a3,.L0f07c1f4
/* f07c184: 920a0097 */ lbu $t2,0x97($s0)
/* f07c188: 92040097 */ lbu $a0,0x97($s0)
/* f07c18c: 8e06008c */ lw $a2,0x8c($s0)
.L0f07c190:
/* f07c190: 50800004 */ beqzl $a0,.L0f07c1a4
/* f07c194: 24780001 */ addiu $t8,$v1,0x1
/* f07c198: 1000000d */ b .L0f07c1d0
/* f07c19c: 00601025 */ or $v0,$v1,$zero
/* f07c1a0: 24780001 */ addiu $t8,$v1,0x1
.L0f07c1a4:
/* f07c1a4: 0307001a */ div $zero,$t8,$a3
/* f07c1a8: 00001010 */ mfhi $v0
/* f07c1ac: 14e00002 */ bnez $a3,.L0f07c1b8
/* f07c1b0: 00000000 */ nop
/* f07c1b4: 0007000d */ break 0x7
.L0f07c1b8:
/* f07c1b8: 2401ffff */ addiu $at,$zero,-1
/* f07c1bc: 14e10004 */ bne $a3,$at,.L0f07c1d0
/* f07c1c0: 3c018000 */ lui $at,0x8000
/* f07c1c4: 17010002 */ bne $t8,$at,.L0f07c1d0
/* f07c1c8: 00000000 */ nop
/* f07c1cc: 0006000d */ break 0x6
.L0f07c1d0:
/* f07c1d0: 50460008 */ beql $v0,$a2,.L0f07c1f4
/* f07c1d4: 920a0097 */ lbu $t2,0x97($s0)
/* f07c1d8: 8cb90088 */ lw $t9,0x88($a1)
/* f07c1dc: 24630001 */ addiu $v1,$v1,0x1
/* f07c1e0: 97290006 */ lhu $t1,0x6($t9)
/* f07c1e4: 0069082a */ slt $at,$v1,$t1
/* f07c1e8: 1420ffe9 */ bnez $at,.L0f07c190
/* f07c1ec: 00000000 */ nop
/* f07c1f0: 920a0097 */ lbu $t2,0x97($s0)
.L0f07c1f4:
/* f07c1f4: 24050002 */ addiu $a1,$zero,0x2
/* f07c1f8: 246b0001 */ addiu $t3,$v1,0x1
/* f07c1fc: 5140000f */ beqzl $t2,.L0f07c23c
/* f07c200: 00601025 */ or $v0,$v1,$zero
/* f07c204: 0167001a */ div $zero,$t3,$a3
/* f07c208: 00001010 */ mfhi $v0
/* f07c20c: 14e00002 */ bnez $a3,.L0f07c218
/* f07c210: 00000000 */ nop
/* f07c214: 0007000d */ break 0x7
.L0f07c218:
/* f07c218: 2401ffff */ addiu $at,$zero,-1
/* f07c21c: 14e10004 */ bne $a3,$at,.L0f07c230
/* f07c220: 3c018000 */ lui $at,0x8000
/* f07c224: 15610002 */ bne $t3,$at,.L0f07c230
/* f07c228: 00000000 */ nop
/* f07c22c: 0006000d */ break 0x6
.L0f07c230:
/* f07c230: 10000003 */ b .L0f07c240
/* f07c234: 8d0c0000 */ lw $t4,0x0($t0)
/* f07c238: 00601025 */ or $v0,$v1,$zero
.L0f07c23c:
/* f07c23c: 8d0c0000 */ lw $t4,0x0($t0)
.L0f07c240:
/* f07c240: 00026880 */ sll $t5,$v0,0x2
/* f07c244: 27a60104 */ addiu $a2,$sp,0x104
/* f07c248: 018d7021 */ addu $t6,$t4,$t5
/* f07c24c: 8dc40000 */ lw $a0,0x0($t6)
/* f07c250: 0fc456ac */ jal padUnpack
/* f07c254: afa30158 */ sw $v1,0x158($sp)
/* f07c258: 920f0097 */ lbu $t7,0x97($s0)
/* f07c25c: 8fa30158 */ lw $v1,0x158($sp)
/* f07c260: 24050002 */ addiu $a1,$zero,0x2
/* f07c264: 51e00005 */ beqzl $t7,.L0f07c27c
/* f07c268: 8e080088 */ lw $t0,0x88($s0)
/* f07c26c: 00601025 */ or $v0,$v1,$zero
/* f07c270: 1000000f */ b .L0f07c2b0
/* f07c274: 8e080088 */ lw $t0,0x88($s0)
/* f07c278: 8e080088 */ lw $t0,0x88($s0)
.L0f07c27c:
/* f07c27c: 24780001 */ addiu $t8,$v1,0x1
/* f07c280: 95190006 */ lhu $t9,0x6($t0)
/* f07c284: 0319001a */ div $zero,$t8,$t9
/* f07c288: 00001010 */ mfhi $v0
/* f07c28c: 17200002 */ bnez $t9,.L0f07c298
/* f07c290: 00000000 */ nop
/* f07c294: 0007000d */ break 0x7
.L0f07c298:
/* f07c298: 2401ffff */ addiu $at,$zero,-1
/* f07c29c: 17210004 */ bne $t9,$at,.L0f07c2b0
/* f07c2a0: 3c018000 */ lui $at,0x8000
/* f07c2a4: 17010002 */ bne $t8,$at,.L0f07c2b0
/* f07c2a8: 00000000 */ nop
/* f07c2ac: 0006000d */ break 0x6
.L0f07c2b0:
/* f07c2b0: 8d090000 */ lw $t1,0x0($t0)
/* f07c2b4: 00025080 */ sll $t2,$v0,0x2
/* f07c2b8: 27a600b0 */ addiu $a2,$sp,0xb0
/* f07c2bc: 012a5821 */ addu $t3,$t1,$t2
/* f07c2c0: 0fc456ac */ jal padUnpack
/* f07c2c4: 8d640000 */ lw $a0,0x0($t3)
/* f07c2c8: c7a40104 */ lwc1 $f4,0x104($sp)
/* f07c2cc: c7a600b0 */ lwc1 $f6,0xb0($sp)
/* f07c2d0: c7a8010c */ lwc1 $f8,0x10c($sp)
/* f07c2d4: c7aa00b8 */ lwc1 $f10,0xb8($sp)
/* f07c2d8: 46062081 */ sub.s $f2,$f4,$f6
/* f07c2dc: 460a4381 */ sub.s $f14,$f8,$f10
/* f07c2e0: 46021402 */ mul.s $f16,$f2,$f2
/* f07c2e4: e7a200ac */ swc1 $f2,0xac($sp)
/* f07c2e8: 460e7482 */ mul.s $f18,$f14,$f14
/* f07c2ec: e7ae00a8 */ swc1 $f14,0xa8($sp)
/* f07c2f0: 0c012974 */ jal sqrtf
/* f07c2f4: 46128300 */ add.s $f12,$f16,$f18
/* f07c2f8: 3c013e80 */ lui $at,0x3e80
/* f07c2fc: 44812000 */ mtc1 $at,$f4
/* f07c300: c7a200ac */ lwc1 $f2,0xac($sp)
/* f07c304: c7ae00a8 */ lwc1 $f14,0xa8($sp)
/* f07c308: 46002303 */ div.s $f12,$f4,$f0
/* f07c30c: 460c1082 */ mul.s $f2,$f2,$f12
/* f07c310: 00000000 */ nop
/* f07c314: 460c7382 */ mul.s $f14,$f14,$f12
/* f07c318: 00000000 */ nop
.L0f07c31c:
/* f07c31c: 44804000 */ mtc1 $zero,$f8
/* f07c320: 46007187 */ neg.s $f6,$f14
/* f07c324: 26020068 */ addiu $v0,$s0,0x68
/* f07c328: e6060064 */ swc1 $f6,0x64($s0)
/* f07c32c: e4480000 */ swc1 $f8,0x0($v0)
/* f07c330: 10000017 */ b .L0f07c390
/* f07c334: e602006c */ swc1 $f2,0x6c($s0)
.L0f07c338:
/* f07c338: 04600007 */ bltz $v1,.L0f07c358
/* f07c33c: 26020068 */ addiu $v0,$s0,0x68
/* f07c340: 3c0c800a */ lui $t4,%hi(g_Vars+0x38)
/* f07c344: 8d8c9ff8 */ lw $t4,%lo(g_Vars+0x38)($t4)
/* f07c348: 26020068 */ addiu $v0,$s0,0x68
/* f07c34c: 006c6823 */ subu $t5,$v1,$t4
/* f07c350: 1000000f */ b .L0f07c390
/* f07c354: ae0d00c0 */ sw $t5,0xc0($s0)
.L0f07c358:
/* f07c358: 3c017f1b */ lui $at,%hi(var7f1aa66c)
/* f07c35c: c42aa66c */ lwc1 $f10,%lo(var7f1aa66c)($at)
/* f07c360: c4400000 */ lwc1 $f0,0x0($v0)
/* f07c364: 3c017f1b */ lui $at,%hi(var7f1aa670)
/* f07c368: 4600503c */ c.lt.s $f10,$f0
/* f07c36c: 00000000 */ nop
/* f07c370: 45020008 */ bc1fl .L0f07c394
/* f07c374: 26030064 */ addiu $v1,$s0,0x64
/* f07c378: c430a670 */ lwc1 $f16,%lo(var7f1aa670)($at)
/* f07c37c: 3c01800a */ lui $at,%hi(g_Vars+0x44)
/* f07c380: c432a004 */ lwc1 $f18,%lo(g_Vars+0x44)($at)
/* f07c384: 46128102 */ mul.s $f4,$f16,$f18
/* f07c388: 46040181 */ sub.s $f6,$f0,$f4
/* f07c38c: e4460000 */ swc1 $f6,0x0($v0)
.L0f07c390:
/* f07c390: 26030064 */ addiu $v1,$s0,0x64
.L0f07c394:
/* f07c394: c4680000 */ lwc1 $f8,0x0($v1)
/* f07c398: 2605006c */ addiu $a1,$s0,0x6c
/* f07c39c: 3c04800a */ lui $a0,%hi(g_Vars+0x4b4)
/* f07c3a0: e7a8015c */ swc1 $f8,0x15c($sp)
/* f07c3a4: c44a0000 */ lwc1 $f10,0x0($v0)
/* f07c3a8: 8c84a474 */ lw $a0,%lo(g_Vars+0x4b4)($a0)
/* f07c3ac: e7aa0160 */ swc1 $f10,0x160($sp)
/* f07c3b0: c4b00000 */ lwc1 $f16,0x0($a1)
/* f07c3b4: e7b00164 */ swc1 $f16,0x164($sp)
/* f07c3b8: c4640000 */ lwc1 $f4,0x0($v1)
/* f07c3bc: c612007c */ lwc1 $f18,0x7c($s0)
/* f07c3c0: c4a80000 */ lwc1 $f8,0x0($a1)
/* f07c3c4: 46049180 */ add.s $f6,$f18,$f4
/* f07c3c8: 46064280 */ add.s $f10,$f8,$f6
/* f07c3cc: 0fc59585 */ jal stageGetIndex
/* f07c3d0: e7aa0174 */ swc1 $f10,0x174($sp)
/* f07c3d4: 2401000e */ addiu $at,$zero,0xe
/* f07c3d8: 14410022 */ bne $v0,$at,.L0f07c464
/* f07c3dc: 3c03800a */ lui $v1,%hi(g_Vars+0x38)
/* f07c3e0: 3c017f1b */ lui $at,%hi(var7f1aa674)
/* f07c3e4: c432a674 */ lwc1 $f18,%lo(var7f1aa674)($at)
/* f07c3e8: c630000c */ lwc1 $f16,0xc($s1)
/* f07c3ec: 3406ffff */ dli $a2,0xffff
/* f07c3f0: 02202025 */ or $a0,$s1,$zero
/* f07c3f4: 4612803c */ c.lt.s $f16,$f18
/* f07c3f8: 8fa50174 */ lw $a1,0x174($sp)
/* f07c3fc: 27a7015c */ addiu $a3,$sp,0x15c
/* f07c400: 45020009 */ bc1fl .L0f07c428
/* f07c404: c6040080 */ lwc1 $f4,0x80($s0)
/* f07c408: 02202025 */ or $a0,$s1,$zero
/* f07c40c: 0fc249af */ jal func0f0926bc
/* f07c410: 24050001 */ addiu $a1,$zero,0x1
/* f07c414: 8e0e0040 */ lw $t6,0x40($s0)
/* f07c418: 35cf0004 */ ori $t7,$t6,0x4
/* f07c41c: 100000df */ b .L0f07c79c
/* f07c420: ae0f0040 */ sw $t7,0x40($s0)
/* f07c424: c6040080 */ lwc1 $f4,0x80($s0)
.L0f07c428:
/* f07c428: 44804000 */ mtc1 $zero,$f8
/* f07c42c: 3c017f1b */ lui $at,%hi(var7f1aa678)
/* f07c430: 4608203c */ c.lt.s $f4,$f8
/* f07c434: 00000000 */ nop
/* f07c438: 45000004 */ bc1f .L0f07c44c
/* f07c43c: 00000000 */ nop
/* f07c440: 3c017f1b */ lui $at,%hi(var7f1aa67c)
/* f07c444: 10000002 */ b .L0f07c450
/* f07c448: c420a678 */ lwc1 $f0,%lo(var7f1aa678)($at)
.L0f07c44c:
/* f07c44c: c420a67c */ lwc1 $f0,%lo(var7f1aa67c)($at)
.L0f07c450:
/* f07c450: 44060000 */ mfc1 $a2,$f0
/* f07c454: 0fc1ee8e */ jal func0f07ba38
/* f07c458: afa00010 */ sw $zero,0x10($sp)
/* f07c45c: 100000d0 */ b .L0f07c7a0
/* f07c460: 8fbf0034 */ lw $ra,0x34($sp)
.L0f07c464:
/* f07c464: 8c639ff8 */ lw $v1,%lo(g_Vars+0x38)($v1)
/* f07c468: 3c017f1b */ lui $at,%hi(var7f1aa680)
/* f07c46c: c420a680 */ lwc1 $f0,%lo(var7f1aa680)($at)
/* f07c470: 28610002 */ slti $at,$v1,0x2
/* f07c474: 24020001 */ addiu $v0,$zero,0x1
/* f07c478: 14200006 */ bnez $at,.L0f07c494
/* f07c47c: 46000086 */ mov.s $f2,$f0
/* f07c480: 24420001 */ addiu $v0,$v0,0x1
.L0f07c484:
/* f07c484: 0043082a */ slt $at,$v0,$v1
/* f07c488: 46001082 */ mul.s $f2,$f2,$f0
/* f07c48c: 5420fffd */ bnezl $at,.L0f07c484
/* f07c490: 24420001 */ addiu $v0,$v0,0x1
.L0f07c494:
/* f07c494: 3c017f1b */ lui $at,%hi(var7f1aa684)
/* f07c498: c42aa684 */ lwc1 $f10,%lo(var7f1aa684)($at)
/* f07c49c: c60600b4 */ lwc1 $f6,0xb4($s0)
/* f07c4a0: 3c017f1b */ lui $at,%hi(var7f1aa688)
/* f07c4a4: c430a688 */ lwc1 $f16,%lo(var7f1aa688)($at)
/* f07c4a8: 460a3300 */ add.s $f12,$f6,$f10
/* f07c4ac: 460c803c */ c.lt.s $f16,$f12
/* f07c4b0: 00000000 */ nop
/* f07c4b4: 4500001c */ bc1f .L0f07c528
/* f07c4b8: 00000000 */ nop
/* f07c4bc: 44806000 */ mtc1 $zero,$f12
/* f07c4c0: e7a20088 */ swc1 $f2,0x88($sp)
/* f07c4c4: 0c004b70 */ jal random
/* f07c4c8: e7ac0084 */ swc1 $f12,0x84($sp)
/* f07c4cc: 30580007 */ andi $t8,$v0,0x7
/* f07c4d0: 27190002 */ addiu $t9,$t8,0x2
/* f07c4d4: 44999000 */ mtc1 $t9,$f18
/* f07c4d8: c7a20088 */ lwc1 $f2,0x88($sp)
/* f07c4dc: c7ac0084 */ lwc1 $f12,0x84($sp)
/* f07c4e0: 07210005 */ bgez $t9,.L0f07c4f8
/* f07c4e4: 46809120 */ cvt.s.w $f4,$f18
/* f07c4e8: 3c014f80 */ lui $at,0x4f80
/* f07c4ec: 44814000 */ mtc1 $at,$f8
/* f07c4f0: 00000000 */ nop
/* f07c4f4: 46082100 */ add.s $f4,$f4,$f8
.L0f07c4f8:
/* f07c4f8: 3c017f1b */ lui $at,%hi(var7f1aa68c)
/* f07c4fc: c426a68c */ lwc1 $f6,%lo(var7f1aa68c)($at)
/* f07c500: 8e090008 */ lw $t1,0x8($s0)
/* f07c504: 3c017f1b */ lui $at,%hi(var7f1aa690)
/* f07c508: 46062282 */ mul.s $f10,$f4,$f6
/* f07c50c: 00095000 */ sll $t2,$t1,0x0
/* f07c510: 05410005 */ bgez $t2,.L0f07c528
/* f07c514: e60a00b8 */ swc1 $f10,0xb8($s0)
/* f07c518: c61000b8 */ lwc1 $f16,0xb8($s0)
/* f07c51c: c432a690 */ lwc1 $f18,%lo(var7f1aa690)($at)
/* f07c520: 46128202 */ mul.s $f8,$f16,$f18
/* f07c524: e60800b8 */ swc1 $f8,0xb8($s0)
.L0f07c528:
/* f07c528: 0c0068f7 */ jal sinf
/* f07c52c: e7a20088 */ swc1 $f2,0x88($sp)
/* f07c530: c60600b8 */ lwc1 $f6,0xb8($s0)
/* f07c534: c7a40160 */ lwc1 $f4,0x160($sp)
/* f07c538: c7b2015c */ lwc1 $f18,0x15c($sp)
/* f07c53c: 46003282 */ mul.s $f10,$f6,$f0
/* f07c540: c7a20088 */ lwc1 $f2,0x88($sp)
/* f07c544: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07c548: c42ca00c */ lwc1 $f12,%lo(g_Vars+0x4c)($at)
/* f07c54c: 26240008 */ addiu $a0,$s1,0x8
/* f07c550: 26250028 */ addiu $a1,$s1,0x28
/* f07c554: 27a60098 */ addiu $a2,$sp,0x98
/* f07c558: 460a2400 */ add.s $f16,$f4,$f10
/* f07c55c: 24070020 */ addiu $a3,$zero,0x20
/* f07c560: e7b00160 */ swc1 $f16,0x160($sp)
/* f07c564: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07c568: c6040098 */ lwc1 $f4,0x98($s0)
/* f07c56c: 46089182 */ mul.s $f6,$f18,$f8
/* f07c570: 46043280 */ add.s $f10,$f6,$f4
/* f07c574: 46025482 */ mul.s $f18,$f10,$f2
/* f07c578: e7b2008c */ swc1 $f18,0x8c($sp)
/* f07c57c: c60800a4 */ lwc1 $f8,0xa4($s0)
/* f07c580: c604009c */ lwc1 $f4,0x9c($s0)
/* f07c584: 46088182 */ mul.s $f6,$f16,$f8
/* f07c588: c7a80164 */ lwc1 $f8,0x164($sp)
/* f07c58c: 46043280 */ add.s $f10,$f6,$f4
/* f07c590: 46025402 */ mul.s $f16,$f10,$f2
/* f07c594: e7b00090 */ swc1 $f16,0x90($sp)
/* f07c598: c60600a4 */ lwc1 $f6,0xa4($s0)
/* f07c59c: c60a00a0 */ lwc1 $f10,0xa0($s0)
/* f07c5a0: 46064102 */ mul.s $f4,$f8,$f6
/* f07c5a4: 460a2200 */ add.s $f8,$f4,$f10
/* f07c5a8: 46024182 */ mul.s $f6,$f8,$f2
/* f07c5ac: e7a60094 */ swc1 $f6,0x94($sp)
/* f07c5b0: 460c9102 */ mul.s $f4,$f18,$f12
/* f07c5b4: c62a0008 */ lwc1 $f10,0x8($s1)
/* f07c5b8: 460c8482 */ mul.s $f18,$f16,$f12
/* f07c5bc: 460a2200 */ add.s $f8,$f4,$f10
/* f07c5c0: e7a80098 */ swc1 $f8,0x98($sp)
/* f07c5c4: c624000c */ lwc1 $f4,0xc($s1)
/* f07c5c8: 460c3202 */ mul.s $f8,$f6,$f12
/* f07c5cc: 46049280 */ add.s $f10,$f18,$f4
/* f07c5d0: e7aa009c */ swc1 $f10,0x9c($sp)
/* f07c5d4: c6300010 */ lwc1 $f16,0x10($s1)
/* f07c5d8: afa50040 */ sw $a1,0x40($sp)
/* f07c5dc: afa40044 */ sw $a0,0x44($sp)
/* f07c5e0: 46104480 */ add.s $f18,$f8,$f16
/* f07c5e4: 0c00b784 */ jal cd0002de10
/* f07c5e8: e7b200a0 */ swc1 $f18,0xa0($sp)
/* f07c5ec: 14400058 */ bnez $v0,.L0f07c750
/* f07c5f0: 8fa40044 */ lw $a0,0x44($sp)
/* f07c5f4: 3c0142c8 */ lui $at,0x42c8
/* f07c5f8: 44815000 */ mtc1 $at,$f10
/* f07c5fc: c624000c */ lwc1 $f4,0xc($s1)
/* f07c600: 3c0540a0 */ lui $a1,0x40a0
/* f07c604: 00003825 */ or $a3,$zero,$zero
/* f07c608: 460a2180 */ add.s $f6,$f4,$f10
/* f07c60c: e626000c */ swc1 $f6,0xc($s1)
/* f07c610: afa00010 */ sw $zero,0x10($sp)
/* f07c614: 8fa60040 */ lw $a2,0x40($sp)
/* f07c618: 0c00a8cc */ jal cdFindGroundYSimple
/* f07c61c: 8fa40044 */ lw $a0,0x44($sp)
/* f07c620: e7a00060 */ swc1 $f0,0x60($sp)
/* f07c624: 3c0142c8 */ lui $at,0x42c8
/* f07c628: 44818000 */ mtc1 $at,$f16
/* f07c62c: c628000c */ lwc1 $f8,0xc($s1)
/* f07c630: 3c067f1b */ lui $a2,%hi(var7f1aa044)
/* f07c634: 24c6a044 */ addiu $a2,$a2,%lo(var7f1aa044)
/* f07c638: 46104481 */ sub.s $f18,$f8,$f16
/* f07c63c: 27a40064 */ addiu $a0,$sp,0x64
/* f07c640: 240530a1 */ addiu $a1,$zero,0x30a1
/* f07c644: 0c0093af */ jal cdGetPos
/* f07c648: e632000c */ swc1 $f18,0xc($s1)
/* f07c64c: 3c0141a0 */ lui $at,0x41a0
/* f07c650: 44813000 */ mtc1 $at,$f6
/* f07c654: c7aa0060 */ lwc1 $f10,0x60($sp)
/* f07c658: c7a40064 */ lwc1 $f4,0x64($sp)
/* f07c65c: c7b0006c */ lwc1 $f16,0x6c($sp)
/* f07c660: 46065200 */ add.s $f8,$f10,$f6
/* f07c664: 8fa40044 */ lw $a0,0x44($sp)
/* f07c668: 8fa50040 */ lw $a1,0x40($sp)
/* f07c66c: 27a60098 */ addiu $a2,$sp,0x98
/* f07c670: e7a8009c */ swc1 $f8,0x9c($sp)
/* f07c674: 27a70050 */ addiu $a3,$sp,0x50
/* f07c678: e7a40098 */ swc1 $f4,0x98($sp)
/* f07c67c: 0fc1979d */ jal func0f065e74
/* f07c680: e7b000a0 */ swc1 $f16,0xa0($sp)
/* f07c684: c7b20098 */ lwc1 $f18,0x98($sp)
/* f07c688: 02202025 */ or $a0,$s1,$zero
/* f07c68c: e6320008 */ swc1 $f18,0x8($s1)
/* f07c690: c7a4009c */ lwc1 $f4,0x9c($sp)
/* f07c694: e624000c */ swc1 $f4,0xc($s1)
/* f07c698: c7aa00a0 */ lwc1 $f10,0xa0($sp)
/* f07c69c: 0fc19711 */ jal propDeregisterRooms
/* f07c6a0: e62a0010 */ swc1 $f10,0x10($s1)
/* f07c6a4: 27a40050 */ addiu $a0,$sp,0x50
/* f07c6a8: 0fc195e9 */ jal roomsCopy
/* f07c6ac: 8fa50040 */ lw $a1,0x40($sp)
/* f07c6b0: 02002025 */ or $a0,$s0,$zero
/* f07c6b4: 00002825 */ or $a1,$zero,$zero
/* f07c6b8: 0fc1a71c */ jal func0f069c70
/* f07c6bc: 24060001 */ addiu $a2,$zero,0x1
/* f07c6c0: 920b0096 */ lbu $t3,0x96($s0)
/* f07c6c4: 02002025 */ or $a0,$s0,$zero
/* f07c6c8: 24050008 */ addiu $a1,$zero,0x8
/* f07c6cc: 256c0001 */ addiu $t4,$t3,0x1
/* f07c6d0: 0fc20733 */ jal func0f081ccc
/* f07c6d4: a20c0096 */ sb $t4,0x96($s0)
/* f07c6d8: 862d0028 */ lh $t5,0x28($s1)
/* f07c6dc: 3c013f80 */ lui $at,0x3f80
/* f07c6e0: 44803000 */ mtc1 $zero,$f6
/* f07c6e4: 44814000 */ mtc1 $at,$f8
/* f07c6e8: 44808000 */ mtc1 $zero,$f16
/* f07c6ec: 02202025 */ or $a0,$s1,$zero
/* f07c6f0: 24050001 */ addiu $a1,$zero,0x1
/* f07c6f4: 3406ffff */ dli $a2,0xffff
/* f07c6f8: a7ad0072 */ sh $t5,0x72($sp)
/* f07c6fc: e7a60074 */ swc1 $f6,0x74($sp)
/* f07c700: e7a80078 */ swc1 $f8,0x78($sp)
/* f07c704: 0fc249af */ jal func0f0926bc
/* f07c708: e7b0007c */ swc1 $f16,0x7c($sp)
/* f07c70c: 87b80072 */ lh $t8,0x72($sp)
/* f07c710: 240e0001 */ addiu $t6,$zero,0x1
/* f07c714: 27af0098 */ addiu $t7,$sp,0x98
/* f07c718: 27b90074 */ addiu $t9,$sp,0x74
/* f07c71c: afb90020 */ sw $t9,0x20($sp)
/* f07c720: afaf0018 */ sw $t7,0x18($sp)
/* f07c724: afae0014 */ sw $t6,0x14($sp)
/* f07c728: 00002025 */ or $a0,$zero,$zero
/* f07c72c: 8fa50044 */ lw $a1,0x44($sp)
/* f07c730: 8fa60040 */ lw $a2,0x40($sp)
/* f07c734: 2407000d */ addiu $a3,$zero,0xd
/* f07c738: afa00010 */ sw $zero,0x10($sp)
/* f07c73c: 0fc4a7d5 */ jal explosionCreate
/* f07c740: afb8001c */ sw $t8,0x1c($sp)
/* f07c744: 24090001 */ addiu $t1,$zero,0x1
/* f07c748: 10000014 */ b .L0f07c79c
/* f07c74c: ae0900e4 */ sw $t1,0xe4($s0)
.L0f07c750:
/* f07c750: 8fa50040 */ lw $a1,0x40($sp)
/* f07c754: 0fc4ba08 */ jal smokeCreateSimple
/* f07c758: 24060003 */ addiu $a2,$zero,0x3
/* f07c75c: c6120080 */ lwc1 $f18,0x80($s0)
/* f07c760: 44802000 */ mtc1 $zero,$f4
/* f07c764: 02202025 */ or $a0,$s1,$zero
/* f07c768: 8fa50174 */ lw $a1,0x174($sp)
/* f07c76c: 4604903c */ c.lt.s $f18,$f4
/* f07c770: 27a7015c */ addiu $a3,$sp,0x15c
/* f07c774: 3c017f1b */ lui $at,%hi(var7f1aa694)
/* f07c778: 45000004 */ bc1f .L0f07c78c
/* f07c77c: 00000000 */ nop
/* f07c780: 3c017f1b */ lui $at,%hi(var7f1aa698)
/* f07c784: 10000002 */ b .L0f07c790
/* f07c788: c420a694 */ lwc1 $f0,%lo(var7f1aa694)($at)
.L0f07c78c:
/* f07c78c: c420a698 */ lwc1 $f0,%lo(var7f1aa698)($at)
.L0f07c790:
/* f07c790: 44060000 */ mfc1 $a2,$f0
/* f07c794: 0fc1ee8e */ jal func0f07ba38
/* f07c798: afa00010 */ sw $zero,0x10($sp)
.L0f07c79c:
/* f07c79c: 8fbf0034 */ lw $ra,0x34($sp)
.L0f07c7a0:
/* f07c7a0: 8fb0002c */ lw $s0,0x2c($sp)
/* f07c7a4: 8fb10030 */ lw $s1,0x30($sp)
/* f07c7a8: 03e00008 */ jr $ra
/* f07c7ac: 27bd0180 */ addiu $sp,$sp,0x180
);
#else
GLOBAL_ASM(
glabel chopperTickFall
.late_rodata
glabel var7f1aa66c
.word 0xbf333333
glabel var7f1aa670
.word 0x3c1374bc
glabel var7f1aa674
.word 0xc6ea6000
glabel var7f1aa678
.word 0x40490fdb
glabel var7f1aa67c
.word 0xc0490fdb
glabel var7f1aa680
.word 0x3f7ae148
glabel var7f1aa684
.word 0x3d567664
glabel var7f1aa688
.word 0x40c907a9
glabel var7f1aa68c
.word 0x3c23d70a
glabel var7f1aa690
.word 0x3e19999a
glabel var7f1aa694
.word 0x40490fdb
glabel var7f1aa698
.word 0xc0490fdb
.text
/* f07abdc: 27bdfe80 */ addiu $sp,$sp,-384
/* f07abe0: afbf0034 */ sw $ra,0x34($sp)
/* f07abe4: afb10030 */ sw $s1,0x30($sp)
/* f07abe8: afb0002c */ sw $s0,0x2c($sp)
/* f07abec: 8c900004 */ lw $s0,0x4($a0)
/* f07abf0: 24010002 */ addiu $at,$zero,0x2
/* f07abf4: 00808825 */ or $s1,$a0,$zero
/* f07abf8: 8e0200c0 */ lw $v0,0xc0($s0)
/* f07abfc: 3c0e800a */ lui $t6,0x800a
/* f07ac00: 02002825 */ or $a1,$s0,$zero
/* f07ac04: 14410077 */ bne $v0,$at,.NB0f07ade4
/* f07ac08: 00000000 */ sll $zero,$zero,0x0
/* f07ac0c: 8dcee6f8 */ lw $t6,-0x1908($t6)
/* f07ac10: 8e080088 */ lw $t0,0x88($s0)
/* f07ac14: 44801000 */ mtc1 $zero,$f2
/* f07ac18: 44807000 */ mtc1 $zero,$f14
/* f07ac1c: 004e7823 */ subu $t7,$v0,$t6
/* f07ac20: 1100006a */ beqz $t0,.NB0f07adcc
/* f07ac24: ae0f00c0 */ sw $t7,0xc0($s0)
/* f07ac28: 95070006 */ lhu $a3,0x6($t0)
/* f07ac2c: 00001825 */ or $v1,$zero,$zero
/* f07ac30: 58e0001c */ blezl $a3,.NB0f07aca4
/* f07ac34: 920a0097 */ lbu $t2,0x97($s0)
/* f07ac38: 92040097 */ lbu $a0,0x97($s0)
/* f07ac3c: 8e06008c */ lw $a2,0x8c($s0)
.NB0f07ac40:
/* f07ac40: 50800004 */ beqzl $a0,.NB0f07ac54
/* f07ac44: 24780001 */ addiu $t8,$v1,0x1
/* f07ac48: 1000000d */ beqz $zero,.NB0f07ac80
/* f07ac4c: 00601025 */ or $v0,$v1,$zero
/* f07ac50: 24780001 */ addiu $t8,$v1,0x1
.NB0f07ac54:
/* f07ac54: 0307001a */ div $zero,$t8,$a3
/* f07ac58: 00001010 */ mfhi $v0
/* f07ac5c: 14e00002 */ bnez $a3,.NB0f07ac68
/* f07ac60: 00000000 */ sll $zero,$zero,0x0
/* f07ac64: 0007000d */ break 0x7
.NB0f07ac68:
/* f07ac68: 2401ffff */ addiu $at,$zero,-1
/* f07ac6c: 14e10004 */ bne $a3,$at,.NB0f07ac80
/* f07ac70: 3c018000 */ lui $at,0x8000
/* f07ac74: 17010002 */ bne $t8,$at,.NB0f07ac80
/* f07ac78: 00000000 */ sll $zero,$zero,0x0
/* f07ac7c: 0006000d */ break 0x6
.NB0f07ac80:
/* f07ac80: 50460008 */ beql $v0,$a2,.NB0f07aca4
/* f07ac84: 920a0097 */ lbu $t2,0x97($s0)
/* f07ac88: 8cb90088 */ lw $t9,0x88($a1)
/* f07ac8c: 24630001 */ addiu $v1,$v1,0x1
/* f07ac90: 97290006 */ lhu $t1,0x6($t9)
/* f07ac94: 0069082a */ slt $at,$v1,$t1
/* f07ac98: 1420ffe9 */ bnez $at,.NB0f07ac40
/* f07ac9c: 00000000 */ sll $zero,$zero,0x0
/* f07aca0: 920a0097 */ lbu $t2,0x97($s0)
.NB0f07aca4:
/* f07aca4: 24050002 */ addiu $a1,$zero,0x2
/* f07aca8: 246b0001 */ addiu $t3,$v1,0x1
/* f07acac: 5140000f */ beqzl $t2,.NB0f07acec
/* f07acb0: 00601025 */ or $v0,$v1,$zero
/* f07acb4: 0167001a */ div $zero,$t3,$a3
/* f07acb8: 00001010 */ mfhi $v0
/* f07acbc: 14e00002 */ bnez $a3,.NB0f07acc8
/* f07acc0: 00000000 */ sll $zero,$zero,0x0
/* f07acc4: 0007000d */ break 0x7
.NB0f07acc8:
/* f07acc8: 2401ffff */ addiu $at,$zero,-1
/* f07accc: 14e10004 */ bne $a3,$at,.NB0f07ace0
/* f07acd0: 3c018000 */ lui $at,0x8000
/* f07acd4: 15610002 */ bne $t3,$at,.NB0f07ace0
/* f07acd8: 00000000 */ sll $zero,$zero,0x0
/* f07acdc: 0006000d */ break 0x6
.NB0f07ace0:
/* f07ace0: 10000003 */ beqz $zero,.NB0f07acf0
/* f07ace4: 8d0c0000 */ lw $t4,0x0($t0)
/* f07ace8: 00601025 */ or $v0,$v1,$zero
.NB0f07acec:
/* f07acec: 8d0c0000 */ lw $t4,0x0($t0)
.NB0f07acf0:
/* f07acf0: 00026880 */ sll $t5,$v0,0x2
/* f07acf4: 27a60104 */ addiu $a2,$sp,0x104
/* f07acf8: 018d7021 */ addu $t6,$t4,$t5
/* f07acfc: 8dc40000 */ lw $a0,0x0($t6)
/* f07ad00: 0fc43fc4 */ jal padUnpack
/* f07ad04: afa30158 */ sw $v1,0x158($sp)
/* f07ad08: 920f0097 */ lbu $t7,0x97($s0)
/* f07ad0c: 8fa30158 */ lw $v1,0x158($sp)
/* f07ad10: 24050002 */ addiu $a1,$zero,0x2
/* f07ad14: 51e00005 */ beqzl $t7,.NB0f07ad2c
/* f07ad18: 8e080088 */ lw $t0,0x88($s0)
/* f07ad1c: 00601025 */ or $v0,$v1,$zero
/* f07ad20: 1000000f */ beqz $zero,.NB0f07ad60
/* f07ad24: 8e080088 */ lw $t0,0x88($s0)
/* f07ad28: 8e080088 */ lw $t0,0x88($s0)
.NB0f07ad2c:
/* f07ad2c: 24780001 */ addiu $t8,$v1,0x1
/* f07ad30: 95190006 */ lhu $t9,0x6($t0)
/* f07ad34: 0319001a */ div $zero,$t8,$t9
/* f07ad38: 00001010 */ mfhi $v0
/* f07ad3c: 17200002 */ bnez $t9,.NB0f07ad48
/* f07ad40: 00000000 */ sll $zero,$zero,0x0
/* f07ad44: 0007000d */ break 0x7
.NB0f07ad48:
/* f07ad48: 2401ffff */ addiu $at,$zero,-1
/* f07ad4c: 17210004 */ bne $t9,$at,.NB0f07ad60
/* f07ad50: 3c018000 */ lui $at,0x8000
/* f07ad54: 17010002 */ bne $t8,$at,.NB0f07ad60
/* f07ad58: 00000000 */ sll $zero,$zero,0x0
/* f07ad5c: 0006000d */ break 0x6
.NB0f07ad60:
/* f07ad60: 8d090000 */ lw $t1,0x0($t0)
/* f07ad64: 00025080 */ sll $t2,$v0,0x2
/* f07ad68: 27a600b0 */ addiu $a2,$sp,0xb0
/* f07ad6c: 012a5821 */ addu $t3,$t1,$t2
/* f07ad70: 0fc43fc4 */ jal padUnpack
/* f07ad74: 8d640000 */ lw $a0,0x0($t3)
/* f07ad78: c7a40104 */ lwc1 $f4,0x104($sp)
/* f07ad7c: c7a600b0 */ lwc1 $f6,0xb0($sp)
/* f07ad80: c7a8010c */ lwc1 $f8,0x10c($sp)
/* f07ad84: c7aa00b8 */ lwc1 $f10,0xb8($sp)
/* f07ad88: 46062081 */ sub.s $f2,$f4,$f6
/* f07ad8c: 460a4381 */ sub.s $f14,$f8,$f10
/* f07ad90: 46021402 */ mul.s $f16,$f2,$f2
/* f07ad94: e7a200ac */ swc1 $f2,0xac($sp)
/* f07ad98: 460e7482 */ mul.s $f18,$f14,$f14
/* f07ad9c: e7ae00a8 */ swc1 $f14,0xa8($sp)
/* f07ada0: 0c012e84 */ jal sqrtf
/* f07ada4: 46128300 */ add.s $f12,$f16,$f18
/* f07ada8: 3c013e80 */ lui $at,0x3e80
/* f07adac: 44812000 */ mtc1 $at,$f4
/* f07adb0: c7a200ac */ lwc1 $f2,0xac($sp)
/* f07adb4: c7ae00a8 */ lwc1 $f14,0xa8($sp)
/* f07adb8: 46002303 */ div.s $f12,$f4,$f0
/* f07adbc: 460c1082 */ mul.s $f2,$f2,$f12
/* f07adc0: 00000000 */ sll $zero,$zero,0x0
/* f07adc4: 460c7382 */ mul.s $f14,$f14,$f12
/* f07adc8: 00000000 */ sll $zero,$zero,0x0
.NB0f07adcc:
/* f07adcc: 44804000 */ mtc1 $zero,$f8
/* f07add0: 46007187 */ neg.s $f6,$f14
/* f07add4: e602006c */ swc1 $f2,0x6c($s0)
/* f07add8: e6060064 */ swc1 $f6,0x64($s0)
/* f07addc: 10000017 */ beqz $zero,.NB0f07ae3c
/* f07ade0: e6080068 */ swc1 $f8,0x68($s0)
.NB0f07ade4:
/* f07ade4: 04400006 */ bltz $v0,.NB0f07ae00
/* f07ade8: 3c017f1a */ lui $at,0x7f1a
/* f07adec: 3c0c800a */ lui $t4,0x800a
/* f07adf0: 8d8ce6f8 */ lw $t4,-0x1908($t4)
/* f07adf4: 004c6823 */ subu $t5,$v0,$t4
/* f07adf8: 10000010 */ beqz $zero,.NB0f07ae3c
/* f07adfc: ae0d00c0 */ sw $t5,0xc0($s0)
.NB0f07ae00:
/* f07ae00: c42a498c */ lwc1 $f10,0x498c($at)
/* f07ae04: c7b00160 */ lwc1 $f16,0x160($sp)
/* f07ae08: 3c017f1a */ lui $at,0x7f1a
/* f07ae0c: 4610503c */ c.lt.s $f10,$f16
/* f07ae10: 00000000 */ sll $zero,$zero,0x0
/* f07ae14: 4502000a */ bc1fl .NB0f07ae40
/* f07ae18: 26020064 */ addiu $v0,$s0,0x64
/* f07ae1c: c4324990 */ lwc1 $f18,0x4990($at)
/* f07ae20: 3c01800a */ lui $at,0x800a
/* f07ae24: c424e704 */ lwc1 $f4,-0x18fc($at)
/* f07ae28: 26020068 */ addiu $v0,$s0,0x68
/* f07ae2c: c4480000 */ lwc1 $f8,0x0($v0)
/* f07ae30: 46049182 */ mul.s $f6,$f18,$f4
/* f07ae34: 46064281 */ sub.s $f10,$f8,$f6
/* f07ae38: e44a0000 */ swc1 $f10,0x0($v0)
.NB0f07ae3c:
/* f07ae3c: 26020064 */ addiu $v0,$s0,0x64
.NB0f07ae40:
/* f07ae40: c4500000 */ lwc1 $f16,0x0($v0)
/* f07ae44: 2603006c */ addiu $v1,$s0,0x6c
/* f07ae48: 3c04800a */ lui $a0,0x800a
/* f07ae4c: e7b0015c */ swc1 $f16,0x15c($sp)
/* f07ae50: c6120068 */ lwc1 $f18,0x68($s0)
/* f07ae54: 8c84eb74 */ lw $a0,-0x148c($a0)
/* f07ae58: e7b20160 */ swc1 $f18,0x160($sp)
/* f07ae5c: c4640000 */ lwc1 $f4,0x0($v1)
/* f07ae60: e7a40164 */ swc1 $f4,0x164($sp)
/* f07ae64: c4460000 */ lwc1 $f6,0x0($v0)
/* f07ae68: c608007c */ lwc1 $f8,0x7c($s0)
/* f07ae6c: c4700000 */ lwc1 $f16,0x0($v1)
/* f07ae70: 46064280 */ add.s $f10,$f8,$f6
/* f07ae74: 460a8480 */ add.s $f18,$f16,$f10
/* f07ae78: 0fc57f85 */ jal stageGetIndex
/* f07ae7c: e7b20174 */ swc1 $f18,0x174($sp)
/* f07ae80: 2401000e */ addiu $at,$zero,0xe
/* f07ae84: 14410022 */ bne $v0,$at,.NB0f07af10
/* f07ae88: 3c03800a */ lui $v1,0x800a
/* f07ae8c: 3c017f1a */ lui $at,0x7f1a
/* f07ae90: c4284994 */ lwc1 $f8,0x4994($at)
/* f07ae94: c624000c */ lwc1 $f4,0xc($s1)
/* f07ae98: 3406ffff */ dli $a2,0xffff
/* f07ae9c: 02202025 */ or $a0,$s1,$zero
/* f07aea0: 4608203c */ c.lt.s $f4,$f8
/* f07aea4: 8fa50174 */ lw $a1,0x174($sp)
/* f07aea8: 27a7015c */ addiu $a3,$sp,0x15c
/* f07aeac: 45020009 */ bc1fl .NB0f07aed4
/* f07aeb0: c6060080 */ lwc1 $f6,0x80($s0)
/* f07aeb4: 02202025 */ or $a0,$s1,$zero
/* f07aeb8: 0fc2433d */ jal func0f0926bc
/* f07aebc: 24050001 */ addiu $a1,$zero,0x1
/* f07aec0: 8e0e0040 */ lw $t6,0x40($s0)
/* f07aec4: 35cf0004 */ ori $t7,$t6,0x4
/* f07aec8: 100000df */ beqz $zero,.NB0f07b248
/* f07aecc: ae0f0040 */ sw $t7,0x40($s0)
/* f07aed0: c6060080 */ lwc1 $f6,0x80($s0)
.NB0f07aed4:
/* f07aed4: 44808000 */ mtc1 $zero,$f16
/* f07aed8: 3c017f1a */ lui $at,0x7f1a
/* f07aedc: 4610303c */ c.lt.s $f6,$f16
/* f07aee0: 00000000 */ sll $zero,$zero,0x0
/* f07aee4: 45000004 */ bc1f .NB0f07aef8
/* f07aee8: 00000000 */ sll $zero,$zero,0x0
/* f07aeec: 3c017f1a */ lui $at,0x7f1a
/* f07aef0: 10000002 */ beqz $zero,.NB0f07aefc
/* f07aef4: c4204998 */ lwc1 $f0,0x4998($at)
.NB0f07aef8:
/* f07aef8: c420499c */ lwc1 $f0,0x499c($at)
.NB0f07aefc:
/* f07aefc: 44060000 */ mfc1 $a2,$f0
/* f07af00: 0fc1e93a */ jal func0f07ba38
/* f07af04: afa00010 */ sw $zero,0x10($sp)
/* f07af08: 100000d0 */ beqz $zero,.NB0f07b24c
/* f07af0c: 8fbf0034 */ lw $ra,0x34($sp)
.NB0f07af10:
/* f07af10: 8c63e6f8 */ lw $v1,-0x1908($v1)
/* f07af14: 3c017f1a */ lui $at,0x7f1a
/* f07af18: c42049a0 */ lwc1 $f0,0x49a0($at)
/* f07af1c: 28610002 */ slti $at,$v1,0x2
/* f07af20: 24020001 */ addiu $v0,$zero,0x1
/* f07af24: 14200006 */ bnez $at,.NB0f07af40
/* f07af28: 46000086 */ mov.s $f2,$f0
/* f07af2c: 24420001 */ addiu $v0,$v0,0x1
.NB0f07af30:
/* f07af30: 0043082a */ slt $at,$v0,$v1
/* f07af34: 46001082 */ mul.s $f2,$f2,$f0
/* f07af38: 5420fffd */ bnezl $at,.NB0f07af30
/* f07af3c: 24420001 */ addiu $v0,$v0,0x1
.NB0f07af40:
/* f07af40: 3c017f1a */ lui $at,0x7f1a
/* f07af44: c43249a4 */ lwc1 $f18,0x49a4($at)
/* f07af48: c60a00b4 */ lwc1 $f10,0xb4($s0)
/* f07af4c: 3c017f1a */ lui $at,0x7f1a
/* f07af50: c42449a8 */ lwc1 $f4,0x49a8($at)
/* f07af54: 46125300 */ add.s $f12,$f10,$f18
/* f07af58: 460c203c */ c.lt.s $f4,$f12
/* f07af5c: 00000000 */ sll $zero,$zero,0x0
/* f07af60: 4500001c */ bc1f .NB0f07afd4
/* f07af64: 00000000 */ sll $zero,$zero,0x0
/* f07af68: 44806000 */ mtc1 $zero,$f12
/* f07af6c: e7a20088 */ swc1 $f2,0x88($sp)
/* f07af70: 0c004d84 */ jal random
/* f07af74: e7ac0084 */ swc1 $f12,0x84($sp)
/* f07af78: 30580007 */ andi $t8,$v0,0x7
/* f07af7c: 27190002 */ addiu $t9,$t8,0x2
/* f07af80: 44994000 */ mtc1 $t9,$f8
/* f07af84: c7a20088 */ lwc1 $f2,0x88($sp)
/* f07af88: c7ac0084 */ lwc1 $f12,0x84($sp)
/* f07af8c: 07210005 */ bgez $t9,.NB0f07afa4
/* f07af90: 468041a0 */ cvt.s.w $f6,$f8
/* f07af94: 3c014f80 */ lui $at,0x4f80
/* f07af98: 44818000 */ mtc1 $at,$f16
/* f07af9c: 00000000 */ sll $zero,$zero,0x0
/* f07afa0: 46103180 */ add.s $f6,$f6,$f16
.NB0f07afa4:
/* f07afa4: 3c017f1a */ lui $at,0x7f1a
/* f07afa8: c42a49ac */ lwc1 $f10,0x49ac($at)
/* f07afac: 8e090008 */ lw $t1,0x8($s0)
/* f07afb0: 3c017f1a */ lui $at,0x7f1a
/* f07afb4: 460a3482 */ mul.s $f18,$f6,$f10
/* f07afb8: 00095000 */ sll $t2,$t1,0x0
/* f07afbc: 05410005 */ bgez $t2,.NB0f07afd4
/* f07afc0: e61200b8 */ swc1 $f18,0xb8($s0)
/* f07afc4: c60400b8 */ lwc1 $f4,0xb8($s0)
/* f07afc8: c42849b0 */ lwc1 $f8,0x49b0($at)
/* f07afcc: 46082402 */ mul.s $f16,$f4,$f8
/* f07afd0: e61000b8 */ swc1 $f16,0xb8($s0)
.NB0f07afd4:
/* f07afd4: 0c006d55 */ jal sinf
/* f07afd8: e7a20088 */ swc1 $f2,0x88($sp)
/* f07afdc: c60a00b8 */ lwc1 $f10,0xb8($s0)
/* f07afe0: c7a60160 */ lwc1 $f6,0x160($sp)
/* f07afe4: c7a8015c */ lwc1 $f8,0x15c($sp)
/* f07afe8: 46005482 */ mul.s $f18,$f10,$f0
/* f07afec: c7a20088 */ lwc1 $f2,0x88($sp)
/* f07aff0: 3c01800a */ lui $at,0x800a
/* f07aff4: c42ce70c */ lwc1 $f12,-0x18f4($at)
/* f07aff8: 26240008 */ addiu $a0,$s1,0x8
/* f07affc: 26250028 */ addiu $a1,$s1,0x28
/* f07b000: 27a60098 */ addiu $a2,$sp,0x98
/* f07b004: 46123100 */ add.s $f4,$f6,$f18
/* f07b008: 24070020 */ addiu $a3,$zero,0x20
/* f07b00c: e7a40160 */ swc1 $f4,0x160($sp)
/* f07b010: c61000a4 */ lwc1 $f16,0xa4($s0)
/* f07b014: c6060098 */ lwc1 $f6,0x98($s0)
/* f07b018: 46104282 */ mul.s $f10,$f8,$f16
/* f07b01c: 46065480 */ add.s $f18,$f10,$f6
/* f07b020: 46029202 */ mul.s $f8,$f18,$f2
/* f07b024: e7a8008c */ swc1 $f8,0x8c($sp)
/* f07b028: c61000a4 */ lwc1 $f16,0xa4($s0)
/* f07b02c: c606009c */ lwc1 $f6,0x9c($s0)
/* f07b030: 46102282 */ mul.s $f10,$f4,$f16
/* f07b034: c7b00164 */ lwc1 $f16,0x164($sp)
/* f07b038: 46065480 */ add.s $f18,$f10,$f6
/* f07b03c: 46029102 */ mul.s $f4,$f18,$f2
/* f07b040: e7a40090 */ swc1 $f4,0x90($sp)
/* f07b044: c60a00a4 */ lwc1 $f10,0xa4($s0)
/* f07b048: c61200a0 */ lwc1 $f18,0xa0($s0)
/* f07b04c: 460a8182 */ mul.s $f6,$f16,$f10
/* f07b050: 46123400 */ add.s $f16,$f6,$f18
/* f07b054: 46028282 */ mul.s $f10,$f16,$f2
/* f07b058: e7aa0094 */ swc1 $f10,0x94($sp)
/* f07b05c: 460c4182 */ mul.s $f6,$f8,$f12
/* f07b060: c6320008 */ lwc1 $f18,0x8($s1)
/* f07b064: 460c2202 */ mul.s $f8,$f4,$f12
/* f07b068: 46123400 */ add.s $f16,$f6,$f18
/* f07b06c: e7b00098 */ swc1 $f16,0x98($sp)
/* f07b070: c626000c */ lwc1 $f6,0xc($s1)
/* f07b074: 460c5402 */ mul.s $f16,$f10,$f12
/* f07b078: 46064480 */ add.s $f18,$f8,$f6
/* f07b07c: e7b2009c */ swc1 $f18,0x9c($sp)
/* f07b080: c6240010 */ lwc1 $f4,0x10($s1)
/* f07b084: afa50040 */ sw $a1,0x40($sp)
/* f07b088: afa40044 */ sw $a0,0x44($sp)
/* f07b08c: 46048200 */ add.s $f8,$f16,$f4
/* f07b090: 0c00bc86 */ jal cd0002de10
/* f07b094: e7a800a0 */ swc1 $f8,0xa0($sp)
/* f07b098: 14400058 */ bnez $v0,.NB0f07b1fc
/* f07b09c: 8fa40044 */ lw $a0,0x44($sp)
/* f07b0a0: 3c0142c8 */ lui $at,0x42c8
/* f07b0a4: 44819000 */ mtc1 $at,$f18
/* f07b0a8: c626000c */ lwc1 $f6,0xc($s1)
/* f07b0ac: 3c0540a0 */ lui $a1,0x40a0
/* f07b0b0: 00003825 */ or $a3,$zero,$zero
/* f07b0b4: 46123280 */ add.s $f10,$f6,$f18
/* f07b0b8: e62a000c */ swc1 $f10,0xc($s1)
/* f07b0bc: afa00010 */ sw $zero,0x10($sp)
/* f07b0c0: 8fa60040 */ lw $a2,0x40($sp)
/* f07b0c4: 0c00adde */ jal cdFindGroundYSimple
/* f07b0c8: 8fa40044 */ lw $a0,0x44($sp)
/* f07b0cc: e7a00060 */ swc1 $f0,0x60($sp)
/* f07b0d0: 3c0142c8 */ lui $at,0x42c8
/* f07b0d4: 44812000 */ mtc1 $at,$f4
/* f07b0d8: c630000c */ lwc1 $f16,0xc($s1)
/* f07b0dc: 3c067f1a */ lui $a2,0x7f1a
/* f07b0e0: 24c64364 */ addiu $a2,$a2,0x4364
/* f07b0e4: 46048201 */ sub.s $f8,$f16,$f4
/* f07b0e8: 27a40064 */ addiu $a0,$sp,0x64
/* f07b0ec: 24052ffe */ addiu $a1,$zero,0x2ffe
/* f07b0f0: 0c0098a7 */ jal cdGetPos
/* f07b0f4: e628000c */ swc1 $f8,0xc($s1)
/* f07b0f8: 3c0141a0 */ lui $at,0x41a0
/* f07b0fc: 44815000 */ mtc1 $at,$f10
/* f07b100: c7b20060 */ lwc1 $f18,0x60($sp)
/* f07b104: c7a60064 */ lwc1 $f6,0x64($sp)
/* f07b108: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f07b10c: 460a9400 */ add.s $f16,$f18,$f10
/* f07b110: 8fa40044 */ lw $a0,0x44($sp)
/* f07b114: 8fa50040 */ lw $a1,0x40($sp)
/* f07b118: 27a60098 */ addiu $a2,$sp,0x98
/* f07b11c: e7b0009c */ swc1 $f16,0x9c($sp)
/* f07b120: 27a70050 */ addiu $a3,$sp,0x50
/* f07b124: e7a60098 */ swc1 $f6,0x98($sp)
/* f07b128: 0fc19437 */ jal func0f065e74
/* f07b12c: e7a400a0 */ swc1 $f4,0xa0($sp)
/* f07b130: c7a80098 */ lwc1 $f8,0x98($sp)
/* f07b134: 02202025 */ or $a0,$s1,$zero
/* f07b138: e6280008 */ swc1 $f8,0x8($s1)
/* f07b13c: c7a6009c */ lwc1 $f6,0x9c($sp)
/* f07b140: e626000c */ swc1 $f6,0xc($s1)
/* f07b144: c7b200a0 */ lwc1 $f18,0xa0($sp)
/* f07b148: 0fc193ab */ jal propDeregisterRooms
/* f07b14c: e6320010 */ swc1 $f18,0x10($s1)
/* f07b150: 27a40050 */ addiu $a0,$sp,0x50
/* f07b154: 0fc19283 */ jal roomsCopy
/* f07b158: 8fa50040 */ lw $a1,0x40($sp)
/* f07b15c: 02002025 */ or $a0,$s0,$zero
/* f07b160: 00002825 */ or $a1,$zero,$zero
/* f07b164: 0fc1a3b7 */ jal func0f069c70
/* f07b168: 24060001 */ addiu $a2,$zero,0x1
/* f07b16c: 920b0096 */ lbu $t3,0x96($s0)
/* f07b170: 02002025 */ or $a0,$s0,$zero
/* f07b174: 24050008 */ addiu $a1,$zero,0x8
/* f07b178: 256c0001 */ addiu $t4,$t3,0x1
/* f07b17c: 0fc201d0 */ jal func0f081ccc
/* f07b180: a20c0096 */ sb $t4,0x96($s0)
/* f07b184: 862d0028 */ lh $t5,0x28($s1)
/* f07b188: 3c013f80 */ lui $at,0x3f80
/* f07b18c: 44805000 */ mtc1 $zero,$f10
/* f07b190: 44818000 */ mtc1 $at,$f16
/* f07b194: 44802000 */ mtc1 $zero,$f4
/* f07b198: 02202025 */ or $a0,$s1,$zero
/* f07b19c: 24050001 */ addiu $a1,$zero,0x1
/* f07b1a0: 3406ffff */ dli $a2,0xffff
/* f07b1a4: a7ad0072 */ sh $t5,0x72($sp)
/* f07b1a8: e7aa0074 */ swc1 $f10,0x74($sp)
/* f07b1ac: e7b00078 */ swc1 $f16,0x78($sp)
/* f07b1b0: 0fc2433d */ jal func0f0926bc
/* f07b1b4: e7a4007c */ swc1 $f4,0x7c($sp)
/* f07b1b8: 87b80072 */ lh $t8,0x72($sp)
/* f07b1bc: 240e0001 */ addiu $t6,$zero,0x1
/* f07b1c0: 27af0098 */ addiu $t7,$sp,0x98
/* f07b1c4: 27b90074 */ addiu $t9,$sp,0x74
/* f07b1c8: afb90020 */ sw $t9,0x20($sp)
/* f07b1cc: afaf0018 */ sw $t7,0x18($sp)
/* f07b1d0: afae0014 */ sw $t6,0x14($sp)
/* f07b1d4: 00002025 */ or $a0,$zero,$zero
/* f07b1d8: 8fa50044 */ lw $a1,0x44($sp)
/* f07b1dc: 8fa60040 */ lw $a2,0x40($sp)
/* f07b1e0: 2407000d */ addiu $a3,$zero,0xd
/* f07b1e4: afa00010 */ sw $zero,0x10($sp)
/* f07b1e8: 0fc492bc */ jal explosionCreate
/* f07b1ec: afb8001c */ sw $t8,0x1c($sp)
/* f07b1f0: 24090001 */ addiu $t1,$zero,0x1
/* f07b1f4: 10000014 */ beqz $zero,.NB0f07b248
/* f07b1f8: ae0900e4 */ sw $t1,0xe4($s0)
.NB0f07b1fc:
/* f07b1fc: 8fa50040 */ lw $a1,0x40($sp)
/* f07b200: 0fc4a4ec */ jal smokeCreateSimple
/* f07b204: 24060003 */ addiu $a2,$zero,0x3
/* f07b208: c6080080 */ lwc1 $f8,0x80($s0)
/* f07b20c: 44803000 */ mtc1 $zero,$f6
/* f07b210: 02202025 */ or $a0,$s1,$zero
/* f07b214: 8fa50174 */ lw $a1,0x174($sp)
/* f07b218: 4606403c */ c.lt.s $f8,$f6
/* f07b21c: 27a7015c */ addiu $a3,$sp,0x15c
/* f07b220: 3c017f1a */ lui $at,0x7f1a
/* f07b224: 45000004 */ bc1f .NB0f07b238
/* f07b228: 00000000 */ sll $zero,$zero,0x0
/* f07b22c: 3c017f1a */ lui $at,0x7f1a
/* f07b230: 10000002 */ beqz $zero,.NB0f07b23c
/* f07b234: c42049b4 */ lwc1 $f0,0x49b4($at)
.NB0f07b238:
/* f07b238: c42049b8 */ lwc1 $f0,0x49b8($at)
.NB0f07b23c:
/* f07b23c: 44060000 */ mfc1 $a2,$f0
/* f07b240: 0fc1e93a */ jal func0f07ba38
/* f07b244: afa00010 */ sw $zero,0x10($sp)
.NB0f07b248:
/* f07b248: 8fbf0034 */ lw $ra,0x34($sp)
.NB0f07b24c:
/* f07b24c: 8fb0002c */ lw $s0,0x2c($sp)
/* f07b250: 8fb10030 */ lw $s1,0x30($sp)
/* f07b254: 03e00008 */ jr $ra
/* f07b258: 27bd0180 */ addiu $sp,$sp,0x180
);
#endif
// Mismatch: Something weird with the chopper->fall property.
// Might be the start of a new struct using a union
//void chopperTickFall(struct prop *chopperprop)
//{
// struct defaultobj *obj = chopperprop->obj;
// struct chopperobj *chopper = (struct chopperobj *) obj;
// f32 sp174;
// f32 sp164;
// f32 sp160;
// struct coord sp15c;
// struct pad nextpad;
// struct pad prevpad;
// s32 i;
// struct coord sp98;
// struct coord sp8c;
//
// // I guess the timer is set explicitly to 2 when the chopper is destroyed,
// // otherwise there's no guarantee that that the timer will land on this
// // value when ticking down normally. So this code is run once when entering
// // fall mode.
// if (chopper->timer60 == 2) {
// // Figure out what direction to fall in
// f32 spac = 0;
// f32 spa8 = 0;
// s32 nextstep;
// f32 tmp;
//
// chopper->timer60 -= g_Vars.lvupdate240_60;
//
// if (chopper->path) {
// for (i = 0; i < chopper->path->len; i++) {
// if (chopper->cw) {
// nextstep = i;
// } else {
// nextstep = (i + 1) % chopper->path->len;
// }
//
// if (nextstep == chopper->nextstep) {
// break;
// }
// }
//
// if (chopper->cw) {
// nextstep = (i + 1) % chopper->path->len;
// } else {
// nextstep = i;
// }
//
// padUnpack(chopper->path->pads[nextstep], PADFIELD_POS, &nextpad);
//
// if (chopper->cw) {
// nextstep = i;
// } else {
// nextstep = (i + 1) % chopper->path->len;
// }
//
// padUnpack(chopper->path->pads[nextstep], PADFIELD_POS, &prevpad);
//
// spac = nextpad.pos.x - prevpad.pos.x;
// spa8 = nextpad.pos.z - prevpad.pos.z;
//
// tmp = 0.25f / sqrtf(spac * spac + spa8 * spa8);
//
// spac *= tmp;
// spa8 *= tmp;
// }
//
// chopper->fall.f[0] = -spa8;
// chopper->fall.f[1] = 0;
// chopper->fall.f[2] = spac;
// } else if (chopper->timer60 >= 0) {
// // Haven't started falling yet
// chopper->timer60 -= g_Vars.lvupdate240_60;
// } else if (chopper->fall.f[1] > -0.7f) {
// // Increase fall speed
// chopper->fall.f[1] -= 0.009f * g_Vars.lvupdate240f;
// }
//
// sp15c.x = chopper->fall.f[0];
// sp15c.y = chopper->fall.f[1];
// sp15c.z = chopper->fall.f[2];
// sp174 = chopper->roty + sp15c.x + sp15c.z;
//
// if (stageGetIndex(g_Vars.stagenum) == STAGEINDEX_EXTRACTION) {
// // The Extraction chopper falls without any collision checks and is
// // reaped once it reaches the lower barrier
// if (chopperprop->pos.y < -30000) {
// func0f0926bc(chopperprop, 1, 0xffff);
// obj->hidden |= OBJHFLAG_REAPABLE;
// } else {
// func0f07ba38(chopperprop, sp174, chopper->rotx < 0 ? M_PI : -M_PI, &sp15c, 0);
// }
// } else {
// // Area 51 interceptors do collision checks
// // and explode once they hit the ground.
// f32 mult = 0.98f;
// f32 bob;
// s32 i;
//
// for (i = 1; i < g_Vars.lvupdate240_60; i++) {
// mult *= 0.98f;
// }
//
// bob = chopper->bob + 0.052358999848366f;
//
// if (bob > M_BADTAU) {
// bob = 0;
//
// chopper->bobstrength = (random() % 8 + 2) * 0.01f;
//
// if (obj->flags & OBJFLAG_80000000) {
// chopper->bobstrength *= 0.15f;
// }
// }
//
// sp160 += chopper->bobstrength * sinf(bob);
//
// sp8c.f[0] = mult * (sp15c.f[0] * chopper->power + chopper->vx);
// sp8c.f[1] = mult * (sp15c.f[1] * chopper->power + chopper->vy);
// sp8c.f[2] = mult * (sp15c.f[2] * chopper->power + chopper->vz);
//
// sp98.f[0] = sp8c.f[0] * g_Vars.lvupdate240freal + chopperprop->pos.x;
// sp98.f[1] = sp8c.f[1] * g_Vars.lvupdate240freal + chopperprop->pos.y;
// sp98.f[2] = sp8c.f[2] * g_Vars.lvupdate240freal + chopperprop->pos.z;
//
// if (cd0002de10(&chopperprop->pos, chopperprop->rooms, &sp98, CDTYPE_BG) == CDRESULT_COLLISION) {
// struct coord sp74;
// s16 room;
// struct coord sp64;
// f32 sp60;
// s16 sp50[8];
//
// chopperprop->pos.y += 100;
// sp60 = cdFindGroundYSimple(&chopperprop->pos, 5, chopperprop->rooms, NULL, NULL);
// chopperprop->pos.y -= 100;
//
//#if VERSION >= VERSION_PAL_FINAL
// cdGetPos(&sp64, 12449, "prop/propobj.c");
//#else
// cdGetPos(&sp64, 12449, "propobj.c");
//#endif
//
// sp98.x = sp64.x;
// sp98.y = sp60 + 20;
// sp98.z = sp64.z;
//
// func0f065e74(&chopperprop->pos, chopperprop->rooms, &sp98, sp50);
//
// chopperprop->pos.x = sp98.x;
// chopperprop->pos.y = sp98.y;
// chopperprop->pos.z = sp98.z;
//
// propDeregisterRooms(chopperprop);
// roomsCopy(sp50, chopperprop->rooms);
// func0f069c70(obj, false, true);
//
// // Move to CHOPPERMODE_DEAD
// chopper->attackmode++;
//
// func0f081ccc(chopper, 8);
//
// room = chopperprop->rooms[0];
// sp74.x = 0;
// sp74.y = 1;
// sp74.z = 0;
//
// func0f0926bc(chopperprop, 1, 0xffff);
//
// explosionCreate(NULL, &chopperprop->pos, chopperprop->rooms, EXPLOSIONTYPE_13,
// 0, true, &sp98, room, &sp74);
//
// chopper->dead = true;
// } else {
// smokeCreateSimple(&chopperprop->pos, chopperprop->rooms, SMOKETYPE_3);
// func0f07ba38(chopperprop, sp174, chopper->rotx < 0 ? M_PI : -M_PI, &sp15c, 0);
// }
// }
//}
void chopperTickIdle(struct prop *prop)
{
struct chopperobj *chopper = (struct chopperobj *)prop->obj;
u32 stack;
f32 roty = chopper->roty;
f32 rotx = chopper->rotx;
struct coord coord;
chraiExecute(chopper, PROPTYPE_OBJ);
chopper->timer60 += g_Vars.lvupdate240_60;
coord.x = 0;
coord.y = 0;
coord.z = 0;
func0f07ba38(prop, roty, rotx, &coord, 0);
}
void chopperTickPatrol(struct prop *chopperprop)
{
struct chopperobj *chopper = (struct chopperobj *)chopperprop->obj;
f32 xdiff;
f32 roty = chopper->roty;
f32 rotx = chopper->rotx;
struct coord vector;
struct pad pad;
f32 mult;
f32 zdiff;
chraiExecute(chopper, PROPTYPE_OBJ);
chopper->timer60 += g_Vars.lvupdate240_60;
if (chopper->patroltimer60 > 0) {
chopper->patroltimer60 -= g_Vars.lvupdate240_60;
}
if (chopper->path) {
padUnpack(chopper->path->pads[chopper->nextstep], PADFIELD_POS, &pad);
pad.pos.y += -250;
if (posIsArrivingLaterallyAtPos(&chopperprop->pos, &chopperprop->pos, &pad.pos, 350)) {
chopper->nextstep = ((chopper->cw ? -1 : 1) + chopper->nextstep + chopper->path->len) % chopper->path->len;
padUnpack(chopper->path->pads[chopper->nextstep], PADFIELD_POS, &pad);
pad.pos.y += -250;
}
roty = atan2f(pad.pos.x - chopperprop->pos.x, pad.pos.z - chopperprop->pos.z);
xdiff = pad.pos.x - chopperprop->pos.x;
zdiff = pad.pos.z - chopperprop->pos.z;
rotx = atan2f(pad.pos.y - chopperprop->pos.y, sqrtf(xdiff * xdiff + zdiff * zdiff));
}
if (chopper->base.flags & OBJFLAG_20000000) {
chopper->roty = roty;
chopper->rotx = rotx;
if (1);
chopper->base.flags &= ~OBJFLAG_20000000;
}
if (chopper->patroltimer60 > 0) {
vector.x = pad.pos.x - chopperprop->pos.x;
vector.y = pad.pos.y - chopperprop->pos.y;
vector.z = pad.pos.z - chopperprop->pos.z;
guNormalize(&vector.x, &vector.y, &vector.z);
} else {
mult = cosf(chopper->rotx);
vector.x = sinf(chopper->roty) * mult;
vector.y = sinf(chopper->rotx);
vector.z = cosf(chopper->roty) * mult;
}
func0f07ba38(chopperprop, roty, rotx, &vector, 0);
}
GLOBAL_ASM(
glabel chopperTickCombat
.late_rodata
glabel var7f1aa69c
.word 0x49f42400
glabel var7f1aa6a0
.word 0x48c35000
glabel var7f1aa6a4
.word 0x461c4000
glabel var7f1aa6a8
.word 0x451c4000
.text
/* f07cacc: 27bdfe90 */ addiu $sp,$sp,-368
/* f07cad0: afbf0044 */ sw $ra,0x44($sp)
/* f07cad4: afb50040 */ sw $s5,0x40($sp)
/* f07cad8: afb4003c */ sw $s4,0x3c($sp)
/* f07cadc: afb30038 */ sw $s3,0x38($sp)
/* f07cae0: afb20034 */ sw $s2,0x34($sp)
/* f07cae4: afb10030 */ sw $s1,0x30($sp)
/* f07cae8: afb0002c */ sw $s0,0x2c($sp)
/* f07caec: f7b60020 */ sdc1 $f22,0x20($sp)
/* f07caf0: f7b40018 */ sdc1 $f20,0x18($sp)
/* f07caf4: afa40170 */ sw $a0,0x170($sp)
/* f07caf8: 8c930004 */ lw $s3,0x4($a0)
/* f07cafc: afb30168 */ sw $s3,0x168($sp)
/* f07cb00: 0fc1eb6e */ jal chopperGetTargetProp
/* f07cb04: 02602025 */ or $a0,$s3,$zero
/* f07cb08: 8fa50170 */ lw $a1,0x170($sp)
/* f07cb0c: afa2015c */ sw $v0,0x15c($sp)
/* f07cb10: 24440008 */ addiu $a0,$v0,0x8
/* f07cb14: 24a50008 */ addiu $a1,$a1,0x8
/* f07cb18: 0fc12565 */ jal coordGetSquaredDistanceToCoord
/* f07cb1c: afa5005c */ sw $a1,0x5c($sp)
/* f07cb20: e7a00158 */ swc1 $f0,0x158($sp)
/* f07cb24: 02602025 */ or $a0,$s3,$zero
/* f07cb28: 0fc135ad */ jal chraiExecute
/* f07cb2c: 24050001 */ addiu $a1,$zero,0x1
/* f07cb30: 3c18800a */ lui $t8,%hi(g_Vars+0x38)
/* f07cb34: 8f189ff8 */ lw $t8,%lo(g_Vars+0x38)($t8)
/* f07cb38: 8e6f00c0 */ lw $t7,0xc0($s3)
/* f07cb3c: 8e6800bc */ lw $t0,0xbc($s3)
/* f07cb40: 3c017f1b */ lui $at,%hi(var7f1aa69c)
/* f07cb44: 01f8c821 */ addu $t9,$t7,$t8
/* f07cb48: 11000007 */ beqz $t0,.L0f07cb68
/* f07cb4c: ae7900c0 */ sw $t9,0xc0($s3)
/* f07cb50: c7a40158 */ lwc1 $f4,0x158($sp)
/* f07cb54: c426a69c */ lwc1 $f6,%lo(var7f1aa69c)($at)
/* f07cb58: 4606203c */ c.lt.s $f4,$f6
/* f07cb5c: 00000000 */ nop
/* f07cb60: 45030005 */ bc1tl .L0f07cb78
/* f07cb64: 8fa20170 */ lw $v0,0x170($sp)
.L0f07cb68:
/* f07cb68: 8e620088 */ lw $v0,0x88($s3)
/* f07cb6c: 5440000a */ bnezl $v0,.L0f07cb98
/* f07cb70: 94490006 */ lhu $t1,0x6($v0)
/* f07cb74: 8fa20170 */ lw $v0,0x170($sp)
.L0f07cb78:
/* f07cb78: c4480008 */ lwc1 $f8,0x8($v0)
/* f07cb7c: e7a8014c */ swc1 $f8,0x14c($sp)
/* f07cb80: c44a000c */ lwc1 $f10,0xc($v0)
/* f07cb84: e7aa0150 */ swc1 $f10,0x150($sp)
/* f07cb88: c4500010 */ lwc1 $f16,0x10($v0)
/* f07cb8c: 1000012e */ b .L0f07d048
/* f07cb90: e7b00154 */ swc1 $f16,0x154($sp)
/* f07cb94: 94490006 */ lhu $t1,0x6($v0)
.L0f07cb98:
/* f07cb98: 3c014d80 */ lui $at,0x4d80
/* f07cb9c: 4481a000 */ mtc1 $at,$f20
/* f07cba0: 19200060 */ blez $t1,.L0f07cd24
/* f07cba4: 00008025 */ or $s0,$zero,$zero
/* f07cba8: 8faa015c */ lw $t2,0x15c($sp)
/* f07cbac: 3c01c37a */ lui $at,0xc37a
/* f07cbb0: 4481b000 */ mtc1 $at,$f22
/* f07cbb4: 254b0008 */ addiu $t3,$t2,0x8
/* f07cbb8: afab0050 */ sw $t3,0x50($sp)
/* f07cbbc: 00009025 */ or $s2,$zero,$zero
/* f07cbc0: 27b500ec */ addiu $s5,$sp,0xec
/* f07cbc4: 27b40098 */ addiu $s4,$sp,0x98
/* f07cbc8: 8e6c0088 */ lw $t4,0x88($s3)
.L0f07cbcc:
/* f07cbcc: 24050002 */ addiu $a1,$zero,0x2
/* f07cbd0: 02a03025 */ or $a2,$s5,$zero
/* f07cbd4: 8d8d0000 */ lw $t5,0x0($t4)
/* f07cbd8: 01b27021 */ addu $t6,$t5,$s2
/* f07cbdc: 0fc456ac */ jal padUnpack
/* f07cbe0: 8dc40000 */ lw $a0,0x0($t6)
/* f07cbe4: 8e620088 */ lw $v0,0x88($s3)
/* f07cbe8: 26110001 */ addiu $s1,$s0,0x1
/* f07cbec: 24050002 */ addiu $a1,$zero,0x2
/* f07cbf0: 94580006 */ lhu $t8,0x6($v0)
/* f07cbf4: 8c4f0000 */ lw $t7,0x0($v0)
/* f07cbf8: 02803025 */ or $a2,$s4,$zero
/* f07cbfc: 0238001a */ div $zero,$s1,$t8
/* f07cc00: 0000c810 */ mfhi $t9
/* f07cc04: 00194080 */ sll $t0,$t9,0x2
/* f07cc08: 17000002 */ bnez $t8,.L0f07cc14
/* f07cc0c: 00000000 */ nop
/* f07cc10: 0007000d */ break 0x7
.L0f07cc14:
/* f07cc14: 2401ffff */ addiu $at,$zero,-1
/* f07cc18: 17010004 */ bne $t8,$at,.L0f07cc2c
/* f07cc1c: 3c018000 */ lui $at,0x8000
/* f07cc20: 16210002 */ bne $s1,$at,.L0f07cc2c
/* f07cc24: 00000000 */ nop
/* f07cc28: 0006000d */ break 0x6
.L0f07cc2c:
/* f07cc2c: 01e84821 */ addu $t1,$t7,$t0
/* f07cc30: 0fc456ac */ jal padUnpack
/* f07cc34: 8d240000 */ lw $a0,0x0($t1)
/* f07cc38: c7a000f0 */ lwc1 $f0,0xf0($sp)
/* f07cc3c: c7b2009c */ lwc1 $f18,0x9c($sp)
/* f07cc40: 02a02025 */ or $a0,$s5,$zero
/* f07cc44: 46160000 */ add.s $f0,$f0,$f22
/* f07cc48: 02802825 */ or $a1,$s4,$zero
/* f07cc4c: 8fa60050 */ lw $a2,0x50($sp)
/* f07cc50: 46169100 */ add.s $f4,$f18,$f22
/* f07cc54: e7a000f0 */ swc1 $f0,0xf0($sp)
/* f07cc58: 27a70078 */ addiu $a3,$sp,0x78
/* f07cc5c: 0fc1ec59 */ jal func0f07b164
/* f07cc60: e7a4009c */ swc1 $f4,0x9c($sp)
/* f07cc64: 4614003c */ c.lt.s $f0,$f20
/* f07cc68: 00000000 */ nop
/* f07cc6c: 4502000a */ bc1fl .L0f07cc98
/* f07cc70: 926a0097 */ lbu $t2,0x97($s3)
/* f07cc74: c7a60078 */ lwc1 $f6,0x78($sp)
/* f07cc78: c7a8007c */ lwc1 $f8,0x7c($sp)
/* f07cc7c: c7aa0080 */ lwc1 $f10,0x80($sp)
/* f07cc80: 46000506 */ mov.s $f20,$f0
/* f07cc84: afb00090 */ sw $s0,0x90($sp)
/* f07cc88: e7a6014c */ swc1 $f6,0x14c($sp)
/* f07cc8c: e7a80150 */ swc1 $f8,0x150($sp)
/* f07cc90: e7aa0154 */ swc1 $f10,0x154($sp)
/* f07cc94: 926a0097 */ lbu $t2,0x97($s3)
.L0f07cc98:
/* f07cc98: 51400004 */ beqzl $t2,.L0f07ccac
/* f07cc9c: 8e6b0088 */ lw $t3,0x88($s3)
/* f07cca0: 1000000e */ b .L0f07ccdc
/* f07cca4: 02001825 */ or $v1,$s0,$zero
/* f07cca8: 8e6b0088 */ lw $t3,0x88($s3)
.L0f07ccac:
/* f07ccac: 956c0006 */ lhu $t4,0x6($t3)
/* f07ccb0: 022c001a */ div $zero,$s1,$t4
/* f07ccb4: 00001810 */ mfhi $v1
/* f07ccb8: 15800002 */ bnez $t4,.L0f07ccc4
/* f07ccbc: 00000000 */ nop
/* f07ccc0: 0007000d */ break 0x7
.L0f07ccc4:
/* f07ccc4: 2401ffff */ addiu $at,$zero,-1
/* f07ccc8: 15810004 */ bne $t4,$at,.L0f07ccdc
/* f07cccc: 3c018000 */ lui $at,0x8000
/* f07ccd0: 16210002 */ bne $s1,$at,.L0f07ccdc
/* f07ccd4: 00000000 */ nop
/* f07ccd8: 0006000d */ break 0x6
.L0f07ccdc:
/* f07ccdc: 8e6d008c */ lw $t5,0x8c($s3)
/* f07cce0: 546d0009 */ bnel $v1,$t5,.L0f07cd08
/* f07cce4: 8fae0168 */ lw $t6,0x168($sp)
/* f07cce8: c7b00078 */ lwc1 $f16,0x78($sp)
/* f07ccec: c7b2007c */ lwc1 $f18,0x7c($sp)
/* f07ccf0: c7a40080 */ lwc1 $f4,0x80($sp)
/* f07ccf4: afb0008c */ sw $s0,0x8c($sp)
/* f07ccf8: e7b0006c */ swc1 $f16,0x6c($sp)
/* f07ccfc: e7b20070 */ swc1 $f18,0x70($sp)
/* f07cd00: e7a40074 */ swc1 $f4,0x74($sp)
/* f07cd04: 8fae0168 */ lw $t6,0x168($sp)
.L0f07cd08:
/* f07cd08: 02208025 */ or $s0,$s1,$zero
/* f07cd0c: 26520004 */ addiu $s2,$s2,0x4
/* f07cd10: 8dd80088 */ lw $t8,0x88($t6)
/* f07cd14: 97190006 */ lhu $t9,0x6($t8)
/* f07cd18: 0239082a */ slt $at,$s1,$t9
/* f07cd1c: 5420ffab */ bnezl $at,.L0f07cbcc
/* f07cd20: 8e6c0088 */ lw $t4,0x88($s3)
.L0f07cd24:
/* f07cd24: 8faf008c */ lw $t7,0x8c($sp)
/* f07cd28: 8fa80090 */ lw $t0,0x90($sp)
/* f07cd2c: 3c01c37a */ lui $at,0xc37a
/* f07cd30: 4481b000 */ mtc1 $at,$f22
/* f07cd34: 11e8007b */ beq $t7,$t0,.L0f07cf24
/* f07cd38: 27b500ec */ addiu $s5,$sp,0xec
/* f07cd3c: 3c017f1b */ lui $at,%hi(var7f1aa6a0)
/* f07cd40: c426a6a0 */ lwc1 $f6,%lo(var7f1aa6a0)($at)
/* f07cd44: c7a80158 */ lwc1 $f8,0x158($sp)
/* f07cd48: 01e81023 */ subu $v0,$t7,$t0
/* f07cd4c: 00021e00 */ sll $v1,$v0,0x18
/* f07cd50: 4608303c */ c.lt.s $f6,$f8
/* f07cd54: 00034e03 */ sra $t1,$v1,0x18
/* f07cd58: 00002025 */ or $a0,$zero,$zero
/* f07cd5c: 01201825 */ or $v1,$t1,$zero
/* f07cd60: 45000069 */ bc1f .L0f07cf08
/* f07cd64: 00022e00 */ sll $a1,$v0,0x18
/* f07cd68: 8e6b0088 */ lw $t3,0x88($s3)
/* f07cd6c: 00055603 */ sra $t2,$a1,0x18
/* f07cd70: 01402825 */ or $a1,$t2,$zero
/* f07cd74: 05410006 */ bgez $t2,.L0f07cd90
/* f07cd78: 95670006 */ lhu $a3,0x6($t3)
/* f07cd7c: 000a1823 */ negu $v1,$t2
/* f07cd80: 00036600 */ sll $t4,$v1,0x18
/* f07cd84: 000c6e03 */ sra $t5,$t4,0x18
/* f07cd88: 01a01825 */ or $v1,$t5,$zero
/* f07cd8c: 24040001 */ addiu $a0,$zero,0x1
.L0f07cd90:
/* f07cd90: 00e31023 */ subu $v0,$a3,$v1
/* f07cd94: 00027600 */ sll $t6,$v0,0x18
/* f07cd98: 000ec603 */ sra $t8,$t6,0x18
/* f07cd9c: 0078c82a */ slt $t9,$v1,$t8
/* f07cda0: 10800005 */ beqz $a0,.L0f07cdb8
/* f07cda4: a2790097 */ sb $t9,0x97($s3)
/* f07cda8: 332300ff */ andi $v1,$t9,0xff
/* f07cdac: 2c6f0001 */ sltiu $t7,$v1,0x1
/* f07cdb0: 01e01825 */ or $v1,$t7,$zero
/* f07cdb4: a26f0097 */ sb $t7,0x97($s3)
.L0f07cdb8:
/* f07cdb8: 92680097 */ lbu $t0,0x97($s3)
/* f07cdbc: 24050002 */ addiu $a1,$zero,0x2
/* f07cdc0: 51000006 */ beqzl $t0,.L0f07cddc
/* f07cdc4: 8e620088 */ lw $v0,0x88($s3)
/* f07cdc8: 8fa9008c */ lw $t1,0x8c($sp)
/* f07cdcc: 8e620088 */ lw $v0,0x88($s3)
/* f07cdd0: 10000011 */ b .L0f07ce18
/* f07cdd4: ae69008c */ sw $t1,0x8c($s3)
/* f07cdd8: 8e620088 */ lw $v0,0x88($s3)
.L0f07cddc:
/* f07cddc: 8faa008c */ lw $t2,0x8c($sp)
/* f07cde0: 944c0006 */ lhu $t4,0x6($v0)
/* f07cde4: 254b0001 */ addiu $t3,$t2,0x1
/* f07cde8: 016c001a */ div $zero,$t3,$t4
/* f07cdec: 00006810 */ mfhi $t5
/* f07cdf0: ae6d008c */ sw $t5,0x8c($s3)
/* f07cdf4: 15800002 */ bnez $t4,.L0f07ce00
/* f07cdf8: 00000000 */ nop
/* f07cdfc: 0007000d */ break 0x7
.L0f07ce00:
/* f07ce00: 2401ffff */ addiu $at,$zero,-1
/* f07ce04: 15810004 */ bne $t4,$at,.L0f07ce18
/* f07ce08: 3c018000 */ lui $at,0x8000
/* f07ce0c: 15610002 */ bne $t3,$at,.L0f07ce18
/* f07ce10: 00000000 */ nop
/* f07ce14: 0006000d */ break 0x6
.L0f07ce18:
/* f07ce18: 8e78008c */ lw $t8,0x8c($s3)
/* f07ce1c: 8c4e0000 */ lw $t6,0x0($v0)
/* f07ce20: 02a03025 */ or $a2,$s5,$zero
/* f07ce24: 0018c880 */ sll $t9,$t8,0x2
/* f07ce28: 01d97821 */ addu $t7,$t6,$t9
/* f07ce2c: 0fc456ac */ jal padUnpack
/* f07ce30: 8de40000 */ lw $a0,0x0($t7)
/* f07ce34: c7a000f0 */ lwc1 $f0,0xf0($sp)
/* f07ce38: 02a02025 */ or $a0,$s5,$zero
/* f07ce3c: 8fa5005c */ lw $a1,0x5c($sp)
/* f07ce40: 46160000 */ add.s $f0,$f0,$f22
/* f07ce44: 0fc12565 */ jal coordGetSquaredDistanceToCoord
/* f07ce48: e7a000f0 */ swc1 $f0,0xf0($sp)
/* f07ce4c: 3c017f1b */ lui $at,%hi(var7f1aa6a4)
/* f07ce50: c42aa6a4 */ lwc1 $f10,%lo(var7f1aa6a4)($at)
/* f07ce54: 460a003c */ c.lt.s $f0,$f10
/* f07ce58: 00000000 */ nop
/* f07ce5c: 45020024 */ bc1fl .L0f07cef0
/* f07ce60: c7a000f0 */ lwc1 $f0,0xf0($sp)
/* f07ce64: 92680097 */ lbu $t0,0x97($s3)
/* f07ce68: 4480a000 */ mtc1 $zero,$f20
/* f07ce6c: 24030001 */ addiu $v1,$zero,0x1
/* f07ce70: 11000003 */ beqz $t0,.L0f07ce80
/* f07ce74: e67400a4 */ swc1 $f20,0xa4($s3)
/* f07ce78: 10000001 */ b .L0f07ce80
/* f07ce7c: 2403ffff */ addiu $v1,$zero,-1
.L0f07ce80:
/* f07ce80: 8e620088 */ lw $v0,0x88($s3)
/* f07ce84: 8e69008c */ lw $t1,0x8c($s3)
/* f07ce88: 24050002 */ addiu $a1,$zero,0x2
/* f07ce8c: 94470006 */ lhu $a3,0x6($v0)
/* f07ce90: 00695021 */ addu $t2,$v1,$t1
/* f07ce94: 02a03025 */ or $a2,$s5,$zero
/* f07ce98: 01475821 */ addu $t3,$t2,$a3
/* f07ce9c: 0167001a */ div $zero,$t3,$a3
/* f07cea0: 00006010 */ mfhi $t4
/* f07cea4: ae6c008c */ sw $t4,0x8c($s3)
/* f07cea8: 8c4d0000 */ lw $t5,0x0($v0)
/* f07ceac: 000c7080 */ sll $t6,$t4,0x2
/* f07ceb0: 14e00002 */ bnez $a3,.L0f07cebc
/* f07ceb4: 00000000 */ nop
/* f07ceb8: 0007000d */ break 0x7
.L0f07cebc:
/* f07cebc: 2401ffff */ addiu $at,$zero,-1
/* f07cec0: 14e10004 */ bne $a3,$at,.L0f07ced4
/* f07cec4: 3c018000 */ lui $at,0x8000
/* f07cec8: 15610002 */ bne $t3,$at,.L0f07ced4
/* f07cecc: 00000000 */ nop
/* f07ced0: 0006000d */ break 0x6
.L0f07ced4:
/* f07ced4: 01aec821 */ addu $t9,$t5,$t6
/* f07ced8: 0fc456ac */ jal padUnpack
/* f07cedc: 8f240000 */ lw $a0,0x0($t9)
/* f07cee0: c7a000f0 */ lwc1 $f0,0xf0($sp)
/* f07cee4: 46160000 */ add.s $f0,$f0,$f22
/* f07cee8: e7a000f0 */ swc1 $f0,0xf0($sp)
/* f07ceec: c7a000f0 */ lwc1 $f0,0xf0($sp)
.L0f07cef0:
/* f07cef0: c7b000ec */ lwc1 $f16,0xec($sp)
/* f07cef4: c7b200f4 */ lwc1 $f18,0xf4($sp)
/* f07cef8: e7a00150 */ swc1 $f0,0x150($sp)
/* f07cefc: e7b0014c */ swc1 $f16,0x14c($sp)
/* f07cf00: 10000051 */ b .L0f07d048
/* f07cf04: e7b20154 */ swc1 $f18,0x154($sp)
.L0f07cf08:
/* f07cf08: c7a4006c */ lwc1 $f4,0x6c($sp)
/* f07cf0c: c7a60070 */ lwc1 $f6,0x70($sp)
/* f07cf10: c7a80074 */ lwc1 $f8,0x74($sp)
/* f07cf14: e7a4014c */ swc1 $f4,0x14c($sp)
/* f07cf18: e7a60150 */ swc1 $f6,0x150($sp)
/* f07cf1c: 1000004a */ b .L0f07d048
/* f07cf20: e7a80154 */ swc1 $f8,0x154($sp)
.L0f07cf24:
/* f07cf24: 8faf015c */ lw $t7,0x15c($sp)
/* f07cf28: 24080010 */ addiu $t0,$zero,0x10
/* f07cf2c: afa80010 */ sw $t0,0x10($sp)
/* f07cf30: 27a6014c */ addiu $a2,$sp,0x14c
/* f07cf34: 24070133 */ addiu $a3,$zero,0x133
/* f07cf38: 25e40008 */ addiu $a0,$t7,0x8
/* f07cf3c: 0c00b6e6 */ jal cd0002db98
/* f07cf40: 25e50028 */ addiu $a1,$t7,0x28
/* f07cf44: 14400040 */ bnez $v0,.L0f07d048
/* f07cf48: 24050002 */ addiu $a1,$zero,0x2
/* f07cf4c: 92690097 */ lbu $t1,0x97($s3)
/* f07cf50: 51200013 */ beqzl $t1,.L0f07cfa0
/* f07cf54: 8fa3008c */ lw $v1,0x8c($sp)
/* f07cf58: 8e620088 */ lw $v0,0x88($s3)
/* f07cf5c: 8faa008c */ lw $t2,0x8c($sp)
/* f07cf60: 944c0006 */ lhu $t4,0x6($v0)
/* f07cf64: 254b0001 */ addiu $t3,$t2,0x1
/* f07cf68: 016c001a */ div $zero,$t3,$t4
/* f07cf6c: 00001810 */ mfhi $v1
/* f07cf70: 15800002 */ bnez $t4,.L0f07cf7c
/* f07cf74: 00000000 */ nop
/* f07cf78: 0007000d */ break 0x7
.L0f07cf7c:
/* f07cf7c: 2401ffff */ addiu $at,$zero,-1
/* f07cf80: 15810004 */ bne $t4,$at,.L0f07cf94
/* f07cf84: 3c018000 */ lui $at,0x8000
/* f07cf88: 15610002 */ bne $t3,$at,.L0f07cf94
/* f07cf8c: 00000000 */ nop
/* f07cf90: 0006000d */ break 0x6
.L0f07cf94:
/* f07cf94: 10000004 */ b .L0f07cfa8
/* f07cf98: 8c580000 */ lw $t8,0x0($v0)
/* f07cf9c: 8fa3008c */ lw $v1,0x8c($sp)
.L0f07cfa0:
/* f07cfa0: 8e620088 */ lw $v0,0x88($s3)
/* f07cfa4: 8c580000 */ lw $t8,0x0($v0)
.L0f07cfa8:
/* f07cfa8: 00036880 */ sll $t5,$v1,0x2
/* f07cfac: 02a03025 */ or $a2,$s5,$zero
/* f07cfb0: 030d7021 */ addu $t6,$t8,$t5
/* f07cfb4: 0fc456ac */ jal padUnpack
/* f07cfb8: 8dc40000 */ lw $a0,0x0($t6)
/* f07cfbc: c7a000f0 */ lwc1 $f0,0xf0($sp)
/* f07cfc0: c7aa00ec */ lwc1 $f10,0xec($sp)
/* f07cfc4: c7b0014c */ lwc1 $f16,0x14c($sp)
/* f07cfc8: 46160000 */ add.s $f0,$f0,$f22
/* f07cfcc: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07cfd0: c7a800f4 */ lwc1 $f8,0xf4($sp)
/* f07cfd4: 46105481 */ sub.s $f18,$f10,$f16
/* f07cfd8: c7aa0154 */ lwc1 $f10,0x154($sp)
/* f07cfdc: e7a000f0 */ swc1 $f0,0xf0($sp)
/* f07cfe0: 46040181 */ sub.s $f6,$f0,$f4
/* f07cfe4: e7b20078 */ swc1 $f18,0x78($sp)
/* f07cfe8: 27a40078 */ addiu $a0,$sp,0x78
/* f07cfec: 460a4401 */ sub.s $f16,$f8,$f10
/* f07cff0: e7a6007c */ swc1 $f6,0x7c($sp)
/* f07cff4: 27a5007c */ addiu $a1,$sp,0x7c
/* f07cff8: 27a60080 */ addiu $a2,$sp,0x80
/* f07cffc: 0c0011e4 */ jal guNormalize
/* f07d000: e7b00080 */ swc1 $f16,0x80($sp)
/* f07d004: 3c0143c8 */ lui $at,0x43c8
/* f07d008: 44810000 */ mtc1 $at,$f0
/* f07d00c: c7a40078 */ lwc1 $f4,0x78($sp)
/* f07d010: c7b2014c */ lwc1 $f18,0x14c($sp)
/* f07d014: c7b0007c */ lwc1 $f16,0x7c($sp)
/* f07d018: 46002182 */ mul.s $f6,$f4,$f0
/* f07d01c: c7aa0150 */ lwc1 $f10,0x150($sp)
/* f07d020: 46008102 */ mul.s $f4,$f16,$f0
/* f07d024: 46069200 */ add.s $f8,$f18,$f6
/* f07d028: c7a60154 */ lwc1 $f6,0x154($sp)
/* f07d02c: 46045480 */ add.s $f18,$f10,$f4
/* f07d030: e7a8014c */ swc1 $f8,0x14c($sp)
/* f07d034: c7a80080 */ lwc1 $f8,0x80($sp)
/* f07d038: e7b20150 */ swc1 $f18,0x150($sp)
/* f07d03c: 46004402 */ mul.s $f16,$f8,$f0
/* f07d040: 46103280 */ add.s $f10,$f6,$f16
/* f07d044: e7aa0154 */ swc1 $f10,0x154($sp)
.L0f07d048:
/* f07d048: 4480a000 */ mtc1 $zero,$f20
/* f07d04c: 27a4014c */ addiu $a0,$sp,0x14c
/* f07d050: 0fc12565 */ jal coordGetSquaredDistanceToCoord
/* f07d054: 8fa5005c */ lw $a1,0x5c($sp)
/* f07d058: 3c017f1b */ lui $at,%hi(var7f1aa6a8)
/* f07d05c: c424a6a8 */ lwc1 $f4,%lo(var7f1aa6a8)($at)
/* f07d060: 8fb90170 */ lw $t9,0x170($sp)
/* f07d064: 4604003c */ c.lt.s $f0,$f4
/* f07d068: 00000000 */ nop
/* f07d06c: 45020007 */ bc1fl .L0f07d08c
/* f07d070: c7b2014c */ lwc1 $f18,0x14c($sp)
/* f07d074: e67400a4 */ swc1 $f20,0xa4($s3)
/* f07d078: e7b40140 */ swc1 $f20,0x140($sp)
/* f07d07c: e7b40144 */ swc1 $f20,0x144($sp)
/* f07d080: 10000021 */ b .L0f07d108
/* f07d084: e7b40148 */ swc1 $f20,0x148($sp)
/* f07d088: c7b2014c */ lwc1 $f18,0x14c($sp)
.L0f07d08c:
/* f07d08c: c7280008 */ lwc1 $f8,0x8($t9)
/* f07d090: c7b00150 */ lwc1 $f16,0x150($sp)
/* f07d094: 27a40140 */ addiu $a0,$sp,0x140
/* f07d098: 46089181 */ sub.s $f6,$f18,$f8
/* f07d09c: c7b20154 */ lwc1 $f18,0x154($sp)
/* f07d0a0: 27a50144 */ addiu $a1,$sp,0x144
/* f07d0a4: 27a60148 */ addiu $a2,$sp,0x148
/* f07d0a8: e7a60140 */ swc1 $f6,0x140($sp)
/* f07d0ac: c72a000c */ lwc1 $f10,0xc($t9)
/* f07d0b0: 460a8101 */ sub.s $f4,$f16,$f10
/* f07d0b4: e7a40144 */ swc1 $f4,0x144($sp)
/* f07d0b8: c7280010 */ lwc1 $f8,0x10($t9)
/* f07d0bc: 46089181 */ sub.s $f6,$f18,$f8
/* f07d0c0: 0c0011e4 */ jal guNormalize
/* f07d0c4: e7a60148 */ swc1 $f6,0x148($sp)
/* f07d0c8: c7b00140 */ lwc1 $f16,0x140($sp)
/* f07d0cc: c66a00a8 */ lwc1 $f10,0xa8($s3)
/* f07d0d0: c7b20144 */ lwc1 $f18,0x144($sp)
/* f07d0d4: c66800ac */ lwc1 $f8,0xac($s3)
/* f07d0d8: 460a8102 */ mul.s $f4,$f16,$f10
/* f07d0dc: c7aa0148 */ lwc1 $f10,0x148($sp)
/* f07d0e0: 46089182 */ mul.s $f6,$f18,$f8
/* f07d0e4: c67200b0 */ lwc1 $f18,0xb0($s3)
/* f07d0e8: 46125202 */ mul.s $f8,$f10,$f18
/* f07d0ec: 46062400 */ add.s $f16,$f4,$f6
/* f07d0f0: 46104100 */ add.s $f4,$f8,$f16
/* f07d0f4: 4614203c */ c.lt.s $f4,$f20
/* f07d0f8: 00000000 */ nop
/* f07d0fc: 45020003 */ bc1fl .L0f07d10c
/* f07d100: 8fa20170 */ lw $v0,0x170($sp)
/* f07d104: e67400a4 */ swc1 $f20,0xa4($s3)
.L0f07d108:
/* f07d108: 8fa20170 */ lw $v0,0x170($sp)
.L0f07d10c:
/* f07d10c: 8fa3015c */ lw $v1,0x15c($sp)
/* f07d110: c44a0008 */ lwc1 $f10,0x8($v0)
/* f07d114: c4480010 */ lwc1 $f8,0x10($v0)
/* f07d118: c4660008 */ lwc1 $f6,0x8($v1)
/* f07d11c: c4720010 */ lwc1 $f18,0x10($v1)
/* f07d120: 460a3301 */ sub.s $f12,$f6,$f10
/* f07d124: 0fc259d4 */ jal atan2f
/* f07d128: 46089381 */ sub.s $f14,$f18,$f8
/* f07d12c: 8fa2015c */ lw $v0,0x15c($sp)
/* f07d130: 8fa30170 */ lw $v1,0x170($sp)
/* f07d134: 46000506 */ mov.s $f20,$f0
/* f07d138: c4500008 */ lwc1 $f16,0x8($v0)
/* f07d13c: c4640008 */ lwc1 $f4,0x8($v1)
/* f07d140: c4460010 */ lwc1 $f6,0x10($v0)
/* f07d144: c46a0010 */ lwc1 $f10,0x10($v1)
/* f07d148: 46048081 */ sub.s $f2,$f16,$f4
/* f07d14c: 460a3381 */ sub.s $f14,$f6,$f10
/* f07d150: 46021482 */ mul.s $f18,$f2,$f2
/* f07d154: 00000000 */ nop
/* f07d158: 460e7202 */ mul.s $f8,$f14,$f14
/* f07d15c: 0c012974 */ jal sqrtf
/* f07d160: 46089300 */ add.s $f12,$f18,$f8
/* f07d164: 8faf015c */ lw $t7,0x15c($sp)
/* f07d168: 8fa80170 */ lw $t0,0x170($sp)
/* f07d16c: 46000386 */ mov.s $f14,$f0
/* f07d170: c5f0000c */ lwc1 $f16,0xc($t7)
/* f07d174: c504000c */ lwc1 $f4,0xc($t0)
/* f07d178: 0fc259d4 */ jal atan2f
/* f07d17c: 46048301 */ sub.s $f12,$f16,$f4
/* f07d180: 8e6300bc */ lw $v1,0xbc($s3)
/* f07d184: 46000086 */ mov.s $f2,$f0
/* f07d188: 8fa40170 */ lw $a0,0x170($sp)
/* f07d18c: 0003482b */ sltu $t1,$zero,$v1
/* f07d190: 11200004 */ beqz $t1,.L0f07d1a4
/* f07d194: 01201825 */ or $v1,$t1,$zero
/* f07d198: 86630090 */ lh $v1,0x90($s3)
/* f07d19c: 0003502b */ sltu $t2,$zero,$v1
/* f07d1a0: 01401825 */ or $v1,$t2,$zero
.L0f07d1a4:
/* f07d1a4: 4405a000 */ mfc1 $a1,$f20
/* f07d1a8: 44061000 */ mfc1 $a2,$f2
/* f07d1ac: 27a70140 */ addiu $a3,$sp,0x140
/* f07d1b0: 0fc1ee8e */ jal func0f07ba38
/* f07d1b4: afa30010 */ sw $v1,0x10($sp)
/* f07d1b8: 8fbf0044 */ lw $ra,0x44($sp)
/* f07d1bc: d7b40018 */ ldc1 $f20,0x18($sp)
/* f07d1c0: d7b60020 */ ldc1 $f22,0x20($sp)
/* f07d1c4: 8fb0002c */ lw $s0,0x2c($sp)
/* f07d1c8: 8fb10030 */ lw $s1,0x30($sp)
/* f07d1cc: 8fb20034 */ lw $s2,0x34($sp)
/* f07d1d0: 8fb30038 */ lw $s3,0x38($sp)
/* f07d1d4: 8fb4003c */ lw $s4,0x3c($sp)
/* f07d1d8: 8fb50040 */ lw $s5,0x40($sp)
/* f07d1dc: 03e00008 */ jr $ra
/* f07d1e0: 27bd0170 */ addiu $sp,$sp,0x170
);
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel hovercarTick
.late_rodata
glabel var7f1aa6ac
.word 0x471c4000
glabel var7f1aa6b0
.word 0x47148900
glabel var7f1aa6b4
.word 0x3d2aaaab
glabel var7f1aa6b8
.word 0x3dcccccd
glabel var7f1aa6bc
.word 0x3d2aaaab
glabel var7f1aa6c0
.word 0x3e555555
glabel var7f1aa6c4
.word 0x39893c87
glabel var7f1aa6c8
.word 0x3c80a8be
glabel var7f1aa6cc
.word 0x39893c87
glabel var7f1aa6d0
.word 0x3c80a8be
glabel var7f1aa6d4
.word 0x39893c87
glabel var7f1aa6d8
.word 0x3dcccccd
glabel var7f1aa6dc
.word 0x40c907a9
glabel var7f1aa6e0
.word 0x40c907a9
glabel var7f1aa6e4
.word 0xc7c35000
.text
/* f07d1e4: 27bdfd88 */ addiu $sp,$sp,-632
/* f07d1e8: afbf004c */ sw $ra,0x4c($sp)
/* f07d1ec: afb00048 */ sw $s0,0x48($sp)
/* f07d1f0: afa40278 */ sw $a0,0x278($sp)
/* f07d1f4: 8c900004 */ lw $s0,0x4($a0)
/* f07d1f8: 3c018000 */ lui $at,0x8000
/* f07d1fc: c604007c */ lwc1 $f4,0x7c($s0)
/* f07d200: e7a40200 */ swc1 $f4,0x200($sp)
/* f07d204: c6060080 */ lwc1 $f6,0x80($s0)
/* f07d208: e7a601fc */ swc1 $f6,0x1fc($sp)
/* f07d20c: 8e020008 */ lw $v0,0x8($s0)
/* f07d210: 00417824 */ and $t7,$v0,$at
/* f07d214: 11e00005 */ beqz $t7,.L0f07d22c
/* f07d218: 01e01025 */ or $v0,$t7,$zero
/* f07d21c: 3c0140a0 */ lui $at,0x40a0
/* f07d220: 44814000 */ mtc1 $at,$f8
/* f07d224: 10000005 */ b .L0f07d23c
/* f07d228: e7a801f4 */ swc1 $f8,0x1f4($sp)
.L0f07d22c:
/* f07d22c: 3c014120 */ lui $at,0x4120
/* f07d230: 44815000 */ mtc1 $at,$f10
/* f07d234: 00000000 */ nop
/* f07d238: e7aa01f4 */ swc1 $f10,0x1f4($sp)
.L0f07d23c:
/* f07d23c: 10400038 */ beqz $v0,.L0f07d320
/* f07d240: afa001f0 */ sw $zero,0x1f0($sp)
/* f07d244: 86180094 */ lh $t8,0x94($s0)
/* f07d248: 07030036 */ bgezl $t8,.L0f07d324
/* f07d24c: 860f0092 */ lh $t7,0x92($s0)
/* f07d250: 0fc1a2aa */ jal modelFindBboxRodata
/* f07d254: 8e040018 */ lw $a0,0x18($s0)
/* f07d258: 0fc199ef */ jal modelBboxGetYMin
/* f07d25c: 00402025 */ or $a0,$v0,$zero
/* f07d260: 8fa40278 */ lw $a0,0x278($sp)
/* f07d264: 24050001 */ addiu $a1,$zero,0x1
/* f07d268: 3406ffff */ dli $a2,0xffff
/* f07d26c: 84990028 */ lh $t9,0x28($a0)
/* f07d270: a7b901d6 */ sh $t9,0x1d6($sp)
/* f07d274: c6040028 */ lwc1 $f4,0x28($s0)
/* f07d278: e7a401d8 */ swc1 $f4,0x1d8($sp)
/* f07d27c: c606002c */ lwc1 $f6,0x2c($s0)
/* f07d280: e7a601dc */ swc1 $f6,0x1dc($sp)
/* f07d284: c6080030 */ lwc1 $f8,0x30($s0)
/* f07d288: e7a801e0 */ swc1 $f8,0x1e0($sp)
/* f07d28c: c60a0028 */ lwc1 $f10,0x28($s0)
/* f07d290: c4860008 */ lwc1 $f6,0x8($a0)
/* f07d294: 46005102 */ mul.s $f4,$f10,$f0
/* f07d298: 46062200 */ add.s $f8,$f4,$f6
/* f07d29c: e7a801e4 */ swc1 $f8,0x1e4($sp)
/* f07d2a0: c60a002c */ lwc1 $f10,0x2c($s0)
/* f07d2a4: c486000c */ lwc1 $f6,0xc($a0)
/* f07d2a8: 46005102 */ mul.s $f4,$f10,$f0
/* f07d2ac: 46062200 */ add.s $f8,$f4,$f6
/* f07d2b0: e7a801e8 */ swc1 $f8,0x1e8($sp)
/* f07d2b4: c60a0030 */ lwc1 $f10,0x30($s0)
/* f07d2b8: c4860010 */ lwc1 $f6,0x10($a0)
/* f07d2bc: 46005102 */ mul.s $f4,$f10,$f0
/* f07d2c0: 46062200 */ add.s $f8,$f4,$f6
/* f07d2c4: 0fc249af */ jal func0f0926bc
/* f07d2c8: e7a801ec */ swc1 $f8,0x1ec($sp)
/* f07d2cc: 8fa20278 */ lw $v0,0x278($sp)
/* f07d2d0: 3c08800a */ lui $t0,%hi(g_Vars+0x28c)
/* f07d2d4: 8d08a24c */ lw $t0,%lo(g_Vars+0x28c)($t0)
/* f07d2d8: 87ab01d6 */ lh $t3,0x1d6($sp)
/* f07d2dc: 24090001 */ addiu $t1,$zero,0x1
/* f07d2e0: 27aa01e4 */ addiu $t2,$sp,0x1e4
/* f07d2e4: 27ac01d8 */ addiu $t4,$sp,0x1d8
/* f07d2e8: afac0020 */ sw $t4,0x20($sp)
/* f07d2ec: afaa0018 */ sw $t2,0x18($sp)
/* f07d2f0: afa90014 */ sw $t1,0x14($sp)
/* f07d2f4: 00002025 */ or $a0,$zero,$zero
/* f07d2f8: 24070007 */ addiu $a3,$zero,0x7
/* f07d2fc: 24450008 */ addiu $a1,$v0,0x8
/* f07d300: 24460028 */ addiu $a2,$v0,0x28
/* f07d304: afa80010 */ sw $t0,0x10($sp)
/* f07d308: 0fc4a7d5 */ jal explosionCreate
/* f07d30c: afab001c */ sw $t3,0x1c($sp)
/* f07d310: 8e0d0040 */ lw $t5,0x40($s0)
/* f07d314: 35ae0004 */ ori $t6,$t5,0x4
/* f07d318: 10000311 */ b .L0f07df60
/* f07d31c: ae0e0040 */ sw $t6,0x40($s0)
.L0f07d320:
/* f07d320: 860f0092 */ lh $t7,0x92($s0)
.L0f07d324:
/* f07d324: 02002025 */ or $a0,$s0,$zero
/* f07d328: 24050001 */ addiu $a1,$zero,0x1
/* f07d32c: 11e00063 */ beqz $t7,.L0f07d4bc
/* f07d330: 00000000 */ nop
/* f07d334: 1040002c */ beqz $v0,.L0f07d3e8
/* f07d338: 3c02800a */ lui $v0,%hi(g_Vars)
/* f07d33c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f07d340: 8c590038 */ lw $t9,0x38($v0)
/* f07d344: 86180094 */ lh $t8,0x94($s0)
/* f07d348: 86090096 */ lh $t1,0x96($s0)
/* f07d34c: 3c01bf80 */ lui $at,0xbf80
/* f07d350: 03194023 */ subu $t0,$t8,$t9
/* f07d354: a6080094 */ sh $t0,0x94($s0)
/* f07d358: 8c4a0038 */ lw $t2,0x38($v0)
/* f07d35c: 240d0032 */ addiu $t5,$zero,0x29
/* f07d360: 00002025 */ or $a0,$zero,$zero
/* f07d364: 012a5823 */ subu $t3,$t1,$t2
/* f07d368: a60b0096 */ sh $t3,0x96($s0)
/* f07d36c: 860c0096 */ lh $t4,0x96($s0)
/* f07d370: 24060064 */ addiu $a2,$zero,0x64
/* f07d374: 2407ffff */ addiu $a3,$zero,-1
/* f07d378: 058102f9 */ bgez $t4,.L0f07df60
/* f07d37c: 240effff */ addiu $t6,$zero,-1
/* f07d380: a60d0096 */ sh $t5,0x96($s0)
/* f07d384: 44810000 */ mtc1 $at,$f0
/* f07d388: 240f0400 */ addiu $t7,$zero,0x400
/* f07d38c: 2418ffff */ addiu $t8,$zero,-1
/* f07d390: afb8002c */ sw $t8,0x2c($sp)
/* f07d394: afaf0014 */ sw $t7,0x14($sp)
/* f07d398: afa00028 */ sw $zero,0x28($sp)
/* f07d39c: afa00020 */ sw $zero,0x20($sp)
/* f07d3a0: afa0001c */ sw $zero,0x1c($sp)
/* f07d3a4: afa00018 */ sw $zero,0x18($sp)
/* f07d3a8: afae0010 */ sw $t6,0x10($sp)
/* f07d3ac: 8fa50278 */ lw $a1,0x278($sp)
/* f07d3b0: e7a00024 */ swc1 $f0,0x24($sp)
/* f07d3b4: e7a00030 */ swc1 $f0,0x30($sp)
/* f07d3b8: e7a00034 */ swc1 $f0,0x34($sp)
/* f07d3bc: 0fc24e7e */ jal func0f0939f8
/* f07d3c0: e7a00038 */ swc1 $f0,0x38($sp)
/* f07d3c4: 8fa50278 */ lw $a1,0x278($sp)
/* f07d3c8: 00003825 */ or $a3,$zero,$zero
/* f07d3cc: 84a40028 */ lh $a0,0x28($a1)
/* f07d3d0: afa00014 */ sw $zero,0x14($sp)
/* f07d3d4: afa00010 */ sw $zero,0x10($sp)
/* f07d3d8: 0fc4be7c */ jal sparksCreate
/* f07d3dc: 24a60008 */ addiu $a2,$a1,0x8
/* f07d3e0: 100002e0 */ b .L0f07df64
/* f07d3e4: 8fbf004c */ lw $ra,0x4c($sp)
.L0f07d3e8:
/* f07d3e8: 44805000 */ mtc1 $zero,$f10
/* f07d3ec: c604006c */ lwc1 $f4,0x6c($s0)
/* f07d3f0: 3c0140c0 */ lui $at,0x40c0
/* f07d3f4: 46045032 */ c.eq.s $f10,$f4
/* f07d3f8: 00000000 */ nop
/* f07d3fc: 450202d9 */ bc1fl .L0f07df64
/* f07d400: 8fbf004c */ lw $ra,0x4c($sp)
/* f07d404: c6060064 */ lwc1 $f6,0x64($s0)
/* f07d408: 44814000 */ mtc1 $at,$f8
/* f07d40c: 3c013f80 */ lui $at,0x3f80
/* f07d410: 46083280 */ add.s $f10,$f6,$f8
/* f07d414: e60a0064 */ swc1 $f10,0x64($s0)
/* f07d418: 8fb90278 */ lw $t9,0x278($sp)
/* f07d41c: c7240008 */ lwc1 $f4,0x8($t9)
/* f07d420: e7a401c0 */ swc1 $f4,0x1c0($sp)
/* f07d424: c6080064 */ lwc1 $f8,0x64($s0)
/* f07d428: c726000c */ lwc1 $f6,0xc($t9)
/* f07d42c: 46083281 */ sub.s $f10,$f6,$f8
/* f07d430: e7aa01c4 */ swc1 $f10,0x1c4($sp)
/* f07d434: c7240010 */ lwc1 $f4,0x10($t9)
/* f07d438: e7a401c8 */ swc1 $f4,0x1c8($sp)
/* f07d43c: c6020068 */ lwc1 $f2,0x68($s0)
/* f07d440: 4602503c */ c.lt.s $f10,$f2
/* f07d444: 00000000 */ nop
/* f07d448: 45020005 */ bc1fl .L0f07d460
/* f07d44c: 8fa80278 */ lw $t0,0x278($sp)
/* f07d450: 44813000 */ mtc1 $at,$f6
/* f07d454: e7a201c4 */ swc1 $f2,0x1c4($sp)
/* f07d458: e606006c */ swc1 $f6,0x6c($s0)
/* f07d45c: 8fa80278 */ lw $t0,0x278($sp)
.L0f07d460:
/* f07d460: 27a601c0 */ addiu $a2,$sp,0x1c0
/* f07d464: 27a701b0 */ addiu $a3,$sp,0x1b0
/* f07d468: 25050028 */ addiu $a1,$t0,0x28
/* f07d46c: afa50054 */ sw $a1,0x54($sp)
/* f07d470: 0fc1979d */ jal func0f065e74
/* f07d474: 25040008 */ addiu $a0,$t0,0x8
/* f07d478: 8fa40278 */ lw $a0,0x278($sp)
/* f07d47c: c7a801c0 */ lwc1 $f8,0x1c0($sp)
/* f07d480: e4880008 */ swc1 $f8,0x8($a0)
/* f07d484: c7a401c4 */ lwc1 $f4,0x1c4($sp)
/* f07d488: e484000c */ swc1 $f4,0xc($a0)
/* f07d48c: c7aa01c8 */ lwc1 $f10,0x1c8($sp)
/* f07d490: 0fc19711 */ jal propDeregisterRooms
/* f07d494: e48a0010 */ swc1 $f10,0x10($a0)
/* f07d498: 27a401b0 */ addiu $a0,$sp,0x1b0
/* f07d49c: 0fc195e9 */ jal roomsCopy
/* f07d4a0: 8fa50054 */ lw $a1,0x54($sp)
/* f07d4a4: 02002025 */ or $a0,$s0,$zero
/* f07d4a8: 00002825 */ or $a1,$zero,$zero
/* f07d4ac: 0fc1a71c */ jal func0f069c70
/* f07d4b0: 24060001 */ addiu $a2,$zero,0x1
/* f07d4b4: 100002ab */ b .L0f07df64
/* f07d4b8: 8fbf004c */ lw $ra,0x4c($sp)
.L0f07d4bc:
/* f07d4bc: 0fc135ad */ jal chraiExecute
/* f07d4c0: afa201f8 */ sw $v0,0x1f8($sp)
/* f07d4c4: afa00274 */ sw $zero,0x274($sp)
/* f07d4c8: 8e020088 */ lw $v0,0x88($s0)
/* f07d4cc: 24050042 */ addiu $a1,$zero,0x42
/* f07d4d0: 5040009f */ beqzl $v0,.L0f07d750
/* f07d4d4: 8e090008 */ lw $t1,0x8($s0)
/* f07d4d8: 8e0a008c */ lw $t2,0x8c($s0)
/* f07d4dc: 8c490000 */ lw $t1,0x0($v0)
/* f07d4e0: 27a60220 */ addiu $a2,$sp,0x220
/* f07d4e4: 000a5880 */ sll $t3,$t2,0x2
/* f07d4e8: 012b1821 */ addu $v1,$t1,$t3
/* f07d4ec: 0fc456ac */ jal padUnpack
/* f07d4f0: 8c640000 */ lw $a0,0x0($v1)
/* f07d4f4: 8fac01f8 */ lw $t4,0x1f8($sp)
/* f07d4f8: c7a60220 */ lwc1 $f6,0x220($sp)
/* f07d4fc: c7aa0224 */ lwc1 $f10,0x224($sp)
/* f07d500: 11800011 */ beqz $t4,.L0f07d548
/* f07d504: e7a60214 */ swc1 $f6,0x214($sp)
/* f07d508: 8fad0268 */ lw $t5,0x268($sp)
/* f07d50c: 240effff */ addiu $t6,$zero,-1
/* f07d510: a7ae0212 */ sh $t6,0x212($sp)
/* f07d514: 27a40220 */ addiu $a0,$sp,0x220
/* f07d518: 3c0540a0 */ lui $a1,0x40a0
/* f07d51c: 27a60210 */ addiu $a2,$sp,0x210
/* f07d520: 00003825 */ or $a3,$zero,$zero
/* f07d524: afa00010 */ sw $zero,0x10($sp)
/* f07d528: 0c00a8cc */ jal cdFindGroundYSimple
/* f07d52c: a7ad0210 */ sh $t5,0x210($sp)
/* f07d530: 3c01420c */ lui $at,0x420c
/* f07d534: 44814000 */ mtc1 $at,$f8
/* f07d538: 00000000 */ nop
/* f07d53c: 46080100 */ add.s $f4,$f0,$f8
/* f07d540: 10000002 */ b .L0f07d54c
/* f07d544: e7a40218 */ swc1 $f4,0x218($sp)
.L0f07d548:
/* f07d548: e7aa0218 */ swc1 $f10,0x218($sp)
.L0f07d54c:
/* f07d54c: c7a60228 */ lwc1 $f6,0x228($sp)
/* f07d550: 8fa40278 */ lw $a0,0x278($sp)
/* f07d554: 27a60214 */ addiu $a2,$sp,0x214
/* f07d558: e7a6021c */ swc1 $f6,0x21c($sp)
/* f07d55c: 8e0f0008 */ lw $t7,0x8($s0)
/* f07d560: 24840008 */ addiu $a0,$a0,0x8
/* f07d564: 00802825 */ or $a1,$a0,$zero
/* f07d568: 000fc080 */ sll $t8,$t7,0x2
/* f07d56c: 07030011 */ bgezl $t8,.L0f07d5b4
/* f07d570: 8fa20278 */ lw $v0,0x278($sp)
/* f07d574: 0fc111b8 */ jal posIsArrivingLaterallyAtPos
/* f07d578: 8fa701f4 */ lw $a3,0x1f4($sp)
/* f07d57c: 5040000d */ beqzl $v0,.L0f07d5b4
/* f07d580: 8fa20278 */ lw $v0,0x278($sp)
/* f07d584: 0fc1c9dd */ jal hovercarIncrementStep
/* f07d588: 02002025 */ or $a0,$s0,$zero
/* f07d58c: 8e190088 */ lw $t9,0x88($s0)
/* f07d590: 8e0a008c */ lw $t2,0x8c($s0)
/* f07d594: 24050002 */ addiu $a1,$zero,0x2
/* f07d598: 8f280000 */ lw $t0,0x0($t9)
/* f07d59c: 000a4880 */ sll $t1,$t2,0x2
/* f07d5a0: 27a60220 */ addiu $a2,$sp,0x220
/* f07d5a4: 01091821 */ addu $v1,$t0,$t1
/* f07d5a8: 0fc456ac */ jal padUnpack
/* f07d5ac: 8c640000 */ lw $a0,0x0($v1)
/* f07d5b0: 8fa20278 */ lw $v0,0x278($sp)
.L0f07d5b4:
/* f07d5b4: c7a80214 */ lwc1 $f8,0x214($sp)
/* f07d5b8: c7aa021c */ lwc1 $f10,0x21c($sp)
/* f07d5bc: c4440008 */ lwc1 $f4,0x8($v0)
/* f07d5c0: c4460010 */ lwc1 $f6,0x10($v0)
/* f07d5c4: 46044301 */ sub.s $f12,$f8,$f4
/* f07d5c8: 0fc259d4 */ jal atan2f
/* f07d5cc: 46065381 */ sub.s $f14,$f10,$f6
/* f07d5d0: 8fa20278 */ lw $v0,0x278($sp)
/* f07d5d4: e7a00200 */ swc1 $f0,0x200($sp)
/* f07d5d8: c7a80214 */ lwc1 $f8,0x214($sp)
/* f07d5dc: c4440008 */ lwc1 $f4,0x8($v0)
/* f07d5e0: c7aa021c */ lwc1 $f10,0x21c($sp)
/* f07d5e4: c4460010 */ lwc1 $f6,0x10($v0)
/* f07d5e8: 46044081 */ sub.s $f2,$f8,$f4
/* f07d5ec: 46065381 */ sub.s $f14,$f10,$f6
/* f07d5f0: 46021202 */ mul.s $f8,$f2,$f2
/* f07d5f4: 00000000 */ nop
/* f07d5f8: 460e7102 */ mul.s $f4,$f14,$f14
/* f07d5fc: 0c012974 */ jal sqrtf
/* f07d600: 46044300 */ add.s $f12,$f8,$f4
/* f07d604: 8fab0278 */ lw $t3,0x278($sp)
/* f07d608: c7aa0218 */ lwc1 $f10,0x218($sp)
/* f07d60c: 46000386 */ mov.s $f14,$f0
/* f07d610: c566000c */ lwc1 $f6,0xc($t3)
/* f07d614: 0fc259d4 */ jal atan2f
/* f07d618: 46065301 */ sub.s $f12,$f10,$f6
/* f07d61c: e7a001fc */ swc1 $f0,0x1fc($sp)
/* f07d620: 8e0c0008 */ lw $t4,0x8($s0)
/* f07d624: 3c01dfff */ lui $at,0xdfff
/* f07d628: c7a80200 */ lwc1 $f8,0x200($sp)
/* f07d62c: 000c6880 */ sll $t5,$t4,0x2
/* f07d630: 05a1000c */ bgez $t5,.L0f07d664
/* f07d634: 3421ffff */ ori $at,$at,0xffff
/* f07d638: 8e0e0008 */ lw $t6,0x8($s0)
/* f07d63c: e608007c */ swc1 $f8,0x7c($s0)
/* f07d640: e6000080 */ swc1 $f0,0x80($s0)
/* f07d644: 01c17824 */ and $t7,$t6,$at
/* f07d648: ae0f0008 */ sw $t7,0x8($s0)
/* f07d64c: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f07d650: 8fa30278 */ lw $v1,0x278($sp)
/* f07d654: c7a40218 */ lwc1 $f4,0x218($sp)
/* f07d658: 53000003 */ beqzl $t8,.L0f07d668
/* f07d65c: 8fb901f8 */ lw $t9,0x1f8($sp)
/* f07d660: e464000c */ swc1 $f4,0xc($v1)
.L0f07d664:
/* f07d664: 8fb901f8 */ lw $t9,0x1f8($sp)
.L0f07d668:
/* f07d668: 8fa30278 */ lw $v1,0x278($sp)
/* f07d66c: 27a60214 */ addiu $a2,$sp,0x214
/* f07d670: 13200034 */ beqz $t9,.L0f07d744
/* f07d674: 24640008 */ addiu $a0,$v1,0x8
/* f07d678: 44800000 */ mtc1 $zero,$f0
/* f07d67c: 24650028 */ addiu $a1,$v1,0x28
/* f07d680: 24075000 */ addiu $a3,$zero,0x5000
/* f07d684: afa00010 */ sw $zero,0x10($sp)
/* f07d688: e7a00014 */ swc1 $f0,0x14($sp)
/* f07d68c: 0c00b5f0 */ jal cd0002d7c0
/* f07d690: e7a00018 */ swc1 $f0,0x18($sp)
/* f07d694: 54400005 */ bnezl $v0,.L0f07d6ac
/* f07d698: 8fa301f0 */ lw $v1,0x1f0($sp)
/* f07d69c: 0c0093ac */ jal cdGetObstacle
/* f07d6a0: 00000000 */ nop
/* f07d6a4: afa201f0 */ sw $v0,0x1f0($sp)
/* f07d6a8: 8fa301f0 */ lw $v1,0x1f0($sp)
.L0f07d6ac:
/* f07d6ac: 10600025 */ beqz $v1,.L0f07d744
/* f07d6b0: 00000000 */ nop
/* f07d6b4: 8c6a0004 */ lw $t2,0x4($v1)
/* f07d6b8: 8fa60278 */ lw $a2,0x278($sp)
/* f07d6bc: 3c017f1b */ lui $at,%hi(var7f1aa6ac)
/* f07d6c0: afaa01a0 */ sw $t2,0x1a0($sp)
/* f07d6c4: c46a0008 */ lwc1 $f10,0x8($v1)
/* f07d6c8: c4c60008 */ lwc1 $f6,0x8($a2)
/* f07d6cc: c4680010 */ lwc1 $f8,0x10($v1)
/* f07d6d0: c4c40010 */ lwc1 $f4,0x10($a2)
/* f07d6d4: 46065001 */ sub.s $f0,$f10,$f6
/* f07d6d8: 01402825 */ or $a1,$t2,$zero
/* f07d6dc: 00c02025 */ or $a0,$a2,$zero
/* f07d6e0: 46044081 */ sub.s $f2,$f8,$f4
/* f07d6e4: 46000282 */ mul.s $f10,$f0,$f0
/* f07d6e8: c428a6ac */ lwc1 $f8,%lo(var7f1aa6ac)($at)
/* f07d6ec: 46021182 */ mul.s $f6,$f2,$f2
/* f07d6f0: 46065300 */ add.s $f12,$f10,$f6
/* f07d6f4: 4608603c */ c.lt.s $f12,$f8
/* f07d6f8: 00000000 */ nop
/* f07d6fc: 45000007 */ bc1f .L0f07d71c
/* f07d700: 00000000 */ nop
/* f07d704: 0fc24030 */ jal doorsChooseSwingDirection
/* f07d708: e7ac0058 */ swc1 $f12,0x58($sp)
/* f07d70c: 8fa401a0 */ lw $a0,0x1a0($sp)
/* f07d710: 0fc23922 */ jal doorsRequestMode
/* f07d714: 24050001 */ addiu $a1,$zero,0x1
/* f07d718: c7ac0058 */ lwc1 $f12,0x58($sp)
.L0f07d71c:
/* f07d71c: 3c017f1b */ lui $at,%hi(var7f1aa6b0)
/* f07d720: c424a6b0 */ lwc1 $f4,%lo(var7f1aa6b0)($at)
/* f07d724: 4604603c */ c.lt.s $f12,$f4
/* f07d728: 00000000 */ nop
/* f07d72c: 45000005 */ bc1f .L0f07d744
/* f07d730: 00000000 */ nop
/* f07d734: 0fc23959 */ jal doorIsOpen
/* f07d738: 8fa401a0 */ lw $a0,0x1a0($sp)
/* f07d73c: 2c480001 */ sltiu $t0,$v0,0x1
/* f07d740: afa80274 */ sw $t0,0x274($sp)
.L0f07d744:
/* f07d744: 1000001a */ b .L0f07d7b0
/* f07d748: 44807000 */ mtc1 $zero,$f14
/* f07d74c: 8e090008 */ lw $t1,0x8($s0)
.L0f07d750:
/* f07d750: 00095880 */ sll $t3,$t1,0x2
/* f07d754: 05630016 */ bgezl $t3,.L0f07d7b0
/* f07d758: 44807000 */ mtc1 $zero,$f14
/* f07d75c: c60c0034 */ lwc1 $f12,0x34($s0)
/* f07d760: 0fc259d4 */ jal atan2f
/* f07d764: c60e003c */ lwc1 $f14,0x3c($s0)
/* f07d768: c6020034 */ lwc1 $f2,0x34($s0)
/* f07d76c: c60e003c */ lwc1 $f14,0x3c($s0)
/* f07d770: e600007c */ swc1 $f0,0x7c($s0)
/* f07d774: 46021282 */ mul.s $f10,$f2,$f2
/* f07d778: 00000000 */ nop
/* f07d77c: 460e7182 */ mul.s $f6,$f14,$f14
/* f07d780: 0c012974 */ jal sqrtf
/* f07d784: 46065300 */ add.s $f12,$f10,$f6
/* f07d788: c60c0038 */ lwc1 $f12,0x38($s0)
/* f07d78c: 0fc259d4 */ jal atan2f
/* f07d790: 46000386 */ mov.s $f14,$f0
/* f07d794: 8e0c0008 */ lw $t4,0x8($s0)
/* f07d798: 3c01dfff */ lui $at,0xdfff
/* f07d79c: 3421ffff */ ori $at,$at,0xffff
/* f07d7a0: 01816824 */ and $t5,$t4,$at
/* f07d7a4: e6000080 */ swc1 $f0,0x80($s0)
/* f07d7a8: ae0d0008 */ sw $t5,0x8($s0)
/* f07d7ac: 44807000 */ mtc1 $zero,$f14
.L0f07d7b0:
/* f07d7b0: c60c006c */ lwc1 $f12,0x6c($s0)
/* f07d7b4: 3c02800a */ lui $v0,%hi(g_Vars)
/* f07d7b8: 8fa30278 */ lw $v1,0x278($sp)
/* f07d7bc: 460c703e */ c.le.s $f14,$f12
/* f07d7c0: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f07d7c4: 45020015 */ bc1fl .L0f07d81c
/* f07d7c8: 8fae01f8 */ lw $t6,0x1f8($sp)
/* f07d7cc: c442004c */ lwc1 $f2,0x4c($v0)
/* f07d7d0: 4602603e */ c.le.s $f12,$f2
/* f07d7d4: 00000000 */ nop
/* f07d7d8: 45020006 */ bc1fl .L0f07d7f4
/* f07d7dc: c6000064 */ lwc1 $f0,0x64($s0)
/* f07d7e0: c6080068 */ lwc1 $f8,0x68($s0)
/* f07d7e4: c60c006c */ lwc1 $f12,0x6c($s0)
/* f07d7e8: 10000008 */ b .L0f07d80c
/* f07d7ec: e6080064 */ swc1 $f8,0x64($s0)
/* f07d7f0: c6000064 */ lwc1 $f0,0x64($s0)
.L0f07d7f4:
/* f07d7f4: c6040068 */ lwc1 $f4,0x68($s0)
/* f07d7f8: 46002281 */ sub.s $f10,$f4,$f0
/* f07d7fc: 46025182 */ mul.s $f6,$f10,$f2
/* f07d800: 460c3203 */ div.s $f8,$f6,$f12
/* f07d804: 46080100 */ add.s $f4,$f0,$f8
/* f07d808: e6040064 */ swc1 $f4,0x64($s0)
.L0f07d80c:
/* f07d80c: c44a004c */ lwc1 $f10,0x4c($v0)
/* f07d810: 460a6181 */ sub.s $f6,$f12,$f10
/* f07d814: e606006c */ swc1 $f6,0x6c($s0)
/* f07d818: 8fae01f8 */ lw $t6,0x1f8($sp)
.L0f07d81c:
/* f07d81c: 3c02800a */ lui $v0,%hi(g_Vars)
/* f07d820: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f07d824: 51c00037 */ beqzl $t6,.L0f07d904
/* f07d828: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d82c: c6080070 */ lwc1 $f8,0x70($s0)
/* f07d830: 3c017f1b */ lui $at,%hi(var7f1aa6b4)
/* f07d834: 4608703c */ c.lt.s $f14,$f8
/* f07d838: 00000000 */ nop
/* f07d83c: 45020013 */ bc1fl .L0f07d88c
/* f07d840: c6000064 */ lwc1 $f0,0x64($s0)
/* f07d844: c6040068 */ lwc1 $f4,0x68($s0)
/* f07d848: c42aa6b4 */ lwc1 $f10,%lo(var7f1aa6b4)($at)
/* f07d84c: c4480044 */ lwc1 $f8,0x4c($v0)
/* f07d850: 3c017f1b */ lui $at,%hi(var7f1aa6b8)
/* f07d854: 460a2182 */ mul.s $f6,$f4,$f10
/* f07d858: c60a0064 */ lwc1 $f10,0x64($s0)
/* f07d85c: 46083102 */ mul.s $f4,$f6,$f8
/* f07d860: 46045181 */ sub.s $f6,$f10,$f4
/* f07d864: e6060064 */ swc1 $f6,0x64($s0)
/* f07d868: c6080064 */ lwc1 $f8,0x64($s0)
/* f07d86c: 460e403c */ c.lt.s $f8,$f14
/* f07d870: 00000000 */ nop
/* f07d874: 45020013 */ bc1fl .L0f07d8c4
/* f07d878: 8faf0274 */ lw $t7,0x274($sp)
/* f07d87c: c42aa6b8 */ lwc1 $f10,%lo(var7f1aa6b8)($at)
/* f07d880: 1000000f */ b .L0f07d8c0
/* f07d884: e60a0064 */ swc1 $f10,0x64($s0)
/* f07d888: c6000064 */ lwc1 $f0,0x64($s0)
.L0f07d88c:
/* f07d88c: c6020068 */ lwc1 $f2,0x68($s0)
/* f07d890: 3c017f1b */ lui $at,%hi(var7f1aa6bc)
/* f07d894: 4602003c */ c.lt.s $f0,$f2
/* f07d898: 00000000 */ nop
/* f07d89c: 45020009 */ bc1fl .L0f07d8c4
/* f07d8a0: 8faf0274 */ lw $t7,0x274($sp)
/* f07d8a4: c424a6bc */ lwc1 $f4,%lo(var7f1aa6bc)($at)
/* f07d8a8: c4480044 */ lwc1 $f8,0x4c($v0)
/* f07d8ac: 46041182 */ mul.s $f6,$f2,$f4
/* f07d8b0: 00000000 */ nop
/* f07d8b4: 46083282 */ mul.s $f10,$f6,$f8
/* f07d8b8: 460a0100 */ add.s $f4,$f0,$f10
/* f07d8bc: e6040064 */ swc1 $f4,0x64($s0)
.L0f07d8c0:
/* f07d8c0: 8faf0274 */ lw $t7,0x274($sp)
.L0f07d8c4:
/* f07d8c4: 3c017f1b */ lui $at,%hi(var7f1aa6c0)
/* f07d8c8: 51e0000e */ beqzl $t7,.L0f07d904
/* f07d8cc: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d8d0: c426a6c0 */ lwc1 $f6,%lo(var7f1aa6c0)($at)
/* f07d8d4: c4480044 */ lwc1 $f8,0x4c($v0)
/* f07d8d8: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d8dc: 46083282 */ mul.s $f10,$f6,$f8
/* f07d8e0: 460a2181 */ sub.s $f6,$f4,$f10
/* f07d8e4: e6060064 */ swc1 $f6,0x64($s0)
/* f07d8e8: c6080064 */ lwc1 $f8,0x64($s0)
/* f07d8ec: 460e403c */ c.lt.s $f8,$f14
/* f07d8f0: 00000000 */ nop
/* f07d8f4: 45020003 */ bc1fl .L0f07d904
/* f07d8f8: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d8fc: e60e0064 */ swc1 $f14,0x64($s0)
/* f07d900: c6040064 */ lwc1 $f4,0x64($s0)
.L0f07d904:
/* f07d904: 4604703c */ c.lt.s $f14,$f4
/* f07d908: 00000000 */ nop
/* f07d90c: 45020195 */ bc1fl .L0f07df64
/* f07d910: 8fbf004c */ lw $ra,0x4c($sp)
/* f07d914: c60a007c */ lwc1 $f10,0x7c($s0)
/* f07d918: 24780008 */ addiu $t8,$v1,0x8
/* f07d91c: 24790028 */ addiu $t9,$v1,0x28
/* f07d920: e7aa0190 */ swc1 $f10,0x190($sp)
/* f07d924: c6060080 */ lwc1 $f6,0x80($s0)
/* f07d928: e7a6018c */ swc1 $f6,0x18c($sp)
/* f07d92c: c6080084 */ lwc1 $f8,0x84($s0)
/* f07d930: e7a80188 */ swc1 $f8,0x188($sp)
/* f07d934: c6040070 */ lwc1 $f4,0x70($s0)
/* f07d938: e7a40184 */ swc1 $f4,0x184($sp)
/* f07d93c: c60a0074 */ lwc1 $f10,0x74($s0)
/* f07d940: e7aa0180 */ swc1 $f10,0x180($sp)
/* f07d944: c60c007c */ lwc1 $f12,0x7c($s0)
/* f07d948: afb90054 */ sw $t9,0x54($sp)
/* f07d94c: 0c0068f7 */ jal sinf
/* f07d950: afb80058 */ sw $t8,0x58($sp)
/* f07d954: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07d958: 0c0068f4 */ jal cosf
/* f07d95c: e7a00068 */ swc1 $f0,0x68($sp)
/* f07d960: c7a20068 */ lwc1 $f2,0x68($sp)
/* f07d964: 46020182 */ mul.s $f6,$f0,$f2
/* f07d968: e7a60194 */ swc1 $f6,0x194($sp)
/* f07d96c: 0c0068f7 */ jal sinf
/* f07d970: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07d974: e7a00198 */ swc1 $f0,0x198($sp)
/* f07d978: 0c0068f4 */ jal cosf
/* f07d97c: c60c007c */ lwc1 $f12,0x7c($s0)
/* f07d980: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07d984: 0c0068f4 */ jal cosf
/* f07d988: e7a00068 */ swc1 $f0,0x68($sp)
/* f07d98c: c7a20068 */ lwc1 $f2,0x68($sp)
/* f07d990: 8fa40058 */ lw $a0,0x58($sp)
/* f07d994: 27a50194 */ addiu $a1,$sp,0x194
/* f07d998: 46020202 */ mul.s $f8,$f0,$f2
/* f07d99c: 27a60214 */ addiu $a2,$sp,0x214
/* f07d9a0: 8fa701f4 */ lw $a3,0x1f4($sp)
/* f07d9a4: 0fc11171 */ jal posIsMovingTowardsPosOrStoppedInRange
/* f07d9a8: e7a8019c */ swc1 $f8,0x19c($sp)
/* f07d9ac: 50400006 */ beqzl $v0,.L0f07d9c8
/* f07d9b0: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07d9b4: c604007c */ lwc1 $f4,0x7c($s0)
/* f07d9b8: e7a40200 */ swc1 $f4,0x200($sp)
/* f07d9bc: c60a0080 */ lwc1 $f10,0x80($s0)
/* f07d9c0: e7aa01fc */ swc1 $f10,0x1fc($sp)
/* f07d9c4: 8fa201f8 */ lw $v0,0x1f8($sp)
.L0f07d9c8:
/* f07d9c8: 10400004 */ beqz $v0,.L0f07d9dc
/* f07d9cc: 3c014170 */ lui $at,0x4170
/* f07d9d0: 44818000 */ mtc1 $at,$f16
/* f07d9d4: 10000006 */ b .L0f07d9f0
/* f07d9d8: 46008386 */ mov.s $f14,$f16
.L0f07d9dc:
/* f07d9dc: 3c0140a0 */ lui $at,0x40a0
/* f07d9e0: 44817000 */ mtc1 $at,$f14
/* f07d9e4: 3c014170 */ lui $at,0x4170
/* f07d9e8: 44818000 */ mtc1 $at,$f16
/* f07d9ec: 00000000 */ nop
.L0f07d9f0:
/* f07d9f0: 50400004 */ beqzl $v0,.L0f07da04
/* f07d9f4: 3c0140a0 */ lui $at,0x40a0
/* f07d9f8: 10000004 */ b .L0f07da0c
/* f07d9fc: 46008306 */ mov.s $f12,$f16
/* f07da00: 3c0140a0 */ lui $at,0x40a0
.L0f07da04:
/* f07da04: 44816000 */ mtc1 $at,$f12
/* f07da08: 00000000 */ nop
.L0f07da0c:
/* f07da0c: 50400004 */ beqzl $v0,.L0f07da20
/* f07da10: 3c0140a0 */ lui $at,0x40a0
/* f07da14: 10000004 */ b .L0f07da28
/* f07da18: 46008086 */ mov.s $f2,$f16
/* f07da1c: 3c0140a0 */ lui $at,0x40a0
.L0f07da20:
/* f07da20: 44811000 */ mtc1 $at,$f2
/* f07da24: 00000000 */ nop
.L0f07da28:
/* f07da28: 3c017f1b */ lui $at,%hi(var7f1aa6c4)
/* f07da2c: c432a6c4 */ lwc1 $f18,%lo(var7f1aa6c4)($at)
/* f07da30: 3c017f1b */ lui $at,%hi(var7f1aa6c8)
/* f07da34: c424a6c8 */ lwc1 $f4,%lo(var7f1aa6c8)($at)
/* f07da38: 46127182 */ mul.s $f6,$f14,$f18
/* f07da3c: 27a40190 */ addiu $a0,$sp,0x190
/* f07da40: 8fa50200 */ lw $a1,0x200($sp)
/* f07da44: 46126002 */ mul.s $f0,$f12,$f18
/* f07da48: 27a60184 */ addiu $a2,$sp,0x184
/* f07da4c: 46041282 */ mul.s $f10,$f2,$f4
/* f07da50: 44073000 */ mfc1 $a3,$f6
/* f07da54: 46000200 */ add.s $f8,$f0,$f0
/* f07da58: e7aa0014 */ swc1 $f10,0x14($sp)
/* f07da5c: 0fc1b6c0 */ jal applyRotation
/* f07da60: e7a80010 */ swc1 $f8,0x10($sp)
/* f07da64: c7a60190 */ lwc1 $f6,0x190($sp)
/* f07da68: c7a80200 */ lwc1 $f8,0x200($sp)
/* f07da6c: 3c014170 */ lui $at,0x4170
/* f07da70: 44818000 */ mtc1 $at,$f16
/* f07da74: 46083032 */ c.eq.s $f6,$f8
/* f07da78: 3c017f1b */ lui $at,%hi(var7f1aa6cc)
/* f07da7c: c432a6cc */ lwc1 $f18,%lo(var7f1aa6cc)($at)
/* f07da80: 45020021 */ bc1fl .L0f07db08
/* f07da84: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07da88: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07da8c: 3c0140a0 */ lui $at,0x40a0
/* f07da90: 50400004 */ beqzl $v0,.L0f07daa4
/* f07da94: 44811000 */ mtc1 $at,$f2
/* f07da98: 10000003 */ b .L0f07daa8
/* f07da9c: 46008086 */ mov.s $f2,$f16
/* f07daa0: 44811000 */ mtc1 $at,$f2
.L0f07daa4:
/* f07daa4: 00000000 */ nop
.L0f07daa8:
/* f07daa8: 46121002 */ mul.s $f0,$f2,$f18
/* f07daac: c7ae0184 */ lwc1 $f14,0x184($sp)
/* f07dab0: 46000100 */ add.s $f4,$f0,$f0
/* f07dab4: 4604703e */ c.le.s $f14,$f4
/* f07dab8: 00000000 */ nop
/* f07dabc: 45020012 */ bc1fl .L0f07db08
/* f07dac0: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07dac4: 10400003 */ beqz $v0,.L0f07dad4
/* f07dac8: 3c0140a0 */ lui $at,0x40a0
/* f07dacc: 10000003 */ b .L0f07dadc
/* f07dad0: 46008306 */ mov.s $f12,$f16
.L0f07dad4:
/* f07dad4: 44816000 */ mtc1 $at,$f12
/* f07dad8: 00000000 */ nop
.L0f07dadc:
/* f07dadc: 46126002 */ mul.s $f0,$f12,$f18
/* f07dae0: 46000007 */ neg.s $f0,$f0
/* f07dae4: 46000280 */ add.s $f10,$f0,$f0
/* f07dae8: 460e503e */ c.le.s $f10,$f14
/* f07daec: 00000000 */ nop
/* f07daf0: 45020005 */ bc1fl .L0f07db08
/* f07daf4: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07daf8: 44807000 */ mtc1 $zero,$f14
/* f07dafc: 00000000 */ nop
/* f07db00: e7ae0184 */ swc1 $f14,0x184($sp)
/* f07db04: 8fa201f8 */ lw $v0,0x1f8($sp)
.L0f07db08:
/* f07db08: 50400004 */ beqzl $v0,.L0f07db1c
/* f07db0c: 3c0140a0 */ lui $at,0x40a0
/* f07db10: 10000004 */ b .L0f07db24
/* f07db14: 46008386 */ mov.s $f14,$f16
/* f07db18: 3c0140a0 */ lui $at,0x40a0
.L0f07db1c:
/* f07db1c: 44817000 */ mtc1 $at,$f14
/* f07db20: 00000000 */ nop
.L0f07db24:
/* f07db24: 46127182 */ mul.s $f6,$f14,$f18
/* f07db28: 50400004 */ beqzl $v0,.L0f07db3c
/* f07db2c: 3c0140a0 */ lui $at,0x40a0
/* f07db30: 10000004 */ b .L0f07db44
/* f07db34: 46008306 */ mov.s $f12,$f16
/* f07db38: 3c0140a0 */ lui $at,0x40a0
.L0f07db3c:
/* f07db3c: 44816000 */ mtc1 $at,$f12
/* f07db40: 00000000 */ nop
.L0f07db44:
/* f07db44: 46126002 */ mul.s $f0,$f12,$f18
/* f07db48: 50400004 */ beqzl $v0,.L0f07db5c
/* f07db4c: 3c0140a0 */ lui $at,0x40a0
/* f07db50: 10000004 */ b .L0f07db64
/* f07db54: 46008086 */ mov.s $f2,$f16
/* f07db58: 3c0140a0 */ lui $at,0x40a0
.L0f07db5c:
/* f07db5c: 44811000 */ mtc1 $at,$f2
/* f07db60: 00000000 */ nop
.L0f07db64:
/* f07db64: 3c017f1b */ lui $at,%hi(var7f1aa6d0)
/* f07db68: c424a6d0 */ lwc1 $f4,%lo(var7f1aa6d0)($at)
/* f07db6c: 46000200 */ add.s $f8,$f0,$f0
/* f07db70: 44073000 */ mfc1 $a3,$f6
/* f07db74: 46041282 */ mul.s $f10,$f2,$f4
/* f07db78: 27a4018c */ addiu $a0,$sp,0x18c
/* f07db7c: e7a80010 */ swc1 $f8,0x10($sp)
/* f07db80: 8fa501fc */ lw $a1,0x1fc($sp)
/* f07db84: 27a60180 */ addiu $a2,$sp,0x180
/* f07db88: 0fc1b6c0 */ jal applyRotation
/* f07db8c: e7aa0014 */ swc1 $f10,0x14($sp)
/* f07db90: c7a6018c */ lwc1 $f6,0x18c($sp)
/* f07db94: c7a801fc */ lwc1 $f8,0x1fc($sp)
/* f07db98: 3c014170 */ lui $at,0x4170
/* f07db9c: 44818000 */ mtc1 $at,$f16
/* f07dba0: 46083032 */ c.eq.s $f6,$f8
/* f07dba4: 3c017f1b */ lui $at,%hi(var7f1aa6d4)
/* f07dba8: c432a6d4 */ lwc1 $f18,%lo(var7f1aa6d4)($at)
/* f07dbac: 45020022 */ bc1fl .L0f07dc38
/* f07dbb0: 8e090008 */ lw $t1,0x8($s0)
/* f07dbb4: 8faa01f8 */ lw $t2,0x1f8($sp)
/* f07dbb8: 3c0140a0 */ lui $at,0x40a0
/* f07dbbc: 8fa801f8 */ lw $t0,0x1f8($sp)
/* f07dbc0: 51400004 */ beqzl $t2,.L0f07dbd4
/* f07dbc4: 44811000 */ mtc1 $at,$f2
/* f07dbc8: 10000003 */ b .L0f07dbd8
/* f07dbcc: 46008086 */ mov.s $f2,$f16
/* f07dbd0: 44811000 */ mtc1 $at,$f2
.L0f07dbd4:
/* f07dbd4: 00000000 */ nop
.L0f07dbd8:
/* f07dbd8: 46121002 */ mul.s $f0,$f2,$f18
/* f07dbdc: c7ae0180 */ lwc1 $f14,0x180($sp)
/* f07dbe0: 46000100 */ add.s $f4,$f0,$f0
/* f07dbe4: 4604703e */ c.le.s $f14,$f4
/* f07dbe8: 00000000 */ nop
/* f07dbec: 45020012 */ bc1fl .L0f07dc38
/* f07dbf0: 8e090008 */ lw $t1,0x8($s0)
/* f07dbf4: 11000003 */ beqz $t0,.L0f07dc04
/* f07dbf8: 3c0140a0 */ lui $at,0x40a0
/* f07dbfc: 10000003 */ b .L0f07dc0c
/* f07dc00: 46008306 */ mov.s $f12,$f16
.L0f07dc04:
/* f07dc04: 44816000 */ mtc1 $at,$f12
/* f07dc08: 00000000 */ nop
.L0f07dc0c:
/* f07dc0c: 46126002 */ mul.s $f0,$f12,$f18
/* f07dc10: 46000007 */ neg.s $f0,$f0
/* f07dc14: 46000280 */ add.s $f10,$f0,$f0
/* f07dc18: 460e503e */ c.le.s $f10,$f14
/* f07dc1c: 00000000 */ nop
/* f07dc20: 45020005 */ bc1fl .L0f07dc38
/* f07dc24: 8e090008 */ lw $t1,0x8($s0)
/* f07dc28: 44807000 */ mtc1 $zero,$f14
/* f07dc2c: 00000000 */ nop
/* f07dc30: e7ae0180 */ swc1 $f14,0x180($sp)
/* f07dc34: 8e090008 */ lw $t1,0x8($s0)
.L0f07dc38:
/* f07dc38: 44800000 */ mtc1 $zero,$f0
/* f07dc3c: 00095800 */ sll $t3,$t1,0x0
/* f07dc40: 05630004 */ bgezl $t3,.L0f07dc54
/* f07dc44: c7ae0184 */ lwc1 $f14,0x184($sp)
/* f07dc48: 1000000d */ b .L0f07dc80
/* f07dc4c: e7a00188 */ swc1 $f0,0x188($sp)
/* f07dc50: c7ae0184 */ lwc1 $f14,0x184($sp)
.L0f07dc54:
/* f07dc54: 3c0142f0 */ lui $at,0x42f0
/* f07dc58: 44814000 */ mtc1 $at,$f8
/* f07dc5c: 46007187 */ neg.s $f6,$f14
/* f07dc60: c7aa0188 */ lwc1 $f10,0x188($sp)
/* f07dc64: 46083102 */ mul.s $f4,$f6,$f8
/* f07dc68: 3c017f1b */ lui $at,%hi(var7f1aa6d8)
/* f07dc6c: c428a6d8 */ lwc1 $f8,%lo(var7f1aa6d8)($at)
/* f07dc70: 460a2181 */ sub.s $f6,$f4,$f10
/* f07dc74: 46083102 */ mul.s $f4,$f6,$f8
/* f07dc78: 46045180 */ add.s $f6,$f10,$f4
/* f07dc7c: e7a60188 */ swc1 $f6,0x188($sp)
.L0f07dc80:
/* f07dc80: 8fac01f8 */ lw $t4,0x1f8($sp)
/* f07dc84: 11800006 */ beqz $t4,.L0f07dca0
/* f07dc88: 3c017f1b */ lui $at,%hi(var7f1aa6dc)
/* f07dc8c: c428a6dc */ lwc1 $f8,%lo(var7f1aa6dc)($at)
/* f07dc90: c7aa018c */ lwc1 $f10,0x18c($sp)
/* f07dc94: 460a4101 */ sub.s $f4,$f8,$f10
/* f07dc98: 10000002 */ b .L0f07dca4
/* f07dc9c: e7a4012c */ swc1 $f4,0x12c($sp)
.L0f07dca0:
/* f07dca0: e7a0012c */ swc1 $f0,0x12c($sp)
.L0f07dca4:
/* f07dca4: c7a80188 */ lwc1 $f8,0x188($sp)
/* f07dca8: c7a60190 */ lwc1 $f6,0x190($sp)
/* f07dcac: e7a00134 */ swc1 $f0,0x134($sp)
/* f07dcb0: 4608003e */ c.le.s $f0,$f8
/* f07dcb4: e7a60130 */ swc1 $f6,0x130($sp)
/* f07dcb8: 45000006 */ bc1f .L0f07dcd4
/* f07dcbc: 00000000 */ nop
/* f07dcc0: 46004306 */ mov.s $f12,$f8
/* f07dcc4: 0c005900 */ jal mtx4LoadZRotation
/* f07dcc8: 27a5006c */ addiu $a1,$sp,0x6c
/* f07dccc: 10000008 */ b .L0f07dcf0
/* f07dcd0: 27a4012c */ addiu $a0,$sp,0x12c
.L0f07dcd4:
/* f07dcd4: 3c017f1b */ lui $at,%hi(var7f1aa6e0)
/* f07dcd8: c424a6e0 */ lwc1 $f4,%lo(var7f1aa6e0)($at)
/* f07dcdc: c7aa0188 */ lwc1 $f10,0x188($sp)
/* f07dce0: 27a5006c */ addiu $a1,$sp,0x6c
/* f07dce4: 0c005900 */ jal mtx4LoadZRotation
/* f07dce8: 46045300 */ add.s $f12,$f10,$f4
/* f07dcec: 27a4012c */ addiu $a0,$sp,0x12c
.L0f07dcf0:
/* f07dcf0: 0c005923 */ jal mtx4LoadRotation
/* f07dcf4: 27a500ac */ addiu $a1,$sp,0xac
/* f07dcf8: 8e0d0018 */ lw $t5,0x18($s0)
/* f07dcfc: 27a500ac */ addiu $a1,$sp,0xac
/* f07dd00: 0c0057c1 */ jal mtx00015f04
/* f07dd04: c5ac0014 */ lwc1 $f12,0x14($t5)
/* f07dd08: 27a400ac */ addiu $a0,$sp,0xac
/* f07dd0c: 27a5006c */ addiu $a1,$sp,0x6c
/* f07dd10: 0c005680 */ jal mtx4MultMtx4
/* f07dd14: 27a600ec */ addiu $a2,$sp,0xec
/* f07dd18: 27a400ec */ addiu $a0,$sp,0xec
/* f07dd1c: 0c005768 */ jal mtx4ToMtx3
/* f07dd20: 27a5015c */ addiu $a1,$sp,0x15c
/* f07dd24: 27a4015c */ addiu $a0,$sp,0x15c
/* f07dd28: 0c005736 */ jal mtx3Copy
/* f07dd2c: 2605001c */ addiu $a1,$s0,0x1c
/* f07dd30: 0c0068f4 */ jal cosf
/* f07dd34: c7ac018c */ lwc1 $f12,0x18c($sp)
/* f07dd38: e7a00138 */ swc1 $f0,0x138($sp)
/* f07dd3c: 0c0068f7 */ jal sinf
/* f07dd40: c7ac0190 */ lwc1 $f12,0x190($sp)
/* f07dd44: c7a60138 */ lwc1 $f6,0x138($sp)
/* f07dd48: 8fae01f8 */ lw $t6,0x1f8($sp)
/* f07dd4c: 46060202 */ mul.s $f8,$f0,$f6
/* f07dd50: 11c00005 */ beqz $t6,.L0f07dd68
/* f07dd54: e7a80194 */ swc1 $f8,0x194($sp)
/* f07dd58: 0c0068f7 */ jal sinf
/* f07dd5c: c7ac01fc */ lwc1 $f12,0x1fc($sp)
/* f07dd60: 10000004 */ b .L0f07dd74
/* f07dd64: e7a00198 */ swc1 $f0,0x198($sp)
.L0f07dd68:
/* f07dd68: 0c0068f7 */ jal sinf
/* f07dd6c: c7ac018c */ lwc1 $f12,0x18c($sp)
/* f07dd70: e7a00198 */ swc1 $f0,0x198($sp)
.L0f07dd74:
/* f07dd74: 0c0068f4 */ jal cosf
/* f07dd78: c7ac0190 */ lwc1 $f12,0x190($sp)
/* f07dd7c: c7aa0138 */ lwc1 $f10,0x138($sp)
/* f07dd80: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07dd84: c422a00c */ lwc1 $f2,%lo(g_Vars+0x4c)($at)
/* f07dd88: 460a0102 */ mul.s $f4,$f0,$f10
/* f07dd8c: c7a60194 */ lwc1 $f6,0x194($sp)
/* f07dd90: 8faf0278 */ lw $t7,0x278($sp)
/* f07dd94: 8fa40058 */ lw $a0,0x58($sp)
/* f07dd98: 8fa50054 */ lw $a1,0x54($sp)
/* f07dd9c: 27a60150 */ addiu $a2,$sp,0x150
/* f07dda0: 27a70140 */ addiu $a3,$sp,0x140
/* f07dda4: e7a4019c */ swc1 $f4,0x19c($sp)
/* f07dda8: c6080064 */ lwc1 $f8,0x64($s0)
/* f07ddac: 46024282 */ mul.s $f10,$f8,$f2
/* f07ddb0: c5e80008 */ lwc1 $f8,0x8($t7)
/* f07ddb4: 460a3102 */ mul.s $f4,$f6,$f10
/* f07ddb8: c7aa0198 */ lwc1 $f10,0x198($sp)
/* f07ddbc: 46082180 */ add.s $f6,$f4,$f8
/* f07ddc0: e7a60150 */ swc1 $f6,0x150($sp)
/* f07ddc4: c6040064 */ lwc1 $f4,0x64($s0)
/* f07ddc8: 46022202 */ mul.s $f8,$f4,$f2
/* f07ddcc: c5e4000c */ lwc1 $f4,0xc($t7)
/* f07ddd0: 46085182 */ mul.s $f6,$f10,$f8
/* f07ddd4: c7a8019c */ lwc1 $f8,0x19c($sp)
/* f07ddd8: 46043280 */ add.s $f10,$f6,$f4
/* f07dddc: e7aa0154 */ swc1 $f10,0x154($sp)
/* f07dde0: c6060064 */ lwc1 $f6,0x64($s0)
/* f07dde4: 46023102 */ mul.s $f4,$f6,$f2
/* f07dde8: c5e60010 */ lwc1 $f6,0x10($t7)
/* f07ddec: 46044282 */ mul.s $f10,$f8,$f4
/* f07ddf0: 46065200 */ add.s $f8,$f10,$f6
/* f07ddf4: 0fc1979d */ jal func0f065e74
/* f07ddf8: e7a80158 */ swc1 $f8,0x158($sp)
/* f07ddfc: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f07de00: 27a40150 */ addiu $a0,$sp,0x150
/* f07de04: 3c0540a0 */ lui $a1,0x40a0
/* f07de08: 13000017 */ beqz $t8,.L0f07de68
/* f07de0c: 27a60140 */ addiu $a2,$sp,0x140
/* f07de10: 00003825 */ or $a3,$zero,$zero
/* f07de14: 0c00a8cc */ jal cdFindGroundYSimple
/* f07de18: afa00010 */ sw $zero,0x10($sp)
/* f07de1c: 3c01420c */ lui $at,0x420c
/* f07de20: 44812000 */ mtc1 $at,$f4
/* f07de24: 3c017f1b */ lui $at,%hi(var7f1aa6e4)
/* f07de28: c42aa6e4 */ lwc1 $f10,%lo(var7f1aa6e4)($at)
/* f07de2c: 46040080 */ add.s $f2,$f0,$f4
/* f07de30: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07de34: 460a103c */ c.lt.s $f2,$f10
/* f07de38: e7a20154 */ swc1 $f2,0x154($sp)
/* f07de3c: 4502000b */ bc1fl .L0f07de6c
/* f07de40: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07de44: c6060064 */ lwc1 $f6,0x64($s0)
/* f07de48: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at)
/* f07de4c: c7aa0198 */ lwc1 $f10,0x198($sp)
/* f07de50: 8fb90278 */ lw $t9,0x278($sp)
/* f07de54: 46083102 */ mul.s $f4,$f6,$f8
/* f07de58: c728000c */ lwc1 $f8,0xc($t9)
/* f07de5c: 46045182 */ mul.s $f6,$f10,$f4
/* f07de60: 46083280 */ add.s $f10,$f6,$f8
/* f07de64: e7aa0154 */ swc1 $f10,0x154($sp)
.L0f07de68:
/* f07de68: c7a40150 */ lwc1 $f4,0x150($sp)
.L0f07de6c:
/* f07de6c: 8fa40278 */ lw $a0,0x278($sp)
/* f07de70: e4840008 */ swc1 $f4,0x8($a0)
/* f07de74: c7a60154 */ lwc1 $f6,0x154($sp)
/* f07de78: e486000c */ swc1 $f6,0xc($a0)
/* f07de7c: c7a80158 */ lwc1 $f8,0x158($sp)
/* f07de80: 0fc19711 */ jal propDeregisterRooms
/* f07de84: e4880010 */ swc1 $f8,0x10($a0)
/* f07de88: 27a40140 */ addiu $a0,$sp,0x140
/* f07de8c: 0fc195e9 */ jal roomsCopy
/* f07de90: 8fa50054 */ lw $a1,0x54($sp)
/* f07de94: c7aa0190 */ lwc1 $f10,0x190($sp)
/* f07de98: 8e020088 */ lw $v0,0x88($s0)
/* f07de9c: e60a007c */ swc1 $f10,0x7c($s0)
/* f07dea0: c7a4018c */ lwc1 $f4,0x18c($sp)
/* f07dea4: e6040080 */ swc1 $f4,0x80($s0)
/* f07dea8: c7a60188 */ lwc1 $f6,0x188($sp)
/* f07deac: e6060084 */ swc1 $f6,0x84($s0)
/* f07deb0: c7a80184 */ lwc1 $f8,0x184($sp)
/* f07deb4: e6080070 */ swc1 $f8,0x70($s0)
/* f07deb8: c7aa0180 */ lwc1 $f10,0x180($sp)
/* f07debc: 10400024 */ beqz $v0,.L0f07df50
/* f07dec0: e60a0074 */ swc1 $f10,0x74($s0)
/* f07dec4: 8e09008c */ lw $t1,0x8c($s0)
/* f07dec8: 8c480000 */ lw $t0,0x0($v0)
/* f07decc: c7a601f4 */ lwc1 $f6,0x1f4($sp)
/* f07ded0: 00095880 */ sll $t3,$t1,0x2
/* f07ded4: 010b6021 */ addu $t4,$t0,$t3
/* f07ded8: 8d8d0004 */ lw $t5,0x4($t4)
/* f07dedc: c7a401f4 */ lwc1 $f4,0x1f4($sp)
/* f07dee0: 05a20010 */ bltzl $t5,.L0f07df24
/* f07dee4: c60a0064 */ lwc1 $f10,0x64($s0)
/* f07dee8: c6040064 */ lwc1 $f4,0x64($s0)
/* f07deec: 8fa40058 */ lw $a0,0x58($sp)
/* f07def0: 27a50150 */ addiu $a1,$sp,0x150
/* f07def4: 46062202 */ mul.s $f8,$f4,$f6
/* f07def8: 27a60214 */ addiu $a2,$sp,0x214
/* f07defc: 44074000 */ mfc1 $a3,$f8
/* f07df00: 0fc111b8 */ jal posIsArrivingLaterallyAtPos
/* f07df04: 00000000 */ nop
/* f07df08: 50400012 */ beqzl $v0,.L0f07df54
/* f07df0c: 02002025 */ or $a0,$s0,$zero
/* f07df10: 0fc1c9dd */ jal hovercarIncrementStep
/* f07df14: 02002025 */ or $a0,$s0,$zero
/* f07df18: 1000000e */ b .L0f07df54
/* f07df1c: 02002025 */ or $a0,$s0,$zero
/* f07df20: c60a0064 */ lwc1 $f10,0x64($s0)
.L0f07df24:
/* f07df24: 8fa40058 */ lw $a0,0x58($sp)
/* f07df28: 27a50150 */ addiu $a1,$sp,0x150
/* f07df2c: 46045182 */ mul.s $f6,$f10,$f4
/* f07df30: 27a60214 */ addiu $a2,$sp,0x214
/* f07df34: 44073000 */ mfc1 $a3,$f6
/* f07df38: 0fc111b8 */ jal posIsArrivingLaterallyAtPos
/* f07df3c: 00000000 */ nop
/* f07df40: 50400004 */ beqzl $v0,.L0f07df54
/* f07df44: 02002025 */ or $a0,$s0,$zero
/* f07df48: 0fc1c9dd */ jal hovercarIncrementStep
/* f07df4c: 02002025 */ or $a0,$s0,$zero
.L0f07df50:
/* f07df50: 02002025 */ or $a0,$s0,$zero
.L0f07df54:
/* f07df54: 00002825 */ or $a1,$zero,$zero
/* f07df58: 0fc1a71c */ jal func0f069c70
/* f07df5c: 24060001 */ addiu $a2,$zero,0x1
.L0f07df60:
/* f07df60: 8fbf004c */ lw $ra,0x4c($sp)
.L0f07df64:
/* f07df64: 8fb00048 */ lw $s0,0x48($sp)
/* f07df68: 27bd0278 */ addiu $sp,$sp,0x278
/* f07df6c: 03e00008 */ jr $ra
/* f07df70: 00000000 */ nop
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel hovercarTick
.late_rodata
glabel var7f1aa6ac
.word 0x471c4000
glabel var7f1aa6b0
.word 0x47148900
glabel var7f1aa6b4
.word 0x3d2aaaab
glabel var7f1aa6b8
.word 0x3dcccccd
glabel var7f1aa6bc
.word 0x3d2aaaab
glabel var7f1aa6c0
.word 0x3e555555
glabel var7f1aa6c4
.word 0x3964ba35
glabel var7f1aa6c8
.word 0x3c566e92
glabel var7f1aa6cc
.word 0x3964ba35
glabel var7f1aa6d0
.word 0x3c566e92
glabel var7f1aa6d4
.word 0x3964ba35
glabel var7f1aa6d8
.word 0x3dcccccd
glabel var7f1aa6dc
.word 0x40c907a9
glabel var7f1aa6e0
.word 0x40c907a9
glabel var7f1aa6e4
.word 0xc7c35000
.text
/* f07d1e4: 27bdfd88 */ addiu $sp,$sp,-632
/* f07d1e8: afbf004c */ sw $ra,0x4c($sp)
/* f07d1ec: afb00048 */ sw $s0,0x48($sp)
/* f07d1f0: afa40278 */ sw $a0,0x278($sp)
/* f07d1f4: 8c900004 */ lw $s0,0x4($a0)
/* f07d1f8: 3c018000 */ lui $at,0x8000
/* f07d1fc: c604007c */ lwc1 $f4,0x7c($s0)
/* f07d200: e7a40200 */ swc1 $f4,0x200($sp)
/* f07d204: c6060080 */ lwc1 $f6,0x80($s0)
/* f07d208: e7a601fc */ swc1 $f6,0x1fc($sp)
/* f07d20c: 8e020008 */ lw $v0,0x8($s0)
/* f07d210: 00417824 */ and $t7,$v0,$at
/* f07d214: 11e00005 */ beqz $t7,.L0f07d22c
/* f07d218: 01e01025 */ or $v0,$t7,$zero
/* f07d21c: 3c0140a0 */ lui $at,0x40a0
/* f07d220: 44814000 */ mtc1 $at,$f8
/* f07d224: 10000005 */ b .L0f07d23c
/* f07d228: e7a801f4 */ swc1 $f8,0x1f4($sp)
.L0f07d22c:
/* f07d22c: 3c014120 */ lui $at,0x4120
/* f07d230: 44815000 */ mtc1 $at,$f10
/* f07d234: 00000000 */ nop
/* f07d238: e7aa01f4 */ swc1 $f10,0x1f4($sp)
.L0f07d23c:
/* f07d23c: 10400038 */ beqz $v0,.L0f07d320
/* f07d240: afa001f0 */ sw $zero,0x1f0($sp)
/* f07d244: 86180094 */ lh $t8,0x94($s0)
/* f07d248: 07030036 */ bgezl $t8,.L0f07d324
/* f07d24c: 860f0092 */ lh $t7,0x92($s0)
/* f07d250: 0fc1a2aa */ jal modelFindBboxRodata
/* f07d254: 8e040018 */ lw $a0,0x18($s0)
/* f07d258: 0fc199ef */ jal modelBboxGetYMin
/* f07d25c: 00402025 */ or $a0,$v0,$zero
/* f07d260: 8fa40278 */ lw $a0,0x278($sp)
/* f07d264: 24050001 */ addiu $a1,$zero,0x1
/* f07d268: 3406ffff */ dli $a2,0xffff
/* f07d26c: 84990028 */ lh $t9,0x28($a0)
/* f07d270: a7b901d6 */ sh $t9,0x1d6($sp)
/* f07d274: c6040028 */ lwc1 $f4,0x28($s0)
/* f07d278: e7a401d8 */ swc1 $f4,0x1d8($sp)
/* f07d27c: c606002c */ lwc1 $f6,0x2c($s0)
/* f07d280: e7a601dc */ swc1 $f6,0x1dc($sp)
/* f07d284: c6080030 */ lwc1 $f8,0x30($s0)
/* f07d288: e7a801e0 */ swc1 $f8,0x1e0($sp)
/* f07d28c: c60a0028 */ lwc1 $f10,0x28($s0)
/* f07d290: c4860008 */ lwc1 $f6,0x8($a0)
/* f07d294: 46005102 */ mul.s $f4,$f10,$f0
/* f07d298: 46062200 */ add.s $f8,$f4,$f6
/* f07d29c: e7a801e4 */ swc1 $f8,0x1e4($sp)
/* f07d2a0: c60a002c */ lwc1 $f10,0x2c($s0)
/* f07d2a4: c486000c */ lwc1 $f6,0xc($a0)
/* f07d2a8: 46005102 */ mul.s $f4,$f10,$f0
/* f07d2ac: 46062200 */ add.s $f8,$f4,$f6
/* f07d2b0: e7a801e8 */ swc1 $f8,0x1e8($sp)
/* f07d2b4: c60a0030 */ lwc1 $f10,0x30($s0)
/* f07d2b8: c4860010 */ lwc1 $f6,0x10($a0)
/* f07d2bc: 46005102 */ mul.s $f4,$f10,$f0
/* f07d2c0: 46062200 */ add.s $f8,$f4,$f6
/* f07d2c4: 0fc249af */ jal func0f0926bc
/* f07d2c8: e7a801ec */ swc1 $f8,0x1ec($sp)
/* f07d2cc: 8fa20278 */ lw $v0,0x278($sp)
/* f07d2d0: 3c08800a */ lui $t0,%hi(g_Vars+0x28c)
/* f07d2d4: 8d08a24c */ lw $t0,%lo(g_Vars+0x28c)($t0)
/* f07d2d8: 87ab01d6 */ lh $t3,0x1d6($sp)
/* f07d2dc: 24090001 */ addiu $t1,$zero,0x1
/* f07d2e0: 27aa01e4 */ addiu $t2,$sp,0x1e4
/* f07d2e4: 27ac01d8 */ addiu $t4,$sp,0x1d8
/* f07d2e8: afac0020 */ sw $t4,0x20($sp)
/* f07d2ec: afaa0018 */ sw $t2,0x18($sp)
/* f07d2f0: afa90014 */ sw $t1,0x14($sp)
/* f07d2f4: 00002025 */ or $a0,$zero,$zero
/* f07d2f8: 24070007 */ addiu $a3,$zero,0x7
/* f07d2fc: 24450008 */ addiu $a1,$v0,0x8
/* f07d300: 24460028 */ addiu $a2,$v0,0x28
/* f07d304: afa80010 */ sw $t0,0x10($sp)
/* f07d308: 0fc4a7d5 */ jal explosionCreate
/* f07d30c: afab001c */ sw $t3,0x1c($sp)
/* f07d310: 8e0d0040 */ lw $t5,0x40($s0)
/* f07d314: 35ae0004 */ ori $t6,$t5,0x4
/* f07d318: 10000311 */ b .L0f07df60
/* f07d31c: ae0e0040 */ sw $t6,0x40($s0)
.L0f07d320:
/* f07d320: 860f0092 */ lh $t7,0x92($s0)
.L0f07d324:
/* f07d324: 02002025 */ or $a0,$s0,$zero
/* f07d328: 24050001 */ addiu $a1,$zero,0x1
/* f07d32c: 11e00063 */ beqz $t7,.L0f07d4bc
/* f07d330: 00000000 */ nop
/* f07d334: 1040002c */ beqz $v0,.L0f07d3e8
/* f07d338: 3c02800a */ lui $v0,%hi(g_Vars)
/* f07d33c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f07d340: 8c590038 */ lw $t9,0x38($v0)
/* f07d344: 86180094 */ lh $t8,0x94($s0)
/* f07d348: 86090096 */ lh $t1,0x96($s0)
/* f07d34c: 3c01bf80 */ lui $at,0xbf80
/* f07d350: 03194023 */ subu $t0,$t8,$t9
/* f07d354: a6080094 */ sh $t0,0x94($s0)
/* f07d358: 8c4a0038 */ lw $t2,0x38($v0)
/* f07d35c: 240d0032 */ addiu $t5,$zero,0x32
/* f07d360: 00002025 */ or $a0,$zero,$zero
/* f07d364: 012a5823 */ subu $t3,$t1,$t2
/* f07d368: a60b0096 */ sh $t3,0x96($s0)
/* f07d36c: 860c0096 */ lh $t4,0x96($s0)
/* f07d370: 24060064 */ addiu $a2,$zero,0x64
/* f07d374: 2407ffff */ addiu $a3,$zero,-1
/* f07d378: 058102f9 */ bgez $t4,.L0f07df60
/* f07d37c: 240effff */ addiu $t6,$zero,-1
/* f07d380: a60d0096 */ sh $t5,0x96($s0)
/* f07d384: 44810000 */ mtc1 $at,$f0
/* f07d388: 240f0400 */ addiu $t7,$zero,0x400
/* f07d38c: 2418ffff */ addiu $t8,$zero,-1
/* f07d390: afb8002c */ sw $t8,0x2c($sp)
/* f07d394: afaf0014 */ sw $t7,0x14($sp)
/* f07d398: afa00028 */ sw $zero,0x28($sp)
/* f07d39c: afa00020 */ sw $zero,0x20($sp)
/* f07d3a0: afa0001c */ sw $zero,0x1c($sp)
/* f07d3a4: afa00018 */ sw $zero,0x18($sp)
/* f07d3a8: afae0010 */ sw $t6,0x10($sp)
/* f07d3ac: 8fa50278 */ lw $a1,0x278($sp)
/* f07d3b0: e7a00024 */ swc1 $f0,0x24($sp)
/* f07d3b4: e7a00030 */ swc1 $f0,0x30($sp)
/* f07d3b8: e7a00034 */ swc1 $f0,0x34($sp)
/* f07d3bc: 0fc24e7e */ jal func0f0939f8
/* f07d3c0: e7a00038 */ swc1 $f0,0x38($sp)
/* f07d3c4: 8fa50278 */ lw $a1,0x278($sp)
/* f07d3c8: 00003825 */ or $a3,$zero,$zero
/* f07d3cc: 84a40028 */ lh $a0,0x28($a1)
/* f07d3d0: afa00014 */ sw $zero,0x14($sp)
/* f07d3d4: afa00010 */ sw $zero,0x10($sp)
/* f07d3d8: 0fc4be7c */ jal sparksCreate
/* f07d3dc: 24a60008 */ addiu $a2,$a1,0x8
/* f07d3e0: 100002e0 */ b .L0f07df64
/* f07d3e4: 8fbf004c */ lw $ra,0x4c($sp)
.L0f07d3e8:
/* f07d3e8: 44805000 */ mtc1 $zero,$f10
/* f07d3ec: c604006c */ lwc1 $f4,0x6c($s0)
/* f07d3f0: 3c0140c0 */ lui $at,0x40c0
/* f07d3f4: 46045032 */ c.eq.s $f10,$f4
/* f07d3f8: 00000000 */ nop
/* f07d3fc: 450202d9 */ bc1fl .L0f07df64
/* f07d400: 8fbf004c */ lw $ra,0x4c($sp)
/* f07d404: c6060064 */ lwc1 $f6,0x64($s0)
/* f07d408: 44814000 */ mtc1 $at,$f8
/* f07d40c: 3c013f80 */ lui $at,0x3f80
/* f07d410: 46083280 */ add.s $f10,$f6,$f8
/* f07d414: e60a0064 */ swc1 $f10,0x64($s0)
/* f07d418: 8fb90278 */ lw $t9,0x278($sp)
/* f07d41c: c7240008 */ lwc1 $f4,0x8($t9)
/* f07d420: e7a401c0 */ swc1 $f4,0x1c0($sp)
/* f07d424: c6080064 */ lwc1 $f8,0x64($s0)
/* f07d428: c726000c */ lwc1 $f6,0xc($t9)
/* f07d42c: 46083281 */ sub.s $f10,$f6,$f8
/* f07d430: e7aa01c4 */ swc1 $f10,0x1c4($sp)
/* f07d434: c7240010 */ lwc1 $f4,0x10($t9)
/* f07d438: e7a401c8 */ swc1 $f4,0x1c8($sp)
/* f07d43c: c6020068 */ lwc1 $f2,0x68($s0)
/* f07d440: 4602503c */ c.lt.s $f10,$f2
/* f07d444: 00000000 */ nop
/* f07d448: 45020005 */ bc1fl .L0f07d460
/* f07d44c: 8fa80278 */ lw $t0,0x278($sp)
/* f07d450: 44813000 */ mtc1 $at,$f6
/* f07d454: e7a201c4 */ swc1 $f2,0x1c4($sp)
/* f07d458: e606006c */ swc1 $f6,0x6c($s0)
/* f07d45c: 8fa80278 */ lw $t0,0x278($sp)
.L0f07d460:
/* f07d460: 27a601c0 */ addiu $a2,$sp,0x1c0
/* f07d464: 27a701b0 */ addiu $a3,$sp,0x1b0
/* f07d468: 25050028 */ addiu $a1,$t0,0x28
/* f07d46c: afa50054 */ sw $a1,0x54($sp)
/* f07d470: 0fc1979d */ jal func0f065e74
/* f07d474: 25040008 */ addiu $a0,$t0,0x8
/* f07d478: 8fa40278 */ lw $a0,0x278($sp)
/* f07d47c: c7a801c0 */ lwc1 $f8,0x1c0($sp)
/* f07d480: e4880008 */ swc1 $f8,0x8($a0)
/* f07d484: c7a401c4 */ lwc1 $f4,0x1c4($sp)
/* f07d488: e484000c */ swc1 $f4,0xc($a0)
/* f07d48c: c7aa01c8 */ lwc1 $f10,0x1c8($sp)
/* f07d490: 0fc19711 */ jal propDeregisterRooms
/* f07d494: e48a0010 */ swc1 $f10,0x10($a0)
/* f07d498: 27a401b0 */ addiu $a0,$sp,0x1b0
/* f07d49c: 0fc195e9 */ jal roomsCopy
/* f07d4a0: 8fa50054 */ lw $a1,0x54($sp)
/* f07d4a4: 02002025 */ or $a0,$s0,$zero
/* f07d4a8: 00002825 */ or $a1,$zero,$zero
/* f07d4ac: 0fc1a71c */ jal func0f069c70
/* f07d4b0: 24060001 */ addiu $a2,$zero,0x1
/* f07d4b4: 100002ab */ b .L0f07df64
/* f07d4b8: 8fbf004c */ lw $ra,0x4c($sp)
.L0f07d4bc:
/* f07d4bc: 0fc135ad */ jal chraiExecute
/* f07d4c0: afa201f8 */ sw $v0,0x1f8($sp)
/* f07d4c4: afa00274 */ sw $zero,0x274($sp)
/* f07d4c8: 8e020088 */ lw $v0,0x88($s0)
/* f07d4cc: 24050042 */ addiu $a1,$zero,0x42
/* f07d4d0: 5040009f */ beqzl $v0,.L0f07d750
/* f07d4d4: 8e090008 */ lw $t1,0x8($s0)
/* f07d4d8: 8e0a008c */ lw $t2,0x8c($s0)
/* f07d4dc: 8c490000 */ lw $t1,0x0($v0)
/* f07d4e0: 27a60220 */ addiu $a2,$sp,0x220
/* f07d4e4: 000a5880 */ sll $t3,$t2,0x2
/* f07d4e8: 012b1821 */ addu $v1,$t1,$t3
/* f07d4ec: 0fc456ac */ jal padUnpack
/* f07d4f0: 8c640000 */ lw $a0,0x0($v1)
/* f07d4f4: 8fac01f8 */ lw $t4,0x1f8($sp)
/* f07d4f8: c7a60220 */ lwc1 $f6,0x220($sp)
/* f07d4fc: c7aa0224 */ lwc1 $f10,0x224($sp)
/* f07d500: 11800011 */ beqz $t4,.L0f07d548
/* f07d504: e7a60214 */ swc1 $f6,0x214($sp)
/* f07d508: 8fad0268 */ lw $t5,0x268($sp)
/* f07d50c: 240effff */ addiu $t6,$zero,-1
/* f07d510: a7ae0212 */ sh $t6,0x212($sp)
/* f07d514: 27a40220 */ addiu $a0,$sp,0x220
/* f07d518: 3c0540a0 */ lui $a1,0x40a0
/* f07d51c: 27a60210 */ addiu $a2,$sp,0x210
/* f07d520: 00003825 */ or $a3,$zero,$zero
/* f07d524: afa00010 */ sw $zero,0x10($sp)
/* f07d528: 0c00a8cc */ jal cdFindGroundYSimple
/* f07d52c: a7ad0210 */ sh $t5,0x210($sp)
/* f07d530: 3c01420c */ lui $at,0x420c
/* f07d534: 44814000 */ mtc1 $at,$f8
/* f07d538: 00000000 */ nop
/* f07d53c: 46080100 */ add.s $f4,$f0,$f8
/* f07d540: 10000002 */ b .L0f07d54c
/* f07d544: e7a40218 */ swc1 $f4,0x218($sp)
.L0f07d548:
/* f07d548: e7aa0218 */ swc1 $f10,0x218($sp)
.L0f07d54c:
/* f07d54c: c7a60228 */ lwc1 $f6,0x228($sp)
/* f07d550: 8fa40278 */ lw $a0,0x278($sp)
/* f07d554: 27a60214 */ addiu $a2,$sp,0x214
/* f07d558: e7a6021c */ swc1 $f6,0x21c($sp)
/* f07d55c: 8e0f0008 */ lw $t7,0x8($s0)
/* f07d560: 24840008 */ addiu $a0,$a0,0x8
/* f07d564: 00802825 */ or $a1,$a0,$zero
/* f07d568: 000fc080 */ sll $t8,$t7,0x2
/* f07d56c: 07030011 */ bgezl $t8,.L0f07d5b4
/* f07d570: 8fa20278 */ lw $v0,0x278($sp)
/* f07d574: 0fc111b8 */ jal posIsArrivingLaterallyAtPos
/* f07d578: 8fa701f4 */ lw $a3,0x1f4($sp)
/* f07d57c: 5040000d */ beqzl $v0,.L0f07d5b4
/* f07d580: 8fa20278 */ lw $v0,0x278($sp)
/* f07d584: 0fc1c9dd */ jal hovercarIncrementStep
/* f07d588: 02002025 */ or $a0,$s0,$zero
/* f07d58c: 8e190088 */ lw $t9,0x88($s0)
/* f07d590: 8e0a008c */ lw $t2,0x8c($s0)
/* f07d594: 24050002 */ addiu $a1,$zero,0x2
/* f07d598: 8f280000 */ lw $t0,0x0($t9)
/* f07d59c: 000a4880 */ sll $t1,$t2,0x2
/* f07d5a0: 27a60220 */ addiu $a2,$sp,0x220
/* f07d5a4: 01091821 */ addu $v1,$t0,$t1
/* f07d5a8: 0fc456ac */ jal padUnpack
/* f07d5ac: 8c640000 */ lw $a0,0x0($v1)
/* f07d5b0: 8fa20278 */ lw $v0,0x278($sp)
.L0f07d5b4:
/* f07d5b4: c7a80214 */ lwc1 $f8,0x214($sp)
/* f07d5b8: c7aa021c */ lwc1 $f10,0x21c($sp)
/* f07d5bc: c4440008 */ lwc1 $f4,0x8($v0)
/* f07d5c0: c4460010 */ lwc1 $f6,0x10($v0)
/* f07d5c4: 46044301 */ sub.s $f12,$f8,$f4
/* f07d5c8: 0fc259d4 */ jal atan2f
/* f07d5cc: 46065381 */ sub.s $f14,$f10,$f6
/* f07d5d0: 8fa20278 */ lw $v0,0x278($sp)
/* f07d5d4: e7a00200 */ swc1 $f0,0x200($sp)
/* f07d5d8: c7a80214 */ lwc1 $f8,0x214($sp)
/* f07d5dc: c4440008 */ lwc1 $f4,0x8($v0)
/* f07d5e0: c7aa021c */ lwc1 $f10,0x21c($sp)
/* f07d5e4: c4460010 */ lwc1 $f6,0x10($v0)
/* f07d5e8: 46044081 */ sub.s $f2,$f8,$f4
/* f07d5ec: 46065381 */ sub.s $f14,$f10,$f6
/* f07d5f0: 46021202 */ mul.s $f8,$f2,$f2
/* f07d5f4: 00000000 */ nop
/* f07d5f8: 460e7102 */ mul.s $f4,$f14,$f14
/* f07d5fc: 0c012974 */ jal sqrtf
/* f07d600: 46044300 */ add.s $f12,$f8,$f4
/* f07d604: 8fab0278 */ lw $t3,0x278($sp)
/* f07d608: c7aa0218 */ lwc1 $f10,0x218($sp)
/* f07d60c: 46000386 */ mov.s $f14,$f0
/* f07d610: c566000c */ lwc1 $f6,0xc($t3)
/* f07d614: 0fc259d4 */ jal atan2f
/* f07d618: 46065301 */ sub.s $f12,$f10,$f6
/* f07d61c: e7a001fc */ swc1 $f0,0x1fc($sp)
/* f07d620: 8e0c0008 */ lw $t4,0x8($s0)
/* f07d624: 3c01dfff */ lui $at,0xdfff
/* f07d628: c7a80200 */ lwc1 $f8,0x200($sp)
/* f07d62c: 000c6880 */ sll $t5,$t4,0x2
/* f07d630: 05a1000c */ bgez $t5,.L0f07d664
/* f07d634: 3421ffff */ ori $at,$at,0xffff
/* f07d638: 8e0e0008 */ lw $t6,0x8($s0)
/* f07d63c: e608007c */ swc1 $f8,0x7c($s0)
/* f07d640: e6000080 */ swc1 $f0,0x80($s0)
/* f07d644: 01c17824 */ and $t7,$t6,$at
/* f07d648: ae0f0008 */ sw $t7,0x8($s0)
/* f07d64c: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f07d650: 8fa30278 */ lw $v1,0x278($sp)
/* f07d654: c7a40218 */ lwc1 $f4,0x218($sp)
/* f07d658: 53000003 */ beqzl $t8,.L0f07d668
/* f07d65c: 8fb901f8 */ lw $t9,0x1f8($sp)
/* f07d660: e464000c */ swc1 $f4,0xc($v1)
.L0f07d664:
/* f07d664: 8fb901f8 */ lw $t9,0x1f8($sp)
.L0f07d668:
/* f07d668: 8fa30278 */ lw $v1,0x278($sp)
/* f07d66c: 27a60214 */ addiu $a2,$sp,0x214
/* f07d670: 13200034 */ beqz $t9,.L0f07d744
/* f07d674: 24640008 */ addiu $a0,$v1,0x8
/* f07d678: 44800000 */ mtc1 $zero,$f0
/* f07d67c: 24650028 */ addiu $a1,$v1,0x28
/* f07d680: 24075000 */ addiu $a3,$zero,0x5000
/* f07d684: afa00010 */ sw $zero,0x10($sp)
/* f07d688: e7a00014 */ swc1 $f0,0x14($sp)
/* f07d68c: 0c00b5f0 */ jal cd0002d7c0
/* f07d690: e7a00018 */ swc1 $f0,0x18($sp)
/* f07d694: 54400005 */ bnezl $v0,.L0f07d6ac
/* f07d698: 8fa301f0 */ lw $v1,0x1f0($sp)
/* f07d69c: 0c0093ac */ jal cdGetObstacle
/* f07d6a0: 00000000 */ nop
/* f07d6a4: afa201f0 */ sw $v0,0x1f0($sp)
/* f07d6a8: 8fa301f0 */ lw $v1,0x1f0($sp)
.L0f07d6ac:
/* f07d6ac: 10600025 */ beqz $v1,.L0f07d744
/* f07d6b0: 00000000 */ nop
/* f07d6b4: 8c6a0004 */ lw $t2,0x4($v1)
/* f07d6b8: 8fa60278 */ lw $a2,0x278($sp)
/* f07d6bc: 3c017f1b */ lui $at,%hi(var7f1aa6ac)
/* f07d6c0: afaa01a0 */ sw $t2,0x1a0($sp)
/* f07d6c4: c46a0008 */ lwc1 $f10,0x8($v1)
/* f07d6c8: c4c60008 */ lwc1 $f6,0x8($a2)
/* f07d6cc: c4680010 */ lwc1 $f8,0x10($v1)
/* f07d6d0: c4c40010 */ lwc1 $f4,0x10($a2)
/* f07d6d4: 46065001 */ sub.s $f0,$f10,$f6
/* f07d6d8: 01402825 */ or $a1,$t2,$zero
/* f07d6dc: 00c02025 */ or $a0,$a2,$zero
/* f07d6e0: 46044081 */ sub.s $f2,$f8,$f4
/* f07d6e4: 46000282 */ mul.s $f10,$f0,$f0
/* f07d6e8: c428a6ac */ lwc1 $f8,%lo(var7f1aa6ac)($at)
/* f07d6ec: 46021182 */ mul.s $f6,$f2,$f2
/* f07d6f0: 46065300 */ add.s $f12,$f10,$f6
/* f07d6f4: 4608603c */ c.lt.s $f12,$f8
/* f07d6f8: 00000000 */ nop
/* f07d6fc: 45000007 */ bc1f .L0f07d71c
/* f07d700: 00000000 */ nop
/* f07d704: 0fc24030 */ jal doorsChooseSwingDirection
/* f07d708: e7ac0058 */ swc1 $f12,0x58($sp)
/* f07d70c: 8fa401a0 */ lw $a0,0x1a0($sp)
/* f07d710: 0fc23922 */ jal doorsRequestMode
/* f07d714: 24050001 */ addiu $a1,$zero,0x1
/* f07d718: c7ac0058 */ lwc1 $f12,0x58($sp)
.L0f07d71c:
/* f07d71c: 3c017f1b */ lui $at,%hi(var7f1aa6b0)
/* f07d720: c424a6b0 */ lwc1 $f4,%lo(var7f1aa6b0)($at)
/* f07d724: 4604603c */ c.lt.s $f12,$f4
/* f07d728: 00000000 */ nop
/* f07d72c: 45000005 */ bc1f .L0f07d744
/* f07d730: 00000000 */ nop
/* f07d734: 0fc23959 */ jal doorIsOpen
/* f07d738: 8fa401a0 */ lw $a0,0x1a0($sp)
/* f07d73c: 2c480001 */ sltiu $t0,$v0,0x1
/* f07d740: afa80274 */ sw $t0,0x274($sp)
.L0f07d744:
/* f07d744: 1000001a */ b .L0f07d7b0
/* f07d748: 44807000 */ mtc1 $zero,$f14
/* f07d74c: 8e090008 */ lw $t1,0x8($s0)
.L0f07d750:
/* f07d750: 00095880 */ sll $t3,$t1,0x2
/* f07d754: 05630016 */ bgezl $t3,.L0f07d7b0
/* f07d758: 44807000 */ mtc1 $zero,$f14
/* f07d75c: c60c0034 */ lwc1 $f12,0x34($s0)
/* f07d760: 0fc259d4 */ jal atan2f
/* f07d764: c60e003c */ lwc1 $f14,0x3c($s0)
/* f07d768: c6020034 */ lwc1 $f2,0x34($s0)
/* f07d76c: c60e003c */ lwc1 $f14,0x3c($s0)
/* f07d770: e600007c */ swc1 $f0,0x7c($s0)
/* f07d774: 46021282 */ mul.s $f10,$f2,$f2
/* f07d778: 00000000 */ nop
/* f07d77c: 460e7182 */ mul.s $f6,$f14,$f14
/* f07d780: 0c012974 */ jal sqrtf
/* f07d784: 46065300 */ add.s $f12,$f10,$f6
/* f07d788: c60c0038 */ lwc1 $f12,0x38($s0)
/* f07d78c: 0fc259d4 */ jal atan2f
/* f07d790: 46000386 */ mov.s $f14,$f0
/* f07d794: 8e0c0008 */ lw $t4,0x8($s0)
/* f07d798: 3c01dfff */ lui $at,0xdfff
/* f07d79c: 3421ffff */ ori $at,$at,0xffff
/* f07d7a0: 01816824 */ and $t5,$t4,$at
/* f07d7a4: e6000080 */ swc1 $f0,0x80($s0)
/* f07d7a8: ae0d0008 */ sw $t5,0x8($s0)
/* f07d7ac: 44807000 */ mtc1 $zero,$f14
.L0f07d7b0:
/* f07d7b0: c60c006c */ lwc1 $f12,0x6c($s0)
/* f07d7b4: 3c02800a */ lui $v0,%hi(g_Vars)
/* f07d7b8: 8fa30278 */ lw $v1,0x278($sp)
/* f07d7bc: 460c703e */ c.le.s $f14,$f12
/* f07d7c0: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f07d7c4: 45020015 */ bc1fl .L0f07d81c
/* f07d7c8: 8fae01f8 */ lw $t6,0x1f8($sp)
/* f07d7cc: c442004c */ lwc1 $f2,0x4c($v0)
/* f07d7d0: 4602603e */ c.le.s $f12,$f2
/* f07d7d4: 00000000 */ nop
/* f07d7d8: 45020006 */ bc1fl .L0f07d7f4
/* f07d7dc: c6000064 */ lwc1 $f0,0x64($s0)
/* f07d7e0: c6080068 */ lwc1 $f8,0x68($s0)
/* f07d7e4: c60c006c */ lwc1 $f12,0x6c($s0)
/* f07d7e8: 10000008 */ b .L0f07d80c
/* f07d7ec: e6080064 */ swc1 $f8,0x64($s0)
/* f07d7f0: c6000064 */ lwc1 $f0,0x64($s0)
.L0f07d7f4:
/* f07d7f4: c6040068 */ lwc1 $f4,0x68($s0)
/* f07d7f8: 46002281 */ sub.s $f10,$f4,$f0
/* f07d7fc: 46025182 */ mul.s $f6,$f10,$f2
/* f07d800: 460c3203 */ div.s $f8,$f6,$f12
/* f07d804: 46080100 */ add.s $f4,$f0,$f8
/* f07d808: e6040064 */ swc1 $f4,0x64($s0)
.L0f07d80c:
/* f07d80c: c44a004c */ lwc1 $f10,0x4c($v0)
/* f07d810: 460a6181 */ sub.s $f6,$f12,$f10
/* f07d814: e606006c */ swc1 $f6,0x6c($s0)
/* f07d818: 8fae01f8 */ lw $t6,0x1f8($sp)
.L0f07d81c:
/* f07d81c: 3c02800a */ lui $v0,%hi(g_Vars)
/* f07d820: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f07d824: 51c00037 */ beqzl $t6,.L0f07d904
/* f07d828: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d82c: c6080070 */ lwc1 $f8,0x70($s0)
/* f07d830: 3c017f1b */ lui $at,%hi(var7f1aa6b4)
/* f07d834: 4608703c */ c.lt.s $f14,$f8
/* f07d838: 00000000 */ nop
/* f07d83c: 45020013 */ bc1fl .L0f07d88c
/* f07d840: c6000064 */ lwc1 $f0,0x64($s0)
/* f07d844: c6040068 */ lwc1 $f4,0x68($s0)
/* f07d848: c42aa6b4 */ lwc1 $f10,%lo(var7f1aa6b4)($at)
/* f07d84c: c4480044 */ lwc1 $f8,0x44($v0)
/* f07d850: 3c017f1b */ lui $at,%hi(var7f1aa6b8)
/* f07d854: 460a2182 */ mul.s $f6,$f4,$f10
/* f07d858: c60a0064 */ lwc1 $f10,0x64($s0)
/* f07d85c: 46083102 */ mul.s $f4,$f6,$f8
/* f07d860: 46045181 */ sub.s $f6,$f10,$f4
/* f07d864: e6060064 */ swc1 $f6,0x64($s0)
/* f07d868: c6080064 */ lwc1 $f8,0x64($s0)
/* f07d86c: 460e403c */ c.lt.s $f8,$f14
/* f07d870: 00000000 */ nop
/* f07d874: 45020013 */ bc1fl .L0f07d8c4
/* f07d878: 8faf0274 */ lw $t7,0x274($sp)
/* f07d87c: c42aa6b8 */ lwc1 $f10,%lo(var7f1aa6b8)($at)
/* f07d880: 1000000f */ b .L0f07d8c0
/* f07d884: e60a0064 */ swc1 $f10,0x64($s0)
/* f07d888: c6000064 */ lwc1 $f0,0x64($s0)
.L0f07d88c:
/* f07d88c: c6020068 */ lwc1 $f2,0x68($s0)
/* f07d890: 3c017f1b */ lui $at,%hi(var7f1aa6bc)
/* f07d894: 4602003c */ c.lt.s $f0,$f2
/* f07d898: 00000000 */ nop
/* f07d89c: 45020009 */ bc1fl .L0f07d8c4
/* f07d8a0: 8faf0274 */ lw $t7,0x274($sp)
/* f07d8a4: c424a6bc */ lwc1 $f4,%lo(var7f1aa6bc)($at)
/* f07d8a8: c4480044 */ lwc1 $f8,0x44($v0)
/* f07d8ac: 46041182 */ mul.s $f6,$f2,$f4
/* f07d8b0: 00000000 */ nop
/* f07d8b4: 46083282 */ mul.s $f10,$f6,$f8
/* f07d8b8: 460a0100 */ add.s $f4,$f0,$f10
/* f07d8bc: e6040064 */ swc1 $f4,0x64($s0)
.L0f07d8c0:
/* f07d8c0: 8faf0274 */ lw $t7,0x274($sp)
.L0f07d8c4:
/* f07d8c4: 3c017f1b */ lui $at,%hi(var7f1aa6c0)
/* f07d8c8: 51e0000e */ beqzl $t7,.L0f07d904
/* f07d8cc: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d8d0: c426a6c0 */ lwc1 $f6,%lo(var7f1aa6c0)($at)
/* f07d8d4: c4480044 */ lwc1 $f8,0x44($v0)
/* f07d8d8: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d8dc: 46083282 */ mul.s $f10,$f6,$f8
/* f07d8e0: 460a2181 */ sub.s $f6,$f4,$f10
/* f07d8e4: e6060064 */ swc1 $f6,0x64($s0)
/* f07d8e8: c6080064 */ lwc1 $f8,0x64($s0)
/* f07d8ec: 460e403c */ c.lt.s $f8,$f14
/* f07d8f0: 00000000 */ nop
/* f07d8f4: 45020003 */ bc1fl .L0f07d904
/* f07d8f8: c6040064 */ lwc1 $f4,0x64($s0)
/* f07d8fc: e60e0064 */ swc1 $f14,0x64($s0)
/* f07d900: c6040064 */ lwc1 $f4,0x64($s0)
.L0f07d904:
/* f07d904: 4604703c */ c.lt.s $f14,$f4
/* f07d908: 00000000 */ nop
/* f07d90c: 45020195 */ bc1fl .L0f07df64
/* f07d910: 8fbf004c */ lw $ra,0x4c($sp)
/* f07d914: c60a007c */ lwc1 $f10,0x7c($s0)
/* f07d918: 24780008 */ addiu $t8,$v1,0x8
/* f07d91c: 24790028 */ addiu $t9,$v1,0x28
/* f07d920: e7aa0190 */ swc1 $f10,0x190($sp)
/* f07d924: c6060080 */ lwc1 $f6,0x80($s0)
/* f07d928: e7a6018c */ swc1 $f6,0x18c($sp)
/* f07d92c: c6080084 */ lwc1 $f8,0x84($s0)
/* f07d930: e7a80188 */ swc1 $f8,0x188($sp)
/* f07d934: c6040070 */ lwc1 $f4,0x70($s0)
/* f07d938: e7a40184 */ swc1 $f4,0x184($sp)
/* f07d93c: c60a0074 */ lwc1 $f10,0x74($s0)
/* f07d940: e7aa0180 */ swc1 $f10,0x180($sp)
/* f07d944: c60c007c */ lwc1 $f12,0x7c($s0)
/* f07d948: afb90054 */ sw $t9,0x54($sp)
/* f07d94c: 0c0068f7 */ jal sinf
/* f07d950: afb80058 */ sw $t8,0x58($sp)
/* f07d954: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07d958: 0c0068f4 */ jal cosf
/* f07d95c: e7a00068 */ swc1 $f0,0x68($sp)
/* f07d960: c7a20068 */ lwc1 $f2,0x68($sp)
/* f07d964: 46020182 */ mul.s $f6,$f0,$f2
/* f07d968: e7a60194 */ swc1 $f6,0x194($sp)
/* f07d96c: 0c0068f7 */ jal sinf
/* f07d970: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07d974: e7a00198 */ swc1 $f0,0x198($sp)
/* f07d978: 0c0068f4 */ jal cosf
/* f07d97c: c60c007c */ lwc1 $f12,0x7c($s0)
/* f07d980: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07d984: 0c0068f4 */ jal cosf
/* f07d988: e7a00068 */ swc1 $f0,0x68($sp)
/* f07d98c: c7a20068 */ lwc1 $f2,0x68($sp)
/* f07d990: 8fa40058 */ lw $a0,0x58($sp)
/* f07d994: 27a50194 */ addiu $a1,$sp,0x194
/* f07d998: 46020202 */ mul.s $f8,$f0,$f2
/* f07d99c: 27a60214 */ addiu $a2,$sp,0x214
/* f07d9a0: 8fa701f4 */ lw $a3,0x1f4($sp)
/* f07d9a4: 0fc11171 */ jal posIsMovingTowardsPosOrStoppedInRange
/* f07d9a8: e7a8019c */ swc1 $f8,0x19c($sp)
/* f07d9ac: 50400006 */ beqzl $v0,.L0f07d9c8
/* f07d9b0: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07d9b4: c604007c */ lwc1 $f4,0x7c($s0)
/* f07d9b8: e7a40200 */ swc1 $f4,0x200($sp)
/* f07d9bc: c60a0080 */ lwc1 $f10,0x80($s0)
/* f07d9c0: e7aa01fc */ swc1 $f10,0x1fc($sp)
/* f07d9c4: 8fa201f8 */ lw $v0,0x1f8($sp)
.L0f07d9c8:
/* f07d9c8: 10400004 */ beqz $v0,.L0f07d9dc
/* f07d9cc: 3c014170 */ lui $at,0x4170
/* f07d9d0: 44818000 */ mtc1 $at,$f16
/* f07d9d4: 10000006 */ b .L0f07d9f0
/* f07d9d8: 46008386 */ mov.s $f14,$f16
.L0f07d9dc:
/* f07d9dc: 3c0140a0 */ lui $at,0x40a0
/* f07d9e0: 44817000 */ mtc1 $at,$f14
/* f07d9e4: 3c014170 */ lui $at,0x4170
/* f07d9e8: 44818000 */ mtc1 $at,$f16
/* f07d9ec: 00000000 */ nop
.L0f07d9f0:
/* f07d9f0: 50400004 */ beqzl $v0,.L0f07da04
/* f07d9f4: 3c0140a0 */ lui $at,0x40a0
/* f07d9f8: 10000004 */ b .L0f07da0c
/* f07d9fc: 46008306 */ mov.s $f12,$f16
/* f07da00: 3c0140a0 */ lui $at,0x40a0
.L0f07da04:
/* f07da04: 44816000 */ mtc1 $at,$f12
/* f07da08: 00000000 */ nop
.L0f07da0c:
/* f07da0c: 50400004 */ beqzl $v0,.L0f07da20
/* f07da10: 3c0140a0 */ lui $at,0x40a0
/* f07da14: 10000004 */ b .L0f07da28
/* f07da18: 46008086 */ mov.s $f2,$f16
/* f07da1c: 3c0140a0 */ lui $at,0x40a0
.L0f07da20:
/* f07da20: 44811000 */ mtc1 $at,$f2
/* f07da24: 00000000 */ nop
.L0f07da28:
/* f07da28: 3c017f1b */ lui $at,%hi(var7f1aa6c4)
/* f07da2c: c432a6c4 */ lwc1 $f18,%lo(var7f1aa6c4)($at)
/* f07da30: 3c017f1b */ lui $at,%hi(var7f1aa6c8)
/* f07da34: c424a6c8 */ lwc1 $f4,%lo(var7f1aa6c8)($at)
/* f07da38: 46127182 */ mul.s $f6,$f14,$f18
/* f07da3c: 27a40190 */ addiu $a0,$sp,0x190
/* f07da40: 8fa50200 */ lw $a1,0x200($sp)
/* f07da44: 46126002 */ mul.s $f0,$f12,$f18
/* f07da48: 27a60184 */ addiu $a2,$sp,0x184
/* f07da4c: 46041282 */ mul.s $f10,$f2,$f4
/* f07da50: 44073000 */ mfc1 $a3,$f6
/* f07da54: 46000200 */ add.s $f8,$f0,$f0
/* f07da58: e7aa0014 */ swc1 $f10,0x14($sp)
/* f07da5c: 0fc1b6c0 */ jal applyRotation
/* f07da60: e7a80010 */ swc1 $f8,0x10($sp)
/* f07da64: c7a60190 */ lwc1 $f6,0x190($sp)
/* f07da68: c7a80200 */ lwc1 $f8,0x200($sp)
/* f07da6c: 3c014170 */ lui $at,0x4170
/* f07da70: 44818000 */ mtc1 $at,$f16
/* f07da74: 46083032 */ c.eq.s $f6,$f8
/* f07da78: 3c017f1b */ lui $at,%hi(var7f1aa6cc)
/* f07da7c: c432a6cc */ lwc1 $f18,%lo(var7f1aa6cc)($at)
/* f07da80: 45020021 */ bc1fl .L0f07db08
/* f07da84: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07da88: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07da8c: 3c0140a0 */ lui $at,0x40a0
/* f07da90: 50400004 */ beqzl $v0,.L0f07daa4
/* f07da94: 44811000 */ mtc1 $at,$f2
/* f07da98: 10000003 */ b .L0f07daa8
/* f07da9c: 46008086 */ mov.s $f2,$f16
/* f07daa0: 44811000 */ mtc1 $at,$f2
.L0f07daa4:
/* f07daa4: 00000000 */ nop
.L0f07daa8:
/* f07daa8: 46121002 */ mul.s $f0,$f2,$f18
/* f07daac: c7ae0184 */ lwc1 $f14,0x184($sp)
/* f07dab0: 46000100 */ add.s $f4,$f0,$f0
/* f07dab4: 4604703e */ c.le.s $f14,$f4
/* f07dab8: 00000000 */ nop
/* f07dabc: 45020012 */ bc1fl .L0f07db08
/* f07dac0: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07dac4: 10400003 */ beqz $v0,.L0f07dad4
/* f07dac8: 3c0140a0 */ lui $at,0x40a0
/* f07dacc: 10000003 */ b .L0f07dadc
/* f07dad0: 46008306 */ mov.s $f12,$f16
.L0f07dad4:
/* f07dad4: 44816000 */ mtc1 $at,$f12
/* f07dad8: 00000000 */ nop
.L0f07dadc:
/* f07dadc: 46126002 */ mul.s $f0,$f12,$f18
/* f07dae0: 46000007 */ neg.s $f0,$f0
/* f07dae4: 46000280 */ add.s $f10,$f0,$f0
/* f07dae8: 460e503e */ c.le.s $f10,$f14
/* f07daec: 00000000 */ nop
/* f07daf0: 45020005 */ bc1fl .L0f07db08
/* f07daf4: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07daf8: 44807000 */ mtc1 $zero,$f14
/* f07dafc: 00000000 */ nop
/* f07db00: e7ae0184 */ swc1 $f14,0x184($sp)
/* f07db04: 8fa201f8 */ lw $v0,0x1f8($sp)
.L0f07db08:
/* f07db08: 50400004 */ beqzl $v0,.L0f07db1c
/* f07db0c: 3c0140a0 */ lui $at,0x40a0
/* f07db10: 10000004 */ b .L0f07db24
/* f07db14: 46008386 */ mov.s $f14,$f16
/* f07db18: 3c0140a0 */ lui $at,0x40a0
.L0f07db1c:
/* f07db1c: 44817000 */ mtc1 $at,$f14
/* f07db20: 00000000 */ nop
.L0f07db24:
/* f07db24: 46127182 */ mul.s $f6,$f14,$f18
/* f07db28: 50400004 */ beqzl $v0,.L0f07db3c
/* f07db2c: 3c0140a0 */ lui $at,0x40a0
/* f07db30: 10000004 */ b .L0f07db44
/* f07db34: 46008306 */ mov.s $f12,$f16
/* f07db38: 3c0140a0 */ lui $at,0x40a0
.L0f07db3c:
/* f07db3c: 44816000 */ mtc1 $at,$f12
/* f07db40: 00000000 */ nop
.L0f07db44:
/* f07db44: 46126002 */ mul.s $f0,$f12,$f18
/* f07db48: 50400004 */ beqzl $v0,.L0f07db5c
/* f07db4c: 3c0140a0 */ lui $at,0x40a0
/* f07db50: 10000004 */ b .L0f07db64
/* f07db54: 46008086 */ mov.s $f2,$f16
/* f07db58: 3c0140a0 */ lui $at,0x40a0
.L0f07db5c:
/* f07db5c: 44811000 */ mtc1 $at,$f2
/* f07db60: 00000000 */ nop
.L0f07db64:
/* f07db64: 3c017f1b */ lui $at,%hi(var7f1aa6d0)
/* f07db68: c424a6d0 */ lwc1 $f4,%lo(var7f1aa6d0)($at)
/* f07db6c: 46000200 */ add.s $f8,$f0,$f0
/* f07db70: 44073000 */ mfc1 $a3,$f6
/* f07db74: 46041282 */ mul.s $f10,$f2,$f4
/* f07db78: 27a4018c */ addiu $a0,$sp,0x18c
/* f07db7c: e7a80010 */ swc1 $f8,0x10($sp)
/* f07db80: 8fa501fc */ lw $a1,0x1fc($sp)
/* f07db84: 27a60180 */ addiu $a2,$sp,0x180
/* f07db88: 0fc1b6c0 */ jal applyRotation
/* f07db8c: e7aa0014 */ swc1 $f10,0x14($sp)
/* f07db90: c7a6018c */ lwc1 $f6,0x18c($sp)
/* f07db94: c7a801fc */ lwc1 $f8,0x1fc($sp)
/* f07db98: 3c014170 */ lui $at,0x4170
/* f07db9c: 44818000 */ mtc1 $at,$f16
/* f07dba0: 46083032 */ c.eq.s $f6,$f8
/* f07dba4: 3c017f1b */ lui $at,%hi(var7f1aa6d4)
/* f07dba8: c432a6d4 */ lwc1 $f18,%lo(var7f1aa6d4)($at)
/* f07dbac: 45020022 */ bc1fl .L0f07dc38
/* f07dbb0: 8e090008 */ lw $t1,0x8($s0)
/* f07dbb4: 8faa01f8 */ lw $t2,0x1f8($sp)
/* f07dbb8: 3c0140a0 */ lui $at,0x40a0
/* f07dbbc: 8fa801f8 */ lw $t0,0x1f8($sp)
/* f07dbc0: 51400004 */ beqzl $t2,.L0f07dbd4
/* f07dbc4: 44811000 */ mtc1 $at,$f2
/* f07dbc8: 10000003 */ b .L0f07dbd8
/* f07dbcc: 46008086 */ mov.s $f2,$f16
/* f07dbd0: 44811000 */ mtc1 $at,$f2
.L0f07dbd4:
/* f07dbd4: 00000000 */ nop
.L0f07dbd8:
/* f07dbd8: 46121002 */ mul.s $f0,$f2,$f18
/* f07dbdc: c7ae0180 */ lwc1 $f14,0x180($sp)
/* f07dbe0: 46000100 */ add.s $f4,$f0,$f0
/* f07dbe4: 4604703e */ c.le.s $f14,$f4
/* f07dbe8: 00000000 */ nop
/* f07dbec: 45020012 */ bc1fl .L0f07dc38
/* f07dbf0: 8e090008 */ lw $t1,0x8($s0)
/* f07dbf4: 11000003 */ beqz $t0,.L0f07dc04
/* f07dbf8: 3c0140a0 */ lui $at,0x40a0
/* f07dbfc: 10000003 */ b .L0f07dc0c
/* f07dc00: 46008306 */ mov.s $f12,$f16
.L0f07dc04:
/* f07dc04: 44816000 */ mtc1 $at,$f12
/* f07dc08: 00000000 */ nop
.L0f07dc0c:
/* f07dc0c: 46126002 */ mul.s $f0,$f12,$f18
/* f07dc10: 46000007 */ neg.s $f0,$f0
/* f07dc14: 46000280 */ add.s $f10,$f0,$f0
/* f07dc18: 460e503e */ c.le.s $f10,$f14
/* f07dc1c: 00000000 */ nop
/* f07dc20: 45020005 */ bc1fl .L0f07dc38
/* f07dc24: 8e090008 */ lw $t1,0x8($s0)
/* f07dc28: 44807000 */ mtc1 $zero,$f14
/* f07dc2c: 00000000 */ nop
/* f07dc30: e7ae0180 */ swc1 $f14,0x180($sp)
/* f07dc34: 8e090008 */ lw $t1,0x8($s0)
.L0f07dc38:
/* f07dc38: 44800000 */ mtc1 $zero,$f0
/* f07dc3c: 00095800 */ sll $t3,$t1,0x0
/* f07dc40: 05630004 */ bgezl $t3,.L0f07dc54
/* f07dc44: c7ae0184 */ lwc1 $f14,0x184($sp)
/* f07dc48: 1000000d */ b .L0f07dc80
/* f07dc4c: e7a00188 */ swc1 $f0,0x188($sp)
/* f07dc50: c7ae0184 */ lwc1 $f14,0x184($sp)
.L0f07dc54:
/* f07dc54: 3c0142f0 */ lui $at,0x42f0
/* f07dc58: 44814000 */ mtc1 $at,$f8
/* f07dc5c: 46007187 */ neg.s $f6,$f14
/* f07dc60: c7aa0188 */ lwc1 $f10,0x188($sp)
/* f07dc64: 46083102 */ mul.s $f4,$f6,$f8
/* f07dc68: 3c017f1b */ lui $at,%hi(var7f1aa6d8)
/* f07dc6c: c428a6d8 */ lwc1 $f8,%lo(var7f1aa6d8)($at)
/* f07dc70: 460a2181 */ sub.s $f6,$f4,$f10
/* f07dc74: 46083102 */ mul.s $f4,$f6,$f8
/* f07dc78: 46045180 */ add.s $f6,$f10,$f4
/* f07dc7c: e7a60188 */ swc1 $f6,0x188($sp)
.L0f07dc80:
/* f07dc80: 8fac01f8 */ lw $t4,0x1f8($sp)
/* f07dc84: 11800006 */ beqz $t4,.L0f07dca0
/* f07dc88: 3c017f1b */ lui $at,%hi(var7f1aa6dc)
/* f07dc8c: c428a6dc */ lwc1 $f8,%lo(var7f1aa6dc)($at)
/* f07dc90: c7aa018c */ lwc1 $f10,0x18c($sp)
/* f07dc94: 460a4101 */ sub.s $f4,$f8,$f10
/* f07dc98: 10000002 */ b .L0f07dca4
/* f07dc9c: e7a4012c */ swc1 $f4,0x12c($sp)
.L0f07dca0:
/* f07dca0: e7a0012c */ swc1 $f0,0x12c($sp)
.L0f07dca4:
/* f07dca4: c7a80188 */ lwc1 $f8,0x188($sp)
/* f07dca8: c7a60190 */ lwc1 $f6,0x190($sp)
/* f07dcac: e7a00134 */ swc1 $f0,0x134($sp)
/* f07dcb0: 4608003e */ c.le.s $f0,$f8
/* f07dcb4: e7a60130 */ swc1 $f6,0x130($sp)
/* f07dcb8: 45000006 */ bc1f .L0f07dcd4
/* f07dcbc: 00000000 */ nop
/* f07dcc0: 46004306 */ mov.s $f12,$f8
/* f07dcc4: 0c005900 */ jal mtx4LoadZRotation
/* f07dcc8: 27a5006c */ addiu $a1,$sp,0x6c
/* f07dccc: 10000008 */ b .L0f07dcf0
/* f07dcd0: 27a4012c */ addiu $a0,$sp,0x12c
.L0f07dcd4:
/* f07dcd4: 3c017f1b */ lui $at,%hi(var7f1aa6e0)
/* f07dcd8: c424a6e0 */ lwc1 $f4,%lo(var7f1aa6e0)($at)
/* f07dcdc: c7aa0188 */ lwc1 $f10,0x188($sp)
/* f07dce0: 27a5006c */ addiu $a1,$sp,0x6c
/* f07dce4: 0c005900 */ jal mtx4LoadZRotation
/* f07dce8: 46045300 */ add.s $f12,$f10,$f4
/* f07dcec: 27a4012c */ addiu $a0,$sp,0x12c
.L0f07dcf0:
/* f07dcf0: 0c005923 */ jal mtx4LoadRotation
/* f07dcf4: 27a500ac */ addiu $a1,$sp,0xac
/* f07dcf8: 8e0d0018 */ lw $t5,0x18($s0)
/* f07dcfc: 27a500ac */ addiu $a1,$sp,0xac
/* f07dd00: 0c0057c1 */ jal mtx00015f04
/* f07dd04: c5ac0014 */ lwc1 $f12,0x14($t5)
/* f07dd08: 27a400ac */ addiu $a0,$sp,0xac
/* f07dd0c: 27a5006c */ addiu $a1,$sp,0x6c
/* f07dd10: 0c005680 */ jal mtx4MultMtx4
/* f07dd14: 27a600ec */ addiu $a2,$sp,0xec
/* f07dd18: 27a400ec */ addiu $a0,$sp,0xec
/* f07dd1c: 0c005768 */ jal mtx4ToMtx3
/* f07dd20: 27a5015c */ addiu $a1,$sp,0x15c
/* f07dd24: 27a4015c */ addiu $a0,$sp,0x15c
/* f07dd28: 0c005736 */ jal mtx3Copy
/* f07dd2c: 2605001c */ addiu $a1,$s0,0x1c
/* f07dd30: 0c0068f4 */ jal cosf
/* f07dd34: c7ac018c */ lwc1 $f12,0x18c($sp)
/* f07dd38: e7a00138 */ swc1 $f0,0x138($sp)
/* f07dd3c: 0c0068f7 */ jal sinf
/* f07dd40: c7ac0190 */ lwc1 $f12,0x190($sp)
/* f07dd44: c7a60138 */ lwc1 $f6,0x138($sp)
/* f07dd48: 8fae01f8 */ lw $t6,0x1f8($sp)
/* f07dd4c: 46060202 */ mul.s $f8,$f0,$f6
/* f07dd50: 11c00005 */ beqz $t6,.L0f07dd68
/* f07dd54: e7a80194 */ swc1 $f8,0x194($sp)
/* f07dd58: 0c0068f7 */ jal sinf
/* f07dd5c: c7ac01fc */ lwc1 $f12,0x1fc($sp)
/* f07dd60: 10000004 */ b .L0f07dd74
/* f07dd64: e7a00198 */ swc1 $f0,0x198($sp)
.L0f07dd68:
/* f07dd68: 0c0068f7 */ jal sinf
/* f07dd6c: c7ac018c */ lwc1 $f12,0x18c($sp)
/* f07dd70: e7a00198 */ swc1 $f0,0x198($sp)
.L0f07dd74:
/* f07dd74: 0c0068f4 */ jal cosf
/* f07dd78: c7ac0190 */ lwc1 $f12,0x190($sp)
/* f07dd7c: c7aa0138 */ lwc1 $f10,0x138($sp)
/* f07dd80: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07dd84: c422a00c */ lwc1 $f2,%lo(g_Vars+0x4c)($at)
/* f07dd88: 460a0102 */ mul.s $f4,$f0,$f10
/* f07dd8c: c7a60194 */ lwc1 $f6,0x194($sp)
/* f07dd90: 8faf0278 */ lw $t7,0x278($sp)
/* f07dd94: 8fa40058 */ lw $a0,0x58($sp)
/* f07dd98: 8fa50054 */ lw $a1,0x54($sp)
/* f07dd9c: 27a60150 */ addiu $a2,$sp,0x150
/* f07dda0: 27a70140 */ addiu $a3,$sp,0x140
/* f07dda4: e7a4019c */ swc1 $f4,0x19c($sp)
/* f07dda8: c6080064 */ lwc1 $f8,0x64($s0)
/* f07ddac: 46024282 */ mul.s $f10,$f8,$f2
/* f07ddb0: c5e80008 */ lwc1 $f8,0x8($t7)
/* f07ddb4: 460a3102 */ mul.s $f4,$f6,$f10
/* f07ddb8: c7aa0198 */ lwc1 $f10,0x198($sp)
/* f07ddbc: 46082180 */ add.s $f6,$f4,$f8
/* f07ddc0: e7a60150 */ swc1 $f6,0x150($sp)
/* f07ddc4: c6040064 */ lwc1 $f4,0x64($s0)
/* f07ddc8: 46022202 */ mul.s $f8,$f4,$f2
/* f07ddcc: c5e4000c */ lwc1 $f4,0xc($t7)
/* f07ddd0: 46085182 */ mul.s $f6,$f10,$f8
/* f07ddd4: c7a8019c */ lwc1 $f8,0x19c($sp)
/* f07ddd8: 46043280 */ add.s $f10,$f6,$f4
/* f07dddc: e7aa0154 */ swc1 $f10,0x154($sp)
/* f07dde0: c6060064 */ lwc1 $f6,0x64($s0)
/* f07dde4: 46023102 */ mul.s $f4,$f6,$f2
/* f07dde8: c5e60010 */ lwc1 $f6,0x10($t7)
/* f07ddec: 46044282 */ mul.s $f10,$f8,$f4
/* f07ddf0: 46065200 */ add.s $f8,$f10,$f6
/* f07ddf4: 0fc1979d */ jal func0f065e74
/* f07ddf8: e7a80158 */ swc1 $f8,0x158($sp)
/* f07ddfc: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f07de00: 27a40150 */ addiu $a0,$sp,0x150
/* f07de04: 3c0540a0 */ lui $a1,0x40a0
/* f07de08: 13000017 */ beqz $t8,.L0f07de68
/* f07de0c: 27a60140 */ addiu $a2,$sp,0x140
/* f07de10: 00003825 */ or $a3,$zero,$zero
/* f07de14: 0c00a8cc */ jal cdFindGroundYSimple
/* f07de18: afa00010 */ sw $zero,0x10($sp)
/* f07de1c: 3c01420c */ lui $at,0x420c
/* f07de20: 44812000 */ mtc1 $at,$f4
/* f07de24: 3c017f1b */ lui $at,%hi(var7f1aa6e4)
/* f07de28: c42aa6e4 */ lwc1 $f10,%lo(var7f1aa6e4)($at)
/* f07de2c: 46040080 */ add.s $f2,$f0,$f4
/* f07de30: 3c01800a */ lui $at,%hi(g_Vars+0x4c)
/* f07de34: 460a103c */ c.lt.s $f2,$f10
/* f07de38: e7a20154 */ swc1 $f2,0x154($sp)
/* f07de3c: 4502000b */ bc1fl .L0f07de6c
/* f07de40: c7a40150 */ lwc1 $f4,0x150($sp)
/* f07de44: c6060064 */ lwc1 $f6,0x64($s0)
/* f07de48: c428a00c */ lwc1 $f8,%lo(g_Vars+0x4c)($at)
/* f07de4c: c7aa0198 */ lwc1 $f10,0x198($sp)
/* f07de50: 8fb90278 */ lw $t9,0x278($sp)
/* f07de54: 46083102 */ mul.s $f4,$f6,$f8
/* f07de58: c728000c */ lwc1 $f8,0xc($t9)
/* f07de5c: 46045182 */ mul.s $f6,$f10,$f4
/* f07de60: 46083280 */ add.s $f10,$f6,$f8
/* f07de64: e7aa0154 */ swc1 $f10,0x154($sp)
.L0f07de68:
/* f07de68: c7a40150 */ lwc1 $f4,0x150($sp)
.L0f07de6c:
/* f07de6c: 8fa40278 */ lw $a0,0x278($sp)
/* f07de70: e4840008 */ swc1 $f4,0x8($a0)
/* f07de74: c7a60154 */ lwc1 $f6,0x154($sp)
/* f07de78: e486000c */ swc1 $f6,0xc($a0)
/* f07de7c: c7a80158 */ lwc1 $f8,0x158($sp)
/* f07de80: 0fc19711 */ jal propDeregisterRooms
/* f07de84: e4880010 */ swc1 $f8,0x10($a0)
/* f07de88: 27a40140 */ addiu $a0,$sp,0x140
/* f07de8c: 0fc195e9 */ jal roomsCopy
/* f07de90: 8fa50054 */ lw $a1,0x54($sp)
/* f07de94: c7aa0190 */ lwc1 $f10,0x190($sp)
/* f07de98: 8e020088 */ lw $v0,0x88($s0)
/* f07de9c: e60a007c */ swc1 $f10,0x7c($s0)
/* f07dea0: c7a4018c */ lwc1 $f4,0x18c($sp)
/* f07dea4: e6040080 */ swc1 $f4,0x80($s0)
/* f07dea8: c7a60188 */ lwc1 $f6,0x188($sp)
/* f07deac: e6060084 */ swc1 $f6,0x84($s0)
/* f07deb0: c7a80184 */ lwc1 $f8,0x184($sp)
/* f07deb4: e6080070 */ swc1 $f8,0x70($s0)
/* f07deb8: c7aa0180 */ lwc1 $f10,0x180($sp)
/* f07debc: 10400024 */ beqz $v0,.L0f07df50
/* f07dec0: e60a0074 */ swc1 $f10,0x74($s0)
/* f07dec4: 8e09008c */ lw $t1,0x8c($s0)
/* f07dec8: 8c480000 */ lw $t0,0x0($v0)
/* f07decc: c7a601f4 */ lwc1 $f6,0x1f4($sp)
/* f07ded0: 00095880 */ sll $t3,$t1,0x2
/* f07ded4: 010b6021 */ addu $t4,$t0,$t3
/* f07ded8: 8d8d0004 */ lw $t5,0x4($t4)
/* f07dedc: c7a401f4 */ lwc1 $f4,0x1f4($sp)
/* f07dee0: 05a20010 */ bltzl $t5,.L0f07df24
/* f07dee4: c60a0064 */ lwc1 $f10,0x64($s0)
/* f07dee8: c6040064 */ lwc1 $f4,0x64($s0)
/* f07deec: 8fa40058 */ lw $a0,0x58($sp)
/* f07def0: 27a50150 */ addiu $a1,$sp,0x150
/* f07def4: 46062202 */ mul.s $f8,$f4,$f6
/* f07def8: 27a60214 */ addiu $a2,$sp,0x214
/* f07defc: 44074000 */ mfc1 $a3,$f8
/* f07df00: 0fc111b8 */ jal posIsArrivingLaterallyAtPos
/* f07df04: 00000000 */ nop
/* f07df08: 50400012 */ beqzl $v0,.L0f07df54
/* f07df0c: 02002025 */ or $a0,$s0,$zero
/* f07df10: 0fc1c9dd */ jal hovercarIncrementStep
/* f07df14: 02002025 */ or $a0,$s0,$zero
/* f07df18: 1000000e */ b .L0f07df54
/* f07df1c: 02002025 */ or $a0,$s0,$zero
/* f07df20: c60a0064 */ lwc1 $f10,0x64($s0)
.L0f07df24:
/* f07df24: 8fa40058 */ lw $a0,0x58($sp)
/* f07df28: 27a50150 */ addiu $a1,$sp,0x150
/* f07df2c: 46045182 */ mul.s $f6,$f10,$f4
/* f07df30: 27a60214 */ addiu $a2,$sp,0x214
/* f07df34: 44073000 */ mfc1 $a3,$f6
/* f07df38: 0fc111b8 */ jal posIsArrivingLaterallyAtPos
/* f07df3c: 00000000 */ nop
/* f07df40: 50400004 */ beqzl $v0,.L0f07df54
/* f07df44: 02002025 */ or $a0,$s0,$zero
/* f07df48: 0fc1c9dd */ jal hovercarIncrementStep
/* f07df4c: 02002025 */ or $a0,$s0,$zero
.L0f07df50:
/* f07df50: 02002025 */ or $a0,$s0,$zero
.L0f07df54:
/* f07df54: 00002825 */ or $a1,$zero,$zero
/* f07df58: 0fc1a71c */ jal func0f069c70
/* f07df5c: 24060001 */ addiu $a2,$zero,0x1
.L0f07df60:
/* f07df60: 8fbf004c */ lw $ra,0x4c($sp)
.L0f07df64:
/* f07df64: 8fb00048 */ lw $s0,0x48($sp)
/* f07df68: 27bd0278 */ addiu $sp,$sp,0x278
/* f07df6c: 03e00008 */ jr $ra
/* f07df70: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel hovercarTick
.late_rodata
glabel var7f1aa6ac
.word 0x471c4000
glabel var7f1aa6b0
.word 0x47148900
glabel var7f1aa6b4
.word 0x3d2aaaab
glabel var7f1aa6b8
.word 0x3dcccccd
glabel var7f1aa6bc
.word 0x3d2aaaab
glabel var7f1aa6c0
.word 0x3e555555
glabel var7f1aa6c4
.word 0x3964ba35
glabel var7f1aa6c8
.word 0x3c566e92
glabel var7f1aa6cc
.word 0x3964ba35
glabel var7f1aa6d0
.word 0x3c566e92
glabel var7f1aa6d4
.word 0x3964ba35
glabel var7f1aa6d8
.word 0x3dcccccd
glabel var7f1aa6dc
.word 0x40c907a9
glabel var7f1aa6e0
.word 0x40c907a9
.text
/* f07bc90: 27bdfd88 */ addiu $sp,$sp,-632
/* f07bc94: afbf004c */ sw $ra,0x4c($sp)
/* f07bc98: afb00048 */ sw $s0,0x48($sp)
/* f07bc9c: afa40278 */ sw $a0,0x278($sp)
/* f07bca0: 8c900004 */ lw $s0,0x4($a0)
/* f07bca4: 3c018000 */ lui $at,0x8000
/* f07bca8: c604007c */ lwc1 $f4,0x7c($s0)
/* f07bcac: e7a40200 */ swc1 $f4,0x200($sp)
/* f07bcb0: c6060080 */ lwc1 $f6,0x80($s0)
/* f07bcb4: e7a601fc */ swc1 $f6,0x1fc($sp)
/* f07bcb8: 8e020008 */ lw $v0,0x8($s0)
/* f07bcbc: 00417824 */ and $t7,$v0,$at
/* f07bcc0: 11e00005 */ beqz $t7,.NB0f07bcd8
/* f07bcc4: 01e01025 */ or $v0,$t7,$zero
/* f07bcc8: 3c0140a0 */ lui $at,0x40a0
/* f07bccc: 44814000 */ mtc1 $at,$f8
/* f07bcd0: 10000005 */ beqz $zero,.NB0f07bce8
/* f07bcd4: e7a801f4 */ swc1 $f8,0x1f4($sp)
.NB0f07bcd8:
/* f07bcd8: 3c014120 */ lui $at,0x4120
/* f07bcdc: 44815000 */ mtc1 $at,$f10
/* f07bce0: 00000000 */ sll $zero,$zero,0x0
/* f07bce4: e7aa01f4 */ swc1 $f10,0x1f4($sp)
.NB0f07bce8:
/* f07bce8: 10400038 */ beqz $v0,.NB0f07bdcc
/* f07bcec: afa001f0 */ sw $zero,0x1f0($sp)
/* f07bcf0: 86180094 */ lh $t8,0x94($s0)
/* f07bcf4: 07030036 */ bgezl $t8,.NB0f07bdd0
/* f07bcf8: 860f0092 */ lh $t7,0x92($s0)
/* f07bcfc: 0fc19f4a */ jal modelFindBboxRodata
/* f07bd00: 8e040018 */ lw $a0,0x18($s0)
/* f07bd04: 0fc1968f */ jal modelBboxGetYMin
/* f07bd08: 00402025 */ or $a0,$v0,$zero
/* f07bd0c: 8fa40278 */ lw $a0,0x278($sp)
/* f07bd10: 24050001 */ addiu $a1,$zero,0x1
/* f07bd14: 3406ffff */ dli $a2,0xffff
/* f07bd18: 84990028 */ lh $t9,0x28($a0)
/* f07bd1c: a7b901d6 */ sh $t9,0x1d6($sp)
/* f07bd20: c6040028 */ lwc1 $f4,0x28($s0)
/* f07bd24: e7a401d8 */ swc1 $f4,0x1d8($sp)
/* f07bd28: c606002c */ lwc1 $f6,0x2c($s0)
/* f07bd2c: e7a601dc */ swc1 $f6,0x1dc($sp)
/* f07bd30: c6080030 */ lwc1 $f8,0x30($s0)
/* f07bd34: e7a801e0 */ swc1 $f8,0x1e0($sp)
/* f07bd38: c60a0028 */ lwc1 $f10,0x28($s0)
/* f07bd3c: c4860008 */ lwc1 $f6,0x8($a0)
/* f07bd40: 46005102 */ mul.s $f4,$f10,$f0
/* f07bd44: 46062200 */ add.s $f8,$f4,$f6
/* f07bd48: e7a801e4 */ swc1 $f8,0x1e4($sp)
/* f07bd4c: c60a002c */ lwc1 $f10,0x2c($s0)
/* f07bd50: c486000c */ lwc1 $f6,0xc($a0)
/* f07bd54: 46005102 */ mul.s $f4,$f10,$f0
/* f07bd58: 46062200 */ add.s $f8,$f4,$f6
/* f07bd5c: e7a801e8 */ swc1 $f8,0x1e8($sp)
/* f07bd60: c60a0030 */ lwc1 $f10,0x30($s0)
/* f07bd64: c4860010 */ lwc1 $f6,0x10($a0)
/* f07bd68: 46005102 */ mul.s $f4,$f10,$f0
/* f07bd6c: 46062200 */ add.s $f8,$f4,$f6
/* f07bd70: 0fc2433d */ jal func0f0926bc
/* f07bd74: e7a801ec */ swc1 $f8,0x1ec($sp)
/* f07bd78: 8fa20278 */ lw $v0,0x278($sp)
/* f07bd7c: 3c08800a */ lui $t0,0x800a
/* f07bd80: 8d08e94c */ lw $t0,-0x16b4($t0)
/* f07bd84: 87ab01d6 */ lh $t3,0x1d6($sp)
/* f07bd88: 24090001 */ addiu $t1,$zero,0x1
/* f07bd8c: 27aa01e4 */ addiu $t2,$sp,0x1e4
/* f07bd90: 27ac01d8 */ addiu $t4,$sp,0x1d8
/* f07bd94: afac0020 */ sw $t4,0x20($sp)
/* f07bd98: afaa0018 */ sw $t2,0x18($sp)
/* f07bd9c: afa90014 */ sw $t1,0x14($sp)
/* f07bda0: 00002025 */ or $a0,$zero,$zero
/* f07bda4: 24070007 */ addiu $a3,$zero,0x7
/* f07bda8: 24450008 */ addiu $a1,$v0,0x8
/* f07bdac: 24460028 */ addiu $a2,$v0,0x28
/* f07bdb0: afa80010 */ sw $t0,0x10($sp)
/* f07bdb4: 0fc492bc */ jal explosionCreate
/* f07bdb8: afab001c */ sw $t3,0x1c($sp)
/* f07bdbc: 8e0d0040 */ lw $t5,0x40($s0)
/* f07bdc0: 35ae0004 */ ori $t6,$t5,0x4
/* f07bdc4: 10000304 */ beqz $zero,.NB0f07c9d8
/* f07bdc8: ae0e0040 */ sw $t6,0x40($s0)
.NB0f07bdcc:
/* f07bdcc: 860f0092 */ lh $t7,0x92($s0)
.NB0f07bdd0:
/* f07bdd0: 02002025 */ or $a0,$s0,$zero
/* f07bdd4: 24050001 */ addiu $a1,$zero,0x1
/* f07bdd8: 11e00063 */ beqz $t7,.NB0f07bf68
/* f07bddc: 00000000 */ sll $zero,$zero,0x0
/* f07bde0: 1040002c */ beqz $v0,.NB0f07be94
/* f07bde4: 3c02800a */ lui $v0,0x800a
/* f07bde8: 2442e6c0 */ addiu $v0,$v0,-6464
/* f07bdec: 8c590038 */ lw $t9,0x38($v0)
/* f07bdf0: 86180094 */ lh $t8,0x94($s0)
/* f07bdf4: 86090096 */ lh $t1,0x96($s0)
/* f07bdf8: 3c01bf80 */ lui $at,0xbf80
/* f07bdfc: 03194023 */ subu $t0,$t8,$t9
/* f07be00: a6080094 */ sh $t0,0x94($s0)
/* f07be04: 8c4a0038 */ lw $t2,0x38($v0)
/* f07be08: 240d0032 */ addiu $t5,$zero,0x32
/* f07be0c: 00002025 */ or $a0,$zero,$zero
/* f07be10: 012a5823 */ subu $t3,$t1,$t2
/* f07be14: a60b0096 */ sh $t3,0x96($s0)
/* f07be18: 860c0096 */ lh $t4,0x96($s0)
/* f07be1c: 24060064 */ addiu $a2,$zero,0x64
/* f07be20: 2407ffff */ addiu $a3,$zero,-1
/* f07be24: 058102ec */ bgez $t4,.NB0f07c9d8
/* f07be28: 240effff */ addiu $t6,$zero,-1
/* f07be2c: a60d0096 */ sh $t5,0x96($s0)
/* f07be30: 44810000 */ mtc1 $at,$f0
/* f07be34: 240f0400 */ addiu $t7,$zero,0x400
/* f07be38: 2418ffff */ addiu $t8,$zero,-1
/* f07be3c: afb8002c */ sw $t8,0x2c($sp)
/* f07be40: afaf0014 */ sw $t7,0x14($sp)
/* f07be44: afa00028 */ sw $zero,0x28($sp)
/* f07be48: afa00020 */ sw $zero,0x20($sp)
/* f07be4c: afa0001c */ sw $zero,0x1c($sp)
/* f07be50: afa00018 */ sw $zero,0x18($sp)
/* f07be54: afae0010 */ sw $t6,0x10($sp)
/* f07be58: 8fa50278 */ lw $a1,0x278($sp)
/* f07be5c: e7a00024 */ swc1 $f0,0x24($sp)
/* f07be60: e7a00030 */ swc1 $f0,0x30($sp)
/* f07be64: e7a00034 */ swc1 $f0,0x34($sp)
/* f07be68: 0fc24762 */ jal func0f0939f8
/* f07be6c: e7a00038 */ swc1 $f0,0x38($sp)
/* f07be70: 8fa50278 */ lw $a1,0x278($sp)
/* f07be74: 00003825 */ or $a3,$zero,$zero
/* f07be78: 84a40028 */ lh $a0,0x28($a1)
/* f07be7c: afa00014 */ sw $zero,0x14($sp)
/* f07be80: afa00010 */ sw $zero,0x10($sp)
/* f07be84: 0fc4a960 */ jal sparksCreate
/* f07be88: 24a60008 */ addiu $a2,$a1,0x8
/* f07be8c: 100002d3 */ beqz $zero,.NB0f07c9dc
/* f07be90: 8fbf004c */ lw $ra,0x4c($sp)
.NB0f07be94:
/* f07be94: 44805000 */ mtc1 $zero,$f10
/* f07be98: c604006c */ lwc1 $f4,0x6c($s0)
/* f07be9c: 3c0140c0 */ lui $at,0x40c0
/* f07bea0: 46045032 */ c.eq.s $f10,$f4
/* f07bea4: 00000000 */ sll $zero,$zero,0x0
/* f07bea8: 450202cc */ bc1fl .NB0f07c9dc
/* f07beac: 8fbf004c */ lw $ra,0x4c($sp)
/* f07beb0: c6060064 */ lwc1 $f6,0x64($s0)
/* f07beb4: 44814000 */ mtc1 $at,$f8
/* f07beb8: 3c013f80 */ lui $at,0x3f80
/* f07bebc: 46083280 */ add.s $f10,$f6,$f8
/* f07bec0: e60a0064 */ swc1 $f10,0x64($s0)
/* f07bec4: 8fb90278 */ lw $t9,0x278($sp)
/* f07bec8: c7240008 */ lwc1 $f4,0x8($t9)
/* f07becc: e7a401c0 */ swc1 $f4,0x1c0($sp)
/* f07bed0: c6080064 */ lwc1 $f8,0x64($s0)
/* f07bed4: c726000c */ lwc1 $f6,0xc($t9)
/* f07bed8: 46083281 */ sub.s $f10,$f6,$f8
/* f07bedc: e7aa01c4 */ swc1 $f10,0x1c4($sp)
/* f07bee0: c7240010 */ lwc1 $f4,0x10($t9)
/* f07bee4: e7a401c8 */ swc1 $f4,0x1c8($sp)
/* f07bee8: c6020068 */ lwc1 $f2,0x68($s0)
/* f07beec: 4602503c */ c.lt.s $f10,$f2
/* f07bef0: 00000000 */ sll $zero,$zero,0x0
/* f07bef4: 45020005 */ bc1fl .NB0f07bf0c
/* f07bef8: 8fa80278 */ lw $t0,0x278($sp)
/* f07befc: 44813000 */ mtc1 $at,$f6
/* f07bf00: e7a201c4 */ swc1 $f2,0x1c4($sp)
/* f07bf04: e606006c */ swc1 $f6,0x6c($s0)
/* f07bf08: 8fa80278 */ lw $t0,0x278($sp)
.NB0f07bf0c:
/* f07bf0c: 27a601c0 */ addiu $a2,$sp,0x1c0
/* f07bf10: 27a701b0 */ addiu $a3,$sp,0x1b0
/* f07bf14: 25050028 */ addiu $a1,$t0,0x28
/* f07bf18: afa50054 */ sw $a1,0x54($sp)
/* f07bf1c: 0fc19437 */ jal func0f065e74
/* f07bf20: 25040008 */ addiu $a0,$t0,0x8
/* f07bf24: 8fa40278 */ lw $a0,0x278($sp)
/* f07bf28: c7a801c0 */ lwc1 $f8,0x1c0($sp)
/* f07bf2c: e4880008 */ swc1 $f8,0x8($a0)
/* f07bf30: c7a401c4 */ lwc1 $f4,0x1c4($sp)
/* f07bf34: e484000c */ swc1 $f4,0xc($a0)
/* f07bf38: c7aa01c8 */ lwc1 $f10,0x1c8($sp)
/* f07bf3c: 0fc193ab */ jal propDeregisterRooms
/* f07bf40: e48a0010 */ swc1 $f10,0x10($a0)
/* f07bf44: 27a401b0 */ addiu $a0,$sp,0x1b0
/* f07bf48: 0fc19283 */ jal roomsCopy
/* f07bf4c: 8fa50054 */ lw $a1,0x54($sp)
/* f07bf50: 02002025 */ or $a0,$s0,$zero
/* f07bf54: 00002825 */ or $a1,$zero,$zero
/* f07bf58: 0fc1a3b7 */ jal func0f069c70
/* f07bf5c: 24060001 */ addiu $a2,$zero,0x1
/* f07bf60: 1000029e */ beqz $zero,.NB0f07c9dc
/* f07bf64: 8fbf004c */ lw $ra,0x4c($sp)
.NB0f07bf68:
/* f07bf68: 0fc13321 */ jal chraiExecute
/* f07bf6c: afa201f8 */ sw $v0,0x1f8($sp)
/* f07bf70: afa00274 */ sw $zero,0x274($sp)
/* f07bf74: 8e020088 */ lw $v0,0x88($s0)
/* f07bf78: 24050042 */ addiu $a1,$zero,0x42
/* f07bf7c: 5040009f */ beqzl $v0,.NB0f07c1fc
/* f07bf80: 8e090008 */ lw $t1,0x8($s0)
/* f07bf84: 8e0a008c */ lw $t2,0x8c($s0)
/* f07bf88: 8c490000 */ lw $t1,0x0($v0)
/* f07bf8c: 27a60220 */ addiu $a2,$sp,0x220
/* f07bf90: 000a5880 */ sll $t3,$t2,0x2
/* f07bf94: 012b1821 */ addu $v1,$t1,$t3
/* f07bf98: 0fc43fc4 */ jal padUnpack
/* f07bf9c: 8c640000 */ lw $a0,0x0($v1)
/* f07bfa0: 8fac01f8 */ lw $t4,0x1f8($sp)
/* f07bfa4: c7a60220 */ lwc1 $f6,0x220($sp)
/* f07bfa8: c7aa0224 */ lwc1 $f10,0x224($sp)
/* f07bfac: 11800011 */ beqz $t4,.NB0f07bff4
/* f07bfb0: e7a60214 */ swc1 $f6,0x214($sp)
/* f07bfb4: 8fad0268 */ lw $t5,0x268($sp)
/* f07bfb8: 240effff */ addiu $t6,$zero,-1
/* f07bfbc: a7ae0212 */ sh $t6,0x212($sp)
/* f07bfc0: 27a40220 */ addiu $a0,$sp,0x220
/* f07bfc4: 3c0540a0 */ lui $a1,0x40a0
/* f07bfc8: 27a60210 */ addiu $a2,$sp,0x210
/* f07bfcc: 00003825 */ or $a3,$zero,$zero
/* f07bfd0: afa00010 */ sw $zero,0x10($sp)
/* f07bfd4: 0c00adde */ jal cdFindGroundYSimple
/* f07bfd8: a7ad0210 */ sh $t5,0x210($sp)
/* f07bfdc: 3c01420c */ lui $at,0x420c
/* f07bfe0: 44814000 */ mtc1 $at,$f8
/* f07bfe4: 00000000 */ sll $zero,$zero,0x0
/* f07bfe8: 46080100 */ add.s $f4,$f0,$f8
/* f07bfec: 10000002 */ beqz $zero,.NB0f07bff8
/* f07bff0: e7a40218 */ swc1 $f4,0x218($sp)
.NB0f07bff4:
/* f07bff4: e7aa0218 */ swc1 $f10,0x218($sp)
.NB0f07bff8:
/* f07bff8: c7a60228 */ lwc1 $f6,0x228($sp)
/* f07bffc: 8fa40278 */ lw $a0,0x278($sp)
/* f07c000: 27a60214 */ addiu $a2,$sp,0x214
/* f07c004: e7a6021c */ swc1 $f6,0x21c($sp)
/* f07c008: 8e0f0008 */ lw $t7,0x8($s0)
/* f07c00c: 24840008 */ addiu $a0,$a0,0x8
/* f07c010: 00802825 */ or $a1,$a0,$zero
/* f07c014: 000fc080 */ sll $t8,$t7,0x2
/* f07c018: 07030011 */ bgezl $t8,.NB0f07c060
/* f07c01c: 8fa20278 */ lw $v0,0x278($sp)
/* f07c020: 0fc10fab */ jal posIsArrivingLaterallyAtPos
/* f07c024: 8fa701f4 */ lw $a3,0x1f4($sp)
/* f07c028: 5040000d */ beqzl $v0,.NB0f07c060
/* f07c02c: 8fa20278 */ lw $v0,0x278($sp)
/* f07c030: 0fc1c542 */ jal hovercarIncrementStep
/* f07c034: 02002025 */ or $a0,$s0,$zero
/* f07c038: 8e190088 */ lw $t9,0x88($s0)
/* f07c03c: 8e0a008c */ lw $t2,0x8c($s0)
/* f07c040: 24050002 */ addiu $a1,$zero,0x2
/* f07c044: 8f280000 */ lw $t0,0x0($t9)
/* f07c048: 000a4880 */ sll $t1,$t2,0x2
/* f07c04c: 27a60220 */ addiu $a2,$sp,0x220
/* f07c050: 01091821 */ addu $v1,$t0,$t1
/* f07c054: 0fc43fc4 */ jal padUnpack
/* f07c058: 8c640000 */ lw $a0,0x0($v1)
/* f07c05c: 8fa20278 */ lw $v0,0x278($sp)
.NB0f07c060:
/* f07c060: c7a80214 */ lwc1 $f8,0x214($sp)
/* f07c064: c7aa021c */ lwc1 $f10,0x21c($sp)
/* f07c068: c4440008 */ lwc1 $f4,0x8($v0)
/* f07c06c: c4460010 */ lwc1 $f6,0x10($v0)
/* f07c070: 46044301 */ sub.s $f12,$f8,$f4
/* f07c074: 0fc251b8 */ jal atan2f
/* f07c078: 46065381 */ sub.s $f14,$f10,$f6
/* f07c07c: 8fa20278 */ lw $v0,0x278($sp)
/* f07c080: e7a00200 */ swc1 $f0,0x200($sp)
/* f07c084: c7a80214 */ lwc1 $f8,0x214($sp)
/* f07c088: c4440008 */ lwc1 $f4,0x8($v0)
/* f07c08c: c7aa021c */ lwc1 $f10,0x21c($sp)
/* f07c090: c4460010 */ lwc1 $f6,0x10($v0)
/* f07c094: 46044081 */ sub.s $f2,$f8,$f4
/* f07c098: 46065381 */ sub.s $f14,$f10,$f6
/* f07c09c: 46021202 */ mul.s $f8,$f2,$f2
/* f07c0a0: 00000000 */ sll $zero,$zero,0x0
/* f07c0a4: 460e7102 */ mul.s $f4,$f14,$f14
/* f07c0a8: 0c012e84 */ jal sqrtf
/* f07c0ac: 46044300 */ add.s $f12,$f8,$f4
/* f07c0b0: 8fab0278 */ lw $t3,0x278($sp)
/* f07c0b4: c7aa0218 */ lwc1 $f10,0x218($sp)
/* f07c0b8: 46000386 */ mov.s $f14,$f0
/* f07c0bc: c566000c */ lwc1 $f6,0xc($t3)
/* f07c0c0: 0fc251b8 */ jal atan2f
/* f07c0c4: 46065301 */ sub.s $f12,$f10,$f6
/* f07c0c8: e7a001fc */ swc1 $f0,0x1fc($sp)
/* f07c0cc: 8e0c0008 */ lw $t4,0x8($s0)
/* f07c0d0: 3c01dfff */ lui $at,0xdfff
/* f07c0d4: c7a80200 */ lwc1 $f8,0x200($sp)
/* f07c0d8: 000c6880 */ sll $t5,$t4,0x2
/* f07c0dc: 05a1000c */ bgez $t5,.NB0f07c110
/* f07c0e0: 3421ffff */ ori $at,$at,0xffff
/* f07c0e4: 8e0e0008 */ lw $t6,0x8($s0)
/* f07c0e8: e608007c */ swc1 $f8,0x7c($s0)
/* f07c0ec: e6000080 */ swc1 $f0,0x80($s0)
/* f07c0f0: 01c17824 */ and $t7,$t6,$at
/* f07c0f4: ae0f0008 */ sw $t7,0x8($s0)
/* f07c0f8: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f07c0fc: 8fa30278 */ lw $v1,0x278($sp)
/* f07c100: c7a40218 */ lwc1 $f4,0x218($sp)
/* f07c104: 53000003 */ beqzl $t8,.NB0f07c114
/* f07c108: 8fb901f8 */ lw $t9,0x1f8($sp)
/* f07c10c: e464000c */ swc1 $f4,0xc($v1)
.NB0f07c110:
/* f07c110: 8fb901f8 */ lw $t9,0x1f8($sp)
.NB0f07c114:
/* f07c114: 8fa30278 */ lw $v1,0x278($sp)
/* f07c118: 27a60214 */ addiu $a2,$sp,0x214
/* f07c11c: 13200034 */ beqz $t9,.NB0f07c1f0
/* f07c120: 24640008 */ addiu $a0,$v1,0x8
/* f07c124: 44800000 */ mtc1 $zero,$f0
/* f07c128: 24650028 */ addiu $a1,$v1,0x28
/* f07c12c: 24075000 */ addiu $a3,$zero,0x5000
/* f07c130: afa00010 */ sw $zero,0x10($sp)
/* f07c134: e7a00014 */ swc1 $f0,0x14($sp)
/* f07c138: 0c00baf2 */ jal cd0002d7c0
/* f07c13c: e7a00018 */ swc1 $f0,0x18($sp)
/* f07c140: 54400005 */ bnezl $v0,.NB0f07c158
/* f07c144: 8fa301f0 */ lw $v1,0x1f0($sp)
/* f07c148: 0c0098a4 */ jal cdGetObstacle
/* f07c14c: 00000000 */ sll $zero,$zero,0x0
/* f07c150: afa201f0 */ sw $v0,0x1f0($sp)
/* f07c154: 8fa301f0 */ lw $v1,0x1f0($sp)
.NB0f07c158:
/* f07c158: 10600025 */ beqz $v1,.NB0f07c1f0
/* f07c15c: 00000000 */ sll $zero,$zero,0x0
/* f07c160: 8c6a0004 */ lw $t2,0x4($v1)
/* f07c164: 8fa60278 */ lw $a2,0x278($sp)
/* f07c168: 3c017f1a */ lui $at,0x7f1a
/* f07c16c: afaa01a0 */ sw $t2,0x1a0($sp)
/* f07c170: c46a0008 */ lwc1 $f10,0x8($v1)
/* f07c174: c4c60008 */ lwc1 $f6,0x8($a2)
/* f07c178: c4680010 */ lwc1 $f8,0x10($v1)
/* f07c17c: c4c40010 */ lwc1 $f4,0x10($a2)
/* f07c180: 46065001 */ sub.s $f0,$f10,$f6
/* f07c184: 01402825 */ or $a1,$t2,$zero
/* f07c188: 00c02025 */ or $a0,$a2,$zero
/* f07c18c: 46044081 */ sub.s $f2,$f8,$f4
/* f07c190: 46000282 */ mul.s $f10,$f0,$f0
/* f07c194: c42849cc */ lwc1 $f8,0x49cc($at)
/* f07c198: 46021182 */ mul.s $f6,$f2,$f2
/* f07c19c: 46065300 */ add.s $f12,$f10,$f6
/* f07c1a0: 4608603c */ c.lt.s $f12,$f8
/* f07c1a4: 00000000 */ sll $zero,$zero,0x0
/* f07c1a8: 45000007 */ bc1f .NB0f07c1c8
/* f07c1ac: 00000000 */ sll $zero,$zero,0x0
/* f07c1b0: 0fc239d6 */ jal doorsChooseSwingDirection
/* f07c1b4: e7ac0058 */ swc1 $f12,0x58($sp)
/* f07c1b8: 8fa401a0 */ lw $a0,0x1a0($sp)
/* f07c1bc: 0fc23312 */ jal doorsRequestMode
/* f07c1c0: 24050001 */ addiu $a1,$zero,0x1
/* f07c1c4: c7ac0058 */ lwc1 $f12,0x58($sp)
.NB0f07c1c8:
/* f07c1c8: 3c017f1a */ lui $at,0x7f1a
/* f07c1cc: c42449d0 */ lwc1 $f4,0x49d0($at)
/* f07c1d0: 4604603c */ c.lt.s $f12,$f4
/* f07c1d4: 00000000 */ sll $zero,$zero,0x0
/* f07c1d8: 45000005 */ bc1f .NB0f07c1f0
/* f07c1dc: 00000000 */ sll $zero,$zero,0x0
/* f07c1e0: 0fc23349 */ jal doorIsOpen
/* f07c1e4: 8fa401a0 */ lw $a0,0x1a0($sp)
/* f07c1e8: 2c480001 */ sltiu $t0,$v0,0x1
/* f07c1ec: afa80274 */ sw $t0,0x274($sp)
.NB0f07c1f0:
/* f07c1f0: 1000001a */ beqz $zero,.NB0f07c25c
/* f07c1f4: 44807000 */ mtc1 $zero,$f14
/* f07c1f8: 8e090008 */ lw $t1,0x8($s0)
.NB0f07c1fc:
/* f07c1fc: 00095880 */ sll $t3,$t1,0x2
/* f07c200: 05630016 */ bgezl $t3,.NB0f07c25c
/* f07c204: 44807000 */ mtc1 $zero,$f14
/* f07c208: c60c0034 */ lwc1 $f12,0x34($s0)
/* f07c20c: 0fc251b8 */ jal atan2f
/* f07c210: c60e003c */ lwc1 $f14,0x3c($s0)
/* f07c214: c6020034 */ lwc1 $f2,0x34($s0)
/* f07c218: c60e003c */ lwc1 $f14,0x3c($s0)
/* f07c21c: e600007c */ swc1 $f0,0x7c($s0)
/* f07c220: 46021282 */ mul.s $f10,$f2,$f2
/* f07c224: 00000000 */ sll $zero,$zero,0x0
/* f07c228: 460e7182 */ mul.s $f6,$f14,$f14
/* f07c22c: 0c012e84 */ jal sqrtf
/* f07c230: 46065300 */ add.s $f12,$f10,$f6
/* f07c234: c60c0038 */ lwc1 $f12,0x38($s0)
/* f07c238: 0fc251b8 */ jal atan2f
/* f07c23c: 46000386 */ mov.s $f14,$f0
/* f07c240: 8e0c0008 */ lw $t4,0x8($s0)
/* f07c244: 3c01dfff */ lui $at,0xdfff
/* f07c248: 3421ffff */ ori $at,$at,0xffff
/* f07c24c: 01816824 */ and $t5,$t4,$at
/* f07c250: e6000080 */ swc1 $f0,0x80($s0)
/* f07c254: ae0d0008 */ sw $t5,0x8($s0)
/* f07c258: 44807000 */ mtc1 $zero,$f14
.NB0f07c25c:
/* f07c25c: c60c006c */ lwc1 $f12,0x6c($s0)
/* f07c260: 3c02800a */ lui $v0,0x800a
/* f07c264: 8fa30278 */ lw $v1,0x278($sp)
/* f07c268: 460c703e */ c.le.s $f14,$f12
/* f07c26c: 2442e6c0 */ addiu $v0,$v0,-6464
/* f07c270: 45020015 */ bc1fl .NB0f07c2c8
/* f07c274: 8fae01f8 */ lw $t6,0x1f8($sp)
/* f07c278: c442004c */ lwc1 $f2,0x4c($v0)
/* f07c27c: 4602603e */ c.le.s $f12,$f2
/* f07c280: 00000000 */ sll $zero,$zero,0x0
/* f07c284: 45020006 */ bc1fl .NB0f07c2a0
/* f07c288: c6000064 */ lwc1 $f0,0x64($s0)
/* f07c28c: c6080068 */ lwc1 $f8,0x68($s0)
/* f07c290: c60c006c */ lwc1 $f12,0x6c($s0)
/* f07c294: 10000008 */ beqz $zero,.NB0f07c2b8
/* f07c298: e6080064 */ swc1 $f8,0x64($s0)
/* f07c29c: c6000064 */ lwc1 $f0,0x64($s0)
.NB0f07c2a0:
/* f07c2a0: c6040068 */ lwc1 $f4,0x68($s0)
/* f07c2a4: 46002281 */ sub.s $f10,$f4,$f0
/* f07c2a8: 46025182 */ mul.s $f6,$f10,$f2
/* f07c2ac: 460c3203 */ div.s $f8,$f6,$f12
/* f07c2b0: 46080100 */ add.s $f4,$f0,$f8
/* f07c2b4: e6040064 */ swc1 $f4,0x64($s0)
.NB0f07c2b8:
/* f07c2b8: c44a004c */ lwc1 $f10,0x4c($v0)
/* f07c2bc: 460a6181 */ sub.s $f6,$f12,$f10
/* f07c2c0: e606006c */ swc1 $f6,0x6c($s0)
/* f07c2c4: 8fae01f8 */ lw $t6,0x1f8($sp)
.NB0f07c2c8:
/* f07c2c8: 3c02800a */ lui $v0,0x800a
/* f07c2cc: 2442e6c0 */ addiu $v0,$v0,-6464
/* f07c2d0: 51c00037 */ beqzl $t6,.NB0f07c3b0
/* f07c2d4: 44802000 */ mtc1 $zero,$f4
/* f07c2d8: c6080070 */ lwc1 $f8,0x70($s0)
/* f07c2dc: 3c017f1a */ lui $at,0x7f1a
/* f07c2e0: 4608703c */ c.lt.s $f14,$f8
/* f07c2e4: 00000000 */ sll $zero,$zero,0x0
/* f07c2e8: 45020013 */ bc1fl .NB0f07c338
/* f07c2ec: c6000064 */ lwc1 $f0,0x64($s0)
/* f07c2f0: c6040068 */ lwc1 $f4,0x68($s0)
/* f07c2f4: c42a49d4 */ lwc1 $f10,0x49d4($at)
/* f07c2f8: c4480044 */ lwc1 $f8,0x44($v0)
/* f07c2fc: 3c017f1a */ lui $at,0x7f1a
/* f07c300: 460a2182 */ mul.s $f6,$f4,$f10
/* f07c304: c60a0064 */ lwc1 $f10,0x64($s0)
/* f07c308: 46083102 */ mul.s $f4,$f6,$f8
/* f07c30c: 46045181 */ sub.s $f6,$f10,$f4
/* f07c310: e6060064 */ swc1 $f6,0x64($s0)
/* f07c314: c6080064 */ lwc1 $f8,0x64($s0)
/* f07c318: 460e403c */ c.lt.s $f8,$f14
/* f07c31c: 00000000 */ sll $zero,$zero,0x0
/* f07c320: 45020013 */ bc1fl .NB0f07c370
/* f07c324: 8faf0274 */ lw $t7,0x274($sp)
/* f07c328: c42a49d8 */ lwc1 $f10,0x49d8($at)
/* f07c32c: 1000000f */ beqz $zero,.NB0f07c36c
/* f07c330: e60a0064 */ swc1 $f10,0x64($s0)
/* f07c334: c6000064 */ lwc1 $f0,0x64($s0)
.NB0f07c338:
/* f07c338: c6020068 */ lwc1 $f2,0x68($s0)
/* f07c33c: 3c017f1a */ lui $at,0x7f1a
/* f07c340: 4602003c */ c.lt.s $f0,$f2
/* f07c344: 00000000 */ sll $zero,$zero,0x0
/* f07c348: 45020009 */ bc1fl .NB0f07c370
/* f07c34c: 8faf0274 */ lw $t7,0x274($sp)
/* f07c350: c42449dc */ lwc1 $f4,0x49dc($at)
/* f07c354: c4480044 */ lwc1 $f8,0x44($v0)
/* f07c358: 46041182 */ mul.s $f6,$f2,$f4
/* f07c35c: 00000000 */ sll $zero,$zero,0x0
/* f07c360: 46083282 */ mul.s $f10,$f6,$f8
/* f07c364: 460a0100 */ add.s $f4,$f0,$f10
/* f07c368: e6040064 */ swc1 $f4,0x64($s0)
.NB0f07c36c:
/* f07c36c: 8faf0274 */ lw $t7,0x274($sp)
.NB0f07c370:
/* f07c370: 3c017f1a */ lui $at,0x7f1a
/* f07c374: 51e0000e */ beqzl $t7,.NB0f07c3b0
/* f07c378: 44802000 */ mtc1 $zero,$f4
/* f07c37c: c42649e0 */ lwc1 $f6,0x49e0($at)
/* f07c380: c4480044 */ lwc1 $f8,0x44($v0)
/* f07c384: c6040064 */ lwc1 $f4,0x64($s0)
/* f07c388: 46083282 */ mul.s $f10,$f6,$f8
/* f07c38c: 460a2181 */ sub.s $f6,$f4,$f10
/* f07c390: e6060064 */ swc1 $f6,0x64($s0)
/* f07c394: c6080064 */ lwc1 $f8,0x64($s0)
/* f07c398: 460e403c */ c.lt.s $f8,$f14
/* f07c39c: 00000000 */ sll $zero,$zero,0x0
/* f07c3a0: 45020003 */ bc1fl .NB0f07c3b0
/* f07c3a4: 44802000 */ mtc1 $zero,$f4
/* f07c3a8: e60e0064 */ swc1 $f14,0x64($s0)
/* f07c3ac: 44802000 */ mtc1 $zero,$f4
.NB0f07c3b0:
/* f07c3b0: c60a0064 */ lwc1 $f10,0x64($s0)
/* f07c3b4: 460a2032 */ c.eq.s $f4,$f10
/* f07c3b8: 00000000 */ sll $zero,$zero,0x0
/* f07c3bc: 45030187 */ bc1tl .NB0f07c9dc
/* f07c3c0: 8fbf004c */ lw $ra,0x4c($sp)
/* f07c3c4: c606007c */ lwc1 $f6,0x7c($s0)
/* f07c3c8: 24780008 */ addiu $t8,$v1,0x8
/* f07c3cc: 24790028 */ addiu $t9,$v1,0x28
/* f07c3d0: e7a60190 */ swc1 $f6,0x190($sp)
/* f07c3d4: c6080080 */ lwc1 $f8,0x80($s0)
/* f07c3d8: e7a8018c */ swc1 $f8,0x18c($sp)
/* f07c3dc: c6040084 */ lwc1 $f4,0x84($s0)
/* f07c3e0: e7a40188 */ swc1 $f4,0x188($sp)
/* f07c3e4: c60a0070 */ lwc1 $f10,0x70($s0)
/* f07c3e8: e7aa0184 */ swc1 $f10,0x184($sp)
/* f07c3ec: c6060074 */ lwc1 $f6,0x74($s0)
/* f07c3f0: e7a60180 */ swc1 $f6,0x180($sp)
/* f07c3f4: c60c007c */ lwc1 $f12,0x7c($s0)
/* f07c3f8: afb90054 */ sw $t9,0x54($sp)
/* f07c3fc: 0c006d55 */ jal sinf
/* f07c400: afb80058 */ sw $t8,0x58($sp)
/* f07c404: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07c408: 0c006d52 */ jal cosf
/* f07c40c: e7a00068 */ swc1 $f0,0x68($sp)
/* f07c410: c7a20068 */ lwc1 $f2,0x68($sp)
/* f07c414: 46020202 */ mul.s $f8,$f0,$f2
/* f07c418: e7a80194 */ swc1 $f8,0x194($sp)
/* f07c41c: 0c006d55 */ jal sinf
/* f07c420: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07c424: e7a00198 */ swc1 $f0,0x198($sp)
/* f07c428: 0c006d52 */ jal cosf
/* f07c42c: c60c007c */ lwc1 $f12,0x7c($s0)
/* f07c430: c60c0080 */ lwc1 $f12,0x80($s0)
/* f07c434: 0c006d52 */ jal cosf
/* f07c438: e7a00068 */ swc1 $f0,0x68($sp)
/* f07c43c: c7a20068 */ lwc1 $f2,0x68($sp)
/* f07c440: 8fa40058 */ lw $a0,0x58($sp)
/* f07c444: 27a50194 */ addiu $a1,$sp,0x194
/* f07c448: 46020102 */ mul.s $f4,$f0,$f2
/* f07c44c: 27a60214 */ addiu $a2,$sp,0x214
/* f07c450: 8fa701f4 */ lw $a3,0x1f4($sp)
/* f07c454: 0fc10f64 */ jal posIsMovingTowardsPosOrStoppedInRange
/* f07c458: e7a4019c */ swc1 $f4,0x19c($sp)
/* f07c45c: 50400006 */ beqzl $v0,.NB0f07c478
/* f07c460: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07c464: c60a007c */ lwc1 $f10,0x7c($s0)
/* f07c468: e7aa0200 */ swc1 $f10,0x200($sp)
/* f07c46c: c6060080 */ lwc1 $f6,0x80($s0)
/* f07c470: e7a601fc */ swc1 $f6,0x1fc($sp)
/* f07c474: 8fa201f8 */ lw $v0,0x1f8($sp)
.NB0f07c478:
/* f07c478: 10400004 */ beqz $v0,.NB0f07c48c
/* f07c47c: 3c014170 */ lui $at,0x4170
/* f07c480: 44818000 */ mtc1 $at,$f16
/* f07c484: 10000006 */ beqz $zero,.NB0f07c4a0
/* f07c488: 46008386 */ mov.s $f14,$f16
.NB0f07c48c:
/* f07c48c: 3c0140a0 */ lui $at,0x40a0
/* f07c490: 44817000 */ mtc1 $at,$f14
/* f07c494: 3c014170 */ lui $at,0x4170
/* f07c498: 44818000 */ mtc1 $at,$f16
/* f07c49c: 00000000 */ sll $zero,$zero,0x0
.NB0f07c4a0:
/* f07c4a0: 50400004 */ beqzl $v0,.NB0f07c4b4
/* f07c4a4: 3c0140a0 */ lui $at,0x40a0
/* f07c4a8: 10000004 */ beqz $zero,.NB0f07c4bc
/* f07c4ac: 46008306 */ mov.s $f12,$f16
/* f07c4b0: 3c0140a0 */ lui $at,0x40a0
.NB0f07c4b4:
/* f07c4b4: 44816000 */ mtc1 $at,$f12
/* f07c4b8: 00000000 */ sll $zero,$zero,0x0
.NB0f07c4bc:
/* f07c4bc: 50400004 */ beqzl $v0,.NB0f07c4d0
/* f07c4c0: 3c0140a0 */ lui $at,0x40a0
/* f07c4c4: 10000004 */ beqz $zero,.NB0f07c4d8
/* f07c4c8: 46008086 */ mov.s $f2,$f16
/* f07c4cc: 3c0140a0 */ lui $at,0x40a0
.NB0f07c4d0:
/* f07c4d0: 44811000 */ mtc1 $at,$f2
/* f07c4d4: 00000000 */ sll $zero,$zero,0x0
.NB0f07c4d8:
/* f07c4d8: 3c017f1a */ lui $at,0x7f1a
/* f07c4dc: c43249e4 */ lwc1 $f18,0x49e4($at)
/* f07c4e0: 3c017f1a */ lui $at,0x7f1a
/* f07c4e4: c42a49e8 */ lwc1 $f10,0x49e8($at)
/* f07c4e8: 46127202 */ mul.s $f8,$f14,$f18
/* f07c4ec: 27a40190 */ addiu $a0,$sp,0x190
/* f07c4f0: 8fa50200 */ lw $a1,0x200($sp)
/* f07c4f4: 46126002 */ mul.s $f0,$f12,$f18
/* f07c4f8: 27a60184 */ addiu $a2,$sp,0x184
/* f07c4fc: 460a1182 */ mul.s $f6,$f2,$f10
/* f07c500: 44074000 */ mfc1 $a3,$f8
/* f07c504: 46000100 */ add.s $f4,$f0,$f0
/* f07c508: e7a60014 */ swc1 $f6,0x14($sp)
/* f07c50c: 0fc1b359 */ jal applyRotation
/* f07c510: e7a40010 */ swc1 $f4,0x10($sp)
/* f07c514: c7a80190 */ lwc1 $f8,0x190($sp)
/* f07c518: c7a40200 */ lwc1 $f4,0x200($sp)
/* f07c51c: 3c014170 */ lui $at,0x4170
/* f07c520: 44818000 */ mtc1 $at,$f16
/* f07c524: 46044032 */ c.eq.s $f8,$f4
/* f07c528: 3c017f1a */ lui $at,0x7f1a
/* f07c52c: c43249ec */ lwc1 $f18,0x49ec($at)
/* f07c530: 45020021 */ bc1fl .NB0f07c5b8
/* f07c534: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07c538: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07c53c: 3c0140a0 */ lui $at,0x40a0
/* f07c540: 50400004 */ beqzl $v0,.NB0f07c554
/* f07c544: 44811000 */ mtc1 $at,$f2
/* f07c548: 10000003 */ beqz $zero,.NB0f07c558
/* f07c54c: 46008086 */ mov.s $f2,$f16
/* f07c550: 44811000 */ mtc1 $at,$f2
.NB0f07c554:
/* f07c554: 00000000 */ sll $zero,$zero,0x0
.NB0f07c558:
/* f07c558: 46121002 */ mul.s $f0,$f2,$f18
/* f07c55c: c7ae0184 */ lwc1 $f14,0x184($sp)
/* f07c560: 46000280 */ add.s $f10,$f0,$f0
/* f07c564: 460a703e */ c.le.s $f14,$f10
/* f07c568: 00000000 */ sll $zero,$zero,0x0
/* f07c56c: 45020012 */ bc1fl .NB0f07c5b8
/* f07c570: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07c574: 10400003 */ beqz $v0,.NB0f07c584
/* f07c578: 3c0140a0 */ lui $at,0x40a0
/* f07c57c: 10000003 */ beqz $zero,.NB0f07c58c
/* f07c580: 46008306 */ mov.s $f12,$f16
.NB0f07c584:
/* f07c584: 44816000 */ mtc1 $at,$f12
/* f07c588: 00000000 */ sll $zero,$zero,0x0
.NB0f07c58c:
/* f07c58c: 46126002 */ mul.s $f0,$f12,$f18
/* f07c590: 46000007 */ neg.s $f0,$f0
/* f07c594: 46000180 */ add.s $f6,$f0,$f0
/* f07c598: 460e303e */ c.le.s $f6,$f14
/* f07c59c: 00000000 */ sll $zero,$zero,0x0
/* f07c5a0: 45020005 */ bc1fl .NB0f07c5b8
/* f07c5a4: 8fa201f8 */ lw $v0,0x1f8($sp)
/* f07c5a8: 44807000 */ mtc1 $zero,$f14
/* f07c5ac: 00000000 */ sll $zero,$zero,0x0
/* f07c5b0: e7ae0184 */ swc1 $f14,0x184($sp)
/* f07c5b4: 8fa201f8 */ lw $v0,0x1f8($sp)
.NB0f07c5b8:
/* f07c5b8: 50400004 */ beqzl $v0,.NB0f07c5cc
/* f07c5bc: 3c0140a0 */ lui $at,0x40a0
/* f07c5c0: 10000004 */ beqz $zero,.NB0f07c5d4
/* f07c5c4: 46008386 */ mov.s $f14,$f16
/* f07c5c8: 3c0140a0 */ lui $at,0x40a0
.NB0f07c5cc:
/* f07c5cc: 44817000 */ mtc1 $at,$f14
/* f07c5d0: 00000000 */ sll $zero,$zero,0x0
.NB0f07c5d4:
/* f07c5d4: 46127202 */ mul.s $f8,$f14,$f18
/* f07c5d8: 50400004 */ beqzl $v0,.NB0f07c5ec
/* f07c5dc: 3c0140a0 */ lui $at,0x40a0
/* f07c5e0: 10000004 */ beqz $zero,.NB0f07c5f4
/* f07c5e4: 46008306 */ mov.s $f12,$f16
/* f07c5e8: 3c0140a0 */ lui $at,0x40a0
.NB0f07c5ec:
/* f07c5ec: 44816000 */ mtc1 $at,$f12
/* f07c5f0: 00000000 */ sll $zero,$zero,0x0
.NB0f07c5f4:
/* f07c5f4: 46126002 */ mul.s $f0,$f12,$f18
/* f07c5f8: 50400004 */ beqzl $v0,.NB0f07c60c
/* f07c5fc: 3c0140a0 */ lui $at,0x40a0
/* f07c600: 10000004 */ beqz $zero,.NB0f07c614
/* f07c604: 46008086 */ mov.s $f2,$f16
/* f07c608: 3c0140a0 */ lui $at,0x40a0
.NB0f07c60c:
/* f07c60c: 44811000 */ mtc1 $at,$f2
/* f07c610: 00000000 */ sll $zero,$zero,0x0
.NB0f07c614:
/* f07c614: 3c017f1a */ lui $at,0x7f1a
/* f07c618: c42a49f0 */ lwc1 $f10,0x49f0($at)
/* f07c61c: 46000100 */ add.s $f4,$f0,$f0
/* f07c620: 44074000 */ mfc1 $a3,$f8
/* f07c624: 460a1182 */ mul.s $f6,$f2,$f10
/* f07c628: 27a4018c */ addiu $a0,$sp,0x18c
/* f07c62c: e7a40010 */ swc1 $f4,0x10($sp)
/* f07c630: 8fa501fc */ lw $a1,0x1fc($sp)
/* f07c634: 27a60180 */ addiu $a2,$sp,0x180
/* f07c638: 0fc1b359 */ jal applyRotation
/* f07c63c: e7a60014 */ swc1 $f6,0x14($sp)
/* f07c640: c7a8018c */ lwc1 $f8,0x18c($sp)
/* f07c644: c7a401fc */ lwc1 $f4,0x1fc($sp)
/* f07c648: 3c014170 */ lui $at,0x4170
/* f07c64c: 44818000 */ mtc1 $at,$f16
/* f07c650: 46044032 */ c.eq.s $f8,$f4
/* f07c654: 3c017f1a */ lui $at,0x7f1a
/* f07c658: c43249f4 */ lwc1 $f18,0x49f4($at)
/* f07c65c: 45020022 */ bc1fl .NB0f07c6e8
/* f07c660: 8e090008 */ lw $t1,0x8($s0)
/* f07c664: 8faa01f8 */ lw $t2,0x1f8($sp)
/* f07c668: 3c0140a0 */ lui $at,0x40a0
/* f07c66c: 8fa801f8 */ lw $t0,0x1f8($sp)
/* f07c670: 51400004 */ beqzl $t2,.NB0f07c684
/* f07c674: 44811000 */ mtc1 $at,$f2
/* f07c678: 10000003 */ beqz $zero,.NB0f07c688
/* f07c67c: 46008086 */ mov.s $f2,$f16
/* f07c680: 44811000 */ mtc1 $at,$f2
.NB0f07c684:
/* f07c684: 00000000 */ sll $zero,$zero,0x0
.NB0f07c688:
/* f07c688: 46121002 */ mul.s $f0,$f2,$f18
/* f07c68c: c7ae0180 */ lwc1 $f14,0x180($sp)
/* f07c690: 46000280 */ add.s $f10,$f0,$f0
/* f07c694: 460a703e */ c.le.s $f14,$f10
/* f07c698: 00000000 */ sll $zero,$zero,0x0
/* f07c69c: 45020012 */ bc1fl .NB0f07c6e8
/* f07c6a0: 8e090008 */ lw $t1,0x8($s0)
/* f07c6a4: 11000003 */ beqz $t0,.NB0f07c6b4
/* f07c6a8: 3c0140a0 */ lui $at,0x40a0
/* f07c6ac: 10000003 */ beqz $zero,.NB0f07c6bc
/* f07c6b0: 46008306 */ mov.s $f12,$f16
.NB0f07c6b4:
/* f07c6b4: 44816000 */ mtc1 $at,$f12
/* f07c6b8: 00000000 */ sll $zero,$zero,0x0
.NB0f07c6bc:
/* f07c6bc: 46126002 */ mul.s $f0,$f12,$f18
/* f07c6c0: 46000007 */ neg.s $f0,$f0
/* f07c6c4: 46000180 */ add.s $f6,$f0,$f0
/* f07c6c8: 460e303e */ c.le.s $f6,$f14
/* f07c6cc: 00000000 */ sll $zero,$zero,0x0
/* f07c6d0: 45020005 */ bc1fl .NB0f07c6e8
/* f07c6d4: 8e090008 */ lw $t1,0x8($s0)
/* f07c6d8: 44807000 */ mtc1 $zero,$f14
/* f07c6dc: 00000000 */ sll $zero,$zero,0x0
/* f07c6e0: e7ae0180 */ swc1 $f14,0x180($sp)
/* f07c6e4: 8e090008 */ lw $t1,0x8($s0)
.NB0f07c6e8:
/* f07c6e8: 44800000 */ mtc1 $zero,$f0
/* f07c6ec: 00095800 */ sll $t3,$t1,0x0
/* f07c6f0: 05630004 */ bgezl $t3,.NB0f07c704
/* f07c6f4: c7ae0184 */ lwc1 $f14,0x184($sp)
/* f07c6f8: 1000000d */ beqz $zero,.NB0f07c730
/* f07c6fc: e7a00188 */ swc1 $f0,0x188($sp)
/* f07c700: c7ae0184 */ lwc1 $f14,0x184($sp)
.NB0f07c704:
/* f07c704: 3c0142f0 */ lui $at,0x42f0
/* f07c708: 44812000 */ mtc1 $at,$f4
/* f07c70c: 46007207 */ neg.s $f8,$f14
/* f07c710: c7a60188 */ lwc1 $f6,0x188($sp)
/* f07c714: 46044282 */ mul.s $f10,$f8,$f4
/* f07c718: 3c017f1a */ lui $at,0x7f1a
/* f07c71c: c42449f8 */ lwc1 $f4,0x49f8($at)
/* f07c720: 46065201 */ sub.s $f8,$f10,$f6
/* f07c724: 46044282 */ mul.s $f10,$f8,$f4
/* f07c728: 460a3200 */ add.s $f8,$f6,$f10
/* f07c72c: e7a80188 */ swc1 $f8,0x188($sp)
.NB0f07c730:
/* f07c730: 8fac01f8 */ lw $t4,0x1f8($sp)
/* f07c734: 11800006 */ beqz $t4,.NB0f07c750
/* f07c738: 3c017f1a */ lui $at,0x7f1a
/* f07c73c: c42449fc */ lwc1 $f4,0x49fc($at)
/* f07c740: c7a6018c */ lwc1 $f6,0x18c($sp)
/* f07c744: 46062281 */ sub.s $f10,$f4,$f6
/* f07c748: 10000002 */ beqz $zero,.NB0f07c754
/* f07c74c: e7aa012c */ swc1 $f10,0x12c($sp)
.NB0f07c750:
/* f07c750: e7a0012c */ swc1 $f0,0x12c($sp)
.NB0f07c754:
/* f07c754: c7a40188 */ lwc1 $f4,0x188($sp)
/* f07c758: c7a80190 */ lwc1 $f8,0x190($sp)
/* f07c75c: e7a00134 */ swc1 $f0,0x134($sp)
/* f07c760: 4604003e */ c.le.s $f0,$f4
/* f07c764: e7a80130 */ swc1 $f8,0x130($sp)
/* f07c768: 45000006 */ bc1f .NB0f07c784
/* f07c76c: 00000000 */ sll $zero,$zero,0x0
/* f07c770: 46002306 */ mov.s $f12,$f4
/* f07c774: 0c005ce4 */ jal mtx4LoadZRotation
/* f07c778: 27a5006c */ addiu $a1,$sp,0x6c
/* f07c77c: 10000008 */ beqz $zero,.NB0f07c7a0
/* f07c780: 27a4012c */ addiu $a0,$sp,0x12c
.NB0f07c784:
/* f07c784: 3c017f1a */ lui $at,0x7f1a
/* f07c788: c42a4a00 */ lwc1 $f10,0x4a00($at)
/* f07c78c: c7a60188 */ lwc1 $f6,0x188($sp)
/* f07c790: 27a5006c */ addiu $a1,$sp,0x6c
/* f07c794: 0c005ce4 */ jal mtx4LoadZRotation
/* f07c798: 460a3300 */ add.s $f12,$f6,$f10
/* f07c79c: 27a4012c */ addiu $a0,$sp,0x12c
.NB0f07c7a0:
/* f07c7a0: 0c005d07 */ jal mtx4LoadRotation
/* f07c7a4: 27a500ac */ addiu $a1,$sp,0xac
/* f07c7a8: 8e0d0018 */ lw $t5,0x18($s0)
/* f07c7ac: 27a500ac */ addiu $a1,$sp,0xac
/* f07c7b0: 0c005b7d */ jal mtx00015f04
/* f07c7b4: c5ac0014 */ lwc1 $f12,0x14($t5)
/* f07c7b8: 27a400ac */ addiu $a0,$sp,0xac
/* f07c7bc: 27a5006c */ addiu $a1,$sp,0x6c
/* f07c7c0: 0c005a3c */ jal mtx4MultMtx4
/* f07c7c4: 27a600ec */ addiu $a2,$sp,0xec
/* f07c7c8: 27a400ec */ addiu $a0,$sp,0xec
/* f07c7cc: 0c005b24 */ jal mtx4ToMtx3
/* f07c7d0: 27a5015c */ addiu $a1,$sp,0x15c
/* f07c7d4: 27a4015c */ addiu $a0,$sp,0x15c
/* f07c7d8: 0c005af2 */ jal mtx3Copy
/* f07c7dc: 2605001c */ addiu $a1,$s0,0x1c
/* f07c7e0: 0c006d52 */ jal cosf
/* f07c7e4: c7ac018c */ lwc1 $f12,0x18c($sp)
/* f07c7e8: e7a00138 */ swc1 $f0,0x138($sp)
/* f07c7ec: 0c006d55 */ jal sinf
/* f07c7f0: c7ac0190 */ lwc1 $f12,0x190($sp)
/* f07c7f4: c7a80138 */ lwc1 $f8,0x138($sp)
/* f07c7f8: 8fae01f8 */ lw $t6,0x1f8($sp)
/* f07c7fc: 46080102 */ mul.s $f4,$f0,$f8
/* f07c800: 11c00005 */ beqz $t6,.NB0f07c818
/* f07c804: e7a40194 */ swc1 $f4,0x194($sp)
/* f07c808: 0c006d55 */ jal sinf
/* f07c80c: c7ac01fc */ lwc1 $f12,0x1fc($sp)
/* f07c810: 10000004 */ beqz $zero,.NB0f07c824
/* f07c814: e7a00198 */ swc1 $f0,0x198($sp)
.NB0f07c818:
/* f07c818: 0c006d55 */ jal sinf
/* f07c81c: c7ac018c */ lwc1 $f12,0x18c($sp)
/* f07c820: e7a00198 */ swc1 $f0,0x198($sp)
.NB0f07c824:
/* f07c824: 0c006d52 */ jal cosf
/* f07c828: c7ac0190 */ lwc1 $f12,0x190($sp)
/* f07c82c: c7a60138 */ lwc1 $f6,0x138($sp)
/* f07c830: 3c01800a */ lui $at,0x800a
/* f07c834: c422e70c */ lwc1 $f2,-0x18f4($at)
/* f07c838: 46060282 */ mul.s $f10,$f0,$f6
/* f07c83c: c7a80194 */ lwc1 $f8,0x194($sp)
/* f07c840: 8faf0278 */ lw $t7,0x278($sp)
/* f07c844: 8fa40058 */ lw $a0,0x58($sp)
/* f07c848: 8fa50054 */ lw $a1,0x54($sp)
/* f07c84c: 27a60150 */ addiu $a2,$sp,0x150
/* f07c850: 27a70140 */ addiu $a3,$sp,0x140
/* f07c854: e7aa019c */ swc1 $f10,0x19c($sp)
/* f07c858: c6040064 */ lwc1 $f4,0x64($s0)
/* f07c85c: 46022182 */ mul.s $f6,$f4,$f2
/* f07c860: c5e40008 */ lwc1 $f4,0x8($t7)
/* f07c864: 46064282 */ mul.s $f10,$f8,$f6
/* f07c868: c7a60198 */ lwc1 $f6,0x198($sp)
/* f07c86c: 46045200 */ add.s $f8,$f10,$f4
/* f07c870: e7a80150 */ swc1 $f8,0x150($sp)
/* f07c874: c60a0064 */ lwc1 $f10,0x64($s0)
/* f07c878: 46025102 */ mul.s $f4,$f10,$f2
/* f07c87c: c5ea000c */ lwc1 $f10,0xc($t7)
/* f07c880: 46043202 */ mul.s $f8,$f6,$f4
/* f07c884: c7a4019c */ lwc1 $f4,0x19c($sp)
/* f07c888: 460a4180 */ add.s $f6,$f8,$f10
/* f07c88c: e7a60154 */ swc1 $f6,0x154($sp)
/* f07c890: c6080064 */ lwc1 $f8,0x64($s0)
/* f07c894: 46024282 */ mul.s $f10,$f8,$f2
/* f07c898: c5e80010 */ lwc1 $f8,0x10($t7)
/* f07c89c: 460a2182 */ mul.s $f6,$f4,$f10
/* f07c8a0: 46083100 */ add.s $f4,$f6,$f8
/* f07c8a4: 0fc19437 */ jal func0f065e74
/* f07c8a8: e7a40158 */ swc1 $f4,0x158($sp)
/* f07c8ac: 8fb801f8 */ lw $t8,0x1f8($sp)
/* f07c8b0: 27a40150 */ addiu $a0,$sp,0x150
/* f07c8b4: 3c0540a0 */ lui $a1,0x40a0
/* f07c8b8: 13000009 */ beqz $t8,.NB0f07c8e0
/* f07c8bc: 27a60140 */ addiu $a2,$sp,0x140
/* f07c8c0: 00003825 */ or $a3,$zero,$zero
/* f07c8c4: 0c00adde */ jal cdFindGroundYSimple
/* f07c8c8: afa00010 */ sw $zero,0x10($sp)
/* f07c8cc: 3c01420c */ lui $at,0x420c
/* f07c8d0: 44815000 */ mtc1 $at,$f10
/* f07c8d4: 00000000 */ sll $zero,$zero,0x0
/* f07c8d8: 460a0180 */ add.s $f6,$f0,$f10
/* f07c8dc: e7a60154 */ swc1 $f6,0x154($sp)
.NB0f07c8e0:
/* f07c8e0: c7a80150 */ lwc1 $f8,0x150($sp)
/* f07c8e4: 8fa40278 */ lw $a0,0x278($sp)
/* f07c8e8: e4880008 */ swc1 $f8,0x8($a0)
/* f07c8ec: c7a40154 */ lwc1 $f4,0x154($sp)
/* f07c8f0: e484000c */ swc1 $f4,0xc($a0)
/* f07c8f4: c7aa0158 */ lwc1 $f10,0x158($sp)
/* f07c8f8: 0fc193ab */ jal propDeregisterRooms
/* f07c8fc: e48a0010 */ swc1 $f10,0x10($a0)
/* f07c900: 27a40140 */ addiu $a0,$sp,0x140
/* f07c904: 0fc19283 */ jal roomsCopy
/* f07c908: 8fa50054 */ lw $a1,0x54($sp)
/* f07c90c: c7a60190 */ lwc1 $f6,0x190($sp)
/* f07c910: 8e020088 */ lw $v0,0x88($s0)
/* f07c914: e606007c */ swc1 $f6,0x7c($s0)
/* f07c918: c7a8018c */ lwc1 $f8,0x18c($sp)
/* f07c91c: e6080080 */ swc1 $f8,0x80($s0)
/* f07c920: c7a40188 */ lwc1 $f4,0x188($sp)
/* f07c924: e6040084 */ swc1 $f4,0x84($s0)
/* f07c928: c7aa0184 */ lwc1 $f10,0x184($sp)
/* f07c92c: e60a0070 */ swc1 $f10,0x70($s0)
/* f07c930: c7a60180 */ lwc1 $f6,0x180($sp)
/* f07c934: 10400024 */ beqz $v0,.NB0f07c9c8
/* f07c938: e6060074 */ swc1 $f6,0x74($s0)
/* f07c93c: 8e08008c */ lw $t0,0x8c($s0)
/* f07c940: 8c4a0000 */ lw $t2,0x0($v0)
/* f07c944: c7a401f4 */ lwc1 $f4,0x1f4($sp)
/* f07c948: 00084880 */ sll $t1,$t0,0x2
/* f07c94c: 01495821 */ addu $t3,$t2,$t1
/* f07c950: 8d6c0004 */ lw $t4,0x4($t3)
/* f07c954: c7a801f4 */ lwc1 $f8,0x1f4($sp)
/* f07c958: 05820010 */ bltzl $t4,.NB0f07c99c
/* f07c95c: c6060064 */ lwc1 $f6,0x64($s0)
/* f07c960: c6080064 */ lwc1 $f8,0x64($s0)
/* f07c964: 8fa40058 */ lw $a0,0x58($sp)
/* f07c968: 27a50150 */ addiu $a1,$sp,0x150
/* f07c96c: 46044282 */ mul.s $f10,$f8,$f4
/* f07c970: 27a60214 */ addiu $a2,$sp,0x214
/* f07c974: 44075000 */ mfc1 $a3,$f10
/* f07c978: 0fc10fab */ jal posIsArrivingLaterallyAtPos
/* f07c97c: 00000000 */ sll $zero,$zero,0x0
/* f07c980: 50400012 */ beqzl $v0,.NB0f07c9cc
/* f07c984: 02002025 */ or $a0,$s0,$zero
/* f07c988: 0fc1c542 */ jal hovercarIncrementStep
/* f07c98c: 02002025 */ or $a0,$s0,$zero
/* f07c990: 1000000e */ beqz $zero,.NB0f07c9cc
/* f07c994: 02002025 */ or $a0,$s0,$zero
/* f07c998: c6060064 */ lwc1 $f6,0x64($s0)
.NB0f07c99c:
/* f07c99c: 8fa40058 */ lw $a0,0x58($sp)
/* f07c9a0: 27a50150 */ addiu $a1,$sp,0x150
/* f07c9a4: 46083102 */ mul.s $f4,$f6,$f8
/* f07c9a8: 27a60214 */ addiu $a2,$sp,0x214
/* f07c9ac: 44072000 */ mfc1 $a3,$f4
/* f07c9b0: 0fc10fab */ jal posIsArrivingLaterallyAtPos
/* f07c9b4: 00000000 */ sll $zero,$zero,0x0
/* f07c9b8: 50400004 */ beqzl $v0,.NB0f07c9cc
/* f07c9bc: 02002025 */ or $a0,$s0,$zero
/* f07c9c0: 0fc1c542 */ jal hovercarIncrementStep
/* f07c9c4: 02002025 */ or $a0,$s0,$zero
.NB0f07c9c8:
/* f07c9c8: 02002025 */ or $a0,$s0,$zero
.NB0f07c9cc:
/* f07c9cc: 00002825 */ or $a1,$zero,$zero
/* f07c9d0: 0fc1a3b7 */ jal func0f069c70
/* f07c9d4: 24060001 */ addiu $a2,$zero,0x1
.NB0f07c9d8:
/* f07c9d8: 8fbf004c */ lw $ra,0x4c($sp)
.NB0f07c9dc:
/* f07c9dc: 8fb00048 */ lw $s0,0x48($sp)
/* f07c9e0: 27bd0278 */ addiu $sp,$sp,0x278
/* f07c9e4: 03e00008 */ jr $ra
/* f07c9e8: 00000000 */ sll $zero,$zero,0x0
);
#endif
//#define HOVVALUE() (active ? 15.0f : 5.0f)
// Mismatch: float regalloc
//void hovercarTick(struct prop *prop)
//{
// s32 stopping; // 274
// struct pad pad; // 220
// struct coord sp214;
// s16 sp210[2];
// struct hovercarobj *hovercar = (struct hovercarobj *)prop->obj;
// struct defaultobj *obj = &hovercar->base;
// u32 stack;
// f32 sp200 = hovercar->roty;
// f32 sp1fc = hovercar->rotx;
// u32 active = obj->flags & OBJFLAG_80000000; // 1f8
// f32 sp1f4 = active ? 5 : 10;
// struct prop *doorprop; // 1f0
// struct coord sp1e4;
// struct coord sp1d8;
// s16 sp1d6;
// u32 stack2;
// u32 stack3;
// struct coord sp1c0; // 1c0
// s16 sp1b0[8]; // 1b0
// f32 tmp2;
// f32 tmp3;
// f32 tmp4;
// struct doorobj *door; // 1a0
// struct coord sp194;
// f32 sp190;
// f32 sp18c;
// f32 sp188;
// f32 sp184;
// f32 sp180;
// f32 sp15c[9];
// struct coord sp150;
// s16 sp140[8];
// f32 tmp;
// f32 sp138;
// struct coord sp12c;
// Mtxf spec;
// Mtxf spac;
// Mtxf sp6c;
// f32 dist;
// s32 *padnum;
//
// doorprop = NULL;
//
// // 23c
// if (active && hovercar->deadtimer60 < 0) {
// // Exploding
// tmp = modelBboxGetYMin(modelFindBboxRodata(hovercar->base.model));
// sp1d6 = prop->rooms[0];
//
// sp1d8.x = hovercar->base.realrot[3];
// sp1d8.y = hovercar->base.realrot[4];
// sp1d8.z = hovercar->base.realrot[5];
//
// sp1e4.x = hovercar->base.realrot[3] * tmp + prop->pos.x;
// sp1e4.y = hovercar->base.realrot[4] * tmp + prop->pos.y;
// sp1e4.z = hovercar->base.realrot[5] * tmp + prop->pos.z;
//
// func0f0926bc(prop, 1, 0xffff);
// explosionCreate(NULL, &prop->pos, prop->rooms, EXPLOSIONTYPE_7, g_Vars.currentplayernum, true, &sp1e4, sp1d6, &sp1d8);
// hovercar->base.hidden |= OBJHFLAG_REAPABLE;
// return;
// }
//
// // 320
// if (hovercar->dead) {
// // 334
// if (active) {
// hovercar->deadtimer60 -= g_Vars.lvupdate240_60;
// hovercar->sparkstimer60 -= g_Vars.lvupdate240_60;
//
// if (hovercar->sparkstimer60 < 0) {
// hovercar->sparkstimer60 = 50;
//
// // Play damage sound
// func0f0939f8(NULL, prop, SFX_SHIELD_DAMAGE, -1,
// -1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1);
//
// // Create sparks
// sparksCreate(prop->rooms[0], prop, &prop->pos, NULL, 0, SPARKTYPE_00);
// }
// } else {
// // 3e8
// if (hovercar->speedtime60 == 0) {
// // 404
// hovercar->speed += 6;
//
// sp1c0.x = prop->pos.x;
// sp1c0.y = prop->pos.y - hovercar->speed;
// sp1c0.z = prop->pos.z;
//
// if (sp1c0.y < hovercar->speedaim) {
// sp1c0.y = hovercar->speedaim;
// hovercar->speedtime60 = 1;
// }
//
// func0f065e74(&prop->pos, prop->rooms, &sp1c0, sp1b0);
//
// prop->pos.x = sp1c0.x;
// prop->pos.y = sp1c0.y;
// prop->pos.z = sp1c0.z;
//
// propDeregisterRooms(prop);
// roomsCopy(sp1b0, prop->rooms);
// func0f069c70(&hovercar->base, false, true);
// }
// }
//
// return;
// }
//
// // 4bc
// chraiExecute(obj, PROPTYPE_OBJ);
// stopping = false;
//
// if (hovercar->path) {
// padnum = &hovercar->path->pads[hovercar->nextstep];
// padUnpack(*padnum, PADFIELD_POS | PADFIELD_ROOM, &pad);
//
// sp214.x = pad.pos.x;
//
// if (active) {
// sp210[0] = pad.room;
// sp210[1] = -1;
//
// sp214.y = cdFindGroundYSimple(&pad.pos, 5, sp210, NULL, NULL) + 35;
// } else {
// sp214.y = pad.pos.y;
// }
//
// sp214.z = pad.pos.z;
//
// if ((hovercar->base.flags & OBJFLAG_20000000)
// && posIsArrivingLaterallyAtPos(&prop->pos, &prop->pos, &sp214, sp1f4)) {
// hovercarIncrementStep(hovercar);
// padnum = &hovercar->path->pads[hovercar->nextstep];
// padUnpack(*padnum, PADFIELD_POS, &pad);
// }
//
// sp200 = atan2f(sp214.x - prop->pos.x, sp214.z - prop->pos.z);
// sp1fc = atan2f(sp214.y - prop->pos.y,
// sqrtf((sp214.x - prop->pos.x) * (sp214.x - prop->pos.x) + (sp214.z - prop->pos.z) * (sp214.z - prop->pos.z)));
//
// // 630
// if (hovercar->base.flags & OBJFLAG_20000000) {
// hovercar->roty = sp200;
// hovercar->rotx = sp1fc;
// obj->flags &= ~OBJFLAG_20000000;
//
// if (active) {
// prop->pos.y = sp214.y;
// }
// }
//
// if (active) {
// if (cd0002d7c0(&prop->pos, prop->rooms, &sp214, 0x5000, 0, 0, 0) == 0) {
// doorprop = cdGetObstacle();
// }
//
// if (doorprop) {
// door = (struct doorobj *)doorprop->obj;
// dist = (doorprop->pos.x - prop->pos.x) * (doorprop->pos.x - prop->pos.x)
// + (doorprop->pos.z - prop->pos.z) * (doorprop->pos.z - prop->pos.z);
//
// if (dist < 200 * 200) {
// doorsChooseSwingDirection(prop, door);
// doorsRequestMode(door, DOORMODE_OPENING);
// }
//
// if (dist < 195 * 195) {
// stopping = !doorIsOpen(door);
// }
// }
// }
// } else {
// // 750
// if (hovercar->base.flags & OBJFLAG_20000000) {
// hovercar->roty = atan2f(hovercar->base.realrot[6], hovercar->base.realrot[8]);
// hovercar->rotx = atan2f(hovercar->base.realrot[7], sqrtf(hovercar->base.realrot[8] * hovercar->base.realrot[8] + hovercar->base.realrot[6] * hovercar->base.realrot[6]));
// hovercar->base.flags &= ~OBJFLAG_20000000;
// }
// }
//
// // 7ac
// // @bug: To calculate the speed correctly, the code needs to iterate the
// // lvupdate multiplier, then adjust the speed and test for reaching the
// // speedaim within each iteration. Or at least test for exceeding the
// // speedaim after updating it. With the below implementation, a lag frame
// // during acceleration can cause the hovercar to exceed its max speed.
// if (hovercar->speedtime60 >= 0) {
// if (hovercar->speedtime60 <= g_Vars.lvupdate240freal) {
// hovercar->speed = hovercar->speedaim;
// } else {
// hovercar->speed += (hovercar->speedaim - hovercar->speed) * g_Vars.lvupdate240freal / hovercar->speedtime60;
// }
//
// hovercar->speedtime60 -= g_Vars.lvupdate240freal;
// }
//
// // 818
// if (active) {
// if (hovercar->turnyspeed60 > 0) {
// hovercar->speed -= hovercar->speedaim * (1.0f / 24.0f) * g_Vars.lvupdate240f;
//
// if (hovercar->speed < 0) {
// hovercar->speed = 0.1f;
// }
// } else {
// if (hovercar->speed < hovercar->speedaim) {
// hovercar->speed += hovercar->speedaim * (1.0f / 24.0f) * g_Vars.lvupdate240f;
// }
// }
//
// if (stopping) {
// hovercar->speed -= 50.0f / 240.f * g_Vars.lvupdate240f;
//
// if (hovercar->speed < 0) {
// hovercar->speed = 0;
// }
// }
// }
//
// // 900
// if (hovercar->speed > 0) {
// sp190 = hovercar->roty;
// sp18c = hovercar->rotx;
// sp188 = hovercar->rotz;
//
// sp184 = hovercar->turnyspeed60;
// sp180 = hovercar->turnxspeed60;
//
// // 94c
// sp194.x = sinf(hovercar->roty) * cosf(hovercar->rotx);
// sp194.y = sinf(hovercar->rotx);
// sp194.z = cosf(hovercar->rotx) * cosf(hovercar->roty);
//
// if (posIsMovingTowardsPosOrStoppedInRange(&prop->pos, &sp194, &sp214, sp1f4)) {
// sp200 = hovercar->roty;
// sp1fc = hovercar->rotx;
// }
//
// // 9c8
// // The multipliers below:
// // val * 0.013087885454297f = val * M_BADPI / 240
// // val * 0.00021813141938765f = val * M_BADPI / 240 / 60
// tmp2 = HOVVALUE();
// tmp3 = HOVVALUE();
// tmp4 = HOVVALUE();
// applyRotation(&sp190, sp200, &sp184,
// tmp2 * 0.00021813141938765f,
// tmp3 * 0.00021813141938765f + tmp3 * 0.00021813141938765f,
// tmp4 * 0.013087885454297f);
//
// // a64
// if (sp190 == sp200) {
// tmp2 = HOVVALUE() * 0.00021813141938765f;
// if (tmp2 + tmp2 >= sp184) {
// tmp2 = -(HOVVALUE() * 0.00021813141938765f);
// if (tmp2 + tmp2 <= sp184) {
// sp184 = 0;
// }
// }
// }
//
// // b04
// tmp2 = HOVVALUE();
// tmp3 = HOVVALUE();
// tmp4 = HOVVALUE();
// applyRotation(&sp18c, sp1fc, &sp180,
// tmp2 * 0.00021813141938765f,
// tmp3 * 0.00021813141938765f + tmp3 * 0.00021813141938765f,
// tmp4 * 0.013087885454297f);
//
// // b90
// if (sp18c == sp1fc) {
// tmp2 = HOVVALUE() * 0.00021813141938765f;
// if (tmp2 + tmp2 >= sp180) {
// tmp2 = -(HOVVALUE() * 0.00021813141938765f);
// if (tmp2 + tmp2 <= sp180) {
// sp180 = 0;
// }
// }
// }
//
// // c34
// if (hovercar->base.flags & OBJFLAG_80000000) {
// sp188 = 0;
// } else {
// sp188 += (-sp184 * 120 - sp188) * 0.1f;
// }
//
// // c84
// sp12c.x = active ? M_BADTAU - sp18c : 0;
// sp12c.y = sp190;
// sp12c.z = 0;
//
// // cb4
// if (sp188 >= 0) {
// mtx4LoadZRotation(sp188, &sp6c);
// } else {
// mtx4LoadZRotation(sp188 + M_BADTAU, &sp6c);
// }
//
// // cf0
// mtx4LoadRotation(&sp12c, &spac);
// mtx00015f04(hovercar->base.model->scale, &spac);
// mtx4MultMtx4(&spac, &sp6c, &spec);
// mtx4ToMtx3(&spec, sp15c);
// mtx3Copy(sp15c, hovercar->base.realrot);
//
// sp138 = cosf(sp18c);
//
// // d50
// sp194.x = sinf(sp190) * sp138;
// sp194.y = active ? sinf(sp1fc) : sinf(sp18c);
// sp194.z = cosf(sp190) * sp138;
//
// sp150.x = prop->pos.f[0] + sp194.f[0] * (hovercar->speed * g_Vars.lvupdate240freal);
// sp150.y = prop->pos.f[1] + sp194.f[1] * (hovercar->speed * g_Vars.lvupdate240freal);
// sp150.z = prop->pos.f[2] + sp194.f[2] * (hovercar->speed * g_Vars.lvupdate240freal);
//
// func0f065e74(&prop->pos, prop->rooms, &sp150, sp140);
//
// // e08
// if (active) {
// sp150.y = cdFindGroundYSimple(&sp150, 5, sp140, NULL, NULL) + 35;
//
// if (sp150.y < -100000) {
// sp150.y = prop->pos.f[1] + sp194.f[1] * (hovercar->speed * g_Vars.lvupdate240freal);
// }
// }
//
// // e68
// prop->pos.x = sp150.x;
// prop->pos.y = sp150.y;
// prop->pos.z = sp150.z;
//
// propDeregisterRooms(prop);
// roomsCopy(sp140, prop->rooms);
//
// hovercar->roty = sp190;
// hovercar->rotx = sp18c;
// hovercar->rotz = sp188;
// hovercar->turnyspeed60 = sp184;
// hovercar->turnxspeed60 = sp180;
//
// if (hovercar->path) {
// if (hovercar->path->pads[hovercar->nextstep + 1] >= 0) {
// if (posIsArrivingLaterallyAtPos(&prop->pos, &sp150, &sp214, hovercar->speed * sp1f4)) {
// hovercarIncrementStep(hovercar);
// }
// } else {
// if (posIsArrivingLaterallyAtPos(&prop->pos, &sp150, &sp214, hovercar->speed * sp1f4)) {
// hovercarIncrementStep(hovercar);
// }
// }
// }
//
// func0f069c70(&hovercar->base, false, true);
// }
//}
void hoverpropTick(struct prop *prop, bool arg1)
{
struct hoverpropobj *obj = (struct hoverpropobj *)prop->obj;
if ((obj->base.hidden & OBJHFLAG_GRABBED) == 0
&& (arg1 || (prop->flags & PROPFLAG_ONANYSCREENPREVTICK) || (obj->base.flags & OBJFLAG_CHOPPER_INACTIVE))) {
func0f0714b8(&obj->base, &obj->hov);
}
}
void hoverbikeTick(struct prop *prop, bool arg1)
{
struct hoverbikeobj *obj = (struct hoverbikeobj *)prop->obj;
if ((obj->base.hidden & OBJHFLAG_MOUNTED) == 0) {
if ((obj->base.hidden & OBJHFLAG_GRABBED) == 0
&& (arg1 || (prop->flags & PROPFLAG_ONANYSCREENPREVTICK))) {
func0f0714b8(&obj->base, &obj->hov);
}
if (obj->base.flags & OBJFLAG_HOVERBIKE_MOVINGWHILEEMPTY) {
hoverbikeUpdateMovement(obj, 0, 0, 0);
}
}
}
/**
* Show or hide the CI dropship's interior features depending on whether the
* dropship object's deactivated flag is set.
*/
void dropshipUpdateInterior(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
struct modelnode *node = modelGetPart(model->filedata, MODELPART_DROPSHIP_INTERIOR);
if (node) {
union modelrwdata *data = modelGetNodeRwData(model, node);
u32 flags = obj->flags;
data->toggle.visible = (flags & OBJFLAG_DEACTIVATED) == 0;
}
}
void glassUpdatePortal(struct prop *prop, s32 playercount, bool *arg2)
{
struct tintedglassobj *glass = (struct tintedglassobj *) prop->obj;
if (g_TintedGlassEnabled) {
glass->opacity = 255;
} else {
glass->opacity = glassCalculateOpacity(&prop->pos, glass->xludist, glass->opadist, glass->unk64);
}
if (glass->portalnum >= 0 && playercount == 1) {
if (glass->opacity == 255) {
portalSetEnabled(glass->portalnum, false);
} else {
portalSetEnabled(glass->portalnum, true);
}
}
*arg2 = false;
}
void weaponInitMatrices(struct prop *prop)
{
struct weaponobj *weapon = prop->weapon;
struct model *model = weapon->base.model;
s32 i = 1;
Mtxf *mtxes = model->matrices;
Mtxf *ptr = &mtxes[i];
for (; i < model->filedata->nummatrices; i++) {
mtx4LoadIdentity(ptr);
ptr++;
}
}
/**
* This function relates to hanging monitor objects, but PD has none of these.
* There is no hanging monitor model in the ROM either, so it's impossible to
* know which model node types the below part numbers refer to. The only clue is
* that the rodata starts with a coordinate. There's at least 3 node types that
* fit this criteria.
*
* An assumption has been made these are position node types.
*/
void hangingmonitorInitMatrices(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
Mtxf *matrices = model->matrices;
union modelrodata *rodata;
rodata = modelGetPartRodata(model->filedata, MODELPART_0000);
mtx4LoadTranslation(&rodata->position.pos, &matrices[1]);
mtx00015be0(matrices, &matrices[1]);
rodata = modelGetPartRodata(model->filedata, MODELPART_0001);
mtx4LoadTranslation(&rodata->position.pos, &matrices[2]);
mtx00015be0(matrices, &matrices[2]);
rodata = modelGetPartRodata(model->filedata, MODELPART_0002);
mtx4LoadTranslation(&rodata->position.pos, &matrices[3]);
mtx00015be0(matrices, &matrices[3]);
rodata = modelGetPartRodata(model->filedata, MODELPART_0003);
mtx4LoadTranslation(&rodata->position.pos, &matrices[4]);
mtx00015be0(matrices, &matrices[4]);
}
void objInitMatrices(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
Mtxf mtx;
if (obj->type == OBJTYPE_DOOR) {
doorInitMatrices(prop);
} else {
mtx3ToMtx4(obj->realrot, &mtx);
mtx4SetTranslation(&prop->pos, &mtx);
mtx00015be4(currentPlayerGetMatrix1740(), &mtx, obj->model->matrices);
if (obj->type == OBJTYPE_CCTV) {
cctvInitMatrices(prop, &mtx);
} else if (obj->type == OBJTYPE_AUTOGUN) {
autogunInitMatrices(prop, &mtx);
} else if (obj->type == OBJTYPE_CHOPPER) {
chopperInitMatrices(prop);
} else if (obj->type == OBJTYPE_WEAPON) {
weaponInitMatrices(prop);
} else if (obj->type == OBJTYPE_HANGINGMONITORS) {
hangingmonitorInitMatrices(prop);
} else {
if (obj->model->filedata->nummatrices >= 2) {
struct modelrenderdata thing = {NULL, 1, 3};
u32 stack;
Mtxf sp28;
mtx4Copy(obj->model->matrices, &sp28);
thing.unk10 = obj->model->matrices;
thing.unk00 = &sp28;
model0001ce64(&thing, obj->model);
}
}
}
}
bool propCanRegen(struct prop *prop)
{
return true;
}
u32 func0f07e474(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
bool silent = false;
bool regenning;
u32 cmdindex;
u32 padnum;
struct defaultobj *newparent;
if (prop->timetoregen > 0) {
// Prop is taken/unavailable
regenning = true;
if (prop->timetoregen >= PALDOWN(60)) {
regenning = false;
}
prop->timetoregen -= g_Vars.lvupdate240_60;
// If ready to start fading in but propCanRegen returns false, wait
// another second and try again. In practice propCanRegen will always
// return true so this condition will never pass.
if (prop->timetoregen < PALDOWN(60) && !regenning && !propCanRegen(prop)) {
prop->timetoregen += PALDOWN(60);
}
if (prop->timetoregen <= 0) {
// Prop has finished fading in
prop->timetoregen = 0;
if (obj->hidden2 & OBJH2FLAG_10) {
obj->hidden |= OBJHFLAG_00001000;
} else {
obj->hidden &= ~OBJHFLAG_00001000;
}
} else if (prop->timetoregen < PALDOWN(60) && !regenning) {
// 1 second left - time to start fading in
if (obj->damage == 0 && (obj->hidden2 & OBJH2FLAG_DESTROYED) == 0) {
if (obj->flags & OBJFLAG_INSIDEANOTHEROBJ) {
propDeregisterRooms(prop);
propDelist(prop);
obj->hidden &= ~OBJHFLAG_00000800;
cmdindex = setupGetCommandIndexByProp(prop);
// Find the parent obj (pad is repurposed here)
padnum = obj->pad;
newparent = setupCommandGetObject(cmdindex + padnum);
if (newparent && newparent->prop) {
modelSetScale(obj->model, obj->model->scale);
propReparent(obj->prop, newparent->prop);
silent = true;
}
} else {
propEnable(prop);
func0f0923d4(obj);
obj->hidden &= ~OBJHFLAG_00000800;
}
} else {
// Object was previously damaged. Maybe glass?
if (obj->hidden2 & OBJH2FLAG_08) {
obj->flags |= OBJFLAG_00000100;
} else {
obj->flags &= ~OBJFLAG_00000100;
}
obj->damage = 0;
obj->hidden2 &= ~OBJH2FLAG_DESTROYED;
func0f089a94(1, obj->model);
}
if (obj->type == OBJTYPE_SHIELD) {
struct shieldobj *shield = (struct shieldobj *)obj;
shield->amount = shield->initialamount;
}
if (!silent) {
// Play respawn sound
func0f0939f8(NULL, prop, SFX_REGEN, -1,
-1, 0, 0, 0, 0, -1, 0, -1, -1, -1, -1);
}
}
}
if (obj->type == OBJTYPE_AUTOGUN) {
struct autogunobj *autogun = (struct autogunobj *)prop->obj;
if (autogun->beam) {
beamTick(autogun->beam);
}
} else if (obj->type == OBJTYPE_CHOPPER) {
struct chopperobj *chopper = (struct chopperobj *)prop->obj;
beamTick(chopper->fireslotthing->beam);
} else if (obj->type == OBJTYPE_LIFT) {
liftTick(prop);
} else if (obj->type == OBJTYPE_ESCASTEP) {
escastepTick(prop);
}
return TICKOP_NONE;
}
/**
* Tick the given object.
*
* This function is called once per player per frame. The first time it is
* called per frame a "fulltick" is done. On consecutive calls for this tick
* much of the logic is skipped, and only the logic specific to the current
* player is executed.
*/
s32 objTick(struct prop *prop)
{
bool pass;
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
bool sp592 = false;
bool pass2;
struct prop *child;
struct prop *next;
s32 result = TICKOP_NONE;
bool fulltick = false;
u32 playercount = PLAYERCOUNT();
bool sp564 = true;
bool sp560 = false;
bool sp556 = false;
bool sp552 = false;
if (obj->hidden & OBJHFLAG_ISRETICK) {
obj->hidden &= ~OBJHFLAG_ISRETICK;
} else if ((obj->hidden & OBJHFLAG_AIRBORNE) && (obj->projectile->flags & PROJECTILEFLAG_00000800) == 0) {
prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
obj->hidden |= OBJHFLAG_ISRETICK;
return TICKOP_RETICK;
}
if (obj->hidden & OBJHFLAG_REAPABLE) {
pass = false;
if (obj->type == OBJTYPE_TINTEDGLASS) {
struct tintedglassobj *glass = (struct tintedglassobj *)obj;
if (glass->portalnum >= 0) {
pass = (g_BgPortals[glass->portalnum].flags & PORTALFLAG_ENABLED) && (g_BgPortals[glass->portalnum].flags & PORTALFLAG_04) == 0;
g_BgPortals[glass->portalnum].flags |= PORTALFLAG_04;
}
} else if (obj->type == OBJTYPE_DOOR) {
struct doorobj *door = (struct doorobj *)obj;
if (door->portalnum >= 0) {
pass = (g_BgPortals[door->portalnum].flags & PORTALFLAG_ENABLED) && (g_BgPortals[door->portalnum].flags & PORTALFLAG_04) == 0;
g_BgPortals[door->portalnum].flags |= PORTALFLAG_04;
}
}
if (!pass) {
objDropRecursively(prop, true);
objFree(obj, false, obj->hidden2 & OBJH2FLAG_CANREGEN);
return TICKOP_FREE;
}
}
if (prop->flags & PROPFLAG_NOTYETTICKED) {
fulltick = true;
prop->flags &= ~PROPFLAG_NOTYETTICKED;
}
if (obj->hidden & OBJHFLAG_AIRBORNE) {
struct projectile *projectile = obj->projectile;
if (projectile->ownerprop && propGetPlayerNum(projectile->ownerprop) >= 0) {
fulltick = (projectile->ownerprop == g_Vars.currentplayer->prop);
}
}
if (model->anim) {
if (g_Anims[model->anim->animnum].flags & 0x02) {
if (g_Vars.tickmode != TICKMODE_CUTSCENE
&& modelGetCurAnimFrame(model) >= modelGetNumAnimFrames(model) - 1) {
animTurnOff(model->anim);
model->anim = NULL;
} else {
// In cutscene
struct modelrenderdata sp476 = {0, 1, 3};
Mtxf sp412;
struct coord sp400;
s16 sp384[8];
struct hov *hov = NULL;
if (fulltick) {
s32 iVar10 = g_Vars.lvupdate240;
if (g_Vars.tickmode == TICKMODE_CUTSCENE && iVar10 > 0 && g_Vars.cutsceneskip60ths > 0) {
iVar10 += g_Vars.cutsceneskip60ths * 4;
}
model0001ee18(model, iVar10, true);
}
anim00023d38(model->anim->animnum);
if ((g_Anims[model->anim->animnum].flags & 0x04)
&& anim0002384c(model->anim->animnum, model->anim->framea) < 0) {
sp552 = true;
} else {
if (fulltick) {
model0001b3bc(model);
}
sp556 = true;
sp476.unk10 = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf));
sp476.unk00 = currentPlayerGetMatrix1740();
model0001cebc(&sp476, model);
if (fulltick) {
mtx00015be4(currentPlayerGetUnk174c(), model->matrices, &sp412);
mtx4ToMtx3(&sp412, obj->realrot);
sp400.x = sp412.m[3][0];
sp400.y = sp412.m[3][1];
sp400.z = sp412.m[3][2];
if (obj->flags3 & OBJFLAG3_00000010) {
func0f065e98(&prop->pos, prop->rooms, &sp400, sp384);
} else {
func0f065e74(&prop->pos, prop->rooms, &sp400, sp384);
}
prop->pos.x = sp400.x;
prop->pos.y = sp400.y;
prop->pos.z = sp400.z;
propDeregisterRooms(prop);
roomsCopy(sp384, prop->rooms);
if (obj->type == OBJTYPE_HOVERPROP) {
hov = &((struct hoverpropobj *)obj)->hov;
} else if (obj->type == OBJTYPE_HOVERBIKE) {
hov = &((struct hoverbikeobj *)obj)->hov;
}
if (hov) {
hovUpdateGround(obj, hov, &prop->pos, prop->rooms, obj->realrot);
hoverpropSetTurnAngle(obj, atan2f(sp412.m[2][0], sp412.m[2][2]));
hov->unk14 = 0;
hov->unk1c = 0;
hov->unk20 = 0;
hov->unk28 = 0;
hov->unk30 = hov->ground;
hov->unk04 = prop->pos.y - hov->ground;
hov->unk0c = 0;
}
if ((obj->flags & OBJFLAG_ILLUMINATED) == 0) {
cd0002a36c(&prop->pos, prop->rooms, &obj->floorcol, 0);
}
func0f069c70(obj, true, true);
if (obj->type == OBJTYPE_LIFT) {
liftUpdateTiles((struct liftobj *)obj, false);
}
sp592 = true;
}
}
}
} else {
struct modelrenderdata sp312 = {0, 1, 3};
Mtxf sp248;
struct coord sp236;
s16 sp220[8];
s32 numchrs;
Mtxf sp152;
s32 sp148;
s32 sp144;
s32 i;
struct coord sp128;
struct coord sp116 = {0, 0, 0};
f32 sp112;
s32 tagnum;
struct tile *geos[2];
u8 *end;
f32 damage;
if (fulltick) {
sp148 = floorf(model->anim->frame);
sp148++;
model0001ee18(model, g_Vars.lvupdate240, 1);
sp144 = floorf(model->anim->frame);
for (i = sp148; i <= sp144; i++) {
anim00024b64(0, 0, model->filedata->skel, model->anim->animnum, i, &sp128, 0);
sp116.x += sp128.x * 0.1f;
sp112 = sp128.y * 0.1f;
sp116.z += sp128.z * 0.1f;
}
mtx00016208(obj->realrot, &sp116);
}
mtx3ToMtx4(obj->realrot, &sp248);
mtx4SetTranslation(&prop->pos, &sp248);
mtx4MultMtx4(currentPlayerGetMatrix1740(), &sp248, &sp152);
sp556 = true;
sp312.unk10 = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf));
sp312.unk00 = &sp152;
model0001cebc(&sp312, model);
if (fulltick) {
sp236.x = (f32)sp116.x + prop->pos.x;
sp236.y = prop->pos.y;
sp236.z = (f32)sp116.z + prop->pos.z;
if (obj->flags3 & OBJFLAG3_00000010) {
func0f065e98(&prop->pos, prop->rooms, &sp236, sp220);
} else {
func0f065e74(&prop->pos, prop->rooms, &sp236, sp220);
}
if (modelGetCurAnimFrame(model) >= modelGetNumAnimFrames(model) - 1) {
animTurnOff(model->anim);
model->anim = NULL;
mtx00015be4(currentPlayerGetUnk174c(), model->matrices, &sp248);
mtx4ToMtx3(&sp248, obj->realrot);
tagnum = objGetTagNum(obj);
if (tagnum >= 0) {
numchrs = chrsGetNumSlots();
for (i = 0; i < numchrs; i++) {
if (g_ChrSlots[i].myspecial == tagnum) {
g_ChrSlots[i].myspecial = -1;
}
}
}
}
prop->pos.x = sp236.x;
prop->pos.z = sp236.z;
propDeregisterRooms(prop);
roomsCopy(sp220, prop->rooms);
if (sp148 <= sp144) {
prop->pos.y = cdFindGroundYSimple(&prop->pos, 5, prop->rooms, &obj->floorcol, NULL)
+ func0f06a620(obj) + sp112;
}
func0f069c70(obj, true, true);
sp592 = true;
if (objUpdateGeometry(prop, (u8 **)geos, &end)
&& geos[0]->type == TILETYPE_02
&& cd0002e4c4((struct tiletype2 *) geos[0], prop->rooms, 4) == 0) {
damage = ((obj->maxdamage - obj->damage) + 1) / 250.0f;
obj->flags &= ~OBJFLAG_INVINCIBLE;
objDamage(obj, damage, &prop->pos, WEAPON_REMOTEMINE, -1);
}
}
}
}
if (fulltick) {
if (model->anim == NULL && (obj->hidden & OBJHFLAG_AIRBORNE)) {
sp592 = func0f073c6c(obj, &sp560);
if (sp560) {
result = TICKOP_5;
}
}
if (obj->type == OBJTYPE_DOOR) {
doorTick(prop);
} else if (obj->type == OBJTYPE_CCTV && (obj->flags & OBJFLAG_DEACTIVATED) == 0) {
cctvTick(prop);
} else if (obj->type == OBJTYPE_FAN) {
fanTick(prop);
} else if (obj->type == OBJTYPE_AUTOGUN && (obj->flags & OBJFLAG_DEACTIVATED) == 0) {
autogunTick(prop);
} else if (obj->type == OBJTYPE_HOVERCAR) {
hovercarTick(prop);
} else if (obj->type == OBJTYPE_CHOPPER) {
struct chopperobj *chopper = (struct chopperobj *)obj;
if (!chopper->dead) {
if (!lvIsPaused()) {
if (chopper->attackmode == CHOPPERMODE_DEAD) {
// empty
} else if (chopper->attackmode == CHOPPERMODE_FALL) {
if (obj->flags & OBJFLAG_CHOPPER_INACTIVE) {
chopper->dead = true;
} else {
chopperTickFall(prop);
}
} else if (obj->flags & OBJFLAG_CHOPPER_INACTIVE) {
chopperTickIdle(prop);
} else if (chopper->attackmode == CHOPPERMODE_PATROL) {
chopperTickPatrol(prop);
} else if (chopper->attackmode == CHOPPERMODE_COMBAT) {
chopperTickCombat(prop);
}
}
} else {
func0f0926bc(prop, 1, 0xffff);
}
} else if (obj->type == OBJTYPE_HOVERPROP) {
hoverpropTick(prop, sp592);
} else if (obj->type == OBJTYPE_HOVERBIKE) {
hoverbikeTick(prop, sp592);
}
}
if (obj->type == OBJTYPE_TINTEDGLASS) {
glassUpdatePortal(prop, playercount, &sp564);
} else if (obj->type == OBJTYPE_DOOR) {
doorUpdatePortalIfWindowed(prop, playercount);
}
if (sp552) {
pass2 = false;
} else if (prop == bmoveGetHoverbike() || prop == bmoveGetGrabbedProp()) {
pass2 = posIsInDrawDistance(&prop->pos);
} else if (obj->flags2 & OBJFLAG2_04000000) {
pass2 = posIsInDrawDistance(&prop->pos);
} else if ((obj->hidden & OBJHFLAG_00000800) == 0 && (obj->flags2 & OBJFLAG2_INVISIBLE) == 0) {
pass2 = func0f08e8ac(prop, &prop->pos, model0001af80(model), sp564);
} else {
pass2 = false;
}
if (pass2) {
if (sp592 == false) {
func0f069630(prop, obj->nextcol, obj->floorcol);
}
if (fulltick) {
if (prop->flags & PROPFLAG_ONANYSCREENPREVTICK) {
colourTween(obj->shadecol, obj->nextcol);
} else {
obj->shadecol[0] = obj->nextcol[0];
obj->shadecol[1] = obj->nextcol[1];
obj->shadecol[2] = obj->nextcol[2];
obj->shadecol[3] = obj->nextcol[3];
}
}
prop->flags |= PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONTHISSCREENTHISTICK;
if (obj->type == OBJTYPE_FAN) {
fanUpdateModel(prop);
} else if (obj->model->filedata->skel == &g_SkelDropship) {
dropshipUpdateInterior(prop);
}
if (sp556 == false) {
model->matrices = gfxAllocate(model->filedata->nummatrices * sizeof(Mtxf));
objInitMatrices(prop);
model0001cb0c(model, model->filedata->rootnode);
}
prop->z = -model->matrices[0].m[3][2];
func0f07063c(prop, fulltick);
child = prop->child;
while (child) {
next = child->next;
func0f07079c(child, fulltick);
child = next;
}
} else {
prop->flags &= ~PROPFLAG_ONTHISSCREENTHISTICK;
func0f07063c(prop, fulltick);
child = prop->child;
while (child) {
next = child->next;
func0f0706f8(child, fulltick);
child = next;
}
}
if (obj->hidden & OBJHFLAG_00000100) {
obj->hidden &= ~OBJHFLAG_00000100;
objDamage(obj, random() * (1.0f / U32_MAX) * 4.0f + 2.0f, &prop->pos, WEAPON_NONE, (obj->hidden & 0xf0000000) >> 28);
}
if (fulltick) {
if (obj->type == OBJTYPE_AUTOGUN) {
func0f079f1c(prop);
}
objDropRecursively(prop, false);
}
return result;
}
Gfx *propsRenderBeams(Gfx *gdl)
{
struct prop *prop = g_Vars.activeprops;
while (prop) {
if (prop->type == PROPTYPE_CHR) {
struct chrdata *chr = prop->chr;
if (CHRRACE(chr) == RACE_ROBOT) {
gdl = func0f0acb90(gdl, chr->unk348[0]->beam, true, true);
gdl = func0f0acb90(gdl, chr->unk348[1]->beam, true, true);
} else {
if (chr->fireslots[0] >= 0) {
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslots[0]].beam, true, false);
}
if (chr->fireslots[1] >= 0) {
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslots[1]].beam, true, false);
}
}
} else if (prop->type == PROPTYPE_OBJ) {
struct defaultobj *obj = prop->obj;
if (obj->type == OBJTYPE_AUTOGUN) {
struct autogunobj *autogun = (struct autogunobj *)prop->obj;
gdl = func0f0acb90(gdl, autogun->beam, true, false);
} else if (obj->type == OBJTYPE_CHOPPER) {
struct chopperobj *chopper = (struct chopperobj *)prop->obj;
gdl = func0f0acb90(gdl, chopper->fireslotthing->beam, true, true);
}
} else if (prop->type == PROPTYPE_PLAYER) {
if (prop->chr && propGetPlayerNum(prop) != g_Vars.currentplayernum) {
struct chrdata *chr = prop->chr;
if (chr->fireslots[0] >= 0) {
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslots[0]].beam, true, false);
}
if (chr->fireslots[1] >= 0) {
gdl = func0f0acb90(gdl, &g_Fireslots[chr->fireslots[1]].beam, true, false);
}
}
}
prop = prop->next;
}
return gdl;
}
void tvscreenSetCmdlist(struct tvscreen *screen, u32 *cmdlist)
{
screen->cmdlist = cmdlist;
screen->offset = 0;
}
u32 g_TvCmdlist00[] = {
tvcmd_settexture(29),
tvcmd_setcolour(0x008000ff, 1),
tvcmd_scrollrely(-512, 80),
tvcmd_pause(120),
tvcmd_scrollrely(-256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(-128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(-512, 40),
tvcmd_pause(60),
tvcmd_scrollrely(-64, 30),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist01[] = {
tvcmd_setcolour(0x202020ff, 1),
tvcmd_settexture(28),
tvcmd_scrollrelx(2048, 120),
tvcmd_pause(120),
tvcmd_scaleabsx(256, 1),
tvcmd_scaleabsy(512, 60),
tvcmd_scrollrelx(-8192, 120),
tvcmd_pause(120),
tvcmd_scaleabsx(1024, 1),
tvcmd_scaleabsy(1024, 60),
tvcmd_scaleabsy(1024, 60),
tvcmd_scrollrelx(2048, 120),
tvcmd_pause(120),
tvcmd_scaleabsx(128, 1),
tvcmd_scaleabsy(2048, 60),
tvcmd_scaleabsy(1024, 120),
tvcmd_scrollrely(1024, 60),
tvcmd_scrollrelx(512, 120),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist02[] = {
tvcmd_setcolour(0x202020ff, 1),
tvcmd_settexture(28),
tvcmd_scaleabsx(128, 1),
tvcmd_scaleabsy(2048, 60),
tvcmd_scaleabsy(1024, 120),
tvcmd_scrollrely(1024, 10),
tvcmd_scrollrelx(512, 40),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist03[] = {
tvcmd_settexture(29),
tvcmd_setcolour(0x008000ff, 1),
tvcmd_scrollrely(-512, 80),
tvcmd_pause(120),
tvcmd_scrollrely(-256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(-128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(-512, 40),
tvcmd_pause(60),
tvcmd_scrollrely(-64, 30),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist15[] = {
tvcmd_settexture(50),
tvcmd_setcolour(0x008000fe, 1),
tvcmd_scrollrely(-512, 80),
tvcmd_pause(120),
tvcmd_scrollrely(-256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(-128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(-512, 40),
tvcmd_pause(60),
tvcmd_scrollrely(-64, 30),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist04[] = {
tvcmd_settexture(29),
tvcmd_setcolour(0x280000ff, 1),
tvcmd_scrollrely(512, 80),
tvcmd_pause(120),
tvcmd_scrollrely(256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(512, 40),
tvcmd_pause(60),
tvcmd_scrollrely(64, 30),
tvcmd_pause(120),
tvcmd_scrollrely(256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(128, 10),
tvcmd_restart(),
};
u32 g_TvCmdlist05[] = {
tvcmd_settexture(29),
tvcmd_setcolour(0x003c00ff, 1),
tvcmd_scrollrely(512, 80),
tvcmd_pause(120),
tvcmd_scrollrely(128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(512, 40),
tvcmd_pause(60),
tvcmd_scrollrely(64, 30),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist06[] = {
tvcmd_settexture(30),
tvcmd_setcolour(0x404000ff, 1),
tvcmd_scrollrelx(640, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist07[] = {
tvcmd_settexture(30),
tvcmd_setcolour(0x004040ff, 1),
tvcmd_scrollrelx(640, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist08[] = {
tvcmd_settexture(30),
tvcmd_setcolour(0x008000ff, 1),
tvcmd_scrollrelx(-640, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist0F[] = {
tvcmd_settexture(49),
tvcmd_scaleabsx(512, 0),
tvcmd_scaleabsy(512, 0),
tvcmd_setcolour(0xdc2828ff, 60),
tvcmd_pause(60),
tvcmd_setcolour(0x323232ff, 10),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist10[] = {
tvcmd_settexture(49),
tvcmd_scaleabsx(512, 0),
tvcmd_scaleabsy(512, 0),
tvcmd_setcolour(0x32c832ff, 60),
tvcmd_pause(60),
tvcmd_setcolour(0x323232ff, 10),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist11[] = {
tvcmd_settexture(49),
tvcmd_scaleabsx(512, 0),
tvcmd_scaleabsy(512, 0),
tvcmd_setcolour(0x323232ff, 10),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist12[] = {
tvcmd_settexture(49),
tvcmd_scaleabsx(512, 0),
tvcmd_scaleabsy(512, 0),
tvcmd_setcolour(0xdc2828ff, 10),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist13[] = {
tvcmd_settexture(49),
tvcmd_scaleabsx(512, 0),
tvcmd_scaleabsy(512, 0),
tvcmd_setcolour(0x32c832ff, 10),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist16[] = {
tvcmd_settexture(51),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist17[] = {
tvcmd_settexture(72),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist18[] = {
tvcmd_settexture(73),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist19[] = {
tvcmd_settexture(74),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist1A[] = {
tvcmd_settexture(75),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist1B[] = {
tvcmd_settexture(76),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist1C[] = {
tvcmd_settexture(77),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist24[] = {
tvcmd_setcolour(0x000000ff, 1),
tvcmd_settexture(75),
tvcmd_pause(1),
tvcmd_setcolour(0xffffffff, 180),
tvcmd_pause(360),
tvcmd_setcolour(0x000000ff, 30),
tvcmd_pause(30),
tvcmd_settexture(76),
tvcmd_pause(1),
tvcmd_setcolour(0xffffffff, 180),
tvcmd_pause(360),
tvcmd_setcolour(0x000000ff, 30),
tvcmd_pause(30),
tvcmd_settexture(77),
tvcmd_pause(1),
tvcmd_setcolour(0xffffffff, 180),
tvcmd_pause(360),
tvcmd_setcolour(0x000000ff, 29),
tvcmd_pause(29),
tvcmd_restart(),
};
u32 g_TvCmdlist1D[] = {
tvcmd_settexture(78),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 var8006a4dc[] = {
tvcmd_settexture(52),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(5),
tvcmd_settexture(53),
tvcmd_pause(5),
tvcmd_settexture(54),
tvcmd_pause(5),
tvcmd_settexture(55),
tvcmd_pause(5),
tvcmd_restart(),
};
u32 var8006a52c[] = {
tvcmd_settexture(79),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(5),
tvcmd_settexture(80),
tvcmd_pause(5),
tvcmd_settexture(81),
tvcmd_pause(5),
tvcmd_settexture(82),
tvcmd_pause(5),
tvcmd_restart(),
};
u32 var8006a57c[] = {
tvcmd_settexture(56),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_settexture(57),
tvcmd_pause(10),
tvcmd_settexture(58),
tvcmd_pause(10),
tvcmd_settexture(59),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 var8006a5cc[] = {
tvcmd_settexture(60),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(15),
tvcmd_settexture(61),
tvcmd_pause(15),
tvcmd_restart(),
};
u32 var8006a5fc[] = {
tvcmd_settexture(62),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_settexture(63),
tvcmd_pause(10),
tvcmd_settexture(64),
tvcmd_pause(10),
tvcmd_settexture(65),
tvcmd_pause(10),
tvcmd_settexture(66),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 var8006a65c[] = {
tvcmd_settexture(67),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_settexture(68),
tvcmd_pause(10),
tvcmd_settexture(69),
tvcmd_pause(10),
tvcmd_settexture(70),
tvcmd_pause(10),
tvcmd_settexture(71),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist25[] = {
tvcmd_settexture(83),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist26[] = {
tvcmd_settexture(84),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist27[] = {
tvcmd_settexture(85),
tvcmd_setcolour(0x008000ff, 1),
tvcmd_scrollrely(-512, 80),
tvcmd_pause(80),
tvcmd_restart(),
};
u32 g_TvCmdlist28[] = {
tvcmd_settexture(85),
tvcmd_setcolour(0x0032c8ff, 1),
tvcmd_scrollrely(512, 80),
tvcmd_pause(80),
tvcmd_restart(),
};
u32 g_TvCmdlist29[] = {
tvcmd_settexture(86),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist2A[] = {
tvcmd_settexture(86),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_scrollrely(-512, 80),
tvcmd_pause(80),
tvcmd_restart(),
};
u32 g_TvCmdlist2B[] = {
tvcmd_settexture(87),
tvcmd_setcolour(0x008000ff, 1),
tvcmd_scrollrely(-512, 80),
tvcmd_pause(80),
tvcmd_restart(),
};
u32 g_TvCmdlist2C[] = {
tvcmd_settexture(87),
tvcmd_setcolour(0x0032c8ff, 1),
tvcmd_scrollrely(512, 80),
tvcmd_pause(80),
tvcmd_restart(),
};
u32 g_TvCmdlist2D[] = {
tvcmd_settexture(88),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist2E[] = {
tvcmd_settexture(89),
tvcmd_setcolour(0x007f00ff, 1),
tvcmd_scrollrely(-512, 80),
tvcmd_pause(120),
tvcmd_scrollrely(-256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(-128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(-512, 40),
tvcmd_pause(60),
tvcmd_scrollrely(-64, 30),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist2F[] = {
tvcmd_settexture(89),
tvcmd_setcolour(0xff7f00ff, 1),
tvcmd_scrollrely(512, 80),
tvcmd_pause(120),
tvcmd_scrollrely(256, 20),
tvcmd_pause(120),
tvcmd_scrollrely(128, 10),
tvcmd_pause(40),
tvcmd_scrollrely(512, 40),
tvcmd_pause(60),
tvcmd_scrollrely(64, 30),
tvcmd_pause(120),
tvcmd_restart(),
};
u32 g_TvCmdlist30[] = {
tvcmd_settexture(90),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist31[] = {
tvcmd_settexture(91),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist32[] = {
tvcmd_settexture(92),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist33[] = {
tvcmd_setcolour(0x000000ff, 1),
tvcmd_settexture(90),
tvcmd_pause(1),
tvcmd_setcolour(0xffffffff, 180),
tvcmd_pause(360),
tvcmd_setcolour(0x000000ff, 30),
tvcmd_pause(30),
tvcmd_settexture(91),
tvcmd_pause(1),
tvcmd_setcolour(0xffffffff, 180),
tvcmd_pause(360),
tvcmd_setcolour(0x000000ff, 30),
tvcmd_pause(30),
tvcmd_settexture(92),
tvcmd_pause(1),
tvcmd_setcolour(0xffffffff, 180),
tvcmd_pause(360),
tvcmd_setcolour(0x000000ff, 29),
tvcmd_pause(29),
tvcmd_restart(),
};
u32 g_TvCmdlist34[] = {
tvcmd_settexture(93),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist35[] = {
tvcmd_settexture(94),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist36[] = {
tvcmd_settexture(95),
tvcmd_setcolour(0xffffffff, 1),
tvcmd_pause(10),
tvcmd_restart(),
};
u32 g_TvCmdlist14[] = {
tvcmd_settexture(0),
tvcmd_setcolour(0x000000ff, 0),
tvcmd_yield(),
// flow on to next cmdlist
};
u32 var8006aaa0[] = {
tvcmd_scaleabsx(1024, 0),
tvcmd_scaleabsy(1024, 0),
tvcmd_pause(1),
tvcmd_scaleabsx(4096, 20),
tvcmd_scaleabsy(4096, 20),
tvcmd_pause(20),
tvcmd_restart(),
};
u32 var8006aae4[] = {
tvcmd_settexture(0),
tvcmd_scrollrelx(1024, 20),
tvcmd_pause(20),
tvcmd_scrollrely(1024, 20),
tvcmd_setcolour(0x000000ff, 20),
tvcmd_pause(20),
tvcmd_scaleabsx(512, 20),
tvcmd_scaleabsy(512, 20),
tvcmd_setcolour(0xffffffff, 20),
tvcmd_pause(20),
tvcmd_scaleabsx(1024, 20),
tvcmd_scaleabsy(1024, 20),
tvcmd_pause(20),
tvcmd_restart(),
};
void tvscreenSetImageByNum(struct tvscreen *screen, s32 imagenum)
{
u32 *image = g_TvCmdlist00;
switch (imagenum) {
case TVCMDLIST_01: image = g_TvCmdlist01; break;
case TVCMDLIST_02: image = g_TvCmdlist02; break;
case TVCMDLIST_03: image = g_TvCmdlist03; break;
case TVCMDLIST_04: image = g_TvCmdlist04; break;
case TVCMDLIST_05: image = g_TvCmdlist05; break;
case TVCMDLIST_06: image = g_TvCmdlist06; break;
case TVCMDLIST_07: image = g_TvCmdlist07; break;
case TVCMDLIST_08: image = g_TvCmdlist08; break;
case TVCMDLIST_09: image = g_TvCmdlist03; break;
case TVCMDLIST_0A: image = g_TvCmdlist03; break;
case TVCMDLIST_0B: image = g_TvCmdlist03; break;
case TVCMDLIST_0C: image = g_TvCmdlist03; break;
case TVCMDLIST_0D: image = g_TvCmdlist03; break;
case TVCMDLIST_0E: image = g_TvCmdlist03; break;
case TVCMDLIST_0F: image = g_TvCmdlist0F; break;
case TVCMDLIST_10: image = g_TvCmdlist10; break;
case TVCMDLIST_11: image = g_TvCmdlist11; break;
case TVCMDLIST_12: image = g_TvCmdlist12; break;
case TVCMDLIST_13: image = g_TvCmdlist13; break;
case TVCMDLIST_14: image = g_TvCmdlist14; break;
case TVCMDLIST_15: image = g_TvCmdlist15; break;
case TVCMDLIST_16: image = g_TvCmdlist16; break;
case TVCMDLIST_17: image = g_TvCmdlist17; break;
case TVCMDLIST_18: image = g_TvCmdlist18; break;
case TVCMDLIST_19: image = g_TvCmdlist19; break;
case TVCMDLIST_1A: image = g_TvCmdlist1A; break;
case TVCMDLIST_1B: image = g_TvCmdlist1B; break;
case TVCMDLIST_1C: image = g_TvCmdlist1C; break;
case TVCMDLIST_1D: image = g_TvCmdlist1D; break;
case TVCMDLIST_24: image = g_TvCmdlist24; break;
case TVCMDLIST_1E: image = g_TvCmdlist08; break;
case TVCMDLIST_1F: image = g_TvCmdlist08; break;
case TVCMDLIST_20: image = g_TvCmdlist08; break;
case TVCMDLIST_21: image = g_TvCmdlist08; break;
case TVCMDLIST_22: image = g_TvCmdlist08; break;
case TVCMDLIST_23: image = g_TvCmdlist08; break;
case TVCMDLIST_25: image = g_TvCmdlist25; break;
case TVCMDLIST_26: image = g_TvCmdlist26; break;
case TVCMDLIST_27: image = g_TvCmdlist27; break;
case TVCMDLIST_28: image = g_TvCmdlist28; break;
case TVCMDLIST_29: image = g_TvCmdlist29; break;
case TVCMDLIST_2A: image = g_TvCmdlist2A; break;
case TVCMDLIST_2B: image = g_TvCmdlist2B; break;
case TVCMDLIST_2C: image = g_TvCmdlist2C; break;
case TVCMDLIST_2D: image = g_TvCmdlist2D; break;
case TVCMDLIST_2E: image = g_TvCmdlist2E; break;
case TVCMDLIST_2F: image = g_TvCmdlist2F; break;
case TVCMDLIST_30: image = g_TvCmdlist30; break;
case TVCMDLIST_31: image = g_TvCmdlist31; break;
case TVCMDLIST_32: image = g_TvCmdlist32; break;
case TVCMDLIST_33: image = g_TvCmdlist33; break;
case TVCMDLIST_34: image = g_TvCmdlist34; break;
case TVCMDLIST_35: image = g_TvCmdlist35; break;
case TVCMDLIST_36: image = g_TvCmdlist36; break;
case TVCMDLIST_00:
break;
}
tvscreenSetCmdlist(screen, image);
}
void tvscreenSetTexture(struct tvscreen *screen, s32 texturenum)
{
screen->tconfig = (struct textureconfig *)texturenum;
}
GLOBAL_ASM(
glabel tvscreenRender
.late_rodata
glabel var7f1aa7cc
.word 0x40c907a9
glabel var7f1aa7d0
.word 0x38c907a9
glabel var7f1aa7d4
.word tvscreenRender+0xec # f07fce4
glabel var7f1aa7d8
.word tvscreenRender+0x100 # f07fcf8
glabel var7f1aa7dc
.word tvscreenRender+0x170 # f07fd68
glabel var7f1aa7e0
.word tvscreenRender+0x1e0 # f07fdd8
glabel var7f1aa7e4
.word tvscreenRender+0x24c # f07fe44
glabel var7f1aa7e8
.word tvscreenRender+0x2b8 # f07feb0
glabel var7f1aa7ec
.word tvscreenRender+0x324 # f07ff1c
glabel var7f1aa7f0
.word tvscreenRender+0x390 # f07ff88
glabel var7f1aa7f4
.word tvscreenRender+0x3bc # f07ffb4
glabel var7f1aa7f8
.word tvscreenRender+0x408 # f080000
glabel var7f1aa7fc
.word tvscreenRender+0x428 # f080020
glabel var7f1aa800
.word tvscreenRender+0x47c # f080074
glabel var7f1aa804
.word tvscreenRender+0x484 # f08007c
glabel var7f1aa808
.word tvscreenRender+0x48c # f080084
glabel var7f1aa80c
.word tvscreenRender+0x524 # f08011c
glabel var7f1aa810
.word tvscreenRender+0x548 # f080140
glabel var7f1aa814
.word 0x38c907a9
glabel var7f1aa818
.word 0x38c907a9
glabel var7f1aa81c
.word 0x38c907a9
glabel var7f1aa820
.word 0x3fc907a9
glabel var7f1aa824
.word 0x3fb50481
.text
/* f07fbf8: 27bdff48 */ addiu $sp,$sp,-184
/* f07fbfc: afb10048 */ sw $s1,0x48($sp)
/* f07fc00: afb00044 */ sw $s0,0x44($sp)
/* f07fc04: 00c08025 */ or $s0,$a2,$zero
/* f07fc08: 00a08825 */ or $s1,$a1,$zero
/* f07fc0c: afbf004c */ sw $ra,0x4c($sp)
/* f07fc10: f7ba0038 */ sdc1 $f26,0x38($sp)
/* f07fc14: f7b80030 */ sdc1 $f24,0x30($sp)
/* f07fc18: f7b60028 */ sdc1 $f22,0x28($sp)
/* f07fc1c: f7b40020 */ sdc1 $f20,0x20($sp)
/* f07fc20: afa400b8 */ sw $a0,0xb8($sp)
/* f07fc24: 10a0035d */ beqz $a1,.L0f08099c
/* f07fc28: afa700c4 */ sw $a3,0xc4($sp)
/* f07fc2c: 94ae0000 */ lhu $t6,0x0($a1)
/* f07fc30: 24010018 */ addiu $at,$zero,0x18
/* f07fc34: 31cf00ff */ andi $t7,$t6,0xff
/* f07fc38: 55e10359 */ bnel $t7,$at,.L0f0809a0
/* f07fc3c: 8fbf004c */ lw $ra,0x4c($sp)
/* f07fc40: 0fc59e59 */ jal gfxAllocateVertices
/* f07fc44: 24040004 */ addiu $a0,$zero,0x4
/* f07fc48: afa200b4 */ sw $v0,0xb4($sp)
/* f07fc4c: 0fc59e73 */ jal gfxAllocateColours
/* f07fc50: 24040001 */ addiu $a0,$zero,0x1
/* f07fc54: 8fb800c4 */ lw $t8,0xc4($sp)
/* f07fc58: afa200b0 */ sw $v0,0xb0($sp)
/* f07fc5c: 8fa400b8 */ lw $a0,0xb8($sp)
/* f07fc60: 27190008 */ addiu $t9,$t8,0x8
/* f07fc64: afb900c4 */ sw $t9,0xc4($sp)
/* f07fc68: afb800ac */ sw $t8,0xac($sp)
/* f07fc6c: 8e290004 */ lw $t1,0x4($s1)
/* f07fc70: 02202825 */ or $a1,$s1,$zero
/* f07fc74: 0c006a87 */ jal modelGetNodeRwData
/* f07fc78: afa900a8 */ sw $t1,0xa8($sp)
/* f07fc7c: 3c017f1b */ lui $at,%hi(var7f1aa7cc)
/* f07fc80: c43aa7cc */ lwc1 $f26,%lo(var7f1aa7cc)($at)
/* f07fc84: 3c013a80 */ lui $at,0x3a80
/* f07fc88: 4481c000 */ mtc1 $at,$f24
/* f07fc8c: 3c013f80 */ lui $at,0x3f80
/* f07fc90: 4481a000 */ mtc1 $at,$f20
/* f07fc94: 3c017f1b */ lui $at,%hi(var7f1aa7d0)
/* f07fc98: 3c06800a */ lui $a2,%hi(g_Vars)
/* f07fc9c: 4480b000 */ mtc1 $zero,$f22
/* f07fca0: afa200a4 */ sw $v0,0xa4($sp)
/* f07fca4: 00008825 */ or $s1,$zero,$zero
/* f07fca8: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f07fcac: c422a7d0 */ lwc1 $f2,%lo(var7f1aa7d0)($at)
/* f07fcb0: 96020004 */ lhu $v0,0x4($s0)
.L0f07fcb4:
/* f07fcb4: 8e0a0000 */ lw $t2,0x0($s0)
/* f07fcb8: 00025880 */ sll $t3,$v0,0x2
/* f07fcbc: 014b1821 */ addu $v1,$t2,$t3
/* f07fcc0: 8c6c0000 */ lw $t4,0x0($v1)
/* f07fcc4: 2d810010 */ sltiu $at,$t4,0x10
/* f07fcc8: 10200139 */ beqz $at,.L0f0801b0
/* f07fccc: 000c6080 */ sll $t4,$t4,0x2
/* f07fcd0: 3c017f1b */ lui $at,%hi(var7f1aa7d4)
/* f07fcd4: 002c0821 */ addu $at,$at,$t4
/* f07fcd8: 8c2ca7d4 */ lw $t4,%lo(var7f1aa7d4)($at)
/* f07fcdc: 01800008 */ jr $t4
/* f07fce0: 00000000 */ nop
/* f07fce4: 244d0001 */ addiu $t5,$v0,0x1
/* f07fce8: e6160040 */ swc1 $f22,0x40($s0)
/* f07fcec: e6160054 */ swc1 $f22,0x54($s0)
/* f07fcf0: 1000012f */ b .L0f0801b0
/* f07fcf4: a60d0004 */ sh $t5,0x4($s0)
/* f07fcf8: e616003c */ swc1 $f22,0x3c($s0)
/* f07fcfc: 8c620008 */ lw $v0,0x8($v1)
/* f07fd00: 54400004 */ bnezl $v0,.L0f07fd14
/* f07fd04: 44822000 */ mtc1 $v0,$f4
/* f07fd08: 1000000a */ b .L0f07fd34
/* f07fd0c: e6140040 */ swc1 $f20,0x40($s0)
/* f07fd10: 44822000 */ mtc1 $v0,$f4
.L0f07fd14:
/* f07fd14: 3c014f80 */ lui $at,0x4f80
/* f07fd18: 04410004 */ bgez $v0,.L0f07fd2c
/* f07fd1c: 468021a0 */ cvt.s.w $f6,$f4
/* f07fd20: 44814000 */ mtc1 $at,$f8
/* f07fd24: 00000000 */ nop
/* f07fd28: 46083180 */ add.s $f6,$f6,$f8
.L0f07fd2c:
/* f07fd2c: 4606a283 */ div.s $f10,$f20,$f6
/* f07fd30: e60a0040 */ swc1 $f10,0x40($s0)
.L0f07fd34:
/* f07fd34: c6000038 */ lwc1 $f0,0x38($s0)
/* f07fd38: 960f0004 */ lhu $t7,0x4($s0)
/* f07fd3c: e6000044 */ swc1 $f0,0x44($s0)
/* f07fd40: 8c6e0004 */ lw $t6,0x4($v1)
/* f07fd44: 25f80003 */ addiu $t8,$t7,0x3
/* f07fd48: a6180004 */ sh $t8,0x4($s0)
/* f07fd4c: 448e9000 */ mtc1 $t6,$f18
/* f07fd50: 00000000 */ nop
/* f07fd54: 46809120 */ cvt.s.w $f4,$f18
/* f07fd58: 46182202 */ mul.s $f8,$f4,$f24
/* f07fd5c: 46080180 */ add.s $f6,$f0,$f8
/* f07fd60: 10000113 */ b .L0f0801b0
/* f07fd64: e6060048 */ swc1 $f6,0x48($s0)
/* f07fd68: e6160050 */ swc1 $f22,0x50($s0)
/* f07fd6c: 8c620008 */ lw $v0,0x8($v1)
/* f07fd70: 54400004 */ bnezl $v0,.L0f07fd84
/* f07fd74: 44825000 */ mtc1 $v0,$f10
/* f07fd78: 1000000a */ b .L0f07fda4
/* f07fd7c: e6140054 */ swc1 $f20,0x54($s0)
/* f07fd80: 44825000 */ mtc1 $v0,$f10
.L0f07fd84:
/* f07fd84: 3c014f80 */ lui $at,0x4f80
/* f07fd88: 04410004 */ bgez $v0,.L0f07fd9c
/* f07fd8c: 468054a0 */ cvt.s.w $f18,$f10
/* f07fd90: 44812000 */ mtc1 $at,$f4
/* f07fd94: 00000000 */ nop
/* f07fd98: 46049480 */ add.s $f18,$f18,$f4
.L0f07fd9c:
/* f07fd9c: 4612a203 */ div.s $f8,$f20,$f18
/* f07fda0: e6080054 */ swc1 $f8,0x54($s0)
.L0f07fda4:
/* f07fda4: c600004c */ lwc1 $f0,0x4c($s0)
/* f07fda8: 96090004 */ lhu $t1,0x4($s0)
/* f07fdac: e6000058 */ swc1 $f0,0x58($s0)
/* f07fdb0: 8c790004 */ lw $t9,0x4($v1)
/* f07fdb4: 252a0003 */ addiu $t2,$t1,0x3
/* f07fdb8: a60a0004 */ sh $t2,0x4($s0)
/* f07fdbc: 44993000 */ mtc1 $t9,$f6
/* f07fdc0: 00000000 */ nop
/* f07fdc4: 468032a0 */ cvt.s.w $f10,$f6
/* f07fdc8: 46185102 */ mul.s $f4,$f10,$f24
/* f07fdcc: 46040480 */ add.s $f18,$f0,$f4
/* f07fdd0: 100000f7 */ b .L0f0801b0
/* f07fdd4: e612005c */ swc1 $f18,0x5c($s0)
/* f07fdd8: e616003c */ swc1 $f22,0x3c($s0)
/* f07fddc: 8c620008 */ lw $v0,0x8($v1)
/* f07fde0: 54400004 */ bnezl $v0,.L0f07fdf4
/* f07fde4: 44824000 */ mtc1 $v0,$f8
/* f07fde8: 1000000a */ b .L0f07fe14
/* f07fdec: e6140040 */ swc1 $f20,0x40($s0)
/* f07fdf0: 44824000 */ mtc1 $v0,$f8
.L0f07fdf4:
/* f07fdf4: 3c014f80 */ lui $at,0x4f80
/* f07fdf8: 04410004 */ bgez $v0,.L0f07fe0c
/* f07fdfc: 468041a0 */ cvt.s.w $f6,$f8
/* f07fe00: 44815000 */ mtc1 $at,$f10
/* f07fe04: 00000000 */ nop
/* f07fe08: 460a3180 */ add.s $f6,$f6,$f10
.L0f07fe0c:
/* f07fe0c: 4606a103 */ div.s $f4,$f20,$f6
/* f07fe10: e6040040 */ swc1 $f4,0x40($s0)
.L0f07fe14:
/* f07fe14: c6120038 */ lwc1 $f18,0x38($s0)
/* f07fe18: 960c0004 */ lhu $t4,0x4($s0)
/* f07fe1c: e6120044 */ swc1 $f18,0x44($s0)
/* f07fe20: 8c6b0004 */ lw $t3,0x4($v1)
/* f07fe24: 258d0003 */ addiu $t5,$t4,0x3
/* f07fe28: a60d0004 */ sh $t5,0x4($s0)
/* f07fe2c: 448b4000 */ mtc1 $t3,$f8
/* f07fe30: 00000000 */ nop
/* f07fe34: 468042a0 */ cvt.s.w $f10,$f8
/* f07fe38: 46185182 */ mul.s $f6,$f10,$f24
/* f07fe3c: 100000dc */ b .L0f0801b0
/* f07fe40: e6060048 */ swc1 $f6,0x48($s0)
/* f07fe44: e6160050 */ swc1 $f22,0x50($s0)
/* f07fe48: 8c620008 */ lw $v0,0x8($v1)
/* f07fe4c: 54400004 */ bnezl $v0,.L0f07fe60
/* f07fe50: 44822000 */ mtc1 $v0,$f4
/* f07fe54: 1000000a */ b .L0f07fe80
/* f07fe58: e6140054 */ swc1 $f20,0x54($s0)
/* f07fe5c: 44822000 */ mtc1 $v0,$f4
.L0f07fe60:
/* f07fe60: 3c014f80 */ lui $at,0x4f80
/* f07fe64: 04410004 */ bgez $v0,.L0f07fe78
/* f07fe68: 468024a0 */ cvt.s.w $f18,$f4
/* f07fe6c: 44814000 */ mtc1 $at,$f8
/* f07fe70: 00000000 */ nop
/* f07fe74: 46089480 */ add.s $f18,$f18,$f8
.L0f07fe78:
/* f07fe78: 4612a283 */ div.s $f10,$f20,$f18
/* f07fe7c: e60a0054 */ swc1 $f10,0x54($s0)
.L0f07fe80:
/* f07fe80: c606004c */ lwc1 $f6,0x4c($s0)
/* f07fe84: 960f0004 */ lhu $t7,0x4($s0)
/* f07fe88: e6060058 */ swc1 $f6,0x58($s0)
/* f07fe8c: 8c6e0004 */ lw $t6,0x4($v1)
/* f07fe90: 25f80003 */ addiu $t8,$t7,0x3
/* f07fe94: a6180004 */ sh $t8,0x4($s0)
/* f07fe98: 448e2000 */ mtc1 $t6,$f4
/* f07fe9c: 00000000 */ nop
/* f07fea0: 46802220 */ cvt.s.w $f8,$f4
/* f07fea4: 46184482 */ mul.s $f18,$f8,$f24
/* f07fea8: 100000c1 */ b .L0f0801b0
/* f07feac: e612005c */ swc1 $f18,0x5c($s0)
/* f07feb0: e6160014 */ swc1 $f22,0x14($s0)
/* f07feb4: 8c620008 */ lw $v0,0x8($v1)
/* f07feb8: 54400004 */ bnezl $v0,.L0f07fecc
/* f07febc: 44825000 */ mtc1 $v0,$f10
/* f07fec0: 1000000a */ b .L0f07feec
/* f07fec4: e6140018 */ swc1 $f20,0x18($s0)
/* f07fec8: 44825000 */ mtc1 $v0,$f10
.L0f07fecc:
/* f07fecc: 3c014f80 */ lui $at,0x4f80
/* f07fed0: 04410004 */ bgez $v0,.L0f07fee4
/* f07fed4: 468051a0 */ cvt.s.w $f6,$f10
/* f07fed8: 44812000 */ mtc1 $at,$f4
/* f07fedc: 00000000 */ nop
/* f07fee0: 46043180 */ add.s $f6,$f6,$f4
.L0f07fee4:
/* f07fee4: 4606a203 */ div.s $f8,$f20,$f6
/* f07fee8: e6080018 */ swc1 $f8,0x18($s0)
.L0f07feec:
/* f07feec: c6120010 */ lwc1 $f18,0x10($s0)
/* f07fef0: 96090004 */ lhu $t1,0x4($s0)
/* f07fef4: e612001c */ swc1 $f18,0x1c($s0)
/* f07fef8: 8c790004 */ lw $t9,0x4($v1)
/* f07fefc: 252a0003 */ addiu $t2,$t1,0x3
/* f07ff00: a60a0004 */ sh $t2,0x4($s0)
/* f07ff04: 44995000 */ mtc1 $t9,$f10
/* f07ff08: 00000000 */ nop
/* f07ff0c: 46805120 */ cvt.s.w $f4,$f10
/* f07ff10: 46182182 */ mul.s $f6,$f4,$f24
/* f07ff14: 100000a6 */ b .L0f0801b0
/* f07ff18: e6060020 */ swc1 $f6,0x20($s0)
/* f07ff1c: e6160028 */ swc1 $f22,0x28($s0)
/* f07ff20: 8c620008 */ lw $v0,0x8($v1)
/* f07ff24: 54400004 */ bnezl $v0,.L0f07ff38
/* f07ff28: 44824000 */ mtc1 $v0,$f8
/* f07ff2c: 1000000a */ b .L0f07ff58
/* f07ff30: e614002c */ swc1 $f20,0x2c($s0)
/* f07ff34: 44824000 */ mtc1 $v0,$f8
.L0f07ff38:
/* f07ff38: 3c014f80 */ lui $at,0x4f80
/* f07ff3c: 04410004 */ bgez $v0,.L0f07ff50
/* f07ff40: 468044a0 */ cvt.s.w $f18,$f8
/* f07ff44: 44815000 */ mtc1 $at,$f10
/* f07ff48: 00000000 */ nop
/* f07ff4c: 460a9480 */ add.s $f18,$f18,$f10
.L0f07ff50:
/* f07ff50: 4612a103 */ div.s $f4,$f20,$f18
/* f07ff54: e604002c */ swc1 $f4,0x2c($s0)
.L0f07ff58:
/* f07ff58: c6060024 */ lwc1 $f6,0x24($s0)
/* f07ff5c: 960c0004 */ lhu $t4,0x4($s0)
/* f07ff60: e6060030 */ swc1 $f6,0x30($s0)
/* f07ff64: 8c6b0004 */ lw $t3,0x4($v1)
/* f07ff68: 258d0003 */ addiu $t5,$t4,0x3
/* f07ff6c: a60d0004 */ sh $t5,0x4($s0)
/* f07ff70: 448b4000 */ mtc1 $t3,$f8
/* f07ff74: 00000000 */ nop
/* f07ff78: 468042a0 */ cvt.s.w $f10,$f8
/* f07ff7c: 46185482 */ mul.s $f18,$f10,$f24
/* f07ff80: 1000008b */ b .L0f0801b0
/* f07ff84: e6120034 */ swc1 $f18,0x34($s0)
/* f07ff88: 02002025 */ or $a0,$s0,$zero
/* f07ff8c: 0fc1fefc */ jal tvscreenSetTexture
/* f07ff90: 8c650004 */ lw $a1,0x4($v1)
/* f07ff94: 960e0004 */ lhu $t6,0x4($s0)
/* f07ff98: 3c017f1b */ lui $at,%hi(var7f1aa814)
/* f07ff9c: 3c06800a */ lui $a2,%hi(g_Vars)
/* f07ffa0: 25cf0002 */ addiu $t7,$t6,0x2
/* f07ffa4: a60f0004 */ sh $t7,0x4($s0)
/* f07ffa8: c422a814 */ lwc1 $f2,%lo(var7f1aa814)($at)
/* f07ffac: 10000080 */ b .L0f0801b0
/* f07ffb0: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f07ffb4: 86020006 */ lh $v0,0x6($s0)
/* f07ffb8: 0442000e */ bltzl $v0,.L0f07fff4
/* f07ffbc: 8c6c0004 */ lw $t4,0x4($v1)
/* f07ffc0: 8cd80038 */ lw $t8,0x38($a2)
/* f07ffc4: 0058c823 */ subu $t9,$v0,$t8
/* f07ffc8: a6190006 */ sh $t9,0x6($s0)
/* f07ffcc: 86090006 */ lh $t1,0x6($s0)
/* f07ffd0: 05220004 */ bltzl $t1,.L0f07ffe4
/* f07ffd4: 960a0004 */ lhu $t2,0x4($s0)
/* f07ffd8: 10000075 */ b .L0f0801b0
/* f07ffdc: 24110001 */ addiu $s1,$zero,0x1
/* f07ffe0: 960a0004 */ lhu $t2,0x4($s0)
.L0f07ffe4:
/* f07ffe4: 254b0002 */ addiu $t3,$t2,0x2
/* f07ffe8: 10000071 */ b .L0f0801b0
/* f07ffec: a60b0004 */ sh $t3,0x4($s0)
/* f07fff0: 8c6c0004 */ lw $t4,0x4($v1)
.L0f07fff4:
/* f07fff4: 24110001 */ addiu $s1,$zero,0x1
/* f07fff8: 1000006d */ b .L0f0801b0
/* f07fffc: a60c0006 */ sh $t4,0x6($s0)
/* f080000: 02002025 */ or $a0,$s0,$zero
/* f080004: 0fc1fe46 */ jal tvscreenSetCmdlist
/* f080008: 8c650004 */ lw $a1,0x4($v1)
/* f08000c: 3c017f1b */ lui $at,%hi(var7f1aa818)
/* f080010: 3c06800a */ lui $a2,%hi(g_Vars)
/* f080014: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f080018: 10000065 */ b .L0f0801b0
/* f08001c: c422a818 */ lwc1 $f2,%lo(var7f1aa818)($at)
/* f080020: 0c004b70 */ jal random
/* f080024: afa30098 */ sw $v1,0x98($sp)
/* f080028: 8fa30098 */ lw $v1,0x98($sp)
/* f08002c: 00026c02 */ srl $t5,$v0,0x10
/* f080030: 02002025 */ or $a0,$s0,$zero
/* f080034: 8c6e0008 */ lw $t6,0x8($v1)
/* f080038: 01ae082b */ sltu $at,$t5,$t6
/* f08003c: 50200006 */ beqzl $at,.L0f080058
/* f080040: 960f0004 */ lhu $t7,0x4($s0)
/* f080044: 0fc1fe46 */ jal tvscreenSetCmdlist
/* f080048: 8c650004 */ lw $a1,0x4($v1)
/* f08004c: 10000004 */ b .L0f080060
/* f080050: 00000000 */ nop
/* f080054: 960f0004 */ lhu $t7,0x4($s0)
.L0f080058:
/* f080058: 25f80003 */ addiu $t8,$t7,0x3
/* f08005c: a6180004 */ sh $t8,0x4($s0)
.L0f080060:
/* f080060: 3c017f1b */ lui $at,%hi(var7f1aa81c)
/* f080064: 3c06800a */ lui $a2,%hi(g_Vars)
/* f080068: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f08006c: 10000050 */ b .L0f0801b0
/* f080070: c422a81c */ lwc1 $f2,%lo(var7f1aa81c)($at)
/* f080074: 1000004e */ b .L0f0801b0
/* f080078: a6000004 */ sh $zero,0x4($s0)
/* f08007c: 1000004c */ b .L0f0801b0
/* f080080: 24110001 */ addiu $s1,$zero,0x1
/* f080084: e616006c */ swc1 $f22,0x6c($s0)
/* f080088: 8c620008 */ lw $v0,0x8($v1)
/* f08008c: 54400004 */ bnezl $v0,.L0f0800a0
/* f080090: 44822000 */ mtc1 $v0,$f4
/* f080094: 1000000a */ b .L0f0800c0
/* f080098: e6140070 */ swc1 $f20,0x70($s0)
/* f08009c: 44822000 */ mtc1 $v0,$f4
.L0f0800a0:
/* f0800a0: 3c014f80 */ lui $at,0x4f80
/* f0800a4: 04410004 */ bgez $v0,.L0f0800b8
/* f0800a8: 468021a0 */ cvt.s.w $f6,$f4
/* f0800ac: 44814000 */ mtc1 $at,$f8
/* f0800b0: 00000000 */ nop
/* f0800b4: 46083180 */ add.s $f6,$f6,$f8
.L0f0800b8:
/* f0800b8: 4606a283 */ div.s $f10,$f20,$f6
/* f0800bc: e60a0070 */ swc1 $f10,0x70($s0)
.L0f0800c0:
/* f0800c0: 92190060 */ lbu $t9,0x60($s0)
/* f0800c4: 920c0063 */ lbu $t4,0x63($s0)
/* f0800c8: 92180066 */ lbu $t8,0x66($s0)
/* f0800cc: a2190061 */ sb $t9,0x61($s0)
/* f0800d0: 8c690004 */ lw $t1,0x4($v1)
/* f0800d4: a20c0064 */ sb $t4,0x64($s0)
/* f0800d8: 960e0004 */ lhu $t6,0x4($s0)
/* f0800dc: 00095e02 */ srl $t3,$t1,0x18
/* f0800e0: a20b0062 */ sb $t3,0x62($s0)
/* f0800e4: 8c6d0004 */ lw $t5,0x4($v1)
/* f0800e8: a2180067 */ sb $t8,0x67($s0)
/* f0800ec: 920b0069 */ lbu $t3,0x69($s0)
/* f0800f0: 000d7c02 */ srl $t7,$t5,0x10
/* f0800f4: a20f0065 */ sb $t7,0x65($s0)
/* f0800f8: 8c790004 */ lw $t9,0x4($v1)
/* f0800fc: a20b006a */ sb $t3,0x6a($s0)
/* f080100: 25cf0003 */ addiu $t7,$t6,0x3
/* f080104: 00195202 */ srl $t2,$t9,0x8
/* f080108: a20a0068 */ sb $t2,0x68($s0)
/* f08010c: 8c6d0004 */ lw $t5,0x4($v1)
/* f080110: a60f0004 */ sh $t7,0x4($s0)
/* f080114: 10000026 */ b .L0f0801b0
/* f080118: a20d006b */ sb $t5,0x6b($s0)
/* f08011c: 8c780004 */ lw $t8,0x4($v1)
/* f080120: 24590002 */ addiu $t9,$v0,0x2
/* f080124: a6190004 */ sh $t9,0x4($s0)
/* f080128: 44989000 */ mtc1 $t8,$f18
/* f08012c: 00000000 */ nop
/* f080130: 46809120 */ cvt.s.w $f4,$f18
/* f080134: 46022202 */ mul.s $f8,$f4,$f2
/* f080138: 1000001d */ b .L0f0801b0
/* f08013c: e608000c */ swc1 $f8,0xc($s0)
/* f080140: 8c690004 */ lw $t1,0x4($v1)
/* f080144: c4c60044 */ lwc1 $f6,0x44($a2)
/* f080148: 44895000 */ mtc1 $t1,$f10
/* f08014c: 00000000 */ nop
/* f080150: 468054a0 */ cvt.s.w $f18,$f10
/* f080154: c60a000c */ lwc1 $f10,0xc($s0)
/* f080158: 46123102 */ mul.s $f4,$f6,$f18
/* f08015c: 00000000 */ nop
/* f080160: 46022202 */ mul.s $f8,$f4,$f2
/* f080164: 46085180 */ add.s $f6,$f10,$f8
/* f080168: e606000c */ swc1 $f6,0xc($s0)
/* f08016c: c60c000c */ lwc1 $f12,0xc($s0)
/* f080170: 460cd03e */ c.le.s $f26,$f12
/* f080174: 00000000 */ nop
/* f080178: 45000004 */ bc1f .L0f08018c
/* f08017c: 00000000 */ nop
/* f080180: 461a6481 */ sub.s $f18,$f12,$f26
/* f080184: e612000c */ swc1 $f18,0xc($s0)
/* f080188: c60c000c */ lwc1 $f12,0xc($s0)
.L0f08018c:
/* f08018c: 4616603c */ c.lt.s $f12,$f22
/* f080190: 00000000 */ nop
/* f080194: 45020004 */ bc1fl .L0f0801a8
/* f080198: 960a0004 */ lhu $t2,0x4($s0)
/* f08019c: 461a6100 */ add.s $f4,$f12,$f26
/* f0801a0: e604000c */ swc1 $f4,0xc($s0)
/* f0801a4: 960a0004 */ lhu $t2,0x4($s0)
.L0f0801a8:
/* f0801a8: 254b0002 */ addiu $t3,$t2,0x2
/* f0801ac: a60b0004 */ sh $t3,0x4($s0)
.L0f0801b0:
/* f0801b0: 5220fec0 */ beqzl $s1,.L0f07fcb4
/* f0801b4: 96020004 */ lhu $v0,0x4($s0)
/* f0801b8: c6000018 */ lwc1 $f0,0x18($s0)
/* f0801bc: 4600b03c */ c.lt.s $f22,$f0
/* f0801c0: 00000000 */ nop
/* f0801c4: 45000017 */ bc1f .L0f080224
/* f0801c8: 3c02800a */ lui $v0,%hi(g_Vars)
/* f0801cc: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f0801d0: c4480044 */ lwc1 $f8,0x44($v0)
/* f0801d4: c60a0014 */ lwc1 $f10,0x14($s0)
/* f0801d8: 46080182 */ mul.s $f6,$f0,$f8
/* f0801dc: 46065480 */ add.s $f18,$f10,$f6
/* f0801e0: e6120014 */ swc1 $f18,0x14($s0)
/* f0801e4: c6020014 */ lwc1 $f2,0x14($s0)
/* f0801e8: 4614103c */ c.lt.s $f2,$f20
/* f0801ec: 00000000 */ nop
/* f0801f0: 45020009 */ bc1fl .L0f080218
/* f0801f4: c6120020 */ lwc1 $f18,0x20($s0)
/* f0801f8: c600001c */ lwc1 $f0,0x1c($s0)
/* f0801fc: c6040020 */ lwc1 $f4,0x20($s0)
/* f080200: 46002201 */ sub.s $f8,$f4,$f0
/* f080204: 46024282 */ mul.s $f10,$f8,$f2
/* f080208: 460a0180 */ add.s $f6,$f0,$f10
/* f08020c: 10000005 */ b .L0f080224
/* f080210: e6060010 */ swc1 $f6,0x10($s0)
/* f080214: c6120020 */ lwc1 $f18,0x20($s0)
.L0f080218:
/* f080218: e6140014 */ swc1 $f20,0x14($s0)
/* f08021c: e6160018 */ swc1 $f22,0x18($s0)
/* f080220: e6120010 */ swc1 $f18,0x10($s0)
.L0f080224:
/* f080224: c600002c */ lwc1 $f0,0x2c($s0)
/* f080228: 3c02800a */ lui $v0,%hi(g_Vars)
/* f08022c: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f080230: 4600b03c */ c.lt.s $f22,$f0
/* f080234: 00000000 */ nop
/* f080238: 45020017 */ bc1fl .L0f080298
/* f08023c: c6000040 */ lwc1 $f0,0x40($s0)
/* f080240: c4480044 */ lwc1 $f8,0x44($v0)
/* f080244: c6040028 */ lwc1 $f4,0x28($s0)
/* f080248: 46080282 */ mul.s $f10,$f0,$f8
/* f08024c: 460a2180 */ add.s $f6,$f4,$f10
/* f080250: e6060028 */ swc1 $f6,0x28($s0)
/* f080254: c6020028 */ lwc1 $f2,0x28($s0)
/* f080258: 4614103c */ c.lt.s $f2,$f20
/* f08025c: 00000000 */ nop
/* f080260: 45020009 */ bc1fl .L0f080288
/* f080264: c6060034 */ lwc1 $f6,0x34($s0)
/* f080268: c6000030 */ lwc1 $f0,0x30($s0)
/* f08026c: c6120034 */ lwc1 $f18,0x34($s0)
/* f080270: 46009201 */ sub.s $f8,$f18,$f0
/* f080274: 46024102 */ mul.s $f4,$f8,$f2
/* f080278: 46040280 */ add.s $f10,$f0,$f4
/* f08027c: 10000005 */ b .L0f080294
/* f080280: e60a0024 */ swc1 $f10,0x24($s0)
/* f080284: c6060034 */ lwc1 $f6,0x34($s0)
.L0f080288:
/* f080288: e6140028 */ swc1 $f20,0x28($s0)
/* f08028c: e616002c */ swc1 $f22,0x2c($s0)
/* f080290: e6060024 */ swc1 $f6,0x24($s0)
.L0f080294:
/* f080294: c6000040 */ lwc1 $f0,0x40($s0)
.L0f080298:
/* f080298: 4600b03c */ c.lt.s $f22,$f0
/* f08029c: 00000000 */ nop
/* f0802a0: 45020017 */ bc1fl .L0f080300
/* f0802a4: c6000054 */ lwc1 $f0,0x54($s0)
/* f0802a8: c4480044 */ lwc1 $f8,0x44($v0)
/* f0802ac: c612003c */ lwc1 $f18,0x3c($s0)
/* f0802b0: 46080102 */ mul.s $f4,$f0,$f8
/* f0802b4: 46049280 */ add.s $f10,$f18,$f4
/* f0802b8: e60a003c */ swc1 $f10,0x3c($s0)
/* f0802bc: c602003c */ lwc1 $f2,0x3c($s0)
/* f0802c0: 4614103c */ c.lt.s $f2,$f20
/* f0802c4: 00000000 */ nop
/* f0802c8: 45020009 */ bc1fl .L0f0802f0
/* f0802cc: c60a0048 */ lwc1 $f10,0x48($s0)
/* f0802d0: c6000044 */ lwc1 $f0,0x44($s0)
/* f0802d4: c6060048 */ lwc1 $f6,0x48($s0)
/* f0802d8: 46003201 */ sub.s $f8,$f6,$f0
/* f0802dc: 46024482 */ mul.s $f18,$f8,$f2
/* f0802e0: 46120100 */ add.s $f4,$f0,$f18
/* f0802e4: 10000005 */ b .L0f0802fc
/* f0802e8: e6040038 */ swc1 $f4,0x38($s0)
/* f0802ec: c60a0048 */ lwc1 $f10,0x48($s0)
.L0f0802f0:
/* f0802f0: e614003c */ swc1 $f20,0x3c($s0)
/* f0802f4: e6160040 */ swc1 $f22,0x40($s0)
/* f0802f8: e60a0038 */ swc1 $f10,0x38($s0)
.L0f0802fc:
/* f0802fc: c6000054 */ lwc1 $f0,0x54($s0)
.L0f080300:
/* f080300: 4600b03c */ c.lt.s $f22,$f0
/* f080304: 00000000 */ nop
/* f080308: 45020017 */ bc1fl .L0f080368
/* f08030c: c6020070 */ lwc1 $f2,0x70($s0)
/* f080310: c4480044 */ lwc1 $f8,0x44($v0)
/* f080314: c6060050 */ lwc1 $f6,0x50($s0)
/* f080318: 46080482 */ mul.s $f18,$f0,$f8
/* f08031c: 46123100 */ add.s $f4,$f6,$f18
/* f080320: e6040050 */ swc1 $f4,0x50($s0)
/* f080324: c6020050 */ lwc1 $f2,0x50($s0)
/* f080328: 4614103c */ c.lt.s $f2,$f20
/* f08032c: 00000000 */ nop
/* f080330: 45020009 */ bc1fl .L0f080358
/* f080334: c604005c */ lwc1 $f4,0x5c($s0)
/* f080338: c6000058 */ lwc1 $f0,0x58($s0)
/* f08033c: c60a005c */ lwc1 $f10,0x5c($s0)
/* f080340: 46005201 */ sub.s $f8,$f10,$f0
/* f080344: 46024182 */ mul.s $f6,$f8,$f2
/* f080348: 46060480 */ add.s $f18,$f0,$f6
/* f08034c: 10000005 */ b .L0f080364
/* f080350: e612004c */ swc1 $f18,0x4c($s0)
/* f080354: c604005c */ lwc1 $f4,0x5c($s0)
.L0f080358:
/* f080358: e6140050 */ swc1 $f20,0x50($s0)
/* f08035c: e6160054 */ swc1 $f22,0x54($s0)
/* f080360: e604004c */ swc1 $f4,0x4c($s0)
.L0f080364:
/* f080364: c6020070 */ lwc1 $f2,0x70($s0)
.L0f080368:
/* f080368: 4602b03c */ c.lt.s $f22,$f2
/* f08036c: 00000000 */ nop
/* f080370: 4502003f */ bc1fl .L0f080470
/* f080374: 8faa00a4 */ lw $t2,0xa4($sp)
/* f080378: c4480044 */ lwc1 $f8,0x44($v0)
/* f08037c: c60a006c */ lwc1 $f10,0x6c($s0)
/* f080380: 46081182 */ mul.s $f6,$f2,$f8
/* f080384: 46065480 */ add.s $f18,$f10,$f6
/* f080388: e612006c */ swc1 $f18,0x6c($s0)
/* f08038c: c600006c */ lwc1 $f0,0x6c($s0)
/* f080390: 4614003c */ c.lt.s $f0,$f20
/* f080394: 00000000 */ nop
/* f080398: 4502002b */ bc1fl .L0f080448
/* f08039c: 920e0062 */ lbu $t6,0x62($s0)
/* f0803a0: 92020061 */ lbu $v0,0x61($s0)
/* f0803a4: 920c0062 */ lbu $t4,0x62($s0)
/* f0803a8: 92030064 */ lbu $v1,0x64($s0)
/* f0803ac: 92190065 */ lbu $t9,0x65($s0)
/* f0803b0: 01826823 */ subu $t5,$t4,$v0
/* f0803b4: 448d2000 */ mtc1 $t5,$f4
/* f0803b8: 03234823 */ subu $t1,$t9,$v1
/* f0803bc: 44899000 */ mtc1 $t1,$f18
/* f0803c0: 46802220 */ cvt.s.w $f8,$f4
/* f0803c4: 920d0068 */ lbu $t5,0x68($s0)
/* f0803c8: 92040067 */ lbu $a0,0x67($s0)
/* f0803cc: 9209006b */ lbu $t1,0x6b($s0)
/* f0803d0: 9205006a */ lbu $a1,0x6a($s0)
/* f0803d4: 46809120 */ cvt.s.w $f4,$f18
/* f0803d8: 46004282 */ mul.s $f10,$f8,$f0
/* f0803dc: 01a47023 */ subu $t6,$t5,$a0
/* f0803e0: 01255023 */ subu $t2,$t1,$a1
/* f0803e4: 46002202 */ mul.s $f8,$f4,$f0
/* f0803e8: 4600518d */ trunc.w.s $f6,$f10
/* f0803ec: 4600428d */ trunc.w.s $f10,$f8
/* f0803f0: 440f3000 */ mfc1 $t7,$f6
/* f0803f4: 448e3000 */ mtc1 $t6,$f6
/* f0803f8: 440b5000 */ mfc1 $t3,$f10
/* f0803fc: 468034a0 */ cvt.s.w $f18,$f6
/* f080400: 448a5000 */ mtc1 $t2,$f10
/* f080404: 004fc021 */ addu $t8,$v0,$t7
/* f080408: 006b6021 */ addu $t4,$v1,$t3
/* f08040c: a2180060 */ sb $t8,0x60($s0)
/* f080410: 468051a0 */ cvt.s.w $f6,$f10
/* f080414: 46009102 */ mul.s $f4,$f18,$f0
/* f080418: a20c0063 */ sb $t4,0x63($s0)
/* f08041c: 46003482 */ mul.s $f18,$f6,$f0
/* f080420: 4600220d */ trunc.w.s $f8,$f4
/* f080424: 4600910d */ trunc.w.s $f4,$f18
/* f080428: 44184000 */ mfc1 $t8,$f8
/* f08042c: 440c2000 */ mfc1 $t4,$f4
/* f080430: 0098c821 */ addu $t9,$a0,$t8
/* f080434: a2190066 */ sb $t9,0x66($s0)
/* f080438: 00ac6821 */ addu $t5,$a1,$t4
/* f08043c: 1000000b */ b .L0f08046c
/* f080440: a20d0069 */ sb $t5,0x69($s0)
/* f080444: 920e0062 */ lbu $t6,0x62($s0)
.L0f080448:
/* f080448: 920f0065 */ lbu $t7,0x65($s0)
/* f08044c: 92180068 */ lbu $t8,0x68($s0)
/* f080450: 9219006b */ lbu $t9,0x6b($s0)
/* f080454: e614006c */ swc1 $f20,0x6c($s0)
/* f080458: e6160070 */ swc1 $f22,0x70($s0)
/* f08045c: a20e0060 */ sb $t6,0x60($s0)
/* f080460: a20f0063 */ sb $t7,0x63($s0)
/* f080464: a2180066 */ sb $t8,0x66($s0)
/* f080468: a2190069 */ sb $t9,0x69($s0)
.L0f08046c:
/* f08046c: 8faa00a4 */ lw $t2,0xa4($sp)
.L0f080470:
/* f080470: 8fa400a8 */ lw $a0,0xa8($sp)
/* f080474: 8fa300b4 */ lw $v1,0xb4($sp)
/* f080478: 8fa800b0 */ lw $t0,0xb0($sp)
/* f08047c: 8fa900c4 */ lw $t1,0xc4($sp)
/* f080480: ad430000 */ sw $v1,0x0($t2)
/* f080484: ad480008 */ sw $t0,0x8($t2)
/* f080488: ad490004 */ sw $t1,0x4($t2)
/* f08048c: 8c8b000c */ lw $t3,0xc($a0)
/* f080490: 89610000 */ lwl $at,0x0($t3)
/* f080494: 99610003 */ lwr $at,0x3($t3)
/* f080498: a8610000 */ swl $at,0x0($v1)
/* f08049c: b8610003 */ swr $at,0x3($v1)
/* f0804a0: 896d0004 */ lwl $t5,0x4($t3)
/* f0804a4: 996d0007 */ lwr $t5,0x7($t3)
/* f0804a8: a86d0004 */ swl $t5,0x4($v1)
/* f0804ac: b86d0007 */ swr $t5,0x7($v1)
/* f0804b0: 89610008 */ lwl $at,0x8($t3)
/* f0804b4: 9961000b */ lwr $at,0xb($t3)
/* f0804b8: a8610008 */ swl $at,0x8($v1)
/* f0804bc: b861000b */ swr $at,0xb($v1)
/* f0804c0: 8c8e000c */ lw $t6,0xc($a0)
/* f0804c4: 89c1000c */ lwl $at,0xc($t6)
/* f0804c8: 99c1000f */ lwr $at,0xf($t6)
/* f0804cc: a861000c */ swl $at,0xc($v1)
/* f0804d0: b861000f */ swr $at,0xf($v1)
/* f0804d4: 89d80010 */ lwl $t8,0x10($t6)
/* f0804d8: 99d80013 */ lwr $t8,0x13($t6)
/* f0804dc: a8780010 */ swl $t8,0x10($v1)
/* f0804e0: b8780013 */ swr $t8,0x13($v1)
/* f0804e4: 89c10014 */ lwl $at,0x14($t6)
/* f0804e8: 99c10017 */ lwr $at,0x17($t6)
/* f0804ec: 3c0e800b */ lui $t6,%hi(g_TexScreenConfigs)
/* f0804f0: a8610014 */ swl $at,0x14($v1)
/* f0804f4: b8610017 */ swr $at,0x17($v1)
/* f0804f8: 8c99000c */ lw $t9,0xc($a0)
/* f0804fc: 8b210018 */ lwl $at,0x18($t9)
/* f080500: 9b21001b */ lwr $at,0x1b($t9)
/* f080504: a8610018 */ swl $at,0x18($v1)
/* f080508: b861001b */ swr $at,0x1b($v1)
/* f08050c: 8b2a001c */ lwl $t2,0x1c($t9)
/* f080510: 9b2a001f */ lwr $t2,0x1f($t9)
/* f080514: a86a001c */ swl $t2,0x1c($v1)
/* f080518: b86a001f */ swr $t2,0x1f($v1)
/* f08051c: 8b210020 */ lwl $at,0x20($t9)
/* f080520: 9b210023 */ lwr $at,0x23($t9)
/* f080524: a8610020 */ swl $at,0x20($v1)
/* f080528: b8610023 */ swr $at,0x23($v1)
/* f08052c: 8c8c000c */ lw $t4,0xc($a0)
/* f080530: 89810024 */ lwl $at,0x24($t4)
/* f080534: 99810027 */ lwr $at,0x27($t4)
/* f080538: a8610024 */ swl $at,0x24($v1)
/* f08053c: b8610027 */ swr $at,0x27($v1)
/* f080540: 898d0028 */ lwl $t5,0x28($t4)
/* f080544: 998d002b */ lwr $t5,0x2b($t4)
/* f080548: a86d0028 */ swl $t5,0x28($v1)
/* f08054c: b86d002b */ swr $t5,0x2b($v1)
/* f080550: 8981002c */ lwl $at,0x2c($t4)
/* f080554: 9981002f */ lwr $at,0x2f($t4)
/* f080558: a861002c */ swl $at,0x2c($v1)
/* f08055c: b861002f */ swr $at,0x2f($v1)
/* f080560: 8e020008 */ lw $v0,0x8($s0)
/* f080564: 2c410064 */ sltiu $at,$v0,0x64
/* f080568: 10200007 */ beqz $at,.L0f080588
/* f08056c: 00408825 */ or $s1,$v0,$zero
/* f080570: 00027880 */ sll $t7,$v0,0x2
/* f080574: 8dceb594 */ lw $t6,%lo(g_TexScreenConfigs)($t6)
/* f080578: 01e27823 */ subu $t7,$t7,$v0
/* f08057c: 000f7880 */ sll $t7,$t7,0x2
/* f080580: 10000001 */ b .L0f080588
/* f080584: 01ee8821 */ addu $s1,$t7,$t6
.L0f080588:
/* f080588: 122000aa */ beqz $s1,.L0f080834
/* f08058c: 3c013f00 */ lui $at,0x3f00
/* f080590: 44810000 */ mtc1 $at,$f0
/* f080594: c6080010 */ lwc1 $f8,0x10($s0)
/* f080598: c60a0024 */ lwc1 $f10,0x24($s0)
/* f08059c: c60c000c */ lwc1 $f12,0xc($s0)
/* f0805a0: 46004502 */ mul.s $f20,$f8,$f0
/* f0805a4: 460cb032 */ c.eq.s $f22,$f12
/* f0805a8: 46005602 */ mul.s $f24,$f10,$f0
/* f0805ac: 4600a386 */ mov.s $f14,$f20
/* f0805b0: 45010016 */ bc1t .L0f08060c
/* f0805b4: 4600c406 */ mov.s $f16,$f24
/* f0805b8: e7ae0058 */ swc1 $f14,0x58($sp)
/* f0805bc: 0c0068f4 */ jal cosf
/* f0805c0: e7b00054 */ swc1 $f16,0x54($sp)
/* f0805c4: 3c017f1b */ lui $at,%hi(var7f1aa824)
/* f0805c8: c43aa824 */ lwc1 $f26,%lo(var7f1aa824)($at)
/* f0805cc: c60c000c */ lwc1 $f12,0xc($s0)
/* f0805d0: 461a0582 */ mul.s $f22,$f0,$f26
/* f0805d4: 0c0068f7 */ jal sinf
/* f0805d8: 00000000 */ nop
/* f0805dc: 4616a502 */ mul.s $f20,$f20,$f22
/* f0805e0: c7ae0058 */ lwc1 $f14,0x58($sp)
/* f0805e4: c7b00054 */ lwc1 $f16,0x54($sp)
/* f0805e8: 461a0082 */ mul.s $f2,$f0,$f26
/* f0805ec: 8fa800b0 */ lw $t0,0xb0($sp)
/* f0805f0: 8fa300b4 */ lw $v1,0xb4($sp)
/* f0805f4: 4602c602 */ mul.s $f24,$f24,$f2
/* f0805f8: 00000000 */ nop
/* f0805fc: 46027382 */ mul.s $f14,$f14,$f2
/* f080600: 00000000 */ nop
/* f080604: 46168402 */ mul.s $f16,$f16,$f22
/* f080608: 00000000 */ nop
.L0f08060c:
/* f08060c: 92380004 */ lbu $t8,0x4($s1)
/* f080610: 3c014200 */ lui $at,0x4200
/* f080614: 44810000 */ mtc1 $at,$f0
/* f080618: 44989000 */ mtc1 $t8,$f18
/* f08061c: 3c014f80 */ lui $at,0x4f80
/* f080620: 07010004 */ bgez $t8,.L0f080634
/* f080624: 46809120 */ cvt.s.w $f4,$f18
/* f080628: 44814000 */ mtc1 $at,$f8
/* f08062c: 00000000 */ nop
/* f080630: 46082100 */ add.s $f4,$f4,$f8
.L0f080634:
/* f080634: c60a0038 */ lwc1 $f10,0x38($s0)
/* f080638: 3c014f80 */ lui $at,0x4f80
/* f08063c: 46145180 */ add.s $f6,$f10,$f20
/* f080640: 46062482 */ mul.s $f18,$f4,$f6
/* f080644: 00000000 */ nop
/* f080648: 46009202 */ mul.s $f8,$f18,$f0
/* f08064c: 4600428d */ trunc.w.s $f10,$f8
/* f080650: 44195000 */ mfc1 $t9,$f10
/* f080654: 00000000 */ nop
/* f080658: a4790008 */ sh $t9,0x8($v1)
/* f08065c: 922a0005 */ lbu $t2,0x5($s1)
/* f080660: 448a2000 */ mtc1 $t2,$f4
/* f080664: 05410004 */ bgez $t2,.L0f080678
/* f080668: 468021a0 */ cvt.s.w $f6,$f4
/* f08066c: 44819000 */ mtc1 $at,$f18
/* f080670: 00000000 */ nop
/* f080674: 46123180 */ add.s $f6,$f6,$f18
.L0f080678:
/* f080678: c608004c */ lwc1 $f8,0x4c($s0)
/* f08067c: 3c014f80 */ lui $at,0x4f80
/* f080680: 46184280 */ add.s $f10,$f8,$f24
/* f080684: 460a3102 */ mul.s $f4,$f6,$f10
/* f080688: 00000000 */ nop
/* f08068c: 46002482 */ mul.s $f18,$f4,$f0
/* f080690: 4600920d */ trunc.w.s $f8,$f18
/* f080694: 440c4000 */ mfc1 $t4,$f8
/* f080698: 00000000 */ nop
/* f08069c: a46c000a */ sh $t4,0xa($v1)
/* f0806a0: 922d0004 */ lbu $t5,0x4($s1)
/* f0806a4: 448d3000 */ mtc1 $t5,$f6
/* f0806a8: 05a10004 */ bgez $t5,.L0f0806bc
/* f0806ac: 468032a0 */ cvt.s.w $f10,$f6
/* f0806b0: 44812000 */ mtc1 $at,$f4
/* f0806b4: 00000000 */ nop
/* f0806b8: 46045280 */ add.s $f10,$f10,$f4
.L0f0806bc:
/* f0806bc: c6120038 */ lwc1 $f18,0x38($s0)
/* f0806c0: 3c014f80 */ lui $at,0x4f80
/* f0806c4: 460e9201 */ sub.s $f8,$f18,$f14
/* f0806c8: 46085182 */ mul.s $f6,$f10,$f8
/* f0806cc: 00000000 */ nop
/* f0806d0: 46003102 */ mul.s $f4,$f6,$f0
/* f0806d4: 4600248d */ trunc.w.s $f18,$f4
/* f0806d8: 440e9000 */ mfc1 $t6,$f18
/* f0806dc: 00000000 */ nop
/* f0806e0: a46e0014 */ sh $t6,0x14($v1)
/* f0806e4: 92380005 */ lbu $t8,0x5($s1)
/* f0806e8: 44985000 */ mtc1 $t8,$f10
/* f0806ec: 07010004 */ bgez $t8,.L0f080700
/* f0806f0: 46805220 */ cvt.s.w $f8,$f10
/* f0806f4: 44813000 */ mtc1 $at,$f6
/* f0806f8: 00000000 */ nop
/* f0806fc: 46064200 */ add.s $f8,$f8,$f6
.L0f080700:
/* f080700: c604004c */ lwc1 $f4,0x4c($s0)
/* f080704: 3c014f80 */ lui $at,0x4f80
/* f080708: 46102480 */ add.s $f18,$f4,$f16
/* f08070c: 46124282 */ mul.s $f10,$f8,$f18
/* f080710: 00000000 */ nop
/* f080714: 46005182 */ mul.s $f6,$f10,$f0
/* f080718: 4600310d */ trunc.w.s $f4,$f6
/* f08071c: 44192000 */ mfc1 $t9,$f4
/* f080720: 00000000 */ nop
/* f080724: a4790016 */ sh $t9,0x16($v1)
/* f080728: 922a0004 */ lbu $t2,0x4($s1)
/* f08072c: 448a4000 */ mtc1 $t2,$f8
/* f080730: 05410004 */ bgez $t2,.L0f080744
/* f080734: 468044a0 */ cvt.s.w $f18,$f8
/* f080738: 44815000 */ mtc1 $at,$f10
/* f08073c: 00000000 */ nop
/* f080740: 460a9480 */ add.s $f18,$f18,$f10
.L0f080744:
/* f080744: c6060038 */ lwc1 $f6,0x38($s0)
/* f080748: 3c014f80 */ lui $at,0x4f80
/* f08074c: 46143101 */ sub.s $f4,$f6,$f20
/* f080750: 46049202 */ mul.s $f8,$f18,$f4
/* f080754: 00000000 */ nop
/* f080758: 46004282 */ mul.s $f10,$f8,$f0
/* f08075c: 4600518d */ trunc.w.s $f6,$f10
/* f080760: 440c3000 */ mfc1 $t4,$f6
/* f080764: 00000000 */ nop
/* f080768: a46c0020 */ sh $t4,0x20($v1)
/* f08076c: 922d0005 */ lbu $t5,0x5($s1)
/* f080770: 448d9000 */ mtc1 $t5,$f18
/* f080774: 05a10004 */ bgez $t5,.L0f080788
/* f080778: 46809120 */ cvt.s.w $f4,$f18
/* f08077c: 44814000 */ mtc1 $at,$f8
/* f080780: 00000000 */ nop
/* f080784: 46082100 */ add.s $f4,$f4,$f8
.L0f080788:
/* f080788: c60a004c */ lwc1 $f10,0x4c($s0)
/* f08078c: 3c014f80 */ lui $at,0x4f80
/* f080790: 46185181 */ sub.s $f6,$f10,$f24
/* f080794: 46062482 */ mul.s $f18,$f4,$f6
/* f080798: 00000000 */ nop
/* f08079c: 46009202 */ mul.s $f8,$f18,$f0
/* f0807a0: 4600428d */ trunc.w.s $f10,$f8
/* f0807a4: 440e5000 */ mfc1 $t6,$f10
/* f0807a8: 00000000 */ nop
/* f0807ac: a46e0022 */ sh $t6,0x22($v1)
/* f0807b0: 92380004 */ lbu $t8,0x4($s1)
/* f0807b4: 44982000 */ mtc1 $t8,$f4
/* f0807b8: 07010004 */ bgez $t8,.L0f0807cc
/* f0807bc: 468021a0 */ cvt.s.w $f6,$f4
/* f0807c0: 44819000 */ mtc1 $at,$f18
/* f0807c4: 00000000 */ nop
/* f0807c8: 46123180 */ add.s $f6,$f6,$f18
.L0f0807cc:
/* f0807cc: c6080038 */ lwc1 $f8,0x38($s0)
/* f0807d0: 3c014f80 */ lui $at,0x4f80
/* f0807d4: 460e4280 */ add.s $f10,$f8,$f14
/* f0807d8: 460a3102 */ mul.s $f4,$f6,$f10
/* f0807dc: 00000000 */ nop
/* f0807e0: 46002482 */ mul.s $f18,$f4,$f0
/* f0807e4: 4600920d */ trunc.w.s $f8,$f18
/* f0807e8: 44194000 */ mfc1 $t9,$f8
/* f0807ec: 00000000 */ nop
/* f0807f0: a479002c */ sh $t9,0x2c($v1)
/* f0807f4: 922a0005 */ lbu $t2,0x5($s1)
/* f0807f8: 448a3000 */ mtc1 $t2,$f6
/* f0807fc: 05410004 */ bgez $t2,.L0f080810
/* f080800: 468032a0 */ cvt.s.w $f10,$f6
/* f080804: 44812000 */ mtc1 $at,$f4
/* f080808: 00000000 */ nop
/* f08080c: 46045280 */ add.s $f10,$f10,$f4
.L0f080810:
/* f080810: c612004c */ lwc1 $f18,0x4c($s0)
/* f080814: 46109201 */ sub.s $f8,$f18,$f16
/* f080818: 46085182 */ mul.s $f6,$f10,$f8
/* f08081c: 00000000 */ nop
/* f080820: 46003102 */ mul.s $f4,$f6,$f0
/* f080824: 4600248d */ trunc.w.s $f18,$f4
/* f080828: 440c9000 */ mfc1 $t4,$f18
/* f08082c: 00000000 */ nop
/* f080830: a46c002e */ sh $t4,0x2e($v1)
.L0f080834:
/* f080834: 920d0060 */ lbu $t5,0x60($s0)
/* f080838: 24190002 */ addiu $t9,$zero,0x2
/* f08083c: 3c0cb700 */ lui $t4,0xb700
/* f080840: a10d0000 */ sb $t5,0x0($t0)
/* f080844: 920f0063 */ lbu $t7,0x63($s0)
/* f080848: 240d2000 */ addiu $t5,$zero,0x2000
/* f08084c: 27a400c4 */ addiu $a0,$sp,0xc4
/* f080850: a10f0001 */ sb $t7,0x1($t0)
/* f080854: 920e0066 */ lbu $t6,0x66($s0)
/* f080858: 02202825 */ or $a1,$s1,$zero
/* f08085c: a10e0002 */ sb $t6,0x2($t0)
/* f080860: 92180069 */ lbu $t8,0x69($s0)
/* f080864: a1180003 */ sb $t8,0x3($t0)
/* f080868: a0600007 */ sb $zero,0x7($v1)
/* f08086c: a0600013 */ sb $zero,0x13($v1)
/* f080870: a060001f */ sb $zero,0x1f($v1)
/* f080874: a060002b */ sb $zero,0x2b($v1)
/* f080878: 92090069 */ lbu $t1,0x69($s0)
/* f08087c: 292100ff */ slti $at,$t1,0xff
/* f080880: 50200003 */ beqzl $at,.L0f080890
/* f080884: 8faa00c4 */ lw $t2,0xc4($sp)
/* f080888: afb900cc */ sw $t9,0xcc($sp)
/* f08088c: 8faa00c4 */ lw $t2,0xc4($sp)
.L0f080890:
/* f080890: 240f0002 */ addiu $t7,$zero,0x2
/* f080894: 240e0001 */ addiu $t6,$zero,0x1
/* f080898: 254b0008 */ addiu $t3,$t2,0x8
/* f08089c: afab00c4 */ sw $t3,0xc4($sp)
/* f0808a0: ad4d0004 */ sw $t5,0x4($t2)
/* f0808a4: ad4c0000 */ sw $t4,0x0($t2)
/* f0808a8: afa00018 */ sw $zero,0x18($sp)
/* f0808ac: afae0014 */ sw $t6,0x14($sp)
/* f0808b0: afaf0010 */ sw $t7,0x10($sp)
/* f0808b4: 8fa700c8 */ lw $a3,0xc8($sp)
/* f0808b8: 0fc2ce70 */ jal func0f0b39c0
/* f0808bc: 8fa600cc */ lw $a2,0xcc($sp)
/* f0808c0: 8fb000c4 */ lw $s0,0xc4($sp)
/* f0808c4: 3c190102 */ lui $t9,0x102
/* f0808c8: 37390040 */ ori $t9,$t9,0x40
/* f0808cc: 26090008 */ addiu $t1,$s0,0x8
/* f0808d0: afa900c4 */ sw $t1,0xc4($sp)
/* f0808d4: ae190000 */ sw $t9,0x0($s0)
/* f0808d8: 8faa00b8 */ lw $t2,0xb8($sp)
/* f0808dc: 0c012d20 */ jal osVirtualToPhysical
/* f0808e0: 8d44000c */ lw $a0,0xc($t2)
/* f0808e4: ae020004 */ sw $v0,0x4($s0)
/* f0808e8: 8fb100c4 */ lw $s1,0xc4($sp)
/* f0808ec: 3c0dbc00 */ lui $t5,0xbc00
/* f0808f0: 35ad1006 */ ori $t5,$t5,0x1006
/* f0808f4: 262c0008 */ addiu $t4,$s1,0x8
/* f0808f8: afac00c4 */ sw $t4,0xc4($sp)
/* f0808fc: ae2d0000 */ sw $t5,0x0($s1)
/* f080900: 0c012d20 */ jal osVirtualToPhysical
/* f080904: 8fa400b4 */ lw $a0,0xb4($sp)
/* f080908: ae220004 */ sw $v0,0x4($s1)
/* f08090c: 8fb000c4 */ lw $s0,0xc4($sp)
/* f080910: 3c180700 */ lui $t8,0x700
/* f080914: 37180004 */ ori $t8,$t8,0x4
/* f080918: 260e0008 */ addiu $t6,$s0,0x8
/* f08091c: afae00c4 */ sw $t6,0xc4($sp)
/* f080920: ae180000 */ sw $t8,0x0($s0)
/* f080924: 0c012d20 */ jal osVirtualToPhysical
/* f080928: 8fa400b0 */ lw $a0,0xb0($sp)
/* f08092c: ae020004 */ sw $v0,0x4($s0)
/* f080930: 8fa900c4 */ lw $t1,0xc4($sp)
/* f080934: 3c0a0430 */ lui $t2,0x430
/* f080938: 354a0030 */ ori $t2,$t2,0x30
/* f08093c: 25390008 */ addiu $t9,$t1,0x8
/* f080940: afb900c4 */ sw $t9,0xc4($sp)
/* f080944: 3c0b0400 */ lui $t3,0x400
/* f080948: ad2b0004 */ sw $t3,0x4($t1)
/* f08094c: ad2a0000 */ sw $t2,0x0($t1)
/* f080950: 8fac00c4 */ lw $t4,0xc4($sp)
/* f080954: 3c0fb100 */ lui $t7,0xb100
/* f080958: 35ef0032 */ ori $t7,$t7,0x32
/* f08095c: 258d0008 */ addiu $t5,$t4,0x8
/* f080960: afad00c4 */ sw $t5,0xc4($sp)
/* f080964: 240e2010 */ addiu $t6,$zero,0x2010
/* f080968: ad8e0004 */ sw $t6,0x4($t4)
/* f08096c: ad8f0000 */ sw $t7,0x0($t4)
/* f080970: 8fb800c4 */ lw $t8,0xc4($sp)
/* f080974: 3c19b800 */ lui $t9,0xb800
/* f080978: 3c0a0601 */ lui $t2,0x601
/* f08097c: 27090008 */ addiu $t1,$t8,0x8
/* f080980: afa900c4 */ sw $t1,0xc4($sp)
/* f080984: af000004 */ sw $zero,0x4($t8)
/* f080988: af190000 */ sw $t9,0x0($t8)
/* f08098c: 8fa600ac */ lw $a2,0xac($sp)
/* f080990: acca0000 */ sw $t2,0x0($a2)
/* f080994: 8fab00c4 */ lw $t3,0xc4($sp)
/* f080998: accb0004 */ sw $t3,0x4($a2)
.L0f08099c:
/* f08099c: 8fbf004c */ lw $ra,0x4c($sp)
.L0f0809a0:
/* f0809a0: 8fa200c4 */ lw $v0,0xc4($sp)
/* f0809a4: d7b40020 */ ldc1 $f20,0x20($sp)
/* f0809a8: d7b60028 */ ldc1 $f22,0x28($sp)
/* f0809ac: d7b80030 */ ldc1 $f24,0x30($sp)
/* f0809b0: d7ba0038 */ ldc1 $f26,0x38($sp)
/* f0809b4: 8fb00044 */ lw $s0,0x44($sp)
/* f0809b8: 8fb10048 */ lw $s1,0x48($sp)
/* f0809bc: 03e00008 */ jr $ra
/* f0809c0: 27bd00b8 */ addiu $sp,$sp,0xb8
);
// Mismatch: Several issues, but main one is the float variables near the cosf
// and sinf calls. Appears to be functionally identical.
//Gfx *tvscreenRender(struct model *model, struct modelnode *node, struct tvscreen *screen, Gfx *gdl, s32 arg4, s32 arg5)
//{
// struct textureconfig *tconfig;
//
// if (node && (node->type & 0xff) == MODELNODETYPE_DL) {
// struct gfxvtx *vertices = gfxAllocateVertices(4); // b4
// u8 *colours = gfxAllocateColours(1); // b0
// Gfx *savedgdl = gdl++; // ac
// union modelrodata *rodata = node->rodata; // a8
// union modelrwdata *rwdata = modelGetNodeRwData(model, node); // a4
// bool yielding = false;
//
// while (!yielding) {
// u32 *cmd = &screen->cmdlist[screen->offset];
//
// switch (cmd[0]) {
// case TVCMD_STOPSCROLL: // f07fce4
// screen->xmidinc = 0;
// screen->ymidinc = 0;
// screen->offset++;
// break;
// case TVCMD_SCROLLRELX: // f07fcf8
// screen->xmidfrac = 0;
// screen->xmidinc = cmd[2] == 0 ? 1.0f : 1.0f / cmd[2];
// screen->xmidold = screen->xmid;
// screen->xmidnew = screen->xmid + (s32)cmd[1] * (1.0f / 1024.0f);
// screen->offset += 3;
// break;
// case TVCMD_SCROLLRELY: // f07fd68
// screen->ymidfrac = 0;
// screen->ymidinc = cmd[2] == 0 ? 1.0f : 1.0f / cmd[2];
// screen->ymidold = screen->ymid;
// screen->ymidnew = screen->ymid + (s32)cmd[1] * (1.0f / 1024.0f);
// screen->offset += 3;
// break;
// case TVCMD_SCROLLABSX: // f07fdd8
// screen->xmidfrac = 0;
// screen->xmidinc = cmd[2] == 0 ? 1.0f : 1.0f / cmd[2];
// screen->xmidold = screen->xmid;
// screen->xmidnew = (s32)cmd[1] * (1.0f / 1024.0f);
// screen->offset += 3;
// break;
// case TVCMD_SCROLLABSY: // f07fe44
// screen->ymidfrac = 0;
// screen->ymidinc = cmd[2] == 0 ? 1.0f : 1.0f / cmd[2];
// screen->ymidold = screen->ymid;
// screen->ymidnew = (s32)cmd[1] * (1.0f / 1024.0f);
// screen->offset += 3;
// break;
// case TVCMD_SCALEABSX: // f07feb0
// screen->xscalefrac = 0;
// screen->xscaleinc = cmd[2] == 0 ? 1.0f : 1.0f / cmd[2];
// screen->xscaleold = screen->xscale;
// screen->xscalenew = (s32)cmd[1] * (1.0f / 1024.0f);
// screen->offset += 3;
// break;
// case TVCMD_SCALEABSY: // f07ff1c
// screen->yscalefrac = 0;
// screen->yscaleinc = cmd[2] == 0 ? 1.0f : 1.0f / cmd[2];
// screen->yscaleold = screen->yscale;
// screen->yscalenew = (s32)cmd[1] * (1.0f / 1024.0f);
// screen->offset += 3;
// break;
// case TVCMD_SETTEXTURE: // f07ff88
// tvscreenSetTexture(screen, cmd[1]);
// screen->offset += 2;
// break;
// case TVCMD_PAUSE: // f07ffb4
// if (screen->pause60 >= 0) {
// screen->pause60 -= g_Vars.lvupdate240_60;
//
// if (screen->pause60 >= 0) {
// yielding = true;
// } else {
// screen->offset += 2;
// }
// } else {
// yielding = true;
// screen->pause60 = cmd[1];
// }
// break;
// case TVCMD_SETCMDLIST: // f080000
// tvscreenSetCmdlist(screen, (u32 *) cmd[1]);
// break;
// case TVCMD_RANDSETCMDLIST: // f080020
// if ((random() >> 16) < cmd[2]) {
// tvscreenSetCmdlist(screen, (u32 *) cmd[1]);
// } else {
// screen->offset += 3;
// }
// break;
// case TVCMD_RESTART: // f080074
// screen->offset = 0;
// break;
// case TVCMD_YIELD: // f08007c
// yielding = true;
// break;
// case TVCMD_SETCOLOUR: // f080084
// screen->colfrac = 0;
// screen->colinc = cmd[2] == 0 ? 1.0f : 1.0f / cmd[2];
//
// screen->redold = screen->red;
// screen->rednew = (cmd[1] >> 24);
//
// screen->greenold = screen->green;
// screen->greennew = (cmd[1] >> 16);
//
// screen->blueold = screen->blue;
// screen->bluenew = (cmd[1] >> 8);
//
// screen->alphaold = screen->alpha;
// screen->alphanew = cmd[1];
//
// screen->offset += 3;
// break;
// case TVCMD_ROTATEABS: // f08011c
// screen->rot = (s32)cmd[1] * (M_BADTAU / 65536.0f);
// screen->offset += 2;
// break;
// case TVCMD_ROTATEREL: // f080140
// screen->rot += g_Vars.lvupdate240f * (s32)cmd[1] * (M_BADTAU / 65536.0f);
//
// if (screen->rot >= M_BADTAU) {
// screen->rot -= M_BADTAU;
// }
//
// if (screen->rot < 0) {
// screen->rot += M_BADTAU;
// }
//
// screen->offset += 2;
// break;
// }
// }
//
// // Increment X scale
// if (screen->xscaleinc > 0) {
// screen->xscalefrac += screen->xscaleinc * g_Vars.lvupdate240f;
//
// if (screen->xscalefrac < 1.0f) {
// screen->xscale = screen->xscaleold + (screen->xscalenew - screen->xscaleold) * screen->xscalefrac;
// } else {
// screen->xscalefrac = 1.0f;
// screen->xscaleinc = 0;
// screen->xscale = screen->xscalenew;
// }
// }
//
// // Increment Y scale
// if (screen->yscaleinc > 0) {
// screen->yscalefrac += screen->yscaleinc * g_Vars.lvupdate240f;
//
// if (screen->yscalefrac < 1.0f) {
// screen->yscale = screen->yscaleold + (screen->yscalenew - screen->yscaleold) * screen->yscalefrac;
// } else {
// screen->yscalefrac = 1.0f;
// screen->yscaleinc = 0;
// screen->yscale = screen->yscalenew;
// }
// }
//
// // Increment X scroll
// if (screen->xmidinc > 0) {
// screen->xmidfrac += screen->xmidinc * g_Vars.lvupdate240f;
//
// if (screen->xmidfrac < 1.0f) {
// screen->xmid = screen->xmidold + (screen->xmidnew - screen->xmidold) * screen->xmidfrac;
// } else {
// screen->xmidfrac = 1.0f;
// screen->xmidinc = 0;
// screen->xmid = screen->xmidnew;
// }
// }
//
// // Increment Y scroll
// if (screen->ymidinc > 0) {
// screen->ymidfrac += screen->ymidinc * g_Vars.lvupdate240f;
//
// if (screen->ymidfrac < 1.0f) {
// screen->ymid = screen->ymidold + (screen->ymidnew - screen->ymidold) * screen->ymidfrac;
// } else {
// screen->ymidfrac = 1.0f;
// screen->ymidinc = 0;
// screen->ymid = screen->ymidnew;
// }
// }
//
// // Increment colour change
// // 370
// if (screen->colinc > 0) {
// screen->colfrac += screen->colinc * g_Vars.lvupdate240f;
//
// // 398
// if (screen->colfrac < 1.0f) {
// s32 r;
// s32 g;
// s32 b;
// s32 a;
// r = screen->colfrac * (screen->rednew - screen->redold);
// g = screen->colfrac * (screen->greennew - screen->greenold);
// screen->red = r + screen->redold;
// screen->green = g + screen->greenold;
// b = screen->colfrac * (screen->bluenew - screen->blueold);
// a = screen->colfrac * (screen->alphanew - screen->alphaold);
// screen->blue = b + screen->blueold;
// screen->alpha = a + screen->alphaold;
// } else {
// screen->colfrac = 1.0f;
// screen->colinc = 0;
// screen->red = screen->rednew;
// screen->green = screen->greennew;
// screen->blue = screen->bluenew;
// screen->alpha = screen->alphanew;
// }
// }
//
// // Set up everything for rendering
// rwdata->dl.vertices = vertices;
// rwdata->dl.unk08 = (u32 *) colours;
// rwdata->dl.gdl = gdl;
//
// vertices[0] = rodata->dl.vertices[0];
// vertices[1] = rodata->dl.vertices[1];
// vertices[2] = rodata->dl.vertices[2];
// vertices[3] = rodata->dl.vertices[3];
//
// if ((u32)screen->tconfig < 100) {
// tconfig = &g_TexScreenConfigs[(u32)screen->tconfig];
// } else {
// tconfig = screen->tconfig;
// }
//
// if (tconfig != NULL) {
// f32 f20 = screen->xscale * 0.5f;
// f32 f24 = screen->yscale * 0.5f;
// f32 f14 = f20;
// f32 f16 = f24;
//
// if (screen->rot != 0) {
// f32 f22 = cosf(screen->rot) * 1.4141999483109f;
// f32 f2 = sinf(screen->rot) * 1.4141999483109f;
//
// f20 *= f22;
// f24 *= f2;
// f14 *= f2;
// f16 *= f22;
// }
//
// vertices[0].unk08 = tconfig->width * (screen->xmid + f20) * 32;
// vertices[0].unk0a = tconfig->height * (screen->ymid + f24) * 32;
// vertices[1].unk08 = tconfig->width * (screen->xmid - f14) * 32;
// vertices[1].unk0a = tconfig->height * (screen->ymid + f16) * 32;
// vertices[2].unk08 = tconfig->width * (screen->xmid - f20) * 32;
// vertices[2].unk0a = tconfig->height * (screen->ymid - f24) * 32;
// vertices[3].unk08 = tconfig->width * (screen->xmid + f14) * 32;
// vertices[3].unk0a = tconfig->height * (screen->ymid - f16) * 32;
// }
//
// if (tconfig);
//
// colours[0] = screen->red;
// colours[1] = screen->green;
// colours[2] = screen->blue;
// colours[3] = screen->alpha;
//
// vertices[0].colour = 0;
// vertices[1].colour = 0;
// vertices[2].colour = 0;
// vertices[3].colour = 0;
//
// if (screen->alpha < 255) {
// arg5 = 2;
// }
//
// // Render the image
// gSPSetGeometryMode(gdl++, G_CULL_BACK);
//
// func0f0b39c0(&gdl, tconfig, arg5, arg4, 2, 1, NULL);
//
// gSPMatrix(gdl++, osVirtualToPhysical(model->matrices), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
//
// gMoveWd(gdl++, 1, 6, osVirtualToPhysical(vertices));
// gDPSetColorArray(gdl++, osVirtualToPhysical(colours), 1);
// gDPSetVerticeArray(gdl++, 0x04000000, 4);
//
// gDPTri2(gdl++, 0, 1, 2, 0, 2, 3);
// gSPEndDisplayList(gdl++);
//
// gSPBranchList(savedgdl++, gdl);
// }
//
// return gdl;
//}
void objRenderProp(struct prop *prop, struct modelrenderdata *renderdata, bool withalpha)
{
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
bool sp6c;
struct prop *child;
Gfx *gdl;
s32 sp60;
sp6c = 0;
sp6c += (obj->flags & OBJFLAG_00000200) && currentPlayerGetUnk1758();
gdl = renderdata->gdl;
if (obj->type == OBJTYPE_SINGLEMONITOR) {
if (renderdata->flags & 1) {
struct singlemonitorobj *monitor = (struct singlemonitorobj *) prop->obj;
if (obj->flags2 & OBJFLAG2_DRAWONTOP) {
sp60 = 0;
} else if (obj->flags & OBJFLAG_DEACTIVATED) {
sp60 = func0f140750(&prop->pos);
} else {
sp60 = 1;
}
gdl = tvscreenRender(model, modelGetPart(model->filedata, MODELPART_0000), &monitor->screen, gdl, sp60, 1);
}
} else if (obj->type == OBJTYPE_MULTIMONITOR) {
if (renderdata->flags & 1) {
struct multimonitorobj *monitor = (struct multimonitorobj *) prop->obj;
if (obj->flags2 & OBJFLAG2_DRAWONTOP) {
sp60 = 0;
} else if (obj->flags & OBJFLAG_DEACTIVATED) {
sp60 = func0f140750(&prop->pos);
} else {
sp60 = 1;
}
gdl = tvscreenRender(model, modelGetPart(model->filedata, MODELPART_0000), &monitor->screens[0], gdl, sp60, 1);
if (obj->flags2 & OBJFLAG2_DRAWONTOP) {
sp60 = 0;
} else if (obj->flags & (OBJFLAG_DEACTIVATED | OBJFLAG_20000000)) {
sp60 = func0f140750(&prop->pos);
} else {
sp60 = 1;
}
gdl = tvscreenRender(model, modelGetPart(model->filedata, MODELPART_0001), &monitor->screens[1], gdl, sp60, 1);
gdl = tvscreenRender(model, modelGetPart(model->filedata, MODELPART_0002), &monitor->screens[2], gdl, sp60, 1);
gdl = tvscreenRender(model, modelGetPart(model->filedata, MODELPART_0003), &monitor->screens[3], gdl, sp60, 1);
}
}
if (obj->type == OBJTYPE_DOOR) {
struct doorobj *door = prop->door;
gSPClearGeometryMode(gdl++, G_CULL_BOTH);
if (door->doorflags & DOORFLAG_FLIP) {
renderdata->cullmode = CULLMODE_FRONT;
} else {
renderdata->cullmode = CULLMODE_BACK;
}
if (renderdata->unk30 == 9) {
renderdata->envcolour &= 0xffffff00;
}
} else if ((obj->hidden2 & OBJH2FLAG_80) == 0) {
renderdata->cullmode = CULLMODE_BACK;
if (renderdata->unk30 == 9) {
renderdata->envcolour &= 0xffffff00;
}
} else {
s32 mult = objGetDestroyedValue(obj);
renderdata->cullmode = CULLMODE_NONE;
if (renderdata->unk30 == 9) {
s32 alpha = 100 + mult * 50;
if (alpha > 255) {
alpha = 255;
}
renderdata->envcolour &= 0xffffff00;
renderdata->envcolour |= alpha;
} else if (mult > 0) {
renderdata->envcolour |= 0x0000ff00;
}
}
if (sp6c) {
gSPMatrix(gdl++, currentPlayerGetUnk1758(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
}
renderdata->gdl = gdl;
modelRender(renderdata, model);
gdl = renderdata->gdl;
if (obj->type == OBJTYPE_DOOR) {
gSPClearGeometryMode(gdl++, G_CULL_BOTH);
}
if (obj->hidden2 & (OBJH2FLAG_RENDEROPAQUE << withalpha)) {
gdl = wallhitRenderPropHits(gdl, prop, withalpha);
}
if (sp6c) {
gSPMatrix(gdl++, currentPlayerGetUnk1750(), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
}
renderdata->gdl = gdl;
child = prop->child;
while (child) {
objRenderProp(child, renderdata, withalpha);
child = child->next;
}
if (withalpha) {
if (sp6c) {
player0f0c3320(model->matrices, model->filedata->nummatrices);
} else {
func0f0c33f0(model->matrices, model->filedata->nummatrices);
}
if ((obj->flags3 & (OBJFLAG3_SHOWSHIELD | OBJFLAG3_SHIELDHIT)) && objIsHealthy(obj)) {
gSPSetGeometryMode(renderdata->gdl++, G_CULL_BACK);
renderdata->gdl = shieldhitRender(renderdata->gdl, prop, prop, 0xff, 0, 0, 1, 2, 3);
}
}
}
}
GLOBAL_ASM(
glabel gfxRenderRadialShadow
/* f080f8c: 27bdff00 */ addiu $sp,$sp,-256
/* f080f90: afbf002c */ sw $ra,0x2c($sp)
/* f080f94: afa40100 */ sw $a0,0x100($sp)
/* f080f98: afb10028 */ sw $s1,0x28($sp)
/* f080f9c: afb00024 */ sw $s0,0x24($sp)
/* f080fa0: afa50104 */ sw $a1,0x104($sp)
/* f080fa4: afa60108 */ sw $a2,0x108($sp)
/* f080fa8: afa7010c */ sw $a3,0x10c($sp)
/* f080fac: 0fc59e59 */ jal gfxAllocateVertices
/* f080fb0: 24040004 */ addiu $a0,$zero,0x4
/* f080fb4: 00408025 */ or $s0,$v0,$zero
/* f080fb8: 0fc59e73 */ jal gfxAllocateColours
/* f080fbc: 24040001 */ addiu $a0,$zero,0x1
/* f080fc0: 8fae0118 */ lw $t6,0x118($sp)
/* f080fc4: 3c11800b */ lui $s1,%hi(g_TexGroup06Configs)
/* f080fc8: afa20074 */ sw $v0,0x74($sp)
/* f080fcc: 8e31b588 */ lw $s1,%lo(g_TexGroup06Configs)($s1)
/* f080fd0: 3c014000 */ lui $at,0x4000
/* f080fd4: ac4e0000 */ sw $t6,0x0($v0)
/* f080fd8: c7a60108 */ lwc1 $f6,0x108($sp)
/* f080fdc: 44814000 */ mtc1 $at,$f8
/* f080fe0: c7a40104 */ lwc1 $f4,0x104($sp)
/* f080fe4: c7b0010c */ lwc1 $f16,0x10c($sp)
/* f080fe8: 46083280 */ add.s $f10,$f6,$f8
/* f080fec: e7a40068 */ swc1 $f4,0x68($sp)
/* f080ff0: e7b00070 */ swc1 $f16,0x70($sp)
/* f080ff4: 0fc59e66 */ jal gfxAllocateMatrix
/* f080ff8: e7aa006c */ swc1 $f10,0x6c($sp)
/* f080ffc: afa2007c */ sw $v0,0x7c($sp)
/* f081000: 27a40068 */ addiu $a0,$sp,0x68
/* f081004: 8fa50110 */ lw $a1,0x110($sp)
/* f081008: 0c005892 */ jal mtx4LoadYRotationWithTranslation
/* f08100c: 27a600c0 */ addiu $a2,$sp,0xc0
/* f081010: 0fc2d5be */ jal currentPlayerGetMatrix1740
/* f081014: 00000000 */ nop
/* f081018: 00402025 */ or $a0,$v0,$zero
/* f08101c: 27a500c0 */ addiu $a1,$sp,0xc0
/* f081020: 0c005680 */ jal mtx4MultMtx4
/* f081024: 27a60080 */ addiu $a2,$sp,0x80
/* f081028: 27a40080 */ addiu $a0,$sp,0x80
/* f08102c: 0c005815 */ jal mtx00016054
/* f081030: 8fa5007c */ lw $a1,0x7c($sp)
/* f081034: 00001825 */ or $v1,$zero,$zero
/* f081038: 02001025 */ or $v0,$s0,$zero
/* f08103c: 24040004 */ addiu $a0,$zero,0x4
.L0f081040:
/* f081040: 24630001 */ addiu $v1,$v1,0x1
/* f081044: 2442000c */ addiu $v0,$v0,0xc
/* f081048: a440fff6 */ sh $zero,-0xa($v0)
/* f08104c: 1464fffc */ bne $v1,$a0,.L0f081040
/* f081050: a040fffb */ sb $zero,-0x5($v0)
/* f081054: 44800000 */ mtc1 $zero,$f0
/* f081058: c7a20114 */ lwc1 $f2,0x114($sp)
/* f08105c: 27a40100 */ addiu $a0,$sp,0x100
/* f081060: 00002825 */ or $a1,$zero,$zero
/* f081064: 46020481 */ sub.s $f18,$f0,$f2
/* f081068: 24060001 */ addiu $a2,$zero,0x1
/* f08106c: 24070001 */ addiu $a3,$zero,0x1
/* f081070: 46020280 */ add.s $f10,$f0,$f2
/* f081074: 240d0002 */ addiu $t5,$zero,0x2
/* f081078: 240e0001 */ addiu $t6,$zero,0x1
/* f08107c: 4600910d */ trunc.w.s $f4,$f18
/* f081080: 4600540d */ trunc.w.s $f16,$f10
/* f081084: 44032000 */ mfc1 $v1,$f4
/* f081088: 46020181 */ sub.s $f6,$f0,$f2
/* f08108c: 44028000 */ mfc1 $v0,$f16
/* f081090: a6030000 */ sh $v1,0x0($s0)
/* f081094: 46020480 */ add.s $f18,$f0,$f2
/* f081098: a6020010 */ sh $v0,0x10($s0)
/* f08109c: 4600320d */ trunc.w.s $f8,$f6
/* f0810a0: 4600910d */ trunc.w.s $f4,$f18
/* f0810a4: 44034000 */ mfc1 $v1,$f8
/* f0810a8: 44022000 */ mfc1 $v0,$f4
/* f0810ac: a6030004 */ sh $v1,0x4($s0)
/* f0810b0: a603000c */ sh $v1,0xc($s0)
/* f0810b4: a6030028 */ sh $v1,0x28($s0)
/* f0810b8: a6020018 */ sh $v0,0x18($s0)
/* f0810bc: a602001c */ sh $v0,0x1c($s0)
/* f0810c0: 12200021 */ beqz $s1,.L0f081148
/* f0810c4: a6020024 */ sh $v0,0x24($s0)
/* f0810c8: a6000008 */ sh $zero,0x8($s0)
/* f0810cc: a600000a */ sh $zero,0xa($s0)
/* f0810d0: 92290004 */ lbu $t1,0x4($s1)
/* f0810d4: a6000016 */ sh $zero,0x16($s0)
/* f0810d8: 27a40100 */ addiu $a0,$sp,0x100
/* f0810dc: 00095140 */ sll $t2,$t1,0x5
/* f0810e0: 254bffff */ addiu $t3,$t2,-1
/* f0810e4: a60b0014 */ sh $t3,0x14($s0)
/* f0810e8: 922c0004 */ lbu $t4,0x4($s1)
/* f0810ec: 240b0002 */ addiu $t3,$zero,0x2
/* f0810f0: 02202825 */ or $a1,$s1,$zero
/* f0810f4: 000c6940 */ sll $t5,$t4,0x5
/* f0810f8: 25aeffff */ addiu $t6,$t5,-1
/* f0810fc: a60e0020 */ sh $t6,0x20($s0)
/* f081100: 922f0005 */ lbu $t7,0x5($s1)
/* f081104: a600002c */ sh $zero,0x2c($s0)
/* f081108: 240c0001 */ addiu $t4,$zero,0x1
/* f08110c: 000fc140 */ sll $t8,$t7,0x5
/* f081110: 2719ffff */ addiu $t9,$t8,-1
/* f081114: a6190022 */ sh $t9,0x22($s0)
/* f081118: 92280005 */ lbu $t0,0x5($s1)
/* f08111c: 24060004 */ addiu $a2,$zero,0x4
/* f081120: 24070001 */ addiu $a3,$zero,0x1
/* f081124: 00084940 */ sll $t1,$t0,0x5
/* f081128: 252affff */ addiu $t2,$t1,-1
/* f08112c: a60a002e */ sh $t2,0x2e($s0)
/* f081130: afa00018 */ sw $zero,0x18($sp)
/* f081134: afac0014 */ sw $t4,0x14($sp)
/* f081138: 0fc2ce70 */ jal func0f0b39c0
/* f08113c: afab0010 */ sw $t3,0x10($sp)
/* f081140: 10000006 */ b .L0f08115c
/* f081144: 8faf0100 */ lw $t7,0x100($sp)
.L0f081148:
/* f081148: afad0010 */ sw $t5,0x10($sp)
/* f08114c: afae0014 */ sw $t6,0x14($sp)
/* f081150: 0fc2ce70 */ jal func0f0b39c0
/* f081154: afa00018 */ sw $zero,0x18($sp)
/* f081158: 8faf0100 */ lw $t7,0x100($sp)
.L0f08115c:
/* f08115c: 3c19b700 */ lui $t9,0xb700
/* f081160: 24082000 */ addiu $t0,$zero,0x2000
/* f081164: 25f80008 */ addiu $t8,$t7,0x8
/* f081168: afb80100 */ sw $t8,0x100($sp)
/* f08116c: ade80004 */ sw $t0,0x4($t7)
/* f081170: adf90000 */ sw $t9,0x0($t7)
/* f081174: 8fb10100 */ lw $s1,0x100($sp)
/* f081178: 3c0b0102 */ lui $t3,0x102
/* f08117c: 356b0040 */ ori $t3,$t3,0x40
/* f081180: 262a0008 */ addiu $t2,$s1,0x8
/* f081184: afaa0100 */ sw $t2,0x100($sp)
/* f081188: ae2b0000 */ sw $t3,0x0($s1)
/* f08118c: 0c012d20 */ jal osVirtualToPhysical
/* f081190: 8fa4007c */ lw $a0,0x7c($sp)
/* f081194: ae220004 */ sw $v0,0x4($s1)
/* f081198: 8fac0100 */ lw $t4,0x100($sp)
/* f08119c: 3c0e0700 */ lui $t6,0x700
/* f0811a0: 35ce0004 */ ori $t6,$t6,0x4
/* f0811a4: 258d0008 */ addiu $t5,$t4,0x8
/* f0811a8: afad0100 */ sw $t5,0x100($sp)
/* f0811ac: ad8e0000 */ sw $t6,0x0($t4)
/* f0811b0: 8fa40074 */ lw $a0,0x74($sp)
/* f0811b4: 0c012d20 */ jal osVirtualToPhysical
/* f0811b8: afac0044 */ sw $t4,0x44($sp)
/* f0811bc: 8fa30044 */ lw $v1,0x44($sp)
/* f0811c0: 3c190430 */ lui $t9,0x430
/* f0811c4: 37390030 */ ori $t9,$t9,0x30
/* f0811c8: ac620004 */ sw $v0,0x4($v1)
/* f0811cc: 8fb10100 */ lw $s1,0x100($sp)
/* f0811d0: 02002025 */ or $a0,$s0,$zero
/* f0811d4: 26380008 */ addiu $t8,$s1,0x8
/* f0811d8: afb80100 */ sw $t8,0x100($sp)
/* f0811dc: 0c012d20 */ jal osVirtualToPhysical
/* f0811e0: ae390000 */ sw $t9,0x0($s1)
/* f0811e4: ae220004 */ sw $v0,0x4($s1)
/* f0811e8: 8fa80100 */ lw $t0,0x100($sp)
/* f0811ec: 3c0ab100 */ lui $t2,0xb100
/* f0811f0: 354a0002 */ ori $t2,$t2,0x2
/* f0811f4: 25090008 */ addiu $t1,$t0,0x8
/* f0811f8: afa90100 */ sw $t1,0x100($sp)
/* f0811fc: 240b3210 */ addiu $t3,$zero,0x3210
/* f081200: ad0b0004 */ sw $t3,0x4($t0)
/* f081204: ad0a0000 */ sw $t2,0x0($t0)
/* f081208: 8fbf002c */ lw $ra,0x2c($sp)
/* f08120c: 8fb10028 */ lw $s1,0x28($sp)
/* f081210: 8fb00024 */ lw $s0,0x24($sp)
/* f081214: 8fa20100 */ lw $v0,0x100($sp)
/* f081218: 03e00008 */ jr $ra
/* f08121c: 27bd0100 */ addiu $sp,$sp,0x100
);
Gfx *objRenderShadow(struct defaultobj *obj, Gfx *gdl)
{
f32 angle;
f32 y;
#if VERSION >= VERSION_NTSC_1_0
s32 value = cd0002a440(&obj->prop->pos, obj->prop->rooms, &y, NULL, NULL);
#else
s32 value = cd0002a440(&obj->prop->pos, obj->prop->rooms, &y, NULL);
#endif
if (value > 0 && (obj->modelnum == MODEL_HOOVERBOT || obj->modelnum == MODEL_TESTERBOT)) {
angle = hoverpropGetTurnAngle(obj);
gdl = gfxRenderRadialShadow(gdl, obj->prop->pos.x, y, obj->prop->pos.z, angle, 20, 0xffffff78);
} else if (value > 0) {
angle = hoverpropGetTurnAngle(obj);
gdl = gfxRenderRadialShadow(gdl, obj->prop->pos.x, y, obj->prop->pos.z, angle, 30, 0xffffff78);
}
return gdl;
}
u32 var8006ab70 = 0x00000000;
u32 var8006ab74 = 0x00000001;
u32 var8006ab78 = 0x00000003;
u32 var8006ab7c = 0x00000000;
u32 var8006ab80 = 0x00000000;
u32 var8006ab84 = 0x00000000;
u32 var8006ab88 = 0x00000000;
u32 var8006ab8c = 0x00000000;
u32 var8006ab90 = 0x00000000;
u32 var8006ab94 = 0x00000000;
u32 var8006ab98 = 0x00000000;
u32 var8006ab9c = 0x00000000;
u32 var8006aba0 = 0x00000000;
u32 var8006aba4 = 0x00000000;
u32 var8006aba8 = 0x00000000;
u32 var8006abac = 0x00000000;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel objRender
.late_rodata
glabel var7f1aa828
.word 0x3ca3d70a
glabel var7f1aa82c
.word 0x3ca3d70a
.text
/* f081310: 27bdff08 */ addiu $sp,$sp,-248
/* f081314: 3c0f8007 */ lui $t7,%hi(var8006ab70)
/* f081318: afbf0024 */ sw $ra,0x24($sp)
/* f08131c: afb00020 */ sw $s0,0x20($sp)
/* f081320: afa500fc */ sw $a1,0xfc($sp)
/* f081324: afa60100 */ sw $a2,0x100($sp)
/* f081328: 25efab70 */ addiu $t7,$t7,%lo(var8006ab70)
/* f08132c: 8c900004 */ lw $s0,0x4($a0)
/* f081330: 25e9003c */ addiu $t1,$t7,0x3c
/* f081334: 27ae00a0 */ addiu $t6,$sp,0xa0
.L0f081338:
/* f081338: 8de10000 */ lw $at,0x0($t7)
/* f08133c: 25ef000c */ addiu $t7,$t7,0xc
/* f081340: 25ce000c */ addiu $t6,$t6,0xc
/* f081344: adc1fff4 */ sw $at,-0xc($t6)
/* f081348: 8de1fff8 */ lw $at,-0x8($t7)
/* f08134c: adc1fff8 */ sw $at,-0x8($t6)
/* f081350: 8de1fffc */ lw $at,-0x4($t7)
/* f081354: 15e9fff8 */ bne $t7,$t1,.L0f081338
/* f081358: adc1fffc */ sw $at,-0x4($t6)
/* f08135c: 8de10000 */ lw $at,0x0($t7)
/* f081360: 240800ff */ addiu $t0,$zero,0xff
/* f081364: 27a500e8 */ addiu $a1,$sp,0xe8
/* f081368: adc10000 */ sw $at,0x0($t6)
/* f08136c: afa8007c */ sw $t0,0x7c($sp)
/* f081370: 0fc599fd */ jal func0f1667f4
/* f081374: afa400f8 */ sw $a0,0xf8($sp)
/* f081378: 8fa8007c */ lw $t0,0x7c($sp)
/* f08137c: 14400003 */ bnez $v0,.L0f08138c
/* f081380: afa200e4 */ sw $v0,0xe4($sp)
/* f081384: 1000021f */ b .L0f081c04
/* f081388: 8fa200fc */ lw $v0,0xfc($sp)
.L0f08138c:
/* f08138c: 920a0003 */ lbu $t2,0x3($s0)
/* f081390: 2401002f */ addiu $at,$zero,0x2f
/* f081394: 11410023 */ beq $t2,$at,.L0f081424
/* f081398: 00000000 */ nop
/* f08139c: 0c006be0 */ jal model0001af80
/* f0813a0: 8e040018 */ lw $a0,0x18($s0)
/* f0813a4: 44050000 */ mfc1 $a1,$f0
/* f0813a8: 0fc239af */ jal func0f08e6bc
/* f0813ac: 8fa400f8 */ lw $a0,0xf8($sp)
/* f0813b0: 8fa600f8 */ lw $a2,0xf8($sp)
/* f0813b4: 46000086 */ mov.s $f2,$f0
/* f0813b8: 84c20002 */ lh $v0,0x2($a2)
/* f0813bc: 1840000e */ blez $v0,.L0f0813f8
/* f0813c0: 2841003c */ slti $at,$v0,0x32
/* f0813c4: 5020000d */ beqzl $at,.L0f0813fc
/* f0813c8: 3c01437f */ lui $at,0x437f
/* f0813cc: 44823000 */ mtc1 $v0,$f6
/* f0813d0: 3c014270 */ lui $at,0x4248
/* f0813d4: 44812000 */ mtc1 $at,$f4
/* f0813d8: 46803220 */ cvt.s.w $f8,$f6
/* f0813dc: 3c017f1b */ lui $at,%hi(var7f1aa828)
/* f0813e0: c430a828 */ lwc1 $f16,%lo(var7f1aa828)($at)
/* f0813e4: 46082281 */ sub.s $f10,$f4,$f8
/* f0813e8: 46105482 */ mul.s $f18,$f10,$f16
/* f0813ec: 00000000 */ nop
/* f0813f0: 46120082 */ mul.s $f2,$f0,$f18
/* f0813f4: 00000000 */ nop
.L0f0813f8:
/* f0813f8: 3c01437f */ lui $at,0x437f
.L0f0813fc:
/* f0813fc: 44813000 */ mtc1 $at,$f6
/* f081400: 00000000 */ nop
/* f081404: 46061102 */ mul.s $f4,$f2,$f6
/* f081408: 4600220d */ trunc.w.s $f8,$f4
/* f08140c: 44084000 */ mfc1 $t0,$f8
/* f081410: 00000000 */ nop
/* f081414: 1d000003 */ bgtz $t0,.L0f081424
/* f081418: 00000000 */ nop
/* f08141c: 100001f9 */ b .L0f081c04
/* f081420: 8fa200fc */ lw $v0,0xfc($sp)
.L0f081424:
/* f081424: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f081428: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f08142c: 8fa600f8 */ lw $a2,0xf8($sp)
/* f081430: 24010002 */ addiu $at,$zero,0x2
/* f081434: 94430010 */ lhu $v1,0x10($v0)
/* f081438: 10600048 */ beqz $v1,.L0f08155c
/* f08143c: 00000000 */ nop
/* f081440: 5461000c */ bnel $v1,$at,.L0f081474
/* f081444: 24010001 */ addiu $at,$zero,0x1
/* f081448: 8c430264 */ lw $v1,0x264($v0)
/* f08144c: 10600043 */ beqz $v1,.L0f08155c
/* f081450: 00000000 */ nop
/* f081454: 8c620014 */ lw $v0,0x14($v1)
/* f081458: 10400040 */ beqz $v0,.L0f08155c
/* f08145c: 00000000 */ nop
/* f081460: 14c2003e */ bne $a2,$v0,.L0f08155c
/* f081464: 00000000 */ nop
/* f081468: 100001e6 */ b .L0f081c04
/* f08146c: 8fa200fc */ lw $v0,0xfc($sp)
/* f081470: 24010001 */ addiu $at,$zero,0x1
.L0f081474:
/* f081474: 14610039 */ bne $v1,$at,.L0f08155c
/* f081478: 00000000 */ nop
/* f08147c: c4d20008 */ lwc1 $f18,0x8($a2)
/* f081480: c4460018 */ lwc1 $f6,0x18($v0)
/* f081484: c4ca0010 */ lwc1 $f10,0x10($a2)
/* f081488: c4500020 */ lwc1 $f16,0x20($v0)
/* f08148c: 46069081 */ sub.s $f2,$f18,$f6
/* f081490: c4c4000c */ lwc1 $f4,0xc($a2)
/* f081494: c448001c */ lwc1 $f8,0x1c($v0)
/* f081498: 46105001 */ sub.s $f0,$f10,$f16
/* f08149c: 46021282 */ mul.s $f10,$f2,$f2
/* f0814a0: 46082381 */ sub.s $f14,$f4,$f8
/* f0814a4: 460e7402 */ mul.s $f16,$f14,$f14
/* f0814a8: 46105480 */ add.s $f18,$f10,$f16
/* f0814ac: 46000182 */ mul.s $f6,$f0,$f0
/* f0814b0: 0c012974 */ jal sqrtf
/* f0814b4: 46123300 */ add.s $f12,$f6,$f18
/* f0814b8: 3c0c800a */ lui $t4,%hi(g_Vars+0x284)
/* f0814bc: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4)
/* f0814c0: 3c014316 */ lui $at,0x4316
/* f0814c4: c5820024 */ lwc1 $f2,0x24($t4)
/* f0814c8: 4600103c */ c.lt.s $f2,$f0
/* f0814cc: 00000000 */ nop
/* f0814d0: 45020004 */ bc1fl .L0f0814e4
/* f0814d4: 44817000 */ mtc1 $at,$f14
/* f0814d8: 100001ca */ b .L0f081c04
/* f0814dc: 8fa200fc */ lw $v0,0xfc($sp)
/* f0814e0: 44817000 */ mtc1 $at,$f14
.L0f0814e4:
/* f0814e4: 24080080 */ addiu $t0,$zero,0x80
/* f0814e8: 460e1301 */ sub.s $f12,$f2,$f14
/* f0814ec: 4600603c */ c.lt.s $f12,$f0
/* f0814f0: 00000000 */ nop
/* f0814f4: 4502000d */ bc1fl .L0f08152c
/* f0814f8: 46020103 */ div.s $f4,$f0,$f2
/* f0814fc: 460c0201 */ sub.s $f8,$f0,$f12
/* f081500: 3c013f80 */ lui $at,0x3f80
/* f081504: 44812000 */ mtc1 $at,$f4
/* f081508: 3c014300 */ lui $at,0x4300
/* f08150c: 460e4283 */ div.s $f10,$f8,$f14
/* f081510: 44813000 */ mtc1 $at,$f6
/* f081514: 460a2401 */ sub.s $f16,$f4,$f10
/* f081518: 46068482 */ mul.s $f18,$f16,$f6
/* f08151c: 4600920d */ trunc.w.s $f8,$f18
/* f081520: 44084000 */ mfc1 $t0,$f8
/* f081524: 00000000 */ nop
/* f081528: 46020103 */ div.s $f4,$f0,$f2
.L0f08152c:
/* f08152c: 3c013f80 */ lui $at,0x3f80
/* f081530: 44815000 */ mtc1 $at,$f10
/* f081534: 3c013f80 */ lui $at,0x3f80
/* f081538: e7a40078 */ swc1 $f4,0x78($sp)
/* f08153c: c7b00078 */ lwc1 $f16,0x78($sp)
/* f081540: 4610503c */ c.lt.s $f10,$f16
/* f081544: 00000000 */ nop
/* f081548: 45000004 */ bc1f .L0f08155c
/* f08154c: 00000000 */ nop
/* f081550: 44813000 */ mtc1 $at,$f6
/* f081554: 00000000 */ nop
/* f081558: e7a60078 */ swc1 $f6,0x78($sp)
.L0f08155c:
/* f08155c: 3c19800a */ lui $t9,%hi(g_Vars+0x31c)
/* f081560: 8f39a2dc */ lw $t9,%lo(g_Vars+0x31c)($t9)
/* f081564: 8fa600f8 */ lw $a2,0xf8($sp)
/* f081568: 8fad0100 */ lw $t5,0x100($sp)
/* f08156c: 5320001e */ beqzl $t9,.L0f0815e8
/* f081570: 290100ff */ slti $at,$t0,0xff
/* f081574: 92180003 */ lbu $t8,0x3($s0)
/* f081578: 24010008 */ addiu $at,$zero,0x8
/* f08157c: 5701001a */ bnel $t8,$at,.L0f0815e8
/* f081580: 290100ff */ slti $at,$t0,0xff
/* f081584: 8e090010 */ lw $t1,0x10($s0)
/* f081588: 312f0100 */ andi $t7,$t1,0x100
/* f08158c: 51e00016 */ beqzl $t7,.L0f0815e8
/* f081590: 290100ff */ slti $at,$t0,0xff
/* f081594: 820e0060 */ lb $t6,0x60($s0)
/* f081598: 44889000 */ mtc1 $t0,$f18
/* f08159c: 3c017f1b */ lui $at,%hi(var7f1aa82c)
/* f0815a0: 448e2000 */ mtc1 $t6,$f4
/* f0815a4: 46809220 */ cvt.s.w $f8,$f18
/* f0815a8: c426a82c */ lwc1 $f6,%lo(var7f1aa82c)($at)
/* f0815ac: 468022a0 */ cvt.s.w $f10,$f4
/* f0815b0: 460a4402 */ mul.s $f16,$f8,$f10
/* f0815b4: 00000000 */ nop
/* f0815b8: 46068482 */ mul.s $f18,$f16,$f6
/* f0815bc: 4600910d */ trunc.w.s $f4,$f18
/* f0815c0: 44082000 */ mfc1 $t0,$f4
/* f0815c4: 00000000 */ nop
/* f0815c8: 05010003 */ bgez $t0,.L0f0815d8
/* f0815cc: 29010100 */ slti $at,$t0,0x100
/* f0815d0: 10000004 */ b .L0f0815e4
/* f0815d4: 00004025 */ or $t0,$zero,$zero
.L0f0815d8:
/* f0815d8: 54200003 */ bnezl $at,.L0f0815e8
/* f0815dc: 290100ff */ slti $at,$t0,0xff
/* f0815e0: 240800ff */ addiu $t0,$zero,0xff
.L0f0815e4:
/* f0815e4: 290100ff */ slti $at,$t0,0xff
.L0f0815e8:
/* f0815e8: 14200006 */ bnez $at,.L0f081604
/* f0815ec: 00000000 */ nop
/* f0815f0: 8e0b000c */ lw $t3,0xc($s0)
/* f0815f4: 8fb80100 */ lw $t8,0x100($sp)
/* f0815f8: 000b63c0 */ sll $t4,$t3,0xf
/* f0815fc: 05810008 */ bgez $t4,.L0f081620
/* f081600: 00000000 */ nop
.L0f081604:
/* f081604: 15a00003 */ bnez $t5,.L0f081614
/* f081608: 24190003 */ addiu $t9,$zero,0x3
/* f08160c: 1000017d */ b .L0f081c04
/* f081610: 8fa200fc */ lw $v0,0xfc($sp)
.L0f081614:
/* f081614: afb90084 */ sw $t9,0x84($sp)
/* f081618: 10000008 */ b .L0f08163c
/* f08161c: 92020003 */ lbu $v0,0x3($s0)
.L0f081620:
/* f081620: 17000004 */ bnez $t8,.L0f081634
/* f081624: 92020003 */ lbu $v0,0x3($s0)
/* f081628: 24090001 */ addiu $t1,$zero,0x1
/* f08162c: 10000003 */ b .L0f08163c
/* f081630: afa90084 */ sw $t1,0x84($sp)
.L0f081634:
/* f081634: 240f0002 */ addiu $t7,$zero,0x2
/* f081638: afaf0084 */ sw $t7,0x84($sp)
.L0f08163c:
/* f08163c: 24010001 */ addiu $at,$zero,0x1
/* f081640: 54410032 */ bnel $v0,$at,.L0f08170c
/* f081644: 8e19000c */ lw $t9,0xc($s0)
/* f081648: 960e0072 */ lhu $t6,0x72($s0)
/* f08164c: 2401000b */ addiu $at,$zero,0xb
/* f081650: 55c1002e */ bnel $t6,$at,.L0f08170c
/* f081654: 8e19000c */ lw $t9,0xc($s0)
/* f081658: 8e040018 */ lw $a0,0x18($s0)
/* f08165c: 0fc1a1f9 */ jal func0f0687e4
/* f081660: afa8007c */ sw $t0,0x7c($sp)
/* f081664: 8c460004 */ lw $a2,0x4($v0)
/* f081668: 8e040018 */ lw $a0,0x18($s0)
/* f08166c: 00402825 */ or $a1,$v0,$zero
/* f081670: 0c006a87 */ jal modelGetNodeRwData
/* f081674: afa60060 */ sw $a2,0x60($sp)
/* f081678: 8fa60060 */ lw $a2,0x60($sp)
/* f08167c: afa2005c */ sw $v0,0x5c($sp)
/* f081680: 84cb0010 */ lh $t3,0x10($a2)
/* f081684: 8cca000c */ lw $t2,0xc($a2)
/* f081688: 000b6080 */ sll $t4,$t3,0x2
/* f08168c: 018b6023 */ subu $t4,$t4,$t3
/* f081690: 000c6080 */ sll $t4,$t4,0x2
/* f081694: 014c6821 */ addu $t5,$t2,$t4
/* f081698: 25b90007 */ addiu $t9,$t5,0x7
/* f08169c: 37380007 */ ori $t8,$t9,0x7
/* f0816a0: 3b090007 */ xori $t1,$t8,0x7
/* f0816a4: afa90054 */ sw $t1,0x54($sp)
/* f0816a8: 0fc59e73 */ jal gfxAllocateColours
/* f0816ac: 94c40016 */ lhu $a0,0x16($a2)
/* f0816b0: 8fa60060 */ lw $a2,0x60($sp)
/* f0816b4: 8fa8007c */ lw $t0,0x7c($sp)
/* f0816b8: 00002025 */ or $a0,$zero,$zero
/* f0816bc: 94cf0016 */ lhu $t7,0x16($a2)
/* f0816c0: 8fa50054 */ lw $a1,0x54($sp)
/* f0816c4: 00401825 */ or $v1,$v0,$zero
/* f0816c8: 59e0000d */ blezl $t7,.L0f081700
/* f0816cc: 8fad005c */ lw $t5,0x5c($sp)
/* f0816d0: 8ca10000 */ lw $at,0x0($a1)
.L0f0816d4:
/* f0816d4: 24840001 */ addiu $a0,$a0,0x1
/* f0816d8: 24a50004 */ addiu $a1,$a1,0x4
/* f0816dc: ac610000 */ sw $at,0x0($v1)
/* f0816e0: 920a00cc */ lbu $t2,0xcc($s0)
/* f0816e4: 24630004 */ addiu $v1,$v1,0x4
/* f0816e8: a06affff */ sb $t2,-0x1($v1)
/* f0816ec: 94cc0016 */ lhu $t4,0x16($a2)
/* f0816f0: 008c082a */ slt $at,$a0,$t4
/* f0816f4: 5420fff7 */ bnezl $at,.L0f0816d4
/* f0816f8: 8ca10000 */ lw $at,0x0($a1)
/* f0816fc: 8fad005c */ lw $t5,0x5c($sp)
.L0f081700:
/* f081700: ada20008 */ sw $v0,0x8($t5)
/* f081704: 8fa600f8 */ lw $a2,0xf8($sp)
/* f081708: 8e19000c */ lw $t9,0xc($s0)
.L0f08170c:
/* f08170c: 24c40028 */ addiu $a0,$a2,0x28
/* f081710: 27a50098 */ addiu $a1,$sp,0x98
/* f081714: 0019c140 */ sll $t8,$t9,0x5
/* f081718: 07020010 */ bltzl $t8,.L0f08175c
/* f08171c: 8fa400fc */ lw $a0,0xfc($sp)
/* f081720: 0fc2396a */ jal func0f08e5a8
/* f081724: afa8007c */ sw $t0,0x7c($sp)
/* f081728: 1840000b */ blez $v0,.L0f081758
/* f08172c: 8fa8007c */ lw $t0,0x7c($sp)
/* f081730: 87a9009e */ lh $t1,0x9e($sp)
/* f081734: 8fa400fc */ lw $a0,0xfc($sp)
/* f081738: 87a50098 */ lh $a1,0x98($sp)
/* f08173c: 87a6009a */ lh $a2,0x9a($sp)
/* f081740: 87a7009c */ lh $a3,0x9c($sp)
/* f081744: afa8007c */ sw $t0,0x7c($sp)
/* f081748: 0fc57306 */ jal currentPlayerScissorWithinViewport
/* f08174c: afa90010 */ sw $t1,0x10($sp)
/* f081750: 10000005 */ b .L0f081768
/* f081754: 8fa8007c */ lw $t0,0x7c($sp)
.L0f081758:
/* f081758: 8fa400fc */ lw $a0,0xfc($sp)
.L0f08175c:
/* f08175c: 0fc572dd */ jal currentPlayerScissorToViewport
/* f081760: afa8007c */ sw $t0,0x7c($sp)
/* f081764: 8fa8007c */ lw $t0,0x7c($sp)
.L0f081768:
/* f081768: 8faf0084 */ lw $t7,0x84($sp)
/* f08176c: 3c010001 */ lui $at,0x1
/* f081770: 240c0005 */ addiu $t4,$zero,0x5
/* f081774: afaf00a8 */ sw $t7,0xa8($sp)
/* f081778: 8e0e000c */ lw $t6,0xc($s0)
/* f08177c: afa200ac */ sw $v0,0xac($sp)
/* f081780: 240d0009 */ addiu $t5,$zero,0x9
/* f081784: 01c15824 */ and $t3,$t6,$at
/* f081788: 2d6a0001 */ sltiu $t2,$t3,0x1
/* f08178c: 290100ff */ slti $at,$t0,0xff
/* f081790: 10200004 */ beqz $at,.L0f0817a4
/* f081794: afaa00a4 */ sw $t2,0xa4($sp)
/* f081798: afac00d0 */ sw $t4,0xd0($sp)
/* f08179c: 10000016 */ b .L0f0817f8
/* f0817a0: afa800d4 */ sw $t0,0xd4($sp)
.L0f0817a4:
/* f0817a4: afad00d0 */ sw $t5,0xd0($sp)
/* f0817a8: 92020003 */ lbu $v0,0x3($s0)
/* f0817ac: 2401002f */ addiu $at,$zero,0x2f
/* f0817b0: 54410006 */ bnel $v0,$at,.L0f0817cc
/* f0817b4: 24010001 */ addiu $at,$zero,0x1
/* f0817b8: 86190060 */ lh $t9,0x60($s0)
/* f0817bc: 0019c200 */ sll $t8,$t9,0x8
/* f0817c0: 1000000d */ b .L0f0817f8
/* f0817c4: afb800d4 */ sw $t8,0xd4($sp)
/* f0817c8: 24010001 */ addiu $at,$zero,0x1
.L0f0817cc:
/* f0817cc: 5441000a */ bnel $v0,$at,.L0f0817f8
/* f0817d0: afa000d4 */ sw $zero,0xd4($sp)
/* f0817d4: 96090070 */ lhu $t1,0x70($s0)
/* f0817d8: 312f0002 */ andi $t7,$t1,0x2
/* f0817dc: 51e00006 */ beqzl $t7,.L0f0817f8
/* f0817e0: afa000d4 */ sw $zero,0xd4($sp)
/* f0817e4: 860e0086 */ lh $t6,0x86($s0)
/* f0817e8: 000e5a00 */ sll $t3,$t6,0x8
/* f0817ec: 10000002 */ b .L0f0817f8
/* f0817f0: afab00d4 */ sw $t3,0xd4($sp)
/* f0817f4: afa000d4 */ sw $zero,0xd4($sp)
.L0f0817f8:
/* f0817f8: 8faa00f8 */ lw $t2,0xf8($sp)
/* f0817fc: 24010002 */ addiu $at,$zero,0x2
/* f081800: 3c06800a */ lui $a2,%hi(g_Vars)
/* f081804: 914c0000 */ lbu $t4,0x0($t2)
/* f081808: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f08180c: 27a50088 */ addiu $a1,$sp,0x88
/* f081810: 5581001e */ bnel $t4,$at,.L0f08188c
/* f081814: 92090050 */ lbu $t1,0x50($s0)
/* f081818: 8ccd0298 */ lw $t5,0x298($a2)
/* f08181c: 05a30005 */ bgezl $t5,.L0f081834
/* f081820: 8cc9028c */ lw $t1,0x28c($a2)
/* f081824: 8cd9029c */ lw $t9,0x29c($a2)
/* f081828: 07220018 */ bltzl $t9,.L0f08188c
/* f08182c: 92090050 */ lbu $t1,0x50($s0)
/* f081830: 8cc9028c */ lw $t1,0x28c($a2)
.L0f081834:
/* f081834: 8fb800f8 */ lw $t8,0xf8($sp)
/* f081838: 1520000a */ bnez $t1,.L0f081864
/* f08183c: 8f020004 */ lw $v0,0x4($t8)
/* f081840: 904f00d0 */ lbu $t7,0xd0($v0)
/* f081844: afaf0088 */ sw $t7,0x88($sp)
/* f081848: 904e00d1 */ lbu $t6,0xd1($v0)
/* f08184c: afae008c */ sw $t6,0x8c($sp)
/* f081850: 904b00d2 */ lbu $t3,0xd2($v0)
/* f081854: afab0090 */ sw $t3,0x90($sp)
/* f081858: 904a00d3 */ lbu $t2,0xd3($v0)
/* f08185c: 10000014 */ b .L0f0818b0
/* f081860: afaa0094 */ sw $t2,0x94($sp)
.L0f081864:
/* f081864: 904c00d4 */ lbu $t4,0xd4($v0)
/* f081868: afac0088 */ sw $t4,0x88($sp)
/* f08186c: 904d00d5 */ lbu $t5,0xd5($v0)
/* f081870: afad008c */ sw $t5,0x8c($sp)
/* f081874: 905900d6 */ lbu $t9,0xd6($v0)
/* f081878: afb90090 */ sw $t9,0x90($sp)
/* f08187c: 905800d7 */ lbu $t8,0xd7($v0)
/* f081880: 1000000b */ b .L0f0818b0
/* f081884: afb80094 */ sw $t8,0x94($sp)
/* f081888: 92090050 */ lbu $t1,0x50($s0)
.L0f08188c:
/* f08188c: 3c06800a */ lui $a2,%hi(g_Vars)
/* f081890: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f081894: afa90088 */ sw $t1,0x88($sp)
/* f081898: 920f0051 */ lbu $t7,0x51($s0)
/* f08189c: afaf008c */ sw $t7,0x8c($sp)
/* f0818a0: 920e0052 */ lbu $t6,0x52($s0)
/* f0818a4: afae0090 */ sw $t6,0x90($sp)
/* f0818a8: 920b0053 */ lbu $t3,0x53($s0)
/* f0818ac: afab0094 */ sw $t3,0x94($sp)
.L0f0818b0:
/* f0818b0: 8cca0318 */ lw $t2,0x318($a2)
/* f0818b4: 51400006 */ beqzl $t2,.L0f0818d0
/* f0818b8: 8cc20284 */ lw $v0,0x284($a2)
/* f0818bc: 0fc61788 */ jal scenarioHighlightProp
/* f0818c0: 8fa400f8 */ lw $a0,0xf8($sp)
/* f0818c4: 3c06800a */ lui $a2,%hi(g_Vars)
/* f0818c8: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f0818cc: 8cc20284 */ lw $v0,0x284($a2)
.L0f0818d0:
/* f0818d0: 24010001 */ addiu $at,$zero,0x1
/* f0818d4: c7a80078 */ lwc1 $f8,0x78($sp)
/* f0818d8: 944c0010 */ lhu $t4,0x10($v0)
/* f0818dc: 15810020 */ bne $t4,$at,.L0f081960
/* f0818e0: 3c01437f */ lui $at,0x437f
/* f0818e4: 44815000 */ mtc1 $at,$f10
/* f0818e8: 90580270 */ lbu $t8,0x270($v0)
/* f0818ec: 27a30088 */ addiu $v1,$sp,0x88
/* f0818f0: 460a4402 */ mul.s $f16,$f8,$f10
/* f0818f4: 00184880 */ sll $t1,$t8,0x2
/* f0818f8: 00697821 */ addu $t7,$v1,$t1
/* f0818fc: 3c013f80 */ lui $at,0x3f80
/* f081900: 44819000 */ mtc1 $at,$f18
/* f081904: 3c01437f */ lui $at,0x437f
/* f081908: 44815000 */ mtc1 $at,$f10
/* f08190c: 4600818d */ trunc.w.s $f6,$f16
/* f081910: 44193000 */ mfc1 $t9,$f6
/* f081914: 00000000 */ nop
/* f081918: adf90000 */ sw $t9,0x0($t7)
/* f08191c: c7a40078 */ lwc1 $f4,0x78($sp)
/* f081920: 904a0271 */ lbu $t2,0x271($v0)
/* f081924: 240f00ff */ addiu $t7,$zero,0xff
/* f081928: 46049201 */ sub.s $f8,$f18,$f4
/* f08192c: 000a6080 */ sll $t4,$t2,0x2
/* f081930: 006c6821 */ addu $t5,$v1,$t4
/* f081934: 460a4402 */ mul.s $f16,$f8,$f10
/* f081938: 4600818d */ trunc.w.s $f6,$f16
/* f08193c: 440b3000 */ mfc1 $t3,$f6
/* f081940: 00000000 */ nop
/* f081944: adab0000 */ sw $t3,0x0($t5)
/* f081948: 90580272 */ lbu $t8,0x272($v0)
/* f08194c: 00184880 */ sll $t1,$t8,0x2
/* f081950: 0069c821 */ addu $t9,$v1,$t1
/* f081954: af200000 */ sw $zero,0x0($t9)
/* f081958: 1000000d */ b .L0f081990
/* f08195c: afaf0094 */ sw $t7,0x94($sp)
.L0f081960:
/* f081960: 8e040014 */ lw $a0,0x14($s0)
/* f081964: 0fc1a3f2 */ jal func0f068fc8
/* f081968: 24050001 */ addiu $a1,$zero,0x1
/* f08196c: 8fa30094 */ lw $v1,0x94($sp)
/* f081970: 00621823 */ subu $v1,$v1,$v0
/* f081974: 28610100 */ slti $at,$v1,0x100
/* f081978: 14200002 */ bnez $at,.L0f081984
/* f08197c: 00000000 */ nop
/* f081980: 240300ff */ addiu $v1,$zero,0xff
.L0f081984:
/* f081984: 04610002 */ bgez $v1,.L0f081990
/* f081988: afa30094 */ sw $v1,0x94($sp)
/* f08198c: afa00094 */ sw $zero,0x94($sp)
.L0f081990:
/* f081990: 0fc1a1d8 */ jal objGetDestroyedThird
/* f081994: 02002025 */ or $a0,$s0,$zero
/* f081998: 00027080 */ sll $t6,$v0,0x2
/* f08199c: 01c27021 */ addu $t6,$t6,$v0
/* f0819a0: 000e7080 */ sll $t6,$t6,0x2
/* f0819a4: 01c27021 */ addu $t6,$t6,$v0
/* f0819a8: 240a00ff */ addiu $t2,$zero,0xff
/* f0819ac: 014e2023 */ subu $a0,$t2,$t6
/* f0819b0: 04810002 */ bgez $a0,.L0f0819bc
/* f0819b4: 8fac0088 */ lw $t4,0x88($sp)
/* f0819b8: 00002025 */ or $a0,$zero,$zero
.L0f0819bc:
/* f0819bc: 01840019 */ multu $t4,$a0
/* f0819c0: 8fb8008c */ lw $t8,0x8c($sp)
/* f0819c4: 8faf0090 */ lw $t7,0x90($sp)
/* f0819c8: 8fa30094 */ lw $v1,0x94($sp)
/* f0819cc: 00026100 */ sll $t4,$v0,0x4
/* f0819d0: 01826023 */ subu $t4,$t4,$v0
/* f0819d4: 006c1821 */ addu $v1,$v1,$t4
/* f0819d8: 28610100 */ slti $at,$v1,0x100
/* f0819dc: afa30094 */ sw $v1,0x94($sp)
/* f0819e0: 27a600e8 */ addiu $a2,$sp,0xe8
/* f0819e4: 00005812 */ mflo $t3
/* f0819e8: 000b6a03 */ sra $t5,$t3,0x8
/* f0819ec: afad0088 */ sw $t5,0x88($sp)
/* f0819f0: 03040019 */ multu $t8,$a0
/* f0819f4: 00004812 */ mflo $t1
/* f0819f8: 0009ca03 */ sra $t9,$t1,0x8
/* f0819fc: afb9008c */ sw $t9,0x8c($sp)
/* f081a00: 01e40019 */ multu $t7,$a0
/* f081a04: 27a40088 */ addiu $a0,$sp,0x88
/* f081a08: 00005012 */ mflo $t2
/* f081a0c: 000a7203 */ sra $t6,$t2,0x8
/* f081a10: 14200003 */ bnez $at,.L0f081a20
/* f081a14: afae0090 */ sw $t6,0x90($sp)
/* f081a18: 240300ff */ addiu $v1,$zero,0xff
/* f081a1c: afa30094 */ sw $v1,0x94($sp)
.L0f081a20:
/* f081a20: 0fc1a5d4 */ jal func0f069750
/* f081a24: 8fa500e4 */ lw $a1,0xe4($sp)
/* f081a28: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f081a2c: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f081a30: 27a500a0 */ addiu $a1,$sp,0xa0
/* f081a34: 8c4400d8 */ lw $a0,0xd8($v0)
/* f081a38: 14800021 */ bnez $a0,.L0f081ac0
/* f081a3c: 3c0b8007 */ lui $t3,%hi(g_InCutscene)
/* f081a40: 8d6b0764 */ lw $t3,%lo(g_InCutscene)($t3)
/* f081a44: 1560001e */ bnez $t3,.L0f081ac0
/* f081a48: 00000000 */ nop
/* f081a4c: 8c430480 */ lw $v1,0x480($v0)
/* f081a50: 50600007 */ beqzl $v1,.L0f081a70
/* f081a54: 8c491c54 */ lw $t1,0x1c54($v0)
/* f081a58: 10600019 */ beqz $v1,.L0f081ac0
/* f081a5c: 00000000 */ nop
/* f081a60: 806d0037 */ lb $t5,0x37($v1)
/* f081a64: 15a00016 */ bnez $t5,.L0f081ac0
/* f081a68: 00000000 */ nop
/* f081a6c: 8c491c54 */ lw $t1,0x1c54($v0)
.L0f081a70:
/* f081a70: 8c5800c4 */ lw $t8,0xc4($v0)
/* f081a74: 0120c827 */ nor $t9,$t1,$zero
/* f081a78: 03197824 */ and $t7,$t8,$t9
/* f081a7c: 31ea0001 */ andi $t2,$t7,0x1
/* f081a80: 1140000f */ beqz $t2,.L0f081ac0
/* f081a84: 00000000 */ nop
/* f081a88: 8e0e0008 */ lw $t6,0x8($s0)
/* f081a8c: 3c02800a */ lui $v0,%hi(var8009caec+0x1)
/* f081a90: 31cc0800 */ andi $t4,$t6,0x800
/* f081a94: 15800008 */ bnez $t4,.L0f081ab8
/* f081a98: 00000000 */ nop
/* f081a9c: 9042caed */ lbu $v0,%lo(var8009caec+0x1)($v0)
/* f081aa0: 3c03800a */ lui $v1,%hi(var8009caec+0x2)
/* f081aa4: 9063caee */ lbu $v1,%lo(var8009caec+0x2)($v1)
/* f081aa8: afa20088 */ sw $v0,0x88($sp)
/* f081aac: afa2008c */ sw $v0,0x8c($sp)
/* f081ab0: afa20090 */ sw $v0,0x90($sp)
/* f081ab4: afa30094 */ sw $v1,0x94($sp)
.L0f081ab8:
/* f081ab8: 10000024 */ b .L0f081b4c
/* f081abc: 8faf0088 */ lw $t7,0x88($sp)
.L0f081ac0:
/* f081ac0: 14800021 */ bnez $a0,.L0f081b48
/* f081ac4: 3c0b8007 */ lui $t3,%hi(g_InCutscene)
/* f081ac8: 8d6b0764 */ lw $t3,%lo(g_InCutscene)($t3)
/* f081acc: 5560001f */ bnezl $t3,.L0f081b4c
/* f081ad0: 8faf0088 */ lw $t7,0x88($sp)
/* f081ad4: 8c430480 */ lw $v1,0x480($v0)
/* f081ad8: 50600007 */ beqzl $v1,.L0f081af8
/* f081adc: 8c581c54 */ lw $t8,0x1c54($v0)
/* f081ae0: 5060001a */ beqzl $v1,.L0f081b4c
/* f081ae4: 8faf0088 */ lw $t7,0x88($sp)
/* f081ae8: 806d0037 */ lb $t5,0x37($v1)
/* f081aec: 55a00017 */ bnezl $t5,.L0f081b4c
/* f081af0: 8faf0088 */ lw $t7,0x88($sp)
/* f081af4: 8c581c54 */ lw $t8,0x1c54($v0)
.L0f081af8:
/* f081af8: 8c4900c4 */ lw $t1,0xc4($v0)
/* f081afc: 0300c827 */ nor $t9,$t8,$zero
/* f081b00: 01397824 */ and $t7,$t1,$t9
/* f081b04: 31ea0008 */ andi $t2,$t7,0x8
/* f081b08: 51400010 */ beqzl $t2,.L0f081b4c
/* f081b0c: 8faf0088 */ lw $t7,0x88($sp)
/* f081b10: 8e0e0040 */ lw $t6,0x40($s0)
/* f081b14: 241800ff */ addiu $t8,$zero,0xff
/* f081b18: 240900ff */ addiu $t1,$zero,0xff
/* f081b1c: 000e61c0 */ sll $t4,$t6,0x7
/* f081b20: 05800004 */ bltz $t4,.L0f081b34
/* f081b24: 241900ff */ addiu $t9,$zero,0xff
/* f081b28: 8e0b0010 */ lw $t3,0x10($s0)
/* f081b2c: 000b6840 */ sll $t5,$t3,0x1
/* f081b30: 05a10005 */ bgez $t5,.L0f081b48
.L0f081b34:
/* f081b34: 24030046 */ addiu $v1,$zero,0x46
/* f081b38: afb80088 */ sw $t8,0x88($sp)
/* f081b3c: afa9008c */ sw $t1,0x8c($sp)
/* f081b40: afb90090 */ sw $t9,0x90($sp)
/* f081b44: afa30094 */ sw $v1,0x94($sp)
.L0f081b48:
/* f081b48: 8faf0088 */ lw $t7,0x88($sp)
.L0f081b4c:
/* f081b4c: 8fa30094 */ lw $v1,0x94($sp)
/* f081b50: 8fac008c */ lw $t4,0x8c($sp)
/* f081b54: 8fb80090 */ lw $t8,0x90($sp)
/* f081b58: 000f5600 */ sll $t2,$t7,0x18
/* f081b5c: 006a7025 */ or $t6,$v1,$t2
/* f081b60: 000c5c00 */ sll $t3,$t4,0x10
/* f081b64: 01cb6825 */ or $t5,$t6,$t3
/* f081b68: 00184a00 */ sll $t1,$t8,0x8
/* f081b6c: 01a9c825 */ or $t9,$t5,$t1
/* f081b70: afb900d8 */ sw $t9,0xd8($sp)
/* f081b74: 8fa400f8 */ lw $a0,0xf8($sp)
/* f081b78: 0fc20271 */ jal objRenderProp
/* f081b7c: 8fa60100 */ lw $a2,0x100($sp)
/* f081b80: 8faa0100 */ lw $t2,0x100($sp)
/* f081b84: 8faf00ac */ lw $t7,0xac($sp)
/* f081b88: 1140001d */ beqz $t2,.L0f081c00
/* f081b8c: afaf00fc */ sw $t7,0xfc($sp)
/* f081b90: 92020003 */ lbu $v0,0x3($s0)
/* f081b94: 24010035 */ addiu $at,$zero,0x35
/* f081b98: 02002025 */ or $a0,$s0,$zero
/* f081b9c: 10410009 */ beq $v0,$at,.L0f081bc4
/* f081ba0: 24010033 */ addiu $at,$zero,0x33
/* f081ba4: 10410007 */ beq $v0,$at,.L0f081bc4
/* f081ba8: 00000000 */ nop
/* f081bac: 86030004 */ lh $v1,0x4($s0)
/* f081bb0: 2401008c */ addiu $at,$zero,0x8c
/* f081bb4: 10610003 */ beq $v1,$at,.L0f081bc4
/* f081bb8: 2401008d */ addiu $at,$zero,0x8d
/* f081bbc: 54610006 */ bnel $v1,$at,.L0f081bd8
/* f081bc0: 24010128 */ addiu $at,$zero,0x128
.L0f081bc4:
/* f081bc4: 0fc20488 */ jal objRenderShadow
/* f081bc8: 8fa500fc */ lw $a1,0xfc($sp)
/* f081bcc: afa200fc */ sw $v0,0xfc($sp)
/* f081bd0: 86030004 */ lh $v1,0x4($s0)
/* f081bd4: 24010128 */ addiu $at,$zero,0x128
.L0f081bd8:
/* f081bd8: 5461000a */ bnel $v1,$at,.L0f081c04
/* f081bdc: 8fa200fc */ lw $v0,0xfc($sp)
/* f081be0: 8e0c0008 */ lw $t4,0x8($s0)
/* f081be4: 02002025 */ or $a0,$s0,$zero
/* f081be8: 000c7000 */ sll $t6,$t4,0x0
/* f081bec: 05c30005 */ bgezl $t6,.L0f081c04
/* f081bf0: 8fa200fc */ lw $v0,0xfc($sp)
/* f081bf4: 0fc20488 */ jal objRenderShadow
/* f081bf8: 8fa500fc */ lw $a1,0xfc($sp)
/* f081bfc: afa200fc */ sw $v0,0xfc($sp)
.L0f081c00:
/* f081c00: 8fa200fc */ lw $v0,0xfc($sp)
.L0f081c04:
/* f081c04: 8fbf0024 */ lw $ra,0x24($sp)
/* f081c08: 8fb00020 */ lw $s0,0x20($sp)
/* f081c0c: 27bd00f8 */ addiu $sp,$sp,0xf8
/* f081c10: 03e00008 */ jr $ra
/* f081c14: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel objRender
.late_rodata
glabel var7f1aa828
.word 0x3c888889
glabel var7f1aa82c
.word 0x3c888889
.text
/* f081310: 27bdff08 */ addiu $sp,$sp,-248
/* f081314: 3c0f8007 */ lui $t7,%hi(var8006ab70)
/* f081318: afbf0024 */ sw $ra,0x24($sp)
/* f08131c: afb00020 */ sw $s0,0x20($sp)
/* f081320: afa500fc */ sw $a1,0xfc($sp)
/* f081324: afa60100 */ sw $a2,0x100($sp)
/* f081328: 25efab70 */ addiu $t7,$t7,%lo(var8006ab70)
/* f08132c: 8c900004 */ lw $s0,0x4($a0)
/* f081330: 25e9003c */ addiu $t1,$t7,0x3c
/* f081334: 27ae00a0 */ addiu $t6,$sp,0xa0
.L0f081338:
/* f081338: 8de10000 */ lw $at,0x0($t7)
/* f08133c: 25ef000c */ addiu $t7,$t7,0xc
/* f081340: 25ce000c */ addiu $t6,$t6,0xc
/* f081344: adc1fff4 */ sw $at,-0xc($t6)
/* f081348: 8de1fff8 */ lw $at,-0x8($t7)
/* f08134c: adc1fff8 */ sw $at,-0x8($t6)
/* f081350: 8de1fffc */ lw $at,-0x4($t7)
/* f081354: 15e9fff8 */ bne $t7,$t1,.L0f081338
/* f081358: adc1fffc */ sw $at,-0x4($t6)
/* f08135c: 8de10000 */ lw $at,0x0($t7)
/* f081360: 240800ff */ addiu $t0,$zero,0xff
/* f081364: 27a500e8 */ addiu $a1,$sp,0xe8
/* f081368: adc10000 */ sw $at,0x0($t6)
/* f08136c: afa8007c */ sw $t0,0x7c($sp)
/* f081370: 0fc599fd */ jal func0f1667f4
/* f081374: afa400f8 */ sw $a0,0xf8($sp)
/* f081378: 8fa8007c */ lw $t0,0x7c($sp)
/* f08137c: 14400003 */ bnez $v0,.L0f08138c
/* f081380: afa200e4 */ sw $v0,0xe4($sp)
/* f081384: 1000021f */ b .L0f081c04
/* f081388: 8fa200fc */ lw $v0,0xfc($sp)
.L0f08138c:
/* f08138c: 920a0003 */ lbu $t2,0x3($s0)
/* f081390: 2401002f */ addiu $at,$zero,0x2f
/* f081394: 11410023 */ beq $t2,$at,.L0f081424
/* f081398: 00000000 */ nop
/* f08139c: 0c006be0 */ jal model0001af80
/* f0813a0: 8e040018 */ lw $a0,0x18($s0)
/* f0813a4: 44050000 */ mfc1 $a1,$f0
/* f0813a8: 0fc239af */ jal func0f08e6bc
/* f0813ac: 8fa400f8 */ lw $a0,0xf8($sp)
/* f0813b0: 8fa600f8 */ lw $a2,0xf8($sp)
/* f0813b4: 46000086 */ mov.s $f2,$f0
/* f0813b8: 84c20002 */ lh $v0,0x2($a2)
/* f0813bc: 1840000e */ blez $v0,.L0f0813f8
/* f0813c0: 2841003c */ slti $at,$v0,0x3c
/* f0813c4: 5020000d */ beqzl $at,.L0f0813fc
/* f0813c8: 3c01437f */ lui $at,0x437f
/* f0813cc: 44823000 */ mtc1 $v0,$f6
/* f0813d0: 3c014270 */ lui $at,0x4270
/* f0813d4: 44812000 */ mtc1 $at,$f4
/* f0813d8: 46803220 */ cvt.s.w $f8,$f6
/* f0813dc: 3c017f1b */ lui $at,%hi(var7f1aa828)
/* f0813e0: c430a828 */ lwc1 $f16,%lo(var7f1aa828)($at)
/* f0813e4: 46082281 */ sub.s $f10,$f4,$f8
/* f0813e8: 46105482 */ mul.s $f18,$f10,$f16
/* f0813ec: 00000000 */ nop
/* f0813f0: 46120082 */ mul.s $f2,$f0,$f18
/* f0813f4: 00000000 */ nop
.L0f0813f8:
/* f0813f8: 3c01437f */ lui $at,0x437f
.L0f0813fc:
/* f0813fc: 44813000 */ mtc1 $at,$f6
/* f081400: 00000000 */ nop
/* f081404: 46061102 */ mul.s $f4,$f2,$f6
/* f081408: 4600220d */ trunc.w.s $f8,$f4
/* f08140c: 44084000 */ mfc1 $t0,$f8
/* f081410: 00000000 */ nop
/* f081414: 1d000003 */ bgtz $t0,.L0f081424
/* f081418: 00000000 */ nop
/* f08141c: 100001f9 */ b .L0f081c04
/* f081420: 8fa200fc */ lw $v0,0xfc($sp)
.L0f081424:
/* f081424: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f081428: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f08142c: 8fa600f8 */ lw $a2,0xf8($sp)
/* f081430: 24010002 */ addiu $at,$zero,0x2
/* f081434: 94430010 */ lhu $v1,0x10($v0)
/* f081438: 10600048 */ beqz $v1,.L0f08155c
/* f08143c: 00000000 */ nop
/* f081440: 5461000c */ bnel $v1,$at,.L0f081474
/* f081444: 24010001 */ addiu $at,$zero,0x1
/* f081448: 8c430264 */ lw $v1,0x264($v0)
/* f08144c: 10600043 */ beqz $v1,.L0f08155c
/* f081450: 00000000 */ nop
/* f081454: 8c620014 */ lw $v0,0x14($v1)
/* f081458: 10400040 */ beqz $v0,.L0f08155c
/* f08145c: 00000000 */ nop
/* f081460: 14c2003e */ bne $a2,$v0,.L0f08155c
/* f081464: 00000000 */ nop
/* f081468: 100001e6 */ b .L0f081c04
/* f08146c: 8fa200fc */ lw $v0,0xfc($sp)
/* f081470: 24010001 */ addiu $at,$zero,0x1
.L0f081474:
/* f081474: 14610039 */ bne $v1,$at,.L0f08155c
/* f081478: 00000000 */ nop
/* f08147c: c4d20008 */ lwc1 $f18,0x8($a2)
/* f081480: c4460018 */ lwc1 $f6,0x18($v0)
/* f081484: c4ca0010 */ lwc1 $f10,0x10($a2)
/* f081488: c4500020 */ lwc1 $f16,0x20($v0)
/* f08148c: 46069081 */ sub.s $f2,$f18,$f6
/* f081490: c4c4000c */ lwc1 $f4,0xc($a2)
/* f081494: c448001c */ lwc1 $f8,0x1c($v0)
/* f081498: 46105001 */ sub.s $f0,$f10,$f16
/* f08149c: 46021282 */ mul.s $f10,$f2,$f2
/* f0814a0: 46082381 */ sub.s $f14,$f4,$f8
/* f0814a4: 460e7402 */ mul.s $f16,$f14,$f14
/* f0814a8: 46105480 */ add.s $f18,$f10,$f16
/* f0814ac: 46000182 */ mul.s $f6,$f0,$f0
/* f0814b0: 0c012974 */ jal sqrtf
/* f0814b4: 46123300 */ add.s $f12,$f6,$f18
/* f0814b8: 3c0c800a */ lui $t4,%hi(g_Vars+0x284)
/* f0814bc: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4)
/* f0814c0: 3c014316 */ lui $at,0x4316
/* f0814c4: c5820024 */ lwc1 $f2,0x24($t4)
/* f0814c8: 4600103c */ c.lt.s $f2,$f0
/* f0814cc: 00000000 */ nop
/* f0814d0: 45020004 */ bc1fl .L0f0814e4
/* f0814d4: 44817000 */ mtc1 $at,$f14
/* f0814d8: 100001ca */ b .L0f081c04
/* f0814dc: 8fa200fc */ lw $v0,0xfc($sp)
/* f0814e0: 44817000 */ mtc1 $at,$f14
.L0f0814e4:
/* f0814e4: 24080080 */ addiu $t0,$zero,0x80
/* f0814e8: 460e1301 */ sub.s $f12,$f2,$f14
/* f0814ec: 4600603c */ c.lt.s $f12,$f0
/* f0814f0: 00000000 */ nop
/* f0814f4: 4502000d */ bc1fl .L0f08152c
/* f0814f8: 46020103 */ div.s $f4,$f0,$f2
/* f0814fc: 460c0201 */ sub.s $f8,$f0,$f12
/* f081500: 3c013f80 */ lui $at,0x3f80
/* f081504: 44812000 */ mtc1 $at,$f4
/* f081508: 3c014300 */ lui $at,0x4300
/* f08150c: 460e4283 */ div.s $f10,$f8,$f14
/* f081510: 44813000 */ mtc1 $at,$f6
/* f081514: 460a2401 */ sub.s $f16,$f4,$f10
/* f081518: 46068482 */ mul.s $f18,$f16,$f6
/* f08151c: 4600920d */ trunc.w.s $f8,$f18
/* f081520: 44084000 */ mfc1 $t0,$f8
/* f081524: 00000000 */ nop
/* f081528: 46020103 */ div.s $f4,$f0,$f2
.L0f08152c:
/* f08152c: 3c013f80 */ lui $at,0x3f80
/* f081530: 44815000 */ mtc1 $at,$f10
/* f081534: 3c013f80 */ lui $at,0x3f80
/* f081538: e7a40078 */ swc1 $f4,0x78($sp)
/* f08153c: c7b00078 */ lwc1 $f16,0x78($sp)
/* f081540: 4610503c */ c.lt.s $f10,$f16
/* f081544: 00000000 */ nop
/* f081548: 45000004 */ bc1f .L0f08155c
/* f08154c: 00000000 */ nop
/* f081550: 44813000 */ mtc1 $at,$f6
/* f081554: 00000000 */ nop
/* f081558: e7a60078 */ swc1 $f6,0x78($sp)
.L0f08155c:
/* f08155c: 3c19800a */ lui $t9,%hi(g_Vars+0x31c)
/* f081560: 8f39a2dc */ lw $t9,%lo(g_Vars+0x31c)($t9)
/* f081564: 8fa600f8 */ lw $a2,0xf8($sp)
/* f081568: 8fad0100 */ lw $t5,0x100($sp)
/* f08156c: 5320001e */ beqzl $t9,.L0f0815e8
/* f081570: 290100ff */ slti $at,$t0,0xff
/* f081574: 92180003 */ lbu $t8,0x3($s0)
/* f081578: 24010008 */ addiu $at,$zero,0x8
/* f08157c: 5701001a */ bnel $t8,$at,.L0f0815e8
/* f081580: 290100ff */ slti $at,$t0,0xff
/* f081584: 8e090010 */ lw $t1,0x10($s0)
/* f081588: 312f0100 */ andi $t7,$t1,0x100
/* f08158c: 51e00016 */ beqzl $t7,.L0f0815e8
/* f081590: 290100ff */ slti $at,$t0,0xff
/* f081594: 820e0060 */ lb $t6,0x60($s0)
/* f081598: 44889000 */ mtc1 $t0,$f18
/* f08159c: 3c017f1b */ lui $at,%hi(var7f1aa82c)
/* f0815a0: 448e2000 */ mtc1 $t6,$f4
/* f0815a4: 46809220 */ cvt.s.w $f8,$f18
/* f0815a8: c426a82c */ lwc1 $f6,%lo(var7f1aa82c)($at)
/* f0815ac: 468022a0 */ cvt.s.w $f10,$f4
/* f0815b0: 460a4402 */ mul.s $f16,$f8,$f10
/* f0815b4: 00000000 */ nop
/* f0815b8: 46068482 */ mul.s $f18,$f16,$f6
/* f0815bc: 4600910d */ trunc.w.s $f4,$f18
/* f0815c0: 44082000 */ mfc1 $t0,$f4
/* f0815c4: 00000000 */ nop
/* f0815c8: 05010003 */ bgez $t0,.L0f0815d8
/* f0815cc: 29010100 */ slti $at,$t0,0x100
/* f0815d0: 10000004 */ b .L0f0815e4
/* f0815d4: 00004025 */ or $t0,$zero,$zero
.L0f0815d8:
/* f0815d8: 54200003 */ bnezl $at,.L0f0815e8
/* f0815dc: 290100ff */ slti $at,$t0,0xff
/* f0815e0: 240800ff */ addiu $t0,$zero,0xff
.L0f0815e4:
/* f0815e4: 290100ff */ slti $at,$t0,0xff
.L0f0815e8:
/* f0815e8: 14200006 */ bnez $at,.L0f081604
/* f0815ec: 00000000 */ nop
/* f0815f0: 8e0b000c */ lw $t3,0xc($s0)
/* f0815f4: 8fb80100 */ lw $t8,0x100($sp)
/* f0815f8: 000b63c0 */ sll $t4,$t3,0xf
/* f0815fc: 05810008 */ bgez $t4,.L0f081620
/* f081600: 00000000 */ nop
.L0f081604:
/* f081604: 15a00003 */ bnez $t5,.L0f081614
/* f081608: 24190003 */ addiu $t9,$zero,0x3
/* f08160c: 1000017d */ b .L0f081c04
/* f081610: 8fa200fc */ lw $v0,0xfc($sp)
.L0f081614:
/* f081614: afb90084 */ sw $t9,0x84($sp)
/* f081618: 10000008 */ b .L0f08163c
/* f08161c: 92020003 */ lbu $v0,0x3($s0)
.L0f081620:
/* f081620: 17000004 */ bnez $t8,.L0f081634
/* f081624: 92020003 */ lbu $v0,0x3($s0)
/* f081628: 24090001 */ addiu $t1,$zero,0x1
/* f08162c: 10000003 */ b .L0f08163c
/* f081630: afa90084 */ sw $t1,0x84($sp)
.L0f081634:
/* f081634: 240f0002 */ addiu $t7,$zero,0x2
/* f081638: afaf0084 */ sw $t7,0x84($sp)
.L0f08163c:
/* f08163c: 24010001 */ addiu $at,$zero,0x1
/* f081640: 54410032 */ bnel $v0,$at,.L0f08170c
/* f081644: 8e19000c */ lw $t9,0xc($s0)
/* f081648: 960e0072 */ lhu $t6,0x72($s0)
/* f08164c: 2401000b */ addiu $at,$zero,0xb
/* f081650: 55c1002e */ bnel $t6,$at,.L0f08170c
/* f081654: 8e19000c */ lw $t9,0xc($s0)
/* f081658: 8e040018 */ lw $a0,0x18($s0)
/* f08165c: 0fc1a1f9 */ jal func0f0687e4
/* f081660: afa8007c */ sw $t0,0x7c($sp)
/* f081664: 8c460004 */ lw $a2,0x4($v0)
/* f081668: 8e040018 */ lw $a0,0x18($s0)
/* f08166c: 00402825 */ or $a1,$v0,$zero
/* f081670: 0c006a87 */ jal modelGetNodeRwData
/* f081674: afa60060 */ sw $a2,0x60($sp)
/* f081678: 8fa60060 */ lw $a2,0x60($sp)
/* f08167c: afa2005c */ sw $v0,0x5c($sp)
/* f081680: 84cb0010 */ lh $t3,0x10($a2)
/* f081684: 8cca000c */ lw $t2,0xc($a2)
/* f081688: 000b6080 */ sll $t4,$t3,0x2
/* f08168c: 018b6023 */ subu $t4,$t4,$t3
/* f081690: 000c6080 */ sll $t4,$t4,0x2
/* f081694: 014c6821 */ addu $t5,$t2,$t4
/* f081698: 25b90007 */ addiu $t9,$t5,0x7
/* f08169c: 37380007 */ ori $t8,$t9,0x7
/* f0816a0: 3b090007 */ xori $t1,$t8,0x7
/* f0816a4: afa90054 */ sw $t1,0x54($sp)
/* f0816a8: 0fc59e73 */ jal gfxAllocateColours
/* f0816ac: 94c40016 */ lhu $a0,0x16($a2)
/* f0816b0: 8fa60060 */ lw $a2,0x60($sp)
/* f0816b4: 8fa8007c */ lw $t0,0x7c($sp)
/* f0816b8: 00002025 */ or $a0,$zero,$zero
/* f0816bc: 94cf0016 */ lhu $t7,0x16($a2)
/* f0816c0: 8fa50054 */ lw $a1,0x54($sp)
/* f0816c4: 00401825 */ or $v1,$v0,$zero
/* f0816c8: 59e0000d */ blezl $t7,.L0f081700
/* f0816cc: 8fad005c */ lw $t5,0x5c($sp)
/* f0816d0: 8ca10000 */ lw $at,0x0($a1)
.L0f0816d4:
/* f0816d4: 24840001 */ addiu $a0,$a0,0x1
/* f0816d8: 24a50004 */ addiu $a1,$a1,0x4
/* f0816dc: ac610000 */ sw $at,0x0($v1)
/* f0816e0: 920a00cc */ lbu $t2,0xcc($s0)
/* f0816e4: 24630004 */ addiu $v1,$v1,0x4
/* f0816e8: a06affff */ sb $t2,-0x1($v1)
/* f0816ec: 94cc0016 */ lhu $t4,0x16($a2)
/* f0816f0: 008c082a */ slt $at,$a0,$t4
/* f0816f4: 5420fff7 */ bnezl $at,.L0f0816d4
/* f0816f8: 8ca10000 */ lw $at,0x0($a1)
/* f0816fc: 8fad005c */ lw $t5,0x5c($sp)
.L0f081700:
/* f081700: ada20008 */ sw $v0,0x8($t5)
/* f081704: 8fa600f8 */ lw $a2,0xf8($sp)
/* f081708: 8e19000c */ lw $t9,0xc($s0)
.L0f08170c:
/* f08170c: 24c40028 */ addiu $a0,$a2,0x28
/* f081710: 27a50098 */ addiu $a1,$sp,0x98
/* f081714: 0019c140 */ sll $t8,$t9,0x5
/* f081718: 07020010 */ bltzl $t8,.L0f08175c
/* f08171c: 8fa400fc */ lw $a0,0xfc($sp)
/* f081720: 0fc2396a */ jal func0f08e5a8
/* f081724: afa8007c */ sw $t0,0x7c($sp)
/* f081728: 1840000b */ blez $v0,.L0f081758
/* f08172c: 8fa8007c */ lw $t0,0x7c($sp)
/* f081730: 87a9009e */ lh $t1,0x9e($sp)
/* f081734: 8fa400fc */ lw $a0,0xfc($sp)
/* f081738: 87a50098 */ lh $a1,0x98($sp)
/* f08173c: 87a6009a */ lh $a2,0x9a($sp)
/* f081740: 87a7009c */ lh $a3,0x9c($sp)
/* f081744: afa8007c */ sw $t0,0x7c($sp)
/* f081748: 0fc57306 */ jal currentPlayerScissorWithinViewport
/* f08174c: afa90010 */ sw $t1,0x10($sp)
/* f081750: 10000005 */ b .L0f081768
/* f081754: 8fa8007c */ lw $t0,0x7c($sp)
.L0f081758:
/* f081758: 8fa400fc */ lw $a0,0xfc($sp)
.L0f08175c:
/* f08175c: 0fc572dd */ jal currentPlayerScissorToViewport
/* f081760: afa8007c */ sw $t0,0x7c($sp)
/* f081764: 8fa8007c */ lw $t0,0x7c($sp)
.L0f081768:
/* f081768: 8faf0084 */ lw $t7,0x84($sp)
/* f08176c: 3c010001 */ lui $at,0x1
/* f081770: 240c0005 */ addiu $t4,$zero,0x5
/* f081774: afaf00a8 */ sw $t7,0xa8($sp)
/* f081778: 8e0e000c */ lw $t6,0xc($s0)
/* f08177c: afa200ac */ sw $v0,0xac($sp)
/* f081780: 240d0009 */ addiu $t5,$zero,0x9
/* f081784: 01c15824 */ and $t3,$t6,$at
/* f081788: 2d6a0001 */ sltiu $t2,$t3,0x1
/* f08178c: 290100ff */ slti $at,$t0,0xff
/* f081790: 10200004 */ beqz $at,.L0f0817a4
/* f081794: afaa00a4 */ sw $t2,0xa4($sp)
/* f081798: afac00d0 */ sw $t4,0xd0($sp)
/* f08179c: 10000016 */ b .L0f0817f8
/* f0817a0: afa800d4 */ sw $t0,0xd4($sp)
.L0f0817a4:
/* f0817a4: afad00d0 */ sw $t5,0xd0($sp)
/* f0817a8: 92020003 */ lbu $v0,0x3($s0)
/* f0817ac: 2401002f */ addiu $at,$zero,0x2f
/* f0817b0: 54410006 */ bnel $v0,$at,.L0f0817cc
/* f0817b4: 24010001 */ addiu $at,$zero,0x1
/* f0817b8: 86190060 */ lh $t9,0x60($s0)
/* f0817bc: 0019c200 */ sll $t8,$t9,0x8
/* f0817c0: 1000000d */ b .L0f0817f8
/* f0817c4: afb800d4 */ sw $t8,0xd4($sp)
/* f0817c8: 24010001 */ addiu $at,$zero,0x1
.L0f0817cc:
/* f0817cc: 5441000a */ bnel $v0,$at,.L0f0817f8
/* f0817d0: afa000d4 */ sw $zero,0xd4($sp)
/* f0817d4: 96090070 */ lhu $t1,0x70($s0)
/* f0817d8: 312f0002 */ andi $t7,$t1,0x2
/* f0817dc: 51e00006 */ beqzl $t7,.L0f0817f8
/* f0817e0: afa000d4 */ sw $zero,0xd4($sp)
/* f0817e4: 860e0086 */ lh $t6,0x86($s0)
/* f0817e8: 000e5a00 */ sll $t3,$t6,0x8
/* f0817ec: 10000002 */ b .L0f0817f8
/* f0817f0: afab00d4 */ sw $t3,0xd4($sp)
/* f0817f4: afa000d4 */ sw $zero,0xd4($sp)
.L0f0817f8:
/* f0817f8: 8faa00f8 */ lw $t2,0xf8($sp)
/* f0817fc: 24010002 */ addiu $at,$zero,0x2
/* f081800: 3c06800a */ lui $a2,%hi(g_Vars)
/* f081804: 914c0000 */ lbu $t4,0x0($t2)
/* f081808: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f08180c: 27a50088 */ addiu $a1,$sp,0x88
/* f081810: 5581001e */ bnel $t4,$at,.L0f08188c
/* f081814: 92090050 */ lbu $t1,0x50($s0)
/* f081818: 8ccd0298 */ lw $t5,0x298($a2)
/* f08181c: 05a30005 */ bgezl $t5,.L0f081834
/* f081820: 8cc9028c */ lw $t1,0x28c($a2)
/* f081824: 8cd9029c */ lw $t9,0x29c($a2)
/* f081828: 07220018 */ bltzl $t9,.L0f08188c
/* f08182c: 92090050 */ lbu $t1,0x50($s0)
/* f081830: 8cc9028c */ lw $t1,0x28c($a2)
.L0f081834:
/* f081834: 8fb800f8 */ lw $t8,0xf8($sp)
/* f081838: 1520000a */ bnez $t1,.L0f081864
/* f08183c: 8f020004 */ lw $v0,0x4($t8)
/* f081840: 904f00d0 */ lbu $t7,0xd0($v0)
/* f081844: afaf0088 */ sw $t7,0x88($sp)
/* f081848: 904e00d1 */ lbu $t6,0xd1($v0)
/* f08184c: afae008c */ sw $t6,0x8c($sp)
/* f081850: 904b00d2 */ lbu $t3,0xd2($v0)
/* f081854: afab0090 */ sw $t3,0x90($sp)
/* f081858: 904a00d3 */ lbu $t2,0xd3($v0)
/* f08185c: 10000014 */ b .L0f0818b0
/* f081860: afaa0094 */ sw $t2,0x94($sp)
.L0f081864:
/* f081864: 904c00d4 */ lbu $t4,0xd4($v0)
/* f081868: afac0088 */ sw $t4,0x88($sp)
/* f08186c: 904d00d5 */ lbu $t5,0xd5($v0)
/* f081870: afad008c */ sw $t5,0x8c($sp)
/* f081874: 905900d6 */ lbu $t9,0xd6($v0)
/* f081878: afb90090 */ sw $t9,0x90($sp)
/* f08187c: 905800d7 */ lbu $t8,0xd7($v0)
/* f081880: 1000000b */ b .L0f0818b0
/* f081884: afb80094 */ sw $t8,0x94($sp)
/* f081888: 92090050 */ lbu $t1,0x50($s0)
.L0f08188c:
/* f08188c: 3c06800a */ lui $a2,%hi(g_Vars)
/* f081890: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f081894: afa90088 */ sw $t1,0x88($sp)
/* f081898: 920f0051 */ lbu $t7,0x51($s0)
/* f08189c: afaf008c */ sw $t7,0x8c($sp)
/* f0818a0: 920e0052 */ lbu $t6,0x52($s0)
/* f0818a4: afae0090 */ sw $t6,0x90($sp)
/* f0818a8: 920b0053 */ lbu $t3,0x53($s0)
/* f0818ac: afab0094 */ sw $t3,0x94($sp)
.L0f0818b0:
/* f0818b0: 8cca0318 */ lw $t2,0x318($a2)
/* f0818b4: 51400006 */ beqzl $t2,.L0f0818d0
/* f0818b8: 8cc20284 */ lw $v0,0x284($a2)
/* f0818bc: 0fc61788 */ jal scenarioHighlightProp
/* f0818c0: 8fa400f8 */ lw $a0,0xf8($sp)
/* f0818c4: 3c06800a */ lui $a2,%hi(g_Vars)
/* f0818c8: 24c69fc0 */ addiu $a2,$a2,%lo(g_Vars)
/* f0818cc: 8cc20284 */ lw $v0,0x284($a2)
.L0f0818d0:
/* f0818d0: 24010001 */ addiu $at,$zero,0x1
/* f0818d4: c7a80078 */ lwc1 $f8,0x78($sp)
/* f0818d8: 944c0010 */ lhu $t4,0x10($v0)
/* f0818dc: 15810020 */ bne $t4,$at,.L0f081960
/* f0818e0: 3c01437f */ lui $at,0x437f
/* f0818e4: 44815000 */ mtc1 $at,$f10
/* f0818e8: 90580270 */ lbu $t8,0x270($v0)
/* f0818ec: 27a30088 */ addiu $v1,$sp,0x88
/* f0818f0: 460a4402 */ mul.s $f16,$f8,$f10
/* f0818f4: 00184880 */ sll $t1,$t8,0x2
/* f0818f8: 00697821 */ addu $t7,$v1,$t1
/* f0818fc: 3c013f80 */ lui $at,0x3f80
/* f081900: 44819000 */ mtc1 $at,$f18
/* f081904: 3c01437f */ lui $at,0x437f
/* f081908: 44815000 */ mtc1 $at,$f10
/* f08190c: 4600818d */ trunc.w.s $f6,$f16
/* f081910: 44193000 */ mfc1 $t9,$f6
/* f081914: 00000000 */ nop
/* f081918: adf90000 */ sw $t9,0x0($t7)
/* f08191c: c7a40078 */ lwc1 $f4,0x78($sp)
/* f081920: 904a0271 */ lbu $t2,0x271($v0)
/* f081924: 240f00ff */ addiu $t7,$zero,0xff
/* f081928: 46049201 */ sub.s $f8,$f18,$f4
/* f08192c: 000a6080 */ sll $t4,$t2,0x2
/* f081930: 006c6821 */ addu $t5,$v1,$t4
/* f081934: 460a4402 */ mul.s $f16,$f8,$f10
/* f081938: 4600818d */ trunc.w.s $f6,$f16
/* f08193c: 440b3000 */ mfc1 $t3,$f6
/* f081940: 00000000 */ nop
/* f081944: adab0000 */ sw $t3,0x0($t5)
/* f081948: 90580272 */ lbu $t8,0x272($v0)
/* f08194c: 00184880 */ sll $t1,$t8,0x2
/* f081950: 0069c821 */ addu $t9,$v1,$t1
/* f081954: af200000 */ sw $zero,0x0($t9)
/* f081958: 1000000d */ b .L0f081990
/* f08195c: afaf0094 */ sw $t7,0x94($sp)
.L0f081960:
/* f081960: 8e040014 */ lw $a0,0x14($s0)
/* f081964: 0fc1a3f2 */ jal func0f068fc8
/* f081968: 24050001 */ addiu $a1,$zero,0x1
/* f08196c: 8fa30094 */ lw $v1,0x94($sp)
/* f081970: 00621823 */ subu $v1,$v1,$v0
/* f081974: 28610100 */ slti $at,$v1,0x100
/* f081978: 14200002 */ bnez $at,.L0f081984
/* f08197c: 00000000 */ nop
/* f081980: 240300ff */ addiu $v1,$zero,0xff
.L0f081984:
/* f081984: 04610002 */ bgez $v1,.L0f081990
/* f081988: afa30094 */ sw $v1,0x94($sp)
/* f08198c: afa00094 */ sw $zero,0x94($sp)
.L0f081990:
/* f081990: 0fc1a1d8 */ jal objGetDestroyedThird
/* f081994: 02002025 */ or $a0,$s0,$zero
/* f081998: 00027080 */ sll $t6,$v0,0x2
/* f08199c: 01c27021 */ addu $t6,$t6,$v0
/* f0819a0: 000e7080 */ sll $t6,$t6,0x2
/* f0819a4: 01c27021 */ addu $t6,$t6,$v0
/* f0819a8: 240a00ff */ addiu $t2,$zero,0xff
/* f0819ac: 014e2023 */ subu $a0,$t2,$t6
/* f0819b0: 04810002 */ bgez $a0,.L0f0819bc
/* f0819b4: 8fac0088 */ lw $t4,0x88($sp)
/* f0819b8: 00002025 */ or $a0,$zero,$zero
.L0f0819bc:
/* f0819bc: 01840019 */ multu $t4,$a0
/* f0819c0: 8fb8008c */ lw $t8,0x8c($sp)
/* f0819c4: 8faf0090 */ lw $t7,0x90($sp)
/* f0819c8: 8fa30094 */ lw $v1,0x94($sp)
/* f0819cc: 00026100 */ sll $t4,$v0,0x4
/* f0819d0: 01826023 */ subu $t4,$t4,$v0
/* f0819d4: 006c1821 */ addu $v1,$v1,$t4
/* f0819d8: 28610100 */ slti $at,$v1,0x100
/* f0819dc: afa30094 */ sw $v1,0x94($sp)
/* f0819e0: 27a600e8 */ addiu $a2,$sp,0xe8
/* f0819e4: 00005812 */ mflo $t3
/* f0819e8: 000b6a03 */ sra $t5,$t3,0x8
/* f0819ec: afad0088 */ sw $t5,0x88($sp)
/* f0819f0: 03040019 */ multu $t8,$a0
/* f0819f4: 00004812 */ mflo $t1
/* f0819f8: 0009ca03 */ sra $t9,$t1,0x8
/* f0819fc: afb9008c */ sw $t9,0x8c($sp)
/* f081a00: 01e40019 */ multu $t7,$a0
/* f081a04: 27a40088 */ addiu $a0,$sp,0x88
/* f081a08: 00005012 */ mflo $t2
/* f081a0c: 000a7203 */ sra $t6,$t2,0x8
/* f081a10: 14200003 */ bnez $at,.L0f081a20
/* f081a14: afae0090 */ sw $t6,0x90($sp)
/* f081a18: 240300ff */ addiu $v1,$zero,0xff
/* f081a1c: afa30094 */ sw $v1,0x94($sp)
.L0f081a20:
/* f081a20: 0fc1a5d4 */ jal func0f069750
/* f081a24: 8fa500e4 */ lw $a1,0xe4($sp)
/* f081a28: 3c02800a */ lui $v0,%hi(g_Vars+0x284)
/* f081a2c: 8c42a244 */ lw $v0,%lo(g_Vars+0x284)($v0)
/* f081a30: 27a500a0 */ addiu $a1,$sp,0xa0
/* f081a34: 8c4400d8 */ lw $a0,0xd8($v0)
/* f081a38: 14800021 */ bnez $a0,.L0f081ac0
/* f081a3c: 3c0b8007 */ lui $t3,%hi(g_InCutscene)
/* f081a40: 8d6b0764 */ lw $t3,%lo(g_InCutscene)($t3)
/* f081a44: 1560001e */ bnez $t3,.L0f081ac0
/* f081a48: 00000000 */ nop
/* f081a4c: 8c430480 */ lw $v1,0x480($v0)
/* f081a50: 50600007 */ beqzl $v1,.L0f081a70
/* f081a54: 8c491c54 */ lw $t1,0x1c54($v0)
/* f081a58: 10600019 */ beqz $v1,.L0f081ac0
/* f081a5c: 00000000 */ nop
/* f081a60: 806d0037 */ lb $t5,0x37($v1)
/* f081a64: 15a00016 */ bnez $t5,.L0f081ac0
/* f081a68: 00000000 */ nop
/* f081a6c: 8c491c54 */ lw $t1,0x1c54($v0)
.L0f081a70:
/* f081a70: 8c5800c4 */ lw $t8,0xc4($v0)
/* f081a74: 0120c827 */ nor $t9,$t1,$zero
/* f081a78: 03197824 */ and $t7,$t8,$t9
/* f081a7c: 31ea0001 */ andi $t2,$t7,0x1
/* f081a80: 1140000f */ beqz $t2,.L0f081ac0
/* f081a84: 00000000 */ nop
/* f081a88: 8e0e0008 */ lw $t6,0x8($s0)
/* f081a8c: 3c02800a */ lui $v0,%hi(var8009caec+0x1)
/* f081a90: 31cc0800 */ andi $t4,$t6,0x800
/* f081a94: 15800008 */ bnez $t4,.L0f081ab8
/* f081a98: 00000000 */ nop
/* f081a9c: 9042caed */ lbu $v0,%lo(var8009caec+0x1)($v0)
/* f081aa0: 3c03800a */ lui $v1,%hi(var8009caec+0x2)
/* f081aa4: 9063caee */ lbu $v1,%lo(var8009caec+0x2)($v1)
/* f081aa8: afa20088 */ sw $v0,0x88($sp)
/* f081aac: afa2008c */ sw $v0,0x8c($sp)
/* f081ab0: afa20090 */ sw $v0,0x90($sp)
/* f081ab4: afa30094 */ sw $v1,0x94($sp)
.L0f081ab8:
/* f081ab8: 10000024 */ b .L0f081b4c
/* f081abc: 8faf0088 */ lw $t7,0x88($sp)
.L0f081ac0:
/* f081ac0: 14800021 */ bnez $a0,.L0f081b48
/* f081ac4: 3c0b8007 */ lui $t3,%hi(g_InCutscene)
/* f081ac8: 8d6b0764 */ lw $t3,%lo(g_InCutscene)($t3)
/* f081acc: 5560001f */ bnezl $t3,.L0f081b4c
/* f081ad0: 8faf0088 */ lw $t7,0x88($sp)
/* f081ad4: 8c430480 */ lw $v1,0x480($v0)
/* f081ad8: 50600007 */ beqzl $v1,.L0f081af8
/* f081adc: 8c581c54 */ lw $t8,0x1c54($v0)
/* f081ae0: 5060001a */ beqzl $v1,.L0f081b4c
/* f081ae4: 8faf0088 */ lw $t7,0x88($sp)
/* f081ae8: 806d0037 */ lb $t5,0x37($v1)
/* f081aec: 55a00017 */ bnezl $t5,.L0f081b4c
/* f081af0: 8faf0088 */ lw $t7,0x88($sp)
/* f081af4: 8c581c54 */ lw $t8,0x1c54($v0)
.L0f081af8:
/* f081af8: 8c4900c4 */ lw $t1,0xc4($v0)
/* f081afc: 0300c827 */ nor $t9,$t8,$zero
/* f081b00: 01397824 */ and $t7,$t1,$t9
/* f081b04: 31ea0008 */ andi $t2,$t7,0x8
/* f081b08: 51400010 */ beqzl $t2,.L0f081b4c
/* f081b0c: 8faf0088 */ lw $t7,0x88($sp)
/* f081b10: 8e0e0040 */ lw $t6,0x40($s0)
/* f081b14: 241800ff */ addiu $t8,$zero,0xff
/* f081b18: 240900ff */ addiu $t1,$zero,0xff
/* f081b1c: 000e61c0 */ sll $t4,$t6,0x7
/* f081b20: 05800004 */ bltz $t4,.L0f081b34
/* f081b24: 241900ff */ addiu $t9,$zero,0xff
/* f081b28: 8e0b0010 */ lw $t3,0x10($s0)
/* f081b2c: 000b6840 */ sll $t5,$t3,0x1
/* f081b30: 05a10005 */ bgez $t5,.L0f081b48
.L0f081b34:
/* f081b34: 24030046 */ addiu $v1,$zero,0x46
/* f081b38: afb80088 */ sw $t8,0x88($sp)
/* f081b3c: afa9008c */ sw $t1,0x8c($sp)
/* f081b40: afb90090 */ sw $t9,0x90($sp)
/* f081b44: afa30094 */ sw $v1,0x94($sp)
.L0f081b48:
/* f081b48: 8faf0088 */ lw $t7,0x88($sp)
.L0f081b4c:
/* f081b4c: 8fa30094 */ lw $v1,0x94($sp)
/* f081b50: 8fac008c */ lw $t4,0x8c($sp)
/* f081b54: 8fb80090 */ lw $t8,0x90($sp)
/* f081b58: 000f5600 */ sll $t2,$t7,0x18
/* f081b5c: 006a7025 */ or $t6,$v1,$t2
/* f081b60: 000c5c00 */ sll $t3,$t4,0x10
/* f081b64: 01cb6825 */ or $t5,$t6,$t3
/* f081b68: 00184a00 */ sll $t1,$t8,0x8
/* f081b6c: 01a9c825 */ or $t9,$t5,$t1
/* f081b70: afb900d8 */ sw $t9,0xd8($sp)
/* f081b74: 8fa400f8 */ lw $a0,0xf8($sp)
/* f081b78: 0fc20271 */ jal objRenderProp
/* f081b7c: 8fa60100 */ lw $a2,0x100($sp)
/* f081b80: 8faa0100 */ lw $t2,0x100($sp)
/* f081b84: 8faf00ac */ lw $t7,0xac($sp)
/* f081b88: 1140001d */ beqz $t2,.L0f081c00
/* f081b8c: afaf00fc */ sw $t7,0xfc($sp)
/* f081b90: 92020003 */ lbu $v0,0x3($s0)
/* f081b94: 24010035 */ addiu $at,$zero,0x35
/* f081b98: 02002025 */ or $a0,$s0,$zero
/* f081b9c: 10410009 */ beq $v0,$at,.L0f081bc4
/* f081ba0: 24010033 */ addiu $at,$zero,0x33
/* f081ba4: 10410007 */ beq $v0,$at,.L0f081bc4
/* f081ba8: 00000000 */ nop
/* f081bac: 86030004 */ lh $v1,0x4($s0)
/* f081bb0: 2401008c */ addiu $at,$zero,0x8c
/* f081bb4: 10610003 */ beq $v1,$at,.L0f081bc4
/* f081bb8: 2401008d */ addiu $at,$zero,0x8d
/* f081bbc: 54610006 */ bnel $v1,$at,.L0f081bd8
/* f081bc0: 24010128 */ addiu $at,$zero,0x128
.L0f081bc4:
/* f081bc4: 0fc20488 */ jal objRenderShadow
/* f081bc8: 8fa500fc */ lw $a1,0xfc($sp)
/* f081bcc: afa200fc */ sw $v0,0xfc($sp)
/* f081bd0: 86030004 */ lh $v1,0x4($s0)
/* f081bd4: 24010128 */ addiu $at,$zero,0x128
.L0f081bd8:
/* f081bd8: 5461000a */ bnel $v1,$at,.L0f081c04
/* f081bdc: 8fa200fc */ lw $v0,0xfc($sp)
/* f081be0: 8e0c0008 */ lw $t4,0x8($s0)
/* f081be4: 02002025 */ or $a0,$s0,$zero
/* f081be8: 000c7000 */ sll $t6,$t4,0x0
/* f081bec: 05c30005 */ bgezl $t6,.L0f081c04
/* f081bf0: 8fa200fc */ lw $v0,0xfc($sp)
/* f081bf4: 0fc20488 */ jal objRenderShadow
/* f081bf8: 8fa500fc */ lw $a1,0xfc($sp)
/* f081bfc: afa200fc */ sw $v0,0xfc($sp)
.L0f081c00:
/* f081c00: 8fa200fc */ lw $v0,0xfc($sp)
.L0f081c04:
/* f081c04: 8fbf0024 */ lw $ra,0x24($sp)
/* f081c08: 8fb00020 */ lw $s0,0x20($sp)
/* f081c0c: 27bd00f8 */ addiu $sp,$sp,0xf8
/* f081c10: 03e00008 */ jr $ra
/* f081c14: 00000000 */ nop
);
#endif
// Mismatch: needs var8009caec moved into this file and defined as single u8s.
// Also some regalloc in laserfade loop.
//Gfx *objRender(struct prop *prop, Gfx *gdl, bool withalpha)
//{
// u32 stack;
// u32 stack2;
// struct defaultobj *obj = prop->obj;
// f32 spe8;
// s32 spe4;
// s32 i;
// struct modelrenderdata renderdata = {0, 1, 3}; // var8006ab70, a0
// struct screenbox screenbox; // 98
// s32 colour[4]; // 88
// s32 sp84;
// s32 iVar8;
// s32 alpha = 0xff; // 7c
// f32 xrayalphafrac; // 78
// s32 iVar13;
// struct weaponobj *weapon;
// struct doorobj *door;
// f32 fVar17;
// struct modelnode *node;
// struct modelnode_displaylist *dldata1; // 60
// struct modelnode_displaylist *dldata2; // 5c
// f32 fadedist;
// struct colour *oldcolours; // 54
// struct colour *newcolours;
// f32 objdist;
//
// spe4 = func0f1667f4(prop, &spe8);
//
// if (spe4 == 0) {
// return gdl;
// }
//
// if (obj->type != OBJTYPE_TINTEDGLASS) {
// fVar17 = func0f08e6bc(prop, model0001af80(obj->model));
//
// if (prop->timetoregen > 0 && prop->timetoregen < 60) {
// fVar17 *= (60.0f - prop->timetoregen) * 0.016666667535901f;
// }
//
// alpha = fVar17 * 255.0f;
//
// if (alpha <= 0) {
// return gdl;
// }
// }
//
// if (g_Vars.currentplayer->visionmode == VISIONMODE_NORMAL) {
// // empty
// } else if (g_Vars.currentplayer->visionmode == VISIONMODE_SLAYERROCKET) {
// if (g_Vars.currentplayer->slayerrocket
// && g_Vars.currentplayer->slayerrocket->base.prop
// && g_Vars.currentplayer->slayerrocket->base.prop == prop) {
// return gdl;
// }
// } else if (g_Vars.currentplayer->visionmode == VISIONMODE_XRAY) {
// fadedist;
// objdist = sqrtf(ERASERSQDIST(prop->pos.f));
//
// if (objdist > g_Vars.currentplayer->eraserpropdist) {
// return gdl;
// }
//
// alpha = 128;
// fadedist = g_Vars.currentplayer->eraserpropdist - 150.0f;
//
// if (objdist > fadedist) {
// alpha = (1.0f - (objdist - fadedist) / 150.0f) * 128;
// }
//
// xrayalphafrac = objdist / g_Vars.currentplayer->eraserpropdist;
//
// if (xrayalphafrac > 1.0f) {
// xrayalphafrac = 1.0f;
// }
// }
//
// if (g_Vars.lvmpbotlevel && obj->type == OBJTYPE_WEAPON) {
// if (obj->flags3 & OBJFLAG3_HARDFREEING) {
// weapon = (struct weaponobj *)obj;
// alpha = ((f32)alpha * (f32)weapon->fadeouttimer60) * 0.016666667535901f;
//
// if (alpha < 0) {
// alpha = 0;
// } else if (alpha > 0xff) {
// alpha = 0xff;
// }
// }
// }
//
// if (alpha < 0xff || (obj->flags2 & OBJFLAG2_DRAWONTOP)) {
// if (!withalpha) {
// return gdl;
// }
//
// sp84 = 3;
// } else {
// if (!withalpha) {
// sp84 = 1;
// } else {
// sp84 = 2;
// }
// }
//
// if (obj->type == OBJTYPE_DOOR) {
// door = (struct doorobj *)obj;
//
// if (door->doortype == DOORTYPE_LASER) {
// node = func0f0687e4(obj->model);
// dldata1 = &node->data->displaylist;
// dldata2 = modelGetNodeRwData(obj->model, node);
// oldcolours = (struct colour *)(((u32)&dldata1->vertices[dldata1->numvertices] + 7 | 7) ^ 7);
// newcolours = (struct colour *)gfxAllocateColours(dldata1->numcolours);
//
// for (i = 0; i < dldata1->numcolours; i++) {
// newcolours[i].u32 = oldcolours[i].u32;
// newcolours[i].u8.a = door->laserfade;
// }
//
// dldata2->colourtable = (u32 *)newcolours;
// }
// }
//
// if ((obj->flags2 & OBJFLAG2_04000000) == 0 && func0f08e5a8(prop->rooms, &screenbox) > 0) {
// gdl = currentPlayerScissorWithinViewport(gdl, screenbox.xmin, screenbox.ymin, screenbox.xmax, screenbox.ymax);
// } else {
// gdl = currentPlayerScissorToViewport(gdl);
// }
//
// renderdata.unk08 = sp84;
// renderdata.unk04 = (obj->flags2 & OBJFLAG2_DRAWONTOP) == 0;
// renderdata.gdl = gdl;
//
// if (alpha < 0xff) {
// renderdata.unk30 = 5;
// renderdata.envcolour = alpha;
// } else {
// renderdata.unk30 = 9;
//
// if (obj->type == OBJTYPE_TINTEDGLASS) {
// struct tintedglassobj *glass = (struct tintedglassobj *)obj;
// renderdata.envcolour = glass->unk60 << 8;
// } else {
// if (obj->type == OBJTYPE_DOOR && ((struct doorobj *)obj)->doorflags & DOORFLAG_WINDOWED) {
// renderdata.envcolour = ((struct doorobj *)obj)->fadealpha << 8;
// } else {
// renderdata.envcolour = 0;
// }
// }
// }
//
// if (prop->type == PROPTYPE_DOOR
// && (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0)) {
// struct doorobj *door = prop->door;
//
// if (g_Vars.currentplayernum == 0) {
// colour[0] = door->shadeinfo1[0];
// colour[1] = door->shadeinfo1[1];
// colour[2] = door->shadeinfo1[2];
// colour[3] = door->shadeinfo1[3];
// } else {
// colour[0] = door->shadeinfo2[0];
// colour[1] = door->shadeinfo2[1];
// colour[2] = door->shadeinfo2[2];
// colour[3] = door->shadeinfo2[3];
// }
// } else {
// colour[0] = obj->shadecol[0];
// colour[1] = obj->shadecol[1];
// colour[2] = obj->shadecol[2];
// colour[3] = obj->shadecol[3];
// }
//
// if (g_Vars.normmplayerisrunning) {
// scenarioHighlightProp(prop, colour);
// }
//
// if (g_Vars.currentplayer->visionmode == VISIONMODE_XRAY) {
// colour[g_Vars.currentplayer->epcol_0] = xrayalphafrac * 255.0f;
// colour[g_Vars.currentplayer->epcol_1] = (1.0f - xrayalphafrac) * 255.0f;
// colour[g_Vars.currentplayer->epcol_2] = 0;
// colour[3] = 0xff;
// } else {
// colour[3] -= func0f068fc8(obj->prop, true);
//
// if (colour[3] > 0xff) {
// colour[3] = 0xff;
// }
//
// if (colour[3] < 0) {
// colour[3] = 0;
// }
// }
//
// iVar8 = objGetDestroyedThird(obj);
// iVar13 = 0xff - (iVar8 * 21);
//
// if (iVar13 < 0) {
// iVar13 = 0;
// }
//
// colour[0] = (colour[0] * iVar13) >> 8;
// colour[1] = (colour[1] * iVar13) >> 8;
// colour[2] = (colour[2] * iVar13) >> 8;
// colour[3] += iVar8 * 15;
//
// if (colour[3] > 0xff) {
// colour[3] = 0xff;
// }
//
// func0f069750(colour, spe4, &spe8);
//
// if (USINGDEVICE(DEVICE_NIGHTVISION)) {
// if ((obj->flags & OBJFLAG_PATHBLOCKER) == 0) {
// colour[0] = var8009caec[1];
// colour[1] = var8009caec[1];
// colour[2] = var8009caec[1];
// colour[3] = var8009caec[2];
// }
// } else if (USINGDEVICE(DEVICE_IRSCANNER)) {
// if ((obj->hidden & OBJHFLAG_CONDITIONALSCENERY) || (obj->flags3 & OBJFLAG3_INFRARED)) {
// colour[0] = 0xff;
// colour[1] = 0xff;
// colour[2] = 0xff;
// colour[3] = 0x46;
// }
// }
//
// renderdata.fogcolour = colour[0] << 24 | colour[1] << 16 | colour[2] << 8 | colour[3];
// objRenderProp(prop, &renderdata, withalpha);
//
// gdl = renderdata.gdl;
//
// if (withalpha) {
// if (obj->type == OBJTYPE_HOVERPROP
// || obj->type == OBJTYPE_HOVERBIKE
// || obj->modelnum == MODEL_HOOVERBOT
// || obj->modelnum == MODEL_TESTERBOT) {
// gdl = objRenderShadow(obj, gdl);
// }
//
// if (obj->modelnum == MODEL_A51INTERCEPTOR && (obj->flags & OBJFLAG_80000000)) {
// gdl = objRenderShadow(obj, gdl);
// }
// }
//
// return gdl;
//}
bool modelIsNodeNotTvscreen(struct modelfiledata *filedata, struct modelnode *node)
{
if (filedata->skel == &g_SkelTerminal) {
if (modelGetPart(filedata, MODELPART_TERMINAL_0000) == node) {
return false;
}
}
if (filedata->skel == &g_SkelCiHub) {
if (modelGetPart(filedata, MODELPART_CIHUB_0000) == node
|| modelGetPart(filedata, MODELPART_CIHUB_0001) == node
|| modelGetPart(filedata, MODELPART_CIHUB_0002) == node
|| modelGetPart(filedata, MODELPART_CIHUB_0003) == node) {
return false;
}
}
return true;
}
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f081ccc
.late_rodata
glabel var7f1aa830
.word 0x47c34f80
glabel var7f1aa834
.word 0xc7c34f80
glabel var7f1aa838
.word 0x3f666666
.text
/* f081ccc: 27bdff30 */ addiu $sp,$sp,-208
/* f081cd0: afbf003c */ sw $ra,0x3c($sp)
/* f081cd4: afbe0038 */ sw $s8,0x38($sp)
/* f081cd8: afb70034 */ sw $s7,0x34($sp)
/* f081cdc: afb60030 */ sw $s6,0x30($sp)
/* f081ce0: afb5002c */ sw $s5,0x2c($sp)
/* f081ce4: afb40028 */ sw $s4,0x28($sp)
/* f081ce8: afb30024 */ sw $s3,0x24($sp)
/* f081cec: afb20020 */ sw $s2,0x20($sp)
/* f081cf0: afb1001c */ sw $s1,0x1c($sp)
/* f081cf4: afb00018 */ sw $s0,0x18($sp)
/* f081cf8: 8c820018 */ lw $v0,0x18($a0)
/* f081cfc: 240f0001 */ addiu $t7,$zero,0x1
/* f081d00: 00803825 */ or $a3,$a0,$zero
/* f081d04: 8c4e0008 */ lw $t6,0x8($v0)
/* f081d08: afaf008c */ sw $t7,0x8c($sp)
/* f081d0c: 44808000 */ mtc1 $zero,$f16
/* f081d10: afae0094 */ sw $t6,0x94($sp)
/* f081d14: 8c840014 */ lw $a0,0x14($a0)
/* f081d18: 00a0a825 */ or $s5,$a1,$zero
/* f081d1c: 2405000f */ addiu $a1,$zero,0xf
/* f081d20: afa700d0 */ sw $a3,0xd0($sp)
/* f081d24: 3406ffff */ dli $a2,0xffff
/* f081d28: afa20098 */ sw $v0,0x98($sp)
/* f081d2c: 0fc249af */ jal func0f0926bc
/* f081d30: e7b000bc */ swc1 $f16,0xbc($sp)
/* f081d34: 0fc47b6e */ jal debug0f11edb8
/* f081d38: afa00090 */ sw $zero,0x90($sp)
/* f081d3c: c7b000bc */ lwc1 $f16,0xbc($sp)
/* f081d40: 0fc47b6e */ jal debug0f11edb8
/* f081d44: e7b000bc */ swc1 $f16,0xbc($sp)
/* f081d48: c7b000bc */ lwc1 $f16,0xbc($sp)
/* f081d4c: 0c004b70 */ jal random
/* f081d50: e7b000bc */ swc1 $f16,0xbc($sp)
/* f081d54: 0fc47b6e */ jal debug0f11edb8
/* f081d58: afa20090 */ sw $v0,0x90($sp)
/* f081d5c: 10400004 */ beqz $v0,.L0f081d70
/* f081d60: c7b000bc */ lwc1 $f16,0xbc($sp)
/* f081d64: 8fb80090 */ lw $t8,0x90($sp)
/* f081d68: 3319ffff */ andi $t9,$t8,0xffff
/* f081d6c: afb90090 */ sw $t9,0x90($sp)
.L0f081d70:
/* f081d70: 8fa800d0 */ lw $t0,0xd0($sp)
/* f081d74: 24050001 */ addiu $a1,$zero,0x1
/* f081d78: 8d040014 */ lw $a0,0x14($t0)
/* f081d7c: 0fc4f903 */ jal wallhitsRemoveByProp
/* f081d80: e7b000bc */ swc1 $f16,0xbc($sp)
/* f081d84: 24090001 */ addiu $t1,$zero,0x1
/* f081d88: c7b000bc */ lwc1 $f16,0xbc($sp)
/* f081d8c: afa00084 */ sw $zero,0x84($sp)
/* f081d90: afa90080 */ sw $t1,0x80($sp)
/* f081d94: 00009025 */ or $s2,$zero,$zero
/* f081d98: 8fb000d0 */ lw $s0,0xd0($sp)
/* f081d9c: 27b300b0 */ addiu $s3,$sp,0xb0
/* f081da0: 24140003 */ addiu $s4,$zero,0x3
.L0f081da4:
/* f081da4: c602001c */ lwc1 $f2,0x1c($s0)
/* f081da8: c60e0020 */ lwc1 $f14,0x20($s0)
/* f081dac: c6000024 */ lwc1 $f0,0x24($s0)
/* f081db0: 46021102 */ mul.s $f4,$f2,$f2
/* f081db4: 00008825 */ or $s1,$zero,$zero
/* f081db8: e7b000bc */ swc1 $f16,0xbc($sp)
/* f081dbc: 460e7182 */ mul.s $f6,$f14,$f14
/* f081dc0: 46062200 */ add.s $f8,$f4,$f6
/* f081dc4: 46000282 */ mul.s $f10,$f0,$f0
/* f081dc8: 0c012974 */ jal sqrtf
/* f081dcc: 46085300 */ add.s $f12,$f10,$f8
/* f081dd0: c7b000bc */ lwc1 $f16,0xbc($sp)
/* f081dd4: e6600000 */ swc1 $f0,0x0($s3)
/* f081dd8: c6120020 */ lwc1 $f18,0x20($s0)
/* f081ddc: 44802000 */ mtc1 $zero,$f4
/* f081de0: 2610000c */ addiu $s0,$s0,0xc
/* f081de4: 46009083 */ div.s $f2,$f18,$f0
/* f081de8: 4604103c */ c.lt.s $f2,$f4
/* f081dec: 00000000 */ nop
/* f081df0: 45020004 */ bc1fl .L0f081e04
/* f081df4: 4602803c */ c.lt.s $f16,$f2
/* f081df8: 24110001 */ addiu $s1,$zero,0x1
/* f081dfc: 46001087 */ neg.s $f2,$f2
/* f081e00: 4602803c */ c.lt.s $f16,$f2
.L0f081e04:
/* f081e04: 00000000 */ nop
/* f081e08: 45020005 */ bc1fl .L0f081e20
/* f081e0c: 26520001 */ addiu $s2,$s2,0x1
/* f081e10: 46001406 */ mov.s $f16,$f2
/* f081e14: afb20080 */ sw $s2,0x80($sp)
/* f081e18: afb10084 */ sw $s1,0x84($sp)
/* f081e1c: 26520001 */ addiu $s2,$s2,0x1
.L0f081e20:
/* f081e20: 1654ffe0 */ bne $s2,$s4,.L0f081da4
/* f081e24: 26730004 */ addiu $s3,$s3,0x4
/* f081e28: 3c017f1b */ lui $at,%hi(var7f1aa830)
/* f081e2c: c42ea830 */ lwc1 $f14,%lo(var7f1aa830)($at)
/* f081e30: 3c017f1b */ lui $at,%hi(var7f1aa834)
/* f081e34: c422a834 */ lwc1 $f2,%lo(var7f1aa834)($at)
/* f081e38: 8fa40098 */ lw $a0,0x98($sp)
/* f081e3c: e7ae00cc */ swc1 $f14,0xcc($sp)
/* f081e40: 0fc1a2aa */ jal modelFindBboxRodata
/* f081e44: e7a200c8 */ swc1 $f2,0xc8($sp)
/* f081e48: 8faa0080 */ lw $t2,0x80($sp)
/* f081e4c: c7a200c8 */ lwc1 $f2,0xc8($sp)
/* f081e50: c7ae00cc */ lwc1 $f14,0xcc($sp)
/* f081e54: 15400009 */ bnez $t2,.L0f081e7c
/* f081e58: afa200a4 */ sw $v0,0xa4($sp)
/* f081e5c: 0fc199eb */ jal func0f0667ac
/* f081e60: 00402025 */ or $a0,$v0,$zero
/* f081e64: 8fa400a4 */ lw $a0,0xa4($sp)
/* f081e68: 0fc199ed */ jal func0f0667b4
/* f081e6c: e7a000cc */ swc1 $f0,0xcc($sp)
/* f081e70: c7ae00cc */ lwc1 $f14,0xcc($sp)
/* f081e74: 10000018 */ b .L0f081ed8
/* f081e78: 46000086 */ mov.s $f2,$f0
.L0f081e7c:
/* f081e7c: 8fab0080 */ lw $t3,0x80($sp)
/* f081e80: 24010001 */ addiu $at,$zero,0x1
/* f081e84: 8fac0080 */ lw $t4,0x80($sp)
/* f081e88: 5561000a */ bnel $t3,$at,.L0f081eb4
/* f081e8c: 24010002 */ addiu $at,$zero,0x2
/* f081e90: 0fc199ef */ jal modelBboxGetYMin
/* f081e94: 8fa400a4 */ lw $a0,0xa4($sp)
/* f081e98: 8fa400a4 */ lw $a0,0xa4($sp)
/* f081e9c: 0fc199f1 */ jal func0f0667c4
/* f081ea0: e7a000cc */ swc1 $f0,0xcc($sp)
/* f081ea4: c7ae00cc */ lwc1 $f14,0xcc($sp)
/* f081ea8: 1000000b */ b .L0f081ed8
/* f081eac: 46000086 */ mov.s $f2,$f0
/* f081eb0: 24010002 */ addiu $at,$zero,0x2
.L0f081eb4:
/* f081eb4: 55810009 */ bnel $t4,$at,.L0f081edc
/* f081eb8: 8fad0084 */ lw $t5,0x84($sp)
/* f081ebc: 0fc199f3 */ jal func0f0667cc
/* f081ec0: 8fa400a4 */ lw $a0,0xa4($sp)
/* f081ec4: 8fa400a4 */ lw $a0,0xa4($sp)
/* f081ec8: 0fc199f5 */ jal modelBboxGetZMax
/* f081ecc: e7a000cc */ swc1 $f0,0xcc($sp)
/* f081ed0: c7ae00cc */ lwc1 $f14,0xcc($sp)
/* f081ed4: 46000086 */ mov.s $f2,$f0
.L0f081ed8:
/* f081ed8: 8fad0084 */ lw $t5,0x84($sp)
.L0f081edc:
/* f081edc: 3c013f00 */ lui $at,0x3f00
/* f081ee0: 51a00005 */ beqzl $t5,.L0f081ef8
/* f081ee4: 4602703c */ c.lt.s $f14,$f2
/* f081ee8: 46001006 */ mov.s $f0,$f2
/* f081eec: 46007086 */ mov.s $f2,$f14
/* f081ef0: 46000386 */ mov.s $f14,$f0
/* f081ef4: 4602703c */ c.lt.s $f14,$f2
.L0f081ef8:
/* f081ef8: 00000000 */ nop
/* f081efc: 45020008 */ bc1fl .L0f081f20
/* f081f00: 44801000 */ mtc1 $zero,$f2
/* f081f04: 46027180 */ add.s $f6,$f14,$f2
/* f081f08: 44815000 */ mtc1 $at,$f10
/* f081f0c: 00000000 */ nop
/* f081f10: 460a3202 */ mul.s $f8,$f6,$f10
/* f081f14: 10000005 */ b .L0f081f2c
/* f081f18: e7a800c4 */ swc1 $f8,0xc4($sp)
/* f081f1c: 44801000 */ mtc1 $zero,$f2
.L0f081f20:
/* f081f20: 00000000 */ nop
/* f081f24: e7a200c4 */ swc1 $f2,0xc4($sp)
/* f081f28: 46001386 */ mov.s $f14,$f2
.L0f081f2c:
/* f081f2c: 16b40010 */ bne $s5,$s4,.L0f081f70
/* f081f30: 460e1301 */ sub.s $f12,$f2,$f14
/* f081f34: c7a400c4 */ lwc1 $f4,0xc4($sp)
/* f081f38: 3c014080 */ lui $at,0x4080
/* f081f3c: 44819000 */ mtc1 $at,$f18
/* f081f40: 460e2181 */ sub.s $f6,$f4,$f14
/* f081f44: 3c0140c0 */ lui $at,0x40c0
/* f081f48: 4606903c */ c.lt.s $f18,$f6
/* f081f4c: 00000000 */ nop
/* f081f50: 45020008 */ bc1fl .L0f081f74
/* f081f54: 3c0140c0 */ lui $at,0x40c0
/* f081f58: 44818000 */ mtc1 $at,$f16
/* f081f5c: 3c014000 */ lui $at,0x4000
/* f081f60: 44814000 */ mtc1 $at,$f8
/* f081f64: 46107280 */ add.s $f10,$f14,$f16
/* f081f68: 46085101 */ sub.s $f4,$f10,$f8
/* f081f6c: e7a400c4 */ swc1 $f4,0xc4($sp)
.L0f081f70:
/* f081f70: 3c0140c0 */ lui $at,0x40c0
.L0f081f74:
/* f081f74: 44818000 */ mtc1 $at,$f16
/* f081f78: 3c013f80 */ lui $at,0x3f80
/* f081f7c: 8fa600d0 */ lw $a2,0xd0($sp)
/* f081f80: 460c803c */ c.lt.s $f16,$f12
/* f081f84: 00000000 */ nop
/* f081f88: 4502000a */ bc1fl .L0f081fb4
/* f081f8c: 44810000 */ mtc1 $at,$f0
/* f081f90: 2aa10003 */ slti $at,$s5,0x3
/* f081f94: 10200003 */ beqz $at,.L0f081fa4
/* f081f98: 3c017f1b */ lui $at,%hi(var7f1aa838)
/* f081f9c: 10000006 */ b .L0f081fb8
/* f081fa0: c420a838 */ lwc1 $f0,%lo(var7f1aa838)($at)
.L0f081fa4:
/* f081fa4: 46106481 */ sub.s $f18,$f12,$f16
/* f081fa8: 10000003 */ b .L0f081fb8
/* f081fac: 460c9003 */ div.s $f0,$f18,$f12
/* f081fb0: 44810000 */ mtc1 $at,$f0
.L0f081fb4:
/* f081fb4: 00000000 */ nop
.L0f081fb8:
/* f081fb8: c4c60028 */ lwc1 $f6,0x28($a2)
/* f081fbc: c4c8002c */ lwc1 $f8,0x2c($a2)
/* f081fc0: c4d20030 */ lwc1 $f18,0x30($a2)
/* f081fc4: 46003282 */ mul.s $f10,$f6,$f0
/* f081fc8: 3c013f80 */ lui $at,0x3f80
/* f081fcc: 8cce0014 */ lw $t6,0x14($a2)
/* f081fd0: 46004102 */ mul.s $f4,$f8,$f0
/* f081fd4: 44814000 */ mtc1 $at,$f8
/* f081fd8: 46009182 */ mul.s $f6,$f18,$f0
/* f081fdc: e4ca0028 */ swc1 $f10,0x28($a2)
/* f081fe0: e4c4002c */ swc1 $f4,0x2c($a2)
/* f081fe4: 46004101 */ sub.s $f4,$f8,$f0
/* f081fe8: e4c60030 */ swc1 $f6,0x30($a2)
/* f081fec: 8faf0080 */ lw $t7,0x80($sp)
/* f081ff0: 460e2482 */ mul.s $f18,$f4,$f14
/* f081ff4: 000fc080 */ sll $t8,$t7,0x2
/* f081ff8: 01d81021 */ addu $v0,$t6,$t8
/* f081ffc: c44a0008 */ lwc1 $f10,0x8($v0)
/* f082000: 46125180 */ add.s $f6,$f10,$f18
/* f082004: e4460008 */ swc1 $f6,0x8($v0)
/* f082008: 8fb90094 */ lw $t9,0x94($sp)
/* f08200c: 8f3e0000 */ lw $s8,0x0($t9)
/* f082010: 53c00196 */ beqzl $s8,.L0f08266c
/* f082014: 90c20002 */ lbu $v0,0x2($a2)
/* f082018: 97c20000 */ lhu $v0,0x0($s8)
.L0f08201c:
/* f08201c: 24010008 */ addiu $at,$zero,0x8
/* f082020: 03c02825 */ or $a1,$s8,$zero
/* f082024: 304800ff */ andi $t0,$v0,0xff
/* f082028: 11010171 */ beq $t0,$at,.L0f0825f0
/* f08202c: 24010012 */ addiu $at,$zero,0x12
/* f082030: 11010174 */ beq $t0,$at,.L0f082604
/* f082034: 03c02825 */ or $a1,$s8,$zero
/* f082038: 24010017 */ addiu $at,$zero,0x17
/* f08203c: 11010176 */ beq $t0,$at,.L0f082618
/* f082040: 03c02825 */ or $a1,$s8,$zero
/* f082044: 24010018 */ addiu $at,$zero,0x18
/* f082048: 11010003 */ beq $t0,$at,.L0f082058
/* f08204c: 0000a825 */ or $s5,$zero,$zero
/* f082050: 10000175 */ b .L0f082628
/* f082054: 8fc20014 */ lw $v0,0x14($s8)
.L0f082058:
/* f082058: 13c0000b */ beqz $s8,.L0f082088
/* f08205c: 03c01025 */ or $v0,$s8,$zero
/* f082060: 2403000a */ addiu $v1,$zero,0xa
/* f082064: 94490000 */ lhu $t1,0x0($v0)
.L0f082068:
/* f082068: 312a00ff */ andi $t2,$t1,0xff
/* f08206c: 546a0004 */ bnel $v1,$t2,.L0f082080
/* f082070: 8c420008 */ lw $v0,0x8($v0)
/* f082074: 10000004 */ b .L0f082088
/* f082078: 8c550004 */ lw $s5,0x4($v0)
/* f08207c: 8c420008 */ lw $v0,0x8($v0)
.L0f082080:
/* f082080: 5440fff9 */ bnezl $v0,.L0f082068
/* f082084: 94490000 */ lhu $t1,0x0($v0)
.L0f082088:
/* f082088: 8fa40094 */ lw $a0,0x94($sp)
/* f08208c: 0fc20706 */ jal modelIsNodeNotTvscreen
/* f082090: 03c02825 */ or $a1,$s8,$zero
/* f082094: 10400153 */ beqz $v0,.L0f0825e4
/* f082098: 8fab00a4 */ lw $t3,0xa4($sp)
/* f08209c: 56ab0152 */ bnel $s5,$t3,.L0f0825e8
/* f0820a0: 8fc20014 */ lw $v0,0x14($s8)
/* f0820a4: 8fd40004 */ lw $s4,0x4($s8)
/* f0820a8: 8fac0098 */ lw $t4,0x98($sp)
/* f0820ac: 8fa400d0 */ lw $a0,0xd0($sp)
/* f0820b0: 968f0014 */ lhu $t7,0x14($s4)
/* f0820b4: 8d8d0010 */ lw $t5,0x10($t4)
/* f0820b8: 000f7080 */ sll $t6,$t7,0x2
/* f0820bc: 0fc1a1ee */ jal objGetDestroyedValue
/* f0820c0: 01ae9821 */ addu $s3,$t5,$t6
/* f0820c4: 86840010 */ lh $a0,0x10($s4)
/* f0820c8: 24050001 */ addiu $a1,$zero,0x1
/* f0820cc: 03c03025 */ or $a2,$s8,$zero
/* f0820d0: 0fc4a557 */ jal vtxstoreAllocate
/* f0820d4: 00403825 */ or $a3,$v0,$zero
/* f0820d8: 10400041 */ beqz $v0,.L0f0821e0
/* f0820dc: 00408025 */ or $s0,$v0,$zero
/* f0820e0: 8e650000 */ lw $a1,0x0($s3)
/* f0820e4: 8e98000c */ lw $t8,0xc($s4)
/* f0820e8: 00009025 */ or $s2,$zero,$zero
/* f0820ec: 53050021 */ beql $t8,$a1,.L0f082174
/* f0820f0: 868f0010 */ lh $t7,0x10($s4)
/* f0820f4: 86990010 */ lh $t9,0x10($s4)
/* f0820f8: 00008825 */ or $s1,$zero,$zero
/* f0820fc: 00401825 */ or $v1,$v0,$zero
/* f082100: 1b200017 */ blez $t9,.L0f082160
/* f082104: 00000000 */ nop
/* f082108: 8e680000 */ lw $t0,0x0($s3)
.L0f08210c:
/* f08210c: 26520001 */ addiu $s2,$s2,0x1
/* f082110: 2463000c */ addiu $v1,$v1,0xc
/* f082114: 01114821 */ addu $t1,$t0,$s1
/* f082118: 89210000 */ lwl $at,0x0($t1)
/* f08211c: 99210003 */ lwr $at,0x3($t1)
/* f082120: 2631000c */ addiu $s1,$s1,0xc
/* f082124: a861fff4 */ swl $at,-0xc($v1)
/* f082128: b861fff7 */ swr $at,-0x9($v1)
/* f08212c: 892b0004 */ lwl $t3,0x4($t1)
/* f082130: 992b0007 */ lwr $t3,0x7($t1)
/* f082134: a86bfff8 */ swl $t3,-0x8($v1)
/* f082138: b86bfffb */ swr $t3,-0x5($v1)
/* f08213c: 89210008 */ lwl $at,0x8($t1)
/* f082140: 9921000b */ lwr $at,0xb($t1)
/* f082144: a861fffc */ swl $at,-0x4($v1)
/* f082148: b861ffff */ swr $at,-0x1($v1)
/* f08214c: 868c0010 */ lh $t4,0x10($s4)
/* f082150: 024c082a */ slt $at,$s2,$t4
/* f082154: 5420ffed */ bnezl $at,.L0f08210c
/* f082158: 8e680000 */ lw $t0,0x0($s3)
/* f08215c: 8e650000 */ lw $a1,0x0($s3)
.L0f082160:
/* f082160: 0fc4a606 */ jal vtxstoreFree
/* f082164: 24040001 */ addiu $a0,$zero,0x1
/* f082168: 1000001b */ b .L0f0821d8
/* f08216c: 00000000 */ nop
/* f082170: 868f0010 */ lh $t7,0x10($s4)
.L0f082174:
/* f082174: 00008825 */ or $s1,$zero,$zero
/* f082178: 00401825 */ or $v1,$v0,$zero
/* f08217c: 19e00016 */ blez $t7,.L0f0821d8
/* f082180: 00000000 */ nop
/* f082184: 8e8d000c */ lw $t5,0xc($s4)
.L0f082188:
/* f082188: 26520001 */ addiu $s2,$s2,0x1
/* f08218c: 2463000c */ addiu $v1,$v1,0xc
/* f082190: 01b17021 */ addu $t6,$t5,$s1
/* f082194: 89c10000 */ lwl $at,0x0($t6)
/* f082198: 99c10003 */ lwr $at,0x3($t6)
/* f08219c: 2631000c */ addiu $s1,$s1,0xc
/* f0821a0: a861fff4 */ swl $at,-0xc($v1)
/* f0821a4: b861fff7 */ swr $at,-0x9($v1)
/* f0821a8: 89d90004 */ lwl $t9,0x4($t6)
/* f0821ac: 99d90007 */ lwr $t9,0x7($t6)
/* f0821b0: a879fff8 */ swl $t9,-0x8($v1)
/* f0821b4: b879fffb */ swr $t9,-0x5($v1)
/* f0821b8: 89c10008 */ lwl $at,0x8($t6)
/* f0821bc: 99c1000b */ lwr $at,0xb($t6)
/* f0821c0: a861fffc */ swl $at,-0x4($v1)
/* f0821c4: b861ffff */ swr $at,-0x1($v1)
/* f0821c8: 86880010 */ lh $t0,0x10($s4)
/* f0821cc: 0248082a */ slt $at,$s2,$t0
/* f0821d0: 5420ffed */ bnezl $at,.L0f082188
/* f0821d4: 8e8d000c */ lw $t5,0xc($s4)
.L0f0821d8:
/* f0821d8: 10000002 */ b .L0f0821e4
/* f0821dc: ae700000 */ sw $s0,0x0($s3)
.L0f0821e0:
/* f0821e0: afa0008c */ sw $zero,0x8c($sp)
.L0f0821e4:
/* f0821e4: 86890010 */ lh $t1,0x10($s4)
/* f0821e8: 8e8a000c */ lw $t2,0xc($s4)
/* f0821ec: 8e6e0008 */ lw $t6,0x8($s3)
/* f0821f0: 00095880 */ sll $t3,$t1,0x2
/* f0821f4: 01695823 */ subu $t3,$t3,$t1
/* f0821f8: 000b5880 */ sll $t3,$t3,0x2
/* f0821fc: 014b6021 */ addu $t4,$t2,$t3
/* f082200: 258f0007 */ addiu $t7,$t4,0x7
/* f082204: 35ed0007 */ ori $t5,$t7,0x7
/* f082208: 39b80007 */ xori $t8,$t5,0x7
/* f08220c: 170e001a */ bne $t8,$t6,.L0f082278
/* f082210: 24050003 */ addiu $a1,$zero,0x3
/* f082214: 96840016 */ lhu $a0,0x16($s4)
/* f082218: 00003025 */ or $a2,$zero,$zero
/* f08221c: 0fc4a557 */ jal vtxstoreAllocate
/* f082220: 00003825 */ or $a3,$zero,$zero
/* f082224: 50400014 */ beqzl $v0,.L0f082278
/* f082228: afa0008c */ sw $zero,0x8c($sp)
/* f08222c: 96990016 */ lhu $t9,0x16($s4)
/* f082230: 00009025 */ or $s2,$zero,$zero
/* f082234: 00001825 */ or $v1,$zero,$zero
/* f082238: 1b20000c */ blez $t9,.L0f08226c
/* f08223c: 00402025 */ or $a0,$v0,$zero
/* f082240: 8e680008 */ lw $t0,0x8($s3)
.L0f082244:
/* f082244: 26520001 */ addiu $s2,$s2,0x1
/* f082248: 24840004 */ addiu $a0,$a0,0x4
/* f08224c: 01034821 */ addu $t1,$t0,$v1
/* f082250: 8d210000 */ lw $at,0x0($t1)
/* f082254: 24630004 */ addiu $v1,$v1,0x4
/* f082258: ac81fffc */ sw $at,-0x4($a0)
/* f08225c: 968c0016 */ lhu $t4,0x16($s4)
/* f082260: 024c082a */ slt $at,$s2,$t4
/* f082264: 5420fff7 */ bnezl $at,.L0f082244
/* f082268: 8e680008 */ lw $t0,0x8($s3)
.L0f08226c:
/* f08226c: 10000002 */ b .L0f082278
/* f082270: ae620008 */ sw $v0,0x8($s3)
/* f082274: afa0008c */ sw $zero,0x8c($sp)
.L0f082278:
/* f082278: 8faf008c */ lw $t7,0x8c($sp)
/* f08227c: 51e000da */ beqzl $t7,.L0f0825e8
/* f082280: 8fc20014 */ lw $v0,0x14($s8)
/* f082284: 96820016 */ lhu $v0,0x16($s4)
/* f082288: 00009025 */ or $s2,$zero,$zero
/* f08228c: 5840000e */ blezl $v0,.L0f0822c8
/* f082290: 86990010 */ lh $t9,0x10($s4)
.L0f082294:
/* f082294: 5a400007 */ blezl $s2,.L0f0822b4
/* f082298: 26520001 */ addiu $s2,$s2,0x1
/* f08229c: 8e6d0008 */ lw $t5,0x8($s3)
/* f0822a0: 0012c080 */ sll $t8,$s2,0x2
/* f0822a4: 01b87021 */ addu $t6,$t5,$t8
/* f0822a8: a1c00003 */ sb $zero,0x3($t6)
/* f0822ac: 96820016 */ lhu $v0,0x16($s4)
/* f0822b0: 26520001 */ addiu $s2,$s2,0x1
.L0f0822b4:
/* f0822b4: 0242082a */ slt $at,$s2,$v0
/* f0822b8: 1420fff6 */ bnez $at,.L0f082294
/* f0822bc: 00000000 */ nop
/* f0822c0: 00009025 */ or $s2,$zero,$zero
/* f0822c4: 86990010 */ lh $t9,0x10($s4)
.L0f0822c8:
/* f0822c8: c7a800c4 */ lwc1 $f8,0xc4($sp)
/* f0822cc: 5b2000c6 */ blezl $t9,.L0f0825e8
/* f0822d0: 8fc20014 */ lw $v0,0x14($s8)
/* f0822d4: 4600410d */ trunc.w.s $f4,$f8
/* f0822d8: 8fb60080 */ lw $s6,0x80($sp)
/* f0822dc: 00008825 */ or $s1,$zero,$zero
/* f0822e0: 44172000 */ mfc1 $s7,$f4
/* f0822e4: 00164040 */ sll $t0,$s6,0x1
/* f0822e8: 0100b025 */ or $s6,$t0,$zero
/* f0822ec: 00174c00 */ sll $t1,$s7,0x10
/* f0822f0: 0009bc03 */ sra $s7,$t1,0x10
/* f0822f4: 8e8c000c */ lw $t4,0xc($s4)
.L0f0822f8:
/* f0822f8: 8fa80090 */ lw $t0,0x90($sp)
/* f0822fc: 01911021 */ addu $v0,$t4,$s1
/* f082300: 844f0004 */ lh $t7,0x4($v0)
/* f082304: 844d0000 */ lh $t5,0x0($v0)
/* f082308: 844e0002 */ lh $t6,0x2($v0)
/* f08230c: 01edc021 */ addu $t8,$t7,$t5
/* f082310: 030ec821 */ addu $t9,$t8,$t6
/* f082314: 0fc4a47e */ jal rng2SetSeed
/* f082318: 03282021 */ addu $a0,$t9,$t0
/* f08231c: 8faa0084 */ lw $t2,0x84($sp)
/* f082320: 00125880 */ sll $t3,$s2,0x2
/* f082324: 00127080 */ sll $t6,$s2,0x2
/* f082328: 5140000f */ beqzl $t2,.L0f082368
/* f08232c: 8e780000 */ lw $t8,0x0($s3)
/* f082330: 8e690000 */ lw $t1,0x0($s3)
/* f082334: 01725823 */ subu $t3,$t3,$s2
/* f082338: 000b5880 */ sll $t3,$t3,0x2
/* f08233c: 012b6021 */ addu $t4,$t1,$t3
/* f082340: 01967821 */ addu $t7,$t4,$s6
/* f082344: 85ed0000 */ lh $t5,0x0($t7)
/* f082348: 01b7082a */ slt $at,$t5,$s7
/* f08234c: 14200003 */ bnez $at,.L0f08235c
/* f082350: 00000000 */ nop
/* f082354: 1000000f */ b .L0f082394
/* f082358: 24100014 */ addiu $s0,$zero,0x14
.L0f08235c:
/* f08235c: 1000000d */ b .L0f082394
/* f082360: 2410005a */ addiu $s0,$zero,0x5a
/* f082364: 8e780000 */ lw $t8,0x0($s3)
.L0f082368:
/* f082368: 01d27023 */ subu $t6,$t6,$s2
/* f08236c: 000e7080 */ sll $t6,$t6,0x2
/* f082370: 030ec821 */ addu $t9,$t8,$t6
/* f082374: 03364021 */ addu $t0,$t9,$s6
/* f082378: 850a0000 */ lh $t2,0x0($t0)
/* f08237c: 2410005a */ addiu $s0,$zero,0x5a
/* f082380: 02ea082a */ slt $at,$s7,$t2
/* f082384: 14200003 */ bnez $at,.L0f082394
/* f082388: 00000000 */ nop
/* f08238c: 10000001 */ b .L0f082394
/* f082390: 24100014 */ addiu $s0,$zero,0x14
.L0f082394:
/* f082394: 0fc4a46c */ jal random2
/* f082398: 00000000 */ nop
/* f08239c: 24010064 */ addiu $at,$zero,0x64
/* f0823a0: 0041001b */ divu $zero,$v0,$at
/* f0823a4: 00004810 */ mfhi $t1
/* f0823a8: 0130082a */ slt $at,$t1,$s0
/* f0823ac: 10200004 */ beqz $at,.L0f0823c0
/* f0823b0: 00000000 */ nop
/* f0823b4: 8e6b0000 */ lw $t3,0x0($s3)
/* f0823b8: 01716021 */ addu $t4,$t3,$s1
/* f0823bc: a1800007 */ sb $zero,0x7($t4)
.L0f0823c0:
/* f0823c0: 0fc4a46c */ jal random2
/* f0823c4: 00000000 */ nop
/* f0823c8: 24010014 */ addiu $at,$zero,0x14
/* f0823cc: 0041001b */ divu $zero,$v0,$at
/* f0823d0: 00006810 */ mfhi $t5
/* f0823d4: 25b8fff6 */ addiu $t8,$t5,-10
/* f0823d8: 44985000 */ mtc1 $t8,$f10
/* f0823dc: c7a600b0 */ lwc1 $f6,0xb0($sp)
/* f0823e0: 8e6f0000 */ lw $t7,0x0($s3)
/* f0823e4: 468054a0 */ cvt.s.w $f18,$f10
/* f0823e8: 01f18021 */ addu $s0,$t7,$s1
/* f0823ec: 86080000 */ lh $t0,0x0($s0)
/* f0823f0: 46069202 */ mul.s $f8,$f18,$f6
/* f0823f4: 4600410d */ trunc.w.s $f4,$f8
/* f0823f8: 44192000 */ mfc1 $t9,$f4
/* f0823fc: 00000000 */ nop
/* f082400: 01195021 */ addu $t2,$t0,$t9
/* f082404: 0fc4a46c */ jal random2
/* f082408: a60a0000 */ sh $t2,0x0($s0)
/* f08240c: 24010014 */ addiu $at,$zero,0x14
/* f082410: 0041001b */ divu $zero,$v0,$at
/* f082414: 00005810 */ mfhi $t3
/* f082418: 256cfff6 */ addiu $t4,$t3,-10
/* f08241c: 448c5000 */ mtc1 $t4,$f10
/* f082420: c7a600b4 */ lwc1 $f6,0xb4($sp)
/* f082424: 8e690000 */ lw $t1,0x0($s3)
/* f082428: 468054a0 */ cvt.s.w $f18,$f10
/* f08242c: 01318021 */ addu $s0,$t1,$s1
/* f082430: 86180002 */ lh $t8,0x2($s0)
/* f082434: 46069202 */ mul.s $f8,$f18,$f6
/* f082438: 4600410d */ trunc.w.s $f4,$f8
/* f08243c: 440d2000 */ mfc1 $t5,$f4
/* f082440: 00000000 */ nop
/* f082444: 030d7021 */ addu $t6,$t8,$t5
/* f082448: 0fc4a46c */ jal random2
/* f08244c: a60e0002 */ sh $t6,0x2($s0)
/* f082450: 24010014 */ addiu $at,$zero,0x14
/* f082454: 0041001b */ divu $zero,$v0,$at
/* f082458: 0000c810 */ mfhi $t9
/* f08245c: 272afff6 */ addiu $t2,$t9,-10
/* f082460: 448a5000 */ mtc1 $t2,$f10
/* f082464: c7a600b8 */ lwc1 $f6,0xb8($sp)
/* f082468: 8e680000 */ lw $t0,0x0($s3)
/* f08246c: 468054a0 */ cvt.s.w $f18,$f10
/* f082470: 01118021 */ addu $s0,$t0,$s1
/* f082474: 860c0004 */ lh $t4,0x4($s0)
/* f082478: 46069202 */ mul.s $f8,$f18,$f6
/* f08247c: 4600410d */ trunc.w.s $f4,$f8
/* f082480: 440b2000 */ mfc1 $t3,$f4
/* f082484: 00000000 */ nop
/* f082488: 018b7821 */ addu $t7,$t4,$t3
/* f08248c: 12a0004f */ beqz $s5,.L0f0825cc
/* f082490: a60f0004 */ sh $t7,0x4($s0)
/* f082494: c6aa0004 */ lwc1 $f10,0x4($s5)
/* f082498: 8e780000 */ lw $t8,0x0($s3)
/* f08249c: 4600548d */ trunc.w.s $f18,$f10
/* f0824a0: 03118021 */ addu $s0,$t8,$s1
/* f0824a4: 86020000 */ lh $v0,0x0($s0)
/* f0824a8: 44039000 */ mfc1 $v1,$f18
/* f0824ac: 00000000 */ nop
/* f0824b0: 00037400 */ sll $t6,$v1,0x10
/* f0824b4: 000e4403 */ sra $t0,$t6,0x10
/* f0824b8: 0048082a */ slt $at,$v0,$t0
/* f0824bc: 50200006 */ beqzl $at,.L0f0824d8
/* f0824c0: c6a60008 */ lwc1 $f6,0x8($s5)
/* f0824c4: a6030000 */ sh $v1,0x0($s0)
/* f0824c8: 8e790000 */ lw $t9,0x0($s3)
/* f0824cc: 03318021 */ addu $s0,$t9,$s1
/* f0824d0: 86020000 */ lh $v0,0x0($s0)
/* f0824d4: c6a60008 */ lwc1 $f6,0x8($s5)
.L0f0824d8:
/* f0824d8: 4600320d */ trunc.w.s $f8,$f6
/* f0824dc: 44034000 */ mfc1 $v1,$f8
/* f0824e0: 00000000 */ nop
/* f0824e4: 00034c00 */ sll $t1,$v1,0x10
/* f0824e8: 00096403 */ sra $t4,$t1,0x10
/* f0824ec: 0182082a */ slt $at,$t4,$v0
/* f0824f0: 50200005 */ beqzl $at,.L0f082508
/* f0824f4: c6a4000c */ lwc1 $f4,0xc($s5)
/* f0824f8: a6030000 */ sh $v1,0x0($s0)
/* f0824fc: 8e6b0000 */ lw $t3,0x0($s3)
/* f082500: 01718021 */ addu $s0,$t3,$s1
/* f082504: c6a4000c */ lwc1 $f4,0xc($s5)
.L0f082508:
/* f082508: 86020002 */ lh $v0,0x2($s0)
/* f08250c: 4600228d */ trunc.w.s $f10,$f4
/* f082510: 44035000 */ mfc1 $v1,$f10
/* f082514: 00000000 */ nop
/* f082518: 0003c400 */ sll $t8,$v1,0x10
/* f08251c: 00186c03 */ sra $t5,$t8,0x10
/* f082520: 004d082a */ slt $at,$v0,$t5
/* f082524: 50200006 */ beqzl $at,.L0f082540
/* f082528: c6b20010 */ lwc1 $f18,0x10($s5)
/* f08252c: a6030002 */ sh $v1,0x2($s0)
/* f082530: 8e6e0000 */ lw $t6,0x0($s3)
/* f082534: 01d18021 */ addu $s0,$t6,$s1
/* f082538: 86020002 */ lh $v0,0x2($s0)
/* f08253c: c6b20010 */ lwc1 $f18,0x10($s5)
.L0f082540:
/* f082540: 4600918d */ trunc.w.s $f6,$f18
/* f082544: 44033000 */ mfc1 $v1,$f6
/* f082548: 00000000 */ nop
/* f08254c: 0003cc00 */ sll $t9,$v1,0x10
/* f082550: 00195403 */ sra $t2,$t9,0x10
/* f082554: 0142082a */ slt $at,$t2,$v0
/* f082558: 50200005 */ beqzl $at,.L0f082570
/* f08255c: c6a80014 */ lwc1 $f8,0x14($s5)
/* f082560: a6030002 */ sh $v1,0x2($s0)
/* f082564: 8e690000 */ lw $t1,0x0($s3)
/* f082568: 01318021 */ addu $s0,$t1,$s1
/* f08256c: c6a80014 */ lwc1 $f8,0x14($s5)
.L0f082570:
/* f082570: 86020004 */ lh $v0,0x4($s0)
/* f082574: 4600410d */ trunc.w.s $f4,$f8
/* f082578: 44032000 */ mfc1 $v1,$f4
/* f08257c: 00000000 */ nop
/* f082580: 00035c00 */ sll $t3,$v1,0x10
/* f082584: 000b7c03 */ sra $t7,$t3,0x10
/* f082588: 004f082a */ slt $at,$v0,$t7
/* f08258c: 50200006 */ beqzl $at,.L0f0825a8
/* f082590: c6aa0018 */ lwc1 $f10,0x18($s5)
/* f082594: a6030004 */ sh $v1,0x4($s0)
/* f082598: 8e780000 */ lw $t8,0x0($s3)
/* f08259c: 03118021 */ addu $s0,$t8,$s1
/* f0825a0: 86020004 */ lh $v0,0x4($s0)
/* f0825a4: c6aa0018 */ lwc1 $f10,0x18($s5)
.L0f0825a8:
/* f0825a8: 4600548d */ trunc.w.s $f18,$f10
/* f0825ac: 44039000 */ mfc1 $v1,$f18
/* f0825b0: 00000000 */ nop
/* f0825b4: 00037400 */ sll $t6,$v1,0x10
/* f0825b8: 000e4403 */ sra $t0,$t6,0x10
/* f0825bc: 0102082a */ slt $at,$t0,$v0
/* f0825c0: 50200003 */ beqzl $at,.L0f0825d0
/* f0825c4: 86990010 */ lh $t9,0x10($s4)
/* f0825c8: a6030004 */ sh $v1,0x4($s0)
.L0f0825cc:
/* f0825cc: 86990010 */ lh $t9,0x10($s4)
.L0f0825d0:
/* f0825d0: 26520001 */ addiu $s2,$s2,0x1
/* f0825d4: 2631000c */ addiu $s1,$s1,0xc
/* f0825d8: 0259082a */ slt $at,$s2,$t9
/* f0825dc: 5420ff46 */ bnezl $at,.L0f0822f8
/* f0825e0: 8e8c000c */ lw $t4,0xc($s4)
.L0f0825e4:
/* f0825e4: 8fc20014 */ lw $v0,0x14($s8)
.L0f0825e8:
/* f0825e8: 1000000f */ b .L0f082628
/* f0825ec: 8fa600d0 */ lw $a2,0xd0($sp)
.L0f0825f0:
/* f0825f0: 0c0071e1 */ jal model0001c784
/* f0825f4: 8cc40018 */ lw $a0,0x18($a2)
/* f0825f8: 8fc20014 */ lw $v0,0x14($s8)
/* f0825fc: 1000000a */ b .L0f082628
/* f082600: 8fa600d0 */ lw $a2,0xd0($sp)
.L0f082604:
/* f082604: 0c0071f4 */ jal model0001c7d0
/* f082608: 8cc40018 */ lw $a0,0x18($a2)
/* f08260c: 8fc20014 */ lw $v0,0x14($s8)
/* f082610: 10000005 */ b .L0f082628
/* f082614: 8fa600d0 */ lw $a2,0xd0($sp)
.L0f082618:
/* f082618: 0c007207 */ jal modelAttachHead
/* f08261c: 8cc40018 */ lw $a0,0x18($a2)
/* f082620: 8fc20014 */ lw $v0,0x14($s8)
/* f082624: 8fa600d0 */ lw $a2,0xd0($sp)
.L0f082628:
/* f082628: 10400003 */ beqz $v0,.L0f082638
/* f08262c: 00000000 */ nop
/* f082630: 1000000b */ b .L0f082660
/* f082634: 0040f025 */ or $s8,$v0,$zero
.L0f082638:
/* f082638: 13c00009 */ beqz $s8,.L0f082660
/* f08263c: 00000000 */ nop
/* f082640: 8fc2000c */ lw $v0,0xc($s8)
.L0f082644:
/* f082644: 50400004 */ beqzl $v0,.L0f082658
/* f082648: 8fde0008 */ lw $s8,0x8($s8)
/* f08264c: 10000004 */ b .L0f082660
/* f082650: 0040f025 */ or $s8,$v0,$zero
/* f082654: 8fde0008 */ lw $s8,0x8($s8)
.L0f082658:
/* f082658: 57c0fffa */ bnezl $s8,.L0f082644
/* f08265c: 8fc2000c */ lw $v0,0xc($s8)
.L0f082660:
/* f082660: 57c0fe6e */ bnezl $s8,.L0f08201c
/* f082664: 97c20000 */ lhu $v0,0x0($s8)
/* f082668: 90c20002 */ lbu $v0,0x2($a2)
.L0f08266c:
/* f08266c: 8fa9008c */ lw $t1,0x8c($sp)
/* f082670: 304a0080 */ andi $t2,$v0,0x80
/* f082674: 5540000a */ bnezl $t2,.L0f0826a0
/* f082678: 8fbf003c */ lw $ra,0x3c($sp)
/* f08267c: 15200006 */ bnez $t1,.L0f082698
/* f082680: 344c0080 */ ori $t4,$v0,0x80
/* f082684: 24040001 */ addiu $a0,$zero,0x1
/* f082688: 0fc226a5 */ jal func0f089a94
/* f08268c: 8fa50098 */ lw $a1,0x98($sp)
/* f082690: 10000003 */ b .L0f0826a0
/* f082694: 8fbf003c */ lw $ra,0x3c($sp)
.L0f082698:
/* f082698: a0cc0002 */ sb $t4,0x2($a2)
/* f08269c: 8fbf003c */ lw $ra,0x3c($sp)
.L0f0826a0:
/* f0826a0: 8fb00018 */ lw $s0,0x18($sp)
/* f0826a4: 8fb1001c */ lw $s1,0x1c($sp)
/* f0826a8: 8fb20020 */ lw $s2,0x20($sp)
/* f0826ac: 8fb30024 */ lw $s3,0x24($sp)
/* f0826b0: 8fb40028 */ lw $s4,0x28($sp)
/* f0826b4: 8fb5002c */ lw $s5,0x2c($sp)
/* f0826b8: 8fb60030 */ lw $s6,0x30($sp)
/* f0826bc: 8fb70034 */ lw $s7,0x34($sp)
/* f0826c0: 8fbe0038 */ lw $s8,0x38($sp)
/* f0826c4: 03e00008 */ jr $ra
/* f0826c8: 27bd00d0 */ addiu $sp,$sp,0xd0
);
#else
GLOBAL_ASM(
glabel func0f081ccc
.late_rodata
glabel var7f1aa830
.word 0x47c34f80
glabel var7f1aa834
.word 0xc7c34f80
glabel var7f1aa838
.word 0x3f666666
.text
/* f080740: 27bdff28 */ addiu $sp,$sp,-216
/* f080744: afbf0044 */ sw $ra,0x44($sp)
/* f080748: afbe0040 */ sw $s8,0x40($sp)
/* f08074c: afb7003c */ sw $s7,0x3c($sp)
/* f080750: afb60038 */ sw $s6,0x38($sp)
/* f080754: afb50034 */ sw $s5,0x34($sp)
/* f080758: afb40030 */ sw $s4,0x30($sp)
/* f08075c: afb3002c */ sw $s3,0x2c($sp)
/* f080760: afb20028 */ sw $s2,0x28($sp)
/* f080764: afb10024 */ sw $s1,0x24($sp)
/* f080768: afb00020 */ sw $s0,0x20($sp)
/* f08076c: f7b40018 */ sdc1 $f20,0x18($sp)
/* f080770: 8c820018 */ lw $v0,0x18($a0)
/* f080774: 240f0001 */ addiu $t7,$zero,0x1
/* f080778: 00803825 */ or $a3,$a0,$zero
/* f08077c: 8c4e0008 */ lw $t6,0x8($v0)
/* f080780: afaf0094 */ sw $t7,0x94($sp)
/* f080784: 00a0a825 */ or $s5,$a1,$zero
/* f080788: afae009c */ sw $t6,0x9c($sp)
/* f08078c: 4480a000 */ mtc1 $zero,$f20
/* f080790: 8c840014 */ lw $a0,0x14($a0)
/* f080794: afa700d8 */ sw $a3,0xd8($sp)
/* f080798: 2405000f */ addiu $a1,$zero,0xf
/* f08079c: 3406ffff */ dli $a2,0xffff
/* f0807a0: 0fc2433d */ jal func0f0926bc
/* f0807a4: afa200a0 */ sw $v0,0xa0($sp)
/* f0807a8: 0fc46655 */ jal debug0f119954nb
/* f0807ac: afa00098 */ sw $zero,0x98($sp)
/* f0807b0: 0fc46655 */ jal debug0f119954nb
/* f0807b4: 00000000 */ sll $zero,$zero,0x0
/* f0807b8: 0c004d84 */ jal random
/* f0807bc: 00000000 */ sll $zero,$zero,0x0
/* f0807c0: 0fc46655 */ jal debug0f119954nb
/* f0807c4: afa20098 */ sw $v0,0x98($sp)
/* f0807c8: 50400005 */ beqzl $v0,.NB0f0807e0
/* f0807cc: 8fa800d8 */ lw $t0,0xd8($sp)
/* f0807d0: 8fb80098 */ lw $t8,0x98($sp)
/* f0807d4: 3319ffff */ andi $t9,$t8,0xffff
/* f0807d8: afb90098 */ sw $t9,0x98($sp)
/* f0807dc: 8fa800d8 */ lw $t0,0xd8($sp)
.NB0f0807e0:
/* f0807e0: 24050001 */ addiu $a1,$zero,0x1
/* f0807e4: 0fc4e3c3 */ jal wallhitsRemoveByProp
/* f0807e8: 8d040014 */ lw $a0,0x14($t0)
/* f0807ec: 24090001 */ addiu $t1,$zero,0x1
/* f0807f0: afa00088 */ sw $zero,0x88($sp)
/* f0807f4: afa90084 */ sw $t1,0x84($sp)
/* f0807f8: 00009025 */ or $s2,$zero,$zero
/* f0807fc: 8fb000d8 */ lw $s0,0xd8($sp)
/* f080800: 27b300b8 */ addiu $s3,$sp,0xb8
/* f080804: 24140003 */ addiu $s4,$zero,0x3
.NB0f080808:
/* f080808: c602001c */ lwc1 $f2,0x1c($s0)
/* f08080c: c60e0020 */ lwc1 $f14,0x20($s0)
/* f080810: c6000024 */ lwc1 $f0,0x24($s0)
/* f080814: 46021102 */ mul.s $f4,$f2,$f2
/* f080818: 00008825 */ or $s1,$zero,$zero
/* f08081c: 460e7182 */ mul.s $f6,$f14,$f14
/* f080820: 46062200 */ add.s $f8,$f4,$f6
/* f080824: 46000282 */ mul.s $f10,$f0,$f0
/* f080828: 0c012e84 */ jal sqrtf
/* f08082c: 46085300 */ add.s $f12,$f10,$f8
/* f080830: e6600000 */ swc1 $f0,0x0($s3)
/* f080834: c6120020 */ lwc1 $f18,0x20($s0)
/* f080838: 44802000 */ mtc1 $zero,$f4
/* f08083c: 2610000c */ addiu $s0,$s0,0xc
/* f080840: 46009083 */ div.s $f2,$f18,$f0
/* f080844: 4604103c */ c.lt.s $f2,$f4
/* f080848: 00000000 */ sll $zero,$zero,0x0
/* f08084c: 45020004 */ bc1fl .NB0f080860
/* f080850: 4602a03c */ c.lt.s $f20,$f2
/* f080854: 24110001 */ addiu $s1,$zero,0x1
/* f080858: 46001087 */ neg.s $f2,$f2
/* f08085c: 4602a03c */ c.lt.s $f20,$f2
.NB0f080860:
/* f080860: 00000000 */ sll $zero,$zero,0x0
/* f080864: 45020005 */ bc1fl .NB0f08087c
/* f080868: 26520001 */ addiu $s2,$s2,0x1
/* f08086c: 46001506 */ mov.s $f20,$f2
/* f080870: afb20084 */ sw $s2,0x84($sp)
/* f080874: afb10088 */ sw $s1,0x88($sp)
/* f080878: 26520001 */ addiu $s2,$s2,0x1
.NB0f08087c:
/* f08087c: 1654ffe2 */ bne $s2,$s4,.NB0f080808
/* f080880: 26730004 */ addiu $s3,$s3,0x4
/* f080884: 3c017f1a */ lui $at,0x7f1a
/* f080888: c42e4b4c */ lwc1 $f14,0x4b4c($at)
/* f08088c: 3c017f1a */ lui $at,0x7f1a
/* f080890: c4224b50 */ lwc1 $f2,0x4b50($at)
/* f080894: 8fa400a0 */ lw $a0,0xa0($sp)
/* f080898: e7ae00d4 */ swc1 $f14,0xd4($sp)
/* f08089c: 0fc19f4a */ jal modelFindBboxRodata
/* f0808a0: e7a200d0 */ swc1 $f2,0xd0($sp)
/* f0808a4: 8faa0084 */ lw $t2,0x84($sp)
/* f0808a8: c7a200d0 */ lwc1 $f2,0xd0($sp)
/* f0808ac: c7ae00d4 */ lwc1 $f14,0xd4($sp)
/* f0808b0: 15400009 */ bnez $t2,.NB0f0808d8
/* f0808b4: afa200ac */ sw $v0,0xac($sp)
/* f0808b8: 0fc1968b */ jal func0f0667ac
/* f0808bc: 00402025 */ or $a0,$v0,$zero
/* f0808c0: 8fa400ac */ lw $a0,0xac($sp)
/* f0808c4: 0fc1968d */ jal func0f0667b4
/* f0808c8: e7a000d4 */ swc1 $f0,0xd4($sp)
/* f0808cc: c7ae00d4 */ lwc1 $f14,0xd4($sp)
/* f0808d0: 10000018 */ beqz $zero,.NB0f080934
/* f0808d4: 46000086 */ mov.s $f2,$f0
.NB0f0808d8:
/* f0808d8: 8fab0084 */ lw $t3,0x84($sp)
/* f0808dc: 24010001 */ addiu $at,$zero,0x1
/* f0808e0: 8fac0084 */ lw $t4,0x84($sp)
/* f0808e4: 5561000a */ bnel $t3,$at,.NB0f080910
/* f0808e8: 24010002 */ addiu $at,$zero,0x2
/* f0808ec: 0fc1968f */ jal modelBboxGetYMin
/* f0808f0: 8fa400ac */ lw $a0,0xac($sp)
/* f0808f4: 8fa400ac */ lw $a0,0xac($sp)
/* f0808f8: 0fc19691 */ jal func0f0667c4
/* f0808fc: e7a000d4 */ swc1 $f0,0xd4($sp)
/* f080900: c7ae00d4 */ lwc1 $f14,0xd4($sp)
/* f080904: 1000000b */ beqz $zero,.NB0f080934
/* f080908: 46000086 */ mov.s $f2,$f0
/* f08090c: 24010002 */ addiu $at,$zero,0x2
.NB0f080910:
/* f080910: 55810009 */ bnel $t4,$at,.NB0f080938
/* f080914: 8fad0088 */ lw $t5,0x88($sp)
/* f080918: 0fc19693 */ jal func0f0667cc
/* f08091c: 8fa400ac */ lw $a0,0xac($sp)
/* f080920: 8fa400ac */ lw $a0,0xac($sp)
/* f080924: 0fc19695 */ jal modelBboxGetZMax
/* f080928: e7a000d4 */ swc1 $f0,0xd4($sp)
/* f08092c: c7ae00d4 */ lwc1 $f14,0xd4($sp)
/* f080930: 46000086 */ mov.s $f2,$f0
.NB0f080934:
/* f080934: 8fad0088 */ lw $t5,0x88($sp)
.NB0f080938:
/* f080938: 3c013f00 */ lui $at,0x3f00
/* f08093c: 8fa600d8 */ lw $a2,0xd8($sp)
/* f080940: 51a00005 */ beqzl $t5,.NB0f080958
/* f080944: 4602703c */ c.lt.s $f14,$f2
/* f080948: 46001006 */ mov.s $f0,$f2
/* f08094c: 46007086 */ mov.s $f2,$f14
/* f080950: 46000386 */ mov.s $f14,$f0
/* f080954: 4602703c */ c.lt.s $f14,$f2
.NB0f080958:
/* f080958: 24170014 */ addiu $s7,$zero,0x14
/* f08095c: 45020008 */ bc1fl .NB0f080980
/* f080960: 44801000 */ mtc1 $zero,$f2
/* f080964: 46027180 */ add.s $f6,$f14,$f2
/* f080968: 44815000 */ mtc1 $at,$f10
/* f08096c: 00000000 */ sll $zero,$zero,0x0
/* f080970: 460a3502 */ mul.s $f20,$f6,$f10
/* f080974: 10000005 */ beqz $zero,.NB0f08098c
/* f080978: 00000000 */ sll $zero,$zero,0x0
/* f08097c: 44801000 */ mtc1 $zero,$f2
.NB0f080980:
/* f080980: 00000000 */ sll $zero,$zero,0x0
/* f080984: 46001506 */ mov.s $f20,$f2
/* f080988: 46001386 */ mov.s $f14,$f2
.NB0f08098c:
/* f08098c: 16b4000e */ bne $s5,$s4,.NB0f0809c8
/* f080990: 460e1301 */ sub.s $f12,$f2,$f14
/* f080994: 460ea481 */ sub.s $f18,$f20,$f14
/* f080998: 3c014080 */ lui $at,0x4080
/* f08099c: 44814000 */ mtc1 $at,$f8
/* f0809a0: 3c0140c0 */ lui $at,0x40c0
/* f0809a4: 4612403c */ c.lt.s $f8,$f18
/* f0809a8: 00000000 */ sll $zero,$zero,0x0
/* f0809ac: 45020007 */ bc1fl .NB0f0809cc
/* f0809b0: 3c0140c0 */ lui $at,0x40c0
/* f0809b4: 44818000 */ mtc1 $at,$f16
/* f0809b8: 3c014000 */ lui $at,0x4000
/* f0809bc: 44813000 */ mtc1 $at,$f6
/* f0809c0: 46107100 */ add.s $f4,$f14,$f16
/* f0809c4: 46062501 */ sub.s $f20,$f4,$f6
.NB0f0809c8:
/* f0809c8: 3c0140c0 */ lui $at,0x40c0
.NB0f0809cc:
/* f0809cc: 44818000 */ mtc1 $at,$f16
/* f0809d0: 3c013f80 */ lui $at,0x3f80
/* f0809d4: 460c803c */ c.lt.s $f16,$f12
/* f0809d8: 00000000 */ sll $zero,$zero,0x0
/* f0809dc: 4502000a */ bc1fl .NB0f080a08
/* f0809e0: 44810000 */ mtc1 $at,$f0
/* f0809e4: 2aa10003 */ slti $at,$s5,0x3
/* f0809e8: 10200003 */ beqz $at,.NB0f0809f8
/* f0809ec: 3c017f1a */ lui $at,0x7f1a
/* f0809f0: 10000006 */ beqz $zero,.NB0f080a0c
/* f0809f4: c4204b54 */ lwc1 $f0,0x4b54($at)
.NB0f0809f8:
/* f0809f8: 46106281 */ sub.s $f10,$f12,$f16
/* f0809fc: 10000003 */ beqz $zero,.NB0f080a0c
/* f080a00: 460c5003 */ div.s $f0,$f10,$f12
/* f080a04: 44810000 */ mtc1 $at,$f0
.NB0f080a08:
/* f080a08: 00000000 */ sll $zero,$zero,0x0
.NB0f080a0c:
/* f080a0c: c4c80028 */ lwc1 $f8,0x28($a2)
/* f080a10: c4c4002c */ lwc1 $f4,0x2c($a2)
/* f080a14: c4ca0030 */ lwc1 $f10,0x30($a2)
/* f080a18: 46004482 */ mul.s $f18,$f8,$f0
/* f080a1c: 3c013f80 */ lui $at,0x3f80
/* f080a20: 8cce0014 */ lw $t6,0x14($a2)
/* f080a24: 46002182 */ mul.s $f6,$f4,$f0
/* f080a28: 44812000 */ mtc1 $at,$f4
/* f080a2c: 46005202 */ mul.s $f8,$f10,$f0
/* f080a30: e4d20028 */ swc1 $f18,0x28($a2)
/* f080a34: e4c6002c */ swc1 $f6,0x2c($a2)
/* f080a38: 46002181 */ sub.s $f6,$f4,$f0
/* f080a3c: e4c80030 */ swc1 $f8,0x30($a2)
/* f080a40: 8faf0084 */ lw $t7,0x84($sp)
/* f080a44: 460e3282 */ mul.s $f10,$f6,$f14
/* f080a48: 000fc080 */ sll $t8,$t7,0x2
/* f080a4c: 01d81021 */ addu $v0,$t6,$t8
/* f080a50: c4520008 */ lwc1 $f18,0x8($v0)
/* f080a54: 460a9200 */ add.s $f8,$f18,$f10
/* f080a58: e4480008 */ swc1 $f8,0x8($v0)
/* f080a5c: 8fb9009c */ lw $t9,0x9c($sp)
/* f080a60: 8f360000 */ lw $s6,0x0($t9)
/* f080a64: 52c0019e */ beqzl $s6,.NB0f0810e0
/* f080a68: 90c20002 */ lbu $v0,0x2($a2)
/* f080a6c: 8fbe008c */ lw $s8,0x8c($sp)
/* f080a70: 96c20000 */ lhu $v0,0x0($s6)
.NB0f080a74:
/* f080a74: 24010008 */ addiu $at,$zero,0x8
/* f080a78: 02c02825 */ or $a1,$s6,$zero
/* f080a7c: 304800ff */ andi $t0,$v0,0xff
/* f080a80: 11010178 */ beq $t0,$at,.NB0f081064
/* f080a84: 24010012 */ addiu $at,$zero,0x12
/* f080a88: 1101017b */ beq $t0,$at,.NB0f081078
/* f080a8c: 02c02825 */ or $a1,$s6,$zero
/* f080a90: 24010017 */ addiu $at,$zero,0x17
/* f080a94: 1101017d */ beq $t0,$at,.NB0f08108c
/* f080a98: 02c02825 */ or $a1,$s6,$zero
/* f080a9c: 24010018 */ addiu $at,$zero,0x18
/* f080aa0: 11010003 */ beq $t0,$at,.NB0f080ab0
/* f080aa4: 0000a825 */ or $s5,$zero,$zero
/* f080aa8: 1000017c */ beqz $zero,.NB0f08109c
/* f080aac: 8ec20014 */ lw $v0,0x14($s6)
.NB0f080ab0:
/* f080ab0: 12c0000b */ beqz $s6,.NB0f080ae0
/* f080ab4: 02c01025 */ or $v0,$s6,$zero
/* f080ab8: 2403000a */ addiu $v1,$zero,0xa
/* f080abc: 94490000 */ lhu $t1,0x0($v0)
.NB0f080ac0:
/* f080ac0: 312a00ff */ andi $t2,$t1,0xff
/* f080ac4: 546a0004 */ bnel $v1,$t2,.NB0f080ad8
/* f080ac8: 8c420008 */ lw $v0,0x8($v0)
/* f080acc: 10000004 */ beqz $zero,.NB0f080ae0
/* f080ad0: 8c550004 */ lw $s5,0x4($v0)
/* f080ad4: 8c420008 */ lw $v0,0x8($v0)
.NB0f080ad8:
/* f080ad8: 5440fff9 */ bnezl $v0,.NB0f080ac0
/* f080adc: 94490000 */ lhu $t1,0x0($v0)
.NB0f080ae0:
/* f080ae0: 8fa4009c */ lw $a0,0x9c($sp)
/* f080ae4: 0fc201a3 */ jal modelIsNodeNotTvscreen
/* f080ae8: 02c02825 */ or $a1,$s6,$zero
/* f080aec: 1040015a */ beqz $v0,.NB0f081058
/* f080af0: 8fab00ac */ lw $t3,0xac($sp)
/* f080af4: 56ab0159 */ bnel $s5,$t3,.NB0f08105c
/* f080af8: 8ec20014 */ lw $v0,0x14($s6)
/* f080afc: 8ed40004 */ lw $s4,0x4($s6)
/* f080b00: 8fac00a0 */ lw $t4,0xa0($sp)
/* f080b04: 8fa400d8 */ lw $a0,0xd8($sp)
/* f080b08: 968f0014 */ lhu $t7,0x14($s4)
/* f080b0c: 8d8d0010 */ lw $t5,0x10($t4)
/* f080b10: 000f7080 */ sll $t6,$t7,0x2
/* f080b14: 0fc19e8e */ jal objGetDestroyedValue
/* f080b18: 01ae9821 */ addu $s3,$t5,$t6
/* f080b1c: 86840010 */ lh $a0,0x10($s4)
/* f080b20: 24050001 */ addiu $a1,$zero,0x1
/* f080b24: 02c03025 */ or $a2,$s6,$zero
/* f080b28: 0fc49067 */ jal vtxstoreAllocate
/* f080b2c: 00403825 */ or $a3,$v0,$zero
/* f080b30: 10400041 */ beqz $v0,.NB0f080c38
/* f080b34: 00408025 */ or $s0,$v0,$zero
/* f080b38: 8e650000 */ lw $a1,0x0($s3)
/* f080b3c: 8e98000c */ lw $t8,0xc($s4)
/* f080b40: 00009025 */ or $s2,$zero,$zero
/* f080b44: 53050021 */ beql $t8,$a1,.NB0f080bcc
/* f080b48: 868f0010 */ lh $t7,0x10($s4)
/* f080b4c: 86990010 */ lh $t9,0x10($s4)
/* f080b50: 00008825 */ or $s1,$zero,$zero
/* f080b54: 00401825 */ or $v1,$v0,$zero
/* f080b58: 1b200017 */ blez $t9,.NB0f080bb8
/* f080b5c: 00000000 */ sll $zero,$zero,0x0
/* f080b60: 8e680000 */ lw $t0,0x0($s3)
.NB0f080b64:
/* f080b64: 26520001 */ addiu $s2,$s2,0x1
/* f080b68: 2463000c */ addiu $v1,$v1,0xc
/* f080b6c: 01114821 */ addu $t1,$t0,$s1
/* f080b70: 89210000 */ lwl $at,0x0($t1)
/* f080b74: 99210003 */ lwr $at,0x3($t1)
/* f080b78: 2631000c */ addiu $s1,$s1,0xc
/* f080b7c: a861fff4 */ swl $at,-0xc($v1)
/* f080b80: b861fff7 */ swr $at,-0x9($v1)
/* f080b84: 892b0004 */ lwl $t3,0x4($t1)
/* f080b88: 992b0007 */ lwr $t3,0x7($t1)
/* f080b8c: a86bfff8 */ swl $t3,-0x8($v1)
/* f080b90: b86bfffb */ swr $t3,-0x5($v1)
/* f080b94: 89210008 */ lwl $at,0x8($t1)
/* f080b98: 9921000b */ lwr $at,0xb($t1)
/* f080b9c: a861fffc */ swl $at,-0x4($v1)
/* f080ba0: b861ffff */ swr $at,-0x1($v1)
/* f080ba4: 868c0010 */ lh $t4,0x10($s4)
/* f080ba8: 024c082a */ slt $at,$s2,$t4
/* f080bac: 5420ffed */ bnezl $at,.NB0f080b64
/* f080bb0: 8e680000 */ lw $t0,0x0($s3)
/* f080bb4: 8e650000 */ lw $a1,0x0($s3)
.NB0f080bb8:
/* f080bb8: 0fc4911e */ jal vtxstoreFree
/* f080bbc: 24040001 */ addiu $a0,$zero,0x1
/* f080bc0: 1000001b */ beqz $zero,.NB0f080c30
/* f080bc4: 00000000 */ sll $zero,$zero,0x0
/* f080bc8: 868f0010 */ lh $t7,0x10($s4)
.NB0f080bcc:
/* f080bcc: 00008825 */ or $s1,$zero,$zero
/* f080bd0: 00401825 */ or $v1,$v0,$zero
/* f080bd4: 19e00016 */ blez $t7,.NB0f080c30
/* f080bd8: 00000000 */ sll $zero,$zero,0x0
/* f080bdc: 8e8d000c */ lw $t5,0xc($s4)
.NB0f080be0:
/* f080be0: 26520001 */ addiu $s2,$s2,0x1
/* f080be4: 2463000c */ addiu $v1,$v1,0xc
/* f080be8: 01b17021 */ addu $t6,$t5,$s1
/* f080bec: 89c10000 */ lwl $at,0x0($t6)
/* f080bf0: 99c10003 */ lwr $at,0x3($t6)
/* f080bf4: 2631000c */ addiu $s1,$s1,0xc
/* f080bf8: a861fff4 */ swl $at,-0xc($v1)
/* f080bfc: b861fff7 */ swr $at,-0x9($v1)
/* f080c00: 89d90004 */ lwl $t9,0x4($t6)
/* f080c04: 99d90007 */ lwr $t9,0x7($t6)
/* f080c08: a879fff8 */ swl $t9,-0x8($v1)
/* f080c0c: b879fffb */ swr $t9,-0x5($v1)
/* f080c10: 89c10008 */ lwl $at,0x8($t6)
/* f080c14: 99c1000b */ lwr $at,0xb($t6)
/* f080c18: a861fffc */ swl $at,-0x4($v1)
/* f080c1c: b861ffff */ swr $at,-0x1($v1)
/* f080c20: 86880010 */ lh $t0,0x10($s4)
/* f080c24: 0248082a */ slt $at,$s2,$t0
/* f080c28: 5420ffed */ bnezl $at,.NB0f080be0
/* f080c2c: 8e8d000c */ lw $t5,0xc($s4)
.NB0f080c30:
/* f080c30: 10000002 */ beqz $zero,.NB0f080c3c
/* f080c34: ae700000 */ sw $s0,0x0($s3)
.NB0f080c38:
/* f080c38: afa00094 */ sw $zero,0x94($sp)
.NB0f080c3c:
/* f080c3c: 86890010 */ lh $t1,0x10($s4)
/* f080c40: 8e8a000c */ lw $t2,0xc($s4)
/* f080c44: 8e6e0008 */ lw $t6,0x8($s3)
/* f080c48: 00095880 */ sll $t3,$t1,0x2
/* f080c4c: 01695823 */ subu $t3,$t3,$t1
/* f080c50: 000b5880 */ sll $t3,$t3,0x2
/* f080c54: 014b6021 */ addu $t4,$t2,$t3
/* f080c58: 258f0007 */ addiu $t7,$t4,0x7
/* f080c5c: 35ed0007 */ ori $t5,$t7,0x7
/* f080c60: 39b80007 */ xori $t8,$t5,0x7
/* f080c64: 170e001a */ bne $t8,$t6,.NB0f080cd0
/* f080c68: 24050003 */ addiu $a1,$zero,0x3
/* f080c6c: 96840016 */ lhu $a0,0x16($s4)
/* f080c70: 00003025 */ or $a2,$zero,$zero
/* f080c74: 0fc49067 */ jal vtxstoreAllocate
/* f080c78: 00003825 */ or $a3,$zero,$zero
/* f080c7c: 50400014 */ beqzl $v0,.NB0f080cd0
/* f080c80: afa00094 */ sw $zero,0x94($sp)
/* f080c84: 96990016 */ lhu $t9,0x16($s4)
/* f080c88: 00009025 */ or $s2,$zero,$zero
/* f080c8c: 00001825 */ or $v1,$zero,$zero
/* f080c90: 1b20000c */ blez $t9,.NB0f080cc4
/* f080c94: 00402025 */ or $a0,$v0,$zero
/* f080c98: 8e680008 */ lw $t0,0x8($s3)
.NB0f080c9c:
/* f080c9c: 26520001 */ addiu $s2,$s2,0x1
/* f080ca0: 24840004 */ addiu $a0,$a0,0x4
/* f080ca4: 01034821 */ addu $t1,$t0,$v1
/* f080ca8: 8d210000 */ lw $at,0x0($t1)
/* f080cac: 24630004 */ addiu $v1,$v1,0x4
/* f080cb0: ac81fffc */ sw $at,-0x4($a0)
/* f080cb4: 968c0016 */ lhu $t4,0x16($s4)
/* f080cb8: 024c082a */ slt $at,$s2,$t4
/* f080cbc: 5420fff7 */ bnezl $at,.NB0f080c9c
/* f080cc0: 8e680008 */ lw $t0,0x8($s3)
.NB0f080cc4:
/* f080cc4: 10000002 */ beqz $zero,.NB0f080cd0
/* f080cc8: ae620008 */ sw $v0,0x8($s3)
/* f080ccc: afa00094 */ sw $zero,0x94($sp)
.NB0f080cd0:
/* f080cd0: 8faf0094 */ lw $t7,0x94($sp)
/* f080cd4: 51e000e1 */ beqzl $t7,.NB0f08105c
/* f080cd8: 8ec20014 */ lw $v0,0x14($s6)
/* f080cdc: 96820016 */ lhu $v0,0x16($s4)
/* f080ce0: 00009025 */ or $s2,$zero,$zero
/* f080ce4: 00008825 */ or $s1,$zero,$zero
/* f080ce8: 5840000e */ blezl $v0,.NB0f080d24
/* f080cec: 86990010 */ lh $t9,0x10($s4)
.NB0f080cf0:
/* f080cf0: 5a400007 */ blezl $s2,.NB0f080d10
/* f080cf4: 26520001 */ addiu $s2,$s2,0x1
/* f080cf8: 8e6d0008 */ lw $t5,0x8($s3)
/* f080cfc: 0012c080 */ sll $t8,$s2,0x2
/* f080d00: 01b87021 */ addu $t6,$t5,$t8
/* f080d04: a1c00003 */ sb $zero,0x3($t6)
/* f080d08: 96820016 */ lhu $v0,0x16($s4)
/* f080d0c: 26520001 */ addiu $s2,$s2,0x1
.NB0f080d10:
/* f080d10: 0242082a */ slt $at,$s2,$v0
/* f080d14: 1420fff6 */ bnez $at,.NB0f080cf0
/* f080d18: 00000000 */ sll $zero,$zero,0x0
/* f080d1c: 00009025 */ or $s2,$zero,$zero
/* f080d20: 86990010 */ lh $t9,0x10($s4)
.NB0f080d24:
/* f080d24: 5b2000cd */ blezl $t9,.NB0f08105c
/* f080d28: 8ec20014 */ lw $v0,0x14($s6)
/* f080d2c: 8e88000c */ lw $t0,0xc($s4)
.NB0f080d30:
/* f080d30: 8fad0098 */ lw $t5,0x98($sp)
/* f080d34: 01111021 */ addu $v0,$t0,$s1
/* f080d38: 844a0004 */ lh $t2,0x4($v0)
/* f080d3c: 84490000 */ lh $t1,0x0($v0)
/* f080d40: 844c0002 */ lh $t4,0x2($v0)
/* f080d44: 01495821 */ addu $t3,$t2,$t1
/* f080d48: 016c7821 */ addu $t7,$t3,$t4
/* f080d4c: 0fc48f8e */ jal rng2SetSeed
/* f080d50: 01ed2021 */ addu $a0,$t7,$t5
/* f080d54: 13c00031 */ beqz $s8,.NB0f080e1c
/* f080d58: 00000000 */ sll $zero,$zero,0x0
/* f080d5c: 4600a10d */ trunc.w.s $f4,$f20
/* f080d60: 8fa20084 */ lw $v0,0x84($sp)
/* f080d64: 8faa0088 */ lw $t2,0x88($sp)
/* f080d68: 00127080 */ sll $t6,$s2,0x2
/* f080d6c: 44032000 */ mfc1 $v1,$f4
/* f080d70: 0002c040 */ sll $t8,$v0,0x1
/* f080d74: 03001025 */ or $v0,$t8,$zero
/* f080d78: 0003cc00 */ sll $t9,$v1,0x10
/* f080d7c: 00194403 */ sra $t0,$t9,0x10
/* f080d80: 1140000f */ beqz $t2,.NB0f080dc0
/* f080d84: 01001825 */ or $v1,$t0,$zero
/* f080d88: 8e690000 */ lw $t1,0x0($s3)
/* f080d8c: 00125880 */ sll $t3,$s2,0x2
/* f080d90: 01725823 */ subu $t3,$t3,$s2
/* f080d94: 000b5880 */ sll $t3,$t3,0x2
/* f080d98: 012b6021 */ addu $t4,$t1,$t3
/* f080d9c: 01987821 */ addu $t7,$t4,$t8
/* f080da0: 85ed0000 */ lh $t5,0x0($t7)
/* f080da4: 01a8082a */ slt $at,$t5,$t0
/* f080da8: 14200003 */ bnez $at,.NB0f080db8
/* f080dac: 00000000 */ sll $zero,$zero,0x0
/* f080db0: 1000000f */ beqz $zero,.NB0f080df0
/* f080db4: 24100014 */ addiu $s0,$zero,0x14
.NB0f080db8:
/* f080db8: 1000000d */ beqz $zero,.NB0f080df0
/* f080dbc: 2410005a */ addiu $s0,$zero,0x5a
.NB0f080dc0:
/* f080dc0: 8e780000 */ lw $t8,0x0($s3)
/* f080dc4: 01d27023 */ subu $t6,$t6,$s2
/* f080dc8: 000e7080 */ sll $t6,$t6,0x2
/* f080dcc: 030ec821 */ addu $t9,$t8,$t6
/* f080dd0: 03224021 */ addu $t0,$t9,$v0
/* f080dd4: 850a0000 */ lh $t2,0x0($t0)
/* f080dd8: 2410005a */ addiu $s0,$zero,0x5a
/* f080ddc: 006a082a */ slt $at,$v1,$t2
/* f080de0: 14200003 */ bnez $at,.NB0f080df0
/* f080de4: 00000000 */ sll $zero,$zero,0x0
/* f080de8: 10000001 */ beqz $zero,.NB0f080df0
/* f080dec: 24100014 */ addiu $s0,$zero,0x14
.NB0f080df0:
/* f080df0: 0fc48f7c */ jal random2
/* f080df4: 00000000 */ sll $zero,$zero,0x0
/* f080df8: 24010064 */ addiu $at,$zero,0x64
/* f080dfc: 0041001b */ divu $zero,$v0,$at
/* f080e00: 00004810 */ mfhi $t1
/* f080e04: 0130082a */ slt $at,$t1,$s0
/* f080e08: 10200004 */ beqz $at,.NB0f080e1c
/* f080e0c: 00000000 */ sll $zero,$zero,0x0
/* f080e10: 8e6b0000 */ lw $t3,0x0($s3)
/* f080e14: 01716021 */ addu $t4,$t3,$s1
/* f080e18: a1800007 */ sb $zero,0x7($t4)
.NB0f080e1c:
/* f080e1c: 0fc48f7c */ jal random2
/* f080e20: 00000000 */ sll $zero,$zero,0x0
/* f080e24: 0057001b */ divu $zero,$v0,$s7
/* f080e28: 00006810 */ mfhi $t5
/* f080e2c: 25b8fff6 */ addiu $t8,$t5,-10
/* f080e30: 44983000 */ mtc1 $t8,$f6
/* f080e34: c7aa00b8 */ lwc1 $f10,0xb8($sp)
/* f080e38: 8e6f0000 */ lw $t7,0x0($s3)
/* f080e3c: 468034a0 */ cvt.s.w $f18,$f6
/* f080e40: 01f18021 */ addu $s0,$t7,$s1
/* f080e44: 86080000 */ lh $t0,0x0($s0)
/* f080e48: 16e00002 */ bnez $s7,.NB0f080e54
/* f080e4c: 00000000 */ sll $zero,$zero,0x0
/* f080e50: 0007000d */ break 0x7
.NB0f080e54:
/* f080e54: 460a9202 */ mul.s $f8,$f18,$f10
/* f080e58: 4600410d */ trunc.w.s $f4,$f8
/* f080e5c: 44192000 */ mfc1 $t9,$f4
/* f080e60: 00000000 */ sll $zero,$zero,0x0
/* f080e64: 01195021 */ addu $t2,$t0,$t9
/* f080e68: 0fc48f7c */ jal random2
/* f080e6c: a60a0000 */ sh $t2,0x0($s0)
/* f080e70: 0057001b */ divu $zero,$v0,$s7
/* f080e74: 00005810 */ mfhi $t3
/* f080e78: 256cfff6 */ addiu $t4,$t3,-10
/* f080e7c: 448c3000 */ mtc1 $t4,$f6
/* f080e80: c7aa00bc */ lwc1 $f10,0xbc($sp)
/* f080e84: 8e690000 */ lw $t1,0x0($s3)
/* f080e88: 468034a0 */ cvt.s.w $f18,$f6
/* f080e8c: 01318021 */ addu $s0,$t1,$s1
/* f080e90: 86180002 */ lh $t8,0x2($s0)
/* f080e94: 16e00002 */ bnez $s7,.NB0f080ea0
/* f080e98: 00000000 */ sll $zero,$zero,0x0
/* f080e9c: 0007000d */ break 0x7
.NB0f080ea0:
/* f080ea0: 460a9202 */ mul.s $f8,$f18,$f10
/* f080ea4: 4600410d */ trunc.w.s $f4,$f8
/* f080ea8: 440d2000 */ mfc1 $t5,$f4
/* f080eac: 00000000 */ sll $zero,$zero,0x0
/* f080eb0: 030d7021 */ addu $t6,$t8,$t5
/* f080eb4: 0fc48f7c */ jal random2
/* f080eb8: a60e0002 */ sh $t6,0x2($s0)
/* f080ebc: 0057001b */ divu $zero,$v0,$s7
/* f080ec0: 0000c810 */ mfhi $t9
/* f080ec4: 272afff6 */ addiu $t2,$t9,-10
/* f080ec8: 448a3000 */ mtc1 $t2,$f6
/* f080ecc: c7aa00c0 */ lwc1 $f10,0xc0($sp)
/* f080ed0: 8e680000 */ lw $t0,0x0($s3)
/* f080ed4: 468034a0 */ cvt.s.w $f18,$f6
/* f080ed8: 01118021 */ addu $s0,$t0,$s1
/* f080edc: 860c0004 */ lh $t4,0x4($s0)
/* f080ee0: 16e00002 */ bnez $s7,.NB0f080eec
/* f080ee4: 00000000 */ sll $zero,$zero,0x0
/* f080ee8: 0007000d */ break 0x7
.NB0f080eec:
/* f080eec: 460a9202 */ mul.s $f8,$f18,$f10
/* f080ef0: 4600410d */ trunc.w.s $f4,$f8
/* f080ef4: 440b2000 */ mfc1 $t3,$f4
/* f080ef8: 00000000 */ sll $zero,$zero,0x0
/* f080efc: 018b7821 */ addu $t7,$t4,$t3
/* f080f00: 12a0004f */ beqz $s5,.NB0f081040
/* f080f04: a60f0004 */ sh $t7,0x4($s0)
/* f080f08: c6a60004 */ lwc1 $f6,0x4($s5)
/* f080f0c: 8e780000 */ lw $t8,0x0($s3)
/* f080f10: 4600348d */ trunc.w.s $f18,$f6
/* f080f14: 03118021 */ addu $s0,$t8,$s1
/* f080f18: 86020000 */ lh $v0,0x0($s0)
/* f080f1c: 44039000 */ mfc1 $v1,$f18
/* f080f20: 00000000 */ sll $zero,$zero,0x0
/* f080f24: 00037400 */ sll $t6,$v1,0x10
/* f080f28: 000e4403 */ sra $t0,$t6,0x10
/* f080f2c: 0048082a */ slt $at,$v0,$t0
/* f080f30: 50200006 */ beqzl $at,.NB0f080f4c
/* f080f34: c6aa0008 */ lwc1 $f10,0x8($s5)
/* f080f38: a6030000 */ sh $v1,0x0($s0)
/* f080f3c: 8e790000 */ lw $t9,0x0($s3)
/* f080f40: 03318021 */ addu $s0,$t9,$s1
/* f080f44: 86020000 */ lh $v0,0x0($s0)
/* f080f48: c6aa0008 */ lwc1 $f10,0x8($s5)
.NB0f080f4c:
/* f080f4c: 4600520d */ trunc.w.s $f8,$f10
/* f080f50: 44034000 */ mfc1 $v1,$f8
/* f080f54: 00000000 */ sll $zero,$zero,0x0
/* f080f58: 00034c00 */ sll $t1,$v1,0x10
/* f080f5c: 00096403 */ sra $t4,$t1,0x10
/* f080f60: 0182082a */ slt $at,$t4,$v0
/* f080f64: 50200005 */ beqzl $at,.NB0f080f7c
/* f080f68: c6a4000c */ lwc1 $f4,0xc($s5)
/* f080f6c: a6030000 */ sh $v1,0x0($s0)
/* f080f70: 8e6b0000 */ lw $t3,0x0($s3)
/* f080f74: 01718021 */ addu $s0,$t3,$s1
/* f080f78: c6a4000c */ lwc1 $f4,0xc($s5)
.NB0f080f7c:
/* f080f7c: 86020002 */ lh $v0,0x2($s0)
/* f080f80: 4600218d */ trunc.w.s $f6,$f4
/* f080f84: 44033000 */ mfc1 $v1,$f6
/* f080f88: 00000000 */ sll $zero,$zero,0x0
/* f080f8c: 0003c400 */ sll $t8,$v1,0x10
/* f080f90: 00186c03 */ sra $t5,$t8,0x10
/* f080f94: 004d082a */ slt $at,$v0,$t5
/* f080f98: 50200006 */ beqzl $at,.NB0f080fb4
/* f080f9c: c6b20010 */ lwc1 $f18,0x10($s5)
/* f080fa0: a6030002 */ sh $v1,0x2($s0)
/* f080fa4: 8e6e0000 */ lw $t6,0x0($s3)
/* f080fa8: 01d18021 */ addu $s0,$t6,$s1
/* f080fac: 86020002 */ lh $v0,0x2($s0)
/* f080fb0: c6b20010 */ lwc1 $f18,0x10($s5)
.NB0f080fb4:
/* f080fb4: 4600928d */ trunc.w.s $f10,$f18
/* f080fb8: 44035000 */ mfc1 $v1,$f10
/* f080fbc: 00000000 */ sll $zero,$zero,0x0
/* f080fc0: 0003cc00 */ sll $t9,$v1,0x10
/* f080fc4: 00195403 */ sra $t2,$t9,0x10
/* f080fc8: 0142082a */ slt $at,$t2,$v0
/* f080fcc: 50200005 */ beqzl $at,.NB0f080fe4
/* f080fd0: c6a80014 */ lwc1 $f8,0x14($s5)
/* f080fd4: a6030002 */ sh $v1,0x2($s0)
/* f080fd8: 8e690000 */ lw $t1,0x0($s3)
/* f080fdc: 01318021 */ addu $s0,$t1,$s1
/* f080fe0: c6a80014 */ lwc1 $f8,0x14($s5)
.NB0f080fe4:
/* f080fe4: 86020004 */ lh $v0,0x4($s0)
/* f080fe8: 4600410d */ trunc.w.s $f4,$f8
/* f080fec: 44032000 */ mfc1 $v1,$f4
/* f080ff0: 00000000 */ sll $zero,$zero,0x0
/* f080ff4: 00035c00 */ sll $t3,$v1,0x10
/* f080ff8: 000b7c03 */ sra $t7,$t3,0x10
/* f080ffc: 004f082a */ slt $at,$v0,$t7
/* f081000: 50200006 */ beqzl $at,.NB0f08101c
/* f081004: c6a60018 */ lwc1 $f6,0x18($s5)
/* f081008: a6030004 */ sh $v1,0x4($s0)
/* f08100c: 8e780000 */ lw $t8,0x0($s3)
/* f081010: 03118021 */ addu $s0,$t8,$s1
/* f081014: 86020004 */ lh $v0,0x4($s0)
/* f081018: c6a60018 */ lwc1 $f6,0x18($s5)
.NB0f08101c:
/* f08101c: 4600348d */ trunc.w.s $f18,$f6
/* f081020: 44039000 */ mfc1 $v1,$f18
/* f081024: 00000000 */ sll $zero,$zero,0x0
/* f081028: 00037400 */ sll $t6,$v1,0x10
/* f08102c: 000e4403 */ sra $t0,$t6,0x10
/* f081030: 0102082a */ slt $at,$t0,$v0
/* f081034: 50200003 */ beqzl $at,.NB0f081044
/* f081038: 86990010 */ lh $t9,0x10($s4)
/* f08103c: a6030004 */ sh $v1,0x4($s0)
.NB0f081040:
/* f081040: 86990010 */ lh $t9,0x10($s4)
.NB0f081044:
/* f081044: 26520001 */ addiu $s2,$s2,0x1
/* f081048: 2631000c */ addiu $s1,$s1,0xc
/* f08104c: 0259082a */ slt $at,$s2,$t9
/* f081050: 5420ff37 */ bnezl $at,.NB0f080d30
/* f081054: 8e88000c */ lw $t0,0xc($s4)
.NB0f081058:
/* f081058: 8ec20014 */ lw $v0,0x14($s6)
.NB0f08105c:
/* f08105c: 1000000f */ beqz $zero,.NB0f08109c
/* f081060: 8fa600d8 */ lw $a2,0xd8($sp)
.NB0f081064:
/* f081064: 0c007601 */ jal model0001c784
/* f081068: 8cc40018 */ lw $a0,0x18($a2)
/* f08106c: 8ec20014 */ lw $v0,0x14($s6)
/* f081070: 1000000a */ beqz $zero,.NB0f08109c
/* f081074: 8fa600d8 */ lw $a2,0xd8($sp)
.NB0f081078:
/* f081078: 0c007614 */ jal model0001c7d0
/* f08107c: 8cc40018 */ lw $a0,0x18($a2)
/* f081080: 8ec20014 */ lw $v0,0x14($s6)
/* f081084: 10000005 */ beqz $zero,.NB0f08109c
/* f081088: 8fa600d8 */ lw $a2,0xd8($sp)
.NB0f08108c:
/* f08108c: 0c007627 */ jal modelAttachHead
/* f081090: 8cc40018 */ lw $a0,0x18($a2)
/* f081094: 8ec20014 */ lw $v0,0x14($s6)
/* f081098: 8fa600d8 */ lw $a2,0xd8($sp)
.NB0f08109c:
/* f08109c: 10400003 */ beqz $v0,.NB0f0810ac
/* f0810a0: 00000000 */ sll $zero,$zero,0x0
/* f0810a4: 1000000b */ beqz $zero,.NB0f0810d4
/* f0810a8: 0040b025 */ or $s6,$v0,$zero
.NB0f0810ac:
/* f0810ac: 12c00009 */ beqz $s6,.NB0f0810d4
/* f0810b0: 00000000 */ sll $zero,$zero,0x0
/* f0810b4: 8ec2000c */ lw $v0,0xc($s6)
.NB0f0810b8:
/* f0810b8: 50400004 */ beqzl $v0,.NB0f0810cc
/* f0810bc: 8ed60008 */ lw $s6,0x8($s6)
/* f0810c0: 10000004 */ beqz $zero,.NB0f0810d4
/* f0810c4: 0040b025 */ or $s6,$v0,$zero
/* f0810c8: 8ed60008 */ lw $s6,0x8($s6)
.NB0f0810cc:
/* f0810cc: 56c0fffa */ bnezl $s6,.NB0f0810b8
/* f0810d0: 8ec2000c */ lw $v0,0xc($s6)
.NB0f0810d4:
/* f0810d4: 56c0fe67 */ bnezl $s6,.NB0f080a74
/* f0810d8: 96c20000 */ lhu $v0,0x0($s6)
/* f0810dc: 90c20002 */ lbu $v0,0x2($a2)
.NB0f0810e0:
/* f0810e0: 8fa90094 */ lw $t1,0x94($sp)
/* f0810e4: 304a0080 */ andi $t2,$v0,0x80
/* f0810e8: 5540000a */ bnezl $t2,.NB0f081114
/* f0810ec: 8fbf0044 */ lw $ra,0x44($sp)
/* f0810f0: 15200006 */ bnez $t1,.NB0f08110c
/* f0810f4: 344c0080 */ ori $t4,$v0,0x80
/* f0810f8: 24040001 */ addiu $a0,$zero,0x1
/* f0810fc: 0fc220bc */ jal func0f089a94
/* f081100: 8fa500a0 */ lw $a1,0xa0($sp)
/* f081104: 10000003 */ beqz $zero,.NB0f081114
/* f081108: 8fbf0044 */ lw $ra,0x44($sp)
.NB0f08110c:
/* f08110c: a0cc0002 */ sb $t4,0x2($a2)
/* f081110: 8fbf0044 */ lw $ra,0x44($sp)
.NB0f081114:
/* f081114: d7b40018 */ ldc1 $f20,0x18($sp)
/* f081118: 8fb00020 */ lw $s0,0x20($sp)
/* f08111c: 8fb10024 */ lw $s1,0x24($sp)
/* f081120: 8fb20028 */ lw $s2,0x28($sp)
/* f081124: 8fb3002c */ lw $s3,0x2c($sp)
/* f081128: 8fb40030 */ lw $s4,0x30($sp)
/* f08112c: 8fb50034 */ lw $s5,0x34($sp)
/* f081130: 8fb60038 */ lw $s6,0x38($sp)
/* f081134: 8fb7003c */ lw $s7,0x3c($sp)
/* f081138: 8fbe0040 */ lw $s8,0x40($sp)
/* f08113c: 03e00008 */ jr $ra
/* f081140: 27bd00d8 */ addiu $sp,$sp,0xd8
);
#endif
u32 var8006abb0 = 0x00000000;
u32 var8006abb4 = 0x00000000;
u32 var8006abb8 = 0x00000000;
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f0826cc
.late_rodata
glabel var7f1aa83c
.word 0x40555555
glabel var7f1aa840
.word 0x40d55555
glabel var7f1aa844
.word 0x40d55555
glabel var7f1aa848
.word 0x3cf13c65
glabel var7f1aa84c
.word 0x3c713c65
glabel var7f1aa850
.word 0x3cf13c65
glabel var7f1aa854
.word 0x3c713c65
glabel var7f1aa858
.word 0x3cf13c65
glabel var7f1aa85c
.word 0x3c713c65
.text
/* f0826cc: 27bdffa8 */ addiu $sp,$sp,-88
/* f0826d0: 3c0f8007 */ lui $t7,%hi(var8006abb0)
/* f0826d4: afbf002c */ sw $ra,0x2c($sp)
/* f0826d8: afb00028 */ sw $s0,0x28($sp)
/* f0826dc: f7b60020 */ sdc1 $f22,0x20($sp)
/* f0826e0: f7b40018 */ sdc1 $f20,0x18($sp)
/* f0826e4: afa5005c */ sw $a1,0x5c($sp)
/* f0826e8: 25efabb0 */ addiu $t7,$t7,%lo(var8006abb0)
/* f0826ec: 8de10000 */ lw $at,0x0($t7)
/* f0826f0: 27ae0040 */ addiu $t6,$sp,0x40
/* f0826f4: 8de80004 */ lw $t0,0x4($t7)
/* f0826f8: adc10000 */ sw $at,0x0($t6)
/* f0826fc: 8de10008 */ lw $at,0x8($t7)
/* f082700: 00803025 */ or $a2,$a0,$zero
/* f082704: adc80004 */ sw $t0,0x4($t6)
/* f082708: adc10008 */ sw $at,0x8($t6)
/* f08270c: 8c840014 */ lw $a0,0x14($a0)
/* f082710: 00008025 */ or $s0,$zero,$zero
/* f082714: 0fc1a179 */ jal func0f0685e4
/* f082718: afa60058 */ sw $a2,0x58($sp)
/* f08271c: 8fa60058 */ lw $a2,0x58($sp)
/* f082720: 8cc20040 */ lw $v0,0x40($a2)
/* f082724: 30490040 */ andi $t1,$v0,0x40
/* f082728: 11200004 */ beqz $t1,.L0f08273c
/* f08272c: 304b0080 */ andi $t3,$v0,0x80
/* f082730: 8cca0048 */ lw $t2,0x48($a2)
/* f082734: 10000004 */ b .L0f082748
/* f082738: 8d500044 */ lw $s0,0x44($t2)
.L0f08273c:
/* f08273c: 11600002 */ beqz $t3,.L0f082748
/* f082740: 00000000 */ nop
/* f082744: 8cd00048 */ lw $s0,0x48($a2)
.L0f082748:
/* f082748: 52000081 */ beqzl $s0,.L0f082950
/* f08274c: 8fbf002c */ lw $ra,0x2c($sp)
/* f082750: 0c004b70 */ jal random
/* f082754: 00000000 */ nop
/* f082758: 3c012f80 */ lui $at,0x2f80
/* f08275c: 44822000 */ mtc1 $v0,$f4
/* f082760: 4481a000 */ mtc1 $at,$f20
/* f082764: 3c017f1b */ lui $at,%hi(var7f1aa83c)
/* f082768: c436a83c */ lwc1 $f22,%lo(var7f1aa83c)($at)
/* f08276c: 04410005 */ bgez $v0,.L0f082784
/* f082770: 468021a0 */ cvt.s.w $f6,$f4
/* f082774: 3c014f80 */ lui $at,0x4f80
/* f082778: 44814000 */ mtc1 $at,$f8
/* f08277c: 00000000 */ nop
/* f082780: 46083180 */ add.s $f6,$f6,$f8
.L0f082784:
/* f082784: 46143282 */ mul.s $f10,$f6,$f20
/* f082788: 3c017f1b */ lui $at,%hi(var7f1aa840)
/* f08278c: c430a840 */ lwc1 $f16,%lo(var7f1aa840)($at)
/* f082790: 46105482 */ mul.s $f18,$f10,$f16
/* f082794: 46169101 */ sub.s $f4,$f18,$f22
/* f082798: 0c004b70 */ jal random
/* f08279c: e6040004 */ swc1 $f4,0x4($s0)
/* f0827a0: 44824000 */ mtc1 $v0,$f8
/* f0827a4: 04410005 */ bgez $v0,.L0f0827bc
/* f0827a8: 468041a0 */ cvt.s.w $f6,$f8
/* f0827ac: 3c014f80 */ lui $at,0x4f80
/* f0827b0: 44815000 */ mtc1 $at,$f10
/* f0827b4: 00000000 */ nop
/* f0827b8: 460a3180 */ add.s $f6,$f6,$f10
.L0f0827bc:
/* f0827bc: 46143402 */ mul.s $f16,$f6,$f20
/* f0827c0: 00000000 */ nop
/* f0827c4: 46168482 */ mul.s $f18,$f16,$f22
/* f0827c8: 46169100 */ add.s $f4,$f18,$f22
/* f0827cc: 0c004b70 */ jal random
/* f0827d0: e6040008 */ swc1 $f4,0x8($s0)
/* f0827d4: 44824000 */ mtc1 $v0,$f8
/* f0827d8: 3c014f80 */ lui $at,0x4f80
/* f0827dc: 04410004 */ bgez $v0,.L0f0827f0
/* f0827e0: 468042a0 */ cvt.s.w $f10,$f8
/* f0827e4: 44813000 */ mtc1 $at,$f6
/* f0827e8: 00000000 */ nop
/* f0827ec: 46065280 */ add.s $f10,$f10,$f6
.L0f0827f0:
/* f0827f0: 46145402 */ mul.s $f16,$f10,$f20
/* f0827f4: 3c017f1b */ lui $at,%hi(var7f1aa844)
/* f0827f8: c432a844 */ lwc1 $f18,%lo(var7f1aa844)($at)
/* f0827fc: 46128102 */ mul.s $f4,$f16,$f18
/* f082800: 46162201 */ sub.s $f8,$f4,$f22
/* f082804: 0c004b70 */ jal random
/* f082808: e608000c */ swc1 $f8,0xc($s0)
/* f08280c: 44823000 */ mtc1 $v0,$f6
/* f082810: 3c014f80 */ lui $at,0x4f80
/* f082814: 04410004 */ bgez $v0,.L0f082828
/* f082818: 468032a0 */ cvt.s.w $f10,$f6
/* f08281c: 44818000 */ mtc1 $at,$f16
/* f082820: 00000000 */ nop
/* f082824: 46105280 */ add.s $f10,$f10,$f16
.L0f082828:
/* f082828: 46145482 */ mul.s $f18,$f10,$f20
/* f08282c: 3c017f1b */ lui $at,%hi(var7f1aa848)
/* f082830: c424a848 */ lwc1 $f4,%lo(var7f1aa848)($at)
/* f082834: 3c017f1b */ lui $at,%hi(var7f1aa84c)
/* f082838: c426a84c */ lwc1 $f6,%lo(var7f1aa84c)($at)
/* f08283c: 46049202 */ mul.s $f8,$f18,$f4
/* f082840: 46064401 */ sub.s $f16,$f8,$f6
/* f082844: 0c004b70 */ jal random
/* f082848: e7b00040 */ swc1 $f16,0x40($sp)
/* f08284c: 44825000 */ mtc1 $v0,$f10
/* f082850: 3c014f80 */ lui $at,0x4f80
/* f082854: 04410004 */ bgez $v0,.L0f082868
/* f082858: 468054a0 */ cvt.s.w $f18,$f10
/* f08285c: 44812000 */ mtc1 $at,$f4
/* f082860: 00000000 */ nop
/* f082864: 46049480 */ add.s $f18,$f18,$f4
.L0f082868:
/* f082868: 46149202 */ mul.s $f8,$f18,$f20
/* f08286c: 3c017f1b */ lui $at,%hi(var7f1aa850)
/* f082870: c426a850 */ lwc1 $f6,%lo(var7f1aa850)($at)
/* f082874: 3c017f1b */ lui $at,%hi(var7f1aa854)
/* f082878: c42aa854 */ lwc1 $f10,%lo(var7f1aa854)($at)
/* f08287c: 46064402 */ mul.s $f16,$f8,$f6
/* f082880: 460a8101 */ sub.s $f4,$f16,$f10
/* f082884: 0c004b70 */ jal random
/* f082888: e7a40044 */ swc1 $f4,0x44($sp)
/* f08288c: 44829000 */ mtc1 $v0,$f18
/* f082890: 3c014f80 */ lui $at,0x4f80
/* f082894: 04410004 */ bgez $v0,.L0f0828a8
/* f082898: 46809220 */ cvt.s.w $f8,$f18
/* f08289c: 44813000 */ mtc1 $at,$f6
/* f0828a0: 00000000 */ nop
/* f0828a4: 46064200 */ add.s $f8,$f8,$f6
.L0f0828a8:
/* f0828a8: 46144402 */ mul.s $f16,$f8,$f20
/* f0828ac: 3c017f1b */ lui $at,%hi(var7f1aa858)
/* f0828b0: c42aa858 */ lwc1 $f10,%lo(var7f1aa858)($at)
/* f0828b4: 3c017f1b */ lui $at,%hi(var7f1aa85c)
/* f0828b8: c432a85c */ lwc1 $f18,%lo(var7f1aa85c)($at)
/* f0828bc: 27a40040 */ addiu $a0,$sp,0x40
/* f0828c0: 26050020 */ addiu $a1,$s0,0x20
/* f0828c4: 460a8102 */ mul.s $f4,$f16,$f10
/* f0828c8: 46122181 */ sub.s $f6,$f4,$f18
/* f0828cc: 0c005923 */ jal mtx4LoadRotation
/* f0828d0: e7a60048 */ swc1 $f6,0x48($sp)
/* f0828d4: 8e0c0000 */ lw $t4,0x0($s0)
/* f0828d8: 8fa2005c */ lw $v0,0x5c($sp)
/* f0828dc: 358d0001 */ ori $t5,$t4,0x1
/* f0828e0: ae0d0000 */ sw $t5,0x0($s0)
/* f0828e4: c4480000 */ lwc1 $f8,0x0($v0)
/* f0828e8: e7a8004c */ swc1 $f8,0x4c($sp)
/* f0828ec: c4500004 */ lwc1 $f16,0x4($v0)
/* f0828f0: e7b00050 */ swc1 $f16,0x50($sp)
/* f0828f4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f0828f8: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f0828fc: e7aa0054 */ swc1 $f10,0x54($sp)
/* f082900: 00402025 */ or $a0,$v0,$zero
/* f082904: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f082908: 27a5004c */ addiu $a1,$sp,0x4c
/* f08290c: c7b2004c */ lwc1 $f18,0x4c($sp)
/* f082910: c6040004 */ lwc1 $f4,0x4($s0)
/* f082914: c610000c */ lwc1 $f16,0xc($s0)
/* f082918: 4612b182 */ mul.s $f6,$f22,$f18
/* f08291c: 3c19800a */ lui $t9,%hi(g_Vars+0x284)
/* f082920: 240e0001 */ addiu $t6,$zero,0x1
/* f082924: 46062200 */ add.s $f8,$f4,$f6
/* f082928: e6080004 */ swc1 $f8,0x4($s0)
/* f08292c: c7aa0054 */ lwc1 $f10,0x54($sp)
/* f082930: 460ab482 */ mul.s $f18,$f22,$f10
/* f082934: 46128100 */ add.s $f4,$f16,$f18
/* f082938: e604000c */ swc1 $f4,0xc($s0)
/* f08293c: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9)
/* f082940: 8f3800bc */ lw $t8,0xbc($t9)
/* f082944: ae0e0090 */ sw $t6,0x90($s0)
/* f082948: ae180088 */ sw $t8,0x88($s0)
/* f08294c: 8fbf002c */ lw $ra,0x2c($sp)
.L0f082950:
/* f082950: d7b40018 */ ldc1 $f20,0x18($sp)
/* f082954: d7b60020 */ ldc1 $f22,0x20($sp)
/* f082958: 8fb00028 */ lw $s0,0x28($sp)
/* f08295c: 03e00008 */ jr $ra
/* f082960: 27bd0058 */ addiu $sp,$sp,0x58
);
#else
GLOBAL_ASM(
glabel func0f0826cc
.late_rodata
glabel var7f1aa83c
.word 0x40555555
glabel var7f1aa840
.word 0x40d55555
glabel var7f1aa844
.word 0x40d55555
glabel var7f1aa848
.word 0x3cc907a9
glabel var7f1aa84c
.word 0x3c4907a9
glabel var7f1aa850
.word 0x3cc907a9
glabel var7f1aa854
.word 0x3c4907a9
glabel var7f1aa858
.word 0x3cc907a9
glabel var7f1aa85c
.word 0x3c4907a9
.text
/* f0826cc: 27bdffa8 */ addiu $sp,$sp,-88
/* f0826d0: 3c0f8007 */ lui $t7,%hi(var8006abb0)
/* f0826d4: afbf002c */ sw $ra,0x2c($sp)
/* f0826d8: afb00028 */ sw $s0,0x28($sp)
/* f0826dc: f7b60020 */ sdc1 $f22,0x20($sp)
/* f0826e0: f7b40018 */ sdc1 $f20,0x18($sp)
/* f0826e4: afa5005c */ sw $a1,0x5c($sp)
/* f0826e8: 25efabb0 */ addiu $t7,$t7,%lo(var8006abb0)
/* f0826ec: 8de10000 */ lw $at,0x0($t7)
/* f0826f0: 27ae0040 */ addiu $t6,$sp,0x40
/* f0826f4: 8de80004 */ lw $t0,0x4($t7)
/* f0826f8: adc10000 */ sw $at,0x0($t6)
/* f0826fc: 8de10008 */ lw $at,0x8($t7)
/* f082700: 00803025 */ or $a2,$a0,$zero
/* f082704: adc80004 */ sw $t0,0x4($t6)
/* f082708: adc10008 */ sw $at,0x8($t6)
/* f08270c: 8c840014 */ lw $a0,0x14($a0)
/* f082710: 00008025 */ or $s0,$zero,$zero
/* f082714: 0fc1a179 */ jal func0f0685e4
/* f082718: afa60058 */ sw $a2,0x58($sp)
/* f08271c: 8fa60058 */ lw $a2,0x58($sp)
/* f082720: 8cc20040 */ lw $v0,0x40($a2)
/* f082724: 30490040 */ andi $t1,$v0,0x40
/* f082728: 11200004 */ beqz $t1,.L0f08273c
/* f08272c: 304b0080 */ andi $t3,$v0,0x80
/* f082730: 8cca0048 */ lw $t2,0x48($a2)
/* f082734: 10000004 */ b .L0f082748
/* f082738: 8d500044 */ lw $s0,0x44($t2)
.L0f08273c:
/* f08273c: 11600002 */ beqz $t3,.L0f082748
/* f082740: 00000000 */ nop
/* f082744: 8cd00048 */ lw $s0,0x48($a2)
.L0f082748:
/* f082748: 52000081 */ beqzl $s0,.L0f082950
/* f08274c: 8fbf002c */ lw $ra,0x2c($sp)
/* f082750: 0c004b70 */ jal random
/* f082754: 00000000 */ nop
/* f082758: 3c012f80 */ lui $at,0x2f80
/* f08275c: 44822000 */ mtc1 $v0,$f4
/* f082760: 4481a000 */ mtc1 $at,$f20
/* f082764: 3c017f1b */ lui $at,%hi(var7f1aa83c)
/* f082768: c436a83c */ lwc1 $f22,%lo(var7f1aa83c)($at)
/* f08276c: 04410005 */ bgez $v0,.L0f082784
/* f082770: 468021a0 */ cvt.s.w $f6,$f4
/* f082774: 3c014f80 */ lui $at,0x4f80
/* f082778: 44814000 */ mtc1 $at,$f8
/* f08277c: 00000000 */ nop
/* f082780: 46083180 */ add.s $f6,$f6,$f8
.L0f082784:
/* f082784: 46143282 */ mul.s $f10,$f6,$f20
/* f082788: 3c017f1b */ lui $at,%hi(var7f1aa840)
/* f08278c: c430a840 */ lwc1 $f16,%lo(var7f1aa840)($at)
/* f082790: 46105482 */ mul.s $f18,$f10,$f16
/* f082794: 46169101 */ sub.s $f4,$f18,$f22
/* f082798: 0c004b70 */ jal random
/* f08279c: e6040004 */ swc1 $f4,0x4($s0)
/* f0827a0: 44824000 */ mtc1 $v0,$f8
/* f0827a4: 04410005 */ bgez $v0,.L0f0827bc
/* f0827a8: 468041a0 */ cvt.s.w $f6,$f8
/* f0827ac: 3c014f80 */ lui $at,0x4f80
/* f0827b0: 44815000 */ mtc1 $at,$f10
/* f0827b4: 00000000 */ nop
/* f0827b8: 460a3180 */ add.s $f6,$f6,$f10
.L0f0827bc:
/* f0827bc: 46143402 */ mul.s $f16,$f6,$f20
/* f0827c0: 00000000 */ nop
/* f0827c4: 46168482 */ mul.s $f18,$f16,$f22
/* f0827c8: 46169100 */ add.s $f4,$f18,$f22
/* f0827cc: 0c004b70 */ jal random
/* f0827d0: e6040008 */ swc1 $f4,0x8($s0)
/* f0827d4: 44824000 */ mtc1 $v0,$f8
/* f0827d8: 3c014f80 */ lui $at,0x4f80
/* f0827dc: 04410004 */ bgez $v0,.L0f0827f0
/* f0827e0: 468042a0 */ cvt.s.w $f10,$f8
/* f0827e4: 44813000 */ mtc1 $at,$f6
/* f0827e8: 00000000 */ nop
/* f0827ec: 46065280 */ add.s $f10,$f10,$f6
.L0f0827f0:
/* f0827f0: 46145402 */ mul.s $f16,$f10,$f20
/* f0827f4: 3c017f1b */ lui $at,%hi(var7f1aa844)
/* f0827f8: c432a844 */ lwc1 $f18,%lo(var7f1aa844)($at)
/* f0827fc: 46128102 */ mul.s $f4,$f16,$f18
/* f082800: 46162201 */ sub.s $f8,$f4,$f22
/* f082804: 0c004b70 */ jal random
/* f082808: e608000c */ swc1 $f8,0xc($s0)
/* f08280c: 44823000 */ mtc1 $v0,$f6
/* f082810: 3c014f80 */ lui $at,0x4f80
/* f082814: 04410004 */ bgez $v0,.L0f082828
/* f082818: 468032a0 */ cvt.s.w $f10,$f6
/* f08281c: 44818000 */ mtc1 $at,$f16
/* f082820: 00000000 */ nop
/* f082824: 46105280 */ add.s $f10,$f10,$f16
.L0f082828:
/* f082828: 46145482 */ mul.s $f18,$f10,$f20
/* f08282c: 3c017f1b */ lui $at,%hi(var7f1aa848)
/* f082830: c424a848 */ lwc1 $f4,%lo(var7f1aa848)($at)
/* f082834: 3c017f1b */ lui $at,%hi(var7f1aa84c)
/* f082838: c426a84c */ lwc1 $f6,%lo(var7f1aa84c)($at)
/* f08283c: 46049202 */ mul.s $f8,$f18,$f4
/* f082840: 46064401 */ sub.s $f16,$f8,$f6
/* f082844: 0c004b70 */ jal random
/* f082848: e7b00040 */ swc1 $f16,0x40($sp)
/* f08284c: 44825000 */ mtc1 $v0,$f10
/* f082850: 3c014f80 */ lui $at,0x4f80
/* f082854: 04410004 */ bgez $v0,.L0f082868
/* f082858: 468054a0 */ cvt.s.w $f18,$f10
/* f08285c: 44812000 */ mtc1 $at,$f4
/* f082860: 00000000 */ nop
/* f082864: 46049480 */ add.s $f18,$f18,$f4
.L0f082868:
/* f082868: 46149202 */ mul.s $f8,$f18,$f20
/* f08286c: 3c017f1b */ lui $at,%hi(var7f1aa850)
/* f082870: c426a850 */ lwc1 $f6,%lo(var7f1aa850)($at)
/* f082874: 3c017f1b */ lui $at,%hi(var7f1aa854)
/* f082878: c42aa854 */ lwc1 $f10,%lo(var7f1aa854)($at)
/* f08287c: 46064402 */ mul.s $f16,$f8,$f6
/* f082880: 460a8101 */ sub.s $f4,$f16,$f10
/* f082884: 0c004b70 */ jal random
/* f082888: e7a40044 */ swc1 $f4,0x44($sp)
/* f08288c: 44829000 */ mtc1 $v0,$f18
/* f082890: 3c014f80 */ lui $at,0x4f80
/* f082894: 04410004 */ bgez $v0,.L0f0828a8
/* f082898: 46809220 */ cvt.s.w $f8,$f18
/* f08289c: 44813000 */ mtc1 $at,$f6
/* f0828a0: 00000000 */ nop
/* f0828a4: 46064200 */ add.s $f8,$f8,$f6
.L0f0828a8:
/* f0828a8: 46144402 */ mul.s $f16,$f8,$f20
/* f0828ac: 3c017f1b */ lui $at,%hi(var7f1aa858)
/* f0828b0: c42aa858 */ lwc1 $f10,%lo(var7f1aa858)($at)
/* f0828b4: 3c017f1b */ lui $at,%hi(var7f1aa85c)
/* f0828b8: c432a85c */ lwc1 $f18,%lo(var7f1aa85c)($at)
/* f0828bc: 27a40040 */ addiu $a0,$sp,0x40
/* f0828c0: 26050020 */ addiu $a1,$s0,0x20
/* f0828c4: 460a8102 */ mul.s $f4,$f16,$f10
/* f0828c8: 46122181 */ sub.s $f6,$f4,$f18
/* f0828cc: 0c005923 */ jal mtx4LoadRotation
/* f0828d0: e7a60048 */ swc1 $f6,0x48($sp)
/* f0828d4: 8e0c0000 */ lw $t4,0x0($s0)
/* f0828d8: 8fa2005c */ lw $v0,0x5c($sp)
/* f0828dc: 358d0001 */ ori $t5,$t4,0x1
/* f0828e0: ae0d0000 */ sw $t5,0x0($s0)
/* f0828e4: c4480000 */ lwc1 $f8,0x0($v0)
/* f0828e8: e7a8004c */ swc1 $f8,0x4c($sp)
/* f0828ec: c4500004 */ lwc1 $f16,0x4($v0)
/* f0828f0: e7b00050 */ swc1 $f16,0x50($sp)
/* f0828f4: c44a0008 */ lwc1 $f10,0x8($v0)
/* f0828f8: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f0828fc: e7aa0054 */ swc1 $f10,0x54($sp)
/* f082900: 00402025 */ or $a0,$v0,$zero
/* f082904: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f082908: 27a5004c */ addiu $a1,$sp,0x4c
/* f08290c: c7b2004c */ lwc1 $f18,0x4c($sp)
/* f082910: c6040004 */ lwc1 $f4,0x4($s0)
/* f082914: c610000c */ lwc1 $f16,0xc($s0)
/* f082918: 4612b182 */ mul.s $f6,$f22,$f18
/* f08291c: 3c19800a */ lui $t9,%hi(g_Vars+0x284)
/* f082920: 240e0001 */ addiu $t6,$zero,0x1
/* f082924: 46062200 */ add.s $f8,$f4,$f6
/* f082928: e6080004 */ swc1 $f8,0x4($s0)
/* f08292c: c7aa0054 */ lwc1 $f10,0x54($sp)
/* f082930: 460ab482 */ mul.s $f18,$f22,$f10
/* f082934: 46128100 */ add.s $f4,$f16,$f18
/* f082938: e604000c */ swc1 $f4,0xc($s0)
/* f08293c: 8f39a244 */ lw $t9,%lo(g_Vars+0x284)($t9)
/* f082940: 8f3800bc */ lw $t8,0xbc($t9)
/* f082944: ae0e0090 */ sw $t6,0x90($s0)
/* f082948: ae180088 */ sw $t8,0x88($s0)
/* f08294c: 8fbf002c */ lw $ra,0x2c($sp)
.L0f082950:
/* f082950: d7b40018 */ ldc1 $f20,0x18($sp)
/* f082954: d7b60020 */ ldc1 $f22,0x20($sp)
/* f082958: 8fb00028 */ lw $s0,0x28($sp)
/* f08295c: 03e00008 */ jr $ra
/* f082960: 27bd0058 */ addiu $sp,$sp,0x58
);
#endif
void objSetDropped(struct prop *prop, u32 droptype)
{
struct prop *parent = prop->parent;
if (parent) {
struct defaultobj *obj = prop->obj;
func0f0685e4(prop);
if ((obj->hidden & OBJHFLAG_00000040) && obj->projectile->unk044) {
obj->projectile->unk044->droptype = droptype;
} else if (obj->hidden & OBJHFLAG_AIRBORNE) {
obj->projectile->droptype = droptype;
}
if (g_Vars.lvmpbotlevel
&& obj->type == OBJTYPE_WEAPON
&& obj->modelnum != MODEL_CHRBRIEFCASE
&& obj->modelnum != MODEL_CHRDATATHIEF) {
obj->flags3 |= OBJFLAG3_CANHARDFREE;
}
}
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f082a1c
.late_rodata
glabel var7f1aa860
.word 0x3f4ccccd
glabel var7f1aa864
.word 0x3b360b61
glabel var7f1aa868
.word 0x382fa9a2
glabel var7f1aa86c
.word 0x3f781062
glabel var7f1aa870
.word 0x3da0d2ee
glabel var7f1aa874
.word 0x40d55555
glabel var7f1aa878
.word 0x3c638e39
glabel var7f1aa87c
.word 0x395b940a
glabel var7f1aa880
.word 0x3f73f7cf
glabel var7f1aa884
.word 0x3da0d2ee
glabel var7f1aa888
.word 0x40d55555
glabel var7f1aa88c
.word 0x3dcccccd
glabel var7f1aa890
.word 0x3d638e39
glabel var7f1aa894
.word 0x3a5b940a
glabel var7f1aa898
.word 0x3f73f7cf
glabel var7f1aa89c
.word 0x3c20d2ee
glabel var7f1aa8a0
.word 0x3f555555
glabel var7f1aa8a4
.word 0x3dcccccd
glabel var7f1aa8a8
.word 0x3d638e39
glabel var7f1aa8ac
.word 0x3a5b940a
glabel var7f1aa8b0
.word 0x3f73f7cf
glabel var7f1aa8b4
.word 0x3ca0d2ee
glabel var7f1aa8b8
.word 0x3f555555
glabel var7f1aa8bc
.word 0x3dcccccd
glabel var7f1aa8c0
.word 0x3d638e39
glabel var7f1aa8c4
.word 0x39db940a
glabel var7f1aa8c8
.word 0x3f73f7cf
glabel var7f1aa8cc
.word 0x3da0d2ee
glabel var7f1aa8d0
.word 0x3fd55555
.text
/* f082a1c: 27bdffd0 */ addiu $sp,$sp,-48
/* f082a20: afa60038 */ sw $a2,0x38($sp)
/* f082a24: 00803025 */ or $a2,$a0,$zero
/* f082a28: afbf0014 */ sw $ra,0x14($sp)
/* f082a2c: afa40030 */ sw $a0,0x30($sp)
/* f082a30: afa7003c */ sw $a3,0x3c($sp)
/* f082a34: 8c840014 */ lw $a0,0x14($a0)
/* f082a38: afa60030 */ sw $a2,0x30($sp)
/* f082a3c: afa50034 */ sw $a1,0x34($sp)
/* f082a40: 0fc1a179 */ jal func0f0685e4
/* f082a44: afa0002c */ sw $zero,0x2c($sp)
/* f082a48: 8fa60030 */ lw $a2,0x30($sp)
/* f082a4c: 8fa3002c */ lw $v1,0x2c($sp)
/* f082a50: 8fa50034 */ lw $a1,0x34($sp)
/* f082a54: 8cc20040 */ lw $v0,0x40($a2)
/* f082a58: c7a00038 */ lwc1 $f0,0x38($sp)
/* f082a5c: 304e0040 */ andi $t6,$v0,0x40
/* f082a60: 11c00004 */ beqz $t6,.L0f082a74
/* f082a64: 30580080 */ andi $t8,$v0,0x80
/* f082a68: 8ccf0048 */ lw $t7,0x48($a2)
/* f082a6c: 10000004 */ b .L0f082a80
/* f082a70: 8de30044 */ lw $v1,0x44($t7)
.L0f082a74:
/* f082a74: 13000002 */ beqz $t8,.L0f082a80
/* f082a78: 00000000 */ nop
/* f082a7c: 8cc30048 */ lw $v1,0x48($a2)
.L0f082a80:
/* f082a80: 506000b9 */ beqzl $v1,.L0f082d68
/* f082a84: 8fbf0014 */ lw $ra,0x14($sp)
/* f082a88: 8c790000 */ lw $t9,0x0($v1)
/* f082a8c: 37280800 */ ori $t0,$t9,0x800
/* f082a90: ac680000 */ sw $t0,0x0($v1)
/* f082a94: 8fa9003c */ lw $t1,0x3c($sp)
/* f082a98: 5120000f */ beqzl $t1,.L0f082ad8
/* f082a9c: c4aa0000 */ lwc1 $f10,0x0($a1)
/* f082aa0: c4640004 */ lwc1 $f4,0x4($v1)
/* f082aa4: c4a60000 */ lwc1 $f6,0x0($a1)
/* f082aa8: c46a0008 */ lwc1 $f10,0x8($v1)
/* f082aac: 46062200 */ add.s $f8,$f4,$f6
/* f082ab0: c464000c */ lwc1 $f4,0xc($v1)
/* f082ab4: e4680004 */ swc1 $f8,0x4($v1)
/* f082ab8: c4b00004 */ lwc1 $f16,0x4($a1)
/* f082abc: 46105480 */ add.s $f18,$f10,$f16
/* f082ac0: e4720008 */ swc1 $f18,0x8($v1)
/* f082ac4: c4a60008 */ lwc1 $f6,0x8($a1)
/* f082ac8: 46062200 */ add.s $f8,$f4,$f6
/* f082acc: 10000007 */ b .L0f082aec
/* f082ad0: e468000c */ swc1 $f8,0xc($v1)
/* f082ad4: c4aa0000 */ lwc1 $f10,0x0($a1)
.L0f082ad8:
/* f082ad8: e46a0004 */ swc1 $f10,0x4($v1)
/* f082adc: c4b00004 */ lwc1 $f16,0x4($a1)
/* f082ae0: e4700008 */ swc1 $f16,0x8($v1)
/* f082ae4: c4b20008 */ lwc1 $f18,0x8($a1)
/* f082ae8: e472000c */ swc1 $f18,0xc($v1)
.L0f082aec:
/* f082aec: 8faa0040 */ lw $t2,0x40($sp)
/* f082af0: 51400006 */ beqzl $t2,.L0f082b0c
/* f082af4: e46000dc */ swc1 $f0,0xdc($v1)
/* f082af8: c46400dc */ lwc1 $f4,0xdc($v1)
/* f082afc: 46002180 */ add.s $f6,$f4,$f0
/* f082b00: 10000002 */ b .L0f082b0c
/* f082b04: e46600dc */ swc1 $f6,0xdc($v1)
/* f082b08: e46000dc */ swc1 $f0,0xdc($v1)
.L0f082b0c:
/* f082b0c: 90c20003 */ lbu $v0,0x3($a2)
/* f082b10: 24010035 */ addiu $at,$zero,0x35
/* f082b14: 10410003 */ beq $v0,$at,.L0f082b24
/* f082b18: 24010033 */ addiu $at,$zero,0x33
/* f082b1c: 1441002b */ bne $v0,$at,.L0f082bcc
/* f082b20: 00c02025 */ or $a0,$a2,$zero
.L0f082b24:
/* f082b24: 8ccb0008 */ lw $t3,0x8($a2)
/* f082b28: 3c013f00 */ lui $at,0x3f00
/* f082b2c: 000b6080 */ sll $t4,$t3,0x2
/* f082b30: 05830015 */ bgezl $t4,.L0f082b88
/* f082b34: 44814000 */ mtc1 $at,$f8
/* f082b38: 3c017f1b */ lui $at,%hi(var7f1aa860)
/* f082b3c: c428a860 */ lwc1 $f8,%lo(var7f1aa860)($at)
/* f082b40: 3c017f1b */ lui $at,%hi(var7f1aa864)
/* f082b44: e468008c */ swc1 $f8,0x8c($v1)
/* f082b48: c42aa864 */ lwc1 $f10,%lo(var7f1aa864)($at)
/* f082b4c: 3c017f1b */ lui $at,%hi(var7f1aa868)
/* f082b50: e46a0098 */ swc1 $f10,0x98($v1)
/* f082b54: c430a868 */ lwc1 $f16,%lo(var7f1aa868)($at)
/* f082b58: 3c017f1b */ lui $at,%hi(var7f1aa86c)
/* f082b5c: e47000e0 */ swc1 $f16,0xe0($v1)
/* f082b60: c432a86c */ lwc1 $f18,%lo(var7f1aa86c)($at)
/* f082b64: 3c017f1b */ lui $at,%hi(var7f1aa870)
/* f082b68: e47200e4 */ swc1 $f18,0xe4($v1)
/* f082b6c: c424a870 */ lwc1 $f4,%lo(var7f1aa870)($at)
/* f082b70: 3c017f1b */ lui $at,%hi(var7f1aa874)
/* f082b74: e46400ec */ swc1 $f4,0xec($v1)
/* f082b78: c426a874 */ lwc1 $f6,%lo(var7f1aa874)($at)
/* f082b7c: 10000079 */ b .L0f082d64
/* f082b80: e46600f0 */ swc1 $f6,0xf0($v1)
/* f082b84: 44814000 */ mtc1 $at,$f8
.L0f082b88:
/* f082b88: 3c017f1b */ lui $at,%hi(var7f1aa878)
/* f082b8c: e468008c */ swc1 $f8,0x8c($v1)
/* f082b90: c42aa878 */ lwc1 $f10,%lo(var7f1aa878)($at)
/* f082b94: 3c017f1b */ lui $at,%hi(var7f1aa87c)
/* f082b98: e46a0098 */ swc1 $f10,0x98($v1)
/* f082b9c: c430a87c */ lwc1 $f16,%lo(var7f1aa87c)($at)
/* f082ba0: 3c017f1b */ lui $at,%hi(var7f1aa880)
/* f082ba4: e47000e0 */ swc1 $f16,0xe0($v1)
/* f082ba8: c432a880 */ lwc1 $f18,%lo(var7f1aa880)($at)
/* f082bac: 3c017f1b */ lui $at,%hi(var7f1aa884)
/* f082bb0: e47200e4 */ swc1 $f18,0xe4($v1)
/* f082bb4: c424a884 */ lwc1 $f4,%lo(var7f1aa884)($at)
/* f082bb8: 3c017f1b */ lui $at,%hi(var7f1aa888)
/* f082bbc: e46400ec */ swc1 $f4,0xec($v1)
/* f082bc0: c426a888 */ lwc1 $f6,%lo(var7f1aa888)($at)
/* f082bc4: 10000067 */ b .L0f082d64
/* f082bc8: e46600f0 */ swc1 $f6,0xf0($v1)
.L0f082bcc:
/* f082bcc: afa3002c */ sw $v1,0x2c($sp)
/* f082bd0: 0fc1a2bd */ jal objFindBboxRodata
/* f082bd4: afa60030 */ sw $a2,0x30($sp)
/* f082bd8: 8fa60030 */ lw $a2,0x30($sp)
/* f082bdc: afa20028 */ sw $v0,0x28($sp)
/* f082be0: 00402025 */ or $a0,$v0,$zero
/* f082be4: 24c5001c */ addiu $a1,$a2,0x1c
/* f082be8: 0fc19a4b */ jal func0f06692c
/* f082bec: afa50018 */ sw $a1,0x18($sp)
/* f082bf0: e7a0001c */ swc1 $f0,0x1c($sp)
/* f082bf4: 8fa40028 */ lw $a0,0x28($sp)
/* f082bf8: 0fc19a3f */ jal func0f0668fc
/* f082bfc: 8fa50018 */ lw $a1,0x18($sp)
/* f082c00: c7a8001c */ lwc1 $f8,0x1c($sp)
/* f082c04: 8fa40028 */ lw $a0,0x28($sp)
/* f082c08: 8fa50018 */ lw $a1,0x18($sp)
/* f082c0c: 46004281 */ sub.s $f10,$f8,$f0
/* f082c10: 0fc19a7b */ jal func0f0669ec
/* f082c14: e7aa0024 */ swc1 $f10,0x24($sp)
/* f082c18: e7a0001c */ swc1 $f0,0x1c($sp)
/* f082c1c: 8fa40028 */ lw $a0,0x28($sp)
/* f082c20: 0fc19a6f */ jal func0f0669bc
/* f082c24: 8fa50018 */ lw $a1,0x18($sp)
/* f082c28: 3c014316 */ lui $at,0x4316
/* f082c2c: 44816000 */ mtc1 $at,$f12
/* f082c30: c7ae0024 */ lwc1 $f14,0x24($sp)
/* f082c34: 8fa3002c */ lw $v1,0x2c($sp)
/* f082c38: c7b0001c */ lwc1 $f16,0x1c($sp)
/* f082c3c: 460e603c */ c.lt.s $f12,$f14
/* f082c40: 3c017f1b */ lui $at,%hi(var7f1aa88c)
/* f082c44: 45010006 */ bc1t .L0f082c60
/* f082c48: 00000000 */ nop
/* f082c4c: 46008081 */ sub.s $f2,$f16,$f0
/* f082c50: 4602603c */ c.lt.s $f12,$f2
/* f082c54: 00000000 */ nop
/* f082c58: 45020014 */ bc1fl .L0f082cac
/* f082c5c: 3c014296 */ lui $at,0x4296
.L0f082c60:
/* f082c60: c432a88c */ lwc1 $f18,%lo(var7f1aa88c)($at)
/* f082c64: 3c017f1b */ lui $at,%hi(var7f1aa890)
/* f082c68: e472008c */ swc1 $f18,0x8c($v1)
/* f082c6c: c424a890 */ lwc1 $f4,%lo(var7f1aa890)($at)
/* f082c70: 3c017f1b */ lui $at,%hi(var7f1aa894)
/* f082c74: e4640098 */ swc1 $f4,0x98($v1)
/* f082c78: c426a894 */ lwc1 $f6,%lo(var7f1aa894)($at)
/* f082c7c: 3c017f1b */ lui $at,%hi(var7f1aa898)
/* f082c80: e46600e0 */ swc1 $f6,0xe0($v1)
/* f082c84: c428a898 */ lwc1 $f8,%lo(var7f1aa898)($at)
/* f082c88: 3c017f1b */ lui $at,%hi(var7f1aa89c)
/* f082c8c: e46800e4 */ swc1 $f8,0xe4($v1)
/* f082c90: c42aa89c */ lwc1 $f10,%lo(var7f1aa89c)($at)
/* f082c94: 3c017f1b */ lui $at,%hi(var7f1aa8a0)
/* f082c98: e46a00ec */ swc1 $f10,0xec($v1)
/* f082c9c: c430a8a0 */ lwc1 $f16,%lo(var7f1aa8a0)($at)
/* f082ca0: 10000030 */ b .L0f082d64
/* f082ca4: e47000f0 */ swc1 $f16,0xf0($v1)
/* f082ca8: 3c014296 */ lui $at,0x4296
.L0f082cac:
/* f082cac: 44810000 */ mtc1 $at,$f0
/* f082cb0: 3c017f1b */ lui $at,%hi(var7f1aa8a4)
/* f082cb4: 460e003c */ c.lt.s $f0,$f14
/* f082cb8: 00000000 */ nop
/* f082cbc: 45010005 */ bc1t .L0f082cd4
/* f082cc0: 00000000 */ nop
/* f082cc4: 4602003c */ c.lt.s $f0,$f2
/* f082cc8: 00000000 */ nop
/* f082ccc: 45000013 */ bc1f .L0f082d1c
/* f082cd0: 00000000 */ nop
.L0f082cd4:
/* f082cd4: c432a8a4 */ lwc1 $f18,%lo(var7f1aa8a4)($at)
/* f082cd8: 3c017f1b */ lui $at,%hi(var7f1aa8a8)
/* f082cdc: e472008c */ swc1 $f18,0x8c($v1)
/* f082ce0: c424a8a8 */ lwc1 $f4,%lo(var7f1aa8a8)($at)
/* f082ce4: 3c017f1b */ lui $at,%hi(var7f1aa8ac)
/* f082ce8: e4640098 */ swc1 $f4,0x98($v1)
/* f082cec: c426a8ac */ lwc1 $f6,%lo(var7f1aa8ac)($at)
/* f082cf0: 3c017f1b */ lui $at,%hi(var7f1aa8b0)
/* f082cf4: e46600e0 */ swc1 $f6,0xe0($v1)
/* f082cf8: c428a8b0 */ lwc1 $f8,%lo(var7f1aa8b0)($at)
/* f082cfc: 3c017f1b */ lui $at,%hi(var7f1aa8b4)
/* f082d00: e46800e4 */ swc1 $f8,0xe4($v1)
/* f082d04: c42aa8b4 */ lwc1 $f10,%lo(var7f1aa8b4)($at)
/* f082d08: 3c017f1b */ lui $at,%hi(var7f1aa8b8)
/* f082d0c: e46a00ec */ swc1 $f10,0xec($v1)
/* f082d10: c430a8b8 */ lwc1 $f16,%lo(var7f1aa8b8)($at)
/* f082d14: 10000013 */ b .L0f082d64
/* f082d18: e47000f0 */ swc1 $f16,0xf0($v1)
.L0f082d1c:
/* f082d1c: 3c017f1b */ lui $at,%hi(var7f1aa8bc)
/* f082d20: c432a8bc */ lwc1 $f18,%lo(var7f1aa8bc)($at)
/* f082d24: 3c017f1b */ lui $at,%hi(var7f1aa8c0)
/* f082d28: e472008c */ swc1 $f18,0x8c($v1)
/* f082d2c: c424a8c0 */ lwc1 $f4,%lo(var7f1aa8c0)($at)
/* f082d30: 3c017f1b */ lui $at,%hi(var7f1aa8c4)
/* f082d34: e4640098 */ swc1 $f4,0x98($v1)
/* f082d38: c426a8c4 */ lwc1 $f6,%lo(var7f1aa8c4)($at)
/* f082d3c: 3c017f1b */ lui $at,%hi(var7f1aa8c8)
/* f082d40: e46600e0 */ swc1 $f6,0xe0($v1)
/* f082d44: c428a8c8 */ lwc1 $f8,%lo(var7f1aa8c8)($at)
/* f082d48: 3c017f1b */ lui $at,%hi(var7f1aa8cc)
/* f082d4c: e46800e4 */ swc1 $f8,0xe4($v1)
/* f082d50: c42aa8cc */ lwc1 $f10,%lo(var7f1aa8cc)($at)
/* f082d54: 3c017f1b */ lui $at,%hi(var7f1aa8d0)
/* f082d58: e46a00ec */ swc1 $f10,0xec($v1)
/* f082d5c: c430a8d0 */ lwc1 $f16,%lo(var7f1aa8d0)($at)
/* f082d60: e47000f0 */ swc1 $f16,0xf0($v1)
.L0f082d64:
/* f082d64: 8fbf0014 */ lw $ra,0x14($sp)
.L0f082d68:
/* f082d68: 27bd0030 */ addiu $sp,$sp,0x30
/* f082d6c: 03e00008 */ jr $ra
/* f082d70: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f082a1c
.late_rodata
glabel var7f1aa860
.word 0x3f4ccccd
glabel var7f1aa864
.word 0x3b360b61
glabel var7f1aa868
.word 0x382fa9a2
glabel var7f1aa86c
.word 0x3f795810
glabel var7f1aa870
.word 0x3da0d2ee
glabel var7f1aa874
.word 0x40d55555
glabel var7f1aa878
.word 0x3c638e39
glabel var7f1aa87c
.word 0x395b940a
glabel var7f1aa880
.word 0x3f760419
glabel var7f1aa884
.word 0x3da0d2ee
glabel var7f1aa888
.word 0x40d55555
glabel var7f1aa88c
.word 0x3dcccccd
glabel var7f1aa890
.word 0x3d638e39
glabel var7f1aa894
.word 0x3a5b940a
glabel var7f1aa898
.word 0x3f760419
glabel var7f1aa89c
.word 0x3c20d2ee
glabel var7f1aa8a0
.word 0x3f555555
glabel var7f1aa8a4
.word 0x3dcccccd
glabel var7f1aa8a8
.word 0x3d638e39
glabel var7f1aa8ac
.word 0x3a5b940a
glabel var7f1aa8b0
.word 0x3f760419
glabel var7f1aa8b4
.word 0x3ca0d2ee
glabel var7f1aa8b8
.word 0x3f555555
glabel var7f1aa8bc
.word 0x3dcccccd
glabel var7f1aa8c0
.word 0x3d638e39
glabel var7f1aa8c4
.word 0x39db940a
glabel var7f1aa8c8
.word 0x3f760419
glabel var7f1aa8cc
.word 0x3da0d2ee
glabel var7f1aa8d0
.word 0x3fd55555
.text
/* f082a1c: 27bdffd0 */ addiu $sp,$sp,-48
/* f082a20: afa60038 */ sw $a2,0x38($sp)
/* f082a24: 00803025 */ or $a2,$a0,$zero
/* f082a28: afbf0014 */ sw $ra,0x14($sp)
/* f082a2c: afa40030 */ sw $a0,0x30($sp)
/* f082a30: afa7003c */ sw $a3,0x3c($sp)
/* f082a34: 8c840014 */ lw $a0,0x14($a0)
/* f082a38: afa60030 */ sw $a2,0x30($sp)
/* f082a3c: afa50034 */ sw $a1,0x34($sp)
/* f082a40: 0fc1a179 */ jal func0f0685e4
/* f082a44: afa0002c */ sw $zero,0x2c($sp)
/* f082a48: 8fa60030 */ lw $a2,0x30($sp)
/* f082a4c: 8fa3002c */ lw $v1,0x2c($sp)
/* f082a50: 8fa50034 */ lw $a1,0x34($sp)
/* f082a54: 8cc20040 */ lw $v0,0x40($a2)
/* f082a58: c7a00038 */ lwc1 $f0,0x38($sp)
/* f082a5c: 304e0040 */ andi $t6,$v0,0x40
/* f082a60: 11c00004 */ beqz $t6,.L0f082a74
/* f082a64: 30580080 */ andi $t8,$v0,0x80
/* f082a68: 8ccf0048 */ lw $t7,0x48($a2)
/* f082a6c: 10000004 */ b .L0f082a80
/* f082a70: 8de30044 */ lw $v1,0x44($t7)
.L0f082a74:
/* f082a74: 13000002 */ beqz $t8,.L0f082a80
/* f082a78: 00000000 */ nop
/* f082a7c: 8cc30048 */ lw $v1,0x48($a2)
.L0f082a80:
/* f082a80: 506000b9 */ beqzl $v1,.L0f082d68
/* f082a84: 8fbf0014 */ lw $ra,0x14($sp)
/* f082a88: 8c790000 */ lw $t9,0x0($v1)
/* f082a8c: 37280800 */ ori $t0,$t9,0x800
/* f082a90: ac680000 */ sw $t0,0x0($v1)
/* f082a94: 8fa9003c */ lw $t1,0x3c($sp)
/* f082a98: 5120000f */ beqzl $t1,.L0f082ad8
/* f082a9c: c4aa0000 */ lwc1 $f10,0x0($a1)
/* f082aa0: c4640004 */ lwc1 $f4,0x4($v1)
/* f082aa4: c4a60000 */ lwc1 $f6,0x0($a1)
/* f082aa8: c46a0008 */ lwc1 $f10,0x8($v1)
/* f082aac: 46062200 */ add.s $f8,$f4,$f6
/* f082ab0: c464000c */ lwc1 $f4,0xc($v1)
/* f082ab4: e4680004 */ swc1 $f8,0x4($v1)
/* f082ab8: c4b00004 */ lwc1 $f16,0x4($a1)
/* f082abc: 46105480 */ add.s $f18,$f10,$f16
/* f082ac0: e4720008 */ swc1 $f18,0x8($v1)
/* f082ac4: c4a60008 */ lwc1 $f6,0x8($a1)
/* f082ac8: 46062200 */ add.s $f8,$f4,$f6
/* f082acc: 10000007 */ b .L0f082aec
/* f082ad0: e468000c */ swc1 $f8,0xc($v1)
/* f082ad4: c4aa0000 */ lwc1 $f10,0x0($a1)
.L0f082ad8:
/* f082ad8: e46a0004 */ swc1 $f10,0x4($v1)
/* f082adc: c4b00004 */ lwc1 $f16,0x4($a1)
/* f082ae0: e4700008 */ swc1 $f16,0x8($v1)
/* f082ae4: c4b20008 */ lwc1 $f18,0x8($a1)
/* f082ae8: e472000c */ swc1 $f18,0xc($v1)
.L0f082aec:
/* f082aec: 8faa0040 */ lw $t2,0x40($sp)
/* f082af0: 51400006 */ beqzl $t2,.L0f082b0c
/* f082af4: e46000dc */ swc1 $f0,0xdc($v1)
/* f082af8: c46400dc */ lwc1 $f4,0xdc($v1)
/* f082afc: 46002180 */ add.s $f6,$f4,$f0
/* f082b00: 10000002 */ b .L0f082b0c
/* f082b04: e46600dc */ swc1 $f6,0xdc($v1)
/* f082b08: e46000dc */ swc1 $f0,0xdc($v1)
.L0f082b0c:
/* f082b0c: 90c20003 */ lbu $v0,0x3($a2)
/* f082b10: 24010035 */ addiu $at,$zero,0x35
/* f082b14: 10410003 */ beq $v0,$at,.L0f082b24
/* f082b18: 24010033 */ addiu $at,$zero,0x33
/* f082b1c: 1441002b */ bne $v0,$at,.L0f082bcc
/* f082b20: 00c02025 */ or $a0,$a2,$zero
.L0f082b24:
/* f082b24: 8ccb0008 */ lw $t3,0x8($a2)
/* f082b28: 3c013f00 */ lui $at,0x3f00
/* f082b2c: 000b6080 */ sll $t4,$t3,0x2
/* f082b30: 05830015 */ bgezl $t4,.L0f082b88
/* f082b34: 44814000 */ mtc1 $at,$f8
/* f082b38: 3c017f1b */ lui $at,%hi(var7f1aa860)
/* f082b3c: c428a860 */ lwc1 $f8,%lo(var7f1aa860)($at)
/* f082b40: 3c017f1b */ lui $at,%hi(var7f1aa864)
/* f082b44: e468008c */ swc1 $f8,0x8c($v1)
/* f082b48: c42aa864 */ lwc1 $f10,%lo(var7f1aa864)($at)
/* f082b4c: 3c017f1b */ lui $at,%hi(var7f1aa868)
/* f082b50: e46a0098 */ swc1 $f10,0x98($v1)
/* f082b54: c430a868 */ lwc1 $f16,%lo(var7f1aa868)($at)
/* f082b58: 3c017f1b */ lui $at,%hi(var7f1aa86c)
/* f082b5c: e47000e0 */ swc1 $f16,0xe0($v1)
/* f082b60: c432a86c */ lwc1 $f18,%lo(var7f1aa86c)($at)
/* f082b64: 3c017f1b */ lui $at,%hi(var7f1aa870)
/* f082b68: e47200e4 */ swc1 $f18,0xe4($v1)
/* f082b6c: c424a870 */ lwc1 $f4,%lo(var7f1aa870)($at)
/* f082b70: 3c017f1b */ lui $at,%hi(var7f1aa874)
/* f082b74: e46400ec */ swc1 $f4,0xec($v1)
/* f082b78: c426a874 */ lwc1 $f6,%lo(var7f1aa874)($at)
/* f082b7c: 10000079 */ b .L0f082d64
/* f082b80: e46600f0 */ swc1 $f6,0xf0($v1)
/* f082b84: 44814000 */ mtc1 $at,$f8
.L0f082b88:
/* f082b88: 3c017f1b */ lui $at,%hi(var7f1aa878)
/* f082b8c: e468008c */ swc1 $f8,0x8c($v1)
/* f082b90: c42aa878 */ lwc1 $f10,%lo(var7f1aa878)($at)
/* f082b94: 3c017f1b */ lui $at,%hi(var7f1aa87c)
/* f082b98: e46a0098 */ swc1 $f10,0x98($v1)
/* f082b9c: c430a87c */ lwc1 $f16,%lo(var7f1aa87c)($at)
/* f082ba0: 3c017f1b */ lui $at,%hi(var7f1aa880)
/* f082ba4: e47000e0 */ swc1 $f16,0xe0($v1)
/* f082ba8: c432a880 */ lwc1 $f18,%lo(var7f1aa880)($at)
/* f082bac: 3c017f1b */ lui $at,%hi(var7f1aa884)
/* f082bb0: e47200e4 */ swc1 $f18,0xe4($v1)
/* f082bb4: c424a884 */ lwc1 $f4,%lo(var7f1aa884)($at)
/* f082bb8: 3c017f1b */ lui $at,%hi(var7f1aa888)
/* f082bbc: e46400ec */ swc1 $f4,0xec($v1)
/* f082bc0: c426a888 */ lwc1 $f6,%lo(var7f1aa888)($at)
/* f082bc4: 10000067 */ b .L0f082d64
/* f082bc8: e46600f0 */ swc1 $f6,0xf0($v1)
.L0f082bcc:
/* f082bcc: afa3002c */ sw $v1,0x2c($sp)
/* f082bd0: 0fc1a2bd */ jal objFindBboxRodata
/* f082bd4: afa60030 */ sw $a2,0x30($sp)
/* f082bd8: 8fa60030 */ lw $a2,0x30($sp)
/* f082bdc: afa20028 */ sw $v0,0x28($sp)
/* f082be0: 00402025 */ or $a0,$v0,$zero
/* f082be4: 24c5001c */ addiu $a1,$a2,0x1c
/* f082be8: 0fc19a4b */ jal func0f06692c
/* f082bec: afa50018 */ sw $a1,0x18($sp)
/* f082bf0: e7a0001c */ swc1 $f0,0x1c($sp)
/* f082bf4: 8fa40028 */ lw $a0,0x28($sp)
/* f082bf8: 0fc19a3f */ jal func0f0668fc
/* f082bfc: 8fa50018 */ lw $a1,0x18($sp)
/* f082c00: c7a8001c */ lwc1 $f8,0x1c($sp)
/* f082c04: 8fa40028 */ lw $a0,0x28($sp)
/* f082c08: 8fa50018 */ lw $a1,0x18($sp)
/* f082c0c: 46004281 */ sub.s $f10,$f8,$f0
/* f082c10: 0fc19a7b */ jal func0f0669ec
/* f082c14: e7aa0024 */ swc1 $f10,0x24($sp)
/* f082c18: e7a0001c */ swc1 $f0,0x1c($sp)
/* f082c1c: 8fa40028 */ lw $a0,0x28($sp)
/* f082c20: 0fc19a6f */ jal func0f0669bc
/* f082c24: 8fa50018 */ lw $a1,0x18($sp)
/* f082c28: 3c014316 */ lui $at,0x4316
/* f082c2c: 44816000 */ mtc1 $at,$f12
/* f082c30: c7ae0024 */ lwc1 $f14,0x24($sp)
/* f082c34: 8fa3002c */ lw $v1,0x2c($sp)
/* f082c38: c7b0001c */ lwc1 $f16,0x1c($sp)
/* f082c3c: 460e603c */ c.lt.s $f12,$f14
/* f082c40: 3c017f1b */ lui $at,%hi(var7f1aa88c)
/* f082c44: 45010006 */ bc1t .L0f082c60
/* f082c48: 00000000 */ nop
/* f082c4c: 46008081 */ sub.s $f2,$f16,$f0
/* f082c50: 4602603c */ c.lt.s $f12,$f2
/* f082c54: 00000000 */ nop
/* f082c58: 45020014 */ bc1fl .L0f082cac
/* f082c5c: 3c014296 */ lui $at,0x4296
.L0f082c60:
/* f082c60: c432a88c */ lwc1 $f18,%lo(var7f1aa88c)($at)
/* f082c64: 3c017f1b */ lui $at,%hi(var7f1aa890)
/* f082c68: e472008c */ swc1 $f18,0x8c($v1)
/* f082c6c: c424a890 */ lwc1 $f4,%lo(var7f1aa890)($at)
/* f082c70: 3c017f1b */ lui $at,%hi(var7f1aa894)
/* f082c74: e4640098 */ swc1 $f4,0x98($v1)
/* f082c78: c426a894 */ lwc1 $f6,%lo(var7f1aa894)($at)
/* f082c7c: 3c017f1b */ lui $at,%hi(var7f1aa898)
/* f082c80: e46600e0 */ swc1 $f6,0xe0($v1)
/* f082c84: c428a898 */ lwc1 $f8,%lo(var7f1aa898)($at)
/* f082c88: 3c017f1b */ lui $at,%hi(var7f1aa89c)
/* f082c8c: e46800e4 */ swc1 $f8,0xe4($v1)
/* f082c90: c42aa89c */ lwc1 $f10,%lo(var7f1aa89c)($at)
/* f082c94: 3c017f1b */ lui $at,%hi(var7f1aa8a0)
/* f082c98: e46a00ec */ swc1 $f10,0xec($v1)
/* f082c9c: c430a8a0 */ lwc1 $f16,%lo(var7f1aa8a0)($at)
/* f082ca0: 10000030 */ b .L0f082d64
/* f082ca4: e47000f0 */ swc1 $f16,0xf0($v1)
/* f082ca8: 3c014296 */ lui $at,0x4296
.L0f082cac:
/* f082cac: 44810000 */ mtc1 $at,$f0
/* f082cb0: 3c017f1b */ lui $at,%hi(var7f1aa8a4)
/* f082cb4: 460e003c */ c.lt.s $f0,$f14
/* f082cb8: 00000000 */ nop
/* f082cbc: 45010005 */ bc1t .L0f082cd4
/* f082cc0: 00000000 */ nop
/* f082cc4: 4602003c */ c.lt.s $f0,$f2
/* f082cc8: 00000000 */ nop
/* f082ccc: 45000013 */ bc1f .L0f082d1c
/* f082cd0: 00000000 */ nop
.L0f082cd4:
/* f082cd4: c432a8a4 */ lwc1 $f18,%lo(var7f1aa8a4)($at)
/* f082cd8: 3c017f1b */ lui $at,%hi(var7f1aa8a8)
/* f082cdc: e472008c */ swc1 $f18,0x8c($v1)
/* f082ce0: c424a8a8 */ lwc1 $f4,%lo(var7f1aa8a8)($at)
/* f082ce4: 3c017f1b */ lui $at,%hi(var7f1aa8ac)
/* f082ce8: e4640098 */ swc1 $f4,0x98($v1)
/* f082cec: c426a8ac */ lwc1 $f6,%lo(var7f1aa8ac)($at)
/* f082cf0: 3c017f1b */ lui $at,%hi(var7f1aa8b0)
/* f082cf4: e46600e0 */ swc1 $f6,0xe0($v1)
/* f082cf8: c428a8b0 */ lwc1 $f8,%lo(var7f1aa8b0)($at)
/* f082cfc: 3c017f1b */ lui $at,%hi(var7f1aa8b4)
/* f082d00: e46800e4 */ swc1 $f8,0xe4($v1)
/* f082d04: c42aa8b4 */ lwc1 $f10,%lo(var7f1aa8b4)($at)
/* f082d08: 3c017f1b */ lui $at,%hi(var7f1aa8b8)
/* f082d0c: e46a00ec */ swc1 $f10,0xec($v1)
/* f082d10: c430a8b8 */ lwc1 $f16,%lo(var7f1aa8b8)($at)
/* f082d14: 10000013 */ b .L0f082d64
/* f082d18: e47000f0 */ swc1 $f16,0xf0($v1)
.L0f082d1c:
/* f082d1c: 3c017f1b */ lui $at,%hi(var7f1aa8bc)
/* f082d20: c432a8bc */ lwc1 $f18,%lo(var7f1aa8bc)($at)
/* f082d24: 3c017f1b */ lui $at,%hi(var7f1aa8c0)
/* f082d28: e472008c */ swc1 $f18,0x8c($v1)
/* f082d2c: c424a8c0 */ lwc1 $f4,%lo(var7f1aa8c0)($at)
/* f082d30: 3c017f1b */ lui $at,%hi(var7f1aa8c4)
/* f082d34: e4640098 */ swc1 $f4,0x98($v1)
/* f082d38: c426a8c4 */ lwc1 $f6,%lo(var7f1aa8c4)($at)
/* f082d3c: 3c017f1b */ lui $at,%hi(var7f1aa8c8)
/* f082d40: e46600e0 */ swc1 $f6,0xe0($v1)
/* f082d44: c428a8c8 */ lwc1 $f8,%lo(var7f1aa8c8)($at)
/* f082d48: 3c017f1b */ lui $at,%hi(var7f1aa8cc)
/* f082d4c: e46800e4 */ swc1 $f8,0xe4($v1)
/* f082d50: c42aa8cc */ lwc1 $f10,%lo(var7f1aa8cc)($at)
/* f082d54: 3c017f1b */ lui $at,%hi(var7f1aa8d0)
/* f082d58: e46a00ec */ swc1 $f10,0xec($v1)
/* f082d5c: c430a8d0 */ lwc1 $f16,%lo(var7f1aa8d0)($at)
/* f082d60: e47000f0 */ swc1 $f16,0xf0($v1)
.L0f082d64:
/* f082d64: 8fbf0014 */ lw $ra,0x14($sp)
.L0f082d68:
/* f082d68: 27bd0030 */ addiu $sp,$sp,0x30
/* f082d6c: 03e00008 */ jr $ra
/* f082d70: 00000000 */ nop
);
#endif
#if PIRACYCHECKS
GLOBAL_ASM(
glabel piracyRestore
/* f082d74: 27bdff78 */ addiu $sp,$sp,-136
/* f082d78: 27a70024 */ addiu $a3,$sp,0x24
/* f082d7c: 30ee0007 */ andi $t6,$a3,0x7
/* f082d80: 11c00005 */ beqz $t6,.L0f082d98
/* f082d84: afbf0014 */ sw $ra,0x14($sp)
/* f082d88: 24e70004 */ addiu $a3,$a3,0x4
.L0f082d8c:
/* f082d8c: 30ef0007 */ andi $t7,$a3,0x7
/* f082d90: 55e0fffe */ bnezl $t7,.L0f082d8c
/* f082d94: 24e70004 */ addiu $a3,$a3,0x4
.L0f082d98:
/* f082d98: 3c0501d6 */ lui $a1,%hi(_blankSegmentRomStart)
/* f082d9c: 24a55740 */ addiu $a1,$a1,%lo(_blankSegmentRomStart)
/* f082da0: afa50020 */ sw $a1,0x20($sp)
/* f082da4: 00e02025 */ or $a0,$a3,$zero
/* f082da8: 24060040 */ addiu $a2,$zero,0x40
/* f082dac: 0c003504 */ jal dmaExec
/* f082db0: afa70074 */ sw $a3,0x74($sp)
/* f082db4: 3c098007 */ lui $t1,%hi(var8006abbc)
/* f082db8: 8129abbc */ lb $t1,%lo(var8006abbc)($t1)
/* f082dbc: 8fa70074 */ lw $a3,0x74($sp)
/* f082dc0: 00001825 */ or $v1,$zero,$zero
/* f082dc4: 24080040 */ addiu $t0,$zero,0x40
/* f082dc8: 0520000c */ bltz $t1,.L0f082dfc
/* f082dcc: 00003025 */ or $a2,$zero,$zero
/* f082dd0: 25250001 */ addiu $a1,$t1,0x1
.L0f082dd4:
/* f082dd4: 0060c025 */ or $t8,$v1,$zero
/* f082dd8: 0018c8c0 */ sll $t9,$t8,0x3
/* f082ddc: 01064021 */ addu $t0,$t0,$a2
/* f082de0: 00f91021 */ addu $v0,$a3,$t9
/* f082de4: 24630001 */ addiu $v1,$v1,0x1
/* f082de8: 8c440000 */ lw $a0,0x0($v0)
/* f082dec: 14a3fff9 */ bne $a1,$v1,.L0f082dd4
/* f082df0: 8c460004 */ lw $a2,0x4($v0)
/* f082df4: 00001825 */ or $v1,$zero,$zero
/* f082df8: afa40080 */ sw $a0,0x80($sp)
.L0f082dfc:
/* f082dfc: 10c0000a */ beqz $a2,.L0f082e28
/* f082e00: 8fa40080 */ lw $a0,0x80($sp)
/* f082e04: 8faa0020 */ lw $t2,0x20($sp)
/* f082e08: afa30084 */ sw $v1,0x84($sp)
/* f082e0c: afa70074 */ sw $a3,0x74($sp)
/* f082e10: 0c003504 */ jal dmaExec
/* f082e14: 01482821 */ addu $a1,$t2,$t0
/* f082e18: 3c098007 */ lui $t1,%hi(var8006abbc)
/* f082e1c: 8129abbc */ lb $t1,%lo(var8006abbc)($t1)
/* f082e20: 8fa30084 */ lw $v1,0x84($sp)
/* f082e24: 8fa70074 */ lw $a3,0x74($sp)
.L0f082e28:
/* f082e28: 8ceb0000 */ lw $t3,0x0($a3)
/* f082e2c: 25250001 */ addiu $a1,$t1,0x1
/* f082e30: 00054e00 */ sll $t1,$a1,0x18
/* f082e34: 11600009 */ beqz $t3,.L0f082e5c
/* f082e38: 0009c603 */ sra $t8,$t1,0x18
/* f082e3c: 24630001 */ addiu $v1,$v1,0x1
.L0f082e40:
/* f082e40: 28610008 */ slti $at,$v1,0x8
/* f082e44: 10200005 */ beqz $at,.L0f082e5c
/* f082e48: 000368c0 */ sll $t5,$v1,0x3
/* f082e4c: 00ed7021 */ addu $t6,$a3,$t5
/* f082e50: 8dcf0000 */ lw $t7,0x0($t6)
/* f082e54: 55e0fffa */ bnezl $t7,.L0f082e40
/* f082e58: 24630001 */ addiu $v1,$v1,0x1
.L0f082e5c:
/* f082e5c: 3c018007 */ lui $at,%hi(var8006abbc)
/* f082e60: a038abbc */ sb $t8,%lo(var8006abbc)($at)
/* f082e64: 0303082a */ slt $at,$t8,$v1
/* f082e68: 14200002 */ bnez $at,.L0f082e74
/* f082e6c: 3c018007 */ lui $at,%hi(var8006abbc)
/* f082e70: a020abbc */ sb $zero,%lo(var8006abbc)($at)
.L0f082e74:
/* f082e74: 8fbf0014 */ lw $ra,0x14($sp)
/* f082e78: 27bd0088 */ addiu $sp,$sp,0x88
/* f082e7c: 03e00008 */ jr $ra
/* f082e80: 00000000 */ nop
);
s8 var8006abbc = 0;
//extern u8 _blankSegmentRomStart;
/**
* This function is called whenever a player exits a lift as well as on tick
* whenever a player is running at max speed. Each time it is called, it
* attempts to DMA a payload from the ROM into a location in RAM. However, in
* all versions of the game the payload list is empty so it effectively does
* nothing.
*
* It is likely that this function would have been used to restore piracy checks
* in the event that a player had disabled them using memory editing or a hacked
* ROM. The feature may have been abandoned because it would have revealed where
* all the piracy checks are, or perhaps they never got around to implementing
* the generation of the payload list into their build system.
*/
// Mismatch: Goal has an extra move instruction when calculating tmp.
//void piracyRestore(void)
//{
// u32 writeaddr;
// s32 copylen;
// s32 readoffset;
// s32 i;
// u8 *ptr;
// s32 len;
// u8 stack[0x48];
// u32 *tmp;
// static s8 index = 0; // var8006abbc
//
// ptr = stack;
//
// // Align ptr to an 8 byte boundary
// while ((u32)ptr % 8) {
// ptr += 4;
// }
//
// // Copy the writeaddr/copylen pairs from ROM to the stack
// dmaExec(ptr, (u32) &_blankSegmentRomStart, 0x40);
//
// // Calculate what needs to be copied and where
// i = 0;
// readoffset = 0x40;
// copylen = 0;
//
// while (i <= index) {
// tmp = (u32 *)((u32)ptr + (i << 3));
// readoffset += copylen;
// writeaddr = tmp[0];
// copylen = tmp[1];
// i++;
// }
//
// // Copy it
// if (copylen != 0) {
// dmaExec((void *) writeaddr, (u32) &_blankSegmentRomStart + readoffset, copylen);
// }
//
// // Increment the index, so the next time the function is called
// // it copies the next payload. To do this, calculate the number
// // of payloads so it can wrap.
// for (i = 0; i < 8 && *(u32 *)&ptr[i * 8]; i++);
//
// index++;
//
// if (index >= i) {
// index = 0;
// }
//}
#endif
GLOBAL_ASM(
glabel func0f082e84
.late_rodata
glabel var7f1aa8d4
.word 0x3e4ccccd
glabel var7f1aa8d8
.word 0x3e4ccccd
glabel var7f1aa8dc
.word 0x38d1b717
.text
/* f082e84: 27bdffc0 */ addiu $sp,$sp,-64
/* f082e88: 3c0e8007 */ lui $t6,%hi(var8006abc0)
/* f082e8c: afbf001c */ sw $ra,0x1c($sp)
/* f082e90: afa50044 */ sw $a1,0x44($sp)
/* f082e94: afa60048 */ sw $a2,0x48($sp)
/* f082e98: afa7004c */ sw $a3,0x4c($sp)
/* f082e9c: 25ceabc0 */ addiu $t6,$t6,%lo(var8006abc0)
/* f082ea0: 8dc10000 */ lw $at,0x0($t6)
/* f082ea4: 27a50034 */ addiu $a1,$sp,0x34
/* f082ea8: 24070001 */ addiu $a3,$zero,0x1
/* f082eac: aca10000 */ sw $at,0x0($a1)
/* f082eb0: 8dd90004 */ lw $t9,0x4($t6)
/* f082eb4: acb90004 */ sw $t9,0x4($a1)
/* f082eb8: 8dc10008 */ lw $at,0x8($t6)
/* f082ebc: aca10008 */ sw $at,0x8($a1)
/* f082ec0: 8fa9004c */ lw $t1,0x4c($sp)
/* f082ec4: 8fa80048 */ lw $t0,0x48($sp)
/* f082ec8: 8faa0044 */ lw $t2,0x44($sp)
/* f082ecc: c5240008 */ lwc1 $f4,0x8($t1)
/* f082ed0: c50c0008 */ lwc1 $f12,0x8($t0)
/* f082ed4: c5280000 */ lwc1 $f8,0x0($t1)
/* f082ed8: c5020000 */ lwc1 $f2,0x0($t0)
/* f082edc: 46046182 */ mul.s $f6,$f12,$f4
/* f082ee0: 8c820014 */ lw $v0,0x14($a0)
/* f082ee4: c5440000 */ lwc1 $f4,0x0($t2)
/* f082ee8: 46024282 */ mul.s $f10,$f8,$f2
/* f082eec: c4480008 */ lwc1 $f8,0x8($v0)
/* f082ef0: 3c017f1b */ lui $at,%hi(var7f1aa8d4)
/* f082ef4: 8fab0050 */ lw $t3,0x50($sp)
/* f082ef8: 46082381 */ sub.s $f14,$f4,$f8
/* f082efc: 460a3000 */ add.s $f0,$f6,$f10
/* f082f00: c5460008 */ lwc1 $f6,0x8($t2)
/* f082f04: c44a0010 */ lwc1 $f10,0x10($v0)
/* f082f08: 46007207 */ neg.s $f8,$f14
/* f082f0c: 460a3401 */ sub.s $f16,$f6,$f10
/* f082f10: 46101102 */ mul.s $f4,$f2,$f16
/* f082f14: 00000000 */ nop
/* f082f18: 460c4182 */ mul.s $f6,$f8,$f12
/* f082f1c: c428a8d4 */ lwc1 $f8,%lo(var7f1aa8d4)($at)
/* f082f20: 3c017f1b */ lui $at,%hi(var7f1aa8d8)
/* f082f24: 46020282 */ mul.s $f10,$f0,$f2
/* f082f28: 46062480 */ add.s $f18,$f4,$f6
/* f082f2c: c7a60034 */ lwc1 $f6,0x34($sp)
/* f082f30: 46085102 */ mul.s $f4,$f10,$f8
/* f082f34: 46043280 */ add.s $f10,$f6,$f4
/* f082f38: c424a8d8 */ lwc1 $f4,%lo(var7f1aa8d8)($at)
/* f082f3c: 3c017f1b */ lui $at,%hi(var7f1aa8dc)
/* f082f40: e7aa0034 */ swc1 $f10,0x34($sp)
/* f082f44: c5080008 */ lwc1 $f8,0x8($t0)
/* f082f48: afab0010 */ sw $t3,0x10($sp)
/* f082f4c: 46080182 */ mul.s $f6,$f0,$f8
/* f082f50: c7a8003c */ lwc1 $f8,0x3c($sp)
/* f082f54: 46043282 */ mul.s $f10,$f6,$f4
/* f082f58: 460a4180 */ add.s $f6,$f8,$f10
/* f082f5c: 46120102 */ mul.s $f4,$f0,$f18
/* f082f60: c428a8dc */ lwc1 $f8,%lo(var7f1aa8dc)($at)
/* f082f64: e7a6003c */ swc1 $f6,0x3c($sp)
/* f082f68: 46082282 */ mul.s $f10,$f4,$f8
/* f082f6c: 44065000 */ mfc1 $a2,$f10
/* f082f70: 0fc20a87 */ jal func0f082a1c
/* f082f74: 00000000 */ nop
/* f082f78: 8fbf001c */ lw $ra,0x1c($sp)
/* f082f7c: 27bd0040 */ addiu $sp,$sp,0x40
/* f082f80: 03e00008 */ jr $ra
/* f082f84: 00000000 */ nop
);
u32 var8006abc0 = 0x00000000;
u32 var8006abc4 = 0x00000000;
u32 var8006abc8 = 0x00000000;
void objDetach(struct prop *prop)
{
struct prop *parent = prop->parent;
if (parent) {
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
propDetach(prop);
model->attachedtomodel = NULL;
model->attachedtonode = NULL;
obj->hidden &= ~OBJHFLAG_HASOWNER;
if (parent->type == PROPTYPE_CHR || parent->type == PROPTYPE_PLAYER) {
struct chrdata *chr = parent->chr;
if (chr) {
if (prop == chr->weapons_held[2]) {
chr->weapons_held[2] = NULL;
}
if (prop == chr->weapons_held[HAND_RIGHT]) {
chrSetFiring(chr, HAND_RIGHT, false);
chr->weapons_held[HAND_RIGHT] = NULL;
}
if (prop == chr->weapons_held[HAND_LEFT]) {
chrSetFiring(chr, HAND_LEFT, false);
chr->weapons_held[HAND_LEFT] = NULL;
}
}
}
}
}
bool objDrop(struct prop *prop, bool lazy)
{
struct prop *parent = prop->parent;
struct defaultobj *obj = prop->obj;
struct prop *root;
struct model *model;
Mtxf spf0;
struct coord spe4;
s16 rooms[8];
if ((obj->hidden & OBJHFLAG_00000040) && obj->projectile->unk044) {
struct projectile *projectile2 = obj->projectile->unk044;
projectileSetFlag1(obj->projectile);
obj->projectile = projectile2;
obj->hidden &= ~OBJHFLAG_00000040;
obj->hidden |= OBJHFLAG_AIRBORNE;
}
if (parent && (obj->hidden & OBJHFLAG_AIRBORNE)) {
struct projectile *projectile;
model = obj->model;
projectile = obj->projectile;
root = parent;
while (root->parent) {
root = root->parent;
}
projectile->ownerprop = parent;
projectile->flags |= PROJECTILEFLAG_00000001;
if (projectile->droptype == DROPTYPE_5) {
struct defaultobj *rootobj = root->obj;
struct modelnode *node1;
struct coord spb8;
struct modelnode *node2;
struct coord spa8;
f32 spa4;
f32 spa0;
node1 = objFindBboxNode(obj);
modelNodeGetPosition(obj->model, model0001a740(node1), &spb8);
node2 = objFindBboxNode(rootobj);
modelNodeGetPosition(rootobj->model, model0001a740(node2), &spa8);
spe4.x = spb8.x - spa8.x;
spe4.y = spb8.y - spa8.y;
spe4.z = spb8.z - spa8.z;
mtx00016208(rootobj->realrot, &spe4);
spa4 = random() * (1.0f / U32_MAX) * 13.333333015442f;
spa0 = atan2f(spe4.x, spe4.z);
spa0 += random() * (1.0f / U32_MAX) * 0.7852731347084f - 0.3926365673542f;
if (spa0 >= M_BADTAU) {
spa0 -= M_BADTAU;
} else if (spa0 < 0.0f) {
spa0 += M_BADTAU;
}
projectile->speed.x += spa4 * sinf(spa0);
projectile->speed.z += spa4 * cosf(spa0);
mtx3ToMtx4(rootobj->realrot, &spf0);
spe4.x += root->pos.x;
spe4.y += root->pos.y;
spe4.z += root->pos.z;
mtx4SetTranslation(&spe4, &spf0);
func0f065e74(&root->pos, root->rooms, &spe4, rooms);
} else {
if (projectile->droptype == DROPTYPE_SURRENDER && parent->type == PROPTYPE_CHR) {
struct chrdata *chr = parent->chr;
struct coord rot = {0, 0, 0};
f32 angle = chrGetInverseTheta(chr);
projectile->speed.x = sinf(angle) * 1.6666666269302f;
projectile->speed.y = -(random() * (1.0f / U32_MAX)) * 0.83333331346512f;
projectile->speed.z = cosf(angle) * 1.6666666269302f;
rot.x = random() * (1.0f / U32_MAX) * PALUPF(0.012269892729819f) - PALUPF(0.0061349463649094f);
rot.y = random() * (1.0f / U32_MAX) * PALUPF(0.012269892729819f) - PALUPF(0.0061349463649094f);
rot.z = random() * (1.0f / U32_MAX) * PALUPF(0.012269892729819f) - PALUPF(0.0061349463649094f);
mtx4LoadRotation(&rot, (Mtxf *)&projectile->unk020);
} else if (projectile->droptype == DROPTYPE_THROWGRENADE && parent->type == PROPTYPE_CHR) {
struct chrdata *chr = parent->chr;
struct coord rot = {0, 0, 0};
f32 angle = chrGetInverseTheta(chr);
f32 dist;
if (chr->aibot) {
dist = chrGetDistanceToTarget(chr);
} else {
dist = chrGetAttackEntityDistance(chr, chr->act_throwgrenade.flags, chr->act_throwgrenade.entityid);
}
if (chr->aibot == NULL && dist < 300) {
dist = 300;
}
projectile->speed.x = sinf(angle) * 13.333333015442f * (dist / 1000);
projectile->speed.y = (((dist >= 1200) * ((dist - 1200) / 1200)) + 1) * 6.6666665077209f;
projectile->speed.z = cosf(angle) * 13.333333015442f * (dist / 1000);
rot.x = random() * (1.0f / U32_MAX) * PALUPF(0.012269892729819f) - PALUPF(0.0061349463649094f);
rot.y = random() * (1.0f / U32_MAX) * PALUPF(0.012269892729819f) - PALUPF(0.0061349463649094f);
rot.z = random() * (1.0f / U32_MAX) * PALUPF(0.012269892729819f) - PALUPF(0.0061349463649094f);
mtx4LoadRotation(&rot, (Mtxf *)&projectile->unk020);
objSetProjectileFlag4(prop);
} else if (projectile->droptype == DROPTYPE_HAT) {
struct coord rot = {0, 0, 0};
struct prop *playerprop = g_Vars.currentplayer->prop;
f32 x = parent->pos.x - playerprop->pos.x;
f32 z = parent->pos.z - playerprop->pos.z;
f32 angle = atan2f(x, z);
projectile->speed.x = (random() * (1.0f / U32_MAX) * 3.3333332538605f + 3.3333332538605f) * sinf(angle);
projectile->speed.y = random() * (1.0f / U32_MAX) * 3.3333332538605f;
projectile->speed.z = (random() * (1.0f / U32_MAX) * 3.3333332538605f + 3.3333332538605f) * cosf(angle);
rot.x = random() * (1.0f / U32_MAX) * PALUPF(0.049079570919275f) - PALUPF(0.024539785459638f);
rot.y = random() * (1.0f / U32_MAX) * PALUPF(0.049079570919275f) - PALUPF(0.024539785459638f);
rot.z = random() * (1.0f / U32_MAX) * PALUPF(0.049079570919275f) - PALUPF(0.024539785459638f);
mtx4LoadRotation(&rot, (Mtxf *)&projectile->unk020);
} else if (projectile->droptype == DROPTYPE_OWNERREAP) {
struct coord rot = {0, 0, 0};
projectile->speed.x = (0.5f - (random() * (1.0f / U32_MAX))) * 1.6666666269302f;
projectile->speed.y = 0.0f;
projectile->speed.z = (0.5f - (random() * (1.0f / U32_MAX))) * 1.6666666269302f;
rot.x = random() * (1.0f / U32_MAX) * PALUPF(0.049079570919275f) - PALUPF(0.024539785459638f);
rot.y = random() * (1.0f / U32_MAX) * PALUPF(0.049079570919275f) - PALUPF(0.024539785459638f);
rot.z = random() * (1.0f / U32_MAX) * PALUPF(0.049079570919275f) - PALUPF(0.024539785459638f);
mtx4LoadRotation(&rot, (Mtxf *)&projectile->unk020);
} else {
// DROPTYPE_OWNERREAP
func0f0964b4(&projectile->speed, (Mtxf *)&projectile->unk020);
}
if (!lazy && (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
// Do collision checks
Mtxf *sp48 = model0001a60c(model);
mtx00015be4(currentPlayerGetUnk174c(), sp48, &spf0);
propSetPerimEnabled(root, false);
spe4.x = spf0.m[3][0];
spe4.y = spf0.m[3][1];
spe4.z = spf0.m[3][2];
if (cd0002de34(&root->pos, root->rooms, &spe4, rooms, CDTYPE_ALL, 7) == CDRESULT_COLLISION
|| (projectile->flags & PROJECTILEFLAG_00000004) == 0) {
if (cdTestVolume(&spe4, objGetWidth(obj), rooms, CDTYPE_ALL, 0, 0.0f, 0) == CDRESULT_COLLISION) {
spf0.m[3][0] = root->pos.x;
spf0.m[3][2] = root->pos.z;
}
}
propSetPerimEnabled(root, true);
prop->z = -sp48->m[3][2];
} else {
// No collision checks
mtx4LoadIdentity(&spf0);
mtx00015f04(model->scale, &spf0);
mtx4SetTranslation(&root->pos, &spf0);
roomsCopy(root->rooms, rooms);
}
}
objDetach(prop);
propActivate(prop);
propEnable(prop);
prop->pos.x = spf0.m[3][0];
prop->pos.y = spf0.m[3][1];
prop->pos.z = spf0.m[3][2];
propDeregisterRooms(prop);
roomsCopy(rooms, prop->rooms);
spf0.m[3][0] = 0;
spf0.m[3][1] = 0;
spf0.m[3][2] = 0;
mtx4ToMtx3(&spf0, obj->realrot);
func0f069c70(obj, true, true);
obj->shadecol[0] = obj->nextcol[0];
obj->shadecol[1] = obj->nextcol[1];
obj->shadecol[2] = obj->nextcol[2];
obj->shadecol[3] = obj->nextcol[3];
obj->hidden |= OBJHFLAG_SUSPICIOUS;
if (obj->type == OBJTYPE_WEAPON) {
struct weaponobj *weapon = (struct weaponobj *)obj;
if (weapon->weaponnum == WEAPON_GRENADE && weapon->timer240 >= 0) {
propSetDangerous(prop);
}
}
return true;
}
return false;
}
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel func0f083db0
.late_rodata
glabel var7f1aa97c
.word 0x3fd55555
glabel var7f1aa980
.word 0x3f555555
glabel var7f1aa984
.word 0x40555555
glabel var7f1aa988
.word 0x3fd55555
glabel var7f1aa98c
.word 0x3fd55555
glabel var7f1aa990
.word 0x3f555555
glabel var7f1aa994
.word 0x3bc0fd1e
glabel var7f1aa998
.word 0x3b40fd1e
glabel var7f1aa99c
.word 0x3bc0fd1e
glabel var7f1aa9a0
.word 0x3b40fd1e
glabel var7f1aa9a4
.word 0x3bc0fd1e
glabel var7f1aa9a8
.word 0x3b40fd1e
.text
/* f083db0: 27bdffd0 */ addiu $sp,$sp,-48
/* f083db4: afbf001c */ sw $ra,0x1c($sp)
/* f083db8: afb10018 */ sw $s1,0x18($sp)
/* f083dbc: afb00014 */ sw $s0,0x14($sp)
/* f083dc0: 908e0003 */ lbu $t6,0x3($a0)
/* f083dc4: 2401000d */ addiu $at,$zero,0xd
/* f083dc8: 00808025 */ or $s0,$a0,$zero
/* f083dcc: 15c10004 */ bne $t6,$at,.L0f083de0
/* f083dd0: 3c0f800a */ lui $t7,%hi(g_Vars+0x318)
/* f083dd4: 8defa2d8 */ lw $t7,%lo(g_Vars+0x318)($t7)
/* f083dd8: 55e0000c */ bnezl $t7,.L0f083e0c
/* f083ddc: 8e0c000c */ lw $t4,0xc($s0)
.L0f083de0:
/* f083de0: 8e180040 */ lw $t8,0x40($s0)
/* f083de4: 3c010fff */ lui $at,0xfff
/* f083de8: 3421ffff */ ori $at,$at,0xffff
/* f083dec: 0301c824 */ and $t9,$t8,$at
/* f083df0: 3c01f000 */ lui $at,0xf000
/* f083df4: 00054f00 */ sll $t1,$a1,0x1c
/* f083df8: 01215024 */ and $t2,$t1,$at
/* f083dfc: ae190040 */ sw $t9,0x40($s0)
/* f083e00: 032a5825 */ or $t3,$t9,$t2
/* f083e04: ae0b0040 */ sw $t3,0x40($s0)
/* f083e08: 8e0c000c */ lw $t4,0xc($s0)
.L0f083e0c:
/* f083e0c: 318d0100 */ andi $t5,$t4,0x100
/* f083e10: 55a000a2 */ bnezl $t5,.L0f08409c
/* f083e14: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e18: 8e0e0010 */ lw $t6,0x10($s0)
/* f083e1c: 000e78c0 */ sll $t7,$t6,0x3
/* f083e20: 05e2009e */ bltzl $t7,.L0f08409c
/* f083e24: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e28: 8e180008 */ lw $t8,0x8($s0)
/* f083e2c: 33190009 */ andi $t9,$t8,0x9
/* f083e30: 5320009a */ beqzl $t9,.L0f08409c
/* f083e34: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e38: 8e090040 */ lw $t1,0x40($s0)
/* f083e3c: 3c0b8007 */ lui $t3,%hi(var8006abfc)
/* f083e40: 256babfc */ addiu $t3,$t3,%lo(var8006abfc)
/* f083e44: 312800c0 */ andi $t0,$t1,0xc0
/* f083e48: 55000094 */ bnezl $t0,.L0f08409c
/* f083e4c: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e50: 8d610000 */ lw $at,0x0($t3)
/* f083e54: 27aa0024 */ addiu $t2,$sp,0x24
/* f083e58: 8d6d0004 */ lw $t5,0x4($t3)
/* f083e5c: ad410000 */ sw $at,0x0($t2)
/* f083e60: 8d610008 */ lw $at,0x8($t3)
/* f083e64: ad4d0004 */ sw $t5,0x4($t2)
/* f083e68: 00008825 */ or $s1,$zero,$zero
/* f083e6c: ad410008 */ sw $at,0x8($t2)
/* f083e70: 0fc1a179 */ jal func0f0685e4
/* f083e74: 8e040014 */ lw $a0,0x14($s0)
/* f083e78: 8e0e0040 */ lw $t6,0x40($s0)
/* f083e7c: 31cf0080 */ andi $t7,$t6,0x80
/* f083e80: 11e00002 */ beqz $t7,.L0f083e8c
/* f083e84: 00000000 */ nop
/* f083e88: 8e110048 */ lw $s1,0x48($s0)
.L0f083e8c:
/* f083e8c: 52200083 */ beqzl $s1,.L0f08409c
/* f083e90: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e94: 0c004b70 */ jal random
/* f083e98: 00000000 */ nop
/* f083e9c: 44822000 */ mtc1 $v0,$f4
/* f083ea0: 3c014f80 */ lui $at,0x4f80
/* f083ea4: 04410004 */ bgez $v0,.L0f083eb8
/* f083ea8: 468021a0 */ cvt.s.w $f6,$f4
/* f083eac: 44814000 */ mtc1 $at,$f8
/* f083eb0: 00000000 */ nop
/* f083eb4: 46083180 */ add.s $f6,$f6,$f8
.L0f083eb8:
/* f083eb8: 3c012f80 */ lui $at,0x2f80
/* f083ebc: 44815000 */ mtc1 $at,$f10
/* f083ec0: 3c017f1b */ lui $at,%hi(var7f1aa97c)
/* f083ec4: c432a97c */ lwc1 $f18,%lo(var7f1aa97c)($at)
/* f083ec8: 460a3402 */ mul.s $f16,$f6,$f10
/* f083ecc: 3c017f1b */ lui $at,%hi(var7f1aa980)
/* f083ed0: c428a980 */ lwc1 $f8,%lo(var7f1aa980)($at)
/* f083ed4: 46128102 */ mul.s $f4,$f16,$f18
/* f083ed8: 46082181 */ sub.s $f6,$f4,$f8
/* f083edc: 0c004b70 */ jal random
/* f083ee0: e6260004 */ swc1 $f6,0x4($s1)
/* f083ee4: 44825000 */ mtc1 $v0,$f10
/* f083ee8: 3c014f80 */ lui $at,0x4f80
/* f083eec: 04410004 */ bgez $v0,.L0f083f00
/* f083ef0: 46805420 */ cvt.s.w $f16,$f10
/* f083ef4: 44819000 */ mtc1 $at,$f18
/* f083ef8: 00000000 */ nop
/* f083efc: 46128400 */ add.s $f16,$f16,$f18
.L0f083f00:
/* f083f00: 3c012f80 */ lui $at,0x2f80
/* f083f04: 44812000 */ mtc1 $at,$f4
/* f083f08: 3c017f1b */ lui $at,%hi(var7f1aa984)
/* f083f0c: c426a984 */ lwc1 $f6,%lo(var7f1aa984)($at)
/* f083f10: 46048202 */ mul.s $f8,$f16,$f4
/* f083f14: 3c017f1b */ lui $at,%hi(var7f1aa988)
/* f083f18: c432a988 */ lwc1 $f18,%lo(var7f1aa988)($at)
/* f083f1c: 46064282 */ mul.s $f10,$f8,$f6
/* f083f20: 46125400 */ add.s $f16,$f10,$f18
/* f083f24: 0c004b70 */ jal random
/* f083f28: e6300008 */ swc1 $f16,0x8($s1)
/* f083f2c: 44822000 */ mtc1 $v0,$f4
/* f083f30: 3c014f80 */ lui $at,0x4f80
/* f083f34: 04410004 */ bgez $v0,.L0f083f48
/* f083f38: 46802220 */ cvt.s.w $f8,$f4
/* f083f3c: 44813000 */ mtc1 $at,$f6
/* f083f40: 00000000 */ nop
/* f083f44: 46064200 */ add.s $f8,$f8,$f6
.L0f083f48:
/* f083f48: 3c012f80 */ lui $at,0x2f80
/* f083f4c: 44815000 */ mtc1 $at,$f10
/* f083f50: 3c017f1b */ lui $at,%hi(var7f1aa98c)
/* f083f54: c430a98c */ lwc1 $f16,%lo(var7f1aa98c)($at)
/* f083f58: 460a4482 */ mul.s $f18,$f8,$f10
/* f083f5c: 3c017f1b */ lui $at,%hi(var7f1aa990)
/* f083f60: c426a990 */ lwc1 $f6,%lo(var7f1aa990)($at)
/* f083f64: 46109102 */ mul.s $f4,$f18,$f16
/* f083f68: 46062201 */ sub.s $f8,$f4,$f6
/* f083f6c: e628000c */ swc1 $f8,0xc($s1)
/* f083f70: 8e18000c */ lw $t8,0xc($s0)
/* f083f74: 33190200 */ andi $t9,$t8,0x200
/* f083f78: 57200039 */ bnezl $t9,.L0f084060
/* f083f7c: 27a40024 */ addiu $a0,$sp,0x24
/* f083f80: 0c004b70 */ jal random
/* f083f84: 00000000 */ nop
/* f083f88: 44825000 */ mtc1 $v0,$f10
/* f083f8c: 3c014f80 */ lui $at,0x4f80
/* f083f90: 04410004 */ bgez $v0,.L0f083fa4
/* f083f94: 468054a0 */ cvt.s.w $f18,$f10
/* f083f98: 44818000 */ mtc1 $at,$f16
/* f083f9c: 00000000 */ nop
/* f083fa0: 46109480 */ add.s $f18,$f18,$f16
.L0f083fa4:
/* f083fa4: 3c012f80 */ lui $at,0x2f80
/* f083fa8: 44812000 */ mtc1 $at,$f4
/* f083fac: 3c017f1b */ lui $at,%hi(var7f1aa994)
/* f083fb0: c428a994 */ lwc1 $f8,%lo(var7f1aa994)($at)
/* f083fb4: 46049182 */ mul.s $f6,$f18,$f4
/* f083fb8: 3c017f1b */ lui $at,%hi(var7f1aa998)
/* f083fbc: c430a998 */ lwc1 $f16,%lo(var7f1aa998)($at)
/* f083fc0: 46083282 */ mul.s $f10,$f6,$f8
/* f083fc4: 46105481 */ sub.s $f18,$f10,$f16
/* f083fc8: 0c004b70 */ jal random
/* f083fcc: e7b20024 */ swc1 $f18,0x24($sp)
/* f083fd0: 44822000 */ mtc1 $v0,$f4
/* f083fd4: 3c014f80 */ lui $at,0x4f80
/* f083fd8: 04410004 */ bgez $v0,.L0f083fec
/* f083fdc: 468021a0 */ cvt.s.w $f6,$f4
/* f083fe0: 44814000 */ mtc1 $at,$f8
/* f083fe4: 00000000 */ nop
/* f083fe8: 46083180 */ add.s $f6,$f6,$f8
.L0f083fec:
/* f083fec: 3c012f80 */ lui $at,0x2f80
/* f083ff0: 44815000 */ mtc1 $at,$f10
/* f083ff4: 3c017f1b */ lui $at,%hi(var7f1aa99c)
/* f083ff8: c432a99c */ lwc1 $f18,%lo(var7f1aa99c)($at)
/* f083ffc: 460a3402 */ mul.s $f16,$f6,$f10
/* f084000: 3c017f1b */ lui $at,%hi(var7f1aa9a0)
/* f084004: c428a9a0 */ lwc1 $f8,%lo(var7f1aa9a0)($at)
/* f084008: 46128102 */ mul.s $f4,$f16,$f18
/* f08400c: 46082181 */ sub.s $f6,$f4,$f8
/* f084010: 0c004b70 */ jal random
/* f084014: e7a60028 */ swc1 $f6,0x28($sp)
/* f084018: 44825000 */ mtc1 $v0,$f10
/* f08401c: 3c014f80 */ lui $at,0x4f80
/* f084020: 04410004 */ bgez $v0,.L0f084034
/* f084024: 46805420 */ cvt.s.w $f16,$f10
/* f084028: 44819000 */ mtc1 $at,$f18
/* f08402c: 00000000 */ nop
/* f084030: 46128400 */ add.s $f16,$f16,$f18
.L0f084034:
/* f084034: 3c012f80 */ lui $at,0x2f80
/* f084038: 44812000 */ mtc1 $at,$f4
/* f08403c: 3c017f1b */ lui $at,%hi(var7f1aa9a4)
/* f084040: c426a9a4 */ lwc1 $f6,%lo(var7f1aa9a4)($at)
/* f084044: 46048202 */ mul.s $f8,$f16,$f4
/* f084048: 3c017f1b */ lui $at,%hi(var7f1aa9a8)
/* f08404c: c432a9a8 */ lwc1 $f18,%lo(var7f1aa9a8)($at)
/* f084050: 46064282 */ mul.s $f10,$f8,$f6
/* f084054: 46125401 */ sub.s $f16,$f10,$f18
/* f084058: e7b0002c */ swc1 $f16,0x2c($sp)
/* f08405c: 27a40024 */ addiu $a0,$sp,0x24
.L0f084060:
/* f084060: 0c005923 */ jal mtx4LoadRotation
/* f084064: 26250020 */ addiu $a1,$s1,0x20
/* f084068: 8e290000 */ lw $t1,0x0($s1)
/* f08406c: 2401feff */ addiu $at,$zero,-257
/* f084070: 35280001 */ ori $t0,$t1,0x1
/* f084074: ae280000 */ sw $t0,0x0($s1)
/* f084078: 8e0c0008 */ lw $t4,0x8($s0)
/* f08407c: 8e0b0040 */ lw $t3,0x40($s0)
/* f084080: 01815024 */ and $t2,$t4,$at
/* f084084: 3c01ffff */ lui $at,0xffff
/* f084088: 34217fff */ ori $at,$at,0x7fff
/* f08408c: 01616824 */ and $t5,$t3,$at
/* f084090: ae0a0008 */ sw $t2,0x8($s0)
/* f084094: ae0d0040 */ sw $t5,0x40($s0)
/* f084098: 8fbf001c */ lw $ra,0x1c($sp)
.L0f08409c:
/* f08409c: 8fb00014 */ lw $s0,0x14($sp)
/* f0840a0: 8fb10018 */ lw $s1,0x18($sp)
/* f0840a4: 03e00008 */ jr $ra
/* f0840a8: 27bd0030 */ addiu $sp,$sp,0x30
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f083db0
.late_rodata
glabel var7f1aa97c
.word 0x3fd55555
glabel var7f1aa980
.word 0x3f555555
glabel var7f1aa984
.word 0x40555555
glabel var7f1aa988
.word 0x3fd55555
glabel var7f1aa98c
.word 0x3fd55555
glabel var7f1aa990
.word 0x3f555555
glabel var7f1aa994
.word 0x3ba0d2ee
glabel var7f1aa998
.word 0x3b20d2ee
glabel var7f1aa99c
.word 0x3ba0d2ee
glabel var7f1aa9a0
.word 0x3b20d2ee
glabel var7f1aa9a4
.word 0x3ba0d2ee
glabel var7f1aa9a8
.word 0x3b20d2ee
.text
/* f083db0: 27bdffd0 */ addiu $sp,$sp,-48
/* f083db4: afbf001c */ sw $ra,0x1c($sp)
/* f083db8: afb10018 */ sw $s1,0x18($sp)
/* f083dbc: afb00014 */ sw $s0,0x14($sp)
/* f083dc0: 908e0003 */ lbu $t6,0x3($a0)
/* f083dc4: 2401000d */ addiu $at,$zero,0xd
/* f083dc8: 00808025 */ or $s0,$a0,$zero
/* f083dcc: 15c10004 */ bne $t6,$at,.L0f083de0
/* f083dd0: 3c0f800a */ lui $t7,%hi(g_Vars+0x318)
/* f083dd4: 8defa2d8 */ lw $t7,%lo(g_Vars+0x318)($t7)
/* f083dd8: 55e0000c */ bnezl $t7,.L0f083e0c
/* f083ddc: 8e0c000c */ lw $t4,0xc($s0)
.L0f083de0:
/* f083de0: 8e180040 */ lw $t8,0x40($s0)
/* f083de4: 3c010fff */ lui $at,0xfff
/* f083de8: 3421ffff */ ori $at,$at,0xffff
/* f083dec: 0301c824 */ and $t9,$t8,$at
/* f083df0: 3c01f000 */ lui $at,0xf000
/* f083df4: 00054f00 */ sll $t1,$a1,0x1c
/* f083df8: 01215024 */ and $t2,$t1,$at
/* f083dfc: ae190040 */ sw $t9,0x40($s0)
/* f083e00: 032a5825 */ or $t3,$t9,$t2
/* f083e04: ae0b0040 */ sw $t3,0x40($s0)
/* f083e08: 8e0c000c */ lw $t4,0xc($s0)
.L0f083e0c:
/* f083e0c: 318d0100 */ andi $t5,$t4,0x100
/* f083e10: 55a000a2 */ bnezl $t5,.L0f08409c
/* f083e14: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e18: 8e0e0010 */ lw $t6,0x10($s0)
/* f083e1c: 000e78c0 */ sll $t7,$t6,0x3
/* f083e20: 05e2009e */ bltzl $t7,.L0f08409c
/* f083e24: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e28: 8e180008 */ lw $t8,0x8($s0)
/* f083e2c: 33190009 */ andi $t9,$t8,0x9
/* f083e30: 5320009a */ beqzl $t9,.L0f08409c
/* f083e34: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e38: 8e090040 */ lw $t1,0x40($s0)
/* f083e3c: 3c0b8007 */ lui $t3,%hi(var8006abfc)
/* f083e40: 256babfc */ addiu $t3,$t3,%lo(var8006abfc)
/* f083e44: 312800c0 */ andi $t0,$t1,0xc0
/* f083e48: 55000094 */ bnezl $t0,.L0f08409c
/* f083e4c: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e50: 8d610000 */ lw $at,0x0($t3)
/* f083e54: 27aa0024 */ addiu $t2,$sp,0x24
/* f083e58: 8d6d0004 */ lw $t5,0x4($t3)
/* f083e5c: ad410000 */ sw $at,0x0($t2)
/* f083e60: 8d610008 */ lw $at,0x8($t3)
/* f083e64: ad4d0004 */ sw $t5,0x4($t2)
/* f083e68: 00008825 */ or $s1,$zero,$zero
/* f083e6c: ad410008 */ sw $at,0x8($t2)
/* f083e70: 0fc1a179 */ jal func0f0685e4
/* f083e74: 8e040014 */ lw $a0,0x14($s0)
/* f083e78: 8e0e0040 */ lw $t6,0x40($s0)
/* f083e7c: 31cf0080 */ andi $t7,$t6,0x80
/* f083e80: 11e00002 */ beqz $t7,.L0f083e8c
/* f083e84: 00000000 */ nop
/* f083e88: 8e110048 */ lw $s1,0x48($s0)
.L0f083e8c:
/* f083e8c: 52200083 */ beqzl $s1,.L0f08409c
/* f083e90: 8fbf001c */ lw $ra,0x1c($sp)
/* f083e94: 0c004b70 */ jal random
/* f083e98: 00000000 */ nop
/* f083e9c: 44822000 */ mtc1 $v0,$f4
/* f083ea0: 3c014f80 */ lui $at,0x4f80
/* f083ea4: 04410004 */ bgez $v0,.L0f083eb8
/* f083ea8: 468021a0 */ cvt.s.w $f6,$f4
/* f083eac: 44814000 */ mtc1 $at,$f8
/* f083eb0: 00000000 */ nop
/* f083eb4: 46083180 */ add.s $f6,$f6,$f8
.L0f083eb8:
/* f083eb8: 3c012f80 */ lui $at,0x2f80
/* f083ebc: 44815000 */ mtc1 $at,$f10
/* f083ec0: 3c017f1b */ lui $at,%hi(var7f1aa97c)
/* f083ec4: c432a97c */ lwc1 $f18,%lo(var7f1aa97c)($at)
/* f083ec8: 460a3402 */ mul.s $f16,$f6,$f10
/* f083ecc: 3c017f1b */ lui $at,%hi(var7f1aa980)
/* f083ed0: c428a980 */ lwc1 $f8,%lo(var7f1aa980)($at)
/* f083ed4: 46128102 */ mul.s $f4,$f16,$f18
/* f083ed8: 46082181 */ sub.s $f6,$f4,$f8
/* f083edc: 0c004b70 */ jal random
/* f083ee0: e6260004 */ swc1 $f6,0x4($s1)
/* f083ee4: 44825000 */ mtc1 $v0,$f10
/* f083ee8: 3c014f80 */ lui $at,0x4f80
/* f083eec: 04410004 */ bgez $v0,.L0f083f00
/* f083ef0: 46805420 */ cvt.s.w $f16,$f10
/* f083ef4: 44819000 */ mtc1 $at,$f18
/* f083ef8: 00000000 */ nop
/* f083efc: 46128400 */ add.s $f16,$f16,$f18
.L0f083f00:
/* f083f00: 3c012f80 */ lui $at,0x2f80
/* f083f04: 44812000 */ mtc1 $at,$f4
/* f083f08: 3c017f1b */ lui $at,%hi(var7f1aa984)
/* f083f0c: c426a984 */ lwc1 $f6,%lo(var7f1aa984)($at)
/* f083f10: 46048202 */ mul.s $f8,$f16,$f4
/* f083f14: 3c017f1b */ lui $at,%hi(var7f1aa988)
/* f083f18: c432a988 */ lwc1 $f18,%lo(var7f1aa988)($at)
/* f083f1c: 46064282 */ mul.s $f10,$f8,$f6
/* f083f20: 46125400 */ add.s $f16,$f10,$f18
/* f083f24: 0c004b70 */ jal random
/* f083f28: e6300008 */ swc1 $f16,0x8($s1)
/* f083f2c: 44822000 */ mtc1 $v0,$f4
/* f083f30: 3c014f80 */ lui $at,0x4f80
/* f083f34: 04410004 */ bgez $v0,.L0f083f48
/* f083f38: 46802220 */ cvt.s.w $f8,$f4
/* f083f3c: 44813000 */ mtc1 $at,$f6
/* f083f40: 00000000 */ nop
/* f083f44: 46064200 */ add.s $f8,$f8,$f6
.L0f083f48:
/* f083f48: 3c012f80 */ lui $at,0x2f80
/* f083f4c: 44815000 */ mtc1 $at,$f10
/* f083f50: 3c017f1b */ lui $at,%hi(var7f1aa98c)
/* f083f54: c430a98c */ lwc1 $f16,%lo(var7f1aa98c)($at)
/* f083f58: 460a4482 */ mul.s $f18,$f8,$f10
/* f083f5c: 3c017f1b */ lui $at,%hi(var7f1aa990)
/* f083f60: c426a990 */ lwc1 $f6,%lo(var7f1aa990)($at)
/* f083f64: 46109102 */ mul.s $f4,$f18,$f16
/* f083f68: 46062201 */ sub.s $f8,$f4,$f6
/* f083f6c: e628000c */ swc1 $f8,0xc($s1)
/* f083f70: 8e18000c */ lw $t8,0xc($s0)
/* f083f74: 33190200 */ andi $t9,$t8,0x200
/* f083f78: 57200039 */ bnezl $t9,.L0f084060
/* f083f7c: 27a40024 */ addiu $a0,$sp,0x24
/* f083f80: 0c004b70 */ jal random
/* f083f84: 00000000 */ nop
/* f083f88: 44825000 */ mtc1 $v0,$f10
/* f083f8c: 3c014f80 */ lui $at,0x4f80
/* f083f90: 04410004 */ bgez $v0,.L0f083fa4
/* f083f94: 468054a0 */ cvt.s.w $f18,$f10
/* f083f98: 44818000 */ mtc1 $at,$f16
/* f083f9c: 00000000 */ nop
/* f083fa0: 46109480 */ add.s $f18,$f18,$f16
.L0f083fa4:
/* f083fa4: 3c012f80 */ lui $at,0x2f80
/* f083fa8: 44812000 */ mtc1 $at,$f4
/* f083fac: 3c017f1b */ lui $at,%hi(var7f1aa994)
/* f083fb0: c428a994 */ lwc1 $f8,%lo(var7f1aa994)($at)
/* f083fb4: 46049182 */ mul.s $f6,$f18,$f4
/* f083fb8: 3c017f1b */ lui $at,%hi(var7f1aa998)
/* f083fbc: c430a998 */ lwc1 $f16,%lo(var7f1aa998)($at)
/* f083fc0: 46083282 */ mul.s $f10,$f6,$f8
/* f083fc4: 46105481 */ sub.s $f18,$f10,$f16
/* f083fc8: 0c004b70 */ jal random
/* f083fcc: e7b20024 */ swc1 $f18,0x24($sp)
/* f083fd0: 44822000 */ mtc1 $v0,$f4
/* f083fd4: 3c014f80 */ lui $at,0x4f80
/* f083fd8: 04410004 */ bgez $v0,.L0f083fec
/* f083fdc: 468021a0 */ cvt.s.w $f6,$f4
/* f083fe0: 44814000 */ mtc1 $at,$f8
/* f083fe4: 00000000 */ nop
/* f083fe8: 46083180 */ add.s $f6,$f6,$f8
.L0f083fec:
/* f083fec: 3c012f80 */ lui $at,0x2f80
/* f083ff0: 44815000 */ mtc1 $at,$f10
/* f083ff4: 3c017f1b */ lui $at,%hi(var7f1aa99c)
/* f083ff8: c432a99c */ lwc1 $f18,%lo(var7f1aa99c)($at)
/* f083ffc: 460a3402 */ mul.s $f16,$f6,$f10
/* f084000: 3c017f1b */ lui $at,%hi(var7f1aa9a0)
/* f084004: c428a9a0 */ lwc1 $f8,%lo(var7f1aa9a0)($at)
/* f084008: 46128102 */ mul.s $f4,$f16,$f18
/* f08400c: 46082181 */ sub.s $f6,$f4,$f8
/* f084010: 0c004b70 */ jal random
/* f084014: e7a60028 */ swc1 $f6,0x28($sp)
/* f084018: 44825000 */ mtc1 $v0,$f10
/* f08401c: 3c014f80 */ lui $at,0x4f80
/* f084020: 04410004 */ bgez $v0,.L0f084034
/* f084024: 46805420 */ cvt.s.w $f16,$f10
/* f084028: 44819000 */ mtc1 $at,$f18
/* f08402c: 00000000 */ nop
/* f084030: 46128400 */ add.s $f16,$f16,$f18
.L0f084034:
/* f084034: 3c012f80 */ lui $at,0x2f80
/* f084038: 44812000 */ mtc1 $at,$f4
/* f08403c: 3c017f1b */ lui $at,%hi(var7f1aa9a4)
/* f084040: c426a9a4 */ lwc1 $f6,%lo(var7f1aa9a4)($at)
/* f084044: 46048202 */ mul.s $f8,$f16,$f4
/* f084048: 3c017f1b */ lui $at,%hi(var7f1aa9a8)
/* f08404c: c432a9a8 */ lwc1 $f18,%lo(var7f1aa9a8)($at)
/* f084050: 46064282 */ mul.s $f10,$f8,$f6
/* f084054: 46125401 */ sub.s $f16,$f10,$f18
/* f084058: e7b0002c */ swc1 $f16,0x2c($sp)
/* f08405c: 27a40024 */ addiu $a0,$sp,0x24
.L0f084060:
/* f084060: 0c005923 */ jal mtx4LoadRotation
/* f084064: 26250020 */ addiu $a1,$s1,0x20
/* f084068: 8e290000 */ lw $t1,0x0($s1)
/* f08406c: 2401feff */ addiu $at,$zero,-257
/* f084070: 35280001 */ ori $t0,$t1,0x1
/* f084074: ae280000 */ sw $t0,0x0($s1)
/* f084078: 8e0c0008 */ lw $t4,0x8($s0)
/* f08407c: 8e0b0040 */ lw $t3,0x40($s0)
/* f084080: 01815024 */ and $t2,$t4,$at
/* f084084: 3c01ffff */ lui $at,0xffff
/* f084088: 34217fff */ ori $at,$at,0x7fff
/* f08408c: 01616824 */ and $t5,$t3,$at
/* f084090: ae0a0008 */ sw $t2,0x8($s0)
/* f084094: ae0d0040 */ sw $t5,0x40($s0)
/* f084098: 8fbf001c */ lw $ra,0x1c($sp)
.L0f08409c:
/* f08409c: 8fb00014 */ lw $s0,0x14($sp)
/* f0840a0: 8fb10018 */ lw $s1,0x18($sp)
/* f0840a4: 03e00008 */ jr $ra
/* f0840a8: 27bd0030 */ addiu $sp,$sp,0x30
);
#else
GLOBAL_ASM(
glabel func0f083db0
.late_rodata
glabel var7f1aa97c
.word 0x3fd55555
glabel var7f1aa980
.word 0x3f555555
glabel var7f1aa984
.word 0x40555555
glabel var7f1aa988
.word 0x3fd55555
glabel var7f1aa98c
.word 0x3fd55555
glabel var7f1aa990
.word 0x3f555555
glabel var7f1aa994
.word 0x3ba0d2ee
glabel var7f1aa998
.word 0x3b20d2ee
glabel var7f1aa99c
.word 0x3ba0d2ee
glabel var7f1aa9a0
.word 0x3b20d2ee
glabel var7f1aa9a4
.word 0x3ba0d2ee
glabel var7f1aa9a8
.word 0x3b20d2ee
.text
/* f082718: 27bdffc8 */ addiu $sp,$sp,-56
/* f08271c: afbf0024 */ sw $ra,0x24($sp)
/* f082720: afb10020 */ sw $s1,0x20($sp)
/* f082724: afb0001c */ sw $s0,0x1c($sp)
/* f082728: f7b40010 */ sdc1 $f20,0x10($sp)
/* f08272c: 8c8e0040 */ lw $t6,0x40($a0)
/* f082730: 3c010fff */ lui $at,0xfff
/* f082734: 3421ffff */ ori $at,$at,0xffff
/* f082738: 8c8a000c */ lw $t2,0xc($a0)
/* f08273c: 01c17824 */ and $t7,$t6,$at
/* f082740: 3c01f000 */ lui $at,0xf000
/* f082744: 0005cf00 */ sll $t9,$a1,0x1c
/* f082748: 03214024 */ and $t0,$t9,$at
/* f08274c: ac8f0040 */ sw $t7,0x40($a0)
/* f082750: 01e84825 */ or $t1,$t7,$t0
/* f082754: 314b0100 */ andi $t3,$t2,0x100
/* f082758: 00808025 */ or $s0,$a0,$zero
/* f08275c: 15600095 */ bnez $t3,.NB0f0829b4
/* f082760: ac890040 */ sw $t1,0x40($a0)
/* f082764: 8c8c0010 */ lw $t4,0x10($a0)
/* f082768: 000c68c0 */ sll $t5,$t4,0x3
/* f08276c: 05a20092 */ bltzl $t5,.NB0f0829b8
/* f082770: 8fbf0024 */ lw $ra,0x24($sp)
/* f082774: 8c8e0008 */ lw $t6,0x8($a0)
/* f082778: 313800c0 */ andi $t8,$t1,0xc0
/* f08277c: 31cf0009 */ andi $t7,$t6,0x9
/* f082780: 51e0008d */ beqzl $t7,.NB0f0829b8
/* f082784: 8fbf0024 */ lw $ra,0x24($sp)
/* f082788: 1700008a */ bnez $t8,.NB0f0829b4
/* f08278c: 3c098007 */ lui $t1,0x8007
/* f082790: 2529d2f8 */ addiu $t1,$t1,-11528
/* f082794: 8d210000 */ lw $at,0x0($t1)
/* f082798: 27a8002c */ addiu $t0,$sp,0x2c
/* f08279c: 8d2b0004 */ lw $t3,0x4($t1)
/* f0827a0: ad010000 */ sw $at,0x0($t0)
/* f0827a4: 8d210008 */ lw $at,0x8($t1)
/* f0827a8: ad0b0004 */ sw $t3,0x4($t0)
/* f0827ac: 00008825 */ or $s1,$zero,$zero
/* f0827b0: ad010008 */ sw $at,0x8($t0)
/* f0827b4: 0fc19e19 */ jal func0f0685e4
/* f0827b8: 8c840014 */ lw $a0,0x14($a0)
/* f0827bc: 8e0c0040 */ lw $t4,0x40($s0)
/* f0827c0: 318d0080 */ andi $t5,$t4,0x80
/* f0827c4: 11a00002 */ beqz $t5,.NB0f0827d0
/* f0827c8: 00000000 */ sll $zero,$zero,0x0
/* f0827cc: 8e110048 */ lw $s1,0x48($s0)
.NB0f0827d0:
/* f0827d0: 52200079 */ beqzl $s1,.NB0f0829b8
/* f0827d4: 8fbf0024 */ lw $ra,0x24($sp)
/* f0827d8: 0c004d84 */ jal random
/* f0827dc: 00000000 */ sll $zero,$zero,0x0
/* f0827e0: 44822000 */ mtc1 $v0,$f4
/* f0827e4: 3c012f80 */ lui $at,0x2f80
/* f0827e8: 4481a000 */ mtc1 $at,$f20
/* f0827ec: 04410005 */ bgez $v0,.NB0f082804
/* f0827f0: 468021a0 */ cvt.s.w $f6,$f4
/* f0827f4: 3c014f80 */ lui $at,0x4f80
/* f0827f8: 44814000 */ mtc1 $at,$f8
/* f0827fc: 00000000 */ sll $zero,$zero,0x0
/* f082800: 46083180 */ add.s $f6,$f6,$f8
.NB0f082804:
/* f082804: 46143282 */ mul.s $f10,$f6,$f20
/* f082808: 3c017f1a */ lui $at,0x7f1a
/* f08280c: c4304c98 */ lwc1 $f16,0x4c98($at)
/* f082810: 3c017f1a */ lui $at,0x7f1a
/* f082814: c4244c9c */ lwc1 $f4,0x4c9c($at)
/* f082818: 46105482 */ mul.s $f18,$f10,$f16
/* f08281c: 46049201 */ sub.s $f8,$f18,$f4
/* f082820: 0c004d84 */ jal random
/* f082824: e6280004 */ swc1 $f8,0x4($s1)
/* f082828: 44823000 */ mtc1 $v0,$f6
/* f08282c: 3c014f80 */ lui $at,0x4f80
/* f082830: 04410004 */ bgez $v0,.NB0f082844
/* f082834: 468032a0 */ cvt.s.w $f10,$f6
/* f082838: 44818000 */ mtc1 $at,$f16
/* f08283c: 00000000 */ sll $zero,$zero,0x0
/* f082840: 46105280 */ add.s $f10,$f10,$f16
.NB0f082844:
/* f082844: 46145482 */ mul.s $f18,$f10,$f20
/* f082848: 3c017f1a */ lui $at,0x7f1a
/* f08284c: c4244ca0 */ lwc1 $f4,0x4ca0($at)
/* f082850: 3c017f1a */ lui $at,0x7f1a
/* f082854: c4264ca4 */ lwc1 $f6,0x4ca4($at)
/* f082858: 46049202 */ mul.s $f8,$f18,$f4
/* f08285c: 46064400 */ add.s $f16,$f8,$f6
/* f082860: 0c004d84 */ jal random
/* f082864: e6300008 */ swc1 $f16,0x8($s1)
/* f082868: 44825000 */ mtc1 $v0,$f10
/* f08286c: 3c014f80 */ lui $at,0x4f80
/* f082870: 04410004 */ bgez $v0,.NB0f082884
/* f082874: 468054a0 */ cvt.s.w $f18,$f10
/* f082878: 44812000 */ mtc1 $at,$f4
/* f08287c: 00000000 */ sll $zero,$zero,0x0
/* f082880: 46049480 */ add.s $f18,$f18,$f4
.NB0f082884:
/* f082884: 46149202 */ mul.s $f8,$f18,$f20
/* f082888: 3c017f1a */ lui $at,0x7f1a
/* f08288c: c4264ca8 */ lwc1 $f6,0x4ca8($at)
/* f082890: 3c017f1a */ lui $at,0x7f1a
/* f082894: c42a4cac */ lwc1 $f10,0x4cac($at)
/* f082898: 46064402 */ mul.s $f16,$f8,$f6
/* f08289c: 460a8101 */ sub.s $f4,$f16,$f10
/* f0828a0: e624000c */ swc1 $f4,0xc($s1)
/* f0828a4: 8e0e000c */ lw $t6,0xc($s0)
/* f0828a8: 31cf0200 */ andi $t7,$t6,0x200
/* f0828ac: 55e00033 */ bnezl $t7,.NB0f08297c
/* f0828b0: 27a4002c */ addiu $a0,$sp,0x2c
/* f0828b4: 0c004d84 */ jal random
/* f0828b8: 00000000 */ sll $zero,$zero,0x0
/* f0828bc: 44829000 */ mtc1 $v0,$f18
/* f0828c0: 3c014f80 */ lui $at,0x4f80
/* f0828c4: 04410004 */ bgez $v0,.NB0f0828d8
/* f0828c8: 46809220 */ cvt.s.w $f8,$f18
/* f0828cc: 44813000 */ mtc1 $at,$f6
/* f0828d0: 00000000 */ sll $zero,$zero,0x0
/* f0828d4: 46064200 */ add.s $f8,$f8,$f6
.NB0f0828d8:
/* f0828d8: 46144402 */ mul.s $f16,$f8,$f20
/* f0828dc: 3c017f1a */ lui $at,0x7f1a
/* f0828e0: c42a4cb0 */ lwc1 $f10,0x4cb0($at)
/* f0828e4: 3c017f1a */ lui $at,0x7f1a
/* f0828e8: c4324cb4 */ lwc1 $f18,0x4cb4($at)
/* f0828ec: 460a8102 */ mul.s $f4,$f16,$f10
/* f0828f0: 46122181 */ sub.s $f6,$f4,$f18
/* f0828f4: 0c004d84 */ jal random
/* f0828f8: e7a6002c */ swc1 $f6,0x2c($sp)
/* f0828fc: 44824000 */ mtc1 $v0,$f8
/* f082900: 3c014f80 */ lui $at,0x4f80
/* f082904: 04410004 */ bgez $v0,.NB0f082918
/* f082908: 46804420 */ cvt.s.w $f16,$f8
/* f08290c: 44815000 */ mtc1 $at,$f10
/* f082910: 00000000 */ sll $zero,$zero,0x0
/* f082914: 460a8400 */ add.s $f16,$f16,$f10
.NB0f082918:
/* f082918: 46148102 */ mul.s $f4,$f16,$f20
/* f08291c: 3c017f1a */ lui $at,0x7f1a
/* f082920: c4324cb8 */ lwc1 $f18,0x4cb8($at)
/* f082924: 3c017f1a */ lui $at,0x7f1a
/* f082928: c4284cbc */ lwc1 $f8,0x4cbc($at)
/* f08292c: 46122182 */ mul.s $f6,$f4,$f18
/* f082930: 46083281 */ sub.s $f10,$f6,$f8
/* f082934: 0c004d84 */ jal random
/* f082938: e7aa0030 */ swc1 $f10,0x30($sp)
/* f08293c: 44828000 */ mtc1 $v0,$f16
/* f082940: 3c014f80 */ lui $at,0x4f80
/* f082944: 04410004 */ bgez $v0,.NB0f082958
/* f082948: 46808120 */ cvt.s.w $f4,$f16
/* f08294c: 44819000 */ mtc1 $at,$f18
/* f082950: 00000000 */ sll $zero,$zero,0x0
/* f082954: 46122100 */ add.s $f4,$f4,$f18
.NB0f082958:
/* f082958: 46142182 */ mul.s $f6,$f4,$f20
/* f08295c: 3c017f1a */ lui $at,0x7f1a
/* f082960: c4284cc0 */ lwc1 $f8,0x4cc0($at)
/* f082964: 3c017f1a */ lui $at,0x7f1a
/* f082968: c4304cc4 */ lwc1 $f16,0x4cc4($at)
/* f08296c: 46083282 */ mul.s $f10,$f6,$f8
/* f082970: 46105481 */ sub.s $f18,$f10,$f16
/* f082974: e7b20034 */ swc1 $f18,0x34($sp)
/* f082978: 27a4002c */ addiu $a0,$sp,0x2c
.NB0f08297c:
/* f08297c: 0c005d07 */ jal mtx4LoadRotation
/* f082980: 26250020 */ addiu $a1,$s1,0x20
/* f082984: 8e390000 */ lw $t9,0x0($s1)
/* f082988: 2401feff */ addiu $at,$zero,-257
/* f08298c: 37380001 */ ori $t8,$t9,0x1
/* f082990: ae380000 */ sw $t8,0x0($s1)
/* f082994: 8e0a0008 */ lw $t2,0x8($s0)
/* f082998: 8e090040 */ lw $t1,0x40($s0)
/* f08299c: 01414024 */ and $t0,$t2,$at
/* f0829a0: 3c01ffff */ lui $at,0xffff
/* f0829a4: 34217fff */ ori $at,$at,0x7fff
/* f0829a8: 01215824 */ and $t3,$t1,$at
/* f0829ac: ae080008 */ sw $t0,0x8($s0)
/* f0829b0: ae0b0040 */ sw $t3,0x40($s0)
.NB0f0829b4:
/* f0829b4: 8fbf0024 */ lw $ra,0x24($sp)
.NB0f0829b8:
/* f0829b8: d7b40010 */ ldc1 $f20,0x10($sp)
/* f0829bc: 8fb0001c */ lw $s0,0x1c($sp)
/* f0829c0: 8fb10020 */ lw $s1,0x20($sp)
/* f0829c4: 03e00008 */ jr $ra
/* f0829c8: 27bd0038 */ addiu $sp,$sp,0x38
);
#endif
u32 var8006abfc = 0x00000000;
u32 var8006ac00 = 0x00000000;
u32 var8006ac04 = 0x00000000;
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f0840ac
/* f0840ac: 27bdfda8 */ addiu $sp,$sp,-600
/* f0840b0: afb70030 */ sw $s7,0x30($sp)
/* f0840b4: 00a0b825 */ or $s7,$a1,$zero
/* f0840b8: afbf0034 */ sw $ra,0x34($sp)
/* f0840bc: afb6002c */ sw $s6,0x2c($sp)
/* f0840c0: 0080b025 */ or $s6,$a0,$zero
/* f0840c4: afb50028 */ sw $s5,0x28($sp)
/* f0840c8: afb40024 */ sw $s4,0x24($sp)
/* f0840cc: afb30020 */ sw $s3,0x20($sp)
/* f0840d0: afb2001c */ sw $s2,0x1c($sp)
/* f0840d4: afb10018 */ sw $s1,0x18($sp)
/* f0840d8: afb00014 */ sw $s0,0x14($sp)
/* f0840dc: 27a5004c */ addiu $a1,$sp,0x4c
/* f0840e0: 0fc198a4 */ jal propUpdateGeometry
/* f0840e4: 27a60048 */ addiu $a2,$sp,0x48
/* f0840e8: 10400031 */ beqz $v0,.L0f0841b0
/* f0840ec: 27b00050 */ addiu $s0,$sp,0x50
/* f0840f0: 26c40028 */ addiu $a0,$s6,0x28
/* f0840f4: 02002825 */ or $a1,$s0,$zero
/* f0840f8: 0fc197e0 */ jal roomGetProps
/* f0840fc: 24060100 */ addiu $a2,$zero,0x100
/* f084100: 87ae0050 */ lh $t6,0x50($sp)
/* f084104: 02008825 */ or $s1,$s0,$zero
/* f084108: 27af0050 */ addiu $t7,$sp,0x50
/* f08410c: 05c00028 */ bltz $t6,.L0f0841b0
/* f084110: 24150004 */ addiu $s5,$zero,0x4
/* f084114: 3c13800a */ lui $s3,%hi(g_Vars)
/* f084118: 26739fc0 */ addiu $s3,$s3,%lo(g_Vars)
/* f08411c: 85e30000 */ lh $v1,0x0($t7)
/* f084120: 24140001 */ addiu $s4,$zero,0x1
/* f084124: 24120048 */ addiu $s2,$zero,0x48
.L0f084128:
/* f084128: 00720019 */ multu $v1,$s2
/* f08412c: 8e790338 */ lw $t9,0x338($s3)
/* f084130: 0000c012 */ mflo $t8
/* f084134: 03191021 */ addu $v0,$t8,$t9
/* f084138: 90440000 */ lbu $a0,0x0($v0)
/* f08413c: 52840004 */ beql $s4,$a0,.L0f084150
/* f084140: 8c500004 */ lw $s0,0x4($v0)
/* f084144: 56a40017 */ bnel $s5,$a0,.L0f0841a4
/* f084148: 86230002 */ lh $v1,0x2($s1)
/* f08414c: 8c500004 */ lw $s0,0x4($v0)
.L0f084150:
/* f084150: 52000014 */ beqzl $s0,.L0f0841a4
/* f084154: 86230002 */ lh $v1,0x2($s1)
/* f084158: c6c4000c */ lwc1 $f4,0xc($s6)
/* f08415c: c446000c */ lwc1 $f6,0xc($v0)
/* f084160: 4606203c */ c.lt.s $f4,$f6
/* f084164: 00000000 */ nop
/* f084168: 4502000e */ bc1fl .L0f0841a4
/* f08416c: 86230002 */ lh $v1,0x2($s1)
/* f084170: 8e080040 */ lw $t0,0x40($s0)
/* f084174: 8fa6004c */ lw $a2,0x4c($sp)
/* f084178: 31098000 */ andi $t1,$t0,0x8000
/* f08417c: 51200009 */ beqzl $t1,.L0f0841a4
/* f084180: 86230002 */ lh $v1,0x2($s1)
/* f084184: c44c0008 */ lwc1 $f12,0x8($v0)
/* f084188: 0c0099a9 */ jal func000266a4
/* f08418c: c44e0010 */ lwc1 $f14,0x10($v0)
/* f084190: 10400003 */ beqz $v0,.L0f0841a0
/* f084194: 02002025 */ or $a0,$s0,$zero
/* f084198: 0fc20f6c */ jal func0f083db0
/* f08419c: 02e02825 */ or $a1,$s7,$zero
.L0f0841a0:
/* f0841a0: 86230002 */ lh $v1,0x2($s1)
.L0f0841a4:
/* f0841a4: 26310002 */ addiu $s1,$s1,0x2
/* f0841a8: 0461ffdf */ bgez $v1,.L0f084128
/* f0841ac: 00000000 */ nop
.L0f0841b0:
/* f0841b0: 8fbf0034 */ lw $ra,0x34($sp)
/* f0841b4: 8fb00014 */ lw $s0,0x14($sp)
/* f0841b8: 8fb10018 */ lw $s1,0x18($sp)
/* f0841bc: 8fb2001c */ lw $s2,0x1c($sp)
/* f0841c0: 8fb30020 */ lw $s3,0x20($sp)
/* f0841c4: 8fb40024 */ lw $s4,0x24($sp)
/* f0841c8: 8fb50028 */ lw $s5,0x28($sp)
/* f0841cc: 8fb6002c */ lw $s6,0x2c($sp)
/* f0841d0: 8fb70030 */ lw $s7,0x30($sp)
/* f0841d4: 03e00008 */ jr $ra
/* f0841d8: 27bd0258 */ addiu $sp,$sp,0x258
);
#else
GLOBAL_ASM(
glabel func0f0840ac
/* f0829cc: 27bdfda8 */ addiu $sp,$sp,-600
/* f0829d0: afb70030 */ sw $s7,0x30($sp)
/* f0829d4: 00a0b825 */ or $s7,$a1,$zero
/* f0829d8: afbf0034 */ sw $ra,0x34($sp)
/* f0829dc: afb6002c */ sw $s6,0x2c($sp)
/* f0829e0: 0080b025 */ or $s6,$a0,$zero
/* f0829e4: afb50028 */ sw $s5,0x28($sp)
/* f0829e8: afb40024 */ sw $s4,0x24($sp)
/* f0829ec: afb30020 */ sw $s3,0x20($sp)
/* f0829f0: afb2001c */ sw $s2,0x1c($sp)
/* f0829f4: afb10018 */ sw $s1,0x18($sp)
/* f0829f8: afb00014 */ sw $s0,0x14($sp)
/* f0829fc: 27a5004c */ addiu $a1,$sp,0x4c
/* f082a00: 0fc1953e */ jal propUpdateGeometry
/* f082a04: 27a60048 */ addiu $a2,$sp,0x48
/* f082a08: 1040002f */ beqz $v0,.NB0f082ac8
/* f082a0c: 27b00050 */ addiu $s0,$sp,0x50
/* f082a10: 26c40028 */ addiu $a0,$s6,0x28
/* f082a14: 02002825 */ or $a1,$s0,$zero
/* f082a18: 0fc1947a */ jal roomGetProps
/* f082a1c: 24060100 */ addiu $a2,$zero,0x100
/* f082a20: 87ae0050 */ lh $t6,0x50($sp)
/* f082a24: 02008825 */ or $s1,$s0,$zero
/* f082a28: 27af0050 */ addiu $t7,$sp,0x50
/* f082a2c: 05c00026 */ bltz $t6,.NB0f082ac8
/* f082a30: 24150004 */ addiu $s5,$zero,0x4
/* f082a34: 3c13800a */ lui $s3,0x800a
/* f082a38: 2673e6c0 */ addiu $s3,$s3,-6464
/* f082a3c: 85e30000 */ lh $v1,0x0($t7)
/* f082a40: 24140001 */ addiu $s4,$zero,0x1
/* f082a44: 24120048 */ addiu $s2,$zero,0x48
.NB0f082a48:
/* f082a48: 00720019 */ multu $v1,$s2
/* f082a4c: 8e790338 */ lw $t9,0x338($s3)
/* f082a50: 0000c012 */ mflo $t8
/* f082a54: 03191021 */ addu $v0,$t8,$t9
/* f082a58: 90440000 */ lbu $a0,0x0($v0)
/* f082a5c: 52840004 */ beql $s4,$a0,.NB0f082a70
/* f082a60: c6c4000c */ lwc1 $f4,0xc($s6)
/* f082a64: 56a40015 */ bnel $s5,$a0,.NB0f082abc
/* f082a68: 86230002 */ lh $v1,0x2($s1)
/* f082a6c: c6c4000c */ lwc1 $f4,0xc($s6)
.NB0f082a70:
/* f082a70: c446000c */ lwc1 $f6,0xc($v0)
/* f082a74: 8c500004 */ lw $s0,0x4($v0)
/* f082a78: 4606203c */ c.lt.s $f4,$f6
/* f082a7c: 00000000 */ sll $zero,$zero,0x0
/* f082a80: 4502000e */ bc1fl .NB0f082abc
/* f082a84: 86230002 */ lh $v1,0x2($s1)
/* f082a88: 8e080040 */ lw $t0,0x40($s0)
/* f082a8c: 8fa6004c */ lw $a2,0x4c($sp)
/* f082a90: 31098000 */ andi $t1,$t0,0x8000
/* f082a94: 51200009 */ beqzl $t1,.NB0f082abc
/* f082a98: 86230002 */ lh $v1,0x2($s1)
/* f082a9c: c44c0008 */ lwc1 $f12,0x8($v0)
/* f082aa0: 0c009ead */ jal func000266a4
/* f082aa4: c44e0010 */ lwc1 $f14,0x10($v0)
/* f082aa8: 10400003 */ beqz $v0,.NB0f082ab8
/* f082aac: 02002025 */ or $a0,$s0,$zero
/* f082ab0: 0fc209c6 */ jal func0f083db0
/* f082ab4: 02e02825 */ or $a1,$s7,$zero
.NB0f082ab8:
/* f082ab8: 86230002 */ lh $v1,0x2($s1)
.NB0f082abc:
/* f082abc: 26310002 */ addiu $s1,$s1,0x2
/* f082ac0: 0461ffe1 */ bgez $v1,.NB0f082a48
/* f082ac4: 00000000 */ sll $zero,$zero,0x0
.NB0f082ac8:
/* f082ac8: 8fbf0034 */ lw $ra,0x34($sp)
/* f082acc: 8fb00014 */ lw $s0,0x14($sp)
/* f082ad0: 8fb10018 */ lw $s1,0x18($sp)
/* f082ad4: 8fb2001c */ lw $s2,0x1c($sp)
/* f082ad8: 8fb30020 */ lw $s3,0x20($sp)
/* f082adc: 8fb40024 */ lw $s4,0x24($sp)
/* f082ae0: 8fb50028 */ lw $s5,0x28($sp)
/* f082ae4: 8fb6002c */ lw $s6,0x2c($sp)
/* f082ae8: 8fb70030 */ lw $s7,0x30($sp)
/* f082aec: 03e00008 */ jr $ra
/* f082af0: 27bd0258 */ addiu $sp,$sp,0x258
);
#endif
#if PAL
GLOBAL_ASM(
glabel func0f0841dc
/* f0841dc: 27bdff90 */ addiu $sp,$sp,-112
/* f0841e0: afbf0024 */ sw $ra,0x24($sp)
/* f0841e4: afb00020 */ sw $s0,0x20($sp)
/* f0841e8: afa50074 */ sw $a1,0x74($sp)
/* f0841ec: afa60078 */ sw $a2,0x78($sp)
/* f0841f0: 848f004c */ lh $t7,0x4c($a0)
/* f0841f4: 848e004e */ lh $t6,0x4e($a0)
/* f0841f8: 00808025 */ or $s0,$a0,$zero
/* f0841fc: 01cf082a */ slt $at,$t6,$t7
/* f084200: 54200006 */ bnezl $at,.L0f08421c
/* f084204: 86180004 */ lh $t8,0x4($s0)
/* f084208: 0fc1a1ee */ jal objGetDestroyedValue
/* f08420c: 00000000 */ nop
/* f084210: 504000dc */ beqzl $v0,.L0f084584
/* f084214: 8fbf0024 */ lw $ra,0x24($sp)
/* f084218: 86180004 */ lh $t8,0x4($s0)
.L0f08421c:
/* f08421c: 3c19800a */ lui $t9,%hi(g_Vars+0x2ac)
/* f084220: 8f39a26c */ lw $t9,%lo(g_Vars+0x2ac)($t9)
/* f084224: 8e050014 */ lw $a1,0x14($s0)
/* f084228: 3c068008 */ lui $a2,%hi(g_PropExplosionTypes+0x8)
/* f08422c: 24010006 */ addiu $at,$zero,0x6
/* f084230: 00d83021 */ addu $a2,$a2,$t8
/* f084234: 80c6be3c */ lb $a2,%lo(g_PropExplosionTypes+0x8)($a2)
/* f084238: 17210007 */ bne $t9,$at,.L0f084258
/* f08423c: 00a01825 */ or $v1,$a1,$zero
/* f084240: 3c08800a */ lui $t0,%hi(g_CutsceneAnimNum)
/* f084244: 8508de18 */ lh $t0,%lo(g_CutsceneAnimNum)($t0)
/* f084248: 240102d7 */ addiu $at,$zero,0x2d7
/* f08424c: 55010003 */ bnel $t0,$at,.L0f08425c
/* f084250: 8ca90018 */ lw $t1,0x18($a1)
/* f084254: 24060018 */ addiu $a2,$zero,0x18
.L0f084258:
/* f084258: 8ca90018 */ lw $t1,0x18($a1)
.L0f08425c:
/* f08425c: 02002025 */ or $a0,$s0,$zero
/* f084260: 51200007 */ beqzl $t1,.L0f084280
/* f084264: afa30068 */ sw $v1,0x68($sp)
/* f084268: 8c620018 */ lw $v0,0x18($v1)
/* f08426c: 00401825 */ or $v1,$v0,$zero
.L0f084270:
/* f084270: 8c420018 */ lw $v0,0x18($v0)
/* f084274: 5440fffe */ bnezl $v0,.L0f084270
/* f084278: 00401825 */ or $v1,$v0,$zero
/* f08427c: afa30068 */ sw $v1,0x68($sp)
.L0f084280:
/* f084280: afa5006c */ sw $a1,0x6c($sp)
/* f084284: 0fc1a1ee */ jal objGetDestroyedValue
/* f084288: a7a60066 */ sh $a2,0x66($sp)
/* f08428c: 14400079 */ bnez $v0,.L0f084474
/* f084290: 8fa30068 */ lw $v1,0x68($sp)
/* f084294: 920a0002 */ lbu $t2,0x2($s0)
/* f084298: a600004c */ sh $zero,0x4c($s0)
/* f08429c: 24640008 */ addiu $a0,$v1,0x8
/* f0842a0: 354b0040 */ ori $t3,$t2,0x40
/* f0842a4: a20b0002 */ sb $t3,0x2($s0)
/* f0842a8: afa30068 */ sw $v1,0x68($sp)
/* f0842ac: 8fa60074 */ lw $a2,0x74($sp)
/* f0842b0: 24650028 */ addiu $a1,$v1,0x28
/* f0842b4: 0fc1979d */ jal func0f065e74
/* f0842b8: 27a70054 */ addiu $a3,$sp,0x54
/* f0842bc: 8fac0078 */ lw $t4,0x78($sp)
/* f0842c0: 8fa4006c */ lw $a0,0x6c($sp)
/* f0842c4: 8fa50074 */ lw $a1,0x74($sp)
/* f0842c8: 27a60054 */ addiu $a2,$sp,0x54
/* f0842cc: 87a70066 */ lh $a3,0x66($sp)
/* f0842d0: 0fc4a650 */ jal explosionCreateComplex
/* f0842d4: afac0010 */ sw $t4,0x10($sp)
/* f0842d8: 8e0d000c */ lw $t5,0xc($s0)
/* f0842dc: 8fa30068 */ lw $v1,0x68($sp)
/* f0842e0: 31ae2000 */ andi $t6,$t5,0x2000
/* f0842e4: 51c00006 */ beqzl $t6,.L0f084300
/* f0842e8: 92020003 */ lbu $v0,0x3($s0)
/* f0842ec: 8e0f0040 */ lw $t7,0x40($s0)
/* f0842f0: 35f80004 */ ori $t8,$t7,0x4
/* f0842f4: 100000a2 */ b .L0f084580
/* f0842f8: ae180040 */ sw $t8,0x40($s0)
/* f0842fc: 92020003 */ lbu $v0,0x3($s0)
.L0f084300:
/* f084300: 24010039 */ addiu $at,$zero,0x39
/* f084304: 02002025 */ or $a0,$s0,$zero
/* f084308: 54410013 */ bnel $v0,$at,.L0f084358
/* f08430c: 24010037 */ addiu $at,$zero,0x37
/* f084310: 0fc20f6c */ jal func0f083db0
/* f084314: 8fa50078 */ lw $a1,0x78($sp)
/* f084318: 8e080008 */ lw $t0,0x8($s0)
/* f08431c: 24190002 */ addiu $t9,$zero,0x2
/* f084320: a2190096 */ sb $t9,0x96($s0)
/* f084324: 00084800 */ sll $t1,$t0,0x0
/* f084328: 05210003 */ bgez $t1,.L0f084338
/* f08432c: 240a0002 */ addiu $t2,$zero,0x2
/* f084330: 10000002 */ b .L0f08433c
/* f084334: ae0000c0 */ sw $zero,0xc0($s0)
.L0f084338:
/* f084338: ae0a00c0 */ sw $t2,0xc0($s0)
.L0f08433c:
/* f08433c: 8e0b0008 */ lw $t3,0x8($s0)
/* f084340: 3c017fff */ lui $at,0x7fff
/* f084344: 3421ffff */ ori $at,$at,0xffff
/* f084348: 01616024 */ and $t4,$t3,$at
/* f08434c: 1000008c */ b .L0f084580
/* f084350: ae0c0008 */ sw $t4,0x8($s0)
/* f084354: 24010037 */ addiu $at,$zero,0x37
.L0f084358:
/* f084358: 14410032 */ bne $v0,$at,.L0f084424
/* f08435c: 02002025 */ or $a0,$s0,$zero
/* f084360: 8e0d0008 */ lw $t5,0x8($s0)
/* f084364: 240f0001 */ addiu $t7,$zero,0x1
/* f084368: 241800fa */ addiu $t8,$zero,0xd0
/* f08436c: 000d7000 */ sll $t6,$t5,0x0
/* f084370: 05c1000e */ bgez $t6,.L0f0843ac
/* f084374: 24190032 */ addiu $t9,$zero,0x29
/* f084378: a60f0092 */ sh $t7,0x92($s0)
/* f08437c: a6180094 */ sh $t8,0x94($s0)
/* f084380: a6190096 */ sh $t9,0x96($s0)
/* f084384: 27a40040 */ addiu $a0,$sp,0x40
/* f084388: 27a50034 */ addiu $a1,$sp,0x34
/* f08438c: 00003025 */ or $a2,$zero,$zero
/* f084390: 0fc2832c */ jal bgunCalculateShotSpread
/* f084394: 00003825 */ or $a3,$zero,$zero
/* f084398: 02002025 */ or $a0,$s0,$zero
/* f08439c: 0fc209b3 */ jal func0f0826cc
/* f0843a0: 27a50034 */ addiu $a1,$sp,0x34
/* f0843a4: 10000077 */ b .L0f084584
/* f0843a8: 8fbf0024 */ lw $ra,0x24($sp)
.L0f0843ac:
/* f0843ac: 86020004 */ lh $v0,0x4($s0)
/* f0843b0: 24010086 */ addiu $at,$zero,0x86
/* f0843b4: 02002025 */ or $a0,$s0,$zero
/* f0843b8: 10410003 */ beq $v0,$at,.L0f0843c8
/* f0843bc: 24010087 */ addiu $at,$zero,0x87
/* f0843c0: 1441000e */ bne $v0,$at,.L0f0843fc
/* f0843c4: 8fa90078 */ lw $t1,0x78($sp)
.L0f0843c8:
/* f0843c8: 0fc20733 */ jal func0f081ccc
/* f0843cc: 2405000a */ addiu $a1,$zero,0xa
/* f0843d0: 3c014120 */ lui $at,0x4120
/* f0843d4: 44813000 */ mtc1 $at,$f6
/* f0843d8: c6040068 */ lwc1 $f4,0x68($s0)
/* f0843dc: 44800000 */ mtc1 $zero,$f0
/* f0843e0: 24080001 */ addiu $t0,$zero,0x1
/* f0843e4: 46062200 */ add.s $f8,$f4,$f6
/* f0843e8: a6080092 */ sh $t0,0x92($s0)
/* f0843ec: e6000064 */ swc1 $f0,0x64($s0)
/* f0843f0: e600006c */ swc1 $f0,0x6c($s0)
/* f0843f4: 10000062 */ b .L0f084580
/* f0843f8: e6080068 */ swc1 $f8,0x68($s0)
.L0f0843fc:
/* f0843fc: 8fa4006c */ lw $a0,0x6c($sp)
/* f084400: 87a70066 */ lh $a3,0x66($sp)
/* f084404: afa90010 */ sw $t1,0x10($sp)
/* f084408: 24850008 */ addiu $a1,$a0,0x8
/* f08440c: 0fc4a640 */ jal explosionCreateSimple
/* f084410: 24860028 */ addiu $a2,$a0,0x28
/* f084414: 0fc1c9bb */ jal hovercarStartNextPath
/* f084418: 02002025 */ or $a0,$s0,$zero
/* f08441c: 10000059 */ b .L0f084584
/* f084420: 8fbf0024 */ lw $ra,0x24($sp)
.L0f084424:
/* f084424: 24050001 */ addiu $a1,$zero,0x1
/* f084428: 0fc20733 */ jal func0f081ccc
/* f08442c: afa30068 */ sw $v1,0x68($sp)
/* f084430: 8fa30068 */ lw $v1,0x68($sp)
/* f084434: 8fa4006c */ lw $a0,0x6c($sp)
/* f084438: 54640052 */ bnel $v1,$a0,.L0f084584
/* f08443c: 8fbf0024 */ lw $ra,0x24($sp)
/* f084440: 0fc2102b */ jal func0f0840ac
/* f084444: 8fa50078 */ lw $a1,0x78($sp)
/* f084448: 8e020040 */ lw $v0,0x40($s0)
/* f08444c: 3c010001 */ lui $at,0x1
/* f084450: 02002025 */ or $a0,$s0,$zero
/* f084454: 304a8000 */ andi $t2,$v0,0x8000
/* f084458: 15400049 */ bnez $t2,.L0f084580
/* f08445c: 00415825 */ or $t3,$v0,$at
/* f084460: ae0b0040 */ sw $t3,0x40($s0)
/* f084464: 0fc20f6c */ jal func0f083db0
/* f084468: 8fa50078 */ lw $a1,0x78($sp)
/* f08446c: 10000045 */ b .L0f084584
/* f084470: 8fbf0024 */ lw $ra,0x24($sp)
.L0f084474:
/* f084474: 02002025 */ or $a0,$s0,$zero
/* f084478: 0fc1a1d8 */ jal objGetDestroyedThird
/* f08447c: afa30068 */ sw $v1,0x68($sp)
/* f084480: 304c0003 */ andi $t4,$v0,0x3
/* f084484: 8fa30068 */ lw $v1,0x68($sp)
/* f084488: 1580001b */ bnez $t4,.L0f0844f8
/* f08448c: afa20030 */ sw $v0,0x30($sp)
/* f084490: 92020003 */ lbu $v0,0x3($s0)
/* f084494: 24010039 */ addiu $at,$zero,0x39
/* f084498: 10410009 */ beq $v0,$at,.L0f0844c0
/* f08449c: 24010037 */ addiu $at,$zero,0x37
/* f0844a0: 10410007 */ beq $v0,$at,.L0f0844c0
/* f0844a4: 8fa50030 */ lw $a1,0x30($sp)
/* f0844a8: 00056883 */ sra $t5,$a1,0x2
/* f0844ac: 25a50001 */ addiu $a1,$t5,0x1
/* f0844b0: 02002025 */ or $a0,$s0,$zero
/* f0844b4: 0fc20733 */ jal func0f081ccc
/* f0844b8: afa30068 */ sw $v1,0x68($sp)
/* f0844bc: 8fa30068 */ lw $v1,0x68($sp)
.L0f0844c0:
/* f0844c0: 24640008 */ addiu $a0,$v1,0x8
/* f0844c4: 24650028 */ addiu $a1,$v1,0x28
/* f0844c8: 8fa60074 */ lw $a2,0x74($sp)
/* f0844cc: 0fc1979d */ jal func0f065e74
/* f0844d0: 27a70054 */ addiu $a3,$sp,0x54
/* f0844d4: 87ae0066 */ lh $t6,0x66($sp)
/* f0844d8: 8fa4006c */ lw $a0,0x6c($sp)
/* f0844dc: 8fa50074 */ lw $a1,0x74($sp)
/* f0844e0: 11c00005 */ beqz $t6,.L0f0844f8
/* f0844e4: 27a60054 */ addiu $a2,$sp,0x54
/* f0844e8: 8faf0078 */ lw $t7,0x78($sp)
/* f0844ec: 24070006 */ addiu $a3,$zero,0x6
/* f0844f0: 0fc4a640 */ jal explosionCreateSimple
/* f0844f4: afaf0010 */ sw $t7,0x10($sp)
.L0f0844f8:
/* f0844f8: 0fc1a1ee */ jal objGetDestroyedValue
/* f0844fc: 02002025 */ or $a0,$s0,$zero
/* f084500: 58400012 */ blezl $v0,.L0f08454c
/* f084504: 8fad0030 */ lw $t5,0x30($sp)
/* f084508: 92020002 */ lbu $v0,0x2($s0)
/* f08450c: 30580004 */ andi $t8,$v0,0x4
/* f084510: 5300000e */ beqzl $t8,.L0f08454c
/* f084514: 8fad0030 */ lw $t5,0x30($sp)
/* f084518: 8e190040 */ lw $t9,0x40($s0)
/* f08451c: 34490010 */ ori $t1,$v0,0x10
/* f084520: 304affef */ andi $t2,$v0,0xffef
/* f084524: 33281000 */ andi $t0,$t9,0x1000
/* f084528: 51000004 */ beqzl $t0,.L0f08453c
/* f08452c: a20a0002 */ sb $t2,0x2($s0)
/* f084530: 10000002 */ b .L0f08453c
/* f084534: a2090002 */ sb $t1,0x2($s0)
/* f084538: a20a0002 */ sb $t2,0x2($s0)
.L0f08453c:
/* f08453c: 8fac006c */ lw $t4,0x6c($sp)
/* f084540: 240b04b0 */ addiu $t3,$zero,0x3e8
/* f084544: a58b0002 */ sh $t3,0x2($t4)
/* f084548: 8fad0030 */ lw $t5,0x30($sp)
.L0f08454c:
/* f08454c: 29a1000c */ slti $at,$t5,0xc
/* f084550: 5420000c */ bnezl $at,.L0f084584
/* f084554: 8fbf0024 */ lw $ra,0x24($sp)
/* f084558: 8e0e0040 */ lw $t6,0x40($s0)
/* f08455c: 8e180010 */ lw $t8,0x10($s0)
/* f084560: 35cf1000 */ ori $t7,$t6,0x1000
/* f084564: 0018c8c0 */ sll $t9,$t8,0x3
/* f084568: 07200005 */ bltz $t9,.L0f084580
/* f08456c: ae0f0040 */ sw $t7,0x40($s0)
/* f084570: 8e080008 */ lw $t0,0x8($s0)
/* f084574: 2401feff */ addiu $at,$zero,-257
/* f084578: 01014824 */ and $t1,$t0,$at
/* f08457c: ae090008 */ sw $t1,0x8($s0)
.L0f084580:
/* f084580: 8fbf0024 */ lw $ra,0x24($sp)
.L0f084584:
/* f084584: 8fb00020 */ lw $s0,0x20($sp)
/* f084588: 27bd0070 */ addiu $sp,$sp,0x70
/* f08458c: 03e00008 */ jr $ra
/* f084590: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel func0f0841dc
/* f0841dc: 27bdff90 */ addiu $sp,$sp,-112
/* f0841e0: afbf0024 */ sw $ra,0x24($sp)
/* f0841e4: afb00020 */ sw $s0,0x20($sp)
/* f0841e8: afa50074 */ sw $a1,0x74($sp)
/* f0841ec: afa60078 */ sw $a2,0x78($sp)
/* f0841f0: 848f004c */ lh $t7,0x4c($a0)
/* f0841f4: 848e004e */ lh $t6,0x4e($a0)
/* f0841f8: 00808025 */ or $s0,$a0,$zero
/* f0841fc: 01cf082a */ slt $at,$t6,$t7
/* f084200: 54200006 */ bnezl $at,.L0f08421c
/* f084204: 86180004 */ lh $t8,0x4($s0)
/* f084208: 0fc1a1ee */ jal objGetDestroyedValue
/* f08420c: 00000000 */ nop
/* f084210: 504000dc */ beqzl $v0,.L0f084584
/* f084214: 8fbf0024 */ lw $ra,0x24($sp)
/* f084218: 86180004 */ lh $t8,0x4($s0)
.L0f08421c:
/* f08421c: 3c19800a */ lui $t9,%hi(g_Vars+0x2ac)
/* f084220: 8f39a26c */ lw $t9,%lo(g_Vars+0x2ac)($t9)
/* f084224: 8e050014 */ lw $a1,0x14($s0)
/* f084228: 3c068008 */ lui $a2,%hi(g_PropExplosionTypes+0x8)
/* f08422c: 24010006 */ addiu $at,$zero,0x6
/* f084230: 00d83021 */ addu $a2,$a2,$t8
/* f084234: 80c6be3c */ lb $a2,%lo(g_PropExplosionTypes+0x8)($a2)
/* f084238: 17210007 */ bne $t9,$at,.L0f084258
/* f08423c: 00a01825 */ or $v1,$a1,$zero
/* f084240: 3c08800a */ lui $t0,%hi(g_CutsceneAnimNum)
/* f084244: 8508de18 */ lh $t0,%lo(g_CutsceneAnimNum)($t0)
/* f084248: 240102d7 */ addiu $at,$zero,0x2d7
/* f08424c: 55010003 */ bnel $t0,$at,.L0f08425c
/* f084250: 8ca90018 */ lw $t1,0x18($a1)
/* f084254: 24060018 */ addiu $a2,$zero,0x18
.L0f084258:
/* f084258: 8ca90018 */ lw $t1,0x18($a1)
.L0f08425c:
/* f08425c: 02002025 */ or $a0,$s0,$zero
/* f084260: 51200007 */ beqzl $t1,.L0f084280
/* f084264: afa30068 */ sw $v1,0x68($sp)
/* f084268: 8c620018 */ lw $v0,0x18($v1)
/* f08426c: 00401825 */ or $v1,$v0,$zero
.L0f084270:
/* f084270: 8c420018 */ lw $v0,0x18($v0)
/* f084274: 5440fffe */ bnezl $v0,.L0f084270
/* f084278: 00401825 */ or $v1,$v0,$zero
/* f08427c: afa30068 */ sw $v1,0x68($sp)
.L0f084280:
/* f084280: afa5006c */ sw $a1,0x6c($sp)
/* f084284: 0fc1a1ee */ jal objGetDestroyedValue
/* f084288: a7a60066 */ sh $a2,0x66($sp)
/* f08428c: 14400079 */ bnez $v0,.L0f084474
/* f084290: 8fa30068 */ lw $v1,0x68($sp)
/* f084294: 920a0002 */ lbu $t2,0x2($s0)
/* f084298: a600004c */ sh $zero,0x4c($s0)
/* f08429c: 24640008 */ addiu $a0,$v1,0x8
/* f0842a0: 354b0040 */ ori $t3,$t2,0x40
/* f0842a4: a20b0002 */ sb $t3,0x2($s0)
/* f0842a8: afa30068 */ sw $v1,0x68($sp)
/* f0842ac: 8fa60074 */ lw $a2,0x74($sp)
/* f0842b0: 24650028 */ addiu $a1,$v1,0x28
/* f0842b4: 0fc1979d */ jal func0f065e74
/* f0842b8: 27a70054 */ addiu $a3,$sp,0x54
/* f0842bc: 8fac0078 */ lw $t4,0x78($sp)
/* f0842c0: 8fa4006c */ lw $a0,0x6c($sp)
/* f0842c4: 8fa50074 */ lw $a1,0x74($sp)
/* f0842c8: 27a60054 */ addiu $a2,$sp,0x54
/* f0842cc: 87a70066 */ lh $a3,0x66($sp)
/* f0842d0: 0fc4a650 */ jal explosionCreateComplex
/* f0842d4: afac0010 */ sw $t4,0x10($sp)
/* f0842d8: 8e0d000c */ lw $t5,0xc($s0)
/* f0842dc: 8fa30068 */ lw $v1,0x68($sp)
/* f0842e0: 31ae2000 */ andi $t6,$t5,0x2000
/* f0842e4: 51c00006 */ beqzl $t6,.L0f084300
/* f0842e8: 92020003 */ lbu $v0,0x3($s0)
/* f0842ec: 8e0f0040 */ lw $t7,0x40($s0)
/* f0842f0: 35f80004 */ ori $t8,$t7,0x4
/* f0842f4: 100000a2 */ b .L0f084580
/* f0842f8: ae180040 */ sw $t8,0x40($s0)
/* f0842fc: 92020003 */ lbu $v0,0x3($s0)
.L0f084300:
/* f084300: 24010039 */ addiu $at,$zero,0x39
/* f084304: 02002025 */ or $a0,$s0,$zero
/* f084308: 54410013 */ bnel $v0,$at,.L0f084358
/* f08430c: 24010037 */ addiu $at,$zero,0x37
/* f084310: 0fc20f6c */ jal func0f083db0
/* f084314: 8fa50078 */ lw $a1,0x78($sp)
/* f084318: 8e080008 */ lw $t0,0x8($s0)
/* f08431c: 24190002 */ addiu $t9,$zero,0x2
/* f084320: a2190096 */ sb $t9,0x96($s0)
/* f084324: 00084800 */ sll $t1,$t0,0x0
/* f084328: 05210003 */ bgez $t1,.L0f084338
/* f08432c: 240a0002 */ addiu $t2,$zero,0x2
/* f084330: 10000002 */ b .L0f08433c
/* f084334: ae0000c0 */ sw $zero,0xc0($s0)
.L0f084338:
/* f084338: ae0a00c0 */ sw $t2,0xc0($s0)
.L0f08433c:
/* f08433c: 8e0b0008 */ lw $t3,0x8($s0)
/* f084340: 3c017fff */ lui $at,0x7fff
/* f084344: 3421ffff */ ori $at,$at,0xffff
/* f084348: 01616024 */ and $t4,$t3,$at
/* f08434c: 1000008c */ b .L0f084580
/* f084350: ae0c0008 */ sw $t4,0x8($s0)
/* f084354: 24010037 */ addiu $at,$zero,0x37
.L0f084358:
/* f084358: 14410032 */ bne $v0,$at,.L0f084424
/* f08435c: 02002025 */ or $a0,$s0,$zero
/* f084360: 8e0d0008 */ lw $t5,0x8($s0)
/* f084364: 240f0001 */ addiu $t7,$zero,0x1
/* f084368: 241800fa */ addiu $t8,$zero,0xfa
/* f08436c: 000d7000 */ sll $t6,$t5,0x0
/* f084370: 05c1000e */ bgez $t6,.L0f0843ac
/* f084374: 24190032 */ addiu $t9,$zero,0x32
/* f084378: a60f0092 */ sh $t7,0x92($s0)
/* f08437c: a6180094 */ sh $t8,0x94($s0)
/* f084380: a6190096 */ sh $t9,0x96($s0)
/* f084384: 27a40040 */ addiu $a0,$sp,0x40
/* f084388: 27a50034 */ addiu $a1,$sp,0x34
/* f08438c: 00003025 */ or $a2,$zero,$zero
/* f084390: 0fc2832c */ jal bgunCalculateShotSpread
/* f084394: 00003825 */ or $a3,$zero,$zero
/* f084398: 02002025 */ or $a0,$s0,$zero
/* f08439c: 0fc209b3 */ jal func0f0826cc
/* f0843a0: 27a50034 */ addiu $a1,$sp,0x34
/* f0843a4: 10000077 */ b .L0f084584
/* f0843a8: 8fbf0024 */ lw $ra,0x24($sp)
.L0f0843ac:
/* f0843ac: 86020004 */ lh $v0,0x4($s0)
/* f0843b0: 24010086 */ addiu $at,$zero,0x86
/* f0843b4: 02002025 */ or $a0,$s0,$zero
/* f0843b8: 10410003 */ beq $v0,$at,.L0f0843c8
/* f0843bc: 24010087 */ addiu $at,$zero,0x87
/* f0843c0: 1441000e */ bne $v0,$at,.L0f0843fc
/* f0843c4: 8fa90078 */ lw $t1,0x78($sp)
.L0f0843c8:
/* f0843c8: 0fc20733 */ jal func0f081ccc
/* f0843cc: 2405000a */ addiu $a1,$zero,0xa
/* f0843d0: 3c014120 */ lui $at,0x4120
/* f0843d4: 44813000 */ mtc1 $at,$f6
/* f0843d8: c6040068 */ lwc1 $f4,0x68($s0)
/* f0843dc: 44800000 */ mtc1 $zero,$f0
/* f0843e0: 24080001 */ addiu $t0,$zero,0x1
/* f0843e4: 46062200 */ add.s $f8,$f4,$f6
/* f0843e8: a6080092 */ sh $t0,0x92($s0)
/* f0843ec: e6000064 */ swc1 $f0,0x64($s0)
/* f0843f0: e600006c */ swc1 $f0,0x6c($s0)
/* f0843f4: 10000062 */ b .L0f084580
/* f0843f8: e6080068 */ swc1 $f8,0x68($s0)
.L0f0843fc:
/* f0843fc: 8fa4006c */ lw $a0,0x6c($sp)
/* f084400: 87a70066 */ lh $a3,0x66($sp)
/* f084404: afa90010 */ sw $t1,0x10($sp)
/* f084408: 24850008 */ addiu $a1,$a0,0x8
/* f08440c: 0fc4a640 */ jal explosionCreateSimple
/* f084410: 24860028 */ addiu $a2,$a0,0x28
/* f084414: 0fc1c9bb */ jal hovercarStartNextPath
/* f084418: 02002025 */ or $a0,$s0,$zero
/* f08441c: 10000059 */ b .L0f084584
/* f084420: 8fbf0024 */ lw $ra,0x24($sp)
.L0f084424:
/* f084424: 24050001 */ addiu $a1,$zero,0x1
/* f084428: 0fc20733 */ jal func0f081ccc
/* f08442c: afa30068 */ sw $v1,0x68($sp)
/* f084430: 8fa30068 */ lw $v1,0x68($sp)
/* f084434: 8fa4006c */ lw $a0,0x6c($sp)
/* f084438: 54640052 */ bnel $v1,$a0,.L0f084584
/* f08443c: 8fbf0024 */ lw $ra,0x24($sp)
/* f084440: 0fc2102b */ jal func0f0840ac
/* f084444: 8fa50078 */ lw $a1,0x78($sp)
/* f084448: 8e020040 */ lw $v0,0x40($s0)
/* f08444c: 3c010001 */ lui $at,0x1
/* f084450: 02002025 */ or $a0,$s0,$zero
/* f084454: 304a8000 */ andi $t2,$v0,0x8000
/* f084458: 15400049 */ bnez $t2,.L0f084580
/* f08445c: 00415825 */ or $t3,$v0,$at
/* f084460: ae0b0040 */ sw $t3,0x40($s0)
/* f084464: 0fc20f6c */ jal func0f083db0
/* f084468: 8fa50078 */ lw $a1,0x78($sp)
/* f08446c: 10000045 */ b .L0f084584
/* f084470: 8fbf0024 */ lw $ra,0x24($sp)
.L0f084474:
/* f084474: 02002025 */ or $a0,$s0,$zero
/* f084478: 0fc1a1d8 */ jal objGetDestroyedThird
/* f08447c: afa30068 */ sw $v1,0x68($sp)
/* f084480: 304c0003 */ andi $t4,$v0,0x3
/* f084484: 8fa30068 */ lw $v1,0x68($sp)
/* f084488: 1580001b */ bnez $t4,.L0f0844f8
/* f08448c: afa20030 */ sw $v0,0x30($sp)
/* f084490: 92020003 */ lbu $v0,0x3($s0)
/* f084494: 24010039 */ addiu $at,$zero,0x39
/* f084498: 10410009 */ beq $v0,$at,.L0f0844c0
/* f08449c: 24010037 */ addiu $at,$zero,0x37
/* f0844a0: 10410007 */ beq $v0,$at,.L0f0844c0
/* f0844a4: 8fa50030 */ lw $a1,0x30($sp)
/* f0844a8: 00056883 */ sra $t5,$a1,0x2
/* f0844ac: 25a50001 */ addiu $a1,$t5,0x1
/* f0844b0: 02002025 */ or $a0,$s0,$zero
/* f0844b4: 0fc20733 */ jal func0f081ccc
/* f0844b8: afa30068 */ sw $v1,0x68($sp)
/* f0844bc: 8fa30068 */ lw $v1,0x68($sp)
.L0f0844c0:
/* f0844c0: 24640008 */ addiu $a0,$v1,0x8
/* f0844c4: 24650028 */ addiu $a1,$v1,0x28
/* f0844c8: 8fa60074 */ lw $a2,0x74($sp)
/* f0844cc: 0fc1979d */ jal func0f065e74
/* f0844d0: 27a70054 */ addiu $a3,$sp,0x54
/* f0844d4: 87ae0066 */ lh $t6,0x66($sp)
/* f0844d8: 8fa4006c */ lw $a0,0x6c($sp)
/* f0844dc: 8fa50074 */ lw $a1,0x74($sp)
/* f0844e0: 11c00005 */ beqz $t6,.L0f0844f8
/* f0844e4: 27a60054 */ addiu $a2,$sp,0x54
/* f0844e8: 8faf0078 */ lw $t7,0x78($sp)
/* f0844ec: 24070006 */ addiu $a3,$zero,0x6
/* f0844f0: 0fc4a640 */ jal explosionCreateSimple
/* f0844f4: afaf0010 */ sw $t7,0x10($sp)
.L0f0844f8:
/* f0844f8: 0fc1a1ee */ jal objGetDestroyedValue
/* f0844fc: 02002025 */ or $a0,$s0,$zero
/* f084500: 58400012 */ blezl $v0,.L0f08454c
/* f084504: 8fad0030 */ lw $t5,0x30($sp)
/* f084508: 92020002 */ lbu $v0,0x2($s0)
/* f08450c: 30580004 */ andi $t8,$v0,0x4
/* f084510: 5300000e */ beqzl $t8,.L0f08454c
/* f084514: 8fad0030 */ lw $t5,0x30($sp)
/* f084518: 8e190040 */ lw $t9,0x40($s0)
/* f08451c: 34490010 */ ori $t1,$v0,0x10
/* f084520: 304affef */ andi $t2,$v0,0xffef
/* f084524: 33281000 */ andi $t0,$t9,0x1000
/* f084528: 51000004 */ beqzl $t0,.L0f08453c
/* f08452c: a20a0002 */ sb $t2,0x2($s0)
/* f084530: 10000002 */ b .L0f08453c
/* f084534: a2090002 */ sb $t1,0x2($s0)
/* f084538: a20a0002 */ sb $t2,0x2($s0)
.L0f08453c:
/* f08453c: 8fac006c */ lw $t4,0x6c($sp)
/* f084540: 240b04b0 */ addiu $t3,$zero,0x4b0
/* f084544: a58b0002 */ sh $t3,0x2($t4)
/* f084548: 8fad0030 */ lw $t5,0x30($sp)
.L0f08454c:
/* f08454c: 29a1000c */ slti $at,$t5,0xc
/* f084550: 5420000c */ bnezl $at,.L0f084584
/* f084554: 8fbf0024 */ lw $ra,0x24($sp)
/* f084558: 8e0e0040 */ lw $t6,0x40($s0)
/* f08455c: 8e180010 */ lw $t8,0x10($s0)
/* f084560: 35cf1000 */ ori $t7,$t6,0x1000
/* f084564: 0018c8c0 */ sll $t9,$t8,0x3
/* f084568: 07200005 */ bltz $t9,.L0f084580
/* f08456c: ae0f0040 */ sw $t7,0x40($s0)
/* f084570: 8e080008 */ lw $t0,0x8($s0)
/* f084574: 2401feff */ addiu $at,$zero,-257
/* f084578: 01014824 */ and $t1,$t0,$at
/* f08457c: ae090008 */ sw $t1,0x8($s0)
.L0f084580:
/* f084580: 8fbf0024 */ lw $ra,0x24($sp)
.L0f084584:
/* f084584: 8fb00020 */ lw $s0,0x20($sp)
/* f084588: 27bd0070 */ addiu $sp,$sp,0x70
/* f08458c: 03e00008 */ jr $ra
/* f084590: 00000000 */ nop
);
#endif
GLOBAL_ASM(
glabel func0f084594
/* f084594: 27bdff20 */ addiu $sp,$sp,-224
/* f084598: afb00014 */ sw $s0,0x14($sp)
/* f08459c: afbf001c */ sw $ra,0x1c($sp)
/* f0845a0: afb10018 */ sw $s1,0x18($sp)
/* f0845a4: afa500e4 */ sw $a1,0xe4($sp)
/* f0845a8: afa700ec */ sw $a3,0xec($sp)
/* f0845ac: 8ca30004 */ lw $v1,0x4($a1)
/* f0845b0: 00808025 */ or $s0,$a0,$zero
/* f0845b4: 00a02025 */ or $a0,$a1,$zero
/* f0845b8: 00c08825 */ or $s1,$a2,$zero
/* f0845bc: 00002825 */ or $a1,$zero,$zero
/* f0845c0: 0c006949 */ jal model0001a524
/* f0845c4: afa300c8 */ sw $v1,0xc8($sp)
/* f0845c8: afa200d8 */ sw $v0,0xd8($sp)
/* f0845cc: 8e0f000c */ lw $t7,0xc($s0)
/* f0845d0: 0002c180 */ sll $t8,$v0,0x6
/* f0845d4: 27a5003c */ addiu $a1,$sp,0x3c
/* f0845d8: 0c005cbc */ jal mtx000172f0
/* f0845dc: 01f82021 */ addu $a0,$t7,$t8
/* f0845e0: c6240000 */ lwc1 $f4,0x0($s1)
/* f0845e4: 27b000b8 */ addiu $s0,$sp,0xb8
/* f0845e8: 02002825 */ or $a1,$s0,$zero
/* f0845ec: e7a400b8 */ swc1 $f4,0xb8($sp)
/* f0845f0: c6260004 */ lwc1 $f6,0x4($s1)
/* f0845f4: 27a4003c */ addiu $a0,$sp,0x3c
/* f0845f8: e7a600bc */ swc1 $f6,0xbc($sp)
/* f0845fc: c6280008 */ lwc1 $f8,0x8($s1)
/* f084600: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f084604: e7a800c0 */ swc1 $f8,0xc0($sp)
/* f084608: 8fa200ec */ lw $v0,0xec($sp)
/* f08460c: 27b100ac */ addiu $s1,$sp,0xac
/* f084610: 02202825 */ or $a1,$s1,$zero
/* f084614: c44a0000 */ lwc1 $f10,0x0($v0)
/* f084618: 27a4003c */ addiu $a0,$sp,0x3c
/* f08461c: e7aa00ac */ swc1 $f10,0xac($sp)
/* f084620: c4500004 */ lwc1 $f16,0x4($v0)
/* f084624: e7b000b0 */ swc1 $f16,0xb0($sp)
/* f084628: c4520008 */ lwc1 $f18,0x8($v0)
/* f08462c: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f084630: e7b200b4 */ swc1 $f18,0xb4($sp)
/* f084634: 3c018006 */ lui $at,%hi(var8005efc0)
/* f084638: 44806000 */ mtc1 $zero,$f12
/* f08463c: c420efc0 */ lwc1 $f0,%lo(var8005efc0)($at)
/* f084640: 8fa300c8 */ lw $v1,0xc8($sp)
/* f084644: 240d0001 */ addiu $t5,$zero,0x1
/* f084648: 46006032 */ c.eq.s $f12,$f0
/* f08464c: 24070001 */ addiu $a3,$zero,0x1
/* f084650: 27a400b8 */ addiu $a0,$sp,0xb8
/* f084654: 27a600a0 */ addiu $a2,$sp,0xa0
/* f084658: 45010014 */ bc1t .L0f0846ac
/* f08465c: 27a200c4 */ addiu $v0,$sp,0xc4
/* f084660: c4640004 */ lwc1 $f4,0x4($v1)
/* f084664: 46002181 */ sub.s $f6,$f4,$f0
/* f084668: e7a600a0 */ swc1 $f6,0xa0($sp)
/* f08466c: c468000c */ lwc1 $f8,0xc($v1)
/* f084670: 46004281 */ sub.s $f10,$f8,$f0
/* f084674: e7aa00a4 */ swc1 $f10,0xa4($sp)
/* f084678: c4700014 */ lwc1 $f16,0x14($v1)
/* f08467c: 46008481 */ sub.s $f18,$f16,$f0
/* f084680: e7b200a8 */ swc1 $f18,0xa8($sp)
/* f084684: c4640008 */ lwc1 $f4,0x8($v1)
/* f084688: 46002180 */ add.s $f6,$f4,$f0
/* f08468c: e7a60094 */ swc1 $f6,0x94($sp)
/* f084690: c4680010 */ lwc1 $f8,0x10($v1)
/* f084694: 46004280 */ add.s $f10,$f8,$f0
/* f084698: e7aa0098 */ swc1 $f10,0x98($sp)
/* f08469c: c4700018 */ lwc1 $f16,0x18($v1)
/* f0846a0: 46008480 */ add.s $f18,$f16,$f0
/* f0846a4: 1000000d */ b .L0f0846dc
/* f0846a8: e7b2009c */ swc1 $f18,0x9c($sp)
.L0f0846ac:
/* f0846ac: c4640004 */ lwc1 $f4,0x4($v1)
/* f0846b0: e7a400a0 */ swc1 $f4,0xa0($sp)
/* f0846b4: c466000c */ lwc1 $f6,0xc($v1)
/* f0846b8: e7a600a4 */ swc1 $f6,0xa4($sp)
/* f0846bc: c4680014 */ lwc1 $f8,0x14($v1)
/* f0846c0: e7a800a8 */ swc1 $f8,0xa8($sp)
/* f0846c4: c46a0008 */ lwc1 $f10,0x8($v1)
/* f0846c8: e7aa0094 */ swc1 $f10,0x94($sp)
/* f0846cc: c4700010 */ lwc1 $f16,0x10($v1)
/* f0846d0: e7b00098 */ swc1 $f16,0x98($sp)
/* f0846d4: c4720018 */ lwc1 $f18,0x18($v1)
/* f0846d8: e7b2009c */ swc1 $f18,0x9c($sp)
.L0f0846dc:
/* f0846dc: 8fac00f0 */ lw $t4,0xf0($sp)
/* f0846e0: 00001825 */ or $v1,$zero,$zero
/* f0846e4: 27ab0094 */ addiu $t3,$sp,0x94
/* f0846e8: 27aa00c7 */ addiu $t2,$sp,0xc7
/* f0846ec: 24090002 */ addiu $t1,$zero,0x2
/* f0846f0: 27a80088 */ addiu $t0,$sp,0x88
/* f0846f4: 24050001 */ addiu $a1,$zero,0x1
/* f0846f8: a5800028 */ sh $zero,0x28($t4)
.L0f0846fc:
/* f0846fc: c4800000 */ lwc1 $f0,0x0($a0)
/* f084700: c4c20000 */ lwc1 $f2,0x0($a2)
/* f084704: 24840004 */ addiu $a0,$a0,0x4
/* f084708: 24c60004 */ addiu $a2,$a2,0x4
/* f08470c: 4602003c */ c.lt.s $f0,$f2
/* f084710: 0103c821 */ addu $t9,$t0,$v1
/* f084714: 01637021 */ addu $t6,$t3,$v1
/* f084718: 45020006 */ bc1fl .L0f084734
/* f08471c: c5c20000 */ lwc1 $f2,0x0($t6)
/* f084720: a0450000 */ sb $a1,0x0($v0)
/* f084724: e7220000 */ swc1 $f2,0x0($t9)
/* f084728: 1000000c */ b .L0f08475c
/* f08472c: 00003825 */ or $a3,$zero,$zero
/* f084730: c5c20000 */ lwc1 $f2,0x0($t6)
.L0f084734:
/* f084734: 01037821 */ addu $t7,$t0,$v1
/* f084738: 4600103c */ c.lt.s $f2,$f0
/* f08473c: 00000000 */ nop
/* f084740: 45020006 */ bc1fl .L0f08475c
/* f084744: a0490000 */ sb $t1,0x0($v0)
/* f084748: a0400000 */ sb $zero,0x0($v0)
/* f08474c: e5e20000 */ swc1 $f2,0x0($t7)
/* f084750: 10000002 */ b .L0f08475c
/* f084754: 00003825 */ or $a3,$zero,$zero
/* f084758: a0490000 */ sb $t1,0x0($v0)
.L0f08475c:
/* f08475c: 24420001 */ addiu $v0,$v0,0x1
/* f084760: 004a082b */ sltu $at,$v0,$t2
/* f084764: 1420ffe5 */ bnez $at,.L0f0846fc
/* f084768: 24630004 */ addiu $v1,$v1,0x4
/* f08476c: 10e00010 */ beqz $a3,.L0f0847b0
/* f084770: 00001825 */ or $v1,$zero,$zero
/* f084774: 27a400b8 */ addiu $a0,$sp,0xb8
/* f084778: 01801025 */ or $v0,$t4,$zero
/* f08477c: 27a300c4 */ addiu $v1,$sp,0xc4
.L0f084780:
/* f084780: c4840000 */ lwc1 $f4,0x0($a0)
/* f084784: 24840004 */ addiu $a0,$a0,0x4
/* f084788: 24420004 */ addiu $v0,$v0,0x4
/* f08478c: 1483fffc */ bne $a0,$v1,.L0f084780
/* f084790: e444fffc */ swc1 $f4,-0x4($v0)
/* f084794: 3c013f80 */ lui $at,0x3f80
/* f084798: 44810000 */ mtc1 $at,$f0
/* f08479c: e58c000c */ swc1 $f12,0xc($t4)
/* f0847a0: e58c0014 */ swc1 $f12,0x14($t4)
/* f0847a4: a5890028 */ sh $t1,0x28($t4)
/* f0847a8: 1000007f */ b .L0f0849a8
/* f0847ac: e5800010 */ swc1 $f0,0x10($t4)
.L0f0847b0:
/* f0847b0: 3c01bf80 */ lui $at,0xbf80
/* f0847b4: 44811000 */ mtc1 $at,$f2
/* f0847b8: 27a200c4 */ addiu $v0,$sp,0xc4
/* f0847bc: 27a4007c */ addiu $a0,$sp,0x7c
/* f0847c0: 27a50088 */ addiu $a1,$sp,0x88
.L0f0847c4:
/* f0847c4: 80580000 */ lb $t8,0x0($v0)
/* f0847c8: 24420001 */ addiu $v0,$v0,0x1
/* f0847cc: 0223c821 */ addu $t9,$s1,$v1
/* f0847d0: 5138000f */ beql $t1,$t8,.L0f084810
/* f0847d4: e4820000 */ swc1 $f2,0x0($a0)
/* f0847d8: c7200000 */ lwc1 $f0,0x0($t9)
/* f0847dc: 01037021 */ addu $t6,$t0,$v1
/* f0847e0: 02037821 */ addu $t7,$s0,$v1
/* f0847e4: 46006032 */ c.eq.s $f12,$f0
/* f0847e8: 00000000 */ nop
/* f0847ec: 45030008 */ bc1tl .L0f084810
/* f0847f0: e4820000 */ swc1 $f2,0x0($a0)
/* f0847f4: c5c60000 */ lwc1 $f6,0x0($t6)
/* f0847f8: c5e80000 */ lwc1 $f8,0x0($t7)
/* f0847fc: 46083281 */ sub.s $f10,$f6,$f8
/* f084800: 46005403 */ div.s $f16,$f10,$f0
/* f084804: 10000002 */ b .L0f084810
/* f084808: e4900000 */ swc1 $f16,0x0($a0)
/* f08480c: e4820000 */ swc1 $f2,0x0($a0)
.L0f084810:
/* f084810: 24840004 */ addiu $a0,$a0,0x4
/* f084814: 0085082b */ sltu $at,$a0,$a1
/* f084818: 1420ffea */ bnez $at,.L0f0847c4
/* f08481c: 24630004 */ addiu $v1,$v1,0x4
/* f084820: 27a7007c */ addiu $a3,$sp,0x7c
/* f084824: 00003025 */ or $a2,$zero,$zero
/* f084828: c4e00000 */ lwc1 $f0,0x0($a3)
/* f08482c: 24050001 */ addiu $a1,$zero,0x1
/* f084830: 27a40080 */ addiu $a0,$sp,0x80
.L0f084834:
/* f084834: c4920000 */ lwc1 $f18,0x0($a0)
/* f084838: 0005c880 */ sll $t9,$a1,0x2
/* f08483c: 27ae007c */ addiu $t6,$sp,0x7c
/* f084840: 4612003c */ c.lt.s $f0,$f18
/* f084844: 00000000 */ nop
/* f084848: 45020005 */ bc1fl .L0f084860
/* f08484c: 24a50001 */ addiu $a1,$a1,0x1
/* f084850: 032e3821 */ addu $a3,$t9,$t6
/* f084854: c4e00000 */ lwc1 $f0,0x0($a3)
/* f084858: 00a03025 */ or $a2,$a1,$zero
/* f08485c: 24a50001 */ addiu $a1,$a1,0x1
.L0f084860:
/* f084860: 28a10003 */ slti $at,$a1,0x3
/* f084864: 1420fff3 */ bnez $at,.L0f084834
/* f084868: 24840004 */ addiu $a0,$a0,0x4
/* f08486c: 460c003c */ c.lt.s $f0,$f12
/* f084870: 00067880 */ sll $t7,$a2,0x2
/* f084874: 01ec2021 */ addu $a0,$t7,$t4
/* f084878: 00001825 */ or $v1,$zero,$zero
/* f08487c: 45000003 */ bc1f .L0f08488c
/* f084880: 01801025 */ or $v0,$t4,$zero
/* f084884: 10000048 */ b .L0f0849a8
/* f084888: 00006825 */ or $t5,$zero,$zero
.L0f08488c:
/* f08488c: 27a500a0 */ addiu $a1,$sp,0xa0
.L0f084890:
/* f084890: 10820018 */ beq $a0,$v0,.L0f0848f4
/* f084894: 0103c021 */ addu $t8,$t0,$v1
/* f084898: 0223c021 */ addu $t8,$s1,$v1
/* f08489c: c7040000 */ lwc1 $f4,0x0($t8)
/* f0848a0: c4e60000 */ lwc1 $f6,0x0($a3)
/* f0848a4: 0203c821 */ addu $t9,$s0,$v1
/* f0848a8: c72a0000 */ lwc1 $f10,0x0($t9)
/* f0848ac: 46062202 */ mul.s $f8,$f4,$f6
/* f0848b0: 00a37021 */ addu $t6,$a1,$v1
/* f0848b4: 01637821 */ addu $t7,$t3,$v1
/* f0848b8: 460a4400 */ add.s $f16,$f8,$f10
/* f0848bc: e4500000 */ swc1 $f16,0x0($v0)
/* f0848c0: c5d20000 */ lwc1 $f18,0x0($t6)
/* f0848c4: c4400000 */ lwc1 $f0,0x0($v0)
/* f0848c8: 4612003c */ c.lt.s $f0,$f18
/* f0848cc: 00000000 */ nop
/* f0848d0: 45010006 */ bc1t .L0f0848ec
/* f0848d4: 00000000 */ nop
/* f0848d8: c5e40000 */ lwc1 $f4,0x0($t7)
/* f0848dc: 4600203c */ c.lt.s $f4,$f0
/* f0848e0: 00000000 */ nop
/* f0848e4: 45020006 */ bc1fl .L0f084900
/* f0848e8: 24630004 */ addiu $v1,$v1,0x4
.L0f0848ec:
/* f0848ec: 10000003 */ b .L0f0848fc
/* f0848f0: 00006825 */ or $t5,$zero,$zero
.L0f0848f4:
/* f0848f4: c7060000 */ lwc1 $f6,0x0($t8)
/* f0848f8: e4460000 */ swc1 $f6,0x0($v0)
.L0f0848fc:
/* f0848fc: 24630004 */ addiu $v1,$v1,0x4
.L0f084900:
/* f084900: 2861000c */ slti $at,$v1,0xc
/* f084904: 1420ffe2 */ bnez $at,.L0f084890
/* f084908: 24420004 */ addiu $v0,$v0,0x4
/* f08490c: 11a00026 */ beqz $t5,.L0f0849a8
/* f084910: 0006c840 */ sll $t9,$a2,0x1
/* f084914: a5990028 */ sh $t9,0x28($t4)
/* f084918: 03a67021 */ addu $t6,$sp,$a2
/* f08491c: 81ce00c4 */ lb $t6,0xc4($t6)
/* f084920: 00001825 */ or $v1,$zero,$zero
/* f084924: 01801025 */ or $v0,$t4,$zero
/* f084928: 15c00014 */ bnez $t6,.L0f08497c
/* f08492c: 00067880 */ sll $t7,$a2,0x2
/* f084930: 00067880 */ sll $t7,$a2,0x2
/* f084934: 3c013f80 */ lui $at,0x3f80
/* f084938: 25f80002 */ addiu $t8,$t7,0x2
/* f08493c: 0006c880 */ sll $t9,$a2,0x2
/* f084940: 44810000 */ mtc1 $at,$f0
/* f084944: a5980028 */ sh $t8,0x28($t4)
/* f084948: 032c2021 */ addu $a0,$t9,$t4
/* f08494c: 00001825 */ or $v1,$zero,$zero
/* f084950: 01801025 */ or $v0,$t4,$zero
/* f084954: 2405000c */ addiu $a1,$zero,0xc
.L0f084958:
/* f084958: 10440003 */ beq $v0,$a0,.L0f084968
/* f08495c: 24630004 */ addiu $v1,$v1,0x4
/* f084960: 10000002 */ b .L0f08496c
/* f084964: e44c000c */ swc1 $f12,0xc($v0)
.L0f084968:
/* f084968: e440000c */ swc1 $f0,0xc($v0)
.L0f08496c:
/* f08496c: 1465fffa */ bne $v1,$a1,.L0f084958
/* f084970: 24420004 */ addiu $v0,$v0,0x4
/* f084974: 1000000c */ b .L0f0849a8
/* f084978: 00000000 */ nop
.L0f08497c:
/* f08497c: 00067080 */ sll $t6,$a2,0x2
/* f084980: a58e0028 */ sh $t6,0x28($t4)
/* f084984: 01ec2021 */ addu $a0,$t7,$t4
/* f084988: 2405000c */ addiu $a1,$zero,0xc
.L0f08498c:
/* f08498c: 10440003 */ beq $v0,$a0,.L0f08499c
/* f084990: 24630004 */ addiu $v1,$v1,0x4
/* f084994: 10000002 */ b .L0f0849a0
/* f084998: e44c000c */ swc1 $f12,0xc($v0)
.L0f08499c:
/* f08499c: e442000c */ swc1 $f2,0xc($v0)
.L0f0849a0:
/* f0849a0: 1465fffa */ bne $v1,$a1,.L0f08498c
/* f0849a4: 24420004 */ addiu $v0,$v0,0x4
.L0f0849a8:
/* f0849a8: 11a00007 */ beqz $t5,.L0f0849c8
/* f0849ac: 01a01025 */ or $v0,$t5,$zero
/* f0849b0: 8fb800d8 */ lw $t8,0xd8($sp)
/* f0849b4: 8fb900f4 */ lw $t9,0xf4($sp)
/* f0849b8: af380000 */ sw $t8,0x0($t9)
/* f0849bc: 8faf00f8 */ lw $t7,0xf8($sp)
/* f0849c0: 8fae00e4 */ lw $t6,0xe4($sp)
/* f0849c4: adee0000 */ sw $t6,0x0($t7)
.L0f0849c8:
/* f0849c8: 8fbf001c */ lw $ra,0x1c($sp)
/* f0849cc: 8fb00014 */ lw $s0,0x14($sp)
/* f0849d0: 8fb10018 */ lw $s1,0x18($sp)
/* f0849d4: 03e00008 */ jr $ra
/* f0849d8: 27bd00e0 */ addiu $sp,$sp,0xe0
);
GLOBAL_ASM(
glabel func0f0849dc
.late_rodata
glabel var7f1aa9ac
.word 0x46fffe00
glabel var7f1aa9b0
.word func0f0849dc+0xf4 # f084ad0
glabel var7f1aa9b4
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9b8
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9bc
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9c0
.word func0f0849dc+0x128 # f084b04
glabel var7f1aa9c4
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9c8
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9cc
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9d0
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9d4
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9d8
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9dc
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9e0
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9e4
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9e8
.word func0f0849dc+0x13c # f084b18
glabel var7f1aa9ec
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9f0
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9f4
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9f8
.word func0f0849dc+0x15c # f084b38
glabel var7f1aa9fc
.word func0f0849dc+0x150 # f084b2c
glabel var7f1aaa00
.word func0f0849dc+0x98 # f084a74
.text
/* f0849dc: 27bdff08 */ addiu $sp,$sp,-248
/* f0849e0: afbe0050 */ sw $s8,0x50($sp)
/* f0849e4: afb60048 */ sw $s6,0x48($sp)
/* f0849e8: afb20038 */ sw $s2,0x38($sp)
/* f0849ec: afb00030 */ sw $s0,0x30($sp)
/* f0849f0: 00a09025 */ or $s2,$a1,$zero
/* f0849f4: 0080b025 */ or $s6,$a0,$zero
/* f0849f8: afbf0054 */ sw $ra,0x54($sp)
/* f0849fc: afb7004c */ sw $s7,0x4c($sp)
/* f084a00: afb50044 */ sw $s5,0x44($sp)
/* f084a04: afb40040 */ sw $s4,0x40($sp)
/* f084a08: afb3003c */ sw $s3,0x3c($sp)
/* f084a0c: afb10034 */ sw $s1,0x34($sp)
/* f084a10: f7b40028 */ sdc1 $f20,0x28($sp)
/* f084a14: afa60100 */ sw $a2,0x100($sp)
/* f084a18: afa70104 */ sw $a3,0x104($sp)
/* f084a1c: afa000d0 */ sw $zero,0xd0($sp)
/* f084a20: afa000cc */ sw $zero,0xcc($sp)
/* f084a24: 00a08025 */ or $s0,$a1,$zero
/* f084a28: 10a0009f */ beqz $a1,.L0f084ca8
/* f084a2c: 0000f025 */ or $s8,$zero,$zero
/* f084a30: 3c017f1b */ lui $at,%hi(var7f1aa9ac)
/* f084a34: 3c1700ff */ lui $s7,0xff
/* f084a38: 36f7ffff */ ori $s7,$s7,0xffff
/* f084a3c: c434a9ac */ lwc1 $f20,%lo(var7f1aa9ac)($at)
/* f084a40: 96020000 */ lhu $v0,0x0($s0)
.L0f084a44:
/* f084a44: 00009825 */ or $s3,$zero,$zero
/* f084a48: 0000a825 */ or $s5,$zero,$zero
/* f084a4c: 304e00ff */ andi $t6,$v0,0xff
/* f084a50: 25cffffc */ addiu $t7,$t6,-4
/* f084a54: 2de10015 */ sltiu $at,$t7,0x15
/* f084a58: 10200037 */ beqz $at,.L0f084b38
/* f084a5c: 000f7880 */ sll $t7,$t7,0x2
/* f084a60: 3c017f1b */ lui $at,%hi(var7f1aa9b0)
/* f084a64: 002f0821 */ addu $at,$at,$t7
/* f084a68: 8c2fa9b0 */ lw $t7,%lo(var7f1aa9b0)($at)
/* f084a6c: 01e00008 */ jr $t7
/* f084a70: 00000000 */ nop
/* f084a74: 8e110004 */ lw $s1,0x4($s0)
/* f084a78: 02c02025 */ or $a0,$s6,$zero
/* f084a7c: 0c006a87 */ jal modelGetNodeRwData
/* f084a80: 02002825 */ or $a1,$s0,$zero
/* f084a84: 8c430004 */ lw $v1,0x4($v0)
/* f084a88: 1060002b */ beqz $v1,.L0f084b38
/* f084a8c: 00000000 */ nop
/* f084a90: 8e240000 */ lw $a0,0x0($s1)
/* f084a94: 00609825 */ or $s3,$v1,$zero
/* f084a98: 14830005 */ bne $a0,$v1,.L0f084ab0
/* f084a9c: 00000000 */ nop
/* f084aa0: 8e380008 */ lw $t8,0x8($s1)
/* f084aa4: 0097c824 */ and $t9,$a0,$s7
/* f084aa8: 10000001 */ b .L0f084ab0
/* f084aac: 03199821 */ addu $s3,$t8,$t9
.L0f084ab0:
/* f084ab0: 8e230004 */ lw $v1,0x4($s1)
/* f084ab4: 10600004 */ beqz $v1,.L0f084ac8
/* f084ab8: 00000000 */ nop
/* f084abc: 8e280008 */ lw $t0,0x8($s1)
/* f084ac0: 00774824 */ and $t1,$v1,$s7
/* f084ac4: 0109a821 */ addu $s5,$t0,$t1
.L0f084ac8:
/* f084ac8: 1000001b */ b .L0f084b38
/* f084acc: 8c5e0000 */ lw $s8,0x0($v0)
/* f084ad0: 8e020004 */ lw $v0,0x4($s0)
/* f084ad4: 8c440000 */ lw $a0,0x0($v0)
/* f084ad8: 10800017 */ beqz $a0,.L0f084b38
/* f084adc: 00000000 */ nop
/* f084ae0: 8c450004 */ lw $a1,0x4($v0)
/* f084ae4: 8c430008 */ lw $v1,0x8($v0)
/* f084ae8: 00975024 */ and $t2,$a0,$s7
/* f084aec: 10a00003 */ beqz $a1,.L0f084afc
/* f084af0: 006a9821 */ addu $s3,$v1,$t2
/* f084af4: 00b75824 */ and $t3,$a1,$s7
/* f084af8: 006ba821 */ addu $s5,$v1,$t3
.L0f084afc:
/* f084afc: 1000000e */ b .L0f084b38
/* f084b00: 0060f025 */ or $s8,$v1,$zero
/* f084b04: 02c02025 */ or $a0,$s6,$zero
/* f084b08: 0c0071e1 */ jal model0001c784
/* f084b0c: 02002825 */ or $a1,$s0,$zero
/* f084b10: 10000009 */ b .L0f084b38
/* f084b14: 00000000 */ nop
/* f084b18: 02c02025 */ or $a0,$s6,$zero
/* f084b1c: 0c0071f4 */ jal model0001c7d0
/* f084b20: 02002825 */ or $a1,$s0,$zero
/* f084b24: 10000004 */ b .L0f084b38
/* f084b28: 00000000 */ nop
/* f084b2c: 02c02025 */ or $a0,$s6,$zero
/* f084b30: 0c007207 */ jal modelAttachHead
/* f084b34: 02002825 */ or $a1,$s0,$zero
.L0f084b38:
/* f084b38: 12600043 */ beqz $s3,.L0f084c48
/* f084b3c: 02002025 */ or $a0,$s0,$zero
/* f084b40: 00002825 */ or $a1,$zero,$zero
/* f084b44: 0c006949 */ jal model0001a524
/* f084b48: 00008825 */ or $s1,$zero,$zero
/* f084b4c: 04400004 */ bltz $v0,.L0f084b60
/* f084b50: 0040a025 */ or $s4,$v0,$zero
/* f084b54: 8ecc000c */ lw $t4,0xc($s6)
/* f084b58: 00026980 */ sll $t5,$v0,0x6
/* f084b5c: 018d8821 */ addu $s1,$t4,$t5
.L0f084b60:
/* f084b60: 12200029 */ beqz $s1,.L0f084c08
/* f084b64: 8fae00d0 */ lw $t6,0xd0($sp)
/* f084b68: 122e0027 */ beq $s1,$t6,.L0f084c08
/* f084b6c: 02202025 */ or $a0,$s1,$zero
/* f084b70: afb100d0 */ sw $s1,0xd0($sp)
/* f084b74: 0c005cbc */ jal mtx000172f0
/* f084b78: 27a50064 */ addiu $a1,$sp,0x64
/* f084b7c: 8faf0100 */ lw $t7,0x100($sp)
/* f084b80: 27a40064 */ addiu $a0,$sp,0x64
/* f084b84: 27a500ec */ addiu $a1,$sp,0xec
/* f084b88: c5e40000 */ lwc1 $f4,0x0($t7)
/* f084b8c: e7a400ec */ swc1 $f4,0xec($sp)
/* f084b90: c5e60004 */ lwc1 $f6,0x4($t7)
/* f084b94: e7a600f0 */ swc1 $f6,0xf0($sp)
/* f084b98: c5e80008 */ lwc1 $f8,0x8($t7)
/* f084b9c: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f084ba0: e7a800f4 */ swc1 $f8,0xf4($sp)
/* f084ba4: 8fb80104 */ lw $t8,0x104($sp)
/* f084ba8: 27a40064 */ addiu $a0,$sp,0x64
/* f084bac: 27a500d4 */ addiu $a1,$sp,0xd4
/* f084bb0: c70a0000 */ lwc1 $f10,0x0($t8)
/* f084bb4: e7aa00d4 */ swc1 $f10,0xd4($sp)
/* f084bb8: c7100004 */ lwc1 $f16,0x4($t8)
/* f084bbc: e7b000d8 */ swc1 $f16,0xd8($sp)
/* f084bc0: c7120008 */ lwc1 $f18,0x8($t8)
/* f084bc4: 0c0056c4 */ jal mtx4RotateVecInPlace
/* f084bc8: e7b200dc */ swc1 $f18,0xdc($sp)
/* f084bcc: c7a400d4 */ lwc1 $f4,0xd4($sp)
/* f084bd0: c7a800ec */ lwc1 $f8,0xec($sp)
/* f084bd4: c7b000d8 */ lwc1 $f16,0xd8($sp)
/* f084bd8: 46142182 */ mul.s $f6,$f4,$f20
/* f084bdc: c7a400f0 */ lwc1 $f4,0xf0($sp)
/* f084be0: 46148482 */ mul.s $f18,$f16,$f20
/* f084be4: c7b000f4 */ lwc1 $f16,0xf4($sp)
/* f084be8: 46083280 */ add.s $f10,$f6,$f8
/* f084bec: c7a800dc */ lwc1 $f8,0xdc($sp)
/* f084bf0: 46049180 */ add.s $f6,$f18,$f4
/* f084bf4: e7aa00e0 */ swc1 $f10,0xe0($sp)
/* f084bf8: 46144282 */ mul.s $f10,$f8,$f20
/* f084bfc: e7a600e4 */ swc1 $f6,0xe4($sp)
/* f084c00: 46105480 */ add.s $f18,$f10,$f16
/* f084c04: e7b200e8 */ swc1 $f18,0xe8($sp)
.L0f084c08:
/* f084c08: 8fb90108 */ lw $t9,0x108($sp)
/* f084c0c: 27a400ec */ addiu $a0,$sp,0xec
/* f084c10: 27a500e0 */ addiu $a1,$sp,0xe0
/* f084c14: 27a600d4 */ addiu $a2,$sp,0xd4
/* f084c18: 02603825 */ or $a3,$s3,$zero
/* f084c1c: afb50010 */ sw $s5,0x10($sp)
/* f084c20: afbe0014 */ sw $s8,0x14($sp)
/* f084c24: 0fc57d58 */ jal func0f15f560
/* f084c28: afb90018 */ sw $t9,0x18($sp)
/* f084c2c: 10400006 */ beqz $v0,.L0f084c48
/* f084c30: 8fa8010c */ lw $t0,0x10c($sp)
/* f084c34: ad140000 */ sw $s4,0x0($t0)
/* f084c38: 8fa90110 */ lw $t1,0x110($sp)
/* f084c3c: 240a0001 */ addiu $t2,$zero,0x1
/* f084c40: ad300000 */ sw $s0,0x0($t1)
/* f084c44: afaa00cc */ sw $t2,0xcc($sp)
.L0f084c48:
/* f084c48: 8e020014 */ lw $v0,0x14($s0)
/* f084c4c: 8fab00cc */ lw $t3,0xcc($sp)
/* f084c50: 10400003 */ beqz $v0,.L0f084c60
/* f084c54: 00000000 */ nop
/* f084c58: 1000000f */ b .L0f084c98
/* f084c5c: 00408025 */ or $s0,$v0,$zero
.L0f084c60:
/* f084c60: 1200000d */ beqz $s0,.L0f084c98
/* f084c64: 00000000 */ nop
.L0f084c68:
/* f084c68: 56120004 */ bnel $s0,$s2,.L0f084c7c
/* f084c6c: 8e02000c */ lw $v0,0xc($s0)
/* f084c70: 10000009 */ b .L0f084c98
/* f084c74: 00008025 */ or $s0,$zero,$zero
/* f084c78: 8e02000c */ lw $v0,0xc($s0)
.L0f084c7c:
/* f084c7c: 50400004 */ beqzl $v0,.L0f084c90
/* f084c80: 8e100008 */ lw $s0,0x8($s0)
/* f084c84: 10000004 */ b .L0f084c98
/* f084c88: 00408025 */ or $s0,$v0,$zero
/* f084c8c: 8e100008 */ lw $s0,0x8($s0)
.L0f084c90:
/* f084c90: 1600fff5 */ bnez $s0,.L0f084c68
/* f084c94: 00000000 */ nop
.L0f084c98:
/* f084c98: 52000004 */ beqzl $s0,.L0f084cac
/* f084c9c: 8fbf0054 */ lw $ra,0x54($sp)
/* f084ca0: 5160ff68 */ beqzl $t3,.L0f084a44
/* f084ca4: 96020000 */ lhu $v0,0x0($s0)
.L0f084ca8:
/* f084ca8: 8fbf0054 */ lw $ra,0x54($sp)
.L0f084cac:
/* f084cac: 8fa200cc */ lw $v0,0xcc($sp)
/* f084cb0: d7b40028 */ ldc1 $f20,0x28($sp)
/* f084cb4: 8fb00030 */ lw $s0,0x30($sp)
/* f084cb8: 8fb10034 */ lw $s1,0x34($sp)
/* f084cbc: 8fb20038 */ lw $s2,0x38($sp)
/* f084cc0: 8fb3003c */ lw $s3,0x3c($sp)
/* f084cc4: 8fb40040 */ lw $s4,0x40($sp)
/* f084cc8: 8fb50044 */ lw $s5,0x44($sp)
/* f084ccc: 8fb60048 */ lw $s6,0x48($sp)
/* f084cd0: 8fb7004c */ lw $s7,0x4c($sp)
/* f084cd4: 8fbe0050 */ lw $s8,0x50($sp)
/* f084cd8: 03e00008 */ jr $ra
/* f084cdc: 27bd00f8 */ addiu $sp,$sp,0xf8
);
#if PIRACYCHECKS
u32 add43214321(u32 value)
{
return value + 0x43214321;
}
#endif
void glassDestroy(struct defaultobj *obj)
{
struct prop *prop = obj->prop;
struct modelrodata_bbox *bbox = objFindBboxRodata(obj);
wallhitsRemoveByProp(prop, 0);
wallhitsRemoveByProp(prop, 1);
if (obj->modelnum == MODEL_AIVILLABOT1
|| obj->modelnum == MODEL_AIVILLABOT2
|| obj->modelnum == MODEL_AIVILLABOT3) {
shardsCreate(&prop->pos, &obj->realrot[0][0], &obj->realrot[1][0], &obj->realrot[2][0],
bbox->xmin, bbox->xmax, bbox->ymin, bbox->ymax, SHARDTYPE_BOTTLE, prop);
} else {
shardsCreate(&prop->pos, &obj->realrot[0][0], &obj->realrot[1][0], &obj->realrot[2][0],
bbox->xmin, bbox->xmax, bbox->ymin, bbox->ymax, SHARDTYPE_GLASS, prop);
}
#if PIRACYCHECKS
{
/**
* Check two words at 0xdc0 in the ROM. If they're not right, set the
* audio frequency high so everyone sounds like chipmunks.
*/
u8 buffer[0x20];
u32 *ptr;
u32 romaddr = add43214321(0x00000dc0 - 0x43214321);
ptr = (u32 *) ALIGN16((u32)buffer);
dmaExec(ptr, romaddr, 0x10);
if (ptr[1] + ptr[0] != add43214321(0x10a78f00e - 0x43214321)) {
osAiSetFrequency(80000);
}
}
#endif
obj->damage = 0;
obj->hidden |= OBJHFLAG_REAPABLE;
obj->hidden2 |= OBJH2FLAG_DESTROYED;
}
void doorDestroyGlass(struct doorobj *door)
{
struct modelnode *node;
bool bail;
struct prop *prop = door->base.prop;
struct model *model = door->base.model;
union modelrodata *rodata;
union modelrwdata *rwdata;
Mtxf matrix;
rodata = modelGetPartRodata(model->filedata, 2);
if (door->portalnum >= 0) {
bail = (g_BgPortals[door->portalnum].flags & PORTALFLAG_ENABLED) != 0
&& (g_BgPortals[door->portalnum].flags & PORTALFLAG_04) == 0;
g_BgPortals[door->portalnum].flags |= PORTALFLAG_04;
if (bail) {
return;
}
}
func0f08c424(door, &matrix);
shardsCreate((struct coord *) &matrix.m[3][0], &matrix.m[0][0], &matrix.m[1][0], &matrix.m[2][0],
rodata->bbox.xmin, rodata->bbox.xmax, rodata->bbox.ymin, rodata->bbox.ymax,
SHARDTYPE_GLASS, prop);
wallhitsRemoveByProp(prop, 1);
node = modelGetPart(model->filedata, 1);
rwdata = modelGetNodeRwData(model, node);
rwdata->toggle.visible = false;
}
void func0f084f64(struct defaultobj *obj)
{
struct prop *prop = obj->prop;
struct model *model = obj->model;
union modelrodata *rodata;
union modelrwdata *rwdata;
Mtxf *sp7c;
Mtxf matrix;
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
rodata = modelGetPartRodata(model->filedata, 2);
sp7c = model0001a5cc(model, modelGetPart(model->filedata, 1), 0);
mtx00015be4(currentPlayerGetUnk174c(), sp7c, &matrix);
shardsCreate((struct coord *) matrix.m[3], matrix.m[0], matrix.m[1], matrix.m[2],
rodata->bbox.xmin, rodata->bbox.xmax, rodata->bbox.ymin, rodata->bbox.ymax,
SHARDTYPE_GLASS, prop);
}
wallhitsRemoveByProp(prop, 1);
rwdata = modelGetNodeRwData(model, modelGetPart(model->filedata, 3));
rwdata->toggle.visible = false;
}
void func0f085050(struct prop *prop, f32 damage, struct coord *pos, s32 arg3, s32 playernum)
{
struct defaultobj *obj = prop->obj;
#if VERSION >= VERSION_NTSC_1_0
if (obj->type == OBJTYPE_AUTOGUN && g_Vars.normmplayerisrunning) {
// do nothing
} else {
obj->hidden &= 0x0fffffff;
obj->hidden |= (playernum << 28) & 0xf0000000;
}
#else
obj->hidden &= 0x0fffffff;
obj->hidden |= (playernum << 28) & 0xf0000000;
#endif
if ((obj->hidden & OBJHFLAG_HASOWNER) == 0) {
struct prop *child = prop->child;
while (child) {
struct prop *next = child->next;
func0f085050(child, damage, pos, arg3, playernum);
child = next;
}
objDamage(prop->obj, damage, pos, arg3, playernum);
}
}
bool func0f085158(struct defaultobj *obj)
{
switch (obj->type) {
case OBJTYPE_DOOR:
case OBJTYPE_BASIC:
case OBJTYPE_ALARM:
case OBJTYPE_CCTV:
case OBJTYPE_SINGLEMONITOR:
case OBJTYPE_MULTIMONITOR:
case OBJTYPE_HANGINGMONITORS:
case OBJTYPE_AUTOGUN:
case OBJTYPE_DEBRIS:
case OBJTYPE_GASBOTTLE:
case OBJTYPE_29:
case OBJTYPE_GLASS:
case OBJTYPE_SAFE:
case OBJTYPE_TINTEDGLASS:
case OBJTYPE_LIFT:
case OBJTYPE_HOVERBIKE:
case OBJTYPE_HOVERPROP:
case OBJTYPE_FAN:
case OBJTYPE_HOVERCAR:
case OBJTYPE_CHOPPER:
return true;
}
return false;
}
bool func0f085194(struct defaultobj *obj)
{
switch (obj->type) {
case OBJTYPE_KEY:
case OBJTYPE_AMMOCRATE:
case OBJTYPE_WEAPON:
case OBJTYPE_HAT:
case OBJTYPE_MULTIAMMOCRATE:
case OBJTYPE_SHIELD:
case OBJTYPE_ESCASTEP:
return true;
}
return false;
}
bool objIsMortal(struct defaultobj *obj)
{
if (obj->type == OBJTYPE_DOOR) {
return false;
}
if (func0f085194(obj) && obj->type != OBJTYPE_SHIELD) {
if ((obj->flags & OBJFLAG_00010000) == 0) {
return false;
}
} else if (obj->flags & OBJFLAG_INVINCIBLE) {
return false;
}
return true;
}
void objTakeGunfire(struct defaultobj *obj, f32 damage, struct coord *pos, s32 weaponnum, s32 playernum)
{
if ((obj->flags2 & OBJFLAG2_IMMUNETOGUNFIRE) == 0) {
objDamage(obj, damage, pos, weaponnum, playernum);
}
}
void objDamage(struct defaultobj *obj, f32 damage, struct coord *pos, s32 weaponnum, s32 playernum)
{
// Store the attacker playernum into the object's "hidden" field
#if VERSION >= VERSION_NTSC_1_0
// ...but not for deployed laptop guns in multiplayer, because those bits
// likely designate the owner of the gun
if (obj->type != OBJTYPE_AUTOGUN || !g_Vars.normmplayerisrunning) {
obj->hidden &= 0x0fffffff;
obj->hidden |= (playernum << 28) & 0xf0000000;
}
#else
obj->hidden &= 0x0fffffff;
obj->hidden |= (playernum << 28) & 0xf0000000;
#endif
if (obj->type == OBJTYPE_GASBOTTLE && objGetDestroyedValue(obj) == 1) {
return;
}
if (weaponnum == WEAPON_NONE) {
if (func0f085194(obj)) {
return;
}
if (obj->flags & OBJFLAG_01000000) {
return;
}
} else {
if (obj->flags & OBJFLAG_INVINCIBLE) {
return;
}
if (obj->type == OBJTYPE_WEAPON) {
struct weaponobj *weapon;
if (obj->flags2 & OBJFLAG2_AICANNOTUSE) {
propExplode(obj->prop, EXPLOSIONTYPE_12);
obj->hidden |= OBJHFLAG_REAPABLE;
}
// If damaging an explosive item, make it explode immediately by
// zeroing its timer
weapon = (struct weaponobj *) obj;
if (weapon->weaponnum == WEAPON_GRENADE
|| weapon->weaponnum == WEAPON_TIMEDMINE
|| weapon->weaponnum == WEAPON_REMOTEMINE
|| weapon->weaponnum == WEAPON_PROXIMITYMINE
|| weapon->weaponnum == WEAPON_ROCKET
|| weapon->weaponnum == WEAPON_HOMINGROCKET
|| weapon->weaponnum == WEAPON_GRENADEROUND
|| (weapon->weaponnum == WEAPON_DRAGON && weapon->gunfunc == FUNC_SECONDARY)) {
// Homing rockets are immune to remote mines? Or maybe they just
// don't explode because the mine is exploding anyway
if (weapon->weaponnum != WEAPON_HOMINGROCKET || weaponnum != WEAPON_REMOTEMINE) {
weapon->timer240 = 0;
}
}
return;
}
if (obj->type == OBJTYPE_AMMOCRATE || obj->type == OBJTYPE_MULTIAMMOCRATE) {
// @bug: It's not safe to cast a multiammocrateobj to an ammocrateobj.
// For multiammocrateobjs, this is reading the first model/qty pair
// as a single word... this turns out to not have any bad effects.
struct ammocrateobj *crate = (struct ammocrateobj *) obj;
if (crate->ammotype == AMMOTYPE_GRENADE
|| crate->ammotype == AMMOTYPE_ROCKET
|| crate->ammotype == AMMOTYPE_HOMINGROCKET
|| crate->ammotype == AMMOTYPE_REMOTE_MINE
|| crate->ammotype == AMMOTYPE_PROXY_MINE
|| crate->ammotype == AMMOTYPE_TIMED_MINE
|| crate->ammotype == AMMOTYPE_DEVASTATOR) {
obj->flags |= OBJFLAG_AMMOCRATE_EXPLODENOW;
}
return;
}
if (!objIsMortal(obj)) {
return;
}
}
// Tweak damage and apply it
if (obj->type == OBJTYPE_CHOPPER) {
damage *= 0.25f;
}
if (!objGetDestroyedValue(obj)) {
damage *= 250;
if (damage < 1) {
damage = 1;
}
} else {
f32 max = 4 - (objGetDestroyedThird(obj) % 4);
if (damage > max) {
damage = max;
} else if (damage < 1) {
damage = 1;
}
}
damage = obj->damage + damage;
if (damage >= 32767) {
obj->damage = 32767;
} else {
obj->damage = damage;
}
// Handle objects that do things when damaged
if (obj->modelnum == MODEL_TARGET) {
// empty
} else {
if (obj->type == OBJTYPE_GLASS || obj->type == OBJTYPE_TINTEDGLASS) {
if (obj->damage >= obj->maxdamage) {
glassDestroy(obj);
}
} else {
objSetDropped(obj->prop, DROPTYPE_DEFAULT);
func0f0841dc(obj, pos, playernum);
}
// This code appears to be unused...
// It appears to handle spawning a weapon when the ammo crate is shot.
if (obj->type == OBJTYPE_MULTIAMMOCRATE) {
if (objGetDestroyedValue(obj) == 1) {
u32 stack;
struct multiammocrateobj *crate = (struct multiammocrateobj *) obj;
s32 startindex = random() % ARRAYCOUNT(crate->slots);
s32 i = startindex;
do {
if (crate->slots[i].quantity > 0 && crate->slots[i].modelnum != 0xffff) {
struct ammocrateobj *newcrate = ammocrateAllocate();
if (newcrate) {
s32 modelnum = crate->slots[i].modelnum;
struct defaultobj tmp = {
256, // extrascale
0, // hidden2
OBJTYPE_AMMOCRATE, // type
0, // modelnum
-1, // pad
OBJFLAG_00000001, // flags
0, // flags2
0, // flags3
NULL, // prop
NULL, // model
1, 0, 0, // realrot
0, 1, 0,
0, 0, 1,
0, // hidden
NULL, // geo
NULL, // projectile
0, // damage
1000, // maxdamage
0xff, 0xff, 0xff, 0x00, // shadecol
0xff, 0xff, 0xff, 0x00, // nextcol
0x0fff, // floorcol
0, // tiles
};
newcrate->base = tmp;
newcrate->base.modelnum = modelnum;
newcrate->ammotype = i + 1;
if (objInitWithModelDef(&newcrate->base, g_ModelStates[modelnum].filedata)) {
propReparent(newcrate->base.prop, obj->prop);
}
break;
}
}
i = (i + 1) % ARRAYCOUNT(crate->slots);
} while (i != startindex);
}
} else if (obj->type == OBJTYPE_CHOPPER) {
struct chopperobj *chopper = (struct chopperobj *) obj;
if (chopper->attackmode != CHOPPERMODE_FALL) {
chopper->attackmode = CHOPPERMODE_COMBAT;
}
} else if (obj->type == OBJTYPE_AUTOGUN) {
obj->flags |= OBJFLAG_AUTOGUN_ALERTED;
if (objGetDestroyedValue(obj) == 1) {
obj->flags |= OBJFLAG_DEACTIVATED;
}
} else if (obj->type == OBJTYPE_CCTV) {
if (objGetDestroyedValue(obj) == 1) {
obj->flags |= OBJFLAG_DEACTIVATED;
}
} else if (obj->type == OBJTYPE_SINGLEMONITOR) {
struct singlemonitorobj *monitor = (struct singlemonitorobj *) obj;
if (objGetDestroyedValue(obj) == 1) {
tvscreenSetCmdlist(&monitor->screen, g_TvCmdlist14);
}
} else if (obj->type == OBJTYPE_MULTIMONITOR) {
struct multimonitorobj *monitor = (struct multimonitorobj *) obj;
if (objGetDestroyedValue(obj) == 1) {
tvscreenSetCmdlist(&monitor->screens[0], g_TvCmdlist14);
tvscreenSetCmdlist(&monitor->screens[1], g_TvCmdlist14);
tvscreenSetCmdlist(&monitor->screens[2], g_TvCmdlist14);
tvscreenSetCmdlist(&monitor->screens[3], g_TvCmdlist14);
}
} else if (obj->type == OBJTYPE_GASBOTTLE) {
if (objGetDestroyedValue(obj) == 1) {
gasReleaseFromPos(&obj->prop->pos);
}
} else if (obj->type == OBJTYPE_SHIELD) {
struct shieldobj *shield = (struct shieldobj *) obj;
if (!objGetDestroyedValue(obj)) {
shield->amount = shield->initialamount * (f32)(obj->maxdamage - obj->damage) / (f32)obj->maxdamage;
} else {
shield->amount = 0;
}
}
if (objGetDestroyedValue(obj) == 1) {
struct prop *child = obj->prop->child;
while (child) {
struct prop *next = child->next;
objSetDropped(child, DROPTYPE_DEFAULT);
child = next;
}
}
}
}
void func0f0859a0(struct prop *prop, struct shotdata *shotdata)
{
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
struct prop *child;
struct modelnode *node1 = NULL;
struct hitthing hitthing1;
s32 spe4;
struct coord spd8;
f32 spd4;
struct modelnode *node2;
s32 lVar3;
bool isnotglass;
struct modelnode *node3;
struct hitthing hitthing2;
s32 sp90;
struct modelnode *node4;
struct prop *next;
struct coord sp7c;
struct coord sp70;
if (obj->hidden & OBJHFLAG_00001000) {
return;
}
if ((prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) == 0) {
return;
}
child = prop->child;
while (child) {
next = child->next;
func0f0859a0(child, shotdata);
child = next;
}
if (var8005efc0 > 0.0f) {
lVar3 = model000225d4(model, &shotdata->unk00, &shotdata->unk0c, &node1);
while (lVar3 > 0) {
if (func0f084594(model, node1, &shotdata->unk00, &shotdata->unk0c, &hitthing1, &spe4, &node2)) {
break;
}
lVar3 = model000225d4(model, &shotdata->unk00, &shotdata->unk0c, &node1);
}
} else {
do {
lVar3 = model000225d4(model, &shotdata->unk00, &shotdata->unk0c, &node1);
if (lVar3 > 0 && func0f0849dc(model, node1, &shotdata->unk00, &shotdata->unk0c, &hitthing1, &spe4, &node2)) {
break;
}
} while (lVar3 > 0);
}
if (obj->flags3 & OBJFLAG3_HOVERBEDSHIELD) {
node3 = modelGetPart(model->filedata, MODELPART_0067);
if (node3 && func0f084594(model, node3, &shotdata->unk00, &shotdata->unk0c, &hitthing2, &sp90, &node4)) {
if (lVar3 <= 0 ||
model->matrices[sp90].m[0][2] * hitthing2.unk00.f[0] + model->matrices[sp90].m[1][2] * hitthing2.unk00.f[1] + model->matrices[sp90].m[2][2] * hitthing2.unk00.f[2] >
model->matrices[spe4].m[0][2] * hitthing1.unk00.f[0] + model->matrices[spe4].m[1][2] * hitthing1.unk00.f[1] + model->matrices[spe4].m[2][2] * hitthing1.unk00.f[2]) {
lVar3 = 1;
hitthing1 = hitthing2;
node1 = node3;
spe4 = sp90;
node2 = node4;
hitthing1.texturenum = 10000;
}
}
}
if (lVar3 > 0) {
mtx4TransformVec(&model->matrices[spe4], &hitthing1.unk00, &spd8);
spd4 = -spd8.f[2];
if (spd4 <= shotdata->unk34) {
isnotglass = true;
if ((obj->flags & OBJFLAG_INVINCIBLE) == 0) {
if (obj->type == OBJTYPE_GLASS || obj->type == OBJTYPE_TINTEDGLASS) {
isnotglass = false;
} else if (obj->model->filedata->skel == &g_SkelWindowedDoor
&& modelGetPart(obj->model->filedata, MODELPART_WINDOWEDDOOR_0003) == node2) {
isnotglass = false;
}
}
mtx4TransformVec(currentPlayerGetUnk174c(), &spd8, &sp7c);
mtx4RotateVec(&model->matrices[spe4], &hitthing1.unk0c, &sp70);
mtx4RotateVecInPlace(currentPlayerGetUnk174c(), &sp70);
func0f061fa8(shotdata, prop, spd4, lVar3,
node1, &hitthing1, spe4, node2,
model, isnotglass && shotdata->gset.weaponnum != WEAPON_FARSIGHT,
(obj->flags2 & OBJFLAG2_BULLETPROOF)
&& shotdata->gset.weaponnum != WEAPON_DY357MAGNUM
&& shotdata->gset.weaponnum != WEAPON_FARSIGHT,
&sp7c, &sp70);
}
}
}
void func0f085e00(struct prop *prop, struct shotdata *shotdata)
{
f32 tmp;
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
struct modelrodata_bbox *bbox = objFindBboxRodata(obj);
if ((prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)
&& (obj->hidden & OBJHFLAG_00001000) == 0
&& (obj->flags2 & OBJFLAG2_SHOOTTHROUGH) == 0) {
tmp = -(model->matrices[0].m[3][2] + func0f0668cc(bbox, model->matrices));
if (tmp <= shotdata->unk34) {
func0f0859a0(prop, shotdata);
}
}
}
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel objHit
/* f085eac: 27bdfee0 */ addiu $sp,$sp,-288
/* f085eb0: afbf0034 */ sw $ra,0x34($sp)
/* f085eb4: afa40120 */ sw $a0,0x120($sp)
/* f085eb8: afa50124 */ sw $a1,0x124($sp)
/* f085ebc: a3a0010b */ sb $zero,0x10b($sp)
/* f085ec0: afa00100 */ sw $zero,0x100($sp)
/* f085ec4: 80af004c */ lb $t7,0x4c($a1)
/* f085ec8: 24840018 */ addiu $a0,$a0,0x18
/* f085ecc: afa40048 */ sw $a0,0x48($sp)
/* f085ed0: 0fc2c41f */ jal gsetGetWeaponFunction
/* f085ed4: afaf00fc */ sw $t7,0xfc($sp)
/* f085ed8: 5040000e */ beqzl $v0,.L0f085f14
/* f085edc: 8fa40124 */ lw $a0,0x124($sp)
/* f085ee0: 8c580000 */ lw $t8,0x0($v0)
/* f085ee4: 24010003 */ addiu $at,$zero,0x3
/* f085ee8: 240b0001 */ addiu $t3,$zero,0x1
/* f085eec: 331900ff */ andi $t9,$t8,0xff
/* f085ef0: 17210002 */ bne $t9,$at,.L0f085efc
/* f085ef4: 240e0001 */ addiu $t6,$zero,0x1
/* f085ef8: a3ab010b */ sb $t3,0x10b($sp)
.L0f085efc:
/* f085efc: 8c4c0010 */ lw $t4,0x10($v0)
/* f085f00: 318d4000 */ andi $t5,$t4,0x4000
/* f085f04: 51a00003 */ beqzl $t5,.L0f085f14
/* f085f08: 8fa40124 */ lw $a0,0x124($sp)
/* f085f0c: afae0100 */ sw $t6,0x100($sp)
/* f085f10: 8fa40124 */ lw $a0,0x124($sp)
.L0f085f14:
/* f085f14: 8c870004 */ lw $a3,0x4($a0)
/* f085f18: afa7010c */ sw $a3,0x10c($sp)
/* f085f1c: 8ce20018 */ lw $v0,0x18($a3)
/* f085f20: 10400005 */ beqz $v0,.L0f085f38
/* f085f24: 00401825 */ or $v1,$v0,$zero
.L0f085f28:
/* f085f28: 8c420018 */ lw $v0,0x18($v0)
/* f085f2c: 5440fffe */ bnezl $v0,.L0f085f28
/* f085f30: 00401825 */ or $v1,$v0,$zero
/* f085f34: afa3010c */ sw $v1,0x10c($sp)
.L0f085f38:
/* f085f38: 8cf80004 */ lw $t8,0x4($a3)
/* f085f3c: 8fa20120 */ lw $v0,0x120($sp)
/* f085f40: afb8011c */ sw $t8,0x11c($sp)
/* f085f44: c4840000 */ lwc1 $f4,0x0($a0)
/* f085f48: c446000c */ lwc1 $f6,0xc($v0)
/* f085f4c: c44a0014 */ lwc1 $f10,0x14($v0)
/* f085f50: c4520000 */ lwc1 $f18,0x0($v0)
/* f085f54: 46062202 */ mul.s $f8,$f4,$f6
/* f085f58: 460a4403 */ div.s $f16,$f8,$f10
/* f085f5c: 46109101 */ sub.s $f4,$f18,$f16
/* f085f60: e7a40110 */ swc1 $f4,0x110($sp)
/* f085f64: c4860000 */ lwc1 $f6,0x0($a0)
/* f085f68: c4480010 */ lwc1 $f8,0x10($v0)
/* f085f6c: c4520014 */ lwc1 $f18,0x14($v0)
/* f085f70: c4440004 */ lwc1 $f4,0x4($v0)
/* f085f74: 46083282 */ mul.s $f10,$f6,$f8
/* f085f78: 46125403 */ div.s $f16,$f10,$f18
/* f085f7c: 46102181 */ sub.s $f6,$f4,$f16
/* f085f80: e7a60114 */ swc1 $f6,0x114($sp)
/* f085f84: c48a0000 */ lwc1 $f10,0x0($a0)
/* f085f88: c4480008 */ lwc1 $f8,0x8($v0)
/* f085f8c: 460a4481 */ sub.s $f18,$f8,$f10
/* f085f90: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f085f94: e7b20118 */ swc1 $f18,0x118($sp)
/* f085f98: 00402025 */ or $a0,$v0,$zero
/* f085f9c: 0c0056d9 */ jal mtx4TransformVecInPlace
/* f085fa0: 27a50110 */ addiu $a1,$sp,0x110
/* f085fa4: 8fb900fc */ lw $t9,0xfc($sp)
/* f085fa8: 3c0b800a */ lui $t3,%hi(g_Vars+0x284)
/* f085fac: 57200009 */ bnezl $t9,.L0f085fd4
/* f085fb0: 8fa30124 */ lw $v1,0x124($sp)
/* f085fb4: 8d6ba244 */ lw $t3,%lo(g_Vars+0x284)($t3)
/* f085fb8: 8d6c00bc */ lw $t4,0xbc($t3)
/* f085fbc: 0fc4f92a */ jal chrIsUsingPaintball
/* f085fc0: 8d840004 */ lw $a0,0x4($t4)
/* f085fc4: 10400002 */ beqz $v0,.L0f085fd0
/* f085fc8: 240d0001 */ addiu $t5,$zero,0x1
/* f085fcc: afad00fc */ sw $t5,0xfc($sp)
.L0f085fd0:
/* f085fd0: 8fa30124 */ lw $v1,0x124($sp)
.L0f085fd4:
/* f085fd4: 806e004c */ lb $t6,0x4c($v1)
/* f085fd8: 51c00005 */ beqzl $t6,.L0f085ff0
/* f085fdc: 8faf011c */ lw $t7,0x11c($sp)
/* f085fe0: 0fc2a519 */ jal bgunSetHitPos
/* f085fe4: 27a40110 */ addiu $a0,$sp,0x110
/* f085fe8: 8fa30124 */ lw $v1,0x124($sp)
/* f085fec: 8faf011c */ lw $t7,0x11c($sp)
.L0f085ff0:
/* f085ff0: 2401014c */ addiu $at,$zero,0x14c
/* f085ff4: 85f80004 */ lh $t8,0x4($t7)
/* f085ff8: 5701003e */ bnel $t8,$at,.L0f0860f4
/* f085ffc: 93ab010b */ lbu $t3,0x10b($sp)
/* f086000: 8479003a */ lh $t9,0x3a($v1)
/* f086004: 24010b9e */ addiu $at,$zero,0xb9e
/* f086008: 8fab0120 */ lw $t3,0x120($sp)
/* f08600c: 17210010 */ bne $t9,$at,.L0f086050
/* f086010: 8fad0120 */ lw $t5,0x120($sp)
/* f086014: 916c001a */ lbu $t4,0x1a($t3)
/* f086018: 01e02025 */ or $a0,$t7,$zero
/* f08601c: 27a50110 */ addiu $a1,$sp,0x110
/* f086020: 448c2000 */ mtc1 $t4,$f4
/* f086024: 3c014f80 */ lui $at,0x4f80
/* f086028: 05810004 */ bgez $t4,.L0f08603c
/* f08602c: 46802120 */ cvt.s.w $f4,$f4
/* f086030: 44818000 */ mtc1 $at,$f16
/* f086034: 00000000 */ nop
/* f086038: 46102100 */ add.s $f4,$f4,$f16
.L0f08603c:
/* f08603c: 44062000 */ mfc1 $a2,$f4
/* f086040: 0fc68330 */ jal frCalculateHit
/* f086044: 00000000 */ nop
/* f086048: 10000029 */ b .L0f0860f0
/* f08604c: 8fa30124 */ lw $v1,0x124($sp)
.L0f086050:
/* f086050: 91a20018 */ lbu $v0,0x18($t5)
/* f086054: 2401000c */ addiu $at,$zero,0xc
/* f086058: 54410005 */ bnel $v0,$at,.L0f086070
/* f08605c: 24010016 */ addiu $at,$zero,0x16
/* f086060: 91ae001b */ lbu $t6,0x1b($t5)
/* f086064: 24010001 */ addiu $at,$zero,0x1
/* f086068: 11c10021 */ beq $t6,$at,.L0f0860f0
/* f08606c: 24010016 */ addiu $at,$zero,0x16
.L0f086070:
/* f086070: 1041001f */ beq $v0,$at,.L0f0860f0
/* f086074: 8fb8011c */ lw $t8,0x11c($sp)
/* f086078: 8f190018 */ lw $t9,0x18($t8)
/* f08607c: 8c670004 */ lw $a3,0x4($v1)
/* f086080: 27a50110 */ addiu $a1,$sp,0x110
/* f086084: 8f24000c */ lw $a0,0xc($t9)
/* f086088: 27a600ec */ addiu $a2,$sp,0xec
/* f08608c: 0c0056da */ jal mtx4TransformVec
/* f086090: afa700e4 */ sw $a3,0xe4($sp)
/* f086094: c7a000f4 */ lwc1 $f0,0xf4($sp)
/* f086098: 8fa700e4 */ lw $a3,0xe4($sp)
/* f08609c: 00002025 */ or $a0,$zero,$zero
/* f0860a0: 8fa20120 */ lw $v0,0x120($sp)
/* f0860a4: 24050410 */ addiu $a1,$zero,0x410
/* f0860a8: 46000007 */ neg.s $f0,$f0
.L0f0860ac:
/* f0860ac: 8c430040 */ lw $v1,0x40($v0)
/* f0860b0: 24840068 */ addiu $a0,$a0,0x68
/* f0860b4: 10600009 */ beqz $v1,.L0f0860dc
/* f0860b8: 00000000 */ nop
/* f0860bc: 10e30007 */ beq $a3,$v1,.L0f0860dc
/* f0860c0: 00000000 */ nop
/* f0860c4: c446003c */ lwc1 $f6,0x3c($v0)
/* f0860c8: 4606003c */ c.lt.s $f0,$f6
/* f0860cc: 00000000 */ nop
/* f0860d0: 45000002 */ bc1f .L0f0860dc
/* f0860d4: 00000000 */ nop
/* f0860d8: ac400040 */ sw $zero,0x40($v0)
.L0f0860dc:
/* f0860dc: 1485fff3 */ bne $a0,$a1,.L0f0860ac
/* f0860e0: 24420068 */ addiu $v0,$v0,0x68
/* f0860e4: 8faf0120 */ lw $t7,0x120($sp)
/* f0860e8: e5e00034 */ swc1 $f0,0x34($t7)
/* f0860ec: 8fa30124 */ lw $v1,0x124($sp)
.L0f0860f0:
/* f0860f0: 93ab010b */ lbu $t3,0x10b($sp)
.L0f0860f4:
/* f0860f4: 3c0c800a */ lui $t4,%hi(g_Vars+0x284)
/* f0860f8: 55600019 */ bnezl $t3,.L0f086160
/* f0860fc: 8479003a */ lh $t9,0x3a($v1)
/* f086100: 8d8ca244 */ lw $t4,%lo(g_Vars+0x284)($t4)
/* f086104: 8d8d00bc */ lw $t5,0xbc($t4)
/* f086108: 0fc4f92a */ jal chrIsUsingPaintball
/* f08610c: 8da40004 */ lw $a0,0x4($t5)
/* f086110: 1040000b */ beqz $v0,.L0f086140
/* f086114: 8fa5010c */ lw $a1,0x10c($sp)
/* f086118: 8fa5010c */ lw $a1,0x10c($sp)
/* f08611c: 240e0019 */ addiu $t6,$zero,0x19
/* f086120: 27a60110 */ addiu $a2,$sp,0x110
/* f086124: 84a40028 */ lh $a0,0x28($a1)
/* f086128: afae0014 */ sw $t6,0x14($sp)
/* f08612c: afa00010 */ sw $zero,0x10($sp)
/* f086130: 0fc4be7c */ jal sparksCreate
/* f086134: 00003825 */ or $a3,$zero,$zero
/* f086138: 10000008 */ b .L0f08615c
/* f08613c: 8fa30124 */ lw $v1,0x124($sp)
.L0f086140:
/* f086140: 84a40028 */ lh $a0,0x28($a1)
/* f086144: afa00014 */ sw $zero,0x14($sp)
/* f086148: afa00010 */ sw $zero,0x10($sp)
/* f08614c: 27a60110 */ addiu $a2,$sp,0x110
/* f086150: 0fc4be7c */ jal sparksCreate
/* f086154: 00003825 */ or $a3,$zero,$zero
/* f086158: 8fa30124 */ lw $v1,0x124($sp)
.L0f08615c:
/* f08615c: 8479003a */ lh $t9,0x3a($v1)
.L0f086160:
/* f086160: 24012710 */ addiu $at,$zero,0x2710
/* f086164: 1721002b */ bne $t9,$at,.L0f086214
/* f086168: 00000000 */ nop
/* f08616c: c4680010 */ lwc1 $f8,0x10($v1)
/* f086170: 8fb9011c */ lw $t9,0x11c($sp)
/* f086174: 8fa4010c */ lw $a0,0x10c($sp)
/* f086178: 4600428d */ trunc.w.s $f10,$f8
/* f08617c: 3c014100 */ lui $at,0x4100
/* f086180: 440b5000 */ mfc1 $t3,$f10
/* f086184: 00000000 */ nop
/* f086188: a7ab00dc */ sh $t3,0xdc($sp)
/* f08618c: c4720014 */ lwc1 $f18,0x14($v1)
/* f086190: 4600910d */ trunc.w.s $f4,$f18
/* f086194: 440d2000 */ mfc1 $t5,$f4
/* f086198: 00000000 */ nop
/* f08619c: a7ad00de */ sh $t5,0xde($sp)
/* f0861a0: c4700018 */ lwc1 $f16,0x18($v1)
/* f0861a4: 4600818d */ trunc.w.s $f6,$f16
/* f0861a8: 44183000 */ mfc1 $t8,$f6
/* f0861ac: 00000000 */ nop
/* f0861b0: a7b800e0 */ sh $t8,0xe0($sp)
/* f0861b4: 8f2f0010 */ lw $t7,0x10($t9)
/* f0861b8: 27b800dc */ addiu $t8,$sp,0xdc
/* f0861bc: 31eb1000 */ andi $t3,$t7,0x1000
/* f0861c0: 51600006 */ beqzl $t3,.L0f0861dc
/* f0861c4: 44810000 */ mtc1 $at,$f0
/* f0861c8: 3c014080 */ lui $at,0x4080
/* f0861cc: 44810000 */ mtc1 $at,$f0
/* f0861d0: 10000004 */ b .L0f0861e4
/* f0861d4: 8c6c0048 */ lw $t4,0x48($v1)
/* f0861d8: 44810000 */ mtc1 $at,$f0
.L0f0861dc:
/* f0861dc: 00000000 */ nop
/* f0861e0: 8c6c0048 */ lw $t4,0x48($v1)
.L0f0861e4:
/* f0861e4: 8c660004 */ lw $a2,0x4($v1)
/* f0861e8: 8c67000c */ lw $a3,0xc($v1)
/* f0861ec: afac0010 */ sw $t4,0x10($sp)
/* f0861f0: 846d0038 */ lh $t5,0x38($v1)
/* f0861f4: 44050000 */ mfc1 $a1,$f0
/* f0861f8: afb80018 */ sw $t8,0x18($sp)
/* f0861fc: 05a10003 */ bgez $t5,.L0f08620c
/* f086200: 000d7043 */ sra $t6,$t5,0x1
/* f086204: 25a10001 */ addiu $at,$t5,0x1
/* f086208: 00017043 */ sra $t6,$at,0x1
.L0f08620c:
/* f08620c: 0fc0a3df */ jal shieldhitCreate
/* f086210: afae0014 */ sw $t6,0x14($sp)
.L0f086214:
/* f086214: 0fc21a6a */ jal objIsHealthy
/* f086218: 8fa4011c */ lw $a0,0x11c($sp)
/* f08621c: 5040000c */ beqzl $v0,.L0f086250
/* f086220: 8faf00fc */ lw $t7,0xfc($sp)
/* f086224: 0fc2147b */ jal objIsMortal
/* f086228: 8fa4011c */ lw $a0,0x11c($sp)
/* f08622c: 10400007 */ beqz $v0,.L0f08624c
/* f086230: 8fa80124 */ lw $t0,0x124($sp)
/* f086234: 8119004c */ lb $t9,0x4c($t0)
/* f086238: 8fa40048 */ lw $a0,0x48($sp)
/* f08623c: 53200004 */ beqzl $t9,.L0f086250
/* f086240: 8faf00fc */ lw $t7,0xfc($sp)
/* f086244: 0fc2c11b */ jal mpstatsIncrementPlayerShotCount2
/* f086248: 24050006 */ addiu $a1,$zero,0x6
.L0f08624c:
/* f08624c: 8faf00fc */ lw $t7,0xfc($sp)
.L0f086250:
/* f086250: 8fa80124 */ lw $t0,0x124($sp)
/* f086254: 93ab010b */ lbu $t3,0x10b($sp)
/* f086258: 15e00008 */ bnez $t7,.L0f08627c
/* f08625c: 00000000 */ nop
/* f086260: 8d070004 */ lw $a3,0x4($t0)
/* f086264: 8506003a */ lh $a2,0x3a($t0)
/* f086268: 24e40008 */ addiu $a0,$a3,0x8
/* f08626c: 0fc2a101 */ jal bgun0f0a8404
/* f086270: 24e50028 */ addiu $a1,$a3,0x28
/* f086274: 10000007 */ b .L0f086294
/* f086278: 8fa80124 */ lw $t0,0x124($sp)
.L0f08627c:
/* f08627c: 15600005 */ bnez $t3,.L0f086294
/* f086280: 8fa40048 */ lw $a0,0x48($sp)
/* f086284: 8d050004 */ lw $a1,0x4($t0)
/* f086288: 0fc29f66 */ jal bgunPlayPropHitSound
/* f08628c: 8506003a */ lh $a2,0x3a($t0)
/* f086290: 8fa80124 */ lw $t0,0x124($sp)
.L0f086294:
/* f086294: 93ac010b */ lbu $t4,0x10b($sp)
/* f086298: 158000cb */ bnez $t4,.L0f0865c8
/* f08629c: 00000000 */ nop
/* f0862a0: 8503003a */ lh $v1,0x3a($t0)
/* f0862a4: 24012710 */ addiu $at,$zero,0x2710
/* f0862a8: 8fad0120 */ lw $t5,0x120($sp)
/* f0862ac: 106100c6 */ beq $v1,$at,.L0f0865c8
/* f0862b0: 00000000 */ nop
/* f0862b4: 91a20018 */ lbu $v0,0x18($t5)
/* f0862b8: 24010001 */ addiu $at,$zero,0x1
/* f0862bc: 104100c2 */ beq $v0,$at,.L0f0865c8
/* f0862c0: 2401001d */ addiu $at,$zero,0x1d
/* f0862c4: 104100c0 */ beq $v0,$at,.L0f0865c8
/* f0862c8: 2401001c */ addiu $at,$zero,0x1c
/* f0862cc: 104100be */ beq $v0,$at,.L0f0865c8
/* f0862d0: 24010016 */ addiu $at,$zero,0x16
/* f0862d4: 104100bc */ beq $v0,$at,.L0f0865c8
/* f0862d8: 00000000 */ nop
/* f0862dc: 810e004c */ lb $t6,0x4c($t0)
/* f0862e0: 8fb9011c */ lw $t9,0x11c($sp)
/* f0862e4: 15c00041 */ bnez $t6,.L0f0863ec
/* f0862e8: 00000000 */ nop
/* f0862ec: 8f2f0018 */ lw $t7,0x18($t9)
/* f0862f0: 3c188008 */ lui $t8,%hi(g_SkelWindowedDoor)
/* f0862f4: 2718aed8 */ addiu $t8,$t8,%lo(g_SkelWindowedDoor)
/* f0862f8: 8deb0008 */ lw $t3,0x8($t7)
/* f0862fc: 8d0a0004 */ lw $t2,0x4($t0)
/* f086300: 00001825 */ or $v1,$zero,$zero
/* f086304: 8d6c0004 */ lw $t4,0x4($t3)
/* f086308: 170c0003 */ bne $t8,$t4,.L0f086318
/* f08630c: 00000000 */ nop
/* f086310: 10000001 */ b .L0f086318
/* f086314: 24030001 */ addiu $v1,$zero,0x1
.L0f086318:
/* f086318: a3a300d7 */ sb $v1,0xd7($sp)
/* f08631c: 0c004b70 */ jal random
/* f086320: afaa00d8 */ sw $t2,0xd8($sp)
/* f086324: 24010003 */ addiu $at,$zero,0x3
/* f086328: 0041001b */ divu $zero,$v0,$at
/* f08632c: 8fa9011c */ lw $t1,0x11c($sp)
/* f086330: 00002010 */ mfhi $a0
/* f086334: 24840003 */ addiu $a0,$a0,0x3
/* f086338: 912e0003 */ lbu $t6,0x3($t1)
/* f08633c: 00044400 */ sll $t0,$a0,0x10
/* f086340: 00086c03 */ sra $t5,$t0,0x10
/* f086344: 24010001 */ addiu $at,$zero,0x1
/* f086348: 01a04025 */ or $t0,$t5,$zero
/* f08634c: 83a300d7 */ lb $v1,0xd7($sp)
/* f086350: 15c10003 */ bne $t6,$at,.L0f086360
/* f086354: 8faa00d8 */ lw $t2,0xd8($sp)
/* f086358: 5060000a */ beqzl $v1,.L0f086384
/* f08635c: 2488000a */ addiu $t0,$a0,0xa
.L0f086360:
/* f086360: 8d390008 */ lw $t9,0x8($t1)
/* f086364: 00197b80 */ sll $t7,$t9,0xe
/* f086368: 05e20006 */ bltzl $t7,.L0f086384
/* f08636c: 2488000a */ addiu $t0,$a0,0xa
/* f086370: 8d2b000c */ lw $t3,0xc($t1)
/* f086374: 31784000 */ andi $t8,$t3,0x4000
/* f086378: 53000005 */ beqzl $t8,.L0f086390
/* f08637c: 8fb90124 */ lw $t9,0x124($sp)
/* f086380: 2488000a */ addiu $t0,$a0,0xa
.L0f086384:
/* f086384: 00086c00 */ sll $t5,$t0,0x10
/* f086388: 000d4403 */ sra $t0,$t5,0x10
/* f08638c: 8fb90124 */ lw $t9,0x124($sp)
.L0f086390:
/* f086390: 240f0001 */ addiu $t7,$zero,0x1
/* f086394: afaf0018 */ sw $t7,0x18($sp)
/* f086398: afa00010 */ sw $zero,0x10($sp)
/* f08639c: afa80014 */ sw $t0,0x14($sp)
/* f0863a0: afaa001c */ sw $t2,0x1c($sp)
/* f0863a4: 8f2b0040 */ lw $t3,0x40($t9)
/* f0863a8: 3c18800a */ lui $t8,%hi(g_Vars+0x284)
/* f0863ac: 8f18a244 */ lw $t8,%lo(g_Vars+0x284)($t8)
/* f0863b0: afa30024 */ sw $v1,0x24($sp)
/* f0863b4: afab0020 */ sw $t3,0x20($sp)
/* f0863b8: 8f0c00bc */ lw $t4,0xbc($t8)
/* f0863bc: 8fa60120 */ lw $a2,0x120($sp)
/* f0863c0: 240e0001 */ addiu $t6,$zero,0x1
/* f0863c4: 8d8d0004 */ lw $t5,0x4($t4)
/* f0863c8: afae002c */ sw $t6,0x2c($sp)
/* f0863cc: 00003825 */ or $a3,$zero,$zero
/* f0863d0: 27240010 */ addiu $a0,$t9,0x10
/* f0863d4: 2725001c */ addiu $a1,$t9,0x1c
/* f0863d8: 24c6001c */ addiu $a2,$a2,0x1c
/* f0863dc: 0fc4fcfd */ jal wallhitCreate
/* f0863e0: afad0028 */ sw $t5,0x28($sp)
/* f0863e4: 10000078 */ b .L0f0865c8
/* f0863e8: 8fa80124 */ lw $t0,0x124($sp)
.L0f0863ec:
/* f0863ec: 04600004 */ bltz $v1,.L0f086400
/* f0863f0: a3a000cb */ sb $zero,0xcb($sp)
/* f0863f4: 28610daf */ slti $at,$v1,0xdaf
/* f0863f8: 14200004 */ bnez $at,.L0f08640c
/* f0863fc: 3c0f800b */ lui $t7,%hi(g_Textures)
.L0f086400:
/* f086400: 3c068008 */ lui $a2,%hi(g_SurfaceTypes)
/* f086404: 1000000f */ b .L0f086444
/* f086408: 8cc64458 */ lw $a2,%lo(g_SurfaceTypes)($a2)
.L0f08640c:
/* f08640c: 8defabc0 */ lw $t7,%lo(g_Textures)($t7)
/* f086410: 0003c8c0 */ sll $t9,$v1,0x3
/* f086414: 3c068008 */ lui $a2,%hi(g_SurfaceTypes)
/* f086418: 01f95821 */ addu $t3,$t7,$t9
/* f08641c: 91620000 */ lbu $v0,0x0($t3)
/* f086420: 3058000f */ andi $t8,$v0,0xf
/* f086424: 2f01000f */ sltiu $at,$t8,0xf
/* f086428: 10200005 */ beqz $at,.L0f086440
/* f08642c: 00186080 */ sll $t4,$t8,0x2
/* f086430: 3c068008 */ lui $a2,%hi(g_SurfaceTypes)
/* f086434: 00cc3021 */ addu $a2,$a2,$t4
/* f086438: 10000002 */ b .L0f086444
/* f08643c: 8cc64458 */ lw $a2,%lo(g_SurfaceTypes)($a2)
.L0f086440:
/* f086440: 8cc64458 */ lw $a2,%lo(g_SurfaceTypes)($a2)
.L0f086444:
/* f086444: 84cd000a */ lh $t5,0xa($a2)
/* f086448: 19a0005f */ blez $t5,.L0f0865c8
/* f08644c: 00000000 */ nop
/* f086450: afa000c4 */ sw $zero,0xc4($sp)
/* f086454: 0c004b70 */ jal random
/* f086458: afa600d0 */ sw $a2,0xd0($sp)
/* f08645c: 8fa600d0 */ lw $a2,0xd0($sp)
/* f086460: 8fb9011c */ lw $t9,0x11c($sp)
/* f086464: 3c188008 */ lui $t8,%hi(g_SkelWindowedDoor)
/* f086468: 84ce000a */ lh $t6,0xa($a2)
/* f08646c: 2718aed8 */ addiu $t8,$t8,%lo(g_SkelWindowedDoor)
/* f086470: 24050003 */ addiu $a1,$zero,0x3
/* f086474: 004e001b */ divu $zero,$v0,$t6
/* f086478: 00007810 */ mfhi $t7
/* f08647c: afaf00cc */ sw $t7,0xcc($sp)
/* f086480: 8f2b0018 */ lw $t3,0x18($t9)
/* f086484: 15c00002 */ bnez $t6,.L0f086490
/* f086488: 00000000 */ nop
/* f08648c: 0007000d */ break 0x7
.L0f086490:
/* f086490: 8d640008 */ lw $a0,0x8($t3)
/* f086494: 8c830004 */ lw $v1,0x4($a0)
/* f086498: 1703000c */ bne $t8,$v1,.L0f0864cc
/* f08649c: 00000000 */ nop
/* f0864a0: 0c006a47 */ jal modelGetPart
/* f0864a4: afa600d0 */ sw $a2,0xd0($sp)
/* f0864a8: 8fac0124 */ lw $t4,0x124($sp)
/* f0864ac: 8fa600d0 */ lw $a2,0xd0($sp)
/* f0864b0: 8fae011c */ lw $t6,0x11c($sp)
/* f0864b4: 8d8d0044 */ lw $t5,0x44($t4)
/* f0864b8: 504d000f */ beql $v0,$t5,.L0f0864f8
/* f0864bc: 240c0001 */ addiu $t4,$zero,0x1
/* f0864c0: 8dcf0018 */ lw $t7,0x18($t6)
/* f0864c4: 8de40008 */ lw $a0,0x8($t7)
/* f0864c8: 8c830004 */ lw $v1,0x4($a0)
.L0f0864cc:
/* f0864cc: 3c198008 */ lui $t9,%hi(g_SkelCctv)
/* f0864d0: 2739ae34 */ addiu $t9,$t9,%lo(g_SkelCctv)
/* f0864d4: 17230009 */ bne $t9,$v1,.L0f0864fc
/* f0864d8: 24050001 */ addiu $a1,$zero,0x1
/* f0864dc: 0c006a47 */ jal modelGetPart
/* f0864e0: afa600d0 */ sw $a2,0xd0($sp)
/* f0864e4: 8fab0124 */ lw $t3,0x124($sp)
/* f0864e8: 8fa600d0 */ lw $a2,0xd0($sp)
/* f0864ec: 8d780044 */ lw $t8,0x44($t3)
/* f0864f0: 14580002 */ bne $v0,$t8,.L0f0864fc
/* f0864f4: 240c0001 */ addiu $t4,$zero,0x1
.L0f0864f8:
/* f0864f8: a3ac00cb */ sb $t4,0xcb($sp)
.L0f0864fc:
/* f0864fc: 8ccd0004 */ lw $t5,0x4($a2)
/* f086500: 8fae00cc */ lw $t6,0xcc($sp)
/* f086504: 00003825 */ or $a3,$zero,$zero
/* f086508: 01ae7821 */ addu $t7,$t5,$t6
/* f08650c: 91e20000 */ lbu $v0,0x0($t7)
/* f086510: 28410003 */ slti $at,$v0,0x3
/* f086514: 14200014 */ bnez $at,.L0f086568
/* f086518: 28410006 */ slti $at,$v0,0x6
/* f08651c: 10200012 */ beqz $at,.L0f086568
/* f086520: 8fb9011c */ lw $t9,0x11c($sp)
/* f086524: 932b0003 */ lbu $t3,0x3($t9)
/* f086528: 24010001 */ addiu $at,$zero,0x1
/* f08652c: 5161000a */ beql $t3,$at,.L0f086558
/* f086530: 2442000a */ addiu $v0,$v0,0xa
/* f086534: 8f380008 */ lw $t8,0x8($t9)
/* f086538: 00186380 */ sll $t4,$t8,0xe
/* f08653c: 05820006 */ bltzl $t4,.L0f086558
/* f086540: 2442000a */ addiu $v0,$v0,0xa
/* f086544: 8f2d000c */ lw $t5,0xc($t9)
/* f086548: 31ae4000 */ andi $t6,$t5,0x4000
/* f08654c: 51c00005 */ beqzl $t6,.L0f086564
/* f086550: 24180001 */ addiu $t8,$zero,0x1
/* f086554: 2442000a */ addiu $v0,$v0,0xa
.L0f086558:
/* f086558: 00027c00 */ sll $t7,$v0,0x10
/* f08655c: 000f1403 */ sra $v0,$t7,0x10
/* f086560: 24180001 */ addiu $t8,$zero,0x1
.L0f086564:
/* f086564: afb800c4 */ sw $t8,0xc4($sp)
.L0f086568:
/* f086568: 8fac0124 */ lw $t4,0x124($sp)
/* f08656c: 24190001 */ addiu $t9,$zero,0x1
/* f086570: afb90018 */ sw $t9,0x18($sp)
/* f086574: afa00010 */ sw $zero,0x10($sp)
/* f086578: afa20014 */ sw $v0,0x14($sp)
/* f08657c: 8d8d0004 */ lw $t5,0x4($t4)
/* f086580: 83af00cb */ lb $t7,0xcb($sp)
/* f086584: 3c0b800a */ lui $t3,%hi(g_Vars+0x284)
/* f086588: afad001c */ sw $t5,0x1c($sp)
/* f08658c: 8d8e0040 */ lw $t6,0x40($t4)
/* f086590: 8d6ba244 */ lw $t3,%lo(g_Vars+0x284)($t3)
/* f086594: afaf0024 */ sw $t7,0x24($sp)
/* f086598: afae0020 */ sw $t6,0x20($sp)
/* f08659c: 8d7800bc */ lw $t8,0xbc($t3)
/* f0865a0: 8fad00c4 */ lw $t5,0xc4($sp)
/* f0865a4: 8fa60120 */ lw $a2,0x120($sp)
/* f0865a8: 8f190004 */ lw $t9,0x4($t8)
/* f0865ac: 25840010 */ addiu $a0,$t4,0x10
/* f0865b0: 2585001c */ addiu $a1,$t4,0x1c
/* f0865b4: afad002c */ sw $t5,0x2c($sp)
/* f0865b8: 24c6001c */ addiu $a2,$a2,0x1c
/* f0865bc: 0fc4fcfd */ jal wallhitCreate
/* f0865c0: afb90028 */ sw $t9,0x28($sp)
/* f0865c4: 8fa80124 */ lw $t0,0x124($sp)
.L0f0865c8:
/* f0865c8: 3c02800a */ lui $v0,%hi(g_Vars)
/* f0865cc: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars)
/* f0865d0: 8c4c029c */ lw $t4,0x29c($v0)
/* f0865d4: 0582000b */ bltzl $t4,.L0f086604
/* f0865d8: 850d003a */ lh $t5,0x3a($t0)
/* f0865dc: 8c4e02a8 */ lw $t6,0x2a8($v0)
/* f0865e0: 8c4f0284 */ lw $t7,0x284($v0)
/* f0865e4: 8fab011c */ lw $t3,0x11c($sp)
/* f0865e8: 55cf0006 */ bnel $t6,$t7,.L0f086604
/* f0865ec: 850d003a */ lh $t5,0x3a($t0)
/* f0865f0: 8d78000c */ lw $t8,0xc($t3)
/* f0865f4: 33190001 */ andi $t9,$t8,0x1
/* f0865f8: 572000c4 */ bnezl $t9,.L0f08690c
/* f0865fc: 8fbf0034 */ lw $ra,0x34($sp)
/* f086600: 850d003a */ lh $t5,0x3a($t0)
.L0f086604:
/* f086604: 24012710 */ addiu $at,$zero,0x2710
/* f086608: 51a1005b */ beql $t5,$at,.L0f086778
/* f08660c: 8fa80124 */ lw $t0,0x124($sp)
/* f086610: 0fc2c74a */ jal gsetGetDamage
/* f086614: 8fa40048 */ lw $a0,0x48($sp)
/* f086618: 8fac011c */ lw $t4,0x11c($sp)
/* f08661c: 2401000d */ addiu $at,$zero,0xd
/* f086620: 46000086 */ mov.s $f2,$f0
/* f086624: 91820003 */ lbu $v0,0x3($t4)
/* f086628: 14410005 */ bne $v0,$at,.L0f086640
/* f08662c: 3c018007 */ lui $at,%hi(var80069958)
/* f086630: c4289958 */ lwc1 $f8,%lo(var80069958)($at)
/* f086634: 46080082 */ mul.s $f2,$f0,$f8
/* f086638: 10000031 */ b .L0f086700
/* f08663c: 8fae0120 */ lw $t6,0x120($sp)
.L0f086640:
/* f086640: 24010006 */ addiu $at,$zero,0x6
/* f086644: 1441001d */ bne $v0,$at,.L0f0866bc
/* f086648: 8fac0100 */ lw $t4,0x100($sp)
/* f08664c: 8fae011c */ lw $t6,0x11c($sp)
/* f086650: 3c0b8008 */ lui $t3,%hi(g_SkelCctv)
/* f086654: 256bae34 */ addiu $t3,$t3,%lo(g_SkelCctv)
/* f086658: 8dcf0018 */ lw $t7,0x18($t6)
/* f08665c: 24050001 */ addiu $a1,$zero,0x1
/* f086660: 8de40008 */ lw $a0,0x8($t7)
/* f086664: 8c980004 */ lw $t8,0x4($a0)
/* f086668: 1578000f */ bne $t3,$t8,.L0f0866a8
/* f08666c: 00000000 */ nop
/* f086670: 0c006a47 */ jal modelGetPart
/* f086674: e7a200c0 */ swc1 $f2,0xc0($sp)
/* f086678: 8fb90124 */ lw $t9,0x124($sp)
/* f08667c: c7a200c0 */ lwc1 $f2,0xc0($sp)
/* f086680: 3c0142c8 */ lui $at,0x42c8
/* f086684: 8f2d0044 */ lw $t5,0x44($t9)
/* f086688: 144d0007 */ bne $v0,$t5,.L0f0866a8
/* f08668c: 00000000 */ nop
/* f086690: 44815000 */ mtc1 $at,$f10
/* f086694: 8fa4011c */ lw $a0,0x11c($sp)
/* f086698: 460a1082 */ mul.s $f2,$f2,$f10
/* f08669c: 0fc213d9 */ jal func0f084f64
/* f0866a0: e7a200c0 */ swc1 $f2,0xc0($sp)
/* f0866a4: c7a200c0 */ lwc1 $f2,0xc0($sp)
.L0f0866a8:
/* f0866a8: 3c018007 */ lui $at,%hi(var8006994c)
/* f0866ac: c432994c */ lwc1 $f18,%lo(var8006994c)($at)
/* f0866b0: 46121082 */ mul.s $f2,$f2,$f18
/* f0866b4: 10000012 */ b .L0f086700
/* f0866b8: 8fae0120 */ lw $t6,0x120($sp)
.L0f0866bc:
/* f0866bc: 1180000f */ beqz $t4,.L0f0866fc
/* f0866c0: 2401002a */ addiu $at,$zero,0x2a
/* f0866c4: 10410002 */ beq $v0,$at,.L0f0866d0
/* f0866c8: 2401002f */ addiu $at,$zero,0x2f
/* f0866cc: 14410006 */ bne $v0,$at,.L0f0866e8
.L0f0866d0:
/* f0866d0: 3c0142c8 */ lui $at,0x42c8
/* f0866d4: 44812000 */ mtc1 $at,$f4
/* f0866d8: 00000000 */ nop
/* f0866dc: 46040082 */ mul.s $f2,$f0,$f4
/* f0866e0: 10000007 */ b .L0f086700
/* f0866e4: 8fae0120 */ lw $t6,0x120($sp)
.L0f0866e8:
/* f0866e8: 3c0140a0 */ lui $at,0x40a0
/* f0866ec: 44818000 */ mtc1 $at,$f16
/* f0866f0: 00000000 */ nop
/* f0866f4: 46100082 */ mul.s $f2,$f0,$f16
/* f0866f8: 00000000 */ nop
.L0f0866fc:
/* f0866fc: 8fae0120 */ lw $t6,0x120($sp)
.L0f086700:
/* f086700: 3c0f800a */ lui $t7,%hi(g_Vars+0x28c)
/* f086704: 8defa24c */ lw $t7,%lo(g_Vars+0x28c)($t7)
/* f086708: 44051000 */ mfc1 $a1,$f2
/* f08670c: 91c70018 */ lbu $a3,0x18($t6)
/* f086710: 8fa4011c */ lw $a0,0x11c($sp)
/* f086714: 27a60110 */ addiu $a2,$sp,0x110
/* f086718: 0fc2149c */ jal objTakeGunfire
/* f08671c: afaf0010 */ sw $t7,0x10($sp)
/* f086720: 8fa4011c */ lw $a0,0x11c($sp)
/* f086724: 3c0b8008 */ lui $t3,%hi(g_SkelWindowedDoor)
/* f086728: 256baed8 */ addiu $t3,$t3,%lo(g_SkelWindowedDoor)
/* f08672c: 8c980018 */ lw $t8,0x18($a0)
/* f086730: 8fac0124 */ lw $t4,0x124($sp)
/* f086734: 8f190008 */ lw $t9,0x8($t8)
/* f086738: 8f2d0004 */ lw $t5,0x4($t9)
/* f08673c: 556d000e */ bnel $t3,$t5,.L0f086778
/* f086740: 8fa80124 */ lw $t0,0x124($sp)
/* f086744: 818e004c */ lb $t6,0x4c($t4)
/* f086748: 55c0000b */ bnezl $t6,.L0f086778
/* f08674c: 8fa80124 */ lw $t0,0x124($sp)
/* f086750: 808f0085 */ lb $t7,0x85($a0)
/* f086754: 25f80001 */ addiu $t8,$t7,0x1
/* f086758: a0980085 */ sb $t8,0x85($a0)
/* f08675c: 80990085 */ lb $t9,0x85($a0)
/* f086760: 2b210003 */ slti $at,$t9,0x3
/* f086764: 54200004 */ bnezl $at,.L0f086778
/* f086768: 8fa80124 */ lw $t0,0x124($sp)
/* f08676c: 0fc21396 */ jal doorDestroyGlass
/* f086770: 00000000 */ nop
/* f086774: 8fa80124 */ lw $t0,0x124($sp)
.L0f086778:
/* f086778: 00002825 */ or $a1,$zero,$zero
/* f08677c: 0fc1c1a6 */ jal objDropRecursively
/* f086780: 8d040004 */ lw $a0,0x4($t0)
/* f086784: 8fa4011c */ lw $a0,0x11c($sp)
/* f086788: 8c820040 */ lw $v0,0x40($a0)
/* f08678c: 00025940 */ sll $t3,$v0,0x5
/* f086790: 0560005d */ bltz $t3,.L0f086908
/* f086794: 00026900 */ sll $t5,$v0,0x4
/* f086798: 05a2005c */ bltzl $t5,.L0f08690c
/* f08679c: 8fbf0034 */ lw $ra,0x34($sp)
/* f0867a0: 8c8c0010 */ lw $t4,0x10($a0)
/* f0867a4: 8fa20120 */ lw $v0,0x120($sp)
/* f0867a8: 3c014040 */ lui $at,0x4040
/* f0867ac: 318e0001 */ andi $t6,$t4,0x1
/* f0867b0: 11c0002d */ beqz $t6,.L0f086868
/* f0867b4: 00000000 */ nop
/* f0867b8: 44810000 */ mtc1 $at,$f0
/* f0867bc: c4460028 */ lwc1 $f6,0x28($v0)
/* f0867c0: 8faf0124 */ lw $t7,0x124($sp)
/* f0867c4: 46003202 */ mul.s $f8,$f6,$f0
/* f0867c8: 25f80010 */ addiu $t8,$t7,0x10
/* f0867cc: e7a800b0 */ swc1 $f8,0xb0($sp)
/* f0867d0: c44a002c */ lwc1 $f10,0x2c($v0)
/* f0867d4: 46005482 */ mul.s $f18,$f10,$f0
/* f0867d8: e7b200b4 */ swc1 $f18,0xb4($sp)
/* f0867dc: c4440030 */ lwc1 $f4,0x30($v0)
/* f0867e0: afb80048 */ sw $t8,0x48($sp)
/* f0867e4: 46002402 */ mul.s $f16,$f4,$f0
/* f0867e8: 0fc2d5de */ jal currentPlayerGetUnk174c
/* f0867ec: e7b000b8 */ swc1 $f16,0xb8($sp)
/* f0867f0: 8fb9011c */ lw $t9,0x11c($sp)
/* f0867f4: 8fac0124 */ lw $t4,0x124($sp)
/* f0867f8: 00402025 */ or $a0,$v0,$zero
/* f0867fc: 8f2b0018 */ lw $t3,0x18($t9)
/* f086800: 8d8e0040 */ lw $t6,0x40($t4)
/* f086804: 27a60058 */ addiu $a2,$sp,0x58
/* f086808: 8d6d000c */ lw $t5,0xc($t3)
/* f08680c: 000e7980 */ sll $t7,$t6,0x6
/* f086810: 0c005680 */ jal mtx4MultMtx4
/* f086814: 01af2821 */ addu $a1,$t5,$t7
/* f086818: 27a40058 */ addiu $a0,$sp,0x58
/* f08681c: 8fa50048 */ lw $a1,0x48($sp)
/* f086820: 0c0056da */ jal mtx4TransformVec
/* f086824: 27a600a4 */ addiu $a2,$sp,0xa4
/* f086828: 8fb80120 */ lw $t8,0x120($sp)
/* f08682c: 24190001 */ addiu $t9,$zero,0x1
/* f086830: 8fa4011c */ lw $a0,0x11c($sp)
/* f086834: c7060028 */ lwc1 $f6,0x28($t8)
/* f086838: 27a500a4 */ addiu $a1,$sp,0xa4
/* f08683c: 27a60098 */ addiu $a2,$sp,0x98
/* f086840: e7a60098 */ swc1 $f6,0x98($sp)
/* f086844: c708002c */ lwc1 $f8,0x2c($t8)
/* f086848: 27a700b0 */ addiu $a3,$sp,0xb0
/* f08684c: e7a8009c */ swc1 $f8,0x9c($sp)
/* f086850: c70a0030 */ lwc1 $f10,0x30($t8)
/* f086854: afb90010 */ sw $t9,0x10($sp)
/* f086858: 0fc20ba1 */ jal func0f082e84
/* f08685c: e7aa00a0 */ swc1 $f10,0xa0($sp)
/* f086860: 1000002a */ b .L0f08690c
/* f086864: 8fbf0034 */ lw $ra,0x34($sp)
.L0f086868:
/* f086868: 0fc21465 */ jal func0f085194
/* f08686c: afa00054 */ sw $zero,0x54($sp)
/* f086870: 10400008 */ beqz $v0,.L0f086894
/* f086874: 8fa30054 */ lw $v1,0x54($sp)
/* f086878: 8fab011c */ lw $t3,0x11c($sp)
/* f08687c: 8d6c0008 */ lw $t4,0x8($t3)
/* f086880: 000c7240 */ sll $t6,$t4,0x9
/* f086884: 05c2000a */ bltzl $t6,.L0f0868b0
/* f086888: 8fb9011c */ lw $t9,0x11c($sp)
/* f08688c: 10000007 */ b .L0f0868ac
/* f086890: 24030001 */ addiu $v1,$zero,0x1
.L0f086894:
/* f086894: 8fad011c */ lw $t5,0x11c($sp)
/* f086898: 8daf0008 */ lw $t7,0x8($t5)
/* f08689c: 000fc280 */ sll $t8,$t7,0xa
/* f0868a0: 07030003 */ bgezl $t8,.L0f0868b0
/* f0868a4: 8fb9011c */ lw $t9,0x11c($sp)
/* f0868a8: 24030001 */ addiu $v1,$zero,0x1
.L0f0868ac:
/* f0868ac: 8fb9011c */ lw $t9,0x11c($sp)
.L0f0868b0:
/* f0868b0: 8f2b000c */ lw $t3,0xc($t9)
/* f0868b4: 03202025 */ or $a0,$t9,$zero
/* f0868b8: 316c0002 */ andi $t4,$t3,0x2
/* f0868bc: 51800007 */ beqzl $t4,.L0f0868dc
/* f0868c0: 8fae011c */ lw $t6,0x11c($sp)
/* f0868c4: 0fc21a6a */ jal objIsHealthy
/* f0868c8: afa30054 */ sw $v1,0x54($sp)
/* f0868cc: 14400002 */ bnez $v0,.L0f0868d8
/* f0868d0: 8fa30054 */ lw $v1,0x54($sp)
/* f0868d4: 24030001 */ addiu $v1,$zero,0x1
.L0f0868d8:
/* f0868d8: 8fae011c */ lw $t6,0x11c($sp)
.L0f0868dc:
/* f0868dc: 8fa50120 */ lw $a1,0x120($sp)
/* f0868e0: 8dcd000c */ lw $t5,0xc($t6)
/* f0868e4: 24a5000c */ addiu $a1,$a1,0xc
/* f0868e8: 31af0400 */ andi $t7,$t5,0x400
/* f0868ec: 11e00002 */ beqz $t7,.L0f0868f8
/* f0868f0: 00000000 */ nop
/* f0868f4: 00001825 */ or $v1,$zero,$zero
.L0f0868f8:
/* f0868f8: 50600004 */ beqzl $v1,.L0f08690c
/* f0868fc: 8fbf0034 */ lw $ra,0x34($sp)
/* f086900: 0fc209b3 */ jal func0f0826cc
/* f086904: 8fa4011c */ lw $a0,0x11c($sp)
.L0f086908:
/* f086908: 8fbf0034 */ lw $ra,0x34($sp)
.L0f08690c:
/* f08690c: 27bd0120 */ addiu $sp,$sp,0x120
/* f086910: 03e00008 */ jr $ra
/* f086914: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel objHit
/* f084710: 27bdfee0 */ addiu $sp,$sp,-288
/* f084714: afbf0034 */ sw $ra,0x34($sp)
/* f084718: afa40120 */ sw $a0,0x120($sp)
/* f08471c: afa50124 */ sw $a1,0x124($sp)
/* f084720: a3a0010b */ sb $zero,0x10b($sp)
/* f084724: afa00100 */ sw $zero,0x100($sp)
/* f084728: 80af004c */ lb $t7,0x4c($a1)
/* f08472c: 24840018 */ addiu $a0,$a0,0x18
/* f084730: afa40048 */ sw $a0,0x48($sp)
/* f084734: 0fc2bb77 */ jal gsetGetWeaponFunction
/* f084738: afaf00fc */ sw $t7,0xfc($sp)
/* f08473c: 5040000e */ beqzl $v0,.NB0f084778
/* f084740: 8fa40124 */ lw $a0,0x124($sp)
/* f084744: 8c580000 */ lw $t8,0x0($v0)
/* f084748: 24010003 */ addiu $at,$zero,0x3
/* f08474c: 240b0001 */ addiu $t3,$zero,0x1
/* f084750: 331900ff */ andi $t9,$t8,0xff
/* f084754: 17210002 */ bne $t9,$at,.NB0f084760
/* f084758: 240e0001 */ addiu $t6,$zero,0x1
/* f08475c: a3ab010b */ sb $t3,0x10b($sp)
.NB0f084760:
/* f084760: 8c4c0010 */ lw $t4,0x10($v0)
/* f084764: 318d4000 */ andi $t5,$t4,0x4000
/* f084768: 51a00003 */ beqzl $t5,.NB0f084778
/* f08476c: 8fa40124 */ lw $a0,0x124($sp)
/* f084770: afae0100 */ sw $t6,0x100($sp)
/* f084774: 8fa40124 */ lw $a0,0x124($sp)
.NB0f084778:
/* f084778: 8c870004 */ lw $a3,0x4($a0)
/* f08477c: afa7010c */ sw $a3,0x10c($sp)
/* f084780: 8ce20018 */ lw $v0,0x18($a3)
/* f084784: 10400005 */ beqz $v0,.NB0f08479c
/* f084788: 00401825 */ or $v1,$v0,$zero
.NB0f08478c:
/* f08478c: 8c420018 */ lw $v0,0x18($v0)
/* f084790: 5440fffe */ bnezl $v0,.NB0f08478c
/* f084794: 00401825 */ or $v1,$v0,$zero
/* f084798: afa3010c */ sw $v1,0x10c($sp)
.NB0f08479c:
/* f08479c: 8cf80004 */ lw $t8,0x4($a3)
/* f0847a0: 8fa20120 */ lw $v0,0x120($sp)
/* f0847a4: afb8011c */ sw $t8,0x11c($sp)
/* f0847a8: c4840000 */ lwc1 $f4,0x0($a0)
/* f0847ac: c446000c */ lwc1 $f6,0xc($v0)
/* f0847b0: c44a0014 */ lwc1 $f10,0x14($v0)
/* f0847b4: c4520000 */ lwc1 $f18,0x0($v0)
/* f0847b8: 46062202 */ mul.s $f8,$f4,$f6
/* f0847bc: 460a4403 */ div.s $f16,$f8,$f10
/* f0847c0: 46109101 */ sub.s $f4,$f18,$f16
/* f0847c4: e7a40110 */ swc1 $f4,0x110($sp)
/* f0847c8: c4860000 */ lwc1 $f6,0x0($a0)
/* f0847cc: c4480010 */ lwc1 $f8,0x10($v0)
/* f0847d0: c4520014 */ lwc1 $f18,0x14($v0)
/* f0847d4: c4440004 */ lwc1 $f4,0x4($v0)
/* f0847d8: 46083282 */ mul.s $f10,$f6,$f8
/* f0847dc: 46125403 */ div.s $f16,$f10,$f18
/* f0847e0: 46102181 */ sub.s $f6,$f4,$f16
/* f0847e4: e7a60114 */ swc1 $f6,0x114($sp)
/* f0847e8: c48a0000 */ lwc1 $f10,0x0($a0)
/* f0847ec: c4480008 */ lwc1 $f8,0x8($v0)
/* f0847f0: 460a4481 */ sub.s $f18,$f8,$f10
/* f0847f4: 0fc2cd36 */ jal currentPlayerGetUnk174c
/* f0847f8: e7b20118 */ swc1 $f18,0x118($sp)
/* f0847fc: 00402025 */ or $a0,$v0,$zero
/* f084800: 0c005a95 */ jal mtx4TransformVecInPlace
/* f084804: 27a50110 */ addiu $a1,$sp,0x110
/* f084808: 8fb900fc */ lw $t9,0xfc($sp)
/* f08480c: 3c0b800a */ lui $t3,0x800a
/* f084810: 57200009 */ bnezl $t9,.NB0f084838
/* f084814: 8fa20124 */ lw $v0,0x124($sp)
/* f084818: 8d6be944 */ lw $t3,-0x16bc($t3)
/* f08481c: 8d6c00bc */ lw $t4,0xbc($t3)
/* f084820: 0fc4e3ea */ jal chrIsUsingPaintball
/* f084824: 8d840004 */ lw $a0,0x4($t4)
/* f084828: 10400002 */ beqz $v0,.NB0f084834
/* f08482c: 240d0001 */ addiu $t5,$zero,0x1
/* f084830: afad00fc */ sw $t5,0xfc($sp)
.NB0f084834:
/* f084834: 8fa20124 */ lw $v0,0x124($sp)
.NB0f084838:
/* f084838: 804e004c */ lb $t6,0x4c($v0)
/* f08483c: 51c00005 */ beqzl $t6,.NB0f084854
/* f084840: 8faf011c */ lw $t7,0x11c($sp)
/* f084844: 0fc29c81 */ jal bgunSetHitPos
/* f084848: 27a40110 */ addiu $a0,$sp,0x110
/* f08484c: 8fa20124 */ lw $v0,0x124($sp)
/* f084850: 8faf011c */ lw $t7,0x11c($sp)
.NB0f084854:
/* f084854: 2401014c */ addiu $at,$zero,0x14c
/* f084858: 85f80004 */ lh $t8,0x4($t7)
/* f08485c: 5701003c */ bnel $t8,$at,.NB0f084950
/* f084860: 93ac010b */ lbu $t4,0x10b($sp)
/* f084864: 8459003a */ lh $t9,0x3a($v0)
/* f084868: 24010b9e */ addiu $at,$zero,0xb9e
/* f08486c: 8fab0120 */ lw $t3,0x120($sp)
/* f084870: 17210010 */ bne $t9,$at,.NB0f0848b4
/* f084874: 8fad0120 */ lw $t5,0x120($sp)
/* f084878: 916c001a */ lbu $t4,0x1a($t3)
/* f08487c: 01e02025 */ or $a0,$t7,$zero
/* f084880: 27a50110 */ addiu $a1,$sp,0x110
/* f084884: 448c2000 */ mtc1 $t4,$f4
/* f084888: 3c014f80 */ lui $at,0x4f80
/* f08488c: 05810004 */ bgez $t4,.NB0f0848a0
/* f084890: 46802120 */ cvt.s.w $f4,$f4
/* f084894: 44818000 */ mtc1 $at,$f16
/* f084898: 00000000 */ sll $zero,$zero,0x0
/* f08489c: 46102100 */ add.s $f4,$f4,$f16
.NB0f0848a0:
/* f0848a0: 44062000 */ mfc1 $a2,$f4
/* f0848a4: 0fc66b34 */ jal frCalculateHit
/* f0848a8: 00000000 */ sll $zero,$zero,0x0
/* f0848ac: 10000027 */ beqz $zero,.NB0f08494c
/* f0848b0: 8fa20124 */ lw $v0,0x124($sp)
.NB0f0848b4:
/* f0848b4: 91ae0018 */ lbu $t6,0x18($t5)
/* f0848b8: 2401000c */ addiu $at,$zero,0xc
/* f0848bc: 8fb9011c */ lw $t9,0x11c($sp)
/* f0848c0: 15c10005 */ bne $t6,$at,.NB0f0848d8
/* f0848c4: 27a50110 */ addiu $a1,$sp,0x110
/* f0848c8: 91b8001b */ lbu $t8,0x1b($t5)
/* f0848cc: 24010001 */ addiu $at,$zero,0x1
/* f0848d0: 5301001f */ beql $t8,$at,.NB0f084950
/* f0848d4: 93ac010b */ lbu $t4,0x10b($sp)
.NB0f0848d8:
/* f0848d8: 8f2f0018 */ lw $t7,0x18($t9)
/* f0848dc: 8c470004 */ lw $a3,0x4($v0)
/* f0848e0: 27a600ec */ addiu $a2,$sp,0xec
/* f0848e4: 8de4000c */ lw $a0,0xc($t7)
/* f0848e8: 0c005a96 */ jal mtx4TransformVec
/* f0848ec: afa700e4 */ sw $a3,0xe4($sp)
/* f0848f0: c7a000f4 */ lwc1 $f0,0xf4($sp)
/* f0848f4: 8fa700e4 */ lw $a3,0xe4($sp)
/* f0848f8: 00002025 */ or $a0,$zero,$zero
/* f0848fc: 8fa20120 */ lw $v0,0x120($sp)
/* f084900: 24050410 */ addiu $a1,$zero,0x410
/* f084904: 46000007 */ neg.s $f0,$f0
.NB0f084908:
/* f084908: 8c430040 */ lw $v1,0x40($v0)
/* f08490c: 24840068 */ addiu $a0,$a0,0x68
/* f084910: 10600009 */ beqz $v1,.NB0f084938
/* f084914: 00000000 */ sll $zero,$zero,0x0
/* f084918: 10e30007 */ beq $a3,$v1,.NB0f084938
/* f08491c: 00000000 */ sll $zero,$zero,0x0
/* f084920: c446003c */ lwc1 $f6,0x3c($v0)
/* f084924: 4606003c */ c.lt.s $f0,$f6
/* f084928: 00000000 */ sll $zero,$zero,0x0
/* f08492c: 45000002 */ bc1f .NB0f084938
/* f084930: 00000000 */ sll $zero,$zero,0x0
/* f084934: ac400040 */ sw $zero,0x40($v0)
.NB0f084938:
/* f084938: 1485fff3 */ bne $a0,$a1,.NB0f084908
/* f08493c: 24420068 */ addiu $v0,$v0,0x68
/* f084940: 8fab0120 */ lw $t3,0x120($sp)
/* f084944: e5600034 */ swc1 $f0,0x34($t3)
/* f084948: 8fa20124 */ lw $v0,0x124($sp)
.NB0f08494c:
/* f08494c: 93ac010b */ lbu $t4,0x10b($sp)
.NB0f084950:
/* f084950: 3c0e800a */ lui $t6,0x800a
/* f084954: 55800019 */ bnezl $t4,.NB0f0849bc
/* f084958: 844f003a */ lh $t7,0x3a($v0)
/* f08495c: 8dcee944 */ lw $t6,-0x16bc($t6)
/* f084960: 8dcd00bc */ lw $t5,0xbc($t6)
/* f084964: 0fc4e3ea */ jal chrIsUsingPaintball
/* f084968: 8da40004 */ lw $a0,0x4($t5)
/* f08496c: 1040000b */ beqz $v0,.NB0f08499c
/* f084970: 8fa5010c */ lw $a1,0x10c($sp)
/* f084974: 8fa5010c */ lw $a1,0x10c($sp)
/* f084978: 24180019 */ addiu $t8,$zero,0x19
/* f08497c: 27a60110 */ addiu $a2,$sp,0x110
/* f084980: 84a40028 */ lh $a0,0x28($a1)
/* f084984: afb80014 */ sw $t8,0x14($sp)
/* f084988: afa00010 */ sw $zero,0x10($sp)
/* f08498c: 0fc4a960 */ jal sparksCreate
/* f084990: 00003825 */ or $a3,$zero,$zero
/* f084994: 10000008 */ beqz $zero,.NB0f0849b8
/* f084998: 8fa20124 */ lw $v0,0x124($sp)
.NB0f08499c:
/* f08499c: 84a40028 */ lh $a0,0x28($a1)
/* f0849a0: afa00014 */ sw $zero,0x14($sp)
/* f0849a4: afa00010 */ sw $zero,0x10($sp)
/* f0849a8: 27a60110 */ addiu $a2,$sp,0x110
/* f0849ac: 0fc4a960 */ jal sparksCreate
/* f0849b0: 00003825 */ or $a3,$zero,$zero
/* f0849b4: 8fa20124 */ lw $v0,0x124($sp)
.NB0f0849b8:
/* f0849b8: 844f003a */ lh $t7,0x3a($v0)
.NB0f0849bc:
/* f0849bc: 24012710 */ addiu $at,$zero,0x2710
/* f0849c0: 15e1002b */ bne $t7,$at,.NB0f084a70
/* f0849c4: 00000000 */ sll $zero,$zero,0x0
/* f0849c8: c4480010 */ lwc1 $f8,0x10($v0)
/* f0849cc: 8faf011c */ lw $t7,0x11c($sp)
/* f0849d0: 8fa4010c */ lw $a0,0x10c($sp)
/* f0849d4: 4600428d */ trunc.w.s $f10,$f8
/* f0849d8: 3c014100 */ lui $at,0x4100
/* f0849dc: 440c5000 */ mfc1 $t4,$f10
/* f0849e0: 00000000 */ sll $zero,$zero,0x0
/* f0849e4: a7ac00dc */ sh $t4,0xdc($sp)
/* f0849e8: c4520014 */ lwc1 $f18,0x14($v0)
/* f0849ec: 4600910d */ trunc.w.s $f4,$f18
/* f0849f0: 440d2000 */ mfc1 $t5,$f4
/* f0849f4: 00000000 */ sll $zero,$zero,0x0
/* f0849f8: a7ad00de */ sh $t5,0xde($sp)
/* f0849fc: c4500018 */ lwc1 $f16,0x18($v0)
/* f084a00: 4600818d */ trunc.w.s $f6,$f16
/* f084a04: 44193000 */ mfc1 $t9,$f6
/* f084a08: 00000000 */ sll $zero,$zero,0x0
/* f084a0c: a7b900e0 */ sh $t9,0xe0($sp)
/* f084a10: 8deb0010 */ lw $t3,0x10($t7)
/* f084a14: 27b900dc */ addiu $t9,$sp,0xdc
/* f084a18: 316c1000 */ andi $t4,$t3,0x1000
/* f084a1c: 51800006 */ beqzl $t4,.NB0f084a38
/* f084a20: 44810000 */ mtc1 $at,$f0
/* f084a24: 3c014080 */ lui $at,0x4080
/* f084a28: 44810000 */ mtc1 $at,$f0
/* f084a2c: 10000004 */ beqz $zero,.NB0f084a40
/* f084a30: 8c4e0048 */ lw $t6,0x48($v0)
/* f084a34: 44810000 */ mtc1 $at,$f0
.NB0f084a38:
/* f084a38: 00000000 */ sll $zero,$zero,0x0
/* f084a3c: 8c4e0048 */ lw $t6,0x48($v0)
.NB0f084a40:
/* f084a40: 8c460004 */ lw $a2,0x4($v0)
/* f084a44: 8c47000c */ lw $a3,0xc($v0)
/* f084a48: afae0010 */ sw $t6,0x10($sp)
/* f084a4c: 844d0038 */ lh $t5,0x38($v0)
/* f084a50: 44050000 */ mfc1 $a1,$f0
/* f084a54: afb90018 */ sw $t9,0x18($sp)
/* f084a58: 05a10003 */ bgez $t5,.NB0f084a68
/* f084a5c: 000dc043 */ sra $t8,$t5,0x1
/* f084a60: 25a10001 */ addiu $at,$t5,0x1
/* f084a64: 0001c043 */ sra $t8,$at,0x1
.NB0f084a68:
/* f084a68: 0fc0a24a */ jal shieldhitCreate
/* f084a6c: afb80014 */ sw $t8,0x14($sp)
.NB0f084a70:
/* f084a70: 0fc21481 */ jal objIsHealthy
/* f084a74: 8fa4011c */ lw $a0,0x11c($sp)
/* f084a78: 5040000c */ beqzl $v0,.NB0f084aac
/* f084a7c: 8fab00fc */ lw $t3,0xfc($sp)
/* f084a80: 0fc20e9c */ jal objIsMortal
/* f084a84: 8fa4011c */ lw $a0,0x11c($sp)
/* f084a88: 10400007 */ beqz $v0,.NB0f084aa8
/* f084a8c: 8fa80124 */ lw $t0,0x124($sp)
/* f084a90: 810f004c */ lb $t7,0x4c($t0)
/* f084a94: 8fa40048 */ lw $a0,0x48($sp)
/* f084a98: 51e00004 */ beqzl $t7,.NB0f084aac
/* f084a9c: 8fab00fc */ lw $t3,0xfc($sp)
/* f084aa0: 0fc2b873 */ jal mpstatsIncrementPlayerShotCount2
/* f084aa4: 24050006 */ addiu $a1,$zero,0x6
.NB0f084aa8:
/* f084aa8: 8fab00fc */ lw $t3,0xfc($sp)
.NB0f084aac:
/* f084aac: 8fa80124 */ lw $t0,0x124($sp)
/* f084ab0: 93ac010b */ lbu $t4,0x10b($sp)
/* f084ab4: 15600008 */ bnez $t3,.NB0f084ad8
/* f084ab8: 00000000 */ sll $zero,$zero,0x0
/* f084abc: 8d070004 */ lw $a3,0x4($t0)
/* f084ac0: 8506003a */ lh $a2,0x3a($t0)
/* f084ac4: 24e40008 */ addiu $a0,$a3,0x8
/* f084ac8: 0fc29877 */ jal bgun0f0a8404
/* f084acc: 24e50028 */ addiu $a1,$a3,0x28
/* f084ad0: 10000007 */ beqz $zero,.NB0f084af0
/* f084ad4: 8fa80124 */ lw $t0,0x124($sp)
.NB0f084ad8:
/* f084ad8: 15800005 */ bnez $t4,.NB0f084af0
/* f084adc: 8fa40048 */ lw $a0,0x48($sp)
/* f084ae0: 8d050004 */ lw $a1,0x4($t0)
/* f084ae4: 0fc296b1 */ jal bgunPlayPropHitSound
/* f084ae8: 8506003a */ lh $a2,0x3a($t0)
/* f084aec: 8fa80124 */ lw $t0,0x124($sp)
.NB0f084af0:
/* f084af0: 93ae010b */ lbu $t6,0x10b($sp)
/* f084af4: 15c000cb */ bnez $t6,.NB0f084e24
/* f084af8: 00000000 */ sll $zero,$zero,0x0
/* f084afc: 8503003a */ lh $v1,0x3a($t0)
/* f084b00: 24012710 */ addiu $at,$zero,0x2710
/* f084b04: 8fad0120 */ lw $t5,0x120($sp)
/* f084b08: 106100c6 */ beq $v1,$at,.NB0f084e24
/* f084b0c: 00000000 */ sll $zero,$zero,0x0
/* f084b10: 91a20018 */ lbu $v0,0x18($t5)
/* f084b14: 24010001 */ addiu $at,$zero,0x1
/* f084b18: 104100c2 */ beq $v0,$at,.NB0f084e24
/* f084b1c: 2401001d */ addiu $at,$zero,0x1d
/* f084b20: 104100c0 */ beq $v0,$at,.NB0f084e24
/* f084b24: 2401001c */ addiu $at,$zero,0x1c
/* f084b28: 104100be */ beq $v0,$at,.NB0f084e24
/* f084b2c: 24010016 */ addiu $at,$zero,0x16
/* f084b30: 104100bc */ beq $v0,$at,.NB0f084e24
/* f084b34: 00000000 */ sll $zero,$zero,0x0
/* f084b38: 8118004c */ lb $t8,0x4c($t0)
/* f084b3c: 8faf011c */ lw $t7,0x11c($sp)
/* f084b40: 17000041 */ bnez $t8,.NB0f084c48
/* f084b44: 00000000 */ sll $zero,$zero,0x0
/* f084b48: 8deb0018 */ lw $t3,0x18($t7)
/* f084b4c: 3c198008 */ lui $t9,0x8008
/* f084b50: 2739d738 */ addiu $t9,$t9,-10440
/* f084b54: 8d6c0008 */ lw $t4,0x8($t3)
/* f084b58: 8d0a0004 */ lw $t2,0x4($t0)
/* f084b5c: 00001825 */ or $v1,$zero,$zero
/* f084b60: 8d8e0004 */ lw $t6,0x4($t4)
/* f084b64: 172e0003 */ bne $t9,$t6,.NB0f084b74
/* f084b68: 00000000 */ sll $zero,$zero,0x0
/* f084b6c: 10000001 */ beqz $zero,.NB0f084b74
/* f084b70: 24030001 */ addiu $v1,$zero,0x1
.NB0f084b74:
/* f084b74: a3a300d7 */ sb $v1,0xd7($sp)
/* f084b78: 0c004d84 */ jal random
/* f084b7c: afaa00d8 */ sw $t2,0xd8($sp)
/* f084b80: 24010003 */ addiu $at,$zero,0x3
/* f084b84: 0041001b */ divu $zero,$v0,$at
/* f084b88: 8fa9011c */ lw $t1,0x11c($sp)
/* f084b8c: 00002010 */ mfhi $a0
/* f084b90: 24840003 */ addiu $a0,$a0,0x3
/* f084b94: 91380003 */ lbu $t8,0x3($t1)
/* f084b98: 00044400 */ sll $t0,$a0,0x10
/* f084b9c: 00086c03 */ sra $t5,$t0,0x10
/* f084ba0: 24010001 */ addiu $at,$zero,0x1
/* f084ba4: 01a04025 */ or $t0,$t5,$zero
/* f084ba8: 83a300d7 */ lb $v1,0xd7($sp)
/* f084bac: 17010003 */ bne $t8,$at,.NB0f084bbc
/* f084bb0: 8faa00d8 */ lw $t2,0xd8($sp)
/* f084bb4: 5060000a */ beqzl $v1,.NB0f084be0
/* f084bb8: 2488000a */ addiu $t0,$a0,0xa
.NB0f084bbc:
/* f084bbc: 8d2f0008 */ lw $t7,0x8($t1)
/* f084bc0: 000f5b80 */ sll $t3,$t7,0xe
/* f084bc4: 05620006 */ bltzl $t3,.NB0f084be0
/* f084bc8: 2488000a */ addiu $t0,$a0,0xa
/* f084bcc: 8d2c000c */ lw $t4,0xc($t1)
/* f084bd0: 31994000 */ andi $t9,$t4,0x4000
/* f084bd4: 53200005 */ beqzl $t9,.NB0f084bec
/* f084bd8: 8faf0124 */ lw $t7,0x124($sp)
/* f084bdc: 2488000a */ addiu $t0,$a0,0xa
.NB0f084be0:
/* f084be0: 00086c00 */ sll $t5,$t0,0x10
/* f084be4: 000d4403 */ sra $t0,$t5,0x10
/* f084be8: 8faf0124 */ lw $t7,0x124($sp)
.NB0f084bec:
/* f084bec: 240b0001 */ addiu $t3,$zero,0x1
/* f084bf0: afab0018 */ sw $t3,0x18($sp)
/* f084bf4: afa00010 */ sw $zero,0x10($sp)
/* f084bf8: afa80014 */ sw $t0,0x14($sp)
/* f084bfc: afaa001c */ sw $t2,0x1c($sp)
/* f084c00: 8dec0040 */ lw $t4,0x40($t7)
/* f084c04: 3c19800a */ lui $t9,0x800a
/* f084c08: 8f39e944 */ lw $t9,-0x16bc($t9)
/* f084c0c: afa30024 */ sw $v1,0x24($sp)
/* f084c10: afac0020 */ sw $t4,0x20($sp)
/* f084c14: 8f2e00bc */ lw $t6,0xbc($t9)
/* f084c18: 8fa60120 */ lw $a2,0x120($sp)
/* f084c1c: 24180001 */ addiu $t8,$zero,0x1
/* f084c20: 8dcd0004 */ lw $t5,0x4($t6)
/* f084c24: afb8002c */ sw $t8,0x2c($sp)
/* f084c28: 00003825 */ or $a3,$zero,$zero
/* f084c2c: 25e40010 */ addiu $a0,$t7,0x10
/* f084c30: 25e5001c */ addiu $a1,$t7,0x1c
/* f084c34: 24c6001c */ addiu $a2,$a2,0x1c
/* f084c38: 0fc4e7bd */ jal wallhitCreate
/* f084c3c: afad0028 */ sw $t5,0x28($sp)
/* f084c40: 10000078 */ beqz $zero,.NB0f084e24
/* f084c44: 8fa80124 */ lw $t0,0x124($sp)
.NB0f084c48:
/* f084c48: 04600004 */ bltz $v1,.NB0f084c5c
/* f084c4c: a3a000cb */ sb $zero,0xcb($sp)
/* f084c50: 28610daf */ slti $at,$v1,0xdaf
/* f084c54: 14200004 */ bnez $at,.NB0f084c68
/* f084c58: 3c0b800b */ lui $t3,0x800b
.NB0f084c5c:
/* f084c5c: 3c068008 */ lui $a2,0x8008
/* f084c60: 1000000f */ beqz $zero,.NB0f084ca0
/* f084c64: 8cc66cd8 */ lw $a2,0x6cd8($a2)
.NB0f084c68:
/* f084c68: 8d6bf470 */ lw $t3,-0xb90($t3)
/* f084c6c: 000378c0 */ sll $t7,$v1,0x3
/* f084c70: 3c068008 */ lui $a2,0x8008
/* f084c74: 016f6021 */ addu $t4,$t3,$t7
/* f084c78: 91820000 */ lbu $v0,0x0($t4)
/* f084c7c: 3059000f */ andi $t9,$v0,0xf
/* f084c80: 2f21000f */ sltiu $at,$t9,0xf
/* f084c84: 10200005 */ beqz $at,.NB0f084c9c
/* f084c88: 00197080 */ sll $t6,$t9,0x2
/* f084c8c: 3c068008 */ lui $a2,0x8008
/* f084c90: 00ce3021 */ addu $a2,$a2,$t6
/* f084c94: 10000002 */ beqz $zero,.NB0f084ca0
/* f084c98: 8cc66cd8 */ lw $a2,0x6cd8($a2)
.NB0f084c9c:
/* f084c9c: 8cc66cd8 */ lw $a2,0x6cd8($a2)
.NB0f084ca0:
/* f084ca0: 84cd000a */ lh $t5,0xa($a2)
/* f084ca4: 19a0005f */ blez $t5,.NB0f084e24
/* f084ca8: 00000000 */ sll $zero,$zero,0x0
/* f084cac: afa000c4 */ sw $zero,0xc4($sp)
/* f084cb0: 0c004d84 */ jal random
/* f084cb4: afa600d0 */ sw $a2,0xd0($sp)
/* f084cb8: 8fa600d0 */ lw $a2,0xd0($sp)
/* f084cbc: 8faf011c */ lw $t7,0x11c($sp)
/* f084cc0: 3c198008 */ lui $t9,0x8008
/* f084cc4: 84d8000a */ lh $t8,0xa($a2)
/* f084cc8: 2739d738 */ addiu $t9,$t9,-10440
/* f084ccc: 24050003 */ addiu $a1,$zero,0x3
/* f084cd0: 0058001b */ divu $zero,$v0,$t8
/* f084cd4: 00005810 */ mfhi $t3
/* f084cd8: afab00cc */ sw $t3,0xcc($sp)
/* f084cdc: 8dec0018 */ lw $t4,0x18($t7)
/* f084ce0: 17000002 */ bnez $t8,.NB0f084cec
/* f084ce4: 00000000 */ sll $zero,$zero,0x0
/* f084ce8: 0007000d */ break 0x7
.NB0f084cec:
/* f084cec: 8d840008 */ lw $a0,0x8($t4)
/* f084cf0: 8c830004 */ lw $v1,0x4($a0)
/* f084cf4: 1723000c */ bne $t9,$v1,.NB0f084d28
/* f084cf8: 00000000 */ sll $zero,$zero,0x0
/* f084cfc: 0c006ea3 */ jal modelGetPart
/* f084d00: afa600d0 */ sw $a2,0xd0($sp)
/* f084d04: 8fae0124 */ lw $t6,0x124($sp)
/* f084d08: 8fa600d0 */ lw $a2,0xd0($sp)
/* f084d0c: 8fb8011c */ lw $t8,0x11c($sp)
/* f084d10: 8dcd0044 */ lw $t5,0x44($t6)
/* f084d14: 504d000f */ beql $v0,$t5,.NB0f084d54
/* f084d18: 240e0001 */ addiu $t6,$zero,0x1
/* f084d1c: 8f0b0018 */ lw $t3,0x18($t8)
/* f084d20: 8d640008 */ lw $a0,0x8($t3)
/* f084d24: 8c830004 */ lw $v1,0x4($a0)
.NB0f084d28:
/* f084d28: 3c0f8008 */ lui $t7,0x8008
/* f084d2c: 25efd694 */ addiu $t7,$t7,-10604
/* f084d30: 15e30009 */ bne $t7,$v1,.NB0f084d58
/* f084d34: 24050001 */ addiu $a1,$zero,0x1
/* f084d38: 0c006ea3 */ jal modelGetPart
/* f084d3c: afa600d0 */ sw $a2,0xd0($sp)
/* f084d40: 8fac0124 */ lw $t4,0x124($sp)
/* f084d44: 8fa600d0 */ lw $a2,0xd0($sp)
/* f084d48: 8d990044 */ lw $t9,0x44($t4)
/* f084d4c: 14590002 */ bne $v0,$t9,.NB0f084d58
/* f084d50: 240e0001 */ addiu $t6,$zero,0x1
.NB0f084d54:
/* f084d54: a3ae00cb */ sb $t6,0xcb($sp)
.NB0f084d58:
/* f084d58: 8ccd0004 */ lw $t5,0x4($a2)
/* f084d5c: 8fb800cc */ lw $t8,0xcc($sp)
/* f084d60: 00003825 */ or $a3,$zero,$zero
/* f084d64: 01b85821 */ addu $t3,$t5,$t8
/* f084d68: 91620000 */ lbu $v0,0x0($t3)
/* f084d6c: 28410003 */ slti $at,$v0,0x3
/* f084d70: 14200014 */ bnez $at,.NB0f084dc4
/* f084d74: 28410006 */ slti $at,$v0,0x6
/* f084d78: 10200012 */ beqz $at,.NB0f084dc4
/* f084d7c: 8faf011c */ lw $t7,0x11c($sp)
/* f084d80: 91ec0003 */ lbu $t4,0x3($t7)
/* f084d84: 24010001 */ addiu $at,$zero,0x1
/* f084d88: 5181000a */ beql $t4,$at,.NB0f084db4
/* f084d8c: 2442000a */ addiu $v0,$v0,0xa
/* f084d90: 8df90008 */ lw $t9,0x8($t7)
/* f084d94: 00197380 */ sll $t6,$t9,0xe
/* f084d98: 05c20006 */ bltzl $t6,.NB0f084db4
/* f084d9c: 2442000a */ addiu $v0,$v0,0xa
/* f084da0: 8ded000c */ lw $t5,0xc($t7)
/* f084da4: 31b84000 */ andi $t8,$t5,0x4000
/* f084da8: 53000005 */ beqzl $t8,.NB0f084dc0
/* f084dac: 24190001 */ addiu $t9,$zero,0x1
/* f084db0: 2442000a */ addiu $v0,$v0,0xa
.NB0f084db4:
/* f084db4: 00025c00 */ sll $t3,$v0,0x10
/* f084db8: 000b1403 */ sra $v0,$t3,0x10
/* f084dbc: 24190001 */ addiu $t9,$zero,0x1
.NB0f084dc0:
/* f084dc0: afb900c4 */ sw $t9,0xc4($sp)
.NB0f084dc4:
/* f084dc4: 8fae0124 */ lw $t6,0x124($sp)
/* f084dc8: 240f0001 */ addiu $t7,$zero,0x1
/* f084dcc: afaf0018 */ sw $t7,0x18($sp)
/* f084dd0: afa00010 */ sw $zero,0x10($sp)
/* f084dd4: afa20014 */ sw $v0,0x14($sp)
/* f084dd8: 8dcd0004 */ lw $t5,0x4($t6)
/* f084ddc: 83ab00cb */ lb $t3,0xcb($sp)
/* f084de0: 3c0c800a */ lui $t4,0x800a
/* f084de4: afad001c */ sw $t5,0x1c($sp)
/* f084de8: 8dd80040 */ lw $t8,0x40($t6)
/* f084dec: 8d8ce944 */ lw $t4,-0x16bc($t4)
/* f084df0: afab0024 */ sw $t3,0x24($sp)
/* f084df4: afb80020 */ sw $t8,0x20($sp)
/* f084df8: 8d9900bc */ lw $t9,0xbc($t4)
/* f084dfc: 8fad00c4 */ lw $t5,0xc4($sp)
/* f084e00: 8fa60120 */ lw $a2,0x120($sp)
/* f084e04: 8f2f0004 */ lw $t7,0x4($t9)
/* f084e08: 25c40010 */ addiu $a0,$t6,0x10
/* f084e0c: 25c5001c */ addiu $a1,$t6,0x1c
/* f084e10: afad002c */ sw $t5,0x2c($sp)
/* f084e14: 24c6001c */ addiu $a2,$a2,0x1c
/* f084e18: 0fc4e7bd */ jal wallhitCreate
/* f084e1c: afaf0028 */ sw $t7,0x28($sp)
/* f084e20: 8fa80124 */ lw $t0,0x124($sp)
.NB0f084e24:
/* f084e24: 3c02800a */ lui $v0,0x800a
/* f084e28: 2442e6c0 */ addiu $v0,$v0,-6464
/* f084e2c: 8c4e029c */ lw $t6,0x29c($v0)
/* f084e30: 05c2000b */ bltzl $t6,.NB0f084e60
/* f084e34: 850d003a */ lh $t5,0x3a($t0)
/* f084e38: 8c5802a8 */ lw $t8,0x2a8($v0)
/* f084e3c: 8c4b0284 */ lw $t3,0x284($v0)
/* f084e40: 8fac011c */ lw $t4,0x11c($sp)
/* f084e44: 570b0006 */ bnel $t8,$t3,.NB0f084e60
/* f084e48: 850d003a */ lh $t5,0x3a($t0)
/* f084e4c: 8d99000c */ lw $t9,0xc($t4)
/* f084e50: 332f0001 */ andi $t7,$t9,0x1
/* f084e54: 55e000c4 */ bnezl $t7,.NB0f085168
/* f084e58: 8fbf0034 */ lw $ra,0x34($sp)
/* f084e5c: 850d003a */ lh $t5,0x3a($t0)
.NB0f084e60:
/* f084e60: 24012710 */ addiu $at,$zero,0x2710
/* f084e64: 51a1005b */ beql $t5,$at,.NB0f084fd4
/* f084e68: 8fa80124 */ lw $t0,0x124($sp)
/* f084e6c: 0fc2bea2 */ jal gsetGetDamage
/* f084e70: 8fa40048 */ lw $a0,0x48($sp)
/* f084e74: 8fae011c */ lw $t6,0x11c($sp)
/* f084e78: 2401000d */ addiu $at,$zero,0xd
/* f084e7c: 46000086 */ mov.s $f2,$f0
/* f084e80: 91c20003 */ lbu $v0,0x3($t6)
/* f084e84: 14410005 */ bne $v0,$at,.NB0f084e9c
/* f084e88: 3c018007 */ lui $at,0x8007
/* f084e8c: c428c058 */ lwc1 $f8,-0x3fa8($at)
/* f084e90: 46080082 */ mul.s $f2,$f0,$f8
/* f084e94: 10000031 */ beqz $zero,.NB0f084f5c
/* f084e98: 8fb80120 */ lw $t8,0x120($sp)
.NB0f084e9c:
/* f084e9c: 24010006 */ addiu $at,$zero,0x6
/* f084ea0: 1441001d */ bne $v0,$at,.NB0f084f18
/* f084ea4: 8fae0100 */ lw $t6,0x100($sp)
/* f084ea8: 8fb8011c */ lw $t8,0x11c($sp)
/* f084eac: 3c0c8008 */ lui $t4,0x8008
/* f084eb0: 258cd694 */ addiu $t4,$t4,-10604
/* f084eb4: 8f0b0018 */ lw $t3,0x18($t8)
/* f084eb8: 24050001 */ addiu $a1,$zero,0x1
/* f084ebc: 8d640008 */ lw $a0,0x8($t3)
/* f084ec0: 8c990004 */ lw $t9,0x4($a0)
/* f084ec4: 1599000f */ bne $t4,$t9,.NB0f084f04
/* f084ec8: 00000000 */ sll $zero,$zero,0x0
/* f084ecc: 0c006ea3 */ jal modelGetPart
/* f084ed0: e7a200c0 */ swc1 $f2,0xc0($sp)
/* f084ed4: 8faf0124 */ lw $t7,0x124($sp)
/* f084ed8: c7a200c0 */ lwc1 $f2,0xc0($sp)
/* f084edc: 3c0142c8 */ lui $at,0x42c8
/* f084ee0: 8ded0044 */ lw $t5,0x44($t7)
/* f084ee4: 144d0007 */ bne $v0,$t5,.NB0f084f04
/* f084ee8: 00000000 */ sll $zero,$zero,0x0
/* f084eec: 44815000 */ mtc1 $at,$f10
/* f084ef0: 8fa4011c */ lw $a0,0x11c($sp)
/* f084ef4: 460a1082 */ mul.s $f2,$f2,$f10
/* f084ef8: 0fc20e05 */ jal func0f084f64
/* f084efc: e7a200c0 */ swc1 $f2,0xc0($sp)
/* f084f00: c7a200c0 */ lwc1 $f2,0xc0($sp)
.NB0f084f04:
/* f084f04: 3c018007 */ lui $at,0x8007
/* f084f08: c432c04c */ lwc1 $f18,-0x3fb4($at)
/* f084f0c: 46121082 */ mul.s $f2,$f2,$f18
/* f084f10: 10000012 */ beqz $zero,.NB0f084f5c
/* f084f14: 8fb80120 */ lw $t8,0x120($sp)
.NB0f084f18:
/* f084f18: 11c0000f */ beqz $t6,.NB0f084f58
/* f084f1c: 2401002a */ addiu $at,$zero,0x2a
/* f084f20: 10410002 */ beq $v0,$at,.NB0f084f2c
/* f084f24: 2401002f */ addiu $at,$zero,0x2f
/* f084f28: 14410006 */ bne $v0,$at,.NB0f084f44
.NB0f084f2c:
/* f084f2c: 3c0142c8 */ lui $at,0x42c8
/* f084f30: 44812000 */ mtc1 $at,$f4
/* f084f34: 00000000 */ sll $zero,$zero,0x0
/* f084f38: 46040082 */ mul.s $f2,$f0,$f4
/* f084f3c: 10000007 */ beqz $zero,.NB0f084f5c
/* f084f40: 8fb80120 */ lw $t8,0x120($sp)
.NB0f084f44:
/* f084f44: 3c0140a0 */ lui $at,0x40a0
/* f084f48: 44818000 */ mtc1 $at,$f16
/* f084f4c: 00000000 */ sll $zero,$zero,0x0
/* f084f50: 46100082 */ mul.s $f2,$f0,$f16
/* f084f54: 00000000 */ sll $zero,$zero,0x0
.NB0f084f58:
/* f084f58: 8fb80120 */ lw $t8,0x120($sp)
.NB0f084f5c:
/* f084f5c: 3c0b800a */ lui $t3,0x800a
/* f084f60: 8d6be94c */ lw $t3,-0x16b4($t3)
/* f084f64: 44051000 */ mfc1 $a1,$f2
/* f084f68: 93070018 */ lbu $a3,0x18($t8)
/* f084f6c: 8fa4011c */ lw $a0,0x11c($sp)
/* f084f70: 27a60110 */ addiu $a2,$sp,0x110
/* f084f74: 0fc20ebd */ jal objTakeGunfire
/* f084f78: afab0010 */ sw $t3,0x10($sp)
/* f084f7c: 8fa4011c */ lw $a0,0x11c($sp)
/* f084f80: 3c0c8008 */ lui $t4,0x8008
/* f084f84: 258cd738 */ addiu $t4,$t4,-10440
/* f084f88: 8c990018 */ lw $t9,0x18($a0)
/* f084f8c: 8fae0124 */ lw $t6,0x124($sp)
/* f084f90: 8f2f0008 */ lw $t7,0x8($t9)
/* f084f94: 8ded0004 */ lw $t5,0x4($t7)
/* f084f98: 558d000e */ bnel $t4,$t5,.NB0f084fd4
/* f084f9c: 8fa80124 */ lw $t0,0x124($sp)
/* f084fa0: 81d8004c */ lb $t8,0x4c($t6)
/* f084fa4: 5700000b */ bnezl $t8,.NB0f084fd4
/* f084fa8: 8fa80124 */ lw $t0,0x124($sp)
/* f084fac: 808b0085 */ lb $t3,0x85($a0)
/* f084fb0: 25790001 */ addiu $t9,$t3,0x1
/* f084fb4: a0990085 */ sb $t9,0x85($a0)
/* f084fb8: 808f0085 */ lb $t7,0x85($a0)
/* f084fbc: 29e10003 */ slti $at,$t7,0x3
/* f084fc0: 54200004 */ bnezl $at,.NB0f084fd4
/* f084fc4: 8fa80124 */ lw $t0,0x124($sp)
/* f084fc8: 0fc20dc2 */ jal doorDestroyGlass
/* f084fcc: 00000000 */ sll $zero,$zero,0x0
/* f084fd0: 8fa80124 */ lw $t0,0x124($sp)
.NB0f084fd4:
/* f084fd4: 00002825 */ or $a1,$zero,$zero
/* f084fd8: 0fc1bd25 */ jal objDropRecursively
/* f084fdc: 8d040004 */ lw $a0,0x4($t0)
/* f084fe0: 8fa4011c */ lw $a0,0x11c($sp)
/* f084fe4: 8c820040 */ lw $v0,0x40($a0)
/* f084fe8: 00026140 */ sll $t4,$v0,0x5
/* f084fec: 0580005d */ bltz $t4,.NB0f085164
/* f084ff0: 00026900 */ sll $t5,$v0,0x4
/* f084ff4: 05a2005c */ bltzl $t5,.NB0f085168
/* f084ff8: 8fbf0034 */ lw $ra,0x34($sp)
/* f084ffc: 8c8e0010 */ lw $t6,0x10($a0)
/* f085000: 8fa20120 */ lw $v0,0x120($sp)
/* f085004: 3c014040 */ lui $at,0x4040
/* f085008: 31d80001 */ andi $t8,$t6,0x1
/* f08500c: 1300002d */ beqz $t8,.NB0f0850c4
/* f085010: 00000000 */ sll $zero,$zero,0x0
/* f085014: 44810000 */ mtc1 $at,$f0
/* f085018: c4460028 */ lwc1 $f6,0x28($v0)
/* f08501c: 8fab0124 */ lw $t3,0x124($sp)
/* f085020: 46003202 */ mul.s $f8,$f6,$f0
/* f085024: 25790010 */ addiu $t9,$t3,0x10
/* f085028: e7a800b0 */ swc1 $f8,0xb0($sp)
/* f08502c: c44a002c */ lwc1 $f10,0x2c($v0)
/* f085030: 46005482 */ mul.s $f18,$f10,$f0
/* f085034: e7b200b4 */ swc1 $f18,0xb4($sp)
/* f085038: c4440030 */ lwc1 $f4,0x30($v0)
/* f08503c: afb90048 */ sw $t9,0x48($sp)
/* f085040: 46002402 */ mul.s $f16,$f4,$f0
/* f085044: 0fc2cd36 */ jal currentPlayerGetUnk174c
/* f085048: e7b000b8 */ swc1 $f16,0xb8($sp)
/* f08504c: 8faf011c */ lw $t7,0x11c($sp)
/* f085050: 8fae0124 */ lw $t6,0x124($sp)
/* f085054: 00402025 */ or $a0,$v0,$zero
/* f085058: 8dec0018 */ lw $t4,0x18($t7)
/* f08505c: 8dd80040 */ lw $t8,0x40($t6)
/* f085060: 27a60058 */ addiu $a2,$sp,0x58
/* f085064: 8d8d000c */ lw $t5,0xc($t4)
/* f085068: 00185980 */ sll $t3,$t8,0x6
/* f08506c: 0c005a3c */ jal mtx4MultMtx4
/* f085070: 01ab2821 */ addu $a1,$t5,$t3
/* f085074: 27a40058 */ addiu $a0,$sp,0x58
/* f085078: 8fa50048 */ lw $a1,0x48($sp)
/* f08507c: 0c005a96 */ jal mtx4TransformVec
/* f085080: 27a600a4 */ addiu $a2,$sp,0xa4
/* f085084: 8fb90120 */ lw $t9,0x120($sp)
/* f085088: 240f0001 */ addiu $t7,$zero,0x1
/* f08508c: 8fa4011c */ lw $a0,0x11c($sp)
/* f085090: c7260028 */ lwc1 $f6,0x28($t9)
/* f085094: 27a500a4 */ addiu $a1,$sp,0xa4
/* f085098: 27a60098 */ addiu $a2,$sp,0x98
/* f08509c: e7a60098 */ swc1 $f6,0x98($sp)
/* f0850a0: c728002c */ lwc1 $f8,0x2c($t9)
/* f0850a4: 27a700b0 */ addiu $a3,$sp,0xb0
/* f0850a8: e7a8009c */ swc1 $f8,0x9c($sp)
/* f0850ac: c72a0030 */ lwc1 $f10,0x30($t9)
/* f0850b0: afaf0010 */ sw $t7,0x10($sp)
/* f0850b4: 0fc205fb */ jal func0f082e84
/* f0850b8: e7aa00a0 */ swc1 $f10,0xa0($sp)
/* f0850bc: 1000002a */ beqz $zero,.NB0f085168
/* f0850c0: 8fbf0034 */ lw $ra,0x34($sp)
.NB0f0850c4:
/* f0850c4: 0fc20e86 */ jal func0f085194
/* f0850c8: afa00054 */ sw $zero,0x54($sp)
/* f0850cc: 10400008 */ beqz $v0,.NB0f0850f0
/* f0850d0: 8fa30054 */ lw $v1,0x54($sp)
/* f0850d4: 8fac011c */ lw $t4,0x11c($sp)
/* f0850d8: 8d8e0008 */ lw $t6,0x8($t4)
/* f0850dc: 000ec240 */ sll $t8,$t6,0x9
/* f0850e0: 0702000a */ bltzl $t8,.NB0f08510c
/* f0850e4: 8faf011c */ lw $t7,0x11c($sp)
/* f0850e8: 10000007 */ beqz $zero,.NB0f085108
/* f0850ec: 24030001 */ addiu $v1,$zero,0x1
.NB0f0850f0:
/* f0850f0: 8fad011c */ lw $t5,0x11c($sp)
/* f0850f4: 8dab0008 */ lw $t3,0x8($t5)
/* f0850f8: 000bca80 */ sll $t9,$t3,0xa
/* f0850fc: 07230003 */ bgezl $t9,.NB0f08510c
/* f085100: 8faf011c */ lw $t7,0x11c($sp)
/* f085104: 24030001 */ addiu $v1,$zero,0x1
.NB0f085108:
/* f085108: 8faf011c */ lw $t7,0x11c($sp)
.NB0f08510c:
/* f08510c: 8dec000c */ lw $t4,0xc($t7)
/* f085110: 01e02025 */ or $a0,$t7,$zero
/* f085114: 318e0002 */ andi $t6,$t4,0x2
/* f085118: 51c00007 */ beqzl $t6,.NB0f085138
/* f08511c: 8fb8011c */ lw $t8,0x11c($sp)
/* f085120: 0fc21481 */ jal objIsHealthy
/* f085124: afa30054 */ sw $v1,0x54($sp)
/* f085128: 14400002 */ bnez $v0,.NB0f085134
/* f08512c: 8fa30054 */ lw $v1,0x54($sp)
/* f085130: 24030001 */ addiu $v1,$zero,0x1
.NB0f085134:
/* f085134: 8fb8011c */ lw $t8,0x11c($sp)
.NB0f085138:
/* f085138: 8fa50120 */ lw $a1,0x120($sp)
/* f08513c: 8f0d000c */ lw $t5,0xc($t8)
/* f085140: 24a5000c */ addiu $a1,$a1,0xc
/* f085144: 31ab0400 */ andi $t3,$t5,0x400
/* f085148: 11600002 */ beqz $t3,.NB0f085154
/* f08514c: 00000000 */ sll $zero,$zero,0x0
/* f085150: 00001825 */ or $v1,$zero,$zero
.NB0f085154:
/* f085154: 50600004 */ beqzl $v1,.NB0f085168
/* f085158: 8fbf0034 */ lw $ra,0x34($sp)
/* f08515c: 0fc20451 */ jal func0f0826cc
/* f085160: 8fa4011c */ lw $a0,0x11c($sp)
.NB0f085164:
/* f085164: 8fbf0034 */ lw $ra,0x34($sp)
.NB0f085168:
/* f085168: 27bd0120 */ addiu $sp,$sp,0x120
/* f08516c: 03e00008 */ jr $ra
/* f085170: 00000000 */ sll $zero,$zero,0x0
);
#endif
u32 propobjGetCiTagId(struct prop *prop)
{
if (prop && g_Vars.stagenum == STAGE_CITRAINING) {
u8 tags[8] = { 0x0e, 0x0f, 0x10, 0x47, 0x46, 0x45, 0x1b, 0x7f };
struct defaultobj *obj = prop->obj;
u32 i;
for (i = 0; i != 8; i++) {
struct defaultobj *taggedobj = objFindByTagId(tags[i]);
if (obj == taggedobj) {
return tags[i];
}
}
}
return 0;
}
bool objIsHealthy(struct defaultobj *obj)
{
return objGetDestroyedValue(obj) == 0;
}
bool objTestForInteract(struct prop *prop)
{
u32 stack;
struct defaultobj *obj = prop->obj;
bool maybe = false;
if (propobjGetCiTagId(prop)) {
maybe = true;
} else if (obj->type == OBJTYPE_ALARM
|| (obj->flags & OBJFLAG_THROWNLAPTOP)
|| (obj->flags3 & (OBJFLAG3_HTMTERMINAL | OBJFLAG3_INTERACTABLE))
|| (obj->hidden & (OBJHFLAG_LIFTDOOR | OBJHFLAG_00000002))) {
maybe = true;
} else if (obj->type == OBJTYPE_HOVERBIKE) {
if (g_Vars.currentplayer->bondmovemode == MOVEMODE_GRAB) {
maybe = true;
} else if (g_Vars.currentplayer->bondmovemode == MOVEMODE_WALK
&& bmoveGetCrouchPos() == CROUCHPOS_STAND
&& g_Vars.currentplayer->crouchoffset == 0.0f) {
maybe = true;
}
} else if ((obj->flags3 & OBJFLAG3_GRABBABLE)
&& g_Vars.currentplayer->bondmovemode == MOVEMODE_WALK
&& bmoveGetCrouchPos() == CROUCHPOS_STAND
&& g_Vars.currentplayer->crouchoffset == 0.0f) {
maybe = true;
}
if (maybe && (obj->hidden & OBJHFLAG_MOUNTED) && prop == bmoveGetHoverbike()) {
maybe = false;
}
if (maybe
&& (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)
&& objIsHealthy(obj)
&& (obj->flags & OBJFLAG_CANNOT_ACTIVATE) == 0) {
struct prop *playerprop = g_Vars.currentplayer->prop;
f32 x = prop->pos.x - playerprop->pos.x;
f32 y = prop->pos.y - playerprop->pos.y;
f32 z = prop->pos.z - playerprop->pos.z;
f32 range;
if (obj->modelnum == MODEL_SK_SHUTTLE) {
range = 500;
} else if (obj->modelnum == MODEL_TAXICAB) {
range = 300;
} else if (obj->modelnum == MODEL_PRESCAPSULE) {
range = 280;
} else if (obj->flags3 & OBJFLAG3_INTERACTSHORTRANGE) {
range = 100;
} else {
range = 200;
}
if (x * x + z * z < range * range && y < range && y > -range) {
f32 angle = atan2f(x, z) - (360.0f - g_Vars.currentplayer->vv_theta) * M_BADTAU / 360.0f;
if (angle < 0.0f) {
angle += M_BADTAU;
}
if (angle > M_BADPI) {
angle = M_BADTAU - angle;
}
if (angle <= 0.3926365673542f) {
if ((obj->flags2 & OBJFLAG2_INTERACTCHECKLOS) == 0 || cd0002dcd0(&playerprop->pos, playerprop->rooms, &prop->pos, prop->rooms, 0x20)) {
g_InteractProp = prop;
}
}
}
}
return true;
}
bool currentPlayerTryMountHoverbike(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
bool mount = false;
u32 stack[2];
if (obj->type == OBJTYPE_HOVERBIKE
&& g_Vars.lvframe60 - g_Vars.currentplayer->activatetimelast < PALDOWN(30)
&& (obj->hidden & OBJHFLAG_MOUNTED) == 0) {
if (obj->hidden & OBJHFLAG_GRABBED) {
if (bmoveGetGrabbedProp() == prop) {
mount = true;
} else {
mount = false;
}
} else {
mount = true;
}
}
if (mount && g_Vars.currentplayer->bondmovemode != MOVEMODE_GRAB) {
if (g_Vars.currentplayer->bondmovemode != MOVEMODE_WALK
|| bmoveGetCrouchPos() != CROUCHPOS_STAND
|| g_Vars.currentplayer->crouchoffset != 0) {
mount = false;
}
}
if (mount) {
f32 angle = atan2f(
prop->pos.x - g_Vars.currentplayer->prop->pos.x,
prop->pos.z - g_Vars.currentplayer->prop->pos.z);
angle -= hoverpropGetTurnAngle(obj);
if (angle < 0) {
angle += M_BADTAU;
}
if ((angle > 0.3926365673542f && angle < 2.3558194637299f)
|| (angle < 5.8895483016968f && angle > 3.9263656139374f)) {
g_Vars.currentplayer->hoverbike = prop;
bmoveSetMode(MOVEMODE_BIKE);
return true;
}
}
return false;
}
bool propobjInteract(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
bool result = false;
u32 tag_id = propobjGetCiTagId(prop);
if (tag_id) {
// CI object - terminals etc
u8 handled = false;
if (ciIsTourDone()) {
if (tag_id == 0x10) {
struct trainingdata *data = dtGetData();
handled = true;
if (data->intraining) {
func0f0f85e0(&g_DtDetailsMenuDialog, MENUROOT_TRAINING);
} else {
func0f0f85e0(&g_DtListMenuDialog, MENUROOT_TRAINING);
}
} else if (tag_id == 0x45) {
struct trainingdata *data = getHoloTrainingData();
handled = true;
if (data->intraining) {
func0f0f85e0(&g_HtDetailsMenuDialog, MENUROOT_TRAINING);
} else {
func0f0f85e0(&g_HtListMenuDialog, MENUROOT_TRAINING);
}
} else if (tag_id == 0x7f) {
handled = true;
if (frIsInTraining()) {
func0f0f85e0(&g_FrTrainingInfoInGameMenuDialog, MENUROOT_TRAINING);
} else {
func0f0f85e0(&g_FrWeaponListMenuDialog, MENUROOT_TRAINING);
}
}
}
if (!handled) {
if (tag_id == 0x0e) {
handled = true;
func0f0f85e0(&g_BioListMenuDialog, MENUROOT_TRAINING);
} else if (tag_id == 0x0f) {
handled = true;
func0f0f85e0(&g_CheatsMenuDialog, MENUROOT_TRAINING);
} else if (tag_id == 0x1b) {
handled = true;
func0f0f85e0(&g_FrWeaponsAvailableMenuDialog, MENUROOT_TRAINING);
} else if (tag_id == 0x47) {
handled = true;
func0f0f85e0(&g_CiMenuViaPcMenuDialog, MENUROOT_MAINMENU);
} else if (tag_id == 0x46) {
handled = true;
func0f0f85e0(&g_HangarListMenuDialog, MENUROOT_TRAINING);
}
}
if (handled) {
// Typing sound
sndStart(var80095200, SFX_TYPING_8118, NULL, -1, -1, -1, -1, -1);
}
func0f0fd494(&prop->pos);
} else if (obj->type == OBJTYPE_ALARM) {
// Button press sound
sndStart(var80095200, SFX_PRESS_SWITCH, NULL, -1, -1, -1, -1, -1);
if (alarmIsActive()) {
alarmDeactivate();
} else {
alarmActivate();
}
} else if (obj->flags & OBJFLAG_THROWNLAPTOP) {
// Thrown laptop
if (obj->type == OBJTYPE_AUTOGUN) {
struct autogunobj *laptop = (struct autogunobj *)obj;
s32 playernum;
if (g_Vars.normmplayerisrunning) {
playernum = mpPlayerGetIndex(g_Vars.currentplayer->prop->chr);
} else {
playernum = g_Vars.currentplayernum;
}
if (playernum >= 0 && laptop == &g_ThrownLaptops[playernum]) {
obj->hidden |= OBJHFLAG_REAPABLE;
invGiveSingleWeapon(WEAPON_LAPTOPGUN);
currentPlayerQueuePickupWeaponHudmsg(WEAPON_LAPTOPGUN, false);
weaponPlayPickupSound(WEAPON_LAPTOPGUN);
if (laptop->ammoquantity > 0 && laptop->ammoquantity != 255) {
s32 newqty = bgunGetAmmoQtyForWeapon(WEAPON_LAPTOPGUN, FUNC_PRIMARY) + laptop->ammoquantity;
bgunSetAmmoQtyForWeapon(WEAPON_LAPTOPGUN, FUNC_PRIMARY, newqty);
}
}
} else {
result = propPickupByPlayer(prop, 1);
}
} else if (currentPlayerTryMountHoverbike(prop) == false
&& (obj->flags3 & OBJFLAG3_GRABBABLE)
&& g_Vars.currentplayer->bondmovemode == MOVEMODE_WALK
&& bmoveGetCrouchPos() == CROUCHPOS_STAND
&& g_Vars.currentplayer->crouchoffset == 0
&& g_Vars.currentplayer->onladder == false) {
bmoveGrabProp(prop);
}
if (g_Vars.normmplayerisrunning) {
scenarioHandleActivatedProp(g_Vars.currentplayer->prop->chr, prop);
} else {
if (g_Vars.currentplayernum == g_Vars.coopplayernum) {
obj->hidden |= OBJHFLAG_ACTIVATED_BY_COOP;
} else if (g_Vars.currentplayernum == g_Vars.bondplayernum) {
obj->hidden |= OBJHFLAG_ACTIVATED_BY_BOND;
}
}
doorCallLift(prop, false);
return result;
}
void objSetPerimEnabled(struct prop *prop, bool enable)
{
struct defaultobj *obj = prop->obj;
if (enable) {
obj->hidden &= ~OBJHFLAG_PERIMDISABLED;
} else {
obj->hidden |= OBJHFLAG_PERIMDISABLED;
}
}
bool objUpdateGeometry(struct prop *prop, u8 **start, u8 **end)
{
struct defaultobj *obj = prop->obj;
if (obj->unkgeo && (obj->flags3 & OBJFLAG3_WALKTHROUGH) == 0) {
if ((obj->hidden2 & OBJH2FLAG_08)) {
s32 len = (obj->flags3 & OBJFLAG3_GEOTYPE3) ? sizeof(struct tiletype3) : sizeof(struct tiletype2);
if (obj->flags & OBJFLAG_00000100) {
if ((obj->hidden & (OBJHFLAG_PERIMDISABLED | OBJHFLAG_DOORPERIMDISABLED)) == 0) {
*start = (void *) obj->unkgeo;
*end = (void *)((u32)obj->unkgeo + len);
if (obj->numtiles >= 2) {
*end += obj->numtiles * 0x40 - 0x40;
}
return true;
}
}
if (obj->numtiles >= 2) {
*start = (void *)((u32)obj->unkgeo + len);
*end = (void *)(*start + obj->numtiles * 0x40 - 0x40);
return true;
}
*end = NULL;
*start = NULL;
return false;
}
*start = (void *) obj->unkgeo;
*end = (void *) ((u32)obj->unkgeo + obj->numtiles * 0x40);
return true;
}
*end = NULL;
*start = NULL;
return false;
}
void propObjGetBbox(struct prop *prop, f32 *width, f32 *ymax, f32 *ymin)
{
struct defaultobj *obj = prop->obj;
if (obj->unkgeo && obj->hidden2 & OBJH2FLAG_08) {
if (obj->flags3 & OBJFLAG3_GEOTYPE3) {
*width = obj->geo3->width;
*ymin = obj->geo3->ymin;
*ymax = obj->geo3->ymax;
} else {
*width = model0001af80(obj->model);
*ymin = obj->geo2->ymin;
*ymax = obj->geo2->ymax;
}
} else {
*width = 1;
*ymin = 0;
*ymax = 0;
}
}
#if VERSION < VERSION_PAL_FINAL
void ammotypeGetPickedUpText(char *dst)
{
strcat(dst, langGet(L_PROPOBJ_000)); // "Picked up"
}
#endif
#if VERSION >= VERSION_PAL_FINAL
struct nameinfo {
s32 id;
u16 singulartext;
u16 pluraltext;
u8 unk08[5];
};
struct nameinfo *func0f087888pf(s32 id, struct nameinfo *table);
GLOBAL_ASM(
glabel func0f087888pf
/* f087888: 50a0000d */ beqzl $a1,.PF0f0878c0
/* f08788c: 00001025 */ move $v0,$zero
/* f087890: 8ca20000 */ lw $v0,0x0($a1)
/* f087894: 5040000a */ beqzl $v0,.PF0f0878c0
/* f087898: 00001025 */ move $v0,$zero
.PF0f08789c:
/* f08789c: 54820004 */ bnel $a0,$v0,.PF0f0878b0
/* f0878a0: 8ca20010 */ lw $v0,0x10($a1)
/* f0878a4: 03e00008 */ jr $ra
/* f0878a8: 00a01025 */ move $v0,$a1
/* f0878ac: 8ca20010 */ lw $v0,0x10($a1)
.PF0f0878b0:
/* f0878b0: 24a50010 */ addiu $a1,$a1,0x10
/* f0878b4: 1440fff9 */ bnez $v0,.PF0f08789c
/* f0878b8: 00000000 */ nop
/* f0878bc: 00001025 */ move $v0,$zero
.PF0f0878c0:
/* f0878c0: 03e00008 */ jr $ra
/* f0878c4: 00000000 */ nop
);
#endif
#if VERSION >= VERSION_PAL_FINAL
#define DETERMINER_A 1
#define DETERMINER_AN 2
#define DETERMINER_THE 3
#define DETERMINER_4 4
#define DETERMINER_SOME5 5
#define DETERMINER_SOME6 6
#define DETERMINER_SOME7 7
#define DETERMINER_8 8
#define DETERMINER_YOUR 9
struct nameinfo var8006a944pf[] = {
{ 999, L_PROPOBJ_009, L_PROPOBJ_070, { DETERMINER_A, DETERMINER_A, DETERMINER_SOME6, 0, DETERMINER_SOME7 } },
{ AMMOTYPE_KNIFE, L_PROPOBJ_020, L_PROPOBJ_021, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ AMMOTYPE_CROSSBOW, L_PROPOBJ_042, L_PROPOBJ_065, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A } },
{ AMMOTYPE_SHOTGUN, L_PROPOBJ_010, L_PROPOBJ_071, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ AMMOTYPE_FARSIGHT, L_PROPOBJ_043, L_PROPOBJ_066, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
{ AMMOTYPE_GRENADE, L_PROPOBJ_013, L_PROPOBJ_074, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ AMMOTYPE_ROCKET, L_PROPOBJ_015, L_PROPOBJ_076, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
{ AMMOTYPE_MAGNUM, L_PROPOBJ_011, L_PROPOBJ_072, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ AMMOTYPE_DEVASTATOR, L_PROPOBJ_014, L_PROPOBJ_075, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ AMMOTYPE_REMOTE_MINE, L_PROPOBJ_017, L_PROPOBJ_078, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ AMMOTYPE_PROXY_MINE, L_PROPOBJ_018, L_PROPOBJ_079, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ AMMOTYPE_TIMED_MINE, L_PROPOBJ_019, L_PROPOBJ_080, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ AMMOTYPE_REAPER, L_PROPOBJ_044, L_PROPOBJ_067, { DETERMINER_A, DETERMINER_A, DETERMINER_SOME6, 0, DETERMINER_SOME7 } },
{ AMMOTYPE_HOMINGROCKET, L_PROPOBJ_016, L_PROPOBJ_077, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
{ AMMOTYPE_DART, L_PROPOBJ_022, L_PROPOBJ_081, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ AMMOTYPE_NBOMB, L_PROPOBJ_023, L_PROPOBJ_082, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ AMMOTYPE_SEDATIVE, L_PROPOBJ_024, L_PROPOBJ_083, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_A, DETERMINER_SOME5, DETERMINER_SOME5 } },
{ AMMOTYPE_PSYCHOSIS, L_PROPOBJ_024, L_PROPOBJ_083, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_A, DETERMINER_SOME5, DETERMINER_SOME5 } },
{ AMMOTYPE_CLOAK, L_PROPOBJ_045, L_PROPOBJ_068, { DETERMINER_A | 0x80, DETERMINER_A, DETERMINER_A | 0x80, DETERMINER_A | 0x80, DETERMINER_A | 0x80 } },
{ AMMOTYPE_BOOST, L_PROPOBJ_046, L_PROPOBJ_069, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ 0 },
};
struct nameinfo var8006aa94pf[] = {
{ WEAPON_FALCON2, L_GUN_007, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_FALCON2_SILENCER, L_GUN_008, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_FALCON2_SCOPE, L_GUN_009, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_MAGSEC4, L_GUN_010, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_MAULER, L_GUN_011, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_PHOENIX, L_GUN_014, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_DY357MAGNUM, L_GUN_012, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_DY357LX, L_GUN_013, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_CMP150, L_GUN_015, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_CYCLONE, L_GUN_020, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_CALLISTO, L_GUN_023, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_RCP120, L_GUN_022, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_LAPTOPGUN, L_GUN_024, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_DRAGON, L_GUN_017, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_K7AVENGER, L_GUN_019, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_AR34, L_GUN_016, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_THE } },
{ WEAPON_SUPERDRAGON, L_GUN_018, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_SHOTGUN, L_GUN_025, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_REAPER, L_GUN_026, 0, { DETERMINER_THE, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A } },
{ WEAPON_SNIPERRIFLE, L_GUN_032, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_FARSIGHT, L_GUN_031, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_DEVASTATOR, L_GUN_028, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_ROCKETLAUNCHER, L_GUN_027, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_SLAYER, L_GUN_029, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_COMBATKNIFE, L_GUN_035, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_CROSSBOW, L_GUN_033, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_TRANQUILIZER, L_GUN_034, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_LASER, L_GUN_047, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_GRENADE, L_GUN_036, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_NBOMB, L_GUN_037, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_TIMEDMINE, L_GUN_038, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_PROXIMITYMINE, L_GUN_039, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_REMOTEMINE, L_GUN_040, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_COMBATBOOST, L_GUN_074, L_GUN_242, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5 } },
{ WEAPON_PP9I, L_GUN_050, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_CC13, L_GUN_051, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_KL01313, L_GUN_052, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_KF7SPECIAL, L_GUN_053, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_ZZT, L_GUN_054, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_DMC, L_GUN_055, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_AR53, L_GUN_056, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_THE } },
{ WEAPON_RCP45, L_GUN_057, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_PSYCHOSISGUN, L_GUN_049, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_NIGHTVISION, L_GUN_059, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, 0, 0 } },
{ WEAPON_EYESPY, L_GUN_060, 0, { DETERMINER_YOUR, DETERMINER_A, DETERMINER_YOUR, DETERMINER_YOUR, DETERMINER_YOUR } },
{ 998, L_GUN_061, 0, { DETERMINER_YOUR, DETERMINER_A, DETERMINER_YOUR, DETERMINER_YOUR, DETERMINER_YOUR } },
{ 997, L_GUN_062, 0, { DETERMINER_YOUR, DETERMINER_A, DETERMINER_YOUR, DETERMINER_YOUR, DETERMINER_YOUR } },
{ WEAPON_XRAYSCANNER, L_GUN_065, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_4 } },
{ WEAPON_IRSCANNER, L_GUN_069, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_4 } },
{ WEAPON_CLOAKINGDEVICE, L_GUN_073, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_HORIZONSCANNER, L_GUN_076, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_ECMMINE, L_GUN_041, 0, { DETERMINER_AN, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_DATAUPLINK, L_GUN_075, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_RTRACKER, L_GUN_070, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_PRESIDENTSCANNER, L_GUN_219, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_DOORDECODER, L_GUN_063, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_AUTOSURGEON, L_GUN_220, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, DETERMINER_A } },
{ WEAPON_EXPLOSIVES, L_GUN_064, 0, { DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_SOME5, DETERMINER_THE, 0 } },
{ WEAPON_SKEDARBOMB, L_GUN_221, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_COMMSRIDER, L_GUN_222, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_TRACERBUG, L_GUN_223, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_TARGETAMPLIFIER, L_GUN_224, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_DISGUISE40, L_GUN_043, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_DISGUISE41, L_GUN_043, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_A } },
{ WEAPON_FLIGHTPLANS, L_GUN_225, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_RESEARCHTAPE, L_GUN_226, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_BACKUPDISK, L_GUN_227, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD45, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD46, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD47, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD48, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD49, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD4A, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD4B, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_KEYCARD4C, L_GUN_228, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_SUITCASE, L_GUN_067, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_BRIEFCASE, L_GUN_229, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_SHIELDTECHITEM, L_GUN_240, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_SOME5, 0, 0 } },
{ WEAPON_NECKLACE, L_GUN_230, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, 0, 0 } },
{ WEAPON_SUICIDEPILL, L_GUN_072, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_AN, DETERMINER_AN } },
{ WEAPON_ROCKET, L_GUN_044, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
{ WEAPON_HOMINGROCKET, L_GUN_045, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_A } },
{ WEAPON_GRENADEROUND, L_GUN_046, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_BOLT, L_GUN_048, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A } },
{ WEAPON_BRIEFCASE2, L_GUN_071, 0, { DETERMINER_THE, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ WEAPON_SKROCKET, L_GUN_044, 0, { DETERMINER_A, DETERMINER_A, DETERMINER_AN, DETERMINER_A, DETERMINER_AN } },
{ 0 },
};
GLOBAL_ASM(
glabel func0f0878c8pf
.late_rodata
glabel var7f1abdf8pf
.word 0x7f0879a0
glabel var7f1abdfcpf
.word 0x7f0879a0
glabel var7f1abe00pf
.word 0x7f0879a0
glabel var7f1abe04pf
.word 0x7f0879a0
glabel var7f1abe08pf
.word 0x7f0879a8
glabel var7f1abe0cpf
.word 0x7f087a48
glabel var7f1abe10pf
.word 0x7f087a60
glabel var7f1abe14pf
.word 0x7f087a7c
glabel var7f1abe18pf
.word 0x7f087a98
glabel var7f1abe1cpf
.word 0x7f087ab4
glabel var7f1abe20pf
.word 0x7f087ad0
glabel var7f1abe24pf
.word 0x7f087aec
glabel var7f1abe28pf
.word 0x7f087b08
glabel var7f1abe2cpf
.word 0x7f087b24
.text
/* f0878c8: 3c0b8008 */ lui $t3,0x8008
/* f0878cc: 8d6b4670 */ lw $t3,0x4670($t3)
/* f0878d0: 27bdff58 */ addiu $sp,$sp,-168
/* f0878d4: afbf0014 */ sw $ra,0x14($sp)
/* f0878d8: 29610005 */ slti $at,$t3,0x5
/* f0878dc: afa400a8 */ sw $a0,0xa8($sp)
/* f0878e0: afa500ac */ sw $a1,0xac($sp)
/* f0878e4: afa700b4 */ sw $a3,0xb4($sp)
/* f0878e8: 00004025 */ move $t0,$zero
/* f0878ec: 14200002 */ bnez $at,.PF0f0878f8
/* f0878f0: 00004825 */ move $t1,$zero
/* f0878f4: 00005825 */ move $t3,$zero
.PF0f0878f8:
/* f0878f8: 8fae00a8 */ lw $t6,0xa8($sp)
/* f0878fc: a1c00000 */ sb $zero,0x0($t6)
/* f087900: afab009c */ sw $t3,0x9c($sp)
/* f087904: afa90094 */ sw $t1,0x94($sp)
/* f087908: a7a80098 */ sh $t0,0x98($sp)
/* f08790c: afa600b0 */ sw $a2,0xb0($sp)
/* f087910: 8fa500bc */ lw $a1,0xbc($sp)
/* f087914: 0fc21e22 */ jal func0f087888pf
/* f087918: 8fa400ac */ lw $a0,0xac($sp)
/* f08791c: 8fa600b0 */ lw $a2,0xb0($sp)
/* f087920: 97a80098 */ lhu $t0,0x98($sp)
/* f087924: 8fa90094 */ lw $t1,0x94($sp)
/* f087928: 8faa00b4 */ lw $t2,0xb4($sp)
/* f08792c: 104000cf */ beqz $v0,.PF0f087c6c
/* f087930: 8fab009c */ lw $t3,0x9c($sp)
/* f087934: 004b7821 */ addu $t7,$v0,$t3
/* f087938: 91e40008 */ lbu $a0,0x8($t7)
/* f08793c: 24010005 */ li $at,0x5
/* f087940: 00803825 */ move $a3,$a0
/* f087944: 30f8007f */ andi $t8,$a3,0x7f
/* f087948: 03003825 */ move $a3,$t8
/* f08794c: 13010008 */ beq $t8,$at,.PF0f087970
/* f087950: 03001825 */ move $v1,$t8
/* f087954: 24010006 */ li $at,0x6
/* f087958: 13010005 */ beq $t8,$at,.PF0f087970
/* f08795c: 24010007 */ li $at,0x7
/* f087960: 13010003 */ beq $t8,$at,.PF0f087970
/* f087964: 24010008 */ li $at,0x8
/* f087968: 57010003 */ bnel $t8,$at,.PF0f087978
/* f08796c: 30990080 */ andi $t9,$a0,0x80
.PF0f087970:
/* f087970: 24060001 */ li $a2,0x1
/* f087974: 30990080 */ andi $t9,$a0,0x80
.PF0f087978:
/* f087978: 1320000c */ beqz $t9,.PF0f0879ac
/* f08797c: 246cffff */ addiu $t4,$v1,-1
/* f087980: 2d810005 */ sltiu $at,$t4,0x5
/* f087984: 10200009 */ beqz $at,.PF0f0879ac
/* f087988: 000c6080 */ sll $t4,$t4,0x2
/* f08798c: 3c017f1b */ lui $at,0x7f1b
/* f087990: 002c0821 */ addu $at,$at,$t4
/* f087994: 8c2cbdf8 */ lw $t4,-0x4208($at)
/* f087998: 01800008 */ jr $t4
/* f08799c: 00000000 */ nop
/* f0879a0: 10000002 */ b .PF0f0879ac
/* f0879a4: 00003025 */ move $a2,$zero
/* f0879a8: 24060001 */ li $a2,0x1
.PF0f0879ac:
/* f0879ac: 50c0001b */ beqzl $a2,.PF0f087a1c
/* f0879b0: 94450004 */ lhu $a1,0x4($v0)
/* f0879b4: 94440006 */ lhu $a0,0x6($v0)
/* f0879b8: 24010001 */ li $at,0x1
/* f0879bc: 10800014 */ beqz $a0,.PF0f087a10
/* f0879c0: 00000000 */ nop
/* f0879c4: 1061000a */ beq $v1,$at,.PF0f0879f0
/* f0879c8: 3085ffff */ andi $a1,$a0,0xffff
/* f0879cc: 24010002 */ li $at,0x2
/* f0879d0: 10610009 */ beq $v1,$at,.PF0f0879f8
/* f0879d4: 24010003 */ li $at,0x3
/* f0879d8: 10610009 */ beq $v1,$at,.PF0f087a00
/* f0879dc: 24010004 */ li $at,0x4
/* f0879e0: 10610009 */ beq $v1,$at,.PF0f087a08
/* f0879e4: 00000000 */ nop
/* f0879e8: 1000000c */ b .PF0f087a1c
/* f0879ec: 00000000 */ nop
.PF0f0879f0:
/* f0879f0: 1000000a */ b .PF0f087a1c
/* f0879f4: 24070005 */ li $a3,0x5
.PF0f0879f8:
/* f0879f8: 10000008 */ b .PF0f087a1c
/* f0879fc: 24070006 */ li $a3,0x6
.PF0f087a00:
/* f087a00: 10000006 */ b .PF0f087a1c
/* f087a04: 24070007 */ li $a3,0x7
.PF0f087a08:
/* f087a08: 10000004 */ b .PF0f087a1c
/* f087a0c: 24070008 */ li $a3,0x8
.PF0f087a10:
/* f087a10: 10000002 */ b .PF0f087a1c
/* f087a14: 94450004 */ lhu $a1,0x4($v0)
/* f087a18: 94450004 */ lhu $a1,0x4($v0)
.PF0f087a1c:
/* f087a1c: 10a00093 */ beqz $a1,.PF0f087c6c
/* f087a20: 00a03025 */ move $a2,$a1
/* f087a24: 24edffff */ addiu $t5,$a3,-1
/* f087a28: 2da10009 */ sltiu $at,$t5,0x9
/* f087a2c: 10200042 */ beqz $at,.PF0f087b38
/* f087a30: 000d6880 */ sll $t5,$t5,0x2
/* f087a34: 3c017f1b */ lui $at,0x7f1b
/* f087a38: 002d0821 */ addu $at,$at,$t5
/* f087a3c: 8c2dbe0c */ lw $t5,-0x41f4($at)
/* f087a40: 01a00008 */ jr $t5
/* f087a44: 00000000 */ nop
/* f087a48: 11400003 */ beqz $t2,.PF0f087a58
/* f087a4c: 00000000 */ nop
/* f087a50: 10000039 */ b .PF0f087b38
/* f087a54: 2408523a */ li $t0,0x523a
.PF0f087a58:
/* f087a58: 10000037 */ b .PF0f087b38
/* f087a5c: 24085239 */ li $t0,0x5239
/* f087a60: 11400004 */ beqz $t2,.PF0f087a74
/* f087a64: 2408523b */ li $t0,0x523b
/* f087a68: 2408523c */ li $t0,0x523c
/* f087a6c: 10000032 */ b .PF0f087b38
/* f087a70: 24090001 */ li $t1,0x1
.PF0f087a74:
/* f087a74: 10000030 */ b .PF0f087b38
/* f087a78: 24090001 */ li $t1,0x1
/* f087a7c: 11400004 */ beqz $t2,.PF0f087a90
/* f087a80: 2408523d */ li $t0,0x523d
/* f087a84: 2408523e */ li $t0,0x523e
/* f087a88: 1000002b */ b .PF0f087b38
/* f087a8c: 24090002 */ li $t1,0x2
.PF0f087a90:
/* f087a90: 10000029 */ b .PF0f087b38
/* f087a94: 24090002 */ li $t1,0x2
/* f087a98: 11400004 */ beqz $t2,.PF0f087aac
/* f087a9c: 2408523f */ li $t0,0x523f
/* f087aa0: 24085240 */ li $t0,0x5240
/* f087aa4: 10000024 */ b .PF0f087b38
/* f087aa8: 24090003 */ li $t1,0x3
.PF0f087aac:
/* f087aac: 10000022 */ b .PF0f087b38
/* f087ab0: 24090003 */ li $t1,0x3
/* f087ab4: 11400004 */ beqz $t2,.PF0f087ac8
/* f087ab8: 24085231 */ li $t0,0x5231
/* f087abc: 24085232 */ li $t0,0x5232
/* f087ac0: 1000001d */ b .PF0f087b38
/* f087ac4: 24090004 */ li $t1,0x4
.PF0f087ac8:
/* f087ac8: 1000001b */ b .PF0f087b38
/* f087acc: 24090004 */ li $t1,0x4
/* f087ad0: 11400004 */ beqz $t2,.PF0f087ae4
/* f087ad4: 24085233 */ li $t0,0x5233
/* f087ad8: 24085234 */ li $t0,0x5234
/* f087adc: 10000016 */ b .PF0f087b38
/* f087ae0: 24090005 */ li $t1,0x5
.PF0f087ae4:
/* f087ae4: 10000014 */ b .PF0f087b38
/* f087ae8: 24090005 */ li $t1,0x5
/* f087aec: 11400004 */ beqz $t2,.PF0f087b00
/* f087af0: 24085235 */ li $t0,0x5235
/* f087af4: 24085236 */ li $t0,0x5236
/* f087af8: 1000000f */ b .PF0f087b38
/* f087afc: 24090006 */ li $t1,0x6
.PF0f087b00:
/* f087b00: 1000000d */ b .PF0f087b38
/* f087b04: 24090006 */ li $t1,0x6
/* f087b08: 11400004 */ beqz $t2,.PF0f087b1c
/* f087b0c: 24085237 */ li $t0,0x5237
/* f087b10: 24085238 */ li $t0,0x5238
/* f087b14: 10000008 */ b .PF0f087b38
/* f087b18: 24090007 */ li $t1,0x7
.PF0f087b1c:
/* f087b1c: 10000006 */ b .PF0f087b38
/* f087b20: 24090007 */ li $t1,0x7
/* f087b24: 11400003 */ beqz $t2,.PF0f087b34
/* f087b28: 24090001 */ li $t1,0x1
/* f087b2c: 10000002 */ b .PF0f087b38
/* f087b30: 24085230 */ li $t0,0x5230
.PF0f087b34:
/* f087b34: 2408522f */ li $t0,0x522f
.PF0f087b38:
/* f087b38: 15400005 */ bnez $t2,.PF0f087b50
/* f087b3c: 8fae00b8 */ lw $t6,0xb8($sp)
/* f087b40: 24010002 */ li $at,0x2
/* f087b44: 15610002 */ bne $t3,$at,.PF0f087b50
/* f087b48: 00000000 */ nop
/* f087b4c: 00004025 */ move $t0,$zero
.PF0f087b50:
/* f087b50: 11c00002 */ beqz $t6,.PF0f087b5c
/* f087b54: 00c02025 */ move $a0,$a2
/* f087b58: 00004025 */ move $t0,$zero
.PF0f087b5c:
/* f087b5c: 11000011 */ beqz $t0,.PF0f087ba4
/* f087b60: 00000000 */ nop
/* f087b64: 01002025 */ move $a0,$t0
/* f087b68: afa60020 */ sw $a2,0x20($sp)
/* f087b6c: 0fc5bdaa */ jal langGet
/* f087b70: afa90094 */ sw $t1,0x94($sp)
/* f087b74: 8fa40020 */ lw $a0,0x20($sp)
/* f087b78: 0fc5bdaa */ jal langGet
/* f087b7c: afa20024 */ sw $v0,0x24($sp)
/* f087b80: 3c057f1b */ lui $a1,0x7f1b
/* f087b84: 24a5b2f8 */ addiu $a1,$a1,-19720
/* f087b88: 27a4002c */ addiu $a0,$sp,0x2c
/* f087b8c: 8fa60024 */ lw $a2,0x24($sp)
/* f087b90: 0c004d11 */ jal sprintf
/* f087b94: 00403825 */ move $a3,$v0
/* f087b98: 8fa90094 */ lw $t1,0x94($sp)
/* f087b9c: 1000000a */ b .PF0f087bc8
/* f087ba0: 8faa00b4 */ lw $t2,0xb4($sp)
.PF0f087ba4:
/* f087ba4: 0fc5bdaa */ jal langGet
/* f087ba8: afa90094 */ sw $t1,0x94($sp)
/* f087bac: 3c057f1b */ lui $a1,0x7f1b
/* f087bb0: 24a5b300 */ addiu $a1,$a1,-19712
/* f087bb4: 27a4002c */ addiu $a0,$sp,0x2c
/* f087bb8: 0c004d11 */ jal sprintf
/* f087bbc: 00403025 */ move $a2,$v0
/* f087bc0: 8fa90094 */ lw $t1,0x94($sp)
/* f087bc4: 8faa00b4 */ lw $t2,0xb4($sp)
.PF0f087bc8:
/* f087bc8: 93af002c */ lbu $t7,0x2c($sp)
/* f087bcc: 27a6002c */ addiu $a2,$sp,0x2c
/* f087bd0: 00c01825 */ move $v1,$a2
/* f087bd4: 11e0000b */ beqz $t7,.PF0f087c04
/* f087bd8: 27b8002c */ addiu $t8,$sp,0x2c
/* f087bdc: 93020000 */ lbu $v0,0x0($t8)
/* f087be0: 2404000a */ li $a0,0xa
.PF0f087be4:
/* f087be4: 54820004 */ bnel $a0,$v0,.PF0f087bf8
/* f087be8: 24630001 */ addiu $v1,$v1,0x1
/* f087bec: 10000002 */ b .PF0f087bf8
/* f087bf0: a0600000 */ sb $zero,0x0($v1)
/* f087bf4: 24630001 */ addiu $v1,$v1,0x1
.PF0f087bf8:
/* f087bf8: 90620000 */ lbu $v0,0x0($v1)
/* f087bfc: 1440fff9 */ bnez $v0,.PF0f087be4
/* f087c00: 00000000 */ nop
.PF0f087c04:
/* f087c04: 8fb900b8 */ lw $t9,0xb8($sp)
/* f087c08: 1320000b */ beqz $t9,.PF0f087c38
/* f087c0c: 00000000 */ nop
/* f087c10: 0fc5bdaa */ jal langGet
/* f087c14: 24045208 */ li $a0,0x5208
/* f087c18: 3c057f1b */ lui $a1,0x7f1b
/* f087c1c: 24a5b304 */ addiu $a1,$a1,-19708
/* f087c20: 8fa400a8 */ lw $a0,0xa8($sp)
/* f087c24: 00403025 */ move $a2,$v0
/* f087c28: 0c004d11 */ jal sprintf
/* f087c2c: 27a7002c */ addiu $a3,$sp,0x2c
/* f087c30: 1000000f */ b .PF0f087c70
/* f087c34: 8fbf0014 */ lw $ra,0x14($sp)
.PF0f087c38:
/* f087c38: 15400009 */ bnez $t2,.PF0f087c60
/* f087c3c: 8fa400a8 */ lw $a0,0xa8($sp)
/* f087c40: 0fc5bdaa */ jal langGet
/* f087c44: 25245200 */ addiu $a0,$t1,0x5200
/* f087c48: 8fa400a8 */ lw $a0,0xa8($sp)
/* f087c4c: 00402825 */ move $a1,$v0
/* f087c50: 0c004d11 */ jal sprintf
/* f087c54: 27a6002c */ addiu $a2,$sp,0x2c
/* f087c58: 10000005 */ b .PF0f087c70
/* f087c5c: 8fbf0014 */ lw $ra,0x14($sp)
.PF0f087c60:
/* f087c60: 3c057f1b */ lui $a1,0x7f1b
/* f087c64: 0c004d11 */ jal sprintf
/* f087c68: 24a5b30c */ addiu $a1,$a1,-19700
.PF0f087c6c:
/* f087c6c: 8fbf0014 */ lw $ra,0x14($sp)
.PF0f087c70:
/* f087c70: 27bd00a8 */ addiu $sp,$sp,0xa8
/* f087c74: 03e00008 */ jr $ra
/* f087c78: 00000000 */ nop
);
const char varf71ab2f8pf[] = "%s%s";
const char varf71ab300pf[] = "%s";
const char varf71ab304pf[] = "%s%s.\n";
const char varf71ab30cpf[] = "%s.\n";
// Mismatch: determiner needs to be copied into t8 for the first switch
//void func0f0878c8pf(char *dst, s32 id, bool plural, bool full, bool dual, struct nameinfo *table)
//{
// struct nameinfo *info;
// u8 *ptr;
// s32 languageid = g_LanguageId;
// u16 nametextid = 0;
// u16 determinertextid = 0;
// s32 index = 0;
// u8 buffer[100];
//
// if (languageid > LANGUAGE_PAL_ES) {
// languageid = LANGUAGE_PAL_EN;
// }
//
// *dst = '\0';
//
// info = func0f087888pf(id, table);
//
// if (info != NULL) {
// s32 determiner = info->unk08[languageid] & 0x7f;
//
// switch (info->unk08[languageid] & 0x7f) {
// case DETERMINER_SOME5:
// case DETERMINER_SOME6:
// case DETERMINER_SOME7:
// case DETERMINER_8:
// plural = true;
// break;
// }
//
// if (info->unk08[languageid] & 0x80) {
// switch (info->unk08[languageid] & 0x7f) {
// case DETERMINER_A:
// case DETERMINER_AN:
// case DETERMINER_THE:
// case DETERMINER_4:
// plural = false;
// break;
// case DETERMINER_SOME5:
// plural = true;
// break;
// }
// }
//
// if (plural) {
// if (info->pluraltext) {
// nametextid = info->pluraltext;
//
// switch (info->unk08[languageid] & 0x7f) {
// case DETERMINER_A:
// determiner = DETERMINER_SOME5;
// break;
// case DETERMINER_AN:
// determiner = DETERMINER_SOME6;
// break;
// case DETERMINER_THE:
// determiner = DETERMINER_SOME7;
// break;
// case DETERMINER_4:
// determiner = DETERMINER_8;
// break;
// }
// } else {
// nametextid = info->singulartext;
// }
// } else {
// nametextid = info->singulartext;
// }
//
// if (nametextid != 0) {
// switch (determiner) {
// case DETERMINER_A:
// determinertextid = full ? L_PROPOBJ_058 : L_PROPOBJ_057; // "A", "a"
// break;
// case DETERMINER_AN:
// determinertextid = full ? L_PROPOBJ_060 : L_PROPOBJ_059; // "An", "an"
// index = 1;
// break;
// case DETERMINER_THE:
// determinertextid = full ? L_PROPOBJ_062 : L_PROPOBJ_061; // "The", "the"
// index = 2;
// break;
// case DETERMINER_4:
// determinertextid = full ? L_PROPOBJ_064 : L_PROPOBJ_063; // "", ""
// index = 3;
// break;
// case DETERMINER_SOME5:
// determinertextid = full ? L_PROPOBJ_050 : L_PROPOBJ_049; // "Some", "some"
// index = 4;
// break;
// case DETERMINER_SOME6:
// determinertextid = full ? L_PROPOBJ_052 : L_PROPOBJ_051; // "Some", "some"
// index = 5;
// break;
// case DETERMINER_SOME7:
// determinertextid = full ? L_PROPOBJ_054 : L_PROPOBJ_053; // "Some", "some"
// index = 6;
// break;
// case DETERMINER_8:
// determinertextid = full ? L_PROPOBJ_056 : L_PROPOBJ_055; // "", ""
// index = 7;
// break;
// case DETERMINER_YOUR:
// determinertextid = full ? L_PROPOBJ_048 : L_PROPOBJ_047; // "Your", "your"
// index = 1;
// break;
// }
//
// if (!full && languageid == LANGUAGE_PAL_DE) {
// determinertextid = 0;
// }
//
// if (dual) {
// determinertextid = 0;
// }
//
// if (determinertextid) {
// sprintf(buffer, "%s%s", langGet(determinertextid), langGet(nametextid));
// } else {
// sprintf(buffer, "%s", langGet(nametextid));
// }
//
// ptr = buffer;
//
// while (*ptr != '\0') {
// if (*ptr == '\n') {
// *ptr = '\0';
// } else {
// ptr++;
// }
// }
//
// if (dual) {
// sprintf(dst, "%s%s.\n", langGet(L_PROPOBJ_008), buffer); // "Double"
// } else if (!full) {
// sprintf(dst, langGet(L_PROPOBJ_000 + index), buffer); // "Picked up %s.\n"
// } else {
// sprintf(dst, "%s.\n", buffer);
// }
// }
// }
//}
#endif
#if VERSION < VERSION_PAL_FINAL
void ammotypeGetDeterminer(char *dst, s32 ammotype, s32 qty)
{
bool determiner_a = false;
bool determiner_an = false;
bool determiner_some = false;
bool determiner_the = false;
s32 playercount = PLAYERCOUNT();
s32 full = playercount <= 2
&& !(playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()));
switch (ammotype) {
case AMMOTYPE_CLOAK:
determiner_a = true;
break;
case AMMOTYPE_PISTOL:
case AMMOTYPE_SMG:
case AMMOTYPE_RIFLE:
case AMMOTYPE_SEDATIVE:
case AMMOTYPE_PSYCHOSIS:
case AMMOTYPE_PLASTIQUE:
determiner_some = true;
break;
case AMMOTYPE_CROSSBOW:
case AMMOTYPE_SHOTGUN:
case AMMOTYPE_GRENADE:
case AMMOTYPE_ROCKET:
case AMMOTYPE_KNIFE:
case AMMOTYPE_MAGNUM:
case AMMOTYPE_DEVASTATOR:
case AMMOTYPE_REMOTE_MINE:
case AMMOTYPE_PROXY_MINE:
case AMMOTYPE_TIMED_MINE:
case AMMOTYPE_REAPER:
case AMMOTYPE_HOMINGROCKET:
case AMMOTYPE_DART:
case AMMOTYPE_BOOST:
case AMMOTYPE_BUG:
case AMMOTYPE_MICROCAMERA:
if (qty == 1) {
determiner_a = true;
} else {
determiner_some = true;
}
break;
case AMMOTYPE_FARSIGHT:
case AMMOTYPE_NBOMB:
case AMMOTYPE_ECM_MINE:
if (qty == 1) {
determiner_an = true;
} else {
determiner_some = true;
}
break;
case AMMOTYPE_TOKEN:
if (qty == 1) {
determiner_the = true;
} else {
determiner_some = true;
}
break;
}
if (determiner_a) {
if (full) {
strcat(dst, langGet(L_PROPOBJ_004)); // "a"
} else {
strcat(dst, langGet(L_PROPOBJ_005)); // "A"
}
}
if (determiner_an) {
if (full) {
strcat(dst, langGet(L_PROPOBJ_006)); // "an"
} else {
strcat(dst, langGet(L_PROPOBJ_007)); // "An"
}
}
if (determiner_some) {
if (full) {
strcat(dst, langGet(L_PROPOBJ_002)); // "some"
} else {
strcat(dst, langGet(L_PROPOBJ_003)); // "Some"
}
}
if (determiner_the) {
if (full) {
strcat(dst, langGet(L_PROPOBJ_008)); // "the"
} else {
strcat(dst, langGet(L_PROPOBJ_009)); // "The"
}
}
}
#endif
#if VERSION < VERSION_PAL_FINAL
GLOBAL_ASM(
glabel ammotypeGetPickupName
.late_rodata
glabel var7f1aabd4
.word ammotypeGetPickupName+0xd8 # f0879f4
glabel var7f1aabd8
.word ammotypeGetPickupName+0x184 # f087aa0
glabel var7f1aabdc
.word ammotypeGetPickupName+0xe0 # f0879fc
glabel var7f1aabe0
.word ammotypeGetPickupName+0xe8 # f087a04
glabel var7f1aabe4
.word ammotypeGetPickupName+0xf0 # f087a0c
glabel var7f1aabe8
.word ammotypeGetPickupName+0xf8 # f087a14
glabel var7f1aabec
.word ammotypeGetPickupName+0x184 # f087aa0
glabel var7f1aabf0
.word ammotypeGetPickupName+0x100 # f087a1c
glabel var7f1aabf4
.word ammotypeGetPickupName+0x108 # f087a24
glabel var7f1aabf8
.word ammotypeGetPickupName+0x110 # f087a2c
glabel var7f1aabfc
.word ammotypeGetPickupName+0x118 # f087a34
glabel var7f1aac00
.word ammotypeGetPickupName+0x120 # f087a3c
glabel var7f1aac04
.word ammotypeGetPickupName+0x128 # f087a44
glabel var7f1aac08
.word ammotypeGetPickupName+0x130 # f087a4c
glabel var7f1aac0c
.word ammotypeGetPickupName+0x138 # f087a54
glabel var7f1aac10
.word ammotypeGetPickupName+0x140 # f087a5c
glabel var7f1aac14
.word ammotypeGetPickupName+0x148 # f087a64
glabel var7f1aac18
.word ammotypeGetPickupName+0x178 # f087a94
glabel var7f1aac1c
.word ammotypeGetPickupName+0x180 # f087a9c
glabel var7f1aac20
.word ammotypeGetPickupName+0x150 # f087a6c
glabel var7f1aac24
.word ammotypeGetPickupName+0x184 # f087aa0
glabel var7f1aac28
.word ammotypeGetPickupName+0x158 # f087a74
glabel var7f1aac2c
.word ammotypeGetPickupName+0x160 # f087a7c
glabel var7f1aac30
.word ammotypeGetPickupName+0x170 # f087a8c
glabel var7f1aac34
.word ammotypeGetPickupName+0x184 # f087aa0
glabel var7f1aac38
.word ammotypeGetPickupName+0x184 # f087aa0
glabel var7f1aac3c
.word ammotypeGetPickupName+0x184 # f087aa0
glabel var7f1aac40
.word ammotypeGetPickupName+0x168 # f087a84
.text
/* f08791c: 27bdffe8 */ addiu $sp,$sp,-24
/* f087920: 24010001 */ addiu $at,$zero,0x1
/* f087924: afbf0014 */ sw $ra,0x14($sp)
/* f087928: afa40018 */ sw $a0,0x18($sp)
/* f08792c: afa60020 */ sw $a2,0x20($sp)
/* f087930: 10a10006 */ beq $a1,$at,.L0f08794c
/* f087934: 00a03825 */ or $a3,$a1,$zero
/* f087938: 24010002 */ addiu $at,$zero,0x2
/* f08793c: 10a10003 */ beq $a1,$at,.L0f08794c
/* f087940: 24010004 */ addiu $at,$zero,0x4
/* f087944: 54a10009 */ bnel $a1,$at,.L0f08796c
/* f087948: 24010009 */ addiu $at,$zero,0x9
.L0f08794c:
/* f08794c: 0fc5b9f1 */ jal langGet
/* f087950: 2404520a */ addiu $a0,$zero,0x520a
/* f087954: 8fa40018 */ lw $a0,0x18($sp)
/* f087958: 0c004c89 */ jal strcat
/* f08795c: 00402825 */ or $a1,$v0,$zero
/* f087960: 10000067 */ b .L0f087b00
/* f087964: 8fbf0014 */ lw $ra,0x14($sp)
/* f087968: 24010009 */ addiu $at,$zero,0x9
.L0f08796c:
/* f08796c: 14e10018 */ bne $a3,$at,.L0f0879d0
/* f087970: 24effffd */ addiu $t7,$a3,-3
/* f087974: 0fc5b9f1 */ jal langGet
/* f087978: 24045215 */ addiu $a0,$zero,0x5215
/* f08797c: 8fa40018 */ lw $a0,0x18($sp)
/* f087980: 0c004c89 */ jal strcat
/* f087984: 00402825 */ or $a1,$v0,$zero
/* f087988: 8fae0020 */ lw $t6,0x20($sp)
/* f08798c: 24010001 */ addiu $at,$zero,0x1
/* f087990: 15c10008 */ bne $t6,$at,.L0f0879b4
/* f087994: 00000000 */ nop
/* f087998: 0fc5b9f1 */ jal langGet
/* f08799c: 24045216 */ addiu $a0,$zero,0x5216
/* f0879a0: 8fa40018 */ lw $a0,0x18($sp)
/* f0879a4: 0c004c89 */ jal strcat
/* f0879a8: 00402825 */ or $a1,$v0,$zero
/* f0879ac: 10000054 */ b .L0f087b00
/* f0879b0: 8fbf0014 */ lw $ra,0x14($sp)
.L0f0879b4:
/* f0879b4: 0fc5b9f1 */ jal langGet
/* f0879b8: 24045217 */ addiu $a0,$zero,0x5217
/* f0879bc: 8fa40018 */ lw $a0,0x18($sp)
/* f0879c0: 0c004c89 */ jal strcat
/* f0879c4: 00402825 */ or $a1,$v0,$zero
/* f0879c8: 1000004d */ b .L0f087b00
/* f0879cc: 8fbf0014 */ lw $ra,0x14($sp)
.L0f0879d0:
/* f0879d0: 2de1001c */ sltiu $at,$t7,0x1c
/* f0879d4: 10200032 */ beqz $at,.L0f087aa0
/* f0879d8: 2404ffff */ addiu $a0,$zero,-1
/* f0879dc: 000f7880 */ sll $t7,$t7,0x2
/* f0879e0: 3c017f1b */ lui $at,%hi(var7f1aabd4)
/* f0879e4: 002f0821 */ addu $at,$at,$t7
/* f0879e8: 8c2fabd4 */ lw $t7,%lo(var7f1aabd4)($at)
/* f0879ec: 01e00008 */ jr $t7
/* f0879f0: 00000000 */ nop
/* f0879f4: 1000002a */ b .L0f087aa0
/* f0879f8: 2404522d */ addiu $a0,$zero,0x522d
/* f0879fc: 10000028 */ b .L0f087aa0
/* f087a00: 2404520b */ addiu $a0,$zero,0x520b
/* f087a04: 10000026 */ b .L0f087aa0
/* f087a08: 2404522e */ addiu $a0,$zero,0x522e
/* f087a0c: 10000024 */ b .L0f087aa0
/* f087a10: 2404520e */ addiu $a0,$zero,0x520e
/* f087a14: 10000022 */ b .L0f087aa0
/* f087a18: 24045210 */ addiu $a0,$zero,0x5210
/* f087a1c: 10000020 */ b .L0f087aa0
/* f087a20: 2404520c */ addiu $a0,$zero,0x520c
/* f087a24: 1000001e */ b .L0f087aa0
/* f087a28: 2404520f */ addiu $a0,$zero,0x520f
/* f087a2c: 1000001c */ b .L0f087aa0
/* f087a30: 24045212 */ addiu $a0,$zero,0x5212
/* f087a34: 1000001a */ b .L0f087aa0
/* f087a38: 24045213 */ addiu $a0,$zero,0x5213
/* f087a3c: 10000018 */ b .L0f087aa0
/* f087a40: 24045214 */ addiu $a0,$zero,0x5214
/* f087a44: 10000016 */ b .L0f087aa0
/* f087a48: 2404522f */ addiu $a0,$zero,0x522f
/* f087a4c: 10000014 */ b .L0f087aa0
/* f087a50: 24045211 */ addiu $a0,$zero,0x5211
/* f087a54: 10000012 */ b .L0f087aa0
/* f087a58: 24045219 */ addiu $a0,$zero,0x5219
/* f087a5c: 10000010 */ b .L0f087aa0
/* f087a60: 2404521a */ addiu $a0,$zero,0x521a
/* f087a64: 1000000e */ b .L0f087aa0
/* f087a68: 2404521b */ addiu $a0,$zero,0x521b
/* f087a6c: 1000000c */ b .L0f087aa0
/* f087a70: 2404521b */ addiu $a0,$zero,0x521b
/* f087a74: 1000000a */ b .L0f087aa0
/* f087a78: 24045223 */ addiu $a0,$zero,0x5223
/* f087a7c: 10000008 */ b .L0f087aa0
/* f087a80: 24045224 */ addiu $a0,$zero,0x5224
/* f087a84: 10000006 */ b .L0f087aa0
/* f087a88: 24045226 */ addiu $a0,$zero,0x5226
/* f087a8c: 10000004 */ b .L0f087aa0
/* f087a90: 24045227 */ addiu $a0,$zero,0x5227
/* f087a94: 10000002 */ b .L0f087aa0
/* f087a98: 24045230 */ addiu $a0,$zero,0x5230
/* f087a9c: 24045231 */ addiu $a0,$zero,0x5231
.L0f087aa0:
/* f087aa0: 04820008 */ bltzl $a0,.L0f087ac4
/* f087aa4: 8fb80020 */ lw $t8,0x20($sp)
/* f087aa8: 0fc5b9f1 */ jal langGet
/* f087aac: afa7001c */ sw $a3,0x1c($sp)
/* f087ab0: 8fa40018 */ lw $a0,0x18($sp)
/* f087ab4: 0c004c89 */ jal strcat
/* f087ab8: 00402825 */ or $a1,$v0,$zero
/* f087abc: 8fa7001c */ lw $a3,0x1c($sp)
/* f087ac0: 8fb80020 */ lw $t8,0x20($sp)
.L0f087ac4:
/* f087ac4: 2b010002 */ slti $at,$t8,0x2
/* f087ac8: 1420000c */ bnez $at,.L0f087afc
/* f087acc: 2401000f */ addiu $at,$zero,0xf
/* f087ad0: 10e1000a */ beq $a3,$at,.L0f087afc
/* f087ad4: 24010013 */ addiu $at,$zero,0x13
/* f087ad8: 10e10008 */ beq $a3,$at,.L0f087afc
/* f087adc: 24010014 */ addiu $at,$zero,0x14
/* f087ae0: 50e10007 */ beql $a3,$at,.L0f087b00
/* f087ae4: 8fbf0014 */ lw $ra,0x14($sp)
/* f087ae8: 0fc5b9f1 */ jal langGet
/* f087aec: 24045218 */ addiu $a0,$zero,0x5218
/* f087af0: 8fa40018 */ lw $a0,0x18($sp)
/* f087af4: 0c004c89 */ jal strcat
/* f087af8: 00402825 */ or $a1,$v0,$zero
.L0f087afc:
/* f087afc: 8fbf0014 */ lw $ra,0x14($sp)
.L0f087b00:
/* f087b00: 27bd0018 */ addiu $sp,$sp,0x18
/* f087b04: 03e00008 */ jr $ra
/* f087b08: 00000000 */ nop
);
// Mismatch because goal stores text_id in a0 while the below uses stack.
//void ammotypeGetPickupName(char *dst, s32 ammotype, s32 qty)
//{
// s32 text_id;
//
// switch (ammotype) {
// case AMMOTYPE_PISTOL:
// case AMMOTYPE_SMG:
// case AMMOTYPE_RIFLE:
// strcat(dst, langGet(L_PROPOBJ_010)); // "ammo"
// return;
// }
//
// if (ammotype == AMMOTYPE_KNIFE) {
// strcat(dst, langGet(L_PROPOBJ_021)); // "combat"
//
// if (qty == 1) {
// strcat(dst, langGet(L_PROPOBJ_022)); // "knife"
// } else {
// strcat(dst, langGet(L_PROPOBJ_023)); // "knives"
// }
//
// return;
// }
//
// text_id = -1;
//
// switch (ammotype) {
// case AMMOTYPE_CROSSBOW: text_id = L_PROPOBJ_045; break; // "bolt"
// case AMMOTYPE_SHOTGUN: text_id = L_PROPOBJ_011; break; // "cartridge"
// case AMMOTYPE_FARSIGHT: text_id = L_PROPOBJ_046; break; // "orb"
// case AMMOTYPE_GRENADE: text_id = L_PROPOBJ_014; break; // "grenade"
// case AMMOTYPE_ROCKET: text_id = L_PROPOBJ_016; break; // "rocket"
// case AMMOTYPE_MAGNUM: text_id = L_PROPOBJ_012; break; // "magnum bullet"
// case AMMOTYPE_DEVASTATOR: text_id = L_PROPOBJ_015; break; // "grenade round"
// case AMMOTYPE_REMOTE_MINE: text_id = L_PROPOBJ_018; break; // "remote mine"
// case AMMOTYPE_PROXY_MINE: text_id = L_PROPOBJ_019; break; // "proximity mine"
// case AMMOTYPE_TIMED_MINE: text_id = L_PROPOBJ_020; break; // "timed mine"
// case AMMOTYPE_REAPER: text_id = L_PROPOBJ_047; break; // "Reaper ammo"
// case AMMOTYPE_HOMINGROCKET: text_id = L_PROPOBJ_017; break; // "homing rocket"
// case AMMOTYPE_DART: text_id = L_PROPOBJ_025; break; // "dart"
// case AMMOTYPE_NBOMB: text_id = L_PROPOBJ_026; break; // "N-Bomb"
// case AMMOTYPE_SEDATIVE: text_id = L_PROPOBJ_027; break; // "sedatives"
// case AMMOTYPE_PSYCHOSIS: text_id = L_PROPOBJ_027; break; // "sedatives"
// case AMMOTYPE_BUG: text_id = L_PROPOBJ_035; break; // "bug"
// case AMMOTYPE_MICROCAMERA: text_id = L_PROPOBJ_036; break; // "micro camera"
// case AMMOTYPE_TOKEN: text_id = L_PROPOBJ_038; break; // "token"
// case AMMOTYPE_PLASTIQUE: text_id = L_PROPOBJ_039; break; // "plastique"
// case AMMOTYPE_CLOAK: text_id = L_PROPOBJ_048; break; // "cloaking device"
// case AMMOTYPE_BOOST: text_id = L_PROPOBJ_049; break; // "boost pill"
// }
//
// if (text_id >= 0) {
// strcat(dst, langGet(text_id));
// }
//
// if (qty >= 2
// && ammotype != AMMOTYPE_REAPER
// && ammotype != AMMOTYPE_SEDATIVE
// && ammotype != AMMOTYPE_CLOAK) {
// strcat(dst, langGet(L_PROPOBJ_024)); // "s"
// }
//}
#endif
void ammotypePlayPickupSound(u32 ammotype)
{
switch (ammotype) {
case AMMOTYPE_PISTOL:
case AMMOTYPE_SMG:
case AMMOTYPE_RIFLE:
case AMMOTYPE_SHOTGUN:
case AMMOTYPE_GRENADE:
case AMMOTYPE_ROCKET:
case AMMOTYPE_MAGNUM:
case AMMOTYPE_DEVASTATOR:
case AMMOTYPE_REAPER:
case AMMOTYPE_HOMINGROCKET:
case AMMOTYPE_DART:
case AMMOTYPE_NBOMB:
case AMMOTYPE_SEDATIVE:
case AMMOTYPE_CLOAK:
case AMMOTYPE_BOOST:
case AMMOTYPE_TOKEN:
sndStart(var80095200, SFX_PICKUP_AMMO, NULL, -1, -1, -1, -1, -1);
break;
case AMMOTYPE_REMOTE_MINE:
case AMMOTYPE_PROXY_MINE:
case AMMOTYPE_TIMED_MINE:
case AMMOTYPE_BUG:
case AMMOTYPE_MICROCAMERA:
case AMMOTYPE_PLASTIQUE:
case AMMOTYPE_ECM_MINE:
sndStart(var80095200, SFX_PICKUP_MINE, NULL, -1, -1, -1, -1, -1);
break;
case AMMOTYPE_KNIFE:
sndStart(var80095200, SFX_PICKUP_KNIFE, NULL, -1, -1, -1, -1, -1);
break;
}
}
s32 propPlayPickupSound(struct prop *prop, s32 weapon)
{
s16 sound;
if (weapon == WEAPON_COMBATKNIFE || weapon == WEAPON_COMBATKNIFE) {
sound = SFX_PICKUP_KNIFE;
} else if (weapon == WEAPON_REMOTEMINE
|| weapon == WEAPON_PROXIMITYMINE
|| weapon == WEAPON_TIMEDMINE
|| weapon == WEAPON_COMMSRIDER
|| weapon == WEAPON_TRACERBUG
|| weapon == WEAPON_TARGETAMPLIFIER
|| weapon == WEAPON_ECMMINE) {
sound = SFX_PICKUP_MINE;
} else if (weapon == WEAPON_GRENADE
|| weapon == WEAPON_GRENADEROUND
|| weapon == WEAPON_ROCKET
|| weapon == WEAPON_HOMINGROCKET) {
sound = SFX_PICKUP_AMMO;
} else if (weapon == WEAPON_LASER) {
sound = SFX_PICKUP_LASER;
} else {
sound = SFX_PICKUP_GUN;
}
return func0f0939f8(NULL, prop, sound, -1,
-1, 1024, 0, 0, 0, -1, 0, -1, -1, -1, -1);
}
void weaponPlayPickupSound(s32 weaponnum)
{
s32 sound;
if (weaponnum == WEAPON_COMBATKNIFE || weaponnum == WEAPON_COMBATKNIFE) {
sound = SFX_PICKUP_KNIFE;
} else if (weaponnum == WEAPON_REMOTEMINE
|| weaponnum == WEAPON_PROXIMITYMINE
|| weaponnum == WEAPON_TIMEDMINE
|| weaponnum == WEAPON_TRACERBUG
|| weaponnum == WEAPON_TARGETAMPLIFIER
|| weaponnum == WEAPON_COMMSRIDER
|| weaponnum == WEAPON_ECMMINE) {
sound = SFX_PICKUP_MINE;
} else if (weaponnum == WEAPON_GRENADE
|| weaponnum == WEAPON_GRENADEROUND
|| weaponnum == WEAPON_ROCKET
|| weaponnum == WEAPON_HOMINGROCKET) {
sound = SFX_PICKUP_AMMO;
} else if (weaponnum == WEAPON_LASER) {
sound = SFX_PICKUP_LASER;
} else if (weaponnum == WEAPON_BOLT) {
sound = SFX_PICKUP_GUN;
} else if (weaponnum == WEAPON_EYESPY) {
sound = SFX_PICKUP_KEYCARD;
} else if (weaponnum > WEAPON_PSYCHOSISGUN) {
sound = SFX_PICKUP_KEYCARD;
} else {
sound = SFX_PICKUP_GUN;
}
sndStart(var80095200, sound, NULL, -1, -1, -1, -1, -1);
}
void ammotypeGetPickupMessage(char *dst, s32 ammotype, s32 qty)
{
s32 playercount = PLAYERCOUNT();
s32 full = playercount <= 2
&& !(playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()));
*dst = '\0';
#if VERSION >= VERSION_PAL_FINAL
if (g_Jpn) {
strcat(dst, "\n");
} else {
if (ammotype == AMMOTYPE_PISTOL || ammotype == AMMOTYPE_SMG || ammotype == AMMOTYPE_RIFLE) {
ammotype = 999;
}
func0f0878c8pf(dst, ammotype, qty > 1, !full, 0, var8006a944pf);
}
#else
if (g_Jpn) {
ammotypeGetPickupName(dst, ammotype, qty);
if (full) {
ammotypeGetPickedUpText(dst);
}
strcat(dst, "\n");
} else {
if (full) {
ammotypeGetPickedUpText(dst); // "Picked up"
}
ammotypeGetDeterminer(dst, ammotype, qty); // "a", "an", "some" or "the"
ammotypeGetPickupName(dst, ammotype, qty); // name of ammo type
strcat(dst, ".\n");
}
#endif
}
void currentPlayerQueuePickupAmmoHudmsg(s32 ammotype, s32 pickupqty)
{
char buffer[100] = "";
ammotypeGetPickupMessage(buffer, ammotype, pickupqty);
hudmsgCreateWithFlags(buffer, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE);
}
void ammoHandlePickup(s32 ammotype, s32 quantity, bool withsound, bool withhudmsg)
{
s32 weapon;
if (quantity > 0) {
if (bgunGetReservedAmmoCount(ammotype) < bgunGetCapacityByAmmotype(ammotype)) {
bgunSetAmmoQuantity(ammotype, bgunGetReservedAmmoCount(ammotype) + quantity);
if (withhudmsg) {
currentPlayerQueuePickupAmmoHudmsg(ammotype, quantity);
}
}
if (withsound) {
ammotypePlayPickupSound(ammotype);
}
if (ammotype == AMMOTYPE_GRENADE) {
weapon = WEAPON_GRENADE;
} else if (ammotype == AMMOTYPE_REMOTE_MINE) {
weapon = WEAPON_REMOTEMINE;
} else if (ammotype == AMMOTYPE_PROXY_MINE) {
weapon = WEAPON_PROXIMITYMINE;
} else if (ammotype == AMMOTYPE_TIMED_MINE) {
weapon = WEAPON_TIMEDMINE;
} else if (ammotype == AMMOTYPE_NBOMB) {
weapon = WEAPON_NBOMB;
} else if (ammotype == AMMOTYPE_KNIFE) {
weapon = WEAPON_COMBATKNIFE;
} else if (ammotype == AMMOTYPE_ECM_MINE) {
weapon = WEAPON_ECMMINE;
} else if (ammotype == AMMOTYPE_TOKEN) {
weapon = WEAPON_BRIEFCASE2;
} else if (ammotype == AMMOTYPE_CLOAK) {
weapon = WEAPON_CLOAKINGDEVICE;
} else if (ammotype == AMMOTYPE_BOOST) {
weapon = WEAPON_COMBATBOOST;
} else {
weapon = -1;
}
if (weapon >= 0) {
invGiveSingleWeapon(weapon);
}
}
}
s32 ammocrateGetPickupAmmoQty(struct ammocrateobj *crate)
{
s32 qty = 1;
switch (crate->ammotype) {
case AMMOTYPE_PISTOL : qty = 10; break;
case AMMOTYPE_SMG : qty = 10; break;
case AMMOTYPE_CROSSBOW : qty = 10; break;
case AMMOTYPE_RIFLE : qty = 10; break;
case AMMOTYPE_SHOTGUN : qty = 5; break;
case AMMOTYPE_MAGNUM : qty = 5; break;
case AMMOTYPE_REAPER : qty = 200; break;
case AMMOTYPE_DART : qty = 4; break;
case AMMOTYPE_CLOAK : qty = PALDOWN(1200); break;
case AMMOTYPE_SEDATIVE : qty = 16; break;
case AMMOTYPE_BOOST : qty = 1; break;
}
if (qty > 1 && !g_Vars.normmplayerisrunning) {
qty *= g_AmmoMultiplier;
}
return qty;
}
s32 weaponGetPickupAmmoQty(struct weaponobj *weapon)
{
s32 ammotype;
s32 qty = 1;
if (!weapon) {
return 20;
}
ammotype = bgunGetAmmoTypeForWeapon(weapon->weaponnum, 0);
if (weapon->weaponnum == WEAPON_COMBATKNIFE || weapon->weaponnum == WEAPON_BOLT) {
return 1;
}
if (weapon->base.flags & OBJFLAG_WEAPON_40000000) {
return 0;
}
if (g_Vars.normmplayerisrunning) {
switch (ammotype) {
case AMMOTYPE_PISTOL: qty = 10; break;
case AMMOTYPE_SMG: qty = 20; break;
case AMMOTYPE_CROSSBOW: qty = 5; break;
case AMMOTYPE_RIFLE: qty = 20; break;
case AMMOTYPE_SHOTGUN: qty = 10; break;
case AMMOTYPE_FARSIGHT: qty = 4; break;
case AMMOTYPE_MAGNUM: qty = 10; break;
case AMMOTYPE_DEVASTATOR: qty = 3; break;
case AMMOTYPE_REAPER: qty = 200; break;
case AMMOTYPE_DART: qty = 10; break;
case AMMOTYPE_CLOAK: qty = PALDOWN(1200); break;
case AMMOTYPE_SEDATIVE: qty = 16; break;
case AMMOTYPE_BOOST: qty = 1; break;
}
} else {
switch (ammotype) {
case AMMOTYPE_PISTOL: qty = 10; break;
case AMMOTYPE_SMG: qty = 10; break;
case AMMOTYPE_CROSSBOW: qty = 5; break;
case AMMOTYPE_RIFLE: qty = 10; break;
case AMMOTYPE_SHOTGUN: qty = 5; break;
case AMMOTYPE_FARSIGHT: qty = 4; break;
case AMMOTYPE_MAGNUM: qty = 5; break;
case AMMOTYPE_DEVASTATOR: qty = 3; break;
case AMMOTYPE_REAPER: qty = 100; break;
case AMMOTYPE_DART: qty = 4; break;
case AMMOTYPE_CLOAK: qty = PALDOWN(1200); break;
case AMMOTYPE_BOOST: qty = 2; break;
case AMMOTYPE_SEDATIVE: qty = 16; break;
}
if (qty > 1) {
qty *= g_AmmoMultiplier;
}
}
return qty;
}
void weaponGetPickupText(char *buffer, s32 weaponnum, bool dual)
{
#if VERSION >= VERSION_PAL_FINAL
// PAL changes the implementation of this function to use a lookup table,
// with some fake weaponnums for the different eyespy types.
s32 playercount = PLAYERCOUNT();
s32 full = playercount <= 2
&& !(playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()));
if (weaponnum == WEAPON_EYESPY) {
if (stageGetIndex(g_Vars.stagenum) == STAGEINDEX_AIRBASE) {
weaponnum = 998;
} else if (stageGetIndex(g_Vars.stagenum) == STAGEINDEX_MBR
|| stageGetIndex(g_Vars.stagenum) == STAGEINDEX_CHICAGO) {
weaponnum = 997;
}
}
func0f0878c8pf(buffer, weaponnum, 0, !full, dual, var8006aa94pf);
#else
s32 playercount = PLAYERCOUNT();
s32 full = playercount <= 2
&& !(playercount == 2 && (optionsGetScreenSplit() == SCREENSPLIT_VERTICAL || IS4MB()));
s32 textid;
bool plural = false;
if (dual) {
strcat(buffer, langGet(L_PROPOBJ_001)); // "Double"
} else {
if (!g_Jpn) {
if (full) {
strcat(buffer, langGet(L_PROPOBJ_000)); // "Picked up"
if (weaponnum == WEAPON_EYESPY && g_Vars.currentplayer->eyespy) {
textid = L_PROPOBJ_050; // "your"
} else if (weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_F_SOME)) {
textid = L_PROPOBJ_002; // "some"
} else if (weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_F_AN)) {
textid = L_PROPOBJ_006; // "an"
} else if (weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_F_THE)) {
textid = L_PROPOBJ_008; // "the"
} else {
textid = L_PROPOBJ_004; // "a"
}
strcat(buffer, langGet(textid));
} else {
if (weaponnum == WEAPON_EYESPY && g_Vars.currentplayer->eyespy) {
textid = L_PROPOBJ_051; // "Your"
} else if (weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_S_SOME)) {
textid = L_PROPOBJ_003; // "Some"
} else if (weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_S_AN)) {
textid = L_PROPOBJ_007; // "An"
} else if (weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_S_THE)) {
textid = L_PROPOBJ_009; // "The"
} else {
textid = L_PROPOBJ_005; // "A"
}
strcat(buffer, langGet(textid));
}
}
}
if (full) {
strcat(buffer, bgunGetName(weaponnum));
plural = weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_F_SOME);
} else {
strcat(buffer, bgunGetShortName(weaponnum));
plural = weaponHasFlag(weaponnum, WEAPONFLAG_DETERMINER_S_SOME);
}
// Note that weapon names have a line break on the end which is undesirable
// here. The code below removes them conditionally, then ends up removing
// them unconditionally anyway which is a bit wasteful.
if (plural) {
if (buffer[strlen(buffer) - 1] == '\n') {
buffer[strlen(buffer) - 1] = '\0';
}
strcat(buffer, "s");
}
// For JPN, their translation of "picked up" comes after the weapon name
if (g_Jpn && full) {
if (buffer[strlen(buffer) - 1] == '\n') {
buffer[strlen(buffer) - 1] = '\0';
}
strcat(buffer, langGet(L_PROPOBJ_000)); // "Picked up"
strcat(buffer, "\n"); // This just gets removed immediately below
}
if (buffer[strlen(buffer) - 1] == '\n') {
buffer[strlen(buffer) - 1] = '\0';
}
strcat(buffer, ".\n");
#endif
}
void currentPlayerQueuePickupWeaponHudmsg(u32 weaponnum, bool dual)
{
char buffer[100] = "";
weaponGetPickupText(buffer, weaponnum, dual);
hudmsgCreateWithFlags(buffer, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE | HUDMSGFLAG_ALLOWDUPES);
}
const char var7f1aa140[] = "autodoorcanclose: blocking door\n\n";
#if VERSION >= VERSION_PAL_FINAL
GLOBAL_ASM(
glabel propPickupByPlayer
.late_rodata
glabel var7f1aadc0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadc4
.word propPickupByPlayer+0x74 # f0888b4
glabel var7f1aadc8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadcc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadd0
.word propPickupByPlayer+0xf4 # f088934
glabel var7f1aadd4
.word propPickupByPlayer+0x1f4 # f088a34
glabel var7f1aadd8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aaddc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade4
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadec
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf4
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadfc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae00
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae04
.word propPickupByPlayer+0x134 # f088974
glabel var7f1aae08
.word propPickupByPlayer+0x590 # f088dd0
glabel var7f1aae0c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae10
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae14
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae18
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae1c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae20
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae24
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae28
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae2c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae30
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae34
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae38
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae3c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae40
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae44
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae48
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae4c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae50
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae54
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae58
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae5c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae60
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae64
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae68
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae6c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae70
.word propPickupByPlayer+0x6e0 # f088f20
.text
/* f088840: 27bdff60 */ addiu $sp,$sp,-160
/* f088844: afbf0024 */ sw $ra,0x24($sp)
/* f088848: afa400a0 */ sw $a0,0xa0($sp)
/* f08884c: afa500a4 */ sw $a1,0xa4($sp)
/* f088850: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088854: 8c860004 */ lw $a2,0x4($a0)
/* f088858: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f08885c: 8d020284 */ lw $v0,0x284($t0)
/* f088860: afa00094 */ sw $zero,0x94($sp)
/* f088864: afa6009c */ sw $a2,0x9c($sp)
/* f088868: 8c4f00d8 */ lw $t7,0xd8($v0)
/* f08886c: 15e00005 */ bnez $t7,.L0f088884
/* f088870: 00000000 */ nop
/* f088874: 8d180034 */ lw $t8,0x34($t0)
/* f088878: 8fb9009c */ lw $t9,0x9c($sp)
/* f08887c: 57000004 */ bnezl $t8,.L0f088890
/* f088880: 93290003 */ lbu $t1,0x3($t9)
.L0f088884:
/* f088884: 100001df */ b .L0f089004
/* f088888: 00001025 */ or $v0,$zero,$zero
/* f08888c: 93290003 */ lbu $t1,0x3($t9)
.L0f088890:
/* f088890: 252afffd */ addiu $t2,$t1,-3
/* f088894: 2d41002d */ sltiu $at,$t2,0x2d
/* f088898: 102001a1 */ beqz $at,.L0f088f20
/* f08889c: 000a5080 */ sll $t2,$t2,0x2
/* f0888a0: 3c017f1b */ lui $at,%hi(var7f1aadc0)
/* f0888a4: 002a0821 */ addu $at,$at,$t2
/* f0888a8: 8c2aadc0 */ lw $t2,%lo(var7f1aadc0)($at)
/* f0888ac: 01400008 */ jr $t2
/* f0888b0: 00000000 */ nop
/* f0888b4: 8d0b04cc */ lw $t3,0x4cc($t0)
/* f0888b8: 3c048009 */ lui $a0,%hi(var80095200)
/* f0888bc: 240500e5 */ addiu $a1,$zero,0xe5
/* f0888c0: 1560000d */ bnez $t3,.L0f0888f8
/* f0888c4: 00003025 */ or $a2,$zero,$zero
/* f0888c8: 3c01bf80 */ lui $at,0xbf80
/* f0888cc: 44812000 */ mtc1 $at,$f4
/* f0888d0: 240cffff */ addiu $t4,$zero,-1
/* f0888d4: 240dffff */ addiu $t5,$zero,-1
/* f0888d8: 240effff */ addiu $t6,$zero,-1
/* f0888dc: afae001c */ sw $t6,0x1c($sp)
/* f0888e0: afad0018 */ sw $t5,0x18($sp)
/* f0888e4: afac0010 */ sw $t4,0x10($sp)
/* f0888e8: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f0888ec: 2407ffff */ addiu $a3,$zero,-1
/* f0888f0: 0c004241 */ jal sndStart
/* f0888f4: e7a40014 */ swc1 $f4,0x14($sp)
.L0f0888f8:
/* f0888f8: 8faf00a4 */ lw $t7,0xa4($sp)
/* f0888fc: 11e0000b */ beqz $t7,.L0f08892c
/* f088900: 00000000 */ nop
/* f088904: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088908: 8fa4009c */ lw $a0,0x9c($sp)
/* f08890c: 14400004 */ bnez $v0,.L0f088920
/* f088910: 00402025 */ or $a0,$v0,$zero
/* f088914: 0fc5b9f1 */ jal langGet
/* f088918: 24045228 */ addiu $a0,$zero,0x5225
/* f08891c: 00402025 */ or $a0,$v0,$zero
.L0f088920:
/* f088920: 00002825 */ or $a1,$zero,$zero
/* f088924: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088928: 24060009 */ addiu $a2,$zero,0x9
.L0f08892c:
/* f08892c: 1000019d */ b .L0f088fa4
/* f088930: 24020004 */ addiu $v0,$zero,0x4
/* f088934: 00c02025 */ or $a0,$a2,$zero
/* f088938: 0fc22067 */ jal ammocrateGetPickupAmmoQty
/* f08893c: afa6008c */ sw $a2,0x8c($sp)
/* f088940: 3c06800a */ lui $a2,%hi(g_Vars+0x4cc)
/* f088944: 8cc6a48c */ lw $a2,%lo(g_Vars+0x4cc)($a2)
/* f088948: 8fb9008c */ lw $t9,0x8c($sp)
/* f08894c: 00402825 */ or $a1,$v0,$zero
/* f088950: 2cd80001 */ sltiu $t8,$a2,0x1
/* f088954: 03003025 */ or $a2,$t8,$zero
/* f088958: 8fa700a4 */ lw $a3,0xa4($sp)
/* f08895c: 0fc2200a */ jal ammoHandlePickup
/* f088960: 8f24005c */ lw $a0,0x5c($t9)
/* f088964: 24090001 */ addiu $t1,$zero,0x1
/* f088968: afa90098 */ sw $t1,0x98($sp)
/* f08896c: 1000018d */ b .L0f088fa4
/* f088970: 24020001 */ addiu $v0,$zero,0x1
/* f088974: 00001025 */ or $v0,$zero,$zero
/* f088978: 00c01825 */ or $v1,$a2,$zero
.L0f08897c:
/* f08897c: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088980: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f088984: 8d0a0318 */ lw $t2,0x318($t0)
/* f088988: 9465005e */ lhu $a1,0x5e($v1)
/* f08898c: 24440001 */ addiu $a0,$v0,0x1
/* f088990: 15400009 */ bnez $t2,.L0f0889b8
/* f088994: 00003025 */ or $a2,$zero,$zero
/* f088998: 44853000 */ mtc1 $a1,$f6
/* f08899c: 3c018007 */ lui $at,%hi(g_AmmoMultiplier)
/* f0889a0: c42a995c */ lwc1 $f10,%lo(g_AmmoMultiplier)($at)
/* f0889a4: 46803220 */ cvt.s.w $f8,$f6
/* f0889a8: 460a4402 */ mul.s $f16,$f8,$f10
/* f0889ac: 4600848d */ trunc.w.s $f18,$f16
/* f0889b0: 44059000 */ mfc1 $a1,$f18
/* f0889b4: 00000000 */ nop
.L0f0889b8:
/* f0889b8: 8fa700a4 */ lw $a3,0xa4($sp)
/* f0889bc: afa30028 */ sw $v1,0x28($sp)
/* f0889c0: 0fc2200a */ jal ammoHandlePickup
/* f0889c4: afa4002c */ sw $a0,0x2c($sp)
/* f0889c8: 8fa2002c */ lw $v0,0x2c($sp)
/* f0889cc: 8fa30028 */ lw $v1,0x28($sp)
/* f0889d0: 24010013 */ addiu $at,$zero,0x13
/* f0889d4: 1441ffe9 */ bne $v0,$at,.L0f08897c
/* f0889d8: 24630004 */ addiu $v1,$v1,0x4
/* f0889dc: 3c0c800a */ lui $t4,%hi(g_Vars+0x4cc)
/* f0889e0: 8d8ca48c */ lw $t4,%lo(g_Vars+0x4cc)($t4)
/* f0889e4: 3c048009 */ lui $a0,%hi(var80095200)
/* f0889e8: 240500ea */ addiu $a1,$zero,0xea
/* f0889ec: 1580000d */ bnez $t4,.L0f088a24
/* f0889f0: 00003025 */ or $a2,$zero,$zero
/* f0889f4: 3c01bf80 */ lui $at,0xbf80
/* f0889f8: 44812000 */ mtc1 $at,$f4
/* f0889fc: 240dffff */ addiu $t5,$zero,-1
/* f088a00: 240effff */ addiu $t6,$zero,-1
/* f088a04: 240fffff */ addiu $t7,$zero,-1
/* f088a08: afaf001c */ sw $t7,0x1c($sp)
/* f088a0c: afae0018 */ sw $t6,0x18($sp)
/* f088a10: afad0010 */ sw $t5,0x10($sp)
/* f088a14: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088a18: 2407ffff */ addiu $a3,$zero,-1
/* f088a1c: 0c004241 */ jal sndStart
/* f088a20: e7a40014 */ swc1 $f4,0x14($sp)
.L0f088a24:
/* f088a24: 24180001 */ addiu $t8,$zero,0x1
/* f088a28: afb80098 */ sw $t8,0x98($sp)
/* f088a2c: 1000015d */ b .L0f088fa4
/* f088a30: 24020001 */ addiu $v0,$zero,0x1
/* f088a34: 8d190318 */ lw $t9,0x318($t0)
/* f088a38: afa60074 */ sw $a2,0x74($sp)
/* f088a3c: afa00070 */ sw $zero,0x70($sp)
/* f088a40: 13200022 */ beqz $t9,.L0f088acc
/* f088a44: afa00068 */ sw $zero,0x68($sp)
/* f088a48: 90c5005c */ lbu $a1,0x5c($a2)
/* f088a4c: 24010057 */ addiu $at,$zero,0x57
/* f088a50: 54a1000f */ bnel $a1,$at,.L0f088a90
/* f088a54: 24010036 */ addiu $at,$zero,0x36
/* f088a58: 8c4a00bc */ lw $t2,0xbc($v0)
/* f088a5c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088a60: 0fc61a26 */ jal scenarioPickUpBriefcase
/* f088a64: 8d440004 */ lw $a0,0x4($t2)
/* f088a68: 10400006 */ beqz $v0,.L0f088a84
/* f088a6c: 00401825 */ or $v1,$v0,$zero
/* f088a70: 8fab0074 */ lw $t3,0x74($sp)
/* f088a74: 9164005c */ lbu $a0,0x5c($t3)
/* f088a78: 0fc21f44 */ jal weaponPlayPickupSound
/* f088a7c: afa20064 */ sw $v0,0x64($sp)
/* f088a80: 8fa30064 */ lw $v1,0x64($sp)
.L0f088a84:
/* f088a84: 1000015f */ b .L0f089004
/* f088a88: 00601025 */ or $v0,$v1,$zero
/* f088a8c: 24010036 */ addiu $at,$zero,0x36
.L0f088a90:
/* f088a90: 54a1000f */ bnel $a1,$at,.L0f088ad0
/* f088a94: 8d0f04cc */ lw $t7,0x4cc($t0)
/* f088a98: 8c4c00bc */ lw $t4,0xbc($v0)
/* f088a9c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088aa0: 0fc61d04 */ jal scenarioPickUpUplink
/* f088aa4: 8d840004 */ lw $a0,0x4($t4)
/* f088aa8: 10400006 */ beqz $v0,.L0f088ac4
/* f088aac: 00401825 */ or $v1,$v0,$zero
/* f088ab0: 8fad0074 */ lw $t5,0x74($sp)
/* f088ab4: 91a4005c */ lbu $a0,0x5c($t5)
/* f088ab8: 0fc21f44 */ jal weaponPlayPickupSound
/* f088abc: afa20064 */ sw $v0,0x64($sp)
/* f088ac0: 8fa30064 */ lw $v1,0x64($sp)
.L0f088ac4:
/* f088ac4: 1000014f */ b .L0f089004
/* f088ac8: 00601025 */ or $v0,$v1,$zero
.L0f088acc:
/* f088acc: 8d0f04cc */ lw $t7,0x4cc($t0)
.L0f088ad0:
/* f088ad0: 8fae0074 */ lw $t6,0x74($sp)
/* f088ad4: 15e00007 */ bnez $t7,.L0f088af4
/* f088ad8: 91c5005c */ lbu $a1,0x5c($t6)
/* f088adc: 0fc21f44 */ jal weaponPlayPickupSound
/* f088ae0: 00a02025 */ or $a0,$a1,$zero
/* f088ae4: 8fb80074 */ lw $t8,0x74($sp)
/* f088ae8: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088aec: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f088af0: 9305005c */ lbu $a1,0x5c($t8)
.L0f088af4:
/* f088af4: 8fb9009c */ lw $t9,0x9c($sp)
/* f088af8: 24010056 */ addiu $at,$zero,0x56
/* f088afc: 8f290040 */ lw $t1,0x40($t9)
/* f088b00: 312a0400 */ andi $t2,$t1,0x400
/* f088b04: 11400020 */ beqz $t2,.L0f088b88
/* f088b08: 00000000 */ nop
/* f088b0c: 28a1002d */ slti $at,$a1,0x2d
/* f088b10: 50200007 */ beqzl $at,.L0f088b30
/* f088b14: 8fac00a4 */ lw $t4,0xa4($sp)
/* f088b18: 0fc4483c */ jal invGiveWeaponsByProp
/* f088b1c: 8fa400a0 */ lw $a0,0xa0($sp)
/* f088b20: 240b0001 */ addiu $t3,$zero,0x1
/* f088b24: afa20068 */ sw $v0,0x68($sp)
/* f088b28: afab0094 */ sw $t3,0x94($sp)
/* f088b2c: 8fac00a4 */ lw $t4,0xa4($sp)
.L0f088b30:
/* f088b30: 51800013 */ beqzl $t4,.L0f088b80
/* f088b34: 24180004 */ addiu $t8,$zero,0x4
/* f088b38: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088b3c: 8fa4009c */ lw $a0,0x9c($sp)
/* f088b40: 10400006 */ beqz $v0,.L0f088b5c
/* f088b44: 00402025 */ or $a0,$v0,$zero
/* f088b48: 00002825 */ or $a1,$zero,$zero
/* f088b4c: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088b50: 24060009 */ addiu $a2,$zero,0x9
/* f088b54: 10000008 */ b .L0f088b78
/* f088b58: 240f0001 */ addiu $t7,$zero,0x1
.L0f088b5c:
/* f088b5c: 8fa50068 */ lw $a1,0x68($sp)
/* f088b60: 8fad0074 */ lw $t5,0x74($sp)
/* f088b64: 38ae0002 */ xori $t6,$a1,0x2
/* f088b68: 2dc50001 */ sltiu $a1,$t6,0x1
/* f088b6c: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg
/* f088b70: 91a4005c */ lbu $a0,0x5c($t5)
/* f088b74: 240f0001 */ addiu $t7,$zero,0x1
.L0f088b78:
/* f088b78: afaf0070 */ sw $t7,0x70($sp)
/* f088b7c: 24180004 */ addiu $t8,$zero,0x4
.L0f088b80:
/* f088b80: 10000033 */ b .L0f088c50
/* f088b84: afb80098 */ sw $t8,0x98($sp)
.L0f088b88:
/* f088b88: 14a10011 */ bne $a1,$at,.L0f088bd0
/* f088b8c: 24190001 */ addiu $t9,$zero,0x1
/* f088b90: 8d0604cc */ lw $a2,0x4cc($t0)
/* f088b94: 24090001 */ addiu $t1,$zero,0x1
/* f088b98: afb90068 */ sw $t9,0x68($sp)
/* f088b9c: 2cca0001 */ sltiu $t2,$a2,0x1
/* f088ba0: afa90094 */ sw $t1,0x94($sp)
/* f088ba4: 01403025 */ or $a2,$t2,$zero
/* f088ba8: 24040003 */ addiu $a0,$zero,0x3
/* f088bac: 24050001 */ addiu $a1,$zero,0x1
/* f088bb0: 0fc2200a */ jal ammoHandlePickup
/* f088bb4: 24070001 */ addiu $a3,$zero,0x1
/* f088bb8: 240b0001 */ addiu $t3,$zero,0x1
/* f088bbc: 240c0001 */ addiu $t4,$zero,0x1
/* f088bc0: afab0098 */ sw $t3,0x98($sp)
/* f088bc4: afa000a4 */ sw $zero,0xa4($sp)
/* f088bc8: 10000021 */ b .L0f088c50
/* f088bcc: afac0070 */ sw $t4,0x70($sp)
.L0f088bd0:
/* f088bd0: 0fc4483c */ jal invGiveWeaponsByProp
/* f088bd4: 8fa400a0 */ lw $a0,0xa0($sp)
/* f088bd8: 10400003 */ beqz $v0,.L0f088be8
/* f088bdc: afa20068 */ sw $v0,0x68($sp)
/* f088be0: 240d0001 */ addiu $t5,$zero,0x1
/* f088be4: afad0070 */ sw $t5,0x70($sp)
.L0f088be8:
/* f088be8: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088bec: 240e0001 */ addiu $t6,$zero,0x1
/* f088bf0: afae0094 */ sw $t6,0x94($sp)
/* f088bf4: 11e00014 */ beqz $t7,.L0f088c48
/* f088bf8: 8fb80074 */ lw $t8,0x74($sp)
/* f088bfc: 0fc44c0d */ jal invGetActivatedTextByWeaponNum
/* f088c00: 9304005c */ lbu $a0,0x5c($t8)
/* f088c04: 10400008 */ beqz $v0,.L0f088c28
/* f088c08: 00402025 */ or $a0,$v0,$zero
/* f088c0c: 24190001 */ addiu $t9,$zero,0x1
/* f088c10: afb90070 */ sw $t9,0x70($sp)
/* f088c14: 00002825 */ or $a1,$zero,$zero
/* f088c18: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088c1c: 24060009 */ addiu $a2,$zero,0x9
/* f088c20: 1000000a */ b .L0f088c4c
/* f088c24: 240c0001 */ addiu $t4,$zero,0x1
.L0f088c28:
/* f088c28: 8fa90070 */ lw $t1,0x70($sp)
/* f088c2c: 8fa50068 */ lw $a1,0x68($sp)
/* f088c30: 8faa0074 */ lw $t2,0x74($sp)
/* f088c34: 11200004 */ beqz $t1,.L0f088c48
/* f088c38: 38ab0002 */ xori $t3,$a1,0x2
/* f088c3c: 9144005c */ lbu $a0,0x5c($t2)
/* f088c40: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg
/* f088c44: 2d650001 */ sltiu $a1,$t3,0x1
.L0f088c48:
/* f088c48: 240c0001 */ addiu $t4,$zero,0x1
.L0f088c4c:
/* f088c4c: afac0098 */ sw $t4,0x98($sp)
.L0f088c50:
/* f088c50: 8fad0068 */ lw $t5,0x68($sp)
/* f088c54: 24010002 */ addiu $at,$zero,0x2
/* f088c58: 55a10010 */ bnel $t5,$at,.L0f088c9c
/* f088c5c: 8fb90074 */ lw $t9,0x74($sp)
/* f088c60: 0fc2866a */ jal bgunGetWeaponNum
/* f088c64: 00002025 */ or $a0,$zero,$zero
/* f088c68: 8fae0074 */ lw $t6,0x74($sp)
/* f088c6c: 91cf005c */ lbu $t7,0x5c($t6)
/* f088c70: 544f000a */ bnel $v0,$t7,.L0f088c9c
/* f088c74: 8fb90074 */ lw $t9,0x74($sp)
/* f088c78: 0fc2866a */ jal bgunGetWeaponNum
/* f088c7c: 24040001 */ addiu $a0,$zero,0x1
/* f088c80: 8fb80074 */ lw $t8,0x74($sp)
/* f088c84: 9305005c */ lbu $a1,0x5c($t8)
/* f088c88: 50450004 */ beql $v0,$a1,.L0f088c9c
/* f088c8c: 8fb90074 */ lw $t9,0x74($sp)
/* f088c90: 0fc28824 */ jal bgunEquipWeapon2
/* f088c94: 24040001 */ addiu $a0,$zero,0x1
/* f088c98: 8fb90074 */ lw $t9,0x74($sp)
.L0f088c9c:
/* f088c9c: 00002825 */ or $a1,$zero,$zero
/* f088ca0: 0fc2a685 */ jal bgunGetAmmoTypeForWeapon
/* f088ca4: 9324005c */ lbu $a0,0x5c($t9)
/* f088ca8: 1040001d */ beqz $v0,.L0f088d20
/* f088cac: afa2006c */ sw $v0,0x6c($sp)
/* f088cb0: 0fc22095 */ jal weaponGetPickupAmmoQty
/* f088cb4: 8fa40074 */ lw $a0,0x74($sp)
/* f088cb8: 18400019 */ blez $v0,.L0f088d20
/* f088cbc: afa20058 */ sw $v0,0x58($sp)
/* f088cc0: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088cc4: 8fa4006c */ lw $a0,0x6c($sp)
/* f088cc8: 8fa4006c */ lw $a0,0x6c($sp)
/* f088ccc: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088cd0: afa20054 */ sw $v0,0x54($sp)
/* f088cd4: 8fa4006c */ lw $a0,0x6c($sp)
/* f088cd8: 0fc2a63d */ jal bgunGetCapacityByAmmotype
/* f088cdc: afa2003c */ sw $v0,0x3c($sp)
/* f088ce0: 8fa6003c */ lw $a2,0x3c($sp)
/* f088ce4: 8fa50054 */ lw $a1,0x54($sp)
/* f088ce8: 8fa90058 */ lw $t1,0x58($sp)
/* f088cec: 00c2082a */ slt $at,$a2,$v0
/* f088cf0: 1020000b */ beqz $at,.L0f088d20
/* f088cf4: 00a92821 */ addu $a1,$a1,$t1
/* f088cf8: 0fc2a58a */ jal bgunSetAmmoQuantity
/* f088cfc: 8fa4006c */ lw $a0,0x6c($sp)
/* f088d00: 8faa0070 */ lw $t2,0x70($sp)
/* f088d04: 8fab00a4 */ lw $t3,0xa4($sp)
/* f088d08: 55400006 */ bnezl $t2,.L0f088d24
/* f088d0c: 8fac0074 */ lw $t4,0x74($sp)
/* f088d10: 11600003 */ beqz $t3,.L0f088d20
/* f088d14: 8fa4006c */ lw $a0,0x6c($sp)
/* f088d18: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg
/* f088d1c: 8fa50058 */ lw $a1,0x58($sp)
.L0f088d20:
/* f088d20: 8fac0074 */ lw $t4,0x74($sp)
.L0f088d24:
/* f088d24: 24010012 */ addiu $at,$zero,0x12
/* f088d28: 918d005c */ lbu $t5,0x5c($t4)
/* f088d2c: 55a1001b */ bnel $t5,$at,.L0f088d9c
/* f088d30: 8fb80074 */ lw $t8,0x74($sp)
/* f088d34: 0fc22095 */ jal weaponGetPickupAmmoQty
/* f088d38: 01802025 */ or $a0,$t4,$zero
/* f088d3c: afa20050 */ sw $v0,0x50($sp)
/* f088d40: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088d44: 2404000b */ addiu $a0,$zero,0xb
/* f088d48: 2404000b */ addiu $a0,$zero,0xb
/* f088d4c: 0fc2a63d */ jal bgunGetCapacityByAmmotype
/* f088d50: afa2003c */ sw $v0,0x3c($sp)
/* f088d54: 8fa6003c */ lw $a2,0x3c($sp)
/* f088d58: 00c2082a */ slt $at,$a2,$v0
/* f088d5c: 5020000f */ beqzl $at,.L0f088d9c
/* f088d60: 8fb80074 */ lw $t8,0x74($sp)
/* f088d64: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088d68: 2404000b */ addiu $a0,$zero,0xb
/* f088d6c: 2404000b */ addiu $a0,$zero,0xb
/* f088d70: 0fc2a58a */ jal bgunSetAmmoQuantity
/* f088d74: 24450005 */ addiu $a1,$v0,0x5
/* f088d78: 8fae0070 */ lw $t6,0x70($sp)
/* f088d7c: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088d80: 55c00006 */ bnezl $t6,.L0f088d9c
/* f088d84: 8fb80074 */ lw $t8,0x74($sp)
/* f088d88: 11e00003 */ beqz $t7,.L0f088d98
/* f088d8c: 2404000b */ addiu $a0,$zero,0xb
/* f088d90: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg
/* f088d94: 8fa50050 */ lw $a1,0x50($sp)
.L0f088d98:
/* f088d98: 8fb80074 */ lw $t8,0x74($sp)
.L0f088d9c:
/* f088d9c: 2401002e */ addiu $at,$zero,0x2e
/* f088da0: 3c09800a */ lui $t1,%hi(g_Vars+0x284)
/* f088da4: 9319005c */ lbu $t9,0x5c($t8)
/* f088da8: 17210007 */ bne $t9,$at,.L0f088dc8
/* f088dac: 00000000 */ nop
/* f088db0: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1)
/* f088db4: 8d2a0480 */ lw $t2,0x480($t1)
/* f088db8: 15400003 */ bnez $t2,.L0f088dc8
/* f088dbc: 00000000 */ nop
/* f088dc0: 0fc0458c */ jal currentPlayerInitEyespy
/* f088dc4: 00000000 */ nop
.L0f088dc8:
/* f088dc8: 10000076 */ b .L0f088fa4
/* f088dcc: 8fa20098 */ lw $v0,0x98($sp)
/* f088dd0: 0fc30884 */ jal playerSetShieldFrac
/* f088dd4: c4cc0060 */ lwc1 $f12,0x60($a2)
/* f088dd8: 3c0b800a */ lui $t3,%hi(g_Vars+0x4cc)
/* f088ddc: 8d6ba48c */ lw $t3,%lo(g_Vars+0x4cc)($t3)
/* f088de0: 3c048009 */ lui $a0,%hi(var80095200)
/* f088de4: 240501cd */ addiu $a1,$zero,0x1cd
/* f088de8: 1560000d */ bnez $t3,.L0f088e20
/* f088dec: 00003025 */ or $a2,$zero,$zero
/* f088df0: 3c01bf80 */ lui $at,0xbf80
/* f088df4: 44813000 */ mtc1 $at,$f6
/* f088df8: 240dffff */ addiu $t5,$zero,-1
/* f088dfc: 240cffff */ addiu $t4,$zero,-1
/* f088e00: 240effff */ addiu $t6,$zero,-1
/* f088e04: afae001c */ sw $t6,0x1c($sp)
/* f088e08: afac0018 */ sw $t4,0x18($sp)
/* f088e0c: afad0010 */ sw $t5,0x10($sp)
/* f088e10: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088e14: 2407ffff */ addiu $a3,$zero,-1
/* f088e18: 0c004241 */ jal sndStart
/* f088e1c: e7a60014 */ swc1 $f6,0x14($sp)
.L0f088e20:
/* f088e20: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088e24: 51e0003b */ beqzl $t7,.L0f088f14
/* f088e28: 240e0001 */ addiu $t6,$zero,0x1
/* f088e2c: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088e30: 8fa4009c */ lw $a0,0x9c($sp)
/* f088e34: 14400033 */ bnez $v0,.L0f088f04
/* f088e38: 00402025 */ or $a0,$v0,$zero
/* f088e3c: 3c18800a */ lui $t8,%hi(g_Vars+0x6c)
/* f088e40: 8f18a02c */ lw $t8,%lo(g_Vars+0x6c)($t8)
/* f088e44: 3c19800a */ lui $t9,%hi(g_Vars+0x68)
/* f088e48: 3c09800a */ lui $t1,%hi(g_Vars+0x64)
/* f088e4c: 13000003 */ beqz $t8,.L0f088e5c
/* f088e50: 3c0a800a */ lui $t2,%hi(g_Vars+0x70)
/* f088e54: 10000002 */ b .L0f088e60
/* f088e58: 24050001 */ addiu $a1,$zero,0x1
.L0f088e5c:
/* f088e5c: 00002825 */ or $a1,$zero,$zero
.L0f088e60:
/* f088e60: 8f39a028 */ lw $t9,%lo(g_Vars+0x68)($t9)
/* f088e64: 00001825 */ or $v1,$zero,$zero
/* f088e68: 00002025 */ or $a0,$zero,$zero
/* f088e6c: 13200003 */ beqz $t9,.L0f088e7c
/* f088e70: 00003025 */ or $a2,$zero,$zero
/* f088e74: 10000001 */ b .L0f088e7c
/* f088e78: 24030001 */ addiu $v1,$zero,0x1
.L0f088e7c:
/* f088e7c: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1)
/* f088e80: 11200003 */ beqz $t1,.L0f088e90
/* f088e84: 00000000 */ nop
/* f088e88: 10000001 */ b .L0f088e90
/* f088e8c: 24040001 */ addiu $a0,$zero,0x1
.L0f088e90:
/* f088e90: 8d4aa030 */ lw $t2,%lo(g_Vars+0x70)($t2)
/* f088e94: 11400003 */ beqz $t2,.L0f088ea4
/* f088e98: 00000000 */ nop
/* f088e9c: 10000001 */ b .L0f088ea4
/* f088ea0: 24060001 */ addiu $a2,$zero,0x1
.L0f088ea4:
/* f088ea4: 00c45821 */ addu $t3,$a2,$a0
/* f088ea8: 01636821 */ addu $t5,$t3,$v1
/* f088eac: 01a51021 */ addu $v0,$t5,$a1
/* f088eb0: 28410003 */ slti $at,$v0,0x3
/* f088eb4: 10200010 */ beqz $at,.L0f088ef8
/* f088eb8: 24010002 */ addiu $at,$zero,0x2
/* f088ebc: 1441000a */ bne $v0,$at,.L0f088ee8
/* f088ec0: 00000000 */ nop
/* f088ec4: 0fc54bcd */ jal optionsGetScreenSplit
/* f088ec8: 00000000 */ nop
/* f088ecc: 24010001 */ addiu $at,$zero,0x1
/* f088ed0: 10410009 */ beq $v0,$at,.L0f088ef8
/* f088ed4: 3c0c8009 */ lui $t4,%hi(g_Is4Mb)
/* f088ed8: 918c0af0 */ lbu $t4,%lo(g_Is4Mb)($t4)
/* f088edc: 24010001 */ addiu $at,$zero,0x1
/* f088ee0: 11810005 */ beq $t4,$at,.L0f088ef8
/* f088ee4: 00000000 */ nop
.L0f088ee8:
/* f088ee8: 0fc5b9f1 */ jal langGet
/* f088eec: 24045229 */ addiu $a0,$zero,0x5226
/* f088ef0: 10000004 */ b .L0f088f04
/* f088ef4: 00402025 */ or $a0,$v0,$zero
.L0f088ef8:
/* f088ef8: 0fc5b9f1 */ jal langGet
/* f088efc: 2404522a */ addiu $a0,$zero,0x5227
/* f088f00: 00402025 */ or $a0,$v0,$zero
.L0f088f04:
/* f088f04: 00002825 */ or $a1,$zero,$zero
/* f088f08: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088f0c: 24060001 */ addiu $a2,$zero,0x1
/* f088f10: 240e0001 */ addiu $t6,$zero,0x1
.L0f088f14:
/* f088f14: afae0098 */ sw $t6,0x98($sp)
/* f088f18: 10000022 */ b .L0f088fa4
/* f088f1c: 24020001 */ addiu $v0,$zero,0x1
.L0f088f20:
/* f088f20: 8d0f04cc */ lw $t7,0x4cc($t0)
/* f088f24: 3c048009 */ lui $a0,%hi(var80095200)
/* f088f28: 240500e5 */ addiu $a1,$zero,0xe5
/* f088f2c: 15e0000d */ bnez $t7,.L0f088f64
/* f088f30: 00003025 */ or $a2,$zero,$zero
/* f088f34: 3c01bf80 */ lui $at,0xbf80
/* f088f38: 44814000 */ mtc1 $at,$f8
/* f088f3c: 2418ffff */ addiu $t8,$zero,-1
/* f088f40: 2419ffff */ addiu $t9,$zero,-1
/* f088f44: 2409ffff */ addiu $t1,$zero,-1
/* f088f48: afa9001c */ sw $t1,0x1c($sp)
/* f088f4c: afb90018 */ sw $t9,0x18($sp)
/* f088f50: afb80010 */ sw $t8,0x10($sp)
/* f088f54: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088f58: 2407ffff */ addiu $a3,$zero,-1
/* f088f5c: 0c004241 */ jal sndStart
/* f088f60: e7a80014 */ swc1 $f8,0x14($sp)
.L0f088f64:
/* f088f64: 8faa00a4 */ lw $t2,0xa4($sp)
/* f088f68: 5140000c */ beqzl $t2,.L0f088f9c
/* f088f6c: 240b0004 */ addiu $t3,$zero,0x4
/* f088f70: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088f74: 8fa4009c */ lw $a0,0x9c($sp)
/* f088f78: 14400004 */ bnez $v0,.L0f088f8c
/* f088f7c: 00402025 */ or $a0,$v0,$zero
/* f088f80: 0fc5b9f1 */ jal langGet
/* f088f84: 2404522b */ addiu $a0,$zero,0x5228
/* f088f88: 00402025 */ or $a0,$v0,$zero
.L0f088f8c:
/* f088f8c: 00002825 */ or $a1,$zero,$zero
/* f088f90: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088f94: 24060009 */ addiu $a2,$zero,0x9
/* f088f98: 240b0004 */ addiu $t3,$zero,0x4
.L0f088f9c:
/* f088f9c: afab0098 */ sw $t3,0x98($sp)
/* f088fa0: 24020004 */ addiu $v0,$zero,0x4
.L0f088fa4:
/* f088fa4: 24010001 */ addiu $at,$zero,0x1
/* f088fa8: 1441000d */ bne $v0,$at,.L0f088fe0
/* f088fac: 8fad009c */ lw $t5,0x9c($sp)
/* f088fb0: 8dac0040 */ lw $t4,0x40($t5)
/* f088fb4: 318e0010 */ andi $t6,$t4,0x10
/* f088fb8: 15c00009 */ bnez $t6,.L0f088fe0
/* f088fbc: 00000000 */ nop
/* f088fc0: 91a60002 */ lbu $a2,0x2($t5)
/* f088fc4: 01a02025 */ or $a0,$t5,$zero
/* f088fc8: 00002825 */ or $a1,$zero,$zero
/* f088fcc: 30cf0004 */ andi $t7,$a2,0x4
/* f088fd0: 0fc1ab4b */ jal objFree
/* f088fd4: 01e03025 */ or $a2,$t7,$zero
/* f088fd8: 1000000a */ b .L0f089004
/* f088fdc: 24020001 */ addiu $v0,$zero,0x1
.L0f088fe0:
/* f088fe0: 10400007 */ beqz $v0,.L0f089000
/* f088fe4: 8fb80094 */ lw $t8,0x94($sp)
/* f088fe8: 17000003 */ bnez $t8,.L0f088ff8
/* f088fec: 00000000 */ nop
/* f088ff0: 0fc447f3 */ jal invGiveProp
/* f088ff4: 8fa400a0 */ lw $a0,0xa0($sp)
.L0f088ff8:
/* f088ff8: 10000002 */ b .L0f089004
/* f088ffc: 24020004 */ addiu $v0,$zero,0x4
.L0f089000:
/* f089000: 00001025 */ or $v0,$zero,$zero
.L0f089004:
/* f089004: 8fbf0024 */ lw $ra,0x24($sp)
/* f089008: 27bd00a0 */ addiu $sp,$sp,0xa0
/* f08900c: 03e00008 */ jr $ra
/* f089010: 00000000 */ nop
);
#elif VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel propPickupByPlayer
.late_rodata
glabel var7f1aadc0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadc4
.word propPickupByPlayer+0x74 # f0888b4
glabel var7f1aadc8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadcc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadd0
.word propPickupByPlayer+0xf4 # f088934
glabel var7f1aadd4
.word propPickupByPlayer+0x1f4 # f088a34
glabel var7f1aadd8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aaddc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade4
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadec
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf4
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadfc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae00
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae04
.word propPickupByPlayer+0x134 # f088974
glabel var7f1aae08
.word propPickupByPlayer+0x590 # f088dd0
glabel var7f1aae0c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae10
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae14
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae18
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae1c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae20
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae24
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae28
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae2c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae30
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae34
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae38
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae3c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae40
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae44
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae48
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae4c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae50
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae54
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae58
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae5c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae60
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae64
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae68
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae6c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae70
.word propPickupByPlayer+0x6e0 # f088f20
.text
/* f088840: 27bdff60 */ addiu $sp,$sp,-160
/* f088844: afbf0024 */ sw $ra,0x24($sp)
/* f088848: afa400a0 */ sw $a0,0xa0($sp)
/* f08884c: afa500a4 */ sw $a1,0xa4($sp)
/* f088850: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088854: 8c860004 */ lw $a2,0x4($a0)
/* f088858: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f08885c: 8d020284 */ lw $v0,0x284($t0)
/* f088860: afa00094 */ sw $zero,0x94($sp)
/* f088864: afa6009c */ sw $a2,0x9c($sp)
/* f088868: 8c4f00d8 */ lw $t7,0xd8($v0)
/* f08886c: 15e00005 */ bnez $t7,.L0f088884
/* f088870: 00000000 */ nop
/* f088874: 8d180034 */ lw $t8,0x34($t0)
/* f088878: 8fb9009c */ lw $t9,0x9c($sp)
/* f08887c: 57000004 */ bnezl $t8,.L0f088890
/* f088880: 93290003 */ lbu $t1,0x3($t9)
.L0f088884:
/* f088884: 100001df */ b .L0f089004
/* f088888: 00001025 */ or $v0,$zero,$zero
/* f08888c: 93290003 */ lbu $t1,0x3($t9)
.L0f088890:
/* f088890: 252afffd */ addiu $t2,$t1,-3
/* f088894: 2d41002d */ sltiu $at,$t2,0x2d
/* f088898: 102001a1 */ beqz $at,.L0f088f20
/* f08889c: 000a5080 */ sll $t2,$t2,0x2
/* f0888a0: 3c017f1b */ lui $at,%hi(var7f1aadc0)
/* f0888a4: 002a0821 */ addu $at,$at,$t2
/* f0888a8: 8c2aadc0 */ lw $t2,%lo(var7f1aadc0)($at)
/* f0888ac: 01400008 */ jr $t2
/* f0888b0: 00000000 */ nop
/* f0888b4: 8d0b04cc */ lw $t3,0x4cc($t0)
/* f0888b8: 3c048009 */ lui $a0,%hi(var80095200)
/* f0888bc: 240500e5 */ addiu $a1,$zero,0xe5
/* f0888c0: 1560000d */ bnez $t3,.L0f0888f8
/* f0888c4: 00003025 */ or $a2,$zero,$zero
/* f0888c8: 3c01bf80 */ lui $at,0xbf80
/* f0888cc: 44812000 */ mtc1 $at,$f4
/* f0888d0: 240cffff */ addiu $t4,$zero,-1
/* f0888d4: 240dffff */ addiu $t5,$zero,-1
/* f0888d8: 240effff */ addiu $t6,$zero,-1
/* f0888dc: afae001c */ sw $t6,0x1c($sp)
/* f0888e0: afad0018 */ sw $t5,0x18($sp)
/* f0888e4: afac0010 */ sw $t4,0x10($sp)
/* f0888e8: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f0888ec: 2407ffff */ addiu $a3,$zero,-1
/* f0888f0: 0c004241 */ jal sndStart
/* f0888f4: e7a40014 */ swc1 $f4,0x14($sp)
.L0f0888f8:
/* f0888f8: 8faf00a4 */ lw $t7,0xa4($sp)
/* f0888fc: 11e0000b */ beqz $t7,.L0f08892c
/* f088900: 00000000 */ nop
/* f088904: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088908: 8fa4009c */ lw $a0,0x9c($sp)
/* f08890c: 14400004 */ bnez $v0,.L0f088920
/* f088910: 00402025 */ or $a0,$v0,$zero
/* f088914: 0fc5b9f1 */ jal langGet
/* f088918: 24045228 */ addiu $a0,$zero,0x5228
/* f08891c: 00402025 */ or $a0,$v0,$zero
.L0f088920:
/* f088920: 00002825 */ or $a1,$zero,$zero
/* f088924: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088928: 24060009 */ addiu $a2,$zero,0x9
.L0f08892c:
/* f08892c: 1000019d */ b .L0f088fa4
/* f088930: 24020004 */ addiu $v0,$zero,0x4
/* f088934: 00c02025 */ or $a0,$a2,$zero
/* f088938: 0fc22067 */ jal ammocrateGetPickupAmmoQty
/* f08893c: afa6008c */ sw $a2,0x8c($sp)
/* f088940: 3c06800a */ lui $a2,%hi(g_Vars+0x4cc)
/* f088944: 8cc6a48c */ lw $a2,%lo(g_Vars+0x4cc)($a2)
/* f088948: 8fb9008c */ lw $t9,0x8c($sp)
/* f08894c: 00402825 */ or $a1,$v0,$zero
/* f088950: 2cd80001 */ sltiu $t8,$a2,0x1
/* f088954: 03003025 */ or $a2,$t8,$zero
/* f088958: 8fa700a4 */ lw $a3,0xa4($sp)
/* f08895c: 0fc2200a */ jal ammoHandlePickup
/* f088960: 8f24005c */ lw $a0,0x5c($t9)
/* f088964: 24090001 */ addiu $t1,$zero,0x1
/* f088968: afa90098 */ sw $t1,0x98($sp)
/* f08896c: 1000018d */ b .L0f088fa4
/* f088970: 24020001 */ addiu $v0,$zero,0x1
/* f088974: 00001025 */ or $v0,$zero,$zero
/* f088978: 00c01825 */ or $v1,$a2,$zero
.L0f08897c:
/* f08897c: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088980: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f088984: 8d0a0318 */ lw $t2,0x318($t0)
/* f088988: 9465005e */ lhu $a1,0x5e($v1)
/* f08898c: 24440001 */ addiu $a0,$v0,0x1
/* f088990: 15400009 */ bnez $t2,.L0f0889b8
/* f088994: 00003025 */ or $a2,$zero,$zero
/* f088998: 44853000 */ mtc1 $a1,$f6
/* f08899c: 3c018007 */ lui $at,%hi(g_AmmoMultiplier)
/* f0889a0: c42a995c */ lwc1 $f10,%lo(g_AmmoMultiplier)($at)
/* f0889a4: 46803220 */ cvt.s.w $f8,$f6
/* f0889a8: 460a4402 */ mul.s $f16,$f8,$f10
/* f0889ac: 4600848d */ trunc.w.s $f18,$f16
/* f0889b0: 44059000 */ mfc1 $a1,$f18
/* f0889b4: 00000000 */ nop
.L0f0889b8:
/* f0889b8: 8fa700a4 */ lw $a3,0xa4($sp)
/* f0889bc: afa30028 */ sw $v1,0x28($sp)
/* f0889c0: 0fc2200a */ jal ammoHandlePickup
/* f0889c4: afa4002c */ sw $a0,0x2c($sp)
/* f0889c8: 8fa2002c */ lw $v0,0x2c($sp)
/* f0889cc: 8fa30028 */ lw $v1,0x28($sp)
/* f0889d0: 24010013 */ addiu $at,$zero,0x13
/* f0889d4: 1441ffe9 */ bne $v0,$at,.L0f08897c
/* f0889d8: 24630004 */ addiu $v1,$v1,0x4
/* f0889dc: 3c0c800a */ lui $t4,%hi(g_Vars+0x4cc)
/* f0889e0: 8d8ca48c */ lw $t4,%lo(g_Vars+0x4cc)($t4)
/* f0889e4: 3c048009 */ lui $a0,%hi(var80095200)
/* f0889e8: 240500ea */ addiu $a1,$zero,0xea
/* f0889ec: 1580000d */ bnez $t4,.L0f088a24
/* f0889f0: 00003025 */ or $a2,$zero,$zero
/* f0889f4: 3c01bf80 */ lui $at,0xbf80
/* f0889f8: 44812000 */ mtc1 $at,$f4
/* f0889fc: 240dffff */ addiu $t5,$zero,-1
/* f088a00: 240effff */ addiu $t6,$zero,-1
/* f088a04: 240fffff */ addiu $t7,$zero,-1
/* f088a08: afaf001c */ sw $t7,0x1c($sp)
/* f088a0c: afae0018 */ sw $t6,0x18($sp)
/* f088a10: afad0010 */ sw $t5,0x10($sp)
/* f088a14: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088a18: 2407ffff */ addiu $a3,$zero,-1
/* f088a1c: 0c004241 */ jal sndStart
/* f088a20: e7a40014 */ swc1 $f4,0x14($sp)
.L0f088a24:
/* f088a24: 24180001 */ addiu $t8,$zero,0x1
/* f088a28: afb80098 */ sw $t8,0x98($sp)
/* f088a2c: 1000015d */ b .L0f088fa4
/* f088a30: 24020001 */ addiu $v0,$zero,0x1
/* f088a34: 8d190318 */ lw $t9,0x318($t0)
/* f088a38: afa60074 */ sw $a2,0x74($sp)
/* f088a3c: afa00070 */ sw $zero,0x70($sp)
/* f088a40: 13200022 */ beqz $t9,.L0f088acc
/* f088a44: afa00068 */ sw $zero,0x68($sp)
/* f088a48: 90c5005c */ lbu $a1,0x5c($a2)
/* f088a4c: 24010057 */ addiu $at,$zero,0x57
/* f088a50: 54a1000f */ bnel $a1,$at,.L0f088a90
/* f088a54: 24010036 */ addiu $at,$zero,0x36
/* f088a58: 8c4a00bc */ lw $t2,0xbc($v0)
/* f088a5c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088a60: 0fc61a26 */ jal scenarioPickUpBriefcase
/* f088a64: 8d440004 */ lw $a0,0x4($t2)
/* f088a68: 10400006 */ beqz $v0,.L0f088a84
/* f088a6c: 00401825 */ or $v1,$v0,$zero
/* f088a70: 8fab0074 */ lw $t3,0x74($sp)
/* f088a74: 9164005c */ lbu $a0,0x5c($t3)
/* f088a78: 0fc21f44 */ jal weaponPlayPickupSound
/* f088a7c: afa20064 */ sw $v0,0x64($sp)
/* f088a80: 8fa30064 */ lw $v1,0x64($sp)
.L0f088a84:
/* f088a84: 1000015f */ b .L0f089004
/* f088a88: 00601025 */ or $v0,$v1,$zero
/* f088a8c: 24010036 */ addiu $at,$zero,0x36
.L0f088a90:
/* f088a90: 54a1000f */ bnel $a1,$at,.L0f088ad0
/* f088a94: 8d0f04cc */ lw $t7,0x4cc($t0)
/* f088a98: 8c4c00bc */ lw $t4,0xbc($v0)
/* f088a9c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088aa0: 0fc61d04 */ jal scenarioPickUpUplink
/* f088aa4: 8d840004 */ lw $a0,0x4($t4)
/* f088aa8: 10400006 */ beqz $v0,.L0f088ac4
/* f088aac: 00401825 */ or $v1,$v0,$zero
/* f088ab0: 8fad0074 */ lw $t5,0x74($sp)
/* f088ab4: 91a4005c */ lbu $a0,0x5c($t5)
/* f088ab8: 0fc21f44 */ jal weaponPlayPickupSound
/* f088abc: afa20064 */ sw $v0,0x64($sp)
/* f088ac0: 8fa30064 */ lw $v1,0x64($sp)
.L0f088ac4:
/* f088ac4: 1000014f */ b .L0f089004
/* f088ac8: 00601025 */ or $v0,$v1,$zero
.L0f088acc:
/* f088acc: 8d0f04cc */ lw $t7,0x4cc($t0)
.L0f088ad0:
/* f088ad0: 8fae0074 */ lw $t6,0x74($sp)
/* f088ad4: 15e00007 */ bnez $t7,.L0f088af4
/* f088ad8: 91c5005c */ lbu $a1,0x5c($t6)
/* f088adc: 0fc21f44 */ jal weaponPlayPickupSound
/* f088ae0: 00a02025 */ or $a0,$a1,$zero
/* f088ae4: 8fb80074 */ lw $t8,0x74($sp)
/* f088ae8: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088aec: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f088af0: 9305005c */ lbu $a1,0x5c($t8)
.L0f088af4:
/* f088af4: 8fb9009c */ lw $t9,0x9c($sp)
/* f088af8: 24010056 */ addiu $at,$zero,0x56
/* f088afc: 8f290040 */ lw $t1,0x40($t9)
/* f088b00: 312a0400 */ andi $t2,$t1,0x400
/* f088b04: 11400020 */ beqz $t2,.L0f088b88
/* f088b08: 00000000 */ nop
/* f088b0c: 28a1002d */ slti $at,$a1,0x2d
/* f088b10: 50200007 */ beqzl $at,.L0f088b30
/* f088b14: 8fac00a4 */ lw $t4,0xa4($sp)
/* f088b18: 0fc4483c */ jal invGiveWeaponsByProp
/* f088b1c: 8fa400a0 */ lw $a0,0xa0($sp)
/* f088b20: 240b0001 */ addiu $t3,$zero,0x1
/* f088b24: afa20068 */ sw $v0,0x68($sp)
/* f088b28: afab0094 */ sw $t3,0x94($sp)
/* f088b2c: 8fac00a4 */ lw $t4,0xa4($sp)
.L0f088b30:
/* f088b30: 51800013 */ beqzl $t4,.L0f088b80
/* f088b34: 24180004 */ addiu $t8,$zero,0x4
/* f088b38: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088b3c: 8fa4009c */ lw $a0,0x9c($sp)
/* f088b40: 10400006 */ beqz $v0,.L0f088b5c
/* f088b44: 00402025 */ or $a0,$v0,$zero
/* f088b48: 00002825 */ or $a1,$zero,$zero
/* f088b4c: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088b50: 24060009 */ addiu $a2,$zero,0x9
/* f088b54: 10000008 */ b .L0f088b78
/* f088b58: 240f0001 */ addiu $t7,$zero,0x1
.L0f088b5c:
/* f088b5c: 8fa50068 */ lw $a1,0x68($sp)
/* f088b60: 8fad0074 */ lw $t5,0x74($sp)
/* f088b64: 38ae0002 */ xori $t6,$a1,0x2
/* f088b68: 2dc50001 */ sltiu $a1,$t6,0x1
/* f088b6c: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg
/* f088b70: 91a4005c */ lbu $a0,0x5c($t5)
/* f088b74: 240f0001 */ addiu $t7,$zero,0x1
.L0f088b78:
/* f088b78: afaf0070 */ sw $t7,0x70($sp)
/* f088b7c: 24180004 */ addiu $t8,$zero,0x4
.L0f088b80:
/* f088b80: 10000033 */ b .L0f088c50
/* f088b84: afb80098 */ sw $t8,0x98($sp)
.L0f088b88:
/* f088b88: 14a10011 */ bne $a1,$at,.L0f088bd0
/* f088b8c: 24190001 */ addiu $t9,$zero,0x1
/* f088b90: 8d0604cc */ lw $a2,0x4cc($t0)
/* f088b94: 24090001 */ addiu $t1,$zero,0x1
/* f088b98: afb90068 */ sw $t9,0x68($sp)
/* f088b9c: 2cca0001 */ sltiu $t2,$a2,0x1
/* f088ba0: afa90094 */ sw $t1,0x94($sp)
/* f088ba4: 01403025 */ or $a2,$t2,$zero
/* f088ba8: 24040003 */ addiu $a0,$zero,0x3
/* f088bac: 24050001 */ addiu $a1,$zero,0x1
/* f088bb0: 0fc2200a */ jal ammoHandlePickup
/* f088bb4: 24070001 */ addiu $a3,$zero,0x1
/* f088bb8: 240b0001 */ addiu $t3,$zero,0x1
/* f088bbc: 240c0001 */ addiu $t4,$zero,0x1
/* f088bc0: afab0098 */ sw $t3,0x98($sp)
/* f088bc4: afa000a4 */ sw $zero,0xa4($sp)
/* f088bc8: 10000021 */ b .L0f088c50
/* f088bcc: afac0070 */ sw $t4,0x70($sp)
.L0f088bd0:
/* f088bd0: 0fc4483c */ jal invGiveWeaponsByProp
/* f088bd4: 8fa400a0 */ lw $a0,0xa0($sp)
/* f088bd8: 10400003 */ beqz $v0,.L0f088be8
/* f088bdc: afa20068 */ sw $v0,0x68($sp)
/* f088be0: 240d0001 */ addiu $t5,$zero,0x1
/* f088be4: afad0070 */ sw $t5,0x70($sp)
.L0f088be8:
/* f088be8: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088bec: 240e0001 */ addiu $t6,$zero,0x1
/* f088bf0: afae0094 */ sw $t6,0x94($sp)
/* f088bf4: 11e00014 */ beqz $t7,.L0f088c48
/* f088bf8: 8fb80074 */ lw $t8,0x74($sp)
/* f088bfc: 0fc44c0d */ jal invGetActivatedTextByWeaponNum
/* f088c00: 9304005c */ lbu $a0,0x5c($t8)
/* f088c04: 10400008 */ beqz $v0,.L0f088c28
/* f088c08: 00402025 */ or $a0,$v0,$zero
/* f088c0c: 24190001 */ addiu $t9,$zero,0x1
/* f088c10: afb90070 */ sw $t9,0x70($sp)
/* f088c14: 00002825 */ or $a1,$zero,$zero
/* f088c18: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088c1c: 24060009 */ addiu $a2,$zero,0x9
/* f088c20: 1000000a */ b .L0f088c4c
/* f088c24: 240c0001 */ addiu $t4,$zero,0x1
.L0f088c28:
/* f088c28: 8fa90070 */ lw $t1,0x70($sp)
/* f088c2c: 8fa50068 */ lw $a1,0x68($sp)
/* f088c30: 8faa0074 */ lw $t2,0x74($sp)
/* f088c34: 11200004 */ beqz $t1,.L0f088c48
/* f088c38: 38ab0002 */ xori $t3,$a1,0x2
/* f088c3c: 9144005c */ lbu $a0,0x5c($t2)
/* f088c40: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg
/* f088c44: 2d650001 */ sltiu $a1,$t3,0x1
.L0f088c48:
/* f088c48: 240c0001 */ addiu $t4,$zero,0x1
.L0f088c4c:
/* f088c4c: afac0098 */ sw $t4,0x98($sp)
.L0f088c50:
/* f088c50: 8fad0068 */ lw $t5,0x68($sp)
/* f088c54: 24010002 */ addiu $at,$zero,0x2
/* f088c58: 55a10010 */ bnel $t5,$at,.L0f088c9c
/* f088c5c: 8fb90074 */ lw $t9,0x74($sp)
/* f088c60: 0fc2866a */ jal bgunGetWeaponNum
/* f088c64: 00002025 */ or $a0,$zero,$zero
/* f088c68: 8fae0074 */ lw $t6,0x74($sp)
/* f088c6c: 91cf005c */ lbu $t7,0x5c($t6)
/* f088c70: 544f000a */ bnel $v0,$t7,.L0f088c9c
/* f088c74: 8fb90074 */ lw $t9,0x74($sp)
/* f088c78: 0fc2866a */ jal bgunGetWeaponNum
/* f088c7c: 24040001 */ addiu $a0,$zero,0x1
/* f088c80: 8fb80074 */ lw $t8,0x74($sp)
/* f088c84: 9305005c */ lbu $a1,0x5c($t8)
/* f088c88: 50450004 */ beql $v0,$a1,.L0f088c9c
/* f088c8c: 8fb90074 */ lw $t9,0x74($sp)
/* f088c90: 0fc28824 */ jal bgunEquipWeapon2
/* f088c94: 24040001 */ addiu $a0,$zero,0x1
/* f088c98: 8fb90074 */ lw $t9,0x74($sp)
.L0f088c9c:
/* f088c9c: 00002825 */ or $a1,$zero,$zero
/* f088ca0: 0fc2a685 */ jal bgunGetAmmoTypeForWeapon
/* f088ca4: 9324005c */ lbu $a0,0x5c($t9)
/* f088ca8: 1040001d */ beqz $v0,.L0f088d20
/* f088cac: afa2006c */ sw $v0,0x6c($sp)
/* f088cb0: 0fc22095 */ jal weaponGetPickupAmmoQty
/* f088cb4: 8fa40074 */ lw $a0,0x74($sp)
/* f088cb8: 18400019 */ blez $v0,.L0f088d20
/* f088cbc: afa20058 */ sw $v0,0x58($sp)
/* f088cc0: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088cc4: 8fa4006c */ lw $a0,0x6c($sp)
/* f088cc8: 8fa4006c */ lw $a0,0x6c($sp)
/* f088ccc: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088cd0: afa20054 */ sw $v0,0x54($sp)
/* f088cd4: 8fa4006c */ lw $a0,0x6c($sp)
/* f088cd8: 0fc2a63d */ jal bgunGetCapacityByAmmotype
/* f088cdc: afa2003c */ sw $v0,0x3c($sp)
/* f088ce0: 8fa6003c */ lw $a2,0x3c($sp)
/* f088ce4: 8fa50054 */ lw $a1,0x54($sp)
/* f088ce8: 8fa90058 */ lw $t1,0x58($sp)
/* f088cec: 00c2082a */ slt $at,$a2,$v0
/* f088cf0: 1020000b */ beqz $at,.L0f088d20
/* f088cf4: 00a92821 */ addu $a1,$a1,$t1
/* f088cf8: 0fc2a58a */ jal bgunSetAmmoQuantity
/* f088cfc: 8fa4006c */ lw $a0,0x6c($sp)
/* f088d00: 8faa0070 */ lw $t2,0x70($sp)
/* f088d04: 8fab00a4 */ lw $t3,0xa4($sp)
/* f088d08: 55400006 */ bnezl $t2,.L0f088d24
/* f088d0c: 8fac0074 */ lw $t4,0x74($sp)
/* f088d10: 11600003 */ beqz $t3,.L0f088d20
/* f088d14: 8fa4006c */ lw $a0,0x6c($sp)
/* f088d18: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg
/* f088d1c: 8fa50058 */ lw $a1,0x58($sp)
.L0f088d20:
/* f088d20: 8fac0074 */ lw $t4,0x74($sp)
.L0f088d24:
/* f088d24: 24010012 */ addiu $at,$zero,0x12
/* f088d28: 918d005c */ lbu $t5,0x5c($t4)
/* f088d2c: 55a1001b */ bnel $t5,$at,.L0f088d9c
/* f088d30: 8fb80074 */ lw $t8,0x74($sp)
/* f088d34: 0fc22095 */ jal weaponGetPickupAmmoQty
/* f088d38: 01802025 */ or $a0,$t4,$zero
/* f088d3c: afa20050 */ sw $v0,0x50($sp)
/* f088d40: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088d44: 2404000b */ addiu $a0,$zero,0xb
/* f088d48: 2404000b */ addiu $a0,$zero,0xb
/* f088d4c: 0fc2a63d */ jal bgunGetCapacityByAmmotype
/* f088d50: afa2003c */ sw $v0,0x3c($sp)
/* f088d54: 8fa6003c */ lw $a2,0x3c($sp)
/* f088d58: 00c2082a */ slt $at,$a2,$v0
/* f088d5c: 5020000f */ beqzl $at,.L0f088d9c
/* f088d60: 8fb80074 */ lw $t8,0x74($sp)
/* f088d64: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088d68: 2404000b */ addiu $a0,$zero,0xb
/* f088d6c: 2404000b */ addiu $a0,$zero,0xb
/* f088d70: 0fc2a58a */ jal bgunSetAmmoQuantity
/* f088d74: 24450005 */ addiu $a1,$v0,0x5
/* f088d78: 8fae0070 */ lw $t6,0x70($sp)
/* f088d7c: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088d80: 55c00006 */ bnezl $t6,.L0f088d9c
/* f088d84: 8fb80074 */ lw $t8,0x74($sp)
/* f088d88: 11e00003 */ beqz $t7,.L0f088d98
/* f088d8c: 2404000b */ addiu $a0,$zero,0xb
/* f088d90: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg
/* f088d94: 8fa50050 */ lw $a1,0x50($sp)
.L0f088d98:
/* f088d98: 8fb80074 */ lw $t8,0x74($sp)
.L0f088d9c:
/* f088d9c: 2401002e */ addiu $at,$zero,0x2e
/* f088da0: 3c09800a */ lui $t1,%hi(g_Vars+0x284)
/* f088da4: 9319005c */ lbu $t9,0x5c($t8)
/* f088da8: 17210007 */ bne $t9,$at,.L0f088dc8
/* f088dac: 00000000 */ nop
/* f088db0: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1)
/* f088db4: 8d2a0480 */ lw $t2,0x480($t1)
/* f088db8: 15400003 */ bnez $t2,.L0f088dc8
/* f088dbc: 00000000 */ nop
/* f088dc0: 0fc0458c */ jal currentPlayerInitEyespy
/* f088dc4: 00000000 */ nop
.L0f088dc8:
/* f088dc8: 10000076 */ b .L0f088fa4
/* f088dcc: 8fa20098 */ lw $v0,0x98($sp)
/* f088dd0: 0fc30884 */ jal playerSetShieldFrac
/* f088dd4: c4cc0060 */ lwc1 $f12,0x60($a2)
/* f088dd8: 3c0b800a */ lui $t3,%hi(g_Vars+0x4cc)
/* f088ddc: 8d6ba48c */ lw $t3,%lo(g_Vars+0x4cc)($t3)
/* f088de0: 3c048009 */ lui $a0,%hi(var80095200)
/* f088de4: 240501cd */ addiu $a1,$zero,0x1cd
/* f088de8: 1560000d */ bnez $t3,.L0f088e20
/* f088dec: 00003025 */ or $a2,$zero,$zero
/* f088df0: 3c01bf80 */ lui $at,0xbf80
/* f088df4: 44813000 */ mtc1 $at,$f6
/* f088df8: 240dffff */ addiu $t5,$zero,-1
/* f088dfc: 240cffff */ addiu $t4,$zero,-1
/* f088e00: 240effff */ addiu $t6,$zero,-1
/* f088e04: afae001c */ sw $t6,0x1c($sp)
/* f088e08: afac0018 */ sw $t4,0x18($sp)
/* f088e0c: afad0010 */ sw $t5,0x10($sp)
/* f088e10: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088e14: 2407ffff */ addiu $a3,$zero,-1
/* f088e18: 0c004241 */ jal sndStart
/* f088e1c: e7a60014 */ swc1 $f6,0x14($sp)
.L0f088e20:
/* f088e20: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088e24: 51e0003b */ beqzl $t7,.L0f088f14
/* f088e28: 240e0001 */ addiu $t6,$zero,0x1
/* f088e2c: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088e30: 8fa4009c */ lw $a0,0x9c($sp)
/* f088e34: 14400033 */ bnez $v0,.L0f088f04
/* f088e38: 00402025 */ or $a0,$v0,$zero
/* f088e3c: 3c18800a */ lui $t8,%hi(g_Vars+0x6c)
/* f088e40: 8f18a02c */ lw $t8,%lo(g_Vars+0x6c)($t8)
/* f088e44: 3c19800a */ lui $t9,%hi(g_Vars+0x68)
/* f088e48: 3c09800a */ lui $t1,%hi(g_Vars+0x64)
/* f088e4c: 13000003 */ beqz $t8,.L0f088e5c
/* f088e50: 3c0a800a */ lui $t2,%hi(g_Vars+0x70)
/* f088e54: 10000002 */ b .L0f088e60
/* f088e58: 24050001 */ addiu $a1,$zero,0x1
.L0f088e5c:
/* f088e5c: 00002825 */ or $a1,$zero,$zero
.L0f088e60:
/* f088e60: 8f39a028 */ lw $t9,%lo(g_Vars+0x68)($t9)
/* f088e64: 00001825 */ or $v1,$zero,$zero
/* f088e68: 00002025 */ or $a0,$zero,$zero
/* f088e6c: 13200003 */ beqz $t9,.L0f088e7c
/* f088e70: 00003025 */ or $a2,$zero,$zero
/* f088e74: 10000001 */ b .L0f088e7c
/* f088e78: 24030001 */ addiu $v1,$zero,0x1
.L0f088e7c:
/* f088e7c: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1)
/* f088e80: 11200003 */ beqz $t1,.L0f088e90
/* f088e84: 00000000 */ nop
/* f088e88: 10000001 */ b .L0f088e90
/* f088e8c: 24040001 */ addiu $a0,$zero,0x1
.L0f088e90:
/* f088e90: 8d4aa030 */ lw $t2,%lo(g_Vars+0x70)($t2)
/* f088e94: 11400003 */ beqz $t2,.L0f088ea4
/* f088e98: 00000000 */ nop
/* f088e9c: 10000001 */ b .L0f088ea4
/* f088ea0: 24060001 */ addiu $a2,$zero,0x1
.L0f088ea4:
/* f088ea4: 00c45821 */ addu $t3,$a2,$a0
/* f088ea8: 01636821 */ addu $t5,$t3,$v1
/* f088eac: 01a51021 */ addu $v0,$t5,$a1
/* f088eb0: 28410003 */ slti $at,$v0,0x3
/* f088eb4: 10200010 */ beqz $at,.L0f088ef8
/* f088eb8: 24010002 */ addiu $at,$zero,0x2
/* f088ebc: 1441000a */ bne $v0,$at,.L0f088ee8
/* f088ec0: 00000000 */ nop
/* f088ec4: 0fc54bcd */ jal optionsGetScreenSplit
/* f088ec8: 00000000 */ nop
/* f088ecc: 24010001 */ addiu $at,$zero,0x1
/* f088ed0: 10410009 */ beq $v0,$at,.L0f088ef8
/* f088ed4: 3c0c8009 */ lui $t4,%hi(g_Is4Mb)
/* f088ed8: 918c0af0 */ lbu $t4,%lo(g_Is4Mb)($t4)
/* f088edc: 24010001 */ addiu $at,$zero,0x1
/* f088ee0: 11810005 */ beq $t4,$at,.L0f088ef8
/* f088ee4: 00000000 */ nop
.L0f088ee8:
/* f088ee8: 0fc5b9f1 */ jal langGet
/* f088eec: 24045229 */ addiu $a0,$zero,0x5229
/* f088ef0: 10000004 */ b .L0f088f04
/* f088ef4: 00402025 */ or $a0,$v0,$zero
.L0f088ef8:
/* f088ef8: 0fc5b9f1 */ jal langGet
/* f088efc: 2404522a */ addiu $a0,$zero,0x522a
/* f088f00: 00402025 */ or $a0,$v0,$zero
.L0f088f04:
/* f088f04: 00002825 */ or $a1,$zero,$zero
/* f088f08: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088f0c: 24060001 */ addiu $a2,$zero,0x1
/* f088f10: 240e0001 */ addiu $t6,$zero,0x1
.L0f088f14:
/* f088f14: afae0098 */ sw $t6,0x98($sp)
/* f088f18: 10000022 */ b .L0f088fa4
/* f088f1c: 24020001 */ addiu $v0,$zero,0x1
.L0f088f20:
/* f088f20: 8d0f04cc */ lw $t7,0x4cc($t0)
/* f088f24: 3c048009 */ lui $a0,%hi(var80095200)
/* f088f28: 240500e5 */ addiu $a1,$zero,0xe5
/* f088f2c: 15e0000d */ bnez $t7,.L0f088f64
/* f088f30: 00003025 */ or $a2,$zero,$zero
/* f088f34: 3c01bf80 */ lui $at,0xbf80
/* f088f38: 44814000 */ mtc1 $at,$f8
/* f088f3c: 2418ffff */ addiu $t8,$zero,-1
/* f088f40: 2419ffff */ addiu $t9,$zero,-1
/* f088f44: 2409ffff */ addiu $t1,$zero,-1
/* f088f48: afa9001c */ sw $t1,0x1c($sp)
/* f088f4c: afb90018 */ sw $t9,0x18($sp)
/* f088f50: afb80010 */ sw $t8,0x10($sp)
/* f088f54: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088f58: 2407ffff */ addiu $a3,$zero,-1
/* f088f5c: 0c004241 */ jal sndStart
/* f088f60: e7a80014 */ swc1 $f8,0x14($sp)
.L0f088f64:
/* f088f64: 8faa00a4 */ lw $t2,0xa4($sp)
/* f088f68: 5140000c */ beqzl $t2,.L0f088f9c
/* f088f6c: 240b0004 */ addiu $t3,$zero,0x4
/* f088f70: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088f74: 8fa4009c */ lw $a0,0x9c($sp)
/* f088f78: 14400004 */ bnez $v0,.L0f088f8c
/* f088f7c: 00402025 */ or $a0,$v0,$zero
/* f088f80: 0fc5b9f1 */ jal langGet
/* f088f84: 2404522b */ addiu $a0,$zero,0x522b
/* f088f88: 00402025 */ or $a0,$v0,$zero
.L0f088f8c:
/* f088f8c: 00002825 */ or $a1,$zero,$zero
/* f088f90: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088f94: 24060009 */ addiu $a2,$zero,0x9
/* f088f98: 240b0004 */ addiu $t3,$zero,0x4
.L0f088f9c:
/* f088f9c: afab0098 */ sw $t3,0x98($sp)
/* f088fa0: 24020004 */ addiu $v0,$zero,0x4
.L0f088fa4:
/* f088fa4: 24010001 */ addiu $at,$zero,0x1
/* f088fa8: 1441000d */ bne $v0,$at,.L0f088fe0
/* f088fac: 8fad009c */ lw $t5,0x9c($sp)
/* f088fb0: 8dac0040 */ lw $t4,0x40($t5)
/* f088fb4: 318e0010 */ andi $t6,$t4,0x10
/* f088fb8: 15c00009 */ bnez $t6,.L0f088fe0
/* f088fbc: 00000000 */ nop
/* f088fc0: 91a60002 */ lbu $a2,0x2($t5)
/* f088fc4: 01a02025 */ or $a0,$t5,$zero
/* f088fc8: 00002825 */ or $a1,$zero,$zero
/* f088fcc: 30cf0004 */ andi $t7,$a2,0x4
/* f088fd0: 0fc1ab4b */ jal objFree
/* f088fd4: 01e03025 */ or $a2,$t7,$zero
/* f088fd8: 1000000a */ b .L0f089004
/* f088fdc: 24020001 */ addiu $v0,$zero,0x1
.L0f088fe0:
/* f088fe0: 10400007 */ beqz $v0,.L0f089000
/* f088fe4: 8fb80094 */ lw $t8,0x94($sp)
/* f088fe8: 17000003 */ bnez $t8,.L0f088ff8
/* f088fec: 00000000 */ nop
/* f088ff0: 0fc447f3 */ jal invGiveProp
/* f088ff4: 8fa400a0 */ lw $a0,0xa0($sp)
.L0f088ff8:
/* f088ff8: 10000002 */ b .L0f089004
/* f088ffc: 24020004 */ addiu $v0,$zero,0x4
.L0f089000:
/* f089000: 00001025 */ or $v0,$zero,$zero
.L0f089004:
/* f089004: 8fbf0024 */ lw $ra,0x24($sp)
/* f089008: 27bd00a0 */ addiu $sp,$sp,0xa0
/* f08900c: 03e00008 */ jr $ra
/* f089010: 00000000 */ nop
);
#else
GLOBAL_ASM(
glabel propPickupByPlayer
.late_rodata
glabel var7f1aadc0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadc4
.word propPickupByPlayer+0x74 # f0888b4
glabel var7f1aadc8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadcc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadd0
.word propPickupByPlayer+0xf4 # f088934
glabel var7f1aadd4
.word propPickupByPlayer+0x1f4 # f088a34
glabel var7f1aadd8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aaddc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade4
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aade8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadec
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf0
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf4
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadf8
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aadfc
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae00
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae04
.word propPickupByPlayer+0x134 # f088974
glabel var7f1aae08
.word propPickupByPlayer+0x590 # f088dd0
glabel var7f1aae0c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae10
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae14
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae18
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae1c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae20
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae24
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae28
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae2c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae30
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae34
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae38
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae3c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae40
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae44
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae48
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae4c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae50
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae54
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae58
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae5c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae60
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae64
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae68
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae6c
.word propPickupByPlayer+0x6e0 # f088f20
glabel var7f1aae70
.word propPickupByPlayer+0x6e0 # f088f20
.text
/* f088840: 27bdff60 */ addiu $sp,$sp,-160
/* f088844: afbf0024 */ sw $ra,0x24($sp)
/* f088848: afa400a0 */ sw $a0,0xa0($sp)
/* f08884c: afa500a4 */ sw $a1,0xa4($sp)
/* f088850: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088854: 8c860004 */ lw $a2,0x4($a0)
/* f088858: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f08885c: 8d020284 */ lw $v0,0x284($t0)
/* f088860: afa00094 */ sw $zero,0x94($sp)
/* f088864: afa6009c */ sw $a2,0x9c($sp)
/* f088868: 8c4f00d8 */ lw $t7,0xd8($v0)
/* f08886c: 15e00005 */ bnez $t7,.L0f088884
/* f088870: 00000000 */ nop
/* f088874: 8d180034 */ lw $t8,0x34($t0)
/* f088878: 8fb9009c */ lw $t9,0x9c($sp)
/* f08887c: 57000004 */ bnezl $t8,.L0f088890
/* f088880: 93290003 */ lbu $t1,0x3($t9)
.L0f088884:
/* f088884: 100001df */ b .L0f089004
/* f088888: 00001025 */ or $v0,$zero,$zero
/* f08888c: 93290003 */ lbu $t1,0x3($t9)
.L0f088890:
/* f088890: 252afffd */ addiu $t2,$t1,-3
/* f088894: 2d41002d */ sltiu $at,$t2,0x2d
/* f088898: 102001a1 */ beqz $at,.L0f088f20
/* f08889c: 000a5080 */ sll $t2,$t2,0x2
/* f0888a0: 3c017f1b */ lui $at,%hi(var7f1aadc0)
/* f0888a4: 002a0821 */ addu $at,$at,$t2
/* f0888a8: 8c2aadc0 */ lw $t2,%lo(var7f1aadc0)($at)
/* f0888ac: 01400008 */ jr $t2
/* f0888b0: 00000000 */ nop
/* f0888b4: 8d0b04cc */ lw $t3,0x4cc($t0)
/* f0888b8: 3c048009 */ lui $a0,%hi(var80095200)
/* f0888bc: 240500e5 */ addiu $a1,$zero,0xe5
/* f0888c0: 1560000d */ bnez $t3,.L0f0888f8
/* f0888c4: 00003025 */ or $a2,$zero,$zero
/* f0888c8: 3c01bf80 */ lui $at,0xbf80
/* f0888cc: 44812000 */ mtc1 $at,$f4
/* f0888d0: 240cffff */ addiu $t4,$zero,-1
/* f0888d4: 240dffff */ addiu $t5,$zero,-1
/* f0888d8: 240effff */ addiu $t6,$zero,-1
/* f0888dc: afae001c */ sw $t6,0x1c($sp)
/* f0888e0: afad0018 */ sw $t5,0x18($sp)
/* f0888e4: afac0010 */ sw $t4,0x10($sp)
/* f0888e8: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f0888ec: 2407ffff */ addiu $a3,$zero,-1
/* f0888f0: 0c004241 */ jal sndStart
/* f0888f4: e7a40014 */ swc1 $f4,0x14($sp)
.L0f0888f8:
/* f0888f8: 8faf00a4 */ lw $t7,0xa4($sp)
/* f0888fc: 11e0000b */ beqz $t7,.L0f08892c
/* f088900: 00000000 */ nop
/* f088904: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088908: 8fa4009c */ lw $a0,0x9c($sp)
/* f08890c: 14400004 */ bnez $v0,.L0f088920
/* f088910: 00402025 */ or $a0,$v0,$zero
/* f088914: 0fc5b9f1 */ jal langGet
/* f088918: 24045228 */ addiu $a0,$zero,0x5228
/* f08891c: 00402025 */ or $a0,$v0,$zero
.L0f088920:
/* f088920: 00002825 */ or $a1,$zero,$zero
/* f088924: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088928: 24060009 */ addiu $a2,$zero,0x9
.L0f08892c:
/* f08892c: 1000019d */ b .L0f088fa4
/* f088930: 24020004 */ addiu $v0,$zero,0x4
/* f088934: 00c02025 */ or $a0,$a2,$zero
/* f088938: 0fc22067 */ jal ammocrateGetPickupAmmoQty
/* f08893c: afa6008c */ sw $a2,0x8c($sp)
/* f088940: 3c06800a */ lui $a2,%hi(g_Vars+0x4cc)
/* f088944: 8cc6a48c */ lw $a2,%lo(g_Vars+0x4cc)($a2)
/* f088948: 8fb9008c */ lw $t9,0x8c($sp)
/* f08894c: 00402825 */ or $a1,$v0,$zero
/* f088950: 2cd80001 */ sltiu $t8,$a2,0x1
/* f088954: 03003025 */ or $a2,$t8,$zero
/* f088958: 8fa700a4 */ lw $a3,0xa4($sp)
/* f08895c: 0fc2200a */ jal ammoHandlePickup
/* f088960: 8f24005c */ lw $a0,0x5c($t9)
/* f088964: 24090001 */ addiu $t1,$zero,0x1
/* f088968: afa90098 */ sw $t1,0x98($sp)
/* f08896c: 1000018d */ b .L0f088fa4
/* f088970: 24020001 */ addiu $v0,$zero,0x1
/* f088974: 00001025 */ or $v0,$zero,$zero
/* f088978: 00c01825 */ or $v1,$a2,$zero
.L0f08897c:
/* f08897c: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088980: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f088984: 8d0a0318 */ lw $t2,0x318($t0)
/* f088988: 9465005e */ lhu $a1,0x5e($v1)
/* f08898c: 24440001 */ addiu $a0,$v0,0x1
/* f088990: 15400009 */ bnez $t2,.L0f0889b8
/* f088994: 00003025 */ or $a2,$zero,$zero
/* f088998: 44853000 */ mtc1 $a1,$f6
/* f08899c: 3c018007 */ lui $at,%hi(g_AmmoMultiplier)
/* f0889a0: c42a995c */ lwc1 $f10,%lo(g_AmmoMultiplier)($at)
/* f0889a4: 46803220 */ cvt.s.w $f8,$f6
/* f0889a8: 460a4402 */ mul.s $f16,$f8,$f10
/* f0889ac: 4600848d */ trunc.w.s $f18,$f16
/* f0889b0: 44059000 */ mfc1 $a1,$f18
/* f0889b4: 00000000 */ nop
.L0f0889b8:
/* f0889b8: 8fa700a4 */ lw $a3,0xa4($sp)
/* f0889bc: afa30028 */ sw $v1,0x28($sp)
/* f0889c0: 0fc2200a */ jal ammoHandlePickup
/* f0889c4: afa4002c */ sw $a0,0x2c($sp)
/* f0889c8: 8fa2002c */ lw $v0,0x2c($sp)
/* f0889cc: 8fa30028 */ lw $v1,0x28($sp)
/* f0889d0: 24010013 */ addiu $at,$zero,0x13
/* f0889d4: 1441ffe9 */ bne $v0,$at,.L0f08897c
/* f0889d8: 24630004 */ addiu $v1,$v1,0x4
/* f0889dc: 3c0c800a */ lui $t4,%hi(g_Vars+0x4cc)
/* f0889e0: 8d8ca48c */ lw $t4,%lo(g_Vars+0x4cc)($t4)
/* f0889e4: 3c048009 */ lui $a0,%hi(var80095200)
/* f0889e8: 240500ea */ addiu $a1,$zero,0xea
/* f0889ec: 1580000d */ bnez $t4,.L0f088a24
/* f0889f0: 00003025 */ or $a2,$zero,$zero
/* f0889f4: 3c01bf80 */ lui $at,0xbf80
/* f0889f8: 44812000 */ mtc1 $at,$f4
/* f0889fc: 240dffff */ addiu $t5,$zero,-1
/* f088a00: 240effff */ addiu $t6,$zero,-1
/* f088a04: 240fffff */ addiu $t7,$zero,-1
/* f088a08: afaf001c */ sw $t7,0x1c($sp)
/* f088a0c: afae0018 */ sw $t6,0x18($sp)
/* f088a10: afad0010 */ sw $t5,0x10($sp)
/* f088a14: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088a18: 2407ffff */ addiu $a3,$zero,-1
/* f088a1c: 0c004241 */ jal sndStart
/* f088a20: e7a40014 */ swc1 $f4,0x14($sp)
.L0f088a24:
/* f088a24: 24180001 */ addiu $t8,$zero,0x1
/* f088a28: afb80098 */ sw $t8,0x98($sp)
/* f088a2c: 1000015d */ b .L0f088fa4
/* f088a30: 24020001 */ addiu $v0,$zero,0x1
/* f088a34: 8d190318 */ lw $t9,0x318($t0)
/* f088a38: afa60074 */ sw $a2,0x74($sp)
/* f088a3c: afa00070 */ sw $zero,0x70($sp)
/* f088a40: 13200022 */ beqz $t9,.L0f088acc
/* f088a44: afa00068 */ sw $zero,0x68($sp)
/* f088a48: 90c5005c */ lbu $a1,0x5c($a2)
/* f088a4c: 24010057 */ addiu $at,$zero,0x56
/* f088a50: 54a1000f */ bnel $a1,$at,.L0f088a90
/* f088a54: 24010036 */ addiu $at,$zero,0x36
/* f088a58: 8c4a00bc */ lw $t2,0xbc($v0)
/* f088a5c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088a60: 0fc61a26 */ jal scenarioPickUpBriefcase
/* f088a64: 8d440004 */ lw $a0,0x4($t2)
/* f088a68: 10400006 */ beqz $v0,.L0f088a84
/* f088a6c: 00401825 */ or $v1,$v0,$zero
/* f088a70: 8fab0074 */ lw $t3,0x74($sp)
/* f088a74: 9164005c */ lbu $a0,0x5c($t3)
/* f088a78: 0fc21f44 */ jal weaponPlayPickupSound
/* f088a7c: afa20064 */ sw $v0,0x64($sp)
/* f088a80: 8fa30064 */ lw $v1,0x64($sp)
.L0f088a84:
/* f088a84: 1000015f */ b .L0f089004
/* f088a88: 00601025 */ or $v0,$v1,$zero
/* f088a8c: 24010036 */ addiu $at,$zero,0x36
.L0f088a90:
/* f088a90: 54a1000f */ bnel $a1,$at,.L0f088ad0
/* f088a94: 8d0f04cc */ lw $t7,0x4cc($t0)
/* f088a98: 8c4c00bc */ lw $t4,0xbc($v0)
/* f088a9c: 8fa500a0 */ lw $a1,0xa0($sp)
/* f088aa0: 0fc61d04 */ jal scenarioPickUpUplink
/* f088aa4: 8d840004 */ lw $a0,0x4($t4)
/* f088aa8: 10400006 */ beqz $v0,.L0f088ac4
/* f088aac: 00401825 */ or $v1,$v0,$zero
/* f088ab0: 8fad0074 */ lw $t5,0x74($sp)
/* f088ab4: 91a4005c */ lbu $a0,0x5c($t5)
/* f088ab8: 0fc21f44 */ jal weaponPlayPickupSound
/* f088abc: afa20064 */ sw $v0,0x64($sp)
/* f088ac0: 8fa30064 */ lw $v1,0x64($sp)
.L0f088ac4:
/* f088ac4: 1000014f */ b .L0f089004
/* f088ac8: 00601025 */ or $v0,$v1,$zero
.L0f088acc:
/* f088acc: 8d0f04cc */ lw $t7,0x4cc($t0)
.L0f088ad0:
/* f088ad0: 8fae0074 */ lw $t6,0x74($sp)
/* f088ad4: 15e00007 */ bnez $t7,.L0f088af4
/* f088ad8: 91c5005c */ lbu $a1,0x5c($t6)
/* f088adc: 0fc21f44 */ jal weaponPlayPickupSound
/* f088ae0: 00a02025 */ or $a0,$a1,$zero
/* f088ae4: 8fb80074 */ lw $t8,0x74($sp)
/* f088ae8: 3c08800a */ lui $t0,%hi(g_Vars)
/* f088aec: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars)
/* f088af0: 9305005c */ lbu $a1,0x5c($t8)
.L0f088af4:
/* f088af4: 8fb9009c */ lw $t9,0x9c($sp)
/* f088af8: 24010056 */ addiu $at,$zero,0x55
/* f088afc: 8f290040 */ lw $t1,0x40($t9)
/* f088b00: 312a0400 */ andi $t2,$t1,0x400
/* f088b04: 11400020 */ beqz $t2,.L0f088b88
/* f088b08: 00000000 */ nop
/* f088b0c: 28a1002d */ slti $at,$a1,0x2d
/* f088b10: 50200007 */ beqzl $at,.L0f088b30
/* f088b14: 8fac00a4 */ lw $t4,0xa4($sp)
/* f088b18: 0fc4483c */ jal invGiveWeaponsByProp
/* f088b1c: 8fa400a0 */ lw $a0,0xa0($sp)
/* f088b20: 240b0001 */ addiu $t3,$zero,0x1
/* f088b24: afa20068 */ sw $v0,0x68($sp)
/* f088b28: afab0094 */ sw $t3,0x94($sp)
/* f088b2c: 8fac00a4 */ lw $t4,0xa4($sp)
.L0f088b30:
/* f088b30: 51800013 */ beqzl $t4,.L0f088b80
/* f088b34: 24180004 */ addiu $t8,$zero,0x4
/* f088b38: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088b3c: 8fa4009c */ lw $a0,0x9c($sp)
/* f088b40: 10400006 */ beqz $v0,.L0f088b5c
/* f088b44: 00402025 */ or $a0,$v0,$zero
/* f088b48: 00002825 */ or $a1,$zero,$zero
/* f088b4c: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088b50: 24060009 */ addiu $a2,$zero,0x9
/* f088b54: 10000008 */ b .L0f088b78
/* f088b58: 240f0001 */ addiu $t7,$zero,0x1
.L0f088b5c:
/* f088b5c: 8fa50068 */ lw $a1,0x68($sp)
/* f088b60: 8fad0074 */ lw $t5,0x74($sp)
/* f088b64: 38ae0002 */ xori $t6,$a1,0x2
/* f088b68: 2dc50001 */ sltiu $a1,$t6,0x1
/* f088b6c: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg
/* f088b70: 91a4005c */ lbu $a0,0x5c($t5)
/* f088b74: 240f0001 */ addiu $t7,$zero,0x1
.L0f088b78:
/* f088b78: afaf0070 */ sw $t7,0x70($sp)
/* f088b7c: 24180004 */ addiu $t8,$zero,0x4
.L0f088b80:
/* f088b80: 10000033 */ b .L0f088c50
/* f088b84: afb80098 */ sw $t8,0x98($sp)
.L0f088b88:
/* f088b88: 14a10011 */ bne $a1,$at,.L0f088bd0
/* f088b8c: 24190001 */ addiu $t9,$zero,0x1
/* f088b90: 8d0604cc */ lw $a2,0x4cc($t0)
/* f088b94: 24090001 */ addiu $t1,$zero,0x1
/* f088b98: afb90068 */ sw $t9,0x68($sp)
/* f088b9c: 2cca0001 */ sltiu $t2,$a2,0x1
/* f088ba0: afa90094 */ sw $t1,0x94($sp)
/* f088ba4: 01403025 */ or $a2,$t2,$zero
/* f088ba8: 24040003 */ addiu $a0,$zero,0x3
/* f088bac: 24050001 */ addiu $a1,$zero,0x1
/* f088bb0: 0fc2200a */ jal ammoHandlePickup
/* f088bb4: 24070001 */ addiu $a3,$zero,0x1
/* f088bb8: 240b0001 */ addiu $t3,$zero,0x1
/* f088bbc: 240c0001 */ addiu $t4,$zero,0x1
/* f088bc0: afab0098 */ sw $t3,0x98($sp)
/* f088bc4: afa000a4 */ sw $zero,0xa4($sp)
/* f088bc8: 10000021 */ b .L0f088c50
/* f088bcc: afac0070 */ sw $t4,0x70($sp)
.L0f088bd0:
/* f088bd0: 0fc4483c */ jal invGiveWeaponsByProp
/* f088bd4: 8fa400a0 */ lw $a0,0xa0($sp)
/* f088bd8: 10400003 */ beqz $v0,.L0f088be8
/* f088bdc: afa20068 */ sw $v0,0x68($sp)
/* f088be0: 240d0001 */ addiu $t5,$zero,0x1
/* f088be4: afad0070 */ sw $t5,0x70($sp)
.L0f088be8:
/* f088be8: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088bec: 240e0001 */ addiu $t6,$zero,0x1
/* f088bf0: afae0094 */ sw $t6,0x94($sp)
/* f088bf4: 11e00014 */ beqz $t7,.L0f088c48
/* f088bf8: 8fb80074 */ lw $t8,0x74($sp)
/* f088bfc: 0fc44c0d */ jal invGetActivatedTextByWeaponNum
/* f088c00: 9304005c */ lbu $a0,0x5c($t8)
/* f088c04: 10400008 */ beqz $v0,.L0f088c28
/* f088c08: 00402025 */ or $a0,$v0,$zero
/* f088c0c: 24190001 */ addiu $t9,$zero,0x1
/* f088c10: afb90070 */ sw $t9,0x70($sp)
/* f088c14: 00002825 */ or $a1,$zero,$zero
/* f088c18: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088c1c: 24060009 */ addiu $a2,$zero,0x9
/* f088c20: 1000000a */ b .L0f088c4c
/* f088c24: 240c0001 */ addiu $t4,$zero,0x1
.L0f088c28:
/* f088c28: 8fa90070 */ lw $t1,0x70($sp)
/* f088c2c: 8fa50068 */ lw $a1,0x68($sp)
/* f088c30: 8faa0074 */ lw $t2,0x74($sp)
/* f088c34: 11200004 */ beqz $t1,.L0f088c48
/* f088c38: 38ab0002 */ xori $t3,$a1,0x2
/* f088c3c: 9144005c */ lbu $a0,0x5c($t2)
/* f088c40: 0fc221f2 */ jal currentPlayerQueuePickupWeaponHudmsg
/* f088c44: 2d650001 */ sltiu $a1,$t3,0x1
.L0f088c48:
/* f088c48: 240c0001 */ addiu $t4,$zero,0x1
.L0f088c4c:
/* f088c4c: afac0098 */ sw $t4,0x98($sp)
.L0f088c50:
/* f088c50: 8fad0068 */ lw $t5,0x68($sp)
/* f088c54: 24010002 */ addiu $at,$zero,0x2
/* f088c58: 55a10010 */ bnel $t5,$at,.L0f088c9c
/* f088c5c: 8fb90074 */ lw $t9,0x74($sp)
/* f088c60: 0fc2866a */ jal bgunGetWeaponNum
/* f088c64: 00002025 */ or $a0,$zero,$zero
/* f088c68: 8fae0074 */ lw $t6,0x74($sp)
/* f088c6c: 91cf005c */ lbu $t7,0x5c($t6)
/* f088c70: 544f000a */ bnel $v0,$t7,.L0f088c9c
/* f088c74: 8fb90074 */ lw $t9,0x74($sp)
/* f088c78: 0fc2866a */ jal bgunGetWeaponNum
/* f088c7c: 24040001 */ addiu $a0,$zero,0x1
/* f088c80: 8fb80074 */ lw $t8,0x74($sp)
/* f088c84: 9305005c */ lbu $a1,0x5c($t8)
/* f088c88: 50450004 */ beql $v0,$a1,.L0f088c9c
/* f088c8c: 8fb90074 */ lw $t9,0x74($sp)
/* f088c90: 0fc28824 */ jal bgunEquipWeapon2
/* f088c94: 24040001 */ addiu $a0,$zero,0x1
/* f088c98: 8fb90074 */ lw $t9,0x74($sp)
.L0f088c9c:
/* f088c9c: 00002825 */ or $a1,$zero,$zero
/* f088ca0: 0fc2a685 */ jal bgunGetAmmoTypeForWeapon
/* f088ca4: 9324005c */ lbu $a0,0x5c($t9)
/* f088ca8: 1040001d */ beqz $v0,.L0f088d20
/* f088cac: afa2006c */ sw $v0,0x6c($sp)
/* f088cb0: 0fc22095 */ jal weaponGetPickupAmmoQty
/* f088cb4: 8fa40074 */ lw $a0,0x74($sp)
/* f088cb8: 18400019 */ blez $v0,.L0f088d20
/* f088cbc: afa20058 */ sw $v0,0x58($sp)
/* f088cc0: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088cc4: 8fa4006c */ lw $a0,0x6c($sp)
/* f088cc8: 8fa4006c */ lw $a0,0x6c($sp)
/* f088ccc: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088cd0: afa20054 */ sw $v0,0x54($sp)
/* f088cd4: 8fa4006c */ lw $a0,0x6c($sp)
/* f088cd8: 0fc2a63d */ jal bgunGetCapacityByAmmotype
/* f088cdc: afa2003c */ sw $v0,0x3c($sp)
/* f088ce0: 8fa6003c */ lw $a2,0x3c($sp)
/* f088ce4: 8fa50054 */ lw $a1,0x54($sp)
/* f088ce8: 8fa90058 */ lw $t1,0x58($sp)
/* f088cec: 00c2082a */ slt $at,$a2,$v0
/* f088cf0: 1020000b */ beqz $at,.L0f088d20
/* f088cf4: 00a92821 */ addu $a1,$a1,$t1
/* f088cf8: 0fc2a58a */ jal bgunSetAmmoQuantity
/* f088cfc: 8fa4006c */ lw $a0,0x6c($sp)
/* f088d00: 8faa0070 */ lw $t2,0x70($sp)
/* f088d04: 8fab00a4 */ lw $t3,0xa4($sp)
/* f088d08: 55400006 */ bnezl $t2,.L0f088d24
/* f088d0c: 8fac0074 */ lw $t4,0x74($sp)
/* f088d10: 11600003 */ beqz $t3,.L0f088d20
/* f088d14: 8fa4006c */ lw $a0,0x6c($sp)
/* f088d18: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg
/* f088d1c: 8fa50058 */ lw $a1,0x58($sp)
.L0f088d20:
/* f088d20: 8fac0074 */ lw $t4,0x74($sp)
.L0f088d24:
/* f088d24: 24010012 */ addiu $at,$zero,0x12
/* f088d28: 918d005c */ lbu $t5,0x5c($t4)
/* f088d2c: 55a1001b */ bnel $t5,$at,.L0f088d9c
/* f088d30: 8fb80074 */ lw $t8,0x74($sp)
/* f088d34: 0fc22095 */ jal weaponGetPickupAmmoQty
/* f088d38: 01802025 */ or $a0,$t4,$zero
/* f088d3c: afa20050 */ sw $v0,0x50($sp)
/* f088d40: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088d44: 2404000b */ addiu $a0,$zero,0xb
/* f088d48: 2404000b */ addiu $a0,$zero,0xb
/* f088d4c: 0fc2a63d */ jal bgunGetCapacityByAmmotype
/* f088d50: afa2003c */ sw $v0,0x3c($sp)
/* f088d54: 8fa6003c */ lw $a2,0x3c($sp)
/* f088d58: 00c2082a */ slt $at,$a2,$v0
/* f088d5c: 5020000f */ beqzl $at,.L0f088d9c
/* f088d60: 8fb80074 */ lw $t8,0x74($sp)
/* f088d64: 0fc2a5dc */ jal bgunGetReservedAmmoCount
/* f088d68: 2404000b */ addiu $a0,$zero,0xb
/* f088d6c: 2404000b */ addiu $a0,$zero,0xb
/* f088d70: 0fc2a58a */ jal bgunSetAmmoQuantity
/* f088d74: 24450005 */ addiu $a1,$v0,0x5
/* f088d78: 8fae0070 */ lw $t6,0x70($sp)
/* f088d7c: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088d80: 55c00006 */ bnezl $t6,.L0f088d9c
/* f088d84: 8fb80074 */ lw $t8,0x74($sp)
/* f088d88: 11e00003 */ beqz $t7,.L0f088d98
/* f088d8c: 2404000b */ addiu $a0,$zero,0xb
/* f088d90: 0fc21fec */ jal currentPlayerQueuePickupAmmoHudmsg
/* f088d94: 8fa50050 */ lw $a1,0x50($sp)
.L0f088d98:
/* f088d98: 8fb80074 */ lw $t8,0x74($sp)
.L0f088d9c:
/* f088d9c: 2401002e */ addiu $at,$zero,0x2e
/* f088da0: 3c09800a */ lui $t1,%hi(g_Vars+0x284)
/* f088da4: 9319005c */ lbu $t9,0x5c($t8)
/* f088da8: 17210007 */ bne $t9,$at,.L0f088dc8
/* f088dac: 00000000 */ nop
/* f088db0: 8d29a244 */ lw $t1,%lo(g_Vars+0x284)($t1)
/* f088db4: 8d2a0480 */ lw $t2,0x480($t1)
/* f088db8: 15400003 */ bnez $t2,.L0f088dc8
/* f088dbc: 00000000 */ nop
/* f088dc0: 0fc0458c */ jal currentPlayerInitEyespy
/* f088dc4: 00000000 */ nop
.L0f088dc8:
/* f088dc8: 10000076 */ b .L0f088fa4
/* f088dcc: 8fa20098 */ lw $v0,0x98($sp)
/* f088dd0: 0fc30884 */ jal playerSetShieldFrac
/* f088dd4: c4cc0060 */ lwc1 $f12,0x60($a2)
/* f088dd8: 3c0b800a */ lui $t3,%hi(g_Vars+0x4cc)
/* f088ddc: 8d6ba48c */ lw $t3,%lo(g_Vars+0x4cc)($t3)
/* f088de0: 3c048009 */ lui $a0,%hi(var80095200)
/* f088de4: 240501cd */ addiu $a1,$zero,0x1cd
/* f088de8: 1560000d */ bnez $t3,.L0f088e20
/* f088dec: 00003025 */ or $a2,$zero,$zero
/* f088df0: 3c01bf80 */ lui $at,0xbf80
/* f088df4: 44813000 */ mtc1 $at,$f6
/* f088df8: 240dffff */ addiu $t5,$zero,-1
/* f088dfc: 240cffff */ addiu $t4,$zero,-1
/* f088e00: 240effff */ addiu $t6,$zero,-1
/* f088e04: afae001c */ sw $t6,0x1c($sp)
/* f088e08: afac0018 */ sw $t4,0x18($sp)
/* f088e0c: afad0010 */ sw $t5,0x10($sp)
/* f088e10: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088e14: 2407ffff */ addiu $a3,$zero,-1
/* f088e18: 0c004241 */ jal sndStart
/* f088e1c: e7a60014 */ swc1 $f6,0x14($sp)
.L0f088e20:
/* f088e20: 8faf00a4 */ lw $t7,0xa4($sp)
/* f088e24: 51e0003b */ beqzl $t7,.L0f088f14
/* f088e28: 240e0001 */ addiu $t6,$zero,0x1
/* f088e2c: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088e30: 8fa4009c */ lw $a0,0x9c($sp)
/* f088e34: 14400033 */ bnez $v0,.L0f088f04
/* f088e38: 00402025 */ or $a0,$v0,$zero
/* f088e3c: 3c18800a */ lui $t8,%hi(g_Vars+0x6c)
/* f088e40: 8f18a02c */ lw $t8,%lo(g_Vars+0x6c)($t8)
/* f088e44: 3c19800a */ lui $t9,%hi(g_Vars+0x68)
/* f088e48: 3c09800a */ lui $t1,%hi(g_Vars+0x64)
/* f088e4c: 13000003 */ beqz $t8,.L0f088e5c
/* f088e50: 3c0a800a */ lui $t2,%hi(g_Vars+0x70)
/* f088e54: 10000002 */ b .L0f088e60
/* f088e58: 24050001 */ addiu $a1,$zero,0x1
.L0f088e5c:
/* f088e5c: 00002825 */ or $a1,$zero,$zero
.L0f088e60:
/* f088e60: 8f39a028 */ lw $t9,%lo(g_Vars+0x68)($t9)
/* f088e64: 00001825 */ or $v1,$zero,$zero
/* f088e68: 00002025 */ or $a0,$zero,$zero
/* f088e6c: 13200003 */ beqz $t9,.L0f088e7c
/* f088e70: 00003025 */ or $a2,$zero,$zero
/* f088e74: 10000001 */ b .L0f088e7c
/* f088e78: 24030001 */ addiu $v1,$zero,0x1
.L0f088e7c:
/* f088e7c: 8d29a024 */ lw $t1,%lo(g_Vars+0x64)($t1)
/* f088e80: 11200003 */ beqz $t1,.L0f088e90
/* f088e84: 00000000 */ nop
/* f088e88: 10000001 */ b .L0f088e90
/* f088e8c: 24040001 */ addiu $a0,$zero,0x1
.L0f088e90:
/* f088e90: 8d4aa030 */ lw $t2,%lo(g_Vars+0x70)($t2)
/* f088e94: 11400003 */ beqz $t2,.L0f088ea4
/* f088e98: 00000000 */ nop
/* f088e9c: 10000001 */ b .L0f088ea4
/* f088ea0: 24060001 */ addiu $a2,$zero,0x1
.L0f088ea4:
/* f088ea4: 00c45821 */ addu $t3,$a2,$a0
/* f088ea8: 01636821 */ addu $t5,$t3,$v1
/* f088eac: 01a51021 */ addu $v0,$t5,$a1
/* f088eb0: 28410003 */ slti $at,$v0,0x3
/* f088eb4: 10200010 */ beqz $at,.L0f088ef8
/* f088eb8: 24010002 */ addiu $at,$zero,0x2
/* f088ebc: 1441000a */ bne $v0,$at,.L0f088ee8
/* f088ec0: 00000000 */ nop
/* f088ec4: 0fc54bcd */ jal optionsGetScreenSplit
/* f088ec8: 00000000 */ nop
/* f088ecc: 24010001 */ addiu $at,$zero,0x1
/* f088ed0: 10410009 */ beq $v0,$at,.L0f088ef8
/* f088ed4: 3c0c8009 */ lui $t4,%hi(g_Is4Mb)
/* f088ed8: 918c0af0 */ lbu $t4,%lo(g_Is4Mb)($t4)
/* f088edc: 24010001 */ addiu $at,$zero,0x1
/* f088ee0: 11810005 */ beq $t4,$at,.L0f088ef8
/* f088ee4: 00000000 */ nop
.L0f088ee8:
/* f088ee8: 0fc5b9f1 */ jal langGet
/* f088eec: 24045229 */ addiu $a0,$zero,0x5229
/* f088ef0: 10000004 */ b .L0f088f04
/* f088ef4: 00402025 */ or $a0,$v0,$zero
.L0f088ef8:
/* f088ef8: 0fc5b9f1 */ jal langGet
/* f088efc: 2404522a */ addiu $a0,$zero,0x522a
/* f088f00: 00402025 */ or $a0,$v0,$zero
.L0f088f04:
/* f088f04: 00002825 */ or $a1,$zero,$zero
/* f088f08: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088f0c: 24060001 */ addiu $a2,$zero,0x1
/* f088f10: 240e0001 */ addiu $t6,$zero,0x1
.L0f088f14:
/* f088f14: afae0098 */ sw $t6,0x98($sp)
/* f088f18: 10000022 */ b .L0f088fa4
/* f088f1c: 24020001 */ addiu $v0,$zero,0x1
.L0f088f20:
/* f088f20: 8d0f04cc */ lw $t7,0x4cc($t0)
/* f088f24: 3c048009 */ lui $a0,%hi(var80095200)
/* f088f28: 240500e5 */ addiu $a1,$zero,0xe5
/* f088f2c: 15e0000d */ bnez $t7,.L0f088f64
/* f088f30: 00003025 */ or $a2,$zero,$zero
/* f088f34: 3c01bf80 */ lui $at,0xbf80
/* f088f38: 44814000 */ mtc1 $at,$f8
/* f088f3c: 2418ffff */ addiu $t8,$zero,-1
/* f088f40: 2419ffff */ addiu $t9,$zero,-1
/* f088f44: 2409ffff */ addiu $t1,$zero,-1
/* f088f48: afa9001c */ sw $t1,0x1c($sp)
/* f088f4c: afb90018 */ sw $t9,0x18($sp)
/* f088f50: afb80010 */ sw $t8,0x10($sp)
/* f088f54: 8c845200 */ lw $a0,%lo(var80095200)($a0)
/* f088f58: 2407ffff */ addiu $a3,$zero,-1
/* f088f5c: 0c004241 */ jal sndStart
/* f088f60: e7a80014 */ swc1 $f8,0x14($sp)
.L0f088f64:
/* f088f64: 8faa00a4 */ lw $t2,0xa4($sp)
/* f088f68: 5140000c */ beqzl $t2,.L0f088f9c
/* f088f6c: 240b0004 */ addiu $t3,$zero,0x4
/* f088f70: 0fc44bfb */ jal invGetActivatedTextByObj
/* f088f74: 8fa4009c */ lw $a0,0x9c($sp)
/* f088f78: 14400004 */ bnez $v0,.L0f088f8c
/* f088f7c: 00402025 */ or $a0,$v0,$zero
/* f088f80: 0fc5b9f1 */ jal langGet
/* f088f84: 2404522b */ addiu $a0,$zero,0x522b
/* f088f88: 00402025 */ or $a0,$v0,$zero
.L0f088f8c:
/* f088f8c: 00002825 */ or $a1,$zero,$zero
/* f088f90: 0fc377e9 */ jal hudmsgCreateWithFlags
/* f088f94: 24060009 */ addiu $a2,$zero,0x9
/* f088f98: 240b0004 */ addiu $t3,$zero,0x4
.L0f088f9c:
/* f088f9c: afab0098 */ sw $t3,0x98($sp)
/* f088fa0: 24020004 */ addiu $v0,$zero,0x4
.L0f088fa4:
/* f088fa4: 24010001 */ addiu $at,$zero,0x1
/* f088fa8: 1441000d */ bne $v0,$at,.L0f088fe0
/* f088fac: 8fad009c */ lw $t5,0x9c($sp)
/* f088fb0: 8dac0040 */ lw $t4,0x40($t5)
/* f088fb4: 318e0010 */ andi $t6,$t4,0x10
/* f088fb8: 15c00009 */ bnez $t6,.L0f088fe0
/* f088fbc: 00000000 */ nop
/* f088fc0: 91a60002 */ lbu $a2,0x2($t5)
/* f088fc4: 01a02025 */ or $a0,$t5,$zero
/* f088fc8: 00002825 */ or $a1,$zero,$zero
/* f088fcc: 30cf0004 */ andi $t7,$a2,0x4
/* f088fd0: 0fc1ab4b */ jal objFree
/* f088fd4: 01e03025 */ or $a2,$t7,$zero
/* f088fd8: 1000000a */ b .L0f089004
/* f088fdc: 24020001 */ addiu $v0,$zero,0x1
.L0f088fe0:
/* f088fe0: 10400007 */ beqz $v0,.L0f089000
/* f088fe4: 8fb80094 */ lw $t8,0x94($sp)
/* f088fe8: 17000003 */ bnez $t8,.L0f088ff8
/* f088fec: 00000000 */ nop
/* f088ff0: 0fc447f3 */ jal invGiveProp
/* f088ff4: 8fa400a0 */ lw $a0,0xa0($sp)
.L0f088ff8:
/* f088ff8: 10000002 */ b .L0f089004
/* f088ffc: 24020004 */ addiu $v0,$zero,0x4
.L0f089000:
/* f089000: 00001025 */ or $v0,$zero,$zero
.L0f089004:
/* f089004: 8fbf0024 */ lw $ra,0x24($sp)
/* f089008: 27bd00a0 */ addiu $sp,$sp,0xa0
/* f08900c: 03e00008 */ jr $ra
/* f089010: 00000000 */ nop
);
#endif
// Mismatch: Goal stores obj in a2 and sp9c, and copies it from a2 for the more
// specific obj types. The below uses sp9c everywhere.
//s32 propPickupByPlayer(struct prop *prop, bool showhudmsg)
//{
// struct defaultobj *obj = prop->obj; // 9c
// s32 sp94[2];
// s32 result;
//
// sp94[0] = TICKOP_NONE;
//
// if (g_Vars.currentplayer->isdead || g_Vars.lvupdate240 == 0) {
// return TICKOP_NONE;
// }
//
// // 88c
// switch (obj->type) {
// case OBJTYPE_KEY: // f0888b4 - key
// if (g_Vars.in_cutscene == false) {
// sndStart(var80095200, SFX_PICKUP_KEYCARD, NULL, -1, -1, -1, -1, -1);
// }
//
// if (showhudmsg) {
// char *text = invGetActivatedTextByObj(obj);
//
// if (text == NULL) {
// text = langGet(L_PROPOBJ_040); // "Picked up a key."
// }
//
// hudmsgCreateWithFlags(text, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE | HUDMSGFLAG_ALLOWDUPES);
// }
//
// result = TICKOP_GIVETOPLAYER;
// break;
// case OBJTYPE_AMMOCRATE: // f088934 - ammocrate
// {
// struct ammocrateobj *crate = (struct ammocrateobj *)obj; // 8c
// ammoHandlePickup(crate->ammotype, ammocrateGetPickupAmmoQty(crate), g_Vars.in_cutscene == false, showhudmsg);
// sp94[1] = TICKOP_FREE;
// result = TICKOP_FREE;
// }
// break;
// case OBJTYPE_MULTIAMMOCRATE: // f088974 - multiammocrate
// {
// struct multiammocrateobj *crate = (struct multiammocrateobj *)obj;
// s32 i;
//
// for (i = 0; i != 19; i++) {
// s32 qty = crate->slots[i].quantity;
//
// if (g_Vars.normmplayerisrunning == false) {
// qty *= g_AmmoMultiplier;
// }
//
// ammoHandlePickup(i + 1, qty, false, showhudmsg);
// }
//
// if (g_Vars.in_cutscene == false) {
// sndStart(var80095200, SFX_PICKUP_AMMO, NULL, -1, -1, -1, -1, -1);
// }
//
// sp94[1] = TICKOP_FREE;
// result = TICKOP_FREE;
// }
// break;
// case OBJTYPE_WEAPON: // f088a34 - weapon
// {
// struct weaponobj *weapon = (struct weaponobj *)obj;
// s32 count = 0;
// bool sp112 = false;
// s32 ammotype;
//
// if (g_Vars.normmplayerisrunning) {
// if (weapon->weaponnum == WEAPON_BRIEFCASE2) {
// result = scenarioPickUpBriefcase(g_Vars.currentplayer->prop->chr, prop);
//
// if (result) {
// weaponPlayPickupSound(weapon->weaponnum);
// }
//
// return result;
// }
//
// if (weapon->weaponnum == WEAPON_DATAUPLINK) {
// result = scenarioPickUpUplink(g_Vars.currentplayer->prop->chr, prop);
//
// if (result) {
// weaponPlayPickupSound(weapon->weaponnum);
// }
//
// return result;
// }
// }
//
// // acc
// if (g_Vars.in_cutscene == false) {
// weaponPlayPickupSound(weapon->weaponnum);
// }
//
// // af4
// if (obj->hidden & OBJHFLAG_HASTEXTOVERRIDE) {
// if (weapon->weaponnum <= WEAPON_PSYCHOSISGUN) {
// count = invGiveWeaponsByProp(prop);
// sp94[0] = TICKOP_FREE;
// }
//
// if (showhudmsg) {
// char *text = invGetActivatedTextByObj(obj);
//
// if (text) {
// hudmsgCreateWithFlags(text, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE | HUDMSGFLAG_ALLOWDUPES);
// } else {
// currentPlayerQueuePickupWeaponHudmsg(weapon->weaponnum, count == 2);
// }
//
// sp112 = true;
// }
//
// sp94[1] = TICKOP_GIVETOPLAYER;
// } else {
// // b88
// if (weapon->weaponnum == WEAPON_BOLT) {
// count = 1; // sp104
// sp94[0] = TICKOP_FREE;
// ammoHandlePickup(AMMOTYPE_CROSSBOW, 1, g_Vars.in_cutscene == false, true);
// sp94[1] = TICKOP_FREE;
// showhudmsg = false;
// sp112 = true;
// } else {
// // bd0
// count = invGiveWeaponsByProp(prop);
//
// if (count) {
// sp112 = true;
// }
//
// sp94[0] = TICKOP_FREE;
//
// if (showhudmsg) {
// char *text = invGetActivatedTextByWeaponNum(weapon->weaponnum);
//
// if (text) {
// sp112 = true;
// hudmsgCreateWithFlags(text, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE | HUDMSGFLAG_ALLOWDUPES);
// } else {
// if (sp112) {
// currentPlayerQueuePickupWeaponHudmsg(weapon->weaponnum, count == 2);
// }
// }
// }
//
// sp94[1] = TICKOP_FREE;
// }
// }
//
// // c50
// if (count == 2
// && bgunGetWeaponNum(HAND_RIGHT) == weapon->weaponnum
// && bgunGetWeaponNum(HAND_LEFT) != weapon->weaponnum) {
// bgunEquipWeapon2(HAND_LEFT, weapon->weaponnum);
// }
//
// // c9c
// ammotype = bgunGetAmmoTypeForWeapon(weapon->weaponnum, 0);
//
// if (ammotype) {
// s32 pickupqty = weaponGetPickupAmmoQty(weapon);
//
// if (pickupqty > 0) {
// s32 heldqty = bgunGetReservedAmmoCount(ammotype);
//
// if (bgunGetReservedAmmoCount(ammotype) < bgunGetCapacityByAmmotype(ammotype)) {
// bgunSetAmmoQuantity(ammotype, heldqty + pickupqty);
//
// if (sp112 == false && showhudmsg) {
// currentPlayerQueuePickupAmmoHudmsg(ammotype, pickupqty);
// }
// }
// }
// }
//
// // d20
// if (weapon->weaponnum == WEAPON_SUPERDRAGON) {
// s32 pickupqty = weaponGetPickupAmmoQty(weapon);
//
// if (bgunGetReservedAmmoCount(AMMOTYPE_DEVASTATOR) < bgunGetCapacityByAmmotype(AMMOTYPE_DEVASTATOR)) {
// s32 heldqty = bgunGetReservedAmmoCount(AMMOTYPE_DEVASTATOR);
//
// bgunSetAmmoQuantity(AMMOTYPE_DEVASTATOR, heldqty + 5);
//
// if (sp112 == false && showhudmsg) {
// currentPlayerQueuePickupAmmoHudmsg(AMMOTYPE_DEVASTATOR, pickupqty);
// }
// }
// }
//
// if (weapon->weaponnum == WEAPON_EYESPY && g_Vars.currentplayer->eyespy == NULL) {
// currentPlayerInitEyespy();
// }
//
// result = sp94[1];
// }
// break;
// case OBJTYPE_SHIELD: // f088dd0 - shield
// {
// struct shieldobj *shield = (struct shieldobj *)obj;
// playerSetShieldFrac(shield->amount);
//
// if (g_Vars.in_cutscene == false) {
// sndStart(var80095200, SFX_PICKUP_SHIELD, NULL, -1, -1, -1, -1, -1);
// }
//
// if (showhudmsg) {
// char *text = invGetActivatedTextByObj(obj);
//
// if (text == NULL) {
// s32 playercount = PLAYERCOUNT();
//
// if (playercount < 3 &&
// (playercount != 2 || (optionsGetScreenSplit() != SCREENSPLIT_VERTICAL && g_Is4Mb != true))) {
// text = langGet(L_PROPOBJ_041); // "Picked up a shield."
// } else {
// text = langGet(L_PROPOBJ_042); // "A shield."
// }
// }
//
// hudmsgCreateWithFlags(text, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE);
// }
//
// sp94[1] = TICKOP_FREE;
// result = TICKOP_FREE;
// }
// break;
// case 0x03: // f088f20
// case 0x05: // f088f20
// case 0x06: // f088f20
// case 0x09: // f088f20
// case 0x0a: // f088f20
// case 0x0b: // f088f20
// case 0x0c: // f088f20
// case 0x0d: // f088f20
// case 0x0e: // f088f20
// case 0x0f: // f088f20
// case 0x10: // f088f20
// case 0x11: // f088f20
// case 0x12: // f088f20
// case 0x13: // f088f20
// case 0x16: // f088f20
// case 0x17: // f088f20
// case 0x18: // f088f20
// case 0x19: // f088f20
// case 0x1a: // f088f20
// case 0x1b: // f088f20
// case 0x1c: // f088f20
// case 0x1d: // f088f20
// case 0x1e: // f088f20
// case 0x1f: // f088f20
// case 0x20: // f088f20
// case 0x21: // f088f20
// case 0x22: // f088f20
// case 0x23: // f088f20
// case 0x24: // f088f20
// case 0x25: // f088f20
// case 0x26: // f088f20
// case 0x27: // f088f20
// case 0x28: // f088f20
// case 0x29: // f088f20
// case 0x2a: // f088f20
// case 0x2b: // f088f20
// case 0x2c: // f088f20
// case 0x2d: // f088f20
// case 0x2e: // f088f20
// case 0x2f: // f088f20
// default:
// if (g_Vars.in_cutscene == false) {
// sndStart(var80095200, SFX_PICKUP_KEYCARD, NULL, -1, -1, -1, -1, -1);
// }
//
// if (showhudmsg) {
// char *text = invGetActivatedTextByObj(obj);
//
// if (text == NULL) {
// text = langGet(L_PROPOBJ_043); // "Picked up something."
// }
//
// hudmsgCreateWithFlags(text, HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE | HUDMSGFLAG_ALLOWDUPES);
// }
//
// sp94[1] = TICKOP_GIVETOPLAYER;
// result = TICKOP_GIVETOPLAYER;
// break;
// }
//
// // fa4
// if (result == TICKOP_FREE && (obj->hidden & OBJHFLAG_TAGGED) == 0) {
// objFree(obj, false, obj->hidden2 & OBJH2FLAG_CANREGEN);
// return TICKOP_FREE;
// }
//
// // fe0
// if (result) {
// if (sp94[0] == TICKOP_NONE) {
// invGiveProp(prop);
// }
//
// return TICKOP_GIVETOPLAYER;
// }
//
// return TICKOP_NONE;
//}
s32 objTestForPickup(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
if (obj->hidden & OBJHFLAG_REAPABLE) {
return TICKOP_NONE;
}
if (func0f085194(obj) && obj->type != OBJTYPE_HAT) {
if (obj->flags & OBJFLAG_UNCOLLECTABLE) {
return TICKOP_NONE;
}
} else {
if ((obj->flags & OBJFLAG_COLLECTABLE) == 0) {
return TICKOP_NONE;
}
}
if (obj->flags & OBJFLAG_THROWNLAPTOP) {
return TICKOP_NONE;
}
if ((obj->hidden & OBJHFLAG_AIRBORNE) && obj->projectile->unk0b4 > 0) {
if (obj->projectile->unk108 == NULL) {
if (obj->projectile->unk090 == 0) {
return TICKOP_NONE;
}
} else {
if (obj->projectile->unk108 != g_Vars.currentplayer->prop) {
return TICKOP_NONE;
}
}
}
if (!objCanPickupFromSafe(obj)) {
return TICKOP_NONE;
}
if (obj->type == OBJTYPE_WEAPON) {
struct weaponobj *weapon = prop->weapon;
bool maybe = true;
s32 leftweaponnum;
s32 rightweaponnum;
if (weapon->weaponnum == WEAPON_GRENADE
|| weapon->weaponnum == WEAPON_GRENADEROUND
|| weapon->weaponnum == WEAPON_NBOMB
|| weapon->weaponnum == WEAPON_SKROCKET) {
if (weapon->timer240 >= 0 || (obj->hidden & OBJHFLAG_REAPABLE)) {
return TICKOP_NONE;
}
}
if (weapon->weaponnum == WEAPON_REMOTEMINE
|| weapon->weaponnum == WEAPON_PROXIMITYMINE
|| weapon->weaponnum == WEAPON_TIMEDMINE
|| (weapon->weaponnum == WEAPON_DRAGON && weapon->gunfunc == FUNC_SECONDARY)
|| weapon->weaponnum == WEAPON_TRACERBUG
|| weapon->weaponnum == WEAPON_TARGETAMPLIFIER
|| weapon->weaponnum == WEAPON_COMMSRIDER
|| weapon->weaponnum == WEAPON_ECMMINE) {
if (weapon->timer240 >= 0 || (obj->hidden & OBJHFLAG_REAPABLE)) {
return TICKOP_NONE;
}
}
if (weapon->weaponnum == WEAPON_ROCKET
|| weapon->weaponnum == WEAPON_HOMINGROCKET
|| weapon->weaponnum == WEAPON_BOLT
|| weapon->weaponnum == WEAPON_COMBATKNIFE) {
if (obj->hidden & OBJHFLAG_AIRBORNE) {
return TICKOP_NONE;
}
}
if (invHasSingleWeaponExcAllGuns(weapon->weaponnum) && bgunGetAmmoTypeForWeapon(weapon->weaponnum, FUNC_PRIMARY)) {
if (cheatIsActive(CHEAT_UNLIMITEDAMMO) || cheatIsActive(CHEAT_UNLIMITEDAMMONORELOADS)) {
maybe = false;
} else {
maybe = bgunGetAmmoQtyForWeapon(weapon->weaponnum, FUNC_PRIMARY) >= bgunGetAmmoCapacityForWeapon(weapon->weaponnum, FUNC_PRIMARY);
}
if (weapon->weaponnum == WEAPON_SUPERDRAGON) {
if (bgunGetAmmoQtyForWeapon(weapon->weaponnum, FUNC_SECONDARY) < bgunGetAmmoCapacityForWeapon(weapon->weaponnum, FUNC_SECONDARY)) {
maybe = false;
}
}
if (maybe) {
if (weapon->dualweapon || weapon->dualweaponnum >= 0) {
if (weapon->dualweapon) {
leftweaponnum = rightweaponnum = weapon->dualweapon->weaponnum;
} else {
leftweaponnum = rightweaponnum = weapon->dualweaponnum;
}
if ((weapon->base.flags & OBJFLAG_DEACTIVATED)) {
rightweaponnum = weapon->weaponnum;
} else {
leftweaponnum = weapon->weaponnum;
}
if (invHasDoubleWeaponExcAllGuns(leftweaponnum, rightweaponnum)) {
return TICKOP_NONE;
}
} else {
if (g_Vars.normmplayerisrunning
&& weaponHasFlag(weapon->weaponnum, WEAPONFLAG_DUALWIELD)
&& !invHasDoubleWeaponExcAllGuns(weapon->weaponnum, weapon->weaponnum)) {
struct invitem *item = invFindSingleWeapon(weapon->weaponnum);
if ((item && item->type_weap.pickuppad == weapon->base.pad) || weapon->base.pad < 0) {
return TICKOP_NONE;
}
} else {
return TICKOP_NONE;
}
}
}
}
} else if (obj->type == OBJTYPE_AMMOCRATE) {
struct ammocrateobj *crate = (struct ammocrateobj *) prop->obj;
if (bgunGetReservedAmmoCount(crate->ammotype) >= bgunGetCapacityByAmmotype(crate->ammotype)) {
if ((crate->ammotype != AMMOTYPE_GRENADE || invHasSingleWeaponExcAllGuns(WEAPON_GRENADE))
&& (crate->ammotype != AMMOTYPE_CLOAK || invHasSingleWeaponExcAllGuns(WEAPON_CLOAKINGDEVICE))
&& (crate->ammotype != AMMOTYPE_BOOST || invHasSingleWeaponExcAllGuns(WEAPON_COMBATBOOST))
&& (crate->ammotype != AMMOTYPE_NBOMB || invHasSingleWeaponExcAllGuns(WEAPON_NBOMB))
&& (crate->ammotype != AMMOTYPE_REMOTE_MINE || invHasSingleWeaponExcAllGuns(WEAPON_REMOTEMINE))
&& (crate->ammotype != AMMOTYPE_PROXY_MINE || invHasSingleWeaponExcAllGuns(WEAPON_PROXIMITYMINE))
&& (crate->ammotype != AMMOTYPE_TIMED_MINE || invHasSingleWeaponExcAllGuns(WEAPON_TIMEDMINE))
&& (crate->ammotype != AMMOTYPE_KNIFE || invHasSingleWeaponExcAllGuns(WEAPON_COMBATKNIFE))) {
return TICKOP_NONE;
}
}
} else if (obj->type == OBJTYPE_MULTIAMMOCRATE) {
struct multiammocrateobj *crate = (struct multiammocrateobj *) prop->obj;
bool ignore = true;
s32 i;
if (objGetDestroyedValue(obj)) {
return TICKOP_NONE;
}
for (i = 0; i <= AMMOTYPE_NBOMB; i++) {
s32 ammotype = i + 1;
if (crate->slots[i].quantity > 0) {
if (bgunGetReservedAmmoCount(ammotype) < bgunGetCapacityByAmmotype(ammotype)) {
ignore = false;
break;
}
if ((ammotype == AMMOTYPE_GRENADE && !invHasSingleWeaponExcAllGuns(WEAPON_GRENADE))
|| (ammotype == AMMOTYPE_CLOAK && !invHasSingleWeaponExcAllGuns(WEAPON_CLOAKINGDEVICE))
|| (ammotype == AMMOTYPE_BOOST && !invHasSingleWeaponExcAllGuns(WEAPON_COMBATBOOST))
|| (ammotype == AMMOTYPE_NBOMB && !invHasSingleWeaponExcAllGuns(WEAPON_NBOMB))
|| (ammotype == AMMOTYPE_REMOTE_MINE && !invHasSingleWeaponExcAllGuns(WEAPON_REMOTEMINE))
|| (ammotype == AMMOTYPE_PROXY_MINE && !invHasSingleWeaponExcAllGuns(WEAPON_PROXIMITYMINE))
|| (ammotype == AMMOTYPE_TIMED_MINE && !invHasSingleWeaponExcAllGuns(WEAPON_TIMEDMINE))
|| (ammotype == AMMOTYPE_KNIFE && !invHasSingleWeaponExcAllGuns(WEAPON_COMBATKNIFE))) {
ignore = false;
break;
}
}
}
if (ignore) {
return TICKOP_NONE;
}
} else if (obj->type == OBJTYPE_SHIELD) {
struct shieldobj *shield = (struct shieldobj *) prop->obj;
bool ignore = false;
if (shield->amount <= playerGetShieldFrac()) {
ignore = true;
} else if (g_Vars.normmplayerisrunning
&& g_MpSetup.scenario == MPSCENARIO_HOLDTHEBRIEFCASE
&& invHasBriefcase()) {
ignore = true;
}
if (ignore) {
return TICKOP_NONE;
}
}
if (g_Vars.currentplayer->vv_verta * M_BADTAU / 360.0f < -0.7852731347084f) {
if (g_Vars.currentplayer->magnetattracttime < 0) {
return TICKOP_NONE;
}
}
{
struct prop *playerprop = g_Vars.currentplayer->prop;
f32 xdiff = prop->pos.x - playerprop->pos.x;
f32 ydiff = prop->pos.y - playerprop->pos.y;
f32 zdiff = prop->pos.z - playerprop->pos.z;
f32 range;
bool usebigrange;
bool pickup;
u32 stack;
usebigrange = (obj->flags3 & OBJFLAG3_ONSHELF)
&& (cheatIsActive(CHEAT_SMALLJO) || cheatIsActive(CHEAT_PLAYASELVIS));
if (g_Vars.currentplayer->magnetattracttime >= 60) {
pickup = xdiff * xdiff + zdiff * zdiff <= 350 * 350 && ydiff >= -500 && ydiff <= 500;
} else {
if (usebigrange) {
range = 200 * 200;
} else {
range = 100 * 100;
}
pickup = xdiff * xdiff + zdiff * zdiff <= range && ydiff >= -200 && ydiff <= 200;
}
if (pickup
&& (obj->flags2 & OBJFLAG2_PICKUPWITHOUTLOS) == 0
&& !usebigrange
&& cdHasLineOfSight(&playerprop->pos, playerprop->rooms, &prop->pos, prop->rooms, 0x22, 0x1c) == 0) {
pickup = false;
}
if (pickup) {
return propPickupByPlayer(prop, 1);
}
}
return TICKOP_NONE;
}
bool func0f0899dc(struct prop *prop, struct coord *arg1, f32 *arg2, f32 *arg3)
{
if (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK) {
struct defaultobj *obj = prop->obj;
Mtxf *matrix = model0001a60c(obj->model);
arg1->z = matrix->m[3][2];
if (arg1->z < 0) {
arg1->x = matrix->m[3][0];
arg1->y = matrix->m[3][1];
arg3[0] = 0;
arg3[1] = 0;
arg2[0] = 0;
arg2[1] = 0;
func0f067d88(obj->model, &arg2[1], &arg2[0], &arg3[1], &arg3[0]);
return true;
}
}
return false;
}
GLOBAL_ASM(
glabel func0f089a94
/* f089a94: 27bdffc0 */ addiu $sp,$sp,-64
/* f089a98: afbf003c */ sw $ra,0x3c($sp)
/* f089a9c: afbe0038 */ sw $s8,0x38($sp)
/* f089aa0: afb70034 */ sw $s7,0x34($sp)
/* f089aa4: afb60030 */ sw $s6,0x30($sp)
/* f089aa8: afb5002c */ sw $s5,0x2c($sp)
/* f089aac: afb40028 */ sw $s4,0x28($sp)
/* f089ab0: afb30024 */ sw $s3,0x24($sp)
/* f089ab4: afb20020 */ sw $s2,0x20($sp)
/* f089ab8: afb1001c */ sw $s1,0x1c($sp)
/* f089abc: afb00018 */ sw $s0,0x18($sp)
/* f089ac0: 8cb60008 */ lw $s6,0x8($a1)
/* f089ac4: 00a09825 */ or $s3,$a1,$zero
/* f089ac8: 0080a825 */ or $s5,$a0,$zero
/* f089acc: 8ed00000 */ lw $s0,0x0($s6)
/* f089ad0: 2414000c */ addiu $s4,$zero,0xc
/* f089ad4: 24170008 */ addiu $s7,$zero,0x8
/* f089ad8: 12000059 */ beqz $s0,.L0f089c40
/* f089adc: 241e0012 */ addiu $s8,$zero,0x12
/* f089ae0: 96020000 */ lhu $v0,0x0($s0)
.L0f089ae4:
/* f089ae4: 02602025 */ or $a0,$s3,$zero
/* f089ae8: 304e00ff */ andi $t6,$v0,0xff
/* f089aec: 11d70039 */ beq $t6,$s7,.L0f089bd4
/* f089af0: 00000000 */ nop
/* f089af4: 11de003b */ beq $t6,$s8,.L0f089be4
/* f089af8: 02602025 */ or $a0,$s3,$zero
/* f089afc: 24010017 */ addiu $at,$zero,0x17
/* f089b00: 11c1003c */ beq $t6,$at,.L0f089bf4
/* f089b04: 02602025 */ or $a0,$s3,$zero
/* f089b08: 24010018 */ addiu $at,$zero,0x18
/* f089b0c: 11c10003 */ beq $t6,$at,.L0f089b1c
/* f089b10: 02602025 */ or $a0,$s3,$zero
/* f089b14: 1000003a */ b .L0f089c00
/* f089b18: 8e020014 */ lw $v0,0x14($s0)
.L0f089b1c:
/* f089b1c: 8e110004 */ lw $s1,0x4($s0)
/* f089b20: 0c006a87 */ jal modelGetNodeRwData
/* f089b24: 02002825 */ or $a1,$s0,$zero
/* f089b28: 00409025 */ or $s2,$v0,$zero
/* f089b2c: 02c02025 */ or $a0,$s6,$zero
/* f089b30: 0fc20706 */ jal modelIsNodeNotTvscreen
/* f089b34: 02002825 */ or $a1,$s0,$zero
/* f089b38: 10400024 */ beqz $v0,.L0f089bcc
/* f089b3c: 00000000 */ nop
/* f089b40: 8e22000c */ lw $v0,0xc($s1)
/* f089b44: 8e450000 */ lw $a1,0x0($s2)
/* f089b48: 50450007 */ beql $v0,$a1,.L0f089b68
/* f089b4c: 86380010 */ lh $t8,0x10($s1)
/* f089b50: 0fc4a606 */ jal vtxstoreFree
/* f089b54: 02a02025 */ or $a0,$s5,$zero
/* f089b58: 8e2f000c */ lw $t7,0xc($s1)
/* f089b5c: ae4f0000 */ sw $t7,0x0($s2)
/* f089b60: 8e22000c */ lw $v0,0xc($s1)
/* f089b64: 86380010 */ lh $t8,0x10($s1)
.L0f089b68:
/* f089b68: 8e450008 */ lw $a1,0x8($s2)
/* f089b6c: 24010001 */ addiu $at,$zero,0x1
/* f089b70: 03140019 */ multu $t8,$s4
/* f089b74: 0000c812 */ mflo $t9
/* f089b78: 00594021 */ addu $t0,$v0,$t9
/* f089b7c: 25090007 */ addiu $t1,$t0,0x7
/* f089b80: 352a0007 */ ori $t2,$t1,0x7
/* f089b84: 394b0007 */ xori $t3,$t2,0x7
/* f089b88: 11650010 */ beq $t3,$a1,.L0f089bcc
/* f089b8c: 00000000 */ nop
/* f089b90: 16a10003 */ bne $s5,$at,.L0f089ba0
/* f089b94: 24040002 */ addiu $a0,$zero,0x2
/* f089b98: 10000001 */ b .L0f089ba0
/* f089b9c: 24040003 */ addiu $a0,$zero,0x3
.L0f089ba0:
/* f089ba0: 0fc4a606 */ jal vtxstoreFree
/* f089ba4: 00000000 */ nop
/* f089ba8: 862d0010 */ lh $t5,0x10($s1)
/* f089bac: 8e2c000c */ lw $t4,0xc($s1)
/* f089bb0: 01b40019 */ multu $t5,$s4
/* f089bb4: 00007012 */ mflo $t6
/* f089bb8: 018e7821 */ addu $t7,$t4,$t6
/* f089bbc: 25f80007 */ addiu $t8,$t7,0x7
/* f089bc0: 37190007 */ ori $t9,$t8,0x7
/* f089bc4: 3b280007 */ xori $t0,$t9,0x7
/* f089bc8: ae480008 */ sw $t0,0x8($s2)
.L0f089bcc:
/* f089bcc: 1000000c */ b .L0f089c00
/* f089bd0: 8e020014 */ lw $v0,0x14($s0)
.L0f089bd4:
/* f089bd4: 0c0071e1 */ jal model0001c784
/* f089bd8: 02002825 */ or $a1,$s0,$zero
/* f089bdc: 10000008 */ b .L0f089c00
/* f089be0: 8e020014 */ lw $v0,0x14($s0)
.L0f089be4:
/* f089be4: 0c0071f4 */ jal model0001c7d0
/* f089be8: 02002825 */ or $a1,$s0,$zero
/* f089bec: 10000004 */ b .L0f089c00
/* f089bf0: 8e020014 */ lw $v0,0x14($s0)
.L0f089bf4:
/* f089bf4: 0c007207 */ jal modelAttachHead
/* f089bf8: 02002825 */ or $a1,$s0,$zero
/* f089bfc: 8e020014 */ lw $v0,0x14($s0)
.L0f089c00:
/* f089c00: 10400003 */ beqz $v0,.L0f089c10
/* f089c04: 00000000 */ nop
/* f089c08: 1000000b */ b .L0f089c38
/* f089c0c: 00408025 */ or $s0,$v0,$zero
.L0f089c10:
/* f089c10: 12000009 */ beqz $s0,.L0f089c38
/* f089c14: 00000000 */ nop
/* f089c18: 8e02000c */ lw $v0,0xc($s0)
.L0f089c1c:
/* f089c1c: 50400004 */ beqzl $v0,.L0f089c30
/* f089c20: 8e100008 */ lw $s0,0x8($s0)
/* f089c24: 10000004 */ b .L0f089c38
/* f089c28: 00408025 */ or $s0,$v0,$zero
/* f089c2c: 8e100008 */ lw $s0,0x8($s0)
.L0f089c30:
/* f089c30: 5600fffa */ bnezl $s0,.L0f089c1c
/* f089c34: 8e02000c */ lw $v0,0xc($s0)
.L0f089c38:
/* f089c38: 5600ffaa */ bnezl $s0,.L0f089ae4
/* f089c3c: 96020000 */ lhu $v0,0x0($s0)
.L0f089c40:
/* f089c40: 8fbf003c */ lw $ra,0x3c($sp)
/* f089c44: 8fb00018 */ lw $s0,0x18($sp)
/* f089c48: 8fb1001c */ lw $s1,0x1c($sp)
/* f089c4c: 8fb20020 */ lw $s2,0x20($sp)
/* f089c50: 8fb30024 */ lw $s3,0x24($sp)
/* f089c54: 8fb40028 */ lw $s4,0x28($sp)
/* f089c58: 8fb5002c */ lw $s5,0x2c($sp)
/* f089c5c: 8fb60030 */ lw $s6,0x30($sp)
/* f089c60: 8fb70034 */ lw $s7,0x34($sp)
/* f089c64: 8fbe0038 */ lw $s8,0x38($sp)
/* f089c68: 03e00008 */ jr $ra
/* f089c6c: 27bd0040 */ addiu $sp,$sp,0x40
);
struct prop *hatApplyToChr(struct hatobj *hat, struct chrdata *chr, struct modelfiledata *filedata, struct prop *prop, struct model *model)
{
if (chr->model->filedata->skel == &g_SkelChr) {
prop = objInit(&hat->base, filedata, prop, model);
if (prop && hat->base.model) {
f32 scale = hat->base.extrascale * (1.0f / 256.0f);
modelSetScale(hat->base.model, scale * hat->base.model->scale);
hat->base.model->attachedtomodel = chr->model;
hat->base.model->attachedtonode = modelGetPart(chr->model->filedata, MODELPART_CHR_0006);
propReparent(prop, chr->prop);
chr->weapons_held[2] = prop;
}
}
if (hat);
return prop;
}
void hatLoadAndApplyToChr(struct hatobj *hat, struct chrdata *chr)
{
u32 stack;
s32 modelnum = hat->base.modelnum;
modelLoad(modelnum);
hatApplyToChr(hat, chr, g_ModelStates[modelnum].filedata, NULL, NULL);
}
void hatAssignToChr(struct hatobj *hat, struct chrdata *chr)
{
hatLoadAndApplyToChr(hat, chr);
}
struct prop *hatCreateForChr(struct chrdata *chr, s32 modelnum, u32 flags)
{
struct modelfiledata *filedata;
struct prop *prop;
struct model *model;
struct hatobj *obj;
modelLoad(modelnum);
filedata = g_ModelStates[modelnum].filedata;
prop = propAllocate();
model = modelInstantiate(filedata);
obj = hatCreate(prop == NULL, model == NULL, filedata);
if (prop == NULL) {
prop = propAllocate();
}
if (model == NULL) {
model = modelInstantiate(filedata);
}
if (obj && prop && model) {
struct hatobj tmp = {
256, // extrascale
0, // hidden2
OBJTYPE_HAT, // type
0, // modelnum
0, // pad
OBJFLAG_ASSIGNEDTOCHR, // flags
0, // flags2
0, // flags3
NULL, // prop
NULL, // model
1, 0, 0, // realrot
0, 1, 0,
0, 0, 1,
0, // hidden
NULL, // geo
NULL, // projectile
0, // damage
1000, // maxdamage
0xff, 0xff, 0xff, 0x00, // shadecol
0xff, 0xff, 0xff, 0x00, // nextcol
0x0fff, // floorcol
0, // tiles
};
*obj = tmp;
obj->base.modelnum = modelnum;
obj->base.flags = flags | OBJFLAG_ASSIGNEDTOCHR;
obj->base.pad = chr->chrnum;
prop = hatApplyToChr(obj, chr, filedata, prop, model);
} else {
if (model) {
modelFree(model);
}
if (prop) {
propFree(prop);
prop = NULL;
}
if (obj) {
obj->base.prop = NULL;
obj->base.model = NULL;
}
}
return prop;
}
struct weaponobj *weaponCreate(bool musthaveprop, bool musthavemodel, struct modelfiledata *filedata)
{
s32 i;
struct weaponobj *tmp;
struct weaponobj *sp4c = NULL;
struct weaponobj *sp48 = NULL;
s32 sp44 = -1;
s32 sp40 = -1;
s32 sp3c = -1;
for (i = g_NextWeaponSlot; true; ) {
bool usable = false;
if (g_WeaponSlots[i].base.prop == NULL) {
if (!musthaveprop && !musthavemodel) {
sp44 = i;
break;
}
} else {
#if VERSION >= VERSION_NTSC_1_0
if ((g_WeaponSlots[i].base.hidden & OBJHFLAG_AIRBORNE) == 0
&& (g_WeaponSlots[i].base.hidden2 & OBJH2FLAG_CANREGEN) == 0
&& (g_WeaponSlots[i].base.flags & OBJFLAG_00800000) == 0)
#else
if ((g_WeaponSlots[i].base.hidden & OBJHFLAG_AIRBORNE) == 0
&& (g_WeaponSlots[i].base.hidden2 & OBJH2FLAG_CANREGEN) == 0)
#endif
{
if (g_WeaponSlots[i].base.prop->parent) {
if (g_WeaponSlots[i].base.hidden & OBJHFLAG_00000040) {
usable = true;
}
} else {
usable = true;
}
}
}
if (usable) {
if (!musthavemodel || func0f0b28d0(g_WeaponSlots[i].base.model, filedata)) {
if ((g_WeaponSlots[i].base.prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0 && sp40 < 0) {
sp40 = i;
}
if (sp3c < 0) {
sp3c = i;
}
}
}
i = (i + 1) % g_MaxWeaponSlots;
if (i == g_NextWeaponSlot) {
break;
}
}
if (sp44 >= 0) {
g_NextWeaponSlot = (sp44 + 1) % g_MaxWeaponSlots;
return &g_WeaponSlots[sp44];
}
tmp = (struct weaponobj *)setupFindObjForReuse(OBJTYPE_WEAPON, (struct defaultobj **)&sp4c, (struct defaultobj **)&sp48, musthaveprop, musthavemodel, filedata);
if (tmp) {
return tmp;
}
if (sp40 >= 0) {
if (g_WeaponSlots[sp40].base.prop) {
objFreePermanently(&g_WeaponSlots[sp40].base, true);
}
g_NextWeaponSlot = (sp40 + 1) % g_MaxWeaponSlots;
return &g_WeaponSlots[sp40];
}
if (sp4c) {
if (sp4c->base.prop) {
objFreePermanently(&sp4c->base, true);
}
return sp4c;
}
if (sp3c >= 0) {
if (g_WeaponSlots[sp3c].base.prop) {
objFreePermanently(&g_WeaponSlots[sp3c].base, true);
}
g_NextWeaponSlot = (sp3c + 1) % g_MaxWeaponSlots;
return &g_WeaponSlots[sp3c];
}
if (sp48) {
if (sp48->base.prop) {
objFreePermanently(&sp48->base, true);
}
return sp48;
}
return NULL;
}
struct weaponobj *func0f08a364(void)
{
return weaponCreate(false, false, NULL);
}
struct hatobj *hatCreate(bool musthaveprop, bool musthavemodel, struct modelfiledata *filedata)
{
s32 i;
struct hatobj *tmp;
struct hatobj *sp4c = NULL;
struct hatobj *sp48 = NULL;
s32 sp44 = -1;
s32 sp40 = -1;
s32 sp3c = -1;
for (i = g_NextHatSlot; true; ) {
if (g_HatSlots[i].base.prop == NULL) {
if (!musthaveprop && !musthavemodel) {
sp44 = i;
break;
}
} else if ((g_HatSlots[i].base.hidden & OBJHFLAG_AIRBORNE) == 0
&& g_HatSlots[i].base.prop->parent == NULL
&& (!musthavemodel || func0f0b28d0(g_HatSlots[i].base.model, filedata))) {
if ((g_HatSlots[i].base.prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0 && sp40 < 0) {
sp40 = i;
}
if (sp3c < 0) {
sp3c = i;
}
}
i = (i + 1) % g_MaxHatSlots;
if (i == g_NextHatSlot) {
break;
}
}
if (sp44 >= 0) {
g_NextHatSlot = (sp44 + 1) % g_MaxHatSlots;
return &g_HatSlots[sp44];
}
tmp = (struct hatobj *)setupFindObjForReuse(OBJTYPE_HAT, (struct defaultobj **)&sp4c, (struct defaultobj **)&sp48, musthaveprop, musthavemodel, filedata);
if (tmp) {
return tmp;
}
if (sp40 >= 0) {
if (g_HatSlots[sp40].base.prop) {
objFreePermanently(&g_HatSlots[sp40].base, true);
}
g_NextHatSlot = (sp40 + 1) % g_MaxHatSlots;
return &g_HatSlots[sp40];
}
if (sp4c) {
if (sp4c->base.prop) {
objFreePermanently(&sp4c->base, true);
}
return sp4c;
}
if (sp3c >= 0) {
if (g_HatSlots[sp3c].base.prop) {
objFreePermanently(&g_HatSlots[sp3c].base, true);
}
g_NextHatSlot = (sp3c + 1) % g_MaxHatSlots;
return &g_HatSlots[sp3c];
}
if (sp48) {
if (sp48->base.prop) {
objFreePermanently(&sp48->base, true);
}
return sp48;
}
return NULL;
}
struct hatobj *func0f08a6fc(void)
{
return hatCreate(false, false, NULL);
}
struct ammocrateobj *ammocrateAllocate(void)
{
s32 i;
// Try to find a free one
for (i = 0; i < g_MaxAmmoCrates; i++) {
if (g_AmmoCrates[i].base.prop == NULL) {
return &g_AmmoCrates[i];
}
}
// Find one that can be freed off-screen
for (i = 0; i < g_MaxAmmoCrates; i++) {
if ((g_AmmoCrates[i].base.hidden & OBJHFLAG_AIRBORNE) == 0
&& (g_AmmoCrates[i].base.hidden2 & OBJH2FLAG_CANREGEN) == 0
&& g_AmmoCrates[i].base.prop->parent == NULL
&& (g_AmmoCrates[i].base.prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0) {
objFreePermanently(&g_AmmoCrates[i].base, true);
return &g_AmmoCrates[i];
}
}
// Find one that can be freed on-screen
for (i = 0; i < g_MaxAmmoCrates; i++) {
if ((g_AmmoCrates[i].base.hidden & OBJHFLAG_AIRBORNE) == 0
&& (g_AmmoCrates[i].base.hidden2 & OBJH2FLAG_CANREGEN) == 0
&& g_AmmoCrates[i].base.prop->parent == NULL) {
objFreePermanently(&g_AmmoCrates[i].base, true);
return &g_AmmoCrates[i];
}
}
return NULL;
}
GLOBAL_ASM(
glabel func0f08a88c
/* f08a88c: 3c05800a */ lui $a1,%hi(var8009ce4c)
/* f08a890: 8ca5ce4c */ lw $a1,%lo(var8009ce4c)($a1)
/* f08a894: 27bdffd8 */ addiu $sp,$sp,-40
/* f08a898: afbf0014 */ sw $ra,0x14($sp)
/* f08a89c: 18a0000f */ blez $a1,.L0f08a8dc
/* f08a8a0: 00001825 */ or $v1,$zero,$zero
/* f08a8a4: 3c07800a */ lui $a3,%hi(var8009ce64)
/* f08a8a8: 8ce7ce64 */ lw $a3,%lo(var8009ce64)($a3)
/* f08a8ac: 00003025 */ or $a2,$zero,$zero
/* f08a8b0: 00e01025 */ or $v0,$a3,$zero
.L0f08a8b4:
/* f08a8b4: 8c4e0014 */ lw $t6,0x14($v0)
/* f08a8b8: 24630001 */ addiu $v1,$v1,0x1
/* f08a8bc: 0065082a */ slt $at,$v1,$a1
/* f08a8c0: 15c00003 */ bnez $t6,.L0f08a8d0
/* f08a8c4: 2442005c */ addiu $v0,$v0,0x5c
/* f08a8c8: 10000046 */ b .L0f08a9e4
/* f08a8cc: 00c71021 */ addu $v0,$a2,$a3
.L0f08a8d0:
/* f08a8d0: 1420fff8 */ bnez $at,.L0f08a8b4
/* f08a8d4: 24c6005c */ addiu $a2,$a2,0x5c
/* f08a8d8: 00001825 */ or $v1,$zero,$zero
.L0f08a8dc:
/* f08a8dc: 18a00022 */ blez $a1,.L0f08a968
/* f08a8e0: 3c07800a */ lui $a3,%hi(var8009ce64)
/* f08a8e4: 8ce7ce64 */ lw $a3,%lo(var8009ce64)($a3)
/* f08a8e8: 00003025 */ or $a2,$zero,$zero
/* f08a8ec: 00e01025 */ or $v0,$a3,$zero
.L0f08a8f0:
/* f08a8f0: 8c4f0040 */ lw $t7,0x40($v0)
/* f08a8f4: 24630001 */ addiu $v1,$v1,0x1
/* f08a8f8: 0065082a */ slt $at,$v1,$a1
/* f08a8fc: 31f80080 */ andi $t8,$t7,0x80
/* f08a900: 57000016 */ bnezl $t8,.L0f08a95c
/* f08a904: 24c6005c */ addiu $a2,$a2,0x5c
/* f08a908: 90590002 */ lbu $t9,0x2($v0)
/* f08a90c: 33280004 */ andi $t0,$t9,0x4
/* f08a910: 55000012 */ bnezl $t0,.L0f08a95c
/* f08a914: 24c6005c */ addiu $a2,$a2,0x5c
/* f08a918: 8c440014 */ lw $a0,0x14($v0)
/* f08a91c: 8c890018 */ lw $t1,0x18($a0)
/* f08a920: 5520000e */ bnezl $t1,.L0f08a95c
/* f08a924: 24c6005c */ addiu $a2,$a2,0x5c
/* f08a928: 908a0001 */ lbu $t2,0x1($a0)
/* f08a92c: 314b00c2 */ andi $t3,$t2,0xc2
/* f08a930: 15600009 */ bnez $t3,.L0f08a958
/* f08a934: 00c72021 */ addu $a0,$a2,$a3
/* f08a938: 24050001 */ addiu $a1,$zero,0x1
/* f08a93c: 0fc1acd3 */ jal objFreePermanently
/* f08a940: afa60018 */ sw $a2,0x18($sp)
/* f08a944: 3c0c800a */ lui $t4,%hi(var8009ce64)
/* f08a948: 8fa60018 */ lw $a2,0x18($sp)
/* f08a94c: 8d8cce64 */ lw $t4,%lo(var8009ce64)($t4)
/* f08a950: 10000024 */ b .L0f08a9e4
/* f08a954: 00cc1021 */ addu $v0,$a2,$t4
.L0f08a958:
/* f08a958: 24c6005c */ addiu $a2,$a2,0x5c
.L0f08a95c:
/* f08a95c: 1420ffe4 */ bnez $at,.L0f08a8f0
/* f08a960: 2442005c */ addiu $v0,$v0,0x5c
/* f08a964: 00001825 */ or $v1,$zero,$zero
.L0f08a968:
/* f08a968: 18a0001d */ blez $a1,.L0f08a9e0
/* f08a96c: 3c07800a */ lui $a3,%hi(var8009ce64)
/* f08a970: 8ce7ce64 */ lw $a3,%lo(var8009ce64)($a3)
/* f08a974: 00003025 */ or $a2,$zero,$zero
/* f08a978: 00e01025 */ or $v0,$a3,$zero
.L0f08a97c:
/* f08a97c: 8c4d0040 */ lw $t5,0x40($v0)
/* f08a980: 24630001 */ addiu $v1,$v1,0x1
/* f08a984: 0065082a */ slt $at,$v1,$a1
/* f08a988: 31ae0080 */ andi $t6,$t5,0x80
/* f08a98c: 55c00012 */ bnezl $t6,.L0f08a9d8
/* f08a990: 24c6005c */ addiu $a2,$a2,0x5c
/* f08a994: 904f0002 */ lbu $t7,0x2($v0)
/* f08a998: 31f80004 */ andi $t8,$t7,0x4
/* f08a99c: 5700000e */ bnezl $t8,.L0f08a9d8
/* f08a9a0: 24c6005c */ addiu $a2,$a2,0x5c
/* f08a9a4: 8c590014 */ lw $t9,0x14($v0)
/* f08a9a8: 8f280018 */ lw $t0,0x18($t9)
/* f08a9ac: 15000009 */ bnez $t0,.L0f08a9d4
/* f08a9b0: 00c72021 */ addu $a0,$a2,$a3
/* f08a9b4: 24050001 */ addiu $a1,$zero,0x1
/* f08a9b8: 0fc1acd3 */ jal objFreePermanently
/* f08a9bc: afa60018 */ sw $a2,0x18($sp)
/* f08a9c0: 3c09800a */ lui $t1,%hi(var8009ce64)
/* f08a9c4: 8fa60018 */ lw $a2,0x18($sp)
/* f08a9c8: 8d29ce64 */ lw $t1,%lo(var8009ce64)($t1)
/* f08a9cc: 10000005 */ b .L0f08a9e4
/* f08a9d0: 00c91021 */ addu $v0,$a2,$t1
.L0f08a9d4:
/* f08a9d4: 24c6005c */ addiu $a2,$a2,0x5c
.L0f08a9d8:
/* f08a9d8: 1420ffe8 */ bnez $at,.L0f08a97c
/* f08a9dc: 2442005c */ addiu $v0,$v0,0x5c
.L0f08a9e0:
/* f08a9e0: 00001025 */ or $v0,$zero,$zero
.L0f08a9e4:
/* f08a9e4: 8fbf0014 */ lw $ra,0x14($sp)
/* f08a9e8: 27bd0028 */ addiu $sp,$sp,0x28
/* f08a9ec: 03e00008 */ jr $ra
/* f08a9f0: 00000000 */ nop
);
void playerActivateRemoteMineDetonator(s32 playernum)
{
g_PlayersDetonatingMines |= 1 << playernum;
sndStart(var80095200, SFX_DETONATE, 0, -1, -1, -1, -1, -1);
bgunStartDetonateAnimation(playernum);
}
struct weaponobj *weaponFindChildByWeaponNum(s32 weaponnum, struct prop *prop)
{
struct weaponobj *weapon;
struct prop *child;
if (prop->type == PROPTYPE_WEAPON && weaponnum == prop->weapon->weaponnum) {
return prop->weapon;
}
child = prop->child;
while (child) {
weapon = weaponFindChildByWeaponNum(weaponnum, child);
if (weapon) {
return weapon;
}
child = child->next;
}
return NULL;
}
struct weaponobj *weaponFindLanded(s32 weaponnum)
{
struct prop *prop = g_Vars.activeprops;
while (prop) {
struct weaponobj *weapon = weaponFindChildByWeaponNum(weaponnum, prop);
if (weapon && (weapon->base.hidden & OBJHFLAG_AIRBORNE) == 0) {
return weapon;
}
prop = prop->next;
}
return NULL;
}
void weaponRegisterProxy(struct weaponobj *weapon)
{
s32 i;
for (i = 0; i < ARRAYCOUNT(g_Proxies); i++) {
if (g_Proxies[i] == NULL) {
g_Proxies[i] = weapon;
return;
}
}
}
void weaponUnregisterProxy(struct weaponobj *weapon)
{
s32 i;
for (i = 0; i < ARRAYCOUNT(g_Proxies); i++) {
if (g_Proxies[i] == weapon) {
g_Proxies[i] = NULL;
return;
}
}
}
void coordTriggerProxies(struct coord *pos, bool arg1)
{
s32 i;
for (i = 0; i < ARRAYCOUNT(g_Proxies); i++) {
struct weaponobj *weapon = g_Proxies[i];
if (weapon && weapon->timer240 == 1) {
f32 xdiff;
f32 ydiff;
f32 zdiff;
f32 range = 250 * 250;
if (weapon->weaponnum == WEAPON_DRAGON) {
range += range;
}
xdiff = pos->x - weapon->base.prop->pos.x;
ydiff = pos->y - weapon->base.prop->pos.y;
zdiff = pos->z - weapon->base.prop->pos.z;
if (xdiff * xdiff + ydiff * ydiff + zdiff * zdiff < range) {
if (weapon->weaponnum != WEAPON_GRENADE || arg1 == true) {
weapon->timer240 = 0;
}
}
}
}
}
void chrsTriggerProxies(void)
{
s32 numchrs = chrsGetNumSlots();
s32 i;
for (i = 0; i < numchrs; i++) {
struct chrdata *chr = &g_ChrSlots[i];
struct coord pos;
if (chr->model
#if VERSION >= VERSION_NTSC_1_0
&& (chr->hidden2 & CHRH2FLAG_0040)
&& (chr->chrflags & CHRCFLAG_HIDDEN) == 0
#else
&& (chr->hidden & CHRHFLAG_00000200)
#endif
&& chr->prop
&& (chr->prop->flags & PROPFLAG_ENABLED)
&& !chrIsDead(chr)) {
chrCalculatePosition(chr, &pos);
coordTriggerProxies(&pos, true);
}
if (chr);
}
}
void propweaponSetDual(struct weaponobj *weapon1, struct weaponobj *weapon2)
{
weapon1->dualweaponnum = weapon2->weaponnum;
weapon1->dualweapon = weapon2;
weapon2->dualweaponnum = weapon1->weaponnum;
weapon2->dualweapon = weapon1;
}
struct prop *func0f08adc8(struct weaponobj *weapon, struct modelfiledata *filedata, struct prop *prop, struct model *model)
{
prop = objInit(&weapon->base, filedata, prop, model);
if (prop) {
prop->type = PROPTYPE_WEAPON;
weaponSetGunfireVisible(prop, false, -1);
}
return prop;
}
struct prop *func0f08ae0c(struct weaponobj *weapon, struct modelfiledata *filedata)
{
struct prop *prop = objInitWithModelDef(&weapon->base, filedata);
if (prop) {
prop->type = PROPTYPE_WEAPON;
weaponSetGunfireVisible(prop, false, -1);
}
return prop;
}
bool chrEquipWeapon(struct weaponobj *weapon, struct chrdata *chr)
{
u32 stack1;
s32 handnum = (weapon->base.flags & OBJFLAG_WEAPON_LEFTHANDED) ? HAND_LEFT : HAND_RIGHT;
u32 stack2[2];
if (weapon->base.prop && weapon->base.model) {
if (g_Vars.mplayerisrunning) {
s32 playernum = mpPlayerGetIndex(chr);
weapon->base.hidden &= 0x0fffffff;
weapon->base.hidden |= (playernum << 28) & 0xf0000000;
}
if ((weapon->base.flags & OBJFLAG_WEAPON_AICANNOTUSE) == 0) {
if (chr->weapons_held[handnum]) {
if (chr->aibot) {
chr->weapons_held[handnum]->weapon->base.hidden |= OBJHFLAG_REAPABLE;
chr->weapons_held[handnum] = NULL;
} else {
return false;
}
}
if (!chr->weapons_held[handnum]) {
if (chr->model->filedata->skel == &g_SkelChr) {
weapon->base.model->attachedtomodel = chr->model;
if (handnum == HAND_RIGHT) {
weapon->base.model->attachedtonode = modelGetPart(chr->model->filedata, MODELPART_CHR_RIGHTHAND);
} else {
weapon->base.model->attachedtonode = modelGetPart(chr->model->filedata, MODELPART_CHR_LEFTHAND);
}
chr->weapons_held[handnum] = weapon->base.prop;
if ((weapon->base.flags & OBJFLAG_80000000) && chr->weapons_held[1 - handnum]) {
propweaponSetDual(weapon, chr->weapons_held[1 - handnum]->weapon);
}
} else if (chr->model->filedata->skel == &g_SkelSkedar) {
weapon->base.model->attachedtomodel = chr->model;
if (handnum == HAND_RIGHT) {
weapon->base.model->attachedtonode = modelGetPart(chr->model->filedata, MODELPART_SKEDAR_RIGHTHAND);
} else {
weapon->base.model->attachedtonode = modelGetPart(chr->model->filedata, MODELPART_SKEDAR_LEFTHAND);
}
chr->weapons_held[handnum] = weapon->base.prop;
if ((weapon->base.flags & OBJFLAG_80000000) && chr->weapons_held[1 - handnum]) {
propweaponSetDual(weapon, chr->weapons_held[1 - handnum]->weapon);
}
} else {
return false;
}
}
}
propReparent(weapon->base.prop, chr->prop);
} else {
return false;
}
return true;
}
struct prop *func0f08b108(struct weaponobj *weapon, struct chrdata *chr, struct modelfiledata *filedata, struct prop *prop, struct model *model)
{
prop = func0f08adc8(weapon, filedata, prop, model);
if (prop && weapon->base.model) {
f32 scale = weapon->base.extrascale * (1.0f / 256.0f);
modelSetScale(weapon->base.model, weapon->base.model->scale * scale);
if (!chrEquipWeapon(weapon, chr)) {
propFree(prop);
prop = NULL;
weapon->base.prop = NULL;
modelFree(weapon->base.model);
weapon->base.model = NULL;
}
} else {
if (prop) {
propFree(prop);
prop = NULL;
weapon->base.prop = NULL;
}
if (weapon->base.model) {
modelFree(weapon->base.model);
weapon->base.model = NULL;
}
}
return prop;
}
void func0f08b208(struct weaponobj *weapon, struct chrdata *chr)
{
u32 stack;
s32 modelnum = weapon->base.modelnum;
modelLoad(modelnum);
func0f08b108(weapon, chr, g_ModelStates[modelnum].filedata, 0, 0);
}
void func0f08b25c(struct weaponobj *weapon, struct chrdata *chr)
{
func0f08b208(weapon, chr);
}
struct autogunobj *laptopDeploy(s32 modelnum, struct gset *gset, struct chrdata *chr)
{
struct modelfiledata *filedata;
struct prop *prop;
struct model *model;
struct autogunobj *laptop = NULL;
s32 index;
if (g_Vars.normmplayerisrunning) {
index = mpPlayerGetIndex(chr);
} else {
index = propGetPlayerNum(chr->prop);
}
if (index >= 0 && index < g_MaxThrownLaptops) {
modelLoad(modelnum);
filedata = g_ModelStates[modelnum].filedata;
laptop = &g_ThrownLaptops[index];
if (laptop->base.prop) {
#if VERSION >= VERSION_NTSC_1_0
explosionCreateSimple(NULL, &laptop->base.prop->pos, laptop->base.prop->rooms, EXPLOSIONTYPE_3, index);
#else
explosionCreateSimple(NULL, &laptop->base.prop->pos, laptop->base.prop->rooms, EXPLOSIONTYPE_3, 0);
#endif
objFreePermanently(&laptop->base, true);
}
prop = propAllocate();
model = modelInstantiate(filedata);
if (prop == NULL) {
prop = propAllocate();
}
if (model == NULL) {
model = modelInstantiate(filedata);
}
if (laptop && prop && model) {
struct defaultobj tmp = {
256, // extrascale
0, // hidden2
OBJTYPE_AUTOGUN, // type
0, // modelnum
1, // pad
0, // flags
0, // flags2
0, // flags3
NULL, // prop
NULL, // model
1, 0, 0, // realrot
0, 1, 0,
0, 0, 1,
0, // hidden
NULL, // geo
NULL, // projectile
0, // damage
1000, // maxdamage
0xff, 0xff, 0xff, 0x00, // shadecol
0xff, 0xff, 0xff, 0x00, // nextcol
0x0fff, // floorcol
0, // tiles
};
laptop->base = tmp;
laptop->base.modelnum = modelnum;
prop = objInit(&laptop->base, filedata, prop, model);
laptop->targetpad = -1;
laptop->aimdist = 5000;
laptop->unka4 = 0;
laptop->targetteam = ~chr->team & 0xff;
laptop->nextchrtest = 0;
laptop->firecount = 0;
laptop->lastseebond60 = -1;
laptop->lastaimbond60 = -1;
laptop->allowsoundframe = -1;
laptop->firing = false;
laptop->yspeed = 0;
laptop->xspeed = 0;
laptop->barrelspeed = 0;
laptop->barrelrot = 0;
laptop->shotbondsum = 0;
if (chr->aibot) {
laptop->ammoquantity = botactTryRemoveAmmoFromReserve(chr->aibot, WEAPON_LAPTOPGUN, FUNC_PRIMARY, 200);
} else if (chr->prop->type == PROPTYPE_PLAYER) {
s32 qty;
s32 prevplayernum = g_Vars.currentplayernum;
setCurrentPlayerNum(propGetPlayerNum(chr->prop));
qty = bgunGetAmmoQtyForWeapon(WEAPON_LAPTOPGUN, FUNC_PRIMARY);
if (qty >= 200) {
laptop->ammoquantity = 200;
} else {
laptop->ammoquantity = qty;
}
if (cheatIsActive(CHEAT_UNLIMITEDAMMOLAPTOP)) {
laptop->ammoquantity = 255;
} else {
qty -= laptop->ammoquantity;
}
bgunSetAmmoQtyForWeapon(WEAPON_LAPTOPGUN, FUNC_PRIMARY, qty);
setCurrentPlayerNum(prevplayernum);
} else {
laptop->ammoquantity = 255;
}
laptop->beam = &g_ThrownLaptopBeams[index];
laptop->beam->age = -1;
laptop->yzero = 0;
laptop->xzero = 0;
laptop->yrot = 0;
laptop->xrot = 0;
laptop->ymaxleft = 12.56f;
laptop->ymaxright = -12.56f;
laptop->maxspeed = PALUPF(0.0697f);
prop->forcetick = true;
laptop->base.hidden |= OBJHFLAG_TAGGED;
laptop->base.flags |= OBJFLAG_THROWNLAPTOP | OBJFLAG_01000000 | OBJFLAG_20000000;
laptop->base.flags3 |= OBJFLAG3_INTERACTABLE | OBJFLAG3_08000000;
} else {
if (model) {
modelFree(model);
}
if (prop) {
propFree(prop);
}
laptop = NULL;
}
}
return laptop;
}
#if VERSION >= VERSION_NTSC_1_0
GLOBAL_ASM(
glabel func0f08b658
.late_rodata
glabel var7f1aae9c
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaea0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaea4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaea8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeac
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeb0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeb4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeb8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaebc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaec0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaec4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaec8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaecc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaed0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaed4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaed8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaedc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaee0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaee4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaee8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeec
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaef0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaef4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaef8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaefc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf00
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf04
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf08
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf0c
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf10
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf14
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf18
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf1c
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf20
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf24
.word func0f08b658+0x174 # f08b7cc
.text
/* f08b658: 27bdff60 */ addiu $sp,$sp,-160
/* f08b65c: afbf001c */ sw $ra,0x1c($sp)
/* f08b660: afb10018 */ sw $s1,0x18($sp)
/* f08b664: afb00014 */ sw $s0,0x14($sp)
/* f08b668: afa400a0 */ sw $a0,0xa0($sp)
/* f08b66c: afa500a4 */ sw $a1,0xa4($sp)
/* f08b670: 0fc2486d */ jal modelLoad
/* f08b674: afa600a8 */ sw $a2,0xa8($sp)
/* f08b678: 8fae00a0 */ lw $t6,0xa0($sp)
/* f08b67c: 3c188008 */ lui $t8,%hi(g_ModelStates)
/* f08b680: 000e78c0 */ sll $t7,$t6,0x3
/* f08b684: 030fc021 */ addu $t8,$t8,$t7
/* f08b688: 8f18b06c */ lw $t8,%lo(g_ModelStates)($t8)
/* f08b68c: 0fc180d6 */ jal propAllocate
/* f08b690: afb8009c */ sw $t8,0x9c($sp)
/* f08b694: 00408825 */ or $s1,$v0,$zero
/* f08b698: 0fc2cc2b */ jal modelInstantiate
/* f08b69c: 8fa4009c */ lw $a0,0x9c($sp)
/* f08b6a0: 2e240001 */ sltiu $a0,$s1,0x1
/* f08b6a4: 2c450001 */ sltiu $a1,$v0,0x1
/* f08b6a8: 8fa6009c */ lw $a2,0x9c($sp)
/* f08b6ac: 0fc227e3 */ jal weaponCreate
/* f08b6b0: afa20094 */ sw $v0,0x94($sp)
/* f08b6b4: 8fa70094 */ lw $a3,0x94($sp)
/* f08b6b8: 16200005 */ bnez $s1,.L0f08b6d0
/* f08b6bc: 00408025 */ or $s0,$v0,$zero
/* f08b6c0: 0fc180d6 */ jal propAllocate
/* f08b6c4: afa70094 */ sw $a3,0x94($sp)
/* f08b6c8: 8fa70094 */ lw $a3,0x94($sp)
/* f08b6cc: 00408825 */ or $s1,$v0,$zero
.L0f08b6d0:
/* f08b6d0: 14e00004 */ bnez $a3,.L0f08b6e4
/* f08b6d4: 00000000 */ nop
/* f08b6d8: 0fc2cc2b */ jal modelInstantiate
/* f08b6dc: 8fa4009c */ lw $a0,0x9c($sp)
/* f08b6e0: 00403825 */ or $a3,$v0,$zero
.L0f08b6e4:
/* f08b6e4: 12000054 */ beqz $s0,.L0f08b838
/* f08b6e8: 00000000 */ nop
/* f08b6ec: 12200052 */ beqz $s1,.L0f08b838
/* f08b6f0: 00000000 */ nop
/* f08b6f4: 10e00050 */ beqz $a3,.L0f08b838
/* f08b6f8: 27a20028 */ addiu $v0,$sp,0x28
/* f08b6fc: 3c198007 */ lui $t9,%hi(var8006ad24)
/* f08b700: 2739ad24 */ addiu $t9,$t9,%lo(var8006ad24)
/* f08b704: 8fa300a4 */ lw $v1,0xa4($sp)
/* f08b708: 27290060 */ addiu $t1,$t9,0x60
/* f08b70c: 00405025 */ or $t2,$v0,$zero
.L0f08b710:
/* f08b710: 8f210000 */ lw $at,0x0($t9)
/* f08b714: 2739000c */ addiu $t9,$t9,0xc
/* f08b718: 254a000c */ addiu $t2,$t2,0xc
/* f08b71c: ad41fff4 */ sw $at,-0xc($t2)
/* f08b720: 8f21fff8 */ lw $at,-0x8($t9)
/* f08b724: ad41fff8 */ sw $at,-0x8($t2)
/* f08b728: 8f21fffc */ lw $at,-0x4($t9)
/* f08b72c: 1729fff8 */ bne $t9,$t1,.L0f08b710
/* f08b730: ad41fffc */ sw $at,-0x4($t2)
/* f08b734: 8f210000 */ lw $at,0x0($t9)
/* f08b738: 00406825 */ or $t5,$v0,$zero
/* f08b73c: 02007025 */ or $t6,$s0,$zero
/* f08b740: ad410000 */ sw $at,0x0($t2)
/* f08b744: 8f290004 */ lw $t1,0x4($t9)
/* f08b748: 244c0060 */ addiu $t4,$v0,0x60
/* f08b74c: ad490004 */ sw $t1,0x4($t2)
.L0f08b750:
/* f08b750: 8da10000 */ lw $at,0x0($t5)
/* f08b754: 25ad000c */ addiu $t5,$t5,0xc
/* f08b758: 25ce000c */ addiu $t6,$t6,0xc
/* f08b75c: adc1fff4 */ sw $at,-0xc($t6)
/* f08b760: 8da1fff8 */ lw $at,-0x8($t5)
/* f08b764: adc1fff8 */ sw $at,-0x8($t6)
/* f08b768: 8da1fffc */ lw $at,-0x4($t5)
/* f08b76c: 15acfff8 */ bne $t5,$t4,.L0f08b750
/* f08b770: adc1fffc */ sw $at,-0x4($t6)
/* f08b774: 8da10000 */ lw $at,0x0($t5)
/* f08b778: adc10000 */ sw $at,0x0($t6)
/* f08b77c: 8dac0004 */ lw $t4,0x4($t5)
/* f08b780: adcc0004 */ sw $t4,0x4($t6)
/* f08b784: 906f0000 */ lbu $t7,0x0($v1)
/* f08b788: a20f005c */ sb $t7,0x5c($s0)
/* f08b78c: 90780001 */ lbu $t8,0x1($v1)
/* f08b790: a218005d */ sb $t8,0x5d($s0)
/* f08b794: 90680002 */ lbu $t0,0x2($v1)
/* f08b798: a208005e */ sb $t0,0x5e($s0)
/* f08b79c: 90690003 */ lbu $t1,0x3($v1)
/* f08b7a0: a209005f */ sb $t1,0x5f($s0)
/* f08b7a4: 90790000 */ lbu $t9,0x0($v1)
/* f08b7a8: 272affee */ addiu $t2,$t9,-18
/* f08b7ac: 2d410023 */ sltiu $at,$t2,0x23
/* f08b7b0: 10200006 */ beqz $at,.L0f08b7cc
/* f08b7b4: 000a5080 */ sll $t2,$t2,0x2
/* f08b7b8: 3c017f1b */ lui $at,%hi(var7f1aae9c)
/* f08b7bc: 002a0821 */ addu $at,$at,$t2
/* f08b7c0: 8c2aae9c */ lw $t2,%lo(var7f1aae9c)($at)
/* f08b7c4: 01400008 */ jr $t2
/* f08b7c8: 00000000 */ nop
.L0f08b7cc:
/* f08b7cc: 8fab00a0 */ lw $t3,0xa0($sp)
/* f08b7d0: 02002025 */ or $a0,$s0,$zero
/* f08b7d4: 02203025 */ or $a2,$s1,$zero
/* f08b7d8: a60b0004 */ sh $t3,0x4($s0)
/* f08b7dc: 0fc22b72 */ jal func0f08adc8
/* f08b7e0: 8fa5009c */ lw $a1,0x9c($sp)
/* f08b7e4: 3c0c800a */ lui $t4,%hi(g_Vars+0x314)
/* f08b7e8: 8d8ca2d4 */ lw $t4,%lo(g_Vars+0x314)($t4)
/* f08b7ec: 00408825 */ or $s1,$v0,$zero
/* f08b7f0: 5180000e */ beqzl $t4,.L0f08b82c
/* f08b7f4: 922a003f */ lbu $t2,0x3f($s1)
/* f08b7f8: 0fc633fe */ jal mpPlayerGetIndex
/* f08b7fc: 8fa400a8 */ lw $a0,0xa8($sp)
/* f08b800: 8e0d0040 */ lw $t5,0x40($s0)
/* f08b804: 3c010fff */ lui $at,0xfff
/* f08b808: 3421ffff */ ori $at,$at,0xffff
/* f08b80c: 01a17024 */ and $t6,$t5,$at
/* f08b810: 3c01f000 */ lui $at,0xf000
/* f08b814: 0002c700 */ sll $t8,$v0,0x1c
/* f08b818: 03014024 */ and $t0,$t8,$at
/* f08b81c: ae0e0040 */ sw $t6,0x40($s0)
/* f08b820: 01c84825 */ or $t1,$t6,$t0
/* f08b824: ae090040 */ sw $t1,0x40($s0)
/* f08b828: 922a003f */ lbu $t2,0x3f($s1)
.L0f08b82c:
/* f08b82c: 354b0020 */ ori $t3,$t2,0x20
/* f08b830: 1000000d */ b .L0f08b868
/* f08b834: a22b003f */ sb $t3,0x3f($s1)
.L0f08b838:
/* f08b838: 12000003 */ beqz $s0,.L0f08b848
/* f08b83c: 00000000 */ nop
/* f08b840: ae000014 */ sw $zero,0x14($s0)
/* f08b844: ae000018 */ sw $zero,0x18($s0)
.L0f08b848:
/* f08b848: 10e00003 */ beqz $a3,.L0f08b858
/* f08b84c: 00008025 */ or $s0,$zero,$zero
/* f08b850: 0fc2cc33 */ jal modelFree
/* f08b854: 00e02025 */ or $a0,$a3,$zero
.L0f08b858:
/* f08b858: 52200004 */ beqzl $s1,.L0f08b86c
/* f08b85c: 8fbf001c */ lw $ra,0x1c($sp)
/* f08b860: 0fc1810e */ jal propFree
/* f08b864: 02202025 */ or $a0,$s1,$zero
.L0f08b868:
/* f08b868: 8fbf001c */ lw $ra,0x1c($sp)
.L0f08b86c:
/* f08b86c: 02001025 */ or $v0,$s0,$zero
/* f08b870: 8fb00014 */ lw $s0,0x14($sp)
/* f08b874: 8fb10018 */ lw $s1,0x18($sp)
/* f08b878: 03e00008 */ jr $ra
/* f08b87c: 27bd00a0 */ addiu $sp,$sp,0xa0
);
#else
GLOBAL_ASM(
glabel func0f08b658
.late_rodata
glabel var7f1aae9c
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaea0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaea4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaea8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeac
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeb0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeb4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeb8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaebc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaec0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaec4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaec8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaecc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaed0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaed4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaed8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaedc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaee0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaee4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaee8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaeec
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaef0
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaef4
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaef8
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaefc
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf00
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf04
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf08
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf0c
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf10
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf14
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf18
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf1c
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf20
.word func0f08b658+0x174 # f08b7cc
glabel var7f1aaf24
.word func0f08b658+0x174 # f08b7cc
.text
/* f089e90: 27bdff60 */ addiu $sp,$sp,-160
/* f089e94: afbf001c */ sw $ra,0x1c($sp)
/* f089e98: afb10018 */ sw $s1,0x18($sp)
/* f089e9c: afb00014 */ sw $s0,0x14($sp)
/* f089ea0: afa400a0 */ sw $a0,0xa0($sp)
/* f089ea4: afa500a4 */ sw $a1,0xa4($sp)
/* f089ea8: 0fc241fe */ jal modelLoad
/* f089eac: afa600a8 */ sw $a2,0xa8($sp)
/* f089eb0: 8fae00a0 */ lw $t6,0xa0($sp)
/* f089eb4: 3c188008 */ lui $t8,0x8008
/* f089eb8: 000e78c0 */ sll $t7,$t6,0x3
/* f089ebc: 030fc021 */ addu $t8,$t8,$t7
/* f089ec0: 8f18d8cc */ lw $t8,-0x2734($t8)
/* f089ec4: 0fc17d86 */ jal propAllocate
/* f089ec8: afb8009c */ sw $t8,0x9c($sp)
/* f089ecc: 00408825 */ or $s1,$v0,$zero
/* f089ed0: 0fc2c383 */ jal modelInstantiate
/* f089ed4: 8fa4009c */ lw $a0,0x9c($sp)
/* f089ed8: 2e240001 */ sltiu $a0,$s1,0x1
/* f089edc: 2c450001 */ sltiu $a1,$v0,0x1
/* f089ee0: 8fa6009c */ lw $a2,0x9c($sp)
/* f089ee4: 0fc221fa */ jal weaponCreate
/* f089ee8: afa20094 */ sw $v0,0x94($sp)
/* f089eec: 8fa70094 */ lw $a3,0x94($sp)
/* f089ef0: 16200005 */ bnez $s1,.NB0f089f08
/* f089ef4: 00408025 */ or $s0,$v0,$zero
/* f089ef8: 0fc17d86 */ jal propAllocate
/* f089efc: afa70094 */ sw $a3,0x94($sp)
/* f089f00: 8fa70094 */ lw $a3,0x94($sp)
/* f089f04: 00408825 */ or $s1,$v0,$zero
.NB0f089f08:
/* f089f08: 14e00004 */ bnez $a3,.NB0f089f1c
/* f089f0c: 00000000 */ sll $zero,$zero,0x0
/* f089f10: 0fc2c383 */ jal modelInstantiate
/* f089f14: 8fa4009c */ lw $a0,0x9c($sp)
/* f089f18: 00403825 */ or $a3,$v0,$zero
.NB0f089f1c:
/* f089f1c: 12000054 */ beqz $s0,.NB0f08a070
/* f089f20: 00000000 */ sll $zero,$zero,0x0
/* f089f24: 12200052 */ beqz $s1,.NB0f08a070
/* f089f28: 00000000 */ sll $zero,$zero,0x0
/* f089f2c: 10e00050 */ beqz $a3,.NB0f08a070
/* f089f30: 27a20028 */ addiu $v0,$sp,0x28
/* f089f34: 3c198007 */ lui $t9,0x8007
/* f089f38: 2739d420 */ addiu $t9,$t9,-11232
/* f089f3c: 8fa300a4 */ lw $v1,0xa4($sp)
/* f089f40: 27290060 */ addiu $t1,$t9,0x60
/* f089f44: 00405025 */ or $t2,$v0,$zero
.NB0f089f48:
/* f089f48: 8f210000 */ lw $at,0x0($t9)
/* f089f4c: 2739000c */ addiu $t9,$t9,0xc
/* f089f50: 254a000c */ addiu $t2,$t2,0xc
/* f089f54: ad41fff4 */ sw $at,-0xc($t2)
/* f089f58: 8f21fff8 */ lw $at,-0x8($t9)
/* f089f5c: ad41fff8 */ sw $at,-0x8($t2)
/* f089f60: 8f21fffc */ lw $at,-0x4($t9)
/* f089f64: 1729fff8 */ bne $t9,$t1,.NB0f089f48
/* f089f68: ad41fffc */ sw $at,-0x4($t2)
/* f089f6c: 8f210000 */ lw $at,0x0($t9)
/* f089f70: 00406825 */ or $t5,$v0,$zero
/* f089f74: 02007025 */ or $t6,$s0,$zero
/* f089f78: ad410000 */ sw $at,0x0($t2)
/* f089f7c: 8f290004 */ lw $t1,0x4($t9)
/* f089f80: 244c0060 */ addiu $t4,$v0,0x60
/* f089f84: ad490004 */ sw $t1,0x4($t2)
.NB0f089f88:
/* f089f88: 8da10000 */ lw $at,0x0($t5)
/* f089f8c: 25ad000c */ addiu $t5,$t5,0xc
/* f089f90: 25ce000c */ addiu $t6,$t6,0xc
/* f089f94: adc1fff4 */ sw $at,-0xc($t6)
/* f089f98: 8da1fff8 */ lw $at,-0x8($t5)
/* f089f9c: adc1fff8 */ sw $at,-0x8($t6)
/* f089fa0: 8da1fffc */ lw $at,-0x4($t5)
/* f089fa4: 15acfff8 */ bne $t5,$t4,.NB0f089f88
/* f089fa8: adc1fffc */ sw $at,-0x4($t6)
/* f089fac: 8da10000 */ lw $at,0x0($t5)
/* f089fb0: adc10000 */ sw $at,0x0($t6)
/* f089fb4: 8dac0004 */ lw $t4,0x4($t5)
/* f089fb8: adcc0004 */ sw $t4,0x4($t6)
/* f089fbc: 906f0000 */ lbu $t7,0x0($v1)
/* f089fc0: a20f005c */ sb $t7,0x5c($s0)
/* f089fc4: 90780001 */ lbu $t8,0x1($v1)
/* f089fc8: a218005d */ sb $t8,0x5d($s0)
/* f089fcc: 90680002 */ lbu $t0,0x2($v1)
/* f089fd0: a208005e */ sb $t0,0x5e($s0)
/* f089fd4: 90690003 */ lbu $t1,0x3($v1)
/* f089fd8: a209005f */ sb $t1,0x5f($s0)
/* f089fdc: 90790000 */ lbu $t9,0x0($v1)
/* f089fe0: 272affee */ addiu $t2,$t9,-18
/* f089fe4: 2d410023 */ sltiu $at,$t2,0x23
/* f089fe8: 10200006 */ beqz $at,.NB0f08a004
/* f089fec: 000a5080 */ sll $t2,$t2,0x2
/* f089ff0: 3c017f1a */ lui $at,0x7f1a
/* f089ff4: 002a0821 */ addu $at,$at,$t2
/* f089ff8: 8c2a51b8 */ lw $t2,0x51b8($at)
/* f089ffc: 01400008 */ jr $t2
/* f08a000: 00000000 */ sll $zero,$zero,0x0
.NB0f08a004:
/* f08a004: 8fab00a0 */ lw $t3,0xa0($sp)
/* f08a008: 02002025 */ or $a0,$s0,$zero
/* f08a00c: 02203025 */ or $a2,$s1,$zero
/* f08a010: a60b0004 */ sh $t3,0x4($s0)
/* f08a014: 0fc22580 */ jal func0f08adc8
/* f08a018: 8fa5009c */ lw $a1,0x9c($sp)
/* f08a01c: 3c0c800a */ lui $t4,0x800a
/* f08a020: 8d8ce9d4 */ lw $t4,-0x162c($t4)
/* f08a024: 00408825 */ or $s1,$v0,$zero
/* f08a028: 5180000e */ beqzl $t4,.NB0f08a064
/* f08a02c: 922a003f */ lbu $t2,0x3f($s1)
/* f08a030: 0fc61c7f */ jal mpPlayerGetIndex
/* f08a034: 8fa400a8 */ lw $a0,0xa8($sp)
/* f08a038: 8e0d0040 */ lw $t5,0x40($s0)
/* f08a03c: 3c010fff */ lui $at,0xfff
/* f08a040: 3421ffff */ ori $at,$at,0xffff
/* f08a044: 01a17024 */ and $t6,$t5,$at
/* f08a048: 3c01f000 */ lui $at,0xf000
/* f08a04c: 0002c700 */ sll $t8,$v0,0x1c
/* f08a050: 03014024 */ and $t0,$t8,$at
/* f08a054: ae0e0040 */ sw $t6,0x40($s0)
/* f08a058: 01c84825 */ or $t1,$t6,$t0
/* f08a05c: ae090040 */ sw $t1,0x40($s0)
/* f08a060: 922a003f */ lbu $t2,0x3f($s1)
.NB0f08a064:
/* f08a064: 354b0020 */ ori $t3,$t2,0x20
/* f08a068: 10000009 */ beqz $zero,.NB0f08a090
/* f08a06c: a22b003f */ sb $t3,0x3f($s1)
.NB0f08a070:
/* f08a070: 10e00003 */ beqz $a3,.NB0f08a080
/* f08a074: 00008025 */ or $s0,$zero,$zero
/* f08a078: 0fc2c38b */ jal modelFree
/* f08a07c: 00e02025 */ or $a0,$a3,$zero
.NB0f08a080:
/* f08a080: 52200004 */ beqzl $s1,.NB0f08a094
/* f08a084: 8fbf001c */ lw $ra,0x1c($sp)
/* f08a088: 0fc17dbe */ jal propFree
/* f08a08c: 02202025 */ or $a0,$s1,$zero
.NB0f08a090:
/* f08a090: 8fbf001c */ lw $ra,0x1c($sp)
.NB0f08a094:
/* f08a094: 02001025 */ or $v0,$s0,$zero
/* f08a098: 8fb00014 */ lw $s0,0x14($sp)
/* f08a09c: 8fb10018 */ lw $s1,0x18($sp)
/* f08a0a0: 03e00008 */ jr $ra
/* f08a0a4: 27bd00a0 */ addiu $sp,$sp,0xa0
);
#endif
u32 var8006ad24 = 0x01000008;
u32 var8006ad28 = 0x0000ffff;
u32 var8006ad2c = 0x00000001;
u32 var8006ad30 = 0x00000000;
u32 var8006ad34 = 0x00000000;
u32 var8006ad38 = 0x00000000;
u32 var8006ad3c = 0x00000000;
u32 var8006ad40 = 0x3f800000;
u32 var8006ad44 = 0x00000000;
u32 var8006ad48 = 0x00000000;
u32 var8006ad4c = 0x00000000;
u32 var8006ad50 = 0x3f800000;
u32 var8006ad54 = 0x00000000;
u32 var8006ad58 = 0x00000000;
u32 var8006ad5c = 0x00000000;
u32 var8006ad60 = 0x3f800000;
u32 var8006ad64 = 0x00000000;
u32 var8006ad68 = 0x00000000;
u32 var8006ad6c = 0x00000000;
u32 var8006ad70 = 0x000003e8;
u32 var8006ad74 = 0xffffff00;
u32 var8006ad78 = 0xffffff00;
u32 var8006ad7c = 0x0fff0000;
u32 var8006ad80 = 0x00000000;
u32 var8006ad84 = 0x00ffffff;
u32 var8006ad88 = 0x00000000;
struct weaponobj *func0f08b880(s32 modelnum, s32 weaponnum, struct chrdata *chr)
{
struct gset gset = {0};
gset.weaponnum = weaponnum;
return func0f08b658(modelnum, &gset, chr);
}
void chrSetWeaponReapable(struct chrdata *chr, s32 hand)
{
if (chr && chr->weapons_held[hand]) {
struct defaultobj *obj = chr->weapons_held[hand]->obj;
obj->hidden |= OBJHFLAG_REAPABLE;
}
}
struct prop *weaponCreateForChr(struct chrdata *chr, s32 modelnum, s32 weaponnum, u32 flags, struct weaponobj *obj, struct modelfiledata *filedata)
{
struct prop *prop;
struct model *model;
if (filedata == NULL) {
modelLoad(modelnum);
filedata = g_ModelStates[modelnum].filedata;
}
prop = propAllocate();
model = modelInstantiate(filedata);
if (obj == NULL) {
obj = weaponCreate(prop == NULL, model == NULL, filedata);
}
if (prop == NULL) {
prop = propAllocate();
}
if (model == NULL) {
model = modelInstantiate(filedata);
}
if (obj && prop && model) {
struct weaponobj tmp = {
256, // extrascale
0, // hidden2
OBJTYPE_WEAPON, // type
0, // modelnum
0, // pad
OBJFLAG_00000001 | OBJFLAG_ASSIGNEDTOCHR, // flags
0, // flags2
0, // flags3
NULL, // prop
NULL, // model
1, 0, 0, // realrot
0, 1, 0,
0, 0, 1,
0, // hidden
NULL, // geo
NULL, // projectile
0, // damage
1000, // maxdamage
0xff, 0xff, 0xff, 0x00, // shadecol
0xff, 0xff, 0xff, 0x00, // nextcol
0x0fff, // floorcol
0, // tiles
0, // weaponnum
0, // unk5d
0, // unk5e
0, // gunfunc
0, // fadeouttimer60
-1, // dualweaponnum
-1, // timer240
NULL, // dualweapon
};
*obj = tmp;
obj->weaponnum = weaponnum;
obj->gunfunc = FUNC_PRIMARY;
obj->unk5e = 0;
obj->unk5d = 0;
obj->base.modelnum = modelnum;
obj->base.flags = flags | OBJFLAG_ASSIGNEDTOCHR;
obj->base.pad = chr->chrnum;
prop = func0f08b108(obj, chr, filedata, prop, model);
} else {
if (model) {
modelFree(model);
}
if (prop) {
propFree(prop);
prop = NULL;
}
if (obj) {
obj->base.prop = NULL;
obj->base.model = NULL;
}
}
return prop;
}
struct prop *chrGiveWeapon(struct chrdata *chr, s32 model, s32 weaponnum, u32 flags)
{
return weaponCreateForChr(chr, model, weaponnum, flags, NULL, NULL);
}
struct prop *chrGiveWeaponWithAutoModel(struct chrdata *chr, s32 weaponnum, u32 flags)
{
return weaponCreateForChr(chr, weaponGetModel(weaponnum), weaponnum, flags, NULL, NULL);
}
s32 weaponTestForPickup(struct prop *prop)
{
return objTestForPickup(prop);
}
void weaponSetGunfireVisible(struct prop *prop, bool visible, s16 room)
{
u32 stack[4];
bool flash = false;
struct defaultobj *obj = prop->obj;
struct modelnode *node1;
struct modelnode *node2;
union modelrwdata *rwdata1;
union modelrwdata *rwdata2;
if (obj && obj->type == OBJTYPE_WEAPON) {
struct model *model = obj->model;
if (model && model->filedata->skel == &g_SkelChrGun) {
node1 = modelGetPart(model->filedata, MODELPART_CHRGUN_GUNFIRE);
if (node1) {
rwdata1 = modelGetNodeRwData(model, node1);
rwdata1->gunfire.visible = visible;
if (visible) {
flash = true;
}
}
node2 = modelGetPart(model->filedata, MODELPART_CHRGUN_0002);
if (node2) {
rwdata2 = modelGetNodeRwData(model, node2);
rwdata2->toggle.visible = visible;
if (visible) {
flash = true;
}
}
}
}
if (flash && room != -1) {
roomAdjustLighting(room, 48, 128);
}
}
bool weaponIsGunfireVisible(struct prop *prop)
{
struct defaultobj *obj = prop->obj;
struct model *model = obj->model;
struct modelnode *node;
if (model && model->filedata->skel == &g_SkelChrGun) {
node = modelGetPart(model->filedata, MODELPART_CHRGUN_GUNFIRE);
if (node) {
struct modelrwdata_gunfire *rwdata = modelGetNodeRwData(model, node);
return rwdata->visible;
}
node = modelGetPart(model->filedata, MODELPART_CHRGUN_0002);
if (node) {
struct modelrwdata_toggle *rwdata = modelGetNodeRwData(model, node);
return rwdata->visible;
}
}
return false;
}
s32 hatGetType(struct prop *prop)
{
return -1;
}
bool doorIsUnlocked(struct prop *playerprop, struct prop *doorprop)
{
struct doorobj *door = doorprop->door;
bool canopen = false;
if (door->keyflags == 0) {
canopen = true;
} else if (invHasKeyFlags(door->keyflags)) {
canopen = true;
} else {
if (posIsInFrontOfDoor(&playerprop->pos, door)) {
if ((door->base.flags2 & OBJFLAG2_LOCKEDBACK)
&& (door->base.flags2 & OBJFLAG2_LOCKEDFRONT) == 0) {
canopen = true;
}
} else {
if ((door->base.flags2 & OBJFLAG2_LOCKEDBACK) == 0
&& (door->base.flags2 & OBJFLAG2_LOCKEDFRONT)) {
canopen = true;
}
}
}
if (!doorIsPadlockFree(door)) {
canopen = false;
}
return canopen;
}
bool doorIsPosInRange(struct doorobj *door, struct coord *pos, f32 distance, bool isbike)
{
f32 range[3];
if ((door->doorflags & DOORFLAG_LONGRANGE) || isbike) {
distance += 400;
} else {
distance += 200;
}
range[0] = distance;
range[1] = 0;
range[2] = 0;
if (door->doortype == DOORTYPE_VERTICAL
|| door->doortype == DOORTYPE_SLIDING
|| door->doortype == DOORTYPE_SWINGING) {
if (func0f0678f8(pos, range, door->base.pad)) {
return true;
}
}
return false;
}
bool doorIsObjInRange(struct doorobj *door, struct defaultobj *obj, bool isbike)
{
struct modelrodata_bbox *bbox = objFindBboxRodata(obj);
f32 scale = 0;
if (scale < bbox->xmin) {
scale = bbox->xmin;
}
if (scale < -bbox->xmax) {
scale = -bbox->xmax;
}
if (scale < bbox->ymin) {
scale = bbox->ymin;
}
if (scale < -bbox->ymax) {
scale = -bbox->ymax;
}
if (scale < bbox->zmin) {
scale = bbox->zmin;
}
if (scale < -bbox->zmax) {
scale = -bbox->zmax;
}
scale *= obj->model->scale;
return doorIsPosInRange(door, &obj->prop->pos, scale, isbike);
}
/**
* @bug: result should be an integer. Its value can only be 0.0f or 1.0f.
* Nothing bad comes from this, but it uses unnecessary float conversions.
*/
bool vectorIsInFrontOfDoor(struct doorobj *door, struct coord *vector)
{
f32 result;
struct pad pad;
padUnpack(door->base.pad, PADFIELD_NORMAL, &pad);
result = vector->f[0] * pad.normal.f[0] + vector->f[1] * pad.normal.f[1] + vector->f[2] * pad.normal.f[2] >= 0.0f;
if (door->doorflags & DOORFLAG_FLIP) {
result = !result;
}
return result;
}
/**
* Return true if there are no chrs or grabbed/mounted objects within opening
* range of the door (for automatic doors).
*/
bool doorIsRangeEmpty(struct doorobj *door)
{
u32 stack;
s16 *propnumptr;
s16 propnums[256];
roomGetProps(door->base.prop->rooms, propnums, 256);
propnumptr = propnums;
while (*propnumptr >= 0) {
struct prop *prop = &g_Vars.props[*propnumptr];
if (prop->type == PROPTYPE_CHR || prop->type == PROPTYPE_PLAYER) {
if (doorIsPosInRange(door, &prop->pos, 0, false)) {
return false;
}
} else if (prop->type == PROPTYPE_OBJ) {
if (prop->obj->hidden & (OBJHFLAG_MOUNTED | OBJHFLAG_GRABBED)
&& doorIsObjInRange(door, prop->obj, (prop->obj->hidden & OBJHFLAG_MOUNTED) != 0)) {
return false;
}
}
propnumptr++;
}
return true;
}
GLOBAL_ASM(
glabel doorsCheckAutomatic
/* f08c190: 27bdfd90 */ addiu $sp,$sp,-624
/* f08c194: afb50034 */ sw $s5,0x34($sp)
/* f08c198: 3c15800a */ lui $s5,%hi(g_Vars)
/* f08c19c: 26b59fc0 */ addiu $s5,$s5,%lo(g_Vars)
/* f08c1a0: 8eae0284 */ lw $t6,0x284($s5)
/* f08c1a4: afbf0044 */ sw $ra,0x44($sp)
/* f08c1a8: afbe0040 */ sw $s8,0x40($sp)
/* f08c1ac: afb7003c */ sw $s7,0x3c($sp)
/* f08c1b0: afb60038 */ sw $s6,0x38($sp)
/* f08c1b4: afb40030 */ sw $s4,0x30($sp)
/* f08c1b8: afb3002c */ sw $s3,0x2c($sp)
/* f08c1bc: afb20028 */ sw $s2,0x28($sp)
/* f08c1c0: afb10024 */ sw $s1,0x24($sp)
/* f08c1c4: afb00020 */ sw $s0,0x20($sp)
/* f08c1c8: f7b40018 */ sdc1 $f20,0x18($sp)
/* f08c1cc: 8dc400bc */ lw $a0,0xbc($t6)
/* f08c1d0: 27b00068 */ addiu $s0,$sp,0x68
/* f08c1d4: 02002825 */ or $a1,$s0,$zero
/* f08c1d8: 24060100 */ addiu $a2,$zero,0x100
/* f08c1dc: 0fc197e0 */ jal roomGetProps
/* f08c1e0: 24840028 */ addiu $a0,$a0,0x28
/* f08c1e4: 87af0068 */ lh $t7,0x68($sp)
/* f08c1e8: 0200b825 */ or $s7,$s0,$zero
/* f08c1ec: 27b80068 */ addiu $t8,$sp,0x68
/* f08c1f0: 05e0007f */ bltz $t7,.L0f08c3f0
/* f08c1f4: 241e0002 */ addiu $s8,$zero,0x2
/* f08c1f8: 4480a000 */ mtc1 $zero,$f20
/* f08c1fc: 87020000 */ lh $v0,0x0($t8)
/* f08c200: 8ea80338 */ lw $t0,0x338($s5)
.L0f08c204:
/* f08c204: 0002c8c0 */ sll $t9,$v0,0x3
/* f08c208: 0322c821 */ addu $t9,$t9,$v0
/* f08c20c: 0019c8c0 */ sll $t9,$t9,0x3
/* f08c210: 03282821 */ addu $a1,$t9,$t0
/* f08c214: 90a90000 */ lbu $t1,0x0($a1)
/* f08c218: 57c90072 */ bnel $s8,$t1,.L0f08c3e4
/* f08c21c: 86e20002 */ lh $v0,0x2($s7)
/* f08c220: 8cb60004 */ lw $s6,0x4($a1)
/* f08c224: 96ca0070 */ lhu $t2,0x70($s6)
/* f08c228: 314b0010 */ andi $t3,$t2,0x10
/* f08c22c: 5160006d */ beqzl $t3,.L0f08c3e4
/* f08c230: 86e20002 */ lh $v0,0x2($s7)
/* f08c234: 8eac0284 */ lw $t4,0x284($s5)
/* f08c238: 0fc22f40 */ jal doorIsUnlocked
/* f08c23c: 8d8400bc */ lw $a0,0xbc($t4)
/* f08c240: 50400068 */ beqzl $v0,.L0f08c3e4
/* f08c244: 86e20002 */ lh $v0,0x2($s7)
/* f08c248: 82c20084 */ lb $v0,0x84($s6)
/* f08c24c: 53c20009 */ beql $s8,$v0,.L0f08c274
/* f08c250: 8ea30284 */ lw $v1,0x284($s5)
/* f08c254: 54400063 */ bnezl $v0,.L0f08c3e4
/* f08c258: 86e20002 */ lh $v0,0x2($s7)
/* f08c25c: c6c4007c */ lwc1 $f4,0x7c($s6)
/* f08c260: 4614203e */ c.le.s $f4,$f20
/* f08c264: 00000000 */ nop
/* f08c268: 4502005e */ bc1fl .L0f08c3e4
/* f08c26c: 86e20002 */ lh $v0,0x2($s7)
/* f08c270: 8ea30284 */ lw $v1,0x284($s5)
.L0f08c274:
/* f08c274: 24010004 */ addiu $at,$zero,0x4
/* f08c278: 00009025 */ or $s2,$zero,$zero
/* f08c27c: 8c6201b0 */ lw $v0,0x1b0($v1)
/* f08c280: 00009825 */ or $s3,$zero,$zero
/* f08c284: 0000a025 */ or $s4,$zero,$zero
/* f08c288: 54410007 */ bnel $v0,$at,.L0f08c2a8
/* f08c28c: 24010003 */ addiu $at,$zero,0x3
/* f08c290: 0fc31f31 */ jal bmoveGetGrabbedProp
/* f08c294: 00000000 */ nop
/* f08c298: 8c530004 */ lw $s3,0x4($v0)
/* f08c29c: 10000009 */ b .L0f08c2c4
/* f08c2a0: 8ea30284 */ lw $v1,0x284($s5)
/* f08c2a4: 24010003 */ addiu $at,$zero,0x3
.L0f08c2a8:
/* f08c2a8: 54410007 */ bnel $v0,$at,.L0f08c2c8
/* f08c2ac: 8c6400bc */ lw $a0,0xbc($v1)
/* f08c2b0: 0fc31f26 */ jal bmoveGetHoverbike
/* f08c2b4: 00000000 */ nop
/* f08c2b8: 8c530004 */ lw $s3,0x4($v0)
/* f08c2bc: 24140001 */ addiu $s4,$zero,0x1
/* f08c2c0: 8ea30284 */ lw $v1,0x284($s5)
.L0f08c2c4:
/* f08c2c4: 8c6400bc */ lw $a0,0xbc($v1)
.L0f08c2c8:
/* f08c2c8: 02c02825 */ or $a1,$s6,$zero
/* f08c2cc: 0fc23fff */ jal posIsInFrontOfDoor
/* f08c2d0: 24840008 */ addiu $a0,$a0,0x8
/* f08c2d4: 8ea50284 */ lw $a1,0x284($s5)
/* f08c2d8: 00408825 */ or $s1,$v0,$zero
/* f08c2dc: 02c02025 */ or $a0,$s6,$zero
/* f08c2e0: 0fc22fde */ jal vectorIsInFrontOfDoor
/* f08c2e4: 24a5036c */ addiu $a1,$a1,0x36c
/* f08c2e8: 50510011 */ beql $v0,$s1,.L0f08c330
/* f08c2ec: 8ed000bc */ lw $s0,0xbc($s6)
/* f08c2f0: 8eae0284 */ lw $t6,0x284($s5)
/* f08c2f4: 4406a000 */ mfc1 $a2,$f20
/* f08c2f8: 02c02025 */ or $a0,$s6,$zero
/* f08c2fc: 8dc500bc */ lw $a1,0xbc($t6)
/* f08c300: 02803825 */ or $a3,$s4,$zero
/* f08c304: 0fc22f75 */ jal doorIsPosInRange
/* f08c308: 24a50008 */ addiu $a1,$a1,0x8
/* f08c30c: 14400007 */ bnez $v0,.L0f08c32c
/* f08c310: 00409025 */ or $s2,$v0,$zero
/* f08c314: 12600005 */ beqz $s3,.L0f08c32c
/* f08c318: 02c02025 */ or $a0,$s6,$zero
/* f08c31c: 02602825 */ or $a1,$s3,$zero
/* f08c320: 0fc22fa0 */ jal doorIsObjInRange
/* f08c324: 02803025 */ or $a2,$s4,$zero
/* f08c328: 00409025 */ or $s2,$v0,$zero
.L0f08c32c:
/* f08c32c: 8ed000bc */ lw $s0,0xbc($s6)
.L0f08c330:
/* f08c330: 12000027 */ beqz $s0,.L0f08c3d0
/* f08c334: 00000000 */ nop
/* f08c338: 12160025 */ beq $s0,$s6,.L0f08c3d0
/* f08c33c: 00000000 */ nop
/* f08c340: 16400023 */ bnez $s2,.L0f08c3d0
/* f08c344: 00000000 */ nop
/* f08c348: 8eaf0284 */ lw $t7,0x284($s5)
.L0f08c34c:
/* f08c34c: 02002825 */ or $a1,$s0,$zero
/* f08c350: 8de400bc */ lw $a0,0xbc($t7)
/* f08c354: 0fc23fff */ jal posIsInFrontOfDoor
/* f08c358: 24840008 */ addiu $a0,$a0,0x8
/* f08c35c: 8ea50284 */ lw $a1,0x284($s5)
/* f08c360: 00408825 */ or $s1,$v0,$zero
/* f08c364: 02002025 */ or $a0,$s0,$zero
/* f08c368: 0fc22fde */ jal vectorIsInFrontOfDoor
/* f08c36c: 24a5036c */ addiu $a1,$a1,0x36c
/* f08c370: 50510011 */ beql $v0,$s1,.L0f08c3b8
/* f08c374: 8e1000bc */ lw $s0,0xbc($s0)
/* f08c378: 8eb90284 */ lw $t9,0x284($s5)
/* f08c37c: 4406a000 */ mfc1 $a2,$f20
/* f08c380: 02002025 */ or $a0,$s0,$zero
/* f08c384: 8f2500bc */ lw $a1,0xbc($t9)
/* f08c388: 02803825 */ or $a3,$s4,$zero
/* f08c38c: 0fc22f75 */ jal doorIsPosInRange
/* f08c390: 24a50008 */ addiu $a1,$a1,0x8
/* f08c394: 14400007 */ bnez $v0,.L0f08c3b4
/* f08c398: 00409025 */ or $s2,$v0,$zero
/* f08c39c: 12600005 */ beqz $s3,.L0f08c3b4
/* f08c3a0: 02c02025 */ or $a0,$s6,$zero
/* f08c3a4: 02602825 */ or $a1,$s3,$zero
/* f08c3a8: 0fc22fa0 */ jal doorIsObjInRange
/* f08c3ac: 02803025 */ or $a2,$s4,$zero
/* f08c3b0: 00409025 */ or $s2,$v0,$zero
.L0f08c3b4:
/* f08c3b4: 8e1000bc */ lw $s0,0xbc($s0)
.L0f08c3b8:
/* f08c3b8: 12000005 */ beqz $s0,.L0f08c3d0
/* f08c3bc: 00000000 */ nop
/* f08c3c0: 12160003 */ beq $s0,$s6,.L0f08c3d0
/* f08c3c4: 00000000 */ nop
/* f08c3c8: 5240ffe0 */ beqzl $s2,.L0f08c34c
/* f08c3cc: 8eaf0284 */ lw $t7,0x284($s5)
.L0f08c3d0:
/* f08c3d0: 12400003 */ beqz $s2,.L0f08c3e0
/* f08c3d4: 02c02025 */ or $a0,$s6,$zero
/* f08c3d8: 0fc23922 */ jal doorsRequestMode
/* f08c3dc: 24050001 */ addiu $a1,$zero,0x1
.L0f08c3e0:
/* f08c3e0: 86e20002 */ lh $v0,0x2($s7)
.L0f08c3e4:
/* f08c3e4: 26f70002 */ addiu $s7,$s7,0x2
/* f08c3e8: 0443ff86 */ bgezl $v0,.L0f08c204
/* f08c3ec: 8ea80338 */ lw $t0,0x338($s5)
.L0f08c3f0:
/* f08c3f0: 8fbf0044 */ lw $ra,0x44($sp)
/* f08c3f4: d7b40018 */ ldc1 $f20,0x18($sp)
/* f08c3f8: 8fb00020 */ lw $s0,0x20($sp)
/* f08c3fc: 8fb10024 */ lw $s1,0x24($sp)
/* f08c400: 8fb20028 */ lw $s2,0x28($sp)
/* f08c404: 8fb3002c */ lw $s3,0x2c($sp)
/* f08c408: 8fb40030 */ lw $s4,0x30($sp)
/* f08c40c: 8fb50034 */ lw $s5,0x34($sp)
/* f08c410: 8fb60038 */ lw $s6,0x38($sp)
/* f08c414: 8fb7003c */ lw $s7,0x3c($sp)
/* f08c418: 8fbe0040 */ lw $s8,0x40($sp)
/* f08c41c: 03e00008 */ jr $ra
/* f08c420: 27bd0270 */ addiu $sp,$sp,0x270
);
/**
* Find automatic doors and open them if the player is close to them.
*/
// Mismatch: regalloc when preparing arguments for doorIsPosInRange.
//void doorsCheckAutomatic(void)
//{
// s16 *propnumptr;
// s16 propnums[256];
//
// roomGetProps(g_Vars.currentplayer->prop->rooms, propnums, 256);
// propnumptr = propnums;
//
// while (*propnumptr >= 0) {
// struct prop *doorprop = &g_Vars.props[*propnumptr];
//
// if (doorprop->type == PROPTYPE_DOOR) {
// struct doorobj *door = doorprop->door;
//
// if ((door->doorflags & DOORFLAG_AUTOMATIC)
// && doorIsUnlocked(g_Vars.currentplayer->prop, doorprop)
// && (door->mode == DOORMODE_CLOSING || (door->mode == DOORMODE_IDLE && door->frac <= 0))) {
// bool canopen = false;
// struct defaultobj *obj = NULL;
// bool isbike = false;
// struct doorobj *sibling;
//
// if (g_Vars.currentplayer->bondmovemode == MOVEMODE_GRAB) {
// obj = bmoveGetGrabbedProp()->obj;
// } else if (g_Vars.currentplayer->bondmovemode == MOVEMODE_BIKE) {
// obj = bmoveGetHoverbike()->obj;
// isbike = true;
// }
//
// if (posIsInFrontOfDoor(&g_Vars.currentplayer->prop->pos, door) != vectorIsInFrontOfDoor(door, &g_Vars.currentplayer->bond2.unk00)) {
// canopen = doorIsPosInRange(door, &g_Vars.currentplayer->prop->pos, 0, isbike);
//
// if (!canopen && obj) {
// canopen = doorIsObjInRange(door, obj, isbike);
// }
// }
//
// sibling = door->sibling;
//
// while (sibling && sibling != door && !canopen) {
// if (posIsInFrontOfDoor(&g_Vars.currentplayer->prop->pos, sibling) != vectorIsInFrontOfDoor(sibling, &g_Vars.currentplayer->bond2.unk00)) {
// canopen = doorIsPosInRange(sibling, &g_Vars.currentplayer->prop->pos, 0, isbike);
//
// if (!canopen && obj) {
// canopen = doorIsObjInRange(door, obj, isbike);
// }
// }
//
// sibling = sibling->sibling;
// }
//
// if (canopen) {
// doorsRequestMode(door, DOORMODE_OPENING);
// }
// }
// }
//
// propnumptr++;
// }
//}
void func0f08c424(struct doorobj *door, Mtxf *matrix)
{
mtx3ToMtx4(door->base.realrot, matrix);
mtx4SetTranslation(&door->base.prop->pos, matrix);
if (door->doorflags & DOORFLAG_FLIP) {
mtx00015edc(-1, matrix);
}
}
void doorGetBbox(struct doorobj *door, struct modelrodata_bbox *dst)
{
struct modelrodata_bbox *bbox = modelFindBboxRodata(door->base.model);
*dst = *bbox;
if (door->doorflags & DOORFLAG_0004) {
if (door->doortype == DOORTYPE_VERTICAL) {
dst->ymax = bbox->ymax + (bbox->ymin - bbox->ymax) * door->frac;
} else {
dst->xmin = bbox->xmin + (bbox->xmax - bbox->xmin) * door->frac;
}
}
}
void doorUpdateTiles(struct doorobj *door)
{
struct modelrodata_bbox bbox;
Mtxf spdc;
struct tiletype2 *geo;
Mtxf sp98;
struct coord sp8c;
struct coord sp80;
struct pad pad;
if (door->doorflags & DOORFLAG_0080) {
door->base.prop->pos.x = door->unk98.x * door->frac + door->startpos.x;
door->base.prop->pos.y = door->unk98.y * door->frac + door->startpos.y;
door->base.prop->pos.z = door->unk98.z * door->frac + door->startpos.z;
} else if (door->doortype == DOORTYPE_SWINGING
|| door->doortype == DOORTYPE_AZTECCHAIR
|| door->doortype == DOORTYPE_HULL) {
// @bug: LOOK is not loaded but is used below
// It doesn't appear to make any difference though
padUnpack(door->base.pad, PADFIELD_POS | PADFIELD_UP | PADFIELD_NORMAL | PADFIELD_BBOX, &pad);
sp8c.x = pad.pos.x + pad.up.x * pad.bbox.ymin;
sp8c.y = pad.pos.y + pad.up.y * pad.bbox.ymin;
sp8c.z = pad.pos.z + pad.up.z * pad.bbox.ymin;
if (door->doortype == DOORTYPE_AZTECCHAIR) {
sp8c.x += pad.normal.x * pad.bbox.xmax;
sp8c.y += pad.normal.y * pad.bbox.xmax;
sp8c.z += pad.normal.z * pad.bbox.xmax;
} else if (door->doortype == DOORTYPE_HULL) {
sp8c.x += pad.look.x * pad.bbox.zmin;
sp8c.y += pad.look.y * pad.bbox.zmin;
sp8c.z += pad.look.z * pad.bbox.zmin;
} else {
if (door->base.flags & OBJFLAG_DOOR_OPENTOFRONT) {
sp8c.x += pad.normal.x * pad.bbox.xmax;
sp8c.y += pad.normal.y * pad.bbox.xmax;
sp8c.z += pad.normal.z * pad.bbox.xmax;
} else {
sp8c.x += pad.normal.x * pad.bbox.xmin;
sp8c.y += pad.normal.y * pad.bbox.xmin;
sp8c.z += pad.normal.z * pad.bbox.xmin;
}
}
sp80.x = door->startpos.x - sp8c.x;
sp80.y = door->startpos.y - sp8c.y;
sp80.z = door->startpos.z - sp8c.z;
mtx3ToMtx4(door->mtx98, &spdc);
mtx4LoadTranslation(&sp80, &sp98);
mtx4MultMtx4InPlace(&sp98, &spdc);
if (door->doortype == DOORTYPE_AZTECCHAIR) {
if (door->base.flags & OBJFLAG_DOOR_OPENTOFRONT) {
mtx4LoadZRotation(M_BADTAU - door->frac * 0.017450513318181f, &sp98);
} else {
mtx4LoadZRotation(door->frac * 0.017450513318181f, &sp98);
}
} else if (door->doortype == DOORTYPE_HULL) {
if (door->base.flags & OBJFLAG_DOOR_OPENTOFRONT) {
guRotateF(sp98.m, 360 - door->frac, pad.normal.x, pad.normal.y, pad.normal.z);
} else {
guRotateF(sp98.m, door->frac, pad.normal.x, pad.normal.y, pad.normal.z);
}
} else {
if (door->base.flags & OBJFLAG_DOOR_OPENTOFRONT) {
mtx4LoadYRotation(M_BADTAU - door->frac * 0.017450513318181f, &sp98);
} else {
mtx4LoadYRotation(door->frac * 0.017450513318181f, &sp98);
}
}
mtx4MultMtx4InPlace(&sp98, &spdc);
mtx4LoadTranslation(&sp8c, &sp98);
mtx4MultMtx4InPlace(&sp98, &spdc);
mtx4ToMtx3(&spdc, door->base.realrot);
door->base.prop->pos.x = spdc.m[3][0];
door->base.prop->pos.y = spdc.m[3][1];
door->base.prop->pos.z = spdc.m[3][2];
}
doorGetBbox(door, &bbox);
if (door->frac >= door->perimfrac) {
door->base.hidden |= OBJHFLAG_DOORPERIMDISABLED;
return;
}
geo = door->base.geo2;
door->base.hidden &= ~OBJHFLAG_DOORPERIMDISABLED;
if ((door->doorflags & DOORFLAG_0020) == 0) {
func0f08c424(door, &spdc);
func0f067424(&bbox, &spdc, geo);
if (door->doortype == DOORTYPE_VERTICAL) {
door->doorflags |= DOORFLAG_0020;
}
}
if (door->doortype == DOORTYPE_VERTICAL) {
geo->ymin = door->startpos.y + func0f06695c(&bbox, door->base.realrot);
} else if (door->doortype == DOORTYPE_FALLAWAY) {
geo->ymin = door->base.prop->pos.y - 10000;
} else if (door->doorflags & DOORFLAG_0001) {
geo->ymin -= 1000;
}
if ((door->doortype == DOORTYPE_EYE && door->frac > 0.4f * door->maxfrac)
|| (door->doortype == DOORTYPE_IRIS && door->frac > 0.4f * door->maxfrac)) {
geo->ymax = geo->ymin + 50;
} else if (door->doortype == DOORTYPE_FALLAWAY) {
geo->ymax = door->base.prop->pos.y + 1000;
} else if (door->doorflags & DOORFLAG_0001) {
geo->ymax += 1000;
}
}
GLOBAL_ASM(
glabel func0f08cb20
/* f08cb20: 27bdff50 */ addiu $sp,$sp,-176
/* f08cb24: afbf0034 */ sw $ra,0x34($sp)
/* f08cb28: afb40028 */ sw $s4,0x28($sp)
/* f08cb2c: afb20020 */ sw $s2,0x20($sp)
/* f08cb30: afb00018 */ sw $s0,0x18($sp)
/* f08cb34: afa500b4 */ sw $a1,0xb4($sp)
/* f08cb38: 00e08025 */ or $s0,$a3,$zero
/* f08cb3c: 00c09025 */ or $s2,$a2,$zero
/* f08cb40: 0080a025 */ or $s4,$a0,$zero
/* f08cb44: afb60030 */ sw $s6,0x30($sp)
/* f08cb48: afb5002c */ sw $s5,0x2c($sp)
/* f08cb4c: afb30024 */ sw $s3,0x24($sp)
/* f08cb50: afb1001c */ sw $s1,0x1c($sp)
/* f08cb54: 0fc23121 */ jal doorGetBbox
/* f08cb58: 27a50088 */ addiu $a1,$sp,0x88
/* f08cb5c: 968e0072 */ lhu $t6,0x72($s4)
/* f08cb60: 24130004 */ addiu $s3,$zero,0x4
/* f08cb64: 166e0005 */ bne $s3,$t6,.L0f08cb7c
/* f08cb68: 00000000 */ nop
/* f08cb6c: 0fc25e5c */ jal ceilf
/* f08cb70: c7ac0098 */ lwc1 $f12,0x98($sp)
/* f08cb74: 10000004 */ b .L0f08cb88
/* f08cb78: 0000a825 */ or $s5,$zero,$zero
.L0f08cb7c:
/* f08cb7c: 0fc25e24 */ jal floorf
/* f08cb80: c7ac008c */ lwc1 $f12,0x8c($sp)
/* f08cb84: 0000a825 */ or $s5,$zero,$zero
.L0f08cb88:
/* f08cb88: 06010003 */ bgez $s0,.L0f08cb98
/* f08cb8c: 0010b083 */ sra $s6,$s0,0x2
/* f08cb90: 26010003 */ addiu $at,$s0,0x3
/* f08cb94: 0001b083 */ sra $s6,$at,0x2
.L0f08cb98:
/* f08cb98: 5ac00207 */ blezl $s6,.L0f08d3b8
/* f08cb9c: 8fbf0034 */ lw $ra,0x34($sp)
/* f08cba0: 4600010d */ trunc.w.s $f4,$f0
/* f08cba4: 00008825 */ or $s1,$zero,$zero
/* f08cba8: 8fad00b4 */ lw $t5,0xb4($sp)
/* f08cbac: 240c000c */ addiu $t4,$zero,0xc
/* f08cbb0: 440b2000 */ mfc1 $t3,$f4
/* f08cbb4: 00000000 */ nop
/* f08cbb8: 000bc400 */ sll $t8,$t3,0x10
/* f08cbbc: 00185c03 */ sra $t3,$t8,0x10
.L0f08cbc0:
/* f08cbc0: 00004825 */ or $t1,$zero,$zero
/* f08cbc4: 0000f825 */ or $ra,$zero,$zero
/* f08cbc8: 01a03825 */ or $a3,$t5,$zero
.L0f08cbcc:
/* f08cbcc: 15200050 */ bnez $t1,.L0f08cd10
/* f08cbd0: 02321021 */ addu $v0,$s1,$s2
/* f08cbd4: 88e10000 */ lwl $at,0x0($a3)
/* f08cbd8: 98e10003 */ lwr $at,0x3($a3)
/* f08cbdc: 005f7021 */ addu $t6,$v0,$ra
/* f08cbe0: 25390001 */ addiu $t9,$t1,0x1
/* f08cbe4: a9c10000 */ swl $at,0x0($t6)
/* f08cbe8: b9c10003 */ swr $at,0x3($t6)
/* f08cbec: 88f80004 */ lwl $t8,0x4($a3)
/* f08cbf0: 98f80007 */ lwr $t8,0x7($a3)
/* f08cbf4: a9d80004 */ swl $t8,0x4($t6)
/* f08cbf8: b9d80007 */ swr $t8,0x7($t6)
/* f08cbfc: 88e10008 */ lwl $at,0x8($a3)
/* f08cc00: 98e1000b */ lwr $at,0xb($a3)
/* f08cc04: a9c10008 */ swl $at,0x8($t6)
/* f08cc08: b9c1000b */ swr $at,0xb($t6)
/* f08cc0c: 07210004 */ bgez $t9,.L0f08cc20
/* f08cc10: 332f0003 */ andi $t7,$t9,0x3
/* f08cc14: 11e00002 */ beqz $t7,.L0f08cc20
/* f08cc18: 00000000 */ nop
/* f08cc1c: 25effffc */ addiu $t7,$t7,-4
.L0f08cc20:
/* f08cc20: 01ec0019 */ multu $t7,$t4
/* f08cc24: 25390002 */ addiu $t9,$t1,0x2
/* f08cc28: 00001812 */ mflo $v1
/* f08cc2c: 01a3c021 */ addu $t8,$t5,$v1
/* f08cc30: 8b010000 */ lwl $at,0x0($t8)
/* f08cc34: 9b010003 */ lwr $at,0x3($t8)
/* f08cc38: 00437021 */ addu $t6,$v0,$v1
/* f08cc3c: a9c10000 */ swl $at,0x0($t6)
/* f08cc40: b9c10003 */ swr $at,0x3($t6)
/* f08cc44: 8b0f0004 */ lwl $t7,0x4($t8)
/* f08cc48: 9b0f0007 */ lwr $t7,0x7($t8)
/* f08cc4c: a9cf0004 */ swl $t7,0x4($t6)
/* f08cc50: b9cf0007 */ swr $t7,0x7($t6)
/* f08cc54: 8b010008 */ lwl $at,0x8($t8)
/* f08cc58: 9b01000b */ lwr $at,0xb($t8)
/* f08cc5c: a9c10008 */ swl $at,0x8($t6)
/* f08cc60: b9c1000b */ swr $at,0xb($t6)
/* f08cc64: 07210004 */ bgez $t9,.L0f08cc78
/* f08cc68: 332e0003 */ andi $t6,$t9,0x3
/* f08cc6c: 11c00002 */ beqz $t6,.L0f08cc78
/* f08cc70: 00000000 */ nop
/* f08cc74: 25cefffc */ addiu $t6,$t6,-4
.L0f08cc78:
/* f08cc78: 01cc0019 */ multu $t6,$t4
/* f08cc7c: 25390003 */ addiu $t9,$t1,0x3
/* f08cc80: 00002012 */ mflo $a0
/* f08cc84: 01a47821 */ addu $t7,$t5,$a0
/* f08cc88: 89e10000 */ lwl $at,0x0($t7)
/* f08cc8c: 99e10003 */ lwr $at,0x3($t7)
/* f08cc90: 0044c021 */ addu $t8,$v0,$a0
/* f08cc94: ab010000 */ swl $at,0x0($t8)
/* f08cc98: bb010003 */ swr $at,0x3($t8)
/* f08cc9c: 89ee0004 */ lwl $t6,0x4($t7)
/* f08cca0: 99ee0007 */ lwr $t6,0x7($t7)
/* f08cca4: ab0e0004 */ swl $t6,0x4($t8)
/* f08cca8: bb0e0007 */ swr $t6,0x7($t8)
/* f08ccac: 89e10008 */ lwl $at,0x8($t7)
/* f08ccb0: 99e1000b */ lwr $at,0xb($t7)
/* f08ccb4: ab010008 */ swl $at,0x8($t8)
/* f08ccb8: bb01000b */ swr $at,0xb($t8)
/* f08ccbc: 07210004 */ bgez $t9,.L0f08ccd0
/* f08ccc0: 33380003 */ andi $t8,$t9,0x3
/* f08ccc4: 13000002 */ beqz $t8,.L0f08ccd0
/* f08ccc8: 00000000 */ nop
/* f08cccc: 2718fffc */ addiu $t8,$t8,-4
.L0f08ccd0:
/* f08ccd0: 030c0019 */ multu $t8,$t4
/* f08ccd4: 00002812 */ mflo $a1
/* f08ccd8: 01a57021 */ addu $t6,$t5,$a1
/* f08ccdc: 89c10000 */ lwl $at,0x0($t6)
/* f08cce0: 99c10003 */ lwr $at,0x3($t6)
/* f08cce4: 00457821 */ addu $t7,$v0,$a1
/* f08cce8: a9e10000 */ swl $at,0x0($t7)
/* f08ccec: b9e10003 */ swr $at,0x3($t7)
/* f08ccf0: 89d80004 */ lwl $t8,0x4($t6)
/* f08ccf4: 99d80007 */ lwr $t8,0x7($t6)
/* f08ccf8: a9f80004 */ swl $t8,0x4($t7)
/* f08ccfc: b9f80007 */ swr $t8,0x7($t7)
/* f08cd00: 89c10008 */ lwl $at,0x8($t6)
/* f08cd04: 99c1000b */ lwr $at,0xb($t6)
/* f08cd08: a9e10008 */ swl $at,0x8($t7)
/* f08cd0c: b9e1000b */ swr $at,0xb($t7)
.L0f08cd10:
/* f08cd10: 96990072 */ lhu $t9,0x72($s4)
/* f08cd14: 25300001 */ addiu $s0,$t1,0x1
/* f08cd18: 567900d1 */ bnel $s3,$t9,.L0f08d060
/* f08cd1c: 84e50000 */ lh $a1,0x0($a3)
/* f08cd20: 84e60002 */ lh $a2,0x2($a3)
/* f08cd24: 00cb082a */ slt $at,$a2,$t3
/* f08cd28: 5420019b */ bnezl $at,.L0f08d398
/* f08cd2c: 02004825 */ or $t1,$s0,$zero
/* f08cd30: 06010004 */ bgez $s0,.L0f08cd44
/* f08cd34: 320f0003 */ andi $t7,$s0,0x3
/* f08cd38: 11e00002 */ beqz $t7,.L0f08cd44
/* f08cd3c: 00000000 */ nop
/* f08cd40: 25effffc */ addiu $t7,$t7,-4
.L0f08cd44:
/* f08cd44: 01ec0019 */ multu $t7,$t4
/* f08cd48: 84e50000 */ lh $a1,0x0($a3)
/* f08cd4c: 0232c021 */ addu $t8,$s1,$s2
/* f08cd50: 031f4021 */ addu $t0,$t8,$ra
/* f08cd54: 00007012 */ mflo $t6
/* f08cd58: 01ae2021 */ addu $a0,$t5,$t6
/* f08cd5c: 84990000 */ lh $t9,0x0($a0)
/* f08cd60: 57250039 */ bnel $t9,$a1,.L0f08ce48
/* f08cd64: 252f0002 */ addiu $t7,$t1,0x2
/* f08cd68: 848f0004 */ lh $t7,0x4($a0)
/* f08cd6c: 84ee0004 */ lh $t6,0x4($a3)
/* f08cd70: 55ee0035 */ bnel $t7,$t6,.L0f08ce48
/* f08cd74: 252f0002 */ addiu $t7,$t1,0x2
/* f08cd78: 848a0002 */ lh $t2,0x2($a0)
/* f08cd7c: 51460032 */ beql $t2,$a2,.L0f08ce48
/* f08cd80: 252f0002 */ addiu $t7,$t1,0x2
/* f08cd84: 84e20008 */ lh $v0,0x8($a3)
/* f08cd88: 84990008 */ lh $t9,0x8($a0)
/* f08cd8c: 00cbc023 */ subu $t8,$a2,$t3
/* f08cd90: 03227823 */ subu $t7,$t9,$v0
/* f08cd94: 030f0019 */ multu $t8,$t7
/* f08cd98: 00cac823 */ subu $t9,$a2,$t2
/* f08cd9c: 00007012 */ mflo $t6
/* f08cda0: 00000000 */ nop
/* f08cda4: 00000000 */ nop
/* f08cda8: 01d9001a */ div $zero,$t6,$t9
/* f08cdac: 0000c012 */ mflo $t8
/* f08cdb0: 03027821 */ addu $t7,$t8,$v0
/* f08cdb4: a50f0008 */ sh $t7,0x8($t0)
/* f08cdb8: 17200002 */ bnez $t9,.L0f08cdc4
/* f08cdbc: 00000000 */ nop
/* f08cdc0: 0007000d */ break 0x7
.L0f08cdc4:
/* f08cdc4: 2401ffff */ addiu $at,$zero,-1
/* f08cdc8: 17210004 */ bne $t9,$at,.L0f08cddc
/* f08cdcc: 3c018000 */ lui $at,0x8000
/* f08cdd0: 15c10002 */ bne $t6,$at,.L0f08cddc
/* f08cdd4: 00000000 */ nop
/* f08cdd8: 0006000d */ break 0x6
.L0f08cddc:
/* f08cddc: 8499000a */ lh $t9,0xa($a0)
/* f08cde0: 84e3000a */ lh $v1,0xa($a3)
/* f08cde4: 84e60002 */ lh $a2,0x2($a3)
/* f08cde8: 0323c023 */ subu $t8,$t9,$v1
/* f08cdec: 00cb7023 */ subu $t6,$a2,$t3
/* f08cdf0: 01d80019 */ multu $t6,$t8
/* f08cdf4: 84990002 */ lh $t9,0x2($a0)
/* f08cdf8: 00d97023 */ subu $t6,$a2,$t9
/* f08cdfc: 00007812 */ mflo $t7
/* f08ce00: 00000000 */ nop
/* f08ce04: 00000000 */ nop
/* f08ce08: 01ee001a */ div $zero,$t7,$t6
/* f08ce0c: 0000c012 */ mflo $t8
/* f08ce10: 0303c821 */ addu $t9,$t8,$v1
/* f08ce14: 15c00002 */ bnez $t6,.L0f08ce20
/* f08ce18: 00000000 */ nop
/* f08ce1c: 0007000d */ break 0x7
.L0f08ce20:
/* f08ce20: 2401ffff */ addiu $at,$zero,-1
/* f08ce24: 15c10004 */ bne $t6,$at,.L0f08ce38
/* f08ce28: 3c018000 */ lui $at,0x8000
/* f08ce2c: 15e10002 */ bne $t7,$at,.L0f08ce38
/* f08ce30: 00000000 */ nop
/* f08ce34: 0006000d */ break 0x6
.L0f08ce38:
/* f08ce38: a519000a */ sh $t9,0xa($t0)
/* f08ce3c: 10000085 */ b .L0f08d054
/* f08ce40: 00000000 */ nop
/* f08ce44: 252f0002 */ addiu $t7,$t1,0x2
.L0f08ce48:
/* f08ce48: 05e10004 */ bgez $t7,.L0f08ce5c
/* f08ce4c: 31ee0003 */ andi $t6,$t7,0x3
/* f08ce50: 11c00002 */ beqz $t6,.L0f08ce5c
/* f08ce54: 00000000 */ nop
/* f08ce58: 25cefffc */ addiu $t6,$t6,-4
.L0f08ce5c:
/* f08ce5c: 01cc0019 */ multu $t6,$t4
/* f08ce60: 0000c012 */ mflo $t8
/* f08ce64: 01b82021 */ addu $a0,$t5,$t8
/* f08ce68: 84990000 */ lh $t9,0x0($a0)
/* f08ce6c: 57250039 */ bnel $t9,$a1,.L0f08cf54
/* f08ce70: 252f0003 */ addiu $t7,$t1,0x3
/* f08ce74: 848f0004 */ lh $t7,0x4($a0)
/* f08ce78: 84ee0004 */ lh $t6,0x4($a3)
/* f08ce7c: 55ee0035 */ bnel $t7,$t6,.L0f08cf54
/* f08ce80: 252f0003 */ addiu $t7,$t1,0x3
/* f08ce84: 848a0002 */ lh $t2,0x2($a0)
/* f08ce88: 51460032 */ beql $t2,$a2,.L0f08cf54
/* f08ce8c: 252f0003 */ addiu $t7,$t1,0x3
/* f08ce90: 84e20008 */ lh $v0,0x8($a3)
/* f08ce94: 84990008 */ lh $t9,0x8($a0)
/* f08ce98: 00cbc023 */ subu $t8,$a2,$t3
/* f08ce9c: 03227823 */ subu $t7,$t9,$v0
/* f08cea0: 030f0019 */ multu $t8,$t7
/* f08cea4: 00cac823 */ subu $t9,$a2,$t2
/* f08cea8: 00007012 */ mflo $t6
/* f08ceac: 00000000 */ nop
/* f08ceb0: 00000000 */ nop
/* f08ceb4: 01d9001a */ div $zero,$t6,$t9
/* f08ceb8: 0000c012 */ mflo $t8
/* f08cebc: 03027821 */ addu $t7,$t8,$v0
/* f08cec0: a50f0008 */ sh $t7,0x8($t0)
/* f08cec4: 17200002 */ bnez $t9,.L0f08ced0
/* f08cec8: 00000000 */ nop
/* f08cecc: 0007000d */ break 0x7
.L0f08ced0:
/* f08ced0: 2401ffff */ addiu $at,$zero,-1
/* f08ced4: 17210004 */ bne $t9,$at,.L0f08cee8
/* f08ced8: 3c018000 */ lui $at,0x8000
/* f08cedc: 15c10002 */ bne $t6,$at,.L0f08cee8
/* f08cee0: 00000000 */ nop
/* f08cee4: 0006000d */ break 0x6
.L0f08cee8:
/* f08cee8: 8499000a */ lh $t9,0xa($a0)
/* f08ceec: 84e3000a */ lh $v1,0xa($a3)
/* f08cef0: 84e60002 */ lh $a2,0x2($a3)
/* f08cef4: 0323c023 */ subu $t8,$t9,$v1
/* f08cef8: 00cb7023 */ subu $t6,$a2,$t3
/* f08cefc: 01d80019 */ multu $t6,$t8
/* f08cf00: 84990002 */ lh $t9,0x2($a0)
/* f08cf04: 00d97023 */ subu $t6,$a2,$t9
/* f08cf08: 00007812 */ mflo $t7
/* f08cf0c: 00000000 */ nop
/* f08cf10: 00000000 */ nop
/* f08cf14: 01ee001a */ div $zero,$t7,$t6
/* f08cf18: 0000c012 */ mflo $t8
/* f08cf1c: 0303c821 */ addu $t9,$t8,$v1
/* f08cf20: 15c00002 */ bnez $t6,.L0f08cf2c
/* f08cf24: 00000000 */ nop
/* f08cf28: 0007000d */ break 0x7
.L0f08cf2c:
/* f08cf2c: 2401ffff */ addiu $at,$zero,-1
/* f08cf30: 15c10004 */ bne $t6,$at,.L0f08cf44
/* f08cf34: 3c018000 */ lui $at,0x8000
/* f08cf38: 15e10002 */ bne $t7,$at,.L0f08cf44
/* f08cf3c: 00000000 */ nop
/* f08cf40: 0006000d */ break 0x6
.L0f08cf44:
/* f08cf44: a519000a */ sh $t9,0xa($t0)
/* f08cf48: 10000042 */ b .L0f08d054
/* f08cf4c: 00000000 */ nop
/* f08cf50: 252f0003 */ addiu $t7,$t1,0x3
.L0f08cf54:
/* f08cf54: 05e10004 */ bgez $t7,.L0f08cf68
/* f08cf58: 31ee0003 */ andi $t6,$t7,0x3
/* f08cf5c: 11c00002 */ beqz $t6,.L0f08cf68
/* f08cf60: 00000000 */ nop
/* f08cf64: 25cefffc */ addiu $t6,$t6,-4
.L0f08cf68:
/* f08cf68: 01cc0019 */ multu $t6,$t4
/* f08cf6c: 0000c012 */ mflo $t8
/* f08cf70: 01b82021 */ addu $a0,$t5,$t8
/* f08cf74: 84990000 */ lh $t9,0x0($a0)
/* f08cf78: 17250036 */ bne $t9,$a1,.L0f08d054
/* f08cf7c: 00000000 */ nop
/* f08cf80: 848f0004 */ lh $t7,0x4($a0)
/* f08cf84: 84ee0004 */ lh $t6,0x4($a3)
/* f08cf88: 15ee0032 */ bne $t7,$t6,.L0f08d054
/* f08cf8c: 00000000 */ nop
/* f08cf90: 84850002 */ lh $a1,0x2($a0)
/* f08cf94: 10a6002f */ beq $a1,$a2,.L0f08d054
/* f08cf98: 00000000 */ nop
/* f08cf9c: 84e20008 */ lh $v0,0x8($a3)
/* f08cfa0: 84990008 */ lh $t9,0x8($a0)
/* f08cfa4: 00cbc023 */ subu $t8,$a2,$t3
/* f08cfa8: 03227823 */ subu $t7,$t9,$v0
/* f08cfac: 030f0019 */ multu $t8,$t7
/* f08cfb0: 00c5c823 */ subu $t9,$a2,$a1
/* f08cfb4: 00007012 */ mflo $t6
/* f08cfb8: 00000000 */ nop
/* f08cfbc: 00000000 */ nop
/* f08cfc0: 01d9001a */ div $zero,$t6,$t9
/* f08cfc4: 0000c012 */ mflo $t8
/* f08cfc8: 03027821 */ addu $t7,$t8,$v0
/* f08cfcc: a50f0008 */ sh $t7,0x8($t0)
/* f08cfd0: 17200002 */ bnez $t9,.L0f08cfdc
/* f08cfd4: 00000000 */ nop
/* f08cfd8: 0007000d */ break 0x7
.L0f08cfdc:
/* f08cfdc: 2401ffff */ addiu $at,$zero,-1
/* f08cfe0: 17210004 */ bne $t9,$at,.L0f08cff4
/* f08cfe4: 3c018000 */ lui $at,0x8000
/* f08cfe8: 15c10002 */ bne $t6,$at,.L0f08cff4
/* f08cfec: 00000000 */ nop
/* f08cff0: 0006000d */ break 0x6
.L0f08cff4:
/* f08cff4: 8499000a */ lh $t9,0xa($a0)
/* f08cff8: 84e3000a */ lh $v1,0xa($a3)
/* f08cffc: 84e60002 */ lh $a2,0x2($a3)
/* f08d000: 0323c023 */ subu $t8,$t9,$v1
/* f08d004: 00cb7023 */ subu $t6,$a2,$t3
/* f08d008: 01d80019 */ multu $t6,$t8
/* f08d00c: 84990002 */ lh $t9,0x2($a0)
/* f08d010: 00d97023 */ subu $t6,$a2,$t9
/* f08d014: 00007812 */ mflo $t7
/* f08d018: 00000000 */ nop
/* f08d01c: 00000000 */ nop
/* f08d020: 01ee001a */ div $zero,$t7,$t6
/* f08d024: 0000c012 */ mflo $t8
/* f08d028: 0303c821 */ addu $t9,$t8,$v1
/* f08d02c: a519000a */ sh $t9,0xa($t0)
/* f08d030: 15c00002 */ bnez $t6,.L0f08d03c
/* f08d034: 00000000 */ nop
/* f08d038: 0007000d */ break 0x7
.L0f08d03c:
/* f08d03c: 2401ffff */ addiu $at,$zero,-1
/* f08d040: 15c10004 */ bne $t6,$at,.L0f08d054
/* f08d044: 3c018000 */ lui $at,0x8000
/* f08d048: 15e10002 */ bne $t7,$at,.L0f08d054
/* f08d04c: 00000000 */ nop
/* f08d050: 0006000d */ break 0x6
.L0f08d054:
/* f08d054: 100000cf */ b .L0f08d394
/* f08d058: a50b0002 */ sh $t3,0x2($t0)
/* f08d05c: 84e50000 */ lh $a1,0x0($a3)
.L0f08d060:
/* f08d060: 0165082a */ slt $at,$t3,$a1
/* f08d064: 542000cc */ bnezl $at,.L0f08d398
/* f08d068: 02004825 */ or $t1,$s0,$zero
/* f08d06c: 06010004 */ bgez $s0,.L0f08d080
/* f08d070: 320f0003 */ andi $t7,$s0,0x3
/* f08d074: 11e00002 */ beqz $t7,.L0f08d080
/* f08d078: 00000000 */ nop
/* f08d07c: 25effffc */ addiu $t7,$t7,-4
.L0f08d080:
/* f08d080: 01ec0019 */ multu $t7,$t4
/* f08d084: 84e60002 */ lh $a2,0x2($a3)
/* f08d088: 0232c021 */ addu $t8,$s1,$s2
/* f08d08c: 031f4021 */ addu $t0,$t8,$ra
/* f08d090: 00007012 */ mflo $t6
/* f08d094: 01ae2021 */ addu $a0,$t5,$t6
/* f08d098: 84990002 */ lh $t9,0x2($a0)
/* f08d09c: 57260039 */ bnel $t9,$a2,.L0f08d184
/* f08d0a0: 252f0002 */ addiu $t7,$t1,0x2
/* f08d0a4: 848f0004 */ lh $t7,0x4($a0)
/* f08d0a8: 84ee0004 */ lh $t6,0x4($a3)
/* f08d0ac: 55ee0035 */ bnel $t7,$t6,.L0f08d184
/* f08d0b0: 252f0002 */ addiu $t7,$t1,0x2
/* f08d0b4: 848a0000 */ lh $t2,0x0($a0)
/* f08d0b8: 51450032 */ beql $t2,$a1,.L0f08d184
/* f08d0bc: 252f0002 */ addiu $t7,$t1,0x2
/* f08d0c0: 84e20008 */ lh $v0,0x8($a3)
/* f08d0c4: 84990008 */ lh $t9,0x8($a0)
/* f08d0c8: 0165c023 */ subu $t8,$t3,$a1
/* f08d0cc: 03227823 */ subu $t7,$t9,$v0
/* f08d0d0: 030f0019 */ multu $t8,$t7
/* f08d0d4: 0145c823 */ subu $t9,$t2,$a1
/* f08d0d8: 00007012 */ mflo $t6
/* f08d0dc: 00000000 */ nop
/* f08d0e0: 00000000 */ nop
/* f08d0e4: 01d9001a */ div $zero,$t6,$t9
/* f08d0e8: 0000c012 */ mflo $t8
/* f08d0ec: 03027821 */ addu $t7,$t8,$v0
/* f08d0f0: a50f0008 */ sh $t7,0x8($t0)
/* f08d0f4: 17200002 */ bnez $t9,.L0f08d100
/* f08d0f8: 00000000 */ nop
/* f08d0fc: 0007000d */ break 0x7
.L0f08d100:
/* f08d100: 2401ffff */ addiu $at,$zero,-1
/* f08d104: 17210004 */ bne $t9,$at,.L0f08d118
/* f08d108: 3c018000 */ lui $at,0x8000
/* f08d10c: 15c10002 */ bne $t6,$at,.L0f08d118
/* f08d110: 00000000 */ nop
/* f08d114: 0006000d */ break 0x6
.L0f08d118:
/* f08d118: 8499000a */ lh $t9,0xa($a0)
/* f08d11c: 84e3000a */ lh $v1,0xa($a3)
/* f08d120: 84e50000 */ lh $a1,0x0($a3)
/* f08d124: 0323c023 */ subu $t8,$t9,$v1
/* f08d128: 01657023 */ subu $t6,$t3,$a1
/* f08d12c: 01d80019 */ multu $t6,$t8
/* f08d130: 84990000 */ lh $t9,0x0($a0)
/* f08d134: 03257023 */ subu $t6,$t9,$a1
/* f08d138: 00007812 */ mflo $t7
/* f08d13c: 00000000 */ nop
/* f08d140: 00000000 */ nop
/* f08d144: 01ee001a */ div $zero,$t7,$t6
/* f08d148: 0000c012 */ mflo $t8
/* f08d14c: 0303c821 */ addu $t9,$t8,$v1
/* f08d150: 15c00002 */ bnez $t6,.L0f08d15c
/* f08d154: 00000000 */ nop
/* f08d158: 0007000d */ break 0x7
.L0f08d15c:
/* f08d15c: 2401ffff */ addiu $at,$zero,-1
/* f08d160: 15c10004 */ bne $t6,$at,.L0f08d174
/* f08d164: 3c018000 */ lui $at,0x8000
/* f08d168: 15e10002 */ bne $t7,$at,.L0f08d174
/* f08d16c: 00000000 */ nop
/* f08d170: 0006000d */ break 0x6
.L0f08d174:
/* f08d174: a519000a */ sh $t9,0xa($t0)
/* f08d178: 10000086 */ b .L0f08d394
/* f08d17c: a50b0000 */ sh $t3,0x0($t0)
/* f08d180: 252f0002 */ addiu $t7,$t1,0x2
.L0f08d184:
/* f08d184: 05e10004 */ bgez $t7,.L0f08d198
/* f08d188: 31ee0003 */ andi $t6,$t7,0x3
/* f08d18c: 11c00002 */ beqz $t6,.L0f08d198
/* f08d190: 00000000 */ nop
/* f08d194: 25cefffc */ addiu $t6,$t6,-4
.L0f08d198:
/* f08d198: 01cc0019 */ multu $t6,$t4
/* f08d19c: 0000c012 */ mflo $t8
/* f08d1a0: 01b82021 */ addu $a0,$t5,$t8
/* f08d1a4: 84990002 */ lh $t9,0x2($a0)
/* f08d1a8: 57260039 */ bnel $t9,$a2,.L0f08d290
/* f08d1ac: 252f0003 */ addiu $t7,$t1,0x3
/* f08d1b0: 848f0004 */ lh $t7,0x4($a0)
/* f08d1b4: 84ee0004 */ lh $t6,0x4($a3)
/* f08d1b8: 55ee0035 */ bnel $t7,$t6,.L0f08d290
/* f08d1bc: 252f0003 */ addiu $t7,$t1,0x3
/* f08d1c0: 848a0000 */ lh $t2,0x0($a0)
/* f08d1c4: 51450032 */ beql $t2,$a1,.L0f08d290
/* f08d1c8: 252f0003 */ addiu $t7,$t1,0x3
/* f08d1cc: 84e20008 */ lh $v0,0x8($a3)
/* f08d1d0: 84990008 */ lh $t9,0x8($a0)
/* f08d1d4: 0165c023 */ subu $t8,$t3,$a1
/* f08d1d8: 03227823 */ subu $t7,$t9,$v0
/* f08d1dc: 030f0019 */ multu $t8,$t7
/* f08d1e0: 0145c823 */ subu $t9,$t2,$a1
/* f08d1e4: 00007012 */ mflo $t6
/* f08d1e8: 00000000 */ nop
/* f08d1ec: 00000000 */ nop
/* f08d1f0: 01d9001a */ div $zero,$t6,$t9
/* f08d1f4: 0000c012 */ mflo $t8
/* f08d1f8: 03027821 */ addu $t7,$t8,$v0
/* f08d1fc: a50f0008 */ sh $t7,0x8($t0)
/* f08d200: 17200002 */ bnez $t9,.L0f08d20c
/* f08d204: 00000000 */ nop
/* f08d208: 0007000d */ break 0x7
.L0f08d20c:
/* f08d20c: 2401ffff */ addiu $at,$zero,-1
/* f08d210: 17210004 */ bne $t9,$at,.L0f08d224
/* f08d214: 3c018000 */ lui $at,0x8000
/* f08d218: 15c10002 */ bne $t6,$at,.L0f08d224
/* f08d21c: 00000000 */ nop
/* f08d220: 0006000d */ break 0x6
.L0f08d224:
/* f08d224: 8499000a */ lh $t9,0xa($a0)
/* f08d228: 84e3000a */ lh $v1,0xa($a3)
/* f08d22c: 84e50000 */ lh $a1,0x0($a3)
/* f08d230: 0323c023 */ subu $t8,$t9,$v1
/* f08d234: 01657023 */ subu $t6,$t3,$a1
/* f08d238: 01d80019 */ multu $t6,$t8
/* f08d23c: 84990000 */ lh $t9,0x0($a0)
/* f08d240: 03257023 */ subu $t6,$t9,$a1
/* f08d244: 00007812 */ mflo $t7
/* f08d248: 00000000 */ nop
/* f08d24c: 00000000 */ nop
/* f08d250: 01ee001a */ div $zero,$t7,$t6
/* f08d254: 0000c012 */ mflo $t8
/* f08d258: 0303c821 */ addu $t9,$t8,$v1
/* f08d25c: 15c00002 */ bnez $t6,.L0f08d268
/* f08d260: 00000000 */ nop
/* f08d264: 0007000d */ break 0x7
.L0f08d268:
/* f08d268: 2401ffff */ addiu $at,$zero,-1
/* f08d26c: 15c10004 */ bne $t6,$at,.L0f08d280
/* f08d270: 3c018000 */ lui $at,0x8000
/* f08d274: 15e10002 */ bne $t7,$at,.L0f08d280
/* f08d278: 00000000 */ nop
/* f08d27c: 0006000d */ break 0x6
.L0f08d280:
/* f08d280: a519000a */ sh $t9,0xa($t0)
/* f08d284: 10000043 */ b .L0f08d394
/* f08d288: a50b0000 */ sh $t3,0x0($t0)
/* f08d28c: 252f0003 */ addiu $t7,$t1,0x3
.L0f08d290:
/* f08d290: 05e10004 */ bgez $t7,.L0f08d2a4
/* f08d294: 31ee0003 */ andi $t6,$t7,0x3
/* f08d298: 11c00002 */ beqz $t6,.L0f08d2a4
/* f08d29c: 00000000 */ nop
/* f08d2a0: 25cefffc */ addiu $t6,$t6,-4
.L0f08d2a4:
/* f08d2a4: 01cc0019 */ multu $t6,$t4
/* f08d2a8: 0000c012 */ mflo $t8
/* f08d2ac: 01b82021 */ addu $a0,$t5,$t8
/* f08d2b0: 84990002 */ lh $t9,0x2($a0)
/* f08d2b4: 57260037 */ bnel $t9,$a2,.L0f08d394
/* f08d2b8: a50b0000 */ sh $t3,0x0($t0)
/* f08d2bc: 848f0004 */ lh $t7,0x4($a0)
/* f08d2c0: 84ee0004 */ lh $t6,0x4($a3)
/* f08d2c4: 55ee0033 */ bnel $t7,$t6,.L0f08d394
/* f08d2c8: a50b0000 */ sh $t3,0x0($t0)
/* f08d2cc: 84860000 */ lh $a2,0x0($a0)
/* f08d2d0: 50c50030 */ beql $a2,$a1,.L0f08d394
/* f08d2d4: a50b0000 */ sh $t3,0x0($t0)
/* f08d2d8: 84e20008 */ lh $v0,0x8($a3)
/* f08d2dc: 84990008 */ lh $t9,0x8($a0)
/* f08d2e0: 0165c023 */ subu $t8,$t3,$a1
/* f08d2e4: 03227823 */ subu $t7,$t9,$v0
/* f08d2e8: 030f0019 */ multu $t8,$t7
/* f08d2ec: 00c5c823 */ subu $t9,$a2,$a1
/* f08d2f0: 00007012 */ mflo $t6
/* f08d2f4: 00000000 */ nop
/* f08d2f8: 00000000 */ nop
/* f08d2fc: 01d9001a */ div $zero,$t6,$t9
/* f08d300: 0000c012 */ mflo $t8
/* f08d304: 03027821 */ addu $t7,$t8,$v0
/* f08d308: a50f0008 */ sh $t7,0x8($t0)
/* f08d30c: 17200002 */ bnez $t9,.L0f08d318
/* f08d310: 00000000 */ nop
/* f08d314: 0007000d */ break 0x7
.L0f08d318:
/* f08d318: 2401ffff */ addiu $at,$zero,-1
/* f08d31c: 17210004 */ bne $t9,$at,.L0f08d330
/* f08d320: 3c018000 */ lui $at,0x8000
/* f08d324: 15c10002 */ bne $t6,$at,.L0f08d330
/* f08d328: 00000000 */ nop
/* f08d32c: 0006000d */ break 0x6
.L0f08d330:
/* f08d330: 8499000a */ lh $t9,0xa($a0)
/* f08d334: 84e3000a */ lh $v1,0xa($a3)
/* f08d338: 84e50000 */ lh $a1,0x0($a3)
/* f08d33c: 0323c023 */ subu $t8,$t9,$v1
/* f08d340: 01657023 */ subu $t6,$t3,$a1
/* f08d344: 01d80019 */ multu $t6,$t8
/* f08d348: 84990000 */ lh $t9,0x0($a0)
/* f08d34c: 03257023 */ subu $t6,$t9,$a1
/* f08d350: 00007812 */ mflo $t7
/* f08d354: 00000000 */ nop
/* f08d358: 00000000 */ nop
/* f08d35c: 01ee001a */ div $zero,$t7,$t6
/* f08d360: 0000c012 */ mflo $t8
/* f08d364: 0303c821 */ addu $t9,$t8,$v1
/* f08d368: a519000a */ sh $t9,0xa($t0)
/* f08d36c: 15c00002 */ bnez $t6,.L0f08d378
/* f08d370: 00000000 */ nop
/* f08d374: 0007000d */ break 0x7
.L0f08d378:
/* f08d378: 2401ffff */ addiu $at,$zero,-1
/* f08d37c: 15c10004 */ bne $t6,$at,.L0f08d390
/* f08d380: 3c018000 */ lui $at,0x8000
/* f08d384: 15e10002 */ bne $t7,$at,.L0f08d390
/* f08d388: 00000000 */ nop
/* f08d38c: 0006000d */ break 0x6
.L0f08d390:
/* f08d390: a50b0000 */ sh $t3,0x0($t0)
.L0f08d394:
/* f08d394: 02004825 */ or $t1,$s0,$zero
.L0f08d398:
/* f08d398: 27ff000c */ addiu $ra,$ra,0xc
/* f08d39c: 1613fe0b */ bne $s0,$s3,.L0f08cbcc
/* f08d3a0: 24e7000c */ addiu $a3,$a3,0xc
/* f08d3a4: 26b50001 */ addiu $s5,$s5,0x1
/* f08d3a8: 26310030 */ addiu $s1,$s1,0x30
/* f08d3ac: 16b6fe04 */ bne $s5,$s6,.L0f08cbc0
/* f08d3b0: 25ad0030 */ addiu $t5,$t5,0x30
/* f08d3b4: 8fbf0034 */ lw $ra,0x34($sp)
.L0f08d3b8:
/* f08d3b8: 8fb00018 */ lw $s0,0x18($sp)
/* f08d3bc: 8fb1001c */ lw $s1,0x1c($sp)
/* f08d3c0: 8fb20020 */ lw $s2,0x20($sp)
/* f08d3c4: 8fb30024 */ lw $s3,0x24($sp)
/* f08d3c8: 8fb40028 */ lw $s4,0x28($sp)
/* f08d3cc: 8fb5002c */ lw $s5,0x2c($sp)
/* f08d3d0: 8fb60030 */ lw $s6,0x30($sp)
/* f08d3d4: 03e00008 */ jr $ra
/* f08d3d8: 27bd00b0 */ addiu $sp,$sp,0xb0
);
void func0f08d3dc(struct doorobj *door)
{
func0f069b4c(&door->base);
if (door->doorflags & DOORFLAG_0004) {
struct modelnode *node = func0f0687e4(door->base.model);
union modelrodata *rodata = node->rodata;
union modelrwdata *rwdata = modelGetNodeRwData(door->base.model, node);
rwdata->dl.vertices = gfxAllocateVertices(rodata->dl.numvertices);
func0f08cb20(door, rodata->dl.vertices, rwdata->dl.vertices, rodata->dl.numvertices);
}
}
void func0f08d460(struct doorobj *door)
{
if ((door->doorflags & (DOORFLAG_0004 | DOORFLAG_0080)) == (DOORFLAG_0004 | DOORFLAG_0080)) {
struct modelnode *node = func0f0687e4(door->base.model);
union modelrodata *rodata = node->rodata;
union modelrwdata *rwdata = modelGetNodeRwData(door->base.model, node);
if (rwdata->dl.vertices != door->unka4) {
func0f08cb20(door, rodata->dl.vertices, door->unka4, rodata->dl.numvertices);
}
rwdata->dl.vertices = door->unka4;
}
}
void doorActivatePortal(struct doorobj *door)
{
if (door->portalnum >= 0) {
portalSetEnabled(door->portalnum, true);
}
}
void doorDeactivatePortal(struct doorobj *door)
{
if (door->portalnum >= 0) {
portalSetEnabled(door->portalnum, false);
}
}
struct prop *doorInit(struct doorobj *door, struct coord *pos, Mtxf *mtx, s16 *rooms, struct coord *coord, struct coord *centre)
{
struct prop *prop;
union modelrodata *rodata;
Mtxf sp38;
s16 sp28[8];
door->base.flags |= OBJFLAG_00000100;
prop = objInitWithAutoModel(&door->base);
if (prop != NULL) {
switch (door->doortype) {
case DOORTYPE_SLIDING:
case DOORTYPE_FLEXI1:
case DOORTYPE_FLEXI2:
case DOORTYPE_FLEXI3:
case DOORTYPE_VERTICAL:
case DOORTYPE_FALLAWAY:
case DOORTYPE_LASER:
door->doorflags |= DOORFLAG_0080;
break;
}
mtx4Copy(mtx, &sp38);
mtx00015f04(g_ModelStates[door->base.modelnum].scale * (1.0f / 4096.0f), &sp38);
mtx4ToMtx3(&sp38, door->base.realrot);
door->frac = (door->base.flags & OBJFLAG_DOOR_KEEPOPEN) ? door->maxfrac : 0;
door->fracspeed = 0;
door->mode = DOORMODE_IDLE;
door->glasshits = 0;
door->portalnum = -1;
door->startpos.x = centre->x;
door->startpos.y = centre->y;
door->startpos.z = centre->z;
if (door->doorflags & DOORFLAG_0080) {
door->unk98.x = coord->x;
door->unk98.y = coord->y;
door->unk98.z = coord->z;
if (door->doorflags & DOORFLAG_0004) {
struct modelnode *node = func0f0687e4(door->base.model);
rodata = node->rodata;
door->unka4 = mempAlloc(ALIGN16(rodata->dl.numvertices * sizeof(struct gfxvtx)), MEMPOOL_STAGE);
} else {
door->unka4 = NULL;
}
} else {
mtx4ToMtx3(&sp38, door->mtx98);
}
func0f065e74(pos, rooms, centre, sp28);
prop->type = PROPTYPE_DOOR;
prop->door = door;
prop->pos.x = centre->x;
prop->pos.y = centre->y;
prop->pos.z = centre->z;
propDeregisterRooms(prop);
roomsCopy(sp28, prop->rooms);
doorUpdateTiles(door);
func0f069c70(&door->base, false, true);
func0f08d3dc(door);
door->base.shadecol[0] = door->base.nextcol[0];
door->base.shadecol[1] = door->base.nextcol[1];
door->base.shadecol[2] = door->base.nextcol[2];
door->base.shadecol[3] = door->base.nextcol[3];
}
if (door);
if (door);
return prop;
}
void doorPlayOpeningSound(s32 soundtype, struct prop *prop)
{
s32 sound1 = 0;
s32 sound2 = 0;
s32 sound3 = 0;
func0f0926bc(prop, 12, 0xffff);
if (g_Vars.in_cutscene
&& (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_DOOR)
&& (prop->obj->flags3 & OBJFLAG3_AUTOCUTSCENESOUNDS) == 0) {
return;
}
switch (soundtype) {
case 28: sound1 = SFX_DOOR_8007; break;
case 1: sound1 = SFX_DOOR_801A; sound2 = SFX_DOOR_801B; break;
case 29: sound1 = SFX_DOOR_8015; sound2 = SFX_DOOR_801D; break;
case 2: sound1 = SFX_DOOR_801A; sound2 = SFX_DOOR_801C; break;
case 3: sound1 = SFX_DOOR_8014; sound2 = SFX_DOOR_8016; break;
case 4: sound1 = SFX_DOOR_801E; sound2 = SFX_DOOR_8020; break;
case 5: sound1 = SFX_DOOR_8001; break;
case 6: sound1 = SFX_DOOR_8004; break;
case 7: sound1 = SFX_DOOR_8005; break;
case 8: sound1 = SFX_DOOR_800A; sound2 = SFX_DOOR_8008; break;
case 9: sound1 = SFX_DOOR_8004; sound2 = SFX_DOOR_800B; break;
case 10: sound1 = SFX_DOOR_800C; break;
case 11: sound1 = SFX_DOOR_800E; break;
case 12: sound1 = SFX_DOOR_8010; break;
case 13: sound1 = SFX_DOOR_8012; break;
case 30: sound1 = SFX_DOOR_816B; sound2 = SFX_DOOR_81AA; break;
case 14: sound1 = SFX_DOOR_8017; sound2 = SFX_DOOR_8019; break;
case 15: sound1 = SFX_DOOR_8022; break;
case 25: sound1 = SFX_DOOR_81B8; break;
case 16: sound1 = SFX_DOOR_8026; break;
case 17: sound1 = SFX_DOOR_801E; break;
case 18:
sound1 = SFX_DOOR_81B0;
sound2 = SFX_DOOR_8014;
sound3 = SFX_DOOR_8016;
break;
case 19: sound1 = SFX_DOOR_81AE; sound2 = SFX_DOOR_81B3; break;
case 26: sound1 = SFX_DOOR_042C; sound2 = SFX_DOOR_042B; break;
case 20: sound1 = SFX_DOOR_81B1; sound2 = SFX_DOOR_81B6; break;
case 21: sound1 = SFX_DOOR_81A8; sound2 = SFX_DOOR_81AA; break;
case 32: sound1 = SFX_DOOR_81AB; sound2 = SFX_DOOR_81AD; break;
case 31: sound1 = SFX_DOOR_81AB; sound2 = SFX_DOOR_81B4; break;
case 22: sound1 = SFX_DOOR_81AE; sound2 = SFX_DOOR_81B5; break;
case 23: sound1 = SFX_DOOR_80AC; sound2 = SFX_DOOR_80AE; break;
case 24: sound1 = SFX_DOOR_816B; sound2 = SFX_DOOR_816C; break;
case 27: sound1 = SFX_DOOR_8014; sound2 = SFX_DOOR_042B; break;
}
if (sound1) {
#if VERSION >= VERSION_NTSC_1_0
func0f0939f8(NULL, prop, sound1, -1,
-1, 1024, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#else
func0f0939f8(NULL, prop, sound1, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#endif
}
if (sound2) {
func0f0939f8(NULL, prop, sound2, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
}
if (sound3) {
func0f0939f8(NULL, prop, sound3, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
}
}
/**
* This is identical to the function above but with less cases.
*/
void doorPlayClosingSound(s32 soundtype, struct prop *prop)
{
s32 sound1 = 0;
s32 sound2 = 0;
s32 sound3 = 0;
func0f0926bc(prop, 12, 0xffff);
if (g_Vars.in_cutscene
&& (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_DOOR)
&& (prop->obj->flags3 & OBJFLAG3_AUTOCUTSCENESOUNDS) == 0) {
return;
}
switch (soundtype) {
case 28: sound1 = SFX_DOOR_8007; break;
case 1: sound1 = SFX_DOOR_801A; sound2 = SFX_DOOR_801B; break;
case 29: sound1 = SFX_DOOR_8015; sound2 = SFX_DOOR_801D; break;
case 2: sound1 = SFX_DOOR_801A; sound2 = SFX_DOOR_801C; break;
case 3: sound1 = SFX_DOOR_8014; sound2 = SFX_DOOR_8016; break;
case 4: sound1 = SFX_DOOR_801E; sound2 = SFX_DOOR_8020; break;
case 5: sound1 = SFX_DOOR_8001; break;
case 8: sound1 = SFX_DOOR_800A; sound2 = SFX_DOOR_8008; break;
case 9: sound1 = SFX_DOOR_8004; sound2 = SFX_DOOR_800B; break;
case 10: sound1 = SFX_DOOR_800C; break;
case 30: sound1 = SFX_DOOR_816B; sound2 = SFX_DOOR_81AA; break;
case 14: sound1 = SFX_DOOR_8017; sound2 = SFX_DOOR_8019; break;
case 15: sound1 = SFX_DOOR_8022; break;
case 25: sound1 = SFX_DOOR_81B8; break;
case 16: sound1 = SFX_DOOR_8026; break;
case 17: sound1 = SFX_DOOR_801E; break;
case 18:
sound1 = SFX_DOOR_81B0;
sound2 = SFX_DOOR_8014;
sound3 = SFX_DOOR_8016;
break;
case 23: sound1 = SFX_DOOR_80AC; sound2 = SFX_DOOR_80AE; break;
case 24: sound1 = SFX_DOOR_816B; sound2 = SFX_DOOR_816C; break;
}
if (sound1) {
#if VERSION >= VERSION_NTSC_1_0
func0f0939f8(NULL, prop, sound1, -1,
-1, 1024, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#else
func0f0939f8(NULL, prop, sound1, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#endif
}
if (sound2) {
func0f0939f8(NULL, prop, sound2, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
}
if (sound3) {
func0f0939f8(NULL, prop, sound3, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
}
}
void doorPlayOpenedSound(s32 soundtype, struct prop *prop)
{
s32 sound = 0;
func0f0926bc(prop, 12, 0xffff);
if (g_Vars.in_cutscene
&& (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_DOOR)
&& (prop->obj->flags3 & OBJFLAG3_AUTOCUTSCENESOUNDS) == 0) {
return;
}
switch (soundtype) {
case 28: sound = SFX_DOOR_801A; break;
case 1: sound = SFX_DOOR_801A; break;
case 29: sound = SFX_DOOR_8015; break;
case 2: sound = SFX_DOOR_801A; break;
case 3: sound = SFX_DOOR_8015; break;
case 4: sound = SFX_DOOR_801F; break;
case 5: sound = SFX_DOOR_8002; break;
case 8: sound = SFX_DOOR_801A; break;
case 9: sound = SFX_DOOR_8003; break;
case 10: sound = SFX_DOOR_800D; break;
case 30: sound = SFX_DOOR_816D; break;
case 14: sound = SFX_DOOR_816D; break;
case 15: sound = SFX_DOOR_8021; break;
case 25: sound = SFX_DOOR_81B7; break;
case 16: sound = SFX_DOOR_8027; break;
case 17: sound = SFX_DOOR_801F; break;
case 18: sound = SFX_DOOR_8015; break;
case 26: sound = SFX_DOOR_042C; break;
case 19: sound = SFX_DOOR_81AF; break;
case 20: sound = SFX_DOOR_81B2; break;
case 21: sound = SFX_DOOR_81A8; break;
case 32: sound = SFX_DOOR_81AB; break;
case 31: sound = SFX_DOOR_81AB; break;
case 22: sound = SFX_DOOR_81AF; break;
case 23: sound = SFX_DOOR_80AD; break;
case 24: sound = SFX_DOOR_816D; break;
case 27: sound = SFX_DOOR_8015; break;
}
if (sound) {
#if VERSION >= VERSION_NTSC_1_0
func0f0939f8(NULL, prop, sound, -1,
-1, 1024, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#else
func0f0939f8(NULL, prop, sound, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#endif
}
}
void doorPlayClosedSound(s32 soundtype, struct prop *prop)
{
s32 sound = 0;
func0f0926bc(prop, 12, 0xffff);
if (g_Vars.in_cutscene
&& (prop->type == PROPTYPE_OBJ || prop->type == PROPTYPE_DOOR)
&& (prop->obj->flags3 & OBJFLAG3_AUTOCUTSCENESOUNDS) == 0) {
return;
}
switch (soundtype) {
case 28: sound = SFX_DOOR_801A; break;
case 1: sound = SFX_DOOR_801A; break;
case 29: sound = SFX_DOOR_8015; break;
case 2: sound = SFX_DOOR_801A; break;
case 3: sound = SFX_DOOR_8015; break;
case 4: sound = SFX_DOOR_801F; break;
case 5: sound = SFX_DOOR_8002; break;
case 6: sound = SFX_DOOR_8003; break;
case 7: sound = SFX_DOOR_8006; break;
case 8: sound = SFX_DOOR_801A; break;
case 9: sound = SFX_DOOR_8003; break;
case 10: sound = SFX_DOOR_800D; break;
case 11: sound = SFX_DOOR_800F; break;
case 12: sound = SFX_DOOR_8011; break;
case 13: sound = SFX_DOOR_8013; break;
case 30: sound = SFX_DOOR_816D; break;
case 14: sound = SFX_DOOR_8018; break;
case 15: sound = SFX_DOOR_8021; break;
case 25: sound = SFX_DOOR_81B7; break;
case 16: sound = SFX_DOOR_8027; break;
case 17: sound = SFX_DOOR_801F; break;
case 18: sound = SFX_DOOR_8015; break;
case 23: sound = SFX_DOOR_80AD; break;
case 24: sound = SFX_DOOR_816D; break;
}
if (sound) {
#if VERSION >= VERSION_NTSC_1_0
func0f0939f8(NULL, prop, sound, -1,
-1, 1024, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#else
func0f0939f8(NULL, prop, sound, -1,
-1, 0, 0, 12, 0, -1, 0, -1, -1, -1, -1);
#endif
}
}
/**
* Play the door open sound, activate the door's portal,
* and configure the laser fade properties if it's a laser.
*/
void doorStartOpen(struct doorobj *door)
{
door->base.flags &= ~OBJFLAG_DOOR_KEEPOPEN;
door->base.hidden |= OBJHFLAG_00000200;
doorPlayOpeningSound(door->soundtype, door->base.prop);
doorActivatePortal(door);
if (door->doortype == DOORTYPE_FALLAWAY) {
struct tiletype3 *geo = door->base.geo3;
door->base.flags |= OBJFLAG_CANNOT_ACTIVATE;
door->perimfrac = 0;
if (geo && (door->base.flags & OBJFLAG_00000100)) {
geo->header.numvertices = 0;
door->base.flags &= ~OBJFLAG_00000100;
}
}
door->fadetime60 = door->doortype == DOORTYPE_LASER ? PALDOWN(60) : 0;
if (door->doortype == DOORTYPE_LASER) {
door->laserfade = 255;
}
}
/**
* Play the door close sound and configure the
* laser fade properties if it's a laser.
*/
void doorStartClose(struct doorobj *door)
{
door->base.flags &= ~OBJFLAG_DOOR_KEEPOPEN;
doorPlayClosingSound(door->soundtype, door->base.prop);
door->fadetime60 = door->doortype == DOORTYPE_LASER ? PALDOWN(60) : 0;
if (door->doortype == DOORTYPE_LASER) {
door->laserfade = 0;
}
}
#if PIRACYCHECKS
u32 decodeXorAaaaaaaa(u32 value)
{
return value ^ (PAL ? 0x18743082 : 0xaaaaaaaa);
}
#endif
void doorFinishOpen(struct doorobj *door)
{
doorPlayOpenedSound(door->soundtype, door->base.prop);
if (door->doortype == DOORTYPE_FALLAWAY) {
func0f0685e4(door->base.prop);
if (door->base.hidden & OBJHFLAG_AIRBORNE) {
door->base.projectile->flags |= PROJECTILEFLAG_00000001;
mtx4LoadIdentity((Mtxf *)&door->base.projectile->unk020);
}
}
if (door->doortype == DOORTYPE_LASER) {
door->laserfade = 0;
}
}
extern s32 osCicId;
void doorFinishClose(struct doorobj *door)
{
bool pass = true;
struct doorobj *loopdoor;
doorPlayClosedSound(door->soundtype, door->base.prop);
loopdoor = door;
while (loopdoor) {
if (loopdoor->frac > 0 && loopdoor->portalnum == door->portalnum) {
pass = false;
}
loopdoor = loopdoor->sibling;
if (loopdoor == door) {
break;
}
}
if (pass) {
doorDeactivatePortal(door);
}
#if VERSION >= VERSION_NTSC_1_0
if (door->doortype == DOORTYPE_LASER && door->fadetime60 == 0) {
door->laserfade = 255;
}
#else
if (door->doortype == DOORTYPE_LASER) {
door->laserfade = 0;
}
#endif
#if PIRACYCHECKS
if (osCicId != decodeXorAaaaaaaa(PAL ? (6105 ^ 0x18743082) : (6105 ^ 0xaaaaaaaa))) {
u32 *ptr = (u32 *)func0f08f968;
ptr[0] = 0x00001025; // li v0, 0
ptr[1] = 0x03e00008; // jr ra
ptr[2] = 0x00000000; // nop
}
#endif
}
/**
* Apply the given mode to an individual door (not its siblings).
*
* Handles playing door open/close sounds and activating the portal if opening.
*/
void doorSetMode(struct doorobj *door, s32 newmode)
{
if (newmode == DOORMODE_OPENING) {
if (door->mode == DOORMODE_IDLE || door->mode == DOORMODE_WAITING) {
doorStartOpen(door);
}
door->mode = newmode;
} else if (newmode == DOORMODE_CLOSING) {
if (door->mode == DOORMODE_IDLE && door->frac > 0) {
doorStartClose(door);
}
if ((door->mode != DOORMODE_IDLE && door->mode != DOORMODE_WAITING) || door->frac > 0) {
door->mode = newmode;
} else if (door->mode == DOORMODE_WAITING) {
door->mode = DOORMODE_IDLE;
}
} else {
door->mode = newmode;
}
}
/**
* Request that the door and its siblings be applied the given mode
* (opening or closing).
*
* When opening an airlock-style door (eg. GE Dam gate), the requested mode is
* modified so that the sibling begins closing instead, and the main door waits
* for the sibling before it opens.
*/
void doorsRequestMode(struct doorobj *door, s32 newmode)
{
struct doorobj *sibling;
s32 siblingmode = newmode;
if ((door->base.flags2 & OBJFLAG2_AIRLOCKDOOR) && newmode == DOORMODE_OPENING) {
siblingmode = DOORMODE_CLOSING;
if (door->mode == DOORMODE_IDLE) {
newmode = DOORMODE_WAITING;
}
}
doorSetMode(door, newmode);
sibling = door->sibling;
while (sibling && sibling != door) {
doorSetMode(sibling, siblingmode);
sibling = sibling->sibling;
}
}
s32 doorIsClosed(struct doorobj *door)
{
return (door->mode == DOORMODE_IDLE || door->mode == DOORMODE_WAITING) && door->frac <= 0;
}
s32 doorIsOpen(struct doorobj *door)
{
return (door->mode == DOORMODE_IDLE || door->mode == DOORMODE_WAITING) && door->frac >= door->maxfrac;
}
s32 func0f08e5a8(s16 *rooms2, struct screenbox *box)
{
bool result = false;
s16 *rooms = rooms2;
s32 roomnum = *rooms;
while (roomnum != -1) {
struct var800a4640_00 *thing = func0f158140(roomnum);
if (thing != var8007fc24) {
if (result) {
if (box->xmin > thing->box.xmin) {
box->xmin = thing->box.xmin;
}
if (box->ymin > thing->box.ymin) {
box->ymin = thing->box.ymin;
}
if (box->xmax < thing->box.xmax) {
box->xmax = thing->box.xmax;
}
if (box->ymax < thing->box.ymax) {
box->ymax = thing->box.ymax;
}
} else {
box->xmin = thing->box.xmin;
box->ymin = thing->box.ymin;
box->xmax = thing->box.xmax;
box->ymax = thing->box.ymax;
}
result = true;
}
rooms++;
roomnum = *rooms;
}
return result;
}
f32 func0f08e6bc(struct prop *prop, f32 arg1)
{
f32 result = 1;
struct coord *coord = func0f1667e8();
if (coord != NULL && coord->z < prop->z) {
f32 scalez = currentPlayerGetLodScaleZ();
f32 value = ((prop->z - coord->z) * 100.0f / arg1 + coord->z) * scalez;
if (value >= coord->y) {
result = 0;
} else if (value > coord->x) {
result = (coord->y - value) / (coord->y - coord->x);
}
}
return result;
}
bool func0f08e794(struct coord *coord, f32 arg1)
{
bool result = true;
struct coord *ptr = func0f1667e8();
struct coord tmp;
f32 sp20;
if (ptr != NULL) {
struct coord *campos = &g_Vars.currentplayer->cam_pos;
Mtxf *mtx = currentPlayerGetMatrix1740();
tmp.x = coord->x - campos->x;
tmp.y = coord->y - campos->y;
tmp.z = coord->z - campos->z;
sp20 = tmp.f[0] * mtx->m[0][0] + tmp.f[1] * mtx->m[0][1] + tmp.f[2] * mtx->m[0][2];
if (sp20 > ptr->z) {
f32 scalez = currentPlayerGetLodScaleZ();
sp20 = ((sp20 - ptr->z) * 100 / arg1 + ptr->z) * scalez;
if (sp20 >= ptr->y) {
result = false;
}
}
}
return result;
}
u32 func0f08e8ac(struct prop *prop, struct coord *coord, f32 arg2, bool arg3)
{
s16 *rooms;
s32 roomnum;
bool result = false;
u32 stack;
rooms = prop->rooms;
roomnum = *rooms;
while (roomnum != -1) {
if (g_Rooms[roomnum].flags & ROOMFLAG_VISIBLEBYPLAYER) {
if (func0f1666f8(coord, arg2) && (!arg3 || func0f08e794(coord, arg2))) {
result = func0f0b6260(prop->rooms, coord, arg2);
if (result) {
struct coord *campos = &g_Vars.currentplayer->cam_pos;
f32 xdiff = coord->x - campos->x;
f32 ydiff = coord->y - campos->y;
f32 zdiff = coord->z - campos->z;
if (xdiff * xdiff + ydiff * ydiff + zdiff * zdiff > 32000 * 32000) {
result = false;
}
}
}
break;
}
rooms++;
roomnum = *rooms;
result = false;
}
return result;
}
bool posIsInDrawDistance(struct coord *pos)
{
struct coord *campos = &g_Vars.currentplayer->cam_pos;
f32 x = pos->x - campos->x;
f32 y = pos->y - campos->y;
f32 z = pos->z - campos->z;
f32 aggregate = x * x + y * y + z * z;
bool result = true;
if (aggregate > 1024000000) {
result = false;
}
return result;
}
void doorCreateSparks(struct doorobj *door)
{
struct pad pad;
struct coord sp88;
struct coord sp7c;
struct coord sp70;
s32 i;
padUnpack(door->base.pad, PADFIELD_POS | PADFIELD_UP | PADFIELD_NORMAL | PADFIELD_BBOX, &pad);
sp88.x = sp7c.f[0] = pad.pos.f[0] + pad.up.f[0] * (pad.bbox.ymin + (1 - door->frac) * (pad.bbox.ymax - pad.bbox.ymin));
sp88.y = sp7c.f[1] = pad.pos.f[1] + pad.up.f[1] * (pad.bbox.ymin + (1 - door->frac) * (pad.bbox.ymax - pad.bbox.ymin));
sp88.z = sp7c.f[2] = pad.pos.f[2] + pad.up.f[2] * (pad.bbox.ymin + (1 - door->frac) * (pad.bbox.ymax - pad.bbox.ymin));
sp88.x += pad.look.f[0] * pad.bbox.zmax;
sp88.y += pad.look.f[1] * pad.bbox.zmax;
sp88.z += pad.look.f[2] * pad.bbox.zmax;
sp7c.x += pad.look.f[0] * pad.bbox.zmin;
sp7c.y += pad.look.f[1] * pad.bbox.zmin;
sp7c.z += pad.look.f[2] * pad.bbox.zmin;
sp70.x = -pad.up.x;
sp70.y = -pad.up.y;
sp70.z = -pad.up.z;
sparksCreate(door->base.prop->rooms[0], door->base.prop, &sp88, &sp70, &pad.up, SPARKTYPE_09);
sparksCreate(door->base.prop->rooms[0], door->base.prop, &sp7c, &sp70, &pad.up, SPARKTYPE_09);
if (random() % 2) {
sparksCreate(door->base.prop->rooms[0], door->base.prop, &sp88, &sp70, &pad.up, SPARKTYPE_0C);
} else {
sparksCreate(door->base.prop->rooms[0], door->base.prop, &sp88, &sp70, &pad.up, SPARKTYPE_0D);
}
func0f0939f8(NULL, door->base.prop, propsndGetRandomSparkSound(), -1,
-1, 0, 0, 0, &sp88, -1, door->base.prop->rooms, -1, -1, -1, -1);
func0f0939f8(NULL, door->base.prop, propsndGetRandomSparkSound(), -1,
-1, 0, 0, 0, &sp7c, -1, door->base.prop->rooms, -1, -1, -1, -1);
for (i = 0; door->base.prop->rooms[i] != -1; i++) {
roomAdjustLighting(door->base.prop->rooms[i], 128, 200);
}
}
/**
* Calculate/tick a door's frac (the amount it's open) without any consideration
* for props which might be blocking the door. The new frac is written to the
* door's frac property.
*
* Return true if collision checks should be considered.
*
* Also handles sticky doors such as the ones in Skedar Ruins.
*/
bool doorCalcIntendedFrac(struct doorobj *door)
{
bool checkcollision = false;
if (door->doortype == DOORTYPE_LASER && door->fadetime60 != 0) {
door->fadetime60 -= g_Vars.lvupdate240_60;
if (door->fadetime60 < 0) {
door->fadetime60 = 0;
}
if (door->mode == DOORMODE_OPENING) {
door->laserfade = (u32)((door->fadetime60 * 255.0f) / PALDOWN(60.0f));
return false;
}
door->laserfade = (u32)(((PALDOWN(60.0f) - door->fadetime60) * 255.0f) / PALDOWN(60.0f));
}
if (door->mode == DOORMODE_OPENING || door->mode == DOORMODE_CLOSING) {
f32 end = door->mode == DOORMODE_OPENING ? door->maxfrac : 0;
// Skedar Ruins random door stuckage
if (door->base.flags3 & OBJFLAG3_DOOR_STICKY) {
s32 value = (random() % 64) + 30;
if ((g_Vars.lvframenum % value) == 0) {
bool dothething = false;
struct doorobj *loopdoor;
door->fracspeed = 0.0f;
doorCreateSparks(door);
if (random() % 2) {
dothething = true;
func0f0926bc(door->base.prop, 12, 0xffff);
door->mode = DOORMODE_IDLE;
door->lastopen60 = g_Vars.lvframe60;
}
loopdoor = door;
while (loopdoor) {
if (random() % 2 && loopdoor->mode != DOORMODE_IDLE) {
loopdoor->fracspeed = 0.0f;
doorCreateSparks(loopdoor);
if (dothething) {
func0f0926bc(loopdoor->base.prop, 12, 0xffff);
loopdoor->mode = DOORMODE_IDLE;
loopdoor->lastopen60 = g_Vars.lvframe60;
}
}
loopdoor = loopdoor->sibling;
if (loopdoor == door) {
break;
}
}
doorPlayClosedSound(door->soundtype, door->base.prop);
}
}
applySpeed(&door->frac, end, &door->fracspeed, door->accel, door->decel, door->maxspeed);
if (door->frac >= door->maxfrac) {
door->frac = door->maxfrac;
} else if (door->frac <= 0.0f) {
door->frac = 0.0f;
}
checkcollision = true;
}
return checkcollision;
}
/**
* Calculate the frac of a door and its siblings, taking into consideration
* objects which may be blocking the door.
*
* For each sibling, the original frac is backed up into the sibling's
* lastcalc60 field. The desired frac is then calculated and set in the
* sibling's frac property. Then collision checks are done, and the original
* frac is restored if any sibling is blocked.
*
* Chrs who are blocking a lift door may be warped out of the way.
*/
void doorsCalcFrac(struct doorobj *door)
{
bool checkcollision = false;
s32 cdresult = CDRESULT_NOCOLLISION;
struct doorobj *loopdoor;
struct doorobj *loopdoor2;
f32 frac;
s32 numsameportal;
// For each sibling door, save their previous frac
// then calculate the new desired frac
loopdoor = door;
while (loopdoor) {
*(f32 *)&loopdoor->lastcalc60 = loopdoor->frac;
if (doorCalcIntendedFrac(loopdoor)) {
checkcollision = true;
}
loopdoor = loopdoor->sibling;
if (loopdoor == door) {
break;
}
}
// Do collision checks
if (checkcollision) {
loopdoor = door;
while (loopdoor) {
struct prop *loopprop;
doorUpdateTiles(loopdoor);
func0f0923d4(&loopdoor->base);
loopprop = loopdoor->base.prop;
#if VERSION >= VERSION_NTSC_1_0
if ((door->doorflags & DOORFLAG_UNBLOCKABLEOPEN) == 0 || loopdoor->mode == DOORMODE_CLOSING)
#else
if ((door->doorflags & DOORFLAG_UNBLOCKABLEOPEN) == 0)
#endif
{
propSetPerimEnabled(loopprop, false);
cdresult = cd0002e4c4(loopdoor->base.geo2, loopprop->rooms,
CDTYPE_OBJS | CDTYPE_PLAYERS | CDTYPE_CHRS | CDTYPE_PATHBLOCKER | CDTYPE_OBJSNOTSAFEORHELI);
propSetPerimEnabled(loopprop, true);
if (cdresult == CDRESULT_COLLISION) {
struct prop *blockerprop = cdGetObstacle();
if (blockerprop && blockerprop->type == PROPTYPE_CHR) {
struct chrdata *chr = blockerprop->chr;
chr->hidden |= CHRHFLAG_BLOCKINGDOOR;
#if VERSION >= VERSION_NTSC_1_0
// Consider warping the chr past the lift door
if (!g_Vars.normmplayerisrunning && (chr->hidden & CHRHFLAG_00400000)) {
bool isliftdoor = false;
loopdoor2 = loopdoor;
while (loopdoor2) {
if (loopdoor2->base.hidden & OBJHFLAG_LIFTDOOR) {
isliftdoor = true;
break;
}
loopdoor2 = loopdoor2->sibling;
if (loopdoor2 == loopdoor) {
break;
}
}
if (isliftdoor) {
if (chr->actiontype == ACT_STAND
|| (chr->actiontype == ACT_ATTACK && (chr->act_attack.flags & ATTACKFLAG_DONTTURN))
|| (chr->actiontype == ACT_GOPOS && func0f02e064(chr))) {
struct prop *target = chrGetTargetProp(chr);
if (chrGoToPos(chr, &target->pos, target->rooms, 0)) {
chr->goposforce = PALDOWN(600);
}
} else if (chr->actiontype == ACT_GOPOS) {
if (chr->goposforce >= 0 || chr->lastmoveok60 < g_Vars.lvframe60 - PALDOWN(60)) {
chr->goposforce = PALDOWN(600);
}
}
}
}
#endif
}
break;
}
}
loopdoor = loopdoor->sibling;
if (loopdoor == door) {
break;
}
}
}
// Finalise the frac
loopdoor = door;
while (loopdoor) {
if (checkcollision) {
if (cdresult != CDRESULT_COLLISION) {
// No collision - handle door becoming fully open or closed
if (loopdoor->mode == DOORMODE_OPENING) {
if (loopdoor->frac >= loopdoor->maxfrac) {
loopdoor->mode = DOORMODE_IDLE;
loopdoor->fracspeed = 0;
loopdoor->lastopen60 = g_Vars.lvframe60;
doorFinishOpen(loopdoor);
}
} else {
if (loopdoor->mode == DOORMODE_CLOSING && loopdoor->frac <= 0) {
loopdoor->mode = DOORMODE_IDLE;
loopdoor->fracspeed = 0;
loopdoor->lastopen60 = 0;
doorFinishClose(loopdoor);
}
}
func0f069c70(&loopdoor->base, false, false);
func0f08d3dc(loopdoor);
} else {
// Door is blocked - restore the original frac
loopdoor->fracspeed = 0;
loopdoor->frac = *(f32 *)&loopdoor->lastcalc60;
doorUpdateTiles(loopdoor);
func0f0923d4(&loopdoor->base);
func0f08d460(loopdoor);
}
} else {
func0f08d460(loopdoor);
}
loopdoor->lastcalc60 = g_Vars.lvframe60;
loopdoor = loopdoor->sibling;
if (loopdoor == door) {
break;
}
}
// Update portal visibility
frac = 0;
numsameportal = 0;
if (checkcollision) {
loopdoor = door;
while (loopdoor) {
if (loopdoor->portalnum == door->portalnum) {
numsameportal++;
if (loopdoor->doortype == DOORTYPE_SWINGING || loopdoor->doortype == DOORTYPE_SWINGING) {
frac += loopdoor->frac / loopdoor->maxfrac;
} else {
frac += loopdoor->frac / loopdoor->maxfrac;
}
}
loopdoor = loopdoor->sibling;
if (loopdoor == door) {
break;
}
}
func0f0b6470(door->portalnum, frac / numsameportal);
func0f0b63b0(door->portalnum, frac / numsameportal);
}
}
f32 func0f08f538(f32 x, f32 y)
{
f32 angle = atan2f(x, y);
if (g_Vars.currentplayer->eyespy
&& g_Vars.currentplayer->eyespy->active
&& g_Vars.currentplayer->eyespy->prop
&& g_Vars.currentplayer->eyespy->prop->chr) {
angle -= chrGetInverseTheta(g_Vars.currentplayer->eyespy->prop->chr);
} else {
angle -= (360.0f - g_Vars.currentplayer->vv_theta) * M_BADTAU / 360.0f;
}
if (angle < 0) {
angle += M_BADTAU;
}
if (angle > M_BADPI) {
angle -= M_BADTAU;
}
return angle;
}
GLOBAL_ASM(
glabel func0f08f604
.late_rodata
glabel var7f1ab180
.word 0x3c8ef461
glabel var7f1ab184
.word 0x40c907a9
.text
/* f08f604: 27bdff18 */ addiu $sp,$sp,-232
/* f08f608: 3c08800a */ lui $t0,%hi(g_Vars+0x284)
/* f08f60c: 8d08a244 */ lw $t0,%lo(g_Vars+0x284)($t0)
/* f08f610: afbf0014 */ sw $ra,0x14($sp)
/* f08f614: afa400e8 */ sw $a0,0xe8($sp)
/* f08f618: afa500ec */ sw $a1,0xec($sp)
/* f08f61c: afa600f0 */ sw $a2,0xf0($sp)
/* f08f620: afa700f4 */ sw $a3,0xf4($sp)
/* f08f624: 8d030480 */ lw $v1,0x480($t0)
/* f08f628: 27a60044 */ addiu $a2,$sp,0x44
/* f08f62c: 2405002e */ addiu $a1,$zero,0x2e
/* f08f630: 10600006 */ beqz $v1,.L0f08f64c
/* f08f634: 8faf00e8 */ lw $t7,0xe8($sp)
/* f08f638: 806e0037 */ lb $t6,0x37($v1)
/* f08f63c: 51c00004 */ beqzl $t6,.L0f08f650
/* f08f640: 8d0200bc */ lw $v0,0xbc($t0)
/* f08f644: 10000002 */ b .L0f08f650
/* f08f648: 8c620000 */ lw $v0,0x0($v1)
.L0f08f64c:
/* f08f64c: 8d0200bc */ lw $v0,0xbc($t0)
.L0f08f650:
/* f08f650: 85e40006 */ lh $a0,0x6($t7)
/* f08f654: 0fc456ac */ jal padUnpack
/* f08f658: afa200b4 */ sw $v0,0xb4($sp)
/* f08f65c: 8fa200b4 */ lw $v0,0xb4($sp)
/* f08f660: 8fb800fc */ lw $t8,0xfc($sp)
/* f08f664: c7a00060 */ lwc1 $f0,0x60($sp)
/* f08f668: c4440008 */ lwc1 $f4,0x8($v0)
/* f08f66c: c7a20054 */ lwc1 $f2,0x54($sp)
/* f08f670: c7aa007c */ lwc1 $f10,0x7c($sp)
/* f08f674: e7a40098 */ swc1 $f4,0x98($sp)
/* f08f678: c446000c */ lwc1 $f6,0xc($v0)
/* f08f67c: e7a6009c */ swc1 $f6,0x9c($sp)
/* f08f680: c4480010 */ lwc1 $f8,0x10($v0)
/* f08f684: 13000012 */ beqz $t8,.L0f08f6d0
/* f08f688: e7a800a0 */ swc1 $f8,0xa0($sp)
/* f08f68c: c7a40058 */ lwc1 $f4,0x58($sp)
/* f08f690: c7aa0078 */ lwc1 $f10,0x78($sp)
/* f08f694: c7a80064 */ lwc1 $f8,0x64($sp)
/* f08f698: 46040182 */ mul.s $f6,$f0,$f4
/* f08f69c: e7aa00a4 */ swc1 $f10,0xa4($sp)
/* f08f6a0: c7b00074 */ lwc1 $f16,0x74($sp)
/* f08f6a4: 46081282 */ mul.s $f10,$f2,$f8
/* f08f6a8: c7a8005c */ lwc1 $f8,0x5c($sp)
/* f08f6ac: e7b000a8 */ swc1 $f16,0xa8($sp)
/* f08f6b0: 460a3101 */ sub.s $f4,$f6,$f10
/* f08f6b4: 46024182 */ mul.s $f6,$f8,$f2
/* f08f6b8: c7aa0050 */ lwc1 $f10,0x50($sp)
/* f08f6bc: e7a400b0 */ swc1 $f4,0xb0($sp)
/* f08f6c0: 46005102 */ mul.s $f4,$f10,$f0
/* f08f6c4: 46043201 */ sub.s $f8,$f6,$f4
/* f08f6c8: 10000008 */ b .L0f08f6ec
/* f08f6cc: e7a800ac */ swc1 $f8,0xac($sp)
.L0f08f6d0:
/* f08f6d0: c7a60080 */ lwc1 $f6,0x80($sp)
/* f08f6d4: c7a4005c */ lwc1 $f4,0x5c($sp)
/* f08f6d8: c7a80064 */ lwc1 $f8,0x64($sp)
/* f08f6dc: e7aa00a8 */ swc1 $f10,0xa8($sp)
/* f08f6e0: e7a600a4 */ swc1 $f6,0xa4($sp)
/* f08f6e4: e7a400b0 */ swc1 $f4,0xb0($sp)
/* f08f6e8: e7a800ac */ swc1 $f8,0xac($sp)
.L0f08f6ec:
/* f08f6ec: c7b000a8 */ lwc1 $f16,0xa8($sp)
/* f08f6f0: c7aa00b0 */ lwc1 $f10,0xb0($sp)
/* f08f6f4: c7a60044 */ lwc1 $f6,0x44($sp)
/* f08f6f8: c7a80098 */ lwc1 $f8,0x98($sp)
/* f08f6fc: 46105002 */ mul.s $f0,$f10,$f16
/* f08f700: c7aa00ac */ lwc1 $f10,0xac($sp)
/* f08f704: 46105082 */ mul.s $f2,$f10,$f16
/* f08f708: e7a0002c */ swc1 $f0,0x2c($sp)
/* f08f70c: 46003100 */ add.s $f4,$f6,$f0
/* f08f710: c7a6004c */ lwc1 $f6,0x4c($sp)
/* f08f714: e7a20028 */ swc1 $f2,0x28($sp)
/* f08f718: 46082301 */ sub.s $f12,$f4,$f8
/* f08f71c: c7a800a0 */ lwc1 $f8,0xa0($sp)
/* f08f720: 46023100 */ add.s $f4,$f6,$f2
/* f08f724: e7ac00d4 */ swc1 $f12,0xd4($sp)
/* f08f728: 46082381 */ sub.s $f14,$f4,$f8
/* f08f72c: 0fc23d4e */ jal func0f08f538
/* f08f730: e7ae00d0 */ swc1 $f14,0xd0($sp)
/* f08f734: c7a200a4 */ lwc1 $f2,0xa4($sp)
/* f08f738: c7a600b0 */ lwc1 $f6,0xb0($sp)
/* f08f73c: c7aa0044 */ lwc1 $f10,0x44($sp)
/* f08f740: e7a000e4 */ swc1 $f0,0xe4($sp)
/* f08f744: 46023102 */ mul.s $f4,$f6,$f2
/* f08f748: c7a60098 */ lwc1 $f6,0x98($sp)
/* f08f74c: 46045200 */ add.s $f8,$f10,$f4
/* f08f750: c7a400ac */ lwc1 $f4,0xac($sp)
/* f08f754: c7aa004c */ lwc1 $f10,0x4c($sp)
/* f08f758: 46064301 */ sub.s $f12,$f8,$f6
/* f08f75c: 46022202 */ mul.s $f8,$f4,$f2
/* f08f760: c7a400a0 */ lwc1 $f4,0xa0($sp)
/* f08f764: e7ac00cc */ swc1 $f12,0xcc($sp)
/* f08f768: 46085180 */ add.s $f6,$f10,$f8
/* f08f76c: 46043381 */ sub.s $f14,$f6,$f4
/* f08f770: 0fc23d4e */ jal func0f08f538
/* f08f774: e7ae00c8 */ swc1 $f14,0xc8($sp)
/* f08f778: c7b000e4 */ lwc1 $f16,0xe4($sp)
/* f08f77c: 8fa300e8 */ lw $v1,0xe8($sp)
/* f08f780: 8fb900ec */ lw $t9,0xec($sp)
/* f08f784: 4600803c */ c.lt.s $f16,$f0
/* f08f788: 8faa00ec */ lw $t2,0xec($sp)
/* f08f78c: 45020006 */ bc1fl .L0f08f7a8
/* f08f790: e5400000 */ swc1 $f0,0x0($t2)
/* f08f794: e7300000 */ swc1 $f16,0x0($t9)
/* f08f798: 8fa900f0 */ lw $t1,0xf0($sp)
/* f08f79c: 10000004 */ b .L0f08f7b0
/* f08f7a0: e5200000 */ swc1 $f0,0x0($t1)
/* f08f7a4: e5400000 */ swc1 $f0,0x0($t2)
.L0f08f7a8:
/* f08f7a8: 8fab00f0 */ lw $t3,0xf0($sp)
/* f08f7ac: e5700000 */ swc1 $f16,0x0($t3)
.L0f08f7b0:
/* f08f7b0: 8fa500f4 */ lw $a1,0xf4($sp)
/* f08f7b4: 8fa400f8 */ lw $a0,0xf8($sp)
/* f08f7b8: 50a00068 */ beqzl $a1,.L0f08f95c
/* f08f7bc: 8fbf0014 */ lw $ra,0x14($sp)
/* f08f7c0: 50800066 */ beqzl $a0,.L0f08f95c
/* f08f7c4: 8fbf0014 */ lw $ra,0x14($sp)
/* f08f7c8: 94620072 */ lhu $v0,0x72($v1)
/* f08f7cc: 24010005 */ addiu $at,$zero,0x5
/* f08f7d0: 14410035 */ bne $v0,$at,.L0f08f8a8
/* f08f7d4: 3c017f1b */ lui $at,%hi(var7f1ab180)
/* f08f7d8: c428b180 */ lwc1 $f8,%lo(var7f1ab180)($at)
/* f08f7dc: c46a007c */ lwc1 $f10,0x7c($v1)
/* f08f7e0: 8c6c0008 */ lw $t4,0x8($v1)
/* f08f7e4: 46008486 */ mov.s $f18,$f16
/* f08f7e8: 46085302 */ mul.s $f12,$f10,$f8
/* f08f7ec: 000c6880 */ sll $t5,$t4,0x2
/* f08f7f0: 05a10003 */ bgez $t5,.L0f08f800
/* f08f7f4: 3c017f1b */ lui $at,%hi(var7f1ab184)
/* f08f7f8: c426b184 */ lwc1 $f6,%lo(var7f1ab184)($at)
/* f08f7fc: 460c3301 */ sub.s $f12,$f6,$f12
.L0f08f800:
/* f08f800: e7ac0038 */ swc1 $f12,0x38($sp)
/* f08f804: 0c0068f4 */ jal cosf
/* f08f808: e7b200dc */ swc1 $f18,0xdc($sp)
/* f08f80c: c7ac0038 */ lwc1 $f12,0x38($sp)
/* f08f810: 0c0068f7 */ jal sinf
/* f08f814: e7a00034 */ swc1 $f0,0x34($sp)
/* f08f818: c7a400a4 */ lwc1 $f4,0xa4($sp)
/* f08f81c: c7aa00a8 */ lwc1 $f10,0xa8($sp)
/* f08f820: c7a80044 */ lwc1 $f8,0x44($sp)
/* f08f824: c7a6002c */ lwc1 $f6,0x2c($sp)
/* f08f828: 460a2081 */ sub.s $f2,$f4,$f10
/* f08f82c: c7aa0098 */ lwc1 $f10,0x98($sp)
/* f08f830: c7b00034 */ lwc1 $f16,0x34($sp)
/* f08f834: 46064100 */ add.s $f4,$f8,$f6
/* f08f838: c7a600b0 */ lwc1 $f6,0xb0($sp)
/* f08f83c: 460a2201 */ sub.s $f8,$f4,$f10
/* f08f840: 46103102 */ mul.s $f4,$f6,$f16
/* f08f844: c7aa00ac */ lwc1 $f10,0xac($sp)
/* f08f848: e7a80018 */ swc1 $f8,0x18($sp)
/* f08f84c: 46005202 */ mul.s $f8,$f10,$f0
/* f08f850: 46082100 */ add.s $f4,$f4,$f8
/* f08f854: 46041202 */ mul.s $f8,$f2,$f4
/* f08f858: c7a40018 */ lwc1 $f4,0x18($sp)
/* f08f85c: 46082300 */ add.s $f12,$f4,$f8
/* f08f860: c7a80028 */ lwc1 $f8,0x28($sp)
/* f08f864: c7a4004c */ lwc1 $f4,0x4c($sp)
/* f08f868: 46082100 */ add.s $f4,$f4,$f8
/* f08f86c: c7a800a0 */ lwc1 $f8,0xa0($sp)
/* f08f870: 46082101 */ sub.s $f4,$f4,$f8
/* f08f874: 46003207 */ neg.s $f8,$f6
/* f08f878: 46004182 */ mul.s $f6,$f8,$f0
/* f08f87c: 00000000 */ nop
/* f08f880: 46105202 */ mul.s $f8,$f10,$f16
/* f08f884: 46083280 */ add.s $f10,$f6,$f8
/* f08f888: 460a1182 */ mul.s $f6,$f2,$f10
/* f08f88c: 0fc23d4e */ jal func0f08f538
/* f08f890: 46062380 */ add.s $f14,$f4,$f6
/* f08f894: c7b200dc */ lwc1 $f18,0xdc($sp)
/* f08f898: 46000086 */ mov.s $f2,$f0
/* f08f89c: 8fa500f4 */ lw $a1,0xf4($sp)
/* f08f8a0: 10000024 */ b .L0f08f934
/* f08f8a4: 8fa400f8 */ lw $a0,0xf8($sp)
.L0f08f8a8:
/* f08f8a8: 10400007 */ beqz $v0,.L0f08f8c8
/* f08f8ac: 24010001 */ addiu $at,$zero,0x1
/* f08f8b0: 10410005 */ beq $v0,$at,.L0f08f8c8
/* f08f8b4: 24010002 */ addiu $at,$zero,0x2
/* f08f8b8: 10410003 */ beq $v0,$at,.L0f08f8c8
/* f08f8bc: 24010003 */ addiu $at,$zero,0x3
/* f08f8c0: 5441001b */ bnel $v0,$at,.L0f08f930
/* f08f8c4: 46008486 */ mov.s $f18,$f16
.L0f08f8c8:
/* f08f8c8: c460007c */ lwc1 $f0,0x7c($v1)
/* f08f8cc: c4680098 */ lwc1 $f8,0x98($v1)
/* f08f8d0: c46a00a0 */ lwc1 $f10,0xa0($v1)
/* f08f8d4: c7a400d4 */ lwc1 $f4,0xd4($sp)
/* f08f8d8: 46004082 */ mul.s $f2,$f8,$f0
/* f08f8dc: c7a600d0 */ lwc1 $f6,0xd0($sp)
/* f08f8e0: 46005402 */ mul.s $f16,$f10,$f0
/* f08f8e4: e7a20040 */ swc1 $f2,0x40($sp)
/* f08f8e8: 46022300 */ add.s $f12,$f4,$f2
/* f08f8ec: e7b0003c */ swc1 $f16,0x3c($sp)
/* f08f8f0: 0fc23d4e */ jal func0f08f538
/* f08f8f4: 46103380 */ add.s $f14,$f6,$f16
/* f08f8f8: c7a20040 */ lwc1 $f2,0x40($sp)
/* f08f8fc: c7b0003c */ lwc1 $f16,0x3c($sp)
/* f08f900: c7a800cc */ lwc1 $f8,0xcc($sp)
/* f08f904: c7aa00c8 */ lwc1 $f10,0xc8($sp)
/* f08f908: e7a000dc */ swc1 $f0,0xdc($sp)
/* f08f90c: 46024300 */ add.s $f12,$f8,$f2
/* f08f910: 0fc23d4e */ jal func0f08f538
/* f08f914: 46105380 */ add.s $f14,$f10,$f16
/* f08f918: c7b200dc */ lwc1 $f18,0xdc($sp)
/* f08f91c: 46000086 */ mov.s $f2,$f0
/* f08f920: 8fa500f4 */ lw $a1,0xf4($sp)
/* f08f924: 10000003 */ b .L0f08f934
/* f08f928: 8fa400f8 */ lw $a0,0xf8($sp)
/* f08f92c: 46008486 */ mov.s $f18,$f16
.L0f08f930:
/* f08f930: 46000086 */ mov.s $f2,$f0
.L0f08f934:
/* f08f934: 4602903c */ c.lt.s $f18,$f2
/* f08f938: 00000000 */ nop
/* f08f93c: 45020005 */ bc1fl .L0f08f954
/* f08f940: e4a20000 */ swc1 $f2,0x0($a1)
/* f08f944: e4b20000 */ swc1 $f18,0x0($a1)
/* f08f948: 10000003 */ b .L0f08f958
/* f08f94c: e4820000 */ swc1 $f2,0x0($a0)
/* f08f950: e4a20000 */ swc1 $f2,0x0($a1)
.L0f08f954:
/* f08f954: e4920000 */ swc1 $f18,0x0($a0)
.L0f08f958:
/* f08f958: 8fbf0014 */ lw $ra,0x14($sp)
.L0f08f95c:
/* f08f95c: 27bd00e8 */ addiu $sp,$sp,0xe8
/* f08f960: 03e00008 */ jr $ra
/* f08f964: 00000000 */ nop
);
/**
* Get some coordinates/distances related to activating doors.
*/
// Mismatch: Float instructions are in a different order
//void func0f08f604(struct doorobj *door, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4, bool arg5)
//{
// f32 spe4;
// f32 spe0;
// f32 spdc;
// f32 tmp;
// f32 spd4;
// f32 spd0;
// f32 spcc;
// f32 spc8;
// u32 stack[4];
// struct prop *playerprop; // b4
// f32 spb0;
// f32 spac;
// f32 spa8;
// f32 spa4;
// volatile struct coord playerpos; // 98
// struct pad pad; // 44
// f32 sp40;
// f32 sp3c;
// f32 sp38;
// f32 sp34;
// f32 sp30;
// f32 sp2c;
// f32 sp28;
//
// if (g_Vars.currentplayer->eyespy && g_Vars.currentplayer->eyespy->active) {
// playerprop = g_Vars.currentplayer->eyespy->prop;
// } else {
// playerprop = g_Vars.currentplayer->prop;
// }
//
// padUnpack(door->base.pad, PADFIELD_POS | PADFIELD_LOOK | PADFIELD_UP | PADFIELD_BBOX, &pad);
//
// playerpos.x = playerprop->pos.x;
// playerpos.y = playerprop->pos.y;
// playerpos.z = playerprop->pos.z;
//
// if (arg5) {
// spa8 = pad.bbox.xmin;
// spa4 = pad.bbox.xmax;
// spb0 = pad.up.y * pad.look.z - pad.look.y * pad.up.z;
// spac = pad.up.x * pad.look.y - pad.look.x * pad.up.y;
// } else {
// spa8 = pad.bbox.ymin;
// spa4 = pad.bbox.ymax;
// spb0 = pad.up.x;
// spac = pad.up.z;
// }
//
// spd4 = pad.pos.x + spb0 * spa8 - playerpos.x;
// spd0 = pad.pos.z + spac * spa8 - playerpos.z;
// spe4 = func0f08f538(spd4, spd0);
// spcc = pad.pos.x + spb0 * spa4 - playerpos.x;
// spc8 = pad.pos.z + spac * spa4 - playerpos.z;
// spe0 = func0f08f538(spcc, spc8);
//
// if (spe4 < spe0) {
// *arg1 = spe4;
// *arg2 = spe0;
// } else {
// *arg1 = spe0;
// *arg2 = spe4;
// }
//
// if (arg3 != NULL && arg4 != NULL) {
// if (door->doortype == DOORTYPE_SWINGING) {
// sp38 = door->frac * 0.017450513318181f;
//
// if (door->base.flags & OBJFLAG_DOOR_OPENTOFRONT) {
// sp38 = M_BADTAU - sp38;
// }
//
// spdc = spe4;
// sp34 = cosf(sp38);
// sp30 = sinf(sp38);
// tmp = func0f08f538(
// (pad.pos.x + spb0 * spa8 - playerpos.x) + (spa4 - spa8) * (spb0 * sp34 + spac * sp30),
// (pad.pos.z + spac * spa8 - playerpos.z) + (spa4 - spa8) * (-spb0 * sp30 + spac * sp34));
// } else if (door->doortype == DOORTYPE_SLIDING
// || door->doortype == DOORTYPE_FLEXI1
// || door->doortype == DOORTYPE_FLEXI2
// || door->doortype == DOORTYPE_FLEXI3) {
// sp40 = door->unk98.x * door->frac;
// sp3c = door->unk98.z * door->frac;
// spdc = func0f08f538(spd4 + sp40, spd0 + sp3c);
// tmp = func0f08f538(spcc + sp40, spc8 + sp3c);
// } else {
// spdc = spe4;
// }
//
// if (spdc < tmp) {
// *arg3 = spdc;
// *arg4 = tmp;
// } else {
// *arg3 = tmp;
// *arg4 = spdc;
// }
// }
//}
bool func0f08f968(struct doorobj *door, bool arg1)
{
bool checkmore = true;
f32 sp58;
f32 sp54;
f32 sp50;
f32 sp4c;
bool maybe;
struct prop *playerprop;
f32 limit = 0.34901028871536f;
if (g_InteractProp == NULL) {
maybe = false;
if (g_Vars.currentplayer->eyespy && g_Vars.currentplayer->eyespy->active) {
playerprop = g_Vars.currentplayer->eyespy->prop;
} else {
playerprop = g_Vars.currentplayer->prop;
}
if ((door->doorflags & (DOORFLAG_0080 | DOORFLAG_0100)) != DOORFLAG_0080) {
maybe = true;
} else if (func0f06797c(&playerprop->pos, 30, door->base.pad)) {
maybe = true;
}
if (maybe) {
func0f08f604(door, &sp58, &sp54, &sp50, &sp4c, arg1);
} else {
func0f08f604(door, &sp58, &sp54, NULL, NULL, arg1);
}
if (maybe && ((sp50 >= -limit && sp50 <= limit && sp4c >= -limit && sp4c <= limit)
|| (sp4c - sp50 < M_BADPI && sp50 < 0.0f && sp4c > 0.0f))) {
g_InteractProp = door->base.prop;
checkmore = false;
} else if (sp58 >= -limit && sp58 <= limit && sp54 >= -limit && sp54 <= limit) {
g_InteractProp = door->base.prop;
checkmore = false;
} else {
struct doorobj *sibling = door->sibling;
f32 sp38;
f32 sp34;
while (sibling != NULL && sibling != door && (sp58 >= 0.0f || sp54 < 0.0f)) {
func0f08f604(sibling, &sp38, &sp34, NULL, NULL, arg1);
if (sp58 >= 0.0f && sp38 < sp58) {
sp58 = sp38;
}
if (sp54 <= 0.0f && sp54 < sp34) {
sp54 = sp34;
}
sibling = sibling->sibling;
}
if (sp54 - sp58 < M_BADPI && sp58 < 0.0f && sp54 > 0.0f) {
g_InteractProp = door->base.prop;
checkmore = false;
}
}
}
return checkmore;
}
/**
* This function is used to help find the door that should be opened when
* interacting. The argument given is a door to be tested.
*
* A pointer to the best candidate is stored at g_InteractProp. This function
* doesn't write to it directly so it must be done by one of the called
* functions.
*
* This function should return true if more doors and objects should be tested,
* or false if the prop at g_InteractProp is certain to be final.
*/
bool doorTestForInteract(struct prop *prop)
{
bool checkmore = true;
struct doorobj *door = prop->door;
if ((door->base.flags & OBJFLAG_CANNOT_ACTIVATE) == 0
&& door->maxfrac > 0
&& (prop->flags & PROPFLAG_ONTHISSCREENTHISTICK)) {
bool maybe = false;
bool usingeyespy = g_Vars.currentplayer->eyespy && g_Vars.currentplayer->eyespy->active;
struct prop *playerprop = usingeyespy ? g_Vars.currentplayer->eyespy->prop : g_Vars.currentplayer->prop;
f32 xdiff = door->startpos.x - playerprop->pos.x;
f32 ydiff = door->startpos.y - playerprop->pos.y;
f32 zdiff = door->startpos.z - playerprop->pos.z;
if (xdiff * xdiff + zdiff * zdiff < 40000 && ydiff < 200 && ydiff > -200) {
maybe = true;
} else if (arrayIntersects(prop->rooms, playerprop->rooms)) {
if (func0f06797c(&playerprop->pos, 150, door->base.pad)) {
maybe = true;
} else if ((door->doorflags & (DOORFLAG_0080 | DOORFLAG_0100)) != DOORFLAG_0080) {
u32 stack;
struct modelrodata_bbox bbox;
Mtxf matrix;
doorGetBbox(door, &bbox);
func0f08c424(door, &matrix);
if (func0f0675c8(&playerprop->pos, 150, &bbox, &matrix)) {
maybe = true;
}
}
}
if (maybe) {
if ((door->base.flags2 & OBJFLAG2_INTERACTCHECKLOS) == 0
|| cd0002dcd0(&playerprop->pos, playerprop->rooms, &prop->pos, prop->rooms, 0x20)) {
checkmore = func0f08f968(door, false);
if (checkmore && (door->base.flags2 & OBJFLAG2_80000000)) {
checkmore = func0f08f968(door, true);
}
}
}
}
return checkmore;
}
/**
* Activate the doors by calling the lift or requesting the new door mode
* (opening/closing) for the given door and its siblings.
*
* Assumes any lock checks have already been done and have passed.
*
* The allowliftclose argument determines whether the door should be closed if
* it's a lift door and the lift is at the door. This is typically true when the
* player has activated the door, and false when NPCs have activated the door.
*/
void doorsActivate(struct prop *doorprop, bool allowliftclose)
{
struct doorobj *door = doorprop->door;
if (!doorCallLift(doorprop, allowliftclose)) {
if (door->mode == DOORMODE_OPENING || door->mode == DOORMODE_WAITING) {
doorsRequestMode(door, DOORMODE_CLOSING);
} else if (door->mode == DOORMODE_CLOSING) {
doorsRequestMode(door, DOORMODE_OPENING);
} else if (door->mode == DOORMODE_IDLE) {
if (door->frac > 0.5f * door->maxfrac) {
doorsRequestMode(door, DOORMODE_CLOSING);
} else {
doorsRequestMode(door, DOORMODE_OPENING);
}
}
}
if (g_Vars.currentplayernum == g_Vars.coopplayernum) {
door->base.hidden |= OBJHFLAG_ACTIVATED_BY_COOP;
} else if (g_Vars.currentplayernum == g_Vars.bondplayernum) {
door->base.hidden |= OBJHFLAG_ACTIVATED_BY_BOND;
}
door->base.flags2 &= ~OBJFLAG2_00000008;
}
bool posIsInFrontOfDoor(struct coord *pos, struct doorobj *door)
{
f32 x;
f32 y;
f32 z;
f32 value;
struct pad pad;
padUnpack(door->base.pad, PADFIELD_POS | PADFIELD_NORMAL, &pad);
x = pos->x - pad.pos.x;
y = pos->y - pad.pos.y;
z = pos->z - pad.pos.z;
value = x * pad.normal.f[0] + y * pad.normal.f[1] + z * pad.normal.f[2];
if (door->doorflags & DOORFLAG_FLIP) {
value = -value;
}
if (value < 0) {
return false;
}
if (value > 0) {
return true;
}
return true;
}
void doorsChooseSwingDirection(struct prop *chrprop, struct doorobj *door)
{
if ((door->base.flags & OBJFLAG_DOOR_TWOWAY) && door->mode == DOORMODE_IDLE && door->frac == 0) {
bool infront = posIsInFrontOfDoor(&chrprop->pos, door);
u32 wantflag = 0;
if ((door->doorflags & DOORFLAG_FLIP) == 0) {
if (!infront) {
wantflag = OBJFLAG_DOOR_OPENTOFRONT;
}
} else {
if (infront) {
wantflag = OBJFLAG_DOOR_OPENTOFRONT;
}
}
// If flags are different
if ((s32)((door->base.flags ^ wantflag) << 2) < 0) {
// Toggle direction on door and siblings
struct doorobj *sibling = door;
do {
sibling->base.flags ^= OBJFLAG_DOOR_OPENTOFRONT;
sibling = sibling->sibling;
} while (sibling && sibling != door);
}
}
}
bool propdoorInteract(struct prop *doorprop)
{
struct doorobj *door = doorprop->door;
bool usingeyespy = g_Vars.currentplayer->eyespy && g_Vars.currentplayer->eyespy->active;
struct prop *playerprop = usingeyespy ? g_Vars.currentplayer->eyespy->prop : g_Vars.currentplayer->prop;
if (doorIsUnlocked(playerprop, doorprop)) {
doorsChooseSwingDirection(playerprop, door);
doorsActivate(doorprop, true);
} else if (door->mode == DOORMODE_IDLE && door->frac < 0.5f * door->maxfrac) {
if ((door->base.flags2 & OBJFLAG2_SKIPDOORLOCKEDMSG) == 0) {
struct textoverride *override = invGetTextOverrideForObj(&door->base);
u8 intraining = false;
if (g_Vars.stagenum == STAGE_CITRAINING) {
struct trainingdata *devdata = dtGetData();
struct trainingdata *holodata = getHoloTrainingData();
intraining = (devdata && devdata->intraining)
|| (holodata && holodata->intraining)
|| g_Vars.currentplayer->prop->rooms[0] == 0x0a;
}
if (override && override->activatetextid) {
hudmsgCreateWithFlags(langGet(override->activatetextid), HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE);
} else if (intraining) {
hudmsgCreateWithFlags(langGet(L_DISH_080), HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE); // "Cannot exit while training is in progress."
} else {
hudmsgCreateWithFlags(langGet(PAL ? L_PROPOBJ_041 : L_PROPOBJ_044), HUDMSGTYPE_DEFAULT, HUDMSGFLAG_ONLYIFALIVE); // "This door is locked."
}
}
if (g_Vars.currentplayernum == g_Vars.coopplayernum) {
door->base.hidden |= OBJHFLAG_ACTIVATED_BY_COOP;
} else if (g_Vars.currentplayernum == g_Vars.bondplayernum) {
door->base.hidden |= OBJHFLAG_ACTIVATED_BY_BOND;
}
door->base.flags2 |= OBJFLAG2_00000008;
}
return TICKOP_NONE;
}
void alarmActivate(void)
{
if (g_AlarmTimer < 1) {
g_AlarmTimer = 1;
}
}
void alarmStopAudio(void)
{
if (g_AlarmAudioHandle && sndGetState(g_AlarmAudioHandle) != AL_STOPPED) {
audioStop(g_AlarmAudioHandle);
}
}
void alarmDeactivate(void)
{
g_AlarmTimer = 0;
alarmStopAudio();
}
bool alarmIsActive(void)
{
return g_AlarmTimer > 0;
}
void gasReleaseFromPos(struct coord *pos)
{
g_GasReleasing = true;
g_GasSoundTimer240 = 0;
g_GasPos.x = pos->x;
g_GasPos.y = pos->y;
g_GasPos.z = pos->z;
// Gas objects don't exist in PD, so this stage number was likely carried
// over from GoldenEye. It maps to GE's Egypt stage, which uses gas for a
// visual effect only.
if (mainGetStageNum() == STAGE_MP_G5BUILDING) {
g_GasReleaseTimerMax240 = 120;
g_GasEnableDamage = false;
} else {
g_GasReleaseTimerMax240 = 3600;
g_GasEnableDamage = true;
}
}
void gasStopAudio(void)
{
if (g_GasAudioHandle && sndGetState(g_GasAudioHandle)) {
audioStop(g_GasAudioHandle);
}
}
bool gasIsActive(void)
{
return g_GasReleaseTimer240 > 0;
}
void gasTick(void)
{
u32 stack;
if (g_GasReleasing) {
g_GasReleaseTimer240 += g_Vars.lvupdate240freal;
if (g_GasReleaseTimer240 >= g_GasReleaseTimerMax240) {
g_GasReleaseTimer240 = g_GasReleaseTimerMax240;
g_GasReleasing = false;
}
}
if (g_GasReleaseTimer240 > 0 && !g_PlayerInvincible) {
skySetTransitionFrac(g_GasReleaseTimer240 / g_GasReleaseTimerMax240);
if (g_GasEnableDamage) {
if (g_GasLastCough60 < g_Vars.lvframe60 - PALDOWN(225)) {
g_GasLastCough60 = g_Vars.lvframe60;
if (g_GasReleaseTimer240 >= 600) {
sndStart(var80095200, SFX_0037, 0, -1, -1, -1, -1, -1);
}
if (g_GasReleaseTimer240 >= 1800) {
struct coord dir = {0, 0, 0};
chrDamageByMisc(g_Vars.currentplayer->prop->chr, 0.125f, &dir, NULL, NULL);
}
}
if (g_GasSoundTimer240 < g_GasReleaseTimerMax240) {
s16 soundnum = -1;
g_GasSoundTimer240 += g_Vars.lvupdate240freal;
if (!g_GasAudioHandle && !lvIsPaused()) {
soundnum = SFX_0037;
sndStart(var80095200, soundnum, &g_GasAudioHandle, -1, -1, -1, -1, -1);
}
if (g_GasAudioHandle) {
func0f09505c(g_GasAudioHandle, &g_GasPos, 400, 2500, 3000, g_Vars.currentplayer->prop->rooms, soundnum, 0x7fff, 0);
}
} else if (g_GasAudioHandle && sndGetState(g_GasAudioHandle)) {
audioStop(g_GasAudioHandle);
}
}
}
}
void countdownTimerSetVisible(u32 reason, bool visible)
{
if (visible) {
g_CountdownTimerOff &= ~reason;
} else {
g_CountdownTimerOff |= reason;
}
}
bool countdownTimerIsVisible(void)
{
return !g_CountdownTimerOff;
}
void countdownTimerSetValue60(f32 value)
{
g_CountdownTimerValue60 = value;
}
f32 countdownTimerGetValue60(void)
{
return g_CountdownTimerValue60;
}
void countdownTimerSetRunning(bool running)
{
g_CountdownTimerRunning = running;
}
bool countdownTimerIsRunning(void)
{
return g_CountdownTimerRunning;
}
void countdownTimerTick(void)
{
if (g_CountdownTimerRunning) {
g_CountdownTimerValue60 -= g_Vars.lvupdate240freal;
}
}
Gfx *countdownTimerRender(Gfx *gdl)
{
s32 mins;
s32 secs;
s32 ms;
s32 y;
if (!g_CountdownTimerOff) {
f32 value60 = g_CountdownTimerValue60;
u32 stack;
s32 viewright = viGetViewLeft() + (viGetViewWidth() >> 1);
s32 y = viGetViewTop() + viGetViewHeight() - 18;
s32 playercount = PLAYERCOUNT();
char *fmt = ":\n";
if (playercount == 2) {
if (IS4MB() || (optionsGetScreenSplit() != SCREENSPLIT_VERTICAL && g_Vars.currentplayernum == 0)) {
y += 10;
} else {
y += 2;
}
} else if (playercount >= 3) {
if (g_Vars.currentplayernum <= 1) {
y += 10;
} else {
y += 2;
}
} else {
if (optionsGetEffectiveScreenSize() != SCREENSIZE_FULL) {
y += 8;
}
}
#if !PAL
if (g_ViRes == VIRES_HI) {
viewright = viewright / 2;
}
#endif
if (value60 < 0) {
value60 = -value60;
}
mins = floorf(value60 * (1.0f / 3600.0f));
secs = (s32)floorf(value60 * (1.0f / 60.0f)) - mins * 60;
ms = (s32)floorf(value60 * 1.6666666269302f) - mins * 6000 - secs * 100;
gdl = func0f153628(gdl);
gdl = bgunRenderHudInteger(gdl, (mins % 100) / 10, viewright - 18, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = bgunRenderHudInteger(gdl, mins % 10, viewright - 14, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = bgunRenderHudString(gdl, fmt, viewright - 8, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = bgunRenderHudInteger(gdl, (secs % 60) / 10, viewright - 2, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = bgunRenderHudInteger(gdl, secs % 10, viewright + 2, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = bgunRenderHudString(gdl, fmt, viewright + 8, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = bgunRenderHudInteger(gdl, (ms % 100) / 10, viewright + 14, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = bgunRenderHudInteger(gdl, ms % 10, viewright + 18, HUDHALIGN_MIDDLE, y, HUDVALIGN_MIDDLE, 0x00ff00a0);
gdl = func0f153780(gdl);
}
return gdl;
}
#if VERSION >= VERSION_NTSC_1_0
void projectilesDebug(void)
{
s32 i;
for (i = 0; i < g_MaxProjectiles; i++) {
if (g_Projectiles[i].flags) {
// empty
}
}
for (i = 0; i < g_MaxWeaponSlots; i++) {
if (g_WeaponSlots[i].weaponnum) {
// empty
}
}
}
#endif
const char var7f1aa16c[] = "ALARM : PAN 1 = %d (%s%f)";
const char var7f1aa188[] = "";
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()) {
s16 sound;
// These sounds are alarm sounds.
// They go for a fraction of a second and are repeated by this function.
switch (g_Vars.stagenum) {
case STAGE_CHICAGO: sound = SFX_ALARM_CHICAGO; break;
case STAGE_G5BUILDING: sound = SFX_ALARM_2; break;
case STAGE_AIRBASE: sound = SFX_ALARM_AIRBASE; break;
case STAGE_PELAGIC: sound = SFX_ALARM_2; break;
case STAGE_ATTACKSHIP: sound = SFX_ALARM_ATTACKSHIP; break;
case STAGE_INFILTRATION: sound = SFX_ALARM_INFILTRATION; break;
default: sound = SFX_ALARM_DEFAULT; break;
}
if (!lvIsPaused()) {
if (g_AlarmAudioHandle) {
// The sound is currently playing. Cycle between the left/right
// speaker for stereo or headphone mode.
f32 increment = g_Vars.lvupdate240 / 15.0f;
if (increment > 10) {
increment = 10;
}
g_AlarmSpeakerWeight += g_AlarmSpeakerDirection * increment;
if (g_AlarmSpeakerWeight < 30) {
g_AlarmSpeakerWeight = 30;
g_AlarmSpeakerDirection *= -1;
} else if (g_AlarmSpeakerWeight > 98) {
g_AlarmSpeakerWeight = 98;
g_AlarmSpeakerDirection *= -1;
}
sndAdjust(&g_AlarmAudioHandle, 0, 0x7fff, g_AlarmSpeakerWeight, -1, -1, 0, -1, 1);
} else {
// The alarm finished, or this is the first one.
// Start the sound again.
sndStart(var80095200, sound, &g_AlarmAudioHandle, -1, -1, -1, -1, -1);
}
}
g_AlarmTimer += g_Vars.lvupdate240_60;
}
// For G5, stop alarm after 55 seconds.
// For all other levels, stop alarm after 30 seconds.
if ((g_AlarmTimer > PALDOWN(1800) && mainGetStageNum() != STAGE_G5BUILDING)
|| (g_AlarmTimer > PALDOWN(3300) && mainGetStageNum() == STAGE_G5BUILDING)) {
alarmDeactivate();
}
gasTick();
countdownTimerTick();
chrsTriggerProxies();
g_PlayersDetonatingMines = 0;
}
void func0f091030(void)
{
struct prop *prop = g_Vars.activeprops;
while (prop) {
if (prop->type == PROPTYPE_OBJ
&& (prop->flags & (PROPFLAG_ONTHISSCREENTHISTICK | PROPFLAG_ONANYSCREENTHISTICK | PROPFLAG_ONANYSCREENPREVTICK)) == 0
&& (prop->obj->hidden2 & OBJH2FLAG_DESTROYED)
&& (prop->obj->hidden2 & OBJH2FLAG_80)) {
objFreePermanently(prop->obj, true);
return;
}
prop = prop->next;
}
}
void currentPlayerDropAllItems(void)
{
struct chrdata *chr = g_Vars.currentplayer->prop->chr;
s32 i;
chrSetWeaponReapable(chr, HAND_RIGHT);
chrSetWeaponReapable(chr, HAND_LEFT);
for (i = WEAPON_UNARMED; i <= WEAPON_SUICIDEPILL; i++) {
if (weaponGetModel(i) >= 0 && invHasSingleWeaponExcAllGuns(i)) {
if (!weaponHasFlag(i, WEAPONFLAG_08000000)
|| (g_Vars.normmplayerisrunning
&& g_MpSetup.scenario == MPSCENARIO_HACKERCENTRAL
&& i == WEAPON_DATAUPLINK)) {
#if VERSION >= VERSION_NTSC_1_0
if (g_Vars.coopplayernum >= 0) {
bool canremove = true;
struct prop *child = g_Vars.currentplayer->prop->child;
while (child) {
struct defaultobj *obj = child->obj;
if (obj->type == OBJTYPE_WEAPON) {
struct weaponobj *weapon = child->weapon;
if (i == weapon->weaponnum && (obj->flags3 & OBJFLAG3_PLAYERUNDROPPABLE)) {
canremove = false;
break;
}
}
child = child->next;
}
if (canremove) {
invRemoveItemByNum(i);
}
if (!bgunIsMissionCritical(i)) {
weaponCreateForPlayerDrop(i);
}
} else {
weaponCreateForPlayerDrop(i);
}
#else
if (g_Vars.coopplayernum >= 0) {
bool canremove = true;
struct prop *child = g_Vars.currentplayer->prop->child;
while (child) {
struct defaultobj *obj = child->obj;
if (obj->type == OBJTYPE_WEAPON) {
struct weaponobj *weapon = child->weapon;
if (i == weapon->weaponnum && (obj->flags3 & OBJFLAG3_PLAYERUNDROPPABLE)) {
canremove = false;
break;
}
}
child = child->next;
}
if (canremove) {
invRemoveItemByNum(i);
}
}
weaponCreateForPlayerDrop(i);
#endif
}
}
}
}
void weaponCreateForPlayerDrop(s32 weaponnum)
{
u32 stack;
struct prop *prop;
struct chrdata *chr;
u32 stack2;
chr = g_Vars.currentplayer->prop->chr;
prop = weaponCreateForChr(chr, weaponGetModel(weaponnum), weaponnum, OBJFLAG_WEAPON_AICANNOTUSE, NULL, NULL);
if (prop) {
objSetDropped(prop, DROPTYPE_DEFAULT);
objDrop(prop, true);
if (weaponnum == WEAPON_BRIEFCASE2) {
scenarioHandleDroppedToken(chr, prop);
}
}
}
#if 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 func0f08b880
/* 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
);
#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 func0f08b880
/* 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
);
#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 func0f08b880
/* 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
);
#endif
void objSetModelPartVisible(struct defaultobj *obj, s32 partnum, bool visible)
{
if (obj && obj->model && obj->model->filedata) {
struct modelnode *node = modelGetPart(obj->model->filedata, partnum);
if (node) {
union modelrwdata *rwdata = modelGetNodeRwData(obj->model, node);
if (rwdata) {
if (visible) {
visible = true;
} else {
visible = false;
}
rwdata->toggle.visible = visible;
}
}
}
}
u32 func0f091e04(u32 arg0, u32 arg1)
{
return arg0;
}
u32 var8006ae04 = 0x00000000;