Match use_tweester, and munchlesia + misc partners (#422)

* update common_structs and enums

* match tweester and munchlesia

* update undefined_syms

* same function in different partners

* run coverage

* some changes

* other spaces

* attempt at deduplicating

* Revert "attempt at deduplicating"

This reverts commit 6393e85703.

Co-authored-by: ThreeMustyFears <>
This commit is contained in:
ThreeMustyFears 2021-09-22 23:06:57 -03:00 committed by GitHub
parent 5311ed1a44
commit a9179ce7fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 671 additions and 1945 deletions

View File

@ -2306,4 +2306,14 @@ typedef struct PopupMessage {
/* 0x17 */ s8 unk_17;
/* 0x18 */ s32* message;
} PopupMessage; // size = 0x1C
typedef struct unkPartnerStruct {
/* 0x000 */ s32 unk_00;
/* 0x004 */ s32 unk_04;
/* 0x008 */ s32 unk_08;
/* 0x00c */ f32 unk_0C;
/* 0x010 */ f32 unk_10;
/* 0x014 */ f32 unk_14;
/* 0x018 */ f32 unk_18;
} unkPartnerStruct; // size = 0x1C
#endif

View File

@ -554,6 +554,7 @@ enum SoundIDs {
SOUND_DAYZEE_SONG = 727,
SOUND_POWER_UP,
SOUND_UNKNOWN_2F1 = 753,
SOUND_UNKNOWN_2F6 = 758,
SOUND_UNKNOWN_2F7 = 759,
SOUND_CLOSE_SHELL = 767,
SOUND_SHY_GUY_SCREAMS1 = 780,

View File

@ -1,3 +1,79 @@
#include "common.h"
INCLUDE_ASM(s32, "world/action/use_munchlesia", func_802B6000_E291A0);
extern f32 D_802B62D0;
extern f32 D_802B62D4;
extern f32 D_802B62D8;
extern f32 D_802B62DC;
extern s32 D_802B62E0;
void func_802B6000_E291A0(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
s32 sp10;
f32 tempCollision;
if (playerStatus->flags & (1 << 31)) {
playerStatus->flags &= ~0x80000000;
playerStatus->fallState = 0;
gOverrideFlags |= 0x40;
disable_player_static_collisions();
disable_player_input();
}
switch (playerStatus->fallState) {
case 0:
suggest_player_anim_clearUnkFlag(0x1002E);
D_802B62E0 = 0x20;
D_802B62D0 = 16.0f;
D_802B62D4 = 4.0f;
D_802B62D8 = 1.0f;
D_802B62D4 = 1.875f;
playerStatus->fallState++;
D_802B62DC = playerStatus->targetYaw;
break;
case 1:
playerStatus->position.y += D_802B62D0;
D_802B62D0 -= D_802B62D8;
add_vec2D_polar(&playerStatus->position, &playerStatus->position.z, D_802B62D4, D_802B62DC);
gCameras[0].targetPos.x = playerStatus->position.x;
gCameras[0].targetPos.y = playerStatus->position.y;
gCameras[0].targetPos.z = playerStatus->position.z;
if (D_802B62D0 <= 0.0f) {
playerStatus->fallState++;
}
break;
case 2:
playerStatus->position.y += D_802B62D0;
D_802B62D0 -= D_802B62D8;
add_vec2D_polar(&playerStatus->position, &playerStatus->position.z, D_802B62D4, D_802B62DC);
gCameras[0].targetPos.x = playerStatus->position.x;
gCameras[0].targetPos.y = playerStatus->position.y;
gCameras[0].targetPos.z = playerStatus->position.z;
tempCollision = player_check_collision_below(D_802B62D0, &sp10);
if (sp10 >= 0) {
sfx_play_sound_at_player(SOUND_UNKNOWN_162, 0);
suggest_player_anim_setUnkFlag(0x80003);
playerStatus->position.y = tempCollision;
D_802B62E0 = 0xA;
playerStatus->fallState++;
}
break;
case 3:
if (playerStatus->unk_BC != 0) {
suggest_player_anim_setUnkFlag(0x10030);
playerStatus->fallState = 5;
playerStatus->framesOnGround = 15;
break;
}
break;
case 5:
if (playerStatus->framesOnGround != 0) {
playerStatus->framesOnGround--;
break;
}
enable_player_static_collisions();
enable_player_input();
set_action_state(ACTION_STATE_IDLE);
gOverrideFlags &= ~0x40;
break;
}
}

View File

@ -1,3 +1,84 @@
#include "common.h"
#include "../partners.h"
#include "../../npc.h"
typedef struct unkTweesterStruct{
/* 0x000 */ s32 unk_00;
/* 0x004 */ char unk_04[8];
/* 0x00C */ f32 unk_0C;
/* 0x010 */ f32 unk_10;
/* 0x014 */ f32 unk_14;
/* 0x018 */ f32 unk_18;
}unkTweesterStruct;
extern s8* D_8010C934;
extern struct unkTweesterStruct* D_802B6350_E2A690;
void func_802B6000_E2A340(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
Entity* entity;
f32 sp10;
f32 sp14;
f32 tempY;
entity = D_8010C934;
if (playerStatus->flags & (1 << 31)) {
playerStatus->flags &= ~0x80000000;
disable_player_static_collisions();
disable_player_input();
playerStatus->flags |= 0x100008;
suggest_player_anim_clearUnkFlag(0x8001F);
playerStatus->fallState = 0;
mem_clear(D_802B6350_E2A690, sizeof(*D_802B6350_E2A690));
D_802B6350_E2A690->unk_0C = fabsf(dist2D(playerStatus->position.x, playerStatus->position.z, entity->position.x, entity->position.z));
D_802B6350_E2A690->unk_10 = atan2(entity->position.x, entity->position.z, playerStatus->position.x, playerStatus->position.z);
D_802B6350_E2A690->unk_14 = 6.0f;
D_802B6350_E2A690->unk_18 = 50.0f;
D_802B6350_E2A690->unk_00 = 0x78;
sfx_play_sound_at_player(SOUND_UNKNOWN_2F6, 0);
}
switch (playerStatus->fallState) {
case 0:
sin_cos_rad((D_802B6350_E2A690->unk_10 * TAU) / 360.0f, &sp10, &sp14);
playerStatus->position.x = entity->position.x + (sp10 * D_802B6350_E2A690->unk_0C);
playerStatus->position.z = entity->position.z - (sp14 * D_802B6350_E2A690->unk_0C);
D_802B6350_E2A690->unk_10 = clamp_angle(D_802B6350_E2A690->unk_10 - D_802B6350_E2A690->unk_14);
if (D_802B6350_E2A690->unk_0C > 20.0f) {
D_802B6350_E2A690->unk_0C--;
} else if (D_802B6350_E2A690->unk_0C < 19.0f) {
D_802B6350_E2A690->unk_0C++;
}
tempY = sin_rad((D_802B6350_E2A690->unk_18 * TAU) / 360.0f) * 3.0f;
D_802B6350_E2A690->unk_18 += 3.0f;
if (D_802B6350_E2A690->unk_18 > 150.0f) {
D_802B6350_E2A690->unk_18 = 150.0f;
}
playerStatus->position.y += tempY;
playerStatus->spriteFacingAngle = clamp_angle(360.0f - D_802B6350_E2A690->unk_10);
D_802B6350_E2A690->unk_14 += 0.6;
if (D_802B6350_E2A690->unk_14 > 40.0f) {
D_802B6350_E2A690->unk_14 = 40.0f;
}
if (--D_802B6350_E2A690->unk_00 == 0) {
playerStatus->fallState++;
entity_start_script(entity);
}
break;
case 1:
disable_player_shadow();
disable_npc_shadow(wPartnerNpc);
playerStatus->unk_10 = 0x32;
enable_player_static_collisions();
enable_player_input();
playerStatus->flags &= ~0x100008;
set_action_state(ACTION_STATE_IDLE);
break;
}
}
INCLUDE_ASM(s32, "world/action/use_tweester", func_802B6000_E2A340);

View File

@ -1,6 +1,9 @@
#include "common.h"
extern s32 D_802BE934;
extern f64 D_802BE900_319650;
extern struct unkPartnerStruct* D_802BE89C_3195EC;
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD100_317E50);
@ -15,7 +18,89 @@ ApiStatus func_802BD300_318050(Evt* script, s32 isInitialCall) {
return partner_get_out(unk) != 0;
}
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD338_318088);
s32 func_802BD338_318088(Evt* evt, s32 arg1) {
PlayerData* playerData = &gPlayerData;
Npc* npc;
f32 sp10;
f32 sp14;
f32 tempY;
Entity* entity;
npc = evt->owner2.npc;
if (arg1 != 0) {
partner_walking_enable(npc, 1);
mem_clear(D_802BE89C_3195EC, sizeof(*D_802BE89C_3195EC));
D_8010C954 = 0;
}
playerData->unk_2F4[3]++;
npc->flags |= 0x10000;
entity = D_8010C954;
if (entity == NULL) {
partner_walking_update_player_tracking(npc);
partner_walking_update_motion(npc);
return 0;
}
switch (D_802BE89C_3195EC->unk_04) {
case 0:
D_802BE89C_3195EC->unk_04 = 1;
D_802BE89C_3195EC->unk_08 = npc->flags;
D_802BE89C_3195EC->unk_0C = fabsf(dist2D(npc->pos.x, npc->pos.z, entity->position.x, entity->position.z));
D_802BE89C_3195EC->unk_10 = atan2(entity->position.x, entity->position.z, npc->pos.x, npc->pos.z);
D_802BE89C_3195EC->unk_14 = 6.0f;
D_802BE89C_3195EC->unk_18 = 50.0f;
D_802BE89C_3195EC->unk_00 = 0x78;
npc->flags |= 0x40148;
npc->flags &= ~0x200;
case 1:
sin_cos_rad((D_802BE89C_3195EC->unk_10 * TAU) / 360.0f, &sp10, &sp14);
npc->pos.x = entity->position.x + (sp10 * D_802BE89C_3195EC->unk_0C);
npc->pos.z = entity->position.z - (sp14 * D_802BE89C_3195EC->unk_0C);
D_802BE89C_3195EC->unk_10 = clamp_angle(D_802BE89C_3195EC->unk_10 - D_802BE89C_3195EC->unk_14);
if (D_802BE89C_3195EC->unk_0C > 20.0f) {
D_802BE89C_3195EC->unk_0C--;
} else if (D_802BE89C_3195EC->unk_0C < 19.0f) {
D_802BE89C_3195EC->unk_0C++;
}
tempY = sin_rad((D_802BE89C_3195EC->unk_18 * TAU) / 360.0f) * 3.0f;
D_802BE89C_3195EC->unk_18 += 3.0f;
if (D_802BE89C_3195EC->unk_18 > 150.0f) {
D_802BE89C_3195EC->unk_18 = 150.0f;
}
npc->pos.y += tempY;
npc->renderYaw = clamp_angle(360.0f - D_802BE89C_3195EC->unk_10);
D_802BE89C_3195EC->unk_14 += D_802BE900_319650;
if (D_802BE89C_3195EC->unk_14 > 40.0f) {
D_802BE89C_3195EC->unk_14 = 40.0f;
}
if (--D_802BE89C_3195EC->unk_00 == 0) {
D_802BE89C_3195EC->unk_04++;
}
break;
case 2:
npc->flags = D_802BE89C_3195EC->unk_08;
D_802BE89C_3195EC->unk_00 = 0x1E;
D_802BE89C_3195EC->unk_04++;
break;
case 3:
partner_walking_update_player_tracking(npc);
partner_walking_update_motion(npc);
if (--D_802BE89C_3195EC->unk_00 == 0) {
D_802BE89C_3195EC->unk_04 = 0;
D_8010C954 = 0;
}
break;
}
return 0;
}
INCLUDE_ASM(s32, "world/partner/bombette", func_802BD6DC_31842C);

View File

@ -3,6 +3,7 @@
extern s32 D_802BE0C0;
extern s32 D_802BE0C4;
extern struct unkPartnerStruct* D_802BDFFC_32494C;
void func_802BD100_323A50(Npc* partner) {
partner->collisionHeight = 26;
@ -20,7 +21,81 @@ ApiStatus func_802BD130_323A80(Evt* script, s32 isInitialCall) {
return partner_get_out(owner) != 0;
}
INCLUDE_ASM(s32, "world/partner/bow", func_802BD168_323AB8);
s32 func_802BD168_323AB8(Evt* evt, s32 arg1) {
PlayerData* playerData = &gPlayerData;
Npc* npc;
Entity* entity;
f32 sp10;
f32 sp14;
f32 tempY;
npc = evt->owner2.npc;
if (arg1 != 0) {
partner_flying_enable(npc, 1);
mem_clear(D_802BDFFC_32494C, sizeof(*D_802BDFFC_32494C));
D_8010C954 = 0;
}
entity = D_8010C954;
playerData->unk_2F4[9]++;
if (entity == NULL) {
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
return 0;
}
switch (D_802BDFFC_32494C->unk_04){
case 0:
D_802BDFFC_32494C->unk_04 = 1;
D_802BDFFC_32494C->unk_08 = npc->flags;
D_802BDFFC_32494C->unk_0C = fabsf(dist2D(npc->pos.x, npc->pos.z, entity->position.x, entity->position.z));
D_802BDFFC_32494C->unk_10 = atan2(entity->position.x, entity->position.z, npc->pos.x, npc->pos.z);
D_802BDFFC_32494C->unk_14 = 6.0f;
D_802BDFFC_32494C->unk_18 = 50.0f;
D_802BDFFC_32494C->unk_00 = 0x78;
npc->flags |= 0x40148;
npc->flags &= ~0x200;
case 1:
sin_cos_rad((D_802BDFFC_32494C->unk_10 * TAU) / 360.0f, &sp10, &sp14);
npc->pos.x = entity->position.x + (sp10 * D_802BDFFC_32494C->unk_0C);
npc->pos.z = entity->position.z - (sp14 * D_802BDFFC_32494C->unk_0C);
D_802BDFFC_32494C->unk_10 = clamp_angle(D_802BDFFC_32494C->unk_10 - D_802BDFFC_32494C->unk_14);
if (D_802BDFFC_32494C->unk_0C > 20.0f) {
D_802BDFFC_32494C->unk_0C -= 1.0f;
} else if (D_802BDFFC_32494C->unk_0C < 19.0f) {
D_802BDFFC_32494C->unk_0C++;
}
tempY = sin_rad((D_802BDFFC_32494C->unk_18 * TAU) / 360.0f) * 3.0f;
D_802BDFFC_32494C->unk_18 += 3.0f;
if (D_802BDFFC_32494C->unk_18 > 150.0f) {
D_802BDFFC_32494C->unk_18 = 150.0f;
}
npc->pos.y += tempY;
npc->renderYaw = clamp_angle(360.0f - D_802BDFFC_32494C->unk_10);
D_802BDFFC_32494C->unk_14 += 0.8;
if (D_802BDFFC_32494C->unk_14 > 40.0f) {
D_802BDFFC_32494C->unk_14 = 40.0f;
}
if (--D_802BDFFC_32494C->unk_00 == 0) {
D_802BDFFC_32494C->unk_04++;
}
break;
case 2:
npc->flags = D_802BDFFC_32494C->unk_08;
D_802BDFFC_32494C->unk_00 = 0x1E;
D_802BDFFC_32494C->unk_04++;
break;
case 3:
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
if (--D_802BDFFC_32494C->unk_00 == 0) {
D_802BDFFC_32494C->unk_04 = 0;
D_8010C954 = 0;
}
break;
}
return 0;
}
INCLUDE_ASM(s32, "world/partner/bow", func_802BD4FC_323E4C);

View File

@ -1,5 +1,7 @@
#include "common.h"
extern unkPartnerStruct* D_802BEB60_31CB80;
INCLUDE_ASM(s32, "world/partner/kooper", func_802BD100_31B120);
INCLUDE_ASM(s32, "world/partner/kooper", func_802BD144_31B164);
@ -10,7 +12,89 @@ INCLUDE_ASM(s32, "world/partner/kooper", func_802BD200_31B220);
INCLUDE_ASM(s32, "world/partner/kooper", func_802BD228_31B248);
INCLUDE_ASM(s32, "world/partner/kooper", func_802BD260_31B280);
s32 func_802BD260_31B280(Evt* evt, s32 arg1) {
PlayerData* playerData = &gPlayerData;
Npc* npc;
f32 sp10;
f32 sp14;
f32 tempY;
Entity* entity;
npc = evt->owner2.npc;
if (arg1 != 0) {
partner_walking_enable(npc, 1);
mem_clear(D_802BEB60_31CB80, sizeof(*D_802BEB60_31CB80));
D_8010C954 = 0;
}
playerData->unk_2F4[2]++;
entity = D_8010C954;
if (entity == NULL) {
partner_walking_update_player_tracking(npc);
partner_walking_update_motion(npc);
return 0;
}
switch (D_802BEB60_31CB80->unk_04) {
case 0:
D_802BEB60_31CB80->unk_04 = 1;
D_802BEB60_31CB80->unk_08 = npc->flags;
D_802BEB60_31CB80->unk_0C = fabsf(dist2D(npc->pos.x, npc->pos.z, entity->position.x, entity->position.z));
D_802BEB60_31CB80->unk_10 = atan2(entity->position.x, entity->position.z, npc->pos.x, npc->pos.z);
D_802BEB60_31CB80->unk_14 = 6.0f;
D_802BEB60_31CB80->unk_18 = 50.0f;
D_802BEB60_31CB80->unk_00 = 0x78;
npc->flags |= 0x40148;
npc->flags &= ~0x200;
case 1:
sin_cos_rad((D_802BEB60_31CB80->unk_10 * TAU) / 360.0f, &sp10, &sp14);
npc->pos.x = entity->position.x + (sp10 * D_802BEB60_31CB80->unk_0C);
npc->pos.z = entity->position.z - (sp14 * D_802BEB60_31CB80->unk_0C);
D_802BEB60_31CB80->unk_10 = clamp_angle(D_802BEB60_31CB80->unk_10 - D_802BEB60_31CB80->unk_14);
if (D_802BEB60_31CB80->unk_0C > 20.0f) {
D_802BEB60_31CB80->unk_0C--;
} else if (D_802BEB60_31CB80->unk_0C < 19.0f) {
D_802BEB60_31CB80->unk_0C++;
}
tempY = sin_rad((D_802BEB60_31CB80->unk_18 * TAU) / 360.0f) * 3.0f;
D_802BEB60_31CB80->unk_18 += 3.0f;
if (D_802BEB60_31CB80->unk_18 > 150.0f) {
D_802BEB60_31CB80->unk_18 = 150.0f;
}
npc->pos.y += tempY;
npc->renderYaw = clamp_angle(360.0f - D_802BEB60_31CB80->unk_10);
D_802BEB60_31CB80->unk_14 += 0.8;
if (D_802BEB60_31CB80->unk_14 > 40.0f) {
D_802BEB60_31CB80->unk_14 = 40.0f;
}
if (--D_802BEB60_31CB80->unk_00 == 0) {
D_802BEB60_31CB80->unk_04++;
}
break;
case 2:
npc->flags = D_802BEB60_31CB80->unk_08;
D_802BEB60_31CB80->unk_00 = 0x1E;
D_802BEB60_31CB80->unk_04++;
break;
case 3:
partner_walking_update_player_tracking(npc);
partner_walking_update_motion(npc);
if (--D_802BEB60_31CB80->unk_00 == 0) {
D_802BEB60_31CB80->unk_04 = 0;
D_8010C954 = 0;
}
break;
}
return 0;
}
INCLUDE_ASM(s32, "world/partner/kooper", func_802BD5F4_31B614);

View File

@ -1,12 +1,97 @@
#include "common.h"
extern unkPartnerStruct* D_802BFE7C_3239CC;
extern f64 D_802BFEF0;
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD100_320C50);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD21C_320D6C);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD29C_320DEC);
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD2D4_320E24);
s32 func_802BD2D4_320E24(Evt* evt, s32 arg1) {
PlayerData* playerData = &gPlayerData;
Entity* entity;
Npc* npc;
f32 sp10;
f32 sp14;
f32 tempY;
npc = evt->owner2.npc;
if (arg1 != 0) {
partner_flying_enable(npc, 1);
mem_clear(D_802BFE7C_3239CC, sizeof(*D_802BFE7C_3239CC));
D_8010C954 = 0;
}
playerData->unk_2F4[8]++;
npc->flags |= 0x10000;
entity = D_8010C954;
if (entity == NULL) {
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
return 0;
}
switch (D_802BFE7C_3239CC->unk_04) {
case 0:
D_802BFE7C_3239CC->unk_04 = 1;
D_802BFE7C_3239CC->unk_08 = npc->flags;
D_802BFE7C_3239CC->unk_0C = fabsf(dist2D(npc->pos.x, npc->pos.z, entity->position.x, entity->position.z));
D_802BFE7C_3239CC->unk_10 = atan2(entity->position.x, entity->position.z, npc->pos.x, npc->pos.z);
D_802BFE7C_3239CC->unk_14 = 6.0f;
D_802BFE7C_3239CC->unk_18 = 50.0f;
D_802BFE7C_3239CC->unk_00 = 0x78;
npc->flags |= 0x40148;
npc->flags &= ~0x200;
case 1:
sin_cos_rad((D_802BFE7C_3239CC->unk_10 * TAU) / 360.0f, &sp10, &sp14);
npc->pos.x = entity->position.x + (sp10 * D_802BFE7C_3239CC->unk_0C);
npc->pos.z = entity->position.z - (sp14 * D_802BFE7C_3239CC->unk_0C);
D_802BFE7C_3239CC->unk_10 = clamp_angle(D_802BFE7C_3239CC->unk_10 - D_802BFE7C_3239CC->unk_14);
if (D_802BFE7C_3239CC->unk_0C > 20.0f) {
D_802BFE7C_3239CC->unk_0C--;
} else if (D_802BFE7C_3239CC->unk_0C < 19.0f) {
D_802BFE7C_3239CC->unk_0C++;
}
tempY = sin_rad((D_802BFE7C_3239CC->unk_18 * TAU) / 360.0f) * 3.0f;
D_802BFE7C_3239CC->unk_18 += 3.0f;
if (D_802BFE7C_3239CC->unk_18 > 150.0f) {
D_802BFE7C_3239CC->unk_18 = 150.0f;
}
npc->pos.y += tempY;
npc->renderYaw = clamp_angle(360.0f - D_802BFE7C_3239CC->unk_10);
D_802BFE7C_3239CC->unk_14 += D_802BFEF0;
if (D_802BFE7C_3239CC->unk_14 > 40.0f) {
D_802BFE7C_3239CC->unk_14 = 40.0f;
}
if (--D_802BFE7C_3239CC->unk_00 == 0) {
D_802BFE7C_3239CC->unk_04++;
}
break;
case 2:
npc->flags = D_802BFE7C_3239CC->unk_08;
D_802BFE7C_3239CC->unk_00 = 0x1E;
D_802BFE7C_3239CC->unk_04++;
break;
case 3:
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
if (--D_802BFE7C_3239CC->unk_00 == 0) {
D_802BFE7C_3239CC->unk_04 = 0;
D_8010C954 = 0;
}
break;
}
return 0;
}
INCLUDE_ASM(s32, "world/partner/lakilester", func_802BD678_3211C8);

View File

@ -1,5 +1,7 @@
#include "common.h"
extern struct unkPartnerStruct* D_802BEAAC_31B01C;
INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD100_319670);
ApiStatus func_802BD148_3196B8(Evt* script, s32 isInitialCall) {
@ -11,7 +13,88 @@ ApiStatus func_802BD148_3196B8(Evt* script, s32 isInitialCall) {
return partner_get_out(unk) != 0;
}
INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD180_3196F0);
s32 func_802BD180_3196F0(Evt* evt, s32 arg1) {
PlayerData* playerData = &gPlayerData;
Entity* temp_s2;
Npc* npc;
f32 sp10;
f32 sp14;
f32 tempY;
npc = evt->owner2.npc;
if (arg1 != 0) {
partner_flying_enable(npc, 1);
mem_clear(D_802BEAAC_31B01C, sizeof(*D_802BEAAC_31B01C));
D_8010C954 = 0;
}
playerData->unk_2F4[4]++;
temp_s2 = D_8010C954;
if (temp_s2 == NULL) {
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
return 0;
}
switch (D_802BEAAC_31B01C->unk_04) {
case 0:
D_802BEAAC_31B01C->unk_04 = 1;
D_802BEAAC_31B01C->unk_08 = npc->flags;
D_802BEAAC_31B01C->unk_0C = fabsf(dist2D(npc->pos.x, npc->pos.z, temp_s2->position.x, temp_s2->position.z));
D_802BEAAC_31B01C->unk_10 = atan2(temp_s2->position.x, temp_s2->position.z, npc->pos.x, npc->pos.z);
D_802BEAAC_31B01C->unk_14 = 6.0f;
D_802BEAAC_31B01C->unk_18 = 50.0f;
D_802BEAAC_31B01C->unk_00 = 0x78;
npc->flags |= 0x40148;
npc->flags &= ~0x200;
case 1:
sin_cos_rad((D_802BEAAC_31B01C->unk_10 * TAU) / 360.0f, &sp10, &sp14);
npc->pos.x = temp_s2->position.x + (sp10 * D_802BEAAC_31B01C->unk_0C);
npc->pos.z = temp_s2->position.z - (sp14 * D_802BEAAC_31B01C->unk_0C);
D_802BEAAC_31B01C->unk_10 = clamp_angle(D_802BEAAC_31B01C->unk_10 - D_802BEAAC_31B01C->unk_14);
if (D_802BEAAC_31B01C->unk_0C > 20.0f) {
D_802BEAAC_31B01C->unk_0C--;
} else if (D_802BEAAC_31B01C->unk_0C < 19.0f) {
D_802BEAAC_31B01C->unk_0C++;
}
tempY = sin_rad((D_802BEAAC_31B01C->unk_18 * TAU) / 360.0f) * 3.0f;
D_802BEAAC_31B01C->unk_18 += 3.0f;
if (D_802BEAAC_31B01C->unk_18 > 150.0f) {
D_802BEAAC_31B01C->unk_18 = 150.0f;
}
npc->pos.y += tempY;
npc->renderYaw = clamp_angle(360.0f - D_802BEAAC_31B01C->unk_10);
D_802BEAAC_31B01C->unk_14 += 0.8;
if (D_802BEAAC_31B01C->unk_14 > 40.0f) {
D_802BEAAC_31B01C->unk_14 = 40.0f;
}
if (--D_802BEAAC_31B01C->unk_00 == 0) {
D_802BEAAC_31B01C->unk_04++;
}
break;
case 2:
npc->flags = D_802BEAAC_31B01C->unk_08;
D_802BEAAC_31B01C->unk_00 = 0x1E;
D_802BEAAC_31B01C->unk_04++;
break;
case 3:
partner_flying_update_player_tracking(npc);
partner_flying_update_motion(npc);
if (--D_802BEAAC_31B01C->unk_00 == 0) {
D_802BEAAC_31B01C->unk_04 = 0;
D_8010C954 = 0;
}
break;
}
return 0;
}
INCLUDE_ASM(s32, "world/partner/parakarry", func_802BD514_319A84);

View File

@ -1,5 +1,7 @@
#include "common.h"
extern unkPartnerStruct* D_802BFDF8_320B68;
INCLUDE_ASM(s32, "world/partner/sushie", func_802BD100_31DE70);
INCLUDE_ASM(s32, "world/partner/sushie", func_802BD20C_31DF7C);
@ -16,7 +18,87 @@ INCLUDE_ASM(s32, "world/partner/sushie", func_802BF520_320290);
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF568_3202D8);
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF5A0_320310);
s32 func_802BF5A0_320310(Evt* evt, s32 arg1) {
Npc* npc;
Entity* entity;
f32 sp10;
f32 sp14;
f32 tempY;
npc = evt->owner2.npc;
if (arg1 != 0) {
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;
}
switch (D_802BFDF8_320B68->unk_04) {
case 0:
D_802BFDF8_320B68->unk_04 = 1;
D_802BFDF8_320B68->unk_08 = npc->flags;
D_802BFDF8_320B68->unk_0C = fabsf(dist2D(npc->pos.x, npc->pos.z, entity->position.x, entity->position.z));
D_802BFDF8_320B68->unk_10 = atan2(entity->position.x, entity->position.z, npc->pos.x, npc->pos.z);
D_802BFDF8_320B68->unk_14 = 6.0f;
D_802BFDF8_320B68->unk_18 = 50.0f;
D_802BFDF8_320B68->unk_00 = 0x78;
npc->flags |= 0x40148;
npc->flags &= ~0x200;
case 1:
sin_cos_rad((D_802BFDF8_320B68->unk_10 * TAU) / 360.0f, &sp10, &sp14);
npc->pos.x = entity->position.x + (sp10 * D_802BFDF8_320B68->unk_0C);
npc->pos.z = entity->position.z - (sp14 * D_802BFDF8_320B68->unk_0C);
D_802BFDF8_320B68->unk_10 = clamp_angle(D_802BFDF8_320B68->unk_10 - D_802BFDF8_320B68->unk_14);
if (D_802BFDF8_320B68->unk_0C > 20.0f) {
D_802BFDF8_320B68->unk_0C--;
} else if (D_802BFDF8_320B68->unk_0C < 19.0f) {
D_802BFDF8_320B68->unk_0C++;
}
tempY = sin_rad((D_802BFDF8_320B68->unk_18 * TAU) / 360.0f) * 3.0f;
D_802BFDF8_320B68->unk_18 += 3.0f;
if (D_802BFDF8_320B68->unk_18 > 150.0f) {
D_802BFDF8_320B68->unk_18 = 150.0f;
}
npc->pos.y += tempY;
npc->renderYaw = clamp_angle(360.0f - D_802BFDF8_320B68->unk_10);
D_802BFDF8_320B68->unk_14 += 0.8;
if (D_802BFDF8_320B68->unk_14 > 40.0f) {
D_802BFDF8_320B68->unk_14 = 40.0f;
}
if (--D_802BFDF8_320B68->unk_00 == 0) {
D_802BFDF8_320B68->unk_04++;
}
break;
case 2:
npc->flags = D_802BFDF8_320B68->unk_08;
D_802BFDF8_320B68->unk_00 = 0x1E;
D_802BFDF8_320B68->unk_04++;
break;
case 3:
partner_walking_update_player_tracking(npc);
partner_walking_update_motion(npc);
if (--D_802BFDF8_320B68->unk_00 == 0) {
D_802BFDF8_320B68->unk_04 = 0;
D_8010C954 = 0;
}
break;
}
return 0;
}
INCLUDE_ASM(s32, "world/partner/sushie", func_802BF920_320690);

View File

@ -1,192 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel jtbl_802B62B0_E29450
.word L802B607C_E2921C, L802B60F4_E29294, L802B6174_E29314, L802B6228_E293C8, L802B6298_E29438, L802B6250_E293F0, 0, 0
.section .text
glabel func_802B6000_E291A0
/* E291A0 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E291A4 802B6004 AFB1001C */ sw $s1, 0x1c($sp)
/* E291A8 802B6008 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E291AC 802B600C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E291B0 802B6010 AFBF0020 */ sw $ra, 0x20($sp)
/* E291B4 802B6014 AFB00018 */ sw $s0, 0x18($sp)
/* E291B8 802B6018 F7B40028 */ sdc1 $f20, 0x28($sp)
/* E291BC 802B601C 8E250000 */ lw $a1, ($s1)
/* E291C0 802B6020 04A1000D */ bgez $a1, .L802B6058
/* E291C4 802B6024 3C027FFF */ lui $v0, 0x7fff
/* E291C8 802B6028 3442FFFF */ ori $v0, $v0, 0xffff
/* E291CC 802B602C 3C04800A */ lui $a0, %hi(gOverrideFlags)
/* E291D0 802B6030 2484A650 */ addiu $a0, $a0, %lo(gOverrideFlags)
/* E291D4 802B6034 8C830000 */ lw $v1, ($a0)
/* E291D8 802B6038 00A21024 */ and $v0, $a1, $v0
/* E291DC 802B603C AE220000 */ sw $v0, ($s1)
/* E291E0 802B6040 A22000B6 */ sb $zero, 0xb6($s1)
/* E291E4 802B6044 34630040 */ ori $v1, $v1, 0x40
/* E291E8 802B6048 0C038045 */ jal disable_player_static_collisions
/* E291EC 802B604C AC830000 */ sw $v1, ($a0)
/* E291F0 802B6050 0C03805E */ jal disable_player_input
/* E291F4 802B6054 00000000 */ nop
.L802B6058:
/* E291F8 802B6058 822300B6 */ lb $v1, 0xb6($s1)
/* E291FC 802B605C 2C620006 */ sltiu $v0, $v1, 6
/* E29200 802B6060 1040008D */ beqz $v0, L802B6298_E29438
/* E29204 802B6064 00031080 */ sll $v0, $v1, 2
/* E29208 802B6068 3C01802B */ lui $at, %hi(jtbl_802B62B0_E29450)
/* E2920C 802B606C 00220821 */ addu $at, $at, $v0
/* E29210 802B6070 8C2262B0 */ lw $v0, %lo(jtbl_802B62B0_E29450)($at)
/* E29214 802B6074 00400008 */ jr $v0
/* E29218 802B6078 00000000 */ nop
glabel L802B607C_E2921C
/* E2921C 802B607C 3C040001 */ lui $a0, 1
/* E29220 802B6080 0C037FBF */ jal suggest_player_anim_clearUnkFlag
/* E29224 802B6084 3484002E */ ori $a0, $a0, 0x2e
/* E29228 802B6088 3C014180 */ lui $at, 0x4180
/* E2922C 802B608C 44810000 */ mtc1 $at, $f0
/* E29230 802B6090 3C013F80 */ lui $at, 0x3f80
/* E29234 802B6094 44811000 */ mtc1 $at, $f2
/* E29238 802B6098 3C013FF0 */ lui $at, 0x3ff0
/* E2923C 802B609C 44812000 */ mtc1 $at, $f4
/* E29240 802B60A0 24020020 */ addiu $v0, $zero, 0x20
/* E29244 802B60A4 3C01802B */ lui $at, %hi(D_802B62E0)
/* E29248 802B60A8 AC2262E0 */ sw $v0, %lo(D_802B62E0)($at)
/* E2924C 802B60AC 3C01802B */ lui $at, %hi(D_802B62D0)
/* E29250 802B60B0 E42062D0 */ swc1 $f0, %lo(D_802B62D0)($at)
/* E29254 802B60B4 3C014080 */ lui $at, 0x4080
/* E29258 802B60B8 44810000 */ mtc1 $at, $f0
/* E2925C 802B60BC 3C02802B */ lui $v0, %hi(D_802B62D4)
/* E29260 802B60C0 244262D4 */ addiu $v0, $v0, %lo(D_802B62D4)
/* E29264 802B60C4 E4400000 */ swc1 $f0, ($v0)
/* E29268 802B60C8 3C01802B */ lui $at, %hi(D_802B62D8)
/* E2926C 802B60CC E42262D8 */ swc1 $f2, %lo(D_802B62D8)($at)
/* E29270 802B60D0 E4440000 */ swc1 $f4, ($v0)
/* E29274 802B60D4 922200B6 */ lbu $v0, 0xb6($s1)
/* E29278 802B60D8 C6200080 */ lwc1 $f0, 0x80($s1)
/* E2927C 802B60DC 24420001 */ addiu $v0, $v0, 1
/* E29280 802B60E0 A22200B6 */ sb $v0, 0xb6($s1)
/* E29284 802B60E4 3C01802B */ lui $at, %hi(D_802B62DC)
/* E29288 802B60E8 E42062DC */ swc1 $f0, %lo(D_802B62DC)($at)
/* E2928C 802B60EC 080AD8A6 */ j L802B6298_E29438
/* E29290 802B60F0 00000000 */ nop
glabel L802B60F4_E29294
/* E29294 802B60F4 26240028 */ addiu $a0, $s1, 0x28
/* E29298 802B60F8 3C10802B */ lui $s0, %hi(D_802B62D0)
/* E2929C 802B60FC 261062D0 */ addiu $s0, $s0, %lo(D_802B62D0)
/* E292A0 802B6100 C622002C */ lwc1 $f2, 0x2c($s1)
/* E292A4 802B6104 C6000000 */ lwc1 $f0, ($s0)
/* E292A8 802B6108 3C06802B */ lui $a2, %hi(D_802B62D4)
/* E292AC 802B610C 8CC662D4 */ lw $a2, %lo(D_802B62D4)($a2)
/* E292B0 802B6110 46001080 */ add.s $f2, $f2, $f0
/* E292B4 802B6114 3C01802B */ lui $at, %hi(D_802B62D8)
/* E292B8 802B6118 C42462D8 */ lwc1 $f4, %lo(D_802B62D8)($at)
/* E292BC 802B611C 3C07802B */ lui $a3, %hi(D_802B62DC)
/* E292C0 802B6120 8CE762DC */ lw $a3, %lo(D_802B62DC)($a3)
/* E292C4 802B6124 46040001 */ sub.s $f0, $f0, $f4
/* E292C8 802B6128 26250030 */ addiu $a1, $s1, 0x30
/* E292CC 802B612C E622002C */ swc1 $f2, 0x2c($s1)
/* E292D0 802B6130 0C00A7E7 */ jal add_vec2D_polar
/* E292D4 802B6134 E6000000 */ swc1 $f0, ($s0)
/* E292D8 802B6138 3C02800B */ lui $v0, %hi(gCameras)
/* E292DC 802B613C 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E292E0 802B6140 C6220028 */ lwc1 $f2, 0x28($s1)
/* E292E4 802B6144 C624002C */ lwc1 $f4, 0x2c($s1)
/* E292E8 802B6148 C6080000 */ lwc1 $f8, ($s0)
/* E292EC 802B614C 44800000 */ mtc1 $zero, $f0
/* E292F0 802B6150 C6260030 */ lwc1 $f6, 0x30($s1)
/* E292F4 802B6154 4600403E */ c.le.s $f8, $f0
/* E292F8 802B6158 E4420060 */ swc1 $f2, 0x60($v0)
/* E292FC 802B615C E4440064 */ swc1 $f4, 0x64($v0)
/* E29300 802B6160 4500004D */ bc1f L802B6298_E29438
/* E29304 802B6164 E4460068 */ swc1 $f6, 0x68($v0)
/* E29308 802B6168 922200B6 */ lbu $v0, 0xb6($s1)
/* E2930C 802B616C 080AD888 */ j .L802B6220
/* E29310 802B6170 24420001 */ addiu $v0, $v0, 1
glabel L802B6174_E29314
/* E29314 802B6174 26240028 */ addiu $a0, $s1, 0x28
/* E29318 802B6178 3C10802B */ lui $s0, %hi(D_802B62D0)
/* E2931C 802B617C 261062D0 */ addiu $s0, $s0, %lo(D_802B62D0)
/* E29320 802B6180 C622002C */ lwc1 $f2, 0x2c($s1)
/* E29324 802B6184 C6000000 */ lwc1 $f0, ($s0)
/* E29328 802B6188 3C06802B */ lui $a2, %hi(D_802B62D4)
/* E2932C 802B618C 8CC662D4 */ lw $a2, %lo(D_802B62D4)($a2)
/* E29330 802B6190 46001080 */ add.s $f2, $f2, $f0
/* E29334 802B6194 3C01802B */ lui $at, %hi(D_802B62D8)
/* E29338 802B6198 C42462D8 */ lwc1 $f4, %lo(D_802B62D8)($at)
/* E2933C 802B619C 3C07802B */ lui $a3, %hi(D_802B62DC)
/* E29340 802B61A0 8CE762DC */ lw $a3, %lo(D_802B62DC)($a3)
/* E29344 802B61A4 46040001 */ sub.s $f0, $f0, $f4
/* E29348 802B61A8 26250030 */ addiu $a1, $s1, 0x30
/* E2934C 802B61AC E622002C */ swc1 $f2, 0x2c($s1)
/* E29350 802B61B0 0C00A7E7 */ jal add_vec2D_polar
/* E29354 802B61B4 E6000000 */ swc1 $f0, ($s0)
/* E29358 802B61B8 27A50010 */ addiu $a1, $sp, 0x10
/* E2935C 802B61BC C6200028 */ lwc1 $f0, 0x28($s1)
/* E29360 802B61C0 C622002C */ lwc1 $f2, 0x2c($s1)
/* E29364 802B61C4 C6240030 */ lwc1 $f4, 0x30($s1)
/* E29368 802B61C8 C60C0000 */ lwc1 $f12, ($s0)
/* E2936C 802B61CC 3C02800B */ lui $v0, %hi(gCameras)
/* E29370 802B61D0 24421D80 */ addiu $v0, $v0, %lo(gCameras)
/* E29374 802B61D4 E4400060 */ swc1 $f0, 0x60($v0)
/* E29378 802B61D8 E4420064 */ swc1 $f2, 0x64($v0)
/* E2937C 802B61DC 0C038D45 */ jal player_check_collision_below
/* E29380 802B61E0 E4440068 */ swc1 $f4, 0x68($v0)
/* E29384 802B61E4 8FA20010 */ lw $v0, 0x10($sp)
/* E29388 802B61E8 0440002B */ bltz $v0, L802B6298_E29438
/* E2938C 802B61EC 46000506 */ mov.s $f20, $f0
/* E29390 802B61F0 24040162 */ addiu $a0, $zero, 0x162
/* E29394 802B61F4 0C052736 */ jal sfx_play_sound_at_player
/* E29398 802B61F8 0000282D */ daddu $a1, $zero, $zero
/* E2939C 802B61FC 3C040008 */ lui $a0, 8
/* E293A0 802B6200 0C037FDE */ jal suggest_player_anim_setUnkFlag
/* E293A4 802B6204 34840003 */ ori $a0, $a0, 3
/* E293A8 802B6208 922200B6 */ lbu $v0, 0xb6($s1)
/* E293AC 802B620C 2403000A */ addiu $v1, $zero, 0xa
/* E293B0 802B6210 E634002C */ swc1 $f20, 0x2c($s1)
/* E293B4 802B6214 3C01802B */ lui $at, %hi(D_802B62E0)
/* E293B8 802B6218 AC2362E0 */ sw $v1, %lo(D_802B62E0)($at)
/* E293BC 802B621C 24420001 */ addiu $v0, $v0, 1
.L802B6220:
/* E293C0 802B6220 080AD8A6 */ j L802B6298_E29438
/* E293C4 802B6224 A22200B6 */ sb $v0, 0xb6($s1)
glabel L802B6228_E293C8
/* E293C8 802B6228 962200BC */ lhu $v0, 0xbc($s1)
/* E293CC 802B622C 1040001A */ beqz $v0, L802B6298_E29438
/* E293D0 802B6230 3C040001 */ lui $a0, 1
/* E293D4 802B6234 0C037FDE */ jal suggest_player_anim_setUnkFlag
/* E293D8 802B6238 34840030 */ ori $a0, $a0, 0x30
/* E293DC 802B623C 24020005 */ addiu $v0, $zero, 5
/* E293E0 802B6240 A22200B6 */ sb $v0, 0xb6($s1)
/* E293E4 802B6244 2402000F */ addiu $v0, $zero, 0xf
/* E293E8 802B6248 080AD8A6 */ j L802B6298_E29438
/* E293EC 802B624C A6220008 */ sh $v0, 8($s1)
glabel L802B6250_E293F0
/* E293F0 802B6250 86220008 */ lh $v0, 8($s1)
/* E293F4 802B6254 96230008 */ lhu $v1, 8($s1)
/* E293F8 802B6258 10400003 */ beqz $v0, .L802B6268
/* E293FC 802B625C 2462FFFF */ addiu $v0, $v1, -1
/* E29400 802B6260 080AD8A6 */ j L802B6298_E29438
/* E29404 802B6264 A6220008 */ sh $v0, 8($s1)
.L802B6268:
/* E29408 802B6268 0C038050 */ jal enable_player_static_collisions
/* E2940C 802B626C 00000000 */ nop
/* E29410 802B6270 0C038069 */ jal enable_player_input
/* E29414 802B6274 00000000 */ nop
/* E29418 802B6278 0C039769 */ jal set_action_state
/* E2941C 802B627C 0000202D */ daddu $a0, $zero, $zero
/* E29420 802B6280 3C02800A */ lui $v0, %hi(gOverrideFlags)
/* E29424 802B6284 2442A650 */ addiu $v0, $v0, %lo(gOverrideFlags)
/* E29428 802B6288 8C430000 */ lw $v1, ($v0)
/* E2942C 802B628C 2404FFBF */ addiu $a0, $zero, -0x41
/* E29430 802B6290 00641824 */ and $v1, $v1, $a0
/* E29434 802B6294 AC430000 */ sw $v1, ($v0)
glabel L802B6298_E29438
/* E29438 802B6298 8FBF0020 */ lw $ra, 0x20($sp)
/* E2943C 802B629C 8FB1001C */ lw $s1, 0x1c($sp)
/* E29440 802B62A0 8FB00018 */ lw $s0, 0x18($sp)
/* E29444 802B62A4 D7B40028 */ ldc1 $f20, 0x28($sp)
/* E29448 802B62A8 03E00008 */ jr $ra
/* E2944C 802B62AC 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,232 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802B6360_E2A6A0
.double 0.6, 0.0
.section .text
glabel func_802B6000_E2A340
/* E2A340 802B6000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* E2A344 802B6004 AFB1001C */ sw $s1, 0x1c($sp)
/* E2A348 802B6008 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* E2A34C 802B600C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* E2A350 802B6010 AFBF0024 */ sw $ra, 0x24($sp)
/* E2A354 802B6014 AFB20020 */ sw $s2, 0x20($sp)
/* E2A358 802B6018 AFB00018 */ sw $s0, 0x18($sp)
/* E2A35C 802B601C F7B40028 */ sdc1 $f20, 0x28($sp)
/* E2A360 802B6020 8E230000 */ lw $v1, ($s1)
/* E2A364 802B6024 3C128011 */ lui $s2, %hi(D_8010C934)
/* E2A368 802B6028 8E52C934 */ lw $s2, %lo(D_8010C934)($s2)
/* E2A36C 802B602C 0461002F */ bgez $v1, .L802B60EC
/* E2A370 802B6030 3C027FFF */ lui $v0, 0x7fff
/* E2A374 802B6034 3442FFFF */ ori $v0, $v0, 0xffff
/* E2A378 802B6038 00621024 */ and $v0, $v1, $v0
/* E2A37C 802B603C 0C038045 */ jal disable_player_static_collisions
/* E2A380 802B6040 AE220000 */ sw $v0, ($s1)
/* E2A384 802B6044 0C03805E */ jal disable_player_input
/* E2A388 802B6048 00000000 */ nop
/* E2A38C 802B604C 3C030010 */ lui $v1, 0x10
/* E2A390 802B6050 34630008 */ ori $v1, $v1, 8
/* E2A394 802B6054 3C040008 */ lui $a0, 8
/* E2A398 802B6058 8E220000 */ lw $v0, ($s1)
/* E2A39C 802B605C 3484001F */ ori $a0, $a0, 0x1f
/* E2A3A0 802B6060 00431025 */ or $v0, $v0, $v1
/* E2A3A4 802B6064 0C037FBF */ jal suggest_player_anim_clearUnkFlag
/* E2A3A8 802B6068 AE220000 */ sw $v0, ($s1)
/* E2A3AC 802B606C 3C10802B */ lui $s0, %hi(D_802B6350_E2A690)
/* E2A3B0 802B6070 26106350 */ addiu $s0, $s0, %lo(D_802B6350_E2A690)
/* E2A3B4 802B6074 8E040000 */ lw $a0, ($s0)
/* E2A3B8 802B6078 2405001C */ addiu $a1, $zero, 0x1c
/* E2A3BC 802B607C 0C00A580 */ jal mem_clear
/* E2A3C0 802B6080 A22000B6 */ sb $zero, 0xb6($s1)
/* E2A3C4 802B6084 C62C0028 */ lwc1 $f12, 0x28($s1)
/* E2A3C8 802B6088 C62E0030 */ lwc1 $f14, 0x30($s1)
/* E2A3CC 802B608C 8E460048 */ lw $a2, 0x48($s2)
/* E2A3D0 802B6090 0C00A7B5 */ jal dist2D
/* E2A3D4 802B6094 8E470050 */ lw $a3, 0x50($s2)
/* E2A3D8 802B6098 8E020000 */ lw $v0, ($s0)
/* E2A3DC 802B609C 46000005 */ abs.s $f0, $f0
/* E2A3E0 802B60A0 E440000C */ swc1 $f0, 0xc($v0)
/* E2A3E4 802B60A4 C64C0048 */ lwc1 $f12, 0x48($s2)
/* E2A3E8 802B60A8 C64E0050 */ lwc1 $f14, 0x50($s2)
/* E2A3EC 802B60AC 8E260028 */ lw $a2, 0x28($s1)
/* E2A3F0 802B60B0 0C00A720 */ jal atan2
/* E2A3F4 802B60B4 8E270030 */ lw $a3, 0x30($s1)
/* E2A3F8 802B60B8 240402F6 */ addiu $a0, $zero, 0x2f6
/* E2A3FC 802B60BC 0000282D */ daddu $a1, $zero, $zero
/* E2A400 802B60C0 8E030000 */ lw $v1, ($s0)
/* E2A404 802B60C4 3C0140C0 */ lui $at, 0x40c0
/* E2A408 802B60C8 44811000 */ mtc1 $at, $f2
/* E2A40C 802B60CC 3C014248 */ lui $at, 0x4248
/* E2A410 802B60D0 44812000 */ mtc1 $at, $f4
/* E2A414 802B60D4 24020078 */ addiu $v0, $zero, 0x78
/* E2A418 802B60D8 E4600010 */ swc1 $f0, 0x10($v1)
/* E2A41C 802B60DC E4620014 */ swc1 $f2, 0x14($v1)
/* E2A420 802B60E0 E4640018 */ swc1 $f4, 0x18($v1)
/* E2A424 802B60E4 0C052736 */ jal sfx_play_sound_at_player
/* E2A428 802B60E8 AC620000 */ sw $v0, ($v1)
.L802B60EC:
/* E2A42C 802B60EC 822300B6 */ lb $v1, 0xb6($s1)
/* E2A430 802B60F0 10600005 */ beqz $v1, .L802B6108
/* E2A434 802B60F4 24020001 */ addiu $v0, $zero, 1
/* E2A438 802B60F8 1062007A */ beq $v1, $v0, .L802B62E4
/* E2A43C 802B60FC 00000000 */ nop
/* E2A440 802B6100 080AD8CB */ j .L802B632C
/* E2A444 802B6104 00000000 */ nop
.L802B6108:
/* E2A448 802B6108 3C10802B */ lui $s0, %hi(D_802B6350_E2A690)
/* E2A44C 802B610C 26106350 */ addiu $s0, $s0, %lo(D_802B6350_E2A690)
/* E2A450 802B6110 8E020000 */ lw $v0, ($s0)
/* E2A454 802B6114 3C0140C9 */ lui $at, 0x40c9
/* E2A458 802B6118 34210FD0 */ ori $at, $at, 0xfd0
/* E2A45C 802B611C 44810000 */ mtc1 $at, $f0
/* E2A460 802B6120 C44C0010 */ lwc1 $f12, 0x10($v0)
/* E2A464 802B6124 46006302 */ mul.s $f12, $f12, $f0
/* E2A468 802B6128 00000000 */ nop
/* E2A46C 802B612C 27A50010 */ addiu $a1, $sp, 0x10
/* E2A470 802B6130 3C0143B4 */ lui $at, 0x43b4
/* E2A474 802B6134 44810000 */ mtc1 $at, $f0
/* E2A478 802B6138 27A60014 */ addiu $a2, $sp, 0x14
/* E2A47C 802B613C 0C00A82D */ jal sin_cos_rad
/* E2A480 802B6140 46006303 */ div.s $f12, $f12, $f0
/* E2A484 802B6144 8E020000 */ lw $v0, ($s0)
/* E2A488 802B6148 C7A20010 */ lwc1 $f2, 0x10($sp)
/* E2A48C 802B614C C440000C */ lwc1 $f0, 0xc($v0)
/* E2A490 802B6150 46001082 */ mul.s $f2, $f2, $f0
/* E2A494 802B6154 00000000 */ nop
/* E2A498 802B6158 C6400048 */ lwc1 $f0, 0x48($s2)
/* E2A49C 802B615C 46020000 */ add.s $f0, $f0, $f2
/* E2A4A0 802B6160 E6200028 */ swc1 $f0, 0x28($s1)
/* E2A4A4 802B6164 C7A20014 */ lwc1 $f2, 0x14($sp)
/* E2A4A8 802B6168 C440000C */ lwc1 $f0, 0xc($v0)
/* E2A4AC 802B616C 46001082 */ mul.s $f2, $f2, $f0
/* E2A4B0 802B6170 00000000 */ nop
/* E2A4B4 802B6174 C6400050 */ lwc1 $f0, 0x50($s2)
/* E2A4B8 802B6178 46020001 */ sub.s $f0, $f0, $f2
/* E2A4BC 802B617C E6200030 */ swc1 $f0, 0x30($s1)
/* E2A4C0 802B6180 C4400010 */ lwc1 $f0, 0x10($v0)
/* E2A4C4 802B6184 C44C0014 */ lwc1 $f12, 0x14($v0)
/* E2A4C8 802B6188 0C00A6C9 */ jal clamp_angle
/* E2A4CC 802B618C 460C0301 */ sub.s $f12, $f0, $f12
/* E2A4D0 802B6190 8E100000 */ lw $s0, ($s0)
/* E2A4D4 802B6194 3C0141A0 */ lui $at, 0x41a0
/* E2A4D8 802B6198 44811000 */ mtc1 $at, $f2
/* E2A4DC 802B619C C604000C */ lwc1 $f4, 0xc($s0)
/* E2A4E0 802B61A0 4604103C */ c.lt.s $f2, $f4
/* E2A4E4 802B61A4 00000000 */ nop
/* E2A4E8 802B61A8 45000005 */ bc1f .L802B61C0
/* E2A4EC 802B61AC E6000010 */ swc1 $f0, 0x10($s0)
/* E2A4F0 802B61B0 3C013F80 */ lui $at, 0x3f80
/* E2A4F4 802B61B4 44810000 */ mtc1 $at, $f0
/* E2A4F8 802B61B8 080AD87B */ j .L802B61EC
/* E2A4FC 802B61BC 46002001 */ sub.s $f0, $f4, $f0
.L802B61C0:
/* E2A500 802B61C0 3C014198 */ lui $at, 0x4198
/* E2A504 802B61C4 44810000 */ mtc1 $at, $f0
/* E2A508 802B61C8 00000000 */ nop
/* E2A50C 802B61CC 4600203C */ c.lt.s $f4, $f0
/* E2A510 802B61D0 00000000 */ nop
/* E2A514 802B61D4 45000006 */ bc1f .L802B61F0
/* E2A518 802B61D8 00000000 */ nop
/* E2A51C 802B61DC 3C013F80 */ lui $at, 0x3f80
/* E2A520 802B61E0 44810000 */ mtc1 $at, $f0
/* E2A524 802B61E4 00000000 */ nop
/* E2A528 802B61E8 46002000 */ add.s $f0, $f4, $f0
.L802B61EC:
/* E2A52C 802B61EC E600000C */ swc1 $f0, 0xc($s0)
.L802B61F0:
/* E2A530 802B61F0 3C10802B */ lui $s0, %hi(D_802B6350_E2A690)
/* E2A534 802B61F4 26106350 */ addiu $s0, $s0, %lo(D_802B6350_E2A690)
/* E2A538 802B61F8 8E020000 */ lw $v0, ($s0)
/* E2A53C 802B61FC 3C0140C9 */ lui $at, 0x40c9
/* E2A540 802B6200 34210FD0 */ ori $at, $at, 0xfd0
/* E2A544 802B6204 44810000 */ mtc1 $at, $f0
/* E2A548 802B6208 C44C0018 */ lwc1 $f12, 0x18($v0)
/* E2A54C 802B620C 46006302 */ mul.s $f12, $f12, $f0
/* E2A550 802B6210 00000000 */ nop
/* E2A554 802B6214 3C0143B4 */ lui $at, 0x43b4
/* E2A558 802B6218 4481A000 */ mtc1 $at, $f20
/* E2A55C 802B621C 0C00A85B */ jal sin_rad
/* E2A560 802B6220 46146303 */ div.s $f12, $f12, $f20
/* E2A564 802B6224 8E020000 */ lw $v0, ($s0)
/* E2A568 802B6228 3C014040 */ lui $at, 0x4040
/* E2A56C 802B622C 44812000 */ mtc1 $at, $f4
/* E2A570 802B6230 C4420018 */ lwc1 $f2, 0x18($v0)
/* E2A574 802B6234 46041080 */ add.s $f2, $f2, $f4
/* E2A578 802B6238 3C014316 */ lui $at, 0x4316
/* E2A57C 802B623C 44813000 */ mtc1 $at, $f6
/* E2A580 802B6240 00000000 */ nop
/* E2A584 802B6244 4602303C */ c.lt.s $f6, $f2
/* E2A588 802B6248 E4420018 */ swc1 $f2, 0x18($v0)
/* E2A58C 802B624C 46040082 */ mul.s $f2, $f0, $f4
/* E2A590 802B6250 00000000 */ nop
/* E2A594 802B6254 45030001 */ bc1tl .L802B625C
/* E2A598 802B6258 E4460018 */ swc1 $f6, 0x18($v0)
.L802B625C:
/* E2A59C 802B625C C620002C */ lwc1 $f0, 0x2c($s1)
/* E2A5A0 802B6260 46020000 */ add.s $f0, $f0, $f2
/* E2A5A4 802B6264 8E020000 */ lw $v0, ($s0)
/* E2A5A8 802B6268 E620002C */ swc1 $f0, 0x2c($s1)
/* E2A5AC 802B626C C44C0010 */ lwc1 $f12, 0x10($v0)
/* E2A5B0 802B6270 0C00A6C9 */ jal clamp_angle
/* E2A5B4 802B6274 460CA301 */ sub.s $f12, $f20, $f12
/* E2A5B8 802B6278 8E020000 */ lw $v0, ($s0)
/* E2A5BC 802B627C E62000A8 */ swc1 $f0, 0xa8($s1)
/* E2A5C0 802B6280 C4400014 */ lwc1 $f0, 0x14($v0)
/* E2A5C4 802B6284 3C01802B */ lui $at, %hi(D_802B6360_E2A6A0)
/* E2A5C8 802B6288 D4226360 */ ldc1 $f2, %lo(D_802B6360_E2A6A0)($at)
/* E2A5CC 802B628C 46000021 */ cvt.d.s $f0, $f0
/* E2A5D0 802B6290 46220000 */ add.d $f0, $f0, $f2
/* E2A5D4 802B6294 3C014220 */ lui $at, 0x4220
/* E2A5D8 802B6298 44811000 */ mtc1 $at, $f2
/* E2A5DC 802B629C 46200020 */ cvt.s.d $f0, $f0
/* E2A5E0 802B62A0 4600103C */ c.lt.s $f2, $f0
/* E2A5E4 802B62A4 00000000 */ nop
/* E2A5E8 802B62A8 45000002 */ bc1f .L802B62B4
/* E2A5EC 802B62AC E4400014 */ swc1 $f0, 0x14($v0)
/* E2A5F0 802B62B0 E4420014 */ swc1 $f2, 0x14($v0)
.L802B62B4:
/* E2A5F4 802B62B4 8E030000 */ lw $v1, ($s0)
/* E2A5F8 802B62B8 8C620000 */ lw $v0, ($v1)
/* E2A5FC 802B62BC 2442FFFF */ addiu $v0, $v0, -1
/* E2A600 802B62C0 1440001A */ bnez $v0, .L802B632C
/* E2A604 802B62C4 AC620000 */ sw $v0, ($v1)
/* E2A608 802B62C8 922200B6 */ lbu $v0, 0xb6($s1)
/* E2A60C 802B62CC 0240202D */ daddu $a0, $s2, $zero
/* E2A610 802B62D0 24420001 */ addiu $v0, $v0, 1
/* E2A614 802B62D4 0C04419E */ jal entity_start_script
/* E2A618 802B62D8 A22200B6 */ sb $v0, 0xb6($s1)
/* E2A61C 802B62DC 080AD8CB */ j .L802B632C
/* E2A620 802B62E0 00000000 */ nop
.L802B62E4:
/* E2A624 802B62E4 0C038039 */ jal disable_player_shadow
/* E2A628 802B62E8 00000000 */ nop
/* E2A62C 802B62EC 3C048011 */ lui $a0, %hi(wPartnerNpc)
/* E2A630 802B62F0 8C84C930 */ lw $a0, %lo(wPartnerNpc)($a0)
/* E2A634 802B62F4 0C00EAFF */ jal disable_npc_shadow
/* E2A638 802B62F8 00000000 */ nop
/* E2A63C 802B62FC 24020032 */ addiu $v0, $zero, 0x32
/* E2A640 802B6300 0C038050 */ jal enable_player_static_collisions
/* E2A644 802B6304 A6220010 */ sh $v0, 0x10($s1)
/* E2A648 802B6308 0C038069 */ jal enable_player_input
/* E2A64C 802B630C 00000000 */ nop
/* E2A650 802B6310 3C03FFEF */ lui $v1, 0xffef
/* E2A654 802B6314 3463FFF7 */ ori $v1, $v1, 0xfff7
/* E2A658 802B6318 8E220000 */ lw $v0, ($s1)
/* E2A65C 802B631C 0000202D */ daddu $a0, $zero, $zero
/* E2A660 802B6320 00431024 */ and $v0, $v0, $v1
/* E2A664 802B6324 0C039769 */ jal set_action_state
/* E2A668 802B6328 AE220000 */ sw $v0, ($s1)
.L802B632C:
/* E2A66C 802B632C 8FBF0024 */ lw $ra, 0x24($sp)
/* E2A670 802B6330 8FB20020 */ lw $s2, 0x20($sp)
/* E2A674 802B6334 8FB1001C */ lw $s1, 0x1c($sp)
/* E2A678 802B6338 8FB00018 */ lw $s0, 0x18($sp)
/* E2A67C 802B633C D7B40028 */ ldc1 $f20, 0x28($sp)
/* E2A680 802B6340 03E00008 */ jr $ra
/* E2A684 802B6344 27BD0030 */ addiu $sp, $sp, 0x30
/* E2A688 802B6348 00000000 */ nop
/* E2A68C 802B634C 00000000 */ nop

View File

@ -1,251 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD338_318088
/* 318088 802BD338 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 31808C 802BD33C AFB00018 */ sw $s0, 0x18($sp)
/* 318090 802BD340 3C108011 */ lui $s0, %hi(gPlayerData)
/* 318094 802BD344 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* 318098 802BD348 AFBF0028 */ sw $ra, 0x28($sp)
/* 31809C 802BD34C AFB30024 */ sw $s3, 0x24($sp)
/* 3180A0 802BD350 AFB20020 */ sw $s2, 0x20($sp)
/* 3180A4 802BD354 AFB1001C */ sw $s1, 0x1c($sp)
/* 3180A8 802BD358 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 3180AC 802BD35C 8C91014C */ lw $s1, 0x14c($a0)
/* 3180B0 802BD360 10A00009 */ beqz $a1, .L802BD388
/* 3180B4 802BD364 0220202D */ daddu $a0, $s1, $zero
/* 3180B8 802BD368 0C03AE2A */ jal partner_walking_enable
/* 3180BC 802BD36C 24050001 */ addiu $a1, $zero, 1
/* 3180C0 802BD370 3C04802C */ lui $a0, %hi(D_802BE89C_3195EC)
/* 3180C4 802BD374 8C84E89C */ lw $a0, %lo(D_802BE89C_3195EC)($a0)
/* 3180C8 802BD378 0C00A580 */ jal mem_clear
/* 3180CC 802BD37C 2405001C */ addiu $a1, $zero, 0x1c
/* 3180D0 802BD380 3C018011 */ lui $at, %hi(D_8010C954)
/* 3180D4 802BD384 AC20C954 */ sw $zero, %lo(D_8010C954)($at)
.L802BD388:
/* 3180D8 802BD388 3C030001 */ lui $v1, 1
/* 3180DC 802BD38C 8E020300 */ lw $v0, 0x300($s0)
/* 3180E0 802BD390 3C138011 */ lui $s3, %hi(D_8010C954)
/* 3180E4 802BD394 2673C954 */ addiu $s3, $s3, %lo(D_8010C954)
/* 3180E8 802BD398 24420001 */ addiu $v0, $v0, 1
/* 3180EC 802BD39C AE020300 */ sw $v0, 0x300($s0)
/* 3180F0 802BD3A0 8E220000 */ lw $v0, ($s1)
/* 3180F4 802BD3A4 8E720000 */ lw $s2, ($s3)
/* 3180F8 802BD3A8 00431025 */ or $v0, $v0, $v1
/* 3180FC 802BD3AC 16400007 */ bnez $s2, .L802BD3CC
/* 318100 802BD3B0 AE220000 */ sw $v0, ($s1)
/* 318104 802BD3B4 0C03AE8F */ jal partner_walking_update_player_tracking
/* 318108 802BD3B8 0220202D */ daddu $a0, $s1, $zero
/* 31810C 802BD3BC 0C03AED0 */ jal partner_walking_update_motion
/* 318110 802BD3C0 0220202D */ daddu $a0, $s1, $zero
/* 318114 802BD3C4 080AF5AF */ j .L802BD6BC
/* 318118 802BD3C8 0000102D */ daddu $v0, $zero, $zero
.L802BD3CC:
/* 31811C 802BD3CC 3C10802C */ lui $s0, %hi(D_802BE89C_3195EC)
/* 318120 802BD3D0 2610E89C */ addiu $s0, $s0, %lo(D_802BE89C_3195EC)
/* 318124 802BD3D4 8E040000 */ lw $a0, ($s0)
/* 318128 802BD3D8 8C830004 */ lw $v1, 4($a0)
/* 31812C 802BD3DC 24050001 */ addiu $a1, $zero, 1
/* 318130 802BD3E0 10650030 */ beq $v1, $a1, .L802BD4A4
/* 318134 802BD3E4 28620002 */ slti $v0, $v1, 2
/* 318138 802BD3E8 10400005 */ beqz $v0, .L802BD400
/* 31813C 802BD3EC 24020002 */ addiu $v0, $zero, 2
/* 318140 802BD3F0 10600009 */ beqz $v1, .L802BD418
/* 318144 802BD3F4 0000102D */ daddu $v0, $zero, $zero
/* 318148 802BD3F8 080AF5AF */ j .L802BD6BC
/* 31814C 802BD3FC 00000000 */ nop
.L802BD400:
/* 318150 802BD400 1062009A */ beq $v1, $v0, .L802BD66C
/* 318154 802BD404 24020003 */ addiu $v0, $zero, 3
/* 318158 802BD408 106200A0 */ beq $v1, $v0, .L802BD68C
/* 31815C 802BD40C 0000102D */ daddu $v0, $zero, $zero
/* 318160 802BD410 080AF5AF */ j .L802BD6BC
/* 318164 802BD414 00000000 */ nop
.L802BD418:
/* 318168 802BD418 AC850004 */ sw $a1, 4($a0)
/* 31816C 802BD41C 8E220000 */ lw $v0, ($s1)
/* 318170 802BD420 AC820008 */ sw $v0, 8($a0)
/* 318174 802BD424 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 318178 802BD428 C62E0040 */ lwc1 $f14, 0x40($s1)
/* 31817C 802BD42C 8E460048 */ lw $a2, 0x48($s2)
/* 318180 802BD430 0C00A7B5 */ jal dist2D
/* 318184 802BD434 8E470050 */ lw $a3, 0x50($s2)
/* 318188 802BD438 8E020000 */ lw $v0, ($s0)
/* 31818C 802BD43C 46000005 */ abs.s $f0, $f0
/* 318190 802BD440 E440000C */ swc1 $f0, 0xc($v0)
/* 318194 802BD444 C64C0048 */ lwc1 $f12, 0x48($s2)
/* 318198 802BD448 C64E0050 */ lwc1 $f14, 0x50($s2)
/* 31819C 802BD44C 8E260038 */ lw $a2, 0x38($s1)
/* 3181A0 802BD450 0C00A720 */ jal atan2
/* 3181A4 802BD454 8E270040 */ lw $a3, 0x40($s1)
/* 3181A8 802BD458 3C040004 */ lui $a0, 4
/* 3181AC 802BD45C 24020078 */ addiu $v0, $zero, 0x78
/* 3181B0 802BD460 8E030000 */ lw $v1, ($s0)
/* 3181B4 802BD464 3C0140C0 */ lui $at, 0x40c0
/* 3181B8 802BD468 44811000 */ mtc1 $at, $f2
/* 3181BC 802BD46C 3C014248 */ lui $at, 0x4248
/* 3181C0 802BD470 44812000 */ mtc1 $at, $f4
/* 3181C4 802BD474 34840148 */ ori $a0, $a0, 0x148
/* 3181C8 802BD478 E4600010 */ swc1 $f0, 0x10($v1)
/* 3181CC 802BD47C E4620014 */ swc1 $f2, 0x14($v1)
/* 3181D0 802BD480 E4640018 */ swc1 $f4, 0x18($v1)
/* 3181D4 802BD484 AC620000 */ sw $v0, ($v1)
/* 3181D8 802BD488 8E220000 */ lw $v0, ($s1)
/* 3181DC 802BD48C 2403FDFF */ addiu $v1, $zero, -0x201
/* 3181E0 802BD490 00441025 */ or $v0, $v0, $a0
/* 3181E4 802BD494 00431024 */ and $v0, $v0, $v1
/* 3181E8 802BD498 AE220000 */ sw $v0, ($s1)
/* 3181EC 802BD49C 3C10802C */ lui $s0, %hi(D_802BE89C_3195EC)
/* 3181F0 802BD4A0 2610E89C */ addiu $s0, $s0, %lo(D_802BE89C_3195EC)
.L802BD4A4:
/* 3181F4 802BD4A4 8E020000 */ lw $v0, ($s0)
/* 3181F8 802BD4A8 3C0140C9 */ lui $at, 0x40c9
/* 3181FC 802BD4AC 34210FD0 */ ori $at, $at, 0xfd0
/* 318200 802BD4B0 44810000 */ mtc1 $at, $f0
/* 318204 802BD4B4 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 318208 802BD4B8 46006302 */ mul.s $f12, $f12, $f0
/* 31820C 802BD4BC 00000000 */ nop
/* 318210 802BD4C0 27A50010 */ addiu $a1, $sp, 0x10
/* 318214 802BD4C4 3C0143B4 */ lui $at, 0x43b4
/* 318218 802BD4C8 44810000 */ mtc1 $at, $f0
/* 31821C 802BD4CC 27A60014 */ addiu $a2, $sp, 0x14
/* 318220 802BD4D0 0C00A82D */ jal sin_cos_rad
/* 318224 802BD4D4 46006303 */ div.s $f12, $f12, $f0
/* 318228 802BD4D8 8E020000 */ lw $v0, ($s0)
/* 31822C 802BD4DC C7A20010 */ lwc1 $f2, 0x10($sp)
/* 318230 802BD4E0 C440000C */ lwc1 $f0, 0xc($v0)
/* 318234 802BD4E4 46001082 */ mul.s $f2, $f2, $f0
/* 318238 802BD4E8 00000000 */ nop
/* 31823C 802BD4EC C6400048 */ lwc1 $f0, 0x48($s2)
/* 318240 802BD4F0 46020000 */ add.s $f0, $f0, $f2
/* 318244 802BD4F4 E6200038 */ swc1 $f0, 0x38($s1)
/* 318248 802BD4F8 C7A20014 */ lwc1 $f2, 0x14($sp)
/* 31824C 802BD4FC C440000C */ lwc1 $f0, 0xc($v0)
/* 318250 802BD500 46001082 */ mul.s $f2, $f2, $f0
/* 318254 802BD504 00000000 */ nop
/* 318258 802BD508 C6400050 */ lwc1 $f0, 0x50($s2)
/* 31825C 802BD50C 46020001 */ sub.s $f0, $f0, $f2
/* 318260 802BD510 E6200040 */ swc1 $f0, 0x40($s1)
/* 318264 802BD514 C4400010 */ lwc1 $f0, 0x10($v0)
/* 318268 802BD518 C44C0014 */ lwc1 $f12, 0x14($v0)
/* 31826C 802BD51C 0C00A6C9 */ jal clamp_angle
/* 318270 802BD520 460C0301 */ sub.s $f12, $f0, $f12
/* 318274 802BD524 8E100000 */ lw $s0, ($s0)
/* 318278 802BD528 3C0141A0 */ lui $at, 0x41a0
/* 31827C 802BD52C 44811000 */ mtc1 $at, $f2
/* 318280 802BD530 C604000C */ lwc1 $f4, 0xc($s0)
/* 318284 802BD534 4604103C */ c.lt.s $f2, $f4
/* 318288 802BD538 00000000 */ nop
/* 31828C 802BD53C 45000005 */ bc1f .L802BD554
/* 318290 802BD540 E6000010 */ swc1 $f0, 0x10($s0)
/* 318294 802BD544 3C013F80 */ lui $at, 0x3f80
/* 318298 802BD548 44810000 */ mtc1 $at, $f0
/* 31829C 802BD54C 080AF560 */ j .L802BD580
/* 3182A0 802BD550 46002001 */ sub.s $f0, $f4, $f0
.L802BD554:
/* 3182A4 802BD554 3C014198 */ lui $at, 0x4198
/* 3182A8 802BD558 44810000 */ mtc1 $at, $f0
/* 3182AC 802BD55C 00000000 */ nop
/* 3182B0 802BD560 4600203C */ c.lt.s $f4, $f0
/* 3182B4 802BD564 00000000 */ nop
/* 3182B8 802BD568 45000006 */ bc1f .L802BD584
/* 3182BC 802BD56C 00000000 */ nop
/* 3182C0 802BD570 3C013F80 */ lui $at, 0x3f80
/* 3182C4 802BD574 44810000 */ mtc1 $at, $f0
/* 3182C8 802BD578 00000000 */ nop
/* 3182CC 802BD57C 46002000 */ add.s $f0, $f4, $f0
.L802BD580:
/* 3182D0 802BD580 E600000C */ swc1 $f0, 0xc($s0)
.L802BD584:
/* 3182D4 802BD584 3C10802C */ lui $s0, %hi(D_802BE89C_3195EC)
/* 3182D8 802BD588 2610E89C */ addiu $s0, $s0, %lo(D_802BE89C_3195EC)
/* 3182DC 802BD58C 8E020000 */ lw $v0, ($s0)
/* 3182E0 802BD590 3C0140C9 */ lui $at, 0x40c9
/* 3182E4 802BD594 34210FD0 */ ori $at, $at, 0xfd0
/* 3182E8 802BD598 44810000 */ mtc1 $at, $f0
/* 3182EC 802BD59C C44C0018 */ lwc1 $f12, 0x18($v0)
/* 3182F0 802BD5A0 46006302 */ mul.s $f12, $f12, $f0
/* 3182F4 802BD5A4 00000000 */ nop
/* 3182F8 802BD5A8 3C0143B4 */ lui $at, 0x43b4
/* 3182FC 802BD5AC 4481A000 */ mtc1 $at, $f20
/* 318300 802BD5B0 0C00A85B */ jal sin_rad
/* 318304 802BD5B4 46146303 */ div.s $f12, $f12, $f20
/* 318308 802BD5B8 8E020000 */ lw $v0, ($s0)
/* 31830C 802BD5BC 3C014040 */ lui $at, 0x4040
/* 318310 802BD5C0 44812000 */ mtc1 $at, $f4
/* 318314 802BD5C4 C4420018 */ lwc1 $f2, 0x18($v0)
/* 318318 802BD5C8 46041080 */ add.s $f2, $f2, $f4
/* 31831C 802BD5CC 3C014316 */ lui $at, 0x4316
/* 318320 802BD5D0 44813000 */ mtc1 $at, $f6
/* 318324 802BD5D4 00000000 */ nop
/* 318328 802BD5D8 4602303C */ c.lt.s $f6, $f2
/* 31832C 802BD5DC E4420018 */ swc1 $f2, 0x18($v0)
/* 318330 802BD5E0 46040082 */ mul.s $f2, $f0, $f4
/* 318334 802BD5E4 00000000 */ nop
/* 318338 802BD5E8 45030001 */ bc1tl .L802BD5F0
/* 31833C 802BD5EC E4460018 */ swc1 $f6, 0x18($v0)
.L802BD5F0:
/* 318340 802BD5F0 C620003C */ lwc1 $f0, 0x3c($s1)
/* 318344 802BD5F4 46020000 */ add.s $f0, $f0, $f2
/* 318348 802BD5F8 8E020000 */ lw $v0, ($s0)
/* 31834C 802BD5FC E620003C */ swc1 $f0, 0x3c($s1)
/* 318350 802BD600 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 318354 802BD604 0C00A6C9 */ jal clamp_angle
/* 318358 802BD608 460CA301 */ sub.s $f12, $f20, $f12
/* 31835C 802BD60C 8E020000 */ lw $v0, ($s0)
/* 318360 802BD610 E6200034 */ swc1 $f0, 0x34($s1)
/* 318364 802BD614 C4400014 */ lwc1 $f0, 0x14($v0)
/* 318368 802BD618 3C01802C */ lui $at, %hi(D_802BE900_319650)
/* 31836C 802BD61C D422E900 */ ldc1 $f2, %lo(D_802BE900_319650)($at)
/* 318370 802BD620 46000021 */ cvt.d.s $f0, $f0
/* 318374 802BD624 46220000 */ add.d $f0, $f0, $f2
/* 318378 802BD628 3C014220 */ lui $at, 0x4220
/* 31837C 802BD62C 44811000 */ mtc1 $at, $f2
/* 318380 802BD630 46200020 */ cvt.s.d $f0, $f0
/* 318384 802BD634 4600103C */ c.lt.s $f2, $f0
/* 318388 802BD638 00000000 */ nop
/* 31838C 802BD63C 45000002 */ bc1f .L802BD648
/* 318390 802BD640 E4400014 */ swc1 $f0, 0x14($v0)
/* 318394 802BD644 E4420014 */ swc1 $f2, 0x14($v0)
.L802BD648:
/* 318398 802BD648 8E030000 */ lw $v1, ($s0)
/* 31839C 802BD64C 8C620000 */ lw $v0, ($v1)
/* 3183A0 802BD650 2442FFFF */ addiu $v0, $v0, -1
/* 3183A4 802BD654 14400018 */ bnez $v0, .L802BD6B8
/* 3183A8 802BD658 AC620000 */ sw $v0, ($v1)
/* 3183AC 802BD65C 8C620004 */ lw $v0, 4($v1)
/* 3183B0 802BD660 24420001 */ addiu $v0, $v0, 1
/* 3183B4 802BD664 080AF5AE */ j .L802BD6B8
/* 3183B8 802BD668 AC620004 */ sw $v0, 4($v1)
.L802BD66C:
/* 3183BC 802BD66C 8C820008 */ lw $v0, 8($a0)
/* 3183C0 802BD670 AE220000 */ sw $v0, ($s1)
/* 3183C4 802BD674 8C820004 */ lw $v0, 4($a0)
/* 3183C8 802BD678 2403001E */ addiu $v1, $zero, 0x1e
/* 3183CC 802BD67C AC830000 */ sw $v1, ($a0)
/* 3183D0 802BD680 24420001 */ addiu $v0, $v0, 1
/* 3183D4 802BD684 080AF5AE */ j .L802BD6B8
/* 3183D8 802BD688 AC820004 */ sw $v0, 4($a0)
.L802BD68C:
/* 3183DC 802BD68C 0C03AE8F */ jal partner_walking_update_player_tracking
/* 3183E0 802BD690 0220202D */ daddu $a0, $s1, $zero
/* 3183E4 802BD694 0C03AED0 */ jal partner_walking_update_motion
/* 3183E8 802BD698 0220202D */ daddu $a0, $s1, $zero
/* 3183EC 802BD69C 8E030000 */ lw $v1, ($s0)
/* 3183F0 802BD6A0 8C620000 */ lw $v0, ($v1)
/* 3183F4 802BD6A4 2442FFFF */ addiu $v0, $v0, -1
/* 3183F8 802BD6A8 14400003 */ bnez $v0, .L802BD6B8
/* 3183FC 802BD6AC AC620000 */ sw $v0, ($v1)
/* 318400 802BD6B0 AC600004 */ sw $zero, 4($v1)
/* 318404 802BD6B4 AE600000 */ sw $zero, ($s3)
.L802BD6B8:
/* 318408 802BD6B8 0000102D */ daddu $v0, $zero, $zero
.L802BD6BC:
/* 31840C 802BD6BC 8FBF0028 */ lw $ra, 0x28($sp)
/* 318410 802BD6C0 8FB30024 */ lw $s3, 0x24($sp)
/* 318414 802BD6C4 8FB20020 */ lw $s2, 0x20($sp)
/* 318418 802BD6C8 8FB1001C */ lw $s1, 0x1c($sp)
/* 31841C 802BD6CC 8FB00018 */ lw $s0, 0x18($sp)
/* 318420 802BD6D0 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 318424 802BD6D4 03E00008 */ jr $ra
/* 318428 802BD6D8 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,254 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802BE060_3249B0
.double 0.8
.section .text
glabel func_802BD168_323AB8
/* 323AB8 802BD168 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 323ABC 802BD16C AFB00018 */ sw $s0, 0x18($sp)
/* 323AC0 802BD170 3C108011 */ lui $s0, %hi(gPlayerData)
/* 323AC4 802BD174 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* 323AC8 802BD178 AFBF0028 */ sw $ra, 0x28($sp)
/* 323ACC 802BD17C AFB30024 */ sw $s3, 0x24($sp)
/* 323AD0 802BD180 AFB20020 */ sw $s2, 0x20($sp)
/* 323AD4 802BD184 AFB1001C */ sw $s1, 0x1c($sp)
/* 323AD8 802BD188 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 323ADC 802BD18C 8C91014C */ lw $s1, 0x14c($a0)
/* 323AE0 802BD190 10A00009 */ beqz $a1, .L802BD1B8
/* 323AE4 802BD194 0220202D */ daddu $a0, $s1, $zero
/* 323AE8 802BD198 0C03B4C4 */ jal partner_flying_enable
/* 323AEC 802BD19C 24050001 */ addiu $a1, $zero, 1
/* 323AF0 802BD1A0 3C04802C */ lui $a0, %hi(D_802BDFFC_32494C)
/* 323AF4 802BD1A4 8C84DFFC */ lw $a0, %lo(D_802BDFFC_32494C)($a0)
/* 323AF8 802BD1A8 0C00A580 */ jal mem_clear
/* 323AFC 802BD1AC 2405001C */ addiu $a1, $zero, 0x1c
/* 323B00 802BD1B0 3C018011 */ lui $at, %hi(D_8010C954)
/* 323B04 802BD1B4 AC20C954 */ sw $zero, %lo(D_8010C954)($at)
.L802BD1B8:
/* 323B08 802BD1B8 3C138011 */ lui $s3, %hi(D_8010C954)
/* 323B0C 802BD1BC 2673C954 */ addiu $s3, $s3, %lo(D_8010C954)
/* 323B10 802BD1C0 8E020318 */ lw $v0, 0x318($s0)
/* 323B14 802BD1C4 8E720000 */ lw $s2, ($s3)
/* 323B18 802BD1C8 24420001 */ addiu $v0, $v0, 1
/* 323B1C 802BD1CC 16400007 */ bnez $s2, .L802BD1EC
/* 323B20 802BD1D0 AE020318 */ sw $v0, 0x318($s0)
/* 323B24 802BD1D4 0C03B52E */ jal partner_flying_update_player_tracking
/* 323B28 802BD1D8 0220202D */ daddu $a0, $s1, $zero
/* 323B2C 802BD1DC 0C03B574 */ jal partner_flying_update_motion
/* 323B30 802BD1E0 0220202D */ daddu $a0, $s1, $zero
/* 323B34 802BD1E4 080AF537 */ j .L802BD4DC
/* 323B38 802BD1E8 0000102D */ daddu $v0, $zero, $zero
.L802BD1EC:
/* 323B3C 802BD1EC 3C10802C */ lui $s0, %hi(D_802BDFFC_32494C)
/* 323B40 802BD1F0 2610DFFC */ addiu $s0, $s0, %lo(D_802BDFFC_32494C)
/* 323B44 802BD1F4 8E040000 */ lw $a0, ($s0)
/* 323B48 802BD1F8 8C830004 */ lw $v1, 4($a0)
/* 323B4C 802BD1FC 24050001 */ addiu $a1, $zero, 1
/* 323B50 802BD200 10650030 */ beq $v1, $a1, .L802BD2C4
/* 323B54 802BD204 28620002 */ slti $v0, $v1, 2
/* 323B58 802BD208 10400005 */ beqz $v0, .L802BD220
/* 323B5C 802BD20C 24020002 */ addiu $v0, $zero, 2
/* 323B60 802BD210 10600009 */ beqz $v1, .L802BD238
/* 323B64 802BD214 0000102D */ daddu $v0, $zero, $zero
/* 323B68 802BD218 080AF537 */ j .L802BD4DC
/* 323B6C 802BD21C 00000000 */ nop
.L802BD220:
/* 323B70 802BD220 1062009A */ beq $v1, $v0, .L802BD48C
/* 323B74 802BD224 24020003 */ addiu $v0, $zero, 3
/* 323B78 802BD228 106200A0 */ beq $v1, $v0, .L802BD4AC
/* 323B7C 802BD22C 0000102D */ daddu $v0, $zero, $zero
/* 323B80 802BD230 080AF537 */ j .L802BD4DC
/* 323B84 802BD234 00000000 */ nop
.L802BD238:
/* 323B88 802BD238 AC850004 */ sw $a1, 4($a0)
/* 323B8C 802BD23C 8E220000 */ lw $v0, ($s1)
/* 323B90 802BD240 AC820008 */ sw $v0, 8($a0)
/* 323B94 802BD244 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 323B98 802BD248 C62E0040 */ lwc1 $f14, 0x40($s1)
/* 323B9C 802BD24C 8E460048 */ lw $a2, 0x48($s2)
/* 323BA0 802BD250 0C00A7B5 */ jal dist2D
/* 323BA4 802BD254 8E470050 */ lw $a3, 0x50($s2)
/* 323BA8 802BD258 8E020000 */ lw $v0, ($s0)
/* 323BAC 802BD25C 46000005 */ abs.s $f0, $f0
/* 323BB0 802BD260 E440000C */ swc1 $f0, 0xc($v0)
/* 323BB4 802BD264 C64C0048 */ lwc1 $f12, 0x48($s2)
/* 323BB8 802BD268 C64E0050 */ lwc1 $f14, 0x50($s2)
/* 323BBC 802BD26C 8E260038 */ lw $a2, 0x38($s1)
/* 323BC0 802BD270 0C00A720 */ jal atan2
/* 323BC4 802BD274 8E270040 */ lw $a3, 0x40($s1)
/* 323BC8 802BD278 3C040004 */ lui $a0, 4
/* 323BCC 802BD27C 24020078 */ addiu $v0, $zero, 0x78
/* 323BD0 802BD280 8E030000 */ lw $v1, ($s0)
/* 323BD4 802BD284 3C0140C0 */ lui $at, 0x40c0
/* 323BD8 802BD288 44811000 */ mtc1 $at, $f2
/* 323BDC 802BD28C 3C014248 */ lui $at, 0x4248
/* 323BE0 802BD290 44812000 */ mtc1 $at, $f4
/* 323BE4 802BD294 34840148 */ ori $a0, $a0, 0x148
/* 323BE8 802BD298 E4600010 */ swc1 $f0, 0x10($v1)
/* 323BEC 802BD29C E4620014 */ swc1 $f2, 0x14($v1)
/* 323BF0 802BD2A0 E4640018 */ swc1 $f4, 0x18($v1)
/* 323BF4 802BD2A4 AC620000 */ sw $v0, ($v1)
/* 323BF8 802BD2A8 8E220000 */ lw $v0, ($s1)
/* 323BFC 802BD2AC 2403FDFF */ addiu $v1, $zero, -0x201
/* 323C00 802BD2B0 00441025 */ or $v0, $v0, $a0
/* 323C04 802BD2B4 00431024 */ and $v0, $v0, $v1
/* 323C08 802BD2B8 AE220000 */ sw $v0, ($s1)
/* 323C0C 802BD2BC 3C10802C */ lui $s0, %hi(D_802BDFFC_32494C)
/* 323C10 802BD2C0 2610DFFC */ addiu $s0, $s0, %lo(D_802BDFFC_32494C)
.L802BD2C4:
/* 323C14 802BD2C4 8E020000 */ lw $v0, ($s0)
/* 323C18 802BD2C8 3C0140C9 */ lui $at, 0x40c9
/* 323C1C 802BD2CC 34210FD0 */ ori $at, $at, 0xfd0
/* 323C20 802BD2D0 44810000 */ mtc1 $at, $f0
/* 323C24 802BD2D4 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 323C28 802BD2D8 46006302 */ mul.s $f12, $f12, $f0
/* 323C2C 802BD2DC 00000000 */ nop
/* 323C30 802BD2E0 27A50010 */ addiu $a1, $sp, 0x10
/* 323C34 802BD2E4 3C0143B4 */ lui $at, 0x43b4
/* 323C38 802BD2E8 44810000 */ mtc1 $at, $f0
/* 323C3C 802BD2EC 27A60014 */ addiu $a2, $sp, 0x14
/* 323C40 802BD2F0 0C00A82D */ jal sin_cos_rad
/* 323C44 802BD2F4 46006303 */ div.s $f12, $f12, $f0
/* 323C48 802BD2F8 8E020000 */ lw $v0, ($s0)
/* 323C4C 802BD2FC C7A20010 */ lwc1 $f2, 0x10($sp)
/* 323C50 802BD300 C440000C */ lwc1 $f0, 0xc($v0)
/* 323C54 802BD304 46001082 */ mul.s $f2, $f2, $f0
/* 323C58 802BD308 00000000 */ nop
/* 323C5C 802BD30C C6400048 */ lwc1 $f0, 0x48($s2)
/* 323C60 802BD310 46020000 */ add.s $f0, $f0, $f2
/* 323C64 802BD314 E6200038 */ swc1 $f0, 0x38($s1)
/* 323C68 802BD318 C7A20014 */ lwc1 $f2, 0x14($sp)
/* 323C6C 802BD31C C440000C */ lwc1 $f0, 0xc($v0)
/* 323C70 802BD320 46001082 */ mul.s $f2, $f2, $f0
/* 323C74 802BD324 00000000 */ nop
/* 323C78 802BD328 C6400050 */ lwc1 $f0, 0x50($s2)
/* 323C7C 802BD32C 46020001 */ sub.s $f0, $f0, $f2
/* 323C80 802BD330 E6200040 */ swc1 $f0, 0x40($s1)
/* 323C84 802BD334 C4400010 */ lwc1 $f0, 0x10($v0)
/* 323C88 802BD338 C44C0014 */ lwc1 $f12, 0x14($v0)
/* 323C8C 802BD33C 0C00A6C9 */ jal clamp_angle
/* 323C90 802BD340 460C0301 */ sub.s $f12, $f0, $f12
/* 323C94 802BD344 8E100000 */ lw $s0, ($s0)
/* 323C98 802BD348 3C0141A0 */ lui $at, 0x41a0
/* 323C9C 802BD34C 44811000 */ mtc1 $at, $f2
/* 323CA0 802BD350 C604000C */ lwc1 $f4, 0xc($s0)
/* 323CA4 802BD354 4604103C */ c.lt.s $f2, $f4
/* 323CA8 802BD358 00000000 */ nop
/* 323CAC 802BD35C 45000005 */ bc1f .L802BD374
/* 323CB0 802BD360 E6000010 */ swc1 $f0, 0x10($s0)
/* 323CB4 802BD364 3C013F80 */ lui $at, 0x3f80
/* 323CB8 802BD368 44810000 */ mtc1 $at, $f0
/* 323CBC 802BD36C 080AF4E8 */ j .L802BD3A0
/* 323CC0 802BD370 46002001 */ sub.s $f0, $f4, $f0
.L802BD374:
/* 323CC4 802BD374 3C014198 */ lui $at, 0x4198
/* 323CC8 802BD378 44810000 */ mtc1 $at, $f0
/* 323CCC 802BD37C 00000000 */ nop
/* 323CD0 802BD380 4600203C */ c.lt.s $f4, $f0
/* 323CD4 802BD384 00000000 */ nop
/* 323CD8 802BD388 45000006 */ bc1f .L802BD3A4
/* 323CDC 802BD38C 00000000 */ nop
/* 323CE0 802BD390 3C013F80 */ lui $at, 0x3f80
/* 323CE4 802BD394 44810000 */ mtc1 $at, $f0
/* 323CE8 802BD398 00000000 */ nop
/* 323CEC 802BD39C 46002000 */ add.s $f0, $f4, $f0
.L802BD3A0:
/* 323CF0 802BD3A0 E600000C */ swc1 $f0, 0xc($s0)
.L802BD3A4:
/* 323CF4 802BD3A4 3C10802C */ lui $s0, %hi(D_802BDFFC_32494C)
/* 323CF8 802BD3A8 2610DFFC */ addiu $s0, $s0, %lo(D_802BDFFC_32494C)
/* 323CFC 802BD3AC 8E020000 */ lw $v0, ($s0)
/* 323D00 802BD3B0 3C0140C9 */ lui $at, 0x40c9
/* 323D04 802BD3B4 34210FD0 */ ori $at, $at, 0xfd0
/* 323D08 802BD3B8 44810000 */ mtc1 $at, $f0
/* 323D0C 802BD3BC C44C0018 */ lwc1 $f12, 0x18($v0)
/* 323D10 802BD3C0 46006302 */ mul.s $f12, $f12, $f0
/* 323D14 802BD3C4 00000000 */ nop
/* 323D18 802BD3C8 3C0143B4 */ lui $at, 0x43b4
/* 323D1C 802BD3CC 4481A000 */ mtc1 $at, $f20
/* 323D20 802BD3D0 0C00A85B */ jal sin_rad
/* 323D24 802BD3D4 46146303 */ div.s $f12, $f12, $f20
/* 323D28 802BD3D8 8E020000 */ lw $v0, ($s0)
/* 323D2C 802BD3DC 3C014040 */ lui $at, 0x4040
/* 323D30 802BD3E0 44812000 */ mtc1 $at, $f4
/* 323D34 802BD3E4 C4420018 */ lwc1 $f2, 0x18($v0)
/* 323D38 802BD3E8 46041080 */ add.s $f2, $f2, $f4
/* 323D3C 802BD3EC 3C014316 */ lui $at, 0x4316
/* 323D40 802BD3F0 44813000 */ mtc1 $at, $f6
/* 323D44 802BD3F4 00000000 */ nop
/* 323D48 802BD3F8 4602303C */ c.lt.s $f6, $f2
/* 323D4C 802BD3FC E4420018 */ swc1 $f2, 0x18($v0)
/* 323D50 802BD400 46040082 */ mul.s $f2, $f0, $f4
/* 323D54 802BD404 00000000 */ nop
/* 323D58 802BD408 45030001 */ bc1tl .L802BD410
/* 323D5C 802BD40C E4460018 */ swc1 $f6, 0x18($v0)
.L802BD410:
/* 323D60 802BD410 C620003C */ lwc1 $f0, 0x3c($s1)
/* 323D64 802BD414 46020000 */ add.s $f0, $f0, $f2
/* 323D68 802BD418 8E020000 */ lw $v0, ($s0)
/* 323D6C 802BD41C E620003C */ swc1 $f0, 0x3c($s1)
/* 323D70 802BD420 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 323D74 802BD424 0C00A6C9 */ jal clamp_angle
/* 323D78 802BD428 460CA301 */ sub.s $f12, $f20, $f12
/* 323D7C 802BD42C 8E020000 */ lw $v0, ($s0)
/* 323D80 802BD430 E6200034 */ swc1 $f0, 0x34($s1)
/* 323D84 802BD434 C4400014 */ lwc1 $f0, 0x14($v0)
/* 323D88 802BD438 3C01802C */ lui $at, %hi(D_802BE060_3249B0)
/* 323D8C 802BD43C D422E060 */ ldc1 $f2, %lo(D_802BE060_3249B0)($at)
/* 323D90 802BD440 46000021 */ cvt.d.s $f0, $f0
/* 323D94 802BD444 46220000 */ add.d $f0, $f0, $f2
/* 323D98 802BD448 3C014220 */ lui $at, 0x4220
/* 323D9C 802BD44C 44811000 */ mtc1 $at, $f2
/* 323DA0 802BD450 46200020 */ cvt.s.d $f0, $f0
/* 323DA4 802BD454 4600103C */ c.lt.s $f2, $f0
/* 323DA8 802BD458 00000000 */ nop
/* 323DAC 802BD45C 45000002 */ bc1f .L802BD468
/* 323DB0 802BD460 E4400014 */ swc1 $f0, 0x14($v0)
/* 323DB4 802BD464 E4420014 */ swc1 $f2, 0x14($v0)
.L802BD468:
/* 323DB8 802BD468 8E030000 */ lw $v1, ($s0)
/* 323DBC 802BD46C 8C620000 */ lw $v0, ($v1)
/* 323DC0 802BD470 2442FFFF */ addiu $v0, $v0, -1
/* 323DC4 802BD474 14400018 */ bnez $v0, .L802BD4D8
/* 323DC8 802BD478 AC620000 */ sw $v0, ($v1)
/* 323DCC 802BD47C 8C620004 */ lw $v0, 4($v1)
/* 323DD0 802BD480 24420001 */ addiu $v0, $v0, 1
/* 323DD4 802BD484 080AF536 */ j .L802BD4D8
/* 323DD8 802BD488 AC620004 */ sw $v0, 4($v1)
.L802BD48C:
/* 323DDC 802BD48C 8C820008 */ lw $v0, 8($a0)
/* 323DE0 802BD490 AE220000 */ sw $v0, ($s1)
/* 323DE4 802BD494 8C820004 */ lw $v0, 4($a0)
/* 323DE8 802BD498 2403001E */ addiu $v1, $zero, 0x1e
/* 323DEC 802BD49C AC830000 */ sw $v1, ($a0)
/* 323DF0 802BD4A0 24420001 */ addiu $v0, $v0, 1
/* 323DF4 802BD4A4 080AF536 */ j .L802BD4D8
/* 323DF8 802BD4A8 AC820004 */ sw $v0, 4($a0)
.L802BD4AC:
/* 323DFC 802BD4AC 0C03B52E */ jal partner_flying_update_player_tracking
/* 323E00 802BD4B0 0220202D */ daddu $a0, $s1, $zero
/* 323E04 802BD4B4 0C03B574 */ jal partner_flying_update_motion
/* 323E08 802BD4B8 0220202D */ daddu $a0, $s1, $zero
/* 323E0C 802BD4BC 8E030000 */ lw $v1, ($s0)
/* 323E10 802BD4C0 8C620000 */ lw $v0, ($v1)
/* 323E14 802BD4C4 2442FFFF */ addiu $v0, $v0, -1
/* 323E18 802BD4C8 14400003 */ bnez $v0, .L802BD4D8
/* 323E1C 802BD4CC AC620000 */ sw $v0, ($v1)
/* 323E20 802BD4D0 AC600004 */ sw $zero, 4($v1)
/* 323E24 802BD4D4 AE600000 */ sw $zero, ($s3)
.L802BD4D8:
/* 323E28 802BD4D8 0000102D */ daddu $v0, $zero, $zero
.L802BD4DC:
/* 323E2C 802BD4DC 8FBF0028 */ lw $ra, 0x28($sp)
/* 323E30 802BD4E0 8FB30024 */ lw $s3, 0x24($sp)
/* 323E34 802BD4E4 8FB20020 */ lw $s2, 0x20($sp)
/* 323E38 802BD4E8 8FB1001C */ lw $s1, 0x1c($sp)
/* 323E3C 802BD4EC 8FB00018 */ lw $s0, 0x18($sp)
/* 323E40 802BD4F0 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 323E44 802BD4F4 03E00008 */ jr $ra
/* 323E48 802BD4F8 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,254 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802BEBC0_31CBE0
.double 0.8
.section .text
glabel func_802BD260_31B280
/* 31B280 802BD260 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 31B284 802BD264 AFB00018 */ sw $s0, 0x18($sp)
/* 31B288 802BD268 3C108011 */ lui $s0, %hi(gPlayerData)
/* 31B28C 802BD26C 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* 31B290 802BD270 AFBF0028 */ sw $ra, 0x28($sp)
/* 31B294 802BD274 AFB30024 */ sw $s3, 0x24($sp)
/* 31B298 802BD278 AFB20020 */ sw $s2, 0x20($sp)
/* 31B29C 802BD27C AFB1001C */ sw $s1, 0x1c($sp)
/* 31B2A0 802BD280 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 31B2A4 802BD284 8C91014C */ lw $s1, 0x14c($a0)
/* 31B2A8 802BD288 10A00009 */ beqz $a1, .L802BD2B0
/* 31B2AC 802BD28C 0220202D */ daddu $a0, $s1, $zero
/* 31B2B0 802BD290 0C03AE2A */ jal partner_walking_enable
/* 31B2B4 802BD294 24050001 */ addiu $a1, $zero, 1
/* 31B2B8 802BD298 3C04802C */ lui $a0, %hi(D_802BEB60_31CB80)
/* 31B2BC 802BD29C 8C84EB60 */ lw $a0, %lo(D_802BEB60_31CB80)($a0)
/* 31B2C0 802BD2A0 0C00A580 */ jal mem_clear
/* 31B2C4 802BD2A4 2405001C */ addiu $a1, $zero, 0x1c
/* 31B2C8 802BD2A8 3C018011 */ lui $at, %hi(D_8010C954)
/* 31B2CC 802BD2AC AC20C954 */ sw $zero, %lo(D_8010C954)($at)
.L802BD2B0:
/* 31B2D0 802BD2B0 3C138011 */ lui $s3, %hi(D_8010C954)
/* 31B2D4 802BD2B4 2673C954 */ addiu $s3, $s3, %lo(D_8010C954)
/* 31B2D8 802BD2B8 8E0202FC */ lw $v0, 0x2fc($s0)
/* 31B2DC 802BD2BC 8E720000 */ lw $s2, ($s3)
/* 31B2E0 802BD2C0 24420001 */ addiu $v0, $v0, 1
/* 31B2E4 802BD2C4 16400007 */ bnez $s2, .L802BD2E4
/* 31B2E8 802BD2C8 AE0202FC */ sw $v0, 0x2fc($s0)
/* 31B2EC 802BD2CC 0C03AE8F */ jal partner_walking_update_player_tracking
/* 31B2F0 802BD2D0 0220202D */ daddu $a0, $s1, $zero
/* 31B2F4 802BD2D4 0C03AED0 */ jal partner_walking_update_motion
/* 31B2F8 802BD2D8 0220202D */ daddu $a0, $s1, $zero
/* 31B2FC 802BD2DC 080AF575 */ j .L802BD5D4
/* 31B300 802BD2E0 0000102D */ daddu $v0, $zero, $zero
.L802BD2E4:
/* 31B304 802BD2E4 3C10802C */ lui $s0, %hi(D_802BEB60_31CB80)
/* 31B308 802BD2E8 2610EB60 */ addiu $s0, $s0, %lo(D_802BEB60_31CB80)
/* 31B30C 802BD2EC 8E040000 */ lw $a0, ($s0)
/* 31B310 802BD2F0 8C830004 */ lw $v1, 4($a0)
/* 31B314 802BD2F4 24050001 */ addiu $a1, $zero, 1
/* 31B318 802BD2F8 10650030 */ beq $v1, $a1, .L802BD3BC
/* 31B31C 802BD2FC 28620002 */ slti $v0, $v1, 2
/* 31B320 802BD300 10400005 */ beqz $v0, .L802BD318
/* 31B324 802BD304 24020002 */ addiu $v0, $zero, 2
/* 31B328 802BD308 10600009 */ beqz $v1, .L802BD330
/* 31B32C 802BD30C 0000102D */ daddu $v0, $zero, $zero
/* 31B330 802BD310 080AF575 */ j .L802BD5D4
/* 31B334 802BD314 00000000 */ nop
.L802BD318:
/* 31B338 802BD318 1062009A */ beq $v1, $v0, .L802BD584
/* 31B33C 802BD31C 24020003 */ addiu $v0, $zero, 3
/* 31B340 802BD320 106200A0 */ beq $v1, $v0, .L802BD5A4
/* 31B344 802BD324 0000102D */ daddu $v0, $zero, $zero
/* 31B348 802BD328 080AF575 */ j .L802BD5D4
/* 31B34C 802BD32C 00000000 */ nop
.L802BD330:
/* 31B350 802BD330 AC850004 */ sw $a1, 4($a0)
/* 31B354 802BD334 8E220000 */ lw $v0, ($s1)
/* 31B358 802BD338 AC820008 */ sw $v0, 8($a0)
/* 31B35C 802BD33C C62C0038 */ lwc1 $f12, 0x38($s1)
/* 31B360 802BD340 C62E0040 */ lwc1 $f14, 0x40($s1)
/* 31B364 802BD344 8E460048 */ lw $a2, 0x48($s2)
/* 31B368 802BD348 0C00A7B5 */ jal dist2D
/* 31B36C 802BD34C 8E470050 */ lw $a3, 0x50($s2)
/* 31B370 802BD350 8E020000 */ lw $v0, ($s0)
/* 31B374 802BD354 46000005 */ abs.s $f0, $f0
/* 31B378 802BD358 E440000C */ swc1 $f0, 0xc($v0)
/* 31B37C 802BD35C C64C0048 */ lwc1 $f12, 0x48($s2)
/* 31B380 802BD360 C64E0050 */ lwc1 $f14, 0x50($s2)
/* 31B384 802BD364 8E260038 */ lw $a2, 0x38($s1)
/* 31B388 802BD368 0C00A720 */ jal atan2
/* 31B38C 802BD36C 8E270040 */ lw $a3, 0x40($s1)
/* 31B390 802BD370 3C040004 */ lui $a0, 4
/* 31B394 802BD374 24020078 */ addiu $v0, $zero, 0x78
/* 31B398 802BD378 8E030000 */ lw $v1, ($s0)
/* 31B39C 802BD37C 3C0140C0 */ lui $at, 0x40c0
/* 31B3A0 802BD380 44811000 */ mtc1 $at, $f2
/* 31B3A4 802BD384 3C014248 */ lui $at, 0x4248
/* 31B3A8 802BD388 44812000 */ mtc1 $at, $f4
/* 31B3AC 802BD38C 34840148 */ ori $a0, $a0, 0x148
/* 31B3B0 802BD390 E4600010 */ swc1 $f0, 0x10($v1)
/* 31B3B4 802BD394 E4620014 */ swc1 $f2, 0x14($v1)
/* 31B3B8 802BD398 E4640018 */ swc1 $f4, 0x18($v1)
/* 31B3BC 802BD39C AC620000 */ sw $v0, ($v1)
/* 31B3C0 802BD3A0 8E220000 */ lw $v0, ($s1)
/* 31B3C4 802BD3A4 2403FDFF */ addiu $v1, $zero, -0x201
/* 31B3C8 802BD3A8 00441025 */ or $v0, $v0, $a0
/* 31B3CC 802BD3AC 00431024 */ and $v0, $v0, $v1
/* 31B3D0 802BD3B0 AE220000 */ sw $v0, ($s1)
/* 31B3D4 802BD3B4 3C10802C */ lui $s0, %hi(D_802BEB60_31CB80)
/* 31B3D8 802BD3B8 2610EB60 */ addiu $s0, $s0, %lo(D_802BEB60_31CB80)
.L802BD3BC:
/* 31B3DC 802BD3BC 8E020000 */ lw $v0, ($s0)
/* 31B3E0 802BD3C0 3C0140C9 */ lui $at, 0x40c9
/* 31B3E4 802BD3C4 34210FD0 */ ori $at, $at, 0xfd0
/* 31B3E8 802BD3C8 44810000 */ mtc1 $at, $f0
/* 31B3EC 802BD3CC C44C0010 */ lwc1 $f12, 0x10($v0)
/* 31B3F0 802BD3D0 46006302 */ mul.s $f12, $f12, $f0
/* 31B3F4 802BD3D4 00000000 */ nop
/* 31B3F8 802BD3D8 27A50010 */ addiu $a1, $sp, 0x10
/* 31B3FC 802BD3DC 3C0143B4 */ lui $at, 0x43b4
/* 31B400 802BD3E0 44810000 */ mtc1 $at, $f0
/* 31B404 802BD3E4 27A60014 */ addiu $a2, $sp, 0x14
/* 31B408 802BD3E8 0C00A82D */ jal sin_cos_rad
/* 31B40C 802BD3EC 46006303 */ div.s $f12, $f12, $f0
/* 31B410 802BD3F0 8E020000 */ lw $v0, ($s0)
/* 31B414 802BD3F4 C7A20010 */ lwc1 $f2, 0x10($sp)
/* 31B418 802BD3F8 C440000C */ lwc1 $f0, 0xc($v0)
/* 31B41C 802BD3FC 46001082 */ mul.s $f2, $f2, $f0
/* 31B420 802BD400 00000000 */ nop
/* 31B424 802BD404 C6400048 */ lwc1 $f0, 0x48($s2)
/* 31B428 802BD408 46020000 */ add.s $f0, $f0, $f2
/* 31B42C 802BD40C E6200038 */ swc1 $f0, 0x38($s1)
/* 31B430 802BD410 C7A20014 */ lwc1 $f2, 0x14($sp)
/* 31B434 802BD414 C440000C */ lwc1 $f0, 0xc($v0)
/* 31B438 802BD418 46001082 */ mul.s $f2, $f2, $f0
/* 31B43C 802BD41C 00000000 */ nop
/* 31B440 802BD420 C6400050 */ lwc1 $f0, 0x50($s2)
/* 31B444 802BD424 46020001 */ sub.s $f0, $f0, $f2
/* 31B448 802BD428 E6200040 */ swc1 $f0, 0x40($s1)
/* 31B44C 802BD42C C4400010 */ lwc1 $f0, 0x10($v0)
/* 31B450 802BD430 C44C0014 */ lwc1 $f12, 0x14($v0)
/* 31B454 802BD434 0C00A6C9 */ jal clamp_angle
/* 31B458 802BD438 460C0301 */ sub.s $f12, $f0, $f12
/* 31B45C 802BD43C 8E100000 */ lw $s0, ($s0)
/* 31B460 802BD440 3C0141A0 */ lui $at, 0x41a0
/* 31B464 802BD444 44811000 */ mtc1 $at, $f2
/* 31B468 802BD448 C604000C */ lwc1 $f4, 0xc($s0)
/* 31B46C 802BD44C 4604103C */ c.lt.s $f2, $f4
/* 31B470 802BD450 00000000 */ nop
/* 31B474 802BD454 45000005 */ bc1f .L802BD46C
/* 31B478 802BD458 E6000010 */ swc1 $f0, 0x10($s0)
/* 31B47C 802BD45C 3C013F80 */ lui $at, 0x3f80
/* 31B480 802BD460 44810000 */ mtc1 $at, $f0
/* 31B484 802BD464 080AF526 */ j .L802BD498
/* 31B488 802BD468 46002001 */ sub.s $f0, $f4, $f0
.L802BD46C:
/* 31B48C 802BD46C 3C014198 */ lui $at, 0x4198
/* 31B490 802BD470 44810000 */ mtc1 $at, $f0
/* 31B494 802BD474 00000000 */ nop
/* 31B498 802BD478 4600203C */ c.lt.s $f4, $f0
/* 31B49C 802BD47C 00000000 */ nop
/* 31B4A0 802BD480 45000006 */ bc1f .L802BD49C
/* 31B4A4 802BD484 00000000 */ nop
/* 31B4A8 802BD488 3C013F80 */ lui $at, 0x3f80
/* 31B4AC 802BD48C 44810000 */ mtc1 $at, $f0
/* 31B4B0 802BD490 00000000 */ nop
/* 31B4B4 802BD494 46002000 */ add.s $f0, $f4, $f0
.L802BD498:
/* 31B4B8 802BD498 E600000C */ swc1 $f0, 0xc($s0)
.L802BD49C:
/* 31B4BC 802BD49C 3C10802C */ lui $s0, %hi(D_802BEB60_31CB80)
/* 31B4C0 802BD4A0 2610EB60 */ addiu $s0, $s0, %lo(D_802BEB60_31CB80)
/* 31B4C4 802BD4A4 8E020000 */ lw $v0, ($s0)
/* 31B4C8 802BD4A8 3C0140C9 */ lui $at, 0x40c9
/* 31B4CC 802BD4AC 34210FD0 */ ori $at, $at, 0xfd0
/* 31B4D0 802BD4B0 44810000 */ mtc1 $at, $f0
/* 31B4D4 802BD4B4 C44C0018 */ lwc1 $f12, 0x18($v0)
/* 31B4D8 802BD4B8 46006302 */ mul.s $f12, $f12, $f0
/* 31B4DC 802BD4BC 00000000 */ nop
/* 31B4E0 802BD4C0 3C0143B4 */ lui $at, 0x43b4
/* 31B4E4 802BD4C4 4481A000 */ mtc1 $at, $f20
/* 31B4E8 802BD4C8 0C00A85B */ jal sin_rad
/* 31B4EC 802BD4CC 46146303 */ div.s $f12, $f12, $f20
/* 31B4F0 802BD4D0 8E020000 */ lw $v0, ($s0)
/* 31B4F4 802BD4D4 3C014040 */ lui $at, 0x4040
/* 31B4F8 802BD4D8 44812000 */ mtc1 $at, $f4
/* 31B4FC 802BD4DC C4420018 */ lwc1 $f2, 0x18($v0)
/* 31B500 802BD4E0 46041080 */ add.s $f2, $f2, $f4
/* 31B504 802BD4E4 3C014316 */ lui $at, 0x4316
/* 31B508 802BD4E8 44813000 */ mtc1 $at, $f6
/* 31B50C 802BD4EC 00000000 */ nop
/* 31B510 802BD4F0 4602303C */ c.lt.s $f6, $f2
/* 31B514 802BD4F4 E4420018 */ swc1 $f2, 0x18($v0)
/* 31B518 802BD4F8 46040082 */ mul.s $f2, $f0, $f4
/* 31B51C 802BD4FC 00000000 */ nop
/* 31B520 802BD500 45030001 */ bc1tl .L802BD508
/* 31B524 802BD504 E4460018 */ swc1 $f6, 0x18($v0)
.L802BD508:
/* 31B528 802BD508 C620003C */ lwc1 $f0, 0x3c($s1)
/* 31B52C 802BD50C 46020000 */ add.s $f0, $f0, $f2
/* 31B530 802BD510 8E020000 */ lw $v0, ($s0)
/* 31B534 802BD514 E620003C */ swc1 $f0, 0x3c($s1)
/* 31B538 802BD518 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 31B53C 802BD51C 0C00A6C9 */ jal clamp_angle
/* 31B540 802BD520 460CA301 */ sub.s $f12, $f20, $f12
/* 31B544 802BD524 8E020000 */ lw $v0, ($s0)
/* 31B548 802BD528 E6200034 */ swc1 $f0, 0x34($s1)
/* 31B54C 802BD52C C4400014 */ lwc1 $f0, 0x14($v0)
/* 31B550 802BD530 3C01802C */ lui $at, %hi(D_802BEBC0_31CBE0)
/* 31B554 802BD534 D422EBC0 */ ldc1 $f2, %lo(D_802BEBC0_31CBE0)($at)
/* 31B558 802BD538 46000021 */ cvt.d.s $f0, $f0
/* 31B55C 802BD53C 46220000 */ add.d $f0, $f0, $f2
/* 31B560 802BD540 3C014220 */ lui $at, 0x4220
/* 31B564 802BD544 44811000 */ mtc1 $at, $f2
/* 31B568 802BD548 46200020 */ cvt.s.d $f0, $f0
/* 31B56C 802BD54C 4600103C */ c.lt.s $f2, $f0
/* 31B570 802BD550 00000000 */ nop
/* 31B574 802BD554 45000002 */ bc1f .L802BD560
/* 31B578 802BD558 E4400014 */ swc1 $f0, 0x14($v0)
/* 31B57C 802BD55C E4420014 */ swc1 $f2, 0x14($v0)
.L802BD560:
/* 31B580 802BD560 8E030000 */ lw $v1, ($s0)
/* 31B584 802BD564 8C620000 */ lw $v0, ($v1)
/* 31B588 802BD568 2442FFFF */ addiu $v0, $v0, -1
/* 31B58C 802BD56C 14400018 */ bnez $v0, .L802BD5D0
/* 31B590 802BD570 AC620000 */ sw $v0, ($v1)
/* 31B594 802BD574 8C620004 */ lw $v0, 4($v1)
/* 31B598 802BD578 24420001 */ addiu $v0, $v0, 1
/* 31B59C 802BD57C 080AF574 */ j .L802BD5D0
/* 31B5A0 802BD580 AC620004 */ sw $v0, 4($v1)
.L802BD584:
/* 31B5A4 802BD584 8C820008 */ lw $v0, 8($a0)
/* 31B5A8 802BD588 AE220000 */ sw $v0, ($s1)
/* 31B5AC 802BD58C 8C820004 */ lw $v0, 4($a0)
/* 31B5B0 802BD590 2403001E */ addiu $v1, $zero, 0x1e
/* 31B5B4 802BD594 AC830000 */ sw $v1, ($a0)
/* 31B5B8 802BD598 24420001 */ addiu $v0, $v0, 1
/* 31B5BC 802BD59C 080AF574 */ j .L802BD5D0
/* 31B5C0 802BD5A0 AC820004 */ sw $v0, 4($a0)
.L802BD5A4:
/* 31B5C4 802BD5A4 0C03AE8F */ jal partner_walking_update_player_tracking
/* 31B5C8 802BD5A8 0220202D */ daddu $a0, $s1, $zero
/* 31B5CC 802BD5AC 0C03AED0 */ jal partner_walking_update_motion
/* 31B5D0 802BD5B0 0220202D */ daddu $a0, $s1, $zero
/* 31B5D4 802BD5B4 8E030000 */ lw $v1, ($s0)
/* 31B5D8 802BD5B8 8C620000 */ lw $v0, ($v1)
/* 31B5DC 802BD5BC 2442FFFF */ addiu $v0, $v0, -1
/* 31B5E0 802BD5C0 14400003 */ bnez $v0, .L802BD5D0
/* 31B5E4 802BD5C4 AC620000 */ sw $v0, ($v1)
/* 31B5E8 802BD5C8 AC600004 */ sw $zero, 4($v1)
/* 31B5EC 802BD5CC AE600000 */ sw $zero, ($s3)
.L802BD5D0:
/* 31B5F0 802BD5D0 0000102D */ daddu $v0, $zero, $zero
.L802BD5D4:
/* 31B5F4 802BD5D4 8FBF0028 */ lw $ra, 0x28($sp)
/* 31B5F8 802BD5D8 8FB30024 */ lw $s3, 0x24($sp)
/* 31B5FC 802BD5DC 8FB20020 */ lw $s2, 0x20($sp)
/* 31B600 802BD5E0 8FB1001C */ lw $s1, 0x1c($sp)
/* 31B604 802BD5E4 8FB00018 */ lw $s0, 0x18($sp)
/* 31B608 802BD5E8 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 31B60C 802BD5EC 03E00008 */ jr $ra
/* 31B610 802BD5F0 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,251 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802BD2D4_320E24
/* 320E24 802BD2D4 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 320E28 802BD2D8 AFB00018 */ sw $s0, 0x18($sp)
/* 320E2C 802BD2DC 3C108011 */ lui $s0, %hi(gPlayerData)
/* 320E30 802BD2E0 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* 320E34 802BD2E4 AFBF0028 */ sw $ra, 0x28($sp)
/* 320E38 802BD2E8 AFB30024 */ sw $s3, 0x24($sp)
/* 320E3C 802BD2EC AFB20020 */ sw $s2, 0x20($sp)
/* 320E40 802BD2F0 AFB1001C */ sw $s1, 0x1c($sp)
/* 320E44 802BD2F4 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 320E48 802BD2F8 8C91014C */ lw $s1, 0x14c($a0)
/* 320E4C 802BD2FC 10A00009 */ beqz $a1, .L802BD324
/* 320E50 802BD300 0220202D */ daddu $a0, $s1, $zero
/* 320E54 802BD304 0C03B4C4 */ jal partner_flying_enable
/* 320E58 802BD308 24050001 */ addiu $a1, $zero, 1
/* 320E5C 802BD30C 3C04802C */ lui $a0, %hi(D_802BFE7C_3239CC)
/* 320E60 802BD310 8C84FE7C */ lw $a0, %lo(D_802BFE7C_3239CC)($a0)
/* 320E64 802BD314 0C00A580 */ jal mem_clear
/* 320E68 802BD318 2405001C */ addiu $a1, $zero, 0x1c
/* 320E6C 802BD31C 3C018011 */ lui $at, %hi(D_8010C954)
/* 320E70 802BD320 AC20C954 */ sw $zero, %lo(D_8010C954)($at)
.L802BD324:
/* 320E74 802BD324 3C030001 */ lui $v1, 1
/* 320E78 802BD328 8E020314 */ lw $v0, 0x314($s0)
/* 320E7C 802BD32C 3C138011 */ lui $s3, %hi(D_8010C954)
/* 320E80 802BD330 2673C954 */ addiu $s3, $s3, %lo(D_8010C954)
/* 320E84 802BD334 24420001 */ addiu $v0, $v0, 1
/* 320E88 802BD338 AE020314 */ sw $v0, 0x314($s0)
/* 320E8C 802BD33C 8E220000 */ lw $v0, ($s1)
/* 320E90 802BD340 8E720000 */ lw $s2, ($s3)
/* 320E94 802BD344 00431025 */ or $v0, $v0, $v1
/* 320E98 802BD348 16400007 */ bnez $s2, .L802BD368
/* 320E9C 802BD34C AE220000 */ sw $v0, ($s1)
/* 320EA0 802BD350 0C03B52E */ jal partner_flying_update_player_tracking
/* 320EA4 802BD354 0220202D */ daddu $a0, $s1, $zero
/* 320EA8 802BD358 0C03B574 */ jal partner_flying_update_motion
/* 320EAC 802BD35C 0220202D */ daddu $a0, $s1, $zero
/* 320EB0 802BD360 080AF596 */ j .L802BD658
/* 320EB4 802BD364 0000102D */ daddu $v0, $zero, $zero
.L802BD368:
/* 320EB8 802BD368 3C10802C */ lui $s0, %hi(D_802BFE7C_3239CC)
/* 320EBC 802BD36C 2610FE7C */ addiu $s0, $s0, %lo(D_802BFE7C_3239CC)
/* 320EC0 802BD370 8E040000 */ lw $a0, ($s0)
/* 320EC4 802BD374 8C830004 */ lw $v1, 4($a0)
/* 320EC8 802BD378 24050001 */ addiu $a1, $zero, 1
/* 320ECC 802BD37C 10650030 */ beq $v1, $a1, .L802BD440
/* 320ED0 802BD380 28620002 */ slti $v0, $v1, 2
/* 320ED4 802BD384 10400005 */ beqz $v0, .L802BD39C
/* 320ED8 802BD388 24020002 */ addiu $v0, $zero, 2
/* 320EDC 802BD38C 10600009 */ beqz $v1, .L802BD3B4
/* 320EE0 802BD390 0000102D */ daddu $v0, $zero, $zero
/* 320EE4 802BD394 080AF596 */ j .L802BD658
/* 320EE8 802BD398 00000000 */ nop
.L802BD39C:
/* 320EEC 802BD39C 1062009A */ beq $v1, $v0, .L802BD608
/* 320EF0 802BD3A0 24020003 */ addiu $v0, $zero, 3
/* 320EF4 802BD3A4 106200A0 */ beq $v1, $v0, .L802BD628
/* 320EF8 802BD3A8 0000102D */ daddu $v0, $zero, $zero
/* 320EFC 802BD3AC 080AF596 */ j .L802BD658
/* 320F00 802BD3B0 00000000 */ nop
.L802BD3B4:
/* 320F04 802BD3B4 AC850004 */ sw $a1, 4($a0)
/* 320F08 802BD3B8 8E220000 */ lw $v0, ($s1)
/* 320F0C 802BD3BC AC820008 */ sw $v0, 8($a0)
/* 320F10 802BD3C0 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 320F14 802BD3C4 C62E0040 */ lwc1 $f14, 0x40($s1)
/* 320F18 802BD3C8 8E460048 */ lw $a2, 0x48($s2)
/* 320F1C 802BD3CC 0C00A7B5 */ jal dist2D
/* 320F20 802BD3D0 8E470050 */ lw $a3, 0x50($s2)
/* 320F24 802BD3D4 8E020000 */ lw $v0, ($s0)
/* 320F28 802BD3D8 46000005 */ abs.s $f0, $f0
/* 320F2C 802BD3DC E440000C */ swc1 $f0, 0xc($v0)
/* 320F30 802BD3E0 C64C0048 */ lwc1 $f12, 0x48($s2)
/* 320F34 802BD3E4 C64E0050 */ lwc1 $f14, 0x50($s2)
/* 320F38 802BD3E8 8E260038 */ lw $a2, 0x38($s1)
/* 320F3C 802BD3EC 0C00A720 */ jal atan2
/* 320F40 802BD3F0 8E270040 */ lw $a3, 0x40($s1)
/* 320F44 802BD3F4 3C040004 */ lui $a0, 4
/* 320F48 802BD3F8 24020078 */ addiu $v0, $zero, 0x78
/* 320F4C 802BD3FC 8E030000 */ lw $v1, ($s0)
/* 320F50 802BD400 3C0140C0 */ lui $at, 0x40c0
/* 320F54 802BD404 44811000 */ mtc1 $at, $f2
/* 320F58 802BD408 3C014248 */ lui $at, 0x4248
/* 320F5C 802BD40C 44812000 */ mtc1 $at, $f4
/* 320F60 802BD410 34840148 */ ori $a0, $a0, 0x148
/* 320F64 802BD414 E4600010 */ swc1 $f0, 0x10($v1)
/* 320F68 802BD418 E4620014 */ swc1 $f2, 0x14($v1)
/* 320F6C 802BD41C E4640018 */ swc1 $f4, 0x18($v1)
/* 320F70 802BD420 AC620000 */ sw $v0, ($v1)
/* 320F74 802BD424 8E220000 */ lw $v0, ($s1)
/* 320F78 802BD428 2403FDFF */ addiu $v1, $zero, -0x201
/* 320F7C 802BD42C 00441025 */ or $v0, $v0, $a0
/* 320F80 802BD430 00431024 */ and $v0, $v0, $v1
/* 320F84 802BD434 AE220000 */ sw $v0, ($s1)
/* 320F88 802BD438 3C10802C */ lui $s0, %hi(D_802BFE7C_3239CC)
/* 320F8C 802BD43C 2610FE7C */ addiu $s0, $s0, %lo(D_802BFE7C_3239CC)
.L802BD440:
/* 320F90 802BD440 8E020000 */ lw $v0, ($s0)
/* 320F94 802BD444 3C0140C9 */ lui $at, 0x40c9
/* 320F98 802BD448 34210FD0 */ ori $at, $at, 0xfd0
/* 320F9C 802BD44C 44810000 */ mtc1 $at, $f0
/* 320FA0 802BD450 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 320FA4 802BD454 46006302 */ mul.s $f12, $f12, $f0
/* 320FA8 802BD458 00000000 */ nop
/* 320FAC 802BD45C 27A50010 */ addiu $a1, $sp, 0x10
/* 320FB0 802BD460 3C0143B4 */ lui $at, 0x43b4
/* 320FB4 802BD464 44810000 */ mtc1 $at, $f0
/* 320FB8 802BD468 27A60014 */ addiu $a2, $sp, 0x14
/* 320FBC 802BD46C 0C00A82D */ jal sin_cos_rad
/* 320FC0 802BD470 46006303 */ div.s $f12, $f12, $f0
/* 320FC4 802BD474 8E020000 */ lw $v0, ($s0)
/* 320FC8 802BD478 C7A20010 */ lwc1 $f2, 0x10($sp)
/* 320FCC 802BD47C C440000C */ lwc1 $f0, 0xc($v0)
/* 320FD0 802BD480 46001082 */ mul.s $f2, $f2, $f0
/* 320FD4 802BD484 00000000 */ nop
/* 320FD8 802BD488 C6400048 */ lwc1 $f0, 0x48($s2)
/* 320FDC 802BD48C 46020000 */ add.s $f0, $f0, $f2
/* 320FE0 802BD490 E6200038 */ swc1 $f0, 0x38($s1)
/* 320FE4 802BD494 C7A20014 */ lwc1 $f2, 0x14($sp)
/* 320FE8 802BD498 C440000C */ lwc1 $f0, 0xc($v0)
/* 320FEC 802BD49C 46001082 */ mul.s $f2, $f2, $f0
/* 320FF0 802BD4A0 00000000 */ nop
/* 320FF4 802BD4A4 C6400050 */ lwc1 $f0, 0x50($s2)
/* 320FF8 802BD4A8 46020001 */ sub.s $f0, $f0, $f2
/* 320FFC 802BD4AC E6200040 */ swc1 $f0, 0x40($s1)
/* 321000 802BD4B0 C4400010 */ lwc1 $f0, 0x10($v0)
/* 321004 802BD4B4 C44C0014 */ lwc1 $f12, 0x14($v0)
/* 321008 802BD4B8 0C00A6C9 */ jal clamp_angle
/* 32100C 802BD4BC 460C0301 */ sub.s $f12, $f0, $f12
/* 321010 802BD4C0 8E100000 */ lw $s0, ($s0)
/* 321014 802BD4C4 3C0141A0 */ lui $at, 0x41a0
/* 321018 802BD4C8 44811000 */ mtc1 $at, $f2
/* 32101C 802BD4CC C604000C */ lwc1 $f4, 0xc($s0)
/* 321020 802BD4D0 4604103C */ c.lt.s $f2, $f4
/* 321024 802BD4D4 00000000 */ nop
/* 321028 802BD4D8 45000005 */ bc1f .L802BD4F0
/* 32102C 802BD4DC E6000010 */ swc1 $f0, 0x10($s0)
/* 321030 802BD4E0 3C013F80 */ lui $at, 0x3f80
/* 321034 802BD4E4 44810000 */ mtc1 $at, $f0
/* 321038 802BD4E8 080AF547 */ j .L802BD51C
/* 32103C 802BD4EC 46002001 */ sub.s $f0, $f4, $f0
.L802BD4F0:
/* 321040 802BD4F0 3C014198 */ lui $at, 0x4198
/* 321044 802BD4F4 44810000 */ mtc1 $at, $f0
/* 321048 802BD4F8 00000000 */ nop
/* 32104C 802BD4FC 4600203C */ c.lt.s $f4, $f0
/* 321050 802BD500 00000000 */ nop
/* 321054 802BD504 45000006 */ bc1f .L802BD520
/* 321058 802BD508 00000000 */ nop
/* 32105C 802BD50C 3C013F80 */ lui $at, 0x3f80
/* 321060 802BD510 44810000 */ mtc1 $at, $f0
/* 321064 802BD514 00000000 */ nop
/* 321068 802BD518 46002000 */ add.s $f0, $f4, $f0
.L802BD51C:
/* 32106C 802BD51C E600000C */ swc1 $f0, 0xc($s0)
.L802BD520:
/* 321070 802BD520 3C10802C */ lui $s0, %hi(D_802BFE7C_3239CC)
/* 321074 802BD524 2610FE7C */ addiu $s0, $s0, %lo(D_802BFE7C_3239CC)
/* 321078 802BD528 8E020000 */ lw $v0, ($s0)
/* 32107C 802BD52C 3C0140C9 */ lui $at, 0x40c9
/* 321080 802BD530 34210FD0 */ ori $at, $at, 0xfd0
/* 321084 802BD534 44810000 */ mtc1 $at, $f0
/* 321088 802BD538 C44C0018 */ lwc1 $f12, 0x18($v0)
/* 32108C 802BD53C 46006302 */ mul.s $f12, $f12, $f0
/* 321090 802BD540 00000000 */ nop
/* 321094 802BD544 3C0143B4 */ lui $at, 0x43b4
/* 321098 802BD548 4481A000 */ mtc1 $at, $f20
/* 32109C 802BD54C 0C00A85B */ jal sin_rad
/* 3210A0 802BD550 46146303 */ div.s $f12, $f12, $f20
/* 3210A4 802BD554 8E020000 */ lw $v0, ($s0)
/* 3210A8 802BD558 3C014040 */ lui $at, 0x4040
/* 3210AC 802BD55C 44812000 */ mtc1 $at, $f4
/* 3210B0 802BD560 C4420018 */ lwc1 $f2, 0x18($v0)
/* 3210B4 802BD564 46041080 */ add.s $f2, $f2, $f4
/* 3210B8 802BD568 3C014316 */ lui $at, 0x4316
/* 3210BC 802BD56C 44813000 */ mtc1 $at, $f6
/* 3210C0 802BD570 00000000 */ nop
/* 3210C4 802BD574 4602303C */ c.lt.s $f6, $f2
/* 3210C8 802BD578 E4420018 */ swc1 $f2, 0x18($v0)
/* 3210CC 802BD57C 46040082 */ mul.s $f2, $f0, $f4
/* 3210D0 802BD580 00000000 */ nop
/* 3210D4 802BD584 45030001 */ bc1tl .L802BD58C
/* 3210D8 802BD588 E4460018 */ swc1 $f6, 0x18($v0)
.L802BD58C:
/* 3210DC 802BD58C C620003C */ lwc1 $f0, 0x3c($s1)
/* 3210E0 802BD590 46020000 */ add.s $f0, $f0, $f2
/* 3210E4 802BD594 8E020000 */ lw $v0, ($s0)
/* 3210E8 802BD598 E620003C */ swc1 $f0, 0x3c($s1)
/* 3210EC 802BD59C C44C0010 */ lwc1 $f12, 0x10($v0)
/* 3210F0 802BD5A0 0C00A6C9 */ jal clamp_angle
/* 3210F4 802BD5A4 460CA301 */ sub.s $f12, $f20, $f12
/* 3210F8 802BD5A8 8E020000 */ lw $v0, ($s0)
/* 3210FC 802BD5AC E6200034 */ swc1 $f0, 0x34($s1)
/* 321100 802BD5B0 C4400014 */ lwc1 $f0, 0x14($v0)
/* 321104 802BD5B4 3C01802C */ lui $at, %hi(D_802BFEF0)
/* 321108 802BD5B8 D422FEF0 */ ldc1 $f2, %lo(D_802BFEF0)($at)
/* 32110C 802BD5BC 46000021 */ cvt.d.s $f0, $f0
/* 321110 802BD5C0 46220000 */ add.d $f0, $f0, $f2
/* 321114 802BD5C4 3C014220 */ lui $at, 0x4220
/* 321118 802BD5C8 44811000 */ mtc1 $at, $f2
/* 32111C 802BD5CC 46200020 */ cvt.s.d $f0, $f0
/* 321120 802BD5D0 4600103C */ c.lt.s $f2, $f0
/* 321124 802BD5D4 00000000 */ nop
/* 321128 802BD5D8 45000002 */ bc1f .L802BD5E4
/* 32112C 802BD5DC E4400014 */ swc1 $f0, 0x14($v0)
/* 321130 802BD5E0 E4420014 */ swc1 $f2, 0x14($v0)
.L802BD5E4:
/* 321134 802BD5E4 8E030000 */ lw $v1, ($s0)
/* 321138 802BD5E8 8C620000 */ lw $v0, ($v1)
/* 32113C 802BD5EC 2442FFFF */ addiu $v0, $v0, -1
/* 321140 802BD5F0 14400018 */ bnez $v0, .L802BD654
/* 321144 802BD5F4 AC620000 */ sw $v0, ($v1)
/* 321148 802BD5F8 8C620004 */ lw $v0, 4($v1)
/* 32114C 802BD5FC 24420001 */ addiu $v0, $v0, 1
/* 321150 802BD600 080AF595 */ j .L802BD654
/* 321154 802BD604 AC620004 */ sw $v0, 4($v1)
.L802BD608:
/* 321158 802BD608 8C820008 */ lw $v0, 8($a0)
/* 32115C 802BD60C AE220000 */ sw $v0, ($s1)
/* 321160 802BD610 8C820004 */ lw $v0, 4($a0)
/* 321164 802BD614 2403001E */ addiu $v1, $zero, 0x1e
/* 321168 802BD618 AC830000 */ sw $v1, ($a0)
/* 32116C 802BD61C 24420001 */ addiu $v0, $v0, 1
/* 321170 802BD620 080AF595 */ j .L802BD654
/* 321174 802BD624 AC820004 */ sw $v0, 4($a0)
.L802BD628:
/* 321178 802BD628 0C03B52E */ jal partner_flying_update_player_tracking
/* 32117C 802BD62C 0220202D */ daddu $a0, $s1, $zero
/* 321180 802BD630 0C03B574 */ jal partner_flying_update_motion
/* 321184 802BD634 0220202D */ daddu $a0, $s1, $zero
/* 321188 802BD638 8E030000 */ lw $v1, ($s0)
/* 32118C 802BD63C 8C620000 */ lw $v0, ($v1)
/* 321190 802BD640 2442FFFF */ addiu $v0, $v0, -1
/* 321194 802BD644 14400003 */ bnez $v0, .L802BD654
/* 321198 802BD648 AC620000 */ sw $v0, ($v1)
/* 32119C 802BD64C AC600004 */ sw $zero, 4($v1)
/* 3211A0 802BD650 AE600000 */ sw $zero, ($s3)
.L802BD654:
/* 3211A4 802BD654 0000102D */ daddu $v0, $zero, $zero
.L802BD658:
/* 3211A8 802BD658 8FBF0028 */ lw $ra, 0x28($sp)
/* 3211AC 802BD65C 8FB30024 */ lw $s3, 0x24($sp)
/* 3211B0 802BD660 8FB20020 */ lw $s2, 0x20($sp)
/* 3211B4 802BD664 8FB1001C */ lw $s1, 0x1c($sp)
/* 3211B8 802BD668 8FB00018 */ lw $s0, 0x18($sp)
/* 3211BC 802BD66C D7B40030 */ ldc1 $f20, 0x30($sp)
/* 3211C0 802BD670 03E00008 */ jr $ra
/* 3211C4 802BD674 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,254 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802BEB10_31B080
.double 0.8
.section .text
glabel func_802BD180_3196F0
/* 3196F0 802BD180 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 3196F4 802BD184 AFB00018 */ sw $s0, 0x18($sp)
/* 3196F8 802BD188 3C108011 */ lui $s0, %hi(gPlayerData)
/* 3196FC 802BD18C 2610F290 */ addiu $s0, $s0, %lo(gPlayerData)
/* 319700 802BD190 AFBF0028 */ sw $ra, 0x28($sp)
/* 319704 802BD194 AFB30024 */ sw $s3, 0x24($sp)
/* 319708 802BD198 AFB20020 */ sw $s2, 0x20($sp)
/* 31970C 802BD19C AFB1001C */ sw $s1, 0x1c($sp)
/* 319710 802BD1A0 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 319714 802BD1A4 8C91014C */ lw $s1, 0x14c($a0)
/* 319718 802BD1A8 10A00009 */ beqz $a1, .L802BD1D0
/* 31971C 802BD1AC 0220202D */ daddu $a0, $s1, $zero
/* 319720 802BD1B0 0C03B4C4 */ jal partner_flying_enable
/* 319724 802BD1B4 24050001 */ addiu $a1, $zero, 1
/* 319728 802BD1B8 3C04802C */ lui $a0, %hi(D_802BEAAC_31B01C)
/* 31972C 802BD1BC 8C84EAAC */ lw $a0, %lo(D_802BEAAC_31B01C)($a0)
/* 319730 802BD1C0 0C00A580 */ jal mem_clear
/* 319734 802BD1C4 2405001C */ addiu $a1, $zero, 0x1c
/* 319738 802BD1C8 3C018011 */ lui $at, %hi(D_8010C954)
/* 31973C 802BD1CC AC20C954 */ sw $zero, %lo(D_8010C954)($at)
.L802BD1D0:
/* 319740 802BD1D0 3C138011 */ lui $s3, %hi(D_8010C954)
/* 319744 802BD1D4 2673C954 */ addiu $s3, $s3, %lo(D_8010C954)
/* 319748 802BD1D8 8E020304 */ lw $v0, 0x304($s0)
/* 31974C 802BD1DC 8E720000 */ lw $s2, ($s3)
/* 319750 802BD1E0 24420001 */ addiu $v0, $v0, 1
/* 319754 802BD1E4 16400007 */ bnez $s2, .L802BD204
/* 319758 802BD1E8 AE020304 */ sw $v0, 0x304($s0)
/* 31975C 802BD1EC 0C03B52E */ jal partner_flying_update_player_tracking
/* 319760 802BD1F0 0220202D */ daddu $a0, $s1, $zero
/* 319764 802BD1F4 0C03B574 */ jal partner_flying_update_motion
/* 319768 802BD1F8 0220202D */ daddu $a0, $s1, $zero
/* 31976C 802BD1FC 080AF53D */ j .L802BD4F4
/* 319770 802BD200 0000102D */ daddu $v0, $zero, $zero
.L802BD204:
/* 319774 802BD204 3C10802C */ lui $s0, %hi(D_802BEAAC_31B01C)
/* 319778 802BD208 2610EAAC */ addiu $s0, $s0, %lo(D_802BEAAC_31B01C)
/* 31977C 802BD20C 8E040000 */ lw $a0, ($s0)
/* 319780 802BD210 8C830004 */ lw $v1, 4($a0)
/* 319784 802BD214 24050001 */ addiu $a1, $zero, 1
/* 319788 802BD218 10650030 */ beq $v1, $a1, .L802BD2DC
/* 31978C 802BD21C 28620002 */ slti $v0, $v1, 2
/* 319790 802BD220 10400005 */ beqz $v0, .L802BD238
/* 319794 802BD224 24020002 */ addiu $v0, $zero, 2
/* 319798 802BD228 10600009 */ beqz $v1, .L802BD250
/* 31979C 802BD22C 0000102D */ daddu $v0, $zero, $zero
/* 3197A0 802BD230 080AF53D */ j .L802BD4F4
/* 3197A4 802BD234 00000000 */ nop
.L802BD238:
/* 3197A8 802BD238 1062009A */ beq $v1, $v0, .L802BD4A4
/* 3197AC 802BD23C 24020003 */ addiu $v0, $zero, 3
/* 3197B0 802BD240 106200A0 */ beq $v1, $v0, .L802BD4C4
/* 3197B4 802BD244 0000102D */ daddu $v0, $zero, $zero
/* 3197B8 802BD248 080AF53D */ j .L802BD4F4
/* 3197BC 802BD24C 00000000 */ nop
.L802BD250:
/* 3197C0 802BD250 AC850004 */ sw $a1, 4($a0)
/* 3197C4 802BD254 8E220000 */ lw $v0, ($s1)
/* 3197C8 802BD258 AC820008 */ sw $v0, 8($a0)
/* 3197CC 802BD25C C62C0038 */ lwc1 $f12, 0x38($s1)
/* 3197D0 802BD260 C62E0040 */ lwc1 $f14, 0x40($s1)
/* 3197D4 802BD264 8E460048 */ lw $a2, 0x48($s2)
/* 3197D8 802BD268 0C00A7B5 */ jal dist2D
/* 3197DC 802BD26C 8E470050 */ lw $a3, 0x50($s2)
/* 3197E0 802BD270 8E020000 */ lw $v0, ($s0)
/* 3197E4 802BD274 46000005 */ abs.s $f0, $f0
/* 3197E8 802BD278 E440000C */ swc1 $f0, 0xc($v0)
/* 3197EC 802BD27C C64C0048 */ lwc1 $f12, 0x48($s2)
/* 3197F0 802BD280 C64E0050 */ lwc1 $f14, 0x50($s2)
/* 3197F4 802BD284 8E260038 */ lw $a2, 0x38($s1)
/* 3197F8 802BD288 0C00A720 */ jal atan2
/* 3197FC 802BD28C 8E270040 */ lw $a3, 0x40($s1)
/* 319800 802BD290 3C040004 */ lui $a0, 4
/* 319804 802BD294 24020078 */ addiu $v0, $zero, 0x78
/* 319808 802BD298 8E030000 */ lw $v1, ($s0)
/* 31980C 802BD29C 3C0140C0 */ lui $at, 0x40c0
/* 319810 802BD2A0 44811000 */ mtc1 $at, $f2
/* 319814 802BD2A4 3C014248 */ lui $at, 0x4248
/* 319818 802BD2A8 44812000 */ mtc1 $at, $f4
/* 31981C 802BD2AC 34840148 */ ori $a0, $a0, 0x148
/* 319820 802BD2B0 E4600010 */ swc1 $f0, 0x10($v1)
/* 319824 802BD2B4 E4620014 */ swc1 $f2, 0x14($v1)
/* 319828 802BD2B8 E4640018 */ swc1 $f4, 0x18($v1)
/* 31982C 802BD2BC AC620000 */ sw $v0, ($v1)
/* 319830 802BD2C0 8E220000 */ lw $v0, ($s1)
/* 319834 802BD2C4 2403FDFF */ addiu $v1, $zero, -0x201
/* 319838 802BD2C8 00441025 */ or $v0, $v0, $a0
/* 31983C 802BD2CC 00431024 */ and $v0, $v0, $v1
/* 319840 802BD2D0 AE220000 */ sw $v0, ($s1)
/* 319844 802BD2D4 3C10802C */ lui $s0, %hi(D_802BEAAC_31B01C)
/* 319848 802BD2D8 2610EAAC */ addiu $s0, $s0, %lo(D_802BEAAC_31B01C)
.L802BD2DC:
/* 31984C 802BD2DC 8E020000 */ lw $v0, ($s0)
/* 319850 802BD2E0 3C0140C9 */ lui $at, 0x40c9
/* 319854 802BD2E4 34210FD0 */ ori $at, $at, 0xfd0
/* 319858 802BD2E8 44810000 */ mtc1 $at, $f0
/* 31985C 802BD2EC C44C0010 */ lwc1 $f12, 0x10($v0)
/* 319860 802BD2F0 46006302 */ mul.s $f12, $f12, $f0
/* 319864 802BD2F4 00000000 */ nop
/* 319868 802BD2F8 27A50010 */ addiu $a1, $sp, 0x10
/* 31986C 802BD2FC 3C0143B4 */ lui $at, 0x43b4
/* 319870 802BD300 44810000 */ mtc1 $at, $f0
/* 319874 802BD304 27A60014 */ addiu $a2, $sp, 0x14
/* 319878 802BD308 0C00A82D */ jal sin_cos_rad
/* 31987C 802BD30C 46006303 */ div.s $f12, $f12, $f0
/* 319880 802BD310 8E020000 */ lw $v0, ($s0)
/* 319884 802BD314 C7A20010 */ lwc1 $f2, 0x10($sp)
/* 319888 802BD318 C440000C */ lwc1 $f0, 0xc($v0)
/* 31988C 802BD31C 46001082 */ mul.s $f2, $f2, $f0
/* 319890 802BD320 00000000 */ nop
/* 319894 802BD324 C6400048 */ lwc1 $f0, 0x48($s2)
/* 319898 802BD328 46020000 */ add.s $f0, $f0, $f2
/* 31989C 802BD32C E6200038 */ swc1 $f0, 0x38($s1)
/* 3198A0 802BD330 C7A20014 */ lwc1 $f2, 0x14($sp)
/* 3198A4 802BD334 C440000C */ lwc1 $f0, 0xc($v0)
/* 3198A8 802BD338 46001082 */ mul.s $f2, $f2, $f0
/* 3198AC 802BD33C 00000000 */ nop
/* 3198B0 802BD340 C6400050 */ lwc1 $f0, 0x50($s2)
/* 3198B4 802BD344 46020001 */ sub.s $f0, $f0, $f2
/* 3198B8 802BD348 E6200040 */ swc1 $f0, 0x40($s1)
/* 3198BC 802BD34C C4400010 */ lwc1 $f0, 0x10($v0)
/* 3198C0 802BD350 C44C0014 */ lwc1 $f12, 0x14($v0)
/* 3198C4 802BD354 0C00A6C9 */ jal clamp_angle
/* 3198C8 802BD358 460C0301 */ sub.s $f12, $f0, $f12
/* 3198CC 802BD35C 8E100000 */ lw $s0, ($s0)
/* 3198D0 802BD360 3C0141A0 */ lui $at, 0x41a0
/* 3198D4 802BD364 44811000 */ mtc1 $at, $f2
/* 3198D8 802BD368 C604000C */ lwc1 $f4, 0xc($s0)
/* 3198DC 802BD36C 4604103C */ c.lt.s $f2, $f4
/* 3198E0 802BD370 00000000 */ nop
/* 3198E4 802BD374 45000005 */ bc1f .L802BD38C
/* 3198E8 802BD378 E6000010 */ swc1 $f0, 0x10($s0)
/* 3198EC 802BD37C 3C013F80 */ lui $at, 0x3f80
/* 3198F0 802BD380 44810000 */ mtc1 $at, $f0
/* 3198F4 802BD384 080AF4EE */ j .L802BD3B8
/* 3198F8 802BD388 46002001 */ sub.s $f0, $f4, $f0
.L802BD38C:
/* 3198FC 802BD38C 3C014198 */ lui $at, 0x4198
/* 319900 802BD390 44810000 */ mtc1 $at, $f0
/* 319904 802BD394 00000000 */ nop
/* 319908 802BD398 4600203C */ c.lt.s $f4, $f0
/* 31990C 802BD39C 00000000 */ nop
/* 319910 802BD3A0 45000006 */ bc1f .L802BD3BC
/* 319914 802BD3A4 00000000 */ nop
/* 319918 802BD3A8 3C013F80 */ lui $at, 0x3f80
/* 31991C 802BD3AC 44810000 */ mtc1 $at, $f0
/* 319920 802BD3B0 00000000 */ nop
/* 319924 802BD3B4 46002000 */ add.s $f0, $f4, $f0
.L802BD3B8:
/* 319928 802BD3B8 E600000C */ swc1 $f0, 0xc($s0)
.L802BD3BC:
/* 31992C 802BD3BC 3C10802C */ lui $s0, %hi(D_802BEAAC_31B01C)
/* 319930 802BD3C0 2610EAAC */ addiu $s0, $s0, %lo(D_802BEAAC_31B01C)
/* 319934 802BD3C4 8E020000 */ lw $v0, ($s0)
/* 319938 802BD3C8 3C0140C9 */ lui $at, 0x40c9
/* 31993C 802BD3CC 34210FD0 */ ori $at, $at, 0xfd0
/* 319940 802BD3D0 44810000 */ mtc1 $at, $f0
/* 319944 802BD3D4 C44C0018 */ lwc1 $f12, 0x18($v0)
/* 319948 802BD3D8 46006302 */ mul.s $f12, $f12, $f0
/* 31994C 802BD3DC 00000000 */ nop
/* 319950 802BD3E0 3C0143B4 */ lui $at, 0x43b4
/* 319954 802BD3E4 4481A000 */ mtc1 $at, $f20
/* 319958 802BD3E8 0C00A85B */ jal sin_rad
/* 31995C 802BD3EC 46146303 */ div.s $f12, $f12, $f20
/* 319960 802BD3F0 8E020000 */ lw $v0, ($s0)
/* 319964 802BD3F4 3C014040 */ lui $at, 0x4040
/* 319968 802BD3F8 44812000 */ mtc1 $at, $f4
/* 31996C 802BD3FC C4420018 */ lwc1 $f2, 0x18($v0)
/* 319970 802BD400 46041080 */ add.s $f2, $f2, $f4
/* 319974 802BD404 3C014316 */ lui $at, 0x4316
/* 319978 802BD408 44813000 */ mtc1 $at, $f6
/* 31997C 802BD40C 00000000 */ nop
/* 319980 802BD410 4602303C */ c.lt.s $f6, $f2
/* 319984 802BD414 E4420018 */ swc1 $f2, 0x18($v0)
/* 319988 802BD418 46040082 */ mul.s $f2, $f0, $f4
/* 31998C 802BD41C 00000000 */ nop
/* 319990 802BD420 45030001 */ bc1tl .L802BD428
/* 319994 802BD424 E4460018 */ swc1 $f6, 0x18($v0)
.L802BD428:
/* 319998 802BD428 C620003C */ lwc1 $f0, 0x3c($s1)
/* 31999C 802BD42C 46020000 */ add.s $f0, $f0, $f2
/* 3199A0 802BD430 8E020000 */ lw $v0, ($s0)
/* 3199A4 802BD434 E620003C */ swc1 $f0, 0x3c($s1)
/* 3199A8 802BD438 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 3199AC 802BD43C 0C00A6C9 */ jal clamp_angle
/* 3199B0 802BD440 460CA301 */ sub.s $f12, $f20, $f12
/* 3199B4 802BD444 8E020000 */ lw $v0, ($s0)
/* 3199B8 802BD448 E6200034 */ swc1 $f0, 0x34($s1)
/* 3199BC 802BD44C C4400014 */ lwc1 $f0, 0x14($v0)
/* 3199C0 802BD450 3C01802C */ lui $at, %hi(D_802BEB10_31B080)
/* 3199C4 802BD454 D422EB10 */ ldc1 $f2, %lo(D_802BEB10_31B080)($at)
/* 3199C8 802BD458 46000021 */ cvt.d.s $f0, $f0
/* 3199CC 802BD45C 46220000 */ add.d $f0, $f0, $f2
/* 3199D0 802BD460 3C014220 */ lui $at, 0x4220
/* 3199D4 802BD464 44811000 */ mtc1 $at, $f2
/* 3199D8 802BD468 46200020 */ cvt.s.d $f0, $f0
/* 3199DC 802BD46C 4600103C */ c.lt.s $f2, $f0
/* 3199E0 802BD470 00000000 */ nop
/* 3199E4 802BD474 45000002 */ bc1f .L802BD480
/* 3199E8 802BD478 E4400014 */ swc1 $f0, 0x14($v0)
/* 3199EC 802BD47C E4420014 */ swc1 $f2, 0x14($v0)
.L802BD480:
/* 3199F0 802BD480 8E030000 */ lw $v1, ($s0)
/* 3199F4 802BD484 8C620000 */ lw $v0, ($v1)
/* 3199F8 802BD488 2442FFFF */ addiu $v0, $v0, -1
/* 3199FC 802BD48C 14400018 */ bnez $v0, .L802BD4F0
/* 319A00 802BD490 AC620000 */ sw $v0, ($v1)
/* 319A04 802BD494 8C620004 */ lw $v0, 4($v1)
/* 319A08 802BD498 24420001 */ addiu $v0, $v0, 1
/* 319A0C 802BD49C 080AF53C */ j .L802BD4F0
/* 319A10 802BD4A0 AC620004 */ sw $v0, 4($v1)
.L802BD4A4:
/* 319A14 802BD4A4 8C820008 */ lw $v0, 8($a0)
/* 319A18 802BD4A8 AE220000 */ sw $v0, ($s1)
/* 319A1C 802BD4AC 8C820004 */ lw $v0, 4($a0)
/* 319A20 802BD4B0 2403001E */ addiu $v1, $zero, 0x1e
/* 319A24 802BD4B4 AC830000 */ sw $v1, ($a0)
/* 319A28 802BD4B8 24420001 */ addiu $v0, $v0, 1
/* 319A2C 802BD4BC 080AF53C */ j .L802BD4F0
/* 319A30 802BD4C0 AC820004 */ sw $v0, 4($a0)
.L802BD4C4:
/* 319A34 802BD4C4 0C03B52E */ jal partner_flying_update_player_tracking
/* 319A38 802BD4C8 0220202D */ daddu $a0, $s1, $zero
/* 319A3C 802BD4CC 0C03B574 */ jal partner_flying_update_motion
/* 319A40 802BD4D0 0220202D */ daddu $a0, $s1, $zero
/* 319A44 802BD4D4 8E030000 */ lw $v1, ($s0)
/* 319A48 802BD4D8 8C620000 */ lw $v0, ($v1)
/* 319A4C 802BD4DC 2442FFFF */ addiu $v0, $v0, -1
/* 319A50 802BD4E0 14400003 */ bnez $v0, .L802BD4F0
/* 319A54 802BD4E4 AC620000 */ sw $v0, ($v1)
/* 319A58 802BD4E8 AC600004 */ sw $zero, 4($v1)
/* 319A5C 802BD4EC AE600000 */ sw $zero, ($s3)
.L802BD4F0:
/* 319A60 802BD4F0 0000102D */ daddu $v0, $zero, $zero
.L802BD4F4:
/* 319A64 802BD4F4 8FBF0028 */ lw $ra, 0x28($sp)
/* 319A68 802BD4F8 8FB30024 */ lw $s3, 0x24($sp)
/* 319A6C 802BD4FC 8FB20020 */ lw $s2, 0x20($sp)
/* 319A70 802BD500 8FB1001C */ lw $s1, 0x1c($sp)
/* 319A74 802BD504 8FB00018 */ lw $s0, 0x18($sp)
/* 319A78 802BD508 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 319A7C 802BD50C 03E00008 */ jr $ra
/* 319A80 802BD510 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,249 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
glabel D_802BFED8_320C48
.double 0.8
.section .text
glabel func_802BF5A0_320310
/* 320310 802BF5A0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 320314 802BF5A4 AFBF0028 */ sw $ra, 0x28($sp)
/* 320318 802BF5A8 AFB30024 */ sw $s3, 0x24($sp)
/* 32031C 802BF5AC AFB20020 */ sw $s2, 0x20($sp)
/* 320320 802BF5B0 AFB1001C */ sw $s1, 0x1c($sp)
/* 320324 802BF5B4 AFB00018 */ sw $s0, 0x18($sp)
/* 320328 802BF5B8 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 32032C 802BF5BC 8C91014C */ lw $s1, 0x14c($a0)
/* 320330 802BF5C0 10A00009 */ beqz $a1, .L802BF5E8
/* 320334 802BF5C4 0220202D */ daddu $a0, $s1, $zero
/* 320338 802BF5C8 0C03AE2A */ jal partner_walking_enable
/* 32033C 802BF5CC 24050001 */ addiu $a1, $zero, 1
/* 320340 802BF5D0 3C04802C */ lui $a0, %hi(D_802BFDF8_320B68)
/* 320344 802BF5D4 8C84FDF8 */ lw $a0, %lo(D_802BFDF8_320B68)($a0)
/* 320348 802BF5D8 0C00A580 */ jal mem_clear
/* 32034C 802BF5DC 2405001C */ addiu $a1, $zero, 0x1c
/* 320350 802BF5E0 3C018011 */ lui $at, %hi(D_8010C954)
/* 320354 802BF5E4 AC20C954 */ sw $zero, %lo(D_8010C954)($at)
.L802BF5E8:
/* 320358 802BF5E8 3C138011 */ lui $s3, %hi(D_8010C954)
/* 32035C 802BF5EC 2673C954 */ addiu $s3, $s3, %lo(D_8010C954)
/* 320360 802BF5F0 8E720000 */ lw $s2, ($s3)
/* 320364 802BF5F4 16400007 */ bnez $s2, .L802BF614
/* 320368 802BF5F8 24050001 */ addiu $a1, $zero, 1
/* 32036C 802BF5FC 0C03AE8F */ jal partner_walking_update_player_tracking
/* 320370 802BF600 0220202D */ daddu $a0, $s1, $zero
/* 320374 802BF604 0C03AED0 */ jal partner_walking_update_motion
/* 320378 802BF608 0220202D */ daddu $a0, $s1, $zero
/* 32037C 802BF60C 080AFE40 */ j .L802BF900
/* 320380 802BF610 0000102D */ daddu $v0, $zero, $zero
.L802BF614:
/* 320384 802BF614 3C10802C */ lui $s0, %hi(D_802BFDF8_320B68)
/* 320388 802BF618 2610FDF8 */ addiu $s0, $s0, %lo(D_802BFDF8_320B68)
/* 32038C 802BF61C 8E040000 */ lw $a0, ($s0)
/* 320390 802BF620 8C830004 */ lw $v1, 4($a0)
/* 320394 802BF624 10650030 */ beq $v1, $a1, .L802BF6E8
/* 320398 802BF628 28620002 */ slti $v0, $v1, 2
/* 32039C 802BF62C 10400005 */ beqz $v0, .L802BF644
/* 3203A0 802BF630 24020002 */ addiu $v0, $zero, 2
/* 3203A4 802BF634 10600009 */ beqz $v1, .L802BF65C
/* 3203A8 802BF638 0000102D */ daddu $v0, $zero, $zero
/* 3203AC 802BF63C 080AFE40 */ j .L802BF900
/* 3203B0 802BF640 00000000 */ nop
.L802BF644:
/* 3203B4 802BF644 1062009A */ beq $v1, $v0, .L802BF8B0
/* 3203B8 802BF648 24020003 */ addiu $v0, $zero, 3
/* 3203BC 802BF64C 106200A0 */ beq $v1, $v0, .L802BF8D0
/* 3203C0 802BF650 0000102D */ daddu $v0, $zero, $zero
/* 3203C4 802BF654 080AFE40 */ j .L802BF900
/* 3203C8 802BF658 00000000 */ nop
.L802BF65C:
/* 3203CC 802BF65C AC850004 */ sw $a1, 4($a0)
/* 3203D0 802BF660 8E220000 */ lw $v0, ($s1)
/* 3203D4 802BF664 AC820008 */ sw $v0, 8($a0)
/* 3203D8 802BF668 C62C0038 */ lwc1 $f12, 0x38($s1)
/* 3203DC 802BF66C C62E0040 */ lwc1 $f14, 0x40($s1)
/* 3203E0 802BF670 8E460048 */ lw $a2, 0x48($s2)
/* 3203E4 802BF674 0C00A7B5 */ jal dist2D
/* 3203E8 802BF678 8E470050 */ lw $a3, 0x50($s2)
/* 3203EC 802BF67C 8E020000 */ lw $v0, ($s0)
/* 3203F0 802BF680 46000005 */ abs.s $f0, $f0
/* 3203F4 802BF684 E440000C */ swc1 $f0, 0xc($v0)
/* 3203F8 802BF688 C64C0048 */ lwc1 $f12, 0x48($s2)
/* 3203FC 802BF68C C64E0050 */ lwc1 $f14, 0x50($s2)
/* 320400 802BF690 8E260038 */ lw $a2, 0x38($s1)
/* 320404 802BF694 0C00A720 */ jal atan2
/* 320408 802BF698 8E270040 */ lw $a3, 0x40($s1)
/* 32040C 802BF69C 3C040004 */ lui $a0, 4
/* 320410 802BF6A0 24020078 */ addiu $v0, $zero, 0x78
/* 320414 802BF6A4 8E030000 */ lw $v1, ($s0)
/* 320418 802BF6A8 3C0140C0 */ lui $at, 0x40c0
/* 32041C 802BF6AC 44811000 */ mtc1 $at, $f2
/* 320420 802BF6B0 3C014248 */ lui $at, 0x4248
/* 320424 802BF6B4 44812000 */ mtc1 $at, $f4
/* 320428 802BF6B8 34840148 */ ori $a0, $a0, 0x148
/* 32042C 802BF6BC E4600010 */ swc1 $f0, 0x10($v1)
/* 320430 802BF6C0 E4620014 */ swc1 $f2, 0x14($v1)
/* 320434 802BF6C4 E4640018 */ swc1 $f4, 0x18($v1)
/* 320438 802BF6C8 AC620000 */ sw $v0, ($v1)
/* 32043C 802BF6CC 8E220000 */ lw $v0, ($s1)
/* 320440 802BF6D0 2403FDFF */ addiu $v1, $zero, -0x201
/* 320444 802BF6D4 00441025 */ or $v0, $v0, $a0
/* 320448 802BF6D8 00431024 */ and $v0, $v0, $v1
/* 32044C 802BF6DC AE220000 */ sw $v0, ($s1)
/* 320450 802BF6E0 3C10802C */ lui $s0, %hi(D_802BFDF8_320B68)
/* 320454 802BF6E4 2610FDF8 */ addiu $s0, $s0, %lo(D_802BFDF8_320B68)
.L802BF6E8:
/* 320458 802BF6E8 8E020000 */ lw $v0, ($s0)
/* 32045C 802BF6EC 3C0140C9 */ lui $at, 0x40c9
/* 320460 802BF6F0 34210FD0 */ ori $at, $at, 0xfd0
/* 320464 802BF6F4 44810000 */ mtc1 $at, $f0
/* 320468 802BF6F8 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 32046C 802BF6FC 46006302 */ mul.s $f12, $f12, $f0
/* 320470 802BF700 00000000 */ nop
/* 320474 802BF704 27A50010 */ addiu $a1, $sp, 0x10
/* 320478 802BF708 3C0143B4 */ lui $at, 0x43b4
/* 32047C 802BF70C 44810000 */ mtc1 $at, $f0
/* 320480 802BF710 27A60014 */ addiu $a2, $sp, 0x14
/* 320484 802BF714 0C00A82D */ jal sin_cos_rad
/* 320488 802BF718 46006303 */ div.s $f12, $f12, $f0
/* 32048C 802BF71C 8E020000 */ lw $v0, ($s0)
/* 320490 802BF720 C7A20010 */ lwc1 $f2, 0x10($sp)
/* 320494 802BF724 C440000C */ lwc1 $f0, 0xc($v0)
/* 320498 802BF728 46001082 */ mul.s $f2, $f2, $f0
/* 32049C 802BF72C 00000000 */ nop
/* 3204A0 802BF730 C6400048 */ lwc1 $f0, 0x48($s2)
/* 3204A4 802BF734 46020000 */ add.s $f0, $f0, $f2
/* 3204A8 802BF738 E6200038 */ swc1 $f0, 0x38($s1)
/* 3204AC 802BF73C C7A20014 */ lwc1 $f2, 0x14($sp)
/* 3204B0 802BF740 C440000C */ lwc1 $f0, 0xc($v0)
/* 3204B4 802BF744 46001082 */ mul.s $f2, $f2, $f0
/* 3204B8 802BF748 00000000 */ nop
/* 3204BC 802BF74C C6400050 */ lwc1 $f0, 0x50($s2)
/* 3204C0 802BF750 46020001 */ sub.s $f0, $f0, $f2
/* 3204C4 802BF754 E6200040 */ swc1 $f0, 0x40($s1)
/* 3204C8 802BF758 C4400010 */ lwc1 $f0, 0x10($v0)
/* 3204CC 802BF75C C44C0014 */ lwc1 $f12, 0x14($v0)
/* 3204D0 802BF760 0C00A6C9 */ jal clamp_angle
/* 3204D4 802BF764 460C0301 */ sub.s $f12, $f0, $f12
/* 3204D8 802BF768 8E100000 */ lw $s0, ($s0)
/* 3204DC 802BF76C 3C0141A0 */ lui $at, 0x41a0
/* 3204E0 802BF770 44811000 */ mtc1 $at, $f2
/* 3204E4 802BF774 C604000C */ lwc1 $f4, 0xc($s0)
/* 3204E8 802BF778 4604103C */ c.lt.s $f2, $f4
/* 3204EC 802BF77C 00000000 */ nop
/* 3204F0 802BF780 45000005 */ bc1f .L802BF798
/* 3204F4 802BF784 E6000010 */ swc1 $f0, 0x10($s0)
/* 3204F8 802BF788 3C013F80 */ lui $at, 0x3f80
/* 3204FC 802BF78C 44810000 */ mtc1 $at, $f0
/* 320500 802BF790 080AFDF1 */ j .L802BF7C4
/* 320504 802BF794 46002001 */ sub.s $f0, $f4, $f0
.L802BF798:
/* 320508 802BF798 3C014198 */ lui $at, 0x4198
/* 32050C 802BF79C 44810000 */ mtc1 $at, $f0
/* 320510 802BF7A0 00000000 */ nop
/* 320514 802BF7A4 4600203C */ c.lt.s $f4, $f0
/* 320518 802BF7A8 00000000 */ nop
/* 32051C 802BF7AC 45000006 */ bc1f .L802BF7C8
/* 320520 802BF7B0 00000000 */ nop
/* 320524 802BF7B4 3C013F80 */ lui $at, 0x3f80
/* 320528 802BF7B8 44810000 */ mtc1 $at, $f0
/* 32052C 802BF7BC 00000000 */ nop
/* 320530 802BF7C0 46002000 */ add.s $f0, $f4, $f0
.L802BF7C4:
/* 320534 802BF7C4 E600000C */ swc1 $f0, 0xc($s0)
.L802BF7C8:
/* 320538 802BF7C8 3C10802C */ lui $s0, %hi(D_802BFDF8_320B68)
/* 32053C 802BF7CC 2610FDF8 */ addiu $s0, $s0, %lo(D_802BFDF8_320B68)
/* 320540 802BF7D0 8E020000 */ lw $v0, ($s0)
/* 320544 802BF7D4 3C0140C9 */ lui $at, 0x40c9
/* 320548 802BF7D8 34210FD0 */ ori $at, $at, 0xfd0
/* 32054C 802BF7DC 44810000 */ mtc1 $at, $f0
/* 320550 802BF7E0 C44C0018 */ lwc1 $f12, 0x18($v0)
/* 320554 802BF7E4 46006302 */ mul.s $f12, $f12, $f0
/* 320558 802BF7E8 00000000 */ nop
/* 32055C 802BF7EC 3C0143B4 */ lui $at, 0x43b4
/* 320560 802BF7F0 4481A000 */ mtc1 $at, $f20
/* 320564 802BF7F4 0C00A85B */ jal sin_rad
/* 320568 802BF7F8 46146303 */ div.s $f12, $f12, $f20
/* 32056C 802BF7FC 8E020000 */ lw $v0, ($s0)
/* 320570 802BF800 3C014040 */ lui $at, 0x4040
/* 320574 802BF804 44812000 */ mtc1 $at, $f4
/* 320578 802BF808 C4420018 */ lwc1 $f2, 0x18($v0)
/* 32057C 802BF80C 46041080 */ add.s $f2, $f2, $f4
/* 320580 802BF810 3C014316 */ lui $at, 0x4316
/* 320584 802BF814 44813000 */ mtc1 $at, $f6
/* 320588 802BF818 00000000 */ nop
/* 32058C 802BF81C 4602303C */ c.lt.s $f6, $f2
/* 320590 802BF820 E4420018 */ swc1 $f2, 0x18($v0)
/* 320594 802BF824 46040082 */ mul.s $f2, $f0, $f4
/* 320598 802BF828 00000000 */ nop
/* 32059C 802BF82C 45030001 */ bc1tl .L802BF834
/* 3205A0 802BF830 E4460018 */ swc1 $f6, 0x18($v0)
.L802BF834:
/* 3205A4 802BF834 C620003C */ lwc1 $f0, 0x3c($s1)
/* 3205A8 802BF838 46020000 */ add.s $f0, $f0, $f2
/* 3205AC 802BF83C 8E020000 */ lw $v0, ($s0)
/* 3205B0 802BF840 E620003C */ swc1 $f0, 0x3c($s1)
/* 3205B4 802BF844 C44C0010 */ lwc1 $f12, 0x10($v0)
/* 3205B8 802BF848 0C00A6C9 */ jal clamp_angle
/* 3205BC 802BF84C 460CA301 */ sub.s $f12, $f20, $f12
/* 3205C0 802BF850 8E020000 */ lw $v0, ($s0)
/* 3205C4 802BF854 E6200034 */ swc1 $f0, 0x34($s1)
/* 3205C8 802BF858 C4400014 */ lwc1 $f0, 0x14($v0)
/* 3205CC 802BF85C 3C01802C */ lui $at, %hi(D_802BFED8_320C48)
/* 3205D0 802BF860 D422FED8 */ ldc1 $f2, %lo(D_802BFED8_320C48)($at)
/* 3205D4 802BF864 46000021 */ cvt.d.s $f0, $f0
/* 3205D8 802BF868 46220000 */ add.d $f0, $f0, $f2
/* 3205DC 802BF86C 3C014220 */ lui $at, 0x4220
/* 3205E0 802BF870 44811000 */ mtc1 $at, $f2
/* 3205E4 802BF874 46200020 */ cvt.s.d $f0, $f0
/* 3205E8 802BF878 4600103C */ c.lt.s $f2, $f0
/* 3205EC 802BF87C 00000000 */ nop
/* 3205F0 802BF880 45000002 */ bc1f .L802BF88C
/* 3205F4 802BF884 E4400014 */ swc1 $f0, 0x14($v0)
/* 3205F8 802BF888 E4420014 */ swc1 $f2, 0x14($v0)
.L802BF88C:
/* 3205FC 802BF88C 8E030000 */ lw $v1, ($s0)
/* 320600 802BF890 8C620000 */ lw $v0, ($v1)
/* 320604 802BF894 2442FFFF */ addiu $v0, $v0, -1
/* 320608 802BF898 14400018 */ bnez $v0, .L802BF8FC
/* 32060C 802BF89C AC620000 */ sw $v0, ($v1)
/* 320610 802BF8A0 8C620004 */ lw $v0, 4($v1)
/* 320614 802BF8A4 24420001 */ addiu $v0, $v0, 1
/* 320618 802BF8A8 080AFE3F */ j .L802BF8FC
/* 32061C 802BF8AC AC620004 */ sw $v0, 4($v1)
.L802BF8B0:
/* 320620 802BF8B0 8C820008 */ lw $v0, 8($a0)
/* 320624 802BF8B4 AE220000 */ sw $v0, ($s1)
/* 320628 802BF8B8 8C820004 */ lw $v0, 4($a0)
/* 32062C 802BF8BC 2403001E */ addiu $v1, $zero, 0x1e
/* 320630 802BF8C0 AC830000 */ sw $v1, ($a0)
/* 320634 802BF8C4 24420001 */ addiu $v0, $v0, 1
/* 320638 802BF8C8 080AFE3F */ j .L802BF8FC
/* 32063C 802BF8CC AC820004 */ sw $v0, 4($a0)
.L802BF8D0:
/* 320640 802BF8D0 0C03AE8F */ jal partner_walking_update_player_tracking
/* 320644 802BF8D4 0220202D */ daddu $a0, $s1, $zero
/* 320648 802BF8D8 0C03AED0 */ jal partner_walking_update_motion
/* 32064C 802BF8DC 0220202D */ daddu $a0, $s1, $zero
/* 320650 802BF8E0 8E030000 */ lw $v1, ($s0)
/* 320654 802BF8E4 8C620000 */ lw $v0, ($v1)
/* 320658 802BF8E8 2442FFFF */ addiu $v0, $v0, -1
/* 32065C 802BF8EC 14400003 */ bnez $v0, .L802BF8FC
/* 320660 802BF8F0 AC620000 */ sw $v0, ($v1)
/* 320664 802BF8F4 AC600004 */ sw $zero, 4($v1)
/* 320668 802BF8F8 AE600000 */ sw $zero, ($s3)
.L802BF8FC:
/* 32066C 802BF8FC 0000102D */ daddu $v0, $zero, $zero
.L802BF900:
/* 320670 802BF900 8FBF0028 */ lw $ra, 0x28($sp)
/* 320674 802BF904 8FB30024 */ lw $s3, 0x24($sp)
/* 320678 802BF908 8FB20020 */ lw $s2, 0x20($sp)
/* 32067C 802BF90C 8FB1001C */ lw $s1, 0x1c($sp)
/* 320680 802BF910 8FB00018 */ lw $s0, 0x18($sp)
/* 320684 802BF914 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 320688 802BF918 03E00008 */ jr $ra
/* 32068C 802BF91C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1152,6 +1152,7 @@ D_802BFF24 = 0x802BFF24;
D_802BFF28 = 0x802BFF28;
D_802C0000 = 0x802C0000;
D_802C05CC = 0x802C05CC;
D_802BEBC0_31CBE0 = 0x802BEBC0;
gMapFlags = 0x802DA480;
gMapVars = 0x802DA484;
gNumScripts = 0x802DA488;