Match some bow funcs, a laki, and a chest func (#443)

This commit is contained in:
ThreeMustyFears 2021-09-26 22:00:51 -03:00 committed by GitHub
parent 1ae2c69c3f
commit c90afde1d8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 501 additions and 1389 deletions

View File

@ -35,6 +35,7 @@ s16 get_game_mode(void);
s32 is_picking_up_item(void);
f32 integrate_gravity(void);
void gravity_use_fall_parms(void);
f32 get_clamped_angle_diff(f32, f32);
s32 intro_logos_fade_out(s16 addAlpha);
@ -77,6 +78,7 @@ void func_80254C50(void);
void func_80258E14(void);
f32 func_800E34D8(void);
void func_800E4AD8(s32 arg0);
f32 player_check_collision_below(f32, s32* colliderID);
s32 can_trigger_loading_zone(void);
void func_802667F0(s32, Actor*, f32, f32, f32);
@ -153,6 +155,7 @@ void phys_update_interact_collider(void);
void phys_adjust_cam_on_landing(void);
void phys_init_integrator_for_current_state(void);
void phys_player_land(void);
void phys_main_collision_below(void);
void create_popup_menu(PopupMenu*);
s32 npc_test_move_simple_without_slipping(s32, f32*, f32*, f32*, f32, f32, f32, f32);
@ -334,6 +337,7 @@ s32 sfx_adjust_env_sound_pos(s32 soundID, s32 arg1, f32 arg2, f32 arg3, f32 arg4
void sfx_play_sound(s32 soundID);
s32 sfx_play_sound_at_position(s32 soundID, s32 value2, f32 posX, f32 posY, f32 posZ);
void sfx_play_sound_at_player(s32 soundID, s32 arg0);
void sfx_play_sound_at_npc(s32 soundID, s32 arg1, s32 npcID);
s32 bgm_set_song(s32 playerIndex, s32 songID, s32 variation, s32 fadeOutTime, s16 volume);
void func_801497FC(s32 arg0);
s32 func_8014AA54(s32 playerIndex, s32 arg1, s16 arg2);

View File

@ -1,4 +1,7 @@
#include "common.h"
#include "effects.h"
void entity_Chest_open(Entity* entity);
// size unknown
typedef struct Chest {
@ -19,6 +22,8 @@ typedef struct Chest {
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ s8 unk_30;
/* 0x31 */ char unk_31[3];
/* 0x34 */ s32 unk_34;
} Chest;
extern s32 D_802EAD7C;
@ -145,7 +150,99 @@ void entity_Chest_close(Entity* entity) {
INCLUDE_ASM(s32, "entity/Chest", entity_GiantChest_hide_effect);
INCLUDE_ASM(s32, "entity/Chest", entity_GiantChest_open);
void entity_GiantChest_open(Entity* entity) {
PlayerStatus* playerStatus = &gPlayerStatus;
Chest* chest = (Chest*)entity->dataBuf;
f32 sp24;
f32 sp20;
f32 sp1C;
f32 sp18;
f32 theta;
f32 delta;
f32 zero;
f32 temp_f4;
f32 four;
f32 intermediateTheta;
f32 phi_f22;
if (chest->unk_10 != 0) {
set_item_entity_position(chest->unk_14, chest->unk_18, chest->unk_1C, chest->unk_20);
}
entity_Chest_open(entity);
switch (chest->unk_04) {
case 0:
chest->unk_02--;
if (chest->unk_02 == 0) {
chest->unk_24 = 0.0f;
chest->unk_04++;
chest->unk_28 = 20.0f;
chest->unk_2C = 8.0f;
}
break;
case 1:
chest->unk_1C += chest->unk_2C;
chest->unk_2C -= 0.7;
if (chest->unk_2C <= 2.0f) {
chest->unk_2C = 6.0f;
chest->unk_04++;
}
break;
case 2:
if (chest->unk_28 < 140.0f) {
chest->unk_1C += cos_rad(chest->unk_28 * TAU / 360.0f) * 3.0f;
} else {
temp_f4 = (chest->unk_1C - playerStatus->position.y - 30.0f) * 0.25f;
if (temp_f4 <= 0.4) {
temp_f4 = 0.4f;
}
chest->unk_1C -= temp_f4;
}
delta = sin_rad(chest->unk_24 * TAU / 360.0f);
theta = intermediateTheta = clamp_angle(atan2(entity->position.x, entity->position.z,
playerStatus->position.x, playerStatus->position.z));
if (gGameStatusPtr->areaID == 0x12) {
phi_f22 = 3.0f;
} else {
phi_f22 = 4.0f;
}
theta *= TAU;
theta = theta / 360.0f;
chest->unk_18 += (phi_f22 * sin_rad(theta) * delta);
chest->unk_20 -= (phi_f22 * cos_rad(theta) * delta);
chest->unk_24 += 8.0f;
if (chest->unk_24 >= 180.0f) {
chest->unk_24 = 180.0f;
}
chest->unk_28 += 13.0f;
if (chest->unk_28 >= 180.0f){
chest->unk_02 = 7;
chest->unk_28 = 180.0f;
chest->unk_04++;
if (chest->unk_10 != 0) {
suggest_player_anim_setUnkFlag(0x6000C);
sin_cos_rad((90.0f - gCameras->currentYaw) * TAU / 360.0f, &sp18, &sp1C);
sin_cos_rad((180.0f - gCameras->currentYaw) * TAU / 360.0f, &sp20, &sp24);
zero = 0.0f;
four = 4.0f;
playFX_33(0, chest->unk_18 + zero * sp18 - sp20 * four,
chest->unk_1C + 12.0f, chest->unk_20 - sp1C * zero + sp24 * four, 1.0f, 0x64);
playFX_1B(0, chest->unk_18 + zero * sp18 - sp20 * four,
chest->unk_1C + 12.0f, chest->unk_20 - sp1C * zero + sp24 * four, 1.0f, &chest->unk_34);
}
}
break;
case 3:
chest->unk_02--;
if (chest->unk_02 == 0) {
exec_entity_commandlist(entity);
chest->unk_04 = 0;
}
break;
}
}
// the function itself matches, but somehow it breaks other completely unrelated files
#ifdef NON_MATCHING

View File

@ -1,16 +1,24 @@
#include "common.h"
#include "../partners.h"
#include "../../npc.h"
extern s32 D_802BE0C0;
extern s32 D_802BE0C4;
extern s32 D_802BE0E4;
extern s32 D_802BE0E8;
extern s32 D_802BE0EC;
extern struct unkPartnerStruct* D_802BDFFC_32494C;
void func_802BDDF0_324740(Npc* partner);
s32 func_802BD540_323E90(void);
void func_802BD100_323A50(Npc* partner) {
partner->collisionHeight = 26;
partner->collisionRadius = 24;
partner->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
D_802BE0C4 = 0;
D_802BE0C0 = 0;
D_802BE0C4 = FALSE;
D_802BE0C0 = FALSE;
}
ApiStatus func_802BD130_323A80(Evt* script, s32 isInitialCall) {
@ -21,16 +29,15 @@ ApiStatus func_802BD130_323A80(Evt* script, s32 isInitialCall) {
return partner_get_out(owner) != 0;
}
s32 func_802BD168_323AB8(Evt* evt, s32 arg1) {
ApiStatus func_802BD168_323AB8(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Npc* npc;
Npc* npc = script->owner2.npc;
Entity* entity;
f32 sp10;
f32 sp14;
f32 tempY;
npc = evt->owner2.npc;
if (arg1 != 0) {
if (isInitialCall) {
partner_flying_enable(npc, 1);
mem_clear(D_802BDFFC_32494C, sizeof(*D_802BDFFC_32494C));
D_8010C954 = 0;
@ -97,14 +104,250 @@ s32 func_802BD168_323AB8(Evt* evt, s32 arg1) {
return 0;
}
INCLUDE_ASM(s32, "world/partner/bow", func_802BD4FC_323E4C);
void func_802BD4FC_323E4C(Npc* partner) {
if (D_8010C954 != 0) {
D_8010C954 = 0;
partner->flags = D_802BDFFC_32494C->unk_08;
D_802BDFFC_32494C->unk_04 = 0;
partner_clear_player_tracking(partner);
}
}
INCLUDE_ASM(s32, "world/partner/bow", func_802BD540_323E90);
INCLUDE_ASM(s32, "world/partner/bow", func_802BD694_323FE4);
ApiStatus func_802BD694_323FE4(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
CollisionStatus* collisionStatus = &gCollisionStatus;
Npc* npc = script->owner2.npc;
f32 distance;
INCLUDE_ASM(s32, "world/partner/bow", func_802BDDF0_324740);
if (isInitialCall) {
func_802BD4FC_323E4C(npc);
if (!(playerStatus->animFlags & 0x100000)) {
if (func_800EA52C(9) != 0) {
if (playerStatus->animFlags & 0x200000) {
playerStatus->animFlags &= ~0x200000;
script->functionTemp[2] = disable_player_input();
D_802BE0C4 = TRUE;
script->functionTemp[0] = 20;
} else {
script->functionTemp[0] = 40;
}
} else {
return ApiStatus_DONE2;
}
} else {
return ApiStatus_DONE2;
}
}
INCLUDE_ASM(s32, "world/partner/bow", func_802BDF08_324858);
switch (script->functionTemp[0]) {
case 40:
if (playerStatus->statusMenuCounterinputEnabledCounter != 0) {
return ApiStatus_DONE2;
}
playerStatus->flags |= 0x100;
script->functionTemp[1] = 3;
script->functionTemp[2] = disable_player_input();
D_802BE0C4 = TRUE;
script->functionTemp[0]++;
break;
case 41:
if ((func_800EA52C(9) == 0 || is_starting_conversation()) &&
script->functionTemp[2] < playerStatus->statusMenuCounterinputEnabledCounter
&& D_802BE0C4) {
INCLUDE_ASM(s32, "world/partner/bow", func_802BDF64_3248B4);
enable_player_input();
D_802BE0C4 = FALSE;
playerStatus->flags &= ~0x100;
return ApiStatus_DONE2;
}
script->functionTemp[1]--;
if (script->functionTemp[1] == 0) {
if (script->functionTemp[2] < playerStatus->statusMenuCounterinputEnabledCounter) {
if (D_802BE0C4) {
enable_player_input();
D_802BE0C4 = FALSE;
}
playerStatus->flags &= ~0x100;
return ApiStatus_DONE2;
}
script->functionTemp[0] = 20;
}
break;
}
switch (script->functionTemp[0]) {
case 20:
if (playerStatus->flags & 0x800) {
playerStatus->flags &= ~0x100;
if (D_802BE0C4) {
enable_player_input();
D_802BE0C4 = FALSE;
}
return ApiStatus_DONE2;
}
if (script->functionTemp[2] != 0) {
D_802BE0C4 = TRUE;
}
D_802BE0C0 = TRUE;
npc->flags &= ~0xA00;
partnerActionStatus->actionState.b[0] = 1;
partnerActionStatus->actionState.b[3] = 9;
playerStatus->flags |= 0x8000;
func_800EF4E0();
npc->moveToPos.x = playerStatus->position.x;
npc->moveToPos.y = playerStatus->position.y + (playerStatus->colliderHeight * 0.5f);
npc->moveToPos.z = playerStatus->position.z;
npc->currentAnim.w = 0x50002;
npc->yaw = playerStatus->targetYaw;
add_vec2D_polar(&npc->moveToPos.x, &npc->moveToPos.z, -2.0f, gCameras[gCurrentCameraID].currentYaw);
add_vec2D_polar(&npc->moveToPos.x, &npc->moveToPos.z,
playerStatus->colliderDiameter * 0.5f, npc->yaw);
npc->duration = 5;
npc->yaw = atan2(npc->pos.x, npc->pos.z, playerStatus->position.x, playerStatus->position.z);
set_action_state(ACTION_STATE_RIDE);
suggest_player_anim_clearUnkFlag(0x10002);
script->functionTemp[0]++;
break;
case 21:
if (collisionStatus->currentFloor >= 0 && (playerStatus->animFlags & 0x100000) == 0) {
npc->moveToPos.x = playerStatus->position.x;
npc->moveToPos.y = playerStatus->position.y + (playerStatus->colliderHeight * 0.5f);
npc->moveToPos.z = playerStatus->position.z;
npc->pos.x += ((npc->moveToPos.x - npc->pos.x) / npc->duration);
npc->pos.y += ((npc->moveToPos.y - npc->pos.y) / npc->duration);
npc->pos.z += ((npc->moveToPos.z - npc->pos.z) / npc->duration);
D_802BE0E4 = playerStatus->position.x - npc->pos.x;
D_802BE0E8 = playerStatus->position.y - npc->pos.y;
D_802BE0EC = playerStatus->position.z - npc->pos.z;
npc->duration--;
if (npc->duration == 0) {
npc->yaw = playerStatus->targetYaw;
func_8003D624(npc, 7, playerStatus->alpha1, 0, 0, 0, 0);
suggest_player_anim_setUnkFlag(0x10014);
sfx_play_sound_at_npc(SOUND_BOW_VANISH, 0, -4);
script->functionTemp[0] = 1;
}
break;
}
func_802BDDF0_324740(npc);
return ApiStatus_DONE2;
case 1:
if (collisionStatus->currentFloor >= 0) {
playerStatus->alpha1 -= 8;
if (playerStatus->alpha1 <= 128) {
playerStatus->alpha1 = 128;
npc->renderMode = 0x16;
script->functionTemp[0]++;
playerStatus->flags &= ~0x100;
npc->flags |= 0x40;
}
get_shadow_by_index(npc->shadowIndex)->unk_05 = playerStatus->alpha1 >> 1;
func_8003D624(npc, 7, playerStatus->alpha1, 0, 0, 0, 0);
npc->pos.x = playerStatus->position.x - D_802BE0E4;
npc->pos.y = playerStatus->position.y - D_802BE0E8;
npc->pos.z = playerStatus->position.z - D_802BE0EC;
break;
}
func_802BDDF0_324740(npc);
return ApiStatus_DONE2;
case 2:
if (collisionStatus->currentFloor < 0) {
func_802BDDF0_324740(npc);
return ApiStatus_DONE2;
}
npc->pos.x = playerStatus->position.x - D_802BE0E4;
npc->pos.y = playerStatus->position.y - D_802BE0E8;
npc->pos.z = playerStatus->position.z - D_802BE0EC;
distance = dist2D(0.0f, 0.0f, partnerActionStatus->stickX, partnerActionStatus->stickY);
if ((collisionStatus->currentFloor < 0) || distance > 10.0f ||
partnerActionStatus->pressedButtons & (BUTTON_B | BUTTON_C_DOWN) || playerStatus->flags & 0x800) {
if (func_802BD540_323E90() < 0) {
script->functionTemp[0]++;
script->functionTemp[1] = 3;
script->functionTemp[2] = playerStatus->statusMenuCounterinputEnabledCounter;
}
}
break;
case 3:
if (script->functionTemp[1] == 0) {
if (script->functionTemp[2] < playerStatus->statusMenuCounterinputEnabledCounter) {
script->functionTemp[0] = 2;
break;
}
} else {
script->functionTemp[1]--;
break;
}
sfx_play_sound_at_npc(SOUND_BOW_APPEAR, 0, -4);
func_802BDDF0_324740(npc);
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}
void func_802BDDF0_324740(Npc* partner) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
s32 actionState;
playerStatus->alpha1 = 255;
func_8003D624(partner, 0, 0, 0, 0, 0, 0);
partner->renderMode = 0x11;
get_shadow_by_index(partner->shadowIndex)->unk_05 = playerStatus->alpha1 >> 1;
if (D_802BE0C4) {
enable_player_input();
}
playerStatus->flags &= ~0x8002;
partner->flags &= ~0x42;
D_802BE0C4 = FALSE;
actionState = ACTION_STATE_IDLE;
if (playerStatus->flags & 0x800) {
actionState = ACTION_STATE_HIT_LAVA;
}
set_action_state(actionState);
partnerActionStatus->actionState.b[0] = 0;
partnerActionStatus->actionState.b[3] = 0;
playerStatus->flags &= ~0x100;
partner_clear_player_tracking(partner);
D_802BE0C0 = FALSE;
}
ApiStatus func_802BDF08_324858(Evt* script, s32 isInitialCall) {
Npc* partner = script->owner2.npc;
if (isInitialCall) {
partner_init_put_away(partner);
if (D_802BE0C0) {
sfx_play_sound_at_npc(SOUND_BOW_APPEAR, 0, -4);
}
func_802BDDF0_324740(partner);
}
if (partner_put_away(partner)) {
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
}
void func_802BDF64_3248B4(Npc* partner) {
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
if (D_802BE0C0) {
enable_player_input();
set_action_state(ACTION_STATE_IDLE);
partner_clear_player_tracking(partner);
partnerActionStatus->actionState.b[0] = 0;
partnerActionStatus->actionState.b[3] = 0;
D_802BE0C0 = FALSE;
partner->flags &= ~0x2;
}
}

View File

@ -1,7 +1,15 @@
#include "common.h"
#include "../partners.h"
extern unkPartnerStruct* D_802BFE7C_3239CC;
extern f64 D_802BFEF0;
extern s32 D_802BFF00;
extern s32 D_802BFF04;
extern s32 D_802BFF08;
extern s32 D_802BFF0C;
s32 func_802BD7DC(void);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD100_320C50);
@ -9,16 +17,15 @@ INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD21C_320D6C);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD29C_320DEC);
s32 func_802BD2D4_320E24(Evt* evt, s32 arg1) {
ApiStatus func_802BD2D4_320E24(Evt* script, s32 isInitialCall) {
PlayerData* playerData = &gPlayerData;
Entity* entity;
Npc* npc;
Npc* npc = script->owner2.npc;
f32 sp10;
f32 sp14;
f32 tempY;
npc = evt->owner2.npc;
if (arg1 != 0) {
if (isInitialCall) {
partner_flying_enable(npc, 1);
mem_clear(D_802BFE7C_3239CC, sizeof(*D_802BFE7C_3239CC));
D_8010C954 = 0;
@ -29,7 +36,7 @@ s32 func_802BD2D4_320E24(Evt* evt, s32 arg1) {
if (entity == NULL) {
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
return 0;
return ApiStatus_BLOCK;
}
switch (D_802BFE7C_3239CC->unk_04) {
@ -90,7 +97,7 @@ s32 func_802BD2D4_320E24(Evt* evt, s32 arg1) {
}
break;
}
return 0;
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD678_3211C8);
@ -109,7 +116,134 @@ INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE6A0_3221F0);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BE724_322274);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BF4F0_323040);
ApiStatus func_802BF4F0_323040(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
Camera* cam = &gCameras;
Npc* partner = script->owner2.npc;
f32 sp2C;
f32 sp28;
f32 sp24;
f32 sp20;
f32 yaw;
s32 phi_v1;
if (isInitialCall) {
D_802BFF00 = (D_802BFF0C == 0) ? 3 : 0;
partner_init_put_away(partner);
func_802BD7DC();
playerStatus->animFlags &= ~0x400000;
playerStatus->flags |= 0x100;
}
switch (D_802BFF00) {
case 0:
func_802BD7DC();
yaw = cam->currentYaw;
if ((playerStatus->spriteFacingAngle >= 90.0f) && (playerStatus->spriteFacingAngle < 270.0f)) {
partner->yaw = (yaw + 180.0f) - 90.0f;
} else {
partner->yaw = (yaw + 0.0f) - 90.0f;
}
sp2C = dist2D(playerStatus->position.x, playerStatus->position.z,
partner->moveToPos.x, partner->moveToPos.z);
partner->duration = 14;
if (partner->moveToPos.y > partner->pos.y ) {
partner->jumpVelocity = (partner->moveToPos.y - partner->pos.y) / 14.0f + 6.0f;
} else {
partner->jumpVelocity = 6.0f;
}
partner->jumpScale = 1.2f;
partner->moveSpeed = sp2C / partner->duration;
partner->yaw = atan2(playerStatus->position.x, playerStatus->position.z,
partner->moveToPos.x, partner->moveToPos.z);
suggest_player_anim_clearUnkFlag(0x10006);
D_802BFF00++;
break;
case 1:
suggest_player_anim_clearUnkFlag(0x10007);
D_802BFF00++;
case 2:
playerStatus->position.y += partner->jumpVelocity;
partner->jumpVelocity -= partner->jumpScale;
add_vec2D_polar(&playerStatus->position.x, &playerStatus->position.z,
partner->moveSpeed, partner->yaw);
func_800E4AD8(0);
if (partner->jumpVelocity <= 0.0f) {
playerStatus->flags |= 4;
if (partner->jumpVelocity < -10.0) {
partner->jumpVelocity = -10.0f;
}
}
sp20 = playerStatus->position.x;
sp24 = playerStatus->position.y + playerStatus->colliderHeight;
sp28 = playerStatus->position.z;
sp2C = playerStatus->colliderHeight;
if (npc_raycast_down_ahead(0, &sp20, &sp24, &sp28, &sp2C,
partner->yaw, partner->collisionRadius)) {
D_802BFF00 = 3;
playerStatus->position.y = sp24;
}
break;
}
gCameras->targetPos.x = playerStatus->position.x;
gCameras->targetPos.y = playerStatus->position.y;
gCameras->targetPos.z = playerStatus->position.z;
switch (D_802BFF00) {
case 3:
partner->flags &= ~0x48;
if (D_802BFF08) {
D_802BFF08 = FALSE;
enable_player_static_collisions();
}
enable_player_shadow();
if (playerStatus->flags & 0x800) {
partnerActionStatus->actionState.b[3] = 0;
partnerActionStatus->actionState.b[0] = 0;
if (D_802BFF04) {
D_802BFF04 = FALSE;
enable_player_input();
}
gGameStatusPtr->unk_7D = 0;
D_802BFF0C = 0;
partner_clear_player_tracking(partner);
set_action_state(ACTION_STATE_HIT_FIRE);
return ApiStatus_DONE1;
}
if (D_802BFF0C == 0) {
phys_main_collision_below();
} else {
set_action_state(ACTION_STATE_FALLING);
gravity_use_fall_parms();
}
D_802BFF00++;
break;
case 4:
partnerActionStatus->actionState.b[3] = 0;
partnerActionStatus->actionState.b[0] = 0;
playerStatus->flags &= -0x101;
if (D_802BFF04) {
D_802BFF04 = FALSE;
enable_player_input();
}
gGameStatusPtr->unk_7D = 0;
D_802BFF0C = 0;
partner_clear_player_tracking(partner);
D_802BFF00++;
break;
case 5:
if (partner_put_away(partner) == FALSE) {
break;
}
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BFA00_323550);

View File

@ -42,7 +42,11 @@ extern Npc* wPartnerNpc; // wPartnerNpc
s32 partner_init_get_out(Npc*);
s32 partner_get_out(Npc*);
s32 partner_init_put_away(Npc* partner);
s32 partner_put_away(Npc* partner);
void partner_do_player_collision(Npc* partner);
void partner_walking_follow_player(Npc* partner);
s32 func_800EA52C(s32);
s32 func_800EF4E0(void);
#endif

View File

@ -1,346 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802EB320
.double 0.7
glabel D_802EB328
.double 0.4
.section .text
glabel entity_GiantChest_open
/* 108E64 802E75E4 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 108E68 802E75E8 AFB00028 */ sw $s0, 0x28($sp)
/* 108E6C 802E75EC 0080802D */ daddu $s0, $a0, $zero
/* 108E70 802E75F0 AFBF0034 */ sw $ra, 0x34($sp)
/* 108E74 802E75F4 AFB20030 */ sw $s2, 0x30($sp)
/* 108E78 802E75F8 AFB1002C */ sw $s1, 0x2c($sp)
/* 108E7C 802E75FC F7BC0058 */ sdc1 $f28, 0x58($sp)
/* 108E80 802E7600 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 108E84 802E7604 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 108E88 802E7608 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 108E8C 802E760C F7B40038 */ sdc1 $f20, 0x38($sp)
/* 108E90 802E7610 8E110040 */ lw $s1, 0x40($s0)
/* 108E94 802E7614 8E220010 */ lw $v0, 0x10($s1)
/* 108E98 802E7618 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 108E9C 802E761C 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 108EA0 802E7620 10400006 */ beqz $v0, .L802E763C
/* 108EA4 802E7624 00000000 */ nop
/* 108EA8 802E7628 8E240014 */ lw $a0, 0x14($s1)
/* 108EAC 802E762C 8E250018 */ lw $a1, 0x18($s1)
/* 108EB0 802E7630 8E26001C */ lw $a2, 0x1c($s1)
/* 108EB4 802E7634 0C04D083 */ jal set_item_entity_position
/* 108EB8 802E7638 8E270020 */ lw $a3, 0x20($s1)
.L802E763C:
/* 108EBC 802E763C 0C0B9C8C */ jal entity_Chest_open
/* 108EC0 802E7640 0200202D */ daddu $a0, $s0, $zero
/* 108EC4 802E7644 92230004 */ lbu $v1, 4($s1)
/* 108EC8 802E7648 24020001 */ addiu $v0, $zero, 1
/* 108ECC 802E764C 1062001E */ beq $v1, $v0, .L802E76C8
/* 108ED0 802E7650 28620002 */ slti $v0, $v1, 2
/* 108ED4 802E7654 50400005 */ beql $v0, $zero, .L802E766C
/* 108ED8 802E7658 24020002 */ addiu $v0, $zero, 2
/* 108EDC 802E765C 10600009 */ beqz $v1, .L802E7684
/* 108EE0 802E7660 00000000 */ nop
/* 108EE4 802E7664 080B9EAE */ j .L802E7AB8
/* 108EE8 802E7668 00000000 */ nop
.L802E766C:
/* 108EEC 802E766C 1062002C */ beq $v1, $v0, .L802E7720
/* 108EF0 802E7670 24020003 */ addiu $v0, $zero, 3
/* 108EF4 802E7674 10620107 */ beq $v1, $v0, .L802E7A94
/* 108EF8 802E7678 00000000 */ nop
/* 108EFC 802E767C 080B9EAE */ j .L802E7AB8
/* 108F00 802E7680 00000000 */ nop
.L802E7684:
/* 108F04 802E7684 96220002 */ lhu $v0, 2($s1)
/* 108F08 802E7688 2442FFFF */ addiu $v0, $v0, -1
/* 108F0C 802E768C A6220002 */ sh $v0, 2($s1)
/* 108F10 802E7690 00021400 */ sll $v0, $v0, 0x10
/* 108F14 802E7694 14400108 */ bnez $v0, .L802E7AB8
/* 108F18 802E7698 00000000 */ nop
/* 108F1C 802E769C 92220004 */ lbu $v0, 4($s1)
/* 108F20 802E76A0 3C0141A0 */ lui $at, 0x41a0
/* 108F24 802E76A4 44810000 */ mtc1 $at, $f0
/* 108F28 802E76A8 3C014100 */ lui $at, 0x4100
/* 108F2C 802E76AC 44811000 */ mtc1 $at, $f2
/* 108F30 802E76B0 AE200024 */ sw $zero, 0x24($s1)
/* 108F34 802E76B4 24420001 */ addiu $v0, $v0, 1
/* 108F38 802E76B8 A2220004 */ sb $v0, 4($s1)
/* 108F3C 802E76BC E6200028 */ swc1 $f0, 0x28($s1)
/* 108F40 802E76C0 080B9EAE */ j .L802E7AB8
/* 108F44 802E76C4 E622002C */ swc1 $f2, 0x2c($s1)
.L802E76C8:
/* 108F48 802E76C8 C620002C */ lwc1 $f0, 0x2c($s1)
/* 108F4C 802E76CC 3C01802F */ lui $at, %hi(D_802EB320)
/* 108F50 802E76D0 D422B320 */ ldc1 $f2, %lo(D_802EB320)($at)
/* 108F54 802E76D4 C624001C */ lwc1 $f4, 0x1c($s1)
/* 108F58 802E76D8 46000021 */ cvt.d.s $f0, $f0
/* 108F5C 802E76DC 46220001 */ sub.d $f0, $f0, $f2
/* 108F60 802E76E0 C622002C */ lwc1 $f2, 0x2c($s1)
/* 108F64 802E76E4 46022100 */ add.s $f4, $f4, $f2
/* 108F68 802E76E8 3C014000 */ lui $at, 0x4000
/* 108F6C 802E76EC 44811000 */ mtc1 $at, $f2
/* 108F70 802E76F0 46200020 */ cvt.s.d $f0, $f0
/* 108F74 802E76F4 4602003E */ c.le.s $f0, $f2
/* 108F78 802E76F8 E620002C */ swc1 $f0, 0x2c($s1)
/* 108F7C 802E76FC 450000EE */ bc1f .L802E7AB8
/* 108F80 802E7700 E624001C */ swc1 $f4, 0x1c($s1)
/* 108F84 802E7704 92220004 */ lbu $v0, 4($s1)
/* 108F88 802E7708 3C0140C0 */ lui $at, 0x40c0
/* 108F8C 802E770C 44810000 */ mtc1 $at, $f0
/* 108F90 802E7710 24420001 */ addiu $v0, $v0, 1
/* 108F94 802E7714 E620002C */ swc1 $f0, 0x2c($s1)
/* 108F98 802E7718 080B9EAE */ j .L802E7AB8
/* 108F9C 802E771C A2220004 */ sb $v0, 4($s1)
.L802E7720:
/* 108FA0 802E7720 C6220028 */ lwc1 $f2, 0x28($s1)
/* 108FA4 802E7724 3C01430C */ lui $at, 0x430c
/* 108FA8 802E7728 44810000 */ mtc1 $at, $f0
/* 108FAC 802E772C 00000000 */ nop
/* 108FB0 802E7730 4600103C */ c.lt.s $f2, $f0
/* 108FB4 802E7734 00000000 */ nop
/* 108FB8 802E7738 45000014 */ bc1f .L802E778C
/* 108FBC 802E773C 00000000 */ nop
/* 108FC0 802E7740 3C0140C9 */ lui $at, 0x40c9
/* 108FC4 802E7744 34210FD0 */ ori $at, $at, 0xfd0
/* 108FC8 802E7748 44816000 */ mtc1 $at, $f12
/* 108FCC 802E774C 00000000 */ nop
/* 108FD0 802E7750 460C1302 */ mul.s $f12, $f2, $f12
/* 108FD4 802E7754 00000000 */ nop
/* 108FD8 802E7758 3C0143B4 */ lui $at, 0x43b4
/* 108FDC 802E775C 44810000 */ mtc1 $at, $f0
/* 108FE0 802E7760 0C00A874 */ jal cos_rad
/* 108FE4 802E7764 46006303 */ div.s $f12, $f12, $f0
/* 108FE8 802E7768 3C014040 */ lui $at, 0x4040
/* 108FEC 802E776C 44811000 */ mtc1 $at, $f2
/* 108FF0 802E7770 00000000 */ nop
/* 108FF4 802E7774 46020002 */ mul.s $f0, $f0, $f2
/* 108FF8 802E7778 00000000 */ nop
/* 108FFC 802E777C C622001C */ lwc1 $f2, 0x1c($s1)
/* 109000 802E7780 46001080 */ add.s $f2, $f2, $f0
/* 109004 802E7784 080B9DFC */ j .L802E77F0
/* 109008 802E7788 E622001C */ swc1 $f2, 0x1c($s1)
.L802E778C:
/* 10900C 802E778C C626001C */ lwc1 $f6, 0x1c($s1)
/* 109010 802E7790 C640002C */ lwc1 $f0, 0x2c($s2)
/* 109014 802E7794 46003001 */ sub.s $f0, $f6, $f0
/* 109018 802E7798 3C0141F0 */ lui $at, 0x41f0
/* 10901C 802E779C 44811000 */ mtc1 $at, $f2
/* 109020 802E77A0 00000000 */ nop
/* 109024 802E77A4 46020001 */ sub.s $f0, $f0, $f2
/* 109028 802E77A8 3C013E80 */ lui $at, 0x3e80
/* 10902C 802E77AC 44811000 */ mtc1 $at, $f2
/* 109030 802E77B0 00000000 */ nop
/* 109034 802E77B4 46020102 */ mul.s $f4, $f0, $f2
/* 109038 802E77B8 00000000 */ nop
/* 10903C 802E77BC 3C01802F */ lui $at, %hi(D_802EB328)
/* 109040 802E77C0 D422B328 */ ldc1 $f2, %lo(D_802EB328)($at)
/* 109044 802E77C4 46002021 */ cvt.d.s $f0, $f4
/* 109048 802E77C8 4622003E */ c.le.d $f0, $f2
/* 10904C 802E77CC 00000000 */ nop
/* 109050 802E77D0 45020006 */ bc1fl .L802E77EC
/* 109054 802E77D4 46043001 */ sub.s $f0, $f6, $f4
/* 109058 802E77D8 3C013ECC */ lui $at, 0x3ecc
/* 10905C 802E77DC 3421CCCD */ ori $at, $at, 0xcccd
/* 109060 802E77E0 44812000 */ mtc1 $at, $f4
/* 109064 802E77E4 00000000 */ nop
/* 109068 802E77E8 46043001 */ sub.s $f0, $f6, $f4
.L802E77EC:
/* 10906C 802E77EC E620001C */ swc1 $f0, 0x1c($s1)
.L802E77F0:
/* 109070 802E77F0 C62C0024 */ lwc1 $f12, 0x24($s1)
/* 109074 802E77F4 3C0140C9 */ lui $at, 0x40c9
/* 109078 802E77F8 34210FD0 */ ori $at, $at, 0xfd0
/* 10907C 802E77FC 4481D000 */ mtc1 $at, $f26
/* 109080 802E7800 00000000 */ nop
/* 109084 802E7804 461A6302 */ mul.s $f12, $f12, $f26
/* 109088 802E7808 00000000 */ nop
/* 10908C 802E780C 3C0143B4 */ lui $at, 0x43b4
/* 109090 802E7810 4481E000 */ mtc1 $at, $f28
/* 109094 802E7814 0C00A85B */ jal sin_rad
/* 109098 802E7818 461C6303 */ div.s $f12, $f12, $f28
/* 10909C 802E781C C60C0048 */ lwc1 $f12, 0x48($s0)
/* 1090A0 802E7820 8E460028 */ lw $a2, 0x28($s2)
/* 1090A4 802E7824 8E470030 */ lw $a3, 0x30($s2)
/* 1090A8 802E7828 C60E0050 */ lwc1 $f14, 0x50($s0)
/* 1090AC 802E782C 0C00A720 */ jal atan2
/* 1090B0 802E7830 46000606 */ mov.s $f24, $f0
/* 1090B4 802E7834 0C00A6C9 */ jal clamp_angle
/* 1090B8 802E7838 46000306 */ mov.s $f12, $f0
/* 1090BC 802E783C 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 1090C0 802E7840 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 1090C4 802E7844 3C014080 */ lui $at, 0x4080
/* 1090C8 802E7848 4481B000 */ mtc1 $at, $f22
/* 1090CC 802E784C 84430086 */ lh $v1, 0x86($v0)
/* 1090D0 802E7850 24020012 */ addiu $v0, $zero, 0x12
/* 1090D4 802E7854 14620003 */ bne $v1, $v0, .L802E7864
/* 1090D8 802E7858 00000000 */ nop
/* 1090DC 802E785C 3C014040 */ lui $at, 0x4040
/* 1090E0 802E7860 4481B000 */ mtc1 $at, $f22
.L802E7864:
/* 1090E4 802E7864 461A0502 */ mul.s $f20, $f0, $f26
/* 1090E8 802E7868 00000000 */ nop
/* 1090EC 802E786C 461CA503 */ div.s $f20, $f20, $f28
/* 1090F0 802E7870 0C00A85B */ jal sin_rad
/* 1090F4 802E7874 4600A306 */ mov.s $f12, $f20
/* 1090F8 802E7878 4600B002 */ mul.s $f0, $f22, $f0
/* 1090FC 802E787C 00000000 */ nop
/* 109100 802E7880 46180002 */ mul.s $f0, $f0, $f24
/* 109104 802E7884 00000000 */ nop
/* 109108 802E7888 C6220018 */ lwc1 $f2, 0x18($s1)
/* 10910C 802E788C 46001080 */ add.s $f2, $f2, $f0
/* 109110 802E7890 4600A306 */ mov.s $f12, $f20
/* 109114 802E7894 0C00A874 */ jal cos_rad
/* 109118 802E7898 E6220018 */ swc1 $f2, 0x18($s1)
/* 10911C 802E789C 4600B002 */ mul.s $f0, $f22, $f0
/* 109120 802E78A0 00000000 */ nop
/* 109124 802E78A4 46180002 */ mul.s $f0, $f0, $f24
/* 109128 802E78A8 00000000 */ nop
/* 10912C 802E78AC C6240024 */ lwc1 $f4, 0x24($s1)
/* 109130 802E78B0 3C014100 */ lui $at, 0x4100
/* 109134 802E78B4 44811000 */ mtc1 $at, $f2
/* 109138 802E78B8 00000000 */ nop
/* 10913C 802E78BC 46022100 */ add.s $f4, $f4, $f2
/* 109140 802E78C0 C6220020 */ lwc1 $f2, 0x20($s1)
/* 109144 802E78C4 3C014334 */ lui $at, 0x4334
/* 109148 802E78C8 4481A000 */ mtc1 $at, $f20
/* 10914C 802E78CC 46001081 */ sub.s $f2, $f2, $f0
/* 109150 802E78D0 E6240024 */ swc1 $f4, 0x24($s1)
/* 109154 802E78D4 4604A03E */ c.le.s $f20, $f4
/* 109158 802E78D8 00000000 */ nop
/* 10915C 802E78DC 45000002 */ bc1f .L802E78E8
/* 109160 802E78E0 E6220020 */ swc1 $f2, 0x20($s1)
/* 109164 802E78E4 E6340024 */ swc1 $f20, 0x24($s1)
.L802E78E8:
/* 109168 802E78E8 C6200028 */ lwc1 $f0, 0x28($s1)
/* 10916C 802E78EC 3C014150 */ lui $at, 0x4150
/* 109170 802E78F0 44811000 */ mtc1 $at, $f2
/* 109174 802E78F4 00000000 */ nop
/* 109178 802E78F8 46020000 */ add.s $f0, $f0, $f2
/* 10917C 802E78FC 4600A03E */ c.le.s $f20, $f0
/* 109180 802E7900 00000000 */ nop
/* 109184 802E7904 4500006C */ bc1f .L802E7AB8
/* 109188 802E7908 E6200028 */ swc1 $f0, 0x28($s1)
/* 10918C 802E790C 24020007 */ addiu $v0, $zero, 7
/* 109190 802E7910 A6220002 */ sh $v0, 2($s1)
/* 109194 802E7914 92220004 */ lbu $v0, 4($s1)
/* 109198 802E7918 8E230010 */ lw $v1, 0x10($s1)
/* 10919C 802E791C E6340028 */ swc1 $f20, 0x28($s1)
/* 1091A0 802E7920 24420001 */ addiu $v0, $v0, 1
/* 1091A4 802E7924 10600064 */ beqz $v1, .L802E7AB8
/* 1091A8 802E7928 A2220004 */ sb $v0, 4($s1)
/* 1091AC 802E792C 3C040006 */ lui $a0, 6
/* 1091B0 802E7930 0C037FDE */ jal suggest_player_anim_setUnkFlag
/* 1091B4 802E7934 3484000C */ ori $a0, $a0, 0xc
/* 1091B8 802E7938 3C10800B */ lui $s0, %hi(gCameras)
/* 1091BC 802E793C 26101D80 */ addiu $s0, $s0, %lo(gCameras)
/* 1091C0 802E7940 C600006C */ lwc1 $f0, 0x6c($s0)
/* 1091C4 802E7944 3C0142B4 */ lui $at, 0x42b4
/* 1091C8 802E7948 44816000 */ mtc1 $at, $f12
/* 1091CC 802E794C 00000000 */ nop
/* 1091D0 802E7950 46006301 */ sub.s $f12, $f12, $f0
/* 1091D4 802E7954 461A6302 */ mul.s $f12, $f12, $f26
/* 1091D8 802E7958 00000000 */ nop
/* 1091DC 802E795C 27A50018 */ addiu $a1, $sp, 0x18
/* 1091E0 802E7960 27A6001C */ addiu $a2, $sp, 0x1c
/* 1091E4 802E7964 0C00A82D */ jal sin_cos_rad
/* 1091E8 802E7968 461C6303 */ div.s $f12, $f12, $f28
/* 1091EC 802E796C C60C006C */ lwc1 $f12, 0x6c($s0)
/* 1091F0 802E7970 460CA301 */ sub.s $f12, $f20, $f12
/* 1091F4 802E7974 461A6302 */ mul.s $f12, $f12, $f26
/* 1091F8 802E7978 00000000 */ nop
/* 1091FC 802E797C 27A50020 */ addiu $a1, $sp, 0x20
/* 109200 802E7980 27A60024 */ addiu $a2, $sp, 0x24
/* 109204 802E7984 0C00A82D */ jal sin_cos_rad
/* 109208 802E7988 461C6303 */ div.s $f12, $f12, $f28
/* 10920C 802E798C 4480B000 */ mtc1 $zero, $f22
/* 109210 802E7990 C7A60018 */ lwc1 $f6, 0x18($sp)
/* 109214 802E7994 46163182 */ mul.s $f6, $f6, $f22
/* 109218 802E7998 00000000 */ nop
/* 10921C 802E799C 3C014080 */ lui $at, 0x4080
/* 109220 802E79A0 4481A000 */ mtc1 $at, $f20
/* 109224 802E79A4 C7A20020 */ lwc1 $f2, 0x20($sp)
/* 109228 802E79A8 46141082 */ mul.s $f2, $f2, $f20
/* 10922C 802E79AC 00000000 */ nop
/* 109230 802E79B0 C620001C */ lwc1 $f0, 0x1c($s1)
/* 109234 802E79B4 3C014140 */ lui $at, 0x4140
/* 109238 802E79B8 4481C000 */ mtc1 $at, $f24
/* 10923C 802E79BC 00000000 */ nop
/* 109240 802E79C0 46180000 */ add.s $f0, $f0, $f24
/* 109244 802E79C4 C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 109248 802E79C8 46162102 */ mul.s $f4, $f4, $f22
/* 10924C 802E79CC 00000000 */ nop
/* 109250 802E79D0 44060000 */ mfc1 $a2, $f0
/* 109254 802E79D4 C6200018 */ lwc1 $f0, 0x18($s1)
/* 109258 802E79D8 46060000 */ add.s $f0, $f0, $f6
/* 10925C 802E79DC 46020001 */ sub.s $f0, $f0, $f2
/* 109260 802E79E0 C7A80024 */ lwc1 $f8, 0x24($sp)
/* 109264 802E79E4 46144202 */ mul.s $f8, $f8, $f20
/* 109268 802E79E8 00000000 */ nop
/* 10926C 802E79EC 44050000 */ mfc1 $a1, $f0
/* 109270 802E79F0 C6200020 */ lwc1 $f0, 0x20($s1)
/* 109274 802E79F4 46040001 */ sub.s $f0, $f0, $f4
/* 109278 802E79F8 46080000 */ add.s $f0, $f0, $f8
/* 10927C 802E79FC 0000202D */ daddu $a0, $zero, $zero
/* 109280 802E7A00 3C013F80 */ lui $at, 0x3f80
/* 109284 802E7A04 4481D000 */ mtc1 $at, $f26
/* 109288 802E7A08 44070000 */ mfc1 $a3, $f0
/* 10928C 802E7A0C 24020064 */ addiu $v0, $zero, 0x64
/* 109290 802E7A10 E7BA0010 */ swc1 $f26, 0x10($sp)
/* 109294 802E7A14 0C01C2EC */ jal playFX_33
/* 109298 802E7A18 AFA20014 */ sw $v0, 0x14($sp)
/* 10929C 802E7A1C C7A60018 */ lwc1 $f6, 0x18($sp)
/* 1092A0 802E7A20 46163182 */ mul.s $f6, $f6, $f22
/* 1092A4 802E7A24 00000000 */ nop
/* 1092A8 802E7A28 C7A20020 */ lwc1 $f2, 0x20($sp)
/* 1092AC 802E7A2C 46141082 */ mul.s $f2, $f2, $f20
/* 1092B0 802E7A30 00000000 */ nop
/* 1092B4 802E7A34 C620001C */ lwc1 $f0, 0x1c($s1)
/* 1092B8 802E7A38 46180000 */ add.s $f0, $f0, $f24
/* 1092BC 802E7A3C C7A4001C */ lwc1 $f4, 0x1c($sp)
/* 1092C0 802E7A40 46162102 */ mul.s $f4, $f4, $f22
/* 1092C4 802E7A44 00000000 */ nop
/* 1092C8 802E7A48 44060000 */ mfc1 $a2, $f0
/* 1092CC 802E7A4C C6200018 */ lwc1 $f0, 0x18($s1)
/* 1092D0 802E7A50 46060000 */ add.s $f0, $f0, $f6
/* 1092D4 802E7A54 46020001 */ sub.s $f0, $f0, $f2
/* 1092D8 802E7A58 C7A80024 */ lwc1 $f8, 0x24($sp)
/* 1092DC 802E7A5C 46144202 */ mul.s $f8, $f8, $f20
/* 1092E0 802E7A60 00000000 */ nop
/* 1092E4 802E7A64 44050000 */ mfc1 $a1, $f0
/* 1092E8 802E7A68 C6200020 */ lwc1 $f0, 0x20($s1)
/* 1092EC 802E7A6C 46040001 */ sub.s $f0, $f0, $f4
/* 1092F0 802E7A70 46080000 */ add.s $f0, $f0, $f8
/* 1092F4 802E7A74 0000202D */ daddu $a0, $zero, $zero
/* 1092F8 802E7A78 44070000 */ mfc1 $a3, $f0
/* 1092FC 802E7A7C 26220034 */ addiu $v0, $s1, 0x34
/* 109300 802E7A80 E7BA0010 */ swc1 $f26, 0x10($sp)
/* 109304 802E7A84 0C01C0AC */ jal playFX_1B
/* 109308 802E7A88 AFA20014 */ sw $v0, 0x14($sp)
/* 10930C 802E7A8C 080B9EAE */ j .L802E7AB8
/* 109310 802E7A90 00000000 */ nop
.L802E7A94:
/* 109314 802E7A94 96220002 */ lhu $v0, 2($s1)
/* 109318 802E7A98 2442FFFF */ addiu $v0, $v0, -1
/* 10931C 802E7A9C A6220002 */ sh $v0, 2($s1)
/* 109320 802E7AA0 00021400 */ sll $v0, $v0, 0x10
/* 109324 802E7AA4 14400004 */ bnez $v0, .L802E7AB8
/* 109328 802E7AA8 00000000 */ nop
/* 10932C 802E7AAC 0C043F5A */ jal exec_entity_commandlist
/* 109330 802E7AB0 0200202D */ daddu $a0, $s0, $zero
/* 109334 802E7AB4 A2200004 */ sb $zero, 4($s1)
.L802E7AB8:
/* 109338 802E7AB8 8FBF0034 */ lw $ra, 0x34($sp)
/* 10933C 802E7ABC 8FB20030 */ lw $s2, 0x30($sp)
/* 109340 802E7AC0 8FB1002C */ lw $s1, 0x2c($sp)
/* 109344 802E7AC4 8FB00028 */ lw $s0, 0x28($sp)
/* 109348 802E7AC8 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* 10934C 802E7ACC D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 109350 802E7AD0 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 109354 802E7AD4 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 109358 802E7AD8 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 10935C 802E7ADC 03E00008 */ jr $ra
/* 109360 802E7AE0 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,22 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD4FC_323E4C
/* 323E4C 802BD4FC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 323E50 802BD500 3C058011 */ lui $a1, %hi(D_8010C954)
/* 323E54 802BD504 24A5C954 */ addiu $a1, $a1, %lo(D_8010C954)
/* 323E58 802BD508 AFBF0010 */ sw $ra, 0x10($sp)
/* 323E5C 802BD50C 8CA20000 */ lw $v0, ($a1)
/* 323E60 802BD510 10400008 */ beqz $v0, .L802BD534
/* 323E64 802BD514 00000000 */ nop
/* 323E68 802BD518 3C03802C */ lui $v1, %hi(D_802BDFFC_32494C)
/* 323E6C 802BD51C 8C63DFFC */ lw $v1, %lo(D_802BDFFC_32494C)($v1)
/* 323E70 802BD520 8C620008 */ lw $v0, 8($v1)
/* 323E74 802BD524 ACA00000 */ sw $zero, ($a1)
/* 323E78 802BD528 AC820000 */ sw $v0, ($a0)
/* 323E7C 802BD52C 0C03BD17 */ jal partner_clear_player_tracking
/* 323E80 802BD530 AC600004 */ sw $zero, 4($v1)
.L802BD534:
/* 323E84 802BD534 8FBF0010 */ lw $ra, 0x10($sp)
/* 323E88 802BD538 03E00008 */ jr $ra
/* 323E8C 802BD53C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,509 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802BE068_3249B8
.word L802BDB88_3244D8, L802BDC64_3245B4, L802BDD74_3246C4, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BDDC4_324714, L802BD894_3241E4, L802BDA20_324370, 0
.section .text
glabel func_802BD694_323FE4
/* 323FE4 802BD694 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 323FE8 802BD698 AFB40030 */ sw $s4, 0x30($sp)
/* 323FEC 802BD69C 0080A02D */ daddu $s4, $a0, $zero
/* 323FF0 802BD6A0 AFB3002C */ sw $s3, 0x2c($sp)
/* 323FF4 802BD6A4 3C138011 */ lui $s3, %hi(gPlayerStatus)
/* 323FF8 802BD6A8 2673EFC8 */ addiu $s3, $s3, %lo(gPlayerStatus)
/* 323FFC 802BD6AC AFB50034 */ sw $s5, 0x34($sp)
/* 324000 802BD6B0 3C158011 */ lui $s5, %hi(gPartnerActionStatus)
/* 324004 802BD6B4 26B5EBB0 */ addiu $s5, $s5, %lo(gPartnerActionStatus)
/* 324008 802BD6B8 AFB10024 */ sw $s1, 0x24($sp)
/* 32400C 802BD6BC 3C118016 */ lui $s1, %hi(gCollisionStatus)
/* 324010 802BD6C0 2631A550 */ addiu $s1, $s1, %lo(gCollisionStatus)
/* 324014 802BD6C4 AFBF0038 */ sw $ra, 0x38($sp)
/* 324018 802BD6C8 AFB20028 */ sw $s2, 0x28($sp)
/* 32401C 802BD6CC AFB00020 */ sw $s0, 0x20($sp)
/* 324020 802BD6D0 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 324024 802BD6D4 10A0001C */ beqz $a1, .L802BD748
/* 324028 802BD6D8 8E92014C */ lw $s2, 0x14c($s4)
/* 32402C 802BD6DC 0C0AF53F */ jal func_802BD4FC_323E4C
/* 324030 802BD6E0 0240202D */ daddu $a0, $s2, $zero
/* 324034 802BD6E4 8E620004 */ lw $v0, 4($s3)
/* 324038 802BD6E8 3C030010 */ lui $v1, 0x10
/* 32403C 802BD6EC 00431024 */ and $v0, $v0, $v1
/* 324040 802BD6F0 144001B5 */ bnez $v0, .L802BDDC8
/* 324044 802BD6F4 24020002 */ addiu $v0, $zero, 2
/* 324048 802BD6F8 0C03A94B */ jal func_800EA52C
/* 32404C 802BD6FC 24040009 */ addiu $a0, $zero, 9
/* 324050 802BD700 1040001C */ beqz $v0, .L802BD774
/* 324054 802BD704 3C020020 */ lui $v0, 0x20
/* 324058 802BD708 8E630004 */ lw $v1, 4($s3)
/* 32405C 802BD70C 00621024 */ and $v0, $v1, $v0
/* 324060 802BD710 1040000B */ beqz $v0, .L802BD740
/* 324064 802BD714 3C02FFDF */ lui $v0, 0xffdf
/* 324068 802BD718 3442FFFF */ ori $v0, $v0, 0xffff
/* 32406C 802BD71C 00621024 */ and $v0, $v1, $v0
/* 324070 802BD720 0C03805E */ jal disable_player_input
/* 324074 802BD724 AE620004 */ sw $v0, 4($s3)
/* 324078 802BD728 AE820078 */ sw $v0, 0x78($s4)
/* 32407C 802BD72C 24020001 */ addiu $v0, $zero, 1
/* 324080 802BD730 3C01802C */ lui $at, %hi(D_802BE0C4)
/* 324084 802BD734 AC22E0C4 */ sw $v0, %lo(D_802BE0C4)($at)
/* 324088 802BD738 080AF5D1 */ j .L802BD744
/* 32408C 802BD73C 24020014 */ addiu $v0, $zero, 0x14
.L802BD740:
/* 324090 802BD740 24020028 */ addiu $v0, $zero, 0x28
.L802BD744:
/* 324094 802BD744 AE820070 */ sw $v0, 0x70($s4)
.L802BD748:
/* 324098 802BD748 8E830070 */ lw $v1, 0x70($s4)
/* 32409C 802BD74C 24020028 */ addiu $v0, $zero, 0x28
/* 3240A0 802BD750 10620005 */ beq $v1, $v0, .L802BD768
/* 3240A4 802BD754 24020029 */ addiu $v0, $zero, 0x29
/* 3240A8 802BD758 10620015 */ beq $v1, $v0, .L802BD7B0
/* 3240AC 802BD75C 00000000 */ nop
/* 3240B0 802BD760 080AF61B */ j .L802BD86C
/* 3240B4 802BD764 00000000 */ nop
.L802BD768:
/* 3240B8 802BD768 82620015 */ lb $v0, 0x15($s3)
/* 3240BC 802BD76C 10400003 */ beqz $v0, .L802BD77C
/* 3240C0 802BD770 00000000 */ nop
.L802BD774:
/* 3240C4 802BD774 080AF772 */ j .L802BDDC8
/* 3240C8 802BD778 24020002 */ addiu $v0, $zero, 2
.L802BD77C:
/* 3240CC 802BD77C 8E620000 */ lw $v0, ($s3)
/* 3240D0 802BD780 34420100 */ ori $v0, $v0, 0x100
/* 3240D4 802BD784 AE620000 */ sw $v0, ($s3)
/* 3240D8 802BD788 24020003 */ addiu $v0, $zero, 3
/* 3240DC 802BD78C 0C03805E */ jal disable_player_input
/* 3240E0 802BD790 AE820074 */ sw $v0, 0x74($s4)
/* 3240E4 802BD794 AE820078 */ sw $v0, 0x78($s4)
/* 3240E8 802BD798 8E820070 */ lw $v0, 0x70($s4)
/* 3240EC 802BD79C 24030001 */ addiu $v1, $zero, 1
/* 3240F0 802BD7A0 3C01802C */ lui $at, %hi(D_802BE0C4)
/* 3240F4 802BD7A4 AC23E0C4 */ sw $v1, %lo(D_802BE0C4)($at)
/* 3240F8 802BD7A8 080AF61A */ j .L802BD868
/* 3240FC 802BD7AC 00431021 */ addu $v0, $v0, $v1
.L802BD7B0:
/* 324100 802BD7B0 0C03A94B */ jal func_800EA52C
/* 324104 802BD7B4 24040009 */ addiu $a0, $zero, 9
/* 324108 802BD7B8 10400005 */ beqz $v0, .L802BD7D0
/* 32410C 802BD7BC 00000000 */ nop
/* 324110 802BD7C0 0C011052 */ jal is_starting_conversation
/* 324114 802BD7C4 00000000 */ nop
/* 324118 802BD7C8 10400010 */ beqz $v0, .L802BD80C
/* 32411C 802BD7CC 00000000 */ nop
.L802BD7D0:
/* 324120 802BD7D0 82630015 */ lb $v1, 0x15($s3)
/* 324124 802BD7D4 8E820078 */ lw $v0, 0x78($s4)
/* 324128 802BD7D8 0043102A */ slt $v0, $v0, $v1
/* 32412C 802BD7DC 1040000B */ beqz $v0, .L802BD80C
/* 324130 802BD7E0 00000000 */ nop
/* 324134 802BD7E4 3C10802C */ lui $s0, %hi(D_802BE0C4)
/* 324138 802BD7E8 2610E0C4 */ addiu $s0, $s0, %lo(D_802BE0C4)
/* 32413C 802BD7EC 8E020000 */ lw $v0, ($s0)
/* 324140 802BD7F0 10400006 */ beqz $v0, .L802BD80C
/* 324144 802BD7F4 00000000 */ nop
/* 324148 802BD7F8 0C038069 */ jal enable_player_input
/* 32414C 802BD7FC 00000000 */ nop
/* 324150 802BD800 24020002 */ addiu $v0, $zero, 2
/* 324154 802BD804 080AF615 */ j .L802BD854
/* 324158 802BD808 AE000000 */ sw $zero, ($s0)
.L802BD80C:
/* 32415C 802BD80C 8E820074 */ lw $v0, 0x74($s4)
/* 324160 802BD810 2442FFFF */ addiu $v0, $v0, -1
/* 324164 802BD814 14400015 */ bnez $v0, .L802BD86C
/* 324168 802BD818 AE820074 */ sw $v0, 0x74($s4)
/* 32416C 802BD81C 82630015 */ lb $v1, 0x15($s3)
/* 324170 802BD820 8E820078 */ lw $v0, 0x78($s4)
/* 324174 802BD824 0043102A */ slt $v0, $v0, $v1
/* 324178 802BD828 1040000F */ beqz $v0, .L802BD868
/* 32417C 802BD82C 24020014 */ addiu $v0, $zero, 0x14
/* 324180 802BD830 3C10802C */ lui $s0, %hi(D_802BE0C4)
/* 324184 802BD834 2610E0C4 */ addiu $s0, $s0, %lo(D_802BE0C4)
/* 324188 802BD838 8E020000 */ lw $v0, ($s0)
/* 32418C 802BD83C 10400005 */ beqz $v0, .L802BD854
/* 324190 802BD840 24020002 */ addiu $v0, $zero, 2
/* 324194 802BD844 0C038069 */ jal enable_player_input
/* 324198 802BD848 00000000 */ nop
/* 32419C 802BD84C AE000000 */ sw $zero, ($s0)
/* 3241A0 802BD850 24020002 */ addiu $v0, $zero, 2
.L802BD854:
/* 3241A4 802BD854 8E630000 */ lw $v1, ($s3)
/* 3241A8 802BD858 2404FEFF */ addiu $a0, $zero, -0x101
/* 3241AC 802BD85C 00641824 */ and $v1, $v1, $a0
/* 3241B0 802BD860 080AF772 */ j .L802BDDC8
/* 3241B4 802BD864 AE630000 */ sw $v1, ($s3)
.L802BD868:
/* 3241B8 802BD868 AE820070 */ sw $v0, 0x70($s4)
.L802BD86C:
/* 3241BC 802BD86C 8E820070 */ lw $v0, 0x70($s4)
/* 3241C0 802BD870 2443FFFF */ addiu $v1, $v0, -1
/* 3241C4 802BD874 2C620015 */ sltiu $v0, $v1, 0x15
/* 3241C8 802BD878 10400152 */ beqz $v0, L802BDDC4_324714
/* 3241CC 802BD87C 00031080 */ sll $v0, $v1, 2
/* 3241D0 802BD880 3C01802C */ lui $at, %hi(jtbl_802BE068_3249B8)
/* 3241D4 802BD884 00220821 */ addu $at, $at, $v0
/* 3241D8 802BD888 8C22E068 */ lw $v0, %lo(jtbl_802BE068_3249B8)($at)
/* 3241DC 802BD88C 00400008 */ jr $v0
/* 3241E0 802BD890 00000000 */ nop
glabel L802BD894_3241E4
/* 3241E4 802BD894 8E640000 */ lw $a0, ($s3)
/* 3241E8 802BD898 30820800 */ andi $v0, $a0, 0x800
/* 3241EC 802BD89C 1040000B */ beqz $v0, .L802BD8CC
/* 3241F0 802BD8A0 2402FEFF */ addiu $v0, $zero, -0x101
/* 3241F4 802BD8A4 3C10802C */ lui $s0, %hi(D_802BE0C4)
/* 3241F8 802BD8A8 2610E0C4 */ addiu $s0, $s0, %lo(D_802BE0C4)
/* 3241FC 802BD8AC 8E030000 */ lw $v1, ($s0)
/* 324200 802BD8B0 00821024 */ and $v0, $a0, $v0
/* 324204 802BD8B4 1060FFAF */ beqz $v1, .L802BD774
/* 324208 802BD8B8 AE620000 */ sw $v0, ($s3)
/* 32420C 802BD8BC 0C038069 */ jal enable_player_input
/* 324210 802BD8C0 00000000 */ nop
/* 324214 802BD8C4 080AF5DD */ j .L802BD774
/* 324218 802BD8C8 AE000000 */ sw $zero, ($s0)
.L802BD8CC:
/* 32421C 802BD8CC 8E820078 */ lw $v0, 0x78($s4)
/* 324220 802BD8D0 10400003 */ beqz $v0, .L802BD8E0
/* 324224 802BD8D4 24020001 */ addiu $v0, $zero, 1
/* 324228 802BD8D8 3C01802C */ lui $at, %hi(D_802BE0C4)
/* 32422C 802BD8DC AC22E0C4 */ sw $v0, %lo(D_802BE0C4)($at)
.L802BD8E0:
/* 324230 802BD8E0 24040001 */ addiu $a0, $zero, 1
/* 324234 802BD8E4 8E420000 */ lw $v0, ($s2)
/* 324238 802BD8E8 2403F5FF */ addiu $v1, $zero, -0xa01
/* 32423C 802BD8EC 3C01802C */ lui $at, %hi(D_802BE0C0)
/* 324240 802BD8F0 AC24E0C0 */ sw $a0, %lo(D_802BE0C0)($at)
/* 324244 802BD8F4 00431024 */ and $v0, $v0, $v1
/* 324248 802BD8F8 AE420000 */ sw $v0, ($s2)
/* 32424C 802BD8FC A2A40000 */ sb $a0, ($s5)
/* 324250 802BD900 8E620000 */ lw $v0, ($s3)
/* 324254 802BD904 24030009 */ addiu $v1, $zero, 9
/* 324258 802BD908 A2A30003 */ sb $v1, 3($s5)
/* 32425C 802BD90C 34428000 */ ori $v0, $v0, 0x8000
/* 324260 802BD910 0C03BD38 */ jal func_800EF4E0
/* 324264 802BD914 AE620000 */ sw $v0, ($s3)
/* 324268 802BD918 C6600028 */ lwc1 $f0, 0x28($s3)
/* 32426C 802BD91C 26510060 */ addiu $s1, $s2, 0x60
/* 324270 802BD920 E6400060 */ swc1 $f0, 0x60($s2)
/* 324274 802BD924 866200B0 */ lh $v0, 0xb0($s3)
/* 324278 802BD928 3C013F00 */ lui $at, 0x3f00
/* 32427C 802BD92C 4481A000 */ mtc1 $at, $f20
/* 324280 802BD930 44820000 */ mtc1 $v0, $f0
/* 324284 802BD934 00000000 */ nop
/* 324288 802BD938 46800020 */ cvt.s.w $f0, $f0
/* 32428C 802BD93C 46140002 */ mul.s $f0, $f0, $f20
/* 324290 802BD940 00000000 */ nop
/* 324294 802BD944 0220202D */ daddu $a0, $s1, $zero
/* 324298 802BD948 26500068 */ addiu $s0, $s2, 0x68
/* 32429C 802BD94C C662002C */ lwc1 $f2, 0x2c($s3)
/* 3242A0 802BD950 3C06C000 */ lui $a2, 0xc000
/* 3242A4 802BD954 46001080 */ add.s $f2, $f2, $f0
/* 3242A8 802BD958 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3242AC 802BD95C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3242B0 802BD960 3C020005 */ lui $v0, 5
/* 3242B4 802BD964 E6420064 */ swc1 $f2, 0x64($s2)
/* 3242B8 802BD968 C6600030 */ lwc1 $f0, 0x30($s3)
/* 3242BC 802BD96C 34420002 */ ori $v0, $v0, 2
/* 3242C0 802BD970 AE420028 */ sw $v0, 0x28($s2)
/* 3242C4 802BD974 00031080 */ sll $v0, $v1, 2
/* 3242C8 802BD978 00431021 */ addu $v0, $v0, $v1
/* 3242CC 802BD97C 00021080 */ sll $v0, $v0, 2
/* 3242D0 802BD980 00431023 */ subu $v0, $v0, $v1
/* 3242D4 802BD984 000218C0 */ sll $v1, $v0, 3
/* 3242D8 802BD988 00431021 */ addu $v0, $v0, $v1
/* 3242DC 802BD98C E6400068 */ swc1 $f0, 0x68($s2)
/* 3242E0 802BD990 C6600080 */ lwc1 $f0, 0x80($s3)
/* 3242E4 802BD994 000210C0 */ sll $v0, $v0, 3
/* 3242E8 802BD998 E640000C */ swc1 $f0, 0xc($s2)
/* 3242EC 802BD99C 3C07800B */ lui $a3, %hi(gCameras+0x6C)
/* 3242F0 802BD9A0 00E23821 */ addu $a3, $a3, $v0
/* 3242F4 802BD9A4 8CE71DEC */ lw $a3, %lo(gCameras+0x6C)($a3)
/* 3242F8 802BD9A8 0C00A7E7 */ jal add_vec2D_polar
/* 3242FC 802BD9AC 0200282D */ daddu $a1, $s0, $zero
/* 324300 802BD9B0 866200B2 */ lh $v0, 0xb2($s3)
/* 324304 802BD9B4 44820000 */ mtc1 $v0, $f0
/* 324308 802BD9B8 00000000 */ nop
/* 32430C 802BD9BC 46800020 */ cvt.s.w $f0, $f0
/* 324310 802BD9C0 46140002 */ mul.s $f0, $f0, $f20
/* 324314 802BD9C4 00000000 */ nop
/* 324318 802BD9C8 0220202D */ daddu $a0, $s1, $zero
/* 32431C 802BD9CC 8E47000C */ lw $a3, 0xc($s2)
/* 324320 802BD9D0 44060000 */ mfc1 $a2, $f0
/* 324324 802BD9D4 0C00A7E7 */ jal add_vec2D_polar
/* 324328 802BD9D8 0200282D */ daddu $a1, $s0, $zero
/* 32432C 802BD9DC C64C0038 */ lwc1 $f12, 0x38($s2)
/* 324330 802BD9E0 C64E0040 */ lwc1 $f14, 0x40($s2)
/* 324334 802BD9E4 24020005 */ addiu $v0, $zero, 5
/* 324338 802BD9E8 A642008E */ sh $v0, 0x8e($s2)
/* 32433C 802BD9EC 8E660028 */ lw $a2, 0x28($s3)
/* 324340 802BD9F0 0C00A720 */ jal atan2
/* 324344 802BD9F4 8E670030 */ lw $a3, 0x30($s3)
/* 324348 802BD9F8 24040021 */ addiu $a0, $zero, 0x21
/* 32434C 802BD9FC 0C039769 */ jal set_action_state
/* 324350 802BDA00 E640000C */ swc1 $f0, 0xc($s2)
/* 324354 802BDA04 3C040001 */ lui $a0, 1
/* 324358 802BDA08 0C037FBF */ jal suggest_player_anim_clearUnkFlag
/* 32435C 802BDA0C 34840002 */ ori $a0, $a0, 2
/* 324360 802BDA10 8E820070 */ lw $v0, 0x70($s4)
/* 324364 802BDA14 24420001 */ addiu $v0, $v0, 1
/* 324368 802BDA18 080AF771 */ j L802BDDC4_324714
/* 32436C 802BDA1C AE820070 */ sw $v0, 0x70($s4)
glabel L802BDA20_324370
/* 324370 802BDA20 86220002 */ lh $v0, 2($s1)
/* 324374 802BDA24 04400092 */ bltz $v0, .L802BDC70
/* 324378 802BDA28 3C030010 */ lui $v1, 0x10
/* 32437C 802BDA2C 8E620004 */ lw $v0, 4($s3)
/* 324380 802BDA30 00431024 */ and $v0, $v0, $v1
/* 324384 802BDA34 1440008E */ bnez $v0, .L802BDC70
/* 324388 802BDA38 00000000 */ nop
/* 32438C 802BDA3C C6600028 */ lwc1 $f0, 0x28($s3)
/* 324390 802BDA40 E6400060 */ swc1 $f0, 0x60($s2)
/* 324394 802BDA44 866200B0 */ lh $v0, 0xb0($s3)
/* 324398 802BDA48 3C013F00 */ lui $at, 0x3f00
/* 32439C 802BDA4C 44811000 */ mtc1 $at, $f2
/* 3243A0 802BDA50 44820000 */ mtc1 $v0, $f0
/* 3243A4 802BDA54 00000000 */ nop
/* 3243A8 802BDA58 46800020 */ cvt.s.w $f0, $f0
/* 3243AC 802BDA5C 46020002 */ mul.s $f0, $f0, $f2
/* 3243B0 802BDA60 00000000 */ nop
/* 3243B4 802BDA64 C64A0038 */ lwc1 $f10, 0x38($s2)
/* 3243B8 802BDA68 C648003C */ lwc1 $f8, 0x3c($s2)
/* 3243BC 802BDA6C C6420060 */ lwc1 $f2, 0x60($s2)
/* 3243C0 802BDA70 C6460040 */ lwc1 $f6, 0x40($s2)
/* 3243C4 802BDA74 460A1081 */ sub.s $f2, $f2, $f10
/* 3243C8 802BDA78 C664002C */ lwc1 $f4, 0x2c($s3)
/* 3243CC 802BDA7C 8642008E */ lh $v0, 0x8e($s2)
/* 3243D0 802BDA80 46002100 */ add.s $f4, $f4, $f0
/* 3243D4 802BDA84 44820000 */ mtc1 $v0, $f0
/* 3243D8 802BDA88 00000000 */ nop
/* 3243DC 802BDA8C 46800020 */ cvt.s.w $f0, $f0
/* 3243E0 802BDA90 46001083 */ div.s $f2, $f2, $f0
/* 3243E4 802BDA94 46025280 */ add.s $f10, $f10, $f2
/* 3243E8 802BDA98 E6440064 */ swc1 $f4, 0x64($s2)
/* 3243EC 802BDA9C 46002006 */ mov.s $f0, $f4
/* 3243F0 802BDAA0 C6620030 */ lwc1 $f2, 0x30($s3)
/* 3243F4 802BDAA4 46080001 */ sub.s $f0, $f0, $f8
/* 3243F8 802BDAA8 E6420068 */ swc1 $f2, 0x68($s2)
/* 3243FC 802BDAAC 46061081 */ sub.s $f2, $f2, $f6
/* 324400 802BDAB0 44822000 */ mtc1 $v0, $f4
/* 324404 802BDAB4 00000000 */ nop
/* 324408 802BDAB8 46802120 */ cvt.s.w $f4, $f4
/* 32440C 802BDABC 46040003 */ div.s $f0, $f0, $f4
/* 324410 802BDAC0 46004200 */ add.s $f8, $f8, $f0
/* 324414 802BDAC4 46002006 */ mov.s $f0, $f4
/* 324418 802BDAC8 9642008E */ lhu $v0, 0x8e($s2)
/* 32441C 802BDACC 46001083 */ div.s $f2, $f2, $f0
/* 324420 802BDAD0 46023180 */ add.s $f6, $f6, $f2
/* 324424 802BDAD4 E64A0038 */ swc1 $f10, 0x38($s2)
/* 324428 802BDAD8 E648003C */ swc1 $f8, 0x3c($s2)
/* 32442C 802BDADC E6460040 */ swc1 $f6, 0x40($s2)
/* 324430 802BDAE0 C6640028 */ lwc1 $f4, 0x28($s3)
/* 324434 802BDAE4 46005006 */ mov.s $f0, $f10
/* 324438 802BDAE8 460A2101 */ sub.s $f4, $f4, $f10
/* 32443C 802BDAEC C662002C */ lwc1 $f2, 0x2c($s3)
/* 324440 802BDAF0 46004006 */ mov.s $f0, $f8
/* 324444 802BDAF4 46081081 */ sub.s $f2, $f2, $f8
/* 324448 802BDAF8 C6600030 */ lwc1 $f0, 0x30($s3)
/* 32444C 802BDAFC 2442FFFF */ addiu $v0, $v0, -1
/* 324450 802BDB00 A642008E */ sh $v0, 0x8e($s2)
/* 324454 802BDB04 00021400 */ sll $v0, $v0, 0x10
/* 324458 802BDB08 46060001 */ sub.s $f0, $f0, $f6
/* 32445C 802BDB0C 4600240D */ trunc.w.s $f16, $f4
/* 324460 802BDB10 3C01802C */ lui $at, %hi(D_802BE0E4)
/* 324464 802BDB14 E430E0E4 */ swc1 $f16, %lo(D_802BE0E4)($at)
/* 324468 802BDB18 4600140D */ trunc.w.s $f16, $f2
/* 32446C 802BDB1C 3C01802C */ lui $at, %hi(D_802BE0E8)
/* 324470 802BDB20 E430E0E8 */ swc1 $f16, %lo(D_802BE0E8)($at)
/* 324474 802BDB24 4600040D */ trunc.w.s $f16, $f0
/* 324478 802BDB28 3C01802C */ lui $at, %hi(D_802BE0EC)
/* 32447C 802BDB2C E430E0EC */ swc1 $f16, %lo(D_802BE0EC)($at)
/* 324480 802BDB30 144000A5 */ bnez $v0, .L802BDDC8
/* 324484 802BDB34 0000102D */ daddu $v0, $zero, $zero
/* 324488 802BDB38 0240202D */ daddu $a0, $s2, $zero
/* 32448C 802BDB3C C6600080 */ lwc1 $f0, 0x80($s3)
/* 324490 802BDB40 24050007 */ addiu $a1, $zero, 7
/* 324494 802BDB44 E480000C */ swc1 $f0, 0xc($a0)
/* 324498 802BDB48 9266000E */ lbu $a2, 0xe($s3)
/* 32449C 802BDB4C 0000382D */ daddu $a3, $zero, $zero
/* 3244A0 802BDB50 AFA00010 */ sw $zero, 0x10($sp)
/* 3244A4 802BDB54 AFA00014 */ sw $zero, 0x14($sp)
/* 3244A8 802BDB58 0C00F589 */ jal func_8003D624
/* 3244AC 802BDB5C AFA00018 */ sw $zero, 0x18($sp)
/* 3244B0 802BDB60 3C040001 */ lui $a0, 1
/* 3244B4 802BDB64 0C037FDE */ jal suggest_player_anim_setUnkFlag
/* 3244B8 802BDB68 34840014 */ ori $a0, $a0, 0x14
/* 3244BC 802BDB6C 2404200E */ addiu $a0, $zero, 0x200e
/* 3244C0 802BDB70 0000282D */ daddu $a1, $zero, $zero
/* 3244C4 802BDB74 0C052742 */ jal sfx_play_sound_at_npc
/* 3244C8 802BDB78 2406FFFC */ addiu $a2, $zero, -4
/* 3244CC 802BDB7C 24020001 */ addiu $v0, $zero, 1
/* 3244D0 802BDB80 080AF771 */ j L802BDDC4_324714
/* 3244D4 802BDB84 AE820070 */ sw $v0, 0x70($s4)
glabel L802BDB88_3244D8
/* 3244D8 802BDB88 86220002 */ lh $v0, 2($s1)
/* 3244DC 802BDB8C 04400038 */ bltz $v0, .L802BDC70
/* 3244E0 802BDB90 00000000 */ nop
/* 3244E4 802BDB94 9262000E */ lbu $v0, 0xe($s3)
/* 3244E8 802BDB98 2442FFF8 */ addiu $v0, $v0, -8
/* 3244EC 802BDB9C A262000E */ sb $v0, 0xe($s3)
/* 3244F0 802BDBA0 304200FF */ andi $v0, $v0, 0xff
/* 3244F4 802BDBA4 2C420081 */ sltiu $v0, $v0, 0x81
/* 3244F8 802BDBA8 1040000E */ beqz $v0, .L802BDBE4
/* 3244FC 802BDBAC 24020080 */ addiu $v0, $zero, 0x80
/* 324500 802BDBB0 A262000E */ sb $v0, 0xe($s3)
/* 324504 802BDBB4 24020016 */ addiu $v0, $zero, 0x16
/* 324508 802BDBB8 A24200AA */ sb $v0, 0xaa($s2)
/* 32450C 802BDBBC 8E820070 */ lw $v0, 0x70($s4)
/* 324510 802BDBC0 24420001 */ addiu $v0, $v0, 1
/* 324514 802BDBC4 AE820070 */ sw $v0, 0x70($s4)
/* 324518 802BDBC8 8E620000 */ lw $v0, ($s3)
/* 32451C 802BDBCC 2403FEFF */ addiu $v1, $zero, -0x101
/* 324520 802BDBD0 00431024 */ and $v0, $v0, $v1
/* 324524 802BDBD4 AE620000 */ sw $v0, ($s3)
/* 324528 802BDBD8 8E420000 */ lw $v0, ($s2)
/* 32452C 802BDBDC 34420040 */ ori $v0, $v0, 0x40
/* 324530 802BDBE0 AE420000 */ sw $v0, ($s2)
.L802BDBE4:
/* 324534 802BDBE4 0C044181 */ jal get_shadow_by_index
/* 324538 802BDBE8 8E440078 */ lw $a0, 0x78($s2)
/* 32453C 802BDBEC 0240202D */ daddu $a0, $s2, $zero
/* 324540 802BDBF0 9263000E */ lbu $v1, 0xe($s3)
/* 324544 802BDBF4 24050007 */ addiu $a1, $zero, 7
/* 324548 802BDBF8 00031842 */ srl $v1, $v1, 1
/* 32454C 802BDBFC A0430005 */ sb $v1, 5($v0)
/* 324550 802BDC00 9266000E */ lbu $a2, 0xe($s3)
/* 324554 802BDC04 0000382D */ daddu $a3, $zero, $zero
/* 324558 802BDC08 AFA00010 */ sw $zero, 0x10($sp)
/* 32455C 802BDC0C AFA00014 */ sw $zero, 0x14($sp)
/* 324560 802BDC10 0C00F589 */ jal func_8003D624
/* 324564 802BDC14 AFA00018 */ sw $zero, 0x18($sp)
/* 324568 802BDC18 C6600028 */ lwc1 $f0, 0x28($s3)
/* 32456C 802BDC1C 3C01802C */ lui $at, %hi(D_802BE0E4)
/* 324570 802BDC20 C422E0E4 */ lwc1 $f2, %lo(D_802BE0E4)($at)
/* 324574 802BDC24 468010A0 */ cvt.s.w $f2, $f2
/* 324578 802BDC28 46020001 */ sub.s $f0, $f0, $f2
/* 32457C 802BDC2C E6400038 */ swc1 $f0, 0x38($s2)
/* 324580 802BDC30 C660002C */ lwc1 $f0, 0x2c($s3)
/* 324584 802BDC34 3C01802C */ lui $at, %hi(D_802BE0E8)
/* 324588 802BDC38 C422E0E8 */ lwc1 $f2, %lo(D_802BE0E8)($at)
/* 32458C 802BDC3C 468010A0 */ cvt.s.w $f2, $f2
/* 324590 802BDC40 46020001 */ sub.s $f0, $f0, $f2
/* 324594 802BDC44 E640003C */ swc1 $f0, 0x3c($s2)
/* 324598 802BDC48 C6600030 */ lwc1 $f0, 0x30($s3)
/* 32459C 802BDC4C 3C01802C */ lui $at, %hi(D_802BE0EC)
/* 3245A0 802BDC50 C422E0EC */ lwc1 $f2, %lo(D_802BE0EC)($at)
/* 3245A4 802BDC54 468010A0 */ cvt.s.w $f2, $f2
/* 3245A8 802BDC58 46020001 */ sub.s $f0, $f0, $f2
/* 3245AC 802BDC5C 080AF771 */ j L802BDDC4_324714
/* 3245B0 802BDC60 E6400040 */ swc1 $f0, 0x40($s2)
glabel L802BDC64_3245B4
/* 3245B4 802BDC64 86220002 */ lh $v0, 2($s1)
/* 3245B8 802BDC68 04410005 */ bgez $v0, .L802BDC80
/* 3245BC 802BDC6C 00000000 */ nop
.L802BDC70:
/* 3245C0 802BDC70 0C0AF77C */ jal func_802BDDF0_324740
/* 3245C4 802BDC74 0240202D */ daddu $a0, $s2, $zero
/* 3245C8 802BDC78 080AF772 */ j .L802BDDC8
/* 3245CC 802BDC7C 24020002 */ addiu $v0, $zero, 2
.L802BDC80:
/* 3245D0 802BDC80 C6600028 */ lwc1 $f0, 0x28($s3)
/* 3245D4 802BDC84 3C01802C */ lui $at, %hi(D_802BE0E4)
/* 3245D8 802BDC88 C422E0E4 */ lwc1 $f2, %lo(D_802BE0E4)($at)
/* 3245DC 802BDC8C 468010A0 */ cvt.s.w $f2, $f2
/* 3245E0 802BDC90 46020001 */ sub.s $f0, $f0, $f2
/* 3245E4 802BDC94 E6400038 */ swc1 $f0, 0x38($s2)
/* 3245E8 802BDC98 C660002C */ lwc1 $f0, 0x2c($s3)
/* 3245EC 802BDC9C 3C01802C */ lui $at, %hi(D_802BE0E8)
/* 3245F0 802BDCA0 C422E0E8 */ lwc1 $f2, %lo(D_802BE0E8)($at)
/* 3245F4 802BDCA4 468010A0 */ cvt.s.w $f2, $f2
/* 3245F8 802BDCA8 46020001 */ sub.s $f0, $f0, $f2
/* 3245FC 802BDCAC E640003C */ swc1 $f0, 0x3c($s2)
/* 324600 802BDCB0 C6600030 */ lwc1 $f0, 0x30($s3)
/* 324604 802BDCB4 3C01802C */ lui $at, %hi(D_802BE0EC)
/* 324608 802BDCB8 C422E0EC */ lwc1 $f2, %lo(D_802BE0EC)($at)
/* 32460C 802BDCBC 468010A0 */ cvt.s.w $f2, $f2
/* 324610 802BDCC0 46020001 */ sub.s $f0, $f0, $f2
/* 324614 802BDCC4 44806000 */ mtc1 $zero, $f12
/* 324618 802BDCC8 E6400040 */ swc1 $f0, 0x40($s2)
/* 32461C 802BDCCC 86A20004 */ lh $v0, 4($s5)
/* 324620 802BDCD0 86A30006 */ lh $v1, 6($s5)
/* 324624 802BDCD4 44828000 */ mtc1 $v0, $f16
/* 324628 802BDCD8 00000000 */ nop
/* 32462C 802BDCDC 46808420 */ cvt.s.w $f16, $f16
/* 324630 802BDCE0 44068000 */ mfc1 $a2, $f16
/* 324634 802BDCE4 44838000 */ mtc1 $v1, $f16
/* 324638 802BDCE8 00000000 */ nop
/* 32463C 802BDCEC 46808420 */ cvt.s.w $f16, $f16
/* 324640 802BDCF0 44078000 */ mfc1 $a3, $f16
/* 324644 802BDCF4 0C00A7B5 */ jal dist2D
/* 324648 802BDCF8 46006386 */ mov.s $f14, $f12
/* 32464C 802BDCFC 86220002 */ lh $v0, 2($s1)
/* 324650 802BDD00 04400010 */ bltz $v0, .L802BDD44
/* 324654 802BDD04 46000086 */ mov.s $f2, $f0
/* 324658 802BDD08 3C014120 */ lui $at, 0x4120
/* 32465C 802BDD0C 44810000 */ mtc1 $at, $f0
/* 324660 802BDD10 00000000 */ nop
/* 324664 802BDD14 4602003C */ c.lt.s $f0, $f2
/* 324668 802BDD18 00000000 */ nop
/* 32466C 802BDD1C 45010009 */ bc1t .L802BDD44
/* 324670 802BDD20 00000000 */ nop
/* 324674 802BDD24 8EA2000C */ lw $v0, 0xc($s5)
/* 324678 802BDD28 30424004 */ andi $v0, $v0, 0x4004
/* 32467C 802BDD2C 14400005 */ bnez $v0, .L802BDD44
/* 324680 802BDD30 00000000 */ nop
/* 324684 802BDD34 8E620000 */ lw $v0, ($s3)
/* 324688 802BDD38 30420800 */ andi $v0, $v0, 0x800
/* 32468C 802BDD3C 10400022 */ beqz $v0, .L802BDDC8
/* 324690 802BDD40 0000102D */ daddu $v0, $zero, $zero
.L802BDD44:
/* 324694 802BDD44 0C0AF550 */ jal func_802BD540_323E90
/* 324698 802BDD48 00000000 */ nop
/* 32469C 802BDD4C 0441001E */ bgez $v0, .L802BDDC8
/* 3246A0 802BDD50 0000102D */ daddu $v0, $zero, $zero
/* 3246A4 802BDD54 8E820070 */ lw $v0, 0x70($s4)
/* 3246A8 802BDD58 24030003 */ addiu $v1, $zero, 3
/* 3246AC 802BDD5C AE830074 */ sw $v1, 0x74($s4)
/* 3246B0 802BDD60 24420001 */ addiu $v0, $v0, 1
/* 3246B4 802BDD64 AE820070 */ sw $v0, 0x70($s4)
/* 3246B8 802BDD68 82620015 */ lb $v0, 0x15($s3)
/* 3246BC 802BDD6C 080AF771 */ j L802BDDC4_324714
/* 3246C0 802BDD70 AE820078 */ sw $v0, 0x78($s4)
glabel L802BDD74_3246C4
/* 3246C4 802BDD74 8E820074 */ lw $v0, 0x74($s4)
/* 3246C8 802BDD78 14400008 */ bnez $v0, .L802BDD9C
/* 3246CC 802BDD7C 2442FFFF */ addiu $v0, $v0, -1
/* 3246D0 802BDD80 82630015 */ lb $v1, 0x15($s3)
/* 3246D4 802BDD84 8E820078 */ lw $v0, 0x78($s4)
/* 3246D8 802BDD88 0043102A */ slt $v0, $v0, $v1
/* 3246DC 802BDD8C 10400005 */ beqz $v0, .L802BDDA4
/* 3246E0 802BDD90 24020002 */ addiu $v0, $zero, 2
/* 3246E4 802BDD94 080AF771 */ j L802BDDC4_324714
/* 3246E8 802BDD98 AE820070 */ sw $v0, 0x70($s4)
.L802BDD9C:
/* 3246EC 802BDD9C 080AF771 */ j L802BDDC4_324714
/* 3246F0 802BDDA0 AE820074 */ sw $v0, 0x74($s4)
.L802BDDA4:
/* 3246F4 802BDDA4 2404200F */ addiu $a0, $zero, 0x200f
/* 3246F8 802BDDA8 0000282D */ daddu $a1, $zero, $zero
/* 3246FC 802BDDAC 0C052742 */ jal sfx_play_sound_at_npc
/* 324700 802BDDB0 2406FFFC */ addiu $a2, $zero, -4
/* 324704 802BDDB4 0C0AF77C */ jal func_802BDDF0_324740
/* 324708 802BDDB8 0240202D */ daddu $a0, $s2, $zero
/* 32470C 802BDDBC 080AF772 */ j .L802BDDC8
/* 324710 802BDDC0 24020001 */ addiu $v0, $zero, 1
glabel L802BDDC4_324714
/* 324714 802BDDC4 0000102D */ daddu $v0, $zero, $zero
.L802BDDC8:
/* 324718 802BDDC8 8FBF0038 */ lw $ra, 0x38($sp)
/* 32471C 802BDDCC 8FB50034 */ lw $s5, 0x34($sp)
/* 324720 802BDDD0 8FB40030 */ lw $s4, 0x30($sp)
/* 324724 802BDDD4 8FB3002C */ lw $s3, 0x2c($sp)
/* 324728 802BDDD8 8FB20028 */ lw $s2, 0x28($sp)
/* 32472C 802BDDDC 8FB10024 */ lw $s1, 0x24($sp)
/* 324730 802BDDE0 8FB00020 */ lw $s0, 0x20($sp)
/* 324734 802BDDE4 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 324738 802BDDE8 03E00008 */ jr $ra
/* 32473C 802BDDEC 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,76 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BDDF0_324740
/* 324740 802BDDF0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 324744 802BDDF4 AFB10024 */ sw $s1, 0x24($sp)
/* 324748 802BDDF8 0080882D */ daddu $s1, $a0, $zero
/* 32474C 802BDDFC AFB00020 */ sw $s0, 0x20($sp)
/* 324750 802BDE00 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* 324754 802BDE04 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* 324758 802BDE08 240200FF */ addiu $v0, $zero, 0xff
/* 32475C 802BDE0C 0000282D */ daddu $a1, $zero, $zero
/* 324760 802BDE10 00A0302D */ daddu $a2, $a1, $zero
/* 324764 802BDE14 00A0382D */ daddu $a3, $a1, $zero
/* 324768 802BDE18 AFBF0034 */ sw $ra, 0x34($sp)
/* 32476C 802BDE1C AFB40030 */ sw $s4, 0x30($sp)
/* 324770 802BDE20 AFB3002C */ sw $s3, 0x2c($sp)
/* 324774 802BDE24 AFB20028 */ sw $s2, 0x28($sp)
/* 324778 802BDE28 A202000E */ sb $v0, 0xe($s0)
/* 32477C 802BDE2C AFA00010 */ sw $zero, 0x10($sp)
/* 324780 802BDE30 AFA00014 */ sw $zero, 0x14($sp)
/* 324784 802BDE34 0C00F589 */ jal func_8003D624
/* 324788 802BDE38 AFA00018 */ sw $zero, 0x18($sp)
/* 32478C 802BDE3C 8E240078 */ lw $a0, 0x78($s1)
/* 324790 802BDE40 24020011 */ addiu $v0, $zero, 0x11
/* 324794 802BDE44 0C044181 */ jal get_shadow_by_index
/* 324798 802BDE48 A22200AA */ sb $v0, 0xaa($s1)
/* 32479C 802BDE4C 9203000E */ lbu $v1, 0xe($s0)
/* 3247A0 802BDE50 3C12802C */ lui $s2, %hi(D_802BE0C4)
/* 3247A4 802BDE54 2652E0C4 */ addiu $s2, $s2, %lo(D_802BE0C4)
/* 3247A8 802BDE58 00031842 */ srl $v1, $v1, 1
/* 3247AC 802BDE5C A0430005 */ sb $v1, 5($v0)
/* 3247B0 802BDE60 8E420000 */ lw $v0, ($s2)
/* 3247B4 802BDE64 3C138011 */ lui $s3, %hi(gPartnerActionStatus)
/* 3247B8 802BDE68 2673EBB0 */ addiu $s3, $s3, %lo(gPartnerActionStatus)
/* 3247BC 802BDE6C 10400003 */ beqz $v0, .L802BDE7C
/* 3247C0 802BDE70 0200A02D */ daddu $s4, $s0, $zero
/* 3247C4 802BDE74 0C038069 */ jal enable_player_input
/* 3247C8 802BDE78 00000000 */ nop
.L802BDE7C:
/* 3247CC 802BDE7C 3C03FFFF */ lui $v1, 0xffff
/* 3247D0 802BDE80 8E020000 */ lw $v0, ($s0)
/* 3247D4 802BDE84 34637FFD */ ori $v1, $v1, 0x7ffd
/* 3247D8 802BDE88 00431024 */ and $v0, $v0, $v1
/* 3247DC 802BDE8C AE020000 */ sw $v0, ($s0)
/* 3247E0 802BDE90 8E220000 */ lw $v0, ($s1)
/* 3247E4 802BDE94 2403FFBD */ addiu $v1, $zero, -0x43
/* 3247E8 802BDE98 00431024 */ and $v0, $v0, $v1
/* 3247EC 802BDE9C AE220000 */ sw $v0, ($s1)
/* 3247F0 802BDEA0 8E020000 */ lw $v0, ($s0)
/* 3247F4 802BDEA4 0000202D */ daddu $a0, $zero, $zero
/* 3247F8 802BDEA8 30420800 */ andi $v0, $v0, 0x800
/* 3247FC 802BDEAC 10400002 */ beqz $v0, .L802BDEB8
/* 324800 802BDEB0 AE400000 */ sw $zero, ($s2)
/* 324804 802BDEB4 24040017 */ addiu $a0, $zero, 0x17
.L802BDEB8:
/* 324808 802BDEB8 0C039769 */ jal set_action_state
/* 32480C 802BDEBC 00000000 */ nop
/* 324810 802BDEC0 0220202D */ daddu $a0, $s1, $zero
/* 324814 802BDEC4 A2600000 */ sb $zero, ($s3)
/* 324818 802BDEC8 A2600003 */ sb $zero, 3($s3)
/* 32481C 802BDECC 8E820000 */ lw $v0, ($s4)
/* 324820 802BDED0 2403FEFF */ addiu $v1, $zero, -0x101
/* 324824 802BDED4 00431024 */ and $v0, $v0, $v1
/* 324828 802BDED8 0C03BD17 */ jal partner_clear_player_tracking
/* 32482C 802BDEDC AE820000 */ sw $v0, ($s4)
/* 324830 802BDEE0 8FBF0034 */ lw $ra, 0x34($sp)
/* 324834 802BDEE4 8FB40030 */ lw $s4, 0x30($sp)
/* 324838 802BDEE8 8FB3002C */ lw $s3, 0x2c($sp)
/* 32483C 802BDEEC 8FB20028 */ lw $s2, 0x28($sp)
/* 324840 802BDEF0 8FB10024 */ lw $s1, 0x24($sp)
/* 324844 802BDEF4 8FB00020 */ lw $s0, 0x20($sp)
/* 324848 802BDEF8 3C01802C */ lui $at, %hi(D_802BE0C0)
/* 32484C 802BDEFC AC20E0C0 */ sw $zero, %lo(D_802BE0C0)($at)
/* 324850 802BDF00 03E00008 */ jr $ra
/* 324854 802BDF04 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,29 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BDF08_324858
/* 324858 802BDF08 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 32485C 802BDF0C AFBF0014 */ sw $ra, 0x14($sp)
/* 324860 802BDF10 AFB00010 */ sw $s0, 0x10($sp)
/* 324864 802BDF14 10A0000C */ beqz $a1, .L802BDF48
/* 324868 802BDF18 8C90014C */ lw $s0, 0x14c($a0)
/* 32486C 802BDF1C 0C03BA65 */ jal partner_init_put_away
/* 324870 802BDF20 0200202D */ daddu $a0, $s0, $zero
/* 324874 802BDF24 3C02802C */ lui $v0, %hi(D_802BE0C0)
/* 324878 802BDF28 8C42E0C0 */ lw $v0, %lo(D_802BE0C0)($v0)
/* 32487C 802BDF2C 10400004 */ beqz $v0, .L802BDF40
/* 324880 802BDF30 2404200F */ addiu $a0, $zero, 0x200f
/* 324884 802BDF34 0000282D */ daddu $a1, $zero, $zero
/* 324888 802BDF38 0C052742 */ jal sfx_play_sound_at_npc
/* 32488C 802BDF3C 2406FFFC */ addiu $a2, $zero, -4
.L802BDF40:
/* 324890 802BDF40 0C0AF77C */ jal func_802BDDF0_324740
/* 324894 802BDF44 0200202D */ daddu $a0, $s0, $zero
.L802BDF48:
/* 324898 802BDF48 0C03BA6E */ jal partner_put_away
/* 32489C 802BDF4C 0200202D */ daddu $a0, $s0, $zero
/* 3248A0 802BDF50 8FBF0014 */ lw $ra, 0x14($sp)
/* 3248A4 802BDF54 8FB00010 */ lw $s0, 0x10($sp)
/* 3248A8 802BDF58 0002102B */ sltu $v0, $zero, $v0
/* 3248AC 802BDF5C 03E00008 */ jr $ra
/* 3248B0 802BDF60 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_802BDF64_3248B4
/* 3248B4 802BDF64 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 3248B8 802BDF68 AFB00010 */ sw $s0, 0x10($sp)
/* 3248BC 802BDF6C AFB20018 */ sw $s2, 0x18($sp)
/* 3248C0 802BDF70 3C12802C */ lui $s2, %hi(D_802BE0C0)
/* 3248C4 802BDF74 2652E0C0 */ addiu $s2, $s2, %lo(D_802BE0C0)
/* 3248C8 802BDF78 AFBF001C */ sw $ra, 0x1c($sp)
/* 3248CC 802BDF7C AFB10014 */ sw $s1, 0x14($sp)
/* 3248D0 802BDF80 8E420000 */ lw $v0, ($s2)
/* 3248D4 802BDF84 3C118011 */ lui $s1, %hi(gPartnerActionStatus)
/* 3248D8 802BDF88 2631EBB0 */ addiu $s1, $s1, %lo(gPartnerActionStatus)
/* 3248DC 802BDF8C 1040000E */ beqz $v0, .L802BDFC8
/* 3248E0 802BDF90 0080802D */ daddu $s0, $a0, $zero
/* 3248E4 802BDF94 0C038069 */ jal enable_player_input
/* 3248E8 802BDF98 00000000 */ nop
/* 3248EC 802BDF9C 0C039769 */ jal set_action_state
/* 3248F0 802BDFA0 0000202D */ daddu $a0, $zero, $zero
/* 3248F4 802BDFA4 0C03BD17 */ jal partner_clear_player_tracking
/* 3248F8 802BDFA8 0200202D */ daddu $a0, $s0, $zero
/* 3248FC 802BDFAC A2200000 */ sb $zero, ($s1)
/* 324900 802BDFB0 A2200003 */ sb $zero, 3($s1)
/* 324904 802BDFB4 AE400000 */ sw $zero, ($s2)
/* 324908 802BDFB8 8E020000 */ lw $v0, ($s0)
/* 32490C 802BDFBC 2403FFFD */ addiu $v1, $zero, -3
/* 324910 802BDFC0 00431024 */ and $v0, $v0, $v1
/* 324914 802BDFC4 AE020000 */ sw $v0, ($s0)
.L802BDFC8:
/* 324918 802BDFC8 8FBF001C */ lw $ra, 0x1c($sp)
/* 32491C 802BDFCC 8FB20018 */ lw $s2, 0x18($sp)
/* 324920 802BDFD0 8FB10014 */ lw $s1, 0x14($sp)
/* 324924 802BDFD4 8FB00010 */ lw $s0, 0x10($sp)
/* 324928 802BDFD8 03E00008 */ jr $ra
/* 32492C 802BDFDC 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,352 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BF4F0_323040
/* 323040 802BF4F0 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 323044 802BF4F4 AFB20038 */ sw $s2, 0x38($sp)
/* 323048 802BF4F8 3C128011 */ lui $s2, %hi(gPlayerStatus)
/* 32304C 802BF4FC 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus)
/* 323050 802BF500 AFB3003C */ sw $s3, 0x3c($sp)
/* 323054 802BF504 3C138011 */ lui $s3, %hi(gPartnerActionStatus)
/* 323058 802BF508 2673EBB0 */ addiu $s3, $s3, %lo(gPartnerActionStatus)
/* 32305C 802BF50C AFBF0040 */ sw $ra, 0x40($sp)
/* 323060 802BF510 AFB10034 */ sw $s1, 0x34($sp)
/* 323064 802BF514 AFB00030 */ sw $s0, 0x30($sp)
/* 323068 802BF518 10A00014 */ beqz $a1, .L802BF56C
/* 32306C 802BF51C 8C90014C */ lw $s0, 0x14c($a0)
/* 323070 802BF520 3C02802C */ lui $v0, %hi(D_802BFF0C)
/* 323074 802BF524 8C42FF0C */ lw $v0, %lo(D_802BFF0C)($v0)
/* 323078 802BF528 14400002 */ bnez $v0, .L802BF534
/* 32307C 802BF52C 0000182D */ daddu $v1, $zero, $zero
/* 323080 802BF530 24030003 */ addiu $v1, $zero, 3
.L802BF534:
/* 323084 802BF534 3C01802C */ lui $at, %hi(D_802BFF00)
/* 323088 802BF538 AC23FF00 */ sw $v1, %lo(D_802BFF00)($at)
/* 32308C 802BF53C 0C03BA65 */ jal partner_init_put_away
/* 323090 802BF540 0200202D */ daddu $a0, $s0, $zero
/* 323094 802BF544 0C0AF5F7 */ jal func_802BD7DC
/* 323098 802BF548 00000000 */ nop
/* 32309C 802BF54C 3C02FFBF */ lui $v0, 0xffbf
/* 3230A0 802BF550 3442FFFF */ ori $v0, $v0, 0xffff
/* 3230A4 802BF554 8E430004 */ lw $v1, 4($s2)
/* 3230A8 802BF558 8E440000 */ lw $a0, ($s2)
/* 3230AC 802BF55C 00621824 */ and $v1, $v1, $v0
/* 3230B0 802BF560 34840100 */ ori $a0, $a0, 0x100
/* 3230B4 802BF564 AE430004 */ sw $v1, 4($s2)
/* 3230B8 802BF568 AE440000 */ sw $a0, ($s2)
.L802BF56C:
/* 3230BC 802BF56C 3C11802C */ lui $s1, %hi(D_802BFF00)
/* 3230C0 802BF570 2631FF00 */ addiu $s1, $s1, %lo(D_802BFF00)
/* 3230C4 802BF574 8E230000 */ lw $v1, ($s1)
/* 3230C8 802BF578 24020001 */ addiu $v0, $zero, 1
/* 3230CC 802BF57C 1062005F */ beq $v1, $v0, .L802BF6FC
/* 3230D0 802BF580 28620002 */ slti $v0, $v1, 2
/* 3230D4 802BF584 10400005 */ beqz $v0, .L802BF59C
/* 3230D8 802BF588 24020002 */ addiu $v0, $zero, 2
/* 3230DC 802BF58C 10600007 */ beqz $v1, .L802BF5AC
/* 3230E0 802BF590 00000000 */ nop
/* 3230E4 802BF594 080AFE0E */ j .L802BF838
/* 3230E8 802BF598 00000000 */ nop
.L802BF59C:
/* 3230EC 802BF59C 1062005D */ beq $v1, $v0, .L802BF714
/* 3230F0 802BF5A0 00000000 */ nop
/* 3230F4 802BF5A4 080AFE0E */ j .L802BF838
/* 3230F8 802BF5A8 00000000 */ nop
.L802BF5AC:
/* 3230FC 802BF5AC 0C0AF5F7 */ jal func_802BD7DC
/* 323100 802BF5B0 00000000 */ nop
/* 323104 802BF5B4 3C02800B */ lui $v0, %hi(gCameras)
/* 323108 802BF5B8 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* 32310C 802BF5BC C64200A8 */ lwc1 $f2, 0xa8($s2)
/* 323110 802BF5C0 3C0142B4 */ lui $at, 0x42b4
/* 323114 802BF5C4 44813000 */ mtc1 $at, $f6
/* 323118 802BF5C8 C444006C */ lwc1 $f4, 0x6c($v0)
/* 32311C 802BF5CC 4602303E */ c.le.s $f6, $f2
/* 323120 802BF5D0 00000000 */ nop
/* 323124 802BF5D4 4500000E */ bc1f .L802BF610
/* 323128 802BF5D8 00000000 */ nop
/* 32312C 802BF5DC 3C014387 */ lui $at, 0x4387
/* 323130 802BF5E0 44810000 */ mtc1 $at, $f0
/* 323134 802BF5E4 00000000 */ nop
/* 323138 802BF5E8 4600103C */ c.lt.s $f2, $f0
/* 32313C 802BF5EC 00000000 */ nop
/* 323140 802BF5F0 45000007 */ bc1f .L802BF610
/* 323144 802BF5F4 00000000 */ nop
/* 323148 802BF5F8 3C014334 */ lui $at, 0x4334
/* 32314C 802BF5FC 44810000 */ mtc1 $at, $f0
/* 323150 802BF600 00000000 */ nop
/* 323154 802BF604 46002000 */ add.s $f0, $f4, $f0
/* 323158 802BF608 080AFD8B */ j .L802BF62C
/* 32315C 802BF60C 46060001 */ sub.s $f0, $f0, $f6
.L802BF610:
/* 323160 802BF610 44800000 */ mtc1 $zero, $f0
/* 323164 802BF614 00000000 */ nop
/* 323168 802BF618 46002000 */ add.s $f0, $f4, $f0
/* 32316C 802BF61C 3C0142B4 */ lui $at, 0x42b4
/* 323170 802BF620 44811000 */ mtc1 $at, $f2
/* 323174 802BF624 00000000 */ nop
/* 323178 802BF628 46020001 */ sub.s $f0, $f0, $f2
.L802BF62C:
/* 32317C 802BF62C E600000C */ swc1 $f0, 0xc($s0)
/* 323180 802BF630 C64C0028 */ lwc1 $f12, 0x28($s2)
/* 323184 802BF634 C64E0030 */ lwc1 $f14, 0x30($s2)
/* 323188 802BF638 8E060060 */ lw $a2, 0x60($s0)
/* 32318C 802BF63C 0C00A7B5 */ jal dist2D
/* 323190 802BF640 8E070068 */ lw $a3, 0x68($s0)
/* 323194 802BF644 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 323198 802BF648 C6000064 */ lwc1 $f0, 0x64($s0)
/* 32319C 802BF64C C602003C */ lwc1 $f2, 0x3c($s0)
/* 3231A0 802BF650 2402000E */ addiu $v0, $zero, 0xe
/* 3231A4 802BF654 4600103C */ c.lt.s $f2, $f0
/* 3231A8 802BF658 00000000 */ nop
/* 3231AC 802BF65C 45000009 */ bc1f .L802BF684
/* 3231B0 802BF660 A602008E */ sh $v0, 0x8e($s0)
/* 3231B4 802BF664 46020001 */ sub.s $f0, $f0, $f2
/* 3231B8 802BF668 3C014160 */ lui $at, 0x4160
/* 3231BC 802BF66C 44811000 */ mtc1 $at, $f2
/* 3231C0 802BF670 3C0140C0 */ lui $at, 0x40c0
/* 3231C4 802BF674 44812000 */ mtc1 $at, $f4
/* 3231C8 802BF678 46020003 */ div.s $f0, $f0, $f2
/* 3231CC 802BF67C 080AFDA4 */ j .L802BF690
/* 3231D0 802BF680 46040000 */ add.s $f0, $f0, $f4
.L802BF684:
/* 3231D4 802BF684 3C0140C0 */ lui $at, 0x40c0
/* 3231D8 802BF688 44810000 */ mtc1 $at, $f0
/* 3231DC 802BF68C 00000000 */ nop
.L802BF690:
/* 3231E0 802BF690 E600001C */ swc1 $f0, 0x1c($s0)
/* 3231E4 802BF694 3C013F99 */ lui $at, 0x3f99
/* 3231E8 802BF698 3421999A */ ori $at, $at, 0x999a
/* 3231EC 802BF69C 44810000 */ mtc1 $at, $f0
/* 3231F0 802BF6A0 8E060060 */ lw $a2, 0x60($s0)
/* 3231F4 802BF6A4 8E070068 */ lw $a3, 0x68($s0)
/* 3231F8 802BF6A8 8602008E */ lh $v0, 0x8e($s0)
/* 3231FC 802BF6AC E6000014 */ swc1 $f0, 0x14($s0)
/* 323200 802BF6B0 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 323204 802BF6B4 44821000 */ mtc1 $v0, $f2
/* 323208 802BF6B8 00000000 */ nop
/* 32320C 802BF6BC 468010A0 */ cvt.s.w $f2, $f2
/* 323210 802BF6C0 46020003 */ div.s $f0, $f0, $f2
/* 323214 802BF6C4 E6000018 */ swc1 $f0, 0x18($s0)
/* 323218 802BF6C8 C64C0028 */ lwc1 $f12, 0x28($s2)
/* 32321C 802BF6CC 0C00A720 */ jal atan2
/* 323220 802BF6D0 C64E0030 */ lwc1 $f14, 0x30($s2)
/* 323224 802BF6D4 3C040001 */ lui $a0, 1
/* 323228 802BF6D8 34840006 */ ori $a0, $a0, 6
/* 32322C 802BF6DC 0C037FBF */ jal suggest_player_anim_clearUnkFlag
/* 323230 802BF6E0 E600000C */ swc1 $f0, 0xc($s0)
/* 323234 802BF6E4 3C03802C */ lui $v1, %hi(D_802BFF00)
/* 323238 802BF6E8 2463FF00 */ addiu $v1, $v1, %lo(D_802BFF00)
/* 32323C 802BF6EC 8C620000 */ lw $v0, ($v1)
/* 323240 802BF6F0 24420001 */ addiu $v0, $v0, 1
/* 323244 802BF6F4 080AFE0E */ j .L802BF838
/* 323248 802BF6F8 AC620000 */ sw $v0, ($v1)
.L802BF6FC:
/* 32324C 802BF6FC 3C040001 */ lui $a0, 1
/* 323250 802BF700 0C037FBF */ jal suggest_player_anim_clearUnkFlag
/* 323254 802BF704 34840007 */ ori $a0, $a0, 7
/* 323258 802BF708 8E220000 */ lw $v0, ($s1)
/* 32325C 802BF70C 24420001 */ addiu $v0, $v0, 1
/* 323260 802BF710 AE220000 */ sw $v0, ($s1)
.L802BF714:
/* 323264 802BF714 C640002C */ lwc1 $f0, 0x2c($s2)
/* 323268 802BF718 C602001C */ lwc1 $f2, 0x1c($s0)
/* 32326C 802BF71C 46020000 */ add.s $f0, $f0, $f2
/* 323270 802BF720 26440028 */ addiu $a0, $s2, 0x28
/* 323274 802BF724 E640002C */ swc1 $f0, 0x2c($s2)
/* 323278 802BF728 C600001C */ lwc1 $f0, 0x1c($s0)
/* 32327C 802BF72C C6020014 */ lwc1 $f2, 0x14($s0)
/* 323280 802BF730 8E060018 */ lw $a2, 0x18($s0)
/* 323284 802BF734 46020001 */ sub.s $f0, $f0, $f2
/* 323288 802BF738 8E07000C */ lw $a3, 0xc($s0)
/* 32328C 802BF73C 26450030 */ addiu $a1, $s2, 0x30
/* 323290 802BF740 0C00A7E7 */ jal add_vec2D_polar
/* 323294 802BF744 E600001C */ swc1 $f0, 0x1c($s0)
/* 323298 802BF748 0C0392B6 */ jal func_800E4AD8
/* 32329C 802BF74C 0000202D */ daddu $a0, $zero, $zero
/* 3232A0 802BF750 C602001C */ lwc1 $f2, 0x1c($s0)
/* 3232A4 802BF754 44800000 */ mtc1 $zero, $f0
/* 3232A8 802BF758 00000000 */ nop
/* 3232AC 802BF75C 4600103E */ c.le.s $f2, $f0
/* 3232B0 802BF760 00000000 */ nop
/* 3232B4 802BF764 45000011 */ bc1f .L802BF7AC
/* 3232B8 802BF768 0000202D */ daddu $a0, $zero, $zero
/* 3232BC 802BF76C 8E420000 */ lw $v0, ($s2)
/* 3232C0 802BF770 34420004 */ ori $v0, $v0, 4
/* 3232C4 802BF774 AE420000 */ sw $v0, ($s2)
/* 3232C8 802BF778 C600001C */ lwc1 $f0, 0x1c($s0)
/* 3232CC 802BF77C 3C01C024 */ lui $at, 0xc024
/* 3232D0 802BF780 44811800 */ mtc1 $at, $f3
/* 3232D4 802BF784 44801000 */ mtc1 $zero, $f2
/* 3232D8 802BF788 46000021 */ cvt.d.s $f0, $f0
/* 3232DC 802BF78C 4622003C */ c.lt.d $f0, $f2
/* 3232E0 802BF790 00000000 */ nop
/* 3232E4 802BF794 45000005 */ bc1f .L802BF7AC
/* 3232E8 802BF798 00000000 */ nop
/* 3232EC 802BF79C 3C01C120 */ lui $at, 0xc120
/* 3232F0 802BF7A0 44810000 */ mtc1 $at, $f0
/* 3232F4 802BF7A4 00000000 */ nop
/* 3232F8 802BF7A8 E600001C */ swc1 $f0, 0x1c($s0)
.L802BF7AC:
/* 3232FC 802BF7AC C6420028 */ lwc1 $f2, 0x28($s2)
/* 323300 802BF7B0 864200B0 */ lh $v0, 0xb0($s2)
/* 323304 802BF7B4 C6400030 */ lwc1 $f0, 0x30($s2)
/* 323308 802BF7B8 27A50020 */ addiu $a1, $sp, 0x20
/* 32330C 802BF7BC E7A00028 */ swc1 $f0, 0x28($sp)
/* 323310 802BF7C0 44820000 */ mtc1 $v0, $f0
/* 323314 802BF7C4 00000000 */ nop
/* 323318 802BF7C8 46800020 */ cvt.s.w $f0, $f0
/* 32331C 802BF7CC E7A20020 */ swc1 $f2, 0x20($sp)
/* 323320 802BF7D0 C642002C */ lwc1 $f2, 0x2c($s2)
/* 323324 802BF7D4 864200B0 */ lh $v0, 0xb0($s2)
/* 323328 802BF7D8 46001080 */ add.s $f2, $f2, $f0
/* 32332C 802BF7DC 44820000 */ mtc1 $v0, $f0
/* 323330 802BF7E0 00000000 */ nop
/* 323334 802BF7E4 46800020 */ cvt.s.w $f0, $f0
/* 323338 802BF7E8 27A2002C */ addiu $v0, $sp, 0x2c
/* 32333C 802BF7EC E7A0002C */ swc1 $f0, 0x2c($sp)
/* 323340 802BF7F0 E7A20024 */ swc1 $f2, 0x24($sp)
/* 323344 802BF7F4 AFA20010 */ sw $v0, 0x10($sp)
/* 323348 802BF7F8 C600000C */ lwc1 $f0, 0xc($s0)
/* 32334C 802BF7FC 27A60024 */ addiu $a2, $sp, 0x24
/* 323350 802BF800 E7A00014 */ swc1 $f0, 0x14($sp)
/* 323354 802BF804 860200A6 */ lh $v0, 0xa6($s0)
/* 323358 802BF808 27A70028 */ addiu $a3, $sp, 0x28
/* 32335C 802BF80C 44820000 */ mtc1 $v0, $f0
/* 323360 802BF810 00000000 */ nop
/* 323364 802BF814 46800020 */ cvt.s.w $f0, $f0
/* 323368 802BF818 0C0371DE */ jal npc_raycast_down_ahead
/* 32336C 802BF81C E7A00018 */ swc1 $f0, 0x18($sp)
/* 323370 802BF820 10400005 */ beqz $v0, .L802BF838
/* 323374 802BF824 24020003 */ addiu $v0, $zero, 3
/* 323378 802BF828 C7A00024 */ lwc1 $f0, 0x24($sp)
/* 32337C 802BF82C 3C01802C */ lui $at, %hi(D_802BFF00)
/* 323380 802BF830 AC22FF00 */ sw $v0, %lo(D_802BFF00)($at)
/* 323384 802BF834 E640002C */ swc1 $f0, 0x2c($s2)
.L802BF838:
/* 323388 802BF838 3C02800B */ lui $v0, %hi(gCameras)
/* 32338C 802BF83C 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* 323390 802BF840 C6400028 */ lwc1 $f0, 0x28($s2)
/* 323394 802BF844 C642002C */ lwc1 $f2, 0x2c($s2)
/* 323398 802BF848 C6440030 */ lwc1 $f4, 0x30($s2)
/* 32339C 802BF84C 3C11802C */ lui $s1, %hi(D_802BFF00)
/* 3233A0 802BF850 2631FF00 */ addiu $s1, $s1, %lo(D_802BFF00)
/* 3233A4 802BF854 E4400060 */ swc1 $f0, 0x60($v0)
/* 3233A8 802BF858 E4420064 */ swc1 $f2, 0x64($v0)
/* 3233AC 802BF85C E4440068 */ swc1 $f4, 0x68($v0)
/* 3233B0 802BF860 8E230000 */ lw $v1, ($s1)
/* 3233B4 802BF864 24020004 */ addiu $v0, $zero, 4
/* 3233B8 802BF868 10620041 */ beq $v1, $v0, .L802BF970
/* 3233BC 802BF86C 28620005 */ slti $v0, $v1, 5
/* 3233C0 802BF870 10400005 */ beqz $v0, .L802BF888
/* 3233C4 802BF874 24020003 */ addiu $v0, $zero, 3
/* 3233C8 802BF878 10620008 */ beq $v1, $v0, .L802BF89C
/* 3233CC 802BF87C 0000102D */ daddu $v0, $zero, $zero
/* 3233D0 802BF880 080AFE79 */ j .L802BF9E4
/* 3233D4 802BF884 00000000 */ nop
.L802BF888:
/* 3233D8 802BF888 24020005 */ addiu $v0, $zero, 5
/* 3233DC 802BF88C 1062004F */ beq $v1, $v0, .L802BF9CC
/* 3233E0 802BF890 00000000 */ nop
/* 3233E4 802BF894 080AFE79 */ j .L802BF9E4
/* 3233E8 802BF898 0000102D */ daddu $v0, $zero, $zero
.L802BF89C:
/* 3233EC 802BF89C 2402FFB7 */ addiu $v0, $zero, -0x49
/* 3233F0 802BF8A0 3C05802C */ lui $a1, %hi(D_802BFF08)
/* 3233F4 802BF8A4 24A5FF08 */ addiu $a1, $a1, %lo(D_802BFF08)
/* 3233F8 802BF8A8 8E030000 */ lw $v1, ($s0)
/* 3233FC 802BF8AC 8CA40000 */ lw $a0, ($a1)
/* 323400 802BF8B0 00621824 */ and $v1, $v1, $v0
/* 323404 802BF8B4 10800003 */ beqz $a0, .L802BF8C4
/* 323408 802BF8B8 AE030000 */ sw $v1, ($s0)
/* 32340C 802BF8BC 0C038050 */ jal enable_player_static_collisions
/* 323410 802BF8C0 ACA00000 */ sw $zero, ($a1)
.L802BF8C4:
/* 323414 802BF8C4 0C03802C */ jal enable_player_shadow
/* 323418 802BF8C8 00000000 */ nop
/* 32341C 802BF8CC 8E420000 */ lw $v0, ($s2)
/* 323420 802BF8D0 30420800 */ andi $v0, $v0, 0x800
/* 323424 802BF8D4 10400014 */ beqz $v0, .L802BF928
/* 323428 802BF8D8 00000000 */ nop
/* 32342C 802BF8DC 3C03802C */ lui $v1, %hi(D_802BFF04)
/* 323430 802BF8E0 2463FF04 */ addiu $v1, $v1, %lo(D_802BFF04)
/* 323434 802BF8E4 8C620000 */ lw $v0, ($v1)
/* 323438 802BF8E8 A2600003 */ sb $zero, 3($s3)
/* 32343C 802BF8EC 10400003 */ beqz $v0, .L802BF8FC
/* 323440 802BF8F0 A2600000 */ sb $zero, ($s3)
/* 323444 802BF8F4 0C038069 */ jal enable_player_input
/* 323448 802BF8F8 AC600000 */ sw $zero, ($v1)
.L802BF8FC:
/* 32344C 802BF8FC 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 323450 802BF900 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 323454 802BF904 A040007D */ sb $zero, 0x7d($v0)
/* 323458 802BF908 3C01802C */ lui $at, %hi(D_802BFF0C)
/* 32345C 802BF90C AC20FF0C */ sw $zero, %lo(D_802BFF0C)($at)
/* 323460 802BF910 0C03BD17 */ jal partner_clear_player_tracking
/* 323464 802BF914 0200202D */ daddu $a0, $s0, $zero
/* 323468 802BF918 0C039769 */ jal set_action_state
/* 32346C 802BF91C 24040015 */ addiu $a0, $zero, 0x15
/* 323470 802BF920 080AFE79 */ j .L802BF9E4
/* 323474 802BF924 24020001 */ addiu $v0, $zero, 1
.L802BF928:
/* 323478 802BF928 3C02802C */ lui $v0, %hi(D_802BFF0C)
/* 32347C 802BF92C 8C42FF0C */ lw $v0, %lo(D_802BFF0C)($v0)
/* 323480 802BF930 14400005 */ bnez $v0, .L802BF948
/* 323484 802BF934 00000000 */ nop
/* 323488 802BF938 0C0391D1 */ jal phys_main_collision_below
/* 32348C 802BF93C 00000000 */ nop
/* 323490 802BF940 080AFE56 */ j .L802BF958
/* 323494 802BF944 00000000 */ nop
.L802BF948:
/* 323498 802BF948 0C039769 */ jal set_action_state
/* 32349C 802BF94C 24040008 */ addiu $a0, $zero, 8
/* 3234A0 802BF950 0C038C1B */ jal gravity_use_fall_parms
/* 3234A4 802BF954 00000000 */ nop
.L802BF958:
/* 3234A8 802BF958 3C03802C */ lui $v1, %hi(D_802BFF00)
/* 3234AC 802BF95C 2463FF00 */ addiu $v1, $v1, %lo(D_802BFF00)
/* 3234B0 802BF960 8C620000 */ lw $v0, ($v1)
/* 3234B4 802BF964 24420001 */ addiu $v0, $v0, 1
/* 3234B8 802BF968 080AFE78 */ j .L802BF9E0
/* 3234BC 802BF96C AC620000 */ sw $v0, ($v1)
.L802BF970:
/* 3234C0 802BF970 2402FEFF */ addiu $v0, $zero, -0x101
/* 3234C4 802BF974 3C05802C */ lui $a1, %hi(D_802BFF04)
/* 3234C8 802BF978 24A5FF04 */ addiu $a1, $a1, %lo(D_802BFF04)
/* 3234CC 802BF97C A2600003 */ sb $zero, 3($s3)
/* 3234D0 802BF980 A2600000 */ sb $zero, ($s3)
/* 3234D4 802BF984 8E430000 */ lw $v1, ($s2)
/* 3234D8 802BF988 8CA40000 */ lw $a0, ($a1)
/* 3234DC 802BF98C 00621824 */ and $v1, $v1, $v0
/* 3234E0 802BF990 10800003 */ beqz $a0, .L802BF9A0
/* 3234E4 802BF994 AE430000 */ sw $v1, ($s2)
/* 3234E8 802BF998 0C038069 */ jal enable_player_input
/* 3234EC 802BF99C ACA00000 */ sw $zero, ($a1)
.L802BF9A0:
/* 3234F0 802BF9A0 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* 3234F4 802BF9A4 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* 3234F8 802BF9A8 A040007D */ sb $zero, 0x7d($v0)
/* 3234FC 802BF9AC 3C01802C */ lui $at, %hi(D_802BFF0C)
/* 323500 802BF9B0 AC20FF0C */ sw $zero, %lo(D_802BFF0C)($at)
/* 323504 802BF9B4 0C03BD17 */ jal partner_clear_player_tracking
/* 323508 802BF9B8 0200202D */ daddu $a0, $s0, $zero
/* 32350C 802BF9BC 8E220000 */ lw $v0, ($s1)
/* 323510 802BF9C0 24420001 */ addiu $v0, $v0, 1
/* 323514 802BF9C4 080AFE78 */ j .L802BF9E0
/* 323518 802BF9C8 AE220000 */ sw $v0, ($s1)
.L802BF9CC:
/* 32351C 802BF9CC 0C03BA6E */ jal partner_put_away
/* 323520 802BF9D0 0200202D */ daddu $a0, $s0, $zero
/* 323524 802BF9D4 0040182D */ daddu $v1, $v0, $zero
/* 323528 802BF9D8 14600002 */ bnez $v1, .L802BF9E4
/* 32352C 802BF9DC 24020001 */ addiu $v0, $zero, 1
.L802BF9E0:
/* 323530 802BF9E0 0000102D */ daddu $v0, $zero, $zero
.L802BF9E4:
/* 323534 802BF9E4 8FBF0040 */ lw $ra, 0x40($sp)
/* 323538 802BF9E8 8FB3003C */ lw $s3, 0x3c($sp)
/* 32353C 802BF9EC 8FB20038 */ lw $s2, 0x38($sp)
/* 323540 802BF9F0 8FB10034 */ lw $s1, 0x34($sp)
/* 323544 802BF9F4 8FB00030 */ lw $s0, 0x30($sp)
/* 323548 802BF9F8 03E00008 */ jr $ra
/* 32354C 802BF9FC 27BD0048 */ addiu $sp, $sp, 0x48