diff --git a/include/effects.h b/include/effects.h index 18f19e81fc..175da33f86 100644 --- a/include/effects.h +++ b/include/effects.h @@ -619,17 +619,21 @@ typedef struct MusicNoteFXData { } MusicNoteFXData; // size = 0x34 typedef struct SmokeBurstFXData { - /* 0x00 */ char unk_00[0x14]; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s32 unk_18; + /* 0x00 */ s16 unk_00; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 unk_10; + /* 0x14 */ s32 timeLeft; + /* 0x18 */ s32 lifeTime; /* 0x1C */ s32 unk_1C; /* 0x20 */ f32 unk_20; -} SmokeBurstFXData; // size = 0x24 + /* 0x24 */ Color_RGBA8 rgba; +} SmokeBurstFXData; // size = 0x28 typedef struct SweatFXData { - /* 0x00 */ char unk_00[0x4]; + /* 0x00 */ s32 unk_00; /* 0x04 */ Vec3f pos; - /* 0x10 */ char unk_10[0x08]; + /* 0x10 */ f32 unk_10; + /* 0x14 */ char unk_14[0x04]; /* 0x18 */ f32 unk_18; /* 0x1C */ f32 unk_1C; /* 0x20 */ f32 unk_20; @@ -1537,7 +1541,8 @@ typedef struct ShinyFlareFXData { } ShinyFlareFXData; // size = unknown typedef struct HuffPuffBreathFXData { - /* 0x00 */ char unk_00[0x10]; + /* 0x00 */ s32 unk_00; + /* 0x04 */ Vec3f pos; /* 0x10 */ s32 timeLeft; /* 0x14 */ s32 lifeTime; /* 0x18 */ s32 unk_18; @@ -1547,12 +1552,14 @@ typedef struct HuffPuffBreathFXData { /* 0x28 */ s32 unk_28; /* 0x2C */ s32 unk_2C; /* 0x30 */ s32 unk_30; - /* 0x34 */ char unk_34[0x04]; + /* 0x34 */ s32 unk_34; /* 0x38 */ f32 unk_38; /* 0x3C */ f32 unk_3C; /* 0x40 */ f32 unk_40; /* 0x44 */ f32 unk_44; -} HuffPuffBreathFXData; // size = 0x48 + /* 0x48 */ f32 unk_48; + /* 0x4C */ f32 unk_4C; +} HuffPuffBreathFXData; // size = 0x50 typedef struct ColdBreathFXData { /* 0x00 */ s32 unk_00; @@ -1606,12 +1613,20 @@ typedef struct EmbersFXData { } EmbersFXData; // size = 0x70 typedef struct HieroglyphsFXData { - /* 0x00 */ char unk_00[0x10]; + /* 0x00 */ s32 unk_00; + /* 0x04 */ Vec3f pos; /* 0x10 */ s32 timeLeft; /* 0x14 */ s32 lifeTime; - /* 0x18 */ char unk_18[0x0C]; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ s32 unk_20; /* 0x24 */ s32 unk_24; -} HieroglyphsFXData; // size = 0x28 + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ s32 unk_34; + /* 0x38 */ f32 unk_38; +} HieroglyphsFXData; // size = 0x3C typedef struct MiscParticlesFXData { char unk_00[0x4]; diff --git a/include/effects_internal.h b/include/effects_internal.h index 29a5bc2121..fd65bbe6a1 100644 --- a/include/effects_internal.h +++ b/include/effects_internal.h @@ -71,8 +71,8 @@ FX_MAIN(rising_bubble_main); FX_MAIN(ring_blast_main); FX_MAIN(shockwave_main); void music_note_main(s32, f32, f32, f32); -FX_MAIN(smoke_burst_main); -FX_MAIN(sweat_main); +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 falling_leaves_main(s32, f32, f32, f32); @@ -140,10 +140,10 @@ EffectInstance* floating_cloud_puff_main(s32, f32, f32, f32, f32, s32); FX_MAIN(energy_in_out_main); EffectInstance* tattle_window_main(s32, f32, f32, f32, f32, s32); FX_MAIN(shiny_flare_main); -FX_MAIN(huff_puff_breath_main); +EffectInstance* huff_puff_breath_main(s32, f32, f32, f32, f32, f32, f32, s32); EffectInstance* cold_breath_main(s32, f32, f32, f32, f32, s32); EffectInstance* embers_main(s32, f32, f32, f32, f32, f32, f32, s32, s32, f32, f32); -FX_MAIN(hieroglyphs_main); +EffectInstance* hieroglyphs_main(s32, f32, f32, f32, f32, s32); FX_MAIN(misc_particles_main); FX_MAIN(static_status_main); FX_MAIN(moving_cloud_main); diff --git a/src/effects/hieroglyphs.c b/src/effects/hieroglyphs.c index dda5274a2e..edb92162aa 100644 --- a/src/effects/hieroglyphs.c +++ b/src/effects/hieroglyphs.c @@ -1,11 +1,54 @@ #include "common.h" #include "effects_internal.h" +void hieroglyphs_init(EffectInstance* effect); +void hieroglyphs_update(EffectInstance* effect); +void hieroglyphs_render(EffectInstance* effect); void hieroglyphs_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/hieroglyphs", hieroglyphs_main); +EffectInstance* hieroglyphs_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 timeLeft) { + EffectBlueprint effectBp; + EffectInstance* effect; + HieroglyphsFXData* data; + s32 numParts = 1; -void hieroglyphs_init(void) { + effectBp.init = hieroglyphs_init; + effectBp.update = hieroglyphs_update; + effectBp.renderWorld = hieroglyphs_render; + effectBp.unk_00 = 0; + effectBp.unk_14 = 0; + effectBp.effectID = EFFECT_HIEROGLYPHS; + + effect = shim_create_effect_instance(&effectBp); + effect->numParts = numParts; + + data = effect->data.hieroglyphs = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(data != NULL); + + data->unk_00 = arg0; + data->lifeTime = 0; + if (timeLeft <= 0) { + data->timeLeft = 1000; + } else { + data->timeLeft = timeLeft; + } + data->unk_24 = 0; + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->unk_38 = arg4; + data->unk_18 = 70; + data->unk_1C = 180; + data->unk_20 = 120; + data->unk_28 = 20; + data->unk_2C = 230; + data->unk_30 = 50; + data->unk_34 = 255; + + return effect; +} + +void hieroglyphs_init(EffectInstance* effect) { } void hieroglyphs_update(EffectInstance* effect) { diff --git a/src/effects/huff_puff_breath.c b/src/effects/huff_puff_breath.c index 794206e0ee..76200c4776 100644 --- a/src/effects/huff_puff_breath.c +++ b/src/effects/huff_puff_breath.c @@ -1,11 +1,66 @@ #include "common.h" #include "effects_internal.h" +void huff_puff_breath_init(EffectInstance* effect); +void huff_puff_breath_update(EffectInstance* effect); +void huff_puff_breath_render(EffectInstance* effect); void huff_puff_breath_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/huff_puff_breath", huff_puff_breath_main); +EffectInstance* huff_puff_breath_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, f32 arg5, f32 arg6, s32 timeLeft) { + EffectBlueprint effectBp; + EffectInstance* effect; + HuffPuffBreathFXData* data; + s32 numParts = 1; -void huff_puff_breath_init(void) { + effectBp.init = huff_puff_breath_init; + effectBp.update = huff_puff_breath_update; + effectBp.renderWorld = huff_puff_breath_render; + effectBp.unk_00 = 0; + effectBp.unk_14 = 0; + effectBp.effectID = EFFECT_HUFF_PUFF_BREATH; + + effect = shim_create_effect_instance(&effectBp); + effect->numParts = numParts; + + data = effect->data.huffPuffBreath = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(data != NULL); + + data->unk_00 = arg0; + data->lifeTime = 0; + if (timeLeft <= 0) { + data->timeLeft = 1000; + } else { + data->timeLeft = timeLeft; + } + + data->unk_24 = 0; + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->unk_4C = arg6; + data->unk_18 = 255; + data->unk_2C = 230; + data->unk_1C = 255; + data->unk_20 = 255; + data->unk_28 = 255; + data->unk_30 = 50; + data->unk_34 = 255; + data->unk_48 = arg4; + data->unk_44 = 0; + data->unk_3C = arg5; + data->unk_38 = shim_rand_int(32); + data->unk_40 = shim_rand_int(16); + data->unk_20 = 150; + data->unk_28 = 215; + data->unk_2C = 210; + data->unk_18 = 255; + data->unk_1C = 255; + data->unk_30 = 10; + + return effect; +} + +void huff_puff_breath_init(EffectInstance* effect) { } void huff_puff_breath_update(EffectInstance* effect) { diff --git a/src/effects/smoke_burst.c b/src/effects/smoke_burst.c index fbdcf097c1..486f81d12a 100644 --- a/src/effects/smoke_burst.c +++ b/src/effects/smoke_burst.c @@ -1,21 +1,74 @@ #include "common.h" #include "effects_internal.h" +void smoke_burst_init(EffectInstance* effect); +void smoke_burst_update(EffectInstance* effect); +void smoke_burst_render(EffectInstance* effect); void smoke_burst_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/smoke_burst", smoke_burst_main); +void smoke_burst_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 timeLeft) { + EffectBlueprint effectBp; + EffectInstance* effect; + SmokeBurstFXData* data; + s32 numParts = 1; -void smoke_burst_init(void) { + effectBp.init = smoke_burst_init; + effectBp.update = smoke_burst_update; + effectBp.renderWorld = smoke_burst_render; + effectBp.unk_00 = 0; + effectBp.unk_14 = 0; + effectBp.effectID = EFFECT_SMOKE_BURST; + + effect = shim_create_effect_instance(&effectBp); + effect->numParts = numParts; + + data = effect->data.smokeBurst = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(data != NULL); + + shim_mem_clear(data, numParts * sizeof(*data)); + data->timeLeft = timeLeft; + data->lifeTime = 0; + data->unk_1C = timeLeft; + data->unk_20 = 0; + data->unk_00 = arg0; + data->pos.x = posX; + data->pos.y = posY; + data->pos.z = posZ; + data->unk_10 = arg4; + + switch (arg0) { + case 0: + data->rgba.b = 0; + data->rgba.g = 0; + data->rgba.r = 0; + data->rgba.a = 130; + break; + case 1: + data->rgba.r = 255; + data->rgba.b = 0; + data->rgba.g = 0; + data->rgba.a = 130; + break; + default: + data->rgba.r = 225; + data->rgba.g = 215; + data->rgba.b = 255; + data->rgba.a = 180; + break; + } +} + +void smoke_burst_init(EffectInstance* effect) { } void smoke_burst_update(EffectInstance *effect) { SmokeBurstFXData* data = effect->data.smokeBurst; - data->unk_20 = (data->unk_18 * 8.0f) / data->unk_1C; - data->unk_18++; - data->unk_14--; - - if (data->unk_14 < 0) { + data->unk_20 = (data->lifeTime * 8.0f) / data->unk_1C; + data->lifeTime++; + data->timeLeft--; + + if (data->timeLeft < 0) { shim_remove_effect(effect); } } diff --git a/src/effects/sweat.c b/src/effects/sweat.c index 1cef129ef6..72227f4457 100644 --- a/src/effects/sweat.c +++ b/src/effects/sweat.c @@ -1,11 +1,47 @@ #include "common.h" #include "effects_internal.h" +void sweat_init(EffectInstance* effect); +void sweat_update(EffectInstance* effect); +void sweat_render(EffectInstance* effect); void sweat_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/sweat", sweat_main); +void sweat_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, s32 timeLeft) { + EffectBlueprint effectBp; + EffectInstance* effect; + SweatFXData* data; + Matrix4f matrix; + f32 temp_f2; + s32 numParts = 1; -void sweat_init(void) { + effectBp.init = (void*)sweat_init; + effectBp.update = sweat_update; + effectBp.renderWorld = sweat_render; + effectBp.unk_00 = 0; + effectBp.unk_14 = 0; + effectBp.effectID = EFFECT_SWEAT; + + effect = shim_create_effect_instance(&effectBp); + effect->numParts = numParts; + + data = effect->data.sweat = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(data != NULL); + + data->unk_00 = arg0; + shim_guRotateF(matrix, -arg5, shim_sin_deg(gCameras[gCurrentCameraID].currentYaw), 0.0f, -shim_cos_deg(gCameras[gCurrentCameraID].currentYaw)); + temp_f2 = arg4 + 16.0f; + data->pos.x = arg1 + (matrix[1][0] * temp_f2); + data->pos.y = arg2 + (matrix[1][1] * temp_f2); + data->pos.z = arg3 + (matrix[1][2] * temp_f2); + data->unk_18 = matrix[1][0]; + data->unk_1C = matrix[1][1]; + data->unk_20 = matrix[1][2]; + data->unk_10 = arg5; + data->timeLeft = timeLeft; +} + + +void sweat_init(EffectInstance* effect) { } void sweat_update(EffectInstance *effect) { diff --git a/ver/us/asm/nonmatchings/effects/hieroglyphs/hieroglyphs_main.s b/ver/us/asm/nonmatchings/effects/hieroglyphs/hieroglyphs_main.s deleted file mode 100644 index d28190b57c..0000000000 --- a/ver/us/asm/nonmatchings/effects/hieroglyphs/hieroglyphs_main.s +++ /dev/null @@ -1,83 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel hieroglyphs_main -/* 3DC310 E00E2000 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 3DC314 E00E2004 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 3DC318 E00E2008 4485A000 */ mtc1 $a1, $f20 -/* 3DC31C E00E200C F7B60040 */ sdc1 $f22, 0x40($sp) -/* 3DC320 E00E2010 4486B000 */ mtc1 $a2, $f22 -/* 3DC324 E00E2014 AFB20030 */ sw $s2, 0x30($sp) -/* 3DC328 E00E2018 0080902D */ daddu $s2, $a0, $zero -/* 3DC32C E00E201C F7B80048 */ sdc1 $f24, 0x48($sp) -/* 3DC330 E00E2020 4487C000 */ mtc1 $a3, $f24 -/* 3DC334 E00E2024 27A40010 */ addiu $a0, $sp, 0x10 -/* 3DC338 E00E2028 AFB1002C */ sw $s1, 0x2c($sp) -/* 3DC33C E00E202C 8FB10064 */ lw $s1, 0x64($sp) -/* 3DC340 E00E2030 3C02E00E */ lui $v0, %hi(hieroglyphs_init) -/* 3DC344 E00E2034 2442212C */ addiu $v0, $v0, %lo(hieroglyphs_init) -/* 3DC348 E00E2038 AFA20018 */ sw $v0, 0x18($sp) -/* 3DC34C E00E203C 3C02E00E */ lui $v0, %hi(hieroglyphs_update) -/* 3DC350 E00E2040 24422134 */ addiu $v0, $v0, %lo(hieroglyphs_update) -/* 3DC354 E00E2044 AFA2001C */ sw $v0, 0x1c($sp) -/* 3DC358 E00E2048 3C02E00E */ lui $v0, %hi(hieroglyphs_render) -/* 3DC35C E00E204C 244221C8 */ addiu $v0, $v0, %lo(hieroglyphs_render) -/* 3DC360 E00E2050 AFA20020 */ sw $v0, 0x20($sp) -/* 3DC364 E00E2054 24020071 */ addiu $v0, $zero, 0x71 -/* 3DC368 E00E2058 AFBF0034 */ sw $ra, 0x34($sp) -/* 3DC36C E00E205C AFB00028 */ sw $s0, 0x28($sp) -/* 3DC370 E00E2060 AFA00010 */ sw $zero, 0x10($sp) -/* 3DC374 E00E2064 AFA00024 */ sw $zero, 0x24($sp) -/* 3DC378 E00E2068 0C080124 */ jal shim_create_effect_instance -/* 3DC37C E00E206C AFA20014 */ sw $v0, 0x14($sp) -/* 3DC380 E00E2070 2404003C */ addiu $a0, $zero, 0x3c -/* 3DC384 E00E2074 24030001 */ addiu $v1, $zero, 1 -/* 3DC388 E00E2078 0040802D */ daddu $s0, $v0, $zero -/* 3DC38C E00E207C 0C08012C */ jal shim_general_heap_malloc -/* 3DC390 E00E2080 AE030008 */ sw $v1, 8($s0) -/* 3DC394 E00E2084 0040202D */ daddu $a0, $v0, $zero -/* 3DC398 E00E2088 14800003 */ bnez $a0, .LE00E2098 -/* 3DC39C E00E208C AE02000C */ sw $v0, 0xc($s0) -.LE00E2090: -/* 3DC3A0 E00E2090 08038824 */ j .LE00E2090 -/* 3DC3A4 E00E2094 00000000 */ nop -.LE00E2098: -/* 3DC3A8 E00E2098 AC920000 */ sw $s2, ($a0) -/* 3DC3AC E00E209C 1E200004 */ bgtz $s1, .LE00E20B0 -/* 3DC3B0 E00E20A0 AC800014 */ sw $zero, 0x14($a0) -/* 3DC3B4 E00E20A4 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 3DC3B8 E00E20A8 0803882D */ j .LE00E20B4 -/* 3DC3BC E00E20AC AC820010 */ sw $v0, 0x10($a0) -.LE00E20B0: -/* 3DC3C0 E00E20B0 AC910010 */ sw $s1, 0x10($a0) -.LE00E20B4: -/* 3DC3C4 E00E20B4 0200102D */ daddu $v0, $s0, $zero -/* 3DC3C8 E00E20B8 AC800024 */ sw $zero, 0x24($a0) -/* 3DC3CC E00E20BC E4940004 */ swc1 $f20, 4($a0) -/* 3DC3D0 E00E20C0 E4960008 */ swc1 $f22, 8($a0) -/* 3DC3D4 E00E20C4 E498000C */ swc1 $f24, 0xc($a0) -/* 3DC3D8 E00E20C8 C7A00060 */ lwc1 $f0, 0x60($sp) -/* 3DC3DC E00E20CC 24030046 */ addiu $v1, $zero, 0x46 -/* 3DC3E0 E00E20D0 AC830018 */ sw $v1, 0x18($a0) -/* 3DC3E4 E00E20D4 240300B4 */ addiu $v1, $zero, 0xb4 -/* 3DC3E8 E00E20D8 AC83001C */ sw $v1, 0x1c($a0) -/* 3DC3EC E00E20DC 24030078 */ addiu $v1, $zero, 0x78 -/* 3DC3F0 E00E20E0 AC830020 */ sw $v1, 0x20($a0) -/* 3DC3F4 E00E20E4 24030014 */ addiu $v1, $zero, 0x14 -/* 3DC3F8 E00E20E8 AC830028 */ sw $v1, 0x28($a0) -/* 3DC3FC E00E20EC 240300E6 */ addiu $v1, $zero, 0xe6 -/* 3DC400 E00E20F0 AC83002C */ sw $v1, 0x2c($a0) -/* 3DC404 E00E20F4 24030032 */ addiu $v1, $zero, 0x32 -/* 3DC408 E00E20F8 AC830030 */ sw $v1, 0x30($a0) -/* 3DC40C E00E20FC 240300FF */ addiu $v1, $zero, 0xff -/* 3DC410 E00E2100 AC830034 */ sw $v1, 0x34($a0) -/* 3DC414 E00E2104 E4800038 */ swc1 $f0, 0x38($a0) -/* 3DC418 E00E2108 8FBF0034 */ lw $ra, 0x34($sp) -/* 3DC41C E00E210C 8FB20030 */ lw $s2, 0x30($sp) -/* 3DC420 E00E2110 8FB1002C */ lw $s1, 0x2c($sp) -/* 3DC424 E00E2114 8FB00028 */ lw $s0, 0x28($sp) -/* 3DC428 E00E2118 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 3DC42C E00E211C D7B60040 */ ldc1 $f22, 0x40($sp) -/* 3DC430 E00E2120 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 3DC434 E00E2124 03E00008 */ jr $ra -/* 3DC438 E00E2128 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/effects/huff_puff_breath/huff_puff_breath_main.s b/ver/us/asm/nonmatchings/effects/huff_puff_breath/huff_puff_breath_main.s deleted file mode 100644 index b2dc4fdde0..0000000000 --- a/ver/us/asm/nonmatchings/effects/huff_puff_breath/huff_puff_breath_main.s +++ /dev/null @@ -1,108 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel huff_puff_breath_main -/* 3D7A70 E00DC000 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 3D7A74 E00DC004 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 3D7A78 E00DC008 4485A000 */ mtc1 $a1, $f20 -/* 3D7A7C E00DC00C F7B60048 */ sdc1 $f22, 0x48($sp) -/* 3D7A80 E00DC010 4486B000 */ mtc1 $a2, $f22 -/* 3D7A84 E00DC014 AFB30034 */ sw $s3, 0x34($sp) -/* 3D7A88 E00DC018 0080982D */ daddu $s3, $a0, $zero -/* 3D7A8C E00DC01C F7B80050 */ sdc1 $f24, 0x50($sp) -/* 3D7A90 E00DC020 4487C000 */ mtc1 $a3, $f24 -/* 3D7A94 E00DC024 27A40010 */ addiu $a0, $sp, 0x10 -/* 3D7A98 E00DC028 AFB00028 */ sw $s0, 0x28($sp) -/* 3D7A9C E00DC02C 8FB00074 */ lw $s0, 0x74($sp) -/* 3D7AA0 E00DC030 3C02E00E */ lui $v0, %hi(huff_puff_breath_init) -/* 3D7AA4 E00DC034 2442C190 */ addiu $v0, $v0, %lo(huff_puff_breath_init) -/* 3D7AA8 E00DC038 AFA20018 */ sw $v0, 0x18($sp) -/* 3D7AAC E00DC03C 3C02E00E */ lui $v0, %hi(huff_puff_breath_update) -/* 3D7AB0 E00DC040 2442C198 */ addiu $v0, $v0, %lo(huff_puff_breath_update) -/* 3D7AB4 E00DC044 AFA2001C */ sw $v0, 0x1c($sp) -/* 3D7AB8 E00DC048 3C02E00E */ lui $v0, %hi(huff_puff_breath_render) -/* 3D7ABC E00DC04C 2442C2C0 */ addiu $v0, $v0, %lo(huff_puff_breath_render) -/* 3D7AC0 E00DC050 AFA20020 */ sw $v0, 0x20($sp) -/* 3D7AC4 E00DC054 2402006E */ addiu $v0, $zero, 0x6e -/* 3D7AC8 E00DC058 AFBF0038 */ sw $ra, 0x38($sp) -/* 3D7ACC E00DC05C AFB20030 */ sw $s2, 0x30($sp) -/* 3D7AD0 E00DC060 AFB1002C */ sw $s1, 0x2c($sp) -/* 3D7AD4 E00DC064 AFA00010 */ sw $zero, 0x10($sp) -/* 3D7AD8 E00DC068 AFA00024 */ sw $zero, 0x24($sp) -/* 3D7ADC E00DC06C 0C080124 */ jal shim_create_effect_instance -/* 3D7AE0 E00DC070 AFA20014 */ sw $v0, 0x14($sp) -/* 3D7AE4 E00DC074 24040050 */ addiu $a0, $zero, 0x50 -/* 3D7AE8 E00DC078 24030001 */ addiu $v1, $zero, 1 -/* 3D7AEC E00DC07C 0040902D */ daddu $s2, $v0, $zero -/* 3D7AF0 E00DC080 0C08012C */ jal shim_general_heap_malloc -/* 3D7AF4 E00DC084 AE430008 */ sw $v1, 8($s2) -/* 3D7AF8 E00DC088 0040882D */ daddu $s1, $v0, $zero -/* 3D7AFC E00DC08C 16200003 */ bnez $s1, .LE00DC09C -/* 3D7B00 E00DC090 AE42000C */ sw $v0, 0xc($s2) -.LE00DC094: -/* 3D7B04 E00DC094 08037025 */ j .LE00DC094 -/* 3D7B08 E00DC098 00000000 */ nop -.LE00DC09C: -/* 3D7B0C E00DC09C AE330000 */ sw $s3, ($s1) -/* 3D7B10 E00DC0A0 1E000004 */ bgtz $s0, .LE00DC0B4 -/* 3D7B14 E00DC0A4 AE200014 */ sw $zero, 0x14($s1) -/* 3D7B18 E00DC0A8 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 3D7B1C E00DC0AC 0803702E */ j .LE00DC0B8 -/* 3D7B20 E00DC0B0 AE220010 */ sw $v0, 0x10($s1) -.LE00DC0B4: -/* 3D7B24 E00DC0B4 AE300010 */ sw $s0, 0x10($s1) -.LE00DC0B8: -/* 3D7B28 E00DC0B8 241000FF */ addiu $s0, $zero, 0xff -/* 3D7B2C E00DC0BC AE200024 */ sw $zero, 0x24($s1) -/* 3D7B30 E00DC0C0 E6340004 */ swc1 $f20, 4($s1) -/* 3D7B34 E00DC0C4 E6360008 */ swc1 $f22, 8($s1) -/* 3D7B38 E00DC0C8 E638000C */ swc1 $f24, 0xc($s1) -/* 3D7B3C E00DC0CC C7A00070 */ lwc1 $f0, 0x70($sp) -/* 3D7B40 E00DC0D0 240200E6 */ addiu $v0, $zero, 0xe6 -/* 3D7B44 E00DC0D4 AE22002C */ sw $v0, 0x2c($s1) -/* 3D7B48 E00DC0D8 24020032 */ addiu $v0, $zero, 0x32 -/* 3D7B4C E00DC0DC AE300018 */ sw $s0, 0x18($s1) -/* 3D7B50 E00DC0E0 AE30001C */ sw $s0, 0x1c($s1) -/* 3D7B54 E00DC0E4 AE300020 */ sw $s0, 0x20($s1) -/* 3D7B58 E00DC0E8 AE300028 */ sw $s0, 0x28($s1) -/* 3D7B5C E00DC0EC AE220030 */ sw $v0, 0x30($s1) -/* 3D7B60 E00DC0F0 AE300034 */ sw $s0, 0x34($s1) -/* 3D7B64 E00DC0F4 E620004C */ swc1 $f0, 0x4c($s1) -/* 3D7B68 E00DC0F8 C7A00068 */ lwc1 $f0, 0x68($sp) -/* 3D7B6C E00DC0FC AE200044 */ sw $zero, 0x44($s1) -/* 3D7B70 E00DC100 E6200048 */ swc1 $f0, 0x48($s1) -/* 3D7B74 E00DC104 C7A0006C */ lwc1 $f0, 0x6c($sp) -/* 3D7B78 E00DC108 24040020 */ addiu $a0, $zero, 0x20 -/* 3D7B7C E00DC10C 0C080138 */ jal shim_rand_int -/* 3D7B80 E00DC110 E620003C */ swc1 $f0, 0x3c($s1) -/* 3D7B84 E00DC114 24040010 */ addiu $a0, $zero, 0x10 -/* 3D7B88 E00DC118 44820000 */ mtc1 $v0, $f0 -/* 3D7B8C E00DC11C 00000000 */ nop -/* 3D7B90 E00DC120 46800020 */ cvt.s.w $f0, $f0 -/* 3D7B94 E00DC124 0C080138 */ jal shim_rand_int -/* 3D7B98 E00DC128 E6200038 */ swc1 $f0, 0x38($s1) -/* 3D7B9C E00DC12C 44820000 */ mtc1 $v0, $f0 -/* 3D7BA0 E00DC130 00000000 */ nop -/* 3D7BA4 E00DC134 46800020 */ cvt.s.w $f0, $f0 -/* 3D7BA8 E00DC138 0240102D */ daddu $v0, $s2, $zero -/* 3D7BAC E00DC13C 24030096 */ addiu $v1, $zero, 0x96 -/* 3D7BB0 E00DC140 AE230020 */ sw $v1, 0x20($s1) -/* 3D7BB4 E00DC144 240300D7 */ addiu $v1, $zero, 0xd7 -/* 3D7BB8 E00DC148 AE230028 */ sw $v1, 0x28($s1) -/* 3D7BBC E00DC14C 240300D2 */ addiu $v1, $zero, 0xd2 -/* 3D7BC0 E00DC150 AE23002C */ sw $v1, 0x2c($s1) -/* 3D7BC4 E00DC154 2403000A */ addiu $v1, $zero, 0xa -/* 3D7BC8 E00DC158 E6200040 */ swc1 $f0, 0x40($s1) -/* 3D7BCC E00DC15C AE300018 */ sw $s0, 0x18($s1) -/* 3D7BD0 E00DC160 AE30001C */ sw $s0, 0x1c($s1) -/* 3D7BD4 E00DC164 AE230030 */ sw $v1, 0x30($s1) -/* 3D7BD8 E00DC168 8FBF0038 */ lw $ra, 0x38($sp) -/* 3D7BDC E00DC16C 8FB30034 */ lw $s3, 0x34($sp) -/* 3D7BE0 E00DC170 8FB20030 */ lw $s2, 0x30($sp) -/* 3D7BE4 E00DC174 8FB1002C */ lw $s1, 0x2c($sp) -/* 3D7BE8 E00DC178 8FB00028 */ lw $s0, 0x28($sp) -/* 3D7BEC E00DC17C D7B80050 */ ldc1 $f24, 0x50($sp) -/* 3D7BF0 E00DC180 D7B60048 */ ldc1 $f22, 0x48($sp) -/* 3D7BF4 E00DC184 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 3D7BF8 E00DC188 03E00008 */ jr $ra -/* 3D7BFC E00DC18C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/ver/us/asm/nonmatchings/effects/smoke_burst/smoke_burst_main.s b/ver/us/asm/nonmatchings/effects/smoke_burst/smoke_burst_main.s deleted file mode 100644 index fd5e78aac2..0000000000 --- a/ver/us/asm/nonmatchings/effects/smoke_burst/smoke_burst_main.s +++ /dev/null @@ -1,97 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel smoke_burst_main -/* 35B9D0 E004E000 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 35B9D4 E004E004 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 35B9D8 E004E008 4485A000 */ mtc1 $a1, $f20 -/* 35B9DC E004E00C F7B60048 */ sdc1 $f22, 0x48($sp) -/* 35B9E0 E004E010 4486B000 */ mtc1 $a2, $f22 -/* 35B9E4 E004E014 AFB20030 */ sw $s2, 0x30($sp) -/* 35B9E8 E004E018 0080902D */ daddu $s2, $a0, $zero -/* 35B9EC E004E01C F7B80050 */ sdc1 $f24, 0x50($sp) -/* 35B9F0 E004E020 4487C000 */ mtc1 $a3, $f24 -/* 35B9F4 E004E024 27A40010 */ addiu $a0, $sp, 0x10 -/* 35B9F8 E004E028 AFB30034 */ sw $s3, 0x34($sp) -/* 35B9FC E004E02C 8FB3006C */ lw $s3, 0x6c($sp) -/* 35BA00 E004E030 3C02E005 */ lui $v0, %hi(smoke_burst_init) -/* 35BA04 E004E034 2442E15C */ addiu $v0, $v0, %lo(smoke_burst_init) -/* 35BA08 E004E038 AFA20018 */ sw $v0, 0x18($sp) -/* 35BA0C E004E03C 3C02E005 */ lui $v0, %hi(smoke_burst_update) -/* 35BA10 E004E040 2442E164 */ addiu $v0, $v0, %lo(smoke_burst_update) -/* 35BA14 E004E044 AFA2001C */ sw $v0, 0x1c($sp) -/* 35BA18 E004E048 3C02E005 */ lui $v0, %hi(smoke_burst_render) -/* 35BA1C E004E04C 2442E1D0 */ addiu $v0, $v0, %lo(smoke_burst_render) -/* 35BA20 E004E050 AFA20020 */ sw $v0, 0x20($sp) -/* 35BA24 E004E054 24020027 */ addiu $v0, $zero, 0x27 -/* 35BA28 E004E058 AFBF0038 */ sw $ra, 0x38($sp) -/* 35BA2C E004E05C AFB1002C */ sw $s1, 0x2c($sp) -/* 35BA30 E004E060 AFB00028 */ sw $s0, 0x28($sp) -/* 35BA34 E004E064 AFA00010 */ sw $zero, 0x10($sp) -/* 35BA38 E004E068 AFA00024 */ sw $zero, 0x24($sp) -/* 35BA3C E004E06C 0C080124 */ jal shim_create_effect_instance -/* 35BA40 E004E070 AFA20014 */ sw $v0, 0x14($sp) -/* 35BA44 E004E074 24040028 */ addiu $a0, $zero, 0x28 -/* 35BA48 E004E078 24110001 */ addiu $s1, $zero, 1 -/* 35BA4C E004E07C 0040802D */ daddu $s0, $v0, $zero -/* 35BA50 E004E080 0C08012C */ jal shim_general_heap_malloc -/* 35BA54 E004E084 AE110008 */ sw $s1, 8($s0) -/* 35BA58 E004E088 AE02000C */ sw $v0, 0xc($s0) -/* 35BA5C E004E08C 0040802D */ daddu $s0, $v0, $zero -/* 35BA60 E004E090 16000003 */ bnez $s0, .LE004E0A0 -/* 35BA64 E004E094 0200202D */ daddu $a0, $s0, $zero -.LE004E098: -/* 35BA68 E004E098 08013826 */ j .LE004E098 -/* 35BA6C E004E09C 00000000 */ nop -.LE004E0A0: -/* 35BA70 E004E0A0 00112880 */ sll $a1, $s1, 2 -/* 35BA74 E004E0A4 00B12821 */ addu $a1, $a1, $s1 -/* 35BA78 E004E0A8 0C080130 */ jal shim_mem_clear -/* 35BA7C E004E0AC 000528C0 */ sll $a1, $a1, 3 -/* 35BA80 E004E0B0 AE130014 */ sw $s3, 0x14($s0) -/* 35BA84 E004E0B4 AE000018 */ sw $zero, 0x18($s0) -/* 35BA88 E004E0B8 AE13001C */ sw $s3, 0x1c($s0) -/* 35BA8C E004E0BC AE000020 */ sw $zero, 0x20($s0) -/* 35BA90 E004E0C0 A6120000 */ sh $s2, ($s0) -/* 35BA94 E004E0C4 E6140004 */ swc1 $f20, 4($s0) -/* 35BA98 E004E0C8 E6160008 */ swc1 $f22, 8($s0) -/* 35BA9C E004E0CC E618000C */ swc1 $f24, 0xc($s0) -/* 35BAA0 E004E0D0 C7A00068 */ lwc1 $f0, 0x68($sp) -/* 35BAA4 E004E0D4 12400006 */ beqz $s2, .LE004E0F0 -/* 35BAA8 E004E0D8 E6000010 */ swc1 $f0, 0x10($s0) -/* 35BAAC E004E0DC 24020001 */ addiu $v0, $zero, 1 -/* 35BAB0 E004E0E0 12420008 */ beq $s2, $v0, .LE004E104 -/* 35BAB4 E004E0E4 240200E1 */ addiu $v0, $zero, 0xe1 -/* 35BAB8 E004E0E8 08013847 */ j .LE004E11C -/* 35BABC E004E0EC A2020024 */ sb $v0, 0x24($s0) -.LE004E0F0: -/* 35BAC0 E004E0F0 24020082 */ addiu $v0, $zero, 0x82 -/* 35BAC4 E004E0F4 A2000026 */ sb $zero, 0x26($s0) -/* 35BAC8 E004E0F8 A2000025 */ sb $zero, 0x25($s0) -/* 35BACC E004E0FC 0801384C */ j .LE004E130 -/* 35BAD0 E004E100 A2000024 */ sb $zero, 0x24($s0) -.LE004E104: -/* 35BAD4 E004E104 240200FF */ addiu $v0, $zero, 0xff -/* 35BAD8 E004E108 A2020024 */ sb $v0, 0x24($s0) -/* 35BADC E004E10C 24020082 */ addiu $v0, $zero, 0x82 -/* 35BAE0 E004E110 A2000026 */ sb $zero, 0x26($s0) -/* 35BAE4 E004E114 0801384C */ j .LE004E130 -/* 35BAE8 E004E118 A2000025 */ sb $zero, 0x25($s0) -.LE004E11C: -/* 35BAEC E004E11C 240200D7 */ addiu $v0, $zero, 0xd7 -/* 35BAF0 E004E120 A2020025 */ sb $v0, 0x25($s0) -/* 35BAF4 E004E124 240200FF */ addiu $v0, $zero, 0xff -/* 35BAF8 E004E128 A2020026 */ sb $v0, 0x26($s0) -/* 35BAFC E004E12C 240200B4 */ addiu $v0, $zero, 0xb4 -.LE004E130: -/* 35BB00 E004E130 A2020027 */ sb $v0, 0x27($s0) -/* 35BB04 E004E134 8FBF0038 */ lw $ra, 0x38($sp) -/* 35BB08 E004E138 8FB30034 */ lw $s3, 0x34($sp) -/* 35BB0C E004E13C 8FB20030 */ lw $s2, 0x30($sp) -/* 35BB10 E004E140 8FB1002C */ lw $s1, 0x2c($sp) -/* 35BB14 E004E144 8FB00028 */ lw $s0, 0x28($sp) -/* 35BB18 E004E148 D7B80050 */ ldc1 $f24, 0x50($sp) -/* 35BB1C E004E14C D7B60048 */ ldc1 $f22, 0x48($sp) -/* 35BB20 E004E150 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 35BB24 E004E154 03E00008 */ jr $ra -/* 35BB28 E004E158 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/ver/us/asm/nonmatchings/effects/sweat/sweat_main.s b/ver/us/asm/nonmatchings/effects/sweat/sweat_main.s deleted file mode 100644 index 7496bcf001..0000000000 --- a/ver/us/asm/nonmatchings/effects/sweat/sweat_main.s +++ /dev/null @@ -1,122 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel sweat_main -/* 35BFD0 E0050000 27BDFF58 */ addiu $sp, $sp, -0xa8 -/* 35BFD4 E0050004 F7B80090 */ sdc1 $f24, 0x90($sp) -/* 35BFD8 E0050008 4485C000 */ mtc1 $a1, $f24 -/* 35BFDC E005000C F7BA0098 */ sdc1 $f26, 0x98($sp) -/* 35BFE0 E0050010 4486D000 */ mtc1 $a2, $f26 -/* 35BFE4 E0050014 AFB20078 */ sw $s2, 0x78($sp) -/* 35BFE8 E0050018 0080902D */ daddu $s2, $a0, $zero -/* 35BFEC E005001C F7BC00A0 */ sdc1 $f28, 0xa0($sp) -/* 35BFF0 E0050020 4487E000 */ mtc1 $a3, $f28 -/* 35BFF4 E0050024 27A40018 */ addiu $a0, $sp, 0x18 -/* 35BFF8 E0050028 F7B60088 */ sdc1 $f22, 0x88($sp) -/* 35BFFC E005002C C7B600BC */ lwc1 $f22, 0xbc($sp) -/* 35C000 E0050030 3C02E005 */ lui $v0, %hi(sweat_init) -/* 35C004 E0050034 244201D0 */ addiu $v0, $v0, %lo(sweat_init) -/* 35C008 E0050038 AFA20020 */ sw $v0, 0x20($sp) -/* 35C00C E005003C 3C02E005 */ lui $v0, %hi(sweat_update) -/* 35C010 E0050040 244201D8 */ addiu $v0, $v0, %lo(sweat_update) -/* 35C014 E0050044 AFA20024 */ sw $v0, 0x24($sp) -/* 35C018 E0050048 3C02E005 */ lui $v0, %hi(sweat_render) -/* 35C01C E005004C 244202C4 */ addiu $v0, $v0, %lo(sweat_render) -/* 35C020 E0050050 AFA20028 */ sw $v0, 0x28($sp) -/* 35C024 E0050054 24020028 */ addiu $v0, $zero, 0x28 -/* 35C028 E0050058 AFBF007C */ sw $ra, 0x7c($sp) -/* 35C02C E005005C AFB10074 */ sw $s1, 0x74($sp) -/* 35C030 E0050060 AFB00070 */ sw $s0, 0x70($sp) -/* 35C034 E0050064 F7B40080 */ sdc1 $f20, 0x80($sp) -/* 35C038 E0050068 AFA00018 */ sw $zero, 0x18($sp) -/* 35C03C E005006C AFA0002C */ sw $zero, 0x2c($sp) -/* 35C040 E0050070 0C080124 */ jal shim_create_effect_instance -/* 35C044 E0050074 AFA2001C */ sw $v0, 0x1c($sp) -/* 35C048 E0050078 24040028 */ addiu $a0, $zero, 0x28 -/* 35C04C E005007C 24030001 */ addiu $v1, $zero, 1 -/* 35C050 E0050080 0040802D */ daddu $s0, $v0, $zero -/* 35C054 E0050084 0C08012C */ jal shim_general_heap_malloc -/* 35C058 E0050088 AE030008 */ sw $v1, 8($s0) -/* 35C05C E005008C 0040882D */ daddu $s1, $v0, $zero -/* 35C060 E0050090 16200003 */ bnez $s1, .LE00500A0 -/* 35C064 E0050094 AE02000C */ sw $v0, 0xc($s0) -.LE0050098: -/* 35C068 E0050098 08014026 */ j .LE0050098 -/* 35C06C E005009C 00000000 */ nop -.LE00500A0: -/* 35C070 E00500A0 3C108007 */ lui $s0, %hi(gCurrentCameraID) -/* 35C074 E00500A4 26107410 */ addiu $s0, $s0, %lo(gCurrentCameraID) -/* 35C078 E00500A8 8E030000 */ lw $v1, ($s0) -/* 35C07C E00500AC AE320000 */ sw $s2, ($s1) -/* 35C080 E00500B0 00031080 */ sll $v0, $v1, 2 -/* 35C084 E00500B4 00431021 */ addu $v0, $v0, $v1 -/* 35C088 E00500B8 00021080 */ sll $v0, $v0, 2 -/* 35C08C E00500BC 00431023 */ subu $v0, $v0, $v1 -/* 35C090 E00500C0 000218C0 */ sll $v1, $v0, 3 -/* 35C094 E00500C4 00431021 */ addu $v0, $v0, $v1 -/* 35C098 E00500C8 000210C0 */ sll $v0, $v0, 3 -/* 35C09C E00500CC 3C01800B */ lui $at, %hi(gCameras+0x6C) -/* 35C0A0 E00500D0 00220821 */ addu $at, $at, $v0 -/* 35C0A4 E00500D4 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at) -/* 35C0A8 E00500D8 0C080140 */ jal shim_sin_deg -/* 35C0AC E00500DC 00000000 */ nop -/* 35C0B0 E00500E0 8E030000 */ lw $v1, ($s0) -/* 35C0B4 E00500E4 00031080 */ sll $v0, $v1, 2 -/* 35C0B8 E00500E8 00431021 */ addu $v0, $v0, $v1 -/* 35C0BC E00500EC 00021080 */ sll $v0, $v0, 2 -/* 35C0C0 E00500F0 00431023 */ subu $v0, $v0, $v1 -/* 35C0C4 E00500F4 000218C0 */ sll $v1, $v0, 3 -/* 35C0C8 E00500F8 00431021 */ addu $v0, $v0, $v1 -/* 35C0CC E00500FC 000210C0 */ sll $v0, $v0, 3 -/* 35C0D0 E0050100 3C01800B */ lui $at, %hi(gCameras+0x6C) -/* 35C0D4 E0050104 00220821 */ addu $at, $at, $v0 -/* 35C0D8 E0050108 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at) -/* 35C0DC E005010C 0C080144 */ jal shim_cos_deg -/* 35C0E0 E0050110 46000506 */ mov.s $f20, $f0 -/* 35C0E4 E0050114 27A40030 */ addiu $a0, $sp, 0x30 -/* 35C0E8 E0050118 0000382D */ daddu $a3, $zero, $zero -/* 35C0EC E005011C 4600B107 */ neg.s $f4, $f22 -/* 35C0F0 E0050120 4406A000 */ mfc1 $a2, $f20 -/* 35C0F4 E0050124 44052000 */ mfc1 $a1, $f4 -/* 35C0F8 E0050128 46000007 */ neg.s $f0, $f0 -/* 35C0FC E005012C 0C080104 */ jal shim_guRotateF -/* 35C100 E0050130 E7A00010 */ swc1 $f0, 0x10($sp) -/* 35C104 E0050134 3C014180 */ lui $at, 0x4180 -/* 35C108 E0050138 44810000 */ mtc1 $at, $f0 -/* 35C10C E005013C C7A200B8 */ lwc1 $f2, 0xb8($sp) -/* 35C110 E0050140 46001080 */ add.s $f2, $f2, $f0 -/* 35C114 E0050144 C7A00040 */ lwc1 $f0, 0x40($sp) -/* 35C118 E0050148 46020002 */ mul.s $f0, $f0, $f2 -/* 35C11C E005014C 00000000 */ nop -/* 35C120 E0050150 4600C000 */ add.s $f0, $f24, $f0 -/* 35C124 E0050154 E6200004 */ swc1 $f0, 4($s1) -/* 35C128 E0050158 C7A00044 */ lwc1 $f0, 0x44($sp) -/* 35C12C E005015C 46020002 */ mul.s $f0, $f0, $f2 -/* 35C130 E0050160 00000000 */ nop -/* 35C134 E0050164 4600D000 */ add.s $f0, $f26, $f0 -/* 35C138 E0050168 E6200008 */ swc1 $f0, 8($s1) -/* 35C13C E005016C C7A00048 */ lwc1 $f0, 0x48($sp) -/* 35C140 E0050170 46020002 */ mul.s $f0, $f0, $f2 -/* 35C144 E0050174 00000000 */ nop -/* 35C148 E0050178 4600E000 */ add.s $f0, $f28, $f0 -/* 35C14C E005017C E620000C */ swc1 $f0, 0xc($s1) -/* 35C150 E0050180 C7A00040 */ lwc1 $f0, 0x40($sp) -/* 35C154 E0050184 E6200018 */ swc1 $f0, 0x18($s1) -/* 35C158 E0050188 C7A00044 */ lwc1 $f0, 0x44($sp) -/* 35C15C E005018C E620001C */ swc1 $f0, 0x1c($s1) -/* 35C160 E0050190 C7A00048 */ lwc1 $f0, 0x48($sp) -/* 35C164 E0050194 E6360010 */ swc1 $f22, 0x10($s1) -/* 35C168 E0050198 8FA200C0 */ lw $v0, 0xc0($sp) -/* 35C16C E005019C AE220024 */ sw $v0, 0x24($s1) -/* 35C170 E00501A0 E6200020 */ swc1 $f0, 0x20($s1) -/* 35C174 E00501A4 8FBF007C */ lw $ra, 0x7c($sp) -/* 35C178 E00501A8 8FB20078 */ lw $s2, 0x78($sp) -/* 35C17C E00501AC 8FB10074 */ lw $s1, 0x74($sp) -/* 35C180 E00501B0 8FB00070 */ lw $s0, 0x70($sp) -/* 35C184 E00501B4 D7BC00A0 */ ldc1 $f28, 0xa0($sp) -/* 35C188 E00501B8 D7BA0098 */ ldc1 $f26, 0x98($sp) -/* 35C18C E00501BC D7B80090 */ ldc1 $f24, 0x90($sp) -/* 35C190 E00501C0 D7B60088 */ ldc1 $f22, 0x88($sp) -/* 35C194 E00501C4 D7B40080 */ ldc1 $f20, 0x80($sp) -/* 35C198 E00501C8 03E00008 */ jr $ra -/* 35C19C E00501CC 27BD00A8 */ addiu $sp, $sp, 0xa8