From 0bdf15542edadc4ac88409a1be23e457cac853d0 Mon Sep 17 00:00:00 2001 From: JaThePlayer <50085307+JaThePlayer@users.noreply.github.com> Date: Wed, 25 Aug 2021 23:29:43 +0200 Subject: [PATCH] Chest & Heart Block entities (#393) --- include/common_structs.h | 14 +- include/functions.h | 15 + src/196AA0.c | 2 +- src/battle/action_cmd/squirt.c | 94 ++++- src/entity/Chest.c | 234 +++++++++++- src/entity/HeartBlock.c | 181 ++++++++- src/entity/SaveBlock.c | 5 +- src/world/partner/bow.c | 20 +- src/world/partners.h | 3 + .../action_cmd/squirt/func_802A9000_429D20.s | 77 ---- .../action_cmd/squirt/func_802A911C_429E3C.s | 65 ---- .../action_cmd/squirt/func_802A9720_42A440.s | 20 - .../entity/Chest/entity_Chest_begin_opening.s | 18 - .../entity/Chest/entity_Chest_check_opened.s | 36 -- .../entity/Chest/entity_Chest_clear_item_id.s | 8 - .../Chest/entity_Chest_enable_player_input.s | 16 - .../entity/Chest/entity_Chest_idle.s | 90 ----- .../entity/Chest/entity_Chest_init.s | 27 -- .../entity/Chest/entity_Chest_readargs.s | 11 - .../Chest/entity_Chest_start_bound_script.s | 11 - .../Chest/entity_GiantChest_await_got_item.s | 34 -- .../entity/Chest/entity_GiantChest_init.s | 16 - .../entity_HeartBlockContent__anim_heal.s | 350 ------------------ .../entity_HeartBlockContent_anim_idle.s | 135 ------- ...ntity_HeartBlockContent_get_previous_yaw.s | 13 - .../world/partner/bow/func_802BD100_323A50.s | 16 - .../world/partner/bow/func_802BD130_323A80.s | 19 - 27 files changed, 535 insertions(+), 995 deletions(-) delete mode 100644 ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9000_429D20.s delete mode 100644 ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A911C_429E3C.s delete mode 100644 ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9720_42A440.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_begin_opening.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_check_opened.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_clear_item_id.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_enable_player_input.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_idle.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_init.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_readargs.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_Chest_start_bound_script.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_await_got_item.s delete mode 100644 ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_init.s delete mode 100644 ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent__anim_heal.s delete mode 100644 ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_anim_idle.s delete mode 100644 ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_get_previous_yaw.s delete mode 100644 ver/us/asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s delete mode 100644 ver/us/asm/nonmatchings/world/partner/bow/func_802BD130_323A80.s diff --git a/include/common_structs.h b/include/common_structs.h index ca546e4851..0e5319e297 100644 --- a/include/common_structs.h +++ b/include/common_structs.h @@ -2121,13 +2121,23 @@ typedef struct struct802E4B10 { /* 0x00 */ u8 unk_00; /* 0x01 */ u8 unk_01; /* 0x02 */ s8 unk_02; - /* 0x03 */ char unk_03[6]; + /* 0x03 */ s8 unk_03; + /* 0x04 */ f32 unk_04; + /* 0x08 */ char unk_08; /* 0x09 */ u8 unk_09; /* 0x0A */ u8 unk_0A; /* 0x0B */ char unk_0B; // padding? /* 0x0C */ s32 unk_0C; /* 0x10 */ s32 unk_10; - /* 0x14 */ char unk_14[0xBC]; + /* 0x14 */ f32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ u16 unk_24; + /* 0x24 */ s16 unk_26; + /* 0x28 */ f32 unk_28[0xB]; + /* 0x54 */ f32 unk_54; + /* 0x58 */ char unk_58[0x78]; /* 0xD0 */ u16 unk_D0; /* 0xD4 */ f32 unk_D4[0]; } struct802E4B10; diff --git a/include/functions.h b/include/functions.h index b4a7a7cb0d..ed4118113a 100644 --- a/include/functions.h +++ b/include/functions.h @@ -448,4 +448,19 @@ s32 mdl_get_next_texture_address(void); void draw_string(s32 stringID, s32 posX, s32 posY, s32 opacity, s32 palette, s32 style); void get_background_color_blend(u8* r, u8* g, u8* b, u8* a); +s32 entity_base_block_idle(Entity* entity); +s32 recover_hp(s32 amt); +s32 recover_fp(s32 amt); +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 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); + #endif diff --git a/src/196AA0.c b/src/196AA0.c index 5a1cb21fbb..d45f2ab321 100644 --- a/src/196AA0.c +++ b/src/196AA0.c @@ -287,7 +287,7 @@ s32 check_block_input(s32 buttonMask) { return block; } -INCLUDE_ASM(s32, "196AA0", func_80269118); +INCLUDE_ASM(void, "196AA0", func_80269118); INCLUDE_ASM(s32, "196AA0", func_80269160); diff --git a/src/battle/action_cmd/squirt.c b/src/battle/action_cmd/squirt.c index b5e0fd568d..40498aa086 100644 --- a/src/battle/action_cmd/squirt.c +++ b/src/battle/action_cmd/squirt.c @@ -2,12 +2,98 @@ #define NAMESPACE action_command_squirt -INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9000_429D20); +extern s32 D_80108AFC[]; +extern s32 D_80108B28[]; +extern s32 D_80294380; -INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A911C_429E3C); +ApiStatus func_802A9000_429D20(void) { + ActionCommandStatus* actionCommandStatus = &gActionCommandStatus; + BattleStatus* battleStatus = &gBattleStatus; + HudElement* hudElement; + + battleStatus->unk_82 = 5; + battleStatus->unk_434 = &D_80294380; + if (battleStatus->unk_83 == 0) { + battleStatus->actionSuccess = 0; + return ApiStatus_DONE2; + } + + func_80268858(); + actionCommandStatus->actionCommandID = ACTION_COMMAND_SQUIRT; + actionCommandStatus->state = 0; + actionCommandStatus->unk_60 = 0; + actionCommandStatus->unk_44 = 0; + actionCommandStatus->unk_48 = 0; + battleStatus->unk_84 = 0; + actionCommandStatus->hudElementX = -48; + actionCommandStatus->unk_5C = 0; + actionCommandStatus->hudElementY = 80; + + hudElement = create_hud_element(D_80108B28); + actionCommandStatus->hudElements[0] = hudElement; + set_hud_element_flags(hudElement, 0x82); + set_hud_element_render_pos(hudElement, actionCommandStatus->hudElementX, actionCommandStatus->hudElementY); + set_hud_element_render_depth(hudElement, 0); + + hudElement = create_hud_element(D_80108AFC); + actionCommandStatus->hudElements[1] = hudElement; + set_hud_element_render_pos(hudElement, actionCommandStatus->hudElementX, actionCommandStatus->hudElementY + 28); + set_hud_element_render_depth(hudElement, 0); + set_hud_element_flags(hudElement, 0x82); + + return ApiStatus_DONE2; +} + +ApiStatus func_802A911C_429E3C(Evt* script) { + ActionCommandStatus* actionCommandStatus = &gActionCommandStatus; + BattleStatus* battleStatus = &gBattleStatus; + Bytecode* args = script->ptrReadPos; + + if (battleStatus->unk_83 == 0) { + battleStatus->actionSuccess = 0; + return ApiStatus_DONE2; + } + + func_80268858(); + actionCommandStatus->unk_4E = get_variable(script, *args++); + actionCommandStatus->unk_52 = get_variable(script, *args++); + actionCommandStatus->unk_50 = get_variable(script, *args++); + actionCommandStatus->unk_50 = func_80268224(actionCommandStatus->unk_50); + actionCommandStatus->unk_60 = 0; + actionCommandStatus->unk_44 = 0; + actionCommandStatus->unk_48 = 0; + battleStatus->actionSuccess = 0; + battleStatus->unk_86 = 0; + actionCommandStatus->state = 10; + battleStatus->flags1 &= ~0x8000; + func_80269118(); + return ApiStatus_DONE2; +} INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9208_429F28); -INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9634_42A354); +#ifdef NON_MATCHING +void func_802A9634_42A354(void) { + s32 x, y; + HudElement* hudElement; -INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9720_42A440); + draw_hud_element_clipped(gActionCommandStatus.hudElements[0]); + hudElement = gActionCommandStatus.hudElements[1]; + draw_hud_element_clipped(hudElement); + get_hud_element_render_pos(hudElement, &x, &y); + if (gActionCommandStatus.unk_5C == 0) { + func_80268798(x, y, gActionCommandStatus.unk_44 / 100, 1); + return; + } + func_802687E4(x, y, gActionCommandStatus.unk_44 / 100, 1, 1); + +} +#else +INCLUDE_ASM(s32, "battle/action_cmd/squirt", func_802A9634_42A354); +#endif + +void func_802A9720_42A440(void) { + sfx_stop_sound(0x80000041); + free_hud_element(gActionCommandStatus.hudElements[0]); + free_hud_element(gActionCommandStatus.hudElements[1]); +} diff --git a/src/entity/Chest.c b/src/entity/Chest.c index 9f20fa2418..75a183fc41 100644 --- a/src/entity/Chest.c +++ b/src/entity/Chest.c @@ -1,37 +1,247 @@ #include "common.h" -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_adjust_camera); +// size unknown +typedef struct Chest { + /* 0x00 */ u16 unk_00; + /* 0x02 */ s16 unk_02; + /* 0x04 */ u8 unk_04; + /* 0x04 */ s8 unk_05; + /* 0x06 */ s8 unk_06; + /* 0x07 */ u8 unk_07; + /* 0x08 */ f32 unk_08; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ f32 unk_24; + /* 0x28 */ f32 unk_28; + /* 0x2C */ f32 unk_2C; + /* 0x30 */ s8 unk_30; +} Chest; +extern s32 D_802EAD7C; +// requires data migration +#ifdef NON_MATCHING +extern Script D_802EAB30; +extern Script D_802EAC40; +extern Script D_802EAC84; + +void entity_Chest_adjust_camera(void) { + Areas areaID; + Script* script; + + areaID = gGameStatusPtr->areaID; + script = NULL; + if (areaID == AREA_ISK) { + script = &D_802EAB30; + } else if (areaID == AREA_TIK) { + script = &D_802EAC40; + } else if (areaID == AREA_KZN) { + script = &D_802EAC84; + } + if (script != NULL) { + start_script(script, 10, 32); + } +} +#else +INCLUDE_ASM(s32, "entity/Chest", entity_Chest_adjust_camera); +#endif + +// requires data migration INCLUDE_ASM(s32, "entity/Chest", entity_Chest_reset_camera); +s32 entity_Chest_setupGfx(void); INCLUDE_ASM(s32, "entity/Chest", entity_Chest_setupGfx); -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_check_opened); +void entity_Chest_check_opened(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + if ((data->unk_00 != 0xFFFF) && (get_global_flag(data->unk_00) != 0)) { + entity->flags |= 0x4000; + data->unk_10 = -1; + data->unk_08 = -28.7f; + set_entity_commandlist(entity, &D_802EAD7C); + } +} -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_idle); +void entity_Chest_idle(Entity* entity) { + f32 rotation; + f32 angle; // angle from the Chest to the Player + Chest* data; + PlayerStatus* playerStatus = &gPlayerStatus; -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_begin_opening); + rotation = clamp_angle(180.0f - entity->rotation.y); + angle = fabsf(rotation - clamp_angle(atan2(entity->position.x, entity->position.z, playerStatus->position.x, playerStatus->position.z))); + if ((!(playerStatus->animFlags & 1)) && + (!(entity->collisionFlags & 1)) && + ((angle <= 40.0f) || (angle >= 320.0f))) { + entity->flags |= 0x1000; + if ((playerStatus->animFlags & 0x10) && (entity->collisionFlags & 8)) { + exec_entity_commandlist(entity); + data = (Chest*)entity->dataBuf; + data->unk_04 = 0; + entity->flags &= ~0x1000; + if (data->unk_10 != 0) { + disable_player_input(); + } + func_800EF3E4(); + } + } else { + entity->flags &= ~0x1000; + } +} + +void entity_Chest_begin_opening(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + data->unk_06 = 10; + data->unk_08 = 0; + data->unk_05 = 0; + data->unk_02 = 40; + sfx_play_sound(467); +} INCLUDE_ASM(s32, "entity/Chest", entity_Chest_open); +// regalloc after sin_rad +#ifdef NON_MATCHING +void entity_Chest_close(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + switch (data->unk_04) { + case 0: + data->unk_0C = 0.0f; + data->unk_04++; + // fallthrough + case 1: + data->unk_0C += 5.0f; + if (data->unk_0C >= 180.0f) { + data->unk_0C = 180.0f; + data->unk_04++; + } + data->unk_08 += 2.6f * sin_rad(data->unk_0C * TAU / 360.0f); + break; + case 2: + data->unk_0C += 1.0f; + if (data->unk_0C >= 185.0f) { + data->unk_0C = 185.0f; + data->unk_06 = 10; + data->unk_04++; + } + data->unk_08 += 2.0f * sin_rad(data->unk_0C * TAU / 360.0f); + break; + case 3: + data->unk_06--; + if (data->unk_06 == 0) { + data->unk_04++; + entity->flags |= 0x4000; + } + break; + case 4: // needed to make gcc create a jumptable + break; + } +} +#else INCLUDE_ASM(s32, "entity/Chest", entity_Chest_close); +#endif INCLUDE_ASM(s32, "entity/Chest", entity_GiantChest_hide_effect); INCLUDE_ASM(s32, "entity/Chest", entity_GiantChest_open); -INCLUDE_ASM(s32, "entity/Chest", entity_GiantChest_give_equipment); +// the function itself matches, but somehow it breaks other completely unrelated files +#ifdef NON_MATCHING +void entity_GiantChest_give_equipment(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + f32 angle; + s32 flag; -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_start_bound_script); + switch (data->unk_10) { + case 1: + gPlayerData.bootsLevel = 0; + break; + case 2: + gPlayerData.bootsLevel = 1; + break; + case 3: + gPlayerData.bootsLevel = 2; + break; + case 4: + gPlayerData.hammerLevel = 0; + break; + case 5: + gPlayerData.hammerLevel = 1; + break; + case 6: + gPlayerData.hammerLevel = 2; + break; + } -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_enable_player_input); + if (data->unk_10 != 0) { + angle = (entity->rotation.y * TAU) / 360.0f; + data->unk_18 = entity->position.x + (sin_rad(angle) * 10.0f); + data->unk_1C = entity->position.y; + data->unk_20 = entity->position.z + (cos_rad(angle) * 10.0f); + data->unk_14 = make_item_entity_nodelay(data->unk_10, data->unk_18, data->unk_1C, data->unk_20, 1, -1); + } -INCLUDE_ASM(s32, "entity/Chest", entity_GiantChest_await_got_item); + flag = data->unk_00; + if (flag <= SI_SAVE_FLAG(10000000)) { + flag += 130000000; + } + set_global_flag(flag); +} +#else +INCLUDE_ASM(void, "entity/Chest", entity_GiantChest_give_equipment); +#endif -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_clear_item_id); +void entity_Chest_start_bound_script(Npc* npc) { + entity_start_script(npc); +} -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_readargs); +void entity_Chest_enable_player_input(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + if (data->unk_10 != 0) { + enable_player_input(); + } +} -INCLUDE_ASM(s32, "entity/Chest", entity_GiantChest_init); +void entity_GiantChest_await_got_item(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + if (data->unk_10 != 0) { + if (data->unk_30 != 0) { + exec_entity_commandlist(entity); + remove_item_entity_by_index(data->unk_14); + suggest_player_anim_clearUnkFlag(0x10002); + enable_player_input(); + data->unk_10 = -1; + } + return; + } + exec_entity_commandlist(entity); +} -INCLUDE_ASM(s32, "entity/Chest", entity_Chest_init); +void entity_Chest_clear_item_id(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + data->unk_10 = -1; +} + +void entity_Chest_readargs(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + data->unk_10 = *D_8015C7D0; + data->unk_00 = 0xFFFF; +} + +void entity_GiantChest_init(Entity* entity) { + entity_Chest_readargs(entity); + entity->renderSetupFunc = &entity_Chest_setupGfx; +} + +void entity_Chest_init(Entity* entity) { + Chest* data = (Chest*)entity->dataBuf; + data->unk_07 = 1; + entity_Chest_readargs(entity); + entity->renderSetupFunc = &entity_Chest_setupGfx; + entity->scale.x = 0.56f; + entity->scale.y = 0.56f; + entity->scale.z = 0.56f; +} diff --git a/src/entity/HeartBlock.c b/src/entity/HeartBlock.c index 2a0d3a6d86..0b9cf88f08 100644 --- a/src/entity/HeartBlock.c +++ b/src/entity/HeartBlock.c @@ -1,11 +1,19 @@ #include "common.h" +#include "effects.h" extern u32* D_802EA728; extern u32* D_802EA760; extern StaticEntityData D_802EA7BC; extern UNK_TYPE D_802EB3C0; +extern s32 D_802EA744; // -INCLUDE_ASM(s32, "entity/HeartBlock", entity_HeartBlockContent_get_previous_yaw); +f32 entity_HeartBlockContent_get_previous_yaw(struct802E4B10* data, s32 arg1) { + s32 temp = data->unk_24 - arg1; + if (temp < 0) { + temp += 10; + } + return data->unk_28[temp]; +} INCLUDE_ASM(s32, "entity/HeartBlock", entity_HeartBlockContent__setupGfx); @@ -14,7 +22,7 @@ void entity_HeartBlockContent_setupGfx(s32 entityIndex) { } void entity_HeartBlockContent_set_initial_pos(Entity* entity) { - struct802E4B10* temp = entity->dataBuf; + struct802E4B10* temp = (struct802E4B10*)entity->dataBuf; Entity* entityTemp = get_entity_by_index(temp->unk_00); entity->position.x = entityTemp->position.x; @@ -28,7 +36,7 @@ void entity_HeartBlockContent__reset(Entity* entity) { entity->renderSetupFunc = entity_HeartBlockContent_setupGfx; entity->alpha = 255; - temp_s0 = entity->dataBuf; + temp_s0 = (struct802E4B10*)entity->dataBuf; entity->flags |= 0x2000; someEntity = get_entity_by_index(temp_s0->unk_00); @@ -52,10 +60,56 @@ void entity_HeartBlockContent__reset(Entity* entity) { entity_HeartBlockContent_set_initial_pos(entity); } -INCLUDE_ASM(s32, "entity/HeartBlock", entity_HeartBlockContent_anim_idle); +void entity_HeartBlockContent_anim_idle(Entity* entity, s32 arg1) { + struct802E4B10* temp = (struct802E4B10*)entity->dataBuf; + switch (temp->unk_01) { + case 0: + entity->scale.x = 0.0f; + entity->scale.y = 0.0f; + entity->scale.z = 0.0f; + if (arg1 == 0) { + temp->unk_01++; + break; + } + return; + case 1: + entity->scale.x += 0.01; + if (entity->scale.x >= 1.0) { + entity->scale.x = 1.0f; + temp->unk_02 = 0; + temp->unk_01++; + } + entity->scale.z = entity->scale.x; + entity->scale.y = entity->scale.x; + break; + case 2: + entity_HeartBlockContent_set_initial_pos(entity); + temp->unk_01++; + // fallthrough + case 3: + if (gOverrideFlags == 0) { + // create an effect every 50 frames + temp->unk_02--; + if (temp->unk_02 <= 0) { + temp->unk_02 = 50; + playFX_22(temp->unk_0A, entity->position.x, entity->position.y, entity->position.z, 22.0f, 8.0f, 4, 20); + } + } + break; + } + + if (entity_can_collide_with_jumping_player(get_entity_by_index(temp->unk_00))) { + exec_entity_commandlist(entity); + disable_player_input(); + gPlayerStatus.currentSpeed = 0; + gPlayerStatus.animFlags |= 0x200; + set_time_freeze_mode(1); + gOverrideFlags |= 0x40; + } +} void func_802E4DE0(Entity* entity) { - struct802E4B10* temp = entity->dataBuf; + struct802E4B10* temp = (struct802E4B10*)entity->dataBuf; temp->unk_01 = 0; entity->scale.x = 1.0f; @@ -64,7 +118,116 @@ void func_802E4DE0(Entity* entity) { entity->rotation.z = 0.0f; } -INCLUDE_ASM(s32, "entity/HeartBlock", entity_HeartBlockContent__anim_heal); +void entity_HeartBlockContent__anim_heal(Entity* entity, s32 arg1) { + PlayerStatus* playerStatus = &gPlayerStatus; + struct802E4B10* data = (struct802E4B10*)entity->dataBuf; + f32 offsetX, offsetY, offsetZ; + + switch (data->unk_01) { + case 0: + playFX_11(0, entity->position.x, entity->position.y, entity->position.z, 2.0f); + data->unk_20 = 0.0f; + data->unk_01++; + data->unk_14 = 6.0f; + break; + case 1: + entity->position.y = entity->position.y + data->unk_14; + data->unk_14 -= 1.0f; + if (data->unk_14 <= 2.0f) { + data->unk_01++; + entity->flags &= ~0x2000; + data->unk_54 = -10.0f; + entity_set_render_script(entity, &D_802EA744); + entity->renderSetupFunc = &entity_HeartBlockContent_setupGfx; + } + break; + case 2: + entity->position.y += sin_rad((data->unk_20 * TAU) / 360.0f) * 0.5f; + data->unk_20 -= 30.0f; + if (data->unk_20 < 0.0f) { + data->unk_20 += 360.0f; + } + entity->rotation.y += data->unk_54; + data->unk_54 += 2.0f; + if (data->unk_54 >= 0.0f) { + data->unk_18 = 0.0f; + data->unk_1C = 0.0f; + data->unk_01++; + data->unk_04 = playerStatus->colliderHeight + 5; + data->unk_03 = 0; + recover_hp(-1); + recover_fp(-1); + sfx_play_sound(0x131); + } + data->unk_28[data->unk_24] = entity->rotation.y; + data->unk_24++; + if (data->unk_24 >= 11) { + data->unk_24 = 0; + } + break; + case 3: + data->unk_1C += 2.0; + if (data->unk_1C >= 10.0f) { + data->unk_1C = 10.0f; + } + data->unk_18 += 18.0f; + if (data->unk_18 >= 360.0f) { + data->unk_18 -= 360.0f; + } + offsetX = data->unk_1C * sin_rad((data->unk_18 * TAU) / 360.0f); + offsetZ = data->unk_1C * cos_rad((data->unk_18 * TAU) / 360.0f); + offsetY = data->unk_04; + + data->unk_04 -= 0.7; + + if ((data->unk_03++ & 1) != 0) { + playFX_11(3, playerStatus->position.x + offsetX, + playerStatus->position.y + offsetY, + playerStatus->position.z - offsetZ, + 8.0f + ); + } + if (data->unk_04 < 20.0f) { + data->unk_04 = 20.0f; + data->unk_01++; + } + // fallthrough + case 4: + entity->position.y += sin_rad((data->unk_20 * TAU) / 360.0f) * 0.5f; + data->unk_20 -= 30.0f; + if (data->unk_20 < 0.0f) { + data->unk_20 += 360.0f; + } + data->unk_54 += 1.0; + if (data->unk_54 > 30.0f) { + data->unk_54 = 30.0f; + } + entity->rotation.y += data->unk_54; + if (entity->rotation.y >= 360.0f) { + entity->rotation.y -= 360.0f; + } + entity->alpha -= 5; + if (entity->alpha < 7) { + entity->alpha = 5; + if (data->unk_01 == 4) { + data->unk_01++; + } + } + data->unk_28[data->unk_24] = entity->rotation.y; + data->unk_24++; + if (data->unk_24 >= 11) { + data->unk_24 = 0; + } + break; + case 5: + playerStatus->animFlags &= ~0x200; + enable_player_input(); + set_time_freeze_mode(0); + gOverrideFlags &= ~0x40; + exec_entity_commandlist(entity); + break; + } +} void entity_HeartBlock_idle(Entity* entity) { entity_base_block_idle(entity); @@ -78,7 +241,7 @@ void entity_HeartBlockContent_init(Entity* entity) { void entity_HeartBlockContent_reset(Entity* entity) { entity_HeartBlockContent__reset(entity); - entity_set_render_script(entity, &D_802EA728); + entity_set_render_script(entity, (u32*)&D_802EA728); } void entity_HeartBlockContent_idle(Entity* entity) { @@ -91,7 +254,7 @@ void entity_HeartBlockContent_anim_heal(Entity* entity) { } void entity_HeartBlock_change_render_script(Entity* entity) { - entity_set_render_script(entity, &D_802EA760); + entity_set_render_script(entity, (u32*)&D_802EA760); } void entity_HeartBlock_show_tutorial_message(Entity* entity) { @@ -125,7 +288,7 @@ s8 entity_HeartBlock_create_child_entity(Entity* entity, StaticEntityData* data) entity_base_block_init(entity); someEntity = get_entity_by_index(create_entity(data, entity->position.x, entity->position.y, entity->position.z, 0.0f, 0x80000000)); - temp_v1 = someEntity->dataBuf; + temp_v1 = (struct802E4B10*)someEntity->dataBuf; temp_v1->unk_00 = entity->listIndex; if (temp_s2 == 0) { diff --git a/src/entity/SaveBlock.c b/src/entity/SaveBlock.c index f5b3395665..45da164d85 100644 --- a/src/entity/SaveBlock.c +++ b/src/entity/SaveBlock.c @@ -13,9 +13,8 @@ void entity_Shadow_init(Shadow* shadow) { shadow->scale.z = 0.1f; } -//TODO: make sure this is the right struct for this. -s32 entity_can_collide_with_jumping_player(Shadow* shadow) { - if ((shadow->unk_06 & 4) && (gPlayerStatus.flags & 2)) { +s32 entity_can_collide_with_jumping_player(Entity* entity) { + if ((entity->collisionFlags & 4) && (gPlayerStatus.flags & 2)) { return TRUE; } return FALSE; diff --git a/src/world/partner/bow.c b/src/world/partner/bow.c index 3454b3181d..8337566ce0 100644 --- a/src/world/partner/bow.c +++ b/src/world/partner/bow.c @@ -1,8 +1,24 @@ #include "common.h" +#include "../partners.h" -INCLUDE_ASM(s32, "world/partner/bow", func_802BD100_323A50); +extern s32 D_802BE0C0; +extern s32 D_802BE0C4; -INCLUDE_ASM(s32, "world/partner/bow", func_802BD130_323A80); +void func_802BD100_323A50(Npc* partner) { + partner->collisionHeight = 26; + partner->collisionRadius = 24; + partner->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1; + D_802BE0C4 = 0; + D_802BE0C0 = 0; +} + +ApiStatus func_802BD130_323A80(Evt* script, s32 isInitialCall) { + Npc* owner = script->owner2.npc; + if (isInitialCall) { + partner_init_get_out(owner); + } + return partner_get_out(owner) != 0; +} INCLUDE_ASM(s32, "world/partner/bow", func_802BD168_323AB8); diff --git a/src/world/partners.h b/src/world/partners.h index fbfc141075..b6ce8c5091 100644 --- a/src/world/partners.h +++ b/src/world/partners.h @@ -40,4 +40,7 @@ extern WorldPartner* wPartner; extern NpcID D_8010CFD0; // wPartnerNpcIndex extern Npc* wPartnerNpc; // wPartnerNpc +s32 partner_init_get_out(Npc*); +s32 partner_get_out(Npc*); + #endif diff --git a/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9000_429D20.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9000_429D20.s deleted file mode 100644 index 7918edc34c..0000000000 --- a/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9000_429D20.s +++ /dev/null @@ -1,77 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802A9000_429D20 -/* 429D20 802A9000 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 429D24 802A9004 AFB00010 */ sw $s0, 0x10($sp) -/* 429D28 802A9008 3C10800E */ lui $s0, %hi(gBattleStatus) -/* 429D2C 802A900C 2610C070 */ addiu $s0, $s0, %lo(gBattleStatus) -/* 429D30 802A9010 24020005 */ addiu $v0, $zero, 5 -/* 429D34 802A9014 AFBF0018 */ sw $ra, 0x18($sp) -/* 429D38 802A9018 AFB10014 */ sw $s1, 0x14($sp) -/* 429D3C 802A901C A2020082 */ sb $v0, 0x82($s0) -/* 429D40 802A9020 3C028029 */ lui $v0, %hi(D_80294380) -/* 429D44 802A9024 24424380 */ addiu $v0, $v0, %lo(D_80294380) -/* 429D48 802A9028 3C11802A */ lui $s1, %hi(gActionCommandStatus) -/* 429D4C 802A902C 2631FBE0 */ addiu $s1, $s1, %lo(gActionCommandStatus) -/* 429D50 802A9030 AE020434 */ sw $v0, 0x434($s0) -/* 429D54 802A9034 82020083 */ lb $v0, 0x83($s0) -/* 429D58 802A9038 10400031 */ beqz $v0, .L802A9100 -/* 429D5C 802A903C 0200182D */ daddu $v1, $s0, $zero -/* 429D60 802A9040 0C09A216 */ jal func_80268858 -/* 429D64 802A9044 00000000 */ nop -/* 429D68 802A9048 3C048011 */ lui $a0, %hi(D_80108B28) -/* 429D6C 802A904C 24848B28 */ addiu $a0, $a0, %lo(D_80108B28) -/* 429D70 802A9050 2402000F */ addiu $v0, $zero, 0xf -/* 429D74 802A9054 A622004A */ sh $v0, 0x4a($s1) -/* 429D78 802A9058 2402FFD0 */ addiu $v0, $zero, -0x30 -/* 429D7C 802A905C A620004C */ sh $zero, 0x4c($s1) -/* 429D80 802A9060 A2200060 */ sb $zero, 0x60($s1) -/* 429D84 802A9064 A6200044 */ sh $zero, 0x44($s1) -/* 429D88 802A9068 A6200048 */ sh $zero, 0x48($s1) -/* 429D8C 802A906C A2000084 */ sb $zero, 0x84($s0) -/* 429D90 802A9070 A6220056 */ sh $v0, 0x56($s1) -/* 429D94 802A9074 24020050 */ addiu $v0, $zero, 0x50 -/* 429D98 802A9078 A220005C */ sb $zero, 0x5c($s1) -/* 429D9C 802A907C 0C050529 */ jal create_hud_element -/* 429DA0 802A9080 A6220058 */ sh $v0, 0x58($s1) -/* 429DA4 802A9084 0040802D */ daddu $s0, $v0, $zero -/* 429DA8 802A9088 0200202D */ daddu $a0, $s0, $zero -/* 429DAC 802A908C 24050082 */ addiu $a1, $zero, 0x82 -/* 429DB0 802A9090 0C051280 */ jal set_hud_element_flags -/* 429DB4 802A9094 AE300004 */ sw $s0, 4($s1) -/* 429DB8 802A9098 86250056 */ lh $a1, 0x56($s1) -/* 429DBC 802A909C 86260058 */ lh $a2, 0x58($s1) -/* 429DC0 802A90A0 0C051261 */ jal set_hud_element_render_pos -/* 429DC4 802A90A4 0200202D */ daddu $a0, $s0, $zero -/* 429DC8 802A90A8 0200202D */ daddu $a0, $s0, $zero -/* 429DCC 802A90AC 0C051277 */ jal set_hud_element_render_depth -/* 429DD0 802A90B0 0000282D */ daddu $a1, $zero, $zero -/* 429DD4 802A90B4 3C048011 */ lui $a0, %hi(D_80108AFC) -/* 429DD8 802A90B8 24848AFC */ addiu $a0, $a0, %lo(D_80108AFC) -/* 429DDC 802A90BC 0C050529 */ jal create_hud_element -/* 429DE0 802A90C0 00000000 */ nop -/* 429DE4 802A90C4 0040802D */ daddu $s0, $v0, $zero -/* 429DE8 802A90C8 86250056 */ lh $a1, 0x56($s1) -/* 429DEC 802A90CC 86260058 */ lh $a2, 0x58($s1) -/* 429DF0 802A90D0 0200202D */ daddu $a0, $s0, $zero -/* 429DF4 802A90D4 AE300008 */ sw $s0, 8($s1) -/* 429DF8 802A90D8 0C051261 */ jal set_hud_element_render_pos -/* 429DFC 802A90DC 24C6001C */ addiu $a2, $a2, 0x1c -/* 429E00 802A90E0 0200202D */ daddu $a0, $s0, $zero -/* 429E04 802A90E4 0C051277 */ jal set_hud_element_render_depth -/* 429E08 802A90E8 0000282D */ daddu $a1, $zero, $zero -/* 429E0C 802A90EC 0200202D */ daddu $a0, $s0, $zero -/* 429E10 802A90F0 0C051280 */ jal set_hud_element_flags -/* 429E14 802A90F4 24050082 */ addiu $a1, $zero, 0x82 -/* 429E18 802A90F8 080AA442 */ j .L802A9108 -/* 429E1C 802A90FC 24020002 */ addiu $v0, $zero, 2 -.L802A9100: -/* 429E20 802A9100 A0600081 */ sb $zero, 0x81($v1) -/* 429E24 802A9104 24020002 */ addiu $v0, $zero, 2 -.L802A9108: -/* 429E28 802A9108 8FBF0018 */ lw $ra, 0x18($sp) -/* 429E2C 802A910C 8FB10014 */ lw $s1, 0x14($sp) -/* 429E30 802A9110 8FB00010 */ lw $s0, 0x10($sp) -/* 429E34 802A9114 03E00008 */ jr $ra -/* 429E38 802A9118 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A911C_429E3C.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A911C_429E3C.s deleted file mode 100644 index 150046e038..0000000000 --- a/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A911C_429E3C.s +++ /dev/null @@ -1,65 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802A911C_429E3C -/* 429E3C 802A911C 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 429E40 802A9120 AFB20018 */ sw $s2, 0x18($sp) -/* 429E44 802A9124 0080902D */ daddu $s2, $a0, $zero -/* 429E48 802A9128 AFB10014 */ sw $s1, 0x14($sp) -/* 429E4C 802A912C 3C11802A */ lui $s1, %hi(gActionCommandStatus) -/* 429E50 802A9130 2631FBE0 */ addiu $s1, $s1, %lo(gActionCommandStatus) -/* 429E54 802A9134 AFB3001C */ sw $s3, 0x1c($sp) -/* 429E58 802A9138 3C13800E */ lui $s3, %hi(gBattleStatus) -/* 429E5C 802A913C 2673C070 */ addiu $s3, $s3, %lo(gBattleStatus) -/* 429E60 802A9140 AFBF0020 */ sw $ra, 0x20($sp) -/* 429E64 802A9144 AFB00010 */ sw $s0, 0x10($sp) -/* 429E68 802A9148 82620083 */ lb $v0, 0x83($s3) -/* 429E6C 802A914C 8E50000C */ lw $s0, 0xc($s2) -/* 429E70 802A9150 10400024 */ beqz $v0, .L802A91E4 -/* 429E74 802A9154 0260182D */ daddu $v1, $s3, $zero -/* 429E78 802A9158 0C09A216 */ jal func_80268858 -/* 429E7C 802A915C 00000000 */ nop -/* 429E80 802A9160 8E050000 */ lw $a1, ($s0) -/* 429E84 802A9164 26100004 */ addiu $s0, $s0, 4 -/* 429E88 802A9168 0C0B1EAF */ jal get_variable -/* 429E8C 802A916C 0240202D */ daddu $a0, $s2, $zero -/* 429E90 802A9170 A622004E */ sh $v0, 0x4e($s1) -/* 429E94 802A9174 8E050000 */ lw $a1, ($s0) -/* 429E98 802A9178 26100004 */ addiu $s0, $s0, 4 -/* 429E9C 802A917C 0C0B1EAF */ jal get_variable -/* 429EA0 802A9180 0240202D */ daddu $a0, $s2, $zero -/* 429EA4 802A9184 A6220052 */ sh $v0, 0x52($s1) -/* 429EA8 802A9188 8E050000 */ lw $a1, ($s0) -/* 429EAC 802A918C 0C0B1EAF */ jal get_variable -/* 429EB0 802A9190 0240202D */ daddu $a0, $s2, $zero -/* 429EB4 802A9194 00022400 */ sll $a0, $v0, 0x10 -/* 429EB8 802A9198 00042403 */ sra $a0, $a0, 0x10 -/* 429EBC 802A919C 0C09A089 */ jal func_80268224 -/* 429EC0 802A91A0 A6220050 */ sh $v0, 0x50($s1) -/* 429EC4 802A91A4 3C04FFFF */ lui $a0, 0xffff -/* 429EC8 802A91A8 34847FFF */ ori $a0, $a0, 0x7fff -/* 429ECC 802A91AC A6220050 */ sh $v0, 0x50($s1) -/* 429ED0 802A91B0 A2200060 */ sb $zero, 0x60($s1) -/* 429ED4 802A91B4 A6200044 */ sh $zero, 0x44($s1) -/* 429ED8 802A91B8 A6200048 */ sh $zero, 0x48($s1) -/* 429EDC 802A91BC 8E620000 */ lw $v0, ($s3) -/* 429EE0 802A91C0 2403000A */ addiu $v1, $zero, 0xa -/* 429EE4 802A91C4 A2600081 */ sb $zero, 0x81($s3) -/* 429EE8 802A91C8 A2600086 */ sb $zero, 0x86($s3) -/* 429EEC 802A91CC A623004C */ sh $v1, 0x4c($s1) -/* 429EF0 802A91D0 00441024 */ and $v0, $v0, $a0 -/* 429EF4 802A91D4 0C09A446 */ jal func_80269118 -/* 429EF8 802A91D8 AE620000 */ sw $v0, ($s3) -/* 429EFC 802A91DC 080AA47B */ j .L802A91EC -/* 429F00 802A91E0 24020002 */ addiu $v0, $zero, 2 -.L802A91E4: -/* 429F04 802A91E4 A0600081 */ sb $zero, 0x81($v1) -/* 429F08 802A91E8 24020002 */ addiu $v0, $zero, 2 -.L802A91EC: -/* 429F0C 802A91EC 8FBF0020 */ lw $ra, 0x20($sp) -/* 429F10 802A91F0 8FB3001C */ lw $s3, 0x1c($sp) -/* 429F14 802A91F4 8FB20018 */ lw $s2, 0x18($sp) -/* 429F18 802A91F8 8FB10014 */ lw $s1, 0x14($sp) -/* 429F1C 802A91FC 8FB00010 */ lw $s0, 0x10($sp) -/* 429F20 802A9200 03E00008 */ jr $ra -/* 429F24 802A9204 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9720_42A440.s b/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9720_42A440.s deleted file mode 100644 index 190a0b4e71..0000000000 --- a/ver/us/asm/nonmatchings/battle/action_cmd/squirt/func_802A9720_42A440.s +++ /dev/null @@ -1,20 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802A9720_42A440 -/* 42A440 802A9720 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 42A444 802A9724 3C048000 */ lui $a0, 0x8000 -/* 42A448 802A9728 34840041 */ ori $a0, $a0, 0x41 -/* 42A44C 802A972C AFBF0014 */ sw $ra, 0x14($sp) -/* 42A450 802A9730 0C05271B */ jal sfx_stop_sound -/* 42A454 802A9734 AFB00010 */ sw $s0, 0x10($sp) -/* 42A458 802A9738 3C10802A */ lui $s0, %hi(gActionCommandStatus) -/* 42A45C 802A973C 2610FBE0 */ addiu $s0, $s0, %lo(gActionCommandStatus) -/* 42A460 802A9740 0C05123D */ jal free_hud_element -/* 42A464 802A9744 8E040004 */ lw $a0, 4($s0) -/* 42A468 802A9748 0C05123D */ jal free_hud_element -/* 42A46C 802A974C 8E040008 */ lw $a0, 8($s0) -/* 42A470 802A9750 8FBF0014 */ lw $ra, 0x14($sp) -/* 42A474 802A9754 8FB00010 */ lw $s0, 0x10($sp) -/* 42A478 802A9758 03E00008 */ jr $ra -/* 42A47C 802A975C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_begin_opening.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_begin_opening.s deleted file mode 100644 index 9beebbe40d..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_begin_opening.s +++ /dev/null @@ -1,18 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_begin_opening -/* 108A78 802E71F8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 108A7C 802E71FC 2403000A */ addiu $v1, $zero, 0xa -/* 108A80 802E7200 AFBF0010 */ sw $ra, 0x10($sp) -/* 108A84 802E7204 8C820040 */ lw $v0, 0x40($a0) -/* 108A88 802E7208 240401D3 */ addiu $a0, $zero, 0x1d3 -/* 108A8C 802E720C A0430006 */ sb $v1, 6($v0) -/* 108A90 802E7210 24030028 */ addiu $v1, $zero, 0x28 -/* 108A94 802E7214 AC400008 */ sw $zero, 8($v0) -/* 108A98 802E7218 A0400005 */ sb $zero, 5($v0) -/* 108A9C 802E721C 0C05272D */ jal sfx_play_sound -/* 108AA0 802E7220 A4430002 */ sh $v1, 2($v0) -/* 108AA4 802E7224 8FBF0010 */ lw $ra, 0x10($sp) -/* 108AA8 802E7228 03E00008 */ jr $ra -/* 108AAC 802E722C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_check_opened.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_check_opened.s deleted file mode 100644 index bebaf93f09..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_check_opened.s +++ /dev/null @@ -1,36 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_check_opened -/* 1088B4 802E7034 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 1088B8 802E7038 AFB10014 */ sw $s1, 0x14($sp) -/* 1088BC 802E703C 0080882D */ daddu $s1, $a0, $zero -/* 1088C0 802E7040 AFBF0018 */ sw $ra, 0x18($sp) -/* 1088C4 802E7044 AFB00010 */ sw $s0, 0x10($sp) -/* 1088C8 802E7048 8E300040 */ lw $s0, 0x40($s1) -/* 1088CC 802E704C 96030000 */ lhu $v1, ($s0) -/* 1088D0 802E7050 3402FFFF */ ori $v0, $zero, 0xffff -/* 1088D4 802E7054 10620011 */ beq $v1, $v0, .L802E709C -/* 1088D8 802E7058 00000000 */ nop -/* 1088DC 802E705C 0C05152F */ jal get_global_flag -/* 1088E0 802E7060 0060202D */ daddu $a0, $v1, $zero -/* 1088E4 802E7064 1040000D */ beqz $v0, .L802E709C -/* 1088E8 802E7068 0220202D */ daddu $a0, $s1, $zero -/* 1088EC 802E706C 3C05802F */ lui $a1, %hi(D_802EAD7C) -/* 1088F0 802E7070 24A5AD7C */ addiu $a1, $a1, %lo(D_802EAD7C) -/* 1088F4 802E7074 8E220000 */ lw $v0, ($s1) -/* 1088F8 802E7078 3C01C1E5 */ lui $at, 0xc1e5 -/* 1088FC 802E707C 3421999A */ ori $at, $at, 0x999a -/* 108900 802E7080 44810000 */ mtc1 $at, $f0 -/* 108904 802E7084 34424000 */ ori $v0, $v0, 0x4000 -/* 108908 802E7088 AC820000 */ sw $v0, ($a0) -/* 10890C 802E708C 2402FFFF */ addiu $v0, $zero, -1 -/* 108910 802E7090 AE020010 */ sw $v0, 0x10($s0) -/* 108914 802E7094 0C043EF0 */ jal set_entity_commandlist -/* 108918 802E7098 E6000008 */ swc1 $f0, 8($s0) -.L802E709C: -/* 10891C 802E709C 8FBF0018 */ lw $ra, 0x18($sp) -/* 108920 802E70A0 8FB10014 */ lw $s1, 0x14($sp) -/* 108924 802E70A4 8FB00010 */ lw $s0, 0x10($sp) -/* 108928 802E70A8 03E00008 */ jr $ra -/* 10892C 802E70AC 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_clear_item_id.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_clear_item_id.s deleted file mode 100644 index 4237c4371b..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_clear_item_id.s +++ /dev/null @@ -1,8 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_clear_item_id -/* 1095A8 802E7D28 8C830040 */ lw $v1, 0x40($a0) -/* 1095AC 802E7D2C 2402FFFF */ addiu $v0, $zero, -1 -/* 1095B0 802E7D30 03E00008 */ jr $ra -/* 1095B4 802E7D34 AC620010 */ sw $v0, 0x10($v1) diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_enable_player_input.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_enable_player_input.s deleted file mode 100644 index 575d48b3e8..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_enable_player_input.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_enable_player_input -/* 10950C 802E7C8C 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 109510 802E7C90 AFBF0010 */ sw $ra, 0x10($sp) -/* 109514 802E7C94 8C820040 */ lw $v0, 0x40($a0) -/* 109518 802E7C98 8C420010 */ lw $v0, 0x10($v0) -/* 10951C 802E7C9C 10400003 */ beqz $v0, .L802E7CAC -/* 109520 802E7CA0 00000000 */ nop -/* 109524 802E7CA4 0C038069 */ jal enable_player_input -/* 109528 802E7CA8 00000000 */ nop -.L802E7CAC: -/* 10952C 802E7CAC 8FBF0010 */ lw $ra, 0x10($sp) -/* 109530 802E7CB0 03E00008 */ jr $ra -/* 109534 802E7CB4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_idle.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_idle.s deleted file mode 100644 index ed1275a370..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_idle.s +++ /dev/null @@ -1,90 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_idle -/* 108930 802E70B0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 108934 802E70B4 AFB10014 */ sw $s1, 0x14($sp) -/* 108938 802E70B8 0080882D */ daddu $s1, $a0, $zero -/* 10893C 802E70BC AFBF0018 */ sw $ra, 0x18($sp) -/* 108940 802E70C0 AFB00010 */ sw $s0, 0x10($sp) -/* 108944 802E70C4 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 108948 802E70C8 C6200064 */ lwc1 $f0, 0x64($s1) -/* 10894C 802E70CC 3C014334 */ lui $at, 0x4334 -/* 108950 802E70D0 44816000 */ mtc1 $at, $f12 -/* 108954 802E70D4 0C00A6C9 */ jal clamp_angle -/* 108958 802E70D8 46006301 */ sub.s $f12, $f12, $f0 -/* 10895C 802E70DC 3C108011 */ lui $s0, %hi(gPlayerStatus) -/* 108960 802E70E0 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus) -/* 108964 802E70E4 C62C0048 */ lwc1 $f12, 0x48($s1) -/* 108968 802E70E8 C62E0050 */ lwc1 $f14, 0x50($s1) -/* 10896C 802E70EC 8E060028 */ lw $a2, 0x28($s0) -/* 108970 802E70F0 8E070030 */ lw $a3, 0x30($s0) -/* 108974 802E70F4 0C00A720 */ jal atan2 -/* 108978 802E70F8 46000506 */ mov.s $f20, $f0 -/* 10897C 802E70FC 0C00A6C9 */ jal clamp_angle -/* 108980 802E7100 46000306 */ mov.s $f12, $f0 -/* 108984 802E7104 4600A501 */ sub.s $f20, $f20, $f0 -/* 108988 802E7108 8E020004 */ lw $v0, 4($s0) -/* 10898C 802E710C 30420001 */ andi $v0, $v0, 1 -/* 108990 802E7110 1440002F */ bnez $v0, .L802E71D0 -/* 108994 802E7114 4600A505 */ abs.s $f20, $f20 -/* 108998 802E7118 92220006 */ lbu $v0, 6($s1) -/* 10899C 802E711C 30420001 */ andi $v0, $v0, 1 -/* 1089A0 802E7120 1440002B */ bnez $v0, .L802E71D0 -/* 1089A4 802E7124 00000000 */ nop -/* 1089A8 802E7128 3C014220 */ lui $at, 0x4220 -/* 1089AC 802E712C 44810000 */ mtc1 $at, $f0 -/* 1089B0 802E7130 00000000 */ nop -/* 1089B4 802E7134 4600A03E */ c.le.s $f20, $f0 -/* 1089B8 802E7138 00000000 */ nop -/* 1089BC 802E713C 45010008 */ bc1t .L802E7160 -/* 1089C0 802E7140 00000000 */ nop -/* 1089C4 802E7144 3C0143A0 */ lui $at, 0x43a0 -/* 1089C8 802E7148 44810000 */ mtc1 $at, $f0 -/* 1089CC 802E714C 00000000 */ nop -/* 1089D0 802E7150 4614003E */ c.le.s $f0, $f20 -/* 1089D4 802E7154 00000000 */ nop -/* 1089D8 802E7158 4500001D */ bc1f .L802E71D0 -/* 1089DC 802E715C 00000000 */ nop -.L802E7160: -/* 1089E0 802E7160 8E220000 */ lw $v0, ($s1) -/* 1089E4 802E7164 34421000 */ ori $v0, $v0, 0x1000 -/* 1089E8 802E7168 AE220000 */ sw $v0, ($s1) -/* 1089EC 802E716C 8E020004 */ lw $v0, 4($s0) -/* 1089F0 802E7170 30420010 */ andi $v0, $v0, 0x10 -/* 1089F4 802E7174 1040001A */ beqz $v0, .L802E71E0 -/* 1089F8 802E7178 00000000 */ nop -/* 1089FC 802E717C 92220006 */ lbu $v0, 6($s1) -/* 108A00 802E7180 30420008 */ andi $v0, $v0, 8 -/* 108A04 802E7184 10400016 */ beqz $v0, .L802E71E0 -/* 108A08 802E7188 00000000 */ nop -/* 108A0C 802E718C 0C043F5A */ jal exec_entity_commandlist -/* 108A10 802E7190 0220202D */ daddu $a0, $s1, $zero -/* 108A14 802E7194 8E240040 */ lw $a0, 0x40($s1) -/* 108A18 802E7198 A0800004 */ sb $zero, 4($a0) -/* 108A1C 802E719C 8E220000 */ lw $v0, ($s1) -/* 108A20 802E71A0 2403EFFF */ addiu $v1, $zero, -0x1001 -/* 108A24 802E71A4 00431024 */ and $v0, $v0, $v1 -/* 108A28 802E71A8 AE220000 */ sw $v0, ($s1) -/* 108A2C 802E71AC 8C820010 */ lw $v0, 0x10($a0) -/* 108A30 802E71B0 10400003 */ beqz $v0, .L802E71C0 -/* 108A34 802E71B4 00000000 */ nop -/* 108A38 802E71B8 0C03805E */ jal disable_player_input -/* 108A3C 802E71BC 00000000 */ nop -.L802E71C0: -/* 108A40 802E71C0 0C03BCF9 */ jal func_800EF3E4 -/* 108A44 802E71C4 00000000 */ nop -/* 108A48 802E71C8 080B9C78 */ j .L802E71E0 -/* 108A4C 802E71CC 00000000 */ nop -.L802E71D0: -/* 108A50 802E71D0 8E220000 */ lw $v0, ($s1) -/* 108A54 802E71D4 2403EFFF */ addiu $v1, $zero, -0x1001 -/* 108A58 802E71D8 00431024 */ and $v0, $v0, $v1 -/* 108A5C 802E71DC AE220000 */ sw $v0, ($s1) -.L802E71E0: -/* 108A60 802E71E0 8FBF0018 */ lw $ra, 0x18($sp) -/* 108A64 802E71E4 8FB10014 */ lw $s1, 0x14($sp) -/* 108A68 802E71E8 8FB00010 */ lw $s0, 0x10($sp) -/* 108A6C 802E71EC D7B40020 */ ldc1 $f20, 0x20($sp) -/* 108A70 802E71F0 03E00008 */ jr $ra -/* 108A74 802E71F4 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_init.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_init.s deleted file mode 100644 index 81c2a67b26..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_init.s +++ /dev/null @@ -1,27 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_init -/* 109604 802E7D84 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 109608 802E7D88 AFB00010 */ sw $s0, 0x10($sp) -/* 10960C 802E7D8C 0080802D */ daddu $s0, $a0, $zero -/* 109610 802E7D90 24020001 */ addiu $v0, $zero, 1 -/* 109614 802E7D94 AFBF0014 */ sw $ra, 0x14($sp) -/* 109618 802E7D98 8E030040 */ lw $v1, 0x40($s0) -/* 10961C 802E7D9C 0C0B9F4E */ jal entity_Chest_readargs -/* 109620 802E7DA0 A0620007 */ sb $v0, 7($v1) -/* 109624 802E7DA4 3C013F0F */ lui $at, 0x3f0f -/* 109628 802E7DA8 34215C29 */ ori $at, $at, 0x5c29 -/* 10962C 802E7DAC 44810000 */ mtc1 $at, $f0 -/* 109630 802E7DB0 3C02802E */ lui $v0, %hi(entity_Chest_setupGfx) -/* 109634 802E7DB4 24426ED8 */ addiu $v0, $v0, %lo(entity_Chest_setupGfx) -/* 109638 802E7DB8 AE02003C */ sw $v0, 0x3c($s0) -/* 10963C 802E7DBC E6000054 */ swc1 $f0, 0x54($s0) -/* 109640 802E7DC0 E6000058 */ swc1 $f0, 0x58($s0) -/* 109644 802E7DC4 E600005C */ swc1 $f0, 0x5c($s0) -/* 109648 802E7DC8 8FBF0014 */ lw $ra, 0x14($sp) -/* 10964C 802E7DCC 8FB00010 */ lw $s0, 0x10($sp) -/* 109650 802E7DD0 03E00008 */ jr $ra -/* 109654 802E7DD4 27BD0018 */ addiu $sp, $sp, 0x18 -/* 109658 802E7DD8 00000000 */ nop -/* 10965C 802E7DDC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_readargs.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_readargs.s deleted file mode 100644 index 2a6cf7fe49..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_readargs.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_readargs -/* 1095B8 802E7D38 8C820040 */ lw $v0, 0x40($a0) -/* 1095BC 802E7D3C 3C038016 */ lui $v1, %hi(D_8015C7D0) -/* 1095C0 802E7D40 8C63C7D0 */ lw $v1, %lo(D_8015C7D0)($v1) -/* 1095C4 802E7D44 AC430010 */ sw $v1, 0x10($v0) -/* 1095C8 802E7D48 3403FFFF */ ori $v1, $zero, 0xffff -/* 1095CC 802E7D4C 03E00008 */ jr $ra -/* 1095D0 802E7D50 A4430000 */ sh $v1, ($v0) diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_start_bound_script.s b/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_start_bound_script.s deleted file mode 100644 index 021be0b23d..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_Chest_start_bound_script.s +++ /dev/null @@ -1,11 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_Chest_start_bound_script -/* 1094F0 802E7C70 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1094F4 802E7C74 AFBF0010 */ sw $ra, 0x10($sp) -/* 1094F8 802E7C78 0C04419E */ jal entity_start_script -/* 1094FC 802E7C7C 00000000 */ nop -/* 109500 802E7C80 8FBF0010 */ lw $ra, 0x10($sp) -/* 109504 802E7C84 03E00008 */ jr $ra -/* 109508 802E7C88 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_await_got_item.s b/ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_await_got_item.s deleted file mode 100644 index 7bef3a653b..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_await_got_item.s +++ /dev/null @@ -1,34 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_GiantChest_await_got_item -/* 109538 802E7CB8 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 10953C 802E7CBC AFBF0014 */ sw $ra, 0x14($sp) -/* 109540 802E7CC0 AFB00010 */ sw $s0, 0x10($sp) -/* 109544 802E7CC4 8C900040 */ lw $s0, 0x40($a0) -/* 109548 802E7CC8 8E020010 */ lw $v0, 0x10($s0) -/* 10954C 802E7CCC 10400010 */ beqz $v0, .L802E7D10 -/* 109550 802E7CD0 00000000 */ nop -/* 109554 802E7CD4 82020030 */ lb $v0, 0x30($s0) -/* 109558 802E7CD8 1040000F */ beqz $v0, .L802E7D18 -/* 10955C 802E7CDC 00000000 */ nop -/* 109560 802E7CE0 0C043F5A */ jal exec_entity_commandlist -/* 109564 802E7CE4 00000000 */ nop -/* 109568 802E7CE8 0C04CE7F */ jal remove_item_entity_by_index -/* 10956C 802E7CEC 8E040014 */ lw $a0, 0x14($s0) -/* 109570 802E7CF0 3C040001 */ lui $a0, 1 -/* 109574 802E7CF4 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 109578 802E7CF8 34840002 */ ori $a0, $a0, 2 -/* 10957C 802E7CFC 0C038069 */ jal enable_player_input -/* 109580 802E7D00 00000000 */ nop -/* 109584 802E7D04 2402FFFF */ addiu $v0, $zero, -1 -/* 109588 802E7D08 080B9F46 */ j .L802E7D18 -/* 10958C 802E7D0C AE020010 */ sw $v0, 0x10($s0) -.L802E7D10: -/* 109590 802E7D10 0C043F5A */ jal exec_entity_commandlist -/* 109594 802E7D14 00000000 */ nop -.L802E7D18: -/* 109598 802E7D18 8FBF0014 */ lw $ra, 0x14($sp) -/* 10959C 802E7D1C 8FB00010 */ lw $s0, 0x10($sp) -/* 1095A0 802E7D20 03E00008 */ jr $ra -/* 1095A4 802E7D24 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_init.s b/ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_init.s deleted file mode 100644 index eac3819d49..0000000000 --- a/ver/us/asm/nonmatchings/entity/Chest/entity_GiantChest_init.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_GiantChest_init -/* 1095D4 802E7D54 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 1095D8 802E7D58 AFB00010 */ sw $s0, 0x10($sp) -/* 1095DC 802E7D5C AFBF0014 */ sw $ra, 0x14($sp) -/* 1095E0 802E7D60 0C0B9F4E */ jal entity_Chest_readargs -/* 1095E4 802E7D64 0080802D */ daddu $s0, $a0, $zero -/* 1095E8 802E7D68 3C02802E */ lui $v0, %hi(entity_Chest_setupGfx) -/* 1095EC 802E7D6C 24426ED8 */ addiu $v0, $v0, %lo(entity_Chest_setupGfx) -/* 1095F0 802E7D70 AE02003C */ sw $v0, 0x3c($s0) -/* 1095F4 802E7D74 8FBF0014 */ lw $ra, 0x14($sp) -/* 1095F8 802E7D78 8FB00010 */ lw $s0, 0x10($sp) -/* 1095FC 802E7D7C 03E00008 */ jr $ra -/* 109600 802E7D80 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent__anim_heal.s b/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent__anim_heal.s deleted file mode 100644 index 2724e9b045..0000000000 --- a/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent__anim_heal.s +++ /dev/null @@ -1,350 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -glabel jtbl_802EB278 -.word L802E4E54_1066D4, L802E4E98_106718, L802E4F1C_10679C, L802E5018_106898, L802E5170_1069F0, L802E52AC_106B2C - -glabel D_802EB290 -.double 0.7 - -.section .text - -glabel entity_HeartBlockContent__anim_heal -/* 106684 802E4E04 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 106688 802E4E08 AFB1001C */ sw $s1, 0x1c($sp) -/* 10668C 802E4E0C 0080882D */ daddu $s1, $a0, $zero -/* 106690 802E4E10 AFBF0024 */ sw $ra, 0x24($sp) -/* 106694 802E4E14 AFB20020 */ sw $s2, 0x20($sp) -/* 106698 802E4E18 AFB00018 */ sw $s0, 0x18($sp) -/* 10669C 802E4E1C F7B60030 */ sdc1 $f22, 0x30($sp) -/* 1066A0 802E4E20 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 1066A4 802E4E24 8E300040 */ lw $s0, 0x40($s1) -/* 1066A8 802E4E28 92030001 */ lbu $v1, 1($s0) -/* 1066AC 802E4E2C 3C128011 */ lui $s2, %hi(gPlayerStatus) -/* 1066B0 802E4E30 2652EFC8 */ addiu $s2, $s2, %lo(gPlayerStatus) -/* 1066B4 802E4E34 2C620006 */ sltiu $v0, $v1, 6 -/* 1066B8 802E4E38 1040012B */ beqz $v0, .L802E52E8 -/* 1066BC 802E4E3C 00031080 */ sll $v0, $v1, 2 -/* 1066C0 802E4E40 3C01802F */ lui $at, %hi(jtbl_802EB278) -/* 1066C4 802E4E44 00220821 */ addu $at, $at, $v0 -/* 1066C8 802E4E48 8C22B278 */ lw $v0, %lo(jtbl_802EB278)($at) -/* 1066CC 802E4E4C 00400008 */ jr $v0 -/* 1066D0 802E4E50 00000000 */ nop -glabel L802E4E54_1066D4 -/* 1066D4 802E4E54 3C014000 */ lui $at, 0x4000 -/* 1066D8 802E4E58 44810000 */ mtc1 $at, $f0 -/* 1066DC 802E4E5C 00000000 */ nop -/* 1066E0 802E4E60 E7A00010 */ swc1 $f0, 0x10($sp) -/* 1066E4 802E4E64 8E250048 */ lw $a1, 0x48($s1) -/* 1066E8 802E4E68 8E26004C */ lw $a2, 0x4c($s1) -/* 1066EC 802E4E6C 8E270050 */ lw $a3, 0x50($s1) -/* 1066F0 802E4E70 0C01BFBC */ jal playFX_11 -/* 1066F4 802E4E74 0000202D */ daddu $a0, $zero, $zero -/* 1066F8 802E4E78 92020001 */ lbu $v0, 1($s0) -/* 1066FC 802E4E7C 3C0140C0 */ lui $at, 0x40c0 -/* 106700 802E4E80 44810000 */ mtc1 $at, $f0 -/* 106704 802E4E84 AE000020 */ sw $zero, 0x20($s0) -/* 106708 802E4E88 24420001 */ addiu $v0, $v0, 1 -/* 10670C 802E4E8C A2020001 */ sb $v0, 1($s0) -/* 106710 802E4E90 080B94BA */ j .L802E52E8 -/* 106714 802E4E94 E6000014 */ swc1 $f0, 0x14($s0) -glabel L802E4E98_106718 -/* 106718 802E4E98 C620004C */ lwc1 $f0, 0x4c($s1) -/* 10671C 802E4E9C C6020014 */ lwc1 $f2, 0x14($s0) -/* 106720 802E4EA0 46020000 */ add.s $f0, $f0, $f2 -/* 106724 802E4EA4 3C013F80 */ lui $at, 0x3f80 -/* 106728 802E4EA8 44811000 */ mtc1 $at, $f2 -/* 10672C 802E4EAC E620004C */ swc1 $f0, 0x4c($s1) -/* 106730 802E4EB0 C6000014 */ lwc1 $f0, 0x14($s0) -/* 106734 802E4EB4 46020001 */ sub.s $f0, $f0, $f2 -/* 106738 802E4EB8 3C014000 */ lui $at, 0x4000 -/* 10673C 802E4EBC 44811000 */ mtc1 $at, $f2 -/* 106740 802E4EC0 00000000 */ nop -/* 106744 802E4EC4 4602003E */ c.le.s $f0, $f2 -/* 106748 802E4EC8 00000000 */ nop -/* 10674C 802E4ECC 45000106 */ bc1f .L802E52E8 -/* 106750 802E4ED0 E6000014 */ swc1 $f0, 0x14($s0) -/* 106754 802E4ED4 0220202D */ daddu $a0, $s1, $zero -/* 106758 802E4ED8 3C05802F */ lui $a1, %hi(D_802EA744) -/* 10675C 802E4EDC 24A5A744 */ addiu $a1, $a1, %lo(D_802EA744) -/* 106760 802E4EE0 92020001 */ lbu $v0, 1($s0) -/* 106764 802E4EE4 2403DFFF */ addiu $v1, $zero, -0x2001 -/* 106768 802E4EE8 24420001 */ addiu $v0, $v0, 1 -/* 10676C 802E4EEC A2020001 */ sb $v0, 1($s0) -/* 106770 802E4EF0 8E220000 */ lw $v0, ($s1) -/* 106774 802E4EF4 3C01C120 */ lui $at, 0xc120 -/* 106778 802E4EF8 44810000 */ mtc1 $at, $f0 -/* 10677C 802E4EFC 00431024 */ and $v0, $v0, $v1 -/* 106780 802E4F00 AE220000 */ sw $v0, ($s1) -/* 106784 802E4F04 0C0442F3 */ jal entity_set_render_script -/* 106788 802E4F08 E6000054 */ swc1 $f0, 0x54($s0) -/* 10678C 802E4F0C 3C02802E */ lui $v0, %hi(entity_HeartBlockContent_setupGfx) -/* 106790 802E4F10 24424AEC */ addiu $v0, $v0, %lo(entity_HeartBlockContent_setupGfx) -/* 106794 802E4F14 080B94BA */ j .L802E52E8 -/* 106798 802E4F18 AE22003C */ sw $v0, 0x3c($s1) -glabel L802E4F1C_10679C -/* 10679C 802E4F1C C60C0020 */ lwc1 $f12, 0x20($s0) -/* 1067A0 802E4F20 3C0140C9 */ lui $at, 0x40c9 -/* 1067A4 802E4F24 34210FD0 */ ori $at, $at, 0xfd0 -/* 1067A8 802E4F28 44810000 */ mtc1 $at, $f0 -/* 1067AC 802E4F2C 00000000 */ nop -/* 1067B0 802E4F30 46006302 */ mul.s $f12, $f12, $f0 -/* 1067B4 802E4F34 00000000 */ nop -/* 1067B8 802E4F38 3C0143B4 */ lui $at, 0x43b4 -/* 1067BC 802E4F3C 4481A000 */ mtc1 $at, $f20 -/* 1067C0 802E4F40 0C00A85B */ jal sin_rad -/* 1067C4 802E4F44 46146303 */ div.s $f12, $f12, $f20 -/* 1067C8 802E4F48 3C013F00 */ lui $at, 0x3f00 -/* 1067CC 802E4F4C 44811000 */ mtc1 $at, $f2 -/* 1067D0 802E4F50 00000000 */ nop -/* 1067D4 802E4F54 46020002 */ mul.s $f0, $f0, $f2 -/* 1067D8 802E4F58 00000000 */ nop -/* 1067DC 802E4F5C C622004C */ lwc1 $f2, 0x4c($s1) -/* 1067E0 802E4F60 46001080 */ add.s $f2, $f2, $f0 -/* 1067E4 802E4F64 3C0141F0 */ lui $at, 0x41f0 -/* 1067E8 802E4F68 44810000 */ mtc1 $at, $f0 -/* 1067EC 802E4F6C E622004C */ swc1 $f2, 0x4c($s1) -/* 1067F0 802E4F70 C6020020 */ lwc1 $f2, 0x20($s0) -/* 1067F4 802E4F74 46001001 */ sub.s $f0, $f2, $f0 -/* 1067F8 802E4F78 44802000 */ mtc1 $zero, $f4 -/* 1067FC 802E4F7C 00000000 */ nop -/* 106800 802E4F80 4604003C */ c.lt.s $f0, $f4 -/* 106804 802E4F84 00000000 */ nop -/* 106808 802E4F88 45000003 */ bc1f .L802E4F98 -/* 10680C 802E4F8C E6000020 */ swc1 $f0, 0x20($s0) -/* 106810 802E4F90 46140000 */ add.s $f0, $f0, $f20 -/* 106814 802E4F94 E6000020 */ swc1 $f0, 0x20($s0) -.L802E4F98: -/* 106818 802E4F98 C6200064 */ lwc1 $f0, 0x64($s1) -/* 10681C 802E4F9C C6020054 */ lwc1 $f2, 0x54($s0) -/* 106820 802E4FA0 46020000 */ add.s $f0, $f0, $f2 -/* 106824 802E4FA4 3C014000 */ lui $at, 0x4000 -/* 106828 802E4FA8 44811000 */ mtc1 $at, $f2 -/* 10682C 802E4FAC E6200064 */ swc1 $f0, 0x64($s1) -/* 106830 802E4FB0 C6000054 */ lwc1 $f0, 0x54($s0) -/* 106834 802E4FB4 46020000 */ add.s $f0, $f0, $f2 -/* 106838 802E4FB8 4600203E */ c.le.s $f4, $f0 -/* 10683C 802E4FBC 00000000 */ nop -/* 106840 802E4FC0 450000AC */ bc1f .L802E5274 -/* 106844 802E4FC4 E6000054 */ swc1 $f0, 0x54($s0) -/* 106848 802E4FC8 92020001 */ lbu $v0, 1($s0) -/* 10684C 802E4FCC E6040018 */ swc1 $f4, 0x18($s0) -/* 106850 802E4FD0 E604001C */ swc1 $f4, 0x1c($s0) -/* 106854 802E4FD4 24420001 */ addiu $v0, $v0, 1 -/* 106858 802E4FD8 A2020001 */ sb $v0, 1($s0) -/* 10685C 802E4FDC 864200B0 */ lh $v0, 0xb0($s2) -/* 106860 802E4FE0 2404FFFF */ addiu $a0, $zero, -1 -/* 106864 802E4FE4 A2000003 */ sb $zero, 3($s0) -/* 106868 802E4FE8 24420005 */ addiu $v0, $v0, 5 -/* 10686C 802E4FEC 44820000 */ mtc1 $v0, $f0 -/* 106870 802E4FF0 00000000 */ nop -/* 106874 802E4FF4 46800020 */ cvt.s.w $f0, $f0 -/* 106878 802E4FF8 0C03A8B3 */ jal recover_hp -/* 10687C 802E4FFC E6000004 */ swc1 $f0, 4($s0) -/* 106880 802E5000 0C03A899 */ jal recover_fp -/* 106884 802E5004 2404FFFF */ addiu $a0, $zero, -1 -/* 106888 802E5008 0C05272D */ jal sfx_play_sound -/* 10688C 802E500C 24040131 */ addiu $a0, $zero, 0x131 -/* 106890 802E5010 080B949D */ j .L802E5274 -/* 106894 802E5014 00000000 */ nop -glabel L802E5018_106898 -/* 106898 802E5018 C600001C */ lwc1 $f0, 0x1c($s0) -/* 10689C 802E501C 3C014000 */ lui $at, 0x4000 -/* 1068A0 802E5020 44811800 */ mtc1 $at, $f3 -/* 1068A4 802E5024 44801000 */ mtc1 $zero, $f2 -/* 1068A8 802E5028 46000021 */ cvt.d.s $f0, $f0 -/* 1068AC 802E502C 46220000 */ add.d $f0, $f0, $f2 -/* 1068B0 802E5030 3C014120 */ lui $at, 0x4120 -/* 1068B4 802E5034 44811000 */ mtc1 $at, $f2 -/* 1068B8 802E5038 46200020 */ cvt.s.d $f0, $f0 -/* 1068BC 802E503C 4600103E */ c.le.s $f2, $f0 -/* 1068C0 802E5040 00000000 */ nop -/* 1068C4 802E5044 45000002 */ bc1f .L802E5050 -/* 1068C8 802E5048 E600001C */ swc1 $f0, 0x1c($s0) -/* 1068CC 802E504C E602001C */ swc1 $f2, 0x1c($s0) -.L802E5050: -/* 1068D0 802E5050 C6020018 */ lwc1 $f2, 0x18($s0) -/* 1068D4 802E5054 3C014190 */ lui $at, 0x4190 -/* 1068D8 802E5058 44810000 */ mtc1 $at, $f0 -/* 1068DC 802E505C 00000000 */ nop -/* 1068E0 802E5060 46001000 */ add.s $f0, $f2, $f0 -/* 1068E4 802E5064 3C0143B4 */ lui $at, 0x43b4 -/* 1068E8 802E5068 4481B000 */ mtc1 $at, $f22 -/* 1068EC 802E506C 00000000 */ nop -/* 1068F0 802E5070 4600B03E */ c.le.s $f22, $f0 -/* 1068F4 802E5074 00000000 */ nop -/* 1068F8 802E5078 45000003 */ bc1f .L802E5088 -/* 1068FC 802E507C E6000018 */ swc1 $f0, 0x18($s0) -/* 106900 802E5080 46160001 */ sub.s $f0, $f0, $f22 -/* 106904 802E5084 E6000018 */ swc1 $f0, 0x18($s0) -.L802E5088: -/* 106908 802E5088 C60C0018 */ lwc1 $f12, 0x18($s0) -/* 10690C 802E508C 3C0140C9 */ lui $at, 0x40c9 -/* 106910 802E5090 34210FD0 */ ori $at, $at, 0xfd0 -/* 106914 802E5094 4481A000 */ mtc1 $at, $f20 -/* 106918 802E5098 00000000 */ nop -/* 10691C 802E509C 46146302 */ mul.s $f12, $f12, $f20 -/* 106920 802E50A0 00000000 */ nop -/* 106924 802E50A4 0C00A85B */ jal sin_rad -/* 106928 802E50A8 46166303 */ div.s $f12, $f12, $f22 -/* 10692C 802E50AC C60C0018 */ lwc1 $f12, 0x18($s0) -/* 106930 802E50B0 46146302 */ mul.s $f12, $f12, $f20 -/* 106934 802E50B4 00000000 */ nop -/* 106938 802E50B8 C602001C */ lwc1 $f2, 0x1c($s0) -/* 10693C 802E50BC 46001502 */ mul.s $f20, $f2, $f0 -/* 106940 802E50C0 00000000 */ nop -/* 106944 802E50C4 0C00A874 */ jal cos_rad -/* 106948 802E50C8 46166303 */ div.s $f12, $f12, $f22 -/* 10694C 802E50CC C6060004 */ lwc1 $f6, 4($s0) -/* 106950 802E50D0 3C01802F */ lui $at, %hi(D_802EB290) -/* 106954 802E50D4 D424B290 */ ldc1 $f4, %lo(D_802EB290)($at) -/* 106958 802E50D8 92030003 */ lbu $v1, 3($s0) -/* 10695C 802E50DC 460030A1 */ cvt.d.s $f2, $f6 -/* 106960 802E50E0 46241081 */ sub.d $f2, $f2, $f4 -/* 106964 802E50E4 24620001 */ addiu $v0, $v1, 1 -/* 106968 802E50E8 462010A0 */ cvt.s.d $f2, $f2 -/* 10696C 802E50EC E6020004 */ swc1 $f2, 4($s0) -/* 106970 802E50F0 C602001C */ lwc1 $f2, 0x1c($s0) -/* 106974 802E50F4 30630001 */ andi $v1, $v1, 1 -/* 106978 802E50F8 46001082 */ mul.s $f2, $f2, $f0 -/* 10697C 802E50FC 00000000 */ nop -/* 106980 802E5100 1060000F */ beqz $v1, .L802E5140 -/* 106984 802E5104 A2020003 */ sb $v0, 3($s0) -/* 106988 802E5108 C6400028 */ lwc1 $f0, 0x28($s2) -/* 10698C 802E510C 46140000 */ add.s $f0, $f0, $f20 -/* 106990 802E5110 44050000 */ mfc1 $a1, $f0 -/* 106994 802E5114 C640002C */ lwc1 $f0, 0x2c($s2) -/* 106998 802E5118 46060000 */ add.s $f0, $f0, $f6 -/* 10699C 802E511C 44060000 */ mfc1 $a2, $f0 -/* 1069A0 802E5120 C6400030 */ lwc1 $f0, 0x30($s2) -/* 1069A4 802E5124 46020001 */ sub.s $f0, $f0, $f2 -/* 1069A8 802E5128 44070000 */ mfc1 $a3, $f0 -/* 1069AC 802E512C 3C014100 */ lui $at, 0x4100 -/* 1069B0 802E5130 44810000 */ mtc1 $at, $f0 -/* 1069B4 802E5134 24040003 */ addiu $a0, $zero, 3 -/* 1069B8 802E5138 0C01BFBC */ jal playFX_11 -/* 1069BC 802E513C E7A00010 */ swc1 $f0, 0x10($sp) -.L802E5140: -/* 1069C0 802E5140 C6000004 */ lwc1 $f0, 4($s0) -/* 1069C4 802E5144 3C0141A0 */ lui $at, 0x41a0 -/* 1069C8 802E5148 44811000 */ mtc1 $at, $f2 -/* 1069CC 802E514C 00000000 */ nop -/* 1069D0 802E5150 4602003C */ c.lt.s $f0, $f2 -/* 1069D4 802E5154 00000000 */ nop -/* 1069D8 802E5158 45000005 */ bc1f L802E5170_1069F0 -/* 1069DC 802E515C 00000000 */ nop -/* 1069E0 802E5160 92020001 */ lbu $v0, 1($s0) -/* 1069E4 802E5164 E6020004 */ swc1 $f2, 4($s0) -/* 1069E8 802E5168 24420001 */ addiu $v0, $v0, 1 -/* 1069EC 802E516C A2020001 */ sb $v0, 1($s0) -glabel L802E5170_1069F0 -/* 1069F0 802E5170 C60C0020 */ lwc1 $f12, 0x20($s0) -/* 1069F4 802E5174 3C0140C9 */ lui $at, 0x40c9 -/* 1069F8 802E5178 34210FD0 */ ori $at, $at, 0xfd0 -/* 1069FC 802E517C 44810000 */ mtc1 $at, $f0 -/* 106A00 802E5180 00000000 */ nop -/* 106A04 802E5184 46006302 */ mul.s $f12, $f12, $f0 -/* 106A08 802E5188 00000000 */ nop -/* 106A0C 802E518C 3C0143B4 */ lui $at, 0x43b4 -/* 106A10 802E5190 4481A000 */ mtc1 $at, $f20 -/* 106A14 802E5194 0C00A85B */ jal sin_rad -/* 106A18 802E5198 46146303 */ div.s $f12, $f12, $f20 -/* 106A1C 802E519C 3C013F00 */ lui $at, 0x3f00 -/* 106A20 802E51A0 44811000 */ mtc1 $at, $f2 -/* 106A24 802E51A4 00000000 */ nop -/* 106A28 802E51A8 46020002 */ mul.s $f0, $f0, $f2 -/* 106A2C 802E51AC 00000000 */ nop -/* 106A30 802E51B0 C622004C */ lwc1 $f2, 0x4c($s1) -/* 106A34 802E51B4 46001080 */ add.s $f2, $f2, $f0 -/* 106A38 802E51B8 3C0141F0 */ lui $at, 0x41f0 -/* 106A3C 802E51BC 44812000 */ mtc1 $at, $f4 -/* 106A40 802E51C0 E622004C */ swc1 $f2, 0x4c($s1) -/* 106A44 802E51C4 C6000020 */ lwc1 $f0, 0x20($s0) -/* 106A48 802E51C8 46040081 */ sub.s $f2, $f0, $f4 -/* 106A4C 802E51CC 44800000 */ mtc1 $zero, $f0 -/* 106A50 802E51D0 00000000 */ nop -/* 106A54 802E51D4 4600103C */ c.lt.s $f2, $f0 -/* 106A58 802E51D8 00000000 */ nop -/* 106A5C 802E51DC 45000003 */ bc1f .L802E51EC -/* 106A60 802E51E0 E6020020 */ swc1 $f2, 0x20($s0) -/* 106A64 802E51E4 46141000 */ add.s $f0, $f2, $f20 -/* 106A68 802E51E8 E6000020 */ swc1 $f0, 0x20($s0) -.L802E51EC: -/* 106A6C 802E51EC C6000054 */ lwc1 $f0, 0x54($s0) -/* 106A70 802E51F0 3C013FF0 */ lui $at, 0x3ff0 -/* 106A74 802E51F4 44811800 */ mtc1 $at, $f3 -/* 106A78 802E51F8 44801000 */ mtc1 $zero, $f2 -/* 106A7C 802E51FC 46000021 */ cvt.d.s $f0, $f0 -/* 106A80 802E5200 46220000 */ add.d $f0, $f0, $f2 -/* 106A84 802E5204 46200020 */ cvt.s.d $f0, $f0 -/* 106A88 802E5208 4600203C */ c.lt.s $f4, $f0 -/* 106A8C 802E520C 00000000 */ nop -/* 106A90 802E5210 45000002 */ bc1f .L802E521C -/* 106A94 802E5214 E6000054 */ swc1 $f0, 0x54($s0) -/* 106A98 802E5218 E6040054 */ swc1 $f4, 0x54($s0) -.L802E521C: -/* 106A9C 802E521C C6220064 */ lwc1 $f2, 0x64($s1) -/* 106AA0 802E5220 C6000054 */ lwc1 $f0, 0x54($s0) -/* 106AA4 802E5224 46001000 */ add.s $f0, $f2, $f0 -/* 106AA8 802E5228 4600A03E */ c.le.s $f20, $f0 -/* 106AAC 802E522C 00000000 */ nop -/* 106AB0 802E5230 45000003 */ bc1f .L802E5240 -/* 106AB4 802E5234 E6200064 */ swc1 $f0, 0x64($s1) -/* 106AB8 802E5238 46140001 */ sub.s $f0, $f0, $f20 -/* 106ABC 802E523C E6200064 */ swc1 $f0, 0x64($s1) -.L802E5240: -/* 106AC0 802E5240 9222000B */ lbu $v0, 0xb($s1) -/* 106AC4 802E5244 2442FFFB */ addiu $v0, $v0, -5 -/* 106AC8 802E5248 A222000B */ sb $v0, 0xb($s1) -/* 106ACC 802E524C 304200FF */ andi $v0, $v0, 0xff -/* 106AD0 802E5250 2C420007 */ sltiu $v0, $v0, 7 -/* 106AD4 802E5254 10400007 */ beqz $v0, .L802E5274 -/* 106AD8 802E5258 24020005 */ addiu $v0, $zero, 5 -/* 106ADC 802E525C A222000B */ sb $v0, 0xb($s1) -/* 106AE0 802E5260 92030001 */ lbu $v1, 1($s0) -/* 106AE4 802E5264 24020004 */ addiu $v0, $zero, 4 -/* 106AE8 802E5268 14620002 */ bne $v1, $v0, .L802E5274 -/* 106AEC 802E526C 24620001 */ addiu $v0, $v1, 1 -/* 106AF0 802E5270 A2020001 */ sb $v0, 1($s0) -.L802E5274: -/* 106AF4 802E5274 96020024 */ lhu $v0, 0x24($s0) -/* 106AF8 802E5278 C6200064 */ lwc1 $f0, 0x64($s1) -/* 106AFC 802E527C 00021080 */ sll $v0, $v0, 2 -/* 106B00 802E5280 02021021 */ addu $v0, $s0, $v0 -/* 106B04 802E5284 E4400028 */ swc1 $f0, 0x28($v0) -/* 106B08 802E5288 96020024 */ lhu $v0, 0x24($s0) -/* 106B0C 802E528C 24420001 */ addiu $v0, $v0, 1 -/* 106B10 802E5290 A6020024 */ sh $v0, 0x24($s0) -/* 106B14 802E5294 3042FFFF */ andi $v0, $v0, 0xffff -/* 106B18 802E5298 2C42000B */ sltiu $v0, $v0, 0xb -/* 106B1C 802E529C 50400012 */ beql $v0, $zero, .L802E52E8 -/* 106B20 802E52A0 A6000024 */ sh $zero, 0x24($s0) -/* 106B24 802E52A4 080B94BA */ j .L802E52E8 -/* 106B28 802E52A8 00000000 */ nop -glabel L802E52AC_106B2C -/* 106B2C 802E52AC 8E420004 */ lw $v0, 4($s2) -/* 106B30 802E52B0 2403FDFF */ addiu $v1, $zero, -0x201 -/* 106B34 802E52B4 00431024 */ and $v0, $v0, $v1 -/* 106B38 802E52B8 0C038069 */ jal enable_player_input -/* 106B3C 802E52BC AE420004 */ sw $v0, 4($s2) -/* 106B40 802E52C0 0C009C22 */ jal set_time_freeze_mode -/* 106B44 802E52C4 0000202D */ daddu $a0, $zero, $zero -/* 106B48 802E52C8 0220202D */ daddu $a0, $s1, $zero -/* 106B4C 802E52CC 3C05800A */ lui $a1, %hi(gOverrideFlags) -/* 106B50 802E52D0 24A5A650 */ addiu $a1, $a1, %lo(gOverrideFlags) -/* 106B54 802E52D4 8CA20000 */ lw $v0, ($a1) -/* 106B58 802E52D8 2403FFBF */ addiu $v1, $zero, -0x41 -/* 106B5C 802E52DC 00431024 */ and $v0, $v0, $v1 -/* 106B60 802E52E0 0C043F5A */ jal exec_entity_commandlist -/* 106B64 802E52E4 ACA20000 */ sw $v0, ($a1) -.L802E52E8: -/* 106B68 802E52E8 8FBF0024 */ lw $ra, 0x24($sp) -/* 106B6C 802E52EC 8FB20020 */ lw $s2, 0x20($sp) -/* 106B70 802E52F0 8FB1001C */ lw $s1, 0x1c($sp) -/* 106B74 802E52F4 8FB00018 */ lw $s0, 0x18($sp) -/* 106B78 802E52F8 D7B60030 */ ldc1 $f22, 0x30($sp) -/* 106B7C 802E52FC D7B40028 */ ldc1 $f20, 0x28($sp) -/* 106B80 802E5300 03E00008 */ jr $ra -/* 106B84 802E5304 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_anim_idle.s b/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_anim_idle.s deleted file mode 100644 index d9695d4116..0000000000 --- a/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_anim_idle.s +++ /dev/null @@ -1,135 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -glabel D_802EB270 -.double 0.01 - -.section .text - -glabel entity_HeartBlockContent_anim_idle -/* 106490 802E4C10 27BDFFD0 */ addiu $sp, $sp, -0x30 -/* 106494 802E4C14 AFB10024 */ sw $s1, 0x24($sp) -/* 106498 802E4C18 0080882D */ daddu $s1, $a0, $zero -/* 10649C 802E4C1C AFBF0028 */ sw $ra, 0x28($sp) -/* 1064A0 802E4C20 AFB00020 */ sw $s0, 0x20($sp) -/* 1064A4 802E4C24 8E300040 */ lw $s0, 0x40($s1) -/* 1064A8 802E4C28 92030001 */ lbu $v1, 1($s0) -/* 1064AC 802E4C2C 24020001 */ addiu $v0, $zero, 1 -/* 1064B0 802E4C30 10620014 */ beq $v1, $v0, .L802E4C84 -/* 1064B4 802E4C34 28620002 */ slti $v0, $v1, 2 -/* 1064B8 802E4C38 10400005 */ beqz $v0, .L802E4C50 -/* 1064BC 802E4C3C 24020002 */ addiu $v0, $zero, 2 -/* 1064C0 802E4C40 50600009 */ beql $v1, $zero, .L802E4C68 -/* 1064C4 802E4C44 AE200054 */ sw $zero, 0x54($s1) -/* 1064C8 802E4C48 080B935C */ j .L802E4D70 -/* 1064CC 802E4C4C 00000000 */ nop -.L802E4C50: -/* 1064D0 802E4C50 10620028 */ beq $v1, $v0, .L802E4CF4 -/* 1064D4 802E4C54 24020003 */ addiu $v0, $zero, 3 -/* 1064D8 802E4C58 1062002B */ beq $v1, $v0, .L802E4D08 -/* 1064DC 802E4C5C 00000000 */ nop -/* 1064E0 802E4C60 080B935C */ j .L802E4D70 -/* 1064E4 802E4C64 00000000 */ nop -.L802E4C68: -/* 1064E8 802E4C68 AE200058 */ sw $zero, 0x58($s1) -/* 1064EC 802E4C6C 14A00057 */ bnez $a1, .L802E4DCC -/* 1064F0 802E4C70 AE20005C */ sw $zero, 0x5c($s1) -/* 1064F4 802E4C74 92020001 */ lbu $v0, 1($s0) -/* 1064F8 802E4C78 24420001 */ addiu $v0, $v0, 1 -/* 1064FC 802E4C7C 080B935C */ j .L802E4D70 -/* 106500 802E4C80 A2020001 */ sb $v0, 1($s0) -.L802E4C84: -/* 106504 802E4C84 C6200054 */ lwc1 $f0, 0x54($s1) -/* 106508 802E4C88 3C01802F */ lui $at, %hi(D_802EB270) -/* 10650C 802E4C8C D422B270 */ ldc1 $f2, %lo(D_802EB270)($at) -/* 106510 802E4C90 46000021 */ cvt.d.s $f0, $f0 -/* 106514 802E4C94 46220000 */ add.d $f0, $f0, $f2 -/* 106518 802E4C98 3C013FF0 */ lui $at, 0x3ff0 -/* 10651C 802E4C9C 44811800 */ mtc1 $at, $f3 -/* 106520 802E4CA0 44801000 */ mtc1 $zero, $f2 -/* 106524 802E4CA4 46200020 */ cvt.s.d $f0, $f0 -/* 106528 802E4CA8 E6200054 */ swc1 $f0, 0x54($s1) -/* 10652C 802E4CAC 46000021 */ cvt.d.s $f0, $f0 -/* 106530 802E4CB0 4620103E */ c.le.d $f2, $f0 -/* 106534 802E4CB4 00000000 */ nop -/* 106538 802E4CB8 45000009 */ bc1f .L802E4CE0 -/* 10653C 802E4CBC 00000000 */ nop -/* 106540 802E4CC0 3C013F80 */ lui $at, 0x3f80 -/* 106544 802E4CC4 44810000 */ mtc1 $at, $f0 -/* 106548 802E4CC8 00000000 */ nop -/* 10654C 802E4CCC E6200054 */ swc1 $f0, 0x54($s1) -/* 106550 802E4CD0 92020001 */ lbu $v0, 1($s0) -/* 106554 802E4CD4 A2000002 */ sb $zero, 2($s0) -/* 106558 802E4CD8 24420001 */ addiu $v0, $v0, 1 -/* 10655C 802E4CDC A2020001 */ sb $v0, 1($s0) -.L802E4CE0: -/* 106560 802E4CE0 C6200054 */ lwc1 $f0, 0x54($s1) -/* 106564 802E4CE4 46000086 */ mov.s $f2, $f0 -/* 106568 802E4CE8 E620005C */ swc1 $f0, 0x5c($s1) -/* 10656C 802E4CEC 080B935C */ j .L802E4D70 -/* 106570 802E4CF0 E6220058 */ swc1 $f2, 0x58($s1) -.L802E4CF4: -/* 106574 802E4CF4 0C0B92C4 */ jal entity_HeartBlockContent_set_initial_pos -/* 106578 802E4CF8 0220202D */ daddu $a0, $s1, $zero -/* 10657C 802E4CFC 92020001 */ lbu $v0, 1($s0) -/* 106580 802E4D00 24420001 */ addiu $v0, $v0, 1 -/* 106584 802E4D04 A2020001 */ sb $v0, 1($s0) -.L802E4D08: -/* 106588 802E4D08 3C02800A */ lui $v0, %hi(gOverrideFlags) -/* 10658C 802E4D0C 8C42A650 */ lw $v0, %lo(gOverrideFlags)($v0) -/* 106590 802E4D10 14400017 */ bnez $v0, .L802E4D70 -/* 106594 802E4D14 00000000 */ nop -/* 106598 802E4D18 92020002 */ lbu $v0, 2($s0) -/* 10659C 802E4D1C 2442FFFF */ addiu $v0, $v0, -1 -/* 1065A0 802E4D20 A2020002 */ sb $v0, 2($s0) -/* 1065A4 802E4D24 00021600 */ sll $v0, $v0, 0x18 -/* 1065A8 802E4D28 1C400011 */ bgtz $v0, .L802E4D70 -/* 1065AC 802E4D2C 24020032 */ addiu $v0, $zero, 0x32 -/* 1065B0 802E4D30 9204000A */ lbu $a0, 0xa($s0) -/* 1065B4 802E4D34 3C0141B0 */ lui $at, 0x41b0 -/* 1065B8 802E4D38 44810000 */ mtc1 $at, $f0 -/* 1065BC 802E4D3C 3C014100 */ lui $at, 0x4100 -/* 1065C0 802E4D40 44811000 */ mtc1 $at, $f2 -/* 1065C4 802E4D44 A2020002 */ sb $v0, 2($s0) -/* 1065C8 802E4D48 24020004 */ addiu $v0, $zero, 4 -/* 1065CC 802E4D4C AFA20018 */ sw $v0, 0x18($sp) -/* 1065D0 802E4D50 24020014 */ addiu $v0, $zero, 0x14 -/* 1065D4 802E4D54 AFA2001C */ sw $v0, 0x1c($sp) -/* 1065D8 802E4D58 E7A00010 */ swc1 $f0, 0x10($sp) -/* 1065DC 802E4D5C E7A20014 */ swc1 $f2, 0x14($sp) -/* 1065E0 802E4D60 8E250048 */ lw $a1, 0x48($s1) -/* 1065E4 802E4D64 8E26004C */ lw $a2, 0x4c($s1) -/* 1065E8 802E4D68 0C01C154 */ jal playFX_22 -/* 1065EC 802E4D6C 8E270050 */ lw $a3, 0x50($s1) -.L802E4D70: -/* 1065F0 802E4D70 0C04417A */ jal get_entity_by_index -/* 1065F4 802E4D74 92040000 */ lbu $a0, ($s0) -/* 1065F8 802E4D78 0C0B836C */ jal entity_can_collide_with_jumping_player -/* 1065FC 802E4D7C 0040202D */ daddu $a0, $v0, $zero -/* 106600 802E4D80 10400012 */ beqz $v0, .L802E4DCC -/* 106604 802E4D84 00000000 */ nop -/* 106608 802E4D88 0C043F5A */ jal exec_entity_commandlist -/* 10660C 802E4D8C 0220202D */ daddu $a0, $s1, $zero -/* 106610 802E4D90 0C03805E */ jal disable_player_input -/* 106614 802E4D94 00000000 */ nop -/* 106618 802E4D98 3C038011 */ lui $v1, %hi(gPlayerStatus) -/* 10661C 802E4D9C 2463EFC8 */ addiu $v1, $v1, %lo(gPlayerStatus) -/* 106620 802E4DA0 8C620004 */ lw $v0, 4($v1) -/* 106624 802E4DA4 24040001 */ addiu $a0, $zero, 1 -/* 106628 802E4DA8 AC600054 */ sw $zero, 0x54($v1) -/* 10662C 802E4DAC 34420200 */ ori $v0, $v0, 0x200 -/* 106630 802E4DB0 0C009C22 */ jal set_time_freeze_mode -/* 106634 802E4DB4 AC620004 */ sw $v0, 4($v1) -/* 106638 802E4DB8 3C03800A */ lui $v1, %hi(gOverrideFlags) -/* 10663C 802E4DBC 2463A650 */ addiu $v1, $v1, %lo(gOverrideFlags) -/* 106640 802E4DC0 8C620000 */ lw $v0, ($v1) -/* 106644 802E4DC4 34420040 */ ori $v0, $v0, 0x40 -/* 106648 802E4DC8 AC620000 */ sw $v0, ($v1) -.L802E4DCC: -/* 10664C 802E4DCC 8FBF0028 */ lw $ra, 0x28($sp) -/* 106650 802E4DD0 8FB10024 */ lw $s1, 0x24($sp) -/* 106654 802E4DD4 8FB00020 */ lw $s0, 0x20($sp) -/* 106658 802E4DD8 03E00008 */ jr $ra -/* 10665C 802E4DDC 27BD0030 */ addiu $sp, $sp, 0x30 diff --git a/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_get_previous_yaw.s b/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_get_previous_yaw.s deleted file mode 100644 index 0973c36685..0000000000 --- a/ver/us/asm/nonmatchings/entity/HeartBlock/entity_HeartBlockContent_get_previous_yaw.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel entity_HeartBlockContent_get_previous_yaw -/* 105F90 802E4710 94820024 */ lhu $v0, 0x24($a0) -/* 105F94 802E4714 00451023 */ subu $v0, $v0, $a1 -/* 105F98 802E4718 04420001 */ bltzl $v0, .L802E4720 -/* 105F9C 802E471C 2442000A */ addiu $v0, $v0, 0xa -.L802E4720: -/* 105FA0 802E4720 00021080 */ sll $v0, $v0, 2 -/* 105FA4 802E4724 00821021 */ addu $v0, $a0, $v0 -/* 105FA8 802E4728 03E00008 */ jr $ra -/* 105FAC 802E472C C4400028 */ lwc1 $f0, 0x28($v0) diff --git a/ver/us/asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s b/ver/us/asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s deleted file mode 100644 index 8c46261e30..0000000000 --- a/ver/us/asm/nonmatchings/world/partner/bow/func_802BD100_323A50.s +++ /dev/null @@ -1,16 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD100_323A50 -/* 323A50 802BD100 2402001A */ addiu $v0, $zero, 0x1a -/* 323A54 802BD104 A48200A8 */ sh $v0, 0xa8($a0) -/* 323A58 802BD108 24020018 */ addiu $v0, $zero, 0x18 -/* 323A5C 802BD10C A48200A6 */ sh $v0, 0xa6($a0) -/* 323A60 802BD110 24020011 */ addiu $v0, $zero, 0x11 -/* 323A64 802BD114 A08200AA */ sb $v0, 0xaa($a0) -/* 323A68 802BD118 3C01802C */ lui $at, %hi(D_802BE0C4) -/* 323A6C 802BD11C AC20E0C4 */ sw $zero, %lo(D_802BE0C4)($at) -/* 323A70 802BD120 3C01802C */ lui $at, %hi(D_802BE0C0) -/* 323A74 802BD124 AC20E0C0 */ sw $zero, %lo(D_802BE0C0)($at) -/* 323A78 802BD128 03E00008 */ jr $ra -/* 323A7C 802BD12C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/partner/bow/func_802BD130_323A80.s b/ver/us/asm/nonmatchings/world/partner/bow/func_802BD130_323A80.s deleted file mode 100644 index b23666a894..0000000000 --- a/ver/us/asm/nonmatchings/world/partner/bow/func_802BD130_323A80.s +++ /dev/null @@ -1,19 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_802BD130_323A80 -/* 323A80 802BD130 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 323A84 802BD134 AFBF0014 */ sw $ra, 0x14($sp) -/* 323A88 802BD138 AFB00010 */ sw $s0, 0x10($sp) -/* 323A8C 802BD13C 10A00003 */ beqz $a1, .L802BD14C -/* 323A90 802BD140 8C90014C */ lw $s0, 0x14c($a0) -/* 323A94 802BD144 0C03BB31 */ jal partner_init_get_out -/* 323A98 802BD148 0200202D */ daddu $a0, $s0, $zero -.L802BD14C: -/* 323A9C 802BD14C 0C03BB3A */ jal partner_get_out -/* 323AA0 802BD150 0200202D */ daddu $a0, $s0, $zero -/* 323AA4 802BD154 8FBF0014 */ lw $ra, 0x14($sp) -/* 323AA8 802BD158 8FB00010 */ lw $s0, 0x10($sp) -/* 323AAC 802BD15C 0002102B */ sltu $v0, $zero, $v0 -/* 323AB0 802BD160 03E00008 */ jr $ra -/* 323AB4 802BD164 27BD0018 */ addiu $sp, $sp, 0x18