mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 00:42:34 +01:00
More entity decomp (#402)
* More entity decomp * cleanup * Vec3f instead of 3 floats in structE307C0
This commit is contained in:
parent
a865cbdf17
commit
4554a46d39
@ -41,7 +41,7 @@ s32 intro_logos_fade_out(s16 addAlpha);
|
||||
void _render_transition_stencil(s32, f32, s32);
|
||||
u32 get_entity_type(s32 arg0);
|
||||
Entity* get_entity_by_index(s32 index);
|
||||
s32 create_entity(StaticEntityData*, s32, s32, s32, s32, s32);
|
||||
s32 create_entity(StaticEntityData*, s32, s32, s32, s32, ...);
|
||||
void entity_shattering_idle(Entity* entity);
|
||||
void func_802666E4(Actor* actor, f32 x, f32 y, f32 z, s16 damage);
|
||||
|
||||
@ -483,12 +483,15 @@ void entity_set_render_script(Entity* entity, u32* commandList);
|
||||
s32 entity_can_collide_with_jumping_player(Entity* entity);
|
||||
s32 set_global_flag(s32 index);
|
||||
void entity_base_block_init(Entity* entity);
|
||||
s32 entity_start_script(Npc* npc);
|
||||
s32 entity_start_script(Entity* entity);
|
||||
s32 remove_item_entity_by_index(s32 index); // might not actually return anything
|
||||
void set_entity_commandlist(Entity* entity, s32* entityScript);
|
||||
void func_800EF3E4(void);
|
||||
void func_80268858(void);
|
||||
void func_80269118(void);
|
||||
s32 func_80268224(s32);
|
||||
void func_80149A6C(s32, s32);
|
||||
void func_800EF300(void);
|
||||
void enable_player_shadow(void);
|
||||
|
||||
#endif
|
||||
|
@ -654,9 +654,9 @@ ShadowList* get_shadow_list(void) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
s32 entity_start_script(Npc* npc) {
|
||||
if (npc->currentAnim.w != 0) {
|
||||
npc->flags |= 0x1000000;
|
||||
s32 entity_start_script(Entity* entity) {
|
||||
if (entity->boundScriptBytecode != NULL) {
|
||||
entity->flags |= 0x1000000;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
@ -850,7 +850,7 @@ INCLUDE_ASM(s32, "a5dd0_len_114e0", func_80111790);
|
||||
INCLUDE_ASM(void, "a5dd0_len_114e0", entity_free_static_data, StaticEntityData* data);
|
||||
|
||||
INCLUDE_ASM(s32, "a5dd0_len_114e0", create_entity, StaticEntityData* data, s32 x, s32 y, s32 z, s32 arg4,
|
||||
s32 flags);
|
||||
...);
|
||||
|
||||
INCLUDE_ASM(s32, "a5dd0_len_114e0", create_shadow_from_data);
|
||||
|
||||
|
@ -194,8 +194,8 @@ void entity_GiantChest_give_equipment(Entity* entity) {
|
||||
INCLUDE_ASM(void, "entity/Chest", entity_GiantChest_give_equipment);
|
||||
#endif
|
||||
|
||||
void entity_Chest_start_bound_script(Npc* npc) {
|
||||
entity_start_script(npc);
|
||||
void entity_Chest_start_bound_script(Entity* entity) {
|
||||
entity_start_script(entity);
|
||||
}
|
||||
|
||||
void entity_Chest_enable_player_input(Entity* entity) {
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
|
||||
INCLUDE_ASM(s32, "entity/default/E2C930", func_802BC200_E2C930);
|
||||
|
||||
@ -8,4 +9,10 @@ INCLUDE_ASM(s32, "entity/default/E2C930", func_802BC3DC_E2CB0C);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/default/E2C930", func_802BC974_E2D0A4);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/default/E2C930", func_802BCC80_E2D3B0);
|
||||
void func_802BCC80_E2D3B0(Entity* entity) {
|
||||
if (entity->collisionFlags & 0x80) {
|
||||
entity_start_script(entity);
|
||||
exec_entity_commandlist(entity);
|
||||
playFX_01(entity->position.x, entity->position.y + 25.0f, entity->position.z);
|
||||
}
|
||||
}
|
||||
|
@ -1,31 +1,234 @@
|
||||
#include "common.h"
|
||||
|
||||
extern StaticEntityData D_802BC7D0_E2F100;
|
||||
extern f32 D_802BCE20;
|
||||
// size unknown
|
||||
typedef struct structE2D730 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x01 */ s8 unk_01;
|
||||
/* 0x02 */ s8 unk_02;
|
||||
/* 0x04 */ union { // might be 2 different structs?
|
||||
/* */ s16 index;
|
||||
/* */ f32 f;
|
||||
/* */ } unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ s8 unk_0C[8];
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ s8 unk_18[0x10];
|
||||
/* 0x28 */ s16 unk_28;
|
||||
/* 0x2A */ s16 unk_2A;
|
||||
/* 0x2C */ s16 unk_2C;
|
||||
} structE2D730;
|
||||
|
||||
s32 func_802BAE00_E2D730(void);
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BAE00_E2D730);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB000_E2D930);
|
||||
extern u16 D_802BCE30;
|
||||
extern u16 D_802BCE32;
|
||||
extern u16 D_802BCE34;
|
||||
|
||||
void func_802BB000_E2D930(Entity* entity) {
|
||||
structE2D730* data = (structE2D730*)entity->dataBuf;
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
||||
if ((entity->collisionFlags & 1) && !is_picking_up_item()) {
|
||||
if (playerStatus->actionState == ACTION_STATE_RIDE) {
|
||||
playerStatus->animFlags |= 4;
|
||||
} else if (playerStatus->actionState != ACTION_STATE_USE_SPINNING_FLOWER) {
|
||||
D_802BCE34 = data->unk_28;
|
||||
D_802BCE30 = data->unk_2A;
|
||||
D_802BCE32 = data->unk_2C;
|
||||
set_action_state(ACTION_STATE_USE_SPINNING_FLOWER);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB0A0_E2D9D0);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB228_E2DB58);
|
||||
void func_802BB228_E2DB58(Entity* entity) {
|
||||
structE2D730* data = (structE2D730*)entity->dataBuf;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB298_E2DBC8);
|
||||
func_802BB000_E2D930(entity);
|
||||
data->unk_14 += 2.0;
|
||||
if (data->unk_14 > 40.0f) {
|
||||
data->unk_14 = 40.0f;
|
||||
}
|
||||
data->unk_08 = clamp_angle(data->unk_08 + data->unk_14);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB314_E2DC44);
|
||||
void func_802BB298_E2DBC8(Entity* entity) {
|
||||
s32 temp_a1;
|
||||
s32 temp_a2;
|
||||
s32 temp_v1;
|
||||
structE2D730* data;
|
||||
s32 x, y, z;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB34C_E2DC7C);
|
||||
data = (structE2D730*)entity->dataBuf;
|
||||
x = D_8015C7D0[0];
|
||||
y = D_8015C7D0[1];
|
||||
z = D_8015C7D0[2];
|
||||
if (!(x | y | z)) {
|
||||
x = entity->position.x;
|
||||
y = entity->position.y + 100.0f;
|
||||
z = entity->position.z;
|
||||
}
|
||||
|
||||
data->unk_28 = x;
|
||||
data->unk_2A = y;
|
||||
data->unk_2C = z;
|
||||
data->unk_02 = 0;
|
||||
entity->renderSetupFunc = &func_802BAE00_E2D730;
|
||||
}
|
||||
|
||||
void func_802BB314_E2DC44(Entity* entity) {
|
||||
sfx_play_sound_at_position(0x8000006A, 0, entity->position.x, entity->position.y, entity->position.z);
|
||||
}
|
||||
|
||||
void func_802BB34C_E2DC7C(void) {
|
||||
sfx_play_sound(0x791);
|
||||
func_80149A6C(0x391, 1);
|
||||
}
|
||||
|
||||
s32 func_802BB374_E2DCA4(void);
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB374_E2DCA4);
|
||||
|
||||
// regalloc, play_model_animation weirdness
|
||||
#ifdef NON_MATCHING
|
||||
void func_802BB648_E2DF78(Entity* entity) {
|
||||
structE2D730* temp_a1_2;
|
||||
structE2D730* data = (structE2D730*)entity->dataBuf;
|
||||
|
||||
if ((gPlayerStatus.animFlags & 0x10) && (entity->collisionFlags & 0x48)) {
|
||||
if (entity->flags & 0x1000) {
|
||||
entity->flags &= ~0x1000;
|
||||
temp_a1_2 = (structE2D730*)get_entity_by_index(data->unk_04)->dataBuf;
|
||||
if (temp_a1_2->unk_00 == 0) {
|
||||
temp_a1_2->unk_00 = 1;
|
||||
exec_entity_commandlist(entity);
|
||||
play_model_animation(entity->virtualModelIndex, 0xF4);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB648_E2DF78);
|
||||
#endif
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB6E0_E2E010);
|
||||
void func_802BB6E0_E2E010(Entity* entity) {
|
||||
structE2D730* data = (structE2D730*)entity->dataBuf;
|
||||
Entity* newEntity;
|
||||
s32 entityIndex;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB778_E2E0A8);
|
||||
get_animator_by_index(entity->virtualModelIndex)->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
|
||||
entityIndex = create_entity(&D_802BC7D0_E2F100, entity->position.x, entity->position.y, entity->position.z, 0, 0x80000000);
|
||||
data->unk_04.index = entityIndex;
|
||||
newEntity = get_entity_by_index(entityIndex);
|
||||
data = (structE2D730*)newEntity->dataBuf;
|
||||
data->unk_04.index = entity->listIndex;
|
||||
data->unk_08 = newEntity->rotation.y;
|
||||
}
|
||||
|
||||
void func_802BB778_E2E0A8(Entity* entity) {
|
||||
entity->scale.x = 0.0f;
|
||||
entity->renderSetupFunc = &func_802BB374_E2DCA4;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB78C_E2E0BC);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB8D4_E2E204);
|
||||
void func_802BB8D4_E2E204(Entity* entity) {
|
||||
structE2D730* data = (structE2D730*)entity->dataBuf;
|
||||
data->unk_08 = fabs(dist2D(entity->position.x - 2.0f, entity->position.z - 2.0f, gPlayerStatus.position.x, gPlayerStatus.position.z) * 0.25);
|
||||
data->unk_04.f = atan2(gPlayerStatus.position.x, gPlayerStatus.position.z, entity->position.x - 2.0f, entity->position.z - 2.0f);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB98C_E2E2BC);
|
||||
void func_802BB98C_E2E2BC(Entity* entity) {
|
||||
structE2D730* data = (structE2D730*)entity->dataBuf;
|
||||
gCameras->targetPos.x = gPlayerStatus.position.x;
|
||||
gCameras->targetPos.y = gPlayerStatus.position.y;
|
||||
gCameras->targetPos.z = gPlayerStatus.position.z;
|
||||
add_vec2D_polar(&gPlayerStatus.position.x, &gPlayerStatus.position.z, data->unk_08, data->unk_04.f);
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING // play_model_animation weirdness, branch likely in case 0
|
||||
void func_802BB9E0_E2E310(Entity* entity) {
|
||||
structE2D730* data = (structE2D730*)entity->dataBuf;
|
||||
PartnerActionStatus* partnerActionStatus = &gPartnerActionStatus;
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
f32 temp_f2;
|
||||
f32 phi_f4;
|
||||
|
||||
switch (data->unk_00) {
|
||||
case 0:
|
||||
if (entity->collisionFlags & 1) {
|
||||
data->unk_01 = 0;
|
||||
if (partnerActionStatus->actionState.b[3] != 0) {
|
||||
playerStatus->animFlags |= 4;
|
||||
}
|
||||
func_800EF300(partnerActionStatus);
|
||||
playerStatus->animFlags |= 0x40000;
|
||||
data->unk_02 = 4;
|
||||
data->unk_01++;
|
||||
data->unk_00++;
|
||||
disable_player_input();
|
||||
set_action_state(0);
|
||||
play_model_animation(entity->virtualModelIndex, 0x214);
|
||||
sfx_play_sound(242);
|
||||
func_802BB8D4_E2E204(entity);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
playerStatus->animFlags |= 0x40000;
|
||||
data->unk_02--;
|
||||
if (data->unk_02 == 0) {
|
||||
start_rumble(128, 10);
|
||||
data->unk_02 = 30;
|
||||
data->unk_00++;
|
||||
temp_f2 = playerStatus->spriteFacingAngle;
|
||||
playerStatus->spriteFacingAngle = 80.0f;
|
||||
playerStatus->flags |= 0x100000;
|
||||
D_802BCE20 = temp_f2;
|
||||
}
|
||||
func_802BB98C_E2E2BC(entity);
|
||||
break;
|
||||
case 2:
|
||||
data->unk_02--;
|
||||
if ((data->unk_02) == 0) {
|
||||
data->unk_00++;
|
||||
func_802DDEE4(0, -1, 0, 0, 0, 0, 0, 0);
|
||||
func_802DDFF8(0x10002, 5, 19, 1, 1, 0, 0);
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
data->unk_00++;
|
||||
break;
|
||||
case 4:
|
||||
playerStatus->spriteFacingAngle = D_802BCE20;
|
||||
phi_f4 = 270.0f;
|
||||
if (D_802BCE20 != 0.0f) {
|
||||
phi_f4 = 90.0f;
|
||||
}
|
||||
playerStatus->targetYaw = phi_f4;
|
||||
data->unk_02 = 0x50;
|
||||
data->unk_00++;
|
||||
break;
|
||||
case 5:
|
||||
data->unk_02--;
|
||||
if ((data->unk_02) == 0) {
|
||||
data->unk_00++;
|
||||
func_802DDEE4(0, -1, 0, 0, 0, 0, 0, 0);
|
||||
enable_player_input();
|
||||
playerStatus->flags &= ~0x100000;
|
||||
}
|
||||
break;
|
||||
case 6:
|
||||
if (!(entity->collisionFlags & 1) && (partnerActionStatus->actionState.b[0] == 0)) {
|
||||
data->unk_00 = 0;
|
||||
enable_partner_ai();
|
||||
phys_adjust_cam_on_landing();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2D730", func_802BB9E0_E2E310);
|
||||
#endif
|
||||
|
@ -1,43 +1,147 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
|
||||
extern StaticEntityData D_802BCC44_E2F574;
|
||||
extern StaticEntityData D_802BCC68_E2F598;
|
||||
extern StaticEntityData D_802BCC8C_E2F5BC;
|
||||
extern StaticEntityData D_802BCCB0_E2F5E0;
|
||||
extern StaticEntityData D_802BCCD4_E2F604;
|
||||
extern StaticEntityData D_802BCCF8_E2F628;
|
||||
extern StaticEntityData D_802BCD1C_E2F64C;
|
||||
extern StaticEntityData D_802BCD40_E2F670;
|
||||
|
||||
// size unknown
|
||||
typedef struct structE2E5F0 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s8 unk_04[0x8];
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
} structE2E5F0;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BBCC0_E2E5F0);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BBD1C_E2E64C);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BBD78_E2E6A8);
|
||||
void func_802BBD78_E2E6A8(Entity* entity) {
|
||||
f32 xOffset, zOffset, angle;
|
||||
|
||||
angle = (clamp_angle(entity->rotation.y) * TAU) / 360.0f;
|
||||
xOffset = cos_rad(angle) * -26.0;
|
||||
zOffset = sin_rad(angle) * 6.0;
|
||||
playFX_21(0, entity->position.x + xOffset, entity->position.y + 62.0f, entity->position.z + zOffset, clamp_angle(entity->rotation.y - 90.0), 54.0f, 2);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BBE8C_E2E7BC);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC00C_E2E93C);
|
||||
void func_802BC00C_E2E93C(Entity* entity) {
|
||||
make_item_entity_nodelay(ITEM_COIN, entity->position.x, entity->position.y + 30.0f, entity->position.z, 0x13, 0);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC050_E2E980);
|
||||
void func_802BC050_E2E980(Entity* entity) {
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
|
||||
if (entity->collisionFlags & 1) {
|
||||
Entity* other;
|
||||
gPlayerStatus.animFlags |= 4;
|
||||
func_800EF300();
|
||||
other = get_entity_by_index(entity->dataBuf[0]);
|
||||
exec_entity_commandlist(entity);
|
||||
exec_entity_commandlist(other);
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef NON_MATCHING // play_model_animation weirdness
|
||||
void func_802BC0B8_E2E9E8(Entity* entity) {
|
||||
play_model_animation(entity->virtualModelIndex, 0x60);
|
||||
disable_player_input();
|
||||
disable_player_shadow();
|
||||
}
|
||||
#else
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC0B8_E2E9E8);
|
||||
#endif
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC0F0_E2EA20);
|
||||
void func_802BC0F0_E2EA20(Entity* entity) {
|
||||
structE2E5F0* data = (structE2E5F0*)entity->dataBuf;
|
||||
data->unk_18 = fabs(dist2D(entity->position.x, entity->position.z, gPlayerStatus.position.x, gPlayerStatus.position.z) * 0.25);
|
||||
data->unk_14 = atan2(gPlayerStatus.position.x, gPlayerStatus.position.z, entity->position.x, entity->position.z);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC17C_E2EAAC);
|
||||
void func_802BC17C_E2EAAC(Entity* entity) {
|
||||
structE2E5F0* data = (structE2E5F0*)entity->dataBuf;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC1D0_E2EB00);
|
||||
gCameras[0].targetPos.x = gPlayerStatus.position.x;
|
||||
gCameras[0].targetPos.y = gPlayerStatus.position.y;
|
||||
gCameras[0].targetPos.z = gPlayerStatus.position.z;
|
||||
add_vec2D_polar(&gPlayerStatus.position.x, &gPlayerStatus.position.z, data->unk_18, data->unk_14);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC220_E2EB50);
|
||||
s32 func_802BC1D0_E2EB00(Entity* entity, StaticEntityData* staticEntityData) {
|
||||
return create_entity(staticEntityData, entity->position.x, entity->position.y, entity->position.z, entity->rotation.y);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC250_E2EB80);
|
||||
void func_802BC220_E2EB50(Entity* entity) {
|
||||
structE2E5F0* data = (structE2E5F0*)entity->dataBuf;
|
||||
data->unk_00 = func_802BC1D0_E2EB00(entity, &D_802BCC44_E2F574);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC274_E2EBA4);
|
||||
void func_802BC250_E2EB80(Entity* entity) {
|
||||
func_802BC1D0_E2EB00(entity, &D_802BCC68_E2F598);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC2B4_E2EBE4);
|
||||
void func_802BC274_E2EBA4(Entity* entity) {
|
||||
subtract_hp(1);
|
||||
func_802BC1D0_E2EB00(entity, &D_802BCC8C_E2F5BC);
|
||||
set_action_state(ACTION_STATE_USE_SPRING);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC308_E2EC38);
|
||||
void func_802BC2B4_E2EBE4(Entity* entity) {
|
||||
func_802BC1D0_E2EB00(entity, &D_802BCCB0_E2F5E0);
|
||||
gPlayerStatus.prevActionState = 0;
|
||||
gPlayerStatus.actionState = 0;
|
||||
gPlayerStatus.flags &= ~0x80000000;
|
||||
suggest_player_anim_setUnkFlag(0x8001F);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC32C_E2EC5C);
|
||||
void func_802BC308_E2EC38(Entity* entity) {
|
||||
func_802BC1D0_E2EB00(entity, &D_802BCCD4_E2F604);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC358_E2EC88);
|
||||
void func_802BC32C_E2EC5C(Entity* entity) {
|
||||
func_802BC1D0_E2EB00(entity, &D_802BCCF8_E2F628);
|
||||
enable_partner_ai();
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC37C_E2ECAC);
|
||||
void func_802BC358_E2EC88(Entity* entity) {
|
||||
func_802BC1D0_E2EB00(entity, &D_802BCD1C_E2F64C);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC3A0_E2ECD0);
|
||||
void func_802BC37C_E2ECAC(Entity* entity) {
|
||||
func_802BC1D0_E2EB00(entity, &D_802BCD40_E2F670);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC3CC_E2ECFC);
|
||||
void func_802BC3A0_E2ECD0(void) {
|
||||
enable_player_input();
|
||||
enable_player_shadow();
|
||||
set_action_state(ACTION_STATE_USE_MUNCHLESIA);
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2E5F0", func_802BC3E4_E2ED14);
|
||||
void func_802BC3CC_E2ECFC(Entity* entity) {
|
||||
structE2E5F0* data = (structE2E5F0*)entity->dataBuf;
|
||||
data->unk_0C = gPlayerStatus.position.y;
|
||||
data->unk_10 = 0;
|
||||
}
|
||||
|
||||
void func_802BC3E4_E2ED14(Entity* entity) {
|
||||
structE2E5F0* data = (structE2E5F0*)entity->dataBuf;
|
||||
gPlayerStatus.position.y = data->unk_0C + (sin_rad((data->unk_10 * TAU) / 360.0f) * 3.0f);
|
||||
|
||||
data->unk_10 += 24.0f;
|
||||
if (data->unk_10 > 360.0f) {
|
||||
data->unk_10 -= 360.0f;
|
||||
}
|
||||
if (data->unk_10 == 96.0f) {
|
||||
sfx_play_sound(0x392);
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,32 @@
|
||||
#include "common.h"
|
||||
|
||||
typedef struct structE2EDE0 {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ f32 unk_04;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
} structE2EDE0;
|
||||
|
||||
s32 func_802BC4B0_E2EDE0(void);
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2EDE0", func_802BC4B0_E2EDE0);
|
||||
|
||||
void func_802BC628_E2EF58(void) {
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2EDE0", func_802BC630_E2EF60);
|
||||
void func_802BC630_E2EF60(Entity* entity) {
|
||||
f32 temp_f0 = *D_8015C7D0;
|
||||
structE2EDE0* data = (structE2EDE0*)entity->dataBuf;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/jan_iwa/E2EDE0", func_802BC658_E2EF88);
|
||||
data->unk_04 = temp_f0;
|
||||
data->unk_08 = temp_f0;
|
||||
entity->renderSetupFunc = &func_802BC4B0_E2EDE0;
|
||||
}
|
||||
|
||||
void func_802BC658_E2EF88(Entity* entity) {
|
||||
if (!(gPlayerStatus.animFlags & 1) && (entity->collisionFlags & 8)) {
|
||||
entity_start_script(entity);
|
||||
}
|
||||
}
|
||||
|
@ -1,23 +1,93 @@
|
||||
#include "common.h"
|
||||
|
||||
extern u8 D_802BCA30_E31380[];
|
||||
// size unknown
|
||||
typedef struct structE2F750 {
|
||||
/* 0x00 */ s8 unk_00;
|
||||
/* 0x01 */ s8 unk_01;
|
||||
/* 0x02 */ s8 unk_02;
|
||||
/* 0x03 */ s8 unk_03;
|
||||
/* 0x04 */ char unk_04[0x9C];
|
||||
/* 0xA0 */ s32 unk_A0;
|
||||
/* 0xA4 */ s16 unk_A4;
|
||||
/* 0xA6 */ s16 unk_A6;
|
||||
/* 0xA8 */ s16 unk_A8;
|
||||
/* 0xAA */ char unk_AA[14];
|
||||
/* 0xB8 */ f32 unk_B8;
|
||||
} structE2F750;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BAE00_E2F750);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BAF84_E2F8D4);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BB108_E2FA58);
|
||||
|
||||
s32 func_802BB3B8_E2FD08(void);
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BB3B8_E2FD08);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BB704_E30054);
|
||||
void func_802BB704_E30054(Entity* entity) {
|
||||
structE2F750* data = (structE2F750*)entity->dataBuf;
|
||||
s32 i;
|
||||
|
||||
data->unk_02--;
|
||||
if (data->unk_02 <= 0) {
|
||||
i = data->unk_01;
|
||||
if (D_802BCA30_E31380[i] == 0xFF) {
|
||||
i = 0;
|
||||
}
|
||||
data->unk_03 = D_802BCA30_E31380[i++];
|
||||
data->unk_02 = D_802BCA30_E31380[i++];
|
||||
data->unk_01 = i;
|
||||
}
|
||||
}
|
||||
|
||||
s32 func_802BB76C_E300BC(Entity* entity);
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BB76C_E300BC);
|
||||
|
||||
s32 func_802BB7E0_E30130(Entity* entity);
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BB7E0_E30130);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BB8E4_E30234);
|
||||
void func_802BB8E4_E30234(Entity* entity) {
|
||||
structE2F750* data = (structE2F750*)entity->dataBuf;
|
||||
f32 temp_f20_2;
|
||||
|
||||
f32 temp_f4 = (atan2(entity->position.x, entity->position.z, data->unk_A4, data->unk_A8) - data->unk_B8) * 0.03125f;
|
||||
if (temp_f4 >= 0.0f && temp_f4 < 0.01) {
|
||||
temp_f4 = 0.01f;
|
||||
}
|
||||
if (temp_f4 < 0.0f && temp_f4 > -0.01) {
|
||||
temp_f4 = -0.01f;
|
||||
}
|
||||
|
||||
data->unk_B8 = clamp_angle(data->unk_B8 + temp_f4);
|
||||
temp_f20_2 = data->unk_B8 * TAU / 360.0f;
|
||||
entity->position.x += sin_rad(temp_f20_2);
|
||||
entity->position.z -= cos_rad(temp_f20_2);
|
||||
|
||||
if (func_802BB76C_E300BC(entity) != 0) {
|
||||
func_802BB7E0_E30130(entity);
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BBA60_E303B0);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BBDB8_E30708);
|
||||
void func_802BBDB8_E30708(Entity* entity) {
|
||||
entity->scale.x += 0.1;
|
||||
if (entity->scale.x >= 1.0) {
|
||||
entity->scale.x = 1.0f;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E2F750", func_802BBE14_E30764);
|
||||
entity->scale.z = entity->scale.y = entity->scale.x;
|
||||
}
|
||||
|
||||
void func_802BBE14_E30764(Entity* entity) {
|
||||
structE2F750* data = (structE2F750*)entity->dataBuf;
|
||||
|
||||
data->unk_A0 = *D_8015C7D0;
|
||||
func_802BB7E0_E30130(entity);
|
||||
data->unk_03 = 0;
|
||||
entity->renderSetupFunc = &func_802BB3B8_E2FD08;
|
||||
entity->scale.x = 0;
|
||||
entity->scale.y = 0;
|
||||
entity->scale.z = 0;
|
||||
}
|
||||
|
@ -1,19 +1,108 @@
|
||||
#include "common.h"
|
||||
#include "effects.h"
|
||||
|
||||
// size unknown
|
||||
typedef struct structE307C0 {
|
||||
/* 0x00 */ s8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ s8 unk_02;
|
||||
/* 0x03 */ s8 unk_03;
|
||||
/* 0x04 */ s8 unk_04;
|
||||
/* 0x05 */ s8 unk_05;
|
||||
/* 0x08 */ Vec3f position;
|
||||
} structE307C0;
|
||||
|
||||
extern u8 D_802BCAA0_E313F0[];
|
||||
|
||||
s32 func_802BBE70_E307C0(void);
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BBE70_E307C0);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC2BC_E30C0C);
|
||||
void func_802BC2BC_E30C0C(Entity* entity) {
|
||||
u16 currentFloor = gCollisionStatus.currentFloor;
|
||||
structE307C0* data = (structE307C0*)entity->dataBuf;
|
||||
PlayerStatus* playerStatus = &gPlayerStatus;
|
||||
s32 actionState = playerStatus->actionState;
|
||||
f32 x,y,z,sp2C;
|
||||
s32 result = 0;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC4B8_E30E08);
|
||||
if ((currentFloor & 0x4000) && ((currentFloor & 0xFF) == entity->listIndex) && (actionState == ACTION_STATE_HAMMER)) {
|
||||
x = playerStatus->position.x;
|
||||
y = playerStatus->position.y + 5.0f;
|
||||
z = playerStatus->position.z;
|
||||
sp2C = 10.0f;
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC514_E30E64);
|
||||
add_vec2D_polar(&x, &z, 10.0f, func_800E5348());
|
||||
if (npc_raycast_down_sides(0x10000, &x, &y, &z, &sp2C) != 0) {
|
||||
if (D_8010C978 & 0x4000) {
|
||||
result = get_entity_type(D_8010C978) == 0x31;
|
||||
}
|
||||
}
|
||||
} else if ((entity->collisionFlags & 1) && ((actionState == ACTION_STATE_GROUND_POUND) || (actionState == ACTION_STATE_ULTRA_POUND))) {
|
||||
result = 1;
|
||||
} else if (entity->collisionFlags & 0x40) {
|
||||
result = -1;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC558_E30EA8);
|
||||
if (result != 0) {
|
||||
data->unk_02 &= ~1;
|
||||
playFX_18(3, entity->position.x, entity->position.y + 35.0f, entity->position.z, 0, -1.0f, 0, 3);
|
||||
if (result > 0) {
|
||||
data->unk_02 |= 1;
|
||||
}
|
||||
entity->position.y -= 2.0f;
|
||||
exec_entity_commandlist(entity);
|
||||
data->unk_01 = 4;
|
||||
disable_player_static_collisions();
|
||||
playerStatus->unk_C5 = 5;
|
||||
}
|
||||
}
|
||||
|
||||
void func_802BC4B8_E30E08(Entity* entity) {
|
||||
structE307C0* data = (structE307C0*)entity->dataBuf;
|
||||
s32 i;
|
||||
|
||||
data->unk_04--;
|
||||
if (data->unk_04 <= 0) {
|
||||
i = data->unk_03;
|
||||
if (D_802BCAA0_E313F0[i] != 0xFF) {
|
||||
data->unk_05 = D_802BCAA0_E313F0[i++];
|
||||
data->unk_04 = D_802BCAA0_E313F0[i++];
|
||||
data->unk_03 = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void func_802BC514_E30E64(Entity* entity) {
|
||||
structE307C0* data = (structE307C0*)entity->dataBuf;
|
||||
entity->position.x = data->position.x + (data->unk_01 & 1 ? 1.0f : -1.0f);
|
||||
data->unk_01 -= 1;
|
||||
}
|
||||
|
||||
void func_802BC558_E30EA8(Entity* entity) {
|
||||
structE307C0* data = (structE307C0*)entity->dataBuf;
|
||||
entity->position.x = data->position.x;
|
||||
entity->position.z = data->position.y;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC570_E30EC0);
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC99C_E312EC);
|
||||
void func_802BC99C_E312EC(Entity* entity) {
|
||||
if (!(entity->flags & 0x2000000)) {
|
||||
exec_entity_commandlist(entity);
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC9CC_E3131C);
|
||||
void func_802BC9CC_E3131C(Entity* entity) {
|
||||
structE307C0* data = (structE307C0*)entity->dataBuf;
|
||||
if (data->unk_02 & 1) {
|
||||
entity_start_script(entity);
|
||||
}
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "entity/sbk_omo/E307C0", func_802BC9FC_E3134C);
|
||||
void func_802BC9FC_E3134C(Entity* entity) {
|
||||
structE307C0* data = (structE307C0*)entity->dataBuf;
|
||||
entity->renderSetupFunc = &func_802BBE70_E307C0;
|
||||
data->position.x = entity->position.x;
|
||||
data->position.z = entity->position.y;
|
||||
data->position.y = entity->position.z;
|
||||
}
|
||||
|
@ -1,29 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BCC80_E2D3B0
|
||||
/* E2D3B0 802BCC80 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2D3B4 802BCC84 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2D3B8 802BCC88 0080802D */ daddu $s0, $a0, $zero
|
||||
/* E2D3BC 802BCC8C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E2D3C0 802BCC90 92020006 */ lbu $v0, 6($s0)
|
||||
/* E2D3C4 802BCC94 30420080 */ andi $v0, $v0, 0x80
|
||||
/* E2D3C8 802BCC98 1040000C */ beqz $v0, .L802BCCCC
|
||||
/* E2D3CC 802BCC9C 00000000 */ nop
|
||||
/* E2D3D0 802BCCA0 0C04419E */ jal entity_start_script
|
||||
/* E2D3D4 802BCCA4 00000000 */ nop
|
||||
/* E2D3D8 802BCCA8 0C043F5A */ jal exec_entity_commandlist
|
||||
/* E2D3DC 802BCCAC 0200202D */ daddu $a0, $s0, $zero
|
||||
/* E2D3E0 802BCCB0 C600004C */ lwc1 $f0, 0x4c($s0)
|
||||
/* E2D3E4 802BCCB4 3C0141C8 */ lui $at, 0x41c8
|
||||
/* E2D3E8 802BCCB8 44817000 */ mtc1 $at, $f14
|
||||
/* E2D3EC 802BCCBC C60C0048 */ lwc1 $f12, 0x48($s0)
|
||||
/* E2D3F0 802BCCC0 8E060050 */ lw $a2, 0x50($s0)
|
||||
/* E2D3F4 802BCCC4 0C01BE3C */ jal playFX_01
|
||||
/* E2D3F8 802BCCC8 460E0380 */ add.s $f14, $f0, $f14
|
||||
.L802BCCCC:
|
||||
/* E2D3FC 802BCCCC 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2D400 802BCCD0 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2D404 802BCCD4 03E00008 */ jr $ra
|
||||
/* E2D408 802BCCD8 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* E2D40C 802BCCDC 00000000 */ nop
|
@ -1,46 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB000_E2D930
|
||||
/* E2D930 802BB000 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E2D934 802BB004 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* E2D938 802BB008 3C118011 */ lui $s1, %hi(gPlayerStatus)
|
||||
/* E2D93C 802BB00C 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
|
||||
/* E2D940 802BB010 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* E2D944 802BB014 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2D948 802BB018 90820006 */ lbu $v0, 6($a0)
|
||||
/* E2D94C 802BB01C 8C900040 */ lw $s0, 0x40($a0)
|
||||
/* E2D950 802BB020 30420001 */ andi $v0, $v0, 1
|
||||
/* E2D954 802BB024 10400019 */ beqz $v0, .L802BB08C
|
||||
/* E2D958 802BB028 00000000 */ nop
|
||||
/* E2D95C 802BB02C 0C04D07A */ jal is_picking_up_item
|
||||
/* E2D960 802BB030 00000000 */ nop
|
||||
/* E2D964 802BB034 14400015 */ bnez $v0, .L802BB08C
|
||||
/* E2D968 802BB038 24020021 */ addiu $v0, $zero, 0x21
|
||||
/* E2D96C 802BB03C 822300B4 */ lb $v1, 0xb4($s1)
|
||||
/* E2D970 802BB040 14620005 */ bne $v1, $v0, .L802BB058
|
||||
/* E2D974 802BB044 2402001D */ addiu $v0, $zero, 0x1d
|
||||
/* E2D978 802BB048 8E220004 */ lw $v0, 4($s1)
|
||||
/* E2D97C 802BB04C 34420004 */ ori $v0, $v0, 4
|
||||
/* E2D980 802BB050 080AEC23 */ j .L802BB08C
|
||||
/* E2D984 802BB054 AE220004 */ sw $v0, 4($s1)
|
||||
.L802BB058:
|
||||
/* E2D988 802BB058 1062000C */ beq $v1, $v0, .L802BB08C
|
||||
/* E2D98C 802BB05C 00000000 */ nop
|
||||
/* E2D990 802BB060 9604002C */ lhu $a0, 0x2c($s0)
|
||||
/* E2D994 802BB064 96020028 */ lhu $v0, 0x28($s0)
|
||||
/* E2D998 802BB068 9603002A */ lhu $v1, 0x2a($s0)
|
||||
/* E2D99C 802BB06C 3C01802C */ lui $at, %hi(D_802BCE32)
|
||||
/* E2D9A0 802BB070 A424CE32 */ sh $a0, %lo(D_802BCE32)($at)
|
||||
/* E2D9A4 802BB074 3C01802C */ lui $at, %hi(D_802BCE34)
|
||||
/* E2D9A8 802BB078 A422CE34 */ sh $v0, %lo(D_802BCE34)($at)
|
||||
/* E2D9AC 802BB07C 3C01802C */ lui $at, %hi(D_802BCE30)
|
||||
/* E2D9B0 802BB080 A423CE30 */ sh $v1, %lo(D_802BCE30)($at)
|
||||
/* E2D9B4 802BB084 0C039769 */ jal set_action_state
|
||||
/* E2D9B8 802BB088 2404001D */ addiu $a0, $zero, 0x1d
|
||||
.L802BB08C:
|
||||
/* E2D9BC 802BB08C 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* E2D9C0 802BB090 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* E2D9C4 802BB094 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2D9C8 802BB098 03E00008 */ jr $ra
|
||||
/* E2D9CC 802BB09C 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,33 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB228_E2DB58
|
||||
/* E2DB58 802BB228 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2DB5C 802BB22C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E2DB60 802BB230 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2DB64 802BB234 0C0AEC00 */ jal func_802BB000_E2D930
|
||||
/* E2DB68 802BB238 8C900040 */ lw $s0, 0x40($a0)
|
||||
/* E2DB6C 802BB23C C6000014 */ lwc1 $f0, 0x14($s0)
|
||||
/* E2DB70 802BB240 3C014000 */ lui $at, 0x4000
|
||||
/* E2DB74 802BB244 44811800 */ mtc1 $at, $f3
|
||||
/* E2DB78 802BB248 44801000 */ mtc1 $zero, $f2
|
||||
/* E2DB7C 802BB24C 46000021 */ cvt.d.s $f0, $f0
|
||||
/* E2DB80 802BB250 46220000 */ add.d $f0, $f0, $f2
|
||||
/* E2DB84 802BB254 3C014220 */ lui $at, 0x4220
|
||||
/* E2DB88 802BB258 44811000 */ mtc1 $at, $f2
|
||||
/* E2DB8C 802BB25C 46200020 */ cvt.s.d $f0, $f0
|
||||
/* E2DB90 802BB260 4600103C */ c.lt.s $f2, $f0
|
||||
/* E2DB94 802BB264 00000000 */ nop
|
||||
/* E2DB98 802BB268 45000002 */ bc1f .L802BB274
|
||||
/* E2DB9C 802BB26C E6000014 */ swc1 $f0, 0x14($s0)
|
||||
/* E2DBA0 802BB270 E6020014 */ swc1 $f2, 0x14($s0)
|
||||
.L802BB274:
|
||||
/* E2DBA4 802BB274 C6000008 */ lwc1 $f0, 8($s0)
|
||||
/* E2DBA8 802BB278 C60C0014 */ lwc1 $f12, 0x14($s0)
|
||||
/* E2DBAC 802BB27C 0C00A6C9 */ jal clamp_angle
|
||||
/* E2DBB0 802BB280 460C0300 */ add.s $f12, $f0, $f12
|
||||
/* E2DBB4 802BB284 E6000008 */ swc1 $f0, 8($s0)
|
||||
/* E2DBB8 802BB288 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2DBBC 802BB28C 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2DBC0 802BB290 03E00008 */ jr $ra
|
||||
/* E2DBC4 802BB294 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,36 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB298_E2DBC8
|
||||
/* E2DBC8 802BB298 3C028016 */ lui $v0, %hi(D_8015C7D0)
|
||||
/* E2DBCC 802BB29C 2442C7D0 */ addiu $v0, $v0, %lo(D_8015C7D0)
|
||||
/* E2DBD0 802BB2A0 8C460000 */ lw $a2, ($v0)
|
||||
/* E2DBD4 802BB2A4 8C430004 */ lw $v1, 4($v0)
|
||||
/* E2DBD8 802BB2A8 8C450008 */ lw $a1, 8($v0)
|
||||
/* E2DBDC 802BB2AC 8C870040 */ lw $a3, 0x40($a0)
|
||||
/* E2DBE0 802BB2B0 00C31025 */ or $v0, $a2, $v1
|
||||
/* E2DBE4 802BB2B4 00451025 */ or $v0, $v0, $a1
|
||||
/* E2DBE8 802BB2B8 1440000E */ bnez $v0, .L802BB2F4
|
||||
/* E2DBEC 802BB2BC 00000000 */ nop
|
||||
/* E2DBF0 802BB2C0 C482004C */ lwc1 $f2, 0x4c($a0)
|
||||
/* E2DBF4 802BB2C4 3C0142C8 */ lui $at, 0x42c8
|
||||
/* E2DBF8 802BB2C8 44810000 */ mtc1 $at, $f0
|
||||
/* E2DBFC 802BB2CC 00000000 */ nop
|
||||
/* E2DC00 802BB2D0 46001080 */ add.s $f2, $f2, $f0
|
||||
/* E2DC04 802BB2D4 C4800048 */ lwc1 $f0, 0x48($a0)
|
||||
/* E2DC08 802BB2D8 C4840050 */ lwc1 $f4, 0x50($a0)
|
||||
/* E2DC0C 802BB2DC 4600018D */ trunc.w.s $f6, $f0
|
||||
/* E2DC10 802BB2E0 44063000 */ mfc1 $a2, $f6
|
||||
/* E2DC14 802BB2E4 4600218D */ trunc.w.s $f6, $f4
|
||||
/* E2DC18 802BB2E8 44053000 */ mfc1 $a1, $f6
|
||||
/* E2DC1C 802BB2EC 4600118D */ trunc.w.s $f6, $f2
|
||||
/* E2DC20 802BB2F0 44033000 */ mfc1 $v1, $f6
|
||||
.L802BB2F4:
|
||||
/* E2DC24 802BB2F4 3C02802C */ lui $v0, %hi(func_802BAE00_E2D730)
|
||||
/* E2DC28 802BB2F8 2442AE00 */ addiu $v0, $v0, %lo(func_802BAE00_E2D730)
|
||||
/* E2DC2C 802BB2FC A4E60028 */ sh $a2, 0x28($a3)
|
||||
/* E2DC30 802BB300 A4E3002A */ sh $v1, 0x2a($a3)
|
||||
/* E2DC34 802BB304 A4E5002C */ sh $a1, 0x2c($a3)
|
||||
/* E2DC38 802BB308 A0E00002 */ sb $zero, 2($a3)
|
||||
/* E2DC3C 802BB30C 03E00008 */ jr $ra
|
||||
/* E2DC40 802BB310 AC82003C */ sw $v0, 0x3c($a0)
|
@ -1,18 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB314_E2DC44
|
||||
/* E2DC44 802BB314 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E2DC48 802BB318 0080102D */ daddu $v0, $a0, $zero
|
||||
/* E2DC4C 802BB31C 3C048000 */ lui $a0, 0x8000
|
||||
/* E2DC50 802BB320 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* E2DC54 802BB324 C4400050 */ lwc1 $f0, 0x50($v0)
|
||||
/* E2DC58 802BB328 3484006A */ ori $a0, $a0, 0x6a
|
||||
/* E2DC5C 802BB32C E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* E2DC60 802BB330 8C460048 */ lw $a2, 0x48($v0)
|
||||
/* E2DC64 802BB334 8C47004C */ lw $a3, 0x4c($v0)
|
||||
/* E2DC68 802BB338 0C052757 */ jal sfx_play_sound_at_position
|
||||
/* E2DC6C 802BB33C 0000282D */ daddu $a1, $zero, $zero
|
||||
/* E2DC70 802BB340 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* E2DC74 802BB344 03E00008 */ jr $ra
|
||||
/* E2DC78 802BB348 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,14 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB34C_E2DC7C
|
||||
/* E2DC7C 802BB34C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2DC80 802BB350 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2DC84 802BB354 0C05272D */ jal sfx_play_sound
|
||||
/* E2DC88 802BB358 24040791 */ addiu $a0, $zero, 0x791
|
||||
/* E2DC8C 802BB35C 24040391 */ addiu $a0, $zero, 0x391
|
||||
/* E2DC90 802BB360 0C05269B */ jal func_80149A6C
|
||||
/* E2DC94 802BB364 24050001 */ addiu $a1, $zero, 1
|
||||
/* E2DC98 802BB368 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2DC9C 802BB36C 03E00008 */ jr $ra
|
||||
/* E2DCA0 802BB370 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,42 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB6E0_E2E010
|
||||
/* E2E010 802BB6E0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* E2E014 802BB6E4 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* E2E018 802BB6E8 0080802D */ daddu $s0, $a0, $zero
|
||||
/* E2E01C 802BB6EC AFBF0020 */ sw $ra, 0x20($sp)
|
||||
/* E2E020 802BB6F0 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* E2E024 802BB6F4 86040014 */ lh $a0, 0x14($s0)
|
||||
/* E2E028 802BB6F8 0C047FF8 */ jal get_animator_by_index
|
||||
/* E2E02C 802BB6FC 8E110040 */ lw $s1, 0x40($s0)
|
||||
/* E2E030 802BB700 24030011 */ addiu $v1, $zero, 0x11
|
||||
/* E2E034 802BB704 3C04802C */ lui $a0, %hi(D_802BC7D0_E2F100)
|
||||
/* E2E038 802BB708 2484C7D0 */ addiu $a0, $a0, %lo(D_802BC7D0_E2F100)
|
||||
/* E2E03C 802BB70C A0430004 */ sb $v1, 4($v0)
|
||||
/* E2E040 802BB710 C6000048 */ lwc1 $f0, 0x48($s0)
|
||||
/* E2E044 802BB714 C602004C */ lwc1 $f2, 0x4c($s0)
|
||||
/* E2E048 802BB718 C6040050 */ lwc1 $f4, 0x50($s0)
|
||||
/* E2E04C 802BB71C 3C028000 */ lui $v0, 0x8000
|
||||
/* E2E050 802BB720 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* E2E054 802BB724 4600018D */ trunc.w.s $f6, $f0
|
||||
/* E2E058 802BB728 44053000 */ mfc1 $a1, $f6
|
||||
/* E2E05C 802BB72C 4600118D */ trunc.w.s $f6, $f2
|
||||
/* E2E060 802BB730 44063000 */ mfc1 $a2, $f6
|
||||
/* E2E064 802BB734 4600218D */ trunc.w.s $f6, $f4
|
||||
/* E2E068 802BB738 44073000 */ mfc1 $a3, $f6
|
||||
/* E2E06C 802BB73C 0C044631 */ jal create_entity
|
||||
/* E2E070 802BB740 AFA20014 */ sw $v0, 0x14($sp)
|
||||
/* E2E074 802BB744 0040202D */ daddu $a0, $v0, $zero
|
||||
/* E2E078 802BB748 0C04417A */ jal get_entity_by_index
|
||||
/* E2E07C 802BB74C A6240004 */ sh $a0, 4($s1)
|
||||
/* E2E080 802BB750 8C510040 */ lw $s1, 0x40($v0)
|
||||
/* E2E084 802BB754 92030004 */ lbu $v1, 4($s0)
|
||||
/* E2E088 802BB758 A6230004 */ sh $v1, 4($s1)
|
||||
/* E2E08C 802BB75C C4400064 */ lwc1 $f0, 0x64($v0)
|
||||
/* E2E090 802BB760 E6200008 */ swc1 $f0, 8($s1)
|
||||
/* E2E094 802BB764 8FBF0020 */ lw $ra, 0x20($sp)
|
||||
/* E2E098 802BB768 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* E2E09C 802BB76C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* E2E0A0 802BB770 03E00008 */ jr $ra
|
||||
/* E2E0A4 802BB774 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,9 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB778_E2E0A8
|
||||
/* E2E0A8 802BB778 3C02802C */ lui $v0, %hi(func_802BB374_E2DCA4)
|
||||
/* E2E0AC 802BB77C 2442B374 */ addiu $v0, $v0, %lo(func_802BB374_E2DCA4)
|
||||
/* E2E0B0 802BB780 AC800054 */ sw $zero, 0x54($a0)
|
||||
/* E2E0B4 802BB784 03E00008 */ jr $ra
|
||||
/* E2E0B8 802BB788 AC82003C */ sw $v0, 0x3c($a0)
|
@ -1,50 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB8D4_E2E204
|
||||
/* E2E204 802BB8D4 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* E2E208 802BB8D8 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2E20C 802BB8DC 0080802D */ daddu $s0, $a0, $zero
|
||||
/* E2E210 802BB8E0 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* E2E214 802BB8E4 AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* E2E218 802BB8E8 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* E2E21C 802BB8EC F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* E2E220 802BB8F0 C60C0048 */ lwc1 $f12, 0x48($s0)
|
||||
/* E2E224 802BB8F4 3C014000 */ lui $at, 0x4000
|
||||
/* E2E228 802BB8F8 4481A000 */ mtc1 $at, $f20
|
||||
/* E2E22C 802BB8FC 3C118011 */ lui $s1, %hi(gPlayerStatus)
|
||||
/* E2E230 802BB900 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
|
||||
/* E2E234 802BB904 46146301 */ sub.s $f12, $f12, $f20
|
||||
/* E2E238 802BB908 C60E0050 */ lwc1 $f14, 0x50($s0)
|
||||
/* E2E23C 802BB90C 8E260028 */ lw $a2, 0x28($s1)
|
||||
/* E2E240 802BB910 8E270030 */ lw $a3, 0x30($s1)
|
||||
/* E2E244 802BB914 8E120040 */ lw $s2, 0x40($s0)
|
||||
/* E2E248 802BB918 0C00A7B5 */ jal dist2D
|
||||
/* E2E24C 802BB91C 46147381 */ sub.s $f14, $f14, $f20
|
||||
/* E2E250 802BB920 3C013FD0 */ lui $at, 0x3fd0
|
||||
/* E2E254 802BB924 44811800 */ mtc1 $at, $f3
|
||||
/* E2E258 802BB928 44801000 */ mtc1 $zero, $f2
|
||||
/* E2E25C 802BB92C 46000021 */ cvt.d.s $f0, $f0
|
||||
/* E2E260 802BB930 46220002 */ mul.d $f0, $f0, $f2
|
||||
/* E2E264 802BB934 00000000 */ nop
|
||||
/* E2E268 802BB938 46200005 */ abs.d $f0, $f0
|
||||
/* E2E26C 802BB93C 46200020 */ cvt.s.d $f0, $f0
|
||||
/* E2E270 802BB940 E6400008 */ swc1 $f0, 8($s2)
|
||||
/* E2E274 802BB944 C6000048 */ lwc1 $f0, 0x48($s0)
|
||||
/* E2E278 802BB948 46140001 */ sub.s $f0, $f0, $f20
|
||||
/* E2E27C 802BB94C 44060000 */ mfc1 $a2, $f0
|
||||
/* E2E280 802BB950 C6000050 */ lwc1 $f0, 0x50($s0)
|
||||
/* E2E284 802BB954 46140001 */ sub.s $f0, $f0, $f20
|
||||
/* E2E288 802BB958 C62C0028 */ lwc1 $f12, 0x28($s1)
|
||||
/* E2E28C 802BB95C C62E0030 */ lwc1 $f14, 0x30($s1)
|
||||
/* E2E290 802BB960 44070000 */ mfc1 $a3, $f0
|
||||
/* E2E294 802BB964 0C00A720 */ jal atan2
|
||||
/* E2E298 802BB968 00000000 */ nop
|
||||
/* E2E29C 802BB96C E6400004 */ swc1 $f0, 4($s2)
|
||||
/* E2E2A0 802BB970 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* E2E2A4 802BB974 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* E2E2A8 802BB978 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* E2E2AC 802BB97C 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2E2B0 802BB980 D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* E2E2B4 802BB984 03E00008 */ jr $ra
|
||||
/* E2E2B8 802BB988 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,25 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB98C_E2E2BC
|
||||
/* E2E2BC 802BB98C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2E2C0 802BB990 3C058011 */ lui $a1, %hi(gPlayerStatus)
|
||||
/* E2E2C4 802BB994 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
|
||||
/* E2E2C8 802BB998 3C02800B */ lui $v0, %hi(gCameras)
|
||||
/* E2E2CC 802BB99C 24421D80 */ addiu $v0, $v0, %lo(gCameras)
|
||||
/* E2E2D0 802BB9A0 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2E2D4 802BB9A4 8C830040 */ lw $v1, 0x40($a0)
|
||||
/* E2E2D8 802BB9A8 C4A00028 */ lwc1 $f0, 0x28($a1)
|
||||
/* E2E2DC 802BB9AC C4A2002C */ lwc1 $f2, 0x2c($a1)
|
||||
/* E2E2E0 802BB9B0 C4A40030 */ lwc1 $f4, 0x30($a1)
|
||||
/* E2E2E4 802BB9B4 24A40028 */ addiu $a0, $a1, 0x28
|
||||
/* E2E2E8 802BB9B8 E4400060 */ swc1 $f0, 0x60($v0)
|
||||
/* E2E2EC 802BB9BC E4420064 */ swc1 $f2, 0x64($v0)
|
||||
/* E2E2F0 802BB9C0 E4440068 */ swc1 $f4, 0x68($v0)
|
||||
/* E2E2F4 802BB9C4 8C660008 */ lw $a2, 8($v1)
|
||||
/* E2E2F8 802BB9C8 8C670004 */ lw $a3, 4($v1)
|
||||
/* E2E2FC 802BB9CC 0C00A7E7 */ jal add_vec2D_polar
|
||||
/* E2E300 802BB9D0 24A50030 */ addiu $a1, $a1, 0x30
|
||||
/* E2E304 802BB9D4 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2E308 802BB9D8 03E00008 */ jr $ra
|
||||
/* E2E30C 802BB9DC 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,80 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_802BCE10_E2F740
|
||||
.double 90.0, 0.0
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_802BBD78_E2E6A8
|
||||
/* E2E6A8 802BBD78 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* E2E6AC 802BBD7C AFB00020 */ sw $s0, 0x20($sp)
|
||||
/* E2E6B0 802BBD80 0080802D */ daddu $s0, $a0, $zero
|
||||
/* E2E6B4 802BBD84 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* E2E6B8 802BBD88 F7B60030 */ sdc1 $f22, 0x30($sp)
|
||||
/* E2E6BC 802BBD8C F7B40028 */ sdc1 $f20, 0x28($sp)
|
||||
/* E2E6C0 802BBD90 0C00A6C9 */ jal clamp_angle
|
||||
/* E2E6C4 802BBD94 C60C0064 */ lwc1 $f12, 0x64($s0)
|
||||
/* E2E6C8 802BBD98 3C0140C9 */ lui $at, 0x40c9
|
||||
/* E2E6CC 802BBD9C 34210FD0 */ ori $at, $at, 0xfd0
|
||||
/* E2E6D0 802BBDA0 44811000 */ mtc1 $at, $f2
|
||||
/* E2E6D4 802BBDA4 00000000 */ nop
|
||||
/* E2E6D8 802BBDA8 46020582 */ mul.s $f22, $f0, $f2
|
||||
/* E2E6DC 802BBDAC 00000000 */ nop
|
||||
/* E2E6E0 802BBDB0 3C0143B4 */ lui $at, 0x43b4
|
||||
/* E2E6E4 802BBDB4 44810000 */ mtc1 $at, $f0
|
||||
/* E2E6E8 802BBDB8 00000000 */ nop
|
||||
/* E2E6EC 802BBDBC 4600B583 */ div.s $f22, $f22, $f0
|
||||
/* E2E6F0 802BBDC0 0C00A874 */ jal cos_rad
|
||||
/* E2E6F4 802BBDC4 4600B306 */ mov.s $f12, $f22
|
||||
/* E2E6F8 802BBDC8 3C01C03A */ lui $at, 0xc03a
|
||||
/* E2E6FC 802BBDCC 44811800 */ mtc1 $at, $f3
|
||||
/* E2E700 802BBDD0 44801000 */ mtc1 $zero, $f2
|
||||
/* E2E704 802BBDD4 46000521 */ cvt.d.s $f20, $f0
|
||||
/* E2E708 802BBDD8 4622A502 */ mul.d $f20, $f20, $f2
|
||||
/* E2E70C 802BBDDC 00000000 */ nop
|
||||
/* E2E710 802BBDE0 4600B306 */ mov.s $f12, $f22
|
||||
/* E2E714 802BBDE4 0C00A85B */ jal sin_rad
|
||||
/* E2E718 802BBDE8 4620A520 */ cvt.s.d $f20, $f20
|
||||
/* E2E71C 802BBDEC 3C014018 */ lui $at, 0x4018
|
||||
/* E2E720 802BBDF0 44811800 */ mtc1 $at, $f3
|
||||
/* E2E724 802BBDF4 44801000 */ mtc1 $zero, $f2
|
||||
/* E2E728 802BBDF8 460005A1 */ cvt.d.s $f22, $f0
|
||||
/* E2E72C 802BBDFC 4622B582 */ mul.d $f22, $f22, $f2
|
||||
/* E2E730 802BBE00 00000000 */ nop
|
||||
/* E2E734 802BBE04 C60C0064 */ lwc1 $f12, 0x64($s0)
|
||||
/* E2E738 802BBE08 3C01802C */ lui $at, %hi(D_802BCE10_E2F740)
|
||||
/* E2E73C 802BBE0C D420CE10 */ ldc1 $f0, %lo(D_802BCE10_E2F740)($at)
|
||||
/* E2E740 802BBE10 46006321 */ cvt.d.s $f12, $f12
|
||||
/* E2E744 802BBE14 46206301 */ sub.d $f12, $f12, $f0
|
||||
/* E2E748 802BBE18 46206320 */ cvt.s.d $f12, $f12
|
||||
/* E2E74C 802BBE1C 0C00A6C9 */ jal clamp_angle
|
||||
/* E2E750 802BBE20 4620B5A0 */ cvt.s.d $f22, $f22
|
||||
/* E2E754 802BBE24 C6020048 */ lwc1 $f2, 0x48($s0)
|
||||
/* E2E758 802BBE28 C604004C */ lwc1 $f4, 0x4c($s0)
|
||||
/* E2E75C 802BBE2C C6060050 */ lwc1 $f6, 0x50($s0)
|
||||
/* E2E760 802BBE30 E7A00010 */ swc1 $f0, 0x10($sp)
|
||||
/* E2E764 802BBE34 46141080 */ add.s $f2, $f2, $f20
|
||||
/* E2E768 802BBE38 3C014278 */ lui $at, 0x4278
|
||||
/* E2E76C 802BBE3C 44810000 */ mtc1 $at, $f0
|
||||
/* E2E770 802BBE40 00000000 */ nop
|
||||
/* E2E774 802BBE44 46002100 */ add.s $f4, $f4, $f0
|
||||
/* E2E778 802BBE48 24020002 */ addiu $v0, $zero, 2
|
||||
/* E2E77C 802BBE4C 46163180 */ add.s $f6, $f6, $f22
|
||||
/* E2E780 802BBE50 3C014258 */ lui $at, 0x4258
|
||||
/* E2E784 802BBE54 44810000 */ mtc1 $at, $f0
|
||||
/* E2E788 802BBE58 44051000 */ mfc1 $a1, $f2
|
||||
/* E2E78C 802BBE5C 44062000 */ mfc1 $a2, $f4
|
||||
/* E2E790 802BBE60 44073000 */ mfc1 $a3, $f6
|
||||
/* E2E794 802BBE64 0000202D */ daddu $a0, $zero, $zero
|
||||
/* E2E798 802BBE68 AFA20018 */ sw $v0, 0x18($sp)
|
||||
/* E2E79C 802BBE6C 0C01C13C */ jal playFX_21
|
||||
/* E2E7A0 802BBE70 E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* E2E7A4 802BBE74 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* E2E7A8 802BBE78 8FB00020 */ lw $s0, 0x20($sp)
|
||||
/* E2E7AC 802BBE7C D7B60030 */ ldc1 $f22, 0x30($sp)
|
||||
/* E2E7B0 802BBE80 D7B40028 */ ldc1 $f20, 0x28($sp)
|
||||
/* E2E7B4 802BBE84 03E00008 */ jr $ra
|
||||
/* E2E7B8 802BBE88 27BD0038 */ addiu $sp, $sp, 0x38
|
@ -1,21 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC00C_E2E93C
|
||||
/* E2E93C 802BC00C 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E2E940 802BC010 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* E2E944 802BC014 C482004C */ lwc1 $f2, 0x4c($a0)
|
||||
/* E2E948 802BC018 3C0141F0 */ lui $at, 0x41f0
|
||||
/* E2E94C 802BC01C 44810000 */ mtc1 $at, $f0
|
||||
/* E2E950 802BC020 24020013 */ addiu $v0, $zero, 0x13
|
||||
/* E2E954 802BC024 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* E2E958 802BC028 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* E2E95C 802BC02C 46001080 */ add.s $f2, $f2, $f0
|
||||
/* E2E960 802BC030 8C850048 */ lw $a1, 0x48($a0)
|
||||
/* E2E964 802BC034 8C870050 */ lw $a3, 0x50($a0)
|
||||
/* E2E968 802BC038 44061000 */ mfc1 $a2, $f2
|
||||
/* E2E96C 802BC03C 0C04C6A5 */ jal make_item_entity_nodelay
|
||||
/* E2E970 802BC040 24040157 */ addiu $a0, $zero, 0x157
|
||||
/* E2E974 802BC044 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* E2E978 802BC048 03E00008 */ jr $ra
|
||||
/* E2E97C 802BC04C 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,31 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC050_E2E980
|
||||
/* E2E980 802BC050 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2E984 802BC054 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2E988 802BC058 0080802D */ daddu $s0, $a0, $zero
|
||||
/* E2E98C 802BC05C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E2E990 802BC060 92020006 */ lbu $v0, 6($s0)
|
||||
/* E2E994 802BC064 3C038011 */ lui $v1, %hi(gPlayerStatus)
|
||||
/* E2E998 802BC068 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
|
||||
/* E2E99C 802BC06C 30420001 */ andi $v0, $v0, 1
|
||||
/* E2E9A0 802BC070 1040000D */ beqz $v0, .L802BC0A8
|
||||
/* E2E9A4 802BC074 00000000 */ nop
|
||||
/* E2E9A8 802BC078 8C620004 */ lw $v0, 4($v1)
|
||||
/* E2E9AC 802BC07C 34420004 */ ori $v0, $v0, 4
|
||||
/* E2E9B0 802BC080 0C03BCC0 */ jal func_800EF300
|
||||
/* E2E9B4 802BC084 AC620004 */ sw $v0, 4($v1)
|
||||
/* E2E9B8 802BC088 8E020040 */ lw $v0, 0x40($s0)
|
||||
/* E2E9BC 802BC08C 0C04417A */ jal get_entity_by_index
|
||||
/* E2E9C0 802BC090 8C440000 */ lw $a0, ($v0)
|
||||
/* E2E9C4 802BC094 0200202D */ daddu $a0, $s0, $zero
|
||||
/* E2E9C8 802BC098 0C043F5A */ jal exec_entity_commandlist
|
||||
/* E2E9CC 802BC09C 0040802D */ daddu $s0, $v0, $zero
|
||||
/* E2E9D0 802BC0A0 0C043F5A */ jal exec_entity_commandlist
|
||||
/* E2E9D4 802BC0A4 0200202D */ daddu $a0, $s0, $zero
|
||||
.L802BC0A8:
|
||||
/* E2E9D8 802BC0A8 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2E9DC 802BC0AC 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2E9E0 802BC0B0 03E00008 */ jr $ra
|
||||
/* E2E9E4 802BC0B4 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,39 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC0F0_E2EA20
|
||||
/* E2EA20 802BC0F0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E2EA24 802BC0F4 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* E2EA28 802BC0F8 0080882D */ daddu $s1, $a0, $zero
|
||||
/* E2EA2C 802BC0FC AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2EA30 802BC100 3C108011 */ lui $s0, %hi(gPlayerStatus)
|
||||
/* E2EA34 802BC104 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
|
||||
/* E2EA38 802BC108 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* E2EA3C 802BC10C AFB20018 */ sw $s2, 0x18($sp)
|
||||
/* E2EA40 802BC110 C62C0048 */ lwc1 $f12, 0x48($s1)
|
||||
/* E2EA44 802BC114 C62E0050 */ lwc1 $f14, 0x50($s1)
|
||||
/* E2EA48 802BC118 8E060028 */ lw $a2, 0x28($s0)
|
||||
/* E2EA4C 802BC11C 8E070030 */ lw $a3, 0x30($s0)
|
||||
/* E2EA50 802BC120 0C00A7B5 */ jal dist2D
|
||||
/* E2EA54 802BC124 8E320040 */ lw $s2, 0x40($s1)
|
||||
/* E2EA58 802BC128 3C013FD0 */ lui $at, 0x3fd0
|
||||
/* E2EA5C 802BC12C 44811800 */ mtc1 $at, $f3
|
||||
/* E2EA60 802BC130 44801000 */ mtc1 $zero, $f2
|
||||
/* E2EA64 802BC134 46000021 */ cvt.d.s $f0, $f0
|
||||
/* E2EA68 802BC138 46220002 */ mul.d $f0, $f0, $f2
|
||||
/* E2EA6C 802BC13C 00000000 */ nop
|
||||
/* E2EA70 802BC140 46200005 */ abs.d $f0, $f0
|
||||
/* E2EA74 802BC144 46200020 */ cvt.s.d $f0, $f0
|
||||
/* E2EA78 802BC148 E6400018 */ swc1 $f0, 0x18($s2)
|
||||
/* E2EA7C 802BC14C C60C0028 */ lwc1 $f12, 0x28($s0)
|
||||
/* E2EA80 802BC150 C60E0030 */ lwc1 $f14, 0x30($s0)
|
||||
/* E2EA84 802BC154 8E260048 */ lw $a2, 0x48($s1)
|
||||
/* E2EA88 802BC158 0C00A720 */ jal atan2
|
||||
/* E2EA8C 802BC15C 8E270050 */ lw $a3, 0x50($s1)
|
||||
/* E2EA90 802BC160 E6400014 */ swc1 $f0, 0x14($s2)
|
||||
/* E2EA94 802BC164 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* E2EA98 802BC168 8FB20018 */ lw $s2, 0x18($sp)
|
||||
/* E2EA9C 802BC16C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* E2EAA0 802BC170 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2EAA4 802BC174 03E00008 */ jr $ra
|
||||
/* E2EAA8 802BC178 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,25 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC17C_E2EAAC
|
||||
/* E2EAAC 802BC17C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EAB0 802BC180 3C058011 */ lui $a1, %hi(gPlayerStatus)
|
||||
/* E2EAB4 802BC184 24A5EFC8 */ addiu $a1, $a1, %lo(gPlayerStatus)
|
||||
/* E2EAB8 802BC188 3C02800B */ lui $v0, %hi(gCameras)
|
||||
/* E2EABC 802BC18C 24421D80 */ addiu $v0, $v0, %lo(gCameras)
|
||||
/* E2EAC0 802BC190 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2EAC4 802BC194 8C830040 */ lw $v1, 0x40($a0)
|
||||
/* E2EAC8 802BC198 C4A00028 */ lwc1 $f0, 0x28($a1)
|
||||
/* E2EACC 802BC19C C4A2002C */ lwc1 $f2, 0x2c($a1)
|
||||
/* E2EAD0 802BC1A0 C4A40030 */ lwc1 $f4, 0x30($a1)
|
||||
/* E2EAD4 802BC1A4 24A40028 */ addiu $a0, $a1, 0x28
|
||||
/* E2EAD8 802BC1A8 E4400060 */ swc1 $f0, 0x60($v0)
|
||||
/* E2EADC 802BC1AC E4420064 */ swc1 $f2, 0x64($v0)
|
||||
/* E2EAE0 802BC1B0 E4440068 */ swc1 $f4, 0x68($v0)
|
||||
/* E2EAE4 802BC1B4 8C660018 */ lw $a2, 0x18($v1)
|
||||
/* E2EAE8 802BC1B8 8C670014 */ lw $a3, 0x14($v1)
|
||||
/* E2EAEC 802BC1BC 0C00A7E7 */ jal add_vec2D_polar
|
||||
/* E2EAF0 802BC1C0 24A50030 */ addiu $a1, $a1, 0x30
|
||||
/* E2EAF4 802BC1C4 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2EAF8 802BC1C8 03E00008 */ jr $ra
|
||||
/* E2EAFC 802BC1CC 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,24 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC1D0_E2EB00
|
||||
/* E2EB00 802BC1D0 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E2EB04 802BC1D4 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* E2EB08 802BC1D8 C4840048 */ lwc1 $f4, 0x48($a0)
|
||||
/* E2EB0C 802BC1DC C486004C */ lwc1 $f6, 0x4c($a0)
|
||||
/* E2EB10 802BC1E0 C4800064 */ lwc1 $f0, 0x64($a0)
|
||||
/* E2EB14 802BC1E4 C4820050 */ lwc1 $f2, 0x50($a0)
|
||||
/* E2EB18 802BC1E8 00A0202D */ daddu $a0, $a1, $zero
|
||||
/* E2EB1C 802BC1EC 4600020D */ trunc.w.s $f8, $f0
|
||||
/* E2EB20 802BC1F0 E7A80010 */ swc1 $f8, 0x10($sp)
|
||||
/* E2EB24 802BC1F4 4600220D */ trunc.w.s $f8, $f4
|
||||
/* E2EB28 802BC1F8 44054000 */ mfc1 $a1, $f8
|
||||
/* E2EB2C 802BC1FC 4600320D */ trunc.w.s $f8, $f6
|
||||
/* E2EB30 802BC200 44064000 */ mfc1 $a2, $f8
|
||||
/* E2EB34 802BC204 4600120D */ trunc.w.s $f8, $f2
|
||||
/* E2EB38 802BC208 44074000 */ mfc1 $a3, $f8
|
||||
/* E2EB3C 802BC20C 0C044631 */ jal create_entity
|
||||
/* E2EB40 802BC210 00000000 */ nop
|
||||
/* E2EB44 802BC214 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* E2EB48 802BC218 03E00008 */ jr $ra
|
||||
/* E2EB4C 802BC21C 27BD0020 */ addiu $sp, $sp, 0x20
|
@ -1,16 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC220_E2EB50
|
||||
/* E2EB50 802BC220 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EB54 802BC224 3C05802C */ lui $a1, %hi(D_802BCC44_E2F574)
|
||||
/* E2EB58 802BC228 24A5CC44 */ addiu $a1, $a1, %lo(D_802BCC44_E2F574)
|
||||
/* E2EB5C 802BC22C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E2EB60 802BC230 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2EB64 802BC234 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2EB68 802BC238 8C900040 */ lw $s0, 0x40($a0)
|
||||
/* E2EB6C 802BC23C AE020000 */ sw $v0, ($s0)
|
||||
/* E2EB70 802BC240 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2EB74 802BC244 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2EB78 802BC248 03E00008 */ jr $ra
|
||||
/* E2EB7C 802BC24C 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,13 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC250_E2EB80
|
||||
/* E2EB80 802BC250 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EB84 802BC254 3C05802C */ lui $a1, %hi(D_802BCC68_E2F598)
|
||||
/* E2EB88 802BC258 24A5CC68 */ addiu $a1, $a1, %lo(D_802BCC68_E2F598)
|
||||
/* E2EB8C 802BC25C AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2EB90 802BC260 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2EB94 802BC264 00000000 */ nop
|
||||
/* E2EB98 802BC268 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2EB9C 802BC26C 03E00008 */ jr $ra
|
||||
/* E2EBA0 802BC270 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,20 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC274_E2EBA4
|
||||
/* E2EBA4 802BC274 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EBA8 802BC278 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2EBAC 802BC27C 0080802D */ daddu $s0, $a0, $zero
|
||||
/* E2EBB0 802BC280 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E2EBB4 802BC284 0C03A8CD */ jal subtract_hp
|
||||
/* E2EBB8 802BC288 24040001 */ addiu $a0, $zero, 1
|
||||
/* E2EBBC 802BC28C 3C05802C */ lui $a1, %hi(D_802BCC8C_E2F5BC)
|
||||
/* E2EBC0 802BC290 24A5CC8C */ addiu $a1, $a1, %lo(D_802BCC8C_E2F5BC)
|
||||
/* E2EBC4 802BC294 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2EBC8 802BC298 0200202D */ daddu $a0, $s0, $zero
|
||||
/* E2EBCC 802BC29C 0C039769 */ jal set_action_state
|
||||
/* E2EBD0 802BC2A0 24040026 */ addiu $a0, $zero, 0x26
|
||||
/* E2EBD4 802BC2A4 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2EBD8 802BC2A8 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2EBDC 802BC2AC 03E00008 */ jr $ra
|
||||
/* E2EBE0 802BC2B0 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,25 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC2B4_E2EBE4
|
||||
/* E2EBE4 802BC2B4 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EBE8 802BC2B8 3C05802C */ lui $a1, %hi(D_802BCCB0_E2F5E0)
|
||||
/* E2EBEC 802BC2BC 24A5CCB0 */ addiu $a1, $a1, %lo(D_802BCCB0_E2F5E0)
|
||||
/* E2EBF0 802BC2C0 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2EBF4 802BC2C4 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2EBF8 802BC2C8 00000000 */ nop
|
||||
/* E2EBFC 802BC2CC 3C027FFF */ lui $v0, 0x7fff
|
||||
/* E2EC00 802BC2D0 3442FFFF */ ori $v0, $v0, 0xffff
|
||||
/* E2EC04 802BC2D4 3C040008 */ lui $a0, 8
|
||||
/* E2EC08 802BC2D8 3C038011 */ lui $v1, %hi(gPlayerStatus)
|
||||
/* E2EC0C 802BC2DC 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus)
|
||||
/* E2EC10 802BC2E0 8C650000 */ lw $a1, ($v1)
|
||||
/* E2EC14 802BC2E4 3484001F */ ori $a0, $a0, 0x1f
|
||||
/* E2EC18 802BC2E8 A06000B5 */ sb $zero, 0xb5($v1)
|
||||
/* E2EC1C 802BC2EC A06000B4 */ sb $zero, 0xb4($v1)
|
||||
/* E2EC20 802BC2F0 00A22824 */ and $a1, $a1, $v0
|
||||
/* E2EC24 802BC2F4 0C037FDE */ jal suggest_player_anim_setUnkFlag
|
||||
/* E2EC28 802BC2F8 AC650000 */ sw $a1, ($v1)
|
||||
/* E2EC2C 802BC2FC 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2EC30 802BC300 03E00008 */ jr $ra
|
||||
/* E2EC34 802BC304 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,13 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC308_E2EC38
|
||||
/* E2EC38 802BC308 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EC3C 802BC30C 3C05802C */ lui $a1, %hi(D_802BCCD4_E2F604)
|
||||
/* E2EC40 802BC310 24A5CCD4 */ addiu $a1, $a1, %lo(D_802BCCD4_E2F604)
|
||||
/* E2EC44 802BC314 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2EC48 802BC318 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2EC4C 802BC31C 00000000 */ nop
|
||||
/* E2EC50 802BC320 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2EC54 802BC324 03E00008 */ jr $ra
|
||||
/* E2EC58 802BC328 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,15 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC32C_E2EC5C
|
||||
/* E2EC5C 802BC32C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EC60 802BC330 3C05802C */ lui $a1, %hi(D_802BCCF8_E2F628)
|
||||
/* E2EC64 802BC334 24A5CCF8 */ addiu $a1, $a1, %lo(D_802BCCF8_E2F628)
|
||||
/* E2EC68 802BC338 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2EC6C 802BC33C 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2EC70 802BC340 00000000 */ nop
|
||||
/* E2EC74 802BC344 0C03BCCA */ jal enable_partner_ai
|
||||
/* E2EC78 802BC348 00000000 */ nop
|
||||
/* E2EC7C 802BC34C 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2EC80 802BC350 03E00008 */ jr $ra
|
||||
/* E2EC84 802BC354 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,13 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC358_E2EC88
|
||||
/* E2EC88 802BC358 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EC8C 802BC35C 3C05802C */ lui $a1, %hi(D_802BCD1C_E2F64C)
|
||||
/* E2EC90 802BC360 24A5CD1C */ addiu $a1, $a1, %lo(D_802BCD1C_E2F64C)
|
||||
/* E2EC94 802BC364 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2EC98 802BC368 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2EC9C 802BC36C 00000000 */ nop
|
||||
/* E2ECA0 802BC370 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2ECA4 802BC374 03E00008 */ jr $ra
|
||||
/* E2ECA8 802BC378 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,13 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC37C_E2ECAC
|
||||
/* E2ECAC 802BC37C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2ECB0 802BC380 3C05802C */ lui $a1, %hi(D_802BCD40_E2F670)
|
||||
/* E2ECB4 802BC384 24A5CD40 */ addiu $a1, $a1, %lo(D_802BCD40_E2F670)
|
||||
/* E2ECB8 802BC388 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2ECBC 802BC38C 0C0AF074 */ jal func_802BC1D0_E2EB00
|
||||
/* E2ECC0 802BC390 00000000 */ nop
|
||||
/* E2ECC4 802BC394 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2ECC8 802BC398 03E00008 */ jr $ra
|
||||
/* E2ECCC 802BC39C 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,15 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC3A0_E2ECD0
|
||||
/* E2ECD0 802BC3A0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2ECD4 802BC3A4 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2ECD8 802BC3A8 0C038069 */ jal enable_player_input
|
||||
/* E2ECDC 802BC3AC 00000000 */ nop
|
||||
/* E2ECE0 802BC3B0 0C03802C */ jal enable_player_shadow
|
||||
/* E2ECE4 802BC3B4 00000000 */ nop
|
||||
/* E2ECE8 802BC3B8 0C039769 */ jal set_action_state
|
||||
/* E2ECEC 802BC3BC 2404001E */ addiu $a0, $zero, 0x1e
|
||||
/* E2ECF0 802BC3C0 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2ECF4 802BC3C4 03E00008 */ jr $ra
|
||||
/* E2ECF8 802BC3C8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,10 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC3CC_E2ECFC
|
||||
/* E2ECFC 802BC3CC 8C820040 */ lw $v0, 0x40($a0)
|
||||
/* E2ED00 802BC3D0 3C018011 */ lui $at, %hi(gPlayerStatus+0x2C)
|
||||
/* E2ED04 802BC3D4 C420EFF4 */ lwc1 $f0, %lo(gPlayerStatus+0x2C)($at)
|
||||
/* E2ED08 802BC3D8 E440000C */ swc1 $f0, 0xc($v0)
|
||||
/* E2ED0C 802BC3DC 03E00008 */ jr $ra
|
||||
/* E2ED10 802BC3E0 AC400010 */ sw $zero, 0x10($v0)
|
@ -1,57 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC3E4_E2ED14
|
||||
/* E2ED14 802BC3E4 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E2ED18 802BC3E8 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* E2ED1C 802BC3EC AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E2ED20 802BC3F0 F7B40018 */ sdc1 $f20, 0x18($sp)
|
||||
/* E2ED24 802BC3F4 8C900040 */ lw $s0, 0x40($a0)
|
||||
/* E2ED28 802BC3F8 3C0140C9 */ lui $at, 0x40c9
|
||||
/* E2ED2C 802BC3FC 34210FD0 */ ori $at, $at, 0xfd0
|
||||
/* E2ED30 802BC400 44810000 */ mtc1 $at, $f0
|
||||
/* E2ED34 802BC404 C60C0010 */ lwc1 $f12, 0x10($s0)
|
||||
/* E2ED38 802BC408 46006302 */ mul.s $f12, $f12, $f0
|
||||
/* E2ED3C 802BC40C 00000000 */ nop
|
||||
/* E2ED40 802BC410 3C0143B4 */ lui $at, 0x43b4
|
||||
/* E2ED44 802BC414 4481A000 */ mtc1 $at, $f20
|
||||
/* E2ED48 802BC418 0C00A85B */ jal sin_rad
|
||||
/* E2ED4C 802BC41C 46146303 */ div.s $f12, $f12, $f20
|
||||
/* E2ED50 802BC420 3C014040 */ lui $at, 0x4040
|
||||
/* E2ED54 802BC424 44811000 */ mtc1 $at, $f2
|
||||
/* E2ED58 802BC428 00000000 */ nop
|
||||
/* E2ED5C 802BC42C 46020002 */ mul.s $f0, $f0, $f2
|
||||
/* E2ED60 802BC430 00000000 */ nop
|
||||
/* E2ED64 802BC434 C602000C */ lwc1 $f2, 0xc($s0)
|
||||
/* E2ED68 802BC438 46001080 */ add.s $f2, $f2, $f0
|
||||
/* E2ED6C 802BC43C 3C0141C0 */ lui $at, 0x41c0
|
||||
/* E2ED70 802BC440 44810000 */ mtc1 $at, $f0
|
||||
/* E2ED74 802BC444 3C018011 */ lui $at, %hi(gPlayerStatus+0x2C)
|
||||
/* E2ED78 802BC448 E422EFF4 */ swc1 $f2, %lo(gPlayerStatus+0x2C)($at)
|
||||
/* E2ED7C 802BC44C C6020010 */ lwc1 $f2, 0x10($s0)
|
||||
/* E2ED80 802BC450 46001000 */ add.s $f0, $f2, $f0
|
||||
/* E2ED84 802BC454 4600A03C */ c.lt.s $f20, $f0
|
||||
/* E2ED88 802BC458 00000000 */ nop
|
||||
/* E2ED8C 802BC45C 45000003 */ bc1f .L802BC46C
|
||||
/* E2ED90 802BC460 E6000010 */ swc1 $f0, 0x10($s0)
|
||||
/* E2ED94 802BC464 46140001 */ sub.s $f0, $f0, $f20
|
||||
/* E2ED98 802BC468 E6000010 */ swc1 $f0, 0x10($s0)
|
||||
.L802BC46C:
|
||||
/* E2ED9C 802BC46C C6020010 */ lwc1 $f2, 0x10($s0)
|
||||
/* E2EDA0 802BC470 3C0142C0 */ lui $at, 0x42c0
|
||||
/* E2EDA4 802BC474 44810000 */ mtc1 $at, $f0
|
||||
/* E2EDA8 802BC478 00000000 */ nop
|
||||
/* E2EDAC 802BC47C 46001032 */ c.eq.s $f2, $f0
|
||||
/* E2EDB0 802BC480 00000000 */ nop
|
||||
/* E2EDB4 802BC484 45000003 */ bc1f .L802BC494
|
||||
/* E2EDB8 802BC488 00000000 */ nop
|
||||
/* E2EDBC 802BC48C 0C05272D */ jal sfx_play_sound
|
||||
/* E2EDC0 802BC490 24040392 */ addiu $a0, $zero, 0x392
|
||||
.L802BC494:
|
||||
/* E2EDC4 802BC494 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* E2EDC8 802BC498 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E2EDCC 802BC49C D7B40018 */ ldc1 $f20, 0x18($sp)
|
||||
/* E2EDD0 802BC4A0 03E00008 */ jr $ra
|
||||
/* E2EDD4 802BC4A4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* E2EDD8 802BC4A8 00000000 */ nop
|
||||
/* E2EDDC 802BC4AC 00000000 */ nop
|
@ -1,14 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC630_E2EF60
|
||||
/* E2EF60 802BC630 8C820040 */ lw $v0, 0x40($a0)
|
||||
/* E2EF64 802BC634 3C018016 */ lui $at, %hi(D_8015C7D0)
|
||||
/* E2EF68 802BC638 C420C7D0 */ lwc1 $f0, %lo(D_8015C7D0)($at)
|
||||
/* E2EF6C 802BC63C 46800020 */ cvt.s.w $f0, $f0
|
||||
/* E2EF70 802BC640 E4400004 */ swc1 $f0, 4($v0)
|
||||
/* E2EF74 802BC644 E4400008 */ swc1 $f0, 8($v0)
|
||||
/* E2EF78 802BC648 3C02802C */ lui $v0, %hi(func_802BC4B0_E2EDE0)
|
||||
/* E2EF7C 802BC64C 2442C4B0 */ addiu $v0, $v0, %lo(func_802BC4B0_E2EDE0)
|
||||
/* E2EF80 802BC650 03E00008 */ jr $ra
|
||||
/* E2EF84 802BC654 AC82003C */ sw $v0, 0x3c($a0)
|
@ -1,23 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC658_E2EF88
|
||||
/* E2EF88 802BC658 3C028011 */ lui $v0, %hi(gPlayerStatus+0x4)
|
||||
/* E2EF8C 802BC65C 8C42EFCC */ lw $v0, %lo(gPlayerStatus+0x4)($v0)
|
||||
/* E2EF90 802BC660 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E2EF94 802BC664 30420001 */ andi $v0, $v0, 1
|
||||
/* E2EF98 802BC668 14400007 */ bnez $v0, .L802BC688
|
||||
/* E2EF9C 802BC66C AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E2EFA0 802BC670 90820006 */ lbu $v0, 6($a0)
|
||||
/* E2EFA4 802BC674 30420008 */ andi $v0, $v0, 8
|
||||
/* E2EFA8 802BC678 10400003 */ beqz $v0, .L802BC688
|
||||
/* E2EFAC 802BC67C 00000000 */ nop
|
||||
/* E2EFB0 802BC680 0C04419E */ jal entity_start_script
|
||||
/* E2EFB4 802BC684 00000000 */ nop
|
||||
.L802BC688:
|
||||
/* E2EFB8 802BC688 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E2EFBC 802BC68C 03E00008 */ jr $ra
|
||||
/* E2EFC0 802BC690 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* E2EFC4 802BC694 00000000 */ nop
|
||||
/* E2EFC8 802BC698 00000000 */ nop
|
||||
/* E2EFCC 802BC69C 00000000 */ nop
|
@ -1,32 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BB704_E30054
|
||||
/* E30054 802BB704 8C860040 */ lw $a2, 0x40($a0)
|
||||
/* E30058 802BB708 90C20002 */ lbu $v0, 2($a2)
|
||||
/* E3005C 802BB70C 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* E30060 802BB710 A0C20002 */ sb $v0, 2($a2)
|
||||
/* E30064 802BB714 00021600 */ sll $v0, $v0, 0x18
|
||||
/* E30068 802BB718 1C400012 */ bgtz $v0, .L802BB764
|
||||
/* E3006C 802BB71C 240200FF */ addiu $v0, $zero, 0xff
|
||||
/* E30070 802BB720 80C40001 */ lb $a0, 1($a2)
|
||||
/* E30074 802BB724 3C05802C */ lui $a1, %hi(D_802BCA30_E31380)
|
||||
/* E30078 802BB728 24A5CA30 */ addiu $a1, $a1, %lo(D_802BCA30_E31380)
|
||||
/* E3007C 802BB72C 3C03802C */ lui $v1, %hi(D_802BCA30_E31380)
|
||||
/* E30080 802BB730 00641821 */ addu $v1, $v1, $a0
|
||||
/* E30084 802BB734 9063CA30 */ lbu $v1, %lo(D_802BCA30_E31380)($v1)
|
||||
/* E30088 802BB738 50620001 */ beql $v1, $v0, .L802BB740
|
||||
/* E3008C 802BB73C 0000202D */ daddu $a0, $zero, $zero
|
||||
.L802BB740:
|
||||
/* E30090 802BB740 00851021 */ addu $v0, $a0, $a1
|
||||
/* E30094 802BB744 90420000 */ lbu $v0, ($v0)
|
||||
/* E30098 802BB748 24840001 */ addiu $a0, $a0, 1
|
||||
/* E3009C 802BB74C A0C20003 */ sb $v0, 3($a2)
|
||||
/* E300A0 802BB750 00851021 */ addu $v0, $a0, $a1
|
||||
/* E300A4 802BB754 90420000 */ lbu $v0, ($v0)
|
||||
/* E300A8 802BB758 24840001 */ addiu $a0, $a0, 1
|
||||
/* E300AC 802BB75C A0C40001 */ sb $a0, 1($a2)
|
||||
/* E300B0 802BB760 A0C20002 */ sb $v0, 2($a2)
|
||||
.L802BB764:
|
||||
/* E300B4 802BB764 03E00008 */ jr $ra
|
||||
/* E300B8 802BB768 00000000 */ nop
|
@ -1,113 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_802BCB70_E314C0
|
||||
.double 0.01
|
||||
|
||||
glabel D_802BCB78_E314C8
|
||||
.double -0.01
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_802BB8E4_E30234
|
||||
/* E30234 802BB8E4 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* E30238 802BB8E8 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* E3023C 802BB8EC 0080882D */ daddu $s1, $a0, $zero
|
||||
/* E30240 802BB8F0 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* E30244 802BB8F4 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E30248 802BB8F8 F7B40020 */ sdc1 $f20, 0x20($sp)
|
||||
/* E3024C 802BB8FC 8E300040 */ lw $s0, 0x40($s1)
|
||||
/* E30250 802BB900 C62C0048 */ lwc1 $f12, 0x48($s1)
|
||||
/* E30254 802BB904 860200A4 */ lh $v0, 0xa4($s0)
|
||||
/* E30258 802BB908 C62E0050 */ lwc1 $f14, 0x50($s1)
|
||||
/* E3025C 802BB90C 44823000 */ mtc1 $v0, $f6
|
||||
/* E30260 802BB910 00000000 */ nop
|
||||
/* E30264 802BB914 468031A0 */ cvt.s.w $f6, $f6
|
||||
/* E30268 802BB918 860200A8 */ lh $v0, 0xa8($s0)
|
||||
/* E3026C 802BB91C 44063000 */ mfc1 $a2, $f6
|
||||
/* E30270 802BB920 44823000 */ mtc1 $v0, $f6
|
||||
/* E30274 802BB924 00000000 */ nop
|
||||
/* E30278 802BB928 468031A0 */ cvt.s.w $f6, $f6
|
||||
/* E3027C 802BB92C 44073000 */ mfc1 $a3, $f6
|
||||
/* E30280 802BB930 0C00A720 */ jal atan2
|
||||
/* E30284 802BB934 00000000 */ nop
|
||||
/* E30288 802BB938 C60200B8 */ lwc1 $f2, 0xb8($s0)
|
||||
/* E3028C 802BB93C 46020001 */ sub.s $f0, $f0, $f2
|
||||
/* E30290 802BB940 3C013D00 */ lui $at, 0x3d00
|
||||
/* E30294 802BB944 44811000 */ mtc1 $at, $f2
|
||||
/* E30298 802BB948 00000000 */ nop
|
||||
/* E3029C 802BB94C 46020102 */ mul.s $f4, $f0, $f2
|
||||
/* E302A0 802BB950 00000000 */ nop
|
||||
/* E302A4 802BB954 44800000 */ mtc1 $zero, $f0
|
||||
/* E302A8 802BB958 00000000 */ nop
|
||||
/* E302AC 802BB95C 4604003E */ c.le.s $f0, $f4
|
||||
/* E302B0 802BB960 00000000 */ nop
|
||||
/* E302B4 802BB964 4500000D */ bc1f .L802BB99C
|
||||
/* E302B8 802BB968 00000000 */ nop
|
||||
/* E302BC 802BB96C 3C01802C */ lui $at, %hi(D_802BCB70_E314C0)
|
||||
/* E302C0 802BB970 D422CB70 */ ldc1 $f2, %lo(D_802BCB70_E314C0)($at)
|
||||
/* E302C4 802BB974 46002021 */ cvt.d.s $f0, $f4
|
||||
/* E302C8 802BB978 4622003C */ c.lt.d $f0, $f2
|
||||
/* E302CC 802BB97C 00000000 */ nop
|
||||
/* E302D0 802BB980 45000004 */ bc1f .L802BB994
|
||||
/* E302D4 802BB984 00000000 */ nop
|
||||
/* E302D8 802BB988 3C013C23 */ lui $at, 0x3c23
|
||||
/* E302DC 802BB98C 3421D70A */ ori $at, $at, 0xd70a
|
||||
/* E302E0 802BB990 44812000 */ mtc1 $at, $f4
|
||||
.L802BB994:
|
||||
/* E302E4 802BB994 44800000 */ mtc1 $zero, $f0
|
||||
/* E302E8 802BB998 00000000 */ nop
|
||||
.L802BB99C:
|
||||
/* E302EC 802BB99C 4600203C */ c.lt.s $f4, $f0
|
||||
/* E302F0 802BB9A0 00000000 */ nop
|
||||
/* E302F4 802BB9A4 4500000B */ bc1f .L802BB9D4
|
||||
/* E302F8 802BB9A8 00000000 */ nop
|
||||
/* E302FC 802BB9AC 3C01802C */ lui $at, %hi(D_802BCB78_E314C8)
|
||||
/* E30300 802BB9B0 D422CB78 */ ldc1 $f2, %lo(D_802BCB78_E314C8)($at)
|
||||
/* E30304 802BB9B4 46002021 */ cvt.d.s $f0, $f4
|
||||
/* E30308 802BB9B8 4620103C */ c.lt.d $f2, $f0
|
||||
/* E3030C 802BB9BC 00000000 */ nop
|
||||
/* E30310 802BB9C0 45000004 */ bc1f .L802BB9D4
|
||||
/* E30314 802BB9C4 00000000 */ nop
|
||||
/* E30318 802BB9C8 3C01BC23 */ lui $at, 0xbc23
|
||||
/* E3031C 802BB9CC 3421D70A */ ori $at, $at, 0xd70a
|
||||
/* E30320 802BB9D0 44812000 */ mtc1 $at, $f4
|
||||
.L802BB9D4:
|
||||
/* E30324 802BB9D4 C60C00B8 */ lwc1 $f12, 0xb8($s0)
|
||||
/* E30328 802BB9D8 0C00A6C9 */ jal clamp_angle
|
||||
/* E3032C 802BB9DC 46046300 */ add.s $f12, $f12, $f4
|
||||
/* E30330 802BB9E0 3C0140C9 */ lui $at, 0x40c9
|
||||
/* E30334 802BB9E4 34210FD0 */ ori $at, $at, 0xfd0
|
||||
/* E30338 802BB9E8 4481A000 */ mtc1 $at, $f20
|
||||
/* E3033C 802BB9EC 00000000 */ nop
|
||||
/* E30340 802BB9F0 46140502 */ mul.s $f20, $f0, $f20
|
||||
/* E30344 802BB9F4 00000000 */ nop
|
||||
/* E30348 802BB9F8 3C0143B4 */ lui $at, 0x43b4
|
||||
/* E3034C 802BB9FC 44811000 */ mtc1 $at, $f2
|
||||
/* E30350 802BBA00 E60000B8 */ swc1 $f0, 0xb8($s0)
|
||||
/* E30354 802BBA04 4602A503 */ div.s $f20, $f20, $f2
|
||||
/* E30358 802BBA08 0C00A85B */ jal sin_rad
|
||||
/* E3035C 802BBA0C 4600A306 */ mov.s $f12, $f20
|
||||
/* E30360 802BBA10 C6220048 */ lwc1 $f2, 0x48($s1)
|
||||
/* E30364 802BBA14 46001080 */ add.s $f2, $f2, $f0
|
||||
/* E30368 802BBA18 4600A306 */ mov.s $f12, $f20
|
||||
/* E3036C 802BBA1C 0C00A874 */ jal cos_rad
|
||||
/* E30370 802BBA20 E6220048 */ swc1 $f2, 0x48($s1)
|
||||
/* E30374 802BBA24 C6220050 */ lwc1 $f2, 0x50($s1)
|
||||
/* E30378 802BBA28 46001081 */ sub.s $f2, $f2, $f0
|
||||
/* E3037C 802BBA2C 0220202D */ daddu $a0, $s1, $zero
|
||||
/* E30380 802BBA30 0C0AEDDB */ jal func_802BB76C_E300BC
|
||||
/* E30384 802BBA34 E6220050 */ swc1 $f2, 0x50($s1)
|
||||
/* E30388 802BBA38 10400003 */ beqz $v0, .L802BBA48
|
||||
/* E3038C 802BBA3C 00000000 */ nop
|
||||
/* E30390 802BBA40 0C0AEDF8 */ jal func_802BB7E0_E30130
|
||||
/* E30394 802BBA44 0220202D */ daddu $a0, $s1, $zero
|
||||
.L802BBA48:
|
||||
/* E30398 802BBA48 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* E3039C 802BBA4C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* E303A0 802BBA50 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E303A4 802BBA54 D7B40020 */ ldc1 $f20, 0x20($sp)
|
||||
/* E303A8 802BBA58 03E00008 */ jr $ra
|
||||
/* E303AC 802BBA5C 27BD0028 */ addiu $sp, $sp, 0x28
|
@ -1,35 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
.section .rodata
|
||||
|
||||
glabel D_802BCB90_E314E0
|
||||
.double 0.1, 0.0
|
||||
|
||||
.section .text
|
||||
|
||||
glabel func_802BBDB8_E30708
|
||||
/* E30708 802BBDB8 C4800054 */ lwc1 $f0, 0x54($a0)
|
||||
/* E3070C 802BBDBC 3C01802C */ lui $at, %hi(D_802BCB90_E314E0)
|
||||
/* E30710 802BBDC0 D422CB90 */ ldc1 $f2, %lo(D_802BCB90_E314E0)($at)
|
||||
/* E30714 802BBDC4 46000021 */ cvt.d.s $f0, $f0
|
||||
/* E30718 802BBDC8 46220000 */ add.d $f0, $f0, $f2
|
||||
/* E3071C 802BBDCC 3C013FF0 */ lui $at, 0x3ff0
|
||||
/* E30720 802BBDD0 44811800 */ mtc1 $at, $f3
|
||||
/* E30724 802BBDD4 44801000 */ mtc1 $zero, $f2
|
||||
/* E30728 802BBDD8 46200020 */ cvt.s.d $f0, $f0
|
||||
/* E3072C 802BBDDC E4800054 */ swc1 $f0, 0x54($a0)
|
||||
/* E30730 802BBDE0 46000021 */ cvt.d.s $f0, $f0
|
||||
/* E30734 802BBDE4 4620103E */ c.le.d $f2, $f0
|
||||
/* E30738 802BBDE8 00000000 */ nop
|
||||
/* E3073C 802BBDEC 45000005 */ bc1f .L802BBE04
|
||||
/* E30740 802BBDF0 00000000 */ nop
|
||||
/* E30744 802BBDF4 3C013F80 */ lui $at, 0x3f80
|
||||
/* E30748 802BBDF8 44810000 */ mtc1 $at, $f0
|
||||
/* E3074C 802BBDFC 00000000 */ nop
|
||||
/* E30750 802BBE00 E4800054 */ swc1 $f0, 0x54($a0)
|
||||
.L802BBE04:
|
||||
/* E30754 802BBE04 C4800054 */ lwc1 $f0, 0x54($a0)
|
||||
/* E30758 802BBE08 E4800058 */ swc1 $f0, 0x58($a0)
|
||||
/* E3075C 802BBE0C 03E00008 */ jr $ra
|
||||
/* E30760 802BBE10 E480005C */ swc1 $f0, 0x5c($a0)
|
@ -1,27 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BBE14_E30764
|
||||
/* E30764 802BBE14 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* E30768 802BBE18 AFB00010 */ sw $s0, 0x10($sp)
|
||||
/* E3076C 802BBE1C 0080802D */ daddu $s0, $a0, $zero
|
||||
/* E30770 802BBE20 AFBF0018 */ sw $ra, 0x18($sp)
|
||||
/* E30774 802BBE24 AFB10014 */ sw $s1, 0x14($sp)
|
||||
/* E30778 802BBE28 8E110040 */ lw $s1, 0x40($s0)
|
||||
/* E3077C 802BBE2C 3C028016 */ lui $v0, %hi(D_8015C7D0)
|
||||
/* E30780 802BBE30 8C42C7D0 */ lw $v0, %lo(D_8015C7D0)($v0)
|
||||
/* E30784 802BBE34 0C0AEDF8 */ jal func_802BB7E0_E30130
|
||||
/* E30788 802BBE38 AE2200A0 */ sw $v0, 0xa0($s1)
|
||||
/* E3078C 802BBE3C 3C02802C */ lui $v0, %hi(func_802BB3B8_E2FD08)
|
||||
/* E30790 802BBE40 2442B3B8 */ addiu $v0, $v0, %lo(func_802BB3B8_E2FD08)
|
||||
/* E30794 802BBE44 A2200003 */ sb $zero, 3($s1)
|
||||
/* E30798 802BBE48 AE02003C */ sw $v0, 0x3c($s0)
|
||||
/* E3079C 802BBE4C AE000054 */ sw $zero, 0x54($s0)
|
||||
/* E307A0 802BBE50 AE000058 */ sw $zero, 0x58($s0)
|
||||
/* E307A4 802BBE54 AE00005C */ sw $zero, 0x5c($s0)
|
||||
/* E307A8 802BBE58 8FBF0018 */ lw $ra, 0x18($sp)
|
||||
/* E307AC 802BBE5C 8FB10014 */ lw $s1, 0x14($sp)
|
||||
/* E307B0 802BBE60 8FB00010 */ lw $s0, 0x10($sp)
|
||||
/* E307B4 802BBE64 03E00008 */ jr $ra
|
||||
/* E307B8 802BBE68 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* E307BC 802BBE6C 00000000 */ nop
|
@ -1,137 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC2BC_E30C0C
|
||||
/* E30C0C 802BC2BC 3C058016 */ lui $a1, %hi(gCollisionStatus+0x2)
|
||||
/* E30C10 802BC2C0 94A5A552 */ lhu $a1, %lo(gCollisionStatus+0x2)($a1)
|
||||
/* E30C14 802BC2C4 27BDFFA8 */ addiu $sp, $sp, -0x58
|
||||
/* E30C18 802BC2C8 AFB20038 */ sw $s2, 0x38($sp)
|
||||
/* E30C1C 802BC2CC 0080902D */ daddu $s2, $a0, $zero
|
||||
/* E30C20 802BC2D0 AFB3003C */ sw $s3, 0x3c($sp)
|
||||
/* E30C24 802BC2D4 AFB50044 */ sw $s5, 0x44($sp)
|
||||
/* E30C28 802BC2D8 3C158011 */ lui $s5, %hi(gPlayerStatus)
|
||||
/* E30C2C 802BC2DC 26B5EFC8 */ addiu $s5, $s5, %lo(gPlayerStatus)
|
||||
/* E30C30 802BC2E0 AFBF0048 */ sw $ra, 0x48($sp)
|
||||
/* E30C34 802BC2E4 AFB40040 */ sw $s4, 0x40($sp)
|
||||
/* E30C38 802BC2E8 AFB10034 */ sw $s1, 0x34($sp)
|
||||
/* E30C3C 802BC2EC AFB00030 */ sw $s0, 0x30($sp)
|
||||
/* E30C40 802BC2F0 F7B40050 */ sdc1 $f20, 0x50($sp)
|
||||
/* E30C44 802BC2F4 8E540040 */ lw $s4, 0x40($s2)
|
||||
/* E30C48 802BC2F8 82A400B4 */ lb $a0, 0xb4($s5)
|
||||
/* E30C4C 802BC2FC 30A24000 */ andi $v0, $a1, 0x4000
|
||||
/* E30C50 802BC300 1040002E */ beqz $v0, .L802BC3BC
|
||||
/* E30C54 802BC304 0000982D */ daddu $s3, $zero, $zero
|
||||
/* E30C58 802BC308 92430004 */ lbu $v1, 4($s2)
|
||||
/* E30C5C 802BC30C 30A200FF */ andi $v0, $a1, 0xff
|
||||
/* E30C60 802BC310 1443002A */ bne $v0, $v1, .L802BC3BC
|
||||
/* E30C64 802BC314 24020012 */ addiu $v0, $zero, 0x12
|
||||
/* E30C68 802BC318 14820028 */ bne $a0, $v0, .L802BC3BC
|
||||
/* E30C6C 802BC31C 00000000 */ nop
|
||||
/* E30C70 802BC320 C6A00028 */ lwc1 $f0, 0x28($s5)
|
||||
/* E30C74 802BC324 3C0140A0 */ lui $at, 0x40a0
|
||||
/* E30C78 802BC328 44811000 */ mtc1 $at, $f2
|
||||
/* E30C7C 802BC32C 3C014120 */ lui $at, 0x4120
|
||||
/* E30C80 802BC330 4481A000 */ mtc1 $at, $f20
|
||||
/* E30C84 802BC334 E7A00020 */ swc1 $f0, 0x20($sp)
|
||||
/* E30C88 802BC338 C6A0002C */ lwc1 $f0, 0x2c($s5)
|
||||
/* E30C8C 802BC33C C6A40030 */ lwc1 $f4, 0x30($s5)
|
||||
/* E30C90 802BC340 46020000 */ add.s $f0, $f0, $f2
|
||||
/* E30C94 802BC344 E7B4002C */ swc1 $f20, 0x2c($sp)
|
||||
/* E30C98 802BC348 E7A40024 */ swc1 $f4, 0x24($sp)
|
||||
/* E30C9C 802BC34C 0C0394D2 */ jal func_800E5348
|
||||
/* E30CA0 802BC350 E7A00028 */ swc1 $f0, 0x28($sp)
|
||||
/* E30CA4 802BC354 27B10020 */ addiu $s1, $sp, 0x20
|
||||
/* E30CA8 802BC358 0220202D */ daddu $a0, $s1, $zero
|
||||
/* E30CAC 802BC35C 27B00024 */ addiu $s0, $sp, 0x24
|
||||
/* E30CB0 802BC360 4406A000 */ mfc1 $a2, $f20
|
||||
/* E30CB4 802BC364 44070000 */ mfc1 $a3, $f0
|
||||
/* E30CB8 802BC368 0C00A7E7 */ jal add_vec2D_polar
|
||||
/* E30CBC 802BC36C 0200282D */ daddu $a1, $s0, $zero
|
||||
/* E30CC0 802BC370 3C040001 */ lui $a0, 1
|
||||
/* E30CC4 802BC374 0220282D */ daddu $a1, $s1, $zero
|
||||
/* E30CC8 802BC378 27A60028 */ addiu $a2, $sp, 0x28
|
||||
/* E30CCC 802BC37C 0200382D */ daddu $a3, $s0, $zero
|
||||
/* E30CD0 802BC380 27A2002C */ addiu $v0, $sp, 0x2c
|
||||
/* E30CD4 802BC384 0C0372DF */ jal npc_raycast_down_sides
|
||||
/* E30CD8 802BC388 AFA20010 */ sw $v0, 0x10($sp)
|
||||
/* E30CDC 802BC38C 10400019 */ beqz $v0, .L802BC3F4
|
||||
/* E30CE0 802BC390 00000000 */ nop
|
||||
/* E30CE4 802BC394 3C048011 */ lui $a0, %hi(D_8010C978)
|
||||
/* E30CE8 802BC398 8C84C978 */ lw $a0, %lo(D_8010C978)($a0)
|
||||
/* E30CEC 802BC39C 30824000 */ andi $v0, $a0, 0x4000
|
||||
/* E30CF0 802BC3A0 10400014 */ beqz $v0, .L802BC3F4
|
||||
/* E30CF4 802BC3A4 00000000 */ nop
|
||||
/* E30CF8 802BC3A8 0C0441A9 */ jal get_entity_type
|
||||
/* E30CFC 802BC3AC 00000000 */ nop
|
||||
/* E30D00 802BC3B0 38420031 */ xori $v0, $v0, 0x31
|
||||
/* E30D04 802BC3B4 080AF0FD */ j .L802BC3F4
|
||||
/* E30D08 802BC3B8 2C530001 */ sltiu $s3, $v0, 1
|
||||
.L802BC3BC:
|
||||
/* E30D0C 802BC3BC 92420006 */ lbu $v0, 6($s2)
|
||||
/* E30D10 802BC3C0 30420001 */ andi $v0, $v0, 1
|
||||
/* E30D14 802BC3C4 10400007 */ beqz $v0, .L802BC3E4
|
||||
/* E30D18 802BC3C8 2402000E */ addiu $v0, $zero, 0xe
|
||||
/* E30D1C 802BC3CC 10820003 */ beq $a0, $v0, .L802BC3DC
|
||||
/* E30D20 802BC3D0 24020010 */ addiu $v0, $zero, 0x10
|
||||
/* E30D24 802BC3D4 14820003 */ bne $a0, $v0, .L802BC3E4
|
||||
/* E30D28 802BC3D8 00000000 */ nop
|
||||
.L802BC3DC:
|
||||
/* E30D2C 802BC3DC 080AF0FD */ j .L802BC3F4
|
||||
/* E30D30 802BC3E0 24130001 */ addiu $s3, $zero, 1
|
||||
.L802BC3E4:
|
||||
/* E30D34 802BC3E4 92420006 */ lbu $v0, 6($s2)
|
||||
/* E30D38 802BC3E8 30420040 */ andi $v0, $v0, 0x40
|
||||
/* E30D3C 802BC3EC 54400001 */ bnel $v0, $zero, .L802BC3F4
|
||||
/* E30D40 802BC3F0 2413FFFF */ addiu $s3, $zero, -1
|
||||
.L802BC3F4:
|
||||
/* E30D44 802BC3F4 12600026 */ beqz $s3, .L802BC490
|
||||
/* E30D48 802BC3F8 00000000 */ nop
|
||||
/* E30D4C 802BC3FC 92820002 */ lbu $v0, 2($s4)
|
||||
/* E30D50 802BC400 3C01BF80 */ lui $at, 0xbf80
|
||||
/* E30D54 802BC404 44810000 */ mtc1 $at, $f0
|
||||
/* E30D58 802BC408 304200FE */ andi $v0, $v0, 0xfe
|
||||
/* E30D5C 802BC40C A2820002 */ sb $v0, 2($s4)
|
||||
/* E30D60 802BC410 C642004C */ lwc1 $f2, 0x4c($s2)
|
||||
/* E30D64 802BC414 E7A00014 */ swc1 $f0, 0x14($sp)
|
||||
/* E30D68 802BC418 3C01420C */ lui $at, 0x420c
|
||||
/* E30D6C 802BC41C 44810000 */ mtc1 $at, $f0
|
||||
/* E30D70 802BC420 24020003 */ addiu $v0, $zero, 3
|
||||
/* E30D74 802BC424 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* E30D78 802BC428 AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* E30D7C 802BC42C AFA2001C */ sw $v0, 0x1c($sp)
|
||||
/* E30D80 802BC430 46001080 */ add.s $f2, $f2, $f0
|
||||
/* E30D84 802BC434 8E450048 */ lw $a1, 0x48($s2)
|
||||
/* E30D88 802BC438 8E470050 */ lw $a3, 0x50($s2)
|
||||
/* E30D8C 802BC43C 44061000 */ mfc1 $a2, $f2
|
||||
/* E30D90 802BC440 0C01C064 */ jal playFX_18
|
||||
/* E30D94 802BC444 0040202D */ daddu $a0, $v0, $zero
|
||||
/* E30D98 802BC448 1A600004 */ blez $s3, .L802BC45C
|
||||
/* E30D9C 802BC44C 00000000 */ nop
|
||||
/* E30DA0 802BC450 92820002 */ lbu $v0, 2($s4)
|
||||
/* E30DA4 802BC454 34420001 */ ori $v0, $v0, 1
|
||||
/* E30DA8 802BC458 A2820002 */ sb $v0, 2($s4)
|
||||
.L802BC45C:
|
||||
/* E30DAC 802BC45C C640004C */ lwc1 $f0, 0x4c($s2)
|
||||
/* E30DB0 802BC460 3C014000 */ lui $at, 0x4000
|
||||
/* E30DB4 802BC464 44811000 */ mtc1 $at, $f2
|
||||
/* E30DB8 802BC468 00000000 */ nop
|
||||
/* E30DBC 802BC46C 46020001 */ sub.s $f0, $f0, $f2
|
||||
/* E30DC0 802BC470 0240202D */ daddu $a0, $s2, $zero
|
||||
/* E30DC4 802BC474 0C043F5A */ jal exec_entity_commandlist
|
||||
/* E30DC8 802BC478 E480004C */ swc1 $f0, 0x4c($a0)
|
||||
/* E30DCC 802BC47C 24020004 */ addiu $v0, $zero, 4
|
||||
/* E30DD0 802BC480 0C038045 */ jal disable_player_static_collisions
|
||||
/* E30DD4 802BC484 A2820001 */ sb $v0, 1($s4)
|
||||
/* E30DD8 802BC488 24020005 */ addiu $v0, $zero, 5
|
||||
/* E30DDC 802BC48C A2A200C5 */ sb $v0, 0xc5($s5)
|
||||
.L802BC490:
|
||||
/* E30DE0 802BC490 8FBF0048 */ lw $ra, 0x48($sp)
|
||||
/* E30DE4 802BC494 8FB50044 */ lw $s5, 0x44($sp)
|
||||
/* E30DE8 802BC498 8FB40040 */ lw $s4, 0x40($sp)
|
||||
/* E30DEC 802BC49C 8FB3003C */ lw $s3, 0x3c($sp)
|
||||
/* E30DF0 802BC4A0 8FB20038 */ lw $s2, 0x38($sp)
|
||||
/* E30DF4 802BC4A4 8FB10034 */ lw $s1, 0x34($sp)
|
||||
/* E30DF8 802BC4A8 8FB00030 */ lw $s0, 0x30($sp)
|
||||
/* E30DFC 802BC4AC D7B40050 */ ldc1 $f20, 0x50($sp)
|
||||
/* E30E00 802BC4B0 03E00008 */ jr $ra
|
||||
/* E30E04 802BC4B4 27BD0058 */ addiu $sp, $sp, 0x58
|
@ -1,28 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC4B8_E30E08
|
||||
/* E30E08 802BC4B8 8C840040 */ lw $a0, 0x40($a0)
|
||||
/* E30E0C 802BC4BC 90820004 */ lbu $v0, 4($a0)
|
||||
/* E30E10 802BC4C0 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* E30E14 802BC4C4 A0820004 */ sb $v0, 4($a0)
|
||||
/* E30E18 802BC4C8 00021600 */ sll $v0, $v0, 0x18
|
||||
/* E30E1C 802BC4CC 1C40000F */ bgtz $v0, .L802BC50C
|
||||
/* E30E20 802BC4D0 240200FF */ addiu $v0, $zero, 0xff
|
||||
/* E30E24 802BC4D4 80830003 */ lb $v1, 3($a0)
|
||||
/* E30E28 802BC4D8 3C06802C */ lui $a2, %hi(D_802BCAA0_E313F0)
|
||||
/* E30E2C 802BC4DC 24C6CAA0 */ addiu $a2, $a2, %lo(D_802BCAA0_E313F0)
|
||||
/* E30E30 802BC4E0 3C05802C */ lui $a1, %hi(D_802BCAA0_E313F0)
|
||||
/* E30E34 802BC4E4 00A32821 */ addu $a1, $a1, $v1
|
||||
/* E30E38 802BC4E8 90A5CAA0 */ lbu $a1, %lo(D_802BCAA0_E313F0)($a1)
|
||||
/* E30E3C 802BC4EC 10A20007 */ beq $a1, $v0, .L802BC50C
|
||||
/* E30E40 802BC4F0 24630001 */ addiu $v1, $v1, 1
|
||||
/* E30E44 802BC4F4 00661021 */ addu $v0, $v1, $a2
|
||||
/* E30E48 802BC4F8 A0850005 */ sb $a1, 5($a0)
|
||||
/* E30E4C 802BC4FC 90420000 */ lbu $v0, ($v0)
|
||||
/* E30E50 802BC500 24630001 */ addiu $v1, $v1, 1
|
||||
/* E30E54 802BC504 A0830003 */ sb $v1, 3($a0)
|
||||
/* E30E58 802BC508 A0820004 */ sb $v0, 4($a0)
|
||||
.L802BC50C:
|
||||
/* E30E5C 802BC50C 03E00008 */ jr $ra
|
||||
/* E30E60 802BC510 00000000 */ nop
|
@ -1,22 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC514_E30E64
|
||||
/* E30E64 802BC514 8C830040 */ lw $v1, 0x40($a0)
|
||||
/* E30E68 802BC518 90620001 */ lbu $v0, 1($v1)
|
||||
/* E30E6C 802BC51C C4620008 */ lwc1 $f2, 8($v1)
|
||||
/* E30E70 802BC520 30420001 */ andi $v0, $v0, 1
|
||||
/* E30E74 802BC524 3C01BF80 */ lui $at, 0xbf80
|
||||
/* E30E78 802BC528 44810000 */ mtc1 $at, $f0
|
||||
/* E30E7C 802BC52C 10400004 */ beqz $v0, .L802BC540
|
||||
/* E30E80 802BC530 24840048 */ addiu $a0, $a0, 0x48
|
||||
/* E30E84 802BC534 3C013F80 */ lui $at, 0x3f80
|
||||
/* E30E88 802BC538 44810000 */ mtc1 $at, $f0
|
||||
/* E30E8C 802BC53C 00000000 */ nop
|
||||
.L802BC540:
|
||||
/* E30E90 802BC540 46001000 */ add.s $f0, $f2, $f0
|
||||
/* E30E94 802BC544 E4800000 */ swc1 $f0, ($a0)
|
||||
/* E30E98 802BC548 90620001 */ lbu $v0, 1($v1)
|
||||
/* E30E9C 802BC54C 2442FFFF */ addiu $v0, $v0, -1
|
||||
/* E30EA0 802BC550 03E00008 */ jr $ra
|
||||
/* E30EA4 802BC554 A0620001 */ sb $v0, 1($v1)
|
@ -1,10 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC558_E30EA8
|
||||
/* E30EA8 802BC558 8C820040 */ lw $v0, 0x40($a0)
|
||||
/* E30EAC 802BC55C C4400008 */ lwc1 $f0, 8($v0)
|
||||
/* E30EB0 802BC560 E4800048 */ swc1 $f0, 0x48($a0)
|
||||
/* E30EB4 802BC564 C440000C */ lwc1 $f0, 0xc($v0)
|
||||
/* E30EB8 802BC568 03E00008 */ jr $ra
|
||||
/* E30EBC 802BC56C E4800050 */ swc1 $f0, 0x50($a0)
|
@ -1,17 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC99C_E312EC
|
||||
/* E312EC 802BC99C 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E312F0 802BC9A0 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E312F4 802BC9A4 8C820000 */ lw $v0, ($a0)
|
||||
/* E312F8 802BC9A8 3C030200 */ lui $v1, 0x200
|
||||
/* E312FC 802BC9AC 00431024 */ and $v0, $v0, $v1
|
||||
/* E31300 802BC9B0 14400003 */ bnez $v0, .L802BC9C0
|
||||
/* E31304 802BC9B4 00000000 */ nop
|
||||
/* E31308 802BC9B8 0C043F5A */ jal exec_entity_commandlist
|
||||
/* E3130C 802BC9BC 00000000 */ nop
|
||||
.L802BC9C0:
|
||||
/* E31310 802BC9C0 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E31314 802BC9C4 03E00008 */ jr $ra
|
||||
/* E31318 802BC9C8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,17 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC9CC_E3131C
|
||||
/* E3131C 802BC9CC 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* E31320 802BC9D0 AFBF0010 */ sw $ra, 0x10($sp)
|
||||
/* E31324 802BC9D4 8C820040 */ lw $v0, 0x40($a0)
|
||||
/* E31328 802BC9D8 90420002 */ lbu $v0, 2($v0)
|
||||
/* E3132C 802BC9DC 30420001 */ andi $v0, $v0, 1
|
||||
/* E31330 802BC9E0 10400003 */ beqz $v0, .L802BC9F0
|
||||
/* E31334 802BC9E4 00000000 */ nop
|
||||
/* E31338 802BC9E8 0C04419E */ jal entity_start_script
|
||||
/* E3133C 802BC9EC 00000000 */ nop
|
||||
.L802BC9F0:
|
||||
/* E31340 802BC9F0 8FBF0010 */ lw $ra, 0x10($sp)
|
||||
/* E31344 802BC9F4 03E00008 */ jr $ra
|
||||
/* E31348 802BC9F8 27BD0018 */ addiu $sp, $sp, 0x18
|
@ -1,17 +0,0 @@
|
||||
.set noat # allow manual use of $at
|
||||
.set noreorder # don't insert nops after branches
|
||||
|
||||
glabel func_802BC9FC_E3134C
|
||||
/* E3134C 802BC9FC 8C830040 */ lw $v1, 0x40($a0)
|
||||
/* E31350 802BCA00 C4800048 */ lwc1 $f0, 0x48($a0)
|
||||
/* E31354 802BCA04 3C02802C */ lui $v0, %hi(func_802BBE70_E307C0)
|
||||
/* E31358 802BCA08 2442BE70 */ addiu $v0, $v0, %lo(func_802BBE70_E307C0)
|
||||
/* E3135C 802BCA0C AC82003C */ sw $v0, 0x3c($a0)
|
||||
/* E31360 802BCA10 E4600008 */ swc1 $f0, 8($v1)
|
||||
/* E31364 802BCA14 C480004C */ lwc1 $f0, 0x4c($a0)
|
||||
/* E31368 802BCA18 E4600010 */ swc1 $f0, 0x10($v1)
|
||||
/* E3136C 802BCA1C C4800050 */ lwc1 $f0, 0x50($a0)
|
||||
/* E31370 802BCA20 03E00008 */ jr $ra
|
||||
/* E31374 802BCA24 E460000C */ swc1 $f0, 0xc($v1)
|
||||
/* E31378 802BCA28 00000000 */ nop
|
||||
/* E3137C 802BCA2C 00000000 */ nop
|
Loading…
Reference in New Issue
Block a user