Various C file decomp (#501)

* decomp watt overworld functions

* fix struct that was wrongly changed

* run coverage.py

* requested changes for watt.c and decomp a function from sbk_02

* run coverage.py

* more style changes

* decomp all functions in 92A2B0.c

* run coverage.py

* use map_var instead of hex constant, other style changes

* pull sbk_02.h changes

* ...actually merge master correctly

* decomp most functions in nok_04

* decomp most of 9EDBF0.C, fix warnings in UnkFunc41.inc.c and warnings/decomp in lakilester.c

* run coverage.py

* code review changes + few extra functions

* decomp lakilester functions and fix style in other files

* decomp more laki overworld functions

* add close match for func_802BDDD8_321928

* requested changes

* more requested style changes

* style changes

* last of review changes

* another small style fix

* ...accidentally deleted the f on a float immediate
This commit is contained in:
Rainchus 2021-11-01 03:06:45 -05:00 committed by GitHub
parent 9764f4d44f
commit 432e891080
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 868 additions and 1683 deletions

View File

@ -2121,8 +2121,8 @@ typedef struct PartnerActionStatus {
/* 0x00C */ s32 pressedButtons;
/* 0x010 */ s32 heldButtons;
/* 0x014 */ s8 inputDisabled;
/* 0x015 */ char unk_15[0x3];
/* 0x018 */ Npc unk_18;
/* 0x015 */ char unk_15[3];
/* 0x018 */ Npc npc;
/* 0x358 */ s32 unk_358;
/* 0x35C */ char unk_35C[0x4];
} PartnerActionStatus; // size = 0x360

View File

@ -551,6 +551,7 @@ enum SoundIDs {
SOUND_UNKNOWN_262 = 610,
SOUND_UNKNOWN_282 = 642,
SOUND_BOW_SPOOK = 657,
SOUND_UNKNOWN_295 = 661,
SOUND_UNUSED_2C1 = 705,
SOUND_SMOKE_BURST = 717,
SOUND_DAYZEE_SONG = 727,

View File

@ -280,7 +280,7 @@ extern s32 D_80104BEC;
extern s32 D_8010C920;
extern s32 D_8010C940;
extern s32 D_8010C954;
extern Entity* D_8010C954;
extern s32 D_8010C958;
extern s32 D_8010C95C;
extern s32 D_8010C96C;

View File

@ -57,9 +57,57 @@ void npc_get_slip_vector(f32* outX, f32* outZ, f32 aX, f32 aZ, f32 bX, f32 bZ) {
*outX = (aX - (dotProduct * bX)) * 0.5f;
*outZ = (aZ - (dotProduct * bZ)) * 0.5f;
}
s32 npc_test_move_with_slipping(s32 ignoreFlags, f32* x, f32* y, f32* z, f32 length, f32 yaw, f32 radius) {
f32 outX, outY;
f32 bX, bZ;
f32 hitNy;
f32 hitDepth;
f32 hitX, hitY, hitZ;
f32 outSinTheta, outCosTheta;
f32 temp_f0, temp_f20, temp_f22;
f32 aX, aZ;
f32 inverseOutCosTheta;
s32 raycastHitID;
s32 phi_s5;
s32 phi_s2 = -1;
f32 a, b;
s32 npc_test_move_with_slipping(s32 ignoreFlags, f32* x, f32* y, f32* z, f32 length, f32 yaw, f32 radius);
INCLUDE_ASM(s32, "759b0_len_61b0", npc_test_move_with_slipping, s32 ignoreFlags, f32* x, f32* y, f32* z, f32 length, f32 yaw, f32 radius);
sin_cos_rad((yaw * TAU) / 360.0f, &outSinTheta, &outCosTheta);
aX = length * outSinTheta;
temp_f22 = length + radius + (radius * 0.5f);
inverseOutCosTheta = -outCosTheta;
outCosTheta = inverseOutCosTheta;
hitDepth = temp_f22;
aZ = length * inverseOutCosTheta;
raycastHitID = npc_raycast_general(ignoreFlags, *x - (radius * outSinTheta * 0.5f), *y,
*z - (radius * inverseOutCosTheta * 0.5f), outSinTheta,
0.0f, inverseOutCosTheta, &hitX, &hitY, &hitZ, &hitDepth, &bX, &hitNy, &bZ);
phi_s5 = FALSE;
if (raycastHitID >= 0 && hitDepth <= temp_f22) {
temp_f0 = atan2(0.0f, 0.0f, sqrtf(SQ(bX) + SQ(bZ)), -hitNy);
if (temp_f0 > 60.0f && temp_f0 < 90.0f) {
phi_s5 = TRUE;
}
temp_f20 = hitDepth - (length + radius + (radius * 0.5f));
a = temp_f20 * outSinTheta;
b = temp_f20 * outCosTheta;
npc_get_slip_vector(&outX, &outY, aX, aZ, bX, bZ);
*x += a + outX;
*z += b + outY;
D_8010C978 = raycastHitID;
phi_s2 = raycastHitID;
}
if (phi_s5 == 0) {
*x += aX;
*z += aZ;
}
return phi_s2;
}
s32 npc_test_move_without_slipping(s32 ignoreFlags, f32* x, f32* y, f32* z, f32 length, f32 yaw, f32 radius) {
s32 ret = -1;
@ -92,6 +140,7 @@ s32 npc_test_move_without_slipping(s32 ignoreFlags, f32* x, f32* y, f32* z, f32
D_8010C978 = hitID;
ret = hitID;
}
*x += temp1;
*z += temp2;
return ret;

View File

@ -1,5 +1,63 @@
#include "nok_04.h"
typedef struct Unk80241440_2 {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
} Unk80241440_2; //size = 0x44
typedef struct Unk80241440 {
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ Unk80241440_2* unk_40;
/* 0x44 */ Unk80241440_2* unk_44;
} Unk80241440; //size = 0x48
extern Unk80241440 D_802413F8_9EEFE8;
extern s32 D_80241440_9EF030[12];
extern s32 D_80241438_9EF028;
extern s32 D_8024143C_9EF02C;
extern s32 D_80243254_9F0E44;
extern EvtSource D_80241470_9EF060;
extern EvtSource D_8024161C_9EF20C;
extern s32 D_80241768_9EF358;
extern s32 D_80241748_9EF338;
/*
trees in this room are labeled with a 0 through 5 system, meaning there are "6" tree values
(tree indexes from left to right in both rows, each tree has 2 unique numbers besides 0)
0, 1, 2, 3
0, 5, 4, 3
*/
static char* N(exit_str_0) = "nok_03";
static char* N(exit_str_1) = "";
@ -7,24 +65,180 @@ static char* N(exit_str_1) = "";
#include "common/UnkFloatFunc.inc.c"
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_80240314_9EDF04);
ApiStatus func_80240314_9EDF04(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 temp_s2 = evt_get_variable(script, *args++);
s32 temp_s0_3 = evt_get_variable(script, *args++);
f32 temp_f6 = evt_get_variable(script, *args++);
D_802413F8_9EEFE8.unk_00 = temp_s2;
D_802413F8_9EEFE8.unk_08 = temp_f6;
D_802413F8_9EEFE8.unk_04 = temp_s0_3 + 4.0f;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_802403C0_9EDFB0);
ApiStatus func_802403C0_9EDFB0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 temp_s2 = evt_get_variable(script, *args++);
s32 temp_s0_3 = evt_get_variable(script, *args++);
s32 temp_a0 = evt_get_variable(script, *args++);
s32 phi_s0 = temp_s0_3;
Unk80241440* d802413F8 = &D_802413F8_9EEFE8; //needed to match
f32 temp_f4;
f32 temp_f6;
f32 temp_f8;
f32 temp_f10;
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_802404D0_9EE0C0);
if (temp_s0_3 < 0) {
phi_s0 = temp_s0_3 + 15;
}
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_8024051C_9EE10C);
temp_f8 = phi_s0 >> 4;
D_802413F8_9EEFE8.unk_34 = 0.0f;
temp_f6 = temp_s2 * 0.0625f;
temp_f10 = D_802413F8_9EEFE8.unk_34;
temp_f4 = temp_a0;
D_802413F8_9EEFE8.unk_18 = temp_f8;
D_802413F8_9EEFE8.unk_30 = temp_f4;
D_802413F8_9EEFE8.unk_0C = temp_f6;
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_80240548_9EE138);
if (temp_f10 < temp_f4) {
D_802413F8_9EEFE8.unk_38 = (temp_f6 - D_802413F8_9EEFE8.unk_10) / temp_f4;
D_802413F8_9EEFE8.unk_3C = (temp_f8 - D_802413F8_9EEFE8.unk_20) / temp_f4;
}
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_80240574_9EE164);
if (temp_f4 < temp_f10) {
D_802413F8_9EEFE8.unk_10 = temp_f6;
D_802413F8_9EEFE8.unk_20 = temp_f8;
D_802413F8_9EEFE8.unk_30 = temp_f10;
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_80240630_9EE220);
ApiStatus func_802404D0_9EE0C0(Evt* script, s32 isInitialCall) {
D_802413F8_9EEFE8.unk_00 = 0;
D_802413F8_9EEFE8.unk_04 = 0;
D_802413F8_9EEFE8.unk_08 = 0;
D_802413F8_9EEFE8.unk_10 = 0;
D_802413F8_9EEFE8.unk_0C = 0;
D_802413F8_9EEFE8.unk_14 = 0;
D_802413F8_9EEFE8.unk_18 = 0;
D_802413F8_9EEFE8.unk_20 = 0;
D_802413F8_9EEFE8.unk_1C = 0;
D_802413F8_9EEFE8.unk_40 = NULL;
D_802413F8_9EEFE8.unk_44 = NULL;
D_802413F8_9EEFE8.unk_34 = 0;
D_802413F8_9EEFE8.unk_30 = 0;
D_802413F8_9EEFE8.unk_38 = 0;
D_802413F8_9EEFE8.unk_3C = 0;
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_802406C4_9EE2B4);
ApiStatus func_8024051C_9EE10C(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_80241438_9EF028 = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_80240548_9EE138(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_8024143C_9EF02C = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_80240574_9EE164(Evt* evt, s32 isInitialCall) {
Bytecode *args = evt->ptrReadPos;
s32 mapVar1 = evt_get_variable(evt, *args++) * 3;
s32 var1 = *args++;
s32 var2 = *args++;
s32 var3 = *args++;
evt_set_variable(evt, var1, D_80241440_9EF030[mapVar1]);
evt_set_variable(evt, var2, D_80241440_9EF030[mapVar1 + 1]);
evt_set_variable(evt, var3, D_80241440_9EF030[mapVar1 + 2]);
return ApiStatus_DONE2;
}
ApiStatus func_80240630_9EE220(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 evtVar = evt_get_variable(script, *args++);
Bytecode outVar = *args++;;
evtVar %= 6;
if (evtVar < 4) {
evt_set_variable(script, outVar, evtVar);
} else {
evt_set_variable(script, outVar, 6 - evtVar);
}
return ApiStatus_DONE2;
}
ApiStatus func_802406C4_9EE2B4(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 temp_s1_2 = evt_get_variable(script, *args++);
s32 temp_s2 = evt_get_variable(script, *args++);
Evt* script2;
EvtSource* phi_a0;
temp_s1_2 %= 6;
if (temp_s1_2 >= 4) {
temp_s1_2 = 6 - temp_s1_2;
}
if (does_script_exist(script->varTable[temp_s1_2 + 6])) {
kill_script_by_ID(script->varTable[temp_s1_2 + 6]);
}
phi_a0 = &D_80241470_9EF060;
switch (temp_s2) {
case 0:
phi_a0 = &D_80241470_9EF060;
break;
case 1:
phi_a0 = &D_8024161C_9EF20C;
break;
}
script2 = start_script(phi_a0, 1, 0);
script->varTable[temp_s1_2 + 6] = script2->id;
switch(temp_s1_2) {
case 0:
script2->varTable[0] = 0x4C;
break;
case 1:
script2->varTable[0] = 0x4D;
break;
case 2:
script2->varTable[0] = 0x4E;
break;
case 3:
script2->varTable[0] = 0x4F;
break;
}
return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_80240814_9EE404);
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_80240E4C_9EEA3C);
ApiStatus func_80240E4C_9EEA3C(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
D_80243254_9F0E44 = FALSE;
}
if (D_80243254_9F0E44) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
INCLUDE_ASM(s32, "world/area_nok/nok_04/9EDBF0", func_80240E70_9EEA60);
ApiStatus func_80240E70_9EEA60(Evt* script, s32 isInitialCall) {
D_80243254_9F0E44 = TRUE;
return ApiStatus_DONE2;
}

View File

@ -1,6 +1,9 @@
#include "common.h"
#include "map.h"
#include "npc.h"
void func_800EB2A4(s32 arg0);
ApiStatus N(UnkFunc41)(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
PlayerData* playerData = &gPlayerData;

View File

@ -1,5 +1,6 @@
#include "common.h"
#include "../partners.h"
#include "effects.h"
extern unkPartnerStruct* D_802BFE7C_3239CC;
@ -8,14 +9,81 @@ extern s32 D_802BFF00;
extern s32 D_802BFF04;
extern s32 D_802BFF08;
extern s32 D_802BFF0C;
extern s32 D_802BFF10;
extern s32 D_802BFF14;
extern s32 D_802BFF18;
extern s32 D_802BFF1C;
extern s32 D_802BFF20;
extern s32 D_802BFF24;
extern f32 D_802BFF28;
extern s16 D_8010C97A;
s32 func_802BD7DC(void);
s32 partner_use_ability(void);
f32 get_player_normal_pitch(void);
void partner_kill_ability_script(void);
f64 fabs(f64 val);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD100_320C50);
extern f64 D_802BFEF8;
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD21C_320D6C);
void func_802BD100_320C50(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
Npc* npc = get_npc_unsafe(NPC_PARTNER);
s32 playerFlags = playerStatus->flags;
Camera* currentCamera;
f32 playerSpeedCopy;
s32 temp_v0_2;
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD29C_320DEC);
if (playerFlags & 0x4000) {
playerSpeedCopy = playerStatus->currentSpeed;
if (playerFlags & 0x40000) {
playerSpeedCopy *= 0.5f;
}
add_vec2D_polar(&npc->pos.x, &npc->pos.z, playerSpeedCopy, playerStatus->heading);
npc->yaw = playerStatus->targetYaw;
}
temp_v0_2 = abs(D_802BFF18);
playerStatus->position.x = npc->pos.x;
playerStatus->position.y = npc->pos.y + 10.0f + (temp_v0_2 * 0.34f);
playerStatus->position.z = npc->pos.z;
currentCamera = &gCameras[gCurrentCameraID];
add_vec2D_polar(&playerStatus->position.x, &playerStatus->position.z, 2.0f, currentCamera->currentYaw);
}
void func_802BD21C_320D6C(Npc* npc) {
npc->collisionHeight = 38;
npc->collisionRadius = 36;
npc->unk_80 = 0x10000;
D_802BFF18 = 0;
D_802BFF04 = 0;
D_802BFF08 = 0;
D_802BFF0C = 0;
D_802BFF10 = 1;
D_802BFF1C = 0;
D_802BFF20 = 0;
D_802BFF24 = 0;
D_802BFF28 = 0;
npc->moveToPos.x = npc->pos.x;
npc->moveToPos.y = npc->pos.y;
npc->moveToPos.z = npc->pos.z;
}
ApiStatus func_802BD29C_320DEC(Evt* evt, s32 isInitialCall) {
Npc* npc = evt->owner2.npc;
if (isInitialCall) {
partner_init_get_out(npc);
}
if (partner_get_out(npc) > 0U) {
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus func_802BD2D4_320E24(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
@ -28,11 +96,13 @@ ApiStatus func_802BD2D4_320E24(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
partner_flying_enable(npc, 1);
mem_clear(D_802BFE7C_3239CC, sizeof(*D_802BFE7C_3239CC));
D_8010C954 = 0;
D_8010C954 = NULL;
}
playerData->unk_2F4[8]++;
npc->flags |= 0x10000;
entity = D_8010C954;
if (entity == NULL) {
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
@ -93,40 +163,396 @@ ApiStatus func_802BD2D4_320E24(Evt* script, s32 isInitialCall) {
if (--D_802BFE7C_3239CC->unk_00 == 0) {
D_802BFE7C_3239CC->unk_04 = 0;
D_8010C954 = 0;
D_8010C954 = NULL;
}
break;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD678_3211C8);
void func_802BD678_3211C8(Npc* npc) {
unkPartnerStruct* temp_v1;
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD6BC_32120C);
if (D_8010C954 != NULL) {
temp_v1 = D_802BFE7C_3239CC;
D_8010C954 = NULL;
npc->flags = temp_v1->unk_08;
temp_v1->unk_04 = 0;
partner_clear_player_tracking(npc);
}
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD7DC);
void func_802BD6BC_32120C(f32* arg0, f32* arg1) {
f32 temp_f24 = gPartnerActionStatus.stickX;
f32 temp_f26 = gPartnerActionStatus.stickY;
f32 temp_f22 = -temp_f26;
f32 atan = atan2(0.0f, 0.0f, temp_f24, temp_f22);
f32 temp = clamp_angle(atan + gCameras->currentYaw);
f32 phi_f20 = 0.0f;
if (dist2D(0.0f, 0.0f, temp_f24, temp_f22) >= 1.0) {
phi_f20 = 3.0f;
if (SQ(temp_f24) + SQ(temp_f26) > 3025.0f) {
phi_f20 = 6.0f;
}
}
*arg0 = temp;
*arg1 = phi_f20;
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD99C_3214EC);
s32 func_802BD7DC(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
Camera* currentCamera;
f32 hitDirX, hitDirZ;
f32 hitRx, hitRz;
f32 outLength;
f32 outX, outY, outZ;
Npc *npc = get_npc_unsafe(NPC_PARTNER);
s32 colliderTypeID;
s32 raycastResult;
s32 ret;
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BDA90_3215E0);
if (playerStatus->animFlags & 0x20000000) {
playerStatus->animFlags &= ~0x20000000;
return TRUE;
}
ret = 0;
outLength = 16.0f;
outY = npc->moveToPos.y + 7.0f;
outX = playerStatus->position.x;
outZ = playerStatus->position.z;
currentCamera = &gCameras[gCurrentCameraID];
add_vec2D_polar(&outX, &outZ, 2.0f, currentCamera->currentYaw);
raycastResult = player_raycast_below_cam_relative(playerStatus, &outX, &outY, &outZ, &outLength, &hitRx, &hitRz,
&hitDirX, &hitDirZ);
colliderTypeID = raycastResult;
//TODO find better match
if (outLength <= 16.0f && colliderTypeID >= 0) {
if (!(colliderTypeID & 0x4000) || !(get_entity_type(colliderTypeID) - 0x2E < 2)){
colliderTypeID = get_collider_type_by_id(colliderTypeID) & 0xFF;
if (colliderTypeID - 1 >= 3U) {
ret = FALSE;
if (colliderTypeID != 5) {
npc->moveToPos.x = outX;
npc->moveToPos.y = outY;
npc->moveToPos.z = outZ;
ret = TRUE;
}
}
}
}
return ret;
}
s32 func_802BD99C_3214EC(Npc* partner, f32 yOffset, f32 zOffset) {
f32 outX = gPlayerStatus.position.x;
f32 outY = gPlayerStatus.position.y + yOffset;
f32 outZ = gPlayerStatus.position.z;
f32 outLength = zOffset;
f32 hitRx, hitRz;
f32 hitDirX, hitDirZ;
f32 temp_f4;
D_802BFF24 = 0;
if (player_raycast_below_cam_relative(&gPlayerStatus, &outX, &outY, &outZ, &outLength, &hitRx, &hitRz, &hitDirX, &hitDirZ) >= 0) {
temp_f4 = outY - partner->moveToPos.y;
if (temp_f4 != 0.0f) {
if (fabs(temp_f4) < 10.0) {
D_802BFF24 = temp_f4;
partner->moveToPos.y = outY;
return TRUE;
} else {
return FALSE;
}
}
return TRUE;
}
return FALSE;
}
void func_802BDA90_3215E0(Npc* npc) {
f32 temp_f20 = npc->collisionRadius * 0.8f;
f32 temp_f0 = clamp_angle(npc->yaw);
f32 x = npc->pos.x;
f32 y = npc->moveToPos.y;
f32 z = npc->pos.z;
if (npc_test_move_complex_with_slipping(npc->unk_80, &x, &y, &z, 0.0f, temp_f0, npc->collisionHeight, temp_f20)) {
npc->flags |= 0x6000;
npc->unk_86 = D_8010C97A;
npc->pos.x = x;
npc->pos.z = z;
} else {
npc->flags &= ~0x6000;
}
temp_f0 = clamp_angle(npc->yaw + 45.0f);
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_taller_with_slipping(npc->unk_80, &x, &y, &z, 0.0f, temp_f0, npc->collisionHeight, temp_f20)) {
npc->pos.x = x;
npc->pos.z = z;
npc->flags |= 0x2000;
} else {
npc->flags &= ~0x2000;
}
temp_f0 = clamp_angle(npc->yaw - 45.0f);
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_taller_with_slipping(npc->unk_80, &x, &y, &z, 0.0f, temp_f0, npc->collisionHeight, temp_f20)) {
npc->pos.x = x;
npc->pos.z = z;
npc->flags |= 0x2000;
} else {
npc->flags &= ~0x2000;
}
temp_f0 = clamp_angle(npc->yaw + 45.0f + 180.0f);
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_simple_with_slipping(npc->unk_80, &x, &y, &z, 0.0f, temp_f0, npc->collisionHeight, temp_f20)) {
npc->flags |= 0x2000;
npc->pos.x = x;
npc->pos.z = z;
} else {
npc->flags &= ~0x2000;
}
temp_f0 = clamp_angle(npc->yaw - 45.0f + 180.0f);
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_simple_with_slipping(npc->unk_80, &x, &y, &z, 0.0f, temp_f0, npc->collisionHeight, temp_f20)) {
npc->flags |= 0x2000;
npc->pos.x = x;
npc->pos.z = z;
} else {
npc->flags &= ~0x2000;
}
}
#ifdef NON_MATCHING
void func_802BDDD8_321928(Npc* npc) {
PlayerStatus* playerStatus = &gPlayerStatus;
CollisionStatus* collisionStatus = &gCollisionStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
f32 sp3C, sp40, sp44, sp48, sp4C, sp50, sp54;
f32 sp28 = 0.0f;
f32 sp2C = 0.0f;
f32 x, y, z;
f32 temp_f0_3;
s32 raycastBelowResult;
s32 phi_a3;
f32 phi_f20;
func_802BD6BC_32120C(&sp28, &sp2C);
if ((get_collider_type_by_id(npc->unk_84) & 0xFF) == 3) {
sp2C *= 0.5f;
}
if (D_802BFF28 >= 20.0f) {
sp2C *= 0.8f;
}
npc->moveSpeed = sp2C;
if (sp2C != 0.0f) {
D_802BFF1C += 1;
D_802BFF20 += 1;
if (!(D_802BFF1C & 7)) {
if (D_802BFF20 >= 120) {
D_802BFF20 = 0;
}
if (D_802BFF20 < 0x3C) {
phi_a3 = update_lerp(0, 0.0f, 100.0f, D_802BFF20, 60);
sfx_play_sound_with_params(SOUND_UNKNOWN_295, 0, 0x40, phi_a3);
} else {
phi_a3 = update_lerp(0, 100.0f, 0.0f, D_802BFF20 - 60, 60);
sfx_play_sound_with_params(SOUND_UNKNOWN_295, 0, 0x40, phi_a3);
}
}
}
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_taller_with_slipping(npc->unk_80, &x, &y, &z, npc->collisionRadius, npc->yaw,
npc->collisionHeight, npc->collisionRadius) != 0) {
collisionStatus->unk_0A = (partnerActionStatus->pressedButtons & 0x8000) ? D_8010C97A : -1;
}
if (sp2C != 0.0f) {
npc->yaw = sp28;
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_complex_with_slipping(npc->unk_80, &x, &y, &z, npc->moveSpeed, npc->yaw,
npc->collisionHeight, npc->collisionRadius) != 0) {
if (D_802BFF10) {
collisionStatus->pushingAgainstWall = D_8010C97A;
}
npc->pos.x += (x - npc->pos.x) / 5.0f;
npc->pos.z += (z - npc->pos.z) / 5.0f;
} else {
npc_move_heading(npc, npc->moveSpeed, sp28);
if (D_802BFF10) {
collisionStatus->pushingAgainstWall = -1;
}
}
sp28 = clamp_angle(npc->yaw - 30.0f);
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_taller_with_slipping(npc->unk_80, &x, &y, &z, npc->moveSpeed, sp28,
npc->collisionHeight, npc->collisionRadius) != 0) {
npc->pos.x += (x - npc->pos.x) / 5.0f;
npc->pos.z += (z - npc->pos.z) / 5.0f;
}
sp28 = clamp_angle(npc->yaw + 30.0f);
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_taller_with_slipping(npc->unk_80, &x, &y, &z, npc->moveSpeed, sp28,
npc->collisionHeight, npc->collisionRadius) != 0) {
npc->pos.x += (x - npc->pos.x) / 5.0f;
npc->pos.z += (z - npc->pos.z) / 5.0f;
}
func_8003D660(npc, 1);
} else {
sp28 = 90.0f;
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_taller_with_slipping(npc->unk_80, &x, &y, &z, 4.0f, sp28, npc->collisionHeight,
npc->collisionRadius) != 0) {
npc->pos.x += (x - npc->pos.x) / 5.0f;
npc->pos.z += (z - npc->pos.z) / 5.0f;
}
sp28 = 270.0f;
x = npc->pos.x;
y = npc->moveToPos.y;
z = npc->pos.z;
if (npc_test_move_taller_with_slipping(npc->unk_80, &x, &y, &z, 4.0f, sp28, npc->collisionHeight,
npc->collisionRadius) != 0) {
npc->pos.x += (x - npc->pos.x) / 5.0f;
npc->pos.z +=(z - npc->pos.z) / 5.0f;
}
}
func_802BDA90_3215E0(npc);
npc->moveToPos.y = npc->moveToPos.y - npc->jumpScale;
x = playerStatus->position.x;
z = playerStatus->position.z;
y = npc->moveToPos.y + 12.0f;
sp3C = npc->collisionHeight + 2;
add_vec2D_polar(&x, &z, 2.0f, gCameras[gCurrentCameraID].currentYaw);
raycastBelowResult = player_raycast_below_cam_relative(playerStatus, &x, &y, &z, &sp3C, &sp40,
&sp44, &sp48, &sp4C);
D_802BFF28 = get_player_normal_pitch();
phi_f20 = 12.0f;
if (D_802BFF28 != 0.0f) {
phi_f20 = 32.0f;
}
if (D_802BFF28 > 0.0f && raycastBelowResult >= 0) {
sin_cos_rad((D_802BFF28 * TAU) / 360.0f, &sp50, &sp54);
npc->pos.y = (npc->pos.y + fabs((sp50 / sp54) * playerStatus->runSpeed));
}
if (sp3C <= phi_f20 && raycastBelowResult >= 0) {
playerStatus->lastGoodPosition.x = npc->pos.x;
playerStatus->lastGoodPosition.y = npc->pos.y;
playerStatus->lastGoodPosition.z = npc->pos.z;
collisionStatus->currentFloor = raycastBelowResult;
npc->unk_84 = raycastBelowResult;
npc->moveToPos.y = y;
npc->moveToPos.x = x;
npc->moveToPos.z = z;
npc->jumpScale = 0.0f;
playerStatus->decorationList = 0;
if ((get_collider_type_by_id(raycastBelowResult) & 0xFF) == 3) {
npc->currentAnim.w = 0x80006;
npc->moveSpeed = sp2C * 0.5f;
} else {
npc->currentAnim.w = 0x80005;
npc->moveSpeed = sp2C;
}
return;
}
collisionStatus->currentFloor = -1;
playerStatus->decorationList = playerStatus->decorationList + 1;
npc->unk_84 = -1;
npc->jumpScale += D_802BFEF8;
if (npc->jumpScale > 12.0f) {
npc->jumpScale = 12.0f;
}
}
#else
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BDDD8_321928);
#endif
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE6A0_3221F0);
s32 func_802BE6A0_3221F0(f32* arg0) {
f32 hitDirX, hitDirZ;
f32 hitRx, hitRz;
f32 sp28, sp2C;
f32 colliderHeight = gPlayerStatus.colliderHeight;
*arg0 = gPlayerStatus.position.y + colliderHeight;
sp28 = gPlayerStatus.position.x;
sp2C = gPlayerStatus.position.z;
player_raycast_below_cam_relative(&gPlayerStatus, &sp28, arg0, &sp2C, &colliderHeight, &hitRx, &hitRz, &hitDirX, &hitDirZ);
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE724_322274);
ApiStatus func_802BF4F0_323040(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
Camera* cam = &gCameras;
Camera* cam = &gCameras[0];
Npc* partner = script->owner2.npc;
f32 sp2C;
f32 sp28;
f32 sp24;
f32 sp20;
f32 sp20, sp24, sp28, sp2C;
f32 yaw;
s32 phi_v1;
if (isInitialCall) {
D_802BFF00 = (D_802BFF0C == 0) ? 3 : 0;
@ -245,10 +671,131 @@ ApiStatus func_802BF4F0_323040(Evt* script, s32 isInitialCall) {
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFA00_323550);
void func_802BFA00_323550(Npc* npc) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFAA8_3235F8);
if (D_802BFF0C != 0) {
partnerActionStatus->npc = *npc;
partnerActionStatus->actionState.b[1] = 1;
enable_player_static_collisions();
enable_player_input();
set_action_state(ACTION_STATE_IDLE);
partner_clear_player_tracking(npc);
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFB44_323694);
partnerActionStatus->actionState.b[3] = 8;
D_802BFF18 = 0;
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFBA0_3236F0);
void func_802BFAA8_3235F8(Npc* npc) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
if (partnerActionStatus->actionState.b[1] != 0) {
if (D_802BFF0C != 0) {
*npc = partnerActionStatus->npc;
gGameStatusPtr->unk_7D = 1;
set_action_state(ACTION_STATE_RIDE);
partnerActionStatus->actionState.b[3] = 0;
partnerActionStatus->actionState.b[0] = 0;
disable_player_input();
partner_use_ability();
}
}
}
void func_802BFB44_323694(f32 arg0) {
Camera* currentCamera = &gCameras[gCurrentCameraID];
PlayerStatus* playerStatus = &gPlayerStatus;
add_vec2D_polar(&playerStatus->position.x, &playerStatus->position.z, arg0, currentCamera->currentYaw);
}
s32 func_802BFBA0_3236F0(Evt* script, s32 isInitialCall) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
PlayerStatus* playerStatus = &gPlayerStatus;
Npc* npc = get_npc_unsafe(NPC_PARTNER);
f32 temp_f0;
f32 temp_f2;
f32 temp_f4;
f32* temp_s0_2;
s32 temp_v0_2;
s32 tempVar;
if (isInitialCall) {
script->functionTemp[0] = 0;
}
tempVar = script->functionTemp[0];
switch (tempVar) {
case 0:
if (script->varTable[12] == 0) {
temp_f0 = playerStatus->position.x;
npc->pos.x = temp_f0;
npc->moveToPos.x = temp_f0;
temp_f4 = playerStatus->position.z;
npc->pos.z = temp_f4;
npc->moveToPos.z = temp_f4;
playerStatus->position.y = npc->pos.y + 10.0f;
partner_kill_ability_script();
} else {
set_action_state(ACTION_STATE_RIDE);
disable_player_static_collisions();
disable_player_input();
npc->moveToPos.x = npc->pos.x = playerStatus->position.x;
npc->moveToPos.y = npc->pos.y = playerStatus->position.y;
npc->moveToPos.z = npc->pos.z = playerStatus->position.z;
playerStatus->position.y = npc->pos.y + 10.0f;
}
script->functionTemp[1] = script->varTable[4];
temp_s0_2 = (f32*)&script->varTable[5];
temp_f2 = atan2(npc->pos.x, npc->pos.z, script->varTable[1], script->varTable[3]);
npc->yaw = temp_f2;
if (script->varTable[12] != 0) {
if (temp_f2 >= 0.0f && temp_f2 <= 180.0f) {
npc->yawCamOffset = temp_f2;
npc->isFacingAway = 1;
}
}
sfx_play_sound_at_npc(0x295, 0, -4);
playerStatus->anim = 0x8000E;
playerStatus->unk_BC = 0;
playerStatus->flags |= 0x10000000;
func_802BFB44_323694(2.0f);
gGameStatusPtr->unk_7D = 1;
npc->flags |= 0x100;
npc->moveSpeed = *temp_s0_2;
npc->jumpScale = 0.0f;
D_802BFF10 = 0;
D_802BFF18 = 0;
script->functionTemp[0] = 1;
break;
case 1:
npc_move_heading(npc, npc->moveSpeed, npc->yaw);
playerStatus->position.x = npc->pos.x;
playerStatus->position.y = npc->pos.y + 10.0f;
playerStatus->position.z = npc->pos.z;
playerStatus->targetYaw = npc->yaw;
func_802BFB44_323694(2.0f);
script->functionTemp[1] -= 1;
if (script->functionTemp[1] == 0) {
if (script->varTable[12] != 0) {
partnerActionStatus->actionState.b[1] = tempVar;
set_action_state(ACTION_STATE_RIDE);
partnerActionStatus->actionState.b[3] = 0;
partnerActionStatus->actionState.b[0] = 0;
partner_use_ability();
enable_player_static_collisions();
enable_player_input();
}
return ApiStatus_DONE2;
}
}
return ApiStatus_BLOCK;
}

View File

@ -110,9 +110,25 @@ s32 func_802BDD0C_31D87C(Evt* script, s32 isInitialCall) {
}
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BDD9C_31D90C);
void func_802BDD9C_31D90C(Npc* npc) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
INCLUDE_ASM(s32, "world/partner/watt", func_802BDE10_31D980);
if (D_802BE30C != 0) {
partnerActionStatus->npc = *npc;
partnerActionStatus->actionState.b[1] = 1;
partner_clear_player_tracking(npc);
}
func_802BD180_31CCF0();
}
void func_802BDE10_31D980(Npc* npc) {
if (gPartnerActionStatus.actionState.b[1]) {
*npc = gPartnerActionStatus.npc;
partner_use_ability();
func_802BD100_31CC70(npc);
}
}
ApiStatus func_802BDE88_31D9F8(Evt* script, s32 isInitialCall) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;

View File

@ -1,193 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel npc_test_move_with_slipping
/* 76AC8 800DD618 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 76ACC 800DD61C C7AC00C4 */ lwc1 $f12, 0xc4($sp)
/* 76AD0 800DD620 3C0140C9 */ lui $at, 0x40c9
/* 76AD4 800DD624 34210FD0 */ ori $at, $at, 0xfd0
/* 76AD8 800DD628 44810000 */ mtc1 $at, $f0
/* 76ADC 800DD62C AFB00068 */ sw $s0, 0x68($sp)
/* 76AE0 800DD630 0080802D */ daddu $s0, $a0, $zero
/* 76AE4 800DD634 AFB30074 */ sw $s3, 0x74($sp)
/* 76AE8 800DD638 00A0982D */ daddu $s3, $a1, $zero
/* 76AEC 800DD63C AFB1006C */ sw $s1, 0x6c($sp)
/* 76AF0 800DD640 00C0882D */ daddu $s1, $a2, $zero
/* 76AF4 800DD644 AFB40078 */ sw $s4, 0x78($sp)
/* 76AF8 800DD648 00E0A02D */ daddu $s4, $a3, $zero
/* 76AFC 800DD64C F7B80098 */ sdc1 $f24, 0x98($sp)
/* 76B00 800DD650 C7B800C0 */ lwc1 $f24, 0xc0($sp)
/* 76B04 800DD654 27A50038 */ addiu $a1, $sp, 0x38
/* 76B08 800DD658 F7B40088 */ sdc1 $f20, 0x88($sp)
/* 76B0C 800DD65C C7B400C8 */ lwc1 $f20, 0xc8($sp)
/* 76B10 800DD660 46006302 */ mul.s $f12, $f12, $f0
/* 76B14 800DD664 00000000 */ nop
/* 76B18 800DD668 3C0143B4 */ lui $at, 0x43b4
/* 76B1C 800DD66C 44810000 */ mtc1 $at, $f0
/* 76B20 800DD670 27A6003C */ addiu $a2, $sp, 0x3c
/* 76B24 800DD674 AFBF0080 */ sw $ra, 0x80($sp)
/* 76B28 800DD678 AFB5007C */ sw $s5, 0x7c($sp)
/* 76B2C 800DD67C AFB20070 */ sw $s2, 0x70($sp)
/* 76B30 800DD680 F7BC00A8 */ sdc1 $f28, 0xa8($sp)
/* 76B34 800DD684 F7BA00A0 */ sdc1 $f26, 0xa0($sp)
/* 76B38 800DD688 F7B60090 */ sdc1 $f22, 0x90($sp)
/* 76B3C 800DD68C 0C00A82D */ jal sin_cos_rad
/* 76B40 800DD690 46006303 */ div.s $f12, $f12, $f0
/* 76B44 800DD694 C7A40038 */ lwc1 $f4, 0x38($sp)
/* 76B48 800DD698 4604C702 */ mul.s $f28, $f24, $f4
/* 76B4C 800DD69C 00000000 */ nop
/* 76B50 800DD6A0 4604A182 */ mul.s $f6, $f20, $f4
/* 76B54 800DD6A4 00000000 */ nop
/* 76B58 800DD6A8 3C013F00 */ lui $at, 0x3f00
/* 76B5C 800DD6AC 44814000 */ mtc1 $at, $f8
/* 76B60 800DD6B0 00000000 */ nop
/* 76B64 800DD6B4 4608A082 */ mul.s $f2, $f20, $f8
/* 76B68 800DD6B8 00000000 */ nop
/* 76B6C 800DD6BC 46083182 */ mul.s $f6, $f6, $f8
/* 76B70 800DD6C0 00000000 */ nop
/* 76B74 800DD6C4 2412FFFF */ addiu $s2, $zero, -1
/* 76B78 800DD6C8 4614C000 */ add.s $f0, $f24, $f20
/* 76B7C 800DD6CC 0000A82D */ daddu $s5, $zero, $zero
/* 76B80 800DD6D0 46020580 */ add.s $f22, $f0, $f2
/* 76B84 800DD6D4 C7A2003C */ lwc1 $f2, 0x3c($sp)
/* 76B88 800DD6D8 27A20040 */ addiu $v0, $sp, 0x40
/* 76B8C 800DD6DC 46001087 */ neg.s $f2, $f2
/* 76B90 800DD6E0 E7A2003C */ swc1 $f2, 0x3c($sp)
/* 76B94 800DD6E4 E7B6004C */ swc1 $f22, 0x4c($sp)
/* 76B98 800DD6E8 C66A0000 */ lwc1 $f10, ($s3)
/* 76B9C 800DD6EC C68C0000 */ lwc1 $f12, ($s4)
/* 76BA0 800DD6F0 4602A002 */ mul.s $f0, $f20, $f2
/* 76BA4 800DD6F4 00000000 */ nop
/* 76BA8 800DD6F8 AFA2001C */ sw $v0, 0x1c($sp)
/* 76BAC 800DD6FC 27A20044 */ addiu $v0, $sp, 0x44
/* 76BB0 800DD700 AFA20020 */ sw $v0, 0x20($sp)
/* 76BB4 800DD704 27A20048 */ addiu $v0, $sp, 0x48
/* 76BB8 800DD708 AFA20024 */ sw $v0, 0x24($sp)
/* 76BBC 800DD70C 27A2004C */ addiu $v0, $sp, 0x4c
/* 76BC0 800DD710 AFA20028 */ sw $v0, 0x28($sp)
/* 76BC4 800DD714 27A20050 */ addiu $v0, $sp, 0x50
/* 76BC8 800DD718 AFA2002C */ sw $v0, 0x2c($sp)
/* 76BCC 800DD71C 27A20054 */ addiu $v0, $sp, 0x54
/* 76BD0 800DD720 46080002 */ mul.s $f0, $f0, $f8
/* 76BD4 800DD724 00000000 */ nop
/* 76BD8 800DD728 AFA20030 */ sw $v0, 0x30($sp)
/* 76BDC 800DD72C 27A20058 */ addiu $v0, $sp, 0x58
/* 76BE0 800DD730 E7A40010 */ swc1 $f4, 0x10($sp)
/* 76BE4 800DD734 AFA00014 */ sw $zero, 0x14($sp)
/* 76BE8 800DD738 46065281 */ sub.s $f10, $f10, $f6
/* 76BEC 800DD73C E7A20018 */ swc1 $f2, 0x18($sp)
/* 76BF0 800DD740 AFA20034 */ sw $v0, 0x34($sp)
/* 76BF4 800DD744 46006301 */ sub.s $f12, $f12, $f0
/* 76BF8 800DD748 8E260000 */ lw $a2, ($s1)
/* 76BFC 800DD74C 44055000 */ mfc1 $a1, $f10
/* 76C00 800DD750 44076000 */ mfc1 $a3, $f12
/* 76C04 800DD754 4602C682 */ mul.s $f26, $f24, $f2
/* 76C08 800DD758 00000000 */ nop
/* 76C0C 800DD75C 0C037513 */ jal npc_raycast_general
/* 76C10 800DD760 0200202D */ daddu $a0, $s0, $zero
/* 76C14 800DD764 0040802D */ daddu $s0, $v0, $zero
/* 76C18 800DD768 0600004E */ bltz $s0, .L800DD8A4
/* 76C1C 800DD76C 00000000 */ nop
/* 76C20 800DD770 C7A0004C */ lwc1 $f0, 0x4c($sp)
/* 76C24 800DD774 4616003E */ c.le.s $f0, $f22
/* 76C28 800DD778 00000000 */ nop
/* 76C2C 800DD77C 45000049 */ bc1f .L800DD8A4
/* 76C30 800DD780 00000000 */ nop
/* 76C34 800DD784 C7A20050 */ lwc1 $f2, 0x50($sp)
/* 76C38 800DD788 46021082 */ mul.s $f2, $f2, $f2
/* 76C3C 800DD78C 00000000 */ nop
/* 76C40 800DD790 C7A00058 */ lwc1 $f0, 0x58($sp)
/* 76C44 800DD794 46000002 */ mul.s $f0, $f0, $f0
/* 76C48 800DD798 00000000 */ nop
/* 76C4C 800DD79C 46001300 */ add.s $f12, $f2, $f0
/* 76C50 800DD7A0 46006004 */ sqrt.s $f0, $f12
/* 76C54 800DD7A4 46000032 */ c.eq.s $f0, $f0
/* 76C58 800DD7A8 00000000 */ nop
/* 76C5C 800DD7AC 45010003 */ bc1t .L800DD7BC
/* 76C60 800DD7B0 00000000 */ nop
/* 76C64 800DD7B4 0C0187BC */ jal sqrtf
/* 76C68 800DD7B8 00000000 */ nop
.L800DD7BC:
/* 76C6C 800DD7BC 44060000 */ mfc1 $a2, $f0
/* 76C70 800DD7C0 C7A00054 */ lwc1 $f0, 0x54($sp)
/* 76C74 800DD7C4 44806000 */ mtc1 $zero, $f12
/* 76C78 800DD7C8 46000007 */ neg.s $f0, $f0
/* 76C7C 800DD7CC 44070000 */ mfc1 $a3, $f0
/* 76C80 800DD7D0 0C00A720 */ jal atan2
/* 76C84 800DD7D4 46006386 */ mov.s $f14, $f12
/* 76C88 800DD7D8 3C014270 */ lui $at, 0x4270
/* 76C8C 800DD7DC 44811000 */ mtc1 $at, $f2
/* 76C90 800DD7E0 46000106 */ mov.s $f4, $f0
/* 76C94 800DD7E4 4604103C */ c.lt.s $f2, $f4
/* 76C98 800DD7E8 00000000 */ nop
/* 76C9C 800DD7EC 45000008 */ bc1f .L800DD810
/* 76CA0 800DD7F0 00000000 */ nop
/* 76CA4 800DD7F4 3C0142B4 */ lui $at, 0x42b4
/* 76CA8 800DD7F8 44810000 */ mtc1 $at, $f0
/* 76CAC 800DD7FC 00000000 */ nop
/* 76CB0 800DD800 4600203C */ c.lt.s $f4, $f0
/* 76CB4 800DD804 00000000 */ nop
/* 76CB8 800DD808 45030001 */ bc1tl .L800DD810
/* 76CBC 800DD80C 24150001 */ addiu $s5, $zero, 1
.L800DD810:
/* 76CC0 800DD810 3C013F00 */ lui $at, 0x3f00
/* 76CC4 800DD814 44810000 */ mtc1 $at, $f0
/* 76CC8 800DD818 00000000 */ nop
/* 76CCC 800DD81C 4600A002 */ mul.s $f0, $f20, $f0
/* 76CD0 800DD820 00000000 */ nop
/* 76CD4 800DD824 4614C080 */ add.s $f2, $f24, $f20
/* 76CD8 800DD828 27A4005C */ addiu $a0, $sp, 0x5c
/* 76CDC 800DD82C 4406E000 */ mfc1 $a2, $f28
/* 76CE0 800DD830 46001080 */ add.s $f2, $f2, $f0
/* 76CE4 800DD834 C7B4004C */ lwc1 $f20, 0x4c($sp)
/* 76CE8 800DD838 4407D000 */ mfc1 $a3, $f26
/* 76CEC 800DD83C 4602A501 */ sub.s $f20, $f20, $f2
/* 76CF0 800DD840 C7B60038 */ lwc1 $f22, 0x38($sp)
/* 76CF4 800DD844 C7A00050 */ lwc1 $f0, 0x50($sp)
/* 76CF8 800DD848 4616A582 */ mul.s $f22, $f20, $f22
/* 76CFC 800DD84C 00000000 */ nop
/* 76D00 800DD850 C7A2003C */ lwc1 $f2, 0x3c($sp)
/* 76D04 800DD854 27A50060 */ addiu $a1, $sp, 0x60
/* 76D08 800DD858 E7A00010 */ swc1 $f0, 0x10($sp)
/* 76D0C 800DD85C C7A00058 */ lwc1 $f0, 0x58($sp)
/* 76D10 800DD860 4602A502 */ mul.s $f20, $f20, $f2
/* 76D14 800DD864 00000000 */ nop
/* 76D18 800DD868 0C03756D */ jal npc_get_slip_vector
/* 76D1C 800DD86C E7A00014 */ swc1 $f0, 0x14($sp)
/* 76D20 800DD870 C7A0005C */ lwc1 $f0, 0x5c($sp)
/* 76D24 800DD874 4600B580 */ add.s $f22, $f22, $f0
/* 76D28 800DD878 C6600000 */ lwc1 $f0, ($s3)
/* 76D2C 800DD87C 46160000 */ add.s $f0, $f0, $f22
/* 76D30 800DD880 E6600000 */ swc1 $f0, ($s3)
/* 76D34 800DD884 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 76D38 800DD888 4600A500 */ add.s $f20, $f20, $f0
/* 76D3C 800DD88C C6800000 */ lwc1 $f0, ($s4)
/* 76D40 800DD890 46140000 */ add.s $f0, $f0, $f20
/* 76D44 800DD894 0200902D */ daddu $s2, $s0, $zero
/* 76D48 800DD898 E6800000 */ swc1 $f0, ($s4)
/* 76D4C 800DD89C 3C018011 */ lui $at, %hi(D_8010C978)
/* 76D50 800DD8A0 AC32C978 */ sw $s2, %lo(D_8010C978)($at)
.L800DD8A4:
/* 76D54 800DD8A4 16A00007 */ bnez $s5, .L800DD8C4
/* 76D58 800DD8A8 0240102D */ daddu $v0, $s2, $zero
/* 76D5C 800DD8AC C6600000 */ lwc1 $f0, ($s3)
/* 76D60 800DD8B0 461C0000 */ add.s $f0, $f0, $f28
/* 76D64 800DD8B4 E6600000 */ swc1 $f0, ($s3)
/* 76D68 800DD8B8 C6800000 */ lwc1 $f0, ($s4)
/* 76D6C 800DD8BC 461A0000 */ add.s $f0, $f0, $f26
/* 76D70 800DD8C0 E6800000 */ swc1 $f0, ($s4)
.L800DD8C4:
/* 76D74 800DD8C4 8FBF0080 */ lw $ra, 0x80($sp)
/* 76D78 800DD8C8 8FB5007C */ lw $s5, 0x7c($sp)
/* 76D7C 800DD8CC 8FB40078 */ lw $s4, 0x78($sp)
/* 76D80 800DD8D0 8FB30074 */ lw $s3, 0x74($sp)
/* 76D84 800DD8D4 8FB20070 */ lw $s2, 0x70($sp)
/* 76D88 800DD8D8 8FB1006C */ lw $s1, 0x6c($sp)
/* 76D8C 800DD8DC 8FB00068 */ lw $s0, 0x68($sp)
/* 76D90 800DD8E0 D7BC00A8 */ ldc1 $f28, 0xa8($sp)
/* 76D94 800DD8E4 D7BA00A0 */ ldc1 $f26, 0xa0($sp)
/* 76D98 800DD8E8 D7B80098 */ ldc1 $f24, 0x98($sp)
/* 76D9C 800DD8EC D7B60090 */ ldc1 $f22, 0x90($sp)
/* 76DA0 800DD8F0 D7B40088 */ ldc1 $f20, 0x88($sp)
/* 76DA4 800DD8F4 03E00008 */ jr $ra
/* 76DA8 800DD8F8 27BD00B0 */ addiu $sp, $sp, 0xb0

View File

@ -1,47 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240314_9EDF04
/* 9EDF04 80240314 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 9EDF08 80240318 AFB10014 */ sw $s1, 0x14($sp)
/* 9EDF0C 8024031C 0080882D */ daddu $s1, $a0, $zero
/* 9EDF10 80240320 AFBF001C */ sw $ra, 0x1c($sp)
/* 9EDF14 80240324 AFB20018 */ sw $s2, 0x18($sp)
/* 9EDF18 80240328 AFB00010 */ sw $s0, 0x10($sp)
/* 9EDF1C 8024032C 8E30000C */ lw $s0, 0xc($s1)
/* 9EDF20 80240330 8E050000 */ lw $a1, ($s0)
/* 9EDF24 80240334 0C0B1EAF */ jal evt_get_variable
/* 9EDF28 80240338 26100004 */ addiu $s0, $s0, 4
/* 9EDF2C 8024033C 8E050000 */ lw $a1, ($s0)
/* 9EDF30 80240340 26100004 */ addiu $s0, $s0, 4
/* 9EDF34 80240344 0220202D */ daddu $a0, $s1, $zero
/* 9EDF38 80240348 0C0B1EAF */ jal evt_get_variable
/* 9EDF3C 8024034C 0040902D */ daddu $s2, $v0, $zero
/* 9EDF40 80240350 0220202D */ daddu $a0, $s1, $zero
/* 9EDF44 80240354 8E050000 */ lw $a1, ($s0)
/* 9EDF48 80240358 0C0B1EAF */ jal evt_get_variable
/* 9EDF4C 8024035C 0040802D */ daddu $s0, $v0, $zero
/* 9EDF50 80240360 44823000 */ mtc1 $v0, $f6
/* 9EDF54 80240364 00000000 */ nop
/* 9EDF58 80240368 468031A0 */ cvt.s.w $f6, $f6
/* 9EDF5C 8024036C 3C038024 */ lui $v1, %hi(D_802413F8_9EEFE8)
/* 9EDF60 80240370 246313F8 */ addiu $v1, $v1, %lo(D_802413F8_9EEFE8)
/* 9EDF64 80240374 44922000 */ mtc1 $s2, $f4
/* 9EDF68 80240378 00000000 */ nop
/* 9EDF6C 8024037C 46802120 */ cvt.s.w $f4, $f4
/* 9EDF70 80240380 3C014080 */ lui $at, 0x4080
/* 9EDF74 80240384 44811000 */ mtc1 $at, $f2
/* 9EDF78 80240388 44900000 */ mtc1 $s0, $f0
/* 9EDF7C 8024038C 00000000 */ nop
/* 9EDF80 80240390 46800020 */ cvt.s.w $f0, $f0
/* 9EDF84 80240394 46020000 */ add.s $f0, $f0, $f2
/* 9EDF88 80240398 E4640000 */ swc1 $f4, ($v1)
/* 9EDF8C 8024039C E4660008 */ swc1 $f6, 8($v1)
/* 9EDF90 802403A0 E4600004 */ swc1 $f0, 4($v1)
/* 9EDF94 802403A4 8FBF001C */ lw $ra, 0x1c($sp)
/* 9EDF98 802403A8 8FB20018 */ lw $s2, 0x18($sp)
/* 9EDF9C 802403AC 8FB10014 */ lw $s1, 0x14($sp)
/* 9EDFA0 802403B0 8FB00010 */ lw $s0, 0x10($sp)
/* 9EDFA4 802403B4 24020002 */ addiu $v0, $zero, 2
/* 9EDFA8 802403B8 03E00008 */ jr $ra
/* 9EDFAC 802403BC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,75 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802403C0_9EDFB0
/* 9EDFB0 802403C0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 9EDFB4 802403C4 AFB10014 */ sw $s1, 0x14($sp)
/* 9EDFB8 802403C8 0080882D */ daddu $s1, $a0, $zero
/* 9EDFBC 802403CC AFBF001C */ sw $ra, 0x1c($sp)
/* 9EDFC0 802403D0 AFB20018 */ sw $s2, 0x18($sp)
/* 9EDFC4 802403D4 AFB00010 */ sw $s0, 0x10($sp)
/* 9EDFC8 802403D8 8E30000C */ lw $s0, 0xc($s1)
/* 9EDFCC 802403DC 8E050000 */ lw $a1, ($s0)
/* 9EDFD0 802403E0 0C0B1EAF */ jal evt_get_variable
/* 9EDFD4 802403E4 26100004 */ addiu $s0, $s0, 4
/* 9EDFD8 802403E8 8E050000 */ lw $a1, ($s0)
/* 9EDFDC 802403EC 26100004 */ addiu $s0, $s0, 4
/* 9EDFE0 802403F0 0220202D */ daddu $a0, $s1, $zero
/* 9EDFE4 802403F4 0C0B1EAF */ jal evt_get_variable
/* 9EDFE8 802403F8 0040902D */ daddu $s2, $v0, $zero
/* 9EDFEC 802403FC 0220202D */ daddu $a0, $s1, $zero
/* 9EDFF0 80240400 8E050000 */ lw $a1, ($s0)
/* 9EDFF4 80240404 0C0B1EAF */ jal evt_get_variable
/* 9EDFF8 80240408 0040802D */ daddu $s0, $v0, $zero
/* 9EDFFC 8024040C 3C038024 */ lui $v1, %hi(D_802413F8_9EEFE8)
/* 9EE000 80240410 246313F8 */ addiu $v1, $v1, %lo(D_802413F8_9EEFE8)
/* 9EE004 80240414 06010002 */ bgez $s0, .L80240420
/* 9EE008 80240418 0040202D */ daddu $a0, $v0, $zero
/* 9EE00C 8024041C 2610000F */ addiu $s0, $s0, 0xf
.L80240420:
/* 9EE010 80240420 00101103 */ sra $v0, $s0, 4
/* 9EE014 80240424 44824000 */ mtc1 $v0, $f8
/* 9EE018 80240428 00000000 */ nop
/* 9EE01C 8024042C 46804220 */ cvt.s.w $f8, $f8
/* 9EE020 80240430 3C013D80 */ lui $at, 0x3d80
/* 9EE024 80240434 44811000 */ mtc1 $at, $f2
/* 9EE028 80240438 44920000 */ mtc1 $s2, $f0
/* 9EE02C 8024043C 00000000 */ nop
/* 9EE030 80240440 46800020 */ cvt.s.w $f0, $f0
/* 9EE034 80240444 AC600034 */ sw $zero, 0x34($v1)
/* 9EE038 80240448 46020182 */ mul.s $f6, $f0, $f2
/* 9EE03C 8024044C 00000000 */ nop
/* 9EE040 80240450 C46A0034 */ lwc1 $f10, 0x34($v1)
/* 9EE044 80240454 44842000 */ mtc1 $a0, $f4
/* 9EE048 80240458 00000000 */ nop
/* 9EE04C 8024045C 46802120 */ cvt.s.w $f4, $f4
/* 9EE050 80240460 E4680018 */ swc1 $f8, 0x18($v1)
/* 9EE054 80240464 E4640030 */ swc1 $f4, 0x30($v1)
/* 9EE058 80240468 4604503C */ c.lt.s $f10, $f4
/* 9EE05C 8024046C 00000000 */ nop
/* 9EE060 80240470 45000009 */ bc1f .L80240498
/* 9EE064 80240474 E466000C */ swc1 $f6, 0xc($v1)
/* 9EE068 80240478 C4600010 */ lwc1 $f0, 0x10($v1)
/* 9EE06C 8024047C 46003001 */ sub.s $f0, $f6, $f0
/* 9EE070 80240480 C4620020 */ lwc1 $f2, 0x20($v1)
/* 9EE074 80240484 46024081 */ sub.s $f2, $f8, $f2
/* 9EE078 80240488 46040003 */ div.s $f0, $f0, $f4
/* 9EE07C 8024048C 46041083 */ div.s $f2, $f2, $f4
/* 9EE080 80240490 E4600038 */ swc1 $f0, 0x38($v1)
/* 9EE084 80240494 E462003C */ swc1 $f2, 0x3c($v1)
.L80240498:
/* 9EE088 80240498 460A203C */ c.lt.s $f4, $f10
/* 9EE08C 8024049C 00000000 */ nop
/* 9EE090 802404A0 45000004 */ bc1f .L802404B4
/* 9EE094 802404A4 00000000 */ nop
/* 9EE098 802404A8 E4660010 */ swc1 $f6, 0x10($v1)
/* 9EE09C 802404AC E4680020 */ swc1 $f8, 0x20($v1)
/* 9EE0A0 802404B0 E46A0030 */ swc1 $f10, 0x30($v1)
.L802404B4:
/* 9EE0A4 802404B4 8FBF001C */ lw $ra, 0x1c($sp)
/* 9EE0A8 802404B8 8FB20018 */ lw $s2, 0x18($sp)
/* 9EE0AC 802404BC 8FB10014 */ lw $s1, 0x14($sp)
/* 9EE0B0 802404C0 8FB00010 */ lw $s0, 0x10($sp)
/* 9EE0B4 802404C4 24020002 */ addiu $v0, $zero, 2
/* 9EE0B8 802404C8 03E00008 */ jr $ra
/* 9EE0BC 802404CC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,23 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802404D0_9EE0C0
/* 9EE0C0 802404D0 3C028024 */ lui $v0, %hi(D_802413F8_9EEFE8)
/* 9EE0C4 802404D4 244213F8 */ addiu $v0, $v0, %lo(D_802413F8_9EEFE8)
/* 9EE0C8 802404D8 AC400000 */ sw $zero, ($v0)
/* 9EE0CC 802404DC AC400004 */ sw $zero, 4($v0)
/* 9EE0D0 802404E0 AC400008 */ sw $zero, 8($v0)
/* 9EE0D4 802404E4 AC400010 */ sw $zero, 0x10($v0)
/* 9EE0D8 802404E8 AC40000C */ sw $zero, 0xc($v0)
/* 9EE0DC 802404EC AC400014 */ sw $zero, 0x14($v0)
/* 9EE0E0 802404F0 AC400018 */ sw $zero, 0x18($v0)
/* 9EE0E4 802404F4 AC400020 */ sw $zero, 0x20($v0)
/* 9EE0E8 802404F8 AC40001C */ sw $zero, 0x1c($v0)
/* 9EE0EC 802404FC AC400040 */ sw $zero, 0x40($v0)
/* 9EE0F0 80240500 AC400044 */ sw $zero, 0x44($v0)
/* 9EE0F4 80240504 AC400034 */ sw $zero, 0x34($v0)
/* 9EE0F8 80240508 AC400030 */ sw $zero, 0x30($v0)
/* 9EE0FC 8024050C AC400038 */ sw $zero, 0x38($v0)
/* 9EE100 80240510 AC40003C */ sw $zero, 0x3c($v0)
/* 9EE104 80240514 03E00008 */ jr $ra
/* 9EE108 80240518 24020002 */ addiu $v0, $zero, 2

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024051C_9EE10C
/* 9EE10C 8024051C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 9EE110 80240520 AFBF0010 */ sw $ra, 0x10($sp)
/* 9EE114 80240524 8C82000C */ lw $v0, 0xc($a0)
/* 9EE118 80240528 0C0B1EAF */ jal evt_get_variable
/* 9EE11C 8024052C 8C450000 */ lw $a1, ($v0)
/* 9EE120 80240530 8FBF0010 */ lw $ra, 0x10($sp)
/* 9EE124 80240534 3C018024 */ lui $at, %hi(D_80241438_9EF028)
/* 9EE128 80240538 AC221438 */ sw $v0, %lo(D_80241438_9EF028)($at)
/* 9EE12C 8024053C 24020002 */ addiu $v0, $zero, 2
/* 9EE130 80240540 03E00008 */ jr $ra
/* 9EE134 80240544 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240548_9EE138
/* 9EE138 80240548 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 9EE13C 8024054C AFBF0010 */ sw $ra, 0x10($sp)
/* 9EE140 80240550 8C82000C */ lw $v0, 0xc($a0)
/* 9EE144 80240554 0C0B1EAF */ jal evt_get_variable
/* 9EE148 80240558 8C450000 */ lw $a1, ($v0)
/* 9EE14C 8024055C 8FBF0010 */ lw $ra, 0x10($sp)
/* 9EE150 80240560 3C018024 */ lui $at, %hi(D_8024143C_9EF02C)
/* 9EE154 80240564 AC22143C */ sw $v0, %lo(D_8024143C_9EF02C)($at)
/* 9EE158 80240568 24020002 */ addiu $v0, $zero, 2
/* 9EE15C 8024056C 03E00008 */ jr $ra
/* 9EE160 80240570 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,51 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240574_9EE164
/* 9EE164 80240574 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 9EE168 80240578 AFB20018 */ sw $s2, 0x18($sp)
/* 9EE16C 8024057C 0080902D */ daddu $s2, $a0, $zero
/* 9EE170 80240580 AFBF0020 */ sw $ra, 0x20($sp)
/* 9EE174 80240584 AFB3001C */ sw $s3, 0x1c($sp)
/* 9EE178 80240588 AFB10014 */ sw $s1, 0x14($sp)
/* 9EE17C 8024058C AFB00010 */ sw $s0, 0x10($sp)
/* 9EE180 80240590 8E50000C */ lw $s0, 0xc($s2)
/* 9EE184 80240594 8E050000 */ lw $a1, ($s0)
/* 9EE188 80240598 0C0B1EAF */ jal evt_get_variable
/* 9EE18C 8024059C 26100004 */ addiu $s0, $s0, 4
/* 9EE190 802405A0 8E050000 */ lw $a1, ($s0)
/* 9EE194 802405A4 26100004 */ addiu $s0, $s0, 4
/* 9EE198 802405A8 00028840 */ sll $s1, $v0, 1
/* 9EE19C 802405AC 02228821 */ addu $s1, $s1, $v0
/* 9EE1A0 802405B0 00111080 */ sll $v0, $s1, 2
/* 9EE1A4 802405B4 3C068024 */ lui $a2, %hi(D_80241440_9EF030)
/* 9EE1A8 802405B8 00C23021 */ addu $a2, $a2, $v0
/* 9EE1AC 802405BC 8CC61440 */ lw $a2, %lo(D_80241440_9EF030)($a2)
/* 9EE1B0 802405C0 8E130000 */ lw $s3, ($s0)
/* 9EE1B4 802405C4 8E100004 */ lw $s0, 4($s0)
/* 9EE1B8 802405C8 0C0B2026 */ jal evt_set_variable
/* 9EE1BC 802405CC 0240202D */ daddu $a0, $s2, $zero
/* 9EE1C0 802405D0 0240202D */ daddu $a0, $s2, $zero
/* 9EE1C4 802405D4 26220001 */ addiu $v0, $s1, 1
/* 9EE1C8 802405D8 00021080 */ sll $v0, $v0, 2
/* 9EE1CC 802405DC 3C068024 */ lui $a2, %hi(D_80241440_9EF030)
/* 9EE1D0 802405E0 00C23021 */ addu $a2, $a2, $v0
/* 9EE1D4 802405E4 8CC61440 */ lw $a2, %lo(D_80241440_9EF030)($a2)
/* 9EE1D8 802405E8 0C0B2026 */ jal evt_set_variable
/* 9EE1DC 802405EC 0260282D */ daddu $a1, $s3, $zero
/* 9EE1E0 802405F0 0240202D */ daddu $a0, $s2, $zero
/* 9EE1E4 802405F4 26310002 */ addiu $s1, $s1, 2
/* 9EE1E8 802405F8 00118880 */ sll $s1, $s1, 2
/* 9EE1EC 802405FC 3C068024 */ lui $a2, %hi(D_80241440_9EF030)
/* 9EE1F0 80240600 00D13021 */ addu $a2, $a2, $s1
/* 9EE1F4 80240604 8CC61440 */ lw $a2, %lo(D_80241440_9EF030)($a2)
/* 9EE1F8 80240608 0C0B2026 */ jal evt_set_variable
/* 9EE1FC 8024060C 0200282D */ daddu $a1, $s0, $zero
/* 9EE200 80240610 8FBF0020 */ lw $ra, 0x20($sp)
/* 9EE204 80240614 8FB3001C */ lw $s3, 0x1c($sp)
/* 9EE208 80240618 8FB20018 */ lw $s2, 0x18($sp)
/* 9EE20C 8024061C 8FB10014 */ lw $s1, 0x14($sp)
/* 9EE210 80240620 8FB00010 */ lw $s0, 0x10($sp)
/* 9EE214 80240624 24020002 */ addiu $v0, $zero, 2
/* 9EE218 80240628 03E00008 */ jr $ra
/* 9EE21C 8024062C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,43 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240630_9EE220
/* 9EE220 80240630 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 9EE224 80240634 AFB10014 */ sw $s1, 0x14($sp)
/* 9EE228 80240638 0080882D */ daddu $s1, $a0, $zero
/* 9EE22C 8024063C AFBF0018 */ sw $ra, 0x18($sp)
/* 9EE230 80240640 AFB00010 */ sw $s0, 0x10($sp)
/* 9EE234 80240644 8E30000C */ lw $s0, 0xc($s1)
/* 9EE238 80240648 8E050000 */ lw $a1, ($s0)
/* 9EE23C 8024064C 0C0B1EAF */ jal evt_get_variable
/* 9EE240 80240650 26100004 */ addiu $s0, $s0, 4
/* 9EE244 80240654 0040382D */ daddu $a3, $v0, $zero
/* 9EE248 80240658 3C022AAA */ lui $v0, 0x2aaa
/* 9EE24C 8024065C 3442AAAB */ ori $v0, $v0, 0xaaab
/* 9EE250 80240660 00E20018 */ mult $a3, $v0
/* 9EE254 80240664 00071FC3 */ sra $v1, $a3, 0x1f
/* 9EE258 80240668 8E050000 */ lw $a1, ($s0)
/* 9EE25C 8024066C 00004010 */ mfhi $t0
/* 9EE260 80240670 01031823 */ subu $v1, $t0, $v1
/* 9EE264 80240674 00031040 */ sll $v0, $v1, 1
/* 9EE268 80240678 00431021 */ addu $v0, $v0, $v1
/* 9EE26C 8024067C 00021040 */ sll $v0, $v0, 1
/* 9EE270 80240680 00E23023 */ subu $a2, $a3, $v0
/* 9EE274 80240684 28C20004 */ slti $v0, $a2, 4
/* 9EE278 80240688 10400003 */ beqz $v0, .L80240698
/* 9EE27C 8024068C 00C0382D */ daddu $a3, $a2, $zero
/* 9EE280 80240690 080901A9 */ j .L802406A4
/* 9EE284 80240694 0220202D */ daddu $a0, $s1, $zero
.L80240698:
/* 9EE288 80240698 0220202D */ daddu $a0, $s1, $zero
/* 9EE28C 8024069C 24060006 */ addiu $a2, $zero, 6
/* 9EE290 802406A0 00C73023 */ subu $a2, $a2, $a3
.L802406A4:
/* 9EE294 802406A4 0C0B2026 */ jal evt_set_variable
/* 9EE298 802406A8 00000000 */ nop
/* 9EE29C 802406AC 8FBF0018 */ lw $ra, 0x18($sp)
/* 9EE2A0 802406B0 8FB10014 */ lw $s1, 0x14($sp)
/* 9EE2A4 802406B4 8FB00010 */ lw $s0, 0x10($sp)
/* 9EE2A8 802406B8 24020002 */ addiu $v0, $zero, 2
/* 9EE2AC 802406BC 03E00008 */ jr $ra
/* 9EE2B0 802406C0 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,97 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802406C4_9EE2B4
/* 9EE2B4 802406C4 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 9EE2B8 802406C8 AFB3001C */ sw $s3, 0x1c($sp)
/* 9EE2BC 802406CC 0080982D */ daddu $s3, $a0, $zero
/* 9EE2C0 802406D0 AFBF0020 */ sw $ra, 0x20($sp)
/* 9EE2C4 802406D4 AFB20018 */ sw $s2, 0x18($sp)
/* 9EE2C8 802406D8 AFB10014 */ sw $s1, 0x14($sp)
/* 9EE2CC 802406DC AFB00010 */ sw $s0, 0x10($sp)
/* 9EE2D0 802406E0 8E70000C */ lw $s0, 0xc($s3)
/* 9EE2D4 802406E4 8E050000 */ lw $a1, ($s0)
/* 9EE2D8 802406E8 0C0B1EAF */ jal evt_get_variable
/* 9EE2DC 802406EC 26100004 */ addiu $s0, $s0, 4
/* 9EE2E0 802406F0 0040882D */ daddu $s1, $v0, $zero
/* 9EE2E4 802406F4 8E050000 */ lw $a1, ($s0)
/* 9EE2E8 802406F8 0C0B1EAF */ jal evt_get_variable
/* 9EE2EC 802406FC 0260202D */ daddu $a0, $s3, $zero
/* 9EE2F0 80240700 3C032AAA */ lui $v1, 0x2aaa
/* 9EE2F4 80240704 3463AAAB */ ori $v1, $v1, 0xaaab
/* 9EE2F8 80240708 02230018 */ mult $s1, $v1
/* 9EE2FC 8024070C 001127C3 */ sra $a0, $s1, 0x1f
/* 9EE300 80240710 0040902D */ daddu $s2, $v0, $zero
/* 9EE304 80240714 00003810 */ mfhi $a3
/* 9EE308 80240718 00E42023 */ subu $a0, $a3, $a0
/* 9EE30C 8024071C 00041840 */ sll $v1, $a0, 1
/* 9EE310 80240720 00641821 */ addu $v1, $v1, $a0
/* 9EE314 80240724 00031840 */ sll $v1, $v1, 1
/* 9EE318 80240728 02238823 */ subu $s1, $s1, $v1
/* 9EE31C 8024072C 2A220004 */ slti $v0, $s1, 4
/* 9EE320 80240730 14400004 */ bnez $v0, .L80240744
/* 9EE324 80240734 26220006 */ addiu $v0, $s1, 6
/* 9EE328 80240738 24020006 */ addiu $v0, $zero, 6
/* 9EE32C 8024073C 00518823 */ subu $s1, $v0, $s1
/* 9EE330 80240740 26220006 */ addiu $v0, $s1, 6
.L80240744:
/* 9EE334 80240744 00021080 */ sll $v0, $v0, 2
/* 9EE338 80240748 02628021 */ addu $s0, $s3, $v0
/* 9EE33C 8024074C 0C0B1059 */ jal does_script_exist
/* 9EE340 80240750 8E040084 */ lw $a0, 0x84($s0)
/* 9EE344 80240754 10400003 */ beqz $v0, .L80240764
/* 9EE348 80240758 00000000 */ nop
/* 9EE34C 8024075C 0C0B102B */ jal kill_script_by_ID
/* 9EE350 80240760 8E040084 */ lw $a0, 0x84($s0)
.L80240764:
/* 9EE354 80240764 3C048024 */ lui $a0, %hi(D_80241470_9EF060)
/* 9EE358 80240768 24841470 */ addiu $a0, $a0, %lo(D_80241470_9EF060)
/* 9EE35C 8024076C 12400005 */ beqz $s2, .L80240784
/* 9EE360 80240770 24020001 */ addiu $v0, $zero, 1
/* 9EE364 80240774 16420004 */ bne $s2, $v0, .L80240788
/* 9EE368 80240778 24050001 */ addiu $a1, $zero, 1
/* 9EE36C 8024077C 3C048024 */ lui $a0, %hi(D_8024161C_9EF20C)
/* 9EE370 80240780 2484161C */ addiu $a0, $a0, %lo(D_8024161C_9EF20C)
.L80240784:
/* 9EE374 80240784 24050001 */ addiu $a1, $zero, 1
.L80240788:
/* 9EE378 80240788 0C0B0CF8 */ jal start_script
/* 9EE37C 8024078C 0000302D */ daddu $a2, $zero, $zero
/* 9EE380 80240790 0040202D */ daddu $a0, $v0, $zero
/* 9EE384 80240794 26220006 */ addiu $v0, $s1, 6
/* 9EE388 80240798 00021080 */ sll $v0, $v0, 2
/* 9EE38C 8024079C 8C830144 */ lw $v1, 0x144($a0)
/* 9EE390 802407A0 02621021 */ addu $v0, $s3, $v0
/* 9EE394 802407A4 AC430084 */ sw $v1, 0x84($v0)
/* 9EE398 802407A8 24020001 */ addiu $v0, $zero, 1
/* 9EE39C 802407AC 1222000D */ beq $s1, $v0, .L802407E4
/* 9EE3A0 802407B0 2A220002 */ slti $v0, $s1, 2
/* 9EE3A4 802407B4 10400005 */ beqz $v0, .L802407CC
/* 9EE3A8 802407B8 24020002 */ addiu $v0, $zero, 2
/* 9EE3AC 802407BC 1220000C */ beqz $s1, .L802407F0
/* 9EE3B0 802407C0 2402004C */ addiu $v0, $zero, 0x4c
/* 9EE3B4 802407C4 080901FD */ j .L802407F4
/* 9EE3B8 802407C8 00000000 */ nop
.L802407CC:
/* 9EE3BC 802407CC 12220007 */ beq $s1, $v0, .L802407EC
/* 9EE3C0 802407D0 24020003 */ addiu $v0, $zero, 3
/* 9EE3C4 802407D4 12220006 */ beq $s1, $v0, .L802407F0
/* 9EE3C8 802407D8 2402004F */ addiu $v0, $zero, 0x4f
/* 9EE3CC 802407DC 080901FD */ j .L802407F4
/* 9EE3D0 802407E0 00000000 */ nop
.L802407E4:
/* 9EE3D4 802407E4 080901FC */ j .L802407F0
/* 9EE3D8 802407E8 2402004D */ addiu $v0, $zero, 0x4d
.L802407EC:
/* 9EE3DC 802407EC 2402004E */ addiu $v0, $zero, 0x4e
.L802407F0:
/* 9EE3E0 802407F0 AC820084 */ sw $v0, 0x84($a0)
.L802407F4:
/* 9EE3E4 802407F4 8FBF0020 */ lw $ra, 0x20($sp)
/* 9EE3E8 802407F8 8FB3001C */ lw $s3, 0x1c($sp)
/* 9EE3EC 802407FC 8FB20018 */ lw $s2, 0x18($sp)
/* 9EE3F0 80240800 8FB10014 */ lw $s1, 0x14($sp)
/* 9EE3F4 80240804 8FB00010 */ lw $s0, 0x10($sp)
/* 9EE3F8 80240808 24020002 */ addiu $v0, $zero, 2
/* 9EE3FC 8024080C 03E00008 */ jr $ra
/* 9EE400 80240810 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240E4C_9EEA3C
/* 9EEA3C 80240E4C 10A00003 */ beqz $a1, .L80240E5C
/* 9EEA40 80240E50 00000000 */ nop
/* 9EEA44 80240E54 3C018024 */ lui $at, %hi(D_80243254_9F0E44)
/* 9EEA48 80240E58 AC203254 */ sw $zero, %lo(D_80243254_9F0E44)($at)
.L80240E5C:
/* 9EEA4C 80240E5C 3C028024 */ lui $v0, %hi(D_80243254_9F0E44)
/* 9EEA50 80240E60 8C423254 */ lw $v0, %lo(D_80243254_9F0E44)($v0)
/* 9EEA54 80240E64 0002102B */ sltu $v0, $zero, $v0
/* 9EEA58 80240E68 03E00008 */ jr $ra
/* 9EEA5C 80240E6C 00021040 */ sll $v0, $v0, 1

View File

@ -1,12 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240E70_9EEA60
/* 9EEA60 80240E70 24020001 */ addiu $v0, $zero, 1
/* 9EEA64 80240E74 3C018024 */ lui $at, %hi(D_80243254_9F0E44)
/* 9EEA68 80240E78 AC223254 */ sw $v0, %lo(D_80243254_9F0E44)($at)
/* 9EEA6C 80240E7C 03E00008 */ jr $ra
/* 9EEA70 80240E80 24020002 */ addiu $v0, $zero, 2
/* 9EEA74 80240E84 00000000 */ nop
/* 9EEA78 80240E88 00000000 */ nop
/* 9EEA7C 80240E8C 00000000 */ nop

View File

@ -1,78 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD100_320C50
/* 320C50 802BD100 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 320C54 802BD104 2404FFFC */ addiu $a0, $zero, -4
/* 320C58 802BD108 AFB10014 */ sw $s1, 0x14($sp)
/* 320C5C 802BD10C 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* 320C60 802BD110 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* 320C64 802BD114 AFBF0018 */ sw $ra, 0x18($sp)
/* 320C68 802BD118 0C00EABB */ jal get_npc_unsafe
/* 320C6C 802BD11C AFB00010 */ sw $s0, 0x10($sp)
/* 320C70 802BD120 8E230000 */ lw $v1, ($s1)
/* 320C74 802BD124 0040802D */ daddu $s0, $v0, $zero
/* 320C78 802BD128 30624000 */ andi $v0, $v1, 0x4000
/* 320C7C 802BD12C 10400010 */ beqz $v0, .L802BD170
/* 320C80 802BD130 3C020004 */ lui $v0, 4
/* 320C84 802BD134 C6220054 */ lwc1 $f2, 0x54($s1)
/* 320C88 802BD138 00621024 */ and $v0, $v1, $v0
/* 320C8C 802BD13C 10400006 */ beqz $v0, .L802BD158
/* 320C90 802BD140 26040038 */ addiu $a0, $s0, 0x38
/* 320C94 802BD144 3C013F00 */ lui $at, 0x3f00
/* 320C98 802BD148 44810000 */ mtc1 $at, $f0
/* 320C9C 802BD14C 00000000 */ nop
/* 320CA0 802BD150 46001082 */ mul.s $f2, $f2, $f0
/* 320CA4 802BD154 00000000 */ nop
.L802BD158:
/* 320CA8 802BD158 44061000 */ mfc1 $a2, $f2
/* 320CAC 802BD15C 8E2700A0 */ lw $a3, 0xa0($s1)
/* 320CB0 802BD160 0C00A7E7 */ jal add_vec2D_polar
/* 320CB4 802BD164 26050040 */ addiu $a1, $s0, 0x40
/* 320CB8 802BD168 C6200080 */ lwc1 $f0, 0x80($s1)
/* 320CBC 802BD16C E600000C */ swc1 $f0, 0xc($s0)
.L802BD170:
/* 320CC0 802BD170 26240028 */ addiu $a0, $s1, 0x28
/* 320CC4 802BD174 3C02802C */ lui $v0, %hi(D_802BFF18)
/* 320CC8 802BD178 8C42FF18 */ lw $v0, %lo(D_802BFF18)($v0)
/* 320CCC 802BD17C 3C013EAE */ lui $at, 0x3eae
/* 320CD0 802BD180 3421147B */ ori $at, $at, 0x147b
/* 320CD4 802BD184 44810000 */ mtc1 $at, $f0
/* 320CD8 802BD188 C6020038 */ lwc1 $f2, 0x38($s0)
/* 320CDC 802BD18C 3C064000 */ lui $a2, 0x4000
/* 320CE0 802BD190 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 320CE4 802BD194 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 320CE8 802BD198 04420001 */ bltzl $v0, .L802BD1A0
/* 320CEC 802BD19C 00021023 */ negu $v0, $v0
.L802BD1A0:
/* 320CF0 802BD1A0 44822000 */ mtc1 $v0, $f4
/* 320CF4 802BD1A4 00000000 */ nop
/* 320CF8 802BD1A8 46802120 */ cvt.s.w $f4, $f4
/* 320CFC 802BD1AC 00031080 */ sll $v0, $v1, 2
/* 320D00 802BD1B0 46002102 */ mul.s $f4, $f4, $f0
/* 320D04 802BD1B4 00000000 */ nop
/* 320D08 802BD1B8 E6220028 */ swc1 $f2, 0x28($s1)
/* 320D0C 802BD1BC C600003C */ lwc1 $f0, 0x3c($s0)
/* 320D10 802BD1C0 3C014120 */ lui $at, 0x4120
/* 320D14 802BD1C4 44811000 */ mtc1 $at, $f2
/* 320D18 802BD1C8 00431021 */ addu $v0, $v0, $v1
/* 320D1C 802BD1CC 46020000 */ add.s $f0, $f0, $f2
/* 320D20 802BD1D0 00021080 */ sll $v0, $v0, 2
/* 320D24 802BD1D4 00431023 */ subu $v0, $v0, $v1
/* 320D28 802BD1D8 46040000 */ add.s $f0, $f0, $f4
/* 320D2C 802BD1DC 000218C0 */ sll $v1, $v0, 3
/* 320D30 802BD1E0 00431021 */ addu $v0, $v0, $v1
/* 320D34 802BD1E4 E620002C */ swc1 $f0, 0x2c($s1)
/* 320D38 802BD1E8 C6000040 */ lwc1 $f0, 0x40($s0)
/* 320D3C 802BD1EC 000210C0 */ sll $v0, $v0, 3
/* 320D40 802BD1F0 E6200030 */ swc1 $f0, 0x30($s1)
/* 320D44 802BD1F4 3C07800B */ lui $a3, %hi(gCameras+0x6C)
/* 320D48 802BD1F8 00E23821 */ addu $a3, $a3, $v0
/* 320D4C 802BD1FC 8CE71DEC */ lw $a3, %lo(gCameras+0x6C)($a3)
/* 320D50 802BD200 0C00A7E7 */ jal add_vec2D_polar
/* 320D54 802BD204 26250030 */ addiu $a1, $s1, 0x30
/* 320D58 802BD208 8FBF0018 */ lw $ra, 0x18($sp)
/* 320D5C 802BD20C 8FB10014 */ lw $s1, 0x14($sp)
/* 320D60 802BD210 8FB00010 */ lw $s0, 0x10($sp)
/* 320D64 802BD214 03E00008 */ jr $ra
/* 320D68 802BD218 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,36 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD21C_320D6C
/* 320D6C 802BD21C C4800038 */ lwc1 $f0, 0x38($a0)
/* 320D70 802BD220 C482003C */ lwc1 $f2, 0x3c($a0)
/* 320D74 802BD224 C4840040 */ lwc1 $f4, 0x40($a0)
/* 320D78 802BD228 24020026 */ addiu $v0, $zero, 0x26
/* 320D7C 802BD22C A48200A8 */ sh $v0, 0xa8($a0)
/* 320D80 802BD230 24020024 */ addiu $v0, $zero, 0x24
/* 320D84 802BD234 A48200A6 */ sh $v0, 0xa6($a0)
/* 320D88 802BD238 3C020001 */ lui $v0, 1
/* 320D8C 802BD23C AC820080 */ sw $v0, 0x80($a0)
/* 320D90 802BD240 24020001 */ addiu $v0, $zero, 1
/* 320D94 802BD244 3C01802C */ lui $at, %hi(D_802BFF18)
/* 320D98 802BD248 AC20FF18 */ sw $zero, %lo(D_802BFF18)($at)
/* 320D9C 802BD24C 3C01802C */ lui $at, %hi(D_802BFF04)
/* 320DA0 802BD250 AC20FF04 */ sw $zero, %lo(D_802BFF04)($at)
/* 320DA4 802BD254 3C01802C */ lui $at, %hi(D_802BFF08)
/* 320DA8 802BD258 AC20FF08 */ sw $zero, %lo(D_802BFF08)($at)
/* 320DAC 802BD25C 3C01802C */ lui $at, %hi(D_802BFF0C)
/* 320DB0 802BD260 AC20FF0C */ sw $zero, %lo(D_802BFF0C)($at)
/* 320DB4 802BD264 3C01802C */ lui $at, %hi(D_802BFF10)
/* 320DB8 802BD268 AC22FF10 */ sw $v0, %lo(D_802BFF10)($at)
/* 320DBC 802BD26C 3C01802C */ lui $at, %hi(D_802BFF1C)
/* 320DC0 802BD270 AC20FF1C */ sw $zero, %lo(D_802BFF1C)($at)
/* 320DC4 802BD274 3C01802C */ lui $at, %hi(D_802BFF20)
/* 320DC8 802BD278 AC20FF20 */ sw $zero, %lo(D_802BFF20)($at)
/* 320DCC 802BD27C 3C01802C */ lui $at, %hi(D_802BFF24)
/* 320DD0 802BD280 AC20FF24 */ sw $zero, %lo(D_802BFF24)($at)
/* 320DD4 802BD284 3C01802C */ lui $at, %hi(D_802BFF28)
/* 320DD8 802BD288 AC20FF28 */ sw $zero, %lo(D_802BFF28)($at)
/* 320DDC 802BD28C E4800060 */ swc1 $f0, 0x60($a0)
/* 320DE0 802BD290 E4820064 */ swc1 $f2, 0x64($a0)
/* 320DE4 802BD294 03E00008 */ jr $ra
/* 320DE8 802BD298 E4840068 */ swc1 $f4, 0x68($a0)

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD29C_320DEC
/* 320DEC 802BD29C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 320DF0 802BD2A0 AFBF0014 */ sw $ra, 0x14($sp)
/* 320DF4 802BD2A4 AFB00010 */ sw $s0, 0x10($sp)
/* 320DF8 802BD2A8 10A00003 */ beqz $a1, .L802BD2B8
/* 320DFC 802BD2AC 8C90014C */ lw $s0, 0x14c($a0)
/* 320E00 802BD2B0 0C03BB31 */ jal partner_init_get_out
/* 320E04 802BD2B4 0200202D */ daddu $a0, $s0, $zero
.L802BD2B8:
/* 320E08 802BD2B8 0C03BB3A */ jal partner_get_out
/* 320E0C 802BD2BC 0200202D */ daddu $a0, $s0, $zero
/* 320E10 802BD2C0 8FBF0014 */ lw $ra, 0x14($sp)
/* 320E14 802BD2C4 8FB00010 */ lw $s0, 0x10($sp)
/* 320E18 802BD2C8 0002102B */ sltu $v0, $zero, $v0
/* 320E1C 802BD2CC 03E00008 */ jr $ra
/* 320E20 802BD2D0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD678_3211C8
/* 3211C8 802BD678 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3211CC 802BD67C 3C058011 */ lui $a1, %hi(D_8010C954)
/* 3211D0 802BD680 24A5C954 */ addiu $a1, $a1, %lo(D_8010C954)
/* 3211D4 802BD684 AFBF0010 */ sw $ra, 0x10($sp)
/* 3211D8 802BD688 8CA20000 */ lw $v0, ($a1)
/* 3211DC 802BD68C 10400008 */ beqz $v0, .L802BD6B0
/* 3211E0 802BD690 00000000 */ nop
/* 3211E4 802BD694 3C03802C */ lui $v1, %hi(D_802BFE7C_3239CC)
/* 3211E8 802BD698 8C63FE7C */ lw $v1, %lo(D_802BFE7C_3239CC)($v1)
/* 3211EC 802BD69C 8C620008 */ lw $v0, 8($v1)
/* 3211F0 802BD6A0 ACA00000 */ sw $zero, ($a1)
/* 3211F4 802BD6A4 AC820000 */ sw $v0, ($a0)
/* 3211F8 802BD6A8 0C03BD17 */ jal partner_clear_player_tracking
/* 3211FC 802BD6AC AC600004 */ sw $zero, 4($v1)
.L802BD6B0:
/* 321200 802BD6B0 8FBF0010 */ lw $ra, 0x10($sp)
/* 321204 802BD6B4 03E00008 */ jr $ra
/* 321208 802BD6B8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,77 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD6BC_32120C
/* 32120C 802BD6BC 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 321210 802BD6C0 AFB00010 */ sw $s0, 0x10($sp)
/* 321214 802BD6C4 0080802D */ daddu $s0, $a0, $zero
/* 321218 802BD6C8 AFB10014 */ sw $s1, 0x14($sp)
/* 32121C 802BD6CC 00A0882D */ daddu $s1, $a1, $zero
/* 321220 802BD6D0 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 321224 802BD6D4 4480A000 */ mtc1 $zero, $f20
/* 321228 802BD6D8 3C038011 */ lui $v1, %hi(gPartnerActionStatus)
/* 32122C 802BD6DC 2463EBB0 */ addiu $v1, $v1, %lo(gPartnerActionStatus)
/* 321230 802BD6E0 AFBF0018 */ sw $ra, 0x18($sp)
/* 321234 802BD6E4 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 321238 802BD6E8 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 32123C 802BD6EC F7B60028 */ sdc1 $f22, 0x28($sp)
/* 321240 802BD6F0 84620004 */ lh $v0, 4($v1)
/* 321244 802BD6F4 4600A306 */ mov.s $f12, $f20
/* 321248 802BD6F8 4482C000 */ mtc1 $v0, $f24
/* 32124C 802BD6FC 00000000 */ nop
/* 321250 802BD700 4680C620 */ cvt.s.w $f24, $f24
/* 321254 802BD704 84620006 */ lh $v0, 6($v1)
/* 321258 802BD708 4406C000 */ mfc1 $a2, $f24
/* 32125C 802BD70C 4482D000 */ mtc1 $v0, $f26
/* 321260 802BD710 00000000 */ nop
/* 321264 802BD714 4680D6A0 */ cvt.s.w $f26, $f26
/* 321268 802BD718 4600D587 */ neg.s $f22, $f26
/* 32126C 802BD71C 4407B000 */ mfc1 $a3, $f22
/* 321270 802BD720 0C00A720 */ jal atan2
/* 321274 802BD724 4600A386 */ mov.s $f14, $f20
/* 321278 802BD728 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 32127C 802BD72C C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at)
/* 321280 802BD730 0C00A6C9 */ jal clamp_angle
/* 321284 802BD734 460C0300 */ add.s $f12, $f0, $f12
/* 321288 802BD738 4600A306 */ mov.s $f12, $f20
/* 32128C 802BD73C 4600A386 */ mov.s $f14, $f20
/* 321290 802BD740 4406C000 */ mfc1 $a2, $f24
/* 321294 802BD744 4407B000 */ mfc1 $a3, $f22
/* 321298 802BD748 0C00A7B5 */ jal dist2D
/* 32129C 802BD74C 46000586 */ mov.s $f22, $f0
/* 3212A0 802BD750 3C013FF0 */ lui $at, 0x3ff0
/* 3212A4 802BD754 44811800 */ mtc1 $at, $f3
/* 3212A8 802BD758 44801000 */ mtc1 $zero, $f2
/* 3212AC 802BD75C 46000021 */ cvt.d.s $f0, $f0
/* 3212B0 802BD760 4620103E */ c.le.d $f2, $f0
/* 3212B4 802BD764 00000000 */ nop
/* 3212B8 802BD768 45000012 */ bc1f .L802BD7B4
/* 3212BC 802BD76C E6160000 */ swc1 $f22, ($s0)
/* 3212C0 802BD770 4618C002 */ mul.s $f0, $f24, $f24
/* 3212C4 802BD774 00000000 */ nop
/* 3212C8 802BD778 461AD082 */ mul.s $f2, $f26, $f26
/* 3212CC 802BD77C 00000000 */ nop
/* 3212D0 802BD780 46020000 */ add.s $f0, $f0, $f2
/* 3212D4 802BD784 3C01453D */ lui $at, 0x453d
/* 3212D8 802BD788 34211000 */ ori $at, $at, 0x1000
/* 3212DC 802BD78C 44811000 */ mtc1 $at, $f2
/* 3212E0 802BD790 3C014040 */ lui $at, 0x4040
/* 3212E4 802BD794 4481A000 */ mtc1 $at, $f20
/* 3212E8 802BD798 4600103C */ c.lt.s $f2, $f0
/* 3212EC 802BD79C 00000000 */ nop
/* 3212F0 802BD7A0 45000004 */ bc1f .L802BD7B4
/* 3212F4 802BD7A4 00000000 */ nop
/* 3212F8 802BD7A8 3C0140C0 */ lui $at, 0x40c0
/* 3212FC 802BD7AC 4481A000 */ mtc1 $at, $f20
/* 321300 802BD7B0 00000000 */ nop
.L802BD7B4:
/* 321304 802BD7B4 E6340000 */ swc1 $f20, ($s1)
/* 321308 802BD7B8 8FBF0018 */ lw $ra, 0x18($sp)
/* 32130C 802BD7BC 8FB10014 */ lw $s1, 0x14($sp)
/* 321310 802BD7C0 8FB00010 */ lw $s0, 0x10($sp)
/* 321314 802BD7C4 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 321318 802BD7C8 D7B80030 */ ldc1 $f24, 0x30($sp)
/* 32131C 802BD7CC D7B60028 */ ldc1 $f22, 0x28($sp)
/* 321320 802BD7D0 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 321324 802BD7D4 03E00008 */ jr $ra
/* 321328 802BD7D8 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,120 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD7DC
/* 32132C 802BD7DC 27BDFF98 */ addiu $sp, $sp, -0x68
/* 321330 802BD7E0 AFBF005C */ sw $ra, 0x5c($sp)
/* 321334 802BD7E4 AFB40058 */ sw $s4, 0x58($sp)
/* 321338 802BD7E8 AFB30054 */ sw $s3, 0x54($sp)
/* 32133C 802BD7EC AFB20050 */ sw $s2, 0x50($sp)
/* 321340 802BD7F0 AFB1004C */ sw $s1, 0x4c($sp)
/* 321344 802BD7F4 AFB00048 */ sw $s0, 0x48($sp)
/* 321348 802BD7F8 F7B40060 */ sdc1 $f20, 0x60($sp)
/* 32134C 802BD7FC 0C00EABB */ jal get_npc_unsafe
/* 321350 802BD800 2404FFFC */ addiu $a0, $zero, -4
/* 321354 802BD804 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* 321358 802BD808 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* 32135C 802BD80C 0040902D */ daddu $s2, $v0, $zero
/* 321360 802BD810 8E030004 */ lw $v1, 4($s0)
/* 321364 802BD814 3C022000 */ lui $v0, 0x2000
/* 321368 802BD818 00621024 */ and $v0, $v1, $v0
/* 32136C 802BD81C 10400007 */ beqz $v0, .L802BD83C
/* 321370 802BD820 0200982D */ daddu $s3, $s0, $zero
/* 321374 802BD824 3C02DFFF */ lui $v0, 0xdfff
/* 321378 802BD828 3442FFFF */ ori $v0, $v0, 0xffff
/* 32137C 802BD82C 00621024 */ and $v0, $v1, $v0
/* 321380 802BD830 AE020004 */ sw $v0, 4($s0)
/* 321384 802BD834 080AF65E */ j .L802BD978
/* 321388 802BD838 24020001 */ addiu $v0, $zero, 1
.L802BD83C:
/* 32138C 802BD83C 0000A02D */ daddu $s4, $zero, $zero
/* 321390 802BD840 27B10028 */ addiu $s1, $sp, 0x28
/* 321394 802BD844 0220202D */ daddu $a0, $s1, $zero
/* 321398 802BD848 27B0002C */ addiu $s0, $sp, 0x2c
/* 32139C 802BD84C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3213A0 802BD850 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3213A4 802BD854 3C064000 */ lui $a2, 0x4000
/* 3213A8 802BD858 3C014180 */ lui $at, 0x4180
/* 3213AC 802BD85C 4481A000 */ mtc1 $at, $f20
/* 3213B0 802BD860 3C0140E0 */ lui $at, 0x40e0
/* 3213B4 802BD864 44811000 */ mtc1 $at, $f2
/* 3213B8 802BD868 00031080 */ sll $v0, $v1, 2
/* 3213BC 802BD86C 00431021 */ addu $v0, $v0, $v1
/* 3213C0 802BD870 00021080 */ sll $v0, $v0, 2
/* 3213C4 802BD874 00431023 */ subu $v0, $v0, $v1
/* 3213C8 802BD878 000218C0 */ sll $v1, $v0, 3
/* 3213CC 802BD87C 00431021 */ addu $v0, $v0, $v1
/* 3213D0 802BD880 000210C0 */ sll $v0, $v0, 3
/* 3213D4 802BD884 3C07800B */ lui $a3, %hi(gCameras+0x6C)
/* 3213D8 802BD888 00E23821 */ addu $a3, $a3, $v0
/* 3213DC 802BD88C 8CE71DEC */ lw $a3, %lo(gCameras+0x6C)($a3)
/* 3213E0 802BD890 0200282D */ daddu $a1, $s0, $zero
/* 3213E4 802BD894 E7B40034 */ swc1 $f20, 0x34($sp)
/* 3213E8 802BD898 C6400064 */ lwc1 $f0, 0x64($s2)
/* 3213EC 802BD89C C6640028 */ lwc1 $f4, 0x28($s3)
/* 3213F0 802BD8A0 C6660030 */ lwc1 $f6, 0x30($s3)
/* 3213F4 802BD8A4 46020000 */ add.s $f0, $f0, $f2
/* 3213F8 802BD8A8 E7A40028 */ swc1 $f4, 0x28($sp)
/* 3213FC 802BD8AC E7A6002C */ swc1 $f6, 0x2c($sp)
/* 321400 802BD8B0 0C00A7E7 */ jal add_vec2D_polar
/* 321404 802BD8B4 E7A00030 */ swc1 $f0, 0x30($sp)
/* 321408 802BD8B8 0260202D */ daddu $a0, $s3, $zero
/* 32140C 802BD8BC 0220282D */ daddu $a1, $s1, $zero
/* 321410 802BD8C0 27A60030 */ addiu $a2, $sp, 0x30
/* 321414 802BD8C4 0200382D */ daddu $a3, $s0, $zero
/* 321418 802BD8C8 27A20034 */ addiu $v0, $sp, 0x34
/* 32141C 802BD8CC AFA20010 */ sw $v0, 0x10($sp)
/* 321420 802BD8D0 27A20038 */ addiu $v0, $sp, 0x38
/* 321424 802BD8D4 AFA20014 */ sw $v0, 0x14($sp)
/* 321428 802BD8D8 27A2003C */ addiu $v0, $sp, 0x3c
/* 32142C 802BD8DC AFA20018 */ sw $v0, 0x18($sp)
/* 321430 802BD8E0 27A20040 */ addiu $v0, $sp, 0x40
/* 321434 802BD8E4 AFA2001C */ sw $v0, 0x1c($sp)
/* 321438 802BD8E8 27A20044 */ addiu $v0, $sp, 0x44
/* 32143C 802BD8EC 0C03791B */ jal player_raycast_below_cam_relative
/* 321440 802BD8F0 AFA20020 */ sw $v0, 0x20($sp)
/* 321444 802BD8F4 C7A00034 */ lwc1 $f0, 0x34($sp)
/* 321448 802BD8F8 4614003E */ c.le.s $f0, $f20
/* 32144C 802BD8FC 00000000 */ nop
/* 321450 802BD900 4500001C */ bc1f .L802BD974
/* 321454 802BD904 0040802D */ daddu $s0, $v0, $zero
/* 321458 802BD908 0600001A */ bltz $s0, .L802BD974
/* 32145C 802BD90C 32024000 */ andi $v0, $s0, 0x4000
/* 321460 802BD910 10400007 */ beqz $v0, .L802BD930
/* 321464 802BD914 00000000 */ nop
/* 321468 802BD918 0C0441A9 */ jal get_entity_type
/* 32146C 802BD91C 0200202D */ daddu $a0, $s0, $zero
/* 321470 802BD920 2442FFD2 */ addiu $v0, $v0, -0x2e
/* 321474 802BD924 2C420002 */ sltiu $v0, $v0, 2
/* 321478 802BD928 14400013 */ bnez $v0, .L802BD978
/* 32147C 802BD92C 0280102D */ daddu $v0, $s4, $zero
.L802BD930:
/* 321480 802BD930 0C016F6A */ jal get_collider_type_by_id
/* 321484 802BD934 0200202D */ daddu $a0, $s0, $zero
/* 321488 802BD938 305000FF */ andi $s0, $v0, 0xff
/* 32148C 802BD93C 2602FFFF */ addiu $v0, $s0, -1
/* 321490 802BD940 2C420003 */ sltiu $v0, $v0, 3
/* 321494 802BD944 1440000C */ bnez $v0, .L802BD978
/* 321498 802BD948 0280102D */ daddu $v0, $s4, $zero
/* 32149C 802BD94C 24020005 */ addiu $v0, $zero, 5
/* 3214A0 802BD950 12020009 */ beq $s0, $v0, .L802BD978
/* 3214A4 802BD954 0280102D */ daddu $v0, $s4, $zero
/* 3214A8 802BD958 C7A00028 */ lwc1 $f0, 0x28($sp)
/* 3214AC 802BD95C C7A20030 */ lwc1 $f2, 0x30($sp)
/* 3214B0 802BD960 C7A4002C */ lwc1 $f4, 0x2c($sp)
/* 3214B4 802BD964 24140001 */ addiu $s4, $zero, 1
/* 3214B8 802BD968 E6400060 */ swc1 $f0, 0x60($s2)
/* 3214BC 802BD96C E6420064 */ swc1 $f2, 0x64($s2)
/* 3214C0 802BD970 E6440068 */ swc1 $f4, 0x68($s2)
.L802BD974:
/* 3214C4 802BD974 0280102D */ daddu $v0, $s4, $zero
.L802BD978:
/* 3214C8 802BD978 8FBF005C */ lw $ra, 0x5c($sp)
/* 3214CC 802BD97C 8FB40058 */ lw $s4, 0x58($sp)
/* 3214D0 802BD980 8FB30054 */ lw $s3, 0x54($sp)
/* 3214D4 802BD984 8FB20050 */ lw $s2, 0x50($sp)
/* 3214D8 802BD988 8FB1004C */ lw $s1, 0x4c($sp)
/* 3214DC 802BD98C 8FB00048 */ lw $s0, 0x48($sp)
/* 3214E0 802BD990 D7B40060 */ ldc1 $f20, 0x60($sp)
/* 3214E4 802BD994 03E00008 */ jr $ra
/* 3214E8 802BD998 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,66 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD99C_3214EC
/* 3214EC 802BD99C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3214F0 802BD9A0 AFB1004C */ sw $s1, 0x4c($sp)
/* 3214F4 802BD9A4 0080882D */ daddu $s1, $a0, $zero
/* 3214F8 802BD9A8 AFB00048 */ sw $s0, 0x48($sp)
/* 3214FC 802BD9AC 3C10802C */ lui $s0, %hi(D_802BFF24)
/* 321500 802BD9B0 2610FF24 */ addiu $s0, $s0, %lo(D_802BFF24)
/* 321504 802BD9B4 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* 321508 802BD9B8 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* 32150C 802BD9BC 27A20034 */ addiu $v0, $sp, 0x34
/* 321510 802BD9C0 AFA60034 */ sw $a2, 0x34($sp)
/* 321514 802BD9C4 27A6002C */ addiu $a2, $sp, 0x2c
/* 321518 802BD9C8 27A70030 */ addiu $a3, $sp, 0x30
/* 32151C 802BD9CC AFBF0050 */ sw $ra, 0x50($sp)
/* 321520 802BD9D0 AE000000 */ sw $zero, ($s0)
/* 321524 802BD9D4 C4840028 */ lwc1 $f4, 0x28($a0)
/* 321528 802BD9D8 C480002C */ lwc1 $f0, 0x2c($a0)
/* 32152C 802BD9DC 44854000 */ mtc1 $a1, $f8
/* 321530 802BD9E0 C4820030 */ lwc1 $f2, 0x30($a0)
/* 321534 802BD9E4 46080000 */ add.s $f0, $f0, $f8
/* 321538 802BD9E8 27A50028 */ addiu $a1, $sp, 0x28
/* 32153C 802BD9EC E7A40028 */ swc1 $f4, 0x28($sp)
/* 321540 802BD9F0 E7A20030 */ swc1 $f2, 0x30($sp)
/* 321544 802BD9F4 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 321548 802BD9F8 AFA20010 */ sw $v0, 0x10($sp)
/* 32154C 802BD9FC 27A20038 */ addiu $v0, $sp, 0x38
/* 321550 802BDA00 AFA20014 */ sw $v0, 0x14($sp)
/* 321554 802BDA04 27A2003C */ addiu $v0, $sp, 0x3c
/* 321558 802BDA08 AFA20018 */ sw $v0, 0x18($sp)
/* 32155C 802BDA0C 27A20040 */ addiu $v0, $sp, 0x40
/* 321560 802BDA10 AFA2001C */ sw $v0, 0x1c($sp)
/* 321564 802BDA14 27A20044 */ addiu $v0, $sp, 0x44
/* 321568 802BDA18 0C03791B */ jal player_raycast_below_cam_relative
/* 32156C 802BDA1C AFA20020 */ sw $v0, 0x20($sp)
/* 321570 802BDA20 04420016 */ bltzl $v0, .L802BDA7C
/* 321574 802BDA24 0000102D */ daddu $v0, $zero, $zero
/* 321578 802BDA28 C7A6002C */ lwc1 $f6, 0x2c($sp)
/* 32157C 802BDA2C C6200064 */ lwc1 $f0, 0x64($s1)
/* 321580 802BDA30 46003101 */ sub.s $f4, $f6, $f0
/* 321584 802BDA34 44800000 */ mtc1 $zero, $f0
/* 321588 802BDA38 00000000 */ nop
/* 32158C 802BDA3C 46002032 */ c.eq.s $f4, $f0
/* 321590 802BDA40 00000000 */ nop
/* 321594 802BDA44 4501000D */ bc1t .L802BDA7C
/* 321598 802BDA48 24020001 */ addiu $v0, $zero, 1
/* 32159C 802BDA4C 46002021 */ cvt.d.s $f0, $f4
/* 3215A0 802BDA50 3C014024 */ lui $at, 0x4024
/* 3215A4 802BDA54 44811800 */ mtc1 $at, $f3
/* 3215A8 802BDA58 44801000 */ mtc1 $zero, $f2
/* 3215AC 802BDA5C 46200005 */ abs.d $f0, $f0
/* 3215B0 802BDA60 4622003C */ c.lt.d $f0, $f2
/* 3215B4 802BDA64 00000000 */ nop
/* 3215B8 802BDA68 45020004 */ bc1fl .L802BDA7C
/* 3215BC 802BDA6C 0000102D */ daddu $v0, $zero, $zero
/* 3215C0 802BDA70 4600220D */ trunc.w.s $f8, $f4
/* 3215C4 802BDA74 E6080000 */ swc1 $f8, ($s0)
/* 3215C8 802BDA78 E6260064 */ swc1 $f6, 0x64($s1)
.L802BDA7C:
/* 3215CC 802BDA7C 8FBF0050 */ lw $ra, 0x50($sp)
/* 3215D0 802BDA80 8FB1004C */ lw $s1, 0x4c($sp)
/* 3215D4 802BDA84 8FB00048 */ lw $s0, 0x48($sp)
/* 3215D8 802BDA88 03E00008 */ jr $ra
/* 3215DC 802BDA8C 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,224 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BDA90_3215E0
/* 3215E0 802BDA90 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 3215E4 802BDA94 AFB00030 */ sw $s0, 0x30($sp)
/* 3215E8 802BDA98 0080802D */ daddu $s0, $a0, $zero
/* 3215EC 802BDA9C AFBF0034 */ sw $ra, 0x34($sp)
/* 3215F0 802BDAA0 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3215F4 802BDAA4 C60C000C */ lwc1 $f12, 0xc($s0)
/* 3215F8 802BDAA8 860200A6 */ lh $v0, 0xa6($s0)
/* 3215FC 802BDAAC 3C013F4C */ lui $at, 0x3f4c
/* 321600 802BDAB0 3421CCCD */ ori $at, $at, 0xcccd
/* 321604 802BDAB4 44811000 */ mtc1 $at, $f2
/* 321608 802BDAB8 44820000 */ mtc1 $v0, $f0
/* 32160C 802BDABC 00000000 */ nop
/* 321610 802BDAC0 46800020 */ cvt.s.w $f0, $f0
/* 321614 802BDAC4 46020502 */ mul.s $f20, $f0, $f2
/* 321618 802BDAC8 0C00A6C9 */ jal clamp_angle
/* 32161C 802BDACC 00000000 */ nop
/* 321620 802BDAD0 C6020038 */ lwc1 $f2, 0x38($s0)
/* 321624 802BDAD4 C6040064 */ lwc1 $f4, 0x64($s0)
/* 321628 802BDAD8 C6060040 */ lwc1 $f6, 0x40($s0)
/* 32162C 802BDADC 27A50020 */ addiu $a1, $sp, 0x20
/* 321630 802BDAE0 E7A20020 */ swc1 $f2, 0x20($sp)
/* 321634 802BDAE4 E7A40024 */ swc1 $f4, 0x24($sp)
/* 321638 802BDAE8 E7A60028 */ swc1 $f6, 0x28($sp)
/* 32163C 802BDAEC AFA00010 */ sw $zero, 0x10($sp)
/* 321640 802BDAF0 E7A00014 */ swc1 $f0, 0x14($sp)
/* 321644 802BDAF4 860200A8 */ lh $v0, 0xa8($s0)
/* 321648 802BDAF8 27A60024 */ addiu $a2, $sp, 0x24
/* 32164C 802BDAFC 44820000 */ mtc1 $v0, $f0
/* 321650 802BDB00 00000000 */ nop
/* 321654 802BDB04 46800020 */ cvt.s.w $f0, $f0
/* 321658 802BDB08 E7A00018 */ swc1 $f0, 0x18($sp)
/* 32165C 802BDB0C E7B4001C */ swc1 $f20, 0x1c($sp)
/* 321660 802BDB10 8E040080 */ lw $a0, 0x80($s0)
/* 321664 802BDB14 0C037765 */ jal npc_test_move_complex_with_slipping
/* 321668 802BDB18 27A70028 */ addiu $a3, $sp, 0x28
/* 32166C 802BDB1C 1040000C */ beqz $v0, .L802BDB50
/* 321670 802BDB20 24039FFF */ addiu $v1, $zero, -0x6001
/* 321674 802BDB24 8E020000 */ lw $v0, ($s0)
/* 321678 802BDB28 3C038011 */ lui $v1, %hi(D_8010C97A)
/* 32167C 802BDB2C 9463C97A */ lhu $v1, %lo(D_8010C97A)($v1)
/* 321680 802BDB30 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 321684 802BDB34 C7A20028 */ lwc1 $f2, 0x28($sp)
/* 321688 802BDB38 34426000 */ ori $v0, $v0, 0x6000
/* 32168C 802BDB3C AE020000 */ sw $v0, ($s0)
/* 321690 802BDB40 A6030086 */ sh $v1, 0x86($s0)
/* 321694 802BDB44 E6000038 */ swc1 $f0, 0x38($s0)
/* 321698 802BDB48 080AF6D7 */ j .L802BDB5C
/* 32169C 802BDB4C E6020040 */ swc1 $f2, 0x40($s0)
.L802BDB50:
/* 3216A0 802BDB50 8E020000 */ lw $v0, ($s0)
/* 3216A4 802BDB54 00431024 */ and $v0, $v0, $v1
/* 3216A8 802BDB58 AE020000 */ sw $v0, ($s0)
.L802BDB5C:
/* 3216AC 802BDB5C C600000C */ lwc1 $f0, 0xc($s0)
/* 3216B0 802BDB60 3C014234 */ lui $at, 0x4234
/* 3216B4 802BDB64 44816000 */ mtc1 $at, $f12
/* 3216B8 802BDB68 0C00A6C9 */ jal clamp_angle
/* 3216BC 802BDB6C 460C0300 */ add.s $f12, $f0, $f12
/* 3216C0 802BDB70 C6020038 */ lwc1 $f2, 0x38($s0)
/* 3216C4 802BDB74 C6040064 */ lwc1 $f4, 0x64($s0)
/* 3216C8 802BDB78 C6060040 */ lwc1 $f6, 0x40($s0)
/* 3216CC 802BDB7C 27A50020 */ addiu $a1, $sp, 0x20
/* 3216D0 802BDB80 E7A20020 */ swc1 $f2, 0x20($sp)
/* 3216D4 802BDB84 E7A40024 */ swc1 $f4, 0x24($sp)
/* 3216D8 802BDB88 E7A60028 */ swc1 $f6, 0x28($sp)
/* 3216DC 802BDB8C AFA00010 */ sw $zero, 0x10($sp)
/* 3216E0 802BDB90 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3216E4 802BDB94 860200A8 */ lh $v0, 0xa8($s0)
/* 3216E8 802BDB98 27A60024 */ addiu $a2, $sp, 0x24
/* 3216EC 802BDB9C E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3216F0 802BDBA0 44820000 */ mtc1 $v0, $f0
/* 3216F4 802BDBA4 00000000 */ nop
/* 3216F8 802BDBA8 46800020 */ cvt.s.w $f0, $f0
/* 3216FC 802BDBAC E7A00018 */ swc1 $f0, 0x18($sp)
/* 321700 802BDBB0 8E040080 */ lw $a0, 0x80($s0)
/* 321704 802BDBB4 0C0376B9 */ jal npc_test_move_taller_with_slipping
/* 321708 802BDBB8 27A70028 */ addiu $a3, $sp, 0x28
/* 32170C 802BDBBC 10400008 */ beqz $v0, .L802BDBE0
/* 321710 802BDBC0 2403DFFF */ addiu $v1, $zero, -0x2001
/* 321714 802BDBC4 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 321718 802BDBC8 8E020000 */ lw $v0, ($s0)
/* 32171C 802BDBCC C7A20028 */ lwc1 $f2, 0x28($sp)
/* 321720 802BDBD0 34422000 */ ori $v0, $v0, 0x2000
/* 321724 802BDBD4 E6000038 */ swc1 $f0, 0x38($s0)
/* 321728 802BDBD8 080AF6FA */ j .L802BDBE8
/* 32172C 802BDBDC E6020040 */ swc1 $f2, 0x40($s0)
.L802BDBE0:
/* 321730 802BDBE0 8E020000 */ lw $v0, ($s0)
/* 321734 802BDBE4 00431024 */ and $v0, $v0, $v1
.L802BDBE8:
/* 321738 802BDBE8 AE020000 */ sw $v0, ($s0)
/* 32173C 802BDBEC C600000C */ lwc1 $f0, 0xc($s0)
/* 321740 802BDBF0 3C014234 */ lui $at, 0x4234
/* 321744 802BDBF4 44816000 */ mtc1 $at, $f12
/* 321748 802BDBF8 0C00A6C9 */ jal clamp_angle
/* 32174C 802BDBFC 460C0301 */ sub.s $f12, $f0, $f12
/* 321750 802BDC00 C6020038 */ lwc1 $f2, 0x38($s0)
/* 321754 802BDC04 C6040064 */ lwc1 $f4, 0x64($s0)
/* 321758 802BDC08 C6060040 */ lwc1 $f6, 0x40($s0)
/* 32175C 802BDC0C 27A50020 */ addiu $a1, $sp, 0x20
/* 321760 802BDC10 E7A20020 */ swc1 $f2, 0x20($sp)
/* 321764 802BDC14 E7A40024 */ swc1 $f4, 0x24($sp)
/* 321768 802BDC18 E7A60028 */ swc1 $f6, 0x28($sp)
/* 32176C 802BDC1C AFA00010 */ sw $zero, 0x10($sp)
/* 321770 802BDC20 E7A00014 */ swc1 $f0, 0x14($sp)
/* 321774 802BDC24 860200A8 */ lh $v0, 0xa8($s0)
/* 321778 802BDC28 27A60024 */ addiu $a2, $sp, 0x24
/* 32177C 802BDC2C E7B4001C */ swc1 $f20, 0x1c($sp)
/* 321780 802BDC30 44820000 */ mtc1 $v0, $f0
/* 321784 802BDC34 00000000 */ nop
/* 321788 802BDC38 46800020 */ cvt.s.w $f0, $f0
/* 32178C 802BDC3C E7A00018 */ swc1 $f0, 0x18($sp)
/* 321790 802BDC40 8E040080 */ lw $a0, 0x80($s0)
/* 321794 802BDC44 0C0376B9 */ jal npc_test_move_taller_with_slipping
/* 321798 802BDC48 27A70028 */ addiu $a3, $sp, 0x28
/* 32179C 802BDC4C 10400008 */ beqz $v0, .L802BDC70
/* 3217A0 802BDC50 2403DFFF */ addiu $v1, $zero, -0x2001
/* 3217A4 802BDC54 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 3217A8 802BDC58 8E020000 */ lw $v0, ($s0)
/* 3217AC 802BDC5C C7A20028 */ lwc1 $f2, 0x28($sp)
/* 3217B0 802BDC60 34422000 */ ori $v0, $v0, 0x2000
/* 3217B4 802BDC64 E6000038 */ swc1 $f0, 0x38($s0)
/* 3217B8 802BDC68 080AF71E */ j .L802BDC78
/* 3217BC 802BDC6C E6020040 */ swc1 $f2, 0x40($s0)
.L802BDC70:
/* 3217C0 802BDC70 8E020000 */ lw $v0, ($s0)
/* 3217C4 802BDC74 00431024 */ and $v0, $v0, $v1
.L802BDC78:
/* 3217C8 802BDC78 AE020000 */ sw $v0, ($s0)
/* 3217CC 802BDC7C C60C000C */ lwc1 $f12, 0xc($s0)
/* 3217D0 802BDC80 3C014234 */ lui $at, 0x4234
/* 3217D4 802BDC84 44810000 */ mtc1 $at, $f0
/* 3217D8 802BDC88 00000000 */ nop
/* 3217DC 802BDC8C 46006300 */ add.s $f12, $f12, $f0
/* 3217E0 802BDC90 3C014334 */ lui $at, 0x4334
/* 3217E4 802BDC94 44810000 */ mtc1 $at, $f0
/* 3217E8 802BDC98 0C00A6C9 */ jal clamp_angle
/* 3217EC 802BDC9C 46006300 */ add.s $f12, $f12, $f0
/* 3217F0 802BDCA0 C6020038 */ lwc1 $f2, 0x38($s0)
/* 3217F4 802BDCA4 C6040064 */ lwc1 $f4, 0x64($s0)
/* 3217F8 802BDCA8 C6060040 */ lwc1 $f6, 0x40($s0)
/* 3217FC 802BDCAC 27A50020 */ addiu $a1, $sp, 0x20
/* 321800 802BDCB0 E7A20020 */ swc1 $f2, 0x20($sp)
/* 321804 802BDCB4 E7A40024 */ swc1 $f4, 0x24($sp)
/* 321808 802BDCB8 E7A60028 */ swc1 $f6, 0x28($sp)
/* 32180C 802BDCBC AFA00010 */ sw $zero, 0x10($sp)
/* 321810 802BDCC0 E7A00014 */ swc1 $f0, 0x14($sp)
/* 321814 802BDCC4 860200A8 */ lh $v0, 0xa8($s0)
/* 321818 802BDCC8 27A60024 */ addiu $a2, $sp, 0x24
/* 32181C 802BDCCC E7B4001C */ swc1 $f20, 0x1c($sp)
/* 321820 802BDCD0 44820000 */ mtc1 $v0, $f0
/* 321824 802BDCD4 00000000 */ nop
/* 321828 802BDCD8 46800020 */ cvt.s.w $f0, $f0
/* 32182C 802BDCDC E7A00018 */ swc1 $f0, 0x18($sp)
/* 321830 802BDCE0 8E040080 */ lw $a0, 0x80($s0)
/* 321834 802BDCE4 0C037711 */ jal npc_test_move_simple_with_slipping
/* 321838 802BDCE8 27A70028 */ addiu $a3, $sp, 0x28
/* 32183C 802BDCEC 10400009 */ beqz $v0, .L802BDD14
/* 321840 802BDCF0 2403DFFF */ addiu $v1, $zero, -0x2001
/* 321844 802BDCF4 8E020000 */ lw $v0, ($s0)
/* 321848 802BDCF8 C7A00020 */ lwc1 $f0, 0x20($sp)
/* 32184C 802BDCFC C7A20028 */ lwc1 $f2, 0x28($sp)
/* 321850 802BDD00 34422000 */ ori $v0, $v0, 0x2000
/* 321854 802BDD04 AE020000 */ sw $v0, ($s0)
/* 321858 802BDD08 E6000038 */ swc1 $f0, 0x38($s0)
/* 32185C 802BDD0C 080AF748 */ j .L802BDD20
/* 321860 802BDD10 E6020040 */ swc1 $f2, 0x40($s0)
.L802BDD14:
/* 321864 802BDD14 8E020000 */ lw $v0, ($s0)
/* 321868 802BDD18 00431024 */ and $v0, $v0, $v1
/* 32186C 802BDD1C AE020000 */ sw $v0, ($s0)
.L802BDD20:
/* 321870 802BDD20 C60C000C */ lwc1 $f12, 0xc($s0)
/* 321874 802BDD24 3C014234 */ lui $at, 0x4234
/* 321878 802BDD28 44810000 */ mtc1 $at, $f0
/* 32187C 802BDD2C 00000000 */ nop
/* 321880 802BDD30 46006301 */ sub.s $f12, $f12, $f0
/* 321884 802BDD34 3C014334 */ lui $at, 0x4334
/* 321888 802BDD38 44810000 */ mtc1 $at, $f0
/* 32188C 802BDD3C 0C00A6C9 */ jal clamp_angle
/* 321890 802BDD40 46006300 */ add.s $f12, $f12, $f0
/* 321894 802BDD44 C6020038 */ lwc1 $f2, 0x38($s0)
/* 321898 802BDD48 C6040064 */ lwc1 $f4, 0x64($s0)
/* 32189C 802BDD4C C6060040 */ lwc1 $f6, 0x40($s0)
/* 3218A0 802BDD50 27A50020 */ addiu $a1, $sp, 0x20
/* 3218A4 802BDD54 E7A20020 */ swc1 $f2, 0x20($sp)
/* 3218A8 802BDD58 E7A40024 */ swc1 $f4, 0x24($sp)
/* 3218AC 802BDD5C E7A60028 */ swc1 $f6, 0x28($sp)
/* 3218B0 802BDD60 AFA00010 */ sw $zero, 0x10($sp)
/* 3218B4 802BDD64 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3218B8 802BDD68 860200A8 */ lh $v0, 0xa8($s0)
/* 3218BC 802BDD6C 27A60024 */ addiu $a2, $sp, 0x24
/* 3218C0 802BDD70 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3218C4 802BDD74 44820000 */ mtc1 $v0, $f0
/* 3218C8 802BDD78 00000000 */ nop
/* 3218CC 802BDD7C 46800020 */ cvt.s.w $f0, $f0
/* 3218D0 802BDD80 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3218D4 802BDD84 8E040080 */ lw $a0, 0x80($s0)
/* 3218D8 802BDD88 0C037711 */ jal npc_test_move_simple_with_slipping
/* 3218DC 802BDD8C 27A70028 */ addiu $a3, $sp, 0x28
/* 3218E0 802BDD90 10400009 */ beqz $v0, .L802BDDB8
/* 3218E4 802BDD94 2403DFFF */ addiu $v1, $zero, -0x2001
/* 3218E8 802BDD98 8E020000 */ lw $v0, ($s0)
/* 3218EC 802BDD9C C7A00020 */ lwc1 $f0, 0x20($sp)
/* 3218F0 802BDDA0 C7A20028 */ lwc1 $f2, 0x28($sp)
/* 3218F4 802BDDA4 34422000 */ ori $v0, $v0, 0x2000
/* 3218F8 802BDDA8 AE020000 */ sw $v0, ($s0)
/* 3218FC 802BDDAC E6000038 */ swc1 $f0, 0x38($s0)
/* 321900 802BDDB0 080AF771 */ j .L802BDDC4
/* 321904 802BDDB4 E6020040 */ swc1 $f2, 0x40($s0)
.L802BDDB8:
/* 321908 802BDDB8 8E020000 */ lw $v0, ($s0)
/* 32190C 802BDDBC 00431024 */ and $v0, $v0, $v1
/* 321910 802BDDC0 AE020000 */ sw $v0, ($s0)
.L802BDDC4:
/* 321914 802BDDC4 8FBF0034 */ lw $ra, 0x34($sp)
/* 321918 802BDDC8 8FB00030 */ lw $s0, 0x30($sp)
/* 32191C 802BDDCC D7B40038 */ ldc1 $f20, 0x38($sp)
/* 321920 802BDDD0 03E00008 */ jr $ra
/* 321924 802BDDD4 27BD0040 */ addiu $sp, $sp, 0x40

View File

@ -1,37 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BE6A0_3221F0
/* 3221F0 802BE6A0 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3221F4 802BE6A4 0080302D */ daddu $a2, $a0, $zero
/* 3221F8 802BE6A8 3C048011 */ lui $a0, %hi(gPlayerStatus)
/* 3221FC 802BE6AC 2484EFC8 */ addiu $a0, $a0, %lo(gPlayerStatus)
/* 322200 802BE6B0 27A50028 */ addiu $a1, $sp, 0x28
/* 322204 802BE6B4 AFBF0048 */ sw $ra, 0x48($sp)
/* 322208 802BE6B8 848200B0 */ lh $v0, 0xb0($a0)
/* 32220C 802BE6BC C480002C */ lwc1 $f0, 0x2c($a0)
/* 322210 802BE6C0 44821000 */ mtc1 $v0, $f2
/* 322214 802BE6C4 00000000 */ nop
/* 322218 802BE6C8 468010A0 */ cvt.s.w $f2, $f2
/* 32221C 802BE6CC 46020000 */ add.s $f0, $f0, $f2
/* 322220 802BE6D0 27A7002C */ addiu $a3, $sp, 0x2c
/* 322224 802BE6D4 E7A20030 */ swc1 $f2, 0x30($sp)
/* 322228 802BE6D8 E4C00000 */ swc1 $f0, ($a2)
/* 32222C 802BE6DC C4800028 */ lwc1 $f0, 0x28($a0)
/* 322230 802BE6E0 C4820030 */ lwc1 $f2, 0x30($a0)
/* 322234 802BE6E4 27A20030 */ addiu $v0, $sp, 0x30
/* 322238 802BE6E8 E7A00028 */ swc1 $f0, 0x28($sp)
/* 32223C 802BE6EC E7A2002C */ swc1 $f2, 0x2c($sp)
/* 322240 802BE6F0 AFA20010 */ sw $v0, 0x10($sp)
/* 322244 802BE6F4 27A20034 */ addiu $v0, $sp, 0x34
/* 322248 802BE6F8 AFA20014 */ sw $v0, 0x14($sp)
/* 32224C 802BE6FC 27A20038 */ addiu $v0, $sp, 0x38
/* 322250 802BE700 AFA20018 */ sw $v0, 0x18($sp)
/* 322254 802BE704 27A2003C */ addiu $v0, $sp, 0x3c
/* 322258 802BE708 AFA2001C */ sw $v0, 0x1c($sp)
/* 32225C 802BE70C 27A20040 */ addiu $v0, $sp, 0x40
/* 322260 802BE710 0C03791B */ jal player_raycast_below_cam_relative
/* 322264 802BE714 AFA20020 */ sw $v0, 0x20($sp)
/* 322268 802BE718 8FBF0048 */ lw $ra, 0x48($sp)
/* 32226C 802BE71C 03E00008 */ jr $ra
/* 322270 802BE720 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,48 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BFA00_323550
/* 323550 802BFA00 3C02802C */ lui $v0, %hi(D_802BFF0C)
/* 323554 802BFA04 8C42FF0C */ lw $v0, %lo(D_802BFF0C)($v0)
/* 323558 802BFA08 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 32355C 802BFA0C AFB00010 */ sw $s0, 0x10($sp)
/* 323560 802BFA10 0080802D */ daddu $s0, $a0, $zero
/* 323564 802BFA14 AFB10014 */ sw $s1, 0x14($sp)
/* 323568 802BFA18 3C118011 */ lui $s1, %hi(gPartnerActionStatus)
/* 32356C 802BFA1C 2631EBB0 */ addiu $s1, $s1, %lo(gPartnerActionStatus)
/* 323570 802BFA20 10400018 */ beqz $v0, .L802BFA84
/* 323574 802BFA24 AFBF0018 */ sw $ra, 0x18($sp)
/* 323578 802BFA28 26230018 */ addiu $v1, $s1, 0x18
/* 32357C 802BFA2C 0200102D */ daddu $v0, $s0, $zero
/* 323580 802BFA30 26040340 */ addiu $a0, $s0, 0x340
.L802BFA34:
/* 323584 802BFA34 8C450000 */ lw $a1, ($v0)
/* 323588 802BFA38 8C460004 */ lw $a2, 4($v0)
/* 32358C 802BFA3C 8C470008 */ lw $a3, 8($v0)
/* 323590 802BFA40 8C48000C */ lw $t0, 0xc($v0)
/* 323594 802BFA44 AC650000 */ sw $a1, ($v1)
/* 323598 802BFA48 AC660004 */ sw $a2, 4($v1)
/* 32359C 802BFA4C AC670008 */ sw $a3, 8($v1)
/* 3235A0 802BFA50 AC68000C */ sw $t0, 0xc($v1)
/* 3235A4 802BFA54 24420010 */ addiu $v0, $v0, 0x10
/* 3235A8 802BFA58 1444FFF6 */ bne $v0, $a0, .L802BFA34
/* 3235AC 802BFA5C 24630010 */ addiu $v1, $v1, 0x10
/* 3235B0 802BFA60 24020001 */ addiu $v0, $zero, 1
/* 3235B4 802BFA64 0C038050 */ jal enable_player_static_collisions
/* 3235B8 802BFA68 A2220001 */ sb $v0, 1($s1)
/* 3235BC 802BFA6C 0C038069 */ jal enable_player_input
/* 3235C0 802BFA70 00000000 */ nop
/* 3235C4 802BFA74 0C039769 */ jal set_action_state
/* 3235C8 802BFA78 0000202D */ daddu $a0, $zero, $zero
/* 3235CC 802BFA7C 0C03BD17 */ jal partner_clear_player_tracking
/* 3235D0 802BFA80 0200202D */ daddu $a0, $s0, $zero
.L802BFA84:
/* 3235D4 802BFA84 24020008 */ addiu $v0, $zero, 8
/* 3235D8 802BFA88 A2220003 */ sb $v0, 3($s1)
/* 3235DC 802BFA8C 8FBF0018 */ lw $ra, 0x18($sp)
/* 3235E0 802BFA90 8FB10014 */ lw $s1, 0x14($sp)
/* 3235E4 802BFA94 8FB00010 */ lw $s0, 0x10($sp)
/* 3235E8 802BFA98 3C01802C */ lui $at, %hi(D_802BFF18)
/* 3235EC 802BFA9C AC20FF18 */ sw $zero, %lo(D_802BFF18)($at)
/* 3235F0 802BFAA0 03E00008 */ jr $ra
/* 3235F4 802BFAA4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,45 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BFAA8_3235F8
/* 3235F8 802BFAA8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3235FC 802BFAAC AFB00010 */ sw $s0, 0x10($sp)
/* 323600 802BFAB0 3C108011 */ lui $s0, %hi(gPartnerActionStatus)
/* 323604 802BFAB4 2610EBB0 */ addiu $s0, $s0, %lo(gPartnerActionStatus)
/* 323608 802BFAB8 AFBF0014 */ sw $ra, 0x14($sp)
/* 32360C 802BFABC 82020001 */ lb $v0, 1($s0)
/* 323610 802BFAC0 1040001C */ beqz $v0, .L802BFB34
/* 323614 802BFAC4 00000000 */ nop
/* 323618 802BFAC8 3C02802C */ lui $v0, %hi(D_802BFF0C)
/* 32361C 802BFACC 8C42FF0C */ lw $v0, %lo(D_802BFF0C)($v0)
/* 323620 802BFAD0 10400018 */ beqz $v0, .L802BFB34
/* 323624 802BFAD4 26020018 */ addiu $v0, $s0, 0x18
/* 323628 802BFAD8 26030358 */ addiu $v1, $s0, 0x358
.L802BFADC:
/* 32362C 802BFADC 8C450000 */ lw $a1, ($v0)
/* 323630 802BFAE0 8C460004 */ lw $a2, 4($v0)
/* 323634 802BFAE4 8C470008 */ lw $a3, 8($v0)
/* 323638 802BFAE8 8C48000C */ lw $t0, 0xc($v0)
/* 32363C 802BFAEC AC850000 */ sw $a1, ($a0)
/* 323640 802BFAF0 AC860004 */ sw $a2, 4($a0)
/* 323644 802BFAF4 AC870008 */ sw $a3, 8($a0)
/* 323648 802BFAF8 AC88000C */ sw $t0, 0xc($a0)
/* 32364C 802BFAFC 24420010 */ addiu $v0, $v0, 0x10
/* 323650 802BFB00 1443FFF6 */ bne $v0, $v1, .L802BFADC
/* 323654 802BFB04 24840010 */ addiu $a0, $a0, 0x10
/* 323658 802BFB08 24020001 */ addiu $v0, $zero, 1
/* 32365C 802BFB0C 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 323660 802BFB10 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 323664 802BFB14 24040021 */ addiu $a0, $zero, 0x21
/* 323668 802BFB18 0C039769 */ jal set_action_state
/* 32366C 802BFB1C A062007D */ sb $v0, 0x7d($v1)
/* 323670 802BFB20 A2000003 */ sb $zero, 3($s0)
/* 323674 802BFB24 0C03805E */ jal disable_player_input
/* 323678 802BFB28 A2000000 */ sb $zero, ($s0)
/* 32367C 802BFB2C 0C03ACC5 */ jal partner_use_ability
/* 323680 802BFB30 00000000 */ nop
.L802BFB34:
/* 323684 802BFB34 8FBF0014 */ lw $ra, 0x14($sp)
/* 323688 802BFB38 8FB00010 */ lw $s0, 0x10($sp)
/* 32368C 802BFB3C 03E00008 */ jr $ra
/* 323690 802BFB40 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BFB44_323694
/* 323694 802BFB44 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 323698 802BFB48 3C058011 */ lui $a1, %hi(gPlayerStatus)
/* 32369C 802BFB4C 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
/* 3236A0 802BFB50 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3236A4 802BFB54 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3236A8 802BFB58 44066000 */ mfc1 $a2, $f12
/* 3236AC 802BFB5C 24A40028 */ addiu $a0, $a1, 0x28
/* 3236B0 802BFB60 AFBF0010 */ sw $ra, 0x10($sp)
/* 3236B4 802BFB64 00031080 */ sll $v0, $v1, 2
/* 3236B8 802BFB68 00431021 */ addu $v0, $v0, $v1
/* 3236BC 802BFB6C 00021080 */ sll $v0, $v0, 2
/* 3236C0 802BFB70 00431023 */ subu $v0, $v0, $v1
/* 3236C4 802BFB74 000218C0 */ sll $v1, $v0, 3
/* 3236C8 802BFB78 00431021 */ addu $v0, $v0, $v1
/* 3236CC 802BFB7C 000210C0 */ sll $v0, $v0, 3
/* 3236D0 802BFB80 3C07800B */ lui $a3, %hi(gCameras+0x6C)
/* 3236D4 802BFB84 00E23821 */ addu $a3, $a3, $v0
/* 3236D8 802BFB88 8CE71DEC */ lw $a3, %lo(gCameras+0x6C)($a3)
/* 3236DC 802BFB8C 0C00A7E7 */ jal add_vec2D_polar
/* 3236E0 802BFB90 24A50030 */ addiu $a1, $a1, 0x30
/* 3236E4 802BFB94 8FBF0010 */ lw $ra, 0x10($sp)
/* 3236E8 802BFB98 03E00008 */ jr $ra
/* 3236EC 802BFB9C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,190 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BFBA0_3236F0
/* 3236F0 802BFBA0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 3236F4 802BFBA4 AFB3001C */ sw $s3, 0x1c($sp)
/* 3236F8 802BFBA8 0080982D */ daddu $s3, $a0, $zero
/* 3236FC 802BFBAC AFB00010 */ sw $s0, 0x10($sp)
/* 323700 802BFBB0 00A0802D */ daddu $s0, $a1, $zero
/* 323704 802BFBB4 2404FFFC */ addiu $a0, $zero, -4
/* 323708 802BFBB8 AFBF0024 */ sw $ra, 0x24($sp)
/* 32370C 802BFBBC AFB40020 */ sw $s4, 0x20($sp)
/* 323710 802BFBC0 AFB20018 */ sw $s2, 0x18($sp)
/* 323714 802BFBC4 0C00EABB */ jal get_npc_unsafe
/* 323718 802BFBC8 AFB10014 */ sw $s1, 0x14($sp)
/* 32371C 802BFBCC 3C148011 */ lui $s4, %hi(gPartnerActionStatus)
/* 323720 802BFBD0 2694EBB0 */ addiu $s4, $s4, %lo(gPartnerActionStatus)
/* 323724 802BFBD4 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 323728 802BFBD8 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 32372C 802BFBDC 12000002 */ beqz $s0, .L802BFBE8
/* 323730 802BFBE0 0040882D */ daddu $s1, $v0, $zero
/* 323734 802BFBE4 AE600070 */ sw $zero, 0x70($s3)
.L802BFBE8:
/* 323738 802BFBE8 8E700070 */ lw $s0, 0x70($s3)
/* 32373C 802BFBEC 12000005 */ beqz $s0, .L802BFC04
/* 323740 802BFBF0 24020001 */ addiu $v0, $zero, 1
/* 323744 802BFBF4 1202006A */ beq $s0, $v0, .L802BFDA0
/* 323748 802BFBF8 0000102D */ daddu $v0, $zero, $zero
/* 32374C 802BFBFC 080AFF8D */ j .L802BFE34
/* 323750 802BFC00 00000000 */ nop
.L802BFC04:
/* 323754 802BFC04 8E6200B4 */ lw $v0, 0xb4($s3)
/* 323758 802BFC08 1440000F */ bnez $v0, .L802BFC48
/* 32375C 802BFC0C 00000000 */ nop
/* 323760 802BFC10 C6400028 */ lwc1 $f0, 0x28($s2)
/* 323764 802BFC14 3C014120 */ lui $at, 0x4120
/* 323768 802BFC18 44811000 */ mtc1 $at, $f2
/* 32376C 802BFC1C E6200038 */ swc1 $f0, 0x38($s1)
/* 323770 802BFC20 E6200060 */ swc1 $f0, 0x60($s1)
/* 323774 802BFC24 C620003C */ lwc1 $f0, 0x3c($s1)
/* 323778 802BFC28 C6440030 */ lwc1 $f4, 0x30($s2)
/* 32377C 802BFC2C 46020000 */ add.s $f0, $f0, $f2
/* 323780 802BFC30 E6240040 */ swc1 $f4, 0x40($s1)
/* 323784 802BFC34 E6240068 */ swc1 $f4, 0x68($s1)
/* 323788 802BFC38 0C03ADF3 */ jal partner_kill_ability_script
/* 32378C 802BFC3C E640002C */ swc1 $f0, 0x2c($s2)
/* 323790 802BFC40 080AFF25 */ j .L802BFC94
/* 323794 802BFC44 00000000 */ nop
.L802BFC48:
/* 323798 802BFC48 0C039769 */ jal set_action_state
/* 32379C 802BFC4C 24040021 */ addiu $a0, $zero, 0x21
/* 3237A0 802BFC50 0C038045 */ jal disable_player_static_collisions
/* 3237A4 802BFC54 00000000 */ nop
/* 3237A8 802BFC58 0C03805E */ jal disable_player_input
/* 3237AC 802BFC5C 00000000 */ nop
/* 3237B0 802BFC60 C6400028 */ lwc1 $f0, 0x28($s2)
/* 3237B4 802BFC64 3C014120 */ lui $at, 0x4120
/* 3237B8 802BFC68 44811000 */ mtc1 $at, $f2
/* 3237BC 802BFC6C E6200038 */ swc1 $f0, 0x38($s1)
/* 3237C0 802BFC70 E6200060 */ swc1 $f0, 0x60($s1)
/* 3237C4 802BFC74 C640002C */ lwc1 $f0, 0x2c($s2)
/* 3237C8 802BFC78 E620003C */ swc1 $f0, 0x3c($s1)
/* 3237CC 802BFC7C E6200064 */ swc1 $f0, 0x64($s1)
/* 3237D0 802BFC80 C6440030 */ lwc1 $f4, 0x30($s2)
/* 3237D4 802BFC84 46020000 */ add.s $f0, $f0, $f2
/* 3237D8 802BFC88 E6240040 */ swc1 $f4, 0x40($s1)
/* 3237DC 802BFC8C E6240068 */ swc1 $f4, 0x68($s1)
/* 3237E0 802BFC90 E640002C */ swc1 $f0, 0x2c($s2)
.L802BFC94:
/* 3237E4 802BFC94 C6660088 */ lwc1 $f6, 0x88($s3)
/* 3237E8 802BFC98 468031A0 */ cvt.s.w $f6, $f6
/* 3237EC 802BFC9C 44063000 */ mfc1 $a2, $f6
/* 3237F0 802BFCA0 C6660090 */ lwc1 $f6, 0x90($s3)
/* 3237F4 802BFCA4 468031A0 */ cvt.s.w $f6, $f6
/* 3237F8 802BFCA8 8E620094 */ lw $v0, 0x94($s3)
/* 3237FC 802BFCAC 44073000 */ mfc1 $a3, $f6
/* 323800 802BFCB0 AE620074 */ sw $v0, 0x74($s3)
/* 323804 802BFCB4 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 323808 802BFCB8 C62E0040 */ lwc1 $f14, 0x40($s1)
/* 32380C 802BFCBC 0C00A720 */ jal atan2
/* 323810 802BFCC0 26700098 */ addiu $s0, $s3, 0x98
/* 323814 802BFCC4 46000086 */ mov.s $f2, $f0
/* 323818 802BFCC8 E622000C */ swc1 $f2, 0xc($s1)
/* 32381C 802BFCCC 8E6200B4 */ lw $v0, 0xb4($s3)
/* 323820 802BFCD0 10400014 */ beqz $v0, .L802BFD24
/* 323824 802BFCD4 24040295 */ addiu $a0, $zero, 0x295
/* 323828 802BFCD8 44800000 */ mtc1 $zero, $f0
/* 32382C 802BFCDC 00000000 */ nop
/* 323830 802BFCE0 4602003E */ c.le.s $f0, $f2
/* 323834 802BFCE4 00000000 */ nop
/* 323838 802BFCE8 4500000F */ bc1f .L802BFD28
/* 32383C 802BFCEC 0000282D */ daddu $a1, $zero, $zero
/* 323840 802BFCF0 3C014334 */ lui $at, 0x4334
/* 323844 802BFCF4 44810000 */ mtc1 $at, $f0
/* 323848 802BFCF8 00000000 */ nop
/* 32384C 802BFCFC 4600103E */ c.le.s $f2, $f0
/* 323850 802BFD00 00000000 */ nop
/* 323854 802BFD04 45000008 */ bc1f .L802BFD28
/* 323858 802BFD08 00000000 */ nop
/* 32385C 802BFD0C 4600118D */ trunc.w.s $f6, $f2
/* 323860 802BFD10 44023000 */ mfc1 $v0, $f6
/* 323864 802BFD14 00000000 */ nop
/* 323868 802BFD18 A622008A */ sh $v0, 0x8a($s1)
/* 32386C 802BFD1C 24020001 */ addiu $v0, $zero, 1
/* 323870 802BFD20 A6220088 */ sh $v0, 0x88($s1)
.L802BFD24:
/* 323874 802BFD24 0000282D */ daddu $a1, $zero, $zero
.L802BFD28:
/* 323878 802BFD28 0C052742 */ jal sfx_play_sound_at_npc
/* 32387C 802BFD2C 2406FFFC */ addiu $a2, $zero, -4
/* 323880 802BFD30 3C020008 */ lui $v0, 8
/* 323884 802BFD34 3C014000 */ lui $at, 0x4000
/* 323888 802BFD38 44816000 */ mtc1 $at, $f12
/* 32388C 802BFD3C 3442000E */ ori $v0, $v0, 0xe
/* 323890 802BFD40 AE4200B8 */ sw $v0, 0xb8($s2)
/* 323894 802BFD44 8E420000 */ lw $v0, ($s2)
/* 323898 802BFD48 3C031000 */ lui $v1, 0x1000
/* 32389C 802BFD4C A64000BC */ sh $zero, 0xbc($s2)
/* 3238A0 802BFD50 00431025 */ or $v0, $v0, $v1
/* 3238A4 802BFD54 0C0AFED1 */ jal func_802BFB44_323694
/* 3238A8 802BFD58 AE420000 */ sw $v0, ($s2)
/* 3238AC 802BFD5C 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 3238B0 802BFD60 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 3238B4 802BFD64 24020001 */ addiu $v0, $zero, 1
/* 3238B8 802BFD68 A062007D */ sb $v0, 0x7d($v1)
/* 3238BC 802BFD6C 8E220000 */ lw $v0, ($s1)
/* 3238C0 802BFD70 34420100 */ ori $v0, $v0, 0x100
/* 3238C4 802BFD74 AE220000 */ sw $v0, ($s1)
/* 3238C8 802BFD78 C6000000 */ lwc1 $f0, ($s0)
/* 3238CC 802BFD7C 24020001 */ addiu $v0, $zero, 1
/* 3238D0 802BFD80 AE200014 */ sw $zero, 0x14($s1)
/* 3238D4 802BFD84 3C01802C */ lui $at, %hi(D_802BFF10)
/* 3238D8 802BFD88 AC20FF10 */ sw $zero, %lo(D_802BFF10)($at)
/* 3238DC 802BFD8C 3C01802C */ lui $at, %hi(D_802BFF18)
/* 3238E0 802BFD90 AC20FF18 */ sw $zero, %lo(D_802BFF18)($at)
/* 3238E4 802BFD94 E6200018 */ swc1 $f0, 0x18($s1)
/* 3238E8 802BFD98 080AFF8C */ j .L802BFE30
/* 3238EC 802BFD9C AE620070 */ sw $v0, 0x70($s3)
.L802BFDA0:
/* 3238F0 802BFDA0 8E250018 */ lw $a1, 0x18($s1)
/* 3238F4 802BFDA4 8E26000C */ lw $a2, 0xc($s1)
/* 3238F8 802BFDA8 0C00EA95 */ jal npc_move_heading
/* 3238FC 802BFDAC 0220202D */ daddu $a0, $s1, $zero
/* 323900 802BFDB0 C6200038 */ lwc1 $f0, 0x38($s1)
/* 323904 802BFDB4 3C014120 */ lui $at, 0x4120
/* 323908 802BFDB8 44811000 */ mtc1 $at, $f2
/* 32390C 802BFDBC E6400028 */ swc1 $f0, 0x28($s2)
/* 323910 802BFDC0 C620003C */ lwc1 $f0, 0x3c($s1)
/* 323914 802BFDC4 46020000 */ add.s $f0, $f0, $f2
/* 323918 802BFDC8 3C014000 */ lui $at, 0x4000
/* 32391C 802BFDCC 44816000 */ mtc1 $at, $f12
/* 323920 802BFDD0 E640002C */ swc1 $f0, 0x2c($s2)
/* 323924 802BFDD4 C6200040 */ lwc1 $f0, 0x40($s1)
/* 323928 802BFDD8 E6400030 */ swc1 $f0, 0x30($s2)
/* 32392C 802BFDDC C620000C */ lwc1 $f0, 0xc($s1)
/* 323930 802BFDE0 0C0AFED1 */ jal func_802BFB44_323694
/* 323934 802BFDE4 E6400080 */ swc1 $f0, 0x80($s2)
/* 323938 802BFDE8 8E620074 */ lw $v0, 0x74($s3)
/* 32393C 802BFDEC 2442FFFF */ addiu $v0, $v0, -1
/* 323940 802BFDF0 1440000F */ bnez $v0, .L802BFE30
/* 323944 802BFDF4 AE620074 */ sw $v0, 0x74($s3)
/* 323948 802BFDF8 8E6200B4 */ lw $v0, 0xb4($s3)
/* 32394C 802BFDFC 1040000A */ beqz $v0, .L802BFE28
/* 323950 802BFE00 24040021 */ addiu $a0, $zero, 0x21
/* 323954 802BFE04 0C039769 */ jal set_action_state
/* 323958 802BFE08 A2900001 */ sb $s0, 1($s4)
/* 32395C 802BFE0C A2800003 */ sb $zero, 3($s4)
/* 323960 802BFE10 0C03ACC5 */ jal partner_use_ability
/* 323964 802BFE14 A2800000 */ sb $zero, ($s4)
/* 323968 802BFE18 0C038050 */ jal enable_player_static_collisions
/* 32396C 802BFE1C 00000000 */ nop
/* 323970 802BFE20 0C038069 */ jal enable_player_input
/* 323974 802BFE24 00000000 */ nop
.L802BFE28:
/* 323978 802BFE28 080AFF8D */ j .L802BFE34
/* 32397C 802BFE2C 24020002 */ addiu $v0, $zero, 2
.L802BFE30:
/* 323980 802BFE30 0000102D */ daddu $v0, $zero, $zero
.L802BFE34:
/* 323984 802BFE34 8FBF0024 */ lw $ra, 0x24($sp)
/* 323988 802BFE38 8FB40020 */ lw $s4, 0x20($sp)
/* 32398C 802BFE3C 8FB3001C */ lw $s3, 0x1c($sp)
/* 323990 802BFE40 8FB20018 */ lw $s2, 0x18($sp)
/* 323994 802BFE44 8FB10014 */ lw $s1, 0x14($sp)
/* 323998 802BFE48 8FB00010 */ lw $s0, 0x10($sp)
/* 32399C 802BFE4C 03E00008 */ jr $ra
/* 3239A0 802BFE50 27BD0028 */ addiu $sp, $sp, 0x28
/* 3239A4 802BFE54 00000000 */ nop
/* 3239A8 802BFE58 00000000 */ nop
/* 3239AC 802BFE5C 00000000 */ nop

View File

@ -1,35 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BDD9C_31D90C
/* 31D90C 802BDD9C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 31D910 802BDDA0 3C02802C */ lui $v0, %hi(D_802BE30C)
/* 31D914 802BDDA4 8C42E30C */ lw $v0, %lo(D_802BE30C)($v0)
/* 31D918 802BDDA8 3C068011 */ lui $a2, %hi(gPartnerActionStatus)
/* 31D91C 802BDDAC 24C6EBB0 */ addiu $a2, $a2, %lo(gPartnerActionStatus)
/* 31D920 802BDDB0 10400012 */ beqz $v0, .L802BDDFC
/* 31D924 802BDDB4 AFBF0010 */ sw $ra, 0x10($sp)
/* 31D928 802BDDB8 24C30018 */ addiu $v1, $a2, 0x18
/* 31D92C 802BDDBC 0080102D */ daddu $v0, $a0, $zero
/* 31D930 802BDDC0 24850340 */ addiu $a1, $a0, 0x340
.L802BDDC4:
/* 31D934 802BDDC4 8C470000 */ lw $a3, ($v0)
/* 31D938 802BDDC8 8C480004 */ lw $t0, 4($v0)
/* 31D93C 802BDDCC 8C490008 */ lw $t1, 8($v0)
/* 31D940 802BDDD0 8C4A000C */ lw $t2, 0xc($v0)
/* 31D944 802BDDD4 AC670000 */ sw $a3, ($v1)
/* 31D948 802BDDD8 AC680004 */ sw $t0, 4($v1)
/* 31D94C 802BDDDC AC690008 */ sw $t1, 8($v1)
/* 31D950 802BDDE0 AC6A000C */ sw $t2, 0xc($v1)
/* 31D954 802BDDE4 24420010 */ addiu $v0, $v0, 0x10
/* 31D958 802BDDE8 1445FFF6 */ bne $v0, $a1, .L802BDDC4
/* 31D95C 802BDDEC 24630010 */ addiu $v1, $v1, 0x10
/* 31D960 802BDDF0 24020001 */ addiu $v0, $zero, 1
/* 31D964 802BDDF4 0C03BD17 */ jal partner_clear_player_tracking
/* 31D968 802BDDF8 A0C20001 */ sb $v0, 1($a2)
.L802BDDFC:
/* 31D96C 802BDDFC 0C0AF460 */ jal func_802BD180_31CCF0
/* 31D970 802BDE00 00000000 */ nop
/* 31D974 802BDE04 8FBF0010 */ lw $ra, 0x10($sp)
/* 31D978 802BDE08 03E00008 */ jr $ra
/* 31D97C 802BDE0C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,36 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BDE10_31D980
/* 31D980 802BDE10 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 31D984 802BDE14 AFB00010 */ sw $s0, 0x10($sp)
/* 31D988 802BDE18 0080802D */ daddu $s0, $a0, $zero
/* 31D98C 802BDE1C 3C048011 */ lui $a0, %hi(gPartnerActionStatus)
/* 31D990 802BDE20 2484EBB0 */ addiu $a0, $a0, %lo(gPartnerActionStatus)
/* 31D994 802BDE24 AFBF0014 */ sw $ra, 0x14($sp)
/* 31D998 802BDE28 80820001 */ lb $v0, 1($a0)
/* 31D99C 802BDE2C 10400012 */ beqz $v0, .L802BDE78
/* 31D9A0 802BDE30 0200182D */ daddu $v1, $s0, $zero
/* 31D9A4 802BDE34 24820018 */ addiu $v0, $a0, 0x18
/* 31D9A8 802BDE38 24840358 */ addiu $a0, $a0, 0x358
.L802BDE3C:
/* 31D9AC 802BDE3C 8C450000 */ lw $a1, ($v0)
/* 31D9B0 802BDE40 8C460004 */ lw $a2, 4($v0)
/* 31D9B4 802BDE44 8C470008 */ lw $a3, 8($v0)
/* 31D9B8 802BDE48 8C48000C */ lw $t0, 0xc($v0)
/* 31D9BC 802BDE4C AC650000 */ sw $a1, ($v1)
/* 31D9C0 802BDE50 AC660004 */ sw $a2, 4($v1)
/* 31D9C4 802BDE54 AC670008 */ sw $a3, 8($v1)
/* 31D9C8 802BDE58 AC68000C */ sw $t0, 0xc($v1)
/* 31D9CC 802BDE5C 24420010 */ addiu $v0, $v0, 0x10
/* 31D9D0 802BDE60 1444FFF6 */ bne $v0, $a0, .L802BDE3C
/* 31D9D4 802BDE64 24630010 */ addiu $v1, $v1, 0x10
/* 31D9D8 802BDE68 0C03ACC5 */ jal partner_use_ability
/* 31D9DC 802BDE6C 00000000 */ nop
/* 31D9E0 802BDE70 0C0AF440 */ jal func_802BD100_31CC70
/* 31D9E4 802BDE74 0200202D */ daddu $a0, $s0, $zero
.L802BDE78:
/* 31D9E8 802BDE78 8FBF0014 */ lw $ra, 0x14($sp)
/* 31D9EC 802BDE7C 8FB00010 */ lw $s0, 0x10($sp)
/* 31D9F0 802BDE80 03E00008 */ jr $ra
/* 31D9F4 802BDE84 27BD0018 */ addiu $sp, $sp, 0x18