diff --git a/include/effects.h b/include/effects.h index 8d24e99240..2f29d394f8 100644 --- a/include/effects.h +++ b/include/effects.h @@ -1061,8 +1061,34 @@ typedef struct FireBreathFXData { } FireBreathFXData; // size = 0x7C typedef struct ShimmerBurstFXData { - /* 0x00 */ char todo[0]; -} ShimmerBurstFXData; // size = unknown + /* 0x00 */ s32 unk_00; + /* 0x04 */ f32 unk_04; + /* 0x08 */ f32 unk_08; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ f32 unk_10; + /* 0x14 */ f32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ f32 unk_24; + /* 0x28 */ f32 unk_28; + /* 0x2C */ f32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ f32 unk_34; + /* 0x38 */ s32 unk_38; + /* 0x3C */ s32 unk_3C; + /* 0x40 */ s32 unk_40; + /* 0x44 */ s32 unk_44; + /* 0x48 */ s32 unk_48; + /* 0x4C */ s32 unk_4C; + /* 0x50 */ s32 unk_50; + /* 0x54 */ s32 unk_54; + /* 0x58 */ s32 unk_58; + /* 0x5C */ s32 unk_5C; + /* 0x60 */ f32 unk_60; + /* 0x64 */ f32 unk_64; + /* 0x68 */ f32 unk_68; +} ShimmerBurstFXData; // size = 0x6C typedef struct EnergyShockwaveFXData { /* 0x00 */ s32 unk_00; @@ -1685,8 +1711,20 @@ typedef struct WaterBlockFXData { } WaterBlockFXData; // size = unknown typedef struct WaterfallFXData { - /* 0x00 */ char todo[0]; -} WaterfallFXData; // size = unknown + /* 0x00 */ s32 unk_00; + /* 0x04 */ f32 unk_04; + /* 0x08 */ f32 unk_08; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ s32 unk_20; + /* 0x24 */ s32 unk_24; + /* 0x28 */ f32 unk_28; + /* 0x2C */ f32 unk_2C[12]; + /* 0x5C */ f32 unk_5C[12]; +} WaterfallFXData; // size = 0x8C typedef struct WaterFountainFXData { /* 0x00 */ s32 unk_00; @@ -1707,8 +1745,23 @@ typedef struct WaterFountainFXData { } WaterFountainFXData; // size = 0x44 typedef struct UnderwaterFXData { - /* 0x00 */ char todo[0]; -} UnderwaterFXData; // size = unknown + /* 0x000 */ s32 unk_00; + /* 0x004 */ f32 unk_04; + /* 0x008 */ f32 unk_08; + /* 0x00C */ f32 unk_0C; + /* 0x010 */ s32 unk_10; + /* 0x014 */ s32 unk_14; + /* 0x018 */ f32 unk_18; + /* 0x01C */ u8 unk_1C; + /* 0x01D */ u8 unk_1D; + /* 0x01E */ u8 unk_1E; + /* 0x01F */ u8 unk_1F; + /* 0x020 */ u8 unk_20; + /* 0x021 */ u8 unk_21; + /* 0x022 */ u8 unk_22; + /* 0x023 */ s8 unk_23[19][13]; + /* 0x11A */ s16 unk_11A[19][13]; +} UnderwaterFXData; // size = 0x308 typedef struct LightningBoltFXData { /* 0x000 */ s32 type; diff --git a/include/effects_internal.h b/include/effects_internal.h index 5b7d7f9a29..5cb89468be 100644 --- a/include/effects_internal.h +++ b/include/effects_internal.h @@ -87,7 +87,7 @@ void ending_decals_main(s32, f32, f32, f32, f32, EffectInstance**); void light_rays_main(s32, f32, f32, f32, f32, EffectInstance**); EffectInstance* lightning_main(s32, f32, f32, f32, f32, f32); EffectInstance* fire_breath_main(s32, f32, f32, f32, f32, f32, f32, s32, s32, s32); -FX_MAIN(shimmer_burst_main); +EffectInstance* shimmer_burst_main(s32, f32, f32, f32, f32, s32); void energy_shockwave_main(s32, f32, f32, f32, f32, s32); EffectInstance* shimmer_wave_main(s32, f32, f32, f32, f32, f32, s32, s32); void aura_main(s32, f32, f32, f32, f32, EffectInstance**); @@ -122,9 +122,9 @@ EffectInstance* snaking_static_main(s32, f32, f32, f32, f32, s32); EffectInstance* thunderbolt_ring_main(s32, f32, f32, f32, f32, s32); EffectInstance* squirt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); FX_MAIN(water_block_main); -FX_MAIN(waterfall_main); +EffectInstance* waterfall_main(s32, f32, f32, f32, f32, s32); EffectInstance* water_fountain_main(s32, f32, f32, f32, f32, s32); -FX_MAIN(underwater_main); +EffectInstance* underwater_main(s32, f32, f32, f32, f32, s32); EffectInstance* lightning_bolt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); FX_MAIN(water_splash_main); EffectInstance* snowman_doll_main(s32, f32, f32, f32, f32, s32); diff --git a/src/effects.c b/src/effects.c index df0dbe1375..3946a1b2e1 100644 --- a/src/effects.c +++ b/src/effects.c @@ -118,8 +118,8 @@ EffectTableEntry gEffectTable[] = { /* 0x58 */ FX_ENTRY(thunderbolt_ring, effect_gfx_thunderbolt_ring), /* 0x59 */ FX_ENTRY(squirt, _3B5340), /* 0x5A */ FX_ENTRY(water_block, _3B6BF0), - /* 0x5B */ FX_ENTRY(waterfall, _3B78D0), - /* 0x5C */ FX_ENTRY(water_fountain, _3B8860), + /* 0x5B */ FX_ENTRY(waterfall, effect_gfx_waterfall), + /* 0x5C */ FX_ENTRY(water_fountain, effect_gfx_water_fountain), /* 0x5D */ FX_ENTRY(underwater, _3B9A70), /* 0x5E */ FX_ENTRY(lightning_bolt, effect_gfx_lightning_bolt), /* 0x5F */ FX_ENTRY(water_splash, effect_gfx_water_splash), diff --git a/src/effects/gfx/water_fountain.c b/src/effects/gfx/water_fountain.c new file mode 100644 index 0000000000..045d7be5a8 --- /dev/null +++ b/src/effects/gfx/water_fountain.c @@ -0,0 +1,8 @@ +#include "effects/gfx/D_09000000_3B8860.png.inc.c" + +#include "effects/gfx/D_09000200_3B8A60.vtx.inc.c" +#include "effects/gfx/D_09000240_3B8AA0.vtx.inc.c" + +#include "effects/gfx/D_09000280_3B8AE0.gfx.inc.c" +#include "effects/gfx/D_09000328_3B8B88.gfx.inc.c" +#include "effects/gfx/D_09000348_3B8BA8.gfx.inc.c" diff --git a/src/effects/gfx/waterfall.c b/src/effects/gfx/waterfall.c new file mode 100644 index 0000000000..1d6636a9bf --- /dev/null +++ b/src/effects/gfx/waterfall.c @@ -0,0 +1,2 @@ +#include "effects/gfx/D_09000000_3B78D0.png.inc.c" +#include "effects/gfx/D_09000200_3B7AD0.gfx.inc.c" diff --git a/src/effects/shimmer_burst.c b/src/effects/shimmer_burst.c index a22f9a8000..b147a49f6e 100644 --- a/src/effects/shimmer_burst.c +++ b/src/effects/shimmer_burst.c @@ -1,14 +1,187 @@ #include "common.h" #include "effects_internal.h" +extern Gfx D_09000F20_338EE0[]; +extern Gfx D_090011C8_339188[]; +extern Gfx D_090011E0_3391A0[]; +extern Gfx D_090011F8_3391B8[]; +extern Gfx D_09001210_3391D0[]; +extern Gfx D_09001228_3391E8[]; +extern Gfx D_09001240_339200[]; +extern Gfx D_09001258_339218[]; +extern Gfx D_09001270_339230[]; + +Gfx* D_E0070CD0[] = { + D_09001210_3391D0, D_09001228_3391E8, D_09001240_339200, D_09001258_339218, + D_09001270_339230, D_090011C8_339188, D_090011E0_3391A0, D_090011F8_3391B8 +}; + +f32 D_E0070CF0[] = { + 0.2f, 0.4f, 0.8f, 1.3f, 1.5f, 1.3f, 0.9f, 0.6f, 0.4f, 0.3f, + 0.2f, 0.4f, 0.8f, 1.3f, 1.5f, 1.3f, 0.9f, 0.6f, 0.4f, 0.3f +}; + +s32 D_E0070D70[] = { + 0xC8FAFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFAC8, 0x00000000, 0x00000000, 0x00000000 +}; + +void shimmer_burst_init(EffectInstance* effect); +void shimmer_burst_update(EffectInstance* effect); +void shimmer_burst_render(EffectInstance* effect); void shimmer_burst_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/shimmer_burst", shimmer_burst_main); +EffectInstance* shimmer_burst_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) { + EffectBlueprint bp; + EffectInstance* effect; + ShimmerBurstFXData* part; + s32 numParts = 61; + s32 temp30 = 30; + f32 temp; + s32 i; -void shimmer_burst_init(void) { + bp.init = shimmer_burst_init; + bp.update = shimmer_burst_update; + bp.renderWorld = shimmer_burst_render; + bp.unk_00 = 0; + bp.unk_14 = NULL; + bp.effectID = EFFECT_SHIMMER_BURST; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + part = effect->data.shimmerBurst = shim_general_heap_malloc(numParts * sizeof(*part)); + ASSERT(effect->data.shimmerBurst != NULL); + + part->unk_00 = arg0; + part->unk_3C = 0; + if (arg5 <= 0) { + part->unk_38 = 1000; + } else { + part->unk_38 = arg5; + } + part->unk_4C = 255; + part->unk_04 = arg1; + part->unk_08 = arg2; + part->unk_0C = arg3; + part->unk_60 = arg4; + part->unk_10 = temp30; + part->unk_14 = temp30; + part->unk_40 = 255; + part->unk_44 = 255; + part->unk_48 = 255; + + if (arg0 == 0) { + part->unk_50 = 215; + part->unk_54 = 255; + part->unk_58 = 235; + part->unk_5C = 255; + } else { + part->unk_50 = 255; + part->unk_54 = 127; + part->unk_58 = 255; + part->unk_5C = 255; + } + + part++; + + if (arg5 < 20) { + temp = 20.0f / (numParts - 1); + } else { + temp = (f32) arg5 / (numParts - 1); + } + + for (i = 1; i < numParts; i++, part++) { + part->unk_30 = (s32) (-(f32) i * temp) - 1; + } + + return effect; } -INCLUDE_ASM(s32, "effects/shimmer_burst", shimmer_burst_update); +void shimmer_burst_init(EffectInstance* effect) { +} + +void shimmer_burst_update(EffectInstance* effect) { + ShimmerBurstFXData* part = effect->data.shimmerBurst; + s32 unk_00 = part->unk_00; + f32 unk_10; + f32 unk_14; + s32 i; + + if (effect->flags & EFFECT_INSTANCE_FLAGS_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAGS_10; + part->unk_38 = 16; + } + + if (part->unk_38 < 1000) { + part->unk_38--; + } + + part->unk_3C++; + + if (part->unk_38 < 0) { + shim_remove_effect(effect); + return; + } + + if (part->unk_38 < 8) { + part->unk_4C = part->unk_38 * 32; + } + + unk_10 = part->unk_10; + unk_14 = part->unk_14; + + part++; + for (i = 1; i < effect->numParts; i++, part++) { + part->unk_30++; + if (part->unk_30 >= ARRAY_COUNT(D_E0070CF0)) { + part->unk_30 = 0; + } + + if (part->unk_30 >= 0) { + if (part->unk_30 == 0) { + f32 rand1 = shim_rand_int(359); + f32 rand2 = shim_rand_int(359); + + if (unk_00 == 0) { + part->unk_04 = unk_10 * shim_sin_deg(rand1) * shim_cos_deg(rand2); + part->unk_08 = unk_14 * shim_cos_deg(rand1) * shim_cos_deg(rand2); + part->unk_0C = unk_10 * shim_sin_deg(rand2); + part->unk_18 = part->unk_04 * 0.4; + part->unk_1C = part->unk_08 * 0.4; + part->unk_20 = part->unk_0C * 0.4; + part->unk_24 = part->unk_18 * 0.1; + part->unk_28 = part->unk_1C * 0.1; + part->unk_2C = part->unk_20 * 0.1; + } else { + part->unk_04 = shim_rand_int(unk_10) - unk_10 * 0.5; + part->unk_08 = shim_rand_int(unk_14) - unk_14 * 0.5; + part->unk_0C = shim_rand_int(unk_10) - unk_10 * 0.5; + part->unk_18 = part->unk_04 * 0.3; + part->unk_1C = part->unk_08 * 0.3; + part->unk_20 = part->unk_0C * 0.3; + part->unk_24 = part->unk_18 * 0.02; + part->unk_28 = part->unk_1C * 0.02; + part->unk_2C = part->unk_20 * 0.02; + } + + part->unk_64 = shim_rand_int(15); + part->unk_68 = shim_rand_int(15); + part->unk_34 = 0.0f; + part->unk_4C = 255; + } + + part->unk_60 = D_E0070CF0[part->unk_30]; + part->unk_34 += 4.0f; + part->unk_04 += part->unk_18; + part->unk_08 += part->unk_1C; + part->unk_0C += part->unk_20; + part->unk_64 += 0.2; + part->unk_68 += 0.6; + part->unk_18 += (part->unk_24 - part->unk_18) * 0.04; + part->unk_1C += (part->unk_28 - part->unk_1C) * 0.04; + part->unk_20 += (part->unk_2C - part->unk_20) * 0.04; + } + } +} void shimmer_burst_render(EffectInstance* effect) { RenderTask renderTask; @@ -26,4 +199,61 @@ void shimmer_burst_render(EffectInstance* effect) { void func_E0070738(void) { } -INCLUDE_ASM(s32, "effects/shimmer_burst", shimmer_burst_appendGfx); +void shimmer_burst_appendGfx(void* effect) { + ShimmerBurstFXData* part = ((EffectInstance*)effect)->data.shimmerBurst; + s32 unk_50 = part->unk_50; + s32 unk_54 = part->unk_54; + s32 unk_58 = part->unk_58; + f32 temp_f20 = part->unk_4C / 255.0f; + Gfx* savedGfxPos; + Matrix4f sp20; + Matrix4f sp60; + s32 i; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + + shim_guTranslateF(sp20, part->unk_04, part->unk_08, part->unk_0C); + shim_guScaleF(sp60, part->unk_60, part->unk_60, part->unk_60); + shim_guMtxCatF(sp60, sp20, sp20); + shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetEnvColor(gMasterGfxPos++, part->unk_40, part->unk_44, part->unk_48, part->unk_5C); + gSPDisplayList(gMasterGfxPos++, D_09000F20_338EE0); + + savedGfxPos = gMasterGfxPos; + gMasterGfxPos++; + + part++; + for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) { + if (part->unk_30 >= 0) { + shim_guPositionF(sp20, 0.0f, 0.0f, part->unk_34, part->unk_60 * temp_f20, part->unk_04, part->unk_08, part->unk_0C); + shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_50, unk_54, unk_58, part->unk_4C * temp_f20); + gSPDisplayList(gMasterGfxPos++, D_E0070CD0[i & 7]); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + } + + gSPEndDisplayList(gMasterGfxPos++); + gSPBranchList(savedGfxPos, gMasterGfxPos); + gSPDisplayList(gMasterGfxPos++, savedGfxPos + 1); + + shim_guRotateF(sp20, 120.0f, 0.4f, 0.0f, 0.8f); + shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPDisplayList(gMasterGfxPos++, savedGfxPos + 1); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + + shim_guRotateF(sp20, -120.0f, 0.4f, 0.0f, 0.8f); + shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gSPDisplayList(gMasterGfxPos++, savedGfxPos + 1); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); +} diff --git a/src/effects/underwater.c b/src/effects/underwater.c index f8e787546a..5f31bb306b 100644 --- a/src/effects/underwater.c +++ b/src/effects/underwater.c @@ -1,14 +1,135 @@ #include "common.h" #include "effects_internal.h" +void underwater_init(EffectInstance* effect); +void underwater_update(EffectInstance* effect); +void underwater_render(EffectInstance* effect); void underwater_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/underwater", underwater_main); +EffectInstance* underwater_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) { + EffectBlueprint bp; + EffectInstance* effect; + UnderwaterFXData* data; + s32 numParts = 1; + s32 i; + s32 j; -void underwater_init(void) { + bp.init = underwater_init; + bp.update = underwater_update; + bp.renderWorld = underwater_render; + bp.unk_00 = 0; + bp.unk_14 = NULL; + bp.effectID = EFFECT_UNDERWATER; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + data = effect->data.underwater = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(effect->data.underwater != NULL); + + data->unk_00 = arg0; + data->unk_14 = 0; + if (arg5 <= 0) { + data->unk_10 = 1000; + } else { + data->unk_10 = arg5; + } + data->unk_1F = 0; + data->unk_04 = arg1; + data->unk_08 = arg2; + data->unk_0C = arg3; + data->unk_18 = arg4; + data->unk_1C = 10; + data->unk_1D = 110; + data->unk_1E = 255; + data->unk_20 = 190; + data->unk_21 = 220; + data->unk_22 = 255; + + for (i = 0; i < ARRAY_COUNT(data->unk_23); i++) { + for (j = 0; j < ARRAY_COUNT(data->unk_23[0]); j++) { + data->unk_23[i][j] = 0; + data->unk_11A[i][j] = 0; + } + } + + return effect; } -INCLUDE_ASM(s32, "effects/underwater", underwater_update); +void underwater_init(EffectInstance* effect) { +} + +void underwater_update(EffectInstance* effect) { + UnderwaterFXData* data = effect->data.underwater; + s32 unk_10; + s32 unk_14; + s32 var_a0; + f32 factor; + s32 i; + s32 j; + + if (effect->flags & EFFECT_INSTANCE_FLAGS_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAGS_10; + data->unk_10 = 32; + } + + if (data->unk_10 < 1000) { + data->unk_10--; + } + + data->unk_14++; + + if (data->unk_10 < 0) { + shim_remove_effect(effect); + return; + } + + unk_10 = data->unk_10; + unk_14 = data->unk_14; + + var_a0 = 255; + if (unk_10 < 32) { + var_a0 = unk_10 * 8; + } + if (unk_14 < 16) { + var_a0 = unk_14 * 16 + 15; + } + + data->unk_1F = (f32) var_a0; + factor = (f32) var_a0 / 255.0f; + + for (i = 1; i < ARRAY_COUNT(data->unk_23) - 1; i++) { + data->unk_23[i][6] = shim_sin_deg(-((unk_14 - i) * 20)) * -64.0f * factor; + } + + for (i = 1; i < ARRAY_COUNT(data->unk_23) - 1; i++) { + for (j = 1; j < ARRAY_COUNT(data->unk_23[0]) - 1; j++) { + f32 m11 = data->unk_23[i][j] * 4.0f; + f32 m21 = data->unk_23[i + 1][j]; + f32 m01 = data->unk_23[i - 1][j]; + f32 m12 = data->unk_23[i][j + 1]; + f32 m10 = data->unk_23[i][j - 1]; + f32 m22 = data->unk_23[i + 1][j + 1]; + f32 m02 = data->unk_23[i - 1][j + 1]; + f32 m20 = data->unk_23[i + 1][j - 1]; + f32 m00 = data->unk_23[i - 1][j - 1]; + f32 temp1 = m21 + m01 + m12 + m10 - m11; + f32 temp2 = (m22 + m02 + m20 + m00) * 0.5; + + data->unk_11A[i][j] += temp1 + temp2 - m11 * 0.7; + data->unk_11A[i][j] *= 0.98; + + if (unk_10 < 32) { + data->unk_23[i][j] *= factor; + } + } + } + + for (i = 1; i < ARRAY_COUNT(data->unk_23) - 1; i++) { + for (j = 1; j < ARRAY_COUNT(data->unk_23[0]) - 1; j++) { + data->unk_23[i][j] += data->unk_11A[i][j] * 0.02; + } + } +} void underwater_render(EffectInstance* effect) { RenderTask renderTask; diff --git a/src/effects/water_fountain.c b/src/effects/water_fountain.c index e542b9699f..b49c5c0f87 100644 --- a/src/effects/water_fountain.c +++ b/src/effects/water_fountain.c @@ -1,18 +1,125 @@ #include "common.h" #include "effects_internal.h" -s32 D_E00B88F0[] = { 0x27BD0108, 0x00000000, 0x00000000, 0x00000000 }; +typedef struct UnkStruct { + /* 0x00 */ s8 unk_00; + /* 0x01 */ s8 unk_01; + /* 0x02 */ s16 unk_02; + /* 0x04 */ s16 unk_04; + /* 0x06 */ s16 unk_06; + /* 0x08 */ u8 unk_08; + /* 0x09 */ char unk_09[1]; +} UnkStruct; // size = 0xA -s32 D_E00B8900[] = { 0x0000001E, 0x008C0000, 0xFF000006, 0x001E0078, 0x0000FA00, 0x010C001E, 0x006EFFFB, 0xF0000111, 0x00320064, 0xFFECF000, 0x0216003C, 0x005AFFE2, 0xF000021A, 0x0046005A, 0xFFD8F000, 0x031C0050, 0x0055FFCE, 0xF0000420, 0x005A005A, 0xFFC4F000, 0x05230064, 0x0064FFBA, 0xF0000726, 0x006E006E, 0xFFB0F000, 0x08280078, 0x0078FFA6, 0xF0000B2A, 0x00820082, 0xFF9CF000, 0x0E2B0096, 0x0096FF92, 0xF000122C, 0x00BE00BE, 0xFF88F000, 0x152D00E6, 0x00E6FF7E, 0xF000182E, 0x010E010E, 0xFF74F000, 0x1B2F0136, 0x0136FF6A, 0xF0001E30, 0x015E015E, 0xFF60C800, 0x2131017C, 0x017CFF56, 0x8C002432, 0x01900190, 0xFF4C2800, 0x0000001E, 0x008C0000, 0xFF000006, 0x001E0078, 0x0000F000, 0xFF0C001E, 0x006E0005, 0xE600FF11, 0x00320064, 0x0014DC00, 0xFE16003C, 0x005A001E, 0xD200FE1A, 0x0046005A, 0x0028C800, 0xFD1C0050, 0x00550032, 0xBE00FC20, 0x005A0050, 0x003CB400, 0xFB230064, 0x004D0046, 0xAA00F926, 0x006E0041, 0x0050A000, 0xF8280078, 0x0036005A, 0x9600F52A, 0x0082003C, 0x00648C00, 0xF22B008C, 0x0046006E, 0x8200EE2C, 0x00960050, 0x00787800, 0xEB2D00A0, 0x005A0082, 0x6E00E82E, 0x00AA0064, 0x008C5A00, 0xE52F00B4, 0x006E0096, 0x5000E230, 0x00BE0078, 0x00A04600, 0xDF3100C8, 0x008200AA, 0x1E00DC32, 0x00D2008C, 0x00B40A00, 0x0000001E, 0x008C0000, 0xFF000006, 0x001E0078, 0x0000F000, 0x000C001E, 0x006E0005, 0xE6000011, 0x00320064, 0x0014DC00, 0x0016003C, 0x005A001E, 0xD200001A, 0x0046005A, 0x0028C800, 0x001C0050, 0x00550032, 0xBE000020, 0x005A0050, 0x003CB400, 0x00230064, 0x004D0046, 0xAA000026, 0x006E0041, 0x0050A000, 0x00280078, 0x0036005A, 0x9600002A, 0x0082003C, 0x00648C00, 0x002B008C, 0x0046006E, 0x8200002C, 0x00960050, 0x00787800, 0x002D00A0, 0x005A0082, 0x6E00002E, 0x00AA0064, 0x008C5A00, 0x002F00B4, 0x006E0096, 0x50000030, 0x00BE0078, 0x00A04600, 0x003100C8, 0x008200AA, 0x1E000032, 0x00D2008C, 0x00B40A00 }; +extern Gfx D_09000280_3B8AE0[]; +extern Gfx D_09000328_3B8B88[]; +extern Gfx D_09000348_3B8BA8[]; -s32 D_E00B8B58[] = { 0x0000001E, 0x008C0000, 0xFF000006, 0x001E0078, 0x0000F000, 0x010C001E, 0x006EFFFB, 0xE6000111, 0x00320064, 0xFFECDC00, 0x0216003C, 0x005AFFE2, 0xD200021A, 0x0046005A, 0xFFD8C800, 0x031C0050, 0x0055FFCE, 0xBE000420, 0x005A0050, 0xFFC4B400, 0x05230064, 0x004DFFBA, 0x78000726, 0x006E0041, 0xFFB05000, 0x08280078, 0x0036FFA6, 0x28000000, 0x001E008C, 0x0000FF00, 0x0006001E, 0x00780000, 0xF000FF0C, 0x001E006E, 0x0005E600, 0xFF110032, 0x00640014, 0xDC00FE16, 0x003C005A, 0x001ED200, 0xFE1A0046, 0x005A0028, 0xC800FD1C, 0x00500055, 0x0032BE00, 0xFC20005A, 0x0050003C, 0xB400FB23, 0x0064004D, 0x00467800, 0xF926006E, 0x00410050, 0x5000F828, 0x00780036, 0x005A2800, 0x0000001E, 0x008C0000, 0xFF000006, 0x001E0078, 0x0000F000, 0x000C001E, 0x006E0005, 0xE6000011, 0x00320064, 0x0014DC00, 0x0016003C, 0x005A001E, 0xD200001A, 0x0046005A, 0x0028C800, 0x001C0050, 0x00550032, 0xBE000020, 0x005A0050, 0x003CB400, 0x00240064, 0x004D0046, 0x78000027, 0x006E0041, 0x00505000, 0x002A0078, 0x0036005A, 0x28000000 }; +UnkStruct D_E00B8900[] = { + { 0, 0, 30, 140, 0, 255, { 0 } }, + { 0, 6, 30, 120, 0, 250, { 0 } }, + { 1, 12, 30, 110, -5, 240, { 0 } }, + { 1, 17, 50, 100, -20, 240, { 0 } }, + { 2, 22, 60, 90, -30, 240, { 0 } }, + { 2, 26, 70, 90, -40, 240, { 0 } }, + { 3, 28, 80, 85, -50, 240, { 0 } }, + { 4, 32, 90, 90, -60, 240, { 0 } }, + { 5, 35, 100, 100, -70, 240, { 0 } }, + { 7, 38, 110, 110, -80, 240, { 0 } }, + { 8, 40, 120, 120, -90, 240, { 0 } }, + { 11, 42, 130, 130, -100, 240, { 0 } }, + { 14, 43, 150, 150, -110, 240, { 0 } }, + { 18, 44, 190, 190, -120, 240, { 0 } }, + { 21, 45, 230, 230, -130, 240, { 0 } }, + { 24, 46, 270, 270, -140, 240, { 0 } }, + { 27, 47, 310, 310, -150, 240, { 0 } }, + { 30, 48, 350, 350, -160, 200, { 0 } }, + { 33, 49, 380, 380, -170, 140, { 0 } }, + { 36, 50, 400, 400, -180, 40, { 0 } }, + { 0, 0, 30, 140, 0, 255, { 0 } }, + { 0, 6, 30, 120, 0, 240, { 0 } }, + { -1, 12, 30, 110, 5, 230, { 0 } }, + { -1, 17, 50, 100, 20, 220, { 0 } }, + { -2, 22, 60, 90, 30, 210, { 0 } }, + { -2, 26, 70, 90, 40, 200, { 0 } }, + { -3, 28, 80, 85, 50, 190, { 0 } }, + { -4, 32, 90, 80, 60, 180, { 0 } }, + { -5, 35, 100, 77, 70, 170, { 0 } }, + { -7, 38, 110, 65, 80, 160, { 0 } }, + { -8, 40, 120, 54, 90, 150, { 0 } }, + { -11, 42, 130, 60, 100, 140, { 0 } }, + { -14, 43, 140, 70, 110, 130, { 0 } }, + { -18, 44, 150, 80, 120, 120, { 0 } }, + { -21, 45, 160, 90, 130, 110, { 0 } }, + { -24, 46, 170, 100, 140, 90, { 0 } }, + { -27, 47, 180, 110, 150, 80, { 0 } }, + { -30, 48, 190, 120, 160, 70, { 0 } }, + { -33, 49, 200, 130, 170, 30, { 0 } }, + { -36, 50, 210, 140, 180, 10, { 0 } }, + { 0, 0, 30, 140, 0, 255, { 0 } }, + { 0, 6, 30, 120, 0, 240, { 0 } }, + { 0, 12, 30, 110, 5, 230, { 0 } }, + { 0, 17, 50, 100, 20, 220, { 0 } }, + { 0, 22, 60, 90, 30, 210, { 0 } }, + { 0, 26, 70, 90, 40, 200, { 0 } }, + { 0, 28, 80, 85, 50, 190, { 0 } }, + { 0, 32, 90, 80, 60, 180, { 0 } }, + { 0, 35, 100, 77, 70, 170, { 0 } }, + { 0, 38, 110, 65, 80, 160, { 0 } }, + { 0, 40, 120, 54, 90, 150, { 0 } }, + { 0, 42, 130, 60, 100, 140, { 0 } }, + { 0, 43, 140, 70, 110, 130, { 0 } }, + { 0, 44, 150, 80, 120, 120, { 0 } }, + { 0, 45, 160, 90, 130, 110, { 0 } }, + { 0, 46, 170, 100, 140, 90, { 0 } }, + { 0, 47, 180, 110, 150, 80, { 0 } }, + { 0, 48, 190, 120, 160, 70, { 0 } }, + { 0, 49, 200, 130, 170, 30, { 0 } }, + { 0, 50, 210, 140, 180, 10, { 0 } } +}; -s32 D_E00B8CA4[] = { 0x00000000, 0x00000028, 0x00000037, 0x000000BE, 0x00000014, 0x00000082, 0x0000010E, 0x0000012C, 0x00000000, 0x00000000, 0x00000000 }; +UnkStruct D_E00B8B58[] = { + { 0, 0, 30, 140, 0, 255, { 0 } }, + { 0, 6, 30, 120, 0, 240, { 0 } }, + { 1, 12, 30, 110, -5, 230, { 0 } }, + { 1, 17, 50, 100, -20, 220, { 0 } }, + { 2, 22, 60, 90, -30, 210, { 0 } }, + { 2, 26, 70, 90, -40, 200, { 0 } }, + { 3, 28, 80, 85, -50, 190, { 0 } }, + { 4, 32, 90, 80, -60, 180, { 0 } }, + { 5, 35, 100, 77, -70, 120, { 0 } }, + { 7, 38, 110, 65, -80, 80, { 0 } }, + { 8, 40, 120, 54, -90, 40, { 0 } }, + { 0, 0, 30, 140, 0, 255, { 0 } }, + { 0, 6, 30, 120, 0, 240, { 0 } }, + { -1, 12, 30, 110, 5, 230, { 0 } }, + { -1, 17, 50, 100, 20, 220, { 0 } }, + { -2, 22, 60, 90, 30, 210, { 0 } }, + { -2, 26, 70, 90, 40, 200, { 0 } }, + { -3, 28, 80, 85, 50, 190, { 0 } }, + { -4, 32, 90, 80, 60, 180, { 0 } }, + { -5, 35, 100, 77, 70, 120, { 0 } }, + { -7, 38, 110, 65, 80, 80, { 0 } }, + { -8, 40, 120, 54, 90, 40, { 0 } }, + { 0, 0, 30, 140, 0, 255, { 0 } }, + { 0, 6, 30, 120, 0, 240, { 0 } }, + { 0, 12, 30, 110, 5, 230, { 0 } }, + { 0, 17, 50, 100, 20, 220, { 0 } }, + { 0, 22, 60, 90, 30, 210, { 0 } }, + { 0, 26, 70, 90, 40, 200, { 0 } }, + { 0, 28, 80, 85, 50, 190, { 0 } }, + { 0, 32, 90, 80, 60, 180, { 0 } }, + { 0, 36, 100, 77, 70, 120, { 0 } }, + { 0, 39, 110, 65, 80, 80, { 0 } }, + { 0, 42, 120, 54, 90, 40, { 0 } } +}; + +s32 D_E00B8CA4[] = { 0, 40, 55, 190, 20, 130, 270, 300 }; -void water_fountain_appendGfx(void* effect); void water_fountain_init(EffectInstance* effect); void water_fountain_update(EffectInstance* effect); void water_fountain_render(EffectInstance* effect); +void water_fountain_appendGfx(void* effect); EffectInstance* water_fountain_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 arg5) { EffectBlueprint effectBp; @@ -98,4 +205,87 @@ void water_fountain_render(EffectInstance* effect) { void func_E00B8200(void) { } -INCLUDE_ASM(s32, "effects/water_fountain", water_fountain_appendGfx); +void water_fountain_appendGfx(void *effect) { + WaterFountainFXData* data = ((EffectInstance*)effect)->data.waterFountain; + Camera* camera = &gCameras[gCurrentCameraID]; + s32 lifeTime = data->lifeTime; + s32 timeLeft = data->timeLeft; + s32 sp9C; + s32 unk_24 = data->unk_24; + s32 unk_00 = data->unk_00; + s32 unk_18 = data->unk_18; + s32 unk_1C = data->unk_1C; + s32 unk_20 = data->unk_20; + s32 spB0; + s32 var_s6; + s32 temp; + UnkStruct* basePtr; + Matrix4f sp18; + Matrix4f sp58; + s32 i; + s32 j; + + if (unk_00 == 0) { + spB0 = 3; + basePtr = D_E00B8900; + var_s6 = 20; + } else { + var_s6 = 11; + spB0 = 3; + basePtr = D_E00B8B58; + } + + 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, data->unk_34, data->unk_34, data->unk_34); + 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); + gSPDisplayList(gMasterGfxPos++, D_09000280_3B8AE0); + + shim_guRotateF(sp18, data->unk_38, 0.0f, 0.0f, 1.0f); + shim_guScaleF(sp58, data->unk_3C, data->unk_40, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW); + gDPSetEnvColor(gMasterGfxPos++, data->unk_28, data->unk_2C, data->unk_30, unk_24); + + temp = sp9C + 1; + if (timeLeft >= var_s6 - temp) { + gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_18, unk_1C, unk_20, unk_24); + gSPDisplayList(gMasterGfxPos++, D_09000348_3B8BA8); + } + + for (i = 0; i < var_s6 / 2; i++) { + for (j = 0; j < spB0; j++) { + s32 idx = (lifeTime + i * 2) % var_s6; + UnkStruct* ptr = &basePtr[j * var_s6]; + + if (lifeTime * 5 >= idx) { + s32 temp2 = idx + 1; + if (timeLeft >= var_s6 - temp2) { + shim_guTranslateF(sp18, (f32) ptr[idx].unk_00, (f32) ptr[idx].unk_01 + 10.0f, 0.0f); + shim_guScaleF(sp58, (f32) basePtr[idx].unk_02 * 0.01, (f32) basePtr[idx].unk_04 * 0.01, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guRotateF(sp58, (f32) ptr[idx].unk_06 + D_E00B8CA4[(j + i) & 7], 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_MUL | G_MTX_MODELVIEW); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_18, unk_1C, unk_20, (unk_24 * basePtr[idx].unk_08) >> 8); + gSPDisplayList(gMasterGfxPos++, D_09000328_3B8B88); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + } + } + } + + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + gDPPipeSync(gMasterGfxPos++); +} diff --git a/src/effects/waterfall.c b/src/effects/waterfall.c index 4ceccbb504..9e47ee0204 100644 --- a/src/effects/waterfall.c +++ b/src/effects/waterfall.c @@ -1,14 +1,105 @@ #include "common.h" #include "effects_internal.h" +extern Gfx D_09000200_3B7AD0[]; + +void waterfall_init(EffectInstance* effect); +void waterfall_update(EffectInstance* effect); +void waterfall_render(EffectInstance* effect); void waterfall_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/waterfall", waterfall_main); +EffectInstance* waterfall_main( + s32 arg0, + f32 arg1, + f32 arg2, + f32 arg3, + f32 arg4, + s32 arg5 +) { + EffectBlueprint bp; + EffectInstance* effect; + WaterfallFXData* data; + s32 numParts = 1; + s32 i; -void waterfall_init(void) { + bp.init = waterfall_init; + bp.update = waterfall_update; + bp.renderWorld = waterfall_render; + bp.unk_00 = 0; + bp.unk_14 = NULL; + bp.effectID = EFFECT_WATERFALL; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + data = effect->data.waterfall = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(effect->data.waterfall != NULL); + + data->unk_00 = arg0; + data->unk_14 = 0; + if (arg5 <= 0) { + data->unk_10 = 1000; + } else { + data->unk_10 = arg5; + } + data->unk_24 = 0; + data->unk_04 = arg1; + data->unk_08 = arg2; + data->unk_0C = arg3; + data->unk_28 = arg4; + data->unk_18 = 20; + data->unk_1C = 120; + data->unk_20 = 255; + + for (i = 0; i < 12; i++) { + data->unk_2C[i] = 0; + data->unk_5C[i] = (f32) shim_rand_int(10) * 0.01 + -1.0; + } + + return effect; } -INCLUDE_ASM(s32, "effects/waterfall", waterfall_update); +void waterfall_init(EffectInstance* effect) { +} + +void waterfall_update(EffectInstance* effect) { + WaterfallFXData* data = effect->data.waterfall; + s32 unk_14; + s32 i; + + if (effect->flags & EFFECT_INSTANCE_FLAGS_10) { + effect->flags &= ~EFFECT_INSTANCE_FLAGS_10; + data->unk_10 = 16; + } + + if (data->unk_10 < 1000) { + data->unk_10--; + } + + data->unk_14++; + + if (data->unk_10 < 0) { + shim_remove_effect(effect); + return; + } + + unk_14 = data->unk_14; + + if (data->unk_10 < 16) { + data->unk_24 = data->unk_10 * 16; + } + + if (unk_14 < 16) { + data->unk_24 = unk_14 * 16 + 15; + } + + for (i = 0; i < 12; i++) { + data->unk_2C[i] += data->unk_5C[i]; + data->unk_5C[i] += -0.1; + if (data->unk_5C[i] > 5.0f) { + data->unk_5C[i] += (5.0 - data->unk_5C[i]) * 0.1; + } + } +} void waterfall_render(EffectInstance* effect) { RenderTask renderTask; @@ -25,4 +116,72 @@ void waterfall_render(EffectInstance* effect) { void func_E00B62D8(void) { } -INCLUDE_ASM(s32, "effects/waterfall", waterfall_appendGfx); +void waterfall_appendGfx(void* effect) { + WaterfallFXData* data = ((EffectInstance*)effect)->data.waterfall; + Camera* camera = &gCameras[gCurrentCameraID]; + s32 unk_14 = data->unk_14; + s32 unk_24 = data->unk_24; + f32 scale = data->unk_28 * 0.1; + s32 savedIdx; + Vtx_t* vtx; + Gfx* savedGfxPos; + Matrix4f sp10; + Matrix4f sp50; + s32 i; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + + shim_guTranslateF(sp10, data->unk_04, data->unk_08, data->unk_0C); + shim_guScaleF(sp50, scale, scale, scale); + shim_guMtxCatF(sp50, sp10, sp10); + shim_guMtxF2L(sp10, &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_18, data->unk_1C, data->unk_20, unk_24); + gSPDisplayList(gMasterGfxPos++, D_09000200_3B7AD0); + gSPBranchList(gMasterGfxPos, &gMasterGfxPos[49]); + + savedGfxPos = gMasterGfxPos + 1; + gMasterGfxPos = &gMasterGfxPos[49]; + + vtx = (Vtx_t*) savedGfxPos; + + for (i = 0; i < ARRAY_COUNT(data->unk_2C); i++) { + vtx->ob[0] = i * 50 - 300; + vtx->ob[1] = 600; + vtx->ob[2] = 0; + vtx->tc[0] = (unk_14 + i * 4) * 32; + vtx->tc[1] = (s32) data->unk_2C[i] * 32; + vtx->cn[0] = 255; + vtx->cn[1] = 255; + vtx->cn[2] = 255; + vtx->cn[3] = -i * 20 - 1; + vtx++; + + vtx->ob[0] = i * 50 - 300; + vtx->ob[1] = (data->unk_2C[i] + 60.0f) * 10.0f; + vtx->ob[2] = 0; + vtx->tc[0] = (unk_14 + i * 4) * 32; + vtx->tc[1] = 1024; + vtx->cn[0] = 255; + vtx->cn[1] = 255; + vtx->cn[2] = 255; + vtx->cn[3] = -i * 20 - 1; + vtx++; + } + + savedIdx = i; + + gSPVertex(gMasterGfxPos++, savedGfxPos, i * 2, 0); + + for (i = 0; i < savedIdx - 1; i++) { + s32 i2 = i * 2; + gSP2Triangles(gMasterGfxPos++, + i2 , i2 + 2, i2 + 1, i2, + i2 + 1, i2 + 2, i2 + 3, i2); + } + + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); +} diff --git a/ver/us/asm/data/effects/374D80.data.s b/ver/us/asm/data/effects/374D80.data.s deleted file mode 100644 index f36f8f831c..0000000000 --- a/ver/us/asm/data/effects/374D80.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_E0070CD0 -.word 0x09001210, 0x09001228, 0x09001240, 0x09001258, 0x09001270, 0x090011C8, 0x090011E0, 0x090011F8 - -dlabel D_E0070CF0 -.word 0x3E4CCCCD, 0x3ECCCCCD, 0x3F4CCCCD, 0x3FA66666, 0x3FC00000, 0x3FA66666, 0x3F666666, 0x3F19999A, 0x3ECCCCCD, 0x3E99999A, 0x3E4CCCCD, 0x3ECCCCCD, 0x3F4CCCCD, 0x3FA66666, 0x3FC00000, 0x3FA66666, 0x3F666666, 0x3F19999A, 0x3ECCCCCD, 0x3E99999A, 0xC8FAFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFAC8, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_appendGfx.s b/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_appendGfx.s deleted file mode 100644 index 747b3c6c28..0000000000 --- a/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_appendGfx.s +++ /dev/null @@ -1,365 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel shimmer_burst_appendGfx -/* 3747F0 E0070740 27BDFF10 */ addiu $sp, $sp, -0xf0 -/* 3747F4 E0070744 3C06DB06 */ lui $a2, 0xdb06 -/* 3747F8 E0070748 34C60024 */ ori $a2, $a2, 0x24 -/* 3747FC E007074C AFA400F0 */ sw $a0, 0xf0($sp) -/* 374800 E0070750 27A40020 */ addiu $a0, $sp, 0x20 -/* 374804 E0070754 AFB100B4 */ sw $s1, 0xb4($sp) -/* 374808 E0070758 3C110001 */ lui $s1, 1 -/* 37480C E007075C 36311630 */ ori $s1, $s1, 0x1630 -/* 374810 E0070760 AFB500C4 */ sw $s5, 0xc4($sp) -/* 374814 E0070764 3C15800A */ lui $s5, %hi(gMasterGfxPos) -/* 374818 E0070768 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos) -/* 37481C E007076C AFBF00D4 */ sw $ra, 0xd4($sp) -/* 374820 E0070770 AFBE00D0 */ sw $fp, 0xd0($sp) -/* 374824 E0070774 AFB700CC */ sw $s7, 0xcc($sp) -/* 374828 E0070778 AFB600C8 */ sw $s6, 0xc8($sp) -/* 37482C E007077C AFB400C0 */ sw $s4, 0xc0($sp) -/* 374830 E0070780 AFB300BC */ sw $s3, 0xbc($sp) -/* 374834 E0070784 AFB200B8 */ sw $s2, 0xb8($sp) -/* 374838 E0070788 AFB000B0 */ sw $s0, 0xb0($sp) -/* 37483C E007078C F7B800E8 */ sdc1 $f24, 0xe8($sp) -/* 374840 E0070790 F7B600E0 */ sdc1 $f22, 0xe0($sp) -/* 374844 E0070794 F7B400D8 */ sdc1 $f20, 0xd8($sp) -/* 374848 E0070798 8EA50000 */ lw $a1, ($s5) -/* 37484C E007079C 8FAA00F0 */ lw $t2, 0xf0($sp) -/* 374850 E00707A0 00A0182D */ daddu $v1, $a1, $zero -/* 374854 E00707A4 8D52000C */ lw $s2, 0xc($t2) -/* 374858 E00707A8 24A50008 */ addiu $a1, $a1, 8 -/* 37485C E00707AC AEA50000 */ sw $a1, ($s5) -/* 374860 E00707B0 8E4A0050 */ lw $t2, 0x50($s2) -/* 374864 E00707B4 C642004C */ lwc1 $f2, 0x4c($s2) -/* 374868 E00707B8 468010A0 */ cvt.s.w $f2, $f2 -/* 37486C E00707BC AFAA00A0 */ sw $t2, 0xa0($sp) -/* 374870 E00707C0 8E4A0054 */ lw $t2, 0x54($s2) -/* 374874 E00707C4 24130001 */ addiu $s3, $zero, 1 -/* 374878 E00707C8 AFAA00A4 */ sw $t2, 0xa4($sp) -/* 37487C E00707CC 8E4A0058 */ lw $t2, 0x58($s2) -/* 374880 E00707D0 3C02E700 */ lui $v0, 0xe700 -/* 374884 E00707D4 AFAA00A8 */ sw $t2, 0xa8($sp) -/* 374888 E00707D8 AC620000 */ sw $v0, ($v1) -/* 37488C E00707DC AC600004 */ sw $zero, 4($v1) -/* 374890 E00707E0 ACA60000 */ sw $a2, ($a1) -/* 374894 E00707E4 8FAA00F0 */ lw $t2, 0xf0($sp) -/* 374898 E00707E8 3C01437F */ lui $at, 0x437f -/* 37489C E00707EC 44810000 */ mtc1 $at, $f0 -/* 3748A0 E00707F0 8D430010 */ lw $v1, 0x10($t2) -/* 3748A4 E00707F4 24A20008 */ addiu $v0, $a1, 8 -/* 3748A8 E00707F8 AEA20000 */ sw $v0, ($s5) -/* 3748AC E00707FC 8C62001C */ lw $v0, 0x1c($v1) -/* 3748B0 E0070800 3C038000 */ lui $v1, 0x8000 -/* 3748B4 E0070804 00431021 */ addu $v0, $v0, $v1 -/* 3748B8 E0070808 ACA20004 */ sw $v0, 4($a1) -/* 3748BC E007080C 8E450004 */ lw $a1, 4($s2) -/* 3748C0 E0070810 8E460008 */ lw $a2, 8($s2) -/* 3748C4 E0070814 8E47000C */ lw $a3, 0xc($s2) -/* 3748C8 E0070818 0C080108 */ jal shim_guTranslateF -/* 3748CC E007081C 46001503 */ div.s $f20, $f2, $f0 -/* 3748D0 E0070820 27B00060 */ addiu $s0, $sp, 0x60 -/* 3748D4 E0070824 8E450060 */ lw $a1, 0x60($s2) -/* 3748D8 E0070828 0200202D */ daddu $a0, $s0, $zero -/* 3748DC E007082C 00A0302D */ daddu $a2, $a1, $zero -/* 3748E0 E0070830 0C080110 */ jal shim_guScaleF -/* 3748E4 E0070834 00A0382D */ daddu $a3, $a1, $zero -/* 3748E8 E0070838 0200202D */ daddu $a0, $s0, $zero -/* 3748EC E007083C 27A50020 */ addiu $a1, $sp, 0x20 -/* 3748F0 E0070840 0C080114 */ jal shim_guMtxCatF -/* 3748F4 E0070844 00A0302D */ daddu $a2, $a1, $zero -/* 3748F8 E0070848 27A40020 */ addiu $a0, $sp, 0x20 -/* 3748FC E007084C 3C108007 */ lui $s0, %hi(gMatrixListPos) -/* 374900 E0070850 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos) -/* 374904 E0070854 3C16800A */ lui $s6, %hi(gDisplayContext) -/* 374908 E0070858 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext) -/* 37490C E007085C 96050000 */ lhu $a1, ($s0) -/* 374910 E0070860 8EC20000 */ lw $v0, ($s6) -/* 374914 E0070864 00052980 */ sll $a1, $a1, 6 -/* 374918 E0070868 00B12821 */ addu $a1, $a1, $s1 -/* 37491C E007086C 0C080118 */ jal shim_guMtxF2L -/* 374920 E0070870 00452821 */ addu $a1, $v0, $a1 -/* 374924 E0070874 3C03DA38 */ lui $v1, 0xda38 -/* 374928 E0070878 34630002 */ ori $v1, $v1, 2 -/* 37492C E007087C 8EA40000 */ lw $a0, ($s5) -/* 374930 E0070880 96020000 */ lhu $v0, ($s0) -/* 374934 E0070884 0080282D */ daddu $a1, $a0, $zero -/* 374938 E0070888 24840008 */ addiu $a0, $a0, 8 -/* 37493C E007088C AEA40000 */ sw $a0, ($s5) -/* 374940 E0070890 ACA30000 */ sw $v1, ($a1) -/* 374944 E0070894 00531821 */ addu $v1, $v0, $s3 -/* 374948 E0070898 3042FFFF */ andi $v0, $v0, 0xffff -/* 37494C E007089C 00021180 */ sll $v0, $v0, 6 -/* 374950 E00708A0 00511021 */ addu $v0, $v0, $s1 -/* 374954 E00708A4 A6030000 */ sh $v1, ($s0) -/* 374958 E00708A8 8EC30000 */ lw $v1, ($s6) -/* 37495C E00708AC 24870010 */ addiu $a3, $a0, 0x10 -/* 374960 E00708B0 00621821 */ addu $v1, $v1, $v0 -/* 374964 E00708B4 24820008 */ addiu $v0, $a0, 8 -/* 374968 E00708B8 ACA30004 */ sw $v1, 4($a1) -/* 37496C E00708BC AEA20000 */ sw $v0, ($s5) -/* 374970 E00708C0 3C02FB00 */ lui $v0, 0xfb00 -/* 374974 E00708C4 AC820000 */ sw $v0, ($a0) -/* 374978 E00708C8 92430043 */ lbu $v1, 0x43($s2) -/* 37497C E00708CC 92450047 */ lbu $a1, 0x47($s2) -/* 374980 E00708D0 9246004B */ lbu $a2, 0x4b($s2) -/* 374984 E00708D4 9248005F */ lbu $t0, 0x5f($s2) -/* 374988 E00708D8 3C02DE00 */ lui $v0, 0xde00 -/* 37498C E00708DC AEA70000 */ sw $a3, ($s5) -/* 374990 E00708E0 AC820008 */ sw $v0, 8($a0) -/* 374994 E00708E4 3C020900 */ lui $v0, 0x900 -/* 374998 E00708E8 24420F20 */ addiu $v0, $v0, 0xf20 -/* 37499C E00708EC AC82000C */ sw $v0, 0xc($a0) -/* 3749A0 E00708F0 24820018 */ addiu $v0, $a0, 0x18 -/* 3749A4 E00708F4 AEA20000 */ sw $v0, ($s5) -/* 3749A8 E00708F8 00031E00 */ sll $v1, $v1, 0x18 -/* 3749AC E00708FC 00052C00 */ sll $a1, $a1, 0x10 -/* 3749B0 E0070900 00651825 */ or $v1, $v1, $a1 -/* 3749B4 E0070904 00063200 */ sll $a2, $a2, 8 -/* 3749B8 E0070908 00661825 */ or $v1, $v1, $a2 -/* 3749BC E007090C 00681825 */ or $v1, $v1, $t0 -/* 3749C0 E0070910 AC830004 */ sw $v1, 4($a0) -/* 3749C4 E0070914 8FAA00F0 */ lw $t2, 0xf0($sp) -/* 3749C8 E0070918 00E0A02D */ daddu $s4, $a3, $zero -/* 3749CC E007091C 8D420008 */ lw $v0, 8($t2) -/* 3749D0 E0070920 0262102A */ slt $v0, $s3, $v0 -/* 3749D4 E0070924 1040006E */ beqz $v0, .LE0070AE0 -/* 3749D8 E0070928 2652006C */ addiu $s2, $s2, 0x6c -/* 3749DC E007092C 02C0F02D */ daddu $fp, $s6, $zero -/* 3749E0 E0070930 0200B82D */ daddu $s7, $s0, $zero -/* 3749E4 E0070934 3C160001 */ lui $s6, 1 -/* 3749E8 E0070938 36D61630 */ ori $s6, $s6, 0x1630 -/* 3749EC E007093C 02A0882D */ daddu $s1, $s5, $zero -/* 3749F0 E0070940 2650004C */ addiu $s0, $s2, 0x4c -/* 3749F4 E0070944 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 3749F8 E0070948 4480C000 */ mtc1 $zero, $f24 -/* 3749FC E007094C 000A1600 */ sll $v0, $t2, 0x18 -/* 374A00 E0070950 8FAA00A4 */ lw $t2, 0xa4($sp) -/* 374A04 E0070954 3C014F00 */ lui $at, 0x4f00 -/* 374A08 E0070958 4481B000 */ mtc1 $at, $f22 -/* 374A0C E007095C 314300FF */ andi $v1, $t2, 0xff -/* 374A10 E0070960 00031C00 */ sll $v1, $v1, 0x10 -/* 374A14 E0070964 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 374A18 E0070968 00431025 */ or $v0, $v0, $v1 -/* 374A1C E007096C 314300FF */ andi $v1, $t2, 0xff -/* 374A20 E0070970 00031A00 */ sll $v1, $v1, 8 -/* 374A24 E0070974 0043A825 */ or $s5, $v0, $v1 -.LE0070978: -/* 374A28 E0070978 8E02FFE4 */ lw $v0, -0x1c($s0) -/* 374A2C E007097C 04400052 */ bltz $v0, .LE0070AC8 -/* 374A30 E0070980 00000000 */ nop -/* 374A34 E0070984 C6000014 */ lwc1 $f0, 0x14($s0) -/* 374A38 E0070988 46140002 */ mul.s $f0, $f0, $f20 -/* 374A3C E007098C 00000000 */ nop -/* 374A40 E0070990 4405C000 */ mfc1 $a1, $f24 -/* 374A44 E0070994 4406C000 */ mfc1 $a2, $f24 -/* 374A48 E0070998 E7A00010 */ swc1 $f0, 0x10($sp) -/* 374A4C E007099C C600FFB8 */ lwc1 $f0, -0x48($s0) -/* 374A50 E00709A0 E7A00014 */ swc1 $f0, 0x14($sp) -/* 374A54 E00709A4 C600FFBC */ lwc1 $f0, -0x44($s0) -/* 374A58 E00709A8 E7A00018 */ swc1 $f0, 0x18($sp) -/* 374A5C E00709AC C600FFC0 */ lwc1 $f0, -0x40($s0) -/* 374A60 E00709B0 E7A0001C */ swc1 $f0, 0x1c($sp) -/* 374A64 E00709B4 8E07FFE8 */ lw $a3, -0x18($s0) -/* 374A68 E00709B8 0C080180 */ jal shim_guPositionF -/* 374A6C E00709BC 27A40020 */ addiu $a0, $sp, 0x20 -/* 374A70 E00709C0 27A40020 */ addiu $a0, $sp, 0x20 -/* 374A74 E00709C4 96E50000 */ lhu $a1, ($s7) -/* 374A78 E00709C8 8FC20000 */ lw $v0, ($fp) -/* 374A7C E00709CC 00052980 */ sll $a1, $a1, 6 -/* 374A80 E00709D0 00B62821 */ addu $a1, $a1, $s6 -/* 374A84 E00709D4 0C080118 */ jal shim_guMtxF2L -/* 374A88 E00709D8 00452821 */ addu $a1, $v0, $a1 -/* 374A8C E00709DC 8E240000 */ lw $a0, ($s1) -/* 374A90 E00709E0 0080302D */ daddu $a2, $a0, $zero -/* 374A94 E00709E4 24840008 */ addiu $a0, $a0, 8 -/* 374A98 E00709E8 AE240000 */ sw $a0, ($s1) -/* 374A9C E00709EC 96E50000 */ lhu $a1, ($s7) -/* 374AA0 E00709F0 3C02DA38 */ lui $v0, 0xda38 -/* 374AA4 E00709F4 ACC20000 */ sw $v0, ($a2) -/* 374AA8 E00709F8 8FC30000 */ lw $v1, ($fp) -/* 374AAC E00709FC 30A2FFFF */ andi $v0, $a1, 0xffff -/* 374AB0 E0070A00 00021180 */ sll $v0, $v0, 6 -/* 374AB4 E0070A04 00561021 */ addu $v0, $v0, $s6 -/* 374AB8 E0070A08 00621821 */ addu $v1, $v1, $v0 -/* 374ABC E0070A0C 3C02FA00 */ lui $v0, 0xfa00 -/* 374AC0 E0070A10 24A50001 */ addiu $a1, $a1, 1 -/* 374AC4 E0070A14 ACC30004 */ sw $v1, 4($a2) -/* 374AC8 E0070A18 AC820000 */ sw $v0, ($a0) -/* 374ACC E0070A1C C6000000 */ lwc1 $f0, ($s0) -/* 374AD0 E0070A20 46800020 */ cvt.s.w $f0, $f0 -/* 374AD4 E0070A24 46140002 */ mul.s $f0, $f0, $f20 -/* 374AD8 E0070A28 00000000 */ nop -/* 374ADC E0070A2C 24820008 */ addiu $v0, $a0, 8 -/* 374AE0 E0070A30 24840004 */ addiu $a0, $a0, 4 -/* 374AE4 E0070A34 A6E50000 */ sh $a1, ($s7) -/* 374AE8 E0070A38 4600B03E */ c.le.s $f22, $f0 -/* 374AEC E0070A3C 00000000 */ nop -/* 374AF0 E0070A40 45010005 */ bc1t .LE0070A58 -/* 374AF4 E0070A44 AE220000 */ sw $v0, ($s1) -/* 374AF8 E0070A48 4600010D */ trunc.w.s $f4, $f0 -/* 374AFC E0070A4C 44052000 */ mfc1 $a1, $f4 -/* 374B00 E0070A50 0801C29D */ j .LE0070A74 -/* 374B04 E0070A54 3C06D838 */ lui $a2, 0xd838 -.LE0070A58: -/* 374B08 E0070A58 46160001 */ sub.s $f0, $f0, $f22 -/* 374B0C E0070A5C 3C028000 */ lui $v0, 0x8000 -/* 374B10 E0070A60 4600010D */ trunc.w.s $f4, $f0 -/* 374B14 E0070A64 44052000 */ mfc1 $a1, $f4 -/* 374B18 E0070A68 00000000 */ nop -/* 374B1C E0070A6C 00A22825 */ or $a1, $a1, $v0 -/* 374B20 E0070A70 3C06D838 */ lui $a2, 0xd838 -.LE0070A74: -/* 374B24 E0070A74 34C60002 */ ori $a2, $a2, 2 -/* 374B28 E0070A78 30A200FF */ andi $v0, $a1, 0xff -/* 374B2C E0070A7C 8E230000 */ lw $v1, ($s1) -/* 374B30 E0070A80 02A21025 */ or $v0, $s5, $v0 -/* 374B34 E0070A84 AC820000 */ sw $v0, ($a0) -/* 374B38 E0070A88 3C02DE00 */ lui $v0, 0xde00 -/* 374B3C E0070A8C 0060282D */ daddu $a1, $v1, $zero -/* 374B40 E0070A90 24630008 */ addiu $v1, $v1, 8 -/* 374B44 E0070A94 AE230000 */ sw $v1, ($s1) -/* 374B48 E0070A98 ACA20000 */ sw $v0, ($a1) -/* 374B4C E0070A9C 32620007 */ andi $v0, $s3, 7 -/* 374B50 E0070AA0 00021080 */ sll $v0, $v0, 2 -/* 374B54 E0070AA4 3C04E007 */ lui $a0, %hi(D_E0070CD0) -/* 374B58 E0070AA8 00822021 */ addu $a0, $a0, $v0 -/* 374B5C E0070AAC 8C840CD0 */ lw $a0, %lo(D_E0070CD0)($a0) -/* 374B60 E0070AB0 24620008 */ addiu $v0, $v1, 8 -/* 374B64 E0070AB4 AE220000 */ sw $v0, ($s1) -/* 374B68 E0070AB8 24020040 */ addiu $v0, $zero, 0x40 -/* 374B6C E0070ABC ACA40004 */ sw $a0, 4($a1) -/* 374B70 E0070AC0 AC660000 */ sw $a2, ($v1) -/* 374B74 E0070AC4 AC620004 */ sw $v0, 4($v1) -.LE0070AC8: -/* 374B78 E0070AC8 8FAA00F0 */ lw $t2, 0xf0($sp) -/* 374B7C E0070ACC 26730001 */ addiu $s3, $s3, 1 -/* 374B80 E0070AD0 8D420008 */ lw $v0, 8($t2) -/* 374B84 E0070AD4 0262102A */ slt $v0, $s3, $v0 -/* 374B88 E0070AD8 1440FFA7 */ bnez $v0, .LE0070978 -/* 374B8C E0070ADC 2610006C */ addiu $s0, $s0, 0x6c -.LE0070AE0: -/* 374B90 E0070AE0 27A40020 */ addiu $a0, $sp, 0x20 -/* 374B94 E0070AE4 3C150001 */ lui $s5, 1 -/* 374B98 E0070AE8 36B51630 */ ori $s5, $s5, 0x1630 -/* 374B9C E0070AEC 3C1ED838 */ lui $fp, 0xd838 -/* 374BA0 E0070AF0 37DE0002 */ ori $fp, $fp, 2 -/* 374BA4 E0070AF4 3C10800A */ lui $s0, %hi(gMasterGfxPos) -/* 374BA8 E0070AF8 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos) -/* 374BAC E0070AFC 3C02DF00 */ lui $v0, 0xdf00 -/* 374BB0 E0070B00 3C16DE00 */ lui $s6, 0xde00 -/* 374BB4 E0070B04 8E030000 */ lw $v1, ($s0) -/* 374BB8 E0070B08 3C0542F0 */ lui $a1, 0x42f0 -/* 374BBC E0070B0C 3C013ECC */ lui $at, 0x3ecc -/* 374BC0 E0070B10 3421CCCD */ ori $at, $at, 0xcccd -/* 374BC4 E0070B14 4481A000 */ mtc1 $at, $f20 -/* 374BC8 E0070B18 4480B000 */ mtc1 $zero, $f22 -/* 374BCC E0070B1C 3C013F4C */ lui $at, 0x3f4c -/* 374BD0 E0070B20 3421CCCD */ ori $at, $at, 0xcccd -/* 374BD4 E0070B24 4481C000 */ mtc1 $at, $f24 -/* 374BD8 E0070B28 0060402D */ daddu $t0, $v1, $zero -/* 374BDC E0070B2C 4406A000 */ mfc1 $a2, $f20 -/* 374BE0 E0070B30 4407B000 */ mfc1 $a3, $f22 -/* 374BE4 E0070B34 24630008 */ addiu $v1, $v1, 8 -/* 374BE8 E0070B38 AE030000 */ sw $v1, ($s0) -/* 374BEC E0070B3C AD020000 */ sw $v0, ($t0) -/* 374BF0 E0070B40 3C02DE01 */ lui $v0, 0xde01 -/* 374BF4 E0070B44 AD000004 */ sw $zero, 4($t0) -/* 374BF8 E0070B48 AE820000 */ sw $v0, ($s4) -/* 374BFC E0070B4C 24620008 */ addiu $v0, $v1, 8 -/* 374C00 E0070B50 AE830004 */ sw $v1, 4($s4) -/* 374C04 E0070B54 26940008 */ addiu $s4, $s4, 8 -/* 374C08 E0070B58 AE020000 */ sw $v0, ($s0) -/* 374C0C E0070B5C AC760000 */ sw $s6, ($v1) -/* 374C10 E0070B60 AC740004 */ sw $s4, 4($v1) -/* 374C14 E0070B64 0C080104 */ jal shim_guRotateF -/* 374C18 E0070B68 E7B80010 */ swc1 $f24, 0x10($sp) -/* 374C1C E0070B6C 27A40020 */ addiu $a0, $sp, 0x20 -/* 374C20 E0070B70 3C118007 */ lui $s1, %hi(gMatrixListPos) -/* 374C24 E0070B74 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos) -/* 374C28 E0070B78 3C13800A */ lui $s3, %hi(gDisplayContext) -/* 374C2C E0070B7C 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext) -/* 374C30 E0070B80 96250000 */ lhu $a1, ($s1) -/* 374C34 E0070B84 8E620000 */ lw $v0, ($s3) -/* 374C38 E0070B88 00052980 */ sll $a1, $a1, 6 -/* 374C3C E0070B8C 00B52821 */ addu $a1, $a1, $s5 -/* 374C40 E0070B90 0C080118 */ jal shim_guMtxF2L -/* 374C44 E0070B94 00452821 */ addu $a1, $v0, $a1 -/* 374C48 E0070B98 27A40020 */ addiu $a0, $sp, 0x20 -/* 374C4C E0070B9C 3C17DA38 */ lui $s7, 0xda38 -/* 374C50 E0070BA0 8E080000 */ lw $t0, ($s0) -/* 374C54 E0070BA4 3C05C2F0 */ lui $a1, 0xc2f0 -/* 374C58 E0070BA8 4406A000 */ mfc1 $a2, $f20 -/* 374C5C E0070BAC 4407B000 */ mfc1 $a3, $f22 -/* 374C60 E0070BB0 0100482D */ daddu $t1, $t0, $zero -/* 374C64 E0070BB4 25080008 */ addiu $t0, $t0, 8 -/* 374C68 E0070BB8 AE080000 */ sw $t0, ($s0) -/* 374C6C E0070BBC 96220000 */ lhu $v0, ($s1) -/* 374C70 E0070BC0 24120040 */ addiu $s2, $zero, 0x40 -/* 374C74 E0070BC4 AD370000 */ sw $s7, ($t1) -/* 374C78 E0070BC8 24430001 */ addiu $v1, $v0, 1 -/* 374C7C E0070BCC 3042FFFF */ andi $v0, $v0, 0xffff -/* 374C80 E0070BD0 00021180 */ sll $v0, $v0, 6 -/* 374C84 E0070BD4 A6230000 */ sh $v1, ($s1) -/* 374C88 E0070BD8 8E630000 */ lw $v1, ($s3) -/* 374C8C E0070BDC 00551021 */ addu $v0, $v0, $s5 -/* 374C90 E0070BE0 00621821 */ addu $v1, $v1, $v0 -/* 374C94 E0070BE4 25020008 */ addiu $v0, $t0, 8 -/* 374C98 E0070BE8 AD230004 */ sw $v1, 4($t1) -/* 374C9C E0070BEC AE020000 */ sw $v0, ($s0) -/* 374CA0 E0070BF0 25020010 */ addiu $v0, $t0, 0x10 -/* 374CA4 E0070BF4 AD160000 */ sw $s6, ($t0) -/* 374CA8 E0070BF8 AD140004 */ sw $s4, 4($t0) -/* 374CAC E0070BFC AE020000 */ sw $v0, ($s0) -/* 374CB0 E0070C00 AD1E0008 */ sw $fp, 8($t0) -/* 374CB4 E0070C04 AD12000C */ sw $s2, 0xc($t0) -/* 374CB8 E0070C08 0C080104 */ jal shim_guRotateF -/* 374CBC E0070C0C E7B80010 */ swc1 $f24, 0x10($sp) -/* 374CC0 E0070C10 27A40020 */ addiu $a0, $sp, 0x20 -/* 374CC4 E0070C14 96250000 */ lhu $a1, ($s1) -/* 374CC8 E0070C18 8E620000 */ lw $v0, ($s3) -/* 374CCC E0070C1C 00052980 */ sll $a1, $a1, 6 -/* 374CD0 E0070C20 00B52821 */ addu $a1, $a1, $s5 -/* 374CD4 E0070C24 0C080118 */ jal shim_guMtxF2L -/* 374CD8 E0070C28 00452821 */ addu $a1, $v0, $a1 -/* 374CDC E0070C2C 8E040000 */ lw $a0, ($s0) -/* 374CE0 E0070C30 96220000 */ lhu $v0, ($s1) -/* 374CE4 E0070C34 0080282D */ daddu $a1, $a0, $zero -/* 374CE8 E0070C38 24840008 */ addiu $a0, $a0, 8 -/* 374CEC E0070C3C 24430001 */ addiu $v1, $v0, 1 -/* 374CF0 E0070C40 3042FFFF */ andi $v0, $v0, 0xffff -/* 374CF4 E0070C44 00021180 */ sll $v0, $v0, 6 -/* 374CF8 E0070C48 AE040000 */ sw $a0, ($s0) -/* 374CFC E0070C4C ACB70000 */ sw $s7, ($a1) -/* 374D00 E0070C50 A6230000 */ sh $v1, ($s1) -/* 374D04 E0070C54 8E630000 */ lw $v1, ($s3) -/* 374D08 E0070C58 00551021 */ addu $v0, $v0, $s5 -/* 374D0C E0070C5C 00621821 */ addu $v1, $v1, $v0 -/* 374D10 E0070C60 24820008 */ addiu $v0, $a0, 8 -/* 374D14 E0070C64 ACA30004 */ sw $v1, 4($a1) -/* 374D18 E0070C68 AE020000 */ sw $v0, ($s0) -/* 374D1C E0070C6C 24820010 */ addiu $v0, $a0, 0x10 -/* 374D20 E0070C70 AC960000 */ sw $s6, ($a0) -/* 374D24 E0070C74 AC940004 */ sw $s4, 4($a0) -/* 374D28 E0070C78 AE020000 */ sw $v0, ($s0) -/* 374D2C E0070C7C 24820018 */ addiu $v0, $a0, 0x18 -/* 374D30 E0070C80 AC9E0008 */ sw $fp, 8($a0) -/* 374D34 E0070C84 AC92000C */ sw $s2, 0xc($a0) -/* 374D38 E0070C88 AE020000 */ sw $v0, ($s0) -/* 374D3C E0070C8C AC9E0010 */ sw $fp, 0x10($a0) -/* 374D40 E0070C90 AC920014 */ sw $s2, 0x14($a0) -/* 374D44 E0070C94 8FBF00D4 */ lw $ra, 0xd4($sp) -/* 374D48 E0070C98 8FBE00D0 */ lw $fp, 0xd0($sp) -/* 374D4C E0070C9C 8FB700CC */ lw $s7, 0xcc($sp) -/* 374D50 E0070CA0 8FB600C8 */ lw $s6, 0xc8($sp) -/* 374D54 E0070CA4 8FB500C4 */ lw $s5, 0xc4($sp) -/* 374D58 E0070CA8 8FB400C0 */ lw $s4, 0xc0($sp) -/* 374D5C E0070CAC 8FB300BC */ lw $s3, 0xbc($sp) -/* 374D60 E0070CB0 8FB200B8 */ lw $s2, 0xb8($sp) -/* 374D64 E0070CB4 8FB100B4 */ lw $s1, 0xb4($sp) -/* 374D68 E0070CB8 8FB000B0 */ lw $s0, 0xb0($sp) -/* 374D6C E0070CBC D7B800E8 */ ldc1 $f24, 0xe8($sp) -/* 374D70 E0070CC0 D7B600E0 */ ldc1 $f22, 0xe0($sp) -/* 374D74 E0070CC4 D7B400D8 */ ldc1 $f20, 0xd8($sp) -/* 374D78 E0070CC8 03E00008 */ jr $ra -/* 374D7C E0070CCC 27BD00F0 */ addiu $sp, $sp, 0xf0 diff --git a/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_main.s b/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_main.s deleted file mode 100644 index 003316b83e..0000000000 --- a/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_main.s +++ /dev/null @@ -1,137 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel shimmer_burst_main -/* 3740B0 E0070000 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 3740B4 E0070004 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 3740B8 E0070008 4485A000 */ mtc1 $a1, $f20 -/* 3740BC E007000C F7B60048 */ sdc1 $f22, 0x48($sp) -/* 3740C0 E0070010 4486B000 */ mtc1 $a2, $f22 -/* 3740C4 E0070014 AFB30034 */ sw $s3, 0x34($sp) -/* 3740C8 E0070018 0080982D */ daddu $s3, $a0, $zero -/* 3740CC E007001C F7B80050 */ sdc1 $f24, 0x50($sp) -/* 3740D0 E0070020 4487C000 */ mtc1 $a3, $f24 -/* 3740D4 E0070024 27A40010 */ addiu $a0, $sp, 0x10 -/* 3740D8 E0070028 AFB20030 */ sw $s2, 0x30($sp) -/* 3740DC E007002C 8FB2006C */ lw $s2, 0x6c($sp) -/* 3740E0 E0070030 3C02E007 */ lui $v0, %hi(shimmer_burst_init) -/* 3740E4 E0070034 244201EC */ addiu $v0, $v0, %lo(shimmer_burst_init) -/* 3740E8 E0070038 AFA20018 */ sw $v0, 0x18($sp) -/* 3740EC E007003C 3C02E007 */ lui $v0, %hi(shimmer_burst_update) -/* 3740F0 E0070040 244201F4 */ addiu $v0, $v0, %lo(shimmer_burst_update) -/* 3740F4 E0070044 AFA2001C */ sw $v0, 0x1c($sp) -/* 3740F8 E0070048 3C02E007 */ lui $v0, %hi(shimmer_burst_render) -/* 3740FC E007004C 244206F0 */ addiu $v0, $v0, %lo(shimmer_burst_render) -/* 374100 E0070050 AFA20020 */ sw $v0, 0x20($sp) -/* 374104 E0070054 24020038 */ addiu $v0, $zero, 0x38 -/* 374108 E0070058 AFBF0038 */ sw $ra, 0x38($sp) -/* 37410C E007005C AFB1002C */ sw $s1, 0x2c($sp) -/* 374110 E0070060 AFB00028 */ sw $s0, 0x28($sp) -/* 374114 E0070064 AFA00010 */ sw $zero, 0x10($sp) -/* 374118 E0070068 AFA00024 */ sw $zero, 0x24($sp) -/* 37411C E007006C 0C080124 */ jal shim_create_effect_instance -/* 374120 E0070070 AFA20014 */ sw $v0, 0x14($sp) -/* 374124 E0070074 240419BC */ addiu $a0, $zero, 0x19bc -/* 374128 E0070078 2411003D */ addiu $s1, $zero, 0x3d -/* 37412C E007007C 0040802D */ daddu $s0, $v0, $zero -/* 374130 E0070080 0C08012C */ jal shim_general_heap_malloc -/* 374134 E0070084 AE110008 */ sw $s1, 8($s0) -/* 374138 E0070088 0040182D */ daddu $v1, $v0, $zero -/* 37413C E007008C 14600003 */ bnez $v1, .LE007009C -/* 374140 E0070090 AE03000C */ sw $v1, 0xc($s0) -.LE0070094: -/* 374144 E0070094 0801C025 */ j .LE0070094 -/* 374148 E0070098 00000000 */ nop -.LE007009C: -/* 37414C E007009C AC730000 */ sw $s3, ($v1) -/* 374150 E00700A0 1E400004 */ bgtz $s2, .LE00700B4 -/* 374154 E00700A4 AC60003C */ sw $zero, 0x3c($v1) -/* 374158 E00700A8 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 37415C E00700AC 0801C02E */ j .LE00700B8 -/* 374160 E00700B0 AC620038 */ sw $v0, 0x38($v1) -.LE00700B4: -/* 374164 E00700B4 AC720038 */ sw $s2, 0x38($v1) -.LE00700B8: -/* 374168 E00700B8 240400FF */ addiu $a0, $zero, 0xff -/* 37416C E00700BC AC64004C */ sw $a0, 0x4c($v1) -/* 374170 E00700C0 E4740004 */ swc1 $f20, 4($v1) -/* 374174 E00700C4 E4760008 */ swc1 $f22, 8($v1) -/* 374178 E00700C8 E478000C */ swc1 $f24, 0xc($v1) -/* 37417C E00700CC C7A00068 */ lwc1 $f0, 0x68($sp) -/* 374180 E00700D0 2402001E */ addiu $v0, $zero, 0x1e -/* 374184 E00700D4 AC640040 */ sw $a0, 0x40($v1) -/* 374188 E00700D8 AC640044 */ sw $a0, 0x44($v1) -/* 37418C E00700DC AC640048 */ sw $a0, 0x48($v1) -/* 374190 E00700E0 E4600060 */ swc1 $f0, 0x60($v1) -/* 374194 E00700E4 44820000 */ mtc1 $v0, $f0 -/* 374198 E00700E8 00000000 */ nop -/* 37419C E00700EC 46800020 */ cvt.s.w $f0, $f0 -/* 3741A0 E00700F0 E4600010 */ swc1 $f0, 0x10($v1) -/* 3741A4 E00700F4 16600007 */ bnez $s3, .LE0070114 -/* 3741A8 E00700F8 E4600014 */ swc1 $f0, 0x14($v1) -/* 3741AC E00700FC 240200D7 */ addiu $v0, $zero, 0xd7 -/* 3741B0 E0070100 AC620050 */ sw $v0, 0x50($v1) -/* 3741B4 E0070104 240200EB */ addiu $v0, $zero, 0xeb -/* 3741B8 E0070108 AC640054 */ sw $a0, 0x54($v1) -/* 3741BC E007010C 0801C049 */ j .LE0070124 -/* 3741C0 E0070110 AC620058 */ sw $v0, 0x58($v1) -.LE0070114: -/* 3741C4 E0070114 2402007F */ addiu $v0, $zero, 0x7f -/* 3741C8 E0070118 AC640050 */ sw $a0, 0x50($v1) -/* 3741CC E007011C AC620054 */ sw $v0, 0x54($v1) -/* 3741D0 E0070120 AC640058 */ sw $a0, 0x58($v1) -.LE0070124: -/* 3741D4 E0070124 AC64005C */ sw $a0, 0x5c($v1) -/* 3741D8 E0070128 2A420014 */ slti $v0, $s2, 0x14 -/* 3741DC E007012C 10400009 */ beqz $v0, .LE0070154 -/* 3741E0 E0070130 2463006C */ addiu $v1, $v1, 0x6c -/* 3741E4 E0070134 2622FFFF */ addiu $v0, $s1, -1 -/* 3741E8 E0070138 3C0141A0 */ lui $at, 0x41a0 -/* 3741EC E007013C 44811000 */ mtc1 $at, $f2 -/* 3741F0 E0070140 44820000 */ mtc1 $v0, $f0 -/* 3741F4 E0070144 00000000 */ nop -/* 3741F8 E0070148 46800020 */ cvt.s.w $f0, $f0 -/* 3741FC E007014C 0801C05D */ j .LE0070174 -/* 374200 E0070150 46001083 */ div.s $f2, $f2, $f0 -.LE0070154: -/* 374204 E0070154 44920000 */ mtc1 $s2, $f0 -/* 374208 E0070158 00000000 */ nop -/* 37420C E007015C 46800020 */ cvt.s.w $f0, $f0 -/* 374210 E0070160 2622FFFF */ addiu $v0, $s1, -1 -/* 374214 E0070164 44821000 */ mtc1 $v0, $f2 -/* 374218 E0070168 00000000 */ nop -/* 37421C E007016C 468010A0 */ cvt.s.w $f2, $f2 -/* 374220 E0070170 46020083 */ div.s $f2, $f0, $f2 -.LE0070174: -/* 374224 E0070174 24040001 */ addiu $a0, $zero, 1 -/* 374228 E0070178 0091102A */ slt $v0, $a0, $s1 -/* 37422C E007017C 10400011 */ beqz $v0, .LE00701C4 -/* 374230 E0070180 0200102D */ daddu $v0, $s0, $zero -.LE0070184: -/* 374234 E0070184 44840000 */ mtc1 $a0, $f0 -/* 374238 E0070188 00000000 */ nop -/* 37423C E007018C 46800020 */ cvt.s.w $f0, $f0 -/* 374240 E0070190 46000007 */ neg.s $f0, $f0 -/* 374244 E0070194 46020002 */ mul.s $f0, $f0, $f2 -/* 374248 E0070198 00000000 */ nop -/* 37424C E007019C 24840001 */ addiu $a0, $a0, 1 -/* 374250 E00701A0 4600010D */ trunc.w.s $f4, $f0 -/* 374254 E00701A4 44022000 */ mfc1 $v0, $f4 -/* 374258 E00701A8 00000000 */ nop -/* 37425C E00701AC 2442FFFF */ addiu $v0, $v0, -1 -/* 374260 E00701B0 AC620030 */ sw $v0, 0x30($v1) -/* 374264 E00701B4 0091102A */ slt $v0, $a0, $s1 -/* 374268 E00701B8 1440FFF2 */ bnez $v0, .LE0070184 -/* 37426C E00701BC 2463006C */ addiu $v1, $v1, 0x6c -/* 374270 E00701C0 0200102D */ daddu $v0, $s0, $zero -.LE00701C4: -/* 374274 E00701C4 8FBF0038 */ lw $ra, 0x38($sp) -/* 374278 E00701C8 8FB30034 */ lw $s3, 0x34($sp) -/* 37427C E00701CC 8FB20030 */ lw $s2, 0x30($sp) -/* 374280 E00701D0 8FB1002C */ lw $s1, 0x2c($sp) -/* 374284 E00701D4 8FB00028 */ lw $s0, 0x28($sp) -/* 374288 E00701D8 D7B80050 */ ldc1 $f24, 0x50($sp) -/* 37428C E00701DC D7B60048 */ ldc1 $f22, 0x48($sp) -/* 374290 E00701E0 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 374294 E00701E4 03E00008 */ jr $ra -/* 374298 E00701E8 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_update.s b/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_update.s deleted file mode 100644 index 44f3d1ed6e..0000000000 --- a/ver/us/asm/nonmatchings/effects/shimmer_burst/shimmer_burst_update.s +++ /dev/null @@ -1,359 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E0070D60 -.double 0.02 - -dlabel D_E0070D68 -.double 0.04 - -dlabel D_E0070D70 -.double 0.4 - -dlabel D_E0070D78 -.double 0.1 - -dlabel D_E0070D80 -.double 0.3 - -dlabel D_E0070D88 -.double 0.2 - -dlabel D_E0070D90 -.double 0.6, 0.0 - -.section .text - -glabel shimmer_burst_update -/* 3742A4 E00701F4 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 3742A8 E00701F8 AFB20028 */ sw $s2, 0x28($sp) -/* 3742AC E00701FC 0080902D */ daddu $s2, $a0, $zero -/* 3742B0 E0070200 AFBF0034 */ sw $ra, 0x34($sp) -/* 3742B4 E0070204 AFB40030 */ sw $s4, 0x30($sp) -/* 3742B8 E0070208 AFB3002C */ sw $s3, 0x2c($sp) -/* 3742BC E007020C AFB10024 */ sw $s1, 0x24($sp) -/* 3742C0 E0070210 AFB00020 */ sw $s0, 0x20($sp) -/* 3742C4 E0070214 F7BE0060 */ sdc1 $f30, 0x60($sp) -/* 3742C8 E0070218 F7BC0058 */ sdc1 $f28, 0x58($sp) -/* 3742CC E007021C F7BA0050 */ sdc1 $f26, 0x50($sp) -/* 3742D0 E0070220 F7B80048 */ sdc1 $f24, 0x48($sp) -/* 3742D4 E0070224 F7B60040 */ sdc1 $f22, 0x40($sp) -/* 3742D8 E0070228 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 3742DC E007022C 8E440000 */ lw $a0, ($s2) -/* 3742E0 E0070230 8E43000C */ lw $v1, 0xc($s2) -/* 3742E4 E0070234 30820010 */ andi $v0, $a0, 0x10 -/* 3742E8 E0070238 8C740000 */ lw $s4, ($v1) -/* 3742EC E007023C 10400005 */ beqz $v0, .LE0070254 -/* 3742F0 E0070240 2402FFEF */ addiu $v0, $zero, -0x11 -/* 3742F4 E0070244 00821024 */ and $v0, $a0, $v0 -/* 3742F8 E0070248 AE420000 */ sw $v0, ($s2) -/* 3742FC E007024C 24020010 */ addiu $v0, $zero, 0x10 -/* 374300 E0070250 AC620038 */ sw $v0, 0x38($v1) -.LE0070254: -/* 374304 E0070254 8C640038 */ lw $a0, 0x38($v1) -/* 374308 E0070258 288203E8 */ slti $v0, $a0, 0x3e8 -/* 37430C E007025C 10400002 */ beqz $v0, .LE0070268 -/* 374310 E0070260 2482FFFF */ addiu $v0, $a0, -1 -/* 374314 E0070264 AC620038 */ sw $v0, 0x38($v1) -.LE0070268: -/* 374318 E0070268 8C62003C */ lw $v0, 0x3c($v1) -/* 37431C E007026C 8C640038 */ lw $a0, 0x38($v1) -/* 374320 E0070270 24420001 */ addiu $v0, $v0, 1 -/* 374324 E0070274 04810005 */ bgez $a0, .LE007028C -/* 374328 E0070278 AC62003C */ sw $v0, 0x3c($v1) -/* 37432C E007027C 0C080128 */ jal shim_remove_effect -/* 374330 E0070280 0240202D */ daddu $a0, $s2, $zero -/* 374334 E0070284 0801C1AE */ j .LE00706B8 -/* 374338 E0070288 00000000 */ nop -.LE007028C: -/* 37433C E007028C 28820008 */ slti $v0, $a0, 8 -/* 374340 E0070290 10400002 */ beqz $v0, .LE007029C -/* 374344 E0070294 00041140 */ sll $v0, $a0, 5 -/* 374348 E0070298 AC62004C */ sw $v0, 0x4c($v1) -.LE007029C: -/* 37434C E007029C C47A0010 */ lwc1 $f26, 0x10($v1) -/* 374350 E00702A0 C4780014 */ lwc1 $f24, 0x14($v1) -/* 374354 E00702A4 E7B80010 */ swc1 $f24, 0x10($sp) -/* 374358 E00702A8 8E420008 */ lw $v0, 8($s2) -/* 37435C E00702AC 24110001 */ addiu $s1, $zero, 1 -/* 374360 E00702B0 0222102A */ slt $v0, $s1, $v0 -/* 374364 E00702B4 10400100 */ beqz $v0, .LE00706B8 -/* 374368 E00702B8 2463006C */ addiu $v1, $v1, 0x6c -/* 37436C E00702BC 4600D60D */ trunc.w.s $f24, $f26 -/* 374370 E00702C0 4413C000 */ mfc1 $s3, $f24 -/* 374374 E00702C4 24700020 */ addiu $s0, $v1, 0x20 -/* 374378 E00702C8 3C01E007 */ lui $at, %hi(D_E0070D60) -/* 37437C E00702CC D43E0D60 */ ldc1 $f30, %lo(D_E0070D60)($at) -/* 374380 E00702D0 3C01E007 */ lui $at, %hi(D_E0070D68) -/* 374384 E00702D4 D43C0D68 */ ldc1 $f28, %lo(D_E0070D68)($at) -.LE00702D8: -/* 374388 E00702D8 8E020010 */ lw $v0, 0x10($s0) -/* 37438C E00702DC 24420001 */ addiu $v0, $v0, 1 -/* 374390 E00702E0 AE020010 */ sw $v0, 0x10($s0) -/* 374394 E00702E4 28420014 */ slti $v0, $v0, 0x14 -/* 374398 E00702E8 50400001 */ beql $v0, $zero, .LE00702F0 -/* 37439C E00702EC AE000010 */ sw $zero, 0x10($s0) -.LE00702F0: -/* 3743A0 E00702F0 8E020010 */ lw $v0, 0x10($s0) -/* 3743A4 E00702F4 044200EC */ bltzl $v0, .LE00706A8 -/* 3743A8 E00702F8 26310001 */ addiu $s1, $s1, 1 -/* 3743AC E00702FC 144000A6 */ bnez $v0, .LE0070598 -/* 3743B0 E0070300 00000000 */ nop -/* 3743B4 E0070304 0C080138 */ jal shim_rand_int -/* 3743B8 E0070308 24040167 */ addiu $a0, $zero, 0x167 -/* 3743BC E007030C 24040167 */ addiu $a0, $zero, 0x167 -/* 3743C0 E0070310 4482C000 */ mtc1 $v0, $f24 -/* 3743C4 E0070314 00000000 */ nop -/* 3743C8 E0070318 4680C620 */ cvt.s.w $f24, $f24 -/* 3743CC E007031C 0C080138 */ jal shim_rand_int -/* 3743D0 E0070320 E7B80018 */ swc1 $f24, 0x18($sp) -/* 3743D4 E0070324 4482B000 */ mtc1 $v0, $f22 -/* 3743D8 E0070328 00000000 */ nop -/* 3743DC E007032C 1680003F */ bnez $s4, .LE007042C -/* 3743E0 E0070330 4680B5A0 */ cvt.s.w $f22, $f22 -/* 3743E4 E0070334 0C080140 */ jal shim_sin_deg -/* 3743E8 E0070338 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 3743EC E007033C 4600B306 */ mov.s $f12, $f22 -/* 3743F0 E0070340 0C080144 */ jal shim_cos_deg -/* 3743F4 E0070344 46000506 */ mov.s $f20, $f0 -/* 3743F8 E0070348 4614D502 */ mul.s $f20, $f26, $f20 -/* 3743FC E007034C 00000000 */ nop -/* 374400 E0070350 4600A502 */ mul.s $f20, $f20, $f0 -/* 374404 E0070354 00000000 */ nop -/* 374408 E0070358 C7AC0018 */ lwc1 $f12, 0x18($sp) -/* 37440C E007035C 0C080144 */ jal shim_cos_deg -/* 374410 E0070360 E614FFE4 */ swc1 $f20, -0x1c($s0) -/* 374414 E0070364 4600B306 */ mov.s $f12, $f22 -/* 374418 E0070368 0C080144 */ jal shim_cos_deg -/* 37441C E007036C 46000506 */ mov.s $f20, $f0 -/* 374420 E0070370 C7B80010 */ lwc1 $f24, 0x10($sp) -/* 374424 E0070374 4614C502 */ mul.s $f20, $f24, $f20 -/* 374428 E0070378 00000000 */ nop -/* 37442C E007037C 4600A502 */ mul.s $f20, $f20, $f0 -/* 374430 E0070380 00000000 */ nop -/* 374434 E0070384 4600B306 */ mov.s $f12, $f22 -/* 374438 E0070388 0C080140 */ jal shim_sin_deg -/* 37443C E007038C E614FFE8 */ swc1 $f20, -0x18($s0) -/* 374440 E0070390 C602FFE4 */ lwc1 $f2, -0x1c($s0) -/* 374444 E0070394 3C01E007 */ lui $at, %hi(D_E0070D70) -/* 374448 E0070398 D4380D70 */ ldc1 $f24, %lo(D_E0070D70)($at) -/* 37444C E007039C 460010A1 */ cvt.d.s $f2, $f2 -/* 374450 E00703A0 46381082 */ mul.d $f2, $f2, $f24 -/* 374454 E00703A4 00000000 */ nop -/* 374458 E00703A8 C604FFE8 */ lwc1 $f4, -0x18($s0) -/* 37445C E00703AC 46002121 */ cvt.d.s $f4, $f4 -/* 374460 E00703B0 46382102 */ mul.d $f4, $f4, $f24 -/* 374464 E00703B4 00000000 */ nop -/* 374468 E00703B8 4600D002 */ mul.s $f0, $f26, $f0 -/* 37446C E00703BC 00000000 */ nop -/* 374470 E00703C0 E600FFEC */ swc1 $f0, -0x14($s0) -/* 374474 E00703C4 46000021 */ cvt.d.s $f0, $f0 -/* 374478 E00703C8 46380002 */ mul.d $f0, $f0, $f24 -/* 37447C E00703CC 00000000 */ nop -/* 374480 E00703D0 3C01E007 */ lui $at, %hi(D_E0070D78) -/* 374484 E00703D4 D4380D78 */ ldc1 $f24, %lo(D_E0070D78)($at) -/* 374488 E00703D8 462010A0 */ cvt.s.d $f2, $f2 -/* 37448C E00703DC E602FFF8 */ swc1 $f2, -8($s0) -/* 374490 E00703E0 46001186 */ mov.s $f6, $f2 -/* 374494 E00703E4 460031A1 */ cvt.d.s $f6, $f6 -/* 374498 E00703E8 46383182 */ mul.d $f6, $f6, $f24 -/* 37449C E00703EC 00000000 */ nop -/* 3744A0 E00703F0 46202120 */ cvt.s.d $f4, $f4 -/* 3744A4 E00703F4 E604FFFC */ swc1 $f4, -4($s0) -/* 3744A8 E00703F8 46002086 */ mov.s $f2, $f4 -/* 3744AC E00703FC 460010A1 */ cvt.d.s $f2, $f2 -/* 3744B0 E0070400 46381082 */ mul.d $f2, $f2, $f24 -/* 3744B4 E0070404 00000000 */ nop -/* 3744B8 E0070408 46200020 */ cvt.s.d $f0, $f0 -/* 3744BC E007040C E6000000 */ swc1 $f0, ($s0) -/* 3744C0 E0070410 46000021 */ cvt.d.s $f0, $f0 -/* 3744C4 E0070414 46380002 */ mul.d $f0, $f0, $f24 -/* 3744C8 E0070418 00000000 */ nop -/* 3744CC E007041C 462031A0 */ cvt.s.d $f6, $f6 -/* 3744D0 E0070420 462010A0 */ cvt.s.d $f2, $f2 -/* 3744D4 E0070424 0801C154 */ j .LE0070550 -/* 3744D8 E0070428 E6060004 */ swc1 $f6, 4($s0) -.LE007042C: -/* 3744DC E007042C 0C080138 */ jal shim_rand_int -/* 3744E0 E0070430 0260202D */ daddu $a0, $s3, $zero -/* 3744E4 E0070434 3C013FE0 */ lui $at, 0x3fe0 -/* 3744E8 E0070438 4481C800 */ mtc1 $at, $f25 -/* 3744EC E007043C 4480C000 */ mtc1 $zero, $f24 -/* 3744F0 E0070440 4600D521 */ cvt.d.s $f20, $f26 -/* 3744F4 E0070444 4638A502 */ mul.d $f20, $f20, $f24 -/* 3744F8 E0070448 00000000 */ nop -/* 3744FC E007044C 44820000 */ mtc1 $v0, $f0 -/* 374500 E0070450 00000000 */ nop -/* 374504 E0070454 46800021 */ cvt.d.w $f0, $f0 -/* 374508 E0070458 C7B80010 */ lwc1 $f24, 0x10($sp) -/* 37450C E007045C 46340001 */ sub.d $f0, $f0, $f20 -/* 374510 E0070460 4600C60D */ trunc.w.s $f24, $f24 -/* 374514 E0070464 4404C000 */ mfc1 $a0, $f24 -/* 374518 E0070468 46200020 */ cvt.s.d $f0, $f0 -/* 37451C E007046C 0C080138 */ jal shim_rand_int -/* 374520 E0070470 E600FFE4 */ swc1 $f0, -0x1c($s0) -/* 374524 E0070474 C7B80010 */ lwc1 $f24, 0x10($sp) -/* 374528 E0070478 4600C0A1 */ cvt.d.s $f2, $f24 -/* 37452C E007047C 3C013FE0 */ lui $at, 0x3fe0 -/* 374530 E0070480 4481C800 */ mtc1 $at, $f25 -/* 374534 E0070484 4480C000 */ mtc1 $zero, $f24 -/* 374538 E0070488 00000000 */ nop -/* 37453C E007048C 46381082 */ mul.d $f2, $f2, $f24 -/* 374540 E0070490 00000000 */ nop -/* 374544 E0070494 44820000 */ mtc1 $v0, $f0 -/* 374548 E0070498 00000000 */ nop -/* 37454C E007049C 46800021 */ cvt.d.w $f0, $f0 -/* 374550 E00704A0 46220001 */ sub.d $f0, $f0, $f2 -/* 374554 E00704A4 0260202D */ daddu $a0, $s3, $zero -/* 374558 E00704A8 46200020 */ cvt.s.d $f0, $f0 -/* 37455C E00704AC 0C080138 */ jal shim_rand_int -/* 374560 E00704B0 E600FFE8 */ swc1 $f0, -0x18($s0) -/* 374564 E00704B4 C602FFE4 */ lwc1 $f2, -0x1c($s0) -/* 374568 E00704B8 3C01E007 */ lui $at, %hi(D_E0070D80) -/* 37456C E00704BC D4380D80 */ ldc1 $f24, %lo(D_E0070D80)($at) -/* 374570 E00704C0 460010A1 */ cvt.d.s $f2, $f2 -/* 374574 E00704C4 46381082 */ mul.d $f2, $f2, $f24 -/* 374578 E00704C8 00000000 */ nop -/* 37457C E00704CC C606FFE8 */ lwc1 $f6, -0x18($s0) -/* 374580 E00704D0 460031A1 */ cvt.d.s $f6, $f6 -/* 374584 E00704D4 46383182 */ mul.d $f6, $f6, $f24 -/* 374588 E00704D8 00000000 */ nop -/* 37458C E00704DC 44820000 */ mtc1 $v0, $f0 -/* 374590 E00704E0 00000000 */ nop -/* 374594 E00704E4 46800021 */ cvt.d.w $f0, $f0 -/* 374598 E00704E8 46340001 */ sub.d $f0, $f0, $f20 -/* 37459C E00704EC 46200020 */ cvt.s.d $f0, $f0 -/* 3745A0 E00704F0 E600FFEC */ swc1 $f0, -0x14($s0) -/* 3745A4 E00704F4 46000021 */ cvt.d.s $f0, $f0 -/* 3745A8 E00704F8 46380002 */ mul.d $f0, $f0, $f24 -/* 3745AC E00704FC 00000000 */ nop -/* 3745B0 E0070500 462010A0 */ cvt.s.d $f2, $f2 -/* 3745B4 E0070504 E602FFF8 */ swc1 $f2, -8($s0) -/* 3745B8 E0070508 46001106 */ mov.s $f4, $f2 -/* 3745BC E007050C 46002121 */ cvt.d.s $f4, $f4 -/* 3745C0 E0070510 463E2102 */ mul.d $f4, $f4, $f30 -/* 3745C4 E0070514 00000000 */ nop -/* 3745C8 E0070518 462031A0 */ cvt.s.d $f6, $f6 -/* 3745CC E007051C E606FFFC */ swc1 $f6, -4($s0) -/* 3745D0 E0070520 46003086 */ mov.s $f2, $f6 -/* 3745D4 E0070524 460010A1 */ cvt.d.s $f2, $f2 -/* 3745D8 E0070528 463E1082 */ mul.d $f2, $f2, $f30 -/* 3745DC E007052C 00000000 */ nop -/* 3745E0 E0070530 46200020 */ cvt.s.d $f0, $f0 -/* 3745E4 E0070534 E6000000 */ swc1 $f0, ($s0) -/* 3745E8 E0070538 46000021 */ cvt.d.s $f0, $f0 -/* 3745EC E007053C 463E0002 */ mul.d $f0, $f0, $f30 -/* 3745F0 E0070540 00000000 */ nop -/* 3745F4 E0070544 46202120 */ cvt.s.d $f4, $f4 -/* 3745F8 E0070548 462010A0 */ cvt.s.d $f2, $f2 -/* 3745FC E007054C E6040004 */ swc1 $f4, 4($s0) -.LE0070550: -/* 374600 E0070550 E6020008 */ swc1 $f2, 8($s0) -/* 374604 E0070554 46200020 */ cvt.s.d $f0, $f0 -/* 374608 E0070558 E600000C */ swc1 $f0, 0xc($s0) -/* 37460C E007055C 0C080138 */ jal shim_rand_int -/* 374610 E0070560 2404000F */ addiu $a0, $zero, 0xf -/* 374614 E0070564 2404000F */ addiu $a0, $zero, 0xf -/* 374618 E0070568 44820000 */ mtc1 $v0, $f0 -/* 37461C E007056C 00000000 */ nop -/* 374620 E0070570 46800020 */ cvt.s.w $f0, $f0 -/* 374624 E0070574 0C080138 */ jal shim_rand_int -/* 374628 E0070578 E6000044 */ swc1 $f0, 0x44($s0) -/* 37462C E007057C 44820000 */ mtc1 $v0, $f0 -/* 374630 E0070580 00000000 */ nop -/* 374634 E0070584 46800020 */ cvt.s.w $f0, $f0 -/* 374638 E0070588 240200FF */ addiu $v0, $zero, 0xff -/* 37463C E007058C E6000048 */ swc1 $f0, 0x48($s0) -/* 374640 E0070590 AE000014 */ sw $zero, 0x14($s0) -/* 374644 E0070594 AE02002C */ sw $v0, 0x2c($s0) -.LE0070598: -/* 374648 E0070598 C610FFF8 */ lwc1 $f16, -8($s0) -/* 37464C E007059C C60A0004 */ lwc1 $f10, 4($s0) -/* 374650 E00705A0 46105281 */ sub.s $f10, $f10, $f16 -/* 374654 E00705A4 460052A1 */ cvt.d.s $f10, $f10 -/* 374658 E00705A8 463C5282 */ mul.d $f10, $f10, $f28 -/* 37465C E00705AC 00000000 */ nop -/* 374660 E00705B0 C60EFFFC */ lwc1 $f14, -4($s0) -/* 374664 E00705B4 C60C0008 */ lwc1 $f12, 8($s0) -/* 374668 E00705B8 460E6301 */ sub.s $f12, $f12, $f14 -/* 37466C E00705BC 46006321 */ cvt.d.s $f12, $f12 -/* 374670 E00705C0 463C6302 */ mul.d $f12, $f12, $f28 -/* 374674 E00705C4 00000000 */ nop -/* 374678 E00705C8 C6060000 */ lwc1 $f6, ($s0) -/* 37467C E00705CC C608000C */ lwc1 $f8, 0xc($s0) -/* 374680 E00705D0 46064201 */ sub.s $f8, $f8, $f6 -/* 374684 E00705D4 46004221 */ cvt.d.s $f8, $f8 -/* 374688 E00705D8 463C4202 */ mul.d $f8, $f8, $f28 -/* 37468C E00705DC 00000000 */ nop -/* 374690 E00705E0 8E020010 */ lw $v0, 0x10($s0) -/* 374694 E00705E4 C6160014 */ lwc1 $f22, 0x14($s0) -/* 374698 E00705E8 3C014080 */ lui $at, 0x4080 -/* 37469C E00705EC 44810000 */ mtc1 $at, $f0 -/* 3746A0 E00705F0 C604FFE4 */ lwc1 $f4, -0x1c($s0) -/* 3746A4 E00705F4 C614FFE8 */ lwc1 $f20, -0x18($s0) -/* 3746A8 E00705F8 C612FFEC */ lwc1 $f18, -0x14($s0) -/* 3746AC E00705FC 4600B580 */ add.s $f22, $f22, $f0 -/* 3746B0 E0070600 00021080 */ sll $v0, $v0, 2 -/* 3746B4 E0070604 46008006 */ mov.s $f0, $f16 -/* 3746B8 E0070608 46002100 */ add.s $f4, $f4, $f0 -/* 3746BC E007060C 46007006 */ mov.s $f0, $f14 -/* 3746C0 E0070610 46008421 */ cvt.d.s $f16, $f16 -/* 3746C4 E0070614 3C01E007 */ lui $at, %hi(D_E0070CF0) -/* 3746C8 E0070618 00220821 */ addu $at, $at, $v0 -/* 3746CC E007061C C4220CF0 */ lwc1 $f2, %lo(D_E0070CF0)($at) -/* 3746D0 E0070620 4600A500 */ add.s $f20, $f20, $f0 -/* 3746D4 E0070624 E6020040 */ swc1 $f2, 0x40($s0) -/* 3746D8 E0070628 46003086 */ mov.s $f2, $f6 -/* 3746DC E007062C 46029480 */ add.s $f18, $f18, $f2 -/* 3746E0 E0070630 C6020044 */ lwc1 $f2, 0x44($s0) -/* 3746E4 E0070634 3C01E007 */ lui $at, %hi(D_E0070D88) -/* 3746E8 E0070638 D4200D88 */ ldc1 $f0, %lo(D_E0070D88)($at) -/* 3746EC E007063C 460010A1 */ cvt.d.s $f2, $f2 -/* 3746F0 E0070640 46201080 */ add.d $f2, $f2, $f0 -/* 3746F4 E0070644 C6000048 */ lwc1 $f0, 0x48($s0) -/* 3746F8 E0070648 460073A1 */ cvt.d.s $f14, $f14 -/* 3746FC E007064C E604FFE4 */ swc1 $f4, -0x1c($s0) -/* 374700 E0070650 3C01E007 */ lui $at, %hi(D_E0070D90) -/* 374704 E0070654 D4240D90 */ ldc1 $f4, %lo(D_E0070D90)($at) -/* 374708 E0070658 460031A1 */ cvt.d.s $f6, $f6 -/* 37470C E007065C E6160014 */ swc1 $f22, 0x14($s0) -/* 374710 E0070660 46000021 */ cvt.d.s $f0, $f0 -/* 374714 E0070664 46240000 */ add.d $f0, $f0, $f4 -/* 374718 E0070668 E614FFE8 */ swc1 $f20, -0x18($s0) -/* 37471C E007066C E612FFEC */ swc1 $f18, -0x14($s0) -/* 374720 E0070670 462A8400 */ add.d $f16, $f16, $f10 -/* 374724 E0070674 462010A0 */ cvt.s.d $f2, $f2 -/* 374728 E0070678 E6020044 */ swc1 $f2, 0x44($s0) -/* 37472C E007067C 462C7380 */ add.d $f14, $f14, $f12 -/* 374730 E0070680 46200020 */ cvt.s.d $f0, $f0 -/* 374734 E0070684 E6000048 */ swc1 $f0, 0x48($s0) -/* 374738 E0070688 46283180 */ add.d $f6, $f6, $f8 -/* 37473C E007068C 46208420 */ cvt.s.d $f16, $f16 -/* 374740 E0070690 462073A0 */ cvt.s.d $f14, $f14 -/* 374744 E0070694 462031A0 */ cvt.s.d $f6, $f6 -/* 374748 E0070698 E610FFF8 */ swc1 $f16, -8($s0) -/* 37474C E007069C E60EFFFC */ swc1 $f14, -4($s0) -/* 374750 E00706A0 E6060000 */ swc1 $f6, ($s0) -/* 374754 E00706A4 26310001 */ addiu $s1, $s1, 1 -.LE00706A8: -/* 374758 E00706A8 8E420008 */ lw $v0, 8($s2) -/* 37475C E00706AC 0222102A */ slt $v0, $s1, $v0 -/* 374760 E00706B0 1440FF09 */ bnez $v0, .LE00702D8 -/* 374764 E00706B4 2610006C */ addiu $s0, $s0, 0x6c -.LE00706B8: -/* 374768 E00706B8 8FBF0034 */ lw $ra, 0x34($sp) -/* 37476C E00706BC 8FB40030 */ lw $s4, 0x30($sp) -/* 374770 E00706C0 8FB3002C */ lw $s3, 0x2c($sp) -/* 374774 E00706C4 8FB20028 */ lw $s2, 0x28($sp) -/* 374778 E00706C8 8FB10024 */ lw $s1, 0x24($sp) -/* 37477C E00706CC 8FB00020 */ lw $s0, 0x20($sp) -/* 374780 E00706D0 D7BE0060 */ ldc1 $f30, 0x60($sp) -/* 374784 E00706D4 D7BC0058 */ ldc1 $f28, 0x58($sp) -/* 374788 E00706D8 D7BA0050 */ ldc1 $f26, 0x50($sp) -/* 37478C E00706DC D7B80048 */ ldc1 $f24, 0x48($sp) -/* 374790 E00706E0 D7B60040 */ ldc1 $f22, 0x40($sp) -/* 374794 E00706E4 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 374798 E00706E8 03E00008 */ jr $ra -/* 37479C E00706EC 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/ver/us/asm/nonmatchings/effects/underwater/underwater_main.s b/ver/us/asm/nonmatchings/effects/underwater/underwater_main.s deleted file mode 100644 index 9dca7bd7e6..0000000000 --- a/ver/us/asm/nonmatchings/effects/underwater/underwater_main.s +++ /dev/null @@ -1,101 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel underwater_main -/* 3B8BD0 E00BA000 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 3B8BD4 E00BA004 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 3B8BD8 E00BA008 4485A000 */ mtc1 $a1, $f20 -/* 3B8BDC E00BA00C F7B60040 */ sdc1 $f22, 0x40($sp) -/* 3B8BE0 E00BA010 4486B000 */ mtc1 $a2, $f22 -/* 3B8BE4 E00BA014 AFB20030 */ sw $s2, 0x30($sp) -/* 3B8BE8 E00BA018 0080902D */ daddu $s2, $a0, $zero -/* 3B8BEC E00BA01C F7B80048 */ sdc1 $f24, 0x48($sp) -/* 3B8BF0 E00BA020 4487C000 */ mtc1 $a3, $f24 -/* 3B8BF4 E00BA024 27A40010 */ addiu $a0, $sp, 0x10 -/* 3B8BF8 E00BA028 AFB1002C */ sw $s1, 0x2c($sp) -/* 3B8BFC E00BA02C 8FB10064 */ lw $s1, 0x64($sp) -/* 3B8C00 E00BA030 3C02E00C */ lui $v0, %hi(underwater_init) -/* 3B8C04 E00BA034 2442A16C */ addiu $v0, $v0, %lo(underwater_init) -/* 3B8C08 E00BA038 AFA20018 */ sw $v0, 0x18($sp) -/* 3B8C0C E00BA03C 3C02E00C */ lui $v0, %hi(underwater_update) -/* 3B8C10 E00BA040 2442A174 */ addiu $v0, $v0, %lo(underwater_update) -/* 3B8C14 E00BA044 AFA2001C */ sw $v0, 0x1c($sp) -/* 3B8C18 E00BA048 3C02E00C */ lui $v0, %hi(underwater_render) -/* 3B8C1C E00BA04C 2442A5DC */ addiu $v0, $v0, %lo(underwater_render) -/* 3B8C20 E00BA050 AFA20020 */ sw $v0, 0x20($sp) -/* 3B8C24 E00BA054 2402005D */ addiu $v0, $zero, 0x5d -/* 3B8C28 E00BA058 AFBF0034 */ sw $ra, 0x34($sp) -/* 3B8C2C E00BA05C AFB00028 */ sw $s0, 0x28($sp) -/* 3B8C30 E00BA060 AFA00010 */ sw $zero, 0x10($sp) -/* 3B8C34 E00BA064 AFA00024 */ sw $zero, 0x24($sp) -/* 3B8C38 E00BA068 0C080124 */ jal shim_create_effect_instance -/* 3B8C3C E00BA06C AFA20014 */ sw $v0, 0x14($sp) -/* 3B8C40 E00BA070 24040308 */ addiu $a0, $zero, 0x308 -/* 3B8C44 E00BA074 24030001 */ addiu $v1, $zero, 1 -/* 3B8C48 E00BA078 0040802D */ daddu $s0, $v0, $zero -/* 3B8C4C E00BA07C 0C08012C */ jal shim_general_heap_malloc -/* 3B8C50 E00BA080 AE030008 */ sw $v1, 8($s0) -/* 3B8C54 E00BA084 0040302D */ daddu $a2, $v0, $zero -/* 3B8C58 E00BA088 14C00003 */ bnez $a2, .LE00BA098 -/* 3B8C5C E00BA08C AE02000C */ sw $v0, 0xc($s0) -.LE00BA090: -/* 3B8C60 E00BA090 0802E824 */ j .LE00BA090 -/* 3B8C64 E00BA094 00000000 */ nop -.LE00BA098: -/* 3B8C68 E00BA098 ACD20000 */ sw $s2, ($a2) -/* 3B8C6C E00BA09C 1E200004 */ bgtz $s1, .LE00BA0B0 -/* 3B8C70 E00BA0A0 ACC00014 */ sw $zero, 0x14($a2) -/* 3B8C74 E00BA0A4 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 3B8C78 E00BA0A8 0802E82D */ j .LE00BA0B4 -/* 3B8C7C E00BA0AC ACC20010 */ sw $v0, 0x10($a2) -.LE00BA0B0: -/* 3B8C80 E00BA0B0 ACD10010 */ sw $s1, 0x10($a2) -.LE00BA0B4: -/* 3B8C84 E00BA0B4 0000482D */ daddu $t1, $zero, $zero -/* 3B8C88 E00BA0B8 0120402D */ daddu $t0, $t1, $zero -/* 3B8C8C E00BA0BC 0120382D */ daddu $a3, $t1, $zero -/* 3B8C90 E00BA0C0 A0C0001F */ sb $zero, 0x1f($a2) -/* 3B8C94 E00BA0C4 E4D40004 */ swc1 $f20, 4($a2) -/* 3B8C98 E00BA0C8 E4D60008 */ swc1 $f22, 8($a2) -/* 3B8C9C E00BA0CC E4D8000C */ swc1 $f24, 0xc($a2) -/* 3B8CA0 E00BA0D0 C7A00060 */ lwc1 $f0, 0x60($sp) -/* 3B8CA4 E00BA0D4 2402000A */ addiu $v0, $zero, 0xa -/* 3B8CA8 E00BA0D8 A0C2001C */ sb $v0, 0x1c($a2) -/* 3B8CAC E00BA0DC 2402006E */ addiu $v0, $zero, 0x6e -/* 3B8CB0 E00BA0E0 240300FF */ addiu $v1, $zero, 0xff -/* 3B8CB4 E00BA0E4 A0C2001D */ sb $v0, 0x1d($a2) -/* 3B8CB8 E00BA0E8 240200BE */ addiu $v0, $zero, 0xbe -/* 3B8CBC E00BA0EC A0C20020 */ sb $v0, 0x20($a2) -/* 3B8CC0 E00BA0F0 240200DC */ addiu $v0, $zero, 0xdc -/* 3B8CC4 E00BA0F4 A0C3001E */ sb $v1, 0x1e($a2) -/* 3B8CC8 E00BA0F8 A0C20021 */ sb $v0, 0x21($a2) -/* 3B8CCC E00BA0FC A0C30022 */ sb $v1, 0x22($a2) -/* 3B8CD0 E00BA100 E4C00018 */ swc1 $f0, 0x18($a2) -.LE00BA104: -/* 3B8CD4 E00BA104 0000202D */ daddu $a0, $zero, $zero -/* 3B8CD8 E00BA108 0100282D */ daddu $a1, $t0, $zero -.LE00BA10C: -/* 3B8CDC E00BA10C 00C51021 */ addu $v0, $a2, $a1 -/* 3B8CE0 E00BA110 00871821 */ addu $v1, $a0, $a3 -/* 3B8CE4 E00BA114 24840001 */ addiu $a0, $a0, 1 -/* 3B8CE8 E00BA118 00C31821 */ addu $v1, $a2, $v1 -/* 3B8CEC E00BA11C A0600023 */ sb $zero, 0x23($v1) -/* 3B8CF0 E00BA120 A440011A */ sh $zero, 0x11a($v0) -/* 3B8CF4 E00BA124 2882000D */ slti $v0, $a0, 0xd -/* 3B8CF8 E00BA128 1440FFF8 */ bnez $v0, .LE00BA10C -/* 3B8CFC E00BA12C 24A50002 */ addiu $a1, $a1, 2 -/* 3B8D00 E00BA130 2508001A */ addiu $t0, $t0, 0x1a -/* 3B8D04 E00BA134 25290001 */ addiu $t1, $t1, 1 -/* 3B8D08 E00BA138 29220013 */ slti $v0, $t1, 0x13 -/* 3B8D0C E00BA13C 1440FFF1 */ bnez $v0, .LE00BA104 -/* 3B8D10 E00BA140 24E7000D */ addiu $a3, $a3, 0xd -/* 3B8D14 E00BA144 0200102D */ daddu $v0, $s0, $zero -/* 3B8D18 E00BA148 8FBF0034 */ lw $ra, 0x34($sp) -/* 3B8D1C E00BA14C 8FB20030 */ lw $s2, 0x30($sp) -/* 3B8D20 E00BA150 8FB1002C */ lw $s1, 0x2c($sp) -/* 3B8D24 E00BA154 8FB00028 */ lw $s0, 0x28($sp) -/* 3B8D28 E00BA158 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 3B8D2C E00BA15C D7B60040 */ ldc1 $f22, 0x40($sp) -/* 3B8D30 E00BA160 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 3B8D34 E00BA164 03E00008 */ jr $ra -/* 3B8D38 E00BA168 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/effects/underwater/underwater_update.s b/ver/us/asm/nonmatchings/effects/underwater/underwater_update.s deleted file mode 100644 index b9d8f9a9e9..0000000000 --- a/ver/us/asm/nonmatchings/effects/underwater/underwater_update.s +++ /dev/null @@ -1,311 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata -dlabel D_E00BAE80 -.double 0.7 - -dlabel D_E00BAE88 -.double 0.98 - -dlabel D_E00BAE90 -.double 0.02 - -.section .text -glabel underwater_update -/* 3B8D44 E00BA174 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 3B8D48 E00BA178 AFBF0024 */ sw $ra, 0x24($sp) -/* 3B8D4C E00BA17C AFB40020 */ sw $s4, 0x20($sp) -/* 3B8D50 E00BA180 AFB3001C */ sw $s3, 0x1c($sp) -/* 3B8D54 E00BA184 AFB20018 */ sw $s2, 0x18($sp) -/* 3B8D58 E00BA188 AFB10014 */ sw $s1, 0x14($sp) -/* 3B8D5C E00BA18C AFB00010 */ sw $s0, 0x10($sp) -/* 3B8D60 E00BA190 F7B60030 */ sdc1 $f22, 0x30($sp) -/* 3B8D64 E00BA194 F7B40028 */ sdc1 $f20, 0x28($sp) -/* 3B8D68 E00BA198 8C830000 */ lw $v1, ($a0) -/* 3B8D6C E00BA19C 8C90000C */ lw $s0, 0xc($a0) -/* 3B8D70 E00BA1A0 30620010 */ andi $v0, $v1, 0x10 -/* 3B8D74 E00BA1A4 10400005 */ beqz $v0, .LE00BA1BC -/* 3B8D78 E00BA1A8 2402FFEF */ addiu $v0, $zero, -0x11 -/* 3B8D7C E00BA1AC 00621024 */ and $v0, $v1, $v0 -/* 3B8D80 E00BA1B0 AC820000 */ sw $v0, ($a0) -/* 3B8D84 E00BA1B4 24020020 */ addiu $v0, $zero, 0x20 -/* 3B8D88 E00BA1B8 AE020010 */ sw $v0, 0x10($s0) -.LE00BA1BC: -/* 3B8D8C E00BA1BC 8E030010 */ lw $v1, 0x10($s0) -/* 3B8D90 E00BA1C0 286203E8 */ slti $v0, $v1, 0x3e8 -/* 3B8D94 E00BA1C4 10400002 */ beqz $v0, .LE00BA1D0 -/* 3B8D98 E00BA1C8 2462FFFF */ addiu $v0, $v1, -1 -/* 3B8D9C E00BA1CC AE020010 */ sw $v0, 0x10($s0) -.LE00BA1D0: -/* 3B8DA0 E00BA1D0 8E020014 */ lw $v0, 0x14($s0) -/* 3B8DA4 E00BA1D4 8E030010 */ lw $v1, 0x10($s0) -/* 3B8DA8 E00BA1D8 24420001 */ addiu $v0, $v0, 1 -/* 3B8DAC E00BA1DC 04610005 */ bgez $v1, .LE00BA1F4 -/* 3B8DB0 E00BA1E0 AE020014 */ sw $v0, 0x14($s0) -/* 3B8DB4 E00BA1E4 0C080128 */ jal shim_remove_effect -/* 3B8DB8 E00BA1E8 00000000 */ nop -/* 3B8DBC E00BA1EC 0802E96D */ j .LE00BA5B4 -/* 3B8DC0 E00BA1F0 00000000 */ nop -.LE00BA1F4: -/* 3B8DC4 E00BA1F4 0060A02D */ daddu $s4, $v1, $zero -/* 3B8DC8 E00BA1F8 0040982D */ daddu $s3, $v0, $zero -/* 3B8DCC E00BA1FC 2A820020 */ slti $v0, $s4, 0x20 -/* 3B8DD0 E00BA200 10400002 */ beqz $v0, .LE00BA20C -/* 3B8DD4 E00BA204 240400FF */ addiu $a0, $zero, 0xff -/* 3B8DD8 E00BA208 001420C0 */ sll $a0, $s4, 3 -.LE00BA20C: -/* 3B8DDC E00BA20C 2A620010 */ slti $v0, $s3, 0x10 -/* 3B8DE0 E00BA210 10400002 */ beqz $v0, .LE00BA21C -/* 3B8DE4 E00BA214 00131100 */ sll $v0, $s3, 4 -/* 3B8DE8 E00BA218 2444000F */ addiu $a0, $v0, 0xf -.LE00BA21C: -/* 3B8DEC E00BA21C 3C014F00 */ lui $at, 0x4f00 -/* 3B8DF0 E00BA220 44811000 */ mtc1 $at, $f2 -/* 3B8DF4 E00BA224 44840000 */ mtc1 $a0, $f0 -/* 3B8DF8 E00BA228 00000000 */ nop -/* 3B8DFC E00BA22C 46800020 */ cvt.s.w $f0, $f0 -/* 3B8E00 E00BA230 4600103E */ c.le.s $f2, $f0 -/* 3B8E04 E00BA234 00000000 */ nop -/* 3B8E08 E00BA238 45010005 */ bc1t .LE00BA250 -/* 3B8E0C E00BA23C 2605001F */ addiu $a1, $s0, 0x1f -/* 3B8E10 E00BA240 4600038D */ trunc.w.s $f14, $f0 -/* 3B8E14 E00BA244 44037000 */ mfc1 $v1, $f14 -/* 3B8E18 E00BA248 0802E89B */ j .LE00BA26C -/* 3B8E1C E00BA24C 24120001 */ addiu $s2, $zero, 1 -.LE00BA250: -/* 3B8E20 E00BA250 46020001 */ sub.s $f0, $f0, $f2 -/* 3B8E24 E00BA254 3C028000 */ lui $v0, 0x8000 -/* 3B8E28 E00BA258 4600038D */ trunc.w.s $f14, $f0 -/* 3B8E2C E00BA25C 44037000 */ mfc1 $v1, $f14 -/* 3B8E30 E00BA260 00000000 */ nop -/* 3B8E34 E00BA264 00621825 */ or $v1, $v1, $v0 -/* 3B8E38 E00BA268 24120001 */ addiu $s2, $zero, 1 -.LE00BA26C: -/* 3B8E3C E00BA26C 2611000D */ addiu $s1, $s0, 0xd -/* 3B8E40 E00BA270 3C01C280 */ lui $at, 0xc280 -/* 3B8E44 E00BA274 4481B000 */ mtc1 $at, $f22 -/* 3B8E48 E00BA278 3C01437F */ lui $at, 0x437f -/* 3B8E4C E00BA27C 44811000 */ mtc1 $at, $f2 -/* 3B8E50 E00BA280 44840000 */ mtc1 $a0, $f0 -/* 3B8E54 E00BA284 00000000 */ nop -/* 3B8E58 E00BA288 46800020 */ cvt.s.w $f0, $f0 -/* 3B8E5C E00BA28C A0A30000 */ sb $v1, ($a1) -/* 3B8E60 E00BA290 46020503 */ div.s $f20, $f0, $f2 -.LE00BA294: -/* 3B8E64 E00BA294 02721823 */ subu $v1, $s3, $s2 -/* 3B8E68 E00BA298 00031080 */ sll $v0, $v1, 2 -/* 3B8E6C E00BA29C 00431021 */ addu $v0, $v0, $v1 -/* 3B8E70 E00BA2A0 00021080 */ sll $v0, $v0, 2 -/* 3B8E74 E00BA2A4 00021023 */ negu $v0, $v0 -/* 3B8E78 E00BA2A8 44826000 */ mtc1 $v0, $f12 -/* 3B8E7C E00BA2AC 00000000 */ nop -/* 3B8E80 E00BA2B0 46806320 */ cvt.s.w $f12, $f12 -/* 3B8E84 E00BA2B4 0C080140 */ jal shim_sin_deg -/* 3B8E88 E00BA2B8 26520001 */ addiu $s2, $s2, 1 -/* 3B8E8C E00BA2BC 46160002 */ mul.s $f0, $f0, $f22 -/* 3B8E90 E00BA2C0 00000000 */ nop -/* 3B8E94 E00BA2C4 46140002 */ mul.s $f0, $f0, $f20 -/* 3B8E98 E00BA2C8 00000000 */ nop -/* 3B8E9C E00BA2CC 4600038D */ trunc.w.s $f14, $f0 -/* 3B8EA0 E00BA2D0 44027000 */ mfc1 $v0, $f14 -/* 3B8EA4 E00BA2D4 00000000 */ nop -/* 3B8EA8 E00BA2D8 A2220029 */ sb $v0, 0x29($s1) -/* 3B8EAC E00BA2DC 2A420012 */ slti $v0, $s2, 0x12 -/* 3B8EB0 E00BA2E0 1440FFEC */ bnez $v0, .LE00BA294 -/* 3B8EB4 E00BA2E4 2631000D */ addiu $s1, $s1, 0xd -/* 3B8EB8 E00BA2E8 24120001 */ addiu $s2, $zero, 1 -/* 3B8EBC E00BA2EC 240F001A */ addiu $t7, $zero, 0x1a -/* 3B8EC0 E00BA2F0 240EFFFF */ addiu $t6, $zero, -1 -/* 3B8EC4 E00BA2F4 240D0019 */ addiu $t5, $zero, 0x19 -/* 3B8EC8 E00BA2F8 0000602D */ daddu $t4, $zero, $zero -/* 3B8ECC E00BA2FC 01E0582D */ daddu $t3, $t7, $zero -/* 3B8ED0 E00BA300 240A000D */ addiu $t2, $zero, 0xd -.LE00BA304: -/* 3B8ED4 E00BA304 24050001 */ addiu $a1, $zero, 1 -/* 3B8ED8 E00BA308 0140382D */ daddu $a3, $t2, $zero -/* 3B8EDC E00BA30C 0160482D */ daddu $t1, $t3, $zero -/* 3B8EE0 E00BA310 0180402D */ daddu $t0, $t4, $zero -/* 3B8EE4 E00BA314 01A0982D */ daddu $s3, $t5, $zero -/* 3B8EE8 E00BA318 01C0882D */ daddu $s1, $t6, $zero -/* 3B8EEC E00BA31C 25E60002 */ addiu $a2, $t7, 2 -.LE00BA320: -/* 3B8EF0 E00BA320 25220001 */ addiu $v0, $t1, 1 -/* 3B8EF4 E00BA324 00A21021 */ addu $v0, $a1, $v0 -/* 3B8EF8 E00BA328 02021021 */ addu $v0, $s0, $v0 -/* 3B8EFC E00BA32C 00A72021 */ addu $a0, $a1, $a3 -/* 3B8F00 E00BA330 00B31821 */ addu $v1, $a1, $s3 -/* 3B8F04 E00BA334 02031821 */ addu $v1, $s0, $v1 -/* 3B8F08 E00BA338 80420023 */ lb $v0, 0x23($v0) -/* 3B8F0C E00BA33C 80630023 */ lb $v1, 0x23($v1) -/* 3B8F10 E00BA340 44822000 */ mtc1 $v0, $f4 -/* 3B8F14 E00BA344 00000000 */ nop -/* 3B8F18 E00BA348 46802120 */ cvt.s.w $f4, $f4 -/* 3B8F1C E00BA34C 25020001 */ addiu $v0, $t0, 1 -/* 3B8F20 E00BA350 00A21021 */ addu $v0, $a1, $v0 -/* 3B8F24 E00BA354 02021021 */ addu $v0, $s0, $v0 -/* 3B8F28 E00BA358 80420023 */ lb $v0, 0x23($v0) -/* 3B8F2C E00BA35C 44831000 */ mtc1 $v1, $f2 -/* 3B8F30 E00BA360 00000000 */ nop -/* 3B8F34 E00BA364 468010A0 */ cvt.s.w $f2, $f2 -/* 3B8F38 E00BA368 44820000 */ mtc1 $v0, $f0 -/* 3B8F3C E00BA36C 00000000 */ nop -/* 3B8F40 E00BA370 46800020 */ cvt.s.w $f0, $f0 -/* 3B8F44 E00BA374 00B11021 */ addu $v0, $a1, $s1 -/* 3B8F48 E00BA378 46002100 */ add.s $f4, $f4, $f0 -/* 3B8F4C E00BA37C 02021021 */ addu $v0, $s0, $v0 -/* 3B8F50 E00BA380 80420023 */ lb $v0, 0x23($v0) -/* 3B8F54 E00BA384 46022100 */ add.s $f4, $f4, $f2 -/* 3B8F58 E00BA388 02042021 */ addu $a0, $s0, $a0 -/* 3B8F5C E00BA38C 44820000 */ mtc1 $v0, $f0 -/* 3B8F60 E00BA390 00000000 */ nop -/* 3B8F64 E00BA394 46800020 */ cvt.s.w $f0, $f0 -/* 3B8F68 E00BA398 46002100 */ add.s $f4, $f4, $f0 -/* 3B8F6C E00BA39C 80830023 */ lb $v1, 0x23($a0) -/* 3B8F70 E00BA3A0 3C013FE0 */ lui $at, 0x3fe0 -/* 3B8F74 E00BA3A4 44810800 */ mtc1 $at, $f1 -/* 3B8F78 E00BA3A8 44800000 */ mtc1 $zero, $f0 -/* 3B8F7C E00BA3AC 46002121 */ cvt.d.s $f4, $f4 -/* 3B8F80 E00BA3B0 46202102 */ mul.d $f4, $f4, $f0 -/* 3B8F84 E00BA3B4 00000000 */ nop -/* 3B8F88 E00BA3B8 44835000 */ mtc1 $v1, $f10 -/* 3B8F8C E00BA3BC 00000000 */ nop -/* 3B8F90 E00BA3C0 468052A0 */ cvt.s.w $f10, $f10 -/* 3B8F94 E00BA3C4 00A81821 */ addu $v1, $a1, $t0 -/* 3B8F98 E00BA3C8 02031821 */ addu $v1, $s0, $v1 -/* 3B8F9C E00BA3CC 00A91021 */ addu $v0, $a1, $t1 -/* 3B8FA0 E00BA3D0 02021021 */ addu $v0, $s0, $v0 -/* 3B8FA4 E00BA3D4 3C014080 */ lui $at, 0x4080 -/* 3B8FA8 E00BA3D8 44810000 */ mtc1 $at, $f0 -/* 3B8FAC E00BA3DC 80420023 */ lb $v0, 0x23($v0) -/* 3B8FB0 E00BA3E0 46005282 */ mul.s $f10, $f10, $f0 -/* 3B8FB4 E00BA3E4 00000000 */ nop -/* 3B8FB8 E00BA3E8 44821000 */ mtc1 $v0, $f2 -/* 3B8FBC E00BA3EC 00000000 */ nop -/* 3B8FC0 E00BA3F0 468010A0 */ cvt.s.w $f2, $f2 -/* 3B8FC4 E00BA3F4 24E20001 */ addiu $v0, $a3, 1 -/* 3B8FC8 E00BA3F8 00A21021 */ addu $v0, $a1, $v0 -/* 3B8FCC E00BA3FC 3C01E00C */ lui $at, %hi(D_E00BAE80) -/* 3B8FD0 E00BA400 D420AE80 */ ldc1 $f0, %lo(D_E00BAE80)($at) -/* 3B8FD4 E00BA404 460051A1 */ cvt.d.s $f6, $f10 -/* 3B8FD8 E00BA408 46203182 */ mul.d $f6, $f6, $f0 -/* 3B8FDC E00BA40C 00000000 */ nop -/* 3B8FE0 E00BA410 02021021 */ addu $v0, $s0, $v0 -/* 3B8FE4 E00BA414 80420023 */ lb $v0, 0x23($v0) -/* 3B8FE8 E00BA418 80630023 */ lb $v1, 0x23($v1) -/* 3B8FEC E00BA41C 44824000 */ mtc1 $v0, $f8 -/* 3B8FF0 E00BA420 00000000 */ nop -/* 3B8FF4 E00BA424 46804220 */ cvt.s.w $f8, $f8 -/* 3B8FF8 E00BA428 24E2FFFF */ addiu $v0, $a3, -1 -/* 3B8FFC E00BA42C 00A21021 */ addu $v0, $a1, $v0 -/* 3B9000 E00BA430 44830000 */ mtc1 $v1, $f0 -/* 3B9004 E00BA434 00000000 */ nop -/* 3B9008 E00BA438 46800020 */ cvt.s.w $f0, $f0 -/* 3B900C E00BA43C 46001080 */ add.s $f2, $f2, $f0 -/* 3B9010 E00BA440 02021021 */ addu $v0, $s0, $v0 -/* 3B9014 E00BA444 80420023 */ lb $v0, 0x23($v0) -/* 3B9018 E00BA448 46081080 */ add.s $f2, $f2, $f8 -/* 3B901C E00BA44C 44820000 */ mtc1 $v0, $f0 -/* 3B9020 E00BA450 00000000 */ nop -/* 3B9024 E00BA454 46800020 */ cvt.s.w $f0, $f0 -/* 3B9028 E00BA458 46001080 */ add.s $f2, $f2, $f0 -/* 3B902C E00BA45C 460A1081 */ sub.s $f2, $f2, $f10 -/* 3B9030 E00BA460 46202120 */ cvt.s.d $f4, $f4 -/* 3B9034 E00BA464 46041080 */ add.s $f2, $f2, $f4 -/* 3B9038 E00BA468 02061821 */ addu $v1, $s0, $a2 -/* 3B903C E00BA46C 8462011A */ lh $v0, 0x11a($v1) -/* 3B9040 E00BA470 460010A1 */ cvt.d.s $f2, $f2 -/* 3B9044 E00BA474 46261081 */ sub.d $f2, $f2, $f6 -/* 3B9048 E00BA478 44820000 */ mtc1 $v0, $f0 -/* 3B904C E00BA47C 00000000 */ nop -/* 3B9050 E00BA480 46800021 */ cvt.d.w $f0, $f0 -/* 3B9054 E00BA484 46220000 */ add.d $f0, $f0, $f2 -/* 3B9058 E00BA488 3C01E00C */ lui $at, %hi(D_E00BAE88) -/* 3B905C E00BA48C D422AE88 */ ldc1 $f2, %lo(D_E00BAE88)($at) -/* 3B9060 E00BA490 4620038D */ trunc.w.d $f14, $f0 -/* 3B9064 E00BA494 44027000 */ mfc1 $v0, $f14 -/* 3B9068 E00BA498 00000000 */ nop -/* 3B906C E00BA49C 00021400 */ sll $v0, $v0, 0x10 -/* 3B9070 E00BA4A0 00021403 */ sra $v0, $v0, 0x10 -/* 3B9074 E00BA4A4 44820000 */ mtc1 $v0, $f0 -/* 3B9078 E00BA4A8 00000000 */ nop -/* 3B907C E00BA4AC 46800021 */ cvt.d.w $f0, $f0 -/* 3B9080 E00BA4B0 46220002 */ mul.d $f0, $f0, $f2 -/* 3B9084 E00BA4B4 00000000 */ nop -/* 3B9088 E00BA4B8 4620038D */ trunc.w.d $f14, $f0 -/* 3B908C E00BA4BC 44027000 */ mfc1 $v0, $f14 -/* 3B9090 E00BA4C0 00000000 */ nop -/* 3B9094 E00BA4C4 A462011A */ sh $v0, 0x11a($v1) -/* 3B9098 E00BA4C8 2A820020 */ slti $v0, $s4, 0x20 -/* 3B909C E00BA4CC 1040000B */ beqz $v0, .LE00BA4FC -/* 3B90A0 E00BA4D0 24A50001 */ addiu $a1, $a1, 1 -/* 3B90A4 E00BA4D4 80820023 */ lb $v0, 0x23($a0) -/* 3B90A8 E00BA4D8 44820000 */ mtc1 $v0, $f0 -/* 3B90AC E00BA4DC 00000000 */ nop -/* 3B90B0 E00BA4E0 46800020 */ cvt.s.w $f0, $f0 -/* 3B90B4 E00BA4E4 46140002 */ mul.s $f0, $f0, $f20 -/* 3B90B8 E00BA4E8 00000000 */ nop -/* 3B90BC E00BA4EC 4600038D */ trunc.w.s $f14, $f0 -/* 3B90C0 E00BA4F0 44027000 */ mfc1 $v0, $f14 -/* 3B90C4 E00BA4F4 00000000 */ nop -/* 3B90C8 E00BA4F8 A0820023 */ sb $v0, 0x23($a0) -.LE00BA4FC: -/* 3B90CC E00BA4FC 28A2000C */ slti $v0, $a1, 0xc -/* 3B90D0 E00BA500 1440FF87 */ bnez $v0, .LE00BA320 -/* 3B90D4 E00BA504 24C60002 */ addiu $a2, $a2, 2 -/* 3B90D8 E00BA508 25EF001A */ addiu $t7, $t7, 0x1a -/* 3B90DC E00BA50C 25CE000D */ addiu $t6, $t6, 0xd -/* 3B90E0 E00BA510 25AD000D */ addiu $t5, $t5, 0xd -/* 3B90E4 E00BA514 258C000D */ addiu $t4, $t4, 0xd -/* 3B90E8 E00BA518 256B000D */ addiu $t3, $t3, 0xd -/* 3B90EC E00BA51C 26520001 */ addiu $s2, $s2, 1 -/* 3B90F0 E00BA520 2A420012 */ slti $v0, $s2, 0x12 -/* 3B90F4 E00BA524 1440FF77 */ bnez $v0, .LE00BA304 -/* 3B90F8 E00BA528 254A000D */ addiu $t2, $t2, 0xd -/* 3B90FC E00BA52C 24120001 */ addiu $s2, $zero, 1 -/* 3B9100 E00BA530 3C01E00C */ lui $at, %hi(D_E00BAE90) -/* 3B9104 E00BA534 D424AE90 */ ldc1 $f4, %lo(D_E00BAE90)($at) -/* 3B9108 E00BA538 2407001A */ addiu $a3, $zero, 0x1a -/* 3B910C E00BA53C 2406000D */ addiu $a2, $zero, 0xd -.LE00BA540: -/* 3B9110 E00BA540 24050001 */ addiu $a1, $zero, 1 -/* 3B9114 E00BA544 24E40002 */ addiu $a0, $a3, 2 -.LE00BA548: -/* 3B9118 E00BA548 02041021 */ addu $v0, $s0, $a0 -/* 3B911C E00BA54C 8442011A */ lh $v0, 0x11a($v0) -/* 3B9120 E00BA550 44821000 */ mtc1 $v0, $f2 -/* 3B9124 E00BA554 00000000 */ nop -/* 3B9128 E00BA558 468010A1 */ cvt.d.w $f2, $f2 -/* 3B912C E00BA55C 46241082 */ mul.d $f2, $f2, $f4 -/* 3B9130 E00BA560 00000000 */ nop -/* 3B9134 E00BA564 00A61821 */ addu $v1, $a1, $a2 -/* 3B9138 E00BA568 02031821 */ addu $v1, $s0, $v1 -/* 3B913C E00BA56C 80620023 */ lb $v0, 0x23($v1) -/* 3B9140 E00BA570 44820000 */ mtc1 $v0, $f0 -/* 3B9144 E00BA574 00000000 */ nop -/* 3B9148 E00BA578 46800021 */ cvt.d.w $f0, $f0 -/* 3B914C E00BA57C 46220000 */ add.d $f0, $f0, $f2 -/* 3B9150 E00BA580 24A50001 */ addiu $a1, $a1, 1 -/* 3B9154 E00BA584 4620038D */ trunc.w.d $f14, $f0 -/* 3B9158 E00BA588 44027000 */ mfc1 $v0, $f14 -/* 3B915C E00BA58C 00000000 */ nop -/* 3B9160 E00BA590 A0620023 */ sb $v0, 0x23($v1) -/* 3B9164 E00BA594 28A2000C */ slti $v0, $a1, 0xc -/* 3B9168 E00BA598 1440FFEB */ bnez $v0, .LE00BA548 -/* 3B916C E00BA59C 24840002 */ addiu $a0, $a0, 2 -/* 3B9170 E00BA5A0 24E7001A */ addiu $a3, $a3, 0x1a -/* 3B9174 E00BA5A4 26520001 */ addiu $s2, $s2, 1 -/* 3B9178 E00BA5A8 2A420012 */ slti $v0, $s2, 0x12 -/* 3B917C E00BA5AC 1440FFE4 */ bnez $v0, .LE00BA540 -/* 3B9180 E00BA5B0 24C6000D */ addiu $a2, $a2, 0xd -.LE00BA5B4: -/* 3B9184 E00BA5B4 8FBF0024 */ lw $ra, 0x24($sp) -/* 3B9188 E00BA5B8 8FB40020 */ lw $s4, 0x20($sp) -/* 3B918C E00BA5BC 8FB3001C */ lw $s3, 0x1c($sp) -/* 3B9190 E00BA5C0 8FB20018 */ lw $s2, 0x18($sp) -/* 3B9194 E00BA5C4 8FB10014 */ lw $s1, 0x14($sp) -/* 3B9198 E00BA5C8 8FB00010 */ lw $s0, 0x10($sp) -/* 3B919C E00BA5CC D7B60030 */ ldc1 $f22, 0x30($sp) -/* 3B91A0 E00BA5D0 D7B40028 */ ldc1 $f20, 0x28($sp) -/* 3B91A4 E00BA5D4 03E00008 */ jr $ra -/* 3B91A8 E00BA5D8 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_appendGfx.s b/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_appendGfx.s deleted file mode 100644 index c06b7190bd..0000000000 --- a/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_appendGfx.s +++ /dev/null @@ -1,462 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E00B8CD0 -.double 0.01 - -.section .text -glabel water_fountain_appendGfx -/* 3B7D88 E00B8208 27BDFEF8 */ addiu $sp, $sp, -0x108 -/* 3B7D8C E00B820C 0080302D */ daddu $a2, $a0, $zero -/* 3B7D90 E00B8210 3C038007 */ lui $v1, %hi(gCurrentCameraID) -/* 3B7D94 E00B8214 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1) -/* 3B7D98 E00B8218 3C04800B */ lui $a0, %hi(gCameras) -/* 3B7D9C E00B821C 24841D80 */ addiu $a0, $a0, %lo(gCameras) -/* 3B7DA0 E00B8220 AFBF00EC */ sw $ra, 0xec($sp) -/* 3B7DA4 E00B8224 AFBE00E8 */ sw $fp, 0xe8($sp) -/* 3B7DA8 E00B8228 AFB700E4 */ sw $s7, 0xe4($sp) -/* 3B7DAC E00B822C AFB600E0 */ sw $s6, 0xe0($sp) -/* 3B7DB0 E00B8230 AFB500DC */ sw $s5, 0xdc($sp) -/* 3B7DB4 E00B8234 AFB400D8 */ sw $s4, 0xd8($sp) -/* 3B7DB8 E00B8238 AFB300D4 */ sw $s3, 0xd4($sp) -/* 3B7DBC E00B823C AFB200D0 */ sw $s2, 0xd0($sp) -/* 3B7DC0 E00B8240 AFB100CC */ sw $s1, 0xcc($sp) -/* 3B7DC4 E00B8244 AFB000C8 */ sw $s0, 0xc8($sp) -/* 3B7DC8 E00B8248 F7B80100 */ sdc1 $f24, 0x100($sp) -/* 3B7DCC E00B824C F7B600F8 */ sdc1 $f22, 0xf8($sp) -/* 3B7DD0 E00B8250 F7B400F0 */ sdc1 $f20, 0xf0($sp) -/* 3B7DD4 E00B8254 8CD3000C */ lw $s3, 0xc($a2) -/* 3B7DD8 E00B8258 00031080 */ sll $v0, $v1, 2 -/* 3B7DDC E00B825C 00431021 */ addu $v0, $v0, $v1 -/* 3B7DE0 E00B8260 00021080 */ sll $v0, $v0, 2 -/* 3B7DE4 E00B8264 00431023 */ subu $v0, $v0, $v1 -/* 3B7DE8 E00B8268 000218C0 */ sll $v1, $v0, 3 -/* 3B7DEC E00B826C 00431021 */ addu $v0, $v0, $v1 -/* 3B7DF0 E00B8270 8E7E0014 */ lw $fp, 0x14($s3) -/* 3B7DF4 E00B8274 8E6A0010 */ lw $t2, 0x10($s3) -/* 3B7DF8 E00B8278 000210C0 */ sll $v0, $v0, 3 -/* 3B7DFC E00B827C AFAA0098 */ sw $t2, 0x98($sp) -/* 3B7E00 E00B8280 8E6A0024 */ lw $t2, 0x24($s3) -/* 3B7E04 E00B8284 0044B821 */ addu $s7, $v0, $a0 -/* 3B7E08 E00B8288 AFAA00A0 */ sw $t2, 0xa0($sp) -/* 3B7E0C E00B828C 8E6A0018 */ lw $t2, 0x18($s3) -/* 3B7E10 E00B8290 8E620000 */ lw $v0, ($s3) -/* 3B7E14 E00B8294 AFAA00A4 */ sw $t2, 0xa4($sp) -/* 3B7E18 E00B8298 8E6A001C */ lw $t2, 0x1c($s3) -/* 3B7E1C E00B829C AFAA00A8 */ sw $t2, 0xa8($sp) -/* 3B7E20 E00B82A0 8E6A0020 */ lw $t2, 0x20($s3) -/* 3B7E24 E00B82A4 14400007 */ bnez $v0, .LE00B82C4 -/* 3B7E28 E00B82A8 AFAA00AC */ sw $t2, 0xac($sp) -/* 3B7E2C E00B82AC 240A0003 */ addiu $t2, $zero, 3 -/* 3B7E30 E00B82B0 AFAA00B0 */ sw $t2, 0xb0($sp) -/* 3B7E34 E00B82B4 3C0AE00C */ lui $t2, %hi(D_E00B8900) -/* 3B7E38 E00B82B8 254A8900 */ addiu $t2, $t2, %lo(D_E00B8900) -/* 3B7E3C E00B82BC 0802E0B6 */ j .LE00B82D8 -/* 3B7E40 E00B82C0 24160014 */ addiu $s6, $zero, 0x14 -.LE00B82C4: -/* 3B7E44 E00B82C4 2416000B */ addiu $s6, $zero, 0xb -/* 3B7E48 E00B82C8 240A0003 */ addiu $t2, $zero, 3 -/* 3B7E4C E00B82CC AFAA00B0 */ sw $t2, 0xb0($sp) -/* 3B7E50 E00B82D0 3C0AE00C */ lui $t2, %hi(D_E00B8B58) -/* 3B7E54 E00B82D4 254A8B58 */ addiu $t2, $t2, %lo(D_E00B8B58) -.LE00B82D8: -/* 3B7E58 E00B82D8 AFAA00B4 */ sw $t2, 0xb4($sp) -/* 3B7E5C E00B82DC 3C05DB06 */ lui $a1, 0xdb06 -/* 3B7E60 E00B82E0 34A50024 */ ori $a1, $a1, 0x24 -/* 3B7E64 E00B82E4 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B7E68 E00B82E8 3C14800A */ lui $s4, %hi(gMasterGfxPos) -/* 3B7E6C E00B82EC 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos) -/* 3B7E70 E00B82F0 3C120001 */ lui $s2, 1 -/* 3B7E74 E00B82F4 8E880000 */ lw $t0, ($s4) -/* 3B7E78 E00B82F8 3C02E700 */ lui $v0, 0xe700 -/* 3B7E7C E00B82FC 0100182D */ daddu $v1, $t0, $zero -/* 3B7E80 E00B8300 25080008 */ addiu $t0, $t0, 8 -/* 3B7E84 E00B8304 AC620000 */ sw $v0, ($v1) -/* 3B7E88 E00B8308 AC600004 */ sw $zero, 4($v1) -/* 3B7E8C E00B830C AD050000 */ sw $a1, ($t0) -/* 3B7E90 E00B8310 8CC20010 */ lw $v0, 0x10($a2) -/* 3B7E94 E00B8314 36521630 */ ori $s2, $s2, 0x1630 -/* 3B7E98 E00B8318 AE880000 */ sw $t0, ($s4) -/* 3B7E9C E00B831C 8C42001C */ lw $v0, 0x1c($v0) -/* 3B7EA0 E00B8320 3C038000 */ lui $v1, 0x8000 -/* 3B7EA4 E00B8324 00431021 */ addu $v0, $v0, $v1 -/* 3B7EA8 E00B8328 AD020004 */ sw $v0, 4($t0) -/* 3B7EAC E00B832C 8E650004 */ lw $a1, 4($s3) -/* 3B7EB0 E00B8330 8E660008 */ lw $a2, 8($s3) -/* 3B7EB4 E00B8334 8E67000C */ lw $a3, 0xc($s3) -/* 3B7EB8 E00B8338 25080008 */ addiu $t0, $t0, 8 -/* 3B7EBC E00B833C 0C080108 */ jal shim_guTranslateF -/* 3B7EC0 E00B8340 AE880000 */ sw $t0, ($s4) -/* 3B7EC4 E00B8344 27B50058 */ addiu $s5, $sp, 0x58 -/* 3B7EC8 E00B8348 8E650034 */ lw $a1, 0x34($s3) -/* 3B7ECC E00B834C 02A0202D */ daddu $a0, $s5, $zero -/* 3B7ED0 E00B8350 00A0302D */ daddu $a2, $a1, $zero -/* 3B7ED4 E00B8354 0C080110 */ jal shim_guScaleF -/* 3B7ED8 E00B8358 00A0382D */ daddu $a3, $a1, $zero -/* 3B7EDC E00B835C 02A0202D */ daddu $a0, $s5, $zero -/* 3B7EE0 E00B8360 27A50018 */ addiu $a1, $sp, 0x18 -/* 3B7EE4 E00B8364 0C080114 */ jal shim_guMtxCatF -/* 3B7EE8 E00B8368 00A0302D */ daddu $a2, $a1, $zero -/* 3B7EEC E00B836C 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B7EF0 E00B8370 3C108007 */ lui $s0, %hi(gMatrixListPos) -/* 3B7EF4 E00B8374 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos) -/* 3B7EF8 E00B8378 3C11800A */ lui $s1, %hi(gDisplayContext) -/* 3B7EFC E00B837C 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext) -/* 3B7F00 E00B8380 96050000 */ lhu $a1, ($s0) -/* 3B7F04 E00B8384 8E220000 */ lw $v0, ($s1) -/* 3B7F08 E00B8388 00052980 */ sll $a1, $a1, 6 -/* 3B7F0C E00B838C 00B22821 */ addu $a1, $a1, $s2 -/* 3B7F10 E00B8390 0C080118 */ jal shim_guMtxF2L -/* 3B7F14 E00B8394 00452821 */ addu $a1, $v0, $a1 -/* 3B7F18 E00B8398 3C03DA38 */ lui $v1, 0xda38 -/* 3B7F1C E00B839C 34630002 */ ori $v1, $v1, 2 -/* 3B7F20 E00B83A0 3C09DA38 */ lui $t1, 0xda38 -/* 3B7F24 E00B83A4 35290001 */ ori $t1, $t1, 1 -/* 3B7F28 E00B83A8 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B7F2C E00B83AC 4480B000 */ mtc1 $zero, $f22 -/* 3B7F30 E00B83B0 8E880000 */ lw $t0, ($s4) -/* 3B7F34 E00B83B4 96020000 */ lhu $v0, ($s0) -/* 3B7F38 E00B83B8 3C013F80 */ lui $at, 0x3f80 -/* 3B7F3C E00B83BC 4481A000 */ mtc1 $at, $f20 -/* 3B7F40 E00B83C0 0100282D */ daddu $a1, $t0, $zero -/* 3B7F44 E00B83C4 25080008 */ addiu $t0, $t0, 8 -/* 3B7F48 E00B83C8 AE880000 */ sw $t0, ($s4) -/* 3B7F4C E00B83CC ACA30000 */ sw $v1, ($a1) -/* 3B7F50 E00B83D0 24430001 */ addiu $v1, $v0, 1 -/* 3B7F54 E00B83D4 3042FFFF */ andi $v0, $v0, 0xffff -/* 3B7F58 E00B83D8 00021180 */ sll $v0, $v0, 6 -/* 3B7F5C E00B83DC 4406B000 */ mfc1 $a2, $f22 -/* 3B7F60 E00B83E0 00521021 */ addu $v0, $v0, $s2 -/* 3B7F64 E00B83E4 A6030000 */ sh $v1, ($s0) -/* 3B7F68 E00B83E8 8E230000 */ lw $v1, ($s1) -/* 3B7F6C E00B83EC 4407B000 */ mfc1 $a3, $f22 -/* 3B7F70 E00B83F0 00621821 */ addu $v1, $v1, $v0 -/* 3B7F74 E00B83F4 25020008 */ addiu $v0, $t0, 8 -/* 3B7F78 E00B83F8 ACA30004 */ sw $v1, 4($a1) -/* 3B7F7C E00B83FC AE820000 */ sw $v0, ($s4) -/* 3B7F80 E00B8400 AD090000 */ sw $t1, ($t0) -/* 3B7F84 E00B8404 8EE30204 */ lw $v1, 0x204($s7) -/* 3B7F88 E00B8408 3C17DE00 */ lui $s7, 0xde00 -/* 3B7F8C E00B840C 3C020900 */ lui $v0, 0x900 -/* 3B7F90 E00B8410 24420280 */ addiu $v0, $v0, 0x280 -/* 3B7F94 E00B8414 AD170008 */ sw $s7, 8($t0) -/* 3B7F98 E00B8418 AD02000C */ sw $v0, 0xc($t0) -/* 3B7F9C E00B841C AD030004 */ sw $v1, 4($t0) -/* 3B7FA0 E00B8420 E7B40010 */ swc1 $f20, 0x10($sp) -/* 3B7FA4 E00B8424 8E650038 */ lw $a1, 0x38($s3) -/* 3B7FA8 E00B8428 25080010 */ addiu $t0, $t0, 0x10 -/* 3B7FAC E00B842C 0C080104 */ jal shim_guRotateF -/* 3B7FB0 E00B8430 AE880000 */ sw $t0, ($s4) -/* 3B7FB4 E00B8434 8E65003C */ lw $a1, 0x3c($s3) -/* 3B7FB8 E00B8438 8E660040 */ lw $a2, 0x40($s3) -/* 3B7FBC E00B843C 4407A000 */ mfc1 $a3, $f20 -/* 3B7FC0 E00B8440 0C080110 */ jal shim_guScaleF -/* 3B7FC4 E00B8444 02A0202D */ daddu $a0, $s5, $zero -/* 3B7FC8 E00B8448 02A0202D */ daddu $a0, $s5, $zero -/* 3B7FCC E00B844C 27A50018 */ addiu $a1, $sp, 0x18 -/* 3B7FD0 E00B8450 0C080114 */ jal shim_guMtxCatF -/* 3B7FD4 E00B8454 00A0302D */ daddu $a2, $a1, $zero -/* 3B7FD8 E00B8458 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B7FDC E00B845C 96050000 */ lhu $a1, ($s0) -/* 3B7FE0 E00B8460 8E220000 */ lw $v0, ($s1) -/* 3B7FE4 E00B8464 00052980 */ sll $a1, $a1, 6 -/* 3B7FE8 E00B8468 00B22821 */ addu $a1, $a1, $s2 -/* 3B7FEC E00B846C 0C080118 */ jal shim_guMtxF2L -/* 3B7FF0 E00B8470 00452821 */ addu $a1, $v0, $a1 -/* 3B7FF4 E00B8474 8E850000 */ lw $a1, ($s4) -/* 3B7FF8 E00B8478 00A0202D */ daddu $a0, $a1, $zero -/* 3B7FFC E00B847C 24A50008 */ addiu $a1, $a1, 8 -/* 3B8000 E00B8480 AE850000 */ sw $a1, ($s4) -/* 3B8004 E00B8484 96020000 */ lhu $v0, ($s0) -/* 3B8008 E00B8488 3C03DA38 */ lui $v1, 0xda38 -/* 3B800C E00B848C AC830000 */ sw $v1, ($a0) -/* 3B8010 E00B8490 24430001 */ addiu $v1, $v0, 1 -/* 3B8014 E00B8494 3042FFFF */ andi $v0, $v0, 0xffff -/* 3B8018 E00B8498 00021180 */ sll $v0, $v0, 6 -/* 3B801C E00B849C A6030000 */ sh $v1, ($s0) -/* 3B8020 E00B84A0 8E230000 */ lw $v1, ($s1) -/* 3B8024 E00B84A4 00521021 */ addu $v0, $v0, $s2 -/* 3B8028 E00B84A8 00621821 */ addu $v1, $v1, $v0 -/* 3B802C E00B84AC 24A20008 */ addiu $v0, $a1, 8 -/* 3B8030 E00B84B0 AC830004 */ sw $v1, 4($a0) -/* 3B8034 E00B84B4 AE820000 */ sw $v0, ($s4) -/* 3B8038 E00B84B8 3C02FB00 */ lui $v0, 0xfb00 -/* 3B803C E00B84BC ACA20000 */ sw $v0, ($a1) -/* 3B8040 E00B84C0 9262002B */ lbu $v0, 0x2b($s3) -/* 3B8044 E00B84C4 9264002F */ lbu $a0, 0x2f($s3) -/* 3B8048 E00B84C8 92630033 */ lbu $v1, 0x33($s3) -/* 3B804C E00B84CC 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 3B8050 E00B84D0 00021600 */ sll $v0, $v0, 0x18 -/* 3B8054 E00B84D4 00042400 */ sll $a0, $a0, 0x10 -/* 3B8058 E00B84D8 00441025 */ or $v0, $v0, $a0 -/* 3B805C E00B84DC 00031A00 */ sll $v1, $v1, 8 -/* 3B8060 E00B84E0 00431025 */ or $v0, $v0, $v1 -/* 3B8064 E00B84E4 314400FF */ andi $a0, $t2, 0xff -/* 3B8068 E00B84E8 00441025 */ or $v0, $v0, $a0 -/* 3B806C E00B84EC ACA20004 */ sw $v0, 4($a1) -/* 3B8070 E00B84F0 8FAA009C */ lw $t2, 0x9c($sp) -/* 3B8074 E00B84F4 25420001 */ addiu $v0, $t2, 1 -/* 3B8078 E00B84F8 8FAA0098 */ lw $t2, 0x98($sp) -/* 3B807C E00B84FC 02C21023 */ subu $v0, $s6, $v0 -/* 3B8080 E00B8500 0142102A */ slt $v0, $t2, $v0 -/* 3B8084 E00B8504 14400018 */ bnez $v0, .LE00B8568 -/* 3B8088 E00B8508 00161042 */ srl $v0, $s6, 1 -/* 3B808C E00B850C 24A20010 */ addiu $v0, $a1, 0x10 -/* 3B8090 E00B8510 AE820000 */ sw $v0, ($s4) -/* 3B8094 E00B8514 3C02FA00 */ lui $v0, 0xfa00 -/* 3B8098 E00B8518 ACA20008 */ sw $v0, 8($a1) -/* 3B809C E00B851C 8FAA00A4 */ lw $t2, 0xa4($sp) -/* 3B80A0 E00B8520 000A1E00 */ sll $v1, $t2, 0x18 -/* 3B80A4 E00B8524 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 3B80A8 E00B8528 314200FF */ andi $v0, $t2, 0xff -/* 3B80AC E00B852C 00021400 */ sll $v0, $v0, 0x10 -/* 3B80B0 E00B8530 8FAA00AC */ lw $t2, 0xac($sp) -/* 3B80B4 E00B8534 00621825 */ or $v1, $v1, $v0 -/* 3B80B8 E00B8538 314200FF */ andi $v0, $t2, 0xff -/* 3B80BC E00B853C 00021200 */ sll $v0, $v0, 8 -/* 3B80C0 E00B8540 00621825 */ or $v1, $v1, $v0 -/* 3B80C4 E00B8544 00641825 */ or $v1, $v1, $a0 -/* 3B80C8 E00B8548 24A20018 */ addiu $v0, $a1, 0x18 -/* 3B80CC E00B854C ACA3000C */ sw $v1, 0xc($a1) -/* 3B80D0 E00B8550 AE820000 */ sw $v0, ($s4) -/* 3B80D4 E00B8554 3C020900 */ lui $v0, 0x900 -/* 3B80D8 E00B8558 24420348 */ addiu $v0, $v0, 0x348 -/* 3B80DC E00B855C ACB70010 */ sw $s7, 0x10($a1) -/* 3B80E0 E00B8560 ACA20014 */ sw $v0, 0x14($a1) -/* 3B80E4 E00B8564 00161042 */ srl $v0, $s6, 1 -.LE00B8568: -/* 3B80E8 E00B8568 184000BF */ blez $v0, .LE00B8868 -/* 3B80EC E00B856C 0000B82D */ daddu $s7, $zero, $zero -/* 3B80F0 E00B8570 001E1080 */ sll $v0, $fp, 2 -/* 3B80F4 E00B8574 4600B506 */ mov.s $f20, $f22 -/* 3B80F8 E00B8578 3C01E00C */ lui $at, %hi(D_E00B8CD0) -/* 3B80FC E00B857C D4368CD0 */ ldc1 $f22, %lo(D_E00B8CD0)($at) -/* 3B8100 E00B8580 005E1021 */ addu $v0, $v0, $fp -/* 3B8104 E00B8584 AFA200BC */ sw $v0, 0xbc($sp) -/* 3B8108 E00B8588 AFBE00C4 */ sw $fp, 0xc4($sp) -.LE00B858C: -/* 3B810C E00B858C 8FAA00B0 */ lw $t2, 0xb0($sp) -/* 3B8110 E00B8590 114000AE */ beqz $t2, .LE00B884C -/* 3B8114 E00B8594 0000902D */ daddu $s2, $zero, $zero -/* 3B8118 E00B8598 3C1E0001 */ lui $fp, 1 -/* 3B811C E00B859C 37DE1630 */ ori $fp, $fp, 0x1630 -/* 3B8120 E00B85A0 3C14800A */ lui $s4, %hi(gMasterGfxPos) -/* 3B8124 E00B85A4 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos) -/* 3B8128 E00B85A8 8FAA00C4 */ lw $t2, 0xc4($sp) -/* 3B812C E00B85AC 0240982D */ daddu $s3, $s2, $zero -/* 3B8130 E00B85B0 AFAA00B8 */ sw $t2, 0xb8($sp) -/* 3B8134 E00B85B4 8FAA00A4 */ lw $t2, 0xa4($sp) -/* 3B8138 E00B85B8 3C013F80 */ lui $at, 0x3f80 -/* 3B813C E00B85BC 4481C000 */ mtc1 $at, $f24 -/* 3B8140 E00B85C0 000A5600 */ sll $t2, $t2, 0x18 -/* 3B8144 E00B85C4 AFAA00C0 */ sw $t2, 0xc0($sp) -.LE00B85C8: -/* 3B8148 E00B85C8 8FAA00B8 */ lw $t2, 0xb8($sp) -/* 3B814C E00B85CC 16C00002 */ bnez $s6, .LE00B85D8 -/* 3B8150 E00B85D0 0156001A */ div $zero, $t2, $s6 -/* 3B8154 E00B85D4 0007000D */ break 7 -.LE00B85D8: -/* 3B8158 E00B85D8 2401FFFF */ addiu $at, $zero, -1 -/* 3B815C E00B85DC 16C10004 */ bne $s6, $at, .LE00B85F0 -/* 3B8160 E00B85E0 3C018000 */ lui $at, 0x8000 -/* 3B8164 E00B85E4 15410002 */ bne $t2, $at, .LE00B85F0 -/* 3B8168 E00B85E8 00000000 */ nop -/* 3B816C E00B85EC 0006000D */ break 6 -.LE00B85F0: -/* 3B8170 E00B85F0 00001810 */ mfhi $v1 -/* 3B8174 E00B85F4 00131080 */ sll $v0, $s3, 2 -/* 3B8178 E00B85F8 00531021 */ addu $v0, $v0, $s3 -/* 3B817C E00B85FC 8FAA00B4 */ lw $t2, 0xb4($sp) -/* 3B8180 E00B8600 00021040 */ sll $v0, $v0, 1 -/* 3B8184 E00B8604 01422821 */ addu $a1, $t2, $v0 -/* 3B8188 E00B8608 8FAA00BC */ lw $t2, 0xbc($sp) -/* 3B818C E00B860C 0143102A */ slt $v0, $t2, $v1 -/* 3B8190 E00B8610 14400089 */ bnez $v0, .LE00B8838 -/* 3B8194 E00B8614 24620001 */ addiu $v0, $v1, 1 -/* 3B8198 E00B8618 8FAA0098 */ lw $t2, 0x98($sp) -/* 3B819C E00B861C 02C21023 */ subu $v0, $s6, $v0 -/* 3B81A0 E00B8620 0142102A */ slt $v0, $t2, $v0 -/* 3B81A4 E00B8624 14400084 */ bnez $v0, .LE00B8838 -/* 3B81A8 E00B8628 00038080 */ sll $s0, $v1, 2 -/* 3B81AC E00B862C 02038021 */ addu $s0, $s0, $v1 -/* 3B81B0 E00B8630 00108040 */ sll $s0, $s0, 1 -/* 3B81B4 E00B8634 02058821 */ addu $s1, $s0, $a1 -/* 3B81B8 E00B8638 82220001 */ lb $v0, 1($s1) -/* 3B81BC E00B863C 3C014120 */ lui $at, 0x4120 -/* 3B81C0 E00B8640 44811000 */ mtc1 $at, $f2 -/* 3B81C4 E00B8644 4407A000 */ mfc1 $a3, $f20 -/* 3B81C8 E00B8648 44820000 */ mtc1 $v0, $f0 -/* 3B81CC E00B864C 00000000 */ nop -/* 3B81D0 E00B8650 46800020 */ cvt.s.w $f0, $f0 -/* 3B81D4 E00B8654 82220000 */ lb $v0, ($s1) -/* 3B81D8 E00B8658 46020000 */ add.s $f0, $f0, $f2 -/* 3B81DC E00B865C 44822000 */ mtc1 $v0, $f4 -/* 3B81E0 E00B8660 00000000 */ nop -/* 3B81E4 E00B8664 46802120 */ cvt.s.w $f4, $f4 -/* 3B81E8 E00B8668 44052000 */ mfc1 $a1, $f4 -/* 3B81EC E00B866C 44060000 */ mfc1 $a2, $f0 -/* 3B81F0 E00B8670 0C080108 */ jal shim_guTranslateF -/* 3B81F4 E00B8674 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B81F8 E00B8678 8FAA00B4 */ lw $t2, 0xb4($sp) -/* 3B81FC E00B867C 020A8021 */ addu $s0, $s0, $t2 -/* 3B8200 E00B8680 86020002 */ lh $v0, 2($s0) -/* 3B8204 E00B8684 44821000 */ mtc1 $v0, $f2 -/* 3B8208 E00B8688 00000000 */ nop -/* 3B820C E00B868C 468010A0 */ cvt.s.w $f2, $f2 -/* 3B8210 E00B8690 460010A1 */ cvt.d.s $f2, $f2 -/* 3B8214 E00B8694 46361082 */ mul.d $f2, $f2, $f22 -/* 3B8218 E00B8698 00000000 */ nop -/* 3B821C E00B869C 86020004 */ lh $v0, 4($s0) -/* 3B8220 E00B86A0 44820000 */ mtc1 $v0, $f0 -/* 3B8224 E00B86A4 00000000 */ nop -/* 3B8228 E00B86A8 46800020 */ cvt.s.w $f0, $f0 -/* 3B822C E00B86AC 46000021 */ cvt.d.s $f0, $f0 -/* 3B8230 E00B86B0 46360002 */ mul.d $f0, $f0, $f22 -/* 3B8234 E00B86B4 00000000 */ nop -/* 3B8238 E00B86B8 4407C000 */ mfc1 $a3, $f24 -/* 3B823C E00B86BC 462010A0 */ cvt.s.d $f2, $f2 -/* 3B8240 E00B86C0 44051000 */ mfc1 $a1, $f2 -/* 3B8244 E00B86C4 46200020 */ cvt.s.d $f0, $f0 -/* 3B8248 E00B86C8 44060000 */ mfc1 $a2, $f0 -/* 3B824C E00B86CC 0C080110 */ jal shim_guScaleF -/* 3B8250 E00B86D0 02A0202D */ daddu $a0, $s5, $zero -/* 3B8254 E00B86D4 02A0202D */ daddu $a0, $s5, $zero -/* 3B8258 E00B86D8 27A50018 */ addiu $a1, $sp, 0x18 -/* 3B825C E00B86DC 0C080114 */ jal shim_guMtxCatF -/* 3B8260 E00B86E0 00A0302D */ daddu $a2, $a1, $zero -/* 3B8264 E00B86E4 86220006 */ lh $v0, 6($s1) -/* 3B8268 E00B86E8 3C0AE00C */ lui $t2, %hi(D_E00B8CA4) -/* 3B826C E00B86EC 254A8CA4 */ addiu $t2, $t2, %lo(D_E00B8CA4) -/* 3B8270 E00B86F0 44821000 */ mtc1 $v0, $f2 -/* 3B8274 E00B86F4 00000000 */ nop -/* 3B8278 E00B86F8 468010A0 */ cvt.s.w $f2, $f2 -/* 3B827C E00B86FC 02571021 */ addu $v0, $s2, $s7 -/* 3B8280 E00B8700 30420007 */ andi $v0, $v0, 7 -/* 3B8284 E00B8704 00021080 */ sll $v0, $v0, 2 -/* 3B8288 E00B8708 004A1021 */ addu $v0, $v0, $t2 -/* 3B828C E00B870C C4400000 */ lwc1 $f0, ($v0) -/* 3B8290 E00B8710 46800020 */ cvt.s.w $f0, $f0 -/* 3B8294 E00B8714 46001080 */ add.s $f2, $f2, $f0 -/* 3B8298 E00B8718 4406A000 */ mfc1 $a2, $f20 -/* 3B829C E00B871C 4407A000 */ mfc1 $a3, $f20 -/* 3B82A0 E00B8720 44051000 */ mfc1 $a1, $f2 -/* 3B82A4 E00B8724 02A0202D */ daddu $a0, $s5, $zero -/* 3B82A8 E00B8728 0C080104 */ jal shim_guRotateF -/* 3B82AC E00B872C E7B80010 */ swc1 $f24, 0x10($sp) -/* 3B82B0 E00B8730 02A0202D */ daddu $a0, $s5, $zero -/* 3B82B4 E00B8734 27A50018 */ addiu $a1, $sp, 0x18 -/* 3B82B8 E00B8738 0C080114 */ jal shim_guMtxCatF -/* 3B82BC E00B873C 00A0302D */ daddu $a2, $a1, $zero -/* 3B82C0 E00B8740 27A40018 */ addiu $a0, $sp, 0x18 -/* 3B82C4 E00B8744 3C058007 */ lui $a1, %hi(gMatrixListPos) -/* 3B82C8 E00B8748 94A541F0 */ lhu $a1, %lo(gMatrixListPos)($a1) -/* 3B82CC E00B874C 3C02800A */ lui $v0, %hi(gDisplayContext) -/* 3B82D0 E00B8750 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0) -/* 3B82D4 E00B8754 00052980 */ sll $a1, $a1, 6 -/* 3B82D8 E00B8758 00BE2821 */ addu $a1, $a1, $fp -/* 3B82DC E00B875C 0C080118 */ jal shim_guMtxF2L -/* 3B82E0 E00B8760 00452821 */ addu $a1, $v0, $a1 -/* 3B82E4 E00B8764 3C06D838 */ lui $a2, 0xd838 -/* 3B82E8 E00B8768 8E840000 */ lw $a0, ($s4) -/* 3B82EC E00B876C 34C60002 */ ori $a2, $a2, 2 -/* 3B82F0 E00B8770 0080282D */ daddu $a1, $a0, $zero -/* 3B82F4 E00B8774 24840008 */ addiu $a0, $a0, 8 -/* 3B82F8 E00B8778 AE840000 */ sw $a0, ($s4) -/* 3B82FC E00B877C 3C028007 */ lui $v0, %hi(gMatrixListPos) -/* 3B8300 E00B8780 944241F0 */ lhu $v0, %lo(gMatrixListPos)($v0) -/* 3B8304 E00B8784 3C03DA38 */ lui $v1, 0xda38 -/* 3B8308 E00B8788 ACA30000 */ sw $v1, ($a1) -/* 3B830C E00B878C 24430001 */ addiu $v1, $v0, 1 -/* 3B8310 E00B8790 3042FFFF */ andi $v0, $v0, 0xffff -/* 3B8314 E00B8794 00021180 */ sll $v0, $v0, 6 -/* 3B8318 E00B8798 3C018007 */ lui $at, %hi(gMatrixListPos) -/* 3B831C E00B879C A42341F0 */ sh $v1, %lo(gMatrixListPos)($at) -/* 3B8320 E00B87A0 3C03800A */ lui $v1, %hi(gDisplayContext) -/* 3B8324 E00B87A4 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1) -/* 3B8328 E00B87A8 005E1021 */ addu $v0, $v0, $fp -/* 3B832C E00B87AC 00621821 */ addu $v1, $v1, $v0 -/* 3B8330 E00B87B0 24820008 */ addiu $v0, $a0, 8 -/* 3B8334 E00B87B4 ACA30004 */ sw $v1, 4($a1) -/* 3B8338 E00B87B8 AE820000 */ sw $v0, ($s4) -/* 3B833C E00B87BC 3C02FA00 */ lui $v0, 0xfa00 -/* 3B8340 E00B87C0 AC820000 */ sw $v0, ($a0) -/* 3B8344 E00B87C4 92050008 */ lbu $a1, 8($s0) -/* 3B8348 E00B87C8 24820010 */ addiu $v0, $a0, 0x10 -/* 3B834C E00B87CC AE820000 */ sw $v0, ($s4) -/* 3B8350 E00B87D0 3C02DE00 */ lui $v0, 0xde00 -/* 3B8354 E00B87D4 AC820008 */ sw $v0, 8($a0) -/* 3B8358 E00B87D8 3C020900 */ lui $v0, 0x900 -/* 3B835C E00B87DC 24420328 */ addiu $v0, $v0, 0x328 -/* 3B8360 E00B87E0 AC82000C */ sw $v0, 0xc($a0) -/* 3B8364 E00B87E4 24820018 */ addiu $v0, $a0, 0x18 -/* 3B8368 E00B87E8 AE820000 */ sw $v0, ($s4) -/* 3B836C E00B87EC 24020040 */ addiu $v0, $zero, 0x40 -/* 3B8370 E00B87F0 AC860010 */ sw $a2, 0x10($a0) -/* 3B8374 E00B87F4 AC820014 */ sw $v0, 0x14($a0) -/* 3B8378 E00B87F8 8FAA00A8 */ lw $t2, 0xa8($sp) -/* 3B837C E00B87FC 314300FF */ andi $v1, $t2, 0xff -/* 3B8380 E00B8800 8FAA00A0 */ lw $t2, 0xa0($sp) -/* 3B8384 E00B8804 01450018 */ mult $t2, $a1 -/* 3B8388 E00B8808 8FAA00C0 */ lw $t2, 0xc0($sp) -/* 3B838C E00B880C 00031C00 */ sll $v1, $v1, 0x10 -/* 3B8390 E00B8810 01431825 */ or $v1, $t2, $v1 -/* 3B8394 E00B8814 8FAA00AC */ lw $t2, 0xac($sp) -/* 3B8398 E00B8818 314200FF */ andi $v0, $t2, 0xff -/* 3B839C E00B881C 00021200 */ sll $v0, $v0, 8 -/* 3B83A0 E00B8820 00621825 */ or $v1, $v1, $v0 -/* 3B83A4 E00B8824 00005012 */ mflo $t2 -/* 3B83A8 E00B8828 000A1203 */ sra $v0, $t2, 8 -/* 3B83AC E00B882C 304200FF */ andi $v0, $v0, 0xff -/* 3B83B0 E00B8830 00621825 */ or $v1, $v1, $v0 -/* 3B83B4 E00B8834 AC830004 */ sw $v1, 4($a0) -.LE00B8838: -/* 3B83B8 E00B8838 8FAA00B0 */ lw $t2, 0xb0($sp) -/* 3B83BC E00B883C 26520001 */ addiu $s2, $s2, 1 -/* 3B83C0 E00B8840 024A102A */ slt $v0, $s2, $t2 -/* 3B83C4 E00B8844 1440FF60 */ bnez $v0, .LE00B85C8 -/* 3B83C8 E00B8848 02769821 */ addu $s3, $s3, $s6 -.LE00B884C: -/* 3B83CC E00B884C 26F70001 */ addiu $s7, $s7, 1 -/* 3B83D0 E00B8850 00161042 */ srl $v0, $s6, 1 -/* 3B83D4 E00B8854 8FAA00C4 */ lw $t2, 0xc4($sp) -/* 3B83D8 E00B8858 02E2102A */ slt $v0, $s7, $v0 -/* 3B83DC E00B885C 254A0002 */ addiu $t2, $t2, 2 -/* 3B83E0 E00B8860 1440FF4A */ bnez $v0, .LE00B858C -/* 3B83E4 E00B8864 AFAA00C4 */ sw $t2, 0xc4($sp) -.LE00B8868: -/* 3B83E8 E00B8868 3C06D838 */ lui $a2, 0xd838 -/* 3B83EC E00B886C 3C04800A */ lui $a0, %hi(gMasterGfxPos) -/* 3B83F0 E00B8870 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos) -/* 3B83F4 E00B8874 34C60002 */ ori $a2, $a2, 2 -/* 3B83F8 E00B8878 8C820000 */ lw $v0, ($a0) -/* 3B83FC E00B887C 24050040 */ addiu $a1, $zero, 0x40 -/* 3B8400 E00B8880 0040182D */ daddu $v1, $v0, $zero -/* 3B8404 E00B8884 24420008 */ addiu $v0, $v0, 8 -/* 3B8408 E00B8888 AC820000 */ sw $v0, ($a0) -/* 3B840C E00B888C AC660000 */ sw $a2, ($v1) -/* 3B8410 E00B8890 AC650004 */ sw $a1, 4($v1) -/* 3B8414 E00B8894 24430008 */ addiu $v1, $v0, 8 -/* 3B8418 E00B8898 AC830000 */ sw $v1, ($a0) -/* 3B841C E00B889C 24430010 */ addiu $v1, $v0, 0x10 -/* 3B8420 E00B88A0 AC460000 */ sw $a2, ($v0) -/* 3B8424 E00B88A4 AC450004 */ sw $a1, 4($v0) -/* 3B8428 E00B88A8 AC830000 */ sw $v1, ($a0) -/* 3B842C E00B88AC 3C03E700 */ lui $v1, 0xe700 -/* 3B8430 E00B88B0 AC430008 */ sw $v1, 8($v0) -/* 3B8434 E00B88B4 AC40000C */ sw $zero, 0xc($v0) -/* 3B8438 E00B88B8 8FBF00EC */ lw $ra, 0xec($sp) -/* 3B843C E00B88BC 8FBE00E8 */ lw $fp, 0xe8($sp) -/* 3B8440 E00B88C0 8FB700E4 */ lw $s7, 0xe4($sp) -/* 3B8444 E00B88C4 8FB600E0 */ lw $s6, 0xe0($sp) -/* 3B8448 E00B88C8 8FB500DC */ lw $s5, 0xdc($sp) -/* 3B844C E00B88CC 8FB400D8 */ lw $s4, 0xd8($sp) -/* 3B8450 E00B88D0 8FB300D4 */ lw $s3, 0xd4($sp) -/* 3B8454 E00B88D4 8FB200D0 */ lw $s2, 0xd0($sp) -/* 3B8458 E00B88D8 8FB100CC */ lw $s1, 0xcc($sp) -/* 3B845C E00B88DC 8FB000C8 */ lw $s0, 0xc8($sp) -/* 3B8460 E00B88E0 D7B80100 */ ldc1 $f24, 0x100($sp) -/* 3B8464 E00B88E4 D7B600F8 */ ldc1 $f22, 0xf8($sp) -/* 3B8468 E00B88E8 D7B400F0 */ ldc1 $f20, 0xf0($sp) -/* 3B846C E00B88EC 03E00008 */ jr $ra diff --git a/ver/us/asm/nonmatchings/effects/waterfall/waterfall_appendGfx.s b/ver/us/asm/nonmatchings/effects/waterfall/waterfall_appendGfx.s deleted file mode 100644 index 7f1c46949b..0000000000 --- a/ver/us/asm/nonmatchings/effects/waterfall/waterfall_appendGfx.s +++ /dev/null @@ -1,304 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E00B6768 -.double 0.1 - -.section .text -glabel waterfall_appendGfx -/* 3B7440 E00B62E0 27BDFF40 */ addiu $sp, $sp, -0xc0 -/* 3B7444 E00B62E4 0080302D */ daddu $a2, $a0, $zero -/* 3B7448 E00B62E8 3C07DB06 */ lui $a3, 0xdb06 -/* 3B744C E00B62EC 34E70024 */ ori $a3, $a3, 0x24 -/* 3B7450 E00B62F0 27A40010 */ addiu $a0, $sp, 0x10 -/* 3B7454 E00B62F4 AFB600A8 */ sw $s6, 0xa8($sp) -/* 3B7458 E00B62F8 3C160001 */ lui $s6, 1 -/* 3B745C E00B62FC AFB3009C */ sw $s3, 0x9c($sp) -/* 3B7460 E00B6300 3C13800A */ lui $s3, %hi(gMasterGfxPos) -/* 3B7464 E00B6304 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos) -/* 3B7468 E00B6308 36D61630 */ ori $s6, $s6, 0x1630 -/* 3B746C E00B630C AFBF00B0 */ sw $ra, 0xb0($sp) -/* 3B7470 E00B6310 AFB700AC */ sw $s7, 0xac($sp) -/* 3B7474 E00B6314 AFB500A4 */ sw $s5, 0xa4($sp) -/* 3B7478 E00B6318 AFB400A0 */ sw $s4, 0xa0($sp) -/* 3B747C E00B631C AFB20098 */ sw $s2, 0x98($sp) -/* 3B7480 E00B6320 AFB10094 */ sw $s1, 0x94($sp) -/* 3B7484 E00B6324 AFB00090 */ sw $s0, 0x90($sp) -/* 3B7488 E00B6328 F7B400B8 */ sdc1 $f20, 0xb8($sp) -/* 3B748C E00B632C 8E650000 */ lw $a1, ($s3) -/* 3B7490 E00B6330 8CD2000C */ lw $s2, 0xc($a2) -/* 3B7494 E00B6334 3C01E00B */ lui $at, %hi(D_E00B6768) -/* 3B7498 E00B6338 D4206768 */ ldc1 $f0, %lo(D_E00B6768)($at) -/* 3B749C E00B633C 00A0182D */ daddu $v1, $a1, $zero -/* 3B74A0 E00B6340 24A50008 */ addiu $a1, $a1, 8 -/* 3B74A4 E00B6344 AE650000 */ sw $a1, ($s3) -/* 3B74A8 E00B6348 8E570014 */ lw $s7, 0x14($s2) -/* 3B74AC E00B634C 8E550024 */ lw $s5, 0x24($s2) -/* 3B74B0 E00B6350 C6540028 */ lwc1 $f20, 0x28($s2) -/* 3B74B4 E00B6354 3C02E700 */ lui $v0, 0xe700 -/* 3B74B8 E00B6358 AC620000 */ sw $v0, ($v1) -/* 3B74BC E00B635C AC600004 */ sw $zero, 4($v1) -/* 3B74C0 E00B6360 ACA70000 */ sw $a3, ($a1) -/* 3B74C4 E00B6364 8CC30010 */ lw $v1, 0x10($a2) -/* 3B74C8 E00B6368 24A20008 */ addiu $v0, $a1, 8 -/* 3B74CC E00B636C AE620000 */ sw $v0, ($s3) -/* 3B74D0 E00B6370 8C62001C */ lw $v0, 0x1c($v1) -/* 3B74D4 E00B6374 3C038000 */ lui $v1, 0x8000 -/* 3B74D8 E00B6378 4600A521 */ cvt.d.s $f20, $f20 -/* 3B74DC E00B637C 4620A502 */ mul.d $f20, $f20, $f0 -/* 3B74E0 E00B6380 00000000 */ nop -/* 3B74E4 E00B6384 00431021 */ addu $v0, $v0, $v1 -/* 3B74E8 E00B6388 3C03800B */ lui $v1, %hi(gCameras) -/* 3B74EC E00B638C 24631D80 */ addiu $v1, $v1, %lo(gCameras) -/* 3B74F0 E00B6390 ACA20004 */ sw $v0, 4($a1) -/* 3B74F4 E00B6394 8E450004 */ lw $a1, 4($s2) -/* 3B74F8 E00B6398 8E460008 */ lw $a2, 8($s2) -/* 3B74FC E00B639C 3C028007 */ lui $v0, %hi(gCurrentCameraID) -/* 3B7500 E00B63A0 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0) -/* 3B7504 E00B63A4 8E47000C */ lw $a3, 0xc($s2) -/* 3B7508 E00B63A8 00028880 */ sll $s1, $v0, 2 -/* 3B750C E00B63AC 02228821 */ addu $s1, $s1, $v0 -/* 3B7510 E00B63B0 00118880 */ sll $s1, $s1, 2 -/* 3B7514 E00B63B4 02228823 */ subu $s1, $s1, $v0 -/* 3B7518 E00B63B8 001110C0 */ sll $v0, $s1, 3 -/* 3B751C E00B63BC 02228821 */ addu $s1, $s1, $v0 -/* 3B7520 E00B63C0 001188C0 */ sll $s1, $s1, 3 -/* 3B7524 E00B63C4 02238821 */ addu $s1, $s1, $v1 -/* 3B7528 E00B63C8 0C080108 */ jal shim_guTranslateF -/* 3B752C E00B63CC 4620A520 */ cvt.s.d $f20, $f20 -/* 3B7530 E00B63D0 27B00050 */ addiu $s0, $sp, 0x50 -/* 3B7534 E00B63D4 4405A000 */ mfc1 $a1, $f20 -/* 3B7538 E00B63D8 0200202D */ daddu $a0, $s0, $zero -/* 3B753C E00B63DC 00A0302D */ daddu $a2, $a1, $zero -/* 3B7540 E00B63E0 0C080110 */ jal shim_guScaleF -/* 3B7544 E00B63E4 00A0382D */ daddu $a3, $a1, $zero -/* 3B7548 E00B63E8 0200202D */ daddu $a0, $s0, $zero -/* 3B754C E00B63EC 27A50010 */ addiu $a1, $sp, 0x10 -/* 3B7550 E00B63F0 0C080114 */ jal shim_guMtxCatF -/* 3B7554 E00B63F4 00A0302D */ daddu $a2, $a1, $zero -/* 3B7558 E00B63F8 27A40010 */ addiu $a0, $sp, 0x10 -/* 3B755C E00B63FC 3C108007 */ lui $s0, %hi(gMatrixListPos) -/* 3B7560 E00B6400 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos) -/* 3B7564 E00B6404 3C14800A */ lui $s4, %hi(gDisplayContext) -/* 3B7568 E00B6408 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext) -/* 3B756C E00B640C 96050000 */ lhu $a1, ($s0) -/* 3B7570 E00B6410 8E820000 */ lw $v0, ($s4) -/* 3B7574 E00B6414 00052980 */ sll $a1, $a1, 6 -/* 3B7578 E00B6418 00B62821 */ addu $a1, $a1, $s6 -/* 3B757C E00B641C 0C080118 */ jal shim_guMtxF2L -/* 3B7580 E00B6420 00452821 */ addu $a1, $v0, $a1 -/* 3B7584 E00B6424 3C03DA38 */ lui $v1, 0xda38 -/* 3B7588 E00B6428 34630002 */ ori $v1, $v1, 2 -/* 3B758C E00B642C 3C06DA38 */ lui $a2, 0xda38 -/* 3B7590 E00B6430 34C60001 */ ori $a2, $a2, 1 -/* 3B7594 E00B6434 0000482D */ daddu $t1, $zero, $zero -/* 3B7598 E00B6438 240F0258 */ addiu $t7, $zero, 0x258 -/* 3B759C E00B643C 240C00FF */ addiu $t4, $zero, 0xff -/* 3B75A0 E00B6440 240E0400 */ addiu $t6, $zero, 0x400 -/* 3B75A4 E00B6444 240BFFFF */ addiu $t3, $zero, -1 -/* 3B75A8 E00B6448 240AFED4 */ addiu $t2, $zero, -0x12c -/* 3B75AC E00B644C 32B500FF */ andi $s5, $s5, 0xff -/* 3B75B0 E00B6450 8E640000 */ lw $a0, ($s3) -/* 3B75B4 E00B6454 3C014270 */ lui $at, 0x4270 -/* 3B75B8 E00B6458 44812000 */ mtc1 $at, $f4 -/* 3B75BC E00B645C 3C014120 */ lui $at, 0x4120 -/* 3B75C0 E00B6460 44811000 */ mtc1 $at, $f2 -/* 3B75C4 E00B6464 96020000 */ lhu $v0, ($s0) -/* 3B75C8 E00B6468 0080282D */ daddu $a1, $a0, $zero -/* 3B75CC E00B646C 24840008 */ addiu $a0, $a0, 8 -/* 3B75D0 E00B6470 248D0020 */ addiu $t5, $a0, 0x20 -/* 3B75D4 E00B6474 01A0402D */ daddu $t0, $t5, $zero -/* 3B75D8 E00B6478 2487002F */ addiu $a3, $a0, 0x2f -/* 3B75DC E00B647C AE640000 */ sw $a0, ($s3) -/* 3B75E0 E00B6480 ACA30000 */ sw $v1, ($a1) -/* 3B75E4 E00B6484 24430001 */ addiu $v1, $v0, 1 -/* 3B75E8 E00B6488 3042FFFF */ andi $v0, $v0, 0xffff -/* 3B75EC E00B648C 00021180 */ sll $v0, $v0, 6 -/* 3B75F0 E00B6490 A6030000 */ sh $v1, ($s0) -/* 3B75F4 E00B6494 8E830000 */ lw $v1, ($s4) -/* 3B75F8 E00B6498 00561021 */ addu $v0, $v0, $s6 -/* 3B75FC E00B649C 00621821 */ addu $v1, $v1, $v0 -/* 3B7600 E00B64A0 24820008 */ addiu $v0, $a0, 8 -/* 3B7604 E00B64A4 ACA30004 */ sw $v1, 4($a1) -/* 3B7608 E00B64A8 AE620000 */ sw $v0, ($s3) -/* 3B760C E00B64AC 24820010 */ addiu $v0, $a0, 0x10 -/* 3B7610 E00B64B0 AC860000 */ sw $a2, ($a0) -/* 3B7614 E00B64B4 AE620000 */ sw $v0, ($s3) -/* 3B7618 E00B64B8 8E230204 */ lw $v1, 0x204($s1) -/* 3B761C E00B64BC 3C02FA00 */ lui $v0, 0xfa00 -/* 3B7620 E00B64C0 AC820008 */ sw $v0, 8($a0) -/* 3B7624 E00B64C4 AC830004 */ sw $v1, 4($a0) -/* 3B7628 E00B64C8 9243001B */ lbu $v1, 0x1b($s2) -/* 3B762C E00B64CC 9245001F */ lbu $a1, 0x1f($s2) -/* 3B7630 E00B64D0 92460023 */ lbu $a2, 0x23($s2) -/* 3B7634 E00B64D4 24820018 */ addiu $v0, $a0, 0x18 -/* 3B7638 E00B64D8 AE620000 */ sw $v0, ($s3) -/* 3B763C E00B64DC 3C02DE00 */ lui $v0, 0xde00 -/* 3B7640 E00B64E0 AC820010 */ sw $v0, 0x10($a0) -/* 3B7644 E00B64E4 3C020900 */ lui $v0, 0x900 -/* 3B7648 E00B64E8 24420200 */ addiu $v0, $v0, 0x200 -/* 3B764C E00B64EC AC820014 */ sw $v0, 0x14($a0) -/* 3B7650 E00B64F0 3C02DE01 */ lui $v0, 0xde01 -/* 3B7654 E00B64F4 AC820018 */ sw $v0, 0x18($a0) -/* 3B7658 E00B64F8 248201A0 */ addiu $v0, $a0, 0x1a0 -/* 3B765C E00B64FC AC82001C */ sw $v0, 0x1c($a0) -/* 3B7660 E00B6500 AE620000 */ sw $v0, ($s3) -/* 3B7664 E00B6504 00031E00 */ sll $v1, $v1, 0x18 -/* 3B7668 E00B6508 00052C00 */ sll $a1, $a1, 0x10 -/* 3B766C E00B650C 00651825 */ or $v1, $v1, $a1 -/* 3B7670 E00B6510 00063200 */ sll $a2, $a2, 8 -/* 3B7674 E00B6514 00661825 */ or $v1, $v1, $a2 -/* 3B7678 E00B6518 00751825 */ or $v1, $v1, $s5 -/* 3B767C E00B651C AC83000C */ sw $v1, 0xc($a0) -.LE00B6520: -/* 3B7680 E00B6520 A50A0000 */ sh $t2, ($t0) -/* 3B7684 E00B6524 25080010 */ addiu $t0, $t0, 0x10 -/* 3B7688 E00B6528 00171940 */ sll $v1, $s7, 5 -/* 3B768C E00B652C 26F70004 */ addiu $s7, $s7, 4 -/* 3B7690 E00B6530 A4EFFFF3 */ sh $t7, -0xd($a3) -/* 3B7694 E00B6534 A4E0FFF5 */ sh $zero, -0xb($a3) -/* 3B7698 E00B6538 A4E3FFF9 */ sh $v1, -7($a3) -/* 3B769C E00B653C C640002C */ lwc1 $f0, 0x2c($s2) -/* 3B76A0 E00B6540 25290001 */ addiu $t1, $t1, 1 -/* 3B76A4 E00B6544 A0ECFFFD */ sb $t4, -3($a3) -/* 3B76A8 E00B6548 A0ECFFFE */ sb $t4, -2($a3) -/* 3B76AC E00B654C A0ECFFFF */ sb $t4, -1($a3) -/* 3B76B0 E00B6550 A0EB0000 */ sb $t3, ($a3) -/* 3B76B4 E00B6554 4600018D */ trunc.w.s $f6, $f0 -/* 3B76B8 E00B6558 44023000 */ mfc1 $v0, $f6 -/* 3B76BC E00B655C 00000000 */ nop -/* 3B76C0 E00B6560 00021140 */ sll $v0, $v0, 5 -/* 3B76C4 E00B6564 A4E2FFFB */ sh $v0, -5($a3) -/* 3B76C8 E00B6568 24E70010 */ addiu $a3, $a3, 0x10 -/* 3B76CC E00B656C A50A0000 */ sh $t2, ($t0) -/* 3B76D0 E00B6570 C640002C */ lwc1 $f0, 0x2c($s2) -/* 3B76D4 E00B6574 25080010 */ addiu $t0, $t0, 0x10 -/* 3B76D8 E00B6578 A0EB0000 */ sb $t3, ($a3) -/* 3B76DC E00B657C 256BFFEC */ addiu $t3, $t3, -0x14 -/* 3B76E0 E00B6580 26520004 */ addiu $s2, $s2, 4 -/* 3B76E4 E00B6584 254A0032 */ addiu $t2, $t2, 0x32 -/* 3B76E8 E00B6588 46040000 */ add.s $f0, $f0, $f4 -/* 3B76EC E00B658C A4E0FFF5 */ sh $zero, -0xb($a3) -/* 3B76F0 E00B6590 A4E3FFF9 */ sh $v1, -7($a3) -/* 3B76F4 E00B6594 46020002 */ mul.s $f0, $f0, $f2 -/* 3B76F8 E00B6598 00000000 */ nop -/* 3B76FC E00B659C A4EEFFFB */ sh $t6, -5($a3) -/* 3B7700 E00B65A0 A0ECFFFD */ sb $t4, -3($a3) -/* 3B7704 E00B65A4 A0ECFFFE */ sb $t4, -2($a3) -/* 3B7708 E00B65A8 A0ECFFFF */ sb $t4, -1($a3) -/* 3B770C E00B65AC 4600018D */ trunc.w.s $f6, $f0 -/* 3B7710 E00B65B0 44023000 */ mfc1 $v0, $f6 -/* 3B7714 E00B65B4 00000000 */ nop -/* 3B7718 E00B65B8 A4E2FFF3 */ sh $v0, -0xd($a3) -/* 3B771C E00B65BC 2922000C */ slti $v0, $t1, 0xc -/* 3B7720 E00B65C0 1440FFD7 */ bnez $v0, .LE00B6520 -/* 3B7724 E00B65C4 24E70010 */ addiu $a3, $a3, 0x10 -/* 3B7728 E00B65C8 0120302D */ daddu $a2, $t1, $zero -/* 3B772C E00B65CC 3C07800A */ lui $a3, %hi(gMasterGfxPos) -/* 3B7730 E00B65D0 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos) -/* 3B7734 E00B65D4 00061040 */ sll $v0, $a2, 1 -/* 3B7738 E00B65D8 0000482D */ daddu $t1, $zero, $zero -/* 3B773C E00B65DC 304400FF */ andi $a0, $v0, 0xff -/* 3B7740 E00B65E0 00042300 */ sll $a0, $a0, 0xc -/* 3B7744 E00B65E4 3042007F */ andi $v0, $v0, 0x7f -/* 3B7748 E00B65E8 00021040 */ sll $v0, $v0, 1 -/* 3B774C E00B65EC 8CE30000 */ lw $v1, ($a3) -/* 3B7750 E00B65F0 24C6FFFF */ addiu $a2, $a2, -1 -/* 3B7754 E00B65F4 0060282D */ daddu $a1, $v1, $zero -/* 3B7758 E00B65F8 24630008 */ addiu $v1, $v1, 8 -/* 3B775C E00B65FC ACE30000 */ sw $v1, ($a3) -/* 3B7760 E00B6600 3C030100 */ lui $v1, 0x100 -/* 3B7764 E00B6604 00431025 */ or $v0, $v0, $v1 -/* 3B7768 E00B6608 00822025 */ or $a0, $a0, $v0 -/* 3B776C E00B660C ACA40000 */ sw $a0, ($a1) -/* 3B7770 E00B6610 18C00036 */ blez $a2, .LE00B66EC -/* 3B7774 E00B6614 ACAD0004 */ sw $t5, 4($a1) -/* 3B7778 E00B6618 00E0682D */ daddu $t5, $a3, $zero -/* 3B777C E00B661C 3C0C0600 */ lui $t4, 0x600 -/* 3B7780 E00B6620 240B0001 */ addiu $t3, $zero, 1 -/* 3B7784 E00B6624 3C100606 */ lui $s0, 0x606 -/* 3B7788 E00B6628 36100402 */ ori $s0, $s0, 0x402 -/* 3B778C E00B662C 3C0F0002 */ lui $t7, 2 -/* 3B7790 E00B6630 35EF0406 */ ori $t7, $t7, 0x406 -/* 3B7794 E00B6634 3C0E0006 */ lui $t6, 6 -/* 3B7798 E00B6638 35CE0804 */ ori $t6, $t6, 0x804 -/* 3B779C E00B663C 24080004 */ addiu $t0, $zero, 4 -/* 3B77A0 E00B6640 24070002 */ addiu $a3, $zero, 2 -/* 3B77A4 E00B6644 240A0006 */ addiu $t2, $zero, 6 -.LE00B6648: -/* 3B77A8 E00B6648 8DA40000 */ lw $a0, ($t5) -/* 3B77AC E00B664C 00092840 */ sll $a1, $t1, 1 -/* 3B77B0 E00B6650 24820008 */ addiu $v0, $a0, 8 -/* 3B77B4 E00B6654 14A00004 */ bnez $a1, .LE00B6668 -/* 3B77B8 E00B6658 ADA20000 */ sw $v0, ($t5) -/* 3B77BC E00B665C 00091440 */ sll $v0, $t1, 0x11 -/* 3B77C0 E00B6660 0802D9A4 */ j .LE00B6690 -/* 3B77C4 E00B6664 34420402 */ ori $v0, $v0, 0x402 -.LE00B6668: -/* 3B77C8 E00B6668 14AB0003 */ bne $a1, $t3, .LE00B6678 -/* 3B77CC E00B666C 30E200FF */ andi $v0, $a3, 0xff -/* 3B77D0 E00B6670 0802D9A6 */ j .LE00B6698 -/* 3B77D4 E00B6674 AC900000 */ sw $s0, ($a0) -.LE00B6678: -/* 3B77D8 E00B6678 00021400 */ sll $v0, $v0, 0x10 -/* 3B77DC E00B667C 00091A80 */ sll $v1, $t1, 0xa -/* 3B77E0 E00B6680 3063FC00 */ andi $v1, $v1, 0xfc00 -/* 3B77E4 E00B6684 00431025 */ or $v0, $v0, $v1 -/* 3B77E8 E00B6688 310300FF */ andi $v1, $t0, 0xff -/* 3B77EC E00B668C 00431025 */ or $v0, $v0, $v1 -.LE00B6690: -/* 3B77F0 E00B6690 004C1025 */ or $v0, $v0, $t4 -/* 3B77F4 E00B6694 AC820000 */ sw $v0, ($a0) -.LE00B6698: -/* 3B77F8 E00B6698 14A00003 */ bnez $a1, .LE00B66A8 -/* 3B77FC E00B669C 00000000 */ nop -/* 3B7800 E00B66A0 0802D9B5 */ j .LE00B66D4 -/* 3B7804 E00B66A4 AC8F0004 */ sw $t7, 4($a0) -.LE00B66A8: -/* 3B7808 E00B66A8 14AB0003 */ bne $a1, $t3, .LE00B66B8 -/* 3B780C E00B66AC 314200FF */ andi $v0, $t2, 0xff -/* 3B7810 E00B66B0 0802D9B5 */ j .LE00B66D4 -/* 3B7814 E00B66B4 AC8E0004 */ sw $t6, 4($a0) -.LE00B66B8: -/* 3B7818 E00B66B8 00021400 */ sll $v0, $v0, 0x10 -/* 3B781C E00B66BC 30E300FF */ andi $v1, $a3, 0xff -/* 3B7820 E00B66C0 00031A00 */ sll $v1, $v1, 8 -/* 3B7824 E00B66C4 00431025 */ or $v0, $v0, $v1 -/* 3B7828 E00B66C8 310300FF */ andi $v1, $t0, 0xff -/* 3B782C E00B66CC 00431025 */ or $v0, $v0, $v1 -/* 3B7830 E00B66D0 AC820004 */ sw $v0, 4($a0) -.LE00B66D4: -/* 3B7834 E00B66D4 25080004 */ addiu $t0, $t0, 4 -/* 3B7838 E00B66D8 24E70004 */ addiu $a3, $a3, 4 -/* 3B783C E00B66DC 25290001 */ addiu $t1, $t1, 1 -/* 3B7840 E00B66E0 0126102A */ slt $v0, $t1, $a2 -/* 3B7844 E00B66E4 1440FFD8 */ bnez $v0, .LE00B6648 -/* 3B7848 E00B66E8 254A0004 */ addiu $t2, $t2, 4 -.LE00B66EC: -/* 3B784C E00B66EC 3C05D838 */ lui $a1, 0xd838 -/* 3B7850 E00B66F0 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* 3B7854 E00B66F4 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* 3B7858 E00B66F8 8C620000 */ lw $v0, ($v1) -/* 3B785C E00B66FC 34A50002 */ ori $a1, $a1, 2 -/* 3B7860 E00B6700 0040202D */ daddu $a0, $v0, $zero -/* 3B7864 E00B6704 24420008 */ addiu $v0, $v0, 8 -/* 3B7868 E00B6708 AC620000 */ sw $v0, ($v1) -/* 3B786C E00B670C 24020040 */ addiu $v0, $zero, 0x40 -/* 3B7870 E00B6710 AC850000 */ sw $a1, ($a0) -/* 3B7874 E00B6714 AC820004 */ sw $v0, 4($a0) -/* 3B7878 E00B6718 8FBF00B0 */ lw $ra, 0xb0($sp) -/* 3B787C E00B671C 8FB700AC */ lw $s7, 0xac($sp) -/* 3B7880 E00B6720 8FB600A8 */ lw $s6, 0xa8($sp) -/* 3B7884 E00B6724 8FB500A4 */ lw $s5, 0xa4($sp) -/* 3B7888 E00B6728 8FB400A0 */ lw $s4, 0xa0($sp) -/* 3B788C E00B672C 8FB3009C */ lw $s3, 0x9c($sp) -/* 3B7890 E00B6730 8FB20098 */ lw $s2, 0x98($sp) -/* 3B7894 E00B6734 8FB10094 */ lw $s1, 0x94($sp) -/* 3B7898 E00B6738 8FB00090 */ lw $s0, 0x90($sp) -/* 3B789C E00B673C D7B400B8 */ ldc1 $f20, 0xb8($sp) -/* 3B78A0 E00B6740 03E00008 */ jr $ra -/* 3B78A4 E00B6744 27BD00C0 */ addiu $sp, $sp, 0xc0 -/* 3B78A8 E00B6748 00000000 */ nop -/* 3B78AC E00B674C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/waterfall/waterfall_main.s b/ver/us/asm/nonmatchings/effects/waterfall/waterfall_main.s deleted file mode 100644 index 09f98704ad..0000000000 --- a/ver/us/asm/nonmatchings/effects/waterfall/waterfall_main.s +++ /dev/null @@ -1,109 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E00B6750 -.double 0.01 - -.section .text -glabel waterfall_main -/* 3B7160 E00B6000 27BDFFA0 */ addiu $sp, $sp, -0x60 -/* 3B7164 E00B6004 F7B80048 */ sdc1 $f24, 0x48($sp) -/* 3B7168 E00B6008 4485C000 */ mtc1 $a1, $f24 -/* 3B716C E00B600C F7BA0050 */ sdc1 $f26, 0x50($sp) -/* 3B7170 E00B6010 4486D000 */ mtc1 $a2, $f26 -/* 3B7174 E00B6014 AFB1002C */ sw $s1, 0x2c($sp) -/* 3B7178 E00B6018 0080882D */ daddu $s1, $a0, $zero -/* 3B717C E00B601C F7BC0058 */ sdc1 $f28, 0x58($sp) -/* 3B7180 E00B6020 4487E000 */ mtc1 $a3, $f28 -/* 3B7184 E00B6024 27A40010 */ addiu $a0, $sp, 0x10 -/* 3B7188 E00B6028 AFB00028 */ sw $s0, 0x28($sp) -/* 3B718C E00B602C 8FB00074 */ lw $s0, 0x74($sp) -/* 3B7190 E00B6030 3C02E00B */ lui $v0, %hi(waterfall_init) -/* 3B7194 E00B6034 24426178 */ addiu $v0, $v0, %lo(waterfall_init) -/* 3B7198 E00B6038 AFA20018 */ sw $v0, 0x18($sp) -/* 3B719C E00B603C 3C02E00B */ lui $v0, %hi(waterfall_update) -/* 3B71A0 E00B6040 24426180 */ addiu $v0, $v0, %lo(waterfall_update) -/* 3B71A4 E00B6044 AFA2001C */ sw $v0, 0x1c($sp) -/* 3B71A8 E00B6048 3C02E00B */ lui $v0, %hi(waterfall_render) -/* 3B71AC E00B604C 2442629C */ addiu $v0, $v0, %lo(waterfall_render) -/* 3B71B0 E00B6050 AFA20020 */ sw $v0, 0x20($sp) -/* 3B71B4 E00B6054 2402005B */ addiu $v0, $zero, 0x5b -/* 3B71B8 E00B6058 AFBF0034 */ sw $ra, 0x34($sp) -/* 3B71BC E00B605C AFB20030 */ sw $s2, 0x30($sp) -/* 3B71C0 E00B6060 F7B60040 */ sdc1 $f22, 0x40($sp) -/* 3B71C4 E00B6064 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 3B71C8 E00B6068 AFA00010 */ sw $zero, 0x10($sp) -/* 3B71CC E00B606C AFA00024 */ sw $zero, 0x24($sp) -/* 3B71D0 E00B6070 0C080124 */ jal shim_create_effect_instance -/* 3B71D4 E00B6074 AFA20014 */ sw $v0, 0x14($sp) -/* 3B71D8 E00B6078 2404008C */ addiu $a0, $zero, 0x8c -/* 3B71DC E00B607C 24030001 */ addiu $v1, $zero, 1 -/* 3B71E0 E00B6080 0040902D */ daddu $s2, $v0, $zero -/* 3B71E4 E00B6084 0C08012C */ jal shim_general_heap_malloc -/* 3B71E8 E00B6088 AE430008 */ sw $v1, 8($s2) -/* 3B71EC E00B608C 0040182D */ daddu $v1, $v0, $zero -/* 3B71F0 E00B6090 14600003 */ bnez $v1, .LE00B60A0 -/* 3B71F4 E00B6094 AE42000C */ sw $v0, 0xc($s2) -.LE00B6098: -/* 3B71F8 E00B6098 0802D826 */ j .LE00B6098 -/* 3B71FC E00B609C 00000000 */ nop -.LE00B60A0: -/* 3B7200 E00B60A0 AC710000 */ sw $s1, ($v1) -/* 3B7204 E00B60A4 1E000004 */ bgtz $s0, .LE00B60B8 -/* 3B7208 E00B60A8 AC600014 */ sw $zero, 0x14($v1) -/* 3B720C E00B60AC 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 3B7210 E00B60B0 0802D82F */ j .LE00B60BC -/* 3B7214 E00B60B4 AC620010 */ sw $v0, 0x10($v1) -.LE00B60B8: -/* 3B7218 E00B60B8 AC700010 */ sw $s0, 0x10($v1) -.LE00B60BC: -/* 3B721C E00B60BC 0000882D */ daddu $s1, $zero, $zero -/* 3B7220 E00B60C0 3C01E00B */ lui $at, %hi(D_E00B6750) -/* 3B7224 E00B60C4 D4366750 */ ldc1 $f22, %lo(D_E00B6750)($at) -/* 3B7228 E00B60C8 3C01BFF0 */ lui $at, 0xbff0 -/* 3B722C E00B60CC 4481A800 */ mtc1 $at, $f21 -/* 3B7230 E00B60D0 4480A000 */ mtc1 $zero, $f20 -/* 3B7234 E00B60D4 0060802D */ daddu $s0, $v1, $zero -/* 3B7238 E00B60D8 AE000024 */ sw $zero, 0x24($s0) -/* 3B723C E00B60DC E6180004 */ swc1 $f24, 4($s0) -/* 3B7240 E00B60E0 E61A0008 */ swc1 $f26, 8($s0) -/* 3B7244 E00B60E4 E61C000C */ swc1 $f28, 0xc($s0) -/* 3B7248 E00B60E8 C7A00070 */ lwc1 $f0, 0x70($sp) -/* 3B724C E00B60EC 24020014 */ addiu $v0, $zero, 0x14 -/* 3B7250 E00B60F0 AE020018 */ sw $v0, 0x18($s0) -/* 3B7254 E00B60F4 24020078 */ addiu $v0, $zero, 0x78 -/* 3B7258 E00B60F8 AE02001C */ sw $v0, 0x1c($s0) -/* 3B725C E00B60FC 240200FF */ addiu $v0, $zero, 0xff -/* 3B7260 E00B6100 AE020020 */ sw $v0, 0x20($s0) -/* 3B7264 E00B6104 E6000028 */ swc1 $f0, 0x28($s0) -.LE00B6108: -/* 3B7268 E00B6108 2404000A */ addiu $a0, $zero, 0xa -/* 3B726C E00B610C 0C080138 */ jal shim_rand_int -/* 3B7270 E00B6110 AE00002C */ sw $zero, 0x2c($s0) -/* 3B7274 E00B6114 44820000 */ mtc1 $v0, $f0 -/* 3B7278 E00B6118 00000000 */ nop -/* 3B727C E00B611C 46800020 */ cvt.s.w $f0, $f0 -/* 3B7280 E00B6120 46000021 */ cvt.d.s $f0, $f0 -/* 3B7284 E00B6124 46360002 */ mul.d $f0, $f0, $f22 -/* 3B7288 E00B6128 00000000 */ nop -/* 3B728C E00B612C 46340000 */ add.d $f0, $f0, $f20 -/* 3B7290 E00B6130 26310001 */ addiu $s1, $s1, 1 -/* 3B7294 E00B6134 2A22000C */ slti $v0, $s1, 0xc -/* 3B7298 E00B6138 46200020 */ cvt.s.d $f0, $f0 -/* 3B729C E00B613C E600005C */ swc1 $f0, 0x5c($s0) -/* 3B72A0 E00B6140 1440FFF1 */ bnez $v0, .LE00B6108 -/* 3B72A4 E00B6144 26100004 */ addiu $s0, $s0, 4 -/* 3B72A8 E00B6148 0240102D */ daddu $v0, $s2, $zero -/* 3B72AC E00B614C 8FBF0034 */ lw $ra, 0x34($sp) -/* 3B72B0 E00B6150 8FB20030 */ lw $s2, 0x30($sp) -/* 3B72B4 E00B6154 8FB1002C */ lw $s1, 0x2c($sp) -/* 3B72B8 E00B6158 8FB00028 */ lw $s0, 0x28($sp) -/* 3B72BC E00B615C D7BC0058 */ ldc1 $f28, 0x58($sp) -/* 3B72C0 E00B6160 D7BA0050 */ ldc1 $f26, 0x50($sp) -/* 3B72C4 E00B6164 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 3B72C8 E00B6168 D7B60040 */ ldc1 $f22, 0x40($sp) -/* 3B72CC E00B616C D7B40038 */ ldc1 $f20, 0x38($sp) -/* 3B72D0 E00B6170 03E00008 */ jr $ra -/* 3B72D4 E00B6174 27BD0060 */ addiu $sp, $sp, 0x60 diff --git a/ver/us/asm/nonmatchings/effects/waterfall/waterfall_update.s b/ver/us/asm/nonmatchings/effects/waterfall/waterfall_update.s deleted file mode 100644 index cf22dd5fd5..0000000000 --- a/ver/us/asm/nonmatchings/effects/waterfall/waterfall_update.s +++ /dev/null @@ -1,92 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E00B6758 -.double -0.1 - -dlabel D_E00B6760 -.double 0.1 - -.section .text -glabel waterfall_update -/* 3B72E0 E00B6180 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3B72E4 E00B6184 AFBF0010 */ sw $ra, 0x10($sp) -/* 3B72E8 E00B6188 8C830000 */ lw $v1, ($a0) -/* 3B72EC E00B618C 8C85000C */ lw $a1, 0xc($a0) -/* 3B72F0 E00B6190 30620010 */ andi $v0, $v1, 0x10 -/* 3B72F4 E00B6194 10400005 */ beqz $v0, .LE00B61AC -/* 3B72F8 E00B6198 2402FFEF */ addiu $v0, $zero, -0x11 -/* 3B72FC E00B619C 00621024 */ and $v0, $v1, $v0 -/* 3B7300 E00B61A0 AC820000 */ sw $v0, ($a0) -/* 3B7304 E00B61A4 24020010 */ addiu $v0, $zero, 0x10 -/* 3B7308 E00B61A8 ACA20010 */ sw $v0, 0x10($a1) -.LE00B61AC: -/* 3B730C E00B61AC 8CA30010 */ lw $v1, 0x10($a1) -/* 3B7310 E00B61B0 286203E8 */ slti $v0, $v1, 0x3e8 -/* 3B7314 E00B61B4 10400002 */ beqz $v0, .LE00B61C0 -/* 3B7318 E00B61B8 2462FFFF */ addiu $v0, $v1, -1 -/* 3B731C E00B61BC ACA20010 */ sw $v0, 0x10($a1) -.LE00B61C0: -/* 3B7320 E00B61C0 8CA20014 */ lw $v0, 0x14($a1) -/* 3B7324 E00B61C4 8CA30010 */ lw $v1, 0x10($a1) -/* 3B7328 E00B61C8 24460001 */ addiu $a2, $v0, 1 -/* 3B732C E00B61CC 04610005 */ bgez $v1, .LE00B61E4 -/* 3B7330 E00B61D0 ACA60014 */ sw $a2, 0x14($a1) -/* 3B7334 E00B61D4 0C080128 */ jal shim_remove_effect -/* 3B7338 E00B61D8 00000000 */ nop -/* 3B733C E00B61DC 0802D8A4 */ j .LE00B6290 -/* 3B7340 E00B61E0 00000000 */ nop -.LE00B61E4: -/* 3B7344 E00B61E4 28620010 */ slti $v0, $v1, 0x10 -/* 3B7348 E00B61E8 10400002 */ beqz $v0, .LE00B61F4 -/* 3B734C E00B61EC 00031100 */ sll $v0, $v1, 4 -/* 3B7350 E00B61F0 ACA20024 */ sw $v0, 0x24($a1) -.LE00B61F4: -/* 3B7354 E00B61F4 28C20010 */ slti $v0, $a2, 0x10 -/* 3B7358 E00B61F8 10400003 */ beqz $v0, .LE00B6208 -/* 3B735C E00B61FC 00061100 */ sll $v0, $a2, 4 -/* 3B7360 E00B6200 2442000F */ addiu $v0, $v0, 0xf -/* 3B7364 E00B6204 ACA20024 */ sw $v0, 0x24($a1) -.LE00B6208: -/* 3B7368 E00B6208 0000202D */ daddu $a0, $zero, $zero -/* 3B736C E00B620C 00A0182D */ daddu $v1, $a1, $zero -/* 3B7370 E00B6210 3C01E00B */ lui $at, %hi(D_E00B6758) -/* 3B7374 E00B6214 D42A6758 */ ldc1 $f10, %lo(D_E00B6758)($at) -/* 3B7378 E00B6218 3C0140A0 */ lui $at, 0x40a0 -/* 3B737C E00B621C 44816000 */ mtc1 $at, $f12 -/* 3B7380 E00B6220 3C014014 */ lui $at, 0x4014 -/* 3B7384 E00B6224 44814800 */ mtc1 $at, $f9 -/* 3B7388 E00B6228 44804000 */ mtc1 $zero, $f8 -/* 3B738C E00B622C 3C01E00B */ lui $at, %hi(D_E00B6760) -/* 3B7390 E00B6230 D4266760 */ ldc1 $f6, %lo(D_E00B6760)($at) -.LE00B6234: -/* 3B7394 E00B6234 C464005C */ lwc1 $f4, 0x5c($v1) -/* 3B7398 E00B6238 46002086 */ mov.s $f2, $f4 -/* 3B739C E00B623C 460010A1 */ cvt.d.s $f2, $f2 -/* 3B73A0 E00B6240 462A1080 */ add.d $f2, $f2, $f10 -/* 3B73A4 E00B6244 C460002C */ lwc1 $f0, 0x2c($v1) -/* 3B73A8 E00B6248 46040000 */ add.s $f0, $f0, $f4 -/* 3B73AC E00B624C 462010A0 */ cvt.s.d $f2, $f2 -/* 3B73B0 E00B6250 E460002C */ swc1 $f0, 0x2c($v1) -/* 3B73B4 E00B6254 4602603C */ c.lt.s $f12, $f2 -/* 3B73B8 E00B6258 00000000 */ nop -/* 3B73BC E00B625C 45000008 */ bc1f .LE00B6280 -/* 3B73C0 E00B6260 E462005C */ swc1 $f2, 0x5c($v1) -/* 3B73C4 E00B6264 460010A1 */ cvt.d.s $f2, $f2 -/* 3B73C8 E00B6268 46224001 */ sub.d $f0, $f8, $f2 -/* 3B73CC E00B626C 46260002 */ mul.d $f0, $f0, $f6 -/* 3B73D0 E00B6270 00000000 */ nop -/* 3B73D4 E00B6274 46201080 */ add.d $f2, $f2, $f0 -/* 3B73D8 E00B6278 462010A0 */ cvt.s.d $f2, $f2 -/* 3B73DC E00B627C E462005C */ swc1 $f2, 0x5c($v1) -.LE00B6280: -/* 3B73E0 E00B6280 24840001 */ addiu $a0, $a0, 1 -/* 3B73E4 E00B6284 2882000C */ slti $v0, $a0, 0xc -/* 3B73E8 E00B6288 1440FFEA */ bnez $v0, .LE00B6234 -/* 3B73EC E00B628C 24630004 */ addiu $v1, $v1, 4 -.LE00B6290: -/* 3B73F0 E00B6290 8FBF0010 */ lw $ra, 0x10($sp) -/* 3B73F4 E00B6294 03E00008 */ jr $ra -/* 3B73F8 E00B6298 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index d5f0382300..5121078a9f 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -4031,7 +4031,7 @@ segments: vram: 0xE0070000 subsegments: - [0x3740B0, c, shimmer_burst] - - [0x374D80, data] + - [0x374D80] - name: effect_energy_shockwave dir: effects type: code @@ -5025,7 +5025,21 @@ segments: subsegments: - [0x3B7160, c, waterfall] - [0x3B78B0] - - [0x3B78D0, bin] # waterfall gfx + - name: effect_gfx_waterfall + dir: effects/gfx + type: code + start: 0x3B78D0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3B78D0, c, waterfall] + - start: 0x3B78D0 + type: .data + name: waterfall + subsegments: + - [0x3B78D0, i4, D_09000000_3B78D0, 32, 32] + - [0x3B7AD0, gfx, D_09000200_3B7AD0] + - [0x3B7B78] - name: effect_water_fountain dir: effects type: code @@ -5034,9 +5048,25 @@ segments: subsegments: - [0x3B7B80, c, water_fountain] - [0x3B8470] - - start: 0x3B8860 # water_fountain gfx - type: bin - align: 16 + - name: effect_gfx_water_fountain + dir: effects/gfx + type: code + start: 0x3B8860 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3B8860, c, water_fountain] + - start: 0x3B8860 + type: .data + name: water_fountain + subsegments: + - [0x3B8860, i4, D_09000000_3B8860, 32, 32] + - [0x3B8A60, vtx, D_09000200_3B8A60] + - [0x3B8AA0, vtx, D_09000240_3B8AA0] + - [0x3B8AE0, gfx, D_09000280_3B8AE0] + - [0x3B8B88, gfx, D_09000328_3B8B88] + - [0x3B8BA8, gfx, D_09000348_3B8BA8] + - [0x3B8BC8] - name: effect_underwater dir: effects type: code