[Effects] More functions (#838)

This commit is contained in:
mrshigure 2022-10-29 17:22:40 -07:00 committed by GitHub
parent 0583c230a7
commit 1124ab3382
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
64 changed files with 2208 additions and 6473 deletions

View File

@ -484,12 +484,44 @@ typedef struct DustFXData {
} DustFXData; // size = 0x48
typedef struct ShatteringStonesFXData {
/* 0x00 */ char todo[0];
} ShatteringStonesFXData; // size = unknown
/* 0x00 */ f32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
} ShatteringStonesFXData; // size = 0x40
typedef struct SmokeRingFXData {
/* 0x00 */ char todo[0];
} SmokeRingFXData; // size = unknown
/* 0x00 */ u16 unk_00;
/* 0x02 */ char unk_02[2];
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
} SmokeRingFXData; // size = 0x44
typedef struct DamageStarsFXData {
/* 0x00 */ s32 unk_00;
@ -552,8 +584,21 @@ typedef struct SpikyWhiteAuraFXData {
} SpikyWhiteAuraFXData; // size = 0x30
typedef struct SmokeImpactFXData {
/* 0x00 */ char todo[0];
} SmokeImpactFXData; // size = unknown
/* 0x00 */ u16 unk_00;
/* 0x02 */ char unk_02[2];
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 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 */ f32 unk_30;
} SmokeImpactFXData; // size = 0x34
typedef struct DamageIndicatorFXData {
/* 0x00 */ s32 unk_00;
@ -569,8 +614,28 @@ typedef struct DamageIndicatorFXData {
} DamageIndicatorFXData; // size = 0x40
typedef struct PurpleRingFXData {
/* 0x00 */ char todo[0];
} PurpleRingFXData; // size = unknown
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ Matrix4f unk_1C;
/* 0x5C */ f32 unk_5C;
/* 0x60 */ f32 unk_60;
/* 0x64 */ f32 unk_64;
/* 0x68 */ s32 unk_68;
/* 0x6C */ s32 unk_6C;
/* 0x70 */ s32 unk_70;
/* 0x74 */ u8 unk_74;
/* 0x75 */ u8 unk_75;
/* 0x76 */ u8 unk_76;
/* 0x77 */ u8 unk_77;
/* 0x78 */ u8 unk_78;
/* 0x79 */ u8 unk_79;
/* 0x7A */ char unk_7A[2];
} PurpleRingFXData; // size = 0x7C
typedef struct FlameFXData {
/* 0x00 */ s32 unk_00;
@ -672,7 +737,7 @@ typedef struct MusicNoteFXData {
} MusicNoteFXData; // size = 0x34
typedef struct SmokeBurstFXData {
/* 0x00 */ s16 unk_00;
/* 0x00 */ u16 unk_00;
/* 0x04 */ Vec3f pos;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 timeLeft;
@ -1747,8 +1812,37 @@ typedef struct Effect65FXData {
} Effect65FXData; // size = 0x324
typedef struct TubbaHeartAttackFXData {
/* 0x00 */ char todo[0];
} TubbaHeartAttackFXData; // size = unknown
/* 0x000 */ s32 unk_00;
/* 0x004 */ f32 unk_04;
/* 0x008 */ f32 unk_08;
/* 0x00C */ f32 unk_0C;
/* 0x010 */ s32 unk_10;
/* 0x014 */ s32 unk_14;
/* 0x018 */ s32 unk_18;
/* 0x01C */ s32 unk_1C;
/* 0x020 */ s32 unk_20;
/* 0x024 */ s32 unk_24;
/* 0x028 */ f32 unk_28;
/* 0x02C */ f32 unk_2C[25];
/* 0x090 */ f32 unk_90[25];
/* 0x0F4 */ f32 unk_F4[25];
/* 0x158 */ f32 unk_158[25];
/* 0x1BC */ f32 unk_1BC[25];
/* 0x220 */ f32 unk_220[25];
/* 0x284 */ f32 unk_284[25];
/* 0x2E8 */ f32 unk_2E8[25];
/* 0x34C */ f32 unk_34C[25];
/* 0x3B0 */ f32 unk_3B0[25];
/* 0x414 */ f32 unk_414[25];
/* 0x478 */ f32 unk_478[25];
/* 0x4DC */ f32 unk_4DC[25];
/* 0x540 */ f32 unk_540[25];
/* 0x5A4 */ f32 unk_5A4[25];
/* 0x608 */ f32 unk_608[25];
/* 0x66C */ s32 unk_66C[25];
/* 0x6D0 */ s32 unk_6D0[25];
/* 0x734 */ s32 unk_734[25];
} TubbaHeartAttackFXData; // size = 0x798
typedef struct WhirlwindFXData {
/* 0x00 */ char unk_00[0x4];
@ -2001,8 +2095,25 @@ typedef struct StaticStatusFXData {
} StaticStatusFXData; // size = 0x38
typedef struct MovingCloudFXData {
/* 0x00 */ char todo[0];
} MovingCloudFXData; // size = unknown
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ f32 unk_44;
} MovingCloudFXData; // size = 0x48
typedef struct Effect75FXData {
/* 0x00 */ s32 unk_00;
@ -2581,7 +2692,7 @@ EffectInstance* fx_shape_spell(s32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* fx_gather_energy_pink(s32, f32, f32, f32, f32, s32);
EffectInstance* fx_drop_leaves(s32, f32, f32, f32, s32);
EffectInstance* fx_dust(s32, f32, f32, f32, s32);
EffectInstance* fx_shattering_stones(s32, f32, f32, f32, f32);
void fx_shattering_stones(s32, f32, f32, f32, f32);
void fx_smoke_ring(s32, f32, f32, f32);
void fx_damage_stars(s32, f32, f32, f32, f32, f32, f32, s32);
void fx_explosion(s32, f32, f32, f32);
@ -2639,7 +2750,7 @@ EffectInstance* fx_floating_rock(s32, f32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* fx_chomp_drop(s32, f32, f32, f32, f32, s32, f32, s32, f32, s32);
EffectInstance* fx_quizmo_stage(s32, f32, f32, f32);
EffectInstance* fx_radiating_energy_orb(s32, f32, f32, f32, f32, s32);
void fx_quizmo_answer(s32, f32, f32, f32);
EffectInstance* fx_quizmo_answer(s32, f32, f32, f32);
EffectInstance* fx_motion_blur_flame(s32, f32, f32, f32, f32, s32);
EffectInstance* fx_energy_orb_wave(s32, f32, f32, f32, f32, s32);
EffectInstance* fx_merlin_house_stars(s32, f32, f32, f32);

View File

@ -54,16 +54,16 @@ EffectInstance* shape_spell_main(s32, f32, f32, f32, f32, f32, f32, s32);
void gather_energy_pink_main(s32, f32, f32, f32, f32, s32);
void drop_leaves_main(s32, f32, f32, f32, s32);
EffectInstance* dust_main(s32, f32, f32, f32, s32);
FX_MAIN(shattering_stones_main);
void shattering_stones_main(s32, f32, f32, f32, f32);
void smoke_ring_main(s32, f32, f32, f32);
void damage_stars_main(s32, f32, f32, f32, f32, f32, f32, s32);
void explosion_main(s32, f32, f32, f32);
FX_MAIN(lens_flare_main);
void got_item_outline_main(s32, f32, f32, f32, f32, EffectInstance**);
void spiky_white_aura_main(s32, f32, f32, f32, s32);
FX_MAIN(smoke_impact_main);
void smoke_impact_main(s32, f32, f32, f32, f32, s32, f32, s32);
void damage_indicator_main(s32, f32, f32, f32, f32, f32, s32, EffectInstance**);
FX_MAIN(purple_ring_main);
EffectInstance* purple_ring_main(s32, f32, f32, f32, f32, f32, f32, f32);
void flame_main(s32, f32, f32, f32, f32, EffectInstance**);
void stars_burst_main(s32, f32, f32, f32, f32, f32, s32);
FX_MAIN(stars_shimmer_main);
@ -111,7 +111,7 @@ EffectInstance* floating_rock_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* chomp_drop_main(s32, f32, f32, f32, f32, s32, f32, s32, f32, s32);
EffectInstance* quizmo_stage_main(s32, f32, f32, f32);
EffectInstance* radiating_energy_orb_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(quizmo_answer_main);
EffectInstance* quizmo_answer_main(s32, f32, f32, f32);
EffectInstance* motion_blur_flame_main(s32, f32, f32, f32, f32, s32);
EffectInstance* energy_orb_wave_main(s32, f32, f32, f32, f32, s32);
EffectInstance* merlin_house_stars_main(s32, f32, f32, f32);
@ -133,7 +133,7 @@ EffectInstance* stop_watch_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fx_63_main(s32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* throw_spiny_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* fx_65_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(tubba_heart_attack_main);
EffectInstance* tubba_heart_attack_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(whirlwind_main);
EffectInstance* red_impact_main(s32, f32, f32, f32, f32);
EffectInstance* floating_cloud_puff_main(s32, f32, f32, f32, f32, s32);
@ -146,7 +146,7 @@ EffectInstance* embers_main(s32, f32, f32, f32, f32, f32, f32, s32, s32, f32, f3
EffectInstance* hieroglyphs_main(s32, f32, f32, f32, f32, s32);
EffectInstance *misc_particles_main(s32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* static_status_main(s32, f32, f32, f32, f32, s32, s32);
FX_MAIN(moving_cloud_main);
EffectInstance* moving_cloud_main(s32, f32, f32, f32, f32, f32, f32, f32, f32);
EffectInstance* fx_75_main(s32, f32, f32, f32, f32, s32);
EffectInstance* firework_rocket_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* peach_star_beam_main(s32, f32, f32, f32, f32, s32);

View File

@ -45,11 +45,11 @@ EffectTableEntry gEffectTable[] = {
/* 0x0F */ FX_ENTRY(star, effect_gfx_star),
/* 0x10 */ FX_ENTRY(emote, effect_gfx_emote),
/* 0x11 */ FX_ENTRY(sparkles, effect_gfx_sparkles),
/* 0x12 */ FX_ENTRY(shape_spell, _339F60),
/* 0x12 */ FX_ENTRY(shape_spell, effect_gfx_shape_spell),
/* 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),
/* 0x16 */ FX_ENTRY(shattering_stones, effect_gfx_shattering_stones),
/* 0x17 */ FX_ENTRY(smoke_ring, effect_gfx_landing_dust),
/* 0x18 */ FX_ENTRY(damage_stars, effect_gfx_damage_stars),
/* 0x19 */ FX_ENTRY(explosion, effect_gfx_explosion),
@ -58,12 +58,12 @@ EffectTableEntry gEffectTable[] = {
/* 0x1C */ FX_ENTRY(spiky_white_aura, effect_gfx_spiky_white_aura),
/* 0x1D */ FX_ENTRY(smoke_impact, effect_gfx_landing_dust),
/* 0x1E */ FX_ENTRY(damage_indicator, effect_gfx_damage_indicator),
/* 0x1F */ FX_ENTRY(purple_ring, _352CE0),
/* 0x1F */ FX_ENTRY(purple_ring, effect_gfx_purple_ring),
/* 0x20 */ FX_ENTRY(flame, _353BB0),
/* 0x21 */ FX_ENTRY(stars_burst, effect_gfx_damage_stars),
/* 0x22 */ FX_ENTRY(stars_shimmer, effect_gfx_sparkles),
/* 0x23 */ FX_ENTRY(rising_bubble, _356530),
/* 0x24 */ FX_ENTRY(ring_blast, _3573A0),
/* 0x23 */ FX_ENTRY(rising_bubble, effect_gfx_rising_bubble),
/* 0x24 */ FX_ENTRY(ring_blast, effect_gfx_ring_blast),
/* 0x25 */ FX_ENTRY(shockwave, effect_gfx_shockwave),
/* 0x26 */ FX_ENTRY(music_note, effect_gfx_music_note),
/* 0x27 */ FX_ENTRY(smoke_burst, effect_gfx_landing_dust),
@ -107,7 +107,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x4D */ FX_ENTRY(chomp_drop, effect_gfx_chomp_drop),
/* 0x4E */ FX_ENTRY(quizmo_stage, _398BC0),
/* 0x4F */ FX_ENTRY(radiating_energy_orb, effect_gfx_radiating_energy_orb),
/* 0x50 */ FX_ENTRY(quizmo_answer, _3A2440),
/* 0x50 */ FX_ENTRY(quizmo_answer, effect_gfx_quizmo_answer),
/* 0x51 */ FX_ENTRY(motion_blur_flame, _3A33D0),
/* 0x52 */ FX_ENTRY(energy_orb_wave, effect_gfx_energy_orb_wave),
/* 0x53 */ FX_ENTRY(merlin_house_stars, effect_gfx_merlin_house_stars),
@ -115,7 +115,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x55 */ FX_ENTRY(butterflies, effect_gfx_butterflies),
/* 0x56 */ FX_ENTRY(stat_change, effect_gfx_stat_change),
/* 0x57 */ FX_ENTRY(snaking_static, _3B2D90),
/* 0x58 */ FX_ENTRY(thunderbolt_ring, _3B46A0),
/* 0x58 */ FX_ENTRY(thunderbolt_ring, effect_gfx_thunderbolt_ring),
/* 0x59 */ FX_ENTRY(squirt, _3B5340),
/* 0x5A */ FX_ENTRY(water_block, _3B6BF0),
/* 0x5B */ FX_ENTRY(waterfall, _3B78D0),
@ -129,21 +129,21 @@ EffectTableEntry gEffectTable[] = {
/* 0x63 */ FX_ENTRY_NUMBERED(63, effect_gfx_effect_63),
/* 0x64 */ FX_ENTRY(throw_spiny, effect_gfx_throw_spiny),
/* 0x65 */ FX_ENTRY_NUMBERED(65, effect_gfx_effect_65),
/* 0x66 */ FX_ENTRY(tubba_heart_attack, _3D2580),
/* 0x66 */ FX_ENTRY(tubba_heart_attack, effect_gfx_tubba_heart_attack),
/* 0x67 */ FX_ENTRY(whirlwind, _3D3930),
/* 0x68 */ FX_ENTRY(red_impact, effect_gfx_shockwave),
/* 0x69 */ FX_ENTRY(floating_cloud_puff, effect_gfx_floating_cloud_puff),
/* 0x6A */ {},
/* 0x6B */ FX_ENTRY(energy_in_out, effect_gfx_energy_in_out),
/* 0x6C */ FX_ENTRY(tattle_window, _3D7040),
/* 0x6D */ FX_ENTRY(shiny_flare, _3D7770),
/* 0x6D */ FX_ENTRY(shiny_flare, effect_gfx_shiny_flare),
/* 0x6E */ FX_ENTRY(huff_puff_breath, _3D80C0),
/* 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, effect_gfx_misc_particles),
/* 0x73 */ FX_ENTRY(static_status, effect_gfx_static_status),
/* 0x74 */ FX_ENTRY(moving_cloud, _3E1CD0),
/* 0x74 */ FX_ENTRY(moving_cloud, effect_gfx_moving_cloud),
/* 0x75 */ FX_ENTRY_NUMBERED(75, effect_gfx_effect_75),
/* 0x76 */ {},
/* 0x77 */ FX_ENTRY(firework_rocket, effect_gfx_firework_rocket),

View File

@ -0,0 +1,5 @@
#include "effects/gfx/D_09000000_3E1CD0.png.inc.c"
#include "effects/gfx/D_09000100_3E1DD0.gfx.inc.c"
#include "effects/gfx/D_090001A8_3E1E78.vtx.inc.c"
#include "effects/gfx/D_090001E8_3E1EB8.gfx.inc.c"

View File

@ -0,0 +1,10 @@
#include "effects/gfx/D_09000000_352CE0.png.inc.c"
#include "effects/gfx/D_09000200_352EE0.gfx.inc.c"
#include "effects/gfx/D_090002A8_352F88.vtx.inc.c"
#include "effects/gfx/D_09000368_353048.vtx.inc.c"
#include "effects/gfx/D_09000408_3530E8.vtx.inc.c"
#include "effects/gfx/D_09000458_353138.vtx.inc.c"
#include "effects/gfx/D_090004E8_3531C8.gfx.inc.c"

View File

@ -0,0 +1,5 @@
#include "effects/gfx/D_09000000_3A2440.png.inc.c"
#include "effects/gfx/D_09000200_3A2640.png.inc.c"
#include "effects/gfx/D_09000400_3A2840.gfx.inc.c"
#include "effects/gfx/D_090004A8_3A28E8.gfx.inc.c"

View File

@ -0,0 +1,6 @@
#include "effects/gfx/D_09000000_3573A0.png.inc.c"
#include "effects/gfx/D_09001000_3583A0.vtx.inc.c"
#include "effects/gfx/D_09001040_3583E0.gfx.inc.c"
#include "effects/gfx/D_090010F8_358498.gfx.inc.c"

View File

@ -0,0 +1,14 @@
#include "effects/gfx/D_09000000_356530.png.inc.c"
#include "effects/gfx/D_09000080_3565B0.png.inc.c"
#include "effects/gfx/D_09000100_356630.vtx.inc.c"
#include "effects/gfx/D_09000140_356670.vtx.inc.c"
#include "effects/gfx/D_09000180_3566B0.vtx.inc.c"
#include "effects/gfx/D_090001C0_3566F0.vtx.inc.c"
#include "effects/gfx/D_09000200_356730.gfx.inc.c"
#include "effects/gfx/D_090002E8_356818.gfx.inc.c"
#include "effects/gfx/D_09000308_356838.gfx.inc.c"
#include "effects/gfx/D_090003F0_356920.gfx.inc.c"
#include "effects/gfx/D_09000410_356940.gfx.inc.c"
#include "effects/gfx/D_09000430_356960.gfx.inc.c"

View File

@ -0,0 +1,12 @@
#include "effects/gfx/D_09000000_339F60.png.inc.c"
#include "effects/gfx/D_09001000_33AF60.vtx.inc.c"
#include "effects/gfx/D_09001040_33AFA0.vtx.inc.c"
#include "effects/gfx/D_09001080_33AFE0.gfx.inc.c"
#include "effects/gfx/D_09001128_33B088.gfx.inc.c"
#include "effects/gfx/D_09001150_33B0B0.gfx.inc.c"
#include "effects/gfx/D_09001178_33B0D8.gfx.inc.c"
#include "effects/gfx/D_090011A0_33B100.gfx.inc.c"
#include "effects/gfx/D_090011C8_33B128.gfx.inc.c"
#include "effects/gfx/D_090011F0_33B150.gfx.inc.c"

View File

@ -0,0 +1,23 @@
#include "effects/gfx/D_09000000_340880.png.inc.c"
#include "effects/gfx/D_09000C00_341480.gfx.inc.c"
#include "effects/gfx/D_09000CA8_341528.vtx.inc.c"
#include "effects/gfx/D_09000D28_3415A8.vtx.inc.c"
#include "effects/gfx/D_09000D88_341608.vtx.inc.c"
#include "effects/gfx/D_09000DE8_341668.vtx.inc.c"
#include "effects/gfx/D_09000E68_3416E8.vtx.inc.c"
#include "effects/gfx/D_09000EC8_341748.vtx.inc.c"
#include "effects/gfx/D_09000F28_3417A8.vtx.inc.c"
#include "effects/gfx/D_09000FA8_341828.vtx.inc.c"
#include "effects/gfx/D_09001008_341888.vtx.inc.c"
#include "effects/gfx/D_09001068_3418E8.gfx.inc.c"
#include "effects/gfx/D_09001080_341900.gfx.inc.c"
#include "effects/gfx/D_09001098_341918.gfx.inc.c"
#include "effects/gfx/D_090010B8_341938.gfx.inc.c"
#include "effects/gfx/D_090010D0_341950.gfx.inc.c"
#include "effects/gfx/D_090010E8_341968.gfx.inc.c"
#include "effects/gfx/D_09001108_341988.gfx.inc.c"
#include "effects/gfx/D_09001120_3419A0.gfx.inc.c"
#include "effects/gfx/D_09001138_3419B8.gfx.inc.c"

View File

@ -0,0 +1,6 @@
#include "effects/gfx/D_09000000_3D7770.png.inc.c"
#include "effects/gfx/D_09000200_3D7970.vtx.inc.c"
#include "effects/gfx/D_09000240_3D79B0.gfx.inc.c"
#include "effects/gfx/D_090002E0_3D7A50.gfx.inc.c"

View File

@ -0,0 +1,3 @@
#include "effects/gfx/D_09000000_3B46A0.gfx.inc.c"
#include "effects/gfx/D_09000068_3B4708.vtx.inc.c"
#include "effects/gfx/D_090000C8_3B4768.gfx.inc.c"

View File

@ -0,0 +1,10 @@
#include "common.h"
#include "effects/gfx/D_09000000_3D2580.png.inc.c"
#include "effects/gfx/D_09000000_3D2580.pal.inc.c"
u8 D_09000220_3D27A0[0x1E0] = {};
#include "effects/gfx/D_09000400_3D2980.gfx.inc.c"
#include "effects/gfx/D_090004D8_3D2A58.vtx.inc.c"
#include "effects/gfx/D_09000518_3D2A98.gfx.inc.c"

View File

@ -1,14 +1,167 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000100_3E1DD0[];
extern Gfx D_090001E8_3E1EB8[];
Gfx* D_E00E8630[] = { D_090001E8_3E1EB8 };
Gfx* D_E00E8634[] = { D_09000100_3E1DD0 };
void moving_cloud_init(EffectInstance* effect);
void moving_cloud_update(EffectInstance* effect);
void moving_cloud_render(EffectInstance* effect);
void moving_cloud_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/moving_cloud", moving_cloud_main);
EffectInstance* moving_cloud_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
f32 arg5,
f32 arg6,
f32 arg7,
f32 arg8
) {
EffectBlueprint bp;
EffectInstance* effect;
MovingCloudFXData* data;
s32 numParts = 1;
f32 var_f12;
f32 temp_f20;
f32 temp_f22;
f32 temp_f24;
s32 var_v0;
void moving_cloud_init(void) {
bp.init = moving_cloud_init;
bp.update = moving_cloud_update;
bp.renderWorld = moving_cloud_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_MOVING_CLOUD;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.movingCloud = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.movingCloud != NULL);
data->unk_00 = arg0;
data->unk_20 = 0;
temp_f24 = arg4 - arg1;
temp_f22 = arg5 - arg2;
temp_f20 = arg6 - arg3;
var_f12 = SQ(temp_f24) + SQ(temp_f22) + SQ(temp_f20);
if (var_f12 != 0.0f) {
var_f12 = shim_sqrtf(var_f12);
}
if (arg7 > 0.0f) {
var_v0 = var_f12 / arg7;
} else {
var_v0 = 0;
}
if (var_v0 != 0) {
var_f12 = 1.0f / var_v0;
data->unk_10 = temp_f24 * var_f12;
data->unk_14 = temp_f22 * var_f12;
data->unk_18 = temp_f20 * var_f12;
} else {
data->unk_10 = 0.0f;
data->unk_14 = 0.0f;
data->unk_18 = 0.0f;
}
if (var_v0 < 0) {
data->unk_1C = 1000;
} else {
data->unk_1C = var_v0;
}
data->unk_30 = 0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_44 = arg8;
switch (arg0) {
case 0:
case 2:
data->unk_24 = 215;
data->unk_28 = 215;
data->unk_2C = 185;
data->unk_34 = 215;
data->unk_38 = 200;
data->unk_3C = 100;
data->unk_40 = 255;
break;
case 1:
default:
data->unk_24 = 255;
data->unk_28 = 255;
data->unk_2C = 255;
data->unk_34 = 220;
data->unk_38 = 245;
data->unk_3C = 255;
data->unk_40 = 255;
break;
}
return effect;
}
INCLUDE_ASM(s32, "effects/moving_cloud", moving_cloud_update);
void moving_cloud_init(EffectInstance* effect) {
}
void moving_cloud_update(EffectInstance* effect) {
MovingCloudFXData* data = effect->data.movingCloud;
s32 unk_00 = data->unk_00;
s32 unk_1C;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_1C = 16;
}
if (data->unk_1C < 1000) {
data->unk_1C--;
}
data->unk_20++;
if (data->unk_1C < 0) {
shim_remove_effect(effect);
return;
}
unk_1C = data->unk_1C;
if (unk_00 == 0 || unk_00 == 2) {
if (data->unk_20 < 16) {
data->unk_30 = data->unk_20 * 16 + 15;
} else {
data->unk_30 = 255;
}
if (unk_1C < 16) {
data->unk_30 = unk_1C * 16;
}
} else {
if (data->unk_20 < 4) {
data->unk_30 = data->unk_20 * 64 + 63;
} else {
data->unk_30 = 255;
}
if (unk_1C < 4) {
data->unk_30 = unk_1C * 64;
}
}
data->unk_04 += data->unk_10;
data->unk_08 += data->unk_14;
data->unk_0C += data->unk_18;
}
void moving_cloud_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +176,26 @@ void moving_cloud_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/moving_cloud", moving_cloud_appendGfx);
void moving_cloud_appendGfx(void* effect) {
MovingCloudFXData* data = ((EffectInstance*)effect)->data.movingCloud;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_30 = data->unk_30;
Matrix4f sp10;
Matrix4f sp50;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp10, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp50, data->unk_44, data->unk_44, data->unk_44);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_24, data->unk_28, data->unk_2C, unk_30);
gDPSetEnvColor(gMasterGfxPos++, data->unk_34, data->unk_38, data->unk_3C, data->unk_40);
gSPDisplayList(gMasterGfxPos++, D_E00E8634[0]);
gSPDisplayList(gMasterGfxPos++, D_E00E8630[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,179 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000200_352EE0[];
extern Gfx D_090004E8_3531C8[];
void purple_ring_init(EffectInstance* effect);
void purple_ring_update(EffectInstance* effect);
void purple_ring_render(EffectInstance* effect);
void purple_ring_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/purple_ring", purple_ring_main);
EffectInstance* purple_ring_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
f32 arg5,
f32 arg6,
f32 arg7
) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
EffectInstance* effect;
PurpleRingFXData* data;
s32 numParts = 1;
f32 temp_f12;
f32 sp68;
f32 sp6C;
f32 sp70;
f32 var_f24;
f32 var_f20;
f32 var_f22;
Matrix4f unused;
void purple_ring_init(void) {
if (arg4 == 0.0f && arg5 == 0.0f && arg6 == 0.0f) {
return NULL;
}
temp_f12 = SQ(arg4) + SQ(arg5) + SQ(arg6);
if (temp_f12 == 0.0f) {
return NULL;
}
temp_f12 = 1.0f / shim_sqrtf(temp_f12);
arg4 *= temp_f12;
arg5 *= temp_f12;
arg6 *= temp_f12;
if (arg4 != 0.0f) {
var_f20 = -arg4;
var_f22 = arg6;
var_f24 = 0.0f;
} else if (arg6 != 0.0f) {
var_f20 = -arg4;
var_f22 = arg6;
var_f24 = 0.0f;
} else {
var_f20 = 0.0f;
var_f22 = 1.0f;
var_f24 = 0.0f;
}
temp_f12 = SQ(var_f22) + SQ(var_f24) + SQ(var_f20);
if (temp_f12 == 0.0f) {
return NULL;
}
temp_f12 = 1.0f / shim_sqrtf(temp_f12);
var_f22 *= temp_f12;
var_f24 *= temp_f12;
var_f20 *= temp_f12;
sp68 = var_f24 * arg6 - var_f20 * arg5;
sp6C = var_f20 * arg4 - var_f22 * arg6;
sp70 = var_f22 * arg5 - var_f24 * arg4;
temp_f12 = SQ(sp68) + SQ(sp6C) + SQ(sp70);
if (temp_f12 == 0.0f) {
return NULL;
}
temp_f12 = 1.0f / shim_sqrtf(temp_f12);
sp68 *= temp_f12;
sp6C *= temp_f12;
sp70 *= temp_f12;
bpPtr->init = purple_ring_init;
bpPtr->update = purple_ring_update;
bpPtr->renderWorld = purple_ring_render;
bpPtr->unk_00 = 0;
bpPtr->unk_14 = NULL;
bpPtr->effectID = EFFECT_PURPLE_RING;
effect = shim_create_effect_instance(bpPtr);
effect->numParts = numParts;
data = effect->data.purpleRing = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.purpleRing != NULL);
data->unk_00 = arg0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_68 = 0;
data->unk_6C = 16;
data->unk_70 = 0;
data->unk_74 = 248;
data->unk_75 = 92;
data->unk_76 = 229;
data->unk_77 = 248;
data->unk_78 = 92;
data->unk_79 = 229;
data->unk_10 = -arg4 * 4.0f;
data->unk_14 = -arg5 * 4.0f;
data->unk_18 = -arg6 * 4.0f;
data->unk_1C[0][0] = var_f22;
data->unk_1C[0][1] = var_f24;
data->unk_1C[0][2] = var_f20;
data->unk_1C[0][3] = 0;
data->unk_1C[1][0] = sp68;
data->unk_1C[1][1] = sp6C;
data->unk_1C[1][2] = sp70;
data->unk_1C[1][3] = 0;
data->unk_1C[2][0] = arg4;
data->unk_1C[2][1] = arg5;
data->unk_1C[2][2] = arg6;
data->unk_1C[2][3] = 0;
data->unk_1C[3][0] = 0;
data->unk_1C[3][1] = 0;
data->unk_1C[3][2] = 0;
data->unk_5C = 278.0f;
data->unk_60 = 32.0f;
data->unk_1C[3][3] = 1.0f;
data->unk_64 = arg7 * 0.1;
return effect;
}
INCLUDE_ASM(s32, "effects/purple_ring", purple_ring_update);
void purple_ring_init(EffectInstance* effect) {
}
void purple_ring_update(EffectInstance* effect) {
PurpleRingFXData* part = effect->data.purpleRing;
s32 unk_6C;
s32 i;
part->unk_6C--;
part->unk_70++;
if (part->unk_6C < 0) {
shim_remove_effect(effect);
return;
}
unk_6C = part->unk_6C;
for (i = 0; i < effect->numParts; i++, part++) {
if (unk_6C >= 6) {
part->unk_68 += (255 - part->unk_68) * 0.3;
part->unk_10 *= 0.8;
part->unk_14 *= 0.8;
part->unk_18 *= 0.8;
}
if (unk_6C < 5) {
part->unk_68 *= 0.6;
part->unk_10 *= 0.7;
part->unk_14 *= 0.7;
part->unk_18 *= 0.7;
}
part->unk_04 += part->unk_10;
part->unk_08 += part->unk_14;
part->unk_0C += part->unk_18;
part->unk_5C += part->unk_60;
part->unk_64 *= 1.05;
}
}
void purple_ring_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +188,27 @@ void purple_ring_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/purple_ring", purple_ring_appendGfx);
void purple_ring_appendGfx(void* effect) {
PurpleRingFXData* data = ((EffectInstance*)effect)->data.purpleRing;
s32 unk_5C = data->unk_5C;
s32 temp = 64;
Matrix4f sp10;
Matrix4f sp50;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09000200_352EE0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_74, data->unk_75, data->unk_76, data->unk_68);
shim_guTranslateF(sp10, data->unk_04, data->unk_08, data->unk_0C);
shim_guMtxCatF(data->unk_1C, sp10, sp10);
shim_guScaleF(sp50, data->unk_64, data->unk_64, data->unk_64);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, unk_5C, temp * 4, unk_5C + temp);
gSPDisplayList(gMasterGfxPos++, D_090004E8_3531C8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,4 +1,39 @@
#include "common.h"
#include "effects_internal.h"
INCLUDE_ASM(s32, "effects/quizmo_answer", quizmo_answer_main);
extern Gfx D_09000400_3A2840[];
extern Gfx D_090004A8_3A28E8[];
EffectInstance* quizmo_answer_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
EffectBlueprint bp;
EffectInstance* effect;
bp.unk_00 = 0;
bp.init = NULL;
bp.update = NULL;
bp.renderWorld = NULL;
bp.unk_14 = NULL;
bp.effectID = EFFECT_QUIZMO_ANSWER;
effect = shim_create_effect_instance(&bp);
effect->data.quizmoAnswer = NULL;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effect->graphics->data));
if (arg0 == 0) {
gSPDisplayList(gMasterGfxPos++, D_09000400_3A2840);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 64, 64, 230);
} else {
gSPDisplayList(gMasterGfxPos++, D_090004A8_3A28E8);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 80, 80, 255, 230);
}
gDPSetScissor(gMasterGfxPos++, G_SC_NON_INTERLACE, 0, 0, 320, 240);
gSPTextureRectangle(gMasterGfxPos++, 512, 304, 768, 560, G_TX_RENDERTILE, 0, 1024, 1024, 1024);
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x00, NULL);
shim_remove_effect(effect);
return NULL;
}

View File

@ -1,11 +1,24 @@
#include "common.h"
#include "effects_internal.h"
void quizmo_stage_appendGfx(void* effect);
extern Gfx D_09000218[];
extern Gfx D_09001518[];
extern Mtx D_09004148[];
extern Gfx D_09006D48[];
extern Gfx D_09006DA0[];
extern Gfx D_09006E28[];
extern Gfx D_09006F20[];
extern Gfx D_09006FB0[];
extern Gfx D_09006FD8[];
extern Gfx D_09007030[];
extern Gfx D_09007090[];
extern Gfx D_090070E8[];
extern Gfx D_09007230[];
void quizmo_stage_init(EffectInstance* effect);
void quizmo_stage_update(EffectInstance* effect);
void quizmo_stage_render(EffectInstance* effect);
void quizmo_stage_appendGfx(void* effect);
EffectInstance* quizmo_stage_main(s32 arg0, f32 posX, f32 posY, f32 posZ) {
EffectBlueprint effectBp;
@ -92,4 +105,70 @@ void quizmo_stage_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/quizmo_stage", quizmo_stage_appendGfx);
void quizmo_stage_appendGfx(void* effect) {
QuizmoStageFXData* data = ((EffectInstance*)effect)->data.quizmoStage;
s32 microphoneRaiseAmt = data->microphoneRaiseAmt;
Matrix4f sp18;
Matrix4f sp58;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, data->origin.x, data->origin.y, data->origin.z);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, microphoneRaiseAmt, microphoneRaiseAmt, microphoneRaiseAmt, 255);
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, TEXEL0, 0, SHADE, 0, COMBINED, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED);
gSPDisplayList(gMasterGfxPos++, D_09007230);
if (data->unk_3C != 255) {
gSPMatrix(gMasterGfxPos++, &D_09004148[2], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, (data->rearWallRaiseAmt * 180) / 255 - 180, 1.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006E28);
gSPDisplayList(gMasterGfxPos++, D_09001518);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->lightScrollAmt, 0, data->lightScrollAmt + 252, 60);
gSPDisplayList(gMasterGfxPos++, D_09006DA0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_09004148[0], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, 90 - (data->leftWallRaiseAmt * 90) / 255, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006FB0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &D_09004148[1], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, (data->rightWallRaiseAmt * 90) / 255 - 90, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006F20);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090070E8);
gSPDisplayList(gMasterGfxPos++, D_09007030);
gSPDisplayList(gMasterGfxPos++, D_09001518);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, data->lightScrollAmt, 0, data->lightScrollAmt + 252, 60);
gSPDisplayList(gMasterGfxPos++, D_09006FD8);
gSPMatrix(gMasterGfxPos++, &D_09004148[3], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guRotateF(sp18, 90 - (data->podiumRaiseAmt * 90) / 255, 1.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09006D48);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000218);
gSPDisplayList(gMasterGfxPos++, D_09007090);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,10 +1,16 @@
#include "common.h"
#include "effects_internal.h"
void ring_blast_appendGfx(void* effect);
extern Gfx D_09001040_3583E0[];
extern Gfx D_090010F8_358498[];
Gfx* D_E0048A00[] = { D_090010F8_358498, D_090010F8_358498 };
Gfx* D_E0048A08[] = { D_09001040_3583E0, D_09001040_3583E0 };
void ring_blast_init(EffectInstance* effect);
void ring_blast_update(EffectInstance* effect);
void ring_blast_render(EffectInstance* effect);
void ring_blast_appendGfx(void* effect);
void ring_blast_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 arg5) {
EffectBlueprint effectBp;
@ -13,7 +19,7 @@ void ring_blast_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 arg5)
s32 numParts = 1;
effectBp.init = ring_blast_init;
effectBp.update = &ring_blast_update;
effectBp.update = ring_blast_update;
effectBp.renderWorld = ring_blast_render;
effectBp.unk_00 = 0;
effectBp.unk_14 = 0;
@ -77,4 +83,63 @@ void ring_blast_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/ring_blast", ring_blast_appendGfx);
void ring_blast_appendGfx(void* effect) {
RingBlastFXData* data = ((EffectInstance*)effect)->data.ringBlast;
s32 unk_00 = data->unk_00;
s32 unk_20_s32 = data->unk_20;
s32 envAlpha = (data->unk_20 - unk_20_s32) * 256.0f;
s32 cond = (unk_20_s32 == 7);
Gfx* dlist = D_E0048A00[unk_00];
Gfx* dlist2 = D_E0048A08[unk_00];
Matrix4f sp20;
Matrix4f sp60;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, dlist2);
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_10, data->pos.x, data->pos.y, data->pos.z);
shim_guRotateF(sp60, data->unk_24, 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_MUL | G_MTX_MODELVIEW);
if (unk_00 == 0) {
f32 var_f4 = 1.0f;
if (data->unk_20 > 5.0f) {
var_f4 = 1.0f - (data->unk_20 - 5.0f);
if (var_f4 < 0.0f) {
var_f4 = 0.0f;
}
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, var_f4 * 255.0f, var_f4 * 18.0f, var_f4 * 59.0f, 0);
gDPSetEnvColor(gMasterGfxPos++, var_f4 * 255.0f, var_f4 * 53.0f, var_f4 * 24.0f, envAlpha);
gDPSetKeyR(gMasterGfxPos++, var_f4 * 211.0f, 0, 0);
gDPSetKeyGB(gMasterGfxPos++, var_f4 * 255.0f, 0, 0, var_f4 * 216.0f, 0, 0);
gDPSetCombineLERP(gMasterGfxPos++, TEXEL1, TEXEL0, ENV_ALPHA, TEXEL0, TEXEL1, TEXEL0, ENVIRONMENT, TEXEL0, PRIMITIVE, CENTER, COMBINED, ENVIRONMENT, 0, 0, 0, COMBINED);
} else {
gDPSetCombineLERP(gMasterGfxPos++, TEXEL1, TEXEL0, ENV_ALPHA, TEXEL0, TEXEL1, TEXEL0, ENVIRONMENT, TEXEL0, 1, COMBINED, PRIMITIVE, COMBINED, 0, 0, 0, COMBINED);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 40, 127);
gDPSetEnvColor(gMasterGfxPos++, 255, 255, 139, envAlpha);
}
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(unk_20_s32 * 32 ) * 4, 0,
(unk_20_s32 * 32 + 32) * 4, 32 * 4);
if (cond) {
gDPSetTileSize(gMasterGfxPos++, 1,
(unk_20_s32 * 32 + 32) * 4, 32 * 4,
(unk_20_s32 * 32 + 64) * 4, 64 * 4);
} else {
gDPSetTileSize(gMasterGfxPos++, 1,
(unk_20_s32 * 32 + 32) * 4, 0,
(unk_20_s32 * 32 + 64) * 4, 32 * 4);
}
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,6 +1,22 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000200_356730[];
extern Gfx D_090002E8_356818[];
extern Gfx D_09000308_356838[];
extern Gfx D_090003F0_356920[];
extern Gfx D_09000410_356940[];
extern Gfx D_09000430_356960[];
Gfx* D_E0046600[] = { D_090002E8_356818 };
Gfx* D_E0046604[] = {
D_090003F0_356920, D_09000410_356940, D_090003F0_356920, D_09000430_356960
};
Gfx* D_E0046614[] = { D_09000200_356730 };
Gfx* D_E0046618[] = { D_09000308_356838 };
void rising_bubble_init(EffectInstance* effect);
void rising_bubble_update(EffectInstance* effect);
void rising_bubble_render(EffectInstance* effect);
@ -89,4 +105,49 @@ void rising_bubble_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/rising_bubble", rising_bubble_appendGfx);
void rising_bubble_appendGfx(void* effect) {
RisingBubbleFXData* data = ((EffectInstance*)effect)->data.risingBubble;
s32 lifeTime = data->lifeTime;
Matrix4f sp20;
Matrix4f sp60;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
if (data->pos.y >= data->unk_24) {
s32 uls;
s32 ult;
gSPDisplayList(gMasterGfxPos++, D_E0046614[0]);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 127, 127, 127, data->unk_14);
uls = 0;
ult = data->unk_20;
gDPSetTileSize(gMasterGfxPos++, 1,
(uls ) * 4, (ult ) * 4,
(uls + 32) * 4, (ult + 32) * 4);
shim_guTranslateF(sp20, data->pos.x, data->pos.y, data->pos.z);
shim_guScaleF(sp60, data->unk_10, 1.0f, data->unk_10);
shim_guMtxCatF(sp60, sp20, sp20);
} else {
gSPDisplayList(gMasterGfxPos++, D_E0046618[0]);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 255, data->unk_14);
gDPSetEnvColor(gMasterGfxPos++, 128, 128, 255, data->unk_14);
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_10, data->pos.x, data->pos.y, data->pos.z);
}
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (data->pos.y >= data->unk_24) {
gSPDisplayList(gMasterGfxPos++, D_E0046600[0]);
} else {
gSPDisplayList(gMasterGfxPos++, D_E0046604[(lifeTime >> 1) & 3]);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,7 +1,28 @@
#include "common.h"
#include "effects_internal.h"
s32 D_E0024CC0[] = { 0x00FFD01A, 0x09001128, 0x090011A0, 0x784DD0FE, 0x09001150, 0x090011C8, 0xF0FE4C6E, 0x09001178, 0x090011F0, 0x00000000, 0x00000000, 0x00000000 };
typedef struct UnkStruct {
/* 0x00 */ u8 unk_00;
/* 0x01 */ u8 unk_01;
/* 0x02 */ u8 unk_02;
/* 0x03 */ u8 unk_03;
/* 0x04 */ Gfx* unk_04;
/* 0x08 */ Gfx* unk_08;
} UnkStruct; // size = 0xC
extern Gfx D_09001080_33AFE0[];
extern Gfx D_09001128_33B088[];
extern Gfx D_09001150_33B0B0[];
extern Gfx D_09001178_33B0D8[];
extern Gfx D_090011A0_33B100[];
extern Gfx D_090011C8_33B128[];
extern Gfx D_090011F0_33B150[];
UnkStruct D_E0024CC0[] = {
{ 0, 255, 208, 26, D_09001128_33B088, D_090011A0_33B100 },
{ 120, 77, 208, 254, D_09001150_33B0B0, D_090011C8_33B128 },
{ 240, 254, 76, 110, D_09001178_33B0D8, D_090011F0_33B150 }
};
void shape_spell_appendGfx(void* effect);
void shape_spell_init(EffectInstance* effect);
@ -126,4 +147,141 @@ s32 func_E00243BC(s32 arg0, s32 arg1) {
return (f32)((shim_sin_deg(frameCounter + arg1) * -arg0 + -arg0) * 0.5 + arg0);
}
INCLUDE_ASM(s32, "effects/shape_spell", shape_spell_appendGfx);
void shape_spell_appendGfx(void* effect) {
ShapeSpellFXData* data = ((EffectInstance*)effect)->data.shapeSpell;
s32 isChild;
Gfx* savedGfxPos2;
Gfx* savedGfxPos;
f32 unk_28 = data->unk_28;
s32 primA;
f32 unk_10;
f32 unk_14;
f32 unk_18;
f32 angle;
f32 factor;
f32 var_f30;
s32 timeLeft;
Matrix4f sp20;
Mtx* sp60[3];
Mtx* mtx;
s32 i;
s32 j;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09001080_33AFE0);
savedGfxPos = gMasterGfxPos++;
savedGfxPos2 = gMasterGfxPos;
isChild = data->isChild;
primA = data->unk_34;
unk_10 = data->unk_10;
unk_14 = data->unk_14;
unk_18 = data->unk_18;
timeLeft = data->timeLeft;
if (isChild == 0) {
angle = timeLeft * 35;
factor = 9.0f;
var_f30 = -gCameras[gCurrentCameraID].currentYaw;
} else {
angle = timeLeft * 25;
factor = 6.0f;
var_f30 = 0.0f;
unk_10 *= unk_28;
}
for (i = 0; i < 3; i++) {
if (i > 0) {
if (!isChild) {
angle -= 70.0f;
unk_10 -= 2.0f * data->unk_1C;
unk_14 -= 2.0f * data->unk_20;
unk_18 -= 2.0f * data->unk_24;
} else {
angle -= 50.0f;
unk_10 -= data->unk_1C * (100.0 / 83) * 2.0;
}
primA = data->unk_34 * 100 / 255;
}
shim_guPositionF(sp20, 0.0f, var_f30, 0.0f, unk_28, unk_10, unk_14, unk_18);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guTranslateF(sp20,
shim_sin_deg(angle) * factor,
shim_cos_deg(angle) * factor, 0.0f);
angle += 120.0f;
sp60[0] = &gDisplayContext->matrixStack[gMatrixListPos++];
shim_guMtxF2L(sp20, sp60[0]);
shim_guTranslateF(sp20,
shim_sin_deg(angle) * factor,
shim_cos_deg(angle) * factor, 0.0f);
angle += 120.0f;
sp60[1] = &gDisplayContext->matrixStack[gMatrixListPos++];
shim_guMtxF2L(sp20, sp60[1]);
shim_guTranslateF(sp20,
shim_sin_deg(angle) * factor,
shim_cos_deg(angle) * factor, 0.0f);
sp60[2] = &gDisplayContext->matrixStack[gMatrixListPos++];
shim_guMtxF2L(sp20, sp60[2]);
for (j = 0; j < 3; j++) {
gSPMatrix(gMasterGfxPos++, sp60[j], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0,
func_E00243BC(D_E0024CC0[j].unk_01, D_E0024CC0[j].unk_00),
func_E00243BC(D_E0024CC0[j].unk_02, D_E0024CC0[j].unk_00),
func_E00243BC(D_E0024CC0[j].unk_03, D_E0024CC0[j].unk_00),
primA);
gDPSetEnvColor(gMasterGfxPos++,
func_E0024324(D_E0024CC0[j].unk_01, D_E0024CC0[j].unk_00),
func_E0024324(D_E0024CC0[j].unk_02, D_E0024CC0[j].unk_00),
func_E0024324(D_E0024CC0[j].unk_03, D_E0024CC0[j].unk_00),
255);
gSPDisplayList(gMasterGfxPos++, !isChild ?
D_E0024CC0[j].unk_04 : D_E0024CC0[j].unk_08);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPEndDisplayList(gMasterGfxPos++);
gSPBranchList(savedGfxPos, gMasterGfxPos);
if (!isChild) {
var_f30 = 0.0f;
} else {
var_f30 = -gCameras[gCurrentCameraID].currentYaw;
}
shim_guPositionF(sp20, 0.0f, var_f30, 0.0f, 1.0f, data->pos.x, data->pos.y, data->pos.z);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (!isChild) {
gSPDisplayList(gMasterGfxPos++, savedGfxPos2);
} else {
shim_guRotateF(sp20, 30.0f, 0.0f, 0.0f, 1.0f);
mtx = &gDisplayContext->matrixStack[gMatrixListPos++];
shim_guMtxF2L(sp20, mtx);
for (i = 0; i < 12; i++) {
gSPMatrix(gMasterGfxPos++, mtx, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, savedGfxPos2);
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,14 +1,129 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000C00_341480[];
extern Gfx D_09001068_3418E8[];
extern Gfx D_09001080_341900[];
extern Gfx D_09001098_341918[];
extern Gfx D_090010B8_341938[];
extern Gfx D_090010D0_341950[];
extern Gfx D_090010E8_341968[];
extern Gfx D_09001108_341988[];
extern Gfx D_09001120_3419A0[];
extern Gfx D_09001138_3419B8[];
Gfx* D_E002C940[] = {
D_09001138_3419B8, D_09001120_3419A0, D_09001108_341988,
D_090010E8_341968, D_090010D0_341950, D_090010B8_341938,
D_09001098_341918, D_09001080_341900, D_09001068_3418E8
};
f32 D_E002C964[] = {
-1.0f, -0.5f, 0.5f, 1.0f, -1.0f, -0.5f, 0.5f, 1.0f
};
f32 D_E002C984[][2] = {
{ -5.0f, -4.0f },
{ -3.0f, -2.0f },
{ 2.0f, -3.0f },
{ 5.0f, -4.0f },
{ -4.0f, 2.0f },
{ -1.0f, 4.0f },
{ 3.0f, 2.0f },
{ 5.0f, 4.0f }
};
void shattering_stones_init(EffectInstance* effect);
void shattering_stones_update(EffectInstance* effect);
void shattering_stones_render(EffectInstance* effect);
void shattering_stones_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/shattering_stones", shattering_stones_main);
void shattering_stones_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
EffectBlueprint bp;
EffectInstance* effect;
ShatteringStonesFXData* part;
s32 numParts = 9;
s32 i;
void shattering_stones_init(void) {
bp.init = shattering_stones_init;
bp.update = shattering_stones_update;
bp.renderWorld = shattering_stones_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_SHATTERING_STONES;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
part = effect->data.shatteringStones = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.shatteringStones != NULL);
part->unk_24 = 0;
part->unk_00 = arg1;
part->unk_04 = arg2;
part->unk_0C = arg4;
part->unk_08 = arg3;
part->unk_2C = 0;
part->unk_30 = 0;
part->unk_14 = -2.0f;
part->unk_34 = shim_rand_int(60) - 30;
part->unk_28 = 255;
part->unk_38 = shim_rand_int(60) - 30;
part->unk_3C = part->unk_38 * 0.25;
part->unk_20 = 20;
part++;
for (i = 1; i < numParts; i++, part++) {
part->unk_18 = D_E002C984[i - 1][0];
part->unk_1C = D_E002C984[i - 1][1];
part->unk_00 = 0;
part->unk_04 = 0;
part->unk_08 = 0;
part->unk_10 = D_E002C964[i - 1] * 2.0f;
part->unk_14 = (f32) shim_rand_int(10) * 0.1 * 2.0 + 1.0;
part->unk_2C = 0;
part->unk_34 = 0;
}
}
INCLUDE_ASM(s32, "effects/shattering_stones", shattering_stones_update);
void shattering_stones_init(EffectInstance* effect) {
}
void shattering_stones_update(EffectInstance* effect) {
ShatteringStonesFXData* part = effect->data.shatteringStones;
s32 i;
if (part->unk_24 == 0) {
part->unk_14 += -0.1;
part->unk_04 += part->unk_14;
part->unk_2C += part->unk_38;
part->unk_30 += part->unk_3C;
if (part->unk_04 <= part->unk_0C) {
part->unk_24 = 1;
}
}
if (part->unk_24 == 1) {
part->unk_20--;
if (part->unk_20 < 0) {
shim_remove_effect(effect);
return;
}
if (part->unk_20 < 10) {
part->unk_28 *= 0.8;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_14 += -0.2;
part->unk_10 *= 0.9;
part->unk_00 += part->unk_10;
part->unk_04 += part->unk_14;
part->unk_2C += 10.0f;
part->unk_34 += 20.0f;
}
}
}
void shattering_stones_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +138,60 @@ void shattering_stones_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/shattering_stones", shattering_stones_appendGfx);
void shattering_stones_appendGfx(void* effect) {
ShatteringStonesFXData* part = ((EffectInstance*)effect)->data.shatteringStones;
Matrix4f sp20;
Matrix4f sp60;
Matrix4f spA0;
Matrix4f spE0;
s32 i;
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09000C00_341480);
if (part->unk_24 == 0) {
shim_guTranslateF(sp20, part->unk_00, part->unk_04, part->unk_08);
shim_guScaleF(sp60, 1.5f, 1.5f, 1.5f);
shim_guMtxCatF(sp60, sp20, spA0);
shim_guRotateF(sp60, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp60, spA0, spA0);
shim_guRotateF(sp60, part->unk_34, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp60, spA0, spA0);
shim_guRotateF(sp60, part->unk_2C, 1.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp60, spA0, spA0);
shim_guRotateF(sp60, part->unk_30, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp60, spA0, spA0);
shim_guMtxF2L(spA0, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 102, 109, 123, part->unk_28);
gSPDisplayList(gMasterGfxPos++, D_E002C940[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
} else {
s32 unk_28 = part->unk_28;
shim_guTranslateF(sp20, part->unk_00, part->unk_04, part->unk_08);
shim_guScaleF(sp60, 1.5f, 1.5f, 1.5f);
shim_guMtxCatF(sp60, sp20, spA0);
shim_guRotateF(sp60, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp60, spA0, spA0);
shim_guRotateF(spE0, part->unk_2C, 1.0f, 0.0f, 0.0f);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
Gfx* dlist = D_E002C940[i];
shim_guTranslateF(sp60, part->unk_00, part->unk_04, part->unk_08);
shim_guMtxCatF(sp60, spA0, sp20);
shim_guMtxCatF(spE0, sp20, sp20);
shim_guPositionF(sp60, part->unk_2C, 0.0f, part->unk_34, 1.0f, part->unk_18, part->unk_1C, 0.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 150, 150, 200, unk_28);
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
}

View File

@ -1,10 +1,24 @@
#include "common.h"
#include "effects_internal.h"
void shiny_flare_appendGfx(void* effect);
extern Gfx D_09000240_3D79B0[];
extern Gfx D_090002E0_3D7A50[];
u8 D_E00DA500[] = {
255, 255, 82,
255, 255, 82,
181, 148, 0,
181, 148, 0,
255, 255, 214,
255, 255, 214,
181, 148, 0,
181, 148, 0
};
void shiny_flare_init(EffectInstance* effect);
void shiny_flare_update(EffectInstance* effect);
void shiny_flare_render(EffectInstance* effect);
void shiny_flare_appendGfx(void* effect);
EffectInstance* shiny_flare_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4) {
EffectBlueprint effectBp;
@ -83,4 +97,35 @@ void shiny_flare_render(EffectInstance* effect) {
void func_E00DA228(void) {
}
INCLUDE_ASM(s32, "effects/shiny_flare", shiny_flare_appendGfx);
void shiny_flare_appendGfx(void* effect) {
ShinyFlareFXData* data = ((EffectInstance*)effect)->data.shinyFlare;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_24 = data->unk_24;
f32 scale = data->unk_28 * data->unk_2C;
s32 idx;
Matrix4f sp10;
Matrix4f sp50;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp10, data->pos.x, data->pos.y, data->pos.z);
shim_guScaleF(sp50, scale, scale, scale);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000240_3D79B0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24);
idx = data->lifeTime * 3;
gDPSetPrimColor(gMasterGfxPos++, 0, 0,
D_E00DA500[idx % ARRAY_COUNT(D_E00DA500) ],
D_E00DA500[idx % ARRAY_COUNT(D_E00DA500) + 1],
D_E00DA500[idx % ARRAY_COUNT(D_E00DA500) + 2],
unk_24);
gSPDisplayList(gMasterGfxPos++, D_090002E0_3D7A50);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,6 +1,18 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09002950_32B7F0[];
extern Gfx D_09002B60_32BA00[];
extern Gfx D_09002C60_32BB00[];
Gfx* D_E004E5E0[] = {
D_09002B60_32BA00, D_09002C60_32BB00, D_09002B60_32BA00
};
Gfx* D_E004E5EC[] = {
D_09002950_32B7F0, D_09002950_32B7F0, D_09002950_32B7F0
};
void smoke_burst_init(EffectInstance* effect);
void smoke_burst_update(EffectInstance* effect);
void smoke_burst_render(EffectInstance* effect);
@ -86,4 +98,47 @@ void smoke_burst_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/smoke_burst", smoke_burst_appendGfx);
void smoke_burst_appendGfx(void* effect) {
SmokeBurstFXData* data = ((EffectInstance*)effect)->data.smokeBurst;
s32 unk_20_s32 = data->unk_20;
s32 envAlpha = (data->unk_20 - unk_20_s32) * 256.0f;
s32 cond = (unk_20_s32 == 7);
s32 temp_a1;
Gfx* dlist = D_E004E5E0[data->unk_00];
Gfx* dlist2 = D_E004E5EC[0];
Matrix4f sp20;
Matrix4f sp60;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, dlist2);
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_10, data->pos.x, data->pos.y, data->pos.z);
shim_guRotateF(sp60, 20.0f, 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_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->rgba.r, data->rgba.g, data->rgba.b, data->rgba.a);
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, envAlpha);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_DITHER);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(unk_20_s32 * 32 ) * 4, 0,
(unk_20_s32 * 32 + 31) * 4, 31 * 4);
temp_a1 = unk_20_s32 * 32 + 32;
if (cond) {
gDPSetTileSize(gMasterGfxPos++, 1,
(temp_a1 ) * 4, 32 * 4,
(temp_a1 + 31) * 4, 63 * 4);
} else {
gDPSetTileSize(gMasterGfxPos++, 1,
(temp_a1 ) * 4, 0,
(temp_a1 + 31) * 4, 31 * 4);
}
gSPDisplayList(gMasterGfxPos++, dlist);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,107 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09002A38_32B8D8[];
extern Gfx D_09002B60_32BA00[];
extern Gfx D_09002B80_32BA20[];
Gfx* D_E003A800[] = {
D_09002B60_32BA00, D_09002B80_32BA20, D_09002B60_32BA00
};
Gfx* D_E003A80C[] = {
D_09002A38_32B8D8, D_09002A38_32B8D8, D_09002A38_32B8D8
};
void smoke_impact_init(EffectInstance* effect);
void smoke_impact_update(EffectInstance* effect);
void smoke_impact_render(EffectInstance* effect);
void smoke_impact_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/smoke_impact", smoke_impact_main);
void smoke_impact_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5,
f32 arg6,
s32 arg7
) {
EffectBlueprint bp;
EffectInstance* effect;
SmokeImpactFXData* part;
s32 i;
void smoke_impact_init(void) {
arg5++;
bp.init = smoke_impact_init;
bp.update = smoke_impact_update;
bp.renderWorld = smoke_impact_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_SMOKE_IMPACT;
effect = shim_create_effect_instance(&bp);
effect->numParts = arg5;
part = effect->data.smokeImpact = shim_general_heap_malloc(arg5 * sizeof(*part));
ASSERT(effect->data.smokeImpact != NULL);
shim_mem_clear(part, arg5 * sizeof(*part));
part->unk_24 = arg7;
part->unk_28 = 0;
part->unk_2C = arg7;
part->unk_30 = 0;
part->unk_00 = arg0;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
part->unk_20 = arg4;
part->unk_1C = 10.0f;
part++;
for (i = 1; i < arg5; i++, part++) {
f32 angle = arg6 + (i - 1) * 360 / (arg5 - 1);
part->unk_04 = 0;
part->unk_08 = 0;
part->unk_0C = 0;
part->unk_10 = shim_sin_deg(angle);
part->unk_14 = 0;
part->unk_18 = shim_cos_deg(angle);
}
}
INCLUDE_ASM(s32, "effects/smoke_impact", smoke_impact_update);
void smoke_impact_init(EffectInstance* effect) {
}
void smoke_impact_update(EffectInstance* effect) {
SmokeImpactFXData* part = effect->data.smokeImpact;
f32 unk_1C;
s32 i;
part->unk_30 = part->unk_28 * 8.0f / part->unk_2C;
part->unk_28++;
part->unk_24--;
if (part->unk_24 < 0) {
shim_remove_effect(effect);
return;
}
part->unk_1C += (part->unk_20 - part->unk_1C) * 0.1;
unk_1C = part->unk_1C;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_14 += 0.04;
part->unk_14 *= 0.9;
part->unk_04 = unk_1C * part->unk_10;
part->unk_08 += part->unk_14;
part->unk_0C = unk_1C * part->unk_18;
}
}
void smoke_impact_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +116,68 @@ void smoke_impact_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/smoke_impact", smoke_impact_appendGfx);
void smoke_impact_appendGfx(void* effect) {
SmokeImpactFXData* part = ((EffectInstance*)effect)->data.smokeImpact;
s32 unk_00 = part->unk_00;
f32 unk_30 = part->unk_30;
s32 unk_30_s32 = unk_30;
s32 envAlpha = (unk_30 - unk_30_s32) * 256.0f;
Gfx* dlist = D_E003A800[unk_00];
Gfx* dlist2 = D_E003A80C[unk_00];
s32 cond = (unk_30_s32 == 7);
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(sp18, part->unk_04, part->unk_08, part->unk_0C);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp98);
shim_guMtxF2L(sp98, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (unk_00 < 2) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 230, 222, 222, 130);
} else {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 40, 10, 160);
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_DITHER);
}
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, envAlpha);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(unk_30_s32 * 32 ) * 4, 0,
(unk_30_s32 * 32 + 32) * 4, 32 * 4);
if (cond) {
gDPSetTileSize(gMasterGfxPos++, 1,
(unk_30_s32 * 32 + 32) * 4, 32 * 4,
(unk_30_s32 * 32 + 64) * 4, 64 * 4);
} else {
gDPSetTileSize(gMasterGfxPos++, 1,
(unk_30_s32 * 32 + 32) * 4, 0,
(unk_30_s32 * 32 + 64) * 4, 32 * 4);
}
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
if (unk_00 == 2) {
gDPSetAlphaCompare(gMasterGfxPos++, G_AC_NONE);
}
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,14 +1,110 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09002950_32B7F0[];
extern Gfx D_09002B40_32B9E0[];
extern Gfx D_09002B60_32BA00[];
s8 D_E002E740[] = {
0, 1, 2, 26, 3, 27, 4, 28,
5, 29, 6, 22, 38, 71, 87, 103, -1
};
s8* D_E002E754[] = { D_E002E740 };
void smoke_ring_init(EffectInstance* effect);
void smoke_ring_update(EffectInstance* effect);
void smoke_ring_render(EffectInstance* effect);
void smoke_ring_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/smoke_ring", smoke_ring_main);
void smoke_ring_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
EffectInstance* effect;
SmokeRingFXData* part;
s32 numParts;
f32 factor;
s32 i;
void smoke_ring_init(void) {
switch (arg0) {
case 0:
numParts = 7;
factor = 14.0f;
break;
case 1:
numParts = 9;
factor = 28.0f;
break;
default:
numParts = 11;
factor = 42.0f;
break;
}
bpPtr->init = smoke_ring_init;
bpPtr->update = smoke_ring_update;
bpPtr->renderWorld = smoke_ring_render;
bpPtr->unk_00 = 0;
bpPtr->unk_14 = 0;
bpPtr->effectID = EFFECT_SMOKE_RING;
effect = shim_create_effect_instance(bpPtr);
effect->numParts = numParts;
part = effect->data.smokeRing = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.smokeRing != NULL);
shim_mem_clear(part, numParts * sizeof(*part));
part->unk_38 = 0;
part->unk_3C = 0;
part->unk_00 = arg0;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
part++;
for (i = 1; i < numParts; i++, part++) {
f32 angle = (i - 1) * 360 / (numParts - 1);
part->unk_10 = -3.0f;
part->unk_14 = 0.19999999f;
part->unk_18 = 0;
part->unk_1C = 0;
part->unk_20 = 1.75f;
part->unk_24 = -0.16f;
part->unk_28 = 0;
part->unk_2C = 0;
part->unk_04 = -shim_sin_deg(angle) * factor;
part->unk_08 = -shim_cos_deg(angle) * factor;
part->unk_0C = 0;
part->unk_30 = shim_sin_deg(angle);
part->unk_34 = shim_cos_deg(angle);
}
}
INCLUDE_ASM(s32, "effects/smoke_ring", smoke_ring_update);
void smoke_ring_init(EffectInstance* effect) {
}
void smoke_ring_update(EffectInstance* effect) {
SmokeRingFXData* part = effect->data.smokeRing;
s32 i;
part->unk_40 = D_E002E754[part->unk_38][part->unk_3C++];
if (part->unk_40 < 0) {
shim_remove_effect(effect);
return;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_18 += part->unk_1C;
part->unk_14 += part->unk_18;
part->unk_10 += part->unk_14;
part->unk_04 += part->unk_10 * part->unk_30;
part->unk_08 += part->unk_10 * part->unk_34;
}
}
void smoke_ring_render(EffectInstance* effect) {
RenderTask renderTask;
@ -22,4 +118,62 @@ void smoke_ring_render(EffectInstance* effect) {
retTask = shim_queue_render_task(&renderTask);
}
INCLUDE_ASM(s32, "effects/smoke_ring", smoke_ring_appendGfx);
void smoke_ring_appendGfx(void* effect) {
SmokeRingFXData* part = ((EffectInstance*)effect)->data.smokeRing;
s32 temp_s5 = part->unk_40 & 7;
s32 envAlpha = (part->unk_40 & 0x38) * 4;
s32 spD8 = part->unk_40 & 0x40;
s32 temp_a3;
Gfx* dlist;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
s32 i;
if (part->unk_00 != 0) {
dlist = D_09002B60_32BA00;
} else {
dlist = D_09002B40_32B9E0;
}
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09002950_32B7F0);
shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp98);
shim_guMtxF2L(sp98, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 238, 220, 215, 160);
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, envAlpha);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(temp_s5 * 32 ) * 4, 0,
(temp_s5 * 32 + 0x1F) * 4, 31 * 4);
temp_a3 = temp_s5 * 32 + 32;
if (spD8 != 0) {
gDPSetTileSize(gMasterGfxPos++, 1,
(temp_a3 ) * 4, 32 * 4,
(temp_a3 + 31) * 4, 63 * 4);
} else {
gDPSetTileSize(gMasterGfxPos++, 1,
(temp_a3 ) * 4, 0,
(temp_a3 + 31) * 4, 31 * 4);
}
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,6 +1,9 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000000_3B46A0[];
extern Gfx D_090000C8_3B4768[];
void thunderbolt_ring_init(EffectInstance* effect);
void thunderbolt_ring_update(EffectInstance* effect);
void thunderbolt_ring_render(EffectInstance* effect);
@ -93,4 +96,59 @@ void thunderbolt_ring_render(EffectInstance* effect) {
retTask = shim_queue_render_task(&renderTask);
}
INCLUDE_ASM(s32, "effects/thunderbolt_ring", thunderbolt_ring_appendGfx);
void thunderbolt_ring_appendGfx(void* effect) {
ThunderboltRingFXData* data = ((EffectInstance*)effect)->data.thunderboltRing;
s32 lifeTime = data->lifeTime;
s32 unk_24 = data->unk_24;
f32 scaleY = 1.0f;
Gfx* savedGfxPos;
Gfx* savedGfxPos2;
Matrix4f sp20;
Matrix4f sp60;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_28, data->pos.x, data->pos.y, data->pos.z);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000000_3B46A0);
savedGfxPos = gMasterGfxPos++;
savedGfxPos2 = gMasterGfxPos;
for (i = 0; i < 5; i++) {
shim_guRotateF(sp20, i * 72 + 90, 0.0f, 0.0f, 1.0f);
shim_guScaleF(sp60, 1.0f, scaleY, 1.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guPositionF(sp60, 0.0f, 0.0f, 0.0f, 1.0f, 30.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090000C8_3B4768);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPEndDisplayList(gMasterGfxPos++);
gSPBranchList(savedGfxPos, gMasterGfxPos);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24);
gDPSetEnvColor(gMasterGfxPos++, 255, 255, 255, 0);
for (i = 0; i < data->unk_30 + 1; i++) {
f32 angle = lifeTime * 8 + i * 180 / (data->unk_30 + 1);
f32 temp = (f32) (i + 1) + shim_cos_deg(angle) * 0.1;
shim_guPositionF(sp20, 0.0f, 0.0f, i * 36, temp * data->unk_2C, 0.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, savedGfxPos2);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,14 +1,282 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000400_3D2980[];
extern Gfx D_09000518_3D2A98[];
u8 D_E00CCDD0[] = { 94, 92, 100, 105, 107, 105, 100 };
u8 D_E00CCDD8[] = { 20, 40, 58, 73, 85, 92, 97, 100 };
u8 D_E00CCDE0[] = {
0, 2, 5, 9, 14, 20, 27, 35, 44, 54,
64, 74, 84, 94, 100
};
u8 D_E00CCDF0[] = {
0, 10, 20, 30, 40, 50, 60, 70, 80, 90,
100, 109, 117, 124, 130, 135, 139, 142, 144, 145
};
u8 D_E00CCE04[] = {
100, 100, 100, 100, 100, 100, 100, 100, 101, 102,
102, 103, 103, 104, 104, 104, 107, 107, 110, 110,
118, 118, 126, 126, 134, 142, 145, 145, 145, 142,
134, 126, 126, 118, 118, 110, 110, 105, 105, 105,
102, 103, 103, 104, 104, 104, 107, 107, 110, 110,
118, 118, 126, 126, 134, 142, 145, 145, 145, 142,
134, 126, 126, 118, 118, 110, 110, 105, 105, 105
};
s8 D_E00CCE4C[] = {
-5, -5, -5, -4, -4, -4, -3, -3, -2, -2,
-1, -1, 0, 0, 1, 2, 2, 3, 3, 4,
4, 4, 5, 5, 5
};
void tubba_heart_attack_init(EffectInstance* effect);
void tubba_heart_attack_update(EffectInstance* effect);
void tubba_heart_attack_render(EffectInstance* effect);
void tubba_heart_attack_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/tubba_heart_attack", tubba_heart_attack_main);
EffectInstance* tubba_heart_attack_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
TubbaHeartAttackFXData* data;
s32 numParts = 1;
s32 i;
void tubba_heart_attack_init(void) {
bp.init = tubba_heart_attack_init;
bp.update = tubba_heart_attack_update;
bp.renderWorld = tubba_heart_attack_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_TUBBA_HEART_ATTACK;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.tubbaHeartAttack = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.tubbaHeartAttack != NULL);
data->unk_00 = arg0;
data->unk_14 = 0;
if (arg5 <= 0) {
data->unk_10 = 1000;
} else {
data->unk_10 = arg5;
}
data->unk_24 = 255;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_28 = arg4;
data->unk_18 = 70;
data->unk_1C = 180;
data->unk_20 = 120;
for (i = 0; i < 25; i++) {
f32 sin = shim_sin_deg(i * 1080 / 25);
f32 cos = shim_cos_deg(i * 1080 / 25);
data->unk_478[i] = shim_rand_int(359) - 180;
data->unk_284[i] = sin * 15.0f;
data->unk_2E8[i] = D_E00CCE4C[i] + 10;
data->unk_34C[i] = cos * 15.0f;
data->unk_158[i] = sin * 120.0f;
data->unk_1BC[i] = D_E00CCE4C[i] * 8 + 40;
data->unk_220[i] = cos * 120.0f;
data->unk_66C[i] = i * 2 + 1;
data->unk_5A4[i] = 0;
data->unk_6D0[i] = 0;
data->unk_734[i] = 0;
data->unk_4DC[i] = 0;
}
return effect;
}
INCLUDE_ASM(s32, "effects/tubba_heart_attack", tubba_heart_attack_update);
void tubba_heart_attack_init(EffectInstance* effect) {
}
void tubba_heart_attack_update(EffectInstance* effect) {
TubbaHeartAttackFXData* data = effect->data.tubbaHeartAttack;
EffectInstance* puffEffect;
s32 unk_00 = data->unk_00;
s32 unk_14;
f32 factor;
f32 angle;
f32 sin;
f32 cos;
Matrix4f sp18;
Matrix4f sp58;
s32 i;
s32 j;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_10 = 64;
}
if (data->unk_10 < 1000) {
data->unk_10--;
}
data->unk_14++;
if (data->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
unk_14 = data->unk_14;
for (i = 0; i < 25; i++) {
f32 unk_158 = data->unk_158[i];
f32 unk_1BC = data->unk_1BC[i];
f32 unk_220 = data->unk_220[i];
data->unk_414[i] = D_E00CCDD0[unk_14 % ARRAY_COUNT(D_E00CCDD0)] * 0.01f;
data->unk_3B0[i] = 2.0f - data->unk_414[i];
switch (data->unk_6D0[i]) {
case 0:
data->unk_2C[i] = unk_158;
data->unk_90[i] = unk_1BC;
data->unk_F4[i] = unk_220;
data->unk_4DC[i] += 0.0f;
if (data->unk_66C[i] != 0) {
data->unk_66C[i]--;
} else {
data->unk_6D0[i] = 1;
data->unk_3B0[i] = data->unk_414[i] = D_E00CCDD8[data->unk_734[i]] * 0.01;
data->unk_734[i]++;
}
break;
case 1:
data->unk_3B0[i] = data->unk_414[i] = D_E00CCDD8[data->unk_734[i]] * 0.01;
data->unk_4DC[i] += 0.0f;
data->unk_734[i]++;
if (data->unk_734[i] >= ARRAY_COUNT(D_E00CCDD8)) {
if (unk_00 == 0) {
data->unk_6D0[i] = 2;
} else {
data->unk_6D0[i] = 20;
}
data->unk_734[i] = 0;
}
break;
case 20:
data->unk_4DC[i] += 0.0f;
factor = D_E00CCDF0[data->unk_734[i]] * 0.01;
data->unk_3B0[i] = data->unk_414[i] = 1.0f;
data->unk_2C[i] = unk_158 + (data->unk_284[i] - unk_158) * factor;
data->unk_90[i] = unk_1BC + (data->unk_2E8[i] - unk_1BC) * factor;
data->unk_F4[i] = unk_220 + (data->unk_34C[i] - unk_220) * factor;
data->unk_734[i]++;
if (data->unk_734[i] >= ARRAY_COUNT(D_E00CCDF0)) {
data->unk_6D0[i] = 5;
data->unk_734[i] = 0;
data->unk_540[i] = data->unk_284[i] * 0.5;
data->unk_5A4[i] = data->unk_2E8[i] * 0.5;
data->unk_608[i] = data->unk_34C[i] * 0.5;
}
break;
case 2:
data->unk_4DC[i] += 0.0f;
factor = D_E00CCDE0[data->unk_734[i]] * 0.01;
data->unk_414[i] = 1.0f;
data->unk_3B0[i] = 1.0f;
data->unk_2C[i] = unk_158 + (data->unk_284[i] - unk_158) * factor;
data->unk_90[i] = unk_1BC + (data->unk_2E8[i] - unk_1BC) * factor;
data->unk_F4[i] = unk_220 + (data->unk_34C[i] - unk_220) * factor;
data->unk_734[i]++;
if (data->unk_734[i] >= ARRAY_COUNT(D_E00CCDE0)) {
data->unk_6D0[i] = 3;
data->unk_734[i] = 0;
}
break;
case 3:
if (i == 24) {
for (j = 0; j < ARRAY_COUNT(data->unk_6D0); j++) {
data->unk_6D0[j] = 4;
}
}
break;
case 4:
factor = D_E00CCE04[data->unk_734[i]] * 0.01;
angle = i * 1080 / 25 + (1.0f - factor) * 1080.0f * 0.5 * shim_cos_deg(i * 180 / 25);
sin = shim_sin_deg(angle);
cos = shim_cos_deg(angle);
data->unk_2C[i] = ((15.0f / factor) / factor) * sin;
data->unk_90[i] = D_E00CCE4C[i] + 10;
data->unk_F4[i] = ((15.0f / factor) / factor) * cos;
data->unk_734[i]++;
if (data->unk_734[i] >= ARRAY_COUNT(D_E00CCE04)) {
data->unk_6D0[i] = 5;
data->unk_734[i] = 0;
data->unk_540[i] = data->unk_284[i] * 0.5;
data->unk_5A4[i] = data->unk_2E8[i] * 0.5;
data->unk_608[i] = data->unk_34C[i] * 0.5;
}
break;
case 5:
data->unk_2C[i] += data->unk_540[i];
data->unk_90[i] += data->unk_5A4[i];
data->unk_F4[i] += data->unk_608[i];
data->unk_540[i] *= 0.99;
data->unk_5A4[i] *= 0.99;
data->unk_608[i] *= 0.99;
data->unk_5A4[i] += -0.1;
data->unk_734[i]++;
if (data->unk_734[i] >= 17) {
data->unk_734[i] = 0;
data->unk_6D0[i] = 6;
}
data->unk_478[i] *= 0.9;
break;
case 6:
shim_load_effect(EFFECT_FLOATING_CLOUD_PUFF);
shim_guRotateF(sp18, data->unk_4DC[i], 0.0f, 1.0f, 0.0f);
shim_guTranslateF(sp58, data->unk_2C[i], data->unk_90[i], data->unk_F4[i]);
shim_guMtxCatF(sp58, sp18, sp18);
puffEffect = floating_cloud_puff_main(0, data->unk_04 + sp18[3][0], data->unk_08 + sp18[3][1], data->unk_0C + sp18[3][2], 1.0f, 16);
puffEffect->data.floatingCloudPuff->unk_28 = 100;
puffEffect->data.floatingCloudPuff->unk_2C = 0;
puffEffect->data.floatingCloudPuff->unk_30 = 0;
data->unk_6D0[i] = 7;
break;
}
}
}
void tubba_heart_attack_render(EffectInstance* effect) {
RenderTask renderTask;
@ -26,4 +294,46 @@ void tubba_heart_attack_render(EffectInstance* effect) {
void func_E00CC9C8(void) {
}
INCLUDE_ASM(s32, "effects/tubba_heart_attack", tubba_heart_attack_appendGfx);
void tubba_heart_attack_appendGfx(void* effect) {
TubbaHeartAttackFXData* data = ((EffectInstance*)effect)->data.tubbaHeartAttack;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_24 = data->unk_24;
Matrix4f sp18;
Matrix4f sp58;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp58, data->unk_28, data->unk_28, data->unk_28);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24);
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, 0);
gSPDisplayList(gMasterGfxPos++, D_09000400_3D2980);
for (i = 0; i < 25; i++) {
if (data->unk_6D0[i] != 0 && data->unk_6D0[i] != 7) {
shim_guRotateF(sp18, data->unk_4DC[i], 0.0f, 1.0f, 0.0f);
shim_guTranslateF(sp58, data->unk_2C[i], data->unk_90[i], data->unk_F4[i]);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, -data->unk_4DC[i], 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, data->unk_478[i], 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, data->unk_3B0[i], data->unk_414[i], 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000518_3D2A98);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E002C940
.word 0x09001138
dlabel D_E002C944
.word 0x09001120, 0x09001108, 0x090010E8, 0x090010D0, 0x090010B8, 0x09001098, 0x09001080, 0x09001068
dlabel D_E002C964
.word 0xBF800000, 0xBF000000, 0x3F000000, 0x3F800000, 0xBF800000, 0xBF000000, 0x3F000000, 0x3F800000
dlabel D_E002C984
.word 0xC0A00000, 0xC0800000, 0xC0400000, 0xC0000000, 0x40000000, 0xC0400000, 0x40A00000, 0xC0800000, 0xC0800000, 0x40000000, 0xBF800000, 0x40800000, 0x40400000, 0x40000000, 0x40A00000, 0x40800000, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E002E740
.word 0x0001021A, 0x031B041C, 0x051D0616, 0x26475767, 0xFF000000
dlabel D_E002E754
.word D_E002E740, 0x00000000, 0x00000000

View File

@ -1,12 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E003A800
.word 0x09002B60, 0x09002B80, 0x09002B60
dlabel D_E003A80C
.word 0x09002A38, 0x09002A38, 0x09002A38, 0x00000000, 0x00000000

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0046600
.word 0x090002E8
dlabel D_E0046604
.word 0x090003F0, 0x09000410, 0x090003F0, 0x09000430
dlabel D_E0046614
.word 0x09000200
dlabel D_E0046618
.word 0x09000308, 0x00000000

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0048A00
.word 0x090010F8, 0x090010F8
dlabel D_E0048A08
.word 0x09001040, 0x09001040

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E004E5E0
.word 0x09002B60, 0x09002C60, 0x09002B60
dlabel D_E004E5EC
.word 0x09002950, 0x09002950, 0x09002950, 0x00000000, 0x00000000

View File

@ -1,21 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00CCDD0
.word 0x5E5C6469, 0x6B696400
dlabel D_E00CCDD8
.word 0x14283A49, 0x555C6164
dlabel D_E00CCDE0
.byte 0x00, 0x02, 0x05, 0x09, 0x0E, 0x14, 0x1B, 0x23, 0x2C, 0x36, 0x40, 0x4A, 0x54, 0x5E, 0x64, 0x00
dlabel D_E00CCDF0
.byte 0x00, 0x0A, 0x14, 0x1E, 0x28, 0x32, 0x3C, 0x46, 0x50, 0x5A, 0x64, 0x6D, 0x75, 0x7C, 0x82, 0x87, 0x8B, 0x8E, 0x90, 0x91
dlabel D_E00CCE04
.byte 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x65, 0x66, 0x66, 0x67, 0x67, 0x68, 0x68, 0x68, 0x6B, 0x6B, 0x6E, 0x6E, 0x76, 0x76, 0x7E, 0x7E, 0x86, 0x8E, 0x91, 0x91, 0x91, 0x8E, 0x86, 0x7E, 0x7E, 0x76, 0x76, 0x6E, 0x6E, 0x69, 0x69, 0x69, 0x66, 0x67, 0x67, 0x68, 0x68, 0x68, 0x6B, 0x6B, 0x6E, 0x6E, 0x76, 0x76, 0x7E, 0x7E, 0x86, 0x8E, 0x91, 0x91, 0x91, 0x8E, 0x86, 0x7E, 0x7E, 0x76, 0x76, 0x6E, 0x6E, 0x69, 0x69, 0x69, 0x00, 0x00
dlabel D_E00CCE4C
.byte 0xFB, 0xFB, 0xFB, 0xFC, 0xFC, 0xFC, 0xFD, 0xFD, 0xFE, 0xFE, 0xFF, 0xFF, 0x00, 0x00, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -1,12 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00DA500
.byte 0xFF
dlabel D_E00DA501
.byte 0xFF
dlabel D_E00DA502
.byte 0x52, 0xFF, 0xFF, 0x52, 0xB5, 0x94, 0x00, 0xB5, 0x94, 0x00, 0xFF, 0xFF, 0xD6, 0xFF, 0xFF, 0xD6, 0xB5, 0x94, 0x00, 0xB5, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00E8630
.word 0x090001E8
dlabel D_E00E8634
.word 0x09000100, 0x00000000, 0x00000000

View File

@ -1,161 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel moving_cloud_appendGfx
/* 3E1A4C E00E83BC 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 3E1A50 E00E83C0 0080302D */ daddu $a2, $a0, $zero
/* 3E1A54 E00E83C4 3C07DB06 */ lui $a3, 0xdb06
/* 3E1A58 E00E83C8 34E70024 */ ori $a3, $a3, 0x24
/* 3E1A5C E00E83CC 27A40010 */ addiu $a0, $sp, 0x10
/* 3E1A60 E00E83D0 AFB600A8 */ sw $s6, 0xa8($sp)
/* 3E1A64 E00E83D4 3C160001 */ lui $s6, 1
/* 3E1A68 E00E83D8 AFB3009C */ sw $s3, 0x9c($sp)
/* 3E1A6C E00E83DC 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 3E1A70 E00E83E0 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 3E1A74 E00E83E4 36D61630 */ ori $s6, $s6, 0x1630
/* 3E1A78 E00E83E8 AFBF00AC */ sw $ra, 0xac($sp)
/* 3E1A7C E00E83EC AFB500A4 */ sw $s5, 0xa4($sp)
/* 3E1A80 E00E83F0 AFB400A0 */ sw $s4, 0xa0($sp)
/* 3E1A84 E00E83F4 AFB20098 */ sw $s2, 0x98($sp)
/* 3E1A88 E00E83F8 AFB10094 */ sw $s1, 0x94($sp)
/* 3E1A8C E00E83FC AFB00090 */ sw $s0, 0x90($sp)
/* 3E1A90 E00E8400 8E650000 */ lw $a1, ($s3)
/* 3E1A94 E00E8404 8CD2000C */ lw $s2, 0xc($a2)
/* 3E1A98 E00E8408 00A0182D */ daddu $v1, $a1, $zero
/* 3E1A9C E00E840C 24A50008 */ addiu $a1, $a1, 8
/* 3E1AA0 E00E8410 AE650000 */ sw $a1, ($s3)
/* 3E1AA4 E00E8414 8E550030 */ lw $s5, 0x30($s2)
/* 3E1AA8 E00E8418 3C02E700 */ lui $v0, 0xe700
/* 3E1AAC E00E841C AC620000 */ sw $v0, ($v1)
/* 3E1AB0 E00E8420 AC600004 */ sw $zero, 4($v1)
/* 3E1AB4 E00E8424 ACA70000 */ sw $a3, ($a1)
/* 3E1AB8 E00E8428 8CC30010 */ lw $v1, 0x10($a2)
/* 3E1ABC E00E842C 24A20008 */ addiu $v0, $a1, 8
/* 3E1AC0 E00E8430 AE620000 */ sw $v0, ($s3)
/* 3E1AC4 E00E8434 8C62001C */ lw $v0, 0x1c($v1)
/* 3E1AC8 E00E8438 3C038000 */ lui $v1, 0x8000
/* 3E1ACC E00E843C 00431021 */ addu $v0, $v0, $v1
/* 3E1AD0 E00E8440 3C03800B */ lui $v1, %hi(gCameras)
/* 3E1AD4 E00E8444 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3E1AD8 E00E8448 ACA20004 */ sw $v0, 4($a1)
/* 3E1ADC E00E844C 8E450004 */ lw $a1, 4($s2)
/* 3E1AE0 E00E8450 8E460008 */ lw $a2, 8($s2)
/* 3E1AE4 E00E8454 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3E1AE8 E00E8458 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3E1AEC E00E845C 8E47000C */ lw $a3, 0xc($s2)
/* 3E1AF0 E00E8460 00028080 */ sll $s0, $v0, 2
/* 3E1AF4 E00E8464 02028021 */ addu $s0, $s0, $v0
/* 3E1AF8 E00E8468 00108080 */ sll $s0, $s0, 2
/* 3E1AFC E00E846C 02028023 */ subu $s0, $s0, $v0
/* 3E1B00 E00E8470 001010C0 */ sll $v0, $s0, 3
/* 3E1B04 E00E8474 02028021 */ addu $s0, $s0, $v0
/* 3E1B08 E00E8478 001080C0 */ sll $s0, $s0, 3
/* 3E1B0C E00E847C 0C080108 */ jal shim_guTranslateF
/* 3E1B10 E00E8480 02038021 */ addu $s0, $s0, $v1
/* 3E1B14 E00E8484 27B10050 */ addiu $s1, $sp, 0x50
/* 3E1B18 E00E8488 8E450044 */ lw $a1, 0x44($s2)
/* 3E1B1C E00E848C 0220202D */ daddu $a0, $s1, $zero
/* 3E1B20 E00E8490 00A0302D */ daddu $a2, $a1, $zero
/* 3E1B24 E00E8494 0C080110 */ jal shim_guScaleF
/* 3E1B28 E00E8498 00A0382D */ daddu $a3, $a1, $zero
/* 3E1B2C E00E849C 0220202D */ daddu $a0, $s1, $zero
/* 3E1B30 E00E84A0 27A50010 */ addiu $a1, $sp, 0x10
/* 3E1B34 E00E84A4 0C080114 */ jal shim_guMtxCatF
/* 3E1B38 E00E84A8 00A0302D */ daddu $a2, $a1, $zero
/* 3E1B3C E00E84AC 27A40010 */ addiu $a0, $sp, 0x10
/* 3E1B40 E00E84B0 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3E1B44 E00E84B4 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3E1B48 E00E84B8 3C14800A */ lui $s4, %hi(gDisplayContext)
/* 3E1B4C E00E84BC 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext)
/* 3E1B50 E00E84C0 96250000 */ lhu $a1, ($s1)
/* 3E1B54 E00E84C4 8E820000 */ lw $v0, ($s4)
/* 3E1B58 E00E84C8 00052980 */ sll $a1, $a1, 6
/* 3E1B5C E00E84CC 00B62821 */ addu $a1, $a1, $s6
/* 3E1B60 E00E84D0 0C080118 */ jal shim_guMtxF2L
/* 3E1B64 E00E84D4 00452821 */ addu $a1, $v0, $a1
/* 3E1B68 E00E84D8 3C03DA38 */ lui $v1, 0xda38
/* 3E1B6C E00E84DC 34630002 */ ori $v1, $v1, 2
/* 3E1B70 E00E84E0 3C06DA38 */ lui $a2, 0xda38
/* 3E1B74 E00E84E4 34C60001 */ ori $a2, $a2, 1
/* 3E1B78 E00E84E8 3C09D838 */ lui $t1, 0xd838
/* 3E1B7C E00E84EC 35290002 */ ori $t1, $t1, 2
/* 3E1B80 E00E84F0 32B500FF */ andi $s5, $s5, 0xff
/* 3E1B84 E00E84F4 3C07DE00 */ lui $a3, 0xde00
/* 3E1B88 E00E84F8 8E640000 */ lw $a0, ($s3)
/* 3E1B8C E00E84FC 96220000 */ lhu $v0, ($s1)
/* 3E1B90 E00E8500 0080282D */ daddu $a1, $a0, $zero
/* 3E1B94 E00E8504 24840008 */ addiu $a0, $a0, 8
/* 3E1B98 E00E8508 AE640000 */ sw $a0, ($s3)
/* 3E1B9C E00E850C ACA30000 */ sw $v1, ($a1)
/* 3E1BA0 E00E8510 24430001 */ addiu $v1, $v0, 1
/* 3E1BA4 E00E8514 3042FFFF */ andi $v0, $v0, 0xffff
/* 3E1BA8 E00E8518 00021180 */ sll $v0, $v0, 6
/* 3E1BAC E00E851C A6230000 */ sh $v1, ($s1)
/* 3E1BB0 E00E8520 8E830000 */ lw $v1, ($s4)
/* 3E1BB4 E00E8524 00561021 */ addu $v0, $v0, $s6
/* 3E1BB8 E00E8528 00621821 */ addu $v1, $v1, $v0
/* 3E1BBC E00E852C 24820008 */ addiu $v0, $a0, 8
/* 3E1BC0 E00E8530 ACA30004 */ sw $v1, 4($a1)
/* 3E1BC4 E00E8534 AE620000 */ sw $v0, ($s3)
/* 3E1BC8 E00E8538 24820010 */ addiu $v0, $a0, 0x10
/* 3E1BCC E00E853C AC860000 */ sw $a2, ($a0)
/* 3E1BD0 E00E8540 AE620000 */ sw $v0, ($s3)
/* 3E1BD4 E00E8544 8E030204 */ lw $v1, 0x204($s0)
/* 3E1BD8 E00E8548 3C02FA00 */ lui $v0, 0xfa00
/* 3E1BDC E00E854C AC820008 */ sw $v0, 8($a0)
/* 3E1BE0 E00E8550 AC830004 */ sw $v1, 4($a0)
/* 3E1BE4 E00E8554 92420027 */ lbu $v0, 0x27($s2)
/* 3E1BE8 E00E8558 9245002B */ lbu $a1, 0x2b($s2)
/* 3E1BEC E00E855C 9246002F */ lbu $a2, 0x2f($s2)
/* 3E1BF0 E00E8560 24830018 */ addiu $v1, $a0, 0x18
/* 3E1BF4 E00E8564 AE630000 */ sw $v1, ($s3)
/* 3E1BF8 E00E8568 3C03FB00 */ lui $v1, 0xfb00
/* 3E1BFC E00E856C AC830010 */ sw $v1, 0x10($a0)
/* 3E1C00 E00E8570 00021600 */ sll $v0, $v0, 0x18
/* 3E1C04 E00E8574 00052C00 */ sll $a1, $a1, 0x10
/* 3E1C08 E00E8578 00451025 */ or $v0, $v0, $a1
/* 3E1C0C E00E857C 00063200 */ sll $a2, $a2, 8
/* 3E1C10 E00E8580 00461025 */ or $v0, $v0, $a2
/* 3E1C14 E00E8584 00551025 */ or $v0, $v0, $s5
/* 3E1C18 E00E8588 AC82000C */ sw $v0, 0xc($a0)
/* 3E1C1C E00E858C 92420037 */ lbu $v0, 0x37($s2)
/* 3E1C20 E00E8590 9245003B */ lbu $a1, 0x3b($s2)
/* 3E1C24 E00E8594 9246003F */ lbu $a2, 0x3f($s2)
/* 3E1C28 E00E8598 92480043 */ lbu $t0, 0x43($s2)
/* 3E1C2C E00E859C 24830020 */ addiu $v1, $a0, 0x20
/* 3E1C30 E00E85A0 AE630000 */ sw $v1, ($s3)
/* 3E1C34 E00E85A4 AC870018 */ sw $a3, 0x18($a0)
/* 3E1C38 E00E85A8 00021600 */ sll $v0, $v0, 0x18
/* 3E1C3C E00E85AC 00052C00 */ sll $a1, $a1, 0x10
/* 3E1C40 E00E85B0 00451025 */ or $v0, $v0, $a1
/* 3E1C44 E00E85B4 00063200 */ sll $a2, $a2, 8
/* 3E1C48 E00E85B8 00461025 */ or $v0, $v0, $a2
/* 3E1C4C E00E85BC 00481025 */ or $v0, $v0, $t0
/* 3E1C50 E00E85C0 AC820014 */ sw $v0, 0x14($a0)
/* 3E1C54 E00E85C4 3C03E00F */ lui $v1, %hi(D_E00E8634)
/* 3E1C58 E00E85C8 8C638634 */ lw $v1, %lo(D_E00E8634)($v1)
/* 3E1C5C E00E85CC 24820028 */ addiu $v0, $a0, 0x28
/* 3E1C60 E00E85D0 AE620000 */ sw $v0, ($s3)
/* 3E1C64 E00E85D4 AC870020 */ sw $a3, 0x20($a0)
/* 3E1C68 E00E85D8 AC83001C */ sw $v1, 0x1c($a0)
/* 3E1C6C E00E85DC 3C03E00F */ lui $v1, %hi(D_E00E8630)
/* 3E1C70 E00E85E0 8C638630 */ lw $v1, %lo(D_E00E8630)($v1)
/* 3E1C74 E00E85E4 24820030 */ addiu $v0, $a0, 0x30
/* 3E1C78 E00E85E8 AE620000 */ sw $v0, ($s3)
/* 3E1C7C E00E85EC 24020040 */ addiu $v0, $zero, 0x40
/* 3E1C80 E00E85F0 AC830024 */ sw $v1, 0x24($a0)
/* 3E1C84 E00E85F4 AC890028 */ sw $t1, 0x28($a0)
/* 3E1C88 E00E85F8 AC82002C */ sw $v0, 0x2c($a0)
/* 3E1C8C E00E85FC 8FBF00AC */ lw $ra, 0xac($sp)
/* 3E1C90 E00E8600 8FB600A8 */ lw $s6, 0xa8($sp)
/* 3E1C94 E00E8604 8FB500A4 */ lw $s5, 0xa4($sp)
/* 3E1C98 E00E8608 8FB400A0 */ lw $s4, 0xa0($sp)
/* 3E1C9C E00E860C 8FB3009C */ lw $s3, 0x9c($sp)
/* 3E1CA0 E00E8610 8FB20098 */ lw $s2, 0x98($sp)
/* 3E1CA4 E00E8614 8FB10094 */ lw $s1, 0x94($sp)
/* 3E1CA8 E00E8618 8FB00090 */ lw $s0, 0x90($sp)
/* 3E1CAC E00E861C 03E00008 */ jr $ra
/* 3E1CB0 E00E8620 27BD00B0 */ addiu $sp, $sp, 0xb0
/* 3E1CB4 E00E8624 00000000 */ nop
/* 3E1CB8 E00E8628 00000000 */ nop
/* 3E1CBC E00E862C 00000000 */ nop

View File

@ -1,168 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel moving_cloud_main
/* 3E1690 E00E8000 27BDFF98 */ addiu $sp, $sp, -0x68
/* 3E1694 E00E8004 AFB20030 */ sw $s2, 0x30($sp)
/* 3E1698 E00E8008 0080902D */ daddu $s2, $a0, $zero
/* 3E169C E00E800C F7BE0060 */ sdc1 $f30, 0x60($sp)
/* 3E16A0 E00E8010 4485F000 */ mtc1 $a1, $f30
/* 3E16A4 E00E8014 27A40010 */ addiu $a0, $sp, 0x10
/* 3E16A8 E00E8018 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* 3E16AC E00E801C C7BC0084 */ lwc1 $f28, 0x84($sp)
/* 3E16B0 E00E8020 3C02E00F */ lui $v0, %hi(moving_cloud_init)
/* 3E16B4 E00E8024 2442825C */ addiu $v0, $v0, %lo(moving_cloud_init)
/* 3E16B8 E00E8028 AFA20018 */ sw $v0, 0x18($sp)
/* 3E16BC E00E802C 3C02E00F */ lui $v0, %hi(moving_cloud_update)
/* 3E16C0 E00E8030 24428264 */ addiu $v0, $v0, %lo(moving_cloud_update)
/* 3E16C4 E00E8034 AFA2001C */ sw $v0, 0x1c($sp)
/* 3E16C8 E00E8038 3C02E00F */ lui $v0, %hi(moving_cloud_render)
/* 3E16CC E00E803C 24428374 */ addiu $v0, $v0, %lo(moving_cloud_render)
/* 3E16D0 E00E8040 AFA20020 */ sw $v0, 0x20($sp)
/* 3E16D4 E00E8044 24020074 */ addiu $v0, $zero, 0x74
/* 3E16D8 E00E8048 AFBF0034 */ sw $ra, 0x34($sp)
/* 3E16DC E00E804C AFB1002C */ sw $s1, 0x2c($sp)
/* 3E16E0 E00E8050 AFB00028 */ sw $s0, 0x28($sp)
/* 3E16E4 E00E8054 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 3E16E8 E00E8058 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3E16EC E00E805C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3E16F0 E00E8060 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3E16F4 E00E8064 AFA60070 */ sw $a2, 0x70($sp)
/* 3E16F8 E00E8068 AFA70074 */ sw $a3, 0x74($sp)
/* 3E16FC E00E806C AFA00010 */ sw $zero, 0x10($sp)
/* 3E1700 E00E8070 AFA00024 */ sw $zero, 0x24($sp)
/* 3E1704 E00E8074 0C080124 */ jal shim_create_effect_instance
/* 3E1708 E00E8078 AFA20014 */ sw $v0, 0x14($sp)
/* 3E170C E00E807C 24040048 */ addiu $a0, $zero, 0x48
/* 3E1710 E00E8080 24030001 */ addiu $v1, $zero, 1
/* 3E1714 E00E8084 0040882D */ daddu $s1, $v0, $zero
/* 3E1718 E00E8088 0C08012C */ jal shim_general_heap_malloc
/* 3E171C E00E808C AE230008 */ sw $v1, 8($s1)
/* 3E1720 E00E8090 0040802D */ daddu $s0, $v0, $zero
/* 3E1724 E00E8094 16000003 */ bnez $s0, .LE00E80A4
/* 3E1728 E00E8098 AE22000C */ sw $v0, 0xc($s1)
.LE00E809C:
/* 3E172C E00E809C 0803A027 */ j .LE00E809C
/* 3E1730 E00E80A0 00000000 */ nop
.LE00E80A4:
/* 3E1734 E00E80A4 C7A00078 */ lwc1 $f0, 0x78($sp)
/* 3E1738 E00E80A8 461E0601 */ sub.s $f24, $f0, $f30
/* 3E173C E00E80AC 4618C082 */ mul.s $f2, $f24, $f24
/* 3E1740 E00E80B0 00000000 */ nop
/* 3E1744 E00E80B4 C7A60070 */ lwc1 $f6, 0x70($sp)
/* 3E1748 E00E80B8 C7A0007C */ lwc1 $f0, 0x7c($sp)
/* 3E174C E00E80BC 46060581 */ sub.s $f22, $f0, $f6
/* 3E1750 E00E80C0 4616B102 */ mul.s $f4, $f22, $f22
/* 3E1754 E00E80C4 00000000 */ nop
/* 3E1758 E00E80C8 C7A00080 */ lwc1 $f0, 0x80($sp)
/* 3E175C E00E80CC C7A60074 */ lwc1 $f6, 0x74($sp)
/* 3E1760 E00E80D0 46060501 */ sub.s $f20, $f0, $f6
/* 3E1764 E00E80D4 4614A002 */ mul.s $f0, $f20, $f20
/* 3E1768 E00E80D8 00000000 */ nop
/* 3E176C E00E80DC 46041080 */ add.s $f2, $f2, $f4
/* 3E1770 E00E80E0 4480D000 */ mtc1 $zero, $f26
/* 3E1774 E00E80E4 46001300 */ add.s $f12, $f2, $f0
/* 3E1778 E00E80E8 AE120000 */ sw $s2, ($s0)
/* 3E177C E00E80EC 461A6032 */ c.eq.s $f12, $f26
/* 3E1780 E00E80F0 00000000 */ nop
/* 3E1784 E00E80F4 45010004 */ bc1t .LE00E8108
/* 3E1788 E00E80F8 AE000020 */ sw $zero, 0x20($s0)
/* 3E178C E00E80FC 0C080154 */ jal shim_sqrtf
/* 3E1790 E00E8100 00000000 */ nop
/* 3E1794 E00E8104 46000306 */ mov.s $f12, $f0
.LE00E8108:
/* 3E1798 E00E8108 461CD03C */ c.lt.s $f26, $f28
/* 3E179C E00E810C 00000000 */ nop
/* 3E17A0 E00E8110 45000005 */ bc1f .LE00E8128
/* 3E17A4 E00E8114 0000102D */ daddu $v0, $zero, $zero
/* 3E17A8 E00E8118 461C6003 */ div.s $f0, $f12, $f28
/* 3E17AC E00E811C 4600018D */ trunc.w.s $f6, $f0
/* 3E17B0 E00E8120 44023000 */ mfc1 $v0, $f6
/* 3E17B4 E00E8124 00000000 */ nop
.LE00E8128:
/* 3E17B8 E00E8128 50400011 */ beql $v0, $zero, .LE00E8170
/* 3E17BC E00E812C AE000010 */ sw $zero, 0x10($s0)
/* 3E17C0 E00E8130 3C013F80 */ lui $at, 0x3f80
/* 3E17C4 E00E8134 44811000 */ mtc1 $at, $f2
/* 3E17C8 E00E8138 44820000 */ mtc1 $v0, $f0
/* 3E17CC E00E813C 00000000 */ nop
/* 3E17D0 E00E8140 46800020 */ cvt.s.w $f0, $f0
/* 3E17D4 E00E8144 46001303 */ div.s $f12, $f2, $f0
/* 3E17D8 E00E8148 460CC002 */ mul.s $f0, $f24, $f12
/* 3E17DC E00E814C 00000000 */ nop
/* 3E17E0 E00E8150 460CB082 */ mul.s $f2, $f22, $f12
/* 3E17E4 E00E8154 00000000 */ nop
/* 3E17E8 E00E8158 460CA102 */ mul.s $f4, $f20, $f12
/* 3E17EC E00E815C 00000000 */ nop
/* 3E17F0 E00E8160 E6000010 */ swc1 $f0, 0x10($s0)
/* 3E17F4 E00E8164 E6020014 */ swc1 $f2, 0x14($s0)
/* 3E17F8 E00E8168 0803A05E */ j .LE00E8178
/* 3E17FC E00E816C E6040018 */ swc1 $f4, 0x18($s0)
.LE00E8170:
/* 3E1800 E00E8170 AE000014 */ sw $zero, 0x14($s0)
/* 3E1804 E00E8174 AE000018 */ sw $zero, 0x18($s0)
.LE00E8178:
/* 3E1808 E00E8178 04420001 */ bltzl $v0, .LE00E8180
/* 3E180C E00E817C 240203E8 */ addiu $v0, $zero, 0x3e8
.LE00E8180:
/* 3E1810 E00E8180 AE02001C */ sw $v0, 0x1c($s0)
/* 3E1814 E00E8184 AE000030 */ sw $zero, 0x30($s0)
/* 3E1818 E00E8188 E61E0004 */ swc1 $f30, 4($s0)
/* 3E181C E00E818C C7A60070 */ lwc1 $f6, 0x70($sp)
/* 3E1820 E00E8190 E6060008 */ swc1 $f6, 8($s0)
/* 3E1824 E00E8194 C7A60074 */ lwc1 $f6, 0x74($sp)
/* 3E1828 E00E8198 E606000C */ swc1 $f6, 0xc($s0)
/* 3E182C E00E819C C7A00088 */ lwc1 $f0, 0x88($sp)
/* 3E1830 E00E81A0 24020001 */ addiu $v0, $zero, 1
/* 3E1834 E00E81A4 12420016 */ beq $s2, $v0, .LE00E8200
/* 3E1838 E00E81A8 E6000044 */ swc1 $f0, 0x44($s0)
/* 3E183C E00E81AC 2A420002 */ slti $v0, $s2, 2
/* 3E1840 E00E81B0 10400005 */ beqz $v0, .LE00E81C8
/* 3E1844 E00E81B4 24020002 */ addiu $v0, $zero, 2
/* 3E1848 E00E81B8 12400005 */ beqz $s2, .LE00E81D0
/* 3E184C E00E81BC 240200FF */ addiu $v0, $zero, 0xff
/* 3E1850 E00E81C0 0803A082 */ j .LE00E8208
/* 3E1854 E00E81C4 240300DC */ addiu $v1, $zero, 0xdc
.LE00E81C8:
/* 3E1858 E00E81C8 1642000E */ bne $s2, $v0, .LE00E8204
/* 3E185C E00E81CC 240200FF */ addiu $v0, $zero, 0xff
.LE00E81D0:
/* 3E1860 E00E81D0 240300D7 */ addiu $v1, $zero, 0xd7
/* 3E1864 E00E81D4 240200B9 */ addiu $v0, $zero, 0xb9
/* 3E1868 E00E81D8 AE02002C */ sw $v0, 0x2c($s0)
/* 3E186C E00E81DC 240200C8 */ addiu $v0, $zero, 0xc8
/* 3E1870 E00E81E0 AE020038 */ sw $v0, 0x38($s0)
/* 3E1874 E00E81E4 24020064 */ addiu $v0, $zero, 0x64
/* 3E1878 E00E81E8 AE02003C */ sw $v0, 0x3c($s0)
/* 3E187C E00E81EC 240200FF */ addiu $v0, $zero, 0xff
/* 3E1880 E00E81F0 AE030024 */ sw $v1, 0x24($s0)
/* 3E1884 E00E81F4 AE030028 */ sw $v1, 0x28($s0)
/* 3E1888 E00E81F8 0803A089 */ j .LE00E8224
/* 3E188C E00E81FC AE030034 */ sw $v1, 0x34($s0)
.LE00E8200:
/* 3E1890 E00E8200 240200FF */ addiu $v0, $zero, 0xff
.LE00E8204:
/* 3E1894 E00E8204 240300DC */ addiu $v1, $zero, 0xdc
.LE00E8208:
/* 3E1898 E00E8208 AE030034 */ sw $v1, 0x34($s0)
/* 3E189C E00E820C 240300F5 */ addiu $v1, $zero, 0xf5
/* 3E18A0 E00E8210 AE020024 */ sw $v0, 0x24($s0)
/* 3E18A4 E00E8214 AE020028 */ sw $v0, 0x28($s0)
/* 3E18A8 E00E8218 AE02002C */ sw $v0, 0x2c($s0)
/* 3E18AC E00E821C AE030038 */ sw $v1, 0x38($s0)
/* 3E18B0 E00E8220 AE02003C */ sw $v0, 0x3c($s0)
.LE00E8224:
/* 3E18B4 E00E8224 AE020040 */ sw $v0, 0x40($s0)
/* 3E18B8 E00E8228 0220102D */ daddu $v0, $s1, $zero
/* 3E18BC E00E822C 8FBF0034 */ lw $ra, 0x34($sp)
/* 3E18C0 E00E8230 8FB20030 */ lw $s2, 0x30($sp)
/* 3E18C4 E00E8234 8FB1002C */ lw $s1, 0x2c($sp)
/* 3E18C8 E00E8238 8FB00028 */ lw $s0, 0x28($sp)
/* 3E18CC E00E823C D7BE0060 */ ldc1 $f30, 0x60($sp)
/* 3E18D0 E00E8240 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* 3E18D4 E00E8244 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 3E18D8 E00E8248 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3E18DC E00E824C D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3E18E0 E00E8250 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3E18E4 E00E8254 03E00008 */ jr $ra
/* 3E18E8 E00E8258 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,83 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel moving_cloud_update
/* 3E18F4 E00E8264 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3E18F8 E00E8268 AFBF0010 */ sw $ra, 0x10($sp)
/* 3E18FC E00E826C 8C850000 */ lw $a1, ($a0)
/* 3E1900 E00E8270 8C83000C */ lw $v1, 0xc($a0)
/* 3E1904 E00E8274 30A20010 */ andi $v0, $a1, 0x10
/* 3E1908 E00E8278 8C670000 */ lw $a3, ($v1)
/* 3E190C E00E827C 10400005 */ beqz $v0, .LE00E8294
/* 3E1910 E00E8280 2402FFEF */ addiu $v0, $zero, -0x11
/* 3E1914 E00E8284 00A21024 */ and $v0, $a1, $v0
/* 3E1918 E00E8288 AC820000 */ sw $v0, ($a0)
/* 3E191C E00E828C 24020010 */ addiu $v0, $zero, 0x10
/* 3E1920 E00E8290 AC62001C */ sw $v0, 0x1c($v1)
.LE00E8294:
/* 3E1924 E00E8294 8C65001C */ lw $a1, 0x1c($v1)
/* 3E1928 E00E8298 28A203E8 */ slti $v0, $a1, 0x3e8
/* 3E192C E00E829C 10400002 */ beqz $v0, .LE00E82A8
/* 3E1930 E00E82A0 24A2FFFF */ addiu $v0, $a1, -1
/* 3E1934 E00E82A4 AC62001C */ sw $v0, 0x1c($v1)
.LE00E82A8:
/* 3E1938 E00E82A8 8C620020 */ lw $v0, 0x20($v1)
/* 3E193C E00E82AC 8C66001C */ lw $a2, 0x1c($v1)
/* 3E1940 E00E82B0 24450001 */ addiu $a1, $v0, 1
/* 3E1944 E00E82B4 04C10005 */ bgez $a2, .LE00E82CC
/* 3E1948 E00E82B8 AC650020 */ sw $a1, 0x20($v1)
/* 3E194C E00E82BC 0C080128 */ jal shim_remove_effect
/* 3E1950 E00E82C0 00000000 */ nop
/* 3E1954 E00E82C4 0803A0DA */ j .LE00E8368
/* 3E1958 E00E82C8 00000000 */ nop
.LE00E82CC:
/* 3E195C E00E82CC 10E00004 */ beqz $a3, .LE00E82E0
/* 3E1960 E00E82D0 00C0202D */ daddu $a0, $a2, $zero
/* 3E1964 E00E82D4 24020002 */ addiu $v0, $zero, 2
/* 3E1968 E00E82D8 14E2000D */ bne $a3, $v0, .LE00E8310
/* 3E196C E00E82DC 28A20004 */ slti $v0, $a1, 4
.LE00E82E0:
/* 3E1970 E00E82E0 28A20010 */ slti $v0, $a1, 0x10
/* 3E1974 E00E82E4 10400003 */ beqz $v0, .LE00E82F4
/* 3E1978 E00E82E8 00051100 */ sll $v0, $a1, 4
/* 3E197C E00E82EC 0803A0BE */ j .LE00E82F8
/* 3E1980 E00E82F0 2442000F */ addiu $v0, $v0, 0xf
.LE00E82F4:
/* 3E1984 E00E82F4 240200FF */ addiu $v0, $zero, 0xff
.LE00E82F8:
/* 3E1988 E00E82F8 AC620030 */ sw $v0, 0x30($v1)
/* 3E198C E00E82FC 28820010 */ slti $v0, $a0, 0x10
/* 3E1990 E00E8300 1040000D */ beqz $v0, .LE00E8338
/* 3E1994 E00E8304 00041100 */ sll $v0, $a0, 4
/* 3E1998 E00E8308 0803A0CE */ j .LE00E8338
/* 3E199C E00E830C AC620030 */ sw $v0, 0x30($v1)
.LE00E8310:
/* 3E19A0 E00E8310 10400003 */ beqz $v0, .LE00E8320
/* 3E19A4 E00E8314 00051180 */ sll $v0, $a1, 6
/* 3E19A8 E00E8318 0803A0C9 */ j .LE00E8324
/* 3E19AC E00E831C 2442003F */ addiu $v0, $v0, 0x3f
.LE00E8320:
/* 3E19B0 E00E8320 240200FF */ addiu $v0, $zero, 0xff
.LE00E8324:
/* 3E19B4 E00E8324 AC620030 */ sw $v0, 0x30($v1)
/* 3E19B8 E00E8328 28820004 */ slti $v0, $a0, 4
/* 3E19BC E00E832C 10400002 */ beqz $v0, .LE00E8338
/* 3E19C0 E00E8330 00041180 */ sll $v0, $a0, 6
/* 3E19C4 E00E8334 AC620030 */ sw $v0, 0x30($v1)
.LE00E8338:
/* 3E19C8 E00E8338 C4660004 */ lwc1 $f6, 4($v1)
/* 3E19CC E00E833C C4600010 */ lwc1 $f0, 0x10($v1)
/* 3E19D0 E00E8340 C4640008 */ lwc1 $f4, 8($v1)
/* 3E19D4 E00E8344 46003180 */ add.s $f6, $f6, $f0
/* 3E19D8 E00E8348 C4600014 */ lwc1 $f0, 0x14($v1)
/* 3E19DC E00E834C C462000C */ lwc1 $f2, 0xc($v1)
/* 3E19E0 E00E8350 46002100 */ add.s $f4, $f4, $f0
/* 3E19E4 E00E8354 C4600018 */ lwc1 $f0, 0x18($v1)
/* 3E19E8 E00E8358 46001080 */ add.s $f2, $f2, $f0
/* 3E19EC E00E835C E4660004 */ swc1 $f6, 4($v1)
/* 3E19F0 E00E8360 E4640008 */ swc1 $f4, 8($v1)
/* 3E19F4 E00E8364 E462000C */ swc1 $f2, 0xc($v1)
.LE00E8368:
/* 3E19F8 E00E8368 8FBF0010 */ lw $ra, 0x10($sp)
/* 3E19FC E00E836C 03E00008 */ jr $ra
/* 3E1A00 E00E8370 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,146 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel purple_ring_appendGfx
/* 352A78 E003E638 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 352A7C E003E63C 0080182D */ daddu $v1, $a0, $zero
/* 352A80 E003E640 3C05DB06 */ lui $a1, 0xdb06
/* 352A84 E003E644 34A50024 */ ori $a1, $a1, 0x24
/* 352A88 E003E648 27A40010 */ addiu $a0, $sp, 0x10
/* 352A8C E003E64C AFB500A4 */ sw $s5, 0xa4($sp)
/* 352A90 E003E650 3C150001 */ lui $s5, 1
/* 352A94 E003E654 AFB20098 */ sw $s2, 0x98($sp)
/* 352A98 E003E658 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 352A9C E003E65C 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 352AA0 E003E660 AFB600A8 */ sw $s6, 0xa8($sp)
/* 352AA4 E003E664 3C16E700 */ lui $s6, 0xe700
/* 352AA8 E003E668 AFBF00AC */ sw $ra, 0xac($sp)
/* 352AAC E003E66C AFB400A0 */ sw $s4, 0xa0($sp)
/* 352AB0 E003E670 AFB3009C */ sw $s3, 0x9c($sp)
/* 352AB4 E003E674 AFB10094 */ sw $s1, 0x94($sp)
/* 352AB8 E003E678 AFB00090 */ sw $s0, 0x90($sp)
/* 352ABC E003E67C 8E460000 */ lw $a2, ($s2)
/* 352AC0 E003E680 8C70000C */ lw $s0, 0xc($v1)
/* 352AC4 E003E684 00C0102D */ daddu $v0, $a2, $zero
/* 352AC8 E003E688 24C60008 */ addiu $a2, $a2, 8
/* 352ACC E003E68C AE460000 */ sw $a2, ($s2)
/* 352AD0 E003E690 C600005C */ lwc1 $f0, 0x5c($s0)
/* 352AD4 E003E694 3C14DE00 */ lui $s4, 0xde00
/* 352AD8 E003E698 AC560000 */ sw $s6, ($v0)
/* 352ADC E003E69C AC400004 */ sw $zero, 4($v0)
/* 352AE0 E003E6A0 24C20008 */ addiu $v0, $a2, 8
/* 352AE4 E003E6A4 AE420000 */ sw $v0, ($s2)
/* 352AE8 E003E6A8 24C20010 */ addiu $v0, $a2, 0x10
/* 352AEC E003E6AC ACC50000 */ sw $a1, ($a2)
/* 352AF0 E003E6B0 AE420000 */ sw $v0, ($s2)
/* 352AF4 E003E6B4 8C630010 */ lw $v1, 0x10($v1)
/* 352AF8 E003E6B8 24C20018 */ addiu $v0, $a2, 0x18
/* 352AFC E003E6BC AE420000 */ sw $v0, ($s2)
/* 352B00 E003E6C0 8C63001C */ lw $v1, 0x1c($v1)
/* 352B04 E003E6C4 3C020900 */ lui $v0, 0x900
/* 352B08 E003E6C8 24420200 */ addiu $v0, $v0, 0x200
/* 352B0C E003E6CC ACC2000C */ sw $v0, 0xc($a2)
/* 352B10 E003E6D0 3C02FA00 */ lui $v0, 0xfa00
/* 352B14 E003E6D4 ACC20010 */ sw $v0, 0x10($a2)
/* 352B18 E003E6D8 3C028000 */ lui $v0, 0x8000
/* 352B1C E003E6DC ACD40008 */ sw $s4, 8($a2)
/* 352B20 E003E6E0 00621821 */ addu $v1, $v1, $v0
/* 352B24 E003E6E4 ACC30004 */ sw $v1, 4($a2)
/* 352B28 E003E6E8 92020074 */ lbu $v0, 0x74($s0)
/* 352B2C E003E6EC 92030075 */ lbu $v1, 0x75($s0)
/* 352B30 E003E6F0 92050076 */ lbu $a1, 0x76($s0)
/* 352B34 E003E6F4 00021600 */ sll $v0, $v0, 0x18
/* 352B38 E003E6F8 00031C00 */ sll $v1, $v1, 0x10
/* 352B3C E003E6FC 00431025 */ or $v0, $v0, $v1
/* 352B40 E003E700 00052A00 */ sll $a1, $a1, 8
/* 352B44 E003E704 9203006B */ lbu $v1, 0x6b($s0)
/* 352B48 E003E708 00451025 */ or $v0, $v0, $a1
/* 352B4C E003E70C 00431025 */ or $v0, $v0, $v1
/* 352B50 E003E710 ACC20014 */ sw $v0, 0x14($a2)
/* 352B54 E003E714 8E050004 */ lw $a1, 4($s0)
/* 352B58 E003E718 8E060008 */ lw $a2, 8($s0)
/* 352B5C E003E71C 8E07000C */ lw $a3, 0xc($s0)
/* 352B60 E003E720 4600008D */ trunc.w.s $f2, $f0
/* 352B64 E003E724 44111000 */ mfc1 $s1, $f2
/* 352B68 E003E728 0C080108 */ jal shim_guTranslateF
/* 352B6C E003E72C 36B51630 */ ori $s5, $s5, 0x1630
/* 352B70 E003E730 2604001C */ addiu $a0, $s0, 0x1c
/* 352B74 E003E734 27A50010 */ addiu $a1, $sp, 0x10
/* 352B78 E003E738 0C080114 */ jal shim_guMtxCatF
/* 352B7C E003E73C 00A0302D */ daddu $a2, $a1, $zero
/* 352B80 E003E740 8E050064 */ lw $a1, 0x64($s0)
/* 352B84 E003E744 27B00050 */ addiu $s0, $sp, 0x50
/* 352B88 E003E748 0200202D */ daddu $a0, $s0, $zero
/* 352B8C E003E74C 00A0302D */ daddu $a2, $a1, $zero
/* 352B90 E003E750 0C080110 */ jal shim_guScaleF
/* 352B94 E003E754 00A0382D */ daddu $a3, $a1, $zero
/* 352B98 E003E758 0200202D */ daddu $a0, $s0, $zero
/* 352B9C E003E75C 27A50010 */ addiu $a1, $sp, 0x10
/* 352BA0 E003E760 0C080114 */ jal shim_guMtxCatF
/* 352BA4 E003E764 00A0302D */ daddu $a2, $a1, $zero
/* 352BA8 E003E768 27A40010 */ addiu $a0, $sp, 0x10
/* 352BAC E003E76C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 352BB0 E003E770 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 352BB4 E003E774 3C13800A */ lui $s3, %hi(gDisplayContext)
/* 352BB8 E003E778 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext)
/* 352BBC E003E77C 96050000 */ lhu $a1, ($s0)
/* 352BC0 E003E780 8E620000 */ lw $v0, ($s3)
/* 352BC4 E003E784 00052980 */ sll $a1, $a1, 6
/* 352BC8 E003E788 00B52821 */ addu $a1, $a1, $s5
/* 352BCC E003E78C 0C080118 */ jal shim_guMtxF2L
/* 352BD0 E003E790 00452821 */ addu $a1, $v0, $a1
/* 352BD4 E003E794 3C06D838 */ lui $a2, 0xd838
/* 352BD8 E003E798 8E440000 */ lw $a0, ($s2)
/* 352BDC E003E79C 34C60002 */ ori $a2, $a2, 2
/* 352BE0 E003E7A0 0080282D */ daddu $a1, $a0, $zero
/* 352BE4 E003E7A4 24840008 */ addiu $a0, $a0, 8
/* 352BE8 E003E7A8 AE440000 */ sw $a0, ($s2)
/* 352BEC E003E7AC 96020000 */ lhu $v0, ($s0)
/* 352BF0 E003E7B0 3C03DA38 */ lui $v1, 0xda38
/* 352BF4 E003E7B4 ACA30000 */ sw $v1, ($a1)
/* 352BF8 E003E7B8 24430001 */ addiu $v1, $v0, 1
/* 352BFC E003E7BC 3042FFFF */ andi $v0, $v0, 0xffff
/* 352C00 E003E7C0 00021180 */ sll $v0, $v0, 6
/* 352C04 E003E7C4 A6030000 */ sh $v1, ($s0)
/* 352C08 E003E7C8 8E630000 */ lw $v1, ($s3)
/* 352C0C E003E7CC 00551021 */ addu $v0, $v0, $s5
/* 352C10 E003E7D0 00621821 */ addu $v1, $v1, $v0
/* 352C14 E003E7D4 24820008 */ addiu $v0, $a0, 8
/* 352C18 E003E7D8 ACA30004 */ sw $v1, 4($a1)
/* 352C1C E003E7DC AE420000 */ sw $v0, ($s2)
/* 352C20 E003E7E0 32220FFF */ andi $v0, $s1, 0xfff
/* 352C24 E003E7E4 3C03F200 */ lui $v1, 0xf200
/* 352C28 E003E7E8 00431025 */ or $v0, $v0, $v1
/* 352C2C E003E7EC AC820000 */ sw $v0, ($a0)
/* 352C30 E003E7F0 3C020010 */ lui $v0, 0x10
/* 352C34 E003E7F4 26310040 */ addiu $s1, $s1, 0x40
/* 352C38 E003E7F8 32310FFF */ andi $s1, $s1, 0xfff
/* 352C3C E003E7FC 02228825 */ or $s1, $s1, $v0
/* 352C40 E003E800 24820010 */ addiu $v0, $a0, 0x10
/* 352C44 E003E804 AC910004 */ sw $s1, 4($a0)
/* 352C48 E003E808 AE420000 */ sw $v0, ($s2)
/* 352C4C E003E80C 3C020900 */ lui $v0, 0x900
/* 352C50 E003E810 244204E8 */ addiu $v0, $v0, 0x4e8
/* 352C54 E003E814 AC82000C */ sw $v0, 0xc($a0)
/* 352C58 E003E818 24820018 */ addiu $v0, $a0, 0x18
/* 352C5C E003E81C AC940008 */ sw $s4, 8($a0)
/* 352C60 E003E820 AE420000 */ sw $v0, ($s2)
/* 352C64 E003E824 24020040 */ addiu $v0, $zero, 0x40
/* 352C68 E003E828 AC820014 */ sw $v0, 0x14($a0)
/* 352C6C E003E82C 24820020 */ addiu $v0, $a0, 0x20
/* 352C70 E003E830 AC860010 */ sw $a2, 0x10($a0)
/* 352C74 E003E834 AE420000 */ sw $v0, ($s2)
/* 352C78 E003E838 AC960018 */ sw $s6, 0x18($a0)
/* 352C7C E003E83C AC80001C */ sw $zero, 0x1c($a0)
/* 352C80 E003E840 8FBF00AC */ lw $ra, 0xac($sp)
/* 352C84 E003E844 8FB600A8 */ lw $s6, 0xa8($sp)
/* 352C88 E003E848 8FB500A4 */ lw $s5, 0xa4($sp)
/* 352C8C E003E84C 8FB400A0 */ lw $s4, 0xa0($sp)
/* 352C90 E003E850 8FB3009C */ lw $s3, 0x9c($sp)
/* 352C94 E003E854 8FB20098 */ lw $s2, 0x98($sp)
/* 352C98 E003E858 8FB10094 */ lw $s1, 0x94($sp)
/* 352C9C E003E85C 8FB00090 */ lw $s0, 0x90($sp)
/* 352CA0 E003E860 03E00008 */ jr $ra
/* 352CA4 E003E864 27BD00B0 */ addiu $sp, $sp, 0xb0
/* 352CA8 E003E868 00000000 */ nop
/* 352CAC E003E86C 00000000 */ nop

View File

@ -1,273 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E003E870
.double 0.1
.section .text
glabel purple_ring_main
/* 352440 E003E000 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 352444 E003E004 F7BA00A0 */ sdc1 $f26, 0xa0($sp)
/* 352448 E003E008 C7BA00C8 */ lwc1 $f26, 0xc8($sp)
/* 35244C E003E00C F7BE00B0 */ sdc1 $f30, 0xb0($sp)
/* 352450 E003E010 C7BE00CC */ lwc1 $f30, 0xcc($sp)
/* 352454 E003E014 44800000 */ mtc1 $zero, $f0
/* 352458 E003E018 F7BC00A8 */ sdc1 $f28, 0xa8($sp)
/* 35245C E003E01C C7BC00D0 */ lwc1 $f28, 0xd0($sp)
/* 352460 E003E020 AFB20080 */ sw $s2, 0x80($sp)
/* 352464 E003E024 0080902D */ daddu $s2, $a0, $zero
/* 352468 E003E028 AFB00078 */ sw $s0, 0x78($sp)
/* 35246C E003E02C 27B00010 */ addiu $s0, $sp, 0x10
/* 352470 E003E030 AFB1007C */ sw $s1, 0x7c($sp)
/* 352474 E003E034 24110001 */ addiu $s1, $zero, 1
/* 352478 E003E038 AFBF0084 */ sw $ra, 0x84($sp)
/* 35247C E003E03C F7B80098 */ sdc1 $f24, 0x98($sp)
/* 352480 E003E040 F7B60090 */ sdc1 $f22, 0x90($sp)
/* 352484 E003E044 F7B40088 */ sdc1 $f20, 0x88($sp)
/* 352488 E003E048 AFA500BC */ sw $a1, 0xbc($sp)
/* 35248C E003E04C AFA600C0 */ sw $a2, 0xc0($sp)
/* 352490 E003E050 4600D032 */ c.eq.s $f26, $f0
/* 352494 E003E054 00000000 */ nop
/* 352498 E003E058 45000009 */ bc1f .LE003E080
/* 35249C E003E05C AFA700C4 */ sw $a3, 0xc4($sp)
/* 3524A0 E003E060 4600F032 */ c.eq.s $f30, $f0
/* 3524A4 E003E064 00000000 */ nop
/* 3524A8 E003E068 45000005 */ bc1f .LE003E080
/* 3524AC E003E06C 00000000 */ nop
/* 3524B0 E003E070 4600E032 */ c.eq.s $f28, $f0
/* 3524B4 E003E074 00000000 */ nop
/* 3524B8 E003E078 450100D3 */ bc1t .LE003E3C8
/* 3524BC E003E07C 0000102D */ daddu $v0, $zero, $zero
.LE003E080:
/* 3524C0 E003E080 461AD002 */ mul.s $f0, $f26, $f26
/* 3524C4 E003E084 00000000 */ nop
/* 3524C8 E003E088 461EF082 */ mul.s $f2, $f30, $f30
/* 3524CC E003E08C 00000000 */ nop
/* 3524D0 E003E090 461CE102 */ mul.s $f4, $f28, $f28
/* 3524D4 E003E094 00000000 */ nop
/* 3524D8 E003E098 46020000 */ add.s $f0, $f0, $f2
/* 3524DC E003E09C 46040300 */ add.s $f12, $f0, $f4
/* 3524E0 E003E0A0 4480A000 */ mtc1 $zero, $f20
/* 3524E4 E003E0A4 00000000 */ nop
/* 3524E8 E003E0A8 46146032 */ c.eq.s $f12, $f20
/* 3524EC E003E0AC 00000000 */ nop
/* 3524F0 E003E0B0 450100C5 */ bc1t .LE003E3C8
/* 3524F4 E003E0B4 0000102D */ daddu $v0, $zero, $zero
/* 3524F8 E003E0B8 0C080154 */ jal shim_sqrtf
/* 3524FC E003E0BC 00000000 */ nop
/* 352500 E003E0C0 3C013F80 */ lui $at, 0x3f80
/* 352504 E003E0C4 44811000 */ mtc1 $at, $f2
/* 352508 E003E0C8 00000000 */ nop
/* 35250C E003E0CC 46001303 */ div.s $f12, $f2, $f0
/* 352510 E003E0D0 460CD682 */ mul.s $f26, $f26, $f12
/* 352514 E003E0D4 00000000 */ nop
/* 352518 E003E0D8 460CF782 */ mul.s $f30, $f30, $f12
/* 35251C E003E0DC 00000000 */ nop
/* 352520 E003E0E0 460CE702 */ mul.s $f28, $f28, $f12
/* 352524 E003E0E4 00000000 */ nop
/* 352528 E003E0E8 4614D032 */ c.eq.s $f26, $f20
/* 35252C E003E0EC 00000000 */ nop
/* 352530 E003E0F0 45000006 */ bc1f .LE003E10C
/* 352534 E003E0F4 4600E586 */ mov.s $f22, $f28
/* 352538 E003E0F8 4614E032 */ c.eq.s $f28, $f20
/* 35253C E003E0FC 00000000 */ nop
/* 352540 E003E100 45010005 */ bc1t .LE003E118
/* 352544 E003E104 46001586 */ mov.s $f22, $f2
/* 352548 E003E108 4600E586 */ mov.s $f22, $f28
.LE003E10C:
/* 35254C E003E10C 4600A606 */ mov.s $f24, $f20
/* 352550 E003E110 0800F847 */ j .LE003E11C
/* 352554 E003E114 4600D507 */ neg.s $f20, $f26
.LE003E118:
/* 352558 E003E118 4600A606 */ mov.s $f24, $f20
.LE003E11C:
/* 35255C E003E11C 4616B002 */ mul.s $f0, $f22, $f22
/* 352560 E003E120 00000000 */ nop
/* 352564 E003E124 4618C082 */ mul.s $f2, $f24, $f24
/* 352568 E003E128 00000000 */ nop
/* 35256C E003E12C 4614A102 */ mul.s $f4, $f20, $f20
/* 352570 E003E130 00000000 */ nop
/* 352574 E003E134 46020000 */ add.s $f0, $f0, $f2
/* 352578 E003E138 46040300 */ add.s $f12, $f0, $f4
/* 35257C E003E13C 44808000 */ mtc1 $zero, $f16
/* 352580 E003E140 00000000 */ nop
/* 352584 E003E144 46106032 */ c.eq.s $f12, $f16
/* 352588 E003E148 00000000 */ nop
/* 35258C E003E14C 4501009E */ bc1t .LE003E3C8
/* 352590 E003E150 0000102D */ daddu $v0, $zero, $zero
/* 352594 E003E154 0C080154 */ jal shim_sqrtf
/* 352598 E003E158 00000000 */ nop
/* 35259C E003E15C 3C013F80 */ lui $at, 0x3f80
/* 3525A0 E003E160 44819000 */ mtc1 $at, $f18
/* 3525A4 E003E164 00000000 */ nop
/* 3525A8 E003E168 46009303 */ div.s $f12, $f18, $f0
/* 3525AC E003E16C 460CB582 */ mul.s $f22, $f22, $f12
/* 3525B0 E003E170 00000000 */ nop
/* 3525B4 E003E174 460CC602 */ mul.s $f24, $f24, $f12
/* 3525B8 E003E178 00000000 */ nop
/* 3525BC E003E17C 460CA502 */ mul.s $f20, $f20, $f12
/* 3525C0 E003E180 00000000 */ nop
/* 3525C4 E003E184 461CC102 */ mul.s $f4, $f24, $f28
/* 3525C8 E003E188 00000000 */ nop
/* 3525CC E003E18C 461EA002 */ mul.s $f0, $f20, $f30
/* 3525D0 E003E190 00000000 */ nop
/* 3525D4 E003E194 461AA202 */ mul.s $f8, $f20, $f26
/* 3525D8 E003E198 00000000 */ nop
/* 3525DC E003E19C 461CB082 */ mul.s $f2, $f22, $f28
/* 3525E0 E003E1A0 00000000 */ nop
/* 3525E4 E003E1A4 461EB282 */ mul.s $f10, $f22, $f30
/* 3525E8 E003E1A8 00000000 */ nop
/* 3525EC E003E1AC 461AC182 */ mul.s $f6, $f24, $f26
/* 3525F0 E003E1B0 00000000 */ nop
/* 3525F4 E003E1B4 46002101 */ sub.s $f4, $f4, $f0
/* 3525F8 E003E1B8 46042002 */ mul.s $f0, $f4, $f4
/* 3525FC E003E1BC 00000000 */ nop
/* 352600 E003E1C0 46024201 */ sub.s $f8, $f8, $f2
/* 352604 E003E1C4 E7A40068 */ swc1 $f4, 0x68($sp)
/* 352608 E003E1C8 46084102 */ mul.s $f4, $f8, $f8
/* 35260C E003E1CC 00000000 */ nop
/* 352610 E003E1D0 46065281 */ sub.s $f10, $f10, $f6
/* 352614 E003E1D4 460A5082 */ mul.s $f2, $f10, $f10
/* 352618 E003E1D8 00000000 */ nop
/* 35261C E003E1DC 46040000 */ add.s $f0, $f0, $f4
/* 352620 E003E1E0 44808000 */ mtc1 $zero, $f16
/* 352624 E003E1E4 46020300 */ add.s $f12, $f0, $f2
/* 352628 E003E1E8 E7A8006C */ swc1 $f8, 0x6c($sp)
/* 35262C E003E1EC 46106032 */ c.eq.s $f12, $f16
/* 352630 E003E1F0 00000000 */ nop
/* 352634 E003E1F4 45000003 */ bc1f .LE003E204
/* 352638 E003E1F8 E7AA0070 */ swc1 $f10, 0x70($sp)
/* 35263C E003E1FC 0800F8F2 */ j .LE003E3C8
/* 352640 E003E200 0000102D */ daddu $v0, $zero, $zero
.LE003E204:
/* 352644 E003E204 0C080154 */ jal shim_sqrtf
/* 352648 E003E208 00000000 */ nop
/* 35264C E003E20C 3C013F80 */ lui $at, 0x3f80
/* 352650 E003E210 44819000 */ mtc1 $at, $f18
/* 352654 E003E214 C7B00068 */ lwc1 $f16, 0x68($sp)
/* 352658 E003E218 46009303 */ div.s $f12, $f18, $f0
/* 35265C E003E21C 460C8402 */ mul.s $f16, $f16, $f12
/* 352660 E003E220 00000000 */ nop
/* 352664 E003E224 C7B2006C */ lwc1 $f18, 0x6c($sp)
/* 352668 E003E228 460C9482 */ mul.s $f18, $f18, $f12
/* 35266C E003E22C 00000000 */ nop
/* 352670 E003E230 E7B00068 */ swc1 $f16, 0x68($sp)
/* 352674 E003E234 C7B00070 */ lwc1 $f16, 0x70($sp)
/* 352678 E003E238 460C8402 */ mul.s $f16, $f16, $f12
/* 35267C E003E23C 00000000 */ nop
/* 352680 E003E240 0200202D */ daddu $a0, $s0, $zero
/* 352684 E003E244 3C02E004 */ lui $v0, %hi(purple_ring_init)
/* 352688 E003E248 2442E3F8 */ addiu $v0, $v0, %lo(purple_ring_init)
/* 35268C E003E24C E7B2006C */ swc1 $f18, 0x6c($sp)
/* 352690 E003E250 E7B00070 */ swc1 $f16, 0x70($sp)
/* 352694 E003E254 AC820008 */ sw $v0, 8($a0)
/* 352698 E003E258 3C02E004 */ lui $v0, %hi(purple_ring_update)
/* 35269C E003E25C 2442E400 */ addiu $v0, $v0, %lo(purple_ring_update)
/* 3526A0 E003E260 AC82000C */ sw $v0, 0xc($a0)
/* 3526A4 E003E264 3C02E004 */ lui $v0, %hi(purple_ring_render)
/* 3526A8 E003E268 2442E5F4 */ addiu $v0, $v0, %lo(purple_ring_render)
/* 3526AC E003E26C AC820010 */ sw $v0, 0x10($a0)
/* 3526B0 E003E270 2402001F */ addiu $v0, $zero, 0x1f
/* 3526B4 E003E274 AC800000 */ sw $zero, ($a0)
/* 3526B8 E003E278 AC800014 */ sw $zero, 0x14($a0)
/* 3526BC E003E27C 0C080124 */ jal shim_create_effect_instance
/* 3526C0 E003E280 AC820004 */ sw $v0, 4($a0)
/* 3526C4 E003E284 00112140 */ sll $a0, $s1, 5
/* 3526C8 E003E288 00912023 */ subu $a0, $a0, $s1
/* 3526CC E003E28C 00042080 */ sll $a0, $a0, 2
/* 3526D0 E003E290 0040802D */ daddu $s0, $v0, $zero
/* 3526D4 E003E294 0C08012C */ jal shim_general_heap_malloc
/* 3526D8 E003E298 AE110008 */ sw $s1, 8($s0)
/* 3526DC E003E29C 0040302D */ daddu $a2, $v0, $zero
/* 3526E0 E003E2A0 14C00003 */ bnez $a2, .LE003E2B0
/* 3526E4 E003E2A4 AE02000C */ sw $v0, 0xc($s0)
.LE003E2A8:
/* 3526E8 E003E2A8 0800F8AA */ j .LE003E2A8
/* 3526EC E003E2AC 00000000 */ nop
.LE003E2B0:
/* 3526F0 E003E2B0 24030010 */ addiu $v1, $zero, 0x10
/* 3526F4 E003E2B4 240500F8 */ addiu $a1, $zero, 0xf8
/* 3526F8 E003E2B8 4600D307 */ neg.s $f12, $f26
/* 3526FC E003E2BC ACD20000 */ sw $s2, ($a2)
/* 352700 E003E2C0 C7B200BC */ lwc1 $f18, 0xbc($sp)
/* 352704 E003E2C4 3C01E004 */ lui $at, %hi(D_E003E870)
/* 352708 E003E2C8 D422E870 */ ldc1 $f2, %lo(D_E003E870)($at)
/* 35270C E003E2CC 3C014080 */ lui $at, 0x4080
/* 352710 E003E2D0 44815000 */ mtc1 $at, $f10
/* 352714 E003E2D4 3C01438B */ lui $at, 0x438b
/* 352718 E003E2D8 44813000 */ mtc1 $at, $f6
/* 35271C E003E2DC 460A6302 */ mul.s $f12, $f12, $f10
/* 352720 E003E2E0 00000000 */ nop
/* 352724 E003E2E4 3C014200 */ lui $at, 0x4200
/* 352728 E003E2E8 44814000 */ mtc1 $at, $f8
/* 35272C E003E2EC 2404005C */ addiu $a0, $zero, 0x5c
/* 352730 E003E2F0 E4D20004 */ swc1 $f18, 4($a2)
/* 352734 E003E2F4 C7B000C0 */ lwc1 $f16, 0xc0($sp)
/* 352738 E003E2F8 4600F107 */ neg.s $f4, $f30
/* 35273C E003E2FC E4D00008 */ swc1 $f16, 8($a2)
/* 352740 E003E300 C7B200C4 */ lwc1 $f18, 0xc4($sp)
/* 352744 E003E304 460A2102 */ mul.s $f4, $f4, $f10
/* 352748 E003E308 00000000 */ nop
/* 35274C E003E30C E4D2000C */ swc1 $f18, 0xc($a2)
/* 352750 E003E310 ACC3006C */ sw $v1, 0x6c($a2)
/* 352754 E003E314 240300E5 */ addiu $v1, $zero, 0xe5
/* 352758 E003E318 ACC00068 */ sw $zero, 0x68($a2)
/* 35275C E003E31C ACC00070 */ sw $zero, 0x70($a2)
/* 352760 E003E320 A0C50074 */ sb $a1, 0x74($a2)
/* 352764 E003E324 A0C40075 */ sb $a0, 0x75($a2)
/* 352768 E003E328 A0C30076 */ sb $v1, 0x76($a2)
/* 35276C E003E32C A0C50077 */ sb $a1, 0x77($a2)
/* 352770 E003E330 A0C40078 */ sb $a0, 0x78($a2)
/* 352774 E003E334 A0C30079 */ sb $v1, 0x79($a2)
/* 352778 E003E338 E4D6001C */ swc1 $f22, 0x1c($a2)
/* 35277C E003E33C C7A000D4 */ lwc1 $f0, 0xd4($sp)
/* 352780 E003E340 3C013F80 */ lui $at, 0x3f80
/* 352784 E003E344 44817000 */ mtc1 $at, $f14
/* 352788 E003E348 46000021 */ cvt.d.s $f0, $f0
/* 35278C E003E34C 46220002 */ mul.d $f0, $f0, $f2
/* 352790 E003E350 00000000 */ nop
/* 352794 E003E354 E4D80020 */ swc1 $f24, 0x20($a2)
/* 352798 E003E358 E4D40024 */ swc1 $f20, 0x24($a2)
/* 35279C E003E35C ACC00028 */ sw $zero, 0x28($a2)
/* 3527A0 E003E360 C7B00068 */ lwc1 $f16, 0x68($sp)
/* 3527A4 E003E364 0200102D */ daddu $v0, $s0, $zero
/* 3527A8 E003E368 E4D0002C */ swc1 $f16, 0x2c($a2)
/* 3527AC E003E36C C7B2006C */ lwc1 $f18, 0x6c($sp)
/* 3527B0 E003E370 4600E087 */ neg.s $f2, $f28
/* 3527B4 E003E374 E4D20030 */ swc1 $f18, 0x30($a2)
/* 3527B8 E003E378 C7B00070 */ lwc1 $f16, 0x70($sp)
/* 3527BC E003E37C 460A1082 */ mul.s $f2, $f2, $f10
/* 3527C0 E003E380 00000000 */ nop
/* 3527C4 E003E384 E4D00034 */ swc1 $f16, 0x34($a2)
/* 3527C8 E003E388 ACC00038 */ sw $zero, 0x38($a2)
/* 3527CC E003E38C E4DA003C */ swc1 $f26, 0x3c($a2)
/* 3527D0 E003E390 E4DE0040 */ swc1 $f30, 0x40($a2)
/* 3527D4 E003E394 E4DC0044 */ swc1 $f28, 0x44($a2)
/* 3527D8 E003E398 ACC00048 */ sw $zero, 0x48($a2)
/* 3527DC E003E39C ACC0004C */ sw $zero, 0x4c($a2)
/* 3527E0 E003E3A0 ACC00050 */ sw $zero, 0x50($a2)
/* 3527E4 E003E3A4 ACC00054 */ sw $zero, 0x54($a2)
/* 3527E8 E003E3A8 E4C6005C */ swc1 $f6, 0x5c($a2)
/* 3527EC E003E3AC E4C80060 */ swc1 $f8, 0x60($a2)
/* 3527F0 E003E3B0 E4CC0010 */ swc1 $f12, 0x10($a2)
/* 3527F4 E003E3B4 E4C40014 */ swc1 $f4, 0x14($a2)
/* 3527F8 E003E3B8 E4C20018 */ swc1 $f2, 0x18($a2)
/* 3527FC E003E3BC E4CE0058 */ swc1 $f14, 0x58($a2)
/* 352800 E003E3C0 46200020 */ cvt.s.d $f0, $f0
/* 352804 E003E3C4 E4C00064 */ swc1 $f0, 0x64($a2)
.LE003E3C8:
/* 352808 E003E3C8 8FBF0084 */ lw $ra, 0x84($sp)
/* 35280C E003E3CC 8FB20080 */ lw $s2, 0x80($sp)
/* 352810 E003E3D0 8FB1007C */ lw $s1, 0x7c($sp)
/* 352814 E003E3D4 8FB00078 */ lw $s0, 0x78($sp)
/* 352818 E003E3D8 D7BE00B0 */ ldc1 $f30, 0xb0($sp)
/* 35281C E003E3DC D7BC00A8 */ ldc1 $f28, 0xa8($sp)
/* 352820 E003E3E0 D7BA00A0 */ ldc1 $f26, 0xa0($sp)
/* 352824 E003E3E4 D7B80098 */ ldc1 $f24, 0x98($sp)
/* 352828 E003E3E8 D7B60090 */ ldc1 $f22, 0x90($sp)
/* 35282C E003E3EC D7B40088 */ ldc1 $f20, 0x88($sp)
/* 352830 E003E3F0 03E00008 */ jr $ra
/* 352834 E003E3F4 27BD00B8 */ addiu $sp, $sp, 0xb8

View File

@ -1,153 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E003E878
.double 0.3
dlabel D_E003E880
.double 0.8
dlabel D_E003E888
.double 0.6
dlabel D_E003E890
.double 0.7
dlabel D_E003E898
.double 1.05
.section .text
glabel purple_ring_update
/* 352840 E003E400 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 352844 E003E404 AFBF0010 */ sw $ra, 0x10($sp)
/* 352848 E003E408 F7B60020 */ sdc1 $f22, 0x20($sp)
/* 35284C E003E40C F7B40018 */ sdc1 $f20, 0x18($sp)
/* 352850 E003E410 8C83000C */ lw $v1, 0xc($a0)
/* 352854 E003E414 8C62006C */ lw $v0, 0x6c($v1)
/* 352858 E003E418 2442FFFF */ addiu $v0, $v0, -1
/* 35285C E003E41C AC62006C */ sw $v0, 0x6c($v1)
/* 352860 E003E420 8C620070 */ lw $v0, 0x70($v1)
/* 352864 E003E424 8C65006C */ lw $a1, 0x6c($v1)
/* 352868 E003E428 24420001 */ addiu $v0, $v0, 1
/* 35286C E003E42C 04A10005 */ bgez $a1, .LE003E444
/* 352870 E003E430 AC620070 */ sw $v0, 0x70($v1)
/* 352874 E003E434 0C080128 */ jal shim_remove_effect
/* 352878 E003E438 00000000 */ nop
/* 35287C E003E43C 0800F978 */ j .LE003E5E0
/* 352880 E003E440 00000000 */ nop
.LE003E444:
/* 352884 E003E444 8C820008 */ lw $v0, 8($a0)
/* 352888 E003E448 18400065 */ blez $v0, .LE003E5E0
/* 35288C E003E44C 0000302D */ daddu $a2, $zero, $zero
/* 352890 E003E450 28A80006 */ slti $t0, $a1, 6
/* 352894 E003E454 240900FF */ addiu $t1, $zero, 0xff
/* 352898 E003E458 28A70005 */ slti $a3, $a1, 5
/* 35289C E003E45C 24650064 */ addiu $a1, $v1, 0x64
/* 3528A0 E003E460 3C01E004 */ lui $at, %hi(D_E003E878)
/* 3528A4 E003E464 D434E878 */ ldc1 $f20, %lo(D_E003E878)($at)
/* 3528A8 E003E468 3C01E004 */ lui $at, %hi(D_E003E880)
/* 3528AC E003E46C D42EE880 */ ldc1 $f14, %lo(D_E003E880)($at)
/* 3528B0 E003E470 3C01E004 */ lui $at, %hi(D_E003E888)
/* 3528B4 E003E474 D432E888 */ ldc1 $f18, %lo(D_E003E888)($at)
/* 3528B8 E003E478 3C01E004 */ lui $at, %hi(D_E003E890)
/* 3528BC E003E47C D42CE890 */ ldc1 $f12, %lo(D_E003E890)($at)
/* 3528C0 E003E480 3C01E004 */ lui $at, %hi(D_E003E898)
/* 3528C4 E003E484 D430E898 */ ldc1 $f16, %lo(D_E003E898)($at)
.LE003E488:
/* 3528C8 E003E488 15000020 */ bnez $t0, .LE003E50C
/* 3528CC E003E48C 00000000 */ nop
/* 3528D0 E003E490 C4A2FFAC */ lwc1 $f2, -0x54($a1)
/* 3528D4 E003E494 460010A1 */ cvt.d.s $f2, $f2
/* 3528D8 E003E498 462E1082 */ mul.d $f2, $f2, $f14
/* 3528DC E003E49C 00000000 */ nop
/* 3528E0 E003E4A0 C4A0FFB0 */ lwc1 $f0, -0x50($a1)
/* 3528E4 E003E4A4 46000021 */ cvt.d.s $f0, $f0
/* 3528E8 E003E4A8 462E0002 */ mul.d $f0, $f0, $f14
/* 3528EC E003E4AC 00000000 */ nop
/* 3528F0 E003E4B0 C4A4FFB4 */ lwc1 $f4, -0x4c($a1)
/* 3528F4 E003E4B4 46002121 */ cvt.d.s $f4, $f4
/* 3528F8 E003E4B8 462E2102 */ mul.d $f4, $f4, $f14
/* 3528FC E003E4BC 00000000 */ nop
/* 352900 E003E4C0 8CA30004 */ lw $v1, 4($a1)
/* 352904 E003E4C4 01231023 */ subu $v0, $t1, $v1
/* 352908 E003E4C8 44823000 */ mtc1 $v0, $f6
/* 35290C E003E4CC 00000000 */ nop
/* 352910 E003E4D0 468031A1 */ cvt.d.w $f6, $f6
/* 352914 E003E4D4 46343182 */ mul.d $f6, $f6, $f20
/* 352918 E003E4D8 00000000 */ nop
/* 35291C E003E4DC 462010A0 */ cvt.s.d $f2, $f2
/* 352920 E003E4E0 46200020 */ cvt.s.d $f0, $f0
/* 352924 E003E4E4 E4A0FFB0 */ swc1 $f0, -0x50($a1)
/* 352928 E003E4E8 44830000 */ mtc1 $v1, $f0
/* 35292C E003E4EC 00000000 */ nop
/* 352930 E003E4F0 46800021 */ cvt.d.w $f0, $f0
/* 352934 E003E4F4 46202120 */ cvt.s.d $f4, $f4
/* 352938 E003E4F8 46260000 */ add.d $f0, $f0, $f6
/* 35293C E003E4FC E4A2FFAC */ swc1 $f2, -0x54($a1)
/* 352940 E003E500 E4A4FFB4 */ swc1 $f4, -0x4c($a1)
/* 352944 E003E504 4620058D */ trunc.w.d $f22, $f0
/* 352948 E003E508 E4B60004 */ swc1 $f22, 4($a1)
.LE003E50C:
/* 35294C E003E50C 10E00019 */ beqz $a3, .LE003E574
/* 352950 E003E510 00000000 */ nop
/* 352954 E003E514 C4A60004 */ lwc1 $f6, 4($a1)
/* 352958 E003E518 468031A1 */ cvt.d.w $f6, $f6
/* 35295C E003E51C 46323182 */ mul.d $f6, $f6, $f18
/* 352960 E003E520 00000000 */ nop
/* 352964 E003E524 C4A4FFAC */ lwc1 $f4, -0x54($a1)
/* 352968 E003E528 46002121 */ cvt.d.s $f4, $f4
/* 35296C E003E52C 462C2102 */ mul.d $f4, $f4, $f12
/* 352970 E003E530 00000000 */ nop
/* 352974 E003E534 C4A2FFB0 */ lwc1 $f2, -0x50($a1)
/* 352978 E003E538 460010A1 */ cvt.d.s $f2, $f2
/* 35297C E003E53C 462C1082 */ mul.d $f2, $f2, $f12
/* 352980 E003E540 00000000 */ nop
/* 352984 E003E544 C4A0FFB4 */ lwc1 $f0, -0x4c($a1)
/* 352988 E003E548 46000021 */ cvt.d.s $f0, $f0
/* 35298C E003E54C 462C0002 */ mul.d $f0, $f0, $f12
/* 352990 E003E550 00000000 */ nop
/* 352994 E003E554 4620358D */ trunc.w.d $f22, $f6
/* 352998 E003E558 E4B60004 */ swc1 $f22, 4($a1)
/* 35299C E003E55C 46202120 */ cvt.s.d $f4, $f4
/* 3529A0 E003E560 462010A0 */ cvt.s.d $f2, $f2
/* 3529A4 E003E564 46200020 */ cvt.s.d $f0, $f0
/* 3529A8 E003E568 E4A4FFAC */ swc1 $f4, -0x54($a1)
/* 3529AC E003E56C E4A2FFB0 */ swc1 $f2, -0x50($a1)
/* 3529B0 E003E570 E4A0FFB4 */ swc1 $f0, -0x4c($a1)
.LE003E574:
/* 3529B4 E003E574 C4A20000 */ lwc1 $f2, ($a1)
/* 3529B8 E003E578 460010A1 */ cvt.d.s $f2, $f2
/* 3529BC E003E57C 46301082 */ mul.d $f2, $f2, $f16
/* 3529C0 E003E580 00000000 */ nop
/* 3529C4 E003E584 C4AAFFA0 */ lwc1 $f10, -0x60($a1)
/* 3529C8 E003E588 C4A0FFAC */ lwc1 $f0, -0x54($a1)
/* 3529CC E003E58C C4A8FFA4 */ lwc1 $f8, -0x5c($a1)
/* 3529D0 E003E590 46005280 */ add.s $f10, $f10, $f0
/* 3529D4 E003E594 C4A0FFB0 */ lwc1 $f0, -0x50($a1)
/* 3529D8 E003E598 C4A4FFA8 */ lwc1 $f4, -0x58($a1)
/* 3529DC E003E59C 46004200 */ add.s $f8, $f8, $f0
/* 3529E0 E003E5A0 C4A0FFB4 */ lwc1 $f0, -0x4c($a1)
/* 3529E4 E003E5A4 C4A6FFFC */ lwc1 $f6, -4($a1)
/* 3529E8 E003E5A8 46002100 */ add.s $f4, $f4, $f0
/* 3529EC E003E5AC C4A0FFF8 */ lwc1 $f0, -8($a1)
/* 3529F0 E003E5B0 24C60001 */ addiu $a2, $a2, 1
/* 3529F4 E003E5B4 E4AAFFA0 */ swc1 $f10, -0x60($a1)
/* 3529F8 E003E5B8 46060000 */ add.s $f0, $f0, $f6
/* 3529FC E003E5BC E4A8FFA4 */ swc1 $f8, -0x5c($a1)
/* 352A00 E003E5C0 E4A4FFA8 */ swc1 $f4, -0x58($a1)
/* 352A04 E003E5C4 E4A0FFF8 */ swc1 $f0, -8($a1)
/* 352A08 E003E5C8 462010A0 */ cvt.s.d $f2, $f2
/* 352A0C E003E5CC E4A20000 */ swc1 $f2, ($a1)
/* 352A10 E003E5D0 8C820008 */ lw $v0, 8($a0)
/* 352A14 E003E5D4 00C2102A */ slt $v0, $a2, $v0
/* 352A18 E003E5D8 1440FFAB */ bnez $v0, .LE003E488
/* 352A1C E003E5DC 24A5007C */ addiu $a1, $a1, 0x7c
.LE003E5E0:
/* 352A20 E003E5E0 8FBF0010 */ lw $ra, 0x10($sp)
/* 352A24 E003E5E4 D7B60020 */ ldc1 $f22, 0x20($sp)
/* 352A28 E003E5E8 D7B40018 */ ldc1 $f20, 0x18($sp)
/* 352A2C E003E5EC 03E00008 */ jr $ra
/* 352A30 E003E5F0 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,114 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel quizmo_answer_main
/* 3A2290 E00A0000 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 3A2294 E00A0004 AFB00028 */ sw $s0, 0x28($sp)
/* 3A2298 E00A0008 0080802D */ daddu $s0, $a0, $zero
/* 3A229C E00A000C 27A40010 */ addiu $a0, $sp, 0x10
/* 3A22A0 E00A0010 24020050 */ addiu $v0, $zero, 0x50
/* 3A22A4 E00A0014 AFBF002C */ sw $ra, 0x2c($sp)
/* 3A22A8 E00A0018 AFA00010 */ sw $zero, 0x10($sp)
/* 3A22AC E00A001C AFA00018 */ sw $zero, 0x18($sp)
/* 3A22B0 E00A0020 AFA0001C */ sw $zero, 0x1c($sp)
/* 3A22B4 E00A0024 AFA00020 */ sw $zero, 0x20($sp)
/* 3A22B8 E00A0028 AFA00024 */ sw $zero, 0x24($sp)
/* 3A22BC E00A002C 0C080124 */ jal shim_create_effect_instance
/* 3A22C0 E00A0030 AFA20014 */ sw $v0, 0x14($sp)
/* 3A22C4 E00A0034 3C04DB06 */ lui $a0, 0xdb06
/* 3A22C8 E00A0038 34840024 */ ori $a0, $a0, 0x24
/* 3A22CC E00A003C 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 3A22D0 E00A0040 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 3A22D4 E00A0044 0040582D */ daddu $t3, $v0, $zero
/* 3A22D8 E00A0048 8CC50000 */ lw $a1, ($a2)
/* 3A22DC E00A004C 3C02E700 */ lui $v0, 0xe700
/* 3A22E0 E00A0050 AD60000C */ sw $zero, 0xc($t3)
/* 3A22E4 E00A0054 00A0182D */ daddu $v1, $a1, $zero
/* 3A22E8 E00A0058 24A50008 */ addiu $a1, $a1, 8
/* 3A22EC E00A005C ACC50000 */ sw $a1, ($a2)
/* 3A22F0 E00A0060 AC620000 */ sw $v0, ($v1)
/* 3A22F4 E00A0064 AC600004 */ sw $zero, 4($v1)
/* 3A22F8 E00A0068 ACA40000 */ sw $a0, ($a1)
/* 3A22FC E00A006C 8D630010 */ lw $v1, 0x10($t3)
/* 3A2300 E00A0070 24A20008 */ addiu $v0, $a1, 8
/* 3A2304 E00A0074 ACC20000 */ sw $v0, ($a2)
/* 3A2308 E00A0078 8C62001C */ lw $v0, 0x1c($v1)
/* 3A230C E00A007C 3C038000 */ lui $v1, 0x8000
/* 3A2310 E00A0080 00431021 */ addu $v0, $v0, $v1
/* 3A2314 E00A0084 1600000A */ bnez $s0, .LE00A00B0
/* 3A2318 E00A0088 ACA20004 */ sw $v0, 4($a1)
/* 3A231C E00A008C 3C03FF40 */ lui $v1, 0xff40
/* 3A2320 E00A0090 24A20010 */ addiu $v0, $a1, 0x10
/* 3A2324 E00A0094 ACC20000 */ sw $v0, ($a2)
/* 3A2328 E00A0098 3C02DE00 */ lui $v0, 0xde00
/* 3A232C E00A009C ACA20008 */ sw $v0, 8($a1)
/* 3A2330 E00A00A0 3C020900 */ lui $v0, 0x900
/* 3A2334 E00A00A4 24420400 */ addiu $v0, $v0, 0x400
/* 3A2338 E00A00A8 08028034 */ j .LE00A00D0
/* 3A233C E00A00AC 346340E6 */ ori $v1, $v1, 0x40e6
.LE00A00B0:
/* 3A2340 E00A00B0 3C035050 */ lui $v1, 0x5050
/* 3A2344 E00A00B4 3463FFE6 */ ori $v1, $v1, 0xffe6
/* 3A2348 E00A00B8 24A20010 */ addiu $v0, $a1, 0x10
/* 3A234C E00A00BC ACC20000 */ sw $v0, ($a2)
/* 3A2350 E00A00C0 3C02DE00 */ lui $v0, 0xde00
/* 3A2354 E00A00C4 ACA20008 */ sw $v0, 8($a1)
/* 3A2358 E00A00C8 3C020900 */ lui $v0, 0x900
/* 3A235C E00A00CC 244204A8 */ addiu $v0, $v0, 0x4a8
.LE00A00D0:
/* 3A2360 E00A00D0 ACA2000C */ sw $v0, 0xc($a1)
/* 3A2364 E00A00D4 24A20018 */ addiu $v0, $a1, 0x18
/* 3A2368 E00A00D8 ACC20000 */ sw $v0, ($a2)
/* 3A236C E00A00DC 3C02FA00 */ lui $v0, 0xfa00
/* 3A2370 E00A00E0 ACA20010 */ sw $v0, 0x10($a1)
/* 3A2374 E00A00E4 ACA30014 */ sw $v1, 0x14($a1)
/* 3A2378 E00A00E8 3C070050 */ lui $a3, 0x50
/* 3A237C E00A00EC 34E703C0 */ ori $a3, $a3, 0x3c0
/* 3A2380 E00A00F0 3C09E430 */ lui $t1, 0xe430
/* 3A2384 E00A00F4 35290230 */ ori $t1, $t1, 0x230
/* 3A2388 E00A00F8 3C080020 */ lui $t0, 0x20
/* 3A238C E00A00FC 35080130 */ ori $t0, $t0, 0x130
/* 3A2390 E00A0100 3C0A0400 */ lui $t2, 0x400
/* 3A2394 E00A0104 354A0400 */ ori $t2, $t2, 0x400
/* 3A2398 E00A0108 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 3A239C E00A010C 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 3A23A0 E00A0110 0160202D */ daddu $a0, $t3, $zero
/* 3A23A4 E00A0114 8CA20000 */ lw $v0, ($a1)
/* 3A23A8 E00A0118 3C03ED00 */ lui $v1, 0xed00
/* 3A23AC E00A011C 0040302D */ daddu $a2, $v0, $zero
/* 3A23B0 E00A0120 24420008 */ addiu $v0, $v0, 8
/* 3A23B4 E00A0124 ACA20000 */ sw $v0, ($a1)
/* 3A23B8 E00A0128 ACC30000 */ sw $v1, ($a2)
/* 3A23BC E00A012C 24430008 */ addiu $v1, $v0, 8
/* 3A23C0 E00A0130 ACC70004 */ sw $a3, 4($a2)
/* 3A23C4 E00A0134 ACA30000 */ sw $v1, ($a1)
/* 3A23C8 E00A0138 24430010 */ addiu $v1, $v0, 0x10
/* 3A23CC E00A013C AC490000 */ sw $t1, ($v0)
/* 3A23D0 E00A0140 AC480004 */ sw $t0, 4($v0)
/* 3A23D4 E00A0144 ACA30000 */ sw $v1, ($a1)
/* 3A23D8 E00A0148 3C03E100 */ lui $v1, 0xe100
/* 3A23DC E00A014C AC430008 */ sw $v1, 8($v0)
/* 3A23E0 E00A0150 24030400 */ addiu $v1, $zero, 0x400
/* 3A23E4 E00A0154 AC43000C */ sw $v1, 0xc($v0)
/* 3A23E8 E00A0158 24430018 */ addiu $v1, $v0, 0x18
/* 3A23EC E00A015C ACA30000 */ sw $v1, ($a1)
/* 3A23F0 E00A0160 3C03F100 */ lui $v1, 0xf100
/* 3A23F4 E00A0164 AC430010 */ sw $v1, 0x10($v0)
/* 3A23F8 E00A0168 24430020 */ addiu $v1, $v0, 0x20
/* 3A23FC E00A016C AC4A0014 */ sw $t2, 0x14($v0)
/* 3A2400 E00A0170 ACA30000 */ sw $v1, ($a1)
/* 3A2404 E00A0174 3C03E700 */ lui $v1, 0xe700
/* 3A2408 E00A0178 AC430018 */ sw $v1, 0x18($v0)
/* 3A240C E00A017C 24430028 */ addiu $v1, $v0, 0x28
/* 3A2410 E00A0180 AC40001C */ sw $zero, 0x1c($v0)
/* 3A2414 E00A0184 ACA30000 */ sw $v1, ($a1)
/* 3A2418 E00A0188 3C03DB06 */ lui $v1, 0xdb06
/* 3A241C E00A018C AC430020 */ sw $v1, 0x20($v0)
/* 3A2420 E00A0190 0C080128 */ jal shim_remove_effect
/* 3A2424 E00A0194 AC400024 */ sw $zero, 0x24($v0)
/* 3A2428 E00A0198 8FBF002C */ lw $ra, 0x2c($sp)
/* 3A242C E00A019C 8FB00028 */ lw $s0, 0x28($sp)
/* 3A2430 E00A01A0 0000102D */ daddu $v0, $zero, $zero
/* 3A2434 E00A01A4 03E00008 */ jr $ra
/* 3A2438 E00A01A8 27BD0030 */ addiu $sp, $sp, 0x30
/* 3A243C E00A01AC 00000000 */ nop

View File

@ -1,497 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel quizmo_stage_appendGfx
/* 398410 E009C220 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 398414 E009C224 0080182D */ daddu $v1, $a0, $zero
/* 398418 E009C228 3C05DB06 */ lui $a1, 0xdb06
/* 39841C E009C22C 34A50024 */ ori $a1, $a1, 0x24
/* 398420 E009C230 27A40018 */ addiu $a0, $sp, 0x18
/* 398424 E009C234 AFBE00C8 */ sw $fp, 0xc8($sp)
/* 398428 E009C238 3C1E800A */ lui $fp, %hi(gMasterGfxPos)
/* 39842C E009C23C 27DEA66C */ addiu $fp, $fp, %lo(gMasterGfxPos)
/* 398430 E009C240 AFB500BC */ sw $s5, 0xbc($sp)
/* 398434 E009C244 3C150001 */ lui $s5, 1
/* 398438 E009C248 AFBF00CC */ sw $ra, 0xcc($sp)
/* 39843C E009C24C AFB700C4 */ sw $s7, 0xc4($sp)
/* 398440 E009C250 AFB600C0 */ sw $s6, 0xc0($sp)
/* 398444 E009C254 AFB400B8 */ sw $s4, 0xb8($sp)
/* 398448 E009C258 AFB300B4 */ sw $s3, 0xb4($sp)
/* 39844C E009C25C AFB200B0 */ sw $s2, 0xb0($sp)
/* 398450 E009C260 AFB100AC */ sw $s1, 0xac($sp)
/* 398454 E009C264 AFB000A8 */ sw $s0, 0xa8($sp)
/* 398458 E009C268 F7B600D8 */ sdc1 $f22, 0xd8($sp)
/* 39845C E009C26C F7B400D0 */ sdc1 $f20, 0xd0($sp)
/* 398460 E009C270 8FC80000 */ lw $t0, ($fp)
/* 398464 E009C274 8C77000C */ lw $s7, 0xc($v1)
/* 398468 E009C278 0100102D */ daddu $v0, $t0, $zero
/* 39846C E009C27C 25080008 */ addiu $t0, $t0, 8
/* 398470 E009C280 8EF00018 */ lw $s0, 0x18($s7)
/* 398474 E009C284 3C09E700 */ lui $t1, 0xe700
/* 398478 E009C288 AC490000 */ sw $t1, ($v0)
/* 39847C E009C28C AC400004 */ sw $zero, 4($v0)
/* 398480 E009C290 AD050000 */ sw $a1, ($t0)
/* 398484 E009C294 8C620010 */ lw $v0, 0x10($v1)
/* 398488 E009C298 36B51630 */ ori $s5, $s5, 0x1630
/* 39848C E009C29C AFC80000 */ sw $t0, ($fp)
/* 398490 E009C2A0 8C42001C */ lw $v0, 0x1c($v0)
/* 398494 E009C2A4 3C038000 */ lui $v1, 0x8000
/* 398498 E009C2A8 00431021 */ addu $v0, $v0, $v1
/* 39849C E009C2AC AD020004 */ sw $v0, 4($t0)
/* 3984A0 E009C2B0 8EE5000C */ lw $a1, 0xc($s7)
/* 3984A4 E009C2B4 8EE60010 */ lw $a2, 0x10($s7)
/* 3984A8 E009C2B8 8EE70014 */ lw $a3, 0x14($s7)
/* 3984AC E009C2BC 25080008 */ addiu $t0, $t0, 8
/* 3984B0 E009C2C0 0C080108 */ jal shim_guTranslateF
/* 3984B4 E009C2C4 AFC80000 */ sw $t0, ($fp)
/* 3984B8 E009C2C8 27B10058 */ addiu $s1, $sp, 0x58
/* 3984BC E009C2CC 4480A000 */ mtc1 $zero, $f20
/* 3984C0 E009C2D0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3984C4 E009C2D4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3984C8 E009C2D8 3C013F80 */ lui $at, 0x3f80
/* 3984CC E009C2DC 4481B000 */ mtc1 $at, $f22
/* 3984D0 E009C2E0 00031080 */ sll $v0, $v1, 2
/* 3984D4 E009C2E4 00431021 */ addu $v0, $v0, $v1
/* 3984D8 E009C2E8 00021080 */ sll $v0, $v0, 2
/* 3984DC E009C2EC 00431023 */ subu $v0, $v0, $v1
/* 3984E0 E009C2F0 000218C0 */ sll $v1, $v0, 3
/* 3984E4 E009C2F4 00431021 */ addu $v0, $v0, $v1
/* 3984E8 E009C2F8 000210C0 */ sll $v0, $v0, 3
/* 3984EC E009C2FC 4406A000 */ mfc1 $a2, $f20
/* 3984F0 E009C300 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3984F4 E009C304 00220821 */ addu $at, $at, $v0
/* 3984F8 E009C308 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 3984FC E009C30C 4407B000 */ mfc1 $a3, $f22
/* 398500 E009C310 46000007 */ neg.s $f0, $f0
/* 398504 E009C314 44050000 */ mfc1 $a1, $f0
/* 398508 E009C318 0220202D */ daddu $a0, $s1, $zero
/* 39850C E009C31C 0C080104 */ jal shim_guRotateF
/* 398510 E009C320 E7B40010 */ swc1 $f20, 0x10($sp)
/* 398514 E009C324 0220202D */ daddu $a0, $s1, $zero
/* 398518 E009C328 27A50018 */ addiu $a1, $sp, 0x18
/* 39851C E009C32C 0C080114 */ jal shim_guMtxCatF
/* 398520 E009C330 00A0302D */ daddu $a2, $a1, $zero
/* 398524 E009C334 27A40018 */ addiu $a0, $sp, 0x18
/* 398528 E009C338 3C168007 */ lui $s6, %hi(gMatrixListPos)
/* 39852C E009C33C 26D641F0 */ addiu $s6, $s6, %lo(gMatrixListPos)
/* 398530 E009C340 3C13800A */ lui $s3, %hi(gDisplayContext)
/* 398534 E009C344 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext)
/* 398538 E009C348 96C50000 */ lhu $a1, ($s6)
/* 39853C E009C34C 8E620000 */ lw $v0, ($s3)
/* 398540 E009C350 00052980 */ sll $a1, $a1, 6
/* 398544 E009C354 00B52821 */ addu $a1, $a1, $s5
/* 398548 E009C358 0C080118 */ jal shim_guMtxF2L
/* 39854C E009C35C 00452821 */ addu $a1, $v0, $a1
/* 398550 E009C360 3C03DA38 */ lui $v1, 0xda38
/* 398554 E009C364 34630002 */ ori $v1, $v1, 2
/* 398558 E009C368 3C05FC12 */ lui $a1, 0xfc12
/* 39855C E009C36C 34A51803 */ ori $a1, $a1, 0x1803
/* 398560 E009C370 321000FF */ andi $s0, $s0, 0xff
/* 398564 E009C374 3C14DE00 */ lui $s4, 0xde00
/* 398568 E009C378 8FC80000 */ lw $t0, ($fp)
/* 39856C E009C37C 96C20000 */ lhu $v0, ($s6)
/* 398570 E009C380 0100202D */ daddu $a0, $t0, $zero
/* 398574 E009C384 25080008 */ addiu $t0, $t0, 8
/* 398578 E009C388 AFC80000 */ sw $t0, ($fp)
/* 39857C E009C38C AC830000 */ sw $v1, ($a0)
/* 398580 E009C390 24430001 */ addiu $v1, $v0, 1
/* 398584 E009C394 3042FFFF */ andi $v0, $v0, 0xffff
/* 398588 E009C398 00021180 */ sll $v0, $v0, 6
/* 39858C E009C39C A6C30000 */ sh $v1, ($s6)
/* 398590 E009C3A0 8E630000 */ lw $v1, ($s3)
/* 398594 E009C3A4 00551021 */ addu $v0, $v0, $s5
/* 398598 E009C3A8 00621821 */ addu $v1, $v1, $v0
/* 39859C E009C3AC 25020008 */ addiu $v0, $t0, 8
/* 3985A0 E009C3B0 AC830004 */ sw $v1, 4($a0)
/* 3985A4 E009C3B4 AFC20000 */ sw $v0, ($fp)
/* 3985A8 E009C3B8 3C02FA00 */ lui $v0, 0xfa00
/* 3985AC E009C3BC AD020000 */ sw $v0, ($t0)
/* 3985B0 E009C3C0 00101600 */ sll $v0, $s0, 0x18
/* 3985B4 E009C3C4 00101C00 */ sll $v1, $s0, 0x10
/* 3985B8 E009C3C8 00431025 */ or $v0, $v0, $v1
/* 3985BC E009C3CC 00108200 */ sll $s0, $s0, 8
/* 3985C0 E009C3D0 00501025 */ or $v0, $v0, $s0
/* 3985C4 E009C3D4 344200FF */ ori $v0, $v0, 0xff
/* 3985C8 E009C3D8 AD020004 */ sw $v0, 4($t0)
/* 3985CC E009C3DC 25020010 */ addiu $v0, $t0, 0x10
/* 3985D0 E009C3E0 AFC20000 */ sw $v0, ($fp)
/* 3985D4 E009C3E4 2402FFF8 */ addiu $v0, $zero, -8
/* 3985D8 E009C3E8 AD02000C */ sw $v0, 0xc($t0)
/* 3985DC E009C3EC 25020018 */ addiu $v0, $t0, 0x18
/* 3985E0 E009C3F0 AD050008 */ sw $a1, 8($t0)
/* 3985E4 E009C3F4 AFC20000 */ sw $v0, ($fp)
/* 3985E8 E009C3F8 3C020900 */ lui $v0, 0x900
/* 3985EC E009C3FC 24427230 */ addiu $v0, $v0, 0x7230
/* 3985F0 E009C400 AD140010 */ sw $s4, 0x10($t0)
/* 3985F4 E009C404 AD020014 */ sw $v0, 0x14($t0)
/* 3985F8 E009C408 8EE3003C */ lw $v1, 0x3c($s7)
/* 3985FC E009C40C 240200FF */ addiu $v0, $zero, 0xff
/* 398600 E009C410 10620150 */ beq $v1, $v0, .LE009C954
/* 398604 E009C414 3C098080 */ lui $t1, 0x8080
/* 398608 E009C418 35298081 */ ori $t1, $t1, 0x8081
/* 39860C E009C41C AFA90098 */ sw $t1, 0x98($sp)
/* 398610 E009C420 3C09DA38 */ lui $t1, 0xda38
/* 398614 E009C424 35290001 */ ori $t1, $t1, 1
/* 398618 E009C428 AFA9009C */ sw $t1, 0x9c($sp)
/* 39861C E009C42C 3C09D838 */ lui $t1, 0xd838
/* 398620 E009C430 35290002 */ ori $t1, $t1, 2
/* 398624 E009C434 AFA900A0 */ sw $t1, 0xa0($sp)
/* 398628 E009C438 3C09DA38 */ lui $t1, 0xda38
/* 39862C E009C43C 3C110900 */ lui $s1, 0x900
/* 398630 E009C440 263141C8 */ addiu $s1, $s1, 0x41c8
/* 398634 E009C444 AD090018 */ sw $t1, 0x18($t0)
/* 398638 E009C448 AD11001C */ sw $s1, 0x1c($t0)
/* 39863C E009C44C 8EE3001C */ lw $v1, 0x1c($s7)
/* 398640 E009C450 8FA90098 */ lw $t1, 0x98($sp)
/* 398644 E009C454 00031040 */ sll $v0, $v1, 1
/* 398648 E009C458 00431021 */ addu $v0, $v0, $v1
/* 39864C E009C45C 00021900 */ sll $v1, $v0, 4
/* 398650 E009C460 00621823 */ subu $v1, $v1, $v0
/* 398654 E009C464 00031880 */ sll $v1, $v1, 2
/* 398658 E009C468 00690018 */ mult $v1, $t1
/* 39865C E009C46C 4406B000 */ mfc1 $a2, $f22
/* 398660 E009C470 4407A000 */ mfc1 $a3, $f20
/* 398664 E009C474 25020020 */ addiu $v0, $t0, 0x20
/* 398668 E009C478 AFC20000 */ sw $v0, ($fp)
/* 39866C E009C47C 00004810 */ mfhi $t1
/* 398670 E009C480 01231021 */ addu $v0, $t1, $v1
/* 398674 E009C484 000211C3 */ sra $v0, $v0, 7
/* 398678 E009C488 00031FC3 */ sra $v1, $v1, 0x1f
/* 39867C E009C48C 00431023 */ subu $v0, $v0, $v1
/* 398680 E009C490 2442FF4C */ addiu $v0, $v0, -0xb4
/* 398684 E009C494 44821000 */ mtc1 $v0, $f2
/* 398688 E009C498 00000000 */ nop
/* 39868C E009C49C 468010A0 */ cvt.s.w $f2, $f2
/* 398690 E009C4A0 44051000 */ mfc1 $a1, $f2
/* 398694 E009C4A4 27A40018 */ addiu $a0, $sp, 0x18
/* 398698 E009C4A8 0C080104 */ jal shim_guRotateF
/* 39869C E009C4AC E7B40010 */ swc1 $f20, 0x10($sp)
/* 3986A0 E009C4B0 27A40018 */ addiu $a0, $sp, 0x18
/* 3986A4 E009C4B4 96C50000 */ lhu $a1, ($s6)
/* 3986A8 E009C4B8 8E620000 */ lw $v0, ($s3)
/* 3986AC E009C4BC 00052980 */ sll $a1, $a1, 6
/* 3986B0 E009C4C0 00B52821 */ addu $a1, $a1, $s5
/* 3986B4 E009C4C4 0C080118 */ jal shim_guMtxF2L
/* 3986B8 E009C4C8 00452821 */ addu $a1, $v0, $a1
/* 3986BC E009C4CC 24120040 */ addiu $s2, $zero, 0x40
/* 3986C0 E009C4D0 2410005A */ addiu $s0, $zero, 0x5a
/* 3986C4 E009C4D4 8FC50000 */ lw $a1, ($fp)
/* 3986C8 E009C4D8 4406A000 */ mfc1 $a2, $f20
/* 3986CC E009C4DC 4407A000 */ mfc1 $a3, $f20
/* 3986D0 E009C4E0 96C20000 */ lhu $v0, ($s6)
/* 3986D4 E009C4E4 00A0402D */ daddu $t0, $a1, $zero
/* 3986D8 E009C4E8 24A50008 */ addiu $a1, $a1, 8
/* 3986DC E009C4EC 24430001 */ addiu $v1, $v0, 1
/* 3986E0 E009C4F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3986E4 E009C4F4 AFC50000 */ sw $a1, ($fp)
/* 3986E8 E009C4F8 8FA9009C */ lw $t1, 0x9c($sp)
/* 3986EC E009C4FC 00021180 */ sll $v0, $v0, 6
/* 3986F0 E009C500 AD090000 */ sw $t1, ($t0)
/* 3986F4 E009C504 A6C30000 */ sh $v1, ($s6)
/* 3986F8 E009C508 8E630000 */ lw $v1, ($s3)
/* 3986FC E009C50C 00551021 */ addu $v0, $v0, $s5
/* 398700 E009C510 00621821 */ addu $v1, $v1, $v0
/* 398704 E009C514 24A20008 */ addiu $v0, $a1, 8
/* 398708 E009C518 AD030004 */ sw $v1, 4($t0)
/* 39870C E009C51C AFC20000 */ sw $v0, ($fp)
/* 398710 E009C520 3C020900 */ lui $v0, 0x900
/* 398714 E009C524 24426E28 */ addiu $v0, $v0, 0x6e28
/* 398718 E009C528 ACA20004 */ sw $v0, 4($a1)
/* 39871C E009C52C 24A20010 */ addiu $v0, $a1, 0x10
/* 398720 E009C530 3C090900 */ lui $t1, 0x900
/* 398724 E009C534 25291518 */ addiu $t1, $t1, 0x1518
/* 398728 E009C538 24A30018 */ addiu $v1, $a1, 0x18
/* 39872C E009C53C ACB40000 */ sw $s4, ($a1)
/* 398730 E009C540 AFC20000 */ sw $v0, ($fp)
/* 398734 E009C544 ACB40008 */ sw $s4, 8($a1)
/* 398738 E009C548 ACA9000C */ sw $t1, 0xc($a1)
/* 39873C E009C54C 8EE2002C */ lw $v0, 0x2c($s7)
/* 398740 E009C550 3C09F200 */ lui $t1, 0xf200
/* 398744 E009C554 AFC30000 */ sw $v1, ($fp)
/* 398748 E009C558 30420FFF */ andi $v0, $v0, 0xfff
/* 39874C E009C55C 00021300 */ sll $v0, $v0, 0xc
/* 398750 E009C560 00491025 */ or $v0, $v0, $t1
/* 398754 E009C564 ACA20010 */ sw $v0, 0x10($a1)
/* 398758 E009C568 8EE3002C */ lw $v1, 0x2c($s7)
/* 39875C E009C56C 24A20020 */ addiu $v0, $a1, 0x20
/* 398760 E009C570 AFC20000 */ sw $v0, ($fp)
/* 398764 E009C574 3C020900 */ lui $v0, 0x900
/* 398768 E009C578 24426DA0 */ addiu $v0, $v0, 0x6da0
/* 39876C E009C57C ACB40018 */ sw $s4, 0x18($a1)
/* 398770 E009C580 ACA2001C */ sw $v0, 0x1c($a1)
/* 398774 E009C584 8FA900A0 */ lw $t1, 0xa0($sp)
/* 398778 E009C588 2622FF80 */ addiu $v0, $s1, -0x80
/* 39877C E009C58C ACB20024 */ sw $s2, 0x24($a1)
/* 398780 E009C590 ACA2002C */ sw $v0, 0x2c($a1)
/* 398784 E009C594 ACA90020 */ sw $t1, 0x20($a1)
/* 398788 E009C598 3C09DA38 */ lui $t1, 0xda38
/* 39878C E009C59C 246300FC */ addiu $v1, $v1, 0xfc
/* 398790 E009C5A0 30630FFF */ andi $v1, $v1, 0xfff
/* 398794 E009C5A4 00031B00 */ sll $v1, $v1, 0xc
/* 398798 E009C5A8 3463003C */ ori $v1, $v1, 0x3c
/* 39879C E009C5AC ACA90028 */ sw $t1, 0x28($a1)
/* 3987A0 E009C5B0 ACA30014 */ sw $v1, 0x14($a1)
/* 3987A4 E009C5B4 8EE30020 */ lw $v1, 0x20($s7)
/* 3987A8 E009C5B8 8FA90098 */ lw $t1, 0x98($sp)
/* 3987AC E009C5BC 00031040 */ sll $v0, $v1, 1
/* 3987B0 E009C5C0 00431021 */ addu $v0, $v0, $v1
/* 3987B4 E009C5C4 00021900 */ sll $v1, $v0, 4
/* 3987B8 E009C5C8 00621823 */ subu $v1, $v1, $v0
/* 3987BC E009C5CC 00031840 */ sll $v1, $v1, 1
/* 3987C0 E009C5D0 00690018 */ mult $v1, $t1
/* 3987C4 E009C5D4 24A80028 */ addiu $t0, $a1, 0x28
/* 3987C8 E009C5D8 24A50030 */ addiu $a1, $a1, 0x30
/* 3987CC E009C5DC AFC80000 */ sw $t0, ($fp)
/* 3987D0 E009C5E0 AFC50000 */ sw $a1, ($fp)
/* 3987D4 E009C5E4 00004810 */ mfhi $t1
/* 3987D8 E009C5E8 01231021 */ addu $v0, $t1, $v1
/* 3987DC E009C5EC 000211C3 */ sra $v0, $v0, 7
/* 3987E0 E009C5F0 00031FC3 */ sra $v1, $v1, 0x1f
/* 3987E4 E009C5F4 00431023 */ subu $v0, $v0, $v1
/* 3987E8 E009C5F8 02021023 */ subu $v0, $s0, $v0
/* 3987EC E009C5FC 44821000 */ mtc1 $v0, $f2
/* 3987F0 E009C600 00000000 */ nop
/* 3987F4 E009C604 468010A0 */ cvt.s.w $f2, $f2
/* 3987F8 E009C608 44051000 */ mfc1 $a1, $f2
/* 3987FC E009C60C 27A40018 */ addiu $a0, $sp, 0x18
/* 398800 E009C610 0C080104 */ jal shim_guRotateF
/* 398804 E009C614 E7B60010 */ swc1 $f22, 0x10($sp)
/* 398808 E009C618 27A40018 */ addiu $a0, $sp, 0x18
/* 39880C E009C61C 96C50000 */ lhu $a1, ($s6)
/* 398810 E009C620 8E620000 */ lw $v0, ($s3)
/* 398814 E009C624 00052980 */ sll $a1, $a1, 6
/* 398818 E009C628 00B52821 */ addu $a1, $a1, $s5
/* 39881C E009C62C 0C080118 */ jal shim_guMtxF2L
/* 398820 E009C630 00452821 */ addu $a1, $v0, $a1
/* 398824 E009C634 8FC50000 */ lw $a1, ($fp)
/* 398828 E009C638 4406A000 */ mfc1 $a2, $f20
/* 39882C E009C63C 4407A000 */ mfc1 $a3, $f20
/* 398830 E009C640 96C20000 */ lhu $v0, ($s6)
/* 398834 E009C644 00A0402D */ daddu $t0, $a1, $zero
/* 398838 E009C648 24A50008 */ addiu $a1, $a1, 8
/* 39883C E009C64C 24430001 */ addiu $v1, $v0, 1
/* 398840 E009C650 3042FFFF */ andi $v0, $v0, 0xffff
/* 398844 E009C654 AFC50000 */ sw $a1, ($fp)
/* 398848 E009C658 8FA9009C */ lw $t1, 0x9c($sp)
/* 39884C E009C65C 00021180 */ sll $v0, $v0, 6
/* 398850 E009C660 AD090000 */ sw $t1, ($t0)
/* 398854 E009C664 A6C30000 */ sh $v1, ($s6)
/* 398858 E009C668 8E630000 */ lw $v1, ($s3)
/* 39885C E009C66C 00551021 */ addu $v0, $v0, $s5
/* 398860 E009C670 00621821 */ addu $v1, $v1, $v0
/* 398864 E009C674 24A20008 */ addiu $v0, $a1, 8
/* 398868 E009C678 AD030004 */ sw $v1, 4($t0)
/* 39886C E009C67C AFC20000 */ sw $v0, ($fp)
/* 398870 E009C680 3C020900 */ lui $v0, 0x900
/* 398874 E009C684 24426FB0 */ addiu $v0, $v0, 0x6fb0
/* 398878 E009C688 ACB40000 */ sw $s4, ($a1)
/* 39887C E009C68C ACA20004 */ sw $v0, 4($a1)
/* 398880 E009C690 8FA900A0 */ lw $t1, 0xa0($sp)
/* 398884 E009C694 2622FFC0 */ addiu $v0, $s1, -0x40
/* 398888 E009C698 ACB2000C */ sw $s2, 0xc($a1)
/* 39888C E009C69C ACA20014 */ sw $v0, 0x14($a1)
/* 398890 E009C6A0 ACA90008 */ sw $t1, 8($a1)
/* 398894 E009C6A4 3C09DA38 */ lui $t1, 0xda38
/* 398898 E009C6A8 ACA90010 */ sw $t1, 0x10($a1)
/* 39889C E009C6AC 8EE30024 */ lw $v1, 0x24($s7)
/* 3988A0 E009C6B0 8FA90098 */ lw $t1, 0x98($sp)
/* 3988A4 E009C6B4 00031040 */ sll $v0, $v1, 1
/* 3988A8 E009C6B8 00431021 */ addu $v0, $v0, $v1
/* 3988AC E009C6BC 00021900 */ sll $v1, $v0, 4
/* 3988B0 E009C6C0 00621823 */ subu $v1, $v1, $v0
/* 3988B4 E009C6C4 00031840 */ sll $v1, $v1, 1
/* 3988B8 E009C6C8 00690018 */ mult $v1, $t1
/* 3988BC E009C6CC 24A80010 */ addiu $t0, $a1, 0x10
/* 3988C0 E009C6D0 24A50018 */ addiu $a1, $a1, 0x18
/* 3988C4 E009C6D4 AFC80000 */ sw $t0, ($fp)
/* 3988C8 E009C6D8 AFC50000 */ sw $a1, ($fp)
/* 3988CC E009C6DC 00004810 */ mfhi $t1
/* 3988D0 E009C6E0 01231021 */ addu $v0, $t1, $v1
/* 3988D4 E009C6E4 000211C3 */ sra $v0, $v0, 7
/* 3988D8 E009C6E8 00031FC3 */ sra $v1, $v1, 0x1f
/* 3988DC E009C6EC 00431023 */ subu $v0, $v0, $v1
/* 3988E0 E009C6F0 2442FFA6 */ addiu $v0, $v0, -0x5a
/* 3988E4 E009C6F4 44821000 */ mtc1 $v0, $f2
/* 3988E8 E009C6F8 00000000 */ nop
/* 3988EC E009C6FC 468010A0 */ cvt.s.w $f2, $f2
/* 3988F0 E009C700 44051000 */ mfc1 $a1, $f2
/* 3988F4 E009C704 27A40018 */ addiu $a0, $sp, 0x18
/* 3988F8 E009C708 0C080104 */ jal shim_guRotateF
/* 3988FC E009C70C E7B60010 */ swc1 $f22, 0x10($sp)
/* 398900 E009C710 27A40018 */ addiu $a0, $sp, 0x18
/* 398904 E009C714 96C50000 */ lhu $a1, ($s6)
/* 398908 E009C718 8E620000 */ lw $v0, ($s3)
/* 39890C E009C71C 00052980 */ sll $a1, $a1, 6
/* 398910 E009C720 00B52821 */ addu $a1, $a1, $s5
/* 398914 E009C724 0C080118 */ jal shim_guMtxF2L
/* 398918 E009C728 00452821 */ addu $a1, $v0, $a1
/* 39891C E009C72C 02328821 */ addu $s1, $s1, $s2
/* 398920 E009C730 8FC50000 */ lw $a1, ($fp)
/* 398924 E009C734 4406B000 */ mfc1 $a2, $f22
/* 398928 E009C738 4407A000 */ mfc1 $a3, $f20
/* 39892C E009C73C 96C20000 */ lhu $v0, ($s6)
/* 398930 E009C740 00A0402D */ daddu $t0, $a1, $zero
/* 398934 E009C744 24A50008 */ addiu $a1, $a1, 8
/* 398938 E009C748 24430001 */ addiu $v1, $v0, 1
/* 39893C E009C74C 3042FFFF */ andi $v0, $v0, 0xffff
/* 398940 E009C750 AFC50000 */ sw $a1, ($fp)
/* 398944 E009C754 8FA9009C */ lw $t1, 0x9c($sp)
/* 398948 E009C758 00021180 */ sll $v0, $v0, 6
/* 39894C E009C75C AD090000 */ sw $t1, ($t0)
/* 398950 E009C760 A6C30000 */ sh $v1, ($s6)
/* 398954 E009C764 8E630000 */ lw $v1, ($s3)
/* 398958 E009C768 00551021 */ addu $v0, $v0, $s5
/* 39895C E009C76C 00621821 */ addu $v1, $v1, $v0
/* 398960 E009C770 24A20008 */ addiu $v0, $a1, 8
/* 398964 E009C774 AD030004 */ sw $v1, 4($t0)
/* 398968 E009C778 AFC20000 */ sw $v0, ($fp)
/* 39896C E009C77C 3C020900 */ lui $v0, 0x900
/* 398970 E009C780 24426F20 */ addiu $v0, $v0, 0x6f20
/* 398974 E009C784 ACA20004 */ sw $v0, 4($a1)
/* 398978 E009C788 24A20010 */ addiu $v0, $a1, 0x10
/* 39897C E009C78C ACB40000 */ sw $s4, ($a1)
/* 398980 E009C790 AFC20000 */ sw $v0, ($fp)
/* 398984 E009C794 24A20018 */ addiu $v0, $a1, 0x18
/* 398988 E009C798 8FA900A0 */ lw $t1, 0xa0($sp)
/* 39898C E009C79C 24A30028 */ addiu $v1, $a1, 0x28
/* 398990 E009C7A0 ACB2000C */ sw $s2, 0xc($a1)
/* 398994 E009C7A4 ACA90008 */ sw $t1, 8($a1)
/* 398998 E009C7A8 AFC20000 */ sw $v0, ($fp)
/* 39899C E009C7AC 3C020900 */ lui $v0, 0x900
/* 3989A0 E009C7B0 244270E8 */ addiu $v0, $v0, 0x70e8
/* 3989A4 E009C7B4 ACA20014 */ sw $v0, 0x14($a1)
/* 3989A8 E009C7B8 24A20020 */ addiu $v0, $a1, 0x20
/* 3989AC E009C7BC ACB40010 */ sw $s4, 0x10($a1)
/* 3989B0 E009C7C0 AFC20000 */ sw $v0, ($fp)
/* 3989B4 E009C7C4 3C020900 */ lui $v0, 0x900
/* 3989B8 E009C7C8 24427030 */ addiu $v0, $v0, 0x7030
/* 3989BC E009C7CC 3C090900 */ lui $t1, 0x900
/* 3989C0 E009C7D0 25291518 */ addiu $t1, $t1, 0x1518
/* 3989C4 E009C7D4 ACB40018 */ sw $s4, 0x18($a1)
/* 3989C8 E009C7D8 ACA2001C */ sw $v0, 0x1c($a1)
/* 3989CC E009C7DC ACB40020 */ sw $s4, 0x20($a1)
/* 3989D0 E009C7E0 ACA90024 */ sw $t1, 0x24($a1)
/* 3989D4 E009C7E4 8EE2002C */ lw $v0, 0x2c($s7)
/* 3989D8 E009C7E8 3C09F200 */ lui $t1, 0xf200
/* 3989DC E009C7EC AFC30000 */ sw $v1, ($fp)
/* 3989E0 E009C7F0 30420FFF */ andi $v0, $v0, 0xfff
/* 3989E4 E009C7F4 00021300 */ sll $v0, $v0, 0xc
/* 3989E8 E009C7F8 00491025 */ or $v0, $v0, $t1
/* 3989EC E009C7FC ACA20028 */ sw $v0, 0x28($a1)
/* 3989F0 E009C800 8EE2002C */ lw $v0, 0x2c($s7)
/* 3989F4 E009C804 24A30030 */ addiu $v1, $a1, 0x30
/* 3989F8 E009C808 AFC30000 */ sw $v1, ($fp)
/* 3989FC E009C80C 3C030900 */ lui $v1, 0x900
/* 398A00 E009C810 24636FD8 */ addiu $v1, $v1, 0x6fd8
/* 398A04 E009C814 3C09DA38 */ lui $t1, 0xda38
/* 398A08 E009C818 ACB40030 */ sw $s4, 0x30($a1)
/* 398A0C E009C81C ACA30034 */ sw $v1, 0x34($a1)
/* 398A10 E009C820 ACA90038 */ sw $t1, 0x38($a1)
/* 398A14 E009C824 ACB1003C */ sw $s1, 0x3c($a1)
/* 398A18 E009C828 244200FC */ addiu $v0, $v0, 0xfc
/* 398A1C E009C82C 30420FFF */ andi $v0, $v0, 0xfff
/* 398A20 E009C830 00021300 */ sll $v0, $v0, 0xc
/* 398A24 E009C834 3442003C */ ori $v0, $v0, 0x3c
/* 398A28 E009C838 ACA2002C */ sw $v0, 0x2c($a1)
/* 398A2C E009C83C 8EE30028 */ lw $v1, 0x28($s7)
/* 398A30 E009C840 8FA90098 */ lw $t1, 0x98($sp)
/* 398A34 E009C844 00031040 */ sll $v0, $v1, 1
/* 398A38 E009C848 00431021 */ addu $v0, $v0, $v1
/* 398A3C E009C84C 00021900 */ sll $v1, $v0, 4
/* 398A40 E009C850 00621823 */ subu $v1, $v1, $v0
/* 398A44 E009C854 00031840 */ sll $v1, $v1, 1
/* 398A48 E009C858 00690018 */ mult $v1, $t1
/* 398A4C E009C85C 24A80038 */ addiu $t0, $a1, 0x38
/* 398A50 E009C860 00B22821 */ addu $a1, $a1, $s2
/* 398A54 E009C864 AFC80000 */ sw $t0, ($fp)
/* 398A58 E009C868 AFC50000 */ sw $a1, ($fp)
/* 398A5C E009C86C 00004810 */ mfhi $t1
/* 398A60 E009C870 01231021 */ addu $v0, $t1, $v1
/* 398A64 E009C874 000211C3 */ sra $v0, $v0, 7
/* 398A68 E009C878 00031FC3 */ sra $v1, $v1, 0x1f
/* 398A6C E009C87C 00431023 */ subu $v0, $v0, $v1
/* 398A70 E009C880 02028023 */ subu $s0, $s0, $v0
/* 398A74 E009C884 44901000 */ mtc1 $s0, $f2
/* 398A78 E009C888 00000000 */ nop
/* 398A7C E009C88C 468010A0 */ cvt.s.w $f2, $f2
/* 398A80 E009C890 44051000 */ mfc1 $a1, $f2
/* 398A84 E009C894 27A40018 */ addiu $a0, $sp, 0x18
/* 398A88 E009C898 0C080104 */ jal shim_guRotateF
/* 398A8C E009C89C AFA70010 */ sw $a3, 0x10($sp)
/* 398A90 E009C8A0 27A40018 */ addiu $a0, $sp, 0x18
/* 398A94 E009C8A4 96C50000 */ lhu $a1, ($s6)
/* 398A98 E009C8A8 8E620000 */ lw $v0, ($s3)
/* 398A9C E009C8AC 00052980 */ sll $a1, $a1, 6
/* 398AA0 E009C8B0 00B52821 */ addu $a1, $a1, $s5
/* 398AA4 E009C8B4 0C080118 */ jal shim_guMtxF2L
/* 398AA8 E009C8B8 00452821 */ addu $a1, $v0, $a1
/* 398AAC E009C8BC 8FC40000 */ lw $a0, ($fp)
/* 398AB0 E009C8C0 96C20000 */ lhu $v0, ($s6)
/* 398AB4 E009C8C4 0080282D */ daddu $a1, $a0, $zero
/* 398AB8 E009C8C8 24840008 */ addiu $a0, $a0, 8
/* 398ABC E009C8CC 24430001 */ addiu $v1, $v0, 1
/* 398AC0 E009C8D0 3042FFFF */ andi $v0, $v0, 0xffff
/* 398AC4 E009C8D4 AFC40000 */ sw $a0, ($fp)
/* 398AC8 E009C8D8 8FA9009C */ lw $t1, 0x9c($sp)
/* 398ACC E009C8DC 00021180 */ sll $v0, $v0, 6
/* 398AD0 E009C8E0 ACA90000 */ sw $t1, ($a1)
/* 398AD4 E009C8E4 A6C30000 */ sh $v1, ($s6)
/* 398AD8 E009C8E8 8E630000 */ lw $v1, ($s3)
/* 398ADC E009C8EC 00551021 */ addu $v0, $v0, $s5
/* 398AE0 E009C8F0 00621821 */ addu $v1, $v1, $v0
/* 398AE4 E009C8F4 24820008 */ addiu $v0, $a0, 8
/* 398AE8 E009C8F8 ACA30004 */ sw $v1, 4($a1)
/* 398AEC E009C8FC AFC20000 */ sw $v0, ($fp)
/* 398AF0 E009C900 3C020900 */ lui $v0, 0x900
/* 398AF4 E009C904 24426D48 */ addiu $v0, $v0, 0x6d48
/* 398AF8 E009C908 AC820004 */ sw $v0, 4($a0)
/* 398AFC E009C90C 24820010 */ addiu $v0, $a0, 0x10
/* 398B00 E009C910 AC940000 */ sw $s4, ($a0)
/* 398B04 E009C914 AFC20000 */ sw $v0, ($fp)
/* 398B08 E009C918 8FA900A0 */ lw $t1, 0xa0($sp)
/* 398B0C E009C91C 24820018 */ addiu $v0, $a0, 0x18
/* 398B10 E009C920 AC890008 */ sw $t1, 8($a0)
/* 398B14 E009C924 AC92000C */ sw $s2, 0xc($a0)
/* 398B18 E009C928 AFC20000 */ sw $v0, ($fp)
/* 398B1C E009C92C 3C020900 */ lui $v0, 0x900
/* 398B20 E009C930 24420218 */ addiu $v0, $v0, 0x218
/* 398B24 E009C934 AC820014 */ sw $v0, 0x14($a0)
/* 398B28 E009C938 24820020 */ addiu $v0, $a0, 0x20
/* 398B2C E009C93C AC940010 */ sw $s4, 0x10($a0)
/* 398B30 E009C940 AFC20000 */ sw $v0, ($fp)
/* 398B34 E009C944 3C020900 */ lui $v0, 0x900
/* 398B38 E009C948 24427090 */ addiu $v0, $v0, 0x7090
/* 398B3C E009C94C AC940018 */ sw $s4, 0x18($a0)
/* 398B40 E009C950 AC82001C */ sw $v0, 0x1c($a0)
.LE009C954:
/* 398B44 E009C954 3C03D838 */ lui $v1, 0xd838
/* 398B48 E009C958 8FC20000 */ lw $v0, ($fp)
/* 398B4C E009C95C 34630002 */ ori $v1, $v1, 2
/* 398B50 E009C960 0040202D */ daddu $a0, $v0, $zero
/* 398B54 E009C964 24420008 */ addiu $v0, $v0, 8
/* 398B58 E009C968 AFC20000 */ sw $v0, ($fp)
/* 398B5C E009C96C AC830000 */ sw $v1, ($a0)
/* 398B60 E009C970 24030040 */ addiu $v1, $zero, 0x40
/* 398B64 E009C974 AC830004 */ sw $v1, 4($a0)
/* 398B68 E009C978 24430008 */ addiu $v1, $v0, 8
/* 398B6C E009C97C 3C09E700 */ lui $t1, 0xe700
/* 398B70 E009C980 AFC30000 */ sw $v1, ($fp)
/* 398B74 E009C984 AC490000 */ sw $t1, ($v0)
/* 398B78 E009C988 AC400004 */ sw $zero, 4($v0)
/* 398B7C E009C98C 8FBF00CC */ lw $ra, 0xcc($sp)
/* 398B80 E009C990 8FBE00C8 */ lw $fp, 0xc8($sp)
/* 398B84 E009C994 8FB700C4 */ lw $s7, 0xc4($sp)
/* 398B88 E009C998 8FB600C0 */ lw $s6, 0xc0($sp)
/* 398B8C E009C99C 8FB500BC */ lw $s5, 0xbc($sp)
/* 398B90 E009C9A0 8FB400B8 */ lw $s4, 0xb8($sp)
/* 398B94 E009C9A4 8FB300B4 */ lw $s3, 0xb4($sp)
/* 398B98 E009C9A8 8FB200B0 */ lw $s2, 0xb0($sp)
/* 398B9C E009C9AC 8FB100AC */ lw $s1, 0xac($sp)
/* 398BA0 E009C9B0 8FB000A8 */ lw $s0, 0xa8($sp)
/* 398BA4 E009C9B4 D7B600D8 */ ldc1 $f22, 0xd8($sp)
/* 398BA8 E009C9B8 D7B400D0 */ ldc1 $f20, 0xd0($sp)
/* 398BAC E009C9BC 03E00008 */ jr $ra
/* 398BB0 E009C9C0 27BD00E0 */ addiu $sp, $sp, 0xe0
/* 398BB4 E009C9C4 00000000 */ nop
/* 398BB8 E009C9C8 00000000 */ nop
/* 398BBC E009C9CC 00000000 */ nop

View File

@ -1,533 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel ring_blast_appendGfx
/* 356B98 E0048218 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 356B9C E004821C 0080302D */ daddu $a2, $a0, $zero
/* 356BA0 E0048220 3C07DB06 */ lui $a3, 0xdb06
/* 356BA4 E0048224 34E70024 */ ori $a3, $a3, 0x24
/* 356BA8 E0048228 27A40020 */ addiu $a0, $sp, 0x20
/* 356BAC E004822C AFB500BC */ sw $s5, 0xbc($sp)
/* 356BB0 E0048230 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 356BB4 E0048234 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 356BB8 E0048238 AFB300B4 */ sw $s3, 0xb4($sp)
/* 356BBC E004823C 3C130001 */ lui $s3, 1
/* 356BC0 E0048240 36731630 */ ori $s3, $s3, 0x1630
/* 356BC4 E0048244 AFBF00CC */ sw $ra, 0xcc($sp)
/* 356BC8 E0048248 AFBE00C8 */ sw $fp, 0xc8($sp)
/* 356BCC E004824C AFB700C4 */ sw $s7, 0xc4($sp)
/* 356BD0 E0048250 AFB600C0 */ sw $s6, 0xc0($sp)
/* 356BD4 E0048254 AFB400B8 */ sw $s4, 0xb8($sp)
/* 356BD8 E0048258 AFB200B0 */ sw $s2, 0xb0($sp)
/* 356BDC E004825C AFB100AC */ sw $s1, 0xac($sp)
/* 356BE0 E0048260 AFB000A8 */ sw $s0, 0xa8($sp)
/* 356BE4 E0048264 F7B600D8 */ sdc1 $f22, 0xd8($sp)
/* 356BE8 E0048268 F7B400D0 */ sdc1 $f20, 0xd0($sp)
/* 356BEC E004826C 8EA80000 */ lw $t0, ($s5)
/* 356BF0 E0048270 8CD4000C */ lw $s4, 0xc($a2)
/* 356BF4 E0048274 4480A000 */ mtc1 $zero, $f20
/* 356BF8 E0048278 3C014380 */ lui $at, 0x4380
/* 356BFC E004827C 44812000 */ mtc1 $at, $f4
/* 356C00 E0048280 3C013F80 */ lui $at, 0x3f80
/* 356C04 E0048284 4481B000 */ mtc1 $at, $f22
/* 356C08 E0048288 0100182D */ daddu $v1, $t0, $zero
/* 356C0C E004828C 96920000 */ lhu $s2, ($s4)
/* 356C10 E0048290 4405A000 */ mfc1 $a1, $f20
/* 356C14 E0048294 C6860020 */ lwc1 $f6, 0x20($s4)
/* 356C18 E0048298 00121080 */ sll $v0, $s2, 2
/* 356C1C E004829C 3C0AE005 */ lui $t2, %hi(D_E0048A00)
/* 356C20 E00482A0 01425021 */ addu $t2, $t2, $v0
/* 356C24 E00482A4 8D4A8A00 */ lw $t2, %lo(D_E0048A00)($t2)
/* 356C28 E00482A8 25080008 */ addiu $t0, $t0, 8
/* 356C2C E00482AC AFAA00A0 */ sw $t2, 0xa0($sp)
/* 356C30 E00482B0 3C09E005 */ lui $t1, %hi(D_E0048A08)
/* 356C34 E00482B4 01224821 */ addu $t1, $t1, $v0
/* 356C38 E00482B8 8D298A08 */ lw $t1, %lo(D_E0048A08)($t1)
/* 356C3C E00482BC 3C02E700 */ lui $v0, 0xe700
/* 356C40 E00482C0 4600328D */ trunc.w.s $f10, $f6
/* 356C44 E00482C4 44165000 */ mfc1 $s6, $f10
/* 356C48 E00482C8 00000000 */ nop
/* 356C4C E00482CC 44961000 */ mtc1 $s6, $f2
/* 356C50 E00482D0 00000000 */ nop
/* 356C54 E00482D4 468010A0 */ cvt.s.w $f2, $f2
/* 356C58 E00482D8 46023181 */ sub.s $f6, $f6, $f2
/* 356C5C E00482DC AC620000 */ sw $v0, ($v1)
/* 356C60 E00482E0 AC600004 */ sw $zero, 4($v1)
/* 356C64 E00482E4 AD070000 */ sw $a3, ($t0)
/* 356C68 E00482E8 8CC20010 */ lw $v0, 0x10($a2)
/* 356C6C E00482EC 4407A000 */ mfc1 $a3, $f20
/* 356C70 E00482F0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 356C74 E00482F4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 356C78 E00482F8 8C46001C */ lw $a2, 0x1c($v0)
/* 356C7C E00482FC 3C02DE00 */ lui $v0, 0xde00
/* 356C80 E0048300 AD020008 */ sw $v0, 8($t0)
/* 356C84 E0048304 3C028000 */ lui $v0, 0x8000
/* 356C88 E0048308 AD09000C */ sw $t1, 0xc($t0)
/* 356C8C E004830C 00C23021 */ addu $a2, $a2, $v0
/* 356C90 E0048310 00031080 */ sll $v0, $v1, 2
/* 356C94 E0048314 00431021 */ addu $v0, $v0, $v1
/* 356C98 E0048318 00021080 */ sll $v0, $v0, 2
/* 356C9C E004831C 00431023 */ subu $v0, $v0, $v1
/* 356CA0 E0048320 000218C0 */ sll $v1, $v0, 3
/* 356CA4 E0048324 00431021 */ addu $v0, $v0, $v1
/* 356CA8 E0048328 000210C0 */ sll $v0, $v0, 3
/* 356CAC E004832C AD060004 */ sw $a2, 4($t0)
/* 356CB0 E0048330 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 356CB4 E0048334 00220821 */ addu $at, $at, $v0
/* 356CB8 E0048338 C4281DEC */ lwc1 $f8, %lo(gCameras+0x6C)($at)
/* 356CBC E004833C C6800010 */ lwc1 $f0, 0x10($s4)
/* 356CC0 E0048340 25020008 */ addiu $v0, $t0, 8
/* 356CC4 E0048344 AEA80000 */ sw $t0, ($s5)
/* 356CC8 E0048348 25080010 */ addiu $t0, $t0, 0x10
/* 356CCC E004834C 46004207 */ neg.s $f8, $f8
/* 356CD0 E0048350 E7A00010 */ swc1 $f0, 0x10($sp)
/* 356CD4 E0048354 C6800004 */ lwc1 $f0, 4($s4)
/* 356CD8 E0048358 44064000 */ mfc1 $a2, $f8
/* 356CDC E004835C 46043182 */ mul.s $f6, $f6, $f4
/* 356CE0 E0048360 00000000 */ nop
/* 356CE4 E0048364 AEA20000 */ sw $v0, ($s5)
/* 356CE8 E0048368 3AC20007 */ xori $v0, $s6, 7
/* 356CEC E004836C E7A00014 */ swc1 $f0, 0x14($sp)
/* 356CF0 E0048370 C6800008 */ lwc1 $f0, 8($s4)
/* 356CF4 E0048374 2C5E0001 */ sltiu $fp, $v0, 1
/* 356CF8 E0048378 AEA80000 */ sw $t0, ($s5)
/* 356CFC E004837C E7A00018 */ swc1 $f0, 0x18($sp)
/* 356D00 E0048380 C680000C */ lwc1 $f0, 0xc($s4)
/* 356D04 E0048384 4600328D */ trunc.w.s $f10, $f6
/* 356D08 E0048388 44175000 */ mfc1 $s7, $f10
/* 356D0C E004838C 0C080180 */ jal shim_guPositionF
/* 356D10 E0048390 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 356D14 E0048394 27B00060 */ addiu $s0, $sp, 0x60
/* 356D18 E0048398 E7B60010 */ swc1 $f22, 0x10($sp)
/* 356D1C E004839C 8E850024 */ lw $a1, 0x24($s4)
/* 356D20 E00483A0 4406A000 */ mfc1 $a2, $f20
/* 356D24 E00483A4 4407A000 */ mfc1 $a3, $f20
/* 356D28 E00483A8 0C080104 */ jal shim_guRotateF
/* 356D2C E00483AC 0200202D */ daddu $a0, $s0, $zero
/* 356D30 E00483B0 0200202D */ daddu $a0, $s0, $zero
/* 356D34 E00483B4 27A50020 */ addiu $a1, $sp, 0x20
/* 356D38 E00483B8 0C080114 */ jal shim_guMtxCatF
/* 356D3C E00483BC 00A0302D */ daddu $a2, $a1, $zero
/* 356D40 E00483C0 27A40020 */ addiu $a0, $sp, 0x20
/* 356D44 E00483C4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 356D48 E00483C8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 356D4C E00483CC 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 356D50 E00483D0 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 356D54 E00483D4 96050000 */ lhu $a1, ($s0)
/* 356D58 E00483D8 8E220000 */ lw $v0, ($s1)
/* 356D5C E00483DC 00052980 */ sll $a1, $a1, 6
/* 356D60 E00483E0 00B32821 */ addu $a1, $a1, $s3
/* 356D64 E00483E4 0C080118 */ jal shim_guMtxF2L
/* 356D68 E00483E8 00452821 */ addu $a1, $v0, $a1
/* 356D6C E00483EC 8EA60000 */ lw $a2, ($s5)
/* 356D70 E00483F0 00C0202D */ daddu $a0, $a2, $zero
/* 356D74 E00483F4 24C60008 */ addiu $a2, $a2, 8
/* 356D78 E00483F8 AEA60000 */ sw $a2, ($s5)
/* 356D7C E00483FC 96020000 */ lhu $v0, ($s0)
/* 356D80 E0048400 3C03DA38 */ lui $v1, 0xda38
/* 356D84 E0048404 AC830000 */ sw $v1, ($a0)
/* 356D88 E0048408 24430001 */ addiu $v1, $v0, 1
/* 356D8C E004840C 3042FFFF */ andi $v0, $v0, 0xffff
/* 356D90 E0048410 00021180 */ sll $v0, $v0, 6
/* 356D94 E0048414 A6030000 */ sh $v1, ($s0)
/* 356D98 E0048418 8E230000 */ lw $v1, ($s1)
/* 356D9C E004841C 00531021 */ addu $v0, $v0, $s3
/* 356DA0 E0048420 00621821 */ addu $v1, $v1, $v0
/* 356DA4 E0048424 1640010F */ bnez $s2, .LE0048864
/* 356DA8 E0048428 AC830004 */ sw $v1, 4($a0)
/* 356DAC E004842C C6800020 */ lwc1 $f0, 0x20($s4)
/* 356DB0 E0048430 3C0140A0 */ lui $at, 0x40a0
/* 356DB4 E0048434 44811000 */ mtc1 $at, $f2
/* 356DB8 E0048438 00000000 */ nop
/* 356DBC E004843C 4600103C */ c.lt.s $f2, $f0
/* 356DC0 E0048440 00000000 */ nop
/* 356DC4 E0048444 45000007 */ bc1f .LE0048464
/* 356DC8 E0048448 4600B106 */ mov.s $f4, $f22
/* 356DCC E004844C 46020001 */ sub.s $f0, $f0, $f2
/* 356DD0 E0048450 46002101 */ sub.s $f4, $f4, $f0
/* 356DD4 E0048454 4614203C */ c.lt.s $f4, $f20
/* 356DD8 E0048458 00000000 */ nop
/* 356DDC E004845C 45030001 */ bc1tl .LE0048464
/* 356DE0 E0048460 4600A106 */ mov.s $f4, $f20
.LE0048464:
/* 356DE4 E0048464 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 356DE8 E0048468 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 356DEC E004846C 8C620000 */ lw $v0, ($v1)
/* 356DF0 E0048470 3C01437F */ lui $at, 0x437f
/* 356DF4 E0048474 44810000 */ mtc1 $at, $f0
/* 356DF8 E0048478 3C014F00 */ lui $at, 0x4f00
/* 356DFC E004847C 44811000 */ mtc1 $at, $f2
/* 356E00 E0048480 0040202D */ daddu $a0, $v0, $zero
/* 356E04 E0048484 24420008 */ addiu $v0, $v0, 8
/* 356E08 E0048488 46002002 */ mul.s $f0, $f4, $f0
/* 356E0C E004848C 00000000 */ nop
/* 356E10 E0048490 AC620000 */ sw $v0, ($v1)
/* 356E14 E0048494 3C02FA00 */ lui $v0, 0xfa00
/* 356E18 E0048498 AC820000 */ sw $v0, ($a0)
/* 356E1C E004849C 4600103E */ c.le.s $f2, $f0
/* 356E20 E00484A0 00000000 */ nop
/* 356E24 E00484A4 45010005 */ bc1t .LE00484BC
/* 356E28 E00484A8 24840004 */ addiu $a0, $a0, 4
/* 356E2C E00484AC 4600028D */ trunc.w.s $f10, $f0
/* 356E30 E00484B0 44035000 */ mfc1 $v1, $f10
/* 356E34 E00484B4 08012135 */ j .LE00484D4
/* 356E38 E00484B8 00000000 */ nop
.LE00484BC:
/* 356E3C E00484BC 46020001 */ sub.s $f0, $f0, $f2
/* 356E40 E00484C0 3C028000 */ lui $v0, 0x8000
/* 356E44 E00484C4 4600028D */ trunc.w.s $f10, $f0
/* 356E48 E00484C8 44035000 */ mfc1 $v1, $f10
/* 356E4C E00484CC 00000000 */ nop
/* 356E50 E00484D0 00621825 */ or $v1, $v1, $v0
.LE00484D4:
/* 356E54 E00484D4 3C014190 */ lui $at, 0x4190
/* 356E58 E00484D8 44810000 */ mtc1 $at, $f0
/* 356E5C E00484DC 00000000 */ nop
/* 356E60 E00484E0 46002002 */ mul.s $f0, $f4, $f0
/* 356E64 E00484E4 00000000 */ nop
/* 356E68 E00484E8 3C014F00 */ lui $at, 0x4f00
/* 356E6C E00484EC 44811000 */ mtc1 $at, $f2
/* 356E70 E00484F0 00000000 */ nop
/* 356E74 E00484F4 4600103E */ c.le.s $f2, $f0
/* 356E78 E00484F8 00000000 */ nop
/* 356E7C E00484FC 45010005 */ bc1t .LE0048514
/* 356E80 E0048500 00032E00 */ sll $a1, $v1, 0x18
/* 356E84 E0048504 4600028D */ trunc.w.s $f10, $f0
/* 356E88 E0048508 44035000 */ mfc1 $v1, $f10
/* 356E8C E004850C 0801214B */ j .LE004852C
/* 356E90 E0048510 00000000 */ nop
.LE0048514:
/* 356E94 E0048514 46020001 */ sub.s $f0, $f0, $f2
/* 356E98 E0048518 3C028000 */ lui $v0, 0x8000
/* 356E9C E004851C 4600028D */ trunc.w.s $f10, $f0
/* 356EA0 E0048520 44035000 */ mfc1 $v1, $f10
/* 356EA4 E0048524 00000000 */ nop
/* 356EA8 E0048528 00621825 */ or $v1, $v1, $v0
.LE004852C:
/* 356EAC E004852C 3C01426C */ lui $at, 0x426c
/* 356EB0 E0048530 44810000 */ mtc1 $at, $f0
/* 356EB4 E0048534 00000000 */ nop
/* 356EB8 E0048538 46002002 */ mul.s $f0, $f4, $f0
/* 356EBC E004853C 00000000 */ nop
/* 356EC0 E0048540 306200FF */ andi $v0, $v1, 0xff
/* 356EC4 E0048544 00021400 */ sll $v0, $v0, 0x10
/* 356EC8 E0048548 3C014F00 */ lui $at, 0x4f00
/* 356ECC E004854C 44811000 */ mtc1 $at, $f2
/* 356ED0 E0048550 00000000 */ nop
/* 356ED4 E0048554 4600103E */ c.le.s $f2, $f0
/* 356ED8 E0048558 00000000 */ nop
/* 356EDC E004855C 45010005 */ bc1t .LE0048574
/* 356EE0 E0048560 00A23825 */ or $a3, $a1, $v0
/* 356EE4 E0048564 4600028D */ trunc.w.s $f10, $f0
/* 356EE8 E0048568 44065000 */ mfc1 $a2, $f10
/* 356EEC E004856C 08012163 */ j .LE004858C
/* 356EF0 E0048570 00000000 */ nop
.LE0048574:
/* 356EF4 E0048574 46020001 */ sub.s $f0, $f0, $f2
/* 356EF8 E0048578 3C028000 */ lui $v0, 0x8000
/* 356EFC E004857C 4600028D */ trunc.w.s $f10, $f0
/* 356F00 E0048580 44065000 */ mfc1 $a2, $f10
/* 356F04 E0048584 00000000 */ nop
/* 356F08 E0048588 00C23025 */ or $a2, $a2, $v0
.LE004858C:
/* 356F0C E004858C 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 356F10 E0048590 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 356F14 E0048594 30C200FF */ andi $v0, $a2, 0xff
/* 356F18 E0048598 00021200 */ sll $v0, $v0, 8
/* 356F1C E004859C 8CA30000 */ lw $v1, ($a1)
/* 356F20 E00485A0 00E21025 */ or $v0, $a3, $v0
/* 356F24 E00485A4 AC820000 */ sw $v0, ($a0)
/* 356F28 E00485A8 3C02FB00 */ lui $v0, 0xfb00
/* 356F2C E00485AC 3C01437F */ lui $at, 0x437f
/* 356F30 E00485B0 44810000 */ mtc1 $at, $f0
/* 356F34 E00485B4 3C014F00 */ lui $at, 0x4f00
/* 356F38 E00485B8 44811000 */ mtc1 $at, $f2
/* 356F3C E00485BC 0060202D */ daddu $a0, $v1, $zero
/* 356F40 E00485C0 46002002 */ mul.s $f0, $f4, $f0
/* 356F44 E00485C4 00000000 */ nop
/* 356F48 E00485C8 24630008 */ addiu $v1, $v1, 8
/* 356F4C E00485CC 24870004 */ addiu $a3, $a0, 4
/* 356F50 E00485D0 ACA30000 */ sw $v1, ($a1)
/* 356F54 E00485D4 4600103E */ c.le.s $f2, $f0
/* 356F58 E00485D8 00000000 */ nop
/* 356F5C E00485DC 45010005 */ bc1t .LE00485F4
/* 356F60 E00485E0 AC820000 */ sw $v0, ($a0)
/* 356F64 E00485E4 4600028D */ trunc.w.s $f10, $f0
/* 356F68 E00485E8 44035000 */ mfc1 $v1, $f10
/* 356F6C E00485EC 08012183 */ j .LE004860C
/* 356F70 E00485F0 00000000 */ nop
.LE00485F4:
/* 356F74 E00485F4 46020001 */ sub.s $f0, $f0, $f2
/* 356F78 E00485F8 3C028000 */ lui $v0, 0x8000
/* 356F7C E00485FC 4600028D */ trunc.w.s $f10, $f0
/* 356F80 E0048600 44035000 */ mfc1 $v1, $f10
/* 356F84 E0048604 00000000 */ nop
/* 356F88 E0048608 00621825 */ or $v1, $v1, $v0
.LE004860C:
/* 356F8C E004860C 3C014254 */ lui $at, 0x4254
/* 356F90 E0048610 44810000 */ mtc1 $at, $f0
/* 356F94 E0048614 00000000 */ nop
/* 356F98 E0048618 46002002 */ mul.s $f0, $f4, $f0
/* 356F9C E004861C 00000000 */ nop
/* 356FA0 E0048620 3C014F00 */ lui $at, 0x4f00
/* 356FA4 E0048624 44811000 */ mtc1 $at, $f2
/* 356FA8 E0048628 00000000 */ nop
/* 356FAC E004862C 4600103E */ c.le.s $f2, $f0
/* 356FB0 E0048630 00000000 */ nop
/* 356FB4 E0048634 45010005 */ bc1t .LE004864C
/* 356FB8 E0048638 00032600 */ sll $a0, $v1, 0x18
/* 356FBC E004863C 4600028D */ trunc.w.s $f10, $f0
/* 356FC0 E0048640 44035000 */ mfc1 $v1, $f10
/* 356FC4 E0048644 08012199 */ j .LE0048664
/* 356FC8 E0048648 00000000 */ nop
.LE004864C:
/* 356FCC E004864C 46020001 */ sub.s $f0, $f0, $f2
/* 356FD0 E0048650 3C028000 */ lui $v0, 0x8000
/* 356FD4 E0048654 4600028D */ trunc.w.s $f10, $f0
/* 356FD8 E0048658 44035000 */ mfc1 $v1, $f10
/* 356FDC E004865C 00000000 */ nop
/* 356FE0 E0048660 00621825 */ or $v1, $v1, $v0
.LE0048664:
/* 356FE4 E0048664 3C0141C0 */ lui $at, 0x41c0
/* 356FE8 E0048668 44810000 */ mtc1 $at, $f0
/* 356FEC E004866C 00000000 */ nop
/* 356FF0 E0048670 46002002 */ mul.s $f0, $f4, $f0
/* 356FF4 E0048674 00000000 */ nop
/* 356FF8 E0048678 306200FF */ andi $v0, $v1, 0xff
/* 356FFC E004867C 00021400 */ sll $v0, $v0, 0x10
/* 357000 E0048680 3C014F00 */ lui $at, 0x4f00
/* 357004 E0048684 44811000 */ mtc1 $at, $f2
/* 357008 E0048688 00000000 */ nop
/* 35700C E004868C 4600103E */ c.le.s $f2, $f0
/* 357010 E0048690 00000000 */ nop
/* 357014 E0048694 45010005 */ bc1t .LE00486AC
/* 357018 E0048698 00823025 */ or $a2, $a0, $v0
/* 35701C E004869C 4600028D */ trunc.w.s $f10, $f0
/* 357020 E00486A0 44035000 */ mfc1 $v1, $f10
/* 357024 E00486A4 080121B1 */ j .LE00486C4
/* 357028 E00486A8 00000000 */ nop
.LE00486AC:
/* 35702C E00486AC 46020001 */ sub.s $f0, $f0, $f2
/* 357030 E00486B0 3C028000 */ lui $v0, 0x8000
/* 357034 E00486B4 4600028D */ trunc.w.s $f10, $f0
/* 357038 E00486B8 44035000 */ mfc1 $v1, $f10
/* 35703C E00486BC 00000000 */ nop
/* 357040 E00486C0 00621825 */ or $v1, $v1, $v0
.LE00486C4:
/* 357044 E00486C4 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 357048 E00486C8 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 35704C E00486CC 306200FF */ andi $v0, $v1, 0xff
/* 357050 E00486D0 00021200 */ sll $v0, $v0, 8
/* 357054 E00486D4 00C21025 */ or $v0, $a2, $v0
/* 357058 E00486D8 32E300FF */ andi $v1, $s7, 0xff
/* 35705C E00486DC 8CA40000 */ lw $a0, ($a1)
/* 357060 E00486E0 00431025 */ or $v0, $v0, $v1
/* 357064 E00486E4 ACE20000 */ sw $v0, ($a3)
/* 357068 E00486E8 3C02EB00 */ lui $v0, 0xeb00
/* 35706C E00486EC 3C014353 */ lui $at, 0x4353
/* 357070 E00486F0 44810000 */ mtc1 $at, $f0
/* 357074 E00486F4 3C014F00 */ lui $at, 0x4f00
/* 357078 E00486F8 44811000 */ mtc1 $at, $f2
/* 35707C E00486FC 0080182D */ daddu $v1, $a0, $zero
/* 357080 E0048700 46002002 */ mul.s $f0, $f4, $f0
/* 357084 E0048704 00000000 */ nop
/* 357088 E0048708 24840008 */ addiu $a0, $a0, 8
/* 35708C E004870C 24660004 */ addiu $a2, $v1, 4
/* 357090 E0048710 ACA40000 */ sw $a0, ($a1)
/* 357094 E0048714 4600103E */ c.le.s $f2, $f0
/* 357098 E0048718 00000000 */ nop
/* 35709C E004871C 45010005 */ bc1t .LE0048734
/* 3570A0 E0048720 AC620000 */ sw $v0, ($v1)
/* 3570A4 E0048724 4600028D */ trunc.w.s $f10, $f0
/* 3570A8 E0048728 44055000 */ mfc1 $a1, $f10
/* 3570AC E004872C 080121D3 */ j .LE004874C
/* 3570B0 E0048730 00000000 */ nop
.LE0048734:
/* 3570B4 E0048734 46020001 */ sub.s $f0, $f0, $f2
/* 3570B8 E0048738 3C028000 */ lui $v0, 0x8000
/* 3570BC E004873C 4600028D */ trunc.w.s $f10, $f0
/* 3570C0 E0048740 44055000 */ mfc1 $a1, $f10
/* 3570C4 E0048744 00000000 */ nop
/* 3570C8 E0048748 00A22825 */ or $a1, $a1, $v0
.LE004874C:
/* 3570CC E004874C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3570D0 E0048750 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3570D4 E0048754 30A200FF */ andi $v0, $a1, 0xff
/* 3570D8 E0048758 8C830000 */ lw $v1, ($a0)
/* 3570DC E004875C 00021200 */ sll $v0, $v0, 8
/* 3570E0 E0048760 ACC20000 */ sw $v0, ($a2)
/* 3570E4 E0048764 3C02EA00 */ lui $v0, 0xea00
/* 3570E8 E0048768 3C01437F */ lui $at, 0x437f
/* 3570EC E004876C 44810000 */ mtc1 $at, $f0
/* 3570F0 E0048770 3C014F00 */ lui $at, 0x4f00
/* 3570F4 E0048774 44811000 */ mtc1 $at, $f2
/* 3570F8 E0048778 0060282D */ daddu $a1, $v1, $zero
/* 3570FC E004877C 46002002 */ mul.s $f0, $f4, $f0
/* 357100 E0048780 00000000 */ nop
/* 357104 E0048784 24630008 */ addiu $v1, $v1, 8
/* 357108 E0048788 24A90004 */ addiu $t1, $a1, 4
/* 35710C E004878C AC830000 */ sw $v1, ($a0)
/* 357110 E0048790 4600103E */ c.le.s $f2, $f0
/* 357114 E0048794 00000000 */ nop
/* 357118 E0048798 45010005 */ bc1t .LE00487B0
/* 35711C E004879C ACA20000 */ sw $v0, ($a1)
/* 357120 E00487A0 4600028D */ trunc.w.s $f10, $f0
/* 357124 E00487A4 44035000 */ mfc1 $v1, $f10
/* 357128 E00487A8 080121F2 */ j .LE00487C8
/* 35712C E00487AC 00000000 */ nop
.LE00487B0:
/* 357130 E00487B0 46020001 */ sub.s $f0, $f0, $f2
/* 357134 E00487B4 3C028000 */ lui $v0, 0x8000
/* 357138 E00487B8 4600028D */ trunc.w.s $f10, $f0
/* 35713C E00487BC 44035000 */ mfc1 $v1, $f10
/* 357140 E00487C0 00000000 */ nop
/* 357144 E00487C4 00621825 */ or $v1, $v1, $v0
.LE00487C8:
/* 357148 E00487C8 3C014358 */ lui $at, 0x4358
/* 35714C E00487CC 44810000 */ mtc1 $at, $f0
/* 357150 E00487D0 00000000 */ nop
/* 357154 E00487D4 46002002 */ mul.s $f0, $f4, $f0
/* 357158 E00487D8 00000000 */ nop
/* 35715C E00487DC 3C014F00 */ lui $at, 0x4f00
/* 357160 E00487E0 44811000 */ mtc1 $at, $f2
/* 357164 E00487E4 00000000 */ nop
/* 357168 E00487E8 4600103E */ c.le.s $f2, $f0
/* 35716C E00487EC 00000000 */ nop
/* 357170 E00487F0 45010005 */ bc1t .LE0048808
/* 357174 E00487F4 00034600 */ sll $t0, $v1, 0x18
/* 357178 E00487F8 4600028D */ trunc.w.s $f10, $f0
/* 35717C E00487FC 44075000 */ mfc1 $a3, $f10
/* 357180 E0048800 08012209 */ j .LE0048824
/* 357184 E0048804 3C06FC26 */ lui $a2, 0xfc26
.LE0048808:
/* 357188 E0048808 46020001 */ sub.s $f0, $f0, $f2
/* 35718C E004880C 3C028000 */ lui $v0, 0x8000
/* 357190 E0048810 4600028D */ trunc.w.s $f10, $f0
/* 357194 E0048814 44075000 */ mfc1 $a3, $f10
/* 357198 E0048818 00000000 */ nop
/* 35719C E004881C 00E23825 */ or $a3, $a3, $v0
/* 3571A0 E0048820 3C06FC26 */ lui $a2, 0xfc26
.LE0048824:
/* 3571A4 E0048824 34C62A60 */ ori $a2, $a2, 0x2a60
/* 3571A8 E0048828 3C0516FC */ lui $a1, 0x16fc
/* 3571AC E004882C 34A59378 */ ori $a1, $a1, 0x9378
/* 3571B0 E0048830 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3571B4 E0048834 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3571B8 E0048838 30E200FF */ andi $v0, $a3, 0xff
/* 3571BC E004883C 00021200 */ sll $v0, $v0, 8
/* 3571C0 E0048840 8C830000 */ lw $v1, ($a0)
/* 3571C4 E0048844 01021025 */ or $v0, $t0, $v0
/* 3571C8 E0048848 AD220000 */ sw $v0, ($t1)
/* 3571CC E004884C 0060102D */ daddu $v0, $v1, $zero
/* 3571D0 E0048850 24630008 */ addiu $v1, $v1, 8
/* 3571D4 E0048854 AC830000 */ sw $v1, ($a0)
/* 3571D8 E0048858 AC460000 */ sw $a2, ($v0)
/* 3571DC E004885C 08012230 */ j .LE00488C0
/* 3571E0 E0048860 AC450004 */ sw $a1, 4($v0)
.LE0048864:
/* 3571E4 E0048864 3C04FC26 */ lui $a0, 0xfc26
/* 3571E8 E0048868 34842AC3 */ ori $a0, $a0, 0x2ac3
/* 3571EC E004886C 3C0310FC */ lui $v1, 0x10fc
/* 3571F0 E0048870 34639238 */ ori $v1, $v1, 0x9238
/* 3571F4 E0048874 3C05FFFF */ lui $a1, 0xffff
/* 3571F8 E0048878 34A5287F */ ori $a1, $a1, 0x287f
/* 3571FC E004887C 24C20008 */ addiu $v0, $a2, 8
/* 357200 E0048880 AEA20000 */ sw $v0, ($s5)
/* 357204 E0048884 24C20010 */ addiu $v0, $a2, 0x10
/* 357208 E0048888 ACC40000 */ sw $a0, ($a2)
/* 35720C E004888C ACC30004 */ sw $v1, 4($a2)
/* 357210 E0048890 AEA20000 */ sw $v0, ($s5)
/* 357214 E0048894 3C02FA00 */ lui $v0, 0xfa00
/* 357218 E0048898 ACC20008 */ sw $v0, 8($a2)
/* 35721C E004889C 24C20018 */ addiu $v0, $a2, 0x18
/* 357220 E00488A0 ACC5000C */ sw $a1, 0xc($a2)
/* 357224 E00488A4 AEA20000 */ sw $v0, ($s5)
/* 357228 E00488A8 3C02FB00 */ lui $v0, 0xfb00
/* 35722C E00488AC ACC20010 */ sw $v0, 0x10($a2)
/* 357230 E00488B0 32E200FF */ andi $v0, $s7, 0xff
/* 357234 E00488B4 24038B00 */ addiu $v1, $zero, -0x7500
/* 357238 E00488B8 00431025 */ or $v0, $v0, $v1
/* 35723C E00488BC ACC20014 */ sw $v0, 0x14($a2)
.LE00488C0:
/* 357240 E00488C0 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* 357244 E00488C4 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* 357248 E00488C8 001611C0 */ sll $v0, $s6, 7
/* 35724C E00488CC 30420FFF */ andi $v0, $v0, 0xfff
/* 357250 E00488D0 00021300 */ sll $v0, $v0, 0xc
/* 357254 E00488D4 3C04F200 */ lui $a0, 0xf200
/* 357258 E00488D8 00441025 */ or $v0, $v0, $a0
/* 35725C E00488DC 8D050000 */ lw $a1, ($t0)
/* 357260 E00488E0 00163940 */ sll $a3, $s6, 5
/* 357264 E00488E4 00A0182D */ daddu $v1, $a1, $zero
/* 357268 E00488E8 24A50008 */ addiu $a1, $a1, 8
/* 35726C E00488EC AD050000 */ sw $a1, ($t0)
/* 357270 E00488F0 AC620000 */ sw $v0, ($v1)
/* 357274 E00488F4 24E20020 */ addiu $v0, $a3, 0x20
/* 357278 E00488F8 00021080 */ sll $v0, $v0, 2
/* 35727C E00488FC 30420FFF */ andi $v0, $v0, 0xfff
/* 357280 E0048900 00023300 */ sll $a2, $v0, 0xc
/* 357284 E0048904 34C20080 */ ori $v0, $a2, 0x80
/* 357288 E0048908 13C0000F */ beqz $fp, .LE0048948
/* 35728C E004890C AC620004 */ sw $v0, 4($v1)
/* 357290 E0048910 0080182D */ daddu $v1, $a0, $zero
/* 357294 E0048914 34630080 */ ori $v1, $v1, 0x80
/* 357298 E0048918 3C040100 */ lui $a0, 0x100
/* 35729C E004891C 34840100 */ ori $a0, $a0, 0x100
/* 3572A0 E0048920 24A20008 */ addiu $v0, $a1, 8
/* 3572A4 E0048924 00C31825 */ or $v1, $a2, $v1
/* 3572A8 E0048928 AD020000 */ sw $v0, ($t0)
/* 3572AC E004892C 24E20040 */ addiu $v0, $a3, 0x40
/* 3572B0 E0048930 00021080 */ sll $v0, $v0, 2
/* 3572B4 E0048934 30420FFF */ andi $v0, $v0, 0xfff
/* 3572B8 E0048938 00021300 */ sll $v0, $v0, 0xc
/* 3572BC E004893C 00441025 */ or $v0, $v0, $a0
/* 3572C0 E0048940 0801225D */ j .LE0048974
/* 3572C4 E0048944 ACA30000 */ sw $v1, ($a1)
.LE0048948:
/* 3572C8 E0048948 3C030100 */ lui $v1, 0x100
/* 3572CC E004894C 34630080 */ ori $v1, $v1, 0x80
/* 3572D0 E0048950 24A20008 */ addiu $v0, $a1, 8
/* 3572D4 E0048954 AD020000 */ sw $v0, ($t0)
/* 3572D8 E0048958 00C41025 */ or $v0, $a2, $a0
/* 3572DC E004895C ACA20000 */ sw $v0, ($a1)
/* 3572E0 E0048960 24E20040 */ addiu $v0, $a3, 0x40
/* 3572E4 E0048964 00021080 */ sll $v0, $v0, 2
/* 3572E8 E0048968 30420FFF */ andi $v0, $v0, 0xfff
/* 3572EC E004896C 00021300 */ sll $v0, $v0, 0xc
/* 3572F0 E0048970 00431025 */ or $v0, $v0, $v1
.LE0048974:
/* 3572F4 E0048974 ACA20004 */ sw $v0, 4($a1)
/* 3572F8 E0048978 3C06D838 */ lui $a2, 0xd838
/* 3572FC E004897C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 357300 E0048980 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 357304 E0048984 34C60002 */ ori $a2, $a2, 2
/* 357308 E0048988 8C820000 */ lw $v0, ($a0)
/* 35730C E004898C 3C03DE00 */ lui $v1, 0xde00
/* 357310 E0048990 0040282D */ daddu $a1, $v0, $zero
/* 357314 E0048994 24420008 */ addiu $v0, $v0, 8
/* 357318 E0048998 AC820000 */ sw $v0, ($a0)
/* 35731C E004899C ACA30000 */ sw $v1, ($a1)
/* 357320 E00489A0 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 357324 E00489A4 24430008 */ addiu $v1, $v0, 8
/* 357328 E00489A8 ACAA0004 */ sw $t2, 4($a1)
/* 35732C E00489AC AC830000 */ sw $v1, ($a0)
/* 357330 E00489B0 24030040 */ addiu $v1, $zero, 0x40
/* 357334 E00489B4 AC460000 */ sw $a2, ($v0)
/* 357338 E00489B8 AC430004 */ sw $v1, 4($v0)
/* 35733C E00489BC 8FBF00CC */ lw $ra, 0xcc($sp)
/* 357340 E00489C0 8FBE00C8 */ lw $fp, 0xc8($sp)
/* 357344 E00489C4 8FB700C4 */ lw $s7, 0xc4($sp)
/* 357348 E00489C8 8FB600C0 */ lw $s6, 0xc0($sp)
/* 35734C E00489CC 8FB500BC */ lw $s5, 0xbc($sp)
/* 357350 E00489D0 8FB400B8 */ lw $s4, 0xb8($sp)
/* 357354 E00489D4 8FB300B4 */ lw $s3, 0xb4($sp)
/* 357358 E00489D8 8FB200B0 */ lw $s2, 0xb0($sp)
/* 35735C E00489DC 8FB100AC */ lw $s1, 0xac($sp)
/* 357360 E00489E0 8FB000A8 */ lw $s0, 0xa8($sp)
/* 357364 E00489E4 D7B600D8 */ ldc1 $f22, 0xd8($sp)
/* 357368 E00489E8 D7B400D0 */ ldc1 $f20, 0xd0($sp)
/* 35736C E00489EC 03E00008 */ jr $ra
/* 357370 E00489F0 27BD00E0 */ addiu $sp, $sp, 0xe0
/* 357374 E00489F4 00000000 */ nop
/* 357378 E00489F8 00000000 */ nop
/* 35737C E00489FC 00000000 */ nop

View File

@ -1,216 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel rising_bubble_appendGfx
/* 3561A0 E00462C0 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 3561A4 E00462C4 3C05DB06 */ lui $a1, 0xdb06
/* 3561A8 E00462C8 3C09800A */ lui $t1, %hi(gMasterGfxPos)
/* 3561AC E00462CC 2529A66C */ addiu $t1, $t1, %lo(gMasterGfxPos)
/* 3561B0 E00462D0 34A50024 */ ori $a1, $a1, 0x24
/* 3561B4 E00462D4 3C02E700 */ lui $v0, 0xe700
/* 3561B8 E00462D8 AFBF00B4 */ sw $ra, 0xb4($sp)
/* 3561BC E00462DC AFB400B0 */ sw $s4, 0xb0($sp)
/* 3561C0 E00462E0 AFB300AC */ sw $s3, 0xac($sp)
/* 3561C4 E00462E4 AFB200A8 */ sw $s2, 0xa8($sp)
/* 3561C8 E00462E8 AFB100A4 */ sw $s1, 0xa4($sp)
/* 3561CC E00462EC AFB000A0 */ sw $s0, 0xa0($sp)
/* 3561D0 E00462F0 8D280000 */ lw $t0, ($t1)
/* 3561D4 E00462F4 8C93000C */ lw $s3, 0xc($a0)
/* 3561D8 E00462F8 0100182D */ daddu $v1, $t0, $zero
/* 3561DC E00462FC 8E74001C */ lw $s4, 0x1c($s3)
/* 3561E0 E0046300 25080008 */ addiu $t0, $t0, 8
/* 3561E4 E0046304 AC620000 */ sw $v0, ($v1)
/* 3561E8 E0046308 AC600004 */ sw $zero, 4($v1)
/* 3561EC E004630C AD050000 */ sw $a1, ($t0)
/* 3561F0 E0046310 8C820010 */ lw $v0, 0x10($a0)
/* 3561F4 E0046314 AD280000 */ sw $t0, ($t1)
/* 3561F8 E0046318 8C42001C */ lw $v0, 0x1c($v0)
/* 3561FC E004631C 3C038000 */ lui $v1, 0x8000
/* 356200 E0046320 00431021 */ addu $v0, $v0, $v1
/* 356204 E0046324 AD020004 */ sw $v0, 4($t0)
/* 356208 E0046328 C6620008 */ lwc1 $f2, 8($s3)
/* 35620C E004632C C6600024 */ lwc1 $f0, 0x24($s3)
/* 356210 E0046330 25020008 */ addiu $v0, $t0, 8
/* 356214 E0046334 4602003E */ c.le.s $f0, $f2
/* 356218 E0046338 00000000 */ nop
/* 35621C E004633C 45000032 */ bc1f .LE0046408
/* 356220 E0046340 AD220000 */ sw $v0, ($t1)
/* 356224 E0046344 3C047F7F */ lui $a0, 0x7f7f
/* 356228 E0046348 25020010 */ addiu $v0, $t0, 0x10
/* 35622C E004634C AD220000 */ sw $v0, ($t1)
/* 356230 E0046350 3C02DE00 */ lui $v0, 0xde00
/* 356234 E0046354 AD020008 */ sw $v0, 8($t0)
/* 356238 E0046358 25020018 */ addiu $v0, $t0, 0x18
/* 35623C E004635C AD220000 */ sw $v0, ($t1)
/* 356240 E0046360 3C02FA00 */ lui $v0, 0xfa00
/* 356244 E0046364 3C03E004 */ lui $v1, %hi(D_E0046614)
/* 356248 E0046368 8C636614 */ lw $v1, %lo(D_E0046614)($v1)
/* 35624C E004636C 34847F00 */ ori $a0, $a0, 0x7f00
/* 356250 E0046370 AD020010 */ sw $v0, 0x10($t0)
/* 356254 E0046374 AD03000C */ sw $v1, 0xc($t0)
/* 356258 E0046378 92620017 */ lbu $v0, 0x17($s3)
/* 35625C E004637C 3C05F200 */ lui $a1, 0xf200
/* 356260 E0046380 00441025 */ or $v0, $v0, $a0
/* 356264 E0046384 AD020014 */ sw $v0, 0x14($t0)
/* 356268 E0046388 8E630020 */ lw $v1, 0x20($s3)
/* 35626C E004638C 27A40020 */ addiu $a0, $sp, 0x20
/* 356270 E0046390 00031080 */ sll $v0, $v1, 2
/* 356274 E0046394 30420FFF */ andi $v0, $v0, 0xfff
/* 356278 E0046398 00451025 */ or $v0, $v0, $a1
/* 35627C E004639C 3C050008 */ lui $a1, 8
/* 356280 E00463A0 24630020 */ addiu $v1, $v1, 0x20
/* 356284 E00463A4 00031880 */ sll $v1, $v1, 2
/* 356288 E00463A8 30630FFF */ andi $v1, $v1, 0xfff
/* 35628C E00463AC AD020018 */ sw $v0, 0x18($t0)
/* 356290 E00463B0 3C020100 */ lui $v0, 0x100
/* 356294 E00463B4 00621825 */ or $v1, $v1, $v0
/* 356298 E00463B8 00651825 */ or $v1, $v1, $a1
/* 35629C E00463BC AD03001C */ sw $v1, 0x1c($t0)
/* 3562A0 E00463C0 8E650004 */ lw $a1, 4($s3)
/* 3562A4 E00463C4 8E660008 */ lw $a2, 8($s3)
/* 3562A8 E00463C8 8E67000C */ lw $a3, 0xc($s3)
/* 3562AC E00463CC 25020020 */ addiu $v0, $t0, 0x20
/* 3562B0 E00463D0 0C080108 */ jal shim_guTranslateF
/* 3562B4 E00463D4 AD220000 */ sw $v0, ($t1)
/* 3562B8 E00463D8 27B00060 */ addiu $s0, $sp, 0x60
/* 3562BC E00463DC 0200202D */ daddu $a0, $s0, $zero
/* 3562C0 E00463E0 8E650010 */ lw $a1, 0x10($s3)
/* 3562C4 E00463E4 3C063F80 */ lui $a2, 0x3f80
/* 3562C8 E00463E8 0C080110 */ jal shim_guScaleF
/* 3562CC E00463EC 00A0382D */ daddu $a3, $a1, $zero
/* 3562D0 E00463F0 0200202D */ daddu $a0, $s0, $zero
/* 3562D4 E00463F4 27A50020 */ addiu $a1, $sp, 0x20
/* 3562D8 E00463F8 0C080114 */ jal shim_guMtxCatF
/* 3562DC E00463FC 00A0302D */ daddu $a2, $a1, $zero
/* 3562E0 E0046400 08011936 */ j .LE00464D8
/* 3562E4 E0046404 3C120001 */ lui $s2, 1
.LE0046408:
/* 3562E8 E0046408 3C048080 */ lui $a0, 0x8080
/* 3562EC E004640C 3484FF00 */ ori $a0, $a0, 0xff00
/* 3562F0 E0046410 44800000 */ mtc1 $zero, $f0
/* 3562F4 E0046414 25020010 */ addiu $v0, $t0, 0x10
/* 3562F8 E0046418 AD220000 */ sw $v0, ($t1)
/* 3562FC E004641C 3C02DE00 */ lui $v0, 0xde00
/* 356300 E0046420 AD020008 */ sw $v0, 8($t0)
/* 356304 E0046424 25020018 */ addiu $v0, $t0, 0x18
/* 356308 E0046428 AD220000 */ sw $v0, ($t1)
/* 35630C E004642C 3C03E004 */ lui $v1, %hi(D_E0046618)
/* 356310 E0046430 8C636618 */ lw $v1, %lo(D_E0046618)($v1)
/* 356314 E0046434 3C02FA00 */ lui $v0, 0xfa00
/* 356318 E0046438 AD020010 */ sw $v0, 0x10($t0)
/* 35631C E004643C AD03000C */ sw $v1, 0xc($t0)
/* 356320 E0046440 92630017 */ lbu $v1, 0x17($s3)
/* 356324 E0046444 25020020 */ addiu $v0, $t0, 0x20
/* 356328 E0046448 AD220000 */ sw $v0, ($t1)
/* 35632C E004644C 3C02FB00 */ lui $v0, 0xfb00
/* 356330 E0046450 AD020018 */ sw $v0, 0x18($t0)
/* 356334 E0046454 2402FF00 */ addiu $v0, $zero, -0x100
/* 356338 E0046458 44050000 */ mfc1 $a1, $f0
/* 35633C E004645C 00621825 */ or $v1, $v1, $v0
/* 356340 E0046460 AD030014 */ sw $v1, 0x14($t0)
/* 356344 E0046464 92620017 */ lbu $v0, 0x17($s3)
/* 356348 E0046468 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 35634C E004646C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 356350 E0046470 00441025 */ or $v0, $v0, $a0
/* 356354 E0046474 AD02001C */ sw $v0, 0x1c($t0)
/* 356358 E0046478 00031080 */ sll $v0, $v1, 2
/* 35635C E004647C 00431021 */ addu $v0, $v0, $v1
/* 356360 E0046480 00021080 */ sll $v0, $v0, 2
/* 356364 E0046484 00431023 */ subu $v0, $v0, $v1
/* 356368 E0046488 000218C0 */ sll $v1, $v0, 3
/* 35636C E004648C 00431021 */ addu $v0, $v0, $v1
/* 356370 E0046490 000210C0 */ sll $v0, $v0, 3
/* 356374 E0046494 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 356378 E0046498 00220821 */ addu $at, $at, $v0
/* 35637C E004649C C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 356380 E00464A0 C6600010 */ lwc1 $f0, 0x10($s3)
/* 356384 E00464A4 46001087 */ neg.s $f2, $f2
/* 356388 E00464A8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 35638C E00464AC C6600004 */ lwc1 $f0, 4($s3)
/* 356390 E00464B0 44061000 */ mfc1 $a2, $f2
/* 356394 E00464B4 E7A00014 */ swc1 $f0, 0x14($sp)
/* 356398 E00464B8 C6600008 */ lwc1 $f0, 8($s3)
/* 35639C E00464BC 00A0382D */ daddu $a3, $a1, $zero
/* 3563A0 E00464C0 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3563A4 E00464C4 C660000C */ lwc1 $f0, 0xc($s3)
/* 3563A8 E00464C8 27A40020 */ addiu $a0, $sp, 0x20
/* 3563AC E00464CC 0C080180 */ jal shim_guPositionF
/* 3563B0 E00464D0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3563B4 E00464D4 3C120001 */ lui $s2, 1
.LE00464D8:
/* 3563B8 E00464D8 36521630 */ ori $s2, $s2, 0x1630
/* 3563BC E00464DC 27A40020 */ addiu $a0, $sp, 0x20
/* 3563C0 E00464E0 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3563C4 E00464E4 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3563C8 E00464E8 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 3563CC E00464EC 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 3563D0 E00464F0 96050000 */ lhu $a1, ($s0)
/* 3563D4 E00464F4 8E220000 */ lw $v0, ($s1)
/* 3563D8 E00464F8 00052980 */ sll $a1, $a1, 6
/* 3563DC E00464FC 00B22821 */ addu $a1, $a1, $s2
/* 3563E0 E0046500 0C080118 */ jal shim_guMtxF2L
/* 3563E4 E0046504 00452821 */ addu $a1, $v0, $a1
/* 3563E8 E0046508 3C07800A */ lui $a3, %hi(gMasterGfxPos)
/* 3563EC E004650C 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos)
/* 3563F0 E0046510 8CE60000 */ lw $a2, ($a3)
/* 3563F4 E0046514 00C0282D */ daddu $a1, $a2, $zero
/* 3563F8 E0046518 24C60008 */ addiu $a2, $a2, 8
/* 3563FC E004651C ACE60000 */ sw $a2, ($a3)
/* 356400 E0046520 96040000 */ lhu $a0, ($s0)
/* 356404 E0046524 3C02DA38 */ lui $v0, 0xda38
/* 356408 E0046528 ACA20000 */ sw $v0, ($a1)
/* 35640C E004652C 8E230000 */ lw $v1, ($s1)
/* 356410 E0046530 3082FFFF */ andi $v0, $a0, 0xffff
/* 356414 E0046534 00021180 */ sll $v0, $v0, 6
/* 356418 E0046538 00521021 */ addu $v0, $v0, $s2
/* 35641C E004653C 00621821 */ addu $v1, $v1, $v0
/* 356420 E0046540 ACA30004 */ sw $v1, 4($a1)
/* 356424 E0046544 C6620008 */ lwc1 $f2, 8($s3)
/* 356428 E0046548 C6600024 */ lwc1 $f0, 0x24($s3)
/* 35642C E004654C 24840001 */ addiu $a0, $a0, 1
/* 356430 E0046550 4602003E */ c.le.s $f0, $f2
/* 356434 E0046554 00000000 */ nop
/* 356438 E0046558 45000007 */ bc1f .LE0046578
/* 35643C E004655C A6040000 */ sh $a0, ($s0)
/* 356440 E0046560 3C02DE00 */ lui $v0, 0xde00
/* 356444 E0046564 ACC20000 */ sw $v0, ($a2)
/* 356448 E0046568 3C03E004 */ lui $v1, %hi(D_E0046600)
/* 35644C E004656C 8C636600 */ lw $v1, %lo(D_E0046600)($v1)
/* 356450 E0046570 08011966 */ j .LE0046598
/* 356454 E0046574 24C20008 */ addiu $v0, $a2, 8
.LE0046578:
/* 356458 E0046578 3C02DE00 */ lui $v0, 0xde00
/* 35645C E004657C ACC20000 */ sw $v0, ($a2)
/* 356460 E0046580 00141040 */ sll $v0, $s4, 1
/* 356464 E0046584 3042000C */ andi $v0, $v0, 0xc
/* 356468 E0046588 3C03E004 */ lui $v1, %hi(D_E0046604)
/* 35646C E004658C 00621821 */ addu $v1, $v1, $v0
/* 356470 E0046590 8C636604 */ lw $v1, %lo(D_E0046604)($v1)
/* 356474 E0046594 24C20008 */ addiu $v0, $a2, 8
.LE0046598:
/* 356478 E0046598 ACE20000 */ sw $v0, ($a3)
/* 35647C E004659C ACC30004 */ sw $v1, 4($a2)
/* 356480 E00465A0 3C03D838 */ lui $v1, 0xd838
/* 356484 E00465A4 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 356488 E00465A8 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 35648C E00465AC 8C820000 */ lw $v0, ($a0)
/* 356490 E00465B0 34630002 */ ori $v1, $v1, 2
/* 356494 E00465B4 0040282D */ daddu $a1, $v0, $zero
/* 356498 E00465B8 24420008 */ addiu $v0, $v0, 8
/* 35649C E00465BC AC820000 */ sw $v0, ($a0)
/* 3564A0 E00465C0 ACA30000 */ sw $v1, ($a1)
/* 3564A4 E00465C4 24030040 */ addiu $v1, $zero, 0x40
/* 3564A8 E00465C8 ACA30004 */ sw $v1, 4($a1)
/* 3564AC E00465CC 24430008 */ addiu $v1, $v0, 8
/* 3564B0 E00465D0 AC830000 */ sw $v1, ($a0)
/* 3564B4 E00465D4 3C03E700 */ lui $v1, 0xe700
/* 3564B8 E00465D8 AC430000 */ sw $v1, ($v0)
/* 3564BC E00465DC AC400004 */ sw $zero, 4($v0)
/* 3564C0 E00465E0 8FBF00B4 */ lw $ra, 0xb4($sp)
/* 3564C4 E00465E4 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3564C8 E00465E8 8FB300AC */ lw $s3, 0xac($sp)
/* 3564CC E00465EC 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3564D0 E00465F0 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3564D4 E00465F4 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3564D8 E00465F8 03E00008 */ jr $ra
/* 3564DC E00465FC 27BD00B8 */ addiu $sp, $sp, 0xb8

View File

@ -1,564 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0024D00
.double 1.2048192771084338
.section .text
glabel shape_spell_appendGfx
/* 3396A4 E0024454 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 3396A8 E0024458 3C07DB06 */ lui $a3, 0xdb06
/* 3396AC E002445C 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 3396B0 E0024460 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 3396B4 E0024464 34E70024 */ ori $a3, $a3, 0x24
/* 3396B8 E0024468 AFBF00B4 */ sw $ra, 0xb4($sp)
/* 3396BC E002446C AFBE00B0 */ sw $fp, 0xb0($sp)
/* 3396C0 E0024470 AFB700AC */ sw $s7, 0xac($sp)
/* 3396C4 E0024474 AFB600A8 */ sw $s6, 0xa8($sp)
/* 3396C8 E0024478 AFB500A4 */ sw $s5, 0xa4($sp)
/* 3396CC E002447C AFB400A0 */ sw $s4, 0xa0($sp)
/* 3396D0 E0024480 AFB3009C */ sw $s3, 0x9c($sp)
/* 3396D4 E0024484 AFB20098 */ sw $s2, 0x98($sp)
/* 3396D8 E0024488 AFB10094 */ sw $s1, 0x94($sp)
/* 3396DC E002448C AFB00090 */ sw $s0, 0x90($sp)
/* 3396E0 E0024490 F7BE00E0 */ sdc1 $f30, 0xe0($sp)
/* 3396E4 E0024494 F7BC00D8 */ sdc1 $f28, 0xd8($sp)
/* 3396E8 E0024498 F7BA00D0 */ sdc1 $f26, 0xd0($sp)
/* 3396EC E002449C F7B800C8 */ sdc1 $f24, 0xc8($sp)
/* 3396F0 E00244A0 F7B600C0 */ sdc1 $f22, 0xc0($sp)
/* 3396F4 E00244A4 F7B400B8 */ sdc1 $f20, 0xb8($sp)
/* 3396F8 E00244A8 8CA30000 */ lw $v1, ($a1)
/* 3396FC E00244AC 8C96000C */ lw $s6, 0xc($a0)
/* 339700 E00244B0 0060302D */ daddu $a2, $v1, $zero
/* 339704 E00244B4 24630008 */ addiu $v1, $v1, 8
/* 339708 E00244B8 ACA30000 */ sw $v1, ($a1)
/* 33970C E00244BC C6C40028 */ lwc1 $f4, 0x28($s6)
/* 339710 E00244C0 3C02E700 */ lui $v0, 0xe700
/* 339714 E00244C4 E7A4007C */ swc1 $f4, 0x7c($sp)
/* 339718 E00244C8 ACC20000 */ sw $v0, ($a2)
/* 33971C E00244CC 24620008 */ addiu $v0, $v1, 8
/* 339720 E00244D0 ACC00004 */ sw $zero, 4($a2)
/* 339724 E00244D4 ACA20000 */ sw $v0, ($a1)
/* 339728 E00244D8 AC670000 */ sw $a3, ($v1)
/* 33972C E00244DC 24670010 */ addiu $a3, $v1, 0x10
/* 339730 E00244E0 ACA70000 */ sw $a3, ($a1)
/* 339734 E00244E4 8C820010 */ lw $v0, 0x10($a0)
/* 339738 E00244E8 24660018 */ addiu $a2, $v1, 0x18
/* 33973C E00244EC ACA60000 */ sw $a2, ($a1)
/* 339740 E00244F0 8C44001C */ lw $a0, 0x1c($v0)
/* 339744 E00244F4 3C02DE00 */ lui $v0, 0xde00
/* 339748 E00244F8 AC620008 */ sw $v0, 8($v1)
/* 33974C E00244FC 3C020900 */ lui $v0, 0x900
/* 339750 E0024500 24421080 */ addiu $v0, $v0, 0x1080
/* 339754 E0024504 AC62000C */ sw $v0, 0xc($v1)
/* 339758 E0024508 3C028000 */ lui $v0, 0x8000
/* 33975C E002450C 00822021 */ addu $a0, $a0, $v0
/* 339760 E0024510 AC640004 */ sw $a0, 4($v1)
/* 339764 E0024514 8EC80034 */ lw $t0, 0x34($s6)
/* 339768 E0024518 AFA80080 */ sw $t0, 0x80($sp)
/* 33976C E002451C C6C40014 */ lwc1 $f4, 0x14($s6)
/* 339770 E0024520 C6DA0010 */ lwc1 $f26, 0x10($s6)
/* 339774 E0024524 E7A40084 */ swc1 $f4, 0x84($sp)
/* 339778 E0024528 C6C40018 */ lwc1 $f4, 0x18($s6)
/* 33977C E002452C AFA70078 */ sw $a3, 0x78($sp)
/* 339780 E0024530 AFA60074 */ sw $a2, 0x74($sp)
/* 339784 E0024534 E7A40088 */ swc1 $f4, 0x88($sp)
/* 339788 E0024538 8EC80000 */ lw $t0, ($s6)
/* 33978C E002453C AFA80070 */ sw $t0, 0x70($sp)
/* 339790 E0024540 8EC30030 */ lw $v1, 0x30($s6)
/* 339794 E0024544 15000018 */ bnez $t0, .LE00245A8
/* 339798 E0024548 00031040 */ sll $v0, $v1, 1
/* 33979C E002454C 000310C0 */ sll $v0, $v1, 3
/* 3397A0 E0024550 00431021 */ addu $v0, $v0, $v1
/* 3397A4 E0024554 00021080 */ sll $v0, $v0, 2
/* 3397A8 E0024558 00431023 */ subu $v0, $v0, $v1
/* 3397AC E002455C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3397B0 E0024560 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3397B4 E0024564 4482B000 */ mtc1 $v0, $f22
/* 3397B8 E0024568 00000000 */ nop
/* 3397BC E002456C 4680B5A0 */ cvt.s.w $f22, $f22
/* 3397C0 E0024570 00031080 */ sll $v0, $v1, 2
/* 3397C4 E0024574 00431021 */ addu $v0, $v0, $v1
/* 3397C8 E0024578 00021080 */ sll $v0, $v0, 2
/* 3397CC E002457C 00431023 */ subu $v0, $v0, $v1
/* 3397D0 E0024580 000218C0 */ sll $v1, $v0, 3
/* 3397D4 E0024584 00431021 */ addu $v0, $v0, $v1
/* 3397D8 E0024588 000210C0 */ sll $v0, $v0, 3
/* 3397DC E002458C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3397E0 E0024590 00220821 */ addu $at, $at, $v0
/* 3397E4 E0024594 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 3397E8 E0024598 3C014110 */ lui $at, 0x4110
/* 3397EC E002459C 4481C000 */ mtc1 $at, $f24
/* 3397F0 E00245A0 08009176 */ j .LE00245D8
/* 3397F4 E00245A4 46000787 */ neg.s $f30, $f0
.LE00245A8:
/* 3397F8 E00245A8 00431021 */ addu $v0, $v0, $v1
/* 3397FC E00245AC 000210C0 */ sll $v0, $v0, 3
/* 339800 E00245B0 00431021 */ addu $v0, $v0, $v1
/* 339804 E00245B4 4482B000 */ mtc1 $v0, $f22
/* 339808 E00245B8 00000000 */ nop
/* 33980C E00245BC 4680B5A0 */ cvt.s.w $f22, $f22
/* 339810 E00245C0 C7A4007C */ lwc1 $f4, 0x7c($sp)
/* 339814 E00245C4 3C0140C0 */ lui $at, 0x40c0
/* 339818 E00245C8 4481C000 */ mtc1 $at, $f24
/* 33981C E00245CC 4480F000 */ mtc1 $zero, $f30
/* 339820 E00245D0 4604D682 */ mul.s $f26, $f26, $f4
/* 339824 E00245D4 00000000 */ nop
.LE00245D8:
/* 339828 E00245D8 0000B82D */ daddu $s7, $zero, $zero
/* 33982C E00245DC 3C1E8007 */ lui $fp, %hi(gMatrixListPos)
/* 339830 E00245E0 27DE41F0 */ addiu $fp, $fp, %lo(gMatrixListPos)
/* 339834 E00245E4 3C080001 */ lui $t0, 1
/* 339838 E00245E8 35081630 */ ori $t0, $t0, 0x1630
/* 33983C E00245EC 4480E000 */ mtc1 $zero, $f28
/* 339840 E00245F0 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 339844 E00245F4 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 339848 E00245F8 AFA8008C */ sw $t0, 0x8c($sp)
.LE00245FC:
/* 33984C E00245FC 1AE00033 */ blez $s7, .LE00246CC
/* 339850 E0024600 00000000 */ nop
/* 339854 E0024604 8FA80070 */ lw $t0, 0x70($sp)
/* 339858 E0024608 15000013 */ bnez $t0, .LE0024658
/* 33985C E002460C 00000000 */ nop
/* 339860 E0024610 3C01428C */ lui $at, 0x428c
/* 339864 E0024614 44810000 */ mtc1 $at, $f0
/* 339868 E0024618 00000000 */ nop
/* 33986C E002461C 4600B581 */ sub.s $f22, $f22, $f0
/* 339870 E0024620 C6C0001C */ lwc1 $f0, 0x1c($s6)
/* 339874 E0024624 46000000 */ add.s $f0, $f0, $f0
/* 339878 E0024628 4600D681 */ sub.s $f26, $f26, $f0
/* 33987C E002462C C6C00020 */ lwc1 $f0, 0x20($s6)
/* 339880 E0024630 46000000 */ add.s $f0, $f0, $f0
/* 339884 E0024634 C7A40084 */ lwc1 $f4, 0x84($sp)
/* 339888 E0024638 46002101 */ sub.s $f4, $f4, $f0
/* 33988C E002463C E7A40084 */ swc1 $f4, 0x84($sp)
/* 339890 E0024640 C6C00024 */ lwc1 $f0, 0x24($s6)
/* 339894 E0024644 46000000 */ add.s $f0, $f0, $f0
/* 339898 E0024648 C7A40088 */ lwc1 $f4, 0x88($sp)
/* 33989C E002464C 46002101 */ sub.s $f4, $f4, $f0
/* 3398A0 E0024650 080091A4 */ j .LE0024690
/* 3398A4 E0024654 E7A40088 */ swc1 $f4, 0x88($sp)
.LE0024658:
/* 3398A8 E0024658 C6C0001C */ lwc1 $f0, 0x1c($s6)
/* 3398AC E002465C 3C01E002 */ lui $at, %hi(D_E0024D00)
/* 3398B0 E0024660 D4224D00 */ ldc1 $f2, %lo(D_E0024D00)($at)
/* 3398B4 E0024664 46000021 */ cvt.d.s $f0, $f0
/* 3398B8 E0024668 46220002 */ mul.d $f0, $f0, $f2
/* 3398BC E002466C 00000000 */ nop
/* 3398C0 E0024670 46200000 */ add.d $f0, $f0, $f0
/* 3398C4 E0024674 4600D0A1 */ cvt.d.s $f2, $f26
/* 3398C8 E0024678 46201081 */ sub.d $f2, $f2, $f0
/* 3398CC E002467C 3C014248 */ lui $at, 0x4248
/* 3398D0 E0024680 44810000 */ mtc1 $at, $f0
/* 3398D4 E0024684 00000000 */ nop
/* 3398D8 E0024688 4600B581 */ sub.s $f22, $f22, $f0
/* 3398DC E002468C 462016A0 */ cvt.s.d $f26, $f2
.LE0024690:
/* 3398E0 E0024690 3C048080 */ lui $a0, 0x8080
/* 3398E4 E0024694 8EC30034 */ lw $v1, 0x34($s6)
/* 3398E8 E0024698 34848081 */ ori $a0, $a0, 0x8081
/* 3398EC E002469C 00031040 */ sll $v0, $v1, 1
/* 3398F0 E00246A0 00431021 */ addu $v0, $v0, $v1
/* 3398F4 E00246A4 000210C0 */ sll $v0, $v0, 3
/* 3398F8 E00246A8 00431021 */ addu $v0, $v0, $v1
/* 3398FC E00246AC 00021080 */ sll $v0, $v0, 2
/* 339900 E00246B0 00440018 */ mult $v0, $a0
/* 339904 E00246B4 00004010 */ mfhi $t0
/* 339908 E00246B8 01021821 */ addu $v1, $t0, $v0
/* 33990C E00246BC 000319C3 */ sra $v1, $v1, 7
/* 339910 E00246C0 000217C3 */ sra $v0, $v0, 0x1f
/* 339914 E00246C4 00621823 */ subu $v1, $v1, $v0
/* 339918 E00246C8 AFA30080 */ sw $v1, 0x80($sp)
.LE00246CC:
/* 33991C E00246CC C7A4007C */ lwc1 $f4, 0x7c($sp)
/* 339920 E00246D0 4405E000 */ mfc1 $a1, $f28
/* 339924 E00246D4 4406F000 */ mfc1 $a2, $f30
/* 339928 E00246D8 4407E000 */ mfc1 $a3, $f28
/* 33992C E00246DC E7A40010 */ swc1 $f4, 0x10($sp)
/* 339930 E00246E0 C7A40084 */ lwc1 $f4, 0x84($sp)
/* 339934 E00246E4 E7A40018 */ swc1 $f4, 0x18($sp)
/* 339938 E00246E8 C7A40088 */ lwc1 $f4, 0x88($sp)
/* 33993C E00246EC 27A40020 */ addiu $a0, $sp, 0x20
/* 339940 E00246F0 E7BA0014 */ swc1 $f26, 0x14($sp)
/* 339944 E00246F4 0C080180 */ jal shim_guPositionF
/* 339948 E00246F8 E7A4001C */ swc1 $f4, 0x1c($sp)
/* 33994C E00246FC 27A40020 */ addiu $a0, $sp, 0x20
/* 339950 E0024700 97C50000 */ lhu $a1, ($fp)
/* 339954 E0024704 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 339958 E0024708 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 33995C E002470C 8FA8008C */ lw $t0, 0x8c($sp)
/* 339960 E0024710 00052980 */ sll $a1, $a1, 6
/* 339964 E0024714 00A82821 */ addu $a1, $a1, $t0
/* 339968 E0024718 0C080118 */ jal shim_guMtxF2L
/* 33996C E002471C 00452821 */ addu $a1, $v0, $a1
/* 339970 E0024720 8EA20000 */ lw $v0, ($s5)
/* 339974 E0024724 4600B306 */ mov.s $f12, $f22
/* 339978 E0024728 0040202D */ daddu $a0, $v0, $zero
/* 33997C E002472C 24420008 */ addiu $v0, $v0, 8
/* 339980 E0024730 AEA20000 */ sw $v0, ($s5)
/* 339984 E0024734 97C20000 */ lhu $v0, ($fp)
/* 339988 E0024738 3C03DA38 */ lui $v1, 0xda38
/* 33998C E002473C AC830000 */ sw $v1, ($a0)
/* 339990 E0024740 24430001 */ addiu $v1, $v0, 1
/* 339994 E0024744 3042FFFF */ andi $v0, $v0, 0xffff
/* 339998 E0024748 00021180 */ sll $v0, $v0, 6
/* 33999C E002474C A7C30000 */ sh $v1, ($fp)
/* 3399A0 E0024750 8FA8008C */ lw $t0, 0x8c($sp)
/* 3399A4 E0024754 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 3399A8 E0024758 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 3399AC E002475C 00481021 */ addu $v0, $v0, $t0
/* 3399B0 E0024760 00621821 */ addu $v1, $v1, $v0
/* 3399B4 E0024764 0C080140 */ jal shim_sin_deg
/* 3399B8 E0024768 AC830004 */ sw $v1, 4($a0)
/* 3399BC E002476C 46180502 */ mul.s $f20, $f0, $f24
/* 3399C0 E0024770 00000000 */ nop
/* 3399C4 E0024774 0C080144 */ jal shim_cos_deg
/* 3399C8 E0024778 4600B306 */ mov.s $f12, $f22
/* 3399CC E002477C 46180002 */ mul.s $f0, $f0, $f24
/* 3399D0 E0024780 00000000 */ nop
/* 3399D4 E0024784 27A40020 */ addiu $a0, $sp, 0x20
/* 3399D8 E0024788 4407E000 */ mfc1 $a3, $f28
/* 3399DC E002478C 3C0142F0 */ lui $at, 0x42f0
/* 3399E0 E0024790 44812000 */ mtc1 $at, $f4
/* 3399E4 E0024794 44060000 */ mfc1 $a2, $f0
/* 3399E8 E0024798 4405A000 */ mfc1 $a1, $f20
/* 3399EC E002479C 0C080108 */ jal shim_guTranslateF
/* 3399F0 E00247A0 4604B580 */ add.s $f22, $f22, $f4
/* 3399F4 E00247A4 27A40020 */ addiu $a0, $sp, 0x20
/* 3399F8 E00247A8 97C30000 */ lhu $v1, ($fp)
/* 3399FC E00247AC 3C05800A */ lui $a1, %hi(gDisplayContext)
/* 339A00 E00247B0 8CA5A674 */ lw $a1, %lo(gDisplayContext)($a1)
/* 339A04 E00247B4 8FA8008C */ lw $t0, 0x8c($sp)
/* 339A08 E00247B8 3062FFFF */ andi $v0, $v1, 0xffff
/* 339A0C E00247BC 00021180 */ sll $v0, $v0, 6
/* 339A10 E00247C0 00481021 */ addu $v0, $v0, $t0
/* 339A14 E00247C4 00A22821 */ addu $a1, $a1, $v0
/* 339A18 E00247C8 24630001 */ addiu $v1, $v1, 1
/* 339A1C E00247CC A7C30000 */ sh $v1, ($fp)
/* 339A20 E00247D0 0C080118 */ jal shim_guMtxF2L
/* 339A24 E00247D4 AFA50060 */ sw $a1, 0x60($sp)
/* 339A28 E00247D8 0C080140 */ jal shim_sin_deg
/* 339A2C E00247DC 4600B306 */ mov.s $f12, $f22
/* 339A30 E00247E0 46180502 */ mul.s $f20, $f0, $f24
/* 339A34 E00247E4 00000000 */ nop
/* 339A38 E00247E8 0C080144 */ jal shim_cos_deg
/* 339A3C E00247EC 4600B306 */ mov.s $f12, $f22
/* 339A40 E00247F0 46180002 */ mul.s $f0, $f0, $f24
/* 339A44 E00247F4 00000000 */ nop
/* 339A48 E00247F8 27A40020 */ addiu $a0, $sp, 0x20
/* 339A4C E00247FC 4407E000 */ mfc1 $a3, $f28
/* 339A50 E0024800 3C0142F0 */ lui $at, 0x42f0
/* 339A54 E0024804 44812000 */ mtc1 $at, $f4
/* 339A58 E0024808 44060000 */ mfc1 $a2, $f0
/* 339A5C E002480C 4405A000 */ mfc1 $a1, $f20
/* 339A60 E0024810 0C080108 */ jal shim_guTranslateF
/* 339A64 E0024814 4604B580 */ add.s $f22, $f22, $f4
/* 339A68 E0024818 27A40020 */ addiu $a0, $sp, 0x20
/* 339A6C E002481C 97C30000 */ lhu $v1, ($fp)
/* 339A70 E0024820 3C05800A */ lui $a1, %hi(gDisplayContext)
/* 339A74 E0024824 8CA5A674 */ lw $a1, %lo(gDisplayContext)($a1)
/* 339A78 E0024828 8FA8008C */ lw $t0, 0x8c($sp)
/* 339A7C E002482C 3062FFFF */ andi $v0, $v1, 0xffff
/* 339A80 E0024830 00021180 */ sll $v0, $v0, 6
/* 339A84 E0024834 00481021 */ addu $v0, $v0, $t0
/* 339A88 E0024838 00A22821 */ addu $a1, $a1, $v0
/* 339A8C E002483C 24630001 */ addiu $v1, $v1, 1
/* 339A90 E0024840 A7C30000 */ sh $v1, ($fp)
/* 339A94 E0024844 0C080118 */ jal shim_guMtxF2L
/* 339A98 E0024848 AFA50064 */ sw $a1, 0x64($sp)
/* 339A9C E002484C 0C080140 */ jal shim_sin_deg
/* 339AA0 E0024850 4600B306 */ mov.s $f12, $f22
/* 339AA4 E0024854 46180502 */ mul.s $f20, $f0, $f24
/* 339AA8 E0024858 00000000 */ nop
/* 339AAC E002485C 0C080144 */ jal shim_cos_deg
/* 339AB0 E0024860 4600B306 */ mov.s $f12, $f22
/* 339AB4 E0024864 46180002 */ mul.s $f0, $f0, $f24
/* 339AB8 E0024868 00000000 */ nop
/* 339ABC E002486C 0000A02D */ daddu $s4, $zero, $zero
/* 339AC0 E0024870 3C13E002 */ lui $s3, %hi(D_E0024CC0)
/* 339AC4 E0024874 26734CC0 */ addiu $s3, $s3, %lo(D_E0024CC0)
/* 339AC8 E0024878 4407E000 */ mfc1 $a3, $f28
/* 339ACC E002487C 44060000 */ mfc1 $a2, $f0
/* 339AD0 E0024880 4405A000 */ mfc1 $a1, $f20
/* 339AD4 E0024884 0C080108 */ jal shim_guTranslateF
/* 339AD8 E0024888 27A40020 */ addiu $a0, $sp, 0x20
/* 339ADC E002488C 27A40020 */ addiu $a0, $sp, 0x20
/* 339AE0 E0024890 97C30000 */ lhu $v1, ($fp)
/* 339AE4 E0024894 3C05800A */ lui $a1, %hi(gDisplayContext)
/* 339AE8 E0024898 8CA5A674 */ lw $a1, %lo(gDisplayContext)($a1)
/* 339AEC E002489C 8FA8008C */ lw $t0, 0x8c($sp)
/* 339AF0 E00248A0 3062FFFF */ andi $v0, $v1, 0xffff
/* 339AF4 E00248A4 00021180 */ sll $v0, $v0, 6
/* 339AF8 E00248A8 00481021 */ addu $v0, $v0, $t0
/* 339AFC E00248AC 00A22821 */ addu $a1, $a1, $v0
/* 339B00 E00248B0 24630001 */ addiu $v1, $v1, 1
/* 339B04 E00248B4 A7C30000 */ sh $v1, ($fp)
/* 339B08 E00248B8 0C080118 */ jal shim_guMtxF2L
/* 339B0C E00248BC AFA50068 */ sw $a1, 0x68($sp)
.LE00248C0:
/* 339B10 E00248C0 8EB20000 */ lw $s2, ($s5)
/* 339B14 E00248C4 3C02DA38 */ lui $v0, 0xda38
/* 339B18 E00248C8 0240202D */ daddu $a0, $s2, $zero
/* 339B1C E00248CC 26520008 */ addiu $s2, $s2, 8
/* 339B20 E00248D0 AEB20000 */ sw $s2, ($s5)
/* 339B24 E00248D4 AC820000 */ sw $v0, ($a0)
/* 339B28 E00248D8 00141080 */ sll $v0, $s4, 2
/* 339B2C E00248DC 03A21021 */ addu $v0, $sp, $v0
/* 339B30 E00248E0 8C430060 */ lw $v1, 0x60($v0)
/* 339B34 E00248E4 26420008 */ addiu $v0, $s2, 8
/* 339B38 E00248E8 AEA20000 */ sw $v0, ($s5)
/* 339B3C E00248EC 3C02FA00 */ lui $v0, 0xfa00
/* 339B40 E00248F0 AC830004 */ sw $v1, 4($a0)
/* 339B44 E00248F4 AE420000 */ sw $v0, ($s2)
/* 339B48 E00248F8 92640001 */ lbu $a0, 1($s3)
/* 339B4C E00248FC 0C0090EF */ jal func_E00243BC
/* 339B50 E0024900 92650000 */ lbu $a1, ($s3)
/* 339B54 E0024904 92640002 */ lbu $a0, 2($s3)
/* 339B58 E0024908 92650000 */ lbu $a1, ($s3)
/* 339B5C E002490C 0C0090EF */ jal func_E00243BC
/* 339B60 E0024910 0040882D */ daddu $s1, $v0, $zero
/* 339B64 E0024914 92640003 */ lbu $a0, 3($s3)
/* 339B68 E0024918 92650000 */ lbu $a1, ($s3)
/* 339B6C E002491C 0C0090EF */ jal func_E00243BC
/* 339B70 E0024920 0040802D */ daddu $s0, $v0, $zero
/* 339B74 E0024924 00118E00 */ sll $s1, $s1, 0x18
/* 339B78 E0024928 321000FF */ andi $s0, $s0, 0xff
/* 339B7C E002492C 00108400 */ sll $s0, $s0, 0x10
/* 339B80 E0024930 02308825 */ or $s1, $s1, $s0
/* 339B84 E0024934 304200FF */ andi $v0, $v0, 0xff
/* 339B88 E0024938 00021200 */ sll $v0, $v0, 8
/* 339B8C E002493C 02228825 */ or $s1, $s1, $v0
/* 339B90 E0024940 8FA80080 */ lw $t0, 0x80($sp)
/* 339B94 E0024944 8EA30000 */ lw $v1, ($s5)
/* 339B98 E0024948 310200FF */ andi $v0, $t0, 0xff
/* 339B9C E002494C 02228825 */ or $s1, $s1, $v0
/* 339BA0 E0024950 AE510004 */ sw $s1, 4($s2)
/* 339BA4 E0024954 0060902D */ daddu $s2, $v1, $zero
/* 339BA8 E0024958 24630008 */ addiu $v1, $v1, 8
/* 339BAC E002495C 3C02FB00 */ lui $v0, 0xfb00
/* 339BB0 E0024960 AEA30000 */ sw $v1, ($s5)
/* 339BB4 E0024964 AE420000 */ sw $v0, ($s2)
/* 339BB8 E0024968 92640001 */ lbu $a0, 1($s3)
/* 339BBC E002496C 0C0090C9 */ jal func_E0024324
/* 339BC0 E0024970 92650000 */ lbu $a1, ($s3)
/* 339BC4 E0024974 92640002 */ lbu $a0, 2($s3)
/* 339BC8 E0024978 92650000 */ lbu $a1, ($s3)
/* 339BCC E002497C 0C0090C9 */ jal func_E0024324
/* 339BD0 E0024980 0040882D */ daddu $s1, $v0, $zero
/* 339BD4 E0024984 92640003 */ lbu $a0, 3($s3)
/* 339BD8 E0024988 92650000 */ lbu $a1, ($s3)
/* 339BDC E002498C 0C0090C9 */ jal func_E0024324
/* 339BE0 E0024990 0040802D */ daddu $s0, $v0, $zero
/* 339BE4 E0024994 00118E00 */ sll $s1, $s1, 0x18
/* 339BE8 E0024998 321000FF */ andi $s0, $s0, 0xff
/* 339BEC E002499C 00108400 */ sll $s0, $s0, 0x10
/* 339BF0 E00249A0 02308825 */ or $s1, $s1, $s0
/* 339BF4 E00249A4 304200FF */ andi $v0, $v0, 0xff
/* 339BF8 E00249A8 00021200 */ sll $v0, $v0, 8
/* 339BFC E00249AC 02228825 */ or $s1, $s1, $v0
/* 339C00 E00249B0 363100FF */ ori $s1, $s1, 0xff
/* 339C04 E00249B4 8EA40000 */ lw $a0, ($s5)
/* 339C08 E00249B8 3C02DE00 */ lui $v0, 0xde00
/* 339C0C E00249BC AE510004 */ sw $s1, 4($s2)
/* 339C10 E00249C0 0080182D */ daddu $v1, $a0, $zero
/* 339C14 E00249C4 24840008 */ addiu $a0, $a0, 8
/* 339C18 E00249C8 AEA40000 */ sw $a0, ($s5)
/* 339C1C E00249CC AC620000 */ sw $v0, ($v1)
/* 339C20 E00249D0 8FA80070 */ lw $t0, 0x70($sp)
/* 339C24 E00249D4 15000004 */ bnez $t0, .LE00249E8
/* 339C28 E00249D8 24630004 */ addiu $v1, $v1, 4
/* 339C2C E00249DC 8E640004 */ lw $a0, 4($s3)
/* 339C30 E00249E0 0800927C */ j .LE00249F0
/* 339C34 E00249E4 3C05D838 */ lui $a1, 0xd838
.LE00249E8:
/* 339C38 E00249E8 8E640008 */ lw $a0, 8($s3)
/* 339C3C E00249EC 3C05D838 */ lui $a1, 0xd838
.LE00249F0:
/* 339C40 E00249F0 34A50002 */ ori $a1, $a1, 2
/* 339C44 E00249F4 2673000C */ addiu $s3, $s3, 0xc
/* 339C48 E00249F8 8EA20000 */ lw $v0, ($s5)
/* 339C4C E00249FC 26940001 */ addiu $s4, $s4, 1
/* 339C50 E0024A00 AC640000 */ sw $a0, ($v1)
/* 339C54 E0024A04 24040040 */ addiu $a0, $zero, 0x40
/* 339C58 E0024A08 0040182D */ daddu $v1, $v0, $zero
/* 339C5C E0024A0C 24420008 */ addiu $v0, $v0, 8
/* 339C60 E0024A10 AEA20000 */ sw $v0, ($s5)
/* 339C64 E0024A14 2A820003 */ slti $v0, $s4, 3
/* 339C68 E0024A18 AC650000 */ sw $a1, ($v1)
/* 339C6C E0024A1C 1440FFA8 */ bnez $v0, .LE00248C0
/* 339C70 E0024A20 AC640004 */ sw $a0, 4($v1)
/* 339C74 E0024A24 8EA20000 */ lw $v0, ($s5)
/* 339C78 E0024A28 26F70001 */ addiu $s7, $s7, 1
/* 339C7C E0024A2C 0040182D */ daddu $v1, $v0, $zero
/* 339C80 E0024A30 24420008 */ addiu $v0, $v0, 8
/* 339C84 E0024A34 AEA20000 */ sw $v0, ($s5)
/* 339C88 E0024A38 2AE20003 */ slti $v0, $s7, 3
/* 339C8C E0024A3C AC650000 */ sw $a1, ($v1)
/* 339C90 E0024A40 1440FEEE */ bnez $v0, .LE00245FC
/* 339C94 E0024A44 AC640004 */ sw $a0, 4($v1)
/* 339C98 E0024A48 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 339C9C E0024A4C 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 339CA0 E0024A50 8C430000 */ lw $v1, ($v0)
/* 339CA4 E0024A54 0060202D */ daddu $a0, $v1, $zero
/* 339CA8 E0024A58 24630008 */ addiu $v1, $v1, 8
/* 339CAC E0024A5C AC430000 */ sw $v1, ($v0)
/* 339CB0 E0024A60 3C02DF00 */ lui $v0, 0xdf00
/* 339CB4 E0024A64 AC820000 */ sw $v0, ($a0)
/* 339CB8 E0024A68 AC800004 */ sw $zero, 4($a0)
/* 339CBC E0024A6C 8FA80078 */ lw $t0, 0x78($sp)
/* 339CC0 E0024A70 3C02DE01 */ lui $v0, 0xde01
/* 339CC4 E0024A74 AD020000 */ sw $v0, ($t0)
/* 339CC8 E0024A78 AD030004 */ sw $v1, 4($t0)
/* 339CCC E0024A7C 8FA80070 */ lw $t0, 0x70($sp)
/* 339CD0 E0024A80 15000004 */ bnez $t0, .LE0024A94
/* 339CD4 E0024A84 00000000 */ nop
/* 339CD8 E0024A88 4480F000 */ mtc1 $zero, $f30
/* 339CDC E0024A8C 080092B2 */ j .LE0024AC8
/* 339CE0 E0024A90 00000000 */ nop
.LE0024A94:
/* 339CE4 E0024A94 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 339CE8 E0024A98 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 339CEC E0024A9C 00031080 */ sll $v0, $v1, 2
/* 339CF0 E0024AA0 00431021 */ addu $v0, $v0, $v1
/* 339CF4 E0024AA4 00021080 */ sll $v0, $v0, 2
/* 339CF8 E0024AA8 00431023 */ subu $v0, $v0, $v1
/* 339CFC E0024AAC 000218C0 */ sll $v1, $v0, 3
/* 339D00 E0024AB0 00431021 */ addu $v0, $v0, $v1
/* 339D04 E0024AB4 000210C0 */ sll $v0, $v0, 3
/* 339D08 E0024AB8 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 339D0C E0024ABC 00220821 */ addu $at, $at, $v0
/* 339D10 E0024AC0 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 339D14 E0024AC4 46000787 */ neg.s $f30, $f0
.LE0024AC8:
/* 339D18 E0024AC8 4480A000 */ mtc1 $zero, $f20
/* 339D1C E0024ACC 3C013F80 */ lui $at, 0x3f80
/* 339D20 E0024AD0 4481B000 */ mtc1 $at, $f22
/* 339D24 E0024AD4 4406F000 */ mfc1 $a2, $f30
/* 339D28 E0024AD8 4405A000 */ mfc1 $a1, $f20
/* 339D2C E0024ADC 4407A000 */ mfc1 $a3, $f20
/* 339D30 E0024AE0 E7B60010 */ swc1 $f22, 0x10($sp)
/* 339D34 E0024AE4 C6C00004 */ lwc1 $f0, 4($s6)
/* 339D38 E0024AE8 27A40020 */ addiu $a0, $sp, 0x20
/* 339D3C E0024AEC E7A00014 */ swc1 $f0, 0x14($sp)
/* 339D40 E0024AF0 C6C00008 */ lwc1 $f0, 8($s6)
/* 339D44 E0024AF4 3C100001 */ lui $s0, 1
/* 339D48 E0024AF8 E7A00018 */ swc1 $f0, 0x18($sp)
/* 339D4C E0024AFC C6C0000C */ lwc1 $f0, 0xc($s6)
/* 339D50 E0024B00 36101630 */ ori $s0, $s0, 0x1630
/* 339D54 E0024B04 0C080180 */ jal shim_guPositionF
/* 339D58 E0024B08 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 339D5C E0024B0C 27A40020 */ addiu $a0, $sp, 0x20
/* 339D60 E0024B10 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 339D64 E0024B14 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 339D68 E0024B18 3C13800A */ lui $s3, %hi(gDisplayContext)
/* 339D6C E0024B1C 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext)
/* 339D70 E0024B20 96250000 */ lhu $a1, ($s1)
/* 339D74 E0024B24 8E620000 */ lw $v0, ($s3)
/* 339D78 E0024B28 00052980 */ sll $a1, $a1, 6
/* 339D7C E0024B2C 00B02821 */ addu $a1, $a1, $s0
/* 339D80 E0024B30 0C080118 */ jal shim_guMtxF2L
/* 339D84 E0024B34 00452821 */ addu $a1, $v0, $a1
/* 339D88 E0024B38 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 339D8C E0024B3C 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 339D90 E0024B40 8E450000 */ lw $a1, ($s2)
/* 339D94 E0024B44 00A0202D */ daddu $a0, $a1, $zero
/* 339D98 E0024B48 24A50008 */ addiu $a1, $a1, 8
/* 339D9C E0024B4C AE450000 */ sw $a1, ($s2)
/* 339DA0 E0024B50 96220000 */ lhu $v0, ($s1)
/* 339DA4 E0024B54 3C03DA38 */ lui $v1, 0xda38
/* 339DA8 E0024B58 AC830000 */ sw $v1, ($a0)
/* 339DAC E0024B5C 24430001 */ addiu $v1, $v0, 1
/* 339DB0 E0024B60 3042FFFF */ andi $v0, $v0, 0xffff
/* 339DB4 E0024B64 00021180 */ sll $v0, $v0, 6
/* 339DB8 E0024B68 A6230000 */ sh $v1, ($s1)
/* 339DBC E0024B6C 8E630000 */ lw $v1, ($s3)
/* 339DC0 E0024B70 00501021 */ addu $v0, $v0, $s0
/* 339DC4 E0024B74 00621821 */ addu $v1, $v1, $v0
/* 339DC8 E0024B78 AC830004 */ sw $v1, 4($a0)
/* 339DCC E0024B7C 8FA80070 */ lw $t0, 0x70($sp)
/* 339DD0 E0024B80 15000008 */ bnez $t0, .LE0024BA4
/* 339DD4 E0024B84 27A40020 */ addiu $a0, $sp, 0x20
/* 339DD8 E0024B88 24A20008 */ addiu $v0, $a1, 8
/* 339DDC E0024B8C AE420000 */ sw $v0, ($s2)
/* 339DE0 E0024B90 3C02DE00 */ lui $v0, 0xde00
/* 339DE4 E0024B94 ACA20000 */ sw $v0, ($a1)
/* 339DE8 E0024B98 8FA80074 */ lw $t0, 0x74($sp)
/* 339DEC E0024B9C 0800930C */ j .LE0024C30
/* 339DF0 E0024BA0 ACA80004 */ sw $t0, 4($a1)
.LE0024BA4:
/* 339DF4 E0024BA4 3C0541F0 */ lui $a1, 0x41f0
/* 339DF8 E0024BA8 4406A000 */ mfc1 $a2, $f20
/* 339DFC E0024BAC 0000B82D */ daddu $s7, $zero, $zero
/* 339E00 E0024BB0 E7B60010 */ swc1 $f22, 0x10($sp)
/* 339E04 E0024BB4 0C080104 */ jal shim_guRotateF
/* 339E08 E0024BB8 00C0382D */ daddu $a3, $a2, $zero
/* 339E0C E0024BBC 27A40020 */ addiu $a0, $sp, 0x20
/* 339E10 E0024BC0 96220000 */ lhu $v0, ($s1)
/* 339E14 E0024BC4 8E650000 */ lw $a1, ($s3)
/* 339E18 E0024BC8 3043FFFF */ andi $v1, $v0, 0xffff
/* 339E1C E0024BCC 00031980 */ sll $v1, $v1, 6
/* 339E20 E0024BD0 00701821 */ addu $v1, $v1, $s0
/* 339E24 E0024BD4 00A38021 */ addu $s0, $a1, $v1
/* 339E28 E0024BD8 0200282D */ daddu $a1, $s0, $zero
/* 339E2C E0024BDC 24420001 */ addiu $v0, $v0, 1
/* 339E30 E0024BE0 0C080118 */ jal shim_guMtxF2L
/* 339E34 E0024BE4 A6220000 */ sh $v0, ($s1)
/* 339E38 E0024BE8 0240202D */ daddu $a0, $s2, $zero
/* 339E3C E0024BEC 3C05DA38 */ lui $a1, 0xda38
/* 339E40 E0024BF0 34A50001 */ ori $a1, $a1, 1
/* 339E44 E0024BF4 3C06DE00 */ lui $a2, 0xde00
.LE0024BF8:
/* 339E48 E0024BF8 8C830000 */ lw $v1, ($a0)
/* 339E4C E0024BFC 26F70001 */ addiu $s7, $s7, 1
/* 339E50 E0024C00 0060102D */ daddu $v0, $v1, $zero
/* 339E54 E0024C04 24630008 */ addiu $v1, $v1, 8
/* 339E58 E0024C08 AC830000 */ sw $v1, ($a0)
/* 339E5C E0024C0C AC450000 */ sw $a1, ($v0)
/* 339E60 E0024C10 AC500004 */ sw $s0, 4($v0)
/* 339E64 E0024C14 24620008 */ addiu $v0, $v1, 8
/* 339E68 E0024C18 AC820000 */ sw $v0, ($a0)
/* 339E6C E0024C1C AC660000 */ sw $a2, ($v1)
/* 339E70 E0024C20 8FA80074 */ lw $t0, 0x74($sp)
/* 339E74 E0024C24 2AE2000C */ slti $v0, $s7, 0xc
/* 339E78 E0024C28 1440FFF3 */ bnez $v0, .LE0024BF8
/* 339E7C E0024C2C AC680004 */ sw $t0, 4($v1)
.LE0024C30:
/* 339E80 E0024C30 3C03D838 */ lui $v1, 0xd838
/* 339E84 E0024C34 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 339E88 E0024C38 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 339E8C E0024C3C 8C820000 */ lw $v0, ($a0)
/* 339E90 E0024C40 34630002 */ ori $v1, $v1, 2
/* 339E94 E0024C44 0040282D */ daddu $a1, $v0, $zero
/* 339E98 E0024C48 24420008 */ addiu $v0, $v0, 8
/* 339E9C E0024C4C AC820000 */ sw $v0, ($a0)
/* 339EA0 E0024C50 ACA30000 */ sw $v1, ($a1)
/* 339EA4 E0024C54 24030040 */ addiu $v1, $zero, 0x40
/* 339EA8 E0024C58 ACA30004 */ sw $v1, 4($a1)
/* 339EAC E0024C5C 24430008 */ addiu $v1, $v0, 8
/* 339EB0 E0024C60 AC830000 */ sw $v1, ($a0)
/* 339EB4 E0024C64 3C03E700 */ lui $v1, 0xe700
/* 339EB8 E0024C68 AC430000 */ sw $v1, ($v0)
/* 339EBC E0024C6C AC400004 */ sw $zero, 4($v0)
/* 339EC0 E0024C70 8FBF00B4 */ lw $ra, 0xb4($sp)
/* 339EC4 E0024C74 8FBE00B0 */ lw $fp, 0xb0($sp)
/* 339EC8 E0024C78 8FB700AC */ lw $s7, 0xac($sp)
/* 339ECC E0024C7C 8FB600A8 */ lw $s6, 0xa8($sp)
/* 339ED0 E0024C80 8FB500A4 */ lw $s5, 0xa4($sp)
/* 339ED4 E0024C84 8FB400A0 */ lw $s4, 0xa0($sp)
/* 339ED8 E0024C88 8FB3009C */ lw $s3, 0x9c($sp)
/* 339EDC E0024C8C 8FB20098 */ lw $s2, 0x98($sp)
/* 339EE0 E0024C90 8FB10094 */ lw $s1, 0x94($sp)
/* 339EE4 E0024C94 8FB00090 */ lw $s0, 0x90($sp)
/* 339EE8 E0024C98 D7BE00E0 */ ldc1 $f30, 0xe0($sp)
/* 339EEC E0024C9C D7BC00D8 */ ldc1 $f28, 0xd8($sp)
/* 339EF0 E0024CA0 D7BA00D0 */ ldc1 $f26, 0xd0($sp)
/* 339EF4 E0024CA4 D7B800C8 */ ldc1 $f24, 0xc8($sp)
/* 339EF8 E0024CA8 D7B600C0 */ ldc1 $f22, 0xc0($sp)
/* 339EFC E0024CAC D7B400B8 */ ldc1 $f20, 0xb8($sp)
/* 339F00 E0024CB0 03E00008 */ jr $ra
/* 339F04 E0024CB4 27BD00E8 */ addiu $sp, $sp, 0xe8
/* 339F08 E0024CB8 00000000 */ nop
/* 339F0C E0024CBC 00000000 */ nop

View File

@ -1,338 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel shattering_stones_appendGfx
/* 340294 E002C414 27BDFEA0 */ addiu $sp, $sp, -0x160
/* 340298 E002C418 3C02DB06 */ lui $v0, 0xdb06
/* 34029C E002C41C 34420024 */ ori $v0, $v0, 0x24
/* 3402A0 E002C420 AFB40138 */ sw $s4, 0x138($sp)
/* 3402A4 E002C424 3C14800A */ lui $s4, %hi(gMasterGfxPos)
/* 3402A8 E002C428 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos)
/* 3402AC E002C42C AFA40160 */ sw $a0, 0x160($sp)
/* 3402B0 E002C430 8FA80160 */ lw $t0, 0x160($sp)
/* 3402B4 E002C434 3C038000 */ lui $v1, 0x8000
/* 3402B8 E002C438 AFBF014C */ sw $ra, 0x14c($sp)
/* 3402BC E002C43C AFBE0148 */ sw $fp, 0x148($sp)
/* 3402C0 E002C440 AFB70144 */ sw $s7, 0x144($sp)
/* 3402C4 E002C444 AFB60140 */ sw $s6, 0x140($sp)
/* 3402C8 E002C448 AFB5013C */ sw $s5, 0x13c($sp)
/* 3402CC E002C44C AFB30134 */ sw $s3, 0x134($sp)
/* 3402D0 E002C450 AFB20130 */ sw $s2, 0x130($sp)
/* 3402D4 E002C454 AFB1012C */ sw $s1, 0x12c($sp)
/* 3402D8 E002C458 AFB00128 */ sw $s0, 0x128($sp)
/* 3402DC E002C45C F7B60158 */ sdc1 $f22, 0x158($sp)
/* 3402E0 E002C460 F7B40150 */ sdc1 $f20, 0x150($sp)
/* 3402E4 E002C464 8E840000 */ lw $a0, ($s4)
/* 3402E8 E002C468 8D13000C */ lw $s3, 0xc($t0)
/* 3402EC E002C46C 0080282D */ daddu $a1, $a0, $zero
/* 3402F0 E002C470 ACA20000 */ sw $v0, ($a1)
/* 3402F4 E002C474 8D020010 */ lw $v0, 0x10($t0)
/* 3402F8 E002C478 24840008 */ addiu $a0, $a0, 8
/* 3402FC E002C47C AE840000 */ sw $a0, ($s4)
/* 340300 E002C480 8C42001C */ lw $v0, 0x1c($v0)
/* 340304 E002C484 3C15DE00 */ lui $s5, 0xde00
/* 340308 E002C488 00431021 */ addu $v0, $v0, $v1
/* 34030C E002C48C ACA20004 */ sw $v0, 4($a1)
/* 340310 E002C490 3C020900 */ lui $v0, 0x900
/* 340314 E002C494 24420C00 */ addiu $v0, $v0, 0xc00
/* 340318 E002C498 AC950000 */ sw $s5, ($a0)
/* 34031C E002C49C AC820004 */ sw $v0, 4($a0)
/* 340320 E002C4A0 8E620024 */ lw $v0, 0x24($s3)
/* 340324 E002C4A4 24840008 */ addiu $a0, $a0, 8
/* 340328 E002C4A8 1440007E */ bnez $v0, .LE002C6A4
/* 34032C E002C4AC AE840000 */ sw $a0, ($s4)
/* 340330 E002C4B0 27A40020 */ addiu $a0, $sp, 0x20
/* 340334 E002C4B4 8E650000 */ lw $a1, ($s3)
/* 340338 E002C4B8 8E660004 */ lw $a2, 4($s3)
/* 34033C E002C4BC 8E670008 */ lw $a3, 8($s3)
/* 340340 E002C4C0 0C080108 */ jal shim_guTranslateF
/* 340344 E002C4C4 3C120001 */ lui $s2, 1
/* 340348 E002C4C8 36521630 */ ori $s2, $s2, 0x1630
/* 34034C E002C4CC 3C013FC0 */ lui $at, 0x3fc0
/* 340350 E002C4D0 44810000 */ mtc1 $at, $f0
/* 340354 E002C4D4 27B10060 */ addiu $s1, $sp, 0x60
/* 340358 E002C4D8 44050000 */ mfc1 $a1, $f0
/* 34035C E002C4DC 0220202D */ daddu $a0, $s1, $zero
/* 340360 E002C4E0 00A0302D */ daddu $a2, $a1, $zero
/* 340364 E002C4E4 0C080110 */ jal shim_guScaleF
/* 340368 E002C4E8 00A0382D */ daddu $a3, $a1, $zero
/* 34036C E002C4EC 0220202D */ daddu $a0, $s1, $zero
/* 340370 E002C4F0 27A50020 */ addiu $a1, $sp, 0x20
/* 340374 E002C4F4 27B000A0 */ addiu $s0, $sp, 0xa0
/* 340378 E002C4F8 0C080114 */ jal shim_guMtxCatF
/* 34037C E002C4FC 0200302D */ daddu $a2, $s0, $zero
/* 340380 E002C500 4480A000 */ mtc1 $zero, $f20
/* 340384 E002C504 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 340388 E002C508 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 34038C E002C50C 3C013F80 */ lui $at, 0x3f80
/* 340390 E002C510 4481B000 */ mtc1 $at, $f22
/* 340394 E002C514 00031080 */ sll $v0, $v1, 2
/* 340398 E002C518 00431021 */ addu $v0, $v0, $v1
/* 34039C E002C51C 00021080 */ sll $v0, $v0, 2
/* 3403A0 E002C520 00431023 */ subu $v0, $v0, $v1
/* 3403A4 E002C524 000218C0 */ sll $v1, $v0, 3
/* 3403A8 E002C528 00431021 */ addu $v0, $v0, $v1
/* 3403AC E002C52C 000210C0 */ sll $v0, $v0, 3
/* 3403B0 E002C530 4406A000 */ mfc1 $a2, $f20
/* 3403B4 E002C534 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3403B8 E002C538 00220821 */ addu $at, $at, $v0
/* 3403BC E002C53C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 3403C0 E002C540 4407B000 */ mfc1 $a3, $f22
/* 3403C4 E002C544 46000007 */ neg.s $f0, $f0
/* 3403C8 E002C548 44050000 */ mfc1 $a1, $f0
/* 3403CC E002C54C 0220202D */ daddu $a0, $s1, $zero
/* 3403D0 E002C550 0C080104 */ jal shim_guRotateF
/* 3403D4 E002C554 E7B40010 */ swc1 $f20, 0x10($sp)
/* 3403D8 E002C558 0220202D */ daddu $a0, $s1, $zero
/* 3403DC E002C55C 0200282D */ daddu $a1, $s0, $zero
/* 3403E0 E002C560 0C080114 */ jal shim_guMtxCatF
/* 3403E4 E002C564 0200302D */ daddu $a2, $s0, $zero
/* 3403E8 E002C568 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3403EC E002C56C 8E650034 */ lw $a1, 0x34($s3)
/* 3403F0 E002C570 4406A000 */ mfc1 $a2, $f20
/* 3403F4 E002C574 4407A000 */ mfc1 $a3, $f20
/* 3403F8 E002C578 0C080104 */ jal shim_guRotateF
/* 3403FC E002C57C 0220202D */ daddu $a0, $s1, $zero
/* 340400 E002C580 0220202D */ daddu $a0, $s1, $zero
/* 340404 E002C584 0200282D */ daddu $a1, $s0, $zero
/* 340408 E002C588 0C080114 */ jal shim_guMtxCatF
/* 34040C E002C58C 0200302D */ daddu $a2, $s0, $zero
/* 340410 E002C590 E7B40010 */ swc1 $f20, 0x10($sp)
/* 340414 E002C594 8E65002C */ lw $a1, 0x2c($s3)
/* 340418 E002C598 4406B000 */ mfc1 $a2, $f22
/* 34041C E002C59C 4407A000 */ mfc1 $a3, $f20
/* 340420 E002C5A0 0C080104 */ jal shim_guRotateF
/* 340424 E002C5A4 0220202D */ daddu $a0, $s1, $zero
/* 340428 E002C5A8 0220202D */ daddu $a0, $s1, $zero
/* 34042C E002C5AC 0200282D */ daddu $a1, $s0, $zero
/* 340430 E002C5B0 0C080114 */ jal shim_guMtxCatF
/* 340434 E002C5B4 0200302D */ daddu $a2, $s0, $zero
/* 340438 E002C5B8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 34043C E002C5BC 8E650030 */ lw $a1, 0x30($s3)
/* 340440 E002C5C0 4406A000 */ mfc1 $a2, $f20
/* 340444 E002C5C4 4407B000 */ mfc1 $a3, $f22
/* 340448 E002C5C8 0C080104 */ jal shim_guRotateF
/* 34044C E002C5CC 0220202D */ daddu $a0, $s1, $zero
/* 340450 E002C5D0 0220202D */ daddu $a0, $s1, $zero
/* 340454 E002C5D4 0200282D */ daddu $a1, $s0, $zero
/* 340458 E002C5D8 0C080114 */ jal shim_guMtxCatF
/* 34045C E002C5DC 0200302D */ daddu $a2, $s0, $zero
/* 340460 E002C5E0 0200202D */ daddu $a0, $s0, $zero
/* 340464 E002C5E4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 340468 E002C5E8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 34046C E002C5EC 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 340470 E002C5F0 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 340474 E002C5F4 96050000 */ lhu $a1, ($s0)
/* 340478 E002C5F8 8E220000 */ lw $v0, ($s1)
/* 34047C E002C5FC 00052980 */ sll $a1, $a1, 6
/* 340480 E002C600 00B22821 */ addu $a1, $a1, $s2
/* 340484 E002C604 0C080118 */ jal shim_guMtxF2L
/* 340488 E002C608 00452821 */ addu $a1, $v0, $a1
/* 34048C E002C60C 3C06666D */ lui $a2, 0x666d
/* 340490 E002C610 34C67B00 */ ori $a2, $a2, 0x7b00
/* 340494 E002C614 3C07D838 */ lui $a3, 0xd838
/* 340498 E002C618 8E840000 */ lw $a0, ($s4)
/* 34049C E002C61C 34E70002 */ ori $a3, $a3, 2
/* 3404A0 E002C620 0080282D */ daddu $a1, $a0, $zero
/* 3404A4 E002C624 24840008 */ addiu $a0, $a0, 8
/* 3404A8 E002C628 AE840000 */ sw $a0, ($s4)
/* 3404AC E002C62C 96020000 */ lhu $v0, ($s0)
/* 3404B0 E002C630 3C03DA38 */ lui $v1, 0xda38
/* 3404B4 E002C634 ACA30000 */ sw $v1, ($a1)
/* 3404B8 E002C638 24430001 */ addiu $v1, $v0, 1
/* 3404BC E002C63C 3042FFFF */ andi $v0, $v0, 0xffff
/* 3404C0 E002C640 00021180 */ sll $v0, $v0, 6
/* 3404C4 E002C644 A6030000 */ sh $v1, ($s0)
/* 3404C8 E002C648 8E230000 */ lw $v1, ($s1)
/* 3404CC E002C64C 00521021 */ addu $v0, $v0, $s2
/* 3404D0 E002C650 00621821 */ addu $v1, $v1, $v0
/* 3404D4 E002C654 24820008 */ addiu $v0, $a0, 8
/* 3404D8 E002C658 ACA30004 */ sw $v1, 4($a1)
/* 3404DC E002C65C AE820000 */ sw $v0, ($s4)
/* 3404E0 E002C660 3C02FA00 */ lui $v0, 0xfa00
/* 3404E4 E002C664 AC820000 */ sw $v0, ($a0)
/* 3404E8 E002C668 9263002B */ lbu $v1, 0x2b($s3)
/* 3404EC E002C66C 24820010 */ addiu $v0, $a0, 0x10
/* 3404F0 E002C670 AE820000 */ sw $v0, ($s4)
/* 3404F4 E002C674 AC950008 */ sw $s5, 8($a0)
/* 3404F8 E002C678 00661825 */ or $v1, $v1, $a2
/* 3404FC E002C67C AC830004 */ sw $v1, 4($a0)
/* 340500 E002C680 3C03E003 */ lui $v1, %hi(D_E002C940)
/* 340504 E002C684 8C63C940 */ lw $v1, %lo(D_E002C940)($v1)
/* 340508 E002C688 24820018 */ addiu $v0, $a0, 0x18
/* 34050C E002C68C AE820000 */ sw $v0, ($s4)
/* 340510 E002C690 24020040 */ addiu $v0, $zero, 0x40
/* 340514 E002C694 AC870010 */ sw $a3, 0x10($a0)
/* 340518 E002C698 AC820014 */ sw $v0, 0x14($a0)
/* 34051C E002C69C 0800B241 */ j .LE002C904
/* 340520 E002C6A0 AC83000C */ sw $v1, 0xc($a0)
.LE002C6A4:
/* 340524 E002C6A4 8E650000 */ lw $a1, ($s3)
/* 340528 E002C6A8 8E660004 */ lw $a2, 4($s3)
/* 34052C E002C6AC 8E670008 */ lw $a3, 8($s3)
/* 340530 E002C6B0 8E760028 */ lw $s6, 0x28($s3)
/* 340534 E002C6B4 0C080108 */ jal shim_guTranslateF
/* 340538 E002C6B8 27A40020 */ addiu $a0, $sp, 0x20
/* 34053C E002C6BC 3C013FC0 */ lui $at, 0x3fc0
/* 340540 E002C6C0 44810000 */ mtc1 $at, $f0
/* 340544 E002C6C4 27B10060 */ addiu $s1, $sp, 0x60
/* 340548 E002C6C8 44050000 */ mfc1 $a1, $f0
/* 34054C E002C6CC 0220202D */ daddu $a0, $s1, $zero
/* 340550 E002C6D0 00A0302D */ daddu $a2, $a1, $zero
/* 340554 E002C6D4 0C080110 */ jal shim_guScaleF
/* 340558 E002C6D8 00A0382D */ daddu $a3, $a1, $zero
/* 34055C E002C6DC 0220202D */ daddu $a0, $s1, $zero
/* 340560 E002C6E0 27A50020 */ addiu $a1, $sp, 0x20
/* 340564 E002C6E4 27B000A0 */ addiu $s0, $sp, 0xa0
/* 340568 E002C6E8 0C080114 */ jal shim_guMtxCatF
/* 34056C E002C6EC 0200302D */ daddu $a2, $s0, $zero
/* 340570 E002C6F0 4480B000 */ mtc1 $zero, $f22
/* 340574 E002C6F4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 340578 E002C6F8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 34057C E002C6FC 3C013F80 */ lui $at, 0x3f80
/* 340580 E002C700 4481A000 */ mtc1 $at, $f20
/* 340584 E002C704 00031080 */ sll $v0, $v1, 2
/* 340588 E002C708 00431021 */ addu $v0, $v0, $v1
/* 34058C E002C70C 00021080 */ sll $v0, $v0, 2
/* 340590 E002C710 00431023 */ subu $v0, $v0, $v1
/* 340594 E002C714 000218C0 */ sll $v1, $v0, 3
/* 340598 E002C718 00431021 */ addu $v0, $v0, $v1
/* 34059C E002C71C 000210C0 */ sll $v0, $v0, 3
/* 3405A0 E002C720 4406B000 */ mfc1 $a2, $f22
/* 3405A4 E002C724 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3405A8 E002C728 00220821 */ addu $at, $at, $v0
/* 3405AC E002C72C C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 3405B0 E002C730 4407A000 */ mfc1 $a3, $f20
/* 3405B4 E002C734 46000007 */ neg.s $f0, $f0
/* 3405B8 E002C738 44050000 */ mfc1 $a1, $f0
/* 3405BC E002C73C 0220202D */ daddu $a0, $s1, $zero
/* 3405C0 E002C740 0C080104 */ jal shim_guRotateF
/* 3405C4 E002C744 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3405C8 E002C748 0220202D */ daddu $a0, $s1, $zero
/* 3405CC E002C74C 0200282D */ daddu $a1, $s0, $zero
/* 3405D0 E002C750 0C080114 */ jal shim_guMtxCatF
/* 3405D4 E002C754 00A0302D */ daddu $a2, $a1, $zero
/* 3405D8 E002C758 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3405DC E002C75C 8E65002C */ lw $a1, 0x2c($s3)
/* 3405E0 E002C760 4406A000 */ mfc1 $a2, $f20
/* 3405E4 E002C764 4407B000 */ mfc1 $a3, $f22
/* 3405E8 E002C768 0C080104 */ jal shim_guRotateF
/* 3405EC E002C76C 27A400E0 */ addiu $a0, $sp, 0xe0
/* 3405F0 E002C770 8FA80160 */ lw $t0, 0x160($sp)
/* 3405F4 E002C774 24150001 */ addiu $s5, $zero, 1
/* 3405F8 E002C778 8D020008 */ lw $v0, 8($t0)
/* 3405FC E002C77C 02A2102A */ slt $v0, $s5, $v0
/* 340600 E002C780 10400060 */ beqz $v0, .LE002C904
/* 340604 E002C784 26730040 */ addiu $s3, $s3, 0x40
/* 340608 E002C788 0220902D */ daddu $s2, $s1, $zero
/* 34060C E002C78C 4600B506 */ mov.s $f20, $f22
/* 340610 E002C790 3C1E8007 */ lui $fp, %hi(gMatrixListPos)
/* 340614 E002C794 27DE41F0 */ addiu $fp, $fp, %lo(gMatrixListPos)
/* 340618 E002C798 3C170001 */ lui $s7, 1
/* 34061C E002C79C 36F71630 */ ori $s7, $s7, 0x1630
/* 340620 E002C7A0 3C039696 */ lui $v1, 0x9696
/* 340624 E002C7A4 3463C800 */ ori $v1, $v1, 0xc800
/* 340628 E002C7A8 32C200FF */ andi $v0, $s6, 0xff
/* 34062C E002C7AC 00431025 */ or $v0, $v0, $v1
/* 340630 E002C7B0 AFA20120 */ sw $v0, 0x120($sp)
/* 340634 E002C7B4 26710034 */ addiu $s1, $s3, 0x34
/* 340638 E002C7B8 3C16E003 */ lui $s6, %hi(D_E002C944)
/* 34063C E002C7BC 26D6C944 */ addiu $s6, $s6, %lo(D_E002C944)
.LE002C7C0:
/* 340640 E002C7C0 8E650000 */ lw $a1, ($s3)
/* 340644 E002C7C4 8E26FFD0 */ lw $a2, -0x30($s1)
/* 340648 E002C7C8 8E27FFD4 */ lw $a3, -0x2c($s1)
/* 34064C E002C7CC 8ED00000 */ lw $s0, ($s6)
/* 340650 E002C7D0 0C080108 */ jal shim_guTranslateF
/* 340654 E002C7D4 0240202D */ daddu $a0, $s2, $zero
/* 340658 E002C7D8 0240202D */ daddu $a0, $s2, $zero
/* 34065C E002C7DC 27A500A0 */ addiu $a1, $sp, 0xa0
/* 340660 E002C7E0 0C080114 */ jal shim_guMtxCatF
/* 340664 E002C7E4 27A60020 */ addiu $a2, $sp, 0x20
/* 340668 E002C7E8 27A400E0 */ addiu $a0, $sp, 0xe0
/* 34066C E002C7EC 27A50020 */ addiu $a1, $sp, 0x20
/* 340670 E002C7F0 0C080114 */ jal shim_guMtxCatF
/* 340674 E002C7F4 00A0302D */ daddu $a2, $a1, $zero
/* 340678 E002C7F8 4406A000 */ mfc1 $a2, $f20
/* 34067C E002C7FC 3C013F80 */ lui $at, 0x3f80
/* 340680 E002C800 44810000 */ mtc1 $at, $f0
/* 340684 E002C804 26D60004 */ addiu $s6, $s6, 4
/* 340688 E002C808 E7A00010 */ swc1 $f0, 0x10($sp)
/* 34068C E002C80C C620FFE4 */ lwc1 $f0, -0x1c($s1)
/* 340690 E002C810 26B50001 */ addiu $s5, $s5, 1
/* 340694 E002C814 E7A00014 */ swc1 $f0, 0x14($sp)
/* 340698 E002C818 C620FFE8 */ lwc1 $f0, -0x18($s1)
/* 34069C E002C81C 26730040 */ addiu $s3, $s3, 0x40
/* 3406A0 E002C820 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3406A4 E002C824 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3406A8 E002C828 8E25FFF8 */ lw $a1, -8($s1)
/* 3406AC E002C82C 8E270000 */ lw $a3, ($s1)
/* 3406B0 E002C830 0C080180 */ jal shim_guPositionF
/* 3406B4 E002C834 0240202D */ daddu $a0, $s2, $zero
/* 3406B8 E002C838 0240202D */ daddu $a0, $s2, $zero
/* 3406BC E002C83C 27A50020 */ addiu $a1, $sp, 0x20
/* 3406C0 E002C840 0C080114 */ jal shim_guMtxCatF
/* 3406C4 E002C844 00A0302D */ daddu $a2, $a1, $zero
/* 3406C8 E002C848 27A40020 */ addiu $a0, $sp, 0x20
/* 3406CC E002C84C 97C50000 */ lhu $a1, ($fp)
/* 3406D0 E002C850 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3406D4 E002C854 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3406D8 E002C858 00052980 */ sll $a1, $a1, 6
/* 3406DC E002C85C 00B72821 */ addu $a1, $a1, $s7
/* 3406E0 E002C860 0C080118 */ jal shim_guMtxF2L
/* 3406E4 E002C864 00452821 */ addu $a1, $v0, $a1
/* 3406E8 E002C868 3C06D838 */ lui $a2, 0xd838
/* 3406EC E002C86C 8E840000 */ lw $a0, ($s4)
/* 3406F0 E002C870 34C60002 */ ori $a2, $a2, 2
/* 3406F4 E002C874 0080282D */ daddu $a1, $a0, $zero
/* 3406F8 E002C878 24840008 */ addiu $a0, $a0, 8
/* 3406FC E002C87C AE840000 */ sw $a0, ($s4)
/* 340700 E002C880 97C20000 */ lhu $v0, ($fp)
/* 340704 E002C884 3C03DA38 */ lui $v1, 0xda38
/* 340708 E002C888 ACA30000 */ sw $v1, ($a1)
/* 34070C E002C88C 24430001 */ addiu $v1, $v0, 1
/* 340710 E002C890 3042FFFF */ andi $v0, $v0, 0xffff
/* 340714 E002C894 00021180 */ sll $v0, $v0, 6
/* 340718 E002C898 A7C30000 */ sh $v1, ($fp)
/* 34071C E002C89C 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 340720 E002C8A0 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 340724 E002C8A4 00571021 */ addu $v0, $v0, $s7
/* 340728 E002C8A8 00621821 */ addu $v1, $v1, $v0
/* 34072C E002C8AC 24820008 */ addiu $v0, $a0, 8
/* 340730 E002C8B0 ACA30004 */ sw $v1, 4($a1)
/* 340734 E002C8B4 AE820000 */ sw $v0, ($s4)
/* 340738 E002C8B8 3C02FA00 */ lui $v0, 0xfa00
/* 34073C E002C8BC AC820000 */ sw $v0, ($a0)
/* 340740 E002C8C0 8FA80120 */ lw $t0, 0x120($sp)
/* 340744 E002C8C4 24820010 */ addiu $v0, $a0, 0x10
/* 340748 E002C8C8 AC880004 */ sw $t0, 4($a0)
/* 34074C E002C8CC AE820000 */ sw $v0, ($s4)
/* 340750 E002C8D0 3C02DE00 */ lui $v0, 0xde00
/* 340754 E002C8D4 AC820008 */ sw $v0, 8($a0)
/* 340758 E002C8D8 24020040 */ addiu $v0, $zero, 0x40
/* 34075C E002C8DC AC90000C */ sw $s0, 0xc($a0)
/* 340760 E002C8E0 AC860010 */ sw $a2, 0x10($a0)
/* 340764 E002C8E4 AC820014 */ sw $v0, 0x14($a0)
/* 340768 E002C8E8 8FA80160 */ lw $t0, 0x160($sp)
/* 34076C E002C8EC 26310040 */ addiu $s1, $s1, 0x40
/* 340770 E002C8F0 8D020008 */ lw $v0, 8($t0)
/* 340774 E002C8F4 24840018 */ addiu $a0, $a0, 0x18
/* 340778 E002C8F8 02A2102A */ slt $v0, $s5, $v0
/* 34077C E002C8FC 1440FFB0 */ bnez $v0, .LE002C7C0
/* 340780 E002C900 AE840000 */ sw $a0, ($s4)
.LE002C904:
/* 340784 E002C904 8FBF014C */ lw $ra, 0x14c($sp)
/* 340788 E002C908 8FBE0148 */ lw $fp, 0x148($sp)
/* 34078C E002C90C 8FB70144 */ lw $s7, 0x144($sp)
/* 340790 E002C910 8FB60140 */ lw $s6, 0x140($sp)
/* 340794 E002C914 8FB5013C */ lw $s5, 0x13c($sp)
/* 340798 E002C918 8FB40138 */ lw $s4, 0x138($sp)
/* 34079C E002C91C 8FB30134 */ lw $s3, 0x134($sp)
/* 3407A0 E002C920 8FB20130 */ lw $s2, 0x130($sp)
/* 3407A4 E002C924 8FB1012C */ lw $s1, 0x12c($sp)
/* 3407A8 E002C928 8FB00128 */ lw $s0, 0x128($sp)
/* 3407AC E002C92C D7B60158 */ ldc1 $f22, 0x158($sp)
/* 3407B0 E002C930 D7B40150 */ ldc1 $f20, 0x150($sp)
/* 3407B4 E002C934 03E00008 */ jr $ra
/* 3407B8 E002C938 27BD0160 */ addiu $sp, $sp, 0x160
/* 3407BC E002C93C 00000000 */ nop

View File

@ -1,156 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E002C9D0
.double 0.1
.section .text
glabel shattering_stones_main
/* 33FE80 E002C000 27BDFF98 */ addiu $sp, $sp, -0x68
/* 33FE84 E002C004 F7B40050 */ sdc1 $f20, 0x50($sp)
/* 33FE88 E002C008 4485A000 */ mtc1 $a1, $f20
/* 33FE8C E002C00C F7B60058 */ sdc1 $f22, 0x58($sp)
/* 33FE90 E002C010 4486B000 */ mtc1 $a2, $f22
/* 33FE94 E002C014 27A40010 */ addiu $a0, $sp, 0x10
/* 33FE98 E002C018 F7B80060 */ sdc1 $f24, 0x60($sp)
/* 33FE9C E002C01C 4487C000 */ mtc1 $a3, $f24
/* 33FEA0 E002C020 3C02E003 */ lui $v0, %hi(shattering_stones_init)
/* 33FEA4 E002C024 2442C234 */ addiu $v0, $v0, %lo(shattering_stones_init)
/* 33FEA8 E002C028 AFA20018 */ sw $v0, 0x18($sp)
/* 33FEAC E002C02C 3C02E003 */ lui $v0, %hi(shattering_stones_update)
/* 33FEB0 E002C030 2442C23C */ addiu $v0, $v0, %lo(shattering_stones_update)
/* 33FEB4 E002C034 AFA2001C */ sw $v0, 0x1c($sp)
/* 33FEB8 E002C038 3C02E003 */ lui $v0, %hi(shattering_stones_render)
/* 33FEBC E002C03C 2442C3D0 */ addiu $v0, $v0, %lo(shattering_stones_render)
/* 33FEC0 E002C040 AFA20020 */ sw $v0, 0x20($sp)
/* 33FEC4 E002C044 24020016 */ addiu $v0, $zero, 0x16
/* 33FEC8 E002C048 AFBF0048 */ sw $ra, 0x48($sp)
/* 33FECC E002C04C AFB70044 */ sw $s7, 0x44($sp)
/* 33FED0 E002C050 AFB60040 */ sw $s6, 0x40($sp)
/* 33FED4 E002C054 AFB5003C */ sw $s5, 0x3c($sp)
/* 33FED8 E002C058 AFB40038 */ sw $s4, 0x38($sp)
/* 33FEDC E002C05C AFB30034 */ sw $s3, 0x34($sp)
/* 33FEE0 E002C060 AFB20030 */ sw $s2, 0x30($sp)
/* 33FEE4 E002C064 AFB1002C */ sw $s1, 0x2c($sp)
/* 33FEE8 E002C068 AFB00028 */ sw $s0, 0x28($sp)
/* 33FEEC E002C06C AFA00010 */ sw $zero, 0x10($sp)
/* 33FEF0 E002C070 AFA00024 */ sw $zero, 0x24($sp)
/* 33FEF4 E002C074 0C080124 */ jal shim_create_effect_instance
/* 33FEF8 E002C078 AFA20014 */ sw $v0, 0x14($sp)
/* 33FEFC E002C07C 24040240 */ addiu $a0, $zero, 0x240
/* 33FF00 E002C080 24150009 */ addiu $s5, $zero, 9
/* 33FF04 E002C084 0040802D */ daddu $s0, $v0, $zero
/* 33FF08 E002C088 0C08012C */ jal shim_general_heap_malloc
/* 33FF0C E002C08C AE150008 */ sw $s5, 8($s0)
/* 33FF10 E002C090 0040882D */ daddu $s1, $v0, $zero
/* 33FF14 E002C094 16200003 */ bnez $s1, .LE002C0A4
/* 33FF18 E002C098 AE11000C */ sw $s1, 0xc($s0)
.LE002C09C:
/* 33FF1C E002C09C 0800B027 */ j .LE002C09C
/* 33FF20 E002C0A0 00000000 */ nop
.LE002C0A4:
/* 33FF24 E002C0A4 3C01C000 */ lui $at, 0xc000
/* 33FF28 E002C0A8 44811000 */ mtc1 $at, $f2
/* 33FF2C E002C0AC AE200024 */ sw $zero, 0x24($s1)
/* 33FF30 E002C0B0 E6340000 */ swc1 $f20, ($s1)
/* 33FF34 E002C0B4 E6360004 */ swc1 $f22, 4($s1)
/* 33FF38 E002C0B8 C7A00078 */ lwc1 $f0, 0x78($sp)
/* 33FF3C E002C0BC 2404003C */ addiu $a0, $zero, 0x3c
/* 33FF40 E002C0C0 E6380008 */ swc1 $f24, 8($s1)
/* 33FF44 E002C0C4 AE20002C */ sw $zero, 0x2c($s1)
/* 33FF48 E002C0C8 AE200030 */ sw $zero, 0x30($s1)
/* 33FF4C E002C0CC E620000C */ swc1 $f0, 0xc($s1)
/* 33FF50 E002C0D0 0C080138 */ jal shim_rand_int
/* 33FF54 E002C0D4 E6220014 */ swc1 $f2, 0x14($s1)
/* 33FF58 E002C0D8 2404003C */ addiu $a0, $zero, 0x3c
/* 33FF5C E002C0DC 2442FFE2 */ addiu $v0, $v0, -0x1e
/* 33FF60 E002C0E0 44820000 */ mtc1 $v0, $f0
/* 33FF64 E002C0E4 00000000 */ nop
/* 33FF68 E002C0E8 46800020 */ cvt.s.w $f0, $f0
/* 33FF6C E002C0EC 240200FF */ addiu $v0, $zero, 0xff
/* 33FF70 E002C0F0 E6200034 */ swc1 $f0, 0x34($s1)
/* 33FF74 E002C0F4 0C080138 */ jal shim_rand_int
/* 33FF78 E002C0F8 AE220028 */ sw $v0, 0x28($s1)
/* 33FF7C E002C0FC 2442FFE2 */ addiu $v0, $v0, -0x1e
/* 33FF80 E002C100 44822000 */ mtc1 $v0, $f4
/* 33FF84 E002C104 00000000 */ nop
/* 33FF88 E002C108 46802120 */ cvt.s.w $f4, $f4
/* 33FF8C E002C10C 3C013FD0 */ lui $at, 0x3fd0
/* 33FF90 E002C110 44811800 */ mtc1 $at, $f3
/* 33FF94 E002C114 44801000 */ mtc1 $zero, $f2
/* 33FF98 E002C118 46002021 */ cvt.d.s $f0, $f4
/* 33FF9C E002C11C 46220002 */ mul.d $f0, $f0, $f2
/* 33FFA0 E002C120 00000000 */ nop
/* 33FFA4 E002C124 24120001 */ addiu $s2, $zero, 1
/* 33FFA8 E002C128 24020014 */ addiu $v0, $zero, 0x14
/* 33FFAC E002C12C AE220020 */ sw $v0, 0x20($s1)
/* 33FFB0 E002C130 0255102A */ slt $v0, $s2, $s5
/* 33FFB4 E002C134 E6240038 */ swc1 $f4, 0x38($s1)
/* 33FFB8 E002C138 46200020 */ cvt.s.d $f0, $f0
/* 33FFBC E002C13C E620003C */ swc1 $f0, 0x3c($s1)
/* 33FFC0 E002C140 1040002E */ beqz $v0, .LE002C1FC
/* 33FFC4 E002C144 26310040 */ addiu $s1, $s1, 0x40
/* 33FFC8 E002C148 3C17E003 */ lui $s7, %hi(D_E002C984)
/* 33FFCC E002C14C 26F7C984 */ addiu $s7, $s7, %lo(D_E002C984)
/* 33FFD0 E002C150 3C16E003 */ lui $s6, %hi(D_E002C964)
/* 33FFD4 E002C154 26D6C964 */ addiu $s6, $s6, %lo(D_E002C964)
/* 33FFD8 E002C158 26300034 */ addiu $s0, $s1, 0x34
/* 33FFDC E002C15C 0000A02D */ daddu $s4, $zero, $zero
/* 33FFE0 E002C160 0280982D */ daddu $s3, $s4, $zero
/* 33FFE4 E002C164 3C01E003 */ lui $at, %hi(D_E002C9D0)
/* 33FFE8 E002C168 D436C9D0 */ ldc1 $f22, %lo(D_E002C9D0)($at)
/* 33FFEC E002C16C 3C013FF0 */ lui $at, 0x3ff0
/* 33FFF0 E002C170 4481A800 */ mtc1 $at, $f21
/* 33FFF4 E002C174 4480A000 */ mtc1 $zero, $f20
.LE002C178:
/* 33FFF8 E002C178 02771021 */ addu $v0, $s3, $s7
/* 33FFFC E002C17C C4400000 */ lwc1 $f0, ($v0)
/* 340000 E002C180 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 340004 E002C184 C4400004 */ lwc1 $f0, 4($v0)
/* 340008 E002C188 02961021 */ addu $v0, $s4, $s6
/* 34000C E002C18C E600FFE8 */ swc1 $f0, -0x18($s0)
/* 340010 E002C190 AE200000 */ sw $zero, ($s1)
/* 340014 E002C194 AE00FFD0 */ sw $zero, -0x30($s0)
/* 340018 E002C198 AE00FFD4 */ sw $zero, -0x2c($s0)
/* 34001C E002C19C C4400000 */ lwc1 $f0, ($v0)
/* 340020 E002C1A0 46000000 */ add.s $f0, $f0, $f0
/* 340024 E002C1A4 2404000A */ addiu $a0, $zero, 0xa
/* 340028 E002C1A8 0C080138 */ jal shim_rand_int
/* 34002C E002C1AC E600FFDC */ swc1 $f0, -0x24($s0)
/* 340030 E002C1B0 44820000 */ mtc1 $v0, $f0
/* 340034 E002C1B4 00000000 */ nop
/* 340038 E002C1B8 46800020 */ cvt.s.w $f0, $f0
/* 34003C E002C1BC 46000021 */ cvt.d.s $f0, $f0
/* 340040 E002C1C0 46360002 */ mul.d $f0, $f0, $f22
/* 340044 E002C1C4 00000000 */ nop
/* 340048 E002C1C8 26940004 */ addiu $s4, $s4, 4
/* 34004C E002C1CC 26730008 */ addiu $s3, $s3, 8
/* 340050 E002C1D0 26520001 */ addiu $s2, $s2, 1
/* 340054 E002C1D4 46200000 */ add.d $f0, $f0, $f0
/* 340058 E002C1D8 26310040 */ addiu $s1, $s1, 0x40
/* 34005C E002C1DC 0255102A */ slt $v0, $s2, $s5
/* 340060 E002C1E0 46340000 */ add.d $f0, $f0, $f20
/* 340064 E002C1E4 AE00FFF8 */ sw $zero, -8($s0)
/* 340068 E002C1E8 AE000000 */ sw $zero, ($s0)
/* 34006C E002C1EC 46200020 */ cvt.s.d $f0, $f0
/* 340070 E002C1F0 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 340074 E002C1F4 1440FFE0 */ bnez $v0, .LE002C178
/* 340078 E002C1F8 26100040 */ addiu $s0, $s0, 0x40
.LE002C1FC:
/* 34007C E002C1FC 8FBF0048 */ lw $ra, 0x48($sp)
/* 340080 E002C200 8FB70044 */ lw $s7, 0x44($sp)
/* 340084 E002C204 8FB60040 */ lw $s6, 0x40($sp)
/* 340088 E002C208 8FB5003C */ lw $s5, 0x3c($sp)
/* 34008C E002C20C 8FB40038 */ lw $s4, 0x38($sp)
/* 340090 E002C210 8FB30034 */ lw $s3, 0x34($sp)
/* 340094 E002C214 8FB20030 */ lw $s2, 0x30($sp)
/* 340098 E002C218 8FB1002C */ lw $s1, 0x2c($sp)
/* 34009C E002C21C 8FB00028 */ lw $s0, 0x28($sp)
/* 3400A0 E002C220 D7B80060 */ ldc1 $f24, 0x60($sp)
/* 3400A4 E002C224 D7B60058 */ ldc1 $f22, 0x58($sp)
/* 3400A8 E002C228 D7B40050 */ ldc1 $f20, 0x50($sp)
/* 3400AC E002C22C 03E00008 */ jr $ra
/* 3400B0 E002C230 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,126 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E002C9D8
.double -0.1
dlabel D_E002C9E0
.double 0.8
dlabel D_E002C9E8
.double -0.2
dlabel D_E002C9F0
.double 0.9, 0.0
.section .text
glabel shattering_stones_update
/* 3400BC E002C23C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3400C0 E002C240 AFBF0010 */ sw $ra, 0x10($sp)
/* 3400C4 E002C244 8C85000C */ lw $a1, 0xc($a0)
/* 3400C8 E002C248 8CA20024 */ lw $v0, 0x24($a1)
/* 3400CC E002C24C 1440001A */ bnez $v0, .LE002C2B8
/* 3400D0 E002C250 00000000 */ nop
/* 3400D4 E002C254 C4A00014 */ lwc1 $f0, 0x14($a1)
/* 3400D8 E002C258 3C01E003 */ lui $at, %hi(D_E002C9D8)
/* 3400DC E002C25C D422C9D8 */ ldc1 $f2, %lo(D_E002C9D8)($at)
/* 3400E0 E002C260 C4A6002C */ lwc1 $f6, 0x2c($a1)
/* 3400E4 E002C264 46000021 */ cvt.d.s $f0, $f0
/* 3400E8 E002C268 46220000 */ add.d $f0, $f0, $f2
/* 3400EC E002C26C C4A40038 */ lwc1 $f4, 0x38($a1)
/* 3400F0 E002C270 C4A8000C */ lwc1 $f8, 0xc($a1)
/* 3400F4 E002C274 46043180 */ add.s $f6, $f6, $f4
/* 3400F8 E002C278 C4A20004 */ lwc1 $f2, 4($a1)
/* 3400FC E002C27C 46200020 */ cvt.s.d $f0, $f0
/* 340100 E002C280 46001080 */ add.s $f2, $f2, $f0
/* 340104 E002C284 C4A4003C */ lwc1 $f4, 0x3c($a1)
/* 340108 E002C288 E4A20004 */ swc1 $f2, 4($a1)
/* 34010C E002C28C C4A20030 */ lwc1 $f2, 0x30($a1)
/* 340110 E002C290 C4AA0004 */ lwc1 $f10, 4($a1)
/* 340114 E002C294 46041080 */ add.s $f2, $f2, $f4
/* 340118 E002C298 E4A00014 */ swc1 $f0, 0x14($a1)
/* 34011C E002C29C E4A6002C */ swc1 $f6, 0x2c($a1)
/* 340120 E002C2A0 4608503E */ c.le.s $f10, $f8
/* 340124 E002C2A4 00000000 */ nop
/* 340128 E002C2A8 45000003 */ bc1f .LE002C2B8
/* 34012C E002C2AC E4A20030 */ swc1 $f2, 0x30($a1)
/* 340130 E002C2B0 24020001 */ addiu $v0, $zero, 1
/* 340134 E002C2B4 ACA20024 */ sw $v0, 0x24($a1)
.LE002C2B8:
/* 340138 E002C2B8 8CA30024 */ lw $v1, 0x24($a1)
/* 34013C E002C2BC 24020001 */ addiu $v0, $zero, 1
/* 340140 E002C2C0 14620040 */ bne $v1, $v0, .LE002C3C4
/* 340144 E002C2C4 00000000 */ nop
/* 340148 E002C2C8 8CA20020 */ lw $v0, 0x20($a1)
/* 34014C E002C2CC 2442FFFF */ addiu $v0, $v0, -1
/* 340150 E002C2D0 04410005 */ bgez $v0, .LE002C2E8
/* 340154 E002C2D4 ACA20020 */ sw $v0, 0x20($a1)
/* 340158 E002C2D8 0C080128 */ jal shim_remove_effect
/* 34015C E002C2DC 00000000 */ nop
/* 340160 E002C2E0 0800B0F1 */ j .LE002C3C4
/* 340164 E002C2E4 00000000 */ nop
.LE002C2E8:
/* 340168 E002C2E8 2842000A */ slti $v0, $v0, 0xa
/* 34016C E002C2EC 10400009 */ beqz $v0, .LE002C314
/* 340170 E002C2F0 00000000 */ nop
/* 340174 E002C2F4 3C01E003 */ lui $at, %hi(D_E002C9E0)
/* 340178 E002C2F8 D422C9E0 */ ldc1 $f2, %lo(D_E002C9E0)($at)
/* 34017C E002C2FC C4A00028 */ lwc1 $f0, 0x28($a1)
/* 340180 E002C300 46800021 */ cvt.d.w $f0, $f0
/* 340184 E002C304 46220002 */ mul.d $f0, $f0, $f2
/* 340188 E002C308 00000000 */ nop
/* 34018C E002C30C 4620038D */ trunc.w.d $f14, $f0
/* 340190 E002C310 E4AE0028 */ swc1 $f14, 0x28($a1)
.LE002C314:
/* 340194 E002C314 8C820008 */ lw $v0, 8($a0)
/* 340198 E002C318 24060001 */ addiu $a2, $zero, 1
/* 34019C E002C31C 00C2102A */ slt $v0, $a2, $v0
/* 3401A0 E002C320 10400028 */ beqz $v0, .LE002C3C4
/* 3401A4 E002C324 24A50040 */ addiu $a1, $a1, 0x40
/* 3401A8 E002C328 24A30034 */ addiu $v1, $a1, 0x34
/* 3401AC E002C32C 3C01E003 */ lui $at, %hi(D_E002C9E8)
/* 3401B0 E002C330 D428C9E8 */ ldc1 $f8, %lo(D_E002C9E8)($at)
/* 3401B4 E002C334 3C01E003 */ lui $at, %hi(D_E002C9F0)
/* 3401B8 E002C338 D426C9F0 */ ldc1 $f6, %lo(D_E002C9F0)($at)
/* 3401BC E002C33C 3C014120 */ lui $at, 0x4120
/* 3401C0 E002C340 44816000 */ mtc1 $at, $f12
/* 3401C4 E002C344 3C0141A0 */ lui $at, 0x41a0
/* 3401C8 E002C348 44815000 */ mtc1 $at, $f10
.LE002C34C:
/* 3401CC E002C34C C462FFDC */ lwc1 $f2, -0x24($v1)
/* 3401D0 E002C350 460010A1 */ cvt.d.s $f2, $f2
/* 3401D4 E002C354 46261082 */ mul.d $f2, $f2, $f6
/* 3401D8 E002C358 00000000 */ nop
/* 3401DC E002C35C C460FFE0 */ lwc1 $f0, -0x20($v1)
/* 3401E0 E002C360 46000021 */ cvt.d.s $f0, $f0
/* 3401E4 E002C364 46280000 */ add.d $f0, $f0, $f8
/* 3401E8 E002C368 46200020 */ cvt.s.d $f0, $f0
/* 3401EC E002C36C E460FFE0 */ swc1 $f0, -0x20($v1)
/* 3401F0 E002C370 462010A0 */ cvt.s.d $f2, $f2
/* 3401F4 E002C374 E462FFDC */ swc1 $f2, -0x24($v1)
/* 3401F8 E002C378 C4A00000 */ lwc1 $f0, ($a1)
/* 3401FC E002C37C 46020000 */ add.s $f0, $f0, $f2
/* 340200 E002C380 E4A00000 */ swc1 $f0, ($a1)
/* 340204 E002C384 C464FFD0 */ lwc1 $f4, -0x30($v1)
/* 340208 E002C388 C460FFE0 */ lwc1 $f0, -0x20($v1)
/* 34020C E002C38C 46002100 */ add.s $f4, $f4, $f0
/* 340210 E002C390 C462FFF8 */ lwc1 $f2, -8($v1)
/* 340214 E002C394 24C60001 */ addiu $a2, $a2, 1
/* 340218 E002C398 460C1080 */ add.s $f2, $f2, $f12
/* 34021C E002C39C C4600000 */ lwc1 $f0, ($v1)
/* 340220 E002C3A0 24A50040 */ addiu $a1, $a1, 0x40
/* 340224 E002C3A4 460A0000 */ add.s $f0, $f0, $f10
/* 340228 E002C3A8 E464FFD0 */ swc1 $f4, -0x30($v1)
/* 34022C E002C3AC E462FFF8 */ swc1 $f2, -8($v1)
/* 340230 E002C3B0 E4600000 */ swc1 $f0, ($v1)
/* 340234 E002C3B4 8C820008 */ lw $v0, 8($a0)
/* 340238 E002C3B8 00C2102A */ slt $v0, $a2, $v0
/* 34023C E002C3BC 1440FFE3 */ bnez $v0, .LE002C34C
/* 340240 E002C3C0 24630040 */ addiu $v1, $v1, 0x40
.LE002C3C4:
/* 340244 E002C3C4 8FBF0010 */ lw $ra, 0x10($sp)
/* 340248 E002C3C8 03E00008 */ jr $ra
/* 34024C E002C3CC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,186 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .text
glabel shiny_flare_appendGfx
/* 3D7470 E00DA230 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 3D7474 E00DA234 0080302D */ daddu $a2, $a0, $zero
/* 3D7478 E00DA238 3C07DB06 */ lui $a3, 0xdb06
/* 3D747C E00DA23C 34E70024 */ ori $a3, $a3, 0x24
/* 3D7480 E00DA240 27A40010 */ addiu $a0, $sp, 0x10
/* 3D7484 E00DA244 AFB600A8 */ sw $s6, 0xa8($sp)
/* 3D7488 E00DA248 3C160001 */ lui $s6, 1
/* 3D748C E00DA24C AFB3009C */ sw $s3, 0x9c($sp)
/* 3D7490 E00DA250 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 3D7494 E00DA254 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 3D7498 E00DA258 36D61630 */ ori $s6, $s6, 0x1630
/* 3D749C E00DA25C AFBF00AC */ sw $ra, 0xac($sp)
/* 3D74A0 E00DA260 AFB500A4 */ sw $s5, 0xa4($sp)
/* 3D74A4 E00DA264 AFB400A0 */ sw $s4, 0xa0($sp)
/* 3D74A8 E00DA268 AFB20098 */ sw $s2, 0x98($sp)
/* 3D74AC E00DA26C AFB10094 */ sw $s1, 0x94($sp)
/* 3D74B0 E00DA270 AFB00090 */ sw $s0, 0x90($sp)
/* 3D74B4 E00DA274 F7B400B0 */ sdc1 $f20, 0xb0($sp)
/* 3D74B8 E00DA278 8E650000 */ lw $a1, ($s3)
/* 3D74BC E00DA27C 8CD2000C */ lw $s2, 0xc($a2)
/* 3D74C0 E00DA280 00A0182D */ daddu $v1, $a1, $zero
/* 3D74C4 E00DA284 24A50008 */ addiu $a1, $a1, 8
/* 3D74C8 E00DA288 AE650000 */ sw $a1, ($s3)
/* 3D74CC E00DA28C 8E550024 */ lw $s5, 0x24($s2)
/* 3D74D0 E00DA290 C6540028 */ lwc1 $f20, 0x28($s2)
/* 3D74D4 E00DA294 C640002C */ lwc1 $f0, 0x2c($s2)
/* 3D74D8 E00DA298 3C02E700 */ lui $v0, 0xe700
/* 3D74DC E00DA29C AC620000 */ sw $v0, ($v1)
/* 3D74E0 E00DA2A0 AC600004 */ sw $zero, 4($v1)
/* 3D74E4 E00DA2A4 ACA70000 */ sw $a3, ($a1)
/* 3D74E8 E00DA2A8 8CC30010 */ lw $v1, 0x10($a2)
/* 3D74EC E00DA2AC 24A20008 */ addiu $v0, $a1, 8
/* 3D74F0 E00DA2B0 AE620000 */ sw $v0, ($s3)
/* 3D74F4 E00DA2B4 8C62001C */ lw $v0, 0x1c($v1)
/* 3D74F8 E00DA2B8 3C038000 */ lui $v1, 0x8000
/* 3D74FC E00DA2BC 4600A502 */ mul.s $f20, $f20, $f0
/* 3D7500 E00DA2C0 00000000 */ nop
/* 3D7504 E00DA2C4 00431021 */ addu $v0, $v0, $v1
/* 3D7508 E00DA2C8 3C03800B */ lui $v1, %hi(gCameras)
/* 3D750C E00DA2CC 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3D7510 E00DA2D0 ACA20004 */ sw $v0, 4($a1)
/* 3D7514 E00DA2D4 8E450004 */ lw $a1, 4($s2)
/* 3D7518 E00DA2D8 8E460008 */ lw $a2, 8($s2)
/* 3D751C E00DA2DC 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3D7520 E00DA2E0 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3D7524 E00DA2E4 8E47000C */ lw $a3, 0xc($s2)
/* 3D7528 E00DA2E8 00028880 */ sll $s1, $v0, 2
/* 3D752C E00DA2EC 02228821 */ addu $s1, $s1, $v0
/* 3D7530 E00DA2F0 00118880 */ sll $s1, $s1, 2
/* 3D7534 E00DA2F4 02228823 */ subu $s1, $s1, $v0
/* 3D7538 E00DA2F8 001110C0 */ sll $v0, $s1, 3
/* 3D753C E00DA2FC 02228821 */ addu $s1, $s1, $v0
/* 3D7540 E00DA300 001188C0 */ sll $s1, $s1, 3
/* 3D7544 E00DA304 0C080108 */ jal shim_guTranslateF
/* 3D7548 E00DA308 02238821 */ addu $s1, $s1, $v1
/* 3D754C E00DA30C 27B00050 */ addiu $s0, $sp, 0x50
/* 3D7550 E00DA310 4405A000 */ mfc1 $a1, $f20
/* 3D7554 E00DA314 0200202D */ daddu $a0, $s0, $zero
/* 3D7558 E00DA318 00A0302D */ daddu $a2, $a1, $zero
/* 3D755C E00DA31C 0C080110 */ jal shim_guScaleF
/* 3D7560 E00DA320 00A0382D */ daddu $a3, $a1, $zero
/* 3D7564 E00DA324 0200202D */ daddu $a0, $s0, $zero
/* 3D7568 E00DA328 27A50010 */ addiu $a1, $sp, 0x10
/* 3D756C E00DA32C 0C080114 */ jal shim_guMtxCatF
/* 3D7570 E00DA330 00A0302D */ daddu $a2, $a1, $zero
/* 3D7574 E00DA334 27A40010 */ addiu $a0, $sp, 0x10
/* 3D7578 E00DA338 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3D757C E00DA33C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3D7580 E00DA340 3C14800A */ lui $s4, %hi(gDisplayContext)
/* 3D7584 E00DA344 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext)
/* 3D7588 E00DA348 96050000 */ lhu $a1, ($s0)
/* 3D758C E00DA34C 8E820000 */ lw $v0, ($s4)
/* 3D7590 E00DA350 00052980 */ sll $a1, $a1, 6
/* 3D7594 E00DA354 00B62821 */ addu $a1, $a1, $s6
/* 3D7598 E00DA358 0C080118 */ jal shim_guMtxF2L
/* 3D759C E00DA35C 00452821 */ addu $a1, $v0, $a1
/* 3D75A0 E00DA360 3C03DA38 */ lui $v1, 0xda38
/* 3D75A4 E00DA364 34630002 */ ori $v1, $v1, 2
/* 3D75A8 E00DA368 3C06DA38 */ lui $a2, 0xda38
/* 3D75AC E00DA36C 34C60001 */ ori $a2, $a2, 1
/* 3D75B0 E00DA370 3C092AAA */ lui $t1, 0x2aaa
/* 3D75B4 E00DA374 3529AAAB */ ori $t1, $t1, 0xaaab
/* 3D75B8 E00DA378 3C08DE00 */ lui $t0, 0xde00
/* 3D75BC E00DA37C 32B500FF */ andi $s5, $s5, 0xff
/* 3D75C0 E00DA380 3C07D838 */ lui $a3, 0xd838
/* 3D75C4 E00DA384 8E650000 */ lw $a1, ($s3)
/* 3D75C8 E00DA388 96020000 */ lhu $v0, ($s0)
/* 3D75CC E00DA38C 00A0202D */ daddu $a0, $a1, $zero
/* 3D75D0 E00DA390 24A50008 */ addiu $a1, $a1, 8
/* 3D75D4 E00DA394 AE650000 */ sw $a1, ($s3)
/* 3D75D8 E00DA398 AC830000 */ sw $v1, ($a0)
/* 3D75DC E00DA39C 24430001 */ addiu $v1, $v0, 1
/* 3D75E0 E00DA3A0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D75E4 E00DA3A4 00021180 */ sll $v0, $v0, 6
/* 3D75E8 E00DA3A8 A6030000 */ sh $v1, ($s0)
/* 3D75EC E00DA3AC 8E830000 */ lw $v1, ($s4)
/* 3D75F0 E00DA3B0 00561021 */ addu $v0, $v0, $s6
/* 3D75F4 E00DA3B4 00621821 */ addu $v1, $v1, $v0
/* 3D75F8 E00DA3B8 24A20008 */ addiu $v0, $a1, 8
/* 3D75FC E00DA3BC AC830004 */ sw $v1, 4($a0)
/* 3D7600 E00DA3C0 AE620000 */ sw $v0, ($s3)
/* 3D7604 E00DA3C4 24A20010 */ addiu $v0, $a1, 0x10
/* 3D7608 E00DA3C8 ACA60000 */ sw $a2, ($a1)
/* 3D760C E00DA3CC AE620000 */ sw $v0, ($s3)
/* 3D7610 E00DA3D0 8E230204 */ lw $v1, 0x204($s1)
/* 3D7614 E00DA3D4 3C020900 */ lui $v0, 0x900
/* 3D7618 E00DA3D8 24420240 */ addiu $v0, $v0, 0x240
/* 3D761C E00DA3DC ACA2000C */ sw $v0, 0xc($a1)
/* 3D7620 E00DA3E0 24A20018 */ addiu $v0, $a1, 0x18
/* 3D7624 E00DA3E4 3C06FA00 */ lui $a2, 0xfa00
/* 3D7628 E00DA3E8 ACA80008 */ sw $t0, 8($a1)
/* 3D762C E00DA3EC AE620000 */ sw $v0, ($s3)
/* 3D7630 E00DA3F0 ACA60010 */ sw $a2, 0x10($a1)
/* 3D7634 E00DA3F4 ACA30004 */ sw $v1, 4($a1)
/* 3D7638 E00DA3F8 9242001B */ lbu $v0, 0x1b($s2)
/* 3D763C E00DA3FC 9244001F */ lbu $a0, 0x1f($s2)
/* 3D7640 E00DA400 92430023 */ lbu $v1, 0x23($s2)
/* 3D7644 E00DA404 00021600 */ sll $v0, $v0, 0x18
/* 3D7648 E00DA408 00042400 */ sll $a0, $a0, 0x10
/* 3D764C E00DA40C 00441025 */ or $v0, $v0, $a0
/* 3D7650 E00DA410 00031A00 */ sll $v1, $v1, 8
/* 3D7654 E00DA414 00431025 */ or $v0, $v0, $v1
/* 3D7658 E00DA418 00551025 */ or $v0, $v0, $s5
/* 3D765C E00DA41C ACA20014 */ sw $v0, 0x14($a1)
/* 3D7660 E00DA420 8E420014 */ lw $v0, 0x14($s2)
/* 3D7664 E00DA424 34E70002 */ ori $a3, $a3, 2
/* 3D7668 E00DA428 00022040 */ sll $a0, $v0, 1
/* 3D766C E00DA42C 00822021 */ addu $a0, $a0, $v0
/* 3D7670 E00DA430 00890018 */ mult $a0, $t1
/* 3D7674 E00DA434 24A20020 */ addiu $v0, $a1, 0x20
/* 3D7678 E00DA438 AE620000 */ sw $v0, ($s3)
/* 3D767C E00DA43C 000417C3 */ sra $v0, $a0, 0x1f
/* 3D7680 E00DA440 ACA60018 */ sw $a2, 0x18($a1)
/* 3D7684 E00DA444 00005010 */ mfhi $t2
/* 3D7688 E00DA448 000A1883 */ sra $v1, $t2, 2
/* 3D768C E00DA44C 00621823 */ subu $v1, $v1, $v0
/* 3D7690 E00DA450 00031040 */ sll $v0, $v1, 1
/* 3D7694 E00DA454 00431021 */ addu $v0, $v0, $v1
/* 3D7698 E00DA458 000210C0 */ sll $v0, $v0, 3
/* 3D769C E00DA45C 00822023 */ subu $a0, $a0, $v0
/* 3D76A0 E00DA460 3C03E00E */ lui $v1, %hi(D_E00DA500)
/* 3D76A4 E00DA464 00641821 */ addu $v1, $v1, $a0
/* 3D76A8 E00DA468 9063A500 */ lbu $v1, %lo(D_E00DA500)($v1)
/* 3D76AC E00DA46C 3C06E00E */ lui $a2, %hi(D_E00DA501)
/* 3D76B0 E00DA470 00C43021 */ addu $a2, $a2, $a0
/* 3D76B4 E00DA474 90C6A501 */ lbu $a2, %lo(D_E00DA501)($a2)
/* 3D76B8 E00DA478 3C01E00E */ lui $at, %hi(D_E00DA502)
/* 3D76BC E00DA47C 00240821 */ addu $at, $at, $a0
/* 3D76C0 E00DA480 9024A502 */ lbu $a0, %lo(D_E00DA502)($at)
/* 3D76C4 E00DA484 24A20028 */ addiu $v0, $a1, 0x28
/* 3D76C8 E00DA488 AE620000 */ sw $v0, ($s3)
/* 3D76CC E00DA48C 3C020900 */ lui $v0, 0x900
/* 3D76D0 E00DA490 244202E0 */ addiu $v0, $v0, 0x2e0
/* 3D76D4 E00DA494 ACA20024 */ sw $v0, 0x24($a1)
/* 3D76D8 E00DA498 24A20030 */ addiu $v0, $a1, 0x30
/* 3D76DC E00DA49C ACA80020 */ sw $t0, 0x20($a1)
/* 3D76E0 E00DA4A0 AE620000 */ sw $v0, ($s3)
/* 3D76E4 E00DA4A4 24020040 */ addiu $v0, $zero, 0x40
/* 3D76E8 E00DA4A8 ACA70028 */ sw $a3, 0x28($a1)
/* 3D76EC E00DA4AC ACA2002C */ sw $v0, 0x2c($a1)
/* 3D76F0 E00DA4B0 00031E00 */ sll $v1, $v1, 0x18
/* 3D76F4 E00DA4B4 00063400 */ sll $a2, $a2, 0x10
/* 3D76F8 E00DA4B8 00661825 */ or $v1, $v1, $a2
/* 3D76FC E00DA4BC 00042200 */ sll $a0, $a0, 8
/* 3D7700 E00DA4C0 00641825 */ or $v1, $v1, $a0
/* 3D7704 E00DA4C4 00751825 */ or $v1, $v1, $s5
/* 3D7708 E00DA4C8 ACA3001C */ sw $v1, 0x1c($a1)
/* 3D770C E00DA4CC 8FBF00AC */ lw $ra, 0xac($sp)
/* 3D7710 E00DA4D0 8FB600A8 */ lw $s6, 0xa8($sp)
/* 3D7714 E00DA4D4 8FB500A4 */ lw $s5, 0xa4($sp)
/* 3D7718 E00DA4D8 8FB400A0 */ lw $s4, 0xa0($sp)
/* 3D771C E00DA4DC 8FB3009C */ lw $s3, 0x9c($sp)
/* 3D7720 E00DA4E0 8FB20098 */ lw $s2, 0x98($sp)
/* 3D7724 E00DA4E4 8FB10094 */ lw $s1, 0x94($sp)
/* 3D7728 E00DA4E8 8FB00090 */ lw $s0, 0x90($sp)
/* 3D772C E00DA4EC D7B400B0 */ ldc1 $f20, 0xb0($sp)
/* 3D7730 E00DA4F0 03E00008 */ jr $ra
/* 3D7734 E00DA4F4 27BD00B8 */ addiu $sp, $sp, 0xb8
/* 3D7738 E00DA4F8 00000000 */ nop
/* 3D773C E00DA4FC 00000000 */ nop

View File

@ -1,249 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel smoke_burst_appendGfx
/* 35BBE4 E004E214 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 35BBE8 E004E218 0080302D */ daddu $a2, $a0, $zero
/* 35BBEC E004E21C 3C07DB06 */ lui $a3, 0xdb06
/* 35BBF0 E004E220 34E70024 */ ori $a3, $a3, 0x24
/* 35BBF4 E004E224 27A40020 */ addiu $a0, $sp, 0x20
/* 35BBF8 E004E228 AFB700BC */ sw $s7, 0xbc($sp)
/* 35BBFC E004E22C 3C17800A */ lui $s7, %hi(gMasterGfxPos)
/* 35BC00 E004E230 26F7A66C */ addiu $s7, $s7, %lo(gMasterGfxPos)
/* 35BC04 E004E234 AFB600B8 */ sw $s6, 0xb8($sp)
/* 35BC08 E004E238 3C160001 */ lui $s6, 1
/* 35BC0C E004E23C 36D61630 */ ori $s6, $s6, 0x1630
/* 35BC10 E004E240 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 35BC14 E004E244 AFBE00C0 */ sw $fp, 0xc0($sp)
/* 35BC18 E004E248 AFB500B4 */ sw $s5, 0xb4($sp)
/* 35BC1C E004E24C AFB400B0 */ sw $s4, 0xb0($sp)
/* 35BC20 E004E250 AFB300AC */ sw $s3, 0xac($sp)
/* 35BC24 E004E254 AFB200A8 */ sw $s2, 0xa8($sp)
/* 35BC28 E004E258 AFB100A4 */ sw $s1, 0xa4($sp)
/* 35BC2C E004E25C AFB000A0 */ sw $s0, 0xa0($sp)
/* 35BC30 E004E260 F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 35BC34 E004E264 8EE80000 */ lw $t0, ($s7)
/* 35BC38 E004E268 8CD1000C */ lw $s1, 0xc($a2)
/* 35BC3C E004E26C 4480A000 */ mtc1 $zero, $f20
/* 35BC40 E004E270 3C09E005 */ lui $t1, %hi(D_E004E5EC)
/* 35BC44 E004E274 8D29E5EC */ lw $t1, %lo(D_E004E5EC)($t1)
/* 35BC48 E004E278 3C014380 */ lui $at, 0x4380
/* 35BC4C E004E27C 44812000 */ mtc1 $at, $f4
/* 35BC50 E004E280 0100182D */ daddu $v1, $t0, $zero
/* 35BC54 E004E284 25080008 */ addiu $t0, $t0, 8
/* 35BC58 E004E288 96220000 */ lhu $v0, ($s1)
/* 35BC5C E004E28C 4405A000 */ mfc1 $a1, $f20
/* 35BC60 E004E290 C6260020 */ lwc1 $f6, 0x20($s1)
/* 35BC64 E004E294 00021080 */ sll $v0, $v0, 2
/* 35BC68 E004E298 3C1EE005 */ lui $fp, %hi(D_E004E5E0)
/* 35BC6C E004E29C 03C2F021 */ addu $fp, $fp, $v0
/* 35BC70 E004E2A0 8FDEE5E0 */ lw $fp, %lo(D_E004E5E0)($fp)
/* 35BC74 E004E2A4 3C02E700 */ lui $v0, 0xe700
/* 35BC78 E004E2A8 4600328D */ trunc.w.s $f10, $f6
/* 35BC7C E004E2AC 44145000 */ mfc1 $s4, $f10
/* 35BC80 E004E2B0 00000000 */ nop
/* 35BC84 E004E2B4 44941000 */ mtc1 $s4, $f2
/* 35BC88 E004E2B8 00000000 */ nop
/* 35BC8C E004E2BC 468010A0 */ cvt.s.w $f2, $f2
/* 35BC90 E004E2C0 3A950007 */ xori $s5, $s4, 7
/* 35BC94 E004E2C4 2EB50001 */ sltiu $s5, $s5, 1
/* 35BC98 E004E2C8 46023181 */ sub.s $f6, $f6, $f2
/* 35BC9C E004E2CC AC620000 */ sw $v0, ($v1)
/* 35BCA0 E004E2D0 AC600004 */ sw $zero, 4($v1)
/* 35BCA4 E004E2D4 AD070000 */ sw $a3, ($t0)
/* 35BCA8 E004E2D8 8CC20010 */ lw $v0, 0x10($a2)
/* 35BCAC E004E2DC 4407A000 */ mfc1 $a3, $f20
/* 35BCB0 E004E2E0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 35BCB4 E004E2E4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 35BCB8 E004E2E8 8C46001C */ lw $a2, 0x1c($v0)
/* 35BCBC E004E2EC 3C02DE00 */ lui $v0, 0xde00
/* 35BCC0 E004E2F0 AD020008 */ sw $v0, 8($t0)
/* 35BCC4 E004E2F4 3C028000 */ lui $v0, 0x8000
/* 35BCC8 E004E2F8 AD09000C */ sw $t1, 0xc($t0)
/* 35BCCC E004E2FC 00C23021 */ addu $a2, $a2, $v0
/* 35BCD0 E004E300 00031080 */ sll $v0, $v1, 2
/* 35BCD4 E004E304 00431021 */ addu $v0, $v0, $v1
/* 35BCD8 E004E308 00021080 */ sll $v0, $v0, 2
/* 35BCDC E004E30C 00431023 */ subu $v0, $v0, $v1
/* 35BCE0 E004E310 000218C0 */ sll $v1, $v0, 3
/* 35BCE4 E004E314 00431021 */ addu $v0, $v0, $v1
/* 35BCE8 E004E318 000210C0 */ sll $v0, $v0, 3
/* 35BCEC E004E31C AD060004 */ sw $a2, 4($t0)
/* 35BCF0 E004E320 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 35BCF4 E004E324 00220821 */ addu $at, $at, $v0
/* 35BCF8 E004E328 C4281DEC */ lwc1 $f8, %lo(gCameras+0x6C)($at)
/* 35BCFC E004E32C C6200010 */ lwc1 $f0, 0x10($s1)
/* 35BD00 E004E330 25020008 */ addiu $v0, $t0, 8
/* 35BD04 E004E334 AEE80000 */ sw $t0, ($s7)
/* 35BD08 E004E338 46004207 */ neg.s $f8, $f8
/* 35BD0C E004E33C E7A00010 */ swc1 $f0, 0x10($sp)
/* 35BD10 E004E340 C6200004 */ lwc1 $f0, 4($s1)
/* 35BD14 E004E344 44064000 */ mfc1 $a2, $f8
/* 35BD18 E004E348 46043182 */ mul.s $f6, $f6, $f4
/* 35BD1C E004E34C 00000000 */ nop
/* 35BD20 E004E350 AEE20000 */ sw $v0, ($s7)
/* 35BD24 E004E354 E7A00014 */ swc1 $f0, 0x14($sp)
/* 35BD28 E004E358 C6200008 */ lwc1 $f0, 8($s1)
/* 35BD2C E004E35C 25080010 */ addiu $t0, $t0, 0x10
/* 35BD30 E004E360 AEE80000 */ sw $t0, ($s7)
/* 35BD34 E004E364 E7A00018 */ swc1 $f0, 0x18($sp)
/* 35BD38 E004E368 C620000C */ lwc1 $f0, 0xc($s1)
/* 35BD3C E004E36C 4600328D */ trunc.w.s $f10, $f6
/* 35BD40 E004E370 44135000 */ mfc1 $s3, $f10
/* 35BD44 E004E374 0C080180 */ jal shim_guPositionF
/* 35BD48 E004E378 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 35BD4C E004E37C 27B00060 */ addiu $s0, $sp, 0x60
/* 35BD50 E004E380 0200202D */ daddu $a0, $s0, $zero
/* 35BD54 E004E384 3C0541A0 */ lui $a1, 0x41a0
/* 35BD58 E004E388 4406A000 */ mfc1 $a2, $f20
/* 35BD5C E004E38C 3C013F80 */ lui $at, 0x3f80
/* 35BD60 E004E390 44810000 */ mtc1 $at, $f0
/* 35BD64 E004E394 00C0382D */ daddu $a3, $a2, $zero
/* 35BD68 E004E398 0C080104 */ jal shim_guRotateF
/* 35BD6C E004E39C E7A00010 */ swc1 $f0, 0x10($sp)
/* 35BD70 E004E3A0 0200202D */ daddu $a0, $s0, $zero
/* 35BD74 E004E3A4 27A50020 */ addiu $a1, $sp, 0x20
/* 35BD78 E004E3A8 0C080114 */ jal shim_guMtxCatF
/* 35BD7C E004E3AC 00A0302D */ daddu $a2, $a1, $zero
/* 35BD80 E004E3B0 27A40020 */ addiu $a0, $sp, 0x20
/* 35BD84 E004E3B4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 35BD88 E004E3B8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 35BD8C E004E3BC 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 35BD90 E004E3C0 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 35BD94 E004E3C4 96050000 */ lhu $a1, ($s0)
/* 35BD98 E004E3C8 8E420000 */ lw $v0, ($s2)
/* 35BD9C E004E3CC 00052980 */ sll $a1, $a1, 6
/* 35BDA0 E004E3D0 00B62821 */ addu $a1, $a1, $s6
/* 35BDA4 E004E3D4 0C080118 */ jal shim_guMtxF2L
/* 35BDA8 E004E3D8 00452821 */ addu $a1, $v0, $a1
/* 35BDAC E004E3DC 3C07E200 */ lui $a3, 0xe200
/* 35BDB0 E004E3E0 34E71E01 */ ori $a3, $a3, 0x1e01
/* 35BDB4 E004E3E4 8EE80000 */ lw $t0, ($s7)
/* 35BDB8 E004E3E8 3C03DA38 */ lui $v1, 0xda38
/* 35BDBC E004E3EC 0100202D */ daddu $a0, $t0, $zero
/* 35BDC0 E004E3F0 25080008 */ addiu $t0, $t0, 8
/* 35BDC4 E004E3F4 AEE80000 */ sw $t0, ($s7)
/* 35BDC8 E004E3F8 96020000 */ lhu $v0, ($s0)
/* 35BDCC E004E3FC 327300FF */ andi $s3, $s3, 0xff
/* 35BDD0 E004E400 AC830000 */ sw $v1, ($a0)
/* 35BDD4 E004E404 24430001 */ addiu $v1, $v0, 1
/* 35BDD8 E004E408 3042FFFF */ andi $v0, $v0, 0xffff
/* 35BDDC E004E40C 00021180 */ sll $v0, $v0, 6
/* 35BDE0 E004E410 A6030000 */ sh $v1, ($s0)
/* 35BDE4 E004E414 8E430000 */ lw $v1, ($s2)
/* 35BDE8 E004E418 00561021 */ addu $v0, $v0, $s6
/* 35BDEC E004E41C 00621821 */ addu $v1, $v1, $v0
/* 35BDF0 E004E420 25020008 */ addiu $v0, $t0, 8
/* 35BDF4 E004E424 AC830004 */ sw $v1, 4($a0)
/* 35BDF8 E004E428 AEE20000 */ sw $v0, ($s7)
/* 35BDFC E004E42C 3C02FA00 */ lui $v0, 0xfa00
/* 35BE00 E004E430 AD020000 */ sw $v0, ($t0)
/* 35BE04 E004E434 92230024 */ lbu $v1, 0x24($s1)
/* 35BE08 E004E438 92240025 */ lbu $a0, 0x25($s1)
/* 35BE0C E004E43C 92250026 */ lbu $a1, 0x26($s1)
/* 35BE10 E004E440 92260027 */ lbu $a2, 0x27($s1)
/* 35BE14 E004E444 25020010 */ addiu $v0, $t0, 0x10
/* 35BE18 E004E448 AEE20000 */ sw $v0, ($s7)
/* 35BE1C E004E44C 3C02FB00 */ lui $v0, 0xfb00
/* 35BE20 E004E450 AD020008 */ sw $v0, 8($t0)
/* 35BE24 E004E454 25020018 */ addiu $v0, $t0, 0x18
/* 35BE28 E004E458 AD13000C */ sw $s3, 0xc($t0)
/* 35BE2C E004E45C AEE20000 */ sw $v0, ($s7)
/* 35BE30 E004E460 24020003 */ addiu $v0, $zero, 3
/* 35BE34 E004E464 AD020014 */ sw $v0, 0x14($t0)
/* 35BE38 E004E468 25020020 */ addiu $v0, $t0, 0x20
/* 35BE3C E004E46C AD070010 */ sw $a3, 0x10($t0)
/* 35BE40 E004E470 AEE20000 */ sw $v0, ($s7)
/* 35BE44 E004E474 001411C0 */ sll $v0, $s4, 7
/* 35BE48 E004E478 30420FFF */ andi $v0, $v0, 0xfff
/* 35BE4C E004E47C 00021300 */ sll $v0, $v0, 0xc
/* 35BE50 E004E480 3C07F200 */ lui $a3, 0xf200
/* 35BE54 E004E484 00471025 */ or $v0, $v0, $a3
/* 35BE58 E004E488 0014A140 */ sll $s4, $s4, 5
/* 35BE5C E004E48C AD020018 */ sw $v0, 0x18($t0)
/* 35BE60 E004E490 2682001F */ addiu $v0, $s4, 0x1f
/* 35BE64 E004E494 00021080 */ sll $v0, $v0, 2
/* 35BE68 E004E498 30420FFF */ andi $v0, $v0, 0xfff
/* 35BE6C E004E49C 00021300 */ sll $v0, $v0, 0xc
/* 35BE70 E004E4A0 3442007C */ ori $v0, $v0, 0x7c
/* 35BE74 E004E4A4 AD02001C */ sw $v0, 0x1c($t0)
/* 35BE78 E004E4A8 00031E00 */ sll $v1, $v1, 0x18
/* 35BE7C E004E4AC 00042400 */ sll $a0, $a0, 0x10
/* 35BE80 E004E4B0 00641825 */ or $v1, $v1, $a0
/* 35BE84 E004E4B4 00052A00 */ sll $a1, $a1, 8
/* 35BE88 E004E4B8 00651825 */ or $v1, $v1, $a1
/* 35BE8C E004E4BC 00661825 */ or $v1, $v1, $a2
/* 35BE90 E004E4C0 26850020 */ addiu $a1, $s4, 0x20
/* 35BE94 E004E4C4 12A00012 */ beqz $s5, .LE004E510
/* 35BE98 E004E4C8 AD030004 */ sw $v1, 4($t0)
/* 35BE9C E004E4CC 00E0182D */ daddu $v1, $a3, $zero
/* 35BEA0 E004E4D0 34630080 */ ori $v1, $v1, 0x80
/* 35BEA4 E004E4D4 3C040100 */ lui $a0, 0x100
/* 35BEA8 E004E4D8 348400FC */ ori $a0, $a0, 0xfc
/* 35BEAC E004E4DC 25020028 */ addiu $v0, $t0, 0x28
/* 35BEB0 E004E4E0 AEE20000 */ sw $v0, ($s7)
/* 35BEB4 E004E4E4 00051080 */ sll $v0, $a1, 2
/* 35BEB8 E004E4E8 30420FFF */ andi $v0, $v0, 0xfff
/* 35BEBC E004E4EC 00021300 */ sll $v0, $v0, 0xc
/* 35BEC0 E004E4F0 00431025 */ or $v0, $v0, $v1
/* 35BEC4 E004E4F4 AD020020 */ sw $v0, 0x20($t0)
/* 35BEC8 E004E4F8 2682003F */ addiu $v0, $s4, 0x3f
/* 35BECC E004E4FC 00021080 */ sll $v0, $v0, 2
/* 35BED0 E004E500 30420FFF */ andi $v0, $v0, 0xfff
/* 35BED4 E004E504 00021300 */ sll $v0, $v0, 0xc
/* 35BED8 E004E508 08013952 */ j .LE004E548
/* 35BEDC E004E50C 00441025 */ or $v0, $v0, $a0
.LE004E510:
/* 35BEE0 E004E510 3C030100 */ lui $v1, 0x100
/* 35BEE4 E004E514 3463007C */ ori $v1, $v1, 0x7c
/* 35BEE8 E004E518 25020028 */ addiu $v0, $t0, 0x28
/* 35BEEC E004E51C AEE20000 */ sw $v0, ($s7)
/* 35BEF0 E004E520 00051080 */ sll $v0, $a1, 2
/* 35BEF4 E004E524 30420FFF */ andi $v0, $v0, 0xfff
/* 35BEF8 E004E528 00021300 */ sll $v0, $v0, 0xc
/* 35BEFC E004E52C 00471025 */ or $v0, $v0, $a3
/* 35BF00 E004E530 AD020020 */ sw $v0, 0x20($t0)
/* 35BF04 E004E534 2682003F */ addiu $v0, $s4, 0x3f
/* 35BF08 E004E538 00021080 */ sll $v0, $v0, 2
/* 35BF0C E004E53C 30420FFF */ andi $v0, $v0, 0xfff
/* 35BF10 E004E540 00021300 */ sll $v0, $v0, 0xc
/* 35BF14 E004E544 00431025 */ or $v0, $v0, $v1
.LE004E548:
/* 35BF18 E004E548 AD020024 */ sw $v0, 0x24($t0)
/* 35BF1C E004E54C 3C06E200 */ lui $a2, 0xe200
/* 35BF20 E004E550 34C61E01 */ ori $a2, $a2, 0x1e01
/* 35BF24 E004E554 3C07D838 */ lui $a3, 0xd838
/* 35BF28 E004E558 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 35BF2C E004E55C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 35BF30 E004E560 34E70002 */ ori $a3, $a3, 2
/* 35BF34 E004E564 8C820000 */ lw $v0, ($a0)
/* 35BF38 E004E568 3C03DE00 */ lui $v1, 0xde00
/* 35BF3C E004E56C 0040282D */ daddu $a1, $v0, $zero
/* 35BF40 E004E570 24420008 */ addiu $v0, $v0, 8
/* 35BF44 E004E574 AC820000 */ sw $v0, ($a0)
/* 35BF48 E004E578 ACA30000 */ sw $v1, ($a1)
/* 35BF4C E004E57C 24430008 */ addiu $v1, $v0, 8
/* 35BF50 E004E580 ACBE0004 */ sw $fp, 4($a1)
/* 35BF54 E004E584 AC830000 */ sw $v1, ($a0)
/* 35BF58 E004E588 24430010 */ addiu $v1, $v0, 0x10
/* 35BF5C E004E58C AC460000 */ sw $a2, ($v0)
/* 35BF60 E004E590 AC400004 */ sw $zero, 4($v0)
/* 35BF64 E004E594 AC830000 */ sw $v1, ($a0)
/* 35BF68 E004E598 24030040 */ addiu $v1, $zero, 0x40
/* 35BF6C E004E59C AC470008 */ sw $a3, 8($v0)
/* 35BF70 E004E5A0 AC43000C */ sw $v1, 0xc($v0)
/* 35BF74 E004E5A4 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 35BF78 E004E5A8 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 35BF7C E004E5AC 8FB700BC */ lw $s7, 0xbc($sp)
/* 35BF80 E004E5B0 8FB600B8 */ lw $s6, 0xb8($sp)
/* 35BF84 E004E5B4 8FB500B4 */ lw $s5, 0xb4($sp)
/* 35BF88 E004E5B8 8FB400B0 */ lw $s4, 0xb0($sp)
/* 35BF8C E004E5BC 8FB300AC */ lw $s3, 0xac($sp)
/* 35BF90 E004E5C0 8FB200A8 */ lw $s2, 0xa8($sp)
/* 35BF94 E004E5C4 8FB100A4 */ lw $s1, 0xa4($sp)
/* 35BF98 E004E5C8 8FB000A0 */ lw $s0, 0xa0($sp)
/* 35BF9C E004E5CC D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 35BFA0 E004E5D0 03E00008 */ jr $ra
/* 35BFA4 E004E5D4 27BD00D0 */ addiu $sp, $sp, 0xd0
/* 35BFA8 E004E5D8 00000000 */ nop
/* 35BFAC E004E5DC 00000000 */ nop

View File

@ -1,310 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel smoke_impact_appendGfx
/* 34EFD4 E003A354 27BDFEF8 */ addiu $sp, $sp, -0x108
/* 34EFD8 E003A358 AFBE0100 */ sw $fp, 0x100($sp)
/* 34EFDC E003A35C 0080F02D */ daddu $fp, $a0, $zero
/* 34EFE0 E003A360 3C07DB06 */ lui $a3, 0xdb06
/* 34EFE4 E003A364 34E70024 */ ori $a3, $a3, 0x24
/* 34EFE8 E003A368 27A40018 */ addiu $a0, $sp, 0x18
/* 34EFEC E003A36C AFB200E8 */ sw $s2, 0xe8($sp)
/* 34EFF0 E003A370 3C120001 */ lui $s2, 1
/* 34EFF4 E003A374 AFB300EC */ sw $s3, 0xec($sp)
/* 34EFF8 E003A378 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 34EFFC E003A37C 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 34F000 E003A380 AFBF0104 */ sw $ra, 0x104($sp)
/* 34F004 E003A384 AFB700FC */ sw $s7, 0xfc($sp)
/* 34F008 E003A388 AFB600F8 */ sw $s6, 0xf8($sp)
/* 34F00C E003A38C AFB500F4 */ sw $s5, 0xf4($sp)
/* 34F010 E003A390 AFB400F0 */ sw $s4, 0xf0($sp)
/* 34F014 E003A394 AFB100E4 */ sw $s1, 0xe4($sp)
/* 34F018 E003A398 AFB000E0 */ sw $s0, 0xe0($sp)
/* 34F01C E003A39C 8E630000 */ lw $v1, ($s3)
/* 34F020 E003A3A0 8FD4000C */ lw $s4, 0xc($fp)
/* 34F024 E003A3A4 0060282D */ daddu $a1, $v1, $zero
/* 34F028 E003A3A8 24630008 */ addiu $v1, $v1, 8
/* 34F02C E003A3AC AE630000 */ sw $v1, ($s3)
/* 34F030 E003A3B0 96970000 */ lhu $s7, ($s4)
/* 34F034 E003A3B4 24620008 */ addiu $v0, $v1, 8
/* 34F038 E003A3B8 AE620000 */ sw $v0, ($s3)
/* 34F03C E003A3BC C6820030 */ lwc1 $f2, 0x30($s4)
/* 34F040 E003A3C0 00171080 */ sll $v0, $s7, 2
/* 34F044 E003A3C4 3C09E004 */ lui $t1, %hi(D_E003A800)
/* 34F048 E003A3C8 01224821 */ addu $t1, $t1, $v0
/* 34F04C E003A3CC 8D29A800 */ lw $t1, %lo(D_E003A800)($t1)
/* 34F050 E003A3D0 36521630 */ ori $s2, $s2, 0x1630
/* 34F054 E003A3D4 AFA900D8 */ sw $t1, 0xd8($sp)
/* 34F058 E003A3D8 3C06E004 */ lui $a2, %hi(D_E003A80C)
/* 34F05C E003A3DC 00C23021 */ addu $a2, $a2, $v0
/* 34F060 E003A3E0 8CC6A80C */ lw $a2, %lo(D_E003A80C)($a2)
/* 34F064 E003A3E4 3C02E700 */ lui $v0, 0xe700
/* 34F068 E003A3E8 4600110D */ trunc.w.s $f4, $f2
/* 34F06C E003A3EC 44152000 */ mfc1 $s5, $f4
/* 34F070 E003A3F0 00000000 */ nop
/* 34F074 E003A3F4 44950000 */ mtc1 $s5, $f0
/* 34F078 E003A3F8 00000000 */ nop
/* 34F07C E003A3FC 46800020 */ cvt.s.w $f0, $f0
/* 34F080 E003A400 46001081 */ sub.s $f2, $f2, $f0
/* 34F084 E003A404 ACA20000 */ sw $v0, ($a1)
/* 34F088 E003A408 ACA00004 */ sw $zero, 4($a1)
/* 34F08C E003A40C AC670000 */ sw $a3, ($v1)
/* 34F090 E003A410 8FC50010 */ lw $a1, 0x10($fp)
/* 34F094 E003A414 3C014380 */ lui $at, 0x4380
/* 34F098 E003A418 44810000 */ mtc1 $at, $f0
/* 34F09C E003A41C 24620010 */ addiu $v0, $v1, 0x10
/* 34F0A0 E003A420 AE620000 */ sw $v0, ($s3)
/* 34F0A4 E003A424 8CA5001C */ lw $a1, 0x1c($a1)
/* 34F0A8 E003A428 3C02DE00 */ lui $v0, 0xde00
/* 34F0AC E003A42C AC620008 */ sw $v0, 8($v1)
/* 34F0B0 E003A430 3C028000 */ lui $v0, 0x8000
/* 34F0B4 E003A434 AC66000C */ sw $a2, 0xc($v1)
/* 34F0B8 E003A438 00A22821 */ addu $a1, $a1, $v0
/* 34F0BC E003A43C 3AA20007 */ xori $v0, $s5, 7
/* 34F0C0 E003A440 46001082 */ mul.s $f2, $f2, $f0
/* 34F0C4 E003A444 00000000 */ nop
/* 34F0C8 E003A448 AC650004 */ sw $a1, 4($v1)
/* 34F0CC E003A44C 8E850004 */ lw $a1, 4($s4)
/* 34F0D0 E003A450 8E860008 */ lw $a2, 8($s4)
/* 34F0D4 E003A454 8E87000C */ lw $a3, 0xc($s4)
/* 34F0D8 E003A458 2C420001 */ sltiu $v0, $v0, 1
/* 34F0DC E003A45C 4600110D */ trunc.w.s $f4, $f2
/* 34F0E0 E003A460 44162000 */ mfc1 $s6, $f4
/* 34F0E4 E003A464 0C080108 */ jal shim_guTranslateF
/* 34F0E8 E003A468 AFA200DC */ sw $v0, 0xdc($sp)
/* 34F0EC E003A46C 27B00058 */ addiu $s0, $sp, 0x58
/* 34F0F0 E003A470 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 34F0F4 E003A474 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 34F0F8 E003A478 44800000 */ mtc1 $zero, $f0
/* 34F0FC E003A47C 00031080 */ sll $v0, $v1, 2
/* 34F100 E003A480 00431021 */ addu $v0, $v0, $v1
/* 34F104 E003A484 00021080 */ sll $v0, $v0, 2
/* 34F108 E003A488 00431023 */ subu $v0, $v0, $v1
/* 34F10C E003A48C 000218C0 */ sll $v1, $v0, 3
/* 34F110 E003A490 00431021 */ addu $v0, $v0, $v1
/* 34F114 E003A494 000210C0 */ sll $v0, $v0, 3
/* 34F118 E003A498 44060000 */ mfc1 $a2, $f0
/* 34F11C E003A49C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 34F120 E003A4A0 00220821 */ addu $at, $at, $v0
/* 34F124 E003A4A4 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 34F128 E003A4A8 3C073F80 */ lui $a3, 0x3f80
/* 34F12C E003A4AC 46000007 */ neg.s $f0, $f0
/* 34F130 E003A4B0 44050000 */ mfc1 $a1, $f0
/* 34F134 E003A4B4 0200202D */ daddu $a0, $s0, $zero
/* 34F138 E003A4B8 0C080104 */ jal shim_guRotateF
/* 34F13C E003A4BC AFA60010 */ sw $a2, 0x10($sp)
/* 34F140 E003A4C0 0200202D */ daddu $a0, $s0, $zero
/* 34F144 E003A4C4 27A50018 */ addiu $a1, $sp, 0x18
/* 34F148 E003A4C8 27B00098 */ addiu $s0, $sp, 0x98
/* 34F14C E003A4CC 0C080114 */ jal shim_guMtxCatF
/* 34F150 E003A4D0 0200302D */ daddu $a2, $s0, $zero
/* 34F154 E003A4D4 0200202D */ daddu $a0, $s0, $zero
/* 34F158 E003A4D8 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 34F15C E003A4DC 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 34F160 E003A4E0 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 34F164 E003A4E4 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 34F168 E003A4E8 96050000 */ lhu $a1, ($s0)
/* 34F16C E003A4EC 8E220000 */ lw $v0, ($s1)
/* 34F170 E003A4F0 00052980 */ sll $a1, $a1, 6
/* 34F174 E003A4F4 00B22821 */ addu $a1, $a1, $s2
/* 34F178 E003A4F8 0C080118 */ jal shim_guMtxF2L
/* 34F17C E003A4FC 00452821 */ addu $a1, $v0, $a1
/* 34F180 E003A500 8E650000 */ lw $a1, ($s3)
/* 34F184 E003A504 00A0202D */ daddu $a0, $a1, $zero
/* 34F188 E003A508 24A50008 */ addiu $a1, $a1, 8
/* 34F18C E003A50C AE650000 */ sw $a1, ($s3)
/* 34F190 E003A510 96020000 */ lhu $v0, ($s0)
/* 34F194 E003A514 3C03DA38 */ lui $v1, 0xda38
/* 34F198 E003A518 AC830000 */ sw $v1, ($a0)
/* 34F19C E003A51C 24430001 */ addiu $v1, $v0, 1
/* 34F1A0 E003A520 3042FFFF */ andi $v0, $v0, 0xffff
/* 34F1A4 E003A524 00021180 */ sll $v0, $v0, 6
/* 34F1A8 E003A528 A6030000 */ sh $v1, ($s0)
/* 34F1AC E003A52C 8E230000 */ lw $v1, ($s1)
/* 34F1B0 E003A530 00521021 */ addu $v0, $v0, $s2
/* 34F1B4 E003A534 00621821 */ addu $v1, $v1, $v0
/* 34F1B8 E003A538 2AE20002 */ slti $v0, $s7, 2
/* 34F1BC E003A53C 10400009 */ beqz $v0, .LE003A564
/* 34F1C0 E003A540 AC830004 */ sw $v1, 4($a0)
/* 34F1C4 E003A544 3C02E6DE */ lui $v0, 0xe6de
/* 34F1C8 E003A548 3442DE82 */ ori $v0, $v0, 0xde82
/* 34F1CC E003A54C 24A30008 */ addiu $v1, $a1, 8
/* 34F1D0 E003A550 AE630000 */ sw $v1, ($s3)
/* 34F1D4 E003A554 3C03FA00 */ lui $v1, 0xfa00
/* 34F1D8 E003A558 ACA30000 */ sw $v1, ($a1)
/* 34F1DC E003A55C 0800E967 */ j .LE003A59C
/* 34F1E0 E003A560 ACA20004 */ sw $v0, 4($a1)
.LE003A564:
/* 34F1E4 E003A564 3C03FF28 */ lui $v1, 0xff28
/* 34F1E8 E003A568 34630AA0 */ ori $v1, $v1, 0xaa0
/* 34F1EC E003A56C 3C04E200 */ lui $a0, 0xe200
/* 34F1F0 E003A570 34841E01 */ ori $a0, $a0, 0x1e01
/* 34F1F4 E003A574 24A20008 */ addiu $v0, $a1, 8
/* 34F1F8 E003A578 AE620000 */ sw $v0, ($s3)
/* 34F1FC E003A57C 3C02FA00 */ lui $v0, 0xfa00
/* 34F200 E003A580 ACA20000 */ sw $v0, ($a1)
/* 34F204 E003A584 24A20010 */ addiu $v0, $a1, 0x10
/* 34F208 E003A588 ACA30004 */ sw $v1, 4($a1)
/* 34F20C E003A58C AE620000 */ sw $v0, ($s3)
/* 34F210 E003A590 24020003 */ addiu $v0, $zero, 3
/* 34F214 E003A594 ACA40008 */ sw $a0, 8($a1)
/* 34F218 E003A598 ACA2000C */ sw $v0, 0xc($a1)
.LE003A59C:
/* 34F21C E003A59C 3C08800A */ lui $t0, %hi(gMasterGfxPos)
/* 34F220 E003A5A0 2508A66C */ addiu $t0, $t0, %lo(gMasterGfxPos)
/* 34F224 E003A5A4 3C02FB00 */ lui $v0, 0xfb00
/* 34F228 E003A5A8 3C04F200 */ lui $a0, 0xf200
/* 34F22C E003A5AC 8D050000 */ lw $a1, ($t0)
/* 34F230 E003A5B0 00153940 */ sll $a3, $s5, 5
/* 34F234 E003A5B4 00A0182D */ daddu $v1, $a1, $zero
/* 34F238 E003A5B8 24A50008 */ addiu $a1, $a1, 8
/* 34F23C E003A5BC AD050000 */ sw $a1, ($t0)
/* 34F240 E003A5C0 AC620000 */ sw $v0, ($v1)
/* 34F244 E003A5C4 32C200FF */ andi $v0, $s6, 0xff
/* 34F248 E003A5C8 AC620004 */ sw $v0, 4($v1)
/* 34F24C E003A5CC 24A20008 */ addiu $v0, $a1, 8
/* 34F250 E003A5D0 AD020000 */ sw $v0, ($t0)
/* 34F254 E003A5D4 001511C0 */ sll $v0, $s5, 7
/* 34F258 E003A5D8 30420FFF */ andi $v0, $v0, 0xfff
/* 34F25C E003A5DC 00021300 */ sll $v0, $v0, 0xc
/* 34F260 E003A5E0 00441025 */ or $v0, $v0, $a0
/* 34F264 E003A5E4 ACA20000 */ sw $v0, ($a1)
/* 34F268 E003A5E8 24E20020 */ addiu $v0, $a3, 0x20
/* 34F26C E003A5EC 00021080 */ sll $v0, $v0, 2
/* 34F270 E003A5F0 30420FFF */ andi $v0, $v0, 0xfff
/* 34F274 E003A5F4 00023300 */ sll $a2, $v0, 0xc
/* 34F278 E003A5F8 34C20080 */ ori $v0, $a2, 0x80
/* 34F27C E003A5FC ACA20004 */ sw $v0, 4($a1)
/* 34F280 E003A600 8FA900DC */ lw $t1, 0xdc($sp)
/* 34F284 E003A604 1120000E */ beqz $t1, .LE003A640
/* 34F288 E003A608 0080182D */ daddu $v1, $a0, $zero
/* 34F28C E003A60C 34630080 */ ori $v1, $v1, 0x80
/* 34F290 E003A610 3C040100 */ lui $a0, 0x100
/* 34F294 E003A614 34840100 */ ori $a0, $a0, 0x100
/* 34F298 E003A618 24A20010 */ addiu $v0, $a1, 0x10
/* 34F29C E003A61C 00C31825 */ or $v1, $a2, $v1
/* 34F2A0 E003A620 AD020000 */ sw $v0, ($t0)
/* 34F2A4 E003A624 24E20040 */ addiu $v0, $a3, 0x40
/* 34F2A8 E003A628 00021080 */ sll $v0, $v0, 2
/* 34F2AC E003A62C 30420FFF */ andi $v0, $v0, 0xfff
/* 34F2B0 E003A630 00021300 */ sll $v0, $v0, 0xc
/* 34F2B4 E003A634 00441025 */ or $v0, $v0, $a0
/* 34F2B8 E003A638 0800E99B */ j .LE003A66C
/* 34F2BC E003A63C ACA30008 */ sw $v1, 8($a1)
.LE003A640:
/* 34F2C0 E003A640 3C030100 */ lui $v1, 0x100
/* 34F2C4 E003A644 34630080 */ ori $v1, $v1, 0x80
/* 34F2C8 E003A648 24A20010 */ addiu $v0, $a1, 0x10
/* 34F2CC E003A64C AD020000 */ sw $v0, ($t0)
/* 34F2D0 E003A650 00C41025 */ or $v0, $a2, $a0
/* 34F2D4 E003A654 ACA20008 */ sw $v0, 8($a1)
/* 34F2D8 E003A658 24E20040 */ addiu $v0, $a3, 0x40
/* 34F2DC E003A65C 00021080 */ sll $v0, $v0, 2
/* 34F2E0 E003A660 30420FFF */ andi $v0, $v0, 0xfff
/* 34F2E4 E003A664 00021300 */ sll $v0, $v0, 0xc
/* 34F2E8 E003A668 00431025 */ or $v0, $v0, $v1
.LE003A66C:
/* 34F2EC E003A66C ACA2000C */ sw $v0, 0xc($a1)
/* 34F2F0 E003A670 8FC20008 */ lw $v0, 8($fp)
/* 34F2F4 E003A674 24110001 */ addiu $s1, $zero, 1
/* 34F2F8 E003A678 0222102A */ slt $v0, $s1, $v0
/* 34F2FC E003A67C 10400037 */ beqz $v0, .LE003A75C
/* 34F300 E003A680 26940034 */ addiu $s4, $s4, 0x34
/* 34F304 E003A684 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 34F308 E003A688 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 34F30C E003A68C 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 34F310 E003A690 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 34F314 E003A694 3C130001 */ lui $s3, 1
/* 34F318 E003A698 36731630 */ ori $s3, $s3, 0x1630
/* 34F31C E003A69C 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 34F320 E003A6A0 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 34F324 E003A6A4 2690000C */ addiu $s0, $s4, 0xc
.LE003A6A8:
/* 34F328 E003A6A8 27A40018 */ addiu $a0, $sp, 0x18
/* 34F32C E003A6AC 26310001 */ addiu $s1, $s1, 1
/* 34F330 E003A6B0 8E05FFF8 */ lw $a1, -8($s0)
/* 34F334 E003A6B4 8E06FFFC */ lw $a2, -4($s0)
/* 34F338 E003A6B8 8E070000 */ lw $a3, ($s0)
/* 34F33C E003A6BC 0C080108 */ jal shim_guTranslateF
/* 34F340 E003A6C0 26100034 */ addiu $s0, $s0, 0x34
/* 34F344 E003A6C4 27A40018 */ addiu $a0, $sp, 0x18
/* 34F348 E003A6C8 96A50000 */ lhu $a1, ($s5)
/* 34F34C E003A6CC 8EC20000 */ lw $v0, ($s6)
/* 34F350 E003A6D0 00052980 */ sll $a1, $a1, 6
/* 34F354 E003A6D4 00B32821 */ addu $a1, $a1, $s3
/* 34F358 E003A6D8 0C080118 */ jal shim_guMtxF2L
/* 34F35C E003A6DC 00452821 */ addu $a1, $v0, $a1
/* 34F360 E003A6E0 3C06D838 */ lui $a2, 0xd838
/* 34F364 E003A6E4 8E440000 */ lw $a0, ($s2)
/* 34F368 E003A6E8 34C60002 */ ori $a2, $a2, 2
/* 34F36C E003A6EC 0080282D */ daddu $a1, $a0, $zero
/* 34F370 E003A6F0 24840008 */ addiu $a0, $a0, 8
/* 34F374 E003A6F4 AE440000 */ sw $a0, ($s2)
/* 34F378 E003A6F8 96A20000 */ lhu $v0, ($s5)
/* 34F37C E003A6FC 3C03DA38 */ lui $v1, 0xda38
/* 34F380 E003A700 ACA30000 */ sw $v1, ($a1)
/* 34F384 E003A704 24430001 */ addiu $v1, $v0, 1
/* 34F388 E003A708 3042FFFF */ andi $v0, $v0, 0xffff
/* 34F38C E003A70C 00021180 */ sll $v0, $v0, 6
/* 34F390 E003A710 A6A30000 */ sh $v1, ($s5)
/* 34F394 E003A714 8EC30000 */ lw $v1, ($s6)
/* 34F398 E003A718 00531021 */ addu $v0, $v0, $s3
/* 34F39C E003A71C 00621821 */ addu $v1, $v1, $v0
/* 34F3A0 E003A720 24820008 */ addiu $v0, $a0, 8
/* 34F3A4 E003A724 ACA30004 */ sw $v1, 4($a1)
/* 34F3A8 E003A728 AE420000 */ sw $v0, ($s2)
/* 34F3AC E003A72C 3C02DE00 */ lui $v0, 0xde00
/* 34F3B0 E003A730 AC820000 */ sw $v0, ($a0)
/* 34F3B4 E003A734 8FA900D8 */ lw $t1, 0xd8($sp)
/* 34F3B8 E003A738 24020040 */ addiu $v0, $zero, 0x40
/* 34F3BC E003A73C AC860008 */ sw $a2, 8($a0)
/* 34F3C0 E003A740 AC82000C */ sw $v0, 0xc($a0)
/* 34F3C4 E003A744 AC890004 */ sw $t1, 4($a0)
/* 34F3C8 E003A748 8FC20008 */ lw $v0, 8($fp)
/* 34F3CC E003A74C 24840010 */ addiu $a0, $a0, 0x10
/* 34F3D0 E003A750 0222102A */ slt $v0, $s1, $v0
/* 34F3D4 E003A754 1440FFD4 */ bnez $v0, .LE003A6A8
/* 34F3D8 E003A758 AE440000 */ sw $a0, ($s2)
.LE003A75C:
/* 34F3DC E003A75C 3C02D838 */ lui $v0, 0xd838
/* 34F3E0 E003A760 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 34F3E4 E003A764 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 34F3E8 E003A768 8CA40000 */ lw $a0, ($a1)
/* 34F3EC E003A76C 34420002 */ ori $v0, $v0, 2
/* 34F3F0 E003A770 0080182D */ daddu $v1, $a0, $zero
/* 34F3F4 E003A774 24840008 */ addiu $a0, $a0, 8
/* 34F3F8 E003A778 ACA40000 */ sw $a0, ($a1)
/* 34F3FC E003A77C AC620000 */ sw $v0, ($v1)
/* 34F400 E003A780 24020040 */ addiu $v0, $zero, 0x40
/* 34F404 E003A784 AC620004 */ sw $v0, 4($v1)
/* 34F408 E003A788 24020002 */ addiu $v0, $zero, 2
/* 34F40C E003A78C 16E20006 */ bne $s7, $v0, .LE003A7A8
/* 34F410 E003A790 3C03E200 */ lui $v1, 0xe200
/* 34F414 E003A794 34631E01 */ ori $v1, $v1, 0x1e01
/* 34F418 E003A798 24820008 */ addiu $v0, $a0, 8
/* 34F41C E003A79C ACA20000 */ sw $v0, ($a1)
/* 34F420 E003A7A0 AC830000 */ sw $v1, ($a0)
/* 34F424 E003A7A4 AC800004 */ sw $zero, 4($a0)
.LE003A7A8:
/* 34F428 E003A7A8 8CA20000 */ lw $v0, ($a1)
/* 34F42C E003A7AC 0040182D */ daddu $v1, $v0, $zero
/* 34F430 E003A7B0 24420008 */ addiu $v0, $v0, 8
/* 34F434 E003A7B4 ACA20000 */ sw $v0, ($a1)
/* 34F438 E003A7B8 3C02E700 */ lui $v0, 0xe700
/* 34F43C E003A7BC AC620000 */ sw $v0, ($v1)
/* 34F440 E003A7C0 AC600004 */ sw $zero, 4($v1)
/* 34F444 E003A7C4 8FBF0104 */ lw $ra, 0x104($sp)
/* 34F448 E003A7C8 8FBE0100 */ lw $fp, 0x100($sp)
/* 34F44C E003A7CC 8FB700FC */ lw $s7, 0xfc($sp)
/* 34F450 E003A7D0 8FB600F8 */ lw $s6, 0xf8($sp)
/* 34F454 E003A7D4 8FB500F4 */ lw $s5, 0xf4($sp)
/* 34F458 E003A7D8 8FB400F0 */ lw $s4, 0xf0($sp)
/* 34F45C E003A7DC 8FB300EC */ lw $s3, 0xec($sp)
/* 34F460 E003A7E0 8FB200E8 */ lw $s2, 0xe8($sp)
/* 34F464 E003A7E4 8FB100E4 */ lw $s1, 0xe4($sp)
/* 34F468 E003A7E8 8FB000E0 */ lw $s0, 0xe0($sp)
/* 34F46C E003A7EC 03E00008 */ jr $ra
/* 34F470 E003A7F0 27BD0108 */ addiu $sp, $sp, 0x108
/* 34F474 E003A7F4 00000000 */ nop
/* 34F478 E003A7F8 00000000 */ nop
/* 34F47C E003A7FC 00000000 */ nop

View File

@ -1,127 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel smoke_impact_main
/* 34EC80 E003A000 27BDFF98 */ addiu $sp, $sp, -0x68
/* 34EC84 E003A004 F7B40048 */ sdc1 $f20, 0x48($sp)
/* 34EC88 E003A008 4485A000 */ mtc1 $a1, $f20
/* 34EC8C E003A00C F7B60050 */ sdc1 $f22, 0x50($sp)
/* 34EC90 E003A010 4486B000 */ mtc1 $a2, $f22
/* 34EC94 E003A014 F7B80058 */ sdc1 $f24, 0x58($sp)
/* 34EC98 E003A018 4487C000 */ mtc1 $a3, $f24
/* 34EC9C E003A01C AFB30034 */ sw $s3, 0x34($sp)
/* 34ECA0 E003A020 8FB3007C */ lw $s3, 0x7c($sp)
/* 34ECA4 E003A024 AFB5003C */ sw $s5, 0x3c($sp)
/* 34ECA8 E003A028 0080A82D */ daddu $s5, $a0, $zero
/* 34ECAC E003A02C F7BA0060 */ sdc1 $f26, 0x60($sp)
/* 34ECB0 E003A030 C7BA0080 */ lwc1 $f26, 0x80($sp)
/* 34ECB4 E003A034 27A40010 */ addiu $a0, $sp, 0x10
/* 34ECB8 E003A038 AFB40038 */ sw $s4, 0x38($sp)
/* 34ECBC E003A03C 8FB40084 */ lw $s4, 0x84($sp)
/* 34ECC0 E003A040 3C02E004 */ lui $v0, %hi(smoke_impact_init)
/* 34ECC4 E003A044 2442A1D4 */ addiu $v0, $v0, %lo(smoke_impact_init)
/* 34ECC8 E003A048 AFA20018 */ sw $v0, 0x18($sp)
/* 34ECCC E003A04C 3C02E004 */ lui $v0, %hi(smoke_impact_update)
/* 34ECD0 E003A050 2442A1DC */ addiu $v0, $v0, %lo(smoke_impact_update)
/* 34ECD4 E003A054 AFA2001C */ sw $v0, 0x1c($sp)
/* 34ECD8 E003A058 3C02E004 */ lui $v0, %hi(smoke_impact_render)
/* 34ECDC E003A05C 2442A310 */ addiu $v0, $v0, %lo(smoke_impact_render)
/* 34ECE0 E003A060 AFA20020 */ sw $v0, 0x20($sp)
/* 34ECE4 E003A064 2402001D */ addiu $v0, $zero, 0x1d
/* 34ECE8 E003A068 AFBF0040 */ sw $ra, 0x40($sp)
/* 34ECEC E003A06C AFB20030 */ sw $s2, 0x30($sp)
/* 34ECF0 E003A070 AFB1002C */ sw $s1, 0x2c($sp)
/* 34ECF4 E003A074 AFB00028 */ sw $s0, 0x28($sp)
/* 34ECF8 E003A078 AFA00010 */ sw $zero, 0x10($sp)
/* 34ECFC E003A07C AFA00024 */ sw $zero, 0x24($sp)
/* 34ED00 E003A080 AFA20014 */ sw $v0, 0x14($sp)
/* 34ED04 E003A084 0C080124 */ jal shim_create_effect_instance
/* 34ED08 E003A088 26730001 */ addiu $s3, $s3, 1
/* 34ED0C E003A08C 00132040 */ sll $a0, $s3, 1
/* 34ED10 E003A090 00932021 */ addu $a0, $a0, $s3
/* 34ED14 E003A094 00042080 */ sll $a0, $a0, 2
/* 34ED18 E003A098 00932021 */ addu $a0, $a0, $s3
/* 34ED1C E003A09C 00042080 */ sll $a0, $a0, 2
/* 34ED20 E003A0A0 0040802D */ daddu $s0, $v0, $zero
/* 34ED24 E003A0A4 0C08012C */ jal shim_general_heap_malloc
/* 34ED28 E003A0A8 AE130008 */ sw $s3, 8($s0)
/* 34ED2C E003A0AC 0040882D */ daddu $s1, $v0, $zero
/* 34ED30 E003A0B0 16200003 */ bnez $s1, .LE003A0C0
/* 34ED34 E003A0B4 AE11000C */ sw $s1, 0xc($s0)
.LE003A0B8:
/* 34ED38 E003A0B8 0800E82E */ j .LE003A0B8
/* 34ED3C E003A0BC 00000000 */ nop
.LE003A0C0:
/* 34ED40 E003A0C0 0220202D */ daddu $a0, $s1, $zero
/* 34ED44 E003A0C4 00132840 */ sll $a1, $s3, 1
/* 34ED48 E003A0C8 00B32821 */ addu $a1, $a1, $s3
/* 34ED4C E003A0CC 00052880 */ sll $a1, $a1, 2
/* 34ED50 E003A0D0 00B32821 */ addu $a1, $a1, $s3
/* 34ED54 E003A0D4 0C080130 */ jal shim_mem_clear
/* 34ED58 E003A0D8 00052880 */ sll $a1, $a1, 2
/* 34ED5C E003A0DC 3C014120 */ lui $at, 0x4120
/* 34ED60 E003A0E0 44811000 */ mtc1 $at, $f2
/* 34ED64 E003A0E4 24120001 */ addiu $s2, $zero, 1
/* 34ED68 E003A0E8 AE340024 */ sw $s4, 0x24($s1)
/* 34ED6C E003A0EC AE200028 */ sw $zero, 0x28($s1)
/* 34ED70 E003A0F0 AE34002C */ sw $s4, 0x2c($s1)
/* 34ED74 E003A0F4 AE200030 */ sw $zero, 0x30($s1)
/* 34ED78 E003A0F8 A6350000 */ sh $s5, ($s1)
/* 34ED7C E003A0FC E6340004 */ swc1 $f20, 4($s1)
/* 34ED80 E003A100 E6360008 */ swc1 $f22, 8($s1)
/* 34ED84 E003A104 E638000C */ swc1 $f24, 0xc($s1)
/* 34ED88 E003A108 C7A00078 */ lwc1 $f0, 0x78($sp)
/* 34ED8C E003A10C 0253102A */ slt $v0, $s2, $s3
/* 34ED90 E003A110 E6200020 */ swc1 $f0, 0x20($s1)
/* 34ED94 E003A114 E622001C */ swc1 $f2, 0x1c($s1)
/* 34ED98 E003A118 10400021 */ beqz $v0, .LE003A1A0
/* 34ED9C E003A11C 26310034 */ addiu $s1, $s1, 0x34
/* 34EDA0 E003A120 2674FFFF */ addiu $s4, $s3, -1
/* 34EDA4 E003A124 26300018 */ addiu $s0, $s1, 0x18
/* 34EDA8 E003A128 0000882D */ daddu $s1, $zero, $zero
.LE003A12C:
/* 34EDAC E003A12C 16800002 */ bnez $s4, .LE003A138
/* 34EDB0 E003A130 0234001A */ div $zero, $s1, $s4
/* 34EDB4 E003A134 0007000D */ break 7
.LE003A138:
/* 34EDB8 E003A138 2401FFFF */ addiu $at, $zero, -1
/* 34EDBC E003A13C 16810004 */ bne $s4, $at, .LE003A150
/* 34EDC0 E003A140 3C018000 */ lui $at, 0x8000
/* 34EDC4 E003A144 16210002 */ bne $s1, $at, .LE003A150
/* 34EDC8 E003A148 00000000 */ nop
/* 34EDCC E003A14C 0006000D */ break 6
.LE003A150:
/* 34EDD0 E003A150 00001812 */ mflo $v1
/* 34EDD4 E003A154 26310168 */ addiu $s1, $s1, 0x168
/* 34EDD8 E003A158 26520001 */ addiu $s2, $s2, 1
/* 34EDDC E003A15C AE00FFEC */ sw $zero, -0x14($s0)
/* 34EDE0 E003A160 4483A000 */ mtc1 $v1, $f20
/* 34EDE4 E003A164 00000000 */ nop
/* 34EDE8 E003A168 4680A520 */ cvt.s.w $f20, $f20
/* 34EDEC E003A16C 4614D500 */ add.s $f20, $f26, $f20
/* 34EDF0 E003A170 AE00FFF0 */ sw $zero, -0x10($s0)
/* 34EDF4 E003A174 AE00FFF4 */ sw $zero, -0xc($s0)
/* 34EDF8 E003A178 0C080140 */ jal shim_sin_deg
/* 34EDFC E003A17C 4600A306 */ mov.s $f12, $f20
/* 34EE00 E003A180 4600A306 */ mov.s $f12, $f20
/* 34EE04 E003A184 E600FFF8 */ swc1 $f0, -8($s0)
/* 34EE08 E003A188 0C080144 */ jal shim_cos_deg
/* 34EE0C E003A18C AE00FFFC */ sw $zero, -4($s0)
/* 34EE10 E003A190 E6000000 */ swc1 $f0, ($s0)
/* 34EE14 E003A194 0253102A */ slt $v0, $s2, $s3
/* 34EE18 E003A198 1440FFE4 */ bnez $v0, .LE003A12C
/* 34EE1C E003A19C 26100034 */ addiu $s0, $s0, 0x34
.LE003A1A0:
/* 34EE20 E003A1A0 8FBF0040 */ lw $ra, 0x40($sp)
/* 34EE24 E003A1A4 8FB5003C */ lw $s5, 0x3c($sp)
/* 34EE28 E003A1A8 8FB40038 */ lw $s4, 0x38($sp)
/* 34EE2C E003A1AC 8FB30034 */ lw $s3, 0x34($sp)
/* 34EE30 E003A1B0 8FB20030 */ lw $s2, 0x30($sp)
/* 34EE34 E003A1B4 8FB1002C */ lw $s1, 0x2c($sp)
/* 34EE38 E003A1B8 8FB00028 */ lw $s0, 0x28($sp)
/* 34EE3C E003A1BC D7BA0060 */ ldc1 $f26, 0x60($sp)
/* 34EE40 E003A1C0 D7B80058 */ ldc1 $f24, 0x58($sp)
/* 34EE44 E003A1C4 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 34EE48 E003A1C8 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 34EE4C E003A1CC 03E00008 */ jr $ra
/* 34EE50 E003A1D0 27BD0068 */ addiu $sp, $sp, 0x68

View File

@ -1,97 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E003A820
.double 0.1
dlabel D_E003A828
.double 0.04
dlabel D_E003A830
.double 0.9, 0.0
.section .text
glabel smoke_impact_update
/* 34EE5C E003A1DC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 34EE60 E003A1E0 AFBF0010 */ sw $ra, 0x10($sp)
/* 34EE64 E003A1E4 8C85000C */ lw $a1, 0xc($a0)
/* 34EE68 E003A1E8 3C014100 */ lui $at, 0x4100
/* 34EE6C E003A1EC 44810000 */ mtc1 $at, $f0
/* 34EE70 E003A1F0 8CA20028 */ lw $v0, 0x28($a1)
/* 34EE74 E003A1F4 8CA30024 */ lw $v1, 0x24($a1)
/* 34EE78 E003A1F8 44821000 */ mtc1 $v0, $f2
/* 34EE7C E003A1FC 00000000 */ nop
/* 34EE80 E003A200 468010A0 */ cvt.s.w $f2, $f2
/* 34EE84 E003A204 24420001 */ addiu $v0, $v0, 1
/* 34EE88 E003A208 46001082 */ mul.s $f2, $f2, $f0
/* 34EE8C E003A20C 00000000 */ nop
/* 34EE90 E003A210 2463FFFF */ addiu $v1, $v1, -1
/* 34EE94 E003A214 C4A0002C */ lwc1 $f0, 0x2c($a1)
/* 34EE98 E003A218 46800020 */ cvt.s.w $f0, $f0
/* 34EE9C E003A21C ACA20028 */ sw $v0, 0x28($a1)
/* 34EEA0 E003A220 ACA30024 */ sw $v1, 0x24($a1)
/* 34EEA4 E003A224 46001083 */ div.s $f2, $f2, $f0
/* 34EEA8 E003A228 04610005 */ bgez $v1, .LE003A240
/* 34EEAC E003A22C E4A20030 */ swc1 $f2, 0x30($a1)
/* 34EEB0 E003A230 0C080128 */ jal shim_remove_effect
/* 34EEB4 E003A234 00000000 */ nop
/* 34EEB8 E003A238 0800E8C1 */ j .LE003A304
/* 34EEBC E003A23C 00000000 */ nop
.LE003A240:
/* 34EEC0 E003A240 C4A2001C */ lwc1 $f2, 0x1c($a1)
/* 34EEC4 E003A244 C4A00020 */ lwc1 $f0, 0x20($a1)
/* 34EEC8 E003A248 46020001 */ sub.s $f0, $f0, $f2
/* 34EECC E003A24C 3C01E004 */ lui $at, %hi(D_E003A820)
/* 34EED0 E003A250 D424A820 */ ldc1 $f4, %lo(D_E003A820)($at)
/* 34EED4 E003A254 46000021 */ cvt.d.s $f0, $f0
/* 34EED8 E003A258 46240002 */ mul.d $f0, $f0, $f4
/* 34EEDC E003A25C 00000000 */ nop
/* 34EEE0 E003A260 460010A1 */ cvt.d.s $f2, $f2
/* 34EEE4 E003A264 46201080 */ add.d $f2, $f2, $f0
/* 34EEE8 E003A268 24060001 */ addiu $a2, $zero, 1
/* 34EEEC E003A26C 462010A0 */ cvt.s.d $f2, $f2
/* 34EEF0 E003A270 E4A2001C */ swc1 $f2, 0x1c($a1)
/* 34EEF4 E003A274 24A50034 */ addiu $a1, $a1, 0x34
/* 34EEF8 E003A278 8C820008 */ lw $v0, 8($a0)
/* 34EEFC E003A27C 00C2102A */ slt $v0, $a2, $v0
/* 34EF00 E003A280 10400020 */ beqz $v0, .LE003A304
/* 34EF04 E003A284 46001206 */ mov.s $f8, $f2
/* 34EF08 E003A288 24A3000C */ addiu $v1, $a1, 0xc
/* 34EF0C E003A28C 3C01E004 */ lui $at, %hi(D_E003A828)
/* 34EF10 E003A290 D42CA828 */ ldc1 $f12, %lo(D_E003A828)($at)
/* 34EF14 E003A294 3C01E004 */ lui $at, %hi(D_E003A830)
/* 34EF18 E003A298 D42AA830 */ ldc1 $f10, %lo(D_E003A830)($at)
.LE003A29C:
/* 34EF1C E003A29C C4600008 */ lwc1 $f0, 8($v1)
/* 34EF20 E003A2A0 46000021 */ cvt.d.s $f0, $f0
/* 34EF24 E003A2A4 462C0000 */ add.d $f0, $f0, $f12
/* 34EF28 E003A2A8 46200020 */ cvt.s.d $f0, $f0
/* 34EF2C E003A2AC 46000021 */ cvt.d.s $f0, $f0
/* 34EF30 E003A2B0 462A0002 */ mul.d $f0, $f0, $f10
/* 34EF34 E003A2B4 00000000 */ nop
/* 34EF38 E003A2B8 C4660004 */ lwc1 $f6, 4($v1)
/* 34EF3C E003A2BC 46064182 */ mul.s $f6, $f8, $f6
/* 34EF40 E003A2C0 00000000 */ nop
/* 34EF44 E003A2C4 C464000C */ lwc1 $f4, 0xc($v1)
/* 34EF48 E003A2C8 46044102 */ mul.s $f4, $f8, $f4
/* 34EF4C E003A2CC 00000000 */ nop
/* 34EF50 E003A2D0 46200020 */ cvt.s.d $f0, $f0
/* 34EF54 E003A2D4 E4600008 */ swc1 $f0, 8($v1)
/* 34EF58 E003A2D8 C460FFFC */ lwc1 $f0, -4($v1)
/* 34EF5C E003A2DC C4620008 */ lwc1 $f2, 8($v1)
/* 34EF60 E003A2E0 24C60001 */ addiu $a2, $a2, 1
/* 34EF64 E003A2E4 46020000 */ add.s $f0, $f0, $f2
/* 34EF68 E003A2E8 E466FFF8 */ swc1 $f6, -8($v1)
/* 34EF6C E003A2EC E4640000 */ swc1 $f4, ($v1)
/* 34EF70 E003A2F0 E460FFFC */ swc1 $f0, -4($v1)
/* 34EF74 E003A2F4 8C820008 */ lw $v0, 8($a0)
/* 34EF78 E003A2F8 00C2102A */ slt $v0, $a2, $v0
/* 34EF7C E003A2FC 1440FFE7 */ bnez $v0, .LE003A29C
/* 34EF80 E003A300 24630034 */ addiu $v1, $v1, 0x34
.LE003A304:
/* 34EF84 E003A304 8FBF0010 */ lw $ra, 0x10($sp)
/* 34EF88 E003A308 03E00008 */ jr $ra
/* 34EF8C E003A30C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,255 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel smoke_ring_appendGfx
/* 341D48 E002E368 27BDFEF8 */ addiu $sp, $sp, -0x108
/* 341D4C E002E36C AFBE0100 */ sw $fp, 0x100($sp)
/* 341D50 E002E370 0080F02D */ daddu $fp, $a0, $zero
/* 341D54 E002E374 AFBF0104 */ sw $ra, 0x104($sp)
/* 341D58 E002E378 AFB700FC */ sw $s7, 0xfc($sp)
/* 341D5C E002E37C AFB600F8 */ sw $s6, 0xf8($sp)
/* 341D60 E002E380 AFB500F4 */ sw $s5, 0xf4($sp)
/* 341D64 E002E384 AFB400F0 */ sw $s4, 0xf0($sp)
/* 341D68 E002E388 AFB300EC */ sw $s3, 0xec($sp)
/* 341D6C E002E38C AFB200E8 */ sw $s2, 0xe8($sp)
/* 341D70 E002E390 AFB100E4 */ sw $s1, 0xe4($sp)
/* 341D74 E002E394 AFB000E0 */ sw $s0, 0xe0($sp)
/* 341D78 E002E398 8FD4000C */ lw $s4, 0xc($fp)
/* 341D7C E002E39C 8E820040 */ lw $v0, 0x40($s4)
/* 341D80 E002E3A0 3C170900 */ lui $s7, 0x900
/* 341D84 E002E3A4 26F72B40 */ addiu $s7, $s7, 0x2b40
/* 341D88 E002E3A8 30550007 */ andi $s5, $v0, 7
/* 341D8C E002E3AC 30430038 */ andi $v1, $v0, 0x38
/* 341D90 E002E3B0 0003B080 */ sll $s6, $v1, 2
/* 341D94 E002E3B4 96830000 */ lhu $v1, ($s4)
/* 341D98 E002E3B8 30420040 */ andi $v0, $v0, 0x40
/* 341D9C E002E3BC 10600003 */ beqz $v1, .LE002E3CC
/* 341DA0 E002E3C0 AFA200D8 */ sw $v0, 0xd8($sp)
/* 341DA4 E002E3C4 3C170900 */ lui $s7, 0x900
/* 341DA8 E002E3C8 26F72B60 */ addiu $s7, $s7, 0x2b60
.LE002E3CC:
/* 341DAC E002E3CC 3C06DB06 */ lui $a2, 0xdb06
/* 341DB0 E002E3D0 34C60024 */ ori $a2, $a2, 0x24
/* 341DB4 E002E3D4 27A40018 */ addiu $a0, $sp, 0x18
/* 341DB8 E002E3D8 3C120001 */ lui $s2, 1
/* 341DBC E002E3DC 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 341DC0 E002E3E0 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 341DC4 E002E3E4 36521630 */ ori $s2, $s2, 0x1630
/* 341DC8 E002E3E8 8E630000 */ lw $v1, ($s3)
/* 341DCC E002E3EC 3C02E700 */ lui $v0, 0xe700
/* 341DD0 E002E3F0 0060282D */ daddu $a1, $v1, $zero
/* 341DD4 E002E3F4 24630008 */ addiu $v1, $v1, 8
/* 341DD8 E002E3F8 AE630000 */ sw $v1, ($s3)
/* 341DDC E002E3FC ACA20000 */ sw $v0, ($a1)
/* 341DE0 E002E400 ACA00004 */ sw $zero, 4($a1)
/* 341DE4 E002E404 AC660000 */ sw $a2, ($v1)
/* 341DE8 E002E408 8FC50010 */ lw $a1, 0x10($fp)
/* 341DEC E002E40C 24620008 */ addiu $v0, $v1, 8
/* 341DF0 E002E410 AE620000 */ sw $v0, ($s3)
/* 341DF4 E002E414 8CA5001C */ lw $a1, 0x1c($a1)
/* 341DF8 E002E418 3C02DE00 */ lui $v0, 0xde00
/* 341DFC E002E41C AC620008 */ sw $v0, 8($v1)
/* 341E00 E002E420 3C020900 */ lui $v0, 0x900
/* 341E04 E002E424 24422950 */ addiu $v0, $v0, 0x2950
/* 341E08 E002E428 AC62000C */ sw $v0, 0xc($v1)
/* 341E0C E002E42C 3C028000 */ lui $v0, 0x8000
/* 341E10 E002E430 00A22821 */ addu $a1, $a1, $v0
/* 341E14 E002E434 AC650004 */ sw $a1, 4($v1)
/* 341E18 E002E438 8E850004 */ lw $a1, 4($s4)
/* 341E1C E002E43C 8E860008 */ lw $a2, 8($s4)
/* 341E20 E002E440 8E87000C */ lw $a3, 0xc($s4)
/* 341E24 E002E444 24630010 */ addiu $v1, $v1, 0x10
/* 341E28 E002E448 0C080108 */ jal shim_guTranslateF
/* 341E2C E002E44C AE630000 */ sw $v1, ($s3)
/* 341E30 E002E450 27B00058 */ addiu $s0, $sp, 0x58
/* 341E34 E002E454 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 341E38 E002E458 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 341E3C E002E45C 44800000 */ mtc1 $zero, $f0
/* 341E40 E002E460 00031080 */ sll $v0, $v1, 2
/* 341E44 E002E464 00431021 */ addu $v0, $v0, $v1
/* 341E48 E002E468 00021080 */ sll $v0, $v0, 2
/* 341E4C E002E46C 00431023 */ subu $v0, $v0, $v1
/* 341E50 E002E470 000218C0 */ sll $v1, $v0, 3
/* 341E54 E002E474 00431021 */ addu $v0, $v0, $v1
/* 341E58 E002E478 000210C0 */ sll $v0, $v0, 3
/* 341E5C E002E47C 44060000 */ mfc1 $a2, $f0
/* 341E60 E002E480 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 341E64 E002E484 00220821 */ addu $at, $at, $v0
/* 341E68 E002E488 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 341E6C E002E48C 3C073F80 */ lui $a3, 0x3f80
/* 341E70 E002E490 46000007 */ neg.s $f0, $f0
/* 341E74 E002E494 44050000 */ mfc1 $a1, $f0
/* 341E78 E002E498 0200202D */ daddu $a0, $s0, $zero
/* 341E7C E002E49C 0C080104 */ jal shim_guRotateF
/* 341E80 E002E4A0 AFA60010 */ sw $a2, 0x10($sp)
/* 341E84 E002E4A4 0200202D */ daddu $a0, $s0, $zero
/* 341E88 E002E4A8 27A50018 */ addiu $a1, $sp, 0x18
/* 341E8C E002E4AC 27B00098 */ addiu $s0, $sp, 0x98
/* 341E90 E002E4B0 0C080114 */ jal shim_guMtxCatF
/* 341E94 E002E4B4 0200302D */ daddu $a2, $s0, $zero
/* 341E98 E002E4B8 0200202D */ daddu $a0, $s0, $zero
/* 341E9C E002E4BC 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 341EA0 E002E4C0 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 341EA4 E002E4C4 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 341EA8 E002E4C8 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 341EAC E002E4CC 96050000 */ lhu $a1, ($s0)
/* 341EB0 E002E4D0 8E220000 */ lw $v0, ($s1)
/* 341EB4 E002E4D4 00052980 */ sll $a1, $a1, 6
/* 341EB8 E002E4D8 00B22821 */ addu $a1, $a1, $s2
/* 341EBC E002E4DC 0C080118 */ jal shim_guMtxF2L
/* 341EC0 E002E4E0 00452821 */ addu $a1, $v0, $a1
/* 341EC4 E002E4E4 3C05EEDC */ lui $a1, 0xeedc
/* 341EC8 E002E4E8 8E660000 */ lw $a2, ($s3)
/* 341ECC E002E4EC 34A5D7A0 */ ori $a1, $a1, 0xd7a0
/* 341ED0 E002E4F0 00C0202D */ daddu $a0, $a2, $zero
/* 341ED4 E002E4F4 24C60008 */ addiu $a2, $a2, 8
/* 341ED8 E002E4F8 AE660000 */ sw $a2, ($s3)
/* 341EDC E002E4FC 96020000 */ lhu $v0, ($s0)
/* 341EE0 E002E500 3C03DA38 */ lui $v1, 0xda38
/* 341EE4 E002E504 AC830000 */ sw $v1, ($a0)
/* 341EE8 E002E508 24430001 */ addiu $v1, $v0, 1
/* 341EEC E002E50C 3042FFFF */ andi $v0, $v0, 0xffff
/* 341EF0 E002E510 00021180 */ sll $v0, $v0, 6
/* 341EF4 E002E514 A6030000 */ sh $v1, ($s0)
/* 341EF8 E002E518 8E230000 */ lw $v1, ($s1)
/* 341EFC E002E51C 00521021 */ addu $v0, $v0, $s2
/* 341F00 E002E520 00621821 */ addu $v1, $v1, $v0
/* 341F04 E002E524 24C20008 */ addiu $v0, $a2, 8
/* 341F08 E002E528 AC830004 */ sw $v1, 4($a0)
/* 341F0C E002E52C AE620000 */ sw $v0, ($s3)
/* 341F10 E002E530 3C02FA00 */ lui $v0, 0xfa00
/* 341F14 E002E534 ACC20000 */ sw $v0, ($a2)
/* 341F18 E002E538 24C20010 */ addiu $v0, $a2, 0x10
/* 341F1C E002E53C ACC50004 */ sw $a1, 4($a2)
/* 341F20 E002E540 AE620000 */ sw $v0, ($s3)
/* 341F24 E002E544 3C02FB00 */ lui $v0, 0xfb00
/* 341F28 E002E548 ACC20008 */ sw $v0, 8($a2)
/* 341F2C E002E54C 24C20018 */ addiu $v0, $a2, 0x18
/* 341F30 E002E550 ACD6000C */ sw $s6, 0xc($a2)
/* 341F34 E002E554 AE620000 */ sw $v0, ($s3)
/* 341F38 E002E558 001514C0 */ sll $v0, $s5, 0x13
/* 341F3C E002E55C 3C04F200 */ lui $a0, 0xf200
/* 341F40 E002E560 00441025 */ or $v0, $v0, $a0
/* 341F44 E002E564 00152940 */ sll $a1, $s5, 5
/* 341F48 E002E568 ACC20010 */ sw $v0, 0x10($a2)
/* 341F4C E002E56C 24A2001F */ addiu $v0, $a1, 0x1f
/* 341F50 E002E570 00021380 */ sll $v0, $v0, 0xe
/* 341F54 E002E574 3442007C */ ori $v0, $v0, 0x7c
/* 341F58 E002E578 ACC20014 */ sw $v0, 0x14($a2)
/* 341F5C E002E57C 8FA800D8 */ lw $t0, 0xd8($sp)
/* 341F60 E002E580 1100000E */ beqz $t0, .LE002E5BC
/* 341F64 E002E584 24A70020 */ addiu $a3, $a1, 0x20
/* 341F68 E002E588 0080182D */ daddu $v1, $a0, $zero
/* 341F6C E002E58C 34630080 */ ori $v1, $v1, 0x80
/* 341F70 E002E590 3C040100 */ lui $a0, 0x100
/* 341F74 E002E594 348400FC */ ori $a0, $a0, 0xfc
/* 341F78 E002E598 24C20020 */ addiu $v0, $a2, 0x20
/* 341F7C E002E59C AE620000 */ sw $v0, ($s3)
/* 341F80 E002E5A0 00071380 */ sll $v0, $a3, 0xe
/* 341F84 E002E5A4 00431025 */ or $v0, $v0, $v1
/* 341F88 E002E5A8 ACC20018 */ sw $v0, 0x18($a2)
/* 341F8C E002E5AC 24A2003F */ addiu $v0, $a1, 0x3f
/* 341F90 E002E5B0 00021380 */ sll $v0, $v0, 0xe
/* 341F94 E002E5B4 0800B979 */ j .LE002E5E4
/* 341F98 E002E5B8 00441025 */ or $v0, $v0, $a0
.LE002E5BC:
/* 341F9C E002E5BC 3C030100 */ lui $v1, 0x100
/* 341FA0 E002E5C0 3463007C */ ori $v1, $v1, 0x7c
/* 341FA4 E002E5C4 24C20020 */ addiu $v0, $a2, 0x20
/* 341FA8 E002E5C8 AE620000 */ sw $v0, ($s3)
/* 341FAC E002E5CC 00071380 */ sll $v0, $a3, 0xe
/* 341FB0 E002E5D0 00441025 */ or $v0, $v0, $a0
/* 341FB4 E002E5D4 ACC20018 */ sw $v0, 0x18($a2)
/* 341FB8 E002E5D8 24A2003F */ addiu $v0, $a1, 0x3f
/* 341FBC E002E5DC 00021380 */ sll $v0, $v0, 0xe
/* 341FC0 E002E5E0 00431025 */ or $v0, $v0, $v1
.LE002E5E4:
/* 341FC4 E002E5E4 ACC2001C */ sw $v0, 0x1c($a2)
/* 341FC8 E002E5E8 8FC20008 */ lw $v0, 8($fp)
/* 341FCC E002E5EC 24110001 */ addiu $s1, $zero, 1
/* 341FD0 E002E5F0 0222102A */ slt $v0, $s1, $v0
/* 341FD4 E002E5F4 10400036 */ beqz $v0, .LE002E6D0
/* 341FD8 E002E5F8 26940044 */ addiu $s4, $s4, 0x44
/* 341FDC E002E5FC 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 341FE0 E002E600 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 341FE4 E002E604 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 341FE8 E002E608 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 341FEC E002E60C 3C130001 */ lui $s3, 1
/* 341FF0 E002E610 36731630 */ ori $s3, $s3, 0x1630
/* 341FF4 E002E614 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 341FF8 E002E618 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 341FFC E002E61C 2690000C */ addiu $s0, $s4, 0xc
.LE002E620:
/* 342000 E002E620 27A40018 */ addiu $a0, $sp, 0x18
/* 342004 E002E624 26310001 */ addiu $s1, $s1, 1
/* 342008 E002E628 8E05FFF8 */ lw $a1, -8($s0)
/* 34200C E002E62C 8E06FFFC */ lw $a2, -4($s0)
/* 342010 E002E630 8E070000 */ lw $a3, ($s0)
/* 342014 E002E634 0C080108 */ jal shim_guTranslateF
/* 342018 E002E638 26100044 */ addiu $s0, $s0, 0x44
/* 34201C E002E63C 27A40018 */ addiu $a0, $sp, 0x18
/* 342020 E002E640 96A50000 */ lhu $a1, ($s5)
/* 342024 E002E644 8EC20000 */ lw $v0, ($s6)
/* 342028 E002E648 00052980 */ sll $a1, $a1, 6
/* 34202C E002E64C 00B32821 */ addu $a1, $a1, $s3
/* 342030 E002E650 0C080118 */ jal shim_guMtxF2L
/* 342034 E002E654 00452821 */ addu $a1, $v0, $a1
/* 342038 E002E658 3C06D838 */ lui $a2, 0xd838
/* 34203C E002E65C 8E440000 */ lw $a0, ($s2)
/* 342040 E002E660 34C60002 */ ori $a2, $a2, 2
/* 342044 E002E664 0080282D */ daddu $a1, $a0, $zero
/* 342048 E002E668 24840008 */ addiu $a0, $a0, 8
/* 34204C E002E66C AE440000 */ sw $a0, ($s2)
/* 342050 E002E670 96A20000 */ lhu $v0, ($s5)
/* 342054 E002E674 3C03DA38 */ lui $v1, 0xda38
/* 342058 E002E678 ACA30000 */ sw $v1, ($a1)
/* 34205C E002E67C 24430001 */ addiu $v1, $v0, 1
/* 342060 E002E680 3042FFFF */ andi $v0, $v0, 0xffff
/* 342064 E002E684 00021180 */ sll $v0, $v0, 6
/* 342068 E002E688 A6A30000 */ sh $v1, ($s5)
/* 34206C E002E68C 8EC30000 */ lw $v1, ($s6)
/* 342070 E002E690 00531021 */ addu $v0, $v0, $s3
/* 342074 E002E694 00621821 */ addu $v1, $v1, $v0
/* 342078 E002E698 24820008 */ addiu $v0, $a0, 8
/* 34207C E002E69C ACA30004 */ sw $v1, 4($a1)
/* 342080 E002E6A0 AE420000 */ sw $v0, ($s2)
/* 342084 E002E6A4 3C02DE00 */ lui $v0, 0xde00
/* 342088 E002E6A8 AC820000 */ sw $v0, ($a0)
/* 34208C E002E6AC 24020040 */ addiu $v0, $zero, 0x40
/* 342090 E002E6B0 AC970004 */ sw $s7, 4($a0)
/* 342094 E002E6B4 AC860008 */ sw $a2, 8($a0)
/* 342098 E002E6B8 AC82000C */ sw $v0, 0xc($a0)
/* 34209C E002E6BC 8FC20008 */ lw $v0, 8($fp)
/* 3420A0 E002E6C0 24840010 */ addiu $a0, $a0, 0x10
/* 3420A4 E002E6C4 0222102A */ slt $v0, $s1, $v0
/* 3420A8 E002E6C8 1440FFD5 */ bnez $v0, .LE002E620
/* 3420AC E002E6CC AE440000 */ sw $a0, ($s2)
.LE002E6D0:
/* 3420B0 E002E6D0 3C03D838 */ lui $v1, 0xd838
/* 3420B4 E002E6D4 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3420B8 E002E6D8 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3420BC E002E6DC 8C820000 */ lw $v0, ($a0)
/* 3420C0 E002E6E0 34630002 */ ori $v1, $v1, 2
/* 3420C4 E002E6E4 0040282D */ daddu $a1, $v0, $zero
/* 3420C8 E002E6E8 24420008 */ addiu $v0, $v0, 8
/* 3420CC E002E6EC AC820000 */ sw $v0, ($a0)
/* 3420D0 E002E6F0 ACA30000 */ sw $v1, ($a1)
/* 3420D4 E002E6F4 24030040 */ addiu $v1, $zero, 0x40
/* 3420D8 E002E6F8 ACA30004 */ sw $v1, 4($a1)
/* 3420DC E002E6FC 24430008 */ addiu $v1, $v0, 8
/* 3420E0 E002E700 AC830000 */ sw $v1, ($a0)
/* 3420E4 E002E704 3C03E700 */ lui $v1, 0xe700
/* 3420E8 E002E708 AC430000 */ sw $v1, ($v0)
/* 3420EC E002E70C AC400004 */ sw $zero, 4($v0)
/* 3420F0 E002E710 8FBF0104 */ lw $ra, 0x104($sp)
/* 3420F4 E002E714 8FBE0100 */ lw $fp, 0x100($sp)
/* 3420F8 E002E718 8FB700FC */ lw $s7, 0xfc($sp)
/* 3420FC E002E71C 8FB600F8 */ lw $s6, 0xf8($sp)
/* 342100 E002E720 8FB500F4 */ lw $s5, 0xf4($sp)
/* 342104 E002E724 8FB400F0 */ lw $s4, 0xf0($sp)
/* 342108 E002E728 8FB300EC */ lw $s3, 0xec($sp)
/* 34210C E002E72C 8FB200E8 */ lw $s2, 0xe8($sp)
/* 342110 E002E730 8FB100E4 */ lw $s1, 0xe4($sp)
/* 342114 E002E734 8FB000E0 */ lw $s0, 0xe0($sp)
/* 342118 E002E738 03E00008 */ jr $ra
/* 34211C E002E73C 27BD0108 */ addiu $sp, $sp, 0x108

View File

@ -1,160 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel smoke_ring_main
/* 3419E0 E002E000 27BDFF90 */ addiu $sp, $sp, -0x70
/* 3419E4 E002E004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3419E8 E002E008 4485A000 */ mtc1 $a1, $f20
/* 3419EC E002E00C F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3419F0 E002E010 4486C000 */ mtc1 $a2, $f24
/* 3419F4 E002E014 AFB20030 */ sw $s2, 0x30($sp)
/* 3419F8 E002E018 0080902D */ daddu $s2, $a0, $zero
/* 3419FC E002E01C F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 341A00 E002E020 4487D000 */ mtc1 $a3, $f26
/* 341A04 E002E024 AFBF003C */ sw $ra, 0x3c($sp)
/* 341A08 E002E028 AFB40038 */ sw $s4, 0x38($sp)
/* 341A0C E002E02C AFB30034 */ sw $s3, 0x34($sp)
/* 341A10 E002E030 AFB1002C */ sw $s1, 0x2c($sp)
/* 341A14 E002E034 AFB00028 */ sw $s0, 0x28($sp)
/* 341A18 E002E038 F7BE0068 */ sdc1 $f30, 0x68($sp)
/* 341A1C E002E03C F7BC0060 */ sdc1 $f28, 0x60($sp)
/* 341A20 E002E040 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 341A24 E002E044 12400006 */ beqz $s2, .LE002E060
/* 341A28 E002E048 27A40010 */ addiu $a0, $sp, 0x10
/* 341A2C E002E04C 24020001 */ addiu $v0, $zero, 1
/* 341A30 E002E050 12420007 */ beq $s2, $v0, .LE002E070
/* 341A34 E002E054 2413000B */ addiu $s3, $zero, 0xb
/* 341A38 E002E058 0800B820 */ j .LE002E080
/* 341A3C E002E05C 00000000 */ nop
.LE002E060:
/* 341A40 E002E060 3C014160 */ lui $at, 0x4160
/* 341A44 E002E064 4481B000 */ mtc1 $at, $f22
/* 341A48 E002E068 0800B822 */ j .LE002E088
/* 341A4C E002E06C 24130007 */ addiu $s3, $zero, 7
.LE002E070:
/* 341A50 E002E070 3C0141E0 */ lui $at, 0x41e0
/* 341A54 E002E074 4481B000 */ mtc1 $at, $f22
/* 341A58 E002E078 0800B822 */ j .LE002E088
/* 341A5C E002E07C 24130009 */ addiu $s3, $zero, 9
.LE002E080:
/* 341A60 E002E080 3C014228 */ lui $at, 0x4228
/* 341A64 E002E084 4481B000 */ mtc1 $at, $f22
.LE002E088:
/* 341A68 E002E088 3C02E003 */ lui $v0, %hi(smoke_ring_init)
/* 341A6C E002E08C 2442E248 */ addiu $v0, $v0, %lo(smoke_ring_init)
/* 341A70 E002E090 AC820008 */ sw $v0, 8($a0)
/* 341A74 E002E094 3C02E003 */ lui $v0, %hi(smoke_ring_update)
/* 341A78 E002E098 2442E250 */ addiu $v0, $v0, %lo(smoke_ring_update)
/* 341A7C E002E09C AC82000C */ sw $v0, 0xc($a0)
/* 341A80 E002E0A0 3C02E003 */ lui $v0, %hi(smoke_ring_render)
/* 341A84 E002E0A4 2442E330 */ addiu $v0, $v0, %lo(smoke_ring_render)
/* 341A88 E002E0A8 AC820010 */ sw $v0, 0x10($a0)
/* 341A8C E002E0AC 24020017 */ addiu $v0, $zero, 0x17
/* 341A90 E002E0B0 AC800000 */ sw $zero, ($a0)
/* 341A94 E002E0B4 AC800014 */ sw $zero, 0x14($a0)
/* 341A98 E002E0B8 0C080124 */ jal shim_create_effect_instance
/* 341A9C E002E0BC AC820004 */ sw $v0, 4($a0)
/* 341AA0 E002E0C0 00132100 */ sll $a0, $s3, 4
/* 341AA4 E002E0C4 00932021 */ addu $a0, $a0, $s3
/* 341AA8 E002E0C8 00042080 */ sll $a0, $a0, 2
/* 341AAC E002E0CC 0040802D */ daddu $s0, $v0, $zero
/* 341AB0 E002E0D0 0C08012C */ jal shim_general_heap_malloc
/* 341AB4 E002E0D4 AE130008 */ sw $s3, 8($s0)
/* 341AB8 E002E0D8 0040882D */ daddu $s1, $v0, $zero
/* 341ABC E002E0DC 16200003 */ bnez $s1, .LE002E0EC
/* 341AC0 E002E0E0 AE11000C */ sw $s1, 0xc($s0)
.LE002E0E4:
/* 341AC4 E002E0E4 0800B839 */ j .LE002E0E4
/* 341AC8 E002E0E8 00000000 */ nop
.LE002E0EC:
/* 341ACC E002E0EC 0220202D */ daddu $a0, $s1, $zero
/* 341AD0 E002E0F0 00132900 */ sll $a1, $s3, 4
/* 341AD4 E002E0F4 00B32821 */ addu $a1, $a1, $s3
/* 341AD8 E002E0F8 0C080130 */ jal shim_mem_clear
/* 341ADC E002E0FC 00052880 */ sll $a1, $a1, 2
/* 341AE0 E002E100 AE200038 */ sw $zero, 0x38($s1)
/* 341AE4 E002E104 AE20003C */ sw $zero, 0x3c($s1)
/* 341AE8 E002E108 A6320000 */ sh $s2, ($s1)
/* 341AEC E002E10C E6340004 */ swc1 $f20, 4($s1)
/* 341AF0 E002E110 E6380008 */ swc1 $f24, 8($s1)
/* 341AF4 E002E114 E63A000C */ swc1 $f26, 0xc($s1)
/* 341AF8 E002E118 24120001 */ addiu $s2, $zero, 1
/* 341AFC E002E11C 0253102A */ slt $v0, $s2, $s3
/* 341B00 E002E120 1040003B */ beqz $v0, .LE002E210
/* 341B04 E002E124 26310044 */ addiu $s1, $s1, 0x44
/* 341B08 E002E128 2674FFFF */ addiu $s4, $s3, -1
/* 341B0C E002E12C 26300034 */ addiu $s0, $s1, 0x34
/* 341B10 E002E130 0000882D */ daddu $s1, $zero, $zero
/* 341B14 E002E134 3C01C040 */ lui $at, 0xc040
/* 341B18 E002E138 4481F000 */ mtc1 $at, $f30
/* 341B1C E002E13C 3C013E4C */ lui $at, 0x3e4c
/* 341B20 E002E140 3421CCCC */ ori $at, $at, 0xcccc
/* 341B24 E002E144 4481E000 */ mtc1 $at, $f28
/* 341B28 E002E148 3C013FE0 */ lui $at, 0x3fe0
/* 341B2C E002E14C 4481D000 */ mtc1 $at, $f26
/* 341B30 E002E150 3C01BE23 */ lui $at, 0xbe23
/* 341B34 E002E154 3421D70A */ ori $at, $at, 0xd70a
/* 341B38 E002E158 4481C000 */ mtc1 $at, $f24
.LE002E15C:
/* 341B3C E002E15C 16800002 */ bnez $s4, .LE002E168
/* 341B40 E002E160 0234001A */ div $zero, $s1, $s4
/* 341B44 E002E164 0007000D */ break 7
.LE002E168:
/* 341B48 E002E168 2401FFFF */ addiu $at, $zero, -1
/* 341B4C E002E16C 16810004 */ bne $s4, $at, .LE002E180
/* 341B50 E002E170 3C018000 */ lui $at, 0x8000
/* 341B54 E002E174 16210002 */ bne $s1, $at, .LE002E180
/* 341B58 E002E178 00000000 */ nop
/* 341B5C E002E17C 0006000D */ break 6
.LE002E180:
/* 341B60 E002E180 00001812 */ mflo $v1
/* 341B64 E002E184 E61EFFDC */ swc1 $f30, -0x24($s0)
/* 341B68 E002E188 E61CFFE0 */ swc1 $f28, -0x20($s0)
/* 341B6C E002E18C AE00FFE4 */ sw $zero, -0x1c($s0)
/* 341B70 E002E190 AE00FFE8 */ sw $zero, -0x18($s0)
/* 341B74 E002E194 E61AFFEC */ swc1 $f26, -0x14($s0)
/* 341B78 E002E198 E618FFF0 */ swc1 $f24, -0x10($s0)
/* 341B7C E002E19C AE00FFF4 */ sw $zero, -0xc($s0)
/* 341B80 E002E1A0 AE00FFF8 */ sw $zero, -8($s0)
/* 341B84 E002E1A4 4483A000 */ mtc1 $v1, $f20
/* 341B88 E002E1A8 00000000 */ nop
/* 341B8C E002E1AC 4680A520 */ cvt.s.w $f20, $f20
/* 341B90 E002E1B0 0C080140 */ jal shim_sin_deg
/* 341B94 E002E1B4 4600A306 */ mov.s $f12, $f20
/* 341B98 E002E1B8 46000007 */ neg.s $f0, $f0
/* 341B9C E002E1BC 46160002 */ mul.s $f0, $f0, $f22
/* 341BA0 E002E1C0 00000000 */ nop
/* 341BA4 E002E1C4 4600A306 */ mov.s $f12, $f20
/* 341BA8 E002E1C8 0C080144 */ jal shim_cos_deg
/* 341BAC E002E1CC E600FFD0 */ swc1 $f0, -0x30($s0)
/* 341BB0 E002E1D0 46000007 */ neg.s $f0, $f0
/* 341BB4 E002E1D4 46160002 */ mul.s $f0, $f0, $f22
/* 341BB8 E002E1D8 00000000 */ nop
/* 341BBC E002E1DC 26310168 */ addiu $s1, $s1, 0x168
/* 341BC0 E002E1E0 26520001 */ addiu $s2, $s2, 1
/* 341BC4 E002E1E4 4600A306 */ mov.s $f12, $f20
/* 341BC8 E002E1E8 AE00FFD8 */ sw $zero, -0x28($s0)
/* 341BCC E002E1EC 0C080140 */ jal shim_sin_deg
/* 341BD0 E002E1F0 E600FFD4 */ swc1 $f0, -0x2c($s0)
/* 341BD4 E002E1F4 4600A306 */ mov.s $f12, $f20
/* 341BD8 E002E1F8 0C080144 */ jal shim_cos_deg
/* 341BDC E002E1FC E600FFFC */ swc1 $f0, -4($s0)
/* 341BE0 E002E200 E6000000 */ swc1 $f0, ($s0)
/* 341BE4 E002E204 0253102A */ slt $v0, $s2, $s3
/* 341BE8 E002E208 1440FFD4 */ bnez $v0, .LE002E15C
/* 341BEC E002E20C 26100044 */ addiu $s0, $s0, 0x44
.LE002E210:
/* 341BF0 E002E210 8FBF003C */ lw $ra, 0x3c($sp)
/* 341BF4 E002E214 8FB40038 */ lw $s4, 0x38($sp)
/* 341BF8 E002E218 8FB30034 */ lw $s3, 0x34($sp)
/* 341BFC E002E21C 8FB20030 */ lw $s2, 0x30($sp)
/* 341C00 E002E220 8FB1002C */ lw $s1, 0x2c($sp)
/* 341C04 E002E224 8FB00028 */ lw $s0, 0x28($sp)
/* 341C08 E002E228 D7BE0068 */ ldc1 $f30, 0x68($sp)
/* 341C0C E002E22C D7BC0060 */ ldc1 $f28, 0x60($sp)
/* 341C10 E002E230 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 341C14 E002E234 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 341C18 E002E238 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 341C1C E002E23C D7B40040 */ ldc1 $f20, 0x40($sp)
/* 341C20 E002E240 03E00008 */ jr $ra
/* 341C24 E002E244 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,63 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel smoke_ring_update
/* 341C30 E002E250 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 341C34 E002E254 AFBF0010 */ sw $ra, 0x10($sp)
/* 341C38 E002E258 8C85000C */ lw $a1, 0xc($a0)
/* 341C3C E002E25C 8CA20038 */ lw $v0, 0x38($a1)
/* 341C40 E002E260 8CA3003C */ lw $v1, 0x3c($a1)
/* 341C44 E002E264 00021080 */ sll $v0, $v0, 2
/* 341C48 E002E268 3C01E003 */ lui $at, %hi(D_E002E754)
/* 341C4C E002E26C 00220821 */ addu $at, $at, $v0
/* 341C50 E002E270 8C22E754 */ lw $v0, %lo(D_E002E754)($at)
/* 341C54 E002E274 00431021 */ addu $v0, $v0, $v1
/* 341C58 E002E278 80420000 */ lb $v0, ($v0)
/* 341C5C E002E27C 24630001 */ addiu $v1, $v1, 1
/* 341C60 E002E280 ACA3003C */ sw $v1, 0x3c($a1)
/* 341C64 E002E284 04410005 */ bgez $v0, .LE002E29C
/* 341C68 E002E288 ACA20040 */ sw $v0, 0x40($a1)
/* 341C6C E002E28C 0C080128 */ jal shim_remove_effect
/* 341C70 E002E290 00000000 */ nop
/* 341C74 E002E294 0800B8C9 */ j .LE002E324
/* 341C78 E002E298 00000000 */ nop
.LE002E29C:
/* 341C7C E002E29C 8C820008 */ lw $v0, 8($a0)
/* 341C80 E002E2A0 24060001 */ addiu $a2, $zero, 1
/* 341C84 E002E2A4 00C2102A */ slt $v0, $a2, $v0
/* 341C88 E002E2A8 1040001E */ beqz $v0, .LE002E324
/* 341C8C E002E2AC 24A50044 */ addiu $a1, $a1, 0x44
/* 341C90 E002E2B0 24A30008 */ addiu $v1, $a1, 8
.LE002E2B4:
/* 341C94 E002E2B4 C46A0010 */ lwc1 $f10, 0x10($v1)
/* 341C98 E002E2B8 C4600014 */ lwc1 $f0, 0x14($v1)
/* 341C9C E002E2BC 46005280 */ add.s $f10, $f10, $f0
/* 341CA0 E002E2C0 C468000C */ lwc1 $f8, 0xc($v1)
/* 341CA4 E002E2C4 460A4200 */ add.s $f8, $f8, $f10
/* 341CA8 E002E2C8 C4600008 */ lwc1 $f0, 8($v1)
/* 341CAC E002E2CC 46080000 */ add.s $f0, $f0, $f8
/* 341CB0 E002E2D0 C4620028 */ lwc1 $f2, 0x28($v1)
/* 341CB4 E002E2D4 46020082 */ mul.s $f2, $f0, $f2
/* 341CB8 E002E2D8 00000000 */ nop
/* 341CBC E002E2DC E4600008 */ swc1 $f0, 8($v1)
/* 341CC0 E002E2E0 46000186 */ mov.s $f6, $f0
/* 341CC4 E002E2E4 C460002C */ lwc1 $f0, 0x2c($v1)
/* 341CC8 E002E2E8 46003182 */ mul.s $f6, $f6, $f0
/* 341CCC E002E2EC 00000000 */ nop
/* 341CD0 E002E2F0 C464FFFC */ lwc1 $f4, -4($v1)
/* 341CD4 E002E2F4 C4600000 */ lwc1 $f0, ($v1)
/* 341CD8 E002E2F8 46022100 */ add.s $f4, $f4, $f2
/* 341CDC E002E2FC 24C60001 */ addiu $a2, $a2, 1
/* 341CE0 E002E300 E46A0010 */ swc1 $f10, 0x10($v1)
/* 341CE4 E002E304 46060000 */ add.s $f0, $f0, $f6
/* 341CE8 E002E308 E468000C */ swc1 $f8, 0xc($v1)
/* 341CEC E002E30C E464FFFC */ swc1 $f4, -4($v1)
/* 341CF0 E002E310 E4600000 */ swc1 $f0, ($v1)
/* 341CF4 E002E314 8C820008 */ lw $v0, 8($a0)
/* 341CF8 E002E318 00C2102A */ slt $v0, $a2, $v0
/* 341CFC E002E31C 1440FFE5 */ bnez $v0, .LE002E2B4
/* 341D00 E002E320 24630044 */ addiu $v1, $v1, 0x44
.LE002E324:
/* 341D04 E002E324 8FBF0010 */ lw $ra, 0x10($sp)
/* 341D08 E002E328 03E00008 */ jr $ra
/* 341D0C E002E32C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,378 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00B07E8
.double 0.1
.section .text
glabel thunderbolt_ring_appendGfx
/* 3B40E4 E00B0234 27BDFF10 */ addiu $sp, $sp, -0xf0
/* 3B40E8 E00B0238 0080402D */ daddu $t0, $a0, $zero
/* 3B40EC E00B023C 3C09DB06 */ lui $t1, 0xdb06
/* 3B40F0 E00B0240 35290024 */ ori $t1, $t1, 0x24
/* 3B40F4 E00B0244 27A40020 */ addiu $a0, $sp, 0x20
/* 3B40F8 E00B0248 AFB000B0 */ sw $s0, 0xb0($sp)
/* 3B40FC E00B024C 3C100001 */ lui $s0, 1
/* 3B4100 E00B0250 36101630 */ ori $s0, $s0, 0x1630
/* 3B4104 E00B0254 AFB100B4 */ sw $s1, 0xb4($sp)
/* 3B4108 E00B0258 0000882D */ daddu $s1, $zero, $zero
/* 3B410C E00B025C AFB400C0 */ sw $s4, 0xc0($sp)
/* 3B4110 E00B0260 27B40060 */ addiu $s4, $sp, 0x60
/* 3B4114 E00B0264 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 3B4118 E00B0268 244241F0 */ addiu $v0, $v0, %lo(gMatrixListPos)
/* 3B411C E00B026C AFB500C4 */ sw $s5, 0xc4($sp)
/* 3B4120 E00B0270 0040A82D */ daddu $s5, $v0, $zero
/* 3B4124 E00B0274 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 3B4128 E00B0278 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 3B412C E00B027C AFB200B8 */ sw $s2, 0xb8($sp)
/* 3B4130 E00B0280 0040902D */ daddu $s2, $v0, $zero
/* 3B4134 E00B0284 3C02E700 */ lui $v0, 0xe700
/* 3B4138 E00B0288 AFBF00D4 */ sw $ra, 0xd4($sp)
/* 3B413C E00B028C AFBE00D0 */ sw $fp, 0xd0($sp)
/* 3B4140 E00B0290 AFB700CC */ sw $s7, 0xcc($sp)
/* 3B4144 E00B0294 AFB600C8 */ sw $s6, 0xc8($sp)
/* 3B4148 E00B0298 AFB300BC */ sw $s3, 0xbc($sp)
/* 3B414C E00B029C F7B800E8 */ sdc1 $f24, 0xe8($sp)
/* 3B4150 E00B02A0 F7B600E0 */ sdc1 $f22, 0xe0($sp)
/* 3B4154 E00B02A4 F7B400D8 */ sdc1 $f20, 0xd8($sp)
/* 3B4158 E00B02A8 8E460000 */ lw $a2, ($s2)
/* 3B415C E00B02AC 44800000 */ mtc1 $zero, $f0
/* 3B4160 E00B02B0 8D13000C */ lw $s3, 0xc($t0)
/* 3B4164 E00B02B4 3C013F80 */ lui $at, 0x3f80
/* 3B4168 E00B02B8 4481C000 */ mtc1 $at, $f24
/* 3B416C E00B02BC 44050000 */ mfc1 $a1, $f0
/* 3B4170 E00B02C0 8E6A0014 */ lw $t2, 0x14($s3)
/* 3B4174 E00B02C4 00C0182D */ daddu $v1, $a2, $zero
/* 3B4178 E00B02C8 AFAA00A0 */ sw $t2, 0xa0($sp)
/* 3B417C E00B02CC 8E6A0024 */ lw $t2, 0x24($s3)
/* 3B4180 E00B02D0 4485A000 */ mtc1 $a1, $f20
/* 3B4184 E00B02D4 24C60008 */ addiu $a2, $a2, 8
/* 3B4188 E00B02D8 AFAA00A4 */ sw $t2, 0xa4($sp)
/* 3B418C E00B02DC AC620000 */ sw $v0, ($v1)
/* 3B4190 E00B02E0 AC600004 */ sw $zero, 4($v1)
/* 3B4194 E00B02E4 ACC90000 */ sw $t1, ($a2)
/* 3B4198 E00B02E8 8D020010 */ lw $v0, 0x10($t0)
/* 3B419C E00B02EC 3C088000 */ lui $t0, 0x8000
/* 3B41A0 E00B02F0 8C42001C */ lw $v0, 0x1c($v0)
/* 3B41A4 E00B02F4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3B41A8 E00B02F8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3B41AC E00B02FC 00481021 */ addu $v0, $v0, $t0
/* 3B41B0 E00B0300 ACC20004 */ sw $v0, 4($a2)
/* 3B41B4 E00B0304 00031080 */ sll $v0, $v1, 2
/* 3B41B8 E00B0308 00431021 */ addu $v0, $v0, $v1
/* 3B41BC E00B030C 00021080 */ sll $v0, $v0, 2
/* 3B41C0 E00B0310 00431023 */ subu $v0, $v0, $v1
/* 3B41C4 E00B0314 000218C0 */ sll $v1, $v0, 3
/* 3B41C8 E00B0318 00431021 */ addu $v0, $v0, $v1
/* 3B41CC E00B031C 000210C0 */ sll $v0, $v0, 3
/* 3B41D0 E00B0320 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3B41D4 E00B0324 00220821 */ addu $at, $at, $v0
/* 3B41D8 E00B0328 C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 3B41DC E00B032C C6600028 */ lwc1 $f0, 0x28($s3)
/* 3B41E0 E00B0330 3C1E0001 */ lui $fp, 1
/* 3B41E4 E00B0334 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3B41E8 E00B0338 C6600004 */ lwc1 $f0, 4($s3)
/* 3B41EC E00B033C 37DE1630 */ ori $fp, $fp, 0x1630
/* 3B41F0 E00B0340 AE460000 */ sw $a2, ($s2)
/* 3B41F4 E00B0344 24C60008 */ addiu $a2, $a2, 8
/* 3B41F8 E00B0348 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3B41FC E00B034C C6600008 */ lwc1 $f0, 8($s3)
/* 3B4200 E00B0350 46001087 */ neg.s $f2, $f2
/* 3B4204 E00B0354 AE460000 */ sw $a2, ($s2)
/* 3B4208 E00B0358 44061000 */ mfc1 $a2, $f2
/* 3B420C E00B035C 2416005A */ addiu $s6, $zero, 0x5a
/* 3B4210 E00B0360 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3B4214 E00B0364 C660000C */ lwc1 $f0, 0xc($s3)
/* 3B4218 E00B0368 00A0382D */ daddu $a3, $a1, $zero
/* 3B421C E00B036C 0C080180 */ jal shim_guPositionF
/* 3B4220 E00B0370 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3B4224 E00B0374 27A40020 */ addiu $a0, $sp, 0x20
/* 3B4228 E00B0378 96A50000 */ lhu $a1, ($s5)
/* 3B422C E00B037C 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3B4230 E00B0380 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3B4234 E00B0384 00052980 */ sll $a1, $a1, 6
/* 3B4238 E00B0388 00B02821 */ addu $a1, $a1, $s0
/* 3B423C E00B038C 0C080118 */ jal shim_guMtxF2L
/* 3B4240 E00B0390 00452821 */ addu $a1, $v0, $a1
/* 3B4244 E00B0394 3C06DA38 */ lui $a2, 0xda38
/* 3B4248 E00B0398 8E440000 */ lw $a0, ($s2)
/* 3B424C E00B039C 34C60002 */ ori $a2, $a2, 2
/* 3B4250 E00B03A0 0080282D */ daddu $a1, $a0, $zero
/* 3B4254 E00B03A4 24840008 */ addiu $a0, $a0, 8
/* 3B4258 E00B03A8 24820008 */ addiu $v0, $a0, 8
/* 3B425C E00B03AC 0040B82D */ daddu $s7, $v0, $zero
/* 3B4260 E00B03B0 96A20000 */ lhu $v0, ($s5)
/* 3B4264 E00B03B4 24830010 */ addiu $v1, $a0, 0x10
/* 3B4268 E00B03B8 AFA300A8 */ sw $v1, 0xa8($sp)
/* 3B426C E00B03BC AE440000 */ sw $a0, ($s2)
/* 3B4270 E00B03C0 ACA60000 */ sw $a2, ($a1)
/* 3B4274 E00B03C4 24430001 */ addiu $v1, $v0, 1
/* 3B4278 E00B03C8 3042FFFF */ andi $v0, $v0, 0xffff
/* 3B427C E00B03CC 00021180 */ sll $v0, $v0, 6
/* 3B4280 E00B03D0 A6A30000 */ sh $v1, ($s5)
/* 3B4284 E00B03D4 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 3B4288 E00B03D8 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 3B428C E00B03DC 00501021 */ addu $v0, $v0, $s0
/* 3B4290 E00B03E0 00621821 */ addu $v1, $v1, $v0
/* 3B4294 E00B03E4 3C02DE00 */ lui $v0, 0xde00
/* 3B4298 E00B03E8 ACA30004 */ sw $v1, 4($a1)
/* 3B429C E00B03EC AE570000 */ sw $s7, ($s2)
/* 3B42A0 E00B03F0 AC820000 */ sw $v0, ($a0)
/* 3B42A4 E00B03F4 3C020900 */ lui $v0, 0x900
/* 3B42A8 E00B03F8 24420000 */ addiu $v0, $v0, 0
/* 3B42AC E00B03FC AC820004 */ sw $v0, 4($a0)
/* 3B42B0 E00B0400 8FAA00A8 */ lw $t2, 0xa8($sp)
/* 3B42B4 E00B0404 4600C586 */ mov.s $f22, $f24
/* 3B42B8 E00B0408 AE4A0000 */ sw $t2, ($s2)
.LE00B040C:
/* 3B42BC E00B040C 27A40020 */ addiu $a0, $sp, 0x20
/* 3B42C0 E00B0410 44962000 */ mtc1 $s6, $f4
/* 3B42C4 E00B0414 00000000 */ nop
/* 3B42C8 E00B0418 46802120 */ cvt.s.w $f4, $f4
/* 3B42CC E00B041C 26D60048 */ addiu $s6, $s6, 0x48
/* 3B42D0 E00B0420 44052000 */ mfc1 $a1, $f4
/* 3B42D4 E00B0424 4406A000 */ mfc1 $a2, $f20
/* 3B42D8 E00B0428 4407A000 */ mfc1 $a3, $f20
/* 3B42DC E00B042C 26310001 */ addiu $s1, $s1, 1
/* 3B42E0 E00B0430 0C080104 */ jal shim_guRotateF
/* 3B42E4 E00B0434 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3B42E8 E00B0438 4405B000 */ mfc1 $a1, $f22
/* 3B42EC E00B043C 4406C000 */ mfc1 $a2, $f24
/* 3B42F0 E00B0440 4407B000 */ mfc1 $a3, $f22
/* 3B42F4 E00B0444 0C080110 */ jal shim_guScaleF
/* 3B42F8 E00B0448 0280202D */ daddu $a0, $s4, $zero
/* 3B42FC E00B044C 0280202D */ daddu $a0, $s4, $zero
/* 3B4300 E00B0450 27A50020 */ addiu $a1, $sp, 0x20
/* 3B4304 E00B0454 0C080114 */ jal shim_guMtxCatF
/* 3B4308 E00B0458 00A0302D */ daddu $a2, $a1, $zero
/* 3B430C E00B045C 4405A000 */ mfc1 $a1, $f20
/* 3B4310 E00B0460 4406A000 */ mfc1 $a2, $f20
/* 3B4314 E00B0464 4407A000 */ mfc1 $a3, $f20
/* 3B4318 E00B0468 3C0141F0 */ lui $at, 0x41f0
/* 3B431C E00B046C 44810000 */ mtc1 $at, $f0
/* 3B4320 E00B0470 0280202D */ daddu $a0, $s4, $zero
/* 3B4324 E00B0474 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3B4328 E00B0478 E7B40018 */ swc1 $f20, 0x18($sp)
/* 3B432C E00B047C E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3B4330 E00B0480 0C080180 */ jal shim_guPositionF
/* 3B4334 E00B0484 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3B4338 E00B0488 0280202D */ daddu $a0, $s4, $zero
/* 3B433C E00B048C 27A50020 */ addiu $a1, $sp, 0x20
/* 3B4340 E00B0490 0C080114 */ jal shim_guMtxCatF
/* 3B4344 E00B0494 00A0302D */ daddu $a2, $a1, $zero
/* 3B4348 E00B0498 27A40020 */ addiu $a0, $sp, 0x20
/* 3B434C E00B049C 96A50000 */ lhu $a1, ($s5)
/* 3B4350 E00B04A0 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3B4354 E00B04A4 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3B4358 E00B04A8 00052980 */ sll $a1, $a1, 6
/* 3B435C E00B04AC 00BE2821 */ addu $a1, $a1, $fp
/* 3B4360 E00B04B0 0C080118 */ jal shim_guMtxF2L
/* 3B4364 E00B04B4 00452821 */ addu $a1, $v0, $a1
/* 3B4368 E00B04B8 3C06D838 */ lui $a2, 0xd838
/* 3B436C E00B04BC 8E440000 */ lw $a0, ($s2)
/* 3B4370 E00B04C0 34C60002 */ ori $a2, $a2, 2
/* 3B4374 E00B04C4 0080282D */ daddu $a1, $a0, $zero
/* 3B4378 E00B04C8 24840008 */ addiu $a0, $a0, 8
/* 3B437C E00B04CC AE440000 */ sw $a0, ($s2)
/* 3B4380 E00B04D0 96A20000 */ lhu $v0, ($s5)
/* 3B4384 E00B04D4 3C03DA38 */ lui $v1, 0xda38
/* 3B4388 E00B04D8 ACA30000 */ sw $v1, ($a1)
/* 3B438C E00B04DC 24430001 */ addiu $v1, $v0, 1
/* 3B4390 E00B04E0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3B4394 E00B04E4 00021180 */ sll $v0, $v0, 6
/* 3B4398 E00B04E8 A6A30000 */ sh $v1, ($s5)
/* 3B439C E00B04EC 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 3B43A0 E00B04F0 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 3B43A4 E00B04F4 005E1021 */ addu $v0, $v0, $fp
/* 3B43A8 E00B04F8 00621821 */ addu $v1, $v1, $v0
/* 3B43AC E00B04FC 24820008 */ addiu $v0, $a0, 8
/* 3B43B0 E00B0500 ACA30004 */ sw $v1, 4($a1)
/* 3B43B4 E00B0504 AE420000 */ sw $v0, ($s2)
/* 3B43B8 E00B0508 3C02DE00 */ lui $v0, 0xde00
/* 3B43BC E00B050C AC820000 */ sw $v0, ($a0)
/* 3B43C0 E00B0510 3C020900 */ lui $v0, 0x900
/* 3B43C4 E00B0514 244200C8 */ addiu $v0, $v0, 0xc8
/* 3B43C8 E00B0518 AC820004 */ sw $v0, 4($a0)
/* 3B43CC E00B051C 24820010 */ addiu $v0, $a0, 0x10
/* 3B43D0 E00B0520 AE420000 */ sw $v0, ($s2)
/* 3B43D4 E00B0524 24020040 */ addiu $v0, $zero, 0x40
/* 3B43D8 E00B0528 AC82000C */ sw $v0, 0xc($a0)
/* 3B43DC E00B052C 2A220005 */ slti $v0, $s1, 5
/* 3B43E0 E00B0530 1440FFB6 */ bnez $v0, .LE00B040C
/* 3B43E4 E00B0534 AC860008 */ sw $a2, 8($a0)
/* 3B43E8 E00B0538 3C07800A */ lui $a3, %hi(gMasterGfxPos)
/* 3B43EC E00B053C 24E7A66C */ addiu $a3, $a3, %lo(gMasterGfxPos)
/* 3B43F0 E00B0540 0000882D */ daddu $s1, $zero, $zero
/* 3B43F4 E00B0544 8CE40000 */ lw $a0, ($a3)
/* 3B43F8 E00B0548 3C02DF00 */ lui $v0, 0xdf00
/* 3B43FC E00B054C 0080182D */ daddu $v1, $a0, $zero
/* 3B4400 E00B0550 24840008 */ addiu $a0, $a0, 8
/* 3B4404 E00B0554 ACE40000 */ sw $a0, ($a3)
/* 3B4408 E00B0558 AC620000 */ sw $v0, ($v1)
/* 3B440C E00B055C 3C02DE01 */ lui $v0, 0xde01
/* 3B4410 E00B0560 AC600004 */ sw $zero, 4($v1)
/* 3B4414 E00B0564 AEE20000 */ sw $v0, ($s7)
/* 3B4418 E00B0568 24820008 */ addiu $v0, $a0, 8
/* 3B441C E00B056C AEE40004 */ sw $a0, 4($s7)
/* 3B4420 E00B0570 ACE20000 */ sw $v0, ($a3)
/* 3B4424 E00B0574 3C02FA00 */ lui $v0, 0xfa00
/* 3B4428 E00B0578 AC820000 */ sw $v0, ($a0)
/* 3B442C E00B057C 9262001B */ lbu $v0, 0x1b($s3)
/* 3B4430 E00B0580 9265001F */ lbu $a1, 0x1f($s3)
/* 3B4434 E00B0584 92660023 */ lbu $a2, 0x23($s3)
/* 3B4438 E00B0588 3C03FB00 */ lui $v1, 0xfb00
/* 3B443C E00B058C AC830008 */ sw $v1, 8($a0)
/* 3B4440 E00B0590 2403FF00 */ addiu $v1, $zero, -0x100
/* 3B4444 E00B0594 AC83000C */ sw $v1, 0xc($a0)
/* 3B4448 E00B0598 8FAA00A4 */ lw $t2, 0xa4($sp)
/* 3B444C E00B059C 00021600 */ sll $v0, $v0, 0x18
/* 3B4450 E00B05A0 00052C00 */ sll $a1, $a1, 0x10
/* 3B4454 E00B05A4 00451025 */ or $v0, $v0, $a1
/* 3B4458 E00B05A8 00063200 */ sll $a2, $a2, 8
/* 3B445C E00B05AC 00461025 */ or $v0, $v0, $a2
/* 3B4460 E00B05B0 314300FF */ andi $v1, $t2, 0xff
/* 3B4464 E00B05B4 00431025 */ or $v0, $v0, $v1
/* 3B4468 E00B05B8 AC820004 */ sw $v0, 4($a0)
/* 3B446C E00B05BC 8E660030 */ lw $a2, 0x30($s3)
/* 3B4470 E00B05C0 24840010 */ addiu $a0, $a0, 0x10
/* 3B4474 E00B05C4 24C20001 */ addiu $v0, $a2, 1
/* 3B4478 E00B05C8 18400065 */ blez $v0, .LE00B0760
/* 3B447C E00B05CC ACE40000 */ sw $a0, ($a3)
/* 3B4480 E00B05D0 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 3B4484 E00B05D4 000AB8C0 */ sll $s7, $t2, 3
/* 3B4488 E00B05D8 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 3B448C E00B05DC 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 3B4490 E00B05E0 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 3B4494 E00B05E4 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 3B4498 E00B05E8 3C140001 */ lui $s4, 1
/* 3B449C E00B05EC 36941630 */ ori $s4, $s4, 0x1630
/* 3B44A0 E00B05F0 00E0902D */ daddu $s2, $a3, $zero
.LE00B05F4:
/* 3B44A4 E00B05F4 00111840 */ sll $v1, $s1, 1
/* 3B44A8 E00B05F8 00711821 */ addu $v1, $v1, $s1
/* 3B44AC E00B05FC 00031100 */ sll $v0, $v1, 4
/* 3B44B0 E00B0600 00431023 */ subu $v0, $v0, $v1
/* 3B44B4 E00B0604 00021080 */ sll $v0, $v0, 2
/* 3B44B8 E00B0608 24C30001 */ addiu $v1, $a2, 1
/* 3B44BC E00B060C 14600002 */ bnez $v1, .LE00B0618
/* 3B44C0 E00B0610 0043001A */ div $zero, $v0, $v1
/* 3B44C4 E00B0614 0007000D */ break 7
.LE00B0618:
/* 3B44C8 E00B0618 2401FFFF */ addiu $at, $zero, -1
/* 3B44CC E00B061C 14610004 */ bne $v1, $at, .LE00B0630
/* 3B44D0 E00B0620 3C018000 */ lui $at, 0x8000
/* 3B44D4 E00B0624 14410002 */ bne $v0, $at, .LE00B0630
/* 3B44D8 E00B0628 00000000 */ nop
/* 3B44DC E00B062C 0006000D */ break 6
.LE00B0630:
/* 3B44E0 E00B0630 00001012 */ mflo $v0
/* 3B44E4 E00B0634 02E21021 */ addu $v0, $s7, $v0
/* 3B44E8 E00B0638 44826000 */ mtc1 $v0, $f12
/* 3B44EC E00B063C 00000000 */ nop
/* 3B44F0 E00B0640 46806320 */ cvt.s.w $f12, $f12
/* 3B44F4 E00B0644 0C080144 */ jal shim_cos_deg
/* 3B44F8 E00B0648 26300001 */ addiu $s0, $s1, 1
/* 3B44FC E00B064C 46000021 */ cvt.d.s $f0, $f0
/* 3B4500 E00B0650 3C01E00B */ lui $at, %hi(D_E00B07E8)
/* 3B4504 E00B0654 D42207E8 */ ldc1 $f2, %lo(D_E00B07E8)($at)
/* 3B4508 E00B0658 001110C0 */ sll $v0, $s1, 3
/* 3B450C E00B065C 46220002 */ mul.d $f0, $f0, $f2
/* 3B4510 E00B0660 00000000 */ nop
/* 3B4514 E00B0664 00511021 */ addu $v0, $v0, $s1
/* 3B4518 E00B0668 00021080 */ sll $v0, $v0, 2
/* 3B451C E00B066C 44822000 */ mtc1 $v0, $f4
/* 3B4520 E00B0670 00000000 */ nop
/* 3B4524 E00B0674 46802120 */ cvt.s.w $f4, $f4
/* 3B4528 E00B0678 4405A000 */ mfc1 $a1, $f20
/* 3B452C E00B067C 4406A000 */ mfc1 $a2, $f20
/* 3B4530 E00B0680 44901000 */ mtc1 $s0, $f2
/* 3B4534 E00B0684 00000000 */ nop
/* 3B4538 E00B0688 468010A0 */ cvt.s.w $f2, $f2
/* 3B453C E00B068C 460010A1 */ cvt.d.s $f2, $f2
/* 3B4540 E00B0690 46201080 */ add.d $f2, $f2, $f0
/* 3B4544 E00B0694 44072000 */ mfc1 $a3, $f4
/* 3B4548 E00B0698 C660002C */ lwc1 $f0, 0x2c($s3)
/* 3B454C E00B069C 462010A0 */ cvt.s.d $f2, $f2
/* 3B4550 E00B06A0 46001082 */ mul.s $f2, $f2, $f0
/* 3B4554 E00B06A4 00000000 */ nop
/* 3B4558 E00B06A8 27A40020 */ addiu $a0, $sp, 0x20
/* 3B455C E00B06AC E7B40014 */ swc1 $f20, 0x14($sp)
/* 3B4560 E00B06B0 E7B40018 */ swc1 $f20, 0x18($sp)
/* 3B4564 E00B06B4 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3B4568 E00B06B8 0C080180 */ jal shim_guPositionF
/* 3B456C E00B06BC E7A20010 */ swc1 $f2, 0x10($sp)
/* 3B4570 E00B06C0 27A40020 */ addiu $a0, $sp, 0x20
/* 3B4574 E00B06C4 96A50000 */ lhu $a1, ($s5)
/* 3B4578 E00B06C8 8EC20000 */ lw $v0, ($s6)
/* 3B457C E00B06CC 00052980 */ sll $a1, $a1, 6
/* 3B4580 E00B06D0 00B42821 */ addu $a1, $a1, $s4
/* 3B4584 E00B06D4 0C080118 */ jal shim_guMtxF2L
/* 3B4588 E00B06D8 00452821 */ addu $a1, $v0, $a1
/* 3B458C E00B06DC 3C07D838 */ lui $a3, 0xd838
/* 3B4590 E00B06E0 34E70002 */ ori $a3, $a3, 2
/* 3B4594 E00B06E4 3C02DA38 */ lui $v0, 0xda38
/* 3B4598 E00B06E8 0200882D */ daddu $s1, $s0, $zero
/* 3B459C E00B06EC 8E440000 */ lw $a0, ($s2)
/* 3B45A0 E00B06F0 96A50000 */ lhu $a1, ($s5)
/* 3B45A4 E00B06F4 0080302D */ daddu $a2, $a0, $zero
/* 3B45A8 E00B06F8 24840008 */ addiu $a0, $a0, 8
/* 3B45AC E00B06FC ACC20000 */ sw $v0, ($a2)
/* 3B45B0 E00B0700 30A2FFFF */ andi $v0, $a1, 0xffff
/* 3B45B4 E00B0704 00021180 */ sll $v0, $v0, 6
/* 3B45B8 E00B0708 00541021 */ addu $v0, $v0, $s4
/* 3B45BC E00B070C 8EC30000 */ lw $v1, ($s6)
/* 3B45C0 E00B0710 24A50001 */ addiu $a1, $a1, 1
/* 3B45C4 E00B0714 00621821 */ addu $v1, $v1, $v0
/* 3B45C8 E00B0718 3C02DE00 */ lui $v0, 0xde00
/* 3B45CC E00B071C ACC30004 */ sw $v1, 4($a2)
/* 3B45D0 E00B0720 AC820000 */ sw $v0, ($a0)
/* 3B45D4 E00B0724 8FAA00A8 */ lw $t2, 0xa8($sp)
/* 3B45D8 E00B0728 24020040 */ addiu $v0, $zero, 0x40
/* 3B45DC E00B072C AC870008 */ sw $a3, 8($a0)
/* 3B45E0 E00B0730 AC82000C */ sw $v0, 0xc($a0)
/* 3B45E4 E00B0734 AC8A0004 */ sw $t2, 4($a0)
/* 3B45E8 E00B0738 8E660030 */ lw $a2, 0x30($s3)
/* 3B45EC E00B073C 24820008 */ addiu $v0, $a0, 8
/* 3B45F0 E00B0740 AE440000 */ sw $a0, ($s2)
/* 3B45F4 E00B0744 24840010 */ addiu $a0, $a0, 0x10
/* 3B45F8 E00B0748 A6A50000 */ sh $a1, ($s5)
/* 3B45FC E00B074C AE420000 */ sw $v0, ($s2)
/* 3B4600 E00B0750 24C20001 */ addiu $v0, $a2, 1
/* 3B4604 E00B0754 0222102A */ slt $v0, $s1, $v0
/* 3B4608 E00B0758 1440FFA6 */ bnez $v0, .LE00B05F4
/* 3B460C E00B075C AE440000 */ sw $a0, ($s2)
.LE00B0760:
/* 3B4610 E00B0760 3C03D838 */ lui $v1, 0xd838
/* 3B4614 E00B0764 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3B4618 E00B0768 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3B461C E00B076C 8C820000 */ lw $v0, ($a0)
/* 3B4620 E00B0770 34630002 */ ori $v1, $v1, 2
/* 3B4624 E00B0774 0040282D */ daddu $a1, $v0, $zero
/* 3B4628 E00B0778 24420008 */ addiu $v0, $v0, 8
/* 3B462C E00B077C AC820000 */ sw $v0, ($a0)
/* 3B4630 E00B0780 ACA30000 */ sw $v1, ($a1)
/* 3B4634 E00B0784 24030040 */ addiu $v1, $zero, 0x40
/* 3B4638 E00B0788 ACA30004 */ sw $v1, 4($a1)
/* 3B463C E00B078C 24430008 */ addiu $v1, $v0, 8
/* 3B4640 E00B0790 AC830000 */ sw $v1, ($a0)
/* 3B4644 E00B0794 3C03E700 */ lui $v1, 0xe700
/* 3B4648 E00B0798 AC430000 */ sw $v1, ($v0)
/* 3B464C E00B079C AC400004 */ sw $zero, 4($v0)
/* 3B4650 E00B07A0 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 3B4654 E00B07A4 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 3B4658 E00B07A8 8FB700CC */ lw $s7, 0xcc($sp)
/* 3B465C E00B07AC 8FB600C8 */ lw $s6, 0xc8($sp)
/* 3B4660 E00B07B0 8FB500C4 */ lw $s5, 0xc4($sp)
/* 3B4664 E00B07B4 8FB400C0 */ lw $s4, 0xc0($sp)
/* 3B4668 E00B07B8 8FB300BC */ lw $s3, 0xbc($sp)
/* 3B466C E00B07BC 8FB200B8 */ lw $s2, 0xb8($sp)
/* 3B4670 E00B07C0 8FB100B4 */ lw $s1, 0xb4($sp)
/* 3B4674 E00B07C4 8FB000B0 */ lw $s0, 0xb0($sp)
/* 3B4678 E00B07C8 D7B800E8 */ ldc1 $f24, 0xe8($sp)
/* 3B467C E00B07CC D7B600E0 */ ldc1 $f22, 0xe0($sp)
/* 3B4680 E00B07D0 D7B400D8 */ ldc1 $f20, 0xd8($sp)
/* 3B4684 E00B07D4 03E00008 */ jr $ra
/* 3B4688 E00B07D8 27BD00F0 */ addiu $sp, $sp, 0xf0
/* 3B468C E00B07DC 00000000 */ nop

View File

@ -1,262 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel tubba_heart_attack_appendGfx
/* 3D2060 E00CC9D0 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 3D2064 E00CC9D4 0080302D */ daddu $a2, $a0, $zero
/* 3D2068 E00CC9D8 3C07DB06 */ lui $a3, 0xdb06
/* 3D206C E00CC9DC 34E70024 */ ori $a3, $a3, 0x24
/* 3D2070 E00CC9E0 27A40018 */ addiu $a0, $sp, 0x18
/* 3D2074 E00CC9E4 AFB100A4 */ sw $s1, 0xa4($sp)
/* 3D2078 E00CC9E8 3C110001 */ lui $s1, 1
/* 3D207C E00CC9EC 36311630 */ ori $s1, $s1, 0x1630
/* 3D2080 E00CC9F0 AFB600B8 */ sw $s6, 0xb8($sp)
/* 3D2084 E00CC9F4 0000B02D */ daddu $s6, $zero, $zero
/* 3D2088 E00CC9F8 27A20058 */ addiu $v0, $sp, 0x58
/* 3D208C E00CC9FC AFB300AC */ sw $s3, 0xac($sp)
/* 3D2090 E00CCA00 0040982D */ daddu $s3, $v0, $zero
/* 3D2094 E00CCA04 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3D2098 E00CCA08 2442A674 */ addiu $v0, $v0, %lo(gDisplayContext)
/* 3D209C E00CCA0C AFBE00C0 */ sw $fp, 0xc0($sp)
/* 3D20A0 E00CCA10 0040F02D */ daddu $fp, $v0, $zero
/* 3D20A4 E00CCA14 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 3D20A8 E00CCA18 244241F0 */ addiu $v0, $v0, %lo(gMatrixListPos)
/* 3D20AC E00CCA1C AFB500B4 */ sw $s5, 0xb4($sp)
/* 3D20B0 E00CCA20 0040A82D */ daddu $s5, $v0, $zero
/* 3D20B4 E00CCA24 AFB700BC */ sw $s7, 0xbc($sp)
/* 3D20B8 E00CCA28 3C170001 */ lui $s7, 1
/* 3D20BC E00CCA2C 36F71630 */ ori $s7, $s7, 0x1630
/* 3D20C0 E00CCA30 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 3D20C4 E00CCA34 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 3D20C8 E00CCA38 AFB400B0 */ sw $s4, 0xb0($sp)
/* 3D20CC E00CCA3C 0040A02D */ daddu $s4, $v0, $zero
/* 3D20D0 E00CCA40 3C08800B */ lui $t0, %hi(gCameras)
/* 3D20D4 E00CCA44 25081D80 */ addiu $t0, $t0, %lo(gCameras)
/* 3D20D8 E00CCA48 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 3D20DC E00CCA4C AFB200A8 */ sw $s2, 0xa8($sp)
/* 3D20E0 E00CCA50 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3D20E4 E00CCA54 F7B600D0 */ sdc1 $f22, 0xd0($sp)
/* 3D20E8 E00CCA58 F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 3D20EC E00CCA5C 8E850000 */ lw $a1, ($s4)
/* 3D20F0 E00CCA60 4480A000 */ mtc1 $zero, $f20
/* 3D20F4 E00CCA64 3C013F80 */ lui $at, 0x3f80
/* 3D20F8 E00CCA68 4481B000 */ mtc1 $at, $f22
/* 3D20FC E00CCA6C 8CC2000C */ lw $v0, 0xc($a2)
/* 3D2100 E00CCA70 00A0182D */ daddu $v1, $a1, $zero
/* 3D2104 E00CCA74 24A50008 */ addiu $a1, $a1, 8
/* 3D2108 E00CCA78 0040902D */ daddu $s2, $v0, $zero
/* 3D210C E00CCA7C AE850000 */ sw $a1, ($s4)
/* 3D2110 E00CCA80 8E500024 */ lw $s0, 0x24($s2)
/* 3D2114 E00CCA84 3C02E700 */ lui $v0, 0xe700
/* 3D2118 E00CCA88 AC620000 */ sw $v0, ($v1)
/* 3D211C E00CCA8C AC600004 */ sw $zero, 4($v1)
/* 3D2120 E00CCA90 ACA70000 */ sw $a3, ($a1)
/* 3D2124 E00CCA94 8CC30010 */ lw $v1, 0x10($a2)
/* 3D2128 E00CCA98 24A20008 */ addiu $v0, $a1, 8
/* 3D212C E00CCA9C AE820000 */ sw $v0, ($s4)
/* 3D2130 E00CCAA0 8C62001C */ lw $v0, 0x1c($v1)
/* 3D2134 E00CCAA4 3C038000 */ lui $v1, 0x8000
/* 3D2138 E00CCAA8 00431021 */ addu $v0, $v0, $v1
/* 3D213C E00CCAAC ACA20004 */ sw $v0, 4($a1)
/* 3D2140 E00CCAB0 8E450004 */ lw $a1, 4($s2)
/* 3D2144 E00CCAB4 8E460008 */ lw $a2, 8($s2)
/* 3D2148 E00CCAB8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3D214C E00CCABC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3D2150 E00CCAC0 8E47000C */ lw $a3, 0xc($s2)
/* 3D2154 E00CCAC4 00031080 */ sll $v0, $v1, 2
/* 3D2158 E00CCAC8 00431021 */ addu $v0, $v0, $v1
/* 3D215C E00CCACC 00021080 */ sll $v0, $v0, 2
/* 3D2160 E00CCAD0 00431023 */ subu $v0, $v0, $v1
/* 3D2164 E00CCAD4 000218C0 */ sll $v1, $v0, 3
/* 3D2168 E00CCAD8 00431021 */ addu $v0, $v0, $v1
/* 3D216C E00CCADC 000210C0 */ sll $v0, $v0, 3
/* 3D2170 E00CCAE0 00481021 */ addu $v0, $v0, $t0
/* 3D2174 E00CCAE4 0C080108 */ jal shim_guTranslateF
/* 3D2178 E00CCAE8 AFA20098 */ sw $v0, 0x98($sp)
/* 3D217C E00CCAEC 8E450028 */ lw $a1, 0x28($s2)
/* 3D2180 E00CCAF0 0260202D */ daddu $a0, $s3, $zero
/* 3D2184 E00CCAF4 00A0302D */ daddu $a2, $a1, $zero
/* 3D2188 E00CCAF8 0C080110 */ jal shim_guScaleF
/* 3D218C E00CCAFC 00A0382D */ daddu $a3, $a1, $zero
/* 3D2190 E00CCB00 0260202D */ daddu $a0, $s3, $zero
/* 3D2194 E00CCB04 27A50018 */ addiu $a1, $sp, 0x18
/* 3D2198 E00CCB08 0C080114 */ jal shim_guMtxCatF
/* 3D219C E00CCB0C 00A0302D */ daddu $a2, $a1, $zero
/* 3D21A0 E00CCB10 27A40018 */ addiu $a0, $sp, 0x18
/* 3D21A4 E00CCB14 96A50000 */ lhu $a1, ($s5)
/* 3D21A8 E00CCB18 8FC20000 */ lw $v0, ($fp)
/* 3D21AC E00CCB1C 00052980 */ sll $a1, $a1, 6
/* 3D21B0 E00CCB20 00B12821 */ addu $a1, $a1, $s1
/* 3D21B4 E00CCB24 0C080118 */ jal shim_guMtxF2L
/* 3D21B8 E00CCB28 00452821 */ addu $a1, $v0, $a1
/* 3D21BC E00CCB2C 3C03DA38 */ lui $v1, 0xda38
/* 3D21C0 E00CCB30 34630002 */ ori $v1, $v1, 2
/* 3D21C4 E00CCB34 321000FF */ andi $s0, $s0, 0xff
/* 3D21C8 E00CCB38 8E840000 */ lw $a0, ($s4)
/* 3D21CC E00CCB3C 96A20000 */ lhu $v0, ($s5)
/* 3D21D0 E00CCB40 0080282D */ daddu $a1, $a0, $zero
/* 3D21D4 E00CCB44 24840008 */ addiu $a0, $a0, 8
/* 3D21D8 E00CCB48 AE840000 */ sw $a0, ($s4)
/* 3D21DC E00CCB4C ACA30000 */ sw $v1, ($a1)
/* 3D21E0 E00CCB50 24430001 */ addiu $v1, $v0, 1
/* 3D21E4 E00CCB54 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D21E8 E00CCB58 00021180 */ sll $v0, $v0, 6
/* 3D21EC E00CCB5C A6A30000 */ sh $v1, ($s5)
/* 3D21F0 E00CCB60 8FC30000 */ lw $v1, ($fp)
/* 3D21F4 E00CCB64 00511021 */ addu $v0, $v0, $s1
/* 3D21F8 E00CCB68 00621821 */ addu $v1, $v1, $v0
/* 3D21FC E00CCB6C 24820008 */ addiu $v0, $a0, 8
/* 3D2200 E00CCB70 ACA30004 */ sw $v1, 4($a1)
/* 3D2204 E00CCB74 AE820000 */ sw $v0, ($s4)
/* 3D2208 E00CCB78 3C02FA00 */ lui $v0, 0xfa00
/* 3D220C E00CCB7C AC820000 */ sw $v0, ($a0)
/* 3D2210 E00CCB80 9243001B */ lbu $v1, 0x1b($s2)
/* 3D2214 E00CCB84 9245001F */ lbu $a1, 0x1f($s2)
/* 3D2218 E00CCB88 92460023 */ lbu $a2, 0x23($s2)
/* 3D221C E00CCB8C 24820010 */ addiu $v0, $a0, 0x10
/* 3D2220 E00CCB90 AE820000 */ sw $v0, ($s4)
/* 3D2224 E00CCB94 3C02FB00 */ lui $v0, 0xfb00
/* 3D2228 E00CCB98 AC820008 */ sw $v0, 8($a0)
/* 3D222C E00CCB9C 24820018 */ addiu $v0, $a0, 0x18
/* 3D2230 E00CCBA0 AC80000C */ sw $zero, 0xc($a0)
/* 3D2234 E00CCBA4 AE820000 */ sw $v0, ($s4)
/* 3D2238 E00CCBA8 3C02DE00 */ lui $v0, 0xde00
/* 3D223C E00CCBAC AC820010 */ sw $v0, 0x10($a0)
/* 3D2240 E00CCBB0 3C020900 */ lui $v0, 0x900
/* 3D2244 E00CCBB4 24420400 */ addiu $v0, $v0, 0x400
/* 3D2248 E00CCBB8 AC820014 */ sw $v0, 0x14($a0)
/* 3D224C E00CCBBC 00031E00 */ sll $v1, $v1, 0x18
/* 3D2250 E00CCBC0 00052C00 */ sll $a1, $a1, 0x10
/* 3D2254 E00CCBC4 00651825 */ or $v1, $v1, $a1
/* 3D2258 E00CCBC8 00063200 */ sll $a2, $a2, 8
/* 3D225C E00CCBCC 00661825 */ or $v1, $v1, $a2
/* 3D2260 E00CCBD0 00701825 */ or $v1, $v1, $s0
/* 3D2264 E00CCBD4 AC830004 */ sw $v1, 4($a0)
.LE00CCBD8:
/* 3D2268 E00CCBD8 8E4306D0 */ lw $v1, 0x6d0($s2)
/* 3D226C E00CCBDC 5060005F */ beql $v1, $zero, .LE00CCD5C
/* 3D2270 E00CCBE0 26D60001 */ addiu $s6, $s6, 1
/* 3D2274 E00CCBE4 24020007 */ addiu $v0, $zero, 7
/* 3D2278 E00CCBE8 5062005C */ beql $v1, $v0, .LE00CCD5C
/* 3D227C E00CCBEC 26D60001 */ addiu $s6, $s6, 1
/* 3D2280 E00CCBF0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 3D2284 E00CCBF4 8E4504DC */ lw $a1, 0x4dc($s2)
/* 3D2288 E00CCBF8 4406A000 */ mfc1 $a2, $f20
/* 3D228C E00CCBFC 4407B000 */ mfc1 $a3, $f22
/* 3D2290 E00CCC00 0C080104 */ jal shim_guRotateF
/* 3D2294 E00CCC04 27A40018 */ addiu $a0, $sp, 0x18
/* 3D2298 E00CCC08 8E45002C */ lw $a1, 0x2c($s2)
/* 3D229C E00CCC0C 8E460090 */ lw $a2, 0x90($s2)
/* 3D22A0 E00CCC10 8E4700F4 */ lw $a3, 0xf4($s2)
/* 3D22A4 E00CCC14 0C080108 */ jal shim_guTranslateF
/* 3D22A8 E00CCC18 0260202D */ daddu $a0, $s3, $zero
/* 3D22AC E00CCC1C 0260202D */ daddu $a0, $s3, $zero
/* 3D22B0 E00CCC20 27A50018 */ addiu $a1, $sp, 0x18
/* 3D22B4 E00CCC24 0C080114 */ jal shim_guMtxCatF
/* 3D22B8 E00CCC28 00A0302D */ daddu $a2, $a1, $zero
/* 3D22BC E00CCC2C 4406A000 */ mfc1 $a2, $f20
/* 3D22C0 E00CCC30 C64004DC */ lwc1 $f0, 0x4dc($s2)
/* 3D22C4 E00CCC34 4407B000 */ mfc1 $a3, $f22
/* 3D22C8 E00CCC38 46000007 */ neg.s $f0, $f0
/* 3D22CC E00CCC3C 44050000 */ mfc1 $a1, $f0
/* 3D22D0 E00CCC40 0260202D */ daddu $a0, $s3, $zero
/* 3D22D4 E00CCC44 0C080104 */ jal shim_guRotateF
/* 3D22D8 E00CCC48 E7B40010 */ swc1 $f20, 0x10($sp)
/* 3D22DC E00CCC4C 0260202D */ daddu $a0, $s3, $zero
/* 3D22E0 E00CCC50 27A50018 */ addiu $a1, $sp, 0x18
/* 3D22E4 E00CCC54 0C080114 */ jal shim_guMtxCatF
/* 3D22E8 E00CCC58 00A0302D */ daddu $a2, $a1, $zero
/* 3D22EC E00CCC5C E7B60010 */ swc1 $f22, 0x10($sp)
/* 3D22F0 E00CCC60 8E450478 */ lw $a1, 0x478($s2)
/* 3D22F4 E00CCC64 4406A000 */ mfc1 $a2, $f20
/* 3D22F8 E00CCC68 4407A000 */ mfc1 $a3, $f20
/* 3D22FC E00CCC6C 0C080104 */ jal shim_guRotateF
/* 3D2300 E00CCC70 0260202D */ daddu $a0, $s3, $zero
/* 3D2304 E00CCC74 0260202D */ daddu $a0, $s3, $zero
/* 3D2308 E00CCC78 27A50018 */ addiu $a1, $sp, 0x18
/* 3D230C E00CCC7C 0C080114 */ jal shim_guMtxCatF
/* 3D2310 E00CCC80 00A0302D */ daddu $a2, $a1, $zero
/* 3D2314 E00CCC84 8E4503B0 */ lw $a1, 0x3b0($s2)
/* 3D2318 E00CCC88 8E460414 */ lw $a2, 0x414($s2)
/* 3D231C E00CCC8C 4407B000 */ mfc1 $a3, $f22
/* 3D2320 E00CCC90 0C080110 */ jal shim_guScaleF
/* 3D2324 E00CCC94 0260202D */ daddu $a0, $s3, $zero
/* 3D2328 E00CCC98 0260202D */ daddu $a0, $s3, $zero
/* 3D232C E00CCC9C 27A50018 */ addiu $a1, $sp, 0x18
/* 3D2330 E00CCCA0 0C080114 */ jal shim_guMtxCatF
/* 3D2334 E00CCCA4 00A0302D */ daddu $a2, $a1, $zero
/* 3D2338 E00CCCA8 27A40018 */ addiu $a0, $sp, 0x18
/* 3D233C E00CCCAC 96A50000 */ lhu $a1, ($s5)
/* 3D2340 E00CCCB0 8FC20000 */ lw $v0, ($fp)
/* 3D2344 E00CCCB4 00052980 */ sll $a1, $a1, 6
/* 3D2348 E00CCCB8 00B72821 */ addu $a1, $a1, $s7
/* 3D234C E00CCCBC 0C080118 */ jal shim_guMtxF2L
/* 3D2350 E00CCCC0 00452821 */ addu $a1, $v0, $a1
/* 3D2354 E00CCCC4 3C06DA38 */ lui $a2, 0xda38
/* 3D2358 E00CCCC8 34C60001 */ ori $a2, $a2, 1
/* 3D235C E00CCCCC 8E840000 */ lw $a0, ($s4)
/* 3D2360 E00CCCD0 3C07D838 */ lui $a3, 0xd838
/* 3D2364 E00CCCD4 0080282D */ daddu $a1, $a0, $zero
/* 3D2368 E00CCCD8 24840008 */ addiu $a0, $a0, 8
/* 3D236C E00CCCDC AE840000 */ sw $a0, ($s4)
/* 3D2370 E00CCCE0 96A20000 */ lhu $v0, ($s5)
/* 3D2374 E00CCCE4 3C03DA38 */ lui $v1, 0xda38
/* 3D2378 E00CCCE8 ACA30000 */ sw $v1, ($a1)
/* 3D237C E00CCCEC 24430001 */ addiu $v1, $v0, 1
/* 3D2380 E00CCCF0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D2384 E00CCCF4 00021180 */ sll $v0, $v0, 6
/* 3D2388 E00CCCF8 A6A30000 */ sh $v1, ($s5)
/* 3D238C E00CCCFC 8FC30000 */ lw $v1, ($fp)
/* 3D2390 E00CCD00 00571021 */ addu $v0, $v0, $s7
/* 3D2394 E00CCD04 00621821 */ addu $v1, $v1, $v0
/* 3D2398 E00CCD08 24820008 */ addiu $v0, $a0, 8
/* 3D239C E00CCD0C ACA30004 */ sw $v1, 4($a1)
/* 3D23A0 E00CCD10 AE820000 */ sw $v0, ($s4)
/* 3D23A4 E00CCD14 24820010 */ addiu $v0, $a0, 0x10
/* 3D23A8 E00CCD18 AC860000 */ sw $a2, ($a0)
/* 3D23AC E00CCD1C AE820000 */ sw $v0, ($s4)
/* 3D23B0 E00CCD20 8FA90098 */ lw $t1, 0x98($sp)
/* 3D23B4 E00CCD24 34E70002 */ ori $a3, $a3, 2
/* 3D23B8 E00CCD28 8D230204 */ lw $v1, 0x204($t1)
/* 3D23BC E00CCD2C 3C02DE00 */ lui $v0, 0xde00
/* 3D23C0 E00CCD30 AC820008 */ sw $v0, 8($a0)
/* 3D23C4 E00CCD34 3C020900 */ lui $v0, 0x900
/* 3D23C8 E00CCD38 24420518 */ addiu $v0, $v0, 0x518
/* 3D23CC E00CCD3C AC82000C */ sw $v0, 0xc($a0)
/* 3D23D0 E00CCD40 24820018 */ addiu $v0, $a0, 0x18
/* 3D23D4 E00CCD44 AE820000 */ sw $v0, ($s4)
/* 3D23D8 E00CCD48 24020040 */ addiu $v0, $zero, 0x40
/* 3D23DC E00CCD4C AC870010 */ sw $a3, 0x10($a0)
/* 3D23E0 E00CCD50 AC820014 */ sw $v0, 0x14($a0)
/* 3D23E4 E00CCD54 AC830004 */ sw $v1, 4($a0)
/* 3D23E8 E00CCD58 26D60001 */ addiu $s6, $s6, 1
.LE00CCD5C:
/* 3D23EC E00CCD5C 2AC20019 */ slti $v0, $s6, 0x19
/* 3D23F0 E00CCD60 1440FF9D */ bnez $v0, .LE00CCBD8
/* 3D23F4 E00CCD64 26520004 */ addiu $s2, $s2, 4
/* 3D23F8 E00CCD68 3C05D838 */ lui $a1, 0xd838
/* 3D23FC E00CCD6C 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3D2400 E00CCD70 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3D2404 E00CCD74 8C620000 */ lw $v0, ($v1)
/* 3D2408 E00CCD78 34A50002 */ ori $a1, $a1, 2
/* 3D240C E00CCD7C 0040202D */ daddu $a0, $v0, $zero
/* 3D2410 E00CCD80 24420008 */ addiu $v0, $v0, 8
/* 3D2414 E00CCD84 AC620000 */ sw $v0, ($v1)
/* 3D2418 E00CCD88 24020040 */ addiu $v0, $zero, 0x40
/* 3D241C E00CCD8C AC850000 */ sw $a1, ($a0)
/* 3D2420 E00CCD90 AC820004 */ sw $v0, 4($a0)
/* 3D2424 E00CCD94 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 3D2428 E00CCD98 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 3D242C E00CCD9C 8FB700BC */ lw $s7, 0xbc($sp)
/* 3D2430 E00CCDA0 8FB600B8 */ lw $s6, 0xb8($sp)
/* 3D2434 E00CCDA4 8FB500B4 */ lw $s5, 0xb4($sp)
/* 3D2438 E00CCDA8 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3D243C E00CCDAC 8FB300AC */ lw $s3, 0xac($sp)
/* 3D2440 E00CCDB0 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3D2444 E00CCDB4 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3D2448 E00CCDB8 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3D244C E00CCDBC D7B600D0 */ ldc1 $f22, 0xd0($sp)
/* 3D2450 E00CCDC0 D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 3D2454 E00CCDC4 03E00008 */ jr $ra
/* 3D2458 E00CCDC8 27BD00D8 */ addiu $sp, $sp, 0xd8
/* 3D245C E00CCDCC 00000000 */ nop

View File

@ -1,159 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .text
glabel tubba_heart_attack_main
/* 3D1690 E00CC000 27BDFF90 */ addiu $sp, $sp, -0x70
/* 3D1694 E00CC004 F7B40048 */ sdc1 $f20, 0x48($sp)
/* 3D1698 E00CC008 4485A000 */ mtc1 $a1, $f20
/* 3D169C E00CC00C F7B60050 */ sdc1 $f22, 0x50($sp)
/* 3D16A0 E00CC010 4486B000 */ mtc1 $a2, $f22
/* 3D16A4 E00CC014 AFB1002C */ sw $s1, 0x2c($sp)
/* 3D16A8 E00CC018 0080882D */ daddu $s1, $a0, $zero
/* 3D16AC E00CC01C F7BC0068 */ sdc1 $f28, 0x68($sp)
/* 3D16B0 E00CC020 4487E000 */ mtc1 $a3, $f28
/* 3D16B4 E00CC024 27A40010 */ addiu $a0, $sp, 0x10
/* 3D16B8 E00CC028 AFB00028 */ sw $s0, 0x28($sp)
/* 3D16BC E00CC02C 8FB00084 */ lw $s0, 0x84($sp)
/* 3D16C0 E00CC030 3C02E00D */ lui $v0, %hi(tubba_heart_attack_init)
/* 3D16C4 E00CC034 2442C250 */ addiu $v0, $v0, %lo(tubba_heart_attack_init)
/* 3D16C8 E00CC038 AFA20018 */ sw $v0, 0x18($sp)
/* 3D16CC E00CC03C 3C02E00D */ lui $v0, %hi(tubba_heart_attack_update)
/* 3D16D0 E00CC040 2442C258 */ addiu $v0, $v0, %lo(tubba_heart_attack_update)
/* 3D16D4 E00CC044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3D16D8 E00CC048 3C02E00D */ lui $v0, %hi(tubba_heart_attack_render)
/* 3D16DC E00CC04C 2442C980 */ addiu $v0, $v0, %lo(tubba_heart_attack_render)
/* 3D16E0 E00CC050 AFA20020 */ sw $v0, 0x20($sp)
/* 3D16E4 E00CC054 24020066 */ addiu $v0, $zero, 0x66
/* 3D16E8 E00CC058 AFBF0040 */ sw $ra, 0x40($sp)
/* 3D16EC E00CC05C AFB5003C */ sw $s5, 0x3c($sp)
/* 3D16F0 E00CC060 AFB40038 */ sw $s4, 0x38($sp)
/* 3D16F4 E00CC064 AFB30034 */ sw $s3, 0x34($sp)
/* 3D16F8 E00CC068 AFB20030 */ sw $s2, 0x30($sp)
/* 3D16FC E00CC06C F7BA0060 */ sdc1 $f26, 0x60($sp)
/* 3D1700 E00CC070 F7B80058 */ sdc1 $f24, 0x58($sp)
/* 3D1704 E00CC074 AFA00010 */ sw $zero, 0x10($sp)
/* 3D1708 E00CC078 AFA00024 */ sw $zero, 0x24($sp)
/* 3D170C E00CC07C 0C080124 */ jal shim_create_effect_instance
/* 3D1710 E00CC080 AFA20014 */ sw $v0, 0x14($sp)
/* 3D1714 E00CC084 24040798 */ addiu $a0, $zero, 0x798
/* 3D1718 E00CC088 24030001 */ addiu $v1, $zero, 1
/* 3D171C E00CC08C 0040A02D */ daddu $s4, $v0, $zero
/* 3D1720 E00CC090 0C08012C */ jal shim_general_heap_malloc
/* 3D1724 E00CC094 AE830008 */ sw $v1, 8($s4)
/* 3D1728 E00CC098 0040182D */ daddu $v1, $v0, $zero
/* 3D172C E00CC09C 14600003 */ bnez $v1, .LE00CC0AC
/* 3D1730 E00CC0A0 AE82000C */ sw $v0, 0xc($s4)
.LE00CC0A4:
/* 3D1734 E00CC0A4 08033029 */ j .LE00CC0A4
/* 3D1738 E00CC0A8 00000000 */ nop
.LE00CC0AC:
/* 3D173C E00CC0AC AC710000 */ sw $s1, ($v1)
/* 3D1740 E00CC0B0 1E000004 */ bgtz $s0, .LE00CC0C4
/* 3D1744 E00CC0B4 AC600014 */ sw $zero, 0x14($v1)
/* 3D1748 E00CC0B8 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3D174C E00CC0BC 08033032 */ j .LE00CC0C8
/* 3D1750 E00CC0C0 AC620010 */ sw $v0, 0x10($v1)
.LE00CC0C4:
/* 3D1754 E00CC0C4 AC700010 */ sw $s0, 0x10($v1)
.LE00CC0C8:
/* 3D1758 E00CC0C8 0000902D */ daddu $s2, $zero, $zero
/* 3D175C E00CC0CC 3C1551EB */ lui $s5, 0x51eb
/* 3D1760 E00CC0D0 36B5851F */ ori $s5, $s5, 0x851f
/* 3D1764 E00CC0D4 24130001 */ addiu $s3, $zero, 1
/* 3D1768 E00CC0D8 0060802D */ daddu $s0, $v1, $zero
/* 3D176C E00CC0DC 0240882D */ daddu $s1, $s2, $zero
/* 3D1770 E00CC0E0 3C014170 */ lui $at, 0x4170
/* 3D1774 E00CC0E4 4481D000 */ mtc1 $at, $f26
/* 3D1778 E00CC0E8 3C0142F0 */ lui $at, 0x42f0
/* 3D177C E00CC0EC 4481C000 */ mtc1 $at, $f24
/* 3D1780 E00CC0F0 240200FF */ addiu $v0, $zero, 0xff
/* 3D1784 E00CC0F4 AE020024 */ sw $v0, 0x24($s0)
/* 3D1788 E00CC0F8 E6140004 */ swc1 $f20, 4($s0)
/* 3D178C E00CC0FC E6160008 */ swc1 $f22, 8($s0)
/* 3D1790 E00CC100 E61C000C */ swc1 $f28, 0xc($s0)
/* 3D1794 E00CC104 C7A00080 */ lwc1 $f0, 0x80($sp)
/* 3D1798 E00CC108 24020046 */ addiu $v0, $zero, 0x46
/* 3D179C E00CC10C AE020018 */ sw $v0, 0x18($s0)
/* 3D17A0 E00CC110 240200B4 */ addiu $v0, $zero, 0xb4
/* 3D17A4 E00CC114 AE02001C */ sw $v0, 0x1c($s0)
/* 3D17A8 E00CC118 24020078 */ addiu $v0, $zero, 0x78
/* 3D17AC E00CC11C AE020020 */ sw $v0, 0x20($s0)
/* 3D17B0 E00CC120 E6000028 */ swc1 $f0, 0x28($s0)
.LE00CC124:
/* 3D17B4 E00CC124 02350018 */ mult $s1, $s5
/* 3D17B8 E00CC128 00111FC3 */ sra $v1, $s1, 0x1f
/* 3D17BC E00CC12C 00004010 */ mfhi $t0
/* 3D17C0 E00CC130 000810C3 */ sra $v0, $t0, 3
/* 3D17C4 E00CC134 00431023 */ subu $v0, $v0, $v1
/* 3D17C8 E00CC138 4482A000 */ mtc1 $v0, $f20
/* 3D17CC E00CC13C 00000000 */ nop
/* 3D17D0 E00CC140 4680A520 */ cvt.s.w $f20, $f20
/* 3D17D4 E00CC144 0C080140 */ jal shim_sin_deg
/* 3D17D8 E00CC148 4600A306 */ mov.s $f12, $f20
/* 3D17DC E00CC14C 4600A306 */ mov.s $f12, $f20
/* 3D17E0 E00CC150 0C080144 */ jal shim_cos_deg
/* 3D17E4 E00CC154 46000506 */ mov.s $f20, $f0
/* 3D17E8 E00CC158 24040167 */ addiu $a0, $zero, 0x167
/* 3D17EC E00CC15C 0C080138 */ jal shim_rand_int
/* 3D17F0 E00CC160 46000586 */ mov.s $f22, $f0
/* 3D17F4 E00CC164 461AA082 */ mul.s $f2, $f20, $f26
/* 3D17F8 E00CC168 00000000 */ nop
/* 3D17FC E00CC16C 461AB102 */ mul.s $f4, $f22, $f26
/* 3D1800 E00CC170 00000000 */ nop
/* 3D1804 E00CC174 2442FF4C */ addiu $v0, $v0, -0xb4
/* 3D1808 E00CC178 44820000 */ mtc1 $v0, $f0
/* 3D180C E00CC17C 00000000 */ nop
/* 3D1810 E00CC180 46800020 */ cvt.s.w $f0, $f0
/* 3D1814 E00CC184 3C03E00D */ lui $v1, %hi(D_E00CCE4C)
/* 3D1818 E00CC188 2463CE4C */ addiu $v1, $v1, %lo(D_E00CCE4C)
/* 3D181C E00CC18C 02431821 */ addu $v1, $s2, $v1
/* 3D1820 E00CC190 4618A502 */ mul.s $f20, $f20, $f24
/* 3D1824 E00CC194 00000000 */ nop
/* 3D1828 E00CC198 26310438 */ addiu $s1, $s1, 0x438
/* 3D182C E00CC19C E6000478 */ swc1 $f0, 0x478($s0)
/* 3D1830 E00CC1A0 E6020284 */ swc1 $f2, 0x284($s0)
/* 3D1834 E00CC1A4 80620000 */ lb $v0, ($v1)
/* 3D1838 E00CC1A8 4618B582 */ mul.s $f22, $f22, $f24
/* 3D183C E00CC1AC 00000000 */ nop
/* 3D1840 E00CC1B0 E604034C */ swc1 $f4, 0x34c($s0)
/* 3D1844 E00CC1B4 E6140158 */ swc1 $f20, 0x158($s0)
/* 3D1848 E00CC1B8 2442000A */ addiu $v0, $v0, 0xa
/* 3D184C E00CC1BC 44820000 */ mtc1 $v0, $f0
/* 3D1850 E00CC1C0 00000000 */ nop
/* 3D1854 E00CC1C4 46800020 */ cvt.s.w $f0, $f0
/* 3D1858 E00CC1C8 E60002E8 */ swc1 $f0, 0x2e8($s0)
/* 3D185C E00CC1CC 80620000 */ lb $v0, ($v1)
/* 3D1860 E00CC1D0 26520001 */ addiu $s2, $s2, 1
/* 3D1864 E00CC1D4 AE13066C */ sw $s3, 0x66c($s0)
/* 3D1868 E00CC1D8 26730002 */ addiu $s3, $s3, 2
/* 3D186C E00CC1DC E6160220 */ swc1 $f22, 0x220($s0)
/* 3D1870 E00CC1E0 AE0005A4 */ sw $zero, 0x5a4($s0)
/* 3D1874 E00CC1E4 AE0006D0 */ sw $zero, 0x6d0($s0)
/* 3D1878 E00CC1E8 AE000734 */ sw $zero, 0x734($s0)
/* 3D187C E00CC1EC AE0004DC */ sw $zero, 0x4dc($s0)
/* 3D1880 E00CC1F0 000210C0 */ sll $v0, $v0, 3
/* 3D1884 E00CC1F4 24420028 */ addiu $v0, $v0, 0x28
/* 3D1888 E00CC1F8 44820000 */ mtc1 $v0, $f0
/* 3D188C E00CC1FC 00000000 */ nop
/* 3D1890 E00CC200 46800020 */ cvt.s.w $f0, $f0
/* 3D1894 E00CC204 E60001BC */ swc1 $f0, 0x1bc($s0)
/* 3D1898 E00CC208 2A420019 */ slti $v0, $s2, 0x19
/* 3D189C E00CC20C 1440FFC5 */ bnez $v0, .LE00CC124
/* 3D18A0 E00CC210 26100004 */ addiu $s0, $s0, 4
/* 3D18A4 E00CC214 0280102D */ daddu $v0, $s4, $zero
/* 3D18A8 E00CC218 8FBF0040 */ lw $ra, 0x40($sp)
/* 3D18AC E00CC21C 8FB5003C */ lw $s5, 0x3c($sp)
/* 3D18B0 E00CC220 8FB40038 */ lw $s4, 0x38($sp)
/* 3D18B4 E00CC224 8FB30034 */ lw $s3, 0x34($sp)
/* 3D18B8 E00CC228 8FB20030 */ lw $s2, 0x30($sp)
/* 3D18BC E00CC22C 8FB1002C */ lw $s1, 0x2c($sp)
/* 3D18C0 E00CC230 8FB00028 */ lw $s0, 0x28($sp)
/* 3D18C4 E00CC234 D7BC0068 */ ldc1 $f28, 0x68($sp)
/* 3D18C8 E00CC238 D7BA0060 */ ldc1 $f26, 0x60($sp)
/* 3D18CC E00CC23C D7B80058 */ ldc1 $f24, 0x58($sp)
/* 3D18D0 E00CC240 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 3D18D4 E00CC244 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 3D18D8 E00CC248 03E00008 */ jr $ra
/* 3D18DC E00CC24C 27BD0070 */ addiu $sp, $sp, 0x70

View File

@ -1,501 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00CCE70
.double 0.01
dlabel jtbl_E00CCE78
.word LE00CC3D8_3D1A68, LE00CC448_3D1AD8, LE00CC53C_3D1BCC, LE00CC5E4_3D1C74, LE00CC614_3D1CA4, LE00CC790_3D1E20, LE00CC870_3D1F00, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC920_3D1FB0, LE00CC4A4_3D1B34, 0
dlabel D_E00CCED0
.double 0.99
dlabel D_E00CCED8
.double -0.1
dlabel D_E00CCEE0
.double 0.9, 0.0
.section .text
glabel tubba_heart_attack_update
/* 3D18E8 E00CC258 27BDFF10 */ addiu $sp, $sp, -0xf0
/* 3D18EC E00CC25C AFBF00BC */ sw $ra, 0xbc($sp)
/* 3D18F0 E00CC260 AFBE00B8 */ sw $fp, 0xb8($sp)
/* 3D18F4 E00CC264 AFB700B4 */ sw $s7, 0xb4($sp)
/* 3D18F8 E00CC268 AFB600B0 */ sw $s6, 0xb0($sp)
/* 3D18FC E00CC26C AFB500AC */ sw $s5, 0xac($sp)
/* 3D1900 E00CC270 AFB400A8 */ sw $s4, 0xa8($sp)
/* 3D1904 E00CC274 AFB300A4 */ sw $s3, 0xa4($sp)
/* 3D1908 E00CC278 AFB200A0 */ sw $s2, 0xa0($sp)
/* 3D190C E00CC27C AFB1009C */ sw $s1, 0x9c($sp)
/* 3D1910 E00CC280 AFB00098 */ sw $s0, 0x98($sp)
/* 3D1914 E00CC284 F7BE00E8 */ sdc1 $f30, 0xe8($sp)
/* 3D1918 E00CC288 F7BC00E0 */ sdc1 $f28, 0xe0($sp)
/* 3D191C E00CC28C F7BA00D8 */ sdc1 $f26, 0xd8($sp)
/* 3D1920 E00CC290 F7B800D0 */ sdc1 $f24, 0xd0($sp)
/* 3D1924 E00CC294 F7B600C8 */ sdc1 $f22, 0xc8($sp)
/* 3D1928 E00CC298 F7B400C0 */ sdc1 $f20, 0xc0($sp)
/* 3D192C E00CC29C 8C830000 */ lw $v1, ($a0)
/* 3D1930 E00CC2A0 8C92000C */ lw $s2, 0xc($a0)
/* 3D1934 E00CC2A4 30620010 */ andi $v0, $v1, 0x10
/* 3D1938 E00CC2A8 8E5E0000 */ lw $fp, ($s2)
/* 3D193C E00CC2AC 10400005 */ beqz $v0, .LE00CC2C4
/* 3D1940 E00CC2B0 2402FFEF */ addiu $v0, $zero, -0x11
/* 3D1944 E00CC2B4 00621024 */ and $v0, $v1, $v0
/* 3D1948 E00CC2B8 AC820000 */ sw $v0, ($a0)
/* 3D194C E00CC2BC 24020040 */ addiu $v0, $zero, 0x40
/* 3D1950 E00CC2C0 AE420010 */ sw $v0, 0x10($s2)
.LE00CC2C4:
/* 3D1954 E00CC2C4 8E430010 */ lw $v1, 0x10($s2)
/* 3D1958 E00CC2C8 286203E8 */ slti $v0, $v1, 0x3e8
/* 3D195C E00CC2CC 10400002 */ beqz $v0, .LE00CC2D8
/* 3D1960 E00CC2D0 2462FFFF */ addiu $v0, $v1, -1
/* 3D1964 E00CC2D4 AE420010 */ sw $v0, 0x10($s2)
.LE00CC2D8:
/* 3D1968 E00CC2D8 8E420014 */ lw $v0, 0x14($s2)
/* 3D196C E00CC2DC 8E430010 */ lw $v1, 0x10($s2)
/* 3D1970 E00CC2E0 24420001 */ addiu $v0, $v0, 1
/* 3D1974 E00CC2E4 04610005 */ bgez $v1, .LE00CC2FC
/* 3D1978 E00CC2E8 AE420014 */ sw $v0, 0x14($s2)
/* 3D197C E00CC2EC 0C080128 */ jal shim_remove_effect
/* 3D1980 E00CC2F0 00000000 */ nop
/* 3D1984 E00CC2F4 0803324E */ j .LE00CC938
/* 3D1988 E00CC2F8 00000000 */ nop
.LE00CC2FC:
/* 3D198C E00CC2FC 0040B02D */ daddu $s6, $v0, $zero
/* 3D1990 E00CC300 0000982D */ daddu $s3, $zero, $zero
/* 3D1994 E00CC304 3C17E00D */ lui $s7, %hi(D_E00CCDD8)
/* 3D1998 E00CC308 26F7CDD8 */ addiu $s7, $s7, %lo(D_E00CCDD8)
/* 3D199C E00CC30C 0240882D */ daddu $s1, $s2, $zero
/* 3D19A0 E00CC310 0260A82D */ daddu $s5, $s3, $zero
/* 3D19A4 E00CC314 0260A02D */ daddu $s4, $s3, $zero
/* 3D19A8 E00CC318 4480F000 */ mtc1 $zero, $f30
/* 3D19AC E00CC31C 3C01E00D */ lui $at, %hi(D_E00CCE70)
/* 3D19B0 E00CC320 D43ACE70 */ ldc1 $f26, %lo(D_E00CCE70)($at)
/* 3D19B4 E00CC324 3C013F80 */ lui $at, 0x3f80
/* 3D19B8 E00CC328 4481E000 */ mtc1 $at, $f28
/* 3D19BC E00CC32C 3C013FE0 */ lui $at, 0x3fe0
/* 3D19C0 E00CC330 4481C800 */ mtc1 $at, $f25
/* 3D19C4 E00CC334 4480C000 */ mtc1 $zero, $f24
.LE00CC338:
/* 3D19C8 E00CC338 3C029249 */ lui $v0, 0x9249
/* 3D19CC E00CC33C 34422493 */ ori $v0, $v0, 0x2493
/* 3D19D0 E00CC340 02C20018 */ mult $s6, $v0
/* 3D19D4 E00CC344 001617C3 */ sra $v0, $s6, 0x1f
/* 3D19D8 E00CC348 3C013C23 */ lui $at, 0x3c23
/* 3D19DC E00CC34C 3421D70A */ ori $at, $at, 0xd70a
/* 3D19E0 E00CC350 44811000 */ mtc1 $at, $f2
/* 3D19E4 E00CC354 00004010 */ mfhi $t0
/* 3D19E8 E00CC358 01161821 */ addu $v1, $t0, $s6
/* 3D19EC E00CC35C 00031883 */ sra $v1, $v1, 2
/* 3D19F0 E00CC360 00621823 */ subu $v1, $v1, $v0
/* 3D19F4 E00CC364 000310C0 */ sll $v0, $v1, 3
/* 3D19F8 E00CC368 00431023 */ subu $v0, $v0, $v1
/* 3D19FC E00CC36C 02C21023 */ subu $v0, $s6, $v0
/* 3D1A00 E00CC370 3C08E00D */ lui $t0, %hi(D_E00CCDD0)
/* 3D1A04 E00CC374 2508CDD0 */ addiu $t0, $t0, %lo(D_E00CCDD0)
/* 3D1A08 E00CC378 00481021 */ addu $v0, $v0, $t0
/* 3D1A0C E00CC37C 90420000 */ lbu $v0, ($v0)
/* 3D1A10 E00CC380 C6260158 */ lwc1 $f6, 0x158($s1)
/* 3D1A14 E00CC384 44820000 */ mtc1 $v0, $f0
/* 3D1A18 E00CC388 00000000 */ nop
/* 3D1A1C E00CC38C 46800020 */ cvt.s.w $f0, $f0
/* 3D1A20 E00CC390 46020002 */ mul.s $f0, $f0, $f2
/* 3D1A24 E00CC394 00000000 */ nop
/* 3D1A28 E00CC398 C62801BC */ lwc1 $f8, 0x1bc($s1)
/* 3D1A2C E00CC39C C62A0220 */ lwc1 $f10, 0x220($s1)
/* 3D1A30 E00CC3A0 3C014000 */ lui $at, 0x4000
/* 3D1A34 E00CC3A4 44811000 */ mtc1 $at, $f2
/* 3D1A38 E00CC3A8 8E2306D0 */ lw $v1, 0x6d0($s1)
/* 3D1A3C E00CC3AC 46001081 */ sub.s $f2, $f2, $f0
/* 3D1A40 E00CC3B0 2C620015 */ sltiu $v0, $v1, 0x15
/* 3D1A44 E00CC3B4 E6200414 */ swc1 $f0, 0x414($s1)
/* 3D1A48 E00CC3B8 10400159 */ beqz $v0, LE00CC920_3D1FB0
/* 3D1A4C E00CC3BC E62203B0 */ swc1 $f2, 0x3b0($s1)
/* 3D1A50 E00CC3C0 00031080 */ sll $v0, $v1, 2
/* 3D1A54 E00CC3C4 3C01E00D */ lui $at, %hi(jtbl_E00CCE78)
/* 3D1A58 E00CC3C8 00220821 */ addu $at, $at, $v0
/* 3D1A5C E00CC3CC 8C22CE78 */ lw $v0, %lo(jtbl_E00CCE78)($at)
/* 3D1A60 E00CC3D0 00400008 */ jr $v0
/* 3D1A64 E00CC3D4 00000000 */ nop
dlabel LE00CC3D8_3D1A68
/* 3D1A68 E00CC3D8 C62004DC */ lwc1 $f0, 0x4dc($s1)
/* 3D1A6C E00CC3DC 8E22066C */ lw $v0, 0x66c($s1)
/* 3D1A70 E00CC3E0 E626002C */ swc1 $f6, 0x2c($s1)
/* 3D1A74 E00CC3E4 461E0000 */ add.s $f0, $f0, $f30
/* 3D1A78 E00CC3E8 E6280090 */ swc1 $f8, 0x90($s1)
/* 3D1A7C E00CC3EC E62A00F4 */ swc1 $f10, 0xf4($s1)
/* 3D1A80 E00CC3F0 10400004 */ beqz $v0, .LE00CC404
/* 3D1A84 E00CC3F4 E62004DC */ swc1 $f0, 0x4dc($s1)
/* 3D1A88 E00CC3F8 2442FFFF */ addiu $v0, $v0, -1
/* 3D1A8C E00CC3FC 08033248 */ j LE00CC920_3D1FB0
/* 3D1A90 E00CC400 AE22066C */ sw $v0, 0x66c($s1)
.LE00CC404:
/* 3D1A94 E00CC404 8E230734 */ lw $v1, 0x734($s1)
/* 3D1A98 E00CC408 24020001 */ addiu $v0, $zero, 1
/* 3D1A9C E00CC40C AE2206D0 */ sw $v0, 0x6d0($s1)
/* 3D1AA0 E00CC410 00771821 */ addu $v1, $v1, $s7
/* 3D1AA4 E00CC414 90620000 */ lbu $v0, ($v1)
/* 3D1AA8 E00CC418 44820000 */ mtc1 $v0, $f0
/* 3D1AAC E00CC41C 00000000 */ nop
/* 3D1AB0 E00CC420 46800021 */ cvt.d.w $f0, $f0
/* 3D1AB4 E00CC424 463A0002 */ mul.d $f0, $f0, $f26
/* 3D1AB8 E00CC428 00000000 */ nop
/* 3D1ABC E00CC42C 8E220734 */ lw $v0, 0x734($s1)
/* 3D1AC0 E00CC430 24420001 */ addiu $v0, $v0, 1
/* 3D1AC4 E00CC434 AE220734 */ sw $v0, 0x734($s1)
/* 3D1AC8 E00CC438 46200020 */ cvt.s.d $f0, $f0
/* 3D1ACC E00CC43C E6200414 */ swc1 $f0, 0x414($s1)
/* 3D1AD0 E00CC440 08033248 */ j LE00CC920_3D1FB0
/* 3D1AD4 E00CC444 E62003B0 */ swc1 $f0, 0x3b0($s1)
dlabel LE00CC448_3D1AD8
/* 3D1AD8 E00CC448 8E220734 */ lw $v0, 0x734($s1)
/* 3D1ADC E00CC44C 00571021 */ addu $v0, $v0, $s7
/* 3D1AE0 E00CC450 90420000 */ lbu $v0, ($v0)
/* 3D1AE4 E00CC454 44820000 */ mtc1 $v0, $f0
/* 3D1AE8 E00CC458 00000000 */ nop
/* 3D1AEC E00CC45C 46800021 */ cvt.d.w $f0, $f0
/* 3D1AF0 E00CC460 463A0002 */ mul.d $f0, $f0, $f26
/* 3D1AF4 E00CC464 00000000 */ nop
/* 3D1AF8 E00CC468 C62204DC */ lwc1 $f2, 0x4dc($s1)
/* 3D1AFC E00CC46C 8E220734 */ lw $v0, 0x734($s1)
/* 3D1B00 E00CC470 461E1080 */ add.s $f2, $f2, $f30
/* 3D1B04 E00CC474 24420001 */ addiu $v0, $v0, 1
/* 3D1B08 E00CC478 AE220734 */ sw $v0, 0x734($s1)
/* 3D1B0C E00CC47C 28420008 */ slti $v0, $v0, 8
/* 3D1B10 E00CC480 E62204DC */ swc1 $f2, 0x4dc($s1)
/* 3D1B14 E00CC484 46200020 */ cvt.s.d $f0, $f0
/* 3D1B18 E00CC488 E6200414 */ swc1 $f0, 0x414($s1)
/* 3D1B1C E00CC48C 14400124 */ bnez $v0, LE00CC920_3D1FB0
/* 3D1B20 E00CC490 E62003B0 */ swc1 $f0, 0x3b0($s1)
/* 3D1B24 E00CC494 17C00050 */ bnez $fp, .LE00CC5D8
/* 3D1B28 E00CC498 24020014 */ addiu $v0, $zero, 0x14
/* 3D1B2C E00CC49C 08033176 */ j .LE00CC5D8
/* 3D1B30 E00CC4A0 24020002 */ addiu $v0, $zero, 2
dlabel LE00CC4A4_3D1B34
/* 3D1B34 E00CC4A4 C62004DC */ lwc1 $f0, 0x4dc($s1)
/* 3D1B38 E00CC4A8 461E0000 */ add.s $f0, $f0, $f30
/* 3D1B3C E00CC4AC 8E220734 */ lw $v0, 0x734($s1)
/* 3D1B40 E00CC4B0 E62004DC */ swc1 $f0, 0x4dc($s1)
/* 3D1B44 E00CC4B4 3C01E00D */ lui $at, %hi(D_E00CCDF0)
/* 3D1B48 E00CC4B8 00220821 */ addu $at, $at, $v0
/* 3D1B4C E00CC4BC 9022CDF0 */ lbu $v0, %lo(D_E00CCDF0)($at)
/* 3D1B50 E00CC4C0 44820000 */ mtc1 $v0, $f0
/* 3D1B54 E00CC4C4 00000000 */ nop
/* 3D1B58 E00CC4C8 46800021 */ cvt.d.w $f0, $f0
/* 3D1B5C E00CC4CC 463A0002 */ mul.d $f0, $f0, $f26
/* 3D1B60 E00CC4D0 00000000 */ nop
/* 3D1B64 E00CC4D4 C6240284 */ lwc1 $f4, 0x284($s1)
/* 3D1B68 E00CC4D8 46062101 */ sub.s $f4, $f4, $f6
/* 3D1B6C E00CC4DC 462005A0 */ cvt.s.d $f22, $f0
/* 3D1B70 E00CC4E0 46162102 */ mul.s $f4, $f4, $f22
/* 3D1B74 E00CC4E4 00000000 */ nop
/* 3D1B78 E00CC4E8 C62202E8 */ lwc1 $f2, 0x2e8($s1)
/* 3D1B7C E00CC4EC 46081081 */ sub.s $f2, $f2, $f8
/* 3D1B80 E00CC4F0 46161082 */ mul.s $f2, $f2, $f22
/* 3D1B84 E00CC4F4 00000000 */ nop
/* 3D1B88 E00CC4F8 C620034C */ lwc1 $f0, 0x34c($s1)
/* 3D1B8C E00CC4FC 460A0001 */ sub.s $f0, $f0, $f10
/* 3D1B90 E00CC500 46160002 */ mul.s $f0, $f0, $f22
/* 3D1B94 E00CC504 00000000 */ nop
/* 3D1B98 E00CC508 E63C0414 */ swc1 $f28, 0x414($s1)
/* 3D1B9C E00CC50C 8E220734 */ lw $v0, 0x734($s1)
/* 3D1BA0 E00CC510 46043100 */ add.s $f4, $f6, $f4
/* 3D1BA4 E00CC514 E63C03B0 */ swc1 $f28, 0x3b0($s1)
/* 3D1BA8 E00CC518 24420001 */ addiu $v0, $v0, 1
/* 3D1BAC E00CC51C 46024080 */ add.s $f2, $f8, $f2
/* 3D1BB0 E00CC520 AE220734 */ sw $v0, 0x734($s1)
/* 3D1BB4 E00CC524 28420014 */ slti $v0, $v0, 0x14
/* 3D1BB8 E00CC528 46005000 */ add.s $f0, $f10, $f0
/* 3D1BBC E00CC52C E624002C */ swc1 $f4, 0x2c($s1)
/* 3D1BC0 E00CC530 E6220090 */ swc1 $f2, 0x90($s1)
/* 3D1BC4 E00CC534 080331CC */ j .LE00CC730
/* 3D1BC8 E00CC538 E62000F4 */ swc1 $f0, 0xf4($s1)
dlabel LE00CC53C_3D1BCC
/* 3D1BCC E00CC53C C62004DC */ lwc1 $f0, 0x4dc($s1)
/* 3D1BD0 E00CC540 461E0000 */ add.s $f0, $f0, $f30
/* 3D1BD4 E00CC544 8E220734 */ lw $v0, 0x734($s1)
/* 3D1BD8 E00CC548 E62004DC */ swc1 $f0, 0x4dc($s1)
/* 3D1BDC E00CC54C 3C01E00D */ lui $at, %hi(D_E00CCDE0)
/* 3D1BE0 E00CC550 00220821 */ addu $at, $at, $v0
/* 3D1BE4 E00CC554 9022CDE0 */ lbu $v0, %lo(D_E00CCDE0)($at)
/* 3D1BE8 E00CC558 44820000 */ mtc1 $v0, $f0
/* 3D1BEC E00CC55C 00000000 */ nop
/* 3D1BF0 E00CC560 46800021 */ cvt.d.w $f0, $f0
/* 3D1BF4 E00CC564 463A0002 */ mul.d $f0, $f0, $f26
/* 3D1BF8 E00CC568 00000000 */ nop
/* 3D1BFC E00CC56C C6240284 */ lwc1 $f4, 0x284($s1)
/* 3D1C00 E00CC570 46062101 */ sub.s $f4, $f4, $f6
/* 3D1C04 E00CC574 462005A0 */ cvt.s.d $f22, $f0
/* 3D1C08 E00CC578 46162102 */ mul.s $f4, $f4, $f22
/* 3D1C0C E00CC57C 00000000 */ nop
/* 3D1C10 E00CC580 C62202E8 */ lwc1 $f2, 0x2e8($s1)
/* 3D1C14 E00CC584 46081081 */ sub.s $f2, $f2, $f8
/* 3D1C18 E00CC588 46161082 */ mul.s $f2, $f2, $f22
/* 3D1C1C E00CC58C 00000000 */ nop
/* 3D1C20 E00CC590 C620034C */ lwc1 $f0, 0x34c($s1)
/* 3D1C24 E00CC594 460A0001 */ sub.s $f0, $f0, $f10
/* 3D1C28 E00CC598 46160002 */ mul.s $f0, $f0, $f22
/* 3D1C2C E00CC59C 00000000 */ nop
/* 3D1C30 E00CC5A0 E63C0414 */ swc1 $f28, 0x414($s1)
/* 3D1C34 E00CC5A4 8E220734 */ lw $v0, 0x734($s1)
/* 3D1C38 E00CC5A8 46043100 */ add.s $f4, $f6, $f4
/* 3D1C3C E00CC5AC E63C03B0 */ swc1 $f28, 0x3b0($s1)
/* 3D1C40 E00CC5B0 24420001 */ addiu $v0, $v0, 1
/* 3D1C44 E00CC5B4 46024080 */ add.s $f2, $f8, $f2
/* 3D1C48 E00CC5B8 AE220734 */ sw $v0, 0x734($s1)
/* 3D1C4C E00CC5BC 2842000F */ slti $v0, $v0, 0xf
/* 3D1C50 E00CC5C0 46005000 */ add.s $f0, $f10, $f0
/* 3D1C54 E00CC5C4 E624002C */ swc1 $f4, 0x2c($s1)
/* 3D1C58 E00CC5C8 E6220090 */ swc1 $f2, 0x90($s1)
/* 3D1C5C E00CC5CC 144000D4 */ bnez $v0, LE00CC920_3D1FB0
/* 3D1C60 E00CC5D0 E62000F4 */ swc1 $f0, 0xf4($s1)
/* 3D1C64 E00CC5D4 24020003 */ addiu $v0, $zero, 3
.LE00CC5D8:
/* 3D1C68 E00CC5D8 AE2206D0 */ sw $v0, 0x6d0($s1)
/* 3D1C6C E00CC5DC 08033248 */ j LE00CC920_3D1FB0
/* 3D1C70 E00CC5E0 AE200734 */ sw $zero, 0x734($s1)
dlabel LE00CC5E4_3D1C74
/* 3D1C74 E00CC5E4 24020018 */ addiu $v0, $zero, 0x18
/* 3D1C78 E00CC5E8 566200CE */ bnel $s3, $v0, .LE00CC924
/* 3D1C7C E00CC5EC 26310004 */ addiu $s1, $s1, 4
/* 3D1C80 E00CC5F0 24040004 */ addiu $a0, $zero, 4
/* 3D1C84 E00CC5F4 0040182D */ daddu $v1, $v0, $zero
/* 3D1C88 E00CC5F8 26420060 */ addiu $v0, $s2, 0x60
.LE00CC5FC:
/* 3D1C8C E00CC5FC AC4406D0 */ sw $a0, 0x6d0($v0)
/* 3D1C90 E00CC600 2463FFFF */ addiu $v1, $v1, -1
/* 3D1C94 E00CC604 0461FFFD */ bgez $v1, .LE00CC5FC
/* 3D1C98 E00CC608 2442FFFC */ addiu $v0, $v0, -4
/* 3D1C9C E00CC60C 08033249 */ j .LE00CC924
/* 3D1CA0 E00CC610 26310004 */ addiu $s1, $s1, 4
dlabel LE00CC614_3D1CA4
/* 3D1CA4 E00CC614 8E220734 */ lw $v0, 0x734($s1)
/* 3D1CA8 E00CC618 3C01E00D */ lui $at, %hi(D_E00CCE04)
/* 3D1CAC E00CC61C 00220821 */ addu $at, $at, $v0
/* 3D1CB0 E00CC620 9022CE04 */ lbu $v0, %lo(D_E00CCE04)($at)
/* 3D1CB4 E00CC624 44820000 */ mtc1 $v0, $f0
/* 3D1CB8 E00CC628 00000000 */ nop
/* 3D1CBC E00CC62C 46800021 */ cvt.d.w $f0, $f0
/* 3D1CC0 E00CC630 463A0002 */ mul.d $f0, $f0, $f26
/* 3D1CC4 E00CC634 00000000 */ nop
/* 3D1CC8 E00CC638 3C1051EB */ lui $s0, 0x51eb
/* 3D1CCC E00CC63C 3610851F */ ori $s0, $s0, 0x851f
/* 3D1CD0 E00CC640 02900018 */ mult $s4, $s0
/* 3D1CD4 E00CC644 00141FC3 */ sra $v1, $s4, 0x1f
/* 3D1CD8 E00CC648 00004010 */ mfhi $t0
/* 3D1CDC E00CC64C 000810C3 */ sra $v0, $t0, 3
/* 3D1CE0 E00CC650 00431023 */ subu $v0, $v0, $v1
/* 3D1CE4 E00CC654 44826000 */ mtc1 $v0, $f12
/* 3D1CE8 E00CC658 00000000 */ nop
/* 3D1CEC E00CC65C 46806320 */ cvt.s.w $f12, $f12
/* 3D1CF0 E00CC660 0C080144 */ jal shim_cos_deg
/* 3D1CF4 E00CC664 462005A0 */ cvt.s.d $f22, $f0
/* 3D1CF8 E00CC668 4616E081 */ sub.s $f2, $f28, $f22
/* 3D1CFC E00CC66C 3C014487 */ lui $at, 0x4487
/* 3D1D00 E00CC670 44812000 */ mtc1 $at, $f4
/* 3D1D04 E00CC674 00000000 */ nop
/* 3D1D08 E00CC678 46041082 */ mul.s $f2, $f2, $f4
/* 3D1D0C E00CC67C 00000000 */ nop
/* 3D1D10 E00CC680 460010A1 */ cvt.d.s $f2, $f2
/* 3D1D14 E00CC684 46381082 */ mul.d $f2, $f2, $f24
/* 3D1D18 E00CC688 00000000 */ nop
/* 3D1D1C E00CC68C 46000021 */ cvt.d.s $f0, $f0
/* 3D1D20 E00CC690 46201082 */ mul.d $f2, $f2, $f0
/* 3D1D24 E00CC694 00000000 */ nop
/* 3D1D28 E00CC698 02B00018 */ mult $s5, $s0
/* 3D1D2C E00CC69C 00151FC3 */ sra $v1, $s5, 0x1f
/* 3D1D30 E00CC6A0 00004010 */ mfhi $t0
/* 3D1D34 E00CC6A4 000810C3 */ sra $v0, $t0, 3
/* 3D1D38 E00CC6A8 00431023 */ subu $v0, $v0, $v1
/* 3D1D3C E00CC6AC 4482A000 */ mtc1 $v0, $f20
/* 3D1D40 E00CC6B0 00000000 */ nop
/* 3D1D44 E00CC6B4 4680A521 */ cvt.d.w $f20, $f20
/* 3D1D48 E00CC6B8 4622A500 */ add.d $f20, $f20, $f2
/* 3D1D4C E00CC6BC 4620A520 */ cvt.s.d $f20, $f20
/* 3D1D50 E00CC6C0 0C080140 */ jal shim_sin_deg
/* 3D1D54 E00CC6C4 4600A306 */ mov.s $f12, $f20
/* 3D1D58 E00CC6C8 4600A306 */ mov.s $f12, $f20
/* 3D1D5C E00CC6CC 0C080144 */ jal shim_cos_deg
/* 3D1D60 E00CC6D0 46000506 */ mov.s $f20, $f0
/* 3D1D64 E00CC6D4 3C014170 */ lui $at, 0x4170
/* 3D1D68 E00CC6D8 44811000 */ mtc1 $at, $f2
/* 3D1D6C E00CC6DC 00000000 */ nop
/* 3D1D70 E00CC6E0 46161083 */ div.s $f2, $f2, $f22
/* 3D1D74 E00CC6E4 46161083 */ div.s $f2, $f2, $f22
/* 3D1D78 E00CC6E8 46141502 */ mul.s $f20, $f2, $f20
/* 3D1D7C E00CC6EC 00000000 */ nop
/* 3D1D80 E00CC6F0 8E220734 */ lw $v0, 0x734($s1)
/* 3D1D84 E00CC6F4 46001082 */ mul.s $f2, $f2, $f0
/* 3D1D88 E00CC6F8 00000000 */ nop
/* 3D1D8C E00CC6FC E634002C */ swc1 $f20, 0x2c($s1)
/* 3D1D90 E00CC700 3C03E00D */ lui $v1, %hi(D_E00CCE4C)
/* 3D1D94 E00CC704 00731821 */ addu $v1, $v1, $s3
/* 3D1D98 E00CC708 8063CE4C */ lb $v1, %lo(D_E00CCE4C)($v1)
/* 3D1D9C E00CC70C 24420001 */ addiu $v0, $v0, 1
/* 3D1DA0 E00CC710 AE220734 */ sw $v0, 0x734($s1)
/* 3D1DA4 E00CC714 28420046 */ slti $v0, $v0, 0x46
/* 3D1DA8 E00CC718 E62200F4 */ swc1 $f2, 0xf4($s1)
/* 3D1DAC E00CC71C 2463000A */ addiu $v1, $v1, 0xa
/* 3D1DB0 E00CC720 44830000 */ mtc1 $v1, $f0
/* 3D1DB4 E00CC724 00000000 */ nop
/* 3D1DB8 E00CC728 46800020 */ cvt.s.w $f0, $f0
/* 3D1DBC E00CC72C E6200090 */ swc1 $f0, 0x90($s1)
.LE00CC730:
/* 3D1DC0 E00CC730 5440007C */ bnel $v0, $zero, .LE00CC924
/* 3D1DC4 E00CC734 26310004 */ addiu $s1, $s1, 4
/* 3D1DC8 E00CC738 C6240284 */ lwc1 $f4, 0x284($s1)
/* 3D1DCC E00CC73C 46002121 */ cvt.d.s $f4, $f4
/* 3D1DD0 E00CC740 46382102 */ mul.d $f4, $f4, $f24
/* 3D1DD4 E00CC744 00000000 */ nop
/* 3D1DD8 E00CC748 C62202E8 */ lwc1 $f2, 0x2e8($s1)
/* 3D1DDC E00CC74C 460010A1 */ cvt.d.s $f2, $f2
/* 3D1DE0 E00CC750 46381082 */ mul.d $f2, $f2, $f24
/* 3D1DE4 E00CC754 00000000 */ nop
/* 3D1DE8 E00CC758 C620034C */ lwc1 $f0, 0x34c($s1)
/* 3D1DEC E00CC75C 46000021 */ cvt.d.s $f0, $f0
/* 3D1DF0 E00CC760 46380002 */ mul.d $f0, $f0, $f24
/* 3D1DF4 E00CC764 00000000 */ nop
/* 3D1DF8 E00CC768 24020005 */ addiu $v0, $zero, 5
/* 3D1DFC E00CC76C AE2206D0 */ sw $v0, 0x6d0($s1)
/* 3D1E00 E00CC770 AE200734 */ sw $zero, 0x734($s1)
/* 3D1E04 E00CC774 46202120 */ cvt.s.d $f4, $f4
/* 3D1E08 E00CC778 462010A0 */ cvt.s.d $f2, $f2
/* 3D1E0C E00CC77C 46200020 */ cvt.s.d $f0, $f0
/* 3D1E10 E00CC780 E6240540 */ swc1 $f4, 0x540($s1)
/* 3D1E14 E00CC784 E62205A4 */ swc1 $f2, 0x5a4($s1)
/* 3D1E18 E00CC788 08033248 */ j LE00CC920_3D1FB0
/* 3D1E1C E00CC78C E6200608 */ swc1 $f0, 0x608($s1)
dlabel LE00CC790_3D1E20
/* 3D1E20 E00CC790 C6260540 */ lwc1 $f6, 0x540($s1)
/* 3D1E24 E00CC794 3C01E00D */ lui $at, %hi(D_E00CCED0)
/* 3D1E28 E00CC798 D42CCED0 */ ldc1 $f12, %lo(D_E00CCED0)($at)
/* 3D1E2C E00CC79C 460031A1 */ cvt.d.s $f6, $f6
/* 3D1E30 E00CC7A0 462C3182 */ mul.d $f6, $f6, $f12
/* 3D1E34 E00CC7A4 00000000 */ nop
/* 3D1E38 E00CC7A8 C62405A4 */ lwc1 $f4, 0x5a4($s1)
/* 3D1E3C E00CC7AC 46002121 */ cvt.d.s $f4, $f4
/* 3D1E40 E00CC7B0 462C2102 */ mul.d $f4, $f4, $f12
/* 3D1E44 E00CC7B4 00000000 */ nop
/* 3D1E48 E00CC7B8 C6280608 */ lwc1 $f8, 0x608($s1)
/* 3D1E4C E00CC7BC 46004086 */ mov.s $f2, $f8
/* 3D1E50 E00CC7C0 460010A1 */ cvt.d.s $f2, $f2
/* 3D1E54 E00CC7C4 462C1082 */ mul.d $f2, $f2, $f12
/* 3D1E58 E00CC7C8 00000000 */ nop
/* 3D1E5C E00CC7CC C62E002C */ lwc1 $f14, 0x2c($s1)
/* 3D1E60 E00CC7D0 C6200540 */ lwc1 $f0, 0x540($s1)
/* 3D1E64 E00CC7D4 C62A0090 */ lwc1 $f10, 0x90($s1)
/* 3D1E68 E00CC7D8 8E220734 */ lw $v0, 0x734($s1)
/* 3D1E6C E00CC7DC 46007380 */ add.s $f14, $f14, $f0
/* 3D1E70 E00CC7E0 C62005A4 */ lwc1 $f0, 0x5a4($s1)
/* 3D1E74 E00CC7E4 24420001 */ addiu $v0, $v0, 1
/* 3D1E78 E00CC7E8 AE220734 */ sw $v0, 0x734($s1)
/* 3D1E7C E00CC7EC 46005280 */ add.s $f10, $f10, $f0
/* 3D1E80 E00CC7F0 C62000F4 */ lwc1 $f0, 0xf4($s1)
/* 3D1E84 E00CC7F4 28420011 */ slti $v0, $v0, 0x11
/* 3D1E88 E00CC7F8 46080000 */ add.s $f0, $f0, $f8
/* 3D1E8C E00CC7FC E62E002C */ swc1 $f14, 0x2c($s1)
/* 3D1E90 E00CC800 E62A0090 */ swc1 $f10, 0x90($s1)
/* 3D1E94 E00CC804 E62000F4 */ swc1 $f0, 0xf4($s1)
/* 3D1E98 E00CC808 462031A0 */ cvt.s.d $f6, $f6
/* 3D1E9C E00CC80C 46202120 */ cvt.s.d $f4, $f4
/* 3D1EA0 E00CC810 E62405A4 */ swc1 $f4, 0x5a4($s1)
/* 3D1EA4 E00CC814 46002006 */ mov.s $f0, $f4
/* 3D1EA8 E00CC818 46000021 */ cvt.d.s $f0, $f0
/* 3D1EAC E00CC81C 3C01E00D */ lui $at, %hi(D_E00CCED8)
/* 3D1EB0 E00CC820 D424CED8 */ ldc1 $f4, %lo(D_E00CCED8)($at)
/* 3D1EB4 E00CC824 462010A0 */ cvt.s.d $f2, $f2
/* 3D1EB8 E00CC828 46240000 */ add.d $f0, $f0, $f4
/* 3D1EBC E00CC82C E6260540 */ swc1 $f6, 0x540($s1)
/* 3D1EC0 E00CC830 E6220608 */ swc1 $f2, 0x608($s1)
/* 3D1EC4 E00CC834 46200020 */ cvt.s.d $f0, $f0
/* 3D1EC8 E00CC838 14400004 */ bnez $v0, .LE00CC84C
/* 3D1ECC E00CC83C E62005A4 */ swc1 $f0, 0x5a4($s1)
/* 3D1ED0 E00CC840 24020006 */ addiu $v0, $zero, 6
/* 3D1ED4 E00CC844 AE200734 */ sw $zero, 0x734($s1)
/* 3D1ED8 E00CC848 AE2206D0 */ sw $v0, 0x6d0($s1)
.LE00CC84C:
/* 3D1EDC E00CC84C C6200478 */ lwc1 $f0, 0x478($s1)
/* 3D1EE0 E00CC850 3C01E00D */ lui $at, %hi(D_E00CCEE0)
/* 3D1EE4 E00CC854 D422CEE0 */ ldc1 $f2, %lo(D_E00CCEE0)($at)
/* 3D1EE8 E00CC858 46000021 */ cvt.d.s $f0, $f0
/* 3D1EEC E00CC85C 46220002 */ mul.d $f0, $f0, $f2
/* 3D1EF0 E00CC860 00000000 */ nop
/* 3D1EF4 E00CC864 46200020 */ cvt.s.d $f0, $f0
/* 3D1EF8 E00CC868 08033248 */ j LE00CC920_3D1FB0
/* 3D1EFC E00CC86C E6200478 */ swc1 $f0, 0x478($s1)
dlabel LE00CC870_3D1F00
/* 3D1F00 E00CC870 0C080150 */ jal shim_load_effect
/* 3D1F04 E00CC874 24040069 */ addiu $a0, $zero, 0x69
/* 3D1F08 E00CC878 E7BE0010 */ swc1 $f30, 0x10($sp)
/* 3D1F0C E00CC87C 8E2504DC */ lw $a1, 0x4dc($s1)
/* 3D1F10 E00CC880 4406F000 */ mfc1 $a2, $f30
/* 3D1F14 E00CC884 4407E000 */ mfc1 $a3, $f28
/* 3D1F18 E00CC888 0C080104 */ jal shim_guRotateF
/* 3D1F1C E00CC88C 27A40018 */ addiu $a0, $sp, 0x18
/* 3D1F20 E00CC890 27B00058 */ addiu $s0, $sp, 0x58
/* 3D1F24 E00CC894 8E25002C */ lw $a1, 0x2c($s1)
/* 3D1F28 E00CC898 8E260090 */ lw $a2, 0x90($s1)
/* 3D1F2C E00CC89C 8E2700F4 */ lw $a3, 0xf4($s1)
/* 3D1F30 E00CC8A0 0C080108 */ jal shim_guTranslateF
/* 3D1F34 E00CC8A4 0200202D */ daddu $a0, $s0, $zero
/* 3D1F38 E00CC8A8 0200202D */ daddu $a0, $s0, $zero
/* 3D1F3C E00CC8AC 27A50018 */ addiu $a1, $sp, 0x18
/* 3D1F40 E00CC8B0 0C080114 */ jal shim_guMtxCatF
/* 3D1F44 E00CC8B4 00A0302D */ daddu $a2, $a1, $zero
/* 3D1F48 E00CC8B8 C6420004 */ lwc1 $f2, 4($s2)
/* 3D1F4C E00CC8BC C7A00048 */ lwc1 $f0, 0x48($sp)
/* 3D1F50 E00CC8C0 46001080 */ add.s $f2, $f2, $f0
/* 3D1F54 E00CC8C4 C7A0004C */ lwc1 $f0, 0x4c($sp)
/* 3D1F58 E00CC8C8 44051000 */ mfc1 $a1, $f2
/* 3D1F5C E00CC8CC C6420008 */ lwc1 $f2, 8($s2)
/* 3D1F60 E00CC8D0 46001080 */ add.s $f2, $f2, $f0
/* 3D1F64 E00CC8D4 C7A00050 */ lwc1 $f0, 0x50($sp)
/* 3D1F68 E00CC8D8 44061000 */ mfc1 $a2, $f2
/* 3D1F6C E00CC8DC C642000C */ lwc1 $f2, 0xc($s2)
/* 3D1F70 E00CC8E0 46001080 */ add.s $f2, $f2, $f0
/* 3D1F74 E00CC8E4 0000202D */ daddu $a0, $zero, $zero
/* 3D1F78 E00CC8E8 44071000 */ mfc1 $a3, $f2
/* 3D1F7C E00CC8EC 24020010 */ addiu $v0, $zero, 0x10
/* 3D1F80 E00CC8F0 E7BC0010 */ swc1 $f28, 0x10($sp)
/* 3D1F84 E00CC8F4 0C034800 */ jal floating_cloud_puff_main
/* 3D1F88 E00CC8F8 AFA20014 */ sw $v0, 0x14($sp)
/* 3D1F8C E00CC8FC 8C44000C */ lw $a0, 0xc($v0)
/* 3D1F90 E00CC900 24030064 */ addiu $v1, $zero, 0x64
/* 3D1F94 E00CC904 AC830028 */ sw $v1, 0x28($a0)
/* 3D1F98 E00CC908 8C43000C */ lw $v1, 0xc($v0)
/* 3D1F9C E00CC90C AC60002C */ sw $zero, 0x2c($v1)
/* 3D1FA0 E00CC910 8C42000C */ lw $v0, 0xc($v0)
/* 3D1FA4 E00CC914 AC400030 */ sw $zero, 0x30($v0)
/* 3D1FA8 E00CC918 24020007 */ addiu $v0, $zero, 7
/* 3D1FAC E00CC91C AE2206D0 */ sw $v0, 0x6d0($s1)
dlabel LE00CC920_3D1FB0
/* 3D1FB0 E00CC920 26310004 */ addiu $s1, $s1, 4
.LE00CC924:
/* 3D1FB4 E00CC924 26B50438 */ addiu $s5, $s5, 0x438
/* 3D1FB8 E00CC928 26730001 */ addiu $s3, $s3, 1
/* 3D1FBC E00CC92C 2A620019 */ slti $v0, $s3, 0x19
/* 3D1FC0 E00CC930 1440FE81 */ bnez $v0, .LE00CC338
/* 3D1FC4 E00CC934 269400B4 */ addiu $s4, $s4, 0xb4
.LE00CC938:
/* 3D1FC8 E00CC938 8FBF00BC */ lw $ra, 0xbc($sp)
/* 3D1FCC E00CC93C 8FBE00B8 */ lw $fp, 0xb8($sp)
/* 3D1FD0 E00CC940 8FB700B4 */ lw $s7, 0xb4($sp)
/* 3D1FD4 E00CC944 8FB600B0 */ lw $s6, 0xb0($sp)
/* 3D1FD8 E00CC948 8FB500AC */ lw $s5, 0xac($sp)
/* 3D1FDC E00CC94C 8FB400A8 */ lw $s4, 0xa8($sp)
/* 3D1FE0 E00CC950 8FB300A4 */ lw $s3, 0xa4($sp)
/* 3D1FE4 E00CC954 8FB200A0 */ lw $s2, 0xa0($sp)
/* 3D1FE8 E00CC958 8FB1009C */ lw $s1, 0x9c($sp)
/* 3D1FEC E00CC95C 8FB00098 */ lw $s0, 0x98($sp)
/* 3D1FF0 E00CC960 D7BE00E8 */ ldc1 $f30, 0xe8($sp)
/* 3D1FF4 E00CC964 D7BC00E0 */ ldc1 $f28, 0xe0($sp)
/* 3D1FF8 E00CC968 D7BA00D8 */ ldc1 $f26, 0xd8($sp)
/* 3D1FFC E00CC96C D7B800D0 */ ldc1 $f24, 0xd0($sp)
/* 3D2000 E00CC970 D7B600C8 */ ldc1 $f22, 0xc8($sp)
/* 3D2004 E00CC974 D7B400C0 */ ldc1 $f20, 0xc0($sp)
/* 3D2008 E00CC978 03E00008 */ jr $ra
/* 3D200C E00CC97C 27BD00F0 */ addiu $sp, $sp, 0xf0

View File

@ -2942,7 +2942,29 @@ segments:
subsegments:
- [0x339250, c, shape_spell]
- [0x339F10]
- [0x339F60, bin] # shape_spell gfx
- name: effect_gfx_shape_spell
dir: effects/gfx
type: code
start: 0x339F60
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x339F60, c, shape_spell]
- start: 0x339F60
type: .data
name: shape_spell
subsegments:
- [0x339F60, i4, D_09000000_339F60, 32, 256]
- [0x33AF60, vtx, D_09001000_33AF60]
- [0x33AFA0, vtx, D_09001040_33AFA0]
- [0x33AFE0, gfx, D_09001080_33AFE0]
- [0x33B088, gfx, D_09001128_33B088]
- [0x33B0B0, gfx, D_09001150_33B0B0]
- [0x33B0D8, gfx, D_09001178_33B0D8]
- [0x33B100, gfx, D_090011A0_33B100]
- [0x33B128, gfx, D_090011C8_33B128]
- [0x33B150, gfx, D_090011F0_33B150]
- [0x33B178]
- name: effect_gather_energy_pink
dir: effects
type: code
@ -3040,8 +3062,40 @@ segments:
vram: 0xE002C000
subsegments:
- [0x33FE80, c, shattering_stones]
- [0x3407C0, data]
- [0x340880, bin] # shattering_stones gfx
- [0x3407C0]
- name: effect_gfx_shattering_stones
dir: effects/gfx
type: code
start: 0x340880
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x340880, c, shattering_stones]
- start: 0x340880
type: .data
name: shattering_stones
subsegments:
- [0x340880, ia8, D_09000000_340880, 32, 96]
- [0x341480, gfx, D_09000C00_341480]
- [0x341528, vtx, D_09000CA8_341528]
- [0x3415A8, vtx, D_09000D28_3415A8]
- [0x341608, vtx, D_09000D88_341608]
- [0x341668, vtx, D_09000DE8_341668]
- [0x3416E8, vtx, D_09000E68_3416E8]
- [0x341748, vtx, D_09000EC8_341748]
- [0x3417A8, vtx, D_09000F28_3417A8]
- [0x341828, vtx, D_09000FA8_341828]
- [0x341888, vtx, D_09001008_341888]
- [0x3418E8, gfx, D_09001068_3418E8]
- [0x341900, gfx, D_09001080_341900]
- [0x341918, gfx, D_09001098_341918]
- [0x341938, gfx, D_090010B8_341938]
- [0x341950, gfx, D_090010D0_341950]
- [0x341968, gfx, D_090010E8_341968]
- [0x341988, gfx, D_09001108_341988]
- [0x3419A0, gfx, D_09001120_3419A0]
- [0x3419B8, gfx, D_09001138_3419B8]
- [0x3419D8]
- name: effect_smoke_ring
dir: effects
type: code
@ -3049,7 +3103,7 @@ segments:
vram: 0xE002E000
subsegments:
- [0x3419E0, c, smoke_ring]
- [0x342120, data]
- [0x342120]
- name: effect_damage_stars
dir: effects
type: code
@ -3187,7 +3241,7 @@ segments:
vram: 0xE003A000
subsegments:
- [0x34EC80, c, smoke_impact]
- [0x34F480, data]
- [0x34F480]
- name: effect_damage_indicator
dir: effects
type: code
@ -3260,7 +3314,26 @@ segments:
subsegments:
- [0x352440, c, purple_ring]
- [0x352CB0]
- [0x352CE0, bin] # purple_ring gfx
- name: effect_gfx_purple_ring
dir: effects/gfx
type: code
start: 0x352CE0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x352CE0, c, purple_ring]
- start: 0x352CE0
type: .data
name: purple_ring
subsegments:
- [0x352CE0, i4, D_09000000_352CE0, 64, 16]
- [0x352EE0, gfx, D_09000200_352EE0]
- [0x352F88, vtx, D_090002A8_352F88]
- [0x353048, vtx, D_09000368_353048]
- [0x3530E8, vtx, D_09000408_3530E8]
- [0x353138, vtx, D_09000458_353138]
- [0x3531C8, gfx, D_090004E8_3531C8]
- [0x3532F8]
- name: effect_flame
dir: effects
type: code
@ -3293,8 +3366,31 @@ segments:
vram: 0xE0046000
subsegments:
- [0x355EE0, c, rising_bubble]
- [0x3564E0, data]
- [0x356530, bin] # rising_bubble gfx
- [0x3564E0]
- name: effect_gfx_rising_bubble
dir: effects/gfx
type: code
start: 0x356530
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x356530, c, rising_bubble]
- start: 0x356530
type: .data
name: rising_bubble
subsegments:
- [0x356530, i4, D_09000000_356530, 16, 16]
- [0x3565B0, i4, D_09000080_3565B0, 16, 16]
- [0x356630, vtx, D_09000100_356630]
- [0x356670, vtx, D_09000140_356670]
- [0x3566B0, vtx, D_09000180_3566B0]
- [0x3566F0, vtx, D_090001C0_3566F0]
- [0x356730, gfx, D_09000200_356730]
- [0x356818, gfx, D_090002E8_356818]
- [0x356838, gfx, D_09000308_356838]
- [0x356920, gfx, D_090003F0_356920]
- [0x356940, gfx, D_09000410_356940]
- [0x356960, gfx, D_09000430_356960]
- name: effect_ring_blast
dir: effects
type: code
@ -3302,8 +3398,24 @@ segments:
vram: 0xE0048000
subsegments:
- [0x356980, c, ring_blast]
- [0x357380, data]
- [0x3573A0, bin] # ring_blast gfx
- [0x357380]
- name: effect_gfx_ring_blast
dir: effects/gfx
type: code
start: 0x3573A0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3573A0, c, ring_blast]
- start: 0x3573A0
type: .data
name: ring_blast
subsegments:
- [0x3573A0, i4, D_09000000_3573A0, 256, 32]
- [0x3583A0, vtx, D_09001000_3583A0]
- [0x3583E0, gfx, D_09001040_3583E0]
- [0x358498, gfx, D_090010F8_358498]
- [0x3584B8]
- name: effect_shockwave
dir: effects
type: code
@ -3382,7 +3494,7 @@ segments:
vram: 0xE004E000
subsegments:
- [0x35B9D0, c, smoke_burst]
- [0x35BFB0, data]
- [0x35BFB0]
- name: effect_sweat
dir: effects
type: code
@ -4467,7 +4579,22 @@ segments:
vram: 0xE00A0000
subsegments:
- [0x3A2290, c, quizmo_answer]
- [0x3A2440, bin] # quizmo_answer gfx
- name: effect_gfx_quizmo_answer
dir: effects/gfx
type: code
start: 0x3A2440
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3A2440, c, quizmo_answer]
- start: 0x3A2440
type: .data
name: quizmo_answer
subsegments:
- [0x3A2440, i4, D_09000000_3A2440, 32, 32]
- [0x3A2640, i4, D_09000200_3A2640, 32, 32]
- [0x3A2840, gfx, D_09000400_3A2840]
- [0x3A28E8, gfx, D_090004A8_3A28E8]
- name: effect_motion_blur_flame
dir: effects
type: code
@ -4678,7 +4805,21 @@ segments:
subsegments:
- [0x3B3EB0, c, thunderbolt_ring]
- [0x3B4690]
- [0x3B46A0, bin] # thunderbolt_ring gfx
- name: effect_gfx_thunderbolt_ring
dir: effects/gfx
type: code
start: 0x3B46A0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3B46A0, c, thunderbolt_ring]
- start: 0x3B46A0
type: .data
name: thunderbolt_ring
subsegments:
- [0x3B46A0, gfx, D_09000000_3B46A0]
- [0x3B4708, vtx, D_09000068_3B4708]
- [0x3B4768, gfx, D_090000C8_3B4768]
- name: effect_squirt
dir: effects
type: code
@ -4946,8 +5087,26 @@ segments:
vram: 0xE00CC000
subsegments:
- [0x3D1690, c, tubba_heart_attack]
- [0x3D2460, data]
- [0x3D2580, bin] # tubba_heart_attack gfx
- [0x3D2460]
- name: effect_gfx_tubba_heart_attack
dir: effects/gfx
type: code
start: 0x3D2580
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3D2580, c, tubba_heart_attack]
- start: 0x3D2580
type: .data
name: tubba_heart_attack
subsegments:
- [0x3D2580, ci4, D_09000000_3D2580, 32, 32]
- [0x3D2780, palette, D_09000000_3D2580]
- [0x3D27A0] # padding
- [0x3D2980, gfx, D_09000400_3D2980]
- [0x3D2A58, vtx, D_090004D8_3D2A58]
- [0x3D2A98, gfx, D_09000518_3D2A98]
- [0x3D2AB8]
- name: effect_whirlwind
dir: effects
type: code
@ -5061,8 +5220,23 @@ segments:
vram: 0xE00DA000
subsegments:
- [0x3D7240, c, shiny_flare]
- [0x3D7740, data]
- [0x3D7770, bin] # shiny_flare gfx
- [0x3D7740]
- name: effect_gfx_shiny_flare
dir: effects/gfx
type: code
start: 0x3D7770
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3D7770, c, shiny_flare]
- start: 0x3D7770
type: .data
name: shiny_flare
subsegments:
- [0x3D7770, i4, D_09000000_3D7770, 32, 32]
- [0x3D7970, vtx, D_09000200_3D7970]
- [0x3D79B0, gfx, D_09000240_3D79B0]
- [0x3D7A50, gfx, D_090002E0_3D7A50]
- name: effect_huff_puff_breath
dir: effects
type: code
@ -5211,8 +5385,24 @@ segments:
vram: 0xE00E8000
subsegments:
- [0x3E1690, c, moving_cloud]
- [0x3E1CC0, data]
- [0x3E1CD0, bin] # moving_cloud gfx
- [0x3E1CC0]
- name: effect_gfx_moving_cloud
dir: effects/gfx
type: code
start: 0x3E1CD0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3E1CD0, c, moving_cloud]
- start: 0x3E1CD0
type: .data
name: moving_cloud
subsegments:
- [0x3E1CD0, ia8, D_09000000_3E1CD0, 16, 16]
- [0x3E1DD0, gfx, D_09000100_3E1DD0]
- [0x3E1E78, vtx, D_090001A8_3E1E78]
- [0x3E1EB8, gfx, D_090001E8_3E1EB8]
- [0x3E1ED8]
- name: effect_effect_75
dir: effects
type: code

View File

@ -44,6 +44,21 @@ D_090008F8 = 0x090008F8;
D_09000918 = 0x09000918;
D_090009E0 = 0x090009E0;
// effect_quizmo_stage
D_09000218 = 0x09000218;
D_09001518 = 0x09001518;
D_09004148 = 0x09004148;
D_09006D48 = 0x09006D48;
D_09006DA0 = 0x09006DA0;
D_09006E28 = 0x09006E28;
D_09006F20 = 0x09006F20;
D_09006FB0 = 0x09006FB0;
D_09006FD8 = 0x09006FD8;
D_09007030 = 0x09007030;
D_09007090 = 0x09007090;
D_090070E8 = 0x090070E8;
D_09007230 = 0x09007230;
// effect_something_rotating
D_09003F98 = 0x09003F98;
D_09004010 = 0x09004010;