From 9a644e30d61a4acb977c3983a6792f900401ce1b Mon Sep 17 00:00:00 2001 From: mrshigure Date: Sat, 8 Oct 2022 03:07:10 -0700 Subject: [PATCH] Effect gfx data + some light funcs (#809) --- include/effects.h | 113 +++++- include/effects_internal.h | 8 +- src/common/UnkLightningFXFunc.inc.c | 12 +- src/effects.c | 38 +- src/effects/cold_breath.c | 2 +- src/effects/effect_86.c | 33 +- src/effects/gfx/bulb_glow.c | 9 + src/effects/gfx/chomp_drop.c | 8 + src/effects/gfx/cold_breath.c | 17 + src/effects/gfx/confetti.c | 11 + src/effects/gfx/effect_63.c | 23 ++ src/effects/gfx/effect_65.c | 2 + src/effects/gfx/effect_86.c | 29 ++ src/effects/gfx/embers.c | 8 + src/effects/gfx/firework.c | 14 + src/effects/gfx/firework_rocket.c | 5 + src/effects/gfx/gather_energy_pink.c | 13 + src/effects/gfx/light_rays.c | 9 + src/effects/gfx/lightning.c | 41 ++ src/effects/gfx/lightning_bolt.c | 2 + src/effects/gfx/sparkles.c | 21 + src/effects/light_rays.c | 326 ++++++++++++++- src/effects/lightning.c | 251 +++++++++++- src/effects/lightning_bolt.c | 104 ++++- src/world/area_flo/flo_18/CDC6A0.c | 12 +- src/world/area_kkj/kkj_23/B03190.c | 6 +- .../effects/light_rays/func_E006A000.s | 51 --- .../effects/light_rays/func_E006A0BC.s | 86 ---- .../effects/light_rays/func_E006A464.s | 83 ---- .../effects/light_rays/func_E006A85C.s | 64 --- .../effects/light_rays/light_rays_appendGfx.s | 323 --------------- .../effects/light_rays/light_rays_main.s | 172 -------- .../effects/light_rays/light_rays_update.s | 185 --------- .../effects/lightning/lightning_main.s | 179 -------- .../effects/lightning/lightning_update.s | 222 ---------- .../lightning_bolt/lightning_bolt_main.s | 132 ------ .../lightning_bolt/lightning_bolt_update.s | 53 --- ver/us/splat.yaml | 382 +++++++++++++++++- ver/us/undefined_syms.txt | 15 - 39 files changed, 1390 insertions(+), 1674 deletions(-) create mode 100644 src/effects/gfx/bulb_glow.c create mode 100644 src/effects/gfx/chomp_drop.c create mode 100644 src/effects/gfx/cold_breath.c create mode 100644 src/effects/gfx/confetti.c create mode 100644 src/effects/gfx/effect_63.c create mode 100644 src/effects/gfx/effect_65.c create mode 100644 src/effects/gfx/effect_86.c create mode 100644 src/effects/gfx/embers.c create mode 100644 src/effects/gfx/firework.c create mode 100644 src/effects/gfx/firework_rocket.c create mode 100644 src/effects/gfx/gather_energy_pink.c create mode 100644 src/effects/gfx/light_rays.c create mode 100644 src/effects/gfx/lightning.c create mode 100644 src/effects/gfx/lightning_bolt.c create mode 100644 src/effects/gfx/sparkles.c delete mode 100644 ver/us/asm/nonmatchings/effects/light_rays/func_E006A000.s delete mode 100644 ver/us/asm/nonmatchings/effects/light_rays/func_E006A0BC.s delete mode 100644 ver/us/asm/nonmatchings/effects/light_rays/func_E006A464.s delete mode 100644 ver/us/asm/nonmatchings/effects/light_rays/func_E006A85C.s delete mode 100644 ver/us/asm/nonmatchings/effects/light_rays/light_rays_appendGfx.s delete mode 100644 ver/us/asm/nonmatchings/effects/light_rays/light_rays_main.s delete mode 100644 ver/us/asm/nonmatchings/effects/light_rays/light_rays_update.s delete mode 100644 ver/us/asm/nonmatchings/effects/lightning/lightning_main.s delete mode 100644 ver/us/asm/nonmatchings/effects/lightning/lightning_update.s delete mode 100644 ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_main.s delete mode 100644 ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_update.s diff --git a/include/effects.h b/include/effects.h index 5fd343f4fb..4b23130f79 100644 --- a/include/effects.h +++ b/include/effects.h @@ -782,19 +782,64 @@ typedef struct EndingDecalsFXData { } EndingDecalsFXData; // size = 0x2C typedef struct LightRaysFXData { - /* 0x00 */ char todo[0]; -} LightRaysFXData; // size = unknown + /* 0x00 */ s32 unk_00; + /* 0x04 */ char unk_04[0xC]; + /* 0x10 */ f32 unk_10; + /* 0x14 */ f32 unk_14; + /* 0x18 */ f32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ s32 unk_24; + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ char unk_30[4]; + /* 0x34 */ f32 unk_34; + /* 0x38 */ f32 unk_38; + /* 0x3C */ f32 unk_3C; + /* 0x40 */ f32 unk_40; + /* 0x44 */ char unk_44[4]; + /* 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; + /* 0x64 */ f32 unk_64; + /* 0x68 */ f32 unk_68; + /* 0x6C */ f32 unk_6C; + /* 0x70 */ f32 unk_70; + /* 0x74 */ f32 unk_74; + /* 0x78 */ f32 unk_78; + /* 0x7C */ s32 unk_7C; + /* 0x80 */ f32 unk_80; + /* 0x84 */ f32 unk_84; + /* 0x88 */ f32 unk_88; + /* 0x8C */ f32 unk_8C; + /* 0x90 */ s32 unk_90; +} LightRaysFXData; // size = 0x94 typedef struct LightningFXData { - /* 0x00 */ char unk_00[0x30]; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ s32 unk_38; - /* 0x3C */ char unk_3C[0x4]; + /* 0x00 */ s32 unk_00; + /* 0x04 */ f32 unk_04; + /* 0x08 */ f32 unk_08; + /* 0x0C */ f32 unk_0C; + /* 0x10 */ s32 unk_10; + /* 0x14 */ s32 unk_14; + /* 0x18 */ s32 unk_18; + /* 0x1C */ f32 unk_1C; + /* 0x20 */ f32 unk_20; + /* 0x24 */ f32 unk_24; + /* 0x28 */ f32 unk_28; + /* 0x2C */ f32 unk_2C; + /* 0x30 */ f32 unk_30; + /* 0x34 */ f32 unk_34; + /* 0x38 */ f32 unk_38; + /* 0x3C */ s32 unk_3C; /* 0x40 */ s32 unk_40; - /* 0x44 */ s32 unk_44; - /* 0x48 */ s32 unk_48; -} LightningFXData; // size = ? + /* 0x44 */ struct EffectInstance* unk_44; + /* 0x48 */ struct EffectInstance* unk_48; +} LightningFXData; // size = 0x4C typedef struct FireBreathFXData { /* 0x00 */ s32 type; @@ -1281,7 +1326,15 @@ typedef struct StatChangeFXData { typedef struct SnakingStaticFXData { /* 0x00 */ char unk_00[4]; /* 0x04 */ Vec3f pos; - /* 0x10 */ char unk_10[0x28]; + /* 0x10 */ char unk_10[8]; + /* 0x18 */ s32 unk_18; + /* 0x1C */ s32 unk_1C; + /* 0x20 */ s32 unk_20; + /* 0x24 */ char unk_24[4]; + /* 0x28 */ s32 unk_28; + /* 0x2C */ s32 unk_2C; + /* 0x30 */ s32 unk_30; + /* 0x34 */ char unk_34[4]; /* 0x38 */ f32 unk_38; } SnakingStaticFXData; // size = unknown @@ -1322,17 +1375,33 @@ typedef struct UnderwaterFXData { } UnderwaterFXData; // size = unknown typedef struct LightningBoltFXData { - /* 0x00 */ char unk_00[0xC]; - /* 0x0C */ f32 unk_0C; - /* 0x10 */ char unk_10[0x20]; - /* 0x30 */ s32 unk_30; - /* 0x34 */ s32 unk_34; - /* 0x38 */ s32 unk_38; - /* 0x3C */ char unk_3C[0x4]; - /* 0x40 */ s32 unk_40; - /* 0x44 */ s32 unk_44; - /* 0x48 */ s32 unk_48; -} LightningBoltFXData; // size = ? + /* 0x000 */ s32 unk_00; + /* 0x004 */ f32 unk_04; + /* 0x008 */ f32 unk_08; + /* 0x00C */ f32 unk_0C; + /* 0x010 */ f32 unk_10; + /* 0x014 */ f32 unk_14; + /* 0x018 */ f32 unk_18; + /* 0x01C */ f32 unk_1C; + /* 0x020 */ f32 unk_20; + /* 0x024 */ f32 unk_24; + /* 0x028 */ s32 unk_28; + /* 0x02C */ s32 unk_2C; + /* 0x030 */ s32 unk_30; + /* 0x034 */ s32 unk_34; + /* 0x038 */ s32 unk_38; + /* 0x03C */ s32 unk_3C; + /* 0x040 */ s32 unk_40; + /* 0x044 */ s32 unk_44; + /* 0x048 */ s32 unk_48; + /* 0x04C */ f32 unk_4C; + /* 0x050 */ f32 unk_50[0xC]; + /* 0x080 */ f32 unk_80[0xC]; + /* 0x0B0 */ f32 unk_B0[0xC]; + /* 0x0E0 */ f32 unk_E0[0xC]; + /* 0x110 */ s32 unk_110; + /* 0x114 */ f32 unk_114; +} LightningBoltFXData; // size = 0x118 typedef struct WaterSplashFXData { /* 0x00 */ char todo[0]; diff --git a/include/effects_internal.h b/include/effects_internal.h index fd65bbe6a1..298c92823c 100644 --- a/include/effects_internal.h +++ b/include/effects_internal.h @@ -84,8 +84,8 @@ EffectInstance* debuff_main(s32, f32, f32, f32); EffectInstance* green_impact_main(s32, f32, f32, f32, f32); FX_MAIN(radial_shimmer_main); void ending_decals_main(s32, f32, f32, f32, f32, EffectInstance**); -FX_MAIN(light_rays_main); -FX_MAIN(lightning_main); +void light_rays_main(s32, f32, f32, f32, f32, EffectInstance**); +EffectInstance* lightning_main(s32, f32, f32, f32, f32, f32); EffectInstance* fire_breath_main(s32, f32, f32, f32, f32, f32, f32, s32, s32, s32); FX_MAIN(shimmer_burst_main); void energy_shockwave_main(s32, f32, f32, f32, f32, s32); @@ -118,14 +118,14 @@ FX_MAIN(merlin_house_stars_main); FX_MAIN(quizmo_audience_main); EffectInstance* butterflies_main(s32, f32, f32, f32); EffectInstance* stat_change_main(s32, f32, f32, f32, f32, s32); -FX_MAIN(snaking_static_main); +EffectInstance* snaking_static_main(s32, f32, f32, f32, f32, s32); FX_MAIN(thunderbolt_ring_main); FX_MAIN(squirt_main); FX_MAIN(water_block_main); FX_MAIN(waterfall_main); FX_MAIN(water_fountain_main); FX_MAIN(underwater_main); -FX_MAIN(lightning_bolt_main); +EffectInstance* lightning_bolt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32); FX_MAIN(water_splash_main); FX_MAIN(snowman_doll_main); EffectInstance* fright_jar_main(s32, f32, f32, f32, f32, s32); diff --git a/src/common/UnkLightningFXFunc.inc.c b/src/common/UnkLightningFXFunc.inc.c index f4f63b9518..a2f7131236 100644 --- a/src/common/UnkLightningFXFunc.inc.c +++ b/src/common/UnkLightningFXFunc.inc.c @@ -4,12 +4,12 @@ ApiStatus N(UnkLightningFXFunc)(Evt* script, s32 isInitialCall) { EffectInstance* effect = (EffectInstance*)script->varTable[15]; - effect->data.lightning->unk_30 = 85; - effect->data.lightning->unk_34 = 42; - effect->data.lightning->unk_38 = 255; - effect->data.lightning->unk_40 = 255; - effect->data.lightning->unk_44 = 175; - effect->data.lightning->unk_48 = 239; + effect->data.any[12] = 85; + effect->data.any[13] = 42; + effect->data.any[14] = 255; + effect->data.any[16] = 255; + effect->data.any[17] = 175; + effect->data.any[18] = 239; return ApiStatus_DONE2; } diff --git a/src/effects.c b/src/effects.c index efcda0a3dc..2897914d3d 100644 --- a/src/effects.c +++ b/src/effects.c @@ -44,9 +44,9 @@ EffectTableEntry gEffectTable[] = { /* 0x0E */ FX_ENTRY(snowflake, effect_gfx_snowflake), /* 0x0F */ FX_ENTRY(star, _3326A0), /* 0x10 */ FX_ENTRY(emote, effect_gfx_emote), - /* 0x11 */ FX_ENTRY(sparkles, _337FC0), + /* 0x11 */ FX_ENTRY(sparkles, effect_gfx_sparkles), /* 0x12 */ FX_ENTRY(shape_spell, _339F60), - /* 0x13 */ FX_ENTRY(gather_energy_pink, _33BBD0), + /* 0x13 */ FX_ENTRY(gather_energy_pink, effect_gfx_gather_energy_pink), /* 0x14 */ FX_ENTRY(drop_leaves, effect_gfx_drop_leaves), /* 0x15 */ FX_ENTRY(dust, effect_gfx_dust), /* 0x16 */ FX_ENTRY(shattering_stones, _340880), @@ -61,7 +61,7 @@ EffectTableEntry gEffectTable[] = { /* 0x1F */ FX_ENTRY(purple_ring, _352CE0), /* 0x20 */ FX_ENTRY(flame, _353BB0), /* 0x21 */ FX_ENTRY(stars_burst, effect_gfx_damage_stars), - /* 0x22 */ FX_ENTRY(stars_shimmer, _337FC0), + /* 0x22 */ FX_ENTRY(stars_shimmer, effect_gfx_sparkles), /* 0x23 */ FX_ENTRY(rising_bubble, _356530), /* 0x24 */ FX_ENTRY(ring_blast, _3573A0), /* 0x25 */ FX_ENTRY(shockwave, _3593B0), @@ -80,22 +80,22 @@ EffectTableEntry gEffectTable[] = { /* 0x32 */ FX_ENTRY(green_impact, effect_gfx_green_impact), /* 0x33 */ FX_ENTRY(radial_shimmer, _366D60), /* 0x34 */ FX_ENTRY(ending_decals, effect_gfx_ending_decals), - /* 0x35 */ FX_ENTRY(light_rays, _36DF90), - /* 0x36 */ FX_ENTRY(lightning, _36ED60), + /* 0x35 */ FX_ENTRY(light_rays, effect_gfx_light_rays), + /* 0x36 */ FX_ENTRY(lightning, effect_gfx_lightning), /* 0x37 */ FX_ENTRY(fire_breath, effect_gfx_fire_breath), - /* 0x38 */ FX_ENTRY(shimmer_burst, _337FC0), + /* 0x38 */ FX_ENTRY(shimmer_burst, effect_gfx_sparkles), /* 0x39 */ FX_ENTRY(energy_shockwave, effect_gfx_energy_shockwave), - /* 0x3A */ FX_ENTRY(shimmer_wave, _337FC0), + /* 0x3A */ FX_ENTRY(shimmer_wave, effect_gfx_sparkles), /* 0x3B */ FX_ENTRY(aura, effect_gfx_aura), - /* 0x3C */ FX_ENTRY(bulb_glow, _37ADD0), + /* 0x3C */ FX_ENTRY(bulb_glow, effect_gfx_bulb_glow), /* 0x3D */ FX_ENTRY_NUMBERED(3D, effect_gfx_effect_3D), /* 0x3E */ FX_ENTRY(blast, _37D9D0), /* 0x3F */ FX_ENTRY(fire_flower, effect_gfx_fire_flower), /* 0x40 */ FX_ENTRY(recover, effect_gfx_recover), /* 0x41 */ FX_ENTRY(disable_x, effect_gfx_disable_x), /* 0x42 */ FX_ENTRY(bombette_breaking, _37D9D0), - /* 0x43 */ FX_ENTRY(firework, _38A350), - /* 0x44 */ FX_ENTRY(confetti, _38BBA0), + /* 0x43 */ FX_ENTRY(firework, effect_gfx_firework), + /* 0x44 */ FX_ENTRY(confetti, effect_gfx_confetti), /* 0x45 */ FX_ENTRY(snowfall, _38D070), /* 0x46 */ FX_ENTRY_NUMBERED(46, effect_gfx_effect_46), /* 0x47 */ FX_ENTRY(gather_magic, effect_gfx_gather_magic), @@ -104,7 +104,7 @@ EffectTableEntry gEffectTable[] = { /* 0x4A */ FX_ENTRY(flashing_box_shockwave, effect_gfx_flashing_box_shockwave), /* 0x4B */ FX_ENTRY(balloon, effect_gfx_balloon), /* 0x4C */ FX_ENTRY(floating_rock, _3960F0), - /* 0x4D */ FX_ENTRY(chomp_drop, _397040), + /* 0x4D */ FX_ENTRY(chomp_drop, effect_gfx_chomp_drop), /* 0x4E */ FX_ENTRY(quizmo_stage, _398BC0), /* 0x4F */ FX_ENTRY(radiating_energy_orb, _3A0D60), /* 0x50 */ FX_ENTRY(quizmo_answer, _3A2440), @@ -121,14 +121,14 @@ EffectTableEntry gEffectTable[] = { /* 0x5B */ FX_ENTRY(waterfall, _3B78D0), /* 0x5C */ FX_ENTRY(water_fountain, _3B8860), /* 0x5D */ FX_ENTRY(underwater, _3B9A70), - /* 0x5E */ FX_ENTRY(lightning_bolt, _3BAEA0), + /* 0x5E */ FX_ENTRY(lightning_bolt, effect_gfx_lightning_bolt), /* 0x5F */ FX_ENTRY(water_splash, effect_gfx_water_splash), /* 0x60 */ FX_ENTRY(snowman_doll, _3BD9A0), /* 0x61 */ FX_ENTRY(fright_jar, _3C1BA0), /* 0x62 */ FX_ENTRY(stop_watch, _3CB890), - /* 0x63 */ FX_ENTRY_NUMBERED(63, _3CD6E0), + /* 0x63 */ FX_ENTRY_NUMBERED(63, effect_gfx_effect_63), /* 0x64 */ FX_ENTRY(throw_spiny, effect_gfx_throw_spiny), - /* 0x65 */ FX_ENTRY_NUMBERED(65, _3D11E0), + /* 0x65 */ FX_ENTRY_NUMBERED(65, effect_gfx_effect_65), /* 0x66 */ FX_ENTRY(tubba_heart_attack, _3D2580), /* 0x67 */ FX_ENTRY(whirlwind, _3D3930), /* 0x68 */ FX_ENTRY(red_impact, _3593B0), @@ -138,15 +138,15 @@ EffectTableEntry gEffectTable[] = { /* 0x6C */ FX_ENTRY(tattle_window, _3D7040), /* 0x6D */ FX_ENTRY(shiny_flare, _3D7770), /* 0x6E */ FX_ENTRY(huff_puff_breath, _3D80C0), - /* 0x6F */ FX_ENTRY(cold_breath, _3D9100), - /* 0x70 */ FX_ENTRY(embers, _3DBF40), + /* 0x6F */ FX_ENTRY(cold_breath, effect_gfx_cold_breath), + /* 0x70 */ FX_ENTRY(embers, effect_gfx_embers), /* 0x71 */ FX_ENTRY(hieroglyphs, _3DCD50), /* 0x72 */ FX_ENTRY(misc_particles, _3DEE60), /* 0x73 */ FX_ENTRY(static_status, _3E12D0), /* 0x74 */ FX_ENTRY(moving_cloud, _3E1CD0), /* 0x75 */ FX_ENTRY_NUMBERED(75, effect_gfx_effect_75), /* 0x76 */ {}, - /* 0x77 */ FX_ENTRY(firework_rocket, _3E5350), + /* 0x77 */ FX_ENTRY(firework_rocket, effect_gfx_firework_rocket), /* 0x78 */ FX_ENTRY(peach_star_beam, effect_gfx_peach_star_beam), /* 0x79 */ FX_ENTRY(chapter_change, _3EBE60), /* 0x7A */ FX_ENTRY(ice_shard, _3F8CC0), @@ -159,9 +159,9 @@ EffectTableEntry gEffectTable[] = { /* 0x81 */ FX_ENTRY(ice_pillar, _40A1C0), /* 0x82 */ FX_ENTRY(sun, _40BBA0), /* 0x83 */ FX_ENTRY(star_spirits_energy, _40D290), - /* 0x84 */ FX_ENTRY(pink_sparkles, _337FC0), + /* 0x84 */ FX_ENTRY(pink_sparkles, effect_gfx_sparkles), /* 0x85 */ FX_ENTRY(star_outline, _413FA0), - /* 0x86 */ FX_ENTRY_NUMBERED(86, _415060), + /* 0x86 */ FX_ENTRY_NUMBERED(86, effect_gfx_effect_86), }; s32 D_8007FEB8[] = { diff --git a/src/effects/cold_breath.c b/src/effects/cold_breath.c index 56b6508211..13db2a0e4d 100644 --- a/src/effects/cold_breath.c +++ b/src/effects/cold_breath.c @@ -9,8 +9,8 @@ extern u8 D_E00DE910[]; extern u8 D_E00DE96C[]; void cold_breath_init(EffectInstance* effect); -void cold_breath_render(EffectInstance* effect); void cold_breath_update(EffectInstance* effect); +void cold_breath_render(EffectInstance* effect); void cold_breath_appendGfx(void* effect); EffectInstance* cold_breath_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) { diff --git a/src/effects/effect_86.c b/src/effects/effect_86.c index 2074d28141..abe691a97b 100644 --- a/src/effects/effect_86.c +++ b/src/effects/effect_86.c @@ -1,26 +1,27 @@ #include "common.h" #include "effects_internal.h" -extern Gfx D_09000800[]; -extern Gfx D_09000BA8[]; -extern Gfx D_09000BC8[]; -extern Gfx D_09000BE8[]; -extern Gfx D_09000C08[]; -extern Gfx D_09000C28[]; -extern Gfx D_09000C48[]; -extern Gfx D_09000C68[]; -extern Gfx D_09000C88[]; -extern Gfx D_09000CA8[]; -extern Gfx D_09000CC8[]; -extern Gfx D_09000CE8[]; -extern Gfx D_09000D08[]; +extern Gfx D_09000800_415860[]; +extern Gfx D_09000BA8_415C08[]; +extern Gfx D_09000BC8_415C28[]; +extern Gfx D_09000BE8_415C48[]; +extern Gfx D_09000C08_415C68[]; +extern Gfx D_09000C28_415C88[]; +extern Gfx D_09000C48_415CA8[]; +extern Gfx D_09000C68_415CC8[]; +extern Gfx D_09000C88_415CE8[]; +extern Gfx D_09000CA8_415D08[]; +extern Gfx D_09000CC8_415D28[]; +extern Gfx D_09000CE8_415D48[]; +extern Gfx D_09000D08_415D68[]; Gfx* D_E0128480[12] = { - D_09000BA8, D_09000BC8, D_09000BE8, D_09000C08, D_09000C28, D_09000C48, D_09000C68, D_09000C88, D_09000CA8, - D_09000CC8, D_09000CE8, D_09000D08 + D_09000BA8_415C08, D_09000BC8_415C28, D_09000BE8_415C48, D_09000C08_415C68, + D_09000C28_415C88, D_09000C48_415CA8, D_09000C68_415CC8, D_09000C88_415CE8, + D_09000CA8_415D08, D_09000CC8_415D28, D_09000CE8_415D48, D_09000D08_415D68 }; -Gfx* D_E01284B0[] = { D_09000800 }; +Gfx* D_E01284B0[] = { D_09000800_415860 }; void fx_86_init(EffectInstance* effect); void fx_86_update(EffectInstance* effect); diff --git a/src/effects/gfx/bulb_glow.c b/src/effects/gfx/bulb_glow.c new file mode 100644 index 0000000000..796416d0f9 --- /dev/null +++ b/src/effects/gfx/bulb_glow.c @@ -0,0 +1,9 @@ +#include "effects/gfx/D_09000000_37ADD0.png.inc.c" +#include "effects/gfx/D_09000800_37B5D0.png.inc.c" +#include "effects/gfx/D_09000C00_37B9D0.png.inc.c" + +#include "effects/gfx/D_09001400_37C1D0.gfx.inc.c" +#include "effects/gfx/D_090014B8_37C288.gfx.inc.c" +#include "effects/gfx/D_09001570_37C340.gfx.inc.c" +#include "effects/gfx/D_09001618_37C3E8.gfx.inc.c" +#include "effects/gfx/D_090016C0_37C490.gfx.inc.c" diff --git a/src/effects/gfx/chomp_drop.c b/src/effects/gfx/chomp_drop.c new file mode 100644 index 0000000000..9e5eae7ec1 --- /dev/null +++ b/src/effects/gfx/chomp_drop.c @@ -0,0 +1,8 @@ +#include "effects/gfx/D_09000000_397040.png.inc.c" +#include "effects/gfx/D_09000800_397840.png.inc.c" + +#include "effects/gfx/D_09001000_398040.vtx.inc.c" + +#include "effects/gfx/D_09001040_398080.gfx.inc.c" +#include "effects/gfx/D_090010E8_398128.gfx.inc.c" +#include "effects/gfx/D_09001190_3981D0.gfx.inc.c" diff --git a/src/effects/gfx/cold_breath.c b/src/effects/gfx/cold_breath.c new file mode 100644 index 0000000000..5d0e17457e --- /dev/null +++ b/src/effects/gfx/cold_breath.c @@ -0,0 +1,17 @@ +#include "effects/gfx/D_09000000_3D9100.png.inc.c" +#include "effects/gfx/D_09001000_3DA100.png.inc.c" + +#include "effects/gfx/D_09002000_3DB100.gfx.inc.c" + +#include "effects/gfx/D_090020C0_3DB1C0.vtx.inc.c" +#include "effects/gfx/D_09002100_3DB200.vtx.inc.c" +#include "effects/gfx/D_09002140_3DB240.vtx.inc.c" +#include "effects/gfx/D_09002180_3DB280.vtx.inc.c" +#include "effects/gfx/D_090021C0_3DB2C0.vtx.inc.c" + +#include "effects/gfx/D_09002200_3DB300.gfx.inc.c" +#include "effects/gfx/D_09002220_3DB320.gfx.inc.c" +#include "effects/gfx/D_09002240_3DB340.gfx.inc.c" +#include "effects/gfx/D_09002260_3DB360.gfx.inc.c" +#include "effects/gfx/D_09002280_3DB380.gfx.inc.c" +#include "effects/gfx/D_090022A0_3DB3A0.gfx.inc.c" diff --git a/src/effects/gfx/confetti.c b/src/effects/gfx/confetti.c new file mode 100644 index 0000000000..db85d4c794 --- /dev/null +++ b/src/effects/gfx/confetti.c @@ -0,0 +1,11 @@ +#include "effects/gfx/D_09000000_38BBA0.png.inc.c" + +#include "effects/gfx/D_09000800_38C3A0.vtx.inc.c" +#include "effects/gfx/D_09000840_38C3E0.vtx.inc.c" +#include "effects/gfx/D_09000880_38C420.vtx.inc.c" +#include "effects/gfx/D_090008C0_38C460.vtx.inc.c" +#include "effects/gfx/D_09000900_38C4A0.vtx.inc.c" + +#include "effects/gfx/D_09000940_38C4E0.gfx.inc.c" +#include "effects/gfx/D_090009E8_38C588.gfx.inc.c" +#include "effects/gfx/D_09000A00_38C5A0.gfx.inc.c" diff --git a/src/effects/gfx/effect_63.c b/src/effects/gfx/effect_63.c new file mode 100644 index 0000000000..bf77418576 --- /dev/null +++ b/src/effects/gfx/effect_63.c @@ -0,0 +1,23 @@ +#include "effects/gfx/D_09000000_3CD6E0.png.inc.c" +#include "effects/gfx/D_09000400_3CDAE0.png.inc.c" +#include "effects/gfx/D_09000C00_3CE2E0.png.inc.c" +#include "effects/gfx/D_09001000_3CE6E0.png.inc.c" + +#include "effects/gfx/D_09001800_3CEEE0.vtx.inc.c" +#include "effects/gfx/D_09001840_3CEF20.vtx.inc.c" +#include "effects/gfx/D_09001880_3CEF60.vtx.inc.c" +#include "effects/gfx/D_090018C0_3CEFA0.vtx.inc.c" +#include "effects/gfx/D_09001900_3CEFE0.vtx.inc.c" + +#include "effects/gfx/D_09001960_3CF040.gfx.inc.c" +#include "effects/gfx/D_09001988_3CF068.gfx.inc.c" +#include "effects/gfx/D_090019A8_3CF088.gfx.inc.c" +#include "effects/gfx/D_090019C8_3CF0A8.gfx.inc.c" +#include "effects/gfx/D_090019E8_3CF0C8.gfx.inc.c" +#include "effects/gfx/D_09001A08_3CF0E8.gfx.inc.c" +#include "effects/gfx/D_09001AF0_3CF1D0.gfx.inc.c" +#include "effects/gfx/D_09001B70_3CF250.gfx.inc.c" + +#include "effects/gfx/D_09001C58_3CF338.vtx.inc.c" + +#include "effects/gfx/D_09001C98_3CF378.gfx.inc.c" diff --git a/src/effects/gfx/effect_65.c b/src/effects/gfx/effect_65.c new file mode 100644 index 0000000000..0a92525e27 --- /dev/null +++ b/src/effects/gfx/effect_65.c @@ -0,0 +1,2 @@ +#include "effects/gfx/D_09000000_3D11E0.png.inc.c" +#include "effects/gfx/D_09000400_3D15E0.gfx.inc.c" diff --git a/src/effects/gfx/effect_86.c b/src/effects/gfx/effect_86.c new file mode 100644 index 0000000000..185a945a4d --- /dev/null +++ b/src/effects/gfx/effect_86.c @@ -0,0 +1,29 @@ +#include "effects/gfx/D_09000000_415060.png.inc.c" + +#include "effects/gfx/D_09000800_415860.gfx.inc.c" + +#include "effects/gfx/D_090008A8_415908.vtx.inc.c" +#include "effects/gfx/D_090008E8_415948.vtx.inc.c" +#include "effects/gfx/D_09000928_415988.vtx.inc.c" +#include "effects/gfx/D_09000968_4159C8.vtx.inc.c" +#include "effects/gfx/D_090009A8_415A08.vtx.inc.c" +#include "effects/gfx/D_090009E8_415A48.vtx.inc.c" +#include "effects/gfx/D_09000A28_415A88.vtx.inc.c" +#include "effects/gfx/D_09000A68_415AC8.vtx.inc.c" +#include "effects/gfx/D_09000AA8_415B08.vtx.inc.c" +#include "effects/gfx/D_09000AE8_415B48.vtx.inc.c" +#include "effects/gfx/D_09000B28_415B88.vtx.inc.c" +#include "effects/gfx/D_09000B68_415BC8.vtx.inc.c" + +#include "effects/gfx/D_09000BA8_415C08.gfx.inc.c" +#include "effects/gfx/D_09000BC8_415C28.gfx.inc.c" +#include "effects/gfx/D_09000BE8_415C48.gfx.inc.c" +#include "effects/gfx/D_09000C08_415C68.gfx.inc.c" +#include "effects/gfx/D_09000C28_415C88.gfx.inc.c" +#include "effects/gfx/D_09000C48_415CA8.gfx.inc.c" +#include "effects/gfx/D_09000C68_415CC8.gfx.inc.c" +#include "effects/gfx/D_09000C88_415CE8.gfx.inc.c" +#include "effects/gfx/D_09000CA8_415D08.gfx.inc.c" +#include "effects/gfx/D_09000CC8_415D28.gfx.inc.c" +#include "effects/gfx/D_09000CE8_415D48.gfx.inc.c" +#include "effects/gfx/D_09000D08_415D68.gfx.inc.c" diff --git a/src/effects/gfx/embers.c b/src/effects/gfx/embers.c new file mode 100644 index 0000000000..c2588dd8b4 --- /dev/null +++ b/src/effects/gfx/embers.c @@ -0,0 +1,8 @@ +#include "effects/gfx/D_09000000_3DBF40.png.inc.c" +#include "effects/gfx/D_09000200_3DC140.png.inc.c" + +#include "effects/gfx/D_09000280_3DC1C0.gfx.inc.c" + +#include "effects/gfx/D_09000370_3DC2B0.vtx.inc.c" + +#include "effects/gfx/D_090003B0_3DC2F0.gfx.inc.c" diff --git a/src/effects/gfx/firework.c b/src/effects/gfx/firework.c new file mode 100644 index 0000000000..3595810c61 --- /dev/null +++ b/src/effects/gfx/firework.c @@ -0,0 +1,14 @@ +#include "effects/gfx/D_09000000_38A350.png.inc.c" + +#include "effects/gfx/D_09000800_38AB50.vtx.inc.c" +#include "effects/gfx/D_09000840_38AB90.vtx.inc.c" +#include "effects/gfx/D_09000880_38ABD0.vtx.inc.c" +#include "effects/gfx/D_090008C0_38AC10.vtx.inc.c" +#include "effects/gfx/D_09000900_38AC50.vtx.inc.c" + +#include "effects/gfx/D_09000940_38AC90.gfx.inc.c" +#include "effects/gfx/D_09000A00_38AD50.gfx.inc.c" +#include "effects/gfx/D_09000A20_38AD70.gfx.inc.c" +#include "effects/gfx/D_09000A40_38AD90.gfx.inc.c" +#include "effects/gfx/D_09000A60_38ADB0.gfx.inc.c" +#include "effects/gfx/D_09000A80_38ADD0.gfx.inc.c" diff --git a/src/effects/gfx/firework_rocket.c b/src/effects/gfx/firework_rocket.c new file mode 100644 index 0000000000..d90a0a599e --- /dev/null +++ b/src/effects/gfx/firework_rocket.c @@ -0,0 +1,5 @@ +#include "effects/gfx/D_09000000_3E5350.png.inc.c" +#include "effects/gfx/D_09000080_3E53D0.gfx.inc.c" + +#include "effects/gfx/D_09000128_3E5478.vtx.inc.c" +#include "effects/gfx/D_09000158_3E54A8.gfx.inc.c" diff --git a/src/effects/gfx/gather_energy_pink.c b/src/effects/gfx/gather_energy_pink.c new file mode 100644 index 0000000000..5b861c5ccc --- /dev/null +++ b/src/effects/gfx/gather_energy_pink.c @@ -0,0 +1,13 @@ +#include "effects/gfx/D_09000000_33BBD0.png.inc.c" +#include "effects/gfx/D_09000200_33BDD0.png.inc.c" +#include "effects/gfx/D_09000400_33BFD0.png.inc.c" + +#include "effects/gfx/D_09000C00_33C7D0.vtx.inc.c" + +#include "effects/gfx/D_09000DA0_33C970.gfx.inc.c" +#include "effects/gfx/D_09000E28_33C9F8.gfx.inc.c" + +#include "effects/gfx/D_09000F10_33CAE0.vtx.inc.c" + +#include "effects/gfx/D_090010B0_33CC80.gfx.inc.c" +#include "effects/gfx/D_09001138_33CD08.gfx.inc.c" diff --git a/src/effects/gfx/light_rays.c b/src/effects/gfx/light_rays.c new file mode 100644 index 0000000000..f3d62e966f --- /dev/null +++ b/src/effects/gfx/light_rays.c @@ -0,0 +1,9 @@ +#include "effects/gfx/D_09000000_36DF90.png.inc.c" + +#include "effects/gfx/D_09000080_36E010.vtx.inc.c" +#include "effects/gfx/D_090000B0_36E040.gfx.inc.c" +#include "effects/gfx/D_090000D0_36E060.vtx.inc.c" +#include "effects/gfx/D_09000110_36E0A0.gfx.inc.c" + +#include "effects/gfx/D_09000130_36E0C0.gfx.inc.c" +#include "effects/gfx/D_090001D8_36E168.gfx.inc.c" diff --git a/src/effects/gfx/lightning.c b/src/effects/gfx/lightning.c new file mode 100644 index 0000000000..515b08002c --- /dev/null +++ b/src/effects/gfx/lightning.c @@ -0,0 +1,41 @@ +#include "effects/gfx/D_09000000_36ED60.png.inc.c" + +#include "effects/gfx/D_09001000_36FD60.vtx.inc.c" +#include "effects/gfx/D_090011E0_36FF40.vtx.inc.c" +#include "effects/gfx/D_09001320_370080.vtx.inc.c" +#include "effects/gfx/D_09001520_370280.vtx.inc.c" +#include "effects/gfx/D_09001640_3703A0.vtx.inc.c" +#include "effects/gfx/D_09001840_3705A0.vtx.inc.c" +#include "effects/gfx/D_090018C0_370620.vtx.inc.c" +#include "effects/gfx/D_09001940_3706A0.vtx.inc.c" +#include "effects/gfx/D_090019C0_370720.vtx.inc.c" +#include "effects/gfx/D_09001A40_3707A0.vtx.inc.c" +#include "effects/gfx/D_09001AC0_370820.vtx.inc.c" +#include "effects/gfx/D_09001C40_3709A0.vtx.inc.c" +#include "effects/gfx/D_09001DC0_370B20.vtx.inc.c" +#include "effects/gfx/D_09001F40_370CA0.vtx.inc.c" +#include "effects/gfx/D_090020C0_370E20.vtx.inc.c" +#include "effects/gfx/D_09002240_370FA0.vtx.inc.c" +#include "effects/gfx/D_09002440_3711A0.vtx.inc.c" +#include "effects/gfx/D_090024C0_371220.vtx.inc.c" +#include "effects/gfx/D_090024F0_371250.vtx.inc.c" +#include "effects/gfx/D_09002670_3713D0.vtx.inc.c" +#include "effects/gfx/D_09002700_371460.vtx.inc.c" +#include "effects/gfx/D_09002900_371660.vtx.inc.c" +#include "effects/gfx/D_09002980_3716E0.vtx.inc.c" +#include "effects/gfx/D_090029B0_371710.vtx.inc.c" +#include "effects/gfx/D_09002B30_371890.vtx.inc.c" +#include "effects/gfx/D_09002BC0_371920.vtx.inc.c" +#include "effects/gfx/D_09002DC0_371B20.vtx.inc.c" +#include "effects/gfx/D_09002FC0_371D20.vtx.inc.c" +#include "effects/gfx/D_09003040_371DA0.vtx.inc.c" +#include "effects/gfx/D_09003240_371FA0.vtx.inc.c" + +#include "effects/gfx/D_09003280_371FE0.gfx.inc.c" +#include "effects/gfx/D_090032F8_372058.gfx.inc.c" +#include "effects/gfx/D_09003378_3720D8.gfx.inc.c" +#include "effects/gfx/D_090033E0_372140.gfx.inc.c" +#include "effects/gfx/D_09003580_3722E0.gfx.inc.c" +#include "effects/gfx/D_09003778_3724D8.gfx.inc.c" +#include "effects/gfx/D_09003888_3725E8.gfx.inc.c" +#include "effects/gfx/D_09003948_3726A8.gfx.inc.c" diff --git a/src/effects/gfx/lightning_bolt.c b/src/effects/gfx/lightning_bolt.c new file mode 100644 index 0000000000..dc4b222a6f --- /dev/null +++ b/src/effects/gfx/lightning_bolt.c @@ -0,0 +1,2 @@ +#include "effects/gfx/D_09000000_3BAEA0.png.inc.c" +#include "effects/gfx/D_09001000_3BBEA0.gfx.inc.c" diff --git a/src/effects/gfx/sparkles.c b/src/effects/gfx/sparkles.c new file mode 100644 index 0000000000..ac42f857ea --- /dev/null +++ b/src/effects/gfx/sparkles.c @@ -0,0 +1,21 @@ +#include "effects/gfx/D_09000000_337FC0.png.inc.c" + +#include "effects/gfx/D_09000F20_338EE0.gfx.inc.c" + +#include "effects/gfx/D_09000FC8_338F88.vtx.inc.c" +#include "effects/gfx/D_09001008_338FC8.vtx.inc.c" +#include "effects/gfx/D_09001048_339008.vtx.inc.c" +#include "effects/gfx/D_09001088_339048.vtx.inc.c" +#include "effects/gfx/D_090010C8_339088.vtx.inc.c" +#include "effects/gfx/D_09001108_3390C8.vtx.inc.c" +#include "effects/gfx/D_09001148_339108.vtx.inc.c" +#include "effects/gfx/D_09001188_339148.vtx.inc.c" + +#include "effects/gfx/D_090011C8_339188.gfx.inc.c" +#include "effects/gfx/D_090011E0_3391A0.gfx.inc.c" +#include "effects/gfx/D_090011F8_3391B8.gfx.inc.c" +#include "effects/gfx/D_09001210_3391D0.gfx.inc.c" +#include "effects/gfx/D_09001228_3391E8.gfx.inc.c" +#include "effects/gfx/D_09001240_339200.gfx.inc.c" +#include "effects/gfx/D_09001258_339218.gfx.inc.c" +#include "effects/gfx/D_09001270_339230.gfx.inc.c" diff --git a/src/effects/light_rays.c b/src/effects/light_rays.c index d022935286..12d3ef66a5 100644 --- a/src/effects/light_rays.c +++ b/src/effects/light_rays.c @@ -1,20 +1,231 @@ #include "common.h" #include "effects_internal.h" +extern Gfx* D_E006ADF0[]; +extern Gfx* D_E006AE00[]; +extern s32 D_E006AE10[]; + +void light_rays_init(EffectInstance* effect); +void light_rays_update(EffectInstance* effect); +void light_rays_render(EffectInstance* effect); void light_rays_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/light_rays", func_E006A000); +void func_E006A000(LightRaysFXData* part, s32 arg1) { + s32 temp = arg1 * 3; -INCLUDE_ASM(s32, "effects/light_rays", func_E006A0BC); - -INCLUDE_ASM(s32, "effects/light_rays", light_rays_main); - -void light_rays_init(void) { + part->unk_70 = func_E0200044(180, temp); + part->unk_74 = func_E0200044(180, temp + 1); + part->unk_78 = func_E0200044(180, temp + 2); + part->unk_24 = 0; + part->unk_2C = 0; + part->unk_58 = part->unk_68; + part->unk_28 = part->unk_7C; + part->unk_8C = part->unk_6C; + part->unk_5C = part->unk_70; + part->unk_60 = part->unk_74; + part->unk_64 = part->unk_78; } -INCLUDE_ASM(s32, "effects/light_rays", func_E006A464); +void func_E006A0BC(LightRaysFXData* part, s32 arg1) { + s32 idx = (arg1 - 1) * 5; -INCLUDE_ASM(s32, "effects/light_rays", light_rays_update); + part->unk_58 = 0; + part->unk_28 = arg1 * 2 + 30; + part->unk_5C = D_E006AE10[idx++]; + part->unk_60 = D_E006AE10[idx++]; + part->unk_64 = D_E006AE10[idx++]; + part->unk_24 = 0; + part->unk_2C = 0; + part->unk_34 = part->unk_38 = 0.0f; + part->unk_48 = 0.0f; + part->unk_4C = -0.6f; + part->unk_3C = 10.0f; + part->unk_40 = 0.0f; + part->unk_50 = 0.0f; + part->unk_54 = 0.6f; + part->unk_80 = 0.0f; + part->unk_84 = (f32) D_E006AE10[idx++] * 0.0; + part->unk_88 = (f32) D_E006AE10[idx++] * 0.1; + part->unk_90 = 0; +} + +void light_rays_main( + s32 arg0, + f32 arg1, + f32 arg2, + f32 arg3, + f32 arg4, + EffectInstance** outEffect +) { + EffectBlueprint bp; + EffectBlueprint* bpPtr = &bp; + EffectInstance* effect; + LightRaysFXData* part; + s32 numParts; + s32 temp2; + s32 temp1; + s32 i; + + if (arg0 < 2) { + numParts = 9; + } else { + numParts = 17; + } + + bpPtr->init = light_rays_init; + bpPtr->update = light_rays_update; + bpPtr->renderWorld = light_rays_render; + bpPtr->unk_00 = 0; + bpPtr->unk_14 = NULL; + bpPtr->effectID = EFFECT_LIGHT_RAYS; + + effect = shim_create_effect_instance(bpPtr); + effect->numParts = numParts; + part = effect->data.lightRays = shim_general_heap_malloc(numParts * sizeof(*part)); + ASSERT(effect->data.lightRays != NULL); + + part->unk_00 = arg0; + part->unk_28 = 100; + part->unk_2C = 0; + part->unk_10 = arg1; + part->unk_14 = arg2; + part->unk_18 = arg3; + part->unk_20 = arg4; + part->unk_1C = arg4; + + switch (arg0) { + case 0: + case 1: + part++; + for (i = 1; i < effect->numParts; i++, part++) { + temp1 = (i - 1) * 30 / (numParts - 1); + temp2 = (i - 1) * 20 / (numParts - 1); + + part->unk_68 = temp1 - 10; + part->unk_7C = 50 - temp2; + part->unk_6C = 25.0f / part->unk_7C + 2.5; + + func_E006A000(part, i); + } + break; + default: + part++; + for (i = 1; i < effect->numParts; i++, part++) { + func_E006A0BC(part, i); + } + } + + *outEffect = effect; +} + +void light_rays_init(EffectInstance* effect) { +} + +void func_E006A464(LightRaysFXData* part) { + part->unk_34 += part->unk_48; + if (part->unk_34 > 256.0f) { + part->unk_34 -= 256.0f; + } + if (part->unk_34 < 0.0f) { + part->unk_34 += 256.0f; + } + + part->unk_3C += part->unk_50; + if (part->unk_3C > 256.0f) { + part->unk_3C -= 256.0f; + } + if (part->unk_3C < 0.0f) { + part->unk_3C += 256.0f; + } + + part->unk_38 += part->unk_4C; + if (part->unk_38 > 256.0f) { + part->unk_38 -= 256.0f; + } + if (part->unk_38 < 0.0f) { + part->unk_38 += 256.0f; + } + + part->unk_40 += part->unk_54; + if (part->unk_40 > 256.0f) { + part->unk_40 -= 256.0f; + } + if (part->unk_40 < 0.0f) { + part->unk_40 += 256.0f; + } +} + +void light_rays_update(EffectInstance* effect) { + LightRaysFXData* part = effect->data.lightRays; + s32 unk_00 = part->unk_00; + s32 unk_28; + s32 unk_2C; + s32 i; + + if (part->unk_28 < 11) { + part->unk_28--; + } + + part->unk_2C++; + + if (effect->flags & 0x10) { + effect->flags &= ~0x10; + part->unk_28 = 10; + } + + if (part->unk_28 < 0) { + shim_remove_effect(effect); + return; + } + + unk_28 = part->unk_28; + unk_2C = part->unk_2C; + + switch (unk_00) { + case 0: + case 1: + part++; + for (i = 1; i < effect->numParts; i++, part++) { + part->unk_28--; + part->unk_2C++; + if (part->unk_2C < 10) { + part->unk_24 = part->unk_2C * 12; + } + if (part->unk_28 < 5) { + part->unk_24 = part->unk_28 * 25; + } + part->unk_58 += part->unk_8C; + if (part->unk_28 <= 0) { + func_E006A000(part, unk_2C * 10 + 1); + } + } + break; + default: + part++; + for (i = 1; i < effect->numParts; i++, part++) { + func_E006A464(part); + part->unk_28--; + part->unk_2C++; + if (part->unk_2C < 5) { + part->unk_24 = part->unk_2C * 50; + } + if (part->unk_28 < 5) { + part->unk_24 = part->unk_28 * 50; + } + if (unk_28 < 10) { + part->unk_24 = (part->unk_24 * unk_28) / 10; + } + if (part->unk_28 <= 0) { + func_E006A0BC(part, i); + } + if (part->unk_90 <= 0 || --part->unk_90 <= 0) { + part->unk_5C += part->unk_80; + part->unk_60 += part->unk_84; + part->unk_64 += part->unk_88; + } + } + } +} void light_rays_render(EffectInstance* effect) { RenderTask renderTask; @@ -29,6 +240,101 @@ void light_rays_render(EffectInstance* effect) { retTask->renderMode |= RENDER_TASK_FLAG_2; } -INCLUDE_ASM(s32, "effects/light_rays", func_E006A85C); +void func_E006A85C(LightRaysFXData* part) { + s32 uls = part->unk_34 * 4.0f; + s32 ult = part->unk_38 * 4.0f; + s32 uls2 = part->unk_3C * 4.0f; + s32 ult2 = part->unk_40 * 4.0f; -INCLUDE_ASM(s32, "effects/light_rays", light_rays_appendGfx); + gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, uls, ult, uls + 512, ult + 256); + gDPSetTileSize(gMasterGfxPos++, 1, uls2, ult2, uls2 + 512, ult2 + 256); +} + +void light_rays_appendGfx(void* effect) { + LightRaysFXData* part = ((EffectInstance*)effect)->data.lightRays; + s32 unk_00 = part->unk_00; + Gfx* dlist = D_E006ADF0[unk_00]; + Gfx* dlist2 = D_E006AE00[unk_00]; + Matrix4f sp18; + Matrix4f sp58; + Matrix4f sp98; + s32 i; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + gSPDisplayList(gMasterGfxPos++, dlist2); + + shim_guTranslateF(sp98, part->unk_10, part->unk_14, part->unk_18); + + part++; + for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) { + f32 temp = part->unk_24 / 255.0f; + f32 rotateA; + f32 scaleX; + f32 scaleY; + f32 scaleZ; + f32 unk_64; + + if (unk_00 >= 2) { + func_E006A85C(part); + } + + shim_guRotateF(sp58, part->unk_5C, 1.0f, 0.0f, 0.0f); + shim_guMtxCatF(sp58, sp98, sp18); + + if (unk_00 >= 2) { + unk_64 = part->unk_64; + if (unk_00 == 3) { + rotateA = unk_64 + 45.0f; + } else { + rotateA = unk_64 + 0.0f; + } + + shim_guRotateF(sp58, rotateA, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guRotateF(sp58, part->unk_60, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guTranslateF(sp58, part->unk_58, 0.0f, 0.0f); + shim_guMtxCatF(sp58, sp18, sp18); + + scaleX = scaleZ = (temp + 3.0f) * 0.25; + switch (i & 3) { + case 0: + scaleY = temp * 0.3; + break; + case 1: + scaleY = temp * 0.5; + break; + case 2: + scaleY = temp * 0.9; + break; + case 3: + default: + scaleY = temp; + break; + } + + shim_guScaleF(sp58, scaleX, scaleY, scaleZ); + shim_guMtxCatF(sp58, sp18, sp18); + + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 240, part->unk_24); + } else { + shim_guRotateF(sp58, part->unk_60, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guRotateF(sp58, part->unk_64, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(sp58, sp18, sp18); + shim_guTranslateF(sp58, part->unk_58, 0.0f, 0.0f); + shim_guMtxCatF(sp58, sp18, sp18); + + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 181, part->unk_24); + } + + shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(gMasterGfxPos++, dlist); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + } + + gDPPipeSync(gMasterGfxPos++); +} diff --git a/src/effects/lightning.c b/src/effects/lightning.c index 475da1dcd7..809806897a 100644 --- a/src/effects/lightning.c +++ b/src/effects/lightning.c @@ -1,14 +1,187 @@ #include "common.h" #include "effects_internal.h" +extern Gfx* D_E006CB60[]; +extern Gfx* D_E006CB78[]; + +void lightning_init(EffectInstance* effect); +void lightning_update(EffectInstance* effect); +void lightning_render(EffectInstance* effect); void lightning_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/lightning", lightning_main); +EffectInstance* lightning_main( + s32 arg0, + f32 arg1, + f32 arg2, + f32 arg3, + f32 arg4, + f32 arg5 +) { + EffectBlueprint bp; + EffectInstance* effect; + LightningFXData* data; + s32 numParts = 1; -void lightning_init(void) { + bp.init = lightning_init; + bp.update = lightning_update; + bp.renderWorld = lightning_render; + bp.unk_00 = 0; + bp.unk_14 = NULL; + bp.effectID = EFFECT_LIGHTNING; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + data = effect->data.lightning = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(effect->data.lightning != NULL); + + data->unk_00 = arg0; + data->unk_18 = 0; + if (arg0 >= 3) { + data->unk_14 = 30; + } else { + data->unk_14 = 100; + } + data->unk_10 = 255; + data->unk_3C = 4; + data->unk_40 = 2; + data->unk_04 = arg1; + data->unk_08 = arg2; + data->unk_0C = arg3; + data->unk_48 = NULL; + data->unk_44 = NULL; + data->unk_1C = data->unk_20 = 0.0f; + data->unk_2C = 48.0f; + data->unk_30 = 32.0f; + data->unk_24 = data->unk_28 = 0.0f; + data->unk_34 = 8.0f; + data->unk_38 = 32.0f; + + if (arg0 == 1 || arg0 == 2) { + if (arg0 == 1) { + shim_load_effect(EFFECT_GATHER_MAGIC); + data->unk_44 = gather_magic_main(0, -118.0f, 184.0f, 79.0f, 1.0f, -1); + + shim_load_effect(EFFECT_BULB_GLOW); + bulb_glow_main(0, -120.0f, 189.0f, 77.0f, 1.0f, &data->unk_48); + } else { + shim_load_effect(EFFECT_SNAKING_STATIC); + data->unk_48 = snaking_static_main(0, -120.0f, 189.0f, 72.0f, 1.0f, 0); + + data->unk_48->data.snakingStatic->unk_28 = 255; + data->unk_48->data.snakingStatic->unk_2C = 255; + data->unk_48->data.snakingStatic->unk_30 = 255; + data->unk_48->data.snakingStatic->unk_18 = 255; + data->unk_48->data.snakingStatic->unk_1C = 0; + data->unk_48->data.snakingStatic->unk_20 = 255; + } + } + + if (arg0 >= 3) { + s32 effectArg0; + + shim_load_effect(EFFECT_FLASHING_BOX_SHOCKWAVE); + if (gGameStatusPtr->isBattle == TRUE) { + effectArg0 = 3; + } else { + effectArg0 = 1; + } + flashing_box_shockwave_main(effectArg0, arg1, arg2, arg3, arg4, arg5); + } + + return effect; } -INCLUDE_ASM(s32, "effects/lightning", lightning_update); +void lightning_init(EffectInstance* effect) { +} + +void lightning_update(EffectInstance* effect) { + LightningFXData* data = effect->data.lightning; + s32 unk_00; + + if (effect->flags & 0x10) { + effect->flags &= ~0x10; + data->unk_14 = 0; + } + + unk_00 = data->unk_00; + + if (data->unk_14 < 100) { + data->unk_14--; + } + + data->unk_18++; + + if (data->unk_14 < 0) { + shim_remove_effect(effect); + + if (data->unk_48 != NULL) { + shim_remove_effect(data->unk_48); + data->unk_48 = NULL; + } + + if (data->unk_44 != NULL) { + shim_remove_effect(data->unk_44); + data->unk_44 = NULL; + } + } else { + s32 unk_14 = data->unk_14; + s32 unk_18 = data->unk_18; + + if (data->unk_44 != NULL && unk_18 >= 18) { + shim_remove_effect(data->unk_44); + data->unk_44 = NULL; + } + + if (unk_00 < 3 || unk_18 < 7) { + data->unk_1C += data->unk_2C; + if (data->unk_1C < 0.0f) { + data->unk_1C += 256.0f; + } else if (data->unk_1C > 256.0f) { + data->unk_1C -= 256.0f; + } + + if (unk_18 % data->unk_3C == 0) { + data->unk_20 += data->unk_30; + if (data->unk_20 < 0.0f) { + data->unk_20 += 64.0f; + } else if (data->unk_20 > 64.0f) { + data->unk_20 -= 64.0f; + } + } + + if (unk_18 % data->unk_40 == 0) { + data->unk_24 += data->unk_34; + if (data->unk_24 < 0.0f) { + data->unk_24 += 256.0f; + } else if (data->unk_24 > 256.0f) { + data->unk_24 -= 256.0f; + } + } + + data->unk_28 += data->unk_38; + if (data->unk_28 < 0.0f) { + data->unk_28 += 64.0f; + } + else if (data->unk_28 > 64.0f) { + data->unk_28 -= 64.0f; + } + } + + if (unk_00 >= 3) { + if (unk_18 >= 7) { + data->unk_10 -= 13; + if (data->unk_10 < 0) { + data->unk_10 = 0; + } + } + } else if (unk_14 < 10) { + data->unk_10 -= 25; + if (data->unk_10 < 0) { + data->unk_10 = 0; + } + } + } +} void lightning_render(EffectInstance* effect) { RenderTask renderTask; @@ -23,4 +196,76 @@ void lightning_render(EffectInstance* effect) { retTask->renderMode |= RENDER_TASK_FLAG_2; } +// There's a single instruction out of order +#if NON_MATCHING +void lightning_appendGfx(void* effect) { + LightningFXData* data = ((EffectInstance*)effect)->data.lightning; + s32 unk_00 = data->unk_00; + s32 unk_18 = data->unk_18; + Gfx* dlist = D_E006CB60[unk_00]; + Gfx* dlist2 = D_E006CB78[unk_00]; + Camera* camera = &gCameras[gCurrentCameraID]; + Matrix4f sp20; + Matrix4f sp60; + u16 perspNorm; + + gDPPipeSync(gMasterGfxPos++); + gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data)); + + if (unk_00 != 1 || unk_18 >= 18) { + s32 ult2; + s32 uls2; + s32 uls; + s32 ult; + + gSPDisplayList(gMasterGfxPos++, dlist2); + + uls = data->unk_1C * 4.0f; + ult = data->unk_20 * 4.0f; + uls2 = data->unk_24 * 4.0f; + ult2 = data->unk_28 * 4.0f; + + switch (unk_00) { + case 0: + case 1: + case 2: + shim_guPerspectiveF(sp20, &perspNorm, 30.0f, (f32) camera->viewportW / (f32) camera->viewportH, 4.0f, 16384.0f, 1.0f); + shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + + shim_guTranslateF(sp20, data->unk_04, data->unk_08, -500.0f); + shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 47, 198, 255); + break; + default: + shim_guTranslateF(sp20, data->unk_04, data->unk_08, data->unk_0C); + shim_guRotateF(sp60, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f); + shim_guMtxCatF(sp60, sp20, sp20); + shim_guTranslateF(sp60, 0.0f, 0.0f, 1.0f); + shim_guMtxCatF(sp60, sp20, sp20); + shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]); + + gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 0, data->unk_10); + break; + } + + gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, uls, ult, uls + 1020, ult + 124); + gDPSetTileSize(gMasterGfxPos++, 1, uls2, ult2, uls2 + 1020, ult2 + 124); + gSPDisplayList(gMasterGfxPos++, dlist); + gDPPipeSync(gMasterGfxPos++); + gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW); + + if (unk_00 < 3) { + gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION); + } + + gDPPipeSync(gMasterGfxPos++); + } +} +#else INCLUDE_ASM(s32, "effects/lightning", lightning_appendGfx); +#endif diff --git a/src/effects/lightning_bolt.c b/src/effects/lightning_bolt.c index 2030091f65..9715fd4e4e 100644 --- a/src/effects/lightning_bolt.c +++ b/src/effects/lightning_bolt.c @@ -7,18 +7,114 @@ s32 D_E00BCD38[] = { 0x19191905, 0x19051919, 0x05191919, 0x04030201, 0x00000000, s32 D_E00BCE40[] = { D_E00BCC30, D_E00BCD38, 0x00000000, 0x00000000 }; +void lightning_bolt_init(EffectInstance* effect); +void lightning_bolt_update(EffectInstance* effect); +void lightning_bolt_render(EffectInstance* effect); void lightning_bolt_appendGfx(void* effect); -INCLUDE_ASM(s32, "effects/lightning_bolt", lightning_bolt_main); +EffectInstance* lightning_bolt_main( + s32 arg0, + f32 arg1, + f32 arg2, + f32 arg3, + f32 arg4, + f32 arg5, + f32 arg6, + f32 arg7, + s32 arg8) +{ + EffectBlueprint bp; + EffectInstance* effect; + LightningBoltFXData* data; + s32 numParts = 1; + f32 temp; -void lightning_bolt_init(void) { + bp.init = lightning_bolt_init; + bp.update = lightning_bolt_update; + bp.renderWorld = lightning_bolt_render; + bp.unk_00 = 0; + bp.unk_14 = NULL; + bp.effectID = EFFECT_LIGHTNING_BOLT; + + effect = shim_create_effect_instance(&bp); + effect->numParts = numParts; + data = effect->data.lightningBolt = shim_general_heap_malloc(numParts * sizeof(*data)); + ASSERT(effect->data.lightningBolt != NULL); + + data->unk_00 = arg0; + data->unk_2C = 0; + if (arg8 <= 0) { + data->unk_28 = 1000; + } else { + data->unk_28 = arg8; + } + data->unk_3C = 255; + data->unk_10 = arg1; + data->unk_14 = arg2; + data->unk_18 = arg3; + data->unk_1C = arg4; + data->unk_20 = arg5; + data->unk_24 = arg6; + data->unk_04 = arg1; + data->unk_08 = arg2; + data->unk_0C = arg3; + data->unk_4C = arg7; + + temp = SQ(arg1 - arg4) + SQ(arg2 - arg5) + SQ(arg3 - arg6); + + if (temp != 0.0f) { + data->unk_114 = shim_sqrtf(temp) * 0.005; + data->unk_30 = 255; + data->unk_34 = 220; + data->unk_38 = 20; + data->unk_40 = 255; + data->unk_44 = 255; + data->unk_48 = 255; + data->unk_110 = shim_rand_int(359); + + return effect; + } else { + return NULL; + } +} + +void lightning_bolt_init(EffectInstance* effect) { } f32 func_E00BC1D8(f32 arg0) { - return (f32)shim_rand_int((s32)arg0) - arg0 * 0.5; + return (f32)shim_rand_int(arg0) - arg0 * 0.5; } -INCLUDE_ASM(s32, "effects/lightning_bolt", lightning_bolt_update); +void lightning_bolt_update(EffectInstance* effect) { + LightningBoltFXData* data = effect->data.lightningBolt; + s32 unk_00 = data->unk_00; + + if (effect->flags & 0x10) { + effect->flags &= ~0x10; + data->unk_28 = 16; + } + + if (data->unk_28 < 1000) { + data->unk_28--; + } + + data->unk_2C++; + + if (data->unk_28 < 0) { + shim_remove_effect(effect); + return; + } + + if (unk_00 == 2) { + if (data->unk_2C >= 40) { + data->unk_3C *= 0.5; + } + } else { + if (data->unk_2C >= 11) { + data->unk_3C *= 0.5; + } + } +} void lightning_bolt_render(EffectInstance *effect) { LightningBoltFXData* effect94 = effect->data.lightningBolt; diff --git a/src/world/area_flo/flo_18/CDC6A0.c b/src/world/area_flo/flo_18/CDC6A0.c index df32429eb9..c1ea306e43 100644 --- a/src/world/area_flo/flo_18/CDC6A0.c +++ b/src/world/area_flo/flo_18/CDC6A0.c @@ -1762,12 +1762,12 @@ ApiStatus N(func_8024030C_CDC9AC)(Evt* script, s32 isInitialCall) { ApiStatus N(func_80240340_CDC9E0)(Evt* script, s32 isInitialCall) { EffectInstance* effect = (EffectInstance*) script->varTable[15]; - effect->data.lightning->unk_30 = 69; - effect->data.lightning->unk_34 = 255; - effect->data.lightning->unk_38 = 217; - effect->data.lightning->unk_40 = 176; - effect->data.lightning->unk_44 = 254; - effect->data.lightning->unk_48 = 124; + effect->data.any[12] = 69; + effect->data.any[13] = 255; + effect->data.any[14] = 217; + effect->data.any[16] = 176; + effect->data.any[17] = 254; + effect->data.any[18] = 124; return ApiStatus_DONE2; } diff --git a/src/world/area_kkj/kkj_23/B03190.c b/src/world/area_kkj/kkj_23/B03190.c index fee886d7c6..08480851aa 100644 --- a/src/world/area_kkj/kkj_23/B03190.c +++ b/src/world/area_kkj/kkj_23/B03190.c @@ -10,9 +10,9 @@ ApiStatus func_80240910_B03190(Evt* script, s32 isInitialCall) { s32 var2 = evt_get_variable(script, *args++); s32 var3 = evt_get_variable(script, *args++); - effect->data.lightning->unk_30 = var1; - effect->data.lightning->unk_34 = var2; - effect->data.lightning->unk_38 = var3; + effect->data.any[12] = var1; + effect->data.any[13] = var2; + effect->data.any[14] = var3; return ApiStatus_DONE2; } diff --git a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A000.s b/ver/us/asm/nonmatchings/effects/light_rays/func_E006A000.s deleted file mode 100644 index 6e49e6c459..0000000000 --- a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A000.s +++ /dev/null @@ -1,51 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E006A000 -/* 36D020 E006A000 27BDFFE0 */ addiu $sp, $sp, -0x20 -/* 36D024 E006A004 AFB00010 */ sw $s0, 0x10($sp) -/* 36D028 E006A008 0080802D */ daddu $s0, $a0, $zero -/* 36D02C E006A00C 240400B4 */ addiu $a0, $zero, 0xb4 -/* 36D030 E006A010 AFB10014 */ sw $s1, 0x14($sp) -/* 36D034 E006A014 00058840 */ sll $s1, $a1, 1 -/* 36D038 E006A018 02258821 */ addu $s1, $s1, $a1 -/* 36D03C E006A01C AFBF0018 */ sw $ra, 0x18($sp) -/* 36D040 E006A020 0C080011 */ jal func_E0200044 -/* 36D044 E006A024 0220282D */ daddu $a1, $s1, $zero -/* 36D048 E006A028 240400B4 */ addiu $a0, $zero, 0xb4 -/* 36D04C E006A02C 26250001 */ addiu $a1, $s1, 1 -/* 36D050 E006A030 44820000 */ mtc1 $v0, $f0 -/* 36D054 E006A034 00000000 */ nop -/* 36D058 E006A038 46800020 */ cvt.s.w $f0, $f0 -/* 36D05C E006A03C 0C080011 */ jal func_E0200044 -/* 36D060 E006A040 E6000070 */ swc1 $f0, 0x70($s0) -/* 36D064 E006A044 240400B4 */ addiu $a0, $zero, 0xb4 -/* 36D068 E006A048 26250002 */ addiu $a1, $s1, 2 -/* 36D06C E006A04C 44820000 */ mtc1 $v0, $f0 -/* 36D070 E006A050 00000000 */ nop -/* 36D074 E006A054 46800020 */ cvt.s.w $f0, $f0 -/* 36D078 E006A058 0C080011 */ jal func_E0200044 -/* 36D07C E006A05C E6000074 */ swc1 $f0, 0x74($s0) -/* 36D080 E006A060 44820000 */ mtc1 $v0, $f0 -/* 36D084 E006A064 00000000 */ nop -/* 36D088 E006A068 46800020 */ cvt.s.w $f0, $f0 -/* 36D08C E006A06C E6000078 */ swc1 $f0, 0x78($s0) -/* 36D090 E006A070 C6000068 */ lwc1 $f0, 0x68($s0) -/* 36D094 E006A074 8E02007C */ lw $v0, 0x7c($s0) -/* 36D098 E006A078 C602006C */ lwc1 $f2, 0x6c($s0) -/* 36D09C E006A07C C6040070 */ lwc1 $f4, 0x70($s0) -/* 36D0A0 E006A080 C6060074 */ lwc1 $f6, 0x74($s0) -/* 36D0A4 E006A084 C6080078 */ lwc1 $f8, 0x78($s0) -/* 36D0A8 E006A088 AE000024 */ sw $zero, 0x24($s0) -/* 36D0AC E006A08C AE00002C */ sw $zero, 0x2c($s0) -/* 36D0B0 E006A090 E6000058 */ swc1 $f0, 0x58($s0) -/* 36D0B4 E006A094 AE020028 */ sw $v0, 0x28($s0) -/* 36D0B8 E006A098 E602008C */ swc1 $f2, 0x8c($s0) -/* 36D0BC E006A09C E604005C */ swc1 $f4, 0x5c($s0) -/* 36D0C0 E006A0A0 E6060060 */ swc1 $f6, 0x60($s0) -/* 36D0C4 E006A0A4 E6080064 */ swc1 $f8, 0x64($s0) -/* 36D0C8 E006A0A8 8FBF0018 */ lw $ra, 0x18($sp) -/* 36D0CC E006A0AC 8FB10014 */ lw $s1, 0x14($sp) -/* 36D0D0 E006A0B0 8FB00010 */ lw $s0, 0x10($sp) -/* 36D0D4 E006A0B4 03E00008 */ jr $ra -/* 36D0D8 E006A0B8 27BD0020 */ addiu $sp, $sp, 0x20 diff --git a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A0BC.s b/ver/us/asm/nonmatchings/effects/light_rays/func_E006A0BC.s deleted file mode 100644 index c1e9a0e660..0000000000 --- a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A0BC.s +++ /dev/null @@ -1,86 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E006AF50 -.double 0.1 - -.section .text - -glabel func_E006A0BC -/* 36D0DC E006A0BC 24A2FFFF */ addiu $v0, $a1, -1 -/* 36D0E0 E006A0C0 00021880 */ sll $v1, $v0, 2 -/* 36D0E4 E006A0C4 00621821 */ addu $v1, $v1, $v0 -/* 36D0E8 E006A0C8 00031080 */ sll $v0, $v1, 2 -/* 36D0EC E006A0CC 24630001 */ addiu $v1, $v1, 1 -/* 36D0F0 E006A0D0 00033080 */ sll $a2, $v1, 2 -/* 36D0F4 E006A0D4 24630001 */ addiu $v1, $v1, 1 -/* 36D0F8 E006A0D8 00033880 */ sll $a3, $v1, 2 -/* 36D0FC E006A0DC 24630001 */ addiu $v1, $v1, 1 -/* 36D100 E006A0E0 00052840 */ sll $a1, $a1, 1 -/* 36D104 E006A0E4 24A5001E */ addiu $a1, $a1, 0x1e -/* 36D108 E006A0E8 AC800058 */ sw $zero, 0x58($a0) -/* 36D10C E006A0EC AC850028 */ sw $a1, 0x28($a0) -/* 36D110 E006A0F0 3C01E007 */ lui $at, %hi(D_E006AE10) -/* 36D114 E006A0F4 00220821 */ addu $at, $at, $v0 -/* 36D118 E006A0F8 C420AE10 */ lwc1 $f0, %lo(D_E006AE10)($at) -/* 36D11C E006A0FC 46800020 */ cvt.s.w $f0, $f0 -/* 36D120 E006A100 E480005C */ swc1 $f0, 0x5c($a0) -/* 36D124 E006A104 3C01E007 */ lui $at, %hi(D_E006AE10) -/* 36D128 E006A108 00260821 */ addu $at, $at, $a2 -/* 36D12C E006A10C C420AE10 */ lwc1 $f0, %lo(D_E006AE10)($at) -/* 36D130 E006A110 46800020 */ cvt.s.w $f0, $f0 -/* 36D134 E006A114 E4800060 */ swc1 $f0, 0x60($a0) -/* 36D138 E006A118 3C01E007 */ lui $at, %hi(D_E006AE10) -/* 36D13C E006A11C 00270821 */ addu $at, $at, $a3 -/* 36D140 E006A120 C420AE10 */ lwc1 $f0, %lo(D_E006AE10)($at) -/* 36D144 E006A124 46800020 */ cvt.s.w $f0, $f0 -/* 36D148 E006A128 44801000 */ mtc1 $zero, $f2 -/* 36D14C E006A12C 3C01BF19 */ lui $at, 0xbf19 -/* 36D150 E006A130 3421999A */ ori $at, $at, 0x999a -/* 36D154 E006A134 44812000 */ mtc1 $at, $f4 -/* 36D158 E006A138 3C014120 */ lui $at, 0x4120 -/* 36D15C E006A13C 44813000 */ mtc1 $at, $f6 -/* 36D160 E006A140 3C013F19 */ lui $at, 0x3f19 -/* 36D164 E006A144 3421999A */ ori $at, $at, 0x999a -/* 36D168 E006A148 44814000 */ mtc1 $at, $f8 -/* 36D16C E006A14C 00031080 */ sll $v0, $v1, 2 -/* 36D170 E006A150 E4800064 */ swc1 $f0, 0x64($a0) -/* 36D174 E006A154 AC800024 */ sw $zero, 0x24($a0) -/* 36D178 E006A158 AC80002C */ sw $zero, 0x2c($a0) -/* 36D17C E006A15C E4820038 */ swc1 $f2, 0x38($a0) -/* 36D180 E006A160 E4820034 */ swc1 $f2, 0x34($a0) -/* 36D184 E006A164 E4820048 */ swc1 $f2, 0x48($a0) -/* 36D188 E006A168 E484004C */ swc1 $f4, 0x4c($a0) -/* 36D18C E006A16C E486003C */ swc1 $f6, 0x3c($a0) -/* 36D190 E006A170 E4820040 */ swc1 $f2, 0x40($a0) -/* 36D194 E006A174 E4820050 */ swc1 $f2, 0x50($a0) -/* 36D198 E006A178 E4880054 */ swc1 $f8, 0x54($a0) -/* 36D19C E006A17C E4820080 */ swc1 $f2, 0x80($a0) -/* 36D1A0 E006A180 3C01E007 */ lui $at, %hi(D_E006AE10) -/* 36D1A4 E006A184 00220821 */ addu $at, $at, $v0 -/* 36D1A8 E006A188 C420AE10 */ lwc1 $f0, %lo(D_E006AE10)($at) -/* 36D1AC E006A18C 46800020 */ cvt.s.w $f0, $f0 -/* 36D1B0 E006A190 44801000 */ mtc1 $zero, $f2 -/* 36D1B4 E006A194 44801800 */ mtc1 $zero, $f3 -/* 36D1B8 E006A198 46000021 */ cvt.d.s $f0, $f0 -/* 36D1BC E006A19C 46220002 */ mul.d $f0, $f0, $f2 -/* 36D1C0 E006A1A0 00000000 */ nop -/* 36D1C4 E006A1A4 24630001 */ addiu $v1, $v1, 1 -/* 36D1C8 E006A1A8 00031880 */ sll $v1, $v1, 2 -/* 36D1CC E006A1AC 3C01E007 */ lui $at, %hi(D_E006AF50) -/* 36D1D0 E006A1B0 D422AF50 */ ldc1 $f2, %lo(D_E006AF50)($at) -/* 36D1D4 E006A1B4 46200020 */ cvt.s.d $f0, $f0 -/* 36D1D8 E006A1B8 E4800084 */ swc1 $f0, 0x84($a0) -/* 36D1DC E006A1BC 3C01E007 */ lui $at, %hi(D_E006AE10) -/* 36D1E0 E006A1C0 00230821 */ addu $at, $at, $v1 -/* 36D1E4 E006A1C4 C420AE10 */ lwc1 $f0, %lo(D_E006AE10)($at) -/* 36D1E8 E006A1C8 46800020 */ cvt.s.w $f0, $f0 -/* 36D1EC E006A1CC 46000021 */ cvt.d.s $f0, $f0 -/* 36D1F0 E006A1D0 46220002 */ mul.d $f0, $f0, $f2 -/* 36D1F4 E006A1D4 00000000 */ nop -/* 36D1F8 E006A1D8 AC800090 */ sw $zero, 0x90($a0) -/* 36D1FC E006A1DC 46200020 */ cvt.s.d $f0, $f0 -/* 36D200 E006A1E0 03E00008 */ jr $ra -/* 36D204 E006A1E4 E4800088 */ swc1 $f0, 0x88($a0) diff --git a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A464.s b/ver/us/asm/nonmatchings/effects/light_rays/func_E006A464.s deleted file mode 100644 index cedf9289fa..0000000000 --- a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A464.s +++ /dev/null @@ -1,83 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E006A464 -/* 36D484 E006A464 C4820034 */ lwc1 $f2, 0x34($a0) -/* 36D488 E006A468 C4800048 */ lwc1 $f0, 0x48($a0) -/* 36D48C E006A46C 46001000 */ add.s $f0, $f2, $f0 -/* 36D490 E006A470 3C014380 */ lui $at, 0x4380 -/* 36D494 E006A474 44812000 */ mtc1 $at, $f4 -/* 36D498 E006A478 00000000 */ nop -/* 36D49C E006A47C 4600203C */ c.lt.s $f4, $f0 -/* 36D4A0 E006A480 00000000 */ nop -/* 36D4A4 E006A484 45000003 */ bc1f .LE006A494 -/* 36D4A8 E006A488 E4800034 */ swc1 $f0, 0x34($a0) -/* 36D4AC E006A48C 46040001 */ sub.s $f0, $f0, $f4 -/* 36D4B0 E006A490 E4800034 */ swc1 $f0, 0x34($a0) -.LE006A494: -/* 36D4B4 E006A494 C4800034 */ lwc1 $f0, 0x34($a0) -/* 36D4B8 E006A498 44803000 */ mtc1 $zero, $f6 -/* 36D4BC E006A49C 00000000 */ nop -/* 36D4C0 E006A4A0 4606003C */ c.lt.s $f0, $f6 -/* 36D4C4 E006A4A4 00000000 */ nop -/* 36D4C8 E006A4A8 45000003 */ bc1f .LE006A4B8 -/* 36D4CC E006A4AC 00000000 */ nop -/* 36D4D0 E006A4B0 46040000 */ add.s $f0, $f0, $f4 -/* 36D4D4 E006A4B4 E4800034 */ swc1 $f0, 0x34($a0) -.LE006A4B8: -/* 36D4D8 E006A4B8 C482003C */ lwc1 $f2, 0x3c($a0) -/* 36D4DC E006A4BC C4800050 */ lwc1 $f0, 0x50($a0) -/* 36D4E0 E006A4C0 46001000 */ add.s $f0, $f2, $f0 -/* 36D4E4 E006A4C4 4600203C */ c.lt.s $f4, $f0 -/* 36D4E8 E006A4C8 00000000 */ nop -/* 36D4EC E006A4CC 45000003 */ bc1f .LE006A4DC -/* 36D4F0 E006A4D0 E480003C */ swc1 $f0, 0x3c($a0) -/* 36D4F4 E006A4D4 46040001 */ sub.s $f0, $f0, $f4 -/* 36D4F8 E006A4D8 E480003C */ swc1 $f0, 0x3c($a0) -.LE006A4DC: -/* 36D4FC E006A4DC C480003C */ lwc1 $f0, 0x3c($a0) -/* 36D500 E006A4E0 4606003C */ c.lt.s $f0, $f6 -/* 36D504 E006A4E4 00000000 */ nop -/* 36D508 E006A4E8 45000003 */ bc1f .LE006A4F8 -/* 36D50C E006A4EC 00000000 */ nop -/* 36D510 E006A4F0 46040000 */ add.s $f0, $f0, $f4 -/* 36D514 E006A4F4 E480003C */ swc1 $f0, 0x3c($a0) -.LE006A4F8: -/* 36D518 E006A4F8 C4820038 */ lwc1 $f2, 0x38($a0) -/* 36D51C E006A4FC C480004C */ lwc1 $f0, 0x4c($a0) -/* 36D520 E006A500 46001000 */ add.s $f0, $f2, $f0 -/* 36D524 E006A504 4600203C */ c.lt.s $f4, $f0 -/* 36D528 E006A508 00000000 */ nop -/* 36D52C E006A50C 45000003 */ bc1f .LE006A51C -/* 36D530 E006A510 E4800038 */ swc1 $f0, 0x38($a0) -/* 36D534 E006A514 46040001 */ sub.s $f0, $f0, $f4 -/* 36D538 E006A518 E4800038 */ swc1 $f0, 0x38($a0) -.LE006A51C: -/* 36D53C E006A51C C4800038 */ lwc1 $f0, 0x38($a0) -/* 36D540 E006A520 4606003C */ c.lt.s $f0, $f6 -/* 36D544 E006A524 00000000 */ nop -/* 36D548 E006A528 45000003 */ bc1f .LE006A538 -/* 36D54C E006A52C 00000000 */ nop -/* 36D550 E006A530 46040000 */ add.s $f0, $f0, $f4 -/* 36D554 E006A534 E4800038 */ swc1 $f0, 0x38($a0) -.LE006A538: -/* 36D558 E006A538 C4820040 */ lwc1 $f2, 0x40($a0) -/* 36D55C E006A53C C4800054 */ lwc1 $f0, 0x54($a0) -/* 36D560 E006A540 46001000 */ add.s $f0, $f2, $f0 -/* 36D564 E006A544 4600203C */ c.lt.s $f4, $f0 -/* 36D568 E006A548 00000000 */ nop -/* 36D56C E006A54C 45000003 */ bc1f .LE006A55C -/* 36D570 E006A550 E4800040 */ swc1 $f0, 0x40($a0) -/* 36D574 E006A554 46040001 */ sub.s $f0, $f0, $f4 -/* 36D578 E006A558 E4800040 */ swc1 $f0, 0x40($a0) -.LE006A55C: -/* 36D57C E006A55C C4800040 */ lwc1 $f0, 0x40($a0) -/* 36D580 E006A560 4606003C */ c.lt.s $f0, $f6 -/* 36D584 E006A564 00000000 */ nop -/* 36D588 E006A568 45000003 */ bc1f .LE006A578 -/* 36D58C E006A56C 00000000 */ nop -/* 36D590 E006A570 46040000 */ add.s $f0, $f0, $f4 -/* 36D594 E006A574 E4800040 */ swc1 $f0, 0x40($a0) -.LE006A578: -/* 36D598 E006A578 03E00008 */ jr $ra -/* 36D59C E006A57C 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A85C.s b/ver/us/asm/nonmatchings/effects/light_rays/func_E006A85C.s deleted file mode 100644 index 0d90c0aaf8..0000000000 --- a/ver/us/asm/nonmatchings/effects/light_rays/func_E006A85C.s +++ /dev/null @@ -1,64 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel func_E006A85C -/* 36D87C E006A85C 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* 36D880 E006A860 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* 36D884 E006A864 C4820034 */ lwc1 $f2, 0x34($a0) -/* 36D888 E006A868 3C014080 */ lui $at, 0x4080 -/* 36D88C E006A86C 44812000 */ mtc1 $at, $f4 -/* 36D890 E006A870 3C08F200 */ lui $t0, 0xf200 -/* 36D894 E006A874 46041082 */ mul.s $f2, $f2, $f4 -/* 36D898 E006A878 00000000 */ nop -/* 36D89C E006A87C 8C670000 */ lw $a3, ($v1) -/* 36D8A0 E006A880 C4800038 */ lwc1 $f0, 0x38($a0) -/* 36D8A4 E006A884 00E0482D */ daddu $t1, $a3, $zero -/* 36D8A8 E006A888 24E70008 */ addiu $a3, $a3, 8 -/* 36D8AC E006A88C 46040002 */ mul.s $f0, $f0, $f4 -/* 36D8B0 E006A890 00000000 */ nop -/* 36D8B4 E006A894 24E20008 */ addiu $v0, $a3, 8 -/* 36D8B8 E006A898 AC670000 */ sw $a3, ($v1) -/* 36D8BC E006A89C AC620000 */ sw $v0, ($v1) -/* 36D8C0 E006A8A0 4600118D */ trunc.w.s $f6, $f2 -/* 36D8C4 E006A8A4 44023000 */ mfc1 $v0, $f6 -/* 36D8C8 E006A8A8 4600018D */ trunc.w.s $f6, $f0 -/* 36D8CC E006A8AC 44063000 */ mfc1 $a2, $f6 -/* 36D8D0 E006A8B0 30450FFF */ andi $a1, $v0, 0xfff -/* 36D8D4 E006A8B4 00052B00 */ sll $a1, $a1, 0xc -/* 36D8D8 E006A8B8 30C30FFF */ andi $v1, $a2, 0xfff -/* 36D8DC E006A8BC 00681825 */ or $v1, $v1, $t0 -/* 36D8E0 E006A8C0 00A32825 */ or $a1, $a1, $v1 -/* 36D8E4 E006A8C4 24420200 */ addiu $v0, $v0, 0x200 -/* 36D8E8 E006A8C8 C480003C */ lwc1 $f0, 0x3c($a0) -/* 36D8EC E006A8CC 30420FFF */ andi $v0, $v0, 0xfff -/* 36D8F0 E006A8D0 46040002 */ mul.s $f0, $f0, $f4 -/* 36D8F4 E006A8D4 00000000 */ nop -/* 36D8F8 E006A8D8 00021300 */ sll $v0, $v0, 0xc -/* 36D8FC E006A8DC 24C60100 */ addiu $a2, $a2, 0x100 -/* 36D900 E006A8E0 C4820040 */ lwc1 $f2, 0x40($a0) -/* 36D904 E006A8E4 30C60FFF */ andi $a2, $a2, 0xfff -/* 36D908 E006A8E8 46041082 */ mul.s $f2, $f2, $f4 -/* 36D90C E006A8EC 00000000 */ nop -/* 36D910 E006A8F0 00461025 */ or $v0, $v0, $a2 -/* 36D914 E006A8F4 AD250000 */ sw $a1, ($t1) -/* 36D918 E006A8F8 AD220004 */ sw $v0, 4($t1) -/* 36D91C E006A8FC 4600018D */ trunc.w.s $f6, $f0 -/* 36D920 E006A900 44043000 */ mfc1 $a0, $f6 -/* 36D924 E006A904 4600118D */ trunc.w.s $f6, $f2 -/* 36D928 E006A908 44053000 */ mfc1 $a1, $f6 -/* 36D92C E006A90C 30830FFF */ andi $v1, $a0, 0xfff -/* 36D930 E006A910 00031B00 */ sll $v1, $v1, 0xc -/* 36D934 E006A914 30A20FFF */ andi $v0, $a1, 0xfff -/* 36D938 E006A918 00481025 */ or $v0, $v0, $t0 -/* 36D93C E006A91C 00621825 */ or $v1, $v1, $v0 -/* 36D940 E006A920 24840200 */ addiu $a0, $a0, 0x200 -/* 36D944 E006A924 30840FFF */ andi $a0, $a0, 0xfff -/* 36D948 E006A928 00042300 */ sll $a0, $a0, 0xc -/* 36D94C E006A92C 24A50100 */ addiu $a1, $a1, 0x100 -/* 36D950 E006A930 30A50FFF */ andi $a1, $a1, 0xfff -/* 36D954 E006A934 3C020100 */ lui $v0, 0x100 -/* 36D958 E006A938 00A22825 */ or $a1, $a1, $v0 -/* 36D95C E006A93C 00852025 */ or $a0, $a0, $a1 -/* 36D960 E006A940 ACE30000 */ sw $v1, ($a3) -/* 36D964 E006A944 03E00008 */ jr $ra -/* 36D968 E006A948 ACE40004 */ sw $a0, 4($a3) diff --git a/ver/us/asm/nonmatchings/effects/light_rays/light_rays_appendGfx.s b/ver/us/asm/nonmatchings/effects/light_rays/light_rays_appendGfx.s deleted file mode 100644 index b9d6953c3e..0000000000 --- a/ver/us/asm/nonmatchings/effects/light_rays/light_rays_appendGfx.s +++ /dev/null @@ -1,323 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E006AF58 -.double 0.3 - -dlabel D_E006AF60 -.double 0.9, 0.0 - -.section .text - -glabel light_rays_appendGfx -/* 36D96C E006A94C 27BDFEE0 */ addiu $sp, $sp, -0x120 -/* 36D970 E006A950 AFA40120 */ sw $a0, 0x120($sp) -/* 36D974 E006A954 8FA80120 */ lw $t0, 0x120($sp) -/* 36D978 E006A958 3C07DB06 */ lui $a3, 0xdb06 -/* 36D97C E006A95C AFB100E4 */ sw $s1, 0xe4($sp) -/* 36D980 E006A960 3C11800A */ lui $s1, %hi(gMasterGfxPos) -/* 36D984 E006A964 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos) -/* 36D988 E006A968 AFBF0104 */ sw $ra, 0x104($sp) -/* 36D98C E006A96C AFBE0100 */ sw $fp, 0x100($sp) -/* 36D990 E006A970 AFB700FC */ sw $s7, 0xfc($sp) -/* 36D994 E006A974 AFB600F8 */ sw $s6, 0xf8($sp) -/* 36D998 E006A978 AFB500F4 */ sw $s5, 0xf4($sp) -/* 36D99C E006A97C AFB400F0 */ sw $s4, 0xf0($sp) -/* 36D9A0 E006A980 AFB300EC */ sw $s3, 0xec($sp) -/* 36D9A4 E006A984 AFB200E8 */ sw $s2, 0xe8($sp) -/* 36D9A8 E006A988 AFB000E0 */ sw $s0, 0xe0($sp) -/* 36D9AC E006A98C F7B80118 */ sdc1 $f24, 0x118($sp) -/* 36D9B0 E006A990 F7B60110 */ sdc1 $f22, 0x110($sp) -/* 36D9B4 E006A994 F7B40108 */ sdc1 $f20, 0x108($sp) -/* 36D9B8 E006A998 8E230000 */ lw $v1, ($s1) -/* 36D9BC E006A99C 8D12000C */ lw $s2, 0xc($t0) -/* 36D9C0 E006A9A0 0060282D */ daddu $a1, $v1, $zero -/* 36D9C4 E006A9A4 8E570000 */ lw $s7, ($s2) -/* 36D9C8 E006A9A8 24630008 */ addiu $v1, $v1, 8 -/* 36D9CC E006A9AC AE230000 */ sw $v1, ($s1) -/* 36D9D0 E006A9B0 00171080 */ sll $v0, $s7, 2 -/* 36D9D4 E006A9B4 3C08E007 */ lui $t0, %hi(D_E006ADF0) -/* 36D9D8 E006A9B8 01024021 */ addu $t0, $t0, $v0 -/* 36D9DC E006A9BC 8D08ADF0 */ lw $t0, %lo(D_E006ADF0)($t0) -/* 36D9E0 E006A9C0 34E70024 */ ori $a3, $a3, 0x24 -/* 36D9E4 E006A9C4 AFA800D8 */ sw $t0, 0xd8($sp) -/* 36D9E8 E006A9C8 3C06E007 */ lui $a2, %hi(D_E006AE00) -/* 36D9EC E006A9CC 00C23021 */ addu $a2, $a2, $v0 -/* 36D9F0 E006A9D0 8CC6AE00 */ lw $a2, %lo(D_E006AE00)($a2) -/* 36D9F4 E006A9D4 3C02E700 */ lui $v0, 0xe700 -/* 36D9F8 E006A9D8 ACA20000 */ sw $v0, ($a1) -/* 36D9FC E006A9DC ACA00004 */ sw $zero, 4($a1) -/* 36DA00 E006A9E0 AC670000 */ sw $a3, ($v1) -/* 36DA04 E006A9E4 8FA80120 */ lw $t0, 0x120($sp) -/* 36DA08 E006A9E8 27A40098 */ addiu $a0, $sp, 0x98 -/* 36DA0C E006A9EC 8D050010 */ lw $a1, 0x10($t0) -/* 36DA10 E006A9F0 24620008 */ addiu $v0, $v1, 8 -/* 36DA14 E006A9F4 AE220000 */ sw $v0, ($s1) -/* 36DA18 E006A9F8 8CA5001C */ lw $a1, 0x1c($a1) -/* 36DA1C E006A9FC 3C02DE00 */ lui $v0, 0xde00 -/* 36DA20 E006AA00 AC620008 */ sw $v0, 8($v1) -/* 36DA24 E006AA04 3C028000 */ lui $v0, 0x8000 -/* 36DA28 E006AA08 AC66000C */ sw $a2, 0xc($v1) -/* 36DA2C E006AA0C 00A22821 */ addu $a1, $a1, $v0 -/* 36DA30 E006AA10 AC650004 */ sw $a1, 4($v1) -/* 36DA34 E006AA14 8E450010 */ lw $a1, 0x10($s2) -/* 36DA38 E006AA18 8E460014 */ lw $a2, 0x14($s2) -/* 36DA3C E006AA1C 8E470018 */ lw $a3, 0x18($s2) -/* 36DA40 E006AA20 24630010 */ addiu $v1, $v1, 0x10 -/* 36DA44 E006AA24 0C080108 */ jal shim_guTranslateF -/* 36DA48 E006AA28 AE230000 */ sw $v1, ($s1) -/* 36DA4C E006AA2C 8FA80120 */ lw $t0, 0x120($sp) -/* 36DA50 E006AA30 24140001 */ addiu $s4, $zero, 1 -/* 36DA54 E006AA34 8D020008 */ lw $v0, 8($t0) -/* 36DA58 E006AA38 0282102A */ slt $v0, $s4, $v0 -/* 36DA5C E006AA3C 104000D2 */ beqz $v0, .LE006AD88 -/* 36DA60 E006AA40 26520094 */ addiu $s2, $s2, 0x94 -/* 36DA64 E006AA44 2AF60002 */ slti $s6, $s7, 2 -/* 36DA68 E006AA48 27B00058 */ addiu $s0, $sp, 0x58 -/* 36DA6C E006AA4C 0220982D */ daddu $s3, $s1, $zero -/* 36DA70 E006AA50 3C1E8007 */ lui $fp, %hi(gMatrixListPos) -/* 36DA74 E006AA54 27DE41F0 */ addiu $fp, $fp, %lo(gMatrixListPos) -/* 36DA78 E006AA58 3C150001 */ lui $s5, 1 -/* 36DA7C E006AA5C 36B51630 */ ori $s5, $s5, 0x1630 -/* 36DA80 E006AA60 26510024 */ addiu $s1, $s2, 0x24 -/* 36DA84 E006AA64 3C013F80 */ lui $at, 0x3f80 -/* 36DA88 E006AA68 4481C000 */ mtc1 $at, $f24 -/* 36DA8C E006AA6C 4480B000 */ mtc1 $zero, $f22 -.LE006AA70: -/* 36DA90 E006AA70 3C01437F */ lui $at, 0x437f -/* 36DA94 E006AA74 44811000 */ mtc1 $at, $f2 -/* 36DA98 E006AA78 C6200000 */ lwc1 $f0, ($s1) -/* 36DA9C E006AA7C 46800020 */ cvt.s.w $f0, $f0 -/* 36DAA0 E006AA80 16C00003 */ bnez $s6, .LE006AA90 -/* 36DAA4 E006AA84 46020503 */ div.s $f20, $f0, $f2 -/* 36DAA8 E006AA88 0C01AA17 */ jal func_E006A85C -/* 36DAAC E006AA8C 0240202D */ daddu $a0, $s2, $zero -.LE006AA90: -/* 36DAB0 E006AA90 E7B60010 */ swc1 $f22, 0x10($sp) -/* 36DAB4 E006AA94 8E250038 */ lw $a1, 0x38($s1) -/* 36DAB8 E006AA98 4406C000 */ mfc1 $a2, $f24 -/* 36DABC E006AA9C 4407B000 */ mfc1 $a3, $f22 -/* 36DAC0 E006AAA0 0C080104 */ jal shim_guRotateF -/* 36DAC4 E006AAA4 0200202D */ daddu $a0, $s0, $zero -/* 36DAC8 E006AAA8 0200202D */ daddu $a0, $s0, $zero -/* 36DACC E006AAAC 27A50098 */ addiu $a1, $sp, 0x98 -/* 36DAD0 E006AAB0 0C080114 */ jal shim_guMtxCatF -/* 36DAD4 E006AAB4 27A60018 */ addiu $a2, $sp, 0x18 -/* 36DAD8 E006AAB8 56C00060 */ bnel $s6, $zero, .LE006AC3C -/* 36DADC E006AABC E7B60010 */ swc1 $f22, 0x10($sp) -/* 36DAE0 E006AAC0 C6220040 */ lwc1 $f2, 0x40($s1) -/* 36DAE4 E006AAC4 24020003 */ addiu $v0, $zero, 3 -/* 36DAE8 E006AAC8 56E20005 */ bnel $s7, $v0, .LE006AAE0 -/* 36DAEC E006AACC 46161000 */ add.s $f0, $f2, $f22 -/* 36DAF0 E006AAD0 3C014234 */ lui $at, 0x4234 -/* 36DAF4 E006AAD4 44810000 */ mtc1 $at, $f0 -/* 36DAF8 E006AAD8 00000000 */ nop -/* 36DAFC E006AADC 46001000 */ add.s $f0, $f2, $f0 -.LE006AAE0: -/* 36DB00 E006AAE0 44050000 */ mfc1 $a1, $f0 -/* 36DB04 E006AAE4 4406B000 */ mfc1 $a2, $f22 -/* 36DB08 E006AAE8 4407B000 */ mfc1 $a3, $f22 -/* 36DB0C E006AAEC 0200202D */ daddu $a0, $s0, $zero -/* 36DB10 E006AAF0 0C080104 */ jal shim_guRotateF -/* 36DB14 E006AAF4 E7B80010 */ swc1 $f24, 0x10($sp) -/* 36DB18 E006AAF8 0200202D */ daddu $a0, $s0, $zero -/* 36DB1C E006AAFC 27A50018 */ addiu $a1, $sp, 0x18 -/* 36DB20 E006AB00 0C080114 */ jal shim_guMtxCatF -/* 36DB24 E006AB04 00A0302D */ daddu $a2, $a1, $zero -/* 36DB28 E006AB08 E7B60010 */ swc1 $f22, 0x10($sp) -/* 36DB2C E006AB0C 8E25003C */ lw $a1, 0x3c($s1) -/* 36DB30 E006AB10 4406B000 */ mfc1 $a2, $f22 -/* 36DB34 E006AB14 4407C000 */ mfc1 $a3, $f24 -/* 36DB38 E006AB18 0C080104 */ jal shim_guRotateF -/* 36DB3C E006AB1C 0200202D */ daddu $a0, $s0, $zero -/* 36DB40 E006AB20 0200202D */ daddu $a0, $s0, $zero -/* 36DB44 E006AB24 27A50018 */ addiu $a1, $sp, 0x18 -/* 36DB48 E006AB28 0C080114 */ jal shim_guMtxCatF -/* 36DB4C E006AB2C 00A0302D */ daddu $a2, $a1, $zero -/* 36DB50 E006AB30 8E250034 */ lw $a1, 0x34($s1) -/* 36DB54 E006AB34 4406B000 */ mfc1 $a2, $f22 -/* 36DB58 E006AB38 4407B000 */ mfc1 $a3, $f22 -/* 36DB5C E006AB3C 0C080108 */ jal shim_guTranslateF -/* 36DB60 E006AB40 0200202D */ daddu $a0, $s0, $zero -/* 36DB64 E006AB44 0200202D */ daddu $a0, $s0, $zero -/* 36DB68 E006AB48 27A50018 */ addiu $a1, $sp, 0x18 -/* 36DB6C E006AB4C 0C080114 */ jal shim_guMtxCatF -/* 36DB70 E006AB50 00A0302D */ daddu $a2, $a1, $zero -/* 36DB74 E006AB54 3C014040 */ lui $at, 0x4040 -/* 36DB78 E006AB58 44810000 */ mtc1 $at, $f0 -/* 36DB7C E006AB5C 00000000 */ nop -/* 36DB80 E006AB60 4600A000 */ add.s $f0, $f20, $f0 -/* 36DB84 E006AB64 3C013FD0 */ lui $at, 0x3fd0 -/* 36DB88 E006AB68 44811800 */ mtc1 $at, $f3 -/* 36DB8C E006AB6C 44801000 */ mtc1 $zero, $f2 -/* 36DB90 E006AB70 46000021 */ cvt.d.s $f0, $f0 -/* 36DB94 E006AB74 46220002 */ mul.d $f0, $f0, $f2 -/* 36DB98 E006AB78 00000000 */ nop -/* 36DB9C E006AB7C 32830003 */ andi $v1, $s4, 3 -/* 36DBA0 E006AB80 24020001 */ addiu $v0, $zero, 1 -/* 36DBA4 E006AB84 46200120 */ cvt.s.d $f4, $f0 -/* 36DBA8 E006AB88 10620010 */ beq $v1, $v0, .LE006ABCC -/* 36DBAC E006AB8C 46002186 */ mov.s $f6, $f4 -/* 36DBB0 E006AB90 28620002 */ slti $v0, $v1, 2 -/* 36DBB4 E006AB94 10400005 */ beqz $v0, .LE006ABAC -/* 36DBB8 E006AB98 24020002 */ addiu $v0, $zero, 2 -/* 36DBBC E006AB9C 10600007 */ beqz $v1, .LE006ABBC -/* 36DBC0 E006ABA0 00000000 */ nop -/* 36DBC4 E006ABA4 0801AAFD */ j .LE006ABF4 -/* 36DBC8 E006ABA8 4600A006 */ mov.s $f0, $f20 -.LE006ABAC: -/* 36DBCC E006ABAC 5062000C */ beql $v1, $v0, .LE006ABE0 -/* 36DBD0 E006ABB0 4600A021 */ cvt.d.s $f0, $f20 -/* 36DBD4 E006ABB4 0801AAFD */ j .LE006ABF4 -/* 36DBD8 E006ABB8 4600A006 */ mov.s $f0, $f20 -.LE006ABBC: -/* 36DBDC E006ABBC 3C01E007 */ lui $at, %hi(D_E006AF58) -/* 36DBE0 E006ABC0 D422AF58 */ ldc1 $f2, %lo(D_E006AF58)($at) -/* 36DBE4 E006ABC4 0801AAFA */ j .LE006ABE8 -/* 36DBE8 E006ABC8 4600A021 */ cvt.d.s $f0, $f20 -.LE006ABCC: -/* 36DBEC E006ABCC 3C013FE0 */ lui $at, 0x3fe0 -/* 36DBF0 E006ABD0 44811800 */ mtc1 $at, $f3 -/* 36DBF4 E006ABD4 44801000 */ mtc1 $zero, $f2 -/* 36DBF8 E006ABD8 0801AAFA */ j .LE006ABE8 -/* 36DBFC E006ABDC 4600A021 */ cvt.d.s $f0, $f20 -.LE006ABE0: -/* 36DC00 E006ABE0 3C01E007 */ lui $at, %hi(D_E006AF60) -/* 36DC04 E006ABE4 D422AF60 */ ldc1 $f2, %lo(D_E006AF60)($at) -.LE006ABE8: -/* 36DC08 E006ABE8 46220002 */ mul.d $f0, $f0, $f2 -/* 36DC0C E006ABEC 00000000 */ nop -/* 36DC10 E006ABF0 46200020 */ cvt.s.d $f0, $f0 -.LE006ABF4: -/* 36DC14 E006ABF4 44053000 */ mfc1 $a1, $f6 -/* 36DC18 E006ABF8 44060000 */ mfc1 $a2, $f0 -/* 36DC1C E006ABFC 44072000 */ mfc1 $a3, $f4 -/* 36DC20 E006AC00 0C080110 */ jal shim_guScaleF -/* 36DC24 E006AC04 0200202D */ daddu $a0, $s0, $zero -/* 36DC28 E006AC08 0200202D */ daddu $a0, $s0, $zero -/* 36DC2C E006AC0C 27A50018 */ addiu $a1, $sp, 0x18 -/* 36DC30 E006AC10 0C080114 */ jal shim_guMtxCatF -/* 36DC34 E006AC14 00A0302D */ daddu $a2, $a1, $zero -/* 36DC38 E006AC18 8E620000 */ lw $v0, ($s3) -/* 36DC3C E006AC1C 0040202D */ daddu $a0, $v0, $zero -/* 36DC40 E006AC20 24420008 */ addiu $v0, $v0, 8 -/* 36DC44 E006AC24 AE620000 */ sw $v0, ($s3) -/* 36DC48 E006AC28 3C02FA00 */ lui $v0, 0xfa00 -/* 36DC4C E006AC2C AC820000 */ sw $v0, ($a0) -/* 36DC50 E006AC30 92220003 */ lbu $v0, 3($s1) -/* 36DC54 E006AC34 0801AB33 */ j .LE006ACCC -/* 36DC58 E006AC38 2403F000 */ addiu $v1, $zero, -0x1000 -.LE006AC3C: -/* 36DC5C E006AC3C 8E25003C */ lw $a1, 0x3c($s1) -/* 36DC60 E006AC40 4406B000 */ mfc1 $a2, $f22 -/* 36DC64 E006AC44 4407C000 */ mfc1 $a3, $f24 -/* 36DC68 E006AC48 0C080104 */ jal shim_guRotateF -/* 36DC6C E006AC4C 0200202D */ daddu $a0, $s0, $zero -/* 36DC70 E006AC50 0200202D */ daddu $a0, $s0, $zero -/* 36DC74 E006AC54 27A50018 */ addiu $a1, $sp, 0x18 -/* 36DC78 E006AC58 0C080114 */ jal shim_guMtxCatF -/* 36DC7C E006AC5C 00A0302D */ daddu $a2, $a1, $zero -/* 36DC80 E006AC60 E7B80010 */ swc1 $f24, 0x10($sp) -/* 36DC84 E006AC64 8E250040 */ lw $a1, 0x40($s1) -/* 36DC88 E006AC68 4406B000 */ mfc1 $a2, $f22 -/* 36DC8C E006AC6C 4407B000 */ mfc1 $a3, $f22 -/* 36DC90 E006AC70 0C080104 */ jal shim_guRotateF -/* 36DC94 E006AC74 0200202D */ daddu $a0, $s0, $zero -/* 36DC98 E006AC78 0200202D */ daddu $a0, $s0, $zero -/* 36DC9C E006AC7C 27A50018 */ addiu $a1, $sp, 0x18 -/* 36DCA0 E006AC80 0C080114 */ jal shim_guMtxCatF -/* 36DCA4 E006AC84 00A0302D */ daddu $a2, $a1, $zero -/* 36DCA8 E006AC88 8E250034 */ lw $a1, 0x34($s1) -/* 36DCAC E006AC8C 4406B000 */ mfc1 $a2, $f22 -/* 36DCB0 E006AC90 4407B000 */ mfc1 $a3, $f22 -/* 36DCB4 E006AC94 0C080108 */ jal shim_guTranslateF -/* 36DCB8 E006AC98 0200202D */ daddu $a0, $s0, $zero -/* 36DCBC E006AC9C 0200202D */ daddu $a0, $s0, $zero -/* 36DCC0 E006ACA0 27A50018 */ addiu $a1, $sp, 0x18 -/* 36DCC4 E006ACA4 0C080114 */ jal shim_guMtxCatF -/* 36DCC8 E006ACA8 00A0302D */ daddu $a2, $a1, $zero -/* 36DCCC E006ACAC 8E620000 */ lw $v0, ($s3) -/* 36DCD0 E006ACB0 0040202D */ daddu $a0, $v0, $zero -/* 36DCD4 E006ACB4 24420008 */ addiu $v0, $v0, 8 -/* 36DCD8 E006ACB8 AE620000 */ sw $v0, ($s3) -/* 36DCDC E006ACBC 3C02FA00 */ lui $v0, 0xfa00 -/* 36DCE0 E006ACC0 AC820000 */ sw $v0, ($a0) -/* 36DCE4 E006ACC4 92220003 */ lbu $v0, 3($s1) -/* 36DCE8 E006ACC8 2403B500 */ addiu $v1, $zero, -0x4b00 -.LE006ACCC: -/* 36DCEC E006ACCC 00431025 */ or $v0, $v0, $v1 -/* 36DCF0 E006ACD0 AC820004 */ sw $v0, 4($a0) -/* 36DCF4 E006ACD4 27A40018 */ addiu $a0, $sp, 0x18 -/* 36DCF8 E006ACD8 26940001 */ addiu $s4, $s4, 1 -/* 36DCFC E006ACDC 26310094 */ addiu $s1, $s1, 0x94 -/* 36DD00 E006ACE0 97C50000 */ lhu $a1, ($fp) -/* 36DD04 E006ACE4 3C02800A */ lui $v0, %hi(gDisplayContext) -/* 36DD08 E006ACE8 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0) -/* 36DD0C E006ACEC 00052980 */ sll $a1, $a1, 6 -/* 36DD10 E006ACF0 00B52821 */ addu $a1, $a1, $s5 -/* 36DD14 E006ACF4 0C080118 */ jal shim_guMtxF2L -/* 36DD18 E006ACF8 00452821 */ addu $a1, $v0, $a1 -/* 36DD1C E006ACFC 3C02DA38 */ lui $v0, 0xda38 -/* 36DD20 E006AD00 34420002 */ ori $v0, $v0, 2 -/* 36DD24 E006AD04 3C06D838 */ lui $a2, 0xd838 -/* 36DD28 E006AD08 34C60002 */ ori $a2, $a2, 2 -/* 36DD2C E006AD0C 8E640000 */ lw $a0, ($s3) -/* 36DD30 E006AD10 97C30000 */ lhu $v1, ($fp) -/* 36DD34 E006AD14 0080282D */ daddu $a1, $a0, $zero -/* 36DD38 E006AD18 24840008 */ addiu $a0, $a0, 8 -/* 36DD3C E006AD1C AE640000 */ sw $a0, ($s3) -/* 36DD40 E006AD20 ACA20000 */ sw $v0, ($a1) -/* 36DD44 E006AD24 24620001 */ addiu $v0, $v1, 1 -/* 36DD48 E006AD28 3063FFFF */ andi $v1, $v1, 0xffff -/* 36DD4C E006AD2C 00031980 */ sll $v1, $v1, 6 -/* 36DD50 E006AD30 A7C20000 */ sh $v0, ($fp) -/* 36DD54 E006AD34 3C02800A */ lui $v0, %hi(gDisplayContext) -/* 36DD58 E006AD38 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0) -/* 36DD5C E006AD3C 00751821 */ addu $v1, $v1, $s5 -/* 36DD60 E006AD40 00431021 */ addu $v0, $v0, $v1 -/* 36DD64 E006AD44 ACA20004 */ sw $v0, 4($a1) -/* 36DD68 E006AD48 24820008 */ addiu $v0, $a0, 8 -/* 36DD6C E006AD4C AE620000 */ sw $v0, ($s3) -/* 36DD70 E006AD50 3C02DE00 */ lui $v0, 0xde00 -/* 36DD74 E006AD54 AC820000 */ sw $v0, ($a0) -/* 36DD78 E006AD58 8FA800D8 */ lw $t0, 0xd8($sp) -/* 36DD7C E006AD5C 24020040 */ addiu $v0, $zero, 0x40 -/* 36DD80 E006AD60 AC860008 */ sw $a2, 8($a0) -/* 36DD84 E006AD64 AC82000C */ sw $v0, 0xc($a0) -/* 36DD88 E006AD68 AC880004 */ sw $t0, 4($a0) -/* 36DD8C E006AD6C 8FA80120 */ lw $t0, 0x120($sp) -/* 36DD90 E006AD70 26520094 */ addiu $s2, $s2, 0x94 -/* 36DD94 E006AD74 8D020008 */ lw $v0, 8($t0) -/* 36DD98 E006AD78 24840010 */ addiu $a0, $a0, 0x10 -/* 36DD9C E006AD7C 0282102A */ slt $v0, $s4, $v0 -/* 36DDA0 E006AD80 1440FF3B */ bnez $v0, .LE006AA70 -/* 36DDA4 E006AD84 AE640000 */ sw $a0, ($s3) -.LE006AD88: -/* 36DDA8 E006AD88 3C03800A */ lui $v1, %hi(gMasterGfxPos) -/* 36DDAC E006AD8C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos) -/* 36DDB0 E006AD90 8C620000 */ lw $v0, ($v1) -/* 36DDB4 E006AD94 0040202D */ daddu $a0, $v0, $zero -/* 36DDB8 E006AD98 24420008 */ addiu $v0, $v0, 8 -/* 36DDBC E006AD9C AC620000 */ sw $v0, ($v1) -/* 36DDC0 E006ADA0 3C02E700 */ lui $v0, 0xe700 -/* 36DDC4 E006ADA4 AC820000 */ sw $v0, ($a0) -/* 36DDC8 E006ADA8 AC800004 */ sw $zero, 4($a0) -/* 36DDCC E006ADAC 8FBF0104 */ lw $ra, 0x104($sp) -/* 36DDD0 E006ADB0 8FBE0100 */ lw $fp, 0x100($sp) -/* 36DDD4 E006ADB4 8FB700FC */ lw $s7, 0xfc($sp) -/* 36DDD8 E006ADB8 8FB600F8 */ lw $s6, 0xf8($sp) -/* 36DDDC E006ADBC 8FB500F4 */ lw $s5, 0xf4($sp) -/* 36DDE0 E006ADC0 8FB400F0 */ lw $s4, 0xf0($sp) -/* 36DDE4 E006ADC4 8FB300EC */ lw $s3, 0xec($sp) -/* 36DDE8 E006ADC8 8FB200E8 */ lw $s2, 0xe8($sp) -/* 36DDEC E006ADCC 8FB100E4 */ lw $s1, 0xe4($sp) -/* 36DDF0 E006ADD0 8FB000E0 */ lw $s0, 0xe0($sp) -/* 36DDF4 E006ADD4 D7B80118 */ ldc1 $f24, 0x118($sp) -/* 36DDF8 E006ADD8 D7B60110 */ ldc1 $f22, 0x110($sp) -/* 36DDFC E006ADDC D7B40108 */ ldc1 $f20, 0x108($sp) -/* 36DE00 E006ADE0 03E00008 */ jr $ra -/* 36DE04 E006ADE4 27BD0120 */ addiu $sp, $sp, 0x120 -/* 36DE08 E006ADE8 00000000 */ nop -/* 36DE0C E006ADEC 00000000 */ nop diff --git a/ver/us/asm/nonmatchings/effects/light_rays/light_rays_main.s b/ver/us/asm/nonmatchings/effects/light_rays/light_rays_main.s deleted file mode 100644 index 2b5c538cbf..0000000000 --- a/ver/us/asm/nonmatchings/effects/light_rays/light_rays_main.s +++ /dev/null @@ -1,172 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel light_rays_main -/* 36D208 E006A1E8 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 36D20C E006A1EC F7B60058 */ sdc1 $f22, 0x58($sp) -/* 36D210 E006A1F0 4485B000 */ mtc1 $a1, $f22 -/* 36D214 E006A1F4 F7B80060 */ sdc1 $f24, 0x60($sp) -/* 36D218 E006A1F8 4486C000 */ mtc1 $a2, $f24 -/* 36D21C E006A1FC AFB00028 */ sw $s0, 0x28($sp) -/* 36D220 E006A200 0080802D */ daddu $s0, $a0, $zero -/* 36D224 E006A204 AFB20030 */ sw $s2, 0x30($sp) -/* 36D228 E006A208 24120011 */ addiu $s2, $zero, 0x11 -/* 36D22C E006A20C F7BA0068 */ sdc1 $f26, 0x68($sp) -/* 36D230 E006A210 4487D000 */ mtc1 $a3, $f26 -/* 36D234 E006A214 27A40010 */ addiu $a0, $sp, 0x10 -/* 36D238 E006A218 F7B40050 */ sdc1 $f20, 0x50($sp) -/* 36D23C E006A21C C7B40080 */ lwc1 $f20, 0x80($sp) -/* 36D240 E006A220 2A020002 */ slti $v0, $s0, 2 -/* 36D244 E006A224 AFBF0048 */ sw $ra, 0x48($sp) -/* 36D248 E006A228 AFB70044 */ sw $s7, 0x44($sp) -/* 36D24C E006A22C AFB60040 */ sw $s6, 0x40($sp) -/* 36D250 E006A230 AFB5003C */ sw $s5, 0x3c($sp) -/* 36D254 E006A234 AFB40038 */ sw $s4, 0x38($sp) -/* 36D258 E006A238 AFB30034 */ sw $s3, 0x34($sp) -/* 36D25C E006A23C 10400002 */ beqz $v0, .LE006A248 -/* 36D260 E006A240 AFB1002C */ sw $s1, 0x2c($sp) -/* 36D264 E006A244 24120009 */ addiu $s2, $zero, 9 -.LE006A248: -/* 36D268 E006A248 3C02E007 */ lui $v0, %hi(light_rays_init) -/* 36D26C E006A24C 2442A45C */ addiu $v0, $v0, %lo(light_rays_init) -/* 36D270 E006A250 AFA20018 */ sw $v0, 0x18($sp) -/* 36D274 E006A254 3C02E007 */ lui $v0, %hi(light_rays_update) -/* 36D278 E006A258 2442A580 */ addiu $v0, $v0, %lo(light_rays_update) -/* 36D27C E006A25C AFA2001C */ sw $v0, 0x1c($sp) -/* 36D280 E006A260 3C02E007 */ lui $v0, %hi(light_rays_render) -/* 36D284 E006A264 2442A814 */ addiu $v0, $v0, %lo(light_rays_render) -/* 36D288 E006A268 AFA20020 */ sw $v0, 0x20($sp) -/* 36D28C E006A26C 24020035 */ addiu $v0, $zero, 0x35 -/* 36D290 E006A270 AFA00010 */ sw $zero, 0x10($sp) -/* 36D294 E006A274 AFA00024 */ sw $zero, 0x24($sp) -/* 36D298 E006A278 0C080124 */ jal shim_create_effect_instance -/* 36D29C E006A27C AFA20014 */ sw $v0, 0x14($sp) -/* 36D2A0 E006A280 001220C0 */ sll $a0, $s2, 3 -/* 36D2A4 E006A284 00922021 */ addu $a0, $a0, $s2 -/* 36D2A8 E006A288 00042080 */ sll $a0, $a0, 2 -/* 36D2AC E006A28C 00922021 */ addu $a0, $a0, $s2 -/* 36D2B0 E006A290 00042080 */ sll $a0, $a0, 2 -/* 36D2B4 E006A294 0040B02D */ daddu $s6, $v0, $zero -/* 36D2B8 E006A298 0C08012C */ jal shim_general_heap_malloc -/* 36D2BC E006A29C AED20008 */ sw $s2, 8($s6) -/* 36D2C0 E006A2A0 0040882D */ daddu $s1, $v0, $zero -/* 36D2C4 E006A2A4 16200003 */ bnez $s1, .LE006A2B4 -/* 36D2C8 E006A2A8 AED1000C */ sw $s1, 0xc($s6) -.LE006A2AC: -/* 36D2CC E006A2AC 0801A8AB */ j .LE006A2AC -/* 36D2D0 E006A2B0 00000000 */ nop -.LE006A2B4: -/* 36D2D4 E006A2B4 24020064 */ addiu $v0, $zero, 0x64 -/* 36D2D8 E006A2B8 AE220028 */ sw $v0, 0x28($s1) -/* 36D2DC E006A2BC 2A020002 */ slti $v0, $s0, 2 -/* 36D2E0 E006A2C0 AE300000 */ sw $s0, ($s1) -/* 36D2E4 E006A2C4 AE20002C */ sw $zero, 0x2c($s1) -/* 36D2E8 E006A2C8 E6360010 */ swc1 $f22, 0x10($s1) -/* 36D2EC E006A2CC E6380014 */ swc1 $f24, 0x14($s1) -/* 36D2F0 E006A2D0 E63A0018 */ swc1 $f26, 0x18($s1) -/* 36D2F4 E006A2D4 E6340020 */ swc1 $f20, 0x20($s1) -/* 36D2F8 E006A2D8 10400042 */ beqz $v0, .LE006A3E4 -/* 36D2FC E006A2DC E634001C */ swc1 $f20, 0x1c($s1) -/* 36D300 E006A2E0 06000040 */ bltz $s0, .LE006A3E4 -/* 36D304 E006A2E4 24100001 */ addiu $s0, $zero, 1 -/* 36D308 E006A2E8 8EC20008 */ lw $v0, 8($s6) -/* 36D30C E006A2EC 0202102A */ slt $v0, $s0, $v0 -/* 36D310 E006A2F0 10400049 */ beqz $v0, .LE006A418 -/* 36D314 E006A2F4 26310094 */ addiu $s1, $s1, 0x94 -/* 36D318 E006A2F8 2655FFFF */ addiu $s5, $s2, -1 -/* 36D31C E006A2FC 24170032 */ addiu $s7, $zero, 0x32 -/* 36D320 E006A300 2632006C */ addiu $s2, $s1, 0x6c -/* 36D324 E006A304 0000A02D */ daddu $s4, $zero, $zero -/* 36D328 E006A308 0280982D */ daddu $s3, $s4, $zero -/* 36D32C E006A30C 3C0141C8 */ lui $at, 0x41c8 -/* 36D330 E006A310 4481B000 */ mtc1 $at, $f22 -/* 36D334 E006A314 3C014004 */ lui $at, 0x4004 -/* 36D338 E006A318 4481A800 */ mtc1 $at, $f21 -/* 36D33C E006A31C 4480A000 */ mtc1 $zero, $f20 -.LE006A320: -/* 36D340 E006A320 16A00002 */ bnez $s5, .LE006A32C -/* 36D344 E006A324 0275001A */ div $zero, $s3, $s5 -/* 36D348 E006A328 0007000D */ break 7 -.LE006A32C: -/* 36D34C E006A32C 2401FFFF */ addiu $at, $zero, -1 -/* 36D350 E006A330 16A10004 */ bne $s5, $at, .LE006A344 -/* 36D354 E006A334 3C018000 */ lui $at, 0x8000 -/* 36D358 E006A338 16610002 */ bne $s3, $at, .LE006A344 -/* 36D35C E006A33C 00000000 */ nop -/* 36D360 E006A340 0006000D */ break 6 -.LE006A344: -/* 36D364 E006A344 00001812 */ mflo $v1 -/* 36D368 E006A348 00000000 */ nop -/* 36D36C E006A34C 16A00002 */ bnez $s5, .LE006A358 -/* 36D370 E006A350 0295001A */ div $zero, $s4, $s5 -/* 36D374 E006A354 0007000D */ break 7 -.LE006A358: -/* 36D378 E006A358 2401FFFF */ addiu $at, $zero, -1 -/* 36D37C E006A35C 16A10004 */ bne $s5, $at, .LE006A370 -/* 36D380 E006A360 3C018000 */ lui $at, 0x8000 -/* 36D384 E006A364 16810002 */ bne $s4, $at, .LE006A370 -/* 36D388 E006A368 00000000 */ nop -/* 36D38C E006A36C 0006000D */ break 6 -.LE006A370: -/* 36D390 E006A370 00003012 */ mflo $a2 -/* 36D394 E006A374 0220202D */ daddu $a0, $s1, $zero -/* 36D398 E006A378 0200282D */ daddu $a1, $s0, $zero -/* 36D39C E006A37C 26940014 */ addiu $s4, $s4, 0x14 -/* 36D3A0 E006A380 2673001E */ addiu $s3, $s3, 0x1e -/* 36D3A4 E006A384 26100001 */ addiu $s0, $s0, 1 -/* 36D3A8 E006A388 26310094 */ addiu $s1, $s1, 0x94 -/* 36D3AC E006A38C 2463FFF6 */ addiu $v1, $v1, -0xa -/* 36D3B0 E006A390 44831000 */ mtc1 $v1, $f2 -/* 36D3B4 E006A394 00000000 */ nop -/* 36D3B8 E006A398 468010A0 */ cvt.s.w $f2, $f2 -/* 36D3BC E006A39C 02E63023 */ subu $a2, $s7, $a2 -/* 36D3C0 E006A3A0 44860000 */ mtc1 $a2, $f0 -/* 36D3C4 E006A3A4 00000000 */ nop -/* 36D3C8 E006A3A8 46800020 */ cvt.s.w $f0, $f0 -/* 36D3CC E006A3AC 4600B003 */ div.s $f0, $f22, $f0 -/* 36D3D0 E006A3B0 46000021 */ cvt.d.s $f0, $f0 -/* 36D3D4 E006A3B4 46340000 */ add.d $f0, $f0, $f20 -/* 36D3D8 E006A3B8 E642FFFC */ swc1 $f2, -4($s2) -/* 36D3DC E006A3BC AE460010 */ sw $a2, 0x10($s2) -/* 36D3E0 E006A3C0 46200020 */ cvt.s.d $f0, $f0 -/* 36D3E4 E006A3C4 0C01A800 */ jal func_E006A000 -/* 36D3E8 E006A3C8 E6400000 */ swc1 $f0, ($s2) -/* 36D3EC E006A3CC 8EC20008 */ lw $v0, 8($s6) -/* 36D3F0 E006A3D0 0202102A */ slt $v0, $s0, $v0 -/* 36D3F4 E006A3D4 1440FFD2 */ bnez $v0, .LE006A320 -/* 36D3F8 E006A3D8 26520094 */ addiu $s2, $s2, 0x94 -/* 36D3FC E006A3DC 0801A906 */ j .LE006A418 -/* 36D400 E006A3E0 00000000 */ nop -.LE006A3E4: -/* 36D404 E006A3E4 8EC20008 */ lw $v0, 8($s6) -/* 36D408 E006A3E8 24100001 */ addiu $s0, $zero, 1 -/* 36D40C E006A3EC 0202102A */ slt $v0, $s0, $v0 -/* 36D410 E006A3F0 10400009 */ beqz $v0, .LE006A418 -/* 36D414 E006A3F4 26310094 */ addiu $s1, $s1, 0x94 -.LE006A3F8: -/* 36D418 E006A3F8 0220202D */ daddu $a0, $s1, $zero -/* 36D41C E006A3FC 0C01A82F */ jal func_E006A0BC -/* 36D420 E006A400 0200282D */ daddu $a1, $s0, $zero -/* 36D424 E006A404 26100001 */ addiu $s0, $s0, 1 -/* 36D428 E006A408 8EC20008 */ lw $v0, 8($s6) -/* 36D42C E006A40C 0202102A */ slt $v0, $s0, $v0 -/* 36D430 E006A410 1440FFF9 */ bnez $v0, .LE006A3F8 -/* 36D434 E006A414 26310094 */ addiu $s1, $s1, 0x94 -.LE006A418: -/* 36D438 E006A418 8FA20084 */ lw $v0, 0x84($sp) -/* 36D43C E006A41C AC560000 */ sw $s6, ($v0) -/* 36D440 E006A420 8FBF0048 */ lw $ra, 0x48($sp) -/* 36D444 E006A424 8FB70044 */ lw $s7, 0x44($sp) -/* 36D448 E006A428 8FB60040 */ lw $s6, 0x40($sp) -/* 36D44C E006A42C 8FB5003C */ lw $s5, 0x3c($sp) -/* 36D450 E006A430 8FB40038 */ lw $s4, 0x38($sp) -/* 36D454 E006A434 8FB30034 */ lw $s3, 0x34($sp) -/* 36D458 E006A438 8FB20030 */ lw $s2, 0x30($sp) -/* 36D45C E006A43C 8FB1002C */ lw $s1, 0x2c($sp) -/* 36D460 E006A440 8FB00028 */ lw $s0, 0x28($sp) -/* 36D464 E006A444 D7BA0068 */ ldc1 $f26, 0x68($sp) -/* 36D468 E006A448 D7B80060 */ ldc1 $f24, 0x60($sp) -/* 36D46C E006A44C D7B60058 */ ldc1 $f22, 0x58($sp) -/* 36D470 E006A450 D7B40050 */ ldc1 $f20, 0x50($sp) -/* 36D474 E006A454 03E00008 */ jr $ra -/* 36D478 E006A458 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/ver/us/asm/nonmatchings/effects/light_rays/light_rays_update.s b/ver/us/asm/nonmatchings/effects/light_rays/light_rays_update.s deleted file mode 100644 index e2a248c39a..0000000000 --- a/ver/us/asm/nonmatchings/effects/light_rays/light_rays_update.s +++ /dev/null @@ -1,185 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel light_rays_update -/* 36D5A0 E006A580 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 36D5A4 E006A584 AFB40020 */ sw $s4, 0x20($sp) -/* 36D5A8 E006A588 0080A02D */ daddu $s4, $a0, $zero -/* 36D5AC E006A58C AFBF0024 */ sw $ra, 0x24($sp) -/* 36D5B0 E006A590 AFB3001C */ sw $s3, 0x1c($sp) -/* 36D5B4 E006A594 AFB20018 */ sw $s2, 0x18($sp) -/* 36D5B8 E006A598 AFB10014 */ sw $s1, 0x14($sp) -/* 36D5BC E006A59C AFB00010 */ sw $s0, 0x10($sp) -/* 36D5C0 E006A5A0 8E91000C */ lw $s1, 0xc($s4) -/* 36D5C4 E006A5A4 8E230028 */ lw $v1, 0x28($s1) -/* 36D5C8 E006A5A8 8E240000 */ lw $a0, ($s1) -/* 36D5CC E006A5AC 2862000B */ slti $v0, $v1, 0xb -/* 36D5D0 E006A5B0 10400002 */ beqz $v0, .LE006A5BC -/* 36D5D4 E006A5B4 2462FFFF */ addiu $v0, $v1, -1 -/* 36D5D8 E006A5B8 AE220028 */ sw $v0, 0x28($s1) -.LE006A5BC: -/* 36D5DC E006A5BC 8E22002C */ lw $v0, 0x2c($s1) -/* 36D5E0 E006A5C0 24420001 */ addiu $v0, $v0, 1 -/* 36D5E4 E006A5C4 AE22002C */ sw $v0, 0x2c($s1) -/* 36D5E8 E006A5C8 8E830000 */ lw $v1, ($s4) -/* 36D5EC E006A5CC 30620010 */ andi $v0, $v1, 0x10 -/* 36D5F0 E006A5D0 10400005 */ beqz $v0, .LE006A5E8 -/* 36D5F4 E006A5D4 2402FFEF */ addiu $v0, $zero, -0x11 -/* 36D5F8 E006A5D8 00621024 */ and $v0, $v1, $v0 -/* 36D5FC E006A5DC AE820000 */ sw $v0, ($s4) -/* 36D600 E006A5E0 2402000A */ addiu $v0, $zero, 0xa -/* 36D604 E006A5E4 AE220028 */ sw $v0, 0x28($s1) -.LE006A5E8: -/* 36D608 E006A5E8 8E220028 */ lw $v0, 0x28($s1) -/* 36D60C E006A5EC 04410005 */ bgez $v0, .LE006A604 -/* 36D610 E006A5F0 0040982D */ daddu $s3, $v0, $zero -/* 36D614 E006A5F4 0C080128 */ jal shim_remove_effect -/* 36D618 E006A5F8 0280202D */ daddu $a0, $s4, $zero -/* 36D61C E006A5FC 0801A9FD */ j .LE006A7F4 -/* 36D620 E006A600 00000000 */ nop -.LE006A604: -/* 36D624 E006A604 8E23002C */ lw $v1, 0x2c($s1) -/* 36D628 E006A608 28820002 */ slti $v0, $a0, 2 -/* 36D62C E006A60C 10400030 */ beqz $v0, .LE006A6D0 -/* 36D630 E006A610 00000000 */ nop -/* 36D634 E006A614 0480002E */ bltz $a0, .LE006A6D0 -/* 36D638 E006A618 24120001 */ addiu $s2, $zero, 1 -/* 36D63C E006A61C 8E820008 */ lw $v0, 8($s4) -/* 36D640 E006A620 0242102A */ slt $v0, $s2, $v0 -/* 36D644 E006A624 10400073 */ beqz $v0, .LE006A7F4 -/* 36D648 E006A628 26310094 */ addiu $s1, $s1, 0x94 -/* 36D64C E006A62C 00031080 */ sll $v0, $v1, 2 -/* 36D650 E006A630 00431021 */ addu $v0, $v0, $v1 -/* 36D654 E006A634 02429804 */ sllv $s3, $v0, $s2 -/* 36D658 E006A638 26300028 */ addiu $s0, $s1, 0x28 -.LE006A63C: -/* 36D65C E006A63C 8E020000 */ lw $v0, ($s0) -/* 36D660 E006A640 8E030004 */ lw $v1, 4($s0) -/* 36D664 E006A644 2442FFFF */ addiu $v0, $v0, -1 -/* 36D668 E006A648 24630001 */ addiu $v1, $v1, 1 -/* 36D66C E006A64C AE020000 */ sw $v0, ($s0) -/* 36D670 E006A650 2862000A */ slti $v0, $v1, 0xa -/* 36D674 E006A654 10400005 */ beqz $v0, .LE006A66C -/* 36D678 E006A658 AE030004 */ sw $v1, 4($s0) -/* 36D67C E006A65C 00031040 */ sll $v0, $v1, 1 -/* 36D680 E006A660 00431021 */ addu $v0, $v0, $v1 -/* 36D684 E006A664 00021080 */ sll $v0, $v0, 2 -/* 36D688 E006A668 AE02FFFC */ sw $v0, -4($s0) -.LE006A66C: -/* 36D68C E006A66C 8E030000 */ lw $v1, ($s0) -/* 36D690 E006A670 28620005 */ slti $v0, $v1, 5 -/* 36D694 E006A674 10400005 */ beqz $v0, .LE006A68C -/* 36D698 E006A678 00031040 */ sll $v0, $v1, 1 -/* 36D69C E006A67C 00431021 */ addu $v0, $v0, $v1 -/* 36D6A0 E006A680 000210C0 */ sll $v0, $v0, 3 -/* 36D6A4 E006A684 00431021 */ addu $v0, $v0, $v1 -/* 36D6A8 E006A688 AE02FFFC */ sw $v0, -4($s0) -.LE006A68C: -/* 36D6AC E006A68C C6000030 */ lwc1 $f0, 0x30($s0) -/* 36D6B0 E006A690 C6020064 */ lwc1 $f2, 0x64($s0) -/* 36D6B4 E006A694 46020000 */ add.s $f0, $f0, $f2 -/* 36D6B8 E006A698 8E020000 */ lw $v0, ($s0) -/* 36D6BC E006A69C 1C400004 */ bgtz $v0, .LE006A6B0 -/* 36D6C0 E006A6A0 E6000030 */ swc1 $f0, 0x30($s0) -/* 36D6C4 E006A6A4 0220202D */ daddu $a0, $s1, $zero -/* 36D6C8 E006A6A8 0C01A800 */ jal func_E006A000 -/* 36D6CC E006A6AC 26650001 */ addiu $a1, $s3, 1 -.LE006A6B0: -/* 36D6D0 E006A6B0 26520001 */ addiu $s2, $s2, 1 -/* 36D6D4 E006A6B4 26100094 */ addiu $s0, $s0, 0x94 -/* 36D6D8 E006A6B8 8E820008 */ lw $v0, 8($s4) -/* 36D6DC E006A6BC 0242102A */ slt $v0, $s2, $v0 -/* 36D6E0 E006A6C0 1440FFDE */ bnez $v0, .LE006A63C -/* 36D6E4 E006A6C4 26310094 */ addiu $s1, $s1, 0x94 -/* 36D6E8 E006A6C8 0801A9FD */ j .LE006A7F4 -/* 36D6EC E006A6CC 00000000 */ nop -.LE006A6D0: -/* 36D6F0 E006A6D0 8E820008 */ lw $v0, 8($s4) -/* 36D6F4 E006A6D4 24120001 */ addiu $s2, $zero, 1 -/* 36D6F8 E006A6D8 0242102A */ slt $v0, $s2, $v0 -/* 36D6FC E006A6DC 10400045 */ beqz $v0, .LE006A7F4 -/* 36D700 E006A6E0 26310094 */ addiu $s1, $s1, 0x94 -/* 36D704 E006A6E4 26300064 */ addiu $s0, $s1, 0x64 -.LE006A6E8: -/* 36D708 E006A6E8 0C01A919 */ jal func_E006A464 -/* 36D70C E006A6EC 0220202D */ daddu $a0, $s1, $zero -/* 36D710 E006A6F0 8E02FFC4 */ lw $v0, -0x3c($s0) -/* 36D714 E006A6F4 8E03FFC8 */ lw $v1, -0x38($s0) -/* 36D718 E006A6F8 2442FFFF */ addiu $v0, $v0, -1 -/* 36D71C E006A6FC 24630001 */ addiu $v1, $v1, 1 -/* 36D720 E006A700 AE02FFC4 */ sw $v0, -0x3c($s0) -/* 36D724 E006A704 28620005 */ slti $v0, $v1, 5 -/* 36D728 E006A708 10400007 */ beqz $v0, .LE006A728 -/* 36D72C E006A70C AE03FFC8 */ sw $v1, -0x38($s0) -/* 36D730 E006A710 00031040 */ sll $v0, $v1, 1 -/* 36D734 E006A714 00431021 */ addu $v0, $v0, $v1 -/* 36D738 E006A718 000210C0 */ sll $v0, $v0, 3 -/* 36D73C E006A71C 00431021 */ addu $v0, $v0, $v1 -/* 36D740 E006A720 00021040 */ sll $v0, $v0, 1 -/* 36D744 E006A724 AE02FFC0 */ sw $v0, -0x40($s0) -.LE006A728: -/* 36D748 E006A728 8E03FFC4 */ lw $v1, -0x3c($s0) -/* 36D74C E006A72C 28620005 */ slti $v0, $v1, 5 -/* 36D750 E006A730 10400006 */ beqz $v0, .LE006A74C -/* 36D754 E006A734 00031040 */ sll $v0, $v1, 1 -/* 36D758 E006A738 00431021 */ addu $v0, $v0, $v1 -/* 36D75C E006A73C 000210C0 */ sll $v0, $v0, 3 -/* 36D760 E006A740 00431021 */ addu $v0, $v0, $v1 -/* 36D764 E006A744 00021040 */ sll $v0, $v0, 1 -/* 36D768 E006A748 AE02FFC0 */ sw $v0, -0x40($s0) -.LE006A74C: -/* 36D76C E006A74C 2A62000A */ slti $v0, $s3, 0xa -/* 36D770 E006A750 1040000C */ beqz $v0, .LE006A784 -/* 36D774 E006A754 3C026666 */ lui $v0, 0x6666 -/* 36D778 E006A758 8E03FFC0 */ lw $v1, -0x40($s0) -/* 36D77C E006A75C 00730018 */ mult $v1, $s3 -/* 36D780 E006A760 00001812 */ mflo $v1 -/* 36D784 E006A764 34426667 */ ori $v0, $v0, 0x6667 -/* 36D788 E006A768 00000000 */ nop -/* 36D78C E006A76C 00620018 */ mult $v1, $v0 -/* 36D790 E006A770 00031FC3 */ sra $v1, $v1, 0x1f -/* 36D794 E006A774 00001010 */ mfhi $v0 -/* 36D798 E006A778 00021083 */ sra $v0, $v0, 2 -/* 36D79C E006A77C 00431023 */ subu $v0, $v0, $v1 -/* 36D7A0 E006A780 AE02FFC0 */ sw $v0, -0x40($s0) -.LE006A784: -/* 36D7A4 E006A784 8E02FFC4 */ lw $v0, -0x3c($s0) -/* 36D7A8 E006A788 1C400003 */ bgtz $v0, .LE006A798 -/* 36D7AC E006A78C 0220202D */ daddu $a0, $s1, $zero -/* 36D7B0 E006A790 0C01A82F */ jal func_E006A0BC -/* 36D7B4 E006A794 0240282D */ daddu $a1, $s2, $zero -.LE006A798: -/* 36D7B8 E006A798 8E02002C */ lw $v0, 0x2c($s0) -/* 36D7BC E006A79C 18400003 */ blez $v0, .LE006A7AC -/* 36D7C0 E006A7A0 2442FFFF */ addiu $v0, $v0, -1 -/* 36D7C4 E006A7A4 1C40000D */ bgtz $v0, .LE006A7DC -/* 36D7C8 E006A7A8 AE02002C */ sw $v0, 0x2c($s0) -.LE006A7AC: -/* 36D7CC E006A7AC C606FFF8 */ lwc1 $f6, -8($s0) -/* 36D7D0 E006A7B0 C600001C */ lwc1 $f0, 0x1c($s0) -/* 36D7D4 E006A7B4 C604FFFC */ lwc1 $f4, -4($s0) -/* 36D7D8 E006A7B8 46003180 */ add.s $f6, $f6, $f0 -/* 36D7DC E006A7BC C6000020 */ lwc1 $f0, 0x20($s0) -/* 36D7E0 E006A7C0 C6020000 */ lwc1 $f2, ($s0) -/* 36D7E4 E006A7C4 46002100 */ add.s $f4, $f4, $f0 -/* 36D7E8 E006A7C8 C6000024 */ lwc1 $f0, 0x24($s0) -/* 36D7EC E006A7CC 46001080 */ add.s $f2, $f2, $f0 -/* 36D7F0 E006A7D0 E606FFF8 */ swc1 $f6, -8($s0) -/* 36D7F4 E006A7D4 E604FFFC */ swc1 $f4, -4($s0) -/* 36D7F8 E006A7D8 E6020000 */ swc1 $f2, ($s0) -.LE006A7DC: -/* 36D7FC E006A7DC 26520001 */ addiu $s2, $s2, 1 -/* 36D800 E006A7E0 26100094 */ addiu $s0, $s0, 0x94 -/* 36D804 E006A7E4 8E820008 */ lw $v0, 8($s4) -/* 36D808 E006A7E8 0242102A */ slt $v0, $s2, $v0 -/* 36D80C E006A7EC 1440FFBE */ bnez $v0, .LE006A6E8 -/* 36D810 E006A7F0 26310094 */ addiu $s1, $s1, 0x94 -.LE006A7F4: -/* 36D814 E006A7F4 8FBF0024 */ lw $ra, 0x24($sp) -/* 36D818 E006A7F8 8FB40020 */ lw $s4, 0x20($sp) -/* 36D81C E006A7FC 8FB3001C */ lw $s3, 0x1c($sp) -/* 36D820 E006A800 8FB20018 */ lw $s2, 0x18($sp) -/* 36D824 E006A804 8FB10014 */ lw $s1, 0x14($sp) -/* 36D828 E006A808 8FB00010 */ lw $s0, 0x10($sp) -/* 36D82C E006A80C 03E00008 */ jr $ra -/* 36D830 E006A810 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/effects/lightning/lightning_main.s b/ver/us/asm/nonmatchings/effects/lightning/lightning_main.s deleted file mode 100644 index 7ee510a0c2..0000000000 --- a/ver/us/asm/nonmatchings/effects/lightning/lightning_main.s +++ /dev/null @@ -1,179 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel lightning_main -/* 36E1D0 E006C000 27BDFF98 */ addiu $sp, $sp, -0x68 -/* 36E1D4 E006C004 F7B60050 */ sdc1 $f22, 0x50($sp) -/* 36E1D8 E006C008 4485B000 */ mtc1 $a1, $f22 -/* 36E1DC E006C00C AFB40040 */ sw $s4, 0x40($sp) -/* 36E1E0 E006C010 0080A02D */ daddu $s4, $a0, $zero -/* 36E1E4 E006C014 F7B80058 */ sdc1 $f24, 0x58($sp) -/* 36E1E8 E006C018 4486C000 */ mtc1 $a2, $f24 -/* 36E1EC E006C01C 27A40018 */ addiu $a0, $sp, 0x18 -/* 36E1F0 E006C020 F7BA0060 */ sdc1 $f26, 0x60($sp) -/* 36E1F4 E006C024 4487D000 */ mtc1 $a3, $f26 -/* 36E1F8 E006C028 3C02E007 */ lui $v0, %hi(lightning_init) -/* 36E1FC E006C02C 2442C298 */ addiu $v0, $v0, %lo(lightning_init) -/* 36E200 E006C030 AFA20020 */ sw $v0, 0x20($sp) -/* 36E204 E006C034 3C02E007 */ lui $v0, %hi(lightning_update) -/* 36E208 E006C038 2442C2A0 */ addiu $v0, $v0, %lo(lightning_update) -/* 36E20C E006C03C AFA20024 */ sw $v0, 0x24($sp) -/* 36E210 E006C040 3C02E007 */ lui $v0, %hi(lightning_render) -/* 36E214 E006C044 2442C5A0 */ addiu $v0, $v0, %lo(lightning_render) -/* 36E218 E006C048 AFA20028 */ sw $v0, 0x28($sp) -/* 36E21C E006C04C 24020036 */ addiu $v0, $zero, 0x36 -/* 36E220 E006C050 AFBF0044 */ sw $ra, 0x44($sp) -/* 36E224 E006C054 AFB3003C */ sw $s3, 0x3c($sp) -/* 36E228 E006C058 AFB20038 */ sw $s2, 0x38($sp) -/* 36E22C E006C05C AFB10034 */ sw $s1, 0x34($sp) -/* 36E230 E006C060 AFB00030 */ sw $s0, 0x30($sp) -/* 36E234 E006C064 F7B40048 */ sdc1 $f20, 0x48($sp) -/* 36E238 E006C068 AFA00018 */ sw $zero, 0x18($sp) -/* 36E23C E006C06C AFA0002C */ sw $zero, 0x2c($sp) -/* 36E240 E006C070 0C080124 */ jal shim_create_effect_instance -/* 36E244 E006C074 AFA2001C */ sw $v0, 0x1c($sp) -/* 36E248 E006C078 2404004C */ addiu $a0, $zero, 0x4c -/* 36E24C E006C07C 24030001 */ addiu $v1, $zero, 1 -/* 36E250 E006C080 0040982D */ daddu $s3, $v0, $zero -/* 36E254 E006C084 0C08012C */ jal shim_general_heap_malloc -/* 36E258 E006C088 AE630008 */ sw $v1, 8($s3) -/* 36E25C E006C08C 0040802D */ daddu $s0, $v0, $zero -/* 36E260 E006C090 16000003 */ bnez $s0, .LE006C0A0 -/* 36E264 E006C094 AE62000C */ sw $v0, 0xc($s3) -.LE006C098: -/* 36E268 E006C098 0801B026 */ j .LE006C098 -/* 36E26C E006C09C 00000000 */ nop -.LE006C0A0: -/* 36E270 E006C0A0 2A820003 */ slti $v0, $s4, 3 -/* 36E274 E006C0A4 AE140000 */ sw $s4, ($s0) -/* 36E278 E006C0A8 14400003 */ bnez $v0, .LE006C0B8 -/* 36E27C E006C0AC AE000018 */ sw $zero, 0x18($s0) -/* 36E280 E006C0B0 0801B02F */ j .LE006C0BC -/* 36E284 E006C0B4 2402001E */ addiu $v0, $zero, 0x1e -.LE006C0B8: -/* 36E288 E006C0B8 24020064 */ addiu $v0, $zero, 0x64 -.LE006C0BC: -/* 36E28C E006C0BC AE020014 */ sw $v0, 0x14($s0) -/* 36E290 E006C0C0 241100FF */ addiu $s1, $zero, 0xff -/* 36E294 E006C0C4 24020004 */ addiu $v0, $zero, 4 -/* 36E298 E006C0C8 AE02003C */ sw $v0, 0x3c($s0) -/* 36E29C E006C0CC 24020002 */ addiu $v0, $zero, 2 -/* 36E2A0 E006C0D0 26120048 */ addiu $s2, $s0, 0x48 -/* 36E2A4 E006C0D4 AE020040 */ sw $v0, 0x40($s0) -/* 36E2A8 E006C0D8 2682FFFF */ addiu $v0, $s4, -1 -/* 36E2AC E006C0DC 44800000 */ mtc1 $zero, $f0 -/* 36E2B0 E006C0E0 3C014240 */ lui $at, 0x4240 -/* 36E2B4 E006C0E4 44812000 */ mtc1 $at, $f4 -/* 36E2B8 E006C0E8 3C014200 */ lui $at, 0x4200 -/* 36E2BC E006C0EC 44811000 */ mtc1 $at, $f2 -/* 36E2C0 E006C0F0 3C014100 */ lui $at, 0x4100 -/* 36E2C4 E006C0F4 44813000 */ mtc1 $at, $f6 -/* 36E2C8 E006C0F8 2C420002 */ sltiu $v0, $v0, 2 -/* 36E2CC E006C0FC AE110010 */ sw $s1, 0x10($s0) -/* 36E2D0 E006C100 E6160004 */ swc1 $f22, 4($s0) -/* 36E2D4 E006C104 E6180008 */ swc1 $f24, 8($s0) -/* 36E2D8 E006C108 E61A000C */ swc1 $f26, 0xc($s0) -/* 36E2DC E006C10C AE000048 */ sw $zero, 0x48($s0) -/* 36E2E0 E006C110 AE000044 */ sw $zero, 0x44($s0) -/* 36E2E4 E006C114 E6000020 */ swc1 $f0, 0x20($s0) -/* 36E2E8 E006C118 E600001C */ swc1 $f0, 0x1c($s0) -/* 36E2EC E006C11C E604002C */ swc1 $f4, 0x2c($s0) -/* 36E2F0 E006C120 E6020030 */ swc1 $f2, 0x30($s0) -/* 36E2F4 E006C124 E6000028 */ swc1 $f0, 0x28($s0) -/* 36E2F8 E006C128 E6000024 */ swc1 $f0, 0x24($s0) -/* 36E2FC E006C12C E6060034 */ swc1 $f6, 0x34($s0) -/* 36E300 E006C130 10400039 */ beqz $v0, .LE006C218 -/* 36E304 E006C134 E6020038 */ swc1 $f2, 0x38($s0) -/* 36E308 E006C138 24020001 */ addiu $v0, $zero, 1 -/* 36E30C E006C13C 16820019 */ bne $s4, $v0, .LE006C1A4 -/* 36E310 E006C140 00000000 */ nop -/* 36E314 E006C144 0C080150 */ jal shim_load_effect -/* 36E318 E006C148 24040047 */ addiu $a0, $zero, 0x47 -/* 36E31C E006C14C 0000202D */ daddu $a0, $zero, $zero -/* 36E320 E006C150 3C05C2EC */ lui $a1, 0xc2ec -/* 36E324 E006C154 3C064338 */ lui $a2, 0x4338 -/* 36E328 E006C158 3C07429E */ lui $a3, 0x429e -/* 36E32C E006C15C 3C013F80 */ lui $at, 0x3f80 -/* 36E330 E006C160 4481A000 */ mtc1 $at, $f20 -/* 36E334 E006C164 2402FFFF */ addiu $v0, $zero, -1 -/* 36E338 E006C168 AFA20014 */ sw $v0, 0x14($sp) -/* 36E33C E006C16C 0C023800 */ jal gather_magic_main -/* 36E340 E006C170 E7B40010 */ swc1 $f20, 0x10($sp) -/* 36E344 E006C174 2404003C */ addiu $a0, $zero, 0x3c -/* 36E348 E006C178 0C080150 */ jal shim_load_effect -/* 36E34C E006C17C AE020044 */ sw $v0, 0x44($s0) -/* 36E350 E006C180 3C05C2F0 */ lui $a1, 0xc2f0 -/* 36E354 E006C184 3C06433D */ lui $a2, 0x433d -/* 36E358 E006C188 3C07429A */ lui $a3, 0x429a -/* 36E35C E006C18C 0000202D */ daddu $a0, $zero, $zero -/* 36E360 E006C190 E7B40010 */ swc1 $f20, 0x10($sp) -/* 36E364 E006C194 0C01E000 */ jal bulb_glow_main -/* 36E368 E006C198 AFB20014 */ sw $s2, 0x14($sp) -/* 36E36C E006C19C 0801B087 */ j .LE006C21C -/* 36E370 E006C1A0 2A820003 */ slti $v0, $s4, 3 -.LE006C1A4: -/* 36E374 E006C1A4 0C080150 */ jal shim_load_effect -/* 36E378 E006C1A8 24040057 */ addiu $a0, $zero, 0x57 -/* 36E37C E006C1AC 3C05C2F0 */ lui $a1, 0xc2f0 -/* 36E380 E006C1B0 3C06433D */ lui $a2, 0x433d -/* 36E384 E006C1B4 3C074290 */ lui $a3, 0x4290 -/* 36E388 E006C1B8 3C013F80 */ lui $at, 0x3f80 -/* 36E38C E006C1BC 44810000 */ mtc1 $at, $f0 -/* 36E390 E006C1C0 0000202D */ daddu $a0, $zero, $zero -/* 36E394 E006C1C4 AFA00014 */ sw $zero, 0x14($sp) -/* 36E398 E006C1C8 0C02B800 */ jal snaking_static_main -/* 36E39C E006C1CC E7A00010 */ swc1 $f0, 0x10($sp) -/* 36E3A0 E006C1D0 AE020048 */ sw $v0, 0x48($s0) -/* 36E3A4 E006C1D4 8C42000C */ lw $v0, 0xc($v0) -/* 36E3A8 E006C1D8 AC510028 */ sw $s1, 0x28($v0) -/* 36E3AC E006C1DC 8E020048 */ lw $v0, 0x48($s0) -/* 36E3B0 E006C1E0 8C42000C */ lw $v0, 0xc($v0) -/* 36E3B4 E006C1E4 AC51002C */ sw $s1, 0x2c($v0) -/* 36E3B8 E006C1E8 8E020048 */ lw $v0, 0x48($s0) -/* 36E3BC E006C1EC 8C42000C */ lw $v0, 0xc($v0) -/* 36E3C0 E006C1F0 AC510030 */ sw $s1, 0x30($v0) -/* 36E3C4 E006C1F4 8E020048 */ lw $v0, 0x48($s0) -/* 36E3C8 E006C1F8 8C42000C */ lw $v0, 0xc($v0) -/* 36E3CC E006C1FC AC510018 */ sw $s1, 0x18($v0) -/* 36E3D0 E006C200 8E020048 */ lw $v0, 0x48($s0) -/* 36E3D4 E006C204 8C42000C */ lw $v0, 0xc($v0) -/* 36E3D8 E006C208 AC40001C */ sw $zero, 0x1c($v0) -/* 36E3DC E006C20C 8E020048 */ lw $v0, 0x48($s0) -/* 36E3E0 E006C210 8C42000C */ lw $v0, 0xc($v0) -/* 36E3E4 E006C214 AC510020 */ sw $s1, 0x20($v0) -.LE006C218: -/* 36E3E8 E006C218 2A820003 */ slti $v0, $s4, 3 -.LE006C21C: -/* 36E3EC E006C21C 14400012 */ bnez $v0, .LE006C268 -/* 36E3F0 E006C220 0260102D */ daddu $v0, $s3, $zero -/* 36E3F4 E006C224 0C080150 */ jal shim_load_effect -/* 36E3F8 E006C228 2404004A */ addiu $a0, $zero, 0x4a -/* 36E3FC E006C22C 3C028007 */ lui $v0, %hi(gGameStatusPtr) -/* 36E400 E006C230 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0) -/* 36E404 E006C234 80420070 */ lb $v0, 0x70($v0) -/* 36E408 E006C238 24040001 */ addiu $a0, $zero, 1 -/* 36E40C E006C23C 50440001 */ beql $v0, $a0, .LE006C244 -/* 36E410 E006C240 24040003 */ addiu $a0, $zero, 3 -.LE006C244: -/* 36E414 E006C244 C7A00078 */ lwc1 $f0, 0x78($sp) -/* 36E418 E006C248 4405B000 */ mfc1 $a1, $f22 -/* 36E41C E006C24C 4406C000 */ mfc1 $a2, $f24 -/* 36E420 E006C250 4407D000 */ mfc1 $a3, $f26 -/* 36E424 E006C254 E7A00010 */ swc1 $f0, 0x10($sp) -/* 36E428 E006C258 C7A0007C */ lwc1 $f0, 0x7c($sp) -/* 36E42C E006C25C 0C025000 */ jal flashing_box_shockwave_main -/* 36E430 E006C260 E7A00014 */ swc1 $f0, 0x14($sp) -/* 36E434 E006C264 0260102D */ daddu $v0, $s3, $zero -.LE006C268: -/* 36E438 E006C268 8FBF0044 */ lw $ra, 0x44($sp) -/* 36E43C E006C26C 8FB40040 */ lw $s4, 0x40($sp) -/* 36E440 E006C270 8FB3003C */ lw $s3, 0x3c($sp) -/* 36E444 E006C274 8FB20038 */ lw $s2, 0x38($sp) -/* 36E448 E006C278 8FB10034 */ lw $s1, 0x34($sp) -/* 36E44C E006C27C 8FB00030 */ lw $s0, 0x30($sp) -/* 36E450 E006C280 D7BA0060 */ ldc1 $f26, 0x60($sp) -/* 36E454 E006C284 D7B80058 */ ldc1 $f24, 0x58($sp) -/* 36E458 E006C288 D7B60050 */ ldc1 $f22, 0x50($sp) -/* 36E45C E006C28C D7B40048 */ ldc1 $f20, 0x48($sp) -/* 36E460 E006C290 03E00008 */ jr $ra -/* 36E464 E006C294 27BD0068 */ addiu $sp, $sp, 0x68 diff --git a/ver/us/asm/nonmatchings/effects/lightning/lightning_update.s b/ver/us/asm/nonmatchings/effects/lightning/lightning_update.s deleted file mode 100644 index 53600f0ef3..0000000000 --- a/ver/us/asm/nonmatchings/effects/lightning/lightning_update.s +++ /dev/null @@ -1,222 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel lightning_update -/* 36E470 E006C2A0 27BDFFD8 */ addiu $sp, $sp, -0x28 -/* 36E474 E006C2A4 AFBF0020 */ sw $ra, 0x20($sp) -/* 36E478 E006C2A8 AFB3001C */ sw $s3, 0x1c($sp) -/* 36E47C E006C2AC AFB20018 */ sw $s2, 0x18($sp) -/* 36E480 E006C2B0 AFB10014 */ sw $s1, 0x14($sp) -/* 36E484 E006C2B4 AFB00010 */ sw $s0, 0x10($sp) -/* 36E488 E006C2B8 8C830000 */ lw $v1, ($a0) -/* 36E48C E006C2BC 8C90000C */ lw $s0, 0xc($a0) -/* 36E490 E006C2C0 30620010 */ andi $v0, $v1, 0x10 -/* 36E494 E006C2C4 10400004 */ beqz $v0, .LE006C2D8 -/* 36E498 E006C2C8 2402FFEF */ addiu $v0, $zero, -0x11 -/* 36E49C E006C2CC 00621024 */ and $v0, $v1, $v0 -/* 36E4A0 E006C2D0 AC820000 */ sw $v0, ($a0) -/* 36E4A4 E006C2D4 AE000014 */ sw $zero, 0x14($s0) -.LE006C2D8: -/* 36E4A8 E006C2D8 8E030014 */ lw $v1, 0x14($s0) -/* 36E4AC E006C2DC 8E120000 */ lw $s2, ($s0) -/* 36E4B0 E006C2E0 28620064 */ slti $v0, $v1, 0x64 -/* 36E4B4 E006C2E4 10400002 */ beqz $v0, .LE006C2F0 -/* 36E4B8 E006C2E8 2462FFFF */ addiu $v0, $v1, -1 -/* 36E4BC E006C2EC AE020014 */ sw $v0, 0x14($s0) -.LE006C2F0: -/* 36E4C0 E006C2F0 8E020018 */ lw $v0, 0x18($s0) -/* 36E4C4 E006C2F4 8E050014 */ lw $a1, 0x14($s0) -/* 36E4C8 E006C2F8 24420001 */ addiu $v0, $v0, 1 -/* 36E4CC E006C2FC 04A10010 */ bgez $a1, .LE006C340 -/* 36E4D0 E006C300 AE020018 */ sw $v0, 0x18($s0) -/* 36E4D4 E006C304 0C080128 */ jal shim_remove_effect -/* 36E4D8 E006C308 00000000 */ nop -/* 36E4DC E006C30C 8E040048 */ lw $a0, 0x48($s0) -/* 36E4E0 E006C310 10800004 */ beqz $a0, .LE006C324 -/* 36E4E4 E006C314 00000000 */ nop -/* 36E4E8 E006C318 0C080128 */ jal shim_remove_effect -/* 36E4EC E006C31C 00000000 */ nop -/* 36E4F0 E006C320 AE000048 */ sw $zero, 0x48($s0) -.LE006C324: -/* 36E4F4 E006C324 8E040044 */ lw $a0, 0x44($s0) -/* 36E4F8 E006C328 10800096 */ beqz $a0, .LE006C584 -/* 36E4FC E006C32C 00000000 */ nop -/* 36E500 E006C330 0C080128 */ jal shim_remove_effect -/* 36E504 E006C334 00000000 */ nop -/* 36E508 E006C338 0801B161 */ j .LE006C584 -/* 36E50C E006C33C AE000044 */ sw $zero, 0x44($s0) -.LE006C340: -/* 36E510 E006C340 00A0982D */ daddu $s3, $a1, $zero -/* 36E514 E006C344 8E040044 */ lw $a0, 0x44($s0) -/* 36E518 E006C348 10800007 */ beqz $a0, .LE006C368 -/* 36E51C E006C34C 0040882D */ daddu $s1, $v0, $zero -/* 36E520 E006C350 2A220012 */ slti $v0, $s1, 0x12 -/* 36E524 E006C354 14400005 */ bnez $v0, .LE006C36C -/* 36E528 E006C358 2A420003 */ slti $v0, $s2, 3 -/* 36E52C E006C35C 0C080128 */ jal shim_remove_effect -/* 36E530 E006C360 00000000 */ nop -/* 36E534 E006C364 AE000044 */ sw $zero, 0x44($s0) -.LE006C368: -/* 36E538 E006C368 2A420003 */ slti $v0, $s2, 3 -.LE006C36C: -/* 36E53C E006C36C 14400003 */ bnez $v0, .LE006C37C -/* 36E540 E006C370 2A220007 */ slti $v0, $s1, 7 -/* 36E544 E006C374 10400074 */ beqz $v0, .LE006C548 -/* 36E548 E006C378 2A420003 */ slti $v0, $s2, 3 -.LE006C37C: -/* 36E54C E006C37C C600001C */ lwc1 $f0, 0x1c($s0) -/* 36E550 E006C380 C602002C */ lwc1 $f2, 0x2c($s0) -/* 36E554 E006C384 46020080 */ add.s $f2, $f0, $f2 -/* 36E558 E006C388 44800000 */ mtc1 $zero, $f0 -/* 36E55C E006C38C 00000000 */ nop -/* 36E560 E006C390 4600103C */ c.lt.s $f2, $f0 -/* 36E564 E006C394 00000000 */ nop -/* 36E568 E006C398 45000005 */ bc1f .LE006C3B0 -/* 36E56C E006C39C E602001C */ swc1 $f2, 0x1c($s0) -/* 36E570 E006C3A0 3C014380 */ lui $at, 0x4380 -/* 36E574 E006C3A4 44810000 */ mtc1 $at, $f0 -/* 36E578 E006C3A8 0801B0F4 */ j .LE006C3D0 -/* 36E57C E006C3AC 46001000 */ add.s $f0, $f2, $f0 -.LE006C3B0: -/* 36E580 E006C3B0 3C014380 */ lui $at, 0x4380 -/* 36E584 E006C3B4 44810000 */ mtc1 $at, $f0 -/* 36E588 E006C3B8 00000000 */ nop -/* 36E58C E006C3BC 4602003C */ c.lt.s $f0, $f2 -/* 36E590 E006C3C0 00000000 */ nop -/* 36E594 E006C3C4 45000003 */ bc1f .LE006C3D4 -/* 36E598 E006C3C8 00000000 */ nop -/* 36E59C E006C3CC 46001001 */ sub.s $f0, $f2, $f0 -.LE006C3D0: -/* 36E5A0 E006C3D0 E600001C */ swc1 $f0, 0x1c($s0) -.LE006C3D4: -/* 36E5A4 E006C3D4 8E02003C */ lw $v0, 0x3c($s0) -/* 36E5A8 E006C3D8 14400002 */ bnez $v0, .LE006C3E4 -/* 36E5AC E006C3DC 0222001A */ div $zero, $s1, $v0 -/* 36E5B0 E006C3E0 0007000D */ break 7 -.LE006C3E4: -/* 36E5B4 E006C3E4 2401FFFF */ addiu $at, $zero, -1 -/* 36E5B8 E006C3E8 14410004 */ bne $v0, $at, .LE006C3FC -/* 36E5BC E006C3EC 3C018000 */ lui $at, 0x8000 -/* 36E5C0 E006C3F0 16210002 */ bne $s1, $at, .LE006C3FC -/* 36E5C4 E006C3F4 00000000 */ nop -/* 36E5C8 E006C3F8 0006000D */ break 6 -.LE006C3FC: -/* 36E5CC E006C3FC 00001810 */ mfhi $v1 -/* 36E5D0 E006C400 14600017 */ bnez $v1, .LE006C460 -/* 36E5D4 E006C404 00000000 */ nop -/* 36E5D8 E006C408 C6000020 */ lwc1 $f0, 0x20($s0) -/* 36E5DC E006C40C C6020030 */ lwc1 $f2, 0x30($s0) -/* 36E5E0 E006C410 46020080 */ add.s $f2, $f0, $f2 -/* 36E5E4 E006C414 44800000 */ mtc1 $zero, $f0 -/* 36E5E8 E006C418 00000000 */ nop -/* 36E5EC E006C41C 4600103C */ c.lt.s $f2, $f0 -/* 36E5F0 E006C420 00000000 */ nop -/* 36E5F4 E006C424 45000005 */ bc1f .LE006C43C -/* 36E5F8 E006C428 E6020020 */ swc1 $f2, 0x20($s0) -/* 36E5FC E006C42C 3C014280 */ lui $at, 0x4280 -/* 36E600 E006C430 44810000 */ mtc1 $at, $f0 -/* 36E604 E006C434 0801B117 */ j .LE006C45C -/* 36E608 E006C438 46001000 */ add.s $f0, $f2, $f0 -.LE006C43C: -/* 36E60C E006C43C 3C014280 */ lui $at, 0x4280 -/* 36E610 E006C440 44810000 */ mtc1 $at, $f0 -/* 36E614 E006C444 00000000 */ nop -/* 36E618 E006C448 4602003C */ c.lt.s $f0, $f2 -/* 36E61C E006C44C 00000000 */ nop -/* 36E620 E006C450 45000003 */ bc1f .LE006C460 -/* 36E624 E006C454 00000000 */ nop -/* 36E628 E006C458 46001001 */ sub.s $f0, $f2, $f0 -.LE006C45C: -/* 36E62C E006C45C E6000020 */ swc1 $f0, 0x20($s0) -.LE006C460: -/* 36E630 E006C460 8E020040 */ lw $v0, 0x40($s0) -/* 36E634 E006C464 14400002 */ bnez $v0, .LE006C470 -/* 36E638 E006C468 0222001A */ div $zero, $s1, $v0 -/* 36E63C E006C46C 0007000D */ break 7 -.LE006C470: -/* 36E640 E006C470 2401FFFF */ addiu $at, $zero, -1 -/* 36E644 E006C474 14410004 */ bne $v0, $at, .LE006C488 -/* 36E648 E006C478 3C018000 */ lui $at, 0x8000 -/* 36E64C E006C47C 16210002 */ bne $s1, $at, .LE006C488 -/* 36E650 E006C480 00000000 */ nop -/* 36E654 E006C484 0006000D */ break 6 -.LE006C488: -/* 36E658 E006C488 00001810 */ mfhi $v1 -/* 36E65C E006C48C 14600017 */ bnez $v1, .LE006C4EC -/* 36E660 E006C490 00000000 */ nop -/* 36E664 E006C494 C6000024 */ lwc1 $f0, 0x24($s0) -/* 36E668 E006C498 C6020034 */ lwc1 $f2, 0x34($s0) -/* 36E66C E006C49C 46020080 */ add.s $f2, $f0, $f2 -/* 36E670 E006C4A0 44800000 */ mtc1 $zero, $f0 -/* 36E674 E006C4A4 00000000 */ nop -/* 36E678 E006C4A8 4600103C */ c.lt.s $f2, $f0 -/* 36E67C E006C4AC 00000000 */ nop -/* 36E680 E006C4B0 45000005 */ bc1f .LE006C4C8 -/* 36E684 E006C4B4 E6020024 */ swc1 $f2, 0x24($s0) -/* 36E688 E006C4B8 3C014380 */ lui $at, 0x4380 -/* 36E68C E006C4BC 44810000 */ mtc1 $at, $f0 -/* 36E690 E006C4C0 0801B13A */ j .LE006C4E8 -/* 36E694 E006C4C4 46001000 */ add.s $f0, $f2, $f0 -.LE006C4C8: -/* 36E698 E006C4C8 3C014380 */ lui $at, 0x4380 -/* 36E69C E006C4CC 44810000 */ mtc1 $at, $f0 -/* 36E6A0 E006C4D0 00000000 */ nop -/* 36E6A4 E006C4D4 4602003C */ c.lt.s $f0, $f2 -/* 36E6A8 E006C4D8 00000000 */ nop -/* 36E6AC E006C4DC 45000003 */ bc1f .LE006C4EC -/* 36E6B0 E006C4E0 00000000 */ nop -/* 36E6B4 E006C4E4 46001001 */ sub.s $f0, $f2, $f0 -.LE006C4E8: -/* 36E6B8 E006C4E8 E6000024 */ swc1 $f0, 0x24($s0) -.LE006C4EC: -/* 36E6BC E006C4EC C6000028 */ lwc1 $f0, 0x28($s0) -/* 36E6C0 E006C4F0 C6020038 */ lwc1 $f2, 0x38($s0) -/* 36E6C4 E006C4F4 46020080 */ add.s $f2, $f0, $f2 -/* 36E6C8 E006C4F8 44800000 */ mtc1 $zero, $f0 -/* 36E6CC E006C4FC 00000000 */ nop -/* 36E6D0 E006C500 4600103C */ c.lt.s $f2, $f0 -/* 36E6D4 E006C504 00000000 */ nop -/* 36E6D8 E006C508 45000005 */ bc1f .LE006C520 -/* 36E6DC E006C50C E6020028 */ swc1 $f2, 0x28($s0) -/* 36E6E0 E006C510 3C014280 */ lui $at, 0x4280 -/* 36E6E4 E006C514 44810000 */ mtc1 $at, $f0 -/* 36E6E8 E006C518 0801B150 */ j .LE006C540 -/* 36E6EC E006C51C 46001000 */ add.s $f0, $f2, $f0 -.LE006C520: -/* 36E6F0 E006C520 3C014280 */ lui $at, 0x4280 -/* 36E6F4 E006C524 44810000 */ mtc1 $at, $f0 -/* 36E6F8 E006C528 00000000 */ nop -/* 36E6FC E006C52C 4602003C */ c.lt.s $f0, $f2 -/* 36E700 E006C530 00000000 */ nop -/* 36E704 E006C534 45000004 */ bc1f .LE006C548 -/* 36E708 E006C538 2A420003 */ slti $v0, $s2, 3 -/* 36E70C E006C53C 46001001 */ sub.s $f0, $f2, $f0 -.LE006C540: -/* 36E710 E006C540 E6000028 */ swc1 $f0, 0x28($s0) -/* 36E714 E006C544 2A420003 */ slti $v0, $s2, 3 -.LE006C548: -/* 36E718 E006C548 14400007 */ bnez $v0, .LE006C568 -/* 36E71C E006C54C 2A62000A */ slti $v0, $s3, 0xa -/* 36E720 E006C550 2A220007 */ slti $v0, $s1, 7 -/* 36E724 E006C554 1440000B */ bnez $v0, .LE006C584 -/* 36E728 E006C558 00000000 */ nop -/* 36E72C E006C55C 8E020010 */ lw $v0, 0x10($s0) -/* 36E730 E006C560 0801B15E */ j .LE006C578 -/* 36E734 E006C564 2442FFF3 */ addiu $v0, $v0, -0xd -.LE006C568: -/* 36E738 E006C568 10400006 */ beqz $v0, .LE006C584 -/* 36E73C E006C56C 00000000 */ nop -/* 36E740 E006C570 8E020010 */ lw $v0, 0x10($s0) -/* 36E744 E006C574 2442FFE7 */ addiu $v0, $v0, -0x19 -.LE006C578: -/* 36E748 E006C578 04410002 */ bgez $v0, .LE006C584 -/* 36E74C E006C57C AE020010 */ sw $v0, 0x10($s0) -/* 36E750 E006C580 AE000010 */ sw $zero, 0x10($s0) -.LE006C584: -/* 36E754 E006C584 8FBF0020 */ lw $ra, 0x20($sp) -/* 36E758 E006C588 8FB3001C */ lw $s3, 0x1c($sp) -/* 36E75C E006C58C 8FB20018 */ lw $s2, 0x18($sp) -/* 36E760 E006C590 8FB10014 */ lw $s1, 0x14($sp) -/* 36E764 E006C594 8FB00010 */ lw $s0, 0x10($sp) -/* 36E768 E006C598 03E00008 */ jr $ra -/* 36E76C E006C59C 27BD0028 */ addiu $sp, $sp, 0x28 diff --git a/ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_main.s b/ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_main.s deleted file mode 100644 index f95b7b6039..0000000000 --- a/ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_main.s +++ /dev/null @@ -1,132 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -.section .rodata - -dlabel D_E00BCE50 -.double 0.005 - -.section .text -glabel lightning_bolt_main -/* 3BA030 E00BC000 27BDFF90 */ addiu $sp, $sp, -0x70 -/* 3BA034 E00BC004 F7B40040 */ sdc1 $f20, 0x40($sp) -/* 3BA038 E00BC008 4485A000 */ mtc1 $a1, $f20 -/* 3BA03C E00BC00C F7B60048 */ sdc1 $f22, 0x48($sp) -/* 3BA040 E00BC010 4486B000 */ mtc1 $a2, $f22 -/* 3BA044 E00BC014 F7B80050 */ sdc1 $f24, 0x50($sp) -/* 3BA048 E00BC018 4487C000 */ mtc1 $a3, $f24 -/* 3BA04C E00BC01C F7BA0058 */ sdc1 $f26, 0x58($sp) -/* 3BA050 E00BC020 C7BA0080 */ lwc1 $f26, 0x80($sp) -/* 3BA054 E00BC024 F7BC0060 */ sdc1 $f28, 0x60($sp) -/* 3BA058 E00BC028 C7BC0084 */ lwc1 $f28, 0x84($sp) -/* 3BA05C E00BC02C AFB30034 */ sw $s3, 0x34($sp) -/* 3BA060 E00BC030 0080982D */ daddu $s3, $a0, $zero -/* 3BA064 E00BC034 F7BE0068 */ sdc1 $f30, 0x68($sp) -/* 3BA068 E00BC038 C7BE0088 */ lwc1 $f30, 0x88($sp) -/* 3BA06C E00BC03C 27A40010 */ addiu $a0, $sp, 0x10 -/* 3BA070 E00BC040 AFB1002C */ sw $s1, 0x2c($sp) -/* 3BA074 E00BC044 8FB10090 */ lw $s1, 0x90($sp) -/* 3BA078 E00BC048 3C02E00C */ lui $v0, %hi(lightning_bolt_init) -/* 3BA07C E00BC04C 2442C1D0 */ addiu $v0, $v0, %lo(lightning_bolt_init) -/* 3BA080 E00BC050 AFA20018 */ sw $v0, 0x18($sp) -/* 3BA084 E00BC054 3C02E00C */ lui $v0, %hi(lightning_bolt_update) -/* 3BA088 E00BC058 2442C238 */ addiu $v0, $v0, %lo(lightning_bolt_update) -/* 3BA08C E00BC05C AFA2001C */ sw $v0, 0x1c($sp) -/* 3BA090 E00BC060 3C02E00C */ lui $v0, %hi(lightning_bolt_render) -/* 3BA094 E00BC064 2442C2E8 */ addiu $v0, $v0, %lo(lightning_bolt_render) -/* 3BA098 E00BC068 AFA20020 */ sw $v0, 0x20($sp) -/* 3BA09C E00BC06C 2402005E */ addiu $v0, $zero, 0x5e -/* 3BA0A0 E00BC070 AFBF0038 */ sw $ra, 0x38($sp) -/* 3BA0A4 E00BC074 AFB20030 */ sw $s2, 0x30($sp) -/* 3BA0A8 E00BC078 AFB00028 */ sw $s0, 0x28($sp) -/* 3BA0AC E00BC07C AFA00010 */ sw $zero, 0x10($sp) -/* 3BA0B0 E00BC080 AFA00024 */ sw $zero, 0x24($sp) -/* 3BA0B4 E00BC084 0C080124 */ jal shim_create_effect_instance -/* 3BA0B8 E00BC088 AFA20014 */ sw $v0, 0x14($sp) -/* 3BA0BC E00BC08C 24040118 */ addiu $a0, $zero, 0x118 -/* 3BA0C0 E00BC090 24030001 */ addiu $v1, $zero, 1 -/* 3BA0C4 E00BC094 0040902D */ daddu $s2, $v0, $zero -/* 3BA0C8 E00BC098 0C08012C */ jal shim_general_heap_malloc -/* 3BA0CC E00BC09C AE430008 */ sw $v1, 8($s2) -/* 3BA0D0 E00BC0A0 0040802D */ daddu $s0, $v0, $zero -/* 3BA0D4 E00BC0A4 16000003 */ bnez $s0, .LE00BC0B4 -/* 3BA0D8 E00BC0A8 AE42000C */ sw $v0, 0xc($s2) -.LE00BC0AC: -/* 3BA0DC E00BC0AC 0802F02B */ j .LE00BC0AC -/* 3BA0E0 E00BC0B0 00000000 */ nop -.LE00BC0B4: -/* 3BA0E4 E00BC0B4 AE130000 */ sw $s3, ($s0) -/* 3BA0E8 E00BC0B8 1E200004 */ bgtz $s1, .LE00BC0CC -/* 3BA0EC E00BC0BC AE00002C */ sw $zero, 0x2c($s0) -/* 3BA0F0 E00BC0C0 240203E8 */ addiu $v0, $zero, 0x3e8 -/* 3BA0F4 E00BC0C4 0802F034 */ j .LE00BC0D0 -/* 3BA0F8 E00BC0C8 AE020028 */ sw $v0, 0x28($s0) -.LE00BC0CC: -/* 3BA0FC E00BC0CC AE110028 */ sw $s1, 0x28($s0) -.LE00BC0D0: -/* 3BA100 E00BC0D0 461AA081 */ sub.s $f2, $f20, $f26 -/* 3BA104 E00BC0D4 46021082 */ mul.s $f2, $f2, $f2 -/* 3BA108 E00BC0D8 00000000 */ nop -/* 3BA10C E00BC0DC 461CB101 */ sub.s $f4, $f22, $f28 -/* 3BA110 E00BC0E0 46042102 */ mul.s $f4, $f4, $f4 -/* 3BA114 E00BC0E4 00000000 */ nop -/* 3BA118 E00BC0E8 241100FF */ addiu $s1, $zero, 0xff -/* 3BA11C E00BC0EC AE11003C */ sw $s1, 0x3c($s0) -/* 3BA120 E00BC0F0 E6140010 */ swc1 $f20, 0x10($s0) -/* 3BA124 E00BC0F4 E6160014 */ swc1 $f22, 0x14($s0) -/* 3BA128 E00BC0F8 461EC001 */ sub.s $f0, $f24, $f30 -/* 3BA12C E00BC0FC E6180018 */ swc1 $f24, 0x18($s0) -/* 3BA130 E00BC100 E61A001C */ swc1 $f26, 0x1c($s0) -/* 3BA134 E00BC104 46000002 */ mul.s $f0, $f0, $f0 -/* 3BA138 E00BC108 00000000 */ nop -/* 3BA13C E00BC10C E61C0020 */ swc1 $f28, 0x20($s0) -/* 3BA140 E00BC110 E61E0024 */ swc1 $f30, 0x24($s0) -/* 3BA144 E00BC114 E6140004 */ swc1 $f20, 4($s0) -/* 3BA148 E00BC118 E6160008 */ swc1 $f22, 8($s0) -/* 3BA14C E00BC11C 46041080 */ add.s $f2, $f2, $f4 -/* 3BA150 E00BC120 E618000C */ swc1 $f24, 0xc($s0) -/* 3BA154 E00BC124 44802000 */ mtc1 $zero, $f4 -/* 3BA158 E00BC128 46001300 */ add.s $f12, $f2, $f0 -/* 3BA15C E00BC12C C7A0008C */ lwc1 $f0, 0x8c($sp) -/* 3BA160 E00BC130 46046032 */ c.eq.s $f12, $f4 -/* 3BA164 E00BC134 00000000 */ nop -/* 3BA168 E00BC138 45000003 */ bc1f .LE00BC148 -/* 3BA16C E00BC13C E600004C */ swc1 $f0, 0x4c($s0) -/* 3BA170 E00BC140 0802F067 */ j .LE00BC19C -/* 3BA174 E00BC144 0000102D */ daddu $v0, $zero, $zero -.LE00BC148: -/* 3BA178 E00BC148 0C080154 */ jal shim_sqrtf -/* 3BA17C E00BC14C 00000000 */ nop -/* 3BA180 E00BC150 24040167 */ addiu $a0, $zero, 0x167 -/* 3BA184 E00BC154 46000021 */ cvt.d.s $f0, $f0 -/* 3BA188 E00BC158 3C01E00C */ lui $at, %hi(D_E00BCE50) -/* 3BA18C E00BC15C D422CE50 */ ldc1 $f2, %lo(D_E00BCE50)($at) -/* 3BA190 E00BC160 240200DC */ addiu $v0, $zero, 0xdc -/* 3BA194 E00BC164 46220002 */ mul.d $f0, $f0, $f2 -/* 3BA198 E00BC168 00000000 */ nop -/* 3BA19C E00BC16C AE020034 */ sw $v0, 0x34($s0) -/* 3BA1A0 E00BC170 24020014 */ addiu $v0, $zero, 0x14 -/* 3BA1A4 E00BC174 AE110030 */ sw $s1, 0x30($s0) -/* 3BA1A8 E00BC178 AE020038 */ sw $v0, 0x38($s0) -/* 3BA1AC E00BC17C AE110040 */ sw $s1, 0x40($s0) -/* 3BA1B0 E00BC180 AE110044 */ sw $s1, 0x44($s0) -/* 3BA1B4 E00BC184 AE110048 */ sw $s1, 0x48($s0) -/* 3BA1B8 E00BC188 46200020 */ cvt.s.d $f0, $f0 -/* 3BA1BC E00BC18C 0C080138 */ jal shim_rand_int -/* 3BA1C0 E00BC190 E6000114 */ swc1 $f0, 0x114($s0) -/* 3BA1C4 E00BC194 AE020110 */ sw $v0, 0x110($s0) -/* 3BA1C8 E00BC198 0240102D */ daddu $v0, $s2, $zero -.LE00BC19C: -/* 3BA1CC E00BC19C 8FBF0038 */ lw $ra, 0x38($sp) -/* 3BA1D0 E00BC1A0 8FB30034 */ lw $s3, 0x34($sp) -/* 3BA1D4 E00BC1A4 8FB20030 */ lw $s2, 0x30($sp) -/* 3BA1D8 E00BC1A8 8FB1002C */ lw $s1, 0x2c($sp) -/* 3BA1DC E00BC1AC 8FB00028 */ lw $s0, 0x28($sp) -/* 3BA1E0 E00BC1B0 D7BE0068 */ ldc1 $f30, 0x68($sp) -/* 3BA1E4 E00BC1B4 D7BC0060 */ ldc1 $f28, 0x60($sp) -/* 3BA1E8 E00BC1B8 D7BA0058 */ ldc1 $f26, 0x58($sp) -/* 3BA1EC E00BC1BC D7B80050 */ ldc1 $f24, 0x50($sp) -/* 3BA1F0 E00BC1C0 D7B60048 */ ldc1 $f22, 0x48($sp) -/* 3BA1F4 E00BC1C4 D7B40040 */ ldc1 $f20, 0x40($sp) -/* 3BA1F8 E00BC1C8 03E00008 */ jr $ra -/* 3BA1FC E00BC1CC 27BD0070 */ addiu $sp, $sp, 0x70 diff --git a/ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_update.s b/ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_update.s deleted file mode 100644 index 227a6e00ab..0000000000 --- a/ver/us/asm/nonmatchings/effects/lightning_bolt/lightning_bolt_update.s +++ /dev/null @@ -1,53 +0,0 @@ -.set noat # allow manual use of $at -.set noreorder # don't insert nops after branches - -glabel lightning_bolt_update -/* 3BA268 E00BC238 27BDFFE8 */ addiu $sp, $sp, -0x18 -/* 3BA26C E00BC23C AFBF0010 */ sw $ra, 0x10($sp) -/* 3BA270 E00BC240 8C830000 */ lw $v1, ($a0) -/* 3BA274 E00BC244 8C86000C */ lw $a2, 0xc($a0) -/* 3BA278 E00BC248 30620010 */ andi $v0, $v1, 0x10 -/* 3BA27C E00BC24C 8CC70000 */ lw $a3, ($a2) -/* 3BA280 E00BC250 10400005 */ beqz $v0, .LE00BC268 -/* 3BA284 E00BC254 2402FFEF */ addiu $v0, $zero, -0x11 -/* 3BA288 E00BC258 00621024 */ and $v0, $v1, $v0 -/* 3BA28C E00BC25C AC820000 */ sw $v0, ($a0) -/* 3BA290 E00BC260 24020010 */ addiu $v0, $zero, 0x10 -/* 3BA294 E00BC264 ACC20028 */ sw $v0, 0x28($a2) -.LE00BC268: -/* 3BA298 E00BC268 8CC30028 */ lw $v1, 0x28($a2) -/* 3BA29C E00BC26C 286203E8 */ slti $v0, $v1, 0x3e8 -/* 3BA2A0 E00BC270 10400002 */ beqz $v0, .LE00BC27C -/* 3BA2A4 E00BC274 2462FFFF */ addiu $v0, $v1, -1 -/* 3BA2A8 E00BC278 ACC20028 */ sw $v0, 0x28($a2) -.LE00BC27C: -/* 3BA2AC E00BC27C 8CC2002C */ lw $v0, 0x2c($a2) -/* 3BA2B0 E00BC280 8CC30028 */ lw $v1, 0x28($a2) -/* 3BA2B4 E00BC284 24450001 */ addiu $a1, $v0, 1 -/* 3BA2B8 E00BC288 04610005 */ bgez $v1, .LE00BC2A0 -/* 3BA2BC E00BC28C ACC5002C */ sw $a1, 0x2c($a2) -/* 3BA2C0 E00BC290 0C080128 */ jal shim_remove_effect -/* 3BA2C4 E00BC294 00000000 */ nop -/* 3BA2C8 E00BC298 0802F0B7 */ j .LE00BC2DC -/* 3BA2CC E00BC29C 00000000 */ nop -.LE00BC2A0: -/* 3BA2D0 E00BC2A0 24020002 */ addiu $v0, $zero, 2 -/* 3BA2D4 E00BC2A4 14E20002 */ bne $a3, $v0, .LE00BC2B0 -/* 3BA2D8 E00BC2A8 28A2000B */ slti $v0, $a1, 0xb -/* 3BA2DC E00BC2AC 28A20028 */ slti $v0, $a1, 0x28 -.LE00BC2B0: -/* 3BA2E0 E00BC2B0 1440000A */ bnez $v0, .LE00BC2DC -/* 3BA2E4 E00BC2B4 00000000 */ nop -/* 3BA2E8 E00BC2B8 3C013FE0 */ lui $at, 0x3fe0 -/* 3BA2EC E00BC2BC 44811800 */ mtc1 $at, $f3 -/* 3BA2F0 E00BC2C0 44801000 */ mtc1 $zero, $f2 -/* 3BA2F4 E00BC2C4 C4C0003C */ lwc1 $f0, 0x3c($a2) -/* 3BA2F8 E00BC2C8 46800021 */ cvt.d.w $f0, $f0 -/* 3BA2FC E00BC2CC 46220002 */ mul.d $f0, $f0, $f2 -/* 3BA300 E00BC2D0 00000000 */ nop -/* 3BA304 E00BC2D4 4620010D */ trunc.w.d $f4, $f0 -/* 3BA308 E00BC2D8 E4C4003C */ swc1 $f4, 0x3c($a2) -.LE00BC2DC: -/* 3BA30C E00BC2DC 8FBF0010 */ lw $ra, 0x10($sp) -/* 3BA310 E00BC2E0 03E00008 */ jr $ra -/* 3BA314 E00BC2E4 27BD0018 */ addiu $sp, $sp, 0x18 diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 3b64ce1744..2822dc70f8 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -2869,7 +2869,37 @@ segments: subsegments: - [0x337240, c, sparkles] - [0x337F10, data] - - [0x337FC0, bin] # sparkles, stars_shimmer, shimmer_burst, shimmer_wave, pink_sparkles gfx + - name: effect_gfx_sparkles + dir: effects/gfx + type: code + start: 0x337FC0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x337FC0, c, sparkles] + - start: 0x337FC0 + type: .data + name: sparkles + subsegments: + - [0x337FC0, ia8, D_09000000_337FC0, 176, 22] + - [0x338EE0, gfx, D_09000F20_338EE0] + - [0x338F88, vtx, D_09000FC8_338F88] + - [0x338FC8, vtx, D_09001008_338FC8] + - [0x339008, vtx, D_09001048_339008] + - [0x339048, vtx, D_09001088_339048] + - [0x339088, vtx, D_090010C8_339088] + - [0x3390C8, vtx, D_09001108_3390C8] + - [0x339108, vtx, D_09001148_339108] + - [0x339148, vtx, D_09001188_339148] + - [0x339188, gfx, D_090011C8_339188] + - [0x3391A0, gfx, D_090011E0_3391A0] + - [0x3391B8, gfx, D_090011F8_3391B8] + - [0x3391D0, gfx, D_09001210_3391D0] + - [0x3391E8, gfx, D_09001228_3391E8] + - [0x339200, gfx, D_09001240_339200] + - [0x339218, gfx, D_09001258_339218] + - [0x339230, gfx, D_09001270_339230] + - [0x339248] - name: effect_shape_spell dir: effects type: code @@ -2887,7 +2917,28 @@ segments: subsegments: - [0x33B180, c, gather_energy_pink] - [0x33BB70, data] - - [0x33BBD0, bin] # gather_energy_pink gfx + - name: effect_gfx_gather_energy_pink + dir: effects/gfx + type: code + start: 0x33BBD0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x33BBD0, c, gather_energy_pink] + - start: 0x33BBD0 + type: .data + name: gather_energy_pink + subsegments: + - [0x33BBD0, i4, D_09000000_33BBD0, 64, 16] + - [0x33BDD0, i4, D_09000200_33BDD0, 64, 16] + - [0x33BFD0, i4, D_09000400_33BFD0, 64, 64] + - [0x33C7D0, vtx, D_09000C00_33C7D0] + - [0x33C970, gfx, D_09000DA0_33C970] + - [0x33C9F8, gfx, D_09000E28_33C9F8] + - [0x33CAE0, vtx, D_09000F10_33CAE0] + - [0x33CC80, gfx, D_090010B0_33CC80] + - [0x33CD08, gfx, D_09001138_33CD08] + - [0x33CDE8] - name: effect_drop_leaves dir: effects type: code @@ -3489,7 +3540,25 @@ segments: subsegments: - [0x36D020, c, light_rays] - [0x36DE10, data] - - [0x36DF90, bin] # light_rays gfx + - name: effect_gfx_light_rays + dir: effects/gfx + type: code + start: 0x36DF90 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x36DF90, c, light_rays] + - start: 0x36DF90 + type: .data + name: light_rays + subsegments: + - [0x36DF90, i4, D_09000000_36DF90, 16, 16] + - [0x36E010, vtx, D_09000080_36E010] + - [0x36E040, gfx, D_090000B0_36E040] + - [0x36E060, vtx, D_090000D0_36E060] + - [0x36E0A0, gfx, D_09000110_36E0A0] + - [0x36E0C0, gfx, D_09000130_36E0C0] + - [0x36E168, gfx, D_090001D8_36E168] - name: effect_lightning dir: effects type: code @@ -3498,7 +3567,57 @@ segments: subsegments: - [0x36E1D0, c, lightning] - [0x36ED30, data] - - [0x36ED60, bin] # lightning gfx + - name: effect_gfx_lightning + dir: effects/gfx + type: code + start: 0x36ED60 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x36ED60, c, lightning] + - start: 0x36ED60 + type: .data + name: lightning + subsegments: + - [0x36ED60, i8, D_09000000_36ED60, 128, 32] + - [0x36FD60, vtx, D_09001000_36FD60] + - [0x36FF40, vtx, D_090011E0_36FF40] + - [0x370080, vtx, D_09001320_370080] + - [0x370280, vtx, D_09001520_370280] + - [0x3703A0, vtx, D_09001640_3703A0] + - [0x3705A0, vtx, D_09001840_3705A0] + - [0x370620, vtx, D_090018C0_370620] + - [0x3706A0, vtx, D_09001940_3706A0] + - [0x370720, vtx, D_090019C0_370720] + - [0x3707A0, vtx, D_09001A40_3707A0] + - [0x370820, vtx, D_09001AC0_370820] + - [0x3709A0, vtx, D_09001C40_3709A0] + - [0x370B20, vtx, D_09001DC0_370B20] + - [0x370CA0, vtx, D_09001F40_370CA0] + - [0x370E20, vtx, D_090020C0_370E20] + - [0x370FA0, vtx, D_09002240_370FA0] + - [0x3711A0, vtx, D_09002440_3711A0] + - [0x371220, vtx, D_090024C0_371220] + - [0x371250, vtx, D_090024F0_371250] + - [0x3713D0, vtx, D_09002670_3713D0] + - [0x371460, vtx, D_09002700_371460] + - [0x371660, vtx, D_09002900_371660] + - [0x3716E0, vtx, D_09002980_3716E0] + - [0x371710, vtx, D_090029B0_371710] + - [0x371890, vtx, D_09002B30_371890] + - [0x371920, vtx, D_09002BC0_371920] + - [0x371B20, vtx, D_09002DC0_371B20] + - [0x371D20, vtx, D_09002FC0_371D20] + - [0x371DA0, vtx, D_09003040_371DA0] + - [0x371FA0, vtx, D_09003240_371FA0] + - [0x371FE0, gfx, D_09003280_371FE0] + - [0x372058, gfx, D_090032F8_372058] + - [0x3720D8, gfx, D_09003378_3720D8] + - [0x372140, gfx, D_090033E0_372140] + - [0x3722E0, gfx, D_09003580_3722E0] + - [0x3724D8, gfx, D_09003778_3724D8] + - [0x3725E8, gfx, D_09003888_3725E8] + - [0x3726A8, gfx, D_09003948_3726A8] - name: effect_fire_breath dir: effects type: code @@ -3625,7 +3744,27 @@ segments: subsegments: - [0x37A3F0, c, bulb_glow] - [0x37ACF0, data] - - [0x37ADD0, bin] # bulb_glow gfx + - name: effect_gfx_bulb_glow + dir: effects/gfx + type: code + start: 0x37ADD0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x37ADD0, c, bulb_glow] + - start: 0x37ADD0 + type: .data + name: bulb_glow + subsegments: + - [0x37ADD0, rgba16, D_09000000_37ADD0, 32, 32] + - [0x37B5D0, i8, D_09000800_37B5D0, 32, 32] + - [0x37B9D0, i4, D_09000C00_37B9D0, 64, 64] + - [0x37C1D0, gfx, D_09001400_37C1D0] + - [0x37C288, gfx, D_090014B8_37C288] + - [0x37C340, gfx, D_09001570_37C340] + - [0x37C3E8, gfx, D_09001618_37C3E8] + - [0x37C490, gfx, D_090016C0_37C490] + - [0x37C538] - name: effect_effect_3D dir: effects type: code @@ -3837,7 +3976,30 @@ segments: subsegments: - [0x389850, c, firework] - [0x38A2F0, data] - - [0x38A350, bin] # firework gfx + - name: effect_gfx_firework + dir: effects/gfx + type: code + start: 0x38A350 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x38A350, c, firework] + - start: 0x38A350 + type: .data + name: firework + subsegments: + - [0x38A350, i4, D_09000000_38A350, 32, 128] + - [0x38AB50, vtx, D_09000800_38AB50] + - [0x38AB90, vtx, D_09000840_38AB90] + - [0x38ABD0, vtx, D_09000880_38ABD0] + - [0x38AC10, vtx, D_090008C0_38AC10] + - [0x38AC50, vtx, D_09000900_38AC50] + - [0x38AC90, gfx, D_09000940_38AC90] + - [0x38AD50, gfx, D_09000A00_38AD50] + - [0x38AD70, gfx, D_09000A20_38AD70] + - [0x38AD90, gfx, D_09000A40_38AD90] + - [0x38ADB0, gfx, D_09000A60_38ADB0] + - [0x38ADD0, gfx, D_09000A80_38ADD0] - name: effect_confetti dir: effects type: code @@ -3846,7 +4008,27 @@ segments: subsegments: - [0x38ADF0, c, confetti] - [0x38BAB0, data] - - [0x38BBA0, bin] # confetti gfx + - name: effect_gfx_confetti + dir: effects/gfx + type: code + start: 0x38BBA0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x38BBA0, c, confetti] + - start: 0x38BBA0 + type: .data + name: confetti + subsegments: + - [0x38BBA0, ia4, D_09000000_38BBA0, 16, 256] + - [0x38C3A0, vtx, D_09000800_38C3A0] + - [0x38C3E0, vtx, D_09000840_38C3E0] + - [0x38C420, vtx, D_09000880_38C420] + - [0x38C460, vtx, D_090008C0_38C460] + - [0x38C4A0, vtx, D_09000900_38C4A0] + - [0x38C4E0, gfx, D_09000940_38C4E0] + - [0x38C588, gfx, D_090009E8_38C588] + - [0x38C5A0, gfx, D_09000A00_38C5A0] - name: effect_snowfall dir: effects type: code @@ -4045,7 +4227,24 @@ segments: subsegments: - [0x3965B0, c, chomp_drop] - [0x397010] - - [0x397040, bin] # chomp_drop gfx + - name: effect_gfx_chomp_drop + dir: effects/gfx + type: code + start: 0x397040 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x397040, c, chomp_drop] + - start: 0x397040 + type: .data + name: chomp_drop + subsegments: + - [0x397040, i4, D_09000000_397040, 64, 64] + - [0x397840, ia4, D_09000800_397840, 64, 64] + - [0x398040, vtx, D_09001000_398040] + - [0x398080, gfx, D_09001040_398080] + - [0x398128, gfx, D_090010E8_398128] + - [0x3981D0, gfx, D_09001190_3981D0] - name: effect_quizmo_stage dir: effects type: code @@ -4268,7 +4467,21 @@ segments: subsegments: - [0x3BA030, c, lightning_bolt] - [0x3BAC60] - - [0x3BAEA0, bin] # lightning_bolt gfx + - name: effect_gfx_lightning_bolt + dir: effects/gfx + type: code + start: 0x3BAEA0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3BAEA0, c, lightning_bolt] + - start: 0x3BAEA0 + type: .data + name: lightning_bolt + subsegments: + - [0x3BAEA0, i8, D_09000000_3BAEA0, 128, 32] + - [0x3BBEA0, gfx, D_09001000_3BBEA0] + - [0x3BBF58] - name: effect_water_splash dir: effects type: code @@ -4333,7 +4546,38 @@ segments: subsegments: - [0x3CC9E0, c, effect_63] - [0x3CD670, data] - - [0x3CD6E0, bin] # effect_63 gfx + - name: effect_gfx_effect_63 + dir: effects/gfx + type: code + start: 0x3CD6E0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3CD6E0, c, effect_63] + - start: 0x3CD6E0 + type: .data + name: effect_63 + subsegments: + - [0x3CD6E0, i8, D_09000000_3CD6E0, 32, 32] + - [0x3CDAE0, i4, D_09000400_3CDAE0, 32, 128] + - [0x3CE2E0, i8, D_09000C00_3CE2E0, 32, 32] + - [0x3CE6E0, i8, D_09001000_3CE6E0, 32, 64] + - [0x3CEEE0, vtx, D_09001800_3CEEE0] + - [0x3CEF20, vtx, D_09001840_3CEF20] + - [0x3CEF60, vtx, D_09001880_3CEF60] + - [0x3CEFA0, vtx, D_090018C0_3CEFA0] + - [0x3CEFE0, vtx, D_09001900_3CEFE0] + - [0x3CF040, gfx, D_09001960_3CF040] + - [0x3CF068, gfx, D_09001988_3CF068] + - [0x3CF088, gfx, D_090019A8_3CF088] + - [0x3CF0A8, gfx, D_090019C8_3CF0A8] + - [0x3CF0C8, gfx, D_090019E8_3CF0C8] + - [0x3CF0E8, gfx, D_09001A08_3CF0E8] + - [0x3CF1D0, gfx, D_09001AF0_3CF1D0] + - [0x3CF250, gfx, D_09001B70_3CF250] + - [0x3CF338, vtx, D_09001C58_3CF338] + - [0x3CF378, gfx, D_09001C98_3CF378] + - [0x3CF398] - name: effect_throw_spiny dir: effects type: code @@ -4372,7 +4616,21 @@ segments: subsegments: - [0x3D0500, c, effect_65] - [0x3D11B0, data] - - [0x3D11E0, bin] # effect_65 gfx + - name: effect_gfx_effect_65 + dir: effects/gfx + type: code + start: 0x3D11E0 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3D11E0, c, effect_65] + - start: 0x3D11E0 + type: .data + name: effect_65 + subsegments: + - [0x3D11E0, i4, D_09000000_3D11E0, 64, 32] + - [0x3D15E0, gfx, D_09000400_3D15E0] + - [0x3D1688] - name: effect_tubba_heart_attack dir: effects type: code @@ -4514,7 +4772,32 @@ segments: subsegments: - [0x3D8720, c, cold_breath] - [0x3D8F30, data] - - [0x3D9100, bin] # ecold_breath gfx + - name: effect_gfx_cold_breath + dir: effects/gfx + type: code + start: 0x3D9100 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3D9100, c, cold_breath] + - start: 0x3D9100 + type: .data + name: cold_breath + subsegments: + - [0x3D9100, i8, D_09000000_3D9100, 32, 128] + - [0x3DA100, i8, D_09001000_3DA100, 32, 128] + - [0x3DB100, gfx, D_09002000_3DB100] + - [0x3DB1C0, vtx, D_090020C0_3DB1C0] + - [0x3DB200, vtx, D_09002100_3DB200] + - [0x3DB240, vtx, D_09002140_3DB240] + - [0x3DB280, vtx, D_09002180_3DB280] + - [0x3DB2C0, vtx, D_090021C0_3DB2C0] + - [0x3DB300, gfx, D_09002200_3DB300] + - [0x3DB320, gfx, D_09002220_3DB320] + - [0x3DB340, gfx, D_09002240_3DB340] + - [0x3DB360, gfx, D_09002260_3DB360] + - [0x3DB380, gfx, D_09002280_3DB380] + - [0x3DB3A0, gfx, D_090022A0_3DB3A0] - name: effect_embers dir: effects type: code @@ -4523,7 +4806,23 @@ segments: subsegments: - [0x3DB460, c, embers] - [0x3DBEA0, data] - - [0x3DBF40, bin] # embers gfx + - name: effect_gfx_embers + dir: effects/gfx + type: code + start: 0x3DBF40 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3DBF40, c, embers] + - start: 0x3DBF40 + type: .data + name: embers + subsegments: + - [0x3DBF40, i4, D_09000000_3DBF40, 16, 64] + - [0x3DC140, i4, D_09000200_3DC140, 16, 16] + - [0x3DC1C0, gfx, D_09000280_3DC1C0] + - [0x3DC2B0, vtx, D_09000370_3DC2B0] + - [0x3DC2F0, gfx, D_090003B0_3DC2F0] - name: effect_hieroglyphs dir: effects type: code @@ -4604,7 +4903,22 @@ segments: subsegments: - [0x3E43A0, c, firework_rocket] - [0x3E5060, data] - - [0x3E5350, bin] # firework_rocket gfx + - name: effect_gfx_firework_rocket + dir: effects/gfx + type: code + start: 0x3E5350 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x3E5350, c, firework_rocket] + - start: 0x3E5350 + type: .data + name: firework_rocket + subsegments: + - [0x3E5350, i4, D_09000000_3E5350, 16, 16] + - [0x3E53D0, gfx, D_09000080_3E53D0] + - [0x3E5478, vtx, D_09000128_3E5478] + - [0x3E54A8, gfx, D_09000158_3E54A8] - name: effect_peach_star_beam dir: effects type: code @@ -5074,7 +5388,45 @@ segments: subsegments: - [0x414BA0, c, effect_86] - [0x415020] - - [0x415060, bin] # effect_86 gfx + - name: effect_gfx_effect_86 + dir: effects/gfx + type: code + start: 0x415060 + vram: 0x09000000 + symbol_name_format: $VRAM_$ROM + subsegments: + - [0x415060, c, effect_86] + - start: 0x415060 + type: .data + name: effect_86 + subsegments: + - [0x415060, i4, D_09000000_415060, 256, 16] + - [0x415860, gfx, D_09000800_415860] + - [0x415908, vtx, D_090008A8_415908] + - [0x415948, vtx, D_090008E8_415948] + - [0x415988, vtx, D_09000928_415988] + - [0x4159C8, vtx, D_09000968_4159C8] + - [0x415A08, vtx, D_090009A8_415A08] + - [0x415A48, vtx, D_090009E8_415A48] + - [0x415A88, vtx, D_09000A28_415A88] + - [0x415AC8, vtx, D_09000A68_415AC8] + - [0x415B08, vtx, D_09000AA8_415B08] + - [0x415B48, vtx, D_09000AE8_415B48] + - [0x415B88, vtx, D_09000B28_415B88] + - [0x415BC8, vtx, D_09000B68_415BC8] + - [0x415C08, gfx, D_09000BA8_415C08] + - [0x415C28, gfx, D_09000BC8_415C28] + - [0x415C48, gfx, D_09000BE8_415C48] + - [0x415C68, gfx, D_09000C08_415C68] + - [0x415C88, gfx, D_09000C28_415C88] + - [0x415CA8, gfx, D_09000C48_415CA8] + - [0x415CC8, gfx, D_09000C68_415CC8] + - [0x415CE8, gfx, D_09000C88_415CE8] + - [0x415D08, gfx, D_09000CA8_415D08] + - [0x415D28, gfx, D_09000CC8_415D28] + - [0x415D48, gfx, D_09000CE8_415D48] + - [0x415D68, gfx, D_09000D08_415D68] + - [0x415D88] ####################### ### Action Commands ### diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 600d8a9c3f..78f2ec7601 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -62,21 +62,6 @@ D_09002020 = 0x09002020; D_09004040 = 0x09004040; D_09008BE0 = 0x09008BE0; -// effect_134 -D_09000800 = 0x09000800; -D_09000BA8 = 0x09000BA8; -D_09000BC8 = 0x09000BC8; -D_09000BE8 = 0x09000BE8; -D_09000C08 = 0x09000C08; -D_09000C28 = 0x09000C28; -D_09000C48 = 0x09000C48; -D_09000C68 = 0x09000C68; -D_09000C88 = 0x09000C88; -D_09000CA8 = 0x09000CA8; -D_09000CC8 = 0x09000CC8; -D_09000CE8 = 0x09000CE8; -D_09000D08 = 0x09000D08; - // effect_bombette_breaking D_090018C0 = 0x090018C0; D_09001D00 = 0x09001D00;