diff --git a/include/effects.h b/include/effects.h index 65219bd532..c913800aa9 100644 --- a/include/effects.h +++ b/include/effects.h @@ -522,6 +522,86 @@ typedef struct Effect134 { /* 0x34 */ f32 unk_34; } Effect134; // size = 0x38 +typedef struct SleepBubbleFXData { + /* 0x00 */ s32 unk_00; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 unk_10; + /* 0x14 */ f32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ s32 timeLeft; + /* 0x20 */ s32 unk_20; + /* 0x24 */ Vec2f points[20]; + /* 0xC4 */ f32 unk_C4; + /* 0xC8 */ f32 unk_C8; +} SleepBubbleFXData; // size = 0xCC + +typedef struct AuraFXData { + /* 0x00 */ s32 unk_00; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 unk_10; + /* 0x14 */ f32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ f32 unk_24; + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ f32 unk_34; + /* 0x38 */ f32 unk_38; + /* 0x3C */ f32 unk_3C; + /* 0x40 */ f32 unk_40; + /* 0x44 */ f32 unk_44; + /* 0x48 */ f32 unk_48; + /* 0x4C */ f32 unk_4C; + /* 0x50 */ f32 unk_50; + /* 0x54 */ f32 unk_54; + /* 0x58 */ f32 unk_58; + /* 0x5C */ f32 unk_5C; + /* 0x60 */ f32 unk_60; + union { + s32 s; + f32 f; + } unk_64; + /* 0x68 */ u8 unk_68; + /* 0x69 */ u8 unk_69; + /* 0x6A */ u8 unk_6A; + /* 0x6B */ u8 unk_6B; + /* 0x6C */ u8 unk_6C; + /* 0x6D */ u8 unk_6D; + /* 0x6E */ u8 unk_6E; +} AuraFXData; // size = 0x70 + +typedef struct BlastFXData { + /* 0x00 */ s16 unk_00; + /* 0x04 */ Vec3f pos; + /* 0x10 */ f32 unk_10; + /* 0x14 */ s32 timeLeft; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ f32 unk_24; + /* 0x28 */ f32 unk_28; +} BlastFXData; // size = 0x2C + +typedef struct FireFlowerFXData { + /* 0x00 */ s32 unk_00; + /* 0x04 */ s32 unk_04; + /* 0x08 */ Vec3f pos; + /* 0x14 */ f32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ f32 unk_24; + /* 0x28 */ s32 unk_28; + /* 0x2C */ f32 unk_2C; + /* 0x30 */ f32 unk_30; + /* 0x34 */ f32 unk_34; + /* 0x38 */ f32 unk_38; + /* 0x3C */ s32 unk_3C; + /* 0x40 */ Vec3i unk_40; +} FireFlowerFXData; // size = 0x4C + // TODO figure out what this actually is // fx_quizmo_stage invokes gEffectTable[78]'s entryPoint function // fx_cold_breath invokes gEffectTable[111]'s entryPoint function diff --git a/include/effects_internal.h b/include/effects_internal.h index cd70e58517..c143b76a5b 100644 --- a/include/effects_internal.h +++ b/include/effects_internal.h @@ -69,7 +69,7 @@ FX_MAIN(shockwave_main); void music_note_main(s32, f32, f32, f32); FX_MAIN(smoke_burst_main); FX_MAIN(sweat_main); -FX_MAIN(sleep_bubble_main); +void sleep_bubble_main(s32, f32, f32, f32, f32, f32, EffectInstance**); FX_MAIN(windy_leaves_main); FX_MAIN(falling_leaves_main); FX_MAIN(stars_spread_main); @@ -86,11 +86,11 @@ FX_MAIN(fire_breath_main); FX_MAIN(shimmer_burst_main); FX_MAIN(energy_shockwave_main); FX_MAIN(shimmer_wave_main); -FX_MAIN(aura_main); +void aura_main(s32, f32, f32, f32, f32, EffectInstance**); FX_MAIN(fx_3C_main); FX_MAIN(fx_3D_main); -FX_MAIN(blast_main); -FX_MAIN(fire_flower_main); +void blast_main(s32, f32, f32, f32, f32, s32); +EffectInstance* fire_flower_main(s32, f32, f32, f32, s32); FX_MAIN(recover_main); FX_MAIN(disable_x_main); FX_MAIN(bombette_breaking_main); diff --git a/src/effects/aura.c b/src/effects/aura.c index 2a4db52c32..526c287b8a 100644 --- a/src/effects/aura.c +++ b/src/effects/aura.c @@ -1,11 +1,156 @@ #include "common.h" #include "effects_internal.h" +extern Gfx D_090023E0[]; +extern Gfx D_09002440[]; +extern Gfx D_090023F8[]; +extern Gfx D_09002458[]; +extern Gfx D_090023B0[]; +extern Gfx D_09002410[]; +extern Gfx D_090023C8[]; +extern Gfx D_09002428[]; +extern Gfx D_09002000[]; +extern Gfx D_090020E8[]; +extern Gfx D_090021D0[]; + +Gfx* D_E0076E90[] = { D_090023E0, D_090023E0, D_09002440, D_09002440 }; +Gfx* D_E0076EA0[] = { D_090023F8, D_090023F8, D_09002458, D_09002458 }; +Gfx* D_E0076EB0[] = { D_090023B0, D_090023B0, D_09002410, D_09002410 }; +Gfx* D_E0076EC0[] = { D_090023C8, D_090023C8, D_09002428, D_09002428 }; +Gfx* D_E0076ED0[] = { D_09002000, D_09002000, D_090020E8, D_090021D0 }; + void aura_appendGfx(void* effect); +void aura_init(EffectInstance* effect); +void aura_update(EffectInstance* effect); +void aura_render(EffectInstance* effect); -INCLUDE_ASM(s32, "effects/aura", aura_main); +void aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance** outEffect) { + EffectBlueprint bp; + EffectBlueprint* bpPtr = &bp; + EffectInstance* effect; + AuraFXData* part; + s32 numParts = 1; + f32 zero; -void aura_init(void) { + bp.init = aura_init; + bp.update = aura_update; + bp.renderWorld = aura_render; + bp.unk_00 = 0; + bp.unk_14 = 0; + bp.effectID = EFFECT_AURA; + + effect = shim_create_effect_instance(bpPtr); + effect->numParts = numParts; + + part = effect->data = shim_general_heap_malloc(numParts * sizeof(*part)); + + ASSERT(effect->data != NULL); + + part->unk_64.s = 0; + zero = part->unk_64.f; + part->unk_40 = zero; + part->unk_34 = zero; + part->unk_58 = zero; + part->unk_4C = zero; + part->unk_2C = 100; + part->unk_00 = arg0; + part->unk_30 = 0; + part->unk_28 = 0; + part->pos.x = arg1; + part->pos.y = arg2; + part->pos.z = arg3; + + switch (arg0) { + case 0: + part->unk_68 = 75; + part->unk_69 = 75; + part->unk_6A = 75; + part->unk_6B = 255; + part->unk_6C = 247; + part->unk_6D = 155; + part->unk_6E = 0; + part->unk_24 = arg4; + part->unk_20 = 0.6 * arg4; + part->unk_1C = 2.0 * arg4; + part->unk_38 = -0.9f; + part->unk_44 = 0.04f; + part->unk_3C = 0.04f; + part->unk_48 = 0.9f; + part->unk_50 = -0.9f; + part->unk_5C = 0.04f; + part->unk_54 = 0.04f; + part->unk_60 = 0.9f; + break; + case 1: + part->unk_68 = 75; + part->unk_69 = 75; + part->unk_6A = 75; + part->unk_6B = 255; + part->unk_6C = 0; + part->unk_6D = 0; + part->unk_6E = 0; + part->unk_1C = arg4; + part->unk_20 = arg4; + part->unk_24 = arg4; + part->unk_38 = zero; + part->unk_50 = zero; + part->unk_44 = 0.04f; + part->unk_3C = 0.04f; + part->unk_48 = 0.9f; + part->unk_5C = 0.04f; + part->unk_54 = 0.04f; + part->unk_60 = 0.9f; + break; + case 2: + part->unk_68 = 25; + part->unk_69 = 121; + part->unk_6A = 142; + part->unk_6B = 34; + part->unk_6D = 255; + part->unk_6C = 0; + part->unk_6E = 81; + part->unk_1C = arg4; + part->unk_20 = arg4; + part->unk_24 = arg4; + part->unk_38 = zero; + part->unk_50 = zero; + part->unk_44 = 0.04f; + part->unk_3C = 0.2f; + part->unk_48 = 1.3f; + part->unk_5C = 0.04f; + part->unk_54 = 0.16f; + part->unk_60 = 1.04f; + break; + default: + part->unk_68 = 179; + part->unk_69 = 169; + part->unk_6A = 85; + part->unk_6B = 34; + part->unk_6D = 255; + part->unk_6C = 0; + part->unk_6E = 63; + part->unk_1C = arg4; + part->unk_20 = arg4; + part->unk_24 = arg4; + part->unk_38 = 0; + part->unk_50 = 0; + part->unk_44 = 0.04f; + part->unk_3C = 0.1f; + part->unk_48 = 1.7f; + part->unk_5C = 0.04f; + part->unk_54 = 0.08f; + part->unk_60 = 1.36f; + break; + } + + part->unk_10 = part->pos.x; + part->unk_14 = part->pos.y; + part->unk_18 = part->pos.z; + + *outEffect = effect; +} + +void aura_init(EffectInstance* effect) { } INCLUDE_ASM(s32, "effects/aura", aura_update); diff --git a/src/effects/blast.c b/src/effects/blast.c index 8d46d442a7..48ae3ec215 100644 --- a/src/effects/blast.c +++ b/src/effects/blast.c @@ -2,13 +2,64 @@ #include "effects_internal.h" void blast_appendGfx(void* effect); +void blast_init(EffectInstance* effect); +void blast_update(EffectInstance* effect); +void blast_render(EffectInstance* effect); -INCLUDE_ASM(s32, "effects/blast", blast_main); +void blast_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) { + EffectBlueprint bp; + EffectBlueprint* bpPtr = &bp; + EffectInstance* effect; + BlastFXData* part; + s32 numParts = 1; + s32 randInt; -void blast_init(void) { + bp.init = blast_init; + bp.update = blast_update; + bp.renderWorld = blast_render; + bp.unk_00 = 0; + bp.unk_14 = 0; + bp.effectID = EFFECT_BLAST; + + effect = shim_create_effect_instance(bpPtr); + effect->numParts = numParts; + + part = effect->data = shim_general_heap_malloc(numParts * sizeof(*part)); + + ASSERT(effect->data != NULL); + + shim_mem_clear(part, numParts * sizeof(*part)); + + part->timeLeft = arg5; + part->unk_18 = 0; + part->unk_1C = arg5; + part->unk_20 = 0; + part->unk_00 = arg0; + part->pos.x = arg1; + part->pos.y = arg2; + part->pos.z = arg3; + part->unk_10 = arg4; + part->unk_24 = 0; + + part->unk_28 = arg0 == 0 ? 0 : 40.0; } -INCLUDE_ASM(s32, "effects/blast", blast_update); +void blast_init(EffectInstance* effect) { +} + +void blast_update(EffectInstance* effect) { + BlastFXData* part = effect->data; + + part->unk_20 = part->unk_18++ * 9.0f / part->unk_1C; + part->timeLeft--; + + if (part->timeLeft < 0) { + shim_remove_effect(effect); + return; + } + + part->unk_24 += part->unk_28; +} void blast_render(EffectInstance* effect) { RenderTask renderTask; diff --git a/src/effects/bombette_breaking.c b/src/effects/bombette_breaking.c index 257f7de560..aadfcf4280 100644 --- a/src/effects/bombette_breaking.c +++ b/src/effects/bombette_breaking.c @@ -1,17 +1,41 @@ #include "common.h" +#include "model.h" #include "effects_internal.h" void bombette_breaking_appendGfx(void* effect); +void bombette_breaking_init(EffectInstance* effect); +void bombette_breaking_update(EffectInstance* effect); +void bombette_breaking_render(EffectInstance* effect); -INCLUDE_ASM(s32, "effects/bombette_breaking", func_E0084000); +extern Gfx D_090018C0[]; +extern Gfx D_09001D00[]; +extern Gfx D_09001CC8[]; +extern Gfx D_09001C80[]; +extern Gfx D_090017D0[]; -INCLUDE_ASM(s32, "effects/bombette_breaking", func_E008403C); +Gfx* D_E0084E10[] = { D_090018C0, D_090018C0, D_090018C0 }; +Gfx* D_E0084E1C[] = { D_09001D00, D_09001CC8, D_09001C80 }; +Gfx* D_E0084E28[] = { D_090017D0, D_090017D0, D_090017D0 }; -INCLUDE_ASM(s32, "effects/bombette_breaking", func_E0084060); +void (*D_E0084E34)(u16, f32*, f32*, f32*, f32*, f32*, f32*) = get_model_center_and_size; +Model* (*D_E0084E38)(s32) = get_model_from_list_index; +s32 (*D_E0084E3C)(s32) = get_model_list_index_from_tree_index; + +void func_E0084000(s32 modelID, f32* centerX, f32* centerY, f32* centerZ, f32* sizeX, f32* sizeY, f32* sizeZ) { + D_E0084E34(modelID, centerX, centerY, centerZ, sizeX, sizeY, sizeZ); +} + +Model* func_E008403C(s32 listIndex) { + return D_E0084E38(listIndex); +} + +s32 func_E0084060(s32 listIndex) { + return D_E0084E3C(listIndex); +} INCLUDE_ASM(s32, "effects/bombette_breaking", bombette_breaking_main); -void bombette_breaking_init(void) { +void bombette_breaking_init(EffectInstance* effect) { } INCLUDE_ASM(s32, "effects/bombette_breaking", bombette_breaking_update); diff --git a/src/effects/fire_flower.c b/src/effects/fire_flower.c index 9d77e8022e..53bba48025 100644 --- a/src/effects/fire_flower.c +++ b/src/effects/fire_flower.c @@ -2,10 +2,72 @@ #include "effects_internal.h" void fire_flower_appendGfx(void* effect); +void fire_flower_init(EffectInstance* effect); +void fire_flower_update(EffectInstance* effect); +void fire_flower_render(EffectInstance* effect); -INCLUDE_ASM(s32, "effects/fire_flower", fire_flower_main); +s32 D_E007EC30[] = { 0x323C4650, 0x5A646964 }; -void fire_flower_init(void) { +EffectInstance* fire_flower_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4) { + EffectBlueprint bp; + EffectBlueprint* bpPtr = &bp; + EffectInstance* effect; + FireFlowerFXData* part; + Vec3i* partData; + s32 numParts = 31; + s32 i; + + bp.unk_00 = 0; + bp.init = fire_flower_init; + bp.update = fire_flower_update; + bp.renderWorld = fire_flower_render; + bp.unk_14 = NULL; + bp.effectID = EFFECT_FIRE_FLOWER; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + part = shim_general_heap_malloc(numParts * sizeof(*part)); + effect->data = part; + + ASSERT(effect->data != NULL); + + part->unk_04 = 0; + part->unk_00 = arg0; + part->pos.x = arg1; + part->pos.y = arg2; + part->pos.z = arg3; + part->unk_40.x = arg4; + part->unk_40.y = 0; + part->unk_34 = 0; + part->unk_38 = 0; + part->unk_28 = 0; + + part->unk_3C = 255; + part->unk_30 = 0.5f; + part->unk_2C = -10.0f; + + part++; + + for (i = 1; i < numParts; i++, part++) { + partData = &part->unk_40; + part->unk_00 = 1; + part->pos.x = 0; + part->pos.y = 0; + part->pos.z = 0; + part->unk_14 = 8.0f; + part->unk_18 = 0; + part->unk_1C = func_E0200000(20) - 8; + part->unk_20 = (func_E0200000(10) - 5) * 0.05; + part->unk_24 = func_E0200000(80) + 5; + part->unk_3C = 255; + partData->z = i - 1; + partData->x = 10; + } + + return effect; +} + +void fire_flower_init(EffectInstance* effect) { } INCLUDE_ASM(s32, "effects/fire_flower", fire_flower_update); diff --git a/src/effects/sleep_bubble.c b/src/effects/sleep_bubble.c index ce0c42bfcf..fc5ba921cc 100644 --- a/src/effects/sleep_bubble.c +++ b/src/effects/sleep_bubble.c @@ -2,13 +2,105 @@ #include "effects_internal.h" void sleep_bubble_appendGfx(void* effect); +void sleep_bubble_init(EffectInstance* effect); +void sleep_bubble_update(EffectInstance* effect); +void sleep_bubble_render(EffectInstance* effect); -INCLUDE_ASM(s32, "effects/sleep_bubble", sleep_bubble_main); +f32 D_E00529E0[] = { 4.4f, 3.2f, 5.4f, 2.7f, 6.0f, 4.9f, 5.2f, 3.1f, 2.4f, 4.5f, 2.6f, 5.7f, 3.8f, 2.9f, 3.1f, 5.2f, 2.3f, 5.4f, 3.5f, 2.6f, 2.4f, 3.1f, 5.2f, 4.9f, 6.0f, 2.7f, 5.4f, 3.2f, 4.4f, 2.6f, 3.5f, 5.4f, 2.3f, 5.2f, 3.1f, 2.9f, 3.8f, 5.7f, 2.6f, 4.5f }; -void sleep_bubble_init(void) { +void sleep_bubble_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, EffectInstance** arg6) { + EffectBlueprint bp; + EffectBlueprint* bpPtr = &bp; + EffectInstance* effect; + SleepBubbleFXData* part; + s32 numParts = 1; + + bp.unk_00 = 0; + bp.init = sleep_bubble_init; + bp.update = sleep_bubble_update; + bp.renderWorld = sleep_bubble_render; + bp.unk_14 = 0; + bp.effectID = EFFECT_SLEEP_BUBBLE; + + effect = shim_create_effect_instance(bpPtr); + effect->numParts = numParts; + part = effect->data = shim_general_heap_malloc(numParts * sizeof(*part)); + + ASSERT(effect->data != NULL); + + part->unk_00 = arg0; + part->pos.x = arg1; + part->pos.y = arg2; + part->pos.z = arg3; + part->unk_10 = arg5; + part->timeLeft = 100; + part->unk_14 = arg4; + part->unk_18 = 0; + part->unk_20 = 0; + + *arg6 = effect; } -INCLUDE_ASM(s32, "effects/sleep_bubble", sleep_bubble_update); +void sleep_bubble_init(EffectInstance* effect) { +} + +// seems extremely fake +void sleep_bubble_update(EffectInstance* effect) { + SleepBubbleFXData* part = effect->data; + f32* xPtr = &part->points->x; + f32* yPtr; + s32 xAngle, yAngle, i, timeLeft, unk_20; + f32 angle, temp1, temp2; + + if (part->timeLeft < 100) { + part->timeLeft--; + } + + part->unk_20++; + if (part->unk_20 > 324000) { + part->unk_20 = 256; + } + + if (part->timeLeft < 0) { + shim_remove_effect(effect); + return; + } + + unk_20 = part->unk_20; + timeLeft = part->timeLeft; + + temp1 = part->unk_18 + (part->unk_14 - part->unk_18) * 0.1f; + part->unk_18 = temp1; + temp2 = temp1 + (temp1 * shim_sin_deg(unk_20 * 3)) * 0.1; + + i = 0; + yPtr = &part->points->y; + xAngle = yAngle = i; + + do { + angle = i * 360.0f / 21.0f + 17.0f; + + *xPtr = temp2 * shim_sin_deg(angle); + *yPtr = -temp2 * shim_cos_deg(angle); + + *xPtr += shim_sin_deg((f32)unk_20 * (shim_sin_deg(xAngle) * 0.1 + 2.0) + (i + 5.0f) * 30.0f) * 1.5; + *yPtr += shim_cos_deg((f32)unk_20 * (shim_cos_deg(yAngle) * 0.1 + 2.0) + (i + 5.0f) * 50.0f) * 1.5; + + xAngle += 53; + yAngle += 36; + + xPtr += 2; + yPtr += 2; + i++; + } while (i < ARRAY_COUNT(part->points)); + + part->unk_C4 = 0.0f; + if (timeLeft < 100) { + part->unk_C8 += 1.0f; + } else { + part->unk_C8 = temp2 * 1.2; + } +} void sleep_bubble_render(EffectInstance* effect) { RenderTask renderTask; diff --git a/ver/us/asm/nonmatchings/effects/aura/aura_main.s b/ver/us/asm/nonmatchings/effects/aura/aura_main.s deleted file mode 100644 index 06cf43d7a6..0000000000 --- a/ver/us/asm/nonmatchings/effects/aura/aura_main.s +++ /dev/null @@ -1,233 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel aura_main -/* 377070 E0076000 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 377074 E0076004 F7B60040 */ sdc1 $f22, 0x40($sp) -/* 377078 E0076008 4485B000 */ mtc1 $a1, $f22 -/* 37707C E007600C F7B80048 */ sdc1 $f24, 0x48($sp) -/* 377080 E0076010 4486C000 */ mtc1 $a2, $f24 -/* 377084 E0076014 AFB00028 */ sw $s0, 0x28($sp) -/* 377088 E0076018 0080802D */ daddu $s0, $a0, $zero -/* 37708C E007601C F7BA0050 */ sdc1 $f26, 0x50($sp) -/* 377090 E0076020 4487D000 */ mtc1 $a3, $f26 -/* 377094 E0076024 27A40010 */ addiu $a0, $sp, 0x10 -/* 377098 E0076028 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 37709C E007602C C7B40068 */ lwc1 $f20, 0x68($sp) -/* 3770A0 E0076030 3C02E007 */ lui $v0, %hi(aura_init) -/* 3770A4 E0076034 24426370 */ addiu $v0, $v0, %lo(aura_init) -/* 3770A8 E0076038 AFA20018 */ sw $v0, 0x18($sp) -/* 3770AC E007603C 3C02E007 */ lui $v0, %hi(aura_update) -/* 3770B0 E0076040 24426378 */ addiu $v0, $v0, %lo(aura_update) -/* 3770B4 E0076044 AFA2001C */ sw $v0, 0x1c($sp) -/* 3770B8 E0076048 3C02E007 */ lui $v0, %hi(aura_render) -/* 3770BC E007604C 24426808 */ addiu $v0, $v0, %lo(aura_render) -/* 3770C0 E0076050 AFA20020 */ sw $v0, 0x20($sp) -/* 3770C4 E0076054 2402003B */ addiu $v0, $zero, 0x3b -/* 3770C8 E0076058 AFBF0030 */ sw $ra, 0x30($sp) -/* 3770CC E007605C AFB1002C */ sw $s1, 0x2c($sp) -/* 3770D0 E0076060 AFA00010 */ sw $zero, 0x10($sp) -/* 3770D4 E0076064 AFA00024 */ sw $zero, 0x24($sp) -/* 3770D8 E0076068 0C080124 */ jal shim_create_effect_instance -/* 3770DC E007606C AFA20014 */ sw $v0, 0x14($sp) -/* 3770E0 E0076070 24040070 */ addiu $a0, $zero, 0x70 -/* 3770E4 E0076074 24030001 */ addiu $v1, $zero, 1 -/* 3770E8 E0076078 0040882D */ daddu $s1, $v0, $zero -/* 3770EC E007607C 0C08012C */ jal shim_general_heap_malloc -/* 3770F0 E0076080 AE230008 */ sw $v1, 8($s1) -/* 3770F4 E0076084 0040182D */ daddu $v1, $v0, $zero -/* 3770F8 E0076088 14600003 */ bnez $v1, .LE0076098 -/* 3770FC E007608C AE22000C */ sw $v0, 0xc($s1) -.LE0076090: -/* 377100 E0076090 0801D824 */ j .LE0076090 -/* 377104 E0076094 00000000 */ nop -.LE0076098: -/* 377108 E0076098 AC600064 */ sw $zero, 0x64($v1) -/* 37710C E007609C C46A0064 */ lwc1 $f10, 0x64($v1) -/* 377110 E00760A0 24020064 */ addiu $v0, $zero, 0x64 -/* 377114 E00760A4 AC62002C */ sw $v0, 0x2c($v1) -/* 377118 E00760A8 24020001 */ addiu $v0, $zero, 1 -/* 37711C E00760AC AC700000 */ sw $s0, ($v1) -/* 377120 E00760B0 AC600030 */ sw $zero, 0x30($v1) -/* 377124 E00760B4 AC600028 */ sw $zero, 0x28($v1) -/* 377128 E00760B8 E4760004 */ swc1 $f22, 4($v1) -/* 37712C E00760BC E4780008 */ swc1 $f24, 8($v1) -/* 377130 E00760C0 E47A000C */ swc1 $f26, 0xc($v1) -/* 377134 E00760C4 E46A0040 */ swc1 $f10, 0x40($v1) -/* 377138 E00760C8 E46A0034 */ swc1 $f10, 0x34($v1) -/* 37713C E00760CC E46A0058 */ swc1 $f10, 0x58($v1) -/* 377140 E00760D0 12020033 */ beq $s0, $v0, .LE00761A0 -/* 377144 E00760D4 E46A004C */ swc1 $f10, 0x4c($v1) -/* 377148 E00760D8 2A020002 */ slti $v0, $s0, 2 -/* 37714C E00760DC 10400005 */ beqz $v0, .LE00760F4 -/* 377150 E00760E0 24020002 */ addiu $v0, $zero, 2 -/* 377154 E00760E4 12000007 */ beqz $s0, .LE0076104 -/* 377158 E00760E8 2402004B */ addiu $v0, $zero, 0x4b -/* 37715C E00760EC 0801D8A4 */ j .LE0076290 -/* 377160 E00760F0 00000000 */ nop -.LE00760F4: -/* 377164 E00760F4 12020045 */ beq $s0, $v0, .LE007620C -/* 377168 E00760F8 24020019 */ addiu $v0, $zero, 0x19 -/* 37716C E00760FC 0801D8A4 */ j .LE0076290 -/* 377170 E0076100 00000000 */ nop -.LE0076104: -/* 377174 E0076104 A0620068 */ sb $v0, 0x68($v1) -/* 377178 E0076108 A0620069 */ sb $v0, 0x69($v1) -/* 37717C E007610C A062006A */ sb $v0, 0x6a($v1) -/* 377180 E0076110 240200FF */ addiu $v0, $zero, 0xff -/* 377184 E0076114 4600A021 */ cvt.d.s $f0, $f20 -/* 377188 E0076118 3C01E007 */ lui $at, %hi(D_E0076EE0) -/* 37718C E007611C D4226EE0 */ ldc1 $f2, %lo(D_E0076EE0)($at) -/* 377190 E0076120 3C01BF66 */ lui $at, 0xbf66 -/* 377194 E0076124 34216666 */ ori $at, $at, 0x6666 -/* 377198 E0076128 44813000 */ mtc1 $at, $f6 -/* 37719C E007612C 3C013D23 */ lui $at, 0x3d23 -/* 3771A0 E0076130 3421D70A */ ori $at, $at, 0xd70a -/* 3771A4 E0076134 44812000 */ mtc1 $at, $f4 -/* 3771A8 E0076138 3C013F66 */ lui $at, 0x3f66 -/* 3771AC E007613C 34216666 */ ori $at, $at, 0x6666 -/* 3771B0 E0076140 44814000 */ mtc1 $at, $f8 -/* 3771B4 E0076144 46220082 */ mul.d $f2, $f0, $f2 -/* 3771B8 E0076148 00000000 */ nop -/* 3771BC E007614C A062006B */ sb $v0, 0x6b($v1) -/* 3771C0 E0076150 240200F7 */ addiu $v0, $zero, 0xf7 -/* 3771C4 E0076154 A062006C */ sb $v0, 0x6c($v1) -/* 3771C8 E0076158 2402009B */ addiu $v0, $zero, 0x9b -/* 3771CC E007615C A062006D */ sb $v0, 0x6d($v1) -/* 3771D0 E0076160 A060006E */ sb $zero, 0x6e($v1) -/* 3771D4 E0076164 E4740024 */ swc1 $f20, 0x24($v1) -/* 3771D8 E0076168 46200000 */ add.d $f0, $f0, $f0 -/* 3771DC E007616C E4660038 */ swc1 $f6, 0x38($v1) -/* 3771E0 E0076170 E4640044 */ swc1 $f4, 0x44($v1) -/* 3771E4 E0076174 E464003C */ swc1 $f4, 0x3c($v1) -/* 3771E8 E0076178 E4680048 */ swc1 $f8, 0x48($v1) -/* 3771EC E007617C E4660050 */ swc1 $f6, 0x50($v1) -/* 3771F0 E0076180 E464005C */ swc1 $f4, 0x5c($v1) -/* 3771F4 E0076184 E4640054 */ swc1 $f4, 0x54($v1) -/* 3771F8 E0076188 E4680060 */ swc1 $f8, 0x60($v1) -/* 3771FC E007618C 46200020 */ cvt.s.d $f0, $f0 -/* 377200 E0076190 E460001C */ swc1 $f0, 0x1c($v1) -/* 377204 E0076194 462010A0 */ cvt.s.d $f2, $f2 -/* 377208 E0076198 0801D8CB */ j .LE007632C -/* 37720C E007619C E4620020 */ swc1 $f2, 0x20($v1) -.LE00761A0: -/* 377210 E00761A0 3C013D23 */ lui $at, 0x3d23 -/* 377214 E00761A4 3421D70A */ ori $at, $at, 0xd70a -/* 377218 E00761A8 44810000 */ mtc1 $at, $f0 -/* 37721C E00761AC 3C013F66 */ lui $at, 0x3f66 -/* 377220 E00761B0 34216666 */ ori $at, $at, 0x6666 -/* 377224 E00761B4 44811000 */ mtc1 $at, $f2 -/* 377228 E00761B8 2402004B */ addiu $v0, $zero, 0x4b -/* 37722C E00761BC A0620068 */ sb $v0, 0x68($v1) -/* 377230 E00761C0 A0620069 */ sb $v0, 0x69($v1) -/* 377234 E00761C4 A062006A */ sb $v0, 0x6a($v1) -/* 377238 E00761C8 240200FF */ addiu $v0, $zero, 0xff -/* 37723C E00761CC A062006B */ sb $v0, 0x6b($v1) -/* 377240 E00761D0 A060006C */ sb $zero, 0x6c($v1) -/* 377244 E00761D4 A060006D */ sb $zero, 0x6d($v1) -/* 377248 E00761D8 A060006E */ sb $zero, 0x6e($v1) -/* 37724C E00761DC E474001C */ swc1 $f20, 0x1c($v1) -/* 377250 E00761E0 E4740020 */ swc1 $f20, 0x20($v1) -/* 377254 E00761E4 E4740024 */ swc1 $f20, 0x24($v1) -/* 377258 E00761E8 E46A0038 */ swc1 $f10, 0x38($v1) -/* 37725C E00761EC E46A0050 */ swc1 $f10, 0x50($v1) -/* 377260 E00761F0 E4600044 */ swc1 $f0, 0x44($v1) -/* 377264 E00761F4 E460003C */ swc1 $f0, 0x3c($v1) -/* 377268 E00761F8 E4620048 */ swc1 $f2, 0x48($v1) -/* 37726C E00761FC E460005C */ swc1 $f0, 0x5c($v1) -/* 377270 E0076200 E4600054 */ swc1 $f0, 0x54($v1) -/* 377274 E0076204 0801D8CB */ j .LE007632C -/* 377278 E0076208 E4620060 */ swc1 $f2, 0x60($v1) -.LE007620C: -/* 37727C E007620C 3C013D23 */ lui $at, 0x3d23 -/* 377280 E0076210 3421D70A */ ori $at, $at, 0xd70a -/* 377284 E0076214 44810000 */ mtc1 $at, $f0 -/* 377288 E0076218 3C013E4C */ lui $at, 0x3e4c -/* 37728C E007621C 3421CCCD */ ori $at, $at, 0xcccd -/* 377290 E0076220 44811000 */ mtc1 $at, $f2 -/* 377294 E0076224 3C013FA6 */ lui $at, 0x3fa6 -/* 377298 E0076228 34216666 */ ori $at, $at, 0x6666 -/* 37729C E007622C 44812000 */ mtc1 $at, $f4 -/* 3772A0 E0076230 3C013E23 */ lui $at, 0x3e23 -/* 3772A4 E0076234 3421D70A */ ori $at, $at, 0xd70a -/* 3772A8 E0076238 44813000 */ mtc1 $at, $f6 -/* 3772AC E007623C 3C013F85 */ lui $at, 0x3f85 -/* 3772B0 E0076240 34211EB8 */ ori $at, $at, 0x1eb8 -/* 3772B4 E0076244 44814000 */ mtc1 $at, $f8 -/* 3772B8 E0076248 A0620068 */ sb $v0, 0x68($v1) -/* 3772BC E007624C 24020079 */ addiu $v0, $zero, 0x79 -/* 3772C0 E0076250 A0620069 */ sb $v0, 0x69($v1) -/* 3772C4 E0076254 2402008E */ addiu $v0, $zero, 0x8e -/* 3772C8 E0076258 A062006A */ sb $v0, 0x6a($v1) -/* 3772CC E007625C 24020022 */ addiu $v0, $zero, 0x22 -/* 3772D0 E0076260 A062006B */ sb $v0, 0x6b($v1) -/* 3772D4 E0076264 240200FF */ addiu $v0, $zero, 0xff -/* 3772D8 E0076268 A062006D */ sb $v0, 0x6d($v1) -/* 3772DC E007626C 24020051 */ addiu $v0, $zero, 0x51 -/* 3772E0 E0076270 A060006C */ sb $zero, 0x6c($v1) -/* 3772E4 E0076274 A062006E */ sb $v0, 0x6e($v1) -/* 3772E8 E0076278 E474001C */ swc1 $f20, 0x1c($v1) -/* 3772EC E007627C E4740020 */ swc1 $f20, 0x20($v1) -/* 3772F0 E0076280 E4740024 */ swc1 $f20, 0x24($v1) -/* 3772F4 E0076284 E46A0038 */ swc1 $f10, 0x38($v1) -/* 3772F8 E0076288 0801D8C5 */ j .LE0076314 -/* 3772FC E007628C E46A0050 */ swc1 $f10, 0x50($v1) -.LE0076290: -/* 377300 E0076290 3C013D23 */ lui $at, 0x3d23 -/* 377304 E0076294 3421D70A */ ori $at, $at, 0xd70a -/* 377308 E0076298 44810000 */ mtc1 $at, $f0 -/* 37730C E007629C 3C013DCC */ lui $at, 0x3dcc -/* 377310 E00762A0 3421CCCD */ ori $at, $at, 0xcccd -/* 377314 E00762A4 44811000 */ mtc1 $at, $f2 -/* 377318 E00762A8 3C013FD9 */ lui $at, 0x3fd9 -/* 37731C E00762AC 3421999A */ ori $at, $at, 0x999a -/* 377320 E00762B0 44812000 */ mtc1 $at, $f4 -/* 377324 E00762B4 3C013DA3 */ lui $at, 0x3da3 -/* 377328 E00762B8 3421D70A */ ori $at, $at, 0xd70a -/* 37732C E00762BC 44813000 */ mtc1 $at, $f6 -/* 377330 E00762C0 3C013FAE */ lui $at, 0x3fae -/* 377334 E00762C4 3421147B */ ori $at, $at, 0x147b -/* 377338 E00762C8 44814000 */ mtc1 $at, $f8 -/* 37733C E00762CC 240200B3 */ addiu $v0, $zero, 0xb3 -/* 377340 E00762D0 A0620068 */ sb $v0, 0x68($v1) -/* 377344 E00762D4 240200A9 */ addiu $v0, $zero, 0xa9 -/* 377348 E00762D8 A0620069 */ sb $v0, 0x69($v1) -/* 37734C E00762DC 24020055 */ addiu $v0, $zero, 0x55 -/* 377350 E00762E0 A062006A */ sb $v0, 0x6a($v1) -/* 377354 E00762E4 24020022 */ addiu $v0, $zero, 0x22 -/* 377358 E00762E8 A062006B */ sb $v0, 0x6b($v1) -/* 37735C E00762EC 240200FF */ addiu $v0, $zero, 0xff -/* 377360 E00762F0 A062006D */ sb $v0, 0x6d($v1) -/* 377364 E00762F4 2402003F */ addiu $v0, $zero, 0x3f -/* 377368 E00762F8 A060006C */ sb $zero, 0x6c($v1) -/* 37736C E00762FC A062006E */ sb $v0, 0x6e($v1) -/* 377370 E0076300 E474001C */ swc1 $f20, 0x1c($v1) -/* 377374 E0076304 E4740020 */ swc1 $f20, 0x20($v1) -/* 377378 E0076308 E4740024 */ swc1 $f20, 0x24($v1) -/* 37737C E007630C AC600038 */ sw $zero, 0x38($v1) -/* 377380 E0076310 AC600050 */ sw $zero, 0x50($v1) -.LE0076314: -/* 377384 E0076314 E4600044 */ swc1 $f0, 0x44($v1) -/* 377388 E0076318 E462003C */ swc1 $f2, 0x3c($v1) -/* 37738C E007631C E4640048 */ swc1 $f4, 0x48($v1) -/* 377390 E0076320 E460005C */ swc1 $f0, 0x5c($v1) -/* 377394 E0076324 E4660054 */ swc1 $f6, 0x54($v1) -/* 377398 E0076328 E4680060 */ swc1 $f8, 0x60($v1) -.LE007632C: -/* 37739C E007632C C4600004 */ lwc1 $f0, 4($v1) -/* 3773A0 E0076330 C4620008 */ lwc1 $f2, 8($v1) -/* 3773A4 E0076334 C464000C */ lwc1 $f4, 0xc($v1) -/* 3773A8 E0076338 E4600010 */ swc1 $f0, 0x10($v1) -/* 3773AC E007633C E4620014 */ swc1 $f2, 0x14($v1) -/* 3773B0 E0076340 E4640018 */ swc1 $f4, 0x18($v1) -/* 3773B4 E0076344 8FA2006C */ lw $v0, 0x6c($sp) -/* 3773B8 E0076348 AC510000 */ sw $s1, ($v0) -/* 3773BC E007634C 8FBF0030 */ lw $ra, 0x30($sp) -/* 3773C0 E0076350 8FB1002C */ lw $s1, 0x2c($sp) -/* 3773C4 E0076354 8FB00028 */ lw $s0, 0x28($sp) -/* 3773C8 E0076358 D7BA0050 */ ldc1 $f26, 0x50($sp) -/* 3773CC E007635C D7B80048 */ ldc1 $f24, 0x48($sp) -/* 3773D0 E0076360 D7B60040 */ ldc1 $f22, 0x40($sp) -/* 3773D4 E0076364 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 3773D8 E0076368 03E00008 */ jr $ra -/* 3773DC E007636C 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/ver/us/asm/nonmatchings/effects/aura/aura_update.s b/ver/us/asm/nonmatchings/effects/aura/aura_update.s index 691fa42739..04d41ca6f3 100644 --- a/ver/us/asm/nonmatchings/effects/aura/aura_update.s +++ b/ver/us/asm/nonmatchings/effects/aura/aura_update.s @@ -1,6 +1,22 @@ .set noat # allow manual use of $at .set noreorder # don't insert nops after branches +.section .rodata + +dlabel D_E0076EE8 +.double 0.02 + +dlabel D_E0076EF0 +.double 0.04 + +dlabel D_E0076EF8 +.double 0.02 + +dlabel D_E0076F00 +.double 0.1 + +.section .text + glabel aura_update /* 3773E8 E0076378 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 3773EC E007637C AFBF0010 */ sw $ra, 0x10($sp) diff --git a/ver/us/asm/nonmatchings/effects/blast/blast_main.s b/ver/us/asm/nonmatchings/effects/blast/blast_main.s deleted file mode 100644 index f95f034019..0000000000 --- a/ver/us/asm/nonmatchings/effects/blast/blast_main.s +++ /dev/null @@ -1,82 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel blast_main -/* 37D490 E007C000 27BDFFA8 */ addiu $sp, $sp, -0x58 -/* 37D494 E007C004 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 37D498 E007C008 4485A000 */ mtc1 $a1, $f20 -/* 37D49C E007C00C F7B60048 */ sdc1 $f22, 0x48($sp) -/* 37D4A0 E007C010 4486B000 */ mtc1 $a2, $f22 -/* 37D4A4 E007C014 AFB30034 */ sw $s3, 0x34($sp) -/* 37D4A8 E007C018 0080982D */ daddu $s3, $a0, $zero -/* 37D4AC E007C01C F7B80050 */ sdc1 $f24, 0x50($sp) -/* 37D4B0 E007C020 4487C000 */ mtc1 $a3, $f24 -/* 37D4B4 E007C024 27A40010 */ addiu $a0, $sp, 0x10 -/* 37D4B8 E007C028 AFB20030 */ sw $s2, 0x30($sp) -/* 37D4BC E007C02C 8FB2006C */ lw $s2, 0x6c($sp) -/* 37D4C0 E007C030 3C02E008 */ lui $v0, %hi(blast_init) -/* 37D4C4 E007C034 2442C128 */ addiu $v0, $v0, %lo(blast_init) -/* 37D4C8 E007C038 AFA20018 */ sw $v0, 0x18($sp) -/* 37D4CC E007C03C 3C02E008 */ lui $v0, %hi(blast_update) -/* 37D4D0 E007C040 2442C130 */ addiu $v0, $v0, %lo(blast_update) -/* 37D4D4 E007C044 AFA2001C */ sw $v0, 0x1c($sp) -/* 37D4D8 E007C048 3C02E008 */ lui $v0, %hi(blast_render) -/* 37D4DC E007C04C 2442C1B0 */ addiu $v0, $v0, %lo(blast_render) -/* 37D4E0 E007C050 AFA20020 */ sw $v0, 0x20($sp) -/* 37D4E4 E007C054 2402003E */ addiu $v0, $zero, 0x3e -/* 37D4E8 E007C058 AFBF0038 */ sw $ra, 0x38($sp) -/* 37D4EC E007C05C AFB1002C */ sw $s1, 0x2c($sp) -/* 37D4F0 E007C060 AFB00028 */ sw $s0, 0x28($sp) -/* 37D4F4 E007C064 AFA00010 */ sw $zero, 0x10($sp) -/* 37D4F8 E007C068 AFA00024 */ sw $zero, 0x24($sp) -/* 37D4FC E007C06C 0C080124 */ jal shim_create_effect_instance -/* 37D500 E007C070 AFA20014 */ sw $v0, 0x14($sp) -/* 37D504 E007C074 2404002C */ addiu $a0, $zero, 0x2c -/* 37D508 E007C078 24110001 */ addiu $s1, $zero, 1 -/* 37D50C E007C07C 0040802D */ daddu $s0, $v0, $zero -/* 37D510 E007C080 0C08012C */ jal shim_general_heap_malloc -/* 37D514 E007C084 AE110008 */ sw $s1, 8($s0) -/* 37D518 E007C088 AE02000C */ sw $v0, 0xc($s0) -/* 37D51C E007C08C 0040802D */ daddu $s0, $v0, $zero -/* 37D520 E007C090 16000003 */ bnez $s0, .LE007C0A0 -/* 37D524 E007C094 0200202D */ daddu $a0, $s0, $zero -.LE007C098: -/* 37D528 E007C098 0801F026 */ j .LE007C098 -/* 37D52C E007C09C 00000000 */ nop -.LE007C0A0: -/* 37D530 E007C0A0 00112840 */ sll $a1, $s1, 1 -/* 37D534 E007C0A4 00B12821 */ addu $a1, $a1, $s1 -/* 37D538 E007C0A8 00052880 */ sll $a1, $a1, 2 -/* 37D53C E007C0AC 00B12823 */ subu $a1, $a1, $s1 -/* 37D540 E007C0B0 0C080130 */ jal shim_mem_clear -/* 37D544 E007C0B4 00052880 */ sll $a1, $a1, 2 -/* 37D548 E007C0B8 AE120014 */ sw $s2, 0x14($s0) -/* 37D54C E007C0BC AE000018 */ sw $zero, 0x18($s0) -/* 37D550 E007C0C0 AE12001C */ sw $s2, 0x1c($s0) -/* 37D554 E007C0C4 AE000020 */ sw $zero, 0x20($s0) -/* 37D558 E007C0C8 A6130000 */ sh $s3, ($s0) -/* 37D55C E007C0CC E6140004 */ swc1 $f20, 4($s0) -/* 37D560 E007C0D0 E6160008 */ swc1 $f22, 8($s0) -/* 37D564 E007C0D4 E618000C */ swc1 $f24, 0xc($s0) -/* 37D568 E007C0D8 C7A00068 */ lwc1 $f0, 0x68($sp) -/* 37D56C E007C0DC AE000024 */ sw $zero, 0x24($s0) -/* 37D570 E007C0E0 16600003 */ bnez $s3, .LE007C0F0 -/* 37D574 E007C0E4 E6000010 */ swc1 $f0, 0x10($s0) -/* 37D578 E007C0E8 0801F040 */ j .LE007C100 -/* 37D57C E007C0EC AE000028 */ sw $zero, 0x28($s0) -.LE007C0F0: -/* 37D580 E007C0F0 3C014220 */ lui $at, 0x4220 -/* 37D584 E007C0F4 44810000 */ mtc1 $at, $f0 -/* 37D588 E007C0F8 00000000 */ nop -/* 37D58C E007C0FC E6000028 */ swc1 $f0, 0x28($s0) -.LE007C100: -/* 37D590 E007C100 8FBF0038 */ lw $ra, 0x38($sp) -/* 37D594 E007C104 8FB30034 */ lw $s3, 0x34($sp) -/* 37D598 E007C108 8FB20030 */ lw $s2, 0x30($sp) -/* 37D59C E007C10C 8FB1002C */ lw $s1, 0x2c($sp) -/* 37D5A0 E007C110 8FB00028 */ lw $s0, 0x28($sp) -/* 37D5A4 E007C114 D7B80050 */ ldc1 $f24, 0x50($sp) -/* 37D5A8 E007C118 D7B60048 */ ldc1 $f22, 0x48($sp) -/* 37D5AC E007C11C D7B40040 */ ldc1 $f20, 0x40($sp) -/* 37D5B0 E007C120 03E00008 */ jr $ra -/* 37D5B4 E007C124 27BD0058 */ addiu $sp, $sp, 0x58 diff --git a/ver/us/asm/nonmatchings/effects/blast/blast_update.s b/ver/us/asm/nonmatchings/effects/blast/blast_update.s deleted file mode 100644 index d1e5566c75..0000000000 --- a/ver/us/asm/nonmatchings/effects/blast/blast_update.s +++ /dev/null @@ -1,38 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel blast_update -/* 37D5C0 E007C130 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 37D5C4 E007C134 AFBF0010 */ sw $ra, 0x10($sp) -/* 37D5C8 E007C138 8C85000C */ lw $a1, 0xc($a0) -/* 37D5CC E007C13C 3C014110 */ lui $at, 0x4110 -/* 37D5D0 E007C140 44810000 */ mtc1 $at, $f0 -/* 37D5D4 E007C144 8CA20018 */ lw $v0, 0x18($a1) -/* 37D5D8 E007C148 8CA30014 */ lw $v1, 0x14($a1) -/* 37D5DC E007C14C 44821000 */ mtc1 $v0, $f2 -/* 37D5E0 E007C150 00000000 */ nop -/* 37D5E4 E007C154 468010A0 */ cvt.s.w $f2, $f2 -/* 37D5E8 E007C158 24420001 */ addiu $v0, $v0, 1 -/* 37D5EC E007C15C 46001082 */ mul.s $f2, $f2, $f0 -/* 37D5F0 E007C160 00000000 */ nop -/* 37D5F4 E007C164 2463FFFF */ addiu $v1, $v1, -1 -/* 37D5F8 E007C168 C4A0001C */ lwc1 $f0, 0x1c($a1) -/* 37D5FC E007C16C 46800020 */ cvt.s.w $f0, $f0 -/* 37D600 E007C170 ACA20018 */ sw $v0, 0x18($a1) -/* 37D604 E007C174 ACA30014 */ sw $v1, 0x14($a1) -/* 37D608 E007C178 46001083 */ div.s $f2, $f2, $f0 -/* 37D60C E007C17C 04610005 */ bgez $v1, .LE007C194 -/* 37D610 E007C180 E4A20020 */ swc1 $f2, 0x20($a1) -/* 37D614 E007C184 0C080128 */ jal shim_remove_effect -/* 37D618 E007C188 00000000 */ nop -/* 37D61C E007C18C 0801F069 */ j .LE007C1A4 -/* 37D620 E007C190 00000000 */ nop -.LE007C194: -/* 37D624 E007C194 C4A00024 */ lwc1 $f0, 0x24($a1) -/* 37D628 E007C198 C4A20028 */ lwc1 $f2, 0x28($a1) -/* 37D62C E007C19C 46020000 */ add.s $f0, $f0, $f2 -/* 37D630 E007C1A0 E4A00024 */ swc1 $f0, 0x24($a1) -.LE007C1A4: -/* 37D634 E007C1A4 8FBF0010 */ lw $ra, 0x10($sp) -/* 37D638 E007C1A8 03E00008 */ jr $ra -/* 37D63C E007C1AC 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_main.s b/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_main.s index d59f54987f..8fc9fdaa5e 100644 --- a/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_main.s +++ b/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_main.s @@ -1,6 +1,16 @@ .set noat # allow manual use of $at .set noreorder # don't insert nops after branches +.section .rodata + +dlabel D_E0084E40 +.double 0.05 + +dlabel D_E0084E48 +.double 0.2 + +.section .text + glabel bombette_breaking_main /* 388A54 E0084084 27BDFF48 */ addiu $sp, $sp, -0xb8 /* 388A58 E0084088 AFB5007C */ sw $s5, 0x7c($sp) diff --git a/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_update.s b/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_update.s index ecd6c37fb5..1589a0e43b 100644 --- a/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_update.s +++ b/ver/us/asm/nonmatchings/effects/bombette_breaking/bombette_breaking_update.s @@ -1,6 +1,28 @@ .set noat # allow manual use of $at .set noreorder # don't insert nops after branches +.section .rodata + +dlabel D_E0084E50 +.double 0.1 + +dlabel D_E0084E58 +.double 0.9 + +dlabel D_E0084E60 +.double -0.7 + +dlabel D_E0084E68 +.double 0.95 + +dlabel D_E0084E70 +.double 0.4 + +dlabel D_E0084E78 +.double -0.4 + +.section .text + glabel bombette_breaking_update /* 389030 E0084660 27BDFFD0 */ addiu $sp, $sp, -0x30 /* 389034 E0084664 AFBF0010 */ sw $ra, 0x10($sp) diff --git a/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E0084000.s b/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E0084000.s deleted file mode 100644 index da31fd7357..0000000000 --- a/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E0084000.s +++ /dev/null @@ -1,19 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E0084000 -/* 3889D0 E0084000 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 3889D4 E0084004 8FA20038 */ lw $v0, 0x38($sp) -/* 3889D8 E0084008 8FA3003C */ lw $v1, 0x3c($sp) -/* 3889DC E008400C 8FA80040 */ lw $t0, 0x40($sp) -/* 3889E0 E0084010 AFA20010 */ sw $v0, 0x10($sp) -/* 3889E4 E0084014 3C02E008 */ lui $v0, %hi(D_E0084E34) -/* 3889E8 E0084018 8C424E34 */ lw $v0, %lo(D_E0084E34)($v0) -/* 3889EC E008401C 3084FFFF */ andi $a0, $a0, 0xffff -/* 3889F0 E0084020 AFBF0020 */ sw $ra, 0x20($sp) -/* 3889F4 E0084024 AFA30014 */ sw $v1, 0x14($sp) -/* 3889F8 E0084028 0040F809 */ jalr $v0 -/* 3889FC E008402C AFA80018 */ sw $t0, 0x18($sp) -/* 388A00 E0084030 8FBF0020 */ lw $ra, 0x20($sp) -/* 388A04 E0084034 03E00008 */ jr $ra -/* 388A08 E0084038 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E008403C.s b/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E008403C.s deleted file mode 100644 index 0a5aee4769..0000000000 --- a/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E008403C.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E008403C -/* 388A0C E008403C 3C02E008 */ lui $v0, %hi(D_E0084E38) -/* 388A10 E0084040 8C424E38 */ lw $v0, %lo(D_E0084E38)($v0) -/* 388A14 E0084044 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 388A18 E0084048 AFBF0010 */ sw $ra, 0x10($sp) -/* 388A1C E008404C 0040F809 */ jalr $v0 -/* 388A20 E0084050 00000000 */ nop -/* 388A24 E0084054 8FBF0010 */ lw $ra, 0x10($sp) -/* 388A28 E0084058 03E00008 */ jr $ra -/* 388A2C E008405C 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E0084060.s b/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E0084060.s deleted file mode 100644 index 01728a1ab5..0000000000 --- a/ver/us/asm/nonmatchings/effects/bombette_breaking/func_E0084060.s +++ /dev/null @@ -1,13 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E0084060 -/* 388A30 E0084060 3C02E008 */ lui $v0, %hi(D_E0084E3C) -/* 388A34 E0084064 8C424E3C */ lw $v0, %lo(D_E0084E3C)($v0) -/* 388A38 E0084068 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 388A3C E008406C AFBF0010 */ sw $ra, 0x10($sp) -/* 388A40 E0084070 0040F809 */ jalr $v0 -/* 388A44 E0084074 00000000 */ nop -/* 388A48 E0084078 8FBF0010 */ lw $ra, 0x10($sp) -/* 388A4C E008407C 03E00008 */ jr $ra -/* 388A50 E0084080 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/asm/nonmatchings/effects/fire_flower/fire_flower_main.s b/ver/us/asm/nonmatchings/effects/fire_flower/fire_flower_main.s deleted file mode 100644 index 053022b2d6..0000000000 --- a/ver/us/asm/nonmatchings/effects/fire_flower/fire_flower_main.s +++ /dev/null @@ -1,135 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel fire_flower_main -/* 37F720 E007E000 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 37F724 E007E004 F7B40050 */ sdc1 $f20, 0x50($sp) -/* 37F728 E007E008 4485A000 */ mtc1 $a1, $f20 -/* 37F72C E007E00C AFB00028 */ sw $s0, 0x28($sp) -/* 37F730 E007E010 0080802D */ daddu $s0, $a0, $zero -/* 37F734 E007E014 F7B60058 */ sdc1 $f22, 0x58($sp) -/* 37F738 E007E018 4486B000 */ mtc1 $a2, $f22 -/* 37F73C E007E01C 27A40010 */ addiu $a0, $sp, 0x10 -/* 37F740 E007E020 F7B80060 */ sdc1 $f24, 0x60($sp) -/* 37F744 E007E024 4487C000 */ mtc1 $a3, $f24 -/* 37F748 E007E028 3C02E008 */ lui $v0, %hi(fire_flower_init) -/* 37F74C E007E02C 2442E1FC */ addiu $v0, $v0, %lo(fire_flower_init) -/* 37F750 E007E030 AFA20018 */ sw $v0, 0x18($sp) -/* 37F754 E007E034 3C02E008 */ lui $v0, %hi(fire_flower_update) -/* 37F758 E007E038 2442E204 */ addiu $v0, $v0, %lo(fire_flower_update) -/* 37F75C E007E03C AFA2001C */ sw $v0, 0x1c($sp) -/* 37F760 E007E040 3C02E008 */ lui $v0, %hi(fire_flower_render) -/* 37F764 E007E044 2442E508 */ addiu $v0, $v0, %lo(fire_flower_render) -/* 37F768 E007E048 AFA20020 */ sw $v0, 0x20($sp) -/* 37F76C E007E04C 2402003F */ addiu $v0, $zero, 0x3f -/* 37F770 E007E050 AFBF0048 */ sw $ra, 0x48($sp) -/* 37F774 E007E054 AFB70044 */ sw $s7, 0x44($sp) -/* 37F778 E007E058 AFB60040 */ sw $s6, 0x40($sp) -/* 37F77C E007E05C AFB5003C */ sw $s5, 0x3c($sp) -/* 37F780 E007E060 AFB40038 */ sw $s4, 0x38($sp) -/* 37F784 E007E064 AFB30034 */ sw $s3, 0x34($sp) -/* 37F788 E007E068 AFB20030 */ sw $s2, 0x30($sp) -/* 37F78C E007E06C AFB1002C */ sw $s1, 0x2c($sp) -/* 37F790 E007E070 AFA00010 */ sw $zero, 0x10($sp) -/* 37F794 E007E074 AFA00024 */ sw $zero, 0x24($sp) -/* 37F798 E007E078 0C080124 */ jal shim_create_effect_instance -/* 37F79C E007E07C AFA20014 */ sw $v0, 0x14($sp) -/* 37F7A0 E007E080 24040934 */ addiu $a0, $zero, 0x934 -/* 37F7A4 E007E084 2414001F */ addiu $s4, $zero, 0x1f -/* 37F7A8 E007E088 0040982D */ daddu $s3, $v0, $zero -/* 37F7AC E007E08C 0C08012C */ jal shim_general_heap_malloc -/* 37F7B0 E007E090 AE740008 */ sw $s4, 8($s3) -/* 37F7B4 E007E094 0040882D */ daddu $s1, $v0, $zero -/* 37F7B8 E007E098 16200003 */ bnez $s1, .LE007E0A8 -/* 37F7BC E007E09C AE71000C */ sw $s1, 0xc($s3) -.LE007E0A0: -/* 37F7C0 E007E0A0 0801F828 */ j .LE007E0A0 -/* 37F7C4 E007E0A4 00000000 */ nop -.LE007E0A8: -/* 37F7C8 E007E0A8 AE200004 */ sw $zero, 4($s1) -/* 37F7CC E007E0AC AE300000 */ sw $s0, ($s1) -/* 37F7D0 E007E0B0 E6340008 */ swc1 $f20, 8($s1) -/* 37F7D4 E007E0B4 E636000C */ swc1 $f22, 0xc($s1) -/* 37F7D8 E007E0B8 E6380010 */ swc1 $f24, 0x10($s1) -/* 37F7DC E007E0BC 8FA20078 */ lw $v0, 0x78($sp) -/* 37F7E0 E007E0C0 3C013F00 */ lui $at, 0x3f00 -/* 37F7E4 E007E0C4 44810000 */ mtc1 $at, $f0 -/* 37F7E8 E007E0C8 3C01C120 */ lui $at, 0xc120 -/* 37F7EC E007E0CC 44811000 */ mtc1 $at, $f2 -/* 37F7F0 E007E0D0 24120001 */ addiu $s2, $zero, 1 -/* 37F7F4 E007E0D4 AE200044 */ sw $zero, 0x44($s1) -/* 37F7F8 E007E0D8 AE200034 */ sw $zero, 0x34($s1) -/* 37F7FC E007E0DC AE200038 */ sw $zero, 0x38($s1) -/* 37F800 E007E0E0 AE200028 */ sw $zero, 0x28($s1) -/* 37F804 E007E0E4 AE220040 */ sw $v0, 0x40($s1) -/* 37F808 E007E0E8 240200FF */ addiu $v0, $zero, 0xff -/* 37F80C E007E0EC AE22003C */ sw $v0, 0x3c($s1) -/* 37F810 E007E0F0 E6200030 */ swc1 $f0, 0x30($s1) -/* 37F814 E007E0F4 E622002C */ swc1 $f2, 0x2c($s1) -/* 37F818 E007E0F8 0254102A */ slt $v0, $s2, $s4 -/* 37F81C E007E0FC 10400030 */ beqz $v0, .LE007E1C0 -/* 37F820 E007E100 2631004C */ addiu $s1, $s1, 0x4c -/* 37F824 E007E104 0240B82D */ daddu $s7, $s2, $zero -/* 37F828 E007E108 241600FF */ addiu $s6, $zero, 0xff -/* 37F82C E007E10C 2415000A */ addiu $s5, $zero, 0xa -/* 37F830 E007E110 26300040 */ addiu $s0, $s1, 0x40 -/* 37F834 E007E114 3C014100 */ lui $at, 0x4100 -/* 37F838 E007E118 4481B000 */ mtc1 $at, $f22 -/* 37F83C E007E11C 3C01E008 */ lui $at, %hi(D_E007EC40) -/* 37F840 E007E120 D434EC40 */ ldc1 $f20, %lo(D_E007EC40)($at) -.LE007E124: -/* 37F844 E007E124 24040014 */ addiu $a0, $zero, 0x14 -/* 37F848 E007E128 AE370000 */ sw $s7, ($s1) -/* 37F84C E007E12C AE00FFC8 */ sw $zero, -0x38($s0) -/* 37F850 E007E130 AE00FFCC */ sw $zero, -0x34($s0) -/* 37F854 E007E134 AE00FFD0 */ sw $zero, -0x30($s0) -/* 37F858 E007E138 E616FFD4 */ swc1 $f22, -0x2c($s0) -/* 37F85C E007E13C 0C080000 */ jal func_E0200000 -/* 37F860 E007E140 AE00FFD8 */ sw $zero, -0x28($s0) -/* 37F864 E007E144 2404000A */ addiu $a0, $zero, 0xa -/* 37F868 E007E148 2442FFF8 */ addiu $v0, $v0, -8 -/* 37F86C E007E14C 44820000 */ mtc1 $v0, $f0 -/* 37F870 E007E150 00000000 */ nop -/* 37F874 E007E154 46800020 */ cvt.s.w $f0, $f0 -/* 37F878 E007E158 0C080000 */ jal func_E0200000 -/* 37F87C E007E15C E600FFDC */ swc1 $f0, -0x24($s0) -/* 37F880 E007E160 2442FFFB */ addiu $v0, $v0, -5 -/* 37F884 E007E164 44820000 */ mtc1 $v0, $f0 -/* 37F888 E007E168 00000000 */ nop -/* 37F88C E007E16C 46800021 */ cvt.d.w $f0, $f0 -/* 37F890 E007E170 46340002 */ mul.d $f0, $f0, $f20 -/* 37F894 E007E174 00000000 */ nop -/* 37F898 E007E178 24040050 */ addiu $a0, $zero, 0x50 -/* 37F89C E007E17C 2631004C */ addiu $s1, $s1, 0x4c -/* 37F8A0 E007E180 46200020 */ cvt.s.d $f0, $f0 -/* 37F8A4 E007E184 0C080000 */ jal func_E0200000 -/* 37F8A8 E007E188 E600FFE0 */ swc1 $f0, -0x20($s0) -/* 37F8AC E007E18C 2643FFFF */ addiu $v1, $s2, -1 -/* 37F8B0 E007E190 26520001 */ addiu $s2, $s2, 1 -/* 37F8B4 E007E194 24420005 */ addiu $v0, $v0, 5 -/* 37F8B8 E007E198 44820000 */ mtc1 $v0, $f0 -/* 37F8BC E007E19C 00000000 */ nop -/* 37F8C0 E007E1A0 46800020 */ cvt.s.w $f0, $f0 -/* 37F8C4 E007E1A4 E600FFE4 */ swc1 $f0, -0x1c($s0) -/* 37F8C8 E007E1A8 AE16FFFC */ sw $s6, -4($s0) -/* 37F8CC E007E1AC AE030008 */ sw $v1, 8($s0) -/* 37F8D0 E007E1B0 AE150000 */ sw $s5, ($s0) -/* 37F8D4 E007E1B4 0254102A */ slt $v0, $s2, $s4 -/* 37F8D8 E007E1B8 1440FFDA */ bnez $v0, .LE007E124 -/* 37F8DC E007E1BC 2610004C */ addiu $s0, $s0, 0x4c -.LE007E1C0: -/* 37F8E0 E007E1C0 0260102D */ daddu $v0, $s3, $zero -/* 37F8E4 E007E1C4 8FBF0048 */ lw $ra, 0x48($sp) -/* 37F8E8 E007E1C8 8FB70044 */ lw $s7, 0x44($sp) -/* 37F8EC E007E1CC 8FB60040 */ lw $s6, 0x40($sp) -/* 37F8F0 E007E1D0 8FB5003C */ lw $s5, 0x3c($sp) -/* 37F8F4 E007E1D4 8FB40038 */ lw $s4, 0x38($sp) -/* 37F8F8 E007E1D8 8FB30034 */ lw $s3, 0x34($sp) -/* 37F8FC E007E1DC 8FB20030 */ lw $s2, 0x30($sp) -/* 37F900 E007E1E0 8FB1002C */ lw $s1, 0x2c($sp) -/* 37F904 E007E1E4 8FB00028 */ lw $s0, 0x28($sp) -/* 37F908 E007E1E8 D7B80060 */ ldc1 $f24, 0x60($sp) -/* 37F90C E007E1EC D7B60058 */ ldc1 $f22, 0x58($sp) -/* 37F910 E007E1F0 D7B40050 */ ldc1 $f20, 0x50($sp) -/* 37F914 E007E1F4 03E00008 */ jr $ra -/* 37F918 E007E1F8 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/ver/us/asm/nonmatchings/effects/fire_flower/fire_flower_update.s b/ver/us/asm/nonmatchings/effects/fire_flower/fire_flower_update.s index e9a2c2baf9..d8130b3616 100644 --- a/ver/us/asm/nonmatchings/effects/fire_flower/fire_flower_update.s +++ b/ver/us/asm/nonmatchings/effects/fire_flower/fire_flower_update.s @@ -1,6 +1,19 @@ .set noat # allow manual use of $at .set noreorder # don't insert nops after branches +.section .rodata + +dlabel jtbl_E007EC48 +.word LE007E270_37F990, LE007E2C0_37F9E0, LE007E314_37FA34, LE007E334_37FA54, LE007E354_37FA74, LE007E3A0_37FAC0, LE007E3C8_37FAE8, 0 + +dlabel D_E007EC68 +.double 0.01 + +dlabel D_E007EC70 +.double 0.9, 0.0 + +.section .text + glabel fire_flower_update /* 37F924 E007E204 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 37F928 E007E208 AFB1001C */ sw $s1, 0x1c($sp) diff --git a/ver/us/asm/nonmatchings/effects/sleep_bubble/sleep_bubble_main.s b/ver/us/asm/nonmatchings/effects/sleep_bubble/sleep_bubble_main.s deleted file mode 100644 index c6e2346d0d..0000000000 --- a/ver/us/asm/nonmatchings/effects/sleep_bubble/sleep_bubble_main.s +++ /dev/null @@ -1,64 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel sleep_bubble_main -/* 35CA80 E0052000 27BDFFB0 */ addiu $sp, $sp, -0x50 -/* 35CA84 E0052004 F7B40038 */ sdc1 $f20, 0x38($sp) -/* 35CA88 E0052008 4485A000 */ mtc1 $a1, $f20 -/* 35CA8C E005200C AFB1002C */ sw $s1, 0x2c($sp) -/* 35CA90 E0052010 0080882D */ daddu $s1, $a0, $zero -/* 35CA94 E0052014 F7B60040 */ sdc1 $f22, 0x40($sp) -/* 35CA98 E0052018 4486B000 */ mtc1 $a2, $f22 -/* 35CA9C E005201C 27A40010 */ addiu $a0, $sp, 0x10 -/* 35CAA0 E0052020 F7B80048 */ sdc1 $f24, 0x48($sp) -/* 35CAA4 E0052024 4487C000 */ mtc1 $a3, $f24 -/* 35CAA8 E0052028 3C02E005 */ lui $v0, %hi(sleep_bubble_init) -/* 35CAAC E005202C 244220E8 */ addiu $v0, $v0, %lo(sleep_bubble_init) -/* 35CAB0 E0052030 AFA20018 */ sw $v0, 0x18($sp) -/* 35CAB4 E0052034 3C02E005 */ lui $v0, %hi(sleep_bubble_update) -/* 35CAB8 E0052038 244220F0 */ addiu $v0, $v0, %lo(sleep_bubble_update) -/* 35CABC E005203C AFA2001C */ sw $v0, 0x1c($sp) -/* 35CAC0 E0052040 3C02E005 */ lui $v0, %hi(sleep_bubble_render) -/* 35CAC4 E0052044 2442241C */ addiu $v0, $v0, %lo(sleep_bubble_render) -/* 35CAC8 E0052048 AFA20020 */ sw $v0, 0x20($sp) -/* 35CACC E005204C 24020029 */ addiu $v0, $zero, 0x29 -/* 35CAD0 E0052050 AFBF0030 */ sw $ra, 0x30($sp) -/* 35CAD4 E0052054 AFB00028 */ sw $s0, 0x28($sp) -/* 35CAD8 E0052058 AFA00010 */ sw $zero, 0x10($sp) -/* 35CADC E005205C AFA00024 */ sw $zero, 0x24($sp) -/* 35CAE0 E0052060 0C080124 */ jal shim_create_effect_instance -/* 35CAE4 E0052064 AFA20014 */ sw $v0, 0x14($sp) -/* 35CAE8 E0052068 240400CC */ addiu $a0, $zero, 0xcc -/* 35CAEC E005206C 24030001 */ addiu $v1, $zero, 1 -/* 35CAF0 E0052070 0040802D */ daddu $s0, $v0, $zero -/* 35CAF4 E0052074 0C08012C */ jal shim_general_heap_malloc -/* 35CAF8 E0052078 AE030008 */ sw $v1, 8($s0) -/* 35CAFC E005207C 0040182D */ daddu $v1, $v0, $zero -/* 35CB00 E0052080 14600003 */ bnez $v1, .LE0052090 -/* 35CB04 E0052084 AE02000C */ sw $v0, 0xc($s0) -.LE0052088: -/* 35CB08 E0052088 08014822 */ j .LE0052088 -/* 35CB0C E005208C 00000000 */ nop -.LE0052090: -/* 35CB10 E0052090 AC710000 */ sw $s1, ($v1) -/* 35CB14 E0052094 E4740004 */ swc1 $f20, 4($v1) -/* 35CB18 E0052098 E4760008 */ swc1 $f22, 8($v1) -/* 35CB1C E005209C E478000C */ swc1 $f24, 0xc($v1) -/* 35CB20 E00520A0 C7A00064 */ lwc1 $f0, 0x64($sp) -/* 35CB24 E00520A4 24020064 */ addiu $v0, $zero, 0x64 -/* 35CB28 E00520A8 AC62001C */ sw $v0, 0x1c($v1) -/* 35CB2C E00520AC E4600010 */ swc1 $f0, 0x10($v1) -/* 35CB30 E00520B0 C7A00060 */ lwc1 $f0, 0x60($sp) -/* 35CB34 E00520B4 AC600018 */ sw $zero, 0x18($v1) -/* 35CB38 E00520B8 AC600020 */ sw $zero, 0x20($v1) -/* 35CB3C E00520BC E4600014 */ swc1 $f0, 0x14($v1) -/* 35CB40 E00520C0 8FA20068 */ lw $v0, 0x68($sp) -/* 35CB44 E00520C4 AC500000 */ sw $s0, ($v0) -/* 35CB48 E00520C8 8FBF0030 */ lw $ra, 0x30($sp) -/* 35CB4C E00520CC 8FB1002C */ lw $s1, 0x2c($sp) -/* 35CB50 E00520D0 8FB00028 */ lw $s0, 0x28($sp) -/* 35CB54 E00520D4 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 35CB58 E00520D8 D7B60040 */ ldc1 $f22, 0x40($sp) -/* 35CB5C E00520DC D7B40038 */ ldc1 $f20, 0x38($sp) -/* 35CB60 E00520E0 03E00008 */ jr $ra -/* 35CB64 E00520E4 27BD0050 */ addiu $sp, $sp, 0x50 diff --git a/ver/us/asm/nonmatchings/effects/sleep_bubble/sleep_bubble_update.s b/ver/us/asm/nonmatchings/effects/sleep_bubble/sleep_bubble_update.s deleted file mode 100644 index 2621f5e1ba..0000000000 --- a/ver/us/asm/nonmatchings/effects/sleep_bubble/sleep_bubble_update.s +++ /dev/null @@ -1,214 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel sleep_bubble_update -/* 35CB70 E00520F0 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 35CB74 E00520F4 AFBF0030 */ sw $ra, 0x30($sp) -/* 35CB78 E00520F8 AFB7002C */ sw $s7, 0x2c($sp) -/* 35CB7C E00520FC AFB60028 */ sw $s6, 0x28($sp) -/* 35CB80 E0052100 AFB50024 */ sw $s5, 0x24($sp) -/* 35CB84 E0052104 AFB40020 */ sw $s4, 0x20($sp) -/* 35CB88 E0052108 AFB3001C */ sw $s3, 0x1c($sp) -/* 35CB8C E005210C AFB20018 */ sw $s2, 0x18($sp) -/* 35CB90 E0052110 AFB10014 */ sw $s1, 0x14($sp) -/* 35CB94 E0052114 AFB00010 */ sw $s0, 0x10($sp) -/* 35CB98 E0052118 F7BE0060 */ sdc1 $f30, 0x60($sp) -/* 35CB9C E005211C F7BC0058 */ sdc1 $f28, 0x58($sp) -/* 35CBA0 E0052120 F7BA0050 */ sdc1 $f26, 0x50($sp) -/* 35CBA4 E0052124 F7B80048 */ sdc1 $f24, 0x48($sp) -/* 35CBA8 E0052128 F7B60040 */ sdc1 $f22, 0x40($sp) -/* 35CBAC E005212C F7B40038 */ sdc1 $f20, 0x38($sp) -/* 35CBB0 E0052130 8C90000C */ lw $s0, 0xc($a0) -/* 35CBB4 E0052134 8E03001C */ lw $v1, 0x1c($s0) -/* 35CBB8 E0052138 28620064 */ slti $v0, $v1, 0x64 -/* 35CBBC E005213C 10400003 */ beqz $v0, .LE005214C -/* 35CBC0 E0052140 26130024 */ addiu $s3, $s0, 0x24 -/* 35CBC4 E0052144 2462FFFF */ addiu $v0, $v1, -1 -/* 35CBC8 E0052148 AE02001C */ sw $v0, 0x1c($s0) -.LE005214C: -/* 35CBCC E005214C 3C030004 */ lui $v1, 4 -/* 35CBD0 E0052150 8E020020 */ lw $v0, 0x20($s0) -/* 35CBD4 E0052154 3463F1A0 */ ori $v1, $v1, 0xf1a0 -/* 35CBD8 E0052158 24420001 */ addiu $v0, $v0, 1 -/* 35CBDC E005215C 0062182A */ slt $v1, $v1, $v0 -/* 35CBE0 E0052160 10600003 */ beqz $v1, .LE0052170 -/* 35CBE4 E0052164 AE020020 */ sw $v0, 0x20($s0) -/* 35CBE8 E0052168 24020100 */ addiu $v0, $zero, 0x100 -/* 35CBEC E005216C AE020020 */ sw $v0, 0x20($s0) -.LE0052170: -/* 35CBF0 E0052170 8E03001C */ lw $v1, 0x1c($s0) -/* 35CBF4 E0052174 04610005 */ bgez $v1, .LE005218C -/* 35CBF8 E0052178 0060B82D */ daddu $s7, $v1, $zero -/* 35CBFC E005217C 0C080128 */ jal shim_remove_effect -/* 35CC00 E0052180 00000000 */ nop -/* 35CC04 E0052184 080148F6 */ j .LE00523D8 -/* 35CC08 E0052188 00000000 */ nop -.LE005218C: -/* 35CC0C E005218C C6020014 */ lwc1 $f2, 0x14($s0) -/* 35CC10 E0052190 C6140018 */ lwc1 $f20, 0x18($s0) -/* 35CC14 E0052194 46141081 */ sub.s $f2, $f2, $f20 -/* 35CC18 E0052198 3C013DCC */ lui $at, 0x3dcc -/* 35CC1C E005219C 3421CCCD */ ori $at, $at, 0xcccd -/* 35CC20 E00521A0 44810000 */ mtc1 $at, $f0 -/* 35CC24 E00521A4 00000000 */ nop -/* 35CC28 E00521A8 46001082 */ mul.s $f2, $f2, $f0 -/* 35CC2C E00521AC 00000000 */ nop -/* 35CC30 E00521B0 8E160020 */ lw $s6, 0x20($s0) -/* 35CC34 E00521B4 00161040 */ sll $v0, $s6, 1 -/* 35CC38 E00521B8 4602A500 */ add.s $f20, $f20, $f2 -/* 35CC3C E00521BC 00561021 */ addu $v0, $v0, $s6 -/* 35CC40 E00521C0 44826000 */ mtc1 $v0, $f12 -/* 35CC44 E00521C4 00000000 */ nop -/* 35CC48 E00521C8 46806320 */ cvt.s.w $f12, $f12 -/* 35CC4C E00521CC 0C080140 */ jal shim_sin_deg -/* 35CC50 E00521D0 E6140018 */ swc1 $f20, 0x18($s0) -/* 35CC54 E00521D4 4600A002 */ mul.s $f0, $f20, $f0 -/* 35CC58 E00521D8 00000000 */ nop -/* 35CC5C E00521DC 3C01E005 */ lui $at, %hi(D_E0052A80) -/* 35CC60 E00521E0 D4222A80 */ ldc1 $f2, %lo(D_E0052A80)($at) -/* 35CC64 E00521E4 46000021 */ cvt.d.s $f0, $f0 -/* 35CC68 E00521E8 46220002 */ mul.d $f0, $f0, $f2 -/* 35CC6C E00521EC 00000000 */ nop -/* 35CC70 E00521F0 0000902D */ daddu $s2, $zero, $zero -/* 35CC74 E00521F4 26110028 */ addiu $s1, $s0, 0x28 -/* 35CC78 E00521F8 0240A82D */ daddu $s5, $s2, $zero -/* 35CC7C E00521FC 0240A02D */ daddu $s4, $s2, $zero -/* 35CC80 E0052200 4600A521 */ cvt.d.s $f20, $f20 -/* 35CC84 E0052204 3C014000 */ lui $at, 0x4000 -/* 35CC88 E0052208 4481F800 */ mtc1 $at, $f31 -/* 35CC8C E005220C 4480F000 */ mtc1 $zero, $f30 -/* 35CC90 E0052210 4620A500 */ add.d $f20, $f20, $f0 -/* 35CC94 E0052214 3C013FF8 */ lui $at, 0x3ff8 -/* 35CC98 E0052218 4481E800 */ mtc1 $at, $f29 -/* 35CC9C E005221C 4480E000 */ mtc1 $zero, $f28 -/* 35CCA0 E0052220 46201686 */ mov.d $f26, $f2 -/* 35CCA4 E0052224 4620A620 */ cvt.s.d $f24, $f20 -.LE0052228: -/* 35CCA8 E0052228 3C0143B4 */ lui $at, 0x43b4 -/* 35CCAC E005222C 4481A000 */ mtc1 $at, $f20 -/* 35CCB0 E0052230 4492B000 */ mtc1 $s2, $f22 -/* 35CCB4 E0052234 00000000 */ nop -/* 35CCB8 E0052238 4680B5A0 */ cvt.s.w $f22, $f22 -/* 35CCBC E005223C 4614B502 */ mul.s $f20, $f22, $f20 -/* 35CCC0 E0052240 00000000 */ nop -/* 35CCC4 E0052244 3C0141A8 */ lui $at, 0x41a8 -/* 35CCC8 E0052248 44810000 */ mtc1 $at, $f0 -/* 35CCCC E005224C 3C014188 */ lui $at, 0x4188 -/* 35CCD0 E0052250 44811000 */ mtc1 $at, $f2 -/* 35CCD4 E0052254 4600A503 */ div.s $f20, $f20, $f0 -/* 35CCD8 E0052258 4602A500 */ add.s $f20, $f20, $f2 -/* 35CCDC E005225C 0C080140 */ jal shim_sin_deg -/* 35CCE0 E0052260 4600A306 */ mov.s $f12, $f20 -/* 35CCE4 E0052264 4600C002 */ mul.s $f0, $f24, $f0 -/* 35CCE8 E0052268 00000000 */ nop -/* 35CCEC E005226C 4600A306 */ mov.s $f12, $f20 -/* 35CCF0 E0052270 0C080144 */ jal shim_cos_deg -/* 35CCF4 E0052274 E6600000 */ swc1 $f0, ($s3) -/* 35CCF8 E0052278 4600C087 */ neg.s $f2, $f24 -/* 35CCFC E005227C 46001082 */ mul.s $f2, $f2, $f0 -/* 35CD00 E0052280 00000000 */ nop -/* 35CD04 E0052284 44946000 */ mtc1 $s4, $f12 -/* 35CD08 E0052288 00000000 */ nop -/* 35CD0C E005228C 46806320 */ cvt.s.w $f12, $f12 -/* 35CD10 E0052290 0C080140 */ jal shim_sin_deg -/* 35CD14 E0052294 E6220000 */ swc1 $f2, ($s1) -/* 35CD18 E0052298 46000021 */ cvt.d.s $f0, $f0 -/* 35CD1C E005229C 463A0002 */ mul.d $f0, $f0, $f26 -/* 35CD20 E00522A0 00000000 */ nop -/* 35CD24 E00522A4 463E0000 */ add.d $f0, $f0, $f30 -/* 35CD28 E00522A8 4496A000 */ mtc1 $s6, $f20 -/* 35CD2C E00522AC 00000000 */ nop -/* 35CD30 E00522B0 4680A520 */ cvt.s.w $f20, $f20 -/* 35CD34 E00522B4 4600A521 */ cvt.d.s $f20, $f20 -/* 35CD38 E00522B8 4620A002 */ mul.d $f0, $f20, $f0 -/* 35CD3C E00522BC 00000000 */ nop -/* 35CD40 E00522C0 3C0140A0 */ lui $at, 0x40a0 -/* 35CD44 E00522C4 44811000 */ mtc1 $at, $f2 -/* 35CD48 E00522C8 00000000 */ nop -/* 35CD4C E00522CC 4602B580 */ add.s $f22, $f22, $f2 -/* 35CD50 E00522D0 3C0141F0 */ lui $at, 0x41f0 -/* 35CD54 E00522D4 44811000 */ mtc1 $at, $f2 -/* 35CD58 E00522D8 00000000 */ nop -/* 35CD5C E00522DC 4602B082 */ mul.s $f2, $f22, $f2 -/* 35CD60 E00522E0 00000000 */ nop -/* 35CD64 E00522E4 460010A1 */ cvt.d.s $f2, $f2 -/* 35CD68 E00522E8 46220000 */ add.d $f0, $f0, $f2 -/* 35CD6C E00522EC 0C080140 */ jal shim_sin_deg -/* 35CD70 E00522F0 46200320 */ cvt.s.d $f12, $f0 -/* 35CD74 E00522F4 46000021 */ cvt.d.s $f0, $f0 -/* 35CD78 E00522F8 463C0002 */ mul.d $f0, $f0, $f28 -/* 35CD7C E00522FC 00000000 */ nop -/* 35CD80 E0052300 C6620000 */ lwc1 $f2, ($s3) -/* 35CD84 E0052304 460010A1 */ cvt.d.s $f2, $f2 -/* 35CD88 E0052308 46201080 */ add.d $f2, $f2, $f0 -/* 35CD8C E005230C 44956000 */ mtc1 $s5, $f12 -/* 35CD90 E0052310 00000000 */ nop -/* 35CD94 E0052314 46806320 */ cvt.s.w $f12, $f12 -/* 35CD98 E0052318 462010A0 */ cvt.s.d $f2, $f2 -/* 35CD9C E005231C 0C080144 */ jal shim_cos_deg -/* 35CDA0 E0052320 E6620000 */ swc1 $f2, ($s3) -/* 35CDA4 E0052324 46000021 */ cvt.d.s $f0, $f0 -/* 35CDA8 E0052328 463A0002 */ mul.d $f0, $f0, $f26 -/* 35CDAC E005232C 00000000 */ nop -/* 35CDB0 E0052330 463E0000 */ add.d $f0, $f0, $f30 -/* 35CDB4 E0052334 4620A502 */ mul.d $f20, $f20, $f0 -/* 35CDB8 E0052338 00000000 */ nop -/* 35CDBC E005233C 3C014248 */ lui $at, 0x4248 -/* 35CDC0 E0052340 44810000 */ mtc1 $at, $f0 -/* 35CDC4 E0052344 00000000 */ nop -/* 35CDC8 E0052348 4600B582 */ mul.s $f22, $f22, $f0 -/* 35CDCC E005234C 00000000 */ nop -/* 35CDD0 E0052350 4600B5A1 */ cvt.d.s $f22, $f22 -/* 35CDD4 E0052354 4636A500 */ add.d $f20, $f20, $f22 -/* 35CDD8 E0052358 0C080144 */ jal shim_cos_deg -/* 35CDDC E005235C 4620A320 */ cvt.s.d $f12, $f20 -/* 35CDE0 E0052360 46000021 */ cvt.d.s $f0, $f0 -/* 35CDE4 E0052364 463C0002 */ mul.d $f0, $f0, $f28 -/* 35CDE8 E0052368 00000000 */ nop -/* 35CDEC E005236C 26520001 */ addiu $s2, $s2, 1 -/* 35CDF0 E0052370 26940035 */ addiu $s4, $s4, 0x35 -/* 35CDF4 E0052374 C6220000 */ lwc1 $f2, ($s1) -/* 35CDF8 E0052378 26B50024 */ addiu $s5, $s5, 0x24 -/* 35CDFC E005237C 460010A1 */ cvt.d.s $f2, $f2 -/* 35CE00 E0052380 46201080 */ add.d $f2, $f2, $f0 -/* 35CE04 E0052384 26730008 */ addiu $s3, $s3, 8 -/* 35CE08 E0052388 2A420014 */ slti $v0, $s2, 0x14 -/* 35CE0C E005238C 462010A0 */ cvt.s.d $f2, $f2 -/* 35CE10 E0052390 E6220000 */ swc1 $f2, ($s1) -/* 35CE14 E0052394 1440FFA4 */ bnez $v0, .LE0052228 -/* 35CE18 E0052398 26310008 */ addiu $s1, $s1, 8 -/* 35CE1C E005239C 2AE20064 */ slti $v0, $s7, 0x64 -/* 35CE20 E00523A0 10400006 */ beqz $v0, .LE00523BC -/* 35CE24 E00523A4 AE0000C4 */ sw $zero, 0xc4($s0) -/* 35CE28 E00523A8 C60000C8 */ lwc1 $f0, 0xc8($s0) -/* 35CE2C E00523AC 3C013F80 */ lui $at, 0x3f80 -/* 35CE30 E00523B0 44811000 */ mtc1 $at, $f2 -/* 35CE34 E00523B4 080148F5 */ j .LE00523D4 -/* 35CE38 E00523B8 46020000 */ add.s $f0, $f0, $f2 -.LE00523BC: -/* 35CE3C E00523BC 3C01E005 */ lui $at, %hi(D_E0052A88) -/* 35CE40 E00523C0 D4222A88 */ ldc1 $f2, %lo(D_E0052A88)($at) -/* 35CE44 E00523C4 4600C021 */ cvt.d.s $f0, $f24 -/* 35CE48 E00523C8 46220002 */ mul.d $f0, $f0, $f2 -/* 35CE4C E00523CC 00000000 */ nop -/* 35CE50 E00523D0 46200020 */ cvt.s.d $f0, $f0 -.LE00523D4: -/* 35CE54 E00523D4 E60000C8 */ swc1 $f0, 0xc8($s0) -.LE00523D8: -/* 35CE58 E00523D8 8FBF0030 */ lw $ra, 0x30($sp) -/* 35CE5C E00523DC 8FB7002C */ lw $s7, 0x2c($sp) -/* 35CE60 E00523E0 8FB60028 */ lw $s6, 0x28($sp) -/* 35CE64 E00523E4 8FB50024 */ lw $s5, 0x24($sp) -/* 35CE68 E00523E8 8FB40020 */ lw $s4, 0x20($sp) -/* 35CE6C E00523EC 8FB3001C */ lw $s3, 0x1c($sp) -/* 35CE70 E00523F0 8FB20018 */ lw $s2, 0x18($sp) -/* 35CE74 E00523F4 8FB10014 */ lw $s1, 0x14($sp) -/* 35CE78 E00523F8 8FB00010 */ lw $s0, 0x10($sp) -/* 35CE7C E00523FC D7BE0060 */ ldc1 $f30, 0x60($sp) -/* 35CE80 E0052400 D7BC0058 */ ldc1 $f28, 0x58($sp) -/* 35CE84 E0052404 D7BA0050 */ ldc1 $f26, 0x50($sp) -/* 35CE88 E0052408 D7B80048 */ ldc1 $f24, 0x48($sp) -/* 35CE8C E005240C D7B60040 */ ldc1 $f22, 0x40($sp) -/* 35CE90 E0052410 D7B40038 */ ldc1 $f20, 0x38($sp) -/* 35CE94 E0052414 03E00008 */ jr $ra -/* 35CE98 E0052418 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index fd7c9ccbab..43a98dc3fc 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -2541,7 +2541,7 @@ segments: vram: 0xE0052000 subsegments: - [0x35CA80, c, sleep_bubble] - - [0x35D460, data] + - [0x35D460] - [0x35D510, bin] # sleep_bubble gfx - name: effect_windy_leaves dir: effects @@ -2691,7 +2691,7 @@ segments: vram: 0xE0076000 subsegments: - [0x377070, c, aura] - - [0x377F00, data] + - [0x377F00] - [0x377F80, bin] # aura gfx - name: effect_effect_3C dir: effects @@ -2727,7 +2727,7 @@ segments: vram: 0xE007E000 subsegments: - [0x37F720, c, fire_flower] - - [0x380350, data] + - [0x380350] - [0x3803A0, bin] # fire_flower gfx - name: effect_recover dir: effects @@ -2754,7 +2754,7 @@ segments: vram: 0xE0084000 subsegments: - [0x3889D0, c, bombette_breaking] - - [0x3897E0, data] + - [0x3897E0] - name: effect_firework dir: effects type: code diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 520aac728b..904aa40188 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -196,6 +196,26 @@ D_09003780 = 0x09003780; D_090037C0 = 0x090037C0; D_09003800 = 0x09003800; +// effect_aura +D_090023E0 = 0x090023E0; +D_09002440 = 0x09002440; +D_090023F8 = 0x090023F8; +D_09002458 = 0x09002458; +D_090023B0 = 0x090023B0; +D_09002410 = 0x09002410; +D_090023C8 = 0x090023C8; +D_09002428 = 0x09002428; +D_09002000 = 0x09002000; +D_090020E8 = 0x090020E8; +D_090021D0 = 0x090021D0; + +// effect_bombette_breaking +D_090018C0 = 0x090018C0; +D_09001D00 = 0x09001D00; +D_09001CC8 = 0x09001CC8; +D_09001C80 = 0x09001C80; +D_090017D0 = 0x090017D0; + // Invalid pointers from dead code dead_atan2 = 0x8002AF70; dead_gCurrentCamID = 0x800A158C;