From 93d8c4989b03a2f55e74cfc5c4219411301e0dd0 Mon Sep 17 00:00:00 2001 From: Rainchus Date: Mon, 11 Apr 2022 20:59:20 -0500 Subject: [PATCH] More overworld partner functions and other various functions (#680) * decomp appendGfx_player, fix warnings in 77480.c file * small style fixes * fix action state enum and make use of enum * merge master * decomp some mario rendering functions * run coverage.py * review changes * use decimal in func arg * 891b0 and sprite functions * finish lakilester world file * run coverage.py * remove duplication declarations * requested changes and remove some warnings from sprite.c * ...run coverage.py * decomp 2 funcs in throw_spiny.c * throw_spiny_appendGfx * match spiny throw.c and remaining kooper overworld functions * cleanup throw_spiny.c and decomp spin.c * combine variable declarations in spin.c * run coverage.py * more spin.c cleanup * req changes Co-authored-by: Ethan Roseman --- include/effects_internal.h | 2 +- src/effects/balloon.c | 8 +- src/effects/throw_spiny.c | 191 ++- src/world/action/spin.c | 257 +++- src/world/partner/kooper.c | 48 +- src/world/partner/lakilester.c | 3 - ver/us/asm/data/effects/3CFAB0.data.s | 21 - .../throw_spiny/throw_spiny_appendGfx.s | 179 --- .../effects/throw_spiny/throw_spiny_main.s | 144 -- .../effects/throw_spiny/throw_spiny_update.s | 132 -- .../world/action/spin/func_802B6000_E25D60.s | 673 --------- .../partner/kooper/func_802BD638_31B658.s | 1198 ----------------- ver/us/splat.yaml | 2 +- ver/us/undefined_syms.txt | 5 + 14 files changed, 470 insertions(+), 2393 deletions(-) delete mode 100644 ver/us/asm/data/effects/3CFAB0.data.s delete mode 100644 ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_appendGfx.s delete mode 100644 ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_main.s delete mode 100644 ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_update.s delete mode 100644 ver/us/asm/nonmatchings/world/action/spin/func_802B6000_E25D60.s delete mode 100644 ver/us/asm/nonmatchings/world/partner/kooper/func_802BD638_31B658.s diff --git a/include/effects_internal.h b/include/effects_internal.h index a6bea2dfb4..dec9eea579 100644 --- a/include/effects_internal.h +++ b/include/effects_internal.h @@ -128,7 +128,7 @@ FX_MAIN(snowman_doll_main); FX_MAIN(fright_jar_main); FX_MAIN(stop_watch_main); FX_MAIN(fx_63_main); -FX_MAIN(throw_spiny_main); +EffectInstance* throw_spiny_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); FX_MAIN(fx_65_main); FX_MAIN(tubba_heart_attack_main); FX_MAIN(whirlwind_main); diff --git a/src/effects/balloon.c b/src/effects/balloon.c index eacb76c4c3..8a8591ff7c 100644 --- a/src/effects/balloon.c +++ b/src/effects/balloon.c @@ -86,16 +86,16 @@ void balloon_render(EffectInstance* effect) { void balloon_appendGfx(void* effect) { Matrix4f sp18; Matrix4f sp58; - BalloonFXData* part = ((EffectInstance*)effect)->data; - s32 idx = part->unk_00; + BalloonFXData* data = ((EffectInstance*)effect)->data; + s32 idx = data->unk_00; gDPPipeSync(gMasterGfxPos++); gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); - shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C); + shim_guTranslateF(sp18, data->unk_04, data->unk_08, data->unk_0C); shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); shim_guMtxCatF(sp58, sp18, sp18); - shim_guScaleF(sp58, part->unk_18, part->unk_18, 1.0f); + shim_guScaleF(sp58, data->unk_18, data->unk_18, 1.0f); shim_guMtxCatF(sp58, sp18, sp18); shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); diff --git a/src/effects/throw_spiny.c b/src/effects/throw_spiny.c index 2b42c04551..30e950cb3a 100644 --- a/src/effects/throw_spiny.c +++ b/src/effects/throw_spiny.c @@ -1,14 +1,172 @@ #include "common.h" #include "effects_internal.h" +#include "effects.h" void throw_spiny_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/throw_spiny", throw_spiny_main); +void throw_spiny_init(EffectInstance* effect); +void throw_spiny_update(EffectInstance* effect); +void throw_spiny_render(EffectInstance* effect); -void throw_spiny_init(void) { +extern Gfx D_09000800[]; +extern Gfx D_090008D8[]; +extern Gfx D_090009F0[]; + +Gfx* D_E00C8710[2] = { D_09000800, D_090008D8 }; + +u8 D_E00C8718[8] = { 110, 150, 130, 110, 100, 95, 100, 0 }; +u8 D_E00C8720[8] = { 80, 60, 80, 100, 120, 110, 100, 0 }; + +typedef struct ThrowSpinyFXData { +/* 0x00 */ s32 unk_00; +/* 0x04 */ Vec3f pos; +/* 0x10 */ f32 unk_10; +/* 0x14 */ f32 unk_14; +/* 0x18 */ f32 unk_18; +/* 0x1C */ f32 unk_1C; +/* 0x20 */ f32 unk_20; +/* 0x24 */ f32 unk_24; +/* 0x28 */ s32 life; +/* 0x2C */ s32 lifeDuration; +/* 0x30 */ s32 unk_30; +/* 0x34 */ s32 unk_34; +/* 0x38 */ s32 unk_38; +/* 0x3C */ s32 rgba; +/* 0x40 */ f32 unk_40; +/* 0x44 */ f32 unk_44; +/* 0x48 */ f32 gravity; +/* 0x4C */ f32 unk_4C; +/* 0x50 */ f32 yaw; +/* 0x54 */ f32 rotationSpeed; +/* 0x58 */ f32 xScale; +/* 0x5C */ f32 yScale; +/* 0x60 */ u32 state; +/* 0x64 */ s32 unk_64; +/* 0x68 */ s32 timeUntilFall; //how long until spiny falls to ground? +} ThrowSpinyFXData; //sizeof 0x6C + +//during spiny surge +EffectInstance* throw_spiny_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 time) { + EffectBlueprint bp; + EffectBlueprint* bpPtr = &bp; + EffectInstance* effect; + ThrowSpinyFXData* spinyObject; + s32 numParts = 1; + f32 temp_f4, temp_f8, gravity; + + bp.init = throw_spiny_init; + bp.update = throw_spiny_update; + bp.renderWorld = throw_spiny_render; + bp.unk_00 = 0; + bp.unk_14 = NULL; + bp.effectID = EFFECT_THROW_SPINY; + + effect = (EffectInstance*)shim_create_effect_instance(bpPtr); + effect->numParts = numParts; + spinyObject = effect->data = shim_general_heap_malloc(numParts * sizeof(*spinyObject)); + ASSERT(effect->data != NULL); + spinyObject->unk_00 = arg0; + spinyObject->lifeDuration = 0; + + if (time <= 0) { + spinyObject->life = 1000; + } else { + spinyObject->life = time + 60; + } + + temp_f8 = arg5 - arg2; + temp_f4 = time; + gravity = (temp_f8 / temp_f4) - (time * -0.10000000149011612); //TODO: fix this weird number + spinyObject->timeUntilFall = time; + spinyObject->rgba = 255; + spinyObject->unk_10 = arg1; + spinyObject->unk_14 = arg2; + spinyObject->unk_18 = arg3; + spinyObject->unk_1C = arg4; + spinyObject->unk_20 = arg5; + spinyObject->unk_24 = arg6; + spinyObject->unk_44 = (arg4 - arg1) / temp_f4; + spinyObject->unk_4C = (arg6 - arg3) / temp_f4; + spinyObject->pos.x = arg1; + spinyObject->pos.y = arg2; + spinyObject->pos.z = arg3; + spinyObject->gravity = gravity; + + if (temp_f8 < 0.0f) { + spinyObject->unk_64 = 1; + } else { + spinyObject->unk_64 = 0; + } + + spinyObject->unk_40 = arg7; + spinyObject->unk_30 = 70; + spinyObject->unk_34 = 180; + spinyObject->unk_38 = 120; + spinyObject->yaw = shim_rand_int(360); + spinyObject->rotationSpeed = shim_rand_int(10) + 5; + spinyObject->state = -1; + spinyObject->xScale = 1.0f; + spinyObject->yScale = 1.0f; + return effect; } -INCLUDE_ASM(s32, "effects/throw_spiny", throw_spiny_update); +void throw_spiny_init(EffectInstance* effect) { +} + +void throw_spiny_update(EffectInstance* effectInstance) { + ThrowSpinyFXData* spinyObject = effectInstance->data; + u32 state; + f32 gravity; + s32 lifeDuration; + + if (effectInstance->flags & EFFECT_INSTANCE_FLAGS_10) { + effectInstance->flags &= ~EFFECT_INSTANCE_FLAGS_10; + spinyObject->life = 16; + } + + if (spinyObject->life < 1000) { + spinyObject->life--; + } + + spinyObject->lifeDuration++; + + if (spinyObject->life < 0) { + shim_remove_effect(effectInstance); + return; + } + + lifeDuration = spinyObject->lifeDuration; + state = spinyObject->state; + + if (state < 7) { + spinyObject->xScale = D_E00C8718[state] * 0.01f; + spinyObject->yScale = D_E00C8720[state] * 0.01f; + spinyObject->state += 1; + spinyObject->yaw -= 40.0f; + } else { + spinyObject->gravity += -0.2f; + spinyObject->pos.x += spinyObject->unk_44; + spinyObject->pos.y += spinyObject->gravity; + spinyObject->pos.z += spinyObject->unk_4C; + spinyObject->yaw += spinyObject->rotationSpeed; + } + + if ((lifeDuration - 1) == spinyObject->timeUntilFall) { + spinyObject->state = 0; + spinyObject->gravity = -spinyObject->gravity; + spinyObject->unk_44 = spinyObject->unk_44; + spinyObject->rotationSpeed = -4.0f; + return; + } + + gravity = spinyObject->gravity; + + if ((gravity < 0.0f) && (spinyObject->pos.y < 100.0 / 7.0)) { + spinyObject->pos.y = 100.0f / 7.0f; + spinyObject->rotationSpeed = -20.0f; + spinyObject->gravity = gravity - gravity; + } +} void throw_spiny_render(EffectInstance* effect) { RenderTask renderTask; @@ -26,4 +184,29 @@ void throw_spiny_render(EffectInstance* effect) { void func_E00C844C(void) { } -INCLUDE_ASM(s32, "effects/throw_spiny", throw_spiny_appendGfx); +void throw_spiny_appendGfx(void* effect) { + Matrix4f sp18; + Matrix4f sp58; + Camera* camera = &gCameras[gCurrentCameraID]; + ThrowSpinyFXData* data = ((EffectInstance*)effect)->data; + s32 temp_s5 = data->rgba; + s32 temp_s6 = data->unk_00; + f32 scale = data->unk_40 * SPRITE_PIXEL_SCALE; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + + shim_guTranslateF(sp18, data->pos.x, data->pos.y, data->pos.z); + shim_guScaleF(sp58, scale * data->xScale, scale * data->yScale, scale); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guRotateF(sp58, data->yaw, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_30, data->unk_34, data->unk_38, temp_s5); + gSPDisplayList(gMasterGfxPos++, D_E00C8710[temp_s6]); + gSPDisplayList(gMasterGfxPos++, D_090009F0); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); +} diff --git a/src/world/action/spin.c b/src/world/action/spin.c index 3e51787aa8..7e24275909 100644 --- a/src/world/action/spin.c +++ b/src/world/action/spin.c @@ -1,3 +1,258 @@ #include "common.h" +#include "effects.h" -INCLUDE_ASM(s32, "world/action/spin", func_802B6000_E25D60); +extern s32 gSpinHistoryBufferPos; +extern s32 gSpinHistoryPosY[5]; +extern s32 gSpinHistoryPosX[5]; +extern s32 gSpinHistoryPosZ[5]; +extern s16 gSpinHistoryPosAngle[5]; +void phys_clear_spin_history(void); + +void func_802B6000_E25D60(void) { + PlayerSpinState* playerSpinState = &gPlayerSpinState; + PlayerStatus* playerStatus = &gPlayerStatus; + f32 sp10, sp14, temp_f24; + s32 phi_s2, phi_s3, phi_s4; + s32 temp_v1_2; + s32 phi_s5 = 0; + + if (playerStatus->flags & PLAYER_STATUS_FLAGS_ACTION_STATE_CHANGED) { + playerStatus->flags &= ~(PLAYER_STATUS_FLAGS_ACTION_STATE_CHANGED | PLAYER_STATUS_FLAGS_80000); + playerStatus->animFlags &= ~PLAYER_STATUS_ANIM_FLAGS_40000; + playerStatus->animFlags |= PLAYER_STATUS_ANIM_FLAGS_SPINNING; + playerStatus->flags |= PLAYER_STATUS_FLAGS_20000; + playerStatus->currentStateTime = 0; + playerStatus->fallState = 0; + playerSpinState->stopSoundTimer = 0; + playerSpinState->hasBufferedSpin = 0; + playerSpinState->spinDirectionMagnitude = 0.0f; + playerSpinState->spinDirection.x = 0.0f; + playerSpinState->spinDirection.y = 0.0f; + playerSpinState->hitWallTime = 0; + playerSpinState->bufferedStickAxis.x = 0; + playerSpinState->bufferedStickAxis.y = 0; + playerSpinState->spinSoundID = 0; + playerStatus->unk_D8 = NULL; + playerSpinState->initialSpinTime = 25; + playerSpinState->fullSpeedSpinTime = 15; + playerSpinState->spinRate = 40.0f; + playerSpinState->speedScale = 2.0f; + playerSpinState->frictionScale = 0.5f; + playerSpinState->spinCountdown = playerSpinState->initialSpinTime; //was unk2D access? + phi_s5 = 1; + + if (is_ability_active(ABILITY_SPIN_ATTACK)) { + phi_s2 = 1 << 2; + } else { + phi_s2 = 0; + } + + if (is_ability_active(ABILITY_DIZZY_ATTACK)) { + phi_s2 = phi_s2 | 2; + } + + if (is_ability_active(ABILITY_SPEEDY_SPIN)) { + playerSpinState->initialSpinTime = 30; + playerSpinState->spinRate = 40.0f; + playerSpinState->fullSpeedSpinTime = 20; + playerSpinState->spinCountdown = playerSpinState->initialSpinTime; //was unk2D access? + playerSpinState->speedScale = 2.7f; + playerSpinState->frictionScale = 0.9f; + phi_s2 |= 1; + } + + phi_s4 = -1; + phi_s3 = 0x10010; + + if (phi_s2) { + if (phi_s2 & 4) { + phi_s4 = 2; + phi_s3 = 0x10012; + } else if (phi_s2 & 2) { + phi_s4 = 4; + } else if (phi_s2 & 1) { + phi_s4 = 0; + phi_s3 = 0x10011; + } + } + + playerSpinState->spinSoundID = SOUND_2111; + temp_v1_2 = phi_s2 & ~2; + + if (temp_v1_2 == 4) { + playerSpinState->spinSoundID = SOUND_2113; + } + if (temp_v1_2 == 1) { + playerSpinState->spinSoundID = SOUND_2112; + } + if (temp_v1_2 == 5) { + playerSpinState->spinSoundID = SOUND_2114; + } + + sfx_play_sound_at_player(playerSpinState->spinSoundID, 0); + suggest_player_anim_setUnkFlag(phi_s3); + + if ((clamp_angle(playerStatus->targetYaw - gCameras[gCurrentCameraID].currentYaw) <= 180.0f)) { + playerStatus->spinRate = playerSpinState->spinRate; + } else { + phi_s4++; + playerStatus->spinRate = -playerSpinState->spinRate; + } + if (phi_s2 != 0) { + playerStatus->unk_D8 = (void*)fx_46(phi_s4, (EffectWhirlwind* ) playerStatus, 1.0f, 1000); + } + + phys_clear_spin_history(); + player_input_to_move_vector(&sp10, &sp14); + playerStatus->targetYaw = sp10; + playerSpinState->inputMagnitude = sp14; + } + + gSpinHistoryPosAngle[gSpinHistoryBufferPos++] = playerStatus->spriteFacingAngle; + + if (gSpinHistoryBufferPos >= 6) { + gSpinHistoryBufferPos = 0; + } + + gSpinHistoryPosX[gSpinHistoryBufferPos] = playerStatus->position.x; + gSpinHistoryPosY[gSpinHistoryBufferPos] = playerStatus->position.y; + gSpinHistoryPosZ[gSpinHistoryBufferPos] = playerStatus->position.z; + gSpinHistoryPosAngle[gSpinHistoryBufferPos] = playerStatus->spriteFacingAngle; + gSpinHistoryBufferPos++; + + if (gSpinHistoryBufferPos >= 6) { + gSpinHistoryBufferPos = 0; + } + + if (phi_s5 == 0 && (check_input_hammer() || check_input_jump())) { + playerStatus->animFlags &= ~PLAYER_STATUS_ANIM_FLAGS_SPINNING; + playerStatus->flags &= ~PLAYER_STATUS_FLAGS_20000; + sfx_stop_sound(playerSpinState->spinSoundID); + player_input_to_move_vector(&sp10, &sp14); + playerStatus->targetYaw = sp10; + return; + } + + if (playerSpinState->spinCountdown < 11 && playerStatus->pressedButtons & Z_TRIG) { + playerSpinState->hasBufferedSpin = 1; + playerSpinState->prevActionState = playerStatus->prevActionState; + playerSpinState->bufferedStickAxis.x = playerStatus->stickAxis[0]; + playerSpinState->bufferedStickAxis.y = playerStatus->stickAxis[1]; + } + + if (playerStatus->fallState >= 2) { + playerSpinState->spinDirectionMagnitude = playerSpinState->spinDirectionMagnitude - 1.0f;; + if (playerSpinState->spinDirectionMagnitude < 0.0f) { + playerSpinState->spinDirectionMagnitude = 0.0f; + } + + sp10 = clamp_angle(playerStatus->targetYaw - gCameras[gCurrentCameraID].currentYaw); + playerSpinState->spinDirection.x = sin_rad(sp10 * TAU / 360.0f) * playerSpinState->spinDirectionMagnitude; + playerSpinState->spinDirection.y = -cos_rad((sp10 * TAU) / 360.0f) * playerSpinState->spinDirectionMagnitude; + playerStatus->currentStateTime--; + if ((playerStatus->currentStateTime) == 0) { + playerSpinState->stopSoundTimer = 4; + set_action_state(0); + playerStatus->flags &= ~PLAYER_STATUS_ANIM_FLAGS_20000; + playerStatus->animFlags &= ~PLAYER_STATUS_ANIM_FLAGS_SPINNING; + sfx_stop_sound(playerSpinState->spinSoundID); + } + playerStatus->currentSpeed = 0.0f; + return; + } + + if (playerStatus->fallState == 0) { + if (playerStatus->animFlags & PLAYER_STATUS_ANIM_FLAGS_40000) { + playerStatus->fallState = 1; + } else if (gCollisionStatus.pushingAgainstWall >= 0) { + playerSpinState->hitWallTime++; + if (playerSpinState->hitWallTime >= 10) { + playerStatus->fallState = 1; + } + } + } + + if (!(playerStatus->currentStateTime > playerSpinState->fullSpeedSpinTime)) { + temp_f24 = (playerSpinState->inputMagnitude) ? playerSpinState->speedScale : 0.0f; + playerSpinState->spinDirectionMagnitude = playerSpinState->spinDirectionMagnitude + 0.9; + + if (playerSpinState->spinDirectionMagnitude > 9.0f) { + playerSpinState->spinDirectionMagnitude = 9.0f; + } + + sp10 = clamp_angle(playerStatus->targetYaw - gCameras[gCurrentCameraID].currentYaw); + playerSpinState->spinDirection.x = sin_rad(sp10 * TAU / 360.0f) * playerSpinState->spinDirectionMagnitude; + playerSpinState->spinDirection.y = -cos_rad(sp10 * TAU / 360.0f) * playerSpinState->spinDirectionMagnitude; + } else { + temp_f24 = playerSpinState->speedScale - (playerStatus->currentStateTime - playerSpinState->fullSpeedSpinTime - 1) * playerSpinState->frictionScale; + if (temp_f24 < 0.1) { + temp_f24 = 0.1f; + } + + if (playerSpinState->inputMagnitude == 0.0f) { + temp_f24 = 0.0f; + } + + playerSpinState->spinDirectionMagnitude -= 1.0f; + if (playerSpinState->spinDirectionMagnitude < 0.0f) { + playerSpinState->spinDirectionMagnitude = 0.0f; + } + } + + playerStatus->currentStateTime++; + + switch (playerStatus->prevActionState) { + case 0: + player_input_to_move_vector(&sp10, &sp14); + phys_update_interact_collider(); + if (check_input_jump()) { + if (sp14 != 0.0f || playerStatus->targetYaw != sp10) { + playerStatus->targetYaw = sp10; + } + } + playerStatus->currentSpeed = (sp14 != 0.0f) ? playerStatus->runSpeed * temp_f24 : 0.0f; + break; + case 1: + case 2: + playerStatus->currentSpeed = playerStatus->runSpeed * temp_f24; + break; + } + if (playerStatus->fallState == 0) { + playerSpinState->spinCountdown--; + if (playerSpinState->spinCountdown > 0) { + if (playerStatus->currentStateTime >= 2) { + playerStatus->spriteFacingAngle = clamp_angle(playerStatus->spriteFacingAngle + playerStatus->spinRate); + } + return; + } else { + playerStatus->fallState = 1; + } + } + + if (playerStatus->fallState == 1) { + sp10 = playerStatus->spriteFacingAngle; + playerStatus->spriteFacingAngle = sp10 + playerStatus->spinRate; + + if (playerSpinState->hasBufferedSpin != 0) { + playerStatus->currentStateTime = 2; + playerStatus->fallState = 2; + playerStatus->flags &= ~PLAYER_STATUS_FLAGS_20000; + suggest_player_anim_clearUnkFlag(0x10002); + } else if (sp10 < playerStatus->spriteFacingAngle) { + if (playerStatus->spriteFacingAngle >= 180.0f && sp10 < 180.0f) { + playerStatus->spriteFacingAngle = 180.0f; + playerStatus->currentStateTime = 2; + playerStatus->fallState = 2; + playerStatus->flags &= ~PLAYER_STATUS_FLAGS_20000; + suggest_player_anim_clearUnkFlag(0x10002); + } + } else if (playerStatus->spriteFacingAngle <= 0.0f && sp10 < 90.0f) { + playerStatus->spriteFacingAngle = 0.0f; + playerStatus->currentStateTime = 2; + playerStatus->fallState = 2; + playerStatus->flags &= ~PLAYER_STATUS_FLAGS_20000; + suggest_player_anim_clearUnkFlag(0x10002); + } + playerStatus->spriteFacingAngle = clamp_angle(playerStatus->spriteFacingAngle); + } +} diff --git a/src/world/partner/kooper.c b/src/world/partner/kooper.c index f90c89c1e7..0d2aac3639 100644 --- a/src/world/partner/kooper.c +++ b/src/world/partner/kooper.c @@ -8,7 +8,7 @@ s32 test_item_entity_position(f32, f32, f32, f32); s32 npc_raycast_up_corner(s32 ignoreFlags, f32* x, f32* y, f32* z, f32* length); s32 npc_raycast_up(s32 ignoreFlags, f32* x, f32* y, f32* z, f32* length); void fx_damage_stars(s32, f32, f32, f32, f32, f32, f32, s32); -void func_801341B0(Npc* npc); +void func_801341B0(s32); BSS s32 D_802BEC50; BSS s32 D_802BEC54; @@ -181,8 +181,6 @@ void func_802BD5F4_31B614(Npc* kooper) { } } -ApiStatus func_802BD638_31B658(Evt*, s32); -#ifdef NON_MATCHING ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { Camera* cam; ItemEntity* itemGrabbed; @@ -193,13 +191,7 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { CollisionStatus* collisionStatus = &gCollisionStatus; f32 sp20, sp24, sp28, sp2C; s32 phi_v0_4 = 0; - f32 temp_f20_2; f32 temp_f20_3; - f32 temp_f20_4; - f32 temp_f20_5; - f32 temp_f20_6; - f32 phi_f0; - f32 phi_f0_3; s32 tempVar; f32 clamp; f32 colheight; @@ -304,10 +296,7 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { kooper->collisionHeight = 12; kooper->moveToPos.y = playerStatus->position.y; - //npc->moveToPos.z = playerStatus->position.y + (playerStatus->colliderHeight / 3); - //maybe better than above line, maybe not - temp2 = playerStatus->colliderHeight / 3; - kooper->moveToPos.z = playerStatus->position.y + temp2; + kooper->moveToPos.z = playerStatus->position.y + playerStatus->colliderHeight / 3; playerStatus->flags |= PLAYER_STATUS_FLAGS_JUMPING; gCameras->moveFlags |= CAMERA_FLAGS_1; @@ -334,12 +323,12 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { } sp20 = playerStatus->position.x; - sp2C = playerStatus->colliderHeight / 2; - temp2 = sp2C; sp24 = (playerStatus->position.y + playerStatus->colliderHeight / 2) - kooper->jumpVelocity; sp28 = playerStatus->position.z; + sp2C = playerStatus->colliderHeight / 2; + temp_f20_3 = sp2C; - if ((npc_raycast_up(0x10000, &sp20, &sp24, &sp28, &sp2C) != 0) && (sp2C < temp2)) { + if ((npc_raycast_up(0x10000, &sp20, &sp24, &sp28, &sp2C) != 0) && (sp2C < temp_f20_3)) { collisionStatus->currentCeiling = D_8010C97A; playerStatus->position.y = sp24 - playerStatus->colliderHeight; func_802BD144_31B164(kooper); @@ -347,7 +336,7 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { if (!(kooper->jumpVelocity > 0.0f) && (playerStatus->position.y < kooper->moveToPos.z)) { D_802BEC5C = 0; - kooper->flags &= ~PLAYER_STATUS_ANIM_FLAGS_100000; + kooper->flags &= ~ACTOR_FLAG_100; partnerActionStatus->actionState.b[3] = 2; partnerActionStatus->actionState.b[0] = 2; kooper->rotation.z = 0.0f; @@ -355,9 +344,8 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { kooper->moveSpeed = 8.0f; kooper->currentAnim.w = 0x20009; D_802BEB40_31CB60 = 1; - temp_f20_2 = sin_deg(playerStatus->targetYaw); fx_damage_stars(3, kooper->pos.x, kooper->pos.y + kooper->collisionHeight, kooper->pos.z, - temp_f20_2, -1.0f, -cos_deg(playerStatus->targetYaw), 3); + sin_deg(playerStatus->targetYaw), -1.0f, -cos_deg(playerStatus->targetYaw), 3); start_bounce_b(); if (D_802BEC64 != 0) { @@ -429,9 +417,9 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { if ((kooper->flags & 0x2000000) == 0) { if (func_802BD17C_31B19C(kooper) != 0) { sfx_play_sound_at_npc(0x286, 0, -4); - temp_f20_4 = sin_deg(kooper->yaw); + temp_f20_3 = sin_deg(kooper->yaw); fx_damage_stars(3, kooper->pos.x, kooper->pos.y + kooper->collisionHeight, kooper->pos.z, - temp_f20_4, -1.0f, -cos_deg(kooper->yaw), 1); + temp_f20_3, -1.0f, -cos_deg(kooper->yaw), 1); sfx_play_sound_at_npc(0, 0, -4); script->functionTemp[0] = 4; D_802BEC50 = 8; @@ -522,19 +510,19 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { if (((u8)playerStatus->actionState - 0x15) < 2U) { script->functionTemp[0] = 0; } else { - temp_f20_5 = atan2(D_802BEC70, D_802BEC78, kooper->pos.x, kooper->pos.z); - kooper->yaw = temp_f20_5 + (get_clamped_angle_diff(kooper->yaw, temp_f20_5) * 0.125f); + temp2 = atan2(D_802BEC70, D_802BEC78, kooper->pos.x, kooper->pos.z); + kooper->yaw = temp2 + (get_clamped_angle_diff(kooper->yaw, temp2) * 0.125f); npc_move_heading(kooper, -kooper->moveSpeed, kooper->yaw); kooper->planarFlyDist -= kooper->moveSpeed; func_8003D660(kooper, 1); - kooper->moveSpeed += 1.3333333333333333; + kooper->moveSpeed += 4.0/3.0; if (kooper->moveSpeed > 14.0) { kooper->moveSpeed = 14.0f; } if (func_800397E8(kooper, 6.0f) == 0) { - kooper->pos.y = (kooper->pos.y + ((playerStatus->position.y - kooper->pos.y) / 10.0f)); + kooper->pos.y += (playerStatus->position.y - kooper->pos.y) / 10.0f; } sp20 = kooper->pos.x; @@ -548,9 +536,9 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { kooper->pos.y = sp24; kooper->pos.z = sp28; sfx_play_sound_at_npc(0x10C, 0, -4); - temp_f20_6 = sin_deg(kooper->yaw + 180.0f); + temp_f20_3 = sin_deg(kooper->yaw + 180.0f); fx_damage_stars(3, kooper->pos.x, kooper->pos.y + kooper->collisionHeight, kooper->pos.z, - temp_f20_6, -1.0f, -cos_deg(kooper->yaw + 180.0f), 1); + temp_f20_3, -1.0f, -cos_deg(kooper->yaw + 180.0f), 1); script->functionTemp[0] = 0; } else { if (D_802BEC6C != 0) { @@ -587,8 +575,7 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { D_802BEB40_31CB60 = 0; kooper->flags |= NPC_FLAG_100; - kooper->flags &= ~NPC_FLAG_NO_Y_MOVEMENT; - kooper->flags &= ~NPC_FLAG_40; + kooper->flags &= ~(NPC_FLAG_NO_Y_MOVEMENT | NPC_FLAG_40); partnerActionStatus->actionState.b[3] = 0; partnerActionStatus->actionState.b[0] = 0; kooper->jumpVelocity = 0.0f; @@ -609,9 +596,6 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { } return ApiStatus_BLOCK; } -#else -INCLUDE_ASM(s32, "world/partner/kooper", func_802BD638_31B658); -#endif EvtScript world_kooper_use_ability = { EVT_CALL(func_802BD638_31B658) diff --git a/src/world/partner/lakilester.c b/src/world/partner/lakilester.c index 29640588ad..b31caeb4b1 100644 --- a/src/world/partner/lakilester.c +++ b/src/world/partner/lakilester.c @@ -625,7 +625,6 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { playerStatus->flags &= ~NPC_FLAG_100; return ApiStatus_DONE2; } - script->functionTemp[1] = 3; script->functionTemp[2] = disable_player_input(); D_802BFF04 = 1; @@ -813,7 +812,6 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { } else { yaw = (0.0f + camYaw) - 90.0f; } - npc->yaw = yaw; sp2C = dist2D(playerStatus->position.x, playerStatus->position.z, npc->moveToPos.x, npc->moveToPos.z); @@ -905,7 +903,6 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { partnerActionStatus->actionState.b[3] = 0; partnerActionStatus->actionState.b[0] = 0; playerStatus->flags &= ~PLAYER_STATUS_FLAGS_100; - if (D_802BFF04 != 0) { D_802BFF04 = 0; enable_player_input(); diff --git a/ver/us/asm/data/effects/3CFAB0.data.s b/ver/us/asm/data/effects/3CFAB0.data.s deleted file mode 100644 index a0f3180983..0000000000 --- a/ver/us/asm/data/effects/3CFAB0.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_E00C8710 -.word 0x09000800, 0x090008D8 - -dlabel D_E00C8718 -.byte 0x6E, 0x96, 0x82, 0x6E, 0x64, 0x5F, 0x64, 0x00 - -dlabel D_E00C8720 -.byte 0x50, 0x3C, 0x50, 0x64, 0x78, 0x6E, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - -dlabel D_E00C8730 -.double -0.10000000149011612 - -dlabel D_E00C8738 -.double 14.285714285714286 - -dlabel D_E00C8740 -.double 0.7142857142857143, 0.0 diff --git a/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_appendGfx.s b/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_appendGfx.s deleted file mode 100644 index 77432fd9d1..0000000000 --- a/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_appendGfx.s +++ /dev/null @@ -1,179 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel throw_spiny_appendGfx -/* 3CF7F4 E00C8454 27BDFF38 */ addiu $sp, $sp, -0xc8 -/* 3CF7F8 E00C8458 0080302D */ daddu $a2, $a0, $zero -/* 3CF7FC E00C845C 3C07DB06 */ lui $a3, 0xdb06 -/* 3CF800 E00C8460 34E70024 */ ori $a3, $a3, 0x24 -/* 3CF804 E00C8464 AFB300A4 */ sw $s3, 0xa4($sp) -/* 3CF808 E00C8468 3C13800A */ lui $s3, %hi(gMasterGfxPos) -/* 3CF80C E00C846C 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos) -/* 3CF810 E00C8470 27A40018 */ addiu $a0, $sp, 0x18 -/* 3CF814 E00C8474 AFBF00B8 */ sw $ra, 0xb8($sp) -/* 3CF818 E00C8478 AFB700B4 */ sw $s7, 0xb4($sp) -/* 3CF81C E00C847C AFB600B0 */ sw $s6, 0xb0($sp) -/* 3CF820 E00C8480 AFB500AC */ sw $s5, 0xac($sp) -/* 3CF824 E00C8484 AFB400A8 */ sw $s4, 0xa8($sp) -/* 3CF828 E00C8488 AFB200A0 */ sw $s2, 0xa0($sp) -/* 3CF82C E00C848C AFB1009C */ sw $s1, 0x9c($sp) -/* 3CF830 E00C8490 AFB00098 */ sw $s0, 0x98($sp) -/* 3CF834 E00C8494 F7B400C0 */ sdc1 $f20, 0xc0($sp) -/* 3CF838 E00C8498 8E650000 */ lw $a1, ($s3) -/* 3CF83C E00C849C 8CD2000C */ lw $s2, 0xc($a2) -/* 3CF840 E00C84A0 3C01E00D */ lui $at, %hi(D_E00C8740) -/* 3CF844 E00C84A4 D4208740 */ ldc1 $f0, %lo(D_E00C8740)($at) -/* 3CF848 E00C84A8 00A0182D */ daddu $v1, $a1, $zero -/* 3CF84C E00C84AC 24A50008 */ addiu $a1, $a1, 8 -/* 3CF850 E00C84B0 AE650000 */ sw $a1, ($s3) -/* 3CF854 E00C84B4 8E55003C */ lw $s5, 0x3c($s2) -/* 3CF858 E00C84B8 8E560000 */ lw $s6, ($s2) -/* 3CF85C E00C84BC C6540040 */ lwc1 $f20, 0x40($s2) -/* 3CF860 E00C84C0 3C02E700 */ lui $v0, 0xe700 -/* 3CF864 E00C84C4 AC620000 */ sw $v0, ($v1) -/* 3CF868 E00C84C8 AC600004 */ sw $zero, 4($v1) -/* 3CF86C E00C84CC ACA70000 */ sw $a3, ($a1) -/* 3CF870 E00C84D0 8CC30010 */ lw $v1, 0x10($a2) -/* 3CF874 E00C84D4 24A20008 */ addiu $v0, $a1, 8 -/* 3CF878 E00C84D8 AE620000 */ sw $v0, ($s3) -/* 3CF87C E00C84DC 8C62001C */ lw $v0, 0x1c($v1) -/* 3CF880 E00C84E0 3C038000 */ lui $v1, 0x8000 -/* 3CF884 E00C84E4 4600A521 */ cvt.d.s $f20, $f20 -/* 3CF888 E00C84E8 4620A502 */ mul.d $f20, $f20, $f0 -/* 3CF88C E00C84EC 00000000 */ nop -/* 3CF890 E00C84F0 00431021 */ addu $v0, $v0, $v1 -/* 3CF894 E00C84F4 3C03800B */ lui $v1, %hi(gCameras) -/* 3CF898 E00C84F8 24631D80 */ addiu $v1, $v1, %lo(gCameras) -/* 3CF89C E00C84FC ACA20004 */ sw $v0, 4($a1) -/* 3CF8A0 E00C8500 8E450004 */ lw $a1, 4($s2) -/* 3CF8A4 E00C8504 8E460008 */ lw $a2, 8($s2) -/* 3CF8A8 E00C8508 3C028007 */ lui $v0, %hi(gCurrentCameraID) -/* 3CF8AC E00C850C 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) -/* 3CF8B0 E00C8510 8E47000C */ lw $a3, 0xc($s2) -/* 3CF8B4 E00C8514 00028880 */ sll $s1, $v0, 2 -/* 3CF8B8 E00C8518 02228821 */ addu $s1, $s1, $v0 -/* 3CF8BC E00C851C 00118880 */ sll $s1, $s1, 2 -/* 3CF8C0 E00C8520 02228823 */ subu $s1, $s1, $v0 -/* 3CF8C4 E00C8524 001110C0 */ sll $v0, $s1, 3 -/* 3CF8C8 E00C8528 02228821 */ addu $s1, $s1, $v0 -/* 3CF8CC E00C852C 001188C0 */ sll $s1, $s1, 3 -/* 3CF8D0 E00C8530 02238821 */ addu $s1, $s1, $v1 -/* 3CF8D4 E00C8534 0C080108 */ jal shim_guTranslateF -/* 3CF8D8 E00C8538 4620A520 */ cvt.s.d $f20, $f20 -/* 3CF8DC E00C853C C6400058 */ lwc1 $f0, 0x58($s2) -/* 3CF8E0 E00C8540 4600A002 */ mul.s $f0, $f20, $f0 -/* 3CF8E4 E00C8544 00000000 */ nop -/* 3CF8E8 E00C8548 44050000 */ mfc1 $a1, $f0 -/* 3CF8EC E00C854C C640005C */ lwc1 $f0, 0x5c($s2) -/* 3CF8F0 E00C8550 4600A002 */ mul.s $f0, $f20, $f0 -/* 3CF8F4 E00C8554 00000000 */ nop -/* 3CF8F8 E00C8558 3C170001 */ lui $s7, 1 -/* 3CF8FC E00C855C 27B00058 */ addiu $s0, $sp, 0x58 -/* 3CF900 E00C8560 4407A000 */ mfc1 $a3, $f20 -/* 3CF904 E00C8564 44060000 */ mfc1 $a2, $f0 -/* 3CF908 E00C8568 0C080110 */ jal shim_guScaleF -/* 3CF90C E00C856C 0200202D */ daddu $a0, $s0, $zero -/* 3CF910 E00C8570 0200202D */ daddu $a0, $s0, $zero -/* 3CF914 E00C8574 27A50018 */ addiu $a1, $sp, 0x18 -/* 3CF918 E00C8578 0C080114 */ jal shim_guMtxCatF -/* 3CF91C E00C857C 00A0302D */ daddu $a2, $a1, $zero -/* 3CF920 E00C8580 3C013F80 */ lui $at, 0x3f80 -/* 3CF924 E00C8584 44810000 */ mtc1 $at, $f0 -/* 3CF928 E00C8588 36F71630 */ ori $s7, $s7, 0x1630 -/* 3CF92C E00C858C E7A00010 */ swc1 $f0, 0x10($sp) -/* 3CF930 E00C8590 44800000 */ mtc1 $zero, $f0 -/* 3CF934 E00C8594 0200202D */ daddu $a0, $s0, $zero -/* 3CF938 E00C8598 44060000 */ mfc1 $a2, $f0 -/* 3CF93C E00C859C 8E450050 */ lw $a1, 0x50($s2) -/* 3CF940 E00C85A0 0C080104 */ jal shim_guRotateF -/* 3CF944 E00C85A4 00C0382D */ daddu $a3, $a2, $zero -/* 3CF948 E00C85A8 0200202D */ daddu $a0, $s0, $zero -/* 3CF94C E00C85AC 27A50018 */ addiu $a1, $sp, 0x18 -/* 3CF950 E00C85B0 0C080114 */ jal shim_guMtxCatF -/* 3CF954 E00C85B4 00A0302D */ daddu $a2, $a1, $zero -/* 3CF958 E00C85B8 27A40018 */ addiu $a0, $sp, 0x18 -/* 3CF95C E00C85BC 3C108007 */ lui $s0, %hi(gMatrixListPos) -/* 3CF960 E00C85C0 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos) -/* 3CF964 E00C85C4 3C14800A */ lui $s4, %hi(gDisplayContext) -/* 3CF968 E00C85C8 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext) -/* 3CF96C E00C85CC 96050000 */ lhu $a1, ($s0) -/* 3CF970 E00C85D0 8E820000 */ lw $v0, ($s4) -/* 3CF974 E00C85D4 00052980 */ sll $a1, $a1, 6 -/* 3CF978 E00C85D8 00B72821 */ addu $a1, $a1, $s7 -/* 3CF97C E00C85DC 0C080118 */ jal shim_guMtxF2L -/* 3CF980 E00C85E0 00452821 */ addu $a1, $v0, $a1 -/* 3CF984 E00C85E4 3C03DA38 */ lui $v1, 0xda38 -/* 3CF988 E00C85E8 34630002 */ ori $v1, $v1, 2 -/* 3CF98C E00C85EC 3C06DA38 */ lui $a2, 0xda38 -/* 3CF990 E00C85F0 34C60001 */ ori $a2, $a2, 1 -/* 3CF994 E00C85F4 3C08D838 */ lui $t0, 0xd838 -/* 3CF998 E00C85F8 35080002 */ ori $t0, $t0, 2 -/* 3CF99C E00C85FC 3C07DE00 */ lui $a3, 0xde00 -/* 3CF9A0 E00C8600 32B500FF */ andi $s5, $s5, 0xff -/* 3CF9A4 E00C8604 0016B080 */ sll $s6, $s6, 2 -/* 3CF9A8 E00C8608 8E640000 */ lw $a0, ($s3) -/* 3CF9AC E00C860C 96020000 */ lhu $v0, ($s0) -/* 3CF9B0 E00C8610 0080282D */ daddu $a1, $a0, $zero -/* 3CF9B4 E00C8614 24840008 */ addiu $a0, $a0, 8 -/* 3CF9B8 E00C8618 AE640000 */ sw $a0, ($s3) -/* 3CF9BC E00C861C ACA30000 */ sw $v1, ($a1) -/* 3CF9C0 E00C8620 24430001 */ addiu $v1, $v0, 1 -/* 3CF9C4 E00C8624 3042FFFF */ andi $v0, $v0, 0xffff -/* 3CF9C8 E00C8628 00021180 */ sll $v0, $v0, 6 -/* 3CF9CC E00C862C A6030000 */ sh $v1, ($s0) -/* 3CF9D0 E00C8630 8E830000 */ lw $v1, ($s4) -/* 3CF9D4 E00C8634 00571021 */ addu $v0, $v0, $s7 -/* 3CF9D8 E00C8638 00621821 */ addu $v1, $v1, $v0 -/* 3CF9DC E00C863C 24820008 */ addiu $v0, $a0, 8 -/* 3CF9E0 E00C8640 ACA30004 */ sw $v1, 4($a1) -/* 3CF9E4 E00C8644 AE620000 */ sw $v0, ($s3) -/* 3CF9E8 E00C8648 24820010 */ addiu $v0, $a0, 0x10 -/* 3CF9EC E00C864C AC860000 */ sw $a2, ($a0) -/* 3CF9F0 E00C8650 AE620000 */ sw $v0, ($s3) -/* 3CF9F4 E00C8654 8E230204 */ lw $v1, 0x204($s1) -/* 3CF9F8 E00C8658 3C02FA00 */ lui $v0, 0xfa00 -/* 3CF9FC E00C865C AC820008 */ sw $v0, 8($a0) -/* 3CFA00 E00C8660 AC830004 */ sw $v1, 4($a0) -/* 3CFA04 E00C8664 92430033 */ lbu $v1, 0x33($s2) -/* 3CFA08 E00C8668 92450037 */ lbu $a1, 0x37($s2) -/* 3CFA0C E00C866C 9246003B */ lbu $a2, 0x3b($s2) -/* 3CFA10 E00C8670 24820018 */ addiu $v0, $a0, 0x18 -/* 3CFA14 E00C8674 AE620000 */ sw $v0, ($s3) -/* 3CFA18 E00C8678 24820020 */ addiu $v0, $a0, 0x20 -/* 3CFA1C E00C867C AC870010 */ sw $a3, 0x10($a0) -/* 3CFA20 E00C8680 AE620000 */ sw $v0, ($s3) -/* 3CFA24 E00C8684 00031E00 */ sll $v1, $v1, 0x18 -/* 3CFA28 E00C8688 00052C00 */ sll $a1, $a1, 0x10 -/* 3CFA2C E00C868C 00651825 */ or $v1, $v1, $a1 -/* 3CFA30 E00C8690 00063200 */ sll $a2, $a2, 8 -/* 3CFA34 E00C8694 00661825 */ or $v1, $v1, $a2 -/* 3CFA38 E00C8698 00751825 */ or $v1, $v1, $s5 -/* 3CFA3C E00C869C AC83000C */ sw $v1, 0xc($a0) -/* 3CFA40 E00C86A0 3C03E00D */ lui $v1, %hi(D_E00C8710) -/* 3CFA44 E00C86A4 00761821 */ addu $v1, $v1, $s6 -/* 3CFA48 E00C86A8 8C638710 */ lw $v1, %lo(D_E00C8710)($v1) -/* 3CFA4C E00C86AC 24820028 */ addiu $v0, $a0, 0x28 -/* 3CFA50 E00C86B0 AE620000 */ sw $v0, ($s3) -/* 3CFA54 E00C86B4 3C020900 */ lui $v0, 0x900 -/* 3CFA58 E00C86B8 244209F0 */ addiu $v0, $v0, 0x9f0 -/* 3CFA5C E00C86BC AC82001C */ sw $v0, 0x1c($a0) -/* 3CFA60 E00C86C0 24020040 */ addiu $v0, $zero, 0x40 -/* 3CFA64 E00C86C4 AC870018 */ sw $a3, 0x18($a0) -/* 3CFA68 E00C86C8 AC880020 */ sw $t0, 0x20($a0) -/* 3CFA6C E00C86CC AC820024 */ sw $v0, 0x24($a0) -/* 3CFA70 E00C86D0 AC830014 */ sw $v1, 0x14($a0) -/* 3CFA74 E00C86D4 8FBF00B8 */ lw $ra, 0xb8($sp) -/* 3CFA78 E00C86D8 8FB700B4 */ lw $s7, 0xb4($sp) -/* 3CFA7C E00C86DC 8FB600B0 */ lw $s6, 0xb0($sp) -/* 3CFA80 E00C86E0 8FB500AC */ lw $s5, 0xac($sp) -/* 3CFA84 E00C86E4 8FB400A8 */ lw $s4, 0xa8($sp) -/* 3CFA88 E00C86E8 8FB300A4 */ lw $s3, 0xa4($sp) -/* 3CFA8C E00C86EC 8FB200A0 */ lw $s2, 0xa0($sp) -/* 3CFA90 E00C86F0 8FB1009C */ lw $s1, 0x9c($sp) -/* 3CFA94 E00C86F4 8FB00098 */ lw $s0, 0x98($sp) -/* 3CFA98 E00C86F8 D7B400C0 */ ldc1 $f20, 0xc0($sp) -/* 3CFA9C E00C86FC 03E00008 */ jr $ra -/* 3CFAA0 E00C8700 27BD00C8 */ addiu $sp, $sp, 0xc8 -/* 3CFAA4 E00C8704 00000000 */ nop -/* 3CFAA8 E00C8708 00000000 */ nop -/* 3CFAAC E00C870C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_main.s b/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_main.s deleted file mode 100644 index b22ca324e8..0000000000 --- a/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_main.s +++ /dev/null @@ -1,144 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel throw_spiny_main -/* 3CF3A0 E00C8000 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 3CF3A4 E00C8004 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 3CF3A8 E00C8008 4485A000 */ mtc1 $a1, $f20 -/* 3CF3AC E00C800C F7B60048 */ sdc1 $f22, 0x48($sp) -/* 3CF3B0 E00C8010 4486B000 */ mtc1 $a2, $f22 -/* 3CF3B4 E00C8014 F7B80050 */ sdc1 $f24, 0x50($sp) -/* 3CF3B8 E00C8018 4487C000 */ mtc1 $a3, $f24 -/* 3CF3BC E00C801C F7BA0058 */ sdc1 $f26, 0x58($sp) -/* 3CF3C0 E00C8020 C7BA0080 */ lwc1 $f26, 0x80($sp) -/* 3CF3C4 E00C8024 F7BC0060 */ sdc1 $f28, 0x60($sp) -/* 3CF3C8 E00C8028 C7BC0084 */ lwc1 $f28, 0x84($sp) -/* 3CF3CC E00C802C AFB30034 */ sw $s3, 0x34($sp) -/* 3CF3D0 E00C8030 0080982D */ daddu $s3, $a0, $zero -/* 3CF3D4 E00C8034 F7BE0068 */ sdc1 $f30, 0x68($sp) -/* 3CF3D8 E00C8038 C7BE0088 */ lwc1 $f30, 0x88($sp) -/* 3CF3DC E00C803C 27A40010 */ addiu $a0, $sp, 0x10 -/* 3CF3E0 E00C8040 AFB1002C */ sw $s1, 0x2c($sp) -/* 3CF3E4 E00C8044 8FB10090 */ lw $s1, 0x90($sp) -/* 3CF3E8 E00C8048 3C02E00D */ lui $v0, %hi(throw_spiny_init) -/* 3CF3EC E00C804C 24428218 */ addiu $v0, $v0, %lo(throw_spiny_init) -/* 3CF3F0 E00C8050 AFA20018 */ sw $v0, 0x18($sp) -/* 3CF3F4 E00C8054 3C02E00D */ lui $v0, %hi(throw_spiny_update) -/* 3CF3F8 E00C8058 24428220 */ addiu $v0, $v0, %lo(throw_spiny_update) -/* 3CF3FC E00C805C AFA2001C */ sw $v0, 0x1c($sp) -/* 3CF400 E00C8060 3C02E00D */ lui $v0, %hi(throw_spiny_render) -/* 3CF404 E00C8064 24428404 */ addiu $v0, $v0, %lo(throw_spiny_render) -/* 3CF408 E00C8068 AFA20020 */ sw $v0, 0x20($sp) -/* 3CF40C E00C806C 24020064 */ addiu $v0, $zero, 0x64 -/* 3CF410 E00C8070 AFBF0038 */ sw $ra, 0x38($sp) -/* 3CF414 E00C8074 AFB20030 */ sw $s2, 0x30($sp) -/* 3CF418 E00C8078 AFB00028 */ sw $s0, 0x28($sp) -/* 3CF41C E00C807C AFA00010 */ sw $zero, 0x10($sp) -/* 3CF420 E00C8080 AFA00024 */ sw $zero, 0x24($sp) -/* 3CF424 E00C8084 0C080124 */ jal shim_create_effect_instance -/* 3CF428 E00C8088 AFA20014 */ sw $v0, 0x14($sp) -/* 3CF42C E00C808C 2404006C */ addiu $a0, $zero, 0x6c -/* 3CF430 E00C8090 24030001 */ addiu $v1, $zero, 1 -/* 3CF434 E00C8094 0040902D */ daddu $s2, $v0, $zero -/* 3CF438 E00C8098 0C08012C */ jal shim_general_heap_malloc -/* 3CF43C E00C809C AE430008 */ sw $v1, 8($s2) -/* 3CF440 E00C80A0 0040802D */ daddu $s0, $v0, $zero -/* 3CF444 E00C80A4 16000003 */ bnez $s0, .LE00C80B4 -/* 3CF448 E00C80A8 AE42000C */ sw $v0, 0xc($s2) -.LE00C80AC: -/* 3CF44C E00C80AC 0803202B */ j .LE00C80AC -/* 3CF450 E00C80B0 00000000 */ nop -.LE00C80B4: -/* 3CF454 E00C80B4 AE130000 */ sw $s3, ($s0) -/* 3CF458 E00C80B8 1E200003 */ bgtz $s1, .LE00C80C8 -/* 3CF45C E00C80BC AE00002C */ sw $zero, 0x2c($s0) -/* 3CF460 E00C80C0 08032033 */ j .LE00C80CC -/* 3CF464 E00C80C4 240203E8 */ addiu $v0, $zero, 0x3e8 -.LE00C80C8: -/* 3CF468 E00C80C8 2622003C */ addiu $v0, $s1, 0x3c -.LE00C80CC: -/* 3CF46C E00C80CC AE020028 */ sw $v0, 0x28($s0) -/* 3CF470 E00C80D0 240200FF */ addiu $v0, $zero, 0xff -/* 3CF474 E00C80D4 44913000 */ mtc1 $s1, $f6 -/* 3CF478 E00C80D8 00000000 */ nop -/* 3CF47C E00C80DC 468031A1 */ cvt.d.w $f6, $f6 -/* 3CF480 E00C80E0 4616E201 */ sub.s $f8, $f28, $f22 -/* 3CF484 E00C80E4 44912000 */ mtc1 $s1, $f4 -/* 3CF488 E00C80E8 00000000 */ nop -/* 3CF48C E00C80EC 46802120 */ cvt.s.w $f4, $f4 -/* 3CF490 E00C80F0 3C01E00D */ lui $at, %hi(D_E00C8730) -/* 3CF494 E00C80F4 D4208730 */ ldc1 $f0, %lo(D_E00C8730)($at) -/* 3CF498 E00C80F8 4618F081 */ sub.s $f2, $f30, $f24 -/* 3CF49C E00C80FC AE110068 */ sw $s1, 0x68($s0) -/* 3CF4A0 E00C8100 AE02003C */ sw $v0, 0x3c($s0) -/* 3CF4A4 E00C8104 46203182 */ mul.d $f6, $f6, $f0 -/* 3CF4A8 E00C8108 00000000 */ nop -/* 3CF4AC E00C810C E6140010 */ swc1 $f20, 0x10($s0) -/* 3CF4B0 E00C8110 E6160014 */ swc1 $f22, 0x14($s0) -/* 3CF4B4 E00C8114 E6180018 */ swc1 $f24, 0x18($s0) -/* 3CF4B8 E00C8118 E61A001C */ swc1 $f26, 0x1c($s0) -/* 3CF4BC E00C811C E61C0020 */ swc1 $f28, 0x20($s0) -/* 3CF4C0 E00C8120 E61E0024 */ swc1 $f30, 0x24($s0) -/* 3CF4C4 E00C8124 E6140004 */ swc1 $f20, 4($s0) -/* 3CF4C8 E00C8128 4614D001 */ sub.s $f0, $f26, $f20 -/* 3CF4CC E00C812C 46041083 */ div.s $f2, $f2, $f4 -/* 3CF4D0 E00C8130 E602004C */ swc1 $f2, 0x4c($s0) -/* 3CF4D4 E00C8134 44801000 */ mtc1 $zero, $f2 -/* 3CF4D8 E00C8138 46040003 */ div.s $f0, $f0, $f4 -/* 3CF4DC E00C813C E6000044 */ swc1 $f0, 0x44($s0) -/* 3CF4E0 E00C8140 46044003 */ div.s $f0, $f8, $f4 -/* 3CF4E4 E00C8144 46000021 */ cvt.d.s $f0, $f0 -/* 3CF4E8 E00C8148 46260001 */ sub.d $f0, $f0, $f6 -/* 3CF4EC E00C814C E6160008 */ swc1 $f22, 8($s0) -/* 3CF4F0 E00C8150 E618000C */ swc1 $f24, 0xc($s0) -/* 3CF4F4 E00C8154 4602403C */ c.lt.s $f8, $f2 -/* 3CF4F8 E00C8158 46200020 */ cvt.s.d $f0, $f0 -/* 3CF4FC E00C815C 45000004 */ bc1f .LE00C8170 -/* 3CF500 E00C8160 E6000048 */ swc1 $f0, 0x48($s0) -/* 3CF504 E00C8164 24020001 */ addiu $v0, $zero, 1 -/* 3CF508 E00C8168 0803205D */ j .LE00C8174 -/* 3CF50C E00C816C AE020064 */ sw $v0, 0x64($s0) -.LE00C8170: -/* 3CF510 E00C8170 AE000064 */ sw $zero, 0x64($s0) -.LE00C8174: -/* 3CF514 E00C8174 24040168 */ addiu $a0, $zero, 0x168 -/* 3CF518 E00C8178 C7A0008C */ lwc1 $f0, 0x8c($sp) -/* 3CF51C E00C817C 24020046 */ addiu $v0, $zero, 0x46 -/* 3CF520 E00C8180 AE020030 */ sw $v0, 0x30($s0) -/* 3CF524 E00C8184 240200B4 */ addiu $v0, $zero, 0xb4 -/* 3CF528 E00C8188 AE020034 */ sw $v0, 0x34($s0) -/* 3CF52C E00C818C 24020078 */ addiu $v0, $zero, 0x78 -/* 3CF530 E00C8190 AE020038 */ sw $v0, 0x38($s0) -/* 3CF534 E00C8194 0C080138 */ jal shim_rand_int -/* 3CF538 E00C8198 E6000040 */ swc1 $f0, 0x40($s0) -/* 3CF53C E00C819C 2404000A */ addiu $a0, $zero, 0xa -/* 3CF540 E00C81A0 44820000 */ mtc1 $v0, $f0 -/* 3CF544 E00C81A4 00000000 */ nop -/* 3CF548 E00C81A8 46800020 */ cvt.s.w $f0, $f0 -/* 3CF54C E00C81AC 0C080138 */ jal shim_rand_int -/* 3CF550 E00C81B0 E6000050 */ swc1 $f0, 0x50($s0) -/* 3CF554 E00C81B4 24430005 */ addiu $v1, $v0, 5 -/* 3CF558 E00C81B8 0240102D */ daddu $v0, $s2, $zero -/* 3CF55C E00C81BC 44830000 */ mtc1 $v1, $f0 -/* 3CF560 E00C81C0 00000000 */ nop -/* 3CF564 E00C81C4 46800020 */ cvt.s.w $f0, $f0 -/* 3CF568 E00C81C8 E6000054 */ swc1 $f0, 0x54($s0) -/* 3CF56C E00C81CC 3C013F80 */ lui $at, 0x3f80 -/* 3CF570 E00C81D0 44810000 */ mtc1 $at, $f0 -/* 3CF574 E00C81D4 2403FFFF */ addiu $v1, $zero, -1 -/* 3CF578 E00C81D8 AE030060 */ sw $v1, 0x60($s0) -/* 3CF57C E00C81DC E6000058 */ swc1 $f0, 0x58($s0) -/* 3CF580 E00C81E0 E600005C */ swc1 $f0, 0x5c($s0) -/* 3CF584 E00C81E4 8FBF0038 */ lw $ra, 0x38($sp) -/* 3CF588 E00C81E8 8FB30034 */ lw $s3, 0x34($sp) -/* 3CF58C E00C81EC 8FB20030 */ lw $s2, 0x30($sp) -/* 3CF590 E00C81F0 8FB1002C */ lw $s1, 0x2c($sp) -/* 3CF594 E00C81F4 8FB00028 */ lw $s0, 0x28($sp) -/* 3CF598 E00C81F8 D7BE0068 */ ldc1 $f30, 0x68($sp) -/* 3CF59C E00C81FC D7BC0060 */ ldc1 $f28, 0x60($sp) -/* 3CF5A0 E00C8200 D7BA0058 */ ldc1 $f26, 0x58($sp) -/* 3CF5A4 E00C8204 D7B80050 */ ldc1 $f24, 0x50($sp) -/* 3CF5A8 E00C8208 D7B60048 */ ldc1 $f22, 0x48($sp) -/* 3CF5AC E00C820C D7B40040 */ ldc1 $f20, 0x40($sp) -/* 3CF5B0 E00C8210 03E00008 */ jr $ra -/* 3CF5B4 E00C8214 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_update.s b/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_update.s deleted file mode 100644 index c55dbafee9..0000000000 --- a/ver/us/asm/nonmatchings/effects/throw_spiny/throw_spiny_update.s +++ /dev/null @@ -1,132 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel throw_spiny_update -/* 3CF5C0 E00C8220 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3CF5C4 E00C8224 AFBF0010 */ sw $ra, 0x10($sp) -/* 3CF5C8 E00C8228 8C830000 */ lw $v1, ($a0) -/* 3CF5CC E00C822C 8C85000C */ lw $a1, 0xc($a0) -/* 3CF5D0 E00C8230 30620010 */ andi $v0, $v1, 0x10 -/* 3CF5D4 E00C8234 10400005 */ beqz $v0, .LE00C824C -/* 3CF5D8 E00C8238 2402FFEF */ addiu $v0, $zero, -0x11 -/* 3CF5DC E00C823C 00621024 */ and $v0, $v1, $v0 -/* 3CF5E0 E00C8240 AC820000 */ sw $v0, ($a0) -/* 3CF5E4 E00C8244 24020010 */ addiu $v0, $zero, 0x10 -/* 3CF5E8 E00C8248 ACA20028 */ sw $v0, 0x28($a1) -.LE00C824C: -/* 3CF5EC E00C824C 8CA30028 */ lw $v1, 0x28($a1) -/* 3CF5F0 E00C8250 286203E8 */ slti $v0, $v1, 0x3e8 -/* 3CF5F4 E00C8254 10400002 */ beqz $v0, .LE00C8260 -/* 3CF5F8 E00C8258 2462FFFF */ addiu $v0, $v1, -1 -/* 3CF5FC E00C825C ACA20028 */ sw $v0, 0x28($a1) -.LE00C8260: -/* 3CF600 E00C8260 8CA2002C */ lw $v0, 0x2c($a1) -/* 3CF604 E00C8264 8CA30028 */ lw $v1, 0x28($a1) -/* 3CF608 E00C8268 24420001 */ addiu $v0, $v0, 1 -/* 3CF60C E00C826C 04610005 */ bgez $v1, .LE00C8284 -/* 3CF610 E00C8270 ACA2002C */ sw $v0, 0x2c($a1) -/* 3CF614 E00C8274 0C080128 */ jal shim_remove_effect -/* 3CF618 E00C8278 00000000 */ nop -/* 3CF61C E00C827C 080320FE */ j .LE00C83F8 -/* 3CF620 E00C8280 00000000 */ nop -.LE00C8284: -/* 3CF624 E00C8284 8CA30060 */ lw $v1, 0x60($a1) -/* 3CF628 E00C8288 0040202D */ daddu $a0, $v0, $zero -/* 3CF62C E00C828C 2C620007 */ sltiu $v0, $v1, 7 -/* 3CF630 E00C8290 1040001F */ beqz $v0, .LE00C8310 -/* 3CF634 E00C8294 00000000 */ nop -/* 3CF638 E00C8298 3C02E00D */ lui $v0, %hi(D_E00C8718) -/* 3CF63C E00C829C 00431021 */ addu $v0, $v0, $v1 -/* 3CF640 E00C82A0 90428718 */ lbu $v0, %lo(D_E00C8718)($v0) -/* 3CF644 E00C82A4 3C013C23 */ lui $at, 0x3c23 -/* 3CF648 E00C82A8 3421D70A */ ori $at, $at, 0xd70a -/* 3CF64C E00C82AC 44811000 */ mtc1 $at, $f2 -/* 3CF650 E00C82B0 44820000 */ mtc1 $v0, $f0 -/* 3CF654 E00C82B4 00000000 */ nop -/* 3CF658 E00C82B8 46800020 */ cvt.s.w $f0, $f0 -/* 3CF65C E00C82BC 46020002 */ mul.s $f0, $f0, $f2 -/* 3CF660 E00C82C0 00000000 */ nop -/* 3CF664 E00C82C4 E4A00058 */ swc1 $f0, 0x58($a1) -/* 3CF668 E00C82C8 3C02E00D */ lui $v0, %hi(D_E00C8720) -/* 3CF66C E00C82CC 00431021 */ addu $v0, $v0, $v1 -/* 3CF670 E00C82D0 90428720 */ lbu $v0, %lo(D_E00C8720)($v0) -/* 3CF674 E00C82D4 44822000 */ mtc1 $v0, $f4 -/* 3CF678 E00C82D8 00000000 */ nop -/* 3CF67C E00C82DC 46802120 */ cvt.s.w $f4, $f4 -/* 3CF680 E00C82E0 46022102 */ mul.s $f4, $f4, $f2 -/* 3CF684 E00C82E4 00000000 */ nop -/* 3CF688 E00C82E8 C4A00050 */ lwc1 $f0, 0x50($a1) -/* 3CF68C E00C82EC 3C014220 */ lui $at, 0x4220 -/* 3CF690 E00C82F0 44811000 */ mtc1 $at, $f2 -/* 3CF694 E00C82F4 0060102D */ daddu $v0, $v1, $zero -/* 3CF698 E00C82F8 46020001 */ sub.s $f0, $f0, $f2 -/* 3CF69C E00C82FC 24420001 */ addiu $v0, $v0, 1 -/* 3CF6A0 E00C8300 ACA20060 */ sw $v0, 0x60($a1) -/* 3CF6A4 E00C8304 E4A00050 */ swc1 $f0, 0x50($a1) -/* 3CF6A8 E00C8308 080320D9 */ j .LE00C8364 -/* 3CF6AC E00C830C E4A4005C */ swc1 $f4, 0x5c($a1) -.LE00C8310: -/* 3CF6B0 E00C8310 C4A20048 */ lwc1 $f2, 0x48($a1) -/* 3CF6B4 E00C8314 3C01BE4C */ lui $at, 0xbe4c -/* 3CF6B8 E00C8318 3421CCCD */ ori $at, $at, 0xcccd -/* 3CF6BC E00C831C 44810000 */ mtc1 $at, $f0 -/* 3CF6C0 E00C8320 C4A80004 */ lwc1 $f8, 4($a1) -/* 3CF6C4 E00C8324 46001080 */ add.s $f2, $f2, $f0 -/* 3CF6C8 E00C8328 C4A00044 */ lwc1 $f0, 0x44($a1) -/* 3CF6CC E00C832C C4A6000C */ lwc1 $f6, 0xc($a1) -/* 3CF6D0 E00C8330 46004200 */ add.s $f8, $f8, $f0 -/* 3CF6D4 E00C8334 C4A0004C */ lwc1 $f0, 0x4c($a1) -/* 3CF6D8 E00C8338 C4A40050 */ lwc1 $f4, 0x50($a1) -/* 3CF6DC E00C833C 46003180 */ add.s $f6, $f6, $f0 -/* 3CF6E0 E00C8340 C4A00054 */ lwc1 $f0, 0x54($a1) -/* 3CF6E4 E00C8344 46002100 */ add.s $f4, $f4, $f0 -/* 3CF6E8 E00C8348 C4A00008 */ lwc1 $f0, 8($a1) -/* 3CF6EC E00C834C E4A20048 */ swc1 $f2, 0x48($a1) -/* 3CF6F0 E00C8350 E4A80004 */ swc1 $f8, 4($a1) -/* 3CF6F4 E00C8354 46020000 */ add.s $f0, $f0, $f2 -/* 3CF6F8 E00C8358 E4A6000C */ swc1 $f6, 0xc($a1) -/* 3CF6FC E00C835C E4A40050 */ swc1 $f4, 0x50($a1) -/* 3CF700 E00C8360 E4A00008 */ swc1 $f0, 8($a1) -.LE00C8364: -/* 3CF704 E00C8364 8CA30068 */ lw $v1, 0x68($a1) -/* 3CF708 E00C8368 2482FFFF */ addiu $v0, $a0, -1 -/* 3CF70C E00C836C 1443000A */ bne $v0, $v1, .LE00C8398 -/* 3CF710 E00C8370 00000000 */ nop -/* 3CF714 E00C8374 C4A00048 */ lwc1 $f0, 0x48($a1) -/* 3CF718 E00C8378 C4A20044 */ lwc1 $f2, 0x44($a1) -/* 3CF71C E00C837C 3C01C080 */ lui $at, 0xc080 -/* 3CF720 E00C8380 44812000 */ mtc1 $at, $f4 -/* 3CF724 E00C8384 ACA00060 */ sw $zero, 0x60($a1) -/* 3CF728 E00C8388 46000007 */ neg.s $f0, $f0 -/* 3CF72C E00C838C E4A00048 */ swc1 $f0, 0x48($a1) -/* 3CF730 E00C8390 080320FE */ j .LE00C83F8 -/* 3CF734 E00C8394 E4A40054 */ swc1 $f4, 0x54($a1) -.LE00C8398: -/* 3CF738 E00C8398 C4A40048 */ lwc1 $f4, 0x48($a1) -/* 3CF73C E00C839C 44800000 */ mtc1 $zero, $f0 -/* 3CF740 E00C83A0 00000000 */ nop -/* 3CF744 E00C83A4 4600203C */ c.lt.s $f4, $f0 -/* 3CF748 E00C83A8 00000000 */ nop -/* 3CF74C E00C83AC 45000012 */ bc1f .LE00C83F8 -/* 3CF750 E00C83B0 00000000 */ nop -/* 3CF754 E00C83B4 C4A00008 */ lwc1 $f0, 8($a1) -/* 3CF758 E00C83B8 3C01E00D */ lui $at, %hi(D_E00C8738) -/* 3CF75C E00C83BC D4228738 */ ldc1 $f2, %lo(D_E00C8738)($at) -/* 3CF760 E00C83C0 46000021 */ cvt.d.s $f0, $f0 -/* 3CF764 E00C83C4 4622003C */ c.lt.d $f0, $f2 -/* 3CF768 E00C83C8 00000000 */ nop -/* 3CF76C E00C83CC 4500000A */ bc1f .LE00C83F8 -/* 3CF770 E00C83D0 00000000 */ nop -/* 3CF774 E00C83D4 3C014164 */ lui $at, 0x4164 -/* 3CF778 E00C83D8 34219249 */ ori $at, $at, 0x9249 -/* 3CF77C E00C83DC 44810000 */ mtc1 $at, $f0 -/* 3CF780 E00C83E0 3C01C1A0 */ lui $at, 0xc1a0 -/* 3CF784 E00C83E4 44811000 */ mtc1 $at, $f2 -/* 3CF788 E00C83E8 46042101 */ sub.s $f4, $f4, $f4 -/* 3CF78C E00C83EC E4A00008 */ swc1 $f0, 8($a1) -/* 3CF790 E00C83F0 E4A20054 */ swc1 $f2, 0x54($a1) -/* 3CF794 E00C83F4 E4A40048 */ swc1 $f4, 0x48($a1) -.LE00C83F8: -/* 3CF798 E00C83F8 8FBF0010 */ lw $ra, 0x10($sp) -/* 3CF79C E00C83FC 03E00008 */ jr $ra -/* 3CF7A0 E00C8400 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/world/action/spin/func_802B6000_E25D60.s b/ver/us/asm/nonmatchings/world/action/spin/func_802B6000_E25D60.s deleted file mode 100644 index 07ec4e1478..0000000000 --- a/ver/us/asm/nonmatchings/world/action/spin/func_802B6000_E25D60.s +++ /dev/null @@ -1,673 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_802B69A0_E26700 -.double 0.9 - -dlabel D_802B69A8_E26708 -.double 0.1 - -.section .text - -glabel func_802B6000_E25D60 -/* E25D60 802B6000 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* E25D64 802B6004 AFB5002C */ sw $s5, 0x2c($sp) -/* E25D68 802B6008 AFB1001C */ sw $s1, 0x1c($sp) -/* E25D6C 802B600C 3C118011 */ lui $s1, %hi(gPlayerStatus) -/* E25D70 802B6010 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus) -/* E25D74 802B6014 AFBF0030 */ sw $ra, 0x30($sp) -/* E25D78 802B6018 AFB40028 */ sw $s4, 0x28($sp) -/* E25D7C 802B601C AFB30024 */ sw $s3, 0x24($sp) -/* E25D80 802B6020 AFB20020 */ sw $s2, 0x20($sp) -/* E25D84 802B6024 AFB00018 */ sw $s0, 0x18($sp) -/* E25D88 802B6028 F7B80048 */ sdc1 $f24, 0x48($sp) -/* E25D8C 802B602C F7B60040 */ sdc1 $f22, 0x40($sp) -/* E25D90 802B6030 F7B40038 */ sdc1 $f20, 0x38($sp) -/* E25D94 802B6034 8E220000 */ lw $v0, ($s1) -/* E25D98 802B6038 3C108011 */ lui $s0, %hi(gPlayerSpinState) -/* E25D9C 802B603C 2610F250 */ addiu $s0, $s0, %lo(gPlayerSpinState) -/* E25DA0 802B6040 0441009D */ bgez $v0, .L802B62B8 -/* E25DA4 802B6044 0000A82D */ daddu $s5, $zero, $zero -/* E25DA8 802B6048 3C037FF7 */ lui $v1, 0x7ff7 -/* E25DAC 802B604C 3463FFFF */ ori $v1, $v1, 0xffff -/* E25DB0 802B6050 3C05FFFB */ lui $a1, 0xfffb -/* E25DB4 802B6054 34A5FFFF */ ori $a1, $a1, 0xffff -/* E25DB8 802B6058 24150001 */ addiu $s5, $zero, 1 -/* E25DBC 802B605C 24040028 */ addiu $a0, $zero, 0x28 -/* E25DC0 802B6060 00431824 */ and $v1, $v0, $v1 -/* E25DC4 802B6064 3C020002 */ lui $v0, 2 -/* E25DC8 802B6068 AE230000 */ sw $v1, ($s1) -/* E25DCC 802B606C 00621825 */ or $v1, $v1, $v0 -/* E25DD0 802B6070 24020019 */ addiu $v0, $zero, 0x19 -/* E25DD4 802B6074 AE230000 */ sw $v1, ($s1) -/* E25DD8 802B6078 A6200008 */ sh $zero, 8($s1) -/* E25DDC 802B607C A22000B6 */ sb $zero, 0xb6($s1) -/* E25DE0 802B6080 A2000000 */ sb $zero, ($s0) -/* E25DE4 802B6084 A2000001 */ sb $zero, 1($s0) -/* E25DE8 802B6088 AE000010 */ sw $zero, 0x10($s0) -/* E25DEC 802B608C AE000014 */ sw $zero, 0x14($s0) -/* E25DF0 802B6090 AE000018 */ sw $zero, 0x18($s0) -/* E25DF4 802B6094 A2000002 */ sb $zero, 2($s0) -/* E25DF8 802B6098 AE000008 */ sw $zero, 8($s0) -/* E25DFC 802B609C AE00000C */ sw $zero, 0xc($s0) -/* E25E00 802B60A0 AE000030 */ sw $zero, 0x30($s0) -/* E25E04 802B60A4 AE2000D8 */ sw $zero, 0xd8($s1) -/* E25E08 802B60A8 A602002C */ sh $v0, 0x2c($s0) -/* E25E0C 802B60AC 8E230004 */ lw $v1, 4($s1) -/* E25E10 802B60B0 2402000F */ addiu $v0, $zero, 0xf -/* E25E14 802B60B4 A602002E */ sh $v0, 0x2e($s0) -/* E25E18 802B60B8 3C020001 */ lui $v0, 1 -/* E25E1C 802B60BC 3C014220 */ lui $at, 0x4220 -/* E25E20 802B60C0 4481A000 */ mtc1 $at, $f20 -/* E25E24 802B60C4 3C014000 */ lui $at, 0x4000 -/* E25E28 802B60C8 44810000 */ mtc1 $at, $f0 -/* E25E2C 802B60CC 3C013F00 */ lui $at, 0x3f00 -/* E25E30 802B60D0 44811000 */ mtc1 $at, $f2 -/* E25E34 802B60D4 00651824 */ and $v1, $v1, $a1 -/* E25E38 802B60D8 9205002D */ lbu $a1, 0x2d($s0) -/* E25E3C 802B60DC 00621825 */ or $v1, $v1, $v0 -/* E25E40 802B60E0 AE230004 */ sw $v1, 4($s1) -/* E25E44 802B60E4 E6140020 */ swc1 $f20, 0x20($s0) -/* E25E48 802B60E8 E6000024 */ swc1 $f0, 0x24($s0) -/* E25E4C 802B60EC E6020028 */ swc1 $f2, 0x28($s0) -/* E25E50 802B60F0 0C03A752 */ jal is_ability_active -/* E25E54 802B60F4 A2050003 */ sb $a1, 3($s0) -/* E25E58 802B60F8 0002102B */ sltu $v0, $zero, $v0 -/* E25E5C 802B60FC 00029080 */ sll $s2, $v0, 2 -/* E25E60 802B6100 0C03A752 */ jal is_ability_active -/* E25E64 802B6104 2404002D */ addiu $a0, $zero, 0x2d -/* E25E68 802B6108 54400001 */ bnel $v0, $zero, .L802B6110 -/* E25E6C 802B610C 36520002 */ ori $s2, $s2, 2 -.L802B6110: -/* E25E70 802B6110 0C03A752 */ jal is_ability_active -/* E25E74 802B6114 24040027 */ addiu $a0, $zero, 0x27 -/* E25E78 802B6118 10400010 */ beqz $v0, .L802B615C -/* E25E7C 802B611C 2402001E */ addiu $v0, $zero, 0x1e -/* E25E80 802B6120 36520001 */ ori $s2, $s2, 1 -/* E25E84 802B6124 A602002C */ sh $v0, 0x2c($s0) -/* E25E88 802B6128 9203002D */ lbu $v1, 0x2d($s0) -/* E25E8C 802B612C 3C01402C */ lui $at, 0x402c -/* E25E90 802B6130 3421CCCD */ ori $at, $at, 0xcccd -/* E25E94 802B6134 44810000 */ mtc1 $at, $f0 -/* E25E98 802B6138 3C013F66 */ lui $at, 0x3f66 -/* E25E9C 802B613C 34216666 */ ori $at, $at, 0x6666 -/* E25EA0 802B6140 44811000 */ mtc1 $at, $f2 -/* E25EA4 802B6144 24020014 */ addiu $v0, $zero, 0x14 -/* E25EA8 802B6148 E6140020 */ swc1 $f20, 0x20($s0) -/* E25EAC 802B614C A602002E */ sh $v0, 0x2e($s0) -/* E25EB0 802B6150 A2030003 */ sb $v1, 3($s0) -/* E25EB4 802B6154 E6000024 */ swc1 $f0, 0x24($s0) -/* E25EB8 802B6158 E6020028 */ swc1 $f2, 0x28($s0) -.L802B615C: -/* E25EBC 802B615C 2414FFFF */ addiu $s4, $zero, -1 -/* E25EC0 802B6160 3C130001 */ lui $s3, 1 -/* E25EC4 802B6164 12400011 */ beqz $s2, .L802B61AC -/* E25EC8 802B6168 36730010 */ ori $s3, $s3, 0x10 -/* E25ECC 802B616C 32420004 */ andi $v0, $s2, 4 -/* E25ED0 802B6170 10400005 */ beqz $v0, .L802B6188 -/* E25ED4 802B6174 32420002 */ andi $v0, $s2, 2 -/* E25ED8 802B6178 24140002 */ addiu $s4, $zero, 2 -/* E25EDC 802B617C 3C130001 */ lui $s3, 1 -/* E25EE0 802B6180 080AD86B */ j .L802B61AC -/* E25EE4 802B6184 36730012 */ ori $s3, $s3, 0x12 -.L802B6188: -/* E25EE8 802B6188 10400003 */ beqz $v0, .L802B6198 -/* E25EEC 802B618C 32420001 */ andi $v0, $s2, 1 -/* E25EF0 802B6190 080AD86B */ j .L802B61AC -/* E25EF4 802B6194 24140004 */ addiu $s4, $zero, 4 -.L802B6198: -/* E25EF8 802B6198 10400005 */ beqz $v0, .L802B61B0 -/* E25EFC 802B619C 24022111 */ addiu $v0, $zero, 0x2111 -/* E25F00 802B61A0 0000A02D */ daddu $s4, $zero, $zero -/* E25F04 802B61A4 3C130001 */ lui $s3, 1 -/* E25F08 802B61A8 36730011 */ ori $s3, $s3, 0x11 -.L802B61AC: -/* E25F0C 802B61AC 24022111 */ addiu $v0, $zero, 0x2111 -.L802B61B0: -/* E25F10 802B61B0 AE020030 */ sw $v0, 0x30($s0) -/* E25F14 802B61B4 2402FFFD */ addiu $v0, $zero, -3 -/* E25F18 802B61B8 02421824 */ and $v1, $s2, $v0 -/* E25F1C 802B61BC 24020004 */ addiu $v0, $zero, 4 -/* E25F20 802B61C0 14620004 */ bne $v1, $v0, .L802B61D4 -/* E25F24 802B61C4 24020001 */ addiu $v0, $zero, 1 -/* E25F28 802B61C8 24022113 */ addiu $v0, $zero, 0x2113 -/* E25F2C 802B61CC AE020030 */ sw $v0, 0x30($s0) -/* E25F30 802B61D0 24020001 */ addiu $v0, $zero, 1 -.L802B61D4: -/* E25F34 802B61D4 14620004 */ bne $v1, $v0, .L802B61E8 -/* E25F38 802B61D8 24020005 */ addiu $v0, $zero, 5 -/* E25F3C 802B61DC 24022112 */ addiu $v0, $zero, 0x2112 -/* E25F40 802B61E0 AE020030 */ sw $v0, 0x30($s0) -/* E25F44 802B61E4 24020005 */ addiu $v0, $zero, 5 -.L802B61E8: -/* E25F48 802B61E8 14620002 */ bne $v1, $v0, .L802B61F4 -/* E25F4C 802B61EC 24022114 */ addiu $v0, $zero, 0x2114 -/* E25F50 802B61F0 AE020030 */ sw $v0, 0x30($s0) -.L802B61F4: -/* E25F54 802B61F4 8E040030 */ lw $a0, 0x30($s0) -/* E25F58 802B61F8 0C052736 */ jal sfx_play_sound_at_player -/* E25F5C 802B61FC 0000282D */ daddu $a1, $zero, $zero -/* E25F60 802B6200 0C037FDE */ jal suggest_player_anim_setUnkFlag -/* E25F64 802B6204 0260202D */ daddu $a0, $s3, $zero -/* E25F68 802B6208 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* E25F6C 802B620C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* E25F70 802B6210 C6200080 */ lwc1 $f0, 0x80($s1) -/* E25F74 802B6214 00031080 */ sll $v0, $v1, 2 -/* E25F78 802B6218 00431021 */ addu $v0, $v0, $v1 -/* E25F7C 802B621C 00021080 */ sll $v0, $v0, 2 -/* E25F80 802B6220 00431023 */ subu $v0, $v0, $v1 -/* E25F84 802B6224 000218C0 */ sll $v1, $v0, 3 -/* E25F88 802B6228 00431021 */ addu $v0, $v0, $v1 -/* E25F8C 802B622C 000210C0 */ sll $v0, $v0, 3 -/* E25F90 802B6230 3C01800B */ lui $at, %hi(gCameras+0x6C) -/* E25F94 802B6234 00220821 */ addu $at, $at, $v0 -/* E25F98 802B6238 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at) -/* E25F9C 802B623C 0C00A6C9 */ jal clamp_angle -/* E25FA0 802B6240 460C0301 */ sub.s $f12, $f0, $f12 -/* E25FA4 802B6244 3C014334 */ lui $at, 0x4334 -/* E25FA8 802B6248 44811000 */ mtc1 $at, $f2 -/* E25FAC 802B624C 00000000 */ nop -/* E25FB0 802B6250 4602003E */ c.le.s $f0, $f2 -/* E25FB4 802B6254 00000000 */ nop -/* E25FB8 802B6258 45020004 */ bc1fl .L802B626C -/* E25FBC 802B625C 26940001 */ addiu $s4, $s4, 1 -/* E25FC0 802B6260 C6000020 */ lwc1 $f0, 0x20($s0) -/* E25FC4 802B6264 080AD89E */ j .L802B6278 -/* E25FC8 802B6268 E62000D4 */ swc1 $f0, 0xd4($s1) -.L802B626C: -/* E25FCC 802B626C C6000020 */ lwc1 $f0, 0x20($s0) -/* E25FD0 802B6270 46000007 */ neg.s $f0, $f0 -/* E25FD4 802B6274 E62000D4 */ swc1 $f0, 0xd4($s1) -.L802B6278: -/* E25FD8 802B6278 12400006 */ beqz $s2, .L802B6294 -/* E25FDC 802B627C 0280202D */ daddu $a0, $s4, $zero -/* E25FE0 802B6280 0220282D */ daddu $a1, $s1, $zero -/* E25FE4 802B6284 3C063F80 */ lui $a2, 0x3f80 -/* E25FE8 802B6288 0C01C4B4 */ jal fx_46 -/* E25FEC 802B628C 240703E8 */ addiu $a3, $zero, 0x3e8 -/* E25FF0 802B6290 AE2200D8 */ sw $v0, 0xd8($s1) -.L802B6294: -/* E25FF4 802B6294 0C03963C */ jal phys_clear_spin_history -/* E25FF8 802B6298 00000000 */ nop -/* E25FFC 802B629C 27A40010 */ addiu $a0, $sp, 0x10 -/* E26000 802B62A0 0C0388C1 */ jal player_input_to_move_vector -/* E26004 802B62A4 27A50014 */ addiu $a1, $sp, 0x14 -/* E26008 802B62A8 C7A00010 */ lwc1 $f0, 0x10($sp) -/* E2600C 802B62AC C7A20014 */ lwc1 $f2, 0x14($sp) -/* E26010 802B62B0 E6200080 */ swc1 $f0, 0x80($s1) -/* E26014 802B62B4 E602001C */ swc1 $f2, 0x1c($s0) -.L802B62B8: -/* E26018 802B62B8 3C058011 */ lui $a1, %hi(gSpinHistoryBufferPos) -/* E2601C 802B62BC 24A5C944 */ addiu $a1, $a1, %lo(gSpinHistoryBufferPos) -/* E26020 802B62C0 3C068011 */ lui $a2, %hi(gSpinHistoryPosAngle) -/* E26024 802B62C4 24C6F6B8 */ addiu $a2, $a2, %lo(gSpinHistoryPosAngle) -/* E26028 802B62C8 8CA20000 */ lw $v0, ($a1) -/* E2602C 802B62CC C62000A8 */ lwc1 $f0, 0xa8($s1) -/* E26030 802B62D0 00022040 */ sll $a0, $v0, 1 -/* E26034 802B62D4 24420001 */ addiu $v0, $v0, 1 -/* E26038 802B62D8 4600018D */ trunc.w.s $f6, $f0 -/* E2603C 802B62DC 44033000 */ mfc1 $v1, $f6 -/* E26040 802B62E0 3C018011 */ lui $at, %hi(gSpinHistoryPosAngle) -/* E26044 802B62E4 00240821 */ addu $at, $at, $a0 -/* E26048 802B62E8 A423F6B8 */ sh $v1, %lo(gSpinHistoryPosAngle)($at) -/* E2604C 802B62EC ACA20000 */ sw $v0, ($a1) -/* E26050 802B62F0 28420006 */ slti $v0, $v0, 6 -/* E26054 802B62F4 50400001 */ beql $v0, $zero, .L802B62FC -/* E26058 802B62F8 ACA00000 */ sw $zero, ($a1) -.L802B62FC: -/* E2605C 802B62FC 8CA30000 */ lw $v1, ($a1) -/* E26060 802B6300 C6200028 */ lwc1 $f0, 0x28($s1) -/* E26064 802B6304 00031080 */ sll $v0, $v1, 2 -/* E26068 802B6308 4600018D */ trunc.w.s $f6, $f0 -/* E2606C 802B630C 3C018011 */ lui $at, %hi(gSpinHistoryPosX) -/* E26070 802B6310 00220821 */ addu $at, $at, $v0 -/* E26074 802B6314 E426EF28 */ swc1 $f6, %lo(gSpinHistoryPosX)($at) -/* E26078 802B6318 24640001 */ addiu $a0, $v1, 1 -/* E2607C 802B631C C620002C */ lwc1 $f0, 0x2c($s1) -/* E26080 802B6320 00031840 */ sll $v1, $v1, 1 -/* E26084 802B6324 4600018D */ trunc.w.s $f6, $f0 -/* E26088 802B6328 3C018011 */ lui $at, %hi(gSpinHistoryPosY) -/* E2608C 802B632C 00220821 */ addu $at, $at, $v0 -/* E26090 802B6330 E426EF10 */ swc1 $f6, %lo(gSpinHistoryPosY)($at) -/* E26094 802B6334 C6200030 */ lwc1 $f0, 0x30($s1) -/* E26098 802B6338 00661821 */ addu $v1, $v1, $a2 -/* E2609C 802B633C ACA40000 */ sw $a0, ($a1) -/* E260A0 802B6340 4600018D */ trunc.w.s $f6, $f0 -/* E260A4 802B6344 3C018011 */ lui $at, %hi(gSpinHistoryPosZ) -/* E260A8 802B6348 00220821 */ addu $at, $at, $v0 -/* E260AC 802B634C E426EF40 */ swc1 $f6, %lo(gSpinHistoryPosZ)($at) -/* E260B0 802B6350 C62000A8 */ lwc1 $f0, 0xa8($s1) -/* E260B4 802B6354 28840006 */ slti $a0, $a0, 6 -/* E260B8 802B6358 4600018D */ trunc.w.s $f6, $f0 -/* E260BC 802B635C 44023000 */ mfc1 $v0, $f6 -/* E260C0 802B6360 14800002 */ bnez $a0, .L802B636C -/* E260C4 802B6364 A4620000 */ sh $v0, ($v1) -/* E260C8 802B6368 ACA00000 */ sw $zero, ($a1) -.L802B636C: -/* E260CC 802B636C 16A0001A */ bnez $s5, .L802B63D8 -/* E260D0 802B6370 00000000 */ nop -/* E260D4 802B6374 0C039838 */ jal check_input_hammer -/* E260D8 802B6378 00000000 */ nop -/* E260DC 802B637C 14400005 */ bnez $v0, .L802B6394 -/* E260E0 802B6380 3C05FFFE */ lui $a1, 0xfffe -/* E260E4 802B6384 0C039858 */ jal check_input_jump -/* E260E8 802B6388 00000000 */ nop -/* E260EC 802B638C 10400012 */ beqz $v0, .L802B63D8 -/* E260F0 802B6390 3C05FFFE */ lui $a1, 0xfffe -.L802B6394: -/* E260F4 802B6394 34A5FFFF */ ori $a1, $a1, 0xffff -/* E260F8 802B6398 3C06FFFD */ lui $a2, 0xfffd -/* E260FC 802B639C 34C6FFFF */ ori $a2, $a2, 0xffff -/* E26100 802B63A0 8E040030 */ lw $a0, 0x30($s0) -/* E26104 802B63A4 8E220004 */ lw $v0, 4($s1) -/* E26108 802B63A8 8E230000 */ lw $v1, ($s1) -/* E2610C 802B63AC 00451024 */ and $v0, $v0, $a1 -/* E26110 802B63B0 00661824 */ and $v1, $v1, $a2 -/* E26114 802B63B4 AE220004 */ sw $v0, 4($s1) -/* E26118 802B63B8 0C05271B */ jal sfx_stop_sound -/* E2611C 802B63BC AE230000 */ sw $v1, ($s1) -/* E26120 802B63C0 27A40010 */ addiu $a0, $sp, 0x10 -/* E26124 802B63C4 0C0388C1 */ jal player_input_to_move_vector -/* E26128 802B63C8 27A50014 */ addiu $a1, $sp, 0x14 -/* E2612C 802B63CC C7A00010 */ lwc1 $f0, 0x10($sp) -/* E26130 802B63D0 080ADA5B */ j .L802B696C -/* E26134 802B63D4 E6200080 */ swc1 $f0, 0x80($s1) -.L802B63D8: -/* E26138 802B63D8 82020003 */ lb $v0, 3($s0) -/* E2613C 802B63DC 2842000B */ slti $v0, $v0, 0xb -/* E26140 802B63E0 1040000C */ beqz $v0, .L802B6414 -/* E26144 802B63E4 00000000 */ nop -/* E26148 802B63E8 8E2200E0 */ lw $v0, 0xe0($s1) -/* E2614C 802B63EC 30422000 */ andi $v0, $v0, 0x2000 -/* E26150 802B63F0 10400008 */ beqz $v0, .L802B6414 -/* E26154 802B63F4 24020001 */ addiu $v0, $zero, 1 -/* E26158 802B63F8 822300B5 */ lb $v1, 0xb5($s1) -/* E2615C 802B63FC 8E2400E8 */ lw $a0, 0xe8($s1) -/* E26160 802B6400 8E2500EC */ lw $a1, 0xec($s1) -/* E26164 802B6404 A2020001 */ sb $v0, 1($s0) -/* E26168 802B6408 AE030004 */ sw $v1, 4($s0) -/* E2616C 802B640C AE040008 */ sw $a0, 8($s0) -/* E26170 802B6410 AE05000C */ sw $a1, 0xc($s0) -.L802B6414: -/* E26174 802B6414 822300B6 */ lb $v1, 0xb6($s1) -/* E26178 802B6418 28620002 */ slti $v0, $v1, 2 -/* E2617C 802B641C 1440004C */ bnez $v0, .L802B6550 -/* E26180 802B6420 00000000 */ nop -/* E26184 802B6424 C6000010 */ lwc1 $f0, 0x10($s0) -/* E26188 802B6428 3C013F80 */ lui $at, 0x3f80 -/* E2618C 802B642C 44811000 */ mtc1 $at, $f2 -/* E26190 802B6430 00000000 */ nop -/* E26194 802B6434 46020001 */ sub.s $f0, $f0, $f2 -/* E26198 802B6438 4480C000 */ mtc1 $zero, $f24 -/* E2619C 802B643C 00000000 */ nop -/* E261A0 802B6440 4618003C */ c.lt.s $f0, $f24 -/* E261A4 802B6444 00000000 */ nop -/* E261A8 802B6448 45000002 */ bc1f .L802B6454 -/* E261AC 802B644C E6000010 */ swc1 $f0, 0x10($s0) -/* E261B0 802B6450 E6180010 */ swc1 $f24, 0x10($s0) -.L802B6454: -/* E261B4 802B6454 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* E261B8 802B6458 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* E261BC 802B645C C6200080 */ lwc1 $f0, 0x80($s1) -/* E261C0 802B6460 00031080 */ sll $v0, $v1, 2 -/* E261C4 802B6464 00431021 */ addu $v0, $v0, $v1 -/* E261C8 802B6468 00021080 */ sll $v0, $v0, 2 -/* E261CC 802B646C 00431023 */ subu $v0, $v0, $v1 -/* E261D0 802B6470 000218C0 */ sll $v1, $v0, 3 -/* E261D4 802B6474 00431021 */ addu $v0, $v0, $v1 -/* E261D8 802B6478 000210C0 */ sll $v0, $v0, 3 -/* E261DC 802B647C 3C01800B */ lui $at, %hi(gCameras+0x6C) -/* E261E0 802B6480 00220821 */ addu $at, $at, $v0 -/* E261E4 802B6484 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at) -/* E261E8 802B6488 0C00A6C9 */ jal clamp_angle -/* E261EC 802B648C 460C0301 */ sub.s $f12, $f0, $f12 -/* E261F0 802B6490 3C0140C9 */ lui $at, 0x40c9 -/* E261F4 802B6494 34210FD0 */ ori $at, $at, 0xfd0 -/* E261F8 802B6498 4481A000 */ mtc1 $at, $f20 -/* E261FC 802B649C 00000000 */ nop -/* E26200 802B64A0 46140302 */ mul.s $f12, $f0, $f20 -/* E26204 802B64A4 00000000 */ nop -/* E26208 802B64A8 3C0143B4 */ lui $at, 0x43b4 -/* E2620C 802B64AC 4481B000 */ mtc1 $at, $f22 -/* E26210 802B64B0 E7A00010 */ swc1 $f0, 0x10($sp) -/* E26214 802B64B4 0C00A85B */ jal sin_rad -/* E26218 802B64B8 46166303 */ div.s $f12, $f12, $f22 -/* E2621C 802B64BC C7AC0010 */ lwc1 $f12, 0x10($sp) -/* E26220 802B64C0 46146302 */ mul.s $f12, $f12, $f20 -/* E26224 802B64C4 00000000 */ nop -/* E26228 802B64C8 C6020010 */ lwc1 $f2, 0x10($s0) -/* E2622C 802B64CC 46020002 */ mul.s $f0, $f0, $f2 -/* E26230 802B64D0 00000000 */ nop -/* E26234 802B64D4 46166303 */ div.s $f12, $f12, $f22 -/* E26238 802B64D8 0C00A874 */ jal cos_rad -/* E2623C 802B64DC E6000014 */ swc1 $f0, 0x14($s0) -/* E26240 802B64E0 46000007 */ neg.s $f0, $f0 -/* E26244 802B64E4 C6020010 */ lwc1 $f2, 0x10($s0) -/* E26248 802B64E8 96220008 */ lhu $v0, 8($s1) -/* E2624C 802B64EC 46020002 */ mul.s $f0, $f0, $f2 -/* E26250 802B64F0 00000000 */ nop -/* E26254 802B64F4 2442FFFF */ addiu $v0, $v0, -1 -/* E26258 802B64F8 A6220008 */ sh $v0, 8($s1) -/* E2625C 802B64FC 00021400 */ sll $v0, $v0, 0x10 -/* E26260 802B6500 14400011 */ bnez $v0, .L802B6548 -/* E26264 802B6504 E6000018 */ swc1 $f0, 0x18($s0) -/* E26268 802B6508 0000202D */ daddu $a0, $zero, $zero -/* E2626C 802B650C 24020004 */ addiu $v0, $zero, 4 -/* E26270 802B6510 0C039769 */ jal set_action_state -/* E26274 802B6514 A2020000 */ sb $v0, ($s0) -/* E26278 802B6518 3C05FFFD */ lui $a1, 0xfffd -/* E2627C 802B651C 34A5FFFF */ ori $a1, $a1, 0xffff -/* E26280 802B6520 3C06FFFE */ lui $a2, 0xfffe -/* E26284 802B6524 34C6FFFF */ ori $a2, $a2, 0xffff -/* E26288 802B6528 8E040030 */ lw $a0, 0x30($s0) -/* E2628C 802B652C 8E220000 */ lw $v0, ($s1) -/* E26290 802B6530 8E230004 */ lw $v1, 4($s1) -/* E26294 802B6534 00451024 */ and $v0, $v0, $a1 -/* E26298 802B6538 00661824 */ and $v1, $v1, $a2 -/* E2629C 802B653C AE220000 */ sw $v0, ($s1) -/* E262A0 802B6540 0C05271B */ jal sfx_stop_sound -/* E262A4 802B6544 AE230004 */ sw $v1, 4($s1) -.L802B6548: -/* E262A8 802B6548 080ADA5B */ j .L802B696C -/* E262AC 802B654C E6380054 */ swc1 $f24, 0x54($s1) -.L802B6550: -/* E262B0 802B6550 14600012 */ bnez $v1, .L802B659C -/* E262B4 802B6554 3C030004 */ lui $v1, 4 -/* E262B8 802B6558 8E220004 */ lw $v0, 4($s1) -/* E262BC 802B655C 00431024 */ and $v0, $v0, $v1 -/* E262C0 802B6560 1440000D */ bnez $v0, .L802B6598 -/* E262C4 802B6564 24020001 */ addiu $v0, $zero, 1 -/* E262C8 802B6568 3C028016 */ lui $v0, %hi(gCollisionStatus) -/* E262CC 802B656C 8442A550 */ lh $v0, %lo(gCollisionStatus)($v0) -/* E262D0 802B6570 0440000A */ bltz $v0, .L802B659C -/* E262D4 802B6574 00000000 */ nop -/* E262D8 802B6578 92020002 */ lbu $v0, 2($s0) -/* E262DC 802B657C 24420001 */ addiu $v0, $v0, 1 -/* E262E0 802B6580 A2020002 */ sb $v0, 2($s0) -/* E262E4 802B6584 00021600 */ sll $v0, $v0, 0x18 -/* E262E8 802B6588 00021603 */ sra $v0, $v0, 0x18 -/* E262EC 802B658C 2842000A */ slti $v0, $v0, 0xa -/* E262F0 802B6590 14400002 */ bnez $v0, .L802B659C -/* E262F4 802B6594 24020001 */ addiu $v0, $zero, 1 -.L802B6598: -/* E262F8 802B6598 A22200B6 */ sb $v0, 0xb6($s1) -.L802B659C: -/* E262FC 802B659C 86240008 */ lh $a0, 8($s1) -/* E26300 802B65A0 8603002E */ lh $v1, 0x2e($s0) -/* E26304 802B65A4 0064102A */ slt $v0, $v1, $a0 -/* E26308 802B65A8 5440003F */ bnel $v0, $zero, .L802B66A8 -/* E2630C 802B65AC 00831023 */ subu $v0, $a0, $v1 -/* E26310 802B65B0 C600001C */ lwc1 $f0, 0x1c($s0) -/* E26314 802B65B4 44801000 */ mtc1 $zero, $f2 -/* E26318 802B65B8 00000000 */ nop -/* E2631C 802B65BC 46020032 */ c.eq.s $f0, $f2 -/* E26320 802B65C0 00000000 */ nop -/* E26324 802B65C4 45010002 */ bc1t .L802B65D0 -/* E26328 802B65C8 46001606 */ mov.s $f24, $f2 -/* E2632C 802B65CC C6180024 */ lwc1 $f24, 0x24($s0) -.L802B65D0: -/* E26330 802B65D0 C6000010 */ lwc1 $f0, 0x10($s0) -/* E26334 802B65D4 3C01802B */ lui $at, %hi(D_802B69A0_E26700) -/* E26338 802B65D8 D42269A0 */ ldc1 $f2, %lo(D_802B69A0_E26700)($at) -/* E2633C 802B65DC 46000021 */ cvt.d.s $f0, $f0 -/* E26340 802B65E0 46220000 */ add.d $f0, $f0, $f2 -/* E26344 802B65E4 3C014110 */ lui $at, 0x4110 -/* E26348 802B65E8 44811000 */ mtc1 $at, $f2 -/* E2634C 802B65EC 46200020 */ cvt.s.d $f0, $f0 -/* E26350 802B65F0 4600103C */ c.lt.s $f2, $f0 -/* E26354 802B65F4 00000000 */ nop -/* E26358 802B65F8 45000002 */ bc1f .L802B6604 -/* E2635C 802B65FC E6000010 */ swc1 $f0, 0x10($s0) -/* E26360 802B6600 E6020010 */ swc1 $f2, 0x10($s0) -.L802B6604: -/* E26364 802B6604 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* E26368 802B6608 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* E2636C 802B660C C6200080 */ lwc1 $f0, 0x80($s1) -/* E26370 802B6610 00031080 */ sll $v0, $v1, 2 -/* E26374 802B6614 00431021 */ addu $v0, $v0, $v1 -/* E26378 802B6618 00021080 */ sll $v0, $v0, 2 -/* E2637C 802B661C 00431023 */ subu $v0, $v0, $v1 -/* E26380 802B6620 000218C0 */ sll $v1, $v0, 3 -/* E26384 802B6624 00431021 */ addu $v0, $v0, $v1 -/* E26388 802B6628 000210C0 */ sll $v0, $v0, 3 -/* E2638C 802B662C 3C01800B */ lui $at, %hi(gCameras+0x6C) -/* E26390 802B6630 00220821 */ addu $at, $at, $v0 -/* E26394 802B6634 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at) -/* E26398 802B6638 0C00A6C9 */ jal clamp_angle -/* E2639C 802B663C 460C0301 */ sub.s $f12, $f0, $f12 -/* E263A0 802B6640 3C0140C9 */ lui $at, 0x40c9 -/* E263A4 802B6644 34210FD0 */ ori $at, $at, 0xfd0 -/* E263A8 802B6648 4481A000 */ mtc1 $at, $f20 -/* E263AC 802B664C 00000000 */ nop -/* E263B0 802B6650 46140302 */ mul.s $f12, $f0, $f20 -/* E263B4 802B6654 00000000 */ nop -/* E263B8 802B6658 3C0143B4 */ lui $at, 0x43b4 -/* E263BC 802B665C 4481B000 */ mtc1 $at, $f22 -/* E263C0 802B6660 E7A00010 */ swc1 $f0, 0x10($sp) -/* E263C4 802B6664 0C00A85B */ jal sin_rad -/* E263C8 802B6668 46166303 */ div.s $f12, $f12, $f22 -/* E263CC 802B666C C7AC0010 */ lwc1 $f12, 0x10($sp) -/* E263D0 802B6670 46146302 */ mul.s $f12, $f12, $f20 -/* E263D4 802B6674 00000000 */ nop -/* E263D8 802B6678 C6020010 */ lwc1 $f2, 0x10($s0) -/* E263DC 802B667C 46020002 */ mul.s $f0, $f0, $f2 -/* E263E0 802B6680 00000000 */ nop -/* E263E4 802B6684 46166303 */ div.s $f12, $f12, $f22 -/* E263E8 802B6688 0C00A874 */ jal cos_rad -/* E263EC 802B668C E6000014 */ swc1 $f0, 0x14($s0) -/* E263F0 802B6690 C6020010 */ lwc1 $f2, 0x10($s0) -/* E263F4 802B6694 46000007 */ neg.s $f0, $f0 -/* E263F8 802B6698 46020002 */ mul.s $f0, $f0, $f2 -/* E263FC 802B669C 00000000 */ nop -/* E26400 802B66A0 080AD9CE */ j .L802B6738 -/* E26404 802B66A4 E6000018 */ swc1 $f0, 0x18($s0) -.L802B66A8: -/* E26408 802B66A8 2442FFFF */ addiu $v0, $v0, -1 -/* E2640C 802B66AC C6020028 */ lwc1 $f2, 0x28($s0) -/* E26410 802B66B0 44820000 */ mtc1 $v0, $f0 -/* E26414 802B66B4 00000000 */ nop -/* E26418 802B66B8 46800020 */ cvt.s.w $f0, $f0 -/* E2641C 802B66BC 46020002 */ mul.s $f0, $f0, $f2 -/* E26420 802B66C0 00000000 */ nop -/* E26424 802B66C4 C6020024 */ lwc1 $f2, 0x24($s0) -/* E26428 802B66C8 46001601 */ sub.s $f24, $f2, $f0 -/* E2642C 802B66CC 3C01802B */ lui $at, %hi(D_802B69A8_E26708) -/* E26430 802B66D0 D42269A8 */ ldc1 $f2, %lo(D_802B69A8_E26708)($at) -/* E26434 802B66D4 4600C021 */ cvt.d.s $f0, $f24 -/* E26438 802B66D8 4622003C */ c.lt.d $f0, $f2 -/* E2643C 802B66DC 00000000 */ nop -/* E26440 802B66E0 45000004 */ bc1f .L802B66F4 -/* E26444 802B66E4 00000000 */ nop -/* E26448 802B66E8 3C013DCC */ lui $at, 0x3dcc -/* E2644C 802B66EC 3421CCCD */ ori $at, $at, 0xcccd -/* E26450 802B66F0 4481C000 */ mtc1 $at, $f24 -.L802B66F4: -/* E26454 802B66F4 C600001C */ lwc1 $f0, 0x1c($s0) -/* E26458 802B66F8 44802000 */ mtc1 $zero, $f4 -/* E2645C 802B66FC 00000000 */ nop -/* E26460 802B6700 46040032 */ c.eq.s $f0, $f4 -/* E26464 802B6704 00000000 */ nop -/* E26468 802B6708 45030001 */ bc1tl .L802B6710 -/* E2646C 802B670C 46002606 */ mov.s $f24, $f4 -.L802B6710: -/* E26470 802B6710 C6000010 */ lwc1 $f0, 0x10($s0) -/* E26474 802B6714 3C013F80 */ lui $at, 0x3f80 -/* E26478 802B6718 44811000 */ mtc1 $at, $f2 -/* E2647C 802B671C 00000000 */ nop -/* E26480 802B6720 46020001 */ sub.s $f0, $f0, $f2 -/* E26484 802B6724 4604003C */ c.lt.s $f0, $f4 -/* E26488 802B6728 00000000 */ nop -/* E2648C 802B672C 45000002 */ bc1f .L802B6738 -/* E26490 802B6730 E6000010 */ swc1 $f0, 0x10($s0) -/* E26494 802B6734 E6040010 */ swc1 $f4, 0x10($s0) -.L802B6738: -/* E26498 802B6738 96220008 */ lhu $v0, 8($s1) -/* E2649C 802B673C 822300B5 */ lb $v1, 0xb5($s1) -/* E264A0 802B6740 24420001 */ addiu $v0, $v0, 1 -/* E264A4 802B6744 10600007 */ beqz $v1, .L802B6764 -/* E264A8 802B6748 A6220008 */ sh $v0, 8($s1) -/* E264AC 802B674C 04600030 */ bltz $v1, .L802B6810 -/* E264B0 802B6750 28620003 */ slti $v0, $v1, 3 -/* E264B4 802B6754 1040002E */ beqz $v0, .L802B6810 -/* E264B8 802B6758 00000000 */ nop -/* E264BC 802B675C 080ADA00 */ j .L802B6800 -/* E264C0 802B6760 00000000 */ nop -.L802B6764: -/* E264C4 802B6764 27A40010 */ addiu $a0, $sp, 0x10 -/* E264C8 802B6768 0C0388C1 */ jal player_input_to_move_vector -/* E264CC 802B676C 27A50014 */ addiu $a1, $sp, 0x14 -/* E264D0 802B6770 0C039454 */ jal phys_update_interact_collider -/* E264D4 802B6774 00000000 */ nop -/* E264D8 802B6778 0C039858 */ jal check_input_jump -/* E264DC 802B677C 00000000 */ nop -/* E264E0 802B6780 10400010 */ beqz $v0, .L802B67C4 -/* E264E4 802B6784 00000000 */ nop -/* E264E8 802B6788 C7A20014 */ lwc1 $f2, 0x14($sp) -/* E264EC 802B678C 44800000 */ mtc1 $zero, $f0 -/* E264F0 802B6790 00000000 */ nop -/* E264F4 802B6794 46001032 */ c.eq.s $f2, $f0 -/* E264F8 802B6798 00000000 */ nop -/* E264FC 802B679C 45000007 */ bc1f .L802B67BC -/* E26500 802B67A0 00000000 */ nop -/* E26504 802B67A4 C6220080 */ lwc1 $f2, 0x80($s1) -/* E26508 802B67A8 C7A00010 */ lwc1 $f0, 0x10($sp) -/* E2650C 802B67AC 46001032 */ c.eq.s $f2, $f0 -/* E26510 802B67B0 00000000 */ nop -/* E26514 802B67B4 45010003 */ bc1t .L802B67C4 -/* E26518 802B67B8 00000000 */ nop -.L802B67BC: -/* E2651C 802B67BC C7A00010 */ lwc1 $f0, 0x10($sp) -/* E26520 802B67C0 E6200080 */ swc1 $f0, 0x80($s1) -.L802B67C4: -/* E26524 802B67C4 C7A00014 */ lwc1 $f0, 0x14($sp) -/* E26528 802B67C8 44801000 */ mtc1 $zero, $f2 -/* E2652C 802B67CC 00000000 */ nop -/* E26530 802B67D0 46020032 */ c.eq.s $f0, $f2 -/* E26534 802B67D4 00000000 */ nop -/* E26538 802B67D8 45010006 */ bc1t .L802B67F4 -/* E2653C 802B67DC 26220054 */ addiu $v0, $s1, 0x54 -/* E26540 802B67E0 C620005C */ lwc1 $f0, 0x5c($s1) -/* E26544 802B67E4 46180002 */ mul.s $f0, $f0, $f24 -/* E26548 802B67E8 00000000 */ nop -/* E2654C 802B67EC 080ADA04 */ j .L802B6810 -/* E26550 802B67F0 E4400000 */ swc1 $f0, ($v0) -.L802B67F4: -/* E26554 802B67F4 46001006 */ mov.s $f0, $f2 -/* E26558 802B67F8 080ADA04 */ j .L802B6810 -/* E2655C 802B67FC E4400000 */ swc1 $f0, ($v0) -.L802B6800: -/* E26560 802B6800 C620005C */ lwc1 $f0, 0x5c($s1) -/* E26564 802B6804 46180002 */ mul.s $f0, $f0, $f24 -/* E26568 802B6808 00000000 */ nop -/* E2656C 802B680C E6200054 */ swc1 $f0, 0x54($s1) -.L802B6810: -/* E26570 802B6810 822200B6 */ lb $v0, 0xb6($s1) -/* E26574 802B6814 14400010 */ bnez $v0, .L802B6858 -/* E26578 802B6818 00000000 */ nop -/* E2657C 802B681C 92020003 */ lbu $v0, 3($s0) -/* E26580 802B6820 2442FFFF */ addiu $v0, $v0, -1 -/* E26584 802B6824 A2020003 */ sb $v0, 3($s0) -/* E26588 802B6828 00021600 */ sll $v0, $v0, 0x18 -/* E2658C 802B682C 18400009 */ blez $v0, .L802B6854 -/* E26590 802B6830 24020001 */ addiu $v0, $zero, 1 -/* E26594 802B6834 86220008 */ lh $v0, 8($s1) -/* E26598 802B6838 28420002 */ slti $v0, $v0, 2 -/* E2659C 802B683C 1440004B */ bnez $v0, .L802B696C -/* E265A0 802B6840 00000000 */ nop -/* E265A4 802B6844 C62000A8 */ lwc1 $f0, 0xa8($s1) -/* E265A8 802B6848 C62C00D4 */ lwc1 $f12, 0xd4($s1) -/* E265AC 802B684C 080ADA58 */ j .L802B6960 -/* E265B0 802B6850 460C0300 */ add.s $f12, $f0, $f12 -.L802B6854: -/* E265B4 802B6854 A22200B6 */ sb $v0, 0xb6($s1) -.L802B6858: -/* E265B8 802B6858 822300B6 */ lb $v1, 0xb6($s1) -/* E265BC 802B685C 24020001 */ addiu $v0, $zero, 1 -/* E265C0 802B6860 14620042 */ bne $v1, $v0, .L802B696C -/* E265C4 802B6864 00000000 */ nop -/* E265C8 802B6868 C62200A8 */ lwc1 $f2, 0xa8($s1) -/* E265CC 802B686C C62000D4 */ lwc1 $f0, 0xd4($s1) -/* E265D0 802B6870 82020001 */ lb $v0, 1($s0) -/* E265D4 802B6874 46001000 */ add.s $f0, $f2, $f0 -/* E265D8 802B6878 E7A20010 */ swc1 $f2, 0x10($sp) -/* E265DC 802B687C 10400008 */ beqz $v0, .L802B68A0 -/* E265E0 802B6880 E62000A8 */ swc1 $f0, 0xa8($s1) -/* E265E4 802B6884 3C02FFFD */ lui $v0, 0xfffd -/* E265E8 802B6888 3442FFFF */ ori $v0, $v0, 0xffff -/* E265EC 802B688C 3C040001 */ lui $a0, 1 -/* E265F0 802B6890 34840002 */ ori $a0, $a0, 2 -/* E265F4 802B6894 8E230000 */ lw $v1, ($s1) -/* E265F8 802B6898 080ADA52 */ j .L802B6948 -/* E265FC 802B689C 24050002 */ addiu $a1, $zero, 2 -.L802B68A0: -/* E26600 802B68A0 46001106 */ mov.s $f4, $f2 -/* E26604 802B68A4 4600203C */ c.lt.s $f4, $f0 -/* E26608 802B68A8 00000000 */ nop -/* E2660C 802B68AC 45000013 */ bc1f .L802B68FC -/* E26610 802B68B0 00000000 */ nop -/* E26614 802B68B4 3C014334 */ lui $at, 0x4334 -/* E26618 802B68B8 44811000 */ mtc1 $at, $f2 -/* E2661C 802B68BC 00000000 */ nop -/* E26620 802B68C0 4600103E */ c.le.s $f2, $f0 -/* E26624 802B68C4 00000000 */ nop -/* E26628 802B68C8 45000024 */ bc1f .L802B695C -/* E2662C 802B68CC 00000000 */ nop -/* E26630 802B68D0 4602203C */ c.lt.s $f4, $f2 -/* E26634 802B68D4 00000000 */ nop -/* E26638 802B68D8 45000020 */ bc1f .L802B695C -/* E2663C 802B68DC 3C02FFFD */ lui $v0, 0xfffd -/* E26640 802B68E0 3442FFFF */ ori $v0, $v0, 0xffff -/* E26644 802B68E4 3C040001 */ lui $a0, 1 -/* E26648 802B68E8 34840002 */ ori $a0, $a0, 2 -/* E2664C 802B68EC 8E230000 */ lw $v1, ($s1) -/* E26650 802B68F0 24050002 */ addiu $a1, $zero, 2 -/* E26654 802B68F4 080ADA52 */ j .L802B6948 -/* E26658 802B68F8 E62200A8 */ swc1 $f2, 0xa8($s1) -.L802B68FC: -/* E2665C 802B68FC 44802000 */ mtc1 $zero, $f4 -/* E26660 802B6900 00000000 */ nop -/* E26664 802B6904 4604003E */ c.le.s $f0, $f4 -/* E26668 802B6908 00000000 */ nop -/* E2666C 802B690C 45000013 */ bc1f .L802B695C -/* E26670 802B6910 00000000 */ nop -/* E26674 802B6914 3C0142B4 */ lui $at, 0x42b4 -/* E26678 802B6918 44810000 */ mtc1 $at, $f0 -/* E2667C 802B691C 00000000 */ nop -/* E26680 802B6920 4600103C */ c.lt.s $f2, $f0 -/* E26684 802B6924 00000000 */ nop -/* E26688 802B6928 4500000C */ bc1f .L802B695C -/* E2668C 802B692C 3C02FFFD */ lui $v0, 0xfffd -/* E26690 802B6930 3442FFFF */ ori $v0, $v0, 0xffff -/* E26694 802B6934 3C040001 */ lui $a0, 1 -/* E26698 802B6938 34840002 */ ori $a0, $a0, 2 -/* E2669C 802B693C 8E230000 */ lw $v1, ($s1) -/* E266A0 802B6940 24050002 */ addiu $a1, $zero, 2 -/* E266A4 802B6944 E62400A8 */ swc1 $f4, 0xa8($s1) -.L802B6948: -/* E266A8 802B6948 A6250008 */ sh $a1, 8($s1) -/* E266AC 802B694C A22500B6 */ sb $a1, 0xb6($s1) -/* E266B0 802B6950 00621824 */ and $v1, $v1, $v0 -/* E266B4 802B6954 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* E266B8 802B6958 AE230000 */ sw $v1, ($s1) -.L802B695C: -/* E266BC 802B695C C62C00A8 */ lwc1 $f12, 0xa8($s1) -.L802B6960: -/* E266C0 802B6960 0C00A6C9 */ jal clamp_angle -/* E266C4 802B6964 00000000 */ nop -/* E266C8 802B6968 E62000A8 */ swc1 $f0, 0xa8($s1) -.L802B696C: -/* E266CC 802B696C 8FBF0030 */ lw $ra, 0x30($sp) -/* E266D0 802B6970 8FB5002C */ lw $s5, 0x2c($sp) -/* E266D4 802B6974 8FB40028 */ lw $s4, 0x28($sp) -/* E266D8 802B6978 8FB30024 */ lw $s3, 0x24($sp) -/* E266DC 802B697C 8FB20020 */ lw $s2, 0x20($sp) -/* E266E0 802B6980 8FB1001C */ lw $s1, 0x1c($sp) -/* E266E4 802B6984 8FB00018 */ lw $s0, 0x18($sp) -/* E266E8 802B6988 D7B80048 */ ldc1 $f24, 0x48($sp) -/* E266EC 802B698C D7B60040 */ ldc1 $f22, 0x40($sp) -/* E266F0 802B6990 D7B40038 */ ldc1 $f20, 0x38($sp) -/* E266F4 802B6994 03E00008 */ jr $ra -/* E266F8 802B6998 27BD0050 */ addiu $sp, $sp, 0x50 -/* E266FC 802B699C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/world/partner/kooper/func_802BD638_31B658.s b/ver/us/asm/nonmatchings/world/partner/kooper/func_802BD638_31B658.s deleted file mode 100644 index 2ddce00e39..0000000000 --- a/ver/us/asm/nonmatchings/world/partner/kooper/func_802BD638_31B658.s +++ /dev/null @@ -1,1198 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel jtbl_802BEBC8_31CBE8 -.word .L802BDAA8_31BAC8, .L802BDD4C_31BD6C, .L802BE23C_31C25C, .L802BE37C_31C39C, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BE3A0_31C3C0, .L802BD73C_31B75C, .L802BD7F0_31B810 - -dlabel D_802BEC18_31CC38 -.double 0.01 - -dlabel D_802BEC20_31CC40 -.double 0.01 - -dlabel D_802BEC28_31CC48 -.double 0.01 - -dlabel D_802BEC30_31CC50 -.double 1.3333333333333333 - -.section .text - -glabel func_802BD638_31B658 -/* 31B658 802BD638 3C02800B */ lui $v0, %hi(gCurrentEncounter+0x8) -/* 31B65C 802BD63C 80420F18 */ lb $v0, %lo(gCurrentEncounter+0x8)($v0) -/* 31B660 802BD640 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 31B664 802BD644 AFB50044 */ sw $s5, 0x44($sp) -/* 31B668 802BD648 0080A82D */ daddu $s5, $a0, $zero -/* 31B66C 802BD64C AFB40040 */ sw $s4, 0x40($sp) -/* 31B670 802BD650 3C148011 */ lui $s4, %hi(gPlayerStatus) -/* 31B674 802BD654 2694EFC8 */ addiu $s4, $s4, %lo(gPlayerStatus) -/* 31B678 802BD658 AFB60048 */ sw $s6, 0x48($sp) -/* 31B67C 802BD65C 3C168011 */ lui $s6, %hi(gPartnerActionStatus) -/* 31B680 802BD660 26D6EBB0 */ addiu $s6, $s6, %lo(gPartnerActionStatus) -/* 31B684 802BD664 AFBF004C */ sw $ra, 0x4c($sp) -/* 31B688 802BD668 AFB3003C */ sw $s3, 0x3c($sp) -/* 31B68C 802BD66C AFB20038 */ sw $s2, 0x38($sp) -/* 31B690 802BD670 AFB10034 */ sw $s1, 0x34($sp) -/* 31B694 802BD674 AFB00030 */ sw $s0, 0x30($sp) -/* 31B698 802BD678 F7B40050 */ sdc1 $f20, 0x50($sp) -/* 31B69C 802BD67C 8EB0014C */ lw $s0, 0x14c($s5) -/* 31B6A0 802BD680 1440044C */ bnez $v0, .L802BE7B4 -/* 31B6A4 802BD684 0000102D */ daddu $v0, $zero, $zero -/* 31B6A8 802BD688 10A00022 */ beqz $a1, .L802BD714 -/* 31B6AC 802BD68C 00000000 */ nop -/* 31B6B0 802BD690 0C0AF57D */ jal func_802BD5F4_31B614 -/* 31B6B4 802BD694 0200202D */ daddu $a0, $s0, $zero -/* 31B6B8 802BD698 8E820004 */ lw $v0, 4($s4) -/* 31B6BC 802BD69C 3C030010 */ lui $v1, 0x10 -/* 31B6C0 802BD6A0 00431024 */ and $v0, $v0, $v1 -/* 31B6C4 802BD6A4 10400003 */ beqz $v0, .L802BD6B4 -/* 31B6C8 802BD6A8 00000000 */ nop -.L802BD6AC: -/* 31B6CC 802BD6AC 080AF9ED */ j .L802BE7B4 -/* 31B6D0 802BD6B0 24020002 */ addiu $v0, $zero, 2 -.L802BD6B4: -/* 31B6D4 802BD6B4 3C02802C */ lui $v0, %hi(D_802BEC54) -/* 31B6D8 802BD6B8 8C42EC54 */ lw $v0, %lo(D_802BEC54)($v0) -/* 31B6DC 802BD6BC 14400007 */ bnez $v0, .L802BD6DC -/* 31B6E0 802BD6C0 00000000 */ nop -/* 31B6E4 802BD6C4 828200B4 */ lb $v0, 0xb4($s4) -/* 31B6E8 802BD6C8 2C420003 */ sltiu $v0, $v0, 3 -/* 31B6EC 802BD6CC 1040FFF7 */ beqz $v0, .L802BD6AC -/* 31B6F0 802BD6D0 24020014 */ addiu $v0, $zero, 0x14 -/* 31B6F4 802BD6D4 080AF5C5 */ j .L802BD714 -/* 31B6F8 802BD6D8 AEA20070 */ sw $v0, 0x70($s5) -.L802BD6DC: -/* 31B6FC 802BD6DC 82C20000 */ lb $v0, ($s6) -/* 31B700 802BD6E0 1440000C */ bnez $v0, .L802BD714 -/* 31B704 802BD6E4 3C030002 */ lui $v1, 2 -/* 31B708 802BD6E8 34630009 */ ori $v1, $v1, 9 -/* 31B70C 802BD6EC 24020001 */ addiu $v0, $zero, 1 -/* 31B710 802BD6F0 A2C20000 */ sb $v0, ($s6) -/* 31B714 802BD6F4 24020002 */ addiu $v0, $zero, 2 -/* 31B718 802BD6F8 A2C20003 */ sb $v0, 3($s6) -/* 31B71C 802BD6FC 24020005 */ addiu $v0, $zero, 5 -/* 31B720 802BD700 AEA20070 */ sw $v0, 0x70($s5) -/* 31B724 802BD704 2402001E */ addiu $v0, $zero, 0x1e -/* 31B728 802BD708 AE030028 */ sw $v1, 0x28($s0) -/* 31B72C 802BD70C 3C01802C */ lui $at, %hi(D_802BEC50) -/* 31B730 802BD710 AC22EC50 */ sw $v0, %lo(D_802BEC50)($at) -.L802BD714: -/* 31B734 802BD714 8EA20070 */ lw $v0, 0x70($s5) -/* 31B738 802BD718 2443FFFE */ addiu $v1, $v0, -2 -/* 31B73C 802BD71C 2C620014 */ sltiu $v0, $v1, 0x14 -/* 31B740 802BD720 1040031F */ beqz $v0, .L802BE3A0_31C3C0 -/* 31B744 802BD724 00031080 */ sll $v0, $v1, 2 -/* 31B748 802BD728 3C01802C */ lui $at, %hi(jtbl_802BEBC8_31CBE8) -/* 31B74C 802BD72C 00220821 */ addu $at, $at, $v0 -/* 31B750 802BD730 8C22EBC8 */ lw $v0, %lo(jtbl_802BEBC8_31CBE8)($at) -/* 31B754 802BD734 00400008 */ jr $v0 -/* 31B758 802BD738 00000000 */ nop -.L802BD73C_31B75C: -/* 31B75C 802BD73C 82820015 */ lb $v0, 0x15($s4) -/* 31B760 802BD740 1440041C */ bnez $v0, .L802BE7B4 -/* 31B764 802BD744 24020002 */ addiu $v0, $zero, 2 -/* 31B768 802BD748 868200C0 */ lh $v0, 0xc0($s4) -/* 31B76C 802BD74C 14400419 */ bnez $v0, .L802BE7B4 -/* 31B770 802BD750 24020002 */ addiu $v0, $zero, 2 -/* 31B774 802BD754 8E020000 */ lw $v0, ($s0) -/* 31B778 802BD758 30421000 */ andi $v0, $v0, 0x1000 -/* 31B77C 802BD75C 50400415 */ beql $v0, $zero, .L802BE7B4 -/* 31B780 802BD760 24020002 */ addiu $v0, $zero, 2 -/* 31B784 802BD764 0C03805E */ jal disable_player_input -/* 31B788 802BD768 00000000 */ nop -/* 31B78C 802BD76C 82820015 */ lb $v0, 0x15($s4) -/* 31B790 802BD770 24040001 */ addiu $a0, $zero, 1 -/* 31B794 802BD774 AEA20078 */ sw $v0, 0x78($s5) -/* 31B798 802BD778 8E020000 */ lw $v0, ($s0) -/* 31B79C 802BD77C 2403F5F7 */ addiu $v1, $zero, -0xa09 -/* 31B7A0 802BD780 3C01802C */ lui $at, %hi(D_802BEC64) -/* 31B7A4 802BD784 AC24EC64 */ sw $a0, %lo(D_802BEC64)($at) -/* 31B7A8 802BD788 3C01802C */ lui $at, %hi(D_802BEB40_31CB60) -/* 31B7AC 802BD78C AC20EB40 */ sw $zero, %lo(D_802BEB40_31CB60)($at) -/* 31B7B0 802BD790 3C01802C */ lui $at, %hi(D_802BEC6C) -/* 31B7B4 802BD794 AC20EC6C */ sw $zero, %lo(D_802BEC6C)($at) -/* 31B7B8 802BD798 00431024 */ and $v0, $v0, $v1 -/* 31B7BC 802BD79C 34420140 */ ori $v0, $v0, 0x140 -/* 31B7C0 802BD7A0 AE020000 */ sw $v0, ($s0) -/* 31B7C4 802BD7A4 24020002 */ addiu $v0, $zero, 2 -/* 31B7C8 802BD7A8 A2C20003 */ sb $v0, 3($s6) -/* 31B7CC 802BD7AC 0C03BD38 */ jal func_800EF4E0 -/* 31B7D0 802BD7B0 A2C40000 */ sb $a0, ($s6) -/* 31B7D4 802BD7B4 3C01802C */ lui $at, %hi(D_802BEC58) -/* 31B7D8 802BD7B8 AC22EC58 */ sw $v0, %lo(D_802BEC58)($at) -/* 31B7DC 802BD7BC 0C00EB49 */ jal enable_npc_blur -/* 31B7E0 802BD7C0 0200202D */ daddu $a0, $s0, $zero -/* 31B7E4 802BD7C4 C60C0038 */ lwc1 $f12, 0x38($s0) -/* 31B7E8 802BD7C8 C60E0040 */ lwc1 $f14, 0x40($s0) -/* 31B7EC 802BD7CC 24020004 */ addiu $v0, $zero, 4 -/* 31B7F0 802BD7D0 A602008E */ sh $v0, 0x8e($s0) -/* 31B7F4 802BD7D4 8E860028 */ lw $a2, 0x28($s4) -/* 31B7F8 802BD7D8 0C00A720 */ jal atan2 -/* 31B7FC 802BD7DC 8E870030 */ lw $a3, 0x30($s4) -/* 31B800 802BD7E0 E600000C */ swc1 $f0, 0xc($s0) -/* 31B804 802BD7E4 8EA20070 */ lw $v0, 0x70($s5) -/* 31B808 802BD7E8 080AF8E7 */ j .L802BE39C -/* 31B80C 802BD7EC 24420001 */ addiu $v0, $v0, 1 -.L802BD7F0_31B810: -/* 31B810 802BD7F0 928200B4 */ lbu $v0, 0xb4($s4) -/* 31B814 802BD7F4 2442FFEB */ addiu $v0, $v0, -0x15 -/* 31B818 802BD7F8 2C420003 */ sltiu $v0, $v0, 3 -/* 31B81C 802BD7FC 14400004 */ bnez $v0, .L802BD810 -/* 31B820 802BD800 3C040001 */ lui $a0, 1 -/* 31B824 802BD804 868200C0 */ lh $v0, 0xc0($s4) -/* 31B828 802BD808 10400003 */ beqz $v0, .L802BD818 -/* 31B82C 802BD80C 00000000 */ nop -.L802BD810: -/* 31B830 802BD810 080AF673 */ j .L802BD9CC -/* 31B834 802BD814 34840002 */ ori $a0, $a0, 2 -.L802BD818: -/* 31B838 802BD818 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 31B83C 802BD81C 34840006 */ ori $a0, $a0, 6 -/* 31B840 802BD820 C6840028 */ lwc1 $f4, 0x28($s4) -/* 31B844 802BD824 3C020002 */ lui $v0, 2 -/* 31B848 802BD828 E6040060 */ swc1 $f4, 0x60($s0) -/* 31B84C 802BD82C C682002C */ lwc1 $f2, 0x2c($s4) -/* 31B850 802BD830 34420005 */ ori $v0, $v0, 5 -/* 31B854 802BD834 E6020064 */ swc1 $f2, 0x64($s0) -/* 31B858 802BD838 C6800030 */ lwc1 $f0, 0x30($s4) -/* 31B85C 802BD83C 3C065555 */ lui $a2, 0x5555 -/* 31B860 802BD840 AE020028 */ sw $v0, 0x28($s0) -/* 31B864 802BD844 E6000068 */ swc1 $f0, 0x68($s0) -/* 31B868 802BD848 968200B2 */ lhu $v0, 0xb2($s4) -/* 31B86C 802BD84C 34C65556 */ ori $a2, $a2, 0x5556 -/* 31B870 802BD850 00021400 */ sll $v0, $v0, 0x10 -/* 31B874 802BD854 00021C03 */ sra $v1, $v0, 0x10 -/* 31B878 802BD858 00660018 */ mult $v1, $a2 -/* 31B87C 802BD85C 26040060 */ addiu $a0, $s0, 0x60 -/* 31B880 802BD860 8E870080 */ lw $a3, 0x80($s4) -/* 31B884 802BD864 000217C3 */ sra $v0, $v0, 0x1f -/* 31B888 802BD868 00004010 */ mfhi $t0 -/* 31B88C 802BD86C 01021023 */ subu $v0, $t0, $v0 -/* 31B890 802BD870 00021400 */ sll $v0, $v0, 0x10 -/* 31B894 802BD874 00021403 */ sra $v0, $v0, 0x10 -/* 31B898 802BD878 44828000 */ mtc1 $v0, $f16 -/* 31B89C 802BD87C 00000000 */ nop -/* 31B8A0 802BD880 46808420 */ cvt.s.w $f16, $f16 -/* 31B8A4 802BD884 44068000 */ mfc1 $a2, $f16 -/* 31B8A8 802BD888 3C01802C */ lui $at, %hi(D_802BEC70) -/* 31B8AC 802BD88C E424EC70 */ swc1 $f4, %lo(D_802BEC70)($at) -/* 31B8B0 802BD890 3C01802C */ lui $at, %hi(D_802BEC74) -/* 31B8B4 802BD894 E422EC74 */ swc1 $f2, %lo(D_802BEC74)($at) -/* 31B8B8 802BD898 3C01802C */ lui $at, %hi(D_802BEC78) -/* 31B8BC 802BD89C E420EC78 */ swc1 $f0, %lo(D_802BEC78)($at) -/* 31B8C0 802BD8A0 0C00A7E7 */ jal add_vec2D_polar -/* 31B8C4 802BD8A4 26050068 */ addiu $a1, $s0, 0x68 -/* 31B8C8 802BD8A8 3C02802C */ lui $v0, %hi(D_802BEC58) -/* 31B8CC 802BD8AC 8C42EC58 */ lw $v0, %lo(D_802BEC58)($v0) -/* 31B8D0 802BD8B0 C68C0080 */ lwc1 $f12, 0x80($s4) -/* 31B8D4 802BD8B4 3C01C2B4 */ lui $at, 0xc2b4 -/* 31B8D8 802BD8B8 44810000 */ mtc1 $at, $f0 -/* 31B8DC 802BD8BC 10400003 */ beqz $v0, .L802BD8CC -/* 31B8E0 802BD8C0 00000000 */ nop -/* 31B8E4 802BD8C4 3C0142B4 */ lui $at, 0x42b4 -/* 31B8E8 802BD8C8 44810000 */ mtc1 $at, $f0 -.L802BD8CC: -/* 31B8EC 802BD8CC 0C00A6C9 */ jal clamp_angle -/* 31B8F0 802BD8D0 46006300 */ add.s $f12, $f12, $f0 -/* 31B8F4 802BD8D4 868200B2 */ lh $v0, 0xb2($s4) -/* 31B8F8 802BD8D8 26040060 */ addiu $a0, $s0, 0x60 -/* 31B8FC 802BD8DC 04410002 */ bgez $v0, .L802BD8E8 -/* 31B900 802BD8E0 26050068 */ addiu $a1, $s0, 0x68 -/* 31B904 802BD8E4 24420003 */ addiu $v0, $v0, 3 -.L802BD8E8: -/* 31B908 802BD8E8 00021083 */ sra $v0, $v0, 2 -/* 31B90C 802BD8EC 44828000 */ mtc1 $v0, $f16 -/* 31B910 802BD8F0 00000000 */ nop -/* 31B914 802BD8F4 46808420 */ cvt.s.w $f16, $f16 -/* 31B918 802BD8F8 44070000 */ mfc1 $a3, $f0 -/* 31B91C 802BD8FC 44068000 */ mfc1 $a2, $f16 -/* 31B920 802BD900 0C00A7E7 */ jal add_vec2D_polar -/* 31B924 802BD904 00000000 */ nop -/* 31B928 802BD908 C6000060 */ lwc1 $f0, 0x60($s0) -/* 31B92C 802BD90C C60A0038 */ lwc1 $f10, 0x38($s0) -/* 31B930 802BD910 8602008E */ lh $v0, 0x8e($s0) -/* 31B934 802BD914 C6040064 */ lwc1 $f4, 0x64($s0) -/* 31B938 802BD918 C608003C */ lwc1 $f8, 0x3c($s0) -/* 31B93C 802BD91C C6060040 */ lwc1 $f6, 0x40($s0) -/* 31B940 802BD920 44821000 */ mtc1 $v0, $f2 -/* 31B944 802BD924 00000000 */ nop -/* 31B948 802BD928 468010A0 */ cvt.s.w $f2, $f2 -/* 31B94C 802BD92C 0040202D */ daddu $a0, $v0, $zero -/* 31B950 802BD930 460A0001 */ sub.s $f0, $f0, $f10 -/* 31B954 802BD934 0080182D */ daddu $v1, $a0, $zero -/* 31B958 802BD938 9602008E */ lhu $v0, 0x8e($s0) -/* 31B95C 802BD93C 46082101 */ sub.s $f4, $f4, $f8 -/* 31B960 802BD940 2442FFFF */ addiu $v0, $v0, -1 -/* 31B964 802BD944 A602008E */ sh $v0, 0x8e($s0) -/* 31B968 802BD948 46020003 */ div.s $f0, $f0, $f2 -/* 31B96C 802BD94C 46005280 */ add.s $f10, $f10, $f0 -/* 31B970 802BD950 C6020068 */ lwc1 $f2, 0x68($s0) -/* 31B974 802BD954 00021400 */ sll $v0, $v0, 0x10 -/* 31B978 802BD958 46061081 */ sub.s $f2, $f2, $f6 -/* 31B97C 802BD95C 44840000 */ mtc1 $a0, $f0 -/* 31B980 802BD960 00000000 */ nop -/* 31B984 802BD964 46800020 */ cvt.s.w $f0, $f0 -/* 31B988 802BD968 46002103 */ div.s $f4, $f4, $f0 -/* 31B98C 802BD96C 46044200 */ add.s $f8, $f8, $f4 -/* 31B990 802BD970 44830000 */ mtc1 $v1, $f0 -/* 31B994 802BD974 00000000 */ nop -/* 31B998 802BD978 46800020 */ cvt.s.w $f0, $f0 -/* 31B99C 802BD97C 46001083 */ div.s $f2, $f2, $f0 -/* 31B9A0 802BD980 46023180 */ add.s $f6, $f6, $f2 -/* 31B9A4 802BD984 E60A0038 */ swc1 $f10, 0x38($s0) -/* 31B9A8 802BD988 E608003C */ swc1 $f8, 0x3c($s0) -/* 31B9AC 802BD98C 14400284 */ bnez $v0, .L802BE3A0_31C3C0 -/* 31B9B0 802BD990 E6060040 */ swc1 $f6, 0x40($s0) -/* 31B9B4 802BD994 0C00EB6B */ jal disable_npc_blur -/* 31B9B8 802BD998 0200202D */ daddu $a0, $s0, $zero -/* 31B9BC 802BD99C 82830015 */ lb $v1, 0x15($s4) -/* 31B9C0 802BD9A0 8EA20078 */ lw $v0, 0x78($s5) -/* 31B9C4 802BD9A4 0043102A */ slt $v0, $v0, $v1 -/* 31B9C8 802BD9A8 1040000C */ beqz $v0, .L802BD9DC -/* 31B9CC 802BD9AC 3C030010 */ lui $v1, 0x10 -/* 31B9D0 802BD9B0 8E820004 */ lw $v0, 4($s4) -/* 31B9D4 802BD9B4 00431024 */ and $v0, $v0, $v1 -/* 31B9D8 802BD9B8 14400003 */ bnez $v0, .L802BD9C8 -/* 31B9DC 802BD9BC 3C040001 */ lui $a0, 1 -/* 31B9E0 802BD9C0 080AF673 */ j .L802BD9CC -/* 31B9E4 802BD9C4 34840002 */ ori $a0, $a0, 2 -.L802BD9C8: -/* 31B9E8 802BD9C8 34840005 */ ori $a0, $a0, 5 -.L802BD9CC: -/* 31B9EC 802BD9CC 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 31B9F0 802BD9D0 00000000 */ nop -/* 31B9F4 802BD9D4 080AF8E8 */ j .L802BE3A0_31C3C0 -/* 31B9F8 802BD9D8 AEA00070 */ sw $zero, 0x70($s5) -.L802BD9DC: -/* 31B9FC 802BD9DC 3C020002 */ lui $v0, 2 -/* 31BA00 802BD9E0 C6840080 */ lwc1 $f4, 0x80($s4) -/* 31BA04 802BD9E4 3C014190 */ lui $at, 0x4190 -/* 31BA08 802BD9E8 44810000 */ mtc1 $at, $f0 -/* 31BA0C 802BD9EC 3C014040 */ lui $at, 0x4040 -/* 31BA10 802BD9F0 44811000 */ mtc1 $at, $f2 -/* 31BA14 802BD9F4 3442000A */ ori $v0, $v0, 0xa -/* 31BA18 802BD9F8 AE020028 */ sw $v0, 0x28($s0) -/* 31BA1C 802BD9FC 2402000C */ addiu $v0, $zero, 0xc -/* 31BA20 802BDA00 A60200A8 */ sh $v0, 0xa8($s0) -/* 31BA24 802BDA04 E604000C */ swc1 $f4, 0xc($s0) -/* 31BA28 802BDA08 E600001C */ swc1 $f0, 0x1c($s0) -/* 31BA2C 802BDA0C E6020014 */ swc1 $f2, 0x14($s0) -/* 31BA30 802BDA10 C680002C */ lwc1 $f0, 0x2c($s4) -/* 31BA34 802BDA14 3C045555 */ lui $a0, 0x5555 -/* 31BA38 802BDA18 E6000064 */ swc1 $f0, 0x64($s0) -/* 31BA3C 802BDA1C 968200B0 */ lhu $v0, 0xb0($s4) -/* 31BA40 802BDA20 34845556 */ ori $a0, $a0, 0x5556 -/* 31BA44 802BDA24 00021400 */ sll $v0, $v0, 0x10 -/* 31BA48 802BDA28 00021C03 */ sra $v1, $v0, 0x10 -/* 31BA4C 802BDA2C 00640018 */ mult $v1, $a0 -/* 31BA50 802BDA30 3C05800B */ lui $a1, %hi(gCameras) -/* 31BA54 802BDA34 24A51D80 */ addiu $a1, $a1, %lo(gCameras) -/* 31BA58 802BDA38 C682002C */ lwc1 $f2, 0x2c($s4) -/* 31BA5C 802BDA3C 000217C3 */ sra $v0, $v0, 0x1f -/* 31BA60 802BDA40 00004010 */ mfhi $t0 -/* 31BA64 802BDA44 01021023 */ subu $v0, $t0, $v0 -/* 31BA68 802BDA48 00021400 */ sll $v0, $v0, 0x10 -/* 31BA6C 802BDA4C 00021403 */ sra $v0, $v0, 0x10 -/* 31BA70 802BDA50 44820000 */ mtc1 $v0, $f0 -/* 31BA74 802BDA54 00000000 */ nop -/* 31BA78 802BDA58 46800020 */ cvt.s.w $f0, $f0 -/* 31BA7C 802BDA5C 46001080 */ add.s $f2, $f2, $f0 -/* 31BA80 802BDA60 3C040001 */ lui $a0, 1 -/* 31BA84 802BDA64 34840007 */ ori $a0, $a0, 7 -/* 31BA88 802BDA68 E6020068 */ swc1 $f2, 0x68($s0) -/* 31BA8C 802BDA6C 8E820000 */ lw $v0, ($s4) -/* 31BA90 802BDA70 94A30002 */ lhu $v1, 2($a1) -/* 31BA94 802BDA74 34420002 */ ori $v0, $v0, 2 -/* 31BA98 802BDA78 34630001 */ ori $v1, $v1, 1 -/* 31BA9C 802BDA7C AE820000 */ sw $v0, ($s4) -/* 31BAA0 802BDA80 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 31BAA4 802BDA84 A4A30002 */ sh $v1, 2($a1) -/* 31BAA8 802BDA88 24042081 */ addiu $a0, $zero, 0x2081 -/* 31BAAC 802BDA8C 0000282D */ daddu $a1, $zero, $zero -/* 31BAB0 802BDA90 3C01802C */ lui $at, %hi(D_802BEC60) -/* 31BAB4 802BDA94 AC20EC60 */ sw $zero, %lo(D_802BEC60)($at) -/* 31BAB8 802BDA98 0C052742 */ jal sfx_play_sound_at_npc -/* 31BABC 802BDA9C 2406FFFC */ addiu $a2, $zero, -4 -/* 31BAC0 802BDAA0 24020002 */ addiu $v0, $zero, 2 -/* 31BAC4 802BDAA4 AEA20070 */ sw $v0, 0x70($s5) -.L802BDAA8_31BAC8: -/* 31BAC8 802BDAA8 928200B4 */ lbu $v0, 0xb4($s4) -/* 31BACC 802BDAAC 2442FFEB */ addiu $v0, $v0, -0x15 -/* 31BAD0 802BDAB0 2C420003 */ sltiu $v0, $v0, 3 -/* 31BAD4 802BDAB4 5440023A */ bnel $v0, $zero, .L802BE3A0_31C3C0 -/* 31BAD8 802BDAB8 AEA00070 */ sw $zero, 0x70($s5) -/* 31BADC 802BDABC C602001C */ lwc1 $f2, 0x1c($s0) -/* 31BAE0 802BDAC0 C6000014 */ lwc1 $f0, 0x14($s0) -/* 31BAE4 802BDAC4 46001081 */ sub.s $f2, $f2, $f0 -/* 31BAE8 802BDAC8 E602001C */ swc1 $f2, 0x1c($s0) -/* 31BAEC 802BDACC C680002C */ lwc1 $f0, 0x2c($s4) -/* 31BAF0 802BDAD0 46020000 */ add.s $f0, $f0, $f2 -/* 31BAF4 802BDAD4 E680002C */ swc1 $f0, 0x2c($s4) -/* 31BAF8 802BDAD8 C602001C */ lwc1 $f2, 0x1c($s0) -/* 31BAFC 802BDADC 44800000 */ mtc1 $zero, $f0 -/* 31BB00 802BDAE0 00000000 */ nop -/* 31BB04 802BDAE4 4600103C */ c.lt.s $f2, $f0 -/* 31BB08 802BDAE8 00000000 */ nop -/* 31BB0C 802BDAEC 4500000C */ bc1f .L802BDB20 -/* 31BB10 802BDAF0 3C040001 */ lui $a0, 1 -/* 31BB14 802BDAF4 3C03802C */ lui $v1, %hi(D_802BEC60) -/* 31BB18 802BDAF8 2463EC60 */ addiu $v1, $v1, %lo(D_802BEC60) -/* 31BB1C 802BDAFC 8C620000 */ lw $v0, ($v1) -/* 31BB20 802BDB00 14400008 */ bnez $v0, .L802BDB24 -/* 31BB24 802BDB04 27A50020 */ addiu $a1, $sp, 0x20 -/* 31BB28 802BDB08 24020001 */ addiu $v0, $zero, 1 -/* 31BB2C 802BDB0C AC620000 */ sw $v0, ($v1) -/* 31BB30 802BDB10 3C040001 */ lui $a0, 1 -/* 31BB34 802BDB14 0C037FBF */ jal suggest_player_anim_clearUnkFlag -/* 31BB38 802BDB18 34840008 */ ori $a0, $a0, 8 -/* 31BB3C 802BDB1C 3C040001 */ lui $a0, 1 -.L802BDB20: -/* 31BB40 802BDB20 27A50020 */ addiu $a1, $sp, 0x20 -.L802BDB24: -/* 31BB44 802BDB24 27A60024 */ addiu $a2, $sp, 0x24 -/* 31BB48 802BDB28 27A70028 */ addiu $a3, $sp, 0x28 -/* 31BB4C 802BDB2C 968300B0 */ lhu $v1, 0xb0($s4) -/* 31BB50 802BDB30 C6820028 */ lwc1 $f2, 0x28($s4) -/* 31BB54 802BDB34 00031C00 */ sll $v1, $v1, 0x10 -/* 31BB58 802BDB38 00031403 */ sra $v0, $v1, 0x10 -/* 31BB5C 802BDB3C 00031FC2 */ srl $v1, $v1, 0x1f -/* 31BB60 802BDB40 00431021 */ addu $v0, $v0, $v1 -/* 31BB64 802BDB44 00021043 */ sra $v0, $v0, 1 -/* 31BB68 802BDB48 44820000 */ mtc1 $v0, $f0 -/* 31BB6C 802BDB4C 00000000 */ nop -/* 31BB70 802BDB50 46800020 */ cvt.s.w $f0, $f0 -/* 31BB74 802BDB54 968300B0 */ lhu $v1, 0xb0($s4) -/* 31BB78 802BDB58 46000506 */ mov.s $f20, $f0 -/* 31BB7C 802BDB5C E7A20020 */ swc1 $f2, 0x20($sp) -/* 31BB80 802BDB60 C682002C */ lwc1 $f2, 0x2c($s4) -/* 31BB84 802BDB64 C6840030 */ lwc1 $f4, 0x30($s4) -/* 31BB88 802BDB68 00031C00 */ sll $v1, $v1, 0x10 -/* 31BB8C 802BDB6C 00031403 */ sra $v0, $v1, 0x10 -/* 31BB90 802BDB70 00031FC2 */ srl $v1, $v1, 0x1f -/* 31BB94 802BDB74 00431021 */ addu $v0, $v0, $v1 -/* 31BB98 802BDB78 00021043 */ sra $v0, $v0, 1 -/* 31BB9C 802BDB7C 44820000 */ mtc1 $v0, $f0 -/* 31BBA0 802BDB80 00000000 */ nop -/* 31BBA4 802BDB84 46800020 */ cvt.s.w $f0, $f0 -/* 31BBA8 802BDB88 46001080 */ add.s $f2, $f2, $f0 -/* 31BBAC 802BDB8C C600001C */ lwc1 $f0, 0x1c($s0) -/* 31BBB0 802BDB90 27A2002C */ addiu $v0, $sp, 0x2c -/* 31BBB4 802BDB94 46001081 */ sub.s $f2, $f2, $f0 -/* 31BBB8 802BDB98 E7A40028 */ swc1 $f4, 0x28($sp) -/* 31BBBC 802BDB9C E7B4002C */ swc1 $f20, 0x2c($sp) -/* 31BBC0 802BDBA0 E7A20024 */ swc1 $f2, 0x24($sp) -/* 31BBC4 802BDBA4 0C03739C */ jal npc_raycast_up -/* 31BBC8 802BDBA8 AFA20010 */ sw $v0, 0x10($sp) -/* 31BBCC 802BDBAC 10400013 */ beqz $v0, .L802BDBFC -/* 31BBD0 802BDBB0 00000000 */ nop -/* 31BBD4 802BDBB4 C7A0002C */ lwc1 $f0, 0x2c($sp) -/* 31BBD8 802BDBB8 4614003C */ c.lt.s $f0, $f20 -/* 31BBDC 802BDBBC 00000000 */ nop -/* 31BBE0 802BDBC0 4500000E */ bc1f .L802BDBFC -/* 31BBE4 802BDBC4 0200202D */ daddu $a0, $s0, $zero -/* 31BBE8 802BDBC8 868200B0 */ lh $v0, 0xb0($s4) -/* 31BBEC 802BDBCC C7A20024 */ lwc1 $f2, 0x24($sp) -/* 31BBF0 802BDBD0 3C038011 */ lui $v1, %hi(D_8010C97A) -/* 31BBF4 802BDBD4 9463C97A */ lhu $v1, %lo(D_8010C97A)($v1) -/* 31BBF8 802BDBD8 44820000 */ mtc1 $v0, $f0 -/* 31BBFC 802BDBDC 00000000 */ nop -/* 31BC00 802BDBE0 46800020 */ cvt.s.w $f0, $f0 -/* 31BC04 802BDBE4 46001081 */ sub.s $f2, $f2, $f0 -/* 31BC08 802BDBE8 3C028016 */ lui $v0, %hi(gCollisionStatus) -/* 31BC0C 802BDBEC 2442A550 */ addiu $v0, $v0, %lo(gCollisionStatus) -/* 31BC10 802BDBF0 A4430008 */ sh $v1, 8($v0) -/* 31BC14 802BDBF4 0C0AF451 */ jal func_802BD144_31B164 -/* 31BC18 802BDBF8 E682002C */ swc1 $f2, 0x2c($s4) -.L802BDBFC: -/* 31BC1C 802BDBFC C600001C */ lwc1 $f0, 0x1c($s0) -/* 31BC20 802BDC00 44802000 */ mtc1 $zero, $f4 -/* 31BC24 802BDC04 00000000 */ nop -/* 31BC28 802BDC08 4600203C */ c.lt.s $f4, $f0 -/* 31BC2C 802BDC0C 00000000 */ nop -/* 31BC30 802BDC10 450101E3 */ bc1t .L802BE3A0_31C3C0 -/* 31BC34 802BDC14 00000000 */ nop -/* 31BC38 802BDC18 C682002C */ lwc1 $f2, 0x2c($s4) -/* 31BC3C 802BDC1C C6000068 */ lwc1 $f0, 0x68($s0) -/* 31BC40 802BDC20 4600103C */ c.lt.s $f2, $f0 -/* 31BC44 802BDC24 00000000 */ nop -/* 31BC48 802BDC28 450001DD */ bc1f .L802BE3A0_31C3C0 -/* 31BC4C 802BDC2C 3C040002 */ lui $a0, 2 -/* 31BC50 802BDC30 34840009 */ ori $a0, $a0, 9 -/* 31BC54 802BDC34 8E020000 */ lw $v0, ($s0) -/* 31BC58 802BDC38 3C014100 */ lui $at, 0x4100 -/* 31BC5C 802BDC3C 44810000 */ mtc1 $at, $f0 -/* 31BC60 802BDC40 2403FEFF */ addiu $v1, $zero, -0x101 -/* 31BC64 802BDC44 3C01802C */ lui $at, %hi(D_802BEC5C) -/* 31BC68 802BDC48 AC20EC5C */ sw $zero, %lo(D_802BEC5C)($at) -/* 31BC6C 802BDC4C 00431024 */ and $v0, $v0, $v1 -/* 31BC70 802BDC50 AE020000 */ sw $v0, ($s0) -/* 31BC74 802BDC54 24020002 */ addiu $v0, $zero, 2 -/* 31BC78 802BDC58 A2C20003 */ sb $v0, 3($s6) -/* 31BC7C 802BDC5C A2C20000 */ sb $v0, ($s6) -/* 31BC80 802BDC60 E604004C */ swc1 $f4, 0x4c($s0) -/* 31BC84 802BDC64 E6040010 */ swc1 $f4, 0x10($s0) -/* 31BC88 802BDC68 E6000018 */ swc1 $f0, 0x18($s0) -/* 31BC8C 802BDC6C AE040028 */ sw $a0, 0x28($s0) -/* 31BC90 802BDC70 C68C0080 */ lwc1 $f12, 0x80($s4) -/* 31BC94 802BDC74 24020001 */ addiu $v0, $zero, 1 -/* 31BC98 802BDC78 3C01802C */ lui $at, %hi(D_802BEB40_31CB60) -/* 31BC9C 802BDC7C AC22EB40 */ sw $v0, %lo(D_802BEB40_31CB60)($at) -/* 31BCA0 802BDC80 0C00A8BB */ jal sin_deg -/* 31BCA4 802BDC84 24120003 */ addiu $s2, $zero, 3 -/* 31BCA8 802BDC88 C68C0080 */ lwc1 $f12, 0x80($s4) -/* 31BCAC 802BDC8C 0C00A8D4 */ jal cos_deg -/* 31BCB0 802BDC90 46000506 */ mov.s $f20, $f0 -/* 31BCB4 802BDC94 860200A8 */ lh $v0, 0xa8($s0) -/* 31BCB8 802BDC98 C604003C */ lwc1 $f4, 0x3c($s0) -/* 31BCBC 802BDC9C 3C01BF80 */ lui $at, 0xbf80 -/* 31BCC0 802BDCA0 44811000 */ mtc1 $at, $f2 -/* 31BCC4 802BDCA4 46000007 */ neg.s $f0, $f0 -/* 31BCC8 802BDCA8 E7B40010 */ swc1 $f20, 0x10($sp) -/* 31BCCC 802BDCAC E7A00018 */ swc1 $f0, 0x18($sp) -/* 31BCD0 802BDCB0 AFB2001C */ sw $s2, 0x1c($sp) -/* 31BCD4 802BDCB4 44820000 */ mtc1 $v0, $f0 -/* 31BCD8 802BDCB8 00000000 */ nop -/* 31BCDC 802BDCBC 46800020 */ cvt.s.w $f0, $f0 -/* 31BCE0 802BDCC0 46002100 */ add.s $f4, $f4, $f0 -/* 31BCE4 802BDCC4 E7A20014 */ swc1 $f2, 0x14($sp) -/* 31BCE8 802BDCC8 8E050038 */ lw $a1, 0x38($s0) -/* 31BCEC 802BDCCC 8E070040 */ lw $a3, 0x40($s0) -/* 31BCF0 802BDCD0 44062000 */ mfc1 $a2, $f4 -/* 31BCF4 802BDCD4 0C01C064 */ jal fx_damage_stars -/* 31BCF8 802BDCD8 0240202D */ daddu $a0, $s2, $zero -/* 31BCFC 802BDCDC 0C039823 */ jal start_bounce_b -/* 31BD00 802BDCE0 00000000 */ nop -/* 31BD04 802BDCE4 3C11802C */ lui $s1, %hi(D_802BEC64) -/* 31BD08 802BDCE8 2631EC64 */ addiu $s1, $s1, %lo(D_802BEC64) -/* 31BD0C 802BDCEC 8E220000 */ lw $v0, ($s1) -/* 31BD10 802BDCF0 10400005 */ beqz $v0, .L802BDD08 -/* 31BD14 802BDCF4 24040283 */ addiu $a0, $zero, 0x283 -/* 31BD18 802BDCF8 0C038069 */ jal enable_player_input -/* 31BD1C 802BDCFC 00000000 */ nop -/* 31BD20 802BDD00 AE200000 */ sw $zero, ($s1) -/* 31BD24 802BDD04 24040283 */ addiu $a0, $zero, 0x283 -.L802BDD08: -/* 31BD28 802BDD08 0000282D */ daddu $a1, $zero, $zero -/* 31BD2C 802BDD0C 3C03800B */ lui $v1, %hi(gCameras) -/* 31BD30 802BDD10 24631D80 */ addiu $v1, $v1, %lo(gCameras) -/* 31BD34 802BDD14 AEB20070 */ sw $s2, 0x70($s5) -/* 31BD38 802BDD18 94620002 */ lhu $v0, 2($v1) -/* 31BD3C 802BDD1C 2406FFFC */ addiu $a2, $zero, -4 -/* 31BD40 802BDD20 3C01802C */ lui $at, %hi(D_802BEC60) -/* 31BD44 802BDD24 AC20EC60 */ sw $zero, %lo(D_802BEC60)($at) -/* 31BD48 802BDD28 34420001 */ ori $v0, $v0, 1 -/* 31BD4C 802BDD2C 0C052742 */ jal sfx_play_sound_at_npc -/* 31BD50 802BDD30 A4620002 */ sh $v0, 2($v1) -/* 31BD54 802BDD34 24040284 */ addiu $a0, $zero, 0x284 -/* 31BD58 802BDD38 0000282D */ daddu $a1, $zero, $zero -/* 31BD5C 802BDD3C 0C052742 */ jal sfx_play_sound_at_npc -/* 31BD60 802BDD40 2406FFFC */ addiu $a2, $zero, -4 -/* 31BD64 802BDD44 080AF8E8 */ j .L802BE3A0_31C3C0 -/* 31BD68 802BDD48 00000000 */ nop -.L802BDD4C_31BD6C: -/* 31BD6C 802BDD4C 928200B4 */ lbu $v0, 0xb4($s4) -/* 31BD70 802BDD50 2442FFEB */ addiu $v0, $v0, -0x15 -/* 31BD74 802BDD54 2C420002 */ sltiu $v0, $v0, 2 -/* 31BD78 802BDD58 54400191 */ bnel $v0, $zero, .L802BE3A0_31C3C0 -/* 31BD7C 802BDD5C AEA00070 */ sw $zero, 0x70($s5) -/* 31BD80 802BDD60 34048000 */ ori $a0, $zero, 0x8000 -/* 31BD84 802BDD64 C6000038 */ lwc1 $f0, 0x38($s0) -/* 31BD88 802BDD68 C602003C */ lwc1 $f2, 0x3c($s0) -/* 31BD8C 802BDD6C C6040040 */ lwc1 $f4, 0x40($s0) -/* 31BD90 802BDD70 C6060018 */ lwc1 $f6, 0x18($s0) -/* 31BD94 802BDD74 3C0141A0 */ lui $at, 0x41a0 -/* 31BD98 802BDD78 4481A000 */ mtc1 $at, $f20 -/* 31BD9C 802BDD7C 27B20020 */ addiu $s2, $sp, 0x20 -/* 31BDA0 802BDD80 E7A00020 */ swc1 $f0, 0x20($sp) -/* 31BDA4 802BDD84 E7A20024 */ swc1 $f2, 0x24($sp) -/* 31BDA8 802BDD88 E7A40028 */ swc1 $f4, 0x28($sp) -/* 31BDAC 802BDD8C E7A60010 */ swc1 $f6, 0x10($sp) -/* 31BDB0 802BDD90 C600000C */ lwc1 $f0, 0xc($s0) -/* 31BDB4 802BDD94 0240282D */ daddu $a1, $s2, $zero -/* 31BDB8 802BDD98 46140001 */ sub.s $f0, $f0, $f20 -/* 31BDBC 802BDD9C 27B30024 */ addiu $s3, $sp, 0x24 -/* 31BDC0 802BDDA0 0260302D */ daddu $a2, $s3, $zero -/* 31BDC4 802BDDA4 E7A00014 */ swc1 $f0, 0x14($sp) -/* 31BDC8 802BDDA8 860200A8 */ lh $v0, 0xa8($s0) -/* 31BDCC 802BDDAC 27B10028 */ addiu $s1, $sp, 0x28 -/* 31BDD0 802BDDB0 44820000 */ mtc1 $v0, $f0 -/* 31BDD4 802BDDB4 00000000 */ nop -/* 31BDD8 802BDDB8 46800020 */ cvt.s.w $f0, $f0 -/* 31BDDC 802BDDBC E7A00018 */ swc1 $f0, 0x18($sp) -/* 31BDE0 802BDDC0 960300A6 */ lhu $v1, 0xa6($s0) -/* 31BDE4 802BDDC4 0220382D */ daddu $a3, $s1, $zero -/* 31BDE8 802BDDC8 00031C00 */ sll $v1, $v1, 0x10 -/* 31BDEC 802BDDCC 00031403 */ sra $v0, $v1, 0x10 -/* 31BDF0 802BDDD0 00031FC2 */ srl $v1, $v1, 0x1f -/* 31BDF4 802BDDD4 00431021 */ addu $v0, $v0, $v1 -/* 31BDF8 802BDDD8 00021043 */ sra $v0, $v0, 1 -/* 31BDFC 802BDDDC 44820000 */ mtc1 $v0, $f0 -/* 31BE00 802BDDE0 00000000 */ nop -/* 31BE04 802BDDE4 46800020 */ cvt.s.w $f0, $f0 -/* 31BE08 802BDDE8 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 31BE0C 802BDDEC E7A0001C */ swc1 $f0, 0x1c($sp) -/* 31BE10 802BDDF0 10400027 */ beqz $v0, .L802BDE90 -/* 31BE14 802BDDF4 34048000 */ ori $a0, $zero, 0x8000 -.L802BDDF8: -/* 31BE18 802BDDF8 0C0AF440 */ jal func_802BD100_31B120 -/* 31BE1C 802BDDFC 0200202D */ daddu $a0, $s0, $zero -/* 31BE20 802BDE00 14400004 */ bnez $v0, .L802BDE14 -/* 31BE24 802BDE04 2404010C */ addiu $a0, $zero, 0x10c -/* 31BE28 802BDE08 0000282D */ daddu $a1, $zero, $zero -/* 31BE2C 802BDE0C 0C052742 */ jal sfx_play_sound_at_npc -/* 31BE30 802BDE10 2406FFFC */ addiu $a2, $zero, -4 -.L802BDE14: -/* 31BE34 802BDE14 C60C000C */ lwc1 $f12, 0xc($s0) -/* 31BE38 802BDE18 0C00A8BB */ jal sin_deg -/* 31BE3C 802BDE1C 00000000 */ nop -/* 31BE40 802BDE20 C60C000C */ lwc1 $f12, 0xc($s0) -/* 31BE44 802BDE24 0C00A8D4 */ jal cos_deg -/* 31BE48 802BDE28 46000506 */ mov.s $f20, $f0 -/* 31BE4C 802BDE2C 24020001 */ addiu $v0, $zero, 1 -/* 31BE50 802BDE30 860300A8 */ lh $v1, 0xa8($s0) -/* 31BE54 802BDE34 C604003C */ lwc1 $f4, 0x3c($s0) -/* 31BE58 802BDE38 3C01BF80 */ lui $at, 0xbf80 -/* 31BE5C 802BDE3C 44811000 */ mtc1 $at, $f2 -/* 31BE60 802BDE40 46000007 */ neg.s $f0, $f0 -/* 31BE64 802BDE44 E7B40010 */ swc1 $f20, 0x10($sp) -/* 31BE68 802BDE48 E7A00018 */ swc1 $f0, 0x18($sp) -/* 31BE6C 802BDE4C AFA2001C */ sw $v0, 0x1c($sp) -/* 31BE70 802BDE50 44830000 */ mtc1 $v1, $f0 -/* 31BE74 802BDE54 00000000 */ nop -/* 31BE78 802BDE58 46800020 */ cvt.s.w $f0, $f0 -/* 31BE7C 802BDE5C 46002100 */ add.s $f4, $f4, $f0 -/* 31BE80 802BDE60 E7A20014 */ swc1 $f2, 0x14($sp) -/* 31BE84 802BDE64 8E050038 */ lw $a1, 0x38($s0) -/* 31BE88 802BDE68 8E070040 */ lw $a3, 0x40($s0) -/* 31BE8C 802BDE6C 44062000 */ mfc1 $a2, $f4 -/* 31BE90 802BDE70 0C01C064 */ jal fx_damage_stars -/* 31BE94 802BDE74 24040003 */ addiu $a0, $zero, 3 -/* 31BE98 802BDE78 0000202D */ daddu $a0, $zero, $zero -/* 31BE9C 802BDE7C 0080282D */ daddu $a1, $a0, $zero -/* 31BEA0 802BDE80 0C052742 */ jal sfx_play_sound_at_npc -/* 31BEA4 802BDE84 2406FFFC */ addiu $a2, $zero, -4 -/* 31BEA8 802BDE88 080AF8E7 */ j .L802BE39C -/* 31BEAC 802BDE8C 24020007 */ addiu $v0, $zero, 7 -.L802BDE90: -/* 31BEB0 802BDE90 C6000038 */ lwc1 $f0, 0x38($s0) -/* 31BEB4 802BDE94 C602003C */ lwc1 $f2, 0x3c($s0) -/* 31BEB8 802BDE98 C6040040 */ lwc1 $f4, 0x40($s0) -/* 31BEBC 802BDE9C C6060018 */ lwc1 $f6, 0x18($s0) -/* 31BEC0 802BDEA0 E7A00020 */ swc1 $f0, 0x20($sp) -/* 31BEC4 802BDEA4 E7A20024 */ swc1 $f2, 0x24($sp) -/* 31BEC8 802BDEA8 E7A40028 */ swc1 $f4, 0x28($sp) -/* 31BECC 802BDEAC E7A60010 */ swc1 $f6, 0x10($sp) -/* 31BED0 802BDEB0 C600000C */ lwc1 $f0, 0xc($s0) -/* 31BED4 802BDEB4 46140000 */ add.s $f0, $f0, $f20 -/* 31BED8 802BDEB8 0240282D */ daddu $a1, $s2, $zero -/* 31BEDC 802BDEBC E7A00014 */ swc1 $f0, 0x14($sp) -/* 31BEE0 802BDEC0 860200A8 */ lh $v0, 0xa8($s0) -/* 31BEE4 802BDEC4 0260302D */ daddu $a2, $s3, $zero -/* 31BEE8 802BDEC8 44820000 */ mtc1 $v0, $f0 -/* 31BEEC 802BDECC 00000000 */ nop -/* 31BEF0 802BDED0 46800020 */ cvt.s.w $f0, $f0 -/* 31BEF4 802BDED4 E7A00018 */ swc1 $f0, 0x18($sp) -/* 31BEF8 802BDED8 960300A6 */ lhu $v1, 0xa6($s0) -/* 31BEFC 802BDEDC 0220382D */ daddu $a3, $s1, $zero -/* 31BF00 802BDEE0 00031C00 */ sll $v1, $v1, 0x10 -/* 31BF04 802BDEE4 00031403 */ sra $v0, $v1, 0x10 -/* 31BF08 802BDEE8 00031FC2 */ srl $v1, $v1, 0x1f -/* 31BF0C 802BDEEC 00431021 */ addu $v0, $v0, $v1 -/* 31BF10 802BDEF0 00021043 */ sra $v0, $v0, 1 -/* 31BF14 802BDEF4 44820000 */ mtc1 $v0, $f0 -/* 31BF18 802BDEF8 00000000 */ nop -/* 31BF1C 802BDEFC 46800020 */ cvt.s.w $f0, $f0 -/* 31BF20 802BDF00 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 31BF24 802BDF04 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 31BF28 802BDF08 1440FFBB */ bnez $v0, .L802BDDF8 -/* 31BF2C 802BDF0C 34048000 */ ori $a0, $zero, 0x8000 -/* 31BF30 802BDF10 C6000038 */ lwc1 $f0, 0x38($s0) -/* 31BF34 802BDF14 C602003C */ lwc1 $f2, 0x3c($s0) -/* 31BF38 802BDF18 C6040040 */ lwc1 $f4, 0x40($s0) -/* 31BF3C 802BDF1C C6060018 */ lwc1 $f6, 0x18($s0) -/* 31BF40 802BDF20 E7A00020 */ swc1 $f0, 0x20($sp) -/* 31BF44 802BDF24 E7A20024 */ swc1 $f2, 0x24($sp) -/* 31BF48 802BDF28 E7A40028 */ swc1 $f4, 0x28($sp) -/* 31BF4C 802BDF2C E7A60010 */ swc1 $f6, 0x10($sp) -/* 31BF50 802BDF30 C600000C */ lwc1 $f0, 0xc($s0) -/* 31BF54 802BDF34 0240282D */ daddu $a1, $s2, $zero -/* 31BF58 802BDF38 E7A00014 */ swc1 $f0, 0x14($sp) -/* 31BF5C 802BDF3C 860200A8 */ lh $v0, 0xa8($s0) -/* 31BF60 802BDF40 0260302D */ daddu $a2, $s3, $zero -/* 31BF64 802BDF44 44820000 */ mtc1 $v0, $f0 -/* 31BF68 802BDF48 00000000 */ nop -/* 31BF6C 802BDF4C 46800020 */ cvt.s.w $f0, $f0 -/* 31BF70 802BDF50 E7A00018 */ swc1 $f0, 0x18($sp) -/* 31BF74 802BDF54 960300A6 */ lhu $v1, 0xa6($s0) -/* 31BF78 802BDF58 0220382D */ daddu $a3, $s1, $zero -/* 31BF7C 802BDF5C 00031C00 */ sll $v1, $v1, 0x10 -/* 31BF80 802BDF60 00031403 */ sra $v0, $v1, 0x10 -/* 31BF84 802BDF64 00031FC2 */ srl $v1, $v1, 0x1f -/* 31BF88 802BDF68 00431021 */ addu $v0, $v0, $v1 -/* 31BF8C 802BDF6C 00021043 */ sra $v0, $v0, 1 -/* 31BF90 802BDF70 44820000 */ mtc1 $v0, $f0 -/* 31BF94 802BDF74 00000000 */ nop -/* 31BF98 802BDF78 46800020 */ cvt.s.w $f0, $f0 -/* 31BF9C 802BDF7C 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 31BFA0 802BDF80 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 31BFA4 802BDF84 1440FF9C */ bnez $v0, .L802BDDF8 -/* 31BFA8 802BDF88 0200202D */ daddu $a0, $s0, $zero -/* 31BFAC 802BDF8C C7A00020 */ lwc1 $f0, 0x20($sp) -/* 31BFB0 802BDF90 C6020018 */ lwc1 $f2, 0x18($s0) -/* 31BFB4 802BDF94 24050001 */ addiu $a1, $zero, 1 -/* 31BFB8 802BDF98 E6000038 */ swc1 $f0, 0x38($s0) -/* 31BFBC 802BDF9C C7A60024 */ lwc1 $f6, 0x24($sp) -/* 31BFC0 802BDFA0 C6000010 */ lwc1 $f0, 0x10($s0) -/* 31BFC4 802BDFA4 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 31BFC8 802BDFA8 46020000 */ add.s $f0, $f0, $f2 -/* 31BFCC 802BDFAC E606003C */ swc1 $f6, 0x3c($s0) -/* 31BFD0 802BDFB0 E6040040 */ swc1 $f4, 0x40($s0) -/* 31BFD4 802BDFB4 0C00F598 */ jal func_8003D660 -/* 31BFD8 802BDFB8 E6000010 */ swc1 $f0, 0x10($s0) -/* 31BFDC 802BDFBC C6000018 */ lwc1 $f0, 0x18($s0) -/* 31BFE0 802BDFC0 3C014000 */ lui $at, 0x4000 -/* 31BFE4 802BDFC4 44811800 */ mtc1 $at, $f3 -/* 31BFE8 802BDFC8 44801000 */ mtc1 $zero, $f2 -/* 31BFEC 802BDFCC 46000021 */ cvt.d.s $f0, $f0 -/* 31BFF0 802BDFD0 46220000 */ add.d $f0, $f0, $f2 -/* 31BFF4 802BDFD4 3C01402C */ lui $at, 0x402c -/* 31BFF8 802BDFD8 44812800 */ mtc1 $at, $f5 -/* 31BFFC 802BDFDC 44802000 */ mtc1 $zero, $f4 -/* 31C000 802BDFE0 46200020 */ cvt.s.d $f0, $f0 -/* 31C004 802BDFE4 460000A1 */ cvt.d.s $f2, $f0 -/* 31C008 802BDFE8 4622203C */ c.lt.d $f4, $f2 -/* 31C00C 802BDFEC 00000000 */ nop -/* 31C010 802BDFF0 45000005 */ bc1f .L802BE008 -/* 31C014 802BDFF4 E6000018 */ swc1 $f0, 0x18($s0) -/* 31C018 802BDFF8 3C014160 */ lui $at, 0x4160 -/* 31C01C 802BDFFC 44810000 */ mtc1 $at, $f0 -/* 31C020 802BE000 00000000 */ nop -/* 31C024 802BE004 E6000018 */ swc1 $f0, 0x18($s0) -.L802BE008: -/* 31C028 802BE008 3C0540C0 */ lui $a1, 0x40c0 -/* 31C02C 802BE00C 0C00E5FA */ jal func_800397E8 -/* 31C030 802BE010 0200202D */ daddu $a0, $s0, $zero -/* 31C034 802BE014 1440000E */ bnez $v0, .L802BE050 -/* 31C038 802BE018 00000000 */ nop -/* 31C03C 802BE01C 8E820000 */ lw $v0, ($s4) -/* 31C040 802BE020 30420006 */ andi $v0, $v0, 6 -/* 31C044 802BE024 1440000A */ bnez $v0, .L802BE050 -/* 31C048 802BE028 00000000 */ nop -/* 31C04C 802BE02C C680002C */ lwc1 $f0, 0x2c($s4) -/* 31C050 802BE030 C602003C */ lwc1 $f2, 0x3c($s0) -/* 31C054 802BE034 46020001 */ sub.s $f0, $f0, $f2 -/* 31C058 802BE038 3C014120 */ lui $at, 0x4120 -/* 31C05C 802BE03C 44812000 */ mtc1 $at, $f4 -/* 31C060 802BE040 00000000 */ nop -/* 31C064 802BE044 46040003 */ div.s $f0, $f0, $f4 -/* 31C068 802BE048 46001080 */ add.s $f2, $f2, $f0 -/* 31C06C 802BE04C E602003C */ swc1 $f2, 0x3c($s0) -.L802BE050: -/* 31C070 802BE050 0C00E403 */ jal npc_do_other_npc_collision -/* 31C074 802BE054 0200202D */ daddu $a0, $s0, $zero -/* 31C078 802BE058 8E020000 */ lw $v0, ($s0) -/* 31C07C 802BE05C 3C030200 */ lui $v1, 0x200 -/* 31C080 802BE060 00431024 */ and $v0, $v0, $v1 -/* 31C084 802BE064 1440004A */ bnez $v0, .L802BE190 -/* 31C088 802BE068 0000202D */ daddu $a0, $zero, $zero -/* 31C08C 802BE06C 0C0AF45F */ jal func_802BD17C_31B19C -/* 31C090 802BE070 0200202D */ daddu $a0, $s0, $zero -/* 31C094 802BE074 1040002F */ beqz $v0, .L802BE134 -/* 31C098 802BE078 24040286 */ addiu $a0, $zero, 0x286 -/* 31C09C 802BE07C 0000282D */ daddu $a1, $zero, $zero -/* 31C0A0 802BE080 0C052742 */ jal sfx_play_sound_at_npc -/* 31C0A4 802BE084 2406FFFC */ addiu $a2, $zero, -4 -/* 31C0A8 802BE088 C60C000C */ lwc1 $f12, 0xc($s0) -/* 31C0AC 802BE08C 0C00A8BB */ jal sin_deg -/* 31C0B0 802BE090 00000000 */ nop -/* 31C0B4 802BE094 C60C000C */ lwc1 $f12, 0xc($s0) -/* 31C0B8 802BE098 0C00A8D4 */ jal cos_deg -/* 31C0BC 802BE09C 46000506 */ mov.s $f20, $f0 -/* 31C0C0 802BE0A0 24020001 */ addiu $v0, $zero, 1 -/* 31C0C4 802BE0A4 860300A8 */ lh $v1, 0xa8($s0) -/* 31C0C8 802BE0A8 C604003C */ lwc1 $f4, 0x3c($s0) -/* 31C0CC 802BE0AC 3C01BF80 */ lui $at, 0xbf80 -/* 31C0D0 802BE0B0 44811000 */ mtc1 $at, $f2 -/* 31C0D4 802BE0B4 46000007 */ neg.s $f0, $f0 -/* 31C0D8 802BE0B8 E7B40010 */ swc1 $f20, 0x10($sp) -/* 31C0DC 802BE0BC E7A00018 */ swc1 $f0, 0x18($sp) -/* 31C0E0 802BE0C0 AFA2001C */ sw $v0, 0x1c($sp) -/* 31C0E4 802BE0C4 44830000 */ mtc1 $v1, $f0 -/* 31C0E8 802BE0C8 00000000 */ nop -/* 31C0EC 802BE0CC 46800020 */ cvt.s.w $f0, $f0 -/* 31C0F0 802BE0D0 46002100 */ add.s $f4, $f4, $f0 -/* 31C0F4 802BE0D4 E7A20014 */ swc1 $f2, 0x14($sp) -/* 31C0F8 802BE0D8 8E050038 */ lw $a1, 0x38($s0) -/* 31C0FC 802BE0DC 8E070040 */ lw $a3, 0x40($s0) -/* 31C100 802BE0E0 44062000 */ mfc1 $a2, $f4 -/* 31C104 802BE0E4 0C01C064 */ jal fx_damage_stars -/* 31C108 802BE0E8 24040003 */ addiu $a0, $zero, 3 -/* 31C10C 802BE0EC 0000202D */ daddu $a0, $zero, $zero -/* 31C110 802BE0F0 0080282D */ daddu $a1, $a0, $zero -/* 31C114 802BE0F4 0C052742 */ jal sfx_play_sound_at_npc -/* 31C118 802BE0F8 2406FFFC */ addiu $a2, $zero, -4 -/* 31C11C 802BE0FC 24020004 */ addiu $v0, $zero, 4 -/* 31C120 802BE100 AEA20070 */ sw $v0, 0x70($s5) -/* 31C124 802BE104 C6000018 */ lwc1 $f0, 0x18($s0) -/* 31C128 802BE108 3C014010 */ lui $at, 0x4010 -/* 31C12C 802BE10C 44811800 */ mtc1 $at, $f3 -/* 31C130 802BE110 44801000 */ mtc1 $zero, $f2 -/* 31C134 802BE114 3C01802C */ lui $at, %hi(D_802BEC18_31CC38) -/* 31C138 802BE118 D424EC18 */ ldc1 $f4, %lo(D_802BEC18_31CC38)($at) -/* 31C13C 802BE11C 46000021 */ cvt.d.s $f0, $f0 -/* 31C140 802BE120 24020008 */ addiu $v0, $zero, 8 -/* 31C144 802BE124 3C01802C */ lui $at, %hi(D_802BEC50) -/* 31C148 802BE128 AC22EC50 */ sw $v0, %lo(D_802BEC50)($at) -/* 31C14C 802BE12C 080AF87B */ j .L802BE1EC -/* 31C150 802BE130 46220001 */ sub.d $f0, $f0, $f2 -.L802BE134: -/* 31C154 802BE134 3C03802C */ lui $v1, %hi(D_802BEB40_31CB60) -/* 31C158 802BE138 8C63EB40 */ lw $v1, %lo(D_802BEB40_31CB60)($v1) -/* 31C15C 802BE13C 24020002 */ addiu $v0, $zero, 2 -/* 31C160 802BE140 1462000B */ bne $v1, $v0, .L802BE170 -/* 31C164 802BE144 0000202D */ daddu $a0, $zero, $zero -/* 31C168 802BE148 0080282D */ daddu $a1, $a0, $zero -/* 31C16C 802BE14C 0C052742 */ jal sfx_play_sound_at_npc -/* 31C170 802BE150 2406FFFC */ addiu $a2, $zero, -4 -/* 31C174 802BE154 24020005 */ addiu $v0, $zero, 5 -/* 31C178 802BE158 AEA20070 */ sw $v0, 0x70($s5) -/* 31C17C 802BE15C 2402001E */ addiu $v0, $zero, 0x1e -/* 31C180 802BE160 3C01802C */ lui $at, %hi(D_802BEC50) -/* 31C184 802BE164 AC22EC50 */ sw $v0, %lo(D_802BEC50)($at) -/* 31C188 802BE168 080AF8E8 */ j .L802BE3A0_31C3C0 -/* 31C18C 802BE16C AE000018 */ sw $zero, 0x18($s0) -.L802BE170: -/* 31C190 802BE170 C6020010 */ lwc1 $f2, 0x10($s0) -/* 31C194 802BE174 3C01430C */ lui $at, 0x430c -/* 31C198 802BE178 44810000 */ mtc1 $at, $f0 -/* 31C19C 802BE17C 00000000 */ nop -/* 31C1A0 802BE180 4602003C */ c.lt.s $f0, $f2 -/* 31C1A4 802BE184 00000000 */ nop -/* 31C1A8 802BE188 45000009 */ bc1f .L802BE1B0 -/* 31C1AC 802BE18C 00000000 */ nop -.L802BE190: -/* 31C1B0 802BE190 0080282D */ daddu $a1, $a0, $zero -/* 31C1B4 802BE194 2406FFFC */ addiu $a2, $zero, -4 -/* 31C1B8 802BE198 24020007 */ addiu $v0, $zero, 7 -/* 31C1BC 802BE19C AEA20070 */ sw $v0, 0x70($s5) -/* 31C1C0 802BE1A0 0C052742 */ jal sfx_play_sound_at_npc -/* 31C1C4 802BE1A4 AE000018 */ sw $zero, 0x18($s0) -/* 31C1C8 802BE1A8 080AF8E8 */ j .L802BE3A0_31C3C0 -/* 31C1CC 802BE1AC 00000000 */ nop -.L802BE1B0: -/* 31C1D0 802BE1B0 3C0142D2 */ lui $at, 0x42d2 -/* 31C1D4 802BE1B4 44810000 */ mtc1 $at, $f0 -/* 31C1D8 802BE1B8 00000000 */ nop -/* 31C1DC 802BE1BC 4602003C */ c.lt.s $f0, $f2 -/* 31C1E0 802BE1C0 00000000 */ nop -/* 31C1E4 802BE1C4 45000076 */ bc1f .L802BE3A0_31C3C0 -/* 31C1E8 802BE1C8 00000000 */ nop -/* 31C1EC 802BE1CC C6000018 */ lwc1 $f0, 0x18($s0) -/* 31C1F0 802BE1D0 3C014010 */ lui $at, 0x4010 -/* 31C1F4 802BE1D4 44811800 */ mtc1 $at, $f3 -/* 31C1F8 802BE1D8 44801000 */ mtc1 $zero, $f2 -/* 31C1FC 802BE1DC 46000021 */ cvt.d.s $f0, $f0 -/* 31C200 802BE1E0 46220001 */ sub.d $f0, $f0, $f2 -/* 31C204 802BE1E4 3C01802C */ lui $at, %hi(D_802BEC20_31CC40) -/* 31C208 802BE1E8 D424EC20 */ ldc1 $f4, %lo(D_802BEC20_31CC40)($at) -.L802BE1EC: -/* 31C20C 802BE1EC 46200020 */ cvt.s.d $f0, $f0 -/* 31C210 802BE1F0 460000A1 */ cvt.d.s $f2, $f0 -/* 31C214 802BE1F4 4624103C */ c.lt.d $f2, $f4 -/* 31C218 802BE1F8 00000000 */ nop -/* 31C21C 802BE1FC 45000068 */ bc1f .L802BE3A0_31C3C0 -/* 31C220 802BE200 E6000018 */ swc1 $f0, 0x18($s0) -/* 31C224 802BE204 C6000010 */ lwc1 $f0, 0x10($s0) -/* 31C228 802BE208 3C013FF0 */ lui $at, 0x3ff0 -/* 31C22C 802BE20C 44811800 */ mtc1 $at, $f3 -/* 31C230 802BE210 44801000 */ mtc1 $zero, $f2 -/* 31C234 802BE214 46000021 */ cvt.d.s $f0, $f0 -/* 31C238 802BE218 46220000 */ add.d $f0, $f0, $f2 -/* 31C23C 802BE21C 3C013C23 */ lui $at, 0x3c23 -/* 31C240 802BE220 3421D70A */ ori $at, $at, 0xd70a -/* 31C244 802BE224 44811000 */ mtc1 $at, $f2 -/* 31C248 802BE228 00000000 */ nop -/* 31C24C 802BE22C E6020018 */ swc1 $f2, 0x18($s0) -/* 31C250 802BE230 46200020 */ cvt.s.d $f0, $f0 -/* 31C254 802BE234 080AF8E8 */ j .L802BE3A0_31C3C0 -/* 31C258 802BE238 E6000010 */ swc1 $f0, 0x10($s0) -.L802BE23C_31C25C: -/* 31C25C 802BE23C C6000038 */ lwc1 $f0, 0x38($s0) -/* 31C260 802BE240 C602003C */ lwc1 $f2, 0x3c($s0) -/* 31C264 802BE244 C6040040 */ lwc1 $f4, 0x40($s0) -/* 31C268 802BE248 C6060018 */ lwc1 $f6, 0x18($s0) -/* 31C26C 802BE24C 34048000 */ ori $a0, $zero, 0x8000 -/* 31C270 802BE250 E7A00020 */ swc1 $f0, 0x20($sp) -/* 31C274 802BE254 E7A20024 */ swc1 $f2, 0x24($sp) -/* 31C278 802BE258 E7A40028 */ swc1 $f4, 0x28($sp) -/* 31C27C 802BE25C E7A60010 */ swc1 $f6, 0x10($sp) -/* 31C280 802BE260 C600000C */ lwc1 $f0, 0xc($s0) -/* 31C284 802BE264 27A50020 */ addiu $a1, $sp, 0x20 -/* 31C288 802BE268 E7A00014 */ swc1 $f0, 0x14($sp) -/* 31C28C 802BE26C 860200A8 */ lh $v0, 0xa8($s0) -/* 31C290 802BE270 27A60024 */ addiu $a2, $sp, 0x24 -/* 31C294 802BE274 44820000 */ mtc1 $v0, $f0 -/* 31C298 802BE278 00000000 */ nop -/* 31C29C 802BE27C 46800020 */ cvt.s.w $f0, $f0 -/* 31C2A0 802BE280 E7A00018 */ swc1 $f0, 0x18($sp) -/* 31C2A4 802BE284 960300A6 */ lhu $v1, 0xa6($s0) -/* 31C2A8 802BE288 27A70028 */ addiu $a3, $sp, 0x28 -/* 31C2AC 802BE28C 00031C00 */ sll $v1, $v1, 0x10 -/* 31C2B0 802BE290 00031403 */ sra $v0, $v1, 0x10 -/* 31C2B4 802BE294 00031FC2 */ srl $v1, $v1, 0x1f -/* 31C2B8 802BE298 00431021 */ addu $v0, $v0, $v1 -/* 31C2BC 802BE29C 00021043 */ sra $v0, $v0, 1 -/* 31C2C0 802BE2A0 44820000 */ mtc1 $v0, $f0 -/* 31C2C4 802BE2A4 00000000 */ nop -/* 31C2C8 802BE2A8 46800020 */ cvt.s.w $f0, $f0 -/* 31C2CC 802BE2AC 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 31C2D0 802BE2B0 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 31C2D4 802BE2B4 0200202D */ daddu $a0, $s0, $zero -/* 31C2D8 802BE2B8 C7A00020 */ lwc1 $f0, 0x20($sp) -/* 31C2DC 802BE2BC C6020018 */ lwc1 $f2, 0x18($s0) -/* 31C2E0 802BE2C0 24050001 */ addiu $a1, $zero, 1 -/* 31C2E4 802BE2C4 E6000038 */ swc1 $f0, 0x38($s0) -/* 31C2E8 802BE2C8 C7A60024 */ lwc1 $f6, 0x24($sp) -/* 31C2EC 802BE2CC C6000010 */ lwc1 $f0, 0x10($s0) -/* 31C2F0 802BE2D0 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 31C2F4 802BE2D4 46020000 */ add.s $f0, $f0, $f2 -/* 31C2F8 802BE2D8 E606003C */ swc1 $f6, 0x3c($s0) -/* 31C2FC 802BE2DC E6040040 */ swc1 $f4, 0x40($s0) -/* 31C300 802BE2E0 0C00F598 */ jal func_8003D660 -/* 31C304 802BE2E4 E6000010 */ swc1 $f0, 0x10($s0) -/* 31C308 802BE2E8 C6000018 */ lwc1 $f0, 0x18($s0) -/* 31C30C 802BE2EC 3C014018 */ lui $at, 0x4018 -/* 31C310 802BE2F0 44811800 */ mtc1 $at, $f3 -/* 31C314 802BE2F4 44801000 */ mtc1 $zero, $f2 -/* 31C318 802BE2F8 46000021 */ cvt.d.s $f0, $f0 -/* 31C31C 802BE2FC 46220001 */ sub.d $f0, $f0, $f2 -/* 31C320 802BE300 3C01802C */ lui $at, %hi(D_802BEC28_31CC48) -/* 31C324 802BE304 D424EC28 */ ldc1 $f4, %lo(D_802BEC28_31CC48)($at) -/* 31C328 802BE308 46200020 */ cvt.s.d $f0, $f0 -/* 31C32C 802BE30C 460000A1 */ cvt.d.s $f2, $f0 -/* 31C330 802BE310 4624103C */ c.lt.d $f2, $f4 -/* 31C334 802BE314 00000000 */ nop -/* 31C338 802BE318 4500000E */ bc1f .L802BE354 -/* 31C33C 802BE31C E6000018 */ swc1 $f0, 0x18($s0) -/* 31C340 802BE320 C6000010 */ lwc1 $f0, 0x10($s0) -/* 31C344 802BE324 3C013FF0 */ lui $at, 0x3ff0 -/* 31C348 802BE328 44811800 */ mtc1 $at, $f3 -/* 31C34C 802BE32C 44801000 */ mtc1 $zero, $f2 -/* 31C350 802BE330 46000021 */ cvt.d.s $f0, $f0 -/* 31C354 802BE334 46220000 */ add.d $f0, $f0, $f2 -/* 31C358 802BE338 3C013C23 */ lui $at, 0x3c23 -/* 31C35C 802BE33C 3421D70A */ ori $at, $at, 0xd70a -/* 31C360 802BE340 44811000 */ mtc1 $at, $f2 -/* 31C364 802BE344 00000000 */ nop -/* 31C368 802BE348 E6020018 */ swc1 $f2, 0x18($s0) -/* 31C36C 802BE34C 46200020 */ cvt.s.d $f0, $f0 -/* 31C370 802BE350 E6000010 */ swc1 $f0, 0x10($s0) -.L802BE354: -/* 31C374 802BE354 3C03802C */ lui $v1, %hi(D_802BEC50) -/* 31C378 802BE358 2463EC50 */ addiu $v1, $v1, %lo(D_802BEC50) -/* 31C37C 802BE35C 8C620000 */ lw $v0, ($v1) -/* 31C380 802BE360 1440000B */ bnez $v0, .L802BE390 -/* 31C384 802BE364 2442FFFF */ addiu $v0, $v0, -1 -/* 31C388 802BE368 24020007 */ addiu $v0, $zero, 7 -/* 31C38C 802BE36C AEA20070 */ sw $v0, 0x70($s5) -/* 31C390 802BE370 8C620000 */ lw $v0, ($v1) -/* 31C394 802BE374 080AF8E4 */ j .L802BE390 -/* 31C398 802BE378 2442FFFF */ addiu $v0, $v0, -1 -.L802BE37C_31C39C: -/* 31C39C 802BE37C 3C03802C */ lui $v1, %hi(D_802BEC50) -/* 31C3A0 802BE380 2463EC50 */ addiu $v1, $v1, %lo(D_802BEC50) -/* 31C3A4 802BE384 8C620000 */ lw $v0, ($v1) -/* 31C3A8 802BE388 10400003 */ beqz $v0, .L802BE398 -/* 31C3AC 802BE38C 2442FFFF */ addiu $v0, $v0, -1 -.L802BE390: -/* 31C3B0 802BE390 080AF8E8 */ j .L802BE3A0_31C3C0 -/* 31C3B4 802BE394 AC620000 */ sw $v0, ($v1) -.L802BE398: -/* 31C3B8 802BE398 24020007 */ addiu $v0, $zero, 7 -.L802BE39C: -/* 31C3BC 802BE39C AEA20070 */ sw $v0, 0x70($s5) -.L802BE3A0_31C3C0: -/* 31C3C0 802BE3A0 8EA30070 */ lw $v1, 0x70($s5) -/* 31C3C4 802BE3A4 24020007 */ addiu $v0, $zero, 7 -/* 31C3C8 802BE3A8 146200D5 */ bne $v1, $v0, .L802BE700 -/* 31C3CC 802BE3AC 00000000 */ nop -/* 31C3D0 802BE3B0 8E020000 */ lw $v0, ($s0) -/* 31C3D4 802BE3B4 34420100 */ ori $v0, $v0, 0x100 -/* 31C3D8 802BE3B8 AE020000 */ sw $v0, ($s0) -/* 31C3DC 802BE3BC 928200B4 */ lbu $v0, 0xb4($s4) -/* 31C3E0 802BE3C0 2442FFEB */ addiu $v0, $v0, -0x15 -/* 31C3E4 802BE3C4 2C420002 */ sltiu $v0, $v0, 2 -/* 31C3E8 802BE3C8 544000CD */ bnel $v0, $zero, .L802BE700 -/* 31C3EC 802BE3CC AEA00070 */ sw $zero, 0x70($s5) -/* 31C3F0 802BE3D0 3C01802C */ lui $at, %hi(D_802BEC70) -/* 31C3F4 802BE3D4 C42CEC70 */ lwc1 $f12, %lo(D_802BEC70)($at) -/* 31C3F8 802BE3D8 3C01802C */ lui $at, %hi(D_802BEC78) -/* 31C3FC 802BE3DC C42EEC78 */ lwc1 $f14, %lo(D_802BEC78)($at) -/* 31C400 802BE3E0 8E060038 */ lw $a2, 0x38($s0) -/* 31C404 802BE3E4 0C00A720 */ jal atan2 -/* 31C408 802BE3E8 8E070040 */ lw $a3, 0x40($s0) -/* 31C40C 802BE3EC 46000506 */ mov.s $f20, $f0 -/* 31C410 802BE3F0 C60C000C */ lwc1 $f12, 0xc($s0) -/* 31C414 802BE3F4 0C00A70A */ jal get_clamped_angle_diff -/* 31C418 802BE3F8 4600A386 */ mov.s $f14, $f20 -/* 31C41C 802BE3FC 3C013E00 */ lui $at, 0x3e00 -/* 31C420 802BE400 44811000 */ mtc1 $at, $f2 -/* 31C424 802BE404 00000000 */ nop -/* 31C428 802BE408 46020002 */ mul.s $f0, $f0, $f2 -/* 31C42C 802BE40C 00000000 */ nop -/* 31C430 802BE410 4600A500 */ add.s $f20, $f20, $f0 -/* 31C434 802BE414 C6000018 */ lwc1 $f0, 0x18($s0) -/* 31C438 802BE418 46000007 */ neg.s $f0, $f0 -/* 31C43C 802BE41C 44050000 */ mfc1 $a1, $f0 -/* 31C440 802BE420 4406A000 */ mfc1 $a2, $f20 -/* 31C444 802BE424 0200202D */ daddu $a0, $s0, $zero -/* 31C448 802BE428 0C00EA95 */ jal npc_move_heading -/* 31C44C 802BE42C AE06000C */ sw $a2, 0xc($s0) -/* 31C450 802BE430 C6020010 */ lwc1 $f2, 0x10($s0) -/* 31C454 802BE434 C6000018 */ lwc1 $f0, 0x18($s0) -/* 31C458 802BE438 46001081 */ sub.s $f2, $f2, $f0 -/* 31C45C 802BE43C 0200202D */ daddu $a0, $s0, $zero -/* 31C460 802BE440 24050001 */ addiu $a1, $zero, 1 -/* 31C464 802BE444 0C00F598 */ jal func_8003D660 -/* 31C468 802BE448 E6020010 */ swc1 $f2, 0x10($s0) -/* 31C46C 802BE44C C6000018 */ lwc1 $f0, 0x18($s0) -/* 31C470 802BE450 3C01802C */ lui $at, %hi(D_802BEC30_31CC50) -/* 31C474 802BE454 D422EC30 */ ldc1 $f2, %lo(D_802BEC30_31CC50)($at) -/* 31C478 802BE458 46000021 */ cvt.d.s $f0, $f0 -/* 31C47C 802BE45C 46220000 */ add.d $f0, $f0, $f2 -/* 31C480 802BE460 3C01402C */ lui $at, 0x402c -/* 31C484 802BE464 44812800 */ mtc1 $at, $f5 -/* 31C488 802BE468 44802000 */ mtc1 $zero, $f4 -/* 31C48C 802BE46C 46200020 */ cvt.s.d $f0, $f0 -/* 31C490 802BE470 460000A1 */ cvt.d.s $f2, $f0 -/* 31C494 802BE474 4622203C */ c.lt.d $f4, $f2 -/* 31C498 802BE478 00000000 */ nop -/* 31C49C 802BE47C 45000005 */ bc1f .L802BE494 -/* 31C4A0 802BE480 E6000018 */ swc1 $f0, 0x18($s0) -/* 31C4A4 802BE484 3C014160 */ lui $at, 0x4160 -/* 31C4A8 802BE488 44810000 */ mtc1 $at, $f0 -/* 31C4AC 802BE48C 00000000 */ nop -/* 31C4B0 802BE490 E6000018 */ swc1 $f0, 0x18($s0) -.L802BE494: -/* 31C4B4 802BE494 3C0540C0 */ lui $a1, 0x40c0 -/* 31C4B8 802BE498 0C00E5FA */ jal func_800397E8 -/* 31C4BC 802BE49C 0200202D */ daddu $a0, $s0, $zero -/* 31C4C0 802BE4A0 1440000A */ bnez $v0, .L802BE4CC -/* 31C4C4 802BE4A4 00000000 */ nop -/* 31C4C8 802BE4A8 C680002C */ lwc1 $f0, 0x2c($s4) -/* 31C4CC 802BE4AC C602003C */ lwc1 $f2, 0x3c($s0) -/* 31C4D0 802BE4B0 46020001 */ sub.s $f0, $f0, $f2 -/* 31C4D4 802BE4B4 3C014120 */ lui $at, 0x4120 -/* 31C4D8 802BE4B8 44812000 */ mtc1 $at, $f4 -/* 31C4DC 802BE4BC 00000000 */ nop -/* 31C4E0 802BE4C0 46040003 */ div.s $f0, $f0, $f4 -/* 31C4E4 802BE4C4 46001080 */ add.s $f2, $f2, $f0 -/* 31C4E8 802BE4C8 E602003C */ swc1 $f2, 0x3c($s0) -.L802BE4CC: -/* 31C4EC 802BE4CC C6020038 */ lwc1 $f2, 0x38($s0) -/* 31C4F0 802BE4D0 C604003C */ lwc1 $f4, 0x3c($s0) -/* 31C4F4 802BE4D4 C60C000C */ lwc1 $f12, 0xc($s0) -/* 31C4F8 802BE4D8 3C014334 */ lui $at, 0x4334 -/* 31C4FC 802BE4DC 4481A000 */ mtc1 $at, $f20 -/* 31C500 802BE4E0 C6000040 */ lwc1 $f0, 0x40($s0) -/* 31C504 802BE4E4 46146300 */ add.s $f12, $f12, $f20 -/* 31C508 802BE4E8 E7A20020 */ swc1 $f2, 0x20($sp) -/* 31C50C 802BE4EC E7A40024 */ swc1 $f4, 0x24($sp) -/* 31C510 802BE4F0 0C00A6C9 */ jal clamp_angle -/* 31C514 802BE4F4 E7A00028 */ swc1 $f0, 0x28($sp) -/* 31C518 802BE4F8 34048000 */ ori $a0, $zero, 0x8000 -/* 31C51C 802BE4FC C6020018 */ lwc1 $f2, 0x18($s0) -/* 31C520 802BE500 27A50020 */ addiu $a1, $sp, 0x20 -/* 31C524 802BE504 E7A00014 */ swc1 $f0, 0x14($sp) -/* 31C528 802BE508 E7A20010 */ swc1 $f2, 0x10($sp) -/* 31C52C 802BE50C 860200A8 */ lh $v0, 0xa8($s0) -/* 31C530 802BE510 27A60024 */ addiu $a2, $sp, 0x24 -/* 31C534 802BE514 44820000 */ mtc1 $v0, $f0 -/* 31C538 802BE518 00000000 */ nop -/* 31C53C 802BE51C 46800020 */ cvt.s.w $f0, $f0 -/* 31C540 802BE520 E7A00018 */ swc1 $f0, 0x18($sp) -/* 31C544 802BE524 860200A6 */ lh $v0, 0xa6($s0) -/* 31C548 802BE528 27A70028 */ addiu $a3, $sp, 0x28 -/* 31C54C 802BE52C 44820000 */ mtc1 $v0, $f0 -/* 31C550 802BE530 00000000 */ nop -/* 31C554 802BE534 46800020 */ cvt.s.w $f0, $f0 -/* 31C558 802BE538 0C0376B9 */ jal npc_test_move_taller_with_slipping -/* 31C55C 802BE53C E7A0001C */ swc1 $f0, 0x1c($sp) -/* 31C560 802BE540 10400026 */ beqz $v0, .L802BE5DC -/* 31C564 802BE544 2404010C */ addiu $a0, $zero, 0x10c -/* 31C568 802BE548 0000282D */ daddu $a1, $zero, $zero -/* 31C56C 802BE54C C7A00020 */ lwc1 $f0, 0x20($sp) -/* 31C570 802BE550 C7A20024 */ lwc1 $f2, 0x24($sp) -/* 31C574 802BE554 C7A40028 */ lwc1 $f4, 0x28($sp) -/* 31C578 802BE558 2406FFFC */ addiu $a2, $zero, -4 -/* 31C57C 802BE55C E6000038 */ swc1 $f0, 0x38($s0) -/* 31C580 802BE560 E602003C */ swc1 $f2, 0x3c($s0) -/* 31C584 802BE564 0C052742 */ jal sfx_play_sound_at_npc -/* 31C588 802BE568 E6040040 */ swc1 $f4, 0x40($s0) -/* 31C58C 802BE56C C60C000C */ lwc1 $f12, 0xc($s0) -/* 31C590 802BE570 0C00A8BB */ jal sin_deg -/* 31C594 802BE574 46146300 */ add.s $f12, $f12, $f20 -/* 31C598 802BE578 C60C000C */ lwc1 $f12, 0xc($s0) -/* 31C59C 802BE57C 46146300 */ add.s $f12, $f12, $f20 -/* 31C5A0 802BE580 0C00A8D4 */ jal cos_deg -/* 31C5A4 802BE584 46000506 */ mov.s $f20, $f0 -/* 31C5A8 802BE588 24020001 */ addiu $v0, $zero, 1 -/* 31C5AC 802BE58C 860300A8 */ lh $v1, 0xa8($s0) -/* 31C5B0 802BE590 C604003C */ lwc1 $f4, 0x3c($s0) -/* 31C5B4 802BE594 3C01BF80 */ lui $at, 0xbf80 -/* 31C5B8 802BE598 44811000 */ mtc1 $at, $f2 -/* 31C5BC 802BE59C 46000007 */ neg.s $f0, $f0 -/* 31C5C0 802BE5A0 E7B40010 */ swc1 $f20, 0x10($sp) -/* 31C5C4 802BE5A4 E7A00018 */ swc1 $f0, 0x18($sp) -/* 31C5C8 802BE5A8 AFA2001C */ sw $v0, 0x1c($sp) -/* 31C5CC 802BE5AC 44830000 */ mtc1 $v1, $f0 -/* 31C5D0 802BE5B0 00000000 */ nop -/* 31C5D4 802BE5B4 46800020 */ cvt.s.w $f0, $f0 -/* 31C5D8 802BE5B8 46002100 */ add.s $f4, $f4, $f0 -/* 31C5DC 802BE5BC E7A20014 */ swc1 $f2, 0x14($sp) -/* 31C5E0 802BE5C0 8E050038 */ lw $a1, 0x38($s0) -/* 31C5E4 802BE5C4 8E070040 */ lw $a3, 0x40($s0) -/* 31C5E8 802BE5C8 44062000 */ mfc1 $a2, $f4 -/* 31C5EC 802BE5CC 0C01C064 */ jal fx_damage_stars -/* 31C5F0 802BE5D0 24040003 */ addiu $a0, $zero, 3 -/* 31C5F4 802BE5D4 080AF9C0 */ j .L802BE700 -/* 31C5F8 802BE5D8 AEA00070 */ sw $zero, 0x70($s5) -.L802BE5DC: -/* 31C5FC 802BE5DC 3C02802C */ lui $v0, %hi(D_802BEC6C) -/* 31C600 802BE5E0 8C42EC6C */ lw $v0, %lo(D_802BEC6C)($v0) -/* 31C604 802BE5E4 10400025 */ beqz $v0, .L802BE67C -/* 31C608 802BE5E8 00000000 */ nop -/* 31C60C 802BE5EC 3C04802C */ lui $a0, %hi(D_802BEC68) -/* 31C610 802BE5F0 8C84EC68 */ lw $a0, %lo(D_802BEC68)($a0) -/* 31C614 802BE5F4 0C04C3D6 */ jal get_item_entity -/* 31C618 802BE5F8 00000000 */ nop -/* 31C61C 802BE5FC 0040882D */ daddu $s1, $v0, $zero -/* 31C620 802BE600 C6060038 */ lwc1 $f6, 0x38($s0) -/* 31C624 802BE604 C600003C */ lwc1 $f0, 0x3c($s0) -/* 31C628 802BE608 3C014100 */ lui $at, 0x4100 -/* 31C62C 802BE60C 44811000 */ mtc1 $at, $f2 -/* 31C630 802BE610 C6040040 */ lwc1 $f4, 0x40($s0) -/* 31C634 802BE614 3C02802C */ lui $v0, %hi(D_802BEC58) -/* 31C638 802BE618 8C42EC58 */ lw $v0, %lo(D_802BEC58)($v0) -/* 31C63C 802BE61C 46020000 */ add.s $f0, $f0, $f2 -/* 31C640 802BE620 E7A60020 */ swc1 $f6, 0x20($sp) -/* 31C644 802BE624 E7A40028 */ swc1 $f4, 0x28($sp) -/* 31C648 802BE628 E7A00024 */ swc1 $f0, 0x24($sp) -/* 31C64C 802BE62C C68C0080 */ lwc1 $f12, 0x80($s4) -/* 31C650 802BE630 3C01C2B4 */ lui $at, 0xc2b4 -/* 31C654 802BE634 44810000 */ mtc1 $at, $f0 -/* 31C658 802BE638 10400003 */ beqz $v0, .L802BE648 -/* 31C65C 802BE63C 00000000 */ nop -/* 31C660 802BE640 3C0142B4 */ lui $at, 0x42b4 -/* 31C664 802BE644 44810000 */ mtc1 $at, $f0 -.L802BE648: -/* 31C668 802BE648 0C00A6C9 */ jal clamp_angle -/* 31C66C 802BE64C 46006301 */ sub.s $f12, $f12, $f0 -/* 31C670 802BE650 27A40020 */ addiu $a0, $sp, 0x20 -/* 31C674 802BE654 3C064080 */ lui $a2, 0x4080 -/* 31C678 802BE658 44070000 */ mfc1 $a3, $f0 -/* 31C67C 802BE65C 0C00A7E7 */ jal add_vec2D_polar -/* 31C680 802BE660 27A50028 */ addiu $a1, $sp, 0x28 -/* 31C684 802BE664 C7A00020 */ lwc1 $f0, 0x20($sp) -/* 31C688 802BE668 C7A20024 */ lwc1 $f2, 0x24($sp) -/* 31C68C 802BE66C C7A40028 */ lwc1 $f4, 0x28($sp) -/* 31C690 802BE670 E6200008 */ swc1 $f0, 8($s1) -/* 31C694 802BE674 E622000C */ swc1 $f2, 0xc($s1) -/* 31C698 802BE678 E6240010 */ swc1 $f4, 0x10($s1) -.L802BE67C: -/* 31C69C 802BE67C C6020010 */ lwc1 $f2, 0x10($s0) -/* 31C6A0 802BE680 3C014170 */ lui $at, 0x4170 -/* 31C6A4 802BE684 44810000 */ mtc1 $at, $f0 -/* 31C6A8 802BE688 00000000 */ nop -/* 31C6AC 802BE68C 46001080 */ add.s $f2, $f2, $f0 -/* 31C6B0 802BE690 C6040018 */ lwc1 $f4, 0x18($s0) -/* 31C6B4 802BE694 4604103C */ c.lt.s $f2, $f4 -/* 31C6B8 802BE698 00000000 */ nop -/* 31C6BC 802BE69C 45030018 */ bc1tl .L802BE700 -/* 31C6C0 802BE6A0 AEA00070 */ sw $zero, 0x70($s5) -/* 31C6C4 802BE6A4 3C01420C */ lui $at, 0x420c -/* 31C6C8 802BE6A8 44810000 */ mtc1 $at, $f0 -/* 31C6CC 802BE6AC 00000000 */ nop -/* 31C6D0 802BE6B0 4600103C */ c.lt.s $f2, $f0 -/* 31C6D4 802BE6B4 00000000 */ nop -/* 31C6D8 802BE6B8 45000011 */ bc1f .L802BE700 -/* 31C6DC 802BE6BC 00000000 */ nop -/* 31C6E0 802BE6C0 3C014010 */ lui $at, 0x4010 -/* 31C6E4 802BE6C4 44810800 */ mtc1 $at, $f1 -/* 31C6E8 802BE6C8 44800000 */ mtc1 $zero, $f0 -/* 31C6EC 802BE6CC 460020A1 */ cvt.d.s $f2, $f4 -/* 31C6F0 802BE6D0 46201081 */ sub.d $f2, $f2, $f0 -/* 31C6F4 802BE6D4 462010A0 */ cvt.s.d $f2, $f2 -/* 31C6F8 802BE6D8 E6020018 */ swc1 $f2, 0x18($s0) -/* 31C6FC 802BE6DC 460010A1 */ cvt.d.s $f2, $f2 -/* 31C700 802BE6E0 4620103C */ c.lt.d $f2, $f0 -/* 31C704 802BE6E4 00000000 */ nop -/* 31C708 802BE6E8 45000005 */ bc1f .L802BE700 -/* 31C70C 802BE6EC 00000000 */ nop -/* 31C710 802BE6F0 3C014080 */ lui $at, 0x4080 -/* 31C714 802BE6F4 44810000 */ mtc1 $at, $f0 -/* 31C718 802BE6F8 00000000 */ nop -/* 31C71C 802BE6FC E6000018 */ swc1 $f0, 0x18($s0) -.L802BE700: -/* 31C720 802BE700 8EA20070 */ lw $v0, 0x70($s5) -/* 31C724 802BE704 1440002B */ bnez $v0, .L802BE7B4 -/* 31C728 802BE708 0000102D */ daddu $v0, $zero, $zero -/* 31C72C 802BE70C 3C11802C */ lui $s1, %hi(D_802BEC64) -/* 31C730 802BE710 2631EC64 */ addiu $s1, $s1, %lo(D_802BEC64) -/* 31C734 802BE714 8E220000 */ lw $v0, ($s1) -/* 31C738 802BE718 10400005 */ beqz $v0, .L802BE730 -/* 31C73C 802BE71C 3C050002 */ lui $a1, 2 -/* 31C740 802BE720 0C038069 */ jal enable_player_input -/* 31C744 802BE724 00000000 */ nop -/* 31C748 802BE728 AE200000 */ sw $zero, ($s1) -/* 31C74C 802BE72C 3C050002 */ lui $a1, 2 -.L802BE730: -/* 31C750 802BE730 34A50004 */ ori $a1, $a1, 4 -/* 31C754 802BE734 24040284 */ addiu $a0, $zero, 0x284 -/* 31C758 802BE738 8E020000 */ lw $v0, ($s0) -/* 31C75C 802BE73C 2403F7BF */ addiu $v1, $zero, -0x841 -/* 31C760 802BE740 3C01802C */ lui $at, %hi(D_802BEB40_31CB60) -/* 31C764 802BE744 AC20EB40 */ sw $zero, %lo(D_802BEB40_31CB60)($at) -/* 31C768 802BE748 34420100 */ ori $v0, $v0, 0x100 -/* 31C76C 802BE74C 00431024 */ and $v0, $v0, $v1 -/* 31C770 802BE750 AE020000 */ sw $v0, ($s0) -/* 31C774 802BE754 24020018 */ addiu $v0, $zero, 0x18 -/* 31C778 802BE758 A2C00003 */ sb $zero, 3($s6) -/* 31C77C 802BE75C A2C00000 */ sb $zero, ($s6) -/* 31C780 802BE760 AE00001C */ sw $zero, 0x1c($s0) -/* 31C784 802BE764 A60200A8 */ sh $v0, 0xa8($s0) -/* 31C788 802BE768 0C05271B */ jal sfx_stop_sound -/* 31C78C 802BE76C AE050028 */ sw $a1, 0x28($s0) -/* 31C790 802BE770 0C00EB6B */ jal disable_npc_blur -/* 31C794 802BE774 0200202D */ daddu $a0, $s0, $zero -/* 31C798 802BE778 3C11802C */ lui $s1, %hi(D_802BEC6C) -/* 31C79C 802BE77C 2631EC6C */ addiu $s1, $s1, %lo(D_802BEC6C) -/* 31C7A0 802BE780 8E220000 */ lw $v0, ($s1) -/* 31C7A4 802BE784 10400006 */ beqz $v0, .L802BE7A0 -/* 31C7A8 802BE788 00000000 */ nop -/* 31C7AC 802BE78C 3C04802C */ lui $a0, %hi(D_802BEC68) -/* 31C7B0 802BE790 8C84EC68 */ lw $a0, %lo(D_802BEC68)($a0) -/* 31C7B4 802BE794 0C04D06C */ jal func_801341B0 -/* 31C7B8 802BE798 00000000 */ nop -/* 31C7BC 802BE79C AE200000 */ sw $zero, ($s1) -.L802BE7A0: -/* 31C7C0 802BE7A0 3C01802C */ lui $at, %hi(D_802BEC54) -/* 31C7C4 802BE7A4 AC20EC54 */ sw $zero, %lo(D_802BEC54)($at) -/* 31C7C8 802BE7A8 0C03BD17 */ jal partner_clear_player_tracking -/* 31C7CC 802BE7AC 0200202D */ daddu $a0, $s0, $zero -/* 31C7D0 802BE7B0 24020002 */ addiu $v0, $zero, 2 -.L802BE7B4: -/* 31C7D4 802BE7B4 8FBF004C */ lw $ra, 0x4c($sp) -/* 31C7D8 802BE7B8 8FB60048 */ lw $s6, 0x48($sp) -/* 31C7DC 802BE7BC 8FB50044 */ lw $s5, 0x44($sp) -/* 31C7E0 802BE7C0 8FB40040 */ lw $s4, 0x40($sp) -/* 31C7E4 802BE7C4 8FB3003C */ lw $s3, 0x3c($sp) -/* 31C7E8 802BE7C8 8FB20038 */ lw $s2, 0x38($sp) -/* 31C7EC 802BE7CC 8FB10034 */ lw $s1, 0x34($sp) -/* 31C7F0 802BE7D0 8FB00030 */ lw $s0, 0x30($sp) -/* 31C7F4 802BE7D4 D7B40050 */ ldc1 $f20, 0x50($sp) -/* 31C7F8 802BE7D8 03E00008 */ jr $ra -/* 31C7FC 802BE7DC 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 8977739733..793cb9d421 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -3069,7 +3069,7 @@ segments: vram: 0xE00C8000 subsegments: - [0x3CF3A0, c, throw_spiny] - - [0x3CFAB0, data] + - [0x3CFAB0] - [0x3CFAF0, bin] # throw_spiny gfx - name: effect_effect_65 dir: effects diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index aee8ce1582..a5dc22b81c 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -222,6 +222,11 @@ D_09000B88 = 0x09000B88; D_09000C00 = 0x09000C00; D_09000C20 = 0x09000C20; +// effect_throw_spiny +D_09000800 = 0x09000800; +D_090008D8 = 0x090008D8; +D_090009F0 = 0x090009F0; + // Invalid pointers from dead code dead_atan2 = 0x8002AF70; dead_gCurrentCamID = 0x800A158C;