Windy leaves and water splash effects (#870)

* more effects

* delete asm

* PR comments

* More PR comments
This commit is contained in:
pixel-stuck 2022-11-25 11:06:31 -05:00 committed by GitHub
parent 25e4f67adb
commit 0c9c8e8137
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 465 additions and 1789 deletions

View File

@ -788,8 +788,20 @@ typedef struct Unk2AFXData {
} Unk2AFXData; // size = unknown
typedef struct WindyLeavesFXData {
/* 0x00 */ char todo[0];
} WindyLeavesFXData; // size = unknown
/* 0x00 */ s32 type;
/* 0x04 */ Vec3f unk_04;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ s32 alpha;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
} WindyLeavesFXData; // size = 0x3C
typedef struct FallingLeavesFXData {
/* 0x00 */ s32 unk_00;
@ -1782,8 +1794,17 @@ typedef struct LightningBoltFXData {
} LightningBoltFXData; // size = 0x118
typedef struct WaterSplashFXData {
/* 0x00 */ char todo[0];
} WaterSplashFXData; // size = unknown
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f unk_04;
/* 0x10 */ Vec3f unk_10;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ f32 unk_34;
} WaterSplashFXData; // size = 0x38
typedef struct SnowmanDollFXData {
/* 0x00 */ s32 unk_00;

View File

@ -77,7 +77,7 @@ void music_note_main(s32, f32, f32, f32);
void smoke_burst_main(s32, f32, f32, f32, f32, s32);
void sweat_main(s32, f32, f32, f32, f32, f32, s32);
void sleep_bubble_main(s32, f32, f32, f32, f32, f32, EffectInstance**);
FX_MAIN(windy_leaves_main);
void windy_leaves_main(s32, f32, f32, f32);
void falling_leaves_main(s32, f32, f32, f32);
void stars_spread_main(s32, f32, f32, f32, s32, s32);
void steam_burst_main(s32, f32, f32, f32, f32, s32);
@ -129,7 +129,7 @@ EffectInstance* waterfall_main(s32, f32, f32, f32, f32, s32);
EffectInstance* water_fountain_main(s32, f32, f32, f32, f32, s32);
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* water_splash_main(s32, f32, f32, f32, f32, s32);
EffectInstance* snowman_doll_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fright_jar_main(s32, f32, f32, f32, f32, s32);
EffectInstance* stop_watch_main(s32, f32, f32, f32, f32, s32);

View File

@ -1,6 +1,8 @@
#include "common.h"
#include "nu/nusys.h"
#include "effects_internal.h"
extern Gfx D_09000100_3BCB90[];
extern Gfx D_09000268_3BCCF8[];
extern Gfx D_09000288_3BCD18[];
extern Gfx D_090002A8_3BCD38[];
@ -9,14 +11,145 @@ Gfx* D_E00BEAF0[] = {
D_09000268_3BCCF8, D_09000288_3BCD18, D_09000268_3BCCF8, D_090002A8_3BCD38
};
void water_splash_init(EffectInstance *effect);
void water_splash_render(EffectInstance *effect);
void water_splash_update(EffectInstance *effect);
void water_splash_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/water_splash", water_splash_main);
EffectInstance* water_splash_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
EffectInstance *effect;
WaterSplashFXData* part;
s32 i;
s32 numParts;
void water_splash_init(void) {
switch (arg0) {
case 0:
case 1:
numParts = 21;
break;
case 2:
numParts = 41;
break;
default:
numParts = 11;
break;
}
bpPtr->init = water_splash_init;
bpPtr->update = water_splash_update;
bpPtr->renderWorld = water_splash_render;
bpPtr->unk_00 = 0;
bpPtr->unk_14 = NULL;
bpPtr->effectID = EFFECT_WATER_SPLASH;
effect = shim_create_effect_instance(bpPtr);
effect->numParts = numParts;
effect->data.waterSplash = part = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(part != NULL);
part->unk_00 = arg0;
part->unk_20 = 0;
if (arg5 <= 0) {
part->unk_1C = 1000;
} else {
part->unk_1C = arg5;
}
part->unk_30 = 255;
part->unk_04.x = arg1;
part->unk_04.y = arg2;
part->unk_04.z = arg3;
part->unk_34 = arg4;
part->unk_24 = 70;
part->unk_28 = 180;
part->unk_2C = 255;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_04.x = 0.0f;
part->unk_04.y = 0.0f;
part->unk_04.z = 0.0f;
part->unk_34 = 2.0f;
switch (arg0) {
case 0:
part->unk_10.x = shim_rand_int(10) - 2;
part->unk_10.y = shim_rand_int(10) - 5;
part->unk_10.z = shim_rand_int(10) - 5;
break;
case 1:
part->unk_10.x = 2 - shim_rand_int(10);
part->unk_10.y = shim_rand_int(10) - 5;
part->unk_10.z = shim_rand_int(10) - 5;
break;
case 2:
part->unk_10.x = (shim_rand_int(100) - 50) * 0.07f;
part->unk_10.y = (shim_rand_int(100) + 10) * 0.2f;
part->unk_10.z = (shim_rand_int(100) - 50) * 0.07f;
break;
default:
part->unk_10.x = (shim_rand_int(10) - 5) * 0.5;
part->unk_10.y = (shim_rand_int(10) - 5) * 0.5;
part->unk_10.z = (shim_rand_int(10) - 5) * 0.5;
part->unk_1C = i;
part->unk_34 = 0.4f;
break;
}
part->unk_30 = 0xFF;
}
return effect;
}
INCLUDE_ASM(s32, "effects/water_splash", water_splash_update);
void water_splash_init(EffectInstance* effect) {
}
void water_splash_update(EffectInstance *effect) {
WaterSplashFXData *part;
s32 temp_a1_3;
s32 temp_a2;
s32 i;
part = effect->data.waterSplash;
temp_a2 = part->unk_00;
if ((effect->flags & 0x10) != 0) {
effect->flags &= ~0x10;
part->unk_1C = 0x10;
}
if (part->unk_1C < 1000) {
part->unk_1C--;
}
temp_a1_3 = part->unk_1C;
part->unk_20++;
if (temp_a1_3 < 0) {
shim_remove_effect(effect);
return;
}
if (temp_a1_3 < 4) {
part->unk_30 = temp_a1_3 * 64;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_04.x += part->unk_10.x;
part->unk_04.y += part->unk_10.y;
part->unk_04.z += part->unk_10.z;
part->unk_30 *= 0.98;
if (temp_a2 == 2) {
part->unk_10.y += -0.8;
}
part->unk_10.y += -0.1;
part->unk_10.x *= 0.98;
part->unk_10.y *= 0.98;
part->unk_10.z *= 0.98;
if (temp_a2 == 3) {
part->unk_34 *= 1.2;
} else {
part->unk_34 *= 0.9;
}
}
}
void water_splash_render(EffectInstance* effect) {
RenderTask renderTask;
@ -33,4 +166,56 @@ void water_splash_render(EffectInstance* effect) {
void func_E00BE5B4(void) {
}
INCLUDE_ASM(s32, "effects/water_splash", water_splash_appendGfx);
void water_splash_appendGfx(void* effect) {
Matrix4f sp10;
Matrix4f sp50;
WaterSplashFXData* data = ((EffectInstance*)effect)->data.waterSplash;
s32 sp90 = data->unk_30;
s32 sp94 = data->unk_04.x;
s32 temp_fp = data->unk_04.y;
Camera* currentCamera = &gCameras[gCurrentCameraID];
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, OS_K0_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp10, sp94, temp_fp, data->unk_04.z);
shim_guScaleF(sp50, data->unk_34, data->unk_34, data->unk_34);
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++, currentCamera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000100_3BCB90);
data++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, data++) {
s32 temp_t2 = (s32)data->unk_04.x + sp94;
s32 temp_t3 = (s32)data->unk_04.y + temp_fp;
if (temp_t2 < 0) {
temp_t2 = -(temp_t2 & 0x7F);
} else {
temp_t2 = temp_t2 & 0x7F;
}
if (temp_t3 > 0) {
temp_t3 = -(temp_t3 & 0x3F);
} else {
temp_t3 = temp_t3 & 0x3F;
}
gDPLoadMultiTile(gMasterGfxPos++, OS_K0_TO_PHYSICAL(nuGfxCfb_ptr), 0x100, 1, G_IM_FMT_RGBA, G_IM_SIZ_16b, 320, 0,
temp_t2 + 0xA0, temp_t3 + 0x78, temp_t2 + 0xBF, temp_t3 + 0x97, 0,
G_TX_WRAP, G_TX_WRAP, 5, 5, G_TX_NOLOD, G_TX_NOLOD);
shim_guTranslateF(sp10, data->unk_04.x, data->unk_04.y, data->unk_04.z);
shim_guScaleF(sp50, data->unk_34, data->unk_34, data->unk_34);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 200, 255, 255, (sp90 * data->unk_30) / 255);
gDPSetEnvColor(gMasterGfxPos++, 0, 32, 32, 0);
gSPDisplayList(gMasterGfxPos++, D_E00BEAF0[(i + (gGameStatusPtr->frameCounter / 2)) & 3]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,217 @@
#include "common.h"
#include "effects_internal.h"
void windy_leaves_init(EffectInstance* effect);
void windy_leaves_update(EffectInstance* effect);
void windy_leaves_render(EffectInstance* effect);
void windy_leaves_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/windy_leaves", windy_leaves_main);
void windy_leaves_main(s32 type, f32 arg1, f32 arg2, f32 arg3) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
EffectInstance* effect;
WindyLeavesFXData* part;
s32 numParts;
s32 i;
void windy_leaves_init(void) {
bp.init = windy_leaves_init;
bp.update = windy_leaves_update;
bp.renderWorld = windy_leaves_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_WINDY_LEAVES;
numParts = 5;
effect = shim_create_effect_instance(bpPtr);
effect->numParts = numParts;
effect->data.windyLeaves = part = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(part != NULL);
part->type = type;
part->unk_04.x = arg1;
part->unk_04.y = arg2;
part->unk_04.z = arg3;
part->unk_28 = 100;
part->unk_2C = 0;
part->alpha = 0;
part++;
for (i = 1; i < numParts; i++, part++) {
s32 temp_s0_2 = func_E0200000(50);
s32 temp_s1 = func_E0200000(20);
s32 temp_s2 = func_E0200000(360);
s32 temp_v0_2 = func_E0200000(100);
part->unk_04.x = temp_s0_2 + 75;
part->unk_04.y = temp_s1 + 70;
part->unk_04.z = 0;
part->unk_18 = temp_s2;
part->unk_20 = 360 - temp_s2;
switch (type) {
case 0:
part->unk_10 = 0.0f;
part->unk_14 = 0.0f;
part->unk_34 = 0;
part->unk_30 = -3.0f;;
part->unk_38 = 3.0f;
part->unk_1C = (f32)temp_v0_2 * 0.1;
break;
case 1:
part->unk_10 = 0.0f;
part->unk_14 = 0.0f;
part->unk_34 = 0;
part->unk_30 = -6.0f;
part->unk_38 = 6.0f;
part->unk_1C = 2.0 * ((f32)temp_v0_2 * 0.1);
break;
case 2:
part->unk_1C = 2.0 * ((f32)temp_v0_2 * 0.1);
part->unk_10 = -part->unk_04.x * (shim_rand_int(10) * 0.008 + 0.05);
part->unk_14 = -part->unk_04.y * (shim_rand_int(10) * 0.008 + 0.05);
break;
default:
break;
}
}
}
INCLUDE_ASM(s32, "effects/windy_leaves", windy_leaves_update);
void windy_leaves_init(EffectInstance* effect) {
}
void windy_leaves_update(EffectInstance* effect) {
WindyLeavesFXData* part = effect->data.windyLeaves;
f32 temp_f0_2;
f32 temp_f4;
s32 temp_v0;
s32 temp_v0_2;
s32 temp_a1;
s32 i;
s32 temp;
s32 temp2;
part->unk_28--;
part->unk_2C++;
if (part->unk_28 < 0) {
shim_remove_effect(effect);
return;
}
temp_a1 = part->unk_2C;
temp_v0 = part->unk_28;
temp = part->type;
if (temp_a1 < 10) {
part->alpha += (255 - part->alpha) * 0.3;
}
if (temp_v0 < 10) {
part->alpha *= 0.8;
}
part++;
switch (temp) {
case 0:
for (i = 1; i < effect->numParts; i++, part++) {
f32 temp3 = (shim_sin_deg(2.0f * part->unk_18) * 0.2);
part->unk_14 += -0.05f;
part->unk_10 += temp3;
if (temp == 0) {
part->unk_10 *= 0.94;
part->unk_14 *= shim_sin_deg(part->unk_18) * 0.05 + 0.95;
} else {
part->unk_14 += -0.05f;
part->unk_10 *= 0.92;
}
part->unk_1C += func_E0200044(50, temp_a1 + i * 20) - 25;
part->unk_18 += shim_sin_deg(part->unk_1C) * 10.0f;
part->unk_20 += shim_cos_deg(part->unk_1C * 0.5) * 10.0f;
part->unk_04.x += part->unk_10;
part->unk_04.y += part->unk_14;
if (part->unk_04.y < 30.0f) {
if (part->unk_04.x > -200.0f) {
part->unk_30 -= 0.4;
} else {
part->unk_30 += 0.4;
}
if (part->unk_04.z > 0.0f) {
part->unk_38 -= 0.4;
} else {
part->unk_38 += 0.4;
}
part->unk_30 *= 0.98;
part->unk_38 *= 0.98;
part->unk_14 *= 0.98;
} else {
if(part->unk_04.x > 0.0f) {
part->unk_30 -= 0.4;
} else {
part->unk_30 += 0.4;
}
if (part->unk_04.z > 0.0f){
part->unk_38 -= 0.4;
} else {
part->unk_38 += 0.4;
}
part->unk_30 *= 0.98;
part->unk_38 *= 0.98;
}
part->unk_04.x += part->unk_30;
part->unk_04.y += part->unk_34;
part->unk_04.z += part->unk_38;
}
break;
case 1:
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_10 += (f32)(shim_sin_deg(2.0f * part->unk_18) * 0.2 * 2.0);
part->unk_14 += -0.05f;
part->unk_10 *= 0.8464;
part->unk_14 += -0.05f;
part->unk_1C += func_E0200044(50, temp_a1 + i * 20) - 25;
part->unk_18 += shim_sin_deg(part->unk_1C) * 10.0f;
part->unk_20 += shim_cos_deg(part->unk_1C * 0.5) * 10.0f;
part->unk_04.x += part->unk_10;
part->unk_04.y += part->unk_14;
if (part->unk_04.y < 30.0f) {
if (part->unk_04.x > -200.0f) {
part->unk_30 -= 0.8;
} else {
part->unk_30 += 0.8;
}
if (part->unk_04.z > 0.0f) {
part->unk_38 -= 0.8;
} else {
part->unk_38 += 0.8;
}
part->unk_30 *= 0.9603999999999999;
part->unk_38 *= 0.9603999999999999;
part->unk_14 *= 0.9603999999999999;
} else {
if (part->unk_04.x > 0.0f){
part->unk_30 -= 0.8;
} else {
part->unk_30 += 0.8;
}
if (part->unk_04.z > 0.0f){
part->unk_38 -= 0.8;
} else {
part->unk_38 += 0.8;
}
part->unk_30 *= 0.9603999999999999;
part->unk_38 *= 0.9603999999999999;
}
part->unk_04.x += part->unk_30;
part->unk_04.y += part->unk_34;
part->unk_04.z += part->unk_38;
}
break;
case 2:
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_1C += func_E0200044(50, temp_a1 + i * 20) - 25;
part->unk_18 += shim_sin_deg(part->unk_1C) * 10.0f;
part->unk_20 += shim_cos_deg(part->unk_1C * 0.5) * 10.0f;
part->unk_04.x += part->unk_10;
part->unk_04.y += part->unk_14;
}
break;
}
}
void windy_leaves_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +226,43 @@ void windy_leaves_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/windy_leaves", windy_leaves_appendGfx);
extern Gfx D_09001180_33E790[];
extern Gfx D_09001258_33E868[];
extern Gfx D_09001280_33E890[];
void windy_leaves_appendGfx(void* effect) {
WindyLeavesFXData* part;
Gfx* phi_s7;
s32 i;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
part = ((EffectInstance*)effect)->data.windyLeaves;
phi_s7 = D_09001280_33E890;
if (part->type == 0) {
phi_s7 = D_09001258_33E868;
}
gSPSegment(gMasterGfxPos++, 0x09, OS_K0_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09001180_33E790);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 20, 100, 20, part->alpha);
shim_guTranslateF(sp18, part->unk_04.x, part->unk_04.y, part->unk_04.z);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp98);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
shim_guTranslateF(sp58, part->unk_04.x, part->unk_04.y, part->unk_04.z);
shim_guMtxCatF(sp58, sp98, sp18);
shim_guRotateF(sp58, part->unk_18, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, part->unk_20, 0.0f, 1.0f, 0.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);
gSPDisplayList(gMasterGfxPos++, phi_s7);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}

View File

@ -1,343 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel water_splash_appendGfx
/* 3BC51C E00BE5BC 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 3BC520 E00BE5C0 3C05DB06 */ lui $a1, 0xdb06
/* 3BC524 E00BE5C4 34A50024 */ ori $a1, $a1, 0x24
/* 3BC528 E00BE5C8 AFA400C0 */ sw $a0, 0xc0($sp)
/* 3BC52C E00BE5CC 27A40010 */ addiu $a0, $sp, 0x10
/* 3BC530 E00BE5D0 AFB1009C */ sw $s1, 0x9c($sp)
/* 3BC534 E00BE5D4 3C110001 */ lui $s1, 1
/* 3BC538 E00BE5D8 36311630 */ ori $s1, $s1, 0x1630
/* 3BC53C E00BE5DC AFB300A4 */ sw $s3, 0xa4($sp)
/* 3BC540 E00BE5E0 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 3BC544 E00BE5E4 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 3BC548 E00BE5E8 AFBF00BC */ sw $ra, 0xbc($sp)
/* 3BC54C E00BE5EC AFBE00B8 */ sw $fp, 0xb8($sp)
/* 3BC550 E00BE5F0 AFB700B4 */ sw $s7, 0xb4($sp)
/* 3BC554 E00BE5F4 AFB600B0 */ sw $s6, 0xb0($sp)
/* 3BC558 E00BE5F8 AFB500AC */ sw $s5, 0xac($sp)
/* 3BC55C E00BE5FC AFB400A8 */ sw $s4, 0xa8($sp)
/* 3BC560 E00BE600 AFB200A0 */ sw $s2, 0xa0($sp)
/* 3BC564 E00BE604 AFB00098 */ sw $s0, 0x98($sp)
/* 3BC568 E00BE608 8E670000 */ lw $a3, ($s3)
/* 3BC56C E00BE60C 8FAC00C0 */ lw $t4, 0xc0($sp)
/* 3BC570 E00BE610 00E0182D */ daddu $v1, $a3, $zero
/* 3BC574 E00BE614 8D92000C */ lw $s2, 0xc($t4)
/* 3BC578 E00BE618 24E70008 */ addiu $a3, $a3, 8
/* 3BC57C E00BE61C AE670000 */ sw $a3, ($s3)
/* 3BC580 E00BE620 8E4C0030 */ lw $t4, 0x30($s2)
/* 3BC584 E00BE624 24160001 */ addiu $s6, $zero, 1
/* 3BC588 E00BE628 AFAC0090 */ sw $t4, 0x90($sp)
/* 3BC58C E00BE62C C6400004 */ lwc1 $f0, 4($s2)
/* 3BC590 E00BE630 C6420008 */ lwc1 $f2, 8($s2)
/* 3BC594 E00BE634 3C02E700 */ lui $v0, 0xe700
/* 3BC598 E00BE638 AC620000 */ sw $v0, ($v1)
/* 3BC59C E00BE63C 24E20008 */ addiu $v0, $a3, 8
/* 3BC5A0 E00BE640 AC600004 */ sw $zero, 4($v1)
/* 3BC5A4 E00BE644 AE620000 */ sw $v0, ($s3)
/* 3BC5A8 E00BE648 ACE50000 */ sw $a1, ($a3)
/* 3BC5AC E00BE64C 4600010D */ trunc.w.s $f4, $f0
/* 3BC5B0 E00BE650 E7A40094 */ swc1 $f4, 0x94($sp)
/* 3BC5B4 E00BE654 C7A40094 */ lwc1 $f4, 0x94($sp)
/* 3BC5B8 E00BE658 46802120 */ cvt.s.w $f4, $f4
/* 3BC5BC E00BE65C 44052000 */ mfc1 $a1, $f4
/* 3BC5C0 E00BE660 4600110D */ trunc.w.s $f4, $f2
/* 3BC5C4 E00BE664 441E2000 */ mfc1 $fp, $f4
/* 3BC5C8 E00BE668 8FAC00C0 */ lw $t4, 0xc0($sp)
/* 3BC5CC E00BE66C 3C038000 */ lui $v1, 0x8000
/* 3BC5D0 E00BE670 8D820010 */ lw $v0, 0x10($t4)
/* 3BC5D4 E00BE674 449E2000 */ mtc1 $fp, $f4
/* 3BC5D8 E00BE678 00000000 */ nop
/* 3BC5DC E00BE67C 46802120 */ cvt.s.w $f4, $f4
/* 3BC5E0 E00BE680 8C42001C */ lw $v0, 0x1c($v0)
/* 3BC5E4 E00BE684 44062000 */ mfc1 $a2, $f4
/* 3BC5E8 E00BE688 00431021 */ addu $v0, $v0, $v1
/* 3BC5EC E00BE68C 3C03800B */ lui $v1, %hi(gCameras)
/* 3BC5F0 E00BE690 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3BC5F4 E00BE694 ACE20004 */ sw $v0, 4($a3)
/* 3BC5F8 E00BE698 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3BC5FC E00BE69C 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3BC600 E00BE6A0 8E47000C */ lw $a3, 0xc($s2)
/* 3BC604 E00BE6A4 00028080 */ sll $s0, $v0, 2
/* 3BC608 E00BE6A8 02028021 */ addu $s0, $s0, $v0
/* 3BC60C E00BE6AC 00108080 */ sll $s0, $s0, 2
/* 3BC610 E00BE6B0 02028023 */ subu $s0, $s0, $v0
/* 3BC614 E00BE6B4 001010C0 */ sll $v0, $s0, 3
/* 3BC618 E00BE6B8 02028021 */ addu $s0, $s0, $v0
/* 3BC61C E00BE6BC 001080C0 */ sll $s0, $s0, 3
/* 3BC620 E00BE6C0 0C080108 */ jal shim_guTranslateF
/* 3BC624 E00BE6C4 02038021 */ addu $s0, $s0, $v1
/* 3BC628 E00BE6C8 27B40050 */ addiu $s4, $sp, 0x50
/* 3BC62C E00BE6CC 8E450034 */ lw $a1, 0x34($s2)
/* 3BC630 E00BE6D0 0280202D */ daddu $a0, $s4, $zero
/* 3BC634 E00BE6D4 00A0302D */ daddu $a2, $a1, $zero
/* 3BC638 E00BE6D8 0C080110 */ jal shim_guScaleF
/* 3BC63C E00BE6DC 00A0382D */ daddu $a3, $a1, $zero
/* 3BC640 E00BE6E0 0280202D */ daddu $a0, $s4, $zero
/* 3BC644 E00BE6E4 27A50010 */ addiu $a1, $sp, 0x10
/* 3BC648 E00BE6E8 0C080114 */ jal shim_guMtxCatF
/* 3BC64C E00BE6EC 00A0302D */ daddu $a2, $a1, $zero
/* 3BC650 E00BE6F0 27A40010 */ addiu $a0, $sp, 0x10
/* 3BC654 E00BE6F4 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 3BC658 E00BE6F8 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 3BC65C E00BE6FC 3C17800A */ lui $s7, %hi(gDisplayContext)
/* 3BC660 E00BE700 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext)
/* 3BC664 E00BE704 96A50000 */ lhu $a1, ($s5)
/* 3BC668 E00BE708 8EE20000 */ lw $v0, ($s7)
/* 3BC66C E00BE70C 00052980 */ sll $a1, $a1, 6
/* 3BC670 E00BE710 00B12821 */ addu $a1, $a1, $s1
/* 3BC674 E00BE714 0C080118 */ jal shim_guMtxF2L
/* 3BC678 E00BE718 00452821 */ addu $a1, $v0, $a1
/* 3BC67C E00BE71C 3C03DA38 */ lui $v1, 0xda38
/* 3BC680 E00BE720 34630002 */ ori $v1, $v1, 2
/* 3BC684 E00BE724 3C06DA38 */ lui $a2, 0xda38
/* 3BC688 E00BE728 00D63025 */ or $a2, $a2, $s6
/* 3BC68C E00BE72C 8E640000 */ lw $a0, ($s3)
/* 3BC690 E00BE730 96A20000 */ lhu $v0, ($s5)
/* 3BC694 E00BE734 0080282D */ daddu $a1, $a0, $zero
/* 3BC698 E00BE738 24840008 */ addiu $a0, $a0, 8
/* 3BC69C E00BE73C AE640000 */ sw $a0, ($s3)
/* 3BC6A0 E00BE740 ACA30000 */ sw $v1, ($a1)
/* 3BC6A4 E00BE744 00561821 */ addu $v1, $v0, $s6
/* 3BC6A8 E00BE748 3042FFFF */ andi $v0, $v0, 0xffff
/* 3BC6AC E00BE74C 00021180 */ sll $v0, $v0, 6
/* 3BC6B0 E00BE750 A6A30000 */ sh $v1, ($s5)
/* 3BC6B4 E00BE754 8EE30000 */ lw $v1, ($s7)
/* 3BC6B8 E00BE758 00511021 */ addu $v0, $v0, $s1
/* 3BC6BC E00BE75C 00621821 */ addu $v1, $v1, $v0
/* 3BC6C0 E00BE760 24820008 */ addiu $v0, $a0, 8
/* 3BC6C4 E00BE764 ACA30004 */ sw $v1, 4($a1)
/* 3BC6C8 E00BE768 AE620000 */ sw $v0, ($s3)
/* 3BC6CC E00BE76C AC860000 */ sw $a2, ($a0)
/* 3BC6D0 E00BE770 8E030204 */ lw $v1, 0x204($s0)
/* 3BC6D4 E00BE774 3C02DE00 */ lui $v0, 0xde00
/* 3BC6D8 E00BE778 AC820008 */ sw $v0, 8($a0)
/* 3BC6DC E00BE77C 3C020900 */ lui $v0, 0x900
/* 3BC6E0 E00BE780 24420100 */ addiu $v0, $v0, 0x100
/* 3BC6E4 E00BE784 AC82000C */ sw $v0, 0xc($a0)
/* 3BC6E8 E00BE788 AC830004 */ sw $v1, 4($a0)
/* 3BC6EC E00BE78C 8FAC00C0 */ lw $t4, 0xc0($sp)
/* 3BC6F0 E00BE790 26520038 */ addiu $s2, $s2, 0x38
/* 3BC6F4 E00BE794 8D820008 */ lw $v0, 8($t4)
/* 3BC6F8 E00BE798 24840010 */ addiu $a0, $a0, 0x10
/* 3BC6FC E00BE79C 02C2102A */ slt $v0, $s6, $v0
/* 3BC700 E00BE7A0 104000BB */ beqz $v0, .LE00BEA90
/* 3BC704 E00BE7A4 AE640000 */ sw $a0, ($s3)
/* 3BC708 E00BE7A8 0260882D */ daddu $s1, $s3, $zero
/* 3BC70C E00BE7AC 3C130001 */ lui $s3, 1
/* 3BC710 E00BE7B0 36731630 */ ori $s3, $s3, 0x1630
/* 3BC714 E00BE7B4 26500030 */ addiu $s0, $s2, 0x30
.LE00BE7B8:
/* 3BC718 E00BE7B8 C600FFD4 */ lwc1 $f0, -0x2c($s0)
/* 3BC71C E00BE7BC 4600010D */ trunc.w.s $f4, $f0
/* 3BC720 E00BE7C0 44022000 */ mfc1 $v0, $f4
/* 3BC724 E00BE7C4 8FAC0094 */ lw $t4, 0x94($sp)
/* 3BC728 E00BE7C8 C600FFD8 */ lwc1 $f0, -0x28($s0)
/* 3BC72C E00BE7CC 004C5021 */ addu $t2, $v0, $t4
/* 3BC730 E00BE7D0 4600010D */ trunc.w.s $f4, $f0
/* 3BC734 E00BE7D4 44022000 */ mfc1 $v0, $f4
/* 3BC738 E00BE7D8 05410004 */ bgez $t2, .LE00BE7EC
/* 3BC73C E00BE7DC 005E5821 */ addu $t3, $v0, $fp
/* 3BC740 E00BE7E0 3142007F */ andi $v0, $t2, 0x7f
/* 3BC744 E00BE7E4 0802F9FC */ j .LE00BE7F0
/* 3BC748 E00BE7E8 00025023 */ negu $t2, $v0
.LE00BE7EC:
/* 3BC74C E00BE7EC 314A007F */ andi $t2, $t2, 0x7f
.LE00BE7F0:
/* 3BC750 E00BE7F0 19600003 */ blez $t3, .LE00BE800
/* 3BC754 E00BE7F4 3162003F */ andi $v0, $t3, 0x3f
/* 3BC758 E00BE7F8 0802FA01 */ j .LE00BE804
/* 3BC75C E00BE7FC 00025823 */ negu $t3, $v0
.LE00BE800:
/* 3BC760 E00BE800 316B003F */ andi $t3, $t3, 0x3f
.LE00BE804:
/* 3BC764 E00BE804 3C02FD10 */ lui $v0, 0xfd10
/* 3BC768 E00BE808 3442013F */ ori $v0, $v0, 0x13f
/* 3BC76C E00BE80C 3C07F510 */ lui $a3, 0xf510
/* 3BC770 E00BE810 34E71100 */ ori $a3, $a3, 0x1100
/* 3BC774 E00BE814 3C050701 */ lui $a1, 0x701
/* 3BC778 E00BE818 34A54050 */ ori $a1, $a1, 0x4050
/* 3BC77C E00BE81C 3C090101 */ lui $t1, 0x101
/* 3BC780 E00BE820 35294050 */ ori $t1, $t1, 0x4050
/* 3BC784 E00BE824 3C038000 */ lui $v1, 0x8000
/* 3BC788 E00BE828 25660078 */ addiu $a2, $t3, 0x78
/* 3BC78C E00BE82C 00063080 */ sll $a2, $a2, 2
/* 3BC790 E00BE830 8E280000 */ lw $t0, ($s1)
/* 3BC794 E00BE834 30C60FFF */ andi $a2, $a2, 0xfff
/* 3BC798 E00BE838 0100202D */ daddu $a0, $t0, $zero
/* 3BC79C E00BE83C AC820000 */ sw $v0, ($a0)
/* 3BC7A0 E00BE840 3C02800A */ lui $v0, %hi(nuGfxCfb_ptr)
/* 3BC7A4 E00BE844 8C42A64C */ lw $v0, %lo(nuGfxCfb_ptr)($v0)
/* 3BC7A8 E00BE848 25080008 */ addiu $t0, $t0, 8
/* 3BC7AC E00BE84C 00431021 */ addu $v0, $v0, $v1
/* 3BC7B0 E00BE850 AC820004 */ sw $v0, 4($a0)
/* 3BC7B4 E00BE854 3C02E600 */ lui $v0, 0xe600
/* 3BC7B8 E00BE858 AD050004 */ sw $a1, 4($t0)
/* 3BC7BC E00BE85C 254500A0 */ addiu $a1, $t2, 0xa0
/* 3BC7C0 E00BE860 00052880 */ sll $a1, $a1, 2
/* 3BC7C4 E00BE864 30A50FFF */ andi $a1, $a1, 0xfff
/* 3BC7C8 E00BE868 00052B00 */ sll $a1, $a1, 0xc
/* 3BC7CC E00BE86C AD020008 */ sw $v0, 8($t0)
/* 3BC7D0 E00BE870 3C02F400 */ lui $v0, 0xf400
/* 3BC7D4 E00BE874 00C21025 */ or $v0, $a2, $v0
/* 3BC7D8 E00BE878 00A21025 */ or $v0, $a1, $v0
/* 3BC7DC E00BE87C 254400BF */ addiu $a0, $t2, 0xbf
/* 3BC7E0 E00BE880 00042080 */ sll $a0, $a0, 2
/* 3BC7E4 E00BE884 30840FFF */ andi $a0, $a0, 0xfff
/* 3BC7E8 E00BE888 00042300 */ sll $a0, $a0, 0xc
/* 3BC7EC E00BE88C 25630097 */ addiu $v1, $t3, 0x97
/* 3BC7F0 E00BE890 00031880 */ sll $v1, $v1, 2
/* 3BC7F4 E00BE894 30630FFF */ andi $v1, $v1, 0xfff
/* 3BC7F8 E00BE898 AD020010 */ sw $v0, 0x10($t0)
/* 3BC7FC E00BE89C 3C020700 */ lui $v0, 0x700
/* 3BC800 E00BE8A0 00621025 */ or $v0, $v1, $v0
/* 3BC804 E00BE8A4 00821025 */ or $v0, $a0, $v0
/* 3BC808 E00BE8A8 AD020014 */ sw $v0, 0x14($t0)
/* 3BC80C E00BE8AC 3C02E700 */ lui $v0, 0xe700
/* 3BC810 E00BE8B0 AD020018 */ sw $v0, 0x18($t0)
/* 3BC814 E00BE8B4 3C02F200 */ lui $v0, 0xf200
/* 3BC818 E00BE8B8 00C23025 */ or $a2, $a2, $v0
/* 3BC81C E00BE8BC 00A62825 */ or $a1, $a1, $a2
/* 3BC820 E00BE8C0 3C020100 */ lui $v0, 0x100
/* 3BC824 E00BE8C4 00621825 */ or $v1, $v1, $v0
/* 3BC828 E00BE8C8 00832025 */ or $a0, $a0, $v1
/* 3BC82C E00BE8CC AD04002C */ sw $a0, 0x2c($t0)
/* 3BC830 E00BE8D0 27A40010 */ addiu $a0, $sp, 0x10
/* 3BC834 E00BE8D4 AD070000 */ sw $a3, ($t0)
/* 3BC838 E00BE8D8 AD00000C */ sw $zero, 0xc($t0)
/* 3BC83C E00BE8DC AD00001C */ sw $zero, 0x1c($t0)
/* 3BC840 E00BE8E0 AD070020 */ sw $a3, 0x20($t0)
/* 3BC844 E00BE8E4 AD090024 */ sw $t1, 0x24($t0)
/* 3BC848 E00BE8E8 AD050028 */ sw $a1, 0x28($t0)
/* 3BC84C E00BE8EC 8E05FFD4 */ lw $a1, -0x2c($s0)
/* 3BC850 E00BE8F0 8E06FFD8 */ lw $a2, -0x28($s0)
/* 3BC854 E00BE8F4 8E07FFDC */ lw $a3, -0x24($s0)
/* 3BC858 E00BE8F8 25020008 */ addiu $v0, $t0, 8
/* 3BC85C E00BE8FC AE280000 */ sw $t0, ($s1)
/* 3BC860 E00BE900 AE220000 */ sw $v0, ($s1)
/* 3BC864 E00BE904 25020010 */ addiu $v0, $t0, 0x10
/* 3BC868 E00BE908 AE220000 */ sw $v0, ($s1)
/* 3BC86C E00BE90C 25020018 */ addiu $v0, $t0, 0x18
/* 3BC870 E00BE910 AE220000 */ sw $v0, ($s1)
/* 3BC874 E00BE914 25020020 */ addiu $v0, $t0, 0x20
/* 3BC878 E00BE918 AE220000 */ sw $v0, ($s1)
/* 3BC87C E00BE91C 25020028 */ addiu $v0, $t0, 0x28
/* 3BC880 E00BE920 25080030 */ addiu $t0, $t0, 0x30
/* 3BC884 E00BE924 AE220000 */ sw $v0, ($s1)
/* 3BC888 E00BE928 0C080108 */ jal shim_guTranslateF
/* 3BC88C E00BE92C AE280000 */ sw $t0, ($s1)
/* 3BC890 E00BE930 8E050004 */ lw $a1, 4($s0)
/* 3BC894 E00BE934 0280202D */ daddu $a0, $s4, $zero
/* 3BC898 E00BE938 00A0302D */ daddu $a2, $a1, $zero
/* 3BC89C E00BE93C 0C080110 */ jal shim_guScaleF
/* 3BC8A0 E00BE940 00A0382D */ daddu $a3, $a1, $zero
/* 3BC8A4 E00BE944 0280202D */ daddu $a0, $s4, $zero
/* 3BC8A8 E00BE948 27A50010 */ addiu $a1, $sp, 0x10
/* 3BC8AC E00BE94C 0C080114 */ jal shim_guMtxCatF
/* 3BC8B0 E00BE950 00A0302D */ daddu $a2, $a1, $zero
/* 3BC8B4 E00BE954 27A40010 */ addiu $a0, $sp, 0x10
/* 3BC8B8 E00BE958 96A50000 */ lhu $a1, ($s5)
/* 3BC8BC E00BE95C 8EE20000 */ lw $v0, ($s7)
/* 3BC8C0 E00BE960 00052980 */ sll $a1, $a1, 6
/* 3BC8C4 E00BE964 00B32821 */ addu $a1, $a1, $s3
/* 3BC8C8 E00BE968 0C080118 */ jal shim_guMtxF2L
/* 3BC8CC E00BE96C 00452821 */ addu $a1, $v0, $a1
/* 3BC8D0 E00BE970 3C088080 */ lui $t0, 0x8080
/* 3BC8D4 E00BE974 35088081 */ ori $t0, $t0, 0x8081
/* 3BC8D8 E00BE978 3C09C8FF */ lui $t1, 0xc8ff
/* 3BC8DC E00BE97C 3529FF00 */ ori $t1, $t1, 0xff00
/* 3BC8E0 E00BE980 3C070020 */ lui $a3, 0x20
/* 3BC8E4 E00BE984 34E72000 */ ori $a3, $a3, 0x2000
/* 3BC8E8 E00BE988 3C0AD838 */ lui $t2, 0xd838
/* 3BC8EC E00BE98C 3C02DA38 */ lui $v0, 0xda38
/* 3BC8F0 E00BE990 8E240000 */ lw $a0, ($s1)
/* 3BC8F4 E00BE994 96A50000 */ lhu $a1, ($s5)
/* 3BC8F8 E00BE998 0080302D */ daddu $a2, $a0, $zero
/* 3BC8FC E00BE99C 24840008 */ addiu $a0, $a0, 8
/* 3BC900 E00BE9A0 ACC20000 */ sw $v0, ($a2)
/* 3BC904 E00BE9A4 30A2FFFF */ andi $v0, $a1, 0xffff
/* 3BC908 E00BE9A8 00021180 */ sll $v0, $v0, 6
/* 3BC90C E00BE9AC 8EE30000 */ lw $v1, ($s7)
/* 3BC910 E00BE9B0 00531021 */ addu $v0, $v0, $s3
/* 3BC914 E00BE9B4 00621821 */ addu $v1, $v1, $v0
/* 3BC918 E00BE9B8 3C02FA00 */ lui $v0, 0xfa00
/* 3BC91C E00BE9BC ACC30004 */ sw $v1, 4($a2)
/* 3BC920 E00BE9C0 AC820000 */ sw $v0, ($a0)
/* 3BC924 E00BE9C4 8E030000 */ lw $v1, ($s0)
/* 3BC928 E00BE9C8 24A50001 */ addiu $a1, $a1, 1
/* 3BC92C E00BE9CC AE240000 */ sw $a0, ($s1)
/* 3BC930 E00BE9D0 A6A50000 */ sh $a1, ($s5)
/* 3BC934 E00BE9D4 8FAC0090 */ lw $t4, 0x90($sp)
/* 3BC938 E00BE9D8 354A0002 */ ori $t2, $t2, 2
/* 3BC93C E00BE9DC 01830018 */ mult $t4, $v1
/* 3BC940 E00BE9E0 24820008 */ addiu $v0, $a0, 8
/* 3BC944 E00BE9E4 AE220000 */ sw $v0, ($s1)
/* 3BC948 E00BE9E8 24820010 */ addiu $v0, $a0, 0x10
/* 3BC94C E00BE9EC AE220000 */ sw $v0, ($s1)
/* 3BC950 E00BE9F0 00001812 */ mflo $v1
/* 3BC954 E00BE9F4 3C02FB00 */ lui $v0, 0xfb00
/* 3BC958 E00BE9F8 AC820008 */ sw $v0, 8($a0)
/* 3BC95C E00BE9FC 00680018 */ mult $v1, $t0
/* 3BC960 E00BEA00 3C02DE00 */ lui $v0, 0xde00
/* 3BC964 E00BEA04 AC87000C */ sw $a3, 0xc($a0)
/* 3BC968 E00BEA08 AC820010 */ sw $v0, 0x10($a0)
/* 3BC96C E00BEA0C 3C0CE00C */ lui $t4, %hi(D_E00BEAF0)
/* 3BC970 E00BEA10 258CEAF0 */ addiu $t4, $t4, %lo(D_E00BEAF0)
/* 3BC974 E00BEA14 00004010 */ mfhi $t0
/* 3BC978 E00BEA18 01031021 */ addu $v0, $t0, $v1
/* 3BC97C E00BEA1C 000211C3 */ sra $v0, $v0, 7
/* 3BC980 E00BEA20 00031FC3 */ sra $v1, $v1, 0x1f
/* 3BC984 E00BEA24 00431023 */ subu $v0, $v0, $v1
/* 3BC988 E00BEA28 304200FF */ andi $v0, $v0, 0xff
/* 3BC98C E00BEA2C 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* 3BC990 E00BEA30 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* 3BC994 E00BEA34 00491025 */ or $v0, $v0, $t1
/* 3BC998 E00BEA38 AC820004 */ sw $v0, 4($a0)
/* 3BC99C E00BEA3C 94620134 */ lhu $v0, 0x134($v1)
/* 3BC9A0 E00BEA40 24830018 */ addiu $v1, $a0, 0x18
/* 3BC9A4 E00BEA44 AE230000 */ sw $v1, ($s1)
/* 3BC9A8 E00BEA48 00021042 */ srl $v0, $v0, 1
/* 3BC9AC E00BEA4C 02C21021 */ addu $v0, $s6, $v0
/* 3BC9B0 E00BEA50 30420003 */ andi $v0, $v0, 3
/* 3BC9B4 E00BEA54 00021080 */ sll $v0, $v0, 2
/* 3BC9B8 E00BEA58 004C1021 */ addu $v0, $v0, $t4
/* 3BC9BC E00BEA5C 8C430000 */ lw $v1, ($v0)
/* 3BC9C0 E00BEA60 24820020 */ addiu $v0, $a0, 0x20
/* 3BC9C4 E00BEA64 AE220000 */ sw $v0, ($s1)
/* 3BC9C8 E00BEA68 24020040 */ addiu $v0, $zero, 0x40
/* 3BC9CC E00BEA6C AC8A0018 */ sw $t2, 0x18($a0)
/* 3BC9D0 E00BEA70 AC82001C */ sw $v0, 0x1c($a0)
/* 3BC9D4 E00BEA74 AC830014 */ sw $v1, 0x14($a0)
/* 3BC9D8 E00BEA78 8FAC00C0 */ lw $t4, 0xc0($sp)
/* 3BC9DC E00BEA7C 8D820008 */ lw $v0, 8($t4)
/* 3BC9E0 E00BEA80 26D60001 */ addiu $s6, $s6, 1
/* 3BC9E4 E00BEA84 02C2102A */ slt $v0, $s6, $v0
/* 3BC9E8 E00BEA88 1440FF4B */ bnez $v0, .LE00BE7B8
/* 3BC9EC E00BEA8C 26100038 */ addiu $s0, $s0, 0x38
.LE00BEA90:
/* 3BC9F0 E00BEA90 3C05D838 */ lui $a1, 0xd838
/* 3BC9F4 E00BEA94 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3BC9F8 E00BEA98 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3BC9FC E00BEA9C 8C620000 */ lw $v0, ($v1)
/* 3BCA00 E00BEAA0 34A50002 */ ori $a1, $a1, 2
/* 3BCA04 E00BEAA4 0040202D */ daddu $a0, $v0, $zero
/* 3BCA08 E00BEAA8 24420008 */ addiu $v0, $v0, 8
/* 3BCA0C E00BEAAC AC620000 */ sw $v0, ($v1)
/* 3BCA10 E00BEAB0 24020040 */ addiu $v0, $zero, 0x40
/* 3BCA14 E00BEAB4 AC850000 */ sw $a1, ($a0)
/* 3BCA18 E00BEAB8 AC820004 */ sw $v0, 4($a0)
/* 3BCA1C E00BEABC 8FBF00BC */ lw $ra, 0xbc($sp)
/* 3BCA20 E00BEAC0 8FBE00B8 */ lw $fp, 0xb8($sp)
/* 3BCA24 E00BEAC4 8FB700B4 */ lw $s7, 0xb4($sp)
/* 3BCA28 E00BEAC8 8FB600B0 */ lw $s6, 0xb0($sp)
/* 3BCA2C E00BEACC 8FB500AC */ lw $s5, 0xac($sp)
/* 3BCA30 E00BEAD0 8FB400A8 */ lw $s4, 0xa8($sp)
/* 3BCA34 E00BEAD4 8FB300A4 */ lw $s3, 0xa4($sp)
/* 3BCA38 E00BEAD8 8FB200A0 */ lw $s2, 0xa0($sp)
/* 3BCA3C E00BEADC 8FB1009C */ lw $s1, 0x9c($sp)
/* 3BCA40 E00BEAE0 8FB00098 */ lw $s0, 0x98($sp)
/* 3BCA44 E00BEAE4 03E00008 */ jr $ra
/* 3BCA48 E00BEAE8 27BD00C0 */ addiu $sp, $sp, 0xc0
/* 3BCA4C E00BEAEC 00000000 */ nop

View File

@ -1,249 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel water_splash_main
/* 3BBF60 E00BE000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3BBF64 E00BE004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3BBF68 E00BE008 4485A000 */ mtc1 $a1, $f20
/* 3BBF6C E00BE00C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3BBF70 E00BE010 4486B000 */ mtc1 $a2, $f22
/* 3BBF74 E00BE014 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3BBF78 E00BE018 4487C000 */ mtc1 $a3, $f24
/* 3BBF7C E00BE01C AFB20030 */ sw $s2, 0x30($sp)
/* 3BBF80 E00BE020 0080902D */ daddu $s2, $a0, $zero
/* 3BBF84 E00BE024 AFB1002C */ sw $s1, 0x2c($sp)
/* 3BBF88 E00BE028 8FB1006C */ lw $s1, 0x6c($sp)
/* 3BBF8C E00BE02C 27A40010 */ addiu $a0, $sp, 0x10
/* 3BBF90 E00BE030 AFBF003C */ sw $ra, 0x3c($sp)
/* 3BBF94 E00BE034 AFB40038 */ sw $s4, 0x38($sp)
/* 3BBF98 E00BE038 AFB30034 */ sw $s3, 0x34($sp)
/* 3BBF9C E00BE03C 06400009 */ bltz $s2, .LE00BE064
/* 3BBFA0 E00BE040 AFB00028 */ sw $s0, 0x28($sp)
/* 3BBFA4 E00BE044 2A420002 */ slti $v0, $s2, 2
/* 3BBFA8 E00BE048 14400007 */ bnez $v0, .LE00BE068
/* 3BBFAC E00BE04C 24100015 */ addiu $s0, $zero, 0x15
/* 3BBFB0 E00BE050 24020002 */ addiu $v0, $zero, 2
/* 3BBFB4 E00BE054 16420004 */ bne $s2, $v0, .LE00BE068
/* 3BBFB8 E00BE058 2410000B */ addiu $s0, $zero, 0xb
/* 3BBFBC E00BE05C 0802F81A */ j .LE00BE068
/* 3BBFC0 E00BE060 24100029 */ addiu $s0, $zero, 0x29
.LE00BE064:
/* 3BBFC4 E00BE064 2410000B */ addiu $s0, $zero, 0xb
.LE00BE068:
/* 3BBFC8 E00BE068 3C02E00C */ lui $v0, %hi(water_splash_init)
/* 3BBFCC E00BE06C 2442E39C */ addiu $v0, $v0, %lo(water_splash_init)
/* 3BBFD0 E00BE070 AC820008 */ sw $v0, 8($a0)
/* 3BBFD4 E00BE074 3C02E00C */ lui $v0, %hi(water_splash_update)
/* 3BBFD8 E00BE078 2442E3A4 */ addiu $v0, $v0, %lo(water_splash_update)
/* 3BBFDC E00BE07C AC82000C */ sw $v0, 0xc($a0)
/* 3BBFE0 E00BE080 3C02E00C */ lui $v0, %hi(water_splash_render)
/* 3BBFE4 E00BE084 2442E578 */ addiu $v0, $v0, %lo(water_splash_render)
/* 3BBFE8 E00BE088 AC820010 */ sw $v0, 0x10($a0)
/* 3BBFEC E00BE08C 2402005F */ addiu $v0, $zero, 0x5f
/* 3BBFF0 E00BE090 AC800000 */ sw $zero, ($a0)
/* 3BBFF4 E00BE094 AC800014 */ sw $zero, 0x14($a0)
/* 3BBFF8 E00BE098 0C080124 */ jal shim_create_effect_instance
/* 3BBFFC E00BE09C AC820004 */ sw $v0, 4($a0)
/* 3BC000 E00BE0A0 001020C0 */ sll $a0, $s0, 3
/* 3BC004 E00BE0A4 00902023 */ subu $a0, $a0, $s0
/* 3BC008 E00BE0A8 000420C0 */ sll $a0, $a0, 3
/* 3BC00C E00BE0AC 0040982D */ daddu $s3, $v0, $zero
/* 3BC010 E00BE0B0 0C08012C */ jal shim_general_heap_malloc
/* 3BC014 E00BE0B4 AE700008 */ sw $s0, 8($s3)
/* 3BC018 E00BE0B8 0040202D */ daddu $a0, $v0, $zero
/* 3BC01C E00BE0BC 14800003 */ bnez $a0, .LE00BE0CC
/* 3BC020 E00BE0C0 AE64000C */ sw $a0, 0xc($s3)
.LE00BE0C4:
/* 3BC024 E00BE0C4 0802F831 */ j .LE00BE0C4
/* 3BC028 E00BE0C8 00000000 */ nop
.LE00BE0CC:
/* 3BC02C E00BE0CC AC920000 */ sw $s2, ($a0)
/* 3BC030 E00BE0D0 1E200004 */ bgtz $s1, .LE00BE0E4
/* 3BC034 E00BE0D4 AC800020 */ sw $zero, 0x20($a0)
/* 3BC038 E00BE0D8 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3BC03C E00BE0DC 0802F83A */ j .LE00BE0E8
/* 3BC040 E00BE0E0 AC82001C */ sw $v0, 0x1c($a0)
.LE00BE0E4:
/* 3BC044 E00BE0E4 AC91001C */ sw $s1, 0x1c($a0)
.LE00BE0E8:
/* 3BC048 E00BE0E8 240300FF */ addiu $v1, $zero, 0xff
/* 3BC04C E00BE0EC AC830030 */ sw $v1, 0x30($a0)
/* 3BC050 E00BE0F0 E4940004 */ swc1 $f20, 4($a0)
/* 3BC054 E00BE0F4 E4960008 */ swc1 $f22, 8($a0)
/* 3BC058 E00BE0F8 E498000C */ swc1 $f24, 0xc($a0)
/* 3BC05C E00BE0FC C7A00068 */ lwc1 $f0, 0x68($sp)
/* 3BC060 E00BE100 24020046 */ addiu $v0, $zero, 0x46
/* 3BC064 E00BE104 AC820024 */ sw $v0, 0x24($a0)
/* 3BC068 E00BE108 240200B4 */ addiu $v0, $zero, 0xb4
/* 3BC06C E00BE10C 24110001 */ addiu $s1, $zero, 1
/* 3BC070 E00BE110 AC820028 */ sw $v0, 0x28($a0)
/* 3BC074 E00BE114 AC83002C */ sw $v1, 0x2c($a0)
/* 3BC078 E00BE118 E4800034 */ swc1 $f0, 0x34($a0)
/* 3BC07C E00BE11C 8E620008 */ lw $v0, 8($s3)
/* 3BC080 E00BE120 0222102A */ slt $v0, $s1, $v0
/* 3BC084 E00BE124 10400091 */ beqz $v0, .LE00BE36C
/* 3BC088 E00BE128 24840038 */ addiu $a0, $a0, 0x38
/* 3BC08C E00BE12C 24140002 */ addiu $s4, $zero, 2
/* 3BC090 E00BE130 24900030 */ addiu $s0, $a0, 0x30
/* 3BC094 E00BE134 3C013D8F */ lui $at, 0x3d8f
/* 3BC098 E00BE138 34215C29 */ ori $at, $at, 0x5c29
/* 3BC09C E00BE13C 4481B000 */ mtc1 $at, $f22
/* 3BC0A0 E00BE140 3C013FE0 */ lui $at, 0x3fe0
/* 3BC0A4 E00BE144 4481A800 */ mtc1 $at, $f21
/* 3BC0A8 E00BE148 4480A000 */ mtc1 $zero, $f20
.LE00BE14C:
/* 3BC0AC E00BE14C 3C014000 */ lui $at, 0x4000
/* 3BC0B0 E00BE150 44810000 */ mtc1 $at, $f0
/* 3BC0B4 E00BE154 24020001 */ addiu $v0, $zero, 1
/* 3BC0B8 E00BE158 AE00FFD4 */ sw $zero, -0x2c($s0)
/* 3BC0BC E00BE15C AE00FFD8 */ sw $zero, -0x28($s0)
/* 3BC0C0 E00BE160 AE00FFDC */ sw $zero, -0x24($s0)
/* 3BC0C4 E00BE164 12420022 */ beq $s2, $v0, .LE00BE1F0
/* 3BC0C8 E00BE168 E6000004 */ swc1 $f0, 4($s0)
/* 3BC0CC E00BE16C 2A420002 */ slti $v0, $s2, 2
/* 3BC0D0 E00BE170 10400005 */ beqz $v0, .LE00BE188
/* 3BC0D4 E00BE174 00000000 */ nop
/* 3BC0D8 E00BE178 12400007 */ beqz $s2, .LE00BE198
/* 3BC0DC E00BE17C 00000000 */ nop
/* 3BC0E0 E00BE180 0802F8B1 */ j .LE00BE2C4
/* 3BC0E4 E00BE184 00000000 */ nop
.LE00BE188:
/* 3BC0E8 E00BE188 1254002F */ beq $s2, $s4, .LE00BE248
/* 3BC0EC E00BE18C 00000000 */ nop
/* 3BC0F0 E00BE190 0802F8B1 */ j .LE00BE2C4
/* 3BC0F4 E00BE194 00000000 */ nop
.LE00BE198:
/* 3BC0F8 E00BE198 0C080138 */ jal shim_rand_int
/* 3BC0FC E00BE19C 2404000A */ addiu $a0, $zero, 0xa
/* 3BC100 E00BE1A0 2404000A */ addiu $a0, $zero, 0xa
/* 3BC104 E00BE1A4 2442FFFE */ addiu $v0, $v0, -2
/* 3BC108 E00BE1A8 44820000 */ mtc1 $v0, $f0
/* 3BC10C E00BE1AC 00000000 */ nop
/* 3BC110 E00BE1B0 46800020 */ cvt.s.w $f0, $f0
/* 3BC114 E00BE1B4 0C080138 */ jal shim_rand_int
/* 3BC118 E00BE1B8 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 3BC11C E00BE1BC 2404000A */ addiu $a0, $zero, 0xa
/* 3BC120 E00BE1C0 2442FFFB */ addiu $v0, $v0, -5
/* 3BC124 E00BE1C4 44820000 */ mtc1 $v0, $f0
/* 3BC128 E00BE1C8 00000000 */ nop
/* 3BC12C E00BE1CC 46800020 */ cvt.s.w $f0, $f0
/* 3BC130 E00BE1D0 0C080138 */ jal shim_rand_int
/* 3BC134 E00BE1D4 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 3BC138 E00BE1D8 2442FFFB */ addiu $v0, $v0, -5
/* 3BC13C E00BE1DC 44820000 */ mtc1 $v0, $f0
/* 3BC140 E00BE1E0 00000000 */ nop
/* 3BC144 E00BE1E4 46800020 */ cvt.s.w $f0, $f0
/* 3BC148 E00BE1E8 0802F8D4 */ j .LE00BE350
/* 3BC14C E00BE1EC E600FFE8 */ swc1 $f0, -0x18($s0)
.LE00BE1F0:
/* 3BC150 E00BE1F0 0C080138 */ jal shim_rand_int
/* 3BC154 E00BE1F4 2404000A */ addiu $a0, $zero, 0xa
/* 3BC158 E00BE1F8 2404000A */ addiu $a0, $zero, 0xa
/* 3BC15C E00BE1FC 02821023 */ subu $v0, $s4, $v0
/* 3BC160 E00BE200 44820000 */ mtc1 $v0, $f0
/* 3BC164 E00BE204 00000000 */ nop
/* 3BC168 E00BE208 46800020 */ cvt.s.w $f0, $f0
/* 3BC16C E00BE20C 0C080138 */ jal shim_rand_int
/* 3BC170 E00BE210 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 3BC174 E00BE214 2404000A */ addiu $a0, $zero, 0xa
/* 3BC178 E00BE218 2442FFFB */ addiu $v0, $v0, -5
/* 3BC17C E00BE21C 44820000 */ mtc1 $v0, $f0
/* 3BC180 E00BE220 00000000 */ nop
/* 3BC184 E00BE224 46800020 */ cvt.s.w $f0, $f0
/* 3BC188 E00BE228 0C080138 */ jal shim_rand_int
/* 3BC18C E00BE22C E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 3BC190 E00BE230 2442FFFB */ addiu $v0, $v0, -5
/* 3BC194 E00BE234 44820000 */ mtc1 $v0, $f0
/* 3BC198 E00BE238 00000000 */ nop
/* 3BC19C E00BE23C 46800020 */ cvt.s.w $f0, $f0
/* 3BC1A0 E00BE240 0802F8D4 */ j .LE00BE350
/* 3BC1A4 E00BE244 E600FFE8 */ swc1 $f0, -0x18($s0)
.LE00BE248:
/* 3BC1A8 E00BE248 0C080138 */ jal shim_rand_int
/* 3BC1AC E00BE24C 24040064 */ addiu $a0, $zero, 0x64
/* 3BC1B0 E00BE250 2442FFCE */ addiu $v0, $v0, -0x32
/* 3BC1B4 E00BE254 44820000 */ mtc1 $v0, $f0
/* 3BC1B8 E00BE258 00000000 */ nop
/* 3BC1BC E00BE25C 46800020 */ cvt.s.w $f0, $f0
/* 3BC1C0 E00BE260 46160002 */ mul.s $f0, $f0, $f22
/* 3BC1C4 E00BE264 00000000 */ nop
/* 3BC1C8 E00BE268 24040064 */ addiu $a0, $zero, 0x64
/* 3BC1CC E00BE26C 0C080138 */ jal shim_rand_int
/* 3BC1D0 E00BE270 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 3BC1D4 E00BE274 2442000A */ addiu $v0, $v0, 0xa
/* 3BC1D8 E00BE278 3C013E4C */ lui $at, 0x3e4c
/* 3BC1DC E00BE27C 3421CCCD */ ori $at, $at, 0xcccd
/* 3BC1E0 E00BE280 44811000 */ mtc1 $at, $f2
/* 3BC1E4 E00BE284 44820000 */ mtc1 $v0, $f0
/* 3BC1E8 E00BE288 00000000 */ nop
/* 3BC1EC E00BE28C 46800020 */ cvt.s.w $f0, $f0
/* 3BC1F0 E00BE290 46020002 */ mul.s $f0, $f0, $f2
/* 3BC1F4 E00BE294 00000000 */ nop
/* 3BC1F8 E00BE298 24040064 */ addiu $a0, $zero, 0x64
/* 3BC1FC E00BE29C 0C080138 */ jal shim_rand_int
/* 3BC200 E00BE2A0 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 3BC204 E00BE2A4 2442FFCE */ addiu $v0, $v0, -0x32
/* 3BC208 E00BE2A8 44820000 */ mtc1 $v0, $f0
/* 3BC20C E00BE2AC 00000000 */ nop
/* 3BC210 E00BE2B0 46800020 */ cvt.s.w $f0, $f0
/* 3BC214 E00BE2B4 46160002 */ mul.s $f0, $f0, $f22
/* 3BC218 E00BE2B8 00000000 */ nop
/* 3BC21C E00BE2BC 0802F8D4 */ j .LE00BE350
/* 3BC220 E00BE2C0 E600FFE8 */ swc1 $f0, -0x18($s0)
.LE00BE2C4:
/* 3BC224 E00BE2C4 0C080138 */ jal shim_rand_int
/* 3BC228 E00BE2C8 2404000A */ addiu $a0, $zero, 0xa
/* 3BC22C E00BE2CC 2442FFFB */ addiu $v0, $v0, -5
/* 3BC230 E00BE2D0 44820000 */ mtc1 $v0, $f0
/* 3BC234 E00BE2D4 00000000 */ nop
/* 3BC238 E00BE2D8 46800021 */ cvt.d.w $f0, $f0
/* 3BC23C E00BE2DC 46340002 */ mul.d $f0, $f0, $f20
/* 3BC240 E00BE2E0 00000000 */ nop
/* 3BC244 E00BE2E4 2404000A */ addiu $a0, $zero, 0xa
/* 3BC248 E00BE2E8 46200020 */ cvt.s.d $f0, $f0
/* 3BC24C E00BE2EC 0C080138 */ jal shim_rand_int
/* 3BC250 E00BE2F0 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 3BC254 E00BE2F4 2442FFFB */ addiu $v0, $v0, -5
/* 3BC258 E00BE2F8 44820000 */ mtc1 $v0, $f0
/* 3BC25C E00BE2FC 00000000 */ nop
/* 3BC260 E00BE300 46800021 */ cvt.d.w $f0, $f0
/* 3BC264 E00BE304 46340002 */ mul.d $f0, $f0, $f20
/* 3BC268 E00BE308 00000000 */ nop
/* 3BC26C E00BE30C 2404000A */ addiu $a0, $zero, 0xa
/* 3BC270 E00BE310 46200020 */ cvt.s.d $f0, $f0
/* 3BC274 E00BE314 0C080138 */ jal shim_rand_int
/* 3BC278 E00BE318 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 3BC27C E00BE31C 2442FFFB */ addiu $v0, $v0, -5
/* 3BC280 E00BE320 44820000 */ mtc1 $v0, $f0
/* 3BC284 E00BE324 00000000 */ nop
/* 3BC288 E00BE328 46800021 */ cvt.d.w $f0, $f0
/* 3BC28C E00BE32C 46340002 */ mul.d $f0, $f0, $f20
/* 3BC290 E00BE330 00000000 */ nop
/* 3BC294 E00BE334 3C013ECC */ lui $at, 0x3ecc
/* 3BC298 E00BE338 3421CCCD */ ori $at, $at, 0xcccd
/* 3BC29C E00BE33C 44811000 */ mtc1 $at, $f2
/* 3BC2A0 E00BE340 AE11FFEC */ sw $s1, -0x14($s0)
/* 3BC2A4 E00BE344 E6020004 */ swc1 $f2, 4($s0)
/* 3BC2A8 E00BE348 46200020 */ cvt.s.d $f0, $f0
/* 3BC2AC E00BE34C E600FFE8 */ swc1 $f0, -0x18($s0)
.LE00BE350:
/* 3BC2B0 E00BE350 26310001 */ addiu $s1, $s1, 1
/* 3BC2B4 E00BE354 240200FF */ addiu $v0, $zero, 0xff
/* 3BC2B8 E00BE358 AE020000 */ sw $v0, ($s0)
/* 3BC2BC E00BE35C 8E620008 */ lw $v0, 8($s3)
/* 3BC2C0 E00BE360 0222102A */ slt $v0, $s1, $v0
/* 3BC2C4 E00BE364 1440FF79 */ bnez $v0, .LE00BE14C
/* 3BC2C8 E00BE368 26100038 */ addiu $s0, $s0, 0x38
.LE00BE36C:
/* 3BC2CC E00BE36C 0260102D */ daddu $v0, $s3, $zero
/* 3BC2D0 E00BE370 8FBF003C */ lw $ra, 0x3c($sp)
/* 3BC2D4 E00BE374 8FB40038 */ lw $s4, 0x38($sp)
/* 3BC2D8 E00BE378 8FB30034 */ lw $s3, 0x34($sp)
/* 3BC2DC E00BE37C 8FB20030 */ lw $s2, 0x30($sp)
/* 3BC2E0 E00BE380 8FB1002C */ lw $s1, 0x2c($sp)
/* 3BC2E4 E00BE384 8FB00028 */ lw $s0, 0x28($sp)
/* 3BC2E8 E00BE388 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3BC2EC E00BE38C D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3BC2F0 E00BE390 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3BC2F4 E00BE394 03E00008 */ jr $ra
/* 3BC2F8 E00BE398 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,149 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00BEB00
.double 0.98
dlabel D_E00BEB08
.double -0.8
dlabel D_E00BEB10
.double -0.1
dlabel D_E00BEB18
.double 1.2
dlabel D_E00BEB20
.double 0.9, 0.0
.section .text
glabel water_splash_update
/* 3BC304 E00BE3A4 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 3BC308 E00BE3A8 AFBF0010 */ sw $ra, 0x10($sp)
/* 3BC30C E00BE3AC F7B40018 */ sdc1 $f20, 0x18($sp)
/* 3BC310 E00BE3B0 8C850000 */ lw $a1, ($a0)
/* 3BC314 E00BE3B4 8C83000C */ lw $v1, 0xc($a0)
/* 3BC318 E00BE3B8 30A20010 */ andi $v0, $a1, 0x10
/* 3BC31C E00BE3BC 8C660000 */ lw $a2, ($v1)
/* 3BC320 E00BE3C0 10400005 */ beqz $v0, .LE00BE3D8
/* 3BC324 E00BE3C4 2402FFEF */ addiu $v0, $zero, -0x11
/* 3BC328 E00BE3C8 00A21024 */ and $v0, $a1, $v0
/* 3BC32C E00BE3CC AC820000 */ sw $v0, ($a0)
/* 3BC330 E00BE3D0 24020010 */ addiu $v0, $zero, 0x10
/* 3BC334 E00BE3D4 AC62001C */ sw $v0, 0x1c($v1)
.LE00BE3D8:
/* 3BC338 E00BE3D8 8C65001C */ lw $a1, 0x1c($v1)
/* 3BC33C E00BE3DC 28A203E8 */ slti $v0, $a1, 0x3e8
/* 3BC340 E00BE3E0 10400002 */ beqz $v0, .LE00BE3EC
/* 3BC344 E00BE3E4 24A2FFFF */ addiu $v0, $a1, -1
/* 3BC348 E00BE3E8 AC62001C */ sw $v0, 0x1c($v1)
.LE00BE3EC:
/* 3BC34C E00BE3EC 8C620020 */ lw $v0, 0x20($v1)
/* 3BC350 E00BE3F0 8C65001C */ lw $a1, 0x1c($v1)
/* 3BC354 E00BE3F4 24420001 */ addiu $v0, $v0, 1
/* 3BC358 E00BE3F8 04A10005 */ bgez $a1, .LE00BE410
/* 3BC35C E00BE3FC AC620020 */ sw $v0, 0x20($v1)
/* 3BC360 E00BE400 0C080128 */ jal shim_remove_effect
/* 3BC364 E00BE404 00000000 */ nop
/* 3BC368 E00BE408 0802F95A */ j .LE00BE568
/* 3BC36C E00BE40C 00000000 */ nop
.LE00BE410:
/* 3BC370 E00BE410 28A20004 */ slti $v0, $a1, 4
/* 3BC374 E00BE414 10400002 */ beqz $v0, .LE00BE420
/* 3BC378 E00BE418 00051180 */ sll $v0, $a1, 6
/* 3BC37C E00BE41C AC620030 */ sw $v0, 0x30($v1)
.LE00BE420:
/* 3BC380 E00BE420 8C820008 */ lw $v0, 8($a0)
/* 3BC384 E00BE424 24050001 */ addiu $a1, $zero, 1
/* 3BC388 E00BE428 00A2102A */ slt $v0, $a1, $v0
/* 3BC38C E00BE42C 1040004E */ beqz $v0, .LE00BE568
/* 3BC390 E00BE430 24630038 */ addiu $v1, $v1, 0x38
/* 3BC394 E00BE434 24080002 */ addiu $t0, $zero, 2
/* 3BC398 E00BE438 24070003 */ addiu $a3, $zero, 3
/* 3BC39C E00BE43C 24630034 */ addiu $v1, $v1, 0x34
/* 3BC3A0 E00BE440 3C01E00C */ lui $at, %hi(D_E00BEB00)
/* 3BC3A4 E00BE444 D42AEB00 */ ldc1 $f10, %lo(D_E00BEB00)($at)
/* 3BC3A8 E00BE448 3C01E00C */ lui $at, %hi(D_E00BEB08)
/* 3BC3AC E00BE44C D432EB08 */ ldc1 $f18, %lo(D_E00BEB08)($at)
/* 3BC3B0 E00BE450 3C01E00C */ lui $at, %hi(D_E00BEB10)
/* 3BC3B4 E00BE454 D430EB10 */ ldc1 $f16, %lo(D_E00BEB10)($at)
/* 3BC3B8 E00BE458 3C01E00C */ lui $at, %hi(D_E00BEB18)
/* 3BC3BC E00BE45C D42EEB18 */ ldc1 $f14, %lo(D_E00BEB18)($at)
/* 3BC3C0 E00BE460 3C01E00C */ lui $at, %hi(D_E00BEB20)
/* 3BC3C4 E00BE464 D42CEB20 */ ldc1 $f12, %lo(D_E00BEB20)($at)
.LE00BE468:
/* 3BC3C8 E00BE468 C464FFFC */ lwc1 $f4, -4($v1)
/* 3BC3CC E00BE46C 46802121 */ cvt.d.w $f4, $f4
/* 3BC3D0 E00BE470 462A2102 */ mul.d $f4, $f4, $f10
/* 3BC3D4 E00BE474 00000000 */ nop
/* 3BC3D8 E00BE478 C468FFD0 */ lwc1 $f8, -0x30($v1)
/* 3BC3DC E00BE47C C460FFDC */ lwc1 $f0, -0x24($v1)
/* 3BC3E0 E00BE480 C466FFD4 */ lwc1 $f6, -0x2c($v1)
/* 3BC3E4 E00BE484 46004200 */ add.s $f8, $f8, $f0
/* 3BC3E8 E00BE488 C460FFE0 */ lwc1 $f0, -0x20($v1)
/* 3BC3EC E00BE48C C462FFD8 */ lwc1 $f2, -0x28($v1)
/* 3BC3F0 E00BE490 46003180 */ add.s $f6, $f6, $f0
/* 3BC3F4 E00BE494 C460FFE4 */ lwc1 $f0, -0x1c($v1)
/* 3BC3F8 E00BE498 46001080 */ add.s $f2, $f2, $f0
/* 3BC3FC E00BE49C E468FFD0 */ swc1 $f8, -0x30($v1)
/* 3BC400 E00BE4A0 E466FFD4 */ swc1 $f6, -0x2c($v1)
/* 3BC404 E00BE4A4 E462FFD8 */ swc1 $f2, -0x28($v1)
/* 3BC408 E00BE4A8 4620250D */ trunc.w.d $f20, $f4
/* 3BC40C E00BE4AC 14C80006 */ bne $a2, $t0, .LE00BE4C8
/* 3BC410 E00BE4B0 E474FFFC */ swc1 $f20, -4($v1)
/* 3BC414 E00BE4B4 C460FFE0 */ lwc1 $f0, -0x20($v1)
/* 3BC418 E00BE4B8 46000021 */ cvt.d.s $f0, $f0
/* 3BC41C E00BE4BC 46320000 */ add.d $f0, $f0, $f18
/* 3BC420 E00BE4C0 46200020 */ cvt.s.d $f0, $f0
/* 3BC424 E00BE4C4 E460FFE0 */ swc1 $f0, -0x20($v1)
.LE00BE4C8:
/* 3BC428 E00BE4C8 C464FFDC */ lwc1 $f4, -0x24($v1)
/* 3BC42C E00BE4CC 46002121 */ cvt.d.s $f4, $f4
/* 3BC430 E00BE4D0 462A2102 */ mul.d $f4, $f4, $f10
/* 3BC434 E00BE4D4 00000000 */ nop
/* 3BC438 E00BE4D8 C462FFE4 */ lwc1 $f2, -0x1c($v1)
/* 3BC43C E00BE4DC 460010A1 */ cvt.d.s $f2, $f2
/* 3BC440 E00BE4E0 462A1082 */ mul.d $f2, $f2, $f10
/* 3BC444 E00BE4E4 00000000 */ nop
/* 3BC448 E00BE4E8 C460FFE0 */ lwc1 $f0, -0x20($v1)
/* 3BC44C E00BE4EC 46000021 */ cvt.d.s $f0, $f0
/* 3BC450 E00BE4F0 46300000 */ add.d $f0, $f0, $f16
/* 3BC454 E00BE4F4 46200020 */ cvt.s.d $f0, $f0
/* 3BC458 E00BE4F8 E460FFE0 */ swc1 $f0, -0x20($v1)
/* 3BC45C E00BE4FC 46000021 */ cvt.d.s $f0, $f0
/* 3BC460 E00BE500 462A0002 */ mul.d $f0, $f0, $f10
/* 3BC464 E00BE504 00000000 */ nop
/* 3BC468 E00BE508 46202120 */ cvt.s.d $f4, $f4
/* 3BC46C E00BE50C 462010A0 */ cvt.s.d $f2, $f2
/* 3BC470 E00BE510 E464FFDC */ swc1 $f4, -0x24($v1)
/* 3BC474 E00BE514 E462FFE4 */ swc1 $f2, -0x1c($v1)
/* 3BC478 E00BE518 46200020 */ cvt.s.d $f0, $f0
/* 3BC47C E00BE51C 14C70007 */ bne $a2, $a3, .LE00BE53C
/* 3BC480 E00BE520 E460FFE0 */ swc1 $f0, -0x20($v1)
/* 3BC484 E00BE524 C4600000 */ lwc1 $f0, ($v1)
/* 3BC488 E00BE528 46000021 */ cvt.d.s $f0, $f0
/* 3BC48C E00BE52C 462E0002 */ mul.d $f0, $f0, $f14
/* 3BC490 E00BE530 00000000 */ nop
/* 3BC494 E00BE534 0802F954 */ j .LE00BE550
/* 3BC498 E00BE538 46200020 */ cvt.s.d $f0, $f0
.LE00BE53C:
/* 3BC49C E00BE53C C4600000 */ lwc1 $f0, ($v1)
/* 3BC4A0 E00BE540 46000021 */ cvt.d.s $f0, $f0
/* 3BC4A4 E00BE544 462C0002 */ mul.d $f0, $f0, $f12
/* 3BC4A8 E00BE548 00000000 */ nop
/* 3BC4AC E00BE54C 46200020 */ cvt.s.d $f0, $f0
.LE00BE550:
/* 3BC4B0 E00BE550 E4600000 */ swc1 $f0, ($v1)
/* 3BC4B4 E00BE554 24A50001 */ addiu $a1, $a1, 1
/* 3BC4B8 E00BE558 8C820008 */ lw $v0, 8($a0)
/* 3BC4BC E00BE55C 00A2102A */ slt $v0, $a1, $v0
/* 3BC4C0 E00BE560 1440FFC1 */ bnez $v0, .LE00BE468
/* 3BC4C4 E00BE564 24630038 */ addiu $v1, $v1, 0x38
.LE00BE568:
/* 3BC4C8 E00BE568 8FBF0010 */ lw $ra, 0x10($sp)
/* 3BC4CC E00BE56C D7B40018 */ ldc1 $f20, 0x18($sp)
/* 3BC4D0 E00BE570 03E00008 */ jr $ra
/* 3BC4D4 E00BE574 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,187 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel windy_leaves_appendGfx
/* 35E5D0 E0056BD0 27BDFEF0 */ addiu $sp, $sp, -0x110
/* 35E5D4 E0056BD4 AFBE00F8 */ sw $fp, 0xf8($sp)
/* 35E5D8 E0056BD8 0080F02D */ daddu $fp, $a0, $zero
/* 35E5DC E0056BDC AFBF00FC */ sw $ra, 0xfc($sp)
/* 35E5E0 E0056BE0 AFB700F4 */ sw $s7, 0xf4($sp)
/* 35E5E4 E0056BE4 AFB600F0 */ sw $s6, 0xf0($sp)
/* 35E5E8 E0056BE8 AFB500EC */ sw $s5, 0xec($sp)
/* 35E5EC E0056BEC AFB400E8 */ sw $s4, 0xe8($sp)
/* 35E5F0 E0056BF0 AFB300E4 */ sw $s3, 0xe4($sp)
/* 35E5F4 E0056BF4 AFB200E0 */ sw $s2, 0xe0($sp)
/* 35E5F8 E0056BF8 AFB100DC */ sw $s1, 0xdc($sp)
/* 35E5FC E0056BFC AFB000D8 */ sw $s0, 0xd8($sp)
/* 35E600 E0056C00 F7B60108 */ sdc1 $f22, 0x108($sp)
/* 35E604 E0056C04 F7B40100 */ sdc1 $f20, 0x100($sp)
/* 35E608 E0056C08 8FD0000C */ lw $s0, 0xc($fp)
/* 35E60C E0056C0C 8E020000 */ lw $v0, ($s0)
/* 35E610 E0056C10 3C170900 */ lui $s7, 0x900
/* 35E614 E0056C14 26F71280 */ addiu $s7, $s7, 0x1280
/* 35E618 E0056C18 14400003 */ bnez $v0, .LE0056C28
/* 35E61C E0056C1C 3C02DB06 */ lui $v0, 0xdb06
/* 35E620 E0056C20 3C170900 */ lui $s7, 0x900
/* 35E624 E0056C24 26F71258 */ addiu $s7, $s7, 0x1258
.LE0056C28:
/* 35E628 E0056C28 34420024 */ ori $v0, $v0, 0x24
/* 35E62C E0056C2C 3C061464 */ lui $a2, 0x1464
/* 35E630 E0056C30 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 35E634 E0056C34 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 35E638 E0056C38 8E650000 */ lw $a1, ($s3)
/* 35E63C E0056C3C 34C61400 */ ori $a2, $a2, 0x1400
/* 35E640 E0056C40 00A0202D */ daddu $a0, $a1, $zero
/* 35E644 E0056C44 24A50008 */ addiu $a1, $a1, 8
/* 35E648 E0056C48 AE650000 */ sw $a1, ($s3)
/* 35E64C E0056C4C AC820000 */ sw $v0, ($a0)
/* 35E650 E0056C50 24A20008 */ addiu $v0, $a1, 8
/* 35E654 E0056C54 AE620000 */ sw $v0, ($s3)
/* 35E658 E0056C58 8FC30010 */ lw $v1, 0x10($fp)
/* 35E65C E0056C5C 24A20010 */ addiu $v0, $a1, 0x10
/* 35E660 E0056C60 AE620000 */ sw $v0, ($s3)
/* 35E664 E0056C64 8C62001C */ lw $v0, 0x1c($v1)
/* 35E668 E0056C68 3C038000 */ lui $v1, 0x8000
/* 35E66C E0056C6C 00431021 */ addu $v0, $v0, $v1
/* 35E670 E0056C70 AC820004 */ sw $v0, 4($a0)
/* 35E674 E0056C74 3C02DE00 */ lui $v0, 0xde00
/* 35E678 E0056C78 ACA20000 */ sw $v0, ($a1)
/* 35E67C E0056C7C 3C020900 */ lui $v0, 0x900
/* 35E680 E0056C80 24421180 */ addiu $v0, $v0, 0x1180
/* 35E684 E0056C84 ACA20004 */ sw $v0, 4($a1)
/* 35E688 E0056C88 3C02FA00 */ lui $v0, 0xfa00
/* 35E68C E0056C8C ACA20008 */ sw $v0, 8($a1)
/* 35E690 E0056C90 92020027 */ lbu $v0, 0x27($s0)
/* 35E694 E0056C94 24120001 */ addiu $s2, $zero, 1
/* 35E698 E0056C98 00461025 */ or $v0, $v0, $a2
/* 35E69C E0056C9C ACA2000C */ sw $v0, 0xc($a1)
/* 35E6A0 E0056CA0 8E050004 */ lw $a1, 4($s0)
/* 35E6A4 E0056CA4 8E060008 */ lw $a2, 8($s0)
/* 35E6A8 E0056CA8 8E07000C */ lw $a3, 0xc($s0)
/* 35E6AC E0056CAC 0C080108 */ jal shim_guTranslateF
/* 35E6B0 E0056CB0 27A40018 */ addiu $a0, $sp, 0x18
/* 35E6B4 E0056CB4 27B10058 */ addiu $s1, $sp, 0x58
/* 35E6B8 E0056CB8 4480A000 */ mtc1 $zero, $f20
/* 35E6BC E0056CBC 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 35E6C0 E0056CC0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 35E6C4 E0056CC4 3C013F80 */ lui $at, 0x3f80
/* 35E6C8 E0056CC8 4481B000 */ mtc1 $at, $f22
/* 35E6CC E0056CCC 00031080 */ sll $v0, $v1, 2
/* 35E6D0 E0056CD0 00431021 */ addu $v0, $v0, $v1
/* 35E6D4 E0056CD4 00021080 */ sll $v0, $v0, 2
/* 35E6D8 E0056CD8 00431023 */ subu $v0, $v0, $v1
/* 35E6DC E0056CDC 000218C0 */ sll $v1, $v0, 3
/* 35E6E0 E0056CE0 00431021 */ addu $v0, $v0, $v1
/* 35E6E4 E0056CE4 000210C0 */ sll $v0, $v0, 3
/* 35E6E8 E0056CE8 4406A000 */ mfc1 $a2, $f20
/* 35E6EC E0056CEC 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 35E6F0 E0056CF0 00220821 */ addu $at, $at, $v0
/* 35E6F4 E0056CF4 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 35E6F8 E0056CF8 4407B000 */ mfc1 $a3, $f22
/* 35E6FC E0056CFC 46000007 */ neg.s $f0, $f0
/* 35E700 E0056D00 44050000 */ mfc1 $a1, $f0
/* 35E704 E0056D04 0220202D */ daddu $a0, $s1, $zero
/* 35E708 E0056D08 0C080104 */ jal shim_guRotateF
/* 35E70C E0056D0C E7B40010 */ swc1 $f20, 0x10($sp)
/* 35E710 E0056D10 0220202D */ daddu $a0, $s1, $zero
/* 35E714 E0056D14 27A50018 */ addiu $a1, $sp, 0x18
/* 35E718 E0056D18 0C080114 */ jal shim_guMtxCatF
/* 35E71C E0056D1C 27A60098 */ addiu $a2, $sp, 0x98
/* 35E720 E0056D20 8FC20008 */ lw $v0, 8($fp)
/* 35E724 E0056D24 0242102A */ slt $v0, $s2, $v0
/* 35E728 E0056D28 1040004C */ beqz $v0, .LE0056E5C
/* 35E72C E0056D2C 2610003C */ addiu $s0, $s0, 0x3c
/* 35E730 E0056D30 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 35E734 E0056D34 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 35E738 E0056D38 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 35E73C E0056D3C 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 35E740 E0056D40 3C140001 */ lui $s4, 1
/* 35E744 E0056D44 36941630 */ ori $s4, $s4, 0x1630
/* 35E748 E0056D48 26100020 */ addiu $s0, $s0, 0x20
.LE0056D4C:
/* 35E74C E0056D4C 0220202D */ daddu $a0, $s1, $zero
/* 35E750 E0056D50 8E05FFE4 */ lw $a1, -0x1c($s0)
/* 35E754 E0056D54 8E06FFE8 */ lw $a2, -0x18($s0)
/* 35E758 E0056D58 8E07FFEC */ lw $a3, -0x14($s0)
/* 35E75C E0056D5C 0C080108 */ jal shim_guTranslateF
/* 35E760 E0056D60 26520001 */ addiu $s2, $s2, 1
/* 35E764 E0056D64 0220202D */ daddu $a0, $s1, $zero
/* 35E768 E0056D68 27A50098 */ addiu $a1, $sp, 0x98
/* 35E76C E0056D6C 0C080114 */ jal shim_guMtxCatF
/* 35E770 E0056D70 27A60018 */ addiu $a2, $sp, 0x18
/* 35E774 E0056D74 E7B60010 */ swc1 $f22, 0x10($sp)
/* 35E778 E0056D78 8E05FFF8 */ lw $a1, -8($s0)
/* 35E77C E0056D7C 4406A000 */ mfc1 $a2, $f20
/* 35E780 E0056D80 4407A000 */ mfc1 $a3, $f20
/* 35E784 E0056D84 0C080104 */ jal shim_guRotateF
/* 35E788 E0056D88 0220202D */ daddu $a0, $s1, $zero
/* 35E78C E0056D8C 0220202D */ daddu $a0, $s1, $zero
/* 35E790 E0056D90 27A50018 */ addiu $a1, $sp, 0x18
/* 35E794 E0056D94 0C080114 */ jal shim_guMtxCatF
/* 35E798 E0056D98 00A0302D */ daddu $a2, $a1, $zero
/* 35E79C E0056D9C 0220202D */ daddu $a0, $s1, $zero
/* 35E7A0 E0056DA0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 35E7A4 E0056DA4 8E050000 */ lw $a1, ($s0)
/* 35E7A8 E0056DA8 4406A000 */ mfc1 $a2, $f20
/* 35E7AC E0056DAC 4407B000 */ mfc1 $a3, $f22
/* 35E7B0 E0056DB0 0C080104 */ jal shim_guRotateF
/* 35E7B4 E0056DB4 2610003C */ addiu $s0, $s0, 0x3c
/* 35E7B8 E0056DB8 0220202D */ daddu $a0, $s1, $zero
/* 35E7BC E0056DBC 27A50018 */ addiu $a1, $sp, 0x18
/* 35E7C0 E0056DC0 0C080114 */ jal shim_guMtxCatF
/* 35E7C4 E0056DC4 00A0302D */ daddu $a2, $a1, $zero
/* 35E7C8 E0056DC8 27A40018 */ addiu $a0, $sp, 0x18
/* 35E7CC E0056DCC 96A50000 */ lhu $a1, ($s5)
/* 35E7D0 E0056DD0 8EC20000 */ lw $v0, ($s6)
/* 35E7D4 E0056DD4 00052980 */ sll $a1, $a1, 6
/* 35E7D8 E0056DD8 00B42821 */ addu $a1, $a1, $s4
/* 35E7DC E0056DDC 0C080118 */ jal shim_guMtxF2L
/* 35E7E0 E0056DE0 00452821 */ addu $a1, $v0, $a1
/* 35E7E4 E0056DE4 3C06D838 */ lui $a2, 0xd838
/* 35E7E8 E0056DE8 8E640000 */ lw $a0, ($s3)
/* 35E7EC E0056DEC 34C60002 */ ori $a2, $a2, 2
/* 35E7F0 E0056DF0 0080282D */ daddu $a1, $a0, $zero
/* 35E7F4 E0056DF4 24840008 */ addiu $a0, $a0, 8
/* 35E7F8 E0056DF8 AE640000 */ sw $a0, ($s3)
/* 35E7FC E0056DFC 96A20000 */ lhu $v0, ($s5)
/* 35E800 E0056E00 3C03DA38 */ lui $v1, 0xda38
/* 35E804 E0056E04 ACA30000 */ sw $v1, ($a1)
/* 35E808 E0056E08 24430001 */ addiu $v1, $v0, 1
/* 35E80C E0056E0C 3042FFFF */ andi $v0, $v0, 0xffff
/* 35E810 E0056E10 00021180 */ sll $v0, $v0, 6
/* 35E814 E0056E14 A6A30000 */ sh $v1, ($s5)
/* 35E818 E0056E18 8EC30000 */ lw $v1, ($s6)
/* 35E81C E0056E1C 00541021 */ addu $v0, $v0, $s4
/* 35E820 E0056E20 00621821 */ addu $v1, $v1, $v0
/* 35E824 E0056E24 24820008 */ addiu $v0, $a0, 8
/* 35E828 E0056E28 ACA30004 */ sw $v1, 4($a1)
/* 35E82C E0056E2C AE620000 */ sw $v0, ($s3)
/* 35E830 E0056E30 3C02DE00 */ lui $v0, 0xde00
/* 35E834 E0056E34 AC820000 */ sw $v0, ($a0)
/* 35E838 E0056E38 24020040 */ addiu $v0, $zero, 0x40
/* 35E83C E0056E3C AC970004 */ sw $s7, 4($a0)
/* 35E840 E0056E40 AC860008 */ sw $a2, 8($a0)
/* 35E844 E0056E44 AC82000C */ sw $v0, 0xc($a0)
/* 35E848 E0056E48 8FC20008 */ lw $v0, 8($fp)
/* 35E84C E0056E4C 24840010 */ addiu $a0, $a0, 0x10
/* 35E850 E0056E50 0242102A */ slt $v0, $s2, $v0
/* 35E854 E0056E54 1440FFBD */ bnez $v0, .LE0056D4C
/* 35E858 E0056E58 AE640000 */ sw $a0, ($s3)
.LE0056E5C:
/* 35E85C E0056E5C 8FBF00FC */ lw $ra, 0xfc($sp)
/* 35E860 E0056E60 8FBE00F8 */ lw $fp, 0xf8($sp)
/* 35E864 E0056E64 8FB700F4 */ lw $s7, 0xf4($sp)
/* 35E868 E0056E68 8FB600F0 */ lw $s6, 0xf0($sp)
/* 35E86C E0056E6C 8FB500EC */ lw $s5, 0xec($sp)
/* 35E870 E0056E70 8FB400E8 */ lw $s4, 0xe8($sp)
/* 35E874 E0056E74 8FB300E4 */ lw $s3, 0xe4($sp)
/* 35E878 E0056E78 8FB200E0 */ lw $s2, 0xe0($sp)
/* 35E87C E0056E7C 8FB100DC */ lw $s1, 0xdc($sp)
/* 35E880 E0056E80 8FB000D8 */ lw $s0, 0xd8($sp)
/* 35E884 E0056E84 D7B60108 */ ldc1 $f22, 0x108($sp)
/* 35E888 E0056E88 D7B40100 */ ldc1 $f20, 0x100($sp)
/* 35E88C E0056E8C 03E00008 */ jr $ra
/* 35E890 E0056E90 27BD0110 */ addiu $sp, $sp, 0x110
/* 35E894 E0056E94 00000000 */ nop
/* 35E898 E0056E98 00000000 */ nop
/* 35E89C E0056E9C 00000000 */ nop

View File

@ -1,221 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0056EA0
.double 0.1
dlabel D_E0056EA8
.double 0.008
dlabel D_E0056EB0
.double 0.05
.section .text
glabel windy_leaves_main
/* 35DA00 E0056000 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 35DA04 E0056004 F7B40048 */ sdc1 $f20, 0x48($sp)
/* 35DA08 E0056008 4485A000 */ mtc1 $a1, $f20
/* 35DA0C E005600C AFB5003C */ sw $s5, 0x3c($sp)
/* 35DA10 E0056010 0080A82D */ daddu $s5, $a0, $zero
/* 35DA14 E0056014 F7B60050 */ sdc1 $f22, 0x50($sp)
/* 35DA18 E0056018 4486B000 */ mtc1 $a2, $f22
/* 35DA1C E005601C 27A40010 */ addiu $a0, $sp, 0x10
/* 35DA20 E0056020 F7B80058 */ sdc1 $f24, 0x58($sp)
/* 35DA24 E0056024 4487C000 */ mtc1 $a3, $f24
/* 35DA28 E0056028 3C02E005 */ lui $v0, %hi(windy_leaves_init)
/* 35DA2C E005602C 24426304 */ addiu $v0, $v0, %lo(windy_leaves_init)
/* 35DA30 E0056030 AFA20018 */ sw $v0, 0x18($sp)
/* 35DA34 E0056034 3C02E005 */ lui $v0, %hi(windy_leaves_update)
/* 35DA38 E0056038 2442630C */ addiu $v0, $v0, %lo(windy_leaves_update)
/* 35DA3C E005603C AFA2001C */ sw $v0, 0x1c($sp)
/* 35DA40 E0056040 3C02E005 */ lui $v0, %hi(windy_leaves_render)
/* 35DA44 E0056044 24426B8C */ addiu $v0, $v0, %lo(windy_leaves_render)
/* 35DA48 E0056048 AFA20020 */ sw $v0, 0x20($sp)
/* 35DA4C E005604C 2402002B */ addiu $v0, $zero, 0x2b
/* 35DA50 E0056050 AFBF0044 */ sw $ra, 0x44($sp)
/* 35DA54 E0056054 AFB60040 */ sw $s6, 0x40($sp)
/* 35DA58 E0056058 AFB40038 */ sw $s4, 0x38($sp)
/* 35DA5C E005605C AFB30034 */ sw $s3, 0x34($sp)
/* 35DA60 E0056060 AFB20030 */ sw $s2, 0x30($sp)
/* 35DA64 E0056064 AFB1002C */ sw $s1, 0x2c($sp)
/* 35DA68 E0056068 AFB00028 */ sw $s0, 0x28($sp)
/* 35DA6C E005606C AFA00010 */ sw $zero, 0x10($sp)
/* 35DA70 E0056070 AFA00024 */ sw $zero, 0x24($sp)
/* 35DA74 E0056074 0C080124 */ jal shim_create_effect_instance
/* 35DA78 E0056078 AFA20014 */ sw $v0, 0x14($sp)
/* 35DA7C E005607C 2404012C */ addiu $a0, $zero, 0x12c
/* 35DA80 E0056080 24160005 */ addiu $s6, $zero, 5
/* 35DA84 E0056084 0040802D */ daddu $s0, $v0, $zero
/* 35DA88 E0056088 0C08012C */ jal shim_general_heap_malloc
/* 35DA8C E005608C AE160008 */ sw $s6, 8($s0)
/* 35DA90 E0056090 0040182D */ daddu $v1, $v0, $zero
/* 35DA94 E0056094 14600003 */ bnez $v1, .LE00560A4
/* 35DA98 E0056098 AE03000C */ sw $v1, 0xc($s0)
.LE005609C:
/* 35DA9C E005609C 08015827 */ j .LE005609C
/* 35DAA0 E00560A0 00000000 */ nop
.LE00560A4:
/* 35DAA4 E00560A4 24020064 */ addiu $v0, $zero, 0x64
/* 35DAA8 E00560A8 AC750000 */ sw $s5, ($v1)
/* 35DAAC E00560AC E4740004 */ swc1 $f20, 4($v1)
/* 35DAB0 E00560B0 E4760008 */ swc1 $f22, 8($v1)
/* 35DAB4 E00560B4 E478000C */ swc1 $f24, 0xc($v1)
/* 35DAB8 E00560B8 AC620028 */ sw $v0, 0x28($v1)
/* 35DABC E00560BC AC60002C */ sw $zero, 0x2c($v1)
/* 35DAC0 E00560C0 AC600024 */ sw $zero, 0x24($v1)
/* 35DAC4 E00560C4 24140001 */ addiu $s4, $zero, 1
/* 35DAC8 E00560C8 0296102A */ slt $v0, $s4, $s6
/* 35DACC E00560CC 10400080 */ beqz $v0, .LE00562D0
/* 35DAD0 E00560D0 2463003C */ addiu $v1, $v1, 0x3c
/* 35DAD4 E00560D4 24730014 */ addiu $s3, $v1, 0x14
/* 35DAD8 E00560D8 3C01E005 */ lui $at, %hi(D_E0056EA0)
/* 35DADC E00560DC D4346EA0 */ ldc1 $f20, %lo(D_E0056EA0)($at)
/* 35DAE0 E00560E0 3C01E005 */ lui $at, %hi(D_E0056EA8)
/* 35DAE4 E00560E4 D4386EA8 */ ldc1 $f24, %lo(D_E0056EA8)($at)
/* 35DAE8 E00560E8 3C01E005 */ lui $at, %hi(D_E0056EB0)
/* 35DAEC E00560EC D4366EB0 */ ldc1 $f22, %lo(D_E0056EB0)($at)
.LE00560F0:
/* 35DAF0 E00560F0 0C080000 */ jal func_E0200000
/* 35DAF4 E00560F4 24040032 */ addiu $a0, $zero, 0x32
/* 35DAF8 E00560F8 24040014 */ addiu $a0, $zero, 0x14
/* 35DAFC E00560FC 0C080000 */ jal func_E0200000
/* 35DB00 E0056100 0040802D */ daddu $s0, $v0, $zero
/* 35DB04 E0056104 24040168 */ addiu $a0, $zero, 0x168
/* 35DB08 E0056108 0C080000 */ jal func_E0200000
/* 35DB0C E005610C 0040882D */ daddu $s1, $v0, $zero
/* 35DB10 E0056110 24040064 */ addiu $a0, $zero, 0x64
/* 35DB14 E0056114 0C080000 */ jal func_E0200000
/* 35DB18 E0056118 0040902D */ daddu $s2, $v0, $zero
/* 35DB1C E005611C 2610004B */ addiu $s0, $s0, 0x4b
/* 35DB20 E0056120 44900000 */ mtc1 $s0, $f0
/* 35DB24 E0056124 00000000 */ nop
/* 35DB28 E0056128 46800020 */ cvt.s.w $f0, $f0
/* 35DB2C E005612C 26310046 */ addiu $s1, $s1, 0x46
/* 35DB30 E0056130 E660FFF0 */ swc1 $f0, -0x10($s3)
/* 35DB34 E0056134 44910000 */ mtc1 $s1, $f0
/* 35DB38 E0056138 00000000 */ nop
/* 35DB3C E005613C 46800020 */ cvt.s.w $f0, $f0
/* 35DB40 E0056140 E660FFF4 */ swc1 $f0, -0xc($s3)
/* 35DB44 E0056144 44920000 */ mtc1 $s2, $f0
/* 35DB48 E0056148 00000000 */ nop
/* 35DB4C E005614C 46800020 */ cvt.s.w $f0, $f0
/* 35DB50 E0056150 24030168 */ addiu $v1, $zero, 0x168
/* 35DB54 E0056154 00721823 */ subu $v1, $v1, $s2
/* 35DB58 E0056158 E6600004 */ swc1 $f0, 4($s3)
/* 35DB5C E005615C 44830000 */ mtc1 $v1, $f0
/* 35DB60 E0056160 00000000 */ nop
/* 35DB64 E0056164 46800020 */ cvt.s.w $f0, $f0
/* 35DB68 E0056168 0040182D */ daddu $v1, $v0, $zero
/* 35DB6C E005616C 24020001 */ addiu $v0, $zero, 1
/* 35DB70 E0056170 AE60FFF8 */ sw $zero, -8($s3)
/* 35DB74 E0056174 12A20019 */ beq $s5, $v0, .LE00561DC
/* 35DB78 E0056178 E660000C */ swc1 $f0, 0xc($s3)
/* 35DB7C E005617C 2AA20002 */ slti $v0, $s5, 2
/* 35DB80 E0056180 10400005 */ beqz $v0, .LE0056198
/* 35DB84 E0056184 24020002 */ addiu $v0, $zero, 2
/* 35DB88 E0056188 52A00007 */ beql $s5, $zero, .LE00561A8
/* 35DB8C E005618C AE60FFFC */ sw $zero, -4($s3)
/* 35DB90 E0056190 080158B1 */ j .LE00562C4
/* 35DB94 E0056194 26940001 */ addiu $s4, $s4, 1
.LE0056198:
/* 35DB98 E0056198 12A20023 */ beq $s5, $v0, .LE0056228
/* 35DB9C E005619C 2404000A */ addiu $a0, $zero, 0xa
/* 35DBA0 E00561A0 080158B1 */ j .LE00562C4
/* 35DBA4 E00561A4 26940001 */ addiu $s4, $s4, 1
.LE00561A8:
/* 35DBA8 E00561A8 44830000 */ mtc1 $v1, $f0
/* 35DBAC E00561AC 00000000 */ nop
/* 35DBB0 E00561B0 46800020 */ cvt.s.w $f0, $f0
/* 35DBB4 E00561B4 46000021 */ cvt.d.s $f0, $f0
/* 35DBB8 E00561B8 46340002 */ mul.d $f0, $f0, $f20
/* 35DBBC E00561BC 00000000 */ nop
/* 35DBC0 E00561C0 3C01C040 */ lui $at, 0xc040
/* 35DBC4 E00561C4 44811000 */ mtc1 $at, $f2
/* 35DBC8 E00561C8 3C014040 */ lui $at, 0x4040
/* 35DBCC E00561CC 44812000 */ mtc1 $at, $f4
/* 35DBD0 E00561D0 AE600000 */ sw $zero, ($s3)
/* 35DBD4 E00561D4 08015885 */ j .LE0056214
/* 35DBD8 E00561D8 AE600020 */ sw $zero, 0x20($s3)
.LE00561DC:
/* 35DBDC E00561DC 44830000 */ mtc1 $v1, $f0
/* 35DBE0 E00561E0 00000000 */ nop
/* 35DBE4 E00561E4 46800020 */ cvt.s.w $f0, $f0
/* 35DBE8 E00561E8 46000021 */ cvt.d.s $f0, $f0
/* 35DBEC E00561EC 46340002 */ mul.d $f0, $f0, $f20
/* 35DBF0 E00561F0 00000000 */ nop
/* 35DBF4 E00561F4 3C01C0C0 */ lui $at, 0xc0c0
/* 35DBF8 E00561F8 44811000 */ mtc1 $at, $f2
/* 35DBFC E00561FC 3C0140C0 */ lui $at, 0x40c0
/* 35DC00 E0056200 44812000 */ mtc1 $at, $f4
/* 35DC04 E0056204 AE60FFFC */ sw $zero, -4($s3)
/* 35DC08 E0056208 AE600000 */ sw $zero, ($s3)
/* 35DC0C E005620C AE600020 */ sw $zero, 0x20($s3)
/* 35DC10 E0056210 46200000 */ add.d $f0, $f0, $f0
.LE0056214:
/* 35DC14 E0056214 E662001C */ swc1 $f2, 0x1c($s3)
/* 35DC18 E0056218 E6640024 */ swc1 $f4, 0x24($s3)
/* 35DC1C E005621C 46200020 */ cvt.s.d $f0, $f0
/* 35DC20 E0056220 080158B0 */ j .LE00562C0
/* 35DC24 E0056224 E6600008 */ swc1 $f0, 8($s3)
.LE0056228:
/* 35DC28 E0056228 44830000 */ mtc1 $v1, $f0
/* 35DC2C E005622C 00000000 */ nop
/* 35DC30 E0056230 46800020 */ cvt.s.w $f0, $f0
/* 35DC34 E0056234 46000021 */ cvt.d.s $f0, $f0
/* 35DC38 E0056238 46340002 */ mul.d $f0, $f0, $f20
/* 35DC3C E005623C 00000000 */ nop
/* 35DC40 E0056240 46200000 */ add.d $f0, $f0, $f0
/* 35DC44 E0056244 46200020 */ cvt.s.d $f0, $f0
/* 35DC48 E0056248 0C080138 */ jal shim_rand_int
/* 35DC4C E005624C E6600008 */ swc1 $f0, 8($s3)
/* 35DC50 E0056250 44821000 */ mtc1 $v0, $f2
/* 35DC54 E0056254 00000000 */ nop
/* 35DC58 E0056258 468010A1 */ cvt.d.w $f2, $f2
/* 35DC5C E005625C 46381082 */ mul.d $f2, $f2, $f24
/* 35DC60 E0056260 00000000 */ nop
/* 35DC64 E0056264 46361080 */ add.d $f2, $f2, $f22
/* 35DC68 E0056268 C660FFF0 */ lwc1 $f0, -0x10($s3)
/* 35DC6C E005626C 46000007 */ neg.s $f0, $f0
/* 35DC70 E0056270 46000021 */ cvt.d.s $f0, $f0
/* 35DC74 E0056274 46220002 */ mul.d $f0, $f0, $f2
/* 35DC78 E0056278 00000000 */ nop
/* 35DC7C E005627C 2404000A */ addiu $a0, $zero, 0xa
/* 35DC80 E0056280 46200020 */ cvt.s.d $f0, $f0
/* 35DC84 E0056284 0C080138 */ jal shim_rand_int
/* 35DC88 E0056288 E660FFFC */ swc1 $f0, -4($s3)
/* 35DC8C E005628C 44821000 */ mtc1 $v0, $f2
/* 35DC90 E0056290 00000000 */ nop
/* 35DC94 E0056294 468010A1 */ cvt.d.w $f2, $f2
/* 35DC98 E0056298 46381082 */ mul.d $f2, $f2, $f24
/* 35DC9C E005629C 00000000 */ nop
/* 35DCA0 E00562A0 46361080 */ add.d $f2, $f2, $f22
/* 35DCA4 E00562A4 C660FFF4 */ lwc1 $f0, -0xc($s3)
/* 35DCA8 E00562A8 46000007 */ neg.s $f0, $f0
/* 35DCAC E00562AC 46000021 */ cvt.d.s $f0, $f0
/* 35DCB0 E00562B0 46220002 */ mul.d $f0, $f0, $f2
/* 35DCB4 E00562B4 00000000 */ nop
/* 35DCB8 E00562B8 46200020 */ cvt.s.d $f0, $f0
/* 35DCBC E00562BC E6600000 */ swc1 $f0, ($s3)
.LE00562C0:
/* 35DCC0 E00562C0 26940001 */ addiu $s4, $s4, 1
.LE00562C4:
/* 35DCC4 E00562C4 0296102A */ slt $v0, $s4, $s6
/* 35DCC8 E00562C8 1440FF89 */ bnez $v0, .LE00560F0
/* 35DCCC E00562CC 2673003C */ addiu $s3, $s3, 0x3c
.LE00562D0:
/* 35DCD0 E00562D0 8FBF0044 */ lw $ra, 0x44($sp)
/* 35DCD4 E00562D4 8FB60040 */ lw $s6, 0x40($sp)
/* 35DCD8 E00562D8 8FB5003C */ lw $s5, 0x3c($sp)
/* 35DCDC E00562DC 8FB40038 */ lw $s4, 0x38($sp)
/* 35DCE0 E00562E0 8FB30034 */ lw $s3, 0x34($sp)
/* 35DCE4 E00562E4 8FB20030 */ lw $s2, 0x30($sp)
/* 35DCE8 E00562E8 8FB1002C */ lw $s1, 0x2c($sp)
/* 35DCEC E00562EC 8FB00028 */ lw $s0, 0x28($sp)
/* 35DCF0 E00562F0 D7B80058 */ ldc1 $f24, 0x58($sp)
/* 35DCF4 E00562F4 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 35DCF8 E00562F8 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 35DCFC E00562FC 03E00008 */ jr $ra
/* 35DD00 E0056300 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,624 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0056EB8
.double 0.3
dlabel D_E0056EC0
.double 0.8
dlabel D_E0056EC8
.double 0.4
dlabel D_E0056ED0
.double 0.98
dlabel D_E0056ED8
.double 0.2
dlabel D_E0056EE0
.double 0.94
dlabel D_E0056EE8
.double 0.05
dlabel D_E0056EF0
.double 0.95
dlabel D_E0056EF8
.double 0.92
dlabel D_E0056F00
.double 0.8
dlabel D_E0056F08
.double 0.9603999999999999
dlabel D_E0056F10
.double 0.2
dlabel D_E0056F18
.double 0.8464
.section .text
glabel windy_leaves_update
/* 35DD0C E005630C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 35DD10 E0056310 AFB40020 */ sw $s4, 0x20($sp)
/* 35DD14 E0056314 0080A02D */ daddu $s4, $a0, $zero
/* 35DD18 E0056318 AFBF0024 */ sw $ra, 0x24($sp)
/* 35DD1C E005631C AFB3001C */ sw $s3, 0x1c($sp)
/* 35DD20 E0056320 AFB20018 */ sw $s2, 0x18($sp)
/* 35DD24 E0056324 AFB10014 */ sw $s1, 0x14($sp)
/* 35DD28 E0056328 AFB00010 */ sw $s0, 0x10($sp)
/* 35DD2C E005632C F7BC0048 */ sdc1 $f28, 0x48($sp)
/* 35DD30 E0056330 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* 35DD34 E0056334 F7B80038 */ sdc1 $f24, 0x38($sp)
/* 35DD38 E0056338 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 35DD3C E005633C F7B40028 */ sdc1 $f20, 0x28($sp)
/* 35DD40 E0056340 8E84000C */ lw $a0, 0xc($s4)
/* 35DD44 E0056344 8C820028 */ lw $v0, 0x28($a0)
/* 35DD48 E0056348 8C85002C */ lw $a1, 0x2c($a0)
/* 35DD4C E005634C 2442FFFF */ addiu $v0, $v0, -1
/* 35DD50 E0056350 AC820028 */ sw $v0, 0x28($a0)
/* 35DD54 E0056354 0040302D */ daddu $a2, $v0, $zero
/* 35DD58 E0056358 24A20001 */ addiu $v0, $a1, 1
/* 35DD5C E005635C 04C10005 */ bgez $a2, .LE0056374
/* 35DD60 E0056360 AC82002C */ sw $v0, 0x2c($a0)
/* 35DD64 E0056364 0C080128 */ jal shim_remove_effect
/* 35DD68 E0056368 0280202D */ daddu $a0, $s4, $zero
/* 35DD6C E005636C 08015AD6 */ j .LE0056B58
/* 35DD70 E0056370 00000000 */ nop
.LE0056374:
/* 35DD74 E0056374 8C930000 */ lw $s3, ($a0)
/* 35DD78 E0056378 2842000A */ slti $v0, $v0, 0xa
/* 35DD7C E005637C 10400010 */ beqz $v0, .LE00563C0
/* 35DD80 E0056380 240200FF */ addiu $v0, $zero, 0xff
/* 35DD84 E0056384 8C830024 */ lw $v1, 0x24($a0)
/* 35DD88 E0056388 3C01E005 */ lui $at, %hi(D_E0056EB8)
/* 35DD8C E005638C D4206EB8 */ ldc1 $f0, %lo(D_E0056EB8)($at)
/* 35DD90 E0056390 00431023 */ subu $v0, $v0, $v1
/* 35DD94 E0056394 44821000 */ mtc1 $v0, $f2
/* 35DD98 E0056398 00000000 */ nop
/* 35DD9C E005639C 468010A1 */ cvt.d.w $f2, $f2
/* 35DDA0 E00563A0 46201082 */ mul.d $f2, $f2, $f0
/* 35DDA4 E00563A4 00000000 */ nop
/* 35DDA8 E00563A8 44830000 */ mtc1 $v1, $f0
/* 35DDAC E00563AC 00000000 */ nop
/* 35DDB0 E00563B0 46800021 */ cvt.d.w $f0, $f0
/* 35DDB4 E00563B4 46220000 */ add.d $f0, $f0, $f2
/* 35DDB8 E00563B8 4620028D */ trunc.w.d $f10, $f0
/* 35DDBC E00563BC E48A0024 */ swc1 $f10, 0x24($a0)
.LE00563C0:
/* 35DDC0 E00563C0 28C2000A */ slti $v0, $a2, 0xa
/* 35DDC4 E00563C4 10400009 */ beqz $v0, .LE00563EC
/* 35DDC8 E00563C8 24020001 */ addiu $v0, $zero, 1
/* 35DDCC E00563CC 3C01E005 */ lui $at, %hi(D_E0056EC0)
/* 35DDD0 E00563D0 D4226EC0 */ ldc1 $f2, %lo(D_E0056EC0)($at)
/* 35DDD4 E00563D4 C4800024 */ lwc1 $f0, 0x24($a0)
/* 35DDD8 E00563D8 46800021 */ cvt.d.w $f0, $f0
/* 35DDDC E00563DC 46220002 */ mul.d $f0, $f0, $f2
/* 35DDE0 E00563E0 00000000 */ nop
/* 35DDE4 E00563E4 4620028D */ trunc.w.d $f10, $f0
/* 35DDE8 E00563E8 E48A0024 */ swc1 $f10, 0x24($a0)
.LE00563EC:
/* 35DDEC E00563EC 126200E6 */ beq $s3, $v0, .LE0056788
/* 35DDF0 E00563F0 2484003C */ addiu $a0, $a0, 0x3c
/* 35DDF4 E00563F4 2A620002 */ slti $v0, $s3, 2
/* 35DDF8 E00563F8 50400005 */ beql $v0, $zero, .LE0056410
/* 35DDFC E00563FC 24020002 */ addiu $v0, $zero, 2
/* 35DE00 E0056400 12600007 */ beqz $s3, .LE0056420
/* 35DE04 E0056404 24120001 */ addiu $s2, $zero, 1
/* 35DE08 E0056408 08015AD6 */ j .LE0056B58
/* 35DE0C E005640C 00000000 */ nop
.LE0056410:
/* 35DE10 E0056410 1262019E */ beq $s3, $v0, .LE0056A8C
/* 35DE14 E0056414 24120001 */ addiu $s2, $zero, 1
/* 35DE18 E0056418 08015AD6 */ j .LE0056B58
/* 35DE1C E005641C 00000000 */ nop
.LE0056420:
/* 35DE20 E0056420 8E820008 */ lw $v0, 8($s4)
/* 35DE24 E0056424 0242102A */ slt $v0, $s2, $v0
/* 35DE28 E0056428 104001CB */ beqz $v0, .LE0056B58
/* 35DE2C E005642C 2490000C */ addiu $s0, $a0, 0xc
/* 35DE30 E0056430 24B10015 */ addiu $s1, $a1, 0x15
/* 35DE34 E0056434 3C01BD4C */ lui $at, 0xbd4c
/* 35DE38 E0056438 3421CCCD */ ori $at, $at, 0xcccd
/* 35DE3C E005643C 4481E000 */ mtc1 $at, $f28
/* 35DE40 E0056440 3C014120 */ lui $at, 0x4120
/* 35DE44 E0056444 4481D000 */ mtc1 $at, $f26
/* 35DE48 E0056448 3C01E005 */ lui $at, %hi(D_E0056EC8)
/* 35DE4C E005644C D4346EC8 */ ldc1 $f20, %lo(D_E0056EC8)($at)
/* 35DE50 E0056450 4480C000 */ mtc1 $zero, $f24
/* 35DE54 E0056454 3C01E005 */ lui $at, %hi(D_E0056ED0)
/* 35DE58 E0056458 D4366ED0 */ ldc1 $f22, %lo(D_E0056ED0)($at)
.LE005645C:
/* 35DE5C E005645C C60C000C */ lwc1 $f12, 0xc($s0)
/* 35DE60 E0056460 0C080140 */ jal shim_sin_deg
/* 35DE64 E0056464 460C6300 */ add.s $f12, $f12, $f12
/* 35DE68 E0056468 3C01E005 */ lui $at, %hi(D_E0056ED8)
/* 35DE6C E005646C D4226ED8 */ ldc1 $f2, %lo(D_E0056ED8)($at)
/* 35DE70 E0056470 46000021 */ cvt.d.s $f0, $f0
/* 35DE74 E0056474 46220002 */ mul.d $f0, $f0, $f2
/* 35DE78 E0056478 00000000 */ nop
/* 35DE7C E005647C C6020008 */ lwc1 $f2, 8($s0)
/* 35DE80 E0056480 461C1080 */ add.s $f2, $f2, $f28
/* 35DE84 E0056484 C6040004 */ lwc1 $f4, 4($s0)
/* 35DE88 E0056488 46200020 */ cvt.s.d $f0, $f0
/* 35DE8C E005648C 46002000 */ add.s $f0, $f4, $f0
/* 35DE90 E0056490 E6020008 */ swc1 $f2, 8($s0)
/* 35DE94 E0056494 16600019 */ bnez $s3, .LE00564FC
/* 35DE98 E0056498 E6000004 */ swc1 $f0, 4($s0)
/* 35DE9C E005649C 3C01E005 */ lui $at, %hi(D_E0056EE0)
/* 35DEA0 E00564A0 D4226EE0 */ ldc1 $f2, %lo(D_E0056EE0)($at)
/* 35DEA4 E00564A4 46000021 */ cvt.d.s $f0, $f0
/* 35DEA8 E00564A8 46220002 */ mul.d $f0, $f0, $f2
/* 35DEAC E00564AC 00000000 */ nop
/* 35DEB0 E00564B0 C60C000C */ lwc1 $f12, 0xc($s0)
/* 35DEB4 E00564B4 46200020 */ cvt.s.d $f0, $f0
/* 35DEB8 E00564B8 0C080140 */ jal shim_sin_deg
/* 35DEBC E00564BC E6000004 */ swc1 $f0, 4($s0)
/* 35DEC0 E00564C0 3C01E005 */ lui $at, %hi(D_E0056EE8)
/* 35DEC4 E00564C4 D4226EE8 */ ldc1 $f2, %lo(D_E0056EE8)($at)
/* 35DEC8 E00564C8 46000021 */ cvt.d.s $f0, $f0
/* 35DECC E00564CC 46220002 */ mul.d $f0, $f0, $f2
/* 35DED0 E00564D0 00000000 */ nop
/* 35DED4 E00564D4 3C01E005 */ lui $at, %hi(D_E0056EF0)
/* 35DED8 E00564D8 D4246EF0 */ ldc1 $f4, %lo(D_E0056EF0)($at)
/* 35DEDC E00564DC C6020008 */ lwc1 $f2, 8($s0)
/* 35DEE0 E00564E0 46240000 */ add.d $f0, $f0, $f4
/* 35DEE4 E00564E4 460010A1 */ cvt.d.s $f2, $f2
/* 35DEE8 E00564E8 46201082 */ mul.d $f2, $f2, $f0
/* 35DEEC E00564EC 00000000 */ nop
/* 35DEF0 E00564F0 462010A0 */ cvt.s.d $f2, $f2
/* 35DEF4 E00564F4 0801594A */ j .LE0056528
/* 35DEF8 E00564F8 E6020008 */ swc1 $f2, 8($s0)
.LE00564FC:
/* 35DEFC E00564FC C6000004 */ lwc1 $f0, 4($s0)
/* 35DF00 E0056500 3C01E005 */ lui $at, %hi(D_E0056EF8)
/* 35DF04 E0056504 D4226EF8 */ ldc1 $f2, %lo(D_E0056EF8)($at)
/* 35DF08 E0056508 46000021 */ cvt.d.s $f0, $f0
/* 35DF0C E005650C 46220002 */ mul.d $f0, $f0, $f2
/* 35DF10 E0056510 00000000 */ nop
/* 35DF14 E0056514 C6020008 */ lwc1 $f2, 8($s0)
/* 35DF18 E0056518 461C1080 */ add.s $f2, $f2, $f28
/* 35DF1C E005651C E6020008 */ swc1 $f2, 8($s0)
/* 35DF20 E0056520 46200020 */ cvt.s.d $f0, $f0
/* 35DF24 E0056524 E6000004 */ swc1 $f0, 4($s0)
.LE0056528:
/* 35DF28 E0056528 24040032 */ addiu $a0, $zero, 0x32
/* 35DF2C E005652C 0C080011 */ jal func_E0200044
/* 35DF30 E0056530 0220282D */ daddu $a1, $s1, $zero
/* 35DF34 E0056534 2442FFE7 */ addiu $v0, $v0, -0x19
/* 35DF38 E0056538 C60C0010 */ lwc1 $f12, 0x10($s0)
/* 35DF3C E005653C 44820000 */ mtc1 $v0, $f0
/* 35DF40 E0056540 00000000 */ nop
/* 35DF44 E0056544 46800020 */ cvt.s.w $f0, $f0
/* 35DF48 E0056548 46006300 */ add.s $f12, $f12, $f0
/* 35DF4C E005654C 0C080140 */ jal shim_sin_deg
/* 35DF50 E0056550 E60C0010 */ swc1 $f12, 0x10($s0)
/* 35DF54 E0056554 C60C0010 */ lwc1 $f12, 0x10($s0)
/* 35DF58 E0056558 3C013FE0 */ lui $at, 0x3fe0
/* 35DF5C E005655C 44811800 */ mtc1 $at, $f3
/* 35DF60 E0056560 44801000 */ mtc1 $zero, $f2
/* 35DF64 E0056564 46006321 */ cvt.d.s $f12, $f12
/* 35DF68 E0056568 46226302 */ mul.d $f12, $f12, $f2
/* 35DF6C E005656C 00000000 */ nop
/* 35DF70 E0056570 461A0002 */ mul.s $f0, $f0, $f26
/* 35DF74 E0056574 00000000 */ nop
/* 35DF78 E0056578 C602000C */ lwc1 $f2, 0xc($s0)
/* 35DF7C E005657C 46001080 */ add.s $f2, $f2, $f0
/* 35DF80 E0056580 E602000C */ swc1 $f2, 0xc($s0)
/* 35DF84 E0056584 0C080144 */ jal shim_cos_deg
/* 35DF88 E0056588 46206320 */ cvt.s.d $f12, $f12
/* 35DF8C E005658C 461A0002 */ mul.s $f0, $f0, $f26
/* 35DF90 E0056590 00000000 */ nop
/* 35DF94 E0056594 C606FFF8 */ lwc1 $f6, -8($s0)
/* 35DF98 E0056598 C6020004 */ lwc1 $f2, 4($s0)
/* 35DF9C E005659C C604FFFC */ lwc1 $f4, -4($s0)
/* 35DFA0 E00565A0 46023180 */ add.s $f6, $f6, $f2
/* 35DFA4 E00565A4 C6020008 */ lwc1 $f2, 8($s0)
/* 35DFA8 E00565A8 46022100 */ add.s $f4, $f4, $f2
/* 35DFAC E00565AC C6020014 */ lwc1 $f2, 0x14($s0)
/* 35DFB0 E00565B0 3C0141F0 */ lui $at, 0x41f0
/* 35DFB4 E00565B4 44814000 */ mtc1 $at, $f8
/* 35DFB8 E00565B8 46001080 */ add.s $f2, $f2, $f0
/* 35DFBC E00565BC E606FFF8 */ swc1 $f6, -8($s0)
/* 35DFC0 E00565C0 E604FFFC */ swc1 $f4, -4($s0)
/* 35DFC4 E00565C4 4608203C */ c.lt.s $f4, $f8
/* 35DFC8 E00565C8 00000000 */ nop
/* 35DFCC E00565CC 45000032 */ bc1f .LE0056698
/* 35DFD0 E00565D0 E6020014 */ swc1 $f2, 0x14($s0)
/* 35DFD4 E00565D4 3C01C348 */ lui $at, 0xc348
/* 35DFD8 E00565D8 44810000 */ mtc1 $at, $f0
/* 35DFDC E00565DC 46003086 */ mov.s $f2, $f6
/* 35DFE0 E00565E0 4602003C */ c.lt.s $f0, $f2
/* 35DFE4 E00565E4 00000000 */ nop
/* 35DFE8 E00565E8 45000005 */ bc1f .LE0056600
/* 35DFEC E00565EC 00000000 */ nop
/* 35DFF0 E00565F0 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35DFF4 E00565F4 46000021 */ cvt.d.s $f0, $f0
/* 35DFF8 E00565F8 08015983 */ j .LE005660C
/* 35DFFC E00565FC 46340001 */ sub.d $f0, $f0, $f20
.LE0056600:
/* 35E000 E0056600 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E004 E0056604 46000021 */ cvt.d.s $f0, $f0
/* 35E008 E0056608 46340000 */ add.d $f0, $f0, $f20
.LE005660C:
/* 35E00C E005660C 46200020 */ cvt.s.d $f0, $f0
/* 35E010 E0056610 E6000024 */ swc1 $f0, 0x24($s0)
/* 35E014 E0056614 C6000000 */ lwc1 $f0, ($s0)
/* 35E018 E0056618 4600C03C */ c.lt.s $f24, $f0
/* 35E01C E005661C 00000000 */ nop
/* 35E020 E0056620 45000005 */ bc1f .LE0056638
/* 35E024 E0056624 00000000 */ nop
/* 35E028 E0056628 C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E02C E005662C 46000021 */ cvt.d.s $f0, $f0
/* 35E030 E0056630 08015991 */ j .LE0056644
/* 35E034 E0056634 46340001 */ sub.d $f0, $f0, $f20
.LE0056638:
/* 35E038 E0056638 C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E03C E005663C 46000021 */ cvt.d.s $f0, $f0
/* 35E040 E0056640 46340000 */ add.d $f0, $f0, $f20
.LE0056644:
/* 35E044 E0056644 46200020 */ cvt.s.d $f0, $f0
/* 35E048 E0056648 E600002C */ swc1 $f0, 0x2c($s0)
/* 35E04C E005664C C6040024 */ lwc1 $f4, 0x24($s0)
/* 35E050 E0056650 46002121 */ cvt.d.s $f4, $f4
/* 35E054 E0056654 46362102 */ mul.d $f4, $f4, $f22
/* 35E058 E0056658 00000000 */ nop
/* 35E05C E005665C C602002C */ lwc1 $f2, 0x2c($s0)
/* 35E060 E0056660 460010A1 */ cvt.d.s $f2, $f2
/* 35E064 E0056664 46361082 */ mul.d $f2, $f2, $f22
/* 35E068 E0056668 00000000 */ nop
/* 35E06C E005666C C6000008 */ lwc1 $f0, 8($s0)
/* 35E070 E0056670 46000021 */ cvt.d.s $f0, $f0
/* 35E074 E0056674 46360002 */ mul.d $f0, $f0, $f22
/* 35E078 E0056678 00000000 */ nop
/* 35E07C E005667C 46202120 */ cvt.s.d $f4, $f4
/* 35E080 E0056680 462010A0 */ cvt.s.d $f2, $f2
/* 35E084 E0056684 46200020 */ cvt.s.d $f0, $f0
/* 35E088 E0056688 E6040024 */ swc1 $f4, 0x24($s0)
/* 35E08C E005668C E602002C */ swc1 $f2, 0x2c($s0)
/* 35E090 E0056690 080159CE */ j .LE0056738
/* 35E094 E0056694 E6000008 */ swc1 $f0, 8($s0)
.LE0056698:
/* 35E098 E0056698 C600FFF8 */ lwc1 $f0, -8($s0)
/* 35E09C E005669C 4600C03C */ c.lt.s $f24, $f0
/* 35E0A0 E00566A0 00000000 */ nop
/* 35E0A4 E00566A4 45000005 */ bc1f .LE00566BC
/* 35E0A8 E00566A8 00000000 */ nop
/* 35E0AC E00566AC C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E0B0 E00566B0 46000021 */ cvt.d.s $f0, $f0
/* 35E0B4 E00566B4 080159B2 */ j .LE00566C8
/* 35E0B8 E00566B8 46340001 */ sub.d $f0, $f0, $f20
.LE00566BC:
/* 35E0BC E00566BC C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E0C0 E00566C0 46000021 */ cvt.d.s $f0, $f0
/* 35E0C4 E00566C4 46340000 */ add.d $f0, $f0, $f20
.LE00566C8:
/* 35E0C8 E00566C8 46200020 */ cvt.s.d $f0, $f0
/* 35E0CC E00566CC E6000024 */ swc1 $f0, 0x24($s0)
/* 35E0D0 E00566D0 C6000000 */ lwc1 $f0, ($s0)
/* 35E0D4 E00566D4 4600C03C */ c.lt.s $f24, $f0
/* 35E0D8 E00566D8 00000000 */ nop
/* 35E0DC E00566DC 45000005 */ bc1f .LE00566F4
/* 35E0E0 E00566E0 00000000 */ nop
/* 35E0E4 E00566E4 C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E0E8 E00566E8 46000021 */ cvt.d.s $f0, $f0
/* 35E0EC E00566EC 080159C0 */ j .LE0056700
/* 35E0F0 E00566F0 46340001 */ sub.d $f0, $f0, $f20
.LE00566F4:
/* 35E0F4 E00566F4 C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E0F8 E00566F8 46000021 */ cvt.d.s $f0, $f0
/* 35E0FC E00566FC 46340000 */ add.d $f0, $f0, $f20
.LE0056700:
/* 35E100 E0056700 46200020 */ cvt.s.d $f0, $f0
/* 35E104 E0056704 E600002C */ swc1 $f0, 0x2c($s0)
/* 35E108 E0056708 C6020024 */ lwc1 $f2, 0x24($s0)
/* 35E10C E005670C 460010A1 */ cvt.d.s $f2, $f2
/* 35E110 E0056710 46361082 */ mul.d $f2, $f2, $f22
/* 35E114 E0056714 00000000 */ nop
/* 35E118 E0056718 C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E11C E005671C 46000021 */ cvt.d.s $f0, $f0
/* 35E120 E0056720 46360002 */ mul.d $f0, $f0, $f22
/* 35E124 E0056724 00000000 */ nop
/* 35E128 E0056728 462010A0 */ cvt.s.d $f2, $f2
/* 35E12C E005672C 46200020 */ cvt.s.d $f0, $f0
/* 35E130 E0056730 E6020024 */ swc1 $f2, 0x24($s0)
/* 35E134 E0056734 E600002C */ swc1 $f0, 0x2c($s0)
.LE0056738:
/* 35E138 E0056738 26310014 */ addiu $s1, $s1, 0x14
/* 35E13C E005673C C606FFF8 */ lwc1 $f6, -8($s0)
/* 35E140 E0056740 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E144 E0056744 C604FFFC */ lwc1 $f4, -4($s0)
/* 35E148 E0056748 46003180 */ add.s $f6, $f6, $f0
/* 35E14C E005674C C6000028 */ lwc1 $f0, 0x28($s0)
/* 35E150 E0056750 C602002C */ lwc1 $f2, 0x2c($s0)
/* 35E154 E0056754 46002100 */ add.s $f4, $f4, $f0
/* 35E158 E0056758 C6000000 */ lwc1 $f0, ($s0)
/* 35E15C E005675C 26520001 */ addiu $s2, $s2, 1
/* 35E160 E0056760 46020000 */ add.s $f0, $f0, $f2
/* 35E164 E0056764 E606FFF8 */ swc1 $f6, -8($s0)
/* 35E168 E0056768 E604FFFC */ swc1 $f4, -4($s0)
/* 35E16C E005676C E6000000 */ swc1 $f0, ($s0)
/* 35E170 E0056770 8E820008 */ lw $v0, 8($s4)
/* 35E174 E0056774 0242102A */ slt $v0, $s2, $v0
/* 35E178 E0056778 1440FF38 */ bnez $v0, .LE005645C
/* 35E17C E005677C 2610003C */ addiu $s0, $s0, 0x3c
/* 35E180 E0056780 08015AD6 */ j .LE0056B58
/* 35E184 E0056784 00000000 */ nop
.LE0056788:
/* 35E188 E0056788 8E820008 */ lw $v0, 8($s4)
/* 35E18C E005678C 24120001 */ addiu $s2, $zero, 1
/* 35E190 E0056790 0242102A */ slt $v0, $s2, $v0
/* 35E194 E0056794 104000F0 */ beqz $v0, .LE0056B58
/* 35E198 E0056798 2490000C */ addiu $s0, $a0, 0xc
/* 35E19C E005679C 24B10015 */ addiu $s1, $a1, 0x15
/* 35E1A0 E00567A0 3C01BD4C */ lui $at, 0xbd4c
/* 35E1A4 E00567A4 3421CCCD */ ori $at, $at, 0xcccd
/* 35E1A8 E00567A8 4481E000 */ mtc1 $at, $f28
/* 35E1AC E00567AC 3C014120 */ lui $at, 0x4120
/* 35E1B0 E00567B0 4481D000 */ mtc1 $at, $f26
/* 35E1B4 E00567B4 3C01E005 */ lui $at, %hi(D_E0056F00)
/* 35E1B8 E00567B8 D4346F00 */ ldc1 $f20, %lo(D_E0056F00)($at)
/* 35E1BC E00567BC 4480C000 */ mtc1 $zero, $f24
/* 35E1C0 E00567C0 3C01E005 */ lui $at, %hi(D_E0056F08)
/* 35E1C4 E00567C4 D4366F08 */ ldc1 $f22, %lo(D_E0056F08)($at)
.LE00567C8:
/* 35E1C8 E00567C8 C60C000C */ lwc1 $f12, 0xc($s0)
/* 35E1CC E00567CC 0C080140 */ jal shim_sin_deg
/* 35E1D0 E00567D0 460C6300 */ add.s $f12, $f12, $f12
/* 35E1D4 E00567D4 3C01E005 */ lui $at, %hi(D_E0056F10)
/* 35E1D8 E00567D8 D4226F10 */ ldc1 $f2, %lo(D_E0056F10)($at)
/* 35E1DC E00567DC 46000021 */ cvt.d.s $f0, $f0
/* 35E1E0 E00567E0 46220002 */ mul.d $f0, $f0, $f2
/* 35E1E4 E00567E4 00000000 */ nop
/* 35E1E8 E00567E8 46200000 */ add.d $f0, $f0, $f0
/* 35E1EC E00567EC C6020004 */ lwc1 $f2, 4($s0)
/* 35E1F0 E00567F0 46200020 */ cvt.s.d $f0, $f0
/* 35E1F4 E00567F4 46001080 */ add.s $f2, $f2, $f0
/* 35E1F8 E00567F8 3C01E005 */ lui $at, %hi(D_E0056F18)
/* 35E1FC E00567FC D4206F18 */ ldc1 $f0, %lo(D_E0056F18)($at)
/* 35E200 E0056800 E6020004 */ swc1 $f2, 4($s0)
/* 35E204 E0056804 460010A1 */ cvt.d.s $f2, $f2
/* 35E208 E0056808 46201082 */ mul.d $f2, $f2, $f0
/* 35E20C E005680C 00000000 */ nop
/* 35E210 E0056810 C6000008 */ lwc1 $f0, 8($s0)
/* 35E214 E0056814 461C0000 */ add.s $f0, $f0, $f28
/* 35E218 E0056818 E6000008 */ swc1 $f0, 8($s0)
/* 35E21C E005681C 461C0000 */ add.s $f0, $f0, $f28
/* 35E220 E0056820 24040032 */ addiu $a0, $zero, 0x32
/* 35E224 E0056824 0220282D */ daddu $a1, $s1, $zero
/* 35E228 E0056828 E6000008 */ swc1 $f0, 8($s0)
/* 35E22C E005682C 462010A0 */ cvt.s.d $f2, $f2
/* 35E230 E0056830 0C080011 */ jal func_E0200044
/* 35E234 E0056834 E6020004 */ swc1 $f2, 4($s0)
/* 35E238 E0056838 2442FFE7 */ addiu $v0, $v0, -0x19
/* 35E23C E005683C C60C0010 */ lwc1 $f12, 0x10($s0)
/* 35E240 E0056840 44820000 */ mtc1 $v0, $f0
/* 35E244 E0056844 00000000 */ nop
/* 35E248 E0056848 46800020 */ cvt.s.w $f0, $f0
/* 35E24C E005684C 46006300 */ add.s $f12, $f12, $f0
/* 35E250 E0056850 0C080140 */ jal shim_sin_deg
/* 35E254 E0056854 E60C0010 */ swc1 $f12, 0x10($s0)
/* 35E258 E0056858 C60C0010 */ lwc1 $f12, 0x10($s0)
/* 35E25C E005685C 3C013FE0 */ lui $at, 0x3fe0
/* 35E260 E0056860 44811800 */ mtc1 $at, $f3
/* 35E264 E0056864 44801000 */ mtc1 $zero, $f2
/* 35E268 E0056868 46006321 */ cvt.d.s $f12, $f12
/* 35E26C E005686C 46226302 */ mul.d $f12, $f12, $f2
/* 35E270 E0056870 00000000 */ nop
/* 35E274 E0056874 461A0002 */ mul.s $f0, $f0, $f26
/* 35E278 E0056878 00000000 */ nop
/* 35E27C E005687C C602000C */ lwc1 $f2, 0xc($s0)
/* 35E280 E0056880 46001080 */ add.s $f2, $f2, $f0
/* 35E284 E0056884 E602000C */ swc1 $f2, 0xc($s0)
/* 35E288 E0056888 0C080144 */ jal shim_cos_deg
/* 35E28C E005688C 46206320 */ cvt.s.d $f12, $f12
/* 35E290 E0056890 461A0002 */ mul.s $f0, $f0, $f26
/* 35E294 E0056894 00000000 */ nop
/* 35E298 E0056898 C606FFF8 */ lwc1 $f6, -8($s0)
/* 35E29C E005689C C6020004 */ lwc1 $f2, 4($s0)
/* 35E2A0 E00568A0 C604FFFC */ lwc1 $f4, -4($s0)
/* 35E2A4 E00568A4 46023180 */ add.s $f6, $f6, $f2
/* 35E2A8 E00568A8 C6020008 */ lwc1 $f2, 8($s0)
/* 35E2AC E00568AC 46022100 */ add.s $f4, $f4, $f2
/* 35E2B0 E00568B0 C6020014 */ lwc1 $f2, 0x14($s0)
/* 35E2B4 E00568B4 3C0141F0 */ lui $at, 0x41f0
/* 35E2B8 E00568B8 44814000 */ mtc1 $at, $f8
/* 35E2BC E00568BC 46001080 */ add.s $f2, $f2, $f0
/* 35E2C0 E00568C0 E606FFF8 */ swc1 $f6, -8($s0)
/* 35E2C4 E00568C4 E604FFFC */ swc1 $f4, -4($s0)
/* 35E2C8 E00568C8 4608203C */ c.lt.s $f4, $f8
/* 35E2CC E00568CC 00000000 */ nop
/* 35E2D0 E00568D0 45000032 */ bc1f .LE005699C
/* 35E2D4 E00568D4 E6020014 */ swc1 $f2, 0x14($s0)
/* 35E2D8 E00568D8 3C01C348 */ lui $at, 0xc348
/* 35E2DC E00568DC 44810000 */ mtc1 $at, $f0
/* 35E2E0 E00568E0 46003086 */ mov.s $f2, $f6
/* 35E2E4 E00568E4 4602003C */ c.lt.s $f0, $f2
/* 35E2E8 E00568E8 00000000 */ nop
/* 35E2EC E00568EC 45000005 */ bc1f .LE0056904
/* 35E2F0 E00568F0 00000000 */ nop
/* 35E2F4 E00568F4 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E2F8 E00568F8 46000021 */ cvt.d.s $f0, $f0
/* 35E2FC E00568FC 08015A44 */ j .LE0056910
/* 35E300 E0056900 46340001 */ sub.d $f0, $f0, $f20
.LE0056904:
/* 35E304 E0056904 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E308 E0056908 46000021 */ cvt.d.s $f0, $f0
/* 35E30C E005690C 46340000 */ add.d $f0, $f0, $f20
.LE0056910:
/* 35E310 E0056910 46200020 */ cvt.s.d $f0, $f0
/* 35E314 E0056914 E6000024 */ swc1 $f0, 0x24($s0)
/* 35E318 E0056918 C6000000 */ lwc1 $f0, ($s0)
/* 35E31C E005691C 4600C03C */ c.lt.s $f24, $f0
/* 35E320 E0056920 00000000 */ nop
/* 35E324 E0056924 45000005 */ bc1f .LE005693C
/* 35E328 E0056928 00000000 */ nop
/* 35E32C E005692C C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E330 E0056930 46000021 */ cvt.d.s $f0, $f0
/* 35E334 E0056934 08015A52 */ j .LE0056948
/* 35E338 E0056938 46340001 */ sub.d $f0, $f0, $f20
.LE005693C:
/* 35E33C E005693C C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E340 E0056940 46000021 */ cvt.d.s $f0, $f0
/* 35E344 E0056944 46340000 */ add.d $f0, $f0, $f20
.LE0056948:
/* 35E348 E0056948 46200020 */ cvt.s.d $f0, $f0
/* 35E34C E005694C E600002C */ swc1 $f0, 0x2c($s0)
/* 35E350 E0056950 C6040024 */ lwc1 $f4, 0x24($s0)
/* 35E354 E0056954 46002121 */ cvt.d.s $f4, $f4
/* 35E358 E0056958 46362102 */ mul.d $f4, $f4, $f22
/* 35E35C E005695C 00000000 */ nop
/* 35E360 E0056960 C602002C */ lwc1 $f2, 0x2c($s0)
/* 35E364 E0056964 460010A1 */ cvt.d.s $f2, $f2
/* 35E368 E0056968 46361082 */ mul.d $f2, $f2, $f22
/* 35E36C E005696C 00000000 */ nop
/* 35E370 E0056970 C6000008 */ lwc1 $f0, 8($s0)
/* 35E374 E0056974 46000021 */ cvt.d.s $f0, $f0
/* 35E378 E0056978 46360002 */ mul.d $f0, $f0, $f22
/* 35E37C E005697C 00000000 */ nop
/* 35E380 E0056980 46202120 */ cvt.s.d $f4, $f4
/* 35E384 E0056984 462010A0 */ cvt.s.d $f2, $f2
/* 35E388 E0056988 46200020 */ cvt.s.d $f0, $f0
/* 35E38C E005698C E6040024 */ swc1 $f4, 0x24($s0)
/* 35E390 E0056990 E602002C */ swc1 $f2, 0x2c($s0)
/* 35E394 E0056994 08015A8F */ j .LE0056A3C
/* 35E398 E0056998 E6000008 */ swc1 $f0, 8($s0)
.LE005699C:
/* 35E39C E005699C C600FFF8 */ lwc1 $f0, -8($s0)
/* 35E3A0 E00569A0 4600C03C */ c.lt.s $f24, $f0
/* 35E3A4 E00569A4 00000000 */ nop
/* 35E3A8 E00569A8 45000005 */ bc1f .LE00569C0
/* 35E3AC E00569AC 00000000 */ nop
/* 35E3B0 E00569B0 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E3B4 E00569B4 46000021 */ cvt.d.s $f0, $f0
/* 35E3B8 E00569B8 08015A73 */ j .LE00569CC
/* 35E3BC E00569BC 46340001 */ sub.d $f0, $f0, $f20
.LE00569C0:
/* 35E3C0 E00569C0 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E3C4 E00569C4 46000021 */ cvt.d.s $f0, $f0
/* 35E3C8 E00569C8 46340000 */ add.d $f0, $f0, $f20
.LE00569CC:
/* 35E3CC E00569CC 46200020 */ cvt.s.d $f0, $f0
/* 35E3D0 E00569D0 E6000024 */ swc1 $f0, 0x24($s0)
/* 35E3D4 E00569D4 C6000000 */ lwc1 $f0, ($s0)
/* 35E3D8 E00569D8 4600C03C */ c.lt.s $f24, $f0
/* 35E3DC E00569DC 00000000 */ nop
/* 35E3E0 E00569E0 45000005 */ bc1f .LE00569F8
/* 35E3E4 E00569E4 00000000 */ nop
/* 35E3E8 E00569E8 C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E3EC E00569EC 46000021 */ cvt.d.s $f0, $f0
/* 35E3F0 E00569F0 08015A81 */ j .LE0056A04
/* 35E3F4 E00569F4 46340001 */ sub.d $f0, $f0, $f20
.LE00569F8:
/* 35E3F8 E00569F8 C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E3FC E00569FC 46000021 */ cvt.d.s $f0, $f0
/* 35E400 E0056A00 46340000 */ add.d $f0, $f0, $f20
.LE0056A04:
/* 35E404 E0056A04 46200020 */ cvt.s.d $f0, $f0
/* 35E408 E0056A08 E600002C */ swc1 $f0, 0x2c($s0)
/* 35E40C E0056A0C C6020024 */ lwc1 $f2, 0x24($s0)
/* 35E410 E0056A10 460010A1 */ cvt.d.s $f2, $f2
/* 35E414 E0056A14 46361082 */ mul.d $f2, $f2, $f22
/* 35E418 E0056A18 00000000 */ nop
/* 35E41C E0056A1C C600002C */ lwc1 $f0, 0x2c($s0)
/* 35E420 E0056A20 46000021 */ cvt.d.s $f0, $f0
/* 35E424 E0056A24 46360002 */ mul.d $f0, $f0, $f22
/* 35E428 E0056A28 00000000 */ nop
/* 35E42C E0056A2C 462010A0 */ cvt.s.d $f2, $f2
/* 35E430 E0056A30 46200020 */ cvt.s.d $f0, $f0
/* 35E434 E0056A34 E6020024 */ swc1 $f2, 0x24($s0)
/* 35E438 E0056A38 E600002C */ swc1 $f0, 0x2c($s0)
.LE0056A3C:
/* 35E43C E0056A3C 26310014 */ addiu $s1, $s1, 0x14
/* 35E440 E0056A40 C606FFF8 */ lwc1 $f6, -8($s0)
/* 35E444 E0056A44 C6000024 */ lwc1 $f0, 0x24($s0)
/* 35E448 E0056A48 C604FFFC */ lwc1 $f4, -4($s0)
/* 35E44C E0056A4C 46003180 */ add.s $f6, $f6, $f0
/* 35E450 E0056A50 C6000028 */ lwc1 $f0, 0x28($s0)
/* 35E454 E0056A54 C602002C */ lwc1 $f2, 0x2c($s0)
/* 35E458 E0056A58 46002100 */ add.s $f4, $f4, $f0
/* 35E45C E0056A5C C6000000 */ lwc1 $f0, ($s0)
/* 35E460 E0056A60 26520001 */ addiu $s2, $s2, 1
/* 35E464 E0056A64 46020000 */ add.s $f0, $f0, $f2
/* 35E468 E0056A68 E606FFF8 */ swc1 $f6, -8($s0)
/* 35E46C E0056A6C E604FFFC */ swc1 $f4, -4($s0)
/* 35E470 E0056A70 E6000000 */ swc1 $f0, ($s0)
/* 35E474 E0056A74 8E820008 */ lw $v0, 8($s4)
/* 35E478 E0056A78 0242102A */ slt $v0, $s2, $v0
/* 35E47C E0056A7C 1440FF52 */ bnez $v0, .LE00567C8
/* 35E480 E0056A80 2610003C */ addiu $s0, $s0, 0x3c
/* 35E484 E0056A84 08015AD6 */ j .LE0056B58
/* 35E488 E0056A88 00000000 */ nop
.LE0056A8C:
/* 35E48C E0056A8C 8E820008 */ lw $v0, 8($s4)
/* 35E490 E0056A90 0242102A */ slt $v0, $s2, $v0
/* 35E494 E0056A94 10400030 */ beqz $v0, .LE0056B58
/* 35E498 E0056A98 24900008 */ addiu $s0, $a0, 8
/* 35E49C E0056A9C 24B10015 */ addiu $s1, $a1, 0x15
/* 35E4A0 E0056AA0 3C014120 */ lui $at, 0x4120
/* 35E4A4 E0056AA4 4481A000 */ mtc1 $at, $f20
/* 35E4A8 E0056AA8 3C013FE0 */ lui $at, 0x3fe0
/* 35E4AC E0056AAC 4481B800 */ mtc1 $at, $f23
/* 35E4B0 E0056AB0 4480B000 */ mtc1 $zero, $f22
.LE0056AB4:
/* 35E4B4 E0056AB4 24040032 */ addiu $a0, $zero, 0x32
/* 35E4B8 E0056AB8 0C080011 */ jal func_E0200044
/* 35E4BC E0056ABC 0220282D */ daddu $a1, $s1, $zero
/* 35E4C0 E0056AC0 2442FFE7 */ addiu $v0, $v0, -0x19
/* 35E4C4 E0056AC4 C60C0014 */ lwc1 $f12, 0x14($s0)
/* 35E4C8 E0056AC8 44820000 */ mtc1 $v0, $f0
/* 35E4CC E0056ACC 00000000 */ nop
/* 35E4D0 E0056AD0 46800020 */ cvt.s.w $f0, $f0
/* 35E4D4 E0056AD4 46006300 */ add.s $f12, $f12, $f0
/* 35E4D8 E0056AD8 0C080140 */ jal shim_sin_deg
/* 35E4DC E0056ADC E60C0014 */ swc1 $f12, 0x14($s0)
/* 35E4E0 E0056AE0 C60C0014 */ lwc1 $f12, 0x14($s0)
/* 35E4E4 E0056AE4 46006321 */ cvt.d.s $f12, $f12
/* 35E4E8 E0056AE8 46366302 */ mul.d $f12, $f12, $f22
/* 35E4EC E0056AEC 00000000 */ nop
/* 35E4F0 E0056AF0 46140002 */ mul.s $f0, $f0, $f20
/* 35E4F4 E0056AF4 00000000 */ nop
/* 35E4F8 E0056AF8 C6020010 */ lwc1 $f2, 0x10($s0)
/* 35E4FC E0056AFC 46001080 */ add.s $f2, $f2, $f0
/* 35E500 E0056B00 E6020010 */ swc1 $f2, 0x10($s0)
/* 35E504 E0056B04 0C080144 */ jal shim_cos_deg
/* 35E508 E0056B08 46206320 */ cvt.s.d $f12, $f12
/* 35E50C E0056B0C 46140002 */ mul.s $f0, $f0, $f20
/* 35E510 E0056B10 00000000 */ nop
/* 35E514 E0056B14 C606FFFC */ lwc1 $f6, -4($s0)
/* 35E518 E0056B18 C6020008 */ lwc1 $f2, 8($s0)
/* 35E51C E0056B1C C6040000 */ lwc1 $f4, ($s0)
/* 35E520 E0056B20 46023180 */ add.s $f6, $f6, $f2
/* 35E524 E0056B24 C602000C */ lwc1 $f2, 0xc($s0)
/* 35E528 E0056B28 26310014 */ addiu $s1, $s1, 0x14
/* 35E52C E0056B2C 46022100 */ add.s $f4, $f4, $f2
/* 35E530 E0056B30 C6020018 */ lwc1 $f2, 0x18($s0)
/* 35E534 E0056B34 26520001 */ addiu $s2, $s2, 1
/* 35E538 E0056B38 46001080 */ add.s $f2, $f2, $f0
/* 35E53C E0056B3C E606FFFC */ swc1 $f6, -4($s0)
/* 35E540 E0056B40 E6040000 */ swc1 $f4, ($s0)
/* 35E544 E0056B44 E6020018 */ swc1 $f2, 0x18($s0)
/* 35E548 E0056B48 8E820008 */ lw $v0, 8($s4)
/* 35E54C E0056B4C 0242102A */ slt $v0, $s2, $v0
/* 35E550 E0056B50 1440FFD8 */ bnez $v0, .LE0056AB4
/* 35E554 E0056B54 2610003C */ addiu $s0, $s0, 0x3c
.LE0056B58:
/* 35E558 E0056B58 8FBF0024 */ lw $ra, 0x24($sp)
/* 35E55C E0056B5C 8FB40020 */ lw $s4, 0x20($sp)
/* 35E560 E0056B60 8FB3001C */ lw $s3, 0x1c($sp)
/* 35E564 E0056B64 8FB20018 */ lw $s2, 0x18($sp)
/* 35E568 E0056B68 8FB10014 */ lw $s1, 0x14($sp)
/* 35E56C E0056B6C 8FB00010 */ lw $s0, 0x10($sp)
/* 35E570 E0056B70 D7BC0048 */ ldc1 $f28, 0x48($sp)
/* 35E574 E0056B74 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* 35E578 E0056B78 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 35E57C E0056B7C D7B60030 */ ldc1 $f22, 0x30($sp)
/* 35E580 E0056B80 D7B40028 */ ldc1 $f20, 0x28($sp)
/* 35E584 E0056B84 03E00008 */ jr $ra
/* 35E588 E0056B88 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -3690,7 +3690,7 @@ segments:
vram: 0xE0056000
subsegments:
- [0x35DA00, c, windy_leaves]
- [0x35E8A0]
- [0x35E8A0, .rodata, windy_leaves]
- name: effect_falling_leaves
dir: effects
type: code
@ -5111,7 +5111,8 @@ segments:
vram: 0xE00BE000
subsegments:
- [0x3BBF60, c, water_splash]
- [0x3BCA50]
- [0x3BCA50, .data, water_splash]
- [0x3BCA60, .rodata, water_splash]
- name: effect_gfx_water_splash
dir: effects/gfx
type: code