NPC AI funcs (#351)

* UnkNpcAIFunc26

* UnkNpcAIFunc27

* UnkNpcAIFunc28/29

* update symbol addrs
This commit is contained in:
Ethan Roseman 2021-08-01 21:06:57 +09:00 committed by GitHub
parent b48eb150d2
commit 8feea763c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
115 changed files with 445 additions and 13053 deletions

View File

@ -46,7 +46,7 @@ EffectInstance* playFX_24(s32, f32, f32, f32, f32, s32);
EffectInstance* playFX_25(s32, f32, f32, f32);
void playFX_26(s32, f32, f32, f32);
EffectInstance* playFX_27(s32, f32, f32, f32, f32, s32);
void fx_sweat(s32, f32, f32, f32, f32, f32, s32);
void fx_sweat(s32, f32 x, f32 y, f32 z, f32, f32, s32);
void fx_sleep_bubble(s32, f32, f32, f32, f32, f32, EffectInstanceData**);
EffectInstance* playFX_2A(s32, f32, f32, f32);
EffectInstance* playFX_2B(s32, f32, f32, f32);

View File

@ -420,43 +420,7 @@ NpcGroupList N(npcGroupList_802425C8) = {
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80240208_C2EDA8)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -495,7 +459,7 @@ ApiStatus N(func_8024061C_C2F1BC)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240208_C2EDA8)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
@ -759,7 +723,7 @@ ApiStatus N(func_802410D4_C2FC74)(ScriptInstance* script, s32 isInitialCall) {
enemy->unk_B0 &= ~4;
}
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(func_80240208_C2EDA8)(script)) {
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -741,43 +741,7 @@ NpcGroupList N(npcGroupList_80244988) = {
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80240458_C31938)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -816,7 +780,7 @@ ApiStatus N(func_8024086C_C31D4C)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240458_C31938)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
@ -1008,7 +972,7 @@ ApiStatus N(func_802419B0_C32E90)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240458_C31938)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
@ -1275,7 +1239,7 @@ ApiStatus N(func_80242480_C33960)(ScriptInstance* script, s32 isInitialCall) {
enemy->unk_B0 &= ~4;
}
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(func_80240458_C31938)(script)) {
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -355,43 +355,7 @@ ApiStatus N(func_80240030_C3AA40)(ScriptInstance* script, s32 isInitialCall) {
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80240268_C3AC78)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -609,7 +573,7 @@ ApiStatus N(func_80240E80_C3B890)(ScriptInstance* script, s32 isInitialCall) {
enemy->unk_B0 &= ~4;
}
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(func_80240268_C3AC78)(script)) {
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
@ -712,7 +676,7 @@ ApiStatus N(func_802411D0_C3BBE0)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240268_C3AC78)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -264,43 +264,7 @@ static const s32 N(pad_1E74)[] = {
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80240208_C3DDF8)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -518,7 +482,7 @@ ApiStatus N(func_80240E20_C3EA10)(ScriptInstance* script, s32 isInitialCall) {
enemy->unk_B0 &= ~4;
}
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(func_80240208_C3DDF8)(script)) {
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
@ -621,7 +585,7 @@ ApiStatus N(func_80241170_C3ED60)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240208_C3DDF8)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -1068,43 +1068,7 @@ ApiStatus N(func_80240B94_C40944)(ScriptInstance* script, s32 isInitialCall) {
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80241098_C40E48)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -1143,7 +1107,7 @@ ApiStatus N(func_802414AC_C4125C)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80241098_C40E48)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -603,43 +603,7 @@ NpcGroupList N(npcGroupList_8024533C) = {
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80240208_C46DE8)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -678,7 +642,7 @@ ApiStatus N(func_8024061C_C471FC)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240208_C46DE8)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
@ -942,7 +906,7 @@ ApiStatus N(func_802410D4_C47CB4)(ScriptInstance* script, s32 isInitialCall) {
enemy->unk_B0 &= ~4;
}
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(func_80240208_C46DE8)(script)) {
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -447,43 +447,7 @@ Script N(makeEntities) = SCRIPT({
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80240208_C4F718)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -522,7 +486,7 @@ ApiStatus N(func_8024061C_C4FB2C)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240208_C4F718)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -621,43 +621,7 @@ NpcGroupList N(npcGroupList_8024318C) = {
#include "world/common/UnkNpcAIFunc5.inc.c"
s32 N(func_80240208_C52748)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
@ -875,7 +839,7 @@ ApiStatus N(func_80240E20_C53360)(ScriptInstance* script, s32 isInitialCall) {
enemy->unk_B0 &= ~4;
}
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(func_80240208_C52748)(script)) {
if (((u32)script->functionTemp[0] - 10 < 20) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}
@ -978,7 +942,7 @@ ApiStatus N(func_80241170_C536B0)(ScriptInstance* script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80240208_C52748)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -20,7 +20,7 @@ INCLUDE_ASM(s32, "world/area_jan/jan_05/B4B260", func_80241494_B4BF04);
#include "world/common/UnkNpcAIFunc4.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_05/B4B260", func_80241708_B4C178);
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
@ -30,224 +30,13 @@ INCLUDE_ASM(s32, "world/area_jan/jan_05/B4B260", func_80241708_B4C178);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_05/B4B260", func_80241AD4_B4C544);
/*
s32 N(func_80241AD4_B4C544)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_05/B4B260", func_80241EE8_B4C958);
/*
ApiStatus N(func_80241EE8_B4C958)(ScriptInstance *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*)get_variable(script, *args++);
#include "world/common/UnkNpcAIFunc27.inc.c"
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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241AD4_B4C544)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
INCLUDE_ASM(s32, "world/area_jan/jan_05/B4B260", func_8024219C_B4CC0C);
/*
ApiStatus N(func_8024219C_B4CC0C)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241AD4_B4C544)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
N(UnkNpcAIFunc4)(script, npcAISettings, territoryPtr);
case 3:
N(func_80241708_B4C178)(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc28.inc.c"
#define NAMESPACE dup_jan_05
#include "world/common/foliage.inc.c"

View File

@ -20,7 +20,7 @@ INCLUDE_ASM(s32, "world/area_jan/jan_06/B52F70", func_80241554_B53D84);
#include "world/common/UnkNpcAIFunc4.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_06/B52F70", func_80241658_B53E88);
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
@ -30,224 +30,13 @@ INCLUDE_ASM(s32, "world/area_jan/jan_06/B52F70", func_80241658_B53E88);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_06/B52F70", func_80241A24_B54254);
/*
s32 N(func_80241A24_B54254)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_06/B52F70", func_80241E38_B54668);
/*
ApiStatus N(func_80241E38_B54668)(ScriptInstance *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*)get_variable(script, *args++);
#include "world/common/UnkNpcAIFunc27.inc.c"
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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241A24_B54254)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
INCLUDE_ASM(s32, "world/area_jan/jan_06/B52F70", func_802420EC_B5491C);
/*
ApiStatus N(func_802420EC_B5491C)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241A24_B54254)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
N(UnkNpcAIFunc4)(script, npcAISettings, territoryPtr);
case 3:
N(func_80241658_B53E88)(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc28.inc.c"
#define NAMESPACE dup_jan_06
#include "world/common/foliage.inc.c"

View File

@ -5,7 +5,7 @@ static char* N(exit_str_1) = "\0\0\0\0";
#include "world/common/UnkNpcAIFunc4.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_07/B59870", func_80240050_B598C0);
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
@ -15,221 +15,10 @@ INCLUDE_ASM(s32, "world/area_jan/jan_07/B59870", func_80240050_B598C0);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_07/B59870", func_8024041C_B59C8C);
/*
s32 N(func_8024041C_B59C8C)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_07/B59870", func_80240830_B5A0A0);
/*
ApiStatus N(func_80240830_B5A0A0)(ScriptInstance *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*)get_variable(script, *args++);
#include "world/common/UnkNpcAIFunc27.inc.c"
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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_8024041C_B59C8C)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
INCLUDE_ASM(s32, "world/area_jan/jan_07/B59870", func_80240AE4_B5A354);
/*
ApiStatus N(func_80240AE4_B5A354)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_8024041C_B59C8C)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
N(UnkNpcAIFunc4)(script, npcAISettings, territoryPtr);
case 3:
N(func_80240050_B598C0)(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc28.inc.c"

View File

@ -4,7 +4,7 @@ INCLUDE_ASM(s32, "world/area_jan/jan_08/B5F650", func_802413A0_B5F650);
#include "world/common/UnkNpcAIFunc4.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_08/B5F650", func_802414A4_B5F754);
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
@ -14,221 +14,10 @@ INCLUDE_ASM(s32, "world/area_jan/jan_08/B5F650", func_802414A4_B5F754);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_08/B5F650", func_80241870_B5FB20);
/*
s32 N(func_80241870_B5FB20)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_08/B5F650", func_80241C84_B5FF34);
/*
ApiStatus N(func_80241C84_B5FF34)(ScriptInstance *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*)get_variable(script, *args++);
#include "world/common/UnkNpcAIFunc27.inc.c"
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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241870_B5FB20)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
INCLUDE_ASM(s32, "world/area_jan/jan_08/B5F650", func_80241F38_B601E8);
/*
ApiStatus N(func_80241F38_B601E8)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241870_B5FB20)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
N(UnkNpcAIFunc4)(script, npcAISettings, territoryPtr);
case 3:
N(func_802414A4_B5F754)(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc28.inc.c"

View File

@ -2,7 +2,7 @@
#include "world/common/UnkNpcAIFunc4.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_09/B663F0", func_80240990_B66440);
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
@ -12,221 +12,10 @@ INCLUDE_ASM(s32, "world/area_jan/jan_09/B663F0", func_80240990_B66440);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_09/B663F0", func_80240D5C_B6680C);
/*
s32 N(func_80240D5C_B6680C)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_09/B663F0", func_80241170_B66C20);
/*
ApiStatus N(func_80241170_B66C20)(ScriptInstance *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*)get_variable(script, *args++);
#include "world/common/UnkNpcAIFunc27.inc.c"
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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240D5C_B6680C)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
INCLUDE_ASM(s32, "world/area_jan/jan_09/B663F0", func_80241424_B66ED4);
/*
ApiStatus N(func_80241424_B66ED4)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240D5C_B6680C)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
N(UnkNpcAIFunc4)(script, npcAISettings, territoryPtr);
case 3:
N(func_80240990_B66440)(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc28.inc.c"

View File

@ -2,7 +2,7 @@
#include "world/common/UnkNpcAIFunc4.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_12/B73570", func_80240510_B735C0);
#include "world/common/UnkNpcAIFunc29.inc.c"
#include "world/common/UnkNpcAIFunc6.inc.c"
@ -12,221 +12,10 @@ INCLUDE_ASM(s32, "world/area_jan/jan_12/B73570", func_80240510_B735C0);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_12/B73570", func_802408DC_B7398C);
/*
s32 N(func_802408DC_B7398C)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_jan/jan_12/B73570", func_80240CF0_B73DA0);
/*
ApiStatus N(func_80240CF0_B73DA0)(ScriptInstance *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*)get_variable(script, *args++);
#include "world/common/UnkNpcAIFunc27.inc.c"
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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_802408DC_B7398C)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
INCLUDE_ASM(s32, "world/area_jan/jan_12/B73570", func_80240FA4_B74054);
/*
ApiStatus N(func_80240FA4_B74054)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_802408DC_B7398C)(script)) {
script->functionTemp[0] = 30;
}
switch (script->functionTemp[0]) {
case 0:
func_800495A0(script, npcAISettings, territoryPtr);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
N(UnkNpcAIFunc4)(script, npcAISettings, territoryPtr);
case 3:
N(func_80240510_B735C0)(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc28.inc.c"

View File

@ -20,136 +20,11 @@ INCLUDE_ASM(s32, "world/area_kzn/kzn_03/C61020", func_802406A4_C613B4);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_03/C61020", func_80240E00_C61B10);
/*
s32 N(func_80240E00_C61B10)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_03/C61020", func_80241214_C61F24);
/*
ApiStatus N(func_80241214_C61F24)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240E00_C61B10)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_03/C61020", func_802414C8_C621D8);

View File

@ -217,136 +217,11 @@ ApiStatus N(func_80242354_C737D4)(ScriptInstance* script, s32 isInitialCall) {
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_08/C71ED0", func_80242744_C73BC4);
/*
s32 N(func_80242744_C73BC4)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_08/C71ED0", func_80242B58_C73FD8);
/*
ApiStatus N(func_80242B58_C73FD8)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80242744_C73BC4)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_08/C71ED0", func_80242E0C_C7428C);

View File

@ -8,136 +8,11 @@
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_09/C77D00", func_80241228_C77F08);
/*
s32 N(func_80241228_C77F08)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_09/C77D00", func_8024163C_C7831C);
/*
ApiStatus N(func_8024163C_C7831C)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241228_C77F08)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_09/C77D00", func_802418F0_C785D0);

View File

@ -8,136 +8,11 @@
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_17/C85DC0", func_80240518_C85FC8);
/*
s32 N(func_80240518_C85FC8)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_17/C85DC0", func_8024092C_C863DC);
/*
ApiStatus N(func_8024092C_C863DC)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240518_C85FC8)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_kzn/kzn_17/C85DC0", func_80240BE0_C86690);

View File

@ -8,136 +8,11 @@
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_01/B93940", func_80240708_B93B48);
/*
s32 N(func_80240708_B93B48)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_01/B93940", func_80240B1C_B93F5C);
/*
ApiStatus N(func_80240B1C_B93F5C)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240708_B93B48)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_01/B93940", func_80240DD0_B94210);

View File

@ -8,136 +8,11 @@
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_05/BA07A0", func_80240278_BA09A8);
/*
s32 N(func_80240278_BA09A8)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_05/BA07A0", func_8024068C_BA0DBC);
/*
ApiStatus N(func_8024068C_BA0DBC)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240278_BA09A8)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_05/BA07A0", func_80240940_BA1070);

View File

@ -8,136 +8,11 @@
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_06/BA4CF0", func_80240778_BA4EF8);
/*
s32 N(func_80240778_BA4EF8)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_06/BA4CF0", func_80240B8C_BA530C);
/*
ApiStatus N(func_80240B8C_BA530C)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240778_BA4EF8)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_06/BA4CF0", func_80240E40_BA55C0);

View File

@ -109,136 +109,11 @@ ApiStatus N(func_802413AC_BAECEC)(ScriptInstance* script, s32 isInitialCall) {
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_08/BAD940", func_802417A0_BAF0E0);
/*
s32 N(func_802417A0_BAF0E0)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_08/BAD940", func_80241BB4_BAF4F4);
/*
ApiStatus N(func_80241BB4_BAF4F4)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_802417A0_BAF0E0)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_mim/mim_08/BAD940", func_80241E68_BAF7A8);

View File

@ -119,49 +119,12 @@ ApiStatus N(func_80241AB4_D8ED04)(ScriptInstance* script, s32 isInitialCall) {
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_pra/pra_35/D8D270", func_80241FB8_D8F208);
/*
s32 N(func_80241FB8_D8F208)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
//#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_pra/pra_35/D8D270", func_802423CC_D8F61C);
INCLUDE_ASM(s32, "world/area_pra/pra_35/D8D270", func_80242698_D8F8E8);
@ -201,7 +164,7 @@ ApiStatus N(func_80242698_D8F8E8)(ScriptInstance *script, s32 isInitialCall) {
enemy->varTable[0] = 0;
}
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(func_80241FB8_D8F208)(script)) {
if ((script->functionTemp[0] < 30) && (enemy->varTable[0] == 0) && N(UnkNpcAIFunc26)(script)) {
script->functionTemp[0] = 30;
}

View File

@ -12,133 +12,8 @@ INCLUDE_ASM(s32, "world/area_pra/pra_37/D92F40", func_80240000_D92F40);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_pra/pra_37/D92F40", func_80241158_D94098);
/*
s32 N(func_80241158_D94098)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_pra/pra_37/D92F40", func_8024156C_D944AC);
/*
ApiStatus N(func_8024156C_D944AC)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80241158_D94098)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"

View File

@ -13,133 +13,8 @@ INCLUDE_ASM(s32, "world/area_sam/sam_03/D110C0", func_80240000_D110C0);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_03/D110C0", func_80240258_D11318);
/*
s32 N(func_80240258_D11318)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_03/D110C0", func_8024066C_D1172C);
/*
ApiStatus N(func_8024066C_D1172C)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240258_D11318)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"

View File

@ -11,136 +11,11 @@ static char* N(exit_str_1) = "sam_06";
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_05/D187E0", func_80240208_D189E8);
/*
s32 N(func_80240208_D189E8)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_05/D187E0", func_8024061C_D18DFC);
/*
ApiStatus N(func_8024061C_D18DFC)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240208_D189E8)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_05/D187E0", func_802408D0_D190B0);

View File

@ -21,136 +21,11 @@ INCLUDE_ASM(s32, "world/area_sam/sam_07/D2BD30", func_802405B0_D2C2E0);
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_07/D2BD30", func_80240858_D2C588);
/*
s32 N(func_80240858_D2C588)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_07/D2BD30", func_80240C6C_D2C99C);
/*
ApiStatus N(func_80240C6C_D2C99C)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240858_D2C588)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_07/D2BD30", func_80240F20_D2CC50);

View File

@ -8,136 +8,11 @@
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_08/D309C0", func_80240F48_D30BC8);
/*
s32 N(func_80240F48_D30BC8)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_08/D309C0", func_8024135C_D30FDC);
/*
ApiStatus N(func_8024135C_D30FDC)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_80240F48_D30BC8)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_08/D309C0", func_80241610_D31290);

View File

@ -8,133 +8,8 @@
#include "world/common/UnkNpcAIFunc5.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_10/D37BD0", func_802405D8_D37DD8);
/*
s32 N(func_802405D8_D37DD8)(ScriptInstance *script) {
PlayerStatus** playerStatus = &gPlayerStatusPtr;
Enemy* enemy = script->owner1.enemy;
Npc *npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, (*playerStatus)->position.x, (*playerStatus)->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - (*playerStatus)->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}
*/
#include "world/common/UnkNpcAIFunc26.inc.c"
#include "world/common/UnkFunc7.inc.c"
INCLUDE_ASM(s32, "world/area_sam/sam_10/D37BD0", func_802409EC_D381EC);
/*
ApiStatus N(func_802409EC_D381EC)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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(func_802405D8_D37DD8)(script)) {
script->functionTemp[0] = 30;
}
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}
*/
#include "world/common/UnkNpcAIFunc27.inc.c"

View File

@ -0,0 +1,40 @@
#include "common.h"
#include "map.h"
s32 N(UnkNpcAIFunc26)(ScriptInstance* script) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
Camera* camera = &gCameras[gCurrentCamID];
Enemy* enemy2 = get_enemy(enemy->npcID + 1);
f32 phi_f20;
s32 ret = TRUE;
if (dist2D(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z) > enemy2->varTable[2]) {
ret = FALSE;
}
if (clamp_angle(get_clamped_angle_diff(camera->currentYaw, npc->yaw)) < 180.0) {
phi_f20 = 90.0f;
} else {
phi_f20 = 270.0f;
}
if (fabsf(get_clamped_angle_diff(phi_f20, atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x,
gPlayerStatusPtr->position.z))) > enemy2->varTable[3]) {
ret = FALSE;
}
if ((2.0 * npc->collisionHeight) <= fabsf(npc->pos.y - gPlayerStatusPtr->position.y)) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 9) {
ret = FALSE;
}
if (D_8010EBB0.unk_03 == 7) {
ret = FALSE;
}
return ret;
}

View File

@ -0,0 +1,87 @@
#include "common.h"
#include "map.h"
ApiStatus N(UnkNpcAIFunc27)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim.w = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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);
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_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}

View File

@ -0,0 +1,87 @@
#include "common.h"
#include "map.h"
ApiStatus N(UnkNpcAIFunc28)(ScriptInstance *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*)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;
if (isInitialCall || (enemy->unk_B0 & 4)) {
script->functionTemp[0] = 0;
npc->duration = 0;
npc->currentAnim.w = enemy->animList[0];
npc->flags &= ~0x800;
if (!enemy->territory->wander.isFlying) {
npc->flags = (npc->flags | 0x200) & ~0x8;
} else {
npc->flags = (npc->flags & ~0x200) | 0x8;
}
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);
case 1:
func_800496B8(script, npcAISettings, territoryPtr);
break;
case 2:
N(UnkNpcAIFunc4)(script, npcAISettings, territoryPtr);
case 3:
N(UnkNpcAIFunc29)(script, npcAISettings, territoryPtr);
break;
case 10:
func_80049E3C(script, npcAISettings, territoryPtr);
case 11:
func_80049ECC(script, npcAISettings, territoryPtr);
break;
case 12:
func_80049F7C(script, npcAISettings, territoryPtr);
case 13:
func_8004A124(script, npcAISettings, territoryPtr);
break;
case 14:
func_8004A3E8(script, npcAISettings, territoryPtr);
break;
case 30:
N(UnkNpcAIFunc6)(script);
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);
}
return ApiStatus_BLOCK;
}

View File

@ -0,0 +1,67 @@
#include "common.h"
#include "map.h"
#include "effects.h"
void N(UnkNpcAIFunc29)(ScriptInstance *script, NpcAISettings* aiSettings, EnemyTerritoryThing* territory) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
s32 d100;
if (enemy->varTable[0] == 0) {
if (rand_int(100) >= 50) {
enemy->varTable[0] = 3;
} else {
enemy->varTable[0] = 1;
}
set_npc_yaw(npc, 270.0f);
}
switch (enemy->varTable[0]) {
case 1:
enemy->varTable[0] = 2;
enemy->varTable[1] = 0;
npc->currentAnim.w = 0x42000F;
case 2:
enemy->varTable[1]++;
if (enemy->varTable[1] > 50) {
enemy->varTable[0] = 5;
}
break;
case 3:
enemy->varTable[0] = 4;
enemy->varTable[1] = 0;
npc->currentAnim.w = 0x420010;
case 4:
enemy->varTable[1]++;
if (enemy->varTable[1] == 0x19) {
npc->yaw = 90.0f;
}
if (enemy->varTable[1] > 60) {
enemy->varTable[0] = 5;
}
break;
case 5:
enemy->varTable[0] = 6;
enemy->varTable[1] = 0;
npc->currentAnim.w = 0x420003;
fx_sweat(0, npc->pos.x, npc->pos.y, npc->pos.z, npc->collisionHeight, 0, 0xA);
case 6:
enemy->varTable[1]++;
if (enemy->varTable[1] > 10) {
d100 = rand_int(100);
if (d100 < 90) {
enemy->varTable[0] = 7;
} else if (d100 >= 95) {
enemy->varTable[0] = 3;
} else {
enemy->varTable[0] = 1;
}
}
break;
}
if (enemy->varTable[0] == 7) {
script->functionTemp[0] = 0;
}
}

View File

@ -1,7 +1,7 @@
#include "common.h"
#include "map.h"
void N(UnkNpcAIFunc4)(ScriptInstance* script) {
void N(UnkNpcAIFunc4)(ScriptInstance* script, NpcAISettings* aiSettings, EnemyTerritoryThing* territory) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);

View File

@ -3,7 +3,7 @@
import glob
import os
print_funcs = True
print_funcs = False
sizes = {}

View File

@ -141,7 +141,7 @@ glabel D_80249DCC
.word D_8024BA60, 0x18000000, 0x00000120, 0x00C00000, filemenu_draw_contents_copy_arrow, 0x00000000, 0x2C000000, 0x00000001, 0x00000000, D_8024BA98, 0x17000000, 0x00000140, 0x00F00000, filemenu_draw_cursor, 0x00000000, 0xFF000000, 0x00000001, 0x00000000, D_8024BA98, 0x00000000, 0x00000000
glabel D_80249E20
.word 0x802423DC, func_80242434_9D9454, 0x8024248C, 0x802424E4, D_8024253C_AB46AC, 0x80242594, dgb_16_npcGroup_802425EC, 0x80242408, flo_14_updateTexturePan_80242460, 0x802424B8, D_80242510_D95450, D_80242568_A4EF88, 0x802425C0, D_80242618_9800E8, 0x802422D4, 0x80242300, mac_02_SetCamVfov, func_80242358_DCF028, func_80242384_833B84, D_802423B0_9EDBA0
.word 0x802423DC, func_80242434_9D9454, 0x8024248C, 0x802424E4, D_8024253C_AB46AC, 0x80242594, dgb_16_npcGroup_802425EC, 0x80242408, flo_14_updateTexturePan_80242460, 0x802424B8, 0x80242510, D_80242568_A4EF88, 0x802425C0, D_80242618_9800E8, 0x802422D4, 0x80242300, mac_02_SetCamVfov, func_80242358_DCF028, func_80242384_833B84, D_802423B0_9EDBA0
glabel D_80249E70
.word 0x00000102, 0x02030405, 0x06000001, 0x02020306, 0x06060000, 0x01020203, 0x06060600, 0x00010202, 0x03060606, 0x00000102, 0x02030606, 0x06000000

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,45 +0,0 @@
.include "macro.inc"
.section .data
glabel D_8024BAA0_966CA0
.word 0x00000043, 0x00000006, RotateModel, 0x00000067, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BAD0_966CD0
.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000005, TranslateModel, 0x00000062, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000061, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000062, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000061, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000064, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000065, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BBB8_966DB8
.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000005, TranslateModel, 0x00000067, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000067, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BC24_966E24
.word 0x00000043, 0x00000006, RotateModel, 0x00000053, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BC54_966E54
.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000005, TranslateModel, 0x0000002F, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000030, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002F, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000030, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000029, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002A, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002B, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002C, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002D, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BD9C_966F9C
.word 0x00000043, 0x00000006, RotateModel, 0x0000009D, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BDCC_966FCC
.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002A, 0x00000002, 0xFE363C81, 0x0000002D, 0x00000043, 0x00000005, TranslateModel, 0x0000009D, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000009D, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BE38_967038
.word 0x0000000A, 0x00000002, 0xFE363C80, 0x0000005A, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000008E, 0x00000001, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002A, 0x00000002, 0xFE363C81, 0x0000002D, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C82, 0xFFFFFFA6, 0x0000002A, 0x00000002, 0xFE363C82, 0xFFFFFFA6, 0x00000043, 0x00000005, TranslateModel, 0x0000008C, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008A, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000089, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000088, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000087, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008F, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024BFDC_9671DC
.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000007F, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000007F, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024C040_967240
.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFBE, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D017B, 0x000000A0, 0x00000028, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000018, 0x00000001, 0xFFFFFFBF, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000052, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0x00000021, 0x00000000, 0xFFFFFE89, 0x00000043, 0x00000003, SetNpcYaw, 0x00000006, 0x000000B4, 0x00000057, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000052, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E84, 0x00000000, 0x00000024, 0x00000002, 0xF70F2E85, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024C190_967390
.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000009C, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x0000009C, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024C200_967400
.word 0x00000002, 0xFFFFFFFF
glabel D_8024C208_967408
.word 0x00000006, 0xFFFFFFFF
glabel D_8024C210_967410
.word 0x00000005, 0xFFFFFFFF, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000005, D_8024BAA0_966CA0, D_8024BAD0_966CD0, D_8024BBB8_966DB8, D_8024BFDC_9671DC, 0x0000000F, 0x00000010, 0x00000080, D_8024C200_967400, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000005, D_8024BC24_966E24, D_8024BC54_966E54, 0x00000000, D_8024C040_967240, 0x00000017, 0x00000018, 0x0000005B, D_8024C208_967408, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000005, D_8024BD9C_966F9C, D_8024BE38_967038, D_8024BDCC_966FCC, D_8024C190_967390, 0x0000001D, 0x0000001E, 0x0000009F, D_8024C210_967410, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_8024BFDC_9671DC, 0x00000044, 0x00000001, D_8024C040_967240, 0x00000044, 0x00000001, D_8024C190_967390, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x00000009, 0x00000043, 0x00000005, MakeLerp, 0x0000000A, 0xFFFFFFF6, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000022, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFF6, 0x0000000A, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x0000000B, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000022, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000B, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000009, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000052, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000017, 0x000001C1, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000064, 0x0000000F, 0x00000004, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000044, 0x00000001, D_8024BC24_966E24, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000064, 0x00000000, 0x0000000F, 0x00000004, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000044, 0x00000001, D_8024BC24_966E24, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000017, 0x000001C2, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000052, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -1,24 +0,0 @@
.include "macro.inc"
.section .data
glabel D_8024D3C0_9685C0
.word 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C8F, 0xFE363C87, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dro_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0x00000001, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000153, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dro_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xFFFFFFFF, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000033, 0x00000003, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000033, 0x00000003, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000046, 0x00000001, 0xFE363C84, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024D720_968920
.word 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, PlaySound, 0x00000165, 0x00000043, 0x00000002, PlaySound, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dro_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, dro_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, dro_01_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, dro_01_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, TranslateModel, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024DD24_968F24
.word 0x00000001, 0x0000000D
glabel D_8024DD2C_968F2C
.word 0x00000001, 0x0000000E
glabel D_8024DD34_968F34
.word 0x00000001, 0x00000157, 0x00000078, 0x0000005C, 0xFFFFFFEE, 0x0000000F, 0xF8405E78, 0x00000000
glabel D_8024DD54_968F54
.word D_8024DD24_968F24, D_8024DD2C_968F2C, D_8024DD34_968F34, 0x00000000, 0x00000000
glabel D_8024DD68_968F68
.word 0x42F00000, 0x00000000, 0xC22C0000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_8024DD54_968F54, 0x00000047, 0x00000005, D_8024D720_968920, 0x00001000, 0x0000000B, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_8024D720_968920, 0x00100000, D_8024DD68_968F68, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000

View File

@ -1,6 +0,0 @@
.include "macro.inc"
.section .data
glabel D_80243A70_96CC30
.word 0xC3EC8000, 0x00000000, 0x41400000, 0x42B40000, 0x43CF8000, 0x420C0000, 0xC1700000, 0x43340000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80243EE0, D_80243A70_96CC30, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, func_80200000, 0x00190094, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000003, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000015, 0x00000000, 0x00000008, 0x00000020, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000088, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000086, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,6 +0,0 @@
.include "macro.inc"
.section .data
glabel D_80243BD0_96CD90
.word 0x00000043, 0x00000007, MakeItemEntity, 0x0000003D, 0xFFFFFF79, 0x000000A0, 0xFFFFFF0B, 0x00000011, 0xF8405E75, 0x00000043, 0x00000008, MakeEntity, 0x802EAB04, 0x000000B4, 0x000000AD, 0xFFFFFF38, 0x00000000, 0x00000020, D_80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405E74, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
glabel D_80243C40_96CE00
.word 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x8024EF10, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80243C9C_96CE5C
.word 0x00000047, 0x00000005, D_80243C40_96CE00, 0x00080000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80243CC8_96CE88
.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x001D017C, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80243D10_96CED0
.word 0x00000043, 0x00000002, PlaySound, 0x80000060, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0x000000BE, 0x00000000, 0xFFFFFFDB, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x000000BE, 0x00000000, 0xFFFFFFDB, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xF24D9A80, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xF24AAE80, 0xF24A5280, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000004, func_80240000_9691C0, 0x00000002, 0x00000000, 0x00000003, 0x00000043, 0x00000004, func_80240000_9691C0, 0x00000001, 0xFFFFFFFF, 0x00000003, 0x00000043, 0x0000000B, func_80240124_9692E4, 0x00000003, 0x0000002C, 0x00000020, 0x000000B1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000005, ShakeCam, 0x00000000, 0x00000000, 0x0000012C, 0xF24A7B4D, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000043, 0x00000003, GotoMap, 0x8024EF18, 0x00000006, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GotoMap, 0x8024EF18, 0x00000007, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000009, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024EEF4, 0x00000043, 0x00000001, InitVirtualEntityList, 0x00000046, 0x00000001, D_80243BD0_96CD90, 0x00000046, 0x00000001, 0x80244C78, 0x00000044, 0x00000001, 0x80243AF0, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001D, 0x00000001, 0x00000002, 0x0000001D, 0x00000001, 0x00000003, 0x00000046, 0x00000001, D_80243D10_96CED0, 0x00000020, 0x00000000, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80243C9C_96CE5C, 0x00000044, 0x00000001, EnterWalk, 0x00000023, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000A2, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x0000007B, 0x00000027, 0x00000002, 0xFE363C80, 0x000001A4, 0x0000000D, 0x00000002, 0xFE363C80, 0x00010000, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFF0000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000001, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000007B, 0x00000057, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000000, 0x00000047, 0x00000005, D_80243CC8_96CE88, 0x00000100, 0x00000038, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000C, 0x00000002, 0xFE363C82, 0xFFFFFF38, 0x00000043, 0x00000003, EnableGroup, 0x000000A3, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x000000A3, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7FD6, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,42 +0,0 @@
.include "macro.inc"
.section .data
glabel D_802441C0_96D380
.word 0x00000003, 0x00000001, 0x00000009, 0x00000043, 0x00000005, MakeLerp, 0x0000000A, 0xFFFFFFF6, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000030, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFF6, 0x0000000A, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x0000000B, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000030, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000B, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000009, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000002A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000027, 0x00000002, 0xFE363C80, 0x00000012, 0x00000043, 0x00000006, RotateModel, 0x00000015, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80244340_96D500
.word 0x00000043, 0x00000006, RotateModel, 0x0000006C, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000006E, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80244390_96D550
.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000005, TranslateModel, 0x00000068, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x00000069, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000006A, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000068, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000069, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000006A, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80244474_96D634
.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000005, TranslateModel, 0x0000006C, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, TranslateModel, 0x0000006E, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000006C, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000006E, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024451C_96D6DC
.word 0x00000043, 0x00000006, RotateModel, 0x0000003E, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024454C_96D70C
.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, RotateGroup, 0x0000003D, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024459C_96D75C
.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7FD6, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80244600_96D7C0
.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000057, 0x00000001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8680, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7FD6, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024468C_96D84C
.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000084, 0x00000001, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000104, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000016, 0xFFFFFFF3, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0x00000000, 0x00000122, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0x00000000, 0xFFFFFEDE, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFE75, 0x0000008C, 0xFFFFFF6A, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFE93, 0x0000008C, 0xFFFFFF6F, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000014, 0xFFFFFFF9, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000190, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A8A80, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000084, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7FD6, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024486C_96DA2C
.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, func_802D2C14, 0x00000001, 0x00000043, 0x00000004, PlayerMoveTo, 0x000000E6, 0x0000000A, 0x00000014, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000008, 0x7FFFFE00, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000008, 0x000001C1, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000012, 0x00000050, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000015, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0x000000E6, 0xFFFFFFBA, 0x0000000F, 0x00000043, 0x00000005, MakeLerp, 0x00000050, 0x00000012, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000015, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x00000008, 0x000001C2, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x00000008, 0x7FFFFE00, 0x00000043, 0x00000002, func_802D2C14, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80244A68_96DC28
.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, func_802D2C14, 0x00000001, 0x00000043, 0x00000004, PlayerMoveTo, 0x000000E6, 0xFFFFFFBA, 0x00000014, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x0000000A, 0x7FFFFE00, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000000A, 0x000001C1, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000012, 0x00000050, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000015, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0x000000E6, 0x0000000A, 0x0000000F, 0x00000043, 0x00000005, MakeLerp, 0x00000050, 0x00000012, 0x0000000A, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000015, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0x0000000A, 0x000001C2, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0x0000000A, 0x7FFFFE00, 0x00000043, 0x00000002, func_802D2C14, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80244C64_96DE24
.word 0x00000002, 0x00000005, 0xFFFFFFFF
glabel D_80244C70_96DE30
.word 0x00000003, 0xFFFFFFFF, 0x00000044, 0x00000001, D_802441C0_96D380, 0x00000043, 0x00000003, ParentColliderToModel, 0x00000008, 0x00000015, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFC0, 0x00000043, 0x00000006, RotateModel, 0x00000015, 0x00000012, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, UpdateColliderTransform, 0x00000008, 0x00000013, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000004, D_80244340_96D500, D_80244390_96D550, D_80244474_96D634, D_8024468C_96D84C, 0x0000000F, 0x00000010, 0x00000085, D_80244C64_96DE24, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFC0, 0x00000047, 0x00000005, D_8024486C_96DA2C, 0x00000100, 0x00000008, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80244A68_96DC28, 0x00000100, 0x0000000A, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00001005, D_8024451C_96D6DC, D_8024454C_96D70C, 0x00000000, D_80244600_96D7C0, 0x0000000C, 0x0000000D, 0x0000005E, D_80244C70_96DE30, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_8024468C_96D84C, 0x00000044, 0x00000001, D_8024459C_96D75C, 0x00000044, 0x00000001, D_80244600_96D7C0, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000

File diff suppressed because one or more lines are too long

View File

@ -66,7 +66,7 @@ glabel D_80245210_B4FC80
.word 0x3FD9999A, 0x00000064, 0x00000001, 0x42C80000, 0x41F00000, 0x00000001, 0x40600000, 0x00000014, 0x00000001, 0x42F00000, 0x00000000, 0x00000001
glabel D_80245240_B4FCB0
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, func_8024219C_B4CC0C, D_80245210_B4FC80, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, jan_05_UnkNpcAIFunc28, D_80245210_B4FC80, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_802452B0_B4FD20
.word 0x00000000, 0x00170016, 0x00000000, 0x00000000, D_80245240_B4FCB0, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00100000

View File

@ -45,7 +45,7 @@ glabel D_802450A8_B578D8
.word 0x3FD9999A, 0x00000064, 0x00000001, 0x42C80000, 0x41F00000, 0x00000001, 0x40600000, 0x00000014, 0x00000001, 0x42F00000, 0x00000000, 0x00000001
glabel D_802450D8_B57908
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, func_802420EC_B5491C, D_802450A8_B578D8, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, jan_06_UnkNpcAIFunc28, D_802450A8_B578D8, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80245148_B57978
.word 0x00000000, 0x00170016, 0x00000000, 0x00000000, D_802450D8_B57908, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00100000

View File

@ -15,7 +15,7 @@ glabel D_80241574_B5ADE4
.word 0x3FD9999A, 0x00000064, 0x00000001, 0x42C80000, 0x41F00000, 0x00000001, 0x40600000, 0x00000014, 0x00000001, 0x42F00000, 0x00000000, 0x00000001
glabel D_802415A4_B5AE14
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, func_80240AE4_B5A354, D_80241574_B5ADE4, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, jan_07_UnkNpcAIFunc28, D_80241574_B5ADE4, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80241614_B5AE84
.word 0x00000000, 0x00170016, 0x00000000, 0x00000000, D_802415A4_B5AE14, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00100000

View File

@ -57,7 +57,7 @@ glabel D_80245018_B632C8
.word 0x3FD9999A, 0x00000064, 0x00000001, 0x42C80000, 0x41F00000, 0x00000001, 0x40600000, 0x00000014, 0x00000001, 0x42F00000, 0x00000000, 0x00000001
glabel D_80245048_B632F8
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, func_80241F38_B601E8, D_80245018_B632C8, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, jan_08_UnkNpcAIFunc28, D_80245018_B632C8, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_802450B8_B63368
.word 0x00000000, 0x00170016, 0x00000000, 0x00000000, D_80245048_B632F8, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00100000

View File

@ -219,7 +219,7 @@ glabel D_80244FB8_B6AA68
.word 0x3FD9999A, 0x00000064, 0x00000001, 0x42C80000, 0x41F00000, 0x00000001, 0x40600000, 0x00000014, 0x00000001, 0x42F00000, 0x00000000, 0x00000001
glabel D_80244FE8_B6AA98
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, func_80241424_B66ED4, D_80244FB8_B6AA68, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, jan_09_UnkNpcAIFunc28, D_80244FB8_B6AA68, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80245058_B6AB08
.word 0x00000000, 0x00170016, 0x00000000, 0x00000000, D_80244FE8_B6AA98, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00100000

View File

@ -15,7 +15,7 @@ glabel D_80242DFC_B75EAC
.word 0x3FD9999A, 0x00000064, 0x00000001, 0x42C80000, 0x41F00000, 0x00000001, 0x40600000, 0x00000014, 0x00000001, 0x42F00000, 0x00000000, 0x00000001
glabel D_80242E2C_B75EDC
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, func_80240FA4_B74054, D_80242DFC_B75EAC, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000C, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000009, 0x00000043, 0x00000002, jan_12_UnkNpcAIFunc28, D_80242DFC_B75EAC, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80242E9C_B75F4C
.word 0x00000000, 0x00170016, 0x00000000, 0x00000000, D_80242E2C_B75EDC, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00100000

View File

@ -30,7 +30,7 @@ glabel D_80241F1C_D94E5C
.word 0x3FC00000, 0x00000078, 0x0000001E, 0x42C80000, 0x42200000, 0x00000007, 0x40733333, 0x0000005A, 0x0000000F, 0x43480000, 0x43200000, 0x00000001
glabel D_80241F4C_D94E8C
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000007, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000006, 0x00000043, 0x00000002, func_8024156C_D944AC, D_80241F1C_D94E5C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000007, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000006, 0x00000043, 0x00000002, pra_37_UnkNpcAIFunc27, D_80241F1C_D94E5C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80241FBC_D94EFC
.word 0x00000000, 0x00240022, 0x00000000, 0x00000000, D_80241F4C_D94E8C, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00170000

View File

@ -33,7 +33,7 @@ glabel D_802419AC_D12A6C
.word 0x3F000000, 0x0000003C, 0x0000000F, 0x42C80000, 0x00000000, 0x0000000A, 0x40600000, 0x000000B4, 0x00000014, 0x43160000, 0x00000000, 0x00000001
glabel D_802419DC_D12A9C
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000D, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000001E, 0x00000043, 0x00000002, func_8024066C_D1172C, D_802419AC_D12A6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000D, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000001E, 0x00000043, 0x00000002, sam_03_UnkNpcAIFunc27, D_802419AC_D12A6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80241A4C_D12B0C
.word 0x00000000, 0x00300024, 0x00000000, 0x00000000, D_802419DC_D12A9C, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00160000

View File

@ -15,7 +15,7 @@ glabel D_80242234_D1AA14
.word 0x3F000000, 0x0000003C, 0x0000000F, 0x42C80000, 0x00000000, 0x0000000A, 0x40600000, 0x000000B4, 0x00000014, 0x43160000, 0x00000000, 0x00000001
glabel D_80242264_D1AA44
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000D, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000001E, 0x00000043, 0x00000002, func_8024061C_D18DFC, D_80242234_D1AA14, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000D, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000001E, 0x00000043, 0x00000002, sam_05_UnkNpcAIFunc27, D_80242234_D1AA14, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_802422D4_D1AAB4
.word 0x00000000, 0x00300024, 0x00000000, 0x00000000, D_80242264_D1AA44, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00160000

View File

@ -9,7 +9,7 @@ glabel D_80242D4C_D2EA7C
.word 0x3F000000, 0x0000003C, 0x0000000F, 0x42C80000, 0x00000000, 0x0000000A, 0x40600000, 0x000000B4, 0x00000014, 0x43160000, 0x00000000, 0x00000001
glabel D_80242D7C_D2EAAC
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000D, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000001E, 0x00000043, 0x00000002, func_80240C6C_D2C99C, D_80242D4C_D2EA7C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000005, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x0000000D, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x0000001E, 0x00000043, 0x00000002, sam_07_UnkNpcAIFunc27, D_80242D4C_D2EA7C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_80242DEC_D2EB1C
.word 0x00000000, 0x00300024, 0x00000000, 0x00000000, D_80242D7C_D2EAAC, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00160000

View File

@ -18,7 +18,7 @@ glabel D_80242344_D31FC4
.word 0x3FC00000, 0x00000078, 0x0000001E, 0x42C80000, 0x42200000, 0x00000007, 0x40733333, 0x0000005A, 0x0000000F, 0x43480000, 0x43200000, 0x00000001
glabel D_80242374_D31FF4
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000007, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000006, 0x00000043, 0x00000002, func_8024135C_D30FDC, D_80242344_D31FC4, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000007, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000006, 0x00000043, 0x00000002, sam_08_UnkNpcAIFunc27, D_80242344_D31FC4, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_802423E4_D32064
.word 0x00000000, 0x00240022, 0x00000000, 0x00000000, D_80242374_D31FF4, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00170000

View File

@ -30,7 +30,7 @@ glabel D_8024266C_D39E6C
.word 0x3FC00000, 0x00000078, 0x0000001E, 0x42C80000, 0x42200000, 0x00000007, 0x40733333, 0x0000005A, 0x0000000F, 0x43480000, 0x43200000, 0x00000001
glabel D_8024269C_D39E9C
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000007, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000006, 0x00000043, 0x00000002, func_802409EC_D381EC, D_8024266C_D39E6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
.word 0x00000043, 0x00000003, SetSelfVar, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetSelfVar, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetSelfVar, 0x00000002, 0x00000007, 0x00000043, 0x00000003, SetSelfVar, 0x00000003, 0x00000006, 0x00000043, 0x00000002, sam_10_UnkNpcAIFunc27, D_8024266C_D39E6C, 0x00000002, 0x00000000, 0x00000001, 0x00000000
glabel D_8024270C_D39F0C
.word 0x00000000, 0x00240022, 0x00000000, 0x00000000, D_8024269C_D39E9C, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00170000

View File

@ -1,136 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80247A78_B524E8
.word L80241788_B4C1F8, L802417A0_B4C210, L802417C0_B4C230, L802417D8_B4C248, L80241814_B4C284, L80241860_B4C2D0
.section .text
glabel func_80241708_B4C178
/* B4C178 80241708 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B4C17C 8024170C AFB20028 */ sw $s2, 0x28($sp)
/* B4C180 80241710 0080902D */ daddu $s2, $a0, $zero
/* B4C184 80241714 AFBF002C */ sw $ra, 0x2c($sp)
/* B4C188 80241718 AFB10024 */ sw $s1, 0x24($sp)
/* B4C18C 8024171C AFB00020 */ sw $s0, 0x20($sp)
/* B4C190 80241720 8E500148 */ lw $s0, 0x148($s2)
/* B4C194 80241724 0C00EABB */ jal get_npc_unsafe
/* B4C198 80241728 86040008 */ lh $a0, 8($s0)
/* B4C19C 8024172C 8E03006C */ lw $v1, 0x6c($s0)
/* B4C1A0 80241730 1460000B */ bnez $v1, .L80241760
/* B4C1A4 80241734 0040882D */ daddu $s1, $v0, $zero
/* B4C1A8 80241738 0C00A67F */ jal rand_int
/* B4C1AC 8024173C 24040064 */ addiu $a0, $zero, 0x64
/* B4C1B0 80241740 28420032 */ slti $v0, $v0, 0x32
/* B4C1B4 80241744 14400002 */ bnez $v0, .L80241750
/* B4C1B8 80241748 24020001 */ addiu $v0, $zero, 1
/* B4C1BC 8024174C 24020003 */ addiu $v0, $zero, 3
.L80241750:
/* B4C1C0 80241750 AE02006C */ sw $v0, 0x6c($s0)
/* B4C1C4 80241754 3C054387 */ lui $a1, 0x4387
/* B4C1C8 80241758 0C00ECD0 */ jal set_npc_yaw
/* B4C1CC 8024175C 0220202D */ daddu $a0, $s1, $zero
.L80241760:
/* B4C1D0 80241760 8E02006C */ lw $v0, 0x6c($s0)
/* B4C1D4 80241764 2443FFFF */ addiu $v1, $v0, -1
/* B4C1D8 80241768 2C620006 */ sltiu $v0, $v1, 6
/* B4C1DC 8024176C 1040004D */ beqz $v0, .L802418A4
/* B4C1E0 80241770 00031080 */ sll $v0, $v1, 2
/* B4C1E4 80241774 3C018024 */ lui $at, %hi(jtbl_80247A78_B524E8)
/* B4C1E8 80241778 00220821 */ addu $at, $at, $v0
/* B4C1EC 8024177C 8C227A78 */ lw $v0, %lo(jtbl_80247A78_B524E8)($at)
/* B4C1F0 80241780 00400008 */ jr $v0
/* B4C1F4 80241784 00000000 */ nop
glabel L80241788_B4C1F8
/* B4C1F8 80241788 3C030042 */ lui $v1, 0x42
/* B4C1FC 8024178C 3463000F */ ori $v1, $v1, 0xf
/* B4C200 80241790 24020002 */ addiu $v0, $zero, 2
/* B4C204 80241794 AE02006C */ sw $v0, 0x6c($s0)
/* B4C208 80241798 AE000070 */ sw $zero, 0x70($s0)
/* B4C20C 8024179C AE230028 */ sw $v1, 0x28($s1)
glabel L802417A0_B4C210
/* B4C210 802417A0 8E020070 */ lw $v0, 0x70($s0)
/* B4C214 802417A4 24420001 */ addiu $v0, $v0, 1
/* B4C218 802417A8 AE020070 */ sw $v0, 0x70($s0)
/* B4C21C 802417AC 28420033 */ slti $v0, $v0, 0x33
/* B4C220 802417B0 1440003C */ bnez $v0, .L802418A4
/* B4C224 802417B4 24020005 */ addiu $v0, $zero, 5
/* B4C228 802417B8 08090629 */ j .L802418A4
/* B4C22C 802417BC AE02006C */ sw $v0, 0x6c($s0)
glabel L802417C0_B4C230
/* B4C230 802417C0 3C030042 */ lui $v1, 0x42
/* B4C234 802417C4 34630010 */ ori $v1, $v1, 0x10
/* B4C238 802417C8 24020004 */ addiu $v0, $zero, 4
/* B4C23C 802417CC AE02006C */ sw $v0, 0x6c($s0)
/* B4C240 802417D0 AE000070 */ sw $zero, 0x70($s0)
/* B4C244 802417D4 AE230028 */ sw $v1, 0x28($s1)
glabel L802417D8_B4C248
/* B4C248 802417D8 8E020070 */ lw $v0, 0x70($s0)
/* B4C24C 802417DC 24030019 */ addiu $v1, $zero, 0x19
/* B4C250 802417E0 24420001 */ addiu $v0, $v0, 1
/* B4C254 802417E4 14430005 */ bne $v0, $v1, .L802417FC
/* B4C258 802417E8 AE020070 */ sw $v0, 0x70($s0)
/* B4C25C 802417EC 3C0142B4 */ lui $at, 0x42b4
/* B4C260 802417F0 44810000 */ mtc1 $at, $f0
/* B4C264 802417F4 00000000 */ nop
/* B4C268 802417F8 E620000C */ swc1 $f0, 0xc($s1)
.L802417FC:
/* B4C26C 802417FC 8E020070 */ lw $v0, 0x70($s0)
/* B4C270 80241800 2842003D */ slti $v0, $v0, 0x3d
/* B4C274 80241804 14400027 */ bnez $v0, .L802418A4
/* B4C278 80241808 24020005 */ addiu $v0, $zero, 5
/* B4C27C 8024180C 08090629 */ j .L802418A4
/* B4C280 80241810 AE02006C */ sw $v0, 0x6c($s0)
glabel L80241814_B4C284
/* B4C284 80241814 3C030042 */ lui $v1, 0x42
/* B4C288 80241818 24020006 */ addiu $v0, $zero, 6
/* B4C28C 8024181C 34630003 */ ori $v1, $v1, 3
/* B4C290 80241820 AE02006C */ sw $v0, 0x6c($s0)
/* B4C294 80241824 AE000070 */ sw $zero, 0x70($s0)
/* B4C298 80241828 862400A8 */ lh $a0, 0xa8($s1)
/* B4C29C 8024182C 2402000A */ addiu $v0, $zero, 0xa
/* B4C2A0 80241830 AE230028 */ sw $v1, 0x28($s1)
/* B4C2A4 80241834 AFA00014 */ sw $zero, 0x14($sp)
/* B4C2A8 80241838 AFA20018 */ sw $v0, 0x18($sp)
/* B4C2AC 8024183C 44840000 */ mtc1 $a0, $f0
/* B4C2B0 80241840 00000000 */ nop
/* B4C2B4 80241844 46800020 */ cvt.s.w $f0, $f0
/* B4C2B8 80241848 E7A00010 */ swc1 $f0, 0x10($sp)
/* B4C2BC 8024184C 8E250038 */ lw $a1, 0x38($s1)
/* B4C2C0 80241850 8E26003C */ lw $a2, 0x3c($s1)
/* B4C2C4 80241854 8E270040 */ lw $a3, 0x40($s1)
/* B4C2C8 80241858 0C01C1E4 */ jal fx_sweat
/* B4C2CC 8024185C 0000202D */ daddu $a0, $zero, $zero
glabel L80241860_B4C2D0
/* B4C2D0 80241860 8E020070 */ lw $v0, 0x70($s0)
/* B4C2D4 80241864 24420001 */ addiu $v0, $v0, 1
/* B4C2D8 80241868 AE020070 */ sw $v0, 0x70($s0)
/* B4C2DC 8024186C 2842000B */ slti $v0, $v0, 0xb
/* B4C2E0 80241870 1440000C */ bnez $v0, .L802418A4
/* B4C2E4 80241874 00000000 */ nop
/* B4C2E8 80241878 0C00A67F */ jal rand_int
/* B4C2EC 8024187C 24040064 */ addiu $a0, $zero, 0x64
/* B4C2F0 80241880 0040182D */ daddu $v1, $v0, $zero
/* B4C2F4 80241884 2862005A */ slti $v0, $v1, 0x5a
/* B4C2F8 80241888 14400005 */ bnez $v0, .L802418A0
/* B4C2FC 8024188C 24020007 */ addiu $v0, $zero, 7
/* B4C300 80241890 2862005F */ slti $v0, $v1, 0x5f
/* B4C304 80241894 14400002 */ bnez $v0, .L802418A0
/* B4C308 80241898 24020001 */ addiu $v0, $zero, 1
/* B4C30C 8024189C 24020003 */ addiu $v0, $zero, 3
.L802418A0:
/* B4C310 802418A0 AE02006C */ sw $v0, 0x6c($s0)
.L802418A4:
/* B4C314 802418A4 8E03006C */ lw $v1, 0x6c($s0)
/* B4C318 802418A8 24020007 */ addiu $v0, $zero, 7
/* B4C31C 802418AC 50620001 */ beql $v1, $v0, .L802418B4
/* B4C320 802418B0 AE400070 */ sw $zero, 0x70($s2)
.L802418B4:
/* B4C324 802418B4 8FBF002C */ lw $ra, 0x2c($sp)
/* B4C328 802418B8 8FB20028 */ lw $s2, 0x28($sp)
/* B4C32C 802418BC 8FB10024 */ lw $s1, 0x24($sp)
/* B4C330 802418C0 8FB00020 */ lw $s0, 0x20($sp)
/* B4C334 802418C4 03E00008 */ jr $ra
/* B4C338 802418C8 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80247A90_B52500
.double 180.0
.section .text
glabel func_80241AD4_B4C544
/* B4C544 80241AD4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B4C548 80241AD8 AFBF0024 */ sw $ra, 0x24($sp)
/* B4C54C 80241ADC AFB40020 */ sw $s4, 0x20($sp)
/* B4C550 80241AE0 AFB3001C */ sw $s3, 0x1c($sp)
/* B4C554 80241AE4 AFB20018 */ sw $s2, 0x18($sp)
/* B4C558 80241AE8 AFB10014 */ sw $s1, 0x14($sp)
/* B4C55C 80241AEC AFB00010 */ sw $s0, 0x10($sp)
/* B4C560 80241AF0 F7B40028 */ sdc1 $f20, 0x28($sp)
/* B4C564 80241AF4 8C900148 */ lw $s0, 0x148($a0)
/* B4C568 80241AF8 86040008 */ lh $a0, 8($s0)
/* B4C56C 80241AFC 0C00EABB */ jal get_npc_unsafe
/* B4C570 80241B00 24110001 */ addiu $s1, $zero, 1
/* B4C574 80241B04 86040008 */ lh $a0, 8($s0)
/* B4C578 80241B08 0040802D */ daddu $s0, $v0, $zero
/* B4C57C 80241B0C 3C05800B */ lui $a1, %hi(gCameras)
/* B4C580 80241B10 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* B4C584 80241B14 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B4C588 80241B18 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B4C58C 80241B1C 00912021 */ addu $a0, $a0, $s1
/* B4C590 80241B20 00031080 */ sll $v0, $v1, 2
/* B4C594 80241B24 00431021 */ addu $v0, $v0, $v1
/* B4C598 80241B28 00021080 */ sll $v0, $v0, 2
/* B4C59C 80241B2C 00431023 */ subu $v0, $v0, $v1
/* B4C5A0 80241B30 000218C0 */ sll $v1, $v0, 3
/* B4C5A4 80241B34 00431021 */ addu $v0, $v0, $v1
/* B4C5A8 80241B38 000210C0 */ sll $v0, $v0, 3
/* B4C5AC 80241B3C 0C00FB3A */ jal get_enemy
/* B4C5B0 80241B40 00459021 */ addu $s2, $v0, $a1
/* B4C5B4 80241B44 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* B4C5B8 80241B48 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* B4C5BC 80241B4C C60C0038 */ lwc1 $f12, 0x38($s0)
/* B4C5C0 80241B50 8E830000 */ lw $v1, ($s4)
/* B4C5C4 80241B54 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B4C5C8 80241B58 8C660028 */ lw $a2, 0x28($v1)
/* B4C5CC 80241B5C 8C670030 */ lw $a3, 0x30($v1)
/* B4C5D0 80241B60 0C00A7B5 */ jal dist2D
/* B4C5D4 80241B64 0040982D */ daddu $s3, $v0, $zero
/* B4C5D8 80241B68 C6620074 */ lwc1 $f2, 0x74($s3)
/* B4C5DC 80241B6C 468010A0 */ cvt.s.w $f2, $f2
/* B4C5E0 80241B70 4600103C */ c.lt.s $f2, $f0
/* B4C5E4 80241B74 00000000 */ nop
/* B4C5E8 80241B78 45030001 */ bc1tl .L80241B80
/* B4C5EC 80241B7C 0000882D */ daddu $s1, $zero, $zero
.L80241B80:
/* B4C5F0 80241B80 C64C006C */ lwc1 $f12, 0x6c($s2)
/* B4C5F4 80241B84 C60E000C */ lwc1 $f14, 0xc($s0)
/* B4C5F8 80241B88 3C014387 */ lui $at, 0x4387
/* B4C5FC 80241B8C 4481A000 */ mtc1 $at, $f20
/* B4C600 80241B90 0C00A70A */ jal get_clamped_angle_diff
/* B4C604 80241B94 00000000 */ nop
/* B4C608 80241B98 0C00A6C9 */ jal clamp_angle
/* B4C60C 80241B9C 46000306 */ mov.s $f12, $f0
/* B4C610 80241BA0 3C018024 */ lui $at, %hi(D_80247A90_B52500)
/* B4C614 80241BA4 D4227A90 */ ldc1 $f2, %lo(D_80247A90_B52500)($at)
/* B4C618 80241BA8 46000021 */ cvt.d.s $f0, $f0
/* B4C61C 80241BAC 4622003C */ c.lt.d $f0, $f2
/* B4C620 80241BB0 00000000 */ nop
/* B4C624 80241BB4 45000003 */ bc1f .L80241BC4
/* B4C628 80241BB8 00000000 */ nop
/* B4C62C 80241BBC 3C0142B4 */ lui $at, 0x42b4
/* B4C630 80241BC0 4481A000 */ mtc1 $at, $f20
.L80241BC4:
/* B4C634 80241BC4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B4C638 80241BC8 8E820000 */ lw $v0, ($s4)
/* B4C63C 80241BCC C60E0040 */ lwc1 $f14, 0x40($s0)
/* B4C640 80241BD0 8C460028 */ lw $a2, 0x28($v0)
/* B4C644 80241BD4 0C00A720 */ jal atan2
/* B4C648 80241BD8 8C470030 */ lw $a3, 0x30($v0)
/* B4C64C 80241BDC 4600A306 */ mov.s $f12, $f20
/* B4C650 80241BE0 0C00A70A */ jal get_clamped_angle_diff
/* B4C654 80241BE4 46000386 */ mov.s $f14, $f0
/* B4C658 80241BE8 C6620078 */ lwc1 $f2, 0x78($s3)
/* B4C65C 80241BEC 468010A0 */ cvt.s.w $f2, $f2
/* B4C660 80241BF0 46000005 */ abs.s $f0, $f0
/* B4C664 80241BF4 4600103C */ c.lt.s $f2, $f0
/* B4C668 80241BF8 00000000 */ nop
/* B4C66C 80241BFC 45030001 */ bc1tl .L80241C04
/* B4C670 80241C00 0000882D */ daddu $s1, $zero, $zero
.L80241C04:
/* B4C674 80241C04 8E820000 */ lw $v0, ($s4)
/* B4C678 80241C08 C600003C */ lwc1 $f0, 0x3c($s0)
/* B4C67C 80241C0C C442002C */ lwc1 $f2, 0x2c($v0)
/* B4C680 80241C10 860200A8 */ lh $v0, 0xa8($s0)
/* B4C684 80241C14 46020001 */ sub.s $f0, $f0, $f2
/* B4C688 80241C18 44821000 */ mtc1 $v0, $f2
/* B4C68C 80241C1C 00000000 */ nop
/* B4C690 80241C20 468010A1 */ cvt.d.w $f2, $f2
/* B4C694 80241C24 46221080 */ add.d $f2, $f2, $f2
/* B4C698 80241C28 46000005 */ abs.s $f0, $f0
/* B4C69C 80241C2C 46000021 */ cvt.d.s $f0, $f0
/* B4C6A0 80241C30 4620103E */ c.le.d $f2, $f0
/* B4C6A4 80241C34 00000000 */ nop
/* B4C6A8 80241C38 45030001 */ bc1tl .L80241C40
/* B4C6AC 80241C3C 0000882D */ daddu $s1, $zero, $zero
.L80241C40:
/* B4C6B0 80241C40 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* B4C6B4 80241C44 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* B4C6B8 80241C48 24020009 */ addiu $v0, $zero, 9
/* B4C6BC 80241C4C 50620001 */ beql $v1, $v0, .L80241C54
/* B4C6C0 80241C50 0000882D */ daddu $s1, $zero, $zero
.L80241C54:
/* B4C6C4 80241C54 24020007 */ addiu $v0, $zero, 7
/* B4C6C8 80241C58 50620001 */ beql $v1, $v0, .L80241C60
/* B4C6CC 80241C5C 0000882D */ daddu $s1, $zero, $zero
.L80241C60:
/* B4C6D0 80241C60 0220102D */ daddu $v0, $s1, $zero
/* B4C6D4 80241C64 8FBF0024 */ lw $ra, 0x24($sp)
/* B4C6D8 80241C68 8FB40020 */ lw $s4, 0x20($sp)
/* B4C6DC 80241C6C 8FB3001C */ lw $s3, 0x1c($sp)
/* B4C6E0 80241C70 8FB20018 */ lw $s2, 0x18($sp)
/* B4C6E4 80241C74 8FB10014 */ lw $s1, 0x14($sp)
/* B4C6E8 80241C78 8FB00010 */ lw $s0, 0x10($sp)
/* B4C6EC 80241C7C D7B40028 */ ldc1 $f20, 0x28($sp)
/* B4C6F0 80241C80 03E00008 */ jr $ra
/* B4C6F4 80241C84 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80247A98_B52508
.word L8024206C_B4CADC, L8024207C_B4CAEC, L80242094_B4CB04, L802420A4_B4CB14, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L802420BC_B4CB2C, L802420CC_B4CB3C, L802420E4_B4CB54, L802420F4_B4CB64, L8024210C_B4CB7C, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242124_B4CB94, L8024212C_B4CB9C, L80242144_B4CBB4, L8024215C_B4CBCC, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L80242174_B4CBE4, L8024216C_B4CBDC
.section .text
glabel func_80241EE8_B4C958
/* B4C958 80241EE8 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B4C95C 80241EEC AFB20038 */ sw $s2, 0x38($sp)
/* B4C960 80241EF0 0080902D */ daddu $s2, $a0, $zero
/* B4C964 80241EF4 AFBF0048 */ sw $ra, 0x48($sp)
/* B4C968 80241EF8 AFB50044 */ sw $s5, 0x44($sp)
/* B4C96C 80241EFC AFB40040 */ sw $s4, 0x40($sp)
/* B4C970 80241F00 AFB3003C */ sw $s3, 0x3c($sp)
/* B4C974 80241F04 AFB10034 */ sw $s1, 0x34($sp)
/* B4C978 80241F08 AFB00030 */ sw $s0, 0x30($sp)
/* B4C97C 80241F0C 8E510148 */ lw $s1, 0x148($s2)
/* B4C980 80241F10 86240008 */ lh $a0, 8($s1)
/* B4C984 80241F14 0C00EABB */ jal get_npc_unsafe
/* B4C988 80241F18 00A0802D */ daddu $s0, $a1, $zero
/* B4C98C 80241F1C 8E43000C */ lw $v1, 0xc($s2)
/* B4C990 80241F20 0240202D */ daddu $a0, $s2, $zero
/* B4C994 80241F24 8C650000 */ lw $a1, ($v1)
/* B4C998 80241F28 0C0B1EAF */ jal get_variable
/* B4C99C 80241F2C 0040A82D */ daddu $s5, $v0, $zero
/* B4C9A0 80241F30 AFA00010 */ sw $zero, 0x10($sp)
/* B4C9A4 80241F34 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4C9A8 80241F38 8C630030 */ lw $v1, 0x30($v1)
/* B4C9AC 80241F3C AFA30014 */ sw $v1, 0x14($sp)
/* B4C9B0 80241F40 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4C9B4 80241F44 8C63001C */ lw $v1, 0x1c($v1)
/* B4C9B8 80241F48 AFA30018 */ sw $v1, 0x18($sp)
/* B4C9BC 80241F4C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4C9C0 80241F50 8C630024 */ lw $v1, 0x24($v1)
/* B4C9C4 80241F54 AFA3001C */ sw $v1, 0x1c($sp)
/* B4C9C8 80241F58 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4C9CC 80241F5C 8C630028 */ lw $v1, 0x28($v1)
/* B4C9D0 80241F60 27B40010 */ addiu $s4, $sp, 0x10
/* B4C9D4 80241F64 AFA30020 */ sw $v1, 0x20($sp)
/* B4C9D8 80241F68 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4C9DC 80241F6C 3C014282 */ lui $at, 0x4282
/* B4C9E0 80241F70 44810000 */ mtc1 $at, $f0
/* B4C9E4 80241F74 8C63002C */ lw $v1, 0x2c($v1)
/* B4C9E8 80241F78 0040982D */ daddu $s3, $v0, $zero
/* B4C9EC 80241F7C E7A00028 */ swc1 $f0, 0x28($sp)
/* B4C9F0 80241F80 A7A0002C */ sh $zero, 0x2c($sp)
/* B4C9F4 80241F84 16000005 */ bnez $s0, .L80241F9C
/* B4C9F8 80241F88 AFA30024 */ sw $v1, 0x24($sp)
/* B4C9FC 80241F8C 8E2200B0 */ lw $v0, 0xb0($s1)
/* B4CA00 80241F90 30420004 */ andi $v0, $v0, 4
/* B4CA04 80241F94 10400020 */ beqz $v0, .L80242018
/* B4CA08 80241F98 00000000 */ nop
.L80241F9C:
/* B4CA0C 80241F9C 2404F7FF */ addiu $a0, $zero, -0x801
/* B4CA10 80241FA0 AE400070 */ sw $zero, 0x70($s2)
/* B4CA14 80241FA4 A6A0008E */ sh $zero, 0x8e($s5)
/* B4CA18 80241FA8 8E2200CC */ lw $v0, 0xcc($s1)
/* B4CA1C 80241FAC 8EA30000 */ lw $v1, ($s5)
/* B4CA20 80241FB0 8C420000 */ lw $v0, ($v0)
/* B4CA24 80241FB4 00641824 */ and $v1, $v1, $a0
/* B4CA28 80241FB8 AEA30000 */ sw $v1, ($s5)
/* B4CA2C 80241FBC AEA20028 */ sw $v0, 0x28($s5)
/* B4CA30 80241FC0 8E2200D0 */ lw $v0, 0xd0($s1)
/* B4CA34 80241FC4 8C420034 */ lw $v0, 0x34($v0)
/* B4CA38 80241FC8 54400005 */ bnel $v0, $zero, .L80241FE0
/* B4CA3C 80241FCC 2402FDFF */ addiu $v0, $zero, -0x201
/* B4CA40 80241FD0 34620200 */ ori $v0, $v1, 0x200
/* B4CA44 80241FD4 2403FFF7 */ addiu $v1, $zero, -9
/* B4CA48 80241FD8 080907FA */ j .L80241FE8
/* B4CA4C 80241FDC 00431024 */ and $v0, $v0, $v1
.L80241FE0:
/* B4CA50 80241FE0 00621024 */ and $v0, $v1, $v0
/* B4CA54 80241FE4 34420008 */ ori $v0, $v0, 8
.L80241FE8:
/* B4CA58 80241FE8 AEA20000 */ sw $v0, ($s5)
/* B4CA5C 80241FEC 8E2200B0 */ lw $v0, 0xb0($s1)
/* B4CA60 80241FF0 30420004 */ andi $v0, $v0, 4
/* B4CA64 80241FF4 10400007 */ beqz $v0, .L80242014
/* B4CA68 80241FF8 24020063 */ addiu $v0, $zero, 0x63
/* B4CA6C 80241FFC AE420070 */ sw $v0, 0x70($s2)
/* B4CA70 80242000 AE400074 */ sw $zero, 0x74($s2)
/* B4CA74 80242004 8E2200B0 */ lw $v0, 0xb0($s1)
/* B4CA78 80242008 2403FFFB */ addiu $v1, $zero, -5
/* B4CA7C 8024200C 00431024 */ and $v0, $v0, $v1
/* B4CA80 80242010 AE2200B0 */ sw $v0, 0xb0($s1)
.L80242014:
/* B4CA84 80242014 AE20006C */ sw $zero, 0x6c($s1)
.L80242018:
/* B4CA88 80242018 8E420070 */ lw $v0, 0x70($s2)
/* B4CA8C 8024201C 2842001E */ slti $v0, $v0, 0x1e
/* B4CA90 80242020 10400009 */ beqz $v0, .L80242048
/* B4CA94 80242024 00000000 */ nop
/* B4CA98 80242028 8E22006C */ lw $v0, 0x6c($s1)
/* B4CA9C 8024202C 14400006 */ bnez $v0, .L80242048
/* B4CAA0 80242030 00000000 */ nop
/* B4CAA4 80242034 0C0906B5 */ jal func_80241AD4_B4C544
/* B4CAA8 80242038 0240202D */ daddu $a0, $s2, $zero
/* B4CAAC 8024203C 10400002 */ beqz $v0, .L80242048
/* B4CAB0 80242040 2402001E */ addiu $v0, $zero, 0x1e
/* B4CAB4 80242044 AE420070 */ sw $v0, 0x70($s2)
.L80242048:
/* B4CAB8 80242048 8E430070 */ lw $v1, 0x70($s2)
/* B4CABC 8024204C 2C620064 */ sltiu $v0, $v1, 0x64
/* B4CAC0 80242050 10400048 */ beqz $v0, L80242174_B4CBE4
/* B4CAC4 80242054 00031080 */ sll $v0, $v1, 2
/* B4CAC8 80242058 3C018024 */ lui $at, %hi(jtbl_80247A98_B52508)
/* B4CACC 8024205C 00220821 */ addu $at, $at, $v0
/* B4CAD0 80242060 8C227A98 */ lw $v0, %lo(jtbl_80247A98_B52508)($at)
/* B4CAD4 80242064 00400008 */ jr $v0
/* B4CAD8 80242068 00000000 */ nop
glabel L8024206C_B4CADC
/* B4CADC 8024206C 0240202D */ daddu $a0, $s2, $zero
/* B4CAE0 80242070 0260282D */ daddu $a1, $s3, $zero
/* B4CAE4 80242074 0C012568 */ jal func_800495A0
/* B4CAE8 80242078 0280302D */ daddu $a2, $s4, $zero
glabel L8024207C_B4CAEC
/* B4CAEC 8024207C 0240202D */ daddu $a0, $s2, $zero
/* B4CAF0 80242080 0260282D */ daddu $a1, $s3, $zero
/* B4CAF4 80242084 0C0125AE */ jal func_800496B8
/* B4CAF8 80242088 0280302D */ daddu $a2, $s4, $zero
/* B4CAFC 8024208C 0809085D */ j L80242174_B4CBE4
/* B4CB00 80242090 00000000 */ nop
glabel L80242094_B4CB04
/* B4CB04 80242094 0240202D */ daddu $a0, $s2, $zero
/* B4CB08 80242098 0260282D */ daddu $a1, $s3, $zero
/* B4CB0C 8024209C 0C0126D1 */ jal base_UnkNpcAIFunc1
/* B4CB10 802420A0 0280302D */ daddu $a2, $s4, $zero
glabel L802420A4_B4CB14
/* B4CB14 802420A4 0240202D */ daddu $a0, $s2, $zero
/* B4CB18 802420A8 0260282D */ daddu $a1, $s3, $zero
/* B4CB1C 802420AC 0C012701 */ jal func_80049C04
/* B4CB20 802420B0 0280302D */ daddu $a2, $s4, $zero
/* B4CB24 802420B4 0809085D */ j L80242174_B4CBE4
/* B4CB28 802420B8 00000000 */ nop
glabel L802420BC_B4CB2C
/* B4CB2C 802420BC 0240202D */ daddu $a0, $s2, $zero
/* B4CB30 802420C0 0260282D */ daddu $a1, $s3, $zero
/* B4CB34 802420C4 0C01278F */ jal func_80049E3C
/* B4CB38 802420C8 0280302D */ daddu $a2, $s4, $zero
glabel L802420CC_B4CB3C
/* B4CB3C 802420CC 0240202D */ daddu $a0, $s2, $zero
/* B4CB40 802420D0 0260282D */ daddu $a1, $s3, $zero
/* B4CB44 802420D4 0C0127B3 */ jal func_80049ECC
/* B4CB48 802420D8 0280302D */ daddu $a2, $s4, $zero
/* B4CB4C 802420DC 0809085D */ j L80242174_B4CBE4
/* B4CB50 802420E0 00000000 */ nop
glabel L802420E4_B4CB54
/* B4CB54 802420E4 0240202D */ daddu $a0, $s2, $zero
/* B4CB58 802420E8 0260282D */ daddu $a1, $s3, $zero
/* B4CB5C 802420EC 0C0127DF */ jal func_80049F7C
/* B4CB60 802420F0 0280302D */ daddu $a2, $s4, $zero
glabel L802420F4_B4CB64
/* B4CB64 802420F4 0240202D */ daddu $a0, $s2, $zero
/* B4CB68 802420F8 0260282D */ daddu $a1, $s3, $zero
/* B4CB6C 802420FC 0C012849 */ jal func_8004A124
/* B4CB70 80242100 0280302D */ daddu $a2, $s4, $zero
/* B4CB74 80242104 0809085D */ j L80242174_B4CBE4
/* B4CB78 80242108 00000000 */ nop
glabel L8024210C_B4CB7C
/* B4CB7C 8024210C 0240202D */ daddu $a0, $s2, $zero
/* B4CB80 80242110 0260282D */ daddu $a1, $s3, $zero
/* B4CB84 80242114 0C0128FA */ jal func_8004A3E8
/* B4CB88 80242118 0280302D */ daddu $a2, $s4, $zero
/* B4CB8C 8024211C 0809085D */ j L80242174_B4CBE4
/* B4CB90 80242120 00000000 */ nop
glabel L80242124_B4CB94
/* B4CB94 80242124 0C090633 */ jal jan_05_UnkNpcAIFunc6
/* B4CB98 80242128 0240202D */ daddu $a0, $s2, $zero
glabel L8024212C_B4CB9C
/* B4CB9C 8024212C 0C09064E */ jal jan_05_UnkNpcAIFunc7
/* B4CBA0 80242130 0240202D */ daddu $a0, $s2, $zero
/* B4CBA4 80242134 8E430070 */ lw $v1, 0x70($s2)
/* B4CBA8 80242138 24020020 */ addiu $v0, $zero, 0x20
/* B4CBAC 8024213C 1462000D */ bne $v1, $v0, L80242174_B4CBE4
/* B4CBB0 80242140 00000000 */ nop
glabel L80242144_B4CBB4
/* B4CBB4 80242144 0C09066A */ jal jan_05_UnkNpcAIFunc8
/* B4CBB8 80242148 0240202D */ daddu $a0, $s2, $zero
/* B4CBBC 8024214C 8E430070 */ lw $v1, 0x70($s2)
/* B4CBC0 80242150 24020021 */ addiu $v0, $zero, 0x21
/* B4CBC4 80242154 14620007 */ bne $v1, $v0, L80242174_B4CBE4
/* B4CBC8 80242158 00000000 */ nop
glabel L8024215C_B4CBCC
/* B4CBCC 8024215C 0C0906A0 */ jal jan_05_UnkNpcAIFunc5
/* B4CBD0 80242160 0240202D */ daddu $a0, $s2, $zero
/* B4CBD4 80242164 0809085D */ j L80242174_B4CBE4
/* B4CBD8 80242168 00000000 */ nop
glabel L8024216C_B4CBDC
/* B4CBDC 8024216C 0C0129CF */ jal func_8004A73C
/* B4CBE0 80242170 0240202D */ daddu $a0, $s2, $zero
glabel L80242174_B4CBE4
/* B4CBE4 80242174 8FBF0048 */ lw $ra, 0x48($sp)
/* B4CBE8 80242178 8FB50044 */ lw $s5, 0x44($sp)
/* B4CBEC 8024217C 8FB40040 */ lw $s4, 0x40($sp)
/* B4CBF0 80242180 8FB3003C */ lw $s3, 0x3c($sp)
/* B4CBF4 80242184 8FB20038 */ lw $s2, 0x38($sp)
/* B4CBF8 80242188 8FB10034 */ lw $s1, 0x34($sp)
/* B4CBFC 8024218C 8FB00030 */ lw $s0, 0x30($sp)
/* B4CC00 80242190 0000102D */ daddu $v0, $zero, $zero
/* B4CC04 80242194 03E00008 */ jr $ra
/* B4CC08 80242198 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80247C28_B52698
.word L80242320_B4CD90, L80242330_B4CDA0, L80242348_B4CDB8, L80242358_B4CDC8, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242370_B4CDE0, L80242380_B4CDF0, L80242398_B4CE08, L802423A8_B4CE18, L802423C0_B4CE30, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L802423D8_B4CE48, L802423E0_B4CE50, L802423F8_B4CE68, L80242410_B4CE80, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242428_B4CE98, L80242420_B4CE90, 0, 0
.section .text
glabel func_8024219C_B4CC0C
/* B4CC0C 8024219C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B4CC10 802421A0 AFB20038 */ sw $s2, 0x38($sp)
/* B4CC14 802421A4 0080902D */ daddu $s2, $a0, $zero
/* B4CC18 802421A8 AFBF0048 */ sw $ra, 0x48($sp)
/* B4CC1C 802421AC AFB50044 */ sw $s5, 0x44($sp)
/* B4CC20 802421B0 AFB40040 */ sw $s4, 0x40($sp)
/* B4CC24 802421B4 AFB3003C */ sw $s3, 0x3c($sp)
/* B4CC28 802421B8 AFB10034 */ sw $s1, 0x34($sp)
/* B4CC2C 802421BC AFB00030 */ sw $s0, 0x30($sp)
/* B4CC30 802421C0 8E510148 */ lw $s1, 0x148($s2)
/* B4CC34 802421C4 86240008 */ lh $a0, 8($s1)
/* B4CC38 802421C8 0C00EABB */ jal get_npc_unsafe
/* B4CC3C 802421CC 00A0802D */ daddu $s0, $a1, $zero
/* B4CC40 802421D0 8E43000C */ lw $v1, 0xc($s2)
/* B4CC44 802421D4 0240202D */ daddu $a0, $s2, $zero
/* B4CC48 802421D8 8C650000 */ lw $a1, ($v1)
/* B4CC4C 802421DC 0C0B1EAF */ jal get_variable
/* B4CC50 802421E0 0040A82D */ daddu $s5, $v0, $zero
/* B4CC54 802421E4 AFA00010 */ sw $zero, 0x10($sp)
/* B4CC58 802421E8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4CC5C 802421EC 8C630030 */ lw $v1, 0x30($v1)
/* B4CC60 802421F0 AFA30014 */ sw $v1, 0x14($sp)
/* B4CC64 802421F4 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4CC68 802421F8 8C63001C */ lw $v1, 0x1c($v1)
/* B4CC6C 802421FC AFA30018 */ sw $v1, 0x18($sp)
/* B4CC70 80242200 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4CC74 80242204 8C630024 */ lw $v1, 0x24($v1)
/* B4CC78 80242208 AFA3001C */ sw $v1, 0x1c($sp)
/* B4CC7C 8024220C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4CC80 80242210 8C630028 */ lw $v1, 0x28($v1)
/* B4CC84 80242214 27B40010 */ addiu $s4, $sp, 0x10
/* B4CC88 80242218 AFA30020 */ sw $v1, 0x20($sp)
/* B4CC8C 8024221C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B4CC90 80242220 3C014282 */ lui $at, 0x4282
/* B4CC94 80242224 44810000 */ mtc1 $at, $f0
/* B4CC98 80242228 8C63002C */ lw $v1, 0x2c($v1)
/* B4CC9C 8024222C 0040982D */ daddu $s3, $v0, $zero
/* B4CCA0 80242230 E7A00028 */ swc1 $f0, 0x28($sp)
/* B4CCA4 80242234 A7A0002C */ sh $zero, 0x2c($sp)
/* B4CCA8 80242238 16000005 */ bnez $s0, .L80242250
/* B4CCAC 8024223C AFA30024 */ sw $v1, 0x24($sp)
/* B4CCB0 80242240 8E2200B0 */ lw $v0, 0xb0($s1)
/* B4CCB4 80242244 30420004 */ andi $v0, $v0, 4
/* B4CCB8 80242248 10400020 */ beqz $v0, .L802422CC
/* B4CCBC 8024224C 00000000 */ nop
.L80242250:
/* B4CCC0 80242250 2404F7FF */ addiu $a0, $zero, -0x801
/* B4CCC4 80242254 AE400070 */ sw $zero, 0x70($s2)
/* B4CCC8 80242258 A6A0008E */ sh $zero, 0x8e($s5)
/* B4CCCC 8024225C 8E2200CC */ lw $v0, 0xcc($s1)
/* B4CCD0 80242260 8EA30000 */ lw $v1, ($s5)
/* B4CCD4 80242264 8C420000 */ lw $v0, ($v0)
/* B4CCD8 80242268 00641824 */ and $v1, $v1, $a0
/* B4CCDC 8024226C AEA30000 */ sw $v1, ($s5)
/* B4CCE0 80242270 AEA20028 */ sw $v0, 0x28($s5)
/* B4CCE4 80242274 8E2200D0 */ lw $v0, 0xd0($s1)
/* B4CCE8 80242278 8C420034 */ lw $v0, 0x34($v0)
/* B4CCEC 8024227C 54400005 */ bnel $v0, $zero, .L80242294
/* B4CCF0 80242280 2402FDFF */ addiu $v0, $zero, -0x201
/* B4CCF4 80242284 34620200 */ ori $v0, $v1, 0x200
/* B4CCF8 80242288 2403FFF7 */ addiu $v1, $zero, -9
/* B4CCFC 8024228C 080908A7 */ j .L8024229C
/* B4CD00 80242290 00431024 */ and $v0, $v0, $v1
.L80242294:
/* B4CD04 80242294 00621024 */ and $v0, $v1, $v0
/* B4CD08 80242298 34420008 */ ori $v0, $v0, 8
.L8024229C:
/* B4CD0C 8024229C AEA20000 */ sw $v0, ($s5)
/* B4CD10 802422A0 8E2200B0 */ lw $v0, 0xb0($s1)
/* B4CD14 802422A4 30420004 */ andi $v0, $v0, 4
/* B4CD18 802422A8 10400007 */ beqz $v0, .L802422C8
/* B4CD1C 802422AC 24020063 */ addiu $v0, $zero, 0x63
/* B4CD20 802422B0 AE420070 */ sw $v0, 0x70($s2)
/* B4CD24 802422B4 AE400074 */ sw $zero, 0x74($s2)
/* B4CD28 802422B8 8E2200B0 */ lw $v0, 0xb0($s1)
/* B4CD2C 802422BC 2403FFFB */ addiu $v1, $zero, -5
/* B4CD30 802422C0 00431024 */ and $v0, $v0, $v1
/* B4CD34 802422C4 AE2200B0 */ sw $v0, 0xb0($s1)
.L802422C8:
/* B4CD38 802422C8 AE20006C */ sw $zero, 0x6c($s1)
.L802422CC:
/* B4CD3C 802422CC 8E420070 */ lw $v0, 0x70($s2)
/* B4CD40 802422D0 2842001E */ slti $v0, $v0, 0x1e
/* B4CD44 802422D4 10400009 */ beqz $v0, .L802422FC
/* B4CD48 802422D8 00000000 */ nop
/* B4CD4C 802422DC 8E22006C */ lw $v0, 0x6c($s1)
/* B4CD50 802422E0 14400006 */ bnez $v0, .L802422FC
/* B4CD54 802422E4 00000000 */ nop
/* B4CD58 802422E8 0C0906B5 */ jal func_80241AD4_B4C544
/* B4CD5C 802422EC 0240202D */ daddu $a0, $s2, $zero
/* B4CD60 802422F0 10400002 */ beqz $v0, .L802422FC
/* B4CD64 802422F4 2402001E */ addiu $v0, $zero, 0x1e
/* B4CD68 802422F8 AE420070 */ sw $v0, 0x70($s2)
.L802422FC:
/* B4CD6C 802422FC 8E430070 */ lw $v1, 0x70($s2)
/* B4CD70 80242300 2C620064 */ sltiu $v0, $v1, 0x64
/* B4CD74 80242304 10400048 */ beqz $v0, L80242428_B4CE98
/* B4CD78 80242308 00031080 */ sll $v0, $v1, 2
/* B4CD7C 8024230C 3C018024 */ lui $at, %hi(jtbl_80247C28_B52698)
/* B4CD80 80242310 00220821 */ addu $at, $at, $v0
/* B4CD84 80242314 8C227C28 */ lw $v0, %lo(jtbl_80247C28_B52698)($at)
/* B4CD88 80242318 00400008 */ jr $v0
/* B4CD8C 8024231C 00000000 */ nop
glabel L80242320_B4CD90
/* B4CD90 80242320 0240202D */ daddu $a0, $s2, $zero
/* B4CD94 80242324 0260282D */ daddu $a1, $s3, $zero
/* B4CD98 80242328 0C012568 */ jal func_800495A0
/* B4CD9C 8024232C 0280302D */ daddu $a2, $s4, $zero
glabel L80242330_B4CDA0
/* B4CDA0 80242330 0240202D */ daddu $a0, $s2, $zero
/* B4CDA4 80242334 0260282D */ daddu $a1, $s3, $zero
/* B4CDA8 80242338 0C0125AE */ jal func_800496B8
/* B4CDAC 8024233C 0280302D */ daddu $a2, $s4, $zero
/* B4CDB0 80242340 0809090A */ j L80242428_B4CE98
/* B4CDB4 80242344 00000000 */ nop
glabel L80242348_B4CDB8
/* B4CDB8 80242348 0240202D */ daddu $a0, $s2, $zero
/* B4CDBC 8024234C 0260282D */ daddu $a1, $s3, $zero
/* B4CDC0 80242350 0C0905AE */ jal jan_05_UnkNpcAIFunc4
/* B4CDC4 80242354 0280302D */ daddu $a2, $s4, $zero
glabel L80242358_B4CDC8
/* B4CDC8 80242358 0240202D */ daddu $a0, $s2, $zero
/* B4CDCC 8024235C 0260282D */ daddu $a1, $s3, $zero
/* B4CDD0 80242360 0C0905C2 */ jal func_80241708_B4C178
/* B4CDD4 80242364 0280302D */ daddu $a2, $s4, $zero
/* B4CDD8 80242368 0809090A */ j L80242428_B4CE98
/* B4CDDC 8024236C 00000000 */ nop
glabel L80242370_B4CDE0
/* B4CDE0 80242370 0240202D */ daddu $a0, $s2, $zero
/* B4CDE4 80242374 0260282D */ daddu $a1, $s3, $zero
/* B4CDE8 80242378 0C01278F */ jal func_80049E3C
/* B4CDEC 8024237C 0280302D */ daddu $a2, $s4, $zero
glabel L80242380_B4CDF0
/* B4CDF0 80242380 0240202D */ daddu $a0, $s2, $zero
/* B4CDF4 80242384 0260282D */ daddu $a1, $s3, $zero
/* B4CDF8 80242388 0C0127B3 */ jal func_80049ECC
/* B4CDFC 8024238C 0280302D */ daddu $a2, $s4, $zero
/* B4CE00 80242390 0809090A */ j L80242428_B4CE98
/* B4CE04 80242394 00000000 */ nop
glabel L80242398_B4CE08
/* B4CE08 80242398 0240202D */ daddu $a0, $s2, $zero
/* B4CE0C 8024239C 0260282D */ daddu $a1, $s3, $zero
/* B4CE10 802423A0 0C0127DF */ jal func_80049F7C
/* B4CE14 802423A4 0280302D */ daddu $a2, $s4, $zero
glabel L802423A8_B4CE18
/* B4CE18 802423A8 0240202D */ daddu $a0, $s2, $zero
/* B4CE1C 802423AC 0260282D */ daddu $a1, $s3, $zero
/* B4CE20 802423B0 0C012849 */ jal func_8004A124
/* B4CE24 802423B4 0280302D */ daddu $a2, $s4, $zero
/* B4CE28 802423B8 0809090A */ j L80242428_B4CE98
/* B4CE2C 802423BC 00000000 */ nop
glabel L802423C0_B4CE30
/* B4CE30 802423C0 0240202D */ daddu $a0, $s2, $zero
/* B4CE34 802423C4 0260282D */ daddu $a1, $s3, $zero
/* B4CE38 802423C8 0C0128FA */ jal func_8004A3E8
/* B4CE3C 802423CC 0280302D */ daddu $a2, $s4, $zero
/* B4CE40 802423D0 0809090A */ j L80242428_B4CE98
/* B4CE44 802423D4 00000000 */ nop
glabel L802423D8_B4CE48
/* B4CE48 802423D8 0C090633 */ jal jan_05_UnkNpcAIFunc6
/* B4CE4C 802423DC 0240202D */ daddu $a0, $s2, $zero
glabel L802423E0_B4CE50
/* B4CE50 802423E0 0C09064E */ jal jan_05_UnkNpcAIFunc7
/* B4CE54 802423E4 0240202D */ daddu $a0, $s2, $zero
/* B4CE58 802423E8 8E430070 */ lw $v1, 0x70($s2)
/* B4CE5C 802423EC 24020020 */ addiu $v0, $zero, 0x20
/* B4CE60 802423F0 1462000D */ bne $v1, $v0, L80242428_B4CE98
/* B4CE64 802423F4 00000000 */ nop
glabel L802423F8_B4CE68
/* B4CE68 802423F8 0C09066A */ jal jan_05_UnkNpcAIFunc8
/* B4CE6C 802423FC 0240202D */ daddu $a0, $s2, $zero
/* B4CE70 80242400 8E430070 */ lw $v1, 0x70($s2)
/* B4CE74 80242404 24020021 */ addiu $v0, $zero, 0x21
/* B4CE78 80242408 14620007 */ bne $v1, $v0, L80242428_B4CE98
/* B4CE7C 8024240C 00000000 */ nop
glabel L80242410_B4CE80
/* B4CE80 80242410 0C0906A0 */ jal jan_05_UnkNpcAIFunc5
/* B4CE84 80242414 0240202D */ daddu $a0, $s2, $zero
/* B4CE88 80242418 0809090A */ j L80242428_B4CE98
/* B4CE8C 8024241C 00000000 */ nop
glabel L80242420_B4CE90
/* B4CE90 80242420 0C0129CF */ jal func_8004A73C
/* B4CE94 80242424 0240202D */ daddu $a0, $s2, $zero
glabel L80242428_B4CE98
/* B4CE98 80242428 8FBF0048 */ lw $ra, 0x48($sp)
/* B4CE9C 8024242C 8FB50044 */ lw $s5, 0x44($sp)
/* B4CEA0 80242430 8FB40040 */ lw $s4, 0x40($sp)
/* B4CEA4 80242434 8FB3003C */ lw $s3, 0x3c($sp)
/* B4CEA8 80242438 8FB20038 */ lw $s2, 0x38($sp)
/* B4CEAC 8024243C 8FB10034 */ lw $s1, 0x34($sp)
/* B4CEB0 80242440 8FB00030 */ lw $s0, 0x30($sp)
/* B4CEB4 80242444 0000102D */ daddu $v0, $zero, $zero
/* B4CEB8 80242448 03E00008 */ jr $ra
/* B4CEBC 8024244C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,136 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80246CF8_B59528
.word L802416D8_B53F08, L802416F0_B53F20, L80241710_B53F40, L80241728_B53F58, L80241764_B53F94, L802417B0_B53FE0
.section .text
glabel func_80241658_B53E88
/* B53E88 80241658 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B53E8C 8024165C AFB20028 */ sw $s2, 0x28($sp)
/* B53E90 80241660 0080902D */ daddu $s2, $a0, $zero
/* B53E94 80241664 AFBF002C */ sw $ra, 0x2c($sp)
/* B53E98 80241668 AFB10024 */ sw $s1, 0x24($sp)
/* B53E9C 8024166C AFB00020 */ sw $s0, 0x20($sp)
/* B53EA0 80241670 8E500148 */ lw $s0, 0x148($s2)
/* B53EA4 80241674 0C00EABB */ jal get_npc_unsafe
/* B53EA8 80241678 86040008 */ lh $a0, 8($s0)
/* B53EAC 8024167C 8E03006C */ lw $v1, 0x6c($s0)
/* B53EB0 80241680 1460000B */ bnez $v1, .L802416B0
/* B53EB4 80241684 0040882D */ daddu $s1, $v0, $zero
/* B53EB8 80241688 0C00A67F */ jal rand_int
/* B53EBC 8024168C 24040064 */ addiu $a0, $zero, 0x64
/* B53EC0 80241690 28420032 */ slti $v0, $v0, 0x32
/* B53EC4 80241694 14400002 */ bnez $v0, .L802416A0
/* B53EC8 80241698 24020001 */ addiu $v0, $zero, 1
/* B53ECC 8024169C 24020003 */ addiu $v0, $zero, 3
.L802416A0:
/* B53ED0 802416A0 AE02006C */ sw $v0, 0x6c($s0)
/* B53ED4 802416A4 3C054387 */ lui $a1, 0x4387
/* B53ED8 802416A8 0C00ECD0 */ jal set_npc_yaw
/* B53EDC 802416AC 0220202D */ daddu $a0, $s1, $zero
.L802416B0:
/* B53EE0 802416B0 8E02006C */ lw $v0, 0x6c($s0)
/* B53EE4 802416B4 2443FFFF */ addiu $v1, $v0, -1
/* B53EE8 802416B8 2C620006 */ sltiu $v0, $v1, 6
/* B53EEC 802416BC 1040004D */ beqz $v0, .L802417F4
/* B53EF0 802416C0 00031080 */ sll $v0, $v1, 2
/* B53EF4 802416C4 3C018024 */ lui $at, %hi(jtbl_80246CF8_B59528)
/* B53EF8 802416C8 00220821 */ addu $at, $at, $v0
/* B53EFC 802416CC 8C226CF8 */ lw $v0, %lo(jtbl_80246CF8_B59528)($at)
/* B53F00 802416D0 00400008 */ jr $v0
/* B53F04 802416D4 00000000 */ nop
glabel L802416D8_B53F08
/* B53F08 802416D8 3C030042 */ lui $v1, 0x42
/* B53F0C 802416DC 3463000F */ ori $v1, $v1, 0xf
/* B53F10 802416E0 24020002 */ addiu $v0, $zero, 2
/* B53F14 802416E4 AE02006C */ sw $v0, 0x6c($s0)
/* B53F18 802416E8 AE000070 */ sw $zero, 0x70($s0)
/* B53F1C 802416EC AE230028 */ sw $v1, 0x28($s1)
glabel L802416F0_B53F20
/* B53F20 802416F0 8E020070 */ lw $v0, 0x70($s0)
/* B53F24 802416F4 24420001 */ addiu $v0, $v0, 1
/* B53F28 802416F8 AE020070 */ sw $v0, 0x70($s0)
/* B53F2C 802416FC 28420033 */ slti $v0, $v0, 0x33
/* B53F30 80241700 1440003C */ bnez $v0, .L802417F4
/* B53F34 80241704 24020005 */ addiu $v0, $zero, 5
/* B53F38 80241708 080905FD */ j .L802417F4
/* B53F3C 8024170C AE02006C */ sw $v0, 0x6c($s0)
glabel L80241710_B53F40
/* B53F40 80241710 3C030042 */ lui $v1, 0x42
/* B53F44 80241714 34630010 */ ori $v1, $v1, 0x10
/* B53F48 80241718 24020004 */ addiu $v0, $zero, 4
/* B53F4C 8024171C AE02006C */ sw $v0, 0x6c($s0)
/* B53F50 80241720 AE000070 */ sw $zero, 0x70($s0)
/* B53F54 80241724 AE230028 */ sw $v1, 0x28($s1)
glabel L80241728_B53F58
/* B53F58 80241728 8E020070 */ lw $v0, 0x70($s0)
/* B53F5C 8024172C 24030019 */ addiu $v1, $zero, 0x19
/* B53F60 80241730 24420001 */ addiu $v0, $v0, 1
/* B53F64 80241734 14430005 */ bne $v0, $v1, .L8024174C
/* B53F68 80241738 AE020070 */ sw $v0, 0x70($s0)
/* B53F6C 8024173C 3C0142B4 */ lui $at, 0x42b4
/* B53F70 80241740 44810000 */ mtc1 $at, $f0
/* B53F74 80241744 00000000 */ nop
/* B53F78 80241748 E620000C */ swc1 $f0, 0xc($s1)
.L8024174C:
/* B53F7C 8024174C 8E020070 */ lw $v0, 0x70($s0)
/* B53F80 80241750 2842003D */ slti $v0, $v0, 0x3d
/* B53F84 80241754 14400027 */ bnez $v0, .L802417F4
/* B53F88 80241758 24020005 */ addiu $v0, $zero, 5
/* B53F8C 8024175C 080905FD */ j .L802417F4
/* B53F90 80241760 AE02006C */ sw $v0, 0x6c($s0)
glabel L80241764_B53F94
/* B53F94 80241764 3C030042 */ lui $v1, 0x42
/* B53F98 80241768 24020006 */ addiu $v0, $zero, 6
/* B53F9C 8024176C 34630003 */ ori $v1, $v1, 3
/* B53FA0 80241770 AE02006C */ sw $v0, 0x6c($s0)
/* B53FA4 80241774 AE000070 */ sw $zero, 0x70($s0)
/* B53FA8 80241778 862400A8 */ lh $a0, 0xa8($s1)
/* B53FAC 8024177C 2402000A */ addiu $v0, $zero, 0xa
/* B53FB0 80241780 AE230028 */ sw $v1, 0x28($s1)
/* B53FB4 80241784 AFA00014 */ sw $zero, 0x14($sp)
/* B53FB8 80241788 AFA20018 */ sw $v0, 0x18($sp)
/* B53FBC 8024178C 44840000 */ mtc1 $a0, $f0
/* B53FC0 80241790 00000000 */ nop
/* B53FC4 80241794 46800020 */ cvt.s.w $f0, $f0
/* B53FC8 80241798 E7A00010 */ swc1 $f0, 0x10($sp)
/* B53FCC 8024179C 8E250038 */ lw $a1, 0x38($s1)
/* B53FD0 802417A0 8E26003C */ lw $a2, 0x3c($s1)
/* B53FD4 802417A4 8E270040 */ lw $a3, 0x40($s1)
/* B53FD8 802417A8 0C01C1E4 */ jal fx_sweat
/* B53FDC 802417AC 0000202D */ daddu $a0, $zero, $zero
glabel L802417B0_B53FE0
/* B53FE0 802417B0 8E020070 */ lw $v0, 0x70($s0)
/* B53FE4 802417B4 24420001 */ addiu $v0, $v0, 1
/* B53FE8 802417B8 AE020070 */ sw $v0, 0x70($s0)
/* B53FEC 802417BC 2842000B */ slti $v0, $v0, 0xb
/* B53FF0 802417C0 1440000C */ bnez $v0, .L802417F4
/* B53FF4 802417C4 00000000 */ nop
/* B53FF8 802417C8 0C00A67F */ jal rand_int
/* B53FFC 802417CC 24040064 */ addiu $a0, $zero, 0x64
/* B54000 802417D0 0040182D */ daddu $v1, $v0, $zero
/* B54004 802417D4 2862005A */ slti $v0, $v1, 0x5a
/* B54008 802417D8 14400005 */ bnez $v0, .L802417F0
/* B5400C 802417DC 24020007 */ addiu $v0, $zero, 7
/* B54010 802417E0 2862005F */ slti $v0, $v1, 0x5f
/* B54014 802417E4 14400002 */ bnez $v0, .L802417F0
/* B54018 802417E8 24020001 */ addiu $v0, $zero, 1
/* B5401C 802417EC 24020003 */ addiu $v0, $zero, 3
.L802417F0:
/* B54020 802417F0 AE02006C */ sw $v0, 0x6c($s0)
.L802417F4:
/* B54024 802417F4 8E03006C */ lw $v1, 0x6c($s0)
/* B54028 802417F8 24020007 */ addiu $v0, $zero, 7
/* B5402C 802417FC 50620001 */ beql $v1, $v0, .L80241804
/* B54030 80241800 AE400070 */ sw $zero, 0x70($s2)
.L80241804:
/* B54034 80241804 8FBF002C */ lw $ra, 0x2c($sp)
/* B54038 80241808 8FB20028 */ lw $s2, 0x28($sp)
/* B5403C 8024180C 8FB10024 */ lw $s1, 0x24($sp)
/* B54040 80241810 8FB00020 */ lw $s0, 0x20($sp)
/* B54044 80241814 03E00008 */ jr $ra
/* B54048 80241818 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80246D10_B59540
.double 180.0
.section .text
glabel func_80241A24_B54254
/* B54254 80241A24 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B54258 80241A28 AFBF0024 */ sw $ra, 0x24($sp)
/* B5425C 80241A2C AFB40020 */ sw $s4, 0x20($sp)
/* B54260 80241A30 AFB3001C */ sw $s3, 0x1c($sp)
/* B54264 80241A34 AFB20018 */ sw $s2, 0x18($sp)
/* B54268 80241A38 AFB10014 */ sw $s1, 0x14($sp)
/* B5426C 80241A3C AFB00010 */ sw $s0, 0x10($sp)
/* B54270 80241A40 F7B40028 */ sdc1 $f20, 0x28($sp)
/* B54274 80241A44 8C900148 */ lw $s0, 0x148($a0)
/* B54278 80241A48 86040008 */ lh $a0, 8($s0)
/* B5427C 80241A4C 0C00EABB */ jal get_npc_unsafe
/* B54280 80241A50 24110001 */ addiu $s1, $zero, 1
/* B54284 80241A54 86040008 */ lh $a0, 8($s0)
/* B54288 80241A58 0040802D */ daddu $s0, $v0, $zero
/* B5428C 80241A5C 3C05800B */ lui $a1, %hi(gCameras)
/* B54290 80241A60 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* B54294 80241A64 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B54298 80241A68 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B5429C 80241A6C 00912021 */ addu $a0, $a0, $s1
/* B542A0 80241A70 00031080 */ sll $v0, $v1, 2
/* B542A4 80241A74 00431021 */ addu $v0, $v0, $v1
/* B542A8 80241A78 00021080 */ sll $v0, $v0, 2
/* B542AC 80241A7C 00431023 */ subu $v0, $v0, $v1
/* B542B0 80241A80 000218C0 */ sll $v1, $v0, 3
/* B542B4 80241A84 00431021 */ addu $v0, $v0, $v1
/* B542B8 80241A88 000210C0 */ sll $v0, $v0, 3
/* B542BC 80241A8C 0C00FB3A */ jal get_enemy
/* B542C0 80241A90 00459021 */ addu $s2, $v0, $a1
/* B542C4 80241A94 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* B542C8 80241A98 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* B542CC 80241A9C C60C0038 */ lwc1 $f12, 0x38($s0)
/* B542D0 80241AA0 8E830000 */ lw $v1, ($s4)
/* B542D4 80241AA4 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B542D8 80241AA8 8C660028 */ lw $a2, 0x28($v1)
/* B542DC 80241AAC 8C670030 */ lw $a3, 0x30($v1)
/* B542E0 80241AB0 0C00A7B5 */ jal dist2D
/* B542E4 80241AB4 0040982D */ daddu $s3, $v0, $zero
/* B542E8 80241AB8 C6620074 */ lwc1 $f2, 0x74($s3)
/* B542EC 80241ABC 468010A0 */ cvt.s.w $f2, $f2
/* B542F0 80241AC0 4600103C */ c.lt.s $f2, $f0
/* B542F4 80241AC4 00000000 */ nop
/* B542F8 80241AC8 45030001 */ bc1tl .L80241AD0
/* B542FC 80241ACC 0000882D */ daddu $s1, $zero, $zero
.L80241AD0:
/* B54300 80241AD0 C64C006C */ lwc1 $f12, 0x6c($s2)
/* B54304 80241AD4 C60E000C */ lwc1 $f14, 0xc($s0)
/* B54308 80241AD8 3C014387 */ lui $at, 0x4387
/* B5430C 80241ADC 4481A000 */ mtc1 $at, $f20
/* B54310 80241AE0 0C00A70A */ jal get_clamped_angle_diff
/* B54314 80241AE4 00000000 */ nop
/* B54318 80241AE8 0C00A6C9 */ jal clamp_angle
/* B5431C 80241AEC 46000306 */ mov.s $f12, $f0
/* B54320 80241AF0 3C018024 */ lui $at, %hi(D_80246D10_B59540)
/* B54324 80241AF4 D4226D10 */ ldc1 $f2, %lo(D_80246D10_B59540)($at)
/* B54328 80241AF8 46000021 */ cvt.d.s $f0, $f0
/* B5432C 80241AFC 4622003C */ c.lt.d $f0, $f2
/* B54330 80241B00 00000000 */ nop
/* B54334 80241B04 45000003 */ bc1f .L80241B14
/* B54338 80241B08 00000000 */ nop
/* B5433C 80241B0C 3C0142B4 */ lui $at, 0x42b4
/* B54340 80241B10 4481A000 */ mtc1 $at, $f20
.L80241B14:
/* B54344 80241B14 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B54348 80241B18 8E820000 */ lw $v0, ($s4)
/* B5434C 80241B1C C60E0040 */ lwc1 $f14, 0x40($s0)
/* B54350 80241B20 8C460028 */ lw $a2, 0x28($v0)
/* B54354 80241B24 0C00A720 */ jal atan2
/* B54358 80241B28 8C470030 */ lw $a3, 0x30($v0)
/* B5435C 80241B2C 4600A306 */ mov.s $f12, $f20
/* B54360 80241B30 0C00A70A */ jal get_clamped_angle_diff
/* B54364 80241B34 46000386 */ mov.s $f14, $f0
/* B54368 80241B38 C6620078 */ lwc1 $f2, 0x78($s3)
/* B5436C 80241B3C 468010A0 */ cvt.s.w $f2, $f2
/* B54370 80241B40 46000005 */ abs.s $f0, $f0
/* B54374 80241B44 4600103C */ c.lt.s $f2, $f0
/* B54378 80241B48 00000000 */ nop
/* B5437C 80241B4C 45030001 */ bc1tl .L80241B54
/* B54380 80241B50 0000882D */ daddu $s1, $zero, $zero
.L80241B54:
/* B54384 80241B54 8E820000 */ lw $v0, ($s4)
/* B54388 80241B58 C600003C */ lwc1 $f0, 0x3c($s0)
/* B5438C 80241B5C C442002C */ lwc1 $f2, 0x2c($v0)
/* B54390 80241B60 860200A8 */ lh $v0, 0xa8($s0)
/* B54394 80241B64 46020001 */ sub.s $f0, $f0, $f2
/* B54398 80241B68 44821000 */ mtc1 $v0, $f2
/* B5439C 80241B6C 00000000 */ nop
/* B543A0 80241B70 468010A1 */ cvt.d.w $f2, $f2
/* B543A4 80241B74 46221080 */ add.d $f2, $f2, $f2
/* B543A8 80241B78 46000005 */ abs.s $f0, $f0
/* B543AC 80241B7C 46000021 */ cvt.d.s $f0, $f0
/* B543B0 80241B80 4620103E */ c.le.d $f2, $f0
/* B543B4 80241B84 00000000 */ nop
/* B543B8 80241B88 45030001 */ bc1tl .L80241B90
/* B543BC 80241B8C 0000882D */ daddu $s1, $zero, $zero
.L80241B90:
/* B543C0 80241B90 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* B543C4 80241B94 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* B543C8 80241B98 24020009 */ addiu $v0, $zero, 9
/* B543CC 80241B9C 50620001 */ beql $v1, $v0, .L80241BA4
/* B543D0 80241BA0 0000882D */ daddu $s1, $zero, $zero
.L80241BA4:
/* B543D4 80241BA4 24020007 */ addiu $v0, $zero, 7
/* B543D8 80241BA8 50620001 */ beql $v1, $v0, .L80241BB0
/* B543DC 80241BAC 0000882D */ daddu $s1, $zero, $zero
.L80241BB0:
/* B543E0 80241BB0 0220102D */ daddu $v0, $s1, $zero
/* B543E4 80241BB4 8FBF0024 */ lw $ra, 0x24($sp)
/* B543E8 80241BB8 8FB40020 */ lw $s4, 0x20($sp)
/* B543EC 80241BBC 8FB3001C */ lw $s3, 0x1c($sp)
/* B543F0 80241BC0 8FB20018 */ lw $s2, 0x18($sp)
/* B543F4 80241BC4 8FB10014 */ lw $s1, 0x14($sp)
/* B543F8 80241BC8 8FB00010 */ lw $s0, 0x10($sp)
/* B543FC 80241BCC D7B40028 */ ldc1 $f20, 0x28($sp)
/* B54400 80241BD0 03E00008 */ jr $ra
/* B54404 80241BD4 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80246D18_B59548
.word L80241FBC_B547EC, L80241FCC_B547FC, L80241FE4_B54814, L80241FF4_B54824, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L8024200C_B5483C, L8024201C_B5484C, L80242034_B54864, L80242044_B54874, L8024205C_B5488C, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L80242074_B548A4, L8024207C_B548AC, L80242094_B548C4, L802420AC_B548DC, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420C4_B548F4, L802420BC_B548EC
.section .text
glabel func_80241E38_B54668
/* B54668 80241E38 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B5466C 80241E3C AFB20038 */ sw $s2, 0x38($sp)
/* B54670 80241E40 0080902D */ daddu $s2, $a0, $zero
/* B54674 80241E44 AFBF0048 */ sw $ra, 0x48($sp)
/* B54678 80241E48 AFB50044 */ sw $s5, 0x44($sp)
/* B5467C 80241E4C AFB40040 */ sw $s4, 0x40($sp)
/* B54680 80241E50 AFB3003C */ sw $s3, 0x3c($sp)
/* B54684 80241E54 AFB10034 */ sw $s1, 0x34($sp)
/* B54688 80241E58 AFB00030 */ sw $s0, 0x30($sp)
/* B5468C 80241E5C 8E510148 */ lw $s1, 0x148($s2)
/* B54690 80241E60 86240008 */ lh $a0, 8($s1)
/* B54694 80241E64 0C00EABB */ jal get_npc_unsafe
/* B54698 80241E68 00A0802D */ daddu $s0, $a1, $zero
/* B5469C 80241E6C 8E43000C */ lw $v1, 0xc($s2)
/* B546A0 80241E70 0240202D */ daddu $a0, $s2, $zero
/* B546A4 80241E74 8C650000 */ lw $a1, ($v1)
/* B546A8 80241E78 0C0B1EAF */ jal get_variable
/* B546AC 80241E7C 0040A82D */ daddu $s5, $v0, $zero
/* B546B0 80241E80 AFA00010 */ sw $zero, 0x10($sp)
/* B546B4 80241E84 8E2300D0 */ lw $v1, 0xd0($s1)
/* B546B8 80241E88 8C630030 */ lw $v1, 0x30($v1)
/* B546BC 80241E8C AFA30014 */ sw $v1, 0x14($sp)
/* B546C0 80241E90 8E2300D0 */ lw $v1, 0xd0($s1)
/* B546C4 80241E94 8C63001C */ lw $v1, 0x1c($v1)
/* B546C8 80241E98 AFA30018 */ sw $v1, 0x18($sp)
/* B546CC 80241E9C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B546D0 80241EA0 8C630024 */ lw $v1, 0x24($v1)
/* B546D4 80241EA4 AFA3001C */ sw $v1, 0x1c($sp)
/* B546D8 80241EA8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B546DC 80241EAC 8C630028 */ lw $v1, 0x28($v1)
/* B546E0 80241EB0 27B40010 */ addiu $s4, $sp, 0x10
/* B546E4 80241EB4 AFA30020 */ sw $v1, 0x20($sp)
/* B546E8 80241EB8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B546EC 80241EBC 3C014282 */ lui $at, 0x4282
/* B546F0 80241EC0 44810000 */ mtc1 $at, $f0
/* B546F4 80241EC4 8C63002C */ lw $v1, 0x2c($v1)
/* B546F8 80241EC8 0040982D */ daddu $s3, $v0, $zero
/* B546FC 80241ECC E7A00028 */ swc1 $f0, 0x28($sp)
/* B54700 80241ED0 A7A0002C */ sh $zero, 0x2c($sp)
/* B54704 80241ED4 16000005 */ bnez $s0, .L80241EEC
/* B54708 80241ED8 AFA30024 */ sw $v1, 0x24($sp)
/* B5470C 80241EDC 8E2200B0 */ lw $v0, 0xb0($s1)
/* B54710 80241EE0 30420004 */ andi $v0, $v0, 4
/* B54714 80241EE4 10400020 */ beqz $v0, .L80241F68
/* B54718 80241EE8 00000000 */ nop
.L80241EEC:
/* B5471C 80241EEC 2404F7FF */ addiu $a0, $zero, -0x801
/* B54720 80241EF0 AE400070 */ sw $zero, 0x70($s2)
/* B54724 80241EF4 A6A0008E */ sh $zero, 0x8e($s5)
/* B54728 80241EF8 8E2200CC */ lw $v0, 0xcc($s1)
/* B5472C 80241EFC 8EA30000 */ lw $v1, ($s5)
/* B54730 80241F00 8C420000 */ lw $v0, ($v0)
/* B54734 80241F04 00641824 */ and $v1, $v1, $a0
/* B54738 80241F08 AEA30000 */ sw $v1, ($s5)
/* B5473C 80241F0C AEA20028 */ sw $v0, 0x28($s5)
/* B54740 80241F10 8E2200D0 */ lw $v0, 0xd0($s1)
/* B54744 80241F14 8C420034 */ lw $v0, 0x34($v0)
/* B54748 80241F18 54400005 */ bnel $v0, $zero, .L80241F30
/* B5474C 80241F1C 2402FDFF */ addiu $v0, $zero, -0x201
/* B54750 80241F20 34620200 */ ori $v0, $v1, 0x200
/* B54754 80241F24 2403FFF7 */ addiu $v1, $zero, -9
/* B54758 80241F28 080907CE */ j .L80241F38
/* B5475C 80241F2C 00431024 */ and $v0, $v0, $v1
.L80241F30:
/* B54760 80241F30 00621024 */ and $v0, $v1, $v0
/* B54764 80241F34 34420008 */ ori $v0, $v0, 8
.L80241F38:
/* B54768 80241F38 AEA20000 */ sw $v0, ($s5)
/* B5476C 80241F3C 8E2200B0 */ lw $v0, 0xb0($s1)
/* B54770 80241F40 30420004 */ andi $v0, $v0, 4
/* B54774 80241F44 10400007 */ beqz $v0, .L80241F64
/* B54778 80241F48 24020063 */ addiu $v0, $zero, 0x63
/* B5477C 80241F4C AE420070 */ sw $v0, 0x70($s2)
/* B54780 80241F50 AE400074 */ sw $zero, 0x74($s2)
/* B54784 80241F54 8E2200B0 */ lw $v0, 0xb0($s1)
/* B54788 80241F58 2403FFFB */ addiu $v1, $zero, -5
/* B5478C 80241F5C 00431024 */ and $v0, $v0, $v1
/* B54790 80241F60 AE2200B0 */ sw $v0, 0xb0($s1)
.L80241F64:
/* B54794 80241F64 AE20006C */ sw $zero, 0x6c($s1)
.L80241F68:
/* B54798 80241F68 8E420070 */ lw $v0, 0x70($s2)
/* B5479C 80241F6C 2842001E */ slti $v0, $v0, 0x1e
/* B547A0 80241F70 10400009 */ beqz $v0, .L80241F98
/* B547A4 80241F74 00000000 */ nop
/* B547A8 80241F78 8E22006C */ lw $v0, 0x6c($s1)
/* B547AC 80241F7C 14400006 */ bnez $v0, .L80241F98
/* B547B0 80241F80 00000000 */ nop
/* B547B4 80241F84 0C090689 */ jal func_80241A24_B54254
/* B547B8 80241F88 0240202D */ daddu $a0, $s2, $zero
/* B547BC 80241F8C 10400002 */ beqz $v0, .L80241F98
/* B547C0 80241F90 2402001E */ addiu $v0, $zero, 0x1e
/* B547C4 80241F94 AE420070 */ sw $v0, 0x70($s2)
.L80241F98:
/* B547C8 80241F98 8E430070 */ lw $v1, 0x70($s2)
/* B547CC 80241F9C 2C620064 */ sltiu $v0, $v1, 0x64
/* B547D0 80241FA0 10400048 */ beqz $v0, L802420C4_B548F4
/* B547D4 80241FA4 00031080 */ sll $v0, $v1, 2
/* B547D8 80241FA8 3C018024 */ lui $at, %hi(jtbl_80246D18_B59548)
/* B547DC 80241FAC 00220821 */ addu $at, $at, $v0
/* B547E0 80241FB0 8C226D18 */ lw $v0, %lo(jtbl_80246D18_B59548)($at)
/* B547E4 80241FB4 00400008 */ jr $v0
/* B547E8 80241FB8 00000000 */ nop
glabel L80241FBC_B547EC
/* B547EC 80241FBC 0240202D */ daddu $a0, $s2, $zero
/* B547F0 80241FC0 0260282D */ daddu $a1, $s3, $zero
/* B547F4 80241FC4 0C012568 */ jal func_800495A0
/* B547F8 80241FC8 0280302D */ daddu $a2, $s4, $zero
glabel L80241FCC_B547FC
/* B547FC 80241FCC 0240202D */ daddu $a0, $s2, $zero
/* B54800 80241FD0 0260282D */ daddu $a1, $s3, $zero
/* B54804 80241FD4 0C0125AE */ jal func_800496B8
/* B54808 80241FD8 0280302D */ daddu $a2, $s4, $zero
/* B5480C 80241FDC 08090831 */ j L802420C4_B548F4
/* B54810 80241FE0 00000000 */ nop
glabel L80241FE4_B54814
/* B54814 80241FE4 0240202D */ daddu $a0, $s2, $zero
/* B54818 80241FE8 0260282D */ daddu $a1, $s3, $zero
/* B5481C 80241FEC 0C0126D1 */ jal base_UnkNpcAIFunc1
/* B54820 80241FF0 0280302D */ daddu $a2, $s4, $zero
glabel L80241FF4_B54824
/* B54824 80241FF4 0240202D */ daddu $a0, $s2, $zero
/* B54828 80241FF8 0260282D */ daddu $a1, $s3, $zero
/* B5482C 80241FFC 0C012701 */ jal func_80049C04
/* B54830 80242000 0280302D */ daddu $a2, $s4, $zero
/* B54834 80242004 08090831 */ j L802420C4_B548F4
/* B54838 80242008 00000000 */ nop
glabel L8024200C_B5483C
/* B5483C 8024200C 0240202D */ daddu $a0, $s2, $zero
/* B54840 80242010 0260282D */ daddu $a1, $s3, $zero
/* B54844 80242014 0C01278F */ jal func_80049E3C
/* B54848 80242018 0280302D */ daddu $a2, $s4, $zero
glabel L8024201C_B5484C
/* B5484C 8024201C 0240202D */ daddu $a0, $s2, $zero
/* B54850 80242020 0260282D */ daddu $a1, $s3, $zero
/* B54854 80242024 0C0127B3 */ jal func_80049ECC
/* B54858 80242028 0280302D */ daddu $a2, $s4, $zero
/* B5485C 8024202C 08090831 */ j L802420C4_B548F4
/* B54860 80242030 00000000 */ nop
glabel L80242034_B54864
/* B54864 80242034 0240202D */ daddu $a0, $s2, $zero
/* B54868 80242038 0260282D */ daddu $a1, $s3, $zero
/* B5486C 8024203C 0C0127DF */ jal func_80049F7C
/* B54870 80242040 0280302D */ daddu $a2, $s4, $zero
glabel L80242044_B54874
/* B54874 80242044 0240202D */ daddu $a0, $s2, $zero
/* B54878 80242048 0260282D */ daddu $a1, $s3, $zero
/* B5487C 8024204C 0C012849 */ jal func_8004A124
/* B54880 80242050 0280302D */ daddu $a2, $s4, $zero
/* B54884 80242054 08090831 */ j L802420C4_B548F4
/* B54888 80242058 00000000 */ nop
glabel L8024205C_B5488C
/* B5488C 8024205C 0240202D */ daddu $a0, $s2, $zero
/* B54890 80242060 0260282D */ daddu $a1, $s3, $zero
/* B54894 80242064 0C0128FA */ jal func_8004A3E8
/* B54898 80242068 0280302D */ daddu $a2, $s4, $zero
/* B5489C 8024206C 08090831 */ j L802420C4_B548F4
/* B548A0 80242070 00000000 */ nop
glabel L80242074_B548A4
/* B548A4 80242074 0C090607 */ jal jan_06_UnkNpcAIFunc6
/* B548A8 80242078 0240202D */ daddu $a0, $s2, $zero
glabel L8024207C_B548AC
/* B548AC 8024207C 0C090622 */ jal jan_06_UnkNpcAIFunc7
/* B548B0 80242080 0240202D */ daddu $a0, $s2, $zero
/* B548B4 80242084 8E430070 */ lw $v1, 0x70($s2)
/* B548B8 80242088 24020020 */ addiu $v0, $zero, 0x20
/* B548BC 8024208C 1462000D */ bne $v1, $v0, L802420C4_B548F4
/* B548C0 80242090 00000000 */ nop
glabel L80242094_B548C4
/* B548C4 80242094 0C09063E */ jal jan_06_UnkNpcAIFunc8
/* B548C8 80242098 0240202D */ daddu $a0, $s2, $zero
/* B548CC 8024209C 8E430070 */ lw $v1, 0x70($s2)
/* B548D0 802420A0 24020021 */ addiu $v0, $zero, 0x21
/* B548D4 802420A4 14620007 */ bne $v1, $v0, L802420C4_B548F4
/* B548D8 802420A8 00000000 */ nop
glabel L802420AC_B548DC
/* B548DC 802420AC 0C090674 */ jal jan_06_UnkNpcAIFunc5
/* B548E0 802420B0 0240202D */ daddu $a0, $s2, $zero
/* B548E4 802420B4 08090831 */ j L802420C4_B548F4
/* B548E8 802420B8 00000000 */ nop
glabel L802420BC_B548EC
/* B548EC 802420BC 0C0129CF */ jal func_8004A73C
/* B548F0 802420C0 0240202D */ daddu $a0, $s2, $zero
glabel L802420C4_B548F4
/* B548F4 802420C4 8FBF0048 */ lw $ra, 0x48($sp)
/* B548F8 802420C8 8FB50044 */ lw $s5, 0x44($sp)
/* B548FC 802420CC 8FB40040 */ lw $s4, 0x40($sp)
/* B54900 802420D0 8FB3003C */ lw $s3, 0x3c($sp)
/* B54904 802420D4 8FB20038 */ lw $s2, 0x38($sp)
/* B54908 802420D8 8FB10034 */ lw $s1, 0x34($sp)
/* B5490C 802420DC 8FB00030 */ lw $s0, 0x30($sp)
/* B54910 802420E0 0000102D */ daddu $v0, $zero, $zero
/* B54914 802420E4 03E00008 */ jr $ra
/* B54918 802420E8 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80246EA8_B596D8
.word L80242270_B54AA0, L80242280_B54AB0, L80242298_B54AC8, L802422A8_B54AD8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L802422C0_B54AF0, L802422D0_B54B00, L802422E8_B54B18, L802422F8_B54B28, L80242310_B54B40, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242328_B54B58, L80242330_B54B60, L80242348_B54B78, L80242360_B54B90, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242378_B54BA8, L80242370_B54BA0, 0, 0
.section .text
glabel func_802420EC_B5491C
/* B5491C 802420EC 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B54920 802420F0 AFB20038 */ sw $s2, 0x38($sp)
/* B54924 802420F4 0080902D */ daddu $s2, $a0, $zero
/* B54928 802420F8 AFBF0048 */ sw $ra, 0x48($sp)
/* B5492C 802420FC AFB50044 */ sw $s5, 0x44($sp)
/* B54930 80242100 AFB40040 */ sw $s4, 0x40($sp)
/* B54934 80242104 AFB3003C */ sw $s3, 0x3c($sp)
/* B54938 80242108 AFB10034 */ sw $s1, 0x34($sp)
/* B5493C 8024210C AFB00030 */ sw $s0, 0x30($sp)
/* B54940 80242110 8E510148 */ lw $s1, 0x148($s2)
/* B54944 80242114 86240008 */ lh $a0, 8($s1)
/* B54948 80242118 0C00EABB */ jal get_npc_unsafe
/* B5494C 8024211C 00A0802D */ daddu $s0, $a1, $zero
/* B54950 80242120 8E43000C */ lw $v1, 0xc($s2)
/* B54954 80242124 0240202D */ daddu $a0, $s2, $zero
/* B54958 80242128 8C650000 */ lw $a1, ($v1)
/* B5495C 8024212C 0C0B1EAF */ jal get_variable
/* B54960 80242130 0040A82D */ daddu $s5, $v0, $zero
/* B54964 80242134 AFA00010 */ sw $zero, 0x10($sp)
/* B54968 80242138 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5496C 8024213C 8C630030 */ lw $v1, 0x30($v1)
/* B54970 80242140 AFA30014 */ sw $v1, 0x14($sp)
/* B54974 80242144 8E2300D0 */ lw $v1, 0xd0($s1)
/* B54978 80242148 8C63001C */ lw $v1, 0x1c($v1)
/* B5497C 8024214C AFA30018 */ sw $v1, 0x18($sp)
/* B54980 80242150 8E2300D0 */ lw $v1, 0xd0($s1)
/* B54984 80242154 8C630024 */ lw $v1, 0x24($v1)
/* B54988 80242158 AFA3001C */ sw $v1, 0x1c($sp)
/* B5498C 8024215C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B54990 80242160 8C630028 */ lw $v1, 0x28($v1)
/* B54994 80242164 27B40010 */ addiu $s4, $sp, 0x10
/* B54998 80242168 AFA30020 */ sw $v1, 0x20($sp)
/* B5499C 8024216C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B549A0 80242170 3C014282 */ lui $at, 0x4282
/* B549A4 80242174 44810000 */ mtc1 $at, $f0
/* B549A8 80242178 8C63002C */ lw $v1, 0x2c($v1)
/* B549AC 8024217C 0040982D */ daddu $s3, $v0, $zero
/* B549B0 80242180 E7A00028 */ swc1 $f0, 0x28($sp)
/* B549B4 80242184 A7A0002C */ sh $zero, 0x2c($sp)
/* B549B8 80242188 16000005 */ bnez $s0, .L802421A0
/* B549BC 8024218C AFA30024 */ sw $v1, 0x24($sp)
/* B549C0 80242190 8E2200B0 */ lw $v0, 0xb0($s1)
/* B549C4 80242194 30420004 */ andi $v0, $v0, 4
/* B549C8 80242198 10400020 */ beqz $v0, .L8024221C
/* B549CC 8024219C 00000000 */ nop
.L802421A0:
/* B549D0 802421A0 2404F7FF */ addiu $a0, $zero, -0x801
/* B549D4 802421A4 AE400070 */ sw $zero, 0x70($s2)
/* B549D8 802421A8 A6A0008E */ sh $zero, 0x8e($s5)
/* B549DC 802421AC 8E2200CC */ lw $v0, 0xcc($s1)
/* B549E0 802421B0 8EA30000 */ lw $v1, ($s5)
/* B549E4 802421B4 8C420000 */ lw $v0, ($v0)
/* B549E8 802421B8 00641824 */ and $v1, $v1, $a0
/* B549EC 802421BC AEA30000 */ sw $v1, ($s5)
/* B549F0 802421C0 AEA20028 */ sw $v0, 0x28($s5)
/* B549F4 802421C4 8E2200D0 */ lw $v0, 0xd0($s1)
/* B549F8 802421C8 8C420034 */ lw $v0, 0x34($v0)
/* B549FC 802421CC 54400005 */ bnel $v0, $zero, .L802421E4
/* B54A00 802421D0 2402FDFF */ addiu $v0, $zero, -0x201
/* B54A04 802421D4 34620200 */ ori $v0, $v1, 0x200
/* B54A08 802421D8 2403FFF7 */ addiu $v1, $zero, -9
/* B54A0C 802421DC 0809087B */ j .L802421EC
/* B54A10 802421E0 00431024 */ and $v0, $v0, $v1
.L802421E4:
/* B54A14 802421E4 00621024 */ and $v0, $v1, $v0
/* B54A18 802421E8 34420008 */ ori $v0, $v0, 8
.L802421EC:
/* B54A1C 802421EC AEA20000 */ sw $v0, ($s5)
/* B54A20 802421F0 8E2200B0 */ lw $v0, 0xb0($s1)
/* B54A24 802421F4 30420004 */ andi $v0, $v0, 4
/* B54A28 802421F8 10400007 */ beqz $v0, .L80242218
/* B54A2C 802421FC 24020063 */ addiu $v0, $zero, 0x63
/* B54A30 80242200 AE420070 */ sw $v0, 0x70($s2)
/* B54A34 80242204 AE400074 */ sw $zero, 0x74($s2)
/* B54A38 80242208 8E2200B0 */ lw $v0, 0xb0($s1)
/* B54A3C 8024220C 2403FFFB */ addiu $v1, $zero, -5
/* B54A40 80242210 00431024 */ and $v0, $v0, $v1
/* B54A44 80242214 AE2200B0 */ sw $v0, 0xb0($s1)
.L80242218:
/* B54A48 80242218 AE20006C */ sw $zero, 0x6c($s1)
.L8024221C:
/* B54A4C 8024221C 8E420070 */ lw $v0, 0x70($s2)
/* B54A50 80242220 2842001E */ slti $v0, $v0, 0x1e
/* B54A54 80242224 10400009 */ beqz $v0, .L8024224C
/* B54A58 80242228 00000000 */ nop
/* B54A5C 8024222C 8E22006C */ lw $v0, 0x6c($s1)
/* B54A60 80242230 14400006 */ bnez $v0, .L8024224C
/* B54A64 80242234 00000000 */ nop
/* B54A68 80242238 0C090689 */ jal func_80241A24_B54254
/* B54A6C 8024223C 0240202D */ daddu $a0, $s2, $zero
/* B54A70 80242240 10400002 */ beqz $v0, .L8024224C
/* B54A74 80242244 2402001E */ addiu $v0, $zero, 0x1e
/* B54A78 80242248 AE420070 */ sw $v0, 0x70($s2)
.L8024224C:
/* B54A7C 8024224C 8E430070 */ lw $v1, 0x70($s2)
/* B54A80 80242250 2C620064 */ sltiu $v0, $v1, 0x64
/* B54A84 80242254 10400048 */ beqz $v0, L80242378_B54BA8
/* B54A88 80242258 00031080 */ sll $v0, $v1, 2
/* B54A8C 8024225C 3C018024 */ lui $at, %hi(jtbl_80246EA8_B596D8)
/* B54A90 80242260 00220821 */ addu $at, $at, $v0
/* B54A94 80242264 8C226EA8 */ lw $v0, %lo(jtbl_80246EA8_B596D8)($at)
/* B54A98 80242268 00400008 */ jr $v0
/* B54A9C 8024226C 00000000 */ nop
glabel L80242270_B54AA0
/* B54AA0 80242270 0240202D */ daddu $a0, $s2, $zero
/* B54AA4 80242274 0260282D */ daddu $a1, $s3, $zero
/* B54AA8 80242278 0C012568 */ jal func_800495A0
/* B54AAC 8024227C 0280302D */ daddu $a2, $s4, $zero
glabel L80242280_B54AB0
/* B54AB0 80242280 0240202D */ daddu $a0, $s2, $zero
/* B54AB4 80242284 0260282D */ daddu $a1, $s3, $zero
/* B54AB8 80242288 0C0125AE */ jal func_800496B8
/* B54ABC 8024228C 0280302D */ daddu $a2, $s4, $zero
/* B54AC0 80242290 080908DE */ j L80242378_B54BA8
/* B54AC4 80242294 00000000 */ nop
glabel L80242298_B54AC8
/* B54AC8 80242298 0240202D */ daddu $a0, $s2, $zero
/* B54ACC 8024229C 0260282D */ daddu $a1, $s3, $zero
/* B54AD0 802422A0 0C090582 */ jal jan_06_UnkNpcAIFunc4
/* B54AD4 802422A4 0280302D */ daddu $a2, $s4, $zero
glabel L802422A8_B54AD8
/* B54AD8 802422A8 0240202D */ daddu $a0, $s2, $zero
/* B54ADC 802422AC 0260282D */ daddu $a1, $s3, $zero
/* B54AE0 802422B0 0C090596 */ jal func_80241658_B53E88
/* B54AE4 802422B4 0280302D */ daddu $a2, $s4, $zero
/* B54AE8 802422B8 080908DE */ j L80242378_B54BA8
/* B54AEC 802422BC 00000000 */ nop
glabel L802422C0_B54AF0
/* B54AF0 802422C0 0240202D */ daddu $a0, $s2, $zero
/* B54AF4 802422C4 0260282D */ daddu $a1, $s3, $zero
/* B54AF8 802422C8 0C01278F */ jal func_80049E3C
/* B54AFC 802422CC 0280302D */ daddu $a2, $s4, $zero
glabel L802422D0_B54B00
/* B54B00 802422D0 0240202D */ daddu $a0, $s2, $zero
/* B54B04 802422D4 0260282D */ daddu $a1, $s3, $zero
/* B54B08 802422D8 0C0127B3 */ jal func_80049ECC
/* B54B0C 802422DC 0280302D */ daddu $a2, $s4, $zero
/* B54B10 802422E0 080908DE */ j L80242378_B54BA8
/* B54B14 802422E4 00000000 */ nop
glabel L802422E8_B54B18
/* B54B18 802422E8 0240202D */ daddu $a0, $s2, $zero
/* B54B1C 802422EC 0260282D */ daddu $a1, $s3, $zero
/* B54B20 802422F0 0C0127DF */ jal func_80049F7C
/* B54B24 802422F4 0280302D */ daddu $a2, $s4, $zero
glabel L802422F8_B54B28
/* B54B28 802422F8 0240202D */ daddu $a0, $s2, $zero
/* B54B2C 802422FC 0260282D */ daddu $a1, $s3, $zero
/* B54B30 80242300 0C012849 */ jal func_8004A124
/* B54B34 80242304 0280302D */ daddu $a2, $s4, $zero
/* B54B38 80242308 080908DE */ j L80242378_B54BA8
/* B54B3C 8024230C 00000000 */ nop
glabel L80242310_B54B40
/* B54B40 80242310 0240202D */ daddu $a0, $s2, $zero
/* B54B44 80242314 0260282D */ daddu $a1, $s3, $zero
/* B54B48 80242318 0C0128FA */ jal func_8004A3E8
/* B54B4C 8024231C 0280302D */ daddu $a2, $s4, $zero
/* B54B50 80242320 080908DE */ j L80242378_B54BA8
/* B54B54 80242324 00000000 */ nop
glabel L80242328_B54B58
/* B54B58 80242328 0C090607 */ jal jan_06_UnkNpcAIFunc6
/* B54B5C 8024232C 0240202D */ daddu $a0, $s2, $zero
glabel L80242330_B54B60
/* B54B60 80242330 0C090622 */ jal jan_06_UnkNpcAIFunc7
/* B54B64 80242334 0240202D */ daddu $a0, $s2, $zero
/* B54B68 80242338 8E430070 */ lw $v1, 0x70($s2)
/* B54B6C 8024233C 24020020 */ addiu $v0, $zero, 0x20
/* B54B70 80242340 1462000D */ bne $v1, $v0, L80242378_B54BA8
/* B54B74 80242344 00000000 */ nop
glabel L80242348_B54B78
/* B54B78 80242348 0C09063E */ jal jan_06_UnkNpcAIFunc8
/* B54B7C 8024234C 0240202D */ daddu $a0, $s2, $zero
/* B54B80 80242350 8E430070 */ lw $v1, 0x70($s2)
/* B54B84 80242354 24020021 */ addiu $v0, $zero, 0x21
/* B54B88 80242358 14620007 */ bne $v1, $v0, L80242378_B54BA8
/* B54B8C 8024235C 00000000 */ nop
glabel L80242360_B54B90
/* B54B90 80242360 0C090674 */ jal jan_06_UnkNpcAIFunc5
/* B54B94 80242364 0240202D */ daddu $a0, $s2, $zero
/* B54B98 80242368 080908DE */ j L80242378_B54BA8
/* B54B9C 8024236C 00000000 */ nop
glabel L80242370_B54BA0
/* B54BA0 80242370 0C0129CF */ jal func_8004A73C
/* B54BA4 80242374 0240202D */ daddu $a0, $s2, $zero
glabel L80242378_B54BA8
/* B54BA8 80242378 8FBF0048 */ lw $ra, 0x48($sp)
/* B54BAC 8024237C 8FB50044 */ lw $s5, 0x44($sp)
/* B54BB0 80242380 8FB40040 */ lw $s4, 0x40($sp)
/* B54BB4 80242384 8FB3003C */ lw $s3, 0x3c($sp)
/* B54BB8 80242388 8FB20038 */ lw $s2, 0x38($sp)
/* B54BBC 8024238C 8FB10034 */ lw $s1, 0x34($sp)
/* B54BC0 80242390 8FB00030 */ lw $s0, 0x30($sp)
/* B54BC4 80242394 0000102D */ daddu $v0, $zero, $zero
/* B54BC8 80242398 03E00008 */ jr $ra
/* B54BCC 8024239C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,136 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80244700_B5DF70
.word L802400D0_B59940, L802400E8_B59958, L80240108_B59978, L80240120_B59990, L8024015C_B599CC, L802401A8_B59A18
.section .text
glabel func_80240050_B598C0
/* B598C0 80240050 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B598C4 80240054 AFB20028 */ sw $s2, 0x28($sp)
/* B598C8 80240058 0080902D */ daddu $s2, $a0, $zero
/* B598CC 8024005C AFBF002C */ sw $ra, 0x2c($sp)
/* B598D0 80240060 AFB10024 */ sw $s1, 0x24($sp)
/* B598D4 80240064 AFB00020 */ sw $s0, 0x20($sp)
/* B598D8 80240068 8E500148 */ lw $s0, 0x148($s2)
/* B598DC 8024006C 0C00EABB */ jal get_npc_unsafe
/* B598E0 80240070 86040008 */ lh $a0, 8($s0)
/* B598E4 80240074 8E03006C */ lw $v1, 0x6c($s0)
/* B598E8 80240078 1460000B */ bnez $v1, .L802400A8
/* B598EC 8024007C 0040882D */ daddu $s1, $v0, $zero
/* B598F0 80240080 0C00A67F */ jal rand_int
/* B598F4 80240084 24040064 */ addiu $a0, $zero, 0x64
/* B598F8 80240088 28420032 */ slti $v0, $v0, 0x32
/* B598FC 8024008C 14400002 */ bnez $v0, .L80240098
/* B59900 80240090 24020001 */ addiu $v0, $zero, 1
/* B59904 80240094 24020003 */ addiu $v0, $zero, 3
.L80240098:
/* B59908 80240098 AE02006C */ sw $v0, 0x6c($s0)
/* B5990C 8024009C 3C054387 */ lui $a1, 0x4387
/* B59910 802400A0 0C00ECD0 */ jal set_npc_yaw
/* B59914 802400A4 0220202D */ daddu $a0, $s1, $zero
.L802400A8:
/* B59918 802400A8 8E02006C */ lw $v0, 0x6c($s0)
/* B5991C 802400AC 2443FFFF */ addiu $v1, $v0, -1
/* B59920 802400B0 2C620006 */ sltiu $v0, $v1, 6
/* B59924 802400B4 1040004D */ beqz $v0, .L802401EC
/* B59928 802400B8 00031080 */ sll $v0, $v1, 2
/* B5992C 802400BC 3C018024 */ lui $at, %hi(jtbl_80244700_B5DF70)
/* B59930 802400C0 00220821 */ addu $at, $at, $v0
/* B59934 802400C4 8C224700 */ lw $v0, %lo(jtbl_80244700_B5DF70)($at)
/* B59938 802400C8 00400008 */ jr $v0
/* B5993C 802400CC 00000000 */ nop
glabel L802400D0_B59940
/* B59940 802400D0 3C030042 */ lui $v1, 0x42
/* B59944 802400D4 3463000F */ ori $v1, $v1, 0xf
/* B59948 802400D8 24020002 */ addiu $v0, $zero, 2
/* B5994C 802400DC AE02006C */ sw $v0, 0x6c($s0)
/* B59950 802400E0 AE000070 */ sw $zero, 0x70($s0)
/* B59954 802400E4 AE230028 */ sw $v1, 0x28($s1)
glabel L802400E8_B59958
/* B59958 802400E8 8E020070 */ lw $v0, 0x70($s0)
/* B5995C 802400EC 24420001 */ addiu $v0, $v0, 1
/* B59960 802400F0 AE020070 */ sw $v0, 0x70($s0)
/* B59964 802400F4 28420033 */ slti $v0, $v0, 0x33
/* B59968 802400F8 1440003C */ bnez $v0, .L802401EC
/* B5996C 802400FC 24020005 */ addiu $v0, $zero, 5
/* B59970 80240100 0809007B */ j .L802401EC
/* B59974 80240104 AE02006C */ sw $v0, 0x6c($s0)
glabel L80240108_B59978
/* B59978 80240108 3C030042 */ lui $v1, 0x42
/* B5997C 8024010C 34630010 */ ori $v1, $v1, 0x10
/* B59980 80240110 24020004 */ addiu $v0, $zero, 4
/* B59984 80240114 AE02006C */ sw $v0, 0x6c($s0)
/* B59988 80240118 AE000070 */ sw $zero, 0x70($s0)
/* B5998C 8024011C AE230028 */ sw $v1, 0x28($s1)
glabel L80240120_B59990
/* B59990 80240120 8E020070 */ lw $v0, 0x70($s0)
/* B59994 80240124 24030019 */ addiu $v1, $zero, 0x19
/* B59998 80240128 24420001 */ addiu $v0, $v0, 1
/* B5999C 8024012C 14430005 */ bne $v0, $v1, .L80240144
/* B599A0 80240130 AE020070 */ sw $v0, 0x70($s0)
/* B599A4 80240134 3C0142B4 */ lui $at, 0x42b4
/* B599A8 80240138 44810000 */ mtc1 $at, $f0
/* B599AC 8024013C 00000000 */ nop
/* B599B0 80240140 E620000C */ swc1 $f0, 0xc($s1)
.L80240144:
/* B599B4 80240144 8E020070 */ lw $v0, 0x70($s0)
/* B599B8 80240148 2842003D */ slti $v0, $v0, 0x3d
/* B599BC 8024014C 14400027 */ bnez $v0, .L802401EC
/* B599C0 80240150 24020005 */ addiu $v0, $zero, 5
/* B599C4 80240154 0809007B */ j .L802401EC
/* B599C8 80240158 AE02006C */ sw $v0, 0x6c($s0)
glabel L8024015C_B599CC
/* B599CC 8024015C 3C030042 */ lui $v1, 0x42
/* B599D0 80240160 24020006 */ addiu $v0, $zero, 6
/* B599D4 80240164 34630003 */ ori $v1, $v1, 3
/* B599D8 80240168 AE02006C */ sw $v0, 0x6c($s0)
/* B599DC 8024016C AE000070 */ sw $zero, 0x70($s0)
/* B599E0 80240170 862400A8 */ lh $a0, 0xa8($s1)
/* B599E4 80240174 2402000A */ addiu $v0, $zero, 0xa
/* B599E8 80240178 AE230028 */ sw $v1, 0x28($s1)
/* B599EC 8024017C AFA00014 */ sw $zero, 0x14($sp)
/* B599F0 80240180 AFA20018 */ sw $v0, 0x18($sp)
/* B599F4 80240184 44840000 */ mtc1 $a0, $f0
/* B599F8 80240188 00000000 */ nop
/* B599FC 8024018C 46800020 */ cvt.s.w $f0, $f0
/* B59A00 80240190 E7A00010 */ swc1 $f0, 0x10($sp)
/* B59A04 80240194 8E250038 */ lw $a1, 0x38($s1)
/* B59A08 80240198 8E26003C */ lw $a2, 0x3c($s1)
/* B59A0C 8024019C 8E270040 */ lw $a3, 0x40($s1)
/* B59A10 802401A0 0C01C1E4 */ jal fx_sweat
/* B59A14 802401A4 0000202D */ daddu $a0, $zero, $zero
glabel L802401A8_B59A18
/* B59A18 802401A8 8E020070 */ lw $v0, 0x70($s0)
/* B59A1C 802401AC 24420001 */ addiu $v0, $v0, 1
/* B59A20 802401B0 AE020070 */ sw $v0, 0x70($s0)
/* B59A24 802401B4 2842000B */ slti $v0, $v0, 0xb
/* B59A28 802401B8 1440000C */ bnez $v0, .L802401EC
/* B59A2C 802401BC 00000000 */ nop
/* B59A30 802401C0 0C00A67F */ jal rand_int
/* B59A34 802401C4 24040064 */ addiu $a0, $zero, 0x64
/* B59A38 802401C8 0040182D */ daddu $v1, $v0, $zero
/* B59A3C 802401CC 2862005A */ slti $v0, $v1, 0x5a
/* B59A40 802401D0 14400005 */ bnez $v0, .L802401E8
/* B59A44 802401D4 24020007 */ addiu $v0, $zero, 7
/* B59A48 802401D8 2862005F */ slti $v0, $v1, 0x5f
/* B59A4C 802401DC 14400002 */ bnez $v0, .L802401E8
/* B59A50 802401E0 24020001 */ addiu $v0, $zero, 1
/* B59A54 802401E4 24020003 */ addiu $v0, $zero, 3
.L802401E8:
/* B59A58 802401E8 AE02006C */ sw $v0, 0x6c($s0)
.L802401EC:
/* B59A5C 802401EC 8E03006C */ lw $v1, 0x6c($s0)
/* B59A60 802401F0 24020007 */ addiu $v0, $zero, 7
/* B59A64 802401F4 50620001 */ beql $v1, $v0, .L802401FC
/* B59A68 802401F8 AE400070 */ sw $zero, 0x70($s2)
.L802401FC:
/* B59A6C 802401FC 8FBF002C */ lw $ra, 0x2c($sp)
/* B59A70 80240200 8FB20028 */ lw $s2, 0x28($sp)
/* B59A74 80240204 8FB10024 */ lw $s1, 0x24($sp)
/* B59A78 80240208 8FB00020 */ lw $s0, 0x20($sp)
/* B59A7C 8024020C 03E00008 */ jr $ra
/* B59A80 80240210 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80244718_B5DF88
.double 180.0
.section .text
glabel func_8024041C_B59C8C
/* B59C8C 8024041C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B59C90 80240420 AFBF0024 */ sw $ra, 0x24($sp)
/* B59C94 80240424 AFB40020 */ sw $s4, 0x20($sp)
/* B59C98 80240428 AFB3001C */ sw $s3, 0x1c($sp)
/* B59C9C 8024042C AFB20018 */ sw $s2, 0x18($sp)
/* B59CA0 80240430 AFB10014 */ sw $s1, 0x14($sp)
/* B59CA4 80240434 AFB00010 */ sw $s0, 0x10($sp)
/* B59CA8 80240438 F7B40028 */ sdc1 $f20, 0x28($sp)
/* B59CAC 8024043C 8C900148 */ lw $s0, 0x148($a0)
/* B59CB0 80240440 86040008 */ lh $a0, 8($s0)
/* B59CB4 80240444 0C00EABB */ jal get_npc_unsafe
/* B59CB8 80240448 24110001 */ addiu $s1, $zero, 1
/* B59CBC 8024044C 86040008 */ lh $a0, 8($s0)
/* B59CC0 80240450 0040802D */ daddu $s0, $v0, $zero
/* B59CC4 80240454 3C05800B */ lui $a1, %hi(gCameras)
/* B59CC8 80240458 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* B59CCC 8024045C 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B59CD0 80240460 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B59CD4 80240464 00912021 */ addu $a0, $a0, $s1
/* B59CD8 80240468 00031080 */ sll $v0, $v1, 2
/* B59CDC 8024046C 00431021 */ addu $v0, $v0, $v1
/* B59CE0 80240470 00021080 */ sll $v0, $v0, 2
/* B59CE4 80240474 00431023 */ subu $v0, $v0, $v1
/* B59CE8 80240478 000218C0 */ sll $v1, $v0, 3
/* B59CEC 8024047C 00431021 */ addu $v0, $v0, $v1
/* B59CF0 80240480 000210C0 */ sll $v0, $v0, 3
/* B59CF4 80240484 0C00FB3A */ jal get_enemy
/* B59CF8 80240488 00459021 */ addu $s2, $v0, $a1
/* B59CFC 8024048C 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* B59D00 80240490 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* B59D04 80240494 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B59D08 80240498 8E830000 */ lw $v1, ($s4)
/* B59D0C 8024049C C60E0040 */ lwc1 $f14, 0x40($s0)
/* B59D10 802404A0 8C660028 */ lw $a2, 0x28($v1)
/* B59D14 802404A4 8C670030 */ lw $a3, 0x30($v1)
/* B59D18 802404A8 0C00A7B5 */ jal dist2D
/* B59D1C 802404AC 0040982D */ daddu $s3, $v0, $zero
/* B59D20 802404B0 C6620074 */ lwc1 $f2, 0x74($s3)
/* B59D24 802404B4 468010A0 */ cvt.s.w $f2, $f2
/* B59D28 802404B8 4600103C */ c.lt.s $f2, $f0
/* B59D2C 802404BC 00000000 */ nop
/* B59D30 802404C0 45030001 */ bc1tl .L802404C8
/* B59D34 802404C4 0000882D */ daddu $s1, $zero, $zero
.L802404C8:
/* B59D38 802404C8 C64C006C */ lwc1 $f12, 0x6c($s2)
/* B59D3C 802404CC C60E000C */ lwc1 $f14, 0xc($s0)
/* B59D40 802404D0 3C014387 */ lui $at, 0x4387
/* B59D44 802404D4 4481A000 */ mtc1 $at, $f20
/* B59D48 802404D8 0C00A70A */ jal get_clamped_angle_diff
/* B59D4C 802404DC 00000000 */ nop
/* B59D50 802404E0 0C00A6C9 */ jal clamp_angle
/* B59D54 802404E4 46000306 */ mov.s $f12, $f0
/* B59D58 802404E8 3C018024 */ lui $at, %hi(D_80244718_B5DF88)
/* B59D5C 802404EC D4224718 */ ldc1 $f2, %lo(D_80244718_B5DF88)($at)
/* B59D60 802404F0 46000021 */ cvt.d.s $f0, $f0
/* B59D64 802404F4 4622003C */ c.lt.d $f0, $f2
/* B59D68 802404F8 00000000 */ nop
/* B59D6C 802404FC 45000003 */ bc1f .L8024050C
/* B59D70 80240500 00000000 */ nop
/* B59D74 80240504 3C0142B4 */ lui $at, 0x42b4
/* B59D78 80240508 4481A000 */ mtc1 $at, $f20
.L8024050C:
/* B59D7C 8024050C C60C0038 */ lwc1 $f12, 0x38($s0)
/* B59D80 80240510 8E820000 */ lw $v0, ($s4)
/* B59D84 80240514 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B59D88 80240518 8C460028 */ lw $a2, 0x28($v0)
/* B59D8C 8024051C 0C00A720 */ jal atan2
/* B59D90 80240520 8C470030 */ lw $a3, 0x30($v0)
/* B59D94 80240524 4600A306 */ mov.s $f12, $f20
/* B59D98 80240528 0C00A70A */ jal get_clamped_angle_diff
/* B59D9C 8024052C 46000386 */ mov.s $f14, $f0
/* B59DA0 80240530 C6620078 */ lwc1 $f2, 0x78($s3)
/* B59DA4 80240534 468010A0 */ cvt.s.w $f2, $f2
/* B59DA8 80240538 46000005 */ abs.s $f0, $f0
/* B59DAC 8024053C 4600103C */ c.lt.s $f2, $f0
/* B59DB0 80240540 00000000 */ nop
/* B59DB4 80240544 45030001 */ bc1tl .L8024054C
/* B59DB8 80240548 0000882D */ daddu $s1, $zero, $zero
.L8024054C:
/* B59DBC 8024054C 8E820000 */ lw $v0, ($s4)
/* B59DC0 80240550 C600003C */ lwc1 $f0, 0x3c($s0)
/* B59DC4 80240554 C442002C */ lwc1 $f2, 0x2c($v0)
/* B59DC8 80240558 860200A8 */ lh $v0, 0xa8($s0)
/* B59DCC 8024055C 46020001 */ sub.s $f0, $f0, $f2
/* B59DD0 80240560 44821000 */ mtc1 $v0, $f2
/* B59DD4 80240564 00000000 */ nop
/* B59DD8 80240568 468010A1 */ cvt.d.w $f2, $f2
/* B59DDC 8024056C 46221080 */ add.d $f2, $f2, $f2
/* B59DE0 80240570 46000005 */ abs.s $f0, $f0
/* B59DE4 80240574 46000021 */ cvt.d.s $f0, $f0
/* B59DE8 80240578 4620103E */ c.le.d $f2, $f0
/* B59DEC 8024057C 00000000 */ nop
/* B59DF0 80240580 45030001 */ bc1tl .L80240588
/* B59DF4 80240584 0000882D */ daddu $s1, $zero, $zero
.L80240588:
/* B59DF8 80240588 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* B59DFC 8024058C 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* B59E00 80240590 24020009 */ addiu $v0, $zero, 9
/* B59E04 80240594 50620001 */ beql $v1, $v0, .L8024059C
/* B59E08 80240598 0000882D */ daddu $s1, $zero, $zero
.L8024059C:
/* B59E0C 8024059C 24020007 */ addiu $v0, $zero, 7
/* B59E10 802405A0 50620001 */ beql $v1, $v0, .L802405A8
/* B59E14 802405A4 0000882D */ daddu $s1, $zero, $zero
.L802405A8:
/* B59E18 802405A8 0220102D */ daddu $v0, $s1, $zero
/* B59E1C 802405AC 8FBF0024 */ lw $ra, 0x24($sp)
/* B59E20 802405B0 8FB40020 */ lw $s4, 0x20($sp)
/* B59E24 802405B4 8FB3001C */ lw $s3, 0x1c($sp)
/* B59E28 802405B8 8FB20018 */ lw $s2, 0x18($sp)
/* B59E2C 802405BC 8FB10014 */ lw $s1, 0x14($sp)
/* B59E30 802405C0 8FB00010 */ lw $s0, 0x10($sp)
/* B59E34 802405C4 D7B40028 */ ldc1 $f20, 0x28($sp)
/* B59E38 802405C8 03E00008 */ jr $ra
/* B59E3C 802405CC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80244720_B5DF90
.word L802409B4_B5A224, L802409C4_B5A234, L802409DC_B5A24C, L802409EC_B5A25C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240A04_B5A274, L80240A14_B5A284, L80240A2C_B5A29C, L80240A3C_B5A2AC, L80240A54_B5A2C4, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240A6C_B5A2DC, L80240A74_B5A2E4, L80240A8C_B5A2FC, L80240AA4_B5A314, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240ABC_B5A32C, L80240AB4_B5A324
.section .text
glabel func_80240830_B5A0A0
/* B5A0A0 80240830 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B5A0A4 80240834 AFB20038 */ sw $s2, 0x38($sp)
/* B5A0A8 80240838 0080902D */ daddu $s2, $a0, $zero
/* B5A0AC 8024083C AFBF0048 */ sw $ra, 0x48($sp)
/* B5A0B0 80240840 AFB50044 */ sw $s5, 0x44($sp)
/* B5A0B4 80240844 AFB40040 */ sw $s4, 0x40($sp)
/* B5A0B8 80240848 AFB3003C */ sw $s3, 0x3c($sp)
/* B5A0BC 8024084C AFB10034 */ sw $s1, 0x34($sp)
/* B5A0C0 80240850 AFB00030 */ sw $s0, 0x30($sp)
/* B5A0C4 80240854 8E510148 */ lw $s1, 0x148($s2)
/* B5A0C8 80240858 86240008 */ lh $a0, 8($s1)
/* B5A0CC 8024085C 0C00EABB */ jal get_npc_unsafe
/* B5A0D0 80240860 00A0802D */ daddu $s0, $a1, $zero
/* B5A0D4 80240864 8E43000C */ lw $v1, 0xc($s2)
/* B5A0D8 80240868 0240202D */ daddu $a0, $s2, $zero
/* B5A0DC 8024086C 8C650000 */ lw $a1, ($v1)
/* B5A0E0 80240870 0C0B1EAF */ jal get_variable
/* B5A0E4 80240874 0040A82D */ daddu $s5, $v0, $zero
/* B5A0E8 80240878 AFA00010 */ sw $zero, 0x10($sp)
/* B5A0EC 8024087C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A0F0 80240880 8C630030 */ lw $v1, 0x30($v1)
/* B5A0F4 80240884 AFA30014 */ sw $v1, 0x14($sp)
/* B5A0F8 80240888 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A0FC 8024088C 8C63001C */ lw $v1, 0x1c($v1)
/* B5A100 80240890 AFA30018 */ sw $v1, 0x18($sp)
/* B5A104 80240894 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A108 80240898 8C630024 */ lw $v1, 0x24($v1)
/* B5A10C 8024089C AFA3001C */ sw $v1, 0x1c($sp)
/* B5A110 802408A0 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A114 802408A4 8C630028 */ lw $v1, 0x28($v1)
/* B5A118 802408A8 27B40010 */ addiu $s4, $sp, 0x10
/* B5A11C 802408AC AFA30020 */ sw $v1, 0x20($sp)
/* B5A120 802408B0 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A124 802408B4 3C014282 */ lui $at, 0x4282
/* B5A128 802408B8 44810000 */ mtc1 $at, $f0
/* B5A12C 802408BC 8C63002C */ lw $v1, 0x2c($v1)
/* B5A130 802408C0 0040982D */ daddu $s3, $v0, $zero
/* B5A134 802408C4 E7A00028 */ swc1 $f0, 0x28($sp)
/* B5A138 802408C8 A7A0002C */ sh $zero, 0x2c($sp)
/* B5A13C 802408CC 16000005 */ bnez $s0, .L802408E4
/* B5A140 802408D0 AFA30024 */ sw $v1, 0x24($sp)
/* B5A144 802408D4 8E2200B0 */ lw $v0, 0xb0($s1)
/* B5A148 802408D8 30420004 */ andi $v0, $v0, 4
/* B5A14C 802408DC 10400020 */ beqz $v0, .L80240960
/* B5A150 802408E0 00000000 */ nop
.L802408E4:
/* B5A154 802408E4 2404F7FF */ addiu $a0, $zero, -0x801
/* B5A158 802408E8 AE400070 */ sw $zero, 0x70($s2)
/* B5A15C 802408EC A6A0008E */ sh $zero, 0x8e($s5)
/* B5A160 802408F0 8E2200CC */ lw $v0, 0xcc($s1)
/* B5A164 802408F4 8EA30000 */ lw $v1, ($s5)
/* B5A168 802408F8 8C420000 */ lw $v0, ($v0)
/* B5A16C 802408FC 00641824 */ and $v1, $v1, $a0
/* B5A170 80240900 AEA30000 */ sw $v1, ($s5)
/* B5A174 80240904 AEA20028 */ sw $v0, 0x28($s5)
/* B5A178 80240908 8E2200D0 */ lw $v0, 0xd0($s1)
/* B5A17C 8024090C 8C420034 */ lw $v0, 0x34($v0)
/* B5A180 80240910 54400005 */ bnel $v0, $zero, .L80240928
/* B5A184 80240914 2402FDFF */ addiu $v0, $zero, -0x201
/* B5A188 80240918 34620200 */ ori $v0, $v1, 0x200
/* B5A18C 8024091C 2403FFF7 */ addiu $v1, $zero, -9
/* B5A190 80240920 0809024C */ j .L80240930
/* B5A194 80240924 00431024 */ and $v0, $v0, $v1
.L80240928:
/* B5A198 80240928 00621024 */ and $v0, $v1, $v0
/* B5A19C 8024092C 34420008 */ ori $v0, $v0, 8
.L80240930:
/* B5A1A0 80240930 AEA20000 */ sw $v0, ($s5)
/* B5A1A4 80240934 8E2200B0 */ lw $v0, 0xb0($s1)
/* B5A1A8 80240938 30420004 */ andi $v0, $v0, 4
/* B5A1AC 8024093C 10400007 */ beqz $v0, .L8024095C
/* B5A1B0 80240940 24020063 */ addiu $v0, $zero, 0x63
/* B5A1B4 80240944 AE420070 */ sw $v0, 0x70($s2)
/* B5A1B8 80240948 AE400074 */ sw $zero, 0x74($s2)
/* B5A1BC 8024094C 8E2200B0 */ lw $v0, 0xb0($s1)
/* B5A1C0 80240950 2403FFFB */ addiu $v1, $zero, -5
/* B5A1C4 80240954 00431024 */ and $v0, $v0, $v1
/* B5A1C8 80240958 AE2200B0 */ sw $v0, 0xb0($s1)
.L8024095C:
/* B5A1CC 8024095C AE20006C */ sw $zero, 0x6c($s1)
.L80240960:
/* B5A1D0 80240960 8E420070 */ lw $v0, 0x70($s2)
/* B5A1D4 80240964 2842001E */ slti $v0, $v0, 0x1e
/* B5A1D8 80240968 10400009 */ beqz $v0, .L80240990
/* B5A1DC 8024096C 00000000 */ nop
/* B5A1E0 80240970 8E22006C */ lw $v0, 0x6c($s1)
/* B5A1E4 80240974 14400006 */ bnez $v0, .L80240990
/* B5A1E8 80240978 00000000 */ nop
/* B5A1EC 8024097C 0C090107 */ jal func_8024041C_B59C8C
/* B5A1F0 80240980 0240202D */ daddu $a0, $s2, $zero
/* B5A1F4 80240984 10400002 */ beqz $v0, .L80240990
/* B5A1F8 80240988 2402001E */ addiu $v0, $zero, 0x1e
/* B5A1FC 8024098C AE420070 */ sw $v0, 0x70($s2)
.L80240990:
/* B5A200 80240990 8E430070 */ lw $v1, 0x70($s2)
/* B5A204 80240994 2C620064 */ sltiu $v0, $v1, 0x64
/* B5A208 80240998 10400048 */ beqz $v0, L80240ABC_B5A32C
/* B5A20C 8024099C 00031080 */ sll $v0, $v1, 2
/* B5A210 802409A0 3C018024 */ lui $at, %hi(jtbl_80244720_B5DF90)
/* B5A214 802409A4 00220821 */ addu $at, $at, $v0
/* B5A218 802409A8 8C224720 */ lw $v0, %lo(jtbl_80244720_B5DF90)($at)
/* B5A21C 802409AC 00400008 */ jr $v0
/* B5A220 802409B0 00000000 */ nop
glabel L802409B4_B5A224
/* B5A224 802409B4 0240202D */ daddu $a0, $s2, $zero
/* B5A228 802409B8 0260282D */ daddu $a1, $s3, $zero
/* B5A22C 802409BC 0C012568 */ jal func_800495A0
/* B5A230 802409C0 0280302D */ daddu $a2, $s4, $zero
glabel L802409C4_B5A234
/* B5A234 802409C4 0240202D */ daddu $a0, $s2, $zero
/* B5A238 802409C8 0260282D */ daddu $a1, $s3, $zero
/* B5A23C 802409CC 0C0125AE */ jal func_800496B8
/* B5A240 802409D0 0280302D */ daddu $a2, $s4, $zero
/* B5A244 802409D4 080902AF */ j L80240ABC_B5A32C
/* B5A248 802409D8 00000000 */ nop
glabel L802409DC_B5A24C
/* B5A24C 802409DC 0240202D */ daddu $a0, $s2, $zero
/* B5A250 802409E0 0260282D */ daddu $a1, $s3, $zero
/* B5A254 802409E4 0C0126D1 */ jal base_UnkNpcAIFunc1
/* B5A258 802409E8 0280302D */ daddu $a2, $s4, $zero
glabel L802409EC_B5A25C
/* B5A25C 802409EC 0240202D */ daddu $a0, $s2, $zero
/* B5A260 802409F0 0260282D */ daddu $a1, $s3, $zero
/* B5A264 802409F4 0C012701 */ jal func_80049C04
/* B5A268 802409F8 0280302D */ daddu $a2, $s4, $zero
/* B5A26C 802409FC 080902AF */ j L80240ABC_B5A32C
/* B5A270 80240A00 00000000 */ nop
glabel L80240A04_B5A274
/* B5A274 80240A04 0240202D */ daddu $a0, $s2, $zero
/* B5A278 80240A08 0260282D */ daddu $a1, $s3, $zero
/* B5A27C 80240A0C 0C01278F */ jal func_80049E3C
/* B5A280 80240A10 0280302D */ daddu $a2, $s4, $zero
glabel L80240A14_B5A284
/* B5A284 80240A14 0240202D */ daddu $a0, $s2, $zero
/* B5A288 80240A18 0260282D */ daddu $a1, $s3, $zero
/* B5A28C 80240A1C 0C0127B3 */ jal func_80049ECC
/* B5A290 80240A20 0280302D */ daddu $a2, $s4, $zero
/* B5A294 80240A24 080902AF */ j L80240ABC_B5A32C
/* B5A298 80240A28 00000000 */ nop
glabel L80240A2C_B5A29C
/* B5A29C 80240A2C 0240202D */ daddu $a0, $s2, $zero
/* B5A2A0 80240A30 0260282D */ daddu $a1, $s3, $zero
/* B5A2A4 80240A34 0C0127DF */ jal func_80049F7C
/* B5A2A8 80240A38 0280302D */ daddu $a2, $s4, $zero
glabel L80240A3C_B5A2AC
/* B5A2AC 80240A3C 0240202D */ daddu $a0, $s2, $zero
/* B5A2B0 80240A40 0260282D */ daddu $a1, $s3, $zero
/* B5A2B4 80240A44 0C012849 */ jal func_8004A124
/* B5A2B8 80240A48 0280302D */ daddu $a2, $s4, $zero
/* B5A2BC 80240A4C 080902AF */ j L80240ABC_B5A32C
/* B5A2C0 80240A50 00000000 */ nop
glabel L80240A54_B5A2C4
/* B5A2C4 80240A54 0240202D */ daddu $a0, $s2, $zero
/* B5A2C8 80240A58 0260282D */ daddu $a1, $s3, $zero
/* B5A2CC 80240A5C 0C0128FA */ jal func_8004A3E8
/* B5A2D0 80240A60 0280302D */ daddu $a2, $s4, $zero
/* B5A2D4 80240A64 080902AF */ j L80240ABC_B5A32C
/* B5A2D8 80240A68 00000000 */ nop
glabel L80240A6C_B5A2DC
/* B5A2DC 80240A6C 0C090085 */ jal jan_07_UnkNpcAIFunc6
/* B5A2E0 80240A70 0240202D */ daddu $a0, $s2, $zero
glabel L80240A74_B5A2E4
/* B5A2E4 80240A74 0C0900A0 */ jal jan_07_UnkNpcAIFunc7
/* B5A2E8 80240A78 0240202D */ daddu $a0, $s2, $zero
/* B5A2EC 80240A7C 8E430070 */ lw $v1, 0x70($s2)
/* B5A2F0 80240A80 24020020 */ addiu $v0, $zero, 0x20
/* B5A2F4 80240A84 1462000D */ bne $v1, $v0, L80240ABC_B5A32C
/* B5A2F8 80240A88 00000000 */ nop
glabel L80240A8C_B5A2FC
/* B5A2FC 80240A8C 0C0900BC */ jal jan_07_UnkNpcAIFunc8
/* B5A300 80240A90 0240202D */ daddu $a0, $s2, $zero
/* B5A304 80240A94 8E430070 */ lw $v1, 0x70($s2)
/* B5A308 80240A98 24020021 */ addiu $v0, $zero, 0x21
/* B5A30C 80240A9C 14620007 */ bne $v1, $v0, L80240ABC_B5A32C
/* B5A310 80240AA0 00000000 */ nop
glabel L80240AA4_B5A314
/* B5A314 80240AA4 0C0900F2 */ jal jan_07_UnkNpcAIFunc5
/* B5A318 80240AA8 0240202D */ daddu $a0, $s2, $zero
/* B5A31C 80240AAC 080902AF */ j L80240ABC_B5A32C
/* B5A320 80240AB0 00000000 */ nop
glabel L80240AB4_B5A324
/* B5A324 80240AB4 0C0129CF */ jal func_8004A73C
/* B5A328 80240AB8 0240202D */ daddu $a0, $s2, $zero
glabel L80240ABC_B5A32C
/* B5A32C 80240ABC 8FBF0048 */ lw $ra, 0x48($sp)
/* B5A330 80240AC0 8FB50044 */ lw $s5, 0x44($sp)
/* B5A334 80240AC4 8FB40040 */ lw $s4, 0x40($sp)
/* B5A338 80240AC8 8FB3003C */ lw $s3, 0x3c($sp)
/* B5A33C 80240ACC 8FB20038 */ lw $s2, 0x38($sp)
/* B5A340 80240AD0 8FB10034 */ lw $s1, 0x34($sp)
/* B5A344 80240AD4 8FB00030 */ lw $s0, 0x30($sp)
/* B5A348 80240AD8 0000102D */ daddu $v0, $zero, $zero
/* B5A34C 80240ADC 03E00008 */ jr $ra
/* B5A350 80240AE0 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,207 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802448B0_B5E120
.word L80240C68_B5A4D8, L80240C78_B5A4E8, L80240C90_B5A500, L80240CA0_B5A510, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240CB8_B5A528, L80240CC8_B5A538, L80240CE0_B5A550, L80240CF0_B5A560, L80240D08_B5A578, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D20_B5A590, L80240D28_B5A598, L80240D40_B5A5B0, L80240D58_B5A5C8, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D70_B5A5E0, L80240D68_B5A5D8
.section .text
glabel func_80240AE4_B5A354
/* B5A354 80240AE4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B5A358 80240AE8 AFB20038 */ sw $s2, 0x38($sp)
/* B5A35C 80240AEC 0080902D */ daddu $s2, $a0, $zero
/* B5A360 80240AF0 AFBF0048 */ sw $ra, 0x48($sp)
/* B5A364 80240AF4 AFB50044 */ sw $s5, 0x44($sp)
/* B5A368 80240AF8 AFB40040 */ sw $s4, 0x40($sp)
/* B5A36C 80240AFC AFB3003C */ sw $s3, 0x3c($sp)
/* B5A370 80240B00 AFB10034 */ sw $s1, 0x34($sp)
/* B5A374 80240B04 AFB00030 */ sw $s0, 0x30($sp)
/* B5A378 80240B08 8E510148 */ lw $s1, 0x148($s2)
/* B5A37C 80240B0C 86240008 */ lh $a0, 8($s1)
/* B5A380 80240B10 0C00EABB */ jal get_npc_unsafe
/* B5A384 80240B14 00A0802D */ daddu $s0, $a1, $zero
/* B5A388 80240B18 8E43000C */ lw $v1, 0xc($s2)
/* B5A38C 80240B1C 0240202D */ daddu $a0, $s2, $zero
/* B5A390 80240B20 8C650000 */ lw $a1, ($v1)
/* B5A394 80240B24 0C0B1EAF */ jal get_variable
/* B5A398 80240B28 0040A82D */ daddu $s5, $v0, $zero
/* B5A39C 80240B2C AFA00010 */ sw $zero, 0x10($sp)
/* B5A3A0 80240B30 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A3A4 80240B34 8C630030 */ lw $v1, 0x30($v1)
/* B5A3A8 80240B38 AFA30014 */ sw $v1, 0x14($sp)
/* B5A3AC 80240B3C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A3B0 80240B40 8C63001C */ lw $v1, 0x1c($v1)
/* B5A3B4 80240B44 AFA30018 */ sw $v1, 0x18($sp)
/* B5A3B8 80240B48 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A3BC 80240B4C 8C630024 */ lw $v1, 0x24($v1)
/* B5A3C0 80240B50 AFA3001C */ sw $v1, 0x1c($sp)
/* B5A3C4 80240B54 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A3C8 80240B58 8C630028 */ lw $v1, 0x28($v1)
/* B5A3CC 80240B5C 27B40010 */ addiu $s4, $sp, 0x10
/* B5A3D0 80240B60 AFA30020 */ sw $v1, 0x20($sp)
/* B5A3D4 80240B64 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5A3D8 80240B68 3C014282 */ lui $at, 0x4282
/* B5A3DC 80240B6C 44810000 */ mtc1 $at, $f0
/* B5A3E0 80240B70 8C63002C */ lw $v1, 0x2c($v1)
/* B5A3E4 80240B74 0040982D */ daddu $s3, $v0, $zero
/* B5A3E8 80240B78 E7A00028 */ swc1 $f0, 0x28($sp)
/* B5A3EC 80240B7C A7A0002C */ sh $zero, 0x2c($sp)
/* B5A3F0 80240B80 16000005 */ bnez $s0, .L80240B98
/* B5A3F4 80240B84 AFA30024 */ sw $v1, 0x24($sp)
/* B5A3F8 80240B88 8E2200B0 */ lw $v0, 0xb0($s1)
/* B5A3FC 80240B8C 30420004 */ andi $v0, $v0, 4
/* B5A400 80240B90 10400020 */ beqz $v0, .L80240C14
/* B5A404 80240B94 00000000 */ nop
.L80240B98:
/* B5A408 80240B98 2404F7FF */ addiu $a0, $zero, -0x801
/* B5A40C 80240B9C AE400070 */ sw $zero, 0x70($s2)
/* B5A410 80240BA0 A6A0008E */ sh $zero, 0x8e($s5)
/* B5A414 80240BA4 8E2200CC */ lw $v0, 0xcc($s1)
/* B5A418 80240BA8 8EA30000 */ lw $v1, ($s5)
/* B5A41C 80240BAC 8C420000 */ lw $v0, ($v0)
/* B5A420 80240BB0 00641824 */ and $v1, $v1, $a0
/* B5A424 80240BB4 AEA30000 */ sw $v1, ($s5)
/* B5A428 80240BB8 AEA20028 */ sw $v0, 0x28($s5)
/* B5A42C 80240BBC 8E2200D0 */ lw $v0, 0xd0($s1)
/* B5A430 80240BC0 8C420034 */ lw $v0, 0x34($v0)
/* B5A434 80240BC4 54400005 */ bnel $v0, $zero, .L80240BDC
/* B5A438 80240BC8 2402FDFF */ addiu $v0, $zero, -0x201
/* B5A43C 80240BCC 34620200 */ ori $v0, $v1, 0x200
/* B5A440 80240BD0 2403FFF7 */ addiu $v1, $zero, -9
/* B5A444 80240BD4 080902F9 */ j .L80240BE4
/* B5A448 80240BD8 00431024 */ and $v0, $v0, $v1
.L80240BDC:
/* B5A44C 80240BDC 00621024 */ and $v0, $v1, $v0
/* B5A450 80240BE0 34420008 */ ori $v0, $v0, 8
.L80240BE4:
/* B5A454 80240BE4 AEA20000 */ sw $v0, ($s5)
/* B5A458 80240BE8 8E2200B0 */ lw $v0, 0xb0($s1)
/* B5A45C 80240BEC 30420004 */ andi $v0, $v0, 4
/* B5A460 80240BF0 10400007 */ beqz $v0, .L80240C10
/* B5A464 80240BF4 24020063 */ addiu $v0, $zero, 0x63
/* B5A468 80240BF8 AE420070 */ sw $v0, 0x70($s2)
/* B5A46C 80240BFC AE400074 */ sw $zero, 0x74($s2)
/* B5A470 80240C00 8E2200B0 */ lw $v0, 0xb0($s1)
/* B5A474 80240C04 2403FFFB */ addiu $v1, $zero, -5
/* B5A478 80240C08 00431024 */ and $v0, $v0, $v1
/* B5A47C 80240C0C AE2200B0 */ sw $v0, 0xb0($s1)
.L80240C10:
/* B5A480 80240C10 AE20006C */ sw $zero, 0x6c($s1)
.L80240C14:
/* B5A484 80240C14 8E420070 */ lw $v0, 0x70($s2)
/* B5A488 80240C18 2842001E */ slti $v0, $v0, 0x1e
/* B5A48C 80240C1C 10400009 */ beqz $v0, .L80240C44
/* B5A490 80240C20 00000000 */ nop
/* B5A494 80240C24 8E22006C */ lw $v0, 0x6c($s1)
/* B5A498 80240C28 14400006 */ bnez $v0, .L80240C44
/* B5A49C 80240C2C 00000000 */ nop
/* B5A4A0 80240C30 0C090107 */ jal func_8024041C_B59C8C
/* B5A4A4 80240C34 0240202D */ daddu $a0, $s2, $zero
/* B5A4A8 80240C38 10400002 */ beqz $v0, .L80240C44
/* B5A4AC 80240C3C 2402001E */ addiu $v0, $zero, 0x1e
/* B5A4B0 80240C40 AE420070 */ sw $v0, 0x70($s2)
.L80240C44:
/* B5A4B4 80240C44 8E430070 */ lw $v1, 0x70($s2)
/* B5A4B8 80240C48 2C620064 */ sltiu $v0, $v1, 0x64
/* B5A4BC 80240C4C 10400048 */ beqz $v0, L80240D70_B5A5E0
/* B5A4C0 80240C50 00031080 */ sll $v0, $v1, 2
/* B5A4C4 80240C54 3C018024 */ lui $at, %hi(jtbl_802448B0_B5E120)
/* B5A4C8 80240C58 00220821 */ addu $at, $at, $v0
/* B5A4CC 80240C5C 8C2248B0 */ lw $v0, %lo(jtbl_802448B0_B5E120)($at)
/* B5A4D0 80240C60 00400008 */ jr $v0
/* B5A4D4 80240C64 00000000 */ nop
glabel L80240C68_B5A4D8
/* B5A4D8 80240C68 0240202D */ daddu $a0, $s2, $zero
/* B5A4DC 80240C6C 0260282D */ daddu $a1, $s3, $zero
/* B5A4E0 80240C70 0C012568 */ jal func_800495A0
/* B5A4E4 80240C74 0280302D */ daddu $a2, $s4, $zero
glabel L80240C78_B5A4E8
/* B5A4E8 80240C78 0240202D */ daddu $a0, $s2, $zero
/* B5A4EC 80240C7C 0260282D */ daddu $a1, $s3, $zero
/* B5A4F0 80240C80 0C0125AE */ jal func_800496B8
/* B5A4F4 80240C84 0280302D */ daddu $a2, $s4, $zero
/* B5A4F8 80240C88 0809035C */ j L80240D70_B5A5E0
/* B5A4FC 80240C8C 00000000 */ nop
glabel L80240C90_B5A500
/* B5A500 80240C90 0240202D */ daddu $a0, $s2, $zero
/* B5A504 80240C94 0260282D */ daddu $a1, $s3, $zero
/* B5A508 80240C98 0C090000 */ jal jan_07_UnkNpcAIFunc4
/* B5A50C 80240C9C 0280302D */ daddu $a2, $s4, $zero
glabel L80240CA0_B5A510
/* B5A510 80240CA0 0240202D */ daddu $a0, $s2, $zero
/* B5A514 80240CA4 0260282D */ daddu $a1, $s3, $zero
/* B5A518 80240CA8 0C090014 */ jal func_80240050_B598C0
/* B5A51C 80240CAC 0280302D */ daddu $a2, $s4, $zero
/* B5A520 80240CB0 0809035C */ j L80240D70_B5A5E0
/* B5A524 80240CB4 00000000 */ nop
glabel L80240CB8_B5A528
/* B5A528 80240CB8 0240202D */ daddu $a0, $s2, $zero
/* B5A52C 80240CBC 0260282D */ daddu $a1, $s3, $zero
/* B5A530 80240CC0 0C01278F */ jal func_80049E3C
/* B5A534 80240CC4 0280302D */ daddu $a2, $s4, $zero
glabel L80240CC8_B5A538
/* B5A538 80240CC8 0240202D */ daddu $a0, $s2, $zero
/* B5A53C 80240CCC 0260282D */ daddu $a1, $s3, $zero
/* B5A540 80240CD0 0C0127B3 */ jal func_80049ECC
/* B5A544 80240CD4 0280302D */ daddu $a2, $s4, $zero
/* B5A548 80240CD8 0809035C */ j L80240D70_B5A5E0
/* B5A54C 80240CDC 00000000 */ nop
glabel L80240CE0_B5A550
/* B5A550 80240CE0 0240202D */ daddu $a0, $s2, $zero
/* B5A554 80240CE4 0260282D */ daddu $a1, $s3, $zero
/* B5A558 80240CE8 0C0127DF */ jal func_80049F7C
/* B5A55C 80240CEC 0280302D */ daddu $a2, $s4, $zero
glabel L80240CF0_B5A560
/* B5A560 80240CF0 0240202D */ daddu $a0, $s2, $zero
/* B5A564 80240CF4 0260282D */ daddu $a1, $s3, $zero
/* B5A568 80240CF8 0C012849 */ jal func_8004A124
/* B5A56C 80240CFC 0280302D */ daddu $a2, $s4, $zero
/* B5A570 80240D00 0809035C */ j L80240D70_B5A5E0
/* B5A574 80240D04 00000000 */ nop
glabel L80240D08_B5A578
/* B5A578 80240D08 0240202D */ daddu $a0, $s2, $zero
/* B5A57C 80240D0C 0260282D */ daddu $a1, $s3, $zero
/* B5A580 80240D10 0C0128FA */ jal func_8004A3E8
/* B5A584 80240D14 0280302D */ daddu $a2, $s4, $zero
/* B5A588 80240D18 0809035C */ j L80240D70_B5A5E0
/* B5A58C 80240D1C 00000000 */ nop
glabel L80240D20_B5A590
/* B5A590 80240D20 0C090085 */ jal jan_07_UnkNpcAIFunc6
/* B5A594 80240D24 0240202D */ daddu $a0, $s2, $zero
glabel L80240D28_B5A598
/* B5A598 80240D28 0C0900A0 */ jal jan_07_UnkNpcAIFunc7
/* B5A59C 80240D2C 0240202D */ daddu $a0, $s2, $zero
/* B5A5A0 80240D30 8E430070 */ lw $v1, 0x70($s2)
/* B5A5A4 80240D34 24020020 */ addiu $v0, $zero, 0x20
/* B5A5A8 80240D38 1462000D */ bne $v1, $v0, L80240D70_B5A5E0
/* B5A5AC 80240D3C 00000000 */ nop
glabel L80240D40_B5A5B0
/* B5A5B0 80240D40 0C0900BC */ jal jan_07_UnkNpcAIFunc8
/* B5A5B4 80240D44 0240202D */ daddu $a0, $s2, $zero
/* B5A5B8 80240D48 8E430070 */ lw $v1, 0x70($s2)
/* B5A5BC 80240D4C 24020021 */ addiu $v0, $zero, 0x21
/* B5A5C0 80240D50 14620007 */ bne $v1, $v0, L80240D70_B5A5E0
/* B5A5C4 80240D54 00000000 */ nop
glabel L80240D58_B5A5C8
/* B5A5C8 80240D58 0C0900F2 */ jal jan_07_UnkNpcAIFunc5
/* B5A5CC 80240D5C 0240202D */ daddu $a0, $s2, $zero
/* B5A5D0 80240D60 0809035C */ j L80240D70_B5A5E0
/* B5A5D4 80240D64 00000000 */ nop
glabel L80240D68_B5A5D8
/* B5A5D8 80240D68 0C0129CF */ jal func_8004A73C
/* B5A5DC 80240D6C 0240202D */ daddu $a0, $s2, $zero
glabel L80240D70_B5A5E0
/* B5A5E0 80240D70 8FBF0048 */ lw $ra, 0x48($sp)
/* B5A5E4 80240D74 8FB50044 */ lw $s5, 0x44($sp)
/* B5A5E8 80240D78 8FB40040 */ lw $s4, 0x40($sp)
/* B5A5EC 80240D7C 8FB3003C */ lw $s3, 0x3c($sp)
/* B5A5F0 80240D80 8FB20038 */ lw $s2, 0x38($sp)
/* B5A5F4 80240D84 8FB10034 */ lw $s1, 0x34($sp)
/* B5A5F8 80240D88 8FB00030 */ lw $s0, 0x30($sp)
/* B5A5FC 80240D8C 0000102D */ daddu $v0, $zero, $zero
/* B5A600 80240D90 03E00008 */ jr $ra
/* B5A604 80240D94 27BD0050 */ addiu $sp, $sp, 0x50
/* B5A608 80240D98 00000000 */ nop
/* B5A60C 80240D9C 00000000 */ nop

View File

@ -1,136 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802474C0_B65770
.word L80241524_B5F7D4, L8024153C_B5F7EC, L8024155C_B5F80C, L80241574_B5F824, L802415B0_B5F860, L802415FC_B5F8AC
.section .text
glabel func_802414A4_B5F754
/* B5F754 802414A4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B5F758 802414A8 AFB20028 */ sw $s2, 0x28($sp)
/* B5F75C 802414AC 0080902D */ daddu $s2, $a0, $zero
/* B5F760 802414B0 AFBF002C */ sw $ra, 0x2c($sp)
/* B5F764 802414B4 AFB10024 */ sw $s1, 0x24($sp)
/* B5F768 802414B8 AFB00020 */ sw $s0, 0x20($sp)
/* B5F76C 802414BC 8E500148 */ lw $s0, 0x148($s2)
/* B5F770 802414C0 0C00EABB */ jal get_npc_unsafe
/* B5F774 802414C4 86040008 */ lh $a0, 8($s0)
/* B5F778 802414C8 8E03006C */ lw $v1, 0x6c($s0)
/* B5F77C 802414CC 1460000B */ bnez $v1, .L802414FC
/* B5F780 802414D0 0040882D */ daddu $s1, $v0, $zero
/* B5F784 802414D4 0C00A67F */ jal rand_int
/* B5F788 802414D8 24040064 */ addiu $a0, $zero, 0x64
/* B5F78C 802414DC 28420032 */ slti $v0, $v0, 0x32
/* B5F790 802414E0 14400002 */ bnez $v0, .L802414EC
/* B5F794 802414E4 24020001 */ addiu $v0, $zero, 1
/* B5F798 802414E8 24020003 */ addiu $v0, $zero, 3
.L802414EC:
/* B5F79C 802414EC AE02006C */ sw $v0, 0x6c($s0)
/* B5F7A0 802414F0 3C054387 */ lui $a1, 0x4387
/* B5F7A4 802414F4 0C00ECD0 */ jal set_npc_yaw
/* B5F7A8 802414F8 0220202D */ daddu $a0, $s1, $zero
.L802414FC:
/* B5F7AC 802414FC 8E02006C */ lw $v0, 0x6c($s0)
/* B5F7B0 80241500 2443FFFF */ addiu $v1, $v0, -1
/* B5F7B4 80241504 2C620006 */ sltiu $v0, $v1, 6
/* B5F7B8 80241508 1040004D */ beqz $v0, .L80241640
/* B5F7BC 8024150C 00031080 */ sll $v0, $v1, 2
/* B5F7C0 80241510 3C018024 */ lui $at, %hi(jtbl_802474C0_B65770)
/* B5F7C4 80241514 00220821 */ addu $at, $at, $v0
/* B5F7C8 80241518 8C2274C0 */ lw $v0, %lo(jtbl_802474C0_B65770)($at)
/* B5F7CC 8024151C 00400008 */ jr $v0
/* B5F7D0 80241520 00000000 */ nop
glabel L80241524_B5F7D4
/* B5F7D4 80241524 3C030042 */ lui $v1, 0x42
/* B5F7D8 80241528 3463000F */ ori $v1, $v1, 0xf
/* B5F7DC 8024152C 24020002 */ addiu $v0, $zero, 2
/* B5F7E0 80241530 AE02006C */ sw $v0, 0x6c($s0)
/* B5F7E4 80241534 AE000070 */ sw $zero, 0x70($s0)
/* B5F7E8 80241538 AE230028 */ sw $v1, 0x28($s1)
glabel L8024153C_B5F7EC
/* B5F7EC 8024153C 8E020070 */ lw $v0, 0x70($s0)
/* B5F7F0 80241540 24420001 */ addiu $v0, $v0, 1
/* B5F7F4 80241544 AE020070 */ sw $v0, 0x70($s0)
/* B5F7F8 80241548 28420033 */ slti $v0, $v0, 0x33
/* B5F7FC 8024154C 1440003C */ bnez $v0, .L80241640
/* B5F800 80241550 24020005 */ addiu $v0, $zero, 5
/* B5F804 80241554 08090590 */ j .L80241640
/* B5F808 80241558 AE02006C */ sw $v0, 0x6c($s0)
glabel L8024155C_B5F80C
/* B5F80C 8024155C 3C030042 */ lui $v1, 0x42
/* B5F810 80241560 34630010 */ ori $v1, $v1, 0x10
/* B5F814 80241564 24020004 */ addiu $v0, $zero, 4
/* B5F818 80241568 AE02006C */ sw $v0, 0x6c($s0)
/* B5F81C 8024156C AE000070 */ sw $zero, 0x70($s0)
/* B5F820 80241570 AE230028 */ sw $v1, 0x28($s1)
glabel L80241574_B5F824
/* B5F824 80241574 8E020070 */ lw $v0, 0x70($s0)
/* B5F828 80241578 24030019 */ addiu $v1, $zero, 0x19
/* B5F82C 8024157C 24420001 */ addiu $v0, $v0, 1
/* B5F830 80241580 14430005 */ bne $v0, $v1, .L80241598
/* B5F834 80241584 AE020070 */ sw $v0, 0x70($s0)
/* B5F838 80241588 3C0142B4 */ lui $at, 0x42b4
/* B5F83C 8024158C 44810000 */ mtc1 $at, $f0
/* B5F840 80241590 00000000 */ nop
/* B5F844 80241594 E620000C */ swc1 $f0, 0xc($s1)
.L80241598:
/* B5F848 80241598 8E020070 */ lw $v0, 0x70($s0)
/* B5F84C 8024159C 2842003D */ slti $v0, $v0, 0x3d
/* B5F850 802415A0 14400027 */ bnez $v0, .L80241640
/* B5F854 802415A4 24020005 */ addiu $v0, $zero, 5
/* B5F858 802415A8 08090590 */ j .L80241640
/* B5F85C 802415AC AE02006C */ sw $v0, 0x6c($s0)
glabel L802415B0_B5F860
/* B5F860 802415B0 3C030042 */ lui $v1, 0x42
/* B5F864 802415B4 24020006 */ addiu $v0, $zero, 6
/* B5F868 802415B8 34630003 */ ori $v1, $v1, 3
/* B5F86C 802415BC AE02006C */ sw $v0, 0x6c($s0)
/* B5F870 802415C0 AE000070 */ sw $zero, 0x70($s0)
/* B5F874 802415C4 862400A8 */ lh $a0, 0xa8($s1)
/* B5F878 802415C8 2402000A */ addiu $v0, $zero, 0xa
/* B5F87C 802415CC AE230028 */ sw $v1, 0x28($s1)
/* B5F880 802415D0 AFA00014 */ sw $zero, 0x14($sp)
/* B5F884 802415D4 AFA20018 */ sw $v0, 0x18($sp)
/* B5F888 802415D8 44840000 */ mtc1 $a0, $f0
/* B5F88C 802415DC 00000000 */ nop
/* B5F890 802415E0 46800020 */ cvt.s.w $f0, $f0
/* B5F894 802415E4 E7A00010 */ swc1 $f0, 0x10($sp)
/* B5F898 802415E8 8E250038 */ lw $a1, 0x38($s1)
/* B5F89C 802415EC 8E26003C */ lw $a2, 0x3c($s1)
/* B5F8A0 802415F0 8E270040 */ lw $a3, 0x40($s1)
/* B5F8A4 802415F4 0C01C1E4 */ jal fx_sweat
/* B5F8A8 802415F8 0000202D */ daddu $a0, $zero, $zero
glabel L802415FC_B5F8AC
/* B5F8AC 802415FC 8E020070 */ lw $v0, 0x70($s0)
/* B5F8B0 80241600 24420001 */ addiu $v0, $v0, 1
/* B5F8B4 80241604 AE020070 */ sw $v0, 0x70($s0)
/* B5F8B8 80241608 2842000B */ slti $v0, $v0, 0xb
/* B5F8BC 8024160C 1440000C */ bnez $v0, .L80241640
/* B5F8C0 80241610 00000000 */ nop
/* B5F8C4 80241614 0C00A67F */ jal rand_int
/* B5F8C8 80241618 24040064 */ addiu $a0, $zero, 0x64
/* B5F8CC 8024161C 0040182D */ daddu $v1, $v0, $zero
/* B5F8D0 80241620 2862005A */ slti $v0, $v1, 0x5a
/* B5F8D4 80241624 14400005 */ bnez $v0, .L8024163C
/* B5F8D8 80241628 24020007 */ addiu $v0, $zero, 7
/* B5F8DC 8024162C 2862005F */ slti $v0, $v1, 0x5f
/* B5F8E0 80241630 14400002 */ bnez $v0, .L8024163C
/* B5F8E4 80241634 24020001 */ addiu $v0, $zero, 1
/* B5F8E8 80241638 24020003 */ addiu $v0, $zero, 3
.L8024163C:
/* B5F8EC 8024163C AE02006C */ sw $v0, 0x6c($s0)
.L80241640:
/* B5F8F0 80241640 8E03006C */ lw $v1, 0x6c($s0)
/* B5F8F4 80241644 24020007 */ addiu $v0, $zero, 7
/* B5F8F8 80241648 50620001 */ beql $v1, $v0, .L80241650
/* B5F8FC 8024164C AE400070 */ sw $zero, 0x70($s2)
.L80241650:
/* B5F900 80241650 8FBF002C */ lw $ra, 0x2c($sp)
/* B5F904 80241654 8FB20028 */ lw $s2, 0x28($sp)
/* B5F908 80241658 8FB10024 */ lw $s1, 0x24($sp)
/* B5F90C 8024165C 8FB00020 */ lw $s0, 0x20($sp)
/* B5F910 80241660 03E00008 */ jr $ra
/* B5F914 80241664 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802474D8_B65788
.double 180.0
.section .text
glabel func_80241870_B5FB20
/* B5FB20 80241870 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B5FB24 80241874 AFBF0024 */ sw $ra, 0x24($sp)
/* B5FB28 80241878 AFB40020 */ sw $s4, 0x20($sp)
/* B5FB2C 8024187C AFB3001C */ sw $s3, 0x1c($sp)
/* B5FB30 80241880 AFB20018 */ sw $s2, 0x18($sp)
/* B5FB34 80241884 AFB10014 */ sw $s1, 0x14($sp)
/* B5FB38 80241888 AFB00010 */ sw $s0, 0x10($sp)
/* B5FB3C 8024188C F7B40028 */ sdc1 $f20, 0x28($sp)
/* B5FB40 80241890 8C900148 */ lw $s0, 0x148($a0)
/* B5FB44 80241894 86040008 */ lh $a0, 8($s0)
/* B5FB48 80241898 0C00EABB */ jal get_npc_unsafe
/* B5FB4C 8024189C 24110001 */ addiu $s1, $zero, 1
/* B5FB50 802418A0 86040008 */ lh $a0, 8($s0)
/* B5FB54 802418A4 0040802D */ daddu $s0, $v0, $zero
/* B5FB58 802418A8 3C05800B */ lui $a1, %hi(gCameras)
/* B5FB5C 802418AC 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* B5FB60 802418B0 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B5FB64 802418B4 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B5FB68 802418B8 00912021 */ addu $a0, $a0, $s1
/* B5FB6C 802418BC 00031080 */ sll $v0, $v1, 2
/* B5FB70 802418C0 00431021 */ addu $v0, $v0, $v1
/* B5FB74 802418C4 00021080 */ sll $v0, $v0, 2
/* B5FB78 802418C8 00431023 */ subu $v0, $v0, $v1
/* B5FB7C 802418CC 000218C0 */ sll $v1, $v0, 3
/* B5FB80 802418D0 00431021 */ addu $v0, $v0, $v1
/* B5FB84 802418D4 000210C0 */ sll $v0, $v0, 3
/* B5FB88 802418D8 0C00FB3A */ jal get_enemy
/* B5FB8C 802418DC 00459021 */ addu $s2, $v0, $a1
/* B5FB90 802418E0 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* B5FB94 802418E4 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* B5FB98 802418E8 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B5FB9C 802418EC 8E830000 */ lw $v1, ($s4)
/* B5FBA0 802418F0 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B5FBA4 802418F4 8C660028 */ lw $a2, 0x28($v1)
/* B5FBA8 802418F8 8C670030 */ lw $a3, 0x30($v1)
/* B5FBAC 802418FC 0C00A7B5 */ jal dist2D
/* B5FBB0 80241900 0040982D */ daddu $s3, $v0, $zero
/* B5FBB4 80241904 C6620074 */ lwc1 $f2, 0x74($s3)
/* B5FBB8 80241908 468010A0 */ cvt.s.w $f2, $f2
/* B5FBBC 8024190C 4600103C */ c.lt.s $f2, $f0
/* B5FBC0 80241910 00000000 */ nop
/* B5FBC4 80241914 45030001 */ bc1tl .L8024191C
/* B5FBC8 80241918 0000882D */ daddu $s1, $zero, $zero
.L8024191C:
/* B5FBCC 8024191C C64C006C */ lwc1 $f12, 0x6c($s2)
/* B5FBD0 80241920 C60E000C */ lwc1 $f14, 0xc($s0)
/* B5FBD4 80241924 3C014387 */ lui $at, 0x4387
/* B5FBD8 80241928 4481A000 */ mtc1 $at, $f20
/* B5FBDC 8024192C 0C00A70A */ jal get_clamped_angle_diff
/* B5FBE0 80241930 00000000 */ nop
/* B5FBE4 80241934 0C00A6C9 */ jal clamp_angle
/* B5FBE8 80241938 46000306 */ mov.s $f12, $f0
/* B5FBEC 8024193C 3C018024 */ lui $at, %hi(D_802474D8_B65788)
/* B5FBF0 80241940 D42274D8 */ ldc1 $f2, %lo(D_802474D8_B65788)($at)
/* B5FBF4 80241944 46000021 */ cvt.d.s $f0, $f0
/* B5FBF8 80241948 4622003C */ c.lt.d $f0, $f2
/* B5FBFC 8024194C 00000000 */ nop
/* B5FC00 80241950 45000003 */ bc1f .L80241960
/* B5FC04 80241954 00000000 */ nop
/* B5FC08 80241958 3C0142B4 */ lui $at, 0x42b4
/* B5FC0C 8024195C 4481A000 */ mtc1 $at, $f20
.L80241960:
/* B5FC10 80241960 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B5FC14 80241964 8E820000 */ lw $v0, ($s4)
/* B5FC18 80241968 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B5FC1C 8024196C 8C460028 */ lw $a2, 0x28($v0)
/* B5FC20 80241970 0C00A720 */ jal atan2
/* B5FC24 80241974 8C470030 */ lw $a3, 0x30($v0)
/* B5FC28 80241978 4600A306 */ mov.s $f12, $f20
/* B5FC2C 8024197C 0C00A70A */ jal get_clamped_angle_diff
/* B5FC30 80241980 46000386 */ mov.s $f14, $f0
/* B5FC34 80241984 C6620078 */ lwc1 $f2, 0x78($s3)
/* B5FC38 80241988 468010A0 */ cvt.s.w $f2, $f2
/* B5FC3C 8024198C 46000005 */ abs.s $f0, $f0
/* B5FC40 80241990 4600103C */ c.lt.s $f2, $f0
/* B5FC44 80241994 00000000 */ nop
/* B5FC48 80241998 45030001 */ bc1tl .L802419A0
/* B5FC4C 8024199C 0000882D */ daddu $s1, $zero, $zero
.L802419A0:
/* B5FC50 802419A0 8E820000 */ lw $v0, ($s4)
/* B5FC54 802419A4 C600003C */ lwc1 $f0, 0x3c($s0)
/* B5FC58 802419A8 C442002C */ lwc1 $f2, 0x2c($v0)
/* B5FC5C 802419AC 860200A8 */ lh $v0, 0xa8($s0)
/* B5FC60 802419B0 46020001 */ sub.s $f0, $f0, $f2
/* B5FC64 802419B4 44821000 */ mtc1 $v0, $f2
/* B5FC68 802419B8 00000000 */ nop
/* B5FC6C 802419BC 468010A1 */ cvt.d.w $f2, $f2
/* B5FC70 802419C0 46221080 */ add.d $f2, $f2, $f2
/* B5FC74 802419C4 46000005 */ abs.s $f0, $f0
/* B5FC78 802419C8 46000021 */ cvt.d.s $f0, $f0
/* B5FC7C 802419CC 4620103E */ c.le.d $f2, $f0
/* B5FC80 802419D0 00000000 */ nop
/* B5FC84 802419D4 45030001 */ bc1tl .L802419DC
/* B5FC88 802419D8 0000882D */ daddu $s1, $zero, $zero
.L802419DC:
/* B5FC8C 802419DC 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* B5FC90 802419E0 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* B5FC94 802419E4 24020009 */ addiu $v0, $zero, 9
/* B5FC98 802419E8 50620001 */ beql $v1, $v0, .L802419F0
/* B5FC9C 802419EC 0000882D */ daddu $s1, $zero, $zero
.L802419F0:
/* B5FCA0 802419F0 24020007 */ addiu $v0, $zero, 7
/* B5FCA4 802419F4 50620001 */ beql $v1, $v0, .L802419FC
/* B5FCA8 802419F8 0000882D */ daddu $s1, $zero, $zero
.L802419FC:
/* B5FCAC 802419FC 0220102D */ daddu $v0, $s1, $zero
/* B5FCB0 80241A00 8FBF0024 */ lw $ra, 0x24($sp)
/* B5FCB4 80241A04 8FB40020 */ lw $s4, 0x20($sp)
/* B5FCB8 80241A08 8FB3001C */ lw $s3, 0x1c($sp)
/* B5FCBC 80241A0C 8FB20018 */ lw $s2, 0x18($sp)
/* B5FCC0 80241A10 8FB10014 */ lw $s1, 0x14($sp)
/* B5FCC4 80241A14 8FB00010 */ lw $s0, 0x10($sp)
/* B5FCC8 80241A18 D7B40028 */ ldc1 $f20, 0x28($sp)
/* B5FCCC 80241A1C 03E00008 */ jr $ra
/* B5FCD0 80241A20 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802474E0_B65790
.word L80241E08_B600B8, L80241E18_B600C8, L80241E30_B600E0, L80241E40_B600F0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241E58_B60108, L80241E68_B60118, L80241E80_B60130, L80241E90_B60140, L80241EA8_B60158, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241EC0_B60170, L80241EC8_B60178, L80241EE0_B60190, L80241EF8_B601A8, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F10_B601C0, L80241F08_B601B8
.section .text
glabel func_80241C84_B5FF34
/* B5FF34 80241C84 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B5FF38 80241C88 AFB20038 */ sw $s2, 0x38($sp)
/* B5FF3C 80241C8C 0080902D */ daddu $s2, $a0, $zero
/* B5FF40 80241C90 AFBF0048 */ sw $ra, 0x48($sp)
/* B5FF44 80241C94 AFB50044 */ sw $s5, 0x44($sp)
/* B5FF48 80241C98 AFB40040 */ sw $s4, 0x40($sp)
/* B5FF4C 80241C9C AFB3003C */ sw $s3, 0x3c($sp)
/* B5FF50 80241CA0 AFB10034 */ sw $s1, 0x34($sp)
/* B5FF54 80241CA4 AFB00030 */ sw $s0, 0x30($sp)
/* B5FF58 80241CA8 8E510148 */ lw $s1, 0x148($s2)
/* B5FF5C 80241CAC 86240008 */ lh $a0, 8($s1)
/* B5FF60 80241CB0 0C00EABB */ jal get_npc_unsafe
/* B5FF64 80241CB4 00A0802D */ daddu $s0, $a1, $zero
/* B5FF68 80241CB8 8E43000C */ lw $v1, 0xc($s2)
/* B5FF6C 80241CBC 0240202D */ daddu $a0, $s2, $zero
/* B5FF70 80241CC0 8C650000 */ lw $a1, ($v1)
/* B5FF74 80241CC4 0C0B1EAF */ jal get_variable
/* B5FF78 80241CC8 0040A82D */ daddu $s5, $v0, $zero
/* B5FF7C 80241CCC AFA00010 */ sw $zero, 0x10($sp)
/* B5FF80 80241CD0 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5FF84 80241CD4 8C630030 */ lw $v1, 0x30($v1)
/* B5FF88 80241CD8 AFA30014 */ sw $v1, 0x14($sp)
/* B5FF8C 80241CDC 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5FF90 80241CE0 8C63001C */ lw $v1, 0x1c($v1)
/* B5FF94 80241CE4 AFA30018 */ sw $v1, 0x18($sp)
/* B5FF98 80241CE8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5FF9C 80241CEC 8C630024 */ lw $v1, 0x24($v1)
/* B5FFA0 80241CF0 AFA3001C */ sw $v1, 0x1c($sp)
/* B5FFA4 80241CF4 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5FFA8 80241CF8 8C630028 */ lw $v1, 0x28($v1)
/* B5FFAC 80241CFC 27B40010 */ addiu $s4, $sp, 0x10
/* B5FFB0 80241D00 AFA30020 */ sw $v1, 0x20($sp)
/* B5FFB4 80241D04 8E2300D0 */ lw $v1, 0xd0($s1)
/* B5FFB8 80241D08 3C014282 */ lui $at, 0x4282
/* B5FFBC 80241D0C 44810000 */ mtc1 $at, $f0
/* B5FFC0 80241D10 8C63002C */ lw $v1, 0x2c($v1)
/* B5FFC4 80241D14 0040982D */ daddu $s3, $v0, $zero
/* B5FFC8 80241D18 E7A00028 */ swc1 $f0, 0x28($sp)
/* B5FFCC 80241D1C A7A0002C */ sh $zero, 0x2c($sp)
/* B5FFD0 80241D20 16000005 */ bnez $s0, .L80241D38
/* B5FFD4 80241D24 AFA30024 */ sw $v1, 0x24($sp)
/* B5FFD8 80241D28 8E2200B0 */ lw $v0, 0xb0($s1)
/* B5FFDC 80241D2C 30420004 */ andi $v0, $v0, 4
/* B5FFE0 80241D30 10400020 */ beqz $v0, .L80241DB4
/* B5FFE4 80241D34 00000000 */ nop
.L80241D38:
/* B5FFE8 80241D38 2404F7FF */ addiu $a0, $zero, -0x801
/* B5FFEC 80241D3C AE400070 */ sw $zero, 0x70($s2)
/* B5FFF0 80241D40 A6A0008E */ sh $zero, 0x8e($s5)
/* B5FFF4 80241D44 8E2200CC */ lw $v0, 0xcc($s1)
/* B5FFF8 80241D48 8EA30000 */ lw $v1, ($s5)
/* B5FFFC 80241D4C 8C420000 */ lw $v0, ($v0)
/* B60000 80241D50 00641824 */ and $v1, $v1, $a0
/* B60004 80241D54 AEA30000 */ sw $v1, ($s5)
/* B60008 80241D58 AEA20028 */ sw $v0, 0x28($s5)
/* B6000C 80241D5C 8E2200D0 */ lw $v0, 0xd0($s1)
/* B60010 80241D60 8C420034 */ lw $v0, 0x34($v0)
/* B60014 80241D64 54400005 */ bnel $v0, $zero, .L80241D7C
/* B60018 80241D68 2402FDFF */ addiu $v0, $zero, -0x201
/* B6001C 80241D6C 34620200 */ ori $v0, $v1, 0x200
/* B60020 80241D70 2403FFF7 */ addiu $v1, $zero, -9
/* B60024 80241D74 08090761 */ j .L80241D84
/* B60028 80241D78 00431024 */ and $v0, $v0, $v1
.L80241D7C:
/* B6002C 80241D7C 00621024 */ and $v0, $v1, $v0
/* B60030 80241D80 34420008 */ ori $v0, $v0, 8
.L80241D84:
/* B60034 80241D84 AEA20000 */ sw $v0, ($s5)
/* B60038 80241D88 8E2200B0 */ lw $v0, 0xb0($s1)
/* B6003C 80241D8C 30420004 */ andi $v0, $v0, 4
/* B60040 80241D90 10400007 */ beqz $v0, .L80241DB0
/* B60044 80241D94 24020063 */ addiu $v0, $zero, 0x63
/* B60048 80241D98 AE420070 */ sw $v0, 0x70($s2)
/* B6004C 80241D9C AE400074 */ sw $zero, 0x74($s2)
/* B60050 80241DA0 8E2200B0 */ lw $v0, 0xb0($s1)
/* B60054 80241DA4 2403FFFB */ addiu $v1, $zero, -5
/* B60058 80241DA8 00431024 */ and $v0, $v0, $v1
/* B6005C 80241DAC AE2200B0 */ sw $v0, 0xb0($s1)
.L80241DB0:
/* B60060 80241DB0 AE20006C */ sw $zero, 0x6c($s1)
.L80241DB4:
/* B60064 80241DB4 8E420070 */ lw $v0, 0x70($s2)
/* B60068 80241DB8 2842001E */ slti $v0, $v0, 0x1e
/* B6006C 80241DBC 10400009 */ beqz $v0, .L80241DE4
/* B60070 80241DC0 00000000 */ nop
/* B60074 80241DC4 8E22006C */ lw $v0, 0x6c($s1)
/* B60078 80241DC8 14400006 */ bnez $v0, .L80241DE4
/* B6007C 80241DCC 00000000 */ nop
/* B60080 80241DD0 0C09061C */ jal func_80241870_B5FB20
/* B60084 80241DD4 0240202D */ daddu $a0, $s2, $zero
/* B60088 80241DD8 10400002 */ beqz $v0, .L80241DE4
/* B6008C 80241DDC 2402001E */ addiu $v0, $zero, 0x1e
/* B60090 80241DE0 AE420070 */ sw $v0, 0x70($s2)
.L80241DE4:
/* B60094 80241DE4 8E430070 */ lw $v1, 0x70($s2)
/* B60098 80241DE8 2C620064 */ sltiu $v0, $v1, 0x64
/* B6009C 80241DEC 10400048 */ beqz $v0, L80241F10_B601C0
/* B600A0 80241DF0 00031080 */ sll $v0, $v1, 2
/* B600A4 80241DF4 3C018024 */ lui $at, %hi(jtbl_802474E0_B65790)
/* B600A8 80241DF8 00220821 */ addu $at, $at, $v0
/* B600AC 80241DFC 8C2274E0 */ lw $v0, %lo(jtbl_802474E0_B65790)($at)
/* B600B0 80241E00 00400008 */ jr $v0
/* B600B4 80241E04 00000000 */ nop
glabel L80241E08_B600B8
/* B600B8 80241E08 0240202D */ daddu $a0, $s2, $zero
/* B600BC 80241E0C 0260282D */ daddu $a1, $s3, $zero
/* B600C0 80241E10 0C012568 */ jal func_800495A0
/* B600C4 80241E14 0280302D */ daddu $a2, $s4, $zero
glabel L80241E18_B600C8
/* B600C8 80241E18 0240202D */ daddu $a0, $s2, $zero
/* B600CC 80241E1C 0260282D */ daddu $a1, $s3, $zero
/* B600D0 80241E20 0C0125AE */ jal func_800496B8
/* B600D4 80241E24 0280302D */ daddu $a2, $s4, $zero
/* B600D8 80241E28 080907C4 */ j L80241F10_B601C0
/* B600DC 80241E2C 00000000 */ nop
glabel L80241E30_B600E0
/* B600E0 80241E30 0240202D */ daddu $a0, $s2, $zero
/* B600E4 80241E34 0260282D */ daddu $a1, $s3, $zero
/* B600E8 80241E38 0C0126D1 */ jal base_UnkNpcAIFunc1
/* B600EC 80241E3C 0280302D */ daddu $a2, $s4, $zero
glabel L80241E40_B600F0
/* B600F0 80241E40 0240202D */ daddu $a0, $s2, $zero
/* B600F4 80241E44 0260282D */ daddu $a1, $s3, $zero
/* B600F8 80241E48 0C012701 */ jal func_80049C04
/* B600FC 80241E4C 0280302D */ daddu $a2, $s4, $zero
/* B60100 80241E50 080907C4 */ j L80241F10_B601C0
/* B60104 80241E54 00000000 */ nop
glabel L80241E58_B60108
/* B60108 80241E58 0240202D */ daddu $a0, $s2, $zero
/* B6010C 80241E5C 0260282D */ daddu $a1, $s3, $zero
/* B60110 80241E60 0C01278F */ jal func_80049E3C
/* B60114 80241E64 0280302D */ daddu $a2, $s4, $zero
glabel L80241E68_B60118
/* B60118 80241E68 0240202D */ daddu $a0, $s2, $zero
/* B6011C 80241E6C 0260282D */ daddu $a1, $s3, $zero
/* B60120 80241E70 0C0127B3 */ jal func_80049ECC
/* B60124 80241E74 0280302D */ daddu $a2, $s4, $zero
/* B60128 80241E78 080907C4 */ j L80241F10_B601C0
/* B6012C 80241E7C 00000000 */ nop
glabel L80241E80_B60130
/* B60130 80241E80 0240202D */ daddu $a0, $s2, $zero
/* B60134 80241E84 0260282D */ daddu $a1, $s3, $zero
/* B60138 80241E88 0C0127DF */ jal func_80049F7C
/* B6013C 80241E8C 0280302D */ daddu $a2, $s4, $zero
glabel L80241E90_B60140
/* B60140 80241E90 0240202D */ daddu $a0, $s2, $zero
/* B60144 80241E94 0260282D */ daddu $a1, $s3, $zero
/* B60148 80241E98 0C012849 */ jal func_8004A124
/* B6014C 80241E9C 0280302D */ daddu $a2, $s4, $zero
/* B60150 80241EA0 080907C4 */ j L80241F10_B601C0
/* B60154 80241EA4 00000000 */ nop
glabel L80241EA8_B60158
/* B60158 80241EA8 0240202D */ daddu $a0, $s2, $zero
/* B6015C 80241EAC 0260282D */ daddu $a1, $s3, $zero
/* B60160 80241EB0 0C0128FA */ jal func_8004A3E8
/* B60164 80241EB4 0280302D */ daddu $a2, $s4, $zero
/* B60168 80241EB8 080907C4 */ j L80241F10_B601C0
/* B6016C 80241EBC 00000000 */ nop
glabel L80241EC0_B60170
/* B60170 80241EC0 0C09059A */ jal jan_08_UnkNpcAIFunc6
/* B60174 80241EC4 0240202D */ daddu $a0, $s2, $zero
glabel L80241EC8_B60178
/* B60178 80241EC8 0C0905B5 */ jal jan_08_UnkNpcAIFunc7
/* B6017C 80241ECC 0240202D */ daddu $a0, $s2, $zero
/* B60180 80241ED0 8E430070 */ lw $v1, 0x70($s2)
/* B60184 80241ED4 24020020 */ addiu $v0, $zero, 0x20
/* B60188 80241ED8 1462000D */ bne $v1, $v0, L80241F10_B601C0
/* B6018C 80241EDC 00000000 */ nop
glabel L80241EE0_B60190
/* B60190 80241EE0 0C0905D1 */ jal jan_08_UnkNpcAIFunc8
/* B60194 80241EE4 0240202D */ daddu $a0, $s2, $zero
/* B60198 80241EE8 8E430070 */ lw $v1, 0x70($s2)
/* B6019C 80241EEC 24020021 */ addiu $v0, $zero, 0x21
/* B601A0 80241EF0 14620007 */ bne $v1, $v0, L80241F10_B601C0
/* B601A4 80241EF4 00000000 */ nop
glabel L80241EF8_B601A8
/* B601A8 80241EF8 0C090607 */ jal jan_08_UnkNpcAIFunc5
/* B601AC 80241EFC 0240202D */ daddu $a0, $s2, $zero
/* B601B0 80241F00 080907C4 */ j L80241F10_B601C0
/* B601B4 80241F04 00000000 */ nop
glabel L80241F08_B601B8
/* B601B8 80241F08 0C0129CF */ jal func_8004A73C
/* B601BC 80241F0C 0240202D */ daddu $a0, $s2, $zero
glabel L80241F10_B601C0
/* B601C0 80241F10 8FBF0048 */ lw $ra, 0x48($sp)
/* B601C4 80241F14 8FB50044 */ lw $s5, 0x44($sp)
/* B601C8 80241F18 8FB40040 */ lw $s4, 0x40($sp)
/* B601CC 80241F1C 8FB3003C */ lw $s3, 0x3c($sp)
/* B601D0 80241F20 8FB20038 */ lw $s2, 0x38($sp)
/* B601D4 80241F24 8FB10034 */ lw $s1, 0x34($sp)
/* B601D8 80241F28 8FB00030 */ lw $s0, 0x30($sp)
/* B601DC 80241F2C 0000102D */ daddu $v0, $zero, $zero
/* B601E0 80241F30 03E00008 */ jr $ra
/* B601E4 80241F34 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,206 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80247670_B65920
.word L802420BC_B6036C, L802420CC_B6037C, L802420E4_B60394, L802420F4_B603A4, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L8024210C_B603BC, L8024211C_B603CC, L80242134_B603E4, L80242144_B603F4, L8024215C_B6040C, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L80242174_B60424, L8024217C_B6042C, L80242194_B60444, L802421AC_B6045C, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421C4_B60474, L802421BC_B6046C
.section .text
glabel func_80241F38_B601E8
/* B601E8 80241F38 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B601EC 80241F3C AFB20038 */ sw $s2, 0x38($sp)
/* B601F0 80241F40 0080902D */ daddu $s2, $a0, $zero
/* B601F4 80241F44 AFBF0048 */ sw $ra, 0x48($sp)
/* B601F8 80241F48 AFB50044 */ sw $s5, 0x44($sp)
/* B601FC 80241F4C AFB40040 */ sw $s4, 0x40($sp)
/* B60200 80241F50 AFB3003C */ sw $s3, 0x3c($sp)
/* B60204 80241F54 AFB10034 */ sw $s1, 0x34($sp)
/* B60208 80241F58 AFB00030 */ sw $s0, 0x30($sp)
/* B6020C 80241F5C 8E510148 */ lw $s1, 0x148($s2)
/* B60210 80241F60 86240008 */ lh $a0, 8($s1)
/* B60214 80241F64 0C00EABB */ jal get_npc_unsafe
/* B60218 80241F68 00A0802D */ daddu $s0, $a1, $zero
/* B6021C 80241F6C 8E43000C */ lw $v1, 0xc($s2)
/* B60220 80241F70 0240202D */ daddu $a0, $s2, $zero
/* B60224 80241F74 8C650000 */ lw $a1, ($v1)
/* B60228 80241F78 0C0B1EAF */ jal get_variable
/* B6022C 80241F7C 0040A82D */ daddu $s5, $v0, $zero
/* B60230 80241F80 AFA00010 */ sw $zero, 0x10($sp)
/* B60234 80241F84 8E2300D0 */ lw $v1, 0xd0($s1)
/* B60238 80241F88 8C630030 */ lw $v1, 0x30($v1)
/* B6023C 80241F8C AFA30014 */ sw $v1, 0x14($sp)
/* B60240 80241F90 8E2300D0 */ lw $v1, 0xd0($s1)
/* B60244 80241F94 8C63001C */ lw $v1, 0x1c($v1)
/* B60248 80241F98 AFA30018 */ sw $v1, 0x18($sp)
/* B6024C 80241F9C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B60250 80241FA0 8C630024 */ lw $v1, 0x24($v1)
/* B60254 80241FA4 AFA3001C */ sw $v1, 0x1c($sp)
/* B60258 80241FA8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B6025C 80241FAC 8C630028 */ lw $v1, 0x28($v1)
/* B60260 80241FB0 27B40010 */ addiu $s4, $sp, 0x10
/* B60264 80241FB4 AFA30020 */ sw $v1, 0x20($sp)
/* B60268 80241FB8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B6026C 80241FBC 3C014282 */ lui $at, 0x4282
/* B60270 80241FC0 44810000 */ mtc1 $at, $f0
/* B60274 80241FC4 8C63002C */ lw $v1, 0x2c($v1)
/* B60278 80241FC8 0040982D */ daddu $s3, $v0, $zero
/* B6027C 80241FCC E7A00028 */ swc1 $f0, 0x28($sp)
/* B60280 80241FD0 A7A0002C */ sh $zero, 0x2c($sp)
/* B60284 80241FD4 16000005 */ bnez $s0, .L80241FEC
/* B60288 80241FD8 AFA30024 */ sw $v1, 0x24($sp)
/* B6028C 80241FDC 8E2200B0 */ lw $v0, 0xb0($s1)
/* B60290 80241FE0 30420004 */ andi $v0, $v0, 4
/* B60294 80241FE4 10400020 */ beqz $v0, .L80242068
/* B60298 80241FE8 00000000 */ nop
.L80241FEC:
/* B6029C 80241FEC 2404F7FF */ addiu $a0, $zero, -0x801
/* B602A0 80241FF0 AE400070 */ sw $zero, 0x70($s2)
/* B602A4 80241FF4 A6A0008E */ sh $zero, 0x8e($s5)
/* B602A8 80241FF8 8E2200CC */ lw $v0, 0xcc($s1)
/* B602AC 80241FFC 8EA30000 */ lw $v1, ($s5)
/* B602B0 80242000 8C420000 */ lw $v0, ($v0)
/* B602B4 80242004 00641824 */ and $v1, $v1, $a0
/* B602B8 80242008 AEA30000 */ sw $v1, ($s5)
/* B602BC 8024200C AEA20028 */ sw $v0, 0x28($s5)
/* B602C0 80242010 8E2200D0 */ lw $v0, 0xd0($s1)
/* B602C4 80242014 8C420034 */ lw $v0, 0x34($v0)
/* B602C8 80242018 54400005 */ bnel $v0, $zero, .L80242030
/* B602CC 8024201C 2402FDFF */ addiu $v0, $zero, -0x201
/* B602D0 80242020 34620200 */ ori $v0, $v1, 0x200
/* B602D4 80242024 2403FFF7 */ addiu $v1, $zero, -9
/* B602D8 80242028 0809080E */ j .L80242038
/* B602DC 8024202C 00431024 */ and $v0, $v0, $v1
.L80242030:
/* B602E0 80242030 00621024 */ and $v0, $v1, $v0
/* B602E4 80242034 34420008 */ ori $v0, $v0, 8
.L80242038:
/* B602E8 80242038 AEA20000 */ sw $v0, ($s5)
/* B602EC 8024203C 8E2200B0 */ lw $v0, 0xb0($s1)
/* B602F0 80242040 30420004 */ andi $v0, $v0, 4
/* B602F4 80242044 10400007 */ beqz $v0, .L80242064
/* B602F8 80242048 24020063 */ addiu $v0, $zero, 0x63
/* B602FC 8024204C AE420070 */ sw $v0, 0x70($s2)
/* B60300 80242050 AE400074 */ sw $zero, 0x74($s2)
/* B60304 80242054 8E2200B0 */ lw $v0, 0xb0($s1)
/* B60308 80242058 2403FFFB */ addiu $v1, $zero, -5
/* B6030C 8024205C 00431024 */ and $v0, $v0, $v1
/* B60310 80242060 AE2200B0 */ sw $v0, 0xb0($s1)
.L80242064:
/* B60314 80242064 AE20006C */ sw $zero, 0x6c($s1)
.L80242068:
/* B60318 80242068 8E420070 */ lw $v0, 0x70($s2)
/* B6031C 8024206C 2842001E */ slti $v0, $v0, 0x1e
/* B60320 80242070 10400009 */ beqz $v0, .L80242098
/* B60324 80242074 00000000 */ nop
/* B60328 80242078 8E22006C */ lw $v0, 0x6c($s1)
/* B6032C 8024207C 14400006 */ bnez $v0, .L80242098
/* B60330 80242080 00000000 */ nop
/* B60334 80242084 0C09061C */ jal func_80241870_B5FB20
/* B60338 80242088 0240202D */ daddu $a0, $s2, $zero
/* B6033C 8024208C 10400002 */ beqz $v0, .L80242098
/* B60340 80242090 2402001E */ addiu $v0, $zero, 0x1e
/* B60344 80242094 AE420070 */ sw $v0, 0x70($s2)
.L80242098:
/* B60348 80242098 8E430070 */ lw $v1, 0x70($s2)
/* B6034C 8024209C 2C620064 */ sltiu $v0, $v1, 0x64
/* B60350 802420A0 10400048 */ beqz $v0, L802421C4_B60474
/* B60354 802420A4 00031080 */ sll $v0, $v1, 2
/* B60358 802420A8 3C018024 */ lui $at, %hi(jtbl_80247670_B65920)
/* B6035C 802420AC 00220821 */ addu $at, $at, $v0
/* B60360 802420B0 8C227670 */ lw $v0, %lo(jtbl_80247670_B65920)($at)
/* B60364 802420B4 00400008 */ jr $v0
/* B60368 802420B8 00000000 */ nop
glabel L802420BC_B6036C
/* B6036C 802420BC 0240202D */ daddu $a0, $s2, $zero
/* B60370 802420C0 0260282D */ daddu $a1, $s3, $zero
/* B60374 802420C4 0C012568 */ jal func_800495A0
/* B60378 802420C8 0280302D */ daddu $a2, $s4, $zero
glabel L802420CC_B6037C
/* B6037C 802420CC 0240202D */ daddu $a0, $s2, $zero
/* B60380 802420D0 0260282D */ daddu $a1, $s3, $zero
/* B60384 802420D4 0C0125AE */ jal func_800496B8
/* B60388 802420D8 0280302D */ daddu $a2, $s4, $zero
/* B6038C 802420DC 08090871 */ j L802421C4_B60474
/* B60390 802420E0 00000000 */ nop
glabel L802420E4_B60394
/* B60394 802420E4 0240202D */ daddu $a0, $s2, $zero
/* B60398 802420E8 0260282D */ daddu $a1, $s3, $zero
/* B6039C 802420EC 0C090515 */ jal jan_08_UnkNpcAIFunc4
/* B603A0 802420F0 0280302D */ daddu $a2, $s4, $zero
glabel L802420F4_B603A4
/* B603A4 802420F4 0240202D */ daddu $a0, $s2, $zero
/* B603A8 802420F8 0260282D */ daddu $a1, $s3, $zero
/* B603AC 802420FC 0C090529 */ jal func_802414A4_B5F754
/* B603B0 80242100 0280302D */ daddu $a2, $s4, $zero
/* B603B4 80242104 08090871 */ j L802421C4_B60474
/* B603B8 80242108 00000000 */ nop
glabel L8024210C_B603BC
/* B603BC 8024210C 0240202D */ daddu $a0, $s2, $zero
/* B603C0 80242110 0260282D */ daddu $a1, $s3, $zero
/* B603C4 80242114 0C01278F */ jal func_80049E3C
/* B603C8 80242118 0280302D */ daddu $a2, $s4, $zero
glabel L8024211C_B603CC
/* B603CC 8024211C 0240202D */ daddu $a0, $s2, $zero
/* B603D0 80242120 0260282D */ daddu $a1, $s3, $zero
/* B603D4 80242124 0C0127B3 */ jal func_80049ECC
/* B603D8 80242128 0280302D */ daddu $a2, $s4, $zero
/* B603DC 8024212C 08090871 */ j L802421C4_B60474
/* B603E0 80242130 00000000 */ nop
glabel L80242134_B603E4
/* B603E4 80242134 0240202D */ daddu $a0, $s2, $zero
/* B603E8 80242138 0260282D */ daddu $a1, $s3, $zero
/* B603EC 8024213C 0C0127DF */ jal func_80049F7C
/* B603F0 80242140 0280302D */ daddu $a2, $s4, $zero
glabel L80242144_B603F4
/* B603F4 80242144 0240202D */ daddu $a0, $s2, $zero
/* B603F8 80242148 0260282D */ daddu $a1, $s3, $zero
/* B603FC 8024214C 0C012849 */ jal func_8004A124
/* B60400 80242150 0280302D */ daddu $a2, $s4, $zero
/* B60404 80242154 08090871 */ j L802421C4_B60474
/* B60408 80242158 00000000 */ nop
glabel L8024215C_B6040C
/* B6040C 8024215C 0240202D */ daddu $a0, $s2, $zero
/* B60410 80242160 0260282D */ daddu $a1, $s3, $zero
/* B60414 80242164 0C0128FA */ jal func_8004A3E8
/* B60418 80242168 0280302D */ daddu $a2, $s4, $zero
/* B6041C 8024216C 08090871 */ j L802421C4_B60474
/* B60420 80242170 00000000 */ nop
glabel L80242174_B60424
/* B60424 80242174 0C09059A */ jal jan_08_UnkNpcAIFunc6
/* B60428 80242178 0240202D */ daddu $a0, $s2, $zero
glabel L8024217C_B6042C
/* B6042C 8024217C 0C0905B5 */ jal jan_08_UnkNpcAIFunc7
/* B60430 80242180 0240202D */ daddu $a0, $s2, $zero
/* B60434 80242184 8E430070 */ lw $v1, 0x70($s2)
/* B60438 80242188 24020020 */ addiu $v0, $zero, 0x20
/* B6043C 8024218C 1462000D */ bne $v1, $v0, L802421C4_B60474
/* B60440 80242190 00000000 */ nop
glabel L80242194_B60444
/* B60444 80242194 0C0905D1 */ jal jan_08_UnkNpcAIFunc8
/* B60448 80242198 0240202D */ daddu $a0, $s2, $zero
/* B6044C 8024219C 8E430070 */ lw $v1, 0x70($s2)
/* B60450 802421A0 24020021 */ addiu $v0, $zero, 0x21
/* B60454 802421A4 14620007 */ bne $v1, $v0, L802421C4_B60474
/* B60458 802421A8 00000000 */ nop
glabel L802421AC_B6045C
/* B6045C 802421AC 0C090607 */ jal jan_08_UnkNpcAIFunc5
/* B60460 802421B0 0240202D */ daddu $a0, $s2, $zero
/* B60464 802421B4 08090871 */ j L802421C4_B60474
/* B60468 802421B8 00000000 */ nop
glabel L802421BC_B6046C
/* B6046C 802421BC 0C0129CF */ jal func_8004A73C
/* B60470 802421C0 0240202D */ daddu $a0, $s2, $zero
glabel L802421C4_B60474
/* B60474 802421C4 8FBF0048 */ lw $ra, 0x48($sp)
/* B60478 802421C8 8FB50044 */ lw $s5, 0x44($sp)
/* B6047C 802421CC 8FB40040 */ lw $s4, 0x40($sp)
/* B60480 802421D0 8FB3003C */ lw $s3, 0x3c($sp)
/* B60484 802421D4 8FB20038 */ lw $s2, 0x38($sp)
/* B60488 802421D8 8FB10034 */ lw $s1, 0x34($sp)
/* B6048C 802421DC 8FB00030 */ lw $s0, 0x30($sp)
/* B60490 802421E0 0000102D */ daddu $v0, $zero, $zero
/* B60494 802421E4 03E00008 */ jr $ra
/* B60498 802421E8 27BD0050 */ addiu $sp, $sp, 0x50
/* B6049C 802421EC 00000000 */ nop

View File

@ -1,136 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802465A0_B6C050
.word L80240A10_B664C0, L80240A28_B664D8, L80240A48_B664F8, L80240A60_B66510, L80240A9C_B6654C, L80240AE8_B66598
.section .text
glabel func_80240990_B66440
/* B66440 80240990 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B66444 80240994 AFB20028 */ sw $s2, 0x28($sp)
/* B66448 80240998 0080902D */ daddu $s2, $a0, $zero
/* B6644C 8024099C AFBF002C */ sw $ra, 0x2c($sp)
/* B66450 802409A0 AFB10024 */ sw $s1, 0x24($sp)
/* B66454 802409A4 AFB00020 */ sw $s0, 0x20($sp)
/* B66458 802409A8 8E500148 */ lw $s0, 0x148($s2)
/* B6645C 802409AC 0C00EABB */ jal get_npc_unsafe
/* B66460 802409B0 86040008 */ lh $a0, 8($s0)
/* B66464 802409B4 8E03006C */ lw $v1, 0x6c($s0)
/* B66468 802409B8 1460000B */ bnez $v1, .L802409E8
/* B6646C 802409BC 0040882D */ daddu $s1, $v0, $zero
/* B66470 802409C0 0C00A67F */ jal rand_int
/* B66474 802409C4 24040064 */ addiu $a0, $zero, 0x64
/* B66478 802409C8 28420032 */ slti $v0, $v0, 0x32
/* B6647C 802409CC 14400002 */ bnez $v0, .L802409D8
/* B66480 802409D0 24020001 */ addiu $v0, $zero, 1
/* B66484 802409D4 24020003 */ addiu $v0, $zero, 3
.L802409D8:
/* B66488 802409D8 AE02006C */ sw $v0, 0x6c($s0)
/* B6648C 802409DC 3C054387 */ lui $a1, 0x4387
/* B66490 802409E0 0C00ECD0 */ jal set_npc_yaw
/* B66494 802409E4 0220202D */ daddu $a0, $s1, $zero
.L802409E8:
/* B66498 802409E8 8E02006C */ lw $v0, 0x6c($s0)
/* B6649C 802409EC 2443FFFF */ addiu $v1, $v0, -1
/* B664A0 802409F0 2C620006 */ sltiu $v0, $v1, 6
/* B664A4 802409F4 1040004D */ beqz $v0, .L80240B2C
/* B664A8 802409F8 00031080 */ sll $v0, $v1, 2
/* B664AC 802409FC 3C018024 */ lui $at, %hi(jtbl_802465A0_B6C050)
/* B664B0 80240A00 00220821 */ addu $at, $at, $v0
/* B664B4 80240A04 8C2265A0 */ lw $v0, %lo(jtbl_802465A0_B6C050)($at)
/* B664B8 80240A08 00400008 */ jr $v0
/* B664BC 80240A0C 00000000 */ nop
glabel L80240A10_B664C0
/* B664C0 80240A10 3C030042 */ lui $v1, 0x42
/* B664C4 80240A14 3463000F */ ori $v1, $v1, 0xf
/* B664C8 80240A18 24020002 */ addiu $v0, $zero, 2
/* B664CC 80240A1C AE02006C */ sw $v0, 0x6c($s0)
/* B664D0 80240A20 AE000070 */ sw $zero, 0x70($s0)
/* B664D4 80240A24 AE230028 */ sw $v1, 0x28($s1)
glabel L80240A28_B664D8
/* B664D8 80240A28 8E020070 */ lw $v0, 0x70($s0)
/* B664DC 80240A2C 24420001 */ addiu $v0, $v0, 1
/* B664E0 80240A30 AE020070 */ sw $v0, 0x70($s0)
/* B664E4 80240A34 28420033 */ slti $v0, $v0, 0x33
/* B664E8 80240A38 1440003C */ bnez $v0, .L80240B2C
/* B664EC 80240A3C 24020005 */ addiu $v0, $zero, 5
/* B664F0 80240A40 080902CB */ j .L80240B2C
/* B664F4 80240A44 AE02006C */ sw $v0, 0x6c($s0)
glabel L80240A48_B664F8
/* B664F8 80240A48 3C030042 */ lui $v1, 0x42
/* B664FC 80240A4C 34630010 */ ori $v1, $v1, 0x10
/* B66500 80240A50 24020004 */ addiu $v0, $zero, 4
/* B66504 80240A54 AE02006C */ sw $v0, 0x6c($s0)
/* B66508 80240A58 AE000070 */ sw $zero, 0x70($s0)
/* B6650C 80240A5C AE230028 */ sw $v1, 0x28($s1)
glabel L80240A60_B66510
/* B66510 80240A60 8E020070 */ lw $v0, 0x70($s0)
/* B66514 80240A64 24030019 */ addiu $v1, $zero, 0x19
/* B66518 80240A68 24420001 */ addiu $v0, $v0, 1
/* B6651C 80240A6C 14430005 */ bne $v0, $v1, .L80240A84
/* B66520 80240A70 AE020070 */ sw $v0, 0x70($s0)
/* B66524 80240A74 3C0142B4 */ lui $at, 0x42b4
/* B66528 80240A78 44810000 */ mtc1 $at, $f0
/* B6652C 80240A7C 00000000 */ nop
/* B66530 80240A80 E620000C */ swc1 $f0, 0xc($s1)
.L80240A84:
/* B66534 80240A84 8E020070 */ lw $v0, 0x70($s0)
/* B66538 80240A88 2842003D */ slti $v0, $v0, 0x3d
/* B6653C 80240A8C 14400027 */ bnez $v0, .L80240B2C
/* B66540 80240A90 24020005 */ addiu $v0, $zero, 5
/* B66544 80240A94 080902CB */ j .L80240B2C
/* B66548 80240A98 AE02006C */ sw $v0, 0x6c($s0)
glabel L80240A9C_B6654C
/* B6654C 80240A9C 3C030042 */ lui $v1, 0x42
/* B66550 80240AA0 24020006 */ addiu $v0, $zero, 6
/* B66554 80240AA4 34630003 */ ori $v1, $v1, 3
/* B66558 80240AA8 AE02006C */ sw $v0, 0x6c($s0)
/* B6655C 80240AAC AE000070 */ sw $zero, 0x70($s0)
/* B66560 80240AB0 862400A8 */ lh $a0, 0xa8($s1)
/* B66564 80240AB4 2402000A */ addiu $v0, $zero, 0xa
/* B66568 80240AB8 AE230028 */ sw $v1, 0x28($s1)
/* B6656C 80240ABC AFA00014 */ sw $zero, 0x14($sp)
/* B66570 80240AC0 AFA20018 */ sw $v0, 0x18($sp)
/* B66574 80240AC4 44840000 */ mtc1 $a0, $f0
/* B66578 80240AC8 00000000 */ nop
/* B6657C 80240ACC 46800020 */ cvt.s.w $f0, $f0
/* B66580 80240AD0 E7A00010 */ swc1 $f0, 0x10($sp)
/* B66584 80240AD4 8E250038 */ lw $a1, 0x38($s1)
/* B66588 80240AD8 8E26003C */ lw $a2, 0x3c($s1)
/* B6658C 80240ADC 8E270040 */ lw $a3, 0x40($s1)
/* B66590 80240AE0 0C01C1E4 */ jal fx_sweat
/* B66594 80240AE4 0000202D */ daddu $a0, $zero, $zero
glabel L80240AE8_B66598
/* B66598 80240AE8 8E020070 */ lw $v0, 0x70($s0)
/* B6659C 80240AEC 24420001 */ addiu $v0, $v0, 1
/* B665A0 80240AF0 AE020070 */ sw $v0, 0x70($s0)
/* B665A4 80240AF4 2842000B */ slti $v0, $v0, 0xb
/* B665A8 80240AF8 1440000C */ bnez $v0, .L80240B2C
/* B665AC 80240AFC 00000000 */ nop
/* B665B0 80240B00 0C00A67F */ jal rand_int
/* B665B4 80240B04 24040064 */ addiu $a0, $zero, 0x64
/* B665B8 80240B08 0040182D */ daddu $v1, $v0, $zero
/* B665BC 80240B0C 2862005A */ slti $v0, $v1, 0x5a
/* B665C0 80240B10 14400005 */ bnez $v0, .L80240B28
/* B665C4 80240B14 24020007 */ addiu $v0, $zero, 7
/* B665C8 80240B18 2862005F */ slti $v0, $v1, 0x5f
/* B665CC 80240B1C 14400002 */ bnez $v0, .L80240B28
/* B665D0 80240B20 24020001 */ addiu $v0, $zero, 1
/* B665D4 80240B24 24020003 */ addiu $v0, $zero, 3
.L80240B28:
/* B665D8 80240B28 AE02006C */ sw $v0, 0x6c($s0)
.L80240B2C:
/* B665DC 80240B2C 8E03006C */ lw $v1, 0x6c($s0)
/* B665E0 80240B30 24020007 */ addiu $v0, $zero, 7
/* B665E4 80240B34 50620001 */ beql $v1, $v0, .L80240B3C
/* B665E8 80240B38 AE400070 */ sw $zero, 0x70($s2)
.L80240B3C:
/* B665EC 80240B3C 8FBF002C */ lw $ra, 0x2c($sp)
/* B665F0 80240B40 8FB20028 */ lw $s2, 0x28($sp)
/* B665F4 80240B44 8FB10024 */ lw $s1, 0x24($sp)
/* B665F8 80240B48 8FB00020 */ lw $s0, 0x20($sp)
/* B665FC 80240B4C 03E00008 */ jr $ra
/* B66600 80240B50 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802465B8_B6C068
.double 180.0
.section .text
glabel func_80240D5C_B6680C
/* B6680C 80240D5C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B66810 80240D60 AFBF0024 */ sw $ra, 0x24($sp)
/* B66814 80240D64 AFB40020 */ sw $s4, 0x20($sp)
/* B66818 80240D68 AFB3001C */ sw $s3, 0x1c($sp)
/* B6681C 80240D6C AFB20018 */ sw $s2, 0x18($sp)
/* B66820 80240D70 AFB10014 */ sw $s1, 0x14($sp)
/* B66824 80240D74 AFB00010 */ sw $s0, 0x10($sp)
/* B66828 80240D78 F7B40028 */ sdc1 $f20, 0x28($sp)
/* B6682C 80240D7C 8C900148 */ lw $s0, 0x148($a0)
/* B66830 80240D80 86040008 */ lh $a0, 8($s0)
/* B66834 80240D84 0C00EABB */ jal get_npc_unsafe
/* B66838 80240D88 24110001 */ addiu $s1, $zero, 1
/* B6683C 80240D8C 86040008 */ lh $a0, 8($s0)
/* B66840 80240D90 0040802D */ daddu $s0, $v0, $zero
/* B66844 80240D94 3C05800B */ lui $a1, %hi(gCameras)
/* B66848 80240D98 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* B6684C 80240D9C 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B66850 80240DA0 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B66854 80240DA4 00912021 */ addu $a0, $a0, $s1
/* B66858 80240DA8 00031080 */ sll $v0, $v1, 2
/* B6685C 80240DAC 00431021 */ addu $v0, $v0, $v1
/* B66860 80240DB0 00021080 */ sll $v0, $v0, 2
/* B66864 80240DB4 00431023 */ subu $v0, $v0, $v1
/* B66868 80240DB8 000218C0 */ sll $v1, $v0, 3
/* B6686C 80240DBC 00431021 */ addu $v0, $v0, $v1
/* B66870 80240DC0 000210C0 */ sll $v0, $v0, 3
/* B66874 80240DC4 0C00FB3A */ jal get_enemy
/* B66878 80240DC8 00459021 */ addu $s2, $v0, $a1
/* B6687C 80240DCC 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* B66880 80240DD0 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* B66884 80240DD4 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B66888 80240DD8 8E830000 */ lw $v1, ($s4)
/* B6688C 80240DDC C60E0040 */ lwc1 $f14, 0x40($s0)
/* B66890 80240DE0 8C660028 */ lw $a2, 0x28($v1)
/* B66894 80240DE4 8C670030 */ lw $a3, 0x30($v1)
/* B66898 80240DE8 0C00A7B5 */ jal dist2D
/* B6689C 80240DEC 0040982D */ daddu $s3, $v0, $zero
/* B668A0 80240DF0 C6620074 */ lwc1 $f2, 0x74($s3)
/* B668A4 80240DF4 468010A0 */ cvt.s.w $f2, $f2
/* B668A8 80240DF8 4600103C */ c.lt.s $f2, $f0
/* B668AC 80240DFC 00000000 */ nop
/* B668B0 80240E00 45030001 */ bc1tl .L80240E08
/* B668B4 80240E04 0000882D */ daddu $s1, $zero, $zero
.L80240E08:
/* B668B8 80240E08 C64C006C */ lwc1 $f12, 0x6c($s2)
/* B668BC 80240E0C C60E000C */ lwc1 $f14, 0xc($s0)
/* B668C0 80240E10 3C014387 */ lui $at, 0x4387
/* B668C4 80240E14 4481A000 */ mtc1 $at, $f20
/* B668C8 80240E18 0C00A70A */ jal get_clamped_angle_diff
/* B668CC 80240E1C 00000000 */ nop
/* B668D0 80240E20 0C00A6C9 */ jal clamp_angle
/* B668D4 80240E24 46000306 */ mov.s $f12, $f0
/* B668D8 80240E28 3C018024 */ lui $at, %hi(D_802465B8_B6C068)
/* B668DC 80240E2C D42265B8 */ ldc1 $f2, %lo(D_802465B8_B6C068)($at)
/* B668E0 80240E30 46000021 */ cvt.d.s $f0, $f0
/* B668E4 80240E34 4622003C */ c.lt.d $f0, $f2
/* B668E8 80240E38 00000000 */ nop
/* B668EC 80240E3C 45000003 */ bc1f .L80240E4C
/* B668F0 80240E40 00000000 */ nop
/* B668F4 80240E44 3C0142B4 */ lui $at, 0x42b4
/* B668F8 80240E48 4481A000 */ mtc1 $at, $f20
.L80240E4C:
/* B668FC 80240E4C C60C0038 */ lwc1 $f12, 0x38($s0)
/* B66900 80240E50 8E820000 */ lw $v0, ($s4)
/* B66904 80240E54 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B66908 80240E58 8C460028 */ lw $a2, 0x28($v0)
/* B6690C 80240E5C 0C00A720 */ jal atan2
/* B66910 80240E60 8C470030 */ lw $a3, 0x30($v0)
/* B66914 80240E64 4600A306 */ mov.s $f12, $f20
/* B66918 80240E68 0C00A70A */ jal get_clamped_angle_diff
/* B6691C 80240E6C 46000386 */ mov.s $f14, $f0
/* B66920 80240E70 C6620078 */ lwc1 $f2, 0x78($s3)
/* B66924 80240E74 468010A0 */ cvt.s.w $f2, $f2
/* B66928 80240E78 46000005 */ abs.s $f0, $f0
/* B6692C 80240E7C 4600103C */ c.lt.s $f2, $f0
/* B66930 80240E80 00000000 */ nop
/* B66934 80240E84 45030001 */ bc1tl .L80240E8C
/* B66938 80240E88 0000882D */ daddu $s1, $zero, $zero
.L80240E8C:
/* B6693C 80240E8C 8E820000 */ lw $v0, ($s4)
/* B66940 80240E90 C600003C */ lwc1 $f0, 0x3c($s0)
/* B66944 80240E94 C442002C */ lwc1 $f2, 0x2c($v0)
/* B66948 80240E98 860200A8 */ lh $v0, 0xa8($s0)
/* B6694C 80240E9C 46020001 */ sub.s $f0, $f0, $f2
/* B66950 80240EA0 44821000 */ mtc1 $v0, $f2
/* B66954 80240EA4 00000000 */ nop
/* B66958 80240EA8 468010A1 */ cvt.d.w $f2, $f2
/* B6695C 80240EAC 46221080 */ add.d $f2, $f2, $f2
/* B66960 80240EB0 46000005 */ abs.s $f0, $f0
/* B66964 80240EB4 46000021 */ cvt.d.s $f0, $f0
/* B66968 80240EB8 4620103E */ c.le.d $f2, $f0
/* B6696C 80240EBC 00000000 */ nop
/* B66970 80240EC0 45030001 */ bc1tl .L80240EC8
/* B66974 80240EC4 0000882D */ daddu $s1, $zero, $zero
.L80240EC8:
/* B66978 80240EC8 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* B6697C 80240ECC 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* B66980 80240ED0 24020009 */ addiu $v0, $zero, 9
/* B66984 80240ED4 50620001 */ beql $v1, $v0, .L80240EDC
/* B66988 80240ED8 0000882D */ daddu $s1, $zero, $zero
.L80240EDC:
/* B6698C 80240EDC 24020007 */ addiu $v0, $zero, 7
/* B66990 80240EE0 50620001 */ beql $v1, $v0, .L80240EE8
/* B66994 80240EE4 0000882D */ daddu $s1, $zero, $zero
.L80240EE8:
/* B66998 80240EE8 0220102D */ daddu $v0, $s1, $zero
/* B6699C 80240EEC 8FBF0024 */ lw $ra, 0x24($sp)
/* B669A0 80240EF0 8FB40020 */ lw $s4, 0x20($sp)
/* B669A4 80240EF4 8FB3001C */ lw $s3, 0x1c($sp)
/* B669A8 80240EF8 8FB20018 */ lw $s2, 0x18($sp)
/* B669AC 80240EFC 8FB10014 */ lw $s1, 0x14($sp)
/* B669B0 80240F00 8FB00010 */ lw $s0, 0x10($sp)
/* B669B4 80240F04 D7B40028 */ ldc1 $f20, 0x28($sp)
/* B669B8 80240F08 03E00008 */ jr $ra
/* B669BC 80240F0C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802465C0_B6C070
.word L802412F4_B66DA4, L80241304_B66DB4, L8024131C_B66DCC, L8024132C_B66DDC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L80241344_B66DF4, L80241354_B66E04, L8024136C_B66E1C, L8024137C_B66E2C, L80241394_B66E44, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413AC_B66E5C, L802413B4_B66E64, L802413CC_B66E7C, L802413E4_B66E94, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413FC_B66EAC, L802413F4_B66EA4
.section .text
glabel func_80241170_B66C20
/* B66C20 80241170 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B66C24 80241174 AFB20038 */ sw $s2, 0x38($sp)
/* B66C28 80241178 0080902D */ daddu $s2, $a0, $zero
/* B66C2C 8024117C AFBF0048 */ sw $ra, 0x48($sp)
/* B66C30 80241180 AFB50044 */ sw $s5, 0x44($sp)
/* B66C34 80241184 AFB40040 */ sw $s4, 0x40($sp)
/* B66C38 80241188 AFB3003C */ sw $s3, 0x3c($sp)
/* B66C3C 8024118C AFB10034 */ sw $s1, 0x34($sp)
/* B66C40 80241190 AFB00030 */ sw $s0, 0x30($sp)
/* B66C44 80241194 8E510148 */ lw $s1, 0x148($s2)
/* B66C48 80241198 86240008 */ lh $a0, 8($s1)
/* B66C4C 8024119C 0C00EABB */ jal get_npc_unsafe
/* B66C50 802411A0 00A0802D */ daddu $s0, $a1, $zero
/* B66C54 802411A4 8E43000C */ lw $v1, 0xc($s2)
/* B66C58 802411A8 0240202D */ daddu $a0, $s2, $zero
/* B66C5C 802411AC 8C650000 */ lw $a1, ($v1)
/* B66C60 802411B0 0C0B1EAF */ jal get_variable
/* B66C64 802411B4 0040A82D */ daddu $s5, $v0, $zero
/* B66C68 802411B8 AFA00010 */ sw $zero, 0x10($sp)
/* B66C6C 802411BC 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66C70 802411C0 8C630030 */ lw $v1, 0x30($v1)
/* B66C74 802411C4 AFA30014 */ sw $v1, 0x14($sp)
/* B66C78 802411C8 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66C7C 802411CC 8C63001C */ lw $v1, 0x1c($v1)
/* B66C80 802411D0 AFA30018 */ sw $v1, 0x18($sp)
/* B66C84 802411D4 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66C88 802411D8 8C630024 */ lw $v1, 0x24($v1)
/* B66C8C 802411DC AFA3001C */ sw $v1, 0x1c($sp)
/* B66C90 802411E0 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66C94 802411E4 8C630028 */ lw $v1, 0x28($v1)
/* B66C98 802411E8 27B40010 */ addiu $s4, $sp, 0x10
/* B66C9C 802411EC AFA30020 */ sw $v1, 0x20($sp)
/* B66CA0 802411F0 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66CA4 802411F4 3C014282 */ lui $at, 0x4282
/* B66CA8 802411F8 44810000 */ mtc1 $at, $f0
/* B66CAC 802411FC 8C63002C */ lw $v1, 0x2c($v1)
/* B66CB0 80241200 0040982D */ daddu $s3, $v0, $zero
/* B66CB4 80241204 E7A00028 */ swc1 $f0, 0x28($sp)
/* B66CB8 80241208 A7A0002C */ sh $zero, 0x2c($sp)
/* B66CBC 8024120C 16000005 */ bnez $s0, .L80241224
/* B66CC0 80241210 AFA30024 */ sw $v1, 0x24($sp)
/* B66CC4 80241214 8E2200B0 */ lw $v0, 0xb0($s1)
/* B66CC8 80241218 30420004 */ andi $v0, $v0, 4
/* B66CCC 8024121C 10400020 */ beqz $v0, .L802412A0
/* B66CD0 80241220 00000000 */ nop
.L80241224:
/* B66CD4 80241224 2404F7FF */ addiu $a0, $zero, -0x801
/* B66CD8 80241228 AE400070 */ sw $zero, 0x70($s2)
/* B66CDC 8024122C A6A0008E */ sh $zero, 0x8e($s5)
/* B66CE0 80241230 8E2200CC */ lw $v0, 0xcc($s1)
/* B66CE4 80241234 8EA30000 */ lw $v1, ($s5)
/* B66CE8 80241238 8C420000 */ lw $v0, ($v0)
/* B66CEC 8024123C 00641824 */ and $v1, $v1, $a0
/* B66CF0 80241240 AEA30000 */ sw $v1, ($s5)
/* B66CF4 80241244 AEA20028 */ sw $v0, 0x28($s5)
/* B66CF8 80241248 8E2200D0 */ lw $v0, 0xd0($s1)
/* B66CFC 8024124C 8C420034 */ lw $v0, 0x34($v0)
/* B66D00 80241250 54400005 */ bnel $v0, $zero, .L80241268
/* B66D04 80241254 2402FDFF */ addiu $v0, $zero, -0x201
/* B66D08 80241258 34620200 */ ori $v0, $v1, 0x200
/* B66D0C 8024125C 2403FFF7 */ addiu $v1, $zero, -9
/* B66D10 80241260 0809049C */ j .L80241270
/* B66D14 80241264 00431024 */ and $v0, $v0, $v1
.L80241268:
/* B66D18 80241268 00621024 */ and $v0, $v1, $v0
/* B66D1C 8024126C 34420008 */ ori $v0, $v0, 8
.L80241270:
/* B66D20 80241270 AEA20000 */ sw $v0, ($s5)
/* B66D24 80241274 8E2200B0 */ lw $v0, 0xb0($s1)
/* B66D28 80241278 30420004 */ andi $v0, $v0, 4
/* B66D2C 8024127C 10400007 */ beqz $v0, .L8024129C
/* B66D30 80241280 24020063 */ addiu $v0, $zero, 0x63
/* B66D34 80241284 AE420070 */ sw $v0, 0x70($s2)
/* B66D38 80241288 AE400074 */ sw $zero, 0x74($s2)
/* B66D3C 8024128C 8E2200B0 */ lw $v0, 0xb0($s1)
/* B66D40 80241290 2403FFFB */ addiu $v1, $zero, -5
/* B66D44 80241294 00431024 */ and $v0, $v0, $v1
/* B66D48 80241298 AE2200B0 */ sw $v0, 0xb0($s1)
.L8024129C:
/* B66D4C 8024129C AE20006C */ sw $zero, 0x6c($s1)
.L802412A0:
/* B66D50 802412A0 8E420070 */ lw $v0, 0x70($s2)
/* B66D54 802412A4 2842001E */ slti $v0, $v0, 0x1e
/* B66D58 802412A8 10400009 */ beqz $v0, .L802412D0
/* B66D5C 802412AC 00000000 */ nop
/* B66D60 802412B0 8E22006C */ lw $v0, 0x6c($s1)
/* B66D64 802412B4 14400006 */ bnez $v0, .L802412D0
/* B66D68 802412B8 00000000 */ nop
/* B66D6C 802412BC 0C090357 */ jal func_80240D5C_B6680C
/* B66D70 802412C0 0240202D */ daddu $a0, $s2, $zero
/* B66D74 802412C4 10400002 */ beqz $v0, .L802412D0
/* B66D78 802412C8 2402001E */ addiu $v0, $zero, 0x1e
/* B66D7C 802412CC AE420070 */ sw $v0, 0x70($s2)
.L802412D0:
/* B66D80 802412D0 8E430070 */ lw $v1, 0x70($s2)
/* B66D84 802412D4 2C620064 */ sltiu $v0, $v1, 0x64
/* B66D88 802412D8 10400048 */ beqz $v0, L802413FC_B66EAC
/* B66D8C 802412DC 00031080 */ sll $v0, $v1, 2
/* B66D90 802412E0 3C018024 */ lui $at, %hi(jtbl_802465C0_B6C070)
/* B66D94 802412E4 00220821 */ addu $at, $at, $v0
/* B66D98 802412E8 8C2265C0 */ lw $v0, %lo(jtbl_802465C0_B6C070)($at)
/* B66D9C 802412EC 00400008 */ jr $v0
/* B66DA0 802412F0 00000000 */ nop
glabel L802412F4_B66DA4
/* B66DA4 802412F4 0240202D */ daddu $a0, $s2, $zero
/* B66DA8 802412F8 0260282D */ daddu $a1, $s3, $zero
/* B66DAC 802412FC 0C012568 */ jal func_800495A0
/* B66DB0 80241300 0280302D */ daddu $a2, $s4, $zero
glabel L80241304_B66DB4
/* B66DB4 80241304 0240202D */ daddu $a0, $s2, $zero
/* B66DB8 80241308 0260282D */ daddu $a1, $s3, $zero
/* B66DBC 8024130C 0C0125AE */ jal func_800496B8
/* B66DC0 80241310 0280302D */ daddu $a2, $s4, $zero
/* B66DC4 80241314 080904FF */ j L802413FC_B66EAC
/* B66DC8 80241318 00000000 */ nop
glabel L8024131C_B66DCC
/* B66DCC 8024131C 0240202D */ daddu $a0, $s2, $zero
/* B66DD0 80241320 0260282D */ daddu $a1, $s3, $zero
/* B66DD4 80241324 0C0126D1 */ jal base_UnkNpcAIFunc1
/* B66DD8 80241328 0280302D */ daddu $a2, $s4, $zero
glabel L8024132C_B66DDC
/* B66DDC 8024132C 0240202D */ daddu $a0, $s2, $zero
/* B66DE0 80241330 0260282D */ daddu $a1, $s3, $zero
/* B66DE4 80241334 0C012701 */ jal func_80049C04
/* B66DE8 80241338 0280302D */ daddu $a2, $s4, $zero
/* B66DEC 8024133C 080904FF */ j L802413FC_B66EAC
/* B66DF0 80241340 00000000 */ nop
glabel L80241344_B66DF4
/* B66DF4 80241344 0240202D */ daddu $a0, $s2, $zero
/* B66DF8 80241348 0260282D */ daddu $a1, $s3, $zero
/* B66DFC 8024134C 0C01278F */ jal func_80049E3C
/* B66E00 80241350 0280302D */ daddu $a2, $s4, $zero
glabel L80241354_B66E04
/* B66E04 80241354 0240202D */ daddu $a0, $s2, $zero
/* B66E08 80241358 0260282D */ daddu $a1, $s3, $zero
/* B66E0C 8024135C 0C0127B3 */ jal func_80049ECC
/* B66E10 80241360 0280302D */ daddu $a2, $s4, $zero
/* B66E14 80241364 080904FF */ j L802413FC_B66EAC
/* B66E18 80241368 00000000 */ nop
glabel L8024136C_B66E1C
/* B66E1C 8024136C 0240202D */ daddu $a0, $s2, $zero
/* B66E20 80241370 0260282D */ daddu $a1, $s3, $zero
/* B66E24 80241374 0C0127DF */ jal func_80049F7C
/* B66E28 80241378 0280302D */ daddu $a2, $s4, $zero
glabel L8024137C_B66E2C
/* B66E2C 8024137C 0240202D */ daddu $a0, $s2, $zero
/* B66E30 80241380 0260282D */ daddu $a1, $s3, $zero
/* B66E34 80241384 0C012849 */ jal func_8004A124
/* B66E38 80241388 0280302D */ daddu $a2, $s4, $zero
/* B66E3C 8024138C 080904FF */ j L802413FC_B66EAC
/* B66E40 80241390 00000000 */ nop
glabel L80241394_B66E44
/* B66E44 80241394 0240202D */ daddu $a0, $s2, $zero
/* B66E48 80241398 0260282D */ daddu $a1, $s3, $zero
/* B66E4C 8024139C 0C0128FA */ jal func_8004A3E8
/* B66E50 802413A0 0280302D */ daddu $a2, $s4, $zero
/* B66E54 802413A4 080904FF */ j L802413FC_B66EAC
/* B66E58 802413A8 00000000 */ nop
glabel L802413AC_B66E5C
/* B66E5C 802413AC 0C0902D5 */ jal jan_09_UnkNpcAIFunc6
/* B66E60 802413B0 0240202D */ daddu $a0, $s2, $zero
glabel L802413B4_B66E64
/* B66E64 802413B4 0C0902F0 */ jal jan_09_UnkNpcAIFunc7
/* B66E68 802413B8 0240202D */ daddu $a0, $s2, $zero
/* B66E6C 802413BC 8E430070 */ lw $v1, 0x70($s2)
/* B66E70 802413C0 24020020 */ addiu $v0, $zero, 0x20
/* B66E74 802413C4 1462000D */ bne $v1, $v0, L802413FC_B66EAC
/* B66E78 802413C8 00000000 */ nop
glabel L802413CC_B66E7C
/* B66E7C 802413CC 0C09030C */ jal jan_09_UnkNpcAIFunc8
/* B66E80 802413D0 0240202D */ daddu $a0, $s2, $zero
/* B66E84 802413D4 8E430070 */ lw $v1, 0x70($s2)
/* B66E88 802413D8 24020021 */ addiu $v0, $zero, 0x21
/* B66E8C 802413DC 14620007 */ bne $v1, $v0, L802413FC_B66EAC
/* B66E90 802413E0 00000000 */ nop
glabel L802413E4_B66E94
/* B66E94 802413E4 0C090342 */ jal jan_09_UnkNpcAIFunc5
/* B66E98 802413E8 0240202D */ daddu $a0, $s2, $zero
/* B66E9C 802413EC 080904FF */ j L802413FC_B66EAC
/* B66EA0 802413F0 00000000 */ nop
glabel L802413F4_B66EA4
/* B66EA4 802413F4 0C0129CF */ jal func_8004A73C
/* B66EA8 802413F8 0240202D */ daddu $a0, $s2, $zero
glabel L802413FC_B66EAC
/* B66EAC 802413FC 8FBF0048 */ lw $ra, 0x48($sp)
/* B66EB0 80241400 8FB50044 */ lw $s5, 0x44($sp)
/* B66EB4 80241404 8FB40040 */ lw $s4, 0x40($sp)
/* B66EB8 80241408 8FB3003C */ lw $s3, 0x3c($sp)
/* B66EBC 8024140C 8FB20038 */ lw $s2, 0x38($sp)
/* B66EC0 80241410 8FB10034 */ lw $s1, 0x34($sp)
/* B66EC4 80241414 8FB00030 */ lw $s0, 0x30($sp)
/* B66EC8 80241418 0000102D */ daddu $v0, $zero, $zero
/* B66ECC 8024141C 03E00008 */ jr $ra
/* B66ED0 80241420 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,207 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80246750_B6C200
.word L802415A8_B67058, L802415B8_B67068, L802415D0_B67080, L802415E0_B67090, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802415F8_B670A8, L80241608_B670B8, L80241620_B670D0, L80241630_B670E0, L80241648_B670F8, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L80241660_B67110, L80241668_B67118, L80241680_B67130, L80241698_B67148, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416B0_B67160, L802416A8_B67158
.section .text
glabel func_80241424_B66ED4
/* B66ED4 80241424 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B66ED8 80241428 AFB20038 */ sw $s2, 0x38($sp)
/* B66EDC 8024142C 0080902D */ daddu $s2, $a0, $zero
/* B66EE0 80241430 AFBF0048 */ sw $ra, 0x48($sp)
/* B66EE4 80241434 AFB50044 */ sw $s5, 0x44($sp)
/* B66EE8 80241438 AFB40040 */ sw $s4, 0x40($sp)
/* B66EEC 8024143C AFB3003C */ sw $s3, 0x3c($sp)
/* B66EF0 80241440 AFB10034 */ sw $s1, 0x34($sp)
/* B66EF4 80241444 AFB00030 */ sw $s0, 0x30($sp)
/* B66EF8 80241448 8E510148 */ lw $s1, 0x148($s2)
/* B66EFC 8024144C 86240008 */ lh $a0, 8($s1)
/* B66F00 80241450 0C00EABB */ jal get_npc_unsafe
/* B66F04 80241454 00A0802D */ daddu $s0, $a1, $zero
/* B66F08 80241458 8E43000C */ lw $v1, 0xc($s2)
/* B66F0C 8024145C 0240202D */ daddu $a0, $s2, $zero
/* B66F10 80241460 8C650000 */ lw $a1, ($v1)
/* B66F14 80241464 0C0B1EAF */ jal get_variable
/* B66F18 80241468 0040A82D */ daddu $s5, $v0, $zero
/* B66F1C 8024146C AFA00010 */ sw $zero, 0x10($sp)
/* B66F20 80241470 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66F24 80241474 8C630030 */ lw $v1, 0x30($v1)
/* B66F28 80241478 AFA30014 */ sw $v1, 0x14($sp)
/* B66F2C 8024147C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66F30 80241480 8C63001C */ lw $v1, 0x1c($v1)
/* B66F34 80241484 AFA30018 */ sw $v1, 0x18($sp)
/* B66F38 80241488 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66F3C 8024148C 8C630024 */ lw $v1, 0x24($v1)
/* B66F40 80241490 AFA3001C */ sw $v1, 0x1c($sp)
/* B66F44 80241494 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66F48 80241498 8C630028 */ lw $v1, 0x28($v1)
/* B66F4C 8024149C 27B40010 */ addiu $s4, $sp, 0x10
/* B66F50 802414A0 AFA30020 */ sw $v1, 0x20($sp)
/* B66F54 802414A4 8E2300D0 */ lw $v1, 0xd0($s1)
/* B66F58 802414A8 3C014282 */ lui $at, 0x4282
/* B66F5C 802414AC 44810000 */ mtc1 $at, $f0
/* B66F60 802414B0 8C63002C */ lw $v1, 0x2c($v1)
/* B66F64 802414B4 0040982D */ daddu $s3, $v0, $zero
/* B66F68 802414B8 E7A00028 */ swc1 $f0, 0x28($sp)
/* B66F6C 802414BC A7A0002C */ sh $zero, 0x2c($sp)
/* B66F70 802414C0 16000005 */ bnez $s0, .L802414D8
/* B66F74 802414C4 AFA30024 */ sw $v1, 0x24($sp)
/* B66F78 802414C8 8E2200B0 */ lw $v0, 0xb0($s1)
/* B66F7C 802414CC 30420004 */ andi $v0, $v0, 4
/* B66F80 802414D0 10400020 */ beqz $v0, .L80241554
/* B66F84 802414D4 00000000 */ nop
.L802414D8:
/* B66F88 802414D8 2404F7FF */ addiu $a0, $zero, -0x801
/* B66F8C 802414DC AE400070 */ sw $zero, 0x70($s2)
/* B66F90 802414E0 A6A0008E */ sh $zero, 0x8e($s5)
/* B66F94 802414E4 8E2200CC */ lw $v0, 0xcc($s1)
/* B66F98 802414E8 8EA30000 */ lw $v1, ($s5)
/* B66F9C 802414EC 8C420000 */ lw $v0, ($v0)
/* B66FA0 802414F0 00641824 */ and $v1, $v1, $a0
/* B66FA4 802414F4 AEA30000 */ sw $v1, ($s5)
/* B66FA8 802414F8 AEA20028 */ sw $v0, 0x28($s5)
/* B66FAC 802414FC 8E2200D0 */ lw $v0, 0xd0($s1)
/* B66FB0 80241500 8C420034 */ lw $v0, 0x34($v0)
/* B66FB4 80241504 54400005 */ bnel $v0, $zero, .L8024151C
/* B66FB8 80241508 2402FDFF */ addiu $v0, $zero, -0x201
/* B66FBC 8024150C 34620200 */ ori $v0, $v1, 0x200
/* B66FC0 80241510 2403FFF7 */ addiu $v1, $zero, -9
/* B66FC4 80241514 08090549 */ j .L80241524
/* B66FC8 80241518 00431024 */ and $v0, $v0, $v1
.L8024151C:
/* B66FCC 8024151C 00621024 */ and $v0, $v1, $v0
/* B66FD0 80241520 34420008 */ ori $v0, $v0, 8
.L80241524:
/* B66FD4 80241524 AEA20000 */ sw $v0, ($s5)
/* B66FD8 80241528 8E2200B0 */ lw $v0, 0xb0($s1)
/* B66FDC 8024152C 30420004 */ andi $v0, $v0, 4
/* B66FE0 80241530 10400007 */ beqz $v0, .L80241550
/* B66FE4 80241534 24020063 */ addiu $v0, $zero, 0x63
/* B66FE8 80241538 AE420070 */ sw $v0, 0x70($s2)
/* B66FEC 8024153C AE400074 */ sw $zero, 0x74($s2)
/* B66FF0 80241540 8E2200B0 */ lw $v0, 0xb0($s1)
/* B66FF4 80241544 2403FFFB */ addiu $v1, $zero, -5
/* B66FF8 80241548 00431024 */ and $v0, $v0, $v1
/* B66FFC 8024154C AE2200B0 */ sw $v0, 0xb0($s1)
.L80241550:
/* B67000 80241550 AE20006C */ sw $zero, 0x6c($s1)
.L80241554:
/* B67004 80241554 8E420070 */ lw $v0, 0x70($s2)
/* B67008 80241558 2842001E */ slti $v0, $v0, 0x1e
/* B6700C 8024155C 10400009 */ beqz $v0, .L80241584
/* B67010 80241560 00000000 */ nop
/* B67014 80241564 8E22006C */ lw $v0, 0x6c($s1)
/* B67018 80241568 14400006 */ bnez $v0, .L80241584
/* B6701C 8024156C 00000000 */ nop
/* B67020 80241570 0C090357 */ jal func_80240D5C_B6680C
/* B67024 80241574 0240202D */ daddu $a0, $s2, $zero
/* B67028 80241578 10400002 */ beqz $v0, .L80241584
/* B6702C 8024157C 2402001E */ addiu $v0, $zero, 0x1e
/* B67030 80241580 AE420070 */ sw $v0, 0x70($s2)
.L80241584:
/* B67034 80241584 8E430070 */ lw $v1, 0x70($s2)
/* B67038 80241588 2C620064 */ sltiu $v0, $v1, 0x64
/* B6703C 8024158C 10400048 */ beqz $v0, L802416B0_B67160
/* B67040 80241590 00031080 */ sll $v0, $v1, 2
/* B67044 80241594 3C018024 */ lui $at, %hi(jtbl_80246750_B6C200)
/* B67048 80241598 00220821 */ addu $at, $at, $v0
/* B6704C 8024159C 8C226750 */ lw $v0, %lo(jtbl_80246750_B6C200)($at)
/* B67050 802415A0 00400008 */ jr $v0
/* B67054 802415A4 00000000 */ nop
glabel L802415A8_B67058
/* B67058 802415A8 0240202D */ daddu $a0, $s2, $zero
/* B6705C 802415AC 0260282D */ daddu $a1, $s3, $zero
/* B67060 802415B0 0C012568 */ jal func_800495A0
/* B67064 802415B4 0280302D */ daddu $a2, $s4, $zero
glabel L802415B8_B67068
/* B67068 802415B8 0240202D */ daddu $a0, $s2, $zero
/* B6706C 802415BC 0260282D */ daddu $a1, $s3, $zero
/* B67070 802415C0 0C0125AE */ jal func_800496B8
/* B67074 802415C4 0280302D */ daddu $a2, $s4, $zero
/* B67078 802415C8 080905AC */ j L802416B0_B67160
/* B6707C 802415CC 00000000 */ nop
glabel L802415D0_B67080
/* B67080 802415D0 0240202D */ daddu $a0, $s2, $zero
/* B67084 802415D4 0260282D */ daddu $a1, $s3, $zero
/* B67088 802415D8 0C090250 */ jal jan_09_UnkNpcAIFunc4
/* B6708C 802415DC 0280302D */ daddu $a2, $s4, $zero
glabel L802415E0_B67090
/* B67090 802415E0 0240202D */ daddu $a0, $s2, $zero
/* B67094 802415E4 0260282D */ daddu $a1, $s3, $zero
/* B67098 802415E8 0C090264 */ jal func_80240990_B66440
/* B6709C 802415EC 0280302D */ daddu $a2, $s4, $zero
/* B670A0 802415F0 080905AC */ j L802416B0_B67160
/* B670A4 802415F4 00000000 */ nop
glabel L802415F8_B670A8
/* B670A8 802415F8 0240202D */ daddu $a0, $s2, $zero
/* B670AC 802415FC 0260282D */ daddu $a1, $s3, $zero
/* B670B0 80241600 0C01278F */ jal func_80049E3C
/* B670B4 80241604 0280302D */ daddu $a2, $s4, $zero
glabel L80241608_B670B8
/* B670B8 80241608 0240202D */ daddu $a0, $s2, $zero
/* B670BC 8024160C 0260282D */ daddu $a1, $s3, $zero
/* B670C0 80241610 0C0127B3 */ jal func_80049ECC
/* B670C4 80241614 0280302D */ daddu $a2, $s4, $zero
/* B670C8 80241618 080905AC */ j L802416B0_B67160
/* B670CC 8024161C 00000000 */ nop
glabel L80241620_B670D0
/* B670D0 80241620 0240202D */ daddu $a0, $s2, $zero
/* B670D4 80241624 0260282D */ daddu $a1, $s3, $zero
/* B670D8 80241628 0C0127DF */ jal func_80049F7C
/* B670DC 8024162C 0280302D */ daddu $a2, $s4, $zero
glabel L80241630_B670E0
/* B670E0 80241630 0240202D */ daddu $a0, $s2, $zero
/* B670E4 80241634 0260282D */ daddu $a1, $s3, $zero
/* B670E8 80241638 0C012849 */ jal func_8004A124
/* B670EC 8024163C 0280302D */ daddu $a2, $s4, $zero
/* B670F0 80241640 080905AC */ j L802416B0_B67160
/* B670F4 80241644 00000000 */ nop
glabel L80241648_B670F8
/* B670F8 80241648 0240202D */ daddu $a0, $s2, $zero
/* B670FC 8024164C 0260282D */ daddu $a1, $s3, $zero
/* B67100 80241650 0C0128FA */ jal func_8004A3E8
/* B67104 80241654 0280302D */ daddu $a2, $s4, $zero
/* B67108 80241658 080905AC */ j L802416B0_B67160
/* B6710C 8024165C 00000000 */ nop
glabel L80241660_B67110
/* B67110 80241660 0C0902D5 */ jal jan_09_UnkNpcAIFunc6
/* B67114 80241664 0240202D */ daddu $a0, $s2, $zero
glabel L80241668_B67118
/* B67118 80241668 0C0902F0 */ jal jan_09_UnkNpcAIFunc7
/* B6711C 8024166C 0240202D */ daddu $a0, $s2, $zero
/* B67120 80241670 8E430070 */ lw $v1, 0x70($s2)
/* B67124 80241674 24020020 */ addiu $v0, $zero, 0x20
/* B67128 80241678 1462000D */ bne $v1, $v0, L802416B0_B67160
/* B6712C 8024167C 00000000 */ nop
glabel L80241680_B67130
/* B67130 80241680 0C09030C */ jal jan_09_UnkNpcAIFunc8
/* B67134 80241684 0240202D */ daddu $a0, $s2, $zero
/* B67138 80241688 8E430070 */ lw $v1, 0x70($s2)
/* B6713C 8024168C 24020021 */ addiu $v0, $zero, 0x21
/* B67140 80241690 14620007 */ bne $v1, $v0, L802416B0_B67160
/* B67144 80241694 00000000 */ nop
glabel L80241698_B67148
/* B67148 80241698 0C090342 */ jal jan_09_UnkNpcAIFunc5
/* B6714C 8024169C 0240202D */ daddu $a0, $s2, $zero
/* B67150 802416A0 080905AC */ j L802416B0_B67160
/* B67154 802416A4 00000000 */ nop
glabel L802416A8_B67158
/* B67158 802416A8 0C0129CF */ jal func_8004A73C
/* B6715C 802416AC 0240202D */ daddu $a0, $s2, $zero
glabel L802416B0_B67160
/* B67160 802416B0 8FBF0048 */ lw $ra, 0x48($sp)
/* B67164 802416B4 8FB50044 */ lw $s5, 0x44($sp)
/* B67168 802416B8 8FB40040 */ lw $s4, 0x40($sp)
/* B6716C 802416BC 8FB3003C */ lw $s3, 0x3c($sp)
/* B67170 802416C0 8FB20038 */ lw $s2, 0x38($sp)
/* B67174 802416C4 8FB10034 */ lw $s1, 0x34($sp)
/* B67178 802416C8 8FB00030 */ lw $s0, 0x30($sp)
/* B6717C 802416CC 0000102D */ daddu $v0, $zero, $zero
/* B67180 802416D0 03E00008 */ jr $ra
/* B67184 802416D4 27BD0050 */ addiu $sp, $sp, 0x50
/* B67188 802416D8 00000000 */ nop
/* B6718C 802416DC 00000000 */ nop

View File

@ -1,136 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802433C0_B76470
.word L80240590_B73640, L802405A8_B73658, L802405C8_B73678, L802405E0_B73690, L8024061C_B736CC, L80240668_B73718
.section .text
glabel func_80240510_B735C0
/* B735C0 80240510 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B735C4 80240514 AFB20028 */ sw $s2, 0x28($sp)
/* B735C8 80240518 0080902D */ daddu $s2, $a0, $zero
/* B735CC 8024051C AFBF002C */ sw $ra, 0x2c($sp)
/* B735D0 80240520 AFB10024 */ sw $s1, 0x24($sp)
/* B735D4 80240524 AFB00020 */ sw $s0, 0x20($sp)
/* B735D8 80240528 8E500148 */ lw $s0, 0x148($s2)
/* B735DC 8024052C 0C00EABB */ jal get_npc_unsafe
/* B735E0 80240530 86040008 */ lh $a0, 8($s0)
/* B735E4 80240534 8E03006C */ lw $v1, 0x6c($s0)
/* B735E8 80240538 1460000B */ bnez $v1, .L80240568
/* B735EC 8024053C 0040882D */ daddu $s1, $v0, $zero
/* B735F0 80240540 0C00A67F */ jal rand_int
/* B735F4 80240544 24040064 */ addiu $a0, $zero, 0x64
/* B735F8 80240548 28420032 */ slti $v0, $v0, 0x32
/* B735FC 8024054C 14400002 */ bnez $v0, .L80240558
/* B73600 80240550 24020001 */ addiu $v0, $zero, 1
/* B73604 80240554 24020003 */ addiu $v0, $zero, 3
.L80240558:
/* B73608 80240558 AE02006C */ sw $v0, 0x6c($s0)
/* B7360C 8024055C 3C054387 */ lui $a1, 0x4387
/* B73610 80240560 0C00ECD0 */ jal set_npc_yaw
/* B73614 80240564 0220202D */ daddu $a0, $s1, $zero
.L80240568:
/* B73618 80240568 8E02006C */ lw $v0, 0x6c($s0)
/* B7361C 8024056C 2443FFFF */ addiu $v1, $v0, -1
/* B73620 80240570 2C620006 */ sltiu $v0, $v1, 6
/* B73624 80240574 1040004D */ beqz $v0, .L802406AC
/* B73628 80240578 00031080 */ sll $v0, $v1, 2
/* B7362C 8024057C 3C018024 */ lui $at, %hi(jtbl_802433C0_B76470)
/* B73630 80240580 00220821 */ addu $at, $at, $v0
/* B73634 80240584 8C2233C0 */ lw $v0, %lo(jtbl_802433C0_B76470)($at)
/* B73638 80240588 00400008 */ jr $v0
/* B7363C 8024058C 00000000 */ nop
glabel L80240590_B73640
/* B73640 80240590 3C030042 */ lui $v1, 0x42
/* B73644 80240594 3463000F */ ori $v1, $v1, 0xf
/* B73648 80240598 24020002 */ addiu $v0, $zero, 2
/* B7364C 8024059C AE02006C */ sw $v0, 0x6c($s0)
/* B73650 802405A0 AE000070 */ sw $zero, 0x70($s0)
/* B73654 802405A4 AE230028 */ sw $v1, 0x28($s1)
glabel L802405A8_B73658
/* B73658 802405A8 8E020070 */ lw $v0, 0x70($s0)
/* B7365C 802405AC 24420001 */ addiu $v0, $v0, 1
/* B73660 802405B0 AE020070 */ sw $v0, 0x70($s0)
/* B73664 802405B4 28420033 */ slti $v0, $v0, 0x33
/* B73668 802405B8 1440003C */ bnez $v0, .L802406AC
/* B7366C 802405BC 24020005 */ addiu $v0, $zero, 5
/* B73670 802405C0 080901AB */ j .L802406AC
/* B73674 802405C4 AE02006C */ sw $v0, 0x6c($s0)
glabel L802405C8_B73678
/* B73678 802405C8 3C030042 */ lui $v1, 0x42
/* B7367C 802405CC 34630010 */ ori $v1, $v1, 0x10
/* B73680 802405D0 24020004 */ addiu $v0, $zero, 4
/* B73684 802405D4 AE02006C */ sw $v0, 0x6c($s0)
/* B73688 802405D8 AE000070 */ sw $zero, 0x70($s0)
/* B7368C 802405DC AE230028 */ sw $v1, 0x28($s1)
glabel L802405E0_B73690
/* B73690 802405E0 8E020070 */ lw $v0, 0x70($s0)
/* B73694 802405E4 24030019 */ addiu $v1, $zero, 0x19
/* B73698 802405E8 24420001 */ addiu $v0, $v0, 1
/* B7369C 802405EC 14430005 */ bne $v0, $v1, .L80240604
/* B736A0 802405F0 AE020070 */ sw $v0, 0x70($s0)
/* B736A4 802405F4 3C0142B4 */ lui $at, 0x42b4
/* B736A8 802405F8 44810000 */ mtc1 $at, $f0
/* B736AC 802405FC 00000000 */ nop
/* B736B0 80240600 E620000C */ swc1 $f0, 0xc($s1)
.L80240604:
/* B736B4 80240604 8E020070 */ lw $v0, 0x70($s0)
/* B736B8 80240608 2842003D */ slti $v0, $v0, 0x3d
/* B736BC 8024060C 14400027 */ bnez $v0, .L802406AC
/* B736C0 80240610 24020005 */ addiu $v0, $zero, 5
/* B736C4 80240614 080901AB */ j .L802406AC
/* B736C8 80240618 AE02006C */ sw $v0, 0x6c($s0)
glabel L8024061C_B736CC
/* B736CC 8024061C 3C030042 */ lui $v1, 0x42
/* B736D0 80240620 24020006 */ addiu $v0, $zero, 6
/* B736D4 80240624 34630003 */ ori $v1, $v1, 3
/* B736D8 80240628 AE02006C */ sw $v0, 0x6c($s0)
/* B736DC 8024062C AE000070 */ sw $zero, 0x70($s0)
/* B736E0 80240630 862400A8 */ lh $a0, 0xa8($s1)
/* B736E4 80240634 2402000A */ addiu $v0, $zero, 0xa
/* B736E8 80240638 AE230028 */ sw $v1, 0x28($s1)
/* B736EC 8024063C AFA00014 */ sw $zero, 0x14($sp)
/* B736F0 80240640 AFA20018 */ sw $v0, 0x18($sp)
/* B736F4 80240644 44840000 */ mtc1 $a0, $f0
/* B736F8 80240648 00000000 */ nop
/* B736FC 8024064C 46800020 */ cvt.s.w $f0, $f0
/* B73700 80240650 E7A00010 */ swc1 $f0, 0x10($sp)
/* B73704 80240654 8E250038 */ lw $a1, 0x38($s1)
/* B73708 80240658 8E26003C */ lw $a2, 0x3c($s1)
/* B7370C 8024065C 8E270040 */ lw $a3, 0x40($s1)
/* B73710 80240660 0C01C1E4 */ jal fx_sweat
/* B73714 80240664 0000202D */ daddu $a0, $zero, $zero
glabel L80240668_B73718
/* B73718 80240668 8E020070 */ lw $v0, 0x70($s0)
/* B7371C 8024066C 24420001 */ addiu $v0, $v0, 1
/* B73720 80240670 AE020070 */ sw $v0, 0x70($s0)
/* B73724 80240674 2842000B */ slti $v0, $v0, 0xb
/* B73728 80240678 1440000C */ bnez $v0, .L802406AC
/* B7372C 8024067C 00000000 */ nop
/* B73730 80240680 0C00A67F */ jal rand_int
/* B73734 80240684 24040064 */ addiu $a0, $zero, 0x64
/* B73738 80240688 0040182D */ daddu $v1, $v0, $zero
/* B7373C 8024068C 2862005A */ slti $v0, $v1, 0x5a
/* B73740 80240690 14400005 */ bnez $v0, .L802406A8
/* B73744 80240694 24020007 */ addiu $v0, $zero, 7
/* B73748 80240698 2862005F */ slti $v0, $v1, 0x5f
/* B7374C 8024069C 14400002 */ bnez $v0, .L802406A8
/* B73750 802406A0 24020001 */ addiu $v0, $zero, 1
/* B73754 802406A4 24020003 */ addiu $v0, $zero, 3
.L802406A8:
/* B73758 802406A8 AE02006C */ sw $v0, 0x6c($s0)
.L802406AC:
/* B7375C 802406AC 8E03006C */ lw $v1, 0x6c($s0)
/* B73760 802406B0 24020007 */ addiu $v0, $zero, 7
/* B73764 802406B4 50620001 */ beql $v1, $v0, .L802406BC
/* B73768 802406B8 AE400070 */ sw $zero, 0x70($s2)
.L802406BC:
/* B7376C 802406BC 8FBF002C */ lw $ra, 0x2c($sp)
/* B73770 802406C0 8FB20028 */ lw $s2, 0x28($sp)
/* B73774 802406C4 8FB10024 */ lw $s1, 0x24($sp)
/* B73778 802406C8 8FB00020 */ lw $s0, 0x20($sp)
/* B7377C 802406CC 03E00008 */ jr $ra
/* B73780 802406D0 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802433D8_B76488
.double 180.0
.section .text
glabel func_802408DC_B7398C
/* B7398C 802408DC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B73990 802408E0 AFBF0024 */ sw $ra, 0x24($sp)
/* B73994 802408E4 AFB40020 */ sw $s4, 0x20($sp)
/* B73998 802408E8 AFB3001C */ sw $s3, 0x1c($sp)
/* B7399C 802408EC AFB20018 */ sw $s2, 0x18($sp)
/* B739A0 802408F0 AFB10014 */ sw $s1, 0x14($sp)
/* B739A4 802408F4 AFB00010 */ sw $s0, 0x10($sp)
/* B739A8 802408F8 F7B40028 */ sdc1 $f20, 0x28($sp)
/* B739AC 802408FC 8C900148 */ lw $s0, 0x148($a0)
/* B739B0 80240900 86040008 */ lh $a0, 8($s0)
/* B739B4 80240904 0C00EABB */ jal get_npc_unsafe
/* B739B8 80240908 24110001 */ addiu $s1, $zero, 1
/* B739BC 8024090C 86040008 */ lh $a0, 8($s0)
/* B739C0 80240910 0040802D */ daddu $s0, $v0, $zero
/* B739C4 80240914 3C05800B */ lui $a1, %hi(gCameras)
/* B739C8 80240918 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* B739CC 8024091C 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B739D0 80240920 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B739D4 80240924 00912021 */ addu $a0, $a0, $s1
/* B739D8 80240928 00031080 */ sll $v0, $v1, 2
/* B739DC 8024092C 00431021 */ addu $v0, $v0, $v1
/* B739E0 80240930 00021080 */ sll $v0, $v0, 2
/* B739E4 80240934 00431023 */ subu $v0, $v0, $v1
/* B739E8 80240938 000218C0 */ sll $v1, $v0, 3
/* B739EC 8024093C 00431021 */ addu $v0, $v0, $v1
/* B739F0 80240940 000210C0 */ sll $v0, $v0, 3
/* B739F4 80240944 0C00FB3A */ jal get_enemy
/* B739F8 80240948 00459021 */ addu $s2, $v0, $a1
/* B739FC 8024094C 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* B73A00 80240950 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* B73A04 80240954 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B73A08 80240958 8E830000 */ lw $v1, ($s4)
/* B73A0C 8024095C C60E0040 */ lwc1 $f14, 0x40($s0)
/* B73A10 80240960 8C660028 */ lw $a2, 0x28($v1)
/* B73A14 80240964 8C670030 */ lw $a3, 0x30($v1)
/* B73A18 80240968 0C00A7B5 */ jal dist2D
/* B73A1C 8024096C 0040982D */ daddu $s3, $v0, $zero
/* B73A20 80240970 C6620074 */ lwc1 $f2, 0x74($s3)
/* B73A24 80240974 468010A0 */ cvt.s.w $f2, $f2
/* B73A28 80240978 4600103C */ c.lt.s $f2, $f0
/* B73A2C 8024097C 00000000 */ nop
/* B73A30 80240980 45030001 */ bc1tl .L80240988
/* B73A34 80240984 0000882D */ daddu $s1, $zero, $zero
.L80240988:
/* B73A38 80240988 C64C006C */ lwc1 $f12, 0x6c($s2)
/* B73A3C 8024098C C60E000C */ lwc1 $f14, 0xc($s0)
/* B73A40 80240990 3C014387 */ lui $at, 0x4387
/* B73A44 80240994 4481A000 */ mtc1 $at, $f20
/* B73A48 80240998 0C00A70A */ jal get_clamped_angle_diff
/* B73A4C 8024099C 00000000 */ nop
/* B73A50 802409A0 0C00A6C9 */ jal clamp_angle
/* B73A54 802409A4 46000306 */ mov.s $f12, $f0
/* B73A58 802409A8 3C018024 */ lui $at, %hi(D_802433D8_B76488)
/* B73A5C 802409AC D42233D8 */ ldc1 $f2, %lo(D_802433D8_B76488)($at)
/* B73A60 802409B0 46000021 */ cvt.d.s $f0, $f0
/* B73A64 802409B4 4622003C */ c.lt.d $f0, $f2
/* B73A68 802409B8 00000000 */ nop
/* B73A6C 802409BC 45000003 */ bc1f .L802409CC
/* B73A70 802409C0 00000000 */ nop
/* B73A74 802409C4 3C0142B4 */ lui $at, 0x42b4
/* B73A78 802409C8 4481A000 */ mtc1 $at, $f20
.L802409CC:
/* B73A7C 802409CC C60C0038 */ lwc1 $f12, 0x38($s0)
/* B73A80 802409D0 8E820000 */ lw $v0, ($s4)
/* B73A84 802409D4 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B73A88 802409D8 8C460028 */ lw $a2, 0x28($v0)
/* B73A8C 802409DC 0C00A720 */ jal atan2
/* B73A90 802409E0 8C470030 */ lw $a3, 0x30($v0)
/* B73A94 802409E4 4600A306 */ mov.s $f12, $f20
/* B73A98 802409E8 0C00A70A */ jal get_clamped_angle_diff
/* B73A9C 802409EC 46000386 */ mov.s $f14, $f0
/* B73AA0 802409F0 C6620078 */ lwc1 $f2, 0x78($s3)
/* B73AA4 802409F4 468010A0 */ cvt.s.w $f2, $f2
/* B73AA8 802409F8 46000005 */ abs.s $f0, $f0
/* B73AAC 802409FC 4600103C */ c.lt.s $f2, $f0
/* B73AB0 80240A00 00000000 */ nop
/* B73AB4 80240A04 45030001 */ bc1tl .L80240A0C
/* B73AB8 80240A08 0000882D */ daddu $s1, $zero, $zero
.L80240A0C:
/* B73ABC 80240A0C 8E820000 */ lw $v0, ($s4)
/* B73AC0 80240A10 C600003C */ lwc1 $f0, 0x3c($s0)
/* B73AC4 80240A14 C442002C */ lwc1 $f2, 0x2c($v0)
/* B73AC8 80240A18 860200A8 */ lh $v0, 0xa8($s0)
/* B73ACC 80240A1C 46020001 */ sub.s $f0, $f0, $f2
/* B73AD0 80240A20 44821000 */ mtc1 $v0, $f2
/* B73AD4 80240A24 00000000 */ nop
/* B73AD8 80240A28 468010A1 */ cvt.d.w $f2, $f2
/* B73ADC 80240A2C 46221080 */ add.d $f2, $f2, $f2
/* B73AE0 80240A30 46000005 */ abs.s $f0, $f0
/* B73AE4 80240A34 46000021 */ cvt.d.s $f0, $f0
/* B73AE8 80240A38 4620103E */ c.le.d $f2, $f0
/* B73AEC 80240A3C 00000000 */ nop
/* B73AF0 80240A40 45030001 */ bc1tl .L80240A48
/* B73AF4 80240A44 0000882D */ daddu $s1, $zero, $zero
.L80240A48:
/* B73AF8 80240A48 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* B73AFC 80240A4C 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* B73B00 80240A50 24020009 */ addiu $v0, $zero, 9
/* B73B04 80240A54 50620001 */ beql $v1, $v0, .L80240A5C
/* B73B08 80240A58 0000882D */ daddu $s1, $zero, $zero
.L80240A5C:
/* B73B0C 80240A5C 24020007 */ addiu $v0, $zero, 7
/* B73B10 80240A60 50620001 */ beql $v1, $v0, .L80240A68
/* B73B14 80240A64 0000882D */ daddu $s1, $zero, $zero
.L80240A68:
/* B73B18 80240A68 0220102D */ daddu $v0, $s1, $zero
/* B73B1C 80240A6C 8FBF0024 */ lw $ra, 0x24($sp)
/* B73B20 80240A70 8FB40020 */ lw $s4, 0x20($sp)
/* B73B24 80240A74 8FB3001C */ lw $s3, 0x1c($sp)
/* B73B28 80240A78 8FB20018 */ lw $s2, 0x18($sp)
/* B73B2C 80240A7C 8FB10014 */ lw $s1, 0x14($sp)
/* B73B30 80240A80 8FB00010 */ lw $s0, 0x10($sp)
/* B73B34 80240A84 D7B40028 */ ldc1 $f20, 0x28($sp)
/* B73B38 80240A88 03E00008 */ jr $ra
/* B73B3C 80240A8C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802433E0_B76490
.word L80240E74_B73F24, L80240E84_B73F34, L80240E9C_B73F4C, L80240EAC_B73F5C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240EC4_B73F74, L80240ED4_B73F84, L80240EEC_B73F9C, L80240EFC_B73FAC, L80240F14_B73FC4, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F2C_B73FDC, L80240F34_B73FE4, L80240F4C_B73FFC, L80240F64_B74014, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F7C_B7402C, L80240F74_B74024
.section .text
glabel func_80240CF0_B73DA0
/* B73DA0 80240CF0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B73DA4 80240CF4 AFB20038 */ sw $s2, 0x38($sp)
/* B73DA8 80240CF8 0080902D */ daddu $s2, $a0, $zero
/* B73DAC 80240CFC AFBF0048 */ sw $ra, 0x48($sp)
/* B73DB0 80240D00 AFB50044 */ sw $s5, 0x44($sp)
/* B73DB4 80240D04 AFB40040 */ sw $s4, 0x40($sp)
/* B73DB8 80240D08 AFB3003C */ sw $s3, 0x3c($sp)
/* B73DBC 80240D0C AFB10034 */ sw $s1, 0x34($sp)
/* B73DC0 80240D10 AFB00030 */ sw $s0, 0x30($sp)
/* B73DC4 80240D14 8E510148 */ lw $s1, 0x148($s2)
/* B73DC8 80240D18 86240008 */ lh $a0, 8($s1)
/* B73DCC 80240D1C 0C00EABB */ jal get_npc_unsafe
/* B73DD0 80240D20 00A0802D */ daddu $s0, $a1, $zero
/* B73DD4 80240D24 8E43000C */ lw $v1, 0xc($s2)
/* B73DD8 80240D28 0240202D */ daddu $a0, $s2, $zero
/* B73DDC 80240D2C 8C650000 */ lw $a1, ($v1)
/* B73DE0 80240D30 0C0B1EAF */ jal get_variable
/* B73DE4 80240D34 0040A82D */ daddu $s5, $v0, $zero
/* B73DE8 80240D38 AFA00010 */ sw $zero, 0x10($sp)
/* B73DEC 80240D3C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B73DF0 80240D40 8C630030 */ lw $v1, 0x30($v1)
/* B73DF4 80240D44 AFA30014 */ sw $v1, 0x14($sp)
/* B73DF8 80240D48 8E2300D0 */ lw $v1, 0xd0($s1)
/* B73DFC 80240D4C 8C63001C */ lw $v1, 0x1c($v1)
/* B73E00 80240D50 AFA30018 */ sw $v1, 0x18($sp)
/* B73E04 80240D54 8E2300D0 */ lw $v1, 0xd0($s1)
/* B73E08 80240D58 8C630024 */ lw $v1, 0x24($v1)
/* B73E0C 80240D5C AFA3001C */ sw $v1, 0x1c($sp)
/* B73E10 80240D60 8E2300D0 */ lw $v1, 0xd0($s1)
/* B73E14 80240D64 8C630028 */ lw $v1, 0x28($v1)
/* B73E18 80240D68 27B40010 */ addiu $s4, $sp, 0x10
/* B73E1C 80240D6C AFA30020 */ sw $v1, 0x20($sp)
/* B73E20 80240D70 8E2300D0 */ lw $v1, 0xd0($s1)
/* B73E24 80240D74 3C014282 */ lui $at, 0x4282
/* B73E28 80240D78 44810000 */ mtc1 $at, $f0
/* B73E2C 80240D7C 8C63002C */ lw $v1, 0x2c($v1)
/* B73E30 80240D80 0040982D */ daddu $s3, $v0, $zero
/* B73E34 80240D84 E7A00028 */ swc1 $f0, 0x28($sp)
/* B73E38 80240D88 A7A0002C */ sh $zero, 0x2c($sp)
/* B73E3C 80240D8C 16000005 */ bnez $s0, .L80240DA4
/* B73E40 80240D90 AFA30024 */ sw $v1, 0x24($sp)
/* B73E44 80240D94 8E2200B0 */ lw $v0, 0xb0($s1)
/* B73E48 80240D98 30420004 */ andi $v0, $v0, 4
/* B73E4C 80240D9C 10400020 */ beqz $v0, .L80240E20
/* B73E50 80240DA0 00000000 */ nop
.L80240DA4:
/* B73E54 80240DA4 2404F7FF */ addiu $a0, $zero, -0x801
/* B73E58 80240DA8 AE400070 */ sw $zero, 0x70($s2)
/* B73E5C 80240DAC A6A0008E */ sh $zero, 0x8e($s5)
/* B73E60 80240DB0 8E2200CC */ lw $v0, 0xcc($s1)
/* B73E64 80240DB4 8EA30000 */ lw $v1, ($s5)
/* B73E68 80240DB8 8C420000 */ lw $v0, ($v0)
/* B73E6C 80240DBC 00641824 */ and $v1, $v1, $a0
/* B73E70 80240DC0 AEA30000 */ sw $v1, ($s5)
/* B73E74 80240DC4 AEA20028 */ sw $v0, 0x28($s5)
/* B73E78 80240DC8 8E2200D0 */ lw $v0, 0xd0($s1)
/* B73E7C 80240DCC 8C420034 */ lw $v0, 0x34($v0)
/* B73E80 80240DD0 54400005 */ bnel $v0, $zero, .L80240DE8
/* B73E84 80240DD4 2402FDFF */ addiu $v0, $zero, -0x201
/* B73E88 80240DD8 34620200 */ ori $v0, $v1, 0x200
/* B73E8C 80240DDC 2403FFF7 */ addiu $v1, $zero, -9
/* B73E90 80240DE0 0809037C */ j .L80240DF0
/* B73E94 80240DE4 00431024 */ and $v0, $v0, $v1
.L80240DE8:
/* B73E98 80240DE8 00621024 */ and $v0, $v1, $v0
/* B73E9C 80240DEC 34420008 */ ori $v0, $v0, 8
.L80240DF0:
/* B73EA0 80240DF0 AEA20000 */ sw $v0, ($s5)
/* B73EA4 80240DF4 8E2200B0 */ lw $v0, 0xb0($s1)
/* B73EA8 80240DF8 30420004 */ andi $v0, $v0, 4
/* B73EAC 80240DFC 10400007 */ beqz $v0, .L80240E1C
/* B73EB0 80240E00 24020063 */ addiu $v0, $zero, 0x63
/* B73EB4 80240E04 AE420070 */ sw $v0, 0x70($s2)
/* B73EB8 80240E08 AE400074 */ sw $zero, 0x74($s2)
/* B73EBC 80240E0C 8E2200B0 */ lw $v0, 0xb0($s1)
/* B73EC0 80240E10 2403FFFB */ addiu $v1, $zero, -5
/* B73EC4 80240E14 00431024 */ and $v0, $v0, $v1
/* B73EC8 80240E18 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240E1C:
/* B73ECC 80240E1C AE20006C */ sw $zero, 0x6c($s1)
.L80240E20:
/* B73ED0 80240E20 8E420070 */ lw $v0, 0x70($s2)
/* B73ED4 80240E24 2842001E */ slti $v0, $v0, 0x1e
/* B73ED8 80240E28 10400009 */ beqz $v0, .L80240E50
/* B73EDC 80240E2C 00000000 */ nop
/* B73EE0 80240E30 8E22006C */ lw $v0, 0x6c($s1)
/* B73EE4 80240E34 14400006 */ bnez $v0, .L80240E50
/* B73EE8 80240E38 00000000 */ nop
/* B73EEC 80240E3C 0C090237 */ jal func_802408DC_B7398C
/* B73EF0 80240E40 0240202D */ daddu $a0, $s2, $zero
/* B73EF4 80240E44 10400002 */ beqz $v0, .L80240E50
/* B73EF8 80240E48 2402001E */ addiu $v0, $zero, 0x1e
/* B73EFC 80240E4C AE420070 */ sw $v0, 0x70($s2)
.L80240E50:
/* B73F00 80240E50 8E430070 */ lw $v1, 0x70($s2)
/* B73F04 80240E54 2C620064 */ sltiu $v0, $v1, 0x64
/* B73F08 80240E58 10400048 */ beqz $v0, L80240F7C_B7402C
/* B73F0C 80240E5C 00031080 */ sll $v0, $v1, 2
/* B73F10 80240E60 3C018024 */ lui $at, %hi(jtbl_802433E0_B76490)
/* B73F14 80240E64 00220821 */ addu $at, $at, $v0
/* B73F18 80240E68 8C2233E0 */ lw $v0, %lo(jtbl_802433E0_B76490)($at)
/* B73F1C 80240E6C 00400008 */ jr $v0
/* B73F20 80240E70 00000000 */ nop
glabel L80240E74_B73F24
/* B73F24 80240E74 0240202D */ daddu $a0, $s2, $zero
/* B73F28 80240E78 0260282D */ daddu $a1, $s3, $zero
/* B73F2C 80240E7C 0C012568 */ jal func_800495A0
/* B73F30 80240E80 0280302D */ daddu $a2, $s4, $zero
glabel L80240E84_B73F34
/* B73F34 80240E84 0240202D */ daddu $a0, $s2, $zero
/* B73F38 80240E88 0260282D */ daddu $a1, $s3, $zero
/* B73F3C 80240E8C 0C0125AE */ jal func_800496B8
/* B73F40 80240E90 0280302D */ daddu $a2, $s4, $zero
/* B73F44 80240E94 080903DF */ j L80240F7C_B7402C
/* B73F48 80240E98 00000000 */ nop
glabel L80240E9C_B73F4C
/* B73F4C 80240E9C 0240202D */ daddu $a0, $s2, $zero
/* B73F50 80240EA0 0260282D */ daddu $a1, $s3, $zero
/* B73F54 80240EA4 0C0126D1 */ jal base_UnkNpcAIFunc1
/* B73F58 80240EA8 0280302D */ daddu $a2, $s4, $zero
glabel L80240EAC_B73F5C
/* B73F5C 80240EAC 0240202D */ daddu $a0, $s2, $zero
/* B73F60 80240EB0 0260282D */ daddu $a1, $s3, $zero
/* B73F64 80240EB4 0C012701 */ jal func_80049C04
/* B73F68 80240EB8 0280302D */ daddu $a2, $s4, $zero
/* B73F6C 80240EBC 080903DF */ j L80240F7C_B7402C
/* B73F70 80240EC0 00000000 */ nop
glabel L80240EC4_B73F74
/* B73F74 80240EC4 0240202D */ daddu $a0, $s2, $zero
/* B73F78 80240EC8 0260282D */ daddu $a1, $s3, $zero
/* B73F7C 80240ECC 0C01278F */ jal func_80049E3C
/* B73F80 80240ED0 0280302D */ daddu $a2, $s4, $zero
glabel L80240ED4_B73F84
/* B73F84 80240ED4 0240202D */ daddu $a0, $s2, $zero
/* B73F88 80240ED8 0260282D */ daddu $a1, $s3, $zero
/* B73F8C 80240EDC 0C0127B3 */ jal func_80049ECC
/* B73F90 80240EE0 0280302D */ daddu $a2, $s4, $zero
/* B73F94 80240EE4 080903DF */ j L80240F7C_B7402C
/* B73F98 80240EE8 00000000 */ nop
glabel L80240EEC_B73F9C
/* B73F9C 80240EEC 0240202D */ daddu $a0, $s2, $zero
/* B73FA0 80240EF0 0260282D */ daddu $a1, $s3, $zero
/* B73FA4 80240EF4 0C0127DF */ jal func_80049F7C
/* B73FA8 80240EF8 0280302D */ daddu $a2, $s4, $zero
glabel L80240EFC_B73FAC
/* B73FAC 80240EFC 0240202D */ daddu $a0, $s2, $zero
/* B73FB0 80240F00 0260282D */ daddu $a1, $s3, $zero
/* B73FB4 80240F04 0C012849 */ jal func_8004A124
/* B73FB8 80240F08 0280302D */ daddu $a2, $s4, $zero
/* B73FBC 80240F0C 080903DF */ j L80240F7C_B7402C
/* B73FC0 80240F10 00000000 */ nop
glabel L80240F14_B73FC4
/* B73FC4 80240F14 0240202D */ daddu $a0, $s2, $zero
/* B73FC8 80240F18 0260282D */ daddu $a1, $s3, $zero
/* B73FCC 80240F1C 0C0128FA */ jal func_8004A3E8
/* B73FD0 80240F20 0280302D */ daddu $a2, $s4, $zero
/* B73FD4 80240F24 080903DF */ j L80240F7C_B7402C
/* B73FD8 80240F28 00000000 */ nop
glabel L80240F2C_B73FDC
/* B73FDC 80240F2C 0C0901B5 */ jal jan_12_UnkNpcAIFunc6
/* B73FE0 80240F30 0240202D */ daddu $a0, $s2, $zero
glabel L80240F34_B73FE4
/* B73FE4 80240F34 0C0901D0 */ jal jan_12_UnkNpcAIFunc7
/* B73FE8 80240F38 0240202D */ daddu $a0, $s2, $zero
/* B73FEC 80240F3C 8E430070 */ lw $v1, 0x70($s2)
/* B73FF0 80240F40 24020020 */ addiu $v0, $zero, 0x20
/* B73FF4 80240F44 1462000D */ bne $v1, $v0, L80240F7C_B7402C
/* B73FF8 80240F48 00000000 */ nop
glabel L80240F4C_B73FFC
/* B73FFC 80240F4C 0C0901EC */ jal jan_12_UnkNpcAIFunc8
/* B74000 80240F50 0240202D */ daddu $a0, $s2, $zero
/* B74004 80240F54 8E430070 */ lw $v1, 0x70($s2)
/* B74008 80240F58 24020021 */ addiu $v0, $zero, 0x21
/* B7400C 80240F5C 14620007 */ bne $v1, $v0, L80240F7C_B7402C
/* B74010 80240F60 00000000 */ nop
glabel L80240F64_B74014
/* B74014 80240F64 0C090222 */ jal jan_12_UnkNpcAIFunc5
/* B74018 80240F68 0240202D */ daddu $a0, $s2, $zero
/* B7401C 80240F6C 080903DF */ j L80240F7C_B7402C
/* B74020 80240F70 00000000 */ nop
glabel L80240F74_B74024
/* B74024 80240F74 0C0129CF */ jal func_8004A73C
/* B74028 80240F78 0240202D */ daddu $a0, $s2, $zero
glabel L80240F7C_B7402C
/* B7402C 80240F7C 8FBF0048 */ lw $ra, 0x48($sp)
/* B74030 80240F80 8FB50044 */ lw $s5, 0x44($sp)
/* B74034 80240F84 8FB40040 */ lw $s4, 0x40($sp)
/* B74038 80240F88 8FB3003C */ lw $s3, 0x3c($sp)
/* B7403C 80240F8C 8FB20038 */ lw $s2, 0x38($sp)
/* B74040 80240F90 8FB10034 */ lw $s1, 0x34($sp)
/* B74044 80240F94 8FB00030 */ lw $s0, 0x30($sp)
/* B74048 80240F98 0000102D */ daddu $v0, $zero, $zero
/* B7404C 80240F9C 03E00008 */ jr $ra
/* B74050 80240FA0 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,207 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80243570_B76620
.word L80241128_B741D8, L80241138_B741E8, L80241150_B74200, L80241160_B74210, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241178_B74228, L80241188_B74238, L802411A0_B74250, L802411B0_B74260, L802411C8_B74278, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L802411E0_B74290, L802411E8_B74298, L80241200_B742B0, L80241218_B742C8, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241230_B742E0, L80241228_B742D8
.section .text
glabel func_80240FA4_B74054
/* B74054 80240FA4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B74058 80240FA8 AFB20038 */ sw $s2, 0x38($sp)
/* B7405C 80240FAC 0080902D */ daddu $s2, $a0, $zero
/* B74060 80240FB0 AFBF0048 */ sw $ra, 0x48($sp)
/* B74064 80240FB4 AFB50044 */ sw $s5, 0x44($sp)
/* B74068 80240FB8 AFB40040 */ sw $s4, 0x40($sp)
/* B7406C 80240FBC AFB3003C */ sw $s3, 0x3c($sp)
/* B74070 80240FC0 AFB10034 */ sw $s1, 0x34($sp)
/* B74074 80240FC4 AFB00030 */ sw $s0, 0x30($sp)
/* B74078 80240FC8 8E510148 */ lw $s1, 0x148($s2)
/* B7407C 80240FCC 86240008 */ lh $a0, 8($s1)
/* B74080 80240FD0 0C00EABB */ jal get_npc_unsafe
/* B74084 80240FD4 00A0802D */ daddu $s0, $a1, $zero
/* B74088 80240FD8 8E43000C */ lw $v1, 0xc($s2)
/* B7408C 80240FDC 0240202D */ daddu $a0, $s2, $zero
/* B74090 80240FE0 8C650000 */ lw $a1, ($v1)
/* B74094 80240FE4 0C0B1EAF */ jal get_variable
/* B74098 80240FE8 0040A82D */ daddu $s5, $v0, $zero
/* B7409C 80240FEC AFA00010 */ sw $zero, 0x10($sp)
/* B740A0 80240FF0 8E2300D0 */ lw $v1, 0xd0($s1)
/* B740A4 80240FF4 8C630030 */ lw $v1, 0x30($v1)
/* B740A8 80240FF8 AFA30014 */ sw $v1, 0x14($sp)
/* B740AC 80240FFC 8E2300D0 */ lw $v1, 0xd0($s1)
/* B740B0 80241000 8C63001C */ lw $v1, 0x1c($v1)
/* B740B4 80241004 AFA30018 */ sw $v1, 0x18($sp)
/* B740B8 80241008 8E2300D0 */ lw $v1, 0xd0($s1)
/* B740BC 8024100C 8C630024 */ lw $v1, 0x24($v1)
/* B740C0 80241010 AFA3001C */ sw $v1, 0x1c($sp)
/* B740C4 80241014 8E2300D0 */ lw $v1, 0xd0($s1)
/* B740C8 80241018 8C630028 */ lw $v1, 0x28($v1)
/* B740CC 8024101C 27B40010 */ addiu $s4, $sp, 0x10
/* B740D0 80241020 AFA30020 */ sw $v1, 0x20($sp)
/* B740D4 80241024 8E2300D0 */ lw $v1, 0xd0($s1)
/* B740D8 80241028 3C014282 */ lui $at, 0x4282
/* B740DC 8024102C 44810000 */ mtc1 $at, $f0
/* B740E0 80241030 8C63002C */ lw $v1, 0x2c($v1)
/* B740E4 80241034 0040982D */ daddu $s3, $v0, $zero
/* B740E8 80241038 E7A00028 */ swc1 $f0, 0x28($sp)
/* B740EC 8024103C A7A0002C */ sh $zero, 0x2c($sp)
/* B740F0 80241040 16000005 */ bnez $s0, .L80241058
/* B740F4 80241044 AFA30024 */ sw $v1, 0x24($sp)
/* B740F8 80241048 8E2200B0 */ lw $v0, 0xb0($s1)
/* B740FC 8024104C 30420004 */ andi $v0, $v0, 4
/* B74100 80241050 10400020 */ beqz $v0, .L802410D4
/* B74104 80241054 00000000 */ nop
.L80241058:
/* B74108 80241058 2404F7FF */ addiu $a0, $zero, -0x801
/* B7410C 8024105C AE400070 */ sw $zero, 0x70($s2)
/* B74110 80241060 A6A0008E */ sh $zero, 0x8e($s5)
/* B74114 80241064 8E2200CC */ lw $v0, 0xcc($s1)
/* B74118 80241068 8EA30000 */ lw $v1, ($s5)
/* B7411C 8024106C 8C420000 */ lw $v0, ($v0)
/* B74120 80241070 00641824 */ and $v1, $v1, $a0
/* B74124 80241074 AEA30000 */ sw $v1, ($s5)
/* B74128 80241078 AEA20028 */ sw $v0, 0x28($s5)
/* B7412C 8024107C 8E2200D0 */ lw $v0, 0xd0($s1)
/* B74130 80241080 8C420034 */ lw $v0, 0x34($v0)
/* B74134 80241084 54400005 */ bnel $v0, $zero, .L8024109C
/* B74138 80241088 2402FDFF */ addiu $v0, $zero, -0x201
/* B7413C 8024108C 34620200 */ ori $v0, $v1, 0x200
/* B74140 80241090 2403FFF7 */ addiu $v1, $zero, -9
/* B74144 80241094 08090429 */ j .L802410A4
/* B74148 80241098 00431024 */ and $v0, $v0, $v1
.L8024109C:
/* B7414C 8024109C 00621024 */ and $v0, $v1, $v0
/* B74150 802410A0 34420008 */ ori $v0, $v0, 8
.L802410A4:
/* B74154 802410A4 AEA20000 */ sw $v0, ($s5)
/* B74158 802410A8 8E2200B0 */ lw $v0, 0xb0($s1)
/* B7415C 802410AC 30420004 */ andi $v0, $v0, 4
/* B74160 802410B0 10400007 */ beqz $v0, .L802410D0
/* B74164 802410B4 24020063 */ addiu $v0, $zero, 0x63
/* B74168 802410B8 AE420070 */ sw $v0, 0x70($s2)
/* B7416C 802410BC AE400074 */ sw $zero, 0x74($s2)
/* B74170 802410C0 8E2200B0 */ lw $v0, 0xb0($s1)
/* B74174 802410C4 2403FFFB */ addiu $v1, $zero, -5
/* B74178 802410C8 00431024 */ and $v0, $v0, $v1
/* B7417C 802410CC AE2200B0 */ sw $v0, 0xb0($s1)
.L802410D0:
/* B74180 802410D0 AE20006C */ sw $zero, 0x6c($s1)
.L802410D4:
/* B74184 802410D4 8E420070 */ lw $v0, 0x70($s2)
/* B74188 802410D8 2842001E */ slti $v0, $v0, 0x1e
/* B7418C 802410DC 10400009 */ beqz $v0, .L80241104
/* B74190 802410E0 00000000 */ nop
/* B74194 802410E4 8E22006C */ lw $v0, 0x6c($s1)
/* B74198 802410E8 14400006 */ bnez $v0, .L80241104
/* B7419C 802410EC 00000000 */ nop
/* B741A0 802410F0 0C090237 */ jal func_802408DC_B7398C
/* B741A4 802410F4 0240202D */ daddu $a0, $s2, $zero
/* B741A8 802410F8 10400002 */ beqz $v0, .L80241104
/* B741AC 802410FC 2402001E */ addiu $v0, $zero, 0x1e
/* B741B0 80241100 AE420070 */ sw $v0, 0x70($s2)
.L80241104:
/* B741B4 80241104 8E430070 */ lw $v1, 0x70($s2)
/* B741B8 80241108 2C620064 */ sltiu $v0, $v1, 0x64
/* B741BC 8024110C 10400048 */ beqz $v0, L80241230_B742E0
/* B741C0 80241110 00031080 */ sll $v0, $v1, 2
/* B741C4 80241114 3C018024 */ lui $at, %hi(jtbl_80243570_B76620)
/* B741C8 80241118 00220821 */ addu $at, $at, $v0
/* B741CC 8024111C 8C223570 */ lw $v0, %lo(jtbl_80243570_B76620)($at)
/* B741D0 80241120 00400008 */ jr $v0
/* B741D4 80241124 00000000 */ nop
glabel L80241128_B741D8
/* B741D8 80241128 0240202D */ daddu $a0, $s2, $zero
/* B741DC 8024112C 0260282D */ daddu $a1, $s3, $zero
/* B741E0 80241130 0C012568 */ jal func_800495A0
/* B741E4 80241134 0280302D */ daddu $a2, $s4, $zero
glabel L80241138_B741E8
/* B741E8 80241138 0240202D */ daddu $a0, $s2, $zero
/* B741EC 8024113C 0260282D */ daddu $a1, $s3, $zero
/* B741F0 80241140 0C0125AE */ jal func_800496B8
/* B741F4 80241144 0280302D */ daddu $a2, $s4, $zero
/* B741F8 80241148 0809048C */ j L80241230_B742E0
/* B741FC 8024114C 00000000 */ nop
glabel L80241150_B74200
/* B74200 80241150 0240202D */ daddu $a0, $s2, $zero
/* B74204 80241154 0260282D */ daddu $a1, $s3, $zero
/* B74208 80241158 0C090130 */ jal jan_12_UnkNpcAIFunc4
/* B7420C 8024115C 0280302D */ daddu $a2, $s4, $zero
glabel L80241160_B74210
/* B74210 80241160 0240202D */ daddu $a0, $s2, $zero
/* B74214 80241164 0260282D */ daddu $a1, $s3, $zero
/* B74218 80241168 0C090144 */ jal func_80240510_B735C0
/* B7421C 8024116C 0280302D */ daddu $a2, $s4, $zero
/* B74220 80241170 0809048C */ j L80241230_B742E0
/* B74224 80241174 00000000 */ nop
glabel L80241178_B74228
/* B74228 80241178 0240202D */ daddu $a0, $s2, $zero
/* B7422C 8024117C 0260282D */ daddu $a1, $s3, $zero
/* B74230 80241180 0C01278F */ jal func_80049E3C
/* B74234 80241184 0280302D */ daddu $a2, $s4, $zero
glabel L80241188_B74238
/* B74238 80241188 0240202D */ daddu $a0, $s2, $zero
/* B7423C 8024118C 0260282D */ daddu $a1, $s3, $zero
/* B74240 80241190 0C0127B3 */ jal func_80049ECC
/* B74244 80241194 0280302D */ daddu $a2, $s4, $zero
/* B74248 80241198 0809048C */ j L80241230_B742E0
/* B7424C 8024119C 00000000 */ nop
glabel L802411A0_B74250
/* B74250 802411A0 0240202D */ daddu $a0, $s2, $zero
/* B74254 802411A4 0260282D */ daddu $a1, $s3, $zero
/* B74258 802411A8 0C0127DF */ jal func_80049F7C
/* B7425C 802411AC 0280302D */ daddu $a2, $s4, $zero
glabel L802411B0_B74260
/* B74260 802411B0 0240202D */ daddu $a0, $s2, $zero
/* B74264 802411B4 0260282D */ daddu $a1, $s3, $zero
/* B74268 802411B8 0C012849 */ jal func_8004A124
/* B7426C 802411BC 0280302D */ daddu $a2, $s4, $zero
/* B74270 802411C0 0809048C */ j L80241230_B742E0
/* B74274 802411C4 00000000 */ nop
glabel L802411C8_B74278
/* B74278 802411C8 0240202D */ daddu $a0, $s2, $zero
/* B7427C 802411CC 0260282D */ daddu $a1, $s3, $zero
/* B74280 802411D0 0C0128FA */ jal func_8004A3E8
/* B74284 802411D4 0280302D */ daddu $a2, $s4, $zero
/* B74288 802411D8 0809048C */ j L80241230_B742E0
/* B7428C 802411DC 00000000 */ nop
glabel L802411E0_B74290
/* B74290 802411E0 0C0901B5 */ jal jan_12_UnkNpcAIFunc6
/* B74294 802411E4 0240202D */ daddu $a0, $s2, $zero
glabel L802411E8_B74298
/* B74298 802411E8 0C0901D0 */ jal jan_12_UnkNpcAIFunc7
/* B7429C 802411EC 0240202D */ daddu $a0, $s2, $zero
/* B742A0 802411F0 8E430070 */ lw $v1, 0x70($s2)
/* B742A4 802411F4 24020020 */ addiu $v0, $zero, 0x20
/* B742A8 802411F8 1462000D */ bne $v1, $v0, L80241230_B742E0
/* B742AC 802411FC 00000000 */ nop
glabel L80241200_B742B0
/* B742B0 80241200 0C0901EC */ jal jan_12_UnkNpcAIFunc8
/* B742B4 80241204 0240202D */ daddu $a0, $s2, $zero
/* B742B8 80241208 8E430070 */ lw $v1, 0x70($s2)
/* B742BC 8024120C 24020021 */ addiu $v0, $zero, 0x21
/* B742C0 80241210 14620007 */ bne $v1, $v0, L80241230_B742E0
/* B742C4 80241214 00000000 */ nop
glabel L80241218_B742C8
/* B742C8 80241218 0C090222 */ jal jan_12_UnkNpcAIFunc5
/* B742CC 8024121C 0240202D */ daddu $a0, $s2, $zero
/* B742D0 80241220 0809048C */ j L80241230_B742E0
/* B742D4 80241224 00000000 */ nop
glabel L80241228_B742D8
/* B742D8 80241228 0C0129CF */ jal func_8004A73C
/* B742DC 8024122C 0240202D */ daddu $a0, $s2, $zero
glabel L80241230_B742E0
/* B742E0 80241230 8FBF0048 */ lw $ra, 0x48($sp)
/* B742E4 80241234 8FB50044 */ lw $s5, 0x44($sp)
/* B742E8 80241238 8FB40040 */ lw $s4, 0x40($sp)
/* B742EC 8024123C 8FB3003C */ lw $s3, 0x3c($sp)
/* B742F0 80241240 8FB20038 */ lw $s2, 0x38($sp)
/* B742F4 80241244 8FB10034 */ lw $s1, 0x34($sp)
/* B742F8 80241248 8FB00030 */ lw $s0, 0x30($sp)
/* B742FC 8024124C 0000102D */ daddu $v0, $zero, $zero
/* B74300 80241250 03E00008 */ jr $ra
/* B74304 80241254 27BD0050 */ addiu $sp, $sp, 0x50
/* B74308 80241258 00000000 */ nop
/* B7430C 8024125C 00000000 */ nop

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80247240_C67F50
.double 180.0
.section .text
glabel func_80240E00_C61B10
/* C61B10 80240E00 27BDFFD0 */ addiu $sp, $sp, -0x30
/* C61B14 80240E04 AFBF0024 */ sw $ra, 0x24($sp)
/* C61B18 80240E08 AFB40020 */ sw $s4, 0x20($sp)
/* C61B1C 80240E0C AFB3001C */ sw $s3, 0x1c($sp)
/* C61B20 80240E10 AFB20018 */ sw $s2, 0x18($sp)
/* C61B24 80240E14 AFB10014 */ sw $s1, 0x14($sp)
/* C61B28 80240E18 AFB00010 */ sw $s0, 0x10($sp)
/* C61B2C 80240E1C F7B40028 */ sdc1 $f20, 0x28($sp)
/* C61B30 80240E20 8C900148 */ lw $s0, 0x148($a0)
/* C61B34 80240E24 86040008 */ lh $a0, 8($s0)
/* C61B38 80240E28 0C00EABB */ jal get_npc_unsafe
/* C61B3C 80240E2C 24110001 */ addiu $s1, $zero, 1
/* C61B40 80240E30 86040008 */ lh $a0, 8($s0)
/* C61B44 80240E34 0040802D */ daddu $s0, $v0, $zero
/* C61B48 80240E38 3C05800B */ lui $a1, %hi(gCameras)
/* C61B4C 80240E3C 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* C61B50 80240E40 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* C61B54 80240E44 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* C61B58 80240E48 00912021 */ addu $a0, $a0, $s1
/* C61B5C 80240E4C 00031080 */ sll $v0, $v1, 2
/* C61B60 80240E50 00431021 */ addu $v0, $v0, $v1
/* C61B64 80240E54 00021080 */ sll $v0, $v0, 2
/* C61B68 80240E58 00431023 */ subu $v0, $v0, $v1
/* C61B6C 80240E5C 000218C0 */ sll $v1, $v0, 3
/* C61B70 80240E60 00431021 */ addu $v0, $v0, $v1
/* C61B74 80240E64 000210C0 */ sll $v0, $v0, 3
/* C61B78 80240E68 0C00FB3A */ jal get_enemy
/* C61B7C 80240E6C 00459021 */ addu $s2, $v0, $a1
/* C61B80 80240E70 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* C61B84 80240E74 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* C61B88 80240E78 C60C0038 */ lwc1 $f12, 0x38($s0)
/* C61B8C 80240E7C 8E830000 */ lw $v1, ($s4)
/* C61B90 80240E80 C60E0040 */ lwc1 $f14, 0x40($s0)
/* C61B94 80240E84 8C660028 */ lw $a2, 0x28($v1)
/* C61B98 80240E88 8C670030 */ lw $a3, 0x30($v1)
/* C61B9C 80240E8C 0C00A7B5 */ jal dist2D
/* C61BA0 80240E90 0040982D */ daddu $s3, $v0, $zero
/* C61BA4 80240E94 C6620074 */ lwc1 $f2, 0x74($s3)
/* C61BA8 80240E98 468010A0 */ cvt.s.w $f2, $f2
/* C61BAC 80240E9C 4600103C */ c.lt.s $f2, $f0
/* C61BB0 80240EA0 00000000 */ nop
/* C61BB4 80240EA4 45030001 */ bc1tl .L80240EAC
/* C61BB8 80240EA8 0000882D */ daddu $s1, $zero, $zero
.L80240EAC:
/* C61BBC 80240EAC C64C006C */ lwc1 $f12, 0x6c($s2)
/* C61BC0 80240EB0 C60E000C */ lwc1 $f14, 0xc($s0)
/* C61BC4 80240EB4 3C014387 */ lui $at, 0x4387
/* C61BC8 80240EB8 4481A000 */ mtc1 $at, $f20
/* C61BCC 80240EBC 0C00A70A */ jal get_clamped_angle_diff
/* C61BD0 80240EC0 00000000 */ nop
/* C61BD4 80240EC4 0C00A6C9 */ jal clamp_angle
/* C61BD8 80240EC8 46000306 */ mov.s $f12, $f0
/* C61BDC 80240ECC 3C018024 */ lui $at, %hi(D_80247240_C67F50)
/* C61BE0 80240ED0 D4227240 */ ldc1 $f2, %lo(D_80247240_C67F50)($at)
/* C61BE4 80240ED4 46000021 */ cvt.d.s $f0, $f0
/* C61BE8 80240ED8 4622003C */ c.lt.d $f0, $f2
/* C61BEC 80240EDC 00000000 */ nop
/* C61BF0 80240EE0 45000003 */ bc1f .L80240EF0
/* C61BF4 80240EE4 00000000 */ nop
/* C61BF8 80240EE8 3C0142B4 */ lui $at, 0x42b4
/* C61BFC 80240EEC 4481A000 */ mtc1 $at, $f20
.L80240EF0:
/* C61C00 80240EF0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* C61C04 80240EF4 8E820000 */ lw $v0, ($s4)
/* C61C08 80240EF8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* C61C0C 80240EFC 8C460028 */ lw $a2, 0x28($v0)
/* C61C10 80240F00 0C00A720 */ jal atan2
/* C61C14 80240F04 8C470030 */ lw $a3, 0x30($v0)
/* C61C18 80240F08 4600A306 */ mov.s $f12, $f20
/* C61C1C 80240F0C 0C00A70A */ jal get_clamped_angle_diff
/* C61C20 80240F10 46000386 */ mov.s $f14, $f0
/* C61C24 80240F14 C6620078 */ lwc1 $f2, 0x78($s3)
/* C61C28 80240F18 468010A0 */ cvt.s.w $f2, $f2
/* C61C2C 80240F1C 46000005 */ abs.s $f0, $f0
/* C61C30 80240F20 4600103C */ c.lt.s $f2, $f0
/* C61C34 80240F24 00000000 */ nop
/* C61C38 80240F28 45030001 */ bc1tl .L80240F30
/* C61C3C 80240F2C 0000882D */ daddu $s1, $zero, $zero
.L80240F30:
/* C61C40 80240F30 8E820000 */ lw $v0, ($s4)
/* C61C44 80240F34 C600003C */ lwc1 $f0, 0x3c($s0)
/* C61C48 80240F38 C442002C */ lwc1 $f2, 0x2c($v0)
/* C61C4C 80240F3C 860200A8 */ lh $v0, 0xa8($s0)
/* C61C50 80240F40 46020001 */ sub.s $f0, $f0, $f2
/* C61C54 80240F44 44821000 */ mtc1 $v0, $f2
/* C61C58 80240F48 00000000 */ nop
/* C61C5C 80240F4C 468010A1 */ cvt.d.w $f2, $f2
/* C61C60 80240F50 46221080 */ add.d $f2, $f2, $f2
/* C61C64 80240F54 46000005 */ abs.s $f0, $f0
/* C61C68 80240F58 46000021 */ cvt.d.s $f0, $f0
/* C61C6C 80240F5C 4620103E */ c.le.d $f2, $f0
/* C61C70 80240F60 00000000 */ nop
/* C61C74 80240F64 45030001 */ bc1tl .L80240F6C
/* C61C78 80240F68 0000882D */ daddu $s1, $zero, $zero
.L80240F6C:
/* C61C7C 80240F6C 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* C61C80 80240F70 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* C61C84 80240F74 24020009 */ addiu $v0, $zero, 9
/* C61C88 80240F78 50620001 */ beql $v1, $v0, .L80240F80
/* C61C8C 80240F7C 0000882D */ daddu $s1, $zero, $zero
.L80240F80:
/* C61C90 80240F80 24020007 */ addiu $v0, $zero, 7
/* C61C94 80240F84 50620001 */ beql $v1, $v0, .L80240F8C
/* C61C98 80240F88 0000882D */ daddu $s1, $zero, $zero
.L80240F8C:
/* C61C9C 80240F8C 0220102D */ daddu $v0, $s1, $zero
/* C61CA0 80240F90 8FBF0024 */ lw $ra, 0x24($sp)
/* C61CA4 80240F94 8FB40020 */ lw $s4, 0x20($sp)
/* C61CA8 80240F98 8FB3001C */ lw $s3, 0x1c($sp)
/* C61CAC 80240F9C 8FB20018 */ lw $s2, 0x18($sp)
/* C61CB0 80240FA0 8FB10014 */ lw $s1, 0x14($sp)
/* C61CB4 80240FA4 8FB00010 */ lw $s0, 0x10($sp)
/* C61CB8 80240FA8 D7B40028 */ ldc1 $f20, 0x28($sp)
/* C61CBC 80240FAC 03E00008 */ jr $ra
/* C61CC0 80240FB0 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80247248_C67F58
.word L80241398_C620A8, L802413A8_C620B8, L802413C0_C620D0, L802413D0_C620E0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802413E8_C620F8, L802413F8_C62108, L80241410_C62120, L80241420_C62130, L80241438_C62148, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L80241450_C62160, L80241458_C62168, L80241470_C62180, L80241488_C62198, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L802414A0_C621B0, L80241498_C621A8
.section .text
glabel func_80241214_C61F24
/* C61F24 80241214 27BDFFB0 */ addiu $sp, $sp, -0x50
/* C61F28 80241218 AFB20038 */ sw $s2, 0x38($sp)
/* C61F2C 8024121C 0080902D */ daddu $s2, $a0, $zero
/* C61F30 80241220 AFBF0048 */ sw $ra, 0x48($sp)
/* C61F34 80241224 AFB50044 */ sw $s5, 0x44($sp)
/* C61F38 80241228 AFB40040 */ sw $s4, 0x40($sp)
/* C61F3C 8024122C AFB3003C */ sw $s3, 0x3c($sp)
/* C61F40 80241230 AFB10034 */ sw $s1, 0x34($sp)
/* C61F44 80241234 AFB00030 */ sw $s0, 0x30($sp)
/* C61F48 80241238 8E510148 */ lw $s1, 0x148($s2)
/* C61F4C 8024123C 86240008 */ lh $a0, 8($s1)
/* C61F50 80241240 0C00EABB */ jal get_npc_unsafe
/* C61F54 80241244 00A0802D */ daddu $s0, $a1, $zero
/* C61F58 80241248 8E43000C */ lw $v1, 0xc($s2)
/* C61F5C 8024124C 0240202D */ daddu $a0, $s2, $zero
/* C61F60 80241250 8C650000 */ lw $a1, ($v1)
/* C61F64 80241254 0C0B1EAF */ jal get_variable
/* C61F68 80241258 0040A82D */ daddu $s5, $v0, $zero
/* C61F6C 8024125C AFA00010 */ sw $zero, 0x10($sp)
/* C61F70 80241260 8E2300D0 */ lw $v1, 0xd0($s1)
/* C61F74 80241264 8C630030 */ lw $v1, 0x30($v1)
/* C61F78 80241268 AFA30014 */ sw $v1, 0x14($sp)
/* C61F7C 8024126C 8E2300D0 */ lw $v1, 0xd0($s1)
/* C61F80 80241270 8C63001C */ lw $v1, 0x1c($v1)
/* C61F84 80241274 AFA30018 */ sw $v1, 0x18($sp)
/* C61F88 80241278 8E2300D0 */ lw $v1, 0xd0($s1)
/* C61F8C 8024127C 8C630024 */ lw $v1, 0x24($v1)
/* C61F90 80241280 AFA3001C */ sw $v1, 0x1c($sp)
/* C61F94 80241284 8E2300D0 */ lw $v1, 0xd0($s1)
/* C61F98 80241288 8C630028 */ lw $v1, 0x28($v1)
/* C61F9C 8024128C 27B40010 */ addiu $s4, $sp, 0x10
/* C61FA0 80241290 AFA30020 */ sw $v1, 0x20($sp)
/* C61FA4 80241294 8E2300D0 */ lw $v1, 0xd0($s1)
/* C61FA8 80241298 3C014282 */ lui $at, 0x4282
/* C61FAC 8024129C 44810000 */ mtc1 $at, $f0
/* C61FB0 802412A0 8C63002C */ lw $v1, 0x2c($v1)
/* C61FB4 802412A4 0040982D */ daddu $s3, $v0, $zero
/* C61FB8 802412A8 E7A00028 */ swc1 $f0, 0x28($sp)
/* C61FBC 802412AC A7A0002C */ sh $zero, 0x2c($sp)
/* C61FC0 802412B0 16000005 */ bnez $s0, .L802412C8
/* C61FC4 802412B4 AFA30024 */ sw $v1, 0x24($sp)
/* C61FC8 802412B8 8E2200B0 */ lw $v0, 0xb0($s1)
/* C61FCC 802412BC 30420004 */ andi $v0, $v0, 4
/* C61FD0 802412C0 10400020 */ beqz $v0, .L80241344
/* C61FD4 802412C4 00000000 */ nop
.L802412C8:
/* C61FD8 802412C8 2404F7FF */ addiu $a0, $zero, -0x801
/* C61FDC 802412CC AE400070 */ sw $zero, 0x70($s2)
/* C61FE0 802412D0 A6A0008E */ sh $zero, 0x8e($s5)
/* C61FE4 802412D4 8E2200CC */ lw $v0, 0xcc($s1)
/* C61FE8 802412D8 8EA30000 */ lw $v1, ($s5)
/* C61FEC 802412DC 8C420000 */ lw $v0, ($v0)
/* C61FF0 802412E0 00641824 */ and $v1, $v1, $a0
/* C61FF4 802412E4 AEA30000 */ sw $v1, ($s5)
/* C61FF8 802412E8 AEA20028 */ sw $v0, 0x28($s5)
/* C61FFC 802412EC 8E2200D0 */ lw $v0, 0xd0($s1)
/* C62000 802412F0 8C420034 */ lw $v0, 0x34($v0)
/* C62004 802412F4 54400005 */ bnel $v0, $zero, .L8024130C
/* C62008 802412F8 2402FDFF */ addiu $v0, $zero, -0x201
/* C6200C 802412FC 34620200 */ ori $v0, $v1, 0x200
/* C62010 80241300 2403FFF7 */ addiu $v1, $zero, -9
/* C62014 80241304 080904C5 */ j .L80241314
/* C62018 80241308 00431024 */ and $v0, $v0, $v1
.L8024130C:
/* C6201C 8024130C 00621024 */ and $v0, $v1, $v0
/* C62020 80241310 34420008 */ ori $v0, $v0, 8
.L80241314:
/* C62024 80241314 AEA20000 */ sw $v0, ($s5)
/* C62028 80241318 8E2200B0 */ lw $v0, 0xb0($s1)
/* C6202C 8024131C 30420004 */ andi $v0, $v0, 4
/* C62030 80241320 10400007 */ beqz $v0, .L80241340
/* C62034 80241324 24020063 */ addiu $v0, $zero, 0x63
/* C62038 80241328 AE420070 */ sw $v0, 0x70($s2)
/* C6203C 8024132C AE400074 */ sw $zero, 0x74($s2)
/* C62040 80241330 8E2200B0 */ lw $v0, 0xb0($s1)
/* C62044 80241334 2403FFFB */ addiu $v1, $zero, -5
/* C62048 80241338 00431024 */ and $v0, $v0, $v1
/* C6204C 8024133C AE2200B0 */ sw $v0, 0xb0($s1)
.L80241340:
/* C62050 80241340 AE20006C */ sw $zero, 0x6c($s1)
.L80241344:
/* C62054 80241344 8E420070 */ lw $v0, 0x70($s2)
/* C62058 80241348 2842001E */ slti $v0, $v0, 0x1e
/* C6205C 8024134C 10400009 */ beqz $v0, .L80241374
/* C62060 80241350 00000000 */ nop
/* C62064 80241354 8E22006C */ lw $v0, 0x6c($s1)
/* C62068 80241358 14400006 */ bnez $v0, .L80241374
/* C6206C 8024135C 00000000 */ nop
/* C62070 80241360 0C090380 */ jal func_80240E00_C61B10
/* C62074 80241364 0240202D */ daddu $a0, $s2, $zero
/* C62078 80241368 10400002 */ beqz $v0, .L80241374
/* C6207C 8024136C 2402001E */ addiu $v0, $zero, 0x1e
/* C62080 80241370 AE420070 */ sw $v0, 0x70($s2)
.L80241374:
/* C62084 80241374 8E430070 */ lw $v1, 0x70($s2)
/* C62088 80241378 2C620064 */ sltiu $v0, $v1, 0x64
/* C6208C 8024137C 10400048 */ beqz $v0, L802414A0_C621B0
/* C62090 80241380 00031080 */ sll $v0, $v1, 2
/* C62094 80241384 3C018024 */ lui $at, %hi(jtbl_80247248_C67F58)
/* C62098 80241388 00220821 */ addu $at, $at, $v0
/* C6209C 8024138C 8C227248 */ lw $v0, %lo(jtbl_80247248_C67F58)($at)
/* C620A0 80241390 00400008 */ jr $v0
/* C620A4 80241394 00000000 */ nop
glabel L80241398_C620A8
/* C620A8 80241398 0240202D */ daddu $a0, $s2, $zero
/* C620AC 8024139C 0260282D */ daddu $a1, $s3, $zero
/* C620B0 802413A0 0C012568 */ jal func_800495A0
/* C620B4 802413A4 0280302D */ daddu $a2, $s4, $zero
glabel L802413A8_C620B8
/* C620B8 802413A8 0240202D */ daddu $a0, $s2, $zero
/* C620BC 802413AC 0260282D */ daddu $a1, $s3, $zero
/* C620C0 802413B0 0C0125AE */ jal func_800496B8
/* C620C4 802413B4 0280302D */ daddu $a2, $s4, $zero
/* C620C8 802413B8 08090528 */ j L802414A0_C621B0
/* C620CC 802413BC 00000000 */ nop
glabel L802413C0_C620D0
/* C620D0 802413C0 0240202D */ daddu $a0, $s2, $zero
/* C620D4 802413C4 0260282D */ daddu $a1, $s3, $zero
/* C620D8 802413C8 0C0126D1 */ jal base_UnkNpcAIFunc1
/* C620DC 802413CC 0280302D */ daddu $a2, $s4, $zero
glabel L802413D0_C620E0
/* C620E0 802413D0 0240202D */ daddu $a0, $s2, $zero
/* C620E4 802413D4 0260282D */ daddu $a1, $s3, $zero
/* C620E8 802413D8 0C012701 */ jal func_80049C04
/* C620EC 802413DC 0280302D */ daddu $a2, $s4, $zero
/* C620F0 802413E0 08090528 */ j L802414A0_C621B0
/* C620F4 802413E4 00000000 */ nop
glabel L802413E8_C620F8
/* C620F8 802413E8 0240202D */ daddu $a0, $s2, $zero
/* C620FC 802413EC 0260282D */ daddu $a1, $s3, $zero
/* C62100 802413F0 0C01278F */ jal func_80049E3C
/* C62104 802413F4 0280302D */ daddu $a2, $s4, $zero
glabel L802413F8_C62108
/* C62108 802413F8 0240202D */ daddu $a0, $s2, $zero
/* C6210C 802413FC 0260282D */ daddu $a1, $s3, $zero
/* C62110 80241400 0C0127B3 */ jal func_80049ECC
/* C62114 80241404 0280302D */ daddu $a2, $s4, $zero
/* C62118 80241408 08090528 */ j L802414A0_C621B0
/* C6211C 8024140C 00000000 */ nop
glabel L80241410_C62120
/* C62120 80241410 0240202D */ daddu $a0, $s2, $zero
/* C62124 80241414 0260282D */ daddu $a1, $s3, $zero
/* C62128 80241418 0C0127DF */ jal func_80049F7C
/* C6212C 8024141C 0280302D */ daddu $a2, $s4, $zero
glabel L80241420_C62130
/* C62130 80241420 0240202D */ daddu $a0, $s2, $zero
/* C62134 80241424 0260282D */ daddu $a1, $s3, $zero
/* C62138 80241428 0C012849 */ jal func_8004A124
/* C6213C 8024142C 0280302D */ daddu $a2, $s4, $zero
/* C62140 80241430 08090528 */ j L802414A0_C621B0
/* C62144 80241434 00000000 */ nop
glabel L80241438_C62148
/* C62148 80241438 0240202D */ daddu $a0, $s2, $zero
/* C6214C 8024143C 0260282D */ daddu $a1, $s3, $zero
/* C62150 80241440 0C0128FA */ jal func_8004A3E8
/* C62154 80241444 0280302D */ daddu $a2, $s4, $zero
/* C62158 80241448 08090528 */ j L802414A0_C621B0
/* C6215C 8024144C 00000000 */ nop
glabel L80241450_C62160
/* C62160 80241450 0C0902FE */ jal kzn_03_UnkNpcAIFunc6
/* C62164 80241454 0240202D */ daddu $a0, $s2, $zero
glabel L80241458_C62168
/* C62168 80241458 0C090319 */ jal kzn_03_UnkNpcAIFunc7
/* C6216C 8024145C 0240202D */ daddu $a0, $s2, $zero
/* C62170 80241460 8E430070 */ lw $v1, 0x70($s2)
/* C62174 80241464 24020020 */ addiu $v0, $zero, 0x20
/* C62178 80241468 1462000D */ bne $v1, $v0, L802414A0_C621B0
/* C6217C 8024146C 00000000 */ nop
glabel L80241470_C62180
/* C62180 80241470 0C090335 */ jal kzn_03_UnkNpcAIFunc8
/* C62184 80241474 0240202D */ daddu $a0, $s2, $zero
/* C62188 80241478 8E430070 */ lw $v1, 0x70($s2)
/* C6218C 8024147C 24020021 */ addiu $v0, $zero, 0x21
/* C62190 80241480 14620007 */ bne $v1, $v0, L802414A0_C621B0
/* C62194 80241484 00000000 */ nop
glabel L80241488_C62198
/* C62198 80241488 0C09036B */ jal kzn_03_UnkNpcAIFunc5
/* C6219C 8024148C 0240202D */ daddu $a0, $s2, $zero
/* C621A0 80241490 08090528 */ j L802414A0_C621B0
/* C621A4 80241494 00000000 */ nop
glabel L80241498_C621A8
/* C621A8 80241498 0C0129CF */ jal func_8004A73C
/* C621AC 8024149C 0240202D */ daddu $a0, $s2, $zero
glabel L802414A0_C621B0
/* C621B0 802414A0 8FBF0048 */ lw $ra, 0x48($sp)
/* C621B4 802414A4 8FB50044 */ lw $s5, 0x44($sp)
/* C621B8 802414A8 8FB40040 */ lw $s4, 0x40($sp)
/* C621BC 802414AC 8FB3003C */ lw $s3, 0x3c($sp)
/* C621C0 802414B0 8FB20038 */ lw $s2, 0x38($sp)
/* C621C4 802414B4 8FB10034 */ lw $s1, 0x34($sp)
/* C621C8 802414B8 8FB00030 */ lw $s0, 0x30($sp)
/* C621CC 802414BC 0000102D */ daddu $v0, $zero, $zero
/* C621D0 802414C0 03E00008 */ jr $ra
/* C621D4 802414C4 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80245698_C76B18
.double 180.0
.section .text
glabel func_80242744_C73BC4
/* C73BC4 80242744 27BDFFD0 */ addiu $sp, $sp, -0x30
/* C73BC8 80242748 AFBF0024 */ sw $ra, 0x24($sp)
/* C73BCC 8024274C AFB40020 */ sw $s4, 0x20($sp)
/* C73BD0 80242750 AFB3001C */ sw $s3, 0x1c($sp)
/* C73BD4 80242754 AFB20018 */ sw $s2, 0x18($sp)
/* C73BD8 80242758 AFB10014 */ sw $s1, 0x14($sp)
/* C73BDC 8024275C AFB00010 */ sw $s0, 0x10($sp)
/* C73BE0 80242760 F7B40028 */ sdc1 $f20, 0x28($sp)
/* C73BE4 80242764 8C900148 */ lw $s0, 0x148($a0)
/* C73BE8 80242768 86040008 */ lh $a0, 8($s0)
/* C73BEC 8024276C 0C00EABB */ jal get_npc_unsafe
/* C73BF0 80242770 24110001 */ addiu $s1, $zero, 1
/* C73BF4 80242774 86040008 */ lh $a0, 8($s0)
/* C73BF8 80242778 0040802D */ daddu $s0, $v0, $zero
/* C73BFC 8024277C 3C05800B */ lui $a1, %hi(gCameras)
/* C73C00 80242780 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* C73C04 80242784 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* C73C08 80242788 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* C73C0C 8024278C 00912021 */ addu $a0, $a0, $s1
/* C73C10 80242790 00031080 */ sll $v0, $v1, 2
/* C73C14 80242794 00431021 */ addu $v0, $v0, $v1
/* C73C18 80242798 00021080 */ sll $v0, $v0, 2
/* C73C1C 8024279C 00431023 */ subu $v0, $v0, $v1
/* C73C20 802427A0 000218C0 */ sll $v1, $v0, 3
/* C73C24 802427A4 00431021 */ addu $v0, $v0, $v1
/* C73C28 802427A8 000210C0 */ sll $v0, $v0, 3
/* C73C2C 802427AC 0C00FB3A */ jal get_enemy
/* C73C30 802427B0 00459021 */ addu $s2, $v0, $a1
/* C73C34 802427B4 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* C73C38 802427B8 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* C73C3C 802427BC C60C0038 */ lwc1 $f12, 0x38($s0)
/* C73C40 802427C0 8E830000 */ lw $v1, ($s4)
/* C73C44 802427C4 C60E0040 */ lwc1 $f14, 0x40($s0)
/* C73C48 802427C8 8C660028 */ lw $a2, 0x28($v1)
/* C73C4C 802427CC 8C670030 */ lw $a3, 0x30($v1)
/* C73C50 802427D0 0C00A7B5 */ jal dist2D
/* C73C54 802427D4 0040982D */ daddu $s3, $v0, $zero
/* C73C58 802427D8 C6620074 */ lwc1 $f2, 0x74($s3)
/* C73C5C 802427DC 468010A0 */ cvt.s.w $f2, $f2
/* C73C60 802427E0 4600103C */ c.lt.s $f2, $f0
/* C73C64 802427E4 00000000 */ nop
/* C73C68 802427E8 45030001 */ bc1tl .L802427F0
/* C73C6C 802427EC 0000882D */ daddu $s1, $zero, $zero
.L802427F0:
/* C73C70 802427F0 C64C006C */ lwc1 $f12, 0x6c($s2)
/* C73C74 802427F4 C60E000C */ lwc1 $f14, 0xc($s0)
/* C73C78 802427F8 3C014387 */ lui $at, 0x4387
/* C73C7C 802427FC 4481A000 */ mtc1 $at, $f20
/* C73C80 80242800 0C00A70A */ jal get_clamped_angle_diff
/* C73C84 80242804 00000000 */ nop
/* C73C88 80242808 0C00A6C9 */ jal clamp_angle
/* C73C8C 8024280C 46000306 */ mov.s $f12, $f0
/* C73C90 80242810 3C018024 */ lui $at, %hi(D_80245698_C76B18)
/* C73C94 80242814 D4225698 */ ldc1 $f2, %lo(D_80245698_C76B18)($at)
/* C73C98 80242818 46000021 */ cvt.d.s $f0, $f0
/* C73C9C 8024281C 4622003C */ c.lt.d $f0, $f2
/* C73CA0 80242820 00000000 */ nop
/* C73CA4 80242824 45000003 */ bc1f .L80242834
/* C73CA8 80242828 00000000 */ nop
/* C73CAC 8024282C 3C0142B4 */ lui $at, 0x42b4
/* C73CB0 80242830 4481A000 */ mtc1 $at, $f20
.L80242834:
/* C73CB4 80242834 C60C0038 */ lwc1 $f12, 0x38($s0)
/* C73CB8 80242838 8E820000 */ lw $v0, ($s4)
/* C73CBC 8024283C C60E0040 */ lwc1 $f14, 0x40($s0)
/* C73CC0 80242840 8C460028 */ lw $a2, 0x28($v0)
/* C73CC4 80242844 0C00A720 */ jal atan2
/* C73CC8 80242848 8C470030 */ lw $a3, 0x30($v0)
/* C73CCC 8024284C 4600A306 */ mov.s $f12, $f20
/* C73CD0 80242850 0C00A70A */ jal get_clamped_angle_diff
/* C73CD4 80242854 46000386 */ mov.s $f14, $f0
/* C73CD8 80242858 C6620078 */ lwc1 $f2, 0x78($s3)
/* C73CDC 8024285C 468010A0 */ cvt.s.w $f2, $f2
/* C73CE0 80242860 46000005 */ abs.s $f0, $f0
/* C73CE4 80242864 4600103C */ c.lt.s $f2, $f0
/* C73CE8 80242868 00000000 */ nop
/* C73CEC 8024286C 45030001 */ bc1tl .L80242874
/* C73CF0 80242870 0000882D */ daddu $s1, $zero, $zero
.L80242874:
/* C73CF4 80242874 8E820000 */ lw $v0, ($s4)
/* C73CF8 80242878 C600003C */ lwc1 $f0, 0x3c($s0)
/* C73CFC 8024287C C442002C */ lwc1 $f2, 0x2c($v0)
/* C73D00 80242880 860200A8 */ lh $v0, 0xa8($s0)
/* C73D04 80242884 46020001 */ sub.s $f0, $f0, $f2
/* C73D08 80242888 44821000 */ mtc1 $v0, $f2
/* C73D0C 8024288C 00000000 */ nop
/* C73D10 80242890 468010A1 */ cvt.d.w $f2, $f2
/* C73D14 80242894 46221080 */ add.d $f2, $f2, $f2
/* C73D18 80242898 46000005 */ abs.s $f0, $f0
/* C73D1C 8024289C 46000021 */ cvt.d.s $f0, $f0
/* C73D20 802428A0 4620103E */ c.le.d $f2, $f0
/* C73D24 802428A4 00000000 */ nop
/* C73D28 802428A8 45030001 */ bc1tl .L802428B0
/* C73D2C 802428AC 0000882D */ daddu $s1, $zero, $zero
.L802428B0:
/* C73D30 802428B0 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* C73D34 802428B4 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* C73D38 802428B8 24020009 */ addiu $v0, $zero, 9
/* C73D3C 802428BC 50620001 */ beql $v1, $v0, .L802428C4
/* C73D40 802428C0 0000882D */ daddu $s1, $zero, $zero
.L802428C4:
/* C73D44 802428C4 24020007 */ addiu $v0, $zero, 7
/* C73D48 802428C8 50620001 */ beql $v1, $v0, .L802428D0
/* C73D4C 802428CC 0000882D */ daddu $s1, $zero, $zero
.L802428D0:
/* C73D50 802428D0 0220102D */ daddu $v0, $s1, $zero
/* C73D54 802428D4 8FBF0024 */ lw $ra, 0x24($sp)
/* C73D58 802428D8 8FB40020 */ lw $s4, 0x20($sp)
/* C73D5C 802428DC 8FB3001C */ lw $s3, 0x1c($sp)
/* C73D60 802428E0 8FB20018 */ lw $s2, 0x18($sp)
/* C73D64 802428E4 8FB10014 */ lw $s1, 0x14($sp)
/* C73D68 802428E8 8FB00010 */ lw $s0, 0x10($sp)
/* C73D6C 802428EC D7B40028 */ ldc1 $f20, 0x28($sp)
/* C73D70 802428F0 03E00008 */ jr $ra
/* C73D74 802428F4 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802456A0_C76B20
.word L80242CDC_C7415C, L80242CEC_C7416C, L80242D04_C74184, L80242D14_C74194, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242D2C_C741AC, L80242D3C_C741BC, L80242D54_C741D4, L80242D64_C741E4, L80242D7C_C741FC, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242D94_C74214, L80242D9C_C7421C, L80242DB4_C74234, L80242DCC_C7424C, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DE4_C74264, L80242DDC_C7425C
.section .text
glabel func_80242B58_C73FD8
/* C73FD8 80242B58 27BDFFB0 */ addiu $sp, $sp, -0x50
/* C73FDC 80242B5C AFB20038 */ sw $s2, 0x38($sp)
/* C73FE0 80242B60 0080902D */ daddu $s2, $a0, $zero
/* C73FE4 80242B64 AFBF0048 */ sw $ra, 0x48($sp)
/* C73FE8 80242B68 AFB50044 */ sw $s5, 0x44($sp)
/* C73FEC 80242B6C AFB40040 */ sw $s4, 0x40($sp)
/* C73FF0 80242B70 AFB3003C */ sw $s3, 0x3c($sp)
/* C73FF4 80242B74 AFB10034 */ sw $s1, 0x34($sp)
/* C73FF8 80242B78 AFB00030 */ sw $s0, 0x30($sp)
/* C73FFC 80242B7C 8E510148 */ lw $s1, 0x148($s2)
/* C74000 80242B80 86240008 */ lh $a0, 8($s1)
/* C74004 80242B84 0C00EABB */ jal get_npc_unsafe
/* C74008 80242B88 00A0802D */ daddu $s0, $a1, $zero
/* C7400C 80242B8C 8E43000C */ lw $v1, 0xc($s2)
/* C74010 80242B90 0240202D */ daddu $a0, $s2, $zero
/* C74014 80242B94 8C650000 */ lw $a1, ($v1)
/* C74018 80242B98 0C0B1EAF */ jal get_variable
/* C7401C 80242B9C 0040A82D */ daddu $s5, $v0, $zero
/* C74020 80242BA0 AFA00010 */ sw $zero, 0x10($sp)
/* C74024 80242BA4 8E2300D0 */ lw $v1, 0xd0($s1)
/* C74028 80242BA8 8C630030 */ lw $v1, 0x30($v1)
/* C7402C 80242BAC AFA30014 */ sw $v1, 0x14($sp)
/* C74030 80242BB0 8E2300D0 */ lw $v1, 0xd0($s1)
/* C74034 80242BB4 8C63001C */ lw $v1, 0x1c($v1)
/* C74038 80242BB8 AFA30018 */ sw $v1, 0x18($sp)
/* C7403C 80242BBC 8E2300D0 */ lw $v1, 0xd0($s1)
/* C74040 80242BC0 8C630024 */ lw $v1, 0x24($v1)
/* C74044 80242BC4 AFA3001C */ sw $v1, 0x1c($sp)
/* C74048 80242BC8 8E2300D0 */ lw $v1, 0xd0($s1)
/* C7404C 80242BCC 8C630028 */ lw $v1, 0x28($v1)
/* C74050 80242BD0 27B40010 */ addiu $s4, $sp, 0x10
/* C74054 80242BD4 AFA30020 */ sw $v1, 0x20($sp)
/* C74058 80242BD8 8E2300D0 */ lw $v1, 0xd0($s1)
/* C7405C 80242BDC 3C014282 */ lui $at, 0x4282
/* C74060 80242BE0 44810000 */ mtc1 $at, $f0
/* C74064 80242BE4 8C63002C */ lw $v1, 0x2c($v1)
/* C74068 80242BE8 0040982D */ daddu $s3, $v0, $zero
/* C7406C 80242BEC E7A00028 */ swc1 $f0, 0x28($sp)
/* C74070 80242BF0 A7A0002C */ sh $zero, 0x2c($sp)
/* C74074 80242BF4 16000005 */ bnez $s0, .L80242C0C
/* C74078 80242BF8 AFA30024 */ sw $v1, 0x24($sp)
/* C7407C 80242BFC 8E2200B0 */ lw $v0, 0xb0($s1)
/* C74080 80242C00 30420004 */ andi $v0, $v0, 4
/* C74084 80242C04 10400020 */ beqz $v0, .L80242C88
/* C74088 80242C08 00000000 */ nop
.L80242C0C:
/* C7408C 80242C0C 2404F7FF */ addiu $a0, $zero, -0x801
/* C74090 80242C10 AE400070 */ sw $zero, 0x70($s2)
/* C74094 80242C14 A6A0008E */ sh $zero, 0x8e($s5)
/* C74098 80242C18 8E2200CC */ lw $v0, 0xcc($s1)
/* C7409C 80242C1C 8EA30000 */ lw $v1, ($s5)
/* C740A0 80242C20 8C420000 */ lw $v0, ($v0)
/* C740A4 80242C24 00641824 */ and $v1, $v1, $a0
/* C740A8 80242C28 AEA30000 */ sw $v1, ($s5)
/* C740AC 80242C2C AEA20028 */ sw $v0, 0x28($s5)
/* C740B0 80242C30 8E2200D0 */ lw $v0, 0xd0($s1)
/* C740B4 80242C34 8C420034 */ lw $v0, 0x34($v0)
/* C740B8 80242C38 54400005 */ bnel $v0, $zero, .L80242C50
/* C740BC 80242C3C 2402FDFF */ addiu $v0, $zero, -0x201
/* C740C0 80242C40 34620200 */ ori $v0, $v1, 0x200
/* C740C4 80242C44 2403FFF7 */ addiu $v1, $zero, -9
/* C740C8 80242C48 08090B16 */ j .L80242C58
/* C740CC 80242C4C 00431024 */ and $v0, $v0, $v1
.L80242C50:
/* C740D0 80242C50 00621024 */ and $v0, $v1, $v0
/* C740D4 80242C54 34420008 */ ori $v0, $v0, 8
.L80242C58:
/* C740D8 80242C58 AEA20000 */ sw $v0, ($s5)
/* C740DC 80242C5C 8E2200B0 */ lw $v0, 0xb0($s1)
/* C740E0 80242C60 30420004 */ andi $v0, $v0, 4
/* C740E4 80242C64 10400007 */ beqz $v0, .L80242C84
/* C740E8 80242C68 24020063 */ addiu $v0, $zero, 0x63
/* C740EC 80242C6C AE420070 */ sw $v0, 0x70($s2)
/* C740F0 80242C70 AE400074 */ sw $zero, 0x74($s2)
/* C740F4 80242C74 8E2200B0 */ lw $v0, 0xb0($s1)
/* C740F8 80242C78 2403FFFB */ addiu $v1, $zero, -5
/* C740FC 80242C7C 00431024 */ and $v0, $v0, $v1
/* C74100 80242C80 AE2200B0 */ sw $v0, 0xb0($s1)
.L80242C84:
/* C74104 80242C84 AE20006C */ sw $zero, 0x6c($s1)
.L80242C88:
/* C74108 80242C88 8E420070 */ lw $v0, 0x70($s2)
/* C7410C 80242C8C 2842001E */ slti $v0, $v0, 0x1e
/* C74110 80242C90 10400009 */ beqz $v0, .L80242CB8
/* C74114 80242C94 00000000 */ nop
/* C74118 80242C98 8E22006C */ lw $v0, 0x6c($s1)
/* C7411C 80242C9C 14400006 */ bnez $v0, .L80242CB8
/* C74120 80242CA0 00000000 */ nop
/* C74124 80242CA4 0C0909D1 */ jal func_80242744_C73BC4
/* C74128 80242CA8 0240202D */ daddu $a0, $s2, $zero
/* C7412C 80242CAC 10400002 */ beqz $v0, .L80242CB8
/* C74130 80242CB0 2402001E */ addiu $v0, $zero, 0x1e
/* C74134 80242CB4 AE420070 */ sw $v0, 0x70($s2)
.L80242CB8:
/* C74138 80242CB8 8E430070 */ lw $v1, 0x70($s2)
/* C7413C 80242CBC 2C620064 */ sltiu $v0, $v1, 0x64
/* C74140 80242CC0 10400048 */ beqz $v0, L80242DE4_C74264
/* C74144 80242CC4 00031080 */ sll $v0, $v1, 2
/* C74148 80242CC8 3C018024 */ lui $at, %hi(jtbl_802456A0_C76B20)
/* C7414C 80242CCC 00220821 */ addu $at, $at, $v0
/* C74150 80242CD0 8C2256A0 */ lw $v0, %lo(jtbl_802456A0_C76B20)($at)
/* C74154 80242CD4 00400008 */ jr $v0
/* C74158 80242CD8 00000000 */ nop
glabel L80242CDC_C7415C
/* C7415C 80242CDC 0240202D */ daddu $a0, $s2, $zero
/* C74160 80242CE0 0260282D */ daddu $a1, $s3, $zero
/* C74164 80242CE4 0C012568 */ jal func_800495A0
/* C74168 80242CE8 0280302D */ daddu $a2, $s4, $zero
glabel L80242CEC_C7416C
/* C7416C 80242CEC 0240202D */ daddu $a0, $s2, $zero
/* C74170 80242CF0 0260282D */ daddu $a1, $s3, $zero
/* C74174 80242CF4 0C0125AE */ jal func_800496B8
/* C74178 80242CF8 0280302D */ daddu $a2, $s4, $zero
/* C7417C 80242CFC 08090B79 */ j L80242DE4_C74264
/* C74180 80242D00 00000000 */ nop
glabel L80242D04_C74184
/* C74184 80242D04 0240202D */ daddu $a0, $s2, $zero
/* C74188 80242D08 0260282D */ daddu $a1, $s3, $zero
/* C7418C 80242D0C 0C0126D1 */ jal base_UnkNpcAIFunc1
/* C74190 80242D10 0280302D */ daddu $a2, $s4, $zero
glabel L80242D14_C74194
/* C74194 80242D14 0240202D */ daddu $a0, $s2, $zero
/* C74198 80242D18 0260282D */ daddu $a1, $s3, $zero
/* C7419C 80242D1C 0C012701 */ jal func_80049C04
/* C741A0 80242D20 0280302D */ daddu $a2, $s4, $zero
/* C741A4 80242D24 08090B79 */ j L80242DE4_C74264
/* C741A8 80242D28 00000000 */ nop
glabel L80242D2C_C741AC
/* C741AC 80242D2C 0240202D */ daddu $a0, $s2, $zero
/* C741B0 80242D30 0260282D */ daddu $a1, $s3, $zero
/* C741B4 80242D34 0C01278F */ jal func_80049E3C
/* C741B8 80242D38 0280302D */ daddu $a2, $s4, $zero
glabel L80242D3C_C741BC
/* C741BC 80242D3C 0240202D */ daddu $a0, $s2, $zero
/* C741C0 80242D40 0260282D */ daddu $a1, $s3, $zero
/* C741C4 80242D44 0C0127B3 */ jal func_80049ECC
/* C741C8 80242D48 0280302D */ daddu $a2, $s4, $zero
/* C741CC 80242D4C 08090B79 */ j L80242DE4_C74264
/* C741D0 80242D50 00000000 */ nop
glabel L80242D54_C741D4
/* C741D4 80242D54 0240202D */ daddu $a0, $s2, $zero
/* C741D8 80242D58 0260282D */ daddu $a1, $s3, $zero
/* C741DC 80242D5C 0C0127DF */ jal func_80049F7C
/* C741E0 80242D60 0280302D */ daddu $a2, $s4, $zero
glabel L80242D64_C741E4
/* C741E4 80242D64 0240202D */ daddu $a0, $s2, $zero
/* C741E8 80242D68 0260282D */ daddu $a1, $s3, $zero
/* C741EC 80242D6C 0C012849 */ jal func_8004A124
/* C741F0 80242D70 0280302D */ daddu $a2, $s4, $zero
/* C741F4 80242D74 08090B79 */ j L80242DE4_C74264
/* C741F8 80242D78 00000000 */ nop
glabel L80242D7C_C741FC
/* C741FC 80242D7C 0240202D */ daddu $a0, $s2, $zero
/* C74200 80242D80 0260282D */ daddu $a1, $s3, $zero
/* C74204 80242D84 0C0128FA */ jal func_8004A3E8
/* C74208 80242D88 0280302D */ daddu $a2, $s4, $zero
/* C7420C 80242D8C 08090B79 */ j L80242DE4_C74264
/* C74210 80242D90 00000000 */ nop
glabel L80242D94_C74214
/* C74214 80242D94 0C09094F */ jal kzn_08_UnkNpcAIFunc6
/* C74218 80242D98 0240202D */ daddu $a0, $s2, $zero
glabel L80242D9C_C7421C
/* C7421C 80242D9C 0C09096A */ jal kzn_08_UnkNpcAIFunc7
/* C74220 80242DA0 0240202D */ daddu $a0, $s2, $zero
/* C74224 80242DA4 8E430070 */ lw $v1, 0x70($s2)
/* C74228 80242DA8 24020020 */ addiu $v0, $zero, 0x20
/* C7422C 80242DAC 1462000D */ bne $v1, $v0, L80242DE4_C74264
/* C74230 80242DB0 00000000 */ nop
glabel L80242DB4_C74234
/* C74234 80242DB4 0C090986 */ jal kzn_08_UnkNpcAIFunc8
/* C74238 80242DB8 0240202D */ daddu $a0, $s2, $zero
/* C7423C 80242DBC 8E430070 */ lw $v1, 0x70($s2)
/* C74240 80242DC0 24020021 */ addiu $v0, $zero, 0x21
/* C74244 80242DC4 14620007 */ bne $v1, $v0, L80242DE4_C74264
/* C74248 80242DC8 00000000 */ nop
glabel L80242DCC_C7424C
/* C7424C 80242DCC 0C0909BC */ jal kzn_08_UnkNpcAIFunc5
/* C74250 80242DD0 0240202D */ daddu $a0, $s2, $zero
/* C74254 80242DD4 08090B79 */ j L80242DE4_C74264
/* C74258 80242DD8 00000000 */ nop
glabel L80242DDC_C7425C
/* C7425C 80242DDC 0C0129CF */ jal func_8004A73C
/* C74260 80242DE0 0240202D */ daddu $a0, $s2, $zero
glabel L80242DE4_C74264
/* C74264 80242DE4 8FBF0048 */ lw $ra, 0x48($sp)
/* C74268 80242DE8 8FB50044 */ lw $s5, 0x44($sp)
/* C7426C 80242DEC 8FB40040 */ lw $s4, 0x40($sp)
/* C74270 80242DF0 8FB3003C */ lw $s3, 0x3c($sp)
/* C74274 80242DF4 8FB20038 */ lw $s2, 0x38($sp)
/* C74278 80242DF8 8FB10034 */ lw $s1, 0x34($sp)
/* C7427C 80242DFC 8FB00030 */ lw $s0, 0x30($sp)
/* C74280 80242E00 0000102D */ daddu $v0, $zero, $zero
/* C74284 80242E04 03E00008 */ jr $ra
/* C74288 80242E08 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80247270_C7DF50
.double 180.0
.section .text
glabel func_80241228_C77F08
/* C77F08 80241228 27BDFFD0 */ addiu $sp, $sp, -0x30
/* C77F0C 8024122C AFBF0024 */ sw $ra, 0x24($sp)
/* C77F10 80241230 AFB40020 */ sw $s4, 0x20($sp)
/* C77F14 80241234 AFB3001C */ sw $s3, 0x1c($sp)
/* C77F18 80241238 AFB20018 */ sw $s2, 0x18($sp)
/* C77F1C 8024123C AFB10014 */ sw $s1, 0x14($sp)
/* C77F20 80241240 AFB00010 */ sw $s0, 0x10($sp)
/* C77F24 80241244 F7B40028 */ sdc1 $f20, 0x28($sp)
/* C77F28 80241248 8C900148 */ lw $s0, 0x148($a0)
/* C77F2C 8024124C 86040008 */ lh $a0, 8($s0)
/* C77F30 80241250 0C00EABB */ jal get_npc_unsafe
/* C77F34 80241254 24110001 */ addiu $s1, $zero, 1
/* C77F38 80241258 86040008 */ lh $a0, 8($s0)
/* C77F3C 8024125C 0040802D */ daddu $s0, $v0, $zero
/* C77F40 80241260 3C05800B */ lui $a1, %hi(gCameras)
/* C77F44 80241264 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* C77F48 80241268 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* C77F4C 8024126C 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* C77F50 80241270 00912021 */ addu $a0, $a0, $s1
/* C77F54 80241274 00031080 */ sll $v0, $v1, 2
/* C77F58 80241278 00431021 */ addu $v0, $v0, $v1
/* C77F5C 8024127C 00021080 */ sll $v0, $v0, 2
/* C77F60 80241280 00431023 */ subu $v0, $v0, $v1
/* C77F64 80241284 000218C0 */ sll $v1, $v0, 3
/* C77F68 80241288 00431021 */ addu $v0, $v0, $v1
/* C77F6C 8024128C 000210C0 */ sll $v0, $v0, 3
/* C77F70 80241290 0C00FB3A */ jal get_enemy
/* C77F74 80241294 00459021 */ addu $s2, $v0, $a1
/* C77F78 80241298 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* C77F7C 8024129C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* C77F80 802412A0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* C77F84 802412A4 8E830000 */ lw $v1, ($s4)
/* C77F88 802412A8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* C77F8C 802412AC 8C660028 */ lw $a2, 0x28($v1)
/* C77F90 802412B0 8C670030 */ lw $a3, 0x30($v1)
/* C77F94 802412B4 0C00A7B5 */ jal dist2D
/* C77F98 802412B8 0040982D */ daddu $s3, $v0, $zero
/* C77F9C 802412BC C6620074 */ lwc1 $f2, 0x74($s3)
/* C77FA0 802412C0 468010A0 */ cvt.s.w $f2, $f2
/* C77FA4 802412C4 4600103C */ c.lt.s $f2, $f0
/* C77FA8 802412C8 00000000 */ nop
/* C77FAC 802412CC 45030001 */ bc1tl .L802412D4
/* C77FB0 802412D0 0000882D */ daddu $s1, $zero, $zero
.L802412D4:
/* C77FB4 802412D4 C64C006C */ lwc1 $f12, 0x6c($s2)
/* C77FB8 802412D8 C60E000C */ lwc1 $f14, 0xc($s0)
/* C77FBC 802412DC 3C014387 */ lui $at, 0x4387
/* C77FC0 802412E0 4481A000 */ mtc1 $at, $f20
/* C77FC4 802412E4 0C00A70A */ jal get_clamped_angle_diff
/* C77FC8 802412E8 00000000 */ nop
/* C77FCC 802412EC 0C00A6C9 */ jal clamp_angle
/* C77FD0 802412F0 46000306 */ mov.s $f12, $f0
/* C77FD4 802412F4 3C018024 */ lui $at, %hi(D_80247270_C7DF50)
/* C77FD8 802412F8 D4227270 */ ldc1 $f2, %lo(D_80247270_C7DF50)($at)
/* C77FDC 802412FC 46000021 */ cvt.d.s $f0, $f0
/* C77FE0 80241300 4622003C */ c.lt.d $f0, $f2
/* C77FE4 80241304 00000000 */ nop
/* C77FE8 80241308 45000003 */ bc1f .L80241318
/* C77FEC 8024130C 00000000 */ nop
/* C77FF0 80241310 3C0142B4 */ lui $at, 0x42b4
/* C77FF4 80241314 4481A000 */ mtc1 $at, $f20
.L80241318:
/* C77FF8 80241318 C60C0038 */ lwc1 $f12, 0x38($s0)
/* C77FFC 8024131C 8E820000 */ lw $v0, ($s4)
/* C78000 80241320 C60E0040 */ lwc1 $f14, 0x40($s0)
/* C78004 80241324 8C460028 */ lw $a2, 0x28($v0)
/* C78008 80241328 0C00A720 */ jal atan2
/* C7800C 8024132C 8C470030 */ lw $a3, 0x30($v0)
/* C78010 80241330 4600A306 */ mov.s $f12, $f20
/* C78014 80241334 0C00A70A */ jal get_clamped_angle_diff
/* C78018 80241338 46000386 */ mov.s $f14, $f0
/* C7801C 8024133C C6620078 */ lwc1 $f2, 0x78($s3)
/* C78020 80241340 468010A0 */ cvt.s.w $f2, $f2
/* C78024 80241344 46000005 */ abs.s $f0, $f0
/* C78028 80241348 4600103C */ c.lt.s $f2, $f0
/* C7802C 8024134C 00000000 */ nop
/* C78030 80241350 45030001 */ bc1tl .L80241358
/* C78034 80241354 0000882D */ daddu $s1, $zero, $zero
.L80241358:
/* C78038 80241358 8E820000 */ lw $v0, ($s4)
/* C7803C 8024135C C600003C */ lwc1 $f0, 0x3c($s0)
/* C78040 80241360 C442002C */ lwc1 $f2, 0x2c($v0)
/* C78044 80241364 860200A8 */ lh $v0, 0xa8($s0)
/* C78048 80241368 46020001 */ sub.s $f0, $f0, $f2
/* C7804C 8024136C 44821000 */ mtc1 $v0, $f2
/* C78050 80241370 00000000 */ nop
/* C78054 80241374 468010A1 */ cvt.d.w $f2, $f2
/* C78058 80241378 46221080 */ add.d $f2, $f2, $f2
/* C7805C 8024137C 46000005 */ abs.s $f0, $f0
/* C78060 80241380 46000021 */ cvt.d.s $f0, $f0
/* C78064 80241384 4620103E */ c.le.d $f2, $f0
/* C78068 80241388 00000000 */ nop
/* C7806C 8024138C 45030001 */ bc1tl .L80241394
/* C78070 80241390 0000882D */ daddu $s1, $zero, $zero
.L80241394:
/* C78074 80241394 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* C78078 80241398 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* C7807C 8024139C 24020009 */ addiu $v0, $zero, 9
/* C78080 802413A0 50620001 */ beql $v1, $v0, .L802413A8
/* C78084 802413A4 0000882D */ daddu $s1, $zero, $zero
.L802413A8:
/* C78088 802413A8 24020007 */ addiu $v0, $zero, 7
/* C7808C 802413AC 50620001 */ beql $v1, $v0, .L802413B4
/* C78090 802413B0 0000882D */ daddu $s1, $zero, $zero
.L802413B4:
/* C78094 802413B4 0220102D */ daddu $v0, $s1, $zero
/* C78098 802413B8 8FBF0024 */ lw $ra, 0x24($sp)
/* C7809C 802413BC 8FB40020 */ lw $s4, 0x20($sp)
/* C780A0 802413C0 8FB3001C */ lw $s3, 0x1c($sp)
/* C780A4 802413C4 8FB20018 */ lw $s2, 0x18($sp)
/* C780A8 802413C8 8FB10014 */ lw $s1, 0x14($sp)
/* C780AC 802413CC 8FB00010 */ lw $s0, 0x10($sp)
/* C780B0 802413D0 D7B40028 */ ldc1 $f20, 0x28($sp)
/* C780B4 802413D4 03E00008 */ jr $ra
/* C780B8 802413D8 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80247278_C7DF58
.word L802417C0_C784A0, L802417D0_C784B0, L802417E8_C784C8, L802417F8_C784D8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L80241810_C784F0, L80241820_C78500, L80241838_C78518, L80241848_C78528, L80241860_C78540, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L80241878_C78558, L80241880_C78560, L80241898_C78578, L802418B0_C78590, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C8_C785A8, L802418C0_C785A0
.section .text
glabel func_8024163C_C7831C
/* C7831C 8024163C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* C78320 80241640 AFB20038 */ sw $s2, 0x38($sp)
/* C78324 80241644 0080902D */ daddu $s2, $a0, $zero
/* C78328 80241648 AFBF0048 */ sw $ra, 0x48($sp)
/* C7832C 8024164C AFB50044 */ sw $s5, 0x44($sp)
/* C78330 80241650 AFB40040 */ sw $s4, 0x40($sp)
/* C78334 80241654 AFB3003C */ sw $s3, 0x3c($sp)
/* C78338 80241658 AFB10034 */ sw $s1, 0x34($sp)
/* C7833C 8024165C AFB00030 */ sw $s0, 0x30($sp)
/* C78340 80241660 8E510148 */ lw $s1, 0x148($s2)
/* C78344 80241664 86240008 */ lh $a0, 8($s1)
/* C78348 80241668 0C00EABB */ jal get_npc_unsafe
/* C7834C 8024166C 00A0802D */ daddu $s0, $a1, $zero
/* C78350 80241670 8E43000C */ lw $v1, 0xc($s2)
/* C78354 80241674 0240202D */ daddu $a0, $s2, $zero
/* C78358 80241678 8C650000 */ lw $a1, ($v1)
/* C7835C 8024167C 0C0B1EAF */ jal get_variable
/* C78360 80241680 0040A82D */ daddu $s5, $v0, $zero
/* C78364 80241684 AFA00010 */ sw $zero, 0x10($sp)
/* C78368 80241688 8E2300D0 */ lw $v1, 0xd0($s1)
/* C7836C 8024168C 8C630030 */ lw $v1, 0x30($v1)
/* C78370 80241690 AFA30014 */ sw $v1, 0x14($sp)
/* C78374 80241694 8E2300D0 */ lw $v1, 0xd0($s1)
/* C78378 80241698 8C63001C */ lw $v1, 0x1c($v1)
/* C7837C 8024169C AFA30018 */ sw $v1, 0x18($sp)
/* C78380 802416A0 8E2300D0 */ lw $v1, 0xd0($s1)
/* C78384 802416A4 8C630024 */ lw $v1, 0x24($v1)
/* C78388 802416A8 AFA3001C */ sw $v1, 0x1c($sp)
/* C7838C 802416AC 8E2300D0 */ lw $v1, 0xd0($s1)
/* C78390 802416B0 8C630028 */ lw $v1, 0x28($v1)
/* C78394 802416B4 27B40010 */ addiu $s4, $sp, 0x10
/* C78398 802416B8 AFA30020 */ sw $v1, 0x20($sp)
/* C7839C 802416BC 8E2300D0 */ lw $v1, 0xd0($s1)
/* C783A0 802416C0 3C014282 */ lui $at, 0x4282
/* C783A4 802416C4 44810000 */ mtc1 $at, $f0
/* C783A8 802416C8 8C63002C */ lw $v1, 0x2c($v1)
/* C783AC 802416CC 0040982D */ daddu $s3, $v0, $zero
/* C783B0 802416D0 E7A00028 */ swc1 $f0, 0x28($sp)
/* C783B4 802416D4 A7A0002C */ sh $zero, 0x2c($sp)
/* C783B8 802416D8 16000005 */ bnez $s0, .L802416F0
/* C783BC 802416DC AFA30024 */ sw $v1, 0x24($sp)
/* C783C0 802416E0 8E2200B0 */ lw $v0, 0xb0($s1)
/* C783C4 802416E4 30420004 */ andi $v0, $v0, 4
/* C783C8 802416E8 10400020 */ beqz $v0, .L8024176C
/* C783CC 802416EC 00000000 */ nop
.L802416F0:
/* C783D0 802416F0 2404F7FF */ addiu $a0, $zero, -0x801
/* C783D4 802416F4 AE400070 */ sw $zero, 0x70($s2)
/* C783D8 802416F8 A6A0008E */ sh $zero, 0x8e($s5)
/* C783DC 802416FC 8E2200CC */ lw $v0, 0xcc($s1)
/* C783E0 80241700 8EA30000 */ lw $v1, ($s5)
/* C783E4 80241704 8C420000 */ lw $v0, ($v0)
/* C783E8 80241708 00641824 */ and $v1, $v1, $a0
/* C783EC 8024170C AEA30000 */ sw $v1, ($s5)
/* C783F0 80241710 AEA20028 */ sw $v0, 0x28($s5)
/* C783F4 80241714 8E2200D0 */ lw $v0, 0xd0($s1)
/* C783F8 80241718 8C420034 */ lw $v0, 0x34($v0)
/* C783FC 8024171C 54400005 */ bnel $v0, $zero, .L80241734
/* C78400 80241720 2402FDFF */ addiu $v0, $zero, -0x201
/* C78404 80241724 34620200 */ ori $v0, $v1, 0x200
/* C78408 80241728 2403FFF7 */ addiu $v1, $zero, -9
/* C7840C 8024172C 080905CF */ j .L8024173C
/* C78410 80241730 00431024 */ and $v0, $v0, $v1
.L80241734:
/* C78414 80241734 00621024 */ and $v0, $v1, $v0
/* C78418 80241738 34420008 */ ori $v0, $v0, 8
.L8024173C:
/* C7841C 8024173C AEA20000 */ sw $v0, ($s5)
/* C78420 80241740 8E2200B0 */ lw $v0, 0xb0($s1)
/* C78424 80241744 30420004 */ andi $v0, $v0, 4
/* C78428 80241748 10400007 */ beqz $v0, .L80241768
/* C7842C 8024174C 24020063 */ addiu $v0, $zero, 0x63
/* C78430 80241750 AE420070 */ sw $v0, 0x70($s2)
/* C78434 80241754 AE400074 */ sw $zero, 0x74($s2)
/* C78438 80241758 8E2200B0 */ lw $v0, 0xb0($s1)
/* C7843C 8024175C 2403FFFB */ addiu $v1, $zero, -5
/* C78440 80241760 00431024 */ and $v0, $v0, $v1
/* C78444 80241764 AE2200B0 */ sw $v0, 0xb0($s1)
.L80241768:
/* C78448 80241768 AE20006C */ sw $zero, 0x6c($s1)
.L8024176C:
/* C7844C 8024176C 8E420070 */ lw $v0, 0x70($s2)
/* C78450 80241770 2842001E */ slti $v0, $v0, 0x1e
/* C78454 80241774 10400009 */ beqz $v0, .L8024179C
/* C78458 80241778 00000000 */ nop
/* C7845C 8024177C 8E22006C */ lw $v0, 0x6c($s1)
/* C78460 80241780 14400006 */ bnez $v0, .L8024179C
/* C78464 80241784 00000000 */ nop
/* C78468 80241788 0C09048A */ jal func_80241228_C77F08
/* C7846C 8024178C 0240202D */ daddu $a0, $s2, $zero
/* C78470 80241790 10400002 */ beqz $v0, .L8024179C
/* C78474 80241794 2402001E */ addiu $v0, $zero, 0x1e
/* C78478 80241798 AE420070 */ sw $v0, 0x70($s2)
.L8024179C:
/* C7847C 8024179C 8E430070 */ lw $v1, 0x70($s2)
/* C78480 802417A0 2C620064 */ sltiu $v0, $v1, 0x64
/* C78484 802417A4 10400048 */ beqz $v0, L802418C8_C785A8
/* C78488 802417A8 00031080 */ sll $v0, $v1, 2
/* C7848C 802417AC 3C018024 */ lui $at, %hi(jtbl_80247278_C7DF58)
/* C78490 802417B0 00220821 */ addu $at, $at, $v0
/* C78494 802417B4 8C227278 */ lw $v0, %lo(jtbl_80247278_C7DF58)($at)
/* C78498 802417B8 00400008 */ jr $v0
/* C7849C 802417BC 00000000 */ nop
glabel L802417C0_C784A0
/* C784A0 802417C0 0240202D */ daddu $a0, $s2, $zero
/* C784A4 802417C4 0260282D */ daddu $a1, $s3, $zero
/* C784A8 802417C8 0C012568 */ jal func_800495A0
/* C784AC 802417CC 0280302D */ daddu $a2, $s4, $zero
glabel L802417D0_C784B0
/* C784B0 802417D0 0240202D */ daddu $a0, $s2, $zero
/* C784B4 802417D4 0260282D */ daddu $a1, $s3, $zero
/* C784B8 802417D8 0C0125AE */ jal func_800496B8
/* C784BC 802417DC 0280302D */ daddu $a2, $s4, $zero
/* C784C0 802417E0 08090632 */ j L802418C8_C785A8
/* C784C4 802417E4 00000000 */ nop
glabel L802417E8_C784C8
/* C784C8 802417E8 0240202D */ daddu $a0, $s2, $zero
/* C784CC 802417EC 0260282D */ daddu $a1, $s3, $zero
/* C784D0 802417F0 0C0126D1 */ jal base_UnkNpcAIFunc1
/* C784D4 802417F4 0280302D */ daddu $a2, $s4, $zero
glabel L802417F8_C784D8
/* C784D8 802417F8 0240202D */ daddu $a0, $s2, $zero
/* C784DC 802417FC 0260282D */ daddu $a1, $s3, $zero
/* C784E0 80241800 0C012701 */ jal func_80049C04
/* C784E4 80241804 0280302D */ daddu $a2, $s4, $zero
/* C784E8 80241808 08090632 */ j L802418C8_C785A8
/* C784EC 8024180C 00000000 */ nop
glabel L80241810_C784F0
/* C784F0 80241810 0240202D */ daddu $a0, $s2, $zero
/* C784F4 80241814 0260282D */ daddu $a1, $s3, $zero
/* C784F8 80241818 0C01278F */ jal func_80049E3C
/* C784FC 8024181C 0280302D */ daddu $a2, $s4, $zero
glabel L80241820_C78500
/* C78500 80241820 0240202D */ daddu $a0, $s2, $zero
/* C78504 80241824 0260282D */ daddu $a1, $s3, $zero
/* C78508 80241828 0C0127B3 */ jal func_80049ECC
/* C7850C 8024182C 0280302D */ daddu $a2, $s4, $zero
/* C78510 80241830 08090632 */ j L802418C8_C785A8
/* C78514 80241834 00000000 */ nop
glabel L80241838_C78518
/* C78518 80241838 0240202D */ daddu $a0, $s2, $zero
/* C7851C 8024183C 0260282D */ daddu $a1, $s3, $zero
/* C78520 80241840 0C0127DF */ jal func_80049F7C
/* C78524 80241844 0280302D */ daddu $a2, $s4, $zero
glabel L80241848_C78528
/* C78528 80241848 0240202D */ daddu $a0, $s2, $zero
/* C7852C 8024184C 0260282D */ daddu $a1, $s3, $zero
/* C78530 80241850 0C012849 */ jal func_8004A124
/* C78534 80241854 0280302D */ daddu $a2, $s4, $zero
/* C78538 80241858 08090632 */ j L802418C8_C785A8
/* C7853C 8024185C 00000000 */ nop
glabel L80241860_C78540
/* C78540 80241860 0240202D */ daddu $a0, $s2, $zero
/* C78544 80241864 0260282D */ daddu $a1, $s3, $zero
/* C78548 80241868 0C0128FA */ jal func_8004A3E8
/* C7854C 8024186C 0280302D */ daddu $a2, $s4, $zero
/* C78550 80241870 08090632 */ j L802418C8_C785A8
/* C78554 80241874 00000000 */ nop
glabel L80241878_C78558
/* C78558 80241878 0C090408 */ jal kzn_09_UnkNpcAIFunc6
/* C7855C 8024187C 0240202D */ daddu $a0, $s2, $zero
glabel L80241880_C78560
/* C78560 80241880 0C090423 */ jal kzn_09_UnkNpcAIFunc7
/* C78564 80241884 0240202D */ daddu $a0, $s2, $zero
/* C78568 80241888 8E430070 */ lw $v1, 0x70($s2)
/* C7856C 8024188C 24020020 */ addiu $v0, $zero, 0x20
/* C78570 80241890 1462000D */ bne $v1, $v0, L802418C8_C785A8
/* C78574 80241894 00000000 */ nop
glabel L80241898_C78578
/* C78578 80241898 0C09043F */ jal kzn_09_UnkNpcAIFunc8
/* C7857C 8024189C 0240202D */ daddu $a0, $s2, $zero
/* C78580 802418A0 8E430070 */ lw $v1, 0x70($s2)
/* C78584 802418A4 24020021 */ addiu $v0, $zero, 0x21
/* C78588 802418A8 14620007 */ bne $v1, $v0, L802418C8_C785A8
/* C7858C 802418AC 00000000 */ nop
glabel L802418B0_C78590
/* C78590 802418B0 0C090475 */ jal kzn_09_UnkNpcAIFunc5
/* C78594 802418B4 0240202D */ daddu $a0, $s2, $zero
/* C78598 802418B8 08090632 */ j L802418C8_C785A8
/* C7859C 802418BC 00000000 */ nop
glabel L802418C0_C785A0
/* C785A0 802418C0 0C0129CF */ jal func_8004A73C
/* C785A4 802418C4 0240202D */ daddu $a0, $s2, $zero
glabel L802418C8_C785A8
/* C785A8 802418C8 8FBF0048 */ lw $ra, 0x48($sp)
/* C785AC 802418CC 8FB50044 */ lw $s5, 0x44($sp)
/* C785B0 802418D0 8FB40040 */ lw $s4, 0x40($sp)
/* C785B4 802418D4 8FB3003C */ lw $s3, 0x3c($sp)
/* C785B8 802418D8 8FB20038 */ lw $s2, 0x38($sp)
/* C785BC 802418DC 8FB10034 */ lw $s1, 0x34($sp)
/* C785C0 802418E0 8FB00030 */ lw $s0, 0x30($sp)
/* C785C4 802418E4 0000102D */ daddu $v0, $zero, $zero
/* C785C8 802418E8 03E00008 */ jr $ra
/* C785CC 802418EC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802463A0_C8BE50
.double 180.0
.section .text
glabel func_80240518_C85FC8
/* C85FC8 80240518 27BDFFD0 */ addiu $sp, $sp, -0x30
/* C85FCC 8024051C AFBF0024 */ sw $ra, 0x24($sp)
/* C85FD0 80240520 AFB40020 */ sw $s4, 0x20($sp)
/* C85FD4 80240524 AFB3001C */ sw $s3, 0x1c($sp)
/* C85FD8 80240528 AFB20018 */ sw $s2, 0x18($sp)
/* C85FDC 8024052C AFB10014 */ sw $s1, 0x14($sp)
/* C85FE0 80240530 AFB00010 */ sw $s0, 0x10($sp)
/* C85FE4 80240534 F7B40028 */ sdc1 $f20, 0x28($sp)
/* C85FE8 80240538 8C900148 */ lw $s0, 0x148($a0)
/* C85FEC 8024053C 86040008 */ lh $a0, 8($s0)
/* C85FF0 80240540 0C00EABB */ jal get_npc_unsafe
/* C85FF4 80240544 24110001 */ addiu $s1, $zero, 1
/* C85FF8 80240548 86040008 */ lh $a0, 8($s0)
/* C85FFC 8024054C 0040802D */ daddu $s0, $v0, $zero
/* C86000 80240550 3C05800B */ lui $a1, %hi(gCameras)
/* C86004 80240554 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* C86008 80240558 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* C8600C 8024055C 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* C86010 80240560 00912021 */ addu $a0, $a0, $s1
/* C86014 80240564 00031080 */ sll $v0, $v1, 2
/* C86018 80240568 00431021 */ addu $v0, $v0, $v1
/* C8601C 8024056C 00021080 */ sll $v0, $v0, 2
/* C86020 80240570 00431023 */ subu $v0, $v0, $v1
/* C86024 80240574 000218C0 */ sll $v1, $v0, 3
/* C86028 80240578 00431021 */ addu $v0, $v0, $v1
/* C8602C 8024057C 000210C0 */ sll $v0, $v0, 3
/* C86030 80240580 0C00FB3A */ jal get_enemy
/* C86034 80240584 00459021 */ addu $s2, $v0, $a1
/* C86038 80240588 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* C8603C 8024058C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* C86040 80240590 C60C0038 */ lwc1 $f12, 0x38($s0)
/* C86044 80240594 8E830000 */ lw $v1, ($s4)
/* C86048 80240598 C60E0040 */ lwc1 $f14, 0x40($s0)
/* C8604C 8024059C 8C660028 */ lw $a2, 0x28($v1)
/* C86050 802405A0 8C670030 */ lw $a3, 0x30($v1)
/* C86054 802405A4 0C00A7B5 */ jal dist2D
/* C86058 802405A8 0040982D */ daddu $s3, $v0, $zero
/* C8605C 802405AC C6620074 */ lwc1 $f2, 0x74($s3)
/* C86060 802405B0 468010A0 */ cvt.s.w $f2, $f2
/* C86064 802405B4 4600103C */ c.lt.s $f2, $f0
/* C86068 802405B8 00000000 */ nop
/* C8606C 802405BC 45030001 */ bc1tl .L802405C4
/* C86070 802405C0 0000882D */ daddu $s1, $zero, $zero
.L802405C4:
/* C86074 802405C4 C64C006C */ lwc1 $f12, 0x6c($s2)
/* C86078 802405C8 C60E000C */ lwc1 $f14, 0xc($s0)
/* C8607C 802405CC 3C014387 */ lui $at, 0x4387
/* C86080 802405D0 4481A000 */ mtc1 $at, $f20
/* C86084 802405D4 0C00A70A */ jal get_clamped_angle_diff
/* C86088 802405D8 00000000 */ nop
/* C8608C 802405DC 0C00A6C9 */ jal clamp_angle
/* C86090 802405E0 46000306 */ mov.s $f12, $f0
/* C86094 802405E4 3C018024 */ lui $at, %hi(D_802463A0_C8BE50)
/* C86098 802405E8 D42263A0 */ ldc1 $f2, %lo(D_802463A0_C8BE50)($at)
/* C8609C 802405EC 46000021 */ cvt.d.s $f0, $f0
/* C860A0 802405F0 4622003C */ c.lt.d $f0, $f2
/* C860A4 802405F4 00000000 */ nop
/* C860A8 802405F8 45000003 */ bc1f .L80240608
/* C860AC 802405FC 00000000 */ nop
/* C860B0 80240600 3C0142B4 */ lui $at, 0x42b4
/* C860B4 80240604 4481A000 */ mtc1 $at, $f20
.L80240608:
/* C860B8 80240608 C60C0038 */ lwc1 $f12, 0x38($s0)
/* C860BC 8024060C 8E820000 */ lw $v0, ($s4)
/* C860C0 80240610 C60E0040 */ lwc1 $f14, 0x40($s0)
/* C860C4 80240614 8C460028 */ lw $a2, 0x28($v0)
/* C860C8 80240618 0C00A720 */ jal atan2
/* C860CC 8024061C 8C470030 */ lw $a3, 0x30($v0)
/* C860D0 80240620 4600A306 */ mov.s $f12, $f20
/* C860D4 80240624 0C00A70A */ jal get_clamped_angle_diff
/* C860D8 80240628 46000386 */ mov.s $f14, $f0
/* C860DC 8024062C C6620078 */ lwc1 $f2, 0x78($s3)
/* C860E0 80240630 468010A0 */ cvt.s.w $f2, $f2
/* C860E4 80240634 46000005 */ abs.s $f0, $f0
/* C860E8 80240638 4600103C */ c.lt.s $f2, $f0
/* C860EC 8024063C 00000000 */ nop
/* C860F0 80240640 45030001 */ bc1tl .L80240648
/* C860F4 80240644 0000882D */ daddu $s1, $zero, $zero
.L80240648:
/* C860F8 80240648 8E820000 */ lw $v0, ($s4)
/* C860FC 8024064C C600003C */ lwc1 $f0, 0x3c($s0)
/* C86100 80240650 C442002C */ lwc1 $f2, 0x2c($v0)
/* C86104 80240654 860200A8 */ lh $v0, 0xa8($s0)
/* C86108 80240658 46020001 */ sub.s $f0, $f0, $f2
/* C8610C 8024065C 44821000 */ mtc1 $v0, $f2
/* C86110 80240660 00000000 */ nop
/* C86114 80240664 468010A1 */ cvt.d.w $f2, $f2
/* C86118 80240668 46221080 */ add.d $f2, $f2, $f2
/* C8611C 8024066C 46000005 */ abs.s $f0, $f0
/* C86120 80240670 46000021 */ cvt.d.s $f0, $f0
/* C86124 80240674 4620103E */ c.le.d $f2, $f0
/* C86128 80240678 00000000 */ nop
/* C8612C 8024067C 45030001 */ bc1tl .L80240684
/* C86130 80240680 0000882D */ daddu $s1, $zero, $zero
.L80240684:
/* C86134 80240684 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* C86138 80240688 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* C8613C 8024068C 24020009 */ addiu $v0, $zero, 9
/* C86140 80240690 50620001 */ beql $v1, $v0, .L80240698
/* C86144 80240694 0000882D */ daddu $s1, $zero, $zero
.L80240698:
/* C86148 80240698 24020007 */ addiu $v0, $zero, 7
/* C8614C 8024069C 50620001 */ beql $v1, $v0, .L802406A4
/* C86150 802406A0 0000882D */ daddu $s1, $zero, $zero
.L802406A4:
/* C86154 802406A4 0220102D */ daddu $v0, $s1, $zero
/* C86158 802406A8 8FBF0024 */ lw $ra, 0x24($sp)
/* C8615C 802406AC 8FB40020 */ lw $s4, 0x20($sp)
/* C86160 802406B0 8FB3001C */ lw $s3, 0x1c($sp)
/* C86164 802406B4 8FB20018 */ lw $s2, 0x18($sp)
/* C86168 802406B8 8FB10014 */ lw $s1, 0x14($sp)
/* C8616C 802406BC 8FB00010 */ lw $s0, 0x10($sp)
/* C86170 802406C0 D7B40028 */ ldc1 $f20, 0x28($sp)
/* C86174 802406C4 03E00008 */ jr $ra
/* C86178 802406C8 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802463A8_C8BE58
.word L80240AB0_C86560, L80240AC0_C86570, L80240AD8_C86588, L80240AE8_C86598, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240B00_C865B0, L80240B10_C865C0, L80240B28_C865D8, L80240B38_C865E8, L80240B50_C86600, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240B68_C86618, L80240B70_C86620, L80240B88_C86638, L80240BA0_C86650, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB8_C86668, L80240BB0_C86660
.section .text
glabel func_8024092C_C863DC
/* C863DC 8024092C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* C863E0 80240930 AFB20038 */ sw $s2, 0x38($sp)
/* C863E4 80240934 0080902D */ daddu $s2, $a0, $zero
/* C863E8 80240938 AFBF0048 */ sw $ra, 0x48($sp)
/* C863EC 8024093C AFB50044 */ sw $s5, 0x44($sp)
/* C863F0 80240940 AFB40040 */ sw $s4, 0x40($sp)
/* C863F4 80240944 AFB3003C */ sw $s3, 0x3c($sp)
/* C863F8 80240948 AFB10034 */ sw $s1, 0x34($sp)
/* C863FC 8024094C AFB00030 */ sw $s0, 0x30($sp)
/* C86400 80240950 8E510148 */ lw $s1, 0x148($s2)
/* C86404 80240954 86240008 */ lh $a0, 8($s1)
/* C86408 80240958 0C00EABB */ jal get_npc_unsafe
/* C8640C 8024095C 00A0802D */ daddu $s0, $a1, $zero
/* C86410 80240960 8E43000C */ lw $v1, 0xc($s2)
/* C86414 80240964 0240202D */ daddu $a0, $s2, $zero
/* C86418 80240968 8C650000 */ lw $a1, ($v1)
/* C8641C 8024096C 0C0B1EAF */ jal get_variable
/* C86420 80240970 0040A82D */ daddu $s5, $v0, $zero
/* C86424 80240974 AFA00010 */ sw $zero, 0x10($sp)
/* C86428 80240978 8E2300D0 */ lw $v1, 0xd0($s1)
/* C8642C 8024097C 8C630030 */ lw $v1, 0x30($v1)
/* C86430 80240980 AFA30014 */ sw $v1, 0x14($sp)
/* C86434 80240984 8E2300D0 */ lw $v1, 0xd0($s1)
/* C86438 80240988 8C63001C */ lw $v1, 0x1c($v1)
/* C8643C 8024098C AFA30018 */ sw $v1, 0x18($sp)
/* C86440 80240990 8E2300D0 */ lw $v1, 0xd0($s1)
/* C86444 80240994 8C630024 */ lw $v1, 0x24($v1)
/* C86448 80240998 AFA3001C */ sw $v1, 0x1c($sp)
/* C8644C 8024099C 8E2300D0 */ lw $v1, 0xd0($s1)
/* C86450 802409A0 8C630028 */ lw $v1, 0x28($v1)
/* C86454 802409A4 27B40010 */ addiu $s4, $sp, 0x10
/* C86458 802409A8 AFA30020 */ sw $v1, 0x20($sp)
/* C8645C 802409AC 8E2300D0 */ lw $v1, 0xd0($s1)
/* C86460 802409B0 3C014282 */ lui $at, 0x4282
/* C86464 802409B4 44810000 */ mtc1 $at, $f0
/* C86468 802409B8 8C63002C */ lw $v1, 0x2c($v1)
/* C8646C 802409BC 0040982D */ daddu $s3, $v0, $zero
/* C86470 802409C0 E7A00028 */ swc1 $f0, 0x28($sp)
/* C86474 802409C4 A7A0002C */ sh $zero, 0x2c($sp)
/* C86478 802409C8 16000005 */ bnez $s0, .L802409E0
/* C8647C 802409CC AFA30024 */ sw $v1, 0x24($sp)
/* C86480 802409D0 8E2200B0 */ lw $v0, 0xb0($s1)
/* C86484 802409D4 30420004 */ andi $v0, $v0, 4
/* C86488 802409D8 10400020 */ beqz $v0, .L80240A5C
/* C8648C 802409DC 00000000 */ nop
.L802409E0:
/* C86490 802409E0 2404F7FF */ addiu $a0, $zero, -0x801
/* C86494 802409E4 AE400070 */ sw $zero, 0x70($s2)
/* C86498 802409E8 A6A0008E */ sh $zero, 0x8e($s5)
/* C8649C 802409EC 8E2200CC */ lw $v0, 0xcc($s1)
/* C864A0 802409F0 8EA30000 */ lw $v1, ($s5)
/* C864A4 802409F4 8C420000 */ lw $v0, ($v0)
/* C864A8 802409F8 00641824 */ and $v1, $v1, $a0
/* C864AC 802409FC AEA30000 */ sw $v1, ($s5)
/* C864B0 80240A00 AEA20028 */ sw $v0, 0x28($s5)
/* C864B4 80240A04 8E2200D0 */ lw $v0, 0xd0($s1)
/* C864B8 80240A08 8C420034 */ lw $v0, 0x34($v0)
/* C864BC 80240A0C 54400005 */ bnel $v0, $zero, .L80240A24
/* C864C0 80240A10 2402FDFF */ addiu $v0, $zero, -0x201
/* C864C4 80240A14 34620200 */ ori $v0, $v1, 0x200
/* C864C8 80240A18 2403FFF7 */ addiu $v1, $zero, -9
/* C864CC 80240A1C 0809028B */ j .L80240A2C
/* C864D0 80240A20 00431024 */ and $v0, $v0, $v1
.L80240A24:
/* C864D4 80240A24 00621024 */ and $v0, $v1, $v0
/* C864D8 80240A28 34420008 */ ori $v0, $v0, 8
.L80240A2C:
/* C864DC 80240A2C AEA20000 */ sw $v0, ($s5)
/* C864E0 80240A30 8E2200B0 */ lw $v0, 0xb0($s1)
/* C864E4 80240A34 30420004 */ andi $v0, $v0, 4
/* C864E8 80240A38 10400007 */ beqz $v0, .L80240A58
/* C864EC 80240A3C 24020063 */ addiu $v0, $zero, 0x63
/* C864F0 80240A40 AE420070 */ sw $v0, 0x70($s2)
/* C864F4 80240A44 AE400074 */ sw $zero, 0x74($s2)
/* C864F8 80240A48 8E2200B0 */ lw $v0, 0xb0($s1)
/* C864FC 80240A4C 2403FFFB */ addiu $v1, $zero, -5
/* C86500 80240A50 00431024 */ and $v0, $v0, $v1
/* C86504 80240A54 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240A58:
/* C86508 80240A58 AE20006C */ sw $zero, 0x6c($s1)
.L80240A5C:
/* C8650C 80240A5C 8E420070 */ lw $v0, 0x70($s2)
/* C86510 80240A60 2842001E */ slti $v0, $v0, 0x1e
/* C86514 80240A64 10400009 */ beqz $v0, .L80240A8C
/* C86518 80240A68 00000000 */ nop
/* C8651C 80240A6C 8E22006C */ lw $v0, 0x6c($s1)
/* C86520 80240A70 14400006 */ bnez $v0, .L80240A8C
/* C86524 80240A74 00000000 */ nop
/* C86528 80240A78 0C090146 */ jal func_80240518_C85FC8
/* C8652C 80240A7C 0240202D */ daddu $a0, $s2, $zero
/* C86530 80240A80 10400002 */ beqz $v0, .L80240A8C
/* C86534 80240A84 2402001E */ addiu $v0, $zero, 0x1e
/* C86538 80240A88 AE420070 */ sw $v0, 0x70($s2)
.L80240A8C:
/* C8653C 80240A8C 8E430070 */ lw $v1, 0x70($s2)
/* C86540 80240A90 2C620064 */ sltiu $v0, $v1, 0x64
/* C86544 80240A94 10400048 */ beqz $v0, L80240BB8_C86668
/* C86548 80240A98 00031080 */ sll $v0, $v1, 2
/* C8654C 80240A9C 3C018024 */ lui $at, %hi(jtbl_802463A8_C8BE58)
/* C86550 80240AA0 00220821 */ addu $at, $at, $v0
/* C86554 80240AA4 8C2263A8 */ lw $v0, %lo(jtbl_802463A8_C8BE58)($at)
/* C86558 80240AA8 00400008 */ jr $v0
/* C8655C 80240AAC 00000000 */ nop
glabel L80240AB0_C86560
/* C86560 80240AB0 0240202D */ daddu $a0, $s2, $zero
/* C86564 80240AB4 0260282D */ daddu $a1, $s3, $zero
/* C86568 80240AB8 0C012568 */ jal func_800495A0
/* C8656C 80240ABC 0280302D */ daddu $a2, $s4, $zero
glabel L80240AC0_C86570
/* C86570 80240AC0 0240202D */ daddu $a0, $s2, $zero
/* C86574 80240AC4 0260282D */ daddu $a1, $s3, $zero
/* C86578 80240AC8 0C0125AE */ jal func_800496B8
/* C8657C 80240ACC 0280302D */ daddu $a2, $s4, $zero
/* C86580 80240AD0 080902EE */ j L80240BB8_C86668
/* C86584 80240AD4 00000000 */ nop
glabel L80240AD8_C86588
/* C86588 80240AD8 0240202D */ daddu $a0, $s2, $zero
/* C8658C 80240ADC 0260282D */ daddu $a1, $s3, $zero
/* C86590 80240AE0 0C0126D1 */ jal base_UnkNpcAIFunc1
/* C86594 80240AE4 0280302D */ daddu $a2, $s4, $zero
glabel L80240AE8_C86598
/* C86598 80240AE8 0240202D */ daddu $a0, $s2, $zero
/* C8659C 80240AEC 0260282D */ daddu $a1, $s3, $zero
/* C865A0 80240AF0 0C012701 */ jal func_80049C04
/* C865A4 80240AF4 0280302D */ daddu $a2, $s4, $zero
/* C865A8 80240AF8 080902EE */ j L80240BB8_C86668
/* C865AC 80240AFC 00000000 */ nop
glabel L80240B00_C865B0
/* C865B0 80240B00 0240202D */ daddu $a0, $s2, $zero
/* C865B4 80240B04 0260282D */ daddu $a1, $s3, $zero
/* C865B8 80240B08 0C01278F */ jal func_80049E3C
/* C865BC 80240B0C 0280302D */ daddu $a2, $s4, $zero
glabel L80240B10_C865C0
/* C865C0 80240B10 0240202D */ daddu $a0, $s2, $zero
/* C865C4 80240B14 0260282D */ daddu $a1, $s3, $zero
/* C865C8 80240B18 0C0127B3 */ jal func_80049ECC
/* C865CC 80240B1C 0280302D */ daddu $a2, $s4, $zero
/* C865D0 80240B20 080902EE */ j L80240BB8_C86668
/* C865D4 80240B24 00000000 */ nop
glabel L80240B28_C865D8
/* C865D8 80240B28 0240202D */ daddu $a0, $s2, $zero
/* C865DC 80240B2C 0260282D */ daddu $a1, $s3, $zero
/* C865E0 80240B30 0C0127DF */ jal func_80049F7C
/* C865E4 80240B34 0280302D */ daddu $a2, $s4, $zero
glabel L80240B38_C865E8
/* C865E8 80240B38 0240202D */ daddu $a0, $s2, $zero
/* C865EC 80240B3C 0260282D */ daddu $a1, $s3, $zero
/* C865F0 80240B40 0C012849 */ jal func_8004A124
/* C865F4 80240B44 0280302D */ daddu $a2, $s4, $zero
/* C865F8 80240B48 080902EE */ j L80240BB8_C86668
/* C865FC 80240B4C 00000000 */ nop
glabel L80240B50_C86600
/* C86600 80240B50 0240202D */ daddu $a0, $s2, $zero
/* C86604 80240B54 0260282D */ daddu $a1, $s3, $zero
/* C86608 80240B58 0C0128FA */ jal func_8004A3E8
/* C8660C 80240B5C 0280302D */ daddu $a2, $s4, $zero
/* C86610 80240B60 080902EE */ j L80240BB8_C86668
/* C86614 80240B64 00000000 */ nop
glabel L80240B68_C86618
/* C86618 80240B68 0C0900C4 */ jal kzn_17_UnkNpcAIFunc6
/* C8661C 80240B6C 0240202D */ daddu $a0, $s2, $zero
glabel L80240B70_C86620
/* C86620 80240B70 0C0900DF */ jal kzn_17_UnkNpcAIFunc7
/* C86624 80240B74 0240202D */ daddu $a0, $s2, $zero
/* C86628 80240B78 8E430070 */ lw $v1, 0x70($s2)
/* C8662C 80240B7C 24020020 */ addiu $v0, $zero, 0x20
/* C86630 80240B80 1462000D */ bne $v1, $v0, L80240BB8_C86668
/* C86634 80240B84 00000000 */ nop
glabel L80240B88_C86638
/* C86638 80240B88 0C0900FB */ jal kzn_17_UnkNpcAIFunc8
/* C8663C 80240B8C 0240202D */ daddu $a0, $s2, $zero
/* C86640 80240B90 8E430070 */ lw $v1, 0x70($s2)
/* C86644 80240B94 24020021 */ addiu $v0, $zero, 0x21
/* C86648 80240B98 14620007 */ bne $v1, $v0, L80240BB8_C86668
/* C8664C 80240B9C 00000000 */ nop
glabel L80240BA0_C86650
/* C86650 80240BA0 0C090131 */ jal kzn_17_UnkNpcAIFunc5
/* C86654 80240BA4 0240202D */ daddu $a0, $s2, $zero
/* C86658 80240BA8 080902EE */ j L80240BB8_C86668
/* C8665C 80240BAC 00000000 */ nop
glabel L80240BB0_C86660
/* C86660 80240BB0 0C0129CF */ jal func_8004A73C
/* C86664 80240BB4 0240202D */ daddu $a0, $s2, $zero
glabel L80240BB8_C86668
/* C86668 80240BB8 8FBF0048 */ lw $ra, 0x48($sp)
/* C8666C 80240BBC 8FB50044 */ lw $s5, 0x44($sp)
/* C86670 80240BC0 8FB40040 */ lw $s4, 0x40($sp)
/* C86674 80240BC4 8FB3003C */ lw $s3, 0x3c($sp)
/* C86678 80240BC8 8FB20038 */ lw $s2, 0x38($sp)
/* C8667C 80240BCC 8FB10034 */ lw $s1, 0x34($sp)
/* C86680 80240BD0 8FB00030 */ lw $s0, 0x30($sp)
/* C86684 80240BD4 0000102D */ daddu $v0, $zero, $zero
/* C86688 80240BD8 03E00008 */ jr $ra
/* C8668C 80240BDC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802445F0_B97A30
.double 180.0
.section .text
glabel func_80240708_B93B48
/* B93B48 80240708 27BDFFD0 */ addiu $sp, $sp, -0x30
/* B93B4C 8024070C AFBF0024 */ sw $ra, 0x24($sp)
/* B93B50 80240710 AFB40020 */ sw $s4, 0x20($sp)
/* B93B54 80240714 AFB3001C */ sw $s3, 0x1c($sp)
/* B93B58 80240718 AFB20018 */ sw $s2, 0x18($sp)
/* B93B5C 8024071C AFB10014 */ sw $s1, 0x14($sp)
/* B93B60 80240720 AFB00010 */ sw $s0, 0x10($sp)
/* B93B64 80240724 F7B40028 */ sdc1 $f20, 0x28($sp)
/* B93B68 80240728 8C900148 */ lw $s0, 0x148($a0)
/* B93B6C 8024072C 86040008 */ lh $a0, 8($s0)
/* B93B70 80240730 0C00EABB */ jal get_npc_unsafe
/* B93B74 80240734 24110001 */ addiu $s1, $zero, 1
/* B93B78 80240738 86040008 */ lh $a0, 8($s0)
/* B93B7C 8024073C 0040802D */ daddu $s0, $v0, $zero
/* B93B80 80240740 3C05800B */ lui $a1, %hi(gCameras)
/* B93B84 80240744 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* B93B88 80240748 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* B93B8C 8024074C 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* B93B90 80240750 00912021 */ addu $a0, $a0, $s1
/* B93B94 80240754 00031080 */ sll $v0, $v1, 2
/* B93B98 80240758 00431021 */ addu $v0, $v0, $v1
/* B93B9C 8024075C 00021080 */ sll $v0, $v0, 2
/* B93BA0 80240760 00431023 */ subu $v0, $v0, $v1
/* B93BA4 80240764 000218C0 */ sll $v1, $v0, 3
/* B93BA8 80240768 00431021 */ addu $v0, $v0, $v1
/* B93BAC 8024076C 000210C0 */ sll $v0, $v0, 3
/* B93BB0 80240770 0C00FB3A */ jal get_enemy
/* B93BB4 80240774 00459021 */ addu $s2, $v0, $a1
/* B93BB8 80240778 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* B93BBC 8024077C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* B93BC0 80240780 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B93BC4 80240784 8E830000 */ lw $v1, ($s4)
/* B93BC8 80240788 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B93BCC 8024078C 8C660028 */ lw $a2, 0x28($v1)
/* B93BD0 80240790 8C670030 */ lw $a3, 0x30($v1)
/* B93BD4 80240794 0C00A7B5 */ jal dist2D
/* B93BD8 80240798 0040982D */ daddu $s3, $v0, $zero
/* B93BDC 8024079C C6620074 */ lwc1 $f2, 0x74($s3)
/* B93BE0 802407A0 468010A0 */ cvt.s.w $f2, $f2
/* B93BE4 802407A4 4600103C */ c.lt.s $f2, $f0
/* B93BE8 802407A8 00000000 */ nop
/* B93BEC 802407AC 45030001 */ bc1tl .L802407B4
/* B93BF0 802407B0 0000882D */ daddu $s1, $zero, $zero
.L802407B4:
/* B93BF4 802407B4 C64C006C */ lwc1 $f12, 0x6c($s2)
/* B93BF8 802407B8 C60E000C */ lwc1 $f14, 0xc($s0)
/* B93BFC 802407BC 3C014387 */ lui $at, 0x4387
/* B93C00 802407C0 4481A000 */ mtc1 $at, $f20
/* B93C04 802407C4 0C00A70A */ jal get_clamped_angle_diff
/* B93C08 802407C8 00000000 */ nop
/* B93C0C 802407CC 0C00A6C9 */ jal clamp_angle
/* B93C10 802407D0 46000306 */ mov.s $f12, $f0
/* B93C14 802407D4 3C018024 */ lui $at, %hi(D_802445F0_B97A30)
/* B93C18 802407D8 D42245F0 */ ldc1 $f2, %lo(D_802445F0_B97A30)($at)
/* B93C1C 802407DC 46000021 */ cvt.d.s $f0, $f0
/* B93C20 802407E0 4622003C */ c.lt.d $f0, $f2
/* B93C24 802407E4 00000000 */ nop
/* B93C28 802407E8 45000003 */ bc1f .L802407F8
/* B93C2C 802407EC 00000000 */ nop
/* B93C30 802407F0 3C0142B4 */ lui $at, 0x42b4
/* B93C34 802407F4 4481A000 */ mtc1 $at, $f20
.L802407F8:
/* B93C38 802407F8 C60C0038 */ lwc1 $f12, 0x38($s0)
/* B93C3C 802407FC 8E820000 */ lw $v0, ($s4)
/* B93C40 80240800 C60E0040 */ lwc1 $f14, 0x40($s0)
/* B93C44 80240804 8C460028 */ lw $a2, 0x28($v0)
/* B93C48 80240808 0C00A720 */ jal atan2
/* B93C4C 8024080C 8C470030 */ lw $a3, 0x30($v0)
/* B93C50 80240810 4600A306 */ mov.s $f12, $f20
/* B93C54 80240814 0C00A70A */ jal get_clamped_angle_diff
/* B93C58 80240818 46000386 */ mov.s $f14, $f0
/* B93C5C 8024081C C6620078 */ lwc1 $f2, 0x78($s3)
/* B93C60 80240820 468010A0 */ cvt.s.w $f2, $f2
/* B93C64 80240824 46000005 */ abs.s $f0, $f0
/* B93C68 80240828 4600103C */ c.lt.s $f2, $f0
/* B93C6C 8024082C 00000000 */ nop
/* B93C70 80240830 45030001 */ bc1tl .L80240838
/* B93C74 80240834 0000882D */ daddu $s1, $zero, $zero
.L80240838:
/* B93C78 80240838 8E820000 */ lw $v0, ($s4)
/* B93C7C 8024083C C600003C */ lwc1 $f0, 0x3c($s0)
/* B93C80 80240840 C442002C */ lwc1 $f2, 0x2c($v0)
/* B93C84 80240844 860200A8 */ lh $v0, 0xa8($s0)
/* B93C88 80240848 46020001 */ sub.s $f0, $f0, $f2
/* B93C8C 8024084C 44821000 */ mtc1 $v0, $f2
/* B93C90 80240850 00000000 */ nop
/* B93C94 80240854 468010A1 */ cvt.d.w $f2, $f2
/* B93C98 80240858 46221080 */ add.d $f2, $f2, $f2
/* B93C9C 8024085C 46000005 */ abs.s $f0, $f0
/* B93CA0 80240860 46000021 */ cvt.d.s $f0, $f0
/* B93CA4 80240864 4620103E */ c.le.d $f2, $f0
/* B93CA8 80240868 00000000 */ nop
/* B93CAC 8024086C 45030001 */ bc1tl .L80240874
/* B93CB0 80240870 0000882D */ daddu $s1, $zero, $zero
.L80240874:
/* B93CB4 80240874 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* B93CB8 80240878 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* B93CBC 8024087C 24020009 */ addiu $v0, $zero, 9
/* B93CC0 80240880 50620001 */ beql $v1, $v0, .L80240888
/* B93CC4 80240884 0000882D */ daddu $s1, $zero, $zero
.L80240888:
/* B93CC8 80240888 24020007 */ addiu $v0, $zero, 7
/* B93CCC 8024088C 50620001 */ beql $v1, $v0, .L80240894
/* B93CD0 80240890 0000882D */ daddu $s1, $zero, $zero
.L80240894:
/* B93CD4 80240894 0220102D */ daddu $v0, $s1, $zero
/* B93CD8 80240898 8FBF0024 */ lw $ra, 0x24($sp)
/* B93CDC 8024089C 8FB40020 */ lw $s4, 0x20($sp)
/* B93CE0 802408A0 8FB3001C */ lw $s3, 0x1c($sp)
/* B93CE4 802408A4 8FB20018 */ lw $s2, 0x18($sp)
/* B93CE8 802408A8 8FB10014 */ lw $s1, 0x14($sp)
/* B93CEC 802408AC 8FB00010 */ lw $s0, 0x10($sp)
/* B93CF0 802408B0 D7B40028 */ ldc1 $f20, 0x28($sp)
/* B93CF4 802408B4 03E00008 */ jr $ra
/* B93CF8 802408B8 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802445F8_B97A38
.word L80240CA0_B940E0, L80240CB0_B940F0, L80240CC8_B94108, L80240CD8_B94118, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240CF0_B94130, L80240D00_B94140, L80240D18_B94158, L80240D28_B94168, L80240D40_B94180, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240D58_B94198, L80240D60_B941A0, L80240D78_B941B8, L80240D90_B941D0, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA8_B941E8, L80240DA0_B941E0
.section .text
glabel func_80240B1C_B93F5C
/* B93F5C 80240B1C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* B93F60 80240B20 AFB20038 */ sw $s2, 0x38($sp)
/* B93F64 80240B24 0080902D */ daddu $s2, $a0, $zero
/* B93F68 80240B28 AFBF0048 */ sw $ra, 0x48($sp)
/* B93F6C 80240B2C AFB50044 */ sw $s5, 0x44($sp)
/* B93F70 80240B30 AFB40040 */ sw $s4, 0x40($sp)
/* B93F74 80240B34 AFB3003C */ sw $s3, 0x3c($sp)
/* B93F78 80240B38 AFB10034 */ sw $s1, 0x34($sp)
/* B93F7C 80240B3C AFB00030 */ sw $s0, 0x30($sp)
/* B93F80 80240B40 8E510148 */ lw $s1, 0x148($s2)
/* B93F84 80240B44 86240008 */ lh $a0, 8($s1)
/* B93F88 80240B48 0C00EABB */ jal get_npc_unsafe
/* B93F8C 80240B4C 00A0802D */ daddu $s0, $a1, $zero
/* B93F90 80240B50 8E43000C */ lw $v1, 0xc($s2)
/* B93F94 80240B54 0240202D */ daddu $a0, $s2, $zero
/* B93F98 80240B58 8C650000 */ lw $a1, ($v1)
/* B93F9C 80240B5C 0C0B1EAF */ jal get_variable
/* B93FA0 80240B60 0040A82D */ daddu $s5, $v0, $zero
/* B93FA4 80240B64 AFA00010 */ sw $zero, 0x10($sp)
/* B93FA8 80240B68 8E2300D0 */ lw $v1, 0xd0($s1)
/* B93FAC 80240B6C 8C630030 */ lw $v1, 0x30($v1)
/* B93FB0 80240B70 AFA30014 */ sw $v1, 0x14($sp)
/* B93FB4 80240B74 8E2300D0 */ lw $v1, 0xd0($s1)
/* B93FB8 80240B78 8C63001C */ lw $v1, 0x1c($v1)
/* B93FBC 80240B7C AFA30018 */ sw $v1, 0x18($sp)
/* B93FC0 80240B80 8E2300D0 */ lw $v1, 0xd0($s1)
/* B93FC4 80240B84 8C630024 */ lw $v1, 0x24($v1)
/* B93FC8 80240B88 AFA3001C */ sw $v1, 0x1c($sp)
/* B93FCC 80240B8C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B93FD0 80240B90 8C630028 */ lw $v1, 0x28($v1)
/* B93FD4 80240B94 27B40010 */ addiu $s4, $sp, 0x10
/* B93FD8 80240B98 AFA30020 */ sw $v1, 0x20($sp)
/* B93FDC 80240B9C 8E2300D0 */ lw $v1, 0xd0($s1)
/* B93FE0 80240BA0 3C014282 */ lui $at, 0x4282
/* B93FE4 80240BA4 44810000 */ mtc1 $at, $f0
/* B93FE8 80240BA8 8C63002C */ lw $v1, 0x2c($v1)
/* B93FEC 80240BAC 0040982D */ daddu $s3, $v0, $zero
/* B93FF0 80240BB0 E7A00028 */ swc1 $f0, 0x28($sp)
/* B93FF4 80240BB4 A7A0002C */ sh $zero, 0x2c($sp)
/* B93FF8 80240BB8 16000005 */ bnez $s0, .L80240BD0
/* B93FFC 80240BBC AFA30024 */ sw $v1, 0x24($sp)
/* B94000 80240BC0 8E2200B0 */ lw $v0, 0xb0($s1)
/* B94004 80240BC4 30420004 */ andi $v0, $v0, 4
/* B94008 80240BC8 10400020 */ beqz $v0, .L80240C4C
/* B9400C 80240BCC 00000000 */ nop
.L80240BD0:
/* B94010 80240BD0 2404F7FF */ addiu $a0, $zero, -0x801
/* B94014 80240BD4 AE400070 */ sw $zero, 0x70($s2)
/* B94018 80240BD8 A6A0008E */ sh $zero, 0x8e($s5)
/* B9401C 80240BDC 8E2200CC */ lw $v0, 0xcc($s1)
/* B94020 80240BE0 8EA30000 */ lw $v1, ($s5)
/* B94024 80240BE4 8C420000 */ lw $v0, ($v0)
/* B94028 80240BE8 00641824 */ and $v1, $v1, $a0
/* B9402C 80240BEC AEA30000 */ sw $v1, ($s5)
/* B94030 80240BF0 AEA20028 */ sw $v0, 0x28($s5)
/* B94034 80240BF4 8E2200D0 */ lw $v0, 0xd0($s1)
/* B94038 80240BF8 8C420034 */ lw $v0, 0x34($v0)
/* B9403C 80240BFC 54400005 */ bnel $v0, $zero, .L80240C14
/* B94040 80240C00 2402FDFF */ addiu $v0, $zero, -0x201
/* B94044 80240C04 34620200 */ ori $v0, $v1, 0x200
/* B94048 80240C08 2403FFF7 */ addiu $v1, $zero, -9
/* B9404C 80240C0C 08090307 */ j .L80240C1C
/* B94050 80240C10 00431024 */ and $v0, $v0, $v1
.L80240C14:
/* B94054 80240C14 00621024 */ and $v0, $v1, $v0
/* B94058 80240C18 34420008 */ ori $v0, $v0, 8
.L80240C1C:
/* B9405C 80240C1C AEA20000 */ sw $v0, ($s5)
/* B94060 80240C20 8E2200B0 */ lw $v0, 0xb0($s1)
/* B94064 80240C24 30420004 */ andi $v0, $v0, 4
/* B94068 80240C28 10400007 */ beqz $v0, .L80240C48
/* B9406C 80240C2C 24020063 */ addiu $v0, $zero, 0x63
/* B94070 80240C30 AE420070 */ sw $v0, 0x70($s2)
/* B94074 80240C34 AE400074 */ sw $zero, 0x74($s2)
/* B94078 80240C38 8E2200B0 */ lw $v0, 0xb0($s1)
/* B9407C 80240C3C 2403FFFB */ addiu $v1, $zero, -5
/* B94080 80240C40 00431024 */ and $v0, $v0, $v1
/* B94084 80240C44 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240C48:
/* B94088 80240C48 AE20006C */ sw $zero, 0x6c($s1)
.L80240C4C:
/* B9408C 80240C4C 8E420070 */ lw $v0, 0x70($s2)
/* B94090 80240C50 2842001E */ slti $v0, $v0, 0x1e
/* B94094 80240C54 10400009 */ beqz $v0, .L80240C7C
/* B94098 80240C58 00000000 */ nop
/* B9409C 80240C5C 8E22006C */ lw $v0, 0x6c($s1)
/* B940A0 80240C60 14400006 */ bnez $v0, .L80240C7C
/* B940A4 80240C64 00000000 */ nop
/* B940A8 80240C68 0C0901C2 */ jal func_80240708_B93B48
/* B940AC 80240C6C 0240202D */ daddu $a0, $s2, $zero
/* B940B0 80240C70 10400002 */ beqz $v0, .L80240C7C
/* B940B4 80240C74 2402001E */ addiu $v0, $zero, 0x1e
/* B940B8 80240C78 AE420070 */ sw $v0, 0x70($s2)
.L80240C7C:
/* B940BC 80240C7C 8E430070 */ lw $v1, 0x70($s2)
/* B940C0 80240C80 2C620064 */ sltiu $v0, $v1, 0x64
/* B940C4 80240C84 10400048 */ beqz $v0, L80240DA8_B941E8
/* B940C8 80240C88 00031080 */ sll $v0, $v1, 2
/* B940CC 80240C8C 3C018024 */ lui $at, %hi(jtbl_802445F8_B97A38)
/* B940D0 80240C90 00220821 */ addu $at, $at, $v0
/* B940D4 80240C94 8C2245F8 */ lw $v0, %lo(jtbl_802445F8_B97A38)($at)
/* B940D8 80240C98 00400008 */ jr $v0
/* B940DC 80240C9C 00000000 */ nop
glabel L80240CA0_B940E0
/* B940E0 80240CA0 0240202D */ daddu $a0, $s2, $zero
/* B940E4 80240CA4 0260282D */ daddu $a1, $s3, $zero
/* B940E8 80240CA8 0C012568 */ jal func_800495A0
/* B940EC 80240CAC 0280302D */ daddu $a2, $s4, $zero
glabel L80240CB0_B940F0
/* B940F0 80240CB0 0240202D */ daddu $a0, $s2, $zero
/* B940F4 80240CB4 0260282D */ daddu $a1, $s3, $zero
/* B940F8 80240CB8 0C0125AE */ jal func_800496B8
/* B940FC 80240CBC 0280302D */ daddu $a2, $s4, $zero
/* B94100 80240CC0 0809036A */ j L80240DA8_B941E8
/* B94104 80240CC4 00000000 */ nop
glabel L80240CC8_B94108
/* B94108 80240CC8 0240202D */ daddu $a0, $s2, $zero
/* B9410C 80240CCC 0260282D */ daddu $a1, $s3, $zero
/* B94110 80240CD0 0C0126D1 */ jal base_UnkNpcAIFunc1
/* B94114 80240CD4 0280302D */ daddu $a2, $s4, $zero
glabel L80240CD8_B94118
/* B94118 80240CD8 0240202D */ daddu $a0, $s2, $zero
/* B9411C 80240CDC 0260282D */ daddu $a1, $s3, $zero
/* B94120 80240CE0 0C012701 */ jal func_80049C04
/* B94124 80240CE4 0280302D */ daddu $a2, $s4, $zero
/* B94128 80240CE8 0809036A */ j L80240DA8_B941E8
/* B9412C 80240CEC 00000000 */ nop
glabel L80240CF0_B94130
/* B94130 80240CF0 0240202D */ daddu $a0, $s2, $zero
/* B94134 80240CF4 0260282D */ daddu $a1, $s3, $zero
/* B94138 80240CF8 0C01278F */ jal func_80049E3C
/* B9413C 80240CFC 0280302D */ daddu $a2, $s4, $zero
glabel L80240D00_B94140
/* B94140 80240D00 0240202D */ daddu $a0, $s2, $zero
/* B94144 80240D04 0260282D */ daddu $a1, $s3, $zero
/* B94148 80240D08 0C0127B3 */ jal func_80049ECC
/* B9414C 80240D0C 0280302D */ daddu $a2, $s4, $zero
/* B94150 80240D10 0809036A */ j L80240DA8_B941E8
/* B94154 80240D14 00000000 */ nop
glabel L80240D18_B94158
/* B94158 80240D18 0240202D */ daddu $a0, $s2, $zero
/* B9415C 80240D1C 0260282D */ daddu $a1, $s3, $zero
/* B94160 80240D20 0C0127DF */ jal func_80049F7C
/* B94164 80240D24 0280302D */ daddu $a2, $s4, $zero
glabel L80240D28_B94168
/* B94168 80240D28 0240202D */ daddu $a0, $s2, $zero
/* B9416C 80240D2C 0260282D */ daddu $a1, $s3, $zero
/* B94170 80240D30 0C012849 */ jal func_8004A124
/* B94174 80240D34 0280302D */ daddu $a2, $s4, $zero
/* B94178 80240D38 0809036A */ j L80240DA8_B941E8
/* B9417C 80240D3C 00000000 */ nop
glabel L80240D40_B94180
/* B94180 80240D40 0240202D */ daddu $a0, $s2, $zero
/* B94184 80240D44 0260282D */ daddu $a1, $s3, $zero
/* B94188 80240D48 0C0128FA */ jal func_8004A3E8
/* B9418C 80240D4C 0280302D */ daddu $a2, $s4, $zero
/* B94190 80240D50 0809036A */ j L80240DA8_B941E8
/* B94194 80240D54 00000000 */ nop
glabel L80240D58_B94198
/* B94198 80240D58 0C090140 */ jal mim_01_UnkNpcAIFunc6
/* B9419C 80240D5C 0240202D */ daddu $a0, $s2, $zero
glabel L80240D60_B941A0
/* B941A0 80240D60 0C09015B */ jal mim_01_UnkNpcAIFunc7
/* B941A4 80240D64 0240202D */ daddu $a0, $s2, $zero
/* B941A8 80240D68 8E430070 */ lw $v1, 0x70($s2)
/* B941AC 80240D6C 24020020 */ addiu $v0, $zero, 0x20
/* B941B0 80240D70 1462000D */ bne $v1, $v0, L80240DA8_B941E8
/* B941B4 80240D74 00000000 */ nop
glabel L80240D78_B941B8
/* B941B8 80240D78 0C090177 */ jal mim_01_UnkNpcAIFunc8
/* B941BC 80240D7C 0240202D */ daddu $a0, $s2, $zero
/* B941C0 80240D80 8E430070 */ lw $v1, 0x70($s2)
/* B941C4 80240D84 24020021 */ addiu $v0, $zero, 0x21
/* B941C8 80240D88 14620007 */ bne $v1, $v0, L80240DA8_B941E8
/* B941CC 80240D8C 00000000 */ nop
glabel L80240D90_B941D0
/* B941D0 80240D90 0C0901AD */ jal mim_01_UnkNpcAIFunc5
/* B941D4 80240D94 0240202D */ daddu $a0, $s2, $zero
/* B941D8 80240D98 0809036A */ j L80240DA8_B941E8
/* B941DC 80240D9C 00000000 */ nop
glabel L80240DA0_B941E0
/* B941E0 80240DA0 0C0129CF */ jal func_8004A73C
/* B941E4 80240DA4 0240202D */ daddu $a0, $s2, $zero
glabel L80240DA8_B941E8
/* B941E8 80240DA8 8FBF0048 */ lw $ra, 0x48($sp)
/* B941EC 80240DAC 8FB50044 */ lw $s5, 0x44($sp)
/* B941F0 80240DB0 8FB40040 */ lw $s4, 0x40($sp)
/* B941F4 80240DB4 8FB3003C */ lw $s3, 0x3c($sp)
/* B941F8 80240DB8 8FB20038 */ lw $s2, 0x38($sp)
/* B941FC 80240DBC 8FB10034 */ lw $s1, 0x34($sp)
/* B94200 80240DC0 8FB00030 */ lw $s0, 0x30($sp)
/* B94204 80240DC4 0000102D */ daddu $v0, $zero, $zero
/* B94208 80240DC8 03E00008 */ jr $ra
/* B9420C 80240DCC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80243E80_BA45B0
.double 180.0
.section .text
glabel func_80240278_BA09A8
/* BA09A8 80240278 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BA09AC 8024027C AFBF0024 */ sw $ra, 0x24($sp)
/* BA09B0 80240280 AFB40020 */ sw $s4, 0x20($sp)
/* BA09B4 80240284 AFB3001C */ sw $s3, 0x1c($sp)
/* BA09B8 80240288 AFB20018 */ sw $s2, 0x18($sp)
/* BA09BC 8024028C AFB10014 */ sw $s1, 0x14($sp)
/* BA09C0 80240290 AFB00010 */ sw $s0, 0x10($sp)
/* BA09C4 80240294 F7B40028 */ sdc1 $f20, 0x28($sp)
/* BA09C8 80240298 8C900148 */ lw $s0, 0x148($a0)
/* BA09CC 8024029C 86040008 */ lh $a0, 8($s0)
/* BA09D0 802402A0 0C00EABB */ jal get_npc_unsafe
/* BA09D4 802402A4 24110001 */ addiu $s1, $zero, 1
/* BA09D8 802402A8 86040008 */ lh $a0, 8($s0)
/* BA09DC 802402AC 0040802D */ daddu $s0, $v0, $zero
/* BA09E0 802402B0 3C05800B */ lui $a1, %hi(gCameras)
/* BA09E4 802402B4 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* BA09E8 802402B8 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* BA09EC 802402BC 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* BA09F0 802402C0 00912021 */ addu $a0, $a0, $s1
/* BA09F4 802402C4 00031080 */ sll $v0, $v1, 2
/* BA09F8 802402C8 00431021 */ addu $v0, $v0, $v1
/* BA09FC 802402CC 00021080 */ sll $v0, $v0, 2
/* BA0A00 802402D0 00431023 */ subu $v0, $v0, $v1
/* BA0A04 802402D4 000218C0 */ sll $v1, $v0, 3
/* BA0A08 802402D8 00431021 */ addu $v0, $v0, $v1
/* BA0A0C 802402DC 000210C0 */ sll $v0, $v0, 3
/* BA0A10 802402E0 0C00FB3A */ jal get_enemy
/* BA0A14 802402E4 00459021 */ addu $s2, $v0, $a1
/* BA0A18 802402E8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* BA0A1C 802402EC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* BA0A20 802402F0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BA0A24 802402F4 8E830000 */ lw $v1, ($s4)
/* BA0A28 802402F8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BA0A2C 802402FC 8C660028 */ lw $a2, 0x28($v1)
/* BA0A30 80240300 8C670030 */ lw $a3, 0x30($v1)
/* BA0A34 80240304 0C00A7B5 */ jal dist2D
/* BA0A38 80240308 0040982D */ daddu $s3, $v0, $zero
/* BA0A3C 8024030C C6620074 */ lwc1 $f2, 0x74($s3)
/* BA0A40 80240310 468010A0 */ cvt.s.w $f2, $f2
/* BA0A44 80240314 4600103C */ c.lt.s $f2, $f0
/* BA0A48 80240318 00000000 */ nop
/* BA0A4C 8024031C 45030001 */ bc1tl .L80240324
/* BA0A50 80240320 0000882D */ daddu $s1, $zero, $zero
.L80240324:
/* BA0A54 80240324 C64C006C */ lwc1 $f12, 0x6c($s2)
/* BA0A58 80240328 C60E000C */ lwc1 $f14, 0xc($s0)
/* BA0A5C 8024032C 3C014387 */ lui $at, 0x4387
/* BA0A60 80240330 4481A000 */ mtc1 $at, $f20
/* BA0A64 80240334 0C00A70A */ jal get_clamped_angle_diff
/* BA0A68 80240338 00000000 */ nop
/* BA0A6C 8024033C 0C00A6C9 */ jal clamp_angle
/* BA0A70 80240340 46000306 */ mov.s $f12, $f0
/* BA0A74 80240344 3C018024 */ lui $at, %hi(D_80243E80_BA45B0)
/* BA0A78 80240348 D4223E80 */ ldc1 $f2, %lo(D_80243E80_BA45B0)($at)
/* BA0A7C 8024034C 46000021 */ cvt.d.s $f0, $f0
/* BA0A80 80240350 4622003C */ c.lt.d $f0, $f2
/* BA0A84 80240354 00000000 */ nop
/* BA0A88 80240358 45000003 */ bc1f .L80240368
/* BA0A8C 8024035C 00000000 */ nop
/* BA0A90 80240360 3C0142B4 */ lui $at, 0x42b4
/* BA0A94 80240364 4481A000 */ mtc1 $at, $f20
.L80240368:
/* BA0A98 80240368 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BA0A9C 8024036C 8E820000 */ lw $v0, ($s4)
/* BA0AA0 80240370 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BA0AA4 80240374 8C460028 */ lw $a2, 0x28($v0)
/* BA0AA8 80240378 0C00A720 */ jal atan2
/* BA0AAC 8024037C 8C470030 */ lw $a3, 0x30($v0)
/* BA0AB0 80240380 4600A306 */ mov.s $f12, $f20
/* BA0AB4 80240384 0C00A70A */ jal get_clamped_angle_diff
/* BA0AB8 80240388 46000386 */ mov.s $f14, $f0
/* BA0ABC 8024038C C6620078 */ lwc1 $f2, 0x78($s3)
/* BA0AC0 80240390 468010A0 */ cvt.s.w $f2, $f2
/* BA0AC4 80240394 46000005 */ abs.s $f0, $f0
/* BA0AC8 80240398 4600103C */ c.lt.s $f2, $f0
/* BA0ACC 8024039C 00000000 */ nop
/* BA0AD0 802403A0 45030001 */ bc1tl .L802403A8
/* BA0AD4 802403A4 0000882D */ daddu $s1, $zero, $zero
.L802403A8:
/* BA0AD8 802403A8 8E820000 */ lw $v0, ($s4)
/* BA0ADC 802403AC C600003C */ lwc1 $f0, 0x3c($s0)
/* BA0AE0 802403B0 C442002C */ lwc1 $f2, 0x2c($v0)
/* BA0AE4 802403B4 860200A8 */ lh $v0, 0xa8($s0)
/* BA0AE8 802403B8 46020001 */ sub.s $f0, $f0, $f2
/* BA0AEC 802403BC 44821000 */ mtc1 $v0, $f2
/* BA0AF0 802403C0 00000000 */ nop
/* BA0AF4 802403C4 468010A1 */ cvt.d.w $f2, $f2
/* BA0AF8 802403C8 46221080 */ add.d $f2, $f2, $f2
/* BA0AFC 802403CC 46000005 */ abs.s $f0, $f0
/* BA0B00 802403D0 46000021 */ cvt.d.s $f0, $f0
/* BA0B04 802403D4 4620103E */ c.le.d $f2, $f0
/* BA0B08 802403D8 00000000 */ nop
/* BA0B0C 802403DC 45030001 */ bc1tl .L802403E4
/* BA0B10 802403E0 0000882D */ daddu $s1, $zero, $zero
.L802403E4:
/* BA0B14 802403E4 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* BA0B18 802403E8 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* BA0B1C 802403EC 24020009 */ addiu $v0, $zero, 9
/* BA0B20 802403F0 50620001 */ beql $v1, $v0, .L802403F8
/* BA0B24 802403F4 0000882D */ daddu $s1, $zero, $zero
.L802403F8:
/* BA0B28 802403F8 24020007 */ addiu $v0, $zero, 7
/* BA0B2C 802403FC 50620001 */ beql $v1, $v0, .L80240404
/* BA0B30 80240400 0000882D */ daddu $s1, $zero, $zero
.L80240404:
/* BA0B34 80240404 0220102D */ daddu $v0, $s1, $zero
/* BA0B38 80240408 8FBF0024 */ lw $ra, 0x24($sp)
/* BA0B3C 8024040C 8FB40020 */ lw $s4, 0x20($sp)
/* BA0B40 80240410 8FB3001C */ lw $s3, 0x1c($sp)
/* BA0B44 80240414 8FB20018 */ lw $s2, 0x18($sp)
/* BA0B48 80240418 8FB10014 */ lw $s1, 0x14($sp)
/* BA0B4C 8024041C 8FB00010 */ lw $s0, 0x10($sp)
/* BA0B50 80240420 D7B40028 */ ldc1 $f20, 0x28($sp)
/* BA0B54 80240424 03E00008 */ jr $ra
/* BA0B58 80240428 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80243E88_BA45B8
.word L80240810_BA0F40, L80240820_BA0F50, L80240838_BA0F68, L80240848_BA0F78, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240860_BA0F90, L80240870_BA0FA0, L80240888_BA0FB8, L80240898_BA0FC8, L802408B0_BA0FE0, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L802408C8_BA0FF8, L802408D0_BA1000, L802408E8_BA1018, L80240900_BA1030, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240918_BA1048, L80240910_BA1040
.section .text
glabel func_8024068C_BA0DBC
/* BA0DBC 8024068C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BA0DC0 80240690 AFB20038 */ sw $s2, 0x38($sp)
/* BA0DC4 80240694 0080902D */ daddu $s2, $a0, $zero
/* BA0DC8 80240698 AFBF0048 */ sw $ra, 0x48($sp)
/* BA0DCC 8024069C AFB50044 */ sw $s5, 0x44($sp)
/* BA0DD0 802406A0 AFB40040 */ sw $s4, 0x40($sp)
/* BA0DD4 802406A4 AFB3003C */ sw $s3, 0x3c($sp)
/* BA0DD8 802406A8 AFB10034 */ sw $s1, 0x34($sp)
/* BA0DDC 802406AC AFB00030 */ sw $s0, 0x30($sp)
/* BA0DE0 802406B0 8E510148 */ lw $s1, 0x148($s2)
/* BA0DE4 802406B4 86240008 */ lh $a0, 8($s1)
/* BA0DE8 802406B8 0C00EABB */ jal get_npc_unsafe
/* BA0DEC 802406BC 00A0802D */ daddu $s0, $a1, $zero
/* BA0DF0 802406C0 8E43000C */ lw $v1, 0xc($s2)
/* BA0DF4 802406C4 0240202D */ daddu $a0, $s2, $zero
/* BA0DF8 802406C8 8C650000 */ lw $a1, ($v1)
/* BA0DFC 802406CC 0C0B1EAF */ jal get_variable
/* BA0E00 802406D0 0040A82D */ daddu $s5, $v0, $zero
/* BA0E04 802406D4 AFA00010 */ sw $zero, 0x10($sp)
/* BA0E08 802406D8 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA0E0C 802406DC 8C630030 */ lw $v1, 0x30($v1)
/* BA0E10 802406E0 AFA30014 */ sw $v1, 0x14($sp)
/* BA0E14 802406E4 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA0E18 802406E8 8C63001C */ lw $v1, 0x1c($v1)
/* BA0E1C 802406EC AFA30018 */ sw $v1, 0x18($sp)
/* BA0E20 802406F0 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA0E24 802406F4 8C630024 */ lw $v1, 0x24($v1)
/* BA0E28 802406F8 AFA3001C */ sw $v1, 0x1c($sp)
/* BA0E2C 802406FC 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA0E30 80240700 8C630028 */ lw $v1, 0x28($v1)
/* BA0E34 80240704 27B40010 */ addiu $s4, $sp, 0x10
/* BA0E38 80240708 AFA30020 */ sw $v1, 0x20($sp)
/* BA0E3C 8024070C 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA0E40 80240710 3C014282 */ lui $at, 0x4282
/* BA0E44 80240714 44810000 */ mtc1 $at, $f0
/* BA0E48 80240718 8C63002C */ lw $v1, 0x2c($v1)
/* BA0E4C 8024071C 0040982D */ daddu $s3, $v0, $zero
/* BA0E50 80240720 E7A00028 */ swc1 $f0, 0x28($sp)
/* BA0E54 80240724 A7A0002C */ sh $zero, 0x2c($sp)
/* BA0E58 80240728 16000005 */ bnez $s0, .L80240740
/* BA0E5C 8024072C AFA30024 */ sw $v1, 0x24($sp)
/* BA0E60 80240730 8E2200B0 */ lw $v0, 0xb0($s1)
/* BA0E64 80240734 30420004 */ andi $v0, $v0, 4
/* BA0E68 80240738 10400020 */ beqz $v0, .L802407BC
/* BA0E6C 8024073C 00000000 */ nop
.L80240740:
/* BA0E70 80240740 2404F7FF */ addiu $a0, $zero, -0x801
/* BA0E74 80240744 AE400070 */ sw $zero, 0x70($s2)
/* BA0E78 80240748 A6A0008E */ sh $zero, 0x8e($s5)
/* BA0E7C 8024074C 8E2200CC */ lw $v0, 0xcc($s1)
/* BA0E80 80240750 8EA30000 */ lw $v1, ($s5)
/* BA0E84 80240754 8C420000 */ lw $v0, ($v0)
/* BA0E88 80240758 00641824 */ and $v1, $v1, $a0
/* BA0E8C 8024075C AEA30000 */ sw $v1, ($s5)
/* BA0E90 80240760 AEA20028 */ sw $v0, 0x28($s5)
/* BA0E94 80240764 8E2200D0 */ lw $v0, 0xd0($s1)
/* BA0E98 80240768 8C420034 */ lw $v0, 0x34($v0)
/* BA0E9C 8024076C 54400005 */ bnel $v0, $zero, .L80240784
/* BA0EA0 80240770 2402FDFF */ addiu $v0, $zero, -0x201
/* BA0EA4 80240774 34620200 */ ori $v0, $v1, 0x200
/* BA0EA8 80240778 2403FFF7 */ addiu $v1, $zero, -9
/* BA0EAC 8024077C 080901E3 */ j .L8024078C
/* BA0EB0 80240780 00431024 */ and $v0, $v0, $v1
.L80240784:
/* BA0EB4 80240784 00621024 */ and $v0, $v1, $v0
/* BA0EB8 80240788 34420008 */ ori $v0, $v0, 8
.L8024078C:
/* BA0EBC 8024078C AEA20000 */ sw $v0, ($s5)
/* BA0EC0 80240790 8E2200B0 */ lw $v0, 0xb0($s1)
/* BA0EC4 80240794 30420004 */ andi $v0, $v0, 4
/* BA0EC8 80240798 10400007 */ beqz $v0, .L802407B8
/* BA0ECC 8024079C 24020063 */ addiu $v0, $zero, 0x63
/* BA0ED0 802407A0 AE420070 */ sw $v0, 0x70($s2)
/* BA0ED4 802407A4 AE400074 */ sw $zero, 0x74($s2)
/* BA0ED8 802407A8 8E2200B0 */ lw $v0, 0xb0($s1)
/* BA0EDC 802407AC 2403FFFB */ addiu $v1, $zero, -5
/* BA0EE0 802407B0 00431024 */ and $v0, $v0, $v1
/* BA0EE4 802407B4 AE2200B0 */ sw $v0, 0xb0($s1)
.L802407B8:
/* BA0EE8 802407B8 AE20006C */ sw $zero, 0x6c($s1)
.L802407BC:
/* BA0EEC 802407BC 8E420070 */ lw $v0, 0x70($s2)
/* BA0EF0 802407C0 2842001E */ slti $v0, $v0, 0x1e
/* BA0EF4 802407C4 10400009 */ beqz $v0, .L802407EC
/* BA0EF8 802407C8 00000000 */ nop
/* BA0EFC 802407CC 8E22006C */ lw $v0, 0x6c($s1)
/* BA0F00 802407D0 14400006 */ bnez $v0, .L802407EC
/* BA0F04 802407D4 00000000 */ nop
/* BA0F08 802407D8 0C09009E */ jal func_80240278_BA09A8
/* BA0F0C 802407DC 0240202D */ daddu $a0, $s2, $zero
/* BA0F10 802407E0 10400002 */ beqz $v0, .L802407EC
/* BA0F14 802407E4 2402001E */ addiu $v0, $zero, 0x1e
/* BA0F18 802407E8 AE420070 */ sw $v0, 0x70($s2)
.L802407EC:
/* BA0F1C 802407EC 8E430070 */ lw $v1, 0x70($s2)
/* BA0F20 802407F0 2C620064 */ sltiu $v0, $v1, 0x64
/* BA0F24 802407F4 10400048 */ beqz $v0, L80240918_BA1048
/* BA0F28 802407F8 00031080 */ sll $v0, $v1, 2
/* BA0F2C 802407FC 3C018024 */ lui $at, %hi(jtbl_80243E88_BA45B8)
/* BA0F30 80240800 00220821 */ addu $at, $at, $v0
/* BA0F34 80240804 8C223E88 */ lw $v0, %lo(jtbl_80243E88_BA45B8)($at)
/* BA0F38 80240808 00400008 */ jr $v0
/* BA0F3C 8024080C 00000000 */ nop
glabel L80240810_BA0F40
/* BA0F40 80240810 0240202D */ daddu $a0, $s2, $zero
/* BA0F44 80240814 0260282D */ daddu $a1, $s3, $zero
/* BA0F48 80240818 0C012568 */ jal func_800495A0
/* BA0F4C 8024081C 0280302D */ daddu $a2, $s4, $zero
glabel L80240820_BA0F50
/* BA0F50 80240820 0240202D */ daddu $a0, $s2, $zero
/* BA0F54 80240824 0260282D */ daddu $a1, $s3, $zero
/* BA0F58 80240828 0C0125AE */ jal func_800496B8
/* BA0F5C 8024082C 0280302D */ daddu $a2, $s4, $zero
/* BA0F60 80240830 08090246 */ j L80240918_BA1048
/* BA0F64 80240834 00000000 */ nop
glabel L80240838_BA0F68
/* BA0F68 80240838 0240202D */ daddu $a0, $s2, $zero
/* BA0F6C 8024083C 0260282D */ daddu $a1, $s3, $zero
/* BA0F70 80240840 0C0126D1 */ jal base_UnkNpcAIFunc1
/* BA0F74 80240844 0280302D */ daddu $a2, $s4, $zero
glabel L80240848_BA0F78
/* BA0F78 80240848 0240202D */ daddu $a0, $s2, $zero
/* BA0F7C 8024084C 0260282D */ daddu $a1, $s3, $zero
/* BA0F80 80240850 0C012701 */ jal func_80049C04
/* BA0F84 80240854 0280302D */ daddu $a2, $s4, $zero
/* BA0F88 80240858 08090246 */ j L80240918_BA1048
/* BA0F8C 8024085C 00000000 */ nop
glabel L80240860_BA0F90
/* BA0F90 80240860 0240202D */ daddu $a0, $s2, $zero
/* BA0F94 80240864 0260282D */ daddu $a1, $s3, $zero
/* BA0F98 80240868 0C01278F */ jal func_80049E3C
/* BA0F9C 8024086C 0280302D */ daddu $a2, $s4, $zero
glabel L80240870_BA0FA0
/* BA0FA0 80240870 0240202D */ daddu $a0, $s2, $zero
/* BA0FA4 80240874 0260282D */ daddu $a1, $s3, $zero
/* BA0FA8 80240878 0C0127B3 */ jal func_80049ECC
/* BA0FAC 8024087C 0280302D */ daddu $a2, $s4, $zero
/* BA0FB0 80240880 08090246 */ j L80240918_BA1048
/* BA0FB4 80240884 00000000 */ nop
glabel L80240888_BA0FB8
/* BA0FB8 80240888 0240202D */ daddu $a0, $s2, $zero
/* BA0FBC 8024088C 0260282D */ daddu $a1, $s3, $zero
/* BA0FC0 80240890 0C0127DF */ jal func_80049F7C
/* BA0FC4 80240894 0280302D */ daddu $a2, $s4, $zero
glabel L80240898_BA0FC8
/* BA0FC8 80240898 0240202D */ daddu $a0, $s2, $zero
/* BA0FCC 8024089C 0260282D */ daddu $a1, $s3, $zero
/* BA0FD0 802408A0 0C012849 */ jal func_8004A124
/* BA0FD4 802408A4 0280302D */ daddu $a2, $s4, $zero
/* BA0FD8 802408A8 08090246 */ j L80240918_BA1048
/* BA0FDC 802408AC 00000000 */ nop
glabel L802408B0_BA0FE0
/* BA0FE0 802408B0 0240202D */ daddu $a0, $s2, $zero
/* BA0FE4 802408B4 0260282D */ daddu $a1, $s3, $zero
/* BA0FE8 802408B8 0C0128FA */ jal func_8004A3E8
/* BA0FEC 802408BC 0280302D */ daddu $a2, $s4, $zero
/* BA0FF0 802408C0 08090246 */ j L80240918_BA1048
/* BA0FF4 802408C4 00000000 */ nop
glabel L802408C8_BA0FF8
/* BA0FF8 802408C8 0C09001C */ jal mim_05_UnkNpcAIFunc6
/* BA0FFC 802408CC 0240202D */ daddu $a0, $s2, $zero
glabel L802408D0_BA1000
/* BA1000 802408D0 0C090037 */ jal mim_05_UnkNpcAIFunc7
/* BA1004 802408D4 0240202D */ daddu $a0, $s2, $zero
/* BA1008 802408D8 8E430070 */ lw $v1, 0x70($s2)
/* BA100C 802408DC 24020020 */ addiu $v0, $zero, 0x20
/* BA1010 802408E0 1462000D */ bne $v1, $v0, L80240918_BA1048
/* BA1014 802408E4 00000000 */ nop
glabel L802408E8_BA1018
/* BA1018 802408E8 0C090053 */ jal mim_05_UnkNpcAIFunc8
/* BA101C 802408EC 0240202D */ daddu $a0, $s2, $zero
/* BA1020 802408F0 8E430070 */ lw $v1, 0x70($s2)
/* BA1024 802408F4 24020021 */ addiu $v0, $zero, 0x21
/* BA1028 802408F8 14620007 */ bne $v1, $v0, L80240918_BA1048
/* BA102C 802408FC 00000000 */ nop
glabel L80240900_BA1030
/* BA1030 80240900 0C090089 */ jal mim_05_UnkNpcAIFunc5
/* BA1034 80240904 0240202D */ daddu $a0, $s2, $zero
/* BA1038 80240908 08090246 */ j L80240918_BA1048
/* BA103C 8024090C 00000000 */ nop
glabel L80240910_BA1040
/* BA1040 80240910 0C0129CF */ jal func_8004A73C
/* BA1044 80240914 0240202D */ daddu $a0, $s2, $zero
glabel L80240918_BA1048
/* BA1048 80240918 8FBF0048 */ lw $ra, 0x48($sp)
/* BA104C 8024091C 8FB50044 */ lw $s5, 0x44($sp)
/* BA1050 80240920 8FB40040 */ lw $s4, 0x40($sp)
/* BA1054 80240924 8FB3003C */ lw $s3, 0x3c($sp)
/* BA1058 80240928 8FB20038 */ lw $s2, 0x38($sp)
/* BA105C 8024092C 8FB10034 */ lw $s1, 0x34($sp)
/* BA1060 80240930 8FB00030 */ lw $s0, 0x30($sp)
/* BA1064 80240934 0000102D */ daddu $v0, $zero, $zero
/* BA1068 80240938 03E00008 */ jr $ra
/* BA106C 8024093C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802457B0_BA9F30
.double 180.0
.section .text
glabel func_80240778_BA4EF8
/* BA4EF8 80240778 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BA4EFC 8024077C AFBF0024 */ sw $ra, 0x24($sp)
/* BA4F00 80240780 AFB40020 */ sw $s4, 0x20($sp)
/* BA4F04 80240784 AFB3001C */ sw $s3, 0x1c($sp)
/* BA4F08 80240788 AFB20018 */ sw $s2, 0x18($sp)
/* BA4F0C 8024078C AFB10014 */ sw $s1, 0x14($sp)
/* BA4F10 80240790 AFB00010 */ sw $s0, 0x10($sp)
/* BA4F14 80240794 F7B40028 */ sdc1 $f20, 0x28($sp)
/* BA4F18 80240798 8C900148 */ lw $s0, 0x148($a0)
/* BA4F1C 8024079C 86040008 */ lh $a0, 8($s0)
/* BA4F20 802407A0 0C00EABB */ jal get_npc_unsafe
/* BA4F24 802407A4 24110001 */ addiu $s1, $zero, 1
/* BA4F28 802407A8 86040008 */ lh $a0, 8($s0)
/* BA4F2C 802407AC 0040802D */ daddu $s0, $v0, $zero
/* BA4F30 802407B0 3C05800B */ lui $a1, %hi(gCameras)
/* BA4F34 802407B4 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* BA4F38 802407B8 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* BA4F3C 802407BC 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* BA4F40 802407C0 00912021 */ addu $a0, $a0, $s1
/* BA4F44 802407C4 00031080 */ sll $v0, $v1, 2
/* BA4F48 802407C8 00431021 */ addu $v0, $v0, $v1
/* BA4F4C 802407CC 00021080 */ sll $v0, $v0, 2
/* BA4F50 802407D0 00431023 */ subu $v0, $v0, $v1
/* BA4F54 802407D4 000218C0 */ sll $v1, $v0, 3
/* BA4F58 802407D8 00431021 */ addu $v0, $v0, $v1
/* BA4F5C 802407DC 000210C0 */ sll $v0, $v0, 3
/* BA4F60 802407E0 0C00FB3A */ jal get_enemy
/* BA4F64 802407E4 00459021 */ addu $s2, $v0, $a1
/* BA4F68 802407E8 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* BA4F6C 802407EC 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* BA4F70 802407F0 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BA4F74 802407F4 8E830000 */ lw $v1, ($s4)
/* BA4F78 802407F8 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BA4F7C 802407FC 8C660028 */ lw $a2, 0x28($v1)
/* BA4F80 80240800 8C670030 */ lw $a3, 0x30($v1)
/* BA4F84 80240804 0C00A7B5 */ jal dist2D
/* BA4F88 80240808 0040982D */ daddu $s3, $v0, $zero
/* BA4F8C 8024080C C6620074 */ lwc1 $f2, 0x74($s3)
/* BA4F90 80240810 468010A0 */ cvt.s.w $f2, $f2
/* BA4F94 80240814 4600103C */ c.lt.s $f2, $f0
/* BA4F98 80240818 00000000 */ nop
/* BA4F9C 8024081C 45030001 */ bc1tl .L80240824
/* BA4FA0 80240820 0000882D */ daddu $s1, $zero, $zero
.L80240824:
/* BA4FA4 80240824 C64C006C */ lwc1 $f12, 0x6c($s2)
/* BA4FA8 80240828 C60E000C */ lwc1 $f14, 0xc($s0)
/* BA4FAC 8024082C 3C014387 */ lui $at, 0x4387
/* BA4FB0 80240830 4481A000 */ mtc1 $at, $f20
/* BA4FB4 80240834 0C00A70A */ jal get_clamped_angle_diff
/* BA4FB8 80240838 00000000 */ nop
/* BA4FBC 8024083C 0C00A6C9 */ jal clamp_angle
/* BA4FC0 80240840 46000306 */ mov.s $f12, $f0
/* BA4FC4 80240844 3C018024 */ lui $at, %hi(D_802457B0_BA9F30)
/* BA4FC8 80240848 D42257B0 */ ldc1 $f2, %lo(D_802457B0_BA9F30)($at)
/* BA4FCC 8024084C 46000021 */ cvt.d.s $f0, $f0
/* BA4FD0 80240850 4622003C */ c.lt.d $f0, $f2
/* BA4FD4 80240854 00000000 */ nop
/* BA4FD8 80240858 45000003 */ bc1f .L80240868
/* BA4FDC 8024085C 00000000 */ nop
/* BA4FE0 80240860 3C0142B4 */ lui $at, 0x42b4
/* BA4FE4 80240864 4481A000 */ mtc1 $at, $f20
.L80240868:
/* BA4FE8 80240868 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BA4FEC 8024086C 8E820000 */ lw $v0, ($s4)
/* BA4FF0 80240870 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BA4FF4 80240874 8C460028 */ lw $a2, 0x28($v0)
/* BA4FF8 80240878 0C00A720 */ jal atan2
/* BA4FFC 8024087C 8C470030 */ lw $a3, 0x30($v0)
/* BA5000 80240880 4600A306 */ mov.s $f12, $f20
/* BA5004 80240884 0C00A70A */ jal get_clamped_angle_diff
/* BA5008 80240888 46000386 */ mov.s $f14, $f0
/* BA500C 8024088C C6620078 */ lwc1 $f2, 0x78($s3)
/* BA5010 80240890 468010A0 */ cvt.s.w $f2, $f2
/* BA5014 80240894 46000005 */ abs.s $f0, $f0
/* BA5018 80240898 4600103C */ c.lt.s $f2, $f0
/* BA501C 8024089C 00000000 */ nop
/* BA5020 802408A0 45030001 */ bc1tl .L802408A8
/* BA5024 802408A4 0000882D */ daddu $s1, $zero, $zero
.L802408A8:
/* BA5028 802408A8 8E820000 */ lw $v0, ($s4)
/* BA502C 802408AC C600003C */ lwc1 $f0, 0x3c($s0)
/* BA5030 802408B0 C442002C */ lwc1 $f2, 0x2c($v0)
/* BA5034 802408B4 860200A8 */ lh $v0, 0xa8($s0)
/* BA5038 802408B8 46020001 */ sub.s $f0, $f0, $f2
/* BA503C 802408BC 44821000 */ mtc1 $v0, $f2
/* BA5040 802408C0 00000000 */ nop
/* BA5044 802408C4 468010A1 */ cvt.d.w $f2, $f2
/* BA5048 802408C8 46221080 */ add.d $f2, $f2, $f2
/* BA504C 802408CC 46000005 */ abs.s $f0, $f0
/* BA5050 802408D0 46000021 */ cvt.d.s $f0, $f0
/* BA5054 802408D4 4620103E */ c.le.d $f2, $f0
/* BA5058 802408D8 00000000 */ nop
/* BA505C 802408DC 45030001 */ bc1tl .L802408E4
/* BA5060 802408E0 0000882D */ daddu $s1, $zero, $zero
.L802408E4:
/* BA5064 802408E4 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* BA5068 802408E8 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* BA506C 802408EC 24020009 */ addiu $v0, $zero, 9
/* BA5070 802408F0 50620001 */ beql $v1, $v0, .L802408F8
/* BA5074 802408F4 0000882D */ daddu $s1, $zero, $zero
.L802408F8:
/* BA5078 802408F8 24020007 */ addiu $v0, $zero, 7
/* BA507C 802408FC 50620001 */ beql $v1, $v0, .L80240904
/* BA5080 80240900 0000882D */ daddu $s1, $zero, $zero
.L80240904:
/* BA5084 80240904 0220102D */ daddu $v0, $s1, $zero
/* BA5088 80240908 8FBF0024 */ lw $ra, 0x24($sp)
/* BA508C 8024090C 8FB40020 */ lw $s4, 0x20($sp)
/* BA5090 80240910 8FB3001C */ lw $s3, 0x1c($sp)
/* BA5094 80240914 8FB20018 */ lw $s2, 0x18($sp)
/* BA5098 80240918 8FB10014 */ lw $s1, 0x14($sp)
/* BA509C 8024091C 8FB00010 */ lw $s0, 0x10($sp)
/* BA50A0 80240920 D7B40028 */ ldc1 $f20, 0x28($sp)
/* BA50A4 80240924 03E00008 */ jr $ra
/* BA50A8 80240928 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802457B8_BA9F38
.word L80240D10_BA5490, L80240D20_BA54A0, L80240D38_BA54B8, L80240D48_BA54C8, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240D60_BA54E0, L80240D70_BA54F0, L80240D88_BA5508, L80240D98_BA5518, L80240DB0_BA5530, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240DC8_BA5548, L80240DD0_BA5550, L80240DE8_BA5568, L80240E00_BA5580, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E18_BA5598, L80240E10_BA5590
.section .text
glabel func_80240B8C_BA530C
/* BA530C 80240B8C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BA5310 80240B90 AFB20038 */ sw $s2, 0x38($sp)
/* BA5314 80240B94 0080902D */ daddu $s2, $a0, $zero
/* BA5318 80240B98 AFBF0048 */ sw $ra, 0x48($sp)
/* BA531C 80240B9C AFB50044 */ sw $s5, 0x44($sp)
/* BA5320 80240BA0 AFB40040 */ sw $s4, 0x40($sp)
/* BA5324 80240BA4 AFB3003C */ sw $s3, 0x3c($sp)
/* BA5328 80240BA8 AFB10034 */ sw $s1, 0x34($sp)
/* BA532C 80240BAC AFB00030 */ sw $s0, 0x30($sp)
/* BA5330 80240BB0 8E510148 */ lw $s1, 0x148($s2)
/* BA5334 80240BB4 86240008 */ lh $a0, 8($s1)
/* BA5338 80240BB8 0C00EABB */ jal get_npc_unsafe
/* BA533C 80240BBC 00A0802D */ daddu $s0, $a1, $zero
/* BA5340 80240BC0 8E43000C */ lw $v1, 0xc($s2)
/* BA5344 80240BC4 0240202D */ daddu $a0, $s2, $zero
/* BA5348 80240BC8 8C650000 */ lw $a1, ($v1)
/* BA534C 80240BCC 0C0B1EAF */ jal get_variable
/* BA5350 80240BD0 0040A82D */ daddu $s5, $v0, $zero
/* BA5354 80240BD4 AFA00010 */ sw $zero, 0x10($sp)
/* BA5358 80240BD8 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA535C 80240BDC 8C630030 */ lw $v1, 0x30($v1)
/* BA5360 80240BE0 AFA30014 */ sw $v1, 0x14($sp)
/* BA5364 80240BE4 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA5368 80240BE8 8C63001C */ lw $v1, 0x1c($v1)
/* BA536C 80240BEC AFA30018 */ sw $v1, 0x18($sp)
/* BA5370 80240BF0 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA5374 80240BF4 8C630024 */ lw $v1, 0x24($v1)
/* BA5378 80240BF8 AFA3001C */ sw $v1, 0x1c($sp)
/* BA537C 80240BFC 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA5380 80240C00 8C630028 */ lw $v1, 0x28($v1)
/* BA5384 80240C04 27B40010 */ addiu $s4, $sp, 0x10
/* BA5388 80240C08 AFA30020 */ sw $v1, 0x20($sp)
/* BA538C 80240C0C 8E2300D0 */ lw $v1, 0xd0($s1)
/* BA5390 80240C10 3C014282 */ lui $at, 0x4282
/* BA5394 80240C14 44810000 */ mtc1 $at, $f0
/* BA5398 80240C18 8C63002C */ lw $v1, 0x2c($v1)
/* BA539C 80240C1C 0040982D */ daddu $s3, $v0, $zero
/* BA53A0 80240C20 E7A00028 */ swc1 $f0, 0x28($sp)
/* BA53A4 80240C24 A7A0002C */ sh $zero, 0x2c($sp)
/* BA53A8 80240C28 16000005 */ bnez $s0, .L80240C40
/* BA53AC 80240C2C AFA30024 */ sw $v1, 0x24($sp)
/* BA53B0 80240C30 8E2200B0 */ lw $v0, 0xb0($s1)
/* BA53B4 80240C34 30420004 */ andi $v0, $v0, 4
/* BA53B8 80240C38 10400020 */ beqz $v0, .L80240CBC
/* BA53BC 80240C3C 00000000 */ nop
.L80240C40:
/* BA53C0 80240C40 2404F7FF */ addiu $a0, $zero, -0x801
/* BA53C4 80240C44 AE400070 */ sw $zero, 0x70($s2)
/* BA53C8 80240C48 A6A0008E */ sh $zero, 0x8e($s5)
/* BA53CC 80240C4C 8E2200CC */ lw $v0, 0xcc($s1)
/* BA53D0 80240C50 8EA30000 */ lw $v1, ($s5)
/* BA53D4 80240C54 8C420000 */ lw $v0, ($v0)
/* BA53D8 80240C58 00641824 */ and $v1, $v1, $a0
/* BA53DC 80240C5C AEA30000 */ sw $v1, ($s5)
/* BA53E0 80240C60 AEA20028 */ sw $v0, 0x28($s5)
/* BA53E4 80240C64 8E2200D0 */ lw $v0, 0xd0($s1)
/* BA53E8 80240C68 8C420034 */ lw $v0, 0x34($v0)
/* BA53EC 80240C6C 54400005 */ bnel $v0, $zero, .L80240C84
/* BA53F0 80240C70 2402FDFF */ addiu $v0, $zero, -0x201
/* BA53F4 80240C74 34620200 */ ori $v0, $v1, 0x200
/* BA53F8 80240C78 2403FFF7 */ addiu $v1, $zero, -9
/* BA53FC 80240C7C 08090323 */ j .L80240C8C
/* BA5400 80240C80 00431024 */ and $v0, $v0, $v1
.L80240C84:
/* BA5404 80240C84 00621024 */ and $v0, $v1, $v0
/* BA5408 80240C88 34420008 */ ori $v0, $v0, 8
.L80240C8C:
/* BA540C 80240C8C AEA20000 */ sw $v0, ($s5)
/* BA5410 80240C90 8E2200B0 */ lw $v0, 0xb0($s1)
/* BA5414 80240C94 30420004 */ andi $v0, $v0, 4
/* BA5418 80240C98 10400007 */ beqz $v0, .L80240CB8
/* BA541C 80240C9C 24020063 */ addiu $v0, $zero, 0x63
/* BA5420 80240CA0 AE420070 */ sw $v0, 0x70($s2)
/* BA5424 80240CA4 AE400074 */ sw $zero, 0x74($s2)
/* BA5428 80240CA8 8E2200B0 */ lw $v0, 0xb0($s1)
/* BA542C 80240CAC 2403FFFB */ addiu $v1, $zero, -5
/* BA5430 80240CB0 00431024 */ and $v0, $v0, $v1
/* BA5434 80240CB4 AE2200B0 */ sw $v0, 0xb0($s1)
.L80240CB8:
/* BA5438 80240CB8 AE20006C */ sw $zero, 0x6c($s1)
.L80240CBC:
/* BA543C 80240CBC 8E420070 */ lw $v0, 0x70($s2)
/* BA5440 80240CC0 2842001E */ slti $v0, $v0, 0x1e
/* BA5444 80240CC4 10400009 */ beqz $v0, .L80240CEC
/* BA5448 80240CC8 00000000 */ nop
/* BA544C 80240CCC 8E22006C */ lw $v0, 0x6c($s1)
/* BA5450 80240CD0 14400006 */ bnez $v0, .L80240CEC
/* BA5454 80240CD4 00000000 */ nop
/* BA5458 80240CD8 0C0901DE */ jal func_80240778_BA4EF8
/* BA545C 80240CDC 0240202D */ daddu $a0, $s2, $zero
/* BA5460 80240CE0 10400002 */ beqz $v0, .L80240CEC
/* BA5464 80240CE4 2402001E */ addiu $v0, $zero, 0x1e
/* BA5468 80240CE8 AE420070 */ sw $v0, 0x70($s2)
.L80240CEC:
/* BA546C 80240CEC 8E430070 */ lw $v1, 0x70($s2)
/* BA5470 80240CF0 2C620064 */ sltiu $v0, $v1, 0x64
/* BA5474 80240CF4 10400048 */ beqz $v0, L80240E18_BA5598
/* BA5478 80240CF8 00031080 */ sll $v0, $v1, 2
/* BA547C 80240CFC 3C018024 */ lui $at, %hi(jtbl_802457B8_BA9F38)
/* BA5480 80240D00 00220821 */ addu $at, $at, $v0
/* BA5484 80240D04 8C2257B8 */ lw $v0, %lo(jtbl_802457B8_BA9F38)($at)
/* BA5488 80240D08 00400008 */ jr $v0
/* BA548C 80240D0C 00000000 */ nop
glabel L80240D10_BA5490
/* BA5490 80240D10 0240202D */ daddu $a0, $s2, $zero
/* BA5494 80240D14 0260282D */ daddu $a1, $s3, $zero
/* BA5498 80240D18 0C012568 */ jal func_800495A0
/* BA549C 80240D1C 0280302D */ daddu $a2, $s4, $zero
glabel L80240D20_BA54A0
/* BA54A0 80240D20 0240202D */ daddu $a0, $s2, $zero
/* BA54A4 80240D24 0260282D */ daddu $a1, $s3, $zero
/* BA54A8 80240D28 0C0125AE */ jal func_800496B8
/* BA54AC 80240D2C 0280302D */ daddu $a2, $s4, $zero
/* BA54B0 80240D30 08090386 */ j L80240E18_BA5598
/* BA54B4 80240D34 00000000 */ nop
glabel L80240D38_BA54B8
/* BA54B8 80240D38 0240202D */ daddu $a0, $s2, $zero
/* BA54BC 80240D3C 0260282D */ daddu $a1, $s3, $zero
/* BA54C0 80240D40 0C0126D1 */ jal base_UnkNpcAIFunc1
/* BA54C4 80240D44 0280302D */ daddu $a2, $s4, $zero
glabel L80240D48_BA54C8
/* BA54C8 80240D48 0240202D */ daddu $a0, $s2, $zero
/* BA54CC 80240D4C 0260282D */ daddu $a1, $s3, $zero
/* BA54D0 80240D50 0C012701 */ jal func_80049C04
/* BA54D4 80240D54 0280302D */ daddu $a2, $s4, $zero
/* BA54D8 80240D58 08090386 */ j L80240E18_BA5598
/* BA54DC 80240D5C 00000000 */ nop
glabel L80240D60_BA54E0
/* BA54E0 80240D60 0240202D */ daddu $a0, $s2, $zero
/* BA54E4 80240D64 0260282D */ daddu $a1, $s3, $zero
/* BA54E8 80240D68 0C01278F */ jal func_80049E3C
/* BA54EC 80240D6C 0280302D */ daddu $a2, $s4, $zero
glabel L80240D70_BA54F0
/* BA54F0 80240D70 0240202D */ daddu $a0, $s2, $zero
/* BA54F4 80240D74 0260282D */ daddu $a1, $s3, $zero
/* BA54F8 80240D78 0C0127B3 */ jal func_80049ECC
/* BA54FC 80240D7C 0280302D */ daddu $a2, $s4, $zero
/* BA5500 80240D80 08090386 */ j L80240E18_BA5598
/* BA5504 80240D84 00000000 */ nop
glabel L80240D88_BA5508
/* BA5508 80240D88 0240202D */ daddu $a0, $s2, $zero
/* BA550C 80240D8C 0260282D */ daddu $a1, $s3, $zero
/* BA5510 80240D90 0C0127DF */ jal func_80049F7C
/* BA5514 80240D94 0280302D */ daddu $a2, $s4, $zero
glabel L80240D98_BA5518
/* BA5518 80240D98 0240202D */ daddu $a0, $s2, $zero
/* BA551C 80240D9C 0260282D */ daddu $a1, $s3, $zero
/* BA5520 80240DA0 0C012849 */ jal func_8004A124
/* BA5524 80240DA4 0280302D */ daddu $a2, $s4, $zero
/* BA5528 80240DA8 08090386 */ j L80240E18_BA5598
/* BA552C 80240DAC 00000000 */ nop
glabel L80240DB0_BA5530
/* BA5530 80240DB0 0240202D */ daddu $a0, $s2, $zero
/* BA5534 80240DB4 0260282D */ daddu $a1, $s3, $zero
/* BA5538 80240DB8 0C0128FA */ jal func_8004A3E8
/* BA553C 80240DBC 0280302D */ daddu $a2, $s4, $zero
/* BA5540 80240DC0 08090386 */ j L80240E18_BA5598
/* BA5544 80240DC4 00000000 */ nop
glabel L80240DC8_BA5548
/* BA5548 80240DC8 0C09015C */ jal mim_06_UnkNpcAIFunc6
/* BA554C 80240DCC 0240202D */ daddu $a0, $s2, $zero
glabel L80240DD0_BA5550
/* BA5550 80240DD0 0C090177 */ jal mim_06_UnkNpcAIFunc7
/* BA5554 80240DD4 0240202D */ daddu $a0, $s2, $zero
/* BA5558 80240DD8 8E430070 */ lw $v1, 0x70($s2)
/* BA555C 80240DDC 24020020 */ addiu $v0, $zero, 0x20
/* BA5560 80240DE0 1462000D */ bne $v1, $v0, L80240E18_BA5598
/* BA5564 80240DE4 00000000 */ nop
glabel L80240DE8_BA5568
/* BA5568 80240DE8 0C090193 */ jal mim_06_UnkNpcAIFunc8
/* BA556C 80240DEC 0240202D */ daddu $a0, $s2, $zero
/* BA5570 80240DF0 8E430070 */ lw $v1, 0x70($s2)
/* BA5574 80240DF4 24020021 */ addiu $v0, $zero, 0x21
/* BA5578 80240DF8 14620007 */ bne $v1, $v0, L80240E18_BA5598
/* BA557C 80240DFC 00000000 */ nop
glabel L80240E00_BA5580
/* BA5580 80240E00 0C0901C9 */ jal mim_06_UnkNpcAIFunc5
/* BA5584 80240E04 0240202D */ daddu $a0, $s2, $zero
/* BA5588 80240E08 08090386 */ j L80240E18_BA5598
/* BA558C 80240E0C 00000000 */ nop
glabel L80240E10_BA5590
/* BA5590 80240E10 0C0129CF */ jal func_8004A73C
/* BA5594 80240E14 0240202D */ daddu $a0, $s2, $zero
glabel L80240E18_BA5598
/* BA5598 80240E18 8FBF0048 */ lw $ra, 0x48($sp)
/* BA559C 80240E1C 8FB50044 */ lw $s5, 0x44($sp)
/* BA55A0 80240E20 8FB40040 */ lw $s4, 0x40($sp)
/* BA55A4 80240E24 8FB3003C */ lw $s3, 0x3c($sp)
/* BA55A8 80240E28 8FB20038 */ lw $s2, 0x38($sp)
/* BA55AC 80240E2C 8FB10034 */ lw $s1, 0x34($sp)
/* BA55B0 80240E30 8FB00030 */ lw $s0, 0x30($sp)
/* BA55B4 80240E34 0000102D */ daddu $v0, $zero, $zero
/* BA55B8 80240E38 03E00008 */ jr $ra
/* BA55BC 80240E3C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802452F8_BB2C38
.double 180.0
.section .text
glabel func_802417A0_BAF0E0
/* BAF0E0 802417A0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* BAF0E4 802417A4 AFBF0024 */ sw $ra, 0x24($sp)
/* BAF0E8 802417A8 AFB40020 */ sw $s4, 0x20($sp)
/* BAF0EC 802417AC AFB3001C */ sw $s3, 0x1c($sp)
/* BAF0F0 802417B0 AFB20018 */ sw $s2, 0x18($sp)
/* BAF0F4 802417B4 AFB10014 */ sw $s1, 0x14($sp)
/* BAF0F8 802417B8 AFB00010 */ sw $s0, 0x10($sp)
/* BAF0FC 802417BC F7B40028 */ sdc1 $f20, 0x28($sp)
/* BAF100 802417C0 8C900148 */ lw $s0, 0x148($a0)
/* BAF104 802417C4 86040008 */ lh $a0, 8($s0)
/* BAF108 802417C8 0C00EABB */ jal get_npc_unsafe
/* BAF10C 802417CC 24110001 */ addiu $s1, $zero, 1
/* BAF110 802417D0 86040008 */ lh $a0, 8($s0)
/* BAF114 802417D4 0040802D */ daddu $s0, $v0, $zero
/* BAF118 802417D8 3C05800B */ lui $a1, %hi(gCameras)
/* BAF11C 802417DC 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* BAF120 802417E0 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* BAF124 802417E4 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* BAF128 802417E8 00912021 */ addu $a0, $a0, $s1
/* BAF12C 802417EC 00031080 */ sll $v0, $v1, 2
/* BAF130 802417F0 00431021 */ addu $v0, $v0, $v1
/* BAF134 802417F4 00021080 */ sll $v0, $v0, 2
/* BAF138 802417F8 00431023 */ subu $v0, $v0, $v1
/* BAF13C 802417FC 000218C0 */ sll $v1, $v0, 3
/* BAF140 80241800 00431021 */ addu $v0, $v0, $v1
/* BAF144 80241804 000210C0 */ sll $v0, $v0, 3
/* BAF148 80241808 0C00FB3A */ jal get_enemy
/* BAF14C 8024180C 00459021 */ addu $s2, $v0, $a1
/* BAF150 80241810 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* BAF154 80241814 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* BAF158 80241818 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BAF15C 8024181C 8E830000 */ lw $v1, ($s4)
/* BAF160 80241820 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BAF164 80241824 8C660028 */ lw $a2, 0x28($v1)
/* BAF168 80241828 8C670030 */ lw $a3, 0x30($v1)
/* BAF16C 8024182C 0C00A7B5 */ jal dist2D
/* BAF170 80241830 0040982D */ daddu $s3, $v0, $zero
/* BAF174 80241834 C6620074 */ lwc1 $f2, 0x74($s3)
/* BAF178 80241838 468010A0 */ cvt.s.w $f2, $f2
/* BAF17C 8024183C 4600103C */ c.lt.s $f2, $f0
/* BAF180 80241840 00000000 */ nop
/* BAF184 80241844 45030001 */ bc1tl .L8024184C
/* BAF188 80241848 0000882D */ daddu $s1, $zero, $zero
.L8024184C:
/* BAF18C 8024184C C64C006C */ lwc1 $f12, 0x6c($s2)
/* BAF190 80241850 C60E000C */ lwc1 $f14, 0xc($s0)
/* BAF194 80241854 3C014387 */ lui $at, 0x4387
/* BAF198 80241858 4481A000 */ mtc1 $at, $f20
/* BAF19C 8024185C 0C00A70A */ jal get_clamped_angle_diff
/* BAF1A0 80241860 00000000 */ nop
/* BAF1A4 80241864 0C00A6C9 */ jal clamp_angle
/* BAF1A8 80241868 46000306 */ mov.s $f12, $f0
/* BAF1AC 8024186C 3C018024 */ lui $at, %hi(D_802452F8_BB2C38)
/* BAF1B0 80241870 D42252F8 */ ldc1 $f2, %lo(D_802452F8_BB2C38)($at)
/* BAF1B4 80241874 46000021 */ cvt.d.s $f0, $f0
/* BAF1B8 80241878 4622003C */ c.lt.d $f0, $f2
/* BAF1BC 8024187C 00000000 */ nop
/* BAF1C0 80241880 45000003 */ bc1f .L80241890
/* BAF1C4 80241884 00000000 */ nop
/* BAF1C8 80241888 3C0142B4 */ lui $at, 0x42b4
/* BAF1CC 8024188C 4481A000 */ mtc1 $at, $f20
.L80241890:
/* BAF1D0 80241890 C60C0038 */ lwc1 $f12, 0x38($s0)
/* BAF1D4 80241894 8E820000 */ lw $v0, ($s4)
/* BAF1D8 80241898 C60E0040 */ lwc1 $f14, 0x40($s0)
/* BAF1DC 8024189C 8C460028 */ lw $a2, 0x28($v0)
/* BAF1E0 802418A0 0C00A720 */ jal atan2
/* BAF1E4 802418A4 8C470030 */ lw $a3, 0x30($v0)
/* BAF1E8 802418A8 4600A306 */ mov.s $f12, $f20
/* BAF1EC 802418AC 0C00A70A */ jal get_clamped_angle_diff
/* BAF1F0 802418B0 46000386 */ mov.s $f14, $f0
/* BAF1F4 802418B4 C6620078 */ lwc1 $f2, 0x78($s3)
/* BAF1F8 802418B8 468010A0 */ cvt.s.w $f2, $f2
/* BAF1FC 802418BC 46000005 */ abs.s $f0, $f0
/* BAF200 802418C0 4600103C */ c.lt.s $f2, $f0
/* BAF204 802418C4 00000000 */ nop
/* BAF208 802418C8 45030001 */ bc1tl .L802418D0
/* BAF20C 802418CC 0000882D */ daddu $s1, $zero, $zero
.L802418D0:
/* BAF210 802418D0 8E820000 */ lw $v0, ($s4)
/* BAF214 802418D4 C600003C */ lwc1 $f0, 0x3c($s0)
/* BAF218 802418D8 C442002C */ lwc1 $f2, 0x2c($v0)
/* BAF21C 802418DC 860200A8 */ lh $v0, 0xa8($s0)
/* BAF220 802418E0 46020001 */ sub.s $f0, $f0, $f2
/* BAF224 802418E4 44821000 */ mtc1 $v0, $f2
/* BAF228 802418E8 00000000 */ nop
/* BAF22C 802418EC 468010A1 */ cvt.d.w $f2, $f2
/* BAF230 802418F0 46221080 */ add.d $f2, $f2, $f2
/* BAF234 802418F4 46000005 */ abs.s $f0, $f0
/* BAF238 802418F8 46000021 */ cvt.d.s $f0, $f0
/* BAF23C 802418FC 4620103E */ c.le.d $f2, $f0
/* BAF240 80241900 00000000 */ nop
/* BAF244 80241904 45030001 */ bc1tl .L8024190C
/* BAF248 80241908 0000882D */ daddu $s1, $zero, $zero
.L8024190C:
/* BAF24C 8024190C 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* BAF250 80241910 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* BAF254 80241914 24020009 */ addiu $v0, $zero, 9
/* BAF258 80241918 50620001 */ beql $v1, $v0, .L80241920
/* BAF25C 8024191C 0000882D */ daddu $s1, $zero, $zero
.L80241920:
/* BAF260 80241920 24020007 */ addiu $v0, $zero, 7
/* BAF264 80241924 50620001 */ beql $v1, $v0, .L8024192C
/* BAF268 80241928 0000882D */ daddu $s1, $zero, $zero
.L8024192C:
/* BAF26C 8024192C 0220102D */ daddu $v0, $s1, $zero
/* BAF270 80241930 8FBF0024 */ lw $ra, 0x24($sp)
/* BAF274 80241934 8FB40020 */ lw $s4, 0x20($sp)
/* BAF278 80241938 8FB3001C */ lw $s3, 0x1c($sp)
/* BAF27C 8024193C 8FB20018 */ lw $s2, 0x18($sp)
/* BAF280 80241940 8FB10014 */ lw $s1, 0x14($sp)
/* BAF284 80241944 8FB00010 */ lw $s0, 0x10($sp)
/* BAF288 80241948 D7B40028 */ ldc1 $f20, 0x28($sp)
/* BAF28C 8024194C 03E00008 */ jr $ra
/* BAF290 80241950 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,205 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_80245300_BB2C40
.word L80241D38_BAF678, L80241D48_BAF688, L80241D60_BAF6A0, L80241D70_BAF6B0, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241D88_BAF6C8, L80241D98_BAF6D8, L80241DB0_BAF6F0, L80241DC0_BAF700, L80241DD8_BAF718, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241DF0_BAF730, L80241DF8_BAF738, L80241E10_BAF750, L80241E28_BAF768, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E40_BAF780, L80241E38_BAF778
.section .text
glabel func_80241BB4_BAF4F4
/* BAF4F4 80241BB4 27BDFFB0 */ addiu $sp, $sp, -0x50
/* BAF4F8 80241BB8 AFB20038 */ sw $s2, 0x38($sp)
/* BAF4FC 80241BBC 0080902D */ daddu $s2, $a0, $zero
/* BAF500 80241BC0 AFBF0048 */ sw $ra, 0x48($sp)
/* BAF504 80241BC4 AFB50044 */ sw $s5, 0x44($sp)
/* BAF508 80241BC8 AFB40040 */ sw $s4, 0x40($sp)
/* BAF50C 80241BCC AFB3003C */ sw $s3, 0x3c($sp)
/* BAF510 80241BD0 AFB10034 */ sw $s1, 0x34($sp)
/* BAF514 80241BD4 AFB00030 */ sw $s0, 0x30($sp)
/* BAF518 80241BD8 8E510148 */ lw $s1, 0x148($s2)
/* BAF51C 80241BDC 86240008 */ lh $a0, 8($s1)
/* BAF520 80241BE0 0C00EABB */ jal get_npc_unsafe
/* BAF524 80241BE4 00A0802D */ daddu $s0, $a1, $zero
/* BAF528 80241BE8 8E43000C */ lw $v1, 0xc($s2)
/* BAF52C 80241BEC 0240202D */ daddu $a0, $s2, $zero
/* BAF530 80241BF0 8C650000 */ lw $a1, ($v1)
/* BAF534 80241BF4 0C0B1EAF */ jal get_variable
/* BAF538 80241BF8 0040A82D */ daddu $s5, $v0, $zero
/* BAF53C 80241BFC AFA00010 */ sw $zero, 0x10($sp)
/* BAF540 80241C00 8E2300D0 */ lw $v1, 0xd0($s1)
/* BAF544 80241C04 8C630030 */ lw $v1, 0x30($v1)
/* BAF548 80241C08 AFA30014 */ sw $v1, 0x14($sp)
/* BAF54C 80241C0C 8E2300D0 */ lw $v1, 0xd0($s1)
/* BAF550 80241C10 8C63001C */ lw $v1, 0x1c($v1)
/* BAF554 80241C14 AFA30018 */ sw $v1, 0x18($sp)
/* BAF558 80241C18 8E2300D0 */ lw $v1, 0xd0($s1)
/* BAF55C 80241C1C 8C630024 */ lw $v1, 0x24($v1)
/* BAF560 80241C20 AFA3001C */ sw $v1, 0x1c($sp)
/* BAF564 80241C24 8E2300D0 */ lw $v1, 0xd0($s1)
/* BAF568 80241C28 8C630028 */ lw $v1, 0x28($v1)
/* BAF56C 80241C2C 27B40010 */ addiu $s4, $sp, 0x10
/* BAF570 80241C30 AFA30020 */ sw $v1, 0x20($sp)
/* BAF574 80241C34 8E2300D0 */ lw $v1, 0xd0($s1)
/* BAF578 80241C38 3C014282 */ lui $at, 0x4282
/* BAF57C 80241C3C 44810000 */ mtc1 $at, $f0
/* BAF580 80241C40 8C63002C */ lw $v1, 0x2c($v1)
/* BAF584 80241C44 0040982D */ daddu $s3, $v0, $zero
/* BAF588 80241C48 E7A00028 */ swc1 $f0, 0x28($sp)
/* BAF58C 80241C4C A7A0002C */ sh $zero, 0x2c($sp)
/* BAF590 80241C50 16000005 */ bnez $s0, .L80241C68
/* BAF594 80241C54 AFA30024 */ sw $v1, 0x24($sp)
/* BAF598 80241C58 8E2200B0 */ lw $v0, 0xb0($s1)
/* BAF59C 80241C5C 30420004 */ andi $v0, $v0, 4
/* BAF5A0 80241C60 10400020 */ beqz $v0, .L80241CE4
/* BAF5A4 80241C64 00000000 */ nop
.L80241C68:
/* BAF5A8 80241C68 2404F7FF */ addiu $a0, $zero, -0x801
/* BAF5AC 80241C6C AE400070 */ sw $zero, 0x70($s2)
/* BAF5B0 80241C70 A6A0008E */ sh $zero, 0x8e($s5)
/* BAF5B4 80241C74 8E2200CC */ lw $v0, 0xcc($s1)
/* BAF5B8 80241C78 8EA30000 */ lw $v1, ($s5)
/* BAF5BC 80241C7C 8C420000 */ lw $v0, ($v0)
/* BAF5C0 80241C80 00641824 */ and $v1, $v1, $a0
/* BAF5C4 80241C84 AEA30000 */ sw $v1, ($s5)
/* BAF5C8 80241C88 AEA20028 */ sw $v0, 0x28($s5)
/* BAF5CC 80241C8C 8E2200D0 */ lw $v0, 0xd0($s1)
/* BAF5D0 80241C90 8C420034 */ lw $v0, 0x34($v0)
/* BAF5D4 80241C94 54400005 */ bnel $v0, $zero, .L80241CAC
/* BAF5D8 80241C98 2402FDFF */ addiu $v0, $zero, -0x201
/* BAF5DC 80241C9C 34620200 */ ori $v0, $v1, 0x200
/* BAF5E0 80241CA0 2403FFF7 */ addiu $v1, $zero, -9
/* BAF5E4 80241CA4 0809072D */ j .L80241CB4
/* BAF5E8 80241CA8 00431024 */ and $v0, $v0, $v1
.L80241CAC:
/* BAF5EC 80241CAC 00621024 */ and $v0, $v1, $v0
/* BAF5F0 80241CB0 34420008 */ ori $v0, $v0, 8
.L80241CB4:
/* BAF5F4 80241CB4 AEA20000 */ sw $v0, ($s5)
/* BAF5F8 80241CB8 8E2200B0 */ lw $v0, 0xb0($s1)
/* BAF5FC 80241CBC 30420004 */ andi $v0, $v0, 4
/* BAF600 80241CC0 10400007 */ beqz $v0, .L80241CE0
/* BAF604 80241CC4 24020063 */ addiu $v0, $zero, 0x63
/* BAF608 80241CC8 AE420070 */ sw $v0, 0x70($s2)
/* BAF60C 80241CCC AE400074 */ sw $zero, 0x74($s2)
/* BAF610 80241CD0 8E2200B0 */ lw $v0, 0xb0($s1)
/* BAF614 80241CD4 2403FFFB */ addiu $v1, $zero, -5
/* BAF618 80241CD8 00431024 */ and $v0, $v0, $v1
/* BAF61C 80241CDC AE2200B0 */ sw $v0, 0xb0($s1)
.L80241CE0:
/* BAF620 80241CE0 AE20006C */ sw $zero, 0x6c($s1)
.L80241CE4:
/* BAF624 80241CE4 8E420070 */ lw $v0, 0x70($s2)
/* BAF628 80241CE8 2842001E */ slti $v0, $v0, 0x1e
/* BAF62C 80241CEC 10400009 */ beqz $v0, .L80241D14
/* BAF630 80241CF0 00000000 */ nop
/* BAF634 80241CF4 8E22006C */ lw $v0, 0x6c($s1)
/* BAF638 80241CF8 14400006 */ bnez $v0, .L80241D14
/* BAF63C 80241CFC 00000000 */ nop
/* BAF640 80241D00 0C0905E8 */ jal func_802417A0_BAF0E0
/* BAF644 80241D04 0240202D */ daddu $a0, $s2, $zero
/* BAF648 80241D08 10400002 */ beqz $v0, .L80241D14
/* BAF64C 80241D0C 2402001E */ addiu $v0, $zero, 0x1e
/* BAF650 80241D10 AE420070 */ sw $v0, 0x70($s2)
.L80241D14:
/* BAF654 80241D14 8E430070 */ lw $v1, 0x70($s2)
/* BAF658 80241D18 2C620064 */ sltiu $v0, $v1, 0x64
/* BAF65C 80241D1C 10400048 */ beqz $v0, L80241E40_BAF780
/* BAF660 80241D20 00031080 */ sll $v0, $v1, 2
/* BAF664 80241D24 3C018024 */ lui $at, %hi(jtbl_80245300_BB2C40)
/* BAF668 80241D28 00220821 */ addu $at, $at, $v0
/* BAF66C 80241D2C 8C225300 */ lw $v0, %lo(jtbl_80245300_BB2C40)($at)
/* BAF670 80241D30 00400008 */ jr $v0
/* BAF674 80241D34 00000000 */ nop
glabel L80241D38_BAF678
/* BAF678 80241D38 0240202D */ daddu $a0, $s2, $zero
/* BAF67C 80241D3C 0260282D */ daddu $a1, $s3, $zero
/* BAF680 80241D40 0C012568 */ jal func_800495A0
/* BAF684 80241D44 0280302D */ daddu $a2, $s4, $zero
glabel L80241D48_BAF688
/* BAF688 80241D48 0240202D */ daddu $a0, $s2, $zero
/* BAF68C 80241D4C 0260282D */ daddu $a1, $s3, $zero
/* BAF690 80241D50 0C0125AE */ jal func_800496B8
/* BAF694 80241D54 0280302D */ daddu $a2, $s4, $zero
/* BAF698 80241D58 08090790 */ j L80241E40_BAF780
/* BAF69C 80241D5C 00000000 */ nop
glabel L80241D60_BAF6A0
/* BAF6A0 80241D60 0240202D */ daddu $a0, $s2, $zero
/* BAF6A4 80241D64 0260282D */ daddu $a1, $s3, $zero
/* BAF6A8 80241D68 0C0126D1 */ jal base_UnkNpcAIFunc1
/* BAF6AC 80241D6C 0280302D */ daddu $a2, $s4, $zero
glabel L80241D70_BAF6B0
/* BAF6B0 80241D70 0240202D */ daddu $a0, $s2, $zero
/* BAF6B4 80241D74 0260282D */ daddu $a1, $s3, $zero
/* BAF6B8 80241D78 0C012701 */ jal func_80049C04
/* BAF6BC 80241D7C 0280302D */ daddu $a2, $s4, $zero
/* BAF6C0 80241D80 08090790 */ j L80241E40_BAF780
/* BAF6C4 80241D84 00000000 */ nop
glabel L80241D88_BAF6C8
/* BAF6C8 80241D88 0240202D */ daddu $a0, $s2, $zero
/* BAF6CC 80241D8C 0260282D */ daddu $a1, $s3, $zero
/* BAF6D0 80241D90 0C01278F */ jal func_80049E3C
/* BAF6D4 80241D94 0280302D */ daddu $a2, $s4, $zero
glabel L80241D98_BAF6D8
/* BAF6D8 80241D98 0240202D */ daddu $a0, $s2, $zero
/* BAF6DC 80241D9C 0260282D */ daddu $a1, $s3, $zero
/* BAF6E0 80241DA0 0C0127B3 */ jal func_80049ECC
/* BAF6E4 80241DA4 0280302D */ daddu $a2, $s4, $zero
/* BAF6E8 80241DA8 08090790 */ j L80241E40_BAF780
/* BAF6EC 80241DAC 00000000 */ nop
glabel L80241DB0_BAF6F0
/* BAF6F0 80241DB0 0240202D */ daddu $a0, $s2, $zero
/* BAF6F4 80241DB4 0260282D */ daddu $a1, $s3, $zero
/* BAF6F8 80241DB8 0C0127DF */ jal func_80049F7C
/* BAF6FC 80241DBC 0280302D */ daddu $a2, $s4, $zero
glabel L80241DC0_BAF700
/* BAF700 80241DC0 0240202D */ daddu $a0, $s2, $zero
/* BAF704 80241DC4 0260282D */ daddu $a1, $s3, $zero
/* BAF708 80241DC8 0C012849 */ jal func_8004A124
/* BAF70C 80241DCC 0280302D */ daddu $a2, $s4, $zero
/* BAF710 80241DD0 08090790 */ j L80241E40_BAF780
/* BAF714 80241DD4 00000000 */ nop
glabel L80241DD8_BAF718
/* BAF718 80241DD8 0240202D */ daddu $a0, $s2, $zero
/* BAF71C 80241DDC 0260282D */ daddu $a1, $s3, $zero
/* BAF720 80241DE0 0C0128FA */ jal func_8004A3E8
/* BAF724 80241DE4 0280302D */ daddu $a2, $s4, $zero
/* BAF728 80241DE8 08090790 */ j L80241E40_BAF780
/* BAF72C 80241DEC 00000000 */ nop
glabel L80241DF0_BAF730
/* BAF730 80241DF0 0C090566 */ jal mim_08_UnkNpcAIFunc6
/* BAF734 80241DF4 0240202D */ daddu $a0, $s2, $zero
glabel L80241DF8_BAF738
/* BAF738 80241DF8 0C090581 */ jal mim_08_UnkNpcAIFunc7
/* BAF73C 80241DFC 0240202D */ daddu $a0, $s2, $zero
/* BAF740 80241E00 8E430070 */ lw $v1, 0x70($s2)
/* BAF744 80241E04 24020020 */ addiu $v0, $zero, 0x20
/* BAF748 80241E08 1462000D */ bne $v1, $v0, L80241E40_BAF780
/* BAF74C 80241E0C 00000000 */ nop
glabel L80241E10_BAF750
/* BAF750 80241E10 0C09059D */ jal mim_08_UnkNpcAIFunc8
/* BAF754 80241E14 0240202D */ daddu $a0, $s2, $zero
/* BAF758 80241E18 8E430070 */ lw $v1, 0x70($s2)
/* BAF75C 80241E1C 24020021 */ addiu $v0, $zero, 0x21
/* BAF760 80241E20 14620007 */ bne $v1, $v0, L80241E40_BAF780
/* BAF764 80241E24 00000000 */ nop
glabel L80241E28_BAF768
/* BAF768 80241E28 0C0905D3 */ jal mim_08_UnkNpcAIFunc5
/* BAF76C 80241E2C 0240202D */ daddu $a0, $s2, $zero
/* BAF770 80241E30 08090790 */ j L80241E40_BAF780
/* BAF774 80241E34 00000000 */ nop
glabel L80241E38_BAF778
/* BAF778 80241E38 0C0129CF */ jal func_8004A73C
/* BAF77C 80241E3C 0240202D */ daddu $a0, $s2, $zero
glabel L80241E40_BAF780
/* BAF780 80241E40 8FBF0048 */ lw $ra, 0x48($sp)
/* BAF784 80241E44 8FB50044 */ lw $s5, 0x44($sp)
/* BAF788 80241E48 8FB40040 */ lw $s4, 0x40($sp)
/* BAF78C 80241E4C 8FB3003C */ lw $s3, 0x3c($sp)
/* BAF790 80241E50 8FB20038 */ lw $s2, 0x38($sp)
/* BAF794 80241E54 8FB10034 */ lw $s1, 0x34($sp)
/* BAF798 80241E58 8FB00030 */ lw $s0, 0x30($sp)
/* BAF79C 80241E5C 0000102D */ daddu $v0, $zero, $zero
/* BAF7A0 80241E60 03E00008 */ jr $ra
/* BAF7A4 80241E64 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_80244180_D913D0
.double 180.0
.section .text
glabel func_80241FB8_D8F208
/* D8F208 80241FB8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* D8F20C 80241FBC AFBF0024 */ sw $ra, 0x24($sp)
/* D8F210 80241FC0 AFB40020 */ sw $s4, 0x20($sp)
/* D8F214 80241FC4 AFB3001C */ sw $s3, 0x1c($sp)
/* D8F218 80241FC8 AFB20018 */ sw $s2, 0x18($sp)
/* D8F21C 80241FCC AFB10014 */ sw $s1, 0x14($sp)
/* D8F220 80241FD0 AFB00010 */ sw $s0, 0x10($sp)
/* D8F224 80241FD4 F7B40028 */ sdc1 $f20, 0x28($sp)
/* D8F228 80241FD8 8C900148 */ lw $s0, 0x148($a0)
/* D8F22C 80241FDC 86040008 */ lh $a0, 8($s0)
/* D8F230 80241FE0 0C00EABB */ jal get_npc_unsafe
/* D8F234 80241FE4 24110001 */ addiu $s1, $zero, 1
/* D8F238 80241FE8 86040008 */ lh $a0, 8($s0)
/* D8F23C 80241FEC 0040802D */ daddu $s0, $v0, $zero
/* D8F240 80241FF0 3C05800B */ lui $a1, %hi(gCameras)
/* D8F244 80241FF4 24A51D80 */ addiu $a1, $a1, %lo(gCameras)
/* D8F248 80241FF8 3C03800A */ lui $v1, %hi(gCurrentCamID)
/* D8F24C 80241FFC 8463A634 */ lh $v1, %lo(gCurrentCamID)($v1)
/* D8F250 80242000 00912021 */ addu $a0, $a0, $s1
/* D8F254 80242004 00031080 */ sll $v0, $v1, 2
/* D8F258 80242008 00431021 */ addu $v0, $v0, $v1
/* D8F25C 8024200C 00021080 */ sll $v0, $v0, 2
/* D8F260 80242010 00431023 */ subu $v0, $v0, $v1
/* D8F264 80242014 000218C0 */ sll $v1, $v0, 3
/* D8F268 80242018 00431021 */ addu $v0, $v0, $v1
/* D8F26C 8024201C 000210C0 */ sll $v0, $v0, 3
/* D8F270 80242020 0C00FB3A */ jal get_enemy
/* D8F274 80242024 00459021 */ addu $s2, $v0, $a1
/* D8F278 80242028 3C14800F */ lui $s4, %hi(gPlayerStatusPtr)
/* D8F27C 8024202C 26947B30 */ addiu $s4, $s4, %lo(gPlayerStatusPtr)
/* D8F280 80242030 C60C0038 */ lwc1 $f12, 0x38($s0)
/* D8F284 80242034 8E830000 */ lw $v1, ($s4)
/* D8F288 80242038 C60E0040 */ lwc1 $f14, 0x40($s0)
/* D8F28C 8024203C 8C660028 */ lw $a2, 0x28($v1)
/* D8F290 80242040 8C670030 */ lw $a3, 0x30($v1)
/* D8F294 80242044 0C00A7B5 */ jal dist2D
/* D8F298 80242048 0040982D */ daddu $s3, $v0, $zero
/* D8F29C 8024204C C6620074 */ lwc1 $f2, 0x74($s3)
/* D8F2A0 80242050 468010A0 */ cvt.s.w $f2, $f2
/* D8F2A4 80242054 4600103C */ c.lt.s $f2, $f0
/* D8F2A8 80242058 00000000 */ nop
/* D8F2AC 8024205C 45030001 */ bc1tl .L80242064
/* D8F2B0 80242060 0000882D */ daddu $s1, $zero, $zero
.L80242064:
/* D8F2B4 80242064 C64C006C */ lwc1 $f12, 0x6c($s2)
/* D8F2B8 80242068 C60E000C */ lwc1 $f14, 0xc($s0)
/* D8F2BC 8024206C 3C014387 */ lui $at, 0x4387
/* D8F2C0 80242070 4481A000 */ mtc1 $at, $f20
/* D8F2C4 80242074 0C00A70A */ jal get_clamped_angle_diff
/* D8F2C8 80242078 00000000 */ nop
/* D8F2CC 8024207C 0C00A6C9 */ jal clamp_angle
/* D8F2D0 80242080 46000306 */ mov.s $f12, $f0
/* D8F2D4 80242084 3C018024 */ lui $at, %hi(D_80244180_D913D0)
/* D8F2D8 80242088 D4224180 */ ldc1 $f2, %lo(D_80244180_D913D0)($at)
/* D8F2DC 8024208C 46000021 */ cvt.d.s $f0, $f0
/* D8F2E0 80242090 4622003C */ c.lt.d $f0, $f2
/* D8F2E4 80242094 00000000 */ nop
/* D8F2E8 80242098 45000003 */ bc1f .L802420A8
/* D8F2EC 8024209C 00000000 */ nop
/* D8F2F0 802420A0 3C0142B4 */ lui $at, 0x42b4
/* D8F2F4 802420A4 4481A000 */ mtc1 $at, $f20
.L802420A8:
/* D8F2F8 802420A8 C60C0038 */ lwc1 $f12, 0x38($s0)
/* D8F2FC 802420AC 8E820000 */ lw $v0, ($s4)
/* D8F300 802420B0 C60E0040 */ lwc1 $f14, 0x40($s0)
/* D8F304 802420B4 8C460028 */ lw $a2, 0x28($v0)
/* D8F308 802420B8 0C00A720 */ jal atan2
/* D8F30C 802420BC 8C470030 */ lw $a3, 0x30($v0)
/* D8F310 802420C0 4600A306 */ mov.s $f12, $f20
/* D8F314 802420C4 0C00A70A */ jal get_clamped_angle_diff
/* D8F318 802420C8 46000386 */ mov.s $f14, $f0
/* D8F31C 802420CC C6620078 */ lwc1 $f2, 0x78($s3)
/* D8F320 802420D0 468010A0 */ cvt.s.w $f2, $f2
/* D8F324 802420D4 46000005 */ abs.s $f0, $f0
/* D8F328 802420D8 4600103C */ c.lt.s $f2, $f0
/* D8F32C 802420DC 00000000 */ nop
/* D8F330 802420E0 45030001 */ bc1tl .L802420E8
/* D8F334 802420E4 0000882D */ daddu $s1, $zero, $zero
.L802420E8:
/* D8F338 802420E8 8E820000 */ lw $v0, ($s4)
/* D8F33C 802420EC C600003C */ lwc1 $f0, 0x3c($s0)
/* D8F340 802420F0 C442002C */ lwc1 $f2, 0x2c($v0)
/* D8F344 802420F4 860200A8 */ lh $v0, 0xa8($s0)
/* D8F348 802420F8 46020001 */ sub.s $f0, $f0, $f2
/* D8F34C 802420FC 44821000 */ mtc1 $v0, $f2
/* D8F350 80242100 00000000 */ nop
/* D8F354 80242104 468010A1 */ cvt.d.w $f2, $f2
/* D8F358 80242108 46221080 */ add.d $f2, $f2, $f2
/* D8F35C 8024210C 46000005 */ abs.s $f0, $f0
/* D8F360 80242110 46000021 */ cvt.d.s $f0, $f0
/* D8F364 80242114 4620103E */ c.le.d $f2, $f0
/* D8F368 80242118 00000000 */ nop
/* D8F36C 8024211C 45030001 */ bc1tl .L80242124
/* D8F370 80242120 0000882D */ daddu $s1, $zero, $zero
.L80242124:
/* D8F374 80242124 3C038011 */ lui $v1, %hi(D_8010EBB0+0x3)
/* D8F378 80242128 8063EBB3 */ lb $v1, %lo(D_8010EBB0+0x3)($v1)
/* D8F37C 8024212C 24020009 */ addiu $v0, $zero, 9
/* D8F380 80242130 50620001 */ beql $v1, $v0, .L80242138
/* D8F384 80242134 0000882D */ daddu $s1, $zero, $zero
.L80242138:
/* D8F388 80242138 24020007 */ addiu $v0, $zero, 7
/* D8F38C 8024213C 50620001 */ beql $v1, $v0, .L80242144
/* D8F390 80242140 0000882D */ daddu $s1, $zero, $zero
.L80242144:
/* D8F394 80242144 0220102D */ daddu $v0, $s1, $zero
/* D8F398 80242148 8FBF0024 */ lw $ra, 0x24($sp)
/* D8F39C 8024214C 8FB40020 */ lw $s4, 0x20($sp)
/* D8F3A0 80242150 8FB3001C */ lw $s3, 0x1c($sp)
/* D8F3A4 80242154 8FB20018 */ lw $s2, 0x18($sp)
/* D8F3A8 80242158 8FB10014 */ lw $s1, 0x14($sp)
/* D8F3AC 8024215C 8FB00010 */ lw $s0, 0x10($sp)
/* D8F3B0 80242160 D7B40028 */ ldc1 $f20, 0x28($sp)
/* D8F3B4 80242164 03E00008 */ jr $ra
/* D8F3B8 80242168 27BD0030 */ addiu $sp, $sp, 0x30

Some files were not shown because too many files have changed in this diff Show More