match functions in world partner files for lakilester, watt, sushie (#536)

* 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

* decomp world sushie/watt files

* run coverage.py

* small style fixes

* fix 2 warnings in watt.c

* requested style changes

* couple more style changes

* last style changes
This commit is contained in:
Rainchus 2021-11-19 08:39:57 -06:00 committed by GitHub
parent 755c83a363
commit 89b21600b1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 419 additions and 1121 deletions

View File

@ -1,42 +1,149 @@
#include "common.h"
#include "../src/world/partners.h"
#include "npc.h"
#include "effects.h"
extern unkPartnerStruct* D_802BFDF8_320B68;
extern s32 D_802BFEEC;
extern f32 D_802BFEE0;
void func_802BD368_31E0D8(s32, f32, f32, f32, f32, f32);
s32 partner_use_ability(void);
void partner_kill_ability_script(void);
extern s32 D_802BFEE4;
extern s32 D_802BFEE8;
extern s32 D_802BFEF0;
extern s32 D_802BFEF4;
extern f32 D_802BFDB0_320B20;
extern f32 D_802BFDB4_320B24;
extern s16 D_8010C97A;
INCLUDE_ASM(s32, "world/partner/sushie", func_802BD100_31DE70);
INCLUDE_ASM(s32, "world/partner/sushie", func_802BD20C_31DF7C);
void func_802BD100_31DE70(void) {
Npc* partnerNPC = get_npc_unsafe(NPC_PARTNER);
PlayerStatus* playerStatus = &gPlayerStatus;
Camera* cam = &gCameras[0];
s32 phi_v1;
INCLUDE_ASM(s32, "world/partner/sushie", func_802BD368_31E0D8);
playerStatus->position.x = partnerNPC->pos.x;
playerStatus->position.y = partnerNPC->pos.y + 16.0f;
playerStatus->position.z = partnerNPC->pos.z;
playerStatus->targetYaw = partnerNPC->yaw;
if (playerStatus->spriteFacingAngle < 90.0f || playerStatus->spriteFacingAngle > 270.0f) {
phi_v1 = -8;
} else {
phi_v1 = 8;
}
playerStatus->position.z -= cos_rad((((cam->currentYaw + playerStatus->spriteFacingAngle) - 90.0f) + phi_v1) * TAU / 360.0f) * -4.0f;
}
void func_802BD20C_31DF7C(f32* arg0, f32* arg1) {
f32 temp_f22;
f32 phi_f20;
f32 temp_f2 = gPartnerActionStatus.stickY;
f32 temp_f0 = gPartnerActionStatus.stickX;
D_802BFDB0_320B20 = temp_f0;
D_802BFDB4_320B24 = temp_f2;
temp_f22 = clamp_angle(atan2(0.0f, 0.0f, temp_f0, -temp_f2) + gCameras->currentYaw);
phi_f20 = 0.0f;
if (dist2D(0.0f, 0.0f, D_802BFDB0_320B20, -D_802BFDB4_320B24) >= 1.0) {
if (SQ(D_802BFDB0_320B20) + SQ(D_802BFDB4_320B24) > 3025.0f) {
if (D_802BFEE4) {
phi_f20 = 2.0f;
} else {
phi_f20 = 4.0f;
}
} else {
phi_f20 = 2.0f;
}
}
*arg0 = temp_f22;
*arg1 = phi_f20;
}
void func_802BD368_31E0D8(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5) {
CollisionStatus* collisionStatus = &gCollisionStatus;
f32 sp20;
arg2 += 100.0f;
sp20 = 200.0f;
if (npc_raycast_down_ahead(arg0, &arg1, &arg2, &arg3, &sp20, arg4, arg5) == 0) {
collisionStatus->currentFloor = -1;
} else {
collisionStatus->currentFloor = D_8010C97A;
D_802BFEE0 = arg2;
}
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BD414_31E184);
INCLUDE_ASM(s32, "world/partner/sushie", func_802BE280_31EFF0);
s32 func_802BE280_31EFF0(s32 arg0, f32* arg1, f32* arg2, f32* arg3, f32 arg4, f32 arg5, f32* arg6) {
f32 sp38, sp3C, sp40, sp44, sp48, sp4C, sp50, sp54, sp58;
s32 colliderRayResult;
sin_cos_rad((*arg6 * TAU) / 360.0f, &sp38, &sp3C);
sp3C = -sp3C;
sp4C = arg5 + arg4;
colliderRayResult = test_ray_colliders(0x10000, *arg1, *arg2, *arg3, sp38, 0.0f, sp3C, &sp40, &sp44, &sp48, &sp4C, &sp50, &sp54, &sp58);
if (colliderRayResult >= 0) {
*arg6 = atan2(0.0f, 0.0f, sp50, sp58);
}
return colliderRayResult;
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BE3A4_31F114);
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF520_320290);
void func_802BF520_320290(Npc* npc) {
npc->collisionHeight = 24;
npc->collisionRadius = 36;
npc->unk_80 = 0x10000;
D_802BFEEC = 0;
D_802BFEE4 = 0;
D_802BFEE8 = 0;
D_802BFEF0 = 0;
D_802BFEF4 = 0;
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF568_3202D8);
s32 func_802BF568_3202D8(Evt* script, s32 isInitialCall) {
Npc* npc = script->owner2.npc;
if (isInitialCall) {
partner_init_get_out(npc);
}
s32 func_802BF5A0_320310(Evt* evt, s32 arg1) {
Npc* npc;
if (partner_get_out(npc)) {
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus func_802BF5A0_320310(Evt* evt, s32 isInitialCall) {
Npc* npc = evt->owner2.npc;
Entity* entity;
f32 sp10;
f32 sp14;
f32 tempY;
npc = evt->owner2.npc;
if (arg1 != 0) {
if (isInitialCall) {
partner_walking_enable(npc, 1);
mem_clear(D_802BFDF8_320B68, sizeof(*D_802BFDF8_320B68));
D_8010C954 = 0;
}
entity = D_8010C954;
if (entity == NULL) {
partner_walking_update_player_tracking(npc);
partner_walking_update_motion(npc);
return 0;
return ApiStatus_BLOCK;
}
switch (D_802BFDF8_320B68->unk_04) {
@ -97,15 +204,128 @@ s32 func_802BF5A0_320310(Evt* evt, s32 arg1) {
}
break;
}
return 0;
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF920_320690);
void func_802BF920_320690(Npc* npc) {
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
npc->flags = D_802BFDF8_320B68->unk_08;
D_802BFDF8_320B68->unk_04 = 0;
partner_clear_player_tracking(npc);
}
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF964_3206D4);
s32 func_802BF964_3206D4(Evt* script, s32 isInitialCall) {
Npc* npc = script->owner2.npc;
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF9B8_320728);
if (isInitialCall) {
partner_init_put_away(npc);
gPlayerStatusPtr->animFlags &= ~PLAYER_STATUS_ANIM_FLAGS_400000;
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BFA58_3207C8);
if (partner_put_away(npc)) {
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BFAB8_320828);
}
void func_802BF9B8_320728(Npc* npc) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
if (D_802BFEEC != 0) {
partnerActionStatus->npc = *npc;
partnerActionStatus->actionState.b[1] = 1;
enable_player_static_collisions();
enable_player_input();
set_action_state(0);
partner_clear_player_tracking(npc);
}
partnerActionStatus->actionState.b[3] = 7;
}
void func_802BFA58_3207C8(Npc* npc) {
if (gPartnerActionStatus.actionState.b[1] != 0) {
*npc = gPartnerActionStatus.npc;
partner_use_ability();
}
}
s32 func_802BFAB8_320828(Evt* script, s32 isInitialCall) {
Npc* partnerNPC = get_npc_unsafe(NPC_PARTNER);
PlayerStatus* playerStatus = &gPlayerStatus;
f32 temp_f0;
s32 funcTemp0;
if (isInitialCall) {
script->functionTemp[0] = 0;
D_802BFEE0 = playerStatus->position.y;
}
funcTemp0 = script->functionTemp[0];
switch (funcTemp0) {
case 0:
gGameStatusPtr->unk_7D = 1;
disable_player_static_collisions();
disable_player_input();
partnerNPC->pos.x = playerStatus->position.x;
partnerNPC->pos.z = playerStatus->position.z;
partnerNPC->pos.y = playerStatus->position.y;
func_802BD368_31E0D8(partnerNPC->unk_80, partnerNPC->pos.x, partnerNPC->pos.y, partnerNPC->pos.z, partnerNPC->yaw, partnerNPC->collisionRadius * 0.5f);
partnerNPC->pos.y = D_802BFEE0 - (partnerNPC->collisionHeight * 0.5f);
temp_f0 = atan2(partnerNPC->pos.x, partnerNPC->pos.z, script->varTable[1], script->varTable[3]);
partnerNPC->currentAnim.w = 0x7000A;
partnerNPC->yaw = temp_f0;
partnerNPC->jumpScale = 0.0f;
partnerNPC->moveSpeed = 3.0f;
partnerNPC->moveToPos.x = partnerNPC->pos.x;
partnerNPC->moveToPos.y = partnerNPC->pos.y;
partnerNPC->moveToPos.z = partnerNPC->pos.z;
partnerNPC->flags |= NPC_FLAG_100 | NPC_FLAG_ENABLE_HIT_SCRIPT;
partnerNPC->flags &= ~NPC_FLAG_GRAVITY;
disable_npc_shadow(partnerNPC);
disable_player_shadow();
if (script->varTable[0xC] == 0) {
partner_kill_ability_script();
} else {
suggest_player_anim_setUnkFlag(0x8000F);
if ((partnerNPC->yaw >= 0.0f) && (partnerNPC->yaw <= 180.0f)) {
partnerNPC->yawCamOffset = partnerNPC->yaw;
partnerNPC->isFacingAway = 1;
}
}
script->functionTemp[1] = 0x19;
script->functionTemp[0] = 1;
break;
case 1:
npc_move_heading(partnerNPC, partnerNPC->moveSpeed, partnerNPC->yaw);
func_802BD100_31DE70();
if (!(script->functionTemp[1] & 3)) {
playFX_23(0, partnerNPC->pos.x, partnerNPC->moveToPos.y + (partnerNPC->collisionHeight * 0.5f), partnerNPC->pos.z, 0);
}
script->functionTemp[1]--;
if (script->functionTemp[1] == 0) {
if (script->varTable[0xC] == funcTemp0) {
set_action_state(0x21);
partner_use_ability();
return ApiStatus_DONE2;
}
enable_player_static_collisions();
enable_player_input();
return ApiStatus_DONE2;
}
break;
}
return ApiStatus_BLOCK;
}

View File

@ -7,23 +7,39 @@ void force_player_anim(s32 arg0);
void func_802BE070_31DBE0(void);
void partner_kill_ability_script(void);
s32 partner_use_ability(void);
void func_802BD1AC_31CD1C(s32 arg0);
extern s32 D_802BE278_31DDE8;
extern f64 D_802BE2F0_31DE60;
extern s32 D_802BE250_31DDC0;
typedef struct unk_802BE310_C {
/* 0x00 */ char unk_00[0x28];
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ char unk_10[0x10];
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
} unk_802BE310_C;
/* 0x2C */ char unk_2C[0x0C];
} unk_802BE310_C; // size = 0x38
typedef struct unk_802BE310 {
/* 0x00 */ char unk_00[0x0C];
/* 0x0C */ unk_802BE310_C* unk_0C;
/* 0x10 */
} unk_802BE310;
typedef struct unk_802BE274_31DDE4 {
/* 0x00 */ char unk_00[4];
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
} unk_802BE274_31DDE4;
/* 0x0C */ unk_802BE310_C* unk_0C;
} unk_802BE310; //size = 0x10
typedef struct unk_802BE274_31DDE4 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
} unk_802BE274_31DDE4; //size = 0x1C
extern s32 D_802BE300;
extern s32 D_802BE304;
@ -74,12 +90,120 @@ ApiStatus func_802BD27C_31CDEC(Evt* script, s32 isInitialCall) {
}
}
ApiStatus func_802BD2B4_31CE24(Evt *script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Entity* entity;
f32 sp10, sp14;
f32 new_var;
f32 temp_f0;
Npc* npc = script->owner2.npc;
if (gPartnerActionStatus.actionState.b[1] == 0) {
if (isInitialCall) {
partner_flying_enable(npc, 1);
mem_clear(D_802BE274_31DDE4, sizeof(unk_802BE274_31DDE4));
D_8010C954 = NULL;
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BD2B4_31CE24);
entity = D_8010C954;
playerData->unk_2F4[6]++;
if (entity == NULL) {
func_802BD100_31CC70(npc);
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
if (npc->moveSpeed != 0.0f) {
if (D_802BE278_31DDE8 == 0) {
D_802BE278_31DDE8 = 1;
func_802BD1AC_31CD1C(1);
npc->currentAnim.w = 0x60003;
}
} else if (D_802BE278_31DDE8 != 0) {
D_802BE278_31DDE8 = 0;
func_802BD1AC_31CD1C(0);
npc->currentAnim.w = 0x60001;
}
if (D_802BE310 != NULL) {
D_802BE310->unk_0C->unk_04 = npc->pos.x;
D_802BE310->unk_0C->unk_08 = npc->pos.y + 13.0f;
D_802BE310->unk_0C->unk_0C = npc->pos.z;
}
return 0;
}
switch (D_802BE274_31DDE4->unk_04) {
case 0:
D_802BE274_31DDE4->unk_04 = 1;
D_802BE274_31DDE4->unk_08 = npc->flags;
D_802BE274_31DDE4->unk_0C = fabsf(dist2D(npc->pos.x, npc->pos.z, entity->position.x, entity->position.z));
D_802BE274_31DDE4->unk_10 = atan2(entity->position.x, entity->position.z, npc->pos.x, npc->pos.z);
D_802BE274_31DDE4->unk_14 = 6.0f;
D_802BE274_31DDE4->unk_18 = 50.0f;
D_802BE274_31DDE4->unk_00 = 0x78;
npc->flags |= 0x40148;
npc->flags &= ~0x200;
case 1:
sin_cos_rad((D_802BE274_31DDE4->unk_10 * TAU) / 360.0f, &sp10, &sp14);
npc->pos.x = (entity->position.x + (sp10 * D_802BE274_31DDE4->unk_0C));
npc->pos.z = (entity->position.z - (sp14 * D_802BE274_31DDE4->unk_0C));
D_802BE274_31DDE4->unk_10 = clamp_angle(D_802BE274_31DDE4->unk_10 - D_802BE274_31DDE4->unk_14);
if (D_802BE274_31DDE4->unk_0C > 20.0f) {
D_802BE274_31DDE4->unk_0C--;
} else if (D_802BE274_31DDE4->unk_0C < 19.0f) {
D_802BE274_31DDE4->unk_0C++;
}
temp_f0 = sin_rad(D_802BE274_31DDE4->unk_18 * TAU / 360.0f);
D_802BE274_31DDE4->unk_18 += 3.0f;
new_var = temp_f0 * 3.0f;
if (D_802BE274_31DDE4->unk_18 > 150.0f) {
D_802BE274_31DDE4->unk_18 = 150.0f;
}
npc->pos.y += new_var;
npc->renderYaw = clamp_angle(360.0f - D_802BE274_31DDE4->unk_10);
D_802BE274_31DDE4->unk_14 += D_802BE2F0_31DE60;
if (D_802BE274_31DDE4->unk_14 > 40.0f) {
D_802BE274_31DDE4->unk_14 = 40.0f;
}
if (--D_802BE274_31DDE4->unk_00 == 0) {
D_802BE274_31DDE4->unk_04++;
}
break;
case 2:
npc->flags = D_802BE274_31DDE4->unk_08;
D_802BE274_31DDE4->unk_00 = 0x1E;
D_802BE274_31DDE4->unk_04++;
break;
case 3:
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
if (--D_802BE274_31DDE4->unk_00 == 0) {
D_802BE274_31DDE4->unk_04 = 0;
D_8010C954 = NULL;
}
break;
}
if (D_802BE310 != 0) {
D_802BE310->unk_0C->unk_04 = npc->pos.x;
D_802BE310->unk_0C->unk_08 = npc->pos.y + 13.0f;
D_802BE310->unk_0C->unk_0C = npc->pos.z;
}
}
return 0;
}
void func_802BD710_31D280(Npc* npc) {
if (D_8010C954 != 0) {
D_8010C954 = 0;
if (D_8010C954 != NULL) {
D_8010C954 = NULL;
npc->flags = D_802BE274_31DDE4->unk_08;
D_802BE274_31DDE4->unk_04 = 0;
partner_clear_player_tracking(npc);
@ -192,4 +316,48 @@ void func_802BE014_31DB84(void) {
suggest_player_anim_clearUnkFlag(animationID);
}
INCLUDE_ASM(s32, "world/partner/watt", func_802BE070_31DBE0);
void func_802BE070_31DBE0(void) {
Npc* partnerNPC;
Npc* new_var2;
Camera* camera = gCameras;
PlayerStatus* playerStatus;
f32 temp;
f32 temp_f20;
f32 spriteFacingAngle;
s32 phi_v1;
if (gPartnerActionStatus.actionState.b[0] != 0) {
spriteFacingAngle = gPlayerStatusPtr->spriteFacingAngle;
if ((spriteFacingAngle < 90.0f) || (spriteFacingAngle > 270.0f)) {
if (!(gPlayerStatusPtr->trueAnimation & NPC_FLAG_1000000)) {
phi_v1 = -5;
temp = 0.6f;
} else {
phi_v1 = 5;
temp = 0.6f;
}
} else {
if (!(gPlayerStatusPtr->trueAnimation & NPC_FLAG_1000000)) {
phi_v1 = 5;
temp = 0.6f;
} else {
phi_v1 = -5;
temp = 0.6f;
}
}
temp_f20 = (camera->currentYaw + 270.0f - gPlayerStatusPtr->spriteFacingAngle + phi_v1) * TAU / 360.0f;
playerStatus = gPlayerStatusPtr;
partnerNPC = wPartnerNpc;
partnerNPC->pos.x = playerStatus->position.x + (sin_rad(temp_f20) * gPlayerStatusPtr->colliderDiameter * temp);
new_var2 = wPartnerNpc;
playerStatus = gPlayerStatusPtr;
partnerNPC = new_var2;
partnerNPC->pos.z = playerStatus->position.z - (cos_rad(temp_f20) * gPlayerStatusPtr->colliderDiameter * temp);
wPartnerNpc->yaw = gPlayerStatusPtr->targetYaw;
wPartnerNpc->pos.y = gPlayerStatusPtr->position.y + 5.0f;
}
}

View File

@ -1,73 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD100_31DE70
/* 31DE70 802BD100 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 31DE74 802BD104 2404FFFC */ addiu $a0, $zero, -4
/* 31DE78 802BD108 AFBF0014 */ sw $ra, 0x14($sp)
/* 31DE7C 802BD10C 0C00EABB */ jal get_npc_unsafe
/* 31DE80 802BD110 AFB00010 */ sw $s0, 0x10($sp)
/* 31DE84 802BD114 C4400038 */ lwc1 $f0, 0x38($v0)
/* 31DE88 802BD118 3C014180 */ lui $at, 0x4180
/* 31DE8C 802BD11C 44811000 */ mtc1 $at, $f2
/* 31DE90 802BD120 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* 31DE94 802BD124 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* 31DE98 802BD128 E6000028 */ swc1 $f0, 0x28($s0)
/* 31DE9C 802BD12C C440003C */ lwc1 $f0, 0x3c($v0)
/* 31DEA0 802BD130 46020000 */ add.s $f0, $f0, $f2
/* 31DEA4 802BD134 C60400A8 */ lwc1 $f4, 0xa8($s0)
/* 31DEA8 802BD138 E600002C */ swc1 $f0, 0x2c($s0)
/* 31DEAC 802BD13C C4400040 */ lwc1 $f0, 0x40($v0)
/* 31DEB0 802BD140 E6000030 */ swc1 $f0, 0x30($s0)
/* 31DEB4 802BD144 3C0142B4 */ lui $at, 0x42b4
/* 31DEB8 802BD148 44810000 */ mtc1 $at, $f0
/* 31DEBC 802BD14C C442000C */ lwc1 $f2, 0xc($v0)
/* 31DEC0 802BD150 4600203C */ c.lt.s $f4, $f0
/* 31DEC4 802BD154 00000000 */ nop
/* 31DEC8 802BD158 45010008 */ bc1t .L802BD17C
/* 31DECC 802BD15C E6020080 */ swc1 $f2, 0x80($s0)
/* 31DED0 802BD160 3C014387 */ lui $at, 0x4387
/* 31DED4 802BD164 44810000 */ mtc1 $at, $f0
/* 31DED8 802BD168 00000000 */ nop
/* 31DEDC 802BD16C 4604003C */ c.lt.s $f0, $f4
/* 31DEE0 802BD170 00000000 */ nop
/* 31DEE4 802BD174 45000002 */ bc1f .L802BD180
/* 31DEE8 802BD178 24030008 */ addiu $v1, $zero, 8
.L802BD17C:
/* 31DEEC 802BD17C 2403FFF8 */ addiu $v1, $zero, -8
.L802BD180:
/* 31DEF0 802BD180 3C02800B */ lui $v0, %hi(gCameras)
/* 31DEF4 802BD184 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* 31DEF8 802BD188 C44C006C */ lwc1 $f12, 0x6c($v0)
/* 31DEFC 802BD18C C60000A8 */ lwc1 $f0, 0xa8($s0)
/* 31DF00 802BD190 46006300 */ add.s $f12, $f12, $f0
/* 31DF04 802BD194 3C0142B4 */ lui $at, 0x42b4
/* 31DF08 802BD198 44810000 */ mtc1 $at, $f0
/* 31DF0C 802BD19C 00000000 */ nop
/* 31DF10 802BD1A0 46006301 */ sub.s $f12, $f12, $f0
/* 31DF14 802BD1A4 44830000 */ mtc1 $v1, $f0
/* 31DF18 802BD1A8 00000000 */ nop
/* 31DF1C 802BD1AC 46800020 */ cvt.s.w $f0, $f0
/* 31DF20 802BD1B0 46006300 */ add.s $f12, $f12, $f0
/* 31DF24 802BD1B4 3C0140C9 */ lui $at, 0x40c9
/* 31DF28 802BD1B8 34210FD0 */ ori $at, $at, 0xfd0
/* 31DF2C 802BD1BC 44810000 */ mtc1 $at, $f0
/* 31DF30 802BD1C0 00000000 */ nop
/* 31DF34 802BD1C4 46006302 */ mul.s $f12, $f12, $f0
/* 31DF38 802BD1C8 00000000 */ nop
/* 31DF3C 802BD1CC 3C0143B4 */ lui $at, 0x43b4
/* 31DF40 802BD1D0 44810000 */ mtc1 $at, $f0
/* 31DF44 802BD1D4 0C00A874 */ jal cos_rad
/* 31DF48 802BD1D8 46006303 */ div.s $f12, $f12, $f0
/* 31DF4C 802BD1DC 3C01C080 */ lui $at, 0xc080
/* 31DF50 802BD1E0 44811000 */ mtc1 $at, $f2
/* 31DF54 802BD1E4 00000000 */ nop
/* 31DF58 802BD1E8 46020002 */ mul.s $f0, $f0, $f2
/* 31DF5C 802BD1EC 00000000 */ nop
/* 31DF60 802BD1F0 C6020030 */ lwc1 $f2, 0x30($s0)
/* 31DF64 802BD1F4 46001081 */ sub.s $f2, $f2, $f0
/* 31DF68 802BD1F8 E6020030 */ swc1 $f2, 0x30($s0)
/* 31DF6C 802BD1FC 8FBF0014 */ lw $ra, 0x14($sp)
/* 31DF70 802BD200 8FB00010 */ lw $s0, 0x10($sp)
/* 31DF74 802BD204 03E00008 */ jr $ra
/* 31DF78 802BD208 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,93 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD20C_31DF7C
/* 31DF7C 802BD20C 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 31DF80 802BD210 AFB20018 */ sw $s2, 0x18($sp)
/* 31DF84 802BD214 0080902D */ daddu $s2, $a0, $zero
/* 31DF88 802BD218 AFB3001C */ sw $s3, 0x1c($sp)
/* 31DF8C 802BD21C 00A0982D */ daddu $s3, $a1, $zero
/* 31DF90 802BD220 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 31DF94 802BD224 4480A000 */ mtc1 $zero, $f20
/* 31DF98 802BD228 3C038011 */ lui $v1, %hi(gPartnerActionStatus)
/* 31DF9C 802BD22C 2463EBB0 */ addiu $v1, $v1, %lo(gPartnerActionStatus)
/* 31DFA0 802BD230 AFB00010 */ sw $s0, 0x10($sp)
/* 31DFA4 802BD234 3C10802C */ lui $s0, %hi(D_802BFDB0_320B20)
/* 31DFA8 802BD238 2610FDB0 */ addiu $s0, $s0, %lo(D_802BFDB0_320B20)
/* 31DFAC 802BD23C AFB10014 */ sw $s1, 0x14($sp)
/* 31DFB0 802BD240 3C11802C */ lui $s1, %hi(D_802BFDB4_320B24)
/* 31DFB4 802BD244 2631FDB4 */ addiu $s1, $s1, %lo(D_802BFDB4_320B24)
/* 31DFB8 802BD248 AFBF0020 */ sw $ra, 0x20($sp)
/* 31DFBC 802BD24C F7B60030 */ sdc1 $f22, 0x30($sp)
/* 31DFC0 802BD250 84620006 */ lh $v0, 6($v1)
/* 31DFC4 802BD254 4600A306 */ mov.s $f12, $f20
/* 31DFC8 802BD258 44821000 */ mtc1 $v0, $f2
/* 31DFCC 802BD25C 00000000 */ nop
/* 31DFD0 802BD260 468010A0 */ cvt.s.w $f2, $f2
/* 31DFD4 802BD264 46001107 */ neg.s $f4, $f2
/* 31DFD8 802BD268 84620004 */ lh $v0, 4($v1)
/* 31DFDC 802BD26C 44072000 */ mfc1 $a3, $f4
/* 31DFE0 802BD270 44820000 */ mtc1 $v0, $f0
/* 31DFE4 802BD274 00000000 */ nop
/* 31DFE8 802BD278 46800020 */ cvt.s.w $f0, $f0
/* 31DFEC 802BD27C 44060000 */ mfc1 $a2, $f0
/* 31DFF0 802BD280 4600A386 */ mov.s $f14, $f20
/* 31DFF4 802BD284 AE060000 */ sw $a2, ($s0)
/* 31DFF8 802BD288 0C00A720 */ jal atan2
/* 31DFFC 802BD28C E6220000 */ swc1 $f2, ($s1)
/* 31E000 802BD290 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 31E004 802BD294 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at)
/* 31E008 802BD298 0C00A6C9 */ jal clamp_angle
/* 31E00C 802BD29C 460C0300 */ add.s $f12, $f0, $f12
/* 31E010 802BD2A0 4600A306 */ mov.s $f12, $f20
/* 31E014 802BD2A4 4600A386 */ mov.s $f14, $f20
/* 31E018 802BD2A8 C6220000 */ lwc1 $f2, ($s1)
/* 31E01C 802BD2AC 8E060000 */ lw $a2, ($s0)
/* 31E020 802BD2B0 46001087 */ neg.s $f2, $f2
/* 31E024 802BD2B4 44071000 */ mfc1 $a3, $f2
/* 31E028 802BD2B8 0C00A7B5 */ jal dist2D
/* 31E02C 802BD2BC 46000586 */ mov.s $f22, $f0
/* 31E030 802BD2C0 3C013FF0 */ lui $at, 0x3ff0
/* 31E034 802BD2C4 44811800 */ mtc1 $at, $f3
/* 31E038 802BD2C8 44801000 */ mtc1 $zero, $f2
/* 31E03C 802BD2CC 46000021 */ cvt.d.s $f0, $f0
/* 31E040 802BD2D0 4620103E */ c.le.d $f2, $f0
/* 31E044 802BD2D4 00000000 */ nop
/* 31E048 802BD2D8 45020019 */ bc1fl .L802BD340
/* 31E04C 802BD2DC E6560000 */ swc1 $f22, ($s2)
/* 31E050 802BD2E0 C6000000 */ lwc1 $f0, ($s0)
/* 31E054 802BD2E4 46000002 */ mul.s $f0, $f0, $f0
/* 31E058 802BD2E8 00000000 */ nop
/* 31E05C 802BD2EC C6220000 */ lwc1 $f2, ($s1)
/* 31E060 802BD2F0 46021082 */ mul.s $f2, $f2, $f2
/* 31E064 802BD2F4 00000000 */ nop
/* 31E068 802BD2F8 46020000 */ add.s $f0, $f0, $f2
/* 31E06C 802BD2FC 3C01453D */ lui $at, 0x453d
/* 31E070 802BD300 34211000 */ ori $at, $at, 0x1000
/* 31E074 802BD304 44811000 */ mtc1 $at, $f2
/* 31E078 802BD308 00000000 */ nop
/* 31E07C 802BD30C 4600103C */ c.lt.s $f2, $f0
/* 31E080 802BD310 00000000 */ nop
/* 31E084 802BD314 45000007 */ bc1f .L802BD334
/* 31E088 802BD318 00000000 */ nop
/* 31E08C 802BD31C 3C02802C */ lui $v0, %hi(D_802BFEE4)
/* 31E090 802BD320 8C42FEE4 */ lw $v0, %lo(D_802BFEE4)($v0)
/* 31E094 802BD324 3C014080 */ lui $at, 0x4080
/* 31E098 802BD328 4481A000 */ mtc1 $at, $f20
/* 31E09C 802BD32C 50400004 */ beql $v0, $zero, .L802BD340
/* 31E0A0 802BD330 E6560000 */ swc1 $f22, ($s2)
.L802BD334:
/* 31E0A4 802BD334 3C014000 */ lui $at, 0x4000
/* 31E0A8 802BD338 4481A000 */ mtc1 $at, $f20
/* 31E0AC 802BD33C E6560000 */ swc1 $f22, ($s2)
.L802BD340:
/* 31E0B0 802BD340 E6740000 */ swc1 $f20, ($s3)
/* 31E0B4 802BD344 8FBF0020 */ lw $ra, 0x20($sp)
/* 31E0B8 802BD348 8FB3001C */ lw $s3, 0x1c($sp)
/* 31E0BC 802BD34C 8FB20018 */ lw $s2, 0x18($sp)
/* 31E0C0 802BD350 8FB10014 */ lw $s1, 0x14($sp)
/* 31E0C4 802BD354 8FB00010 */ lw $s0, 0x10($sp)
/* 31E0C8 802BD358 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 31E0CC 802BD35C D7B40028 */ ldc1 $f20, 0x28($sp)
/* 31E0D0 802BD360 03E00008 */ jr $ra
/* 31E0D4 802BD364 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,49 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD368_31E0D8
/* 31E0D8 802BD368 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 31E0DC 802BD36C 3C0142C8 */ lui $at, 0x42c8
/* 31E0E0 802BD370 44810000 */ mtc1 $at, $f0
/* 31E0E4 802BD374 44864000 */ mtc1 $a2, $f8
/* 31E0E8 802BD378 C7A40048 */ lwc1 $f4, 0x48($sp)
/* 31E0EC 802BD37C C7A6004C */ lwc1 $f6, 0x4c($sp)
/* 31E0F0 802BD380 27A20020 */ addiu $v0, $sp, 0x20
/* 31E0F4 802BD384 AFB00028 */ sw $s0, 0x28($sp)
/* 31E0F8 802BD388 3C108016 */ lui $s0, %hi(gCollisionStatus)
/* 31E0FC 802BD38C 2610A550 */ addiu $s0, $s0, %lo(gCollisionStatus)
/* 31E100 802BD390 AFB1002C */ sw $s1, 0x2c($sp)
/* 31E104 802BD394 0200882D */ daddu $s1, $s0, $zero
/* 31E108 802BD398 AFA5003C */ sw $a1, 0x3c($sp)
/* 31E10C 802BD39C 27A5003C */ addiu $a1, $sp, 0x3c
/* 31E110 802BD3A0 AFA70044 */ sw $a3, 0x44($sp)
/* 31E114 802BD3A4 27A70044 */ addiu $a3, $sp, 0x44
/* 31E118 802BD3A8 AFBF0030 */ sw $ra, 0x30($sp)
/* 31E11C 802BD3AC AFA60040 */ sw $a2, 0x40($sp)
/* 31E120 802BD3B0 46004080 */ add.s $f2, $f8, $f0
/* 31E124 802BD3B4 3C014348 */ lui $at, 0x4348
/* 31E128 802BD3B8 44810000 */ mtc1 $at, $f0
/* 31E12C 802BD3BC 27A60040 */ addiu $a2, $sp, 0x40
/* 31E130 802BD3C0 E7A20040 */ swc1 $f2, 0x40($sp)
/* 31E134 802BD3C4 E7A00020 */ swc1 $f0, 0x20($sp)
/* 31E138 802BD3C8 AFA20010 */ sw $v0, 0x10($sp)
/* 31E13C 802BD3CC E7A40014 */ swc1 $f4, 0x14($sp)
/* 31E140 802BD3D0 0C0371DE */ jal npc_raycast_down_ahead
/* 31E144 802BD3D4 E7A60018 */ swc1 $f6, 0x18($sp)
/* 31E148 802BD3D8 14400003 */ bnez $v0, .L802BD3E8
/* 31E14C 802BD3DC 2402FFFF */ addiu $v0, $zero, -1
/* 31E150 802BD3E0 080AF500 */ j .L802BD400
/* 31E154 802BD3E4 A6020002 */ sh $v0, 2($s0)
.L802BD3E8:
/* 31E158 802BD3E8 3C028011 */ lui $v0, %hi(D_8010C97A)
/* 31E15C 802BD3EC 9442C97A */ lhu $v0, %lo(D_8010C97A)($v0)
/* 31E160 802BD3F0 A6220002 */ sh $v0, 2($s1)
/* 31E164 802BD3F4 C7A00040 */ lwc1 $f0, 0x40($sp)
/* 31E168 802BD3F8 3C01802C */ lui $at, %hi(D_802BFEE0)
/* 31E16C 802BD3FC E420FEE0 */ swc1 $f0, %lo(D_802BFEE0)($at)
.L802BD400:
/* 31E170 802BD400 8FBF0030 */ lw $ra, 0x30($sp)
/* 31E174 802BD404 8FB1002C */ lw $s1, 0x2c($sp)
/* 31E178 802BD408 8FB00028 */ lw $s0, 0x28($sp)
/* 31E17C 802BD40C 03E00008 */ jr $ra
/* 31E180 802BD410 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,78 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BE280_31EFF0
/* 31EFF0 802BE280 27BDFF78 */ addiu $sp, $sp, -0x88
/* 31EFF4 802BE284 AFB3006C */ sw $s3, 0x6c($sp)
/* 31EFF8 802BE288 8FB300A0 */ lw $s3, 0xa0($sp)
/* 31EFFC 802BE28C 3C0140C9 */ lui $at, 0x40c9
/* 31F000 802BE290 34210FD0 */ ori $at, $at, 0xfd0
/* 31F004 802BE294 44810000 */ mtc1 $at, $f0
/* 31F008 802BE298 AFB00060 */ sw $s0, 0x60($sp)
/* 31F00C 802BE29C 00A0802D */ daddu $s0, $a1, $zero
/* 31F010 802BE2A0 AFB10064 */ sw $s1, 0x64($sp)
/* 31F014 802BE2A4 00C0882D */ daddu $s1, $a2, $zero
/* 31F018 802BE2A8 AFB20068 */ sw $s2, 0x68($sp)
/* 31F01C 802BE2AC 00E0902D */ daddu $s2, $a3, $zero
/* 31F020 802BE2B0 AFBF0070 */ sw $ra, 0x70($sp)
/* 31F024 802BE2B4 F7B60080 */ sdc1 $f22, 0x80($sp)
/* 31F028 802BE2B8 F7B40078 */ sdc1 $f20, 0x78($sp)
/* 31F02C 802BE2BC C66C0000 */ lwc1 $f12, ($s3)
/* 31F030 802BE2C0 27A50038 */ addiu $a1, $sp, 0x38
/* 31F034 802BE2C4 46006302 */ mul.s $f12, $f12, $f0
/* 31F038 802BE2C8 00000000 */ nop
/* 31F03C 802BE2CC 27A6003C */ addiu $a2, $sp, 0x3c
/* 31F040 802BE2D0 C7B60098 */ lwc1 $f22, 0x98($sp)
/* 31F044 802BE2D4 3C0143B4 */ lui $at, 0x43b4
/* 31F048 802BE2D8 44810000 */ mtc1 $at, $f0
/* 31F04C 802BE2DC C7B4009C */ lwc1 $f20, 0x9c($sp)
/* 31F050 802BE2E0 0C00A82D */ jal sin_cos_rad
/* 31F054 802BE2E4 46006303 */ div.s $f12, $f12, $f0
/* 31F058 802BE2E8 27A20040 */ addiu $v0, $sp, 0x40
/* 31F05C 802BE2EC 4616A500 */ add.s $f20, $f20, $f22
/* 31F060 802BE2F0 C7A0003C */ lwc1 $f0, 0x3c($sp)
/* 31F064 802BE2F4 C7A20038 */ lwc1 $f2, 0x38($sp)
/* 31F068 802BE2F8 46000007 */ neg.s $f0, $f0
/* 31F06C 802BE2FC E7A0003C */ swc1 $f0, 0x3c($sp)
/* 31F070 802BE300 E7B4004C */ swc1 $f20, 0x4c($sp)
/* 31F074 802BE304 AFA2001C */ sw $v0, 0x1c($sp)
/* 31F078 802BE308 27A20044 */ addiu $v0, $sp, 0x44
/* 31F07C 802BE30C AFA20020 */ sw $v0, 0x20($sp)
/* 31F080 802BE310 27A20048 */ addiu $v0, $sp, 0x48
/* 31F084 802BE314 AFA20024 */ sw $v0, 0x24($sp)
/* 31F088 802BE318 27A2004C */ addiu $v0, $sp, 0x4c
/* 31F08C 802BE31C AFA20028 */ sw $v0, 0x28($sp)
/* 31F090 802BE320 27A20050 */ addiu $v0, $sp, 0x50
/* 31F094 802BE324 AFA2002C */ sw $v0, 0x2c($sp)
/* 31F098 802BE328 27A20054 */ addiu $v0, $sp, 0x54
/* 31F09C 802BE32C AFA20030 */ sw $v0, 0x30($sp)
/* 31F0A0 802BE330 27A20058 */ addiu $v0, $sp, 0x58
/* 31F0A4 802BE334 E7A20010 */ swc1 $f2, 0x10($sp)
/* 31F0A8 802BE338 AFA00014 */ sw $zero, 0x14($sp)
/* 31F0AC 802BE33C E7A00018 */ swc1 $f0, 0x18($sp)
/* 31F0B0 802BE340 AFA20034 */ sw $v0, 0x34($sp)
/* 31F0B4 802BE344 8E050000 */ lw $a1, ($s0)
/* 31F0B8 802BE348 8E260000 */ lw $a2, ($s1)
/* 31F0BC 802BE34C 8E470000 */ lw $a3, ($s2)
/* 31F0C0 802BE350 0C017334 */ jal test_ray_colliders
/* 31F0C4 802BE354 3C040001 */ lui $a0, 1
/* 31F0C8 802BE358 0040802D */ daddu $s0, $v0, $zero
/* 31F0CC 802BE35C 06000008 */ bltz $s0, .L802BE380
/* 31F0D0 802BE360 0200102D */ daddu $v0, $s0, $zero
/* 31F0D4 802BE364 8FA60050 */ lw $a2, 0x50($sp)
/* 31F0D8 802BE368 44806000 */ mtc1 $zero, $f12
/* 31F0DC 802BE36C 8FA70058 */ lw $a3, 0x58($sp)
/* 31F0E0 802BE370 0C00A720 */ jal atan2
/* 31F0E4 802BE374 46006386 */ mov.s $f14, $f12
/* 31F0E8 802BE378 E6600000 */ swc1 $f0, ($s3)
/* 31F0EC 802BE37C 0200102D */ daddu $v0, $s0, $zero
.L802BE380:
/* 31F0F0 802BE380 8FBF0070 */ lw $ra, 0x70($sp)
/* 31F0F4 802BE384 8FB3006C */ lw $s3, 0x6c($sp)
/* 31F0F8 802BE388 8FB20068 */ lw $s2, 0x68($sp)
/* 31F0FC 802BE38C 8FB10064 */ lw $s1, 0x64($sp)
/* 31F100 802BE390 8FB00060 */ lw $s0, 0x60($sp)
/* 31F104 802BE394 D7B60080 */ ldc1 $f22, 0x80($sp)
/* 31F108 802BE398 D7B40078 */ ldc1 $f20, 0x78($sp)
/* 31F10C 802BE39C 03E00008 */ jr $ra
/* 31F110 802BE3A0 27BD0088 */ addiu $sp, $sp, 0x88

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BF520_320290
/* 320290 802BF520 24020018 */ addiu $v0, $zero, 0x18
/* 320294 802BF524 A48200A8 */ sh $v0, 0xa8($a0)
/* 320298 802BF528 24020024 */ addiu $v0, $zero, 0x24
/* 32029C 802BF52C A48200A6 */ sh $v0, 0xa6($a0)
/* 3202A0 802BF530 3C020001 */ lui $v0, 1
/* 3202A4 802BF534 AC820080 */ sw $v0, 0x80($a0)
/* 3202A8 802BF538 3C01802C */ lui $at, %hi(D_802BFEEC)
/* 3202AC 802BF53C AC20FEEC */ sw $zero, %lo(D_802BFEEC)($at)
/* 3202B0 802BF540 3C01802C */ lui $at, %hi(D_802BFEE4)
/* 3202B4 802BF544 AC20FEE4 */ sw $zero, %lo(D_802BFEE4)($at)
/* 3202B8 802BF548 3C01802C */ lui $at, %hi(D_802BFEE8)
/* 3202BC 802BF54C AC20FEE8 */ sw $zero, %lo(D_802BFEE8)($at)
/* 3202C0 802BF550 3C01802C */ lui $at, %hi(D_802BFEF0)
/* 3202C4 802BF554 AC20FEF0 */ sw $zero, %lo(D_802BFEF0)($at)
/* 3202C8 802BF558 3C01802C */ lui $at, %hi(D_802BFEF4)
/* 3202CC 802BF55C AC20FEF4 */ sw $zero, %lo(D_802BFEF4)($at)
/* 3202D0 802BF560 03E00008 */ jr $ra
/* 3202D4 802BF564 00000000 */ nop

View File

@ -1,19 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BF568_3202D8
/* 3202D8 802BF568 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3202DC 802BF56C AFBF0014 */ sw $ra, 0x14($sp)
/* 3202E0 802BF570 AFB00010 */ sw $s0, 0x10($sp)
/* 3202E4 802BF574 10A00003 */ beqz $a1, .L802BF584
/* 3202E8 802BF578 8C90014C */ lw $s0, 0x14c($a0)
/* 3202EC 802BF57C 0C03BB31 */ jal partner_init_get_out
/* 3202F0 802BF580 0200202D */ daddu $a0, $s0, $zero
.L802BF584:
/* 3202F4 802BF584 0C03BB3A */ jal partner_get_out
/* 3202F8 802BF588 0200202D */ daddu $a0, $s0, $zero
/* 3202FC 802BF58C 8FBF0014 */ lw $ra, 0x14($sp)
/* 320300 802BF590 8FB00010 */ lw $s0, 0x10($sp)
/* 320304 802BF594 0002102B */ sltu $v0, $zero, $v0
/* 320308 802BF598 03E00008 */ jr $ra
/* 32030C 802BF59C 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_802BF920_320690
/* 320690 802BF920 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 320694 802BF924 3C058011 */ lui $a1, %hi(D_8010C954)
/* 320698 802BF928 24A5C954 */ addiu $a1, $a1, %lo(D_8010C954)
/* 32069C 802BF92C AFBF0010 */ sw $ra, 0x10($sp)
/* 3206A0 802BF930 8CA20000 */ lw $v0, ($a1)
/* 3206A4 802BF934 10400008 */ beqz $v0, .L802BF958
/* 3206A8 802BF938 00000000 */ nop
/* 3206AC 802BF93C 3C03802C */ lui $v1, %hi(D_802BFDF8_320B68)
/* 3206B0 802BF940 8C63FDF8 */ lw $v1, %lo(D_802BFDF8_320B68)($v1)
/* 3206B4 802BF944 8C620008 */ lw $v0, 8($v1)
/* 3206B8 802BF948 ACA00000 */ sw $zero, ($a1)
/* 3206BC 802BF94C AC820000 */ sw $v0, ($a0)
/* 3206C0 802BF950 0C03BD17 */ jal partner_clear_player_tracking
/* 3206C4 802BF954 AC600004 */ sw $zero, 4($v1)
.L802BF958:
/* 3206C8 802BF958 8FBF0010 */ lw $ra, 0x10($sp)
/* 3206CC 802BF95C 03E00008 */ jr $ra
/* 3206D0 802BF960 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,26 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BF964_3206D4
/* 3206D4 802BF964 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3206D8 802BF968 AFBF0014 */ sw $ra, 0x14($sp)
/* 3206DC 802BF96C AFB00010 */ sw $s0, 0x10($sp)
/* 3206E0 802BF970 10A0000A */ beqz $a1, .L802BF99C
/* 3206E4 802BF974 8C90014C */ lw $s0, 0x14c($a0)
/* 3206E8 802BF978 0C03BA65 */ jal partner_init_put_away
/* 3206EC 802BF97C 0200202D */ daddu $a0, $s0, $zero
/* 3206F0 802BF980 3C04800F */ lui $a0, %hi(gPlayerStatusPtr)
/* 3206F4 802BF984 8C847B30 */ lw $a0, %lo(gPlayerStatusPtr)($a0)
/* 3206F8 802BF988 3C03FFBF */ lui $v1, 0xffbf
/* 3206FC 802BF98C 8C820004 */ lw $v0, 4($a0)
/* 320700 802BF990 3463FFFF */ ori $v1, $v1, 0xffff
/* 320704 802BF994 00431024 */ and $v0, $v0, $v1
/* 320708 802BF998 AC820004 */ sw $v0, 4($a0)
.L802BF99C:
/* 32070C 802BF99C 0C03BA6E */ jal partner_put_away
/* 320710 802BF9A0 0200202D */ daddu $a0, $s0, $zero
/* 320714 802BF9A4 8FBF0014 */ lw $ra, 0x14($sp)
/* 320718 802BF9A8 8FB00010 */ lw $s0, 0x10($sp)
/* 32071C 802BF9AC 0002102B */ sltu $v0, $zero, $v0
/* 320720 802BF9B0 03E00008 */ jr $ra
/* 320724 802BF9B4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,46 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BF9B8_320728
/* 320728 802BF9B8 3C02802C */ lui $v0, %hi(D_802BFEEC)
/* 32072C 802BF9BC 8C42FEEC */ lw $v0, %lo(D_802BFEEC)($v0)
/* 320730 802BF9C0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 320734 802BF9C4 AFB00010 */ sw $s0, 0x10($sp)
/* 320738 802BF9C8 0080802D */ daddu $s0, $a0, $zero
/* 32073C 802BF9CC AFB10014 */ sw $s1, 0x14($sp)
/* 320740 802BF9D0 3C118011 */ lui $s1, %hi(gPartnerActionStatus)
/* 320744 802BF9D4 2631EBB0 */ addiu $s1, $s1, %lo(gPartnerActionStatus)
/* 320748 802BF9D8 10400018 */ beqz $v0, .L802BFA3C
/* 32074C 802BF9DC AFBF0018 */ sw $ra, 0x18($sp)
/* 320750 802BF9E0 26230018 */ addiu $v1, $s1, 0x18
/* 320754 802BF9E4 0200102D */ daddu $v0, $s0, $zero
/* 320758 802BF9E8 26040340 */ addiu $a0, $s0, 0x340
.L802BF9EC:
/* 32075C 802BF9EC 8C450000 */ lw $a1, ($v0)
/* 320760 802BF9F0 8C460004 */ lw $a2, 4($v0)
/* 320764 802BF9F4 8C470008 */ lw $a3, 8($v0)
/* 320768 802BF9F8 8C48000C */ lw $t0, 0xc($v0)
/* 32076C 802BF9FC AC650000 */ sw $a1, ($v1)
/* 320770 802BFA00 AC660004 */ sw $a2, 4($v1)
/* 320774 802BFA04 AC670008 */ sw $a3, 8($v1)
/* 320778 802BFA08 AC68000C */ sw $t0, 0xc($v1)
/* 32077C 802BFA0C 24420010 */ addiu $v0, $v0, 0x10
/* 320780 802BFA10 1444FFF6 */ bne $v0, $a0, .L802BF9EC
/* 320784 802BFA14 24630010 */ addiu $v1, $v1, 0x10
/* 320788 802BFA18 24020001 */ addiu $v0, $zero, 1
/* 32078C 802BFA1C 0C038050 */ jal enable_player_static_collisions
/* 320790 802BFA20 A2220001 */ sb $v0, 1($s1)
/* 320794 802BFA24 0C038069 */ jal enable_player_input
/* 320798 802BFA28 00000000 */ nop
/* 32079C 802BFA2C 0C039769 */ jal set_action_state
/* 3207A0 802BFA30 0000202D */ daddu $a0, $zero, $zero
/* 3207A4 802BFA34 0C03BD17 */ jal partner_clear_player_tracking
/* 3207A8 802BFA38 0200202D */ daddu $a0, $s0, $zero
.L802BFA3C:
/* 3207AC 802BFA3C 24020007 */ addiu $v0, $zero, 7
/* 3207B0 802BFA40 A2220003 */ sb $v0, 3($s1)
/* 3207B4 802BFA44 8FBF0018 */ lw $ra, 0x18($sp)
/* 3207B8 802BFA48 8FB10014 */ lw $s1, 0x14($sp)
/* 3207BC 802BFA4C 8FB00010 */ lw $s0, 0x10($sp)
/* 3207C0 802BFA50 03E00008 */ jr $ra
/* 3207C4 802BFA54 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,30 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BFA58_3207C8
/* 3207C8 802BFA58 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3207CC 802BFA5C 3C038011 */ lui $v1, %hi(gPartnerActionStatus)
/* 3207D0 802BFA60 2463EBB0 */ addiu $v1, $v1, %lo(gPartnerActionStatus)
/* 3207D4 802BFA64 AFBF0010 */ sw $ra, 0x10($sp)
/* 3207D8 802BFA68 80620001 */ lb $v0, 1($v1)
/* 3207DC 802BFA6C 1040000F */ beqz $v0, .L802BFAAC
/* 3207E0 802BFA70 24620018 */ addiu $v0, $v1, 0x18
/* 3207E4 802BFA74 24630358 */ addiu $v1, $v1, 0x358
.L802BFA78:
/* 3207E8 802BFA78 8C450000 */ lw $a1, ($v0)
/* 3207EC 802BFA7C 8C460004 */ lw $a2, 4($v0)
/* 3207F0 802BFA80 8C470008 */ lw $a3, 8($v0)
/* 3207F4 802BFA84 8C48000C */ lw $t0, 0xc($v0)
/* 3207F8 802BFA88 AC850000 */ sw $a1, ($a0)
/* 3207FC 802BFA8C AC860004 */ sw $a2, 4($a0)
/* 320800 802BFA90 AC870008 */ sw $a3, 8($a0)
/* 320804 802BFA94 AC88000C */ sw $t0, 0xc($a0)
/* 320808 802BFA98 24420010 */ addiu $v0, $v0, 0x10
/* 32080C 802BFA9C 1443FFF6 */ bne $v0, $v1, .L802BFA78
/* 320810 802BFAA0 24840010 */ addiu $a0, $a0, 0x10
/* 320814 802BFAA4 0C03ACC5 */ jal partner_use_ability
/* 320818 802BFAA8 00000000 */ nop
.L802BFAAC:
/* 32081C 802BFAAC 8FBF0010 */ lw $ra, 0x10($sp)
/* 320820 802BFAB0 03E00008 */ jr $ra
/* 320824 802BFAB4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,204 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BFAB8_320828
/* 320828 802BFAB8 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 32082C 802BFABC AFB30024 */ sw $s3, 0x24($sp)
/* 320830 802BFAC0 0080982D */ daddu $s3, $a0, $zero
/* 320834 802BFAC4 AFB00018 */ sw $s0, 0x18($sp)
/* 320838 802BFAC8 00A0802D */ daddu $s0, $a1, $zero
/* 32083C 802BFACC AFBF0028 */ sw $ra, 0x28($sp)
/* 320840 802BFAD0 AFB20020 */ sw $s2, 0x20($sp)
/* 320844 802BFAD4 AFB1001C */ sw $s1, 0x1c($sp)
/* 320848 802BFAD8 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 32084C 802BFADC 0C00EABB */ jal get_npc_unsafe
/* 320850 802BFAE0 2404FFFC */ addiu $a0, $zero, -4
/* 320854 802BFAE4 0040882D */ daddu $s1, $v0, $zero
/* 320858 802BFAE8 3C028011 */ lui $v0, %hi(gPlayerStatus)
/* 32085C 802BFAEC 2442EFC8 */ addiu $v0, $v0, %lo(gPlayerStatus)
/* 320860 802BFAF0 12000005 */ beqz $s0, .L802BFB08
/* 320864 802BFAF4 0040902D */ daddu $s2, $v0, $zero
/* 320868 802BFAF8 AE600070 */ sw $zero, 0x70($s3)
/* 32086C 802BFAFC C440002C */ lwc1 $f0, 0x2c($v0)
/* 320870 802BFB00 3C01802C */ lui $at, %hi(D_802BFEE0)
/* 320874 802BFB04 E420FEE0 */ swc1 $f0, %lo(D_802BFEE0)($at)
.L802BFB08:
/* 320878 802BFB08 8E700070 */ lw $s0, 0x70($s3)
/* 32087C 802BFB0C 12000005 */ beqz $s0, .L802BFB24
/* 320880 802BFB10 24020001 */ addiu $v0, $zero, 1
/* 320884 802BFB14 1202006D */ beq $s0, $v0, .L802BFCCC
/* 320888 802BFB18 0000102D */ daddu $v0, $zero, $zero
/* 32088C 802BFB1C 080AFF61 */ j .L802BFD84
/* 320890 802BFB20 00000000 */ nop
.L802BFB24:
/* 320894 802BFB24 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 320898 802BFB28 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 32089C 802BFB2C 24020001 */ addiu $v0, $zero, 1
/* 3208A0 802BFB30 0C038045 */ jal disable_player_static_collisions
/* 3208A4 802BFB34 A062007D */ sb $v0, 0x7d($v1)
/* 3208A8 802BFB38 0C03805E */ jal disable_player_input
/* 3208AC 802BFB3C 00000000 */ nop
/* 3208B0 802BFB40 C6400028 */ lwc1 $f0, 0x28($s2)
/* 3208B4 802BFB44 C622000C */ lwc1 $f2, 0xc($s1)
/* 3208B8 802BFB48 E6200038 */ swc1 $f0, 0x38($s1)
/* 3208BC 802BFB4C C6400030 */ lwc1 $f0, 0x30($s2)
/* 3208C0 802BFB50 E6200040 */ swc1 $f0, 0x40($s1)
/* 3208C4 802BFB54 C640002C */ lwc1 $f0, 0x2c($s2)
/* 3208C8 802BFB58 E620003C */ swc1 $f0, 0x3c($s1)
/* 3208CC 802BFB5C E7A20010 */ swc1 $f2, 0x10($sp)
/* 3208D0 802BFB60 862200A6 */ lh $v0, 0xa6($s1)
/* 3208D4 802BFB64 3C013F00 */ lui $at, 0x3f00
/* 3208D8 802BFB68 4481A000 */ mtc1 $at, $f20
/* 3208DC 802BFB6C 44820000 */ mtc1 $v0, $f0
/* 3208E0 802BFB70 00000000 */ nop
/* 3208E4 802BFB74 46800020 */ cvt.s.w $f0, $f0
/* 3208E8 802BFB78 46140002 */ mul.s $f0, $f0, $f20
/* 3208EC 802BFB7C 00000000 */ nop
/* 3208F0 802BFB80 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3208F4 802BFB84 8E240080 */ lw $a0, 0x80($s1)
/* 3208F8 802BFB88 8E250038 */ lw $a1, 0x38($s1)
/* 3208FC 802BFB8C 8E26003C */ lw $a2, 0x3c($s1)
/* 320900 802BFB90 0C0AF4DA */ jal func_802BD368_31E0D8
/* 320904 802BFB94 8E270040 */ lw $a3, 0x40($s1)
/* 320908 802BFB98 862200A8 */ lh $v0, 0xa8($s1)
/* 32090C 802BFB9C 44821000 */ mtc1 $v0, $f2
/* 320910 802BFBA0 00000000 */ nop
/* 320914 802BFBA4 468010A0 */ cvt.s.w $f2, $f2
/* 320918 802BFBA8 46141082 */ mul.s $f2, $f2, $f20
/* 32091C 802BFBAC 00000000 */ nop
/* 320920 802BFBB0 3C01802C */ lui $at, %hi(D_802BFEE0)
/* 320924 802BFBB4 C420FEE0 */ lwc1 $f0, %lo(D_802BFEE0)($at)
/* 320928 802BFBB8 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 32092C 802BFBBC 46020001 */ sub.s $f0, $f0, $f2
/* 320930 802BFBC0 C62E0040 */ lwc1 $f14, 0x40($s1)
/* 320934 802BFBC4 E620003C */ swc1 $f0, 0x3c($s1)
/* 320938 802BFBC8 C66A0088 */ lwc1 $f10, 0x88($s3)
/* 32093C 802BFBCC 468052A0 */ cvt.s.w $f10, $f10
/* 320940 802BFBD0 44065000 */ mfc1 $a2, $f10
/* 320944 802BFBD4 C66A0090 */ lwc1 $f10, 0x90($s3)
/* 320948 802BFBD8 468052A0 */ cvt.s.w $f10, $f10
/* 32094C 802BFBDC 44075000 */ mfc1 $a3, $f10
/* 320950 802BFBE0 0C00A720 */ jal atan2
/* 320954 802BFBE4 00000000 */ nop
/* 320958 802BFBE8 3C020007 */ lui $v0, 7
/* 32095C 802BFBEC 3442000A */ ori $v0, $v0, 0xa
/* 320960 802BFBF0 3C014040 */ lui $at, 0x4040
/* 320964 802BFBF4 44811000 */ mtc1 $at, $f2
/* 320968 802BFBF8 C6240038 */ lwc1 $f4, 0x38($s1)
/* 32096C 802BFBFC C626003C */ lwc1 $f6, 0x3c($s1)
/* 320970 802BFC00 C6280040 */ lwc1 $f8, 0x40($s1)
/* 320974 802BFC04 8E230000 */ lw $v1, ($s1)
/* 320978 802BFC08 0220202D */ daddu $a0, $s1, $zero
/* 32097C 802BFC0C AE220028 */ sw $v0, 0x28($s1)
/* 320980 802BFC10 2402FDFF */ addiu $v0, $zero, -0x201
/* 320984 802BFC14 E620000C */ swc1 $f0, 0xc($s1)
/* 320988 802BFC18 AE200014 */ sw $zero, 0x14($s1)
/* 32098C 802BFC1C 34630108 */ ori $v1, $v1, 0x108
/* 320990 802BFC20 00621824 */ and $v1, $v1, $v0
/* 320994 802BFC24 E6220018 */ swc1 $f2, 0x18($s1)
/* 320998 802BFC28 E6240060 */ swc1 $f4, 0x60($s1)
/* 32099C 802BFC2C E6260064 */ swc1 $f6, 0x64($s1)
/* 3209A0 802BFC30 E6280068 */ swc1 $f8, 0x68($s1)
/* 3209A4 802BFC34 0C00EAFF */ jal disable_npc_shadow
/* 3209A8 802BFC38 AE230000 */ sw $v1, ($s1)
/* 3209AC 802BFC3C 0C038039 */ jal disable_player_shadow
/* 3209B0 802BFC40 00000000 */ nop
/* 3209B4 802BFC44 8E6200B4 */ lw $v0, 0xb4($s3)
/* 3209B8 802BFC48 14400005 */ bnez $v0, .L802BFC60
/* 3209BC 802BFC4C 3C040008 */ lui $a0, 8
/* 3209C0 802BFC50 0C03ADF3 */ jal partner_kill_ability_script
/* 3209C4 802BFC54 00000000 */ nop
/* 3209C8 802BFC58 080AFF2F */ j .L802BFCBC
/* 3209CC 802BFC5C 24020019 */ addiu $v0, $zero, 0x19
.L802BFC60:
/* 3209D0 802BFC60 0C037FDE */ jal suggest_player_anim_setUnkFlag
/* 3209D4 802BFC64 3484000F */ ori $a0, $a0, 0xf
/* 3209D8 802BFC68 C622000C */ lwc1 $f2, 0xc($s1)
/* 3209DC 802BFC6C 44800000 */ mtc1 $zero, $f0
/* 3209E0 802BFC70 00000000 */ nop
/* 3209E4 802BFC74 4602003E */ c.le.s $f0, $f2
/* 3209E8 802BFC78 00000000 */ nop
/* 3209EC 802BFC7C 4500000F */ bc1f .L802BFCBC
/* 3209F0 802BFC80 24020019 */ addiu $v0, $zero, 0x19
/* 3209F4 802BFC84 3C014334 */ lui $at, 0x4334
/* 3209F8 802BFC88 44810000 */ mtc1 $at, $f0
/* 3209FC 802BFC8C 00000000 */ nop
/* 320A00 802BFC90 4600103E */ c.le.s $f2, $f0
/* 320A04 802BFC94 00000000 */ nop
/* 320A08 802BFC98 45020009 */ bc1fl .L802BFCC0
/* 320A0C 802BFC9C AE620074 */ sw $v0, 0x74($s3)
/* 320A10 802BFCA0 4600128D */ trunc.w.s $f10, $f2
/* 320A14 802BFCA4 44025000 */ mfc1 $v0, $f10
/* 320A18 802BFCA8 00000000 */ nop
/* 320A1C 802BFCAC A622008A */ sh $v0, 0x8a($s1)
/* 320A20 802BFCB0 24020001 */ addiu $v0, $zero, 1
/* 320A24 802BFCB4 A6220088 */ sh $v0, 0x88($s1)
/* 320A28 802BFCB8 24020019 */ addiu $v0, $zero, 0x19
.L802BFCBC:
/* 320A2C 802BFCBC AE620074 */ sw $v0, 0x74($s3)
.L802BFCC0:
/* 320A30 802BFCC0 24020001 */ addiu $v0, $zero, 1
/* 320A34 802BFCC4 080AFF60 */ j .L802BFD80
/* 320A38 802BFCC8 AE620070 */ sw $v0, 0x70($s3)
.L802BFCCC:
/* 320A3C 802BFCCC 8E250018 */ lw $a1, 0x18($s1)
/* 320A40 802BFCD0 8E26000C */ lw $a2, 0xc($s1)
/* 320A44 802BFCD4 0C00EA95 */ jal npc_move_heading
/* 320A48 802BFCD8 0220202D */ daddu $a0, $s1, $zero
/* 320A4C 802BFCDC 0C0AF440 */ jal func_802BD100_31DE70
/* 320A50 802BFCE0 00000000 */ nop
/* 320A54 802BFCE4 8E620074 */ lw $v0, 0x74($s3)
/* 320A58 802BFCE8 30420003 */ andi $v0, $v0, 3
/* 320A5C 802BFCEC 14400011 */ bnez $v0, .L802BFD34
/* 320A60 802BFCF0 00000000 */ nop
/* 320A64 802BFCF4 862200A8 */ lh $v0, 0xa8($s1)
/* 320A68 802BFCF8 3C013F00 */ lui $at, 0x3f00
/* 320A6C 802BFCFC 44811000 */ mtc1 $at, $f2
/* 320A70 802BFD00 44820000 */ mtc1 $v0, $f0
/* 320A74 802BFD04 00000000 */ nop
/* 320A78 802BFD08 46800020 */ cvt.s.w $f0, $f0
/* 320A7C 802BFD0C 46020002 */ mul.s $f0, $f0, $f2
/* 320A80 802BFD10 00000000 */ nop
/* 320A84 802BFD14 C6220064 */ lwc1 $f2, 0x64($s1)
/* 320A88 802BFD18 AFA00010 */ sw $zero, 0x10($sp)
/* 320A8C 802BFD1C 46001080 */ add.s $f2, $f2, $f0
/* 320A90 802BFD20 8E250038 */ lw $a1, 0x38($s1)
/* 320A94 802BFD24 8E270040 */ lw $a3, 0x40($s1)
/* 320A98 802BFD28 44061000 */ mfc1 $a2, $f2
/* 320A9C 802BFD2C 0C01C16C */ jal playFX_23
/* 320AA0 802BFD30 0000202D */ daddu $a0, $zero, $zero
.L802BFD34:
/* 320AA4 802BFD34 8E620074 */ lw $v0, 0x74($s3)
/* 320AA8 802BFD38 2442FFFF */ addiu $v0, $v0, -1
/* 320AAC 802BFD3C 14400010 */ bnez $v0, .L802BFD80
/* 320AB0 802BFD40 AE620074 */ sw $v0, 0x74($s3)
/* 320AB4 802BFD44 8E6200B4 */ lw $v0, 0xb4($s3)
/* 320AB8 802BFD48 14500007 */ bne $v0, $s0, .L802BFD68
/* 320ABC 802BFD4C 00000000 */ nop
/* 320AC0 802BFD50 0C039769 */ jal set_action_state
/* 320AC4 802BFD54 24040021 */ addiu $a0, $zero, 0x21
/* 320AC8 802BFD58 0C03ACC5 */ jal partner_use_ability
/* 320ACC 802BFD5C 00000000 */ nop
/* 320AD0 802BFD60 080AFF61 */ j .L802BFD84
/* 320AD4 802BFD64 24020002 */ addiu $v0, $zero, 2
.L802BFD68:
/* 320AD8 802BFD68 0C038050 */ jal enable_player_static_collisions
/* 320ADC 802BFD6C 00000000 */ nop
/* 320AE0 802BFD70 0C038069 */ jal enable_player_input
/* 320AE4 802BFD74 00000000 */ nop
/* 320AE8 802BFD78 080AFF61 */ j .L802BFD84
/* 320AEC 802BFD7C 24020002 */ addiu $v0, $zero, 2
.L802BFD80:
/* 320AF0 802BFD80 0000102D */ daddu $v0, $zero, $zero
.L802BFD84:
/* 320AF4 802BFD84 8FBF0028 */ lw $ra, 0x28($sp)
/* 320AF8 802BFD88 8FB30024 */ lw $s3, 0x24($sp)
/* 320AFC 802BFD8C 8FB20020 */ lw $s2, 0x20($sp)
/* 320B00 802BFD90 8FB1001C */ lw $s1, 0x1c($sp)
/* 320B04 802BFD94 8FB00018 */ lw $s0, 0x18($sp)
/* 320B08 802BFD98 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 320B0C 802BFD9C 03E00008 */ jr $ra
/* 320B10 802BFDA0 27BD0038 */ addiu $sp, $sp, 0x38
/* 320B14 802BFDA4 00000000 */ nop
/* 320B18 802BFDA8 00000000 */ nop
/* 320B1C 802BFDAC 00000000 */ nop

View File

@ -1,299 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD2B4_31CE24
/* 31CE24 802BD2B4 3C028011 */ lui $v0, %hi(gPartnerActionStatus+0x1)
/* 31CE28 802BD2B8 8042EBB1 */ lb $v0, %lo(gPartnerActionStatus+0x1)($v0)
/* 31CE2C 802BD2BC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 31CE30 802BD2C0 AFB00018 */ sw $s0, 0x18($sp)
/* 31CE34 802BD2C4 3C108011 */ lui $s0, %hi(gPlayerData)
/* 31CE38 802BD2C8 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* 31CE3C 802BD2CC AFBF0028 */ sw $ra, 0x28($sp)
/* 31CE40 802BD2D0 AFB30024 */ sw $s3, 0x24($sp)
/* 31CE44 802BD2D4 AFB20020 */ sw $s2, 0x20($sp)
/* 31CE48 802BD2D8 AFB1001C */ sw $s1, 0x1c($sp)
/* 31CE4C 802BD2DC F7B40030 */ sdc1 $f20, 0x30($sp)
/* 31CE50 802BD2E0 8C91014C */ lw $s1, 0x14c($a0)
/* 31CE54 802BD2E4 14400102 */ bnez $v0, .L802BD6F0
/* 31CE58 802BD2E8 0000102D */ daddu $v0, $zero, $zero
/* 31CE5C 802BD2EC 10A00009 */ beqz $a1, .L802BD314
/* 31CE60 802BD2F0 0220202D */ daddu $a0, $s1, $zero
/* 31CE64 802BD2F4 0C03B4C4 */ jal partner_flying_enable
/* 31CE68 802BD2F8 24050001 */ addiu $a1, $zero, 1
/* 31CE6C 802BD2FC 3C04802C */ lui $a0, %hi(D_802BE274_31DDE4)
/* 31CE70 802BD300 8C84E274 */ lw $a0, %lo(D_802BE274_31DDE4)($a0)
/* 31CE74 802BD304 0C00A580 */ jal mem_clear
/* 31CE78 802BD308 2405001C */ addiu $a1, $zero, 0x1c
/* 31CE7C 802BD30C 3C018011 */ lui $at, %hi(D_8010C954)
/* 31CE80 802BD310 AC20C954 */ sw $zero, %lo(D_8010C954)($at)
.L802BD314:
/* 31CE84 802BD314 3C138011 */ lui $s3, %hi(D_8010C954)
/* 31CE88 802BD318 2673C954 */ addiu $s3, $s3, %lo(D_8010C954)
/* 31CE8C 802BD31C 8E02030C */ lw $v0, 0x30c($s0)
/* 31CE90 802BD320 8E720000 */ lw $s2, ($s3)
/* 31CE94 802BD324 24420001 */ addiu $v0, $v0, 1
/* 31CE98 802BD328 16400026 */ bnez $s2, .L802BD3C4
/* 31CE9C 802BD32C AE02030C */ sw $v0, 0x30c($s0)
/* 31CEA0 802BD330 0C0AF440 */ jal func_802BD100_31CC70
/* 31CEA4 802BD334 0220202D */ daddu $a0, $s1, $zero
/* 31CEA8 802BD338 0C03B52E */ jal partner_flying_update_player_tracking
/* 31CEAC 802BD33C 0220202D */ daddu $a0, $s1, $zero
/* 31CEB0 802BD340 0C03B574 */ jal partner_flying_update_motion
/* 31CEB4 802BD344 0220202D */ daddu $a0, $s1, $zero
/* 31CEB8 802BD348 C6220018 */ lwc1 $f2, 0x18($s1)
/* 31CEBC 802BD34C 44800000 */ mtc1 $zero, $f0
/* 31CEC0 802BD350 00000000 */ nop
/* 31CEC4 802BD354 46001032 */ c.eq.s $f2, $f0
/* 31CEC8 802BD358 00000000 */ nop
/* 31CECC 802BD35C 4501000D */ bc1t .L802BD394
/* 31CED0 802BD360 00000000 */ nop
/* 31CED4 802BD364 3C03802C */ lui $v1, %hi(D_802BE278_31DDE8)
/* 31CED8 802BD368 2463E278 */ addiu $v1, $v1, %lo(D_802BE278_31DDE8)
/* 31CEDC 802BD36C 8C620000 */ lw $v0, ($v1)
/* 31CEE0 802BD370 144000CE */ bnez $v0, .L802BD6AC
/* 31CEE4 802BD374 00000000 */ nop
/* 31CEE8 802BD378 24040001 */ addiu $a0, $zero, 1
/* 31CEEC 802BD37C 0080102D */ daddu $v0, $a0, $zero
/* 31CEF0 802BD380 0C0AF46B */ jal func_802BD1AC_31CD1C
/* 31CEF4 802BD384 AC620000 */ sw $v0, ($v1)
/* 31CEF8 802BD388 3C020006 */ lui $v0, 6
/* 31CEFC 802BD38C 080AF4EF */ j .L802BD3BC
/* 31CF00 802BD390 34420003 */ ori $v0, $v0, 3
.L802BD394:
/* 31CF04 802BD394 3C03802C */ lui $v1, %hi(D_802BE278_31DDE8)
/* 31CF08 802BD398 2463E278 */ addiu $v1, $v1, %lo(D_802BE278_31DDE8)
/* 31CF0C 802BD39C 8C620000 */ lw $v0, ($v1)
/* 31CF10 802BD3A0 104000C2 */ beqz $v0, .L802BD6AC
/* 31CF14 802BD3A4 00000000 */ nop
/* 31CF18 802BD3A8 0000202D */ daddu $a0, $zero, $zero
/* 31CF1C 802BD3AC 0C0AF46B */ jal func_802BD1AC_31CD1C
/* 31CF20 802BD3B0 AC600000 */ sw $zero, ($v1)
/* 31CF24 802BD3B4 3C020006 */ lui $v0, 6
/* 31CF28 802BD3B8 34420001 */ ori $v0, $v0, 1
.L802BD3BC:
/* 31CF2C 802BD3BC 080AF5AB */ j .L802BD6AC
/* 31CF30 802BD3C0 AE220028 */ sw $v0, 0x28($s1)
.L802BD3C4:
/* 31CF34 802BD3C4 3C10802C */ lui $s0, %hi(D_802BE274_31DDE4)
/* 31CF38 802BD3C8 2610E274 */ addiu $s0, $s0, %lo(D_802BE274_31DDE4)
/* 31CF3C 802BD3CC 8E040000 */ lw $a0, ($s0)
/* 31CF40 802BD3D0 8C830004 */ lw $v1, 4($a0)
/* 31CF44 802BD3D4 24050001 */ addiu $a1, $zero, 1
/* 31CF48 802BD3D8 1065002F */ beq $v1, $a1, .L802BD498
/* 31CF4C 802BD3DC 28620002 */ slti $v0, $v1, 2
/* 31CF50 802BD3E0 50400005 */ beql $v0, $zero, .L802BD3F8
/* 31CF54 802BD3E4 24020002 */ addiu $v0, $zero, 2
/* 31CF58 802BD3E8 50600009 */ beql $v1, $zero, .L802BD410
/* 31CF5C 802BD3EC AC850004 */ sw $a1, 4($a0)
/* 31CF60 802BD3F0 080AF5AB */ j .L802BD6AC
/* 31CF64 802BD3F4 00000000 */ nop
.L802BD3F8:
/* 31CF68 802BD3F8 10620099 */ beq $v1, $v0, .L802BD660
/* 31CF6C 802BD3FC 24020003 */ addiu $v0, $zero, 3
/* 31CF70 802BD400 1062009F */ beq $v1, $v0, .L802BD680
/* 31CF74 802BD404 00000000 */ nop
/* 31CF78 802BD408 080AF5AB */ j .L802BD6AC
/* 31CF7C 802BD40C 00000000 */ nop
.L802BD410:
/* 31CF80 802BD410 8E220000 */ lw $v0, ($s1)
/* 31CF84 802BD414 AC820008 */ sw $v0, 8($a0)
/* 31CF88 802BD418 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 31CF8C 802BD41C C62E0040 */ lwc1 $f14, 0x40($s1)
/* 31CF90 802BD420 8E460048 */ lw $a2, 0x48($s2)
/* 31CF94 802BD424 0C00A7B5 */ jal dist2D
/* 31CF98 802BD428 8E470050 */ lw $a3, 0x50($s2)
/* 31CF9C 802BD42C 8E020000 */ lw $v0, ($s0)
/* 31CFA0 802BD430 46000005 */ abs.s $f0, $f0
/* 31CFA4 802BD434 E440000C */ swc1 $f0, 0xc($v0)
/* 31CFA8 802BD438 C64C0048 */ lwc1 $f12, 0x48($s2)
/* 31CFAC 802BD43C C64E0050 */ lwc1 $f14, 0x50($s2)
/* 31CFB0 802BD440 8E260038 */ lw $a2, 0x38($s1)
/* 31CFB4 802BD444 0C00A720 */ jal atan2
/* 31CFB8 802BD448 8E270040 */ lw $a3, 0x40($s1)
/* 31CFBC 802BD44C 3C040004 */ lui $a0, 4
/* 31CFC0 802BD450 24020078 */ addiu $v0, $zero, 0x78
/* 31CFC4 802BD454 8E030000 */ lw $v1, ($s0)
/* 31CFC8 802BD458 3C0140C0 */ lui $at, 0x40c0
/* 31CFCC 802BD45C 44811000 */ mtc1 $at, $f2
/* 31CFD0 802BD460 3C014248 */ lui $at, 0x4248
/* 31CFD4 802BD464 44812000 */ mtc1 $at, $f4
/* 31CFD8 802BD468 34840148 */ ori $a0, $a0, 0x148
/* 31CFDC 802BD46C E4600010 */ swc1 $f0, 0x10($v1)
/* 31CFE0 802BD470 E4620014 */ swc1 $f2, 0x14($v1)
/* 31CFE4 802BD474 E4640018 */ swc1 $f4, 0x18($v1)
/* 31CFE8 802BD478 AC620000 */ sw $v0, ($v1)
/* 31CFEC 802BD47C 8E220000 */ lw $v0, ($s1)
/* 31CFF0 802BD480 2403FDFF */ addiu $v1, $zero, -0x201
/* 31CFF4 802BD484 00441025 */ or $v0, $v0, $a0
/* 31CFF8 802BD488 00431024 */ and $v0, $v0, $v1
/* 31CFFC 802BD48C AE220000 */ sw $v0, ($s1)
/* 31D000 802BD490 3C10802C */ lui $s0, %hi(D_802BE274_31DDE4)
/* 31D004 802BD494 2610E274 */ addiu $s0, $s0, %lo(D_802BE274_31DDE4)
.L802BD498:
/* 31D008 802BD498 8E020000 */ lw $v0, ($s0)
/* 31D00C 802BD49C 3C0140C9 */ lui $at, 0x40c9
/* 31D010 802BD4A0 34210FD0 */ ori $at, $at, 0xfd0
/* 31D014 802BD4A4 44810000 */ mtc1 $at, $f0
/* 31D018 802BD4A8 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 31D01C 802BD4AC 46006302 */ mul.s $f12, $f12, $f0
/* 31D020 802BD4B0 00000000 */ nop
/* 31D024 802BD4B4 27A50010 */ addiu $a1, $sp, 0x10
/* 31D028 802BD4B8 3C0143B4 */ lui $at, 0x43b4
/* 31D02C 802BD4BC 44810000 */ mtc1 $at, $f0
/* 31D030 802BD4C0 27A60014 */ addiu $a2, $sp, 0x14
/* 31D034 802BD4C4 0C00A82D */ jal sin_cos_rad
/* 31D038 802BD4C8 46006303 */ div.s $f12, $f12, $f0
/* 31D03C 802BD4CC 8E020000 */ lw $v0, ($s0)
/* 31D040 802BD4D0 C7A20010 */ lwc1 $f2, 0x10($sp)
/* 31D044 802BD4D4 C440000C */ lwc1 $f0, 0xc($v0)
/* 31D048 802BD4D8 46001082 */ mul.s $f2, $f2, $f0
/* 31D04C 802BD4DC 00000000 */ nop
/* 31D050 802BD4E0 C6400048 */ lwc1 $f0, 0x48($s2)
/* 31D054 802BD4E4 46020000 */ add.s $f0, $f0, $f2
/* 31D058 802BD4E8 E6200038 */ swc1 $f0, 0x38($s1)
/* 31D05C 802BD4EC C7A20014 */ lwc1 $f2, 0x14($sp)
/* 31D060 802BD4F0 C440000C */ lwc1 $f0, 0xc($v0)
/* 31D064 802BD4F4 46001082 */ mul.s $f2, $f2, $f0
/* 31D068 802BD4F8 00000000 */ nop
/* 31D06C 802BD4FC C6400050 */ lwc1 $f0, 0x50($s2)
/* 31D070 802BD500 46020001 */ sub.s $f0, $f0, $f2
/* 31D074 802BD504 E6200040 */ swc1 $f0, 0x40($s1)
/* 31D078 802BD508 C4400010 */ lwc1 $f0, 0x10($v0)
/* 31D07C 802BD50C C44C0014 */ lwc1 $f12, 0x14($v0)
/* 31D080 802BD510 0C00A6C9 */ jal clamp_angle
/* 31D084 802BD514 460C0301 */ sub.s $f12, $f0, $f12
/* 31D088 802BD518 8E100000 */ lw $s0, ($s0)
/* 31D08C 802BD51C 3C0141A0 */ lui $at, 0x41a0
/* 31D090 802BD520 44811000 */ mtc1 $at, $f2
/* 31D094 802BD524 C604000C */ lwc1 $f4, 0xc($s0)
/* 31D098 802BD528 4604103C */ c.lt.s $f2, $f4
/* 31D09C 802BD52C 00000000 */ nop
/* 31D0A0 802BD530 45000005 */ bc1f .L802BD548
/* 31D0A4 802BD534 E6000010 */ swc1 $f0, 0x10($s0)
/* 31D0A8 802BD538 3C013F80 */ lui $at, 0x3f80
/* 31D0AC 802BD53C 44810000 */ mtc1 $at, $f0
/* 31D0B0 802BD540 080AF55D */ j .L802BD574
/* 31D0B4 802BD544 46002001 */ sub.s $f0, $f4, $f0
.L802BD548:
/* 31D0B8 802BD548 3C014198 */ lui $at, 0x4198
/* 31D0BC 802BD54C 44810000 */ mtc1 $at, $f0
/* 31D0C0 802BD550 00000000 */ nop
/* 31D0C4 802BD554 4600203C */ c.lt.s $f4, $f0
/* 31D0C8 802BD558 00000000 */ nop
/* 31D0CC 802BD55C 45000006 */ bc1f .L802BD578
/* 31D0D0 802BD560 00000000 */ nop
/* 31D0D4 802BD564 3C013F80 */ lui $at, 0x3f80
/* 31D0D8 802BD568 44810000 */ mtc1 $at, $f0
/* 31D0DC 802BD56C 00000000 */ nop
/* 31D0E0 802BD570 46002000 */ add.s $f0, $f4, $f0
.L802BD574:
/* 31D0E4 802BD574 E600000C */ swc1 $f0, 0xc($s0)
.L802BD578:
/* 31D0E8 802BD578 3C10802C */ lui $s0, %hi(D_802BE274_31DDE4)
/* 31D0EC 802BD57C 2610E274 */ addiu $s0, $s0, %lo(D_802BE274_31DDE4)
/* 31D0F0 802BD580 8E020000 */ lw $v0, ($s0)
/* 31D0F4 802BD584 3C0140C9 */ lui $at, 0x40c9
/* 31D0F8 802BD588 34210FD0 */ ori $at, $at, 0xfd0
/* 31D0FC 802BD58C 44810000 */ mtc1 $at, $f0
/* 31D100 802BD590 C44C0018 */ lwc1 $f12, 0x18($v0)
/* 31D104 802BD594 46006302 */ mul.s $f12, $f12, $f0
/* 31D108 802BD598 00000000 */ nop
/* 31D10C 802BD59C 3C0143B4 */ lui $at, 0x43b4
/* 31D110 802BD5A0 4481A000 */ mtc1 $at, $f20
/* 31D114 802BD5A4 0C00A85B */ jal sin_rad
/* 31D118 802BD5A8 46146303 */ div.s $f12, $f12, $f20
/* 31D11C 802BD5AC 8E020000 */ lw $v0, ($s0)
/* 31D120 802BD5B0 3C014040 */ lui $at, 0x4040
/* 31D124 802BD5B4 44812000 */ mtc1 $at, $f4
/* 31D128 802BD5B8 C4420018 */ lwc1 $f2, 0x18($v0)
/* 31D12C 802BD5BC 46041080 */ add.s $f2, $f2, $f4
/* 31D130 802BD5C0 3C014316 */ lui $at, 0x4316
/* 31D134 802BD5C4 44813000 */ mtc1 $at, $f6
/* 31D138 802BD5C8 00000000 */ nop
/* 31D13C 802BD5CC 4602303C */ c.lt.s $f6, $f2
/* 31D140 802BD5D0 E4420018 */ swc1 $f2, 0x18($v0)
/* 31D144 802BD5D4 46040082 */ mul.s $f2, $f0, $f4
/* 31D148 802BD5D8 00000000 */ nop
/* 31D14C 802BD5DC 45030001 */ bc1tl .L802BD5E4
/* 31D150 802BD5E0 E4460018 */ swc1 $f6, 0x18($v0)
.L802BD5E4:
/* 31D154 802BD5E4 C620003C */ lwc1 $f0, 0x3c($s1)
/* 31D158 802BD5E8 46020000 */ add.s $f0, $f0, $f2
/* 31D15C 802BD5EC 8E020000 */ lw $v0, ($s0)
/* 31D160 802BD5F0 E620003C */ swc1 $f0, 0x3c($s1)
/* 31D164 802BD5F4 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 31D168 802BD5F8 0C00A6C9 */ jal clamp_angle
/* 31D16C 802BD5FC 460CA301 */ sub.s $f12, $f20, $f12
/* 31D170 802BD600 8E020000 */ lw $v0, ($s0)
/* 31D174 802BD604 E6200034 */ swc1 $f0, 0x34($s1)
/* 31D178 802BD608 C4400014 */ lwc1 $f0, 0x14($v0)
/* 31D17C 802BD60C 3C01802C */ lui $at, %hi(D_802BE2F0_31DE60)
/* 31D180 802BD610 D422E2F0 */ ldc1 $f2, %lo(D_802BE2F0_31DE60)($at)
/* 31D184 802BD614 46000021 */ cvt.d.s $f0, $f0
/* 31D188 802BD618 46220000 */ add.d $f0, $f0, $f2
/* 31D18C 802BD61C 3C014220 */ lui $at, 0x4220
/* 31D190 802BD620 44811000 */ mtc1 $at, $f2
/* 31D194 802BD624 46200020 */ cvt.s.d $f0, $f0
/* 31D198 802BD628 4600103C */ c.lt.s $f2, $f0
/* 31D19C 802BD62C 00000000 */ nop
/* 31D1A0 802BD630 45000002 */ bc1f .L802BD63C
/* 31D1A4 802BD634 E4400014 */ swc1 $f0, 0x14($v0)
/* 31D1A8 802BD638 E4420014 */ swc1 $f2, 0x14($v0)
.L802BD63C:
/* 31D1AC 802BD63C 8E030000 */ lw $v1, ($s0)
/* 31D1B0 802BD640 8C620000 */ lw $v0, ($v1)
/* 31D1B4 802BD644 2442FFFF */ addiu $v0, $v0, -1
/* 31D1B8 802BD648 14400018 */ bnez $v0, .L802BD6AC
/* 31D1BC 802BD64C AC620000 */ sw $v0, ($v1)
/* 31D1C0 802BD650 8C620004 */ lw $v0, 4($v1)
/* 31D1C4 802BD654 24420001 */ addiu $v0, $v0, 1
/* 31D1C8 802BD658 080AF5AB */ j .L802BD6AC
/* 31D1CC 802BD65C AC620004 */ sw $v0, 4($v1)
.L802BD660:
/* 31D1D0 802BD660 8C820008 */ lw $v0, 8($a0)
/* 31D1D4 802BD664 AE220000 */ sw $v0, ($s1)
/* 31D1D8 802BD668 8C820004 */ lw $v0, 4($a0)
/* 31D1DC 802BD66C 2403001E */ addiu $v1, $zero, 0x1e
/* 31D1E0 802BD670 AC830000 */ sw $v1, ($a0)
/* 31D1E4 802BD674 24420001 */ addiu $v0, $v0, 1
/* 31D1E8 802BD678 080AF5AB */ j .L802BD6AC
/* 31D1EC 802BD67C AC820004 */ sw $v0, 4($a0)
.L802BD680:
/* 31D1F0 802BD680 0C03B52E */ jal partner_flying_update_player_tracking
/* 31D1F4 802BD684 0220202D */ daddu $a0, $s1, $zero
/* 31D1F8 802BD688 0C03B574 */ jal partner_flying_update_motion
/* 31D1FC 802BD68C 0220202D */ daddu $a0, $s1, $zero
/* 31D200 802BD690 8E030000 */ lw $v1, ($s0)
/* 31D204 802BD694 8C620000 */ lw $v0, ($v1)
/* 31D208 802BD698 2442FFFF */ addiu $v0, $v0, -1
/* 31D20C 802BD69C 14400003 */ bnez $v0, .L802BD6AC
/* 31D210 802BD6A0 AC620000 */ sw $v0, ($v1)
/* 31D214 802BD6A4 AC600004 */ sw $zero, 4($v1)
/* 31D218 802BD6A8 AE600000 */ sw $zero, ($s3)
.L802BD6AC:
/* 31D21C 802BD6AC 3C03802C */ lui $v1, %hi(D_802BE310)
/* 31D220 802BD6B0 8C63E310 */ lw $v1, %lo(D_802BE310)($v1)
/* 31D224 802BD6B4 1060000E */ beqz $v1, .L802BD6F0
/* 31D228 802BD6B8 0000102D */ daddu $v0, $zero, $zero
/* 31D22C 802BD6BC 8C62000C */ lw $v0, 0xc($v1)
/* 31D230 802BD6C0 C6200038 */ lwc1 $f0, 0x38($s1)
/* 31D234 802BD6C4 3C014150 */ lui $at, 0x4150
/* 31D238 802BD6C8 44811000 */ mtc1 $at, $f2
/* 31D23C 802BD6CC E4400004 */ swc1 $f0, 4($v0)
/* 31D240 802BD6D0 C620003C */ lwc1 $f0, 0x3c($s1)
/* 31D244 802BD6D4 46020000 */ add.s $f0, $f0, $f2
/* 31D248 802BD6D8 8C62000C */ lw $v0, 0xc($v1)
/* 31D24C 802BD6DC E4400008 */ swc1 $f0, 8($v0)
/* 31D250 802BD6E0 8C62000C */ lw $v0, 0xc($v1)
/* 31D254 802BD6E4 C6200040 */ lwc1 $f0, 0x40($s1)
/* 31D258 802BD6E8 E440000C */ swc1 $f0, 0xc($v0)
/* 31D25C 802BD6EC 0000102D */ daddu $v0, $zero, $zero
.L802BD6F0:
/* 31D260 802BD6F0 8FBF0028 */ lw $ra, 0x28($sp)
/* 31D264 802BD6F4 8FB30024 */ lw $s3, 0x24($sp)
/* 31D268 802BD6F8 8FB20020 */ lw $s2, 0x20($sp)
/* 31D26C 802BD6FC 8FB1001C */ lw $s1, 0x1c($sp)
/* 31D270 802BD700 8FB00018 */ lw $s0, 0x18($sp)
/* 31D274 802BD704 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 31D278 802BD708 03E00008 */ jr $ra
/* 31D27C 802BD70C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,129 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BE070_31DBE0
/* 31DBE0 802BE070 3C028011 */ lui $v0, %hi(gPartnerActionStatus)
/* 31DBE4 802BE074 8042EBB0 */ lb $v0, %lo(gPartnerActionStatus)($v0)
/* 31DBE8 802BE078 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 31DBEC 802BE07C AFBF0024 */ sw $ra, 0x24($sp)
/* 31DBF0 802BE080 AFB40020 */ sw $s4, 0x20($sp)
/* 31DBF4 802BE084 AFB3001C */ sw $s3, 0x1c($sp)
/* 31DBF8 802BE088 AFB20018 */ sw $s2, 0x18($sp)
/* 31DBFC 802BE08C AFB10014 */ sw $s1, 0x14($sp)
/* 31DC00 802BE090 AFB00010 */ sw $s0, 0x10($sp)
/* 31DC04 802BE094 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 31DC08 802BE098 10400060 */ beqz $v0, .L802BE21C
/* 31DC0C 802BE09C F7B40028 */ sdc1 $f20, 0x28($sp)
/* 31DC10 802BE0A0 3C02800F */ lui $v0, %hi(gPlayerStatusPtr)
/* 31DC14 802BE0A4 8C427B30 */ lw $v0, %lo(gPlayerStatusPtr)($v0)
/* 31DC18 802BE0A8 3C0142B4 */ lui $at, 0x42b4
/* 31DC1C 802BE0AC 44810000 */ mtc1 $at, $f0
/* 31DC20 802BE0B0 C44200A8 */ lwc1 $f2, 0xa8($v0)
/* 31DC24 802BE0B4 4600103C */ c.lt.s $f2, $f0
/* 31DC28 802BE0B8 00000000 */ nop
/* 31DC2C 802BE0BC 45010008 */ bc1t .L802BE0E0
/* 31DC30 802BE0C0 00000000 */ nop
/* 31DC34 802BE0C4 3C014387 */ lui $at, 0x4387
/* 31DC38 802BE0C8 44810000 */ mtc1 $at, $f0
/* 31DC3C 802BE0CC 00000000 */ nop
/* 31DC40 802BE0D0 4602003C */ c.lt.s $f0, $f2
/* 31DC44 802BE0D4 00000000 */ nop
/* 31DC48 802BE0D8 45000008 */ bc1f .L802BE0FC
/* 31DC4C 802BE0DC 3C030100 */ lui $v1, 0x100
.L802BE0E0:
/* 31DC50 802BE0E0 8C4200A4 */ lw $v0, 0xa4($v0)
/* 31DC54 802BE0E4 3C030100 */ lui $v1, 0x100
/* 31DC58 802BE0E8 00431024 */ and $v0, $v0, $v1
/* 31DC5C 802BE0EC 10400007 */ beqz $v0, .L802BE10C
/* 31DC60 802BE0F0 24030005 */ addiu $v1, $zero, 5
/* 31DC64 802BE0F4 080AF844 */ j .L802BE110
/* 31DC68 802BE0F8 00000000 */ nop
.L802BE0FC:
/* 31DC6C 802BE0FC 8C4200A4 */ lw $v0, 0xa4($v0)
/* 31DC70 802BE100 00431024 */ and $v0, $v0, $v1
/* 31DC74 802BE104 10400002 */ beqz $v0, .L802BE110
/* 31DC78 802BE108 24030005 */ addiu $v1, $zero, 5
.L802BE10C:
/* 31DC7C 802BE10C 2403FFFB */ addiu $v1, $zero, -5
.L802BE110:
/* 31DC80 802BE110 3C013F19 */ lui $at, 0x3f19
/* 31DC84 802BE114 3421999A */ ori $at, $at, 0x999a
/* 31DC88 802BE118 4481B000 */ mtc1 $at, $f22
/* 31DC8C 802BE11C 3C11800F */ lui $s1, %hi(gPlayerStatusPtr)
/* 31DC90 802BE120 26317B30 */ addiu $s1, $s1, %lo(gPlayerStatusPtr)
/* 31DC94 802BE124 3C02800B */ lui $v0, %hi(gCameras)
/* 31DC98 802BE128 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* 31DC9C 802BE12C C454006C */ lwc1 $f20, 0x6c($v0)
/* 31DCA0 802BE130 3C014387 */ lui $at, 0x4387
/* 31DCA4 802BE134 44810000 */ mtc1 $at, $f0
/* 31DCA8 802BE138 8E340000 */ lw $s4, ($s1)
/* 31DCAC 802BE13C 4600A500 */ add.s $f20, $f20, $f0
/* 31DCB0 802BE140 C68000A8 */ lwc1 $f0, 0xa8($s4)
/* 31DCB4 802BE144 4600A501 */ sub.s $f20, $f20, $f0
/* 31DCB8 802BE148 44830000 */ mtc1 $v1, $f0
/* 31DCBC 802BE14C 00000000 */ nop
/* 31DCC0 802BE150 46800020 */ cvt.s.w $f0, $f0
/* 31DCC4 802BE154 4600A500 */ add.s $f20, $f20, $f0
/* 31DCC8 802BE158 3C0140C9 */ lui $at, 0x40c9
/* 31DCCC 802BE15C 34210FD0 */ ori $at, $at, 0xfd0
/* 31DCD0 802BE160 44810000 */ mtc1 $at, $f0
/* 31DCD4 802BE164 00000000 */ nop
/* 31DCD8 802BE168 4600A502 */ mul.s $f20, $f20, $f0
/* 31DCDC 802BE16C 00000000 */ nop
/* 31DCE0 802BE170 3C108011 */ lui $s0, %hi(wPartnerNpc)
/* 31DCE4 802BE174 2610C930 */ addiu $s0, $s0, %lo(wPartnerNpc)
/* 31DCE8 802BE178 3C0143B4 */ lui $at, 0x43b4
/* 31DCEC 802BE17C 44810000 */ mtc1 $at, $f0
/* 31DCF0 802BE180 8E120000 */ lw $s2, ($s0)
/* 31DCF4 802BE184 4600A503 */ div.s $f20, $f20, $f0
/* 31DCF8 802BE188 0C00A85B */ jal sin_rad
/* 31DCFC 802BE18C 4600A306 */ mov.s $f12, $f20
/* 31DD00 802BE190 8E330000 */ lw $s3, ($s1)
/* 31DD04 802BE194 866200B2 */ lh $v0, 0xb2($s3)
/* 31DD08 802BE198 44821000 */ mtc1 $v0, $f2
/* 31DD0C 802BE19C 00000000 */ nop
/* 31DD10 802BE1A0 468010A0 */ cvt.s.w $f2, $f2
/* 31DD14 802BE1A4 46020002 */ mul.s $f0, $f0, $f2
/* 31DD18 802BE1A8 00000000 */ nop
/* 31DD1C 802BE1AC 46160002 */ mul.s $f0, $f0, $f22
/* 31DD20 802BE1B0 00000000 */ nop
/* 31DD24 802BE1B4 C6820028 */ lwc1 $f2, 0x28($s4)
/* 31DD28 802BE1B8 46001080 */ add.s $f2, $f2, $f0
/* 31DD2C 802BE1BC E6420038 */ swc1 $f2, 0x38($s2)
/* 31DD30 802BE1C0 8E120000 */ lw $s2, ($s0)
/* 31DD34 802BE1C4 0C00A874 */ jal cos_rad
/* 31DD38 802BE1C8 4600A306 */ mov.s $f12, $f20
/* 31DD3C 802BE1CC 8E230000 */ lw $v1, ($s1)
/* 31DD40 802BE1D0 846200B2 */ lh $v0, 0xb2($v1)
/* 31DD44 802BE1D4 44821000 */ mtc1 $v0, $f2
/* 31DD48 802BE1D8 00000000 */ nop
/* 31DD4C 802BE1DC 468010A0 */ cvt.s.w $f2, $f2
/* 31DD50 802BE1E0 46020002 */ mul.s $f0, $f0, $f2
/* 31DD54 802BE1E4 00000000 */ nop
/* 31DD58 802BE1E8 46160002 */ mul.s $f0, $f0, $f22
/* 31DD5C 802BE1EC 00000000 */ nop
/* 31DD60 802BE1F0 C6620030 */ lwc1 $f2, 0x30($s3)
/* 31DD64 802BE1F4 46001081 */ sub.s $f2, $f2, $f0
/* 31DD68 802BE1F8 E6420040 */ swc1 $f2, 0x40($s2)
/* 31DD6C 802BE1FC 8E020000 */ lw $v0, ($s0)
/* 31DD70 802BE200 C4600080 */ lwc1 $f0, 0x80($v1)
/* 31DD74 802BE204 3C0140A0 */ lui $at, 0x40a0
/* 31DD78 802BE208 44811000 */ mtc1 $at, $f2
/* 31DD7C 802BE20C E440000C */ swc1 $f0, 0xc($v0)
/* 31DD80 802BE210 C460002C */ lwc1 $f0, 0x2c($v1)
/* 31DD84 802BE214 46020000 */ add.s $f0, $f0, $f2
/* 31DD88 802BE218 E440003C */ swc1 $f0, 0x3c($v0)
.L802BE21C:
/* 31DD8C 802BE21C 8FBF0024 */ lw $ra, 0x24($sp)
/* 31DD90 802BE220 8FB40020 */ lw $s4, 0x20($sp)
/* 31DD94 802BE224 8FB3001C */ lw $s3, 0x1c($sp)
/* 31DD98 802BE228 8FB20018 */ lw $s2, 0x18($sp)
/* 31DD9C 802BE22C 8FB10014 */ lw $s1, 0x14($sp)
/* 31DDA0 802BE230 8FB00010 */ lw $s0, 0x10($sp)
/* 31DDA4 802BE234 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 31DDA8 802BE238 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 31DDAC 802BE23C 03E00008 */ jr $ra
/* 31DDB0 802BE240 27BD0038 */ addiu $sp, $sp, 0x38
/* 31DDB4 802BE244 00000000 */ nop
/* 31DDB8 802BE248 00000000 */ nop
/* 31DDBC 802BE24C 00000000 */ nop