diff --git a/include/effects.h b/include/effects.h index 1f9f551ad6..935cd94d27 100644 --- a/include/effects.h +++ b/include/effects.h @@ -1434,8 +1434,18 @@ typedef struct MerlinHouseStarsFXData { } MerlinHouseStarsFXData; // size = 0x3C typedef struct QuizmoAudienceFXData { - /* 0x00 */ char todo[0]; -} QuizmoAudienceFXData; // size = unknown + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 timeLeft; + /* 0x08 */ s32 lifeTime; + /* 0x0C */ Vec3f pos; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C[10]; + /* 0x44 */ s32 unk_44[10]; + /* 0x6C */ s32 unk_6C[10]; + /* 0x94 */ f32 unk_94[10]; + /* 0xBC */ f32 unk_BC[10]; + /* 0xE4 */ f32 unk_E4[10]; +} QuizmoAudienceFXData; // size = 0x10C typedef struct ButterfliesFXData { /* 0x00 */ s32 unk_00; @@ -1550,21 +1560,22 @@ typedef struct WaterfallFXData { } WaterfallFXData; // size = unknown typedef struct WaterFountainFXData { - /* 0x00 */ char unk_00[0x4]; - /* 0x04 */ Vec3f unk_04; - /* 0x10 */ char unk_10[0x8]; + /* 0x00 */ s32 unk_00; + /* 0x04 */ Vec3f pos; + /* 0x10 */ s32 timeLeft; + /* 0x14 */ s32 lifeTime; /* 0x18 */ s32 unk_18; /* 0x1C */ s32 unk_1C; /* 0x20 */ s32 unk_20; - /* 0x24 */ char unk_24[0x4]; + /* 0x24 */ s32 unk_24; /* 0x28 */ s32 unk_28; /* 0x2C */ s32 unk_2C; /* 0x30 */ s32 unk_30; - /* 0x34 */ char unk_34[0x4]; + /* 0x34 */ f32 unk_34; /* 0x38 */ f32 unk_38; /* 0x3C */ f32 unk_3C; /* 0x40 */ f32 unk_40; -} WaterFountainFXData; // size = ? +} WaterFountainFXData; // size = 0x44 typedef struct UnderwaterFXData { /* 0x00 */ char todo[0]; @@ -2289,15 +2300,25 @@ typedef struct PinkSparklesFXData { typedef struct StarOutlineFXData { /* 0x00 */ s16 unk_00; - /* 0x02 */ char unk_02[0x2]; + /* 0x02 */ s16 unk_02; /* 0x04 */ Vec3f pos; - /* 0x10 */ char unk_10[0x14]; + /* 0x10 */ s32 timeLeft; + /* 0x14 */ s32 lifeTime; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ s32 unk_20; /* 0x24 */ s32 unk_24; - /* 0x28 */ char unk_28[0xC]; + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ s32 unk_30; /* 0x34 */ s32 unk_34; /* 0x38 */ f32 unk_38; /* 0x3C */ Vec3f unk_3C; -} StarOutlineFXData; // size = unknown + /* 0x48 */ f32 unk_48; + /* 0x4C */ f32 unk_4C; + /* 0x50 */ f32 unk_50; + /* 0x54 */ f32 unk_54; +} StarOutlineFXData; // size = 0x58 typedef struct Effect86FXData { /* 0x00 */ s32 unk_00; diff --git a/include/effects_internal.h b/include/effects_internal.h index 815dd89d88..db02c2f5df 100644 --- a/include/effects_internal.h +++ b/include/effects_internal.h @@ -115,7 +115,7 @@ FX_MAIN(quizmo_answer_main); EffectInstance* motion_blur_flame_main(s32, f32, f32, f32, f32, s32); EffectInstance* energy_orb_wave_main(s32, f32, f32, f32, f32, s32); EffectInstance* merlin_house_stars_main(s32, f32, f32, f32); -FX_MAIN(quizmo_audience_main); +EffectInstance* quizmo_audience_main(s32, f32, f32, f32); EffectInstance* butterflies_main(s32, f32, f32, f32); EffectInstance* stat_change_main(s32, f32, f32, f32, f32, s32); EffectInstance* snaking_static_main(s32, f32, f32, f32, f32, s32); @@ -123,7 +123,7 @@ EffectInstance* thunderbolt_ring_main(s32, f32, f32, f32, f32, s32); EffectInstance* squirt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); FX_MAIN(water_block_main); FX_MAIN(waterfall_main); -FX_MAIN(water_fountain_main); +EffectInstance* water_fountain_main(s32, f32, f32, f32, f32, s32); FX_MAIN(underwater_main); EffectInstance* lightning_bolt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); FX_MAIN(water_splash_main); @@ -162,7 +162,7 @@ FX_MAIN(ice_pillar_main); EffectInstance* sun_main(s32, f32, f32, f32, f32, s32); EffectInstance* star_spirits_energy_main(s32, f32, f32, f32, f32, s32); EffectInstance* pink_sparkles_main(s32, f32, f32, f32, f32, f32); -FX_MAIN(star_outline_main); +EffectInstance* star_outline_main(s32, f32, f32, f32, f32, s32); EffectInstance* fx_86_main(s32, f32, f32, f32, f32, s32); #endif diff --git a/src/battle/partner/sushie.c b/src/battle/partner/sushie.c index 4abf51000c..9e44c5071b 100644 --- a/src/battle/partner/sushie.c +++ b/src/battle/partner/sushie.c @@ -302,9 +302,9 @@ ApiStatus func_80238540_7081E0(Evt* script, s32 isInitialCall) { x = 0.0f; y = 0.0f; add_vec2D_polar(&x, &y, partner->scale.x * -15.0f, state->angle); - D_8023C070->data.waterFountain->unk_04.x = state->currentPos.x + x; - D_8023C070->data.waterFountain->unk_04.y = state->currentPos.y + y; - D_8023C070->data.waterFountain->unk_04.z = state->currentPos.z + 5.0f; + D_8023C070->data.waterFountain->pos.x = state->currentPos.x + x; + D_8023C070->data.waterFountain->pos.y = state->currentPos.y + y; + D_8023C070->data.waterFountain->pos.z = state->currentPos.z + 5.0f; D_8023C070->data.waterFountain->unk_38 = state->angle; D_8023C070->data.waterFountain->unk_3C = partner->scale.x; D_8023C070->data.waterFountain->unk_40 = partner->scale.x; @@ -327,9 +327,9 @@ ApiStatus func_80238540_7081E0(Evt* script, s32 isInitialCall) { script->functionTemp[0] = 3; case 3: add_vec2D_polar(&state->currentPos.x, &state->currentPos.y, state->speed, state->angle); - D_8023C070->data.waterFountain->unk_04.x = state->currentPos.x; - D_8023C070->data.waterFountain->unk_04.y = state->currentPos.y; - D_8023C070->data.waterFountain->unk_04.z = state->currentPos.z; + D_8023C070->data.waterFountain->pos.x = state->currentPos.x; + D_8023C070->data.waterFountain->pos.y = state->currentPos.y; + D_8023C070->data.waterFountain->pos.z = state->currentPos.z; D_8023C070->data.waterFountain->unk_38 = state->angle; D_8023C070->data.waterFountain->unk_3C = partner->scale.x; D_8023C070->data.waterFountain->unk_40 = partner->scale.x; diff --git a/src/effects/quizmo_audience.c b/src/effects/quizmo_audience.c index 68e059827b..87b4b80123 100644 --- a/src/effects/quizmo_audience.c +++ b/src/effects/quizmo_audience.c @@ -11,9 +11,47 @@ s32 D_E00A8690[] = { D_E00A8648, 0x18000000, D_E00A8678, 0x0C000000 }; void quizmo_audience_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/quizmo_audience", quizmo_audience_main); +void quizmo_audience_init(EffectInstance* effect); +void quizmo_audience_update(EffectInstance* effect); +void quizmo_audience_render(EffectInstance* effect); -void quizmo_audience_init(void) { +EffectInstance* quizmo_audience_main(s32 arg0, f32 posX, f32 posY, f32 posZ) { + EffectBlueprint effectBp; + EffectInstance* effect; + QuizmoAudienceFXData* data; + s32 numParts = 1; + s32 i; + + effectBp.init = quizmo_audience_init; + effectBp.update = quizmo_audience_update; + effectBp.renderWorld = quizmo_audience_render; + effectBp.unk_00 = 0; + effectBp.unk_14 = 0; + effectBp.effectID = EFFECT_QUIZMO_AUDIENCE; + + effect = shim_create_effect_instance(&effectBp); + effect->numParts = numParts; + + data = effect->data.quizmoAudience = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(data != NULL); + + data->timeLeft = 100; + data->unk_00 = arg0; + data->unk_18 = 255; + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->lifeTime = 0; + + for(i = 0; i < 10; i++) { + data->unk_1C[i] = 0; + data->unk_BC[i] = data->unk_E4[i] = 0.0f; + } + + return effect; +} + +void quizmo_audience_init(EffectInstance* effect) { } INCLUDE_ASM(s32, "effects/quizmo_audience", quizmo_audience_update); diff --git a/src/effects/star_outline.c b/src/effects/star_outline.c index adaadd1353..8aaca47afd 100644 --- a/src/effects/star_outline.c +++ b/src/effects/star_outline.c @@ -3,12 +3,126 @@ void star_outline_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/star_outline", star_outline_main); +void star_outline_init(EffectInstance* effect); +void star_outline_update(EffectInstance* effect); +void star_outline_render(EffectInstance* effect); -void star_outline_init(void) { +EffectInstance* star_outline_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 arg5) { + EffectBlueprint effectBp; + EffectInstance* effect; + StarOutlineFXData* data; + s32 numParts = 1; + + effectBp.init = star_outline_init; + effectBp.update = star_outline_update; + effectBp.renderWorld = star_outline_render; + effectBp.unk_00 = 0; + effectBp.unk_14 = 0; + effectBp.effectID = EFFECT_STAR_OUTLINE; + + effect = shim_create_effect_instance(&effectBp); + effect->numParts = numParts; + + data = effect->data.starOutline = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(data != NULL); + + data->unk_00 = 1; + data->unk_02 = arg0; + data->lifeTime = 0; + if (arg5 <= 0) { + data->timeLeft = 1000; + } else { + data->timeLeft = arg5; + } + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->unk_38 = arg4; + data->unk_18 = 255; + data->unk_1C = 255; + data->unk_20 = 120; + data->unk_28 = 255; + data->unk_2C = 120; + data->unk_30 = 0; + data->unk_34 = 255; + data->unk_24 = 255; + data->unk_3C.x = 0; + data->unk_3C.y = 0; + data->unk_3C.z = 0; + + return effect; } -INCLUDE_ASM(s32, "effects/star_outline", star_outline_update); +void star_outline_init(EffectInstance* effect) { +} + +void star_outline_update(EffectInstance* effect) { + StarOutlineFXData* data = effect->data.starOutline; + f32 temp_f20; + s32 lifeTime; + s32 temp_v1_3; + s32 temp_v1_4; + s32 temp_a2 = data->unk_02; + + if (effect->flags & 16) { + effect->flags &= ~16; + data->timeLeft = 16; + } + if (data->timeLeft < 1000) { + data->timeLeft--; + } + + data->lifeTime++; + + if (data->timeLeft < 0) { + shim_remove_effect(effect); + return; + } + lifeTime = data->lifeTime; + if (data->timeLeft < 16) { + temp_v1_3 = data->timeLeft * 16; + if (temp_v1_3 < data->unk_24) { + data->unk_24 = temp_v1_3; + } + if (temp_v1_3 < data->unk_34) { + data->unk_34 = temp_v1_3; + } + } + if (lifeTime < 16) { + temp_v1_4 = (lifeTime * 16) + 15; + if (data->unk_24 < temp_v1_4) { + data->unk_24 = temp_v1_4; + } + if (data->unk_34 < temp_v1_4) { + data->unk_34 = temp_v1_4; + } + } + data->unk_48 = data->unk_3C.x; + data->unk_4C = data->unk_3C.y; + data->unk_50 = data->unk_3C.z; + data->unk_54 = data->unk_38; + if (temp_a2 == 1) { + temp_f20 = lifeTime; + data->unk_3C.x = lifeTime * 4; + data->unk_24 = 255; + data->unk_3C.y = (lifeTime * 4.0f * 0.4953); + data->unk_3C.z = (lifeTime * 4.0f * 0.2234); + data->unk_34 = ((shim_sin_deg (temp_f20 * 7.12343)) * 127.0f) + 128.0f; + data->unk_18 = ((shim_sin_deg (temp_f20 * 1.231)) * 127.0f) + 215.0f; + data->unk_1C = ((shim_sin_deg (temp_f20 * 0.531)) * 127.0f) + 215.0f; + data->unk_20 = ((shim_sin_deg (temp_f20 * 3.231)) * 127.0f) + 215.0f; + data->unk_28 = ((shim_sin_deg (temp_f20 * 0.298)) * 127.0f) + 188.0f; + data->unk_2C = ((shim_sin_deg (temp_f20 * 0.831)) * 127.0f) + 188.0f; + data->unk_30 = ((shim_sin_deg (temp_f20 * 2.231)) * 127.0f) + 188.0f; + data->unk_38 = ((shim_sin_deg (temp_f20 * 2.044)) * 0.3) + 0.7; + } + if (lifeTime == 1) { + data->unk_48 = data->unk_3C.x; + data->unk_4C = data->unk_3C.y; + data->unk_50 = data->unk_3C.z; + data->unk_54 = data->unk_38; + } +} void star_outline_render(EffectInstance* effect) { RenderTask renderTask; diff --git a/src/effects/water_fountain.c b/src/effects/water_fountain.c index 2d8bbbb735..e542b9699f 100644 --- a/src/effects/water_fountain.c +++ b/src/effects/water_fountain.c @@ -10,13 +10,77 @@ s32 D_E00B8B58[] = { 0x0000001E, 0x008C0000, 0xFF000006, 0x001E0078, 0x0000F000, s32 D_E00B8CA4[] = { 0x00000000, 0x00000028, 0x00000037, 0x000000BE, 0x00000014, 0x00000082, 0x0000010E, 0x0000012C, 0x00000000, 0x00000000, 0x00000000 }; void water_fountain_appendGfx(void* effect); +void water_fountain_init(EffectInstance* effect); +void water_fountain_update(EffectInstance* effect); +void water_fountain_render(EffectInstance* effect); -INCLUDE_ASM(s32, "effects/water_fountain", water_fountain_main); +EffectInstance* water_fountain_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 arg5) { + EffectBlueprint effectBp; + EffectInstance* effect; + WaterFountainFXData* data; + s32 numParts = 1; -void water_fountain_init(void) { + effectBp.init = water_fountain_init; + effectBp.update = water_fountain_update; + effectBp.renderWorld = water_fountain_render; + effectBp.unk_00 = 0; + effectBp.unk_14 = 0; + effectBp.effectID = EFFECT_WATER_FOUNTAIN; + + effect = shim_create_effect_instance(&effectBp); + effect->numParts = numParts; + + data = effect->data.waterFountain = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(data != NULL); + + data->unk_00 = arg0; + data->lifeTime = 0; + if (arg5 <= 0) { + data->timeLeft = 1000; + } else { + data->timeLeft = arg5; + } + data->unk_24 = 255; + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->unk_34 = arg4; + data->unk_18 = 70; + data->unk_1C = 180; + data->unk_20 = 255; + data->unk_28 = 255; + data->unk_2C = 255; + data->unk_30 = 255; + data->unk_38 = 0; + data->unk_3C = 1.0f; + data->unk_40 = 1.0f; + + return effect; +} + +void water_fountain_init(EffectInstance* effect) { +} + +void water_fountain_update(EffectInstance* effect) { + WaterFountainFXData* data = effect->data.waterFountain; + + if (effect->flags & 16) { + effect->flags &= ~16; + data->timeLeft = 16; + } + if (data->timeLeft < 1000) { + data->timeLeft--; + } + data->lifeTime++; + if (data->timeLeft < 0) { + shim_remove_effect(effect); + return; + } + if (data->lifeTime < 8) { + data->unk_24 = (data->lifeTime * 32) + 31; + } } -INCLUDE_ASM(s32, "effects/water_fountain", water_fountain_update); void water_fountain_render(EffectInstance* effect) { RenderTask renderTask; diff --git a/ver/us/asm/nonmatchings/effects/quizmo_audience/quizmo_audience_main.s b/ver/us/asm/nonmatchings/effects/quizmo_audience/quizmo_audience_main.s deleted file mode 100644 index 5f3a7303df..0000000000 --- a/ver/us/asm/nonmatchings/effects/quizmo_audience/quizmo_audience_main.s +++ /dev/null @@ -1,70 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel quizmo_audience_main -/* 3A70F0 E00A8000 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 3A70F4 E00A8004 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 3A70F8 E00A8008 4485A000 */ mtc1 $a1, $f20 -/* 3A70FC E00A800C AFB1002C */ sw $s1, 0x2c($sp) -/* 3A7100 E00A8010 0080882D */ daddu $s1, $a0, $zero -/* 3A7104 E00A8014 F7B60040 */ sdc1 $f22, 0x40($sp) -/* 3A7108 E00A8018 4486B000 */ mtc1 $a2, $f22 -/* 3A710C E00A801C 27A40010 */ addiu $a0, $sp, 0x10 -/* 3A7110 E00A8020 F7B80048 */ sdc1 $f24, 0x48($sp) -/* 3A7114 E00A8024 4487C000 */ mtc1 $a3, $f24 -/* 3A7118 E00A8028 3C02E00B */ lui $v0, %hi(quizmo_audience_init) -/* 3A711C E00A802C 244280FC */ addiu $v0, $v0, %lo(quizmo_audience_init) -/* 3A7120 E00A8030 AFA20018 */ sw $v0, 0x18($sp) -/* 3A7124 E00A8034 3C02E00B */ lui $v0, %hi(quizmo_audience_update) -/* 3A7128 E00A8038 24428104 */ addiu $v0, $v0, %lo(quizmo_audience_update) -/* 3A712C E00A803C AFA2001C */ sw $v0, 0x1c($sp) -/* 3A7130 E00A8040 3C02E00B */ lui $v0, %hi(quizmo_audience_render) -/* 3A7134 E00A8044 244282D4 */ addiu $v0, $v0, %lo(quizmo_audience_render) -/* 3A7138 E00A8048 AFA20020 */ sw $v0, 0x20($sp) -/* 3A713C E00A804C 24020054 */ addiu $v0, $zero, 0x54 -/* 3A7140 E00A8050 AFBF0030 */ sw $ra, 0x30($sp) -/* 3A7144 E00A8054 AFB00028 */ sw $s0, 0x28($sp) -/* 3A7148 E00A8058 AFA00010 */ sw $zero, 0x10($sp) -/* 3A714C E00A805C AFA00024 */ sw $zero, 0x24($sp) -/* 3A7150 E00A8060 0C080124 */ jal shim_create_effect_instance -/* 3A7154 E00A8064 AFA20014 */ sw $v0, 0x14($sp) -/* 3A7158 E00A8068 2404010C */ addiu $a0, $zero, 0x10c -/* 3A715C E00A806C 24030001 */ addiu $v1, $zero, 1 -/* 3A7160 E00A8070 0040802D */ daddu $s0, $v0, $zero -/* 3A7164 E00A8074 0C08012C */ jal shim_general_heap_malloc -/* 3A7168 E00A8078 AE030008 */ sw $v1, 8($s0) -/* 3A716C E00A807C 14400003 */ bnez $v0, .LE00A808C -/* 3A7170 E00A8080 AE02000C */ sw $v0, 0xc($s0) -.LE00A8084: -/* 3A7174 E00A8084 0802A021 */ j .LE00A8084 -/* 3A7178 E00A8088 00000000 */ nop -.LE00A808C: -/* 3A717C E00A808C 0000202D */ daddu $a0, $zero, $zero -/* 3A7180 E00A8090 0040182D */ daddu $v1, $v0, $zero -/* 3A7184 E00A8094 44800000 */ mtc1 $zero, $f0 -/* 3A7188 E00A8098 24020064 */ addiu $v0, $zero, 0x64 -/* 3A718C E00A809C AC620004 */ sw $v0, 4($v1) -/* 3A7190 E00A80A0 240200FF */ addiu $v0, $zero, 0xff -/* 3A7194 E00A80A4 AC710000 */ sw $s1, ($v1) -/* 3A7198 E00A80A8 AC620018 */ sw $v0, 0x18($v1) -/* 3A719C E00A80AC E474000C */ swc1 $f20, 0xc($v1) -/* 3A71A0 E00A80B0 E4760010 */ swc1 $f22, 0x10($v1) -/* 3A71A4 E00A80B4 E4780014 */ swc1 $f24, 0x14($v1) -/* 3A71A8 E00A80B8 AC600008 */ sw $zero, 8($v1) -.LE00A80BC: -/* 3A71AC E00A80BC AC60001C */ sw $zero, 0x1c($v1) -/* 3A71B0 E00A80C0 E46000E4 */ swc1 $f0, 0xe4($v1) -/* 3A71B4 E00A80C4 E46000BC */ swc1 $f0, 0xbc($v1) -/* 3A71B8 E00A80C8 24840001 */ addiu $a0, $a0, 1 -/* 3A71BC E00A80CC 2882000A */ slti $v0, $a0, 0xa -/* 3A71C0 E00A80D0 1440FFFA */ bnez $v0, .LE00A80BC -/* 3A71C4 E00A80D4 24630004 */ addiu $v1, $v1, 4 -/* 3A71C8 E00A80D8 0200102D */ daddu $v0, $s0, $zero -/* 3A71CC E00A80DC 8FBF0030 */ lw $ra, 0x30($sp) -/* 3A71D0 E00A80E0 8FB1002C */ lw $s1, 0x2c($sp) -/* 3A71D4 E00A80E4 8FB00028 */ lw $s0, 0x28($sp) -/* 3A71D8 E00A80E8 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 3A71DC E00A80EC D7B60040 */ ldc1 $f22, 0x40($sp) -/* 3A71E0 E00A80F0 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 3A71E4 E00A80F4 03E00008 */ jr $ra -/* 3A71E8 E00A80F8 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/effects/star_outline/star_outline_main.s b/ver/us/asm/nonmatchings/effects/star_outline/star_outline_main.s deleted file mode 100644 index 2520c24592..0000000000 --- a/ver/us/asm/nonmatchings/effects/star_outline/star_outline_main.s +++ /dev/null @@ -1,83 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel star_outline_main -/* 413360 E0126000 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 413364 E0126004 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 413368 E0126008 4485A000 */ mtc1 $a1, $f20 -/* 41336C E012600C F7B60040 */ sdc1 $f22, 0x40($sp) -/* 413370 E0126010 4486B000 */ mtc1 $a2, $f22 -/* 413374 E0126014 AFB20030 */ sw $s2, 0x30($sp) -/* 413378 E0126018 0080902D */ daddu $s2, $a0, $zero -/* 41337C E012601C F7B80048 */ sdc1 $f24, 0x48($sp) -/* 413380 E0126020 4487C000 */ mtc1 $a3, $f24 -/* 413384 E0126024 27A40010 */ addiu $a0, $sp, 0x10 -/* 413388 E0126028 AFB1002C */ sw $s1, 0x2c($sp) -/* 41338C E012602C 8FB10064 */ lw $s1, 0x64($sp) -/* 413390 E0126030 3C02E012 */ lui $v0, %hi(star_outline_init) -/* 413394 E0126034 2442612C */ addiu $v0, $v0, %lo(star_outline_init) -/* 413398 E0126038 AFA20018 */ sw $v0, 0x18($sp) -/* 41339C E012603C 3C02E012 */ lui $v0, %hi(star_outline_update) -/* 4133A0 E0126040 24426134 */ addiu $v0, $v0, %lo(star_outline_update) -/* 4133A4 E0126044 AFA2001C */ sw $v0, 0x1c($sp) -/* 4133A8 E0126048 3C02E012 */ lui $v0, %hi(star_outline_render) -/* 4133AC E012604C 244264A4 */ addiu $v0, $v0, %lo(star_outline_render) -/* 4133B0 E0126050 AFA20020 */ sw $v0, 0x20($sp) -/* 4133B4 E0126054 24020085 */ addiu $v0, $zero, 0x85 -/* 4133B8 E0126058 AFBF0034 */ sw $ra, 0x34($sp) -/* 4133BC E012605C AFB00028 */ sw $s0, 0x28($sp) -/* 4133C0 E0126060 AFA00010 */ sw $zero, 0x10($sp) -/* 4133C4 E0126064 AFA00024 */ sw $zero, 0x24($sp) -/* 4133C8 E0126068 0C080124 */ jal shim_create_effect_instance -/* 4133CC E012606C AFA20014 */ sw $v0, 0x14($sp) -/* 4133D0 E0126070 24040058 */ addiu $a0, $zero, 0x58 -/* 4133D4 E0126074 24030001 */ addiu $v1, $zero, 1 -/* 4133D8 E0126078 0040802D */ daddu $s0, $v0, $zero -/* 4133DC E012607C 0C08012C */ jal shim_general_heap_malloc -/* 4133E0 E0126080 AE030008 */ sw $v1, 8($s0) -/* 4133E4 E0126084 0040282D */ daddu $a1, $v0, $zero -/* 4133E8 E0126088 14A00003 */ bnez $a1, .LE0126098 -/* 4133EC E012608C AE02000C */ sw $v0, 0xc($s0) -.LE0126090: -/* 4133F0 E0126090 08049824 */ j .LE0126090 -/* 4133F4 E0126094 00000000 */ nop -.LE0126098: -/* 4133F8 E0126098 24020001 */ addiu $v0, $zero, 1 -/* 4133FC E012609C A4A20000 */ sh $v0, ($a1) -/* 413400 E01260A0 A4B20002 */ sh $s2, 2($a1) -/* 413404 E01260A4 1E200004 */ bgtz $s1, .LE01260B8 -/* 413408 E01260A8 ACA00014 */ sw $zero, 0x14($a1) -/* 41340C E01260AC 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 413410 E01260B0 0804982F */ j .LE01260BC -/* 413414 E01260B4 ACA20010 */ sw $v0, 0x10($a1) -.LE01260B8: -/* 413418 E01260B8 ACB10010 */ sw $s1, 0x10($a1) -.LE01260BC: -/* 41341C E01260BC 0200102D */ daddu $v0, $s0, $zero -/* 413420 E01260C0 240300FF */ addiu $v1, $zero, 0xff -/* 413424 E01260C4 E4B40004 */ swc1 $f20, 4($a1) -/* 413428 E01260C8 E4B60008 */ swc1 $f22, 8($a1) -/* 41342C E01260CC E4B8000C */ swc1 $f24, 0xc($a1) -/* 413430 E01260D0 C7A00060 */ lwc1 $f0, 0x60($sp) -/* 413434 E01260D4 24040078 */ addiu $a0, $zero, 0x78 -/* 413438 E01260D8 ACA30018 */ sw $v1, 0x18($a1) -/* 41343C E01260DC ACA3001C */ sw $v1, 0x1c($a1) -/* 413440 E01260E0 ACA40020 */ sw $a0, 0x20($a1) -/* 413444 E01260E4 ACA30028 */ sw $v1, 0x28($a1) -/* 413448 E01260E8 ACA4002C */ sw $a0, 0x2c($a1) -/* 41344C E01260EC ACA00030 */ sw $zero, 0x30($a1) -/* 413450 E01260F0 ACA30034 */ sw $v1, 0x34($a1) -/* 413454 E01260F4 ACA30024 */ sw $v1, 0x24($a1) -/* 413458 E01260F8 ACA0003C */ sw $zero, 0x3c($a1) -/* 41345C E01260FC ACA00040 */ sw $zero, 0x40($a1) -/* 413460 E0126100 ACA00044 */ sw $zero, 0x44($a1) -/* 413464 E0126104 E4A00038 */ swc1 $f0, 0x38($a1) -/* 413468 E0126108 8FBF0034 */ lw $ra, 0x34($sp) -/* 41346C E012610C 8FB20030 */ lw $s2, 0x30($sp) -/* 413470 E0126110 8FB1002C */ lw $s1, 0x2c($sp) -/* 413474 E0126114 8FB00028 */ lw $s0, 0x28($sp) -/* 413478 E0126118 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 41347C E012611C D7B60040 */ ldc1 $f22, 0x40($sp) -/* 413480 E0126120 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 413484 E0126124 03E00008 */ jr $ra -/* 413488 E0126128 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/effects/star_outline/star_outline_update.s b/ver/us/asm/nonmatchings/effects/star_outline/star_outline_update.s deleted file mode 100644 index 4890353d1e..0000000000 --- a/ver/us/asm/nonmatchings/effects/star_outline/star_outline_update.s +++ /dev/null @@ -1,274 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E0126BD0 -.double 7.12343 - -dlabel D_E0126BD8 -.double 0.4953 - -dlabel D_E0126BE0 -.double 0.2234 - -dlabel D_E0126BE8 -.double 1.231 - -dlabel D_E0126BF0 -.double 0.531 - -dlabel D_E0126BF8 -.double 3.231 - -dlabel D_E0126C00 -.double 0.298 - -dlabel D_E0126C08 -.double 0.831 - -dlabel D_E0126C10 -.double 2.231 - -dlabel D_E0126C18 -.double 2.044 - -dlabel D_E0126C20 -.double 0.3 - -dlabel D_E0126C28 -.double 0.7 - -.section .text - -glabel star_outline_update -/* 413494 E0126134 27BDFFC8 */ addiu $sp, $sp, -0x38 -/* 413498 E0126138 AFBF001C */ sw $ra, 0x1c($sp) -/* 41349C E012613C AFB20018 */ sw $s2, 0x18($sp) -/* 4134A0 E0126140 AFB10014 */ sw $s1, 0x14($sp) -/* 4134A4 E0126144 AFB00010 */ sw $s0, 0x10($sp) -/* 4134A8 E0126148 F7B80030 */ sdc1 $f24, 0x30($sp) -/* 4134AC E012614C F7B60028 */ sdc1 $f22, 0x28($sp) -/* 4134B0 E0126150 F7B40020 */ sdc1 $f20, 0x20($sp) -/* 4134B4 E0126154 8C830000 */ lw $v1, ($a0) -/* 4134B8 E0126158 8C90000C */ lw $s0, 0xc($a0) -/* 4134BC E012615C 30620010 */ andi $v0, $v1, 0x10 -/* 4134C0 E0126160 86060002 */ lh $a2, 2($s0) -/* 4134C4 E0126164 10400005 */ beqz $v0, .LE012617C -/* 4134C8 E0126168 2402FFEF */ addiu $v0, $zero, -0x11 -/* 4134CC E012616C 00621024 */ and $v0, $v1, $v0 -/* 4134D0 E0126170 AC820000 */ sw $v0, ($a0) -/* 4134D4 E0126174 24020010 */ addiu $v0, $zero, 0x10 -/* 4134D8 E0126178 AE020010 */ sw $v0, 0x10($s0) -.LE012617C: -/* 4134DC E012617C 8E030010 */ lw $v1, 0x10($s0) -/* 4134E0 E0126180 286203E8 */ slti $v0, $v1, 0x3e8 -/* 4134E4 E0126184 10400002 */ beqz $v0, .LE0126190 -/* 4134E8 E0126188 2462FFFF */ addiu $v0, $v1, -1 -/* 4134EC E012618C AE020010 */ sw $v0, 0x10($s0) -.LE0126190: -/* 4134F0 E0126190 8E020014 */ lw $v0, 0x14($s0) -/* 4134F4 E0126194 8E050010 */ lw $a1, 0x10($s0) -/* 4134F8 E0126198 24420001 */ addiu $v0, $v0, 1 -/* 4134FC E012619C 04A10005 */ bgez $a1, .LE01261B4 -/* 413500 E01261A0 AE020014 */ sw $v0, 0x14($s0) -/* 413504 E01261A4 0C080128 */ jal shim_remove_effect -/* 413508 E01261A8 00000000 */ nop -/* 41350C E01261AC 08049920 */ j .LE0126480 -/* 413510 E01261B0 00000000 */ nop -.LE01261B4: -/* 413514 E01261B4 0040882D */ daddu $s1, $v0, $zero -/* 413518 E01261B8 28A20010 */ slti $v0, $a1, 0x10 -/* 41351C E01261BC 1040000B */ beqz $v0, .LE01261EC -/* 413520 E01261C0 2A220010 */ slti $v0, $s1, 0x10 -/* 413524 E01261C4 8E020024 */ lw $v0, 0x24($s0) -/* 413528 E01261C8 00051900 */ sll $v1, $a1, 4 -/* 41352C E01261CC 0062102A */ slt $v0, $v1, $v0 -/* 413530 E01261D0 54400001 */ bnel $v0, $zero, .LE01261D8 -/* 413534 E01261D4 AE030024 */ sw $v1, 0x24($s0) -.LE01261D8: -/* 413538 E01261D8 8E020034 */ lw $v0, 0x34($s0) -/* 41353C E01261DC 0062102A */ slt $v0, $v1, $v0 -/* 413540 E01261E0 54400001 */ bnel $v0, $zero, .LE01261E8 -/* 413544 E01261E4 AE030034 */ sw $v1, 0x34($s0) -.LE01261E8: -/* 413548 E01261E8 2A220010 */ slti $v0, $s1, 0x10 -.LE01261EC: -/* 41354C E01261EC 1040000B */ beqz $v0, .LE012621C -/* 413550 E01261F0 00000000 */ nop -/* 413554 E01261F4 00111900 */ sll $v1, $s1, 4 -/* 413558 E01261F8 8E020024 */ lw $v0, 0x24($s0) -/* 41355C E01261FC 2463000F */ addiu $v1, $v1, 0xf -/* 413560 E0126200 0043102A */ slt $v0, $v0, $v1 -/* 413564 E0126204 54400001 */ bnel $v0, $zero, .LE012620C -/* 413568 E0126208 AE030024 */ sw $v1, 0x24($s0) -.LE012620C: -/* 41356C E012620C 8E020034 */ lw $v0, 0x34($s0) -/* 413570 E0126210 0043102A */ slt $v0, $v0, $v1 -/* 413574 E0126214 54400001 */ bnel $v0, $zero, .LE012621C -/* 413578 E0126218 AE030034 */ sw $v1, 0x34($s0) -.LE012621C: -/* 41357C E012621C C600003C */ lwc1 $f0, 0x3c($s0) -/* 413580 E0126220 C6020040 */ lwc1 $f2, 0x40($s0) -/* 413584 E0126224 C6040044 */ lwc1 $f4, 0x44($s0) -/* 413588 E0126228 C6060038 */ lwc1 $f6, 0x38($s0) -/* 41358C E012622C 24120001 */ addiu $s2, $zero, 1 -/* 413590 E0126230 E6000048 */ swc1 $f0, 0x48($s0) -/* 413594 E0126234 E602004C */ swc1 $f2, 0x4c($s0) -/* 413598 E0126238 E6040050 */ swc1 $f4, 0x50($s0) -/* 41359C E012623C 14D20086 */ bne $a2, $s2, .LE0126458 -/* 4135A0 E0126240 E6060054 */ swc1 $f6, 0x54($s0) -/* 4135A4 E0126244 3C014080 */ lui $at, 0x4080 -/* 4135A8 E0126248 44810000 */ mtc1 $at, $f0 -/* 4135AC E012624C 4491A000 */ mtc1 $s1, $f20 -/* 4135B0 E0126250 00000000 */ nop -/* 4135B4 E0126254 4680A520 */ cvt.s.w $f20, $f20 -/* 4135B8 E0126258 4600A002 */ mul.s $f0, $f20, $f0 -/* 4135BC E012625C 00000000 */ nop -/* 4135C0 E0126260 3C01E012 */ lui $at, %hi(D_E0126BD0) -/* 4135C4 E0126264 D42C6BD0 */ ldc1 $f12, %lo(D_E0126BD0)($at) -/* 4135C8 E0126268 4600A521 */ cvt.d.s $f20, $f20 -/* 4135CC E012626C 462CA302 */ mul.d $f12, $f20, $f12 -/* 4135D0 E0126270 00000000 */ nop -/* 4135D4 E0126274 3C01E012 */ lui $at, %hi(D_E0126BD8) -/* 4135D8 E0126278 D4246BD8 */ ldc1 $f4, %lo(D_E0126BD8)($at) -/* 4135DC E012627C 46000021 */ cvt.d.s $f0, $f0 -/* 4135E0 E0126280 46240102 */ mul.d $f4, $f0, $f4 -/* 4135E4 E0126284 00000000 */ nop -/* 4135E8 E0126288 3C01E012 */ lui $at, %hi(D_E0126BE0) -/* 4135EC E012628C D4226BE0 */ ldc1 $f2, %lo(D_E0126BE0)($at) -/* 4135F0 E0126290 46220002 */ mul.d $f0, $f0, $f2 -/* 4135F4 E0126294 00000000 */ nop -/* 4135F8 E0126298 00111080 */ sll $v0, $s1, 2 -/* 4135FC E012629C 44821000 */ mtc1 $v0, $f2 -/* 413600 E01262A0 00000000 */ nop -/* 413604 E01262A4 468010A0 */ cvt.s.w $f2, $f2 -/* 413608 E01262A8 240200FF */ addiu $v0, $zero, 0xff -/* 41360C E01262AC E602003C */ swc1 $f2, 0x3c($s0) -/* 413610 E01262B0 AE020024 */ sw $v0, 0x24($s0) -/* 413614 E01262B4 46206320 */ cvt.s.d $f12, $f12 -/* 413618 E01262B8 46202120 */ cvt.s.d $f4, $f4 -/* 41361C E01262BC 46200020 */ cvt.s.d $f0, $f0 -/* 413620 E01262C0 E6040040 */ swc1 $f4, 0x40($s0) -/* 413624 E01262C4 0C080140 */ jal shim_sin_deg -/* 413628 E01262C8 E6000044 */ swc1 $f0, 0x44($s0) -/* 41362C E01262CC 3C01E012 */ lui $at, %hi(D_E0126BE8) -/* 413630 E01262D0 D42C6BE8 */ ldc1 $f12, %lo(D_E0126BE8)($at) -/* 413634 E01262D4 462CA302 */ mul.d $f12, $f20, $f12 -/* 413638 E01262D8 00000000 */ nop -/* 41363C E01262DC 3C0142FE */ lui $at, 0x42fe -/* 413640 E01262E0 4481C000 */ mtc1 $at, $f24 -/* 413644 E01262E4 00000000 */ nop -/* 413648 E01262E8 46180002 */ mul.s $f0, $f0, $f24 -/* 41364C E01262EC 00000000 */ nop -/* 413650 E01262F0 3C014300 */ lui $at, 0x4300 -/* 413654 E01262F4 44811000 */ mtc1 $at, $f2 -/* 413658 E01262F8 00000000 */ nop -/* 41365C E01262FC 46020000 */ add.s $f0, $f0, $f2 -/* 413660 E0126300 4600020D */ trunc.w.s $f8, $f0 -/* 413664 E0126304 E6080034 */ swc1 $f8, 0x34($s0) -/* 413668 E0126308 0C080140 */ jal shim_sin_deg -/* 41366C E012630C 46206320 */ cvt.s.d $f12, $f12 -/* 413670 E0126310 3C01E012 */ lui $at, %hi(D_E0126BF0) -/* 413674 E0126314 D42C6BF0 */ ldc1 $f12, %lo(D_E0126BF0)($at) -/* 413678 E0126318 462CA302 */ mul.d $f12, $f20, $f12 -/* 41367C E012631C 00000000 */ nop -/* 413680 E0126320 46180002 */ mul.s $f0, $f0, $f24 -/* 413684 E0126324 00000000 */ nop -/* 413688 E0126328 3C014357 */ lui $at, 0x4357 -/* 41368C E012632C 4481B000 */ mtc1 $at, $f22 -/* 413690 E0126330 00000000 */ nop -/* 413694 E0126334 46160000 */ add.s $f0, $f0, $f22 -/* 413698 E0126338 4600020D */ trunc.w.s $f8, $f0 -/* 41369C E012633C E6080018 */ swc1 $f8, 0x18($s0) -/* 4136A0 E0126340 0C080140 */ jal shim_sin_deg -/* 4136A4 E0126344 46206320 */ cvt.s.d $f12, $f12 -/* 4136A8 E0126348 3C01E012 */ lui $at, %hi(D_E0126BF8) -/* 4136AC E012634C D42C6BF8 */ ldc1 $f12, %lo(D_E0126BF8)($at) -/* 4136B0 E0126350 462CA302 */ mul.d $f12, $f20, $f12 -/* 4136B4 E0126354 00000000 */ nop -/* 4136B8 E0126358 46180002 */ mul.s $f0, $f0, $f24 -/* 4136BC E012635C 00000000 */ nop -/* 4136C0 E0126360 46160000 */ add.s $f0, $f0, $f22 -/* 4136C4 E0126364 4600020D */ trunc.w.s $f8, $f0 -/* 4136C8 E0126368 E608001C */ swc1 $f8, 0x1c($s0) -/* 4136CC E012636C 0C080140 */ jal shim_sin_deg -/* 4136D0 E0126370 46206320 */ cvt.s.d $f12, $f12 -/* 4136D4 E0126374 3C01E012 */ lui $at, %hi(D_E0126C00) -/* 4136D8 E0126378 D42C6C00 */ ldc1 $f12, %lo(D_E0126C00)($at) -/* 4136DC E012637C 462CA302 */ mul.d $f12, $f20, $f12 -/* 4136E0 E0126380 00000000 */ nop -/* 4136E4 E0126384 46180002 */ mul.s $f0, $f0, $f24 -/* 4136E8 E0126388 00000000 */ nop -/* 4136EC E012638C 46160000 */ add.s $f0, $f0, $f22 -/* 4136F0 E0126390 4600020D */ trunc.w.s $f8, $f0 -/* 4136F4 E0126394 E6080020 */ swc1 $f8, 0x20($s0) -/* 4136F8 E0126398 0C080140 */ jal shim_sin_deg -/* 4136FC E012639C 46206320 */ cvt.s.d $f12, $f12 -/* 413700 E01263A0 3C01E012 */ lui $at, %hi(D_E0126C08) -/* 413704 E01263A4 D42C6C08 */ ldc1 $f12, %lo(D_E0126C08)($at) -/* 413708 E01263A8 462CA302 */ mul.d $f12, $f20, $f12 -/* 41370C E01263AC 00000000 */ nop -/* 413710 E01263B0 46180002 */ mul.s $f0, $f0, $f24 -/* 413714 E01263B4 00000000 */ nop -/* 413718 E01263B8 3C01433C */ lui $at, 0x433c -/* 41371C E01263BC 4481B000 */ mtc1 $at, $f22 -/* 413720 E01263C0 00000000 */ nop -/* 413724 E01263C4 46160000 */ add.s $f0, $f0, $f22 -/* 413728 E01263C8 4600020D */ trunc.w.s $f8, $f0 -/* 41372C E01263CC E6080028 */ swc1 $f8, 0x28($s0) -/* 413730 E01263D0 0C080140 */ jal shim_sin_deg -/* 413734 E01263D4 46206320 */ cvt.s.d $f12, $f12 -/* 413738 E01263D8 3C01E012 */ lui $at, %hi(D_E0126C10) -/* 41373C E01263DC D42C6C10 */ ldc1 $f12, %lo(D_E0126C10)($at) -/* 413740 E01263E0 462CA302 */ mul.d $f12, $f20, $f12 -/* 413744 E01263E4 00000000 */ nop -/* 413748 E01263E8 46180002 */ mul.s $f0, $f0, $f24 -/* 41374C E01263EC 00000000 */ nop -/* 413750 E01263F0 46160000 */ add.s $f0, $f0, $f22 -/* 413754 E01263F4 4600020D */ trunc.w.s $f8, $f0 -/* 413758 E01263F8 E608002C */ swc1 $f8, 0x2c($s0) -/* 41375C E01263FC 0C080140 */ jal shim_sin_deg -/* 413760 E0126400 46206320 */ cvt.s.d $f12, $f12 -/* 413764 E0126404 3C01E012 */ lui $at, %hi(D_E0126C18) -/* 413768 E0126408 D4226C18 */ ldc1 $f2, %lo(D_E0126C18)($at) -/* 41376C E012640C 4622A502 */ mul.d $f20, $f20, $f2 -/* 413770 E0126410 00000000 */ nop -/* 413774 E0126414 46180002 */ mul.s $f0, $f0, $f24 -/* 413778 E0126418 00000000 */ nop -/* 41377C E012641C 46160000 */ add.s $f0, $f0, $f22 -/* 413780 E0126420 4600020D */ trunc.w.s $f8, $f0 -/* 413784 E0126424 E6080030 */ swc1 $f8, 0x30($s0) -/* 413788 E0126428 0C080140 */ jal shim_sin_deg -/* 41378C E012642C 4620A320 */ cvt.s.d $f12, $f20 -/* 413790 E0126430 3C01E012 */ lui $at, %hi(D_E0126C20) -/* 413794 E0126434 D4226C20 */ ldc1 $f2, %lo(D_E0126C20)($at) -/* 413798 E0126438 46000021 */ cvt.d.s $f0, $f0 -/* 41379C E012643C 46220002 */ mul.d $f0, $f0, $f2 -/* 4137A0 E0126440 00000000 */ nop -/* 4137A4 E0126444 3C01E012 */ lui $at, %hi(D_E0126C28) -/* 4137A8 E0126448 D4226C28 */ ldc1 $f2, %lo(D_E0126C28)($at) -/* 4137AC E012644C 46220000 */ add.d $f0, $f0, $f2 -/* 4137B0 E0126450 46200020 */ cvt.s.d $f0, $f0 -/* 4137B4 E0126454 E6000038 */ swc1 $f0, 0x38($s0) -.LE0126458: -/* 4137B8 E0126458 16320009 */ bne $s1, $s2, .LE0126480 -/* 4137BC E012645C 00000000 */ nop -/* 4137C0 E0126460 C600003C */ lwc1 $f0, 0x3c($s0) -/* 4137C4 E0126464 C6020040 */ lwc1 $f2, 0x40($s0) -/* 4137C8 E0126468 C6040044 */ lwc1 $f4, 0x44($s0) -/* 4137CC E012646C C6060038 */ lwc1 $f6, 0x38($s0) -/* 4137D0 E0126470 E6000048 */ swc1 $f0, 0x48($s0) -/* 4137D4 E0126474 E602004C */ swc1 $f2, 0x4c($s0) -/* 4137D8 E0126478 E6040050 */ swc1 $f4, 0x50($s0) -/* 4137DC E012647C E6060054 */ swc1 $f6, 0x54($s0) -.LE0126480: -/* 4137E0 E0126480 8FBF001C */ lw $ra, 0x1c($sp) -/* 4137E4 E0126484 8FB20018 */ lw $s2, 0x18($sp) -/* 4137E8 E0126488 8FB10014 */ lw $s1, 0x14($sp) -/* 4137EC E012648C 8FB00010 */ lw $s0, 0x10($sp) -/* 4137F0 E0126490 D7B80030 */ ldc1 $f24, 0x30($sp) -/* 4137F4 E0126494 D7B60028 */ ldc1 $f22, 0x28($sp) -/* 4137F8 E0126498 D7B40020 */ ldc1 $f20, 0x20($sp) -/* 4137FC E012649C 03E00008 */ jr $ra -/* 413800 E01264A0 27BD0038 */ addiu $sp, $sp, 0x38 diff --git a/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_main.s b/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_main.s deleted file mode 100644 index a303ffafc3..0000000000 --- a/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_main.s +++ /dev/null @@ -1,83 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel water_fountain_main -/* 3B7B80 E00B8000 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 3B7B84 E00B8004 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 3B7B88 E00B8008 4485A000 */ mtc1 $a1, $f20 -/* 3B7B8C E00B800C F7B60040 */ sdc1 $f22, 0x40($sp) -/* 3B7B90 E00B8010 4486B000 */ mtc1 $a2, $f22 -/* 3B7B94 E00B8014 AFB20030 */ sw $s2, 0x30($sp) -/* 3B7B98 E00B8018 0080902D */ daddu $s2, $a0, $zero -/* 3B7B9C E00B801C F7B80048 */ sdc1 $f24, 0x48($sp) -/* 3B7BA0 E00B8020 4487C000 */ mtc1 $a3, $f24 -/* 3B7BA4 E00B8024 27A40010 */ addiu $a0, $sp, 0x10 -/* 3B7BA8 E00B8028 AFB1002C */ sw $s1, 0x2c($sp) -/* 3B7BAC E00B802C 8FB10064 */ lw $s1, 0x64($sp) -/* 3B7BB0 E00B8030 3C02E00C */ lui $v0, %hi(water_fountain_init) -/* 3B7BB4 E00B8034 2442812C */ addiu $v0, $v0, %lo(water_fountain_init) -/* 3B7BB8 E00B8038 AFA20018 */ sw $v0, 0x18($sp) -/* 3B7BBC E00B803C 3C02E00C */ lui $v0, %hi(water_fountain_update) -/* 3B7BC0 E00B8040 24428134 */ addiu $v0, $v0, %lo(water_fountain_update) -/* 3B7BC4 E00B8044 AFA2001C */ sw $v0, 0x1c($sp) -/* 3B7BC8 E00B8048 3C02E00C */ lui $v0, %hi(water_fountain_render) -/* 3B7BCC E00B804C 244281B8 */ addiu $v0, $v0, %lo(water_fountain_render) -/* 3B7BD0 E00B8050 AFA20020 */ sw $v0, 0x20($sp) -/* 3B7BD4 E00B8054 2402005C */ addiu $v0, $zero, 0x5c -/* 3B7BD8 E00B8058 AFBF0034 */ sw $ra, 0x34($sp) -/* 3B7BDC E00B805C AFB00028 */ sw $s0, 0x28($sp) -/* 3B7BE0 E00B8060 AFA00010 */ sw $zero, 0x10($sp) -/* 3B7BE4 E00B8064 AFA00024 */ sw $zero, 0x24($sp) -/* 3B7BE8 E00B8068 0C080124 */ jal shim_create_effect_instance -/* 3B7BEC E00B806C AFA20014 */ sw $v0, 0x14($sp) -/* 3B7BF0 E00B8070 24040044 */ addiu $a0, $zero, 0x44 -/* 3B7BF4 E00B8074 24030001 */ addiu $v1, $zero, 1 -/* 3B7BF8 E00B8078 0040802D */ daddu $s0, $v0, $zero -/* 3B7BFC E00B807C 0C08012C */ jal shim_general_heap_malloc -/* 3B7C00 E00B8080 AE030008 */ sw $v1, 8($s0) -/* 3B7C04 E00B8084 0040282D */ daddu $a1, $v0, $zero -/* 3B7C08 E00B8088 14A00003 */ bnez $a1, .LE00B8098 -/* 3B7C0C E00B808C AE02000C */ sw $v0, 0xc($s0) -.LE00B8090: -/* 3B7C10 E00B8090 0802E024 */ j .LE00B8090 -/* 3B7C14 E00B8094 00000000 */ nop -.LE00B8098: -/* 3B7C18 E00B8098 ACB20000 */ sw $s2, ($a1) -/* 3B7C1C E00B809C 1E200004 */ bgtz $s1, .LE00B80B0 -/* 3B7C20 E00B80A0 ACA00014 */ sw $zero, 0x14($a1) -/* 3B7C24 E00B80A4 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 3B7C28 E00B80A8 0802E02D */ j .LE00B80B4 -/* 3B7C2C E00B80AC ACA20010 */ sw $v0, 0x10($a1) -.LE00B80B0: -/* 3B7C30 E00B80B0 ACB10010 */ sw $s1, 0x10($a1) -.LE00B80B4: -/* 3B7C34 E00B80B4 0200102D */ daddu $v0, $s0, $zero -/* 3B7C38 E00B80B8 240400FF */ addiu $a0, $zero, 0xff -/* 3B7C3C E00B80BC ACA40024 */ sw $a0, 0x24($a1) -/* 3B7C40 E00B80C0 E4B40004 */ swc1 $f20, 4($a1) -/* 3B7C44 E00B80C4 E4B60008 */ swc1 $f22, 8($a1) -/* 3B7C48 E00B80C8 E4B8000C */ swc1 $f24, 0xc($a1) -/* 3B7C4C E00B80CC C7A00060 */ lwc1 $f0, 0x60($sp) -/* 3B7C50 E00B80D0 24030046 */ addiu $v1, $zero, 0x46 -/* 3B7C54 E00B80D4 ACA30018 */ sw $v1, 0x18($a1) -/* 3B7C58 E00B80D8 E4A00034 */ swc1 $f0, 0x34($a1) -/* 3B7C5C E00B80DC 3C013F80 */ lui $at, 0x3f80 -/* 3B7C60 E00B80E0 44810000 */ mtc1 $at, $f0 -/* 3B7C64 E00B80E4 240300B4 */ addiu $v1, $zero, 0xb4 -/* 3B7C68 E00B80E8 ACA3001C */ sw $v1, 0x1c($a1) -/* 3B7C6C E00B80EC ACA40020 */ sw $a0, 0x20($a1) -/* 3B7C70 E00B80F0 ACA40028 */ sw $a0, 0x28($a1) -/* 3B7C74 E00B80F4 ACA4002C */ sw $a0, 0x2c($a1) -/* 3B7C78 E00B80F8 ACA40030 */ sw $a0, 0x30($a1) -/* 3B7C7C E00B80FC ACA00038 */ sw $zero, 0x38($a1) -/* 3B7C80 E00B8100 E4A0003C */ swc1 $f0, 0x3c($a1) -/* 3B7C84 E00B8104 E4A00040 */ swc1 $f0, 0x40($a1) -/* 3B7C88 E00B8108 8FBF0034 */ lw $ra, 0x34($sp) -/* 3B7C8C E00B810C 8FB20030 */ lw $s2, 0x30($sp) -/* 3B7C90 E00B8110 8FB1002C */ lw $s1, 0x2c($sp) -/* 3B7C94 E00B8114 8FB00028 */ lw $s0, 0x28($sp) -/* 3B7C98 E00B8118 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 3B7C9C E00B811C D7B60040 */ ldc1 $f22, 0x40($sp) -/* 3B7CA0 E00B8120 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 3B7CA4 E00B8124 03E00008 */ jr $ra -/* 3B7CA8 E00B8128 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_update.s b/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_update.s deleted file mode 100644 index 6a4949cb0d..0000000000 --- a/ver/us/asm/nonmatchings/effects/water_fountain/water_fountain_update.s +++ /dev/null @@ -1,41 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel water_fountain_update -/* 3B7CB4 E00B8134 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3B7CB8 E00B8138 AFBF0010 */ sw $ra, 0x10($sp) -/* 3B7CBC E00B813C 8C830000 */ lw $v1, ($a0) -/* 3B7CC0 E00B8140 8C86000C */ lw $a2, 0xc($a0) -/* 3B7CC4 E00B8144 30620010 */ andi $v0, $v1, 0x10 -/* 3B7CC8 E00B8148 10400005 */ beqz $v0, .LE00B8160 -/* 3B7CCC E00B814C 2402FFEF */ addiu $v0, $zero, -0x11 -/* 3B7CD0 E00B8150 00621024 */ and $v0, $v1, $v0 -/* 3B7CD4 E00B8154 AC820000 */ sw $v0, ($a0) -/* 3B7CD8 E00B8158 24020010 */ addiu $v0, $zero, 0x10 -/* 3B7CDC E00B815C ACC20010 */ sw $v0, 0x10($a2) -.LE00B8160: -/* 3B7CE0 E00B8160 8CC30010 */ lw $v1, 0x10($a2) -/* 3B7CE4 E00B8164 286203E8 */ slti $v0, $v1, 0x3e8 -/* 3B7CE8 E00B8168 10400002 */ beqz $v0, .LE00B8174 -/* 3B7CEC E00B816C 2462FFFF */ addiu $v0, $v1, -1 -/* 3B7CF0 E00B8170 ACC20010 */ sw $v0, 0x10($a2) -.LE00B8174: -/* 3B7CF4 E00B8174 8CC20014 */ lw $v0, 0x14($a2) -/* 3B7CF8 E00B8178 8CC30010 */ lw $v1, 0x10($a2) -/* 3B7CFC E00B817C 24450001 */ addiu $a1, $v0, 1 -/* 3B7D00 E00B8180 04610005 */ bgez $v1, .LE00B8198 -/* 3B7D04 E00B8184 ACC50014 */ sw $a1, 0x14($a2) -/* 3B7D08 E00B8188 0C080128 */ jal shim_remove_effect -/* 3B7D0C E00B818C 00000000 */ nop -/* 3B7D10 E00B8190 0802E06B */ j .LE00B81AC -/* 3B7D14 E00B8194 00000000 */ nop -.LE00B8198: -/* 3B7D18 E00B8198 28A20008 */ slti $v0, $a1, 8 -/* 3B7D1C E00B819C 10400003 */ beqz $v0, .LE00B81AC -/* 3B7D20 E00B81A0 00051140 */ sll $v0, $a1, 5 -/* 3B7D24 E00B81A4 2442001F */ addiu $v0, $v0, 0x1f -/* 3B7D28 E00B81A8 ACC20024 */ sw $v0, 0x24($a2) -.LE00B81AC: -/* 3B7D2C E00B81AC 8FBF0010 */ lw $ra, 0x10($sp) -/* 3B7D30 E00B81B0 03E00008 */ jr $ra -/* 3B7D34 E00B81B4 27BD0018 */ addiu $sp, $sp, 0x18