Decompile and dedupe dead funcs (#621)

* decompile several dead functions and dedupe some alive counterparts

* .

* dedupe UnkNpcAIFunc46

* resolve issues

* Fix warnings

* .

* PR comments

* clean

* anim IDs

Co-authored-by: Ethan Roseman <ethteck@gmail.com>
This commit is contained in:
Alexander Faßbender 2022-01-21 06:54:46 +01:00 committed by GitHub
parent 3de396c043
commit 4ef25a394d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
47 changed files with 995 additions and 7576 deletions

View File

@ -39,9 +39,6 @@
#define npc_test_move_simple_with_slipping dead_npc_test_move_simple_with_slipping
#define get_screen_coords dead_get_screen_coords
#define func_800495A0 func_800495A0
#define func_8004DAD8 func_800496B8
#define func_8004D9C0 func_800496B8
#define func_8004E024 func_80049C04
#define func_8004A73C func_8004EB8C
#define gCurrentCameraID dead_gCurrentCameraID
#define add_vec2D_polar dead_add_vec2D_polar
@ -92,6 +89,15 @@
#define get_model_list_index_from_tree_index dead_get_model_list_index_from_tree_index
#define guMtxCatF dead_guMtxCatF
#define guMtxIdentF dead_guMtxIdentF
//#define sqrtf dead_sqrtf // <- This somehow breaks things
#define func_800495A0 func_8004D9C0
#define func_800496B8 func_8004DAD8
#define base_UnkNpcAIFunc1 func_8004DF64
#define func_80049C04 func_8004E024
#define func_80049E3C func_8004E25C
#define func_80049ECC func_8004E2EC
#define func_80049F7C func_8004E39C
#define func_8004A124 func_8004E544
#define func_8004A3E8 func_8004E808
#define gCurrentEncounter dead_gCurrentEncounter
#endif

60
include/dead_structs.h Normal file
View File

@ -0,0 +1,60 @@
#ifndef _DEAD_STRUCTS_H_
#define _DEAD_STRUCTS_H_
#include "common_structs.h"
#include "enums.h"
#include "script_api/map.h"
typedef struct DeadEnemy {
/* 0x000 */ s32 flags;
/* 0x004 */ s8 encounterIndex;
/* 0x005 */ s8 encountered;
/* 0x006 */ u8 scriptGroup; /* scripts launched for this npc controller will be assigned this group */
/* 0x007 */ s8 unk_07;
/* 0x008 */ s16 npcID;
/* 0x00A */ s16 spawnPos[3];
/* 0x010 */ Vec3s unk_10;
/* 0x016 */ char unk_16[2];
/* 0x018 */ struct NpcSettings* npcSettings;
/* 0x01C */ EvtScript* initBytecode;
/* 0x020 */ EvtScript* interactBytecode;
/* 0x024 */ EvtScript* aiBytecode;
/* 0x028 */ EvtScript* hitBytecode;
/* 0x02C */ EvtScript* auxBytecode;
/* 0x030 */ EvtScript* defeatBytecode;
/* 0x034 */ struct Evt* initScript;
/* 0x038 */ struct Evt* interactScript;
/* 0x03C */ struct Evt* aiScript;
/* 0x040 */ struct Evt* hitScript;
/* 0x044 */ struct Evt* auxScript;
/* 0x048 */ struct Evt* defeatScript;
/* 0x04C */ s32 initScriptID;
/* 0x050 */ s32 interactScriptID;
/* 0x054 */ s32 aiScriptID;
/* 0x058 */ s32 hitScriptID;
/* 0x05C */ s32 auxScriptID;
/* 0x060 */ s32 defeatScriptID;
/* 0x064 */ void* unk_64;
/* 0x068 */ char unk_68[4];
/* 0x06C */ s32 varTable[16];
/* 0x0AC */ char unk_AC[4];
/* 0x0B0 */ s32 unk_B0;
/* 0x0B4 */ s8 unk_B4;
/* 0x0B5 */ s8 unk_B5;
/* 0x0B6 */ char unk_B6[2];
/* 0x0B8 */ EvtScript* unk_B8; // some bytecode
/* 0x0BC */ struct Evt* unk_BC; // some script
/* 0x0C0 */ s32 unk_C0; // some script ID
/* 0x0C4 */ s32 unk_C4;
/* 0x0C8 */ s32 unk_C8;
/* 0x0CC */ s32* animList;
/* 0x0D0 */ EnemyTerritory* territory;
/* 0x0D4 */ EnemyDrops* drops;
/* 0x0D8 */ u32 tattleMsg;
/* 0x0DC */ char unk_DC[42];
/* 0x108 */ Vec3f unk_108; // Associated NPC Pos?
/* 0x114 */ f32 unk_114;
/* 0x118 */ f32 unk_118;
} DeadEnemy; // size = 0x11C
#endif

View File

@ -1,5 +1,6 @@
#include "dead.h"
#include "common.h"
#include "dead_structs.h"
// Copy of kzn_17 (C85DC0.c)
@ -9,6 +10,9 @@ const char ascii_EA6D70[] = "kzn_11";
const char ascii_EA6D78[] = "kzn_18";
extern s32 D_802466D0[];
void func_8004D8E0(DeadEnemy*);
void func_80240DC4_EA16C4(Evt* script, NpcAISettings* aiSettings, EnemyTerritoryThing* territory);
#include "world/common/UnkNpcAIFunc6.inc.c"
#include "world/common/UnkNpcAIFunc7.inc.c"
@ -56,14 +60,190 @@ s32 N(UnkNpcAIFunc26)(Evt* script) {
return ret;
}
INCLUDE_ASM(s32, "EA0C10", func_802406CC_EA0FCC); // Similar to UnkFunc7
// Similar to UnkFunc7
ApiStatus func_802406CC_EA0FCC(Evt* script, s32 isInitialCall) {
DeadEnemy* enemy = (DeadEnemy*) script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Enemy* enemy2;
Npc* npc2;
f32 posX, posZ;
INCLUDE_ASM(s32, "EA0C10", func_8024097C_EA127C); // Similar to UnkNpcAIFunc27
enemy->unk_108.x = npc->pos.x;
enemy->unk_108.y = npc->pos.y;
enemy->unk_108.z = npc->pos.z;
enemy->unk_114 = 0.0001f;
enemy->unk_118 = 0.0001f;
if (isInitialCall || enemy->unk_B0 & 4) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->flags |= NPC_FLAG_2 | NPC_FLAG_100;
enemy->flags |= ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000;
npc->pos.x = 0.0f;
npc->pos.y = -1000.0f;
npc->pos.z = 0.0f;
if (enemy->unk_B0 & 4) {
enemy->unk_B0 &= ~4;
}
}
switch (script->functionTemp[0]) {
case 0:
enemy2 = get_enemy(enemy->npcID - 1);
npc2 = get_npc_unsafe(enemy2->npcID);
enemy->unk_07 = 1;
if (enemy2->varTable[0] == 3) {
if (enemy->varTable[15] != 0) {
ai_enemy_play_sound(npc2, enemy->varTable[15], 0);
}
posX = npc2->pos.x;
posZ = npc2->pos.z;
add_vec2D_polar(&posX, &posZ, enemy->varTable[1], 270.0f - npc2->renderYaw);
npc->pos.x = posX;
enemy->unk_10.x = npc->pos.x;
npc->pos.y = npc2->pos.y + enemy->varTable[0];
enemy->unk_10.y = npc->pos.y;
npc->pos.z = posZ;
enemy->unk_10.z = npc->pos.z;
npc->yaw = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z);
enemy->flags &= ~(ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000);
npc->duration = 0;
script->functionTemp[0] = 1;
}
break;
case 1:
enemy2 = get_enemy(enemy->npcID - 1);
get_npc_unsafe(enemy2->npcID);
npc->duration++;
if (npc->duration >= enemy->varTable[4]) {
enemy->unk_07 = 0;
}
if (enemy2->varTable[0] == 4) {
enemy->flags |= ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000;
npc->pos.x = 0.0f;
npc->pos.y = -1000.0f;
npc->pos.z = 0.0f;
enemy->unk_07 = 1;
script->functionTemp[0] = 0;
}
break;
}
if (enemy->unk_07 != 0) {
enemy->unk_114 = 7.0f;
enemy->unk_118 = 1.0f;
}
return ApiStatus_BLOCK;
}
// Similar to UnkNpcAIFunc27
ApiStatus func_8024097C_EA127C(Evt* script, s32 isInitialCall) {
DeadEnemy* enemy = (DeadEnemy*) script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Bytecode* args = script->ptrReadPos;
EnemyTerritoryThing territory;
EnemyTerritoryThing* territoryPtr = &territory;
NpcAISettings* npcAISettings = (NpcAISettings*)evt_get_variable(script, *args++);
territory.unk_00 = 0;
territory.shape = enemy->territory->wander.detectShape;
territory.pointX = enemy->territory->wander.detect.x;
territory.pointZ = enemy->territory->wander.detect.z;
territory.sizeX = enemy->territory->wander.detectSizeX;
territory.sizeZ = enemy->territory->wander.detectSizeZ;
territory.unk_18 = 65.0f;
territory.unk_1C = 0;
enemy->unk_108.x = npc->pos.x;
enemy->unk_108.y = npc->pos.y;
enemy->unk_108.z = npc->pos.z;
enemy->unk_114 = 0.0001f;
enemy->unk_118 = 0.0001f;
if (isInitialCall || enemy->unk_B0 & 4) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim.w = enemy->animList[0];
npc->flags &= ~NPC_FLAG_NO_Y_MOVEMENT;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | NPC_FLAG_GRAVITY) & ~NPC_FLAG_ENABLE_HIT_SCRIPT;
} else {
npc->flags = (npc->flags & ~NPC_FLAG_GRAVITY) | NPC_FLAG_ENABLE_HIT_SCRIPT;
}
if (enemy->unk_B0 & 4) {
script->functionTemp[0] = 99;
script->functionTemp[1] = 0;
enemy->unk_B0 &= ~4;
}
enemy->varTable[0] = 0;
}
if (script->functionTemp[0] < 30 && enemy->varTable[0] == 0 && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
// fallthrough
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
base_UnkNpcAIFunc1(script, npcAISettings, territoryPtr);
// fallthrough
case 3:
func_80049C04(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
// fallthrough
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
// fallthrough
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
// fallthrough
case 31:
N(UnkNpcAIFunc7)(script);
if (script->functionTemp[0] != 32) {
break;
}
case 32:
N(UnkNpcAIFunc8)(script);
if (script->functionTemp[0] != 33) {
break;
}
case 33:
N(UnkNpcAIFunc5)(script);
break;
case 99:
func_8004A73C(script);
break;
}
return ApiStatus_BLOCK;
}
#include "world/common/UnkNpcAIFunc31.inc.c"
#include "world/common/UnkNpcAIFunc32.inc.c"
// sqrtf issue - Would be UnkNpcAiFunc46
INCLUDE_ASM(s32, "EA0C10", func_80240DC4_EA16C4);
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"
@ -74,7 +254,80 @@ INCLUDE_ASM(s32, "EA0C10", func_80240DC4_EA16C4);
#include "world/common/UnkNpcAIFunc30.inc.c"
INCLUDE_ASM(s32, "EA0C10", func_80241AE0_EA23E0);
ApiStatus func_80241AE0_EA23E0(Evt* script, s32 isInitialCall) {
DeadEnemy* enemy = (DeadEnemy*) script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
NpcAISettings* settings = (NpcAISettings*) evt_get_variable(script, *script->ptrReadPos);
EnemyTerritoryThing territory;
EnemyTerritoryThing* territoryPtr = &territory;
territory.unk_00 = 0;
territory.shape = enemy->territory->wander.detectShape;
territory.pointX = enemy->territory->wander.detect.x;
territory.pointZ = enemy->territory->wander.detect.z;
territory.sizeX = enemy->territory->wander.detectSizeX;
territory.sizeZ = enemy->territory->wander.detectSizeZ;
territory.unk_18 = 200.0f;
territory.unk_1C = 0;
// Dead Func that doesn't seem to have an alive counterpart, probably because of the
// difference in the Enemy and DeadEnemy struct.
func_8004D8E0(enemy);
if (enemy->flags & ENEMY_FLAGS_100000) {
enemy->unk_114 = 10.0f;
enemy->unk_118 = 0.7f;
}
if (isInitialCall || enemy->unk_B0 & 4) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim.w = enemy->animList[0];
enemy->varTable[0] = 0;
if (enemy->unk_B0 & 4) {
script->functionTemp[0] = 99;
script->functionTemp[1] = 0;
enemy->unk_B0 &= ~4;
}
}
switch (script->functionTemp[0]) {
case 0:
N(UnkNpcAIFunc31)(script, settings, territoryPtr);
/* fallthrough */
case 1:
N(UnkNpcAIFunc32)(script, settings, territoryPtr);
break;
case 10:
func_80240DC4_EA16C4(script, settings, territoryPtr);
if (script->functionTemp[0] != 11) {
break;
}
case 11:
N(UnkNpcDurationFlagFunc3)(script, settings, territoryPtr);
if (script->functionTemp[0] != 12) {
break;
}
case 12:
N(UnkNpcAIFunc33)(script, settings, territoryPtr);
if (script->functionTemp[0] != 13) {
break;
}
case 13:
N(UnkNpcDurationFlagFunc2)(script, settings, territoryPtr);
if (script->functionTemp[0] != 14) {
break;
}
case 14:
N(UnkNpcAIFunc30)(script, settings, territoryPtr);
break;
case 99:
func_8004A73C(script);
break;
}
return ApiStatus_BLOCK;
}
#include "world/common/set_script_owner_npc_anim.inc.c"
@ -84,23 +337,11 @@ INCLUDE_ASM(s32, "EA0C10", func_80241AE0_EA23E0);
#include "world/common/set_script_owner_npc_col_height.inc.c"
INCLUDE_ASM(s32, "EA0C10", func_802420FC_EA29FC);
#include "world/common/DeadUnkNpcAIMainFunc5.inc.c"
INCLUDE_ASM(s32, "EA0C10", func_80242568_EA2E68); // Similar to AwaitPlayerNearNpc
ApiStatus func_802425B0_EA2EB0(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
Npc* npc = get_npc_safe(script->owner2.npcID);
if (dist2D(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z) < 50.0f) {
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "EA0C10", func_80242608_EA2F08);
#include "world/common/AwaitPlayerNearNpc.inc.c"
// StashVars.inc.c
INCLUDE_ASM(s32, "EA0C10", func_8024267C_EA2F7C);
#include "world/common/GetItemName.inc.c"
@ -109,9 +350,40 @@ INCLUDE_ASM(s32, "EA0C10", func_8024267C_EA2F7C);
#include "world/common/AddPlayerHandsOffset.inc.c"
INCLUDE_ASM(s32, "EA0C10", func_802429C0_EA32C0);
// Requires data migration
#ifdef NON_MATCHING
ApiStatus func_802429C0_EA32C0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
if (isInitialCall) {
D_802441B8_EA4AB8 = FALSE;
}
if (D_802441B8_EA4AB8) {
D_802441B8_EA4AB8 = FALSE;
evt_set_variable(script, *args++, D_802441BC_EA4ABC);
return ApiStatus_DONE2;
}
return ApiStatus_BLOCK;
}
#else
INCLUDE_ASM(s32, "EA0C10", func_802429C0_EA32C0);
#endif
// Requires data migration
#ifdef NON_MATCHING
ApiStatus func_80242A14_EA3314(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_802441BC_EA4ABC = dead_evt_get_variable(script, *args++);
D_802441B8_EA4AB8 = TRUE;
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "EA0C10", func_80242A14_EA3314);
#endif
ApiStatus func_80242A4C_EA334C(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
@ -136,6 +408,27 @@ ApiStatus func_80242A4C_EA334C(Evt* script, s32 isInitialCall) {
#include "world/common/UnkYawFunc.inc.c"
INCLUDE_ASM(s32, "EA0C10", func_80242D64_EA3664);
// Requires data migration
#ifdef NON_MATCHING
ApiStatus func_80242D64_EA3664(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(script->varTable[2]);
D_80246894 = npc->currentAnim.w;
npc->currentAnim.w = script->varTable[4];
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "EA0C10", func_80242D64_EA3664);
#endif
// Requires data migration
#ifdef NON_MATCHING
ApiStatus func_80242DA8_EA36A8(Evt* script, s32 isInitialCall) {
get_npc_unsafe(script->varTable[2])->currentAnim.w = D_80246894;
return ApiStatus_DONE2;
}
#else
INCLUDE_ASM(s32, "EA0C10", func_80242DA8_EA36A8);
#endif

View File

@ -36,7 +36,6 @@ ApiStatus func_802413FC_EA9EDC(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "EA8AE0", func_8024140C_EA9EEC);
INCLUDE_ASM(s32, "EA8AE0", func_80241468_EA9F48);
@ -53,7 +52,7 @@ INCLUDE_ASM(s32, "EA8AE0", func_80241800_EAA2E0);
ApiStatus func_80241838_EAA318(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32* ptr = evt_get_variable(script, *args);
s32* ptr = (s32*) evt_get_variable(script, *args);
s32 i;
if (ptr != NULL) {

View File

@ -1,5 +1,6 @@
#include "dead.h"
#include "common.h"
#include "dead_structs.h"
// Copy of flo_08 (CAFAC0.c)
@ -9,6 +10,8 @@ extern s32 D_802462F0[];
extern s32 D_80246460_EC9D00[91];
extern s32 D_802465CC;
void func_80241364_ECB064(Evt* script, NpcAISettings* npcAISettings, EnemyTerritoryThing* territory);
void func_80240D80_ECAA80(Evt* script, NpcAISettings* npcAISettings, EnemyTerritoryThing* territory) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
@ -134,7 +137,76 @@ void func_802414C8_ECB1C8(Evt* script, NpcAISettings* aiSettings, EnemyTerritory
}
}
INCLUDE_ASM(s32, "ECAA80", func_8024150C_ECB20C);
ApiStatus func_8024150C_ECB20C(Evt* script, s32 isInitialCall) {
DeadEnemy* enemy = (DeadEnemy*) script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Bytecode* args = script->ptrReadPos;
EnemyTerritoryThing territory;
EnemyTerritoryThing* territoryPtr = &territory;
NpcAISettings* npcAISettings = (NpcAISettings*)evt_get_variable(script, *args++);
territory.unk_00 = 0;
territory.shape = enemy->territory->wander.detectShape;
territory.pointX = enemy->territory->wander.detect.x;
territory.pointZ = enemy->territory->wander.detect.z;
territory.sizeX = enemy->territory->wander.detectSizeX;
territory.sizeZ = enemy->territory->wander.detectSizeZ;
territory.unk_18 = 100.0f;
territory.unk_1C = 0;
enemy->unk_108.x = npc->pos.x;
enemy->unk_108.y = npc->pos.y;
enemy->unk_108.z = npc->pos.z;
enemy->unk_114 = 0.01f;
enemy->unk_118 = 0.01f;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim.w = enemy->animList[0];
npc->flags &= ~NPC_FLAG_NO_Y_MOVEMENT;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | NPC_FLAG_GRAVITY) & ~NPC_FLAG_ENABLE_HIT_SCRIPT;
} else {
npc->flags = (npc->flags & ~NPC_FLAG_GRAVITY) | NPC_FLAG_ENABLE_HIT_SCRIPT;
}
if (enemy->unk_B0 & 4) {
script->functionTemp[0] = 99;
script->functionTemp[1] = 0;
enemy->unk_B0 &= ~4;
}
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
base_UnkNpcAIFunc1(script, npcAISettings, territoryPtr);
case 3:
func_80049C04(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80240D80_ECAA80(script, npcAISettings, territoryPtr);
case 13:
func_80241364_ECB064(script, npcAISettings, territoryPtr);
break;
case 14:
func_802414C8_ECB1C8(script, npcAISettings, territoryPtr);
break;
case 99:
func_8004A73C(script);
}
return ApiStatus_BLOCK;
}
#include "world/common/GetNpcCollisionHeight.inc.c"
@ -146,7 +218,7 @@ INCLUDE_ASM(s32, "ECAA80", func_802419F0_ECB6F0);
ApiStatus func_80241A28_ECB728(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32* ptr = evt_get_variable(script, *args);
s32* ptr = (s32*) evt_get_variable(script, *args);
s32 i;
if (ptr != NULL) {

View File

@ -188,7 +188,7 @@ INCLUDE_ASM(s32, "EF2680", func_80241C90_EF42A0);
#include "world/common/set_script_owner_npc_col_height.inc.c"
INCLUDE_ASM(s32, "EF2680", func_80242530_EF4B40);
#include "world/common/DeadUnkNpcAIMainFunc5.inc.c"
// This should be roughly like this and is a copy from CD7350 (UnkNpcAIMainFunc6), but with the little extra block
// at the beginning. I have to assume that is has to roughly look like below, but I can't get it to match.

View File

@ -30,7 +30,7 @@
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_03/C61020", func_80241630_C62340);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -49,7 +49,7 @@ INCLUDE_ASM(s32, "world/area_kzn/kzn_08/C71ED0", func_80242354_C737D4);
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_08/C71ED0", func_80242F74_C743F4);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -18,6 +18,7 @@
#include "world/common/UnkNpcAIFunc32.inc.c"
// Data migration (UnkNpcAIFunc46)
INCLUDE_ASM(s32, "world/area_kzn/kzn_09/C77D00", func_80241A58_C78738);
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -18,6 +18,7 @@
#include "world/common/UnkNpcAIFunc32.inc.c"
// Data migration (UnkNpcAIFunc46)
INCLUDE_ASM(s32, "world/area_kzn/kzn_17/C85DC0", func_80240D48_C867F8);
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -18,7 +18,7 @@
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_01/B93940", func_80240F38_B94378);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"
@ -28,4 +28,69 @@ INCLUDE_ASM(s32, "world/area_mim/mim_01/B93940", func_80240F38_B94378);
#include "world/common/UnkNpcAIFunc30.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_01/B93940", func_80241C54_B95094);
ApiStatus func_80241C54_B95094(Evt* script, s32 isInitialCall) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
EnemyTerritoryThing territory;
EnemyTerritoryThing* territoryPtr = &territory;
NpcAISettings* settings = (NpcAISettings*) evt_get_variable(script, *script->ptrReadPos);
territory.unk_00 = 0;
territory.shape = enemy->territory->wander.detectShape;
territory.pointX = enemy->territory->wander.detect.x;
territory.pointZ = enemy->territory->wander.detect.z;
territory.sizeX = enemy->territory->wander.detectSizeX;
territory.sizeZ = enemy->territory->wander.detectSizeZ;
territory.unk_18 = 200.0f;
territory.unk_1C = 0;
if (isInitialCall || enemy->unk_B0 & 4) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim.w = enemy->animList[0];
enemy->varTable[0] = 0;
if (enemy->unk_B0 & 4) {
script->functionTemp[0] = 99;
script->functionTemp[1] = 0;
enemy->unk_B0 &= ~4;
}
}
switch (script->functionTemp[0]) {
case 0:
N(UnkNpcAIFunc31)(script, settings, territoryPtr);
/* fallthrough */
case 1:
N(UnkNpcAIFunc32)(script, settings, territoryPtr);
break;
case 10:
N(UnkNpcAIFunc46)(script, settings, territoryPtr);
if (script->functionTemp[0] != 11) {
break;
}
case 11:
N(UnkNpcDurationFlagFunc3)(script, settings, territoryPtr);
if (script->functionTemp[0] != 12) {
break;
}
case 12:
N(UnkNpcAIFunc33)(script, settings, territoryPtr);
if (script->functionTemp[0] != 13) {
break;
}
case 13:
N(UnkNpcDurationFlagFunc2)(script, settings, territoryPtr);
if (script->functionTemp[0] != 14) {
break;
}
case 14:
N(UnkNpcAIFunc30)(script, settings, territoryPtr);
break;
case 99:
func_8004A73C(script);
break;
}
return ApiStatus_BLOCK;
}

View File

@ -18,7 +18,7 @@
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_05/BA07A0", func_80240AA8_BA11D8);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -18,7 +18,7 @@
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_06/BA4CF0", func_80240FA8_BA5728);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -47,7 +47,7 @@ INCLUDE_ASM(s32, "world/area_mim/mim_08/BAD940", func_802413AC_BAECEC);
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_08/BAD940", func_80241FD0_BAF910);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -38,8 +38,106 @@ INCLUDE_ASM(s32, "world/area_pra/pra_35/D8D270", func_80241AB4_D8ED04);
#include "world/common/UnkFunc7.inc.c"
//#include "world/common/UnkNpcAIFunc27.inc.c"
// Requires data migration
#ifdef NON_MATCHING
ApiStatus func_802423CC_D8F61C(Evt *script, s32 isInitialCall) {
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Bytecode* args = script->ptrReadPos;
EnemyTerritoryThing territory;
EnemyTerritoryThing* territoryPtr = &territory;
NpcAISettings* npcAISettings = (NpcAISettings*)evt_get_variable(script, *args++);
territory.unk_00 = 0;
territory.shape = enemy->territory->patrol.detectShape;
territory.pointX = enemy->territory->patrol.detect.x;
territory.pointZ = enemy->territory->patrol.detect.z;
territory.sizeX = enemy->territory->patrol.detectSizeX;
territory.sizeZ = enemy->territory->patrol.detectSizeZ;
territory.unk_18 = 65.0f;
territory.unk_1C = 0;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim.w = enemy->animList[0];
npc->flags &= ~NPC_FLAG_NO_Y_MOVEMENT;
if (!enemy->territory->patrol.isFlying) {
npc->flags |= NPC_FLAG_GRAVITY;
npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT;
} else {
npc->flags &= ~NPC_FLAG_GRAVITY;
npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT;
}
if (enemy->unk_B0 & 4) {
script->functionTemp[0] = 99;
script->functionTemp[1] = 0;
enemy->unk_B0 &= ~4;
}
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
pra_35_UnkNpcAIFunc24(script, npcAISettings, territoryPtr);
// fallthrough
case 1:
pra_35_UnkFunc13(script, npcAISettings, territoryPtr);
break;
case 2:
pra_35_UnkNpcAIFunc1(script, npcAISettings, territoryPtr);
// fallthrough
case 3:
pra_35_UnkFunc14(script, npcAISettings, territoryPtr);
break;
case 7:
pra_35_UnkNpcAIFunc25(script, npcAISettings, territoryPtr);
break;
case 5:
pra_35_NpcJumpFunc2(script, npcAISettings, territoryPtr);
// fallthrough
case 11:
pra_35_NpcJumpFunc(script, npcAISettings, territoryPtr);
break;
case 12:
pra_35_UnkNpcAIFunc13(script, npcAISettings, territoryPtr);
// fallthrough
case 13:
pra_35_UnkFunc15(script, npcAISettings, territoryPtr);
break;
case 14:
pra_35_UnkNpcDurationFlagFunc(script, npcAISettings, territoryPtr);
break;
case 30:
pra_35_UnkNpcAIFunc6(script);
// fallthrough
case 31:
pra_35_UnkNpcAIFunc7(script);
if (script->functionTemp[0] != 32) {
break;
}
// fallthrough
case 32:
pra_35_UnkNpcAIFunc8(script);
if (script->functionTemp[0] != 33) {
break;
}
// fallthrough
case 33:
pra_35_UnkNpcAIFunc5(script);
break;
case 99:
func_8004A73C(script);
break;
}
return ApiStatus_BLOCK;
}
#else
INCLUDE_ASM(s32, "world/area_pra/pra_35/D8D270", func_802423CC_D8F61C);
#endif
INCLUDE_ASM(s32, "world/area_pra/pra_35/D8D270", func_80242698_D8F8E8);
#include "world/common/UnkNpcAIFunc27.inc.c"

View File

@ -21,7 +21,7 @@ static char* N(exit_str_1) = "sam_06";
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_05/D187E0", func_80240A38_D19218);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -31,7 +31,7 @@ INCLUDE_ASM(s32, "world/area_sam/sam_07/D2BD30", func_802405B0_D2C2E0);
#include "world/common/UnkNpcAIFunc32.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_07/D2BD30", func_80241088_D2CDB8);
#include "world/common/UnkNpcAIFunc46.inc.c"
#include "world/common/UnkNpcDurationFlagFunc3.inc.c"

View File

@ -0,0 +1,146 @@
#include "dead.h"
#include "common.h"
#include "npc.h"
#include "effects.h"
#include "dead_structs.h"
#include "sprite/npc/bony_beetle.h"
ApiStatus N(DeadUnkNpcAIMainFunc5)(Evt* script, s32 isInitialCall) {
DeadEnemy* enemy = (DeadEnemy*) script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Bytecode* args = script->ptrReadPos;
EnemyTerritoryThing territory;
EnemyTerritoryThing* territoryPtr = &territory;
NpcAISettings* aiSettings = (NpcAISettings*)evt_get_variable(script, *args++);
territory.unk_00 = 0;
territory.shape = enemy->territory->wander.detectShape;
territory.pointX = enemy->territory->wander.detect.x;
territory.pointZ = enemy->territory->wander.detect.z;
territory.sizeX = enemy->territory->wander.detectSizeX;
territory.sizeZ = enemy->territory->wander.detectSizeZ;
territory.unk_18 = 100.0f;
territory.unk_1C = 0;
enemy->unk_108.x = npc->pos.x;
enemy->unk_108.y = npc->pos.y;
enemy->unk_108.z = npc->pos.z;
enemy->unk_114 = 0.01f;
enemy->unk_118 = 0.01f;
if (isInitialCall) {
enemy->varTable[6] = npc->collisionHeight;
enemy->varTable[8] = 0;
enemy->unk_B5 = 0;
enemy->unk_B0 |= 8;
}
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
enemy->unk_07 = 0;
npc->currentAnim.w = enemy->animList[0];
npc->flags &= ~NPC_FLAG_NO_Y_MOVEMENT;
npc->collisionHeight = enemy->varTable[6];
enemy->varTable[9] = 0;
if (!enemy->territory->wander.isFlying) {
npc->flags |= NPC_FLAG_GRAVITY;
npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT;
} else {
npc->flags &= ~NPC_FLAG_GRAVITY;
npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT;
}
if (enemy->unk_B0 & 4) {
s32 emoteTemp;
script->functionTemp[0] = 99;
script->functionTemp[1] = 0;
fx_emote(2, npc, 0.0f, npc->collisionHeight, 1.0f, 2.0f, -20.0f, 0x28, &emoteTemp);
enemy->unk_B0 &= ~4;
} else if (enemy->flags & ENEMY_FLAGS_40000000) {
script->functionTemp[0] = 12;
enemy->flags &= ~ENEMY_FLAGS_40000000;
}
}
if (enemy->varTable[9] > 0) {
enemy->varTable[9]--;
if (enemy->varTable[9] == 0) {
if (npc->currentAnim.w == NPC_ANIM_bony_beetle_Palette_00_Anim_2E ||
npc->currentAnim.w == NPC_ANIM_bony_beetle_Palette_00_Anim_2F)
{
npc->currentAnim.w = NPC_ANIM_bony_beetle_Palette_00_Anim_C;
}
} else {
return ApiStatus_BLOCK;
}
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, aiSettings, territoryPtr);
npc->collisionHeight = enemy->varTable[6];
case 1:
func_800496B8(script, aiSettings, territoryPtr);
break;
case 2:
base_UnkNpcAIFunc1(script, aiSettings, territoryPtr);
if (enemy->varTable[7] == 6) {
if (rand_int(100) < 33) {
if (enemy->varTable[8] != 0) {
enemy->varTable[8] = 0;
enemy->unk_B5 = 0;
npc->currentAnim.w = NPC_ANIM_bony_beetle_Palette_00_Anim_2F;
} else {
enemy->varTable[8] = 1;
enemy->unk_B5 = 1;
npc->currentAnim.w = NPC_ANIM_bony_beetle_Palette_00_Anim_2E;
}
enemy->varTable[9] = 7;
return ApiStatus_BLOCK;
}
}
case 3:
func_80049C04(script, aiSettings, territoryPtr);
break;
case 12:
N(set_script_owner_npc_anim)(script, aiSettings, territoryPtr);
case 13:
N(UnkDistFunc)(script, aiSettings, territoryPtr);
break;
case 14:
N(UnkNpcAIFunc12)(script, aiSettings, territoryPtr);
break;
case 15:
N(set_script_owner_npc_col_height)(script, aiSettings, territoryPtr);
break;
case 99:
func_8004A73C(script);
break;
}
if (enemy->varTable[7] == 6) {
if (enemy->varTable[8] != 0) {
enemy->unk_B5 = 1;
} else {
enemy->unk_B5 = 0;
}
if (enemy->varTable[8] != 0) {
switch (npc->currentAnim.w) {
case NPC_ANIM_bony_beetle_Palette_00_Anim_4:
case NPC_ANIM_bony_beetle_Palette_00_Anim_C:
case NPC_ANIM_bony_beetle_Palette_00_Anim_E:
case NPC_ANIM_bony_beetle_Palette_00_Anim_10:
case NPC_ANIM_bony_beetle_Palette_00_Anim_12:
case NPC_ANIM_bony_beetle_Palette_00_Anim_16:
case NPC_ANIM_bony_beetle_Palette_00_Anim_18:
npc->currentAnim.w++;
break;
}
}
}
return ApiStatus_BLOCK;
}

View File

@ -0,0 +1,188 @@
#include "common.h"
#include "npc.h"
// Might be something like the check for the general territory area of a burried mole and when to surface?
void N(UnkNpcAIFunc46)(Evt* script, NpcAISettings* aiSettings, EnemyTerritoryThing* territory) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
s32 phi_s7 = FALSE;
s32 phi_fp = FALSE;
f32 sp38;
f32 yaw;
f32 yaw2;
f32 moveSpeed;
f32 posRadius;
s32 cond1;
s32 cond2;
f32 terSize;
f32 sp20;
f32 sp24;
f32 sp28;
f32 sp2C;
f32 sp30;
f32 sp34;
npc->duration--;
if (enemy->varTable[9] >= npc->duration) {
enemy->flags |= (ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP |
ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000);
}
if (npc->duration == 0) {
if (clamp_angle(gPlayerStatusPtr->spriteFacingAngle) < 180.0f) {
yaw2 = clamp_angle(gCameras[gCurrentCameraID].currentYaw - 90.0f);
} else {
yaw2 = clamp_angle(gCameras[gCurrentCameraID].currentYaw + 90.0f);
}
yaw = clamp_angle(yaw2 + 180.0f);
if (enemy->varTable[7] == 0) {
moveSpeed = 32.0f;
if (gPlayerStatusPtr->actionState != 0) {
moveSpeed = 100.0f;
if (gPlayerStatusPtr->actionState == 1) {
moveSpeed = 90.0f;
}
}
} else {
moveSpeed = 38.0f;
if (gPlayerStatusPtr->actionState != 0) {
moveSpeed = 90.0f;
if (gPlayerStatusPtr->actionState == 1) {
moveSpeed = 75.0f;
}
}
}
npc->pos.x = gPlayerStatusPtr->position.x;
npc->pos.z = gPlayerStatusPtr->position.z;
add_vec2D_polar(&npc->pos.x, &npc->pos.z, npc->collisionRadius, yaw);
npc_move_heading(npc, moveSpeed + npc->collisionRadius, yaw2);
if (enemy->varTable[7] == 0) {
if (npc->pos.x > 380.0) {
npc->pos.x = 380.0f;
}
if (npc->pos.x < -380.0) {
npc->pos.x = -380.0f;
}
if (npc->pos.z > 380.0) {
npc->pos.z = 380.0f;
}
if (npc->pos.z < -380.0) {
npc->pos.z = -380.0f;
}
sp38 = sqrtf(SQ(npc->pos.x) + SQ(npc->pos.z));
yaw2 = atan2(0.0f, 0.0f, npc->pos.x, npc->pos.z);
if (sp38 < 305.0) {
npc->pos.x = 0.0f;
npc->pos.z = 0.0f;
add_vec2D_polar(&npc->pos.x, &npc->pos.z, 305.0f, yaw2);
} else if (sp38 > 375.0) {
npc->pos.x = 0.0f;
npc->pos.z = 0.0f;
add_vec2D_polar(&npc->pos.x, &npc->pos.z, 375.0f, yaw2);
}
} else {
if (!(npc->flags & NPC_FLAG_40)) {
sp20 = gPlayerStatusPtr->position.x;
sp24 = gPlayerStatusPtr->position.y + 18.0;
sp28 = gPlayerStatusPtr->position.z;
if (npc_test_move_simple_with_slipping(npc->collisionChannel, &sp20, &sp24, &sp28, moveSpeed, yaw2, npc->collisionHeight, npc->collisionRadius) != 0) {
sp20 = gPlayerStatusPtr->position.x;
sp24 = gPlayerStatusPtr->position.y + 45.0;
sp28 = gPlayerStatusPtr->position.z;
cond1 = npc_test_move_simple_with_slipping(npc->collisionChannel, &sp20, &sp24, &sp28, moveSpeed, yaw2, npc->collisionHeight, npc->collisionRadius);
sp2C = npc->pos.x;
sp30 = npc->pos.y + 100.0;
sp34 = npc->pos.z;
sp38 = 200.0f;
cond2 = npc_raycast_down_sides(npc->collisionChannel, &sp2C, &sp30, &sp34, &sp38);
if (!cond1 && cond2 && sp38 > 80.0 && sp38 < 120.0 && npc->pos.y != sp30) {
phi_fp = TRUE;
} else {
sp20 = gPlayerStatusPtr->position.x;
sp24 = gPlayerStatusPtr->position.y + 10.0;
sp28 = gPlayerStatusPtr->position.z;
npc_test_move_simple_with_slipping(npc->collisionChannel, &sp20, &sp24, &sp28, moveSpeed, yaw2, npc->collisionHeight, npc->collisionRadius);
posRadius = dist2D(gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z, sp20, sp28);
npc->pos.x = gPlayerStatusPtr->position.x;
npc->pos.z = gPlayerStatusPtr->position.z;
add_vec2D_polar(&npc->pos.x, &npc->pos.z, npc->collisionRadius, yaw);
npc_move_heading(npc, posRadius + npc->collisionRadius, yaw2);
phi_s7 = TRUE;
}
}
} else {
sp20 = gPlayerStatusPtr->position.x;
sp24 = gPlayerStatusPtr->position.y + 18.0;
sp28 = gPlayerStatusPtr->position.z;
if (npc_test_move_simple_with_slipping(npc->collisionChannel, &sp20, &sp24, &sp28, moveSpeed, yaw2, npc->collisionHeight, npc->collisionRadius) != 0) {
posRadius = dist2D(gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z, sp20, sp28);
npc->pos.x = gPlayerStatusPtr->position.x;
npc->pos.z = gPlayerStatusPtr->position.z;
add_vec2D_polar(&npc->pos.x, &npc->pos.z, npc->collisionRadius, yaw);
npc_move_heading(npc, posRadius + npc->collisionRadius, yaw2);
}
}
}
if (is_point_within_region(territory->shape, territory->pointX, territory->pointZ, npc->pos.x, npc->pos.z, territory->sizeX, territory->sizeZ)) {
switch (territory->shape) {
case SHAPE_CYLINDER:
sp38 = dist2D(npc->pos.x, npc->pos.z, territory->pointX, territory->pointZ);
if (territory->sizeX < sp38) {
terSize = atan2(territory->pointX, territory->pointZ, npc->pos.x, npc->pos.z);
npc->pos.x = territory->pointX;
npc->pos.z = territory->pointZ;
add_vec2D_polar(&npc->pos.x, &npc->pos.z, territory->sizeX, terSize);
}
break;
case SHAPE_RECT:
terSize = territory->pointX + territory->sizeX;
if (npc->pos.x > terSize) {
npc->pos.x = terSize;
}
terSize = territory->pointX - territory->sizeX;
if (npc->pos.x < terSize) {
npc->pos.x = terSize;
}
terSize = territory->pointZ + territory->sizeZ;
if (npc->pos.z > terSize) {
npc->pos.z = terSize;
}
terSize = territory->pointZ - territory->sizeZ;
if (npc->pos.z < terSize) {
npc->pos.z = terSize;
}
break;
}
}
if (!phi_s7 && (!(npc->flags & 8) || phi_fp)) {
sp20 = npc->pos.x;
sp38 = 400.0f;
sp28 = npc->pos.z;
sp24 = npc->pos.y + 150.0;
if (npc_raycast_down_sides(npc->collisionChannel, &sp20, &sp24, &sp28, &sp38) != 0) {
npc->pos.y = sp24;
}
}
npc->yaw = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z);
ai_enemy_play_sound(npc, SOUND_MOLE_SURFACE, 0);
npc->currentAnim.w = enemy->animList[9];
npc->duration = enemy->varTable[10];
script->functionTemp[0] = 11;
}
}

View File

@ -75,22 +75,22 @@ dlabel D_80243DD0_EA46D0
.word 0x3F800000, 0x0000003C, 0x0000003C, 0x42B40000, 0x42200000, 0x00000001, 0x40900000, 0x00000000, 0x00000000, 0x42C80000, 0x42200000, 0x00000001
dlabel D_80243E00_EA4700
.word 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x00000002, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000002, 0x00000043, 0x00000002, func_802420FC_EA29FC, D_80243DD0_EA46D0, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x00000002, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000002, 0x00000043, 0x00000002, EA0C10_DeadUnkNpcAIMainFunc5, D_80243DD0_EA46D0, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80243E70_EA4770
.word 0x3F800000, 0x0000003C, 0x0000003C, 0x42B40000, 0x42200000, 0x00000001, 0x40E00000, 0x00000000, 0x00000000, 0x42C80000, 0x42200000, 0x00000001
dlabel D_80243EA0_EA47A0
.word 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000004, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x0000000A, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000004, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000003, 0x00000043, 0x00000002, func_802420FC_EA29FC, D_80243E70_EA4770, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000004, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x0000000A, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000004, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000003, 0x00000043, 0x00000002, EA0C10_DeadUnkNpcAIMainFunc5, D_80243E70_EA4770, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80243F10_EA4810
.word 0x3F800000, 0x00000014, 0x00000005, 0x42F00000, 0x00000000, 0x00000003, 0x40C00000, 0x00000000, 0x00000000, 0x43160000, 0x00000000, 0x00000001
dlabel D_80243F40_EA4840
.word 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000003, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x00000008, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000006, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000006, 0x00000043, 0x00000002, func_802420FC_EA29FC, D_80243F10_EA4810, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000003, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x00000008, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000006, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000006, 0x00000043, 0x00000002, EA0C10_DeadUnkNpcAIMainFunc5, D_80243F10_EA4810, 0x00000002, 0x00000000, 0x00000001, 0x00000000
dlabel D_80243FB0_EA48B0
.word 0x00000043, 0x00000001, func_80242568_EA2E68, 0x00000043, 0x00000003, 0x802DB654, 0xFFFFFFFF, 0x0033000F, 0x00000043, 0x00000001, func_802425B0_EA2EB0, 0x00000043, 0x00000002, 0x80049630, 0x00000001, 0x00000043, 0x00000004, 0x802DC5C0, 0xFFFFFFFF, 0x00000200, 0x00000001, 0x00000043, 0x00000003, 0x802DB654, 0xFFFFFFFF, 0x00330000, 0x00000043, 0x00000001, func_80242608_EA2F08, 0x00000043, 0x00000002, 0x80049630, 0x00000000, 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x00000002, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000002, 0x00000043, 0x00000002, func_802420FC_EA29FC, D_80243DD0_EA46D0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00140016, 0x00000000, 0x00000000, D_80243E00_EA4700, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x000A0000, 0x00000000, 0x00140016, 0x00000000, 0x00000000, D_80243FB0_EA48B0, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x000A0000
.word 0x00000043, 0x00000001, EA0C10_func_80240814_97BE44, 0x00000043, 0x00000003, 0x802DB654, 0xFFFFFFFF, 0x0033000F, 0x00000043, 0x00000001, EA0C10_AwaitPlayerNearNpc, 0x00000043, 0x00000002, 0x80049630, 0x00000001, 0x00000043, 0x00000004, 0x802DC5C0, 0xFFFFFFFF, 0x00000200, 0x00000001, 0x00000043, 0x00000003, 0x802DB654, 0xFFFFFFFF, 0x00330000, 0x00000043, 0x00000001, EA0C10_func_802408B4_97BEE4, 0x00000043, 0x00000002, 0x80049630, 0x00000000, 0x00000043, 0x00000003, 0x8004930C, 0x00000002, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000003, 0x00000002, 0x00000043, 0x00000003, 0x8004930C, 0x00000005, 0x00000005, 0x00000043, 0x00000003, 0x8004930C, 0x00000007, 0x00000002, 0x00000043, 0x00000002, EA0C10_DeadUnkNpcAIMainFunc5, D_80243DD0_EA46D0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00140016, 0x00000000, 0x00000000, D_80243E00_EA4700, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x000A0000, 0x00000000, 0x00140016, 0x00000000, 0x00000000, D_80243FB0_EA48B0, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x000A0000
dlabel D_802440FC_EA49FC
.word 0x00000000, 0x00140016, 0x00000000, 0x00000000, D_80243EA0_EA47A0, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x00110000, 0x00000000, 0x00180018, 0x00000000, 0x00000000, D_80243F40_EA4840, 0x8007D3C0, 0x00000000, 0x8007D4EC, 0x00000000, 0x00000000, 0x00190000

View File

@ -1,184 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802406CC_EA0FCC
/* EA0FCC 802406CC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* EA0FD0 802406D0 AFB40028 */ sw $s4, 0x28($sp)
/* EA0FD4 802406D4 0080A02D */ daddu $s4, $a0, $zero
/* EA0FD8 802406D8 AFBF002C */ sw $ra, 0x2c($sp)
/* EA0FDC 802406DC AFB30024 */ sw $s3, 0x24($sp)
/* EA0FE0 802406E0 AFB20020 */ sw $s2, 0x20($sp)
/* EA0FE4 802406E4 AFB1001C */ sw $s1, 0x1c($sp)
/* EA0FE8 802406E8 AFB00018 */ sw $s0, 0x18($sp)
/* EA0FEC 802406EC 8E910148 */ lw $s1, 0x148($s4)
/* EA0FF0 802406F0 86240008 */ lh $a0, 8($s1)
/* EA0FF4 802406F4 0C00F92F */ jal dead_get_npc_unsafe
/* EA0FF8 802406F8 00A0802D */ daddu $s0, $a1, $zero
/* EA0FFC 802406FC 0040902D */ daddu $s2, $v0, $zero
/* EA1000 80240700 C6400038 */ lwc1 $f0, 0x38($s2)
/* EA1004 80240704 E6200108 */ swc1 $f0, 0x108($s1)
/* EA1008 80240708 C640003C */ lwc1 $f0, 0x3c($s2)
/* EA100C 8024070C E620010C */ swc1 $f0, 0x10c($s1)
/* EA1010 80240710 3C0138D1 */ lui $at, 0x38d1
/* EA1014 80240714 3421B717 */ ori $at, $at, 0xb717
/* EA1018 80240718 44810000 */ mtc1 $at, $f0
/* EA101C 8024071C C6420040 */ lwc1 $f2, 0x40($s2)
/* EA1020 80240720 E6200114 */ swc1 $f0, 0x114($s1)
/* EA1024 80240724 E6200118 */ swc1 $f0, 0x118($s1)
/* EA1028 80240728 16000005 */ bnez $s0, .L80240740
/* EA102C 8024072C E6220110 */ swc1 $f2, 0x110($s1)
/* EA1030 80240730 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA1034 80240734 30420004 */ andi $v0, $v0, 4
/* EA1038 80240738 10400015 */ beqz $v0, .L80240790
/* EA103C 8024073C 00000000 */ nop
.L80240740:
/* EA1040 80240740 AE800070 */ sw $zero, 0x70($s4)
/* EA1044 80240744 8E420000 */ lw $v0, ($s2)
/* EA1048 80240748 3C031F30 */ lui $v1, 0x1f30
/* EA104C 8024074C A640008E */ sh $zero, 0x8e($s2)
/* EA1050 80240750 34420102 */ ori $v0, $v0, 0x102
/* EA1054 80240754 AE420000 */ sw $v0, ($s2)
/* EA1058 80240758 8E220000 */ lw $v0, ($s1)
/* EA105C 8024075C 3C01C47A */ lui $at, 0xc47a
/* EA1060 80240760 44810000 */ mtc1 $at, $f0
/* EA1064 80240764 00431025 */ or $v0, $v0, $v1
/* EA1068 80240768 AE220000 */ sw $v0, ($s1)
/* EA106C 8024076C AE400038 */ sw $zero, 0x38($s2)
/* EA1070 80240770 E640003C */ swc1 $f0, 0x3c($s2)
/* EA1074 80240774 AE400040 */ sw $zero, 0x40($s2)
/* EA1078 80240778 8E2300B0 */ lw $v1, 0xb0($s1)
/* EA107C 8024077C 30620004 */ andi $v0, $v1, 4
/* EA1080 80240780 10400003 */ beqz $v0, .L80240790
/* EA1084 80240784 2402FFFB */ addiu $v0, $zero, -5
/* EA1088 80240788 00621024 */ and $v0, $v1, $v0
/* EA108C 8024078C AE2200B0 */ sw $v0, 0xb0($s1)
.L80240790:
/* EA1090 80240790 8E930070 */ lw $s3, 0x70($s4)
/* EA1094 80240794 12600005 */ beqz $s3, .L802407AC
/* EA1098 80240798 24020001 */ addiu $v0, $zero, 1
/* EA109C 8024079C 12620048 */ beq $s3, $v0, .L802408C0
/* EA10A0 802407A0 00000000 */ nop
/* EA10A4 802407A4 0809024D */ j .L80240934
/* EA10A8 802407A8 00000000 */ nop
.L802407AC:
/* EA10AC 802407AC 86240008 */ lh $a0, 8($s1)
/* EA10B0 802407B0 0C010ABD */ jal dead_get_enemy
/* EA10B4 802407B4 2484FFFF */ addiu $a0, $a0, -1
/* EA10B8 802407B8 0040802D */ daddu $s0, $v0, $zero
/* EA10BC 802407BC 0C00F92F */ jal dead_get_npc_unsafe
/* EA10C0 802407C0 86040008 */ lh $a0, 8($s0)
/* EA10C4 802407C4 24030001 */ addiu $v1, $zero, 1
/* EA10C8 802407C8 0040982D */ daddu $s3, $v0, $zero
/* EA10CC 802407CC A2230007 */ sb $v1, 7($s1)
/* EA10D0 802407D0 8E03006C */ lw $v1, 0x6c($s0)
/* EA10D4 802407D4 24020003 */ addiu $v0, $zero, 3
/* EA10D8 802407D8 14620056 */ bne $v1, $v0, .L80240934
/* EA10DC 802407DC 00000000 */ nop
/* EA10E0 802407E0 8E2500A8 */ lw $a1, 0xa8($s1)
/* EA10E4 802407E4 10A00003 */ beqz $a1, .L802407F4
/* EA10E8 802407E8 0260202D */ daddu $a0, $s3, $zero
/* EA10EC 802407EC 0C013600 */ jal dead_ai_enemy_play_sound
/* EA10F0 802407F0 0000302D */ daddu $a2, $zero, $zero
.L802407F4:
/* EA10F4 802407F4 27A40010 */ addiu $a0, $sp, 0x10
/* EA10F8 802407F8 C6280070 */ lwc1 $f8, 0x70($s1)
/* EA10FC 802407FC 46804220 */ cvt.s.w $f8, $f8
/* EA1100 80240800 C6620034 */ lwc1 $f2, 0x34($s3)
/* EA1104 80240804 3C014387 */ lui $at, 0x4387
/* EA1108 80240808 44810000 */ mtc1 $at, $f0
/* EA110C 8024080C 44064000 */ mfc1 $a2, $f8
/* EA1110 80240810 46020001 */ sub.s $f0, $f0, $f2
/* EA1114 80240814 C6660038 */ lwc1 $f6, 0x38($s3)
/* EA1118 80240818 C6640040 */ lwc1 $f4, 0x40($s3)
/* EA111C 8024081C 44070000 */ mfc1 $a3, $f0
/* EA1120 80240820 27A50014 */ addiu $a1, $sp, 0x14
/* EA1124 80240824 E7A60010 */ swc1 $f6, 0x10($sp)
/* EA1128 80240828 0C00ACA3 */ jal dead_add_vec2D_polar
/* EA112C 8024082C E7A40014 */ swc1 $f4, 0x14($sp)
/* EA1130 80240830 C7A00010 */ lwc1 $f0, 0x10($sp)
/* EA1134 80240834 4600020D */ trunc.w.s $f8, $f0
/* EA1138 80240838 44024000 */ mfc1 $v0, $f8
/* EA113C 8024083C E6400038 */ swc1 $f0, 0x38($s2)
/* EA1140 80240840 A6220010 */ sh $v0, 0x10($s1)
/* EA1144 80240844 C660003C */ lwc1 $f0, 0x3c($s3)
/* EA1148 80240848 C622006C */ lwc1 $f2, 0x6c($s1)
/* EA114C 8024084C 468010A0 */ cvt.s.w $f2, $f2
/* EA1150 80240850 46020000 */ add.s $f0, $f0, $f2
/* EA1154 80240854 3C038010 */ lui $v1, %hi(dead_gPlayerStatusPtr)
/* EA1158 80240858 8C63FC90 */ lw $v1, %lo(dead_gPlayerStatusPtr)($v1)
/* EA115C 8024085C E640003C */ swc1 $f0, 0x3c($s2)
/* EA1160 80240860 C7A20014 */ lwc1 $f2, 0x14($sp)
/* EA1164 80240864 4600020D */ trunc.w.s $f8, $f0
/* EA1168 80240868 44024000 */ mfc1 $v0, $f8
/* EA116C 8024086C 00000000 */ nop
/* EA1170 80240870 A6220012 */ sh $v0, 0x12($s1)
/* EA1174 80240874 4600120D */ trunc.w.s $f8, $f2
/* EA1178 80240878 44024000 */ mfc1 $v0, $f8
/* EA117C 8024087C E6420040 */ swc1 $f2, 0x40($s2)
/* EA1180 80240880 A6220014 */ sh $v0, 0x14($s1)
/* EA1184 80240884 8C660028 */ lw $a2, 0x28($v1)
/* EA1188 80240888 8C670030 */ lw $a3, 0x30($v1)
/* EA118C 8024088C C64C0038 */ lwc1 $f12, 0x38($s2)
/* EA1190 80240890 0C00ABDC */ jal fio_validate_header_checksums
/* EA1194 80240894 C64E0040 */ lwc1 $f14, 0x40($s2)
/* EA1198 80240898 3C03E0EF */ lui $v1, 0xe0ef
/* EA119C 8024089C E640000C */ swc1 $f0, 0xc($s2)
/* EA11A0 802408A0 8E220000 */ lw $v0, ($s1)
/* EA11A4 802408A4 3463FFFF */ ori $v1, $v1, 0xffff
/* EA11A8 802408A8 00431024 */ and $v0, $v0, $v1
/* EA11AC 802408AC AE220000 */ sw $v0, ($s1)
/* EA11B0 802408B0 24020001 */ addiu $v0, $zero, 1
/* EA11B4 802408B4 A640008E */ sh $zero, 0x8e($s2)
/* EA11B8 802408B8 0809024D */ j .L80240934
/* EA11BC 802408BC AE820070 */ sw $v0, 0x70($s4)
.L802408C0:
/* EA11C0 802408C0 86240008 */ lh $a0, 8($s1)
/* EA11C4 802408C4 0C010ABD */ jal dead_get_enemy
/* EA11C8 802408C8 2484FFFF */ addiu $a0, $a0, -1
/* EA11CC 802408CC 0040802D */ daddu $s0, $v0, $zero
/* EA11D0 802408D0 0C00F92F */ jal dead_get_npc_unsafe
/* EA11D4 802408D4 86040008 */ lh $a0, 8($s0)
/* EA11D8 802408D8 9642008E */ lhu $v0, 0x8e($s2)
/* EA11DC 802408DC 24420001 */ addiu $v0, $v0, 1
/* EA11E0 802408E0 A642008E */ sh $v0, 0x8e($s2)
/* EA11E4 802408E4 00021400 */ sll $v0, $v0, 0x10
/* EA11E8 802408E8 8E23007C */ lw $v1, 0x7c($s1)
/* EA11EC 802408EC 00021403 */ sra $v0, $v0, 0x10
/* EA11F0 802408F0 0043102A */ slt $v0, $v0, $v1
/* EA11F4 802408F4 50400001 */ beql $v0, $zero, .L802408FC
/* EA11F8 802408F8 A2200007 */ sb $zero, 7($s1)
.L802408FC:
/* EA11FC 802408FC 8E03006C */ lw $v1, 0x6c($s0)
/* EA1200 80240900 24020004 */ addiu $v0, $zero, 4
/* EA1204 80240904 1462000B */ bne $v1, $v0, .L80240934
/* EA1208 80240908 3C021F10 */ lui $v0, 0x1f10
/* EA120C 8024090C 8E230000 */ lw $v1, ($s1)
/* EA1210 80240910 3C01C47A */ lui $at, 0xc47a
/* EA1214 80240914 44810000 */ mtc1 $at, $f0
/* EA1218 80240918 00621825 */ or $v1, $v1, $v0
/* EA121C 8024091C AE230000 */ sw $v1, ($s1)
/* EA1220 80240920 AE400038 */ sw $zero, 0x38($s2)
/* EA1224 80240924 E640003C */ swc1 $f0, 0x3c($s2)
/* EA1228 80240928 AE400040 */ sw $zero, 0x40($s2)
/* EA122C 8024092C A2330007 */ sb $s3, 7($s1)
/* EA1230 80240930 AE800070 */ sw $zero, 0x70($s4)
.L80240934:
/* EA1234 80240934 82220007 */ lb $v0, 7($s1)
/* EA1238 80240938 10400007 */ beqz $v0, .L80240958
/* EA123C 8024093C 00000000 */ nop
/* EA1240 80240940 3C0140E0 */ lui $at, 0x40e0
/* EA1244 80240944 44810000 */ mtc1 $at, $f0
/* EA1248 80240948 3C013F80 */ lui $at, 0x3f80
/* EA124C 8024094C 44811000 */ mtc1 $at, $f2
/* EA1250 80240950 E6200114 */ swc1 $f0, 0x114($s1)
/* EA1254 80240954 E6220118 */ swc1 $f2, 0x118($s1)
.L80240958:
/* EA1258 80240958 8FBF002C */ lw $ra, 0x2c($sp)
/* EA125C 8024095C 8FB40028 */ lw $s4, 0x28($sp)
/* EA1260 80240960 8FB30024 */ lw $s3, 0x24($sp)
/* EA1264 80240964 8FB20020 */ lw $s2, 0x20($sp)
/* EA1268 80240968 8FB1001C */ lw $s1, 0x1c($sp)
/* EA126C 8024096C 8FB00018 */ lw $s0, 0x18($sp)
/* EA1270 80240970 0000102D */ daddu $v0, $zero, $zero
/* EA1274 80240974 03E00008 */ jr $ra
/* EA1278 80240978 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,216 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_80246488_EA6D88
.word .L80240B2C_EA142C, .L80240B3C_EA143C, .L80240B54_EA1454, .L80240B64_EA1464, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240B7C_EA147C, .L80240B8C_EA148C, .L80240BA4_EA14A4, .L80240BB4_EA14B4, .L80240BCC_EA14CC, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240BE4_EA14E4, .L80240BEC_EA14EC, .L80240C04_EA1504, .L80240C1C_EA151C, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C34_EA1534, .L80240C2C_EA152C
.section .text
glabel func_8024097C_EA127C
/* EA127C 8024097C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* EA1280 80240980 AFB3003C */ sw $s3, 0x3c($sp)
/* EA1284 80240984 0080982D */ daddu $s3, $a0, $zero
/* EA1288 80240988 AFBF0048 */ sw $ra, 0x48($sp)
/* EA128C 8024098C AFB50044 */ sw $s5, 0x44($sp)
/* EA1290 80240990 AFB40040 */ sw $s4, 0x40($sp)
/* EA1294 80240994 AFB20038 */ sw $s2, 0x38($sp)
/* EA1298 80240998 AFB10034 */ sw $s1, 0x34($sp)
/* EA129C 8024099C AFB00030 */ sw $s0, 0x30($sp)
/* EA12A0 802409A0 8E710148 */ lw $s1, 0x148($s3)
/* EA12A4 802409A4 86240008 */ lh $a0, 8($s1)
/* EA12A8 802409A8 0C00F92F */ jal dead_get_npc_unsafe
/* EA12AC 802409AC 00A0802D */ daddu $s0, $a1, $zero
/* EA12B0 802409B0 8E63000C */ lw $v1, 0xc($s3)
/* EA12B4 802409B4 0260202D */ daddu $a0, $s3, $zero
/* EA12B8 802409B8 8C650000 */ lw $a1, ($v1)
/* EA12BC 802409BC 0C0B53A3 */ jal dead_evt_get_variable
/* EA12C0 802409C0 0040902D */ daddu $s2, $v0, $zero
/* EA12C4 802409C4 AFA00010 */ sw $zero, 0x10($sp)
/* EA12C8 802409C8 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA12CC 802409CC 8C630030 */ lw $v1, 0x30($v1)
/* EA12D0 802409D0 AFA30014 */ sw $v1, 0x14($sp)
/* EA12D4 802409D4 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA12D8 802409D8 8C63001C */ lw $v1, 0x1c($v1)
/* EA12DC 802409DC AFA30018 */ sw $v1, 0x18($sp)
/* EA12E0 802409E0 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA12E4 802409E4 8C630024 */ lw $v1, 0x24($v1)
/* EA12E8 802409E8 AFA3001C */ sw $v1, 0x1c($sp)
/* EA12EC 802409EC 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA12F0 802409F0 8C630028 */ lw $v1, 0x28($v1)
/* EA12F4 802409F4 AFA30020 */ sw $v1, 0x20($sp)
/* EA12F8 802409F8 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA12FC 802409FC 3C014282 */ lui $at, 0x4282
/* EA1300 80240A00 44810000 */ mtc1 $at, $f0
/* EA1304 80240A04 8C63002C */ lw $v1, 0x2c($v1)
/* EA1308 80240A08 E7A00028 */ swc1 $f0, 0x28($sp)
/* EA130C 80240A0C A7A0002C */ sh $zero, 0x2c($sp)
/* EA1310 80240A10 AFA30024 */ sw $v1, 0x24($sp)
/* EA1314 80240A14 C6400038 */ lwc1 $f0, 0x38($s2)
/* EA1318 80240A18 E6200108 */ swc1 $f0, 0x108($s1)
/* EA131C 80240A1C C640003C */ lwc1 $f0, 0x3c($s2)
/* EA1320 80240A20 27B50010 */ addiu $s5, $sp, 0x10
/* EA1324 80240A24 E620010C */ swc1 $f0, 0x10c($s1)
/* EA1328 80240A28 3C0138D1 */ lui $at, 0x38d1
/* EA132C 80240A2C 3421B717 */ ori $at, $at, 0xb717
/* EA1330 80240A30 44810000 */ mtc1 $at, $f0
/* EA1334 80240A34 C6420040 */ lwc1 $f2, 0x40($s2)
/* EA1338 80240A38 0040A02D */ daddu $s4, $v0, $zero
/* EA133C 80240A3C E6200114 */ swc1 $f0, 0x114($s1)
/* EA1340 80240A40 E6200118 */ swc1 $f0, 0x118($s1)
/* EA1344 80240A44 16000005 */ bnez $s0, .L80240A5C
/* EA1348 80240A48 E6220110 */ swc1 $f2, 0x110($s1)
/* EA134C 80240A4C 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA1350 80240A50 30420004 */ andi $v0, $v0, 4
/* EA1354 80240A54 10400020 */ beqz $v0, .L80240AD8
/* EA1358 80240A58 00000000 */ nop
.L80240A5C:
/* EA135C 80240A5C 2404F7FF */ addiu $a0, $zero, -0x801
/* EA1360 80240A60 AE600070 */ sw $zero, 0x70($s3)
/* EA1364 80240A64 A640008E */ sh $zero, 0x8e($s2)
/* EA1368 80240A68 8E2200CC */ lw $v0, 0xcc($s1)
/* EA136C 80240A6C 8E430000 */ lw $v1, ($s2)
/* EA1370 80240A70 8C420000 */ lw $v0, ($v0)
/* EA1374 80240A74 00641824 */ and $v1, $v1, $a0
/* EA1378 80240A78 AE430000 */ sw $v1, ($s2)
/* EA137C 80240A7C AE420028 */ sw $v0, 0x28($s2)
/* EA1380 80240A80 8E2200D0 */ lw $v0, 0xd0($s1)
/* EA1384 80240A84 8C420034 */ lw $v0, 0x34($v0)
/* EA1388 80240A88 54400005 */ bnel $v0, $zero, .L80240AA0
/* EA138C 80240A8C 2402FDFF */ addiu $v0, $zero, -0x201
/* EA1390 80240A90 34620200 */ ori $v0, $v1, 0x200
/* EA1394 80240A94 2403FFF7 */ addiu $v1, $zero, -9
/* EA1398 80240A98 080902AA */ j .L80240AA8
/* EA139C 80240A9C 00431024 */ and $v0, $v0, $v1
.L80240AA0:
/* EA13A0 80240AA0 00621024 */ and $v0, $v1, $v0
/* EA13A4 80240AA4 34420008 */ ori $v0, $v0, 8
.L80240AA8:
/* EA13A8 80240AA8 AE420000 */ sw $v0, ($s2)
/* EA13AC 80240AAC 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA13B0 80240AB0 30420004 */ andi $v0, $v0, 4
/* EA13B4 80240AB4 10400007 */ beqz $v0, .L80240AD4
/* EA13B8 80240AB8 24020063 */ addiu $v0, $zero, 0x63
/* EA13BC 80240ABC AE620070 */ sw $v0, 0x70($s3)
/* EA13C0 80240AC0 AE600074 */ sw $zero, 0x74($s3)
/* EA13C4 80240AC4 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA13C8 80240AC8 2403FFFB */ addiu $v1, $zero, -5
/* EA13CC 80240ACC 00431024 */ and $v0, $v0, $v1
/* EA13D0 80240AD0 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240AD4:
/* EA13D4 80240AD4 AE20006C */ sw $zero, 0x6c($s1)
.L80240AD8:
/* EA13D8 80240AD8 8E620070 */ lw $v0, 0x70($s3)
/* EA13DC 80240ADC 2842001E */ slti $v0, $v0, 0x1e
/* EA13E0 80240AE0 10400009 */ beqz $v0, .L80240B08
/* EA13E4 80240AE4 00000000 */ nop
/* EA13E8 80240AE8 8E22006C */ lw $v0, 0x6c($s1)
/* EA13EC 80240AEC 14400006 */ bnez $v0, .L80240B08
/* EA13F0 80240AF0 00000000 */ nop
/* EA13F4 80240AF4 0C090146 */ jal EA0C10_UnkNpcAIFunc26
/* EA13F8 80240AF8 0260202D */ daddu $a0, $s3, $zero
/* EA13FC 80240AFC 10400002 */ beqz $v0, .L80240B08
/* EA1400 80240B00 2402001E */ addiu $v0, $zero, 0x1e
/* EA1404 80240B04 AE620070 */ sw $v0, 0x70($s3)
.L80240B08:
/* EA1408 80240B08 8E630070 */ lw $v1, 0x70($s3)
/* EA140C 80240B0C 2C620064 */ sltiu $v0, $v1, 0x64
/* EA1410 80240B10 10400048 */ beqz $v0, .L80240C34_EA1534
/* EA1414 80240B14 00031080 */ sll $v0, $v1, 2
/* EA1418 80240B18 3C018024 */ lui $at, %hi(jtbl_80246488_EA6D88)
/* EA141C 80240B1C 00220821 */ addu $at, $at, $v0
/* EA1420 80240B20 8C226488 */ lw $v0, %lo(jtbl_80246488_EA6D88)($at)
/* EA1424 80240B24 00400008 */ jr $v0
/* EA1428 80240B28 00000000 */ nop
.L80240B2C_EA142C:
/* EA142C 80240B2C 0260202D */ daddu $a0, $s3, $zero
/* EA1430 80240B30 0280282D */ daddu $a1, $s4, $zero
/* EA1434 80240B34 0C013670 */ jal func_8004D9C0
/* EA1438 80240B38 02A0302D */ daddu $a2, $s5, $zero
.L80240B3C_EA143C:
/* EA143C 80240B3C 0260202D */ daddu $a0, $s3, $zero
/* EA1440 80240B40 0280282D */ daddu $a1, $s4, $zero
/* EA1444 80240B44 0C0136B6 */ jal func_8004DAD8
/* EA1448 80240B48 02A0302D */ daddu $a2, $s5, $zero
/* EA144C 80240B4C 0809030D */ j .L80240C34_EA1534
/* EA1450 80240B50 00000000 */ nop
.L80240B54_EA1454:
/* EA1454 80240B54 0260202D */ daddu $a0, $s3, $zero
/* EA1458 80240B58 0280282D */ daddu $a1, $s4, $zero
/* EA145C 80240B5C 0C0137D9 */ jal func_8004DF64
/* EA1460 80240B60 02A0302D */ daddu $a2, $s5, $zero
.L80240B64_EA1464:
/* EA1464 80240B64 0260202D */ daddu $a0, $s3, $zero
/* EA1468 80240B68 0280282D */ daddu $a1, $s4, $zero
/* EA146C 80240B6C 0C013809 */ jal func_8004E024
/* EA1470 80240B70 02A0302D */ daddu $a2, $s5, $zero
/* EA1474 80240B74 0809030D */ j .L80240C34_EA1534
/* EA1478 80240B78 00000000 */ nop
.L80240B7C_EA147C:
/* EA147C 80240B7C 0260202D */ daddu $a0, $s3, $zero
/* EA1480 80240B80 0280282D */ daddu $a1, $s4, $zero
/* EA1484 80240B84 0C013897 */ jal func_8004E25C
/* EA1488 80240B88 02A0302D */ daddu $a2, $s5, $zero
.L80240B8C_EA148C:
/* EA148C 80240B8C 0260202D */ daddu $a0, $s3, $zero
/* EA1490 80240B90 0280282D */ daddu $a1, $s4, $zero
/* EA1494 80240B94 0C0138BB */ jal func_8004E2EC
/* EA1498 80240B98 02A0302D */ daddu $a2, $s5, $zero
/* EA149C 80240B9C 0809030D */ j .L80240C34_EA1534
/* EA14A0 80240BA0 00000000 */ nop
.L80240BA4_EA14A4:
/* EA14A4 80240BA4 0260202D */ daddu $a0, $s3, $zero
/* EA14A8 80240BA8 0280282D */ daddu $a1, $s4, $zero
/* EA14AC 80240BAC 0C0138E7 */ jal func_8004E39C
/* EA14B0 80240BB0 02A0302D */ daddu $a2, $s5, $zero
.L80240BB4_EA14B4:
/* EA14B4 80240BB4 0260202D */ daddu $a0, $s3, $zero
/* EA14B8 80240BB8 0280282D */ daddu $a1, $s4, $zero
/* EA14BC 80240BBC 0C013951 */ jal func_8004E544
/* EA14C0 80240BC0 02A0302D */ daddu $a2, $s5, $zero
/* EA14C4 80240BC4 0809030D */ j .L80240C34_EA1534
/* EA14C8 80240BC8 00000000 */ nop
.L80240BCC_EA14CC:
/* EA14CC 80240BCC 0260202D */ daddu $a0, $s3, $zero
/* EA14D0 80240BD0 0280282D */ daddu $a1, $s4, $zero
/* EA14D4 80240BD4 0C013A02 */ jal func_8004E808
/* EA14D8 80240BD8 02A0302D */ daddu $a2, $s5, $zero
/* EA14DC 80240BDC 0809030D */ j .L80240C34_EA1534
/* EA14E0 80240BE0 00000000 */ nop
.L80240BE4_EA14E4:
/* EA14E4 80240BE4 0C0900C4 */ jal EA0C10_UnkNpcAIFunc6
/* EA14E8 80240BE8 0260202D */ daddu $a0, $s3, $zero
.L80240BEC_EA14EC:
/* EA14EC 80240BEC 0C0900DF */ jal EA0C10_UnkNpcAIFunc7
/* EA14F0 80240BF0 0260202D */ daddu $a0, $s3, $zero
/* EA14F4 80240BF4 8E630070 */ lw $v1, 0x70($s3)
/* EA14F8 80240BF8 24020020 */ addiu $v0, $zero, 0x20
/* EA14FC 80240BFC 1462000D */ bne $v1, $v0, .L80240C34_EA1534
/* EA1500 80240C00 00000000 */ nop
.L80240C04_EA1504:
/* EA1504 80240C04 0C0900FB */ jal EA0C10_UnkNpcAIFunc8
/* EA1508 80240C08 0260202D */ daddu $a0, $s3, $zero
/* EA150C 80240C0C 8E630070 */ lw $v1, 0x70($s3)
/* EA1510 80240C10 24020021 */ addiu $v0, $zero, 0x21
/* EA1514 80240C14 14620007 */ bne $v1, $v0, .L80240C34_EA1534
/* EA1518 80240C18 00000000 */ nop
.L80240C1C_EA151C:
/* EA151C 80240C1C 0C090131 */ jal EA0C10_UnkNpcAIFunc5
/* EA1520 80240C20 0260202D */ daddu $a0, $s3, $zero
/* EA1524 80240C24 0809030D */ j .L80240C34_EA1534
/* EA1528 80240C28 00000000 */ nop
.L80240C2C_EA152C:
/* EA152C 80240C2C 0C013AE3 */ jal func_8004EB8C
/* EA1530 80240C30 0260202D */ daddu $a0, $s3, $zero
.L80240C34_EA1534:
/* EA1534 80240C34 8FBF0048 */ lw $ra, 0x48($sp)
/* EA1538 80240C38 8FB50044 */ lw $s5, 0x44($sp)
/* EA153C 80240C3C 8FB40040 */ lw $s4, 0x40($sp)
/* EA1540 80240C40 8FB3003C */ lw $s3, 0x3c($sp)
/* EA1544 80240C44 8FB20038 */ lw $s2, 0x38($sp)
/* EA1548 80240C48 8FB10034 */ lw $s1, 0x34($sp)
/* EA154C 80240C4C 8FB00030 */ lw $s0, 0x30($sp)
/* EA1550 80240C50 0000102D */ daddu $v0, $zero, $zero
/* EA1554 80240C54 03E00008 */ jr $ra
/* EA1558 80240C58 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,180 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241AE0_EA23E0
/* EA23E0 80241AE0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* EA23E4 80241AE4 AFB10034 */ sw $s1, 0x34($sp)
/* EA23E8 80241AE8 0080882D */ daddu $s1, $a0, $zero
/* EA23EC 80241AEC AFBF0048 */ sw $ra, 0x48($sp)
/* EA23F0 80241AF0 AFB50044 */ sw $s5, 0x44($sp)
/* EA23F4 80241AF4 AFB40040 */ sw $s4, 0x40($sp)
/* EA23F8 80241AF8 AFB3003C */ sw $s3, 0x3c($sp)
/* EA23FC 80241AFC AFB20038 */ sw $s2, 0x38($sp)
/* EA2400 80241B00 AFB00030 */ sw $s0, 0x30($sp)
/* EA2404 80241B04 8E300148 */ lw $s0, 0x148($s1)
/* EA2408 80241B08 86040008 */ lh $a0, 8($s0)
/* EA240C 80241B0C 0C00F92F */ jal dead_get_npc_unsafe
/* EA2410 80241B10 00A0A82D */ daddu $s5, $a1, $zero
/* EA2414 80241B14 8E23000C */ lw $v1, 0xc($s1)
/* EA2418 80241B18 0220202D */ daddu $a0, $s1, $zero
/* EA241C 80241B1C 8C650000 */ lw $a1, ($v1)
/* EA2420 80241B20 0C0B53A3 */ jal dead_evt_get_variable
/* EA2424 80241B24 0040A02D */ daddu $s4, $v0, $zero
/* EA2428 80241B28 AFA00010 */ sw $zero, 0x10($sp)
/* EA242C 80241B2C 8E0300D0 */ lw $v1, 0xd0($s0)
/* EA2430 80241B30 8C630030 */ lw $v1, 0x30($v1)
/* EA2434 80241B34 AFA30014 */ sw $v1, 0x14($sp)
/* EA2438 80241B38 8E0300D0 */ lw $v1, 0xd0($s0)
/* EA243C 80241B3C 8C63001C */ lw $v1, 0x1c($v1)
/* EA2440 80241B40 AFA30018 */ sw $v1, 0x18($sp)
/* EA2444 80241B44 8E0300D0 */ lw $v1, 0xd0($s0)
/* EA2448 80241B48 8C630024 */ lw $v1, 0x24($v1)
/* EA244C 80241B4C AFA3001C */ sw $v1, 0x1c($sp)
/* EA2450 80241B50 8E0300D0 */ lw $v1, 0xd0($s0)
/* EA2454 80241B54 8C630028 */ lw $v1, 0x28($v1)
/* EA2458 80241B58 0200202D */ daddu $a0, $s0, $zero
/* EA245C 80241B5C AFA30020 */ sw $v1, 0x20($sp)
/* EA2460 80241B60 8E0300D0 */ lw $v1, 0xd0($s0)
/* EA2464 80241B64 3C014348 */ lui $at, 0x4348
/* EA2468 80241B68 44810000 */ mtc1 $at, $f0
/* EA246C 80241B6C 8C63002C */ lw $v1, 0x2c($v1)
/* EA2470 80241B70 0040902D */ daddu $s2, $v0, $zero
/* EA2474 80241B74 E7A00028 */ swc1 $f0, 0x28($sp)
/* EA2478 80241B78 A7A0002C */ sh $zero, 0x2c($sp)
/* EA247C 80241B7C 0C013638 */ jal func_8004D8E0
/* EA2480 80241B80 AFA30024 */ sw $v1, 0x24($sp)
/* EA2484 80241B84 8E020000 */ lw $v0, ($s0)
/* EA2488 80241B88 3C030010 */ lui $v1, 0x10
/* EA248C 80241B8C 00431024 */ and $v0, $v0, $v1
/* EA2490 80241B90 10400008 */ beqz $v0, .L80241BB4
/* EA2494 80241B94 27B30010 */ addiu $s3, $sp, 0x10
/* EA2498 80241B98 3C014120 */ lui $at, 0x4120
/* EA249C 80241B9C 44810000 */ mtc1 $at, $f0
/* EA24A0 80241BA0 3C013F33 */ lui $at, 0x3f33
/* EA24A4 80241BA4 34213333 */ ori $at, $at, 0x3333
/* EA24A8 80241BA8 44811000 */ mtc1 $at, $f2
/* EA24AC 80241BAC E6000114 */ swc1 $f0, 0x114($s0)
/* EA24B0 80241BB0 E6020118 */ swc1 $f2, 0x118($s0)
.L80241BB4:
/* EA24B4 80241BB4 56A00006 */ bnel $s5, $zero, .L80241BD0
/* EA24B8 80241BB8 AE200070 */ sw $zero, 0x70($s1)
/* EA24BC 80241BBC 8E0200B0 */ lw $v0, 0xb0($s0)
/* EA24C0 80241BC0 30420004 */ andi $v0, $v0, 4
/* EA24C4 80241BC4 10400011 */ beqz $v0, .L80241C0C
/* EA24C8 80241BC8 00000000 */ nop
/* EA24CC 80241BCC AE200070 */ sw $zero, 0x70($s1)
.L80241BD0:
/* EA24D0 80241BD0 A680008E */ sh $zero, 0x8e($s4)
/* EA24D4 80241BD4 8E0200CC */ lw $v0, 0xcc($s0)
/* EA24D8 80241BD8 8C420000 */ lw $v0, ($v0)
/* EA24DC 80241BDC AE820028 */ sw $v0, 0x28($s4)
/* EA24E0 80241BE0 8E0200B0 */ lw $v0, 0xb0($s0)
/* EA24E4 80241BE4 30420004 */ andi $v0, $v0, 4
/* EA24E8 80241BE8 10400008 */ beqz $v0, .L80241C0C
/* EA24EC 80241BEC AE00006C */ sw $zero, 0x6c($s0)
/* EA24F0 80241BF0 24020063 */ addiu $v0, $zero, 0x63
/* EA24F4 80241BF4 AE220070 */ sw $v0, 0x70($s1)
/* EA24F8 80241BF8 AE200074 */ sw $zero, 0x74($s1)
/* EA24FC 80241BFC 8E0200B0 */ lw $v0, 0xb0($s0)
/* EA2500 80241C00 2403FFFB */ addiu $v1, $zero, -5
/* EA2504 80241C04 00431024 */ and $v0, $v0, $v1
/* EA2508 80241C08 AE0200B0 */ sw $v0, 0xb0($s0)
.L80241C0C:
/* EA250C 80241C0C 8E230070 */ lw $v1, 0x70($s1)
/* EA2510 80241C10 2410000B */ addiu $s0, $zero, 0xb
/* EA2514 80241C14 1070002A */ beq $v1, $s0, .L80241CC0
/* EA2518 80241C18 2862000C */ slti $v0, $v1, 0xc
/* EA251C 80241C1C 1040000D */ beqz $v0, .L80241C54
/* EA2520 80241C20 24020001 */ addiu $v0, $zero, 1
/* EA2524 80241C24 1062001A */ beq $v1, $v0, .L80241C90
/* EA2528 80241C28 28620002 */ slti $v0, $v1, 2
/* EA252C 80241C2C 10400005 */ beqz $v0, .L80241C44
/* EA2530 80241C30 2402000A */ addiu $v0, $zero, 0xa
/* EA2534 80241C34 10600013 */ beqz $v1, .L80241C84
/* EA2538 80241C38 0220202D */ daddu $a0, $s1, $zero
/* EA253C 80241C3C 08090750 */ j .L80241D40
/* EA2540 80241C40 00000000 */ nop
.L80241C44:
/* EA2544 80241C44 10620018 */ beq $v1, $v0, .L80241CA8
/* EA2548 80241C48 0220202D */ daddu $a0, $s1, $zero
/* EA254C 80241C4C 08090750 */ j .L80241D40
/* EA2550 80241C50 00000000 */ nop
.L80241C54:
/* EA2554 80241C54 2402000D */ addiu $v0, $zero, 0xd
/* EA2558 80241C58 10620029 */ beq $v1, $v0, .L80241D00
/* EA255C 80241C5C 0062102A */ slt $v0, $v1, $v0
/* EA2560 80241C60 14400020 */ bnez $v0, .L80241CE4
/* EA2564 80241C64 0220202D */ daddu $a0, $s1, $zero
/* EA2568 80241C68 2402000E */ addiu $v0, $zero, 0xe
/* EA256C 80241C6C 1062002D */ beq $v1, $v0, .L80241D24
/* EA2570 80241C70 24020063 */ addiu $v0, $zero, 0x63
/* EA2574 80241C74 10620030 */ beq $v1, $v0, .L80241D38
/* EA2578 80241C78 00000000 */ nop
/* EA257C 80241C7C 08090750 */ j .L80241D40
/* EA2580 80241C80 00000000 */ nop
.L80241C84:
/* EA2584 80241C84 0240282D */ daddu $a1, $s2, $zero
/* EA2588 80241C88 0C090317 */ jal EA0C10_UnkNpcAIFunc31
/* EA258C 80241C8C 0260302D */ daddu $a2, $s3, $zero
.L80241C90:
/* EA2590 80241C90 0220202D */ daddu $a0, $s1, $zero
/* EA2594 80241C94 0240282D */ daddu $a1, $s2, $zero
/* EA2598 80241C98 0C090332 */ jal EA0C10_UnkNpcAIFunc32
/* EA259C 80241C9C 0260302D */ daddu $a2, $s3, $zero
/* EA25A0 80241CA0 08090750 */ j .L80241D40
/* EA25A4 80241CA4 00000000 */ nop
.L80241CA8:
/* EA25A8 80241CA8 0240282D */ daddu $a1, $s2, $zero
/* EA25AC 80241CAC 0C090371 */ jal func_80240DC4_EA16C4
/* EA25B0 80241CB0 0260302D */ daddu $a2, $s3, $zero
/* EA25B4 80241CB4 8E220070 */ lw $v0, 0x70($s1)
/* EA25B8 80241CB8 14500021 */ bne $v0, $s0, .L80241D40
/* EA25BC 80241CBC 00000000 */ nop
.L80241CC0:
/* EA25C0 80241CC0 0220202D */ daddu $a0, $s1, $zero
/* EA25C4 80241CC4 0240282D */ daddu $a1, $s2, $zero
/* EA25C8 80241CC8 0C090601 */ jal EA0C10_UnkNpcDurationFlagFunc3
/* EA25CC 80241CCC 0260302D */ daddu $a2, $s3, $zero
/* EA25D0 80241CD0 8E230070 */ lw $v1, 0x70($s1)
/* EA25D4 80241CD4 2402000C */ addiu $v0, $zero, 0xc
/* EA25D8 80241CD8 14620019 */ bne $v1, $v0, .L80241D40
/* EA25DC 80241CDC 00000000 */ nop
/* EA25E0 80241CE0 0220202D */ daddu $a0, $s1, $zero
.L80241CE4:
/* EA25E4 80241CE4 0240282D */ daddu $a1, $s2, $zero
/* EA25E8 80241CE8 0C090625 */ jal EA0C10_UnkNpcAIFunc33
/* EA25EC 80241CEC 0260302D */ daddu $a2, $s3, $zero
/* EA25F0 80241CF0 8E230070 */ lw $v1, 0x70($s1)
/* EA25F4 80241CF4 2402000D */ addiu $v0, $zero, 0xd
/* EA25F8 80241CF8 14620011 */ bne $v1, $v0, .L80241D40
/* EA25FC 80241CFC 00000000 */ nop
.L80241D00:
/* EA2600 80241D00 0220202D */ daddu $a0, $s1, $zero
/* EA2604 80241D04 0240282D */ daddu $a1, $s2, $zero
/* EA2608 80241D08 0C090665 */ jal EA0C10_UnkNpcDurationFlagFunc2
/* EA260C 80241D0C 0260302D */ daddu $a2, $s3, $zero
/* EA2610 80241D10 8E230070 */ lw $v1, 0x70($s1)
/* EA2614 80241D14 2402000E */ addiu $v0, $zero, 0xe
/* EA2618 80241D18 14620009 */ bne $v1, $v0, .L80241D40
/* EA261C 80241D1C 00000000 */ nop
/* EA2620 80241D20 0220202D */ daddu $a0, $s1, $zero
.L80241D24:
/* EA2624 80241D24 0240282D */ daddu $a1, $s2, $zero
/* EA2628 80241D28 0C09067D */ jal EA0C10_UnkNpcAIFunc30
/* EA262C 80241D2C 0260302D */ daddu $a2, $s3, $zero
/* EA2630 80241D30 08090750 */ j .L80241D40
/* EA2634 80241D34 00000000 */ nop
.L80241D38:
/* EA2638 80241D38 0C013AE3 */ jal func_8004EB8C
/* EA263C 80241D3C 0220202D */ daddu $a0, $s1, $zero
.L80241D40:
/* EA2640 80241D40 8FBF0048 */ lw $ra, 0x48($sp)
/* EA2644 80241D44 8FB50044 */ lw $s5, 0x44($sp)
/* EA2648 80241D48 8FB40040 */ lw $s4, 0x40($sp)
/* EA264C 80241D4C 8FB3003C */ lw $s3, 0x3c($sp)
/* EA2650 80241D50 8FB20038 */ lw $s2, 0x38($sp)
/* EA2654 80241D54 8FB10034 */ lw $s1, 0x34($sp)
/* EA2658 80241D58 8FB00030 */ lw $s0, 0x30($sp)
/* EA265C 80241D5C 0000102D */ daddu $v0, $zero, $zero
/* EA2660 80241D60 03E00008 */ jr $ra
/* EA2664 80241D64 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,320 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_80246650_EA6F50
.word .L80242534_EA2E34, .L80242540_EA2E40, .L80242540_EA2E40, .L80242540_EA2E40, .L80242540_EA2E40, .L80242540_EA2E40, .L80242540_EA2E40, .L80242540_EA2E40, .L80242534_EA2E34, .L80242540_EA2E40, .L80242534_EA2E34, .L80242540_EA2E40, .L80242534_EA2E34, .L80242540_EA2E40, .L80242534_EA2E34, .L80242540_EA2E40, .L80242540_EA2E40, .L80242540_EA2E40, .L80242534_EA2E34, .L80242540_EA2E40, .L80242534_EA2E34, 0, 0, 0
.section .text
glabel func_802420FC_EA29FC
/* EA29FC 802420FC 27BDFF90 */ addiu $sp, $sp, -0x70
/* EA2A00 80242100 AFB3005C */ sw $s3, 0x5c($sp)
/* EA2A04 80242104 0080982D */ daddu $s3, $a0, $zero
/* EA2A08 80242108 AFBF0068 */ sw $ra, 0x68($sp)
/* EA2A0C 8024210C AFB50064 */ sw $s5, 0x64($sp)
/* EA2A10 80242110 AFB40060 */ sw $s4, 0x60($sp)
/* EA2A14 80242114 AFB20058 */ sw $s2, 0x58($sp)
/* EA2A18 80242118 AFB10054 */ sw $s1, 0x54($sp)
/* EA2A1C 8024211C AFB00050 */ sw $s0, 0x50($sp)
/* EA2A20 80242120 8E710148 */ lw $s1, 0x148($s3)
/* EA2A24 80242124 86240008 */ lh $a0, 8($s1)
/* EA2A28 80242128 0C00F92F */ jal dead_get_npc_unsafe
/* EA2A2C 8024212C 00A0802D */ daddu $s0, $a1, $zero
/* EA2A30 80242130 8E63000C */ lw $v1, 0xc($s3)
/* EA2A34 80242134 0260202D */ daddu $a0, $s3, $zero
/* EA2A38 80242138 8C650000 */ lw $a1, ($v1)
/* EA2A3C 8024213C 0C0B53A3 */ jal dead_evt_get_variable
/* EA2A40 80242140 0040902D */ daddu $s2, $v0, $zero
/* EA2A44 80242144 AFA00028 */ sw $zero, 0x28($sp)
/* EA2A48 80242148 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA2A4C 8024214C 8C630030 */ lw $v1, 0x30($v1)
/* EA2A50 80242150 AFA3002C */ sw $v1, 0x2c($sp)
/* EA2A54 80242154 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA2A58 80242158 8C63001C */ lw $v1, 0x1c($v1)
/* EA2A5C 8024215C AFA30030 */ sw $v1, 0x30($sp)
/* EA2A60 80242160 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA2A64 80242164 8C630024 */ lw $v1, 0x24($v1)
/* EA2A68 80242168 AFA30034 */ sw $v1, 0x34($sp)
/* EA2A6C 8024216C 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA2A70 80242170 8C630028 */ lw $v1, 0x28($v1)
/* EA2A74 80242174 AFA30038 */ sw $v1, 0x38($sp)
/* EA2A78 80242178 8E2300D0 */ lw $v1, 0xd0($s1)
/* EA2A7C 8024217C 3C0142C8 */ lui $at, 0x42c8
/* EA2A80 80242180 44810000 */ mtc1 $at, $f0
/* EA2A84 80242184 8C63002C */ lw $v1, 0x2c($v1)
/* EA2A88 80242188 E7A00040 */ swc1 $f0, 0x40($sp)
/* EA2A8C 8024218C A7A00044 */ sh $zero, 0x44($sp)
/* EA2A90 80242190 AFA3003C */ sw $v1, 0x3c($sp)
/* EA2A94 80242194 C6400038 */ lwc1 $f0, 0x38($s2)
/* EA2A98 80242198 E6200108 */ swc1 $f0, 0x108($s1)
/* EA2A9C 8024219C C640003C */ lwc1 $f0, 0x3c($s2)
/* EA2AA0 802421A0 27B50028 */ addiu $s5, $sp, 0x28
/* EA2AA4 802421A4 E620010C */ swc1 $f0, 0x10c($s1)
/* EA2AA8 802421A8 3C013C23 */ lui $at, 0x3c23
/* EA2AAC 802421AC 3421D70A */ ori $at, $at, 0xd70a
/* EA2AB0 802421B0 44810000 */ mtc1 $at, $f0
/* EA2AB4 802421B4 C6420040 */ lwc1 $f2, 0x40($s2)
/* EA2AB8 802421B8 0040A02D */ daddu $s4, $v0, $zero
/* EA2ABC 802421BC E6200114 */ swc1 $f0, 0x114($s1)
/* EA2AC0 802421C0 E6200118 */ swc1 $f0, 0x118($s1)
/* EA2AC4 802421C4 12000009 */ beqz $s0, .L802421EC
/* EA2AC8 802421C8 E6220110 */ swc1 $f2, 0x110($s1)
/* EA2ACC 802421CC 864300A8 */ lh $v1, 0xa8($s2)
/* EA2AD0 802421D0 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA2AD4 802421D4 AE20008C */ sw $zero, 0x8c($s1)
/* EA2AD8 802421D8 A22000B5 */ sb $zero, 0xb5($s1)
/* EA2ADC 802421DC 34420008 */ ori $v0, $v0, 8
/* EA2AE0 802421E0 AE230084 */ sw $v1, 0x84($s1)
/* EA2AE4 802421E4 0809087F */ j .L802421FC
/* EA2AE8 802421E8 AE2200B0 */ sw $v0, 0xb0($s1)
.L802421EC:
/* EA2AEC 802421EC 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA2AF0 802421F0 30420004 */ andi $v0, $v0, 4
/* EA2AF4 802421F4 10400047 */ beqz $v0, .L80242314
/* EA2AF8 802421F8 00000000 */ nop
.L802421FC:
/* EA2AFC 802421FC AE600070 */ sw $zero, 0x70($s3)
/* EA2B00 80242200 A640008E */ sh $zero, 0x8e($s2)
/* EA2B04 80242204 8E2300CC */ lw $v1, 0xcc($s1)
/* EA2B08 80242208 2404F7FF */ addiu $a0, $zero, -0x801
/* EA2B0C 8024220C A2200007 */ sb $zero, 7($s1)
/* EA2B10 80242210 8E420000 */ lw $v0, ($s2)
/* EA2B14 80242214 8C630000 */ lw $v1, ($v1)
/* EA2B18 80242218 00441024 */ and $v0, $v0, $a0
/* EA2B1C 8024221C AE420000 */ sw $v0, ($s2)
/* EA2B20 80242220 AE430028 */ sw $v1, 0x28($s2)
/* EA2B24 80242224 96220086 */ lhu $v0, 0x86($s1)
/* EA2B28 80242228 A64200A8 */ sh $v0, 0xa8($s2)
/* EA2B2C 8024222C 8E2200D0 */ lw $v0, 0xd0($s1)
/* EA2B30 80242230 AE200090 */ sw $zero, 0x90($s1)
/* EA2B34 80242234 8C420034 */ lw $v0, 0x34($v0)
/* EA2B38 80242238 14400006 */ bnez $v0, .L80242254
/* EA2B3C 8024223C 2403FDFF */ addiu $v1, $zero, -0x201
/* EA2B40 80242240 8E420000 */ lw $v0, ($s2)
/* EA2B44 80242244 2403FFF7 */ addiu $v1, $zero, -9
/* EA2B48 80242248 34420200 */ ori $v0, $v0, 0x200
/* EA2B4C 8024224C 08090898 */ j .L80242260
/* EA2B50 80242250 00431024 */ and $v0, $v0, $v1
.L80242254:
/* EA2B54 80242254 8E420000 */ lw $v0, ($s2)
/* EA2B58 80242258 00431024 */ and $v0, $v0, $v1
/* EA2B5C 8024225C 34420008 */ ori $v0, $v0, 8
.L80242260:
/* EA2B60 80242260 AE420000 */ sw $v0, ($s2)
/* EA2B64 80242264 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA2B68 80242268 30420004 */ andi $v0, $v0, 4
/* EA2B6C 8024226C 1040001E */ beqz $v0, .L802422E8
/* EA2B70 80242270 24040002 */ addiu $a0, $zero, 2
/* EA2B74 80242274 0240282D */ daddu $a1, $s2, $zero
/* EA2B78 80242278 0000302D */ daddu $a2, $zero, $zero
/* EA2B7C 8024227C 24020063 */ addiu $v0, $zero, 0x63
/* EA2B80 80242280 AE620070 */ sw $v0, 0x70($s3)
/* EA2B84 80242284 AE600074 */ sw $zero, 0x74($s3)
/* EA2B88 80242288 864300A8 */ lh $v1, 0xa8($s2)
/* EA2B8C 8024228C 3C013F80 */ lui $at, 0x3f80
/* EA2B90 80242290 44810000 */ mtc1 $at, $f0
/* EA2B94 80242294 3C014000 */ lui $at, 0x4000
/* EA2B98 80242298 44811000 */ mtc1 $at, $f2
/* EA2B9C 8024229C 3C01C1A0 */ lui $at, 0xc1a0
/* EA2BA0 802422A0 44812000 */ mtc1 $at, $f4
/* EA2BA4 802422A4 24020028 */ addiu $v0, $zero, 0x28
/* EA2BA8 802422A8 AFA2001C */ sw $v0, 0x1c($sp)
/* EA2BAC 802422AC 44833000 */ mtc1 $v1, $f6
/* EA2BB0 802422B0 00000000 */ nop
/* EA2BB4 802422B4 468031A0 */ cvt.s.w $f6, $f6
/* EA2BB8 802422B8 44073000 */ mfc1 $a3, $f6
/* EA2BBC 802422BC 27A20048 */ addiu $v0, $sp, 0x48
/* EA2BC0 802422C0 AFA20020 */ sw $v0, 0x20($sp)
/* EA2BC4 802422C4 E7A00010 */ swc1 $f0, 0x10($sp)
/* EA2BC8 802422C8 E7A20014 */ swc1 $f2, 0x14($sp)
/* EA2BCC 802422CC 0C01D444 */ jal dead_fx_emote
/* EA2BD0 802422D0 E7A40018 */ swc1 $f4, 0x18($sp)
/* EA2BD4 802422D4 8E2200B0 */ lw $v0, 0xb0($s1)
/* EA2BD8 802422D8 2403FFFB */ addiu $v1, $zero, -5
/* EA2BDC 802422DC 00431024 */ and $v0, $v0, $v1
/* EA2BE0 802422E0 080908C5 */ j .L80242314
/* EA2BE4 802422E4 AE2200B0 */ sw $v0, 0xb0($s1)
.L802422E8:
/* EA2BE8 802422E8 8E220000 */ lw $v0, ($s1)
/* EA2BEC 802422EC 3C034000 */ lui $v1, 0x4000
/* EA2BF0 802422F0 00431024 */ and $v0, $v0, $v1
/* EA2BF4 802422F4 10400007 */ beqz $v0, .L80242314
/* EA2BF8 802422F8 3C03BFFF */ lui $v1, 0xbfff
/* EA2BFC 802422FC 2402000C */ addiu $v0, $zero, 0xc
/* EA2C00 80242300 AE620070 */ sw $v0, 0x70($s3)
/* EA2C04 80242304 8E220000 */ lw $v0, ($s1)
/* EA2C08 80242308 3463FFFF */ ori $v1, $v1, 0xffff
/* EA2C0C 8024230C 00431024 */ and $v0, $v0, $v1
/* EA2C10 80242310 AE220000 */ sw $v0, ($s1)
.L80242314:
/* EA2C14 80242314 8E220090 */ lw $v0, 0x90($s1)
/* EA2C18 80242318 1840000C */ blez $v0, .L8024234C
/* EA2C1C 8024231C 2442FFFF */ addiu $v0, $v0, -1
/* EA2C20 80242320 14400087 */ bnez $v0, .L80242540_EA2E40
/* EA2C24 80242324 AE220090 */ sw $v0, 0x90($s1)
/* EA2C28 80242328 3C03FFAA */ lui $v1, 0xffaa
/* EA2C2C 8024232C 8E420028 */ lw $v0, 0x28($s2)
/* EA2C30 80242330 3463FFD2 */ ori $v1, $v1, 0xffd2
/* EA2C34 80242334 00431021 */ addu $v0, $v0, $v1
/* EA2C38 80242338 2C420002 */ sltiu $v0, $v0, 2
/* EA2C3C 8024233C 10400003 */ beqz $v0, .L8024234C
/* EA2C40 80242340 3C020055 */ lui $v0, 0x55
/* EA2C44 80242344 3442000C */ ori $v0, $v0, 0xc
/* EA2C48 80242348 AE420028 */ sw $v0, 0x28($s2)
.L8024234C:
/* EA2C4C 8024234C 8E630070 */ lw $v1, 0x70($s3)
/* EA2C50 80242350 2402000C */ addiu $v0, $zero, 0xc
/* EA2C54 80242354 10620048 */ beq $v1, $v0, .L80242478
/* EA2C58 80242358 2862000D */ slti $v0, $v1, 0xd
/* EA2C5C 8024235C 1040000F */ beqz $v0, .L8024239C
/* EA2C60 80242360 24100001 */ addiu $s0, $zero, 1
/* EA2C64 80242364 1070001E */ beq $v1, $s0, .L802423E0
/* EA2C68 80242368 28620002 */ slti $v0, $v1, 2
/* EA2C6C 8024236C 10400005 */ beqz $v0, .L80242384
/* EA2C70 80242370 24020002 */ addiu $v0, $zero, 2
/* EA2C74 80242374 10600015 */ beqz $v1, .L802423CC
/* EA2C78 80242378 0260202D */ daddu $a0, $s3, $zero
/* EA2C7C 8024237C 08090935 */ j .L802424D4
/* EA2C80 80242380 00000000 */ nop
.L80242384:
/* EA2C84 80242384 1062001C */ beq $v1, $v0, .L802423F8
/* EA2C88 80242388 24020003 */ addiu $v0, $zero, 3
/* EA2C8C 8024238C 10620035 */ beq $v1, $v0, .L80242464
/* EA2C90 80242390 0260202D */ daddu $a0, $s3, $zero
/* EA2C94 80242394 08090935 */ j .L802424D4
/* EA2C98 80242398 00000000 */ nop
.L8024239C:
/* EA2C9C 8024239C 2402000E */ addiu $v0, $zero, 0xe
/* EA2CA0 802423A0 1062003F */ beq $v1, $v0, .L802424A0
/* EA2CA4 802423A4 0062102A */ slt $v0, $v1, $v0
/* EA2CA8 802423A8 14400038 */ bnez $v0, .L8024248C
/* EA2CAC 802423AC 0260202D */ daddu $a0, $s3, $zero
/* EA2CB0 802423B0 2402000F */ addiu $v0, $zero, 0xf
/* EA2CB4 802423B4 10620040 */ beq $v1, $v0, .L802424B8
/* EA2CB8 802423B8 24020063 */ addiu $v0, $zero, 0x63
/* EA2CBC 802423BC 10620043 */ beq $v1, $v0, .L802424CC
/* EA2CC0 802423C0 00000000 */ nop
/* EA2CC4 802423C4 08090935 */ j .L802424D4
/* EA2CC8 802423C8 00000000 */ nop
.L802423CC:
/* EA2CCC 802423CC 0280282D */ daddu $a1, $s4, $zero
/* EA2CD0 802423D0 0C013670 */ jal func_8004D9C0
/* EA2CD4 802423D4 02A0302D */ daddu $a2, $s5, $zero
/* EA2CD8 802423D8 96220086 */ lhu $v0, 0x86($s1)
/* EA2CDC 802423DC A64200A8 */ sh $v0, 0xa8($s2)
.L802423E0:
/* EA2CE0 802423E0 0260202D */ daddu $a0, $s3, $zero
/* EA2CE4 802423E4 0280282D */ daddu $a1, $s4, $zero
/* EA2CE8 802423E8 0C0136B6 */ jal func_8004DAD8
/* EA2CEC 802423EC 02A0302D */ daddu $a2, $s5, $zero
/* EA2CF0 802423F0 08090935 */ j .L802424D4
/* EA2CF4 802423F4 00000000 */ nop
.L802423F8:
/* EA2CF8 802423F8 0260202D */ daddu $a0, $s3, $zero
/* EA2CFC 802423FC 0280282D */ daddu $a1, $s4, $zero
/* EA2D00 80242400 0C0137D9 */ jal func_8004DF64
/* EA2D04 80242404 02A0302D */ daddu $a2, $s5, $zero
/* EA2D08 80242408 8E230088 */ lw $v1, 0x88($s1)
/* EA2D0C 8024240C 24020006 */ addiu $v0, $zero, 6
/* EA2D10 80242410 14620014 */ bne $v1, $v0, .L80242464
/* EA2D14 80242414 0260202D */ daddu $a0, $s3, $zero
/* EA2D18 80242418 0C00AB3B */ jal dead_rand_int
/* EA2D1C 8024241C 24040064 */ addiu $a0, $zero, 0x64
/* EA2D20 80242420 28420021 */ slti $v0, $v0, 0x21
/* EA2D24 80242424 5040000F */ beql $v0, $zero, .L80242464
/* EA2D28 80242428 0260202D */ daddu $a0, $s3, $zero
/* EA2D2C 8024242C 8E22008C */ lw $v0, 0x8c($s1)
/* EA2D30 80242430 10400005 */ beqz $v0, .L80242448
/* EA2D34 80242434 3C020055 */ lui $v0, 0x55
/* EA2D38 80242438 3442002F */ ori $v0, $v0, 0x2f
/* EA2D3C 8024243C AE20008C */ sw $zero, 0x8c($s1)
/* EA2D40 80242440 08090915 */ j .L80242454
/* EA2D44 80242444 A22000B5 */ sb $zero, 0xb5($s1)
.L80242448:
/* EA2D48 80242448 3442002E */ ori $v0, $v0, 0x2e
/* EA2D4C 8024244C AE30008C */ sw $s0, 0x8c($s1)
/* EA2D50 80242450 A23000B5 */ sb $s0, 0xb5($s1)
.L80242454:
/* EA2D54 80242454 AE420028 */ sw $v0, 0x28($s2)
/* EA2D58 80242458 24020007 */ addiu $v0, $zero, 7
/* EA2D5C 8024245C 08090950 */ j .L80242540_EA2E40
/* EA2D60 80242460 AE220090 */ sw $v0, 0x90($s1)
.L80242464:
/* EA2D64 80242464 0280282D */ daddu $a1, $s4, $zero
/* EA2D68 80242468 0C013809 */ jal func_8004E024
/* EA2D6C 8024246C 02A0302D */ daddu $a2, $s5, $zero
/* EA2D70 80242470 08090935 */ j .L802424D4
/* EA2D74 80242474 00000000 */ nop
.L80242478:
/* EA2D78 80242478 0260202D */ daddu $a0, $s3, $zero
/* EA2D7C 8024247C 0280282D */ daddu $a1, $s4, $zero
/* EA2D80 80242480 0C09075A */ jal EA0C10_set_script_owner_npc_anim
/* EA2D84 80242484 02A0302D */ daddu $a2, $s5, $zero
/* EA2D88 80242488 0260202D */ daddu $a0, $s3, $zero
.L8024248C:
/* EA2D8C 8024248C 0280282D */ daddu $a1, $s4, $zero
/* EA2D90 80242490 0C090779 */ jal EA0C10_UnkDistFunc
/* EA2D94 80242494 02A0302D */ daddu $a2, $s5, $zero
/* EA2D98 80242498 08090935 */ j .L802424D4
/* EA2D9C 8024249C 00000000 */ nop
.L802424A0:
/* EA2DA0 802424A0 0260202D */ daddu $a0, $s3, $zero
/* EA2DA4 802424A4 0280282D */ daddu $a1, $s4, $zero
/* EA2DA8 802424A8 0C0907C6 */ jal EA0C10_UnkNpcAIFunc12
/* EA2DAC 802424AC 02A0302D */ daddu $a2, $s5, $zero
/* EA2DB0 802424B0 08090935 */ j .L802424D4
/* EA2DB4 802424B4 00000000 */ nop
.L802424B8:
/* EA2DB8 802424B8 0280282D */ daddu $a1, $s4, $zero
/* EA2DBC 802424BC 0C09081F */ jal EA0C10_set_script_owner_npc_col_height
/* EA2DC0 802424C0 02A0302D */ daddu $a2, $s5, $zero
/* EA2DC4 802424C4 08090935 */ j .L802424D4
/* EA2DC8 802424C8 00000000 */ nop
.L802424CC:
/* EA2DCC 802424CC 0C013AE3 */ jal func_8004EB8C
/* EA2DD0 802424D0 0260202D */ daddu $a0, $s3, $zero
.L802424D4:
/* EA2DD4 802424D4 8E230088 */ lw $v1, 0x88($s1)
/* EA2DD8 802424D8 24020006 */ addiu $v0, $zero, 6
/* EA2DDC 802424DC 14620019 */ bne $v1, $v0, .L80242544
/* EA2DE0 802424E0 0000102D */ daddu $v0, $zero, $zero
/* EA2DE4 802424E4 8E22008C */ lw $v0, 0x8c($s1)
/* EA2DE8 802424E8 10400003 */ beqz $v0, .L802424F8
/* EA2DEC 802424EC 24020001 */ addiu $v0, $zero, 1
/* EA2DF0 802424F0 0809093F */ j .L802424FC
/* EA2DF4 802424F4 A22200B5 */ sb $v0, 0xb5($s1)
.L802424F8:
/* EA2DF8 802424F8 A22000B5 */ sb $zero, 0xb5($s1)
.L802424FC:
/* EA2DFC 802424FC 8E22008C */ lw $v0, 0x8c($s1)
/* EA2E00 80242500 1040000F */ beqz $v0, .L80242540_EA2E40
/* EA2E04 80242504 3C03FFAA */ lui $v1, 0xffaa
/* EA2E08 80242508 8E420028 */ lw $v0, 0x28($s2)
/* EA2E0C 8024250C 3463FFFC */ ori $v1, $v1, 0xfffc
/* EA2E10 80242510 00431821 */ addu $v1, $v0, $v1
/* EA2E14 80242514 2C620015 */ sltiu $v0, $v1, 0x15
/* EA2E18 80242518 10400009 */ beqz $v0, .L80242540_EA2E40
/* EA2E1C 8024251C 00031080 */ sll $v0, $v1, 2
/* EA2E20 80242520 3C018024 */ lui $at, %hi(jtbl_80246650_EA6F50)
/* EA2E24 80242524 00220821 */ addu $at, $at, $v0
/* EA2E28 80242528 8C226650 */ lw $v0, %lo(jtbl_80246650_EA6F50)($at)
/* EA2E2C 8024252C 00400008 */ jr $v0
/* EA2E30 80242530 00000000 */ nop
.L80242534_EA2E34:
/* EA2E34 80242534 8E420028 */ lw $v0, 0x28($s2)
/* EA2E38 80242538 24420001 */ addiu $v0, $v0, 1
/* EA2E3C 8024253C AE420028 */ sw $v0, 0x28($s2)
.L80242540_EA2E40:
/* EA2E40 80242540 0000102D */ daddu $v0, $zero, $zero
.L80242544:
/* EA2E44 80242544 8FBF0068 */ lw $ra, 0x68($sp)
/* EA2E48 80242548 8FB50064 */ lw $s5, 0x64($sp)
/* EA2E4C 8024254C 8FB40060 */ lw $s4, 0x60($sp)
/* EA2E50 80242550 8FB3005C */ lw $s3, 0x5c($sp)
/* EA2E54 80242554 8FB20058 */ lw $s2, 0x58($sp)
/* EA2E58 80242558 8FB10054 */ lw $s1, 0x54($sp)
/* EA2E5C 8024255C 8FB00050 */ lw $s0, 0x50($sp)
/* EA2E60 80242560 03E00008 */ jr $ra
/* EA2E64 80242564 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242568_EA2E68
/* EA2E68 80242568 27BDFFE8 */ addiu $sp, $sp, -0x18
/* EA2E6C 8024256C AFBF0010 */ sw $ra, 0x10($sp)
/* EA2E70 80242570 0C00F94D */ jal dead_get_npc_safe
/* EA2E74 80242574 8C84014C */ lw $a0, 0x14c($a0)
/* EA2E78 80242578 0040182D */ daddu $v1, $v0, $zero
/* EA2E7C 8024257C 846200A8 */ lh $v0, 0xa8($v1)
/* EA2E80 80242580 C462003C */ lwc1 $f2, 0x3c($v1)
/* EA2E84 80242584 906400A9 */ lbu $a0, 0xa9($v1)
/* EA2E88 80242588 44820000 */ mtc1 $v0, $f0
/* EA2E8C 8024258C 00000000 */ nop
/* EA2E90 80242590 46800020 */ cvt.s.w $f0, $f0
/* EA2E94 80242594 46001081 */ sub.s $f2, $f2, $f0
/* EA2E98 80242598 A06400AB */ sb $a0, 0xab($v1)
/* EA2E9C 8024259C E462003C */ swc1 $f2, 0x3c($v1)
/* EA2EA0 802425A0 8FBF0010 */ lw $ra, 0x10($sp)
/* EA2EA4 802425A4 24020002 */ addiu $v0, $zero, 2
/* EA2EA8 802425A8 03E00008 */ jr $ra
/* EA2EAC 802425AC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80242608_EA2F08
/* EA2F08 80242608 27BDFFE0 */ addiu $sp, $sp, -0x20
/* EA2F0C 8024260C 0080102D */ daddu $v0, $a0, $zero
/* EA2F10 80242610 AFB00010 */ sw $s0, 0x10($sp)
/* EA2F14 80242614 AFBF0018 */ sw $ra, 0x18($sp)
/* EA2F18 80242618 AFB10014 */ sw $s1, 0x14($sp)
/* EA2F1C 8024261C 8C44014C */ lw $a0, 0x14c($v0)
/* EA2F20 80242620 8C510148 */ lw $s1, 0x148($v0)
/* EA2F24 80242624 0C00F94D */ jal dead_get_npc_safe
/* EA2F28 80242628 00A0802D */ daddu $s0, $a1, $zero
/* EA2F2C 8024262C 56000001 */ bnel $s0, $zero, .L80242634
/* EA2F30 80242630 A04000AB */ sb $zero, 0xab($v0)
.L80242634:
/* EA2F34 80242634 8C420000 */ lw $v0, ($v0)
/* EA2F38 80242638 30421000 */ andi $v0, $v0, 0x1000
/* EA2F3C 8024263C 1040000A */ beqz $v0, .L80242668
/* EA2F40 80242640 0000102D */ daddu $v0, $zero, $zero
/* EA2F44 80242644 82220004 */ lb $v0, 4($s1)
/* EA2F48 80242648 3C03800B */ lui $v1, %hi(D_800B7EF0)
/* EA2F4C 8024264C 24637EF0 */ addiu $v1, $v1, %lo(D_800B7EF0)
/* EA2F50 80242650 00021080 */ sll $v0, $v0, 2
/* EA2F54 80242654 00431021 */ addu $v0, $v0, $v1
/* EA2F58 80242658 8C440028 */ lw $a0, 0x28($v0)
/* EA2F5C 8024265C 9623006E */ lhu $v1, 0x6e($s1)
/* EA2F60 80242660 24020002 */ addiu $v0, $zero, 2
/* EA2F64 80242664 A4830044 */ sh $v1, 0x44($a0)
.L80242668:
/* EA2F68 80242668 8FBF0018 */ lw $ra, 0x18($sp)
/* EA2F6C 8024266C 8FB10014 */ lw $s1, 0x14($sp)
/* EA2F70 80242670 8FB00010 */ lw $s0, 0x10($sp)
/* EA2F74 80242674 03E00008 */ jr $ra
/* EA2F78 80242678 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,179 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_80246160_ECFE60
.word .L80241688_ECB388, .L80241698_ECB398, .L802416B0_ECB3B0, .L802416C0_ECB3C0, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L802416D8_ECB3D8, .L802416E8_ECB3E8, .L80241700_ECB400, .L80241710_ECB410, .L80241728_ECB428, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241748_ECB448, .L80241740_ECB440
.section .text
glabel func_8024150C_ECB20C
/* ECB20C 8024150C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* ECB210 80241510 AFB50044 */ sw $s5, 0x44($sp)
/* ECB214 80241514 0080A82D */ daddu $s5, $a0, $zero
/* ECB218 80241518 AFBF0048 */ sw $ra, 0x48($sp)
/* ECB21C 8024151C AFB40040 */ sw $s4, 0x40($sp)
/* ECB220 80241520 AFB3003C */ sw $s3, 0x3c($sp)
/* ECB224 80241524 AFB20038 */ sw $s2, 0x38($sp)
/* ECB228 80241528 AFB10034 */ sw $s1, 0x34($sp)
/* ECB22C 8024152C AFB00030 */ sw $s0, 0x30($sp)
/* ECB230 80241530 8EB10148 */ lw $s1, 0x148($s5)
/* ECB234 80241534 86240008 */ lh $a0, 8($s1)
/* ECB238 80241538 0C00F92F */ jal dead_get_npc_unsafe
/* ECB23C 8024153C 00A0802D */ daddu $s0, $a1, $zero
/* ECB240 80241540 8EA3000C */ lw $v1, 0xc($s5)
/* ECB244 80241544 02A0202D */ daddu $a0, $s5, $zero
/* ECB248 80241548 8C650000 */ lw $a1, ($v1)
/* ECB24C 8024154C 0C0B53A3 */ jal dead_evt_get_variable
/* ECB250 80241550 0040902D */ daddu $s2, $v0, $zero
/* ECB254 80241554 AFA00010 */ sw $zero, 0x10($sp)
/* ECB258 80241558 8E2300D0 */ lw $v1, 0xd0($s1)
/* ECB25C 8024155C 8C630030 */ lw $v1, 0x30($v1)
/* ECB260 80241560 AFA30014 */ sw $v1, 0x14($sp)
/* ECB264 80241564 8E2300D0 */ lw $v1, 0xd0($s1)
/* ECB268 80241568 8C63001C */ lw $v1, 0x1c($v1)
/* ECB26C 8024156C AFA30018 */ sw $v1, 0x18($sp)
/* ECB270 80241570 8E2300D0 */ lw $v1, 0xd0($s1)
/* ECB274 80241574 8C630024 */ lw $v1, 0x24($v1)
/* ECB278 80241578 AFA3001C */ sw $v1, 0x1c($sp)
/* ECB27C 8024157C 8E2300D0 */ lw $v1, 0xd0($s1)
/* ECB280 80241580 8C630028 */ lw $v1, 0x28($v1)
/* ECB284 80241584 AFA30020 */ sw $v1, 0x20($sp)
/* ECB288 80241588 8E2300D0 */ lw $v1, 0xd0($s1)
/* ECB28C 8024158C 3C0142C8 */ lui $at, 0x42c8
/* ECB290 80241590 44810000 */ mtc1 $at, $f0
/* ECB294 80241594 8C63002C */ lw $v1, 0x2c($v1)
/* ECB298 80241598 E7A00028 */ swc1 $f0, 0x28($sp)
/* ECB29C 8024159C A7A0002C */ sh $zero, 0x2c($sp)
/* ECB2A0 802415A0 AFA30024 */ sw $v1, 0x24($sp)
/* ECB2A4 802415A4 C6400038 */ lwc1 $f0, 0x38($s2)
/* ECB2A8 802415A8 E6200108 */ swc1 $f0, 0x108($s1)
/* ECB2AC 802415AC C640003C */ lwc1 $f0, 0x3c($s2)
/* ECB2B0 802415B0 27B40010 */ addiu $s4, $sp, 0x10
/* ECB2B4 802415B4 E620010C */ swc1 $f0, 0x10c($s1)
/* ECB2B8 802415B8 3C013C23 */ lui $at, 0x3c23
/* ECB2BC 802415BC 3421D70A */ ori $at, $at, 0xd70a
/* ECB2C0 802415C0 44810000 */ mtc1 $at, $f0
/* ECB2C4 802415C4 C6420040 */ lwc1 $f2, 0x40($s2)
/* ECB2C8 802415C8 0040982D */ daddu $s3, $v0, $zero
/* ECB2CC 802415CC E6200114 */ swc1 $f0, 0x114($s1)
/* ECB2D0 802415D0 E6200118 */ swc1 $f0, 0x118($s1)
/* ECB2D4 802415D4 16000005 */ bnez $s0, .L802415EC
/* ECB2D8 802415D8 E6220110 */ swc1 $f2, 0x110($s1)
/* ECB2DC 802415DC 8E2200B0 */ lw $v0, 0xb0($s1)
/* ECB2E0 802415E0 30420004 */ andi $v0, $v0, 4
/* ECB2E4 802415E4 1040001F */ beqz $v0, .L80241664
/* ECB2E8 802415E8 00000000 */ nop
.L802415EC:
/* ECB2EC 802415EC 2404F7FF */ addiu $a0, $zero, -0x801
/* ECB2F0 802415F0 AEA00070 */ sw $zero, 0x70($s5)
/* ECB2F4 802415F4 A640008E */ sh $zero, 0x8e($s2)
/* ECB2F8 802415F8 8E2200CC */ lw $v0, 0xcc($s1)
/* ECB2FC 802415FC 8E430000 */ lw $v1, ($s2)
/* ECB300 80241600 8C420000 */ lw $v0, ($v0)
/* ECB304 80241604 00641824 */ and $v1, $v1, $a0
/* ECB308 80241608 AE430000 */ sw $v1, ($s2)
/* ECB30C 8024160C AE420028 */ sw $v0, 0x28($s2)
/* ECB310 80241610 8E2200D0 */ lw $v0, 0xd0($s1)
/* ECB314 80241614 8C420034 */ lw $v0, 0x34($v0)
/* ECB318 80241618 54400005 */ bnel $v0, $zero, .L80241630
/* ECB31C 8024161C 2402FDFF */ addiu $v0, $zero, -0x201
/* ECB320 80241620 34620200 */ ori $v0, $v1, 0x200
/* ECB324 80241624 2403FFF7 */ addiu $v1, $zero, -9
/* ECB328 80241628 0809058E */ j .L80241638
/* ECB32C 8024162C 00431024 */ and $v0, $v0, $v1
.L80241630:
/* ECB330 80241630 00621024 */ and $v0, $v1, $v0
/* ECB334 80241634 34420008 */ ori $v0, $v0, 8
.L80241638:
/* ECB338 80241638 AE420000 */ sw $v0, ($s2)
/* ECB33C 8024163C 8E2200B0 */ lw $v0, 0xb0($s1)
/* ECB340 80241640 30420004 */ andi $v0, $v0, 4
/* ECB344 80241644 10400007 */ beqz $v0, .L80241664
/* ECB348 80241648 24020063 */ addiu $v0, $zero, 0x63
/* ECB34C 8024164C AEA20070 */ sw $v0, 0x70($s5)
/* ECB350 80241650 AEA00074 */ sw $zero, 0x74($s5)
/* ECB354 80241654 8E2200B0 */ lw $v0, 0xb0($s1)
/* ECB358 80241658 2403FFFB */ addiu $v1, $zero, -5
/* ECB35C 8024165C 00431024 */ and $v0, $v0, $v1
/* ECB360 80241660 AE2200B0 */ sw $v0, 0xb0($s1)
.L80241664:
/* ECB364 80241664 8EA30070 */ lw $v1, 0x70($s5)
/* ECB368 80241668 2C620064 */ sltiu $v0, $v1, 0x64
/* ECB36C 8024166C 10400036 */ beqz $v0, .L80241748_ECB448
/* ECB370 80241670 00031080 */ sll $v0, $v1, 2
/* ECB374 80241674 3C018024 */ lui $at, %hi(jtbl_80246160_ECFE60)
/* ECB378 80241678 00220821 */ addu $at, $at, $v0
/* ECB37C 8024167C 8C226160 */ lw $v0, %lo(jtbl_80246160_ECFE60)($at)
/* ECB380 80241680 00400008 */ jr $v0
/* ECB384 80241684 00000000 */ nop
.L80241688_ECB388:
/* ECB388 80241688 02A0202D */ daddu $a0, $s5, $zero
/* ECB38C 8024168C 0260282D */ daddu $a1, $s3, $zero
/* ECB390 80241690 0C013670 */ jal func_8004D9C0
/* ECB394 80241694 0280302D */ daddu $a2, $s4, $zero
.L80241698_ECB398:
/* ECB398 80241698 02A0202D */ daddu $a0, $s5, $zero
/* ECB39C 8024169C 0260282D */ daddu $a1, $s3, $zero
/* ECB3A0 802416A0 0C0136B6 */ jal func_8004DAD8
/* ECB3A4 802416A4 0280302D */ daddu $a2, $s4, $zero
/* ECB3A8 802416A8 080905D2 */ j .L80241748_ECB448
/* ECB3AC 802416AC 00000000 */ nop
.L802416B0_ECB3B0:
/* ECB3B0 802416B0 02A0202D */ daddu $a0, $s5, $zero
/* ECB3B4 802416B4 0260282D */ daddu $a1, $s3, $zero
/* ECB3B8 802416B8 0C0137D9 */ jal func_8004DF64
/* ECB3BC 802416BC 0280302D */ daddu $a2, $s4, $zero
.L802416C0_ECB3C0:
/* ECB3C0 802416C0 02A0202D */ daddu $a0, $s5, $zero
/* ECB3C4 802416C4 0260282D */ daddu $a1, $s3, $zero
/* ECB3C8 802416C8 0C013809 */ jal func_8004E024
/* ECB3CC 802416CC 0280302D */ daddu $a2, $s4, $zero
/* ECB3D0 802416D0 080905D2 */ j .L80241748_ECB448
/* ECB3D4 802416D4 00000000 */ nop
.L802416D8_ECB3D8:
/* ECB3D8 802416D8 02A0202D */ daddu $a0, $s5, $zero
/* ECB3DC 802416DC 0260282D */ daddu $a1, $s3, $zero
/* ECB3E0 802416E0 0C013897 */ jal func_8004E25C
/* ECB3E4 802416E4 0280302D */ daddu $a2, $s4, $zero
.L802416E8_ECB3E8:
/* ECB3E8 802416E8 02A0202D */ daddu $a0, $s5, $zero
/* ECB3EC 802416EC 0260282D */ daddu $a1, $s3, $zero
/* ECB3F0 802416F0 0C0138BB */ jal func_8004E2EC
/* ECB3F4 802416F4 0280302D */ daddu $a2, $s4, $zero
/* ECB3F8 802416F8 080905D2 */ j .L80241748_ECB448
/* ECB3FC 802416FC 00000000 */ nop
.L80241700_ECB400:
/* ECB400 80241700 02A0202D */ daddu $a0, $s5, $zero
/* ECB404 80241704 0260282D */ daddu $a1, $s3, $zero
/* ECB408 80241708 0C090360 */ jal func_80240D80_ECAA80
/* ECB40C 8024170C 0280302D */ daddu $a2, $s4, $zero
.L80241710_ECB410:
/* ECB410 80241710 02A0202D */ daddu $a0, $s5, $zero
/* ECB414 80241714 0260282D */ daddu $a1, $s3, $zero
/* ECB418 80241718 0C0904D9 */ jal func_80241364_ECB064
/* ECB41C 8024171C 0280302D */ daddu $a2, $s4, $zero
/* ECB420 80241720 080905D2 */ j .L80241748_ECB448
/* ECB424 80241724 00000000 */ nop
.L80241728_ECB428:
/* ECB428 80241728 02A0202D */ daddu $a0, $s5, $zero
/* ECB42C 8024172C 0260282D */ daddu $a1, $s3, $zero
/* ECB430 80241730 0C090532 */ jal func_802414C8_ECB1C8
/* ECB434 80241734 0280302D */ daddu $a2, $s4, $zero
/* ECB438 80241738 080905D2 */ j .L80241748_ECB448
/* ECB43C 8024173C 00000000 */ nop
.L80241740_ECB440:
/* ECB440 80241740 0C013AE3 */ jal func_8004EB8C
/* ECB444 80241744 02A0202D */ daddu $a0, $s5, $zero
.L80241748_ECB448:
/* ECB448 80241748 8FBF0048 */ lw $ra, 0x48($sp)
/* ECB44C 8024174C 8FB50044 */ lw $s5, 0x44($sp)
/* ECB450 80241750 8FB40040 */ lw $s4, 0x40($sp)
/* ECB454 80241754 8FB3003C */ lw $s3, 0x3c($sp)
/* ECB458 80241758 8FB20038 */ lw $s2, 0x38($sp)
/* ECB45C 8024175C 8FB10034 */ lw $s1, 0x34($sp)
/* ECB460 80241760 8FB00030 */ lw $s0, 0x30($sp)
/* ECB464 80241764 0000102D */ daddu $v0, $zero, $zero
/* ECB468 80241768 03E00008 */ jr $ra
/* ECB46C 8024176C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,320 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_80245410_EF7A20
.word .L80242968_EF4F78, .L80242974_EF4F84, .L80242974_EF4F84, .L80242974_EF4F84, .L80242974_EF4F84, .L80242974_EF4F84, .L80242974_EF4F84, .L80242974_EF4F84, .L80242968_EF4F78, .L80242974_EF4F84, .L80242968_EF4F78, .L80242974_EF4F84, .L80242968_EF4F78, .L80242974_EF4F84, .L80242968_EF4F78, .L80242974_EF4F84, .L80242974_EF4F84, .L80242974_EF4F84, .L80242968_EF4F78, .L80242974_EF4F84, .L80242968_EF4F78, 0
.section .text
glabel func_80242530_EF4B40
/* EF4B40 80242530 27BDFF90 */ addiu $sp, $sp, -0x70
/* EF4B44 80242534 AFB3005C */ sw $s3, 0x5c($sp)
/* EF4B48 80242538 0080982D */ daddu $s3, $a0, $zero
/* EF4B4C 8024253C AFBF0068 */ sw $ra, 0x68($sp)
/* EF4B50 80242540 AFB50064 */ sw $s5, 0x64($sp)
/* EF4B54 80242544 AFB40060 */ sw $s4, 0x60($sp)
/* EF4B58 80242548 AFB20058 */ sw $s2, 0x58($sp)
/* EF4B5C 8024254C AFB10054 */ sw $s1, 0x54($sp)
/* EF4B60 80242550 AFB00050 */ sw $s0, 0x50($sp)
/* EF4B64 80242554 8E710148 */ lw $s1, 0x148($s3)
/* EF4B68 80242558 86240008 */ lh $a0, 8($s1)
/* EF4B6C 8024255C 0C00F92F */ jal dead_get_npc_unsafe
/* EF4B70 80242560 00A0802D */ daddu $s0, $a1, $zero
/* EF4B74 80242564 8E63000C */ lw $v1, 0xc($s3)
/* EF4B78 80242568 0260202D */ daddu $a0, $s3, $zero
/* EF4B7C 8024256C 8C650000 */ lw $a1, ($v1)
/* EF4B80 80242570 0C0B53A3 */ jal dead_evt_get_variable
/* EF4B84 80242574 0040902D */ daddu $s2, $v0, $zero
/* EF4B88 80242578 AFA00028 */ sw $zero, 0x28($sp)
/* EF4B8C 8024257C 8E2300D0 */ lw $v1, 0xd0($s1)
/* EF4B90 80242580 8C630030 */ lw $v1, 0x30($v1)
/* EF4B94 80242584 AFA3002C */ sw $v1, 0x2c($sp)
/* EF4B98 80242588 8E2300D0 */ lw $v1, 0xd0($s1)
/* EF4B9C 8024258C 8C63001C */ lw $v1, 0x1c($v1)
/* EF4BA0 80242590 AFA30030 */ sw $v1, 0x30($sp)
/* EF4BA4 80242594 8E2300D0 */ lw $v1, 0xd0($s1)
/* EF4BA8 80242598 8C630024 */ lw $v1, 0x24($v1)
/* EF4BAC 8024259C AFA30034 */ sw $v1, 0x34($sp)
/* EF4BB0 802425A0 8E2300D0 */ lw $v1, 0xd0($s1)
/* EF4BB4 802425A4 8C630028 */ lw $v1, 0x28($v1)
/* EF4BB8 802425A8 AFA30038 */ sw $v1, 0x38($sp)
/* EF4BBC 802425AC 8E2300D0 */ lw $v1, 0xd0($s1)
/* EF4BC0 802425B0 3C0142C8 */ lui $at, 0x42c8
/* EF4BC4 802425B4 44810000 */ mtc1 $at, $f0
/* EF4BC8 802425B8 8C63002C */ lw $v1, 0x2c($v1)
/* EF4BCC 802425BC E7A00040 */ swc1 $f0, 0x40($sp)
/* EF4BD0 802425C0 A7A00044 */ sh $zero, 0x44($sp)
/* EF4BD4 802425C4 AFA3003C */ sw $v1, 0x3c($sp)
/* EF4BD8 802425C8 C6400038 */ lwc1 $f0, 0x38($s2)
/* EF4BDC 802425CC E6200108 */ swc1 $f0, 0x108($s1)
/* EF4BE0 802425D0 C640003C */ lwc1 $f0, 0x3c($s2)
/* EF4BE4 802425D4 27B50028 */ addiu $s5, $sp, 0x28
/* EF4BE8 802425D8 E620010C */ swc1 $f0, 0x10c($s1)
/* EF4BEC 802425DC 3C013C23 */ lui $at, 0x3c23
/* EF4BF0 802425E0 3421D70A */ ori $at, $at, 0xd70a
/* EF4BF4 802425E4 44810000 */ mtc1 $at, $f0
/* EF4BF8 802425E8 C6420040 */ lwc1 $f2, 0x40($s2)
/* EF4BFC 802425EC 0040A02D */ daddu $s4, $v0, $zero
/* EF4C00 802425F0 E6200114 */ swc1 $f0, 0x114($s1)
/* EF4C04 802425F4 E6200118 */ swc1 $f0, 0x118($s1)
/* EF4C08 802425F8 12000009 */ beqz $s0, .L80242620
/* EF4C0C 802425FC E6220110 */ swc1 $f2, 0x110($s1)
/* EF4C10 80242600 864300A8 */ lh $v1, 0xa8($s2)
/* EF4C14 80242604 8E2200B0 */ lw $v0, 0xb0($s1)
/* EF4C18 80242608 AE20008C */ sw $zero, 0x8c($s1)
/* EF4C1C 8024260C A22000B5 */ sb $zero, 0xb5($s1)
/* EF4C20 80242610 34420008 */ ori $v0, $v0, 8
/* EF4C24 80242614 AE230084 */ sw $v1, 0x84($s1)
/* EF4C28 80242618 0809098C */ j .L80242630
/* EF4C2C 8024261C AE2200B0 */ sw $v0, 0xb0($s1)
.L80242620:
/* EF4C30 80242620 8E2200B0 */ lw $v0, 0xb0($s1)
/* EF4C34 80242624 30420004 */ andi $v0, $v0, 4
/* EF4C38 80242628 10400047 */ beqz $v0, .L80242748
/* EF4C3C 8024262C 00000000 */ nop
.L80242630:
/* EF4C40 80242630 AE600070 */ sw $zero, 0x70($s3)
/* EF4C44 80242634 A640008E */ sh $zero, 0x8e($s2)
/* EF4C48 80242638 8E2300CC */ lw $v1, 0xcc($s1)
/* EF4C4C 8024263C 2404F7FF */ addiu $a0, $zero, -0x801
/* EF4C50 80242640 A2200007 */ sb $zero, 7($s1)
/* EF4C54 80242644 8E420000 */ lw $v0, ($s2)
/* EF4C58 80242648 8C630000 */ lw $v1, ($v1)
/* EF4C5C 8024264C 00441024 */ and $v0, $v0, $a0
/* EF4C60 80242650 AE420000 */ sw $v0, ($s2)
/* EF4C64 80242654 AE430028 */ sw $v1, 0x28($s2)
/* EF4C68 80242658 96220086 */ lhu $v0, 0x86($s1)
/* EF4C6C 8024265C A64200A8 */ sh $v0, 0xa8($s2)
/* EF4C70 80242660 8E2200D0 */ lw $v0, 0xd0($s1)
/* EF4C74 80242664 AE200090 */ sw $zero, 0x90($s1)
/* EF4C78 80242668 8C420034 */ lw $v0, 0x34($v0)
/* EF4C7C 8024266C 14400006 */ bnez $v0, .L80242688
/* EF4C80 80242670 2403FDFF */ addiu $v1, $zero, -0x201
/* EF4C84 80242674 8E420000 */ lw $v0, ($s2)
/* EF4C88 80242678 2403FFF7 */ addiu $v1, $zero, -9
/* EF4C8C 8024267C 34420200 */ ori $v0, $v0, 0x200
/* EF4C90 80242680 080909A5 */ j .L80242694
/* EF4C94 80242684 00431024 */ and $v0, $v0, $v1
.L80242688:
/* EF4C98 80242688 8E420000 */ lw $v0, ($s2)
/* EF4C9C 8024268C 00431024 */ and $v0, $v0, $v1
/* EF4CA0 80242690 34420008 */ ori $v0, $v0, 8
.L80242694:
/* EF4CA4 80242694 AE420000 */ sw $v0, ($s2)
/* EF4CA8 80242698 8E2200B0 */ lw $v0, 0xb0($s1)
/* EF4CAC 8024269C 30420004 */ andi $v0, $v0, 4
/* EF4CB0 802426A0 1040001E */ beqz $v0, .L8024271C
/* EF4CB4 802426A4 24040002 */ addiu $a0, $zero, 2
/* EF4CB8 802426A8 0240282D */ daddu $a1, $s2, $zero
/* EF4CBC 802426AC 0000302D */ daddu $a2, $zero, $zero
/* EF4CC0 802426B0 24020063 */ addiu $v0, $zero, 0x63
/* EF4CC4 802426B4 AE620070 */ sw $v0, 0x70($s3)
/* EF4CC8 802426B8 AE600074 */ sw $zero, 0x74($s3)
/* EF4CCC 802426BC 864300A8 */ lh $v1, 0xa8($s2)
/* EF4CD0 802426C0 3C013F80 */ lui $at, 0x3f80
/* EF4CD4 802426C4 44810000 */ mtc1 $at, $f0
/* EF4CD8 802426C8 3C014000 */ lui $at, 0x4000
/* EF4CDC 802426CC 44811000 */ mtc1 $at, $f2
/* EF4CE0 802426D0 3C01C1A0 */ lui $at, 0xc1a0
/* EF4CE4 802426D4 44812000 */ mtc1 $at, $f4
/* EF4CE8 802426D8 24020028 */ addiu $v0, $zero, 0x28
/* EF4CEC 802426DC AFA2001C */ sw $v0, 0x1c($sp)
/* EF4CF0 802426E0 44833000 */ mtc1 $v1, $f6
/* EF4CF4 802426E4 00000000 */ nop
/* EF4CF8 802426E8 468031A0 */ cvt.s.w $f6, $f6
/* EF4CFC 802426EC 44073000 */ mfc1 $a3, $f6
/* EF4D00 802426F0 27A20048 */ addiu $v0, $sp, 0x48
/* EF4D04 802426F4 AFA20020 */ sw $v0, 0x20($sp)
/* EF4D08 802426F8 E7A00010 */ swc1 $f0, 0x10($sp)
/* EF4D0C 802426FC E7A20014 */ swc1 $f2, 0x14($sp)
/* EF4D10 80242700 0C01D444 */ jal dead_fx_emote
/* EF4D14 80242704 E7A40018 */ swc1 $f4, 0x18($sp)
/* EF4D18 80242708 8E2200B0 */ lw $v0, 0xb0($s1)
/* EF4D1C 8024270C 2403FFFB */ addiu $v1, $zero, -5
/* EF4D20 80242710 00431024 */ and $v0, $v0, $v1
/* EF4D24 80242714 080909D2 */ j .L80242748
/* EF4D28 80242718 AE2200B0 */ sw $v0, 0xb0($s1)
.L8024271C:
/* EF4D2C 8024271C 8E220000 */ lw $v0, ($s1)
/* EF4D30 80242720 3C034000 */ lui $v1, 0x4000
/* EF4D34 80242724 00431024 */ and $v0, $v0, $v1
/* EF4D38 80242728 10400007 */ beqz $v0, .L80242748
/* EF4D3C 8024272C 3C03BFFF */ lui $v1, 0xbfff
/* EF4D40 80242730 2402000C */ addiu $v0, $zero, 0xc
/* EF4D44 80242734 AE620070 */ sw $v0, 0x70($s3)
/* EF4D48 80242738 8E220000 */ lw $v0, ($s1)
/* EF4D4C 8024273C 3463FFFF */ ori $v1, $v1, 0xffff
/* EF4D50 80242740 00431024 */ and $v0, $v0, $v1
/* EF4D54 80242744 AE220000 */ sw $v0, ($s1)
.L80242748:
/* EF4D58 80242748 8E220090 */ lw $v0, 0x90($s1)
/* EF4D5C 8024274C 1840000C */ blez $v0, .L80242780
/* EF4D60 80242750 2442FFFF */ addiu $v0, $v0, -1
/* EF4D64 80242754 14400087 */ bnez $v0, .L80242974_EF4F84
/* EF4D68 80242758 AE220090 */ sw $v0, 0x90($s1)
/* EF4D6C 8024275C 3C03FFAA */ lui $v1, 0xffaa
/* EF4D70 80242760 8E420028 */ lw $v0, 0x28($s2)
/* EF4D74 80242764 3463FFD2 */ ori $v1, $v1, 0xffd2
/* EF4D78 80242768 00431021 */ addu $v0, $v0, $v1
/* EF4D7C 8024276C 2C420002 */ sltiu $v0, $v0, 2
/* EF4D80 80242770 10400003 */ beqz $v0, .L80242780
/* EF4D84 80242774 3C020055 */ lui $v0, 0x55
/* EF4D88 80242778 3442000C */ ori $v0, $v0, 0xc
/* EF4D8C 8024277C AE420028 */ sw $v0, 0x28($s2)
.L80242780:
/* EF4D90 80242780 8E630070 */ lw $v1, 0x70($s3)
/* EF4D94 80242784 2402000C */ addiu $v0, $zero, 0xc
/* EF4D98 80242788 10620048 */ beq $v1, $v0, .L802428AC
/* EF4D9C 8024278C 2862000D */ slti $v0, $v1, 0xd
/* EF4DA0 80242790 1040000F */ beqz $v0, .L802427D0
/* EF4DA4 80242794 24100001 */ addiu $s0, $zero, 1
/* EF4DA8 80242798 1070001E */ beq $v1, $s0, .L80242814
/* EF4DAC 8024279C 28620002 */ slti $v0, $v1, 2
/* EF4DB0 802427A0 10400005 */ beqz $v0, .L802427B8
/* EF4DB4 802427A4 24020002 */ addiu $v0, $zero, 2
/* EF4DB8 802427A8 10600015 */ beqz $v1, .L80242800
/* EF4DBC 802427AC 0260202D */ daddu $a0, $s3, $zero
/* EF4DC0 802427B0 08090A42 */ j .L80242908
/* EF4DC4 802427B4 00000000 */ nop
.L802427B8:
/* EF4DC8 802427B8 1062001C */ beq $v1, $v0, .L8024282C
/* EF4DCC 802427BC 24020003 */ addiu $v0, $zero, 3
/* EF4DD0 802427C0 10620035 */ beq $v1, $v0, .L80242898
/* EF4DD4 802427C4 0260202D */ daddu $a0, $s3, $zero
/* EF4DD8 802427C8 08090A42 */ j .L80242908
/* EF4DDC 802427CC 00000000 */ nop
.L802427D0:
/* EF4DE0 802427D0 2402000E */ addiu $v0, $zero, 0xe
/* EF4DE4 802427D4 1062003F */ beq $v1, $v0, .L802428D4
/* EF4DE8 802427D8 0062102A */ slt $v0, $v1, $v0
/* EF4DEC 802427DC 14400038 */ bnez $v0, .L802428C0
/* EF4DF0 802427E0 0260202D */ daddu $a0, $s3, $zero
/* EF4DF4 802427E4 2402000F */ addiu $v0, $zero, 0xf
/* EF4DF8 802427E8 10620040 */ beq $v1, $v0, .L802428EC
/* EF4DFC 802427EC 24020063 */ addiu $v0, $zero, 0x63
/* EF4E00 802427F0 10620043 */ beq $v1, $v0, .L80242900
/* EF4E04 802427F4 00000000 */ nop
/* EF4E08 802427F8 08090A42 */ j .L80242908
/* EF4E0C 802427FC 00000000 */ nop
.L80242800:
/* EF4E10 80242800 0280282D */ daddu $a1, $s4, $zero
/* EF4E14 80242804 0C013670 */ jal func_8004D9C0
/* EF4E18 80242808 02A0302D */ daddu $a2, $s5, $zero
/* EF4E1C 8024280C 96220086 */ lhu $v0, 0x86($s1)
/* EF4E20 80242810 A64200A8 */ sh $v0, 0xa8($s2)
.L80242814:
/* EF4E24 80242814 0260202D */ daddu $a0, $s3, $zero
/* EF4E28 80242818 0280282D */ daddu $a1, $s4, $zero
/* EF4E2C 8024281C 0C0136B6 */ jal func_8004DAD8
/* EF4E30 80242820 02A0302D */ daddu $a2, $s5, $zero
/* EF4E34 80242824 08090A42 */ j .L80242908
/* EF4E38 80242828 00000000 */ nop
.L8024282C:
/* EF4E3C 8024282C 0260202D */ daddu $a0, $s3, $zero
/* EF4E40 80242830 0280282D */ daddu $a1, $s4, $zero
/* EF4E44 80242834 0C0137D9 */ jal func_8004DF64
/* EF4E48 80242838 02A0302D */ daddu $a2, $s5, $zero
/* EF4E4C 8024283C 8E230088 */ lw $v1, 0x88($s1)
/* EF4E50 80242840 24020006 */ addiu $v0, $zero, 6
/* EF4E54 80242844 14620014 */ bne $v1, $v0, .L80242898
/* EF4E58 80242848 0260202D */ daddu $a0, $s3, $zero
/* EF4E5C 8024284C 0C00AB3B */ jal dead_rand_int
/* EF4E60 80242850 24040064 */ addiu $a0, $zero, 0x64
/* EF4E64 80242854 28420021 */ slti $v0, $v0, 0x21
/* EF4E68 80242858 5040000F */ beql $v0, $zero, .L80242898
/* EF4E6C 8024285C 0260202D */ daddu $a0, $s3, $zero
/* EF4E70 80242860 8E22008C */ lw $v0, 0x8c($s1)
/* EF4E74 80242864 10400005 */ beqz $v0, .L8024287C
/* EF4E78 80242868 3C020055 */ lui $v0, 0x55
/* EF4E7C 8024286C 3442002F */ ori $v0, $v0, 0x2f
/* EF4E80 80242870 AE20008C */ sw $zero, 0x8c($s1)
/* EF4E84 80242874 08090A22 */ j .L80242888
/* EF4E88 80242878 A22000B5 */ sb $zero, 0xb5($s1)
.L8024287C:
/* EF4E8C 8024287C 3442002E */ ori $v0, $v0, 0x2e
/* EF4E90 80242880 AE30008C */ sw $s0, 0x8c($s1)
/* EF4E94 80242884 A23000B5 */ sb $s0, 0xb5($s1)
.L80242888:
/* EF4E98 80242888 AE420028 */ sw $v0, 0x28($s2)
/* EF4E9C 8024288C 24020007 */ addiu $v0, $zero, 7
/* EF4EA0 80242890 08090A5D */ j .L80242974_EF4F84
/* EF4EA4 80242894 AE220090 */ sw $v0, 0x90($s1)
.L80242898:
/* EF4EA8 80242898 0280282D */ daddu $a1, $s4, $zero
/* EF4EAC 8024289C 0C013809 */ jal func_8004E024
/* EF4EB0 802428A0 02A0302D */ daddu $a2, $s5, $zero
/* EF4EB4 802428A4 08090A42 */ j .L80242908
/* EF4EB8 802428A8 00000000 */ nop
.L802428AC:
/* EF4EBC 802428AC 0260202D */ daddu $a0, $s3, $zero
/* EF4EC0 802428B0 0280282D */ daddu $a1, $s4, $zero
/* EF4EC4 802428B4 0C090867 */ jal EF2680_set_script_owner_npc_anim
/* EF4EC8 802428B8 02A0302D */ daddu $a2, $s5, $zero
/* EF4ECC 802428BC 0260202D */ daddu $a0, $s3, $zero
.L802428C0:
/* EF4ED0 802428C0 0280282D */ daddu $a1, $s4, $zero
/* EF4ED4 802428C4 0C090886 */ jal EF2680_UnkDistFunc
/* EF4ED8 802428C8 02A0302D */ daddu $a2, $s5, $zero
/* EF4EDC 802428CC 08090A42 */ j .L80242908
/* EF4EE0 802428D0 00000000 */ nop
.L802428D4:
/* EF4EE4 802428D4 0260202D */ daddu $a0, $s3, $zero
/* EF4EE8 802428D8 0280282D */ daddu $a1, $s4, $zero
/* EF4EEC 802428DC 0C0908D3 */ jal EF2680_UnkNpcAIFunc12
/* EF4EF0 802428E0 02A0302D */ daddu $a2, $s5, $zero
/* EF4EF4 802428E4 08090A42 */ j .L80242908
/* EF4EF8 802428E8 00000000 */ nop
.L802428EC:
/* EF4EFC 802428EC 0280282D */ daddu $a1, $s4, $zero
/* EF4F00 802428F0 0C09092C */ jal EF2680_set_script_owner_npc_col_height
/* EF4F04 802428F4 02A0302D */ daddu $a2, $s5, $zero
/* EF4F08 802428F8 08090A42 */ j .L80242908
/* EF4F0C 802428FC 00000000 */ nop
.L80242900:
/* EF4F10 80242900 0C013AE3 */ jal func_8004EB8C
/* EF4F14 80242904 0260202D */ daddu $a0, $s3, $zero
.L80242908:
/* EF4F18 80242908 8E230088 */ lw $v1, 0x88($s1)
/* EF4F1C 8024290C 24020006 */ addiu $v0, $zero, 6
/* EF4F20 80242910 14620019 */ bne $v1, $v0, .L80242978
/* EF4F24 80242914 0000102D */ daddu $v0, $zero, $zero
/* EF4F28 80242918 8E22008C */ lw $v0, 0x8c($s1)
/* EF4F2C 8024291C 10400003 */ beqz $v0, .L8024292C
/* EF4F30 80242920 24020001 */ addiu $v0, $zero, 1
/* EF4F34 80242924 08090A4C */ j .L80242930
/* EF4F38 80242928 A22200B5 */ sb $v0, 0xb5($s1)
.L8024292C:
/* EF4F3C 8024292C A22000B5 */ sb $zero, 0xb5($s1)
.L80242930:
/* EF4F40 80242930 8E22008C */ lw $v0, 0x8c($s1)
/* EF4F44 80242934 1040000F */ beqz $v0, .L80242974_EF4F84
/* EF4F48 80242938 3C03FFAA */ lui $v1, 0xffaa
/* EF4F4C 8024293C 8E420028 */ lw $v0, 0x28($s2)
/* EF4F50 80242940 3463FFFC */ ori $v1, $v1, 0xfffc
/* EF4F54 80242944 00431821 */ addu $v1, $v0, $v1
/* EF4F58 80242948 2C620015 */ sltiu $v0, $v1, 0x15
/* EF4F5C 8024294C 10400009 */ beqz $v0, .L80242974_EF4F84
/* EF4F60 80242950 00031080 */ sll $v0, $v1, 2
/* EF4F64 80242954 3C018024 */ lui $at, %hi(jtbl_80245410_EF7A20)
/* EF4F68 80242958 00220821 */ addu $at, $at, $v0
/* EF4F6C 8024295C 8C225410 */ lw $v0, %lo(jtbl_80245410_EF7A20)($at)
/* EF4F70 80242960 00400008 */ jr $v0
/* EF4F74 80242964 00000000 */ nop
.L80242968_EF4F78:
/* EF4F78 80242968 8E420028 */ lw $v0, 0x28($s2)
/* EF4F7C 8024296C 24420001 */ addiu $v0, $v0, 1
/* EF4F80 80242970 AE420028 */ sw $v0, 0x28($s2)
.L80242974_EF4F84:
/* EF4F84 80242974 0000102D */ daddu $v0, $zero, $zero
.L80242978:
/* EF4F88 80242978 8FBF0068 */ lw $ra, 0x68($sp)
/* EF4F8C 8024297C 8FB50064 */ lw $s5, 0x64($sp)
/* EF4F90 80242980 8FB40060 */ lw $s4, 0x60($sp)
/* EF4F94 80242984 8FB3005C */ lw $s3, 0x5c($sp)
/* EF4F98 80242988 8FB20058 */ lw $s2, 0x58($sp)
/* EF4F9C 8024298C 8FB10054 */ lw $s1, 0x54($sp)
/* EF4FA0 80242990 8FB00050 */ lw $s0, 0x50($sp)
/* EF4FA4 80242994 03E00008 */ jr $ra
/* EF4FA8 80242998 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_802473D8_C680E8
.double 380.0
dlabel D_802473E0_C680F0
.double -380.0
dlabel D_802473E8_C680F8
.double 305.0
dlabel D_802473F0_C68100
.double 375.0
dlabel D_802473F8_C68108
.double 45.0
dlabel D_80247400_C68110
.double 150.0, 0.0
.section .text
glabel func_80241630_C62340
/* C62340 80241630 27BDFF80 */ addiu $sp, $sp, -0x80
/* C62344 80241634 AFBF0064 */ sw $ra, 0x64($sp)
/* C62348 80241638 AFBE0060 */ sw $fp, 0x60($sp)
/* C6234C 8024163C AFB7005C */ sw $s7, 0x5c($sp)
/* C62350 80241640 AFB60058 */ sw $s6, 0x58($sp)
/* C62354 80241644 AFB50054 */ sw $s5, 0x54($sp)
/* C62358 80241648 AFB40050 */ sw $s4, 0x50($sp)
/* C6235C 8024164C AFB3004C */ sw $s3, 0x4c($sp)
/* C62360 80241650 AFB20048 */ sw $s2, 0x48($sp)
/* C62364 80241654 AFB10044 */ sw $s1, 0x44($sp)
/* C62368 80241658 AFB00040 */ sw $s0, 0x40($sp)
/* C6236C 8024165C F7B80078 */ sdc1 $f24, 0x78($sp)
/* C62370 80241660 F7B60070 */ sdc1 $f22, 0x70($sp)
/* C62374 80241664 F7B40068 */ sdc1 $f20, 0x68($sp)
/* C62378 80241668 AFA40080 */ sw $a0, 0x80($sp)
/* C6237C 8024166C 8C960148 */ lw $s6, 0x148($a0)
/* C62380 80241670 00C0902D */ daddu $s2, $a2, $zero
/* C62384 80241674 86C40008 */ lh $a0, 8($s6)
/* C62388 80241678 0C00EABB */ jal get_npc_unsafe
/* C6238C 8024167C 0000B82D */ daddu $s7, $zero, $zero
/* C62390 80241680 0040882D */ daddu $s1, $v0, $zero
/* C62394 80241684 9622008E */ lhu $v0, 0x8e($s1)
/* C62398 80241688 2442FFFF */ addiu $v0, $v0, -1
/* C6239C 8024168C A622008E */ sh $v0, 0x8e($s1)
/* C623A0 80241690 00021400 */ sll $v0, $v0, 0x10
/* C623A4 80241694 8EC30090 */ lw $v1, 0x90($s6)
/* C623A8 80241698 00021403 */ sra $v0, $v0, 0x10
/* C623AC 8024169C 0062182A */ slt $v1, $v1, $v0
/* C623B0 802416A0 14600005 */ bnez $v1, .L802416B8
/* C623B4 802416A4 02E0F02D */ daddu $fp, $s7, $zero
/* C623B8 802416A8 8EC20000 */ lw $v0, ($s6)
/* C623BC 802416AC 3C031F10 */ lui $v1, 0x1f10
/* C623C0 802416B0 00431025 */ or $v0, $v0, $v1
/* C623C4 802416B4 AEC20000 */ sw $v0, ($s6)
.L802416B8:
/* C623C8 802416B8 8622008E */ lh $v0, 0x8e($s1)
/* C623CC 802416BC 1440025D */ bnez $v0, .L80242034
/* C623D0 802416C0 00000000 */ nop
/* C623D4 802416C4 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C623D8 802416C8 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C623DC 802416CC 0C00A6C9 */ jal clamp_angle
/* C623E0 802416D0 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* C623E4 802416D4 3C014334 */ lui $at, 0x4334
/* C623E8 802416D8 44811000 */ mtc1 $at, $f2
/* C623EC 802416DC 00000000 */ nop
/* C623F0 802416E0 4602003C */ c.lt.s $f0, $f2
/* C623F4 802416E4 00000000 */ nop
/* C623F8 802416E8 45000011 */ bc1f .L80241730
/* C623FC 802416EC 00000000 */ nop
/* C62400 802416F0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* C62404 802416F4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* C62408 802416F8 3C0142B4 */ lui $at, 0x42b4
/* C6240C 802416FC 44816000 */ mtc1 $at, $f12
/* C62410 80241700 00031080 */ sll $v0, $v1, 2
/* C62414 80241704 00431021 */ addu $v0, $v0, $v1
/* C62418 80241708 00021080 */ sll $v0, $v0, 2
/* C6241C 8024170C 00431023 */ subu $v0, $v0, $v1
/* C62420 80241710 000218C0 */ sll $v1, $v0, 3
/* C62424 80241714 00431021 */ addu $v0, $v0, $v1
/* C62428 80241718 000210C0 */ sll $v0, $v0, 3
/* C6242C 8024171C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* C62430 80241720 00220821 */ addu $at, $at, $v0
/* C62434 80241724 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* C62438 80241728 080905DB */ j .L8024176C
/* C6243C 8024172C 460C0301 */ sub.s $f12, $f0, $f12
.L80241730:
/* C62440 80241730 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* C62444 80241734 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* C62448 80241738 3C0142B4 */ lui $at, 0x42b4
/* C6244C 8024173C 44816000 */ mtc1 $at, $f12
/* C62450 80241740 00031080 */ sll $v0, $v1, 2
/* C62454 80241744 00431021 */ addu $v0, $v0, $v1
/* C62458 80241748 00021080 */ sll $v0, $v0, 2
/* C6245C 8024174C 00431023 */ subu $v0, $v0, $v1
/* C62460 80241750 000218C0 */ sll $v1, $v0, 3
/* C62464 80241754 00431021 */ addu $v0, $v0, $v1
/* C62468 80241758 000210C0 */ sll $v0, $v0, 3
/* C6246C 8024175C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* C62470 80241760 00220821 */ addu $at, $at, $v0
/* C62474 80241764 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* C62478 80241768 460C0300 */ add.s $f12, $f0, $f12
.L8024176C:
/* C6247C 8024176C 0C00A6C9 */ jal clamp_angle
/* C62480 80241770 00000000 */ nop
/* C62484 80241774 46000586 */ mov.s $f22, $f0
/* C62488 80241778 3C014334 */ lui $at, 0x4334
/* C6248C 8024177C 44816000 */ mtc1 $at, $f12
/* C62490 80241780 0C00A6C9 */ jal clamp_angle
/* C62494 80241784 460CB300 */ add.s $f12, $f22, $f12
/* C62498 80241788 8EC20088 */ lw $v0, 0x88($s6)
/* C6249C 8024178C 14400010 */ bnez $v0, .L802417D0
/* C624A0 80241790 46000606 */ mov.s $f24, $f0
/* C624A4 80241794 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C624A8 80241798 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C624AC 8024179C 804300B4 */ lb $v1, 0xb4($v0)
/* C624B0 802417A0 3C014200 */ lui $at, 0x4200
/* C624B4 802417A4 4481A000 */ mtc1 $at, $f20
/* C624B8 802417A8 10600016 */ beqz $v1, .L80241804
/* C624BC 802417AC 24020001 */ addiu $v0, $zero, 1
/* C624C0 802417B0 3C0142C8 */ lui $at, 0x42c8
/* C624C4 802417B4 4481A000 */ mtc1 $at, $f20
/* C624C8 802417B8 14620013 */ bne $v1, $v0, .L80241808
/* C624CC 802417BC 26300038 */ addiu $s0, $s1, 0x38
/* C624D0 802417C0 3C0142B4 */ lui $at, 0x42b4
/* C624D4 802417C4 4481A000 */ mtc1 $at, $f20
/* C624D8 802417C8 08090603 */ j .L8024180C
/* C624DC 802417CC 0200202D */ daddu $a0, $s0, $zero
.L802417D0:
/* C624E0 802417D0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C624E4 802417D4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C624E8 802417D8 804300B4 */ lb $v1, 0xb4($v0)
/* C624EC 802417DC 3C014218 */ lui $at, 0x4218
/* C624F0 802417E0 4481A000 */ mtc1 $at, $f20
/* C624F4 802417E4 10600007 */ beqz $v1, .L80241804
/* C624F8 802417E8 24020001 */ addiu $v0, $zero, 1
/* C624FC 802417EC 3C0142B4 */ lui $at, 0x42b4
/* C62500 802417F0 4481A000 */ mtc1 $at, $f20
/* C62504 802417F4 14620004 */ bne $v1, $v0, .L80241808
/* C62508 802417F8 26300038 */ addiu $s0, $s1, 0x38
/* C6250C 802417FC 3C014296 */ lui $at, 0x4296
/* C62510 80241800 4481A000 */ mtc1 $at, $f20
.L80241804:
/* C62514 80241804 26300038 */ addiu $s0, $s1, 0x38
.L80241808:
/* C62518 80241808 0200202D */ daddu $a0, $s0, $zero
.L8024180C:
/* C6251C 8024180C 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* C62520 80241810 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* C62524 80241814 4407C000 */ mfc1 $a3, $f24
/* C62528 80241818 862200A6 */ lh $v0, 0xa6($s1)
/* C6252C 8024181C 8EA30000 */ lw $v1, ($s5)
/* C62530 80241820 44824000 */ mtc1 $v0, $f8
/* C62534 80241824 00000000 */ nop
/* C62538 80241828 46804220 */ cvt.s.w $f8, $f8
/* C6253C 8024182C C4600028 */ lwc1 $f0, 0x28($v1)
/* C62540 80241830 44064000 */ mfc1 $a2, $f8
/* C62544 80241834 26330040 */ addiu $s3, $s1, 0x40
/* C62548 80241838 E6200038 */ swc1 $f0, 0x38($s1)
/* C6254C 8024183C C4600030 */ lwc1 $f0, 0x30($v1)
/* C62550 80241840 0260282D */ daddu $a1, $s3, $zero
/* C62554 80241844 0C00A7E7 */ jal add_vec2D_polar
/* C62558 80241848 E6200040 */ swc1 $f0, 0x40($s1)
/* C6255C 8024184C 862200A6 */ lh $v0, 0xa6($s1)
/* C62560 80241850 44820000 */ mtc1 $v0, $f0
/* C62564 80241854 00000000 */ nop
/* C62568 80241858 46800020 */ cvt.s.w $f0, $f0
/* C6256C 8024185C 4600A000 */ add.s $f0, $f20, $f0
/* C62570 80241860 4406B000 */ mfc1 $a2, $f22
/* C62574 80241864 44050000 */ mfc1 $a1, $f0
/* C62578 80241868 0C00EA95 */ jal npc_move_heading
/* C6257C 8024186C 0220202D */ daddu $a0, $s1, $zero
/* C62580 80241870 8EC20088 */ lw $v0, 0x88($s6)
/* C62584 80241874 1440005D */ bnez $v0, .L802419EC
/* C62588 80241878 00000000 */ nop
/* C6258C 8024187C C6200038 */ lwc1 $f0, 0x38($s1)
/* C62590 80241880 3C018024 */ lui $at, %hi(D_802473D8_C680E8)
/* C62594 80241884 D42473D8 */ ldc1 $f4, %lo(D_802473D8_C680E8)($at)
/* C62598 80241888 46000021 */ cvt.d.s $f0, $f0
/* C6259C 8024188C 4620203C */ c.lt.d $f4, $f0
/* C625A0 80241890 00000000 */ nop
/* C625A4 80241894 45000005 */ bc1f .L802418AC
/* C625A8 80241898 00000000 */ nop
/* C625AC 8024189C 3C0143BE */ lui $at, 0x43be
/* C625B0 802418A0 44810000 */ mtc1 $at, $f0
/* C625B4 802418A4 00000000 */ nop
/* C625B8 802418A8 E6200038 */ swc1 $f0, 0x38($s1)
.L802418AC:
/* C625BC 802418AC C6200038 */ lwc1 $f0, 0x38($s1)
/* C625C0 802418B0 3C018024 */ lui $at, %hi(D_802473E0_C680F0)
/* C625C4 802418B4 D42273E0 */ ldc1 $f2, %lo(D_802473E0_C680F0)($at)
/* C625C8 802418B8 46000021 */ cvt.d.s $f0, $f0
/* C625CC 802418BC 4622003C */ c.lt.d $f0, $f2
/* C625D0 802418C0 00000000 */ nop
/* C625D4 802418C4 45000005 */ bc1f .L802418DC
/* C625D8 802418C8 00000000 */ nop
/* C625DC 802418CC 3C01C3BE */ lui $at, 0xc3be
/* C625E0 802418D0 44810000 */ mtc1 $at, $f0
/* C625E4 802418D4 00000000 */ nop
/* C625E8 802418D8 E6200038 */ swc1 $f0, 0x38($s1)
.L802418DC:
/* C625EC 802418DC C6200040 */ lwc1 $f0, 0x40($s1)
/* C625F0 802418E0 46000021 */ cvt.d.s $f0, $f0
/* C625F4 802418E4 4620203C */ c.lt.d $f4, $f0
/* C625F8 802418E8 00000000 */ nop
/* C625FC 802418EC 45000005 */ bc1f .L80241904
/* C62600 802418F0 00000000 */ nop
/* C62604 802418F4 3C0143BE */ lui $at, 0x43be
/* C62608 802418F8 44810000 */ mtc1 $at, $f0
/* C6260C 802418FC 00000000 */ nop
/* C62610 80241900 E6200040 */ swc1 $f0, 0x40($s1)
.L80241904:
/* C62614 80241904 C6200040 */ lwc1 $f0, 0x40($s1)
/* C62618 80241908 46000021 */ cvt.d.s $f0, $f0
/* C6261C 8024190C 4622003C */ c.lt.d $f0, $f2
/* C62620 80241910 00000000 */ nop
/* C62624 80241914 45000005 */ bc1f .L8024192C
/* C62628 80241918 00000000 */ nop
/* C6262C 8024191C 3C01C3BE */ lui $at, 0xc3be
/* C62630 80241920 44810000 */ mtc1 $at, $f0
/* C62634 80241924 00000000 */ nop
/* C62638 80241928 E6200040 */ swc1 $f0, 0x40($s1)
.L8024192C:
/* C6263C 8024192C C6220038 */ lwc1 $f2, 0x38($s1)
/* C62640 80241930 46021082 */ mul.s $f2, $f2, $f2
/* C62644 80241934 00000000 */ nop
/* C62648 80241938 C6200040 */ lwc1 $f0, 0x40($s1)
/* C6264C 8024193C 46000002 */ mul.s $f0, $f0, $f0
/* C62650 80241940 00000000 */ nop
/* C62654 80241944 46001300 */ add.s $f12, $f2, $f0
/* C62658 80241948 46006004 */ sqrt.s $f0, $f12
/* C6265C 8024194C 46000032 */ c.eq.s $f0, $f0
/* C62660 80241950 00000000 */ nop
/* C62664 80241954 45010003 */ bc1t .L80241964
/* C62668 80241958 00000000 */ nop
/* C6266C 8024195C 0C0187BC */ jal sqrtf
/* C62670 80241960 00000000 */ nop
.L80241964:
/* C62674 80241964 8E260038 */ lw $a2, 0x38($s1)
/* C62678 80241968 8E270040 */ lw $a3, 0x40($s1)
/* C6267C 8024196C 4480A000 */ mtc1 $zero, $f20
/* C62680 80241970 E7A00038 */ swc1 $f0, 0x38($sp)
/* C62684 80241974 4600A306 */ mov.s $f12, $f20
/* C62688 80241978 0C00A720 */ jal atan2
/* C6268C 8024197C 4600A386 */ mov.s $f14, $f20
/* C62690 80241980 46000586 */ mov.s $f22, $f0
/* C62694 80241984 C7A20038 */ lwc1 $f2, 0x38($sp)
/* C62698 80241988 3C018024 */ lui $at, %hi(D_802473E8_C680F8)
/* C6269C 8024198C D42073E8 */ ldc1 $f0, %lo(D_802473E8_C680F8)($at)
/* C626A0 80241990 460010A1 */ cvt.d.s $f2, $f2
/* C626A4 80241994 4620103C */ c.lt.d $f2, $f0
/* C626A8 80241998 00000000 */ nop
/* C626AC 8024199C 45000004 */ bc1f .L802419B0
/* C626B0 802419A0 0200202D */ daddu $a0, $s0, $zero
/* C626B4 802419A4 3C064398 */ lui $a2, 0x4398
/* C626B8 802419A8 08090674 */ j .L802419D0
/* C626BC 802419AC 34C68000 */ ori $a2, $a2, 0x8000
.L802419B0:
/* C626C0 802419B0 3C018024 */ lui $at, %hi(D_802473F0_C68100)
/* C626C4 802419B4 D42073F0 */ ldc1 $f0, %lo(D_802473F0_C68100)($at)
/* C626C8 802419B8 4622003C */ c.lt.d $f0, $f2
/* C626CC 802419BC 00000000 */ nop
/* C626D0 802419C0 450000FA */ bc1f .L80241DAC
/* C626D4 802419C4 00000000 */ nop
/* C626D8 802419C8 3C0643BB */ lui $a2, 0x43bb
/* C626DC 802419CC 34C68000 */ ori $a2, $a2, 0x8000
.L802419D0:
/* C626E0 802419D0 4407B000 */ mfc1 $a3, $f22
/* C626E4 802419D4 0260282D */ daddu $a1, $s3, $zero
/* C626E8 802419D8 E6340038 */ swc1 $f20, 0x38($s1)
/* C626EC 802419DC 0C00A7E7 */ jal add_vec2D_polar
/* C626F0 802419E0 E6340040 */ swc1 $f20, 0x40($s1)
/* C626F4 802419E4 0809076B */ j .L80241DAC
/* C626F8 802419E8 00000000 */ nop
.L802419EC:
/* C626FC 802419EC 8E220000 */ lw $v0, ($s1)
/* C62700 802419F0 30420040 */ andi $v0, $v0, 0x40
/* C62704 802419F4 144000B0 */ bnez $v0, .L80241CB8
/* C62708 802419F8 27A50020 */ addiu $a1, $sp, 0x20
/* C6270C 802419FC 27B40020 */ addiu $s4, $sp, 0x20
/* C62710 80241A00 0280282D */ daddu $a1, $s4, $zero
/* C62714 80241A04 27B30024 */ addiu $s3, $sp, 0x24
/* C62718 80241A08 8EA20000 */ lw $v0, ($s5)
/* C6271C 80241A0C 3C014032 */ lui $at, 0x4032
/* C62720 80241A10 44811800 */ mtc1 $at, $f3
/* C62724 80241A14 44801000 */ mtc1 $zero, $f2
/* C62728 80241A18 C440002C */ lwc1 $f0, 0x2c($v0)
/* C6272C 80241A1C C4460028 */ lwc1 $f6, 0x28($v0)
/* C62730 80241A20 C4440030 */ lwc1 $f4, 0x30($v0)
/* C62734 80241A24 46000021 */ cvt.d.s $f0, $f0
/* C62738 80241A28 46220000 */ add.d $f0, $f0, $f2
/* C6273C 80241A2C E7A60020 */ swc1 $f6, 0x20($sp)
/* C62740 80241A30 E7A40028 */ swc1 $f4, 0x28($sp)
/* C62744 80241A34 46200020 */ cvt.s.d $f0, $f0
/* C62748 80241A38 E7A00024 */ swc1 $f0, 0x24($sp)
/* C6274C 80241A3C E7B40010 */ swc1 $f20, 0x10($sp)
/* C62750 80241A40 E7B60014 */ swc1 $f22, 0x14($sp)
/* C62754 80241A44 862200A8 */ lh $v0, 0xa8($s1)
/* C62758 80241A48 0260302D */ daddu $a2, $s3, $zero
/* C6275C 80241A4C 44820000 */ mtc1 $v0, $f0
/* C62760 80241A50 00000000 */ nop
/* C62764 80241A54 46800020 */ cvt.s.w $f0, $f0
/* C62768 80241A58 E7A00018 */ swc1 $f0, 0x18($sp)
/* C6276C 80241A5C 862200A6 */ lh $v0, 0xa6($s1)
/* C62770 80241A60 27B00028 */ addiu $s0, $sp, 0x28
/* C62774 80241A64 44820000 */ mtc1 $v0, $f0
/* C62778 80241A68 00000000 */ nop
/* C6277C 80241A6C 46800020 */ cvt.s.w $f0, $f0
/* C62780 80241A70 E7A0001C */ swc1 $f0, 0x1c($sp)
/* C62784 80241A74 8E240080 */ lw $a0, 0x80($s1)
/* C62788 80241A78 0C037711 */ jal npc_test_move_simple_with_slipping
/* C6278C 80241A7C 0200382D */ daddu $a3, $s0, $zero
/* C62790 80241A80 104000CA */ beqz $v0, .L80241DAC
/* C62794 80241A84 0280282D */ daddu $a1, $s4, $zero
/* C62798 80241A88 8EA20000 */ lw $v0, ($s5)
/* C6279C 80241A8C 3C018024 */ lui $at, %hi(D_802473F8_C68108)
/* C627A0 80241A90 D42273F8 */ ldc1 $f2, %lo(D_802473F8_C68108)($at)
/* C627A4 80241A94 C440002C */ lwc1 $f0, 0x2c($v0)
/* C627A8 80241A98 C4460028 */ lwc1 $f6, 0x28($v0)
/* C627AC 80241A9C C4440030 */ lwc1 $f4, 0x30($v0)
/* C627B0 80241AA0 46000021 */ cvt.d.s $f0, $f0
/* C627B4 80241AA4 46220000 */ add.d $f0, $f0, $f2
/* C627B8 80241AA8 E7A60020 */ swc1 $f6, 0x20($sp)
/* C627BC 80241AAC E7A40028 */ swc1 $f4, 0x28($sp)
/* C627C0 80241AB0 46200020 */ cvt.s.d $f0, $f0
/* C627C4 80241AB4 E7A00024 */ swc1 $f0, 0x24($sp)
/* C627C8 80241AB8 E7B40010 */ swc1 $f20, 0x10($sp)
/* C627CC 80241ABC E7B60014 */ swc1 $f22, 0x14($sp)
/* C627D0 80241AC0 862200A8 */ lh $v0, 0xa8($s1)
/* C627D4 80241AC4 44820000 */ mtc1 $v0, $f0
/* C627D8 80241AC8 00000000 */ nop
/* C627DC 80241ACC 46800020 */ cvt.s.w $f0, $f0
/* C627E0 80241AD0 E7A00018 */ swc1 $f0, 0x18($sp)
/* C627E4 80241AD4 862200A6 */ lh $v0, 0xa6($s1)
/* C627E8 80241AD8 0260302D */ daddu $a2, $s3, $zero
/* C627EC 80241ADC 44820000 */ mtc1 $v0, $f0
/* C627F0 80241AE0 00000000 */ nop
/* C627F4 80241AE4 46800020 */ cvt.s.w $f0, $f0
/* C627F8 80241AE8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* C627FC 80241AEC 8E240080 */ lw $a0, 0x80($s1)
/* C62800 80241AF0 0C037711 */ jal npc_test_move_simple_with_slipping
/* C62804 80241AF4 0200382D */ daddu $a3, $s0, $zero
/* C62808 80241AF8 27A5002C */ addiu $a1, $sp, 0x2c
/* C6280C 80241AFC 27A60030 */ addiu $a2, $sp, 0x30
/* C62810 80241B00 27A70034 */ addiu $a3, $sp, 0x34
/* C62814 80241B04 27A30038 */ addiu $v1, $sp, 0x38
/* C62818 80241B08 C6220038 */ lwc1 $f2, 0x38($s1)
/* C6281C 80241B0C C620003C */ lwc1 $f0, 0x3c($s1)
/* C62820 80241B10 3C014348 */ lui $at, 0x4348
/* C62824 80241B14 44813000 */ mtc1 $at, $f6
/* C62828 80241B18 46000021 */ cvt.d.s $f0, $f0
/* C6282C 80241B1C E7A2002C */ swc1 $f2, 0x2c($sp)
/* C62830 80241B20 3C014059 */ lui $at, 0x4059
/* C62834 80241B24 44811800 */ mtc1 $at, $f3
/* C62838 80241B28 44801000 */ mtc1 $zero, $f2
/* C6283C 80241B2C C6240040 */ lwc1 $f4, 0x40($s1)
/* C62840 80241B30 46220000 */ add.d $f0, $f0, $f2
/* C62844 80241B34 E7A60038 */ swc1 $f6, 0x38($sp)
/* C62848 80241B38 E7A40034 */ swc1 $f4, 0x34($sp)
/* C6284C 80241B3C 46200020 */ cvt.s.d $f0, $f0
/* C62850 80241B40 E7A00030 */ swc1 $f0, 0x30($sp)
/* C62854 80241B44 AFA30010 */ sw $v1, 0x10($sp)
/* C62858 80241B48 8E240080 */ lw $a0, 0x80($s1)
/* C6285C 80241B4C 0C0372DF */ jal npc_raycast_down_sides
/* C62860 80241B50 0040802D */ daddu $s0, $v0, $zero
/* C62864 80241B54 1600001C */ bnez $s0, .L80241BC8
/* C62868 80241B58 00000000 */ nop
/* C6286C 80241B5C 1040001A */ beqz $v0, .L80241BC8
/* C62870 80241B60 00000000 */ nop
/* C62874 80241B64 C7A20038 */ lwc1 $f2, 0x38($sp)
/* C62878 80241B68 3C014054 */ lui $at, 0x4054
/* C6287C 80241B6C 44810800 */ mtc1 $at, $f1
/* C62880 80241B70 44800000 */ mtc1 $zero, $f0
/* C62884 80241B74 460010A1 */ cvt.d.s $f2, $f2
/* C62888 80241B78 4622003C */ c.lt.d $f0, $f2
/* C6288C 80241B7C 00000000 */ nop
/* C62890 80241B80 45000011 */ bc1f .L80241BC8
/* C62894 80241B84 00000000 */ nop
/* C62898 80241B88 3C01405E */ lui $at, 0x405e
/* C6289C 80241B8C 44810800 */ mtc1 $at, $f1
/* C628A0 80241B90 44800000 */ mtc1 $zero, $f0
/* C628A4 80241B94 00000000 */ nop
/* C628A8 80241B98 4620103C */ c.lt.d $f2, $f0
/* C628AC 80241B9C 00000000 */ nop
/* C628B0 80241BA0 45000009 */ bc1f .L80241BC8
/* C628B4 80241BA4 00000000 */ nop
/* C628B8 80241BA8 C622003C */ lwc1 $f2, 0x3c($s1)
/* C628BC 80241BAC C7A00030 */ lwc1 $f0, 0x30($sp)
/* C628C0 80241BB0 46001032 */ c.eq.s $f2, $f0
/* C628C4 80241BB4 00000000 */ nop
/* C628C8 80241BB8 45010003 */ bc1t .L80241BC8
/* C628CC 80241BBC 00000000 */ nop
/* C628D0 80241BC0 0809076B */ j .L80241DAC
/* C628D4 80241BC4 241E0001 */ addiu $fp, $zero, 1
.L80241BC8:
/* C628D8 80241BC8 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* C628DC 80241BCC 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* C628E0 80241BD0 8E020000 */ lw $v0, ($s0)
/* C628E4 80241BD4 3C014024 */ lui $at, 0x4024
/* C628E8 80241BD8 44811800 */ mtc1 $at, $f3
/* C628EC 80241BDC 44801000 */ mtc1 $zero, $f2
/* C628F0 80241BE0 C440002C */ lwc1 $f0, 0x2c($v0)
/* C628F4 80241BE4 C4460028 */ lwc1 $f6, 0x28($v0)
/* C628F8 80241BE8 C4440030 */ lwc1 $f4, 0x30($v0)
/* C628FC 80241BEC 46000021 */ cvt.d.s $f0, $f0
/* C62900 80241BF0 46220000 */ add.d $f0, $f0, $f2
/* C62904 80241BF4 E7A60020 */ swc1 $f6, 0x20($sp)
/* C62908 80241BF8 E7A40028 */ swc1 $f4, 0x28($sp)
/* C6290C 80241BFC 46200020 */ cvt.s.d $f0, $f0
/* C62910 80241C00 E7A00024 */ swc1 $f0, 0x24($sp)
/* C62914 80241C04 E7B40010 */ swc1 $f20, 0x10($sp)
/* C62918 80241C08 E7B60014 */ swc1 $f22, 0x14($sp)
/* C6291C 80241C0C 862200A8 */ lh $v0, 0xa8($s1)
/* C62920 80241C10 27A50020 */ addiu $a1, $sp, 0x20
/* C62924 80241C14 44820000 */ mtc1 $v0, $f0
/* C62928 80241C18 00000000 */ nop
/* C6292C 80241C1C 46800020 */ cvt.s.w $f0, $f0
/* C62930 80241C20 E7A00018 */ swc1 $f0, 0x18($sp)
/* C62934 80241C24 862200A6 */ lh $v0, 0xa6($s1)
/* C62938 80241C28 27A60024 */ addiu $a2, $sp, 0x24
/* C6293C 80241C2C 44820000 */ mtc1 $v0, $f0
/* C62940 80241C30 00000000 */ nop
/* C62944 80241C34 46800020 */ cvt.s.w $f0, $f0
/* C62948 80241C38 E7A0001C */ swc1 $f0, 0x1c($sp)
/* C6294C 80241C3C 8E240080 */ lw $a0, 0x80($s1)
/* C62950 80241C40 0C037711 */ jal npc_test_move_simple_with_slipping
/* C62954 80241C44 27A70028 */ addiu $a3, $sp, 0x28
/* C62958 80241C48 8FA60020 */ lw $a2, 0x20($sp)
/* C6295C 80241C4C 8E020000 */ lw $v0, ($s0)
/* C62960 80241C50 8FA70028 */ lw $a3, 0x28($sp)
/* C62964 80241C54 C44C0028 */ lwc1 $f12, 0x28($v0)
/* C62968 80241C58 C44E0030 */ lwc1 $f14, 0x30($v0)
/* C6296C 80241C5C 0C00A7B5 */ jal dist2D
/* C62970 80241C60 24170001 */ addiu $s7, $zero, 1
/* C62974 80241C64 46000506 */ mov.s $f20, $f0
/* C62978 80241C68 8E030000 */ lw $v1, ($s0)
/* C6297C 80241C6C 862200A6 */ lh $v0, 0xa6($s1)
/* C62980 80241C70 4407C000 */ mfc1 $a3, $f24
/* C62984 80241C74 44824000 */ mtc1 $v0, $f8
/* C62988 80241C78 00000000 */ nop
/* C6298C 80241C7C 46804220 */ cvt.s.w $f8, $f8
/* C62990 80241C80 C4600028 */ lwc1 $f0, 0x28($v1)
/* C62994 80241C84 44064000 */ mfc1 $a2, $f8
/* C62998 80241C88 26240038 */ addiu $a0, $s1, 0x38
/* C6299C 80241C8C E6200038 */ swc1 $f0, 0x38($s1)
/* C629A0 80241C90 C4600030 */ lwc1 $f0, 0x30($v1)
/* C629A4 80241C94 26250040 */ addiu $a1, $s1, 0x40
/* C629A8 80241C98 0C00A7E7 */ jal add_vec2D_polar
/* C629AC 80241C9C E6200040 */ swc1 $f0, 0x40($s1)
/* C629B0 80241CA0 862200A6 */ lh $v0, 0xa6($s1)
/* C629B4 80241CA4 44820000 */ mtc1 $v0, $f0
/* C629B8 80241CA8 00000000 */ nop
/* C629BC 80241CAC 46800020 */ cvt.s.w $f0, $f0
/* C629C0 80241CB0 08090767 */ j .L80241D9C
/* C629C4 80241CB4 4600A500 */ add.s $f20, $f20, $f0
.L80241CB8:
/* C629C8 80241CB8 8EA20000 */ lw $v0, ($s5)
/* C629CC 80241CBC 3C014032 */ lui $at, 0x4032
/* C629D0 80241CC0 44811800 */ mtc1 $at, $f3
/* C629D4 80241CC4 44801000 */ mtc1 $zero, $f2
/* C629D8 80241CC8 C440002C */ lwc1 $f0, 0x2c($v0)
/* C629DC 80241CCC C4460028 */ lwc1 $f6, 0x28($v0)
/* C629E0 80241CD0 C4440030 */ lwc1 $f4, 0x30($v0)
/* C629E4 80241CD4 46000021 */ cvt.d.s $f0, $f0
/* C629E8 80241CD8 46220000 */ add.d $f0, $f0, $f2
/* C629EC 80241CDC E7A60020 */ swc1 $f6, 0x20($sp)
/* C629F0 80241CE0 E7A40028 */ swc1 $f4, 0x28($sp)
/* C629F4 80241CE4 46200020 */ cvt.s.d $f0, $f0
/* C629F8 80241CE8 E7A00024 */ swc1 $f0, 0x24($sp)
/* C629FC 80241CEC E7B40010 */ swc1 $f20, 0x10($sp)
/* C62A00 80241CF0 E7B60014 */ swc1 $f22, 0x14($sp)
/* C62A04 80241CF4 862200A8 */ lh $v0, 0xa8($s1)
/* C62A08 80241CF8 44820000 */ mtc1 $v0, $f0
/* C62A0C 80241CFC 00000000 */ nop
/* C62A10 80241D00 46800020 */ cvt.s.w $f0, $f0
/* C62A14 80241D04 E7A00018 */ swc1 $f0, 0x18($sp)
/* C62A18 80241D08 862200A6 */ lh $v0, 0xa6($s1)
/* C62A1C 80241D0C 27A60024 */ addiu $a2, $sp, 0x24
/* C62A20 80241D10 44820000 */ mtc1 $v0, $f0
/* C62A24 80241D14 00000000 */ nop
/* C62A28 80241D18 46800020 */ cvt.s.w $f0, $f0
/* C62A2C 80241D1C E7A0001C */ swc1 $f0, 0x1c($sp)
/* C62A30 80241D20 8E240080 */ lw $a0, 0x80($s1)
/* C62A34 80241D24 0C037711 */ jal npc_test_move_simple_with_slipping
/* C62A38 80241D28 27A70028 */ addiu $a3, $sp, 0x28
/* C62A3C 80241D2C 1040001F */ beqz $v0, .L80241DAC
/* C62A40 80241D30 00000000 */ nop
/* C62A44 80241D34 8FA60020 */ lw $a2, 0x20($sp)
/* C62A48 80241D38 8EA20000 */ lw $v0, ($s5)
/* C62A4C 80241D3C 8FA70028 */ lw $a3, 0x28($sp)
/* C62A50 80241D40 C44C0028 */ lwc1 $f12, 0x28($v0)
/* C62A54 80241D44 0C00A7B5 */ jal dist2D
/* C62A58 80241D48 C44E0030 */ lwc1 $f14, 0x30($v0)
/* C62A5C 80241D4C 46000506 */ mov.s $f20, $f0
/* C62A60 80241D50 8EA30000 */ lw $v1, ($s5)
/* C62A64 80241D54 862200A6 */ lh $v0, 0xa6($s1)
/* C62A68 80241D58 4407C000 */ mfc1 $a3, $f24
/* C62A6C 80241D5C 44824000 */ mtc1 $v0, $f8
/* C62A70 80241D60 00000000 */ nop
/* C62A74 80241D64 46804220 */ cvt.s.w $f8, $f8
/* C62A78 80241D68 C4600028 */ lwc1 $f0, 0x28($v1)
/* C62A7C 80241D6C 44064000 */ mfc1 $a2, $f8
/* C62A80 80241D70 0200202D */ daddu $a0, $s0, $zero
/* C62A84 80241D74 E6200038 */ swc1 $f0, 0x38($s1)
/* C62A88 80241D78 C4600030 */ lwc1 $f0, 0x30($v1)
/* C62A8C 80241D7C 0260282D */ daddu $a1, $s3, $zero
/* C62A90 80241D80 0C00A7E7 */ jal add_vec2D_polar
/* C62A94 80241D84 E6200040 */ swc1 $f0, 0x40($s1)
/* C62A98 80241D88 862200A6 */ lh $v0, 0xa6($s1)
/* C62A9C 80241D8C 44820000 */ mtc1 $v0, $f0
/* C62AA0 80241D90 00000000 */ nop
/* C62AA4 80241D94 46800020 */ cvt.s.w $f0, $f0
/* C62AA8 80241D98 4600A500 */ add.s $f20, $f20, $f0
.L80241D9C:
/* C62AAC 80241D9C 4406B000 */ mfc1 $a2, $f22
/* C62AB0 80241DA0 4405A000 */ mfc1 $a1, $f20
/* C62AB4 80241DA4 0C00EA95 */ jal npc_move_heading
/* C62AB8 80241DA8 0220202D */ daddu $a0, $s1, $zero
.L80241DAC:
/* C62ABC 80241DAC C6400008 */ lwc1 $f0, 8($s2)
/* C62AC0 80241DB0 46800020 */ cvt.s.w $f0, $f0
/* C62AC4 80241DB4 44050000 */ mfc1 $a1, $f0
/* C62AC8 80241DB8 C640000C */ lwc1 $f0, 0xc($s2)
/* C62ACC 80241DBC 46800020 */ cvt.s.w $f0, $f0
/* C62AD0 80241DC0 44060000 */ mfc1 $a2, $f0
/* C62AD4 80241DC4 C6200040 */ lwc1 $f0, 0x40($s1)
/* C62AD8 80241DC8 26300038 */ addiu $s0, $s1, 0x38
/* C62ADC 80241DCC E7A00010 */ swc1 $f0, 0x10($sp)
/* C62AE0 80241DD0 C6400010 */ lwc1 $f0, 0x10($s2)
/* C62AE4 80241DD4 46800020 */ cvt.s.w $f0, $f0
/* C62AE8 80241DD8 E7A00014 */ swc1 $f0, 0x14($sp)
/* C62AEC 80241DDC C6400014 */ lwc1 $f0, 0x14($s2)
/* C62AF0 80241DE0 46800020 */ cvt.s.w $f0, $f0
/* C62AF4 80241DE4 E7A00018 */ swc1 $f0, 0x18($sp)
/* C62AF8 80241DE8 8E440004 */ lw $a0, 4($s2)
/* C62AFC 80241DEC 8E270038 */ lw $a3, 0x38($s1)
/* C62B00 80241DF0 0C0123F5 */ jal is_point_within_region
/* C62B04 80241DF4 26330040 */ addiu $s3, $s1, 0x40
/* C62B08 80241DF8 1040005A */ beqz $v0, .L80241F64
/* C62B0C 80241DFC 00000000 */ nop
/* C62B10 80241E00 8E430004 */ lw $v1, 4($s2)
/* C62B14 80241E04 10600005 */ beqz $v1, .L80241E1C
/* C62B18 80241E08 24020001 */ addiu $v0, $zero, 1
/* C62B1C 80241E0C 10620029 */ beq $v1, $v0, .L80241EB4
/* C62B20 80241E10 00000000 */ nop
/* C62B24 80241E14 080907D9 */ j .L80241F64
/* C62B28 80241E18 00000000 */ nop
.L80241E1C:
/* C62B2C 80241E1C C6480008 */ lwc1 $f8, 8($s2)
/* C62B30 80241E20 46804220 */ cvt.s.w $f8, $f8
/* C62B34 80241E24 44064000 */ mfc1 $a2, $f8
/* C62B38 80241E28 C648000C */ lwc1 $f8, 0xc($s2)
/* C62B3C 80241E2C 46804220 */ cvt.s.w $f8, $f8
/* C62B40 80241E30 C62C0038 */ lwc1 $f12, 0x38($s1)
/* C62B44 80241E34 C62E0040 */ lwc1 $f14, 0x40($s1)
/* C62B48 80241E38 44074000 */ mfc1 $a3, $f8
/* C62B4C 80241E3C 0C00A7B5 */ jal dist2D
/* C62B50 80241E40 00000000 */ nop
/* C62B54 80241E44 C6420010 */ lwc1 $f2, 0x10($s2)
/* C62B58 80241E48 468010A0 */ cvt.s.w $f2, $f2
/* C62B5C 80241E4C 4600103C */ c.lt.s $f2, $f0
/* C62B60 80241E50 00000000 */ nop
/* C62B64 80241E54 45000043 */ bc1f .L80241F64
/* C62B68 80241E58 E7A00038 */ swc1 $f0, 0x38($sp)
/* C62B6C 80241E5C C64C0008 */ lwc1 $f12, 8($s2)
/* C62B70 80241E60 46806320 */ cvt.s.w $f12, $f12
/* C62B74 80241E64 8E260038 */ lw $a2, 0x38($s1)
/* C62B78 80241E68 8E270040 */ lw $a3, 0x40($s1)
/* C62B7C 80241E6C C64E000C */ lwc1 $f14, 0xc($s2)
/* C62B80 80241E70 0C00A720 */ jal atan2
/* C62B84 80241E74 468073A0 */ cvt.s.w $f14, $f14
/* C62B88 80241E78 0200202D */ daddu $a0, $s0, $zero
/* C62B8C 80241E7C 44070000 */ mfc1 $a3, $f0
/* C62B90 80241E80 C6400008 */ lwc1 $f0, 8($s2)
/* C62B94 80241E84 46800020 */ cvt.s.w $f0, $f0
/* C62B98 80241E88 E6200038 */ swc1 $f0, 0x38($s1)
/* C62B9C 80241E8C C640000C */ lwc1 $f0, 0xc($s2)
/* C62BA0 80241E90 46800020 */ cvt.s.w $f0, $f0
/* C62BA4 80241E94 E6200040 */ swc1 $f0, 0x40($s1)
/* C62BA8 80241E98 C6480010 */ lwc1 $f8, 0x10($s2)
/* C62BAC 80241E9C 46804220 */ cvt.s.w $f8, $f8
/* C62BB0 80241EA0 44064000 */ mfc1 $a2, $f8
/* C62BB4 80241EA4 0C00A7E7 */ jal add_vec2D_polar
/* C62BB8 80241EA8 0260282D */ daddu $a1, $s3, $zero
/* C62BBC 80241EAC 080907D9 */ j .L80241F64
/* C62BC0 80241EB0 00000000 */ nop
.L80241EB4:
/* C62BC4 80241EB4 8E420008 */ lw $v0, 8($s2)
/* C62BC8 80241EB8 8E430010 */ lw $v1, 0x10($s2)
/* C62BCC 80241EBC C6200038 */ lwc1 $f0, 0x38($s1)
/* C62BD0 80241EC0 00431021 */ addu $v0, $v0, $v1
/* C62BD4 80241EC4 44821000 */ mtc1 $v0, $f2
/* C62BD8 80241EC8 00000000 */ nop
/* C62BDC 80241ECC 468010A0 */ cvt.s.w $f2, $f2
/* C62BE0 80241ED0 4600103C */ c.lt.s $f2, $f0
/* C62BE4 80241ED4 00000000 */ nop
/* C62BE8 80241ED8 45030001 */ bc1tl .L80241EE0
/* C62BEC 80241EDC E6220038 */ swc1 $f2, 0x38($s1)
.L80241EE0:
/* C62BF0 80241EE0 8E420008 */ lw $v0, 8($s2)
/* C62BF4 80241EE4 8E430010 */ lw $v1, 0x10($s2)
/* C62BF8 80241EE8 C6200038 */ lwc1 $f0, 0x38($s1)
/* C62BFC 80241EEC 00431023 */ subu $v0, $v0, $v1
/* C62C00 80241EF0 44821000 */ mtc1 $v0, $f2
/* C62C04 80241EF4 00000000 */ nop
/* C62C08 80241EF8 468010A0 */ cvt.s.w $f2, $f2
/* C62C0C 80241EFC 4602003C */ c.lt.s $f0, $f2
/* C62C10 80241F00 00000000 */ nop
/* C62C14 80241F04 45030001 */ bc1tl .L80241F0C
/* C62C18 80241F08 E6220038 */ swc1 $f2, 0x38($s1)
.L80241F0C:
/* C62C1C 80241F0C 8E42000C */ lw $v0, 0xc($s2)
/* C62C20 80241F10 8E430014 */ lw $v1, 0x14($s2)
/* C62C24 80241F14 C6200040 */ lwc1 $f0, 0x40($s1)
/* C62C28 80241F18 00431021 */ addu $v0, $v0, $v1
/* C62C2C 80241F1C 44821000 */ mtc1 $v0, $f2
/* C62C30 80241F20 00000000 */ nop
/* C62C34 80241F24 468010A0 */ cvt.s.w $f2, $f2
/* C62C38 80241F28 4600103C */ c.lt.s $f2, $f0
/* C62C3C 80241F2C 00000000 */ nop
/* C62C40 80241F30 45030001 */ bc1tl .L80241F38
/* C62C44 80241F34 E6220040 */ swc1 $f2, 0x40($s1)
.L80241F38:
/* C62C48 80241F38 8E42000C */ lw $v0, 0xc($s2)
/* C62C4C 80241F3C 8E430014 */ lw $v1, 0x14($s2)
/* C62C50 80241F40 C6200040 */ lwc1 $f0, 0x40($s1)
/* C62C54 80241F44 00431023 */ subu $v0, $v0, $v1
/* C62C58 80241F48 44821000 */ mtc1 $v0, $f2
/* C62C5C 80241F4C 00000000 */ nop
/* C62C60 80241F50 468010A0 */ cvt.s.w $f2, $f2
/* C62C64 80241F54 4602003C */ c.lt.s $f0, $f2
/* C62C68 80241F58 00000000 */ nop
/* C62C6C 80241F5C 45030001 */ bc1tl .L80241F64
/* C62C70 80241F60 E6220040 */ swc1 $f2, 0x40($s1)
.L80241F64:
/* C62C74 80241F64 16E0001F */ bnez $s7, .L80241FE4
/* C62C78 80241F68 00000000 */ nop
/* C62C7C 80241F6C 8E220000 */ lw $v0, ($s1)
/* C62C80 80241F70 30420008 */ andi $v0, $v0, 8
/* C62C84 80241F74 10400003 */ beqz $v0, .L80241F84
/* C62C88 80241F78 27A50020 */ addiu $a1, $sp, 0x20
/* C62C8C 80241F7C 13C00019 */ beqz $fp, .L80241FE4
/* C62C90 80241F80 00000000 */ nop
.L80241F84:
/* C62C94 80241F84 27A60024 */ addiu $a2, $sp, 0x24
/* C62C98 80241F88 27A20038 */ addiu $v0, $sp, 0x38
/* C62C9C 80241F8C C6220038 */ lwc1 $f2, 0x38($s1)
/* C62CA0 80241F90 C620003C */ lwc1 $f0, 0x3c($s1)
/* C62CA4 80241F94 3C0143C8 */ lui $at, 0x43c8
/* C62CA8 80241F98 44813000 */ mtc1 $at, $f6
/* C62CAC 80241F9C 46000021 */ cvt.d.s $f0, $f0
/* C62CB0 80241FA0 E7A20020 */ swc1 $f2, 0x20($sp)
/* C62CB4 80241FA4 3C018024 */ lui $at, %hi(D_80247400_C68110)
/* C62CB8 80241FA8 D4227400 */ ldc1 $f2, %lo(D_80247400_C68110)($at)
/* C62CBC 80241FAC C6240040 */ lwc1 $f4, 0x40($s1)
/* C62CC0 80241FB0 46220000 */ add.d $f0, $f0, $f2
/* C62CC4 80241FB4 E7A60038 */ swc1 $f6, 0x38($sp)
/* C62CC8 80241FB8 E7A40028 */ swc1 $f4, 0x28($sp)
/* C62CCC 80241FBC 46200020 */ cvt.s.d $f0, $f0
/* C62CD0 80241FC0 E7A00024 */ swc1 $f0, 0x24($sp)
/* C62CD4 80241FC4 AFA20010 */ sw $v0, 0x10($sp)
/* C62CD8 80241FC8 8E240080 */ lw $a0, 0x80($s1)
/* C62CDC 80241FCC 0C0372DF */ jal npc_raycast_down_sides
/* C62CE0 80241FD0 27A70028 */ addiu $a3, $sp, 0x28
/* C62CE4 80241FD4 10400003 */ beqz $v0, .L80241FE4
/* C62CE8 80241FD8 00000000 */ nop
/* C62CEC 80241FDC C7A00024 */ lwc1 $f0, 0x24($sp)
/* C62CF0 80241FE0 E620003C */ swc1 $f0, 0x3c($s1)
.L80241FE4:
/* C62CF4 80241FE4 C62C0038 */ lwc1 $f12, 0x38($s1)
/* C62CF8 80241FE8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C62CFC 80241FEC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C62D00 80241FF0 C62E0040 */ lwc1 $f14, 0x40($s1)
/* C62D04 80241FF4 8C460028 */ lw $a2, 0x28($v0)
/* C62D08 80241FF8 0C00A720 */ jal atan2
/* C62D0C 80241FFC 8C470030 */ lw $a3, 0x30($v0)
/* C62D10 80242000 0220202D */ daddu $a0, $s1, $zero
/* C62D14 80242004 24050321 */ addiu $a1, $zero, 0x321
/* C62D18 80242008 0000302D */ daddu $a2, $zero, $zero
/* C62D1C 8024200C 0C012530 */ jal ai_enemy_play_sound
/* C62D20 80242010 E620000C */ swc1 $f0, 0xc($s1)
/* C62D24 80242014 8EC200CC */ lw $v0, 0xcc($s6)
/* C62D28 80242018 8C420024 */ lw $v0, 0x24($v0)
/* C62D2C 8024201C AE220028 */ sw $v0, 0x28($s1)
/* C62D30 80242020 96C20096 */ lhu $v0, 0x96($s6)
/* C62D34 80242024 A622008E */ sh $v0, 0x8e($s1)
/* C62D38 80242028 8FA80080 */ lw $t0, 0x80($sp)
/* C62D3C 8024202C 2402000B */ addiu $v0, $zero, 0xb
/* C62D40 80242030 AD020070 */ sw $v0, 0x70($t0)
.L80242034:
/* C62D44 80242034 8FBF0064 */ lw $ra, 0x64($sp)
/* C62D48 80242038 8FBE0060 */ lw $fp, 0x60($sp)
/* C62D4C 8024203C 8FB7005C */ lw $s7, 0x5c($sp)
/* C62D50 80242040 8FB60058 */ lw $s6, 0x58($sp)
/* C62D54 80242044 8FB50054 */ lw $s5, 0x54($sp)
/* C62D58 80242048 8FB40050 */ lw $s4, 0x50($sp)
/* C62D5C 8024204C 8FB3004C */ lw $s3, 0x4c($sp)
/* C62D60 80242050 8FB20048 */ lw $s2, 0x48($sp)
/* C62D64 80242054 8FB10044 */ lw $s1, 0x44($sp)
/* C62D68 80242058 8FB00040 */ lw $s0, 0x40($sp)
/* C62D6C 8024205C D7B80078 */ ldc1 $f24, 0x78($sp)
/* C62D70 80242060 D7B60070 */ ldc1 $f22, 0x70($sp)
/* C62D74 80242064 D7B40068 */ ldc1 $f20, 0x68($sp)
/* C62D78 80242068 03E00008 */ jr $ra
/* C62D7C 8024206C 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -110,7 +110,7 @@ glabel func_8024234C_C6305C
/* C631E8 802424D8 00000000 */ nop
.L802424DC:
/* C631EC 802424DC 0260282D */ daddu $a1, $s3, $zero
/* C631F0 802424E0 0C09058C */ jal func_80241630_C62340
/* C631F0 802424E0 0C09058C */ jal kzn_03_UnkNpcAIFunc46
/* C631F4 802424E4 0280302D */ daddu $a2, $s4, $zero
/* C631F8 802424E8 8E420070 */ lw $v0, 0x70($s2)
/* C631FC 802424EC 14500021 */ bne $v0, $s0, .L80242574

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80245830_C76CB0
.double 380.0
dlabel D_80245838_C76CB8
.double -380.0
dlabel D_80245840_C76CC0
.double 305.0
dlabel D_80245848_C76CC8
.double 375.0
dlabel D_80245850_C76CD0
.double 45.0
dlabel D_80245858_C76CD8
.double 150.0
.section .text
glabel func_80242F74_C743F4
/* C743F4 80242F74 27BDFF80 */ addiu $sp, $sp, -0x80
/* C743F8 80242F78 AFBF0064 */ sw $ra, 0x64($sp)
/* C743FC 80242F7C AFBE0060 */ sw $fp, 0x60($sp)
/* C74400 80242F80 AFB7005C */ sw $s7, 0x5c($sp)
/* C74404 80242F84 AFB60058 */ sw $s6, 0x58($sp)
/* C74408 80242F88 AFB50054 */ sw $s5, 0x54($sp)
/* C7440C 80242F8C AFB40050 */ sw $s4, 0x50($sp)
/* C74410 80242F90 AFB3004C */ sw $s3, 0x4c($sp)
/* C74414 80242F94 AFB20048 */ sw $s2, 0x48($sp)
/* C74418 80242F98 AFB10044 */ sw $s1, 0x44($sp)
/* C7441C 80242F9C AFB00040 */ sw $s0, 0x40($sp)
/* C74420 80242FA0 F7B80078 */ sdc1 $f24, 0x78($sp)
/* C74424 80242FA4 F7B60070 */ sdc1 $f22, 0x70($sp)
/* C74428 80242FA8 F7B40068 */ sdc1 $f20, 0x68($sp)
/* C7442C 80242FAC AFA40080 */ sw $a0, 0x80($sp)
/* C74430 80242FB0 8C960148 */ lw $s6, 0x148($a0)
/* C74434 80242FB4 00C0902D */ daddu $s2, $a2, $zero
/* C74438 80242FB8 86C40008 */ lh $a0, 8($s6)
/* C7443C 80242FBC 0C00EABB */ jal get_npc_unsafe
/* C74440 80242FC0 0000B82D */ daddu $s7, $zero, $zero
/* C74444 80242FC4 0040882D */ daddu $s1, $v0, $zero
/* C74448 80242FC8 9622008E */ lhu $v0, 0x8e($s1)
/* C7444C 80242FCC 2442FFFF */ addiu $v0, $v0, -1
/* C74450 80242FD0 A622008E */ sh $v0, 0x8e($s1)
/* C74454 80242FD4 00021400 */ sll $v0, $v0, 0x10
/* C74458 80242FD8 8EC30090 */ lw $v1, 0x90($s6)
/* C7445C 80242FDC 00021403 */ sra $v0, $v0, 0x10
/* C74460 80242FE0 0062182A */ slt $v1, $v1, $v0
/* C74464 80242FE4 14600005 */ bnez $v1, .L80242FFC
/* C74468 80242FE8 02E0F02D */ daddu $fp, $s7, $zero
/* C7446C 80242FEC 8EC20000 */ lw $v0, ($s6)
/* C74470 80242FF0 3C031F10 */ lui $v1, 0x1f10
/* C74474 80242FF4 00431025 */ or $v0, $v0, $v1
/* C74478 80242FF8 AEC20000 */ sw $v0, ($s6)
.L80242FFC:
/* C7447C 80242FFC 8622008E */ lh $v0, 0x8e($s1)
/* C74480 80243000 1440025D */ bnez $v0, .L80243978
/* C74484 80243004 00000000 */ nop
/* C74488 80243008 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C7448C 8024300C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C74490 80243010 0C00A6C9 */ jal clamp_angle
/* C74494 80243014 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* C74498 80243018 3C014334 */ lui $at, 0x4334
/* C7449C 8024301C 44811000 */ mtc1 $at, $f2
/* C744A0 80243020 00000000 */ nop
/* C744A4 80243024 4602003C */ c.lt.s $f0, $f2
/* C744A8 80243028 00000000 */ nop
/* C744AC 8024302C 45000011 */ bc1f .L80243074
/* C744B0 80243030 00000000 */ nop
/* C744B4 80243034 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* C744B8 80243038 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* C744BC 8024303C 3C0142B4 */ lui $at, 0x42b4
/* C744C0 80243040 44816000 */ mtc1 $at, $f12
/* C744C4 80243044 00031080 */ sll $v0, $v1, 2
/* C744C8 80243048 00431021 */ addu $v0, $v0, $v1
/* C744CC 8024304C 00021080 */ sll $v0, $v0, 2
/* C744D0 80243050 00431023 */ subu $v0, $v0, $v1
/* C744D4 80243054 000218C0 */ sll $v1, $v0, 3
/* C744D8 80243058 00431021 */ addu $v0, $v0, $v1
/* C744DC 8024305C 000210C0 */ sll $v0, $v0, 3
/* C744E0 80243060 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* C744E4 80243064 00220821 */ addu $at, $at, $v0
/* C744E8 80243068 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* C744EC 8024306C 08090C2C */ j .L802430B0
/* C744F0 80243070 460C0301 */ sub.s $f12, $f0, $f12
.L80243074:
/* C744F4 80243074 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* C744F8 80243078 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* C744FC 8024307C 3C0142B4 */ lui $at, 0x42b4
/* C74500 80243080 44816000 */ mtc1 $at, $f12
/* C74504 80243084 00031080 */ sll $v0, $v1, 2
/* C74508 80243088 00431021 */ addu $v0, $v0, $v1
/* C7450C 8024308C 00021080 */ sll $v0, $v0, 2
/* C74510 80243090 00431023 */ subu $v0, $v0, $v1
/* C74514 80243094 000218C0 */ sll $v1, $v0, 3
/* C74518 80243098 00431021 */ addu $v0, $v0, $v1
/* C7451C 8024309C 000210C0 */ sll $v0, $v0, 3
/* C74520 802430A0 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* C74524 802430A4 00220821 */ addu $at, $at, $v0
/* C74528 802430A8 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* C7452C 802430AC 460C0300 */ add.s $f12, $f0, $f12
.L802430B0:
/* C74530 802430B0 0C00A6C9 */ jal clamp_angle
/* C74534 802430B4 00000000 */ nop
/* C74538 802430B8 46000586 */ mov.s $f22, $f0
/* C7453C 802430BC 3C014334 */ lui $at, 0x4334
/* C74540 802430C0 44816000 */ mtc1 $at, $f12
/* C74544 802430C4 0C00A6C9 */ jal clamp_angle
/* C74548 802430C8 460CB300 */ add.s $f12, $f22, $f12
/* C7454C 802430CC 8EC20088 */ lw $v0, 0x88($s6)
/* C74550 802430D0 14400010 */ bnez $v0, .L80243114
/* C74554 802430D4 46000606 */ mov.s $f24, $f0
/* C74558 802430D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C7455C 802430DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C74560 802430E0 804300B4 */ lb $v1, 0xb4($v0)
/* C74564 802430E4 3C014200 */ lui $at, 0x4200
/* C74568 802430E8 4481A000 */ mtc1 $at, $f20
/* C7456C 802430EC 10600016 */ beqz $v1, .L80243148
/* C74570 802430F0 24020001 */ addiu $v0, $zero, 1
/* C74574 802430F4 3C0142C8 */ lui $at, 0x42c8
/* C74578 802430F8 4481A000 */ mtc1 $at, $f20
/* C7457C 802430FC 14620013 */ bne $v1, $v0, .L8024314C
/* C74580 80243100 26300038 */ addiu $s0, $s1, 0x38
/* C74584 80243104 3C0142B4 */ lui $at, 0x42b4
/* C74588 80243108 4481A000 */ mtc1 $at, $f20
/* C7458C 8024310C 08090C54 */ j .L80243150
/* C74590 80243110 0200202D */ daddu $a0, $s0, $zero
.L80243114:
/* C74594 80243114 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C74598 80243118 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C7459C 8024311C 804300B4 */ lb $v1, 0xb4($v0)
/* C745A0 80243120 3C014218 */ lui $at, 0x4218
/* C745A4 80243124 4481A000 */ mtc1 $at, $f20
/* C745A8 80243128 10600007 */ beqz $v1, .L80243148
/* C745AC 8024312C 24020001 */ addiu $v0, $zero, 1
/* C745B0 80243130 3C0142B4 */ lui $at, 0x42b4
/* C745B4 80243134 4481A000 */ mtc1 $at, $f20
/* C745B8 80243138 14620004 */ bne $v1, $v0, .L8024314C
/* C745BC 8024313C 26300038 */ addiu $s0, $s1, 0x38
/* C745C0 80243140 3C014296 */ lui $at, 0x4296
/* C745C4 80243144 4481A000 */ mtc1 $at, $f20
.L80243148:
/* C745C8 80243148 26300038 */ addiu $s0, $s1, 0x38
.L8024314C:
/* C745CC 8024314C 0200202D */ daddu $a0, $s0, $zero
.L80243150:
/* C745D0 80243150 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* C745D4 80243154 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* C745D8 80243158 4407C000 */ mfc1 $a3, $f24
/* C745DC 8024315C 862200A6 */ lh $v0, 0xa6($s1)
/* C745E0 80243160 8EA30000 */ lw $v1, ($s5)
/* C745E4 80243164 44824000 */ mtc1 $v0, $f8
/* C745E8 80243168 00000000 */ nop
/* C745EC 8024316C 46804220 */ cvt.s.w $f8, $f8
/* C745F0 80243170 C4600028 */ lwc1 $f0, 0x28($v1)
/* C745F4 80243174 44064000 */ mfc1 $a2, $f8
/* C745F8 80243178 26330040 */ addiu $s3, $s1, 0x40
/* C745FC 8024317C E6200038 */ swc1 $f0, 0x38($s1)
/* C74600 80243180 C4600030 */ lwc1 $f0, 0x30($v1)
/* C74604 80243184 0260282D */ daddu $a1, $s3, $zero
/* C74608 80243188 0C00A7E7 */ jal add_vec2D_polar
/* C7460C 8024318C E6200040 */ swc1 $f0, 0x40($s1)
/* C74610 80243190 862200A6 */ lh $v0, 0xa6($s1)
/* C74614 80243194 44820000 */ mtc1 $v0, $f0
/* C74618 80243198 00000000 */ nop
/* C7461C 8024319C 46800020 */ cvt.s.w $f0, $f0
/* C74620 802431A0 4600A000 */ add.s $f0, $f20, $f0
/* C74624 802431A4 4406B000 */ mfc1 $a2, $f22
/* C74628 802431A8 44050000 */ mfc1 $a1, $f0
/* C7462C 802431AC 0C00EA95 */ jal npc_move_heading
/* C74630 802431B0 0220202D */ daddu $a0, $s1, $zero
/* C74634 802431B4 8EC20088 */ lw $v0, 0x88($s6)
/* C74638 802431B8 1440005D */ bnez $v0, .L80243330
/* C7463C 802431BC 00000000 */ nop
/* C74640 802431C0 C6200038 */ lwc1 $f0, 0x38($s1)
/* C74644 802431C4 3C018024 */ lui $at, %hi(D_80245830_C76CB0)
/* C74648 802431C8 D4245830 */ ldc1 $f4, %lo(D_80245830_C76CB0)($at)
/* C7464C 802431CC 46000021 */ cvt.d.s $f0, $f0
/* C74650 802431D0 4620203C */ c.lt.d $f4, $f0
/* C74654 802431D4 00000000 */ nop
/* C74658 802431D8 45000005 */ bc1f .L802431F0
/* C7465C 802431DC 00000000 */ nop
/* C74660 802431E0 3C0143BE */ lui $at, 0x43be
/* C74664 802431E4 44810000 */ mtc1 $at, $f0
/* C74668 802431E8 00000000 */ nop
/* C7466C 802431EC E6200038 */ swc1 $f0, 0x38($s1)
.L802431F0:
/* C74670 802431F0 C6200038 */ lwc1 $f0, 0x38($s1)
/* C74674 802431F4 3C018024 */ lui $at, %hi(D_80245838_C76CB8)
/* C74678 802431F8 D4225838 */ ldc1 $f2, %lo(D_80245838_C76CB8)($at)
/* C7467C 802431FC 46000021 */ cvt.d.s $f0, $f0
/* C74680 80243200 4622003C */ c.lt.d $f0, $f2
/* C74684 80243204 00000000 */ nop
/* C74688 80243208 45000005 */ bc1f .L80243220
/* C7468C 8024320C 00000000 */ nop
/* C74690 80243210 3C01C3BE */ lui $at, 0xc3be
/* C74694 80243214 44810000 */ mtc1 $at, $f0
/* C74698 80243218 00000000 */ nop
/* C7469C 8024321C E6200038 */ swc1 $f0, 0x38($s1)
.L80243220:
/* C746A0 80243220 C6200040 */ lwc1 $f0, 0x40($s1)
/* C746A4 80243224 46000021 */ cvt.d.s $f0, $f0
/* C746A8 80243228 4620203C */ c.lt.d $f4, $f0
/* C746AC 8024322C 00000000 */ nop
/* C746B0 80243230 45000005 */ bc1f .L80243248
/* C746B4 80243234 00000000 */ nop
/* C746B8 80243238 3C0143BE */ lui $at, 0x43be
/* C746BC 8024323C 44810000 */ mtc1 $at, $f0
/* C746C0 80243240 00000000 */ nop
/* C746C4 80243244 E6200040 */ swc1 $f0, 0x40($s1)
.L80243248:
/* C746C8 80243248 C6200040 */ lwc1 $f0, 0x40($s1)
/* C746CC 8024324C 46000021 */ cvt.d.s $f0, $f0
/* C746D0 80243250 4622003C */ c.lt.d $f0, $f2
/* C746D4 80243254 00000000 */ nop
/* C746D8 80243258 45000005 */ bc1f .L80243270
/* C746DC 8024325C 00000000 */ nop
/* C746E0 80243260 3C01C3BE */ lui $at, 0xc3be
/* C746E4 80243264 44810000 */ mtc1 $at, $f0
/* C746E8 80243268 00000000 */ nop
/* C746EC 8024326C E6200040 */ swc1 $f0, 0x40($s1)
.L80243270:
/* C746F0 80243270 C6220038 */ lwc1 $f2, 0x38($s1)
/* C746F4 80243274 46021082 */ mul.s $f2, $f2, $f2
/* C746F8 80243278 00000000 */ nop
/* C746FC 8024327C C6200040 */ lwc1 $f0, 0x40($s1)
/* C74700 80243280 46000002 */ mul.s $f0, $f0, $f0
/* C74704 80243284 00000000 */ nop
/* C74708 80243288 46001300 */ add.s $f12, $f2, $f0
/* C7470C 8024328C 46006004 */ sqrt.s $f0, $f12
/* C74710 80243290 46000032 */ c.eq.s $f0, $f0
/* C74714 80243294 00000000 */ nop
/* C74718 80243298 45010003 */ bc1t .L802432A8
/* C7471C 8024329C 00000000 */ nop
/* C74720 802432A0 0C0187BC */ jal sqrtf
/* C74724 802432A4 00000000 */ nop
.L802432A8:
/* C74728 802432A8 8E260038 */ lw $a2, 0x38($s1)
/* C7472C 802432AC 8E270040 */ lw $a3, 0x40($s1)
/* C74730 802432B0 4480A000 */ mtc1 $zero, $f20
/* C74734 802432B4 E7A00038 */ swc1 $f0, 0x38($sp)
/* C74738 802432B8 4600A306 */ mov.s $f12, $f20
/* C7473C 802432BC 0C00A720 */ jal atan2
/* C74740 802432C0 4600A386 */ mov.s $f14, $f20
/* C74744 802432C4 46000586 */ mov.s $f22, $f0
/* C74748 802432C8 C7A20038 */ lwc1 $f2, 0x38($sp)
/* C7474C 802432CC 3C018024 */ lui $at, %hi(D_80245840_C76CC0)
/* C74750 802432D0 D4205840 */ ldc1 $f0, %lo(D_80245840_C76CC0)($at)
/* C74754 802432D4 460010A1 */ cvt.d.s $f2, $f2
/* C74758 802432D8 4620103C */ c.lt.d $f2, $f0
/* C7475C 802432DC 00000000 */ nop
/* C74760 802432E0 45000004 */ bc1f .L802432F4
/* C74764 802432E4 0200202D */ daddu $a0, $s0, $zero
/* C74768 802432E8 3C064398 */ lui $a2, 0x4398
/* C7476C 802432EC 08090CC5 */ j .L80243314
/* C74770 802432F0 34C68000 */ ori $a2, $a2, 0x8000
.L802432F4:
/* C74774 802432F4 3C018024 */ lui $at, %hi(D_80245848_C76CC8)
/* C74778 802432F8 D4205848 */ ldc1 $f0, %lo(D_80245848_C76CC8)($at)
/* C7477C 802432FC 4622003C */ c.lt.d $f0, $f2
/* C74780 80243300 00000000 */ nop
/* C74784 80243304 450000FA */ bc1f .L802436F0
/* C74788 80243308 00000000 */ nop
/* C7478C 8024330C 3C0643BB */ lui $a2, 0x43bb
/* C74790 80243310 34C68000 */ ori $a2, $a2, 0x8000
.L80243314:
/* C74794 80243314 4407B000 */ mfc1 $a3, $f22
/* C74798 80243318 0260282D */ daddu $a1, $s3, $zero
/* C7479C 8024331C E6340038 */ swc1 $f20, 0x38($s1)
/* C747A0 80243320 0C00A7E7 */ jal add_vec2D_polar
/* C747A4 80243324 E6340040 */ swc1 $f20, 0x40($s1)
/* C747A8 80243328 08090DBC */ j .L802436F0
/* C747AC 8024332C 00000000 */ nop
.L80243330:
/* C747B0 80243330 8E220000 */ lw $v0, ($s1)
/* C747B4 80243334 30420040 */ andi $v0, $v0, 0x40
/* C747B8 80243338 144000B0 */ bnez $v0, .L802435FC
/* C747BC 8024333C 27A50020 */ addiu $a1, $sp, 0x20
/* C747C0 80243340 27B40020 */ addiu $s4, $sp, 0x20
/* C747C4 80243344 0280282D */ daddu $a1, $s4, $zero
/* C747C8 80243348 27B30024 */ addiu $s3, $sp, 0x24
/* C747CC 8024334C 8EA20000 */ lw $v0, ($s5)
/* C747D0 80243350 3C014032 */ lui $at, 0x4032
/* C747D4 80243354 44811800 */ mtc1 $at, $f3
/* C747D8 80243358 44801000 */ mtc1 $zero, $f2
/* C747DC 8024335C C440002C */ lwc1 $f0, 0x2c($v0)
/* C747E0 80243360 C4460028 */ lwc1 $f6, 0x28($v0)
/* C747E4 80243364 C4440030 */ lwc1 $f4, 0x30($v0)
/* C747E8 80243368 46000021 */ cvt.d.s $f0, $f0
/* C747EC 8024336C 46220000 */ add.d $f0, $f0, $f2
/* C747F0 80243370 E7A60020 */ swc1 $f6, 0x20($sp)
/* C747F4 80243374 E7A40028 */ swc1 $f4, 0x28($sp)
/* C747F8 80243378 46200020 */ cvt.s.d $f0, $f0
/* C747FC 8024337C E7A00024 */ swc1 $f0, 0x24($sp)
/* C74800 80243380 E7B40010 */ swc1 $f20, 0x10($sp)
/* C74804 80243384 E7B60014 */ swc1 $f22, 0x14($sp)
/* C74808 80243388 862200A8 */ lh $v0, 0xa8($s1)
/* C7480C 8024338C 0260302D */ daddu $a2, $s3, $zero
/* C74810 80243390 44820000 */ mtc1 $v0, $f0
/* C74814 80243394 00000000 */ nop
/* C74818 80243398 46800020 */ cvt.s.w $f0, $f0
/* C7481C 8024339C E7A00018 */ swc1 $f0, 0x18($sp)
/* C74820 802433A0 862200A6 */ lh $v0, 0xa6($s1)
/* C74824 802433A4 27B00028 */ addiu $s0, $sp, 0x28
/* C74828 802433A8 44820000 */ mtc1 $v0, $f0
/* C7482C 802433AC 00000000 */ nop
/* C74830 802433B0 46800020 */ cvt.s.w $f0, $f0
/* C74834 802433B4 E7A0001C */ swc1 $f0, 0x1c($sp)
/* C74838 802433B8 8E240080 */ lw $a0, 0x80($s1)
/* C7483C 802433BC 0C037711 */ jal npc_test_move_simple_with_slipping
/* C74840 802433C0 0200382D */ daddu $a3, $s0, $zero
/* C74844 802433C4 104000CA */ beqz $v0, .L802436F0
/* C74848 802433C8 0280282D */ daddu $a1, $s4, $zero
/* C7484C 802433CC 8EA20000 */ lw $v0, ($s5)
/* C74850 802433D0 3C018024 */ lui $at, %hi(D_80245850_C76CD0)
/* C74854 802433D4 D4225850 */ ldc1 $f2, %lo(D_80245850_C76CD0)($at)
/* C74858 802433D8 C440002C */ lwc1 $f0, 0x2c($v0)
/* C7485C 802433DC C4460028 */ lwc1 $f6, 0x28($v0)
/* C74860 802433E0 C4440030 */ lwc1 $f4, 0x30($v0)
/* C74864 802433E4 46000021 */ cvt.d.s $f0, $f0
/* C74868 802433E8 46220000 */ add.d $f0, $f0, $f2
/* C7486C 802433EC E7A60020 */ swc1 $f6, 0x20($sp)
/* C74870 802433F0 E7A40028 */ swc1 $f4, 0x28($sp)
/* C74874 802433F4 46200020 */ cvt.s.d $f0, $f0
/* C74878 802433F8 E7A00024 */ swc1 $f0, 0x24($sp)
/* C7487C 802433FC E7B40010 */ swc1 $f20, 0x10($sp)
/* C74880 80243400 E7B60014 */ swc1 $f22, 0x14($sp)
/* C74884 80243404 862200A8 */ lh $v0, 0xa8($s1)
/* C74888 80243408 44820000 */ mtc1 $v0, $f0
/* C7488C 8024340C 00000000 */ nop
/* C74890 80243410 46800020 */ cvt.s.w $f0, $f0
/* C74894 80243414 E7A00018 */ swc1 $f0, 0x18($sp)
/* C74898 80243418 862200A6 */ lh $v0, 0xa6($s1)
/* C7489C 8024341C 0260302D */ daddu $a2, $s3, $zero
/* C748A0 80243420 44820000 */ mtc1 $v0, $f0
/* C748A4 80243424 00000000 */ nop
/* C748A8 80243428 46800020 */ cvt.s.w $f0, $f0
/* C748AC 8024342C E7A0001C */ swc1 $f0, 0x1c($sp)
/* C748B0 80243430 8E240080 */ lw $a0, 0x80($s1)
/* C748B4 80243434 0C037711 */ jal npc_test_move_simple_with_slipping
/* C748B8 80243438 0200382D */ daddu $a3, $s0, $zero
/* C748BC 8024343C 27A5002C */ addiu $a1, $sp, 0x2c
/* C748C0 80243440 27A60030 */ addiu $a2, $sp, 0x30
/* C748C4 80243444 27A70034 */ addiu $a3, $sp, 0x34
/* C748C8 80243448 27A30038 */ addiu $v1, $sp, 0x38
/* C748CC 8024344C C6220038 */ lwc1 $f2, 0x38($s1)
/* C748D0 80243450 C620003C */ lwc1 $f0, 0x3c($s1)
/* C748D4 80243454 3C014348 */ lui $at, 0x4348
/* C748D8 80243458 44813000 */ mtc1 $at, $f6
/* C748DC 8024345C 46000021 */ cvt.d.s $f0, $f0
/* C748E0 80243460 E7A2002C */ swc1 $f2, 0x2c($sp)
/* C748E4 80243464 3C014059 */ lui $at, 0x4059
/* C748E8 80243468 44811800 */ mtc1 $at, $f3
/* C748EC 8024346C 44801000 */ mtc1 $zero, $f2
/* C748F0 80243470 C6240040 */ lwc1 $f4, 0x40($s1)
/* C748F4 80243474 46220000 */ add.d $f0, $f0, $f2
/* C748F8 80243478 E7A60038 */ swc1 $f6, 0x38($sp)
/* C748FC 8024347C E7A40034 */ swc1 $f4, 0x34($sp)
/* C74900 80243480 46200020 */ cvt.s.d $f0, $f0
/* C74904 80243484 E7A00030 */ swc1 $f0, 0x30($sp)
/* C74908 80243488 AFA30010 */ sw $v1, 0x10($sp)
/* C7490C 8024348C 8E240080 */ lw $a0, 0x80($s1)
/* C74910 80243490 0C0372DF */ jal npc_raycast_down_sides
/* C74914 80243494 0040802D */ daddu $s0, $v0, $zero
/* C74918 80243498 1600001C */ bnez $s0, .L8024350C
/* C7491C 8024349C 00000000 */ nop
/* C74920 802434A0 1040001A */ beqz $v0, .L8024350C
/* C74924 802434A4 00000000 */ nop
/* C74928 802434A8 C7A20038 */ lwc1 $f2, 0x38($sp)
/* C7492C 802434AC 3C014054 */ lui $at, 0x4054
/* C74930 802434B0 44810800 */ mtc1 $at, $f1
/* C74934 802434B4 44800000 */ mtc1 $zero, $f0
/* C74938 802434B8 460010A1 */ cvt.d.s $f2, $f2
/* C7493C 802434BC 4622003C */ c.lt.d $f0, $f2
/* C74940 802434C0 00000000 */ nop
/* C74944 802434C4 45000011 */ bc1f .L8024350C
/* C74948 802434C8 00000000 */ nop
/* C7494C 802434CC 3C01405E */ lui $at, 0x405e
/* C74950 802434D0 44810800 */ mtc1 $at, $f1
/* C74954 802434D4 44800000 */ mtc1 $zero, $f0
/* C74958 802434D8 00000000 */ nop
/* C7495C 802434DC 4620103C */ c.lt.d $f2, $f0
/* C74960 802434E0 00000000 */ nop
/* C74964 802434E4 45000009 */ bc1f .L8024350C
/* C74968 802434E8 00000000 */ nop
/* C7496C 802434EC C622003C */ lwc1 $f2, 0x3c($s1)
/* C74970 802434F0 C7A00030 */ lwc1 $f0, 0x30($sp)
/* C74974 802434F4 46001032 */ c.eq.s $f2, $f0
/* C74978 802434F8 00000000 */ nop
/* C7497C 802434FC 45010003 */ bc1t .L8024350C
/* C74980 80243500 00000000 */ nop
/* C74984 80243504 08090DBC */ j .L802436F0
/* C74988 80243508 241E0001 */ addiu $fp, $zero, 1
.L8024350C:
/* C7498C 8024350C 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* C74990 80243510 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* C74994 80243514 8E020000 */ lw $v0, ($s0)
/* C74998 80243518 3C014024 */ lui $at, 0x4024
/* C7499C 8024351C 44811800 */ mtc1 $at, $f3
/* C749A0 80243520 44801000 */ mtc1 $zero, $f2
/* C749A4 80243524 C440002C */ lwc1 $f0, 0x2c($v0)
/* C749A8 80243528 C4460028 */ lwc1 $f6, 0x28($v0)
/* C749AC 8024352C C4440030 */ lwc1 $f4, 0x30($v0)
/* C749B0 80243530 46000021 */ cvt.d.s $f0, $f0
/* C749B4 80243534 46220000 */ add.d $f0, $f0, $f2
/* C749B8 80243538 E7A60020 */ swc1 $f6, 0x20($sp)
/* C749BC 8024353C E7A40028 */ swc1 $f4, 0x28($sp)
/* C749C0 80243540 46200020 */ cvt.s.d $f0, $f0
/* C749C4 80243544 E7A00024 */ swc1 $f0, 0x24($sp)
/* C749C8 80243548 E7B40010 */ swc1 $f20, 0x10($sp)
/* C749CC 8024354C E7B60014 */ swc1 $f22, 0x14($sp)
/* C749D0 80243550 862200A8 */ lh $v0, 0xa8($s1)
/* C749D4 80243554 27A50020 */ addiu $a1, $sp, 0x20
/* C749D8 80243558 44820000 */ mtc1 $v0, $f0
/* C749DC 8024355C 00000000 */ nop
/* C749E0 80243560 46800020 */ cvt.s.w $f0, $f0
/* C749E4 80243564 E7A00018 */ swc1 $f0, 0x18($sp)
/* C749E8 80243568 862200A6 */ lh $v0, 0xa6($s1)
/* C749EC 8024356C 27A60024 */ addiu $a2, $sp, 0x24
/* C749F0 80243570 44820000 */ mtc1 $v0, $f0
/* C749F4 80243574 00000000 */ nop
/* C749F8 80243578 46800020 */ cvt.s.w $f0, $f0
/* C749FC 8024357C E7A0001C */ swc1 $f0, 0x1c($sp)
/* C74A00 80243580 8E240080 */ lw $a0, 0x80($s1)
/* C74A04 80243584 0C037711 */ jal npc_test_move_simple_with_slipping
/* C74A08 80243588 27A70028 */ addiu $a3, $sp, 0x28
/* C74A0C 8024358C 8FA60020 */ lw $a2, 0x20($sp)
/* C74A10 80243590 8E020000 */ lw $v0, ($s0)
/* C74A14 80243594 8FA70028 */ lw $a3, 0x28($sp)
/* C74A18 80243598 C44C0028 */ lwc1 $f12, 0x28($v0)
/* C74A1C 8024359C C44E0030 */ lwc1 $f14, 0x30($v0)
/* C74A20 802435A0 0C00A7B5 */ jal dist2D
/* C74A24 802435A4 24170001 */ addiu $s7, $zero, 1
/* C74A28 802435A8 46000506 */ mov.s $f20, $f0
/* C74A2C 802435AC 8E030000 */ lw $v1, ($s0)
/* C74A30 802435B0 862200A6 */ lh $v0, 0xa6($s1)
/* C74A34 802435B4 4407C000 */ mfc1 $a3, $f24
/* C74A38 802435B8 44824000 */ mtc1 $v0, $f8
/* C74A3C 802435BC 00000000 */ nop
/* C74A40 802435C0 46804220 */ cvt.s.w $f8, $f8
/* C74A44 802435C4 C4600028 */ lwc1 $f0, 0x28($v1)
/* C74A48 802435C8 44064000 */ mfc1 $a2, $f8
/* C74A4C 802435CC 26240038 */ addiu $a0, $s1, 0x38
/* C74A50 802435D0 E6200038 */ swc1 $f0, 0x38($s1)
/* C74A54 802435D4 C4600030 */ lwc1 $f0, 0x30($v1)
/* C74A58 802435D8 26250040 */ addiu $a1, $s1, 0x40
/* C74A5C 802435DC 0C00A7E7 */ jal add_vec2D_polar
/* C74A60 802435E0 E6200040 */ swc1 $f0, 0x40($s1)
/* C74A64 802435E4 862200A6 */ lh $v0, 0xa6($s1)
/* C74A68 802435E8 44820000 */ mtc1 $v0, $f0
/* C74A6C 802435EC 00000000 */ nop
/* C74A70 802435F0 46800020 */ cvt.s.w $f0, $f0
/* C74A74 802435F4 08090DB8 */ j .L802436E0
/* C74A78 802435F8 4600A500 */ add.s $f20, $f20, $f0
.L802435FC:
/* C74A7C 802435FC 8EA20000 */ lw $v0, ($s5)
/* C74A80 80243600 3C014032 */ lui $at, 0x4032
/* C74A84 80243604 44811800 */ mtc1 $at, $f3
/* C74A88 80243608 44801000 */ mtc1 $zero, $f2
/* C74A8C 8024360C C440002C */ lwc1 $f0, 0x2c($v0)
/* C74A90 80243610 C4460028 */ lwc1 $f6, 0x28($v0)
/* C74A94 80243614 C4440030 */ lwc1 $f4, 0x30($v0)
/* C74A98 80243618 46000021 */ cvt.d.s $f0, $f0
/* C74A9C 8024361C 46220000 */ add.d $f0, $f0, $f2
/* C74AA0 80243620 E7A60020 */ swc1 $f6, 0x20($sp)
/* C74AA4 80243624 E7A40028 */ swc1 $f4, 0x28($sp)
/* C74AA8 80243628 46200020 */ cvt.s.d $f0, $f0
/* C74AAC 8024362C E7A00024 */ swc1 $f0, 0x24($sp)
/* C74AB0 80243630 E7B40010 */ swc1 $f20, 0x10($sp)
/* C74AB4 80243634 E7B60014 */ swc1 $f22, 0x14($sp)
/* C74AB8 80243638 862200A8 */ lh $v0, 0xa8($s1)
/* C74ABC 8024363C 44820000 */ mtc1 $v0, $f0
/* C74AC0 80243640 00000000 */ nop
/* C74AC4 80243644 46800020 */ cvt.s.w $f0, $f0
/* C74AC8 80243648 E7A00018 */ swc1 $f0, 0x18($sp)
/* C74ACC 8024364C 862200A6 */ lh $v0, 0xa6($s1)
/* C74AD0 80243650 27A60024 */ addiu $a2, $sp, 0x24
/* C74AD4 80243654 44820000 */ mtc1 $v0, $f0
/* C74AD8 80243658 00000000 */ nop
/* C74ADC 8024365C 46800020 */ cvt.s.w $f0, $f0
/* C74AE0 80243660 E7A0001C */ swc1 $f0, 0x1c($sp)
/* C74AE4 80243664 8E240080 */ lw $a0, 0x80($s1)
/* C74AE8 80243668 0C037711 */ jal npc_test_move_simple_with_slipping
/* C74AEC 8024366C 27A70028 */ addiu $a3, $sp, 0x28
/* C74AF0 80243670 1040001F */ beqz $v0, .L802436F0
/* C74AF4 80243674 00000000 */ nop
/* C74AF8 80243678 8FA60020 */ lw $a2, 0x20($sp)
/* C74AFC 8024367C 8EA20000 */ lw $v0, ($s5)
/* C74B00 80243680 8FA70028 */ lw $a3, 0x28($sp)
/* C74B04 80243684 C44C0028 */ lwc1 $f12, 0x28($v0)
/* C74B08 80243688 0C00A7B5 */ jal dist2D
/* C74B0C 8024368C C44E0030 */ lwc1 $f14, 0x30($v0)
/* C74B10 80243690 46000506 */ mov.s $f20, $f0
/* C74B14 80243694 8EA30000 */ lw $v1, ($s5)
/* C74B18 80243698 862200A6 */ lh $v0, 0xa6($s1)
/* C74B1C 8024369C 4407C000 */ mfc1 $a3, $f24
/* C74B20 802436A0 44824000 */ mtc1 $v0, $f8
/* C74B24 802436A4 00000000 */ nop
/* C74B28 802436A8 46804220 */ cvt.s.w $f8, $f8
/* C74B2C 802436AC C4600028 */ lwc1 $f0, 0x28($v1)
/* C74B30 802436B0 44064000 */ mfc1 $a2, $f8
/* C74B34 802436B4 0200202D */ daddu $a0, $s0, $zero
/* C74B38 802436B8 E6200038 */ swc1 $f0, 0x38($s1)
/* C74B3C 802436BC C4600030 */ lwc1 $f0, 0x30($v1)
/* C74B40 802436C0 0260282D */ daddu $a1, $s3, $zero
/* C74B44 802436C4 0C00A7E7 */ jal add_vec2D_polar
/* C74B48 802436C8 E6200040 */ swc1 $f0, 0x40($s1)
/* C74B4C 802436CC 862200A6 */ lh $v0, 0xa6($s1)
/* C74B50 802436D0 44820000 */ mtc1 $v0, $f0
/* C74B54 802436D4 00000000 */ nop
/* C74B58 802436D8 46800020 */ cvt.s.w $f0, $f0
/* C74B5C 802436DC 4600A500 */ add.s $f20, $f20, $f0
.L802436E0:
/* C74B60 802436E0 4406B000 */ mfc1 $a2, $f22
/* C74B64 802436E4 4405A000 */ mfc1 $a1, $f20
/* C74B68 802436E8 0C00EA95 */ jal npc_move_heading
/* C74B6C 802436EC 0220202D */ daddu $a0, $s1, $zero
.L802436F0:
/* C74B70 802436F0 C6400008 */ lwc1 $f0, 8($s2)
/* C74B74 802436F4 46800020 */ cvt.s.w $f0, $f0
/* C74B78 802436F8 44050000 */ mfc1 $a1, $f0
/* C74B7C 802436FC C640000C */ lwc1 $f0, 0xc($s2)
/* C74B80 80243700 46800020 */ cvt.s.w $f0, $f0
/* C74B84 80243704 44060000 */ mfc1 $a2, $f0
/* C74B88 80243708 C6200040 */ lwc1 $f0, 0x40($s1)
/* C74B8C 8024370C 26300038 */ addiu $s0, $s1, 0x38
/* C74B90 80243710 E7A00010 */ swc1 $f0, 0x10($sp)
/* C74B94 80243714 C6400010 */ lwc1 $f0, 0x10($s2)
/* C74B98 80243718 46800020 */ cvt.s.w $f0, $f0
/* C74B9C 8024371C E7A00014 */ swc1 $f0, 0x14($sp)
/* C74BA0 80243720 C6400014 */ lwc1 $f0, 0x14($s2)
/* C74BA4 80243724 46800020 */ cvt.s.w $f0, $f0
/* C74BA8 80243728 E7A00018 */ swc1 $f0, 0x18($sp)
/* C74BAC 8024372C 8E440004 */ lw $a0, 4($s2)
/* C74BB0 80243730 8E270038 */ lw $a3, 0x38($s1)
/* C74BB4 80243734 0C0123F5 */ jal is_point_within_region
/* C74BB8 80243738 26330040 */ addiu $s3, $s1, 0x40
/* C74BBC 8024373C 1040005A */ beqz $v0, .L802438A8
/* C74BC0 80243740 00000000 */ nop
/* C74BC4 80243744 8E430004 */ lw $v1, 4($s2)
/* C74BC8 80243748 10600005 */ beqz $v1, .L80243760
/* C74BCC 8024374C 24020001 */ addiu $v0, $zero, 1
/* C74BD0 80243750 10620029 */ beq $v1, $v0, .L802437F8
/* C74BD4 80243754 00000000 */ nop
/* C74BD8 80243758 08090E2A */ j .L802438A8
/* C74BDC 8024375C 00000000 */ nop
.L80243760:
/* C74BE0 80243760 C6480008 */ lwc1 $f8, 8($s2)
/* C74BE4 80243764 46804220 */ cvt.s.w $f8, $f8
/* C74BE8 80243768 44064000 */ mfc1 $a2, $f8
/* C74BEC 8024376C C648000C */ lwc1 $f8, 0xc($s2)
/* C74BF0 80243770 46804220 */ cvt.s.w $f8, $f8
/* C74BF4 80243774 C62C0038 */ lwc1 $f12, 0x38($s1)
/* C74BF8 80243778 C62E0040 */ lwc1 $f14, 0x40($s1)
/* C74BFC 8024377C 44074000 */ mfc1 $a3, $f8
/* C74C00 80243780 0C00A7B5 */ jal dist2D
/* C74C04 80243784 00000000 */ nop
/* C74C08 80243788 C6420010 */ lwc1 $f2, 0x10($s2)
/* C74C0C 8024378C 468010A0 */ cvt.s.w $f2, $f2
/* C74C10 80243790 4600103C */ c.lt.s $f2, $f0
/* C74C14 80243794 00000000 */ nop
/* C74C18 80243798 45000043 */ bc1f .L802438A8
/* C74C1C 8024379C E7A00038 */ swc1 $f0, 0x38($sp)
/* C74C20 802437A0 C64C0008 */ lwc1 $f12, 8($s2)
/* C74C24 802437A4 46806320 */ cvt.s.w $f12, $f12
/* C74C28 802437A8 8E260038 */ lw $a2, 0x38($s1)
/* C74C2C 802437AC 8E270040 */ lw $a3, 0x40($s1)
/* C74C30 802437B0 C64E000C */ lwc1 $f14, 0xc($s2)
/* C74C34 802437B4 0C00A720 */ jal atan2
/* C74C38 802437B8 468073A0 */ cvt.s.w $f14, $f14
/* C74C3C 802437BC 0200202D */ daddu $a0, $s0, $zero
/* C74C40 802437C0 44070000 */ mfc1 $a3, $f0
/* C74C44 802437C4 C6400008 */ lwc1 $f0, 8($s2)
/* C74C48 802437C8 46800020 */ cvt.s.w $f0, $f0
/* C74C4C 802437CC E6200038 */ swc1 $f0, 0x38($s1)
/* C74C50 802437D0 C640000C */ lwc1 $f0, 0xc($s2)
/* C74C54 802437D4 46800020 */ cvt.s.w $f0, $f0
/* C74C58 802437D8 E6200040 */ swc1 $f0, 0x40($s1)
/* C74C5C 802437DC C6480010 */ lwc1 $f8, 0x10($s2)
/* C74C60 802437E0 46804220 */ cvt.s.w $f8, $f8
/* C74C64 802437E4 44064000 */ mfc1 $a2, $f8
/* C74C68 802437E8 0C00A7E7 */ jal add_vec2D_polar
/* C74C6C 802437EC 0260282D */ daddu $a1, $s3, $zero
/* C74C70 802437F0 08090E2A */ j .L802438A8
/* C74C74 802437F4 00000000 */ nop
.L802437F8:
/* C74C78 802437F8 8E420008 */ lw $v0, 8($s2)
/* C74C7C 802437FC 8E430010 */ lw $v1, 0x10($s2)
/* C74C80 80243800 C6200038 */ lwc1 $f0, 0x38($s1)
/* C74C84 80243804 00431021 */ addu $v0, $v0, $v1
/* C74C88 80243808 44821000 */ mtc1 $v0, $f2
/* C74C8C 8024380C 00000000 */ nop
/* C74C90 80243810 468010A0 */ cvt.s.w $f2, $f2
/* C74C94 80243814 4600103C */ c.lt.s $f2, $f0
/* C74C98 80243818 00000000 */ nop
/* C74C9C 8024381C 45030001 */ bc1tl .L80243824
/* C74CA0 80243820 E6220038 */ swc1 $f2, 0x38($s1)
.L80243824:
/* C74CA4 80243824 8E420008 */ lw $v0, 8($s2)
/* C74CA8 80243828 8E430010 */ lw $v1, 0x10($s2)
/* C74CAC 8024382C C6200038 */ lwc1 $f0, 0x38($s1)
/* C74CB0 80243830 00431023 */ subu $v0, $v0, $v1
/* C74CB4 80243834 44821000 */ mtc1 $v0, $f2
/* C74CB8 80243838 00000000 */ nop
/* C74CBC 8024383C 468010A0 */ cvt.s.w $f2, $f2
/* C74CC0 80243840 4602003C */ c.lt.s $f0, $f2
/* C74CC4 80243844 00000000 */ nop
/* C74CC8 80243848 45030001 */ bc1tl .L80243850
/* C74CCC 8024384C E6220038 */ swc1 $f2, 0x38($s1)
.L80243850:
/* C74CD0 80243850 8E42000C */ lw $v0, 0xc($s2)
/* C74CD4 80243854 8E430014 */ lw $v1, 0x14($s2)
/* C74CD8 80243858 C6200040 */ lwc1 $f0, 0x40($s1)
/* C74CDC 8024385C 00431021 */ addu $v0, $v0, $v1
/* C74CE0 80243860 44821000 */ mtc1 $v0, $f2
/* C74CE4 80243864 00000000 */ nop
/* C74CE8 80243868 468010A0 */ cvt.s.w $f2, $f2
/* C74CEC 8024386C 4600103C */ c.lt.s $f2, $f0
/* C74CF0 80243870 00000000 */ nop
/* C74CF4 80243874 45030001 */ bc1tl .L8024387C
/* C74CF8 80243878 E6220040 */ swc1 $f2, 0x40($s1)
.L8024387C:
/* C74CFC 8024387C 8E42000C */ lw $v0, 0xc($s2)
/* C74D00 80243880 8E430014 */ lw $v1, 0x14($s2)
/* C74D04 80243884 C6200040 */ lwc1 $f0, 0x40($s1)
/* C74D08 80243888 00431023 */ subu $v0, $v0, $v1
/* C74D0C 8024388C 44821000 */ mtc1 $v0, $f2
/* C74D10 80243890 00000000 */ nop
/* C74D14 80243894 468010A0 */ cvt.s.w $f2, $f2
/* C74D18 80243898 4602003C */ c.lt.s $f0, $f2
/* C74D1C 8024389C 00000000 */ nop
/* C74D20 802438A0 45030001 */ bc1tl .L802438A8
/* C74D24 802438A4 E6220040 */ swc1 $f2, 0x40($s1)
.L802438A8:
/* C74D28 802438A8 16E0001F */ bnez $s7, .L80243928
/* C74D2C 802438AC 00000000 */ nop
/* C74D30 802438B0 8E220000 */ lw $v0, ($s1)
/* C74D34 802438B4 30420008 */ andi $v0, $v0, 8
/* C74D38 802438B8 10400003 */ beqz $v0, .L802438C8
/* C74D3C 802438BC 27A50020 */ addiu $a1, $sp, 0x20
/* C74D40 802438C0 13C00019 */ beqz $fp, .L80243928
/* C74D44 802438C4 00000000 */ nop
.L802438C8:
/* C74D48 802438C8 27A60024 */ addiu $a2, $sp, 0x24
/* C74D4C 802438CC 27A20038 */ addiu $v0, $sp, 0x38
/* C74D50 802438D0 C6220038 */ lwc1 $f2, 0x38($s1)
/* C74D54 802438D4 C620003C */ lwc1 $f0, 0x3c($s1)
/* C74D58 802438D8 3C0143C8 */ lui $at, 0x43c8
/* C74D5C 802438DC 44813000 */ mtc1 $at, $f6
/* C74D60 802438E0 46000021 */ cvt.d.s $f0, $f0
/* C74D64 802438E4 E7A20020 */ swc1 $f2, 0x20($sp)
/* C74D68 802438E8 3C018024 */ lui $at, %hi(D_80245858_C76CD8)
/* C74D6C 802438EC D4225858 */ ldc1 $f2, %lo(D_80245858_C76CD8)($at)
/* C74D70 802438F0 C6240040 */ lwc1 $f4, 0x40($s1)
/* C74D74 802438F4 46220000 */ add.d $f0, $f0, $f2
/* C74D78 802438F8 E7A60038 */ swc1 $f6, 0x38($sp)
/* C74D7C 802438FC E7A40028 */ swc1 $f4, 0x28($sp)
/* C74D80 80243900 46200020 */ cvt.s.d $f0, $f0
/* C74D84 80243904 E7A00024 */ swc1 $f0, 0x24($sp)
/* C74D88 80243908 AFA20010 */ sw $v0, 0x10($sp)
/* C74D8C 8024390C 8E240080 */ lw $a0, 0x80($s1)
/* C74D90 80243910 0C0372DF */ jal npc_raycast_down_sides
/* C74D94 80243914 27A70028 */ addiu $a3, $sp, 0x28
/* C74D98 80243918 10400003 */ beqz $v0, .L80243928
/* C74D9C 8024391C 00000000 */ nop
/* C74DA0 80243920 C7A00024 */ lwc1 $f0, 0x24($sp)
/* C74DA4 80243924 E620003C */ swc1 $f0, 0x3c($s1)
.L80243928:
/* C74DA8 80243928 C62C0038 */ lwc1 $f12, 0x38($s1)
/* C74DAC 8024392C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* C74DB0 80243930 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* C74DB4 80243934 C62E0040 */ lwc1 $f14, 0x40($s1)
/* C74DB8 80243938 8C460028 */ lw $a2, 0x28($v0)
/* C74DBC 8024393C 0C00A720 */ jal atan2
/* C74DC0 80243940 8C470030 */ lw $a3, 0x30($v0)
/* C74DC4 80243944 0220202D */ daddu $a0, $s1, $zero
/* C74DC8 80243948 24050321 */ addiu $a1, $zero, 0x321
/* C74DCC 8024394C 0000302D */ daddu $a2, $zero, $zero
/* C74DD0 80243950 0C012530 */ jal ai_enemy_play_sound
/* C74DD4 80243954 E620000C */ swc1 $f0, 0xc($s1)
/* C74DD8 80243958 8EC200CC */ lw $v0, 0xcc($s6)
/* C74DDC 8024395C 8C420024 */ lw $v0, 0x24($v0)
/* C74DE0 80243960 AE220028 */ sw $v0, 0x28($s1)
/* C74DE4 80243964 96C20096 */ lhu $v0, 0x96($s6)
/* C74DE8 80243968 A622008E */ sh $v0, 0x8e($s1)
/* C74DEC 8024396C 8FA80080 */ lw $t0, 0x80($sp)
/* C74DF0 80243970 2402000B */ addiu $v0, $zero, 0xb
/* C74DF4 80243974 AD020070 */ sw $v0, 0x70($t0)
.L80243978:
/* C74DF8 80243978 8FBF0064 */ lw $ra, 0x64($sp)
/* C74DFC 8024397C 8FBE0060 */ lw $fp, 0x60($sp)
/* C74E00 80243980 8FB7005C */ lw $s7, 0x5c($sp)
/* C74E04 80243984 8FB60058 */ lw $s6, 0x58($sp)
/* C74E08 80243988 8FB50054 */ lw $s5, 0x54($sp)
/* C74E0C 8024398C 8FB40050 */ lw $s4, 0x50($sp)
/* C74E10 80243990 8FB3004C */ lw $s3, 0x4c($sp)
/* C74E14 80243994 8FB20048 */ lw $s2, 0x48($sp)
/* C74E18 80243998 8FB10044 */ lw $s1, 0x44($sp)
/* C74E1C 8024399C 8FB00040 */ lw $s0, 0x40($sp)
/* C74E20 802439A0 D7B80078 */ ldc1 $f24, 0x78($sp)
/* C74E24 802439A4 D7B60070 */ ldc1 $f22, 0x70($sp)
/* C74E28 802439A8 D7B40068 */ ldc1 $f20, 0x68($sp)
/* C74E2C 802439AC 03E00008 */ jr $ra
/* C74E30 802439B0 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -110,7 +110,7 @@ glabel func_80243C90_C75110
/* C7529C 80243E1C 00000000 */ nop
.L80243E20:
/* C752A0 80243E20 0260282D */ daddu $a1, $s3, $zero
/* C752A4 80243E24 0C090BDD */ jal func_80242F74_C743F4
/* C752A4 80243E24 0C090BDD */ jal kzn_08_UnkNpcAIFunc46
/* C752A8 80243E28 0280302D */ daddu $a2, $s4, $zero
/* C752AC 80243E2C 8E420070 */ lw $v0, 0x70($s2)
/* C752B0 80243E30 14500021 */ bne $v0, $s0, .L80243EB8

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80244788_B97BC8
.double 380.0
dlabel D_80244790_B97BD0
.double -380.0
dlabel D_80244798_B97BD8
.double 305.0
dlabel D_802447A0_B97BE0
.double 375.0
dlabel D_802447A8_B97BE8
.double 45.0
dlabel D_802447B0_B97BF0
.double 150.0, 0.0
.section .text
glabel func_80240F38_B94378
/* B94378 80240F38 27BDFF80 */ addiu $sp, $sp, -0x80
/* B9437C 80240F3C AFBF0064 */ sw $ra, 0x64($sp)
/* B94380 80240F40 AFBE0060 */ sw $fp, 0x60($sp)
/* B94384 80240F44 AFB7005C */ sw $s7, 0x5c($sp)
/* B94388 80240F48 AFB60058 */ sw $s6, 0x58($sp)
/* B9438C 80240F4C AFB50054 */ sw $s5, 0x54($sp)
/* B94390 80240F50 AFB40050 */ sw $s4, 0x50($sp)
/* B94394 80240F54 AFB3004C */ sw $s3, 0x4c($sp)
/* B94398 80240F58 AFB20048 */ sw $s2, 0x48($sp)
/* B9439C 80240F5C AFB10044 */ sw $s1, 0x44($sp)
/* B943A0 80240F60 AFB00040 */ sw $s0, 0x40($sp)
/* B943A4 80240F64 F7B80078 */ sdc1 $f24, 0x78($sp)
/* B943A8 80240F68 F7B60070 */ sdc1 $f22, 0x70($sp)
/* B943AC 80240F6C F7B40068 */ sdc1 $f20, 0x68($sp)
/* B943B0 80240F70 AFA40080 */ sw $a0, 0x80($sp)
/* B943B4 80240F74 8C960148 */ lw $s6, 0x148($a0)
/* B943B8 80240F78 00C0902D */ daddu $s2, $a2, $zero
/* B943BC 80240F7C 86C40008 */ lh $a0, 8($s6)
/* B943C0 80240F80 0C00EABB */ jal get_npc_unsafe
/* B943C4 80240F84 0000B82D */ daddu $s7, $zero, $zero
/* B943C8 80240F88 0040882D */ daddu $s1, $v0, $zero
/* B943CC 80240F8C 9622008E */ lhu $v0, 0x8e($s1)
/* B943D0 80240F90 2442FFFF */ addiu $v0, $v0, -1
/* B943D4 80240F94 A622008E */ sh $v0, 0x8e($s1)
/* B943D8 80240F98 00021400 */ sll $v0, $v0, 0x10
/* B943DC 80240F9C 8EC30090 */ lw $v1, 0x90($s6)
/* B943E0 80240FA0 00021403 */ sra $v0, $v0, 0x10
/* B943E4 80240FA4 0062182A */ slt $v1, $v1, $v0
/* B943E8 80240FA8 14600005 */ bnez $v1, .L80240FC0
/* B943EC 80240FAC 02E0F02D */ daddu $fp, $s7, $zero
/* B943F0 80240FB0 8EC20000 */ lw $v0, ($s6)
/* B943F4 80240FB4 3C031F10 */ lui $v1, 0x1f10
/* B943F8 80240FB8 00431025 */ or $v0, $v0, $v1
/* B943FC 80240FBC AEC20000 */ sw $v0, ($s6)
.L80240FC0:
/* B94400 80240FC0 8622008E */ lh $v0, 0x8e($s1)
/* B94404 80240FC4 1440025D */ bnez $v0, .L8024193C
/* B94408 80240FC8 00000000 */ nop
/* B9440C 80240FCC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* B94410 80240FD0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* B94414 80240FD4 0C00A6C9 */ jal clamp_angle
/* B94418 80240FD8 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* B9441C 80240FDC 3C014334 */ lui $at, 0x4334
/* B94420 80240FE0 44811000 */ mtc1 $at, $f2
/* B94424 80240FE4 00000000 */ nop
/* B94428 80240FE8 4602003C */ c.lt.s $f0, $f2
/* B9442C 80240FEC 00000000 */ nop
/* B94430 80240FF0 45000011 */ bc1f .L80241038
/* B94434 80240FF4 00000000 */ nop
/* B94438 80240FF8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* B9443C 80240FFC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* B94440 80241000 3C0142B4 */ lui $at, 0x42b4
/* B94444 80241004 44816000 */ mtc1 $at, $f12
/* B94448 80241008 00031080 */ sll $v0, $v1, 2
/* B9444C 8024100C 00431021 */ addu $v0, $v0, $v1
/* B94450 80241010 00021080 */ sll $v0, $v0, 2
/* B94454 80241014 00431023 */ subu $v0, $v0, $v1
/* B94458 80241018 000218C0 */ sll $v1, $v0, 3
/* B9445C 8024101C 00431021 */ addu $v0, $v0, $v1
/* B94460 80241020 000210C0 */ sll $v0, $v0, 3
/* B94464 80241024 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* B94468 80241028 00220821 */ addu $at, $at, $v0
/* B9446C 8024102C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* B94470 80241030 0809041D */ j .L80241074
/* B94474 80241034 460C0301 */ sub.s $f12, $f0, $f12
.L80241038:
/* B94478 80241038 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* B9447C 8024103C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* B94480 80241040 3C0142B4 */ lui $at, 0x42b4
/* B94484 80241044 44816000 */ mtc1 $at, $f12
/* B94488 80241048 00031080 */ sll $v0, $v1, 2
/* B9448C 8024104C 00431021 */ addu $v0, $v0, $v1
/* B94490 80241050 00021080 */ sll $v0, $v0, 2
/* B94494 80241054 00431023 */ subu $v0, $v0, $v1
/* B94498 80241058 000218C0 */ sll $v1, $v0, 3
/* B9449C 8024105C 00431021 */ addu $v0, $v0, $v1
/* B944A0 80241060 000210C0 */ sll $v0, $v0, 3
/* B944A4 80241064 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* B944A8 80241068 00220821 */ addu $at, $at, $v0
/* B944AC 8024106C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* B944B0 80241070 460C0300 */ add.s $f12, $f0, $f12
.L80241074:
/* B944B4 80241074 0C00A6C9 */ jal clamp_angle
/* B944B8 80241078 00000000 */ nop
/* B944BC 8024107C 46000586 */ mov.s $f22, $f0
/* B944C0 80241080 3C014334 */ lui $at, 0x4334
/* B944C4 80241084 44816000 */ mtc1 $at, $f12
/* B944C8 80241088 0C00A6C9 */ jal clamp_angle
/* B944CC 8024108C 460CB300 */ add.s $f12, $f22, $f12
/* B944D0 80241090 8EC20088 */ lw $v0, 0x88($s6)
/* B944D4 80241094 14400010 */ bnez $v0, .L802410D8
/* B944D8 80241098 46000606 */ mov.s $f24, $f0
/* B944DC 8024109C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* B944E0 802410A0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* B944E4 802410A4 804300B4 */ lb $v1, 0xb4($v0)
/* B944E8 802410A8 3C014200 */ lui $at, 0x4200
/* B944EC 802410AC 4481A000 */ mtc1 $at, $f20
/* B944F0 802410B0 10600016 */ beqz $v1, .L8024110C
/* B944F4 802410B4 24020001 */ addiu $v0, $zero, 1
/* B944F8 802410B8 3C0142C8 */ lui $at, 0x42c8
/* B944FC 802410BC 4481A000 */ mtc1 $at, $f20
/* B94500 802410C0 14620013 */ bne $v1, $v0, .L80241110
/* B94504 802410C4 26300038 */ addiu $s0, $s1, 0x38
/* B94508 802410C8 3C0142B4 */ lui $at, 0x42b4
/* B9450C 802410CC 4481A000 */ mtc1 $at, $f20
/* B94510 802410D0 08090445 */ j .L80241114
/* B94514 802410D4 0200202D */ daddu $a0, $s0, $zero
.L802410D8:
/* B94518 802410D8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* B9451C 802410DC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* B94520 802410E0 804300B4 */ lb $v1, 0xb4($v0)
/* B94524 802410E4 3C014218 */ lui $at, 0x4218
/* B94528 802410E8 4481A000 */ mtc1 $at, $f20
/* B9452C 802410EC 10600007 */ beqz $v1, .L8024110C
/* B94530 802410F0 24020001 */ addiu $v0, $zero, 1
/* B94534 802410F4 3C0142B4 */ lui $at, 0x42b4
/* B94538 802410F8 4481A000 */ mtc1 $at, $f20
/* B9453C 802410FC 14620004 */ bne $v1, $v0, .L80241110
/* B94540 80241100 26300038 */ addiu $s0, $s1, 0x38
/* B94544 80241104 3C014296 */ lui $at, 0x4296
/* B94548 80241108 4481A000 */ mtc1 $at, $f20
.L8024110C:
/* B9454C 8024110C 26300038 */ addiu $s0, $s1, 0x38
.L80241110:
/* B94550 80241110 0200202D */ daddu $a0, $s0, $zero
.L80241114:
/* B94554 80241114 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* B94558 80241118 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* B9455C 8024111C 4407C000 */ mfc1 $a3, $f24
/* B94560 80241120 862200A6 */ lh $v0, 0xa6($s1)
/* B94564 80241124 8EA30000 */ lw $v1, ($s5)
/* B94568 80241128 44824000 */ mtc1 $v0, $f8
/* B9456C 8024112C 00000000 */ nop
/* B94570 80241130 46804220 */ cvt.s.w $f8, $f8
/* B94574 80241134 C4600028 */ lwc1 $f0, 0x28($v1)
/* B94578 80241138 44064000 */ mfc1 $a2, $f8
/* B9457C 8024113C 26330040 */ addiu $s3, $s1, 0x40
/* B94580 80241140 E6200038 */ swc1 $f0, 0x38($s1)
/* B94584 80241144 C4600030 */ lwc1 $f0, 0x30($v1)
/* B94588 80241148 0260282D */ daddu $a1, $s3, $zero
/* B9458C 8024114C 0C00A7E7 */ jal add_vec2D_polar
/* B94590 80241150 E6200040 */ swc1 $f0, 0x40($s1)
/* B94594 80241154 862200A6 */ lh $v0, 0xa6($s1)
/* B94598 80241158 44820000 */ mtc1 $v0, $f0
/* B9459C 8024115C 00000000 */ nop
/* B945A0 80241160 46800020 */ cvt.s.w $f0, $f0
/* B945A4 80241164 4600A000 */ add.s $f0, $f20, $f0
/* B945A8 80241168 4406B000 */ mfc1 $a2, $f22
/* B945AC 8024116C 44050000 */ mfc1 $a1, $f0
/* B945B0 80241170 0C00EA95 */ jal npc_move_heading
/* B945B4 80241174 0220202D */ daddu $a0, $s1, $zero
/* B945B8 80241178 8EC20088 */ lw $v0, 0x88($s6)
/* B945BC 8024117C 1440005D */ bnez $v0, .L802412F4
/* B945C0 80241180 00000000 */ nop
/* B945C4 80241184 C6200038 */ lwc1 $f0, 0x38($s1)
/* B945C8 80241188 3C018024 */ lui $at, %hi(D_80244788_B97BC8)
/* B945CC 8024118C D4244788 */ ldc1 $f4, %lo(D_80244788_B97BC8)($at)
/* B945D0 80241190 46000021 */ cvt.d.s $f0, $f0
/* B945D4 80241194 4620203C */ c.lt.d $f4, $f0
/* B945D8 80241198 00000000 */ nop
/* B945DC 8024119C 45000005 */ bc1f .L802411B4
/* B945E0 802411A0 00000000 */ nop
/* B945E4 802411A4 3C0143BE */ lui $at, 0x43be
/* B945E8 802411A8 44810000 */ mtc1 $at, $f0
/* B945EC 802411AC 00000000 */ nop
/* B945F0 802411B0 E6200038 */ swc1 $f0, 0x38($s1)
.L802411B4:
/* B945F4 802411B4 C6200038 */ lwc1 $f0, 0x38($s1)
/* B945F8 802411B8 3C018024 */ lui $at, %hi(D_80244790_B97BD0)
/* B945FC 802411BC D4224790 */ ldc1 $f2, %lo(D_80244790_B97BD0)($at)
/* B94600 802411C0 46000021 */ cvt.d.s $f0, $f0
/* B94604 802411C4 4622003C */ c.lt.d $f0, $f2
/* B94608 802411C8 00000000 */ nop
/* B9460C 802411CC 45000005 */ bc1f .L802411E4
/* B94610 802411D0 00000000 */ nop
/* B94614 802411D4 3C01C3BE */ lui $at, 0xc3be
/* B94618 802411D8 44810000 */ mtc1 $at, $f0
/* B9461C 802411DC 00000000 */ nop
/* B94620 802411E0 E6200038 */ swc1 $f0, 0x38($s1)
.L802411E4:
/* B94624 802411E4 C6200040 */ lwc1 $f0, 0x40($s1)
/* B94628 802411E8 46000021 */ cvt.d.s $f0, $f0
/* B9462C 802411EC 4620203C */ c.lt.d $f4, $f0
/* B94630 802411F0 00000000 */ nop
/* B94634 802411F4 45000005 */ bc1f .L8024120C
/* B94638 802411F8 00000000 */ nop
/* B9463C 802411FC 3C0143BE */ lui $at, 0x43be
/* B94640 80241200 44810000 */ mtc1 $at, $f0
/* B94644 80241204 00000000 */ nop
/* B94648 80241208 E6200040 */ swc1 $f0, 0x40($s1)
.L8024120C:
/* B9464C 8024120C C6200040 */ lwc1 $f0, 0x40($s1)
/* B94650 80241210 46000021 */ cvt.d.s $f0, $f0
/* B94654 80241214 4622003C */ c.lt.d $f0, $f2
/* B94658 80241218 00000000 */ nop
/* B9465C 8024121C 45000005 */ bc1f .L80241234
/* B94660 80241220 00000000 */ nop
/* B94664 80241224 3C01C3BE */ lui $at, 0xc3be
/* B94668 80241228 44810000 */ mtc1 $at, $f0
/* B9466C 8024122C 00000000 */ nop
/* B94670 80241230 E6200040 */ swc1 $f0, 0x40($s1)
.L80241234:
/* B94674 80241234 C6220038 */ lwc1 $f2, 0x38($s1)
/* B94678 80241238 46021082 */ mul.s $f2, $f2, $f2
/* B9467C 8024123C 00000000 */ nop
/* B94680 80241240 C6200040 */ lwc1 $f0, 0x40($s1)
/* B94684 80241244 46000002 */ mul.s $f0, $f0, $f0
/* B94688 80241248 00000000 */ nop
/* B9468C 8024124C 46001300 */ add.s $f12, $f2, $f0
/* B94690 80241250 46006004 */ sqrt.s $f0, $f12
/* B94694 80241254 46000032 */ c.eq.s $f0, $f0
/* B94698 80241258 00000000 */ nop
/* B9469C 8024125C 45010003 */ bc1t .L8024126C
/* B946A0 80241260 00000000 */ nop
/* B946A4 80241264 0C0187BC */ jal sqrtf
/* B946A8 80241268 00000000 */ nop
.L8024126C:
/* B946AC 8024126C 8E260038 */ lw $a2, 0x38($s1)
/* B946B0 80241270 8E270040 */ lw $a3, 0x40($s1)
/* B946B4 80241274 4480A000 */ mtc1 $zero, $f20
/* B946B8 80241278 E7A00038 */ swc1 $f0, 0x38($sp)
/* B946BC 8024127C 4600A306 */ mov.s $f12, $f20
/* B946C0 80241280 0C00A720 */ jal atan2
/* B946C4 80241284 4600A386 */ mov.s $f14, $f20
/* B946C8 80241288 46000586 */ mov.s $f22, $f0
/* B946CC 8024128C C7A20038 */ lwc1 $f2, 0x38($sp)
/* B946D0 80241290 3C018024 */ lui $at, %hi(D_80244798_B97BD8)
/* B946D4 80241294 D4204798 */ ldc1 $f0, %lo(D_80244798_B97BD8)($at)
/* B946D8 80241298 460010A1 */ cvt.d.s $f2, $f2
/* B946DC 8024129C 4620103C */ c.lt.d $f2, $f0
/* B946E0 802412A0 00000000 */ nop
/* B946E4 802412A4 45000004 */ bc1f .L802412B8
/* B946E8 802412A8 0200202D */ daddu $a0, $s0, $zero
/* B946EC 802412AC 3C064398 */ lui $a2, 0x4398
/* B946F0 802412B0 080904B6 */ j .L802412D8
/* B946F4 802412B4 34C68000 */ ori $a2, $a2, 0x8000
.L802412B8:
/* B946F8 802412B8 3C018024 */ lui $at, %hi(D_802447A0_B97BE0)
/* B946FC 802412BC D42047A0 */ ldc1 $f0, %lo(D_802447A0_B97BE0)($at)
/* B94700 802412C0 4622003C */ c.lt.d $f0, $f2
/* B94704 802412C4 00000000 */ nop
/* B94708 802412C8 450000FA */ bc1f .L802416B4
/* B9470C 802412CC 00000000 */ nop
/* B94710 802412D0 3C0643BB */ lui $a2, 0x43bb
/* B94714 802412D4 34C68000 */ ori $a2, $a2, 0x8000
.L802412D8:
/* B94718 802412D8 4407B000 */ mfc1 $a3, $f22
/* B9471C 802412DC 0260282D */ daddu $a1, $s3, $zero
/* B94720 802412E0 E6340038 */ swc1 $f20, 0x38($s1)
/* B94724 802412E4 0C00A7E7 */ jal add_vec2D_polar
/* B94728 802412E8 E6340040 */ swc1 $f20, 0x40($s1)
/* B9472C 802412EC 080905AD */ j .L802416B4
/* B94730 802412F0 00000000 */ nop
.L802412F4:
/* B94734 802412F4 8E220000 */ lw $v0, ($s1)
/* B94738 802412F8 30420040 */ andi $v0, $v0, 0x40
/* B9473C 802412FC 144000B0 */ bnez $v0, .L802415C0
/* B94740 80241300 27A50020 */ addiu $a1, $sp, 0x20
/* B94744 80241304 27B40020 */ addiu $s4, $sp, 0x20
/* B94748 80241308 0280282D */ daddu $a1, $s4, $zero
/* B9474C 8024130C 27B30024 */ addiu $s3, $sp, 0x24
/* B94750 80241310 8EA20000 */ lw $v0, ($s5)
/* B94754 80241314 3C014032 */ lui $at, 0x4032
/* B94758 80241318 44811800 */ mtc1 $at, $f3
/* B9475C 8024131C 44801000 */ mtc1 $zero, $f2
/* B94760 80241320 C440002C */ lwc1 $f0, 0x2c($v0)
/* B94764 80241324 C4460028 */ lwc1 $f6, 0x28($v0)
/* B94768 80241328 C4440030 */ lwc1 $f4, 0x30($v0)
/* B9476C 8024132C 46000021 */ cvt.d.s $f0, $f0
/* B94770 80241330 46220000 */ add.d $f0, $f0, $f2
/* B94774 80241334 E7A60020 */ swc1 $f6, 0x20($sp)
/* B94778 80241338 E7A40028 */ swc1 $f4, 0x28($sp)
/* B9477C 8024133C 46200020 */ cvt.s.d $f0, $f0
/* B94780 80241340 E7A00024 */ swc1 $f0, 0x24($sp)
/* B94784 80241344 E7B40010 */ swc1 $f20, 0x10($sp)
/* B94788 80241348 E7B60014 */ swc1 $f22, 0x14($sp)
/* B9478C 8024134C 862200A8 */ lh $v0, 0xa8($s1)
/* B94790 80241350 0260302D */ daddu $a2, $s3, $zero
/* B94794 80241354 44820000 */ mtc1 $v0, $f0
/* B94798 80241358 00000000 */ nop
/* B9479C 8024135C 46800020 */ cvt.s.w $f0, $f0
/* B947A0 80241360 E7A00018 */ swc1 $f0, 0x18($sp)
/* B947A4 80241364 862200A6 */ lh $v0, 0xa6($s1)
/* B947A8 80241368 27B00028 */ addiu $s0, $sp, 0x28
/* B947AC 8024136C 44820000 */ mtc1 $v0, $f0
/* B947B0 80241370 00000000 */ nop
/* B947B4 80241374 46800020 */ cvt.s.w $f0, $f0
/* B947B8 80241378 E7A0001C */ swc1 $f0, 0x1c($sp)
/* B947BC 8024137C 8E240080 */ lw $a0, 0x80($s1)
/* B947C0 80241380 0C037711 */ jal npc_test_move_simple_with_slipping
/* B947C4 80241384 0200382D */ daddu $a3, $s0, $zero
/* B947C8 80241388 104000CA */ beqz $v0, .L802416B4
/* B947CC 8024138C 0280282D */ daddu $a1, $s4, $zero
/* B947D0 80241390 8EA20000 */ lw $v0, ($s5)
/* B947D4 80241394 3C018024 */ lui $at, %hi(D_802447A8_B97BE8)
/* B947D8 80241398 D42247A8 */ ldc1 $f2, %lo(D_802447A8_B97BE8)($at)
/* B947DC 8024139C C440002C */ lwc1 $f0, 0x2c($v0)
/* B947E0 802413A0 C4460028 */ lwc1 $f6, 0x28($v0)
/* B947E4 802413A4 C4440030 */ lwc1 $f4, 0x30($v0)
/* B947E8 802413A8 46000021 */ cvt.d.s $f0, $f0
/* B947EC 802413AC 46220000 */ add.d $f0, $f0, $f2
/* B947F0 802413B0 E7A60020 */ swc1 $f6, 0x20($sp)
/* B947F4 802413B4 E7A40028 */ swc1 $f4, 0x28($sp)
/* B947F8 802413B8 46200020 */ cvt.s.d $f0, $f0
/* B947FC 802413BC E7A00024 */ swc1 $f0, 0x24($sp)
/* B94800 802413C0 E7B40010 */ swc1 $f20, 0x10($sp)
/* B94804 802413C4 E7B60014 */ swc1 $f22, 0x14($sp)
/* B94808 802413C8 862200A8 */ lh $v0, 0xa8($s1)
/* B9480C 802413CC 44820000 */ mtc1 $v0, $f0
/* B94810 802413D0 00000000 */ nop
/* B94814 802413D4 46800020 */ cvt.s.w $f0, $f0
/* B94818 802413D8 E7A00018 */ swc1 $f0, 0x18($sp)
/* B9481C 802413DC 862200A6 */ lh $v0, 0xa6($s1)
/* B94820 802413E0 0260302D */ daddu $a2, $s3, $zero
/* B94824 802413E4 44820000 */ mtc1 $v0, $f0
/* B94828 802413E8 00000000 */ nop
/* B9482C 802413EC 46800020 */ cvt.s.w $f0, $f0
/* B94830 802413F0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* B94834 802413F4 8E240080 */ lw $a0, 0x80($s1)
/* B94838 802413F8 0C037711 */ jal npc_test_move_simple_with_slipping
/* B9483C 802413FC 0200382D */ daddu $a3, $s0, $zero
/* B94840 80241400 27A5002C */ addiu $a1, $sp, 0x2c
/* B94844 80241404 27A60030 */ addiu $a2, $sp, 0x30
/* B94848 80241408 27A70034 */ addiu $a3, $sp, 0x34
/* B9484C 8024140C 27A30038 */ addiu $v1, $sp, 0x38
/* B94850 80241410 C6220038 */ lwc1 $f2, 0x38($s1)
/* B94854 80241414 C620003C */ lwc1 $f0, 0x3c($s1)
/* B94858 80241418 3C014348 */ lui $at, 0x4348
/* B9485C 8024141C 44813000 */ mtc1 $at, $f6
/* B94860 80241420 46000021 */ cvt.d.s $f0, $f0
/* B94864 80241424 E7A2002C */ swc1 $f2, 0x2c($sp)
/* B94868 80241428 3C014059 */ lui $at, 0x4059
/* B9486C 8024142C 44811800 */ mtc1 $at, $f3
/* B94870 80241430 44801000 */ mtc1 $zero, $f2
/* B94874 80241434 C6240040 */ lwc1 $f4, 0x40($s1)
/* B94878 80241438 46220000 */ add.d $f0, $f0, $f2
/* B9487C 8024143C E7A60038 */ swc1 $f6, 0x38($sp)
/* B94880 80241440 E7A40034 */ swc1 $f4, 0x34($sp)
/* B94884 80241444 46200020 */ cvt.s.d $f0, $f0
/* B94888 80241448 E7A00030 */ swc1 $f0, 0x30($sp)
/* B9488C 8024144C AFA30010 */ sw $v1, 0x10($sp)
/* B94890 80241450 8E240080 */ lw $a0, 0x80($s1)
/* B94894 80241454 0C0372DF */ jal npc_raycast_down_sides
/* B94898 80241458 0040802D */ daddu $s0, $v0, $zero
/* B9489C 8024145C 1600001C */ bnez $s0, .L802414D0
/* B948A0 80241460 00000000 */ nop
/* B948A4 80241464 1040001A */ beqz $v0, .L802414D0
/* B948A8 80241468 00000000 */ nop
/* B948AC 8024146C C7A20038 */ lwc1 $f2, 0x38($sp)
/* B948B0 80241470 3C014054 */ lui $at, 0x4054
/* B948B4 80241474 44810800 */ mtc1 $at, $f1
/* B948B8 80241478 44800000 */ mtc1 $zero, $f0
/* B948BC 8024147C 460010A1 */ cvt.d.s $f2, $f2
/* B948C0 80241480 4622003C */ c.lt.d $f0, $f2
/* B948C4 80241484 00000000 */ nop
/* B948C8 80241488 45000011 */ bc1f .L802414D0
/* B948CC 8024148C 00000000 */ nop
/* B948D0 80241490 3C01405E */ lui $at, 0x405e
/* B948D4 80241494 44810800 */ mtc1 $at, $f1
/* B948D8 80241498 44800000 */ mtc1 $zero, $f0
/* B948DC 8024149C 00000000 */ nop
/* B948E0 802414A0 4620103C */ c.lt.d $f2, $f0
/* B948E4 802414A4 00000000 */ nop
/* B948E8 802414A8 45000009 */ bc1f .L802414D0
/* B948EC 802414AC 00000000 */ nop
/* B948F0 802414B0 C622003C */ lwc1 $f2, 0x3c($s1)
/* B948F4 802414B4 C7A00030 */ lwc1 $f0, 0x30($sp)
/* B948F8 802414B8 46001032 */ c.eq.s $f2, $f0
/* B948FC 802414BC 00000000 */ nop
/* B94900 802414C0 45010003 */ bc1t .L802414D0
/* B94904 802414C4 00000000 */ nop
/* B94908 802414C8 080905AD */ j .L802416B4
/* B9490C 802414CC 241E0001 */ addiu $fp, $zero, 1
.L802414D0:
/* B94910 802414D0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* B94914 802414D4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* B94918 802414D8 8E020000 */ lw $v0, ($s0)
/* B9491C 802414DC 3C014024 */ lui $at, 0x4024
/* B94920 802414E0 44811800 */ mtc1 $at, $f3
/* B94924 802414E4 44801000 */ mtc1 $zero, $f2
/* B94928 802414E8 C440002C */ lwc1 $f0, 0x2c($v0)
/* B9492C 802414EC C4460028 */ lwc1 $f6, 0x28($v0)
/* B94930 802414F0 C4440030 */ lwc1 $f4, 0x30($v0)
/* B94934 802414F4 46000021 */ cvt.d.s $f0, $f0
/* B94938 802414F8 46220000 */ add.d $f0, $f0, $f2
/* B9493C 802414FC E7A60020 */ swc1 $f6, 0x20($sp)
/* B94940 80241500 E7A40028 */ swc1 $f4, 0x28($sp)
/* B94944 80241504 46200020 */ cvt.s.d $f0, $f0
/* B94948 80241508 E7A00024 */ swc1 $f0, 0x24($sp)
/* B9494C 8024150C E7B40010 */ swc1 $f20, 0x10($sp)
/* B94950 80241510 E7B60014 */ swc1 $f22, 0x14($sp)
/* B94954 80241514 862200A8 */ lh $v0, 0xa8($s1)
/* B94958 80241518 27A50020 */ addiu $a1, $sp, 0x20
/* B9495C 8024151C 44820000 */ mtc1 $v0, $f0
/* B94960 80241520 00000000 */ nop
/* B94964 80241524 46800020 */ cvt.s.w $f0, $f0
/* B94968 80241528 E7A00018 */ swc1 $f0, 0x18($sp)
/* B9496C 8024152C 862200A6 */ lh $v0, 0xa6($s1)
/* B94970 80241530 27A60024 */ addiu $a2, $sp, 0x24
/* B94974 80241534 44820000 */ mtc1 $v0, $f0
/* B94978 80241538 00000000 */ nop
/* B9497C 8024153C 46800020 */ cvt.s.w $f0, $f0
/* B94980 80241540 E7A0001C */ swc1 $f0, 0x1c($sp)
/* B94984 80241544 8E240080 */ lw $a0, 0x80($s1)
/* B94988 80241548 0C037711 */ jal npc_test_move_simple_with_slipping
/* B9498C 8024154C 27A70028 */ addiu $a3, $sp, 0x28
/* B94990 80241550 8FA60020 */ lw $a2, 0x20($sp)
/* B94994 80241554 8E020000 */ lw $v0, ($s0)
/* B94998 80241558 8FA70028 */ lw $a3, 0x28($sp)
/* B9499C 8024155C C44C0028 */ lwc1 $f12, 0x28($v0)
/* B949A0 80241560 C44E0030 */ lwc1 $f14, 0x30($v0)
/* B949A4 80241564 0C00A7B5 */ jal dist2D
/* B949A8 80241568 24170001 */ addiu $s7, $zero, 1
/* B949AC 8024156C 46000506 */ mov.s $f20, $f0
/* B949B0 80241570 8E030000 */ lw $v1, ($s0)
/* B949B4 80241574 862200A6 */ lh $v0, 0xa6($s1)
/* B949B8 80241578 4407C000 */ mfc1 $a3, $f24
/* B949BC 8024157C 44824000 */ mtc1 $v0, $f8
/* B949C0 80241580 00000000 */ nop
/* B949C4 80241584 46804220 */ cvt.s.w $f8, $f8
/* B949C8 80241588 C4600028 */ lwc1 $f0, 0x28($v1)
/* B949CC 8024158C 44064000 */ mfc1 $a2, $f8
/* B949D0 80241590 26240038 */ addiu $a0, $s1, 0x38
/* B949D4 80241594 E6200038 */ swc1 $f0, 0x38($s1)
/* B949D8 80241598 C4600030 */ lwc1 $f0, 0x30($v1)
/* B949DC 8024159C 26250040 */ addiu $a1, $s1, 0x40
/* B949E0 802415A0 0C00A7E7 */ jal add_vec2D_polar
/* B949E4 802415A4 E6200040 */ swc1 $f0, 0x40($s1)
/* B949E8 802415A8 862200A6 */ lh $v0, 0xa6($s1)
/* B949EC 802415AC 44820000 */ mtc1 $v0, $f0
/* B949F0 802415B0 00000000 */ nop
/* B949F4 802415B4 46800020 */ cvt.s.w $f0, $f0
/* B949F8 802415B8 080905A9 */ j .L802416A4
/* B949FC 802415BC 4600A500 */ add.s $f20, $f20, $f0
.L802415C0:
/* B94A00 802415C0 8EA20000 */ lw $v0, ($s5)
/* B94A04 802415C4 3C014032 */ lui $at, 0x4032
/* B94A08 802415C8 44811800 */ mtc1 $at, $f3
/* B94A0C 802415CC 44801000 */ mtc1 $zero, $f2
/* B94A10 802415D0 C440002C */ lwc1 $f0, 0x2c($v0)
/* B94A14 802415D4 C4460028 */ lwc1 $f6, 0x28($v0)
/* B94A18 802415D8 C4440030 */ lwc1 $f4, 0x30($v0)
/* B94A1C 802415DC 46000021 */ cvt.d.s $f0, $f0
/* B94A20 802415E0 46220000 */ add.d $f0, $f0, $f2
/* B94A24 802415E4 E7A60020 */ swc1 $f6, 0x20($sp)
/* B94A28 802415E8 E7A40028 */ swc1 $f4, 0x28($sp)
/* B94A2C 802415EC 46200020 */ cvt.s.d $f0, $f0
/* B94A30 802415F0 E7A00024 */ swc1 $f0, 0x24($sp)
/* B94A34 802415F4 E7B40010 */ swc1 $f20, 0x10($sp)
/* B94A38 802415F8 E7B60014 */ swc1 $f22, 0x14($sp)
/* B94A3C 802415FC 862200A8 */ lh $v0, 0xa8($s1)
/* B94A40 80241600 44820000 */ mtc1 $v0, $f0
/* B94A44 80241604 00000000 */ nop
/* B94A48 80241608 46800020 */ cvt.s.w $f0, $f0
/* B94A4C 8024160C E7A00018 */ swc1 $f0, 0x18($sp)
/* B94A50 80241610 862200A6 */ lh $v0, 0xa6($s1)
/* B94A54 80241614 27A60024 */ addiu $a2, $sp, 0x24
/* B94A58 80241618 44820000 */ mtc1 $v0, $f0
/* B94A5C 8024161C 00000000 */ nop
/* B94A60 80241620 46800020 */ cvt.s.w $f0, $f0
/* B94A64 80241624 E7A0001C */ swc1 $f0, 0x1c($sp)
/* B94A68 80241628 8E240080 */ lw $a0, 0x80($s1)
/* B94A6C 8024162C 0C037711 */ jal npc_test_move_simple_with_slipping
/* B94A70 80241630 27A70028 */ addiu $a3, $sp, 0x28
/* B94A74 80241634 1040001F */ beqz $v0, .L802416B4
/* B94A78 80241638 00000000 */ nop
/* B94A7C 8024163C 8FA60020 */ lw $a2, 0x20($sp)
/* B94A80 80241640 8EA20000 */ lw $v0, ($s5)
/* B94A84 80241644 8FA70028 */ lw $a3, 0x28($sp)
/* B94A88 80241648 C44C0028 */ lwc1 $f12, 0x28($v0)
/* B94A8C 8024164C 0C00A7B5 */ jal dist2D
/* B94A90 80241650 C44E0030 */ lwc1 $f14, 0x30($v0)
/* B94A94 80241654 46000506 */ mov.s $f20, $f0
/* B94A98 80241658 8EA30000 */ lw $v1, ($s5)
/* B94A9C 8024165C 862200A6 */ lh $v0, 0xa6($s1)
/* B94AA0 80241660 4407C000 */ mfc1 $a3, $f24
/* B94AA4 80241664 44824000 */ mtc1 $v0, $f8
/* B94AA8 80241668 00000000 */ nop
/* B94AAC 8024166C 46804220 */ cvt.s.w $f8, $f8
/* B94AB0 80241670 C4600028 */ lwc1 $f0, 0x28($v1)
/* B94AB4 80241674 44064000 */ mfc1 $a2, $f8
/* B94AB8 80241678 0200202D */ daddu $a0, $s0, $zero
/* B94ABC 8024167C E6200038 */ swc1 $f0, 0x38($s1)
/* B94AC0 80241680 C4600030 */ lwc1 $f0, 0x30($v1)
/* B94AC4 80241684 0260282D */ daddu $a1, $s3, $zero
/* B94AC8 80241688 0C00A7E7 */ jal add_vec2D_polar
/* B94ACC 8024168C E6200040 */ swc1 $f0, 0x40($s1)
/* B94AD0 80241690 862200A6 */ lh $v0, 0xa6($s1)
/* B94AD4 80241694 44820000 */ mtc1 $v0, $f0
/* B94AD8 80241698 00000000 */ nop
/* B94ADC 8024169C 46800020 */ cvt.s.w $f0, $f0
/* B94AE0 802416A0 4600A500 */ add.s $f20, $f20, $f0
.L802416A4:
/* B94AE4 802416A4 4406B000 */ mfc1 $a2, $f22
/* B94AE8 802416A8 4405A000 */ mfc1 $a1, $f20
/* B94AEC 802416AC 0C00EA95 */ jal npc_move_heading
/* B94AF0 802416B0 0220202D */ daddu $a0, $s1, $zero
.L802416B4:
/* B94AF4 802416B4 C6400008 */ lwc1 $f0, 8($s2)
/* B94AF8 802416B8 46800020 */ cvt.s.w $f0, $f0
/* B94AFC 802416BC 44050000 */ mfc1 $a1, $f0
/* B94B00 802416C0 C640000C */ lwc1 $f0, 0xc($s2)
/* B94B04 802416C4 46800020 */ cvt.s.w $f0, $f0
/* B94B08 802416C8 44060000 */ mfc1 $a2, $f0
/* B94B0C 802416CC C6200040 */ lwc1 $f0, 0x40($s1)
/* B94B10 802416D0 26300038 */ addiu $s0, $s1, 0x38
/* B94B14 802416D4 E7A00010 */ swc1 $f0, 0x10($sp)
/* B94B18 802416D8 C6400010 */ lwc1 $f0, 0x10($s2)
/* B94B1C 802416DC 46800020 */ cvt.s.w $f0, $f0
/* B94B20 802416E0 E7A00014 */ swc1 $f0, 0x14($sp)
/* B94B24 802416E4 C6400014 */ lwc1 $f0, 0x14($s2)
/* B94B28 802416E8 46800020 */ cvt.s.w $f0, $f0
/* B94B2C 802416EC E7A00018 */ swc1 $f0, 0x18($sp)
/* B94B30 802416F0 8E440004 */ lw $a0, 4($s2)
/* B94B34 802416F4 8E270038 */ lw $a3, 0x38($s1)
/* B94B38 802416F8 0C0123F5 */ jal is_point_within_region
/* B94B3C 802416FC 26330040 */ addiu $s3, $s1, 0x40
/* B94B40 80241700 1040005A */ beqz $v0, .L8024186C
/* B94B44 80241704 00000000 */ nop
/* B94B48 80241708 8E430004 */ lw $v1, 4($s2)
/* B94B4C 8024170C 10600005 */ beqz $v1, .L80241724
/* B94B50 80241710 24020001 */ addiu $v0, $zero, 1
/* B94B54 80241714 10620029 */ beq $v1, $v0, .L802417BC
/* B94B58 80241718 00000000 */ nop
/* B94B5C 8024171C 0809061B */ j .L8024186C
/* B94B60 80241720 00000000 */ nop
.L80241724:
/* B94B64 80241724 C6480008 */ lwc1 $f8, 8($s2)
/* B94B68 80241728 46804220 */ cvt.s.w $f8, $f8
/* B94B6C 8024172C 44064000 */ mfc1 $a2, $f8
/* B94B70 80241730 C648000C */ lwc1 $f8, 0xc($s2)
/* B94B74 80241734 46804220 */ cvt.s.w $f8, $f8
/* B94B78 80241738 C62C0038 */ lwc1 $f12, 0x38($s1)
/* B94B7C 8024173C C62E0040 */ lwc1 $f14, 0x40($s1)
/* B94B80 80241740 44074000 */ mfc1 $a3, $f8
/* B94B84 80241744 0C00A7B5 */ jal dist2D
/* B94B88 80241748 00000000 */ nop
/* B94B8C 8024174C C6420010 */ lwc1 $f2, 0x10($s2)
/* B94B90 80241750 468010A0 */ cvt.s.w $f2, $f2
/* B94B94 80241754 4600103C */ c.lt.s $f2, $f0
/* B94B98 80241758 00000000 */ nop
/* B94B9C 8024175C 45000043 */ bc1f .L8024186C
/* B94BA0 80241760 E7A00038 */ swc1 $f0, 0x38($sp)
/* B94BA4 80241764 C64C0008 */ lwc1 $f12, 8($s2)
/* B94BA8 80241768 46806320 */ cvt.s.w $f12, $f12
/* B94BAC 8024176C 8E260038 */ lw $a2, 0x38($s1)
/* B94BB0 80241770 8E270040 */ lw $a3, 0x40($s1)
/* B94BB4 80241774 C64E000C */ lwc1 $f14, 0xc($s2)
/* B94BB8 80241778 0C00A720 */ jal atan2
/* B94BBC 8024177C 468073A0 */ cvt.s.w $f14, $f14
/* B94BC0 80241780 0200202D */ daddu $a0, $s0, $zero
/* B94BC4 80241784 44070000 */ mfc1 $a3, $f0
/* B94BC8 80241788 C6400008 */ lwc1 $f0, 8($s2)
/* B94BCC 8024178C 46800020 */ cvt.s.w $f0, $f0
/* B94BD0 80241790 E6200038 */ swc1 $f0, 0x38($s1)
/* B94BD4 80241794 C640000C */ lwc1 $f0, 0xc($s2)
/* B94BD8 80241798 46800020 */ cvt.s.w $f0, $f0
/* B94BDC 8024179C E6200040 */ swc1 $f0, 0x40($s1)
/* B94BE0 802417A0 C6480010 */ lwc1 $f8, 0x10($s2)
/* B94BE4 802417A4 46804220 */ cvt.s.w $f8, $f8
/* B94BE8 802417A8 44064000 */ mfc1 $a2, $f8
/* B94BEC 802417AC 0C00A7E7 */ jal add_vec2D_polar
/* B94BF0 802417B0 0260282D */ daddu $a1, $s3, $zero
/* B94BF4 802417B4 0809061B */ j .L8024186C
/* B94BF8 802417B8 00000000 */ nop
.L802417BC:
/* B94BFC 802417BC 8E420008 */ lw $v0, 8($s2)
/* B94C00 802417C0 8E430010 */ lw $v1, 0x10($s2)
/* B94C04 802417C4 C6200038 */ lwc1 $f0, 0x38($s1)
/* B94C08 802417C8 00431021 */ addu $v0, $v0, $v1
/* B94C0C 802417CC 44821000 */ mtc1 $v0, $f2
/* B94C10 802417D0 00000000 */ nop
/* B94C14 802417D4 468010A0 */ cvt.s.w $f2, $f2
/* B94C18 802417D8 4600103C */ c.lt.s $f2, $f0
/* B94C1C 802417DC 00000000 */ nop
/* B94C20 802417E0 45030001 */ bc1tl .L802417E8
/* B94C24 802417E4 E6220038 */ swc1 $f2, 0x38($s1)
.L802417E8:
/* B94C28 802417E8 8E420008 */ lw $v0, 8($s2)
/* B94C2C 802417EC 8E430010 */ lw $v1, 0x10($s2)
/* B94C30 802417F0 C6200038 */ lwc1 $f0, 0x38($s1)
/* B94C34 802417F4 00431023 */ subu $v0, $v0, $v1
/* B94C38 802417F8 44821000 */ mtc1 $v0, $f2
/* B94C3C 802417FC 00000000 */ nop
/* B94C40 80241800 468010A0 */ cvt.s.w $f2, $f2
/* B94C44 80241804 4602003C */ c.lt.s $f0, $f2
/* B94C48 80241808 00000000 */ nop
/* B94C4C 8024180C 45030001 */ bc1tl .L80241814
/* B94C50 80241810 E6220038 */ swc1 $f2, 0x38($s1)
.L80241814:
/* B94C54 80241814 8E42000C */ lw $v0, 0xc($s2)
/* B94C58 80241818 8E430014 */ lw $v1, 0x14($s2)
/* B94C5C 8024181C C6200040 */ lwc1 $f0, 0x40($s1)
/* B94C60 80241820 00431021 */ addu $v0, $v0, $v1
/* B94C64 80241824 44821000 */ mtc1 $v0, $f2
/* B94C68 80241828 00000000 */ nop
/* B94C6C 8024182C 468010A0 */ cvt.s.w $f2, $f2
/* B94C70 80241830 4600103C */ c.lt.s $f2, $f0
/* B94C74 80241834 00000000 */ nop
/* B94C78 80241838 45030001 */ bc1tl .L80241840
/* B94C7C 8024183C E6220040 */ swc1 $f2, 0x40($s1)
.L80241840:
/* B94C80 80241840 8E42000C */ lw $v0, 0xc($s2)
/* B94C84 80241844 8E430014 */ lw $v1, 0x14($s2)
/* B94C88 80241848 C6200040 */ lwc1 $f0, 0x40($s1)
/* B94C8C 8024184C 00431023 */ subu $v0, $v0, $v1
/* B94C90 80241850 44821000 */ mtc1 $v0, $f2
/* B94C94 80241854 00000000 */ nop
/* B94C98 80241858 468010A0 */ cvt.s.w $f2, $f2
/* B94C9C 8024185C 4602003C */ c.lt.s $f0, $f2
/* B94CA0 80241860 00000000 */ nop
/* B94CA4 80241864 45030001 */ bc1tl .L8024186C
/* B94CA8 80241868 E6220040 */ swc1 $f2, 0x40($s1)
.L8024186C:
/* B94CAC 8024186C 16E0001F */ bnez $s7, .L802418EC
/* B94CB0 80241870 00000000 */ nop
/* B94CB4 80241874 8E220000 */ lw $v0, ($s1)
/* B94CB8 80241878 30420008 */ andi $v0, $v0, 8
/* B94CBC 8024187C 10400003 */ beqz $v0, .L8024188C
/* B94CC0 80241880 27A50020 */ addiu $a1, $sp, 0x20
/* B94CC4 80241884 13C00019 */ beqz $fp, .L802418EC
/* B94CC8 80241888 00000000 */ nop
.L8024188C:
/* B94CCC 8024188C 27A60024 */ addiu $a2, $sp, 0x24
/* B94CD0 80241890 27A20038 */ addiu $v0, $sp, 0x38
/* B94CD4 80241894 C6220038 */ lwc1 $f2, 0x38($s1)
/* B94CD8 80241898 C620003C */ lwc1 $f0, 0x3c($s1)
/* B94CDC 8024189C 3C0143C8 */ lui $at, 0x43c8
/* B94CE0 802418A0 44813000 */ mtc1 $at, $f6
/* B94CE4 802418A4 46000021 */ cvt.d.s $f0, $f0
/* B94CE8 802418A8 E7A20020 */ swc1 $f2, 0x20($sp)
/* B94CEC 802418AC 3C018024 */ lui $at, %hi(D_802447B0_B97BF0)
/* B94CF0 802418B0 D42247B0 */ ldc1 $f2, %lo(D_802447B0_B97BF0)($at)
/* B94CF4 802418B4 C6240040 */ lwc1 $f4, 0x40($s1)
/* B94CF8 802418B8 46220000 */ add.d $f0, $f0, $f2
/* B94CFC 802418BC E7A60038 */ swc1 $f6, 0x38($sp)
/* B94D00 802418C0 E7A40028 */ swc1 $f4, 0x28($sp)
/* B94D04 802418C4 46200020 */ cvt.s.d $f0, $f0
/* B94D08 802418C8 E7A00024 */ swc1 $f0, 0x24($sp)
/* B94D0C 802418CC AFA20010 */ sw $v0, 0x10($sp)
/* B94D10 802418D0 8E240080 */ lw $a0, 0x80($s1)
/* B94D14 802418D4 0C0372DF */ jal npc_raycast_down_sides
/* B94D18 802418D8 27A70028 */ addiu $a3, $sp, 0x28
/* B94D1C 802418DC 10400003 */ beqz $v0, .L802418EC
/* B94D20 802418E0 00000000 */ nop
/* B94D24 802418E4 C7A00024 */ lwc1 $f0, 0x24($sp)
/* B94D28 802418E8 E620003C */ swc1 $f0, 0x3c($s1)
.L802418EC:
/* B94D2C 802418EC C62C0038 */ lwc1 $f12, 0x38($s1)
/* B94D30 802418F0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* B94D34 802418F4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* B94D38 802418F8 C62E0040 */ lwc1 $f14, 0x40($s1)
/* B94D3C 802418FC 8C460028 */ lw $a2, 0x28($v0)
/* B94D40 80241900 0C00A720 */ jal atan2
/* B94D44 80241904 8C470030 */ lw $a3, 0x30($v0)
/* B94D48 80241908 0220202D */ daddu $a0, $s1, $zero
/* B94D4C 8024190C 24050321 */ addiu $a1, $zero, 0x321
/* B94D50 80241910 0000302D */ daddu $a2, $zero, $zero
/* B94D54 80241914 0C012530 */ jal ai_enemy_play_sound
/* B94D58 80241918 E620000C */ swc1 $f0, 0xc($s1)
/* B94D5C 8024191C 8EC200CC */ lw $v0, 0xcc($s6)
/* B94D60 80241920 8C420024 */ lw $v0, 0x24($v0)
/* B94D64 80241924 AE220028 */ sw $v0, 0x28($s1)
/* B94D68 80241928 96C20096 */ lhu $v0, 0x96($s6)
/* B94D6C 8024192C A622008E */ sh $v0, 0x8e($s1)
/* B94D70 80241930 8FA80080 */ lw $t0, 0x80($sp)
/* B94D74 80241934 2402000B */ addiu $v0, $zero, 0xb
/* B94D78 80241938 AD020070 */ sw $v0, 0x70($t0)
.L8024193C:
/* B94D7C 8024193C 8FBF0064 */ lw $ra, 0x64($sp)
/* B94D80 80241940 8FBE0060 */ lw $fp, 0x60($sp)
/* B94D84 80241944 8FB7005C */ lw $s7, 0x5c($sp)
/* B94D88 80241948 8FB60058 */ lw $s6, 0x58($sp)
/* B94D8C 8024194C 8FB50054 */ lw $s5, 0x54($sp)
/* B94D90 80241950 8FB40050 */ lw $s4, 0x50($sp)
/* B94D94 80241954 8FB3004C */ lw $s3, 0x4c($sp)
/* B94D98 80241958 8FB20048 */ lw $s2, 0x48($sp)
/* B94D9C 8024195C 8FB10044 */ lw $s1, 0x44($sp)
/* B94DA0 80241960 8FB00040 */ lw $s0, 0x40($sp)
/* B94DA4 80241964 D7B80078 */ ldc1 $f24, 0x78($sp)
/* B94DA8 80241968 D7B60070 */ ldc1 $f22, 0x70($sp)
/* B94DAC 8024196C D7B40068 */ ldc1 $f20, 0x68($sp)
/* B94DB0 80241970 03E00008 */ jr $ra
/* B94DB4 80241974 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -1,168 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80241C54_B95094
/* B95094 80241C54 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B95098 80241C58 AFB20038 */ sw $s2, 0x38($sp)
/* B9509C 80241C5C 0080902D */ daddu $s2, $a0, $zero
/* B950A0 80241C60 AFBF0048 */ sw $ra, 0x48($sp)
/* B950A4 80241C64 AFB50044 */ sw $s5, 0x44($sp)
/* B950A8 80241C68 AFB40040 */ sw $s4, 0x40($sp)
/* B950AC 80241C6C AFB3003C */ sw $s3, 0x3c($sp)
/* B950B0 80241C70 AFB10034 */ sw $s1, 0x34($sp)
/* B950B4 80241C74 AFB00030 */ sw $s0, 0x30($sp)
/* B950B8 80241C78 8E510148 */ lw $s1, 0x148($s2)
/* B950BC 80241C7C 86240008 */ lh $a0, 8($s1)
/* B950C0 80241C80 0C00EABB */ jal get_npc_unsafe
/* B950C4 80241C84 00A0802D */ daddu $s0, $a1, $zero
/* B950C8 80241C88 8E43000C */ lw $v1, 0xc($s2)
/* B950CC 80241C8C 0240202D */ daddu $a0, $s2, $zero
/* B950D0 80241C90 8C650000 */ lw $a1, ($v1)
/* B950D4 80241C94 0C0B1EAF */ jal evt_get_variable
/* B950D8 80241C98 0040A82D */ daddu $s5, $v0, $zero
/* B950DC 80241C9C AFA00010 */ sw $zero, 0x10($sp)
/* B950E0 80241CA0 8E2300D0 */ lw $v1, 0xd0($s1)
/* B950E4 80241CA4 8C630030 */ lw $v1, 0x30($v1)
/* B950E8 80241CA8 AFA30014 */ sw $v1, 0x14($sp)
/* B950EC 80241CAC 8E2300D0 */ lw $v1, 0xd0($s1)
/* B950F0 80241CB0 8C63001C */ lw $v1, 0x1c($v1)
/* B950F4 80241CB4 AFA30018 */ sw $v1, 0x18($sp)
/* B950F8 80241CB8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B950FC 80241CBC 8C630024 */ lw $v1, 0x24($v1)
/* B95100 80241CC0 AFA3001C */ sw $v1, 0x1c($sp)
/* B95104 80241CC4 8E2300D0 */ lw $v1, 0xd0($s1)
/* B95108 80241CC8 8C630028 */ lw $v1, 0x28($v1)
/* B9510C 80241CCC 27B40010 */ addiu $s4, $sp, 0x10
/* B95110 80241CD0 AFA30020 */ sw $v1, 0x20($sp)
/* B95114 80241CD4 8E2300D0 */ lw $v1, 0xd0($s1)
/* B95118 80241CD8 3C014348 */ lui $at, 0x4348
/* B9511C 80241CDC 44810000 */ mtc1 $at, $f0
/* B95120 80241CE0 8C63002C */ lw $v1, 0x2c($v1)
/* B95124 80241CE4 0040982D */ daddu $s3, $v0, $zero
/* B95128 80241CE8 E7A00028 */ swc1 $f0, 0x28($sp)
/* B9512C 80241CEC A7A0002C */ sh $zero, 0x2c($sp)
/* B95130 80241CF0 16000005 */ bnez $s0, .L80241D08
/* B95134 80241CF4 AFA30024 */ sw $v1, 0x24($sp)
/* B95138 80241CF8 8E2200B0 */ lw $v0, 0xb0($s1)
/* B9513C 80241CFC 30420004 */ andi $v0, $v0, 4
/* B95140 80241D00 10400011 */ beqz $v0, .L80241D48
/* B95144 80241D04 00000000 */ nop
.L80241D08:
/* B95148 80241D08 AE400070 */ sw $zero, 0x70($s2)
/* B9514C 80241D0C A6A0008E */ sh $zero, 0x8e($s5)
/* B95150 80241D10 8E2200CC */ lw $v0, 0xcc($s1)
/* B95154 80241D14 8C420000 */ lw $v0, ($v0)
/* B95158 80241D18 AEA20028 */ sw $v0, 0x28($s5)
/* B9515C 80241D1C 8E2200B0 */ lw $v0, 0xb0($s1)
/* B95160 80241D20 30420004 */ andi $v0, $v0, 4
/* B95164 80241D24 10400008 */ beqz $v0, .L80241D48
/* B95168 80241D28 AE20006C */ sw $zero, 0x6c($s1)
/* B9516C 80241D2C 24020063 */ addiu $v0, $zero, 0x63
/* B95170 80241D30 AE420070 */ sw $v0, 0x70($s2)
/* B95174 80241D34 AE400074 */ sw $zero, 0x74($s2)
/* B95178 80241D38 8E2200B0 */ lw $v0, 0xb0($s1)
/* B9517C 80241D3C 2403FFFB */ addiu $v1, $zero, -5
/* B95180 80241D40 00431024 */ and $v0, $v0, $v1
/* B95184 80241D44 AE2200B0 */ sw $v0, 0xb0($s1)
.L80241D48:
/* B95188 80241D48 8E430070 */ lw $v1, 0x70($s2)
/* B9518C 80241D4C 2410000B */ addiu $s0, $zero, 0xb
/* B95190 80241D50 1070002A */ beq $v1, $s0, .L80241DFC
/* B95194 80241D54 2862000C */ slti $v0, $v1, 0xc
/* B95198 80241D58 1040000D */ beqz $v0, .L80241D90
/* B9519C 80241D5C 24020001 */ addiu $v0, $zero, 1
/* B951A0 80241D60 1062001A */ beq $v1, $v0, .L80241DCC
/* B951A4 80241D64 28620002 */ slti $v0, $v1, 2
/* B951A8 80241D68 10400005 */ beqz $v0, .L80241D80
/* B951AC 80241D6C 2402000A */ addiu $v0, $zero, 0xa
/* B951B0 80241D70 10600013 */ beqz $v1, .L80241DC0
/* B951B4 80241D74 0240202D */ daddu $a0, $s2, $zero
/* B951B8 80241D78 0809079F */ j .L80241E7C
/* B951BC 80241D7C 00000000 */ nop
.L80241D80:
/* B951C0 80241D80 10620018 */ beq $v1, $v0, .L80241DE4
/* B951C4 80241D84 0240202D */ daddu $a0, $s2, $zero
/* B951C8 80241D88 0809079F */ j .L80241E7C
/* B951CC 80241D8C 00000000 */ nop
.L80241D90:
/* B951D0 80241D90 2402000D */ addiu $v0, $zero, 0xd
/* B951D4 80241D94 10620029 */ beq $v1, $v0, .L80241E3C
/* B951D8 80241D98 0062102A */ slt $v0, $v1, $v0
/* B951DC 80241D9C 14400020 */ bnez $v0, .L80241E20
/* B951E0 80241DA0 0240202D */ daddu $a0, $s2, $zero
/* B951E4 80241DA4 2402000E */ addiu $v0, $zero, 0xe
/* B951E8 80241DA8 1062002D */ beq $v1, $v0, .L80241E60
/* B951EC 80241DAC 24020063 */ addiu $v0, $zero, 0x63
/* B951F0 80241DB0 10620030 */ beq $v1, $v0, .L80241E74
/* B951F4 80241DB4 00000000 */ nop
/* B951F8 80241DB8 0809079F */ j .L80241E7C
/* B951FC 80241DBC 00000000 */ nop
.L80241DC0:
/* B95200 80241DC0 0260282D */ daddu $a1, $s3, $zero
/* B95204 80241DC4 0C090374 */ jal mim_01_UnkNpcAIFunc31
/* B95208 80241DC8 0280302D */ daddu $a2, $s4, $zero
.L80241DCC:
/* B9520C 80241DCC 0240202D */ daddu $a0, $s2, $zero
/* B95210 80241DD0 0260282D */ daddu $a1, $s3, $zero
/* B95214 80241DD4 0C09038F */ jal mim_01_UnkNpcAIFunc32
/* B95218 80241DD8 0280302D */ daddu $a2, $s4, $zero
/* B9521C 80241DDC 0809079F */ j .L80241E7C
/* B95220 80241DE0 00000000 */ nop
.L80241DE4:
/* B95224 80241DE4 0260282D */ daddu $a1, $s3, $zero
/* B95228 80241DE8 0C0903CE */ jal func_80240F38_B94378
/* B9522C 80241DEC 0280302D */ daddu $a2, $s4, $zero
/* B95230 80241DF0 8E420070 */ lw $v0, 0x70($s2)
/* B95234 80241DF4 14500021 */ bne $v0, $s0, .L80241E7C
/* B95238 80241DF8 00000000 */ nop
.L80241DFC:
/* B9523C 80241DFC 0240202D */ daddu $a0, $s2, $zero
/* B95240 80241E00 0260282D */ daddu $a1, $s3, $zero
/* B95244 80241E04 0C09065E */ jal mim_01_UnkNpcDurationFlagFunc3
/* B95248 80241E08 0280302D */ daddu $a2, $s4, $zero
/* B9524C 80241E0C 8E430070 */ lw $v1, 0x70($s2)
/* B95250 80241E10 2402000C */ addiu $v0, $zero, 0xc
/* B95254 80241E14 14620019 */ bne $v1, $v0, .L80241E7C
/* B95258 80241E18 00000000 */ nop
/* B9525C 80241E1C 0240202D */ daddu $a0, $s2, $zero
.L80241E20:
/* B95260 80241E20 0260282D */ daddu $a1, $s3, $zero
/* B95264 80241E24 0C090682 */ jal mim_01_UnkNpcAIFunc33
/* B95268 80241E28 0280302D */ daddu $a2, $s4, $zero
/* B9526C 80241E2C 8E430070 */ lw $v1, 0x70($s2)
/* B95270 80241E30 2402000D */ addiu $v0, $zero, 0xd
/* B95274 80241E34 14620011 */ bne $v1, $v0, .L80241E7C
/* B95278 80241E38 00000000 */ nop
.L80241E3C:
/* B9527C 80241E3C 0240202D */ daddu $a0, $s2, $zero
/* B95280 80241E40 0260282D */ daddu $a1, $s3, $zero
/* B95284 80241E44 0C0906C2 */ jal mim_01_UnkNpcDurationFlagFunc2
/* B95288 80241E48 0280302D */ daddu $a2, $s4, $zero
/* B9528C 80241E4C 8E430070 */ lw $v1, 0x70($s2)
/* B95290 80241E50 2402000E */ addiu $v0, $zero, 0xe
/* B95294 80241E54 14620009 */ bne $v1, $v0, .L80241E7C
/* B95298 80241E58 00000000 */ nop
/* B9529C 80241E5C 0240202D */ daddu $a0, $s2, $zero
.L80241E60:
/* B952A0 80241E60 0260282D */ daddu $a1, $s3, $zero
/* B952A4 80241E64 0C0906DA */ jal mim_01_UnkNpcAIFunc30
/* B952A8 80241E68 0280302D */ daddu $a2, $s4, $zero
/* B952AC 80241E6C 0809079F */ j .L80241E7C
/* B952B0 80241E70 00000000 */ nop
.L80241E74:
/* B952B4 80241E74 0C0129CF */ jal func_8004A73C
/* B952B8 80241E78 0240202D */ daddu $a0, $s2, $zero
.L80241E7C:
/* B952BC 80241E7C 8FBF0048 */ lw $ra, 0x48($sp)
/* B952C0 80241E80 8FB50044 */ lw $s5, 0x44($sp)
/* B952C4 80241E84 8FB40040 */ lw $s4, 0x40($sp)
/* B952C8 80241E88 8FB3003C */ lw $s3, 0x3c($sp)
/* B952CC 80241E8C 8FB20038 */ lw $s2, 0x38($sp)
/* B952D0 80241E90 8FB10034 */ lw $s1, 0x34($sp)
/* B952D4 80241E94 8FB00030 */ lw $s0, 0x30($sp)
/* B952D8 80241E98 0000102D */ daddu $v0, $zero, $zero
/* B952DC 80241E9C 03E00008 */ jr $ra
/* B952E0 80241EA0 27BD0050 */ addiu $sp, $sp, 0x50
/* B952E4 80241EA4 00000000 */ nop
/* B952E8 80241EA8 00000000 */ nop
/* B952EC 80241EAC 00000000 */ nop

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80244018_BA4748
.double 380.0
dlabel D_80244020_BA4750
.double -380.0
dlabel D_80244028_BA4758
.double 305.0
dlabel D_80244030_BA4760
.double 375.0
dlabel D_80244038_BA4768
.double 45.0
dlabel D_80244040_BA4770
.double 150.0, 0.0
.section .text
glabel btl_restore_world_cameras_BA11D8
/* BA11D8 80240AA8 27BDFF80 */ addiu $sp, $sp, -0x80
/* BA11DC 80240AAC AFBF0064 */ sw $ra, 0x64($sp)
/* BA11E0 80240AB0 AFBE0060 */ sw $fp, 0x60($sp)
/* BA11E4 80240AB4 AFB7005C */ sw $s7, 0x5c($sp)
/* BA11E8 80240AB8 AFB60058 */ sw $s6, 0x58($sp)
/* BA11EC 80240ABC AFB50054 */ sw $s5, 0x54($sp)
/* BA11F0 80240AC0 AFB40050 */ sw $s4, 0x50($sp)
/* BA11F4 80240AC4 AFB3004C */ sw $s3, 0x4c($sp)
/* BA11F8 80240AC8 AFB20048 */ sw $s2, 0x48($sp)
/* BA11FC 80240ACC AFB10044 */ sw $s1, 0x44($sp)
/* BA1200 80240AD0 AFB00040 */ sw $s0, 0x40($sp)
/* BA1204 80240AD4 F7B80078 */ sdc1 $f24, 0x78($sp)
/* BA1208 80240AD8 F7B60070 */ sdc1 $f22, 0x70($sp)
/* BA120C 80240ADC F7B40068 */ sdc1 $f20, 0x68($sp)
/* BA1210 80240AE0 AFA40080 */ sw $a0, 0x80($sp)
/* BA1214 80240AE4 8C960148 */ lw $s6, 0x148($a0)
/* BA1218 80240AE8 00C0902D */ daddu $s2, $a2, $zero
/* BA121C 80240AEC 86C40008 */ lh $a0, 8($s6)
/* BA1220 80240AF0 0C00EABB */ jal get_npc_unsafe
/* BA1224 80240AF4 0000B82D */ daddu $s7, $zero, $zero
/* BA1228 80240AF8 0040882D */ daddu $s1, $v0, $zero
/* BA122C 80240AFC 9622008E */ lhu $v0, 0x8e($s1)
/* BA1230 80240B00 2442FFFF */ addiu $v0, $v0, -1
/* BA1234 80240B04 A622008E */ sh $v0, 0x8e($s1)
/* BA1238 80240B08 00021400 */ sll $v0, $v0, 0x10
/* BA123C 80240B0C 8EC30090 */ lw $v1, 0x90($s6)
/* BA1240 80240B10 00021403 */ sra $v0, $v0, 0x10
/* BA1244 80240B14 0062182A */ slt $v1, $v1, $v0
/* BA1248 80240B18 14600005 */ bnez $v1, .L80240B30
/* BA124C 80240B1C 02E0F02D */ daddu $fp, $s7, $zero
/* BA1250 80240B20 8EC20000 */ lw $v0, ($s6)
/* BA1254 80240B24 3C031F10 */ lui $v1, 0x1f10
/* BA1258 80240B28 00431025 */ or $v0, $v0, $v1
/* BA125C 80240B2C AEC20000 */ sw $v0, ($s6)
.L80240B30:
/* BA1260 80240B30 8622008E */ lh $v0, 0x8e($s1)
/* BA1264 80240B34 1440025D */ bnez $v0, .L802414AC
/* BA1268 80240B38 00000000 */ nop
/* BA126C 80240B3C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA1270 80240B40 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA1274 80240B44 0C00A6C9 */ jal clamp_angle
/* BA1278 80240B48 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* BA127C 80240B4C 3C014334 */ lui $at, 0x4334
/* BA1280 80240B50 44811000 */ mtc1 $at, $f2
/* BA1284 80240B54 00000000 */ nop
/* BA1288 80240B58 4602003C */ c.lt.s $f0, $f2
/* BA128C 80240B5C 00000000 */ nop
/* BA1290 80240B60 45000011 */ bc1f .L80240BA8
/* BA1294 80240B64 00000000 */ nop
/* BA1298 80240B68 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* BA129C 80240B6C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* BA12A0 80240B70 3C0142B4 */ lui $at, 0x42b4
/* BA12A4 80240B74 44816000 */ mtc1 $at, $f12
/* BA12A8 80240B78 00031080 */ sll $v0, $v1, 2
/* BA12AC 80240B7C 00431021 */ addu $v0, $v0, $v1
/* BA12B0 80240B80 00021080 */ sll $v0, $v0, 2
/* BA12B4 80240B84 00431023 */ subu $v0, $v0, $v1
/* BA12B8 80240B88 000218C0 */ sll $v1, $v0, 3
/* BA12BC 80240B8C 00431021 */ addu $v0, $v0, $v1
/* BA12C0 80240B90 000210C0 */ sll $v0, $v0, 3
/* BA12C4 80240B94 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* BA12C8 80240B98 00220821 */ addu $at, $at, $v0
/* BA12CC 80240B9C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* BA12D0 80240BA0 080902F9 */ j .L80240BE4
/* BA12D4 80240BA4 460C0301 */ sub.s $f12, $f0, $f12
.L80240BA8:
/* BA12D8 80240BA8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* BA12DC 80240BAC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* BA12E0 80240BB0 3C0142B4 */ lui $at, 0x42b4
/* BA12E4 80240BB4 44816000 */ mtc1 $at, $f12
/* BA12E8 80240BB8 00031080 */ sll $v0, $v1, 2
/* BA12EC 80240BBC 00431021 */ addu $v0, $v0, $v1
/* BA12F0 80240BC0 00021080 */ sll $v0, $v0, 2
/* BA12F4 80240BC4 00431023 */ subu $v0, $v0, $v1
/* BA12F8 80240BC8 000218C0 */ sll $v1, $v0, 3
/* BA12FC 80240BCC 00431021 */ addu $v0, $v0, $v1
/* BA1300 80240BD0 000210C0 */ sll $v0, $v0, 3
/* BA1304 80240BD4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* BA1308 80240BD8 00220821 */ addu $at, $at, $v0
/* BA130C 80240BDC C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* BA1310 80240BE0 460C0300 */ add.s $f12, $f0, $f12
.L80240BE4:
/* BA1314 80240BE4 0C00A6C9 */ jal clamp_angle
/* BA1318 80240BE8 00000000 */ nop
/* BA131C 80240BEC 46000586 */ mov.s $f22, $f0
/* BA1320 80240BF0 3C014334 */ lui $at, 0x4334
/* BA1324 80240BF4 44816000 */ mtc1 $at, $f12
/* BA1328 80240BF8 0C00A6C9 */ jal clamp_angle
/* BA132C 80240BFC 460CB300 */ add.s $f12, $f22, $f12
/* BA1330 80240C00 8EC20088 */ lw $v0, 0x88($s6)
/* BA1334 80240C04 14400010 */ bnez $v0, .L80240C48
/* BA1338 80240C08 46000606 */ mov.s $f24, $f0
/* BA133C 80240C0C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA1340 80240C10 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA1344 80240C14 804300B4 */ lb $v1, 0xb4($v0)
/* BA1348 80240C18 3C014200 */ lui $at, 0x4200
/* BA134C 80240C1C 4481A000 */ mtc1 $at, $f20
/* BA1350 80240C20 10600016 */ beqz $v1, .L80240C7C
/* BA1354 80240C24 24020001 */ addiu $v0, $zero, 1
/* BA1358 80240C28 3C0142C8 */ lui $at, 0x42c8
/* BA135C 80240C2C 4481A000 */ mtc1 $at, $f20
/* BA1360 80240C30 14620013 */ bne $v1, $v0, .L80240C80
/* BA1364 80240C34 26300038 */ addiu $s0, $s1, 0x38
/* BA1368 80240C38 3C0142B4 */ lui $at, 0x42b4
/* BA136C 80240C3C 4481A000 */ mtc1 $at, $f20
/* BA1370 80240C40 08090321 */ j .L80240C84
/* BA1374 80240C44 0200202D */ daddu $a0, $s0, $zero
.L80240C48:
/* BA1378 80240C48 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA137C 80240C4C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA1380 80240C50 804300B4 */ lb $v1, 0xb4($v0)
/* BA1384 80240C54 3C014218 */ lui $at, 0x4218
/* BA1388 80240C58 4481A000 */ mtc1 $at, $f20
/* BA138C 80240C5C 10600007 */ beqz $v1, .L80240C7C
/* BA1390 80240C60 24020001 */ addiu $v0, $zero, 1
/* BA1394 80240C64 3C0142B4 */ lui $at, 0x42b4
/* BA1398 80240C68 4481A000 */ mtc1 $at, $f20
/* BA139C 80240C6C 14620004 */ bne $v1, $v0, .L80240C80
/* BA13A0 80240C70 26300038 */ addiu $s0, $s1, 0x38
/* BA13A4 80240C74 3C014296 */ lui $at, 0x4296
/* BA13A8 80240C78 4481A000 */ mtc1 $at, $f20
.L80240C7C:
/* BA13AC 80240C7C 26300038 */ addiu $s0, $s1, 0x38
.L80240C80:
/* BA13B0 80240C80 0200202D */ daddu $a0, $s0, $zero
.L80240C84:
/* BA13B4 80240C84 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* BA13B8 80240C88 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* BA13BC 80240C8C 4407C000 */ mfc1 $a3, $f24
/* BA13C0 80240C90 862200A6 */ lh $v0, 0xa6($s1)
/* BA13C4 80240C94 8EA30000 */ lw $v1, ($s5)
/* BA13C8 80240C98 44824000 */ mtc1 $v0, $f8
/* BA13CC 80240C9C 00000000 */ nop
/* BA13D0 80240CA0 46804220 */ cvt.s.w $f8, $f8
/* BA13D4 80240CA4 C4600028 */ lwc1 $f0, 0x28($v1)
/* BA13D8 80240CA8 44064000 */ mfc1 $a2, $f8
/* BA13DC 80240CAC 26330040 */ addiu $s3, $s1, 0x40
/* BA13E0 80240CB0 E6200038 */ swc1 $f0, 0x38($s1)
/* BA13E4 80240CB4 C4600030 */ lwc1 $f0, 0x30($v1)
/* BA13E8 80240CB8 0260282D */ daddu $a1, $s3, $zero
/* BA13EC 80240CBC 0C00A7E7 */ jal add_vec2D_polar
/* BA13F0 80240CC0 E6200040 */ swc1 $f0, 0x40($s1)
/* BA13F4 80240CC4 862200A6 */ lh $v0, 0xa6($s1)
/* BA13F8 80240CC8 44820000 */ mtc1 $v0, $f0
/* BA13FC 80240CCC 00000000 */ nop
/* BA1400 80240CD0 46800020 */ cvt.s.w $f0, $f0
/* BA1404 80240CD4 4600A000 */ add.s $f0, $f20, $f0
/* BA1408 80240CD8 4406B000 */ mfc1 $a2, $f22
/* BA140C 80240CDC 44050000 */ mfc1 $a1, $f0
/* BA1410 80240CE0 0C00EA95 */ jal npc_move_heading
/* BA1414 80240CE4 0220202D */ daddu $a0, $s1, $zero
/* BA1418 80240CE8 8EC20088 */ lw $v0, 0x88($s6)
/* BA141C 80240CEC 1440005D */ bnez $v0, .L80240E64
/* BA1420 80240CF0 00000000 */ nop
/* BA1424 80240CF4 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA1428 80240CF8 3C018024 */ lui $at, %hi(D_80244018_BA4748)
/* BA142C 80240CFC D4244018 */ ldc1 $f4, %lo(D_80244018_BA4748)($at)
/* BA1430 80240D00 46000021 */ cvt.d.s $f0, $f0
/* BA1434 80240D04 4620203C */ c.lt.d $f4, $f0
/* BA1438 80240D08 00000000 */ nop
/* BA143C 80240D0C 45000005 */ bc1f .L80240D24
/* BA1440 80240D10 00000000 */ nop
/* BA1444 80240D14 3C0143BE */ lui $at, 0x43be
/* BA1448 80240D18 44810000 */ mtc1 $at, $f0
/* BA144C 80240D1C 00000000 */ nop
/* BA1450 80240D20 E6200038 */ swc1 $f0, 0x38($s1)
.L80240D24:
/* BA1454 80240D24 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA1458 80240D28 3C018024 */ lui $at, %hi(D_80244020_BA4750)
/* BA145C 80240D2C D4224020 */ ldc1 $f2, %lo(D_80244020_BA4750)($at)
/* BA1460 80240D30 46000021 */ cvt.d.s $f0, $f0
/* BA1464 80240D34 4622003C */ c.lt.d $f0, $f2
/* BA1468 80240D38 00000000 */ nop
/* BA146C 80240D3C 45000005 */ bc1f .L80240D54
/* BA1470 80240D40 00000000 */ nop
/* BA1474 80240D44 3C01C3BE */ lui $at, 0xc3be
/* BA1478 80240D48 44810000 */ mtc1 $at, $f0
/* BA147C 80240D4C 00000000 */ nop
/* BA1480 80240D50 E6200038 */ swc1 $f0, 0x38($s1)
.L80240D54:
/* BA1484 80240D54 C6200040 */ lwc1 $f0, 0x40($s1)
/* BA1488 80240D58 46000021 */ cvt.d.s $f0, $f0
/* BA148C 80240D5C 4620203C */ c.lt.d $f4, $f0
/* BA1490 80240D60 00000000 */ nop
/* BA1494 80240D64 45000005 */ bc1f .L80240D7C
/* BA1498 80240D68 00000000 */ nop
/* BA149C 80240D6C 3C0143BE */ lui $at, 0x43be
/* BA14A0 80240D70 44810000 */ mtc1 $at, $f0
/* BA14A4 80240D74 00000000 */ nop
/* BA14A8 80240D78 E6200040 */ swc1 $f0, 0x40($s1)
.L80240D7C:
/* BA14AC 80240D7C C6200040 */ lwc1 $f0, 0x40($s1)
/* BA14B0 80240D80 46000021 */ cvt.d.s $f0, $f0
/* BA14B4 80240D84 4622003C */ c.lt.d $f0, $f2
/* BA14B8 80240D88 00000000 */ nop
/* BA14BC 80240D8C 45000005 */ bc1f .L80240DA4
/* BA14C0 80240D90 00000000 */ nop
/* BA14C4 80240D94 3C01C3BE */ lui $at, 0xc3be
/* BA14C8 80240D98 44810000 */ mtc1 $at, $f0
/* BA14CC 80240D9C 00000000 */ nop
/* BA14D0 80240DA0 E6200040 */ swc1 $f0, 0x40($s1)
.L80240DA4:
/* BA14D4 80240DA4 C6220038 */ lwc1 $f2, 0x38($s1)
/* BA14D8 80240DA8 46021082 */ mul.s $f2, $f2, $f2
/* BA14DC 80240DAC 00000000 */ nop
/* BA14E0 80240DB0 C6200040 */ lwc1 $f0, 0x40($s1)
/* BA14E4 80240DB4 46000002 */ mul.s $f0, $f0, $f0
/* BA14E8 80240DB8 00000000 */ nop
/* BA14EC 80240DBC 46001300 */ add.s $f12, $f2, $f0
/* BA14F0 80240DC0 46006004 */ sqrt.s $f0, $f12
/* BA14F4 80240DC4 46000032 */ c.eq.s $f0, $f0
/* BA14F8 80240DC8 00000000 */ nop
/* BA14FC 80240DCC 45010003 */ bc1t .L80240DDC
/* BA1500 80240DD0 00000000 */ nop
/* BA1504 80240DD4 0C0187BC */ jal sqrtf
/* BA1508 80240DD8 00000000 */ nop
.L80240DDC:
/* BA150C 80240DDC 8E260038 */ lw $a2, 0x38($s1)
/* BA1510 80240DE0 8E270040 */ lw $a3, 0x40($s1)
/* BA1514 80240DE4 4480A000 */ mtc1 $zero, $f20
/* BA1518 80240DE8 E7A00038 */ swc1 $f0, 0x38($sp)
/* BA151C 80240DEC 4600A306 */ mov.s $f12, $f20
/* BA1520 80240DF0 0C00A720 */ jal atan2
/* BA1524 80240DF4 4600A386 */ mov.s $f14, $f20
/* BA1528 80240DF8 46000586 */ mov.s $f22, $f0
/* BA152C 80240DFC C7A20038 */ lwc1 $f2, 0x38($sp)
/* BA1530 80240E00 3C018024 */ lui $at, %hi(D_80244028_BA4758)
/* BA1534 80240E04 D4204028 */ ldc1 $f0, %lo(D_80244028_BA4758)($at)
/* BA1538 80240E08 460010A1 */ cvt.d.s $f2, $f2
/* BA153C 80240E0C 4620103C */ c.lt.d $f2, $f0
/* BA1540 80240E10 00000000 */ nop
/* BA1544 80240E14 45000004 */ bc1f .L80240E28
/* BA1548 80240E18 0200202D */ daddu $a0, $s0, $zero
/* BA154C 80240E1C 3C064398 */ lui $a2, 0x4398
/* BA1550 80240E20 08090392 */ j .L80240E48
/* BA1554 80240E24 34C68000 */ ori $a2, $a2, 0x8000
.L80240E28:
/* BA1558 80240E28 3C018024 */ lui $at, %hi(D_80244030_BA4760)
/* BA155C 80240E2C D4204030 */ ldc1 $f0, %lo(D_80244030_BA4760)($at)
/* BA1560 80240E30 4622003C */ c.lt.d $f0, $f2
/* BA1564 80240E34 00000000 */ nop
/* BA1568 80240E38 450000FA */ bc1f .L80241224
/* BA156C 80240E3C 00000000 */ nop
/* BA1570 80240E40 3C0643BB */ lui $a2, 0x43bb
/* BA1574 80240E44 34C68000 */ ori $a2, $a2, 0x8000
.L80240E48:
/* BA1578 80240E48 4407B000 */ mfc1 $a3, $f22
/* BA157C 80240E4C 0260282D */ daddu $a1, $s3, $zero
/* BA1580 80240E50 E6340038 */ swc1 $f20, 0x38($s1)
/* BA1584 80240E54 0C00A7E7 */ jal add_vec2D_polar
/* BA1588 80240E58 E6340040 */ swc1 $f20, 0x40($s1)
/* BA158C 80240E5C 08090489 */ j .L80241224
/* BA1590 80240E60 00000000 */ nop
.L80240E64:
/* BA1594 80240E64 8E220000 */ lw $v0, ($s1)
/* BA1598 80240E68 30420040 */ andi $v0, $v0, 0x40
/* BA159C 80240E6C 144000B0 */ bnez $v0, .L80241130
/* BA15A0 80240E70 27A50020 */ addiu $a1, $sp, 0x20
/* BA15A4 80240E74 27B40020 */ addiu $s4, $sp, 0x20
/* BA15A8 80240E78 0280282D */ daddu $a1, $s4, $zero
/* BA15AC 80240E7C 27B30024 */ addiu $s3, $sp, 0x24
/* BA15B0 80240E80 8EA20000 */ lw $v0, ($s5)
/* BA15B4 80240E84 3C014032 */ lui $at, 0x4032
/* BA15B8 80240E88 44811800 */ mtc1 $at, $f3
/* BA15BC 80240E8C 44801000 */ mtc1 $zero, $f2
/* BA15C0 80240E90 C440002C */ lwc1 $f0, 0x2c($v0)
/* BA15C4 80240E94 C4460028 */ lwc1 $f6, 0x28($v0)
/* BA15C8 80240E98 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA15CC 80240E9C 46000021 */ cvt.d.s $f0, $f0
/* BA15D0 80240EA0 46220000 */ add.d $f0, $f0, $f2
/* BA15D4 80240EA4 E7A60020 */ swc1 $f6, 0x20($sp)
/* BA15D8 80240EA8 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA15DC 80240EAC 46200020 */ cvt.s.d $f0, $f0
/* BA15E0 80240EB0 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA15E4 80240EB4 E7B40010 */ swc1 $f20, 0x10($sp)
/* BA15E8 80240EB8 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA15EC 80240EBC 862200A8 */ lh $v0, 0xa8($s1)
/* BA15F0 80240EC0 0260302D */ daddu $a2, $s3, $zero
/* BA15F4 80240EC4 44820000 */ mtc1 $v0, $f0
/* BA15F8 80240EC8 00000000 */ nop
/* BA15FC 80240ECC 46800020 */ cvt.s.w $f0, $f0
/* BA1600 80240ED0 E7A00018 */ swc1 $f0, 0x18($sp)
/* BA1604 80240ED4 862200A6 */ lh $v0, 0xa6($s1)
/* BA1608 80240ED8 27B00028 */ addiu $s0, $sp, 0x28
/* BA160C 80240EDC 44820000 */ mtc1 $v0, $f0
/* BA1610 80240EE0 00000000 */ nop
/* BA1614 80240EE4 46800020 */ cvt.s.w $f0, $f0
/* BA1618 80240EE8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA161C 80240EEC 8E240080 */ lw $a0, 0x80($s1)
/* BA1620 80240EF0 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA1624 80240EF4 0200382D */ daddu $a3, $s0, $zero
/* BA1628 80240EF8 104000CA */ beqz $v0, .L80241224
/* BA162C 80240EFC 0280282D */ daddu $a1, $s4, $zero
/* BA1630 80240F00 8EA20000 */ lw $v0, ($s5)
/* BA1634 80240F04 3C018024 */ lui $at, %hi(D_80244038_BA4768)
/* BA1638 80240F08 D4224038 */ ldc1 $f2, %lo(D_80244038_BA4768)($at)
/* BA163C 80240F0C C440002C */ lwc1 $f0, 0x2c($v0)
/* BA1640 80240F10 C4460028 */ lwc1 $f6, 0x28($v0)
/* BA1644 80240F14 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA1648 80240F18 46000021 */ cvt.d.s $f0, $f0
/* BA164C 80240F1C 46220000 */ add.d $f0, $f0, $f2
/* BA1650 80240F20 E7A60020 */ swc1 $f6, 0x20($sp)
/* BA1654 80240F24 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA1658 80240F28 46200020 */ cvt.s.d $f0, $f0
/* BA165C 80240F2C E7A00024 */ swc1 $f0, 0x24($sp)
/* BA1660 80240F30 E7B40010 */ swc1 $f20, 0x10($sp)
/* BA1664 80240F34 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA1668 80240F38 862200A8 */ lh $v0, 0xa8($s1)
/* BA166C 80240F3C 44820000 */ mtc1 $v0, $f0
/* BA1670 80240F40 00000000 */ nop
/* BA1674 80240F44 46800020 */ cvt.s.w $f0, $f0
/* BA1678 80240F48 E7A00018 */ swc1 $f0, 0x18($sp)
/* BA167C 80240F4C 862200A6 */ lh $v0, 0xa6($s1)
/* BA1680 80240F50 0260302D */ daddu $a2, $s3, $zero
/* BA1684 80240F54 44820000 */ mtc1 $v0, $f0
/* BA1688 80240F58 00000000 */ nop
/* BA168C 80240F5C 46800020 */ cvt.s.w $f0, $f0
/* BA1690 80240F60 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA1694 80240F64 8E240080 */ lw $a0, 0x80($s1)
/* BA1698 80240F68 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA169C 80240F6C 0200382D */ daddu $a3, $s0, $zero
/* BA16A0 80240F70 27A5002C */ addiu $a1, $sp, 0x2c
/* BA16A4 80240F74 27A60030 */ addiu $a2, $sp, 0x30
/* BA16A8 80240F78 27A70034 */ addiu $a3, $sp, 0x34
/* BA16AC 80240F7C 27A30038 */ addiu $v1, $sp, 0x38
/* BA16B0 80240F80 C6220038 */ lwc1 $f2, 0x38($s1)
/* BA16B4 80240F84 C620003C */ lwc1 $f0, 0x3c($s1)
/* BA16B8 80240F88 3C014348 */ lui $at, 0x4348
/* BA16BC 80240F8C 44813000 */ mtc1 $at, $f6
/* BA16C0 80240F90 46000021 */ cvt.d.s $f0, $f0
/* BA16C4 80240F94 E7A2002C */ swc1 $f2, 0x2c($sp)
/* BA16C8 80240F98 3C014059 */ lui $at, 0x4059
/* BA16CC 80240F9C 44811800 */ mtc1 $at, $f3
/* BA16D0 80240FA0 44801000 */ mtc1 $zero, $f2
/* BA16D4 80240FA4 C6240040 */ lwc1 $f4, 0x40($s1)
/* BA16D8 80240FA8 46220000 */ add.d $f0, $f0, $f2
/* BA16DC 80240FAC E7A60038 */ swc1 $f6, 0x38($sp)
/* BA16E0 80240FB0 E7A40034 */ swc1 $f4, 0x34($sp)
/* BA16E4 80240FB4 46200020 */ cvt.s.d $f0, $f0
/* BA16E8 80240FB8 E7A00030 */ swc1 $f0, 0x30($sp)
/* BA16EC 80240FBC AFA30010 */ sw $v1, 0x10($sp)
/* BA16F0 80240FC0 8E240080 */ lw $a0, 0x80($s1)
/* BA16F4 80240FC4 0C0372DF */ jal npc_raycast_down_sides
/* BA16F8 80240FC8 0040802D */ daddu $s0, $v0, $zero
/* BA16FC 80240FCC 1600001C */ bnez $s0, .L80241040
/* BA1700 80240FD0 00000000 */ nop
/* BA1704 80240FD4 1040001A */ beqz $v0, .L80241040
/* BA1708 80240FD8 00000000 */ nop
/* BA170C 80240FDC C7A20038 */ lwc1 $f2, 0x38($sp)
/* BA1710 80240FE0 3C014054 */ lui $at, 0x4054
/* BA1714 80240FE4 44810800 */ mtc1 $at, $f1
/* BA1718 80240FE8 44800000 */ mtc1 $zero, $f0
/* BA171C 80240FEC 460010A1 */ cvt.d.s $f2, $f2
/* BA1720 80240FF0 4622003C */ c.lt.d $f0, $f2
/* BA1724 80240FF4 00000000 */ nop
/* BA1728 80240FF8 45000011 */ bc1f .L80241040
/* BA172C 80240FFC 00000000 */ nop
/* BA1730 80241000 3C01405E */ lui $at, 0x405e
/* BA1734 80241004 44810800 */ mtc1 $at, $f1
/* BA1738 80241008 44800000 */ mtc1 $zero, $f0
/* BA173C 8024100C 00000000 */ nop
/* BA1740 80241010 4620103C */ c.lt.d $f2, $f0
/* BA1744 80241014 00000000 */ nop
/* BA1748 80241018 45000009 */ bc1f .L80241040
/* BA174C 8024101C 00000000 */ nop
/* BA1750 80241020 C622003C */ lwc1 $f2, 0x3c($s1)
/* BA1754 80241024 C7A00030 */ lwc1 $f0, 0x30($sp)
/* BA1758 80241028 46001032 */ c.eq.s $f2, $f0
/* BA175C 8024102C 00000000 */ nop
/* BA1760 80241030 45010003 */ bc1t .L80241040
/* BA1764 80241034 00000000 */ nop
/* BA1768 80241038 08090489 */ j .L80241224
/* BA176C 8024103C 241E0001 */ addiu $fp, $zero, 1
.L80241040:
/* BA1770 80241040 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* BA1774 80241044 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* BA1778 80241048 8E020000 */ lw $v0, ($s0)
/* BA177C 8024104C 3C014024 */ lui $at, 0x4024
/* BA1780 80241050 44811800 */ mtc1 $at, $f3
/* BA1784 80241054 44801000 */ mtc1 $zero, $f2
/* BA1788 80241058 C440002C */ lwc1 $f0, 0x2c($v0)
/* BA178C 8024105C C4460028 */ lwc1 $f6, 0x28($v0)
/* BA1790 80241060 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA1794 80241064 46000021 */ cvt.d.s $f0, $f0
/* BA1798 80241068 46220000 */ add.d $f0, $f0, $f2
/* BA179C 8024106C E7A60020 */ swc1 $f6, 0x20($sp)
/* BA17A0 80241070 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA17A4 80241074 46200020 */ cvt.s.d $f0, $f0
/* BA17A8 80241078 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA17AC 8024107C E7B40010 */ swc1 $f20, 0x10($sp)
/* BA17B0 80241080 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA17B4 80241084 862200A8 */ lh $v0, 0xa8($s1)
/* BA17B8 80241088 27A50020 */ addiu $a1, $sp, 0x20
/* BA17BC 8024108C 44820000 */ mtc1 $v0, $f0
/* BA17C0 80241090 00000000 */ nop
/* BA17C4 80241094 46800020 */ cvt.s.w $f0, $f0
/* BA17C8 80241098 E7A00018 */ swc1 $f0, 0x18($sp)
/* BA17CC 8024109C 862200A6 */ lh $v0, 0xa6($s1)
/* BA17D0 802410A0 27A60024 */ addiu $a2, $sp, 0x24
/* BA17D4 802410A4 44820000 */ mtc1 $v0, $f0
/* BA17D8 802410A8 00000000 */ nop
/* BA17DC 802410AC 46800020 */ cvt.s.w $f0, $f0
/* BA17E0 802410B0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA17E4 802410B4 8E240080 */ lw $a0, 0x80($s1)
/* BA17E8 802410B8 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA17EC 802410BC 27A70028 */ addiu $a3, $sp, 0x28
/* BA17F0 802410C0 8FA60020 */ lw $a2, 0x20($sp)
/* BA17F4 802410C4 8E020000 */ lw $v0, ($s0)
/* BA17F8 802410C8 8FA70028 */ lw $a3, 0x28($sp)
/* BA17FC 802410CC C44C0028 */ lwc1 $f12, 0x28($v0)
/* BA1800 802410D0 C44E0030 */ lwc1 $f14, 0x30($v0)
/* BA1804 802410D4 0C00A7B5 */ jal dist2D
/* BA1808 802410D8 24170001 */ addiu $s7, $zero, 1
/* BA180C 802410DC 46000506 */ mov.s $f20, $f0
/* BA1810 802410E0 8E030000 */ lw $v1, ($s0)
/* BA1814 802410E4 862200A6 */ lh $v0, 0xa6($s1)
/* BA1818 802410E8 4407C000 */ mfc1 $a3, $f24
/* BA181C 802410EC 44824000 */ mtc1 $v0, $f8
/* BA1820 802410F0 00000000 */ nop
/* BA1824 802410F4 46804220 */ cvt.s.w $f8, $f8
/* BA1828 802410F8 C4600028 */ lwc1 $f0, 0x28($v1)
/* BA182C 802410FC 44064000 */ mfc1 $a2, $f8
/* BA1830 80241100 26240038 */ addiu $a0, $s1, 0x38
/* BA1834 80241104 E6200038 */ swc1 $f0, 0x38($s1)
/* BA1838 80241108 C4600030 */ lwc1 $f0, 0x30($v1)
/* BA183C 8024110C 26250040 */ addiu $a1, $s1, 0x40
/* BA1840 80241110 0C00A7E7 */ jal add_vec2D_polar
/* BA1844 80241114 E6200040 */ swc1 $f0, 0x40($s1)
/* BA1848 80241118 862200A6 */ lh $v0, 0xa6($s1)
/* BA184C 8024111C 44820000 */ mtc1 $v0, $f0
/* BA1850 80241120 00000000 */ nop
/* BA1854 80241124 46800020 */ cvt.s.w $f0, $f0
/* BA1858 80241128 08090485 */ j .L80241214
/* BA185C 8024112C 4600A500 */ add.s $f20, $f20, $f0
.L80241130:
/* BA1860 80241130 8EA20000 */ lw $v0, ($s5)
/* BA1864 80241134 3C014032 */ lui $at, 0x4032
/* BA1868 80241138 44811800 */ mtc1 $at, $f3
/* BA186C 8024113C 44801000 */ mtc1 $zero, $f2
/* BA1870 80241140 C440002C */ lwc1 $f0, 0x2c($v0)
/* BA1874 80241144 C4460028 */ lwc1 $f6, 0x28($v0)
/* BA1878 80241148 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA187C 8024114C 46000021 */ cvt.d.s $f0, $f0
/* BA1880 80241150 46220000 */ add.d $f0, $f0, $f2
/* BA1884 80241154 E7A60020 */ swc1 $f6, 0x20($sp)
/* BA1888 80241158 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA188C 8024115C 46200020 */ cvt.s.d $f0, $f0
/* BA1890 80241160 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA1894 80241164 E7B40010 */ swc1 $f20, 0x10($sp)
/* BA1898 80241168 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA189C 8024116C 862200A8 */ lh $v0, 0xa8($s1)
/* BA18A0 80241170 44820000 */ mtc1 $v0, $f0
/* BA18A4 80241174 00000000 */ nop
/* BA18A8 80241178 46800020 */ cvt.s.w $f0, $f0
/* BA18AC 8024117C E7A00018 */ swc1 $f0, 0x18($sp)
/* BA18B0 80241180 862200A6 */ lh $v0, 0xa6($s1)
/* BA18B4 80241184 27A60024 */ addiu $a2, $sp, 0x24
/* BA18B8 80241188 44820000 */ mtc1 $v0, $f0
/* BA18BC 8024118C 00000000 */ nop
/* BA18C0 80241190 46800020 */ cvt.s.w $f0, $f0
/* BA18C4 80241194 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA18C8 80241198 8E240080 */ lw $a0, 0x80($s1)
/* BA18CC 8024119C 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA18D0 802411A0 27A70028 */ addiu $a3, $sp, 0x28
/* BA18D4 802411A4 1040001F */ beqz $v0, .L80241224
/* BA18D8 802411A8 00000000 */ nop
/* BA18DC 802411AC 8FA60020 */ lw $a2, 0x20($sp)
/* BA18E0 802411B0 8EA20000 */ lw $v0, ($s5)
/* BA18E4 802411B4 8FA70028 */ lw $a3, 0x28($sp)
/* BA18E8 802411B8 C44C0028 */ lwc1 $f12, 0x28($v0)
/* BA18EC 802411BC 0C00A7B5 */ jal dist2D
/* BA18F0 802411C0 C44E0030 */ lwc1 $f14, 0x30($v0)
/* BA18F4 802411C4 46000506 */ mov.s $f20, $f0
/* BA18F8 802411C8 8EA30000 */ lw $v1, ($s5)
/* BA18FC 802411CC 862200A6 */ lh $v0, 0xa6($s1)
/* BA1900 802411D0 4407C000 */ mfc1 $a3, $f24
/* BA1904 802411D4 44824000 */ mtc1 $v0, $f8
/* BA1908 802411D8 00000000 */ nop
/* BA190C 802411DC 46804220 */ cvt.s.w $f8, $f8
/* BA1910 802411E0 C4600028 */ lwc1 $f0, 0x28($v1)
/* BA1914 802411E4 44064000 */ mfc1 $a2, $f8
/* BA1918 802411E8 0200202D */ daddu $a0, $s0, $zero
/* BA191C 802411EC E6200038 */ swc1 $f0, 0x38($s1)
/* BA1920 802411F0 C4600030 */ lwc1 $f0, 0x30($v1)
/* BA1924 802411F4 0260282D */ daddu $a1, $s3, $zero
/* BA1928 802411F8 0C00A7E7 */ jal add_vec2D_polar
/* BA192C 802411FC E6200040 */ swc1 $f0, 0x40($s1)
/* BA1930 80241200 862200A6 */ lh $v0, 0xa6($s1)
/* BA1934 80241204 44820000 */ mtc1 $v0, $f0
/* BA1938 80241208 00000000 */ nop
/* BA193C 8024120C 46800020 */ cvt.s.w $f0, $f0
/* BA1940 80241210 4600A500 */ add.s $f20, $f20, $f0
.L80241214:
/* BA1944 80241214 4406B000 */ mfc1 $a2, $f22
/* BA1948 80241218 4405A000 */ mfc1 $a1, $f20
/* BA194C 8024121C 0C00EA95 */ jal npc_move_heading
/* BA1950 80241220 0220202D */ daddu $a0, $s1, $zero
.L80241224:
/* BA1954 80241224 C6400008 */ lwc1 $f0, 8($s2)
/* BA1958 80241228 46800020 */ cvt.s.w $f0, $f0
/* BA195C 8024122C 44050000 */ mfc1 $a1, $f0
/* BA1960 80241230 C640000C */ lwc1 $f0, 0xc($s2)
/* BA1964 80241234 46800020 */ cvt.s.w $f0, $f0
/* BA1968 80241238 44060000 */ mfc1 $a2, $f0
/* BA196C 8024123C C6200040 */ lwc1 $f0, 0x40($s1)
/* BA1970 80241240 26300038 */ addiu $s0, $s1, 0x38
/* BA1974 80241244 E7A00010 */ swc1 $f0, 0x10($sp)
/* BA1978 80241248 C6400010 */ lwc1 $f0, 0x10($s2)
/* BA197C 8024124C 46800020 */ cvt.s.w $f0, $f0
/* BA1980 80241250 E7A00014 */ swc1 $f0, 0x14($sp)
/* BA1984 80241254 C6400014 */ lwc1 $f0, 0x14($s2)
/* BA1988 80241258 46800020 */ cvt.s.w $f0, $f0
/* BA198C 8024125C E7A00018 */ swc1 $f0, 0x18($sp)
/* BA1990 80241260 8E440004 */ lw $a0, 4($s2)
/* BA1994 80241264 8E270038 */ lw $a3, 0x38($s1)
/* BA1998 80241268 0C0123F5 */ jal is_point_within_region
/* BA199C 8024126C 26330040 */ addiu $s3, $s1, 0x40
/* BA19A0 80241270 1040005A */ beqz $v0, .L802413DC
/* BA19A4 80241274 00000000 */ nop
/* BA19A8 80241278 8E430004 */ lw $v1, 4($s2)
/* BA19AC 8024127C 10600005 */ beqz $v1, .L80241294
/* BA19B0 80241280 24020001 */ addiu $v0, $zero, 1
/* BA19B4 80241284 10620029 */ beq $v1, $v0, .L8024132C
/* BA19B8 80241288 00000000 */ nop
/* BA19BC 8024128C 080904F7 */ j .L802413DC
/* BA19C0 80241290 00000000 */ nop
.L80241294:
/* BA19C4 80241294 C6480008 */ lwc1 $f8, 8($s2)
/* BA19C8 80241298 46804220 */ cvt.s.w $f8, $f8
/* BA19CC 8024129C 44064000 */ mfc1 $a2, $f8
/* BA19D0 802412A0 C648000C */ lwc1 $f8, 0xc($s2)
/* BA19D4 802412A4 46804220 */ cvt.s.w $f8, $f8
/* BA19D8 802412A8 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BA19DC 802412AC C62E0040 */ lwc1 $f14, 0x40($s1)
/* BA19E0 802412B0 44074000 */ mfc1 $a3, $f8
/* BA19E4 802412B4 0C00A7B5 */ jal dist2D
/* BA19E8 802412B8 00000000 */ nop
/* BA19EC 802412BC C6420010 */ lwc1 $f2, 0x10($s2)
/* BA19F0 802412C0 468010A0 */ cvt.s.w $f2, $f2
/* BA19F4 802412C4 4600103C */ c.lt.s $f2, $f0
/* BA19F8 802412C8 00000000 */ nop
/* BA19FC 802412CC 45000043 */ bc1f .L802413DC
/* BA1A00 802412D0 E7A00038 */ swc1 $f0, 0x38($sp)
/* BA1A04 802412D4 C64C0008 */ lwc1 $f12, 8($s2)
/* BA1A08 802412D8 46806320 */ cvt.s.w $f12, $f12
/* BA1A0C 802412DC 8E260038 */ lw $a2, 0x38($s1)
/* BA1A10 802412E0 8E270040 */ lw $a3, 0x40($s1)
/* BA1A14 802412E4 C64E000C */ lwc1 $f14, 0xc($s2)
/* BA1A18 802412E8 0C00A720 */ jal atan2
/* BA1A1C 802412EC 468073A0 */ cvt.s.w $f14, $f14
/* BA1A20 802412F0 0200202D */ daddu $a0, $s0, $zero
/* BA1A24 802412F4 44070000 */ mfc1 $a3, $f0
/* BA1A28 802412F8 C6400008 */ lwc1 $f0, 8($s2)
/* BA1A2C 802412FC 46800020 */ cvt.s.w $f0, $f0
/* BA1A30 80241300 E6200038 */ swc1 $f0, 0x38($s1)
/* BA1A34 80241304 C640000C */ lwc1 $f0, 0xc($s2)
/* BA1A38 80241308 46800020 */ cvt.s.w $f0, $f0
/* BA1A3C 8024130C E6200040 */ swc1 $f0, 0x40($s1)
/* BA1A40 80241310 C6480010 */ lwc1 $f8, 0x10($s2)
/* BA1A44 80241314 46804220 */ cvt.s.w $f8, $f8
/* BA1A48 80241318 44064000 */ mfc1 $a2, $f8
/* BA1A4C 8024131C 0C00A7E7 */ jal add_vec2D_polar
/* BA1A50 80241320 0260282D */ daddu $a1, $s3, $zero
/* BA1A54 80241324 080904F7 */ j .L802413DC
/* BA1A58 80241328 00000000 */ nop
.L8024132C:
/* BA1A5C 8024132C 8E420008 */ lw $v0, 8($s2)
/* BA1A60 80241330 8E430010 */ lw $v1, 0x10($s2)
/* BA1A64 80241334 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA1A68 80241338 00431021 */ addu $v0, $v0, $v1
/* BA1A6C 8024133C 44821000 */ mtc1 $v0, $f2
/* BA1A70 80241340 00000000 */ nop
/* BA1A74 80241344 468010A0 */ cvt.s.w $f2, $f2
/* BA1A78 80241348 4600103C */ c.lt.s $f2, $f0
/* BA1A7C 8024134C 00000000 */ nop
/* BA1A80 80241350 45030001 */ bc1tl .L80241358
/* BA1A84 80241354 E6220038 */ swc1 $f2, 0x38($s1)
.L80241358:
/* BA1A88 80241358 8E420008 */ lw $v0, 8($s2)
/* BA1A8C 8024135C 8E430010 */ lw $v1, 0x10($s2)
/* BA1A90 80241360 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA1A94 80241364 00431023 */ subu $v0, $v0, $v1
/* BA1A98 80241368 44821000 */ mtc1 $v0, $f2
/* BA1A9C 8024136C 00000000 */ nop
/* BA1AA0 80241370 468010A0 */ cvt.s.w $f2, $f2
/* BA1AA4 80241374 4602003C */ c.lt.s $f0, $f2
/* BA1AA8 80241378 00000000 */ nop
/* BA1AAC 8024137C 45030001 */ bc1tl .L80241384
/* BA1AB0 80241380 E6220038 */ swc1 $f2, 0x38($s1)
.L80241384:
/* BA1AB4 80241384 8E42000C */ lw $v0, 0xc($s2)
/* BA1AB8 80241388 8E430014 */ lw $v1, 0x14($s2)
/* BA1ABC 8024138C C6200040 */ lwc1 $f0, 0x40($s1)
/* BA1AC0 80241390 00431021 */ addu $v0, $v0, $v1
/* BA1AC4 80241394 44821000 */ mtc1 $v0, $f2
/* BA1AC8 80241398 00000000 */ nop
/* BA1ACC 8024139C 468010A0 */ cvt.s.w $f2, $f2
/* BA1AD0 802413A0 4600103C */ c.lt.s $f2, $f0
/* BA1AD4 802413A4 00000000 */ nop
/* BA1AD8 802413A8 45030001 */ bc1tl .L802413B0
/* BA1ADC 802413AC E6220040 */ swc1 $f2, 0x40($s1)
.L802413B0:
/* BA1AE0 802413B0 8E42000C */ lw $v0, 0xc($s2)
/* BA1AE4 802413B4 8E430014 */ lw $v1, 0x14($s2)
/* BA1AE8 802413B8 C6200040 */ lwc1 $f0, 0x40($s1)
/* BA1AEC 802413BC 00431023 */ subu $v0, $v0, $v1
/* BA1AF0 802413C0 44821000 */ mtc1 $v0, $f2
/* BA1AF4 802413C4 00000000 */ nop
/* BA1AF8 802413C8 468010A0 */ cvt.s.w $f2, $f2
/* BA1AFC 802413CC 4602003C */ c.lt.s $f0, $f2
/* BA1B00 802413D0 00000000 */ nop
/* BA1B04 802413D4 45030001 */ bc1tl .L802413DC
/* BA1B08 802413D8 E6220040 */ swc1 $f2, 0x40($s1)
.L802413DC:
/* BA1B0C 802413DC 16E0001F */ bnez $s7, .L8024145C
/* BA1B10 802413E0 00000000 */ nop
/* BA1B14 802413E4 8E220000 */ lw $v0, ($s1)
/* BA1B18 802413E8 30420008 */ andi $v0, $v0, 8
/* BA1B1C 802413EC 10400003 */ beqz $v0, .L802413FC
/* BA1B20 802413F0 27A50020 */ addiu $a1, $sp, 0x20
/* BA1B24 802413F4 13C00019 */ beqz $fp, .L8024145C
/* BA1B28 802413F8 00000000 */ nop
.L802413FC:
/* BA1B2C 802413FC 27A60024 */ addiu $a2, $sp, 0x24
/* BA1B30 80241400 27A20038 */ addiu $v0, $sp, 0x38
/* BA1B34 80241404 C6220038 */ lwc1 $f2, 0x38($s1)
/* BA1B38 80241408 C620003C */ lwc1 $f0, 0x3c($s1)
/* BA1B3C 8024140C 3C0143C8 */ lui $at, 0x43c8
/* BA1B40 80241410 44813000 */ mtc1 $at, $f6
/* BA1B44 80241414 46000021 */ cvt.d.s $f0, $f0
/* BA1B48 80241418 E7A20020 */ swc1 $f2, 0x20($sp)
/* BA1B4C 8024141C 3C018024 */ lui $at, %hi(D_80244040_BA4770)
/* BA1B50 80241420 D4224040 */ ldc1 $f2, %lo(D_80244040_BA4770)($at)
/* BA1B54 80241424 C6240040 */ lwc1 $f4, 0x40($s1)
/* BA1B58 80241428 46220000 */ add.d $f0, $f0, $f2
/* BA1B5C 8024142C E7A60038 */ swc1 $f6, 0x38($sp)
/* BA1B60 80241430 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA1B64 80241434 46200020 */ cvt.s.d $f0, $f0
/* BA1B68 80241438 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA1B6C 8024143C AFA20010 */ sw $v0, 0x10($sp)
/* BA1B70 80241440 8E240080 */ lw $a0, 0x80($s1)
/* BA1B74 80241444 0C0372DF */ jal npc_raycast_down_sides
/* BA1B78 80241448 27A70028 */ addiu $a3, $sp, 0x28
/* BA1B7C 8024144C 10400003 */ beqz $v0, .L8024145C
/* BA1B80 80241450 00000000 */ nop
/* BA1B84 80241454 C7A00024 */ lwc1 $f0, 0x24($sp)
/* BA1B88 80241458 E620003C */ swc1 $f0, 0x3c($s1)
.L8024145C:
/* BA1B8C 8024145C C62C0038 */ lwc1 $f12, 0x38($s1)
/* BA1B90 80241460 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA1B94 80241464 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA1B98 80241468 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BA1B9C 8024146C 8C460028 */ lw $a2, 0x28($v0)
/* BA1BA0 80241470 0C00A720 */ jal atan2
/* BA1BA4 80241474 8C470030 */ lw $a3, 0x30($v0)
/* BA1BA8 80241478 0220202D */ daddu $a0, $s1, $zero
/* BA1BAC 8024147C 24050321 */ addiu $a1, $zero, 0x321
/* BA1BB0 80241480 0000302D */ daddu $a2, $zero, $zero
/* BA1BB4 80241484 0C012530 */ jal ai_enemy_play_sound
/* BA1BB8 80241488 E620000C */ swc1 $f0, 0xc($s1)
/* BA1BBC 8024148C 8EC200CC */ lw $v0, 0xcc($s6)
/* BA1BC0 80241490 8C420024 */ lw $v0, 0x24($v0)
/* BA1BC4 80241494 AE220028 */ sw $v0, 0x28($s1)
/* BA1BC8 80241498 96C20096 */ lhu $v0, 0x96($s6)
/* BA1BCC 8024149C A622008E */ sh $v0, 0x8e($s1)
/* BA1BD0 802414A0 8FA80080 */ lw $t0, 0x80($sp)
/* BA1BD4 802414A4 2402000B */ addiu $v0, $zero, 0xb
/* BA1BD8 802414A8 AD020070 */ sw $v0, 0x70($t0)
.L802414AC:
/* BA1BDC 802414AC 8FBF0064 */ lw $ra, 0x64($sp)
/* BA1BE0 802414B0 8FBE0060 */ lw $fp, 0x60($sp)
/* BA1BE4 802414B4 8FB7005C */ lw $s7, 0x5c($sp)
/* BA1BE8 802414B8 8FB60058 */ lw $s6, 0x58($sp)
/* BA1BEC 802414BC 8FB50054 */ lw $s5, 0x54($sp)
/* BA1BF0 802414C0 8FB40050 */ lw $s4, 0x50($sp)
/* BA1BF4 802414C4 8FB3004C */ lw $s3, 0x4c($sp)
/* BA1BF8 802414C8 8FB20048 */ lw $s2, 0x48($sp)
/* BA1BFC 802414CC 8FB10044 */ lw $s1, 0x44($sp)
/* BA1C00 802414D0 8FB00040 */ lw $s0, 0x40($sp)
/* BA1C04 802414D4 D7B80078 */ ldc1 $f24, 0x78($sp)
/* BA1C08 802414D8 D7B60070 */ ldc1 $f22, 0x70($sp)
/* BA1C0C 802414DC D7B40068 */ ldc1 $f20, 0x68($sp)
/* BA1C10 802414E0 03E00008 */ jr $ra
/* BA1C14 802414E4 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -110,7 +110,7 @@ glabel func_802417C4_BA1EF4
/* BA2080 80241950 00000000 */ nop
.L80241954:
/* BA2084 80241954 0260282D */ daddu $a1, $s3, $zero
/* BA2088 80241958 0C0902AA */ jal btl_restore_world_cameras_BA11D8
/* BA2088 80241958 0C0902AA */ jal mim_05_UnkNpcAIFunc46
/* BA208C 8024195C 0280302D */ daddu $a2, $s4, $zero
/* BA2090 80241960 8E420070 */ lw $v0, 0x70($s2)
/* BA2094 80241964 14500021 */ bne $v0, $s0, .L802419EC

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80245948_BAA0C8
.double 380.0
dlabel D_80245950_BAA0D0
.double -380.0
dlabel D_80245958_BAA0D8
.double 305.0
dlabel D_80245960_BAA0E0
.double 375.0
dlabel D_80245968_BAA0E8
.double 45.0
dlabel D_80245970_BAA0F0
.double 150.0
.section .text
glabel func_80240FA8_BA5728
/* BA5728 80240FA8 27BDFF80 */ addiu $sp, $sp, -0x80
/* BA572C 80240FAC AFBF0064 */ sw $ra, 0x64($sp)
/* BA5730 80240FB0 AFBE0060 */ sw $fp, 0x60($sp)
/* BA5734 80240FB4 AFB7005C */ sw $s7, 0x5c($sp)
/* BA5738 80240FB8 AFB60058 */ sw $s6, 0x58($sp)
/* BA573C 80240FBC AFB50054 */ sw $s5, 0x54($sp)
/* BA5740 80240FC0 AFB40050 */ sw $s4, 0x50($sp)
/* BA5744 80240FC4 AFB3004C */ sw $s3, 0x4c($sp)
/* BA5748 80240FC8 AFB20048 */ sw $s2, 0x48($sp)
/* BA574C 80240FCC AFB10044 */ sw $s1, 0x44($sp)
/* BA5750 80240FD0 AFB00040 */ sw $s0, 0x40($sp)
/* BA5754 80240FD4 F7B80078 */ sdc1 $f24, 0x78($sp)
/* BA5758 80240FD8 F7B60070 */ sdc1 $f22, 0x70($sp)
/* BA575C 80240FDC F7B40068 */ sdc1 $f20, 0x68($sp)
/* BA5760 80240FE0 AFA40080 */ sw $a0, 0x80($sp)
/* BA5764 80240FE4 8C960148 */ lw $s6, 0x148($a0)
/* BA5768 80240FE8 00C0902D */ daddu $s2, $a2, $zero
/* BA576C 80240FEC 86C40008 */ lh $a0, 8($s6)
/* BA5770 80240FF0 0C00EABB */ jal get_npc_unsafe
/* BA5774 80240FF4 0000B82D */ daddu $s7, $zero, $zero
/* BA5778 80240FF8 0040882D */ daddu $s1, $v0, $zero
/* BA577C 80240FFC 9622008E */ lhu $v0, 0x8e($s1)
/* BA5780 80241000 2442FFFF */ addiu $v0, $v0, -1
/* BA5784 80241004 A622008E */ sh $v0, 0x8e($s1)
/* BA5788 80241008 00021400 */ sll $v0, $v0, 0x10
/* BA578C 8024100C 8EC30090 */ lw $v1, 0x90($s6)
/* BA5790 80241010 00021403 */ sra $v0, $v0, 0x10
/* BA5794 80241014 0062182A */ slt $v1, $v1, $v0
/* BA5798 80241018 14600005 */ bnez $v1, .L80241030
/* BA579C 8024101C 02E0F02D */ daddu $fp, $s7, $zero
/* BA57A0 80241020 8EC20000 */ lw $v0, ($s6)
/* BA57A4 80241024 3C031F10 */ lui $v1, 0x1f10
/* BA57A8 80241028 00431025 */ or $v0, $v0, $v1
/* BA57AC 8024102C AEC20000 */ sw $v0, ($s6)
.L80241030:
/* BA57B0 80241030 8622008E */ lh $v0, 0x8e($s1)
/* BA57B4 80241034 1440025D */ bnez $v0, .L802419AC
/* BA57B8 80241038 00000000 */ nop
/* BA57BC 8024103C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA57C0 80241040 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA57C4 80241044 0C00A6C9 */ jal clamp_angle
/* BA57C8 80241048 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* BA57CC 8024104C 3C014334 */ lui $at, 0x4334
/* BA57D0 80241050 44811000 */ mtc1 $at, $f2
/* BA57D4 80241054 00000000 */ nop
/* BA57D8 80241058 4602003C */ c.lt.s $f0, $f2
/* BA57DC 8024105C 00000000 */ nop
/* BA57E0 80241060 45000011 */ bc1f .L802410A8
/* BA57E4 80241064 00000000 */ nop
/* BA57E8 80241068 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* BA57EC 8024106C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* BA57F0 80241070 3C0142B4 */ lui $at, 0x42b4
/* BA57F4 80241074 44816000 */ mtc1 $at, $f12
/* BA57F8 80241078 00031080 */ sll $v0, $v1, 2
/* BA57FC 8024107C 00431021 */ addu $v0, $v0, $v1
/* BA5800 80241080 00021080 */ sll $v0, $v0, 2
/* BA5804 80241084 00431023 */ subu $v0, $v0, $v1
/* BA5808 80241088 000218C0 */ sll $v1, $v0, 3
/* BA580C 8024108C 00431021 */ addu $v0, $v0, $v1
/* BA5810 80241090 000210C0 */ sll $v0, $v0, 3
/* BA5814 80241094 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* BA5818 80241098 00220821 */ addu $at, $at, $v0
/* BA581C 8024109C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* BA5820 802410A0 08090439 */ j .L802410E4
/* BA5824 802410A4 460C0301 */ sub.s $f12, $f0, $f12
.L802410A8:
/* BA5828 802410A8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* BA582C 802410AC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* BA5830 802410B0 3C0142B4 */ lui $at, 0x42b4
/* BA5834 802410B4 44816000 */ mtc1 $at, $f12
/* BA5838 802410B8 00031080 */ sll $v0, $v1, 2
/* BA583C 802410BC 00431021 */ addu $v0, $v0, $v1
/* BA5840 802410C0 00021080 */ sll $v0, $v0, 2
/* BA5844 802410C4 00431023 */ subu $v0, $v0, $v1
/* BA5848 802410C8 000218C0 */ sll $v1, $v0, 3
/* BA584C 802410CC 00431021 */ addu $v0, $v0, $v1
/* BA5850 802410D0 000210C0 */ sll $v0, $v0, 3
/* BA5854 802410D4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* BA5858 802410D8 00220821 */ addu $at, $at, $v0
/* BA585C 802410DC C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* BA5860 802410E0 460C0300 */ add.s $f12, $f0, $f12
.L802410E4:
/* BA5864 802410E4 0C00A6C9 */ jal clamp_angle
/* BA5868 802410E8 00000000 */ nop
/* BA586C 802410EC 46000586 */ mov.s $f22, $f0
/* BA5870 802410F0 3C014334 */ lui $at, 0x4334
/* BA5874 802410F4 44816000 */ mtc1 $at, $f12
/* BA5878 802410F8 0C00A6C9 */ jal clamp_angle
/* BA587C 802410FC 460CB300 */ add.s $f12, $f22, $f12
/* BA5880 80241100 8EC20088 */ lw $v0, 0x88($s6)
/* BA5884 80241104 14400010 */ bnez $v0, .L80241148
/* BA5888 80241108 46000606 */ mov.s $f24, $f0
/* BA588C 8024110C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA5890 80241110 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA5894 80241114 804300B4 */ lb $v1, 0xb4($v0)
/* BA5898 80241118 3C014200 */ lui $at, 0x4200
/* BA589C 8024111C 4481A000 */ mtc1 $at, $f20
/* BA58A0 80241120 10600016 */ beqz $v1, .L8024117C
/* BA58A4 80241124 24020001 */ addiu $v0, $zero, 1
/* BA58A8 80241128 3C0142C8 */ lui $at, 0x42c8
/* BA58AC 8024112C 4481A000 */ mtc1 $at, $f20
/* BA58B0 80241130 14620013 */ bne $v1, $v0, .L80241180
/* BA58B4 80241134 26300038 */ addiu $s0, $s1, 0x38
/* BA58B8 80241138 3C0142B4 */ lui $at, 0x42b4
/* BA58BC 8024113C 4481A000 */ mtc1 $at, $f20
/* BA58C0 80241140 08090461 */ j .L80241184
/* BA58C4 80241144 0200202D */ daddu $a0, $s0, $zero
.L80241148:
/* BA58C8 80241148 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA58CC 8024114C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA58D0 80241150 804300B4 */ lb $v1, 0xb4($v0)
/* BA58D4 80241154 3C014218 */ lui $at, 0x4218
/* BA58D8 80241158 4481A000 */ mtc1 $at, $f20
/* BA58DC 8024115C 10600007 */ beqz $v1, .L8024117C
/* BA58E0 80241160 24020001 */ addiu $v0, $zero, 1
/* BA58E4 80241164 3C0142B4 */ lui $at, 0x42b4
/* BA58E8 80241168 4481A000 */ mtc1 $at, $f20
/* BA58EC 8024116C 14620004 */ bne $v1, $v0, .L80241180
/* BA58F0 80241170 26300038 */ addiu $s0, $s1, 0x38
/* BA58F4 80241174 3C014296 */ lui $at, 0x4296
/* BA58F8 80241178 4481A000 */ mtc1 $at, $f20
.L8024117C:
/* BA58FC 8024117C 26300038 */ addiu $s0, $s1, 0x38
.L80241180:
/* BA5900 80241180 0200202D */ daddu $a0, $s0, $zero
.L80241184:
/* BA5904 80241184 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* BA5908 80241188 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* BA590C 8024118C 4407C000 */ mfc1 $a3, $f24
/* BA5910 80241190 862200A6 */ lh $v0, 0xa6($s1)
/* BA5914 80241194 8EA30000 */ lw $v1, ($s5)
/* BA5918 80241198 44824000 */ mtc1 $v0, $f8
/* BA591C 8024119C 00000000 */ nop
/* BA5920 802411A0 46804220 */ cvt.s.w $f8, $f8
/* BA5924 802411A4 C4600028 */ lwc1 $f0, 0x28($v1)
/* BA5928 802411A8 44064000 */ mfc1 $a2, $f8
/* BA592C 802411AC 26330040 */ addiu $s3, $s1, 0x40
/* BA5930 802411B0 E6200038 */ swc1 $f0, 0x38($s1)
/* BA5934 802411B4 C4600030 */ lwc1 $f0, 0x30($v1)
/* BA5938 802411B8 0260282D */ daddu $a1, $s3, $zero
/* BA593C 802411BC 0C00A7E7 */ jal add_vec2D_polar
/* BA5940 802411C0 E6200040 */ swc1 $f0, 0x40($s1)
/* BA5944 802411C4 862200A6 */ lh $v0, 0xa6($s1)
/* BA5948 802411C8 44820000 */ mtc1 $v0, $f0
/* BA594C 802411CC 00000000 */ nop
/* BA5950 802411D0 46800020 */ cvt.s.w $f0, $f0
/* BA5954 802411D4 4600A000 */ add.s $f0, $f20, $f0
/* BA5958 802411D8 4406B000 */ mfc1 $a2, $f22
/* BA595C 802411DC 44050000 */ mfc1 $a1, $f0
/* BA5960 802411E0 0C00EA95 */ jal npc_move_heading
/* BA5964 802411E4 0220202D */ daddu $a0, $s1, $zero
/* BA5968 802411E8 8EC20088 */ lw $v0, 0x88($s6)
/* BA596C 802411EC 1440005D */ bnez $v0, .L80241364
/* BA5970 802411F0 00000000 */ nop
/* BA5974 802411F4 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA5978 802411F8 3C018024 */ lui $at, %hi(D_80245948_BAA0C8)
/* BA597C 802411FC D4245948 */ ldc1 $f4, %lo(D_80245948_BAA0C8)($at)
/* BA5980 80241200 46000021 */ cvt.d.s $f0, $f0
/* BA5984 80241204 4620203C */ c.lt.d $f4, $f0
/* BA5988 80241208 00000000 */ nop
/* BA598C 8024120C 45000005 */ bc1f .L80241224
/* BA5990 80241210 00000000 */ nop
/* BA5994 80241214 3C0143BE */ lui $at, 0x43be
/* BA5998 80241218 44810000 */ mtc1 $at, $f0
/* BA599C 8024121C 00000000 */ nop
/* BA59A0 80241220 E6200038 */ swc1 $f0, 0x38($s1)
.L80241224:
/* BA59A4 80241224 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA59A8 80241228 3C018024 */ lui $at, %hi(D_80245950_BAA0D0)
/* BA59AC 8024122C D4225950 */ ldc1 $f2, %lo(D_80245950_BAA0D0)($at)
/* BA59B0 80241230 46000021 */ cvt.d.s $f0, $f0
/* BA59B4 80241234 4622003C */ c.lt.d $f0, $f2
/* BA59B8 80241238 00000000 */ nop
/* BA59BC 8024123C 45000005 */ bc1f .L80241254
/* BA59C0 80241240 00000000 */ nop
/* BA59C4 80241244 3C01C3BE */ lui $at, 0xc3be
/* BA59C8 80241248 44810000 */ mtc1 $at, $f0
/* BA59CC 8024124C 00000000 */ nop
/* BA59D0 80241250 E6200038 */ swc1 $f0, 0x38($s1)
.L80241254:
/* BA59D4 80241254 C6200040 */ lwc1 $f0, 0x40($s1)
/* BA59D8 80241258 46000021 */ cvt.d.s $f0, $f0
/* BA59DC 8024125C 4620203C */ c.lt.d $f4, $f0
/* BA59E0 80241260 00000000 */ nop
/* BA59E4 80241264 45000005 */ bc1f .L8024127C
/* BA59E8 80241268 00000000 */ nop
/* BA59EC 8024126C 3C0143BE */ lui $at, 0x43be
/* BA59F0 80241270 44810000 */ mtc1 $at, $f0
/* BA59F4 80241274 00000000 */ nop
/* BA59F8 80241278 E6200040 */ swc1 $f0, 0x40($s1)
.L8024127C:
/* BA59FC 8024127C C6200040 */ lwc1 $f0, 0x40($s1)
/* BA5A00 80241280 46000021 */ cvt.d.s $f0, $f0
/* BA5A04 80241284 4622003C */ c.lt.d $f0, $f2
/* BA5A08 80241288 00000000 */ nop
/* BA5A0C 8024128C 45000005 */ bc1f .L802412A4
/* BA5A10 80241290 00000000 */ nop
/* BA5A14 80241294 3C01C3BE */ lui $at, 0xc3be
/* BA5A18 80241298 44810000 */ mtc1 $at, $f0
/* BA5A1C 8024129C 00000000 */ nop
/* BA5A20 802412A0 E6200040 */ swc1 $f0, 0x40($s1)
.L802412A4:
/* BA5A24 802412A4 C6220038 */ lwc1 $f2, 0x38($s1)
/* BA5A28 802412A8 46021082 */ mul.s $f2, $f2, $f2
/* BA5A2C 802412AC 00000000 */ nop
/* BA5A30 802412B0 C6200040 */ lwc1 $f0, 0x40($s1)
/* BA5A34 802412B4 46000002 */ mul.s $f0, $f0, $f0
/* BA5A38 802412B8 00000000 */ nop
/* BA5A3C 802412BC 46001300 */ add.s $f12, $f2, $f0
/* BA5A40 802412C0 46006004 */ sqrt.s $f0, $f12
/* BA5A44 802412C4 46000032 */ c.eq.s $f0, $f0
/* BA5A48 802412C8 00000000 */ nop
/* BA5A4C 802412CC 45010003 */ bc1t .L802412DC
/* BA5A50 802412D0 00000000 */ nop
/* BA5A54 802412D4 0C0187BC */ jal sqrtf
/* BA5A58 802412D8 00000000 */ nop
.L802412DC:
/* BA5A5C 802412DC 8E260038 */ lw $a2, 0x38($s1)
/* BA5A60 802412E0 8E270040 */ lw $a3, 0x40($s1)
/* BA5A64 802412E4 4480A000 */ mtc1 $zero, $f20
/* BA5A68 802412E8 E7A00038 */ swc1 $f0, 0x38($sp)
/* BA5A6C 802412EC 4600A306 */ mov.s $f12, $f20
/* BA5A70 802412F0 0C00A720 */ jal atan2
/* BA5A74 802412F4 4600A386 */ mov.s $f14, $f20
/* BA5A78 802412F8 46000586 */ mov.s $f22, $f0
/* BA5A7C 802412FC C7A20038 */ lwc1 $f2, 0x38($sp)
/* BA5A80 80241300 3C018024 */ lui $at, %hi(D_80245958_BAA0D8)
/* BA5A84 80241304 D4205958 */ ldc1 $f0, %lo(D_80245958_BAA0D8)($at)
/* BA5A88 80241308 460010A1 */ cvt.d.s $f2, $f2
/* BA5A8C 8024130C 4620103C */ c.lt.d $f2, $f0
/* BA5A90 80241310 00000000 */ nop
/* BA5A94 80241314 45000004 */ bc1f .L80241328
/* BA5A98 80241318 0200202D */ daddu $a0, $s0, $zero
/* BA5A9C 8024131C 3C064398 */ lui $a2, 0x4398
/* BA5AA0 80241320 080904D2 */ j .L80241348
/* BA5AA4 80241324 34C68000 */ ori $a2, $a2, 0x8000
.L80241328:
/* BA5AA8 80241328 3C018024 */ lui $at, %hi(D_80245960_BAA0E0)
/* BA5AAC 8024132C D4205960 */ ldc1 $f0, %lo(D_80245960_BAA0E0)($at)
/* BA5AB0 80241330 4622003C */ c.lt.d $f0, $f2
/* BA5AB4 80241334 00000000 */ nop
/* BA5AB8 80241338 450000FA */ bc1f .L80241724
/* BA5ABC 8024133C 00000000 */ nop
/* BA5AC0 80241340 3C0643BB */ lui $a2, 0x43bb
/* BA5AC4 80241344 34C68000 */ ori $a2, $a2, 0x8000
.L80241348:
/* BA5AC8 80241348 4407B000 */ mfc1 $a3, $f22
/* BA5ACC 8024134C 0260282D */ daddu $a1, $s3, $zero
/* BA5AD0 80241350 E6340038 */ swc1 $f20, 0x38($s1)
/* BA5AD4 80241354 0C00A7E7 */ jal add_vec2D_polar
/* BA5AD8 80241358 E6340040 */ swc1 $f20, 0x40($s1)
/* BA5ADC 8024135C 080905C9 */ j .L80241724
/* BA5AE0 80241360 00000000 */ nop
.L80241364:
/* BA5AE4 80241364 8E220000 */ lw $v0, ($s1)
/* BA5AE8 80241368 30420040 */ andi $v0, $v0, 0x40
/* BA5AEC 8024136C 144000B0 */ bnez $v0, .L80241630
/* BA5AF0 80241370 27A50020 */ addiu $a1, $sp, 0x20
/* BA5AF4 80241374 27B40020 */ addiu $s4, $sp, 0x20
/* BA5AF8 80241378 0280282D */ daddu $a1, $s4, $zero
/* BA5AFC 8024137C 27B30024 */ addiu $s3, $sp, 0x24
/* BA5B00 80241380 8EA20000 */ lw $v0, ($s5)
/* BA5B04 80241384 3C014032 */ lui $at, 0x4032
/* BA5B08 80241388 44811800 */ mtc1 $at, $f3
/* BA5B0C 8024138C 44801000 */ mtc1 $zero, $f2
/* BA5B10 80241390 C440002C */ lwc1 $f0, 0x2c($v0)
/* BA5B14 80241394 C4460028 */ lwc1 $f6, 0x28($v0)
/* BA5B18 80241398 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA5B1C 8024139C 46000021 */ cvt.d.s $f0, $f0
/* BA5B20 802413A0 46220000 */ add.d $f0, $f0, $f2
/* BA5B24 802413A4 E7A60020 */ swc1 $f6, 0x20($sp)
/* BA5B28 802413A8 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA5B2C 802413AC 46200020 */ cvt.s.d $f0, $f0
/* BA5B30 802413B0 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA5B34 802413B4 E7B40010 */ swc1 $f20, 0x10($sp)
/* BA5B38 802413B8 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA5B3C 802413BC 862200A8 */ lh $v0, 0xa8($s1)
/* BA5B40 802413C0 0260302D */ daddu $a2, $s3, $zero
/* BA5B44 802413C4 44820000 */ mtc1 $v0, $f0
/* BA5B48 802413C8 00000000 */ nop
/* BA5B4C 802413CC 46800020 */ cvt.s.w $f0, $f0
/* BA5B50 802413D0 E7A00018 */ swc1 $f0, 0x18($sp)
/* BA5B54 802413D4 862200A6 */ lh $v0, 0xa6($s1)
/* BA5B58 802413D8 27B00028 */ addiu $s0, $sp, 0x28
/* BA5B5C 802413DC 44820000 */ mtc1 $v0, $f0
/* BA5B60 802413E0 00000000 */ nop
/* BA5B64 802413E4 46800020 */ cvt.s.w $f0, $f0
/* BA5B68 802413E8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA5B6C 802413EC 8E240080 */ lw $a0, 0x80($s1)
/* BA5B70 802413F0 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA5B74 802413F4 0200382D */ daddu $a3, $s0, $zero
/* BA5B78 802413F8 104000CA */ beqz $v0, .L80241724
/* BA5B7C 802413FC 0280282D */ daddu $a1, $s4, $zero
/* BA5B80 80241400 8EA20000 */ lw $v0, ($s5)
/* BA5B84 80241404 3C018024 */ lui $at, %hi(D_80245968_BAA0E8)
/* BA5B88 80241408 D4225968 */ ldc1 $f2, %lo(D_80245968_BAA0E8)($at)
/* BA5B8C 8024140C C440002C */ lwc1 $f0, 0x2c($v0)
/* BA5B90 80241410 C4460028 */ lwc1 $f6, 0x28($v0)
/* BA5B94 80241414 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA5B98 80241418 46000021 */ cvt.d.s $f0, $f0
/* BA5B9C 8024141C 46220000 */ add.d $f0, $f0, $f2
/* BA5BA0 80241420 E7A60020 */ swc1 $f6, 0x20($sp)
/* BA5BA4 80241424 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA5BA8 80241428 46200020 */ cvt.s.d $f0, $f0
/* BA5BAC 8024142C E7A00024 */ swc1 $f0, 0x24($sp)
/* BA5BB0 80241430 E7B40010 */ swc1 $f20, 0x10($sp)
/* BA5BB4 80241434 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA5BB8 80241438 862200A8 */ lh $v0, 0xa8($s1)
/* BA5BBC 8024143C 44820000 */ mtc1 $v0, $f0
/* BA5BC0 80241440 00000000 */ nop
/* BA5BC4 80241444 46800020 */ cvt.s.w $f0, $f0
/* BA5BC8 80241448 E7A00018 */ swc1 $f0, 0x18($sp)
/* BA5BCC 8024144C 862200A6 */ lh $v0, 0xa6($s1)
/* BA5BD0 80241450 0260302D */ daddu $a2, $s3, $zero
/* BA5BD4 80241454 44820000 */ mtc1 $v0, $f0
/* BA5BD8 80241458 00000000 */ nop
/* BA5BDC 8024145C 46800020 */ cvt.s.w $f0, $f0
/* BA5BE0 80241460 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA5BE4 80241464 8E240080 */ lw $a0, 0x80($s1)
/* BA5BE8 80241468 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA5BEC 8024146C 0200382D */ daddu $a3, $s0, $zero
/* BA5BF0 80241470 27A5002C */ addiu $a1, $sp, 0x2c
/* BA5BF4 80241474 27A60030 */ addiu $a2, $sp, 0x30
/* BA5BF8 80241478 27A70034 */ addiu $a3, $sp, 0x34
/* BA5BFC 8024147C 27A30038 */ addiu $v1, $sp, 0x38
/* BA5C00 80241480 C6220038 */ lwc1 $f2, 0x38($s1)
/* BA5C04 80241484 C620003C */ lwc1 $f0, 0x3c($s1)
/* BA5C08 80241488 3C014348 */ lui $at, 0x4348
/* BA5C0C 8024148C 44813000 */ mtc1 $at, $f6
/* BA5C10 80241490 46000021 */ cvt.d.s $f0, $f0
/* BA5C14 80241494 E7A2002C */ swc1 $f2, 0x2c($sp)
/* BA5C18 80241498 3C014059 */ lui $at, 0x4059
/* BA5C1C 8024149C 44811800 */ mtc1 $at, $f3
/* BA5C20 802414A0 44801000 */ mtc1 $zero, $f2
/* BA5C24 802414A4 C6240040 */ lwc1 $f4, 0x40($s1)
/* BA5C28 802414A8 46220000 */ add.d $f0, $f0, $f2
/* BA5C2C 802414AC E7A60038 */ swc1 $f6, 0x38($sp)
/* BA5C30 802414B0 E7A40034 */ swc1 $f4, 0x34($sp)
/* BA5C34 802414B4 46200020 */ cvt.s.d $f0, $f0
/* BA5C38 802414B8 E7A00030 */ swc1 $f0, 0x30($sp)
/* BA5C3C 802414BC AFA30010 */ sw $v1, 0x10($sp)
/* BA5C40 802414C0 8E240080 */ lw $a0, 0x80($s1)
/* BA5C44 802414C4 0C0372DF */ jal npc_raycast_down_sides
/* BA5C48 802414C8 0040802D */ daddu $s0, $v0, $zero
/* BA5C4C 802414CC 1600001C */ bnez $s0, .L80241540
/* BA5C50 802414D0 00000000 */ nop
/* BA5C54 802414D4 1040001A */ beqz $v0, .L80241540
/* BA5C58 802414D8 00000000 */ nop
/* BA5C5C 802414DC C7A20038 */ lwc1 $f2, 0x38($sp)
/* BA5C60 802414E0 3C014054 */ lui $at, 0x4054
/* BA5C64 802414E4 44810800 */ mtc1 $at, $f1
/* BA5C68 802414E8 44800000 */ mtc1 $zero, $f0
/* BA5C6C 802414EC 460010A1 */ cvt.d.s $f2, $f2
/* BA5C70 802414F0 4622003C */ c.lt.d $f0, $f2
/* BA5C74 802414F4 00000000 */ nop
/* BA5C78 802414F8 45000011 */ bc1f .L80241540
/* BA5C7C 802414FC 00000000 */ nop
/* BA5C80 80241500 3C01405E */ lui $at, 0x405e
/* BA5C84 80241504 44810800 */ mtc1 $at, $f1
/* BA5C88 80241508 44800000 */ mtc1 $zero, $f0
/* BA5C8C 8024150C 00000000 */ nop
/* BA5C90 80241510 4620103C */ c.lt.d $f2, $f0
/* BA5C94 80241514 00000000 */ nop
/* BA5C98 80241518 45000009 */ bc1f .L80241540
/* BA5C9C 8024151C 00000000 */ nop
/* BA5CA0 80241520 C622003C */ lwc1 $f2, 0x3c($s1)
/* BA5CA4 80241524 C7A00030 */ lwc1 $f0, 0x30($sp)
/* BA5CA8 80241528 46001032 */ c.eq.s $f2, $f0
/* BA5CAC 8024152C 00000000 */ nop
/* BA5CB0 80241530 45010003 */ bc1t .L80241540
/* BA5CB4 80241534 00000000 */ nop
/* BA5CB8 80241538 080905C9 */ j .L80241724
/* BA5CBC 8024153C 241E0001 */ addiu $fp, $zero, 1
.L80241540:
/* BA5CC0 80241540 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* BA5CC4 80241544 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* BA5CC8 80241548 8E020000 */ lw $v0, ($s0)
/* BA5CCC 8024154C 3C014024 */ lui $at, 0x4024
/* BA5CD0 80241550 44811800 */ mtc1 $at, $f3
/* BA5CD4 80241554 44801000 */ mtc1 $zero, $f2
/* BA5CD8 80241558 C440002C */ lwc1 $f0, 0x2c($v0)
/* BA5CDC 8024155C C4460028 */ lwc1 $f6, 0x28($v0)
/* BA5CE0 80241560 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA5CE4 80241564 46000021 */ cvt.d.s $f0, $f0
/* BA5CE8 80241568 46220000 */ add.d $f0, $f0, $f2
/* BA5CEC 8024156C E7A60020 */ swc1 $f6, 0x20($sp)
/* BA5CF0 80241570 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA5CF4 80241574 46200020 */ cvt.s.d $f0, $f0
/* BA5CF8 80241578 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA5CFC 8024157C E7B40010 */ swc1 $f20, 0x10($sp)
/* BA5D00 80241580 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA5D04 80241584 862200A8 */ lh $v0, 0xa8($s1)
/* BA5D08 80241588 27A50020 */ addiu $a1, $sp, 0x20
/* BA5D0C 8024158C 44820000 */ mtc1 $v0, $f0
/* BA5D10 80241590 00000000 */ nop
/* BA5D14 80241594 46800020 */ cvt.s.w $f0, $f0
/* BA5D18 80241598 E7A00018 */ swc1 $f0, 0x18($sp)
/* BA5D1C 8024159C 862200A6 */ lh $v0, 0xa6($s1)
/* BA5D20 802415A0 27A60024 */ addiu $a2, $sp, 0x24
/* BA5D24 802415A4 44820000 */ mtc1 $v0, $f0
/* BA5D28 802415A8 00000000 */ nop
/* BA5D2C 802415AC 46800020 */ cvt.s.w $f0, $f0
/* BA5D30 802415B0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA5D34 802415B4 8E240080 */ lw $a0, 0x80($s1)
/* BA5D38 802415B8 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA5D3C 802415BC 27A70028 */ addiu $a3, $sp, 0x28
/* BA5D40 802415C0 8FA60020 */ lw $a2, 0x20($sp)
/* BA5D44 802415C4 8E020000 */ lw $v0, ($s0)
/* BA5D48 802415C8 8FA70028 */ lw $a3, 0x28($sp)
/* BA5D4C 802415CC C44C0028 */ lwc1 $f12, 0x28($v0)
/* BA5D50 802415D0 C44E0030 */ lwc1 $f14, 0x30($v0)
/* BA5D54 802415D4 0C00A7B5 */ jal dist2D
/* BA5D58 802415D8 24170001 */ addiu $s7, $zero, 1
/* BA5D5C 802415DC 46000506 */ mov.s $f20, $f0
/* BA5D60 802415E0 8E030000 */ lw $v1, ($s0)
/* BA5D64 802415E4 862200A6 */ lh $v0, 0xa6($s1)
/* BA5D68 802415E8 4407C000 */ mfc1 $a3, $f24
/* BA5D6C 802415EC 44824000 */ mtc1 $v0, $f8
/* BA5D70 802415F0 00000000 */ nop
/* BA5D74 802415F4 46804220 */ cvt.s.w $f8, $f8
/* BA5D78 802415F8 C4600028 */ lwc1 $f0, 0x28($v1)
/* BA5D7C 802415FC 44064000 */ mfc1 $a2, $f8
/* BA5D80 80241600 26240038 */ addiu $a0, $s1, 0x38
/* BA5D84 80241604 E6200038 */ swc1 $f0, 0x38($s1)
/* BA5D88 80241608 C4600030 */ lwc1 $f0, 0x30($v1)
/* BA5D8C 8024160C 26250040 */ addiu $a1, $s1, 0x40
/* BA5D90 80241610 0C00A7E7 */ jal add_vec2D_polar
/* BA5D94 80241614 E6200040 */ swc1 $f0, 0x40($s1)
/* BA5D98 80241618 862200A6 */ lh $v0, 0xa6($s1)
/* BA5D9C 8024161C 44820000 */ mtc1 $v0, $f0
/* BA5DA0 80241620 00000000 */ nop
/* BA5DA4 80241624 46800020 */ cvt.s.w $f0, $f0
/* BA5DA8 80241628 080905C5 */ j .L80241714
/* BA5DAC 8024162C 4600A500 */ add.s $f20, $f20, $f0
.L80241630:
/* BA5DB0 80241630 8EA20000 */ lw $v0, ($s5)
/* BA5DB4 80241634 3C014032 */ lui $at, 0x4032
/* BA5DB8 80241638 44811800 */ mtc1 $at, $f3
/* BA5DBC 8024163C 44801000 */ mtc1 $zero, $f2
/* BA5DC0 80241640 C440002C */ lwc1 $f0, 0x2c($v0)
/* BA5DC4 80241644 C4460028 */ lwc1 $f6, 0x28($v0)
/* BA5DC8 80241648 C4440030 */ lwc1 $f4, 0x30($v0)
/* BA5DCC 8024164C 46000021 */ cvt.d.s $f0, $f0
/* BA5DD0 80241650 46220000 */ add.d $f0, $f0, $f2
/* BA5DD4 80241654 E7A60020 */ swc1 $f6, 0x20($sp)
/* BA5DD8 80241658 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA5DDC 8024165C 46200020 */ cvt.s.d $f0, $f0
/* BA5DE0 80241660 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA5DE4 80241664 E7B40010 */ swc1 $f20, 0x10($sp)
/* BA5DE8 80241668 E7B60014 */ swc1 $f22, 0x14($sp)
/* BA5DEC 8024166C 862200A8 */ lh $v0, 0xa8($s1)
/* BA5DF0 80241670 44820000 */ mtc1 $v0, $f0
/* BA5DF4 80241674 00000000 */ nop
/* BA5DF8 80241678 46800020 */ cvt.s.w $f0, $f0
/* BA5DFC 8024167C E7A00018 */ swc1 $f0, 0x18($sp)
/* BA5E00 80241680 862200A6 */ lh $v0, 0xa6($s1)
/* BA5E04 80241684 27A60024 */ addiu $a2, $sp, 0x24
/* BA5E08 80241688 44820000 */ mtc1 $v0, $f0
/* BA5E0C 8024168C 00000000 */ nop
/* BA5E10 80241690 46800020 */ cvt.s.w $f0, $f0
/* BA5E14 80241694 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BA5E18 80241698 8E240080 */ lw $a0, 0x80($s1)
/* BA5E1C 8024169C 0C037711 */ jal npc_test_move_simple_with_slipping
/* BA5E20 802416A0 27A70028 */ addiu $a3, $sp, 0x28
/* BA5E24 802416A4 1040001F */ beqz $v0, .L80241724
/* BA5E28 802416A8 00000000 */ nop
/* BA5E2C 802416AC 8FA60020 */ lw $a2, 0x20($sp)
/* BA5E30 802416B0 8EA20000 */ lw $v0, ($s5)
/* BA5E34 802416B4 8FA70028 */ lw $a3, 0x28($sp)
/* BA5E38 802416B8 C44C0028 */ lwc1 $f12, 0x28($v0)
/* BA5E3C 802416BC 0C00A7B5 */ jal dist2D
/* BA5E40 802416C0 C44E0030 */ lwc1 $f14, 0x30($v0)
/* BA5E44 802416C4 46000506 */ mov.s $f20, $f0
/* BA5E48 802416C8 8EA30000 */ lw $v1, ($s5)
/* BA5E4C 802416CC 862200A6 */ lh $v0, 0xa6($s1)
/* BA5E50 802416D0 4407C000 */ mfc1 $a3, $f24
/* BA5E54 802416D4 44824000 */ mtc1 $v0, $f8
/* BA5E58 802416D8 00000000 */ nop
/* BA5E5C 802416DC 46804220 */ cvt.s.w $f8, $f8
/* BA5E60 802416E0 C4600028 */ lwc1 $f0, 0x28($v1)
/* BA5E64 802416E4 44064000 */ mfc1 $a2, $f8
/* BA5E68 802416E8 0200202D */ daddu $a0, $s0, $zero
/* BA5E6C 802416EC E6200038 */ swc1 $f0, 0x38($s1)
/* BA5E70 802416F0 C4600030 */ lwc1 $f0, 0x30($v1)
/* BA5E74 802416F4 0260282D */ daddu $a1, $s3, $zero
/* BA5E78 802416F8 0C00A7E7 */ jal add_vec2D_polar
/* BA5E7C 802416FC E6200040 */ swc1 $f0, 0x40($s1)
/* BA5E80 80241700 862200A6 */ lh $v0, 0xa6($s1)
/* BA5E84 80241704 44820000 */ mtc1 $v0, $f0
/* BA5E88 80241708 00000000 */ nop
/* BA5E8C 8024170C 46800020 */ cvt.s.w $f0, $f0
/* BA5E90 80241710 4600A500 */ add.s $f20, $f20, $f0
.L80241714:
/* BA5E94 80241714 4406B000 */ mfc1 $a2, $f22
/* BA5E98 80241718 4405A000 */ mfc1 $a1, $f20
/* BA5E9C 8024171C 0C00EA95 */ jal npc_move_heading
/* BA5EA0 80241720 0220202D */ daddu $a0, $s1, $zero
.L80241724:
/* BA5EA4 80241724 C6400008 */ lwc1 $f0, 8($s2)
/* BA5EA8 80241728 46800020 */ cvt.s.w $f0, $f0
/* BA5EAC 8024172C 44050000 */ mfc1 $a1, $f0
/* BA5EB0 80241730 C640000C */ lwc1 $f0, 0xc($s2)
/* BA5EB4 80241734 46800020 */ cvt.s.w $f0, $f0
/* BA5EB8 80241738 44060000 */ mfc1 $a2, $f0
/* BA5EBC 8024173C C6200040 */ lwc1 $f0, 0x40($s1)
/* BA5EC0 80241740 26300038 */ addiu $s0, $s1, 0x38
/* BA5EC4 80241744 E7A00010 */ swc1 $f0, 0x10($sp)
/* BA5EC8 80241748 C6400010 */ lwc1 $f0, 0x10($s2)
/* BA5ECC 8024174C 46800020 */ cvt.s.w $f0, $f0
/* BA5ED0 80241750 E7A00014 */ swc1 $f0, 0x14($sp)
/* BA5ED4 80241754 C6400014 */ lwc1 $f0, 0x14($s2)
/* BA5ED8 80241758 46800020 */ cvt.s.w $f0, $f0
/* BA5EDC 8024175C E7A00018 */ swc1 $f0, 0x18($sp)
/* BA5EE0 80241760 8E440004 */ lw $a0, 4($s2)
/* BA5EE4 80241764 8E270038 */ lw $a3, 0x38($s1)
/* BA5EE8 80241768 0C0123F5 */ jal is_point_within_region
/* BA5EEC 8024176C 26330040 */ addiu $s3, $s1, 0x40
/* BA5EF0 80241770 1040005A */ beqz $v0, .L802418DC
/* BA5EF4 80241774 00000000 */ nop
/* BA5EF8 80241778 8E430004 */ lw $v1, 4($s2)
/* BA5EFC 8024177C 10600005 */ beqz $v1, .L80241794
/* BA5F00 80241780 24020001 */ addiu $v0, $zero, 1
/* BA5F04 80241784 10620029 */ beq $v1, $v0, .L8024182C
/* BA5F08 80241788 00000000 */ nop
/* BA5F0C 8024178C 08090637 */ j .L802418DC
/* BA5F10 80241790 00000000 */ nop
.L80241794:
/* BA5F14 80241794 C6480008 */ lwc1 $f8, 8($s2)
/* BA5F18 80241798 46804220 */ cvt.s.w $f8, $f8
/* BA5F1C 8024179C 44064000 */ mfc1 $a2, $f8
/* BA5F20 802417A0 C648000C */ lwc1 $f8, 0xc($s2)
/* BA5F24 802417A4 46804220 */ cvt.s.w $f8, $f8
/* BA5F28 802417A8 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BA5F2C 802417AC C62E0040 */ lwc1 $f14, 0x40($s1)
/* BA5F30 802417B0 44074000 */ mfc1 $a3, $f8
/* BA5F34 802417B4 0C00A7B5 */ jal dist2D
/* BA5F38 802417B8 00000000 */ nop
/* BA5F3C 802417BC C6420010 */ lwc1 $f2, 0x10($s2)
/* BA5F40 802417C0 468010A0 */ cvt.s.w $f2, $f2
/* BA5F44 802417C4 4600103C */ c.lt.s $f2, $f0
/* BA5F48 802417C8 00000000 */ nop
/* BA5F4C 802417CC 45000043 */ bc1f .L802418DC
/* BA5F50 802417D0 E7A00038 */ swc1 $f0, 0x38($sp)
/* BA5F54 802417D4 C64C0008 */ lwc1 $f12, 8($s2)
/* BA5F58 802417D8 46806320 */ cvt.s.w $f12, $f12
/* BA5F5C 802417DC 8E260038 */ lw $a2, 0x38($s1)
/* BA5F60 802417E0 8E270040 */ lw $a3, 0x40($s1)
/* BA5F64 802417E4 C64E000C */ lwc1 $f14, 0xc($s2)
/* BA5F68 802417E8 0C00A720 */ jal atan2
/* BA5F6C 802417EC 468073A0 */ cvt.s.w $f14, $f14
/* BA5F70 802417F0 0200202D */ daddu $a0, $s0, $zero
/* BA5F74 802417F4 44070000 */ mfc1 $a3, $f0
/* BA5F78 802417F8 C6400008 */ lwc1 $f0, 8($s2)
/* BA5F7C 802417FC 46800020 */ cvt.s.w $f0, $f0
/* BA5F80 80241800 E6200038 */ swc1 $f0, 0x38($s1)
/* BA5F84 80241804 C640000C */ lwc1 $f0, 0xc($s2)
/* BA5F88 80241808 46800020 */ cvt.s.w $f0, $f0
/* BA5F8C 8024180C E6200040 */ swc1 $f0, 0x40($s1)
/* BA5F90 80241810 C6480010 */ lwc1 $f8, 0x10($s2)
/* BA5F94 80241814 46804220 */ cvt.s.w $f8, $f8
/* BA5F98 80241818 44064000 */ mfc1 $a2, $f8
/* BA5F9C 8024181C 0C00A7E7 */ jal add_vec2D_polar
/* BA5FA0 80241820 0260282D */ daddu $a1, $s3, $zero
/* BA5FA4 80241824 08090637 */ j .L802418DC
/* BA5FA8 80241828 00000000 */ nop
.L8024182C:
/* BA5FAC 8024182C 8E420008 */ lw $v0, 8($s2)
/* BA5FB0 80241830 8E430010 */ lw $v1, 0x10($s2)
/* BA5FB4 80241834 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA5FB8 80241838 00431021 */ addu $v0, $v0, $v1
/* BA5FBC 8024183C 44821000 */ mtc1 $v0, $f2
/* BA5FC0 80241840 00000000 */ nop
/* BA5FC4 80241844 468010A0 */ cvt.s.w $f2, $f2
/* BA5FC8 80241848 4600103C */ c.lt.s $f2, $f0
/* BA5FCC 8024184C 00000000 */ nop
/* BA5FD0 80241850 45030001 */ bc1tl .L80241858
/* BA5FD4 80241854 E6220038 */ swc1 $f2, 0x38($s1)
.L80241858:
/* BA5FD8 80241858 8E420008 */ lw $v0, 8($s2)
/* BA5FDC 8024185C 8E430010 */ lw $v1, 0x10($s2)
/* BA5FE0 80241860 C6200038 */ lwc1 $f0, 0x38($s1)
/* BA5FE4 80241864 00431023 */ subu $v0, $v0, $v1
/* BA5FE8 80241868 44821000 */ mtc1 $v0, $f2
/* BA5FEC 8024186C 00000000 */ nop
/* BA5FF0 80241870 468010A0 */ cvt.s.w $f2, $f2
/* BA5FF4 80241874 4602003C */ c.lt.s $f0, $f2
/* BA5FF8 80241878 00000000 */ nop
/* BA5FFC 8024187C 45030001 */ bc1tl .L80241884
/* BA6000 80241880 E6220038 */ swc1 $f2, 0x38($s1)
.L80241884:
/* BA6004 80241884 8E42000C */ lw $v0, 0xc($s2)
/* BA6008 80241888 8E430014 */ lw $v1, 0x14($s2)
/* BA600C 8024188C C6200040 */ lwc1 $f0, 0x40($s1)
/* BA6010 80241890 00431021 */ addu $v0, $v0, $v1
/* BA6014 80241894 44821000 */ mtc1 $v0, $f2
/* BA6018 80241898 00000000 */ nop
/* BA601C 8024189C 468010A0 */ cvt.s.w $f2, $f2
/* BA6020 802418A0 4600103C */ c.lt.s $f2, $f0
/* BA6024 802418A4 00000000 */ nop
/* BA6028 802418A8 45030001 */ bc1tl .L802418B0
/* BA602C 802418AC E6220040 */ swc1 $f2, 0x40($s1)
.L802418B0:
/* BA6030 802418B0 8E42000C */ lw $v0, 0xc($s2)
/* BA6034 802418B4 8E430014 */ lw $v1, 0x14($s2)
/* BA6038 802418B8 C6200040 */ lwc1 $f0, 0x40($s1)
/* BA603C 802418BC 00431023 */ subu $v0, $v0, $v1
/* BA6040 802418C0 44821000 */ mtc1 $v0, $f2
/* BA6044 802418C4 00000000 */ nop
/* BA6048 802418C8 468010A0 */ cvt.s.w $f2, $f2
/* BA604C 802418CC 4602003C */ c.lt.s $f0, $f2
/* BA6050 802418D0 00000000 */ nop
/* BA6054 802418D4 45030001 */ bc1tl .L802418DC
/* BA6058 802418D8 E6220040 */ swc1 $f2, 0x40($s1)
.L802418DC:
/* BA605C 802418DC 16E0001F */ bnez $s7, .L8024195C
/* BA6060 802418E0 00000000 */ nop
/* BA6064 802418E4 8E220000 */ lw $v0, ($s1)
/* BA6068 802418E8 30420008 */ andi $v0, $v0, 8
/* BA606C 802418EC 10400003 */ beqz $v0, .L802418FC
/* BA6070 802418F0 27A50020 */ addiu $a1, $sp, 0x20
/* BA6074 802418F4 13C00019 */ beqz $fp, .L8024195C
/* BA6078 802418F8 00000000 */ nop
.L802418FC:
/* BA607C 802418FC 27A60024 */ addiu $a2, $sp, 0x24
/* BA6080 80241900 27A20038 */ addiu $v0, $sp, 0x38
/* BA6084 80241904 C6220038 */ lwc1 $f2, 0x38($s1)
/* BA6088 80241908 C620003C */ lwc1 $f0, 0x3c($s1)
/* BA608C 8024190C 3C0143C8 */ lui $at, 0x43c8
/* BA6090 80241910 44813000 */ mtc1 $at, $f6
/* BA6094 80241914 46000021 */ cvt.d.s $f0, $f0
/* BA6098 80241918 E7A20020 */ swc1 $f2, 0x20($sp)
/* BA609C 8024191C 3C018024 */ lui $at, %hi(D_80245970_BAA0F0)
/* BA60A0 80241920 D4225970 */ ldc1 $f2, %lo(D_80245970_BAA0F0)($at)
/* BA60A4 80241924 C6240040 */ lwc1 $f4, 0x40($s1)
/* BA60A8 80241928 46220000 */ add.d $f0, $f0, $f2
/* BA60AC 8024192C E7A60038 */ swc1 $f6, 0x38($sp)
/* BA60B0 80241930 E7A40028 */ swc1 $f4, 0x28($sp)
/* BA60B4 80241934 46200020 */ cvt.s.d $f0, $f0
/* BA60B8 80241938 E7A00024 */ swc1 $f0, 0x24($sp)
/* BA60BC 8024193C AFA20010 */ sw $v0, 0x10($sp)
/* BA60C0 80241940 8E240080 */ lw $a0, 0x80($s1)
/* BA60C4 80241944 0C0372DF */ jal npc_raycast_down_sides
/* BA60C8 80241948 27A70028 */ addiu $a3, $sp, 0x28
/* BA60CC 8024194C 10400003 */ beqz $v0, .L8024195C
/* BA60D0 80241950 00000000 */ nop
/* BA60D4 80241954 C7A00024 */ lwc1 $f0, 0x24($sp)
/* BA60D8 80241958 E620003C */ swc1 $f0, 0x3c($s1)
.L8024195C:
/* BA60DC 8024195C C62C0038 */ lwc1 $f12, 0x38($s1)
/* BA60E0 80241960 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BA60E4 80241964 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BA60E8 80241968 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BA60EC 8024196C 8C460028 */ lw $a2, 0x28($v0)
/* BA60F0 80241970 0C00A720 */ jal atan2
/* BA60F4 80241974 8C470030 */ lw $a3, 0x30($v0)
/* BA60F8 80241978 0220202D */ daddu $a0, $s1, $zero
/* BA60FC 8024197C 24050321 */ addiu $a1, $zero, 0x321
/* BA6100 80241980 0000302D */ daddu $a2, $zero, $zero
/* BA6104 80241984 0C012530 */ jal ai_enemy_play_sound
/* BA6108 80241988 E620000C */ swc1 $f0, 0xc($s1)
/* BA610C 8024198C 8EC200CC */ lw $v0, 0xcc($s6)
/* BA6110 80241990 8C420024 */ lw $v0, 0x24($v0)
/* BA6114 80241994 AE220028 */ sw $v0, 0x28($s1)
/* BA6118 80241998 96C20096 */ lhu $v0, 0x96($s6)
/* BA611C 8024199C A622008E */ sh $v0, 0x8e($s1)
/* BA6120 802419A0 8FA80080 */ lw $t0, 0x80($sp)
/* BA6124 802419A4 2402000B */ addiu $v0, $zero, 0xb
/* BA6128 802419A8 AD020070 */ sw $v0, 0x70($t0)
.L802419AC:
/* BA612C 802419AC 8FBF0064 */ lw $ra, 0x64($sp)
/* BA6130 802419B0 8FBE0060 */ lw $fp, 0x60($sp)
/* BA6134 802419B4 8FB7005C */ lw $s7, 0x5c($sp)
/* BA6138 802419B8 8FB60058 */ lw $s6, 0x58($sp)
/* BA613C 802419BC 8FB50054 */ lw $s5, 0x54($sp)
/* BA6140 802419C0 8FB40050 */ lw $s4, 0x50($sp)
/* BA6144 802419C4 8FB3004C */ lw $s3, 0x4c($sp)
/* BA6148 802419C8 8FB20048 */ lw $s2, 0x48($sp)
/* BA614C 802419CC 8FB10044 */ lw $s1, 0x44($sp)
/* BA6150 802419D0 8FB00040 */ lw $s0, 0x40($sp)
/* BA6154 802419D4 D7B80078 */ ldc1 $f24, 0x78($sp)
/* BA6158 802419D8 D7B60070 */ ldc1 $f22, 0x70($sp)
/* BA615C 802419DC D7B40068 */ ldc1 $f20, 0x68($sp)
/* BA6160 802419E0 03E00008 */ jr $ra
/* BA6164 802419E4 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -110,7 +110,7 @@ glabel func_80241CC4_BA6444
/* BA65D0 80241E50 00000000 */ nop
.L80241E54:
/* BA65D4 80241E54 0260282D */ daddu $a1, $s3, $zero
/* BA65D8 80241E58 0C0903EA */ jal func_80240FA8_BA5728
/* BA65D8 80241E58 0C0903EA */ jal mim_06_UnkNpcAIFunc46
/* BA65DC 80241E5C 0280302D */ daddu $a2, $s4, $zero
/* BA65E0 80241E60 8E420070 */ lw $v0, 0x70($s2)
/* BA65E4 80241E64 14500021 */ bne $v0, $s0, .L80241EEC

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80245490_BB2DD0
.double 380.0
dlabel D_80245498_BB2DD8
.double -380.0
dlabel D_802454A0_BB2DE0
.double 305.0
dlabel D_802454A8_BB2DE8
.double 375.0
dlabel D_802454B0_BB2DF0
.double 45.0
dlabel D_802454B8_BB2DF8
.double 150.0
.section .text
glabel func_80241FD0_BAF910
/* BAF910 80241FD0 27BDFF80 */ addiu $sp, $sp, -0x80
/* BAF914 80241FD4 AFBF0064 */ sw $ra, 0x64($sp)
/* BAF918 80241FD8 AFBE0060 */ sw $fp, 0x60($sp)
/* BAF91C 80241FDC AFB7005C */ sw $s7, 0x5c($sp)
/* BAF920 80241FE0 AFB60058 */ sw $s6, 0x58($sp)
/* BAF924 80241FE4 AFB50054 */ sw $s5, 0x54($sp)
/* BAF928 80241FE8 AFB40050 */ sw $s4, 0x50($sp)
/* BAF92C 80241FEC AFB3004C */ sw $s3, 0x4c($sp)
/* BAF930 80241FF0 AFB20048 */ sw $s2, 0x48($sp)
/* BAF934 80241FF4 AFB10044 */ sw $s1, 0x44($sp)
/* BAF938 80241FF8 AFB00040 */ sw $s0, 0x40($sp)
/* BAF93C 80241FFC F7B80078 */ sdc1 $f24, 0x78($sp)
/* BAF940 80242000 F7B60070 */ sdc1 $f22, 0x70($sp)
/* BAF944 80242004 F7B40068 */ sdc1 $f20, 0x68($sp)
/* BAF948 80242008 AFA40080 */ sw $a0, 0x80($sp)
/* BAF94C 8024200C 8C960148 */ lw $s6, 0x148($a0)
/* BAF950 80242010 00C0902D */ daddu $s2, $a2, $zero
/* BAF954 80242014 86C40008 */ lh $a0, 8($s6)
/* BAF958 80242018 0C00EABB */ jal get_npc_unsafe
/* BAF95C 8024201C 0000B82D */ daddu $s7, $zero, $zero
/* BAF960 80242020 0040882D */ daddu $s1, $v0, $zero
/* BAF964 80242024 9622008E */ lhu $v0, 0x8e($s1)
/* BAF968 80242028 2442FFFF */ addiu $v0, $v0, -1
/* BAF96C 8024202C A622008E */ sh $v0, 0x8e($s1)
/* BAF970 80242030 00021400 */ sll $v0, $v0, 0x10
/* BAF974 80242034 8EC30090 */ lw $v1, 0x90($s6)
/* BAF978 80242038 00021403 */ sra $v0, $v0, 0x10
/* BAF97C 8024203C 0062182A */ slt $v1, $v1, $v0
/* BAF980 80242040 14600005 */ bnez $v1, .L80242058
/* BAF984 80242044 02E0F02D */ daddu $fp, $s7, $zero
/* BAF988 80242048 8EC20000 */ lw $v0, ($s6)
/* BAF98C 8024204C 3C031F10 */ lui $v1, 0x1f10
/* BAF990 80242050 00431025 */ or $v0, $v0, $v1
/* BAF994 80242054 AEC20000 */ sw $v0, ($s6)
.L80242058:
/* BAF998 80242058 8622008E */ lh $v0, 0x8e($s1)
/* BAF99C 8024205C 1440025D */ bnez $v0, .L802429D4
/* BAF9A0 80242060 00000000 */ nop
/* BAF9A4 80242064 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BAF9A8 80242068 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BAF9AC 8024206C 0C00A6C9 */ jal clamp_angle
/* BAF9B0 80242070 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* BAF9B4 80242074 3C014334 */ lui $at, 0x4334
/* BAF9B8 80242078 44811000 */ mtc1 $at, $f2
/* BAF9BC 8024207C 00000000 */ nop
/* BAF9C0 80242080 4602003C */ c.lt.s $f0, $f2
/* BAF9C4 80242084 00000000 */ nop
/* BAF9C8 80242088 45000011 */ bc1f .L802420D0
/* BAF9CC 8024208C 00000000 */ nop
/* BAF9D0 80242090 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* BAF9D4 80242094 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* BAF9D8 80242098 3C0142B4 */ lui $at, 0x42b4
/* BAF9DC 8024209C 44816000 */ mtc1 $at, $f12
/* BAF9E0 802420A0 00031080 */ sll $v0, $v1, 2
/* BAF9E4 802420A4 00431021 */ addu $v0, $v0, $v1
/* BAF9E8 802420A8 00021080 */ sll $v0, $v0, 2
/* BAF9EC 802420AC 00431023 */ subu $v0, $v0, $v1
/* BAF9F0 802420B0 000218C0 */ sll $v1, $v0, 3
/* BAF9F4 802420B4 00431021 */ addu $v0, $v0, $v1
/* BAF9F8 802420B8 000210C0 */ sll $v0, $v0, 3
/* BAF9FC 802420BC 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* BAFA00 802420C0 00220821 */ addu $at, $at, $v0
/* BAFA04 802420C4 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* BAFA08 802420C8 08090843 */ j .L8024210C
/* BAFA0C 802420CC 460C0301 */ sub.s $f12, $f0, $f12
.L802420D0:
/* BAFA10 802420D0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* BAFA14 802420D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* BAFA18 802420D8 3C0142B4 */ lui $at, 0x42b4
/* BAFA1C 802420DC 44816000 */ mtc1 $at, $f12
/* BAFA20 802420E0 00031080 */ sll $v0, $v1, 2
/* BAFA24 802420E4 00431021 */ addu $v0, $v0, $v1
/* BAFA28 802420E8 00021080 */ sll $v0, $v0, 2
/* BAFA2C 802420EC 00431023 */ subu $v0, $v0, $v1
/* BAFA30 802420F0 000218C0 */ sll $v1, $v0, 3
/* BAFA34 802420F4 00431021 */ addu $v0, $v0, $v1
/* BAFA38 802420F8 000210C0 */ sll $v0, $v0, 3
/* BAFA3C 802420FC 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* BAFA40 80242100 00220821 */ addu $at, $at, $v0
/* BAFA44 80242104 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* BAFA48 80242108 460C0300 */ add.s $f12, $f0, $f12
.L8024210C:
/* BAFA4C 8024210C 0C00A6C9 */ jal clamp_angle
/* BAFA50 80242110 00000000 */ nop
/* BAFA54 80242114 46000586 */ mov.s $f22, $f0
/* BAFA58 80242118 3C014334 */ lui $at, 0x4334
/* BAFA5C 8024211C 44816000 */ mtc1 $at, $f12
/* BAFA60 80242120 0C00A6C9 */ jal clamp_angle
/* BAFA64 80242124 460CB300 */ add.s $f12, $f22, $f12
/* BAFA68 80242128 8EC20088 */ lw $v0, 0x88($s6)
/* BAFA6C 8024212C 14400010 */ bnez $v0, .L80242170
/* BAFA70 80242130 46000606 */ mov.s $f24, $f0
/* BAFA74 80242134 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BAFA78 80242138 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BAFA7C 8024213C 804300B4 */ lb $v1, 0xb4($v0)
/* BAFA80 80242140 3C014200 */ lui $at, 0x4200
/* BAFA84 80242144 4481A000 */ mtc1 $at, $f20
/* BAFA88 80242148 10600016 */ beqz $v1, .L802421A4
/* BAFA8C 8024214C 24020001 */ addiu $v0, $zero, 1
/* BAFA90 80242150 3C0142C8 */ lui $at, 0x42c8
/* BAFA94 80242154 4481A000 */ mtc1 $at, $f20
/* BAFA98 80242158 14620013 */ bne $v1, $v0, .L802421A8
/* BAFA9C 8024215C 26300038 */ addiu $s0, $s1, 0x38
/* BAFAA0 80242160 3C0142B4 */ lui $at, 0x42b4
/* BAFAA4 80242164 4481A000 */ mtc1 $at, $f20
/* BAFAA8 80242168 0809086B */ j .L802421AC
/* BAFAAC 8024216C 0200202D */ daddu $a0, $s0, $zero
.L80242170:
/* BAFAB0 80242170 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BAFAB4 80242174 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BAFAB8 80242178 804300B4 */ lb $v1, 0xb4($v0)
/* BAFABC 8024217C 3C014218 */ lui $at, 0x4218
/* BAFAC0 80242180 4481A000 */ mtc1 $at, $f20
/* BAFAC4 80242184 10600007 */ beqz $v1, .L802421A4
/* BAFAC8 80242188 24020001 */ addiu $v0, $zero, 1
/* BAFACC 8024218C 3C0142B4 */ lui $at, 0x42b4
/* BAFAD0 80242190 4481A000 */ mtc1 $at, $f20
/* BAFAD4 80242194 14620004 */ bne $v1, $v0, .L802421A8
/* BAFAD8 80242198 26300038 */ addiu $s0, $s1, 0x38
/* BAFADC 8024219C 3C014296 */ lui $at, 0x4296
/* BAFAE0 802421A0 4481A000 */ mtc1 $at, $f20
.L802421A4:
/* BAFAE4 802421A4 26300038 */ addiu $s0, $s1, 0x38
.L802421A8:
/* BAFAE8 802421A8 0200202D */ daddu $a0, $s0, $zero
.L802421AC:
/* BAFAEC 802421AC 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* BAFAF0 802421B0 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* BAFAF4 802421B4 4407C000 */ mfc1 $a3, $f24
/* BAFAF8 802421B8 862200A6 */ lh $v0, 0xa6($s1)
/* BAFAFC 802421BC 8EA30000 */ lw $v1, ($s5)
/* BAFB00 802421C0 44824000 */ mtc1 $v0, $f8
/* BAFB04 802421C4 00000000 */ nop
/* BAFB08 802421C8 46804220 */ cvt.s.w $f8, $f8
/* BAFB0C 802421CC C4600028 */ lwc1 $f0, 0x28($v1)
/* BAFB10 802421D0 44064000 */ mfc1 $a2, $f8
/* BAFB14 802421D4 26330040 */ addiu $s3, $s1, 0x40
/* BAFB18 802421D8 E6200038 */ swc1 $f0, 0x38($s1)
/* BAFB1C 802421DC C4600030 */ lwc1 $f0, 0x30($v1)
/* BAFB20 802421E0 0260282D */ daddu $a1, $s3, $zero
/* BAFB24 802421E4 0C00A7E7 */ jal add_vec2D_polar
/* BAFB28 802421E8 E6200040 */ swc1 $f0, 0x40($s1)
/* BAFB2C 802421EC 862200A6 */ lh $v0, 0xa6($s1)
/* BAFB30 802421F0 44820000 */ mtc1 $v0, $f0
/* BAFB34 802421F4 00000000 */ nop
/* BAFB38 802421F8 46800020 */ cvt.s.w $f0, $f0
/* BAFB3C 802421FC 4600A000 */ add.s $f0, $f20, $f0
/* BAFB40 80242200 4406B000 */ mfc1 $a2, $f22
/* BAFB44 80242204 44050000 */ mfc1 $a1, $f0
/* BAFB48 80242208 0C00EA95 */ jal npc_move_heading
/* BAFB4C 8024220C 0220202D */ daddu $a0, $s1, $zero
/* BAFB50 80242210 8EC20088 */ lw $v0, 0x88($s6)
/* BAFB54 80242214 1440005D */ bnez $v0, .L8024238C
/* BAFB58 80242218 00000000 */ nop
/* BAFB5C 8024221C C6200038 */ lwc1 $f0, 0x38($s1)
/* BAFB60 80242220 3C018024 */ lui $at, %hi(D_80245490_BB2DD0)
/* BAFB64 80242224 D4245490 */ ldc1 $f4, %lo(D_80245490_BB2DD0)($at)
/* BAFB68 80242228 46000021 */ cvt.d.s $f0, $f0
/* BAFB6C 8024222C 4620203C */ c.lt.d $f4, $f0
/* BAFB70 80242230 00000000 */ nop
/* BAFB74 80242234 45000005 */ bc1f .L8024224C
/* BAFB78 80242238 00000000 */ nop
/* BAFB7C 8024223C 3C0143BE */ lui $at, 0x43be
/* BAFB80 80242240 44810000 */ mtc1 $at, $f0
/* BAFB84 80242244 00000000 */ nop
/* BAFB88 80242248 E6200038 */ swc1 $f0, 0x38($s1)
.L8024224C:
/* BAFB8C 8024224C C6200038 */ lwc1 $f0, 0x38($s1)
/* BAFB90 80242250 3C018024 */ lui $at, %hi(D_80245498_BB2DD8)
/* BAFB94 80242254 D4225498 */ ldc1 $f2, %lo(D_80245498_BB2DD8)($at)
/* BAFB98 80242258 46000021 */ cvt.d.s $f0, $f0
/* BAFB9C 8024225C 4622003C */ c.lt.d $f0, $f2
/* BAFBA0 80242260 00000000 */ nop
/* BAFBA4 80242264 45000005 */ bc1f .L8024227C
/* BAFBA8 80242268 00000000 */ nop
/* BAFBAC 8024226C 3C01C3BE */ lui $at, 0xc3be
/* BAFBB0 80242270 44810000 */ mtc1 $at, $f0
/* BAFBB4 80242274 00000000 */ nop
/* BAFBB8 80242278 E6200038 */ swc1 $f0, 0x38($s1)
.L8024227C:
/* BAFBBC 8024227C C6200040 */ lwc1 $f0, 0x40($s1)
/* BAFBC0 80242280 46000021 */ cvt.d.s $f0, $f0
/* BAFBC4 80242284 4620203C */ c.lt.d $f4, $f0
/* BAFBC8 80242288 00000000 */ nop
/* BAFBCC 8024228C 45000005 */ bc1f .L802422A4
/* BAFBD0 80242290 00000000 */ nop
/* BAFBD4 80242294 3C0143BE */ lui $at, 0x43be
/* BAFBD8 80242298 44810000 */ mtc1 $at, $f0
/* BAFBDC 8024229C 00000000 */ nop
/* BAFBE0 802422A0 E6200040 */ swc1 $f0, 0x40($s1)
.L802422A4:
/* BAFBE4 802422A4 C6200040 */ lwc1 $f0, 0x40($s1)
/* BAFBE8 802422A8 46000021 */ cvt.d.s $f0, $f0
/* BAFBEC 802422AC 4622003C */ c.lt.d $f0, $f2
/* BAFBF0 802422B0 00000000 */ nop
/* BAFBF4 802422B4 45000005 */ bc1f .L802422CC
/* BAFBF8 802422B8 00000000 */ nop
/* BAFBFC 802422BC 3C01C3BE */ lui $at, 0xc3be
/* BAFC00 802422C0 44810000 */ mtc1 $at, $f0
/* BAFC04 802422C4 00000000 */ nop
/* BAFC08 802422C8 E6200040 */ swc1 $f0, 0x40($s1)
.L802422CC:
/* BAFC0C 802422CC C6220038 */ lwc1 $f2, 0x38($s1)
/* BAFC10 802422D0 46021082 */ mul.s $f2, $f2, $f2
/* BAFC14 802422D4 00000000 */ nop
/* BAFC18 802422D8 C6200040 */ lwc1 $f0, 0x40($s1)
/* BAFC1C 802422DC 46000002 */ mul.s $f0, $f0, $f0
/* BAFC20 802422E0 00000000 */ nop
/* BAFC24 802422E4 46001300 */ add.s $f12, $f2, $f0
/* BAFC28 802422E8 46006004 */ sqrt.s $f0, $f12
/* BAFC2C 802422EC 46000032 */ c.eq.s $f0, $f0
/* BAFC30 802422F0 00000000 */ nop
/* BAFC34 802422F4 45010003 */ bc1t .L80242304
/* BAFC38 802422F8 00000000 */ nop
/* BAFC3C 802422FC 0C0187BC */ jal sqrtf
/* BAFC40 80242300 00000000 */ nop
.L80242304:
/* BAFC44 80242304 8E260038 */ lw $a2, 0x38($s1)
/* BAFC48 80242308 8E270040 */ lw $a3, 0x40($s1)
/* BAFC4C 8024230C 4480A000 */ mtc1 $zero, $f20
/* BAFC50 80242310 E7A00038 */ swc1 $f0, 0x38($sp)
/* BAFC54 80242314 4600A306 */ mov.s $f12, $f20
/* BAFC58 80242318 0C00A720 */ jal atan2
/* BAFC5C 8024231C 4600A386 */ mov.s $f14, $f20
/* BAFC60 80242320 46000586 */ mov.s $f22, $f0
/* BAFC64 80242324 C7A20038 */ lwc1 $f2, 0x38($sp)
/* BAFC68 80242328 3C018024 */ lui $at, %hi(D_802454A0_BB2DE0)
/* BAFC6C 8024232C D42054A0 */ ldc1 $f0, %lo(D_802454A0_BB2DE0)($at)
/* BAFC70 80242330 460010A1 */ cvt.d.s $f2, $f2
/* BAFC74 80242334 4620103C */ c.lt.d $f2, $f0
/* BAFC78 80242338 00000000 */ nop
/* BAFC7C 8024233C 45000004 */ bc1f .L80242350
/* BAFC80 80242340 0200202D */ daddu $a0, $s0, $zero
/* BAFC84 80242344 3C064398 */ lui $a2, 0x4398
/* BAFC88 80242348 080908DC */ j .L80242370
/* BAFC8C 8024234C 34C68000 */ ori $a2, $a2, 0x8000
.L80242350:
/* BAFC90 80242350 3C018024 */ lui $at, %hi(D_802454A8_BB2DE8)
/* BAFC94 80242354 D42054A8 */ ldc1 $f0, %lo(D_802454A8_BB2DE8)($at)
/* BAFC98 80242358 4622003C */ c.lt.d $f0, $f2
/* BAFC9C 8024235C 00000000 */ nop
/* BAFCA0 80242360 450000FA */ bc1f .L8024274C
/* BAFCA4 80242364 00000000 */ nop
/* BAFCA8 80242368 3C0643BB */ lui $a2, 0x43bb
/* BAFCAC 8024236C 34C68000 */ ori $a2, $a2, 0x8000
.L80242370:
/* BAFCB0 80242370 4407B000 */ mfc1 $a3, $f22
/* BAFCB4 80242374 0260282D */ daddu $a1, $s3, $zero
/* BAFCB8 80242378 E6340038 */ swc1 $f20, 0x38($s1)
/* BAFCBC 8024237C 0C00A7E7 */ jal add_vec2D_polar
/* BAFCC0 80242380 E6340040 */ swc1 $f20, 0x40($s1)
/* BAFCC4 80242384 080909D3 */ j .L8024274C
/* BAFCC8 80242388 00000000 */ nop
.L8024238C:
/* BAFCCC 8024238C 8E220000 */ lw $v0, ($s1)
/* BAFCD0 80242390 30420040 */ andi $v0, $v0, 0x40
/* BAFCD4 80242394 144000B0 */ bnez $v0, .L80242658
/* BAFCD8 80242398 27A50020 */ addiu $a1, $sp, 0x20
/* BAFCDC 8024239C 27B40020 */ addiu $s4, $sp, 0x20
/* BAFCE0 802423A0 0280282D */ daddu $a1, $s4, $zero
/* BAFCE4 802423A4 27B30024 */ addiu $s3, $sp, 0x24
/* BAFCE8 802423A8 8EA20000 */ lw $v0, ($s5)
/* BAFCEC 802423AC 3C014032 */ lui $at, 0x4032
/* BAFCF0 802423B0 44811800 */ mtc1 $at, $f3
/* BAFCF4 802423B4 44801000 */ mtc1 $zero, $f2
/* BAFCF8 802423B8 C440002C */ lwc1 $f0, 0x2c($v0)
/* BAFCFC 802423BC C4460028 */ lwc1 $f6, 0x28($v0)
/* BAFD00 802423C0 C4440030 */ lwc1 $f4, 0x30($v0)
/* BAFD04 802423C4 46000021 */ cvt.d.s $f0, $f0
/* BAFD08 802423C8 46220000 */ add.d $f0, $f0, $f2
/* BAFD0C 802423CC E7A60020 */ swc1 $f6, 0x20($sp)
/* BAFD10 802423D0 E7A40028 */ swc1 $f4, 0x28($sp)
/* BAFD14 802423D4 46200020 */ cvt.s.d $f0, $f0
/* BAFD18 802423D8 E7A00024 */ swc1 $f0, 0x24($sp)
/* BAFD1C 802423DC E7B40010 */ swc1 $f20, 0x10($sp)
/* BAFD20 802423E0 E7B60014 */ swc1 $f22, 0x14($sp)
/* BAFD24 802423E4 862200A8 */ lh $v0, 0xa8($s1)
/* BAFD28 802423E8 0260302D */ daddu $a2, $s3, $zero
/* BAFD2C 802423EC 44820000 */ mtc1 $v0, $f0
/* BAFD30 802423F0 00000000 */ nop
/* BAFD34 802423F4 46800020 */ cvt.s.w $f0, $f0
/* BAFD38 802423F8 E7A00018 */ swc1 $f0, 0x18($sp)
/* BAFD3C 802423FC 862200A6 */ lh $v0, 0xa6($s1)
/* BAFD40 80242400 27B00028 */ addiu $s0, $sp, 0x28
/* BAFD44 80242404 44820000 */ mtc1 $v0, $f0
/* BAFD48 80242408 00000000 */ nop
/* BAFD4C 8024240C 46800020 */ cvt.s.w $f0, $f0
/* BAFD50 80242410 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BAFD54 80242414 8E240080 */ lw $a0, 0x80($s1)
/* BAFD58 80242418 0C037711 */ jal npc_test_move_simple_with_slipping
/* BAFD5C 8024241C 0200382D */ daddu $a3, $s0, $zero
/* BAFD60 80242420 104000CA */ beqz $v0, .L8024274C
/* BAFD64 80242424 0280282D */ daddu $a1, $s4, $zero
/* BAFD68 80242428 8EA20000 */ lw $v0, ($s5)
/* BAFD6C 8024242C 3C018024 */ lui $at, %hi(D_802454B0_BB2DF0)
/* BAFD70 80242430 D42254B0 */ ldc1 $f2, %lo(D_802454B0_BB2DF0)($at)
/* BAFD74 80242434 C440002C */ lwc1 $f0, 0x2c($v0)
/* BAFD78 80242438 C4460028 */ lwc1 $f6, 0x28($v0)
/* BAFD7C 8024243C C4440030 */ lwc1 $f4, 0x30($v0)
/* BAFD80 80242440 46000021 */ cvt.d.s $f0, $f0
/* BAFD84 80242444 46220000 */ add.d $f0, $f0, $f2
/* BAFD88 80242448 E7A60020 */ swc1 $f6, 0x20($sp)
/* BAFD8C 8024244C E7A40028 */ swc1 $f4, 0x28($sp)
/* BAFD90 80242450 46200020 */ cvt.s.d $f0, $f0
/* BAFD94 80242454 E7A00024 */ swc1 $f0, 0x24($sp)
/* BAFD98 80242458 E7B40010 */ swc1 $f20, 0x10($sp)
/* BAFD9C 8024245C E7B60014 */ swc1 $f22, 0x14($sp)
/* BAFDA0 80242460 862200A8 */ lh $v0, 0xa8($s1)
/* BAFDA4 80242464 44820000 */ mtc1 $v0, $f0
/* BAFDA8 80242468 00000000 */ nop
/* BAFDAC 8024246C 46800020 */ cvt.s.w $f0, $f0
/* BAFDB0 80242470 E7A00018 */ swc1 $f0, 0x18($sp)
/* BAFDB4 80242474 862200A6 */ lh $v0, 0xa6($s1)
/* BAFDB8 80242478 0260302D */ daddu $a2, $s3, $zero
/* BAFDBC 8024247C 44820000 */ mtc1 $v0, $f0
/* BAFDC0 80242480 00000000 */ nop
/* BAFDC4 80242484 46800020 */ cvt.s.w $f0, $f0
/* BAFDC8 80242488 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BAFDCC 8024248C 8E240080 */ lw $a0, 0x80($s1)
/* BAFDD0 80242490 0C037711 */ jal npc_test_move_simple_with_slipping
/* BAFDD4 80242494 0200382D */ daddu $a3, $s0, $zero
/* BAFDD8 80242498 27A5002C */ addiu $a1, $sp, 0x2c
/* BAFDDC 8024249C 27A60030 */ addiu $a2, $sp, 0x30
/* BAFDE0 802424A0 27A70034 */ addiu $a3, $sp, 0x34
/* BAFDE4 802424A4 27A30038 */ addiu $v1, $sp, 0x38
/* BAFDE8 802424A8 C6220038 */ lwc1 $f2, 0x38($s1)
/* BAFDEC 802424AC C620003C */ lwc1 $f0, 0x3c($s1)
/* BAFDF0 802424B0 3C014348 */ lui $at, 0x4348
/* BAFDF4 802424B4 44813000 */ mtc1 $at, $f6
/* BAFDF8 802424B8 46000021 */ cvt.d.s $f0, $f0
/* BAFDFC 802424BC E7A2002C */ swc1 $f2, 0x2c($sp)
/* BAFE00 802424C0 3C014059 */ lui $at, 0x4059
/* BAFE04 802424C4 44811800 */ mtc1 $at, $f3
/* BAFE08 802424C8 44801000 */ mtc1 $zero, $f2
/* BAFE0C 802424CC C6240040 */ lwc1 $f4, 0x40($s1)
/* BAFE10 802424D0 46220000 */ add.d $f0, $f0, $f2
/* BAFE14 802424D4 E7A60038 */ swc1 $f6, 0x38($sp)
/* BAFE18 802424D8 E7A40034 */ swc1 $f4, 0x34($sp)
/* BAFE1C 802424DC 46200020 */ cvt.s.d $f0, $f0
/* BAFE20 802424E0 E7A00030 */ swc1 $f0, 0x30($sp)
/* BAFE24 802424E4 AFA30010 */ sw $v1, 0x10($sp)
/* BAFE28 802424E8 8E240080 */ lw $a0, 0x80($s1)
/* BAFE2C 802424EC 0C0372DF */ jal npc_raycast_down_sides
/* BAFE30 802424F0 0040802D */ daddu $s0, $v0, $zero
/* BAFE34 802424F4 1600001C */ bnez $s0, .L80242568
/* BAFE38 802424F8 00000000 */ nop
/* BAFE3C 802424FC 1040001A */ beqz $v0, .L80242568
/* BAFE40 80242500 00000000 */ nop
/* BAFE44 80242504 C7A20038 */ lwc1 $f2, 0x38($sp)
/* BAFE48 80242508 3C014054 */ lui $at, 0x4054
/* BAFE4C 8024250C 44810800 */ mtc1 $at, $f1
/* BAFE50 80242510 44800000 */ mtc1 $zero, $f0
/* BAFE54 80242514 460010A1 */ cvt.d.s $f2, $f2
/* BAFE58 80242518 4622003C */ c.lt.d $f0, $f2
/* BAFE5C 8024251C 00000000 */ nop
/* BAFE60 80242520 45000011 */ bc1f .L80242568
/* BAFE64 80242524 00000000 */ nop
/* BAFE68 80242528 3C01405E */ lui $at, 0x405e
/* BAFE6C 8024252C 44810800 */ mtc1 $at, $f1
/* BAFE70 80242530 44800000 */ mtc1 $zero, $f0
/* BAFE74 80242534 00000000 */ nop
/* BAFE78 80242538 4620103C */ c.lt.d $f2, $f0
/* BAFE7C 8024253C 00000000 */ nop
/* BAFE80 80242540 45000009 */ bc1f .L80242568
/* BAFE84 80242544 00000000 */ nop
/* BAFE88 80242548 C622003C */ lwc1 $f2, 0x3c($s1)
/* BAFE8C 8024254C C7A00030 */ lwc1 $f0, 0x30($sp)
/* BAFE90 80242550 46001032 */ c.eq.s $f2, $f0
/* BAFE94 80242554 00000000 */ nop
/* BAFE98 80242558 45010003 */ bc1t .L80242568
/* BAFE9C 8024255C 00000000 */ nop
/* BAFEA0 80242560 080909D3 */ j .L8024274C
/* BAFEA4 80242564 241E0001 */ addiu $fp, $zero, 1
.L80242568:
/* BAFEA8 80242568 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* BAFEAC 8024256C 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* BAFEB0 80242570 8E020000 */ lw $v0, ($s0)
/* BAFEB4 80242574 3C014024 */ lui $at, 0x4024
/* BAFEB8 80242578 44811800 */ mtc1 $at, $f3
/* BAFEBC 8024257C 44801000 */ mtc1 $zero, $f2
/* BAFEC0 80242580 C440002C */ lwc1 $f0, 0x2c($v0)
/* BAFEC4 80242584 C4460028 */ lwc1 $f6, 0x28($v0)
/* BAFEC8 80242588 C4440030 */ lwc1 $f4, 0x30($v0)
/* BAFECC 8024258C 46000021 */ cvt.d.s $f0, $f0
/* BAFED0 80242590 46220000 */ add.d $f0, $f0, $f2
/* BAFED4 80242594 E7A60020 */ swc1 $f6, 0x20($sp)
/* BAFED8 80242598 E7A40028 */ swc1 $f4, 0x28($sp)
/* BAFEDC 8024259C 46200020 */ cvt.s.d $f0, $f0
/* BAFEE0 802425A0 E7A00024 */ swc1 $f0, 0x24($sp)
/* BAFEE4 802425A4 E7B40010 */ swc1 $f20, 0x10($sp)
/* BAFEE8 802425A8 E7B60014 */ swc1 $f22, 0x14($sp)
/* BAFEEC 802425AC 862200A8 */ lh $v0, 0xa8($s1)
/* BAFEF0 802425B0 27A50020 */ addiu $a1, $sp, 0x20
/* BAFEF4 802425B4 44820000 */ mtc1 $v0, $f0
/* BAFEF8 802425B8 00000000 */ nop
/* BAFEFC 802425BC 46800020 */ cvt.s.w $f0, $f0
/* BAFF00 802425C0 E7A00018 */ swc1 $f0, 0x18($sp)
/* BAFF04 802425C4 862200A6 */ lh $v0, 0xa6($s1)
/* BAFF08 802425C8 27A60024 */ addiu $a2, $sp, 0x24
/* BAFF0C 802425CC 44820000 */ mtc1 $v0, $f0
/* BAFF10 802425D0 00000000 */ nop
/* BAFF14 802425D4 46800020 */ cvt.s.w $f0, $f0
/* BAFF18 802425D8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* BAFF1C 802425DC 8E240080 */ lw $a0, 0x80($s1)
/* BAFF20 802425E0 0C037711 */ jal npc_test_move_simple_with_slipping
/* BAFF24 802425E4 27A70028 */ addiu $a3, $sp, 0x28
/* BAFF28 802425E8 8FA60020 */ lw $a2, 0x20($sp)
/* BAFF2C 802425EC 8E020000 */ lw $v0, ($s0)
/* BAFF30 802425F0 8FA70028 */ lw $a3, 0x28($sp)
/* BAFF34 802425F4 C44C0028 */ lwc1 $f12, 0x28($v0)
/* BAFF38 802425F8 C44E0030 */ lwc1 $f14, 0x30($v0)
/* BAFF3C 802425FC 0C00A7B5 */ jal dist2D
/* BAFF40 80242600 24170001 */ addiu $s7, $zero, 1
/* BAFF44 80242604 46000506 */ mov.s $f20, $f0
/* BAFF48 80242608 8E030000 */ lw $v1, ($s0)
/* BAFF4C 8024260C 862200A6 */ lh $v0, 0xa6($s1)
/* BAFF50 80242610 4407C000 */ mfc1 $a3, $f24
/* BAFF54 80242614 44824000 */ mtc1 $v0, $f8
/* BAFF58 80242618 00000000 */ nop
/* BAFF5C 8024261C 46804220 */ cvt.s.w $f8, $f8
/* BAFF60 80242620 C4600028 */ lwc1 $f0, 0x28($v1)
/* BAFF64 80242624 44064000 */ mfc1 $a2, $f8
/* BAFF68 80242628 26240038 */ addiu $a0, $s1, 0x38
/* BAFF6C 8024262C E6200038 */ swc1 $f0, 0x38($s1)
/* BAFF70 80242630 C4600030 */ lwc1 $f0, 0x30($v1)
/* BAFF74 80242634 26250040 */ addiu $a1, $s1, 0x40
/* BAFF78 80242638 0C00A7E7 */ jal add_vec2D_polar
/* BAFF7C 8024263C E6200040 */ swc1 $f0, 0x40($s1)
/* BAFF80 80242640 862200A6 */ lh $v0, 0xa6($s1)
/* BAFF84 80242644 44820000 */ mtc1 $v0, $f0
/* BAFF88 80242648 00000000 */ nop
/* BAFF8C 8024264C 46800020 */ cvt.s.w $f0, $f0
/* BAFF90 80242650 080909CF */ j .L8024273C
/* BAFF94 80242654 4600A500 */ add.s $f20, $f20, $f0
.L80242658:
/* BAFF98 80242658 8EA20000 */ lw $v0, ($s5)
/* BAFF9C 8024265C 3C014032 */ lui $at, 0x4032
/* BAFFA0 80242660 44811800 */ mtc1 $at, $f3
/* BAFFA4 80242664 44801000 */ mtc1 $zero, $f2
/* BAFFA8 80242668 C440002C */ lwc1 $f0, 0x2c($v0)
/* BAFFAC 8024266C C4460028 */ lwc1 $f6, 0x28($v0)
/* BAFFB0 80242670 C4440030 */ lwc1 $f4, 0x30($v0)
/* BAFFB4 80242674 46000021 */ cvt.d.s $f0, $f0
/* BAFFB8 80242678 46220000 */ add.d $f0, $f0, $f2
/* BAFFBC 8024267C E7A60020 */ swc1 $f6, 0x20($sp)
/* BAFFC0 80242680 E7A40028 */ swc1 $f4, 0x28($sp)
/* BAFFC4 80242684 46200020 */ cvt.s.d $f0, $f0
/* BAFFC8 80242688 E7A00024 */ swc1 $f0, 0x24($sp)
/* BAFFCC 8024268C E7B40010 */ swc1 $f20, 0x10($sp)
/* BAFFD0 80242690 E7B60014 */ swc1 $f22, 0x14($sp)
/* BAFFD4 80242694 862200A8 */ lh $v0, 0xa8($s1)
/* BAFFD8 80242698 44820000 */ mtc1 $v0, $f0
/* BAFFDC 8024269C 00000000 */ nop
/* BAFFE0 802426A0 46800020 */ cvt.s.w $f0, $f0
/* BAFFE4 802426A4 E7A00018 */ swc1 $f0, 0x18($sp)
/* BAFFE8 802426A8 862200A6 */ lh $v0, 0xa6($s1)
/* BAFFEC 802426AC 27A60024 */ addiu $a2, $sp, 0x24
/* BAFFF0 802426B0 44820000 */ mtc1 $v0, $f0
/* BAFFF4 802426B4 00000000 */ nop
/* BAFFF8 802426B8 46800020 */ cvt.s.w $f0, $f0
/* BAFFFC 802426BC E7A0001C */ swc1 $f0, 0x1c($sp)
/* BB0000 802426C0 8E240080 */ lw $a0, 0x80($s1)
/* BB0004 802426C4 0C037711 */ jal npc_test_move_simple_with_slipping
/* BB0008 802426C8 27A70028 */ addiu $a3, $sp, 0x28
/* BB000C 802426CC 1040001F */ beqz $v0, .L8024274C
/* BB0010 802426D0 00000000 */ nop
/* BB0014 802426D4 8FA60020 */ lw $a2, 0x20($sp)
/* BB0018 802426D8 8EA20000 */ lw $v0, ($s5)
/* BB001C 802426DC 8FA70028 */ lw $a3, 0x28($sp)
/* BB0020 802426E0 C44C0028 */ lwc1 $f12, 0x28($v0)
/* BB0024 802426E4 0C00A7B5 */ jal dist2D
/* BB0028 802426E8 C44E0030 */ lwc1 $f14, 0x30($v0)
/* BB002C 802426EC 46000506 */ mov.s $f20, $f0
/* BB0030 802426F0 8EA30000 */ lw $v1, ($s5)
/* BB0034 802426F4 862200A6 */ lh $v0, 0xa6($s1)
/* BB0038 802426F8 4407C000 */ mfc1 $a3, $f24
/* BB003C 802426FC 44824000 */ mtc1 $v0, $f8
/* BB0040 80242700 00000000 */ nop
/* BB0044 80242704 46804220 */ cvt.s.w $f8, $f8
/* BB0048 80242708 C4600028 */ lwc1 $f0, 0x28($v1)
/* BB004C 8024270C 44064000 */ mfc1 $a2, $f8
/* BB0050 80242710 0200202D */ daddu $a0, $s0, $zero
/* BB0054 80242714 E6200038 */ swc1 $f0, 0x38($s1)
/* BB0058 80242718 C4600030 */ lwc1 $f0, 0x30($v1)
/* BB005C 8024271C 0260282D */ daddu $a1, $s3, $zero
/* BB0060 80242720 0C00A7E7 */ jal add_vec2D_polar
/* BB0064 80242724 E6200040 */ swc1 $f0, 0x40($s1)
/* BB0068 80242728 862200A6 */ lh $v0, 0xa6($s1)
/* BB006C 8024272C 44820000 */ mtc1 $v0, $f0
/* BB0070 80242730 00000000 */ nop
/* BB0074 80242734 46800020 */ cvt.s.w $f0, $f0
/* BB0078 80242738 4600A500 */ add.s $f20, $f20, $f0
.L8024273C:
/* BB007C 8024273C 4406B000 */ mfc1 $a2, $f22
/* BB0080 80242740 4405A000 */ mfc1 $a1, $f20
/* BB0084 80242744 0C00EA95 */ jal npc_move_heading
/* BB0088 80242748 0220202D */ daddu $a0, $s1, $zero
.L8024274C:
/* BB008C 8024274C C6400008 */ lwc1 $f0, 8($s2)
/* BB0090 80242750 46800020 */ cvt.s.w $f0, $f0
/* BB0094 80242754 44050000 */ mfc1 $a1, $f0
/* BB0098 80242758 C640000C */ lwc1 $f0, 0xc($s2)
/* BB009C 8024275C 46800020 */ cvt.s.w $f0, $f0
/* BB00A0 80242760 44060000 */ mfc1 $a2, $f0
/* BB00A4 80242764 C6200040 */ lwc1 $f0, 0x40($s1)
/* BB00A8 80242768 26300038 */ addiu $s0, $s1, 0x38
/* BB00AC 8024276C E7A00010 */ swc1 $f0, 0x10($sp)
/* BB00B0 80242770 C6400010 */ lwc1 $f0, 0x10($s2)
/* BB00B4 80242774 46800020 */ cvt.s.w $f0, $f0
/* BB00B8 80242778 E7A00014 */ swc1 $f0, 0x14($sp)
/* BB00BC 8024277C C6400014 */ lwc1 $f0, 0x14($s2)
/* BB00C0 80242780 46800020 */ cvt.s.w $f0, $f0
/* BB00C4 80242784 E7A00018 */ swc1 $f0, 0x18($sp)
/* BB00C8 80242788 8E440004 */ lw $a0, 4($s2)
/* BB00CC 8024278C 8E270038 */ lw $a3, 0x38($s1)
/* BB00D0 80242790 0C0123F5 */ jal is_point_within_region
/* BB00D4 80242794 26330040 */ addiu $s3, $s1, 0x40
/* BB00D8 80242798 1040005A */ beqz $v0, .L80242904
/* BB00DC 8024279C 00000000 */ nop
/* BB00E0 802427A0 8E430004 */ lw $v1, 4($s2)
/* BB00E4 802427A4 10600005 */ beqz $v1, .L802427BC
/* BB00E8 802427A8 24020001 */ addiu $v0, $zero, 1
/* BB00EC 802427AC 10620029 */ beq $v1, $v0, .L80242854
/* BB00F0 802427B0 00000000 */ nop
/* BB00F4 802427B4 08090A41 */ j .L80242904
/* BB00F8 802427B8 00000000 */ nop
.L802427BC:
/* BB00FC 802427BC C6480008 */ lwc1 $f8, 8($s2)
/* BB0100 802427C0 46804220 */ cvt.s.w $f8, $f8
/* BB0104 802427C4 44064000 */ mfc1 $a2, $f8
/* BB0108 802427C8 C648000C */ lwc1 $f8, 0xc($s2)
/* BB010C 802427CC 46804220 */ cvt.s.w $f8, $f8
/* BB0110 802427D0 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BB0114 802427D4 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BB0118 802427D8 44074000 */ mfc1 $a3, $f8
/* BB011C 802427DC 0C00A7B5 */ jal dist2D
/* BB0120 802427E0 00000000 */ nop
/* BB0124 802427E4 C6420010 */ lwc1 $f2, 0x10($s2)
/* BB0128 802427E8 468010A0 */ cvt.s.w $f2, $f2
/* BB012C 802427EC 4600103C */ c.lt.s $f2, $f0
/* BB0130 802427F0 00000000 */ nop
/* BB0134 802427F4 45000043 */ bc1f .L80242904
/* BB0138 802427F8 E7A00038 */ swc1 $f0, 0x38($sp)
/* BB013C 802427FC C64C0008 */ lwc1 $f12, 8($s2)
/* BB0140 80242800 46806320 */ cvt.s.w $f12, $f12
/* BB0144 80242804 8E260038 */ lw $a2, 0x38($s1)
/* BB0148 80242808 8E270040 */ lw $a3, 0x40($s1)
/* BB014C 8024280C C64E000C */ lwc1 $f14, 0xc($s2)
/* BB0150 80242810 0C00A720 */ jal atan2
/* BB0154 80242814 468073A0 */ cvt.s.w $f14, $f14
/* BB0158 80242818 0200202D */ daddu $a0, $s0, $zero
/* BB015C 8024281C 44070000 */ mfc1 $a3, $f0
/* BB0160 80242820 C6400008 */ lwc1 $f0, 8($s2)
/* BB0164 80242824 46800020 */ cvt.s.w $f0, $f0
/* BB0168 80242828 E6200038 */ swc1 $f0, 0x38($s1)
/* BB016C 8024282C C640000C */ lwc1 $f0, 0xc($s2)
/* BB0170 80242830 46800020 */ cvt.s.w $f0, $f0
/* BB0174 80242834 E6200040 */ swc1 $f0, 0x40($s1)
/* BB0178 80242838 C6480010 */ lwc1 $f8, 0x10($s2)
/* BB017C 8024283C 46804220 */ cvt.s.w $f8, $f8
/* BB0180 80242840 44064000 */ mfc1 $a2, $f8
/* BB0184 80242844 0C00A7E7 */ jal add_vec2D_polar
/* BB0188 80242848 0260282D */ daddu $a1, $s3, $zero
/* BB018C 8024284C 08090A41 */ j .L80242904
/* BB0190 80242850 00000000 */ nop
.L80242854:
/* BB0194 80242854 8E420008 */ lw $v0, 8($s2)
/* BB0198 80242858 8E430010 */ lw $v1, 0x10($s2)
/* BB019C 8024285C C6200038 */ lwc1 $f0, 0x38($s1)
/* BB01A0 80242860 00431021 */ addu $v0, $v0, $v1
/* BB01A4 80242864 44821000 */ mtc1 $v0, $f2
/* BB01A8 80242868 00000000 */ nop
/* BB01AC 8024286C 468010A0 */ cvt.s.w $f2, $f2
/* BB01B0 80242870 4600103C */ c.lt.s $f2, $f0
/* BB01B4 80242874 00000000 */ nop
/* BB01B8 80242878 45030001 */ bc1tl .L80242880
/* BB01BC 8024287C E6220038 */ swc1 $f2, 0x38($s1)
.L80242880:
/* BB01C0 80242880 8E420008 */ lw $v0, 8($s2)
/* BB01C4 80242884 8E430010 */ lw $v1, 0x10($s2)
/* BB01C8 80242888 C6200038 */ lwc1 $f0, 0x38($s1)
/* BB01CC 8024288C 00431023 */ subu $v0, $v0, $v1
/* BB01D0 80242890 44821000 */ mtc1 $v0, $f2
/* BB01D4 80242894 00000000 */ nop
/* BB01D8 80242898 468010A0 */ cvt.s.w $f2, $f2
/* BB01DC 8024289C 4602003C */ c.lt.s $f0, $f2
/* BB01E0 802428A0 00000000 */ nop
/* BB01E4 802428A4 45030001 */ bc1tl .L802428AC
/* BB01E8 802428A8 E6220038 */ swc1 $f2, 0x38($s1)
.L802428AC:
/* BB01EC 802428AC 8E42000C */ lw $v0, 0xc($s2)
/* BB01F0 802428B0 8E430014 */ lw $v1, 0x14($s2)
/* BB01F4 802428B4 C6200040 */ lwc1 $f0, 0x40($s1)
/* BB01F8 802428B8 00431021 */ addu $v0, $v0, $v1
/* BB01FC 802428BC 44821000 */ mtc1 $v0, $f2
/* BB0200 802428C0 00000000 */ nop
/* BB0204 802428C4 468010A0 */ cvt.s.w $f2, $f2
/* BB0208 802428C8 4600103C */ c.lt.s $f2, $f0
/* BB020C 802428CC 00000000 */ nop
/* BB0210 802428D0 45030001 */ bc1tl .L802428D8
/* BB0214 802428D4 E6220040 */ swc1 $f2, 0x40($s1)
.L802428D8:
/* BB0218 802428D8 8E42000C */ lw $v0, 0xc($s2)
/* BB021C 802428DC 8E430014 */ lw $v1, 0x14($s2)
/* BB0220 802428E0 C6200040 */ lwc1 $f0, 0x40($s1)
/* BB0224 802428E4 00431023 */ subu $v0, $v0, $v1
/* BB0228 802428E8 44821000 */ mtc1 $v0, $f2
/* BB022C 802428EC 00000000 */ nop
/* BB0230 802428F0 468010A0 */ cvt.s.w $f2, $f2
/* BB0234 802428F4 4602003C */ c.lt.s $f0, $f2
/* BB0238 802428F8 00000000 */ nop
/* BB023C 802428FC 45030001 */ bc1tl .L80242904
/* BB0240 80242900 E6220040 */ swc1 $f2, 0x40($s1)
.L80242904:
/* BB0244 80242904 16E0001F */ bnez $s7, .L80242984
/* BB0248 80242908 00000000 */ nop
/* BB024C 8024290C 8E220000 */ lw $v0, ($s1)
/* BB0250 80242910 30420008 */ andi $v0, $v0, 8
/* BB0254 80242914 10400003 */ beqz $v0, .L80242924
/* BB0258 80242918 27A50020 */ addiu $a1, $sp, 0x20
/* BB025C 8024291C 13C00019 */ beqz $fp, .L80242984
/* BB0260 80242920 00000000 */ nop
.L80242924:
/* BB0264 80242924 27A60024 */ addiu $a2, $sp, 0x24
/* BB0268 80242928 27A20038 */ addiu $v0, $sp, 0x38
/* BB026C 8024292C C6220038 */ lwc1 $f2, 0x38($s1)
/* BB0270 80242930 C620003C */ lwc1 $f0, 0x3c($s1)
/* BB0274 80242934 3C0143C8 */ lui $at, 0x43c8
/* BB0278 80242938 44813000 */ mtc1 $at, $f6
/* BB027C 8024293C 46000021 */ cvt.d.s $f0, $f0
/* BB0280 80242940 E7A20020 */ swc1 $f2, 0x20($sp)
/* BB0284 80242944 3C018024 */ lui $at, %hi(D_802454B8_BB2DF8)
/* BB0288 80242948 D42254B8 */ ldc1 $f2, %lo(D_802454B8_BB2DF8)($at)
/* BB028C 8024294C C6240040 */ lwc1 $f4, 0x40($s1)
/* BB0290 80242950 46220000 */ add.d $f0, $f0, $f2
/* BB0294 80242954 E7A60038 */ swc1 $f6, 0x38($sp)
/* BB0298 80242958 E7A40028 */ swc1 $f4, 0x28($sp)
/* BB029C 8024295C 46200020 */ cvt.s.d $f0, $f0
/* BB02A0 80242960 E7A00024 */ swc1 $f0, 0x24($sp)
/* BB02A4 80242964 AFA20010 */ sw $v0, 0x10($sp)
/* BB02A8 80242968 8E240080 */ lw $a0, 0x80($s1)
/* BB02AC 8024296C 0C0372DF */ jal npc_raycast_down_sides
/* BB02B0 80242970 27A70028 */ addiu $a3, $sp, 0x28
/* BB02B4 80242974 10400003 */ beqz $v0, .L80242984
/* BB02B8 80242978 00000000 */ nop
/* BB02BC 8024297C C7A00024 */ lwc1 $f0, 0x24($sp)
/* BB02C0 80242980 E620003C */ swc1 $f0, 0x3c($s1)
.L80242984:
/* BB02C4 80242984 C62C0038 */ lwc1 $f12, 0x38($s1)
/* BB02C8 80242988 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* BB02CC 8024298C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* BB02D0 80242990 C62E0040 */ lwc1 $f14, 0x40($s1)
/* BB02D4 80242994 8C460028 */ lw $a2, 0x28($v0)
/* BB02D8 80242998 0C00A720 */ jal atan2
/* BB02DC 8024299C 8C470030 */ lw $a3, 0x30($v0)
/* BB02E0 802429A0 0220202D */ daddu $a0, $s1, $zero
/* BB02E4 802429A4 24050321 */ addiu $a1, $zero, 0x321
/* BB02E8 802429A8 0000302D */ daddu $a2, $zero, $zero
/* BB02EC 802429AC 0C012530 */ jal ai_enemy_play_sound
/* BB02F0 802429B0 E620000C */ swc1 $f0, 0xc($s1)
/* BB02F4 802429B4 8EC200CC */ lw $v0, 0xcc($s6)
/* BB02F8 802429B8 8C420024 */ lw $v0, 0x24($v0)
/* BB02FC 802429BC AE220028 */ sw $v0, 0x28($s1)
/* BB0300 802429C0 96C20096 */ lhu $v0, 0x96($s6)
/* BB0304 802429C4 A622008E */ sh $v0, 0x8e($s1)
/* BB0308 802429C8 8FA80080 */ lw $t0, 0x80($sp)
/* BB030C 802429CC 2402000B */ addiu $v0, $zero, 0xb
/* BB0310 802429D0 AD020070 */ sw $v0, 0x70($t0)
.L802429D4:
/* BB0314 802429D4 8FBF0064 */ lw $ra, 0x64($sp)
/* BB0318 802429D8 8FBE0060 */ lw $fp, 0x60($sp)
/* BB031C 802429DC 8FB7005C */ lw $s7, 0x5c($sp)
/* BB0320 802429E0 8FB60058 */ lw $s6, 0x58($sp)
/* BB0324 802429E4 8FB50054 */ lw $s5, 0x54($sp)
/* BB0328 802429E8 8FB40050 */ lw $s4, 0x50($sp)
/* BB032C 802429EC 8FB3004C */ lw $s3, 0x4c($sp)
/* BB0330 802429F0 8FB20048 */ lw $s2, 0x48($sp)
/* BB0334 802429F4 8FB10044 */ lw $s1, 0x44($sp)
/* BB0338 802429F8 8FB00040 */ lw $s0, 0x40($sp)
/* BB033C 802429FC D7B80078 */ ldc1 $f24, 0x78($sp)
/* BB0340 80242A00 D7B60070 */ ldc1 $f22, 0x70($sp)
/* BB0344 80242A04 D7B40068 */ ldc1 $f20, 0x68($sp)
/* BB0348 80242A08 03E00008 */ jr $ra
/* BB034C 80242A0C 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -110,7 +110,7 @@ glabel func_80242CEC_BB062C
/* BB07B8 80242E78 00000000 */ nop
.L80242E7C:
/* BB07BC 80242E7C 0260282D */ daddu $a1, $s3, $zero
/* BB07C0 80242E80 0C0907F4 */ jal func_80241FD0_BAF910
/* BB07C0 80242E80 0C0907F4 */ jal mim_08_UnkNpcAIFunc46
/* BB07C4 80242E84 0280302D */ daddu $a2, $s4, $zero
/* BB07C8 80242E88 8E420070 */ lw $v0, 0x70($s2)
/* BB07CC 80242E8C 14500021 */ bne $v0, $s0, .L80242F14

View File

@ -1,206 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_80244318_D91568
.word .L8024281C_D8FA6C, .L8024282C_D8FA7C, .L80242844_D8FA94, .L80242854_D8FAA4, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L8024286C_D8FABC, .L8024287C_D8FACC, .L80242894_D8FAE4, .L802428A4_D8FAF4, .L802428BC_D8FB0C, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L802428D4_D8FB24, .L802428DC_D8FB2C, .L802428F4_D8FB44, .L8024290C_D8FB5C, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L80242924_D8FB74, .L8024291C_D8FB6C, 0, 0
.section .text
glabel func_80242698_D8F8E8
/* D8F8E8 80242698 27BDFFB0 */ addiu $sp, $sp, -0x50
/* D8F8EC 8024269C AFB20038 */ sw $s2, 0x38($sp)
/* D8F8F0 802426A0 0080902D */ daddu $s2, $a0, $zero
/* D8F8F4 802426A4 AFBF0048 */ sw $ra, 0x48($sp)
/* D8F8F8 802426A8 AFB50044 */ sw $s5, 0x44($sp)
/* D8F8FC 802426AC AFB40040 */ sw $s4, 0x40($sp)
/* D8F900 802426B0 AFB3003C */ sw $s3, 0x3c($sp)
/* D8F904 802426B4 AFB10034 */ sw $s1, 0x34($sp)
/* D8F908 802426B8 AFB00030 */ sw $s0, 0x30($sp)
/* D8F90C 802426BC 8E510148 */ lw $s1, 0x148($s2)
/* D8F910 802426C0 86240008 */ lh $a0, 8($s1)
/* D8F914 802426C4 0C00EABB */ jal get_npc_unsafe
/* D8F918 802426C8 00A0802D */ daddu $s0, $a1, $zero
/* D8F91C 802426CC 8E43000C */ lw $v1, 0xc($s2)
/* D8F920 802426D0 0240202D */ daddu $a0, $s2, $zero
/* D8F924 802426D4 8C650000 */ lw $a1, ($v1)
/* D8F928 802426D8 0C0B1EAF */ jal evt_get_variable
/* D8F92C 802426DC 0040A82D */ daddu $s5, $v0, $zero
/* D8F930 802426E0 AFA00010 */ sw $zero, 0x10($sp)
/* D8F934 802426E4 8E2300D0 */ lw $v1, 0xd0($s1)
/* D8F938 802426E8 8C630030 */ lw $v1, 0x30($v1)
/* D8F93C 802426EC AFA30014 */ sw $v1, 0x14($sp)
/* D8F940 802426F0 8E2300D0 */ lw $v1, 0xd0($s1)
/* D8F944 802426F4 8C63001C */ lw $v1, 0x1c($v1)
/* D8F948 802426F8 AFA30018 */ sw $v1, 0x18($sp)
/* D8F94C 802426FC 8E2300D0 */ lw $v1, 0xd0($s1)
/* D8F950 80242700 8C630024 */ lw $v1, 0x24($v1)
/* D8F954 80242704 AFA3001C */ sw $v1, 0x1c($sp)
/* D8F958 80242708 8E2300D0 */ lw $v1, 0xd0($s1)
/* D8F95C 8024270C 8C630028 */ lw $v1, 0x28($v1)
/* D8F960 80242710 27B40010 */ addiu $s4, $sp, 0x10
/* D8F964 80242714 AFA30020 */ sw $v1, 0x20($sp)
/* D8F968 80242718 8E2300D0 */ lw $v1, 0xd0($s1)
/* D8F96C 8024271C 3C014282 */ lui $at, 0x4282
/* D8F970 80242720 44810000 */ mtc1 $at, $f0
/* D8F974 80242724 8C63002C */ lw $v1, 0x2c($v1)
/* D8F978 80242728 0040982D */ daddu $s3, $v0, $zero
/* D8F97C 8024272C E7A00028 */ swc1 $f0, 0x28($sp)
/* D8F980 80242730 A7A0002C */ sh $zero, 0x2c($sp)
/* D8F984 80242734 16000005 */ bnez $s0, .L8024274C
/* D8F988 80242738 AFA30024 */ sw $v1, 0x24($sp)
/* D8F98C 8024273C 8E2200B0 */ lw $v0, 0xb0($s1)
/* D8F990 80242740 30420004 */ andi $v0, $v0, 4
/* D8F994 80242744 10400020 */ beqz $v0, .L802427C8
/* D8F998 80242748 00000000 */ nop
.L8024274C:
/* D8F99C 8024274C 2404F7FF */ addiu $a0, $zero, -0x801
/* D8F9A0 80242750 AE400070 */ sw $zero, 0x70($s2)
/* D8F9A4 80242754 A6A0008E */ sh $zero, 0x8e($s5)
/* D8F9A8 80242758 8E2200CC */ lw $v0, 0xcc($s1)
/* D8F9AC 8024275C 8EA30000 */ lw $v1, ($s5)
/* D8F9B0 80242760 8C420000 */ lw $v0, ($v0)
/* D8F9B4 80242764 00641824 */ and $v1, $v1, $a0
/* D8F9B8 80242768 AEA30000 */ sw $v1, ($s5)
/* D8F9BC 8024276C AEA20028 */ sw $v0, 0x28($s5)
/* D8F9C0 80242770 8E2200D0 */ lw $v0, 0xd0($s1)
/* D8F9C4 80242774 8C420034 */ lw $v0, 0x34($v0)
/* D8F9C8 80242778 54400005 */ bnel $v0, $zero, .L80242790
/* D8F9CC 8024277C 2402FDFF */ addiu $v0, $zero, -0x201
/* D8F9D0 80242780 34620200 */ ori $v0, $v1, 0x200
/* D8F9D4 80242784 2403FFF7 */ addiu $v1, $zero, -9
/* D8F9D8 80242788 080909E6 */ j .L80242798
/* D8F9DC 8024278C 00431024 */ and $v0, $v0, $v1
.L80242790:
/* D8F9E0 80242790 00621024 */ and $v0, $v1, $v0
/* D8F9E4 80242794 34420008 */ ori $v0, $v0, 8
.L80242798:
/* D8F9E8 80242798 AEA20000 */ sw $v0, ($s5)
/* D8F9EC 8024279C 8E2200B0 */ lw $v0, 0xb0($s1)
/* D8F9F0 802427A0 30420004 */ andi $v0, $v0, 4
/* D8F9F4 802427A4 10400007 */ beqz $v0, .L802427C4
/* D8F9F8 802427A8 24020063 */ addiu $v0, $zero, 0x63
/* D8F9FC 802427AC AE420070 */ sw $v0, 0x70($s2)
/* D8FA00 802427B0 AE400074 */ sw $zero, 0x74($s2)
/* D8FA04 802427B4 8E2200B0 */ lw $v0, 0xb0($s1)
/* D8FA08 802427B8 2403FFFB */ addiu $v1, $zero, -5
/* D8FA0C 802427BC 00431024 */ and $v0, $v0, $v1
/* D8FA10 802427C0 AE2200B0 */ sw $v0, 0xb0($s1)
.L802427C4:
/* D8FA14 802427C4 AE20006C */ sw $zero, 0x6c($s1)
.L802427C8:
/* D8FA18 802427C8 8E420070 */ lw $v0, 0x70($s2)
/* D8FA1C 802427CC 2842001E */ slti $v0, $v0, 0x1e
/* D8FA20 802427D0 10400009 */ beqz $v0, .L802427F8
/* D8FA24 802427D4 00000000 */ nop
/* D8FA28 802427D8 8E22006C */ lw $v0, 0x6c($s1)
/* D8FA2C 802427DC 14400006 */ bnez $v0, .L802427F8
/* D8FA30 802427E0 00000000 */ nop
/* D8FA34 802427E4 0C0907EE */ jal pra_35_UnkNpcAIFunc26
/* D8FA38 802427E8 0240202D */ daddu $a0, $s2, $zero
/* D8FA3C 802427EC 10400002 */ beqz $v0, .L802427F8
/* D8FA40 802427F0 2402001E */ addiu $v0, $zero, 0x1e
/* D8FA44 802427F4 AE420070 */ sw $v0, 0x70($s2)
.L802427F8:
/* D8FA48 802427F8 8E430070 */ lw $v1, 0x70($s2)
/* D8FA4C 802427FC 2C620064 */ sltiu $v0, $v1, 0x64
/* D8FA50 80242800 10400048 */ beqz $v0, .L80242924_D8FB74
/* D8FA54 80242804 00031080 */ sll $v0, $v1, 2
/* D8FA58 80242808 3C018024 */ lui $at, %hi(jtbl_80244318_D91568)
/* D8FA5C 8024280C 00220821 */ addu $at, $at, $v0
/* D8FA60 80242810 8C224318 */ lw $v0, %lo(jtbl_80244318_D91568)($at)
/* D8FA64 80242814 00400008 */ jr $v0
/* D8FA68 80242818 00000000 */ nop
.L8024281C_D8FA6C:
/* D8FA6C 8024281C 0240202D */ daddu $a0, $s2, $zero
/* D8FA70 80242820 0260282D */ daddu $a1, $s3, $zero
/* D8FA74 80242824 0C012568 */ jal func_800495A0
/* D8FA78 80242828 0280302D */ daddu $a2, $s4, $zero
.L8024282C_D8FA7C:
/* D8FA7C 8024282C 0240202D */ daddu $a0, $s2, $zero
/* D8FA80 80242830 0260282D */ daddu $a1, $s3, $zero
/* D8FA84 80242834 0C0125AE */ jal func_800496B8
/* D8FA88 80242838 0280302D */ daddu $a2, $s4, $zero
/* D8FA8C 8024283C 08090A49 */ j .L80242924_D8FB74
/* D8FA90 80242840 00000000 */ nop
.L80242844_D8FA94:
/* D8FA94 80242844 0240202D */ daddu $a0, $s2, $zero
/* D8FA98 80242848 0260282D */ daddu $a1, $s3, $zero
/* D8FA9C 8024284C 0C0126D1 */ jal base_UnkNpcAIFunc1
/* D8FAA0 80242850 0280302D */ daddu $a2, $s4, $zero
.L80242854_D8FAA4:
/* D8FAA4 80242854 0240202D */ daddu $a0, $s2, $zero
/* D8FAA8 80242858 0260282D */ daddu $a1, $s3, $zero
/* D8FAAC 8024285C 0C012701 */ jal func_80049C04
/* D8FAB0 80242860 0280302D */ daddu $a2, $s4, $zero
/* D8FAB4 80242864 08090A49 */ j .L80242924_D8FB74
/* D8FAB8 80242868 00000000 */ nop
.L8024286C_D8FABC:
/* D8FABC 8024286C 0240202D */ daddu $a0, $s2, $zero
/* D8FAC0 80242870 0260282D */ daddu $a1, $s3, $zero
/* D8FAC4 80242874 0C01278F */ jal func_80049E3C
/* D8FAC8 80242878 0280302D */ daddu $a2, $s4, $zero
.L8024287C_D8FACC:
/* D8FACC 8024287C 0240202D */ daddu $a0, $s2, $zero
/* D8FAD0 80242880 0260282D */ daddu $a1, $s3, $zero
/* D8FAD4 80242884 0C0127B3 */ jal func_80049ECC
/* D8FAD8 80242888 0280302D */ daddu $a2, $s4, $zero
/* D8FADC 8024288C 08090A49 */ j .L80242924_D8FB74
/* D8FAE0 80242890 00000000 */ nop
.L80242894_D8FAE4:
/* D8FAE4 80242894 0240202D */ daddu $a0, $s2, $zero
/* D8FAE8 80242898 0260282D */ daddu $a1, $s3, $zero
/* D8FAEC 8024289C 0C0127DF */ jal func_80049F7C
/* D8FAF0 802428A0 0280302D */ daddu $a2, $s4, $zero
.L802428A4_D8FAF4:
/* D8FAF4 802428A4 0240202D */ daddu $a0, $s2, $zero
/* D8FAF8 802428A8 0260282D */ daddu $a1, $s3, $zero
/* D8FAFC 802428AC 0C012849 */ jal func_8004A124
/* D8FB00 802428B0 0280302D */ daddu $a2, $s4, $zero
/* D8FB04 802428B4 08090A49 */ j .L80242924_D8FB74
/* D8FB08 802428B8 00000000 */ nop
.L802428BC_D8FB0C:
/* D8FB0C 802428BC 0240202D */ daddu $a0, $s2, $zero
/* D8FB10 802428C0 0260282D */ daddu $a1, $s3, $zero
/* D8FB14 802428C4 0C0128FA */ jal func_8004A3E8
/* D8FB18 802428C8 0280302D */ daddu $a2, $s4, $zero
/* D8FB1C 802428CC 08090A49 */ j .L80242924_D8FB74
/* D8FB20 802428D0 00000000 */ nop
.L802428D4_D8FB24:
/* D8FB24 802428D4 0C09076C */ jal pra_35_UnkNpcAIFunc6
/* D8FB28 802428D8 0240202D */ daddu $a0, $s2, $zero
.L802428DC_D8FB2C:
/* D8FB2C 802428DC 0C090787 */ jal pra_35_UnkNpcAIFunc7
/* D8FB30 802428E0 0240202D */ daddu $a0, $s2, $zero
/* D8FB34 802428E4 8E430070 */ lw $v1, 0x70($s2)
/* D8FB38 802428E8 24020020 */ addiu $v0, $zero, 0x20
/* D8FB3C 802428EC 1462000D */ bne $v1, $v0, .L80242924_D8FB74
/* D8FB40 802428F0 00000000 */ nop
.L802428F4_D8FB44:
/* D8FB44 802428F4 0C0907A3 */ jal pra_35_UnkNpcAIFunc8
/* D8FB48 802428F8 0240202D */ daddu $a0, $s2, $zero
/* D8FB4C 802428FC 8E430070 */ lw $v1, 0x70($s2)
/* D8FB50 80242900 24020021 */ addiu $v0, $zero, 0x21
/* D8FB54 80242904 14620007 */ bne $v1, $v0, .L80242924_D8FB74
/* D8FB58 80242908 00000000 */ nop
.L8024290C_D8FB5C:
/* D8FB5C 8024290C 0C0907D9 */ jal pra_35_UnkNpcAIFunc5
/* D8FB60 80242910 0240202D */ daddu $a0, $s2, $zero
/* D8FB64 80242914 08090A49 */ j .L80242924_D8FB74
/* D8FB68 80242918 00000000 */ nop
.L8024291C_D8FB6C:
/* D8FB6C 8024291C 0C0129CF */ jal func_8004A73C
/* D8FB70 80242920 0240202D */ daddu $a0, $s2, $zero
.L80242924_D8FB74:
/* D8FB74 80242924 8FBF0048 */ lw $ra, 0x48($sp)
/* D8FB78 80242928 8FB50044 */ lw $s5, 0x44($sp)
/* D8FB7C 8024292C 8FB40040 */ lw $s4, 0x40($sp)
/* D8FB80 80242930 8FB3003C */ lw $s3, 0x3c($sp)
/* D8FB84 80242934 8FB20038 */ lw $s2, 0x38($sp)
/* D8FB88 80242938 8FB10034 */ lw $s1, 0x34($sp)
/* D8FB8C 8024293C 8FB00030 */ lw $s0, 0x30($sp)
/* D8FB90 80242940 0000102D */ daddu $v0, $zero, $zero
/* D8FB94 80242944 03E00008 */ jr $ra
/* D8FB98 80242948 27BD0050 */ addiu $sp, $sp, 0x50
/* D8FB9C 8024294C 00000000 */ nop

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80247678_D1FE58
.double 380.0
dlabel D_80247680_D1FE60
.double -380.0
dlabel D_80247688_D1FE68
.double 305.0
dlabel D_80247690_D1FE70
.double 375.0
dlabel D_80247698_D1FE78
.double 45.0
dlabel D_802476A0_D1FE80
.double 150.0, 0.0
.section .text
glabel func_80240A38_D19218
/* D19218 80240A38 27BDFF80 */ addiu $sp, $sp, -0x80
/* D1921C 80240A3C AFBF0064 */ sw $ra, 0x64($sp)
/* D19220 80240A40 AFBE0060 */ sw $fp, 0x60($sp)
/* D19224 80240A44 AFB7005C */ sw $s7, 0x5c($sp)
/* D19228 80240A48 AFB60058 */ sw $s6, 0x58($sp)
/* D1922C 80240A4C AFB50054 */ sw $s5, 0x54($sp)
/* D19230 80240A50 AFB40050 */ sw $s4, 0x50($sp)
/* D19234 80240A54 AFB3004C */ sw $s3, 0x4c($sp)
/* D19238 80240A58 AFB20048 */ sw $s2, 0x48($sp)
/* D1923C 80240A5C AFB10044 */ sw $s1, 0x44($sp)
/* D19240 80240A60 AFB00040 */ sw $s0, 0x40($sp)
/* D19244 80240A64 F7B80078 */ sdc1 $f24, 0x78($sp)
/* D19248 80240A68 F7B60070 */ sdc1 $f22, 0x70($sp)
/* D1924C 80240A6C F7B40068 */ sdc1 $f20, 0x68($sp)
/* D19250 80240A70 AFA40080 */ sw $a0, 0x80($sp)
/* D19254 80240A74 8C960148 */ lw $s6, 0x148($a0)
/* D19258 80240A78 00C0902D */ daddu $s2, $a2, $zero
/* D1925C 80240A7C 86C40008 */ lh $a0, 8($s6)
/* D19260 80240A80 0C00EABB */ jal get_npc_unsafe
/* D19264 80240A84 0000B82D */ daddu $s7, $zero, $zero
/* D19268 80240A88 0040882D */ daddu $s1, $v0, $zero
/* D1926C 80240A8C 9622008E */ lhu $v0, 0x8e($s1)
/* D19270 80240A90 2442FFFF */ addiu $v0, $v0, -1
/* D19274 80240A94 A622008E */ sh $v0, 0x8e($s1)
/* D19278 80240A98 00021400 */ sll $v0, $v0, 0x10
/* D1927C 80240A9C 8EC30090 */ lw $v1, 0x90($s6)
/* D19280 80240AA0 00021403 */ sra $v0, $v0, 0x10
/* D19284 80240AA4 0062182A */ slt $v1, $v1, $v0
/* D19288 80240AA8 14600005 */ bnez $v1, .L80240AC0
/* D1928C 80240AAC 02E0F02D */ daddu $fp, $s7, $zero
/* D19290 80240AB0 8EC20000 */ lw $v0, ($s6)
/* D19294 80240AB4 3C031F10 */ lui $v1, 0x1f10
/* D19298 80240AB8 00431025 */ or $v0, $v0, $v1
/* D1929C 80240ABC AEC20000 */ sw $v0, ($s6)
.L80240AC0:
/* D192A0 80240AC0 8622008E */ lh $v0, 0x8e($s1)
/* D192A4 80240AC4 1440025D */ bnez $v0, .L8024143C
/* D192A8 80240AC8 00000000 */ nop
/* D192AC 80240ACC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D192B0 80240AD0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D192B4 80240AD4 0C00A6C9 */ jal clamp_angle
/* D192B8 80240AD8 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* D192BC 80240ADC 3C014334 */ lui $at, 0x4334
/* D192C0 80240AE0 44811000 */ mtc1 $at, $f2
/* D192C4 80240AE4 00000000 */ nop
/* D192C8 80240AE8 4602003C */ c.lt.s $f0, $f2
/* D192CC 80240AEC 00000000 */ nop
/* D192D0 80240AF0 45000011 */ bc1f .L80240B38
/* D192D4 80240AF4 00000000 */ nop
/* D192D8 80240AF8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* D192DC 80240AFC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* D192E0 80240B00 3C0142B4 */ lui $at, 0x42b4
/* D192E4 80240B04 44816000 */ mtc1 $at, $f12
/* D192E8 80240B08 00031080 */ sll $v0, $v1, 2
/* D192EC 80240B0C 00431021 */ addu $v0, $v0, $v1
/* D192F0 80240B10 00021080 */ sll $v0, $v0, 2
/* D192F4 80240B14 00431023 */ subu $v0, $v0, $v1
/* D192F8 80240B18 000218C0 */ sll $v1, $v0, 3
/* D192FC 80240B1C 00431021 */ addu $v0, $v0, $v1
/* D19300 80240B20 000210C0 */ sll $v0, $v0, 3
/* D19304 80240B24 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* D19308 80240B28 00220821 */ addu $at, $at, $v0
/* D1930C 80240B2C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* D19310 80240B30 080902DD */ j .L80240B74
/* D19314 80240B34 460C0301 */ sub.s $f12, $f0, $f12
.L80240B38:
/* D19318 80240B38 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* D1931C 80240B3C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* D19320 80240B40 3C0142B4 */ lui $at, 0x42b4
/* D19324 80240B44 44816000 */ mtc1 $at, $f12
/* D19328 80240B48 00031080 */ sll $v0, $v1, 2
/* D1932C 80240B4C 00431021 */ addu $v0, $v0, $v1
/* D19330 80240B50 00021080 */ sll $v0, $v0, 2
/* D19334 80240B54 00431023 */ subu $v0, $v0, $v1
/* D19338 80240B58 000218C0 */ sll $v1, $v0, 3
/* D1933C 80240B5C 00431021 */ addu $v0, $v0, $v1
/* D19340 80240B60 000210C0 */ sll $v0, $v0, 3
/* D19344 80240B64 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* D19348 80240B68 00220821 */ addu $at, $at, $v0
/* D1934C 80240B6C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* D19350 80240B70 460C0300 */ add.s $f12, $f0, $f12
.L80240B74:
/* D19354 80240B74 0C00A6C9 */ jal clamp_angle
/* D19358 80240B78 00000000 */ nop
/* D1935C 80240B7C 46000586 */ mov.s $f22, $f0
/* D19360 80240B80 3C014334 */ lui $at, 0x4334
/* D19364 80240B84 44816000 */ mtc1 $at, $f12
/* D19368 80240B88 0C00A6C9 */ jal clamp_angle
/* D1936C 80240B8C 460CB300 */ add.s $f12, $f22, $f12
/* D19370 80240B90 8EC20088 */ lw $v0, 0x88($s6)
/* D19374 80240B94 14400010 */ bnez $v0, .L80240BD8
/* D19378 80240B98 46000606 */ mov.s $f24, $f0
/* D1937C 80240B9C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D19380 80240BA0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D19384 80240BA4 804300B4 */ lb $v1, 0xb4($v0)
/* D19388 80240BA8 3C014200 */ lui $at, 0x4200
/* D1938C 80240BAC 4481A000 */ mtc1 $at, $f20
/* D19390 80240BB0 10600016 */ beqz $v1, .L80240C0C
/* D19394 80240BB4 24020001 */ addiu $v0, $zero, 1
/* D19398 80240BB8 3C0142C8 */ lui $at, 0x42c8
/* D1939C 80240BBC 4481A000 */ mtc1 $at, $f20
/* D193A0 80240BC0 14620013 */ bne $v1, $v0, .L80240C10
/* D193A4 80240BC4 26300038 */ addiu $s0, $s1, 0x38
/* D193A8 80240BC8 3C0142B4 */ lui $at, 0x42b4
/* D193AC 80240BCC 4481A000 */ mtc1 $at, $f20
/* D193B0 80240BD0 08090305 */ j .L80240C14
/* D193B4 80240BD4 0200202D */ daddu $a0, $s0, $zero
.L80240BD8:
/* D193B8 80240BD8 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D193BC 80240BDC 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D193C0 80240BE0 804300B4 */ lb $v1, 0xb4($v0)
/* D193C4 80240BE4 3C014218 */ lui $at, 0x4218
/* D193C8 80240BE8 4481A000 */ mtc1 $at, $f20
/* D193CC 80240BEC 10600007 */ beqz $v1, .L80240C0C
/* D193D0 80240BF0 24020001 */ addiu $v0, $zero, 1
/* D193D4 80240BF4 3C0142B4 */ lui $at, 0x42b4
/* D193D8 80240BF8 4481A000 */ mtc1 $at, $f20
/* D193DC 80240BFC 14620004 */ bne $v1, $v0, .L80240C10
/* D193E0 80240C00 26300038 */ addiu $s0, $s1, 0x38
/* D193E4 80240C04 3C014296 */ lui $at, 0x4296
/* D193E8 80240C08 4481A000 */ mtc1 $at, $f20
.L80240C0C:
/* D193EC 80240C0C 26300038 */ addiu $s0, $s1, 0x38
.L80240C10:
/* D193F0 80240C10 0200202D */ daddu $a0, $s0, $zero
.L80240C14:
/* D193F4 80240C14 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* D193F8 80240C18 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* D193FC 80240C1C 4407C000 */ mfc1 $a3, $f24
/* D19400 80240C20 862200A6 */ lh $v0, 0xa6($s1)
/* D19404 80240C24 8EA30000 */ lw $v1, ($s5)
/* D19408 80240C28 44824000 */ mtc1 $v0, $f8
/* D1940C 80240C2C 00000000 */ nop
/* D19410 80240C30 46804220 */ cvt.s.w $f8, $f8
/* D19414 80240C34 C4600028 */ lwc1 $f0, 0x28($v1)
/* D19418 80240C38 44064000 */ mfc1 $a2, $f8
/* D1941C 80240C3C 26330040 */ addiu $s3, $s1, 0x40
/* D19420 80240C40 E6200038 */ swc1 $f0, 0x38($s1)
/* D19424 80240C44 C4600030 */ lwc1 $f0, 0x30($v1)
/* D19428 80240C48 0260282D */ daddu $a1, $s3, $zero
/* D1942C 80240C4C 0C00A7E7 */ jal add_vec2D_polar
/* D19430 80240C50 E6200040 */ swc1 $f0, 0x40($s1)
/* D19434 80240C54 862200A6 */ lh $v0, 0xa6($s1)
/* D19438 80240C58 44820000 */ mtc1 $v0, $f0
/* D1943C 80240C5C 00000000 */ nop
/* D19440 80240C60 46800020 */ cvt.s.w $f0, $f0
/* D19444 80240C64 4600A000 */ add.s $f0, $f20, $f0
/* D19448 80240C68 4406B000 */ mfc1 $a2, $f22
/* D1944C 80240C6C 44050000 */ mfc1 $a1, $f0
/* D19450 80240C70 0C00EA95 */ jal npc_move_heading
/* D19454 80240C74 0220202D */ daddu $a0, $s1, $zero
/* D19458 80240C78 8EC20088 */ lw $v0, 0x88($s6)
/* D1945C 80240C7C 1440005D */ bnez $v0, .L80240DF4
/* D19460 80240C80 00000000 */ nop
/* D19464 80240C84 C6200038 */ lwc1 $f0, 0x38($s1)
/* D19468 80240C88 3C018024 */ lui $at, %hi(D_80247678_D1FE58)
/* D1946C 80240C8C D4247678 */ ldc1 $f4, %lo(D_80247678_D1FE58)($at)
/* D19470 80240C90 46000021 */ cvt.d.s $f0, $f0
/* D19474 80240C94 4620203C */ c.lt.d $f4, $f0
/* D19478 80240C98 00000000 */ nop
/* D1947C 80240C9C 45000005 */ bc1f .L80240CB4
/* D19480 80240CA0 00000000 */ nop
/* D19484 80240CA4 3C0143BE */ lui $at, 0x43be
/* D19488 80240CA8 44810000 */ mtc1 $at, $f0
/* D1948C 80240CAC 00000000 */ nop
/* D19490 80240CB0 E6200038 */ swc1 $f0, 0x38($s1)
.L80240CB4:
/* D19494 80240CB4 C6200038 */ lwc1 $f0, 0x38($s1)
/* D19498 80240CB8 3C018024 */ lui $at, %hi(D_80247680_D1FE60)
/* D1949C 80240CBC D4227680 */ ldc1 $f2, %lo(D_80247680_D1FE60)($at)
/* D194A0 80240CC0 46000021 */ cvt.d.s $f0, $f0
/* D194A4 80240CC4 4622003C */ c.lt.d $f0, $f2
/* D194A8 80240CC8 00000000 */ nop
/* D194AC 80240CCC 45000005 */ bc1f .L80240CE4
/* D194B0 80240CD0 00000000 */ nop
/* D194B4 80240CD4 3C01C3BE */ lui $at, 0xc3be
/* D194B8 80240CD8 44810000 */ mtc1 $at, $f0
/* D194BC 80240CDC 00000000 */ nop
/* D194C0 80240CE0 E6200038 */ swc1 $f0, 0x38($s1)
.L80240CE4:
/* D194C4 80240CE4 C6200040 */ lwc1 $f0, 0x40($s1)
/* D194C8 80240CE8 46000021 */ cvt.d.s $f0, $f0
/* D194CC 80240CEC 4620203C */ c.lt.d $f4, $f0
/* D194D0 80240CF0 00000000 */ nop
/* D194D4 80240CF4 45000005 */ bc1f .L80240D0C
/* D194D8 80240CF8 00000000 */ nop
/* D194DC 80240CFC 3C0143BE */ lui $at, 0x43be
/* D194E0 80240D00 44810000 */ mtc1 $at, $f0
/* D194E4 80240D04 00000000 */ nop
/* D194E8 80240D08 E6200040 */ swc1 $f0, 0x40($s1)
.L80240D0C:
/* D194EC 80240D0C C6200040 */ lwc1 $f0, 0x40($s1)
/* D194F0 80240D10 46000021 */ cvt.d.s $f0, $f0
/* D194F4 80240D14 4622003C */ c.lt.d $f0, $f2
/* D194F8 80240D18 00000000 */ nop
/* D194FC 80240D1C 45000005 */ bc1f .L80240D34
/* D19500 80240D20 00000000 */ nop
/* D19504 80240D24 3C01C3BE */ lui $at, 0xc3be
/* D19508 80240D28 44810000 */ mtc1 $at, $f0
/* D1950C 80240D2C 00000000 */ nop
/* D19510 80240D30 E6200040 */ swc1 $f0, 0x40($s1)
.L80240D34:
/* D19514 80240D34 C6220038 */ lwc1 $f2, 0x38($s1)
/* D19518 80240D38 46021082 */ mul.s $f2, $f2, $f2
/* D1951C 80240D3C 00000000 */ nop
/* D19520 80240D40 C6200040 */ lwc1 $f0, 0x40($s1)
/* D19524 80240D44 46000002 */ mul.s $f0, $f0, $f0
/* D19528 80240D48 00000000 */ nop
/* D1952C 80240D4C 46001300 */ add.s $f12, $f2, $f0
/* D19530 80240D50 46006004 */ sqrt.s $f0, $f12
/* D19534 80240D54 46000032 */ c.eq.s $f0, $f0
/* D19538 80240D58 00000000 */ nop
/* D1953C 80240D5C 45010003 */ bc1t .L80240D6C
/* D19540 80240D60 00000000 */ nop
/* D19544 80240D64 0C0187BC */ jal sqrtf
/* D19548 80240D68 00000000 */ nop
.L80240D6C:
/* D1954C 80240D6C 8E260038 */ lw $a2, 0x38($s1)
/* D19550 80240D70 8E270040 */ lw $a3, 0x40($s1)
/* D19554 80240D74 4480A000 */ mtc1 $zero, $f20
/* D19558 80240D78 E7A00038 */ swc1 $f0, 0x38($sp)
/* D1955C 80240D7C 4600A306 */ mov.s $f12, $f20
/* D19560 80240D80 0C00A720 */ jal atan2
/* D19564 80240D84 4600A386 */ mov.s $f14, $f20
/* D19568 80240D88 46000586 */ mov.s $f22, $f0
/* D1956C 80240D8C C7A20038 */ lwc1 $f2, 0x38($sp)
/* D19570 80240D90 3C018024 */ lui $at, %hi(D_80247688_D1FE68)
/* D19574 80240D94 D4207688 */ ldc1 $f0, %lo(D_80247688_D1FE68)($at)
/* D19578 80240D98 460010A1 */ cvt.d.s $f2, $f2
/* D1957C 80240D9C 4620103C */ c.lt.d $f2, $f0
/* D19580 80240DA0 00000000 */ nop
/* D19584 80240DA4 45000004 */ bc1f .L80240DB8
/* D19588 80240DA8 0200202D */ daddu $a0, $s0, $zero
/* D1958C 80240DAC 3C064398 */ lui $a2, 0x4398
/* D19590 80240DB0 08090376 */ j .L80240DD8
/* D19594 80240DB4 34C68000 */ ori $a2, $a2, 0x8000
.L80240DB8:
/* D19598 80240DB8 3C018024 */ lui $at, %hi(D_80247690_D1FE70)
/* D1959C 80240DBC D4207690 */ ldc1 $f0, %lo(D_80247690_D1FE70)($at)
/* D195A0 80240DC0 4622003C */ c.lt.d $f0, $f2
/* D195A4 80240DC4 00000000 */ nop
/* D195A8 80240DC8 450000FA */ bc1f .L802411B4
/* D195AC 80240DCC 00000000 */ nop
/* D195B0 80240DD0 3C0643BB */ lui $a2, 0x43bb
/* D195B4 80240DD4 34C68000 */ ori $a2, $a2, 0x8000
.L80240DD8:
/* D195B8 80240DD8 4407B000 */ mfc1 $a3, $f22
/* D195BC 80240DDC 0260282D */ daddu $a1, $s3, $zero
/* D195C0 80240DE0 E6340038 */ swc1 $f20, 0x38($s1)
/* D195C4 80240DE4 0C00A7E7 */ jal add_vec2D_polar
/* D195C8 80240DE8 E6340040 */ swc1 $f20, 0x40($s1)
/* D195CC 80240DEC 0809046D */ j .L802411B4
/* D195D0 80240DF0 00000000 */ nop
.L80240DF4:
/* D195D4 80240DF4 8E220000 */ lw $v0, ($s1)
/* D195D8 80240DF8 30420040 */ andi $v0, $v0, 0x40
/* D195DC 80240DFC 144000B0 */ bnez $v0, .L802410C0
/* D195E0 80240E00 27A50020 */ addiu $a1, $sp, 0x20
/* D195E4 80240E04 27B40020 */ addiu $s4, $sp, 0x20
/* D195E8 80240E08 0280282D */ daddu $a1, $s4, $zero
/* D195EC 80240E0C 27B30024 */ addiu $s3, $sp, 0x24
/* D195F0 80240E10 8EA20000 */ lw $v0, ($s5)
/* D195F4 80240E14 3C014032 */ lui $at, 0x4032
/* D195F8 80240E18 44811800 */ mtc1 $at, $f3
/* D195FC 80240E1C 44801000 */ mtc1 $zero, $f2
/* D19600 80240E20 C440002C */ lwc1 $f0, 0x2c($v0)
/* D19604 80240E24 C4460028 */ lwc1 $f6, 0x28($v0)
/* D19608 80240E28 C4440030 */ lwc1 $f4, 0x30($v0)
/* D1960C 80240E2C 46000021 */ cvt.d.s $f0, $f0
/* D19610 80240E30 46220000 */ add.d $f0, $f0, $f2
/* D19614 80240E34 E7A60020 */ swc1 $f6, 0x20($sp)
/* D19618 80240E38 E7A40028 */ swc1 $f4, 0x28($sp)
/* D1961C 80240E3C 46200020 */ cvt.s.d $f0, $f0
/* D19620 80240E40 E7A00024 */ swc1 $f0, 0x24($sp)
/* D19624 80240E44 E7B40010 */ swc1 $f20, 0x10($sp)
/* D19628 80240E48 E7B60014 */ swc1 $f22, 0x14($sp)
/* D1962C 80240E4C 862200A8 */ lh $v0, 0xa8($s1)
/* D19630 80240E50 0260302D */ daddu $a2, $s3, $zero
/* D19634 80240E54 44820000 */ mtc1 $v0, $f0
/* D19638 80240E58 00000000 */ nop
/* D1963C 80240E5C 46800020 */ cvt.s.w $f0, $f0
/* D19640 80240E60 E7A00018 */ swc1 $f0, 0x18($sp)
/* D19644 80240E64 862200A6 */ lh $v0, 0xa6($s1)
/* D19648 80240E68 27B00028 */ addiu $s0, $sp, 0x28
/* D1964C 80240E6C 44820000 */ mtc1 $v0, $f0
/* D19650 80240E70 00000000 */ nop
/* D19654 80240E74 46800020 */ cvt.s.w $f0, $f0
/* D19658 80240E78 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D1965C 80240E7C 8E240080 */ lw $a0, 0x80($s1)
/* D19660 80240E80 0C037711 */ jal npc_test_move_simple_with_slipping
/* D19664 80240E84 0200382D */ daddu $a3, $s0, $zero
/* D19668 80240E88 104000CA */ beqz $v0, .L802411B4
/* D1966C 80240E8C 0280282D */ daddu $a1, $s4, $zero
/* D19670 80240E90 8EA20000 */ lw $v0, ($s5)
/* D19674 80240E94 3C018024 */ lui $at, %hi(D_80247698_D1FE78)
/* D19678 80240E98 D4227698 */ ldc1 $f2, %lo(D_80247698_D1FE78)($at)
/* D1967C 80240E9C C440002C */ lwc1 $f0, 0x2c($v0)
/* D19680 80240EA0 C4460028 */ lwc1 $f6, 0x28($v0)
/* D19684 80240EA4 C4440030 */ lwc1 $f4, 0x30($v0)
/* D19688 80240EA8 46000021 */ cvt.d.s $f0, $f0
/* D1968C 80240EAC 46220000 */ add.d $f0, $f0, $f2
/* D19690 80240EB0 E7A60020 */ swc1 $f6, 0x20($sp)
/* D19694 80240EB4 E7A40028 */ swc1 $f4, 0x28($sp)
/* D19698 80240EB8 46200020 */ cvt.s.d $f0, $f0
/* D1969C 80240EBC E7A00024 */ swc1 $f0, 0x24($sp)
/* D196A0 80240EC0 E7B40010 */ swc1 $f20, 0x10($sp)
/* D196A4 80240EC4 E7B60014 */ swc1 $f22, 0x14($sp)
/* D196A8 80240EC8 862200A8 */ lh $v0, 0xa8($s1)
/* D196AC 80240ECC 44820000 */ mtc1 $v0, $f0
/* D196B0 80240ED0 00000000 */ nop
/* D196B4 80240ED4 46800020 */ cvt.s.w $f0, $f0
/* D196B8 80240ED8 E7A00018 */ swc1 $f0, 0x18($sp)
/* D196BC 80240EDC 862200A6 */ lh $v0, 0xa6($s1)
/* D196C0 80240EE0 0260302D */ daddu $a2, $s3, $zero
/* D196C4 80240EE4 44820000 */ mtc1 $v0, $f0
/* D196C8 80240EE8 00000000 */ nop
/* D196CC 80240EEC 46800020 */ cvt.s.w $f0, $f0
/* D196D0 80240EF0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D196D4 80240EF4 8E240080 */ lw $a0, 0x80($s1)
/* D196D8 80240EF8 0C037711 */ jal npc_test_move_simple_with_slipping
/* D196DC 80240EFC 0200382D */ daddu $a3, $s0, $zero
/* D196E0 80240F00 27A5002C */ addiu $a1, $sp, 0x2c
/* D196E4 80240F04 27A60030 */ addiu $a2, $sp, 0x30
/* D196E8 80240F08 27A70034 */ addiu $a3, $sp, 0x34
/* D196EC 80240F0C 27A30038 */ addiu $v1, $sp, 0x38
/* D196F0 80240F10 C6220038 */ lwc1 $f2, 0x38($s1)
/* D196F4 80240F14 C620003C */ lwc1 $f0, 0x3c($s1)
/* D196F8 80240F18 3C014348 */ lui $at, 0x4348
/* D196FC 80240F1C 44813000 */ mtc1 $at, $f6
/* D19700 80240F20 46000021 */ cvt.d.s $f0, $f0
/* D19704 80240F24 E7A2002C */ swc1 $f2, 0x2c($sp)
/* D19708 80240F28 3C014059 */ lui $at, 0x4059
/* D1970C 80240F2C 44811800 */ mtc1 $at, $f3
/* D19710 80240F30 44801000 */ mtc1 $zero, $f2
/* D19714 80240F34 C6240040 */ lwc1 $f4, 0x40($s1)
/* D19718 80240F38 46220000 */ add.d $f0, $f0, $f2
/* D1971C 80240F3C E7A60038 */ swc1 $f6, 0x38($sp)
/* D19720 80240F40 E7A40034 */ swc1 $f4, 0x34($sp)
/* D19724 80240F44 46200020 */ cvt.s.d $f0, $f0
/* D19728 80240F48 E7A00030 */ swc1 $f0, 0x30($sp)
/* D1972C 80240F4C AFA30010 */ sw $v1, 0x10($sp)
/* D19730 80240F50 8E240080 */ lw $a0, 0x80($s1)
/* D19734 80240F54 0C0372DF */ jal npc_raycast_down_sides
/* D19738 80240F58 0040802D */ daddu $s0, $v0, $zero
/* D1973C 80240F5C 1600001C */ bnez $s0, .L80240FD0
/* D19740 80240F60 00000000 */ nop
/* D19744 80240F64 1040001A */ beqz $v0, .L80240FD0
/* D19748 80240F68 00000000 */ nop
/* D1974C 80240F6C C7A20038 */ lwc1 $f2, 0x38($sp)
/* D19750 80240F70 3C014054 */ lui $at, 0x4054
/* D19754 80240F74 44810800 */ mtc1 $at, $f1
/* D19758 80240F78 44800000 */ mtc1 $zero, $f0
/* D1975C 80240F7C 460010A1 */ cvt.d.s $f2, $f2
/* D19760 80240F80 4622003C */ c.lt.d $f0, $f2
/* D19764 80240F84 00000000 */ nop
/* D19768 80240F88 45000011 */ bc1f .L80240FD0
/* D1976C 80240F8C 00000000 */ nop
/* D19770 80240F90 3C01405E */ lui $at, 0x405e
/* D19774 80240F94 44810800 */ mtc1 $at, $f1
/* D19778 80240F98 44800000 */ mtc1 $zero, $f0
/* D1977C 80240F9C 00000000 */ nop
/* D19780 80240FA0 4620103C */ c.lt.d $f2, $f0
/* D19784 80240FA4 00000000 */ nop
/* D19788 80240FA8 45000009 */ bc1f .L80240FD0
/* D1978C 80240FAC 00000000 */ nop
/* D19790 80240FB0 C622003C */ lwc1 $f2, 0x3c($s1)
/* D19794 80240FB4 C7A00030 */ lwc1 $f0, 0x30($sp)
/* D19798 80240FB8 46001032 */ c.eq.s $f2, $f0
/* D1979C 80240FBC 00000000 */ nop
/* D197A0 80240FC0 45010003 */ bc1t .L80240FD0
/* D197A4 80240FC4 00000000 */ nop
/* D197A8 80240FC8 0809046D */ j .L802411B4
/* D197AC 80240FCC 241E0001 */ addiu $fp, $zero, 1
.L80240FD0:
/* D197B0 80240FD0 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* D197B4 80240FD4 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* D197B8 80240FD8 8E020000 */ lw $v0, ($s0)
/* D197BC 80240FDC 3C014024 */ lui $at, 0x4024
/* D197C0 80240FE0 44811800 */ mtc1 $at, $f3
/* D197C4 80240FE4 44801000 */ mtc1 $zero, $f2
/* D197C8 80240FE8 C440002C */ lwc1 $f0, 0x2c($v0)
/* D197CC 80240FEC C4460028 */ lwc1 $f6, 0x28($v0)
/* D197D0 80240FF0 C4440030 */ lwc1 $f4, 0x30($v0)
/* D197D4 80240FF4 46000021 */ cvt.d.s $f0, $f0
/* D197D8 80240FF8 46220000 */ add.d $f0, $f0, $f2
/* D197DC 80240FFC E7A60020 */ swc1 $f6, 0x20($sp)
/* D197E0 80241000 E7A40028 */ swc1 $f4, 0x28($sp)
/* D197E4 80241004 46200020 */ cvt.s.d $f0, $f0
/* D197E8 80241008 E7A00024 */ swc1 $f0, 0x24($sp)
/* D197EC 8024100C E7B40010 */ swc1 $f20, 0x10($sp)
/* D197F0 80241010 E7B60014 */ swc1 $f22, 0x14($sp)
/* D197F4 80241014 862200A8 */ lh $v0, 0xa8($s1)
/* D197F8 80241018 27A50020 */ addiu $a1, $sp, 0x20
/* D197FC 8024101C 44820000 */ mtc1 $v0, $f0
/* D19800 80241020 00000000 */ nop
/* D19804 80241024 46800020 */ cvt.s.w $f0, $f0
/* D19808 80241028 E7A00018 */ swc1 $f0, 0x18($sp)
/* D1980C 8024102C 862200A6 */ lh $v0, 0xa6($s1)
/* D19810 80241030 27A60024 */ addiu $a2, $sp, 0x24
/* D19814 80241034 44820000 */ mtc1 $v0, $f0
/* D19818 80241038 00000000 */ nop
/* D1981C 8024103C 46800020 */ cvt.s.w $f0, $f0
/* D19820 80241040 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D19824 80241044 8E240080 */ lw $a0, 0x80($s1)
/* D19828 80241048 0C037711 */ jal npc_test_move_simple_with_slipping
/* D1982C 8024104C 27A70028 */ addiu $a3, $sp, 0x28
/* D19830 80241050 8FA60020 */ lw $a2, 0x20($sp)
/* D19834 80241054 8E020000 */ lw $v0, ($s0)
/* D19838 80241058 8FA70028 */ lw $a3, 0x28($sp)
/* D1983C 8024105C C44C0028 */ lwc1 $f12, 0x28($v0)
/* D19840 80241060 C44E0030 */ lwc1 $f14, 0x30($v0)
/* D19844 80241064 0C00A7B5 */ jal dist2D
/* D19848 80241068 24170001 */ addiu $s7, $zero, 1
/* D1984C 8024106C 46000506 */ mov.s $f20, $f0
/* D19850 80241070 8E030000 */ lw $v1, ($s0)
/* D19854 80241074 862200A6 */ lh $v0, 0xa6($s1)
/* D19858 80241078 4407C000 */ mfc1 $a3, $f24
/* D1985C 8024107C 44824000 */ mtc1 $v0, $f8
/* D19860 80241080 00000000 */ nop
/* D19864 80241084 46804220 */ cvt.s.w $f8, $f8
/* D19868 80241088 C4600028 */ lwc1 $f0, 0x28($v1)
/* D1986C 8024108C 44064000 */ mfc1 $a2, $f8
/* D19870 80241090 26240038 */ addiu $a0, $s1, 0x38
/* D19874 80241094 E6200038 */ swc1 $f0, 0x38($s1)
/* D19878 80241098 C4600030 */ lwc1 $f0, 0x30($v1)
/* D1987C 8024109C 26250040 */ addiu $a1, $s1, 0x40
/* D19880 802410A0 0C00A7E7 */ jal add_vec2D_polar
/* D19884 802410A4 E6200040 */ swc1 $f0, 0x40($s1)
/* D19888 802410A8 862200A6 */ lh $v0, 0xa6($s1)
/* D1988C 802410AC 44820000 */ mtc1 $v0, $f0
/* D19890 802410B0 00000000 */ nop
/* D19894 802410B4 46800020 */ cvt.s.w $f0, $f0
/* D19898 802410B8 08090469 */ j .L802411A4
/* D1989C 802410BC 4600A500 */ add.s $f20, $f20, $f0
.L802410C0:
/* D198A0 802410C0 8EA20000 */ lw $v0, ($s5)
/* D198A4 802410C4 3C014032 */ lui $at, 0x4032
/* D198A8 802410C8 44811800 */ mtc1 $at, $f3
/* D198AC 802410CC 44801000 */ mtc1 $zero, $f2
/* D198B0 802410D0 C440002C */ lwc1 $f0, 0x2c($v0)
/* D198B4 802410D4 C4460028 */ lwc1 $f6, 0x28($v0)
/* D198B8 802410D8 C4440030 */ lwc1 $f4, 0x30($v0)
/* D198BC 802410DC 46000021 */ cvt.d.s $f0, $f0
/* D198C0 802410E0 46220000 */ add.d $f0, $f0, $f2
/* D198C4 802410E4 E7A60020 */ swc1 $f6, 0x20($sp)
/* D198C8 802410E8 E7A40028 */ swc1 $f4, 0x28($sp)
/* D198CC 802410EC 46200020 */ cvt.s.d $f0, $f0
/* D198D0 802410F0 E7A00024 */ swc1 $f0, 0x24($sp)
/* D198D4 802410F4 E7B40010 */ swc1 $f20, 0x10($sp)
/* D198D8 802410F8 E7B60014 */ swc1 $f22, 0x14($sp)
/* D198DC 802410FC 862200A8 */ lh $v0, 0xa8($s1)
/* D198E0 80241100 44820000 */ mtc1 $v0, $f0
/* D198E4 80241104 00000000 */ nop
/* D198E8 80241108 46800020 */ cvt.s.w $f0, $f0
/* D198EC 8024110C E7A00018 */ swc1 $f0, 0x18($sp)
/* D198F0 80241110 862200A6 */ lh $v0, 0xa6($s1)
/* D198F4 80241114 27A60024 */ addiu $a2, $sp, 0x24
/* D198F8 80241118 44820000 */ mtc1 $v0, $f0
/* D198FC 8024111C 00000000 */ nop
/* D19900 80241120 46800020 */ cvt.s.w $f0, $f0
/* D19904 80241124 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D19908 80241128 8E240080 */ lw $a0, 0x80($s1)
/* D1990C 8024112C 0C037711 */ jal npc_test_move_simple_with_slipping
/* D19910 80241130 27A70028 */ addiu $a3, $sp, 0x28
/* D19914 80241134 1040001F */ beqz $v0, .L802411B4
/* D19918 80241138 00000000 */ nop
/* D1991C 8024113C 8FA60020 */ lw $a2, 0x20($sp)
/* D19920 80241140 8EA20000 */ lw $v0, ($s5)
/* D19924 80241144 8FA70028 */ lw $a3, 0x28($sp)
/* D19928 80241148 C44C0028 */ lwc1 $f12, 0x28($v0)
/* D1992C 8024114C 0C00A7B5 */ jal dist2D
/* D19930 80241150 C44E0030 */ lwc1 $f14, 0x30($v0)
/* D19934 80241154 46000506 */ mov.s $f20, $f0
/* D19938 80241158 8EA30000 */ lw $v1, ($s5)
/* D1993C 8024115C 862200A6 */ lh $v0, 0xa6($s1)
/* D19940 80241160 4407C000 */ mfc1 $a3, $f24
/* D19944 80241164 44824000 */ mtc1 $v0, $f8
/* D19948 80241168 00000000 */ nop
/* D1994C 8024116C 46804220 */ cvt.s.w $f8, $f8
/* D19950 80241170 C4600028 */ lwc1 $f0, 0x28($v1)
/* D19954 80241174 44064000 */ mfc1 $a2, $f8
/* D19958 80241178 0200202D */ daddu $a0, $s0, $zero
/* D1995C 8024117C E6200038 */ swc1 $f0, 0x38($s1)
/* D19960 80241180 C4600030 */ lwc1 $f0, 0x30($v1)
/* D19964 80241184 0260282D */ daddu $a1, $s3, $zero
/* D19968 80241188 0C00A7E7 */ jal add_vec2D_polar
/* D1996C 8024118C E6200040 */ swc1 $f0, 0x40($s1)
/* D19970 80241190 862200A6 */ lh $v0, 0xa6($s1)
/* D19974 80241194 44820000 */ mtc1 $v0, $f0
/* D19978 80241198 00000000 */ nop
/* D1997C 8024119C 46800020 */ cvt.s.w $f0, $f0
/* D19980 802411A0 4600A500 */ add.s $f20, $f20, $f0
.L802411A4:
/* D19984 802411A4 4406B000 */ mfc1 $a2, $f22
/* D19988 802411A8 4405A000 */ mfc1 $a1, $f20
/* D1998C 802411AC 0C00EA95 */ jal npc_move_heading
/* D19990 802411B0 0220202D */ daddu $a0, $s1, $zero
.L802411B4:
/* D19994 802411B4 C6400008 */ lwc1 $f0, 8($s2)
/* D19998 802411B8 46800020 */ cvt.s.w $f0, $f0
/* D1999C 802411BC 44050000 */ mfc1 $a1, $f0
/* D199A0 802411C0 C640000C */ lwc1 $f0, 0xc($s2)
/* D199A4 802411C4 46800020 */ cvt.s.w $f0, $f0
/* D199A8 802411C8 44060000 */ mfc1 $a2, $f0
/* D199AC 802411CC C6200040 */ lwc1 $f0, 0x40($s1)
/* D199B0 802411D0 26300038 */ addiu $s0, $s1, 0x38
/* D199B4 802411D4 E7A00010 */ swc1 $f0, 0x10($sp)
/* D199B8 802411D8 C6400010 */ lwc1 $f0, 0x10($s2)
/* D199BC 802411DC 46800020 */ cvt.s.w $f0, $f0
/* D199C0 802411E0 E7A00014 */ swc1 $f0, 0x14($sp)
/* D199C4 802411E4 C6400014 */ lwc1 $f0, 0x14($s2)
/* D199C8 802411E8 46800020 */ cvt.s.w $f0, $f0
/* D199CC 802411EC E7A00018 */ swc1 $f0, 0x18($sp)
/* D199D0 802411F0 8E440004 */ lw $a0, 4($s2)
/* D199D4 802411F4 8E270038 */ lw $a3, 0x38($s1)
/* D199D8 802411F8 0C0123F5 */ jal is_point_within_region
/* D199DC 802411FC 26330040 */ addiu $s3, $s1, 0x40
/* D199E0 80241200 1040005A */ beqz $v0, .L8024136C
/* D199E4 80241204 00000000 */ nop
/* D199E8 80241208 8E430004 */ lw $v1, 4($s2)
/* D199EC 8024120C 10600005 */ beqz $v1, .L80241224
/* D199F0 80241210 24020001 */ addiu $v0, $zero, 1
/* D199F4 80241214 10620029 */ beq $v1, $v0, .L802412BC
/* D199F8 80241218 00000000 */ nop
/* D199FC 8024121C 080904DB */ j .L8024136C
/* D19A00 80241220 00000000 */ nop
.L80241224:
/* D19A04 80241224 C6480008 */ lwc1 $f8, 8($s2)
/* D19A08 80241228 46804220 */ cvt.s.w $f8, $f8
/* D19A0C 8024122C 44064000 */ mfc1 $a2, $f8
/* D19A10 80241230 C648000C */ lwc1 $f8, 0xc($s2)
/* D19A14 80241234 46804220 */ cvt.s.w $f8, $f8
/* D19A18 80241238 C62C0038 */ lwc1 $f12, 0x38($s1)
/* D19A1C 8024123C C62E0040 */ lwc1 $f14, 0x40($s1)
/* D19A20 80241240 44074000 */ mfc1 $a3, $f8
/* D19A24 80241244 0C00A7B5 */ jal dist2D
/* D19A28 80241248 00000000 */ nop
/* D19A2C 8024124C C6420010 */ lwc1 $f2, 0x10($s2)
/* D19A30 80241250 468010A0 */ cvt.s.w $f2, $f2
/* D19A34 80241254 4600103C */ c.lt.s $f2, $f0
/* D19A38 80241258 00000000 */ nop
/* D19A3C 8024125C 45000043 */ bc1f .L8024136C
/* D19A40 80241260 E7A00038 */ swc1 $f0, 0x38($sp)
/* D19A44 80241264 C64C0008 */ lwc1 $f12, 8($s2)
/* D19A48 80241268 46806320 */ cvt.s.w $f12, $f12
/* D19A4C 8024126C 8E260038 */ lw $a2, 0x38($s1)
/* D19A50 80241270 8E270040 */ lw $a3, 0x40($s1)
/* D19A54 80241274 C64E000C */ lwc1 $f14, 0xc($s2)
/* D19A58 80241278 0C00A720 */ jal atan2
/* D19A5C 8024127C 468073A0 */ cvt.s.w $f14, $f14
/* D19A60 80241280 0200202D */ daddu $a0, $s0, $zero
/* D19A64 80241284 44070000 */ mfc1 $a3, $f0
/* D19A68 80241288 C6400008 */ lwc1 $f0, 8($s2)
/* D19A6C 8024128C 46800020 */ cvt.s.w $f0, $f0
/* D19A70 80241290 E6200038 */ swc1 $f0, 0x38($s1)
/* D19A74 80241294 C640000C */ lwc1 $f0, 0xc($s2)
/* D19A78 80241298 46800020 */ cvt.s.w $f0, $f0
/* D19A7C 8024129C E6200040 */ swc1 $f0, 0x40($s1)
/* D19A80 802412A0 C6480010 */ lwc1 $f8, 0x10($s2)
/* D19A84 802412A4 46804220 */ cvt.s.w $f8, $f8
/* D19A88 802412A8 44064000 */ mfc1 $a2, $f8
/* D19A8C 802412AC 0C00A7E7 */ jal add_vec2D_polar
/* D19A90 802412B0 0260282D */ daddu $a1, $s3, $zero
/* D19A94 802412B4 080904DB */ j .L8024136C
/* D19A98 802412B8 00000000 */ nop
.L802412BC:
/* D19A9C 802412BC 8E420008 */ lw $v0, 8($s2)
/* D19AA0 802412C0 8E430010 */ lw $v1, 0x10($s2)
/* D19AA4 802412C4 C6200038 */ lwc1 $f0, 0x38($s1)
/* D19AA8 802412C8 00431021 */ addu $v0, $v0, $v1
/* D19AAC 802412CC 44821000 */ mtc1 $v0, $f2
/* D19AB0 802412D0 00000000 */ nop
/* D19AB4 802412D4 468010A0 */ cvt.s.w $f2, $f2
/* D19AB8 802412D8 4600103C */ c.lt.s $f2, $f0
/* D19ABC 802412DC 00000000 */ nop
/* D19AC0 802412E0 45030001 */ bc1tl .L802412E8
/* D19AC4 802412E4 E6220038 */ swc1 $f2, 0x38($s1)
.L802412E8:
/* D19AC8 802412E8 8E420008 */ lw $v0, 8($s2)
/* D19ACC 802412EC 8E430010 */ lw $v1, 0x10($s2)
/* D19AD0 802412F0 C6200038 */ lwc1 $f0, 0x38($s1)
/* D19AD4 802412F4 00431023 */ subu $v0, $v0, $v1
/* D19AD8 802412F8 44821000 */ mtc1 $v0, $f2
/* D19ADC 802412FC 00000000 */ nop
/* D19AE0 80241300 468010A0 */ cvt.s.w $f2, $f2
/* D19AE4 80241304 4602003C */ c.lt.s $f0, $f2
/* D19AE8 80241308 00000000 */ nop
/* D19AEC 8024130C 45030001 */ bc1tl .L80241314
/* D19AF0 80241310 E6220038 */ swc1 $f2, 0x38($s1)
.L80241314:
/* D19AF4 80241314 8E42000C */ lw $v0, 0xc($s2)
/* D19AF8 80241318 8E430014 */ lw $v1, 0x14($s2)
/* D19AFC 8024131C C6200040 */ lwc1 $f0, 0x40($s1)
/* D19B00 80241320 00431021 */ addu $v0, $v0, $v1
/* D19B04 80241324 44821000 */ mtc1 $v0, $f2
/* D19B08 80241328 00000000 */ nop
/* D19B0C 8024132C 468010A0 */ cvt.s.w $f2, $f2
/* D19B10 80241330 4600103C */ c.lt.s $f2, $f0
/* D19B14 80241334 00000000 */ nop
/* D19B18 80241338 45030001 */ bc1tl .L80241340
/* D19B1C 8024133C E6220040 */ swc1 $f2, 0x40($s1)
.L80241340:
/* D19B20 80241340 8E42000C */ lw $v0, 0xc($s2)
/* D19B24 80241344 8E430014 */ lw $v1, 0x14($s2)
/* D19B28 80241348 C6200040 */ lwc1 $f0, 0x40($s1)
/* D19B2C 8024134C 00431023 */ subu $v0, $v0, $v1
/* D19B30 80241350 44821000 */ mtc1 $v0, $f2
/* D19B34 80241354 00000000 */ nop
/* D19B38 80241358 468010A0 */ cvt.s.w $f2, $f2
/* D19B3C 8024135C 4602003C */ c.lt.s $f0, $f2
/* D19B40 80241360 00000000 */ nop
/* D19B44 80241364 45030001 */ bc1tl .L8024136C
/* D19B48 80241368 E6220040 */ swc1 $f2, 0x40($s1)
.L8024136C:
/* D19B4C 8024136C 16E0001F */ bnez $s7, .L802413EC
/* D19B50 80241370 00000000 */ nop
/* D19B54 80241374 8E220000 */ lw $v0, ($s1)
/* D19B58 80241378 30420008 */ andi $v0, $v0, 8
/* D19B5C 8024137C 10400003 */ beqz $v0, .L8024138C
/* D19B60 80241380 27A50020 */ addiu $a1, $sp, 0x20
/* D19B64 80241384 13C00019 */ beqz $fp, .L802413EC
/* D19B68 80241388 00000000 */ nop
.L8024138C:
/* D19B6C 8024138C 27A60024 */ addiu $a2, $sp, 0x24
/* D19B70 80241390 27A20038 */ addiu $v0, $sp, 0x38
/* D19B74 80241394 C6220038 */ lwc1 $f2, 0x38($s1)
/* D19B78 80241398 C620003C */ lwc1 $f0, 0x3c($s1)
/* D19B7C 8024139C 3C0143C8 */ lui $at, 0x43c8
/* D19B80 802413A0 44813000 */ mtc1 $at, $f6
/* D19B84 802413A4 46000021 */ cvt.d.s $f0, $f0
/* D19B88 802413A8 E7A20020 */ swc1 $f2, 0x20($sp)
/* D19B8C 802413AC 3C018024 */ lui $at, %hi(D_802476A0_D1FE80)
/* D19B90 802413B0 D42276A0 */ ldc1 $f2, %lo(D_802476A0_D1FE80)($at)
/* D19B94 802413B4 C6240040 */ lwc1 $f4, 0x40($s1)
/* D19B98 802413B8 46220000 */ add.d $f0, $f0, $f2
/* D19B9C 802413BC E7A60038 */ swc1 $f6, 0x38($sp)
/* D19BA0 802413C0 E7A40028 */ swc1 $f4, 0x28($sp)
/* D19BA4 802413C4 46200020 */ cvt.s.d $f0, $f0
/* D19BA8 802413C8 E7A00024 */ swc1 $f0, 0x24($sp)
/* D19BAC 802413CC AFA20010 */ sw $v0, 0x10($sp)
/* D19BB0 802413D0 8E240080 */ lw $a0, 0x80($s1)
/* D19BB4 802413D4 0C0372DF */ jal npc_raycast_down_sides
/* D19BB8 802413D8 27A70028 */ addiu $a3, $sp, 0x28
/* D19BBC 802413DC 10400003 */ beqz $v0, .L802413EC
/* D19BC0 802413E0 00000000 */ nop
/* D19BC4 802413E4 C7A00024 */ lwc1 $f0, 0x24($sp)
/* D19BC8 802413E8 E620003C */ swc1 $f0, 0x3c($s1)
.L802413EC:
/* D19BCC 802413EC C62C0038 */ lwc1 $f12, 0x38($s1)
/* D19BD0 802413F0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D19BD4 802413F4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D19BD8 802413F8 C62E0040 */ lwc1 $f14, 0x40($s1)
/* D19BDC 802413FC 8C460028 */ lw $a2, 0x28($v0)
/* D19BE0 80241400 0C00A720 */ jal atan2
/* D19BE4 80241404 8C470030 */ lw $a3, 0x30($v0)
/* D19BE8 80241408 0220202D */ daddu $a0, $s1, $zero
/* D19BEC 8024140C 24050321 */ addiu $a1, $zero, 0x321
/* D19BF0 80241410 0000302D */ daddu $a2, $zero, $zero
/* D19BF4 80241414 0C012530 */ jal ai_enemy_play_sound
/* D19BF8 80241418 E620000C */ swc1 $f0, 0xc($s1)
/* D19BFC 8024141C 8EC200CC */ lw $v0, 0xcc($s6)
/* D19C00 80241420 8C420024 */ lw $v0, 0x24($v0)
/* D19C04 80241424 AE220028 */ sw $v0, 0x28($s1)
/* D19C08 80241428 96C20096 */ lhu $v0, 0x96($s6)
/* D19C0C 8024142C A622008E */ sh $v0, 0x8e($s1)
/* D19C10 80241430 8FA80080 */ lw $t0, 0x80($sp)
/* D19C14 80241434 2402000B */ addiu $v0, $zero, 0xb
/* D19C18 80241438 AD020070 */ sw $v0, 0x70($t0)
.L8024143C:
/* D19C1C 8024143C 8FBF0064 */ lw $ra, 0x64($sp)
/* D19C20 80241440 8FBE0060 */ lw $fp, 0x60($sp)
/* D19C24 80241444 8FB7005C */ lw $s7, 0x5c($sp)
/* D19C28 80241448 8FB60058 */ lw $s6, 0x58($sp)
/* D19C2C 8024144C 8FB50054 */ lw $s5, 0x54($sp)
/* D19C30 80241450 8FB40050 */ lw $s4, 0x50($sp)
/* D19C34 80241454 8FB3004C */ lw $s3, 0x4c($sp)
/* D19C38 80241458 8FB20048 */ lw $s2, 0x48($sp)
/* D19C3C 8024145C 8FB10044 */ lw $s1, 0x44($sp)
/* D19C40 80241460 8FB00040 */ lw $s0, 0x40($sp)
/* D19C44 80241464 D7B80078 */ ldc1 $f24, 0x78($sp)
/* D19C48 80241468 D7B60070 */ ldc1 $f22, 0x70($sp)
/* D19C4C 8024146C D7B40068 */ ldc1 $f20, 0x68($sp)
/* D19C50 80241470 03E00008 */ jr $ra
/* D19C54 80241474 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -110,7 +110,7 @@ glabel func_80241754_D19F34
/* D1A0C0 802418E0 00000000 */ nop
.L802418E4:
/* D1A0C4 802418E4 0260282D */ daddu $a1, $s3, $zero
/* D1A0C8 802418E8 0C09028E */ jal func_80240A38_D19218
/* D1A0C8 802418E8 0C09028E */ jal sam_05_UnkNpcAIFunc46
/* D1A0CC 802418EC 0280302D */ daddu $a2, $s4, $zero
/* D1A0D0 802418F0 8E420070 */ lw $v0, 0x70($s2)
/* D1A0D4 802418F4 14500021 */ bne $v0, $s0, .L8024197C

View File

@ -1,710 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_80243F18_D2FC48
.double 380.0
dlabel D_80243F20_D2FC50
.double -380.0
dlabel D_80243F28_D2FC58
.double 305.0
dlabel D_80243F30_D2FC60
.double 375.0
dlabel D_80243F38_D2FC68
.double 45.0
dlabel D_80243F40_D2FC70
.double 150.0, 0.0
.section .text
glabel func_80241088_D2CDB8
/* D2CDB8 80241088 27BDFF80 */ addiu $sp, $sp, -0x80
/* D2CDBC 8024108C AFBF0064 */ sw $ra, 0x64($sp)
/* D2CDC0 80241090 AFBE0060 */ sw $fp, 0x60($sp)
/* D2CDC4 80241094 AFB7005C */ sw $s7, 0x5c($sp)
/* D2CDC8 80241098 AFB60058 */ sw $s6, 0x58($sp)
/* D2CDCC 8024109C AFB50054 */ sw $s5, 0x54($sp)
/* D2CDD0 802410A0 AFB40050 */ sw $s4, 0x50($sp)
/* D2CDD4 802410A4 AFB3004C */ sw $s3, 0x4c($sp)
/* D2CDD8 802410A8 AFB20048 */ sw $s2, 0x48($sp)
/* D2CDDC 802410AC AFB10044 */ sw $s1, 0x44($sp)
/* D2CDE0 802410B0 AFB00040 */ sw $s0, 0x40($sp)
/* D2CDE4 802410B4 F7B80078 */ sdc1 $f24, 0x78($sp)
/* D2CDE8 802410B8 F7B60070 */ sdc1 $f22, 0x70($sp)
/* D2CDEC 802410BC F7B40068 */ sdc1 $f20, 0x68($sp)
/* D2CDF0 802410C0 AFA40080 */ sw $a0, 0x80($sp)
/* D2CDF4 802410C4 8C960148 */ lw $s6, 0x148($a0)
/* D2CDF8 802410C8 00C0902D */ daddu $s2, $a2, $zero
/* D2CDFC 802410CC 86C40008 */ lh $a0, 8($s6)
/* D2CE00 802410D0 0C00EABB */ jal get_npc_unsafe
/* D2CE04 802410D4 0000B82D */ daddu $s7, $zero, $zero
/* D2CE08 802410D8 0040882D */ daddu $s1, $v0, $zero
/* D2CE0C 802410DC 9622008E */ lhu $v0, 0x8e($s1)
/* D2CE10 802410E0 2442FFFF */ addiu $v0, $v0, -1
/* D2CE14 802410E4 A622008E */ sh $v0, 0x8e($s1)
/* D2CE18 802410E8 00021400 */ sll $v0, $v0, 0x10
/* D2CE1C 802410EC 8EC30090 */ lw $v1, 0x90($s6)
/* D2CE20 802410F0 00021403 */ sra $v0, $v0, 0x10
/* D2CE24 802410F4 0062182A */ slt $v1, $v1, $v0
/* D2CE28 802410F8 14600005 */ bnez $v1, .L80241110
/* D2CE2C 802410FC 02E0F02D */ daddu $fp, $s7, $zero
/* D2CE30 80241100 8EC20000 */ lw $v0, ($s6)
/* D2CE34 80241104 3C031F10 */ lui $v1, 0x1f10
/* D2CE38 80241108 00431025 */ or $v0, $v0, $v1
/* D2CE3C 8024110C AEC20000 */ sw $v0, ($s6)
.L80241110:
/* D2CE40 80241110 8622008E */ lh $v0, 0x8e($s1)
/* D2CE44 80241114 1440025D */ bnez $v0, .L80241A8C
/* D2CE48 80241118 00000000 */ nop
/* D2CE4C 8024111C 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D2CE50 80241120 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D2CE54 80241124 0C00A6C9 */ jal clamp_angle
/* D2CE58 80241128 C44C00A8 */ lwc1 $f12, 0xa8($v0)
/* D2CE5C 8024112C 3C014334 */ lui $at, 0x4334
/* D2CE60 80241130 44811000 */ mtc1 $at, $f2
/* D2CE64 80241134 00000000 */ nop
/* D2CE68 80241138 4602003C */ c.lt.s $f0, $f2
/* D2CE6C 8024113C 00000000 */ nop
/* D2CE70 80241140 45000011 */ bc1f .L80241188
/* D2CE74 80241144 00000000 */ nop
/* D2CE78 80241148 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* D2CE7C 8024114C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* D2CE80 80241150 3C0142B4 */ lui $at, 0x42b4
/* D2CE84 80241154 44816000 */ mtc1 $at, $f12
/* D2CE88 80241158 00031080 */ sll $v0, $v1, 2
/* D2CE8C 8024115C 00431021 */ addu $v0, $v0, $v1
/* D2CE90 80241160 00021080 */ sll $v0, $v0, 2
/* D2CE94 80241164 00431023 */ subu $v0, $v0, $v1
/* D2CE98 80241168 000218C0 */ sll $v1, $v0, 3
/* D2CE9C 8024116C 00431021 */ addu $v0, $v0, $v1
/* D2CEA0 80241170 000210C0 */ sll $v0, $v0, 3
/* D2CEA4 80241174 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* D2CEA8 80241178 00220821 */ addu $at, $at, $v0
/* D2CEAC 8024117C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* D2CEB0 80241180 08090471 */ j .L802411C4
/* D2CEB4 80241184 460C0301 */ sub.s $f12, $f0, $f12
.L80241188:
/* D2CEB8 80241188 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* D2CEBC 8024118C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* D2CEC0 80241190 3C0142B4 */ lui $at, 0x42b4
/* D2CEC4 80241194 44816000 */ mtc1 $at, $f12
/* D2CEC8 80241198 00031080 */ sll $v0, $v1, 2
/* D2CECC 8024119C 00431021 */ addu $v0, $v0, $v1
/* D2CED0 802411A0 00021080 */ sll $v0, $v0, 2
/* D2CED4 802411A4 00431023 */ subu $v0, $v0, $v1
/* D2CED8 802411A8 000218C0 */ sll $v1, $v0, 3
/* D2CEDC 802411AC 00431021 */ addu $v0, $v0, $v1
/* D2CEE0 802411B0 000210C0 */ sll $v0, $v0, 3
/* D2CEE4 802411B4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* D2CEE8 802411B8 00220821 */ addu $at, $at, $v0
/* D2CEEC 802411BC C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* D2CEF0 802411C0 460C0300 */ add.s $f12, $f0, $f12
.L802411C4:
/* D2CEF4 802411C4 0C00A6C9 */ jal clamp_angle
/* D2CEF8 802411C8 00000000 */ nop
/* D2CEFC 802411CC 46000586 */ mov.s $f22, $f0
/* D2CF00 802411D0 3C014334 */ lui $at, 0x4334
/* D2CF04 802411D4 44816000 */ mtc1 $at, $f12
/* D2CF08 802411D8 0C00A6C9 */ jal clamp_angle
/* D2CF0C 802411DC 460CB300 */ add.s $f12, $f22, $f12
/* D2CF10 802411E0 8EC20088 */ lw $v0, 0x88($s6)
/* D2CF14 802411E4 14400010 */ bnez $v0, .L80241228
/* D2CF18 802411E8 46000606 */ mov.s $f24, $f0
/* D2CF1C 802411EC 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D2CF20 802411F0 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D2CF24 802411F4 804300B4 */ lb $v1, 0xb4($v0)
/* D2CF28 802411F8 3C014200 */ lui $at, 0x4200
/* D2CF2C 802411FC 4481A000 */ mtc1 $at, $f20
/* D2CF30 80241200 10600016 */ beqz $v1, .L8024125C
/* D2CF34 80241204 24020001 */ addiu $v0, $zero, 1
/* D2CF38 80241208 3C0142C8 */ lui $at, 0x42c8
/* D2CF3C 8024120C 4481A000 */ mtc1 $at, $f20
/* D2CF40 80241210 14620013 */ bne $v1, $v0, .L80241260
/* D2CF44 80241214 26300038 */ addiu $s0, $s1, 0x38
/* D2CF48 80241218 3C0142B4 */ lui $at, 0x42b4
/* D2CF4C 8024121C 4481A000 */ mtc1 $at, $f20
/* D2CF50 80241220 08090499 */ j .L80241264
/* D2CF54 80241224 0200202D */ daddu $a0, $s0, $zero
.L80241228:
/* D2CF58 80241228 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D2CF5C 8024122C 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D2CF60 80241230 804300B4 */ lb $v1, 0xb4($v0)
/* D2CF64 80241234 3C014218 */ lui $at, 0x4218
/* D2CF68 80241238 4481A000 */ mtc1 $at, $f20
/* D2CF6C 8024123C 10600007 */ beqz $v1, .L8024125C
/* D2CF70 80241240 24020001 */ addiu $v0, $zero, 1
/* D2CF74 80241244 3C0142B4 */ lui $at, 0x42b4
/* D2CF78 80241248 4481A000 */ mtc1 $at, $f20
/* D2CF7C 8024124C 14620004 */ bne $v1, $v0, .L80241260
/* D2CF80 80241250 26300038 */ addiu $s0, $s1, 0x38
/* D2CF84 80241254 3C014296 */ lui $at, 0x4296
/* D2CF88 80241258 4481A000 */ mtc1 $at, $f20
.L8024125C:
/* D2CF8C 8024125C 26300038 */ addiu $s0, $s1, 0x38
.L80241260:
/* D2CF90 80241260 0200202D */ daddu $a0, $s0, $zero
.L80241264:
/* D2CF94 80241264 3C15800F */ lui $s5, %hi(gPlayerStatusPtr)
/* D2CF98 80241268 26B57B30 */ addiu $s5, $s5, %lo(gPlayerStatusPtr)
/* D2CF9C 8024126C 4407C000 */ mfc1 $a3, $f24
/* D2CFA0 80241270 862200A6 */ lh $v0, 0xa6($s1)
/* D2CFA4 80241274 8EA30000 */ lw $v1, ($s5)
/* D2CFA8 80241278 44824000 */ mtc1 $v0, $f8
/* D2CFAC 8024127C 00000000 */ nop
/* D2CFB0 80241280 46804220 */ cvt.s.w $f8, $f8
/* D2CFB4 80241284 C4600028 */ lwc1 $f0, 0x28($v1)
/* D2CFB8 80241288 44064000 */ mfc1 $a2, $f8
/* D2CFBC 8024128C 26330040 */ addiu $s3, $s1, 0x40
/* D2CFC0 80241290 E6200038 */ swc1 $f0, 0x38($s1)
/* D2CFC4 80241294 C4600030 */ lwc1 $f0, 0x30($v1)
/* D2CFC8 80241298 0260282D */ daddu $a1, $s3, $zero
/* D2CFCC 8024129C 0C00A7E7 */ jal add_vec2D_polar
/* D2CFD0 802412A0 E6200040 */ swc1 $f0, 0x40($s1)
/* D2CFD4 802412A4 862200A6 */ lh $v0, 0xa6($s1)
/* D2CFD8 802412A8 44820000 */ mtc1 $v0, $f0
/* D2CFDC 802412AC 00000000 */ nop
/* D2CFE0 802412B0 46800020 */ cvt.s.w $f0, $f0
/* D2CFE4 802412B4 4600A000 */ add.s $f0, $f20, $f0
/* D2CFE8 802412B8 4406B000 */ mfc1 $a2, $f22
/* D2CFEC 802412BC 44050000 */ mfc1 $a1, $f0
/* D2CFF0 802412C0 0C00EA95 */ jal npc_move_heading
/* D2CFF4 802412C4 0220202D */ daddu $a0, $s1, $zero
/* D2CFF8 802412C8 8EC20088 */ lw $v0, 0x88($s6)
/* D2CFFC 802412CC 1440005D */ bnez $v0, .L80241444
/* D2D000 802412D0 00000000 */ nop
/* D2D004 802412D4 C6200038 */ lwc1 $f0, 0x38($s1)
/* D2D008 802412D8 3C018024 */ lui $at, %hi(D_80243F18_D2FC48)
/* D2D00C 802412DC D4243F18 */ ldc1 $f4, %lo(D_80243F18_D2FC48)($at)
/* D2D010 802412E0 46000021 */ cvt.d.s $f0, $f0
/* D2D014 802412E4 4620203C */ c.lt.d $f4, $f0
/* D2D018 802412E8 00000000 */ nop
/* D2D01C 802412EC 45000005 */ bc1f .L80241304
/* D2D020 802412F0 00000000 */ nop
/* D2D024 802412F4 3C0143BE */ lui $at, 0x43be
/* D2D028 802412F8 44810000 */ mtc1 $at, $f0
/* D2D02C 802412FC 00000000 */ nop
/* D2D030 80241300 E6200038 */ swc1 $f0, 0x38($s1)
.L80241304:
/* D2D034 80241304 C6200038 */ lwc1 $f0, 0x38($s1)
/* D2D038 80241308 3C018024 */ lui $at, %hi(D_80243F20_D2FC50)
/* D2D03C 8024130C D4223F20 */ ldc1 $f2, %lo(D_80243F20_D2FC50)($at)
/* D2D040 80241310 46000021 */ cvt.d.s $f0, $f0
/* D2D044 80241314 4622003C */ c.lt.d $f0, $f2
/* D2D048 80241318 00000000 */ nop
/* D2D04C 8024131C 45000005 */ bc1f .L80241334
/* D2D050 80241320 00000000 */ nop
/* D2D054 80241324 3C01C3BE */ lui $at, 0xc3be
/* D2D058 80241328 44810000 */ mtc1 $at, $f0
/* D2D05C 8024132C 00000000 */ nop
/* D2D060 80241330 E6200038 */ swc1 $f0, 0x38($s1)
.L80241334:
/* D2D064 80241334 C6200040 */ lwc1 $f0, 0x40($s1)
/* D2D068 80241338 46000021 */ cvt.d.s $f0, $f0
/* D2D06C 8024133C 4620203C */ c.lt.d $f4, $f0
/* D2D070 80241340 00000000 */ nop
/* D2D074 80241344 45000005 */ bc1f .L8024135C
/* D2D078 80241348 00000000 */ nop
/* D2D07C 8024134C 3C0143BE */ lui $at, 0x43be
/* D2D080 80241350 44810000 */ mtc1 $at, $f0
/* D2D084 80241354 00000000 */ nop
/* D2D088 80241358 E6200040 */ swc1 $f0, 0x40($s1)
.L8024135C:
/* D2D08C 8024135C C6200040 */ lwc1 $f0, 0x40($s1)
/* D2D090 80241360 46000021 */ cvt.d.s $f0, $f0
/* D2D094 80241364 4622003C */ c.lt.d $f0, $f2
/* D2D098 80241368 00000000 */ nop
/* D2D09C 8024136C 45000005 */ bc1f .L80241384
/* D2D0A0 80241370 00000000 */ nop
/* D2D0A4 80241374 3C01C3BE */ lui $at, 0xc3be
/* D2D0A8 80241378 44810000 */ mtc1 $at, $f0
/* D2D0AC 8024137C 00000000 */ nop
/* D2D0B0 80241380 E6200040 */ swc1 $f0, 0x40($s1)
.L80241384:
/* D2D0B4 80241384 C6220038 */ lwc1 $f2, 0x38($s1)
/* D2D0B8 80241388 46021082 */ mul.s $f2, $f2, $f2
/* D2D0BC 8024138C 00000000 */ nop
/* D2D0C0 80241390 C6200040 */ lwc1 $f0, 0x40($s1)
/* D2D0C4 80241394 46000002 */ mul.s $f0, $f0, $f0
/* D2D0C8 80241398 00000000 */ nop
/* D2D0CC 8024139C 46001300 */ add.s $f12, $f2, $f0
/* D2D0D0 802413A0 46006004 */ sqrt.s $f0, $f12
/* D2D0D4 802413A4 46000032 */ c.eq.s $f0, $f0
/* D2D0D8 802413A8 00000000 */ nop
/* D2D0DC 802413AC 45010003 */ bc1t .L802413BC
/* D2D0E0 802413B0 00000000 */ nop
/* D2D0E4 802413B4 0C0187BC */ jal sqrtf
/* D2D0E8 802413B8 00000000 */ nop
.L802413BC:
/* D2D0EC 802413BC 8E260038 */ lw $a2, 0x38($s1)
/* D2D0F0 802413C0 8E270040 */ lw $a3, 0x40($s1)
/* D2D0F4 802413C4 4480A000 */ mtc1 $zero, $f20
/* D2D0F8 802413C8 E7A00038 */ swc1 $f0, 0x38($sp)
/* D2D0FC 802413CC 4600A306 */ mov.s $f12, $f20
/* D2D100 802413D0 0C00A720 */ jal atan2
/* D2D104 802413D4 4600A386 */ mov.s $f14, $f20
/* D2D108 802413D8 46000586 */ mov.s $f22, $f0
/* D2D10C 802413DC C7A20038 */ lwc1 $f2, 0x38($sp)
/* D2D110 802413E0 3C018024 */ lui $at, %hi(D_80243F28_D2FC58)
/* D2D114 802413E4 D4203F28 */ ldc1 $f0, %lo(D_80243F28_D2FC58)($at)
/* D2D118 802413E8 460010A1 */ cvt.d.s $f2, $f2
/* D2D11C 802413EC 4620103C */ c.lt.d $f2, $f0
/* D2D120 802413F0 00000000 */ nop
/* D2D124 802413F4 45000004 */ bc1f .L80241408
/* D2D128 802413F8 0200202D */ daddu $a0, $s0, $zero
/* D2D12C 802413FC 3C064398 */ lui $a2, 0x4398
/* D2D130 80241400 0809050A */ j .L80241428
/* D2D134 80241404 34C68000 */ ori $a2, $a2, 0x8000
.L80241408:
/* D2D138 80241408 3C018024 */ lui $at, %hi(D_80243F30_D2FC60)
/* D2D13C 8024140C D4203F30 */ ldc1 $f0, %lo(D_80243F30_D2FC60)($at)
/* D2D140 80241410 4622003C */ c.lt.d $f0, $f2
/* D2D144 80241414 00000000 */ nop
/* D2D148 80241418 450000FA */ bc1f .L80241804
/* D2D14C 8024141C 00000000 */ nop
/* D2D150 80241420 3C0643BB */ lui $a2, 0x43bb
/* D2D154 80241424 34C68000 */ ori $a2, $a2, 0x8000
.L80241428:
/* D2D158 80241428 4407B000 */ mfc1 $a3, $f22
/* D2D15C 8024142C 0260282D */ daddu $a1, $s3, $zero
/* D2D160 80241430 E6340038 */ swc1 $f20, 0x38($s1)
/* D2D164 80241434 0C00A7E7 */ jal add_vec2D_polar
/* D2D168 80241438 E6340040 */ swc1 $f20, 0x40($s1)
/* D2D16C 8024143C 08090601 */ j .L80241804
/* D2D170 80241440 00000000 */ nop
.L80241444:
/* D2D174 80241444 8E220000 */ lw $v0, ($s1)
/* D2D178 80241448 30420040 */ andi $v0, $v0, 0x40
/* D2D17C 8024144C 144000B0 */ bnez $v0, .L80241710
/* D2D180 80241450 27A50020 */ addiu $a1, $sp, 0x20
/* D2D184 80241454 27B40020 */ addiu $s4, $sp, 0x20
/* D2D188 80241458 0280282D */ daddu $a1, $s4, $zero
/* D2D18C 8024145C 27B30024 */ addiu $s3, $sp, 0x24
/* D2D190 80241460 8EA20000 */ lw $v0, ($s5)
/* D2D194 80241464 3C014032 */ lui $at, 0x4032
/* D2D198 80241468 44811800 */ mtc1 $at, $f3
/* D2D19C 8024146C 44801000 */ mtc1 $zero, $f2
/* D2D1A0 80241470 C440002C */ lwc1 $f0, 0x2c($v0)
/* D2D1A4 80241474 C4460028 */ lwc1 $f6, 0x28($v0)
/* D2D1A8 80241478 C4440030 */ lwc1 $f4, 0x30($v0)
/* D2D1AC 8024147C 46000021 */ cvt.d.s $f0, $f0
/* D2D1B0 80241480 46220000 */ add.d $f0, $f0, $f2
/* D2D1B4 80241484 E7A60020 */ swc1 $f6, 0x20($sp)
/* D2D1B8 80241488 E7A40028 */ swc1 $f4, 0x28($sp)
/* D2D1BC 8024148C 46200020 */ cvt.s.d $f0, $f0
/* D2D1C0 80241490 E7A00024 */ swc1 $f0, 0x24($sp)
/* D2D1C4 80241494 E7B40010 */ swc1 $f20, 0x10($sp)
/* D2D1C8 80241498 E7B60014 */ swc1 $f22, 0x14($sp)
/* D2D1CC 8024149C 862200A8 */ lh $v0, 0xa8($s1)
/* D2D1D0 802414A0 0260302D */ daddu $a2, $s3, $zero
/* D2D1D4 802414A4 44820000 */ mtc1 $v0, $f0
/* D2D1D8 802414A8 00000000 */ nop
/* D2D1DC 802414AC 46800020 */ cvt.s.w $f0, $f0
/* D2D1E0 802414B0 E7A00018 */ swc1 $f0, 0x18($sp)
/* D2D1E4 802414B4 862200A6 */ lh $v0, 0xa6($s1)
/* D2D1E8 802414B8 27B00028 */ addiu $s0, $sp, 0x28
/* D2D1EC 802414BC 44820000 */ mtc1 $v0, $f0
/* D2D1F0 802414C0 00000000 */ nop
/* D2D1F4 802414C4 46800020 */ cvt.s.w $f0, $f0
/* D2D1F8 802414C8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D2D1FC 802414CC 8E240080 */ lw $a0, 0x80($s1)
/* D2D200 802414D0 0C037711 */ jal npc_test_move_simple_with_slipping
/* D2D204 802414D4 0200382D */ daddu $a3, $s0, $zero
/* D2D208 802414D8 104000CA */ beqz $v0, .L80241804
/* D2D20C 802414DC 0280282D */ daddu $a1, $s4, $zero
/* D2D210 802414E0 8EA20000 */ lw $v0, ($s5)
/* D2D214 802414E4 3C018024 */ lui $at, %hi(D_80243F38_D2FC68)
/* D2D218 802414E8 D4223F38 */ ldc1 $f2, %lo(D_80243F38_D2FC68)($at)
/* D2D21C 802414EC C440002C */ lwc1 $f0, 0x2c($v0)
/* D2D220 802414F0 C4460028 */ lwc1 $f6, 0x28($v0)
/* D2D224 802414F4 C4440030 */ lwc1 $f4, 0x30($v0)
/* D2D228 802414F8 46000021 */ cvt.d.s $f0, $f0
/* D2D22C 802414FC 46220000 */ add.d $f0, $f0, $f2
/* D2D230 80241500 E7A60020 */ swc1 $f6, 0x20($sp)
/* D2D234 80241504 E7A40028 */ swc1 $f4, 0x28($sp)
/* D2D238 80241508 46200020 */ cvt.s.d $f0, $f0
/* D2D23C 8024150C E7A00024 */ swc1 $f0, 0x24($sp)
/* D2D240 80241510 E7B40010 */ swc1 $f20, 0x10($sp)
/* D2D244 80241514 E7B60014 */ swc1 $f22, 0x14($sp)
/* D2D248 80241518 862200A8 */ lh $v0, 0xa8($s1)
/* D2D24C 8024151C 44820000 */ mtc1 $v0, $f0
/* D2D250 80241520 00000000 */ nop
/* D2D254 80241524 46800020 */ cvt.s.w $f0, $f0
/* D2D258 80241528 E7A00018 */ swc1 $f0, 0x18($sp)
/* D2D25C 8024152C 862200A6 */ lh $v0, 0xa6($s1)
/* D2D260 80241530 0260302D */ daddu $a2, $s3, $zero
/* D2D264 80241534 44820000 */ mtc1 $v0, $f0
/* D2D268 80241538 00000000 */ nop
/* D2D26C 8024153C 46800020 */ cvt.s.w $f0, $f0
/* D2D270 80241540 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D2D274 80241544 8E240080 */ lw $a0, 0x80($s1)
/* D2D278 80241548 0C037711 */ jal npc_test_move_simple_with_slipping
/* D2D27C 8024154C 0200382D */ daddu $a3, $s0, $zero
/* D2D280 80241550 27A5002C */ addiu $a1, $sp, 0x2c
/* D2D284 80241554 27A60030 */ addiu $a2, $sp, 0x30
/* D2D288 80241558 27A70034 */ addiu $a3, $sp, 0x34
/* D2D28C 8024155C 27A30038 */ addiu $v1, $sp, 0x38
/* D2D290 80241560 C6220038 */ lwc1 $f2, 0x38($s1)
/* D2D294 80241564 C620003C */ lwc1 $f0, 0x3c($s1)
/* D2D298 80241568 3C014348 */ lui $at, 0x4348
/* D2D29C 8024156C 44813000 */ mtc1 $at, $f6
/* D2D2A0 80241570 46000021 */ cvt.d.s $f0, $f0
/* D2D2A4 80241574 E7A2002C */ swc1 $f2, 0x2c($sp)
/* D2D2A8 80241578 3C014059 */ lui $at, 0x4059
/* D2D2AC 8024157C 44811800 */ mtc1 $at, $f3
/* D2D2B0 80241580 44801000 */ mtc1 $zero, $f2
/* D2D2B4 80241584 C6240040 */ lwc1 $f4, 0x40($s1)
/* D2D2B8 80241588 46220000 */ add.d $f0, $f0, $f2
/* D2D2BC 8024158C E7A60038 */ swc1 $f6, 0x38($sp)
/* D2D2C0 80241590 E7A40034 */ swc1 $f4, 0x34($sp)
/* D2D2C4 80241594 46200020 */ cvt.s.d $f0, $f0
/* D2D2C8 80241598 E7A00030 */ swc1 $f0, 0x30($sp)
/* D2D2CC 8024159C AFA30010 */ sw $v1, 0x10($sp)
/* D2D2D0 802415A0 8E240080 */ lw $a0, 0x80($s1)
/* D2D2D4 802415A4 0C0372DF */ jal npc_raycast_down_sides
/* D2D2D8 802415A8 0040802D */ daddu $s0, $v0, $zero
/* D2D2DC 802415AC 1600001C */ bnez $s0, .L80241620
/* D2D2E0 802415B0 00000000 */ nop
/* D2D2E4 802415B4 1040001A */ beqz $v0, .L80241620
/* D2D2E8 802415B8 00000000 */ nop
/* D2D2EC 802415BC C7A20038 */ lwc1 $f2, 0x38($sp)
/* D2D2F0 802415C0 3C014054 */ lui $at, 0x4054
/* D2D2F4 802415C4 44810800 */ mtc1 $at, $f1
/* D2D2F8 802415C8 44800000 */ mtc1 $zero, $f0
/* D2D2FC 802415CC 460010A1 */ cvt.d.s $f2, $f2
/* D2D300 802415D0 4622003C */ c.lt.d $f0, $f2
/* D2D304 802415D4 00000000 */ nop
/* D2D308 802415D8 45000011 */ bc1f .L80241620
/* D2D30C 802415DC 00000000 */ nop
/* D2D310 802415E0 3C01405E */ lui $at, 0x405e
/* D2D314 802415E4 44810800 */ mtc1 $at, $f1
/* D2D318 802415E8 44800000 */ mtc1 $zero, $f0
/* D2D31C 802415EC 00000000 */ nop
/* D2D320 802415F0 4620103C */ c.lt.d $f2, $f0
/* D2D324 802415F4 00000000 */ nop
/* D2D328 802415F8 45000009 */ bc1f .L80241620
/* D2D32C 802415FC 00000000 */ nop
/* D2D330 80241600 C622003C */ lwc1 $f2, 0x3c($s1)
/* D2D334 80241604 C7A00030 */ lwc1 $f0, 0x30($sp)
/* D2D338 80241608 46001032 */ c.eq.s $f2, $f0
/* D2D33C 8024160C 00000000 */ nop
/* D2D340 80241610 45010003 */ bc1t .L80241620
/* D2D344 80241614 00000000 */ nop
/* D2D348 80241618 08090601 */ j .L80241804
/* D2D34C 8024161C 241E0001 */ addiu $fp, $zero, 1
.L80241620:
/* D2D350 80241620 3C10800F */ lui $s0, %hi(gPlayerStatusPtr)
/* D2D354 80241624 26107B30 */ addiu $s0, $s0, %lo(gPlayerStatusPtr)
/* D2D358 80241628 8E020000 */ lw $v0, ($s0)
/* D2D35C 8024162C 3C014024 */ lui $at, 0x4024
/* D2D360 80241630 44811800 */ mtc1 $at, $f3
/* D2D364 80241634 44801000 */ mtc1 $zero, $f2
/* D2D368 80241638 C440002C */ lwc1 $f0, 0x2c($v0)
/* D2D36C 8024163C C4460028 */ lwc1 $f6, 0x28($v0)
/* D2D370 80241640 C4440030 */ lwc1 $f4, 0x30($v0)
/* D2D374 80241644 46000021 */ cvt.d.s $f0, $f0
/* D2D378 80241648 46220000 */ add.d $f0, $f0, $f2
/* D2D37C 8024164C E7A60020 */ swc1 $f6, 0x20($sp)
/* D2D380 80241650 E7A40028 */ swc1 $f4, 0x28($sp)
/* D2D384 80241654 46200020 */ cvt.s.d $f0, $f0
/* D2D388 80241658 E7A00024 */ swc1 $f0, 0x24($sp)
/* D2D38C 8024165C E7B40010 */ swc1 $f20, 0x10($sp)
/* D2D390 80241660 E7B60014 */ swc1 $f22, 0x14($sp)
/* D2D394 80241664 862200A8 */ lh $v0, 0xa8($s1)
/* D2D398 80241668 27A50020 */ addiu $a1, $sp, 0x20
/* D2D39C 8024166C 44820000 */ mtc1 $v0, $f0
/* D2D3A0 80241670 00000000 */ nop
/* D2D3A4 80241674 46800020 */ cvt.s.w $f0, $f0
/* D2D3A8 80241678 E7A00018 */ swc1 $f0, 0x18($sp)
/* D2D3AC 8024167C 862200A6 */ lh $v0, 0xa6($s1)
/* D2D3B0 80241680 27A60024 */ addiu $a2, $sp, 0x24
/* D2D3B4 80241684 44820000 */ mtc1 $v0, $f0
/* D2D3B8 80241688 00000000 */ nop
/* D2D3BC 8024168C 46800020 */ cvt.s.w $f0, $f0
/* D2D3C0 80241690 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D2D3C4 80241694 8E240080 */ lw $a0, 0x80($s1)
/* D2D3C8 80241698 0C037711 */ jal npc_test_move_simple_with_slipping
/* D2D3CC 8024169C 27A70028 */ addiu $a3, $sp, 0x28
/* D2D3D0 802416A0 8FA60020 */ lw $a2, 0x20($sp)
/* D2D3D4 802416A4 8E020000 */ lw $v0, ($s0)
/* D2D3D8 802416A8 8FA70028 */ lw $a3, 0x28($sp)
/* D2D3DC 802416AC C44C0028 */ lwc1 $f12, 0x28($v0)
/* D2D3E0 802416B0 C44E0030 */ lwc1 $f14, 0x30($v0)
/* D2D3E4 802416B4 0C00A7B5 */ jal dist2D
/* D2D3E8 802416B8 24170001 */ addiu $s7, $zero, 1
/* D2D3EC 802416BC 46000506 */ mov.s $f20, $f0
/* D2D3F0 802416C0 8E030000 */ lw $v1, ($s0)
/* D2D3F4 802416C4 862200A6 */ lh $v0, 0xa6($s1)
/* D2D3F8 802416C8 4407C000 */ mfc1 $a3, $f24
/* D2D3FC 802416CC 44824000 */ mtc1 $v0, $f8
/* D2D400 802416D0 00000000 */ nop
/* D2D404 802416D4 46804220 */ cvt.s.w $f8, $f8
/* D2D408 802416D8 C4600028 */ lwc1 $f0, 0x28($v1)
/* D2D40C 802416DC 44064000 */ mfc1 $a2, $f8
/* D2D410 802416E0 26240038 */ addiu $a0, $s1, 0x38
/* D2D414 802416E4 E6200038 */ swc1 $f0, 0x38($s1)
/* D2D418 802416E8 C4600030 */ lwc1 $f0, 0x30($v1)
/* D2D41C 802416EC 26250040 */ addiu $a1, $s1, 0x40
/* D2D420 802416F0 0C00A7E7 */ jal add_vec2D_polar
/* D2D424 802416F4 E6200040 */ swc1 $f0, 0x40($s1)
/* D2D428 802416F8 862200A6 */ lh $v0, 0xa6($s1)
/* D2D42C 802416FC 44820000 */ mtc1 $v0, $f0
/* D2D430 80241700 00000000 */ nop
/* D2D434 80241704 46800020 */ cvt.s.w $f0, $f0
/* D2D438 80241708 080905FD */ j .L802417F4
/* D2D43C 8024170C 4600A500 */ add.s $f20, $f20, $f0
.L80241710:
/* D2D440 80241710 8EA20000 */ lw $v0, ($s5)
/* D2D444 80241714 3C014032 */ lui $at, 0x4032
/* D2D448 80241718 44811800 */ mtc1 $at, $f3
/* D2D44C 8024171C 44801000 */ mtc1 $zero, $f2
/* D2D450 80241720 C440002C */ lwc1 $f0, 0x2c($v0)
/* D2D454 80241724 C4460028 */ lwc1 $f6, 0x28($v0)
/* D2D458 80241728 C4440030 */ lwc1 $f4, 0x30($v0)
/* D2D45C 8024172C 46000021 */ cvt.d.s $f0, $f0
/* D2D460 80241730 46220000 */ add.d $f0, $f0, $f2
/* D2D464 80241734 E7A60020 */ swc1 $f6, 0x20($sp)
/* D2D468 80241738 E7A40028 */ swc1 $f4, 0x28($sp)
/* D2D46C 8024173C 46200020 */ cvt.s.d $f0, $f0
/* D2D470 80241740 E7A00024 */ swc1 $f0, 0x24($sp)
/* D2D474 80241744 E7B40010 */ swc1 $f20, 0x10($sp)
/* D2D478 80241748 E7B60014 */ swc1 $f22, 0x14($sp)
/* D2D47C 8024174C 862200A8 */ lh $v0, 0xa8($s1)
/* D2D480 80241750 44820000 */ mtc1 $v0, $f0
/* D2D484 80241754 00000000 */ nop
/* D2D488 80241758 46800020 */ cvt.s.w $f0, $f0
/* D2D48C 8024175C E7A00018 */ swc1 $f0, 0x18($sp)
/* D2D490 80241760 862200A6 */ lh $v0, 0xa6($s1)
/* D2D494 80241764 27A60024 */ addiu $a2, $sp, 0x24
/* D2D498 80241768 44820000 */ mtc1 $v0, $f0
/* D2D49C 8024176C 00000000 */ nop
/* D2D4A0 80241770 46800020 */ cvt.s.w $f0, $f0
/* D2D4A4 80241774 E7A0001C */ swc1 $f0, 0x1c($sp)
/* D2D4A8 80241778 8E240080 */ lw $a0, 0x80($s1)
/* D2D4AC 8024177C 0C037711 */ jal npc_test_move_simple_with_slipping
/* D2D4B0 80241780 27A70028 */ addiu $a3, $sp, 0x28
/* D2D4B4 80241784 1040001F */ beqz $v0, .L80241804
/* D2D4B8 80241788 00000000 */ nop
/* D2D4BC 8024178C 8FA60020 */ lw $a2, 0x20($sp)
/* D2D4C0 80241790 8EA20000 */ lw $v0, ($s5)
/* D2D4C4 80241794 8FA70028 */ lw $a3, 0x28($sp)
/* D2D4C8 80241798 C44C0028 */ lwc1 $f12, 0x28($v0)
/* D2D4CC 8024179C 0C00A7B5 */ jal dist2D
/* D2D4D0 802417A0 C44E0030 */ lwc1 $f14, 0x30($v0)
/* D2D4D4 802417A4 46000506 */ mov.s $f20, $f0
/* D2D4D8 802417A8 8EA30000 */ lw $v1, ($s5)
/* D2D4DC 802417AC 862200A6 */ lh $v0, 0xa6($s1)
/* D2D4E0 802417B0 4407C000 */ mfc1 $a3, $f24
/* D2D4E4 802417B4 44824000 */ mtc1 $v0, $f8
/* D2D4E8 802417B8 00000000 */ nop
/* D2D4EC 802417BC 46804220 */ cvt.s.w $f8, $f8
/* D2D4F0 802417C0 C4600028 */ lwc1 $f0, 0x28($v1)
/* D2D4F4 802417C4 44064000 */ mfc1 $a2, $f8
/* D2D4F8 802417C8 0200202D */ daddu $a0, $s0, $zero
/* D2D4FC 802417CC E6200038 */ swc1 $f0, 0x38($s1)
/* D2D500 802417D0 C4600030 */ lwc1 $f0, 0x30($v1)
/* D2D504 802417D4 0260282D */ daddu $a1, $s3, $zero
/* D2D508 802417D8 0C00A7E7 */ jal add_vec2D_polar
/* D2D50C 802417DC E6200040 */ swc1 $f0, 0x40($s1)
/* D2D510 802417E0 862200A6 */ lh $v0, 0xa6($s1)
/* D2D514 802417E4 44820000 */ mtc1 $v0, $f0
/* D2D518 802417E8 00000000 */ nop
/* D2D51C 802417EC 46800020 */ cvt.s.w $f0, $f0
/* D2D520 802417F0 4600A500 */ add.s $f20, $f20, $f0
.L802417F4:
/* D2D524 802417F4 4406B000 */ mfc1 $a2, $f22
/* D2D528 802417F8 4405A000 */ mfc1 $a1, $f20
/* D2D52C 802417FC 0C00EA95 */ jal npc_move_heading
/* D2D530 80241800 0220202D */ daddu $a0, $s1, $zero
.L80241804:
/* D2D534 80241804 C6400008 */ lwc1 $f0, 8($s2)
/* D2D538 80241808 46800020 */ cvt.s.w $f0, $f0
/* D2D53C 8024180C 44050000 */ mfc1 $a1, $f0
/* D2D540 80241810 C640000C */ lwc1 $f0, 0xc($s2)
/* D2D544 80241814 46800020 */ cvt.s.w $f0, $f0
/* D2D548 80241818 44060000 */ mfc1 $a2, $f0
/* D2D54C 8024181C C6200040 */ lwc1 $f0, 0x40($s1)
/* D2D550 80241820 26300038 */ addiu $s0, $s1, 0x38
/* D2D554 80241824 E7A00010 */ swc1 $f0, 0x10($sp)
/* D2D558 80241828 C6400010 */ lwc1 $f0, 0x10($s2)
/* D2D55C 8024182C 46800020 */ cvt.s.w $f0, $f0
/* D2D560 80241830 E7A00014 */ swc1 $f0, 0x14($sp)
/* D2D564 80241834 C6400014 */ lwc1 $f0, 0x14($s2)
/* D2D568 80241838 46800020 */ cvt.s.w $f0, $f0
/* D2D56C 8024183C E7A00018 */ swc1 $f0, 0x18($sp)
/* D2D570 80241840 8E440004 */ lw $a0, 4($s2)
/* D2D574 80241844 8E270038 */ lw $a3, 0x38($s1)
/* D2D578 80241848 0C0123F5 */ jal is_point_within_region
/* D2D57C 8024184C 26330040 */ addiu $s3, $s1, 0x40
/* D2D580 80241850 1040005A */ beqz $v0, .L802419BC
/* D2D584 80241854 00000000 */ nop
/* D2D588 80241858 8E430004 */ lw $v1, 4($s2)
/* D2D58C 8024185C 10600005 */ beqz $v1, .L80241874
/* D2D590 80241860 24020001 */ addiu $v0, $zero, 1
/* D2D594 80241864 10620029 */ beq $v1, $v0, .L8024190C
/* D2D598 80241868 00000000 */ nop
/* D2D59C 8024186C 0809066F */ j .L802419BC
/* D2D5A0 80241870 00000000 */ nop
.L80241874:
/* D2D5A4 80241874 C6480008 */ lwc1 $f8, 8($s2)
/* D2D5A8 80241878 46804220 */ cvt.s.w $f8, $f8
/* D2D5AC 8024187C 44064000 */ mfc1 $a2, $f8
/* D2D5B0 80241880 C648000C */ lwc1 $f8, 0xc($s2)
/* D2D5B4 80241884 46804220 */ cvt.s.w $f8, $f8
/* D2D5B8 80241888 C62C0038 */ lwc1 $f12, 0x38($s1)
/* D2D5BC 8024188C C62E0040 */ lwc1 $f14, 0x40($s1)
/* D2D5C0 80241890 44074000 */ mfc1 $a3, $f8
/* D2D5C4 80241894 0C00A7B5 */ jal dist2D
/* D2D5C8 80241898 00000000 */ nop
/* D2D5CC 8024189C C6420010 */ lwc1 $f2, 0x10($s2)
/* D2D5D0 802418A0 468010A0 */ cvt.s.w $f2, $f2
/* D2D5D4 802418A4 4600103C */ c.lt.s $f2, $f0
/* D2D5D8 802418A8 00000000 */ nop
/* D2D5DC 802418AC 45000043 */ bc1f .L802419BC
/* D2D5E0 802418B0 E7A00038 */ swc1 $f0, 0x38($sp)
/* D2D5E4 802418B4 C64C0008 */ lwc1 $f12, 8($s2)
/* D2D5E8 802418B8 46806320 */ cvt.s.w $f12, $f12
/* D2D5EC 802418BC 8E260038 */ lw $a2, 0x38($s1)
/* D2D5F0 802418C0 8E270040 */ lw $a3, 0x40($s1)
/* D2D5F4 802418C4 C64E000C */ lwc1 $f14, 0xc($s2)
/* D2D5F8 802418C8 0C00A720 */ jal atan2
/* D2D5FC 802418CC 468073A0 */ cvt.s.w $f14, $f14
/* D2D600 802418D0 0200202D */ daddu $a0, $s0, $zero
/* D2D604 802418D4 44070000 */ mfc1 $a3, $f0
/* D2D608 802418D8 C6400008 */ lwc1 $f0, 8($s2)
/* D2D60C 802418DC 46800020 */ cvt.s.w $f0, $f0
/* D2D610 802418E0 E6200038 */ swc1 $f0, 0x38($s1)
/* D2D614 802418E4 C640000C */ lwc1 $f0, 0xc($s2)
/* D2D618 802418E8 46800020 */ cvt.s.w $f0, $f0
/* D2D61C 802418EC E6200040 */ swc1 $f0, 0x40($s1)
/* D2D620 802418F0 C6480010 */ lwc1 $f8, 0x10($s2)
/* D2D624 802418F4 46804220 */ cvt.s.w $f8, $f8
/* D2D628 802418F8 44064000 */ mfc1 $a2, $f8
/* D2D62C 802418FC 0C00A7E7 */ jal add_vec2D_polar
/* D2D630 80241900 0260282D */ daddu $a1, $s3, $zero
/* D2D634 80241904 0809066F */ j .L802419BC
/* D2D638 80241908 00000000 */ nop
.L8024190C:
/* D2D63C 8024190C 8E420008 */ lw $v0, 8($s2)
/* D2D640 80241910 8E430010 */ lw $v1, 0x10($s2)
/* D2D644 80241914 C6200038 */ lwc1 $f0, 0x38($s1)
/* D2D648 80241918 00431021 */ addu $v0, $v0, $v1
/* D2D64C 8024191C 44821000 */ mtc1 $v0, $f2
/* D2D650 80241920 00000000 */ nop
/* D2D654 80241924 468010A0 */ cvt.s.w $f2, $f2
/* D2D658 80241928 4600103C */ c.lt.s $f2, $f0
/* D2D65C 8024192C 00000000 */ nop
/* D2D660 80241930 45030001 */ bc1tl .L80241938
/* D2D664 80241934 E6220038 */ swc1 $f2, 0x38($s1)
.L80241938:
/* D2D668 80241938 8E420008 */ lw $v0, 8($s2)
/* D2D66C 8024193C 8E430010 */ lw $v1, 0x10($s2)
/* D2D670 80241940 C6200038 */ lwc1 $f0, 0x38($s1)
/* D2D674 80241944 00431023 */ subu $v0, $v0, $v1
/* D2D678 80241948 44821000 */ mtc1 $v0, $f2
/* D2D67C 8024194C 00000000 */ nop
/* D2D680 80241950 468010A0 */ cvt.s.w $f2, $f2
/* D2D684 80241954 4602003C */ c.lt.s $f0, $f2
/* D2D688 80241958 00000000 */ nop
/* D2D68C 8024195C 45030001 */ bc1tl .L80241964
/* D2D690 80241960 E6220038 */ swc1 $f2, 0x38($s1)
.L80241964:
/* D2D694 80241964 8E42000C */ lw $v0, 0xc($s2)
/* D2D698 80241968 8E430014 */ lw $v1, 0x14($s2)
/* D2D69C 8024196C C6200040 */ lwc1 $f0, 0x40($s1)
/* D2D6A0 80241970 00431021 */ addu $v0, $v0, $v1
/* D2D6A4 80241974 44821000 */ mtc1 $v0, $f2
/* D2D6A8 80241978 00000000 */ nop
/* D2D6AC 8024197C 468010A0 */ cvt.s.w $f2, $f2
/* D2D6B0 80241980 4600103C */ c.lt.s $f2, $f0
/* D2D6B4 80241984 00000000 */ nop
/* D2D6B8 80241988 45030001 */ bc1tl .L80241990
/* D2D6BC 8024198C E6220040 */ swc1 $f2, 0x40($s1)
.L80241990:
/* D2D6C0 80241990 8E42000C */ lw $v0, 0xc($s2)
/* D2D6C4 80241994 8E430014 */ lw $v1, 0x14($s2)
/* D2D6C8 80241998 C6200040 */ lwc1 $f0, 0x40($s1)
/* D2D6CC 8024199C 00431023 */ subu $v0, $v0, $v1
/* D2D6D0 802419A0 44821000 */ mtc1 $v0, $f2
/* D2D6D4 802419A4 00000000 */ nop
/* D2D6D8 802419A8 468010A0 */ cvt.s.w $f2, $f2
/* D2D6DC 802419AC 4602003C */ c.lt.s $f0, $f2
/* D2D6E0 802419B0 00000000 */ nop
/* D2D6E4 802419B4 45030001 */ bc1tl .L802419BC
/* D2D6E8 802419B8 E6220040 */ swc1 $f2, 0x40($s1)
.L802419BC:
/* D2D6EC 802419BC 16E0001F */ bnez $s7, .L80241A3C
/* D2D6F0 802419C0 00000000 */ nop
/* D2D6F4 802419C4 8E220000 */ lw $v0, ($s1)
/* D2D6F8 802419C8 30420008 */ andi $v0, $v0, 8
/* D2D6FC 802419CC 10400003 */ beqz $v0, .L802419DC
/* D2D700 802419D0 27A50020 */ addiu $a1, $sp, 0x20
/* D2D704 802419D4 13C00019 */ beqz $fp, .L80241A3C
/* D2D708 802419D8 00000000 */ nop
.L802419DC:
/* D2D70C 802419DC 27A60024 */ addiu $a2, $sp, 0x24
/* D2D710 802419E0 27A20038 */ addiu $v0, $sp, 0x38
/* D2D714 802419E4 C6220038 */ lwc1 $f2, 0x38($s1)
/* D2D718 802419E8 C620003C */ lwc1 $f0, 0x3c($s1)
/* D2D71C 802419EC 3C0143C8 */ lui $at, 0x43c8
/* D2D720 802419F0 44813000 */ mtc1 $at, $f6
/* D2D724 802419F4 46000021 */ cvt.d.s $f0, $f0
/* D2D728 802419F8 E7A20020 */ swc1 $f2, 0x20($sp)
/* D2D72C 802419FC 3C018024 */ lui $at, %hi(D_80243F40_D2FC70)
/* D2D730 80241A00 D4223F40 */ ldc1 $f2, %lo(D_80243F40_D2FC70)($at)
/* D2D734 80241A04 C6240040 */ lwc1 $f4, 0x40($s1)
/* D2D738 80241A08 46220000 */ add.d $f0, $f0, $f2
/* D2D73C 80241A0C E7A60038 */ swc1 $f6, 0x38($sp)
/* D2D740 80241A10 E7A40028 */ swc1 $f4, 0x28($sp)
/* D2D744 80241A14 46200020 */ cvt.s.d $f0, $f0
/* D2D748 80241A18 E7A00024 */ swc1 $f0, 0x24($sp)
/* D2D74C 80241A1C AFA20010 */ sw $v0, 0x10($sp)
/* D2D750 80241A20 8E240080 */ lw $a0, 0x80($s1)
/* D2D754 80241A24 0C0372DF */ jal npc_raycast_down_sides
/* D2D758 80241A28 27A70028 */ addiu $a3, $sp, 0x28
/* D2D75C 80241A2C 10400003 */ beqz $v0, .L80241A3C
/* D2D760 80241A30 00000000 */ nop
/* D2D764 80241A34 C7A00024 */ lwc1 $f0, 0x24($sp)
/* D2D768 80241A38 E620003C */ swc1 $f0, 0x3c($s1)
.L80241A3C:
/* D2D76C 80241A3C C62C0038 */ lwc1 $f12, 0x38($s1)
/* D2D770 80241A40 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* D2D774 80241A44 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* D2D778 80241A48 C62E0040 */ lwc1 $f14, 0x40($s1)
/* D2D77C 80241A4C 8C460028 */ lw $a2, 0x28($v0)
/* D2D780 80241A50 0C00A720 */ jal atan2
/* D2D784 80241A54 8C470030 */ lw $a3, 0x30($v0)
/* D2D788 80241A58 0220202D */ daddu $a0, $s1, $zero
/* D2D78C 80241A5C 24050321 */ addiu $a1, $zero, 0x321
/* D2D790 80241A60 0000302D */ daddu $a2, $zero, $zero
/* D2D794 80241A64 0C012530 */ jal ai_enemy_play_sound
/* D2D798 80241A68 E620000C */ swc1 $f0, 0xc($s1)
/* D2D79C 80241A6C 8EC200CC */ lw $v0, 0xcc($s6)
/* D2D7A0 80241A70 8C420024 */ lw $v0, 0x24($v0)
/* D2D7A4 80241A74 AE220028 */ sw $v0, 0x28($s1)
/* D2D7A8 80241A78 96C20096 */ lhu $v0, 0x96($s6)
/* D2D7AC 80241A7C A622008E */ sh $v0, 0x8e($s1)
/* D2D7B0 80241A80 8FA80080 */ lw $t0, 0x80($sp)
/* D2D7B4 80241A84 2402000B */ addiu $v0, $zero, 0xb
/* D2D7B8 80241A88 AD020070 */ sw $v0, 0x70($t0)
.L80241A8C:
/* D2D7BC 80241A8C 8FBF0064 */ lw $ra, 0x64($sp)
/* D2D7C0 80241A90 8FBE0060 */ lw $fp, 0x60($sp)
/* D2D7C4 80241A94 8FB7005C */ lw $s7, 0x5c($sp)
/* D2D7C8 80241A98 8FB60058 */ lw $s6, 0x58($sp)
/* D2D7CC 80241A9C 8FB50054 */ lw $s5, 0x54($sp)
/* D2D7D0 80241AA0 8FB40050 */ lw $s4, 0x50($sp)
/* D2D7D4 80241AA4 8FB3004C */ lw $s3, 0x4c($sp)
/* D2D7D8 80241AA8 8FB20048 */ lw $s2, 0x48($sp)
/* D2D7DC 80241AAC 8FB10044 */ lw $s1, 0x44($sp)
/* D2D7E0 80241AB0 8FB00040 */ lw $s0, 0x40($sp)
/* D2D7E4 80241AB4 D7B80078 */ ldc1 $f24, 0x78($sp)
/* D2D7E8 80241AB8 D7B60070 */ ldc1 $f22, 0x70($sp)
/* D2D7EC 80241ABC D7B40068 */ ldc1 $f20, 0x68($sp)
/* D2D7F0 80241AC0 03E00008 */ jr $ra
/* D2D7F4 80241AC4 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -110,7 +110,7 @@ glabel func_80241DA4_D2DAD4
/* D2DC60 80241F30 00000000 */ nop
.L80241F34:
/* D2DC64 80241F34 0260282D */ daddu $a1, $s3, $zero
/* D2DC68 80241F38 0C090422 */ jal func_80241088_D2CDB8
/* D2DC68 80241F38 0C090422 */ jal sam_07_UnkNpcAIFunc46
/* D2DC6C 80241F3C 0280302D */ daddu $a2, $s4, $zero
/* D2DC70 80241F40 8E420070 */ lw $v0, 0x70($s2)
/* D2DC74 80241F44 14500021 */ bne $v0, $s0, .L80241FCC

View File

@ -16284,7 +16284,7 @@ mim_01_UnkFunc7 = 0x802408BC; // type:func rom:0xB93CFC
mim_01_UnkNpcAIFunc27 = 0x80240B1C; // type:func rom:0xB93F5C
mim_01_UnkNpcAIFunc31 = 0x80240DD0; // type:func rom:0xB94210
mim_01_UnkNpcAIFunc32 = 0x80240E3C; // type:func rom:0xB9427C
func_80240F38_B94378 = 0x80240F38; // type:func rom:0xB94378
mim_01_UnkNpcAIFunc46 = 0x80240F38; // type:func rom:0xB94378
mim_01_UnkNpcDurationFlagFunc3 = 0x80241978; // type:func rom:0xB94DB8
mim_01_UnkNpcAIFunc33 = 0x80241A08; // type:func rom:0xB94E48
mim_01_UnkNpcDurationFlagFunc2 = 0x80241B08; // type:func rom:0xB94F48
@ -16347,7 +16347,7 @@ mim_05_UnkFunc7 = 0x8024042C; // type:func rom:0xBA0B5C
mim_05_UnkNpcAIFunc27 = 0x8024068C; // type:func rom:0xBA0DBC
mim_05_UnkNpcAIFunc31 = 0x80240940; // type:func rom:0xBA1070
mim_05_UnkNpcAIFunc32 = 0x802409AC; // type:func rom:0xBA10DC
btl_restore_world_cameras_BA11D8 = 0x80240AA8; // type:func rom:0xBA11D8
mim_05_UnkNpcAIFunc46 = 0x80240AA8; // type:func rom:0xBA11D8
mim_05_UnkNpcDurationFlagFunc3 = 0x802414E8; // type:func rom:0xBA1C18
mim_05_UnkNpcAIFunc33 = 0x80241578; // type:func rom:0xBA1CA8
mim_05_UnkNpcDurationFlagFunc2 = 0x80241678; // type:func rom:0xBA1DA8
@ -16373,7 +16373,7 @@ mim_06_UnkFunc7 = 0x8024092C; // type:func rom:0xBA50AC
mim_06_UnkNpcAIFunc27 = 0x80240B8C; // type:func rom:0xBA530C
mim_06_UnkNpcAIFunc31 = 0x80240E40; // type:func rom:0xBA55C0
mim_06_UnkNpcAIFunc32 = 0x80240EAC; // type:func rom:0xBA562C
func_80240FA8_BA5728 = 0x80240FA8; // type:func rom:0xBA5728
mim_06_UnkNpcAIFunc46 = 0x80240FA8; // type:func rom:0xBA5728
mim_06_UnkNpcDurationFlagFunc3 = 0x802419E8; // type:func rom:0xBA6168
mim_06_UnkNpcAIFunc33 = 0x80241A78; // type:func rom:0xBA61F8
mim_06_UnkNpcDurationFlagFunc2 = 0x80241B78; // type:func rom:0xBA62F8
@ -16434,7 +16434,7 @@ mim_08_UnkFunc7 = 0x80241954; // type:func rom:0xBAF294
mim_08_UnkNpcAIFunc27 = 0x80241BB4; // type:func rom:0xBAF4F4
mim_08_UnkNpcAIFunc31 = 0x80241E68; // type:func rom:0xBAF7A8
mim_08_UnkNpcAIFunc32 = 0x80241ED4; // type:func rom:0xBAF814
func_80241FD0_BAF910 = 0x80241FD0; // type:func rom:0xBAF910
mim_08_UnkNpcAIFunc46 = 0x80241FD0; // type:func rom:0xBAF910
mim_08_UnkNpcDurationFlagFunc3 = 0x80242A10; // type:func rom:0xBB0350
mim_08_UnkNpcAIFunc33 = 0x80242AA0; // type:func rom:0xBB03E0
mim_08_UnkNpcDurationFlagFunc2 = 0x80242BA0; // type:func rom:0xBB04E0
@ -18649,7 +18649,7 @@ kzn_03_UnkFunc7 = 0x80240FB4; // type:func rom:0xC61CC4
kzn_03_UnkNpcAIFunc27 = 0x80241214; // type:func rom:0xC61F24
kzn_03_UnkNpcAIFunc31 = 0x802414C8; // type:func rom:0xC621D8
kzn_03_UnkNpcAIFunc32 = 0x80241534; // type:func rom:0xC62244
func_80241630_C62340 = 0x80241630; // type:func rom:0xC62340
kzn_03_UnkNpcAIFunc46 = 0x80241630; // type:func rom:0xC62340
kzn_03_UnkNpcDurationFlagFunc3 = 0x80242070; // type:func rom:0xC62D80
kzn_03_UnkNpcAIFunc33 = 0x80242100; // type:func rom:0xC62E10
kzn_03_UnkNpcDurationFlagFunc2 = 0x80242200; // type:func rom:0xC62F10
@ -18787,7 +18787,7 @@ kzn_08_UnkFunc7 = 0x802428F8; // type:func rom:0xC73D78
kzn_08_UnkNpcAIFunc27 = 0x80242B58; // type:func rom:0xC73FD8
kzn_08_UnkNpcAIFunc31 = 0x80242E0C; // type:func rom:0xC7428C
kzn_08_UnkNpcAIFunc32 = 0x80242E78; // type:func rom:0xC742F8
func_80242F74_C743F4 = 0x80242F74; // type:func rom:0xC743F4
kzn_08_UnkNpcAIFunc46 = 0x80242F74; // type:func rom:0xC743F4
kzn_08_UnkNpcDurationFlagFunc3 = 0x802439B4; // type:func rom:0xC74E34
kzn_08_UnkNpcAIFunc33 = 0x80243A44; // type:func rom:0xC74EC4
kzn_08_UnkNpcDurationFlagFunc2 = 0x80243B44; // type:func rom:0xC74FC4
@ -20321,7 +20321,7 @@ sam_05_UnkFunc7 = 0x802403BC; // type:func rom:0xD18B9C
sam_05_UnkNpcAIFunc27 = 0x8024061C; // type:func rom:0xD18DFC
sam_05_UnkNpcAIFunc31 = 0x802408D0; // type:func rom:0xD190B0
sam_05_UnkNpcAIFunc32 = 0x8024093C; // type:func rom:0xD1911C
func_80240A38_D19218 = 0x80240A38; // type:func rom:0xD19218
sam_05_UnkNpcAIFunc46 = 0x80240A38; // type:func rom:0xD19218
sam_05_UnkNpcDurationFlagFunc3 = 0x80241478; // type:func rom:0xD19C58
sam_05_UnkNpcAIFunc33 = 0x80241508; // type:func rom:0xD19CE8
sam_05_UnkNpcDurationFlagFunc2 = 0x80241608; // type:func rom:0xD19DE8
@ -20398,7 +20398,7 @@ sam_07_UnkFunc7 = 0x80240A0C; // type:func rom:0xD2C73C
sam_07_UnkNpcAIFunc27 = 0x80240C6C; // type:func rom:0xD2C99C
sam_07_UnkNpcAIFunc31 = 0x80240F20; // type:func rom:0xD2CC50
sam_07_UnkNpcAIFunc32 = 0x80240F8C; // type:func rom:0xD2CCBC
func_80241088_D2CDB8 = 0x80241088; // type:func rom:0xD2CDB8
sam_07_UnkNpcAIFunc46 = 0x80241088; // type:func rom:0xD2CDB8
sam_07_UnkNpcDurationFlagFunc3 = 0x80241AC8; // type:func rom:0xD2D7F8
sam_07_UnkNpcAIFunc33 = 0x80241B58; // type:func rom:0xD2D888
sam_07_UnkNpcDurationFlagFunc2 = 0x80241C58; // type:func rom:0xD2D988
@ -21000,7 +21000,7 @@ pra_35_UnkNpcAIFunc5 = 0x80241F64; // type:func rom:0xD8F1B4
pra_35_UnkNpcAIFunc26 = 0x80241FB8; // type:func rom:0xD8F208
pra_35_UnkFunc7 = 0x8024216C; // type:func rom:0xD8F3BC
func_802423CC_D8F61C = 0x802423CC; // type:func rom:0xD8F61C
func_80242698_D8F8E8 = 0x80242698; // type:func rom:0xD8F8E8
pra_35_UnkNpcAIFunc27 = 0x80242698; // type:func rom:0xD8F8E8
func_80242950_D8FBA0 = 0x80242950; // type:func rom:0xD8FBA0
pra_35_GetItemName = 0x80242A04; // type:func rom:0xD8FC54
pra_35_SomeItemEntityFunc = 0x80242A68; // type:func rom:0xD8FCB8
@ -21970,10 +21970,10 @@ EA0C10_set_script_owner_npc_anim = 0x80241D68; // type:func rom:0xEA2668
EA0C10_UnkDistFunc = 0x80241DE4; // type:func rom:0xEA26E4
EA0C10_UnkNpcAIFunc12 = 0x80241F18; // type:func rom:0xEA2818
EA0C10_set_script_owner_npc_col_height = 0x8024207C; // type:func rom:0xEA297C
func_802420FC_EA29FC = 0x802420FC; // type:func rom:0xEA29FC
func_80242568_EA2E68 = 0x80242568; // type:func rom:0xEA2E68
func_802425B0_EA2EB0 = 0x802425B0; // type:func rom:0xEA2EB0
func_80242608_EA2F08 = 0x80242608; // type:func rom:0xEA2F08
EA0C10_DeadUnkNpcAIMainFunc5 = 0x802420FC; // type:func rom:0xEA29FC
EA0C10_func_80240814_97BE44 = 0x80242568; // type:func rom:0xEA2E68
EA0C10_AwaitPlayerNearNpc = 0x802425B0; // type:func rom:0xEA2EB0
EA0C10_func_802408B4_97BEE4 = 0x80242608; // type:func rom:0xEA2F08
func_8024267C_EA2F7C = 0x8024267C; // type:func rom:0xEA2F7C
EA0C10_GetItemName = 0x80242730; // type:func rom:0xEA3030
EA0C10_GetNpcCollisionHeight = 0x80242794; // type:func rom:0xEA3094
@ -22591,7 +22591,7 @@ __osFlashMessageQ = 0x800B0C58; // type:data
__osFlashHandler = 0x800B0C70; // type:data
__osFlashMsgBuf = 0x800B0CE4; // type:data
__osFlashVersion = 0x800B0CE8; // type:data
D_800B7EF0 = 0x800B7EF0; // type:data
dead_gCurrentEncounter = 0x800B7EF0; // type:data
dead_gCameras = 0x800B8D80; // type:data
D_800B8DEC = 0x800B8DEC; // type:data
_use_partner_ability = 0x800EA6CC; // type:func

View File

@ -1173,7 +1173,7 @@ D_800A1530 = 0x800A1530;
D_800A15A4 = 0x800A15A4;
D_800A15C4 = 0x800A15C4;
D_800A15CC = 0x800A15CC;
D_800B7EF0 = 0x800B7EF0;
dead_gCurrentEncounter = 0x800B7EF0;
D_800B8DEC = 0x800B8DEC;
dead_guMtxIdentF = 0x8006C660;
dead_guMtxCatF = 0x8006C7C0;