[Effects] Matching a couple of functions (#834)

* [Effects] Matching a couple of functions

* Addressed comments
This commit is contained in:
mrshigure 2022-10-25 02:49:05 -07:00 committed by GitHub
parent f59f495a36
commit ec25f51281
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
66 changed files with 2846 additions and 7331 deletions

View File

@ -537,8 +537,19 @@ typedef struct GotItemOutlineFXData {
} GotItemOutlineFXData; // size = 0x20
typedef struct SpikyWhiteAuraFXData {
/* 0x00 */ char todo[0];
} SpikyWhiteAuraFXData; // 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 */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
} SpikyWhiteAuraFXData; // size = 0x30
typedef struct SmokeImpactFXData {
/* 0x00 */ char todo[0];
@ -728,12 +739,16 @@ typedef struct SteamBurstFXData {
} SteamBurstFXData; // size = unknown
typedef struct StarsOrbitingFXData {
/* 0x00 */ char unk_00[0x4];
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f pos;
/* 0x10 */ char unk_10[0x18];
/* 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;
/* 0x3C */ char todo[0];
} StarsOrbitingFXData; // size = unknown
} StarsOrbitingFXData; // size = 0x2C
typedef struct BigSnowflakesFXData {
/* 0x00 */ s32 unk_00;
@ -804,8 +819,40 @@ typedef struct GreenImpactFXData {
} GreenImpactFXData; // size = 0x58
typedef struct RadialShimmerFXData {
/* 0x00 */ char todo[0];
} RadialShimmerFXData; // 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 */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
/* 0x44 */ f32 unk_44;
/* 0x48 */ f32 unk_48;
/* 0x4C */ f32 unk_4C;
/* 0x50 */ f32 unk_50;
/* 0x54 */ f32 unk_54;
/* 0x58 */ f32 unk_58;
/* 0x5C */ f32 unk_5C;
/* 0x60 */ f32 unk_60;
/* 0x64 */ f32 unk_64;
/* 0x68 */ u8 unk_68;
/* 0x69 */ u8 unk_69;
/* 0x6A */ u8 unk_6A;
/* 0x6B */ u8 unk_6B;
/* 0x6C */ u8 unk_6C;
/* 0x6D */ u8 unk_6D;
/* 0x6E */ char unk_6E[2];
} RadialShimmerFXData; // size = 0x70
typedef struct EndingDecalsFXData {
/* 0x00 */ s32 unk_00;
@ -1316,8 +1363,20 @@ typedef struct QuizmoStageFXData {
} QuizmoStageFXData; // size 0x44
typedef struct RadiatingEnergyOrbFXData {
/* 0x00 */ char todo[0];
} RadiatingEnergyOrbFXData; // size = unknown
/* 0x00 */ char unk_00[4];
/* 0x04 */ s32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ char unk_24[4];
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
} RadiatingEnergyOrbFXData; // size = 0x34
typedef struct QuizmoAnswerFXData {
/* 0x00 */ char todo[0];
@ -1413,8 +1472,8 @@ typedef struct StatChangeFXData {
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
} StatChangeFXData;
typedef struct SnakingStaticFXData {
@ -1447,8 +1506,38 @@ typedef struct ThunderboltRingFXData {
} ThunderboltRingFXData; // size = 0x34
typedef struct SquirtFXData {
/* 0x00 */ char todo[0];
} SquirtFXData; // size = unknown
/* 0x000 */ s32 unk_00;
/* 0x004 */ f32 unk_04;
/* 0x008 */ f32 unk_08;
/* 0x00C */ f32 unk_0C;
/* 0x010 */ f32 unk_10;
/* 0x014 */ f32 unk_14;
/* 0x018 */ f32 unk_18;
/* 0x01C */ f32 unk_1C;
/* 0x020 */ f32 unk_20;
/* 0x024 */ f32 unk_24;
/* 0x028 */ s32 unk_28;
/* 0x02C */ s32 unk_2C;
/* 0x030 */ s32 unk_30;
/* 0x034 */ s32 unk_34;
/* 0x038 */ s32 unk_38;
/* 0x03C */ s32 unk_3C;
/* 0x040 */ s32 unk_40;
/* 0x044 */ s32 unk_44;
/* 0x048 */ s32 unk_48;
/* 0x04C */ s32 unk_4C;
/* 0x050 */ f32 unk_50;
/* 0x054 */ s32 unk_54;
/* 0x058 */ f32 unk_58[12];
/* 0x088 */ f32 unk_88[12];
/* 0x0B8 */ s32 unk_B8[12];
/* 0x0E8 */ f32 unk_E8[12];
/* 0x118 */ f32 unk_118[12];
/* 0x148 */ f32 unk_148[12];
/* 0x178 */ s32 unk_178[12];
/* 0x1A8 */ s32 unk_1A8[12];
/* 0x1D8 */ u8 unk_1D8[12];
} SquirtFXData; // size = 0x1E4
typedef struct WaterBlockFXData {
/* 0x00 */ char unk_00[4];
@ -1502,10 +1591,10 @@ typedef struct LightningBoltFXData {
/* 0x044 */ s32 unk_44;
/* 0x048 */ s32 unk_48;
/* 0x04C */ f32 unk_4C;
/* 0x050 */ f32 unk_50[0xC];
/* 0x080 */ f32 unk_80[0xC];
/* 0x0B0 */ f32 unk_B0[0xC];
/* 0x0E0 */ f32 unk_E0[0xC];
/* 0x050 */ f32 unk_50[12];
/* 0x080 */ f32 unk_80[12];
/* 0x0B0 */ f32 unk_B0[12];
/* 0x0E0 */ f32 unk_E0[12];
/* 0x110 */ s32 unk_110;
/* 0x114 */ f32 unk_114;
} LightningBoltFXData; // size = 0x118
@ -1533,8 +1622,28 @@ typedef struct FrightJarFXData {
} FrightJarFXData; // size = 0x2C
typedef struct StopWatchFXData {
/* 0x00 */ char todo[0];
} StopWatchFXData; // 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 */ s32 unk_2C;
/* 0x030 */ f32 unk_30;
/* 0x034 */ f32 unk_34[10];
/* 0x05C */ f32 unk_5C[10];
/* 0x084 */ f32 unk_84[10];
/* 0x0AC */ f32 unk_AC[10];
/* 0x0D4 */ f32 unk_D4[10];
/* 0x0FC */ f32 unk_FC[10];
/* 0x124 */ s32 unk_124[10];
/* 0x14C */ s32 unk_14C[10];
} StopWatchFXData; // size = 0x174
typedef struct Effect63FXData {
/* 0x00 */ s32 unk_00;
@ -1838,30 +1947,46 @@ typedef struct HieroglyphsFXData {
} HieroglyphsFXData; // size = 0x3C
typedef struct MiscParticlesFXData {
/* 0x00 */ char unk_00[0x4];
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f pos;
/* 0x10 */ f32 scaleX;
/* 0x14 */ f32 scaleY;
/* 0x18 */ char unk_18[0x20];
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ char unk_20[4];
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 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 */ char unk_44[0x4];
/* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48;
/* 0x4C */ s32 unk_4C;
/* 0x50 */ s32 unk_50;
} MiscParticlesFXData; // size = ?
/* 0x54 */ s32 unk_54;
/* 0x58 */ f32 unk_58;
/* 0x5C */ f32 unk_5C;
/* 0x60 */ f32 unk_60;
} MiscParticlesFXData; // size = 0x64
typedef struct StaticStatusFXData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ char unk_10[0x10];
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x24 */ f32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ char unk_2C[0x0C];
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ f32 unk_34;
} StaticStatusFXData; // size = 0x38
typedef struct MovingCloudFXData {
@ -1999,14 +2124,18 @@ typedef struct IceShardFXData {
} IceShardFXData; // size = ?
typedef struct SpiritCardFXData {
/* 0x00 */ char unk_00[0x4];
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f pos;
/* 0x10 */ char unk_10[0x10];
/* 0x20 */ s32 unk_20;
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ struct EffectInstance* unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 yaw;
/* 0x28 */ char unk_28[0xC];
/* 0x34 */ s8 chapter;
} SpiritCardFXData; // ?
/* 0x34 */ u8 chapter;
/* 0x35 */ char unk_35[3];
} SpiritCardFXData; // size = 0x38
#define MAX_LIL_OINKS 11
@ -2035,13 +2164,13 @@ typedef struct SomethingRotatingFXData {
/* 0x14 */ s32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s8 unk_24;
/* 0x20 */ f32 unk_20;
/* 0x24 */ u8 unk_24;
/* 0x25 */ s8 unk_25;
/* 0x26 */ u8 unk_26;
/* 0x27 */ u8 unk_27;
/* 0x28 */ s8 unk_28;
/* 0x29 */ s8 unk_29;
/* 0x28 */ u8 unk_28;
/* 0x29 */ u8 unk_29;
/* 0x2A */ char unk_2A[2];
/* 0x2C */ f32 unk_2C;
} SomethingRotatingFXData; // size = 0x30
@ -2118,16 +2247,31 @@ typedef struct SunFXData {
} SunFXData; // size = 0x40
typedef struct StarSpiritsEnergyFXData {
/* 0x00 */ char unk_00[0x8];
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ char unk_14[0x20];
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 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 */ char unk_38[0x38];
/* 0x38 */ s32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40[4];
/* 0x50 */ s32 unk_50[4];
/* 0x60 */ s32 unk_60;
/* 0x64 */ s32 unk_64;
/* 0x68 */ s32 unk_68;
/* 0x6C */ s32 unk_6C;
/* 0x70 */ s32 unk_70;
/* 0x74 */ s32 unk_74;
} StarSpiritsEnergyFXData; // size = ?
} StarSpiritsEnergyFXData; // size = 0x78
typedef struct PinkSparklesFXData {
/* 0x00 */ s32 unk_00;

View File

@ -60,7 +60,7 @@ 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**);
FX_MAIN(spiky_white_aura_main);
void spiky_white_aura_main(s32, f32, f32, f32, s32);
FX_MAIN(smoke_impact_main);
void damage_indicator_main(s32, f32, f32, f32, f32, f32, s32, EffectInstance**);
FX_MAIN(purple_ring_main);
@ -78,11 +78,11 @@ FX_MAIN(windy_leaves_main);
void falling_leaves_main(s32, f32, f32, f32);
void stars_spread_main(s16, f32, f32, f32, s32, s32);
FX_MAIN(steam_burst_main);
FX_MAIN(stars_orbiting_main);
void stars_orbiting_main(s32, f32, f32, f32, f32, s32, EffectInstance**);
void big_snowflakes_main(s32, f32, f32, f32);
EffectInstance* debuff_main(s32, f32, f32, f32);
EffectInstance* green_impact_main(s32, f32, f32, f32, f32);
FX_MAIN(radial_shimmer_main);
EffectInstance* radial_shimmer_main(s32, f32, f32, f32, f32, s32);
void ending_decals_main(s32, f32, f32, f32, f32, EffectInstance**);
void light_rays_main(s32, f32, f32, f32, f32, EffectInstance**);
EffectInstance* lightning_main(s32, f32, f32, f32, f32, f32);
@ -110,7 +110,7 @@ EffectInstance* balloon_main(s32, f32, f32, f32, f32, s32);
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);
FX_MAIN(radiating_energy_orb_main);
EffectInstance* radiating_energy_orb_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(quizmo_answer_main);
EffectInstance* motion_blur_flame_main(s32, f32, f32, f32, f32, s32);
EffectInstance* energy_orb_wave_main(s32, f32, f32, f32, f32, s32);
@ -120,7 +120,7 @@ EffectInstance* butterflies_main(s32, f32, f32, f32);
EffectInstance* stat_change_main(s32, f32, f32, f32, f32, s32);
EffectInstance* snaking_static_main(s32, f32, f32, f32, f32, s32);
EffectInstance* thunderbolt_ring_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(squirt_main);
EffectInstance* squirt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
FX_MAIN(water_block_main);
FX_MAIN(waterfall_main);
FX_MAIN(water_fountain_main);
@ -129,7 +129,7 @@ EffectInstance* lightning_bolt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32)
FX_MAIN(water_splash_main);
FX_MAIN(snowman_doll_main);
EffectInstance* fright_jar_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(stop_watch_main);
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);
@ -144,15 +144,15 @@ EffectInstance* huff_puff_breath_main(s32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* cold_breath_main(s32, f32, f32, f32, f32, s32);
EffectInstance* embers_main(s32, f32, f32, f32, f32, f32, f32, s32, s32, f32, f32);
EffectInstance* hieroglyphs_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(misc_particles_main);
FX_MAIN(static_status_main);
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* 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);
EffectInstance* chapter_change_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(ice_shard_main);
FX_MAIN(spirit_card_main);
EffectInstance* spirit_card_main(s32, f32, f32, f32, f32, s32);
EffectInstance* lil_oink_main(void);
EffectInstance* something_rotating_main(s32, f32, f32, f32, f32, s32);
EffectInstance* breaking_junk_main(s32, f32, f32, f32, f32, s32);
@ -160,7 +160,7 @@ EffectInstance* partner_buff_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(quizmo_assistant_main);
FX_MAIN(ice_pillar_main);
EffectInstance* sun_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(star_spirits_energy_main);
EffectInstance* star_spirits_energy_main(s32, f32, f32, f32, f32, s32);
EffectInstance* pink_sparkles_main(s32, f32, f32, f32, f32, f32);
FX_MAIN(star_outline_main);
EffectInstance* fx_86_main(s32, f32, f32, f32, f32, s32);

View File

@ -42,7 +42,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x0C */ FX_ENTRY(footprint, effect_gfx_footprint),
/* 0x0D */ FX_ENTRY(floating_flower, effect_gfx_floating_flower),
/* 0x0E */ FX_ENTRY(snowflake, effect_gfx_snowflake),
/* 0x0F */ FX_ENTRY(star, _3326A0),
/* 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),
@ -55,7 +55,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x19 */ FX_ENTRY(explosion, effect_gfx_explosion),
/* 0x1A */ FX_ENTRY(lens_flare, _3451E0),
/* 0x1B */ FX_ENTRY(got_item_outline, effect_gfx_got_item_outline),
/* 0x1C */ FX_ENTRY(spiky_white_aura, _34E770),
/* 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),
@ -74,7 +74,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x2C */ FX_ENTRY(falling_leaves, effect_gfx_falling_leaves),
/* 0x2D */ FX_ENTRY(stars_spread, _360A30),
/* 0x2E */ FX_ENTRY(steam_burst, _361670),
/* 0x2F */ FX_ENTRY(stars_orbiting, _362C50),
/* 0x2F */ FX_ENTRY(stars_orbiting, effect_gfx_stars_orbiting),
/* 0x30 */ FX_ENTRY(big_snowflakes, effect_gfx_big_snowflakes),
/* 0x31 */ FX_ENTRY(debuff, effect_gfx_debuff),
/* 0x32 */ FX_ENTRY(green_impact, effect_gfx_green_impact),
@ -106,14 +106,14 @@ EffectTableEntry gEffectTable[] = {
/* 0x4C */ FX_ENTRY(floating_rock, effect_gfx_floating_rock),
/* 0x4D */ FX_ENTRY(chomp_drop, effect_gfx_chomp_drop),
/* 0x4E */ FX_ENTRY(quizmo_stage, _398BC0),
/* 0x4F */ FX_ENTRY(radiating_energy_orb, _3A0D60),
/* 0x4F */ FX_ENTRY(radiating_energy_orb, effect_gfx_radiating_energy_orb),
/* 0x50 */ FX_ENTRY(quizmo_answer, _3A2440),
/* 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),
/* 0x54 */ FX_ENTRY(quizmo_audience, _3A77A0),
/* 0x55 */ FX_ENTRY(butterflies, effect_gfx_butterflies),
/* 0x56 */ FX_ENTRY(stat_change, _3AF700),
/* 0x56 */ FX_ENTRY(stat_change, effect_gfx_stat_change),
/* 0x57 */ FX_ENTRY(snaking_static, _3B2D90),
/* 0x58 */ FX_ENTRY(thunderbolt_ring, _3B46A0),
/* 0x59 */ FX_ENTRY(squirt, _3B5340),
@ -125,7 +125,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x5F */ FX_ENTRY(water_splash, effect_gfx_water_splash),
/* 0x60 */ FX_ENTRY(snowman_doll, _3BD9A0),
/* 0x61 */ FX_ENTRY(fright_jar, effect_gfx_fright_jar),
/* 0x62 */ FX_ENTRY(stop_watch, _3CB890),
/* 0x62 */ FX_ENTRY(stop_watch, effect_gfx_stop_watch),
/* 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),
@ -141,8 +141,8 @@ EffectTableEntry gEffectTable[] = {
/* 0x6F */ FX_ENTRY(cold_breath, effect_gfx_cold_breath),
/* 0x70 */ FX_ENTRY(embers, effect_gfx_embers),
/* 0x71 */ FX_ENTRY(hieroglyphs, _3DCD50),
/* 0x72 */ FX_ENTRY(misc_particles, _3DEE60),
/* 0x73 */ FX_ENTRY(static_status, _3E12D0),
/* 0x72 */ FX_ENTRY(misc_particles, effect_gfx_misc_particles),
/* 0x73 */ FX_ENTRY(static_status, effect_gfx_static_status),
/* 0x74 */ FX_ENTRY(moving_cloud, _3E1CD0),
/* 0x75 */ FX_ENTRY_NUMBERED(75, effect_gfx_effect_75),
/* 0x76 */ {},
@ -158,7 +158,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x80 */ FX_ENTRY(quizmo_assistant, _407080),
/* 0x81 */ FX_ENTRY(ice_pillar, _40A1C0),
/* 0x82 */ FX_ENTRY(sun, _40BBA0),
/* 0x83 */ FX_ENTRY(star_spirits_energy, _40D290),
/* 0x83 */ FX_ENTRY(star_spirits_energy, effect_gfx_star_spirits_energy),
/* 0x84 */ FX_ENTRY(pink_sparkles, effect_gfx_sparkles),
/* 0x85 */ FX_ENTRY(star_outline, _413FA0),
/* 0x86 */ FX_ENTRY_NUMBERED(86, effect_gfx_effect_86),

View File

@ -0,0 +1,21 @@
#include "effects/gfx/D_09000000_3DEE60.png.inc.c"
#include "effects/gfx/D_09001000_3DFE60.png.inc.c"
#include "effects/gfx/D_09001080_3DFEE0.png.inc.c"
#include "effects/gfx/D_09001100_3DFF60.png.inc.c"
#include "effects/gfx/D_09001180_3DFFE0.png.inc.c"
#include "effects/gfx/D_09001580_3E03E0.gfx.inc.c"
#include "effects/gfx/D_09001670_3E04D0.gfx.inc.c"
#include "effects/gfx/D_09001768_3E05C8.gfx.inc.c"
#include "effects/gfx/D_09001818_3E0678.gfx.inc.c"
#include "effects/gfx/D_090018D0_3E0730.vtx.inc.c"
#include "effects/gfx/D_09001910_3E0770.vtx.inc.c"
#include "effects/gfx/D_09001950_3E07B0.vtx.inc.c"
#include "effects/gfx/D_09001990_3E07F0.vtx.inc.c"
#include "effects/gfx/D_090019D0_3E0830.vtx.inc.c"
#include "effects/gfx/D_09001A20_3E0880.gfx.inc.c"
#include "effects/gfx/D_09001A40_3E08A0.gfx.inc.c"
#include "effects/gfx/D_09001A60_3E08C0.gfx.inc.c"
#include "effects/gfx/D_09001A80_3E08E0.gfx.inc.c"

View File

@ -0,0 +1,17 @@
#include "effects/gfx/D_09000000_3A0D60.png.inc.c"
#include "effects/gfx/D_09000200_3A0F60.png.inc.c"
#include "effects/gfx/D_09001200_3A1F60.gfx.inc.c"
#include "effects/gfx/D_090012A8_3A2008.gfx.inc.c"
#include "effects/gfx/D_09001350_3A20B0.vtx.inc.c"
#include "effects/gfx/D_09001390_3A20F0.vtx.inc.c"
#include "effects/gfx/D_090013D0_3A2130.vtx.inc.c"
#include "effects/gfx/D_09001410_3A2170.vtx.inc.c"
#include "effects/gfx/D_09001450_3A21B0.vtx.inc.c"
#include "effects/gfx/D_09001490_3A21F0.gfx.inc.c"
#include "effects/gfx/D_090014B0_3A2210.gfx.inc.c"
#include "effects/gfx/D_090014D0_3A2230.gfx.inc.c"
#include "effects/gfx/D_090014F0_3A2250.gfx.inc.c"
#include "effects/gfx/D_09001510_3A2270.gfx.inc.c"

View File

@ -0,0 +1,6 @@
#include "effects/gfx/D_09000000_34E770.png.inc.c"
#include "effects/gfx/D_09000400_34EB70.vtx.inc.c"
#include "effects/gfx/D_09000440_34EBB0.gfx.inc.c"
#include "effects/gfx/D_090004E8_34EC58.gfx.inc.c"

12
src/effects/gfx/star.c Normal file
View File

@ -0,0 +1,12 @@
#include "effects/gfx/D_09000000_3326A0.png.inc.c"
#include "effects/gfx/D_09001000_3336A0.png.inc.c"
#include "effects/gfx/D_09001200_3338A0.png.inc.c"
#include "effects/gfx/D_09001400_333AA0.vtx.inc.c"
#include "effects/gfx/D_090014A0_333B40.vtx.inc.c"
#include "effects/gfx/D_090014E0_333B80.vtx.inc.c"
#include "effects/gfx/D_09001530_333BD0.gfx.inc.c"
#include "effects/gfx/D_09001650_333CF0.gfx.inc.c"
#include "effects/gfx/D_09001780_333E20.gfx.inc.c"
#include "effects/gfx/D_090017D0_333E70.gfx.inc.c"

View File

@ -0,0 +1,28 @@
#include "effects/gfx/D_09000000_40D290.png.inc.c"
#include "effects/gfx/D_09000200_40D490.png.inc.c"
#include "effects/gfx/D_09001200_40E490.png.inc.c"
#include "effects/gfx/D_09002200_40F490.png.inc.c"
#include "effects/gfx/D_09003200_410490.png.inc.c"
#include "effects/gfx/D_09004200_411490.png.inc.c"
#include "effects/gfx/D_09004A00_411C90.png.inc.c"
#include "effects/gfx/D_09004E00_412090.gfx.inc.c"
#include "effects/gfx/D_09004E68_4120F8.vtx.inc.c"
#include "effects/gfx/D_09004EA8_412138.vtx.inc.c"
#include "effects/gfx/D_09004EE8_412178.vtx.inc.c"
#include "effects/gfx/D_09004F28_4121B8.vtx.inc.c"
#include "effects/gfx/D_09004F68_4121F8.vtx.inc.c"
#include "effects/gfx/D_09004FA8_412238.vtx.inc.c"
#include "effects/gfx/D_09004FE8_412278.vtx.inc.c"
#include "effects/gfx/D_09005028_4122B8.vtx.inc.c"
#include "effects/gfx/D_09005068_4122F8.vtx.inc.c"
#include "effects/gfx/D_090050A8_412338.vtx.inc.c"
#include "effects/gfx/D_090050E8_412378.vtx.inc.c"
#include "effects/gfx/D_09005128_4123B8.vtx.inc.c"
#include "effects/gfx/D_09005168_4123F8.gfx.inc.c"
#include "effects/gfx/D_090051C8_412458.gfx.inc.c"
#include "effects/gfx/D_09005370_412600.gfx.inc.c"
#include "effects/gfx/D_090053D0_412660.gfx.inc.c"
#include "effects/gfx/D_09005440_4126D0.gfx.inc.c"

View File

@ -0,0 +1,4 @@
#include "effects/gfx/D_09000000_362C50.png.inc.c"
#include "effects/gfx/D_09000400_363050.vtx.inc.c"
#include "effects/gfx/D_09000440_363090.gfx.inc.c"
#include "effects/gfx/D_090004F0_363140.gfx.inc.c"

View File

@ -0,0 +1,41 @@
#include "effects/gfx/D_09000000_3AF700.png.inc.c"
#include "effects/gfx/D_09000200_3AF900.png.inc.c"
#include "effects/gfx/D_09000400_3AFB00.png.inc.c"
#include "effects/gfx/D_09000600_3AFD00.png.inc.c"
#include "effects/gfx/D_09000800_3AFF00.png.inc.c"
#include "effects/gfx/D_09000A00_3B0100.png.inc.c"
#include "effects/gfx/D_09000C00_3B0300.png.inc.c"
#include "effects/gfx/D_09000E00_3B0500.png.inc.c"
#include "effects/gfx/D_09001000_3B0700.png.inc.c"
#include "effects/gfx/D_09001200_3B0900.png.inc.c"
#include "effects/gfx/D_09001400_3B0B00.png.inc.c"
#include "effects/gfx/D_09001600_3B0D00.png.inc.c"
#include "effects/gfx/D_09001800_3B0F00.png.inc.c"
#include "effects/gfx/D_09002000_3B1700.png.inc.c"
#include "effects/gfx/D_09002000_3B1700.pal.inc.c"
#include "effects/gfx/D_09002600_3B1D00.vtx.inc.c"
#include "effects/gfx/D_09002640_3B1D40.vtx.inc.c"
#include "effects/gfx/D_09002680_3B1D80.vtx.inc.c"
#include "effects/gfx/D_090026C0_3B1DC0.vtx.inc.c"
#include "effects/gfx/D_09002700_3B1E00.gfx.inc.c"
#include "effects/gfx/D_09002798_3B1E98.gfx.inc.c"
#include "effects/gfx/D_09002860_3B1F60.gfx.inc.c"
#include "effects/gfx/D_09002880_3B1F80.gfx.inc.c"
#include "effects/gfx/D_090028A0_3B1FA0.gfx.inc.c"
#include "effects/gfx/D_090028C0_3B1FC0.gfx.inc.c"
#include "effects/gfx/D_090028E0_3B1FE0.gfx.inc.c"
#include "effects/gfx/D_09002950_3B2050.gfx.inc.c"
#include "effects/gfx/D_09002990_3B2090.gfx.inc.c"
#include "effects/gfx/D_090029D0_3B20D0.gfx.inc.c"
#include "effects/gfx/D_09002A10_3B2110.gfx.inc.c"
#include "effects/gfx/D_09002A50_3B2150.gfx.inc.c"
#include "effects/gfx/D_09002A90_3B2190.gfx.inc.c"
#include "effects/gfx/D_09002AD0_3B21D0.gfx.inc.c"
#include "effects/gfx/D_09002B10_3B2210.gfx.inc.c"
#include "effects/gfx/D_09002B50_3B2250.gfx.inc.c"
#include "effects/gfx/D_09002B90_3B2290.gfx.inc.c"
#include "effects/gfx/D_09002BD0_3B22D0.gfx.inc.c"
#include "effects/gfx/D_09002C10_3B2310.gfx.inc.c"

View File

@ -0,0 +1,10 @@
#include "common.h"
#include "effects/gfx/D_09000000_3E12D0.png.inc.c"
#include "effects/gfx/D_09000000_3E12D0.pal.inc.c"
u8 D_090000A0_3E1370[0x1E0] = {};
#include "effects/gfx/D_09000280_3E1550.gfx.inc.c"
#include "effects/gfx/D_09000360_3E1630.vtx.inc.c"
#include "effects/gfx/D_090003A0_3E1670.gfx.inc.c"

View File

@ -0,0 +1,8 @@
#include "effects/gfx/D_09000000_3CB890.png.inc.c"
#include "effects/gfx/D_09000800_3CC090.png.inc.c"
#include "effects/gfx/D_09001000_3CC890.gfx.inc.c"
#include "effects/gfx/D_090010E8_3CC978.vtx.inc.c"
#include "effects/gfx/D_09001128_3CC9B8.gfx.inc.c"

View File

@ -1,14 +1,275 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09001580_3E03E0[];
extern Gfx D_09001670_3E04D0[];
extern Gfx D_09001768_3E05C8[];
extern Gfx D_09001818_3E0678[];
extern Gfx D_09001A20_3E0880[];
extern Gfx D_09001A40_3E08A0[];
extern Gfx D_09001A60_3E08C0[];
extern Gfx D_09001A80_3E08E0[];
Gfx* D_E00E4D90[] = {
D_09001A20_3E0880, D_09001A40_3E08A0, D_09001A60_3E08C0,
D_09001A60_3E08C0, D_09001A80_3E08E0, D_09001A80_3E08E0
};
Gfx* D_E00E4DA8[] = {
D_09001580_3E03E0, D_09001670_3E04D0, D_09001768_3E05C8,
D_09001768_3E05C8, D_09001818_3E0678, D_09001818_3E0678
};
u8 D_E00E4DC0[] = {
0x02, 0x04, 0x08, 0x0D, 0x0F, 0x0D, 0x09, 0x06, 0x04, 0x03, 0x02, 0x04, 0x08, 0x0D, 0x0F, 0x0D, 0x09, 0x06, 0x04, 0x03, 0x02, 0x04, 0x08, 0x0D, 0x0F, 0x0D, 0x09, 0x06, 0x04, 0x03, 0x00, 0x00
};
u8 D_E00E4DE0[] = {
0x28, 0x5A, 0x51, 0x48, 0x41, 0x3B, 0x35, 0x2F, 0x2B, 0x26, 0x22, 0x1F, 0x1C, 0x19, 0x16, 0x14, 0x12, 0x10, 0x0F, 0x0D, 0x0C, 0x0A, 0x09, 0x08, 0x07, 0x07, 0x06, 0x05, 0x05, 0x04, 0x00, 0x00
};
u8 D_E00E4E00[] = {
0xC8, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC8, 0x00, 0x00
};
void misc_particles_init(EffectInstance* effect);
void misc_particles_update(EffectInstance* effect);
void misc_particles_render(EffectInstance* effect);
void misc_particles_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/misc_particles", misc_particles_main);
EffectInstance* misc_particles_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
f32 arg5,
f32 arg6,
s32 arg7,
s32 arg8
) {
EffectBlueprint bp;
EffectInstance* effect;
MiscParticlesFXData* part;
f32 temp;
s32 i;
void misc_particles_init(void) {
arg7++;
bp.init = misc_particles_init;
bp.update = misc_particles_update;
bp.renderWorld = misc_particles_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_MISC_PARTICLES;
effect = shim_create_effect_instance(&bp);
effect->numParts = arg7;
part = effect->data.miscParticles = shim_general_heap_malloc(arg7 * sizeof(*part));
ASSERT(effect->data.miscParticles != NULL);
part->unk_00 = arg0;
part->unk_34 = 0;
if (arg8 <= 0) {
part->unk_30 = 1000;
} else {
part->unk_30 = arg8;
}
part->unk_44 = 255;
part->pos.x = arg1;
part->pos.y = arg2;
part->pos.z = arg3;
part->unk_58 = arg6;
part->scaleX = arg4;
part->scaleY = arg5;
part->unk_38 = 255;
part->unk_3C = 255;
part->unk_40 = 255;
switch (arg0) {
case 0:
part->unk_48 = 255;
part->unk_4C = 255;
part->unk_50 = 255;
part->unk_54 = 255;
break;
case 1:
part->unk_48 = 0;
part->unk_4C = 127;
part->unk_50 = 255;
part->unk_54 = 255;
break;
case 2:
case 3:
part->unk_48 = 255;
part->unk_4C = 255;
part->unk_50 = 128;
part->unk_54 = 255;
break;
default:
part->unk_38 = shim_rand_int(127) + 128;
part->unk_3C = shim_rand_int(255 - part->unk_38) + 128;
part->unk_40 = shim_rand_int(383 - part->unk_38 - part->unk_3C) + 128;
part->unk_48 = 127;
part->unk_4C = 127;
part->unk_50 = 127;
part->unk_54 = 127;
break;
}
if (part->unk_30 < 30) {
temp = (f32) part->unk_30 / (arg7 - 1);
} else {
temp = 30.0f / (arg7 - 1);
}
part++;
for (i = 1; i < arg7; i++, part++) {
s32 temp_f0 = -(f32) i * temp;
part->unk_2C = temp_f0 - 1;
}
return effect;
}
INCLUDE_ASM(s32, "effects/misc_particles", misc_particles_update);
void misc_particles_init(EffectInstance* effect) {
}
void misc_particles_update(EffectInstance* effect) {
MiscParticlesFXData* part = ((EffectInstance*)effect)->data.miscParticles;
s32 unk_00 = part->unk_00;
f32 scaleX;
f32 scaleY;
f32 posX;
f32 posY;
f32 posZ;
s32 unk_30;
s32 unk_38;
s32 unk_3C;
s32 unk_40;
f32 temp_sin;
f32 temp_cos;
s32 i;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
part->unk_30 = 16;
}
if (part->unk_30 < 1000) {
part->unk_30--;
}
part->unk_34++;
if (part->unk_30 < 0) {
shim_remove_effect(effect);
return;
}
unk_30 = part->unk_30;
if (unk_30 < 8) {
part->unk_44 = unk_30 * 32;
}
scaleX = part->scaleX;
scaleY = part->scaleY;
posX = part->pos.x;
posY = part->pos.y;
posZ = part->pos.z;
temp_cos = shim_cos_deg(gCameras[gCurrentCameraID].currentYaw);
temp_sin = shim_sin_deg(gCameras[gCurrentCameraID].currentYaw);
unk_38 = part->unk_38;
unk_3C = part->unk_3C;
unk_40 = part->unk_40;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_2C++;
if (part->unk_2C >= 30) {
if (unk_30 < 30) {
part->unk_2C = 20;
} else {
part->unk_2C = 0;
}
}
if (part->unk_2C >= 0) {
if (part->unk_2C == 0) {
f32 temp_f20 = shim_rand_int(scaleX) - scaleX * 0.5;
part->pos.x = posX + temp_f20 * temp_cos - temp_sin;
part->pos.y = posY + shim_rand_int(scaleY);
part->pos.z = posZ + temp_f20 * temp_sin + temp_cos;
part->unk_38 = unk_38;
part->unk_3C = unk_3C;
part->unk_40 = unk_40;
}
switch (unk_00) {
case 0:
case 1:
if (part->unk_2C == 0) {
part->unk_18 = 0.0f;
part->unk_1C = 0.0f;
part->unk_24 = 0.0f;
part->unk_28 = (f32) (-shim_rand_int(10) - 2) * 0.05;
part->unk_5C = 0.0f;
part->unk_60 = 0.0f;
part->unk_58 = (f32) shim_rand_int(10) * 0.05 + 0.5;
}
part->unk_44 = D_E00E4E00[part->unk_2C];
part->pos.x += part->unk_18;
part->pos.y += part->unk_1C;
part->unk_5C += 0.2;
part->unk_60 += 0.6;
part->unk_18 += (part->unk_24 - part->unk_18) * 0.04;
part->unk_1C += (part->unk_28 - part->unk_1C) * 0.04;
break;
case 2:
case 3:
if (part->unk_2C == 0) {
if (unk_00 == 2) {
part->unk_18 = (f32) (shim_rand_int(20) - 10) * 0.05;
part->unk_1C = (f32) (shim_rand_int(20) - 10) * 0.05;
} else {
part->unk_18 = 0.0f;
part->unk_1C = 0.0f;
}
part->unk_24 = 0.0f;
part->unk_28 = 0.0f;
part->unk_5C = shim_rand_int(15);
part->unk_60 = shim_rand_int(15);
part->unk_44 = 255;
}
part->unk_58 = (f32) D_E00E4DC0[part->unk_2C] * 0.1;
part->pos.x += part->unk_18;
part->pos.y += part->unk_1C;
part->unk_5C += 0.2;
part->unk_60 += 0.6;
part->unk_18 += (part->unk_24 - part->unk_18) * 0.04;
part->unk_1C += (part->unk_28 - part->unk_1C) * 0.04;
break;
default:
if (part->unk_2C == 0) {
part->unk_5C = 0.0f;
part->unk_60 = 0.0f;
part->unk_44 = 255;
part->unk_58 = 1.0f;
part->unk_38 = shim_rand_int(127) + 128;
part->unk_3C = shim_rand_int(255 - part->unk_38) + 128;
part->unk_40 = shim_rand_int(383 - part->unk_38 - part->unk_3C) + 128;
}
if (unk_00 == 4) {
part->unk_58 = (f32) D_E00E4DE0[part->unk_2C] * 0.01;
} else {
part->unk_58 = (f32) D_E00E4DC0[part->unk_2C] * 0.01;
}
break;
}
}
}
}
void misc_particles_render(EffectInstance* effect) {
RenderTask renderTask;
@ -26,4 +287,41 @@ void misc_particles_render(EffectInstance* effect) {
void func_E00E4954(void) {
}
INCLUDE_ASM(s32, "effects/misc_particles", misc_particles_appendGfx);
void misc_particles_appendGfx(void* effect) {
MiscParticlesFXData* part = ((EffectInstance*)effect)->data.miscParticles;
s32 unk_00 = part->unk_00;
f32 temp_f20 = (part->unk_44 / 255.0f) * part->unk_58;
Matrix4f sp20;
Matrix4f unused;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gDPSetEnvColor(gMasterGfxPos++, part->unk_48, part->unk_4C, part->unk_50, part->unk_54);
gSPDisplayList(gMasterGfxPos++, D_E00E4DA8[unk_00]);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
if (part->unk_2C >= 0) {
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, part->unk_58 * temp_f20, part->pos.x, part->pos.y, part->pos.z);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 80 - part->unk_2C, part->unk_38, part->unk_3C, part->unk_40, temp_f20 * part->unk_44);
gDPSetTileSize(gMasterGfxPos++, 1,
(s32) part->unk_5C * 4,
(s32) part->unk_60 * 4,
((s32) part->unk_5C + 15) * 4,
((s32) part->unk_60 + 15) * 4);
if (unk_00 == 2) {
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
((i & 0x1F) * 32 ) * 4, 31 * 4,
((i & 0x1F) * 32 + 31) * 4, 31 * 4);
}
gSPDisplayList(gMasterGfxPos++, D_E00E4D90[unk_00]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
}

View File

@ -1,14 +1,248 @@
#include "common.h"
#include "effects_internal.h"
void radial_shimmer_init(EffectInstance* effect);
void radial_shimmer_update(EffectInstance* effect);
void radial_shimmer_render(EffectInstance* effect);
void radial_shimmer_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/radial_shimmer", radial_shimmer_main);
EffectInstance* radial_shimmer_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
EffectInstance* effect;
RadialShimmerFXData* data;
s32 numParts = 1;
s32 arg5_2 = arg5;
void radial_shimmer_init(void) {
bp.init = radial_shimmer_init;
bp.update = radial_shimmer_update;
bp.renderWorld = radial_shimmer_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_RADIAL_SHIMMER;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.radialShimmer = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.radialShimmer != NULL);
data->unk_00 = arg0;
data->unk_28 = arg5_2;
data->unk_24 = data->unk_2C = 0;
data->unk_10 = arg1;
data->unk_14 = arg2;
data->unk_18 = arg3;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_20 = arg4;
data->unk_68 = 255;
data->unk_69 = 255;
data->unk_6A = 0;
data->unk_6B = 255;
data->unk_6C = 255;
data->unk_6D = 255;
data->unk_5C = 4.0f;
data->unk_1C = 10.0f;
data->unk_60 = 50.0f;
data->unk_40 = data->unk_44 = 0.0f;
data->unk_48 = data->unk_4C = 0.0f;
data->unk_30 = data->unk_34 = 0.0f;
data->unk_38 = data->unk_3C = 0.0f;
data->unk_50 = data->unk_58 = 0.0f;
data->unk_54 = 0.0f;
data->unk_64 = 0.0f;
switch (arg0) {
case 0:
case 1:
data->unk_40 = 128.0f;
data->unk_44 = 128.0f / arg5_2;
data->unk_60 = 70.0f;
data->unk_64 = -100.0f;
break;
case 2:
data->unk_34 = 7.0f;
data->unk_44 = -3.0f;
data->unk_3C = 3.0f;
data->unk_4C = -7.0f;
break;
case 3:
data->unk_68 = 235;
data->unk_69 = 235;
data->unk_6A = 235;
data->unk_40 = 256.0f;
data->unk_48 = 256.0f;
data->unk_34 = 7.0f;
data->unk_44 = -3.0f;
data->unk_3C = -3.0f;
data->unk_4C = -4.0f;
break;
case 4:
data->unk_68 = 20;
data->unk_69 = 200;
data->unk_6A = 32;
data->unk_34 = 7.0f;
data->unk_44 = -3.0f;
data->unk_3C = -3.0f;
data->unk_4C = -5.0f;
break;
case 5:
data->unk_34 = 7.0f;
data->unk_44 = 3.0f;
data->unk_3C = 3.0f;
data->unk_4C = 5.0f;
break;
case 6:
data->unk_68 = 235;
data->unk_69 = 235;
data->unk_6A = 235;
data->unk_34 = 7.0f;
data->unk_44 = 3.0f;
data->unk_3C = -3.0f;
data->unk_4C = 4.0f;
break;
case 7:
data->unk_68 = 255;
data->unk_69 = 100;
data->unk_6A = 32;
data->unk_34 = 7.0f;
data->unk_44 = 3.0f;
data->unk_3C = -3.0f;
data->unk_4C = 5.0f;
break;
case 8:
data->unk_68 = 215;
data->unk_69 = 208;
data->unk_6A = 0;
data->unk_6B = 215;
data->unk_6C = 255;
data->unk_6D = 0;
data->unk_34 = 7.0f;
data->unk_44 = -3.0f;
data->unk_3C = -3.0f;
data->unk_4C = -2.0f;
break;
case 9:
data->unk_40 = 128.0f;
data->unk_44 = 128.0f / arg5_2;
data->unk_64 = -100.0f;
break;
case 10:
data->unk_68 = 0;
data->unk_69 = 32;
data->unk_6A = 255;
data->unk_68 = 7;
data->unk_69 = 0;
data->unk_6A = 216;
data->unk_6B = 228;
data->unk_6C = 255;
data->unk_6D = 0;
data->unk_34 = 7.0f;
data->unk_44 = -3.0f;
data->unk_3C = -3.0f;
data->unk_4C = -2.0f;
break;
case 11:
data->unk_68 = 7;
data->unk_69 = 0;
data->unk_6A = 216;
data->unk_6B = 228;
data->unk_6C = 255;
data->unk_6D = 0;
data->unk_34 = 7.0f;
data->unk_44 = 8.0f;
data->unk_3C = -3.0f;
data->unk_4C = 6.0f;
break;
case 12:
case 13:
data->unk_34 = 7.0f;
data->unk_44 = -3.0f;
data->unk_3C = -5.0f;
data->unk_4C = -4.0f;
break;
case 14:
default:
data->unk_40 = 4.0f;
data->unk_34 = 7.0f;
data->unk_4C = 3.5f;
data->unk_60 = 20.0f;
data->unk_64 = -106.0f;
break;
}
return effect;
}
INCLUDE_ASM(s32, "effects/radial_shimmer", radial_shimmer_update);
void radial_shimmer_init(EffectInstance* effect) {
}
void radial_shimmer_update(EffectInstance* effect) {
RadialShimmerFXData* part = effect->data.radialShimmer;
s32 unk_28;
f32 outX;
f32 outY;
f32 outZ;
f32 outS;
s32 i;
part->unk_28--;
part->unk_2C++;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
part->unk_28 = 16;
}
if (part->unk_28 < 0) {
shim_remove_effect(effect);
return;
}
unk_28 = part->unk_28;
if (part->unk_2C < 11) {
part->unk_24 = (part->unk_2C * 255) / 10;
}
if (unk_28 < 6) {
part->unk_24 = (unk_28 * 255) / 6;
}
if (unk_28 < 10 && part->unk_00 == 4) {
part->unk_1C *= 0.7;
}
part->unk_1C = part->unk_20;
shim_transform_point(&gCameras[gCurrentCameraID].perspectiveMatrix[0], part->unk_04, part->unk_08, part->unk_0C, 1.0f, &outX, &outY, &outZ, &outS);
outS = 1.0f / outS;
outX *= outS;
outY *= outS;
outZ *= outS;
part->unk_10 = outX;
part->unk_14 = outY;
part->unk_18 = 0.0f;
for (i = 0; i < effect->numParts; i++, part++) {
part->unk_58 += part->unk_5C;
part->unk_50 += part->unk_54;
part->unk_40 += part->unk_44;
part->unk_30 += part->unk_34;
part->unk_38 += part->unk_3C;
part->unk_48 += part->unk_4C;
if (part->unk_40 < 0.0f) {
part->unk_40 += 512.0f;
}
if (part->unk_48 < 0.0f) {
part->unk_48 += 512.0f;
}
}
}
void radial_shimmer_render(EffectInstance* effect) {
RenderTask renderTask;

View File

@ -1,22 +1,119 @@
#include "common.h"
#include "effects_internal.h"
s32 D_E009EDF0[] = { 0x09001490 };
extern Gfx D_09001200_3A1F60[];
extern Gfx D_090012A8_3A2008[];
extern Gfx D_09001490_3A21F0[];
extern Gfx D_090014B0_3A2210[];
extern Gfx D_090014D0_3A2230[];
extern Gfx D_090014F0_3A2250[];
extern Gfx D_09001510_3A2270[];
s32 D_E009EDF4[] = { 0x090014B0 };
s32 D_E009EDF8[] = { 0x090014D0 };
s32 D_E009EDFC[] = { 0x090014F0 };
Gfx* D_E009EDF0[] = { D_09001490_3A21F0 };
Gfx* D_E009EDF4[] = { D_090014B0_3A2210 };
Gfx* D_E009EDF8[] = { D_090014D0_3A2230 };
Gfx* D_E009EDFC[] = { D_090014F0_3A2250 };
void radiating_energy_orb_init(EffectInstance* effect);
void radiating_energy_orb_update(EffectInstance* effect);
void radiating_energy_orb_render(EffectInstance* effect);
void radiating_energy_orb_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/radiating_energy_orb", radiating_energy_orb_main);
EffectInstance* radiating_energy_orb_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
RadiatingEnergyOrbFXData* part;
s32 numParts = 6;
s32 i;
void radiating_energy_orb_init(void) {
bp.unk_00 = 0;
bp.init = radiating_energy_orb_init;
bp.update = radiating_energy_orb_update;
bp.renderWorld = radiating_energy_orb_render;
bp.unk_14 = NULL;
bp.effectID = EFFECT_RADIATING_ENERGY_ORB;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
part = effect->data.radiatingEnergyOrb = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.radiatingEnergyOrb != NULL);
part->unk_04 = arg0;
part->unk_1C = 0;
if (arg5 <= 0) {
part->unk_18 = 100;
} else {
part->unk_18 = arg5;
}
part->unk_14 = 0;
part->unk_08 = arg1;
part->unk_0C = arg2;
part->unk_10 = arg3;
part++;
for (i = 1; i < numParts; i++, part++) {
part->unk_20 = shim_rand_int(360);
part->unk_2C = (i * 2) % 20 + 60;
part->unk_28 = shim_rand_int(15) * 0.1 + 0.4;
part->unk_30 = shim_rand_int(10) * 0.1 + 0.1;
}
return effect;
}
INCLUDE_ASM(s32, "effects/radiating_energy_orb", radiating_energy_orb_update);
void radiating_energy_orb_init(EffectInstance* effect) {
}
void radiating_energy_orb_update(EffectInstance* effect) {
RadiatingEnergyOrbFXData* part = effect->data.radiatingEnergyOrb;
s32 unk_18;
s32 unk_1C;
s32 i;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
part->unk_18 = 30;
}
if (part->unk_18 < 100) {
part->unk_18--;
}
part->unk_1C++;
if (part->unk_18 < 0) {
shim_remove_effect(effect);
return;
}
unk_18 = part->unk_18;
unk_1C = part->unk_1C;
if (unk_1C < 21) {
part->unk_14 = unk_1C * 12;
} else if (unk_18 < 20) {
part->unk_14 = unk_18 * 12;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_14 = shim_cos_deg((part->unk_2C - 70.0f) * 90.0f / 10.0f) * 255.0f;
part->unk_2C += part->unk_30;
if (part->unk_2C > 80.0f) {
part->unk_2C = 60.0f;
part->unk_28 = shim_rand_int(15) * 0.1 + 0.4;
part->unk_30 = shim_rand_int(10) * 0.1 + 0.1;
part->unk_20 = shim_rand_int(360);
}
}
}
void radiating_energy_orb_render(EffectInstance* effect) {
RenderTask renderTask;
@ -31,4 +128,101 @@ void radiating_energy_orb_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/radiating_energy_orb", radiating_energy_orb_appendGfx);
void radiating_energy_orb_appendGfx(void* effect) {
RadiatingEnergyOrbFXData* part = ((EffectInstance*)effect)->data.radiatingEnergyOrb;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_1C = part->unk_1C;
s32 unk_14 = part->unk_14;
s32 temp_s2 = unk_1C & 1;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f unused;
s32 i;
if (temp_s2) {
unk_14 *= 0.95;
}
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, part->unk_08, part->unk_0C, part->unk_10);
shim_guMtxF2L(sp18, &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, 255, 64, 64, unk_14);
shim_guRotateF(sp18, temp_s2 * 2 + unk_1C, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090012A8_3A2008);
gSPDisplayList(gMasterGfxPos++, D_09001510_3A2270);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09001200_3A1F60);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
f32 scale = part->unk_28;
if (scale != 0.0f) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 255, (part->unk_14 * unk_14) >> 8);
gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
shim_guRotateF(sp18, part->unk_20, 0.0f, 0.0f, 1.0f);
shim_guTranslateF(sp58, part->unk_2C, 0.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, scale, scale, scale);
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);
gSPDisplayList(gMasterGfxPos++, D_E009EDFC[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
shim_guRotateF(sp18, part->unk_20, 0.0f, 0.0f, 1.0f);
shim_guTranslateF(sp58, part->unk_2C + 5.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, 2.3 - scale, 2.3 - scale, 2.3 - scale);
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);
gSPDisplayList(gMasterGfxPos++, D_E009EDF8[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 0, 255, (part->unk_14 * unk_14) >> 9);
gDPSetEnvColor(gMasterGfxPos++, 255, 128, 255, 0);
gDPSetCombineLERP(gMasterGfxPos++, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0, ENVIRONMENT, PRIMITIVE, TEXEL0, PRIMITIVE, TEXEL0, 0, PRIMITIVE, 0);
shim_guRotateF(sp18, part->unk_20 + 14.0f, 0.0f, 0.0f, 1.0f);
shim_guRotateF(sp58, (i * 10) % 45 + unk_1C, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guTranslateF(sp58, 20.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, (part->unk_2C - 60.0f) * 0.05 + 1.0, 2.0 - (part->unk_2C - 60.0f) * 0.05, 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);
gSPDisplayList(gMasterGfxPos++, D_E009EDF4[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 64, 64, (part->unk_14 * unk_14) >> 8);
shim_guRotateF(sp18, part->unk_20 + 34.0f + unk_1C, 0.0f, 0.0f, 1.0f);
shim_guRotateF(sp58, i * 35, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guTranslateF(sp58, 15.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, (part->unk_2C - 60.0f) * 0.1 + 2.0, 1.0f, 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);
gSPDisplayList(gMasterGfxPos++, D_E009EDF0[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,6 +1,78 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09003F98[];
extern Gfx D_09004010[];
extern Gfx D_09004088[];
extern Gfx D_09004100[];
extern Gfx D_09004178[];
extern Gfx D_090041F0[];
extern Gfx D_09004268[];
extern Gfx D_09004360[];
extern Gfx D_09004458[];
extern Gfx D_09004508[];
extern Gfx D_09004600[];
Gfx* D_E0116C60[] = { D_09004458 };
Gfx* D_E0116C64[] = { D_09004600 };
Gfx* D_E0116C68[] = { D_09004360 };
Gfx* D_E0116C6C[] = { D_09004508 };
Gfx* D_E0116C70[] = {
D_09003F98, D_09004010, D_09004088,
D_09004100, D_09004178, D_090041F0,
D_09004268
};
Color_RGB8 D_E0116C8C[] = {
{ 255, 224, 65 },
{ 244, 227, 72 },
{ 211, 220, 22 },
{ 152, 214, 222 },
{ 211, 138, 239 },
{ 231, 174, 219 },
{ 255, 200, 11 },
{ 0, 0, 0 }
};
s16 D_E0116CA4[] = {
0x0000, 0x003C, 0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x003C, 0x0078, 0x00B4,
0x00F0, 0x012C, 0x0000, 0x003C, 0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x003C,
0x0078, 0x00B4, 0x00F0, 0x012C, 0x0000, 0x001E, 0x003C, 0x005A, 0x0078, 0x0096,
0x00B4, 0x00D2, 0x00F0, 0x010E, 0x012C, 0x014A, 0x0159, 0x0161, 0x0165, 0x0167,
0x0000
};
s8 D_E0116CF8[] = {
0x02, 0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0xA0, 0xB4, 0xC8, 0xDC, 0xF0, 0xFF
};
s8 D_E0116D08[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0xA0, 0xB4, 0xC8, 0xDC,
0xF0, 0xFF
};
u8 D_E0116D3C[] = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5,
0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1,
0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80
};
u8 D_E0116D6C[] = {
0x32, 0x50, 0x64, 0x69, 0x6B, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C,
0x6C, 0x6B, 0x69, 0x64, 0x5F, 0x5A, 0x55, 0x50, 0x4B, 0x46,
0x41, 0x3C, 0x37, 0x32
};
void something_rotating_init(EffectInstance* effect);
void something_rotating_update(EffectInstance* effect);
void something_rotating_render(EffectInstance* effect);
@ -66,7 +138,111 @@ EffectInstance* something_rotating_main(
void something_rotating_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/something_rotating", something_rotating_update);
void something_rotating_update(EffectInstance* effect) {
SomethingRotatingFXData* part = effect->data.somethingRotating;
f32 unk_04 = part->unk_04;
f32 unk_08 = part->unk_08;
f32 unk_0C = part->unk_0C;
s32 unk_14;
s32 unk_14_2;
f32 factor;
f32 angle1;
s32 i;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
part->unk_10 = 32;
}
if (part->unk_10 < 1000) {
part->unk_10--;
}
part->unk_14++;
if (part->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
unk_14 = part->unk_14;
part->unk_20 = 90.0f;
angle1 = 90.0f;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
f32 angle2 = unk_14 * 4.0f + (f32) i * 51.43;
f32 temp_f24 = shim_sin_deg(angle2);
f32 temp_f22 = part->unk_2C;
part->unk_04 = unk_04 + temp_f22 * shim_sin_deg(angle1) * temp_f24;
part->unk_08 = unk_08 + temp_f22 * shim_cos_deg(angle2);
part->unk_0C = unk_0C + temp_f22 * shim_cos_deg(angle1) * temp_f24;
switch (part->unk_29 - 1) {
case 0:
part->unk_14 = 0;
part->unk_29++;
// fallthrough
case 1:
unk_14_2 = part->unk_14;
if (unk_14_2 < ARRAY_COUNT(D_E0116CA4)) {
part->unk_20 = D_E0116CA4[unk_14_2];
} else {
part->unk_20 = D_E0116CA4[ARRAY_COUNT(D_E0116CA4) - 1];
}
if (unk_14_2 < ARRAY_COUNT(D_E0116CF8)) {
part->unk_24 = D_E0116CF8[unk_14_2];
} else {
part->unk_24 = D_E0116CF8[ARRAY_COUNT(D_E0116CF8) - 1];
}
if (unk_14_2 < ARRAY_COUNT(D_E0116D08)) {
part->unk_25 = D_E0116D08[unk_14_2];
} else {
part->unk_25 = D_E0116D08[ARRAY_COUNT(D_E0116D08) - 1];
}
if (unk_14_2 < ARRAY_COUNT(D_E0116D3C)) {
factor = D_E0116D3C[unk_14_2];
} else {
factor = D_E0116D3C[ARRAY_COUNT(D_E0116D3C) - 1];
}
factor *= 0.0039215686; // 1 / 255
part->unk_26 = factor * D_E0116C8C[i - 1].r;
part->unk_27 = factor * D_E0116C8C[i - 1].g;
part->unk_28 = factor * D_E0116C8C[i - 1].b;
if (unk_14_2 < ARRAY_COUNT(D_E0116D6C)) {
part->unk_18 = (f32) D_E0116D6C[unk_14_2] * 0.01;
} else {
part->unk_18 = (f32) D_E0116D6C[ARRAY_COUNT(D_E0116D6C) - 1] * 0.01;
}
break;
case 2:
part->unk_14 = 0;
part->unk_29++;
// fallthrough
case 3:
unk_14_2 = part->unk_14;
if (unk_14_2 < 18) {
part->unk_2C = (shim_sin_deg(90 - unk_14_2 * 10) + 1.0f) * 50.0f * 0.5;
} else {
part->unk_2C = 0.0f;
part->unk_29++;
}
break;
case 4:
break;
}
part->unk_14++;
}
}
void something_rotating_render(EffectInstance* effect) {
RenderTask renderTask;
@ -81,6 +257,25 @@ void something_rotating_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/something_rotating", func_E01166E8);
void func_E01166E8(s32 arg0, SomethingRotatingFXData* part) {
f32 temp;
Matrix4f sp20;
Matrix4f sp60;
if (arg0 == 0) {
temp = gCameras[gCurrentCameraID].currentYaw;
} else {
temp = 0.0f;
}
shim_guPositionF(sp20, 0.0f, part->unk_20 - temp, 0.0f, part->unk_18, part->unk_04 + 2.0f, part->unk_08, part->unk_0C + 2.0f);
shim_guRotateF(sp60, part->unk_1C, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guTranslateF(sp60, 0.0f, 0.0f, -2.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
}
INCLUDE_ASM(s32, "effects/something_rotating", something_rotating_appendGfx);

View File

@ -1,14 +1,150 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx* D_09000440_34EBB0[];
extern Gfx* D_090004E8_34EC58[];
void spiky_white_aura_init(EffectInstance* effect);
void spiky_white_aura_update(EffectInstance* effect);
void spiky_white_aura_render(EffectInstance* effect);
void spiky_white_aura_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/spiky_white_aura", spiky_white_aura_main);
void spiky_white_aura_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
EffectInstance* effect;
SpikyWhiteAuraFXData* part;
s32 numParts = 5;
f32 fs1 = 0.0f;
f32 fs2 = -1.0f;
f32 fs3 = 0.0f;
f32 var_f0;
f32 var_f2;
f32 var_f4;
f32 temp_f12;
f32 sinYaw;
f32 cosYaw;
f32 rotateA;
Matrix4f sp30;
s32 i;
void spiky_white_aura_init(void) {
temp_f12 = SQ(fs3) + SQ(fs2) + SQ(fs1);
if (temp_f12 != 0.0f) {
temp_f12 = -1.0f / shim_sqrtf(temp_f12);
fs3 *= temp_f12;
fs2 *= temp_f12;
fs1 *= temp_f12;
if (fs1 != 0.0f) {
var_f0 = temp_f12 / fs1;
var_f2 = 1.0f;
var_f4 = 0.0f;
} else if (fs2 != 0.0f) {
var_f2 = -fs1 / fs2;
var_f0 = 1.0f;
var_f4 = 0.0f;
} else {
var_f4 = -fs1 / fs3;
var_f2 = 0.0f;
var_f0 = 1.0f;
}
temp_f12 = SQ(var_f0) + SQ(var_f2) + SQ(var_f4);
if (temp_f12 != 0.0f) {
temp_f12 = 1.0 / shim_sqrtf(temp_f12);
fs3 *= 18.0f;
fs2 *= 18.0f;
fs1 *= 18.0f;
bpPtr->init = spiky_white_aura_init;
bpPtr->update = spiky_white_aura_update;
bpPtr->renderWorld = spiky_white_aura_render;
bpPtr->unk_00 = 0;
bpPtr->unk_14 = NULL;
bpPtr->effectID = EFFECT_SPIKY_WHITE_AURA;
effect = shim_create_effect_instance(bpPtr);
effect->numParts = numParts;
part = effect->data.spikyWhiteAura = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.spikyWhiteAura != NULL);
for (i = 0; i < numParts; i++, part++) {
Camera* camera = &gCameras[gCurrentCameraID]; // required to match
f32 (*matrix)[4] = &sp30[0]; // required to match
part->unk_00 = arg0;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
sinYaw = shim_sin_deg(gCameras[gCurrentCameraID].currentYaw);
cosYaw = -shim_cos_deg(gCameras[gCurrentCameraID].currentYaw);
if (numParts != 1) {
rotateA = (i * 100) / (numParts - 1) - 50;
} else {
rotateA = 0.0f;
}
shim_guRotateF(matrix, rotateA, sinYaw, 0.0f, cosYaw);
part->unk_10 = (sp30[0][0] * fs3 + sp30[1][0] * fs2 + sp30[2][0] * fs1) * 0.6;
part->unk_14 = sp30[0][1] * fs3 + sp30[1][1] * fs2 + sp30[2][1] * fs1;
part->unk_18 = (sp30[0][2] * fs3 + sp30[1][2] * fs2 + sp30[2][2] * fs1) * 0.6;
part->unk_1C = 50 - (i * 100) / (numParts - 1);
part->unk_20 = 0.5f;
part->unk_28 = arg4;
part->unk_2C = 0;
part->unk_24 = 0;
}
}
}
}
INCLUDE_ASM(s32, "effects/spiky_white_aura", spiky_white_aura_update);
void spiky_white_aura_init(EffectInstance* effect) {
}
void spiky_white_aura_update(EffectInstance* effect) {
SpikyWhiteAuraFXData* part = effect->data.spikyWhiteAura;
s32 unk_28;
s32 unk_2C;
s32 i;
part->unk_28--;
part->unk_2C++;
if (part->unk_28 < 0) {
shim_remove_effect(effect);
return;
}
unk_28 = part->unk_28;
unk_2C = part->unk_2C;
for (i = 0; i < effect->numParts; i++, part++) {
if (unk_28 >= 6) {
part->unk_10 *= 0.8;
part->unk_14 *= 0.8;
part->unk_18 *= 0.8;
part->unk_24 += (255 - part->unk_24) * 0.4;
part->unk_20 = shim_sin_deg(part->unk_24 / 2) * 3.0f + shim_sin_deg(unk_2C * 30.0f);
}
if (unk_28 < 5) {
part->unk_24 *= 0.6;
part->unk_10 *= 0.7;
part->unk_14 *= 0.7;
part->unk_18 *= 0.7;
part->unk_20 = shim_sin_deg(part->unk_24 / 2) * 3.0f + shim_sin_deg(unk_2C * 30.0f) + (255 - part->unk_24) / 30.0f;
}
part->unk_04 += part->unk_10;
part->unk_08 += part->unk_14;
part->unk_0C += part->unk_18;
}
}
void spiky_white_aura_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +159,29 @@ void spiky_white_aura_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/spiky_white_aura", spiky_white_aura_appendGfx);
void spiky_white_aura_appendGfx(void* effect) {
SpikyWhiteAuraFXData* part = ((EffectInstance*)effect)->data.spikyWhiteAura;
Matrix4f sp18;
Matrix4f sp58;
s32 i;
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09000440_34EBB0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 255, part->unk_24);
for (i = 0; i < ((EffectInstance*)effect)->numParts; i++, part++) {
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, sp18);
shim_guRotateF(sp58, part->unk_1C, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, part->unk_20, part->unk_20, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gDPPipeSync(gMasterGfxPos++);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090004E8_34EC58);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}

View File

@ -1,14 +1,101 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_090042E0[];
extern Gfx* D_E0112630[];
extern Gfx* D_E0112638[];
extern Gfx* D_E0112640[];
void spirit_card_init(EffectInstance* effect);
void spirit_card_update(EffectInstance* effect);
void spirit_card_render(EffectInstance* effect);
void spirit_card_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/spirit_card", spirit_card_main);
EffectInstance* spirit_card_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5)
{
EffectBlueprint bp;
EffectInstance* effect;
SpiritCardFXData* data;
s32 numParts = 1;
void spirit_card_init(void) {
bp.init = spirit_card_init;
bp.update = spirit_card_update;
bp.renderWorld = spirit_card_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_SPIRIT_CARD;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.spiritCard = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.spiritCard != NULL);
data->unk_00 = arg0;
data->unk_14 = 0;
if (arg5 <= 0) {
data->unk_10 = 1000;
} else {
data->unk_10 = arg5;
}
data->pos.x = arg1;
data->pos.y = arg2;
data->pos.z = arg3;
data->unk_18 = arg4;
data->yaw = 0;
data->chapter = 0;
data->unk_20 = 30.0f;
if (arg0 == 0) {
shim_load_effect(EFFECT_RING_BLAST);
ring_blast_main(1, data->pos.x, data->pos.y, data->pos.z, 3.0f, 30);
}
if (arg0 < 2) {
shim_load_effect(EFFECT_MISC_PARTICLES);
data->unk_1C = misc_particles_main(3, arg1, arg2 - arg4 * 30.0f, arg3, arg4 * 30.0f, arg4 * 50.0f, 1.0f, 16, 0);
} else {
data->unk_1C = NULL;
}
return effect;
}
INCLUDE_ASM(s32, "effects/spirit_card", spirit_card_update);
void spirit_card_init(EffectInstance* effect) {
}
void spirit_card_update(EffectInstance* effect) {
SpiritCardFXData* data = effect->data.spiritCard;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_10 = 16;
}
if (data->unk_10 < 1000) {
data->unk_10--;
}
data->unk_14++;
if (data->unk_10 < 0) {
shim_remove_effect(effect);
if (data->unk_1C != NULL) {
data->unk_1C->flags |= 0x10;
}
} else if (data->unk_10 >= 16 && data->unk_1C != NULL) {
data->unk_1C->data.miscParticles->scaleX = data->unk_18 * 30.0f;
data->unk_1C->data.miscParticles->scaleY = data->unk_18 * 50.0f;
data->unk_1C->data.miscParticles->pos.x = data->pos.x;
data->unk_1C->data.miscParticles->pos.y = data->pos.y - data->unk_18 * 30.0f;
data->unk_1C->data.miscParticles->pos.z = data->pos.z;
}
}
void spirit_card_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,6 +110,44 @@ void spirit_card_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/spirit_card", func_E0112330);
void func_E0112330(s32 arg0, SpiritCardFXData* data) {
f32 temp;
Matrix4f sp20;
Matrix4f sp60;
INCLUDE_ASM(s32, "effects/spirit_card", spirit_card_appendGfx);
if (arg0 == 0) {
temp = gCameras[gCurrentCameraID].currentYaw;
} else {
temp = 0.0f;
}
shim_guPositionF(sp20, 0.0f, data->yaw - temp, 0.0f, data->unk_18, data->pos.x + 2.0f, data->pos.y, data->pos.z + 2.0f);
shim_guRotateF(sp60, data->unk_20, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guTranslateF(sp60, 0.0f, 0.0f, -2.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
}
void spirit_card_appendGfx(void* effect) {
SpiritCardFXData* data = ((EffectInstance*)effect)->data.spiritCard;
s32 unk_00 = data->unk_00;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_090042E0);
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, 255);
if (unk_00 < 2) {
func_E0112330(0, data);
gSPDisplayList(gMasterGfxPos++, D_E0112638[0]);
gSPDisplayList(gMasterGfxPos++, D_E0112640[data->chapter]);
gSPDisplayList(gMasterGfxPos++, D_E0112630[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -3,14 +3,139 @@
s32 D_E00B2BA0[] = { 0xFFFFFFFF, 0xFFFFFFFF, 0xFFC88020, 0x00000000 };
void squirt_init(EffectInstance* effect);
void squirt_update(EffectInstance* effect);
void squirt_render(EffectInstance* effect);
void squirt_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/squirt", squirt_main);
EffectInstance* squirt_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8) {
EffectBlueprint bp;
EffectInstance* effect;
SquirtFXData* data;
s32 numParts = 1;
s32 i;
void squirt_init(void) {
bp.init = squirt_init;
bp.update = squirt_update;
bp.renderWorld = squirt_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_SQUIRT;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.squirt = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.squirt != NULL);
data->unk_00 = arg0;
data->unk_30 = 0;
if (arg8 <= 0) {
data->unk_2C = 1000;
} else if (arg0 == 0) {
data->unk_2C = arg8 * 2;
} else {
data->unk_2C = arg8 * 4;
}
data->unk_28 = arg8;
if (arg0 == 0) {
data->unk_40 = 200;
} else {
data->unk_40 = 255;
}
data->unk_10 = arg1;
data->unk_14 = arg2;
data->unk_18 = arg3;
data->unk_04 = data->unk_10;
data->unk_08 = data->unk_14;
data->unk_0C = data->unk_18;
data->unk_1C = arg4;
data->unk_20 = arg5;
data->unk_24 = arg6;
data->unk_50 = arg7;
data->unk_34 = 210;
data->unk_38 = 230;
data->unk_3C = 255;
data->unk_44 = 0;
data->unk_48 = 30;
data->unk_4C = 205;
data->unk_54 = 0;
for (i = 0; i < 12; i++) {
data->unk_58[i] = 10.0f;
data->unk_88[i] = 2.0f;
data->unk_B8[i] = 0;
if (arg0 == 0) {
data->unk_178[i] = i + 1;
} else {
data->unk_178[i] = i * 5 + 1;
}
data->unk_E8[i] = data->unk_04;
data->unk_118[i] = data->unk_08;
data->unk_148[i] = data->unk_0C;
data->unk_1A8[i] = 0;
}
return effect;
}
INCLUDE_ASM(s32, "effects/squirt", squirt_update);
void squirt_init(EffectInstance* effect) {
}
void squirt_update(EffectInstance* effect) {
SquirtFXData* data = effect->data.squirt;
s32 unk_00 = data->unk_00;
s32 unk_28;
s32 var_v1;
f32 factor;
s32 i;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_2C = 16;
}
if (data->unk_2C < 1000) {
data->unk_2C--;
}
data->unk_30++;
if (data->unk_2C < 0) {
shim_remove_effect(effect);
return;
}
unk_28 = data->unk_28;
data->unk_54++;
if (data->unk_54 > 12) {
data->unk_54 = 12;
}
for (i = 0; i < 12; i++) {
if (data->unk_178[i] == 0 || --data->unk_178[i] == 0) {
data->unk_1A8[i]++;
if (data->unk_1A8[i] >= unk_28) {
var_v1 = unk_28;
} else {
var_v1 = data->unk_1A8[i];
}
factor = (f32) var_v1 / unk_28;
if (unk_00 == 0) {
data->unk_E8[i] = data->unk_10 + (data->unk_1C - data->unk_10) * factor;
data->unk_118[i] = data->unk_14 + (data->unk_20 - data->unk_14) * factor;
data->unk_148[i] = data->unk_18 + (data->unk_24 - data->unk_18) * factor;
} else {
data->unk_E8[i] = data->unk_10 + (data->unk_1C - data->unk_10) * factor;
data->unk_118[i] = data->unk_14 + (data->unk_20 - data->unk_14) * factor + shim_sin_deg(factor * 180.0f) * 120.0f;
data->unk_148[i] = data->unk_18 + (data->unk_24 - data->unk_18) * factor;
data->unk_1D8[i] = 255.0f - factor * 255.0f;
}
}
}
}
void squirt_render(EffectInstance* effect) {
RenderTask renderTask;

View File

@ -1,10 +1,11 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09001530[];
extern Gfx D_09001650[];
extern Gfx D_09001780[];
extern Gfx D_090017D0[];
extern Vtx_t D_09001400_333AA0[];
extern Gfx D_09001530_333BD0[];
extern Gfx D_09001650_333CF0[];
extern Gfx D_09001780_333E20[];
extern Gfx D_090017D0_333E70[];
void star_init(EffectInstance* effect);
void star_update(EffectInstance* effect);
@ -198,4 +199,69 @@ void star_render(EffectInstance* effect) {
retTask = shim_queue_render_task(&renderTask);
}
INCLUDE_ASM(s32, "effects/star", star_appendGfx);
void star_appendGfx(void* effect) {
StarFXData* data = ((EffectInstance*)effect)->data.star;
f32 unk_240 = data->unk_240;
s32 unk_38 = data->unk_38;
s32 unk_244 = data->unk_244;
s32 unk_248 = data->unk_248;
s32 unk_24C = data->unk_24C;
s32 idx;
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, unk_240, data->unk_04, data->unk_08, data->unk_0C);
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);
gDPSetPrimColor(gMasterGfxPos++, 0, 80, unk_244, unk_248, unk_24C, 255);
gDPSetEnvColor(gMasterGfxPos++, 127, 127, 127, 127);
gSPDisplayList(gMasterGfxPos++, (data->unk_38 >= 2) ? D_09001650_333CF0 : D_09001530_333BD0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
if (unk_38 == 3) {
gSPDisplayList(gMasterGfxPos++, D_090017D0_333E70);
} else {
gSPDisplayList(gMasterGfxPos++, D_09001780_333E20);
}
data->unk_3C++;
if (data->unk_3C >= 8) {
data->unk_3C = 0;
}
if (data->unk_1C <= 1.0f) {
s32 baseIdx = (data->unk_3C + 5) % 8;
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, unk_240, data->unk_04, data->unk_08, data->unk_0C);
shim_guRotateF(sp60, data->unk_20, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &data->unk_40[data->unk_3C]);
for (i = 0; i < 5; i++) {
idx = (baseIdx - i + 8) % 8;
gDisplayContext->matrixStack[gMatrixListPos] = data->unk_40[idx];
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPVertex(gMasterGfxPos++, &D_09001400_333AA0[i * 2], 2, i * 2);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
for (i = 0; i < 4; i++) {
s32 i2 = i * 2;
gSP2Triangles(gMasterGfxPos++,
i2 , i2 + 1, i2 + 2, i2,
i2 + 1, i2 + 3, i2 + 2, i2 + 1);
}
gDPPipeSync(gMasterGfxPos++);
}
}

View File

@ -1,11 +1,102 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09004E00_412090[];
extern Gfx D_09005168_4123F8[];
extern Gfx D_090051C8_412458[];
extern Gfx D_09005370_412600[];
extern Gfx D_090053D0_412660[];
extern Gfx D_09005440_4126D0[];
Gfx* D_E0122B90[] = {
D_09005168_4123F8, D_090051C8_412458, D_09005370_412600, D_090053D0_412660
};
Gfx* D_E0122BA0[] = { D_09005440_4126D0 };
Gfx* D_E0122BA4[] = { D_09004E00_412090 };
s32 D_E0122BA8[] = {
0x006400FF, 0x00C800FF, 0x012C00FF, 0x019000FF, 0x01F400F5, 0x025800EB,
0x02BC00E1, 0x032000D7, 0x038400CD, 0x03E800C3, 0x044C00B9, 0x04B000AF,
0x051400A5, 0x0578009B, 0x05DC0091, 0x06400087, 0x06A4007D, 0x07080073,
0x076C0069, 0x07D0005F, 0x08340055, 0x0898004B, 0x08FC0041, 0x09600037,
0x09C4002D, 0x0A28001E, 0x0A8C0014, 0x0AF0000A, 0x0B540005, 0x0BB80000
};
s32 D_E0122C20[] = {
0x0BB80000, 0x0B540005, 0x0AF0000A, 0x0A8C0014, 0x0A28001E, 0x09C4002D, 0x09600037, 0x08FC0041,
0x0898004B, 0x08340055, 0x07D0005F, 0x076C0069, 0x07080073, 0x06A4007D, 0x06400087, 0x05DC0091,
0x0578009B, 0x051400A5, 0x04B000AF, 0x044C00B9, 0x03E800C3, 0x038400CD, 0x032000D7, 0x02BC00E1,
0x025800EB, 0x01F400F5, 0x019000FF, 0x012C00FF, 0x00C800FF, 0x006400FF, 0x00000000, 0x00000000
};
void star_spirits_energy_init(EffectInstance* effect);
void star_spirits_energy_update(EffectInstance* effect);
void star_spirits_energy_render(EffectInstance* effect);
void star_spirits_energy_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/star_spirits_energy", star_spirits_energy_main);
EffectInstance* star_spirits_energy_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
EffectInstance* effect;
StarSpiritsEnergyFXData* data;
s32 numParts = 1;
void star_spirits_energy_init(void) {
bp.init = star_spirits_energy_init;
bp.update = star_spirits_energy_update;
bp.renderWorld = star_spirits_energy_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_STAR_SPIRITS_ENERGY;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.starSpiritsEnergy = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.starSpiritsEnergy != NULL);
data->unk_00 = arg0 & 0xFF00;
arg0 &= 0xFF;
data->unk_04 = arg0;
data->unk_18 = 0;
if (arg5 <= 0) {
data->unk_14 = 1000;
} else {
data->unk_14 = arg5;
}
data->unk_28 = 255;
data->unk_08 = arg1;
data->unk_0C = arg2;
data->unk_10 = arg3;
data->unk_3C = arg4;
data->unk_1C = 255;
data->unk_20 = 255;
data->unk_24 = 255;
data->unk_2C = 255;
data->unk_30 = 255;
data->unk_34 = 255;
data->unk_38 = 255;
data->unk_60 = 0;
data->unk_64 = 0;
data->unk_68 = 0;
data->unk_6C = 0;
data->unk_40[0] = 1.0f;
data->unk_40[1] = 0;
data->unk_40[2] = 0;
data->unk_40[3] = 0;
data->unk_50[0] = 255;
data->unk_50[1] = 0;
data->unk_50[2] = 0;
data->unk_50[3] = 0;
if (arg0 == 3) {
data->unk_70 = 1;
} else {
data->unk_70 = 0;
}
data->unk_74 = 0;
return effect;
}
void star_spirits_energy_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/star_spirits_energy", star_spirits_energy_update);
@ -23,4 +114,55 @@ void star_spirits_energy_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/star_spirits_energy", star_spirits_energy_appendGfx);
void star_spirits_energy_appendGfx(void* effect) {
StarSpiritsEnergyFXData* data = ((EffectInstance*)effect)->data.starSpiritsEnergy;
s32 unk_04 = data->unk_04;
s32 alpha;
Matrix4f sp20;
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_3C, data->unk_08, data->unk_0C, data->unk_10);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E0122BA4[0]);
gDPSetEnvColor(gMasterGfxPos++, data->unk_2C, data->unk_30, data->unk_34, data->unk_38);
for (i = 0; i < 4; i++) {
if (unk_04 != 1 || i != 2) {
if (data->unk_40[i] != 0.0f && data->unk_50[i] != 0) {
shim_guPositionF(sp20, 0.0f, 0.0f, 0.0f, data->unk_40[i], 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);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_1C, data->unk_20, data->unk_24, data->unk_50[i]);
gSPDisplayList(gMasterGfxPos++, D_E0122B90[i]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
if (unk_04 == 2 || unk_04 == 3) {
alpha = 0;
if ((data->unk_70 == 1 || data->unk_70 == 100) && data->unk_74 > 2 && data->unk_74 < 11) {
alpha = 255 - (data->unk_74 - 2) * 30;
}
if (data->unk_70 == 5 && data->unk_74 > 0 && data->unk_74 < 9) {
alpha = 255 - data->unk_74 * 30;
}
if (alpha > 0) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 208, 208, 208, alpha);
gSPDisplayList(gMasterGfxPos++, D_E0122BA0[0]);
}
}
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,16 +1,141 @@
#include "common.h"
#include "effects_internal.h"
INCLUDE_ASM(s32, "effects/stars_orbiting", stars_orbiting_main);
extern Gfx D_09000440_363090[];
extern Gfx D_090004F0_363140[];
void stars_orbiting_init(void) {
Gfx* D_E005E670[] = { D_090004F0_363140 };
Gfx* D_E005E674[] = { D_09000440_363090 };
void stars_orbiting_init(EffectInstance* effect);
void stars_orbiting_update(EffectInstance* effect);
void stars_orbiting_render(EffectInstance* effect);
void func_E005E318(EffectInstance* effect);
void func_E005E334(EffectInstance* effect);
void stars_orbiting_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5,
EffectInstance** outEffect
) {
EffectBlueprint bp;
EffectInstance* effect;
StarsOrbitingFXData* part;
s32 i;
arg5++;
bp.init = stars_orbiting_init;
bp.update = stars_orbiting_update;
bp.renderWorld = stars_orbiting_render;
bp.unk_00 = 0;
bp.unk_14 = func_E005E318;
bp.effectID = EFFECT_STARS_ORBITING;
effect = shim_create_effect_instance(&bp);
effect->numParts = arg5;
part = effect->data.starsOrbiting = shim_general_heap_malloc(arg5 * sizeof(*part));
ASSERT(effect->data.starsOrbiting != NULL);
shim_mem_clear(part, arg5 * sizeof(*part));
part->unk_00 = arg0;
part->pos.x = arg1;
part->pos.y = arg2;
part->pos.z = arg3;
part->unk_10 = 0;
part->unk_24 = 0;
part->unk_14 = arg4;
part->unk_28 = 1;
part++;
for (i = 1; i < arg5; i++, part++) {
part->pos.x = 0;
part->pos.y = 0;
part->pos.z = 0;
part->unk_18 = (i - 1) * 360 / (arg5 - 1);
part->unk_1C = 20.0f;
part->unk_20 = 0;
part->unk_24 = (i - 1) * 360 / (arg5 - 1);
}
*outEffect = effect;
}
INCLUDE_ASM(s32, "effects/stars_orbiting", stars_orbiting_update);
void stars_orbiting_render(void) {
void stars_orbiting_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/stars_orbiting", func_E005E318);
void stars_orbiting_update(EffectInstance* effect) {
StarsOrbitingFXData* part = effect->data.starsOrbiting;
f32 unk_10;
s32 i;
INCLUDE_ASM(s32, "effects/stars_orbiting", func_E005E334);
if (part->unk_28 != 0) {
part->unk_24++;
part->unk_10 += (part->unk_14 - part->unk_10) * 0.1;
unk_10 = part->unk_10;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->pos.x = unk_10 * shim_sin_deg(part->unk_24);
part->pos.z = unk_10 * shim_cos_deg(part->unk_24) * shim_cos_deg(part->unk_20);
part->pos.y = unk_10 * shim_cos_deg(part->unk_24) * shim_sin_deg(part->unk_20);
part->unk_18 += part->unk_1C;
part->unk_20 = 0.0f;
part->unk_24 += 16;
if (part->unk_24 > 360) {
part->unk_24 -= 360;
}
}
}
}
void stars_orbiting_render(EffectInstance* effect) {
}
void func_E005E318(EffectInstance* effect) {
func_E005E334(effect);
}
void func_E005E334(EffectInstance* effect) {
StarsOrbitingFXData* part = effect->data.starsOrbiting;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
s32 i;
if (part->unk_28 != 0) {
Gfx* dlist = D_E005E670[0];
Gfx* dlist2 = D_E005E674[0];
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, dlist2);
shim_guTranslateF(sp18, part->pos.x, part->pos.y, part->pos.z);
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, 220, 220, 40, 255);
part++;
for (i = 1; i < effect->numParts; i++, part++) {
shim_guTranslateF(sp18, part->pos.x, part->pos.y, part->pos.z);
shim_guRotateF(sp58, part->unk_18, 0.0f, 0.0f, 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);
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}

View File

@ -17,11 +17,35 @@ typedef struct ArrowDataTableEntry {
s32 value;
} ArrowDataTableEntry;
s32 D_E00AC7B0[] = { 0x09002700, 0x09002700, 0x09002798 };
extern Gfx D_09002700_3B1E00[];
extern Gfx D_09002798_3B1E98[];
extern Gfx D_09002860_3B1F60[];
extern Gfx D_09002880_3B1F80[];
extern Gfx D_090028A0_3B1FA0[];
extern Gfx D_090028C0_3B1FC0[];
extern Gfx D_090028E0_3B1FE0[];
extern Gfx D_09002950_3B2050[];
extern Gfx D_09002990_3B2090[];
extern Gfx D_090029D0_3B20D0[];
extern Gfx D_09002A10_3B2110[];
extern Gfx D_09002A50_3B2150[];
extern Gfx D_09002A90_3B2190[];
extern Gfx D_09002AD0_3B21D0[];
extern Gfx D_09002B10_3B2210[];
extern Gfx D_09002B50_3B2250[];
extern Gfx D_09002B90_3B2290[];
extern Gfx D_09002BD0_3B22D0[];
extern Gfx D_09002C10_3B2310[];
s32 D_E00AC7BC[] = { 0x09002860, 0x09002880, 0x09002860 };
Gfx* D_E00AC7B0[] = { D_09002700_3B1E00, D_09002700_3B1E00, D_09002798_3B1E98 };
s32 D_E00AC7C8[] = { 0x09002950, 0x09002990, 0x090029D0, 0x09002A10, 0x09002A50, 0x09002A90, 0x09002AD0, 0x09002B10, 0x09002B50, 0x09002B90, 0x09002BD0, 0x09002C10 };
Gfx* D_E00AC7BC[] = { D_09002860_3B1F60, D_09002880_3B1F80, D_09002860_3B1F60 };
Gfx* D_E00AC7C8[] = {
D_09002950_3B2050, D_09002990_3B2090, D_090029D0_3B20D0, D_09002A10_3B2110,
D_09002A50_3B2150, D_09002A90_3B2190, D_09002AD0_3B21D0, D_09002B10_3B2210,
D_09002B50_3B2250, D_09002B90_3B2290, D_09002BD0_3B22D0, D_09002C10_3B2310
};
ExtraArrowDataEntry D_E00AC7F8[] = {
{ .unk_00 = 0xFF, .unk_01 = 0x96 },
@ -209,4 +233,66 @@ void func_E00AC288(EffectInstance* effect) {
func_E00AC2A4(effect);
}
INCLUDE_ASM(s32, "effects/stat_change", func_E00AC2A4);
void func_E00AC2A4(EffectInstance* effect) {
StatChangeFXData* data = effect->data.statChange;
s32 arrowType = data->arrowType;
s32 arrowValue = data->arrowValue;
s32 idx;
Matrix4f sp20;
Matrix4f sp60;
if (data->scaleX != 0.0f && data->scaleY != 0.0f) {
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->scale, 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->unk_24 == 255) {
gDPSetRenderMode(gMasterGfxPos++, AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c1(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM), AA_EN | CVG_DST_FULL | ZMODE_OPA | CVG_X_ALPHA | GBL_c2(G_BL_CLR_IN, G_BL_A_IN, G_BL_CLR_MEM, G_BL_A_MEM));
gDPSetCombineMode(gMasterGfxPos++, G_CC_MODULATEIDECALA, G_CC_MODULATEIDECALA);
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, PRIMITIVE, 0, TEXEL0, 0, TEXEL0, 0, SHADE, 0, PRIMITIVE, 0, TEXEL0, 0);
}
shim_guTranslateF(sp20, 0.0f, data->unk_40, 0.0f);
shim_guScaleF(sp60, data->scaleX, data->scaleY, 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);
gSPDisplayList(gMasterGfxPos++, D_E00AC7B0[arrowType]);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, data->unk_24);
gSPDisplayList(gMasterGfxPos++, D_E00AC7BC[arrowType]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090028E0_3B1FE0);
shim_guTranslateF(sp20, 0.0f, data->unk_3C, 0.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (arrowValue < 0) {
idx = -arrowValue;
} else {
idx = arrowValue;
}
gSPDisplayList(gMasterGfxPos++, D_E00AC7C8[idx % 10]);
gSPDisplayList(gMasterGfxPos++, D_090028C0_3B1FC0);
if (arrowValue >= 0) {
gSPDisplayList(gMasterGfxPos++, D_E00AC7C8[11]);
} else {
gSPDisplayList(gMasterGfxPos++, D_E00AC7C8[10]);
}
gSPDisplayList(gMasterGfxPos++, D_090028A0_3B1FA0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}
}

View File

@ -1,14 +1,176 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000280_3E1550[];
extern Gfx D_090003A0_3E1670[];
Gfx* D_E00E6880[] = { D_090003A0_3E1670, D_090003A0_3E1670 };
Gfx* D_E00E6888[] = { D_09000280_3E1550, D_09000280_3E1550 };
s32 D_E00E6890[] = { 24, 12 };
f32 D_E00E6898[] = {
0.9f, 1.0f, 1.0f, 0.9f, 0.85f, 0.8f, 0.75f, 0.7f, 0.65f, 0.6f, 0.55f, 0.5f,
0.45f, 0.4f, 0.35f, 0.3f, 0.25f, 0.2f, 0.15f, 0.1f, 0.05f, 0.03f, 0.02f, 0.01f
};
u8 D_E00E68F8[] = {
0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
};
f32 D_E00E6910[] = {
0.9f, 1.0f, 1.0f, 0.9f, 0.8f, 0.7f, 0.6f, 0.5f, 0.4f, 0.3f, 0.2f, 0.1f,
0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f
};
u8 D_E00E6970[] = {
0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void static_status_init(EffectInstance* effect);
void static_status_update(EffectInstance* effect);
void static_status_render(EffectInstance* effect);
void static_status_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/static_status", static_status_main);
EffectInstance* static_status_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5,
s32 arg6)
{
EffectBlueprint bp;
EffectInstance* effect;
StaticStatusFXData* part;
f32 temp_f0;
s32 i;
void static_status_init(void) {
arg5++;
bp.init = static_status_init;
bp.update = static_status_update;
bp.renderWorld = static_status_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_STATIC_STATUS;
effect = shim_create_effect_instance(&bp);
effect->numParts = arg5;
part = effect->data.staticStatus = shim_general_heap_malloc(arg5 * sizeof(*part));
ASSERT(effect->data.staticStatus != NULL);
part->unk_00 = arg0;
part->unk_2C = 0;
if (arg6 <= 0) {
part->unk_28 = 1000;
} else {
part->unk_28 = arg6;
}
part->unk_30 = 255;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
part->unk_34 = arg4;
temp_f0 = D_E00E6890[arg0] * 0.5f;
part++;
for (i = 1; i < arg5; i++, part++) {
part->unk_20 = -1.0f - temp_f0 * (i & 1);
}
return effect;
}
INCLUDE_ASM(s32, "effects/static_status", static_status_update);
void static_status_init(EffectInstance* effect) {
}
void static_status_update(EffectInstance* effect) {
StaticStatusFXData* part = effect->data.staticStatus;
s32 unk_00 = part->unk_00;
s32 unk_28;
s32 unk_2C;
f32 var_fs1;
f32 var_fs2;
f32 angle;
s32 i;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
part->unk_28 = 16;
}
if (part->unk_28 < 1000) {
part->unk_28--;
}
part->unk_2C++;
if (part->unk_28 < 0) {
shim_remove_effect(effect);
return;
}
unk_28 = part->unk_28;
unk_2C = part->unk_2C;
if (unk_28 < 16) {
part->unk_30 = unk_28 * 16;
}
if (unk_00 == 0) {
var_fs2 = 0.1f;
var_fs1 = 0.2f;
} else {
var_fs2 = 0.2f;
var_fs1 = 0.2f;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_20++;
if (part->unk_20 >= D_E00E6890[unk_00]) {
part->unk_20 = 0;
}
if (part->unk_20 >= 0) {
if (part->unk_20 == 0) {
angle = (i * 360.0f) / (effect->numParts - 1);
part->unk_04 = shim_sin_deg(angle) * 16.0f;
part->unk_08 = shim_cos_deg(angle) * 16.0f;
part->unk_10 = part->unk_04 * var_fs2;
part->unk_14 = part->unk_08 * var_fs2;
part->unk_18 = 0.0f;
part->unk_1C = 0.0f;
part->unk_34 = 1.0f;
part->unk_24 = -angle - 45.0f;
}
if (unk_00 == 0) {
part->unk_30 = D_E00E68F8[part->unk_20];
part->unk_34 = D_E00E6898[part->unk_20];
} else {
part->unk_30 = D_E00E6970[part->unk_20];
part->unk_34 = D_E00E6910[part->unk_20];
}
if ((unk_2C & 1) == (i & 1)) {
part->unk_04 += part->unk_10;
part->unk_08 += part->unk_14;
} else {
part->unk_04 += part->unk_10 * 0.2;
part->unk_08 += part->unk_14 * 0.2;
}
part->unk_10 += (part->unk_18 - part->unk_10) * var_fs1;
part->unk_14 += (part->unk_1C - part->unk_14) * var_fs1;
}
}
}
void static_status_render(EffectInstance* effect) {
RenderTask renderTask;
@ -26,4 +188,39 @@ void static_status_render(EffectInstance* effect) {
void func_E00E651C(void) {
}
INCLUDE_ASM(s32, "effects/static_status", static_status_appendGfx);
void static_status_appendGfx(void* effect) {
StaticStatusFXData* part = ((EffectInstance*)effect)->data.staticStatus;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_30 = part->unk_30;
s32 unk_00 = part->unk_00;
Matrix4f sp20;
Matrix4f sp60;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp20, part->unk_04, part->unk_08, part->unk_0C);
shim_guScaleF(sp60, part->unk_34, part->unk_34, part->unk_34);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E00E6888[unk_00]);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
if (part->unk_20 >= 0) {
shim_guPositionF(sp20, 0.0f, 0.0f, part->unk_24, part->unk_34, part->unk_04, part->unk_08, 0.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, (unk_30 * part->unk_30) >> 8);
gSPDisplayList(gMasterGfxPos++, D_E00E6880[unk_00]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,166 @@
#include "common.h"
#include "effects_internal.h"
typedef struct UnkStruct {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 unk_04;
/* 0x08 */ s32 unk_08;
} UnkStruct; // size = 0xC
extern Gfx D_09001000_3CC890[];
u8 D_E00C49D0[] = { 120, 80, 40, 60 };
u8 D_E00C49D4[] = {
255, 255, 255, 198, 138, 130, 130, 130, 130, 130,
175, 215, 250, 255, 255, 255, 255
};
u8 D_E00C49E8[] = {
130, 130, 130, 130, 130, 165, 213, 255, 255, 255,
255, 255, 255, 225, 198, 159, 130
};
u8 D_E00C49FC[] = {
130, 196, 255, 255, 255, 255, 255, 255, 202, 144,
130, 130, 130, 130, 130, 130, 130
};
UnkStruct D_E00C4A10[] = {
{ -50, -70, 5 },
{ 80, -90, 20 },
{ 20, -50, 45 },
{ -80, 30, 10 },
{ 30, 0, 35 },
{ 120, -30, 50 },
{ 10, 50, 30 },
{ 100, 30, 15 },
{ 40, 100, 40 },
{ 140, 90, 25 }
};
void stop_watch_init(EffectInstance* effect);
void stop_watch_update(EffectInstance* effect);
void stop_watch_render(EffectInstance* effect);
void stop_watch_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/stop_watch", stop_watch_main);
EffectInstance* stop_watch_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
StopWatchFXData* data;
EffectInstance* effect;
s32 numParts = 1;
s32 i;
void stop_watch_init(void) {
bp.init = stop_watch_init;
bp.update = stop_watch_update;
bp.renderWorld = stop_watch_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_STOP_WATCH;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.stopWatch = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.stopWatch != NULL);
data->unk_00 = arg0;
data->unk_14 = 0;
if (arg5 <= 0) {
data->unk_10 = 1000;
} else {
data->unk_10 = arg5;
}
data->unk_24 = 0;
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;
data->unk_2C = 0;
data->unk_30 = 1.0f;
for (i = 0; i < 10; i++) {
data->unk_34[i] = D_E00C4A10[i].unk_00;
data->unk_5C[i] = D_E00C4A10[i].unk_04;
data->unk_84[i] = 0;
data->unk_AC[i] = 0;
data->unk_D4[i] = 0;
data->unk_FC[i] = 0;
data->unk_124[i] = 0;
data->unk_14C[i] = D_E00C4A10[i].unk_08;
}
return effect;
}
INCLUDE_ASM(s32, "effects/stop_watch", stop_watch_update);
void stop_watch_init(EffectInstance* effect) {
}
void stop_watch_update(EffectInstance* effect) {
StopWatchFXData* data = effect->data.stopWatch;
s32 unk_10;
s32 unk_14;
s32 i;
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_10 = data->unk_10;
unk_14 = data->unk_14;
if (unk_10 < 64) {
data->unk_30 -= 0.05;
if (data->unk_30 < 0.0f) {
data->unk_30 = 0.0f;
}
}
if (unk_10 < 32) {
data->unk_2C += 128;
if (data->unk_2C > 255) {
data->unk_2C = 255;
}
data->unk_30 = 0.0f;
}
if (unk_10 < 16) {
data->unk_24 = unk_10 * 16;
}
if (unk_14 < 16) {
data->unk_24 = unk_14 * 16 + 15;
}
for (i = 0; i < 10; i++) {
if (data->unk_14C[i] == 0 || --data->unk_14C[i] == 0) {
data->unk_124[i] += 8;
if (data->unk_124[i] > 255) {
data->unk_124[i] = 255;
}
}
}
}
void stop_watch_render(EffectInstance* effect) {
RenderTask renderTask;
@ -25,4 +177,85 @@ void stop_watch_render(EffectInstance* effect) {
void func_E00C4300(void) {
}
INCLUDE_ASM(s32, "effects/stop_watch", stop_watch_appendGfx);
void stop_watch_appendGfx(void* effect) {
StopWatchFXData* data = ((EffectInstance*)effect)->data.stopWatch;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_14 = data->unk_14;
s32 unk_24 = data->unk_24;
Vtx_t* vtxBuffer;
Gfx* savedGfxPos;
Matrix4f sp20;
Matrix4f sp60;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp20, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp60, data->unk_28, data->unk_28, data->unk_28);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09001000_3CC890);
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, data->unk_2C);
gSPBranchList(gMasterGfxPos, &gMasterGfxPos[65]);
vtxBuffer = (Vtx_t*) (gMasterGfxPos + 1);
gMasterGfxPos = &gMasterGfxPos[65];
for (i = 0; i < 16; i++) {
Vtx_t* vtx = &vtxBuffer[i * 2];
f32 unk_30 = data->unk_30;
s32 temp_s1 = shim_sin_deg(unk_14 * 10 + i * 60) * 500.0f * unk_30;
s32 temp_f0 = shim_sin_deg(unk_14 * 10 + i * 6) * 200.0f * unk_30;
vtx->ob[0] = temp_s1 - 3200;
vtx->ob[1] = i * 400 + temp_f0 - 3000;
vtx->ob[2] = 0;
vtx->tc[0] = 0;
vtx->tc[1] = i * 128;
vtx++;
vtx->ob[0] = temp_s1 + 3200;
vtx->ob[1] = i * 400 + temp_f0 - 3000;
vtx->ob[2] = 0;
vtx->tc[0] = 2048;
vtx->tc[1] = i * 128;
}
gSPBranchList(gMasterGfxPos, &gMasterGfxPos[20]);
gMasterGfxPos++;
savedGfxPos = gMasterGfxPos;
shim_guScaleF(sp20, 0.01f, 0.01f, 0.01f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPVertex(gMasterGfxPos++, vtxBuffer, 32, 0);
for (i = 0; i < 15; i++) {
s32 i2 = i * 2;
gSP2Triangles(gMasterGfxPos++,
i2 , i2 + 2, i2 + 1, i2,
i2 + 1, i2 + 2, i2 + 3, i2);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPEndDisplayList(gMasterGfxPos++);
for (i = 0; i < 10; i++) {
shim_guPositionF(sp20, data->unk_AC[i], data->unk_D4[i], data->unk_FC[i], D_E00C49D0[i % 4] * 0.01, data->unk_34[i], data->unk_5C[i], data->unk_84[i]);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E00C49D4[i], D_E00C49E8[i], D_E00C49FC[i], unk_24 * data->unk_124[i] / 255);
gSPDisplayList(gMasterGfxPos++, savedGfxPos);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E005E670
.word 0x090004F0
dlabel D_E005E674
.word 0x09000440, 0x00000000, 0x00000000

View File

@ -1,20 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00C49D0
.word 0x7850283C
dlabel D_E00C49D4
.byte 0xFF, 0xFF, 0xFF, 0xC6, 0x8A, 0x82, 0x82, 0x82, 0x82, 0x82, 0xAF, 0xD7, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00
dlabel D_E00C49E8
.byte 0x82, 0x82, 0x82, 0x82, 0x82, 0xA5, 0xD5, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xC6, 0x9F, 0x82, 0x00, 0x00, 0x00
dlabel D_E00C49FC
.byte 0x82, 0xC4, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xCA, 0x90, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x00, 0x00, 0x00
dlabel D_E00C4A10
.word 0xFFFFFFCE, 0xFFFFFFBA, 0x00000005, 0x00000050, 0xFFFFFFA6, 0x00000014, 0x00000014, 0xFFFFFFCE, 0x0000002D, 0xFFFFFFB0, 0x0000001E, 0x0000000A, 0x0000001E, 0x00000000, 0x00000023, 0x00000078, 0xFFFFFFE2, 0x00000032, 0x0000000A, 0x00000032, 0x0000001E, 0x00000064, 0x0000001E, 0x0000000F, 0x00000028, 0x00000064, 0x00000028, 0x0000008C, 0x0000005A, 0x00000019, 0x00000000, 0x00000000

View File

@ -1,18 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00E4D90
.word 0x09001A20, 0x09001A40, 0x09001A60, 0x09001A60, 0x09001A80, 0x09001A80
dlabel D_E00E4DA8
.word 0x09001580, 0x09001670, 0x09001768, 0x09001768, 0x09001818, 0x09001818
dlabel D_E00E4DC0
.word 0x0204080D, 0x0F0D0906, 0x04030204, 0x080D0F0D, 0x09060403, 0x0204080D, 0x0F0D0906, 0x04030000
dlabel D_E00E4DE0
.byte 0x28, 0x5A, 0x51, 0x48, 0x41, 0x3B, 0x35, 0x2F, 0x2B, 0x26, 0x22, 0x1F, 0x1C, 0x19, 0x16, 0x14, 0x12, 0x10, 0x0F, 0x0D, 0x0C, 0x0A, 0x09, 0x08, 0x07, 0x07, 0x06, 0x05, 0x05, 0x04, 0x00, 0x00
dlabel D_E00E4E00
.byte 0xC8, 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFA, 0xC8, 0x00, 0x00

View File

@ -1,24 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00E6880
.word 0x090003A0, 0x090003A0
dlabel D_E00E6888
.word 0x09000280, 0x09000280
dlabel D_E00E6890
.word 0x00000018, 0x0000000C
dlabel D_E00E6898
.word 0x3F666666, 0x3F800000, 0x3F800000, 0x3F666666, 0x3F59999A, 0x3F4CCCCD, 0x3F400000, 0x3F333333, 0x3F266666, 0x3F19999A, 0x3F0CCCCD, 0x3F000000, 0x3EE66666, 0x3ECCCCCD, 0x3EB33333, 0x3E99999A, 0x3E800000, 0x3E4CCCCD, 0x3E19999A, 0x3DCCCCCD, 0x3D4CCCCD, 0x3CF5C28F, 0x3CA3D70A, 0x3C23D70A
dlabel D_E00E68F8
.byte 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
dlabel D_E00E6910
.word 0x3F666666, 0x3F800000, 0x3F800000, 0x3F666666, 0x3F4CCCCD, 0x3F333333, 0x3F19999A, 0x3F000000, 0x3ECCCCCD, 0x3E99999A, 0x3E4CCCCD, 0x3DCCCCCD, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000
dlabel D_E00E6970
.byte 0xFA, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -1,48 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0116C60
.word 0x09004458
dlabel D_E0116C64
.word 0x09004600
dlabel D_E0116C68
.word 0x09004360
dlabel D_E0116C6C
.word 0x09004508
dlabel D_E0116C70
.word 0x09003F98, 0x09004010, 0x09004088, 0x09004100, 0x09004178, 0x090041F0, 0x09004268
dlabel D_E0116C8C
.word 0xFFE041F4, 0xE348D3DC, 0x1698D6DE, 0xD38AEFE7, 0xAEDBFFC8, 0x0B000000
dlabel D_E0116CA4
.word 0x0000003C, 0x007800B4, 0x00F0012C, 0x0000003C, 0x007800B4, 0x00F0012C, 0x0000003C, 0x007800B4, 0x00F0012C, 0x0000003C, 0x007800B4, 0x00F0012C, 0x0000001E, 0x003C005A, 0x00780096, 0x00B400D2, 0x00F0010E, 0x012C014A, 0x01590161, 0x01650167, 0x00000000
dlabel D_E0116CF8
.byte 0x02, 0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0xA0, 0xB4, 0xC8, 0xDC, 0xF0
dlabel D_E0116D04
.byte 0xFF, 0x00, 0x00, 0x00
dlabel D_E0116D08
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x28, 0x3C, 0x50, 0x64, 0x78, 0xA0, 0xB4, 0xC8, 0xDC, 0xF0
dlabel D_E0116D3B
.byte 0xFF
dlabel D_E0116D3C
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, 0x94, 0x80, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xE1, 0xB9, 0xA5, 0x94
dlabel D_E0116D6B
.byte 0x80
dlabel D_E0116D6C
.byte 0x32, 0x50, 0x64, 0x69, 0x6B, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6C, 0x6B, 0x69, 0x64, 0x5F, 0x5A, 0x55, 0x50, 0x4B, 0x46, 0x41, 0x3C, 0x37
dlabel D_E0116D83
.byte 0x32, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -1,18 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0122B90
.word 0x09005168, 0x090051C8, 0x09005370, 0x090053D0
dlabel D_E0122BA0
.word 0x09005440
dlabel D_E0122BA4
.word 0x09004E00
dlabel D_E0122BA8
.word 0x006400FF, 0x00C800FF, 0x012C00FF, 0x019000FF, 0x01F400F5, 0x025800EB, 0x02BC00E1, 0x032000D7, 0x038400CD, 0x03E800C3, 0x044C00B9, 0x04B000AF, 0x051400A5, 0x0578009B, 0x05DC0091, 0x06400087, 0x06A4007D, 0x07080073, 0x076C0069, 0x07D0005F, 0x08340055, 0x0898004B, 0x08FC0041, 0x09600037, 0x09C4002D, 0x0A28001E, 0x0A8C0014, 0x0AF0000A, 0x0B540005, 0x0BB80000
dlabel D_E0122C20
.word 0x0BB80000, 0x0B540005, 0x0AF0000A, 0x0A8C0014, 0x0A28001E, 0x09C4002D, 0x09600037, 0x08FC0041, 0x0898004B, 0x08340055, 0x07D0005F, 0x076C0069, 0x07080073, 0x06A4007D, 0x06400087, 0x05DC0091, 0x0578009B, 0x051400A5, 0x04B000AF, 0x044C00B9, 0x03E800C3, 0x038400CD, 0x032000D7, 0x02BC00E1, 0x025800EB, 0x01F400F5, 0x019000FF, 0x012C00FF, 0x00C800FF, 0x006400FF, 0x00000000, 0x00000000

View File

@ -1,279 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel misc_particles_appendGfx
/* 3DE95C E00E495C 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 3DE960 E00E4960 AFB700BC */ sw $s7, 0xbc($sp)
/* 3DE964 E00E4964 0080B82D */ daddu $s7, $a0, $zero
/* 3DE968 E00E4968 3C05DB06 */ lui $a1, 0xdb06
/* 3DE96C E00E496C 34A50024 */ ori $a1, $a1, 0x24
/* 3DE970 E00E4970 AFB200A8 */ sw $s2, 0xa8($sp)
/* 3DE974 E00E4974 24120001 */ addiu $s2, $zero, 1
/* 3DE978 E00E4978 3C09800A */ lui $t1, %hi(gMasterGfxPos)
/* 3DE97C E00E497C 2529A66C */ addiu $t1, $t1, %lo(gMasterGfxPos)
/* 3DE980 E00E4980 3C02E700 */ lui $v0, 0xe700
/* 3DE984 E00E4984 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 3DE988 E00E4988 AFBE00C0 */ sw $fp, 0xc0($sp)
/* 3DE98C E00E498C AFB600B8 */ sw $s6, 0xb8($sp)
/* 3DE990 E00E4990 AFB500B4 */ sw $s5, 0xb4($sp)
/* 3DE994 E00E4994 AFB400B0 */ sw $s4, 0xb0($sp)
/* 3DE998 E00E4998 AFB300AC */ sw $s3, 0xac($sp)
/* 3DE99C E00E499C AFB100A4 */ sw $s1, 0xa4($sp)
/* 3DE9A0 E00E49A0 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3DE9A4 E00E49A4 F7B800D8 */ sdc1 $f24, 0xd8($sp)
/* 3DE9A8 E00E49A8 F7B600D0 */ sdc1 $f22, 0xd0($sp)
/* 3DE9AC E00E49AC F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 3DE9B0 E00E49B0 8D240000 */ lw $a0, ($t1)
/* 3DE9B4 E00E49B4 8EE8000C */ lw $t0, 0xc($s7)
/* 3DE9B8 E00E49B8 3C01437F */ lui $at, 0x437f
/* 3DE9BC E00E49BC 44810000 */ mtc1 $at, $f0
/* 3DE9C0 E00E49C0 0080182D */ daddu $v1, $a0, $zero
/* 3DE9C4 E00E49C4 24840008 */ addiu $a0, $a0, 8
/* 3DE9C8 E00E49C8 AD240000 */ sw $a0, ($t1)
/* 3DE9CC E00E49CC 8D140000 */ lw $s4, ($t0)
/* 3DE9D0 E00E49D0 C5040058 */ lwc1 $f4, 0x58($t0)
/* 3DE9D4 E00E49D4 C5020044 */ lwc1 $f2, 0x44($t0)
/* 3DE9D8 E00E49D8 468010A0 */ cvt.s.w $f2, $f2
/* 3DE9DC E00E49DC AC620000 */ sw $v0, ($v1)
/* 3DE9E0 E00E49E0 24820008 */ addiu $v0, $a0, 8
/* 3DE9E4 E00E49E4 AC600004 */ sw $zero, 4($v1)
/* 3DE9E8 E00E49E8 AD220000 */ sw $v0, ($t1)
/* 3DE9EC E00E49EC AC850000 */ sw $a1, ($a0)
/* 3DE9F0 E00E49F0 8EE30010 */ lw $v1, 0x10($s7)
/* 3DE9F4 E00E49F4 24820010 */ addiu $v0, $a0, 0x10
/* 3DE9F8 E00E49F8 AD220000 */ sw $v0, ($t1)
/* 3DE9FC E00E49FC 3C02FB00 */ lui $v0, 0xfb00
/* 3DEA00 E00E4A00 8C63001C */ lw $v1, 0x1c($v1)
/* 3DEA04 E00E4A04 46001083 */ div.s $f2, $f2, $f0
/* 3DEA08 E00E4A08 AC820008 */ sw $v0, 8($a0)
/* 3DEA0C E00E4A0C 3C028000 */ lui $v0, 0x8000
/* 3DEA10 E00E4A10 46041502 */ mul.s $f20, $f2, $f4
/* 3DEA14 E00E4A14 00000000 */ nop
/* 3DEA18 E00E4A18 00621821 */ addu $v1, $v1, $v0
/* 3DEA1C E00E4A1C AC830004 */ sw $v1, 4($a0)
/* 3DEA20 E00E4A20 9102004B */ lbu $v0, 0x4b($t0)
/* 3DEA24 E00E4A24 9105004F */ lbu $a1, 0x4f($t0)
/* 3DEA28 E00E4A28 91060053 */ lbu $a2, 0x53($t0)
/* 3DEA2C E00E4A2C 91070057 */ lbu $a3, 0x57($t0)
/* 3DEA30 E00E4A30 3C03DE00 */ lui $v1, 0xde00
/* 3DEA34 E00E4A34 AC830010 */ sw $v1, 0x10($a0)
/* 3DEA38 E00E4A38 00021600 */ sll $v0, $v0, 0x18
/* 3DEA3C E00E4A3C 00052C00 */ sll $a1, $a1, 0x10
/* 3DEA40 E00E4A40 00451025 */ or $v0, $v0, $a1
/* 3DEA44 E00E4A44 00063200 */ sll $a2, $a2, 8
/* 3DEA48 E00E4A48 00461025 */ or $v0, $v0, $a2
/* 3DEA4C E00E4A4C 00471025 */ or $v0, $v0, $a3
/* 3DEA50 E00E4A50 AC82000C */ sw $v0, 0xc($a0)
/* 3DEA54 E00E4A54 00141080 */ sll $v0, $s4, 2
/* 3DEA58 E00E4A58 3C03E00E */ lui $v1, %hi(D_E00E4DA8)
/* 3DEA5C E00E4A5C 00621821 */ addu $v1, $v1, $v0
/* 3DEA60 E00E4A60 8C634DA8 */ lw $v1, %lo(D_E00E4DA8)($v1)
/* 3DEA64 E00E4A64 24820018 */ addiu $v0, $a0, 0x18
/* 3DEA68 E00E4A68 AD220000 */ sw $v0, ($t1)
/* 3DEA6C E00E4A6C AC830014 */ sw $v1, 0x14($a0)
/* 3DEA70 E00E4A70 8EE20008 */ lw $v0, 8($s7)
/* 3DEA74 E00E4A74 0242102A */ slt $v0, $s2, $v0
/* 3DEA78 E00E4A78 104000B6 */ beqz $v0, .LE00E4D54
/* 3DEA7C E00E4A7C 25080064 */ addiu $t0, $t0, 0x64
/* 3DEA80 E00E4A80 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 3DEA84 E00E4A84 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 3DEA88 E00E4A88 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 3DEA8C E00E4A8C 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 3DEA90 E00E4A90 3C130001 */ lui $s3, 1
/* 3DEA94 E00E4A94 36731630 */ ori $s3, $s3, 0x1630
/* 3DEA98 E00E4A98 0120882D */ daddu $s1, $t1, $zero
/* 3DEA9C E00E4A9C 3C1EE00E */ lui $fp, %hi(D_E00E4D90)
/* 3DEAA0 E00E4AA0 27DE4D90 */ addiu $fp, $fp, %lo(D_E00E4D90)
/* 3DEAA4 E00E4AA4 25100060 */ addiu $s0, $t0, 0x60
/* 3DEAA8 E00E4AA8 4480C000 */ mtc1 $zero, $f24
/* 3DEAAC E00E4AAC 3C014F00 */ lui $at, 0x4f00
/* 3DEAB0 E00E4AB0 4481B000 */ mtc1 $at, $f22
.LE00E4AB4:
/* 3DEAB4 E00E4AB4 8E02FFCC */ lw $v0, -0x34($s0)
/* 3DEAB8 E00E4AB8 044000A1 */ bltz $v0, .LE00E4D40
/* 3DEABC E00E4ABC 27A40020 */ addiu $a0, $sp, 0x20
/* 3DEAC0 E00E4AC0 3C0A800B */ lui $t2, %hi(gCameras)
/* 3DEAC4 E00E4AC4 254A1D80 */ addiu $t2, $t2, %lo(gCameras)
/* 3DEAC8 E00E4AC8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3DEACC E00E4ACC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3DEAD0 E00E4AD0 4405C000 */ mfc1 $a1, $f24
/* 3DEAD4 E00E4AD4 C600FFF8 */ lwc1 $f0, -8($s0)
/* 3DEAD8 E00E4AD8 00031080 */ sll $v0, $v1, 2
/* 3DEADC E00E4ADC 00431021 */ addu $v0, $v0, $v1
/* 3DEAE0 E00E4AE0 00021080 */ sll $v0, $v0, 2
/* 3DEAE4 E00E4AE4 00431023 */ subu $v0, $v0, $v1
/* 3DEAE8 E00E4AE8 000218C0 */ sll $v1, $v0, 3
/* 3DEAEC E00E4AEC 00431021 */ addu $v0, $v0, $v1
/* 3DEAF0 E00E4AF0 46140002 */ mul.s $f0, $f0, $f20
/* 3DEAF4 E00E4AF4 00000000 */ nop
/* 3DEAF8 E00E4AF8 000210C0 */ sll $v0, $v0, 3
/* 3DEAFC E00E4AFC 004A1021 */ addu $v0, $v0, $t2
/* 3DEB00 E00E4B00 C442006C */ lwc1 $f2, 0x6c($v0)
/* 3DEB04 E00E4B04 4407C000 */ mfc1 $a3, $f24
/* 3DEB08 E00E4B08 46001087 */ neg.s $f2, $f2
/* 3DEB0C E00E4B0C 44061000 */ mfc1 $a2, $f2
/* 3DEB10 E00E4B10 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3DEB14 E00E4B14 C600FFA4 */ lwc1 $f0, -0x5c($s0)
/* 3DEB18 E00E4B18 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3DEB1C E00E4B1C C600FFA8 */ lwc1 $f0, -0x58($s0)
/* 3DEB20 E00E4B20 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3DEB24 E00E4B24 C600FFAC */ lwc1 $f0, -0x54($s0)
/* 3DEB28 E00E4B28 0C080180 */ jal shim_guPositionF
/* 3DEB2C E00E4B2C E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3DEB30 E00E4B30 27A40020 */ addiu $a0, $sp, 0x20
/* 3DEB34 E00E4B34 96A50000 */ lhu $a1, ($s5)
/* 3DEB38 E00E4B38 8EC20000 */ lw $v0, ($s6)
/* 3DEB3C E00E4B3C 00052980 */ sll $a1, $a1, 6
/* 3DEB40 E00E4B40 00B32821 */ addu $a1, $a1, $s3
/* 3DEB44 E00E4B44 0C080118 */ jal shim_guMtxF2L
/* 3DEB48 E00E4B48 00452821 */ addu $a1, $v0, $a1
/* 3DEB4C E00E4B4C 8E240000 */ lw $a0, ($s1)
/* 3DEB50 E00E4B50 0080282D */ daddu $a1, $a0, $zero
/* 3DEB54 E00E4B54 24840008 */ addiu $a0, $a0, 8
/* 3DEB58 E00E4B58 AE240000 */ sw $a0, ($s1)
/* 3DEB5C E00E4B5C 96A20000 */ lhu $v0, ($s5)
/* 3DEB60 E00E4B60 3C03DA38 */ lui $v1, 0xda38
/* 3DEB64 E00E4B64 ACA30000 */ sw $v1, ($a1)
/* 3DEB68 E00E4B68 24430001 */ addiu $v1, $v0, 1
/* 3DEB6C E00E4B6C 3042FFFF */ andi $v0, $v0, 0xffff
/* 3DEB70 E00E4B70 00021180 */ sll $v0, $v0, 6
/* 3DEB74 E00E4B74 A6A30000 */ sh $v1, ($s5)
/* 3DEB78 E00E4B78 8EC30000 */ lw $v1, ($s6)
/* 3DEB7C E00E4B7C 00531021 */ addu $v0, $v0, $s3
/* 3DEB80 E00E4B80 00621821 */ addu $v1, $v1, $v0
/* 3DEB84 E00E4B84 24820008 */ addiu $v0, $a0, 8
/* 3DEB88 E00E4B88 ACA30004 */ sw $v1, 4($a1)
/* 3DEB8C E00E4B8C AE220000 */ sw $v0, ($s1)
/* 3DEB90 E00E4B90 24020050 */ addiu $v0, $zero, 0x50
/* 3DEB94 E00E4B94 8E03FFCC */ lw $v1, -0x34($s0)
/* 3DEB98 E00E4B98 24850004 */ addiu $a1, $a0, 4
/* 3DEB9C E00E4B9C 00431023 */ subu $v0, $v0, $v1
/* 3DEBA0 E00E4BA0 304200FF */ andi $v0, $v0, 0xff
/* 3DEBA4 E00E4BA4 3C03FA00 */ lui $v1, 0xfa00
/* 3DEBA8 E00E4BA8 00431025 */ or $v0, $v0, $v1
/* 3DEBAC E00E4BAC AC820000 */ sw $v0, ($a0)
/* 3DEBB0 E00E4BB0 C600FFE4 */ lwc1 $f0, -0x1c($s0)
/* 3DEBB4 E00E4BB4 46800020 */ cvt.s.w $f0, $f0
/* 3DEBB8 E00E4BB8 4600A002 */ mul.s $f0, $f20, $f0
/* 3DEBBC E00E4BBC 00000000 */ nop
/* 3DEBC0 E00E4BC0 9203FFDB */ lbu $v1, -0x25($s0)
/* 3DEBC4 E00E4BC4 9204FFDF */ lbu $a0, -0x21($s0)
/* 3DEBC8 E00E4BC8 9202FFE3 */ lbu $v0, -0x1d($s0)
/* 3DEBCC E00E4BCC 00031E00 */ sll $v1, $v1, 0x18
/* 3DEBD0 E00E4BD0 00042400 */ sll $a0, $a0, 0x10
/* 3DEBD4 E00E4BD4 00641825 */ or $v1, $v1, $a0
/* 3DEBD8 E00E4BD8 00021200 */ sll $v0, $v0, 8
/* 3DEBDC E00E4BDC 4600B03E */ c.le.s $f22, $f0
/* 3DEBE0 E00E4BE0 00000000 */ nop
/* 3DEBE4 E00E4BE4 45010005 */ bc1t .LE00E4BFC
/* 3DEBE8 E00E4BE8 00621825 */ or $v1, $v1, $v0
/* 3DEBEC E00E4BEC 4600018D */ trunc.w.s $f6, $f0
/* 3DEBF0 E00E4BF0 44043000 */ mfc1 $a0, $f6
/* 3DEBF4 E00E4BF4 08039306 */ j .LE00E4C18
/* 3DEBF8 E00E4BF8 308200FF */ andi $v0, $a0, 0xff
.LE00E4BFC:
/* 3DEBFC E00E4BFC 46160001 */ sub.s $f0, $f0, $f22
/* 3DEC00 E00E4C00 3C028000 */ lui $v0, 0x8000
/* 3DEC04 E00E4C04 4600018D */ trunc.w.s $f6, $f0
/* 3DEC08 E00E4C08 44043000 */ mfc1 $a0, $f6
/* 3DEC0C E00E4C0C 00000000 */ nop
/* 3DEC10 E00E4C10 00822025 */ or $a0, $a0, $v0
/* 3DEC14 E00E4C14 308200FF */ andi $v0, $a0, 0xff
.LE00E4C18:
/* 3DEC18 E00E4C18 00621025 */ or $v0, $v1, $v0
/* 3DEC1C E00E4C1C 8E260000 */ lw $a2, ($s1)
/* 3DEC20 E00E4C20 3C03F200 */ lui $v1, 0xf200
/* 3DEC24 E00E4C24 ACA20000 */ sw $v0, ($a1)
/* 3DEC28 E00E4C28 C600FFFC */ lwc1 $f0, -4($s0)
/* 3DEC2C E00E4C2C 00C0282D */ daddu $a1, $a2, $zero
/* 3DEC30 E00E4C30 4600018D */ trunc.w.s $f6, $f0
/* 3DEC34 E00E4C34 44043000 */ mfc1 $a0, $f6
/* 3DEC38 E00E4C38 00000000 */ nop
/* 3DEC3C E00E4C3C 00042080 */ sll $a0, $a0, 2
/* 3DEC40 E00E4C40 30840FFF */ andi $a0, $a0, 0xfff
/* 3DEC44 E00E4C44 00042300 */ sll $a0, $a0, 0xc
/* 3DEC48 E00E4C48 C6000000 */ lwc1 $f0, ($s0)
/* 3DEC4C E00E4C4C 24C60008 */ addiu $a2, $a2, 8
/* 3DEC50 E00E4C50 4600018D */ trunc.w.s $f6, $f0
/* 3DEC54 E00E4C54 44023000 */ mfc1 $v0, $f6
/* 3DEC58 E00E4C58 00000000 */ nop
/* 3DEC5C E00E4C5C 00021080 */ sll $v0, $v0, 2
/* 3DEC60 E00E4C60 30420FFF */ andi $v0, $v0, 0xfff
/* 3DEC64 E00E4C64 00431025 */ or $v0, $v0, $v1
/* 3DEC68 E00E4C68 00822025 */ or $a0, $a0, $v0
/* 3DEC6C E00E4C6C ACA40000 */ sw $a0, ($a1)
/* 3DEC70 E00E4C70 C600FFFC */ lwc1 $f0, -4($s0)
/* 3DEC74 E00E4C74 3C030100 */ lui $v1, 0x100
/* 3DEC78 E00E4C78 AE260000 */ sw $a2, ($s1)
/* 3DEC7C E00E4C7C 4600018D */ trunc.w.s $f6, $f0
/* 3DEC80 E00E4C80 44043000 */ mfc1 $a0, $f6
/* 3DEC84 E00E4C84 00000000 */ nop
/* 3DEC88 E00E4C88 2484000F */ addiu $a0, $a0, 0xf
/* 3DEC8C E00E4C8C 00042080 */ sll $a0, $a0, 2
/* 3DEC90 E00E4C90 30840FFF */ andi $a0, $a0, 0xfff
/* 3DEC94 E00E4C94 C6000000 */ lwc1 $f0, ($s0)
/* 3DEC98 E00E4C98 00042300 */ sll $a0, $a0, 0xc
/* 3DEC9C E00E4C9C 4600018D */ trunc.w.s $f6, $f0
/* 3DECA0 E00E4CA0 44023000 */ mfc1 $v0, $f6
/* 3DECA4 E00E4CA4 00000000 */ nop
/* 3DECA8 E00E4CA8 2442000F */ addiu $v0, $v0, 0xf
/* 3DECAC E00E4CAC 00021080 */ sll $v0, $v0, 2
/* 3DECB0 E00E4CB0 30420FFF */ andi $v0, $v0, 0xfff
/* 3DECB4 E00E4CB4 00431025 */ or $v0, $v0, $v1
/* 3DECB8 E00E4CB8 00822025 */ or $a0, $a0, $v0
/* 3DECBC E00E4CBC 24020002 */ addiu $v0, $zero, 2
/* 3DECC0 E00E4CC0 1682000E */ bne $s4, $v0, .LE00E4CFC
/* 3DECC4 E00E4CC4 ACA40004 */ sw $a0, 4($a1)
/* 3DECC8 E00E4CC8 3C04F200 */ lui $a0, 0xf200
/* 3DECCC E00E4CCC 3484007C */ ori $a0, $a0, 0x7c
/* 3DECD0 E00E4CD0 24C20008 */ addiu $v0, $a2, 8
/* 3DECD4 E00E4CD4 3243001F */ andi $v1, $s2, 0x1f
/* 3DECD8 E00E4CD8 AE220000 */ sw $v0, ($s1)
/* 3DECDC E00E4CDC 000314C0 */ sll $v0, $v1, 0x13
/* 3DECE0 E00E4CE0 00441025 */ or $v0, $v0, $a0
/* 3DECE4 E00E4CE4 000319C0 */ sll $v1, $v1, 7
/* 3DECE8 E00E4CE8 3463007C */ ori $v1, $v1, 0x7c
/* 3DECEC E00E4CEC 00031B00 */ sll $v1, $v1, 0xc
/* 3DECF0 E00E4CF0 3463007C */ ori $v1, $v1, 0x7c
/* 3DECF4 E00E4CF4 ACC20000 */ sw $v0, ($a2)
/* 3DECF8 E00E4CF8 ACC30004 */ sw $v1, 4($a2)
.LE00E4CFC:
/* 3DECFC E00E4CFC 3C06D838 */ lui $a2, 0xd838
/* 3DED00 E00E4D00 34C60002 */ ori $a2, $a2, 2
/* 3DED04 E00E4D04 8E230000 */ lw $v1, ($s1)
/* 3DED08 E00E4D08 3C02DE00 */ lui $v0, 0xde00
/* 3DED0C E00E4D0C 0060282D */ daddu $a1, $v1, $zero
/* 3DED10 E00E4D10 24630008 */ addiu $v1, $v1, 8
/* 3DED14 E00E4D14 AE230000 */ sw $v1, ($s1)
/* 3DED18 E00E4D18 ACA20000 */ sw $v0, ($a1)
/* 3DED1C E00E4D1C 00141080 */ sll $v0, $s4, 2
/* 3DED20 E00E4D20 005E1021 */ addu $v0, $v0, $fp
/* 3DED24 E00E4D24 8C440000 */ lw $a0, ($v0)
/* 3DED28 E00E4D28 24620008 */ addiu $v0, $v1, 8
/* 3DED2C E00E4D2C AE220000 */ sw $v0, ($s1)
/* 3DED30 E00E4D30 24020040 */ addiu $v0, $zero, 0x40
/* 3DED34 E00E4D34 ACA40004 */ sw $a0, 4($a1)
/* 3DED38 E00E4D38 AC660000 */ sw $a2, ($v1)
/* 3DED3C E00E4D3C AC620004 */ sw $v0, 4($v1)
.LE00E4D40:
/* 3DED40 E00E4D40 26520001 */ addiu $s2, $s2, 1
/* 3DED44 E00E4D44 8EE20008 */ lw $v0, 8($s7)
/* 3DED48 E00E4D48 0242102A */ slt $v0, $s2, $v0
/* 3DED4C E00E4D4C 1440FF59 */ bnez $v0, .LE00E4AB4
/* 3DED50 E00E4D50 26100064 */ addiu $s0, $s0, 0x64
.LE00E4D54:
/* 3DED54 E00E4D54 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 3DED58 E00E4D58 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 3DED5C E00E4D5C 8FB700BC */ lw $s7, 0xbc($sp)
/* 3DED60 E00E4D60 8FB600B8 */ lw $s6, 0xb8($sp)
/* 3DED64 E00E4D64 8FB500B4 */ lw $s5, 0xb4($sp)
/* 3DED68 E00E4D68 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3DED6C E00E4D6C 8FB300AC */ lw $s3, 0xac($sp)
/* 3DED70 E00E4D70 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3DED74 E00E4D74 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3DED78 E00E4D78 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3DED7C E00E4D7C D7B800D8 */ ldc1 $f24, 0xd8($sp)
/* 3DED80 E00E4D80 D7B600D0 */ ldc1 $f22, 0xd0($sp)
/* 3DED84 E00E4D84 D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 3DED88 E00E4D88 03E00008 */ jr $ra
/* 3DED8C E00E4D8C 27BD00E0 */ addiu $sp, $sp, 0xe0

View File

@ -1,181 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel misc_particles_main
/* 3DE000 E00E4000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3DE004 E00E4004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3DE008 E00E4008 4485A000 */ mtc1 $a1, $f20
/* 3DE00C E00E400C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3DE010 E00E4010 4486B000 */ mtc1 $a2, $f22
/* 3DE014 E00E4014 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3DE018 E00E4018 4487C000 */ mtc1 $a3, $f24
/* 3DE01C E00E401C AFB20030 */ sw $s2, 0x30($sp)
/* 3DE020 E00E4020 0080902D */ daddu $s2, $a0, $zero
/* 3DE024 E00E4024 AFB1002C */ sw $s1, 0x2c($sp)
/* 3DE028 E00E4028 8FB10074 */ lw $s1, 0x74($sp)
/* 3DE02C E00E402C 27A40010 */ addiu $a0, $sp, 0x10
/* 3DE030 E00E4030 AFB40038 */ sw $s4, 0x38($sp)
/* 3DE034 E00E4034 8FB40078 */ lw $s4, 0x78($sp)
/* 3DE038 E00E4038 3C02E00E */ lui $v0, %hi(misc_particles_init)
/* 3DE03C E00E403C 24424288 */ addiu $v0, $v0, %lo(misc_particles_init)
/* 3DE040 E00E4040 AFA20018 */ sw $v0, 0x18($sp)
/* 3DE044 E00E4044 3C02E00E */ lui $v0, %hi(misc_particles_update)
/* 3DE048 E00E4048 24424290 */ addiu $v0, $v0, %lo(misc_particles_update)
/* 3DE04C E00E404C AFA2001C */ sw $v0, 0x1c($sp)
/* 3DE050 E00E4050 3C02E00E */ lui $v0, %hi(misc_particles_render)
/* 3DE054 E00E4054 2442490C */ addiu $v0, $v0, %lo(misc_particles_render)
/* 3DE058 E00E4058 AFA20020 */ sw $v0, 0x20($sp)
/* 3DE05C E00E405C 24020072 */ addiu $v0, $zero, 0x72
/* 3DE060 E00E4060 AFBF003C */ sw $ra, 0x3c($sp)
/* 3DE064 E00E4064 AFB30034 */ sw $s3, 0x34($sp)
/* 3DE068 E00E4068 AFB00028 */ sw $s0, 0x28($sp)
/* 3DE06C E00E406C AFA00010 */ sw $zero, 0x10($sp)
/* 3DE070 E00E4070 AFA00024 */ sw $zero, 0x24($sp)
/* 3DE074 E00E4074 AFA20014 */ sw $v0, 0x14($sp)
/* 3DE078 E00E4078 0C080124 */ jal shim_create_effect_instance
/* 3DE07C E00E407C 26310001 */ addiu $s1, $s1, 1
/* 3DE080 E00E4080 00112040 */ sll $a0, $s1, 1
/* 3DE084 E00E4084 00912021 */ addu $a0, $a0, $s1
/* 3DE088 E00E4088 000420C0 */ sll $a0, $a0, 3
/* 3DE08C E00E408C 00912021 */ addu $a0, $a0, $s1
/* 3DE090 E00E4090 00042080 */ sll $a0, $a0, 2
/* 3DE094 E00E4094 0040982D */ daddu $s3, $v0, $zero
/* 3DE098 E00E4098 0C08012C */ jal shim_general_heap_malloc
/* 3DE09C E00E409C AE710008 */ sw $s1, 8($s3)
/* 3DE0A0 E00E40A0 0040802D */ daddu $s0, $v0, $zero
/* 3DE0A4 E00E40A4 16000003 */ bnez $s0, .LE00E40B4
/* 3DE0A8 E00E40A8 AE70000C */ sw $s0, 0xc($s3)
.LE00E40AC:
/* 3DE0AC E00E40AC 0803902B */ j .LE00E40AC
/* 3DE0B0 E00E40B0 00000000 */ nop
.LE00E40B4:
/* 3DE0B4 E00E40B4 AE120000 */ sw $s2, ($s0)
/* 3DE0B8 E00E40B8 1E800004 */ bgtz $s4, .LE00E40CC
/* 3DE0BC E00E40BC AE000034 */ sw $zero, 0x34($s0)
/* 3DE0C0 E00E40C0 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3DE0C4 E00E40C4 08039034 */ j .LE00E40D0
/* 3DE0C8 E00E40C8 AE020030 */ sw $v0, 0x30($s0)
.LE00E40CC:
/* 3DE0CC E00E40CC AE140030 */ sw $s4, 0x30($s0)
.LE00E40D0:
/* 3DE0D0 E00E40D0 240300FF */ addiu $v1, $zero, 0xff
/* 3DE0D4 E00E40D4 AE030044 */ sw $v1, 0x44($s0)
/* 3DE0D8 E00E40D8 E6140004 */ swc1 $f20, 4($s0)
/* 3DE0DC E00E40DC E6160008 */ swc1 $f22, 8($s0)
/* 3DE0E0 E00E40E0 E618000C */ swc1 $f24, 0xc($s0)
/* 3DE0E4 E00E40E4 C7A00070 */ lwc1 $f0, 0x70($sp)
/* 3DE0E8 E00E40E8 E6000058 */ swc1 $f0, 0x58($s0)
/* 3DE0EC E00E40EC C7A00068 */ lwc1 $f0, 0x68($sp)
/* 3DE0F0 E00E40F0 E6000010 */ swc1 $f0, 0x10($s0)
/* 3DE0F4 E00E40F4 C7A0006C */ lwc1 $f0, 0x6c($sp)
/* 3DE0F8 E00E40F8 24020001 */ addiu $v0, $zero, 1
/* 3DE0FC E00E40FC AE030038 */ sw $v1, 0x38($s0)
/* 3DE100 E00E4100 AE03003C */ sw $v1, 0x3c($s0)
/* 3DE104 E00E4104 AE030040 */ sw $v1, 0x40($s0)
/* 3DE108 E00E4108 1242000E */ beq $s2, $v0, .LE00E4144
/* 3DE10C E00E410C E6000014 */ swc1 $f0, 0x14($s0)
/* 3DE110 E00E4110 2A420002 */ slti $v0, $s2, 2
/* 3DE114 E00E4114 10400005 */ beqz $v0, .LE00E412C
/* 3DE118 E00E4118 2A420004 */ slti $v0, $s2, 4
/* 3DE11C E00E411C 52400007 */ beql $s2, $zero, .LE00E413C
/* 3DE120 E00E4120 AE030048 */ sw $v1, 0x48($s0)
/* 3DE124 E00E4124 0803905C */ j .LE00E4170
/* 3DE128 E00E4128 00000000 */ nop
.LE00E412C:
/* 3DE12C E00E412C 10400010 */ beqz $v0, .LE00E4170
/* 3DE130 E00E4130 240300FF */ addiu $v1, $zero, 0xff
/* 3DE134 E00E4134 08039057 */ j .LE00E415C
/* 3DE138 E00E4138 24020080 */ addiu $v0, $zero, 0x80
.LE00E413C:
/* 3DE13C E00E413C 08039054 */ j .LE00E4150
/* 3DE140 E00E4140 AE03004C */ sw $v1, 0x4c($s0)
.LE00E4144:
/* 3DE144 E00E4144 2402007F */ addiu $v0, $zero, 0x7f
/* 3DE148 E00E4148 AE000048 */ sw $zero, 0x48($s0)
/* 3DE14C E00E414C AE02004C */ sw $v0, 0x4c($s0)
.LE00E4150:
/* 3DE150 E00E4150 AE030050 */ sw $v1, 0x50($s0)
/* 3DE154 E00E4154 08039071 */ j .LE00E41C4
/* 3DE158 E00E4158 AE030054 */ sw $v1, 0x54($s0)
.LE00E415C:
/* 3DE15C E00E415C AE030048 */ sw $v1, 0x48($s0)
/* 3DE160 E00E4160 AE03004C */ sw $v1, 0x4c($s0)
/* 3DE164 E00E4164 AE020050 */ sw $v0, 0x50($s0)
/* 3DE168 E00E4168 08039071 */ j .LE00E41C4
/* 3DE16C E00E416C AE030054 */ sw $v1, 0x54($s0)
.LE00E4170:
/* 3DE170 E00E4170 0C080138 */ jal shim_rand_int
/* 3DE174 E00E4174 2404007F */ addiu $a0, $zero, 0x7f
/* 3DE178 E00E4178 24420080 */ addiu $v0, $v0, 0x80
/* 3DE17C E00E417C 240400FF */ addiu $a0, $zero, 0xff
/* 3DE180 E00E4180 00822023 */ subu $a0, $a0, $v0
/* 3DE184 E00E4184 0C080138 */ jal shim_rand_int
/* 3DE188 E00E4188 AE020038 */ sw $v0, 0x38($s0)
/* 3DE18C E00E418C 24420080 */ addiu $v0, $v0, 0x80
/* 3DE190 E00E4190 2404017F */ addiu $a0, $zero, 0x17f
/* 3DE194 E00E4194 8E030038 */ lw $v1, 0x38($s0)
/* 3DE198 E00E4198 00822023 */ subu $a0, $a0, $v0
/* 3DE19C E00E419C AE02003C */ sw $v0, 0x3c($s0)
/* 3DE1A0 E00E41A0 0C080138 */ jal shim_rand_int
/* 3DE1A4 E00E41A4 00832023 */ subu $a0, $a0, $v1
/* 3DE1A8 E00E41A8 24420080 */ addiu $v0, $v0, 0x80
/* 3DE1AC E00E41AC AE020040 */ sw $v0, 0x40($s0)
/* 3DE1B0 E00E41B0 2402007F */ addiu $v0, $zero, 0x7f
/* 3DE1B4 E00E41B4 AE020048 */ sw $v0, 0x48($s0)
/* 3DE1B8 E00E41B8 AE02004C */ sw $v0, 0x4c($s0)
/* 3DE1BC E00E41BC AE020050 */ sw $v0, 0x50($s0)
/* 3DE1C0 E00E41C0 AE020054 */ sw $v0, 0x54($s0)
.LE00E41C4:
/* 3DE1C4 E00E41C4 8E030030 */ lw $v1, 0x30($s0)
/* 3DE1C8 E00E41C8 2862001E */ slti $v0, $v1, 0x1e
/* 3DE1CC E00E41CC 10400009 */ beqz $v0, .LE00E41F4
/* 3DE1D0 E00E41D0 2622FFFF */ addiu $v0, $s1, -1
/* 3DE1D4 E00E41D4 44830000 */ mtc1 $v1, $f0
/* 3DE1D8 E00E41D8 00000000 */ nop
/* 3DE1DC E00E41DC 46800020 */ cvt.s.w $f0, $f0
/* 3DE1E0 E00E41E0 44821000 */ mtc1 $v0, $f2
/* 3DE1E4 E00E41E4 00000000 */ nop
/* 3DE1E8 E00E41E8 468010A0 */ cvt.s.w $f2, $f2
/* 3DE1EC E00E41EC 08039083 */ j .LE00E420C
/* 3DE1F0 E00E41F0 46020083 */ div.s $f2, $f0, $f2
.LE00E41F4:
/* 3DE1F4 E00E41F4 3C0141F0 */ lui $at, 0x41f0
/* 3DE1F8 E00E41F8 44811000 */ mtc1 $at, $f2
/* 3DE1FC E00E41FC 44820000 */ mtc1 $v0, $f0
/* 3DE200 E00E4200 00000000 */ nop
/* 3DE204 E00E4204 46800020 */ cvt.s.w $f0, $f0
/* 3DE208 E00E4208 46001083 */ div.s $f2, $f2, $f0
.LE00E420C:
/* 3DE20C E00E420C 24030001 */ addiu $v1, $zero, 1
/* 3DE210 E00E4210 0071102A */ slt $v0, $v1, $s1
/* 3DE214 E00E4214 10400010 */ beqz $v0, .LE00E4258
/* 3DE218 E00E4218 26100064 */ addiu $s0, $s0, 0x64
.LE00E421C:
/* 3DE21C E00E421C 44830000 */ mtc1 $v1, $f0
/* 3DE220 E00E4220 00000000 */ nop
/* 3DE224 E00E4224 46800020 */ cvt.s.w $f0, $f0
/* 3DE228 E00E4228 46000007 */ neg.s $f0, $f0
/* 3DE22C E00E422C 46020002 */ mul.s $f0, $f0, $f2
/* 3DE230 E00E4230 00000000 */ nop
/* 3DE234 E00E4234 24630001 */ addiu $v1, $v1, 1
/* 3DE238 E00E4238 4600010D */ trunc.w.s $f4, $f0
/* 3DE23C E00E423C 44022000 */ mfc1 $v0, $f4
/* 3DE240 E00E4240 00000000 */ nop
/* 3DE244 E00E4244 2442FFFF */ addiu $v0, $v0, -1
/* 3DE248 E00E4248 AE02002C */ sw $v0, 0x2c($s0)
/* 3DE24C E00E424C 0071102A */ slt $v0, $v1, $s1
/* 3DE250 E00E4250 1440FFF2 */ bnez $v0, .LE00E421C
/* 3DE254 E00E4254 26100064 */ addiu $s0, $s0, 0x64
.LE00E4258:
/* 3DE258 E00E4258 0260102D */ daddu $v0, $s3, $zero
/* 3DE25C E00E425C 8FBF003C */ lw $ra, 0x3c($sp)
/* 3DE260 E00E4260 8FB40038 */ lw $s4, 0x38($sp)
/* 3DE264 E00E4264 8FB30034 */ lw $s3, 0x34($sp)
/* 3DE268 E00E4268 8FB20030 */ lw $s2, 0x30($sp)
/* 3DE26C E00E426C 8FB1002C */ lw $s1, 0x2c($sp)
/* 3DE270 E00E4270 8FB00028 */ lw $s0, 0x28($sp)
/* 3DE274 E00E4274 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3DE278 E00E4278 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3DE27C E00E427C D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3DE280 E00E4280 03E00008 */ jr $ra
/* 3DE284 E00E4284 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,469 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00E4E20
.double 0.05
dlabel D_E00E4E28
.double 0.04
dlabel D_E00E4E30
.double 0.2
dlabel D_E00E4E38
.double 0.6
dlabel D_E00E4E40
.double 0.1
dlabel D_E00E4E48
.double 0.2
dlabel D_E00E4E50
.double 0.6
dlabel D_E00E4E58
.double 0.01
.section .text
glabel misc_particles_update
/* 3DE290 E00E4290 27BDFF80 */ addiu $sp, $sp, -0x80
/* 3DE294 E00E4294 AFB40038 */ sw $s4, 0x38($sp)
/* 3DE298 E00E4298 0080A02D */ daddu $s4, $a0, $zero
/* 3DE29C E00E429C AFBF004C */ sw $ra, 0x4c($sp)
/* 3DE2A0 E00E42A0 AFBE0048 */ sw $fp, 0x48($sp)
/* 3DE2A4 E00E42A4 AFB70044 */ sw $s7, 0x44($sp)
/* 3DE2A8 E00E42A8 AFB60040 */ sw $s6, 0x40($sp)
/* 3DE2AC E00E42AC AFB5003C */ sw $s5, 0x3c($sp)
/* 3DE2B0 E00E42B0 AFB30034 */ sw $s3, 0x34($sp)
/* 3DE2B4 E00E42B4 AFB20030 */ sw $s2, 0x30($sp)
/* 3DE2B8 E00E42B8 AFB1002C */ sw $s1, 0x2c($sp)
/* 3DE2BC E00E42BC AFB00028 */ sw $s0, 0x28($sp)
/* 3DE2C0 E00E42C0 F7BE0078 */ sdc1 $f30, 0x78($sp)
/* 3DE2C4 E00E42C4 F7BC0070 */ sdc1 $f28, 0x70($sp)
/* 3DE2C8 E00E42C8 F7BA0068 */ sdc1 $f26, 0x68($sp)
/* 3DE2CC E00E42CC F7B80060 */ sdc1 $f24, 0x60($sp)
/* 3DE2D0 E00E42D0 F7B60058 */ sdc1 $f22, 0x58($sp)
/* 3DE2D4 E00E42D4 F7B40050 */ sdc1 $f20, 0x50($sp)
/* 3DE2D8 E00E42D8 8E830000 */ lw $v1, ($s4)
/* 3DE2DC E00E42DC 8E91000C */ lw $s1, 0xc($s4)
/* 3DE2E0 E00E42E0 30620010 */ andi $v0, $v1, 0x10
/* 3DE2E4 E00E42E4 8E320000 */ lw $s2, ($s1)
/* 3DE2E8 E00E42E8 10400005 */ beqz $v0, .LE00E4300
/* 3DE2EC E00E42EC 2402FFEF */ addiu $v0, $zero, -0x11
/* 3DE2F0 E00E42F0 00621024 */ and $v0, $v1, $v0
/* 3DE2F4 E00E42F4 AE820000 */ sw $v0, ($s4)
/* 3DE2F8 E00E42F8 24020010 */ addiu $v0, $zero, 0x10
/* 3DE2FC E00E42FC AE220030 */ sw $v0, 0x30($s1)
.LE00E4300:
/* 3DE300 E00E4300 8E230030 */ lw $v1, 0x30($s1)
/* 3DE304 E00E4304 286203E8 */ slti $v0, $v1, 0x3e8
/* 3DE308 E00E4308 10400002 */ beqz $v0, .LE00E4314
/* 3DE30C E00E430C 2462FFFF */ addiu $v0, $v1, -1
/* 3DE310 E00E4310 AE220030 */ sw $v0, 0x30($s1)
.LE00E4314:
/* 3DE314 E00E4314 8E220034 */ lw $v0, 0x34($s1)
/* 3DE318 E00E4318 8E230030 */ lw $v1, 0x30($s1)
/* 3DE31C E00E431C 24420001 */ addiu $v0, $v0, 1
/* 3DE320 E00E4320 04610005 */ bgez $v1, .LE00E4338
/* 3DE324 E00E4324 AE220034 */ sw $v0, 0x34($s1)
/* 3DE328 E00E4328 0C080128 */ jal shim_remove_effect
/* 3DE32C E00E432C 0280202D */ daddu $a0, $s4, $zero
/* 3DE330 E00E4330 08039231 */ j .LE00E48C4
/* 3DE334 E00E4334 00000000 */ nop
.LE00E4338:
/* 3DE338 E00E4338 0060A82D */ daddu $s5, $v1, $zero
/* 3DE33C E00E433C 2AA20008 */ slti $v0, $s5, 8
/* 3DE340 E00E4340 10400002 */ beqz $v0, .LE00E434C
/* 3DE344 E00E4344 00151140 */ sll $v0, $s5, 5
/* 3DE348 E00E4348 AE220044 */ sw $v0, 0x44($s1)
.LE00E434C:
/* 3DE34C E00E434C 3C108007 */ lui $s0, %hi(gCurrentCameraID)
/* 3DE350 E00E4350 26107410 */ addiu $s0, $s0, %lo(gCurrentCameraID)
/* 3DE354 E00E4354 8E030000 */ lw $v1, ($s0)
/* 3DE358 E00E4358 C6300014 */ lwc1 $f16, 0x14($s1)
/* 3DE35C E00E435C C63E0010 */ lwc1 $f30, 0x10($s1)
/* 3DE360 E00E4360 00031080 */ sll $v0, $v1, 2
/* 3DE364 E00E4364 00431021 */ addu $v0, $v0, $v1
/* 3DE368 E00E4368 00021080 */ sll $v0, $v0, 2
/* 3DE36C E00E436C 00431023 */ subu $v0, $v0, $v1
/* 3DE370 E00E4370 000218C0 */ sll $v1, $v0, 3
/* 3DE374 E00E4374 00431021 */ addu $v0, $v0, $v1
/* 3DE378 E00E4378 000210C0 */ sll $v0, $v0, 3
/* 3DE37C E00E437C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3DE380 E00E4380 00220821 */ addu $at, $at, $v0
/* 3DE384 E00E4384 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at)
/* 3DE388 E00E4388 E7B00010 */ swc1 $f16, 0x10($sp)
/* 3DE38C E00E438C C6300004 */ lwc1 $f16, 4($s1)
/* 3DE390 E00E4390 E7B00014 */ swc1 $f16, 0x14($sp)
/* 3DE394 E00E4394 C6300008 */ lwc1 $f16, 8($s1)
/* 3DE398 E00E4398 E7B00018 */ swc1 $f16, 0x18($sp)
/* 3DE39C E00E439C C630000C */ lwc1 $f16, 0xc($s1)
/* 3DE3A0 E00E43A0 0C080144 */ jal shim_cos_deg
/* 3DE3A4 E00E43A4 E7B0001C */ swc1 $f16, 0x1c($sp)
/* 3DE3A8 E00E43A8 8E030000 */ lw $v1, ($s0)
/* 3DE3AC E00E43AC 00031080 */ sll $v0, $v1, 2
/* 3DE3B0 E00E43B0 00431021 */ addu $v0, $v0, $v1
/* 3DE3B4 E00E43B4 00021080 */ sll $v0, $v0, 2
/* 3DE3B8 E00E43B8 00431023 */ subu $v0, $v0, $v1
/* 3DE3BC E00E43BC 000218C0 */ sll $v1, $v0, 3
/* 3DE3C0 E00E43C0 00431021 */ addu $v0, $v0, $v1
/* 3DE3C4 E00E43C4 000210C0 */ sll $v0, $v0, 3
/* 3DE3C8 E00E43C8 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3DE3CC E00E43CC 00220821 */ addu $at, $at, $v0
/* 3DE3D0 E00E43D0 C42C1DEC */ lwc1 $f12, %lo(gCameras+0x6C)($at)
/* 3DE3D4 E00E43D4 0C080140 */ jal shim_sin_deg
/* 3DE3D8 E00E43D8 46000706 */ mov.s $f28, $f0
/* 3DE3DC E00E43DC 8E250038 */ lw $a1, 0x38($s1)
/* 3DE3E0 E00E43E0 24130001 */ addiu $s3, $zero, 1
/* 3DE3E4 E00E43E4 AFA50020 */ sw $a1, 0x20($sp)
/* 3DE3E8 E00E43E8 8E3E003C */ lw $fp, 0x3c($s1)
/* 3DE3EC E00E43EC 8E250040 */ lw $a1, 0x40($s1)
/* 3DE3F0 E00E43F0 46000686 */ mov.s $f26, $f0
/* 3DE3F4 E00E43F4 AFA50024 */ sw $a1, 0x24($sp)
/* 3DE3F8 E00E43F8 8E820008 */ lw $v0, 8($s4)
/* 3DE3FC E00E43FC 0262102A */ slt $v0, $s3, $v0
/* 3DE400 E00E4400 10400130 */ beqz $v0, .LE00E48C4
/* 3DE404 E00E4404 26310064 */ addiu $s1, $s1, 0x64
/* 3DE408 E00E4408 241600FF */ addiu $s6, $zero, 0xff
/* 3DE40C E00E440C 3C17E00E */ lui $s7, %hi(D_E00E4DC0)
/* 3DE410 E00E4410 26F74DC0 */ addiu $s7, $s7, %lo(D_E00E4DC0)
/* 3DE414 E00E4414 26300058 */ addiu $s0, $s1, 0x58
/* 3DE418 E00E4418 3C01E00E */ lui $at, %hi(D_E00E4E20)
/* 3DE41C E00E441C D4384E20 */ ldc1 $f24, %lo(D_E00E4E20)($at)
/* 3DE420 E00E4420 3C01E00E */ lui $at, %hi(D_E00E4E28)
/* 3DE424 E00E4424 D4364E28 */ ldc1 $f22, %lo(D_E00E4E28)($at)
.LE00E4428:
/* 3DE428 E00E4428 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE42C E00E442C 24420001 */ addiu $v0, $v0, 1
/* 3DE430 E00E4430 AE02FFD4 */ sw $v0, -0x2c($s0)
/* 3DE434 E00E4434 2842001E */ slti $v0, $v0, 0x1e
/* 3DE438 E00E4438 14400006 */ bnez $v0, .LE00E4454
/* 3DE43C E00E443C 2AA2001E */ slti $v0, $s5, 0x1e
/* 3DE440 E00E4440 10400003 */ beqz $v0, .LE00E4450
/* 3DE444 E00E4444 24020014 */ addiu $v0, $zero, 0x14
/* 3DE448 E00E4448 08039115 */ j .LE00E4454
/* 3DE44C E00E444C AE02FFD4 */ sw $v0, -0x2c($s0)
.LE00E4450:
/* 3DE450 E00E4450 AE00FFD4 */ sw $zero, -0x2c($s0)
.LE00E4454:
/* 3DE454 E00E4454 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE458 E00E4458 04420116 */ bltzl $v0, .LE00E48B4
/* 3DE45C E00E445C 26730001 */ addiu $s3, $s3, 1
/* 3DE460 E00E4460 1440002B */ bnez $v0, .LE00E4510
/* 3DE464 E00E4464 00000000 */ nop
/* 3DE468 E00E4468 4600F40D */ trunc.w.s $f16, $f30
/* 3DE46C E00E446C 44048000 */ mfc1 $a0, $f16
/* 3DE470 E00E4470 0C080138 */ jal shim_rand_int
/* 3DE474 E00E4474 00000000 */ nop
/* 3DE478 E00E4478 3C013FE0 */ lui $at, 0x3fe0
/* 3DE47C E00E447C 44811800 */ mtc1 $at, $f3
/* 3DE480 E00E4480 44801000 */ mtc1 $zero, $f2
/* 3DE484 E00E4484 4600F021 */ cvt.d.s $f0, $f30
/* 3DE488 E00E4488 46220002 */ mul.d $f0, $f0, $f2
/* 3DE48C E00E448C 00000000 */ nop
/* 3DE490 E00E4490 4482A000 */ mtc1 $v0, $f20
/* 3DE494 E00E4494 00000000 */ nop
/* 3DE498 E00E4498 4680A521 */ cvt.d.w $f20, $f20
/* 3DE49C E00E449C 4620A501 */ sub.d $f20, $f20, $f0
/* 3DE4A0 E00E44A0 4620A520 */ cvt.s.d $f20, $f20
/* 3DE4A4 E00E44A4 461CA002 */ mul.s $f0, $f20, $f28
/* 3DE4A8 E00E44A8 00000000 */ nop
/* 3DE4AC E00E44AC C7B00014 */ lwc1 $f16, 0x14($sp)
/* 3DE4B0 E00E44B0 46008000 */ add.s $f0, $f16, $f0
/* 3DE4B4 E00E44B4 C7B00010 */ lwc1 $f16, 0x10($sp)
/* 3DE4B8 E00E44B8 461A0001 */ sub.s $f0, $f0, $f26
/* 3DE4BC E00E44BC 4600840D */ trunc.w.s $f16, $f16
/* 3DE4C0 E00E44C0 44048000 */ mfc1 $a0, $f16
/* 3DE4C4 E00E44C4 0C080138 */ jal shim_rand_int
/* 3DE4C8 E00E44C8 E600FFAC */ swc1 $f0, -0x54($s0)
/* 3DE4CC E00E44CC 461AA502 */ mul.s $f20, $f20, $f26
/* 3DE4D0 E00E44D0 00000000 */ nop
/* 3DE4D4 E00E44D4 44820000 */ mtc1 $v0, $f0
/* 3DE4D8 E00E44D8 00000000 */ nop
/* 3DE4DC E00E44DC 46800020 */ cvt.s.w $f0, $f0
/* 3DE4E0 E00E44E0 C7B00018 */ lwc1 $f16, 0x18($sp)
/* 3DE4E4 E00E44E4 8FA50020 */ lw $a1, 0x20($sp)
/* 3DE4E8 E00E44E8 46008000 */ add.s $f0, $f16, $f0
/* 3DE4EC E00E44EC C7B0001C */ lwc1 $f16, 0x1c($sp)
/* 3DE4F0 E00E44F0 AE05FFE0 */ sw $a1, -0x20($s0)
/* 3DE4F4 E00E44F4 46148500 */ add.s $f20, $f16, $f20
/* 3DE4F8 E00E44F8 AE1EFFE4 */ sw $fp, -0x1c($s0)
/* 3DE4FC E00E44FC 8FA50024 */ lw $a1, 0x24($sp)
/* 3DE500 E00E4500 461CA500 */ add.s $f20, $f20, $f28
/* 3DE504 E00E4504 AE05FFE8 */ sw $a1, -0x18($s0)
/* 3DE508 E00E4508 E600FFB0 */ swc1 $f0, -0x50($s0)
/* 3DE50C E00E450C E614FFB4 */ swc1 $f20, -0x4c($s0)
.LE00E4510:
/* 3DE510 E00E4510 064000BA */ bltz $s2, .LE00E47FC
/* 3DE514 E00E4514 2A420002 */ slti $v0, $s2, 2
/* 3DE518 E00E4518 14400005 */ bnez $v0, .LE00E4530
/* 3DE51C E00E451C 2A420004 */ slti $v0, $s2, 4
/* 3DE520 E00E4520 104000B6 */ beqz $v0, .LE00E47FC
/* 3DE524 E00E4524 00000000 */ nop
/* 3DE528 E00E4528 0803919A */ j .LE00E4668
/* 3DE52C E00E452C 00000000 */ nop
.LE00E4530:
/* 3DE530 E00E4530 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE534 E00E4534 14400020 */ bnez $v0, .LE00E45B8
/* 3DE538 E00E4538 2404000A */ addiu $a0, $zero, 0xa
/* 3DE53C E00E453C AE00FFC0 */ sw $zero, -0x40($s0)
/* 3DE540 E00E4540 AE00FFC4 */ sw $zero, -0x3c($s0)
/* 3DE544 E00E4544 0C080138 */ jal shim_rand_int
/* 3DE548 E00E4548 AE00FFCC */ sw $zero, -0x34($s0)
/* 3DE54C E00E454C 00021023 */ negu $v0, $v0
/* 3DE550 E00E4550 2442FFFE */ addiu $v0, $v0, -2
/* 3DE554 E00E4554 44820000 */ mtc1 $v0, $f0
/* 3DE558 E00E4558 00000000 */ nop
/* 3DE55C E00E455C 46800020 */ cvt.s.w $f0, $f0
/* 3DE560 E00E4560 46000021 */ cvt.d.s $f0, $f0
/* 3DE564 E00E4564 46380002 */ mul.d $f0, $f0, $f24
/* 3DE568 E00E4568 00000000 */ nop
/* 3DE56C E00E456C 2404000A */ addiu $a0, $zero, 0xa
/* 3DE570 E00E4570 AE000004 */ sw $zero, 4($s0)
/* 3DE574 E00E4574 AE000008 */ sw $zero, 8($s0)
/* 3DE578 E00E4578 46200020 */ cvt.s.d $f0, $f0
/* 3DE57C E00E457C 0C080138 */ jal shim_rand_int
/* 3DE580 E00E4580 E600FFD0 */ swc1 $f0, -0x30($s0)
/* 3DE584 E00E4584 44820000 */ mtc1 $v0, $f0
/* 3DE588 E00E4588 00000000 */ nop
/* 3DE58C E00E458C 46800020 */ cvt.s.w $f0, $f0
/* 3DE590 E00E4590 46000021 */ cvt.d.s $f0, $f0
/* 3DE594 E00E4594 46380002 */ mul.d $f0, $f0, $f24
/* 3DE598 E00E4598 00000000 */ nop
/* 3DE59C E00E459C 3C013FE0 */ lui $at, 0x3fe0
/* 3DE5A0 E00E45A0 44811800 */ mtc1 $at, $f3
/* 3DE5A4 E00E45A4 44801000 */ mtc1 $zero, $f2
/* 3DE5A8 E00E45A8 00000000 */ nop
/* 3DE5AC E00E45AC 46220000 */ add.d $f0, $f0, $f2
/* 3DE5B0 E00E45B0 46200020 */ cvt.s.d $f0, $f0
/* 3DE5B4 E00E45B4 E6000000 */ swc1 $f0, ($s0)
.LE00E45B8:
/* 3DE5B8 E00E45B8 C60CFFC0 */ lwc1 $f12, -0x40($s0)
/* 3DE5BC E00E45BC C60AFFCC */ lwc1 $f10, -0x34($s0)
/* 3DE5C0 E00E45C0 460C5281 */ sub.s $f10, $f10, $f12
/* 3DE5C4 E00E45C4 460052A1 */ cvt.d.s $f10, $f10
/* 3DE5C8 E00E45C8 46365282 */ mul.d $f10, $f10, $f22
/* 3DE5CC E00E45CC 00000000 */ nop
/* 3DE5D0 E00E45D0 C608FFC4 */ lwc1 $f8, -0x3c($s0)
/* 3DE5D4 E00E45D4 C606FFD0 */ lwc1 $f6, -0x30($s0)
/* 3DE5D8 E00E45D8 C604FFAC */ lwc1 $f4, -0x54($s0)
/* 3DE5DC E00E45DC 46083181 */ sub.s $f6, $f6, $f8
/* 3DE5E0 E00E45E0 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE5E4 E00E45E4 46006006 */ mov.s $f0, $f12
/* 3DE5E8 E00E45E8 46002100 */ add.s $f4, $f4, $f0
/* 3DE5EC E00E45EC C600FFB0 */ lwc1 $f0, -0x50($s0)
/* 3DE5F0 E00E45F0 46004086 */ mov.s $f2, $f8
/* 3DE5F4 E00E45F4 46020000 */ add.s $f0, $f0, $f2
/* 3DE5F8 E00E45F8 3C01E00E */ lui $at, %hi(D_E00E4E00)
/* 3DE5FC E00E45FC 00220821 */ addu $at, $at, $v0
/* 3DE600 E00E4600 90224E00 */ lbu $v0, %lo(D_E00E4E00)($at)
/* 3DE604 E00E4604 460031A1 */ cvt.d.s $f6, $f6
/* 3DE608 E00E4608 46363182 */ mul.d $f6, $f6, $f22
/* 3DE60C E00E460C 00000000 */ nop
/* 3DE610 E00E4610 3C01E00E */ lui $at, %hi(D_E00E4E30)
/* 3DE614 E00E4614 D4224E30 */ ldc1 $f2, %lo(D_E00E4E30)($at)
/* 3DE618 E00E4618 46006321 */ cvt.d.s $f12, $f12
/* 3DE61C E00E461C E600FFB0 */ swc1 $f0, -0x50($s0)
/* 3DE620 E00E4620 C6000004 */ lwc1 $f0, 4($s0)
/* 3DE624 E00E4624 46004221 */ cvt.d.s $f8, $f8
/* 3DE628 E00E4628 E604FFAC */ swc1 $f4, -0x54($s0)
/* 3DE62C E00E462C 46000021 */ cvt.d.s $f0, $f0
/* 3DE630 E00E4630 46220000 */ add.d $f0, $f0, $f2
/* 3DE634 E00E4634 C6020008 */ lwc1 $f2, 8($s0)
/* 3DE638 E00E4638 3C01E00E */ lui $at, %hi(D_E00E4E38)
/* 3DE63C E00E463C D4244E38 */ ldc1 $f4, %lo(D_E00E4E38)($at)
/* 3DE640 E00E4640 460010A1 */ cvt.d.s $f2, $f2
/* 3DE644 E00E4644 46241080 */ add.d $f2, $f2, $f4
/* 3DE648 E00E4648 AE02FFEC */ sw $v0, -0x14($s0)
/* 3DE64C E00E464C 46200020 */ cvt.s.d $f0, $f0
/* 3DE650 E00E4650 462A6300 */ add.d $f12, $f12, $f10
/* 3DE654 E00E4654 E6000004 */ swc1 $f0, 4($s0)
/* 3DE658 E00E4658 462010A0 */ cvt.s.d $f2, $f2
/* 3DE65C E00E465C 46264200 */ add.d $f8, $f8, $f6
/* 3DE660 E00E4660 080391FA */ j .LE00E47E8
/* 3DE664 E00E4664 E6020008 */ swc1 $f2, 8($s0)
.LE00E4668:
/* 3DE668 E00E4668 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE66C E00E466C 1440002D */ bnez $v0, .LE00E4724
/* 3DE670 E00E4670 00571021 */ addu $v0, $v0, $s7
/* 3DE674 E00E4674 24020002 */ addiu $v0, $zero, 2
/* 3DE678 E00E4678 56420018 */ bnel $s2, $v0, .LE00E46DC
/* 3DE67C E00E467C AE00FFC0 */ sw $zero, -0x40($s0)
/* 3DE680 E00E4680 0C080138 */ jal shim_rand_int
/* 3DE684 E00E4684 24040014 */ addiu $a0, $zero, 0x14
/* 3DE688 E00E4688 2442FFF6 */ addiu $v0, $v0, -0xa
/* 3DE68C E00E468C 44820000 */ mtc1 $v0, $f0
/* 3DE690 E00E4690 00000000 */ nop
/* 3DE694 E00E4694 46800020 */ cvt.s.w $f0, $f0
/* 3DE698 E00E4698 46000021 */ cvt.d.s $f0, $f0
/* 3DE69C E00E469C 46380002 */ mul.d $f0, $f0, $f24
/* 3DE6A0 E00E46A0 00000000 */ nop
/* 3DE6A4 E00E46A4 24040014 */ addiu $a0, $zero, 0x14
/* 3DE6A8 E00E46A8 46200020 */ cvt.s.d $f0, $f0
/* 3DE6AC E00E46AC 0C080138 */ jal shim_rand_int
/* 3DE6B0 E00E46B0 E600FFC0 */ swc1 $f0, -0x40($s0)
/* 3DE6B4 E00E46B4 2442FFF6 */ addiu $v0, $v0, -0xa
/* 3DE6B8 E00E46B8 44820000 */ mtc1 $v0, $f0
/* 3DE6BC E00E46BC 00000000 */ nop
/* 3DE6C0 E00E46C0 46800020 */ cvt.s.w $f0, $f0
/* 3DE6C4 E00E46C4 46000021 */ cvt.d.s $f0, $f0
/* 3DE6C8 E00E46C8 46380002 */ mul.d $f0, $f0, $f24
/* 3DE6CC E00E46CC 00000000 */ nop
/* 3DE6D0 E00E46D0 46200020 */ cvt.s.d $f0, $f0
/* 3DE6D4 E00E46D4 080391B8 */ j .LE00E46E0
/* 3DE6D8 E00E46D8 E600FFC4 */ swc1 $f0, -0x3c($s0)
.LE00E46DC:
/* 3DE6DC E00E46DC AE00FFC4 */ sw $zero, -0x3c($s0)
.LE00E46E0:
/* 3DE6E0 E00E46E0 2404000F */ addiu $a0, $zero, 0xf
/* 3DE6E4 E00E46E4 AE00FFCC */ sw $zero, -0x34($s0)
/* 3DE6E8 E00E46E8 0C080138 */ jal shim_rand_int
/* 3DE6EC E00E46EC AE00FFD0 */ sw $zero, -0x30($s0)
/* 3DE6F0 E00E46F0 2404000F */ addiu $a0, $zero, 0xf
/* 3DE6F4 E00E46F4 44820000 */ mtc1 $v0, $f0
/* 3DE6F8 E00E46F8 00000000 */ nop
/* 3DE6FC E00E46FC 46800020 */ cvt.s.w $f0, $f0
/* 3DE700 E00E4700 0C080138 */ jal shim_rand_int
/* 3DE704 E00E4704 E6000004 */ swc1 $f0, 4($s0)
/* 3DE708 E00E4708 44820000 */ mtc1 $v0, $f0
/* 3DE70C E00E470C 00000000 */ nop
/* 3DE710 E00E4710 46800020 */ cvt.s.w $f0, $f0
/* 3DE714 E00E4714 E6000008 */ swc1 $f0, 8($s0)
/* 3DE718 E00E4718 AE16FFEC */ sw $s6, -0x14($s0)
/* 3DE71C E00E471C 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE720 E00E4720 00571021 */ addu $v0, $v0, $s7
.LE00E4724:
/* 3DE724 E00E4724 90420000 */ lbu $v0, ($v0)
/* 3DE728 E00E4728 3C01E00E */ lui $at, %hi(D_E00E4E40)
/* 3DE72C E00E472C D4204E40 */ ldc1 $f0, %lo(D_E00E4E40)($at)
/* 3DE730 E00E4730 44827000 */ mtc1 $v0, $f14
/* 3DE734 E00E4734 00000000 */ nop
/* 3DE738 E00E4738 468073A0 */ cvt.s.w $f14, $f14
/* 3DE73C E00E473C 460073A1 */ cvt.d.s $f14, $f14
/* 3DE740 E00E4740 46207382 */ mul.d $f14, $f14, $f0
/* 3DE744 E00E4744 00000000 */ nop
/* 3DE748 E00E4748 C60CFFC0 */ lwc1 $f12, -0x40($s0)
/* 3DE74C E00E474C C60AFFCC */ lwc1 $f10, -0x34($s0)
/* 3DE750 E00E4750 460C5281 */ sub.s $f10, $f10, $f12
/* 3DE754 E00E4754 460052A1 */ cvt.d.s $f10, $f10
/* 3DE758 E00E4758 46365282 */ mul.d $f10, $f10, $f22
/* 3DE75C E00E475C 00000000 */ nop
/* 3DE760 E00E4760 C608FFC4 */ lwc1 $f8, -0x3c($s0)
/* 3DE764 E00E4764 C606FFD0 */ lwc1 $f6, -0x30($s0)
/* 3DE768 E00E4768 46083181 */ sub.s $f6, $f6, $f8
/* 3DE76C E00E476C C604FFAC */ lwc1 $f4, -0x54($s0)
/* 3DE770 E00E4770 46006006 */ mov.s $f0, $f12
/* 3DE774 E00E4774 46002100 */ add.s $f4, $f4, $f0
/* 3DE778 E00E4778 C602FFB0 */ lwc1 $f2, -0x50($s0)
/* 3DE77C E00E477C 46004006 */ mov.s $f0, $f8
/* 3DE780 E00E4780 46001080 */ add.s $f2, $f2, $f0
/* 3DE784 E00E4784 460031A1 */ cvt.d.s $f6, $f6
/* 3DE788 E00E4788 46363182 */ mul.d $f6, $f6, $f22
/* 3DE78C E00E478C 00000000 */ nop
/* 3DE790 E00E4790 3C01E00E */ lui $at, %hi(D_E00E4E48)
/* 3DE794 E00E4794 D4204E48 */ ldc1 $f0, %lo(D_E00E4E48)($at)
/* 3DE798 E00E4798 46006321 */ cvt.d.s $f12, $f12
/* 3DE79C E00E479C E602FFB0 */ swc1 $f2, -0x50($s0)
/* 3DE7A0 E00E47A0 C6020004 */ lwc1 $f2, 4($s0)
/* 3DE7A4 E00E47A4 46004221 */ cvt.d.s $f8, $f8
/* 3DE7A8 E00E47A8 E604FFAC */ swc1 $f4, -0x54($s0)
/* 3DE7AC E00E47AC 460010A1 */ cvt.d.s $f2, $f2
/* 3DE7B0 E00E47B0 46201080 */ add.d $f2, $f2, $f0
/* 3DE7B4 E00E47B4 C6000008 */ lwc1 $f0, 8($s0)
/* 3DE7B8 E00E47B8 3C01E00E */ lui $at, %hi(D_E00E4E50)
/* 3DE7BC E00E47BC D4244E50 */ ldc1 $f4, %lo(D_E00E4E50)($at)
/* 3DE7C0 E00E47C0 46000021 */ cvt.d.s $f0, $f0
/* 3DE7C4 E00E47C4 46240000 */ add.d $f0, $f0, $f4
/* 3DE7C8 E00E47C8 462010A0 */ cvt.s.d $f2, $f2
/* 3DE7CC E00E47CC E6020004 */ swc1 $f2, 4($s0)
/* 3DE7D0 E00E47D0 46200020 */ cvt.s.d $f0, $f0
/* 3DE7D4 E00E47D4 462A6300 */ add.d $f12, $f12, $f10
/* 3DE7D8 E00E47D8 E6000008 */ swc1 $f0, 8($s0)
/* 3DE7DC E00E47DC 462073A0 */ cvt.s.d $f14, $f14
/* 3DE7E0 E00E47E0 46264200 */ add.d $f8, $f8, $f6
/* 3DE7E4 E00E47E4 E60E0000 */ swc1 $f14, ($s0)
.LE00E47E8:
/* 3DE7E8 E00E47E8 46206320 */ cvt.s.d $f12, $f12
/* 3DE7EC E00E47EC 46204220 */ cvt.s.d $f8, $f8
/* 3DE7F0 E00E47F0 E60CFFC0 */ swc1 $f12, -0x40($s0)
/* 3DE7F4 E00E47F4 0803922C */ j .LE00E48B0
/* 3DE7F8 E00E47F8 E608FFC4 */ swc1 $f8, -0x3c($s0)
.LE00E47FC:
/* 3DE7FC E00E47FC 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE800 E00E4800 14400017 */ bnez $v0, .LE00E4860
/* 3DE804 E00E4804 24020004 */ addiu $v0, $zero, 4
/* 3DE808 E00E4808 3C013F80 */ lui $at, 0x3f80
/* 3DE80C E00E480C 44810000 */ mtc1 $at, $f0
/* 3DE810 E00E4810 2404007F */ addiu $a0, $zero, 0x7f
/* 3DE814 E00E4814 AE000004 */ sw $zero, 4($s0)
/* 3DE818 E00E4818 AE000008 */ sw $zero, 8($s0)
/* 3DE81C E00E481C AE16FFEC */ sw $s6, -0x14($s0)
/* 3DE820 E00E4820 0C080138 */ jal shim_rand_int
/* 3DE824 E00E4824 E6000000 */ swc1 $f0, ($s0)
/* 3DE828 E00E4828 24420080 */ addiu $v0, $v0, 0x80
/* 3DE82C E00E482C 02C22023 */ subu $a0, $s6, $v0
/* 3DE830 E00E4830 0C080138 */ jal shim_rand_int
/* 3DE834 E00E4834 AE02FFE0 */ sw $v0, -0x20($s0)
/* 3DE838 E00E4838 24420080 */ addiu $v0, $v0, 0x80
/* 3DE83C E00E483C 2404017F */ addiu $a0, $zero, 0x17f
/* 3DE840 E00E4840 8E03FFE0 */ lw $v1, -0x20($s0)
/* 3DE844 E00E4844 00822023 */ subu $a0, $a0, $v0
/* 3DE848 E00E4848 AE02FFE4 */ sw $v0, -0x1c($s0)
/* 3DE84C E00E484C 0C080138 */ jal shim_rand_int
/* 3DE850 E00E4850 00832023 */ subu $a0, $a0, $v1
/* 3DE854 E00E4854 24420080 */ addiu $v0, $v0, 0x80
/* 3DE858 E00E4858 AE02FFE8 */ sw $v0, -0x18($s0)
/* 3DE85C E00E485C 24020004 */ addiu $v0, $zero, 4
.LE00E4860:
/* 3DE860 E00E4860 16420006 */ bne $s2, $v0, .LE00E487C
/* 3DE864 E00E4864 00000000 */ nop
/* 3DE868 E00E4868 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE86C E00E486C 3C01E00E */ lui $at, %hi(D_E00E4DE0)
/* 3DE870 E00E4870 00220821 */ addu $at, $at, $v0
/* 3DE874 E00E4874 08039222 */ j .LE00E4888
/* 3DE878 E00E4878 90224DE0 */ lbu $v0, %lo(D_E00E4DE0)($at)
.LE00E487C:
/* 3DE87C E00E487C 8E02FFD4 */ lw $v0, -0x2c($s0)
/* 3DE880 E00E4880 00571021 */ addu $v0, $v0, $s7
/* 3DE884 E00E4884 90420000 */ lbu $v0, ($v0)
.LE00E4888:
/* 3DE888 E00E4888 3C01E00E */ lui $at, %hi(D_E00E4E58)
/* 3DE88C E00E488C D4224E58 */ ldc1 $f2, %lo(D_E00E4E58)($at)
/* 3DE890 E00E4890 44820000 */ mtc1 $v0, $f0
/* 3DE894 E00E4894 00000000 */ nop
/* 3DE898 E00E4898 46800020 */ cvt.s.w $f0, $f0
/* 3DE89C E00E489C 46000021 */ cvt.d.s $f0, $f0
/* 3DE8A0 E00E48A0 46220002 */ mul.d $f0, $f0, $f2
/* 3DE8A4 E00E48A4 00000000 */ nop
/* 3DE8A8 E00E48A8 46200020 */ cvt.s.d $f0, $f0
/* 3DE8AC E00E48AC E6000000 */ swc1 $f0, ($s0)
.LE00E48B0:
/* 3DE8B0 E00E48B0 26730001 */ addiu $s3, $s3, 1
.LE00E48B4:
/* 3DE8B4 E00E48B4 8E820008 */ lw $v0, 8($s4)
/* 3DE8B8 E00E48B8 0262102A */ slt $v0, $s3, $v0
/* 3DE8BC E00E48BC 1440FEDA */ bnez $v0, .LE00E4428
/* 3DE8C0 E00E48C0 26100064 */ addiu $s0, $s0, 0x64
.LE00E48C4:
/* 3DE8C4 E00E48C4 8FBF004C */ lw $ra, 0x4c($sp)
/* 3DE8C8 E00E48C8 8FBE0048 */ lw $fp, 0x48($sp)
/* 3DE8CC E00E48CC 8FB70044 */ lw $s7, 0x44($sp)
/* 3DE8D0 E00E48D0 8FB60040 */ lw $s6, 0x40($sp)
/* 3DE8D4 E00E48D4 8FB5003C */ lw $s5, 0x3c($sp)
/* 3DE8D8 E00E48D8 8FB40038 */ lw $s4, 0x38($sp)
/* 3DE8DC E00E48DC 8FB30034 */ lw $s3, 0x34($sp)
/* 3DE8E0 E00E48E0 8FB20030 */ lw $s2, 0x30($sp)
/* 3DE8E4 E00E48E4 8FB1002C */ lw $s1, 0x2c($sp)
/* 3DE8E8 E00E48E8 8FB00028 */ lw $s0, 0x28($sp)
/* 3DE8EC E00E48EC D7BE0078 */ ldc1 $f30, 0x78($sp)
/* 3DE8F0 E00E48F0 D7BC0070 */ ldc1 $f28, 0x70($sp)
/* 3DE8F4 E00E48F4 D7BA0068 */ ldc1 $f26, 0x68($sp)
/* 3DE8F8 E00E48F8 D7B80060 */ ldc1 $f24, 0x60($sp)
/* 3DE8FC E00E48FC D7B60058 */ ldc1 $f22, 0x58($sp)
/* 3DE900 E00E4900 D7B40050 */ ldc1 $f20, 0x50($sp)
/* 3DE904 E00E4904 03E00008 */ jr $ra
/* 3DE908 E00E4908 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -1,323 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_E0066CE0
.word LE006615C_36618C, LE006615C_36618C, LE0066198_3661C8, LE00661C0_3661F0, LE006620C_36623C, LE0066240_366270, LE006626C_36629C, LE00662A0_3662D0, LE00662DC_36630C, LE0066318_366348, LE0066348_366378, LE00663AC_3663DC, LE00663F8_366428, LE00663F8_366428, LE006642C_36645C, 0
.section .text
glabel radial_shimmer_main
/* 366030 E0066000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 366034 E0066004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 366038 E0066008 4485A000 */ mtc1 $a1, $f20
/* 36603C E006600C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 366040 E0066010 4486B000 */ mtc1 $a2, $f22
/* 366044 E0066014 AFB1002C */ sw $s1, 0x2c($sp)
/* 366048 E0066018 0080882D */ daddu $s1, $a0, $zero
/* 36604C E006601C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 366050 E0066020 4487C000 */ mtc1 $a3, $f24
/* 366054 E0066024 27A40010 */ addiu $a0, $sp, 0x10
/* 366058 E0066028 AFB00028 */ sw $s0, 0x28($sp)
/* 36605C E006602C 8FB00064 */ lw $s0, 0x64($sp)
/* 366060 E0066030 3C02E006 */ lui $v0, %hi(radial_shimmer_init)
/* 366064 E0066034 24426490 */ addiu $v0, $v0, %lo(radial_shimmer_init)
/* 366068 E0066038 AFA20018 */ sw $v0, 0x18($sp)
/* 36606C E006603C 3C02E006 */ lui $v0, %hi(radial_shimmer_update)
/* 366070 E0066040 24426498 */ addiu $v0, $v0, %lo(radial_shimmer_update)
/* 366074 E0066044 AFA2001C */ sw $v0, 0x1c($sp)
/* 366078 E0066048 3C02E006 */ lui $v0, %hi(radial_shimmer_render)
/* 36607C E006604C 2442672C */ addiu $v0, $v0, %lo(radial_shimmer_render)
/* 366080 E0066050 AFA20020 */ sw $v0, 0x20($sp)
/* 366084 E0066054 24020033 */ addiu $v0, $zero, 0x33
/* 366088 E0066058 AFBF0034 */ sw $ra, 0x34($sp)
/* 36608C E006605C AFB20030 */ sw $s2, 0x30($sp)
/* 366090 E0066060 AFA00010 */ sw $zero, 0x10($sp)
/* 366094 E0066064 AFA00024 */ sw $zero, 0x24($sp)
/* 366098 E0066068 0C080124 */ jal shim_create_effect_instance
/* 36609C E006606C AFA20014 */ sw $v0, 0x14($sp)
/* 3660A0 E0066070 24040070 */ addiu $a0, $zero, 0x70
/* 3660A4 E0066074 24030001 */ addiu $v1, $zero, 1
/* 3660A8 E0066078 0040902D */ daddu $s2, $v0, $zero
/* 3660AC E006607C 0C08012C */ jal shim_general_heap_malloc
/* 3660B0 E0066080 AE430008 */ sw $v1, 8($s2)
/* 3660B4 E0066084 0040202D */ daddu $a0, $v0, $zero
/* 3660B8 E0066088 14800003 */ bnez $a0, .LE0066098
/* 3660BC E006608C AE42000C */ sw $v0, 0xc($s2)
.LE0066090:
/* 3660C0 E0066090 08019824 */ j .LE0066090
/* 3660C4 E0066094 00000000 */ nop
.LE0066098:
/* 3660C8 E0066098 AC910000 */ sw $s1, ($a0)
/* 3660CC E006609C AC900028 */ sw $s0, 0x28($a0)
/* 3660D0 E00660A0 AC80002C */ sw $zero, 0x2c($a0)
/* 3660D4 E00660A4 AC800024 */ sw $zero, 0x24($a0)
/* 3660D8 E00660A8 E4940010 */ swc1 $f20, 0x10($a0)
/* 3660DC E00660AC E4960014 */ swc1 $f22, 0x14($a0)
/* 3660E0 E00660B0 E4980018 */ swc1 $f24, 0x18($a0)
/* 3660E4 E00660B4 E4940004 */ swc1 $f20, 4($a0)
/* 3660E8 E00660B8 E4960008 */ swc1 $f22, 8($a0)
/* 3660EC E00660BC E498000C */ swc1 $f24, 0xc($a0)
/* 3660F0 E00660C0 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 3660F4 E00660C4 3C014080 */ lui $at, 0x4080
/* 3660F8 E00660C8 44811000 */ mtc1 $at, $f2
/* 3660FC E00660CC 3C014120 */ lui $at, 0x4120
/* 366100 E00660D0 44812000 */ mtc1 $at, $f4
/* 366104 E00660D4 3C014248 */ lui $at, 0x4248
/* 366108 E00660D8 44813000 */ mtc1 $at, $f6
/* 36610C E00660DC 240200FF */ addiu $v0, $zero, 0xff
/* 366110 E00660E0 A0820068 */ sb $v0, 0x68($a0)
/* 366114 E00660E4 A0820069 */ sb $v0, 0x69($a0)
/* 366118 E00660E8 A082006B */ sb $v0, 0x6b($a0)
/* 36611C E00660EC A082006C */ sb $v0, 0x6c($a0)
/* 366120 E00660F0 A082006D */ sb $v0, 0x6d($a0)
/* 366124 E00660F4 E4800020 */ swc1 $f0, 0x20($a0)
/* 366128 E00660F8 44800000 */ mtc1 $zero, $f0
/* 36612C E00660FC 2E22000F */ sltiu $v0, $s1, 0xf
/* 366130 E0066100 A080006A */ sb $zero, 0x6a($a0)
/* 366134 E0066104 E482005C */ swc1 $f2, 0x5c($a0)
/* 366138 E0066108 E484001C */ swc1 $f4, 0x1c($a0)
/* 36613C E006610C E4860060 */ swc1 $f6, 0x60($a0)
/* 366140 E0066110 E4800044 */ swc1 $f0, 0x44($a0)
/* 366144 E0066114 E4800040 */ swc1 $f0, 0x40($a0)
/* 366148 E0066118 E480004C */ swc1 $f0, 0x4c($a0)
/* 36614C E006611C E4800048 */ swc1 $f0, 0x48($a0)
/* 366150 E0066120 E4800034 */ swc1 $f0, 0x34($a0)
/* 366154 E0066124 E4800030 */ swc1 $f0, 0x30($a0)
/* 366158 E0066128 E480003C */ swc1 $f0, 0x3c($a0)
/* 36615C E006612C E4800038 */ swc1 $f0, 0x38($a0)
/* 366160 E0066130 E4800058 */ swc1 $f0, 0x58($a0)
/* 366164 E0066134 E4800050 */ swc1 $f0, 0x50($a0)
/* 366168 E0066138 E4800054 */ swc1 $f0, 0x54($a0)
/* 36616C E006613C 104000BB */ beqz $v0, LE006642C_36645C
/* 366170 E0066140 E4800064 */ swc1 $f0, 0x64($a0)
/* 366174 E0066144 00111080 */ sll $v0, $s1, 2
/* 366178 E0066148 3C01E006 */ lui $at, %hi(jtbl_E0066CE0)
/* 36617C E006614C 00220821 */ addu $at, $at, $v0
/* 366180 E0066150 8C226CE0 */ lw $v0, %lo(jtbl_E0066CE0)($at)
/* 366184 E0066154 00400008 */ jr $v0
/* 366188 E0066158 00000000 */ nop
dlabel LE006615C_36618C
/* 36618C E006615C 3C014300 */ lui $at, 0x4300
/* 366190 E0066160 44810000 */ mtc1 $at, $f0
/* 366194 E0066164 3C01428C */ lui $at, 0x428c
/* 366198 E0066168 44812000 */ mtc1 $at, $f4
/* 36619C E006616C 3C01C2C8 */ lui $at, 0xc2c8
/* 3661A0 E0066170 44813000 */ mtc1 $at, $f6
/* 3661A4 E0066174 44901000 */ mtc1 $s0, $f2
/* 3661A8 E0066178 00000000 */ nop
/* 3661AC E006617C 468010A0 */ cvt.s.w $f2, $f2
/* 3661B0 E0066180 E4800040 */ swc1 $f0, 0x40($a0)
/* 3661B4 E0066184 46020003 */ div.s $f0, $f0, $f2
/* 3661B8 E0066188 E4800044 */ swc1 $f0, 0x44($a0)
/* 3661BC E006618C E4840060 */ swc1 $f4, 0x60($a0)
/* 3661C0 E0066190 0801991A */ j .LE0066468
/* 3661C4 E0066194 E4860064 */ swc1 $f6, 0x64($a0)
dlabel LE0066198_3661C8
/* 3661C8 E0066198 3C0140E0 */ lui $at, 0x40e0
/* 3661CC E006619C 44810000 */ mtc1 $at, $f0
/* 3661D0 E00661A0 3C01C040 */ lui $at, 0xc040
/* 3661D4 E00661A4 44811000 */ mtc1 $at, $f2
/* 3661D8 E00661A8 3C014040 */ lui $at, 0x4040
/* 3661DC E00661AC 44812000 */ mtc1 $at, $f4
/* 3661E0 E00661B0 3C01C0E0 */ lui $at, 0xc0e0
/* 3661E4 E00661B4 44813000 */ mtc1 $at, $f6
/* 3661E8 E00661B8 08019907 */ j .LE006641C
/* 3661EC E00661BC E4800034 */ swc1 $f0, 0x34($a0)
dlabel LE00661C0_3661F0
/* 3661F0 E00661C0 3C014380 */ lui $at, 0x4380
/* 3661F4 E00661C4 44810000 */ mtc1 $at, $f0
/* 3661F8 E00661C8 3C0140E0 */ lui $at, 0x40e0
/* 3661FC E00661CC 44812000 */ mtc1 $at, $f4
/* 366200 E00661D0 3C01C040 */ lui $at, 0xc040
/* 366204 E00661D4 44811000 */ mtc1 $at, $f2
/* 366208 E00661D8 3C01C080 */ lui $at, 0xc080
/* 36620C E00661DC 44813000 */ mtc1 $at, $f6
/* 366210 E00661E0 240200EB */ addiu $v0, $zero, 0xeb
/* 366214 E00661E4 A0820068 */ sb $v0, 0x68($a0)
/* 366218 E00661E8 A0820069 */ sb $v0, 0x69($a0)
/* 36621C E00661EC A082006A */ sb $v0, 0x6a($a0)
/* 366220 E00661F0 E4800040 */ swc1 $f0, 0x40($a0)
/* 366224 E00661F4 E4800048 */ swc1 $f0, 0x48($a0)
/* 366228 E00661F8 E4840034 */ swc1 $f4, 0x34($a0)
/* 36622C E00661FC E4820044 */ swc1 $f2, 0x44($a0)
/* 366230 E0066200 E482003C */ swc1 $f2, 0x3c($a0)
/* 366234 E0066204 0801991A */ j .LE0066468
/* 366238 E0066208 E486004C */ swc1 $f6, 0x4c($a0)
dlabel LE006620C_36623C
/* 36623C E006620C 3C0140E0 */ lui $at, 0x40e0
/* 366240 E0066210 44811000 */ mtc1 $at, $f2
/* 366244 E0066214 3C01C040 */ lui $at, 0xc040
/* 366248 E0066218 44810000 */ mtc1 $at, $f0
/* 36624C E006621C 3C01C0A0 */ lui $at, 0xc0a0
/* 366250 E0066220 44812000 */ mtc1 $at, $f4
/* 366254 E0066224 24020014 */ addiu $v0, $zero, 0x14
/* 366258 E0066228 A0820068 */ sb $v0, 0x68($a0)
/* 36625C E006622C 240200C8 */ addiu $v0, $zero, 0xc8
/* 366260 E0066230 A0820069 */ sb $v0, 0x69($a0)
/* 366264 E0066234 24020020 */ addiu $v0, $zero, 0x20
/* 366268 E0066238 080198E6 */ j .LE0066398
/* 36626C E006623C A082006A */ sb $v0, 0x6a($a0)
dlabel LE0066240_366270
/* 366270 E0066240 3C0140E0 */ lui $at, 0x40e0
/* 366274 E0066244 44810000 */ mtc1 $at, $f0
/* 366278 E0066248 3C014040 */ lui $at, 0x4040
/* 36627C E006624C 44811000 */ mtc1 $at, $f2
/* 366280 E0066250 3C0140A0 */ lui $at, 0x40a0
/* 366284 E0066254 44812000 */ mtc1 $at, $f4
/* 366288 E0066258 E4800034 */ swc1 $f0, 0x34($a0)
/* 36628C E006625C E4820044 */ swc1 $f2, 0x44($a0)
/* 366290 E0066260 E482003C */ swc1 $f2, 0x3c($a0)
/* 366294 E0066264 0801991A */ j .LE0066468
/* 366298 E0066268 E484004C */ swc1 $f4, 0x4c($a0)
dlabel LE006626C_36629C
/* 36629C E006626C 3C0140E0 */ lui $at, 0x40e0
/* 3662A0 E0066270 44810000 */ mtc1 $at, $f0
/* 3662A4 E0066274 3C014040 */ lui $at, 0x4040
/* 3662A8 E0066278 44811000 */ mtc1 $at, $f2
/* 3662AC E006627C 3C01C040 */ lui $at, 0xc040
/* 3662B0 E0066280 44812000 */ mtc1 $at, $f4
/* 3662B4 E0066284 3C014080 */ lui $at, 0x4080
/* 3662B8 E0066288 44813000 */ mtc1 $at, $f6
/* 3662BC E006628C 240200EB */ addiu $v0, $zero, 0xeb
/* 3662C0 E0066290 A0820068 */ sb $v0, 0x68($a0)
/* 3662C4 E0066294 A0820069 */ sb $v0, 0x69($a0)
/* 3662C8 E0066298 08019906 */ j .LE0066418
/* 3662CC E006629C A082006A */ sb $v0, 0x6a($a0)
dlabel LE00662A0_3662D0
/* 3662D0 E00662A0 3C0140E0 */ lui $at, 0x40e0
/* 3662D4 E00662A4 44810000 */ mtc1 $at, $f0
/* 3662D8 E00662A8 3C014040 */ lui $at, 0x4040
/* 3662DC E00662AC 44811000 */ mtc1 $at, $f2
/* 3662E0 E00662B0 3C01C040 */ lui $at, 0xc040
/* 3662E4 E00662B4 44812000 */ mtc1 $at, $f4
/* 3662E8 E00662B8 3C0140A0 */ lui $at, 0x40a0
/* 3662EC E00662BC 44813000 */ mtc1 $at, $f6
/* 3662F0 E00662C0 240200FF */ addiu $v0, $zero, 0xff
/* 3662F4 E00662C4 A0820068 */ sb $v0, 0x68($a0)
/* 3662F8 E00662C8 24020064 */ addiu $v0, $zero, 0x64
/* 3662FC E00662CC A0820069 */ sb $v0, 0x69($a0)
/* 366300 E00662D0 24020020 */ addiu $v0, $zero, 0x20
/* 366304 E00662D4 08019906 */ j .LE0066418
/* 366308 E00662D8 A082006A */ sb $v0, 0x6a($a0)
dlabel LE00662DC_36630C
/* 36630C E00662DC 240300D7 */ addiu $v1, $zero, 0xd7
/* 366310 E00662E0 3C0140E0 */ lui $at, 0x40e0
/* 366314 E00662E4 44811000 */ mtc1 $at, $f2
/* 366318 E00662E8 3C01C040 */ lui $at, 0xc040
/* 36631C E00662EC 44810000 */ mtc1 $at, $f0
/* 366320 E00662F0 3C01C000 */ lui $at, 0xc000
/* 366324 E00662F4 44812000 */ mtc1 $at, $f4
/* 366328 E00662F8 240200D0 */ addiu $v0, $zero, 0xd0
/* 36632C E00662FC A0820069 */ sb $v0, 0x69($a0)
/* 366330 E0066300 240200FF */ addiu $v0, $zero, 0xff
/* 366334 E0066304 A0830068 */ sb $v1, 0x68($a0)
/* 366338 E0066308 A080006A */ sb $zero, 0x6a($a0)
/* 36633C E006630C A083006B */ sb $v1, 0x6b($a0)
/* 366340 E0066310 080198E5 */ j .LE0066394
/* 366344 E0066314 A082006C */ sb $v0, 0x6c($a0)
dlabel LE0066318_366348
/* 366348 E0066318 3C014300 */ lui $at, 0x4300
/* 36634C E006631C 44810000 */ mtc1 $at, $f0
/* 366350 E0066320 3C01C2C8 */ lui $at, 0xc2c8
/* 366354 E0066324 44812000 */ mtc1 $at, $f4
/* 366358 E0066328 44901000 */ mtc1 $s0, $f2
/* 36635C E006632C 00000000 */ nop
/* 366360 E0066330 468010A0 */ cvt.s.w $f2, $f2
/* 366364 E0066334 E4800040 */ swc1 $f0, 0x40($a0)
/* 366368 E0066338 46020003 */ div.s $f0, $f0, $f2
/* 36636C E006633C E4800044 */ swc1 $f0, 0x44($a0)
/* 366370 E0066340 0801991A */ j .LE0066468
/* 366374 E0066344 E4840064 */ swc1 $f4, 0x64($a0)
dlabel LE0066348_366378
/* 366378 E0066348 24020020 */ addiu $v0, $zero, 0x20
/* 36637C E006634C 3C0140E0 */ lui $at, 0x40e0
/* 366380 E0066350 44811000 */ mtc1 $at, $f2
/* 366384 E0066354 3C01C040 */ lui $at, 0xc040
/* 366388 E0066358 44810000 */ mtc1 $at, $f0
/* 36638C E006635C 3C01C000 */ lui $at, 0xc000
/* 366390 E0066360 44812000 */ mtc1 $at, $f4
/* 366394 E0066364 240300FF */ addiu $v1, $zero, 0xff
/* 366398 E0066368 A0820069 */ sb $v0, 0x69($a0)
/* 36639C E006636C 24020007 */ addiu $v0, $zero, 7
/* 3663A0 E0066370 A0800068 */ sb $zero, 0x68($a0)
/* 3663A4 E0066374 A0820068 */ sb $v0, 0x68($a0)
/* 3663A8 E0066378 240200D8 */ addiu $v0, $zero, 0xd8
/* 3663AC E006637C A083006A */ sb $v1, 0x6a($a0)
/* 3663B0 E0066380 A082006A */ sb $v0, 0x6a($a0)
/* 3663B4 E0066384 240200E4 */ addiu $v0, $zero, 0xe4
/* 3663B8 E0066388 A0800069 */ sb $zero, 0x69($a0)
/* 3663BC E006638C A082006B */ sb $v0, 0x6b($a0)
/* 3663C0 E0066390 A083006C */ sb $v1, 0x6c($a0)
.LE0066394:
/* 3663C4 E0066394 A080006D */ sb $zero, 0x6d($a0)
.LE0066398:
/* 3663C8 E0066398 E4820034 */ swc1 $f2, 0x34($a0)
/* 3663CC E006639C E4800044 */ swc1 $f0, 0x44($a0)
/* 3663D0 E00663A0 E480003C */ swc1 $f0, 0x3c($a0)
/* 3663D4 E00663A4 0801991A */ j .LE0066468
/* 3663D8 E00663A8 E484004C */ swc1 $f4, 0x4c($a0)
dlabel LE00663AC_3663DC
/* 3663DC E00663AC 3C0140E0 */ lui $at, 0x40e0
/* 3663E0 E00663B0 44810000 */ mtc1 $at, $f0
/* 3663E4 E00663B4 3C014100 */ lui $at, 0x4100
/* 3663E8 E00663B8 44811000 */ mtc1 $at, $f2
/* 3663EC E00663BC 3C01C040 */ lui $at, 0xc040
/* 3663F0 E00663C0 44812000 */ mtc1 $at, $f4
/* 3663F4 E00663C4 3C0140C0 */ lui $at, 0x40c0
/* 3663F8 E00663C8 44813000 */ mtc1 $at, $f6
/* 3663FC E00663CC 24020007 */ addiu $v0, $zero, 7
/* 366400 E00663D0 A0820068 */ sb $v0, 0x68($a0)
/* 366404 E00663D4 240200D8 */ addiu $v0, $zero, 0xd8
/* 366408 E00663D8 A082006A */ sb $v0, 0x6a($a0)
/* 36640C E00663DC 240200E4 */ addiu $v0, $zero, 0xe4
/* 366410 E00663E0 A082006B */ sb $v0, 0x6b($a0)
/* 366414 E00663E4 240200FF */ addiu $v0, $zero, 0xff
/* 366418 E00663E8 A0800069 */ sb $zero, 0x69($a0)
/* 36641C E00663EC A082006C */ sb $v0, 0x6c($a0)
/* 366420 E00663F0 08019906 */ j .LE0066418
/* 366424 E00663F4 A080006D */ sb $zero, 0x6d($a0)
dlabel LE00663F8_366428
/* 366428 E00663F8 3C0140E0 */ lui $at, 0x40e0
/* 36642C E00663FC 44810000 */ mtc1 $at, $f0
/* 366430 E0066400 3C01C040 */ lui $at, 0xc040
/* 366434 E0066404 44811000 */ mtc1 $at, $f2
/* 366438 E0066408 3C01C0A0 */ lui $at, 0xc0a0
/* 36643C E006640C 44812000 */ mtc1 $at, $f4
/* 366440 E0066410 3C01C080 */ lui $at, 0xc080
/* 366444 E0066414 44813000 */ mtc1 $at, $f6
.LE0066418:
/* 366448 E0066418 E4800034 */ swc1 $f0, 0x34($a0)
.LE006641C:
/* 36644C E006641C E4820044 */ swc1 $f2, 0x44($a0)
/* 366450 E0066420 E484003C */ swc1 $f4, 0x3c($a0)
/* 366454 E0066424 0801991A */ j .LE0066468
/* 366458 E0066428 E486004C */ swc1 $f6, 0x4c($a0)
dlabel LE006642C_36645C
/* 36645C E006642C 3C014080 */ lui $at, 0x4080
/* 366460 E0066430 44810000 */ mtc1 $at, $f0
/* 366464 E0066434 3C0140E0 */ lui $at, 0x40e0
/* 366468 E0066438 44811000 */ mtc1 $at, $f2
/* 36646C E006643C 3C014060 */ lui $at, 0x4060
/* 366470 E0066440 44812000 */ mtc1 $at, $f4
/* 366474 E0066444 3C0141A0 */ lui $at, 0x41a0
/* 366478 E0066448 44813000 */ mtc1 $at, $f6
/* 36647C E006644C 3C01C2D4 */ lui $at, 0xc2d4
/* 366480 E0066450 44814000 */ mtc1 $at, $f8
/* 366484 E0066454 E4800040 */ swc1 $f0, 0x40($a0)
/* 366488 E0066458 E4820034 */ swc1 $f2, 0x34($a0)
/* 36648C E006645C E484004C */ swc1 $f4, 0x4c($a0)
/* 366490 E0066460 E4860060 */ swc1 $f6, 0x60($a0)
/* 366494 E0066464 E4880064 */ swc1 $f8, 0x64($a0)
.LE0066468:
/* 366498 E0066468 0240102D */ daddu $v0, $s2, $zero
/* 36649C E006646C 8FBF0034 */ lw $ra, 0x34($sp)
/* 3664A0 E0066470 8FB20030 */ lw $s2, 0x30($sp)
/* 3664A4 E0066474 8FB1002C */ lw $s1, 0x2c($sp)
/* 3664A8 E0066478 8FB00028 */ lw $s0, 0x28($sp)
/* 3664AC E006647C D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3664B0 E0066480 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3664B4 E0066484 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3664B8 E0066488 03E00008 */ jr $ra
/* 3664BC E006648C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,185 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0066D20
.double 0.7, 0.0
.section .text
glabel radial_shimmer_update
/* 3664C8 E0066498 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3664CC E006649C AFB1003C */ sw $s1, 0x3c($sp)
/* 3664D0 E00664A0 0080882D */ daddu $s1, $a0, $zero
/* 3664D4 E00664A4 AFBF0040 */ sw $ra, 0x40($sp)
/* 3664D8 E00664A8 AFB00038 */ sw $s0, 0x38($sp)
/* 3664DC E00664AC F7B40048 */ sdc1 $f20, 0x48($sp)
/* 3664E0 E00664B0 8E30000C */ lw $s0, 0xc($s1)
/* 3664E4 E00664B4 8E020028 */ lw $v0, 0x28($s0)
/* 3664E8 E00664B8 8E03002C */ lw $v1, 0x2c($s0)
/* 3664EC E00664BC 2442FFFF */ addiu $v0, $v0, -1
/* 3664F0 E00664C0 24630001 */ addiu $v1, $v1, 1
/* 3664F4 E00664C4 AE020028 */ sw $v0, 0x28($s0)
/* 3664F8 E00664C8 AE03002C */ sw $v1, 0x2c($s0)
/* 3664FC E00664CC 8E230000 */ lw $v1, ($s1)
/* 366500 E00664D0 30620010 */ andi $v0, $v1, 0x10
/* 366504 E00664D4 10400005 */ beqz $v0, .LE00664EC
/* 366508 E00664D8 2402FFEF */ addiu $v0, $zero, -0x11
/* 36650C E00664DC 00621024 */ and $v0, $v1, $v0
/* 366510 E00664E0 AE220000 */ sw $v0, ($s1)
/* 366514 E00664E4 24020010 */ addiu $v0, $zero, 0x10
/* 366518 E00664E8 AE020028 */ sw $v0, 0x28($s0)
.LE00664EC:
/* 36651C E00664EC 8E050028 */ lw $a1, 0x28($s0)
/* 366520 E00664F0 04A10005 */ bgez $a1, .LE0066508
/* 366524 E00664F4 00000000 */ nop
/* 366528 E00664F8 0C080128 */ jal shim_remove_effect
/* 36652C E00664FC 0220202D */ daddu $a0, $s1, $zero
/* 366530 E0066500 080199C5 */ j .LE0066714
/* 366534 E0066504 00000000 */ nop
.LE0066508:
/* 366538 E0066508 8E04002C */ lw $a0, 0x2c($s0)
/* 36653C E006650C 2882000B */ slti $v0, $a0, 0xb
/* 366540 E0066510 1040000A */ beqz $v0, .LE006653C
/* 366544 E0066514 3C036666 */ lui $v1, 0x6666
/* 366548 E0066518 34636667 */ ori $v1, $v1, 0x6667
/* 36654C E006651C 00041200 */ sll $v0, $a0, 8
/* 366550 E0066520 00441023 */ subu $v0, $v0, $a0
/* 366554 E0066524 00430018 */ mult $v0, $v1
/* 366558 E0066528 000217C3 */ sra $v0, $v0, 0x1f
/* 36655C E006652C 00004010 */ mfhi $t0
/* 366560 E0066530 00081883 */ sra $v1, $t0, 2
/* 366564 E0066534 00621823 */ subu $v1, $v1, $v0
/* 366568 E0066538 AE030024 */ sw $v1, 0x24($s0)
.LE006653C:
/* 36656C E006653C 28A20006 */ slti $v0, $a1, 6
/* 366570 E0066540 10400009 */ beqz $v0, .LE0066568
/* 366574 E0066544 3C032AAA */ lui $v1, 0x2aaa
/* 366578 E0066548 3463AAAB */ ori $v1, $v1, 0xaaab
/* 36657C E006654C 00051200 */ sll $v0, $a1, 8
/* 366580 E0066550 00451023 */ subu $v0, $v0, $a1
/* 366584 E0066554 00430018 */ mult $v0, $v1
/* 366588 E0066558 000217C3 */ sra $v0, $v0, 0x1f
/* 36658C E006655C 00004010 */ mfhi $t0
/* 366590 E0066560 01021023 */ subu $v0, $t0, $v0
/* 366594 E0066564 AE020024 */ sw $v0, 0x24($s0)
.LE0066568:
/* 366598 E0066568 28A2000A */ slti $v0, $a1, 0xa
/* 36659C E006656C 1040000C */ beqz $v0, .LE00665A0
/* 3665A0 E0066570 24020004 */ addiu $v0, $zero, 4
/* 3665A4 E0066574 8E030000 */ lw $v1, ($s0)
/* 3665A8 E0066578 14620009 */ bne $v1, $v0, .LE00665A0
/* 3665AC E006657C 00000000 */ nop
/* 3665B0 E0066580 C600001C */ lwc1 $f0, 0x1c($s0)
/* 3665B4 E0066584 3C01E006 */ lui $at, %hi(D_E0066D20)
/* 3665B8 E0066588 D4226D20 */ ldc1 $f2, %lo(D_E0066D20)($at)
/* 3665BC E006658C 46000021 */ cvt.d.s $f0, $f0
/* 3665C0 E0066590 46220002 */ mul.d $f0, $f0, $f2
/* 3665C4 E0066594 00000000 */ nop
/* 3665C8 E0066598 46200020 */ cvt.s.d $f0, $f0
/* 3665CC E006659C E600001C */ swc1 $f0, 0x1c($s0)
.LE00665A0:
/* 3665D0 E00665A0 C6000020 */ lwc1 $f0, 0x20($s0)
/* 3665D4 E00665A4 3C013F80 */ lui $at, 0x3f80
/* 3665D8 E00665A8 4481A000 */ mtc1 $at, $f20
/* 3665DC E00665AC 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3665E0 E00665B0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3665E4 E00665B4 27A20028 */ addiu $v0, $sp, 0x28
/* 3665E8 E00665B8 E600001C */ swc1 $f0, 0x1c($s0)
/* 3665EC E00665BC AFA20014 */ sw $v0, 0x14($sp)
/* 3665F0 E00665C0 27A2002C */ addiu $v0, $sp, 0x2c
/* 3665F4 E00665C4 AFA20018 */ sw $v0, 0x18($sp)
/* 3665F8 E00665C8 27A20030 */ addiu $v0, $sp, 0x30
/* 3665FC E00665CC AFA2001C */ sw $v0, 0x1c($sp)
/* 366600 E00665D0 27A20034 */ addiu $v0, $sp, 0x34
/* 366604 E00665D4 00032080 */ sll $a0, $v1, 2
/* 366608 E00665D8 00832021 */ addu $a0, $a0, $v1
/* 36660C E00665DC 00042080 */ sll $a0, $a0, 2
/* 366610 E00665E0 00832023 */ subu $a0, $a0, $v1
/* 366614 E00665E4 AFA20020 */ sw $v0, 0x20($sp)
/* 366618 E00665E8 000410C0 */ sll $v0, $a0, 3
/* 36661C E00665EC 00822021 */ addu $a0, $a0, $v0
/* 366620 E00665F0 000420C0 */ sll $a0, $a0, 3
/* 366624 E00665F4 3C02800B */ lui $v0, %hi(gCameras+0xD4)
/* 366628 E00665F8 24421E54 */ addiu $v0, $v0, %lo(gCameras+0xD4)
/* 36662C E00665FC E7B40010 */ swc1 $f20, 0x10($sp)
/* 366630 E0066600 8E050004 */ lw $a1, 4($s0)
/* 366634 E0066604 8E060008 */ lw $a2, 8($s0)
/* 366638 E0066608 8E07000C */ lw $a3, 0xc($s0)
/* 36663C E006660C 0C080168 */ jal shim_transform_point
/* 366640 E0066610 00822021 */ addu $a0, $a0, $v0
/* 366644 E0066614 C7A00034 */ lwc1 $f0, 0x34($sp)
/* 366648 E0066618 C7A40028 */ lwc1 $f4, 0x28($sp)
/* 36664C E006661C 4600A503 */ div.s $f20, $f20, $f0
/* 366650 E0066620 46142102 */ mul.s $f4, $f4, $f20
/* 366654 E0066624 00000000 */ nop
/* 366658 E0066628 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 36665C E006662C 46140002 */ mul.s $f0, $f0, $f20
/* 366660 E0066630 00000000 */ nop
/* 366664 E0066634 C7A20030 */ lwc1 $f2, 0x30($sp)
/* 366668 E0066638 46141082 */ mul.s $f2, $f2, $f20
/* 36666C E006663C 00000000 */ nop
/* 366670 E0066640 AE000018 */ sw $zero, 0x18($s0)
/* 366674 E0066644 E6040010 */ swc1 $f4, 0x10($s0)
/* 366678 E0066648 E6000014 */ swc1 $f0, 0x14($s0)
/* 36667C E006664C 8E220008 */ lw $v0, 8($s1)
/* 366680 E0066650 0000202D */ daddu $a0, $zero, $zero
/* 366684 E0066654 E7B40034 */ swc1 $f20, 0x34($sp)
/* 366688 E0066658 E7A40028 */ swc1 $f4, 0x28($sp)
/* 36668C E006665C E7A0002C */ swc1 $f0, 0x2c($sp)
/* 366690 E0066660 1840002C */ blez $v0, .LE0066714
/* 366694 E0066664 E7A20030 */ swc1 $f2, 0x30($sp)
/* 366698 E0066668 26030048 */ addiu $v1, $s0, 0x48
/* 36669C E006666C C60E0018 */ lwc1 $f14, 0x18($s0)
/* 3666A0 E0066670 3C014400 */ lui $at, 0x4400
/* 3666A4 E0066674 44816000 */ mtc1 $at, $f12
.LE0066678:
/* 3666A8 E0066678 C4620010 */ lwc1 $f2, 0x10($v1)
/* 3666AC E006667C C4600014 */ lwc1 $f0, 0x14($v1)
/* 3666B0 E0066680 C4680008 */ lwc1 $f8, 8($v1)
/* 3666B4 E0066684 C464FFF8 */ lwc1 $f4, -8($v1)
/* 3666B8 E0066688 46001080 */ add.s $f2, $f2, $f0
/* 3666BC E006668C C460000C */ lwc1 $f0, 0xc($v1)
/* 3666C0 E0066690 C46AFFE8 */ lwc1 $f10, -0x18($v1)
/* 3666C4 E0066694 46004200 */ add.s $f8, $f8, $f0
/* 3666C8 E0066698 C460FFFC */ lwc1 $f0, -4($v1)
/* 3666CC E006669C C466FFF0 */ lwc1 $f6, -0x10($v1)
/* 3666D0 E00666A0 46002100 */ add.s $f4, $f4, $f0
/* 3666D4 E00666A4 C460FFEC */ lwc1 $f0, -0x14($v1)
/* 3666D8 E00666A8 E4620010 */ swc1 $f2, 0x10($v1)
/* 3666DC E00666AC 46005280 */ add.s $f10, $f10, $f0
/* 3666E0 E00666B0 C462FFF4 */ lwc1 $f2, -0xc($v1)
/* 3666E4 E00666B4 46023180 */ add.s $f6, $f6, $f2
/* 3666E8 E00666B8 C4600000 */ lwc1 $f0, ($v1)
/* 3666EC E00666BC C4620004 */ lwc1 $f2, 4($v1)
/* 3666F0 E00666C0 46020000 */ add.s $f0, $f0, $f2
/* 3666F4 E00666C4 E4680008 */ swc1 $f8, 8($v1)
/* 3666F8 E00666C8 460E203C */ c.lt.s $f4, $f14
/* 3666FC E00666CC E464FFF8 */ swc1 $f4, -8($v1)
/* 366700 E00666D0 E46AFFE8 */ swc1 $f10, -0x18($v1)
/* 366704 E00666D4 E466FFF0 */ swc1 $f6, -0x10($v1)
/* 366708 E00666D8 45000003 */ bc1f .LE00666E8
/* 36670C E00666DC E4600000 */ swc1 $f0, ($v1)
/* 366710 E00666E0 460C2000 */ add.s $f0, $f4, $f12
/* 366714 E00666E4 E460FFF8 */ swc1 $f0, -8($v1)
.LE00666E8:
/* 366718 E00666E8 C4600000 */ lwc1 $f0, ($v1)
/* 36671C E00666EC 460E003C */ c.lt.s $f0, $f14
/* 366720 E00666F0 00000000 */ nop
/* 366724 E00666F4 45000003 */ bc1f .LE0066704
/* 366728 E00666F8 24840001 */ addiu $a0, $a0, 1
/* 36672C E00666FC 460C0000 */ add.s $f0, $f0, $f12
/* 366730 E0066700 E4600000 */ swc1 $f0, ($v1)
.LE0066704:
/* 366734 E0066704 8E220008 */ lw $v0, 8($s1)
/* 366738 E0066708 0082102A */ slt $v0, $a0, $v0
/* 36673C E006670C 1440FFDA */ bnez $v0, .LE0066678
/* 366740 E0066710 24630070 */ addiu $v1, $v1, 0x70
.LE0066714:
/* 366744 E0066714 8FBF0040 */ lw $ra, 0x40($sp)
/* 366748 E0066718 8FB1003C */ lw $s1, 0x3c($sp)
/* 36674C E006671C 8FB00038 */ lw $s0, 0x38($sp)
/* 366750 E0066720 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 366754 E0066724 03E00008 */ jr $ra
/* 366758 E0066728 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,650 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E009EE20
.double 0.95
dlabel D_E009EE28
.double 2.3
dlabel D_E009EE30
.double 0.05
dlabel D_E009EE38
.double 0.1
.section .text
glabel radiating_energy_orb_appendGfx
/* 3A0344 E009E424 27BDFED0 */ addiu $sp, $sp, -0x130
/* 3A0348 E009E428 AFBF0104 */ sw $ra, 0x104($sp)
/* 3A034C E009E42C AFBE0100 */ sw $fp, 0x100($sp)
/* 3A0350 E009E430 AFB700FC */ sw $s7, 0xfc($sp)
/* 3A0354 E009E434 AFB600F8 */ sw $s6, 0xf8($sp)
/* 3A0358 E009E438 AFB500F4 */ sw $s5, 0xf4($sp)
/* 3A035C E009E43C AFB400F0 */ sw $s4, 0xf0($sp)
/* 3A0360 E009E440 AFB300EC */ sw $s3, 0xec($sp)
/* 3A0364 E009E444 AFB200E8 */ sw $s2, 0xe8($sp)
/* 3A0368 E009E448 AFB100E4 */ sw $s1, 0xe4($sp)
/* 3A036C E009E44C AFB000E0 */ sw $s0, 0xe0($sp)
/* 3A0370 E009E450 F7BC0128 */ sdc1 $f28, 0x128($sp)
/* 3A0374 E009E454 F7BA0120 */ sdc1 $f26, 0x120($sp)
/* 3A0378 E009E458 F7B80118 */ sdc1 $f24, 0x118($sp)
/* 3A037C E009E45C F7B60110 */ sdc1 $f22, 0x110($sp)
/* 3A0380 E009E460 F7B40108 */ sdc1 $f20, 0x108($sp)
/* 3A0384 E009E464 AFA40130 */ sw $a0, 0x130($sp)
/* 3A0388 E009E468 8C94000C */ lw $s4, 0xc($a0)
/* 3A038C E009E46C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3A0390 E009E470 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3A0394 E009E474 3C04800B */ lui $a0, %hi(gCameras)
/* 3A0398 E009E478 24841D80 */ addiu $a0, $a0, %lo(gCameras)
/* 3A039C E009E47C 00031080 */ sll $v0, $v1, 2
/* 3A03A0 E009E480 00431021 */ addu $v0, $v0, $v1
/* 3A03A4 E009E484 00021080 */ sll $v0, $v0, 2
/* 3A03A8 E009E488 00431023 */ subu $v0, $v0, $v1
/* 3A03AC E009E48C 000218C0 */ sll $v1, $v0, 3
/* 3A03B0 E009E490 00431021 */ addu $v0, $v0, $v1
/* 3A03B4 E009E494 8E8D0014 */ lw $t5, 0x14($s4)
/* 3A03B8 E009E498 000210C0 */ sll $v0, $v0, 3
/* 3A03BC E009E49C AFAD00DC */ sw $t5, 0xdc($sp)
/* 3A03C0 E009E4A0 8E8D001C */ lw $t5, 0x1c($s4)
/* 3A03C4 E009E4A4 0044B021 */ addu $s6, $v0, $a0
/* 3A03C8 E009E4A8 31B20001 */ andi $s2, $t5, 1
/* 3A03CC E009E4AC 12400009 */ beqz $s2, .LE009E4D4
/* 3A03D0 E009E4B0 AFAD00D8 */ sw $t5, 0xd8($sp)
/* 3A03D4 E009E4B4 3C01E00A */ lui $at, %hi(D_E009EE20)
/* 3A03D8 E009E4B8 D422EE20 */ ldc1 $f2, %lo(D_E009EE20)($at)
/* 3A03DC E009E4BC C7A000DC */ lwc1 $f0, 0xdc($sp)
/* 3A03E0 E009E4C0 46800021 */ cvt.d.w $f0, $f0
/* 3A03E4 E009E4C4 46220002 */ mul.d $f0, $f0, $f2
/* 3A03E8 E009E4C8 00000000 */ nop
/* 3A03EC E009E4CC 4620010D */ trunc.w.d $f4, $f0
/* 3A03F0 E009E4D0 E7A400DC */ swc1 $f4, 0xdc($sp)
.LE009E4D4:
/* 3A03F4 E009E4D4 3C06DB06 */ lui $a2, 0xdb06
/* 3A03F8 E009E4D8 34C60024 */ ori $a2, $a2, 0x24
/* 3A03FC E009E4DC 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0400 E009E4E0 3C100001 */ lui $s0, 1
/* 3A0404 E009E4E4 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* 3A0408 E009E4E8 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* 3A040C E009E4EC 8E250000 */ lw $a1, ($s1)
/* 3A0410 E009E4F0 3C02E700 */ lui $v0, 0xe700
/* 3A0414 E009E4F4 00A0182D */ daddu $v1, $a1, $zero
/* 3A0418 E009E4F8 24A50008 */ addiu $a1, $a1, 8
/* 3A041C E009E4FC AE250000 */ sw $a1, ($s1)
/* 3A0420 E009E500 AC620000 */ sw $v0, ($v1)
/* 3A0424 E009E504 AC600004 */ sw $zero, 4($v1)
/* 3A0428 E009E508 ACA60000 */ sw $a2, ($a1)
/* 3A042C E009E50C 8FAD0130 */ lw $t5, 0x130($sp)
/* 3A0430 E009E510 36101630 */ ori $s0, $s0, 0x1630
/* 3A0434 E009E514 8DA30010 */ lw $v1, 0x10($t5)
/* 3A0438 E009E518 24A20008 */ addiu $v0, $a1, 8
/* 3A043C E009E51C AE220000 */ sw $v0, ($s1)
/* 3A0440 E009E520 8C62001C */ lw $v0, 0x1c($v1)
/* 3A0444 E009E524 3C038000 */ lui $v1, 0x8000
/* 3A0448 E009E528 00431021 */ addu $v0, $v0, $v1
/* 3A044C E009E52C ACA20004 */ sw $v0, 4($a1)
/* 3A0450 E009E530 8E850008 */ lw $a1, 8($s4)
/* 3A0454 E009E534 8E86000C */ lw $a2, 0xc($s4)
/* 3A0458 E009E538 8E870010 */ lw $a3, 0x10($s4)
/* 3A045C E009E53C 0C080108 */ jal shim_guTranslateF
/* 3A0460 E009E540 24170001 */ addiu $s7, $zero, 1
/* 3A0464 E009E544 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0468 E009E548 3C138007 */ lui $s3, %hi(gMatrixListPos)
/* 3A046C E009E54C 267341F0 */ addiu $s3, $s3, %lo(gMatrixListPos)
/* 3A0470 E009E550 3C15800A */ lui $s5, %hi(gDisplayContext)
/* 3A0474 E009E554 26B5A674 */ addiu $s5, $s5, %lo(gDisplayContext)
/* 3A0478 E009E558 96650000 */ lhu $a1, ($s3)
/* 3A047C E009E55C 8EA20000 */ lw $v0, ($s5)
/* 3A0480 E009E560 00052980 */ sll $a1, $a1, 6
/* 3A0484 E009E564 00B02821 */ addu $a1, $a1, $s0
/* 3A0488 E009E568 0C080118 */ jal shim_guMtxF2L
/* 3A048C E009E56C 00452821 */ addu $a1, $v0, $a1
/* 3A0490 E009E570 3C03DA38 */ lui $v1, 0xda38
/* 3A0494 E009E574 34630002 */ ori $v1, $v1, 2
/* 3A0498 E009E578 3C0ADA38 */ lui $t2, 0xda38
/* 3A049C E009E57C 01575025 */ or $t2, $t2, $s7
/* 3A04A0 E009E580 3C0BFF40 */ lui $t3, 0xff40
/* 3A04A4 E009E584 356B4000 */ ori $t3, $t3, 0x4000
/* 3A04A8 E009E588 27A40018 */ addiu $a0, $sp, 0x18
/* 3A04AC E009E58C 02F21004 */ sllv $v0, $s2, $s7
/* 3A04B0 E009E590 8FAD00D8 */ lw $t5, 0xd8($sp)
/* 3A04B4 E009E594 4480A000 */ mtc1 $zero, $f20
/* 3A04B8 E009E598 8E280000 */ lw $t0, ($s1)
/* 3A04BC E009E59C 3C013F80 */ lui $at, 0x3f80
/* 3A04C0 E009E5A0 4481C000 */ mtc1 $at, $f24
/* 3A04C4 E009E5A4 004D1021 */ addu $v0, $v0, $t5
/* 3A04C8 E009E5A8 44822000 */ mtc1 $v0, $f4
/* 3A04CC E009E5AC 00000000 */ nop
/* 3A04D0 E009E5B0 46802120 */ cvt.s.w $f4, $f4
/* 3A04D4 E009E5B4 0100482D */ daddu $t1, $t0, $zero
/* 3A04D8 E009E5B8 44052000 */ mfc1 $a1, $f4
/* 3A04DC E009E5BC 4406A000 */ mfc1 $a2, $f20
/* 3A04E0 E009E5C0 96620000 */ lhu $v0, ($s3)
/* 3A04E4 E009E5C4 25080008 */ addiu $t0, $t0, 8
/* 3A04E8 E009E5C8 AE280000 */ sw $t0, ($s1)
/* 3A04EC E009E5CC AD230000 */ sw $v1, ($t1)
/* 3A04F0 E009E5D0 00571821 */ addu $v1, $v0, $s7
/* 3A04F4 E009E5D4 3042FFFF */ andi $v0, $v0, 0xffff
/* 3A04F8 E009E5D8 00021180 */ sll $v0, $v0, 6
/* 3A04FC E009E5DC A6630000 */ sh $v1, ($s3)
/* 3A0500 E009E5E0 8EA30000 */ lw $v1, ($s5)
/* 3A0504 E009E5E4 00501021 */ addu $v0, $v0, $s0
/* 3A0508 E009E5E8 00621821 */ addu $v1, $v1, $v0
/* 3A050C E009E5EC 25020008 */ addiu $v0, $t0, 8
/* 3A0510 E009E5F0 AD230004 */ sw $v1, 4($t1)
/* 3A0514 E009E5F4 AE220000 */ sw $v0, ($s1)
/* 3A0518 E009E5F8 25020010 */ addiu $v0, $t0, 0x10
/* 3A051C E009E5FC AD0A0000 */ sw $t2, ($t0)
/* 3A0520 E009E600 AE220000 */ sw $v0, ($s1)
/* 3A0524 E009E604 8EC30204 */ lw $v1, 0x204($s6)
/* 3A0528 E009E608 3C02FA00 */ lui $v0, 0xfa00
/* 3A052C E009E60C AD020008 */ sw $v0, 8($t0)
/* 3A0530 E009E610 8FAD00DC */ lw $t5, 0xdc($sp)
/* 3A0534 E009E614 4407A000 */ mfc1 $a3, $f20
/* 3A0538 E009E618 31A200FF */ andi $v0, $t5, 0xff
/* 3A053C E009E61C 004B1025 */ or $v0, $v0, $t3
/* 3A0540 E009E620 AD02000C */ sw $v0, 0xc($t0)
/* 3A0544 E009E624 AD030004 */ sw $v1, 4($t0)
/* 3A0548 E009E628 0C080104 */ jal shim_guRotateF
/* 3A054C E009E62C E7B80010 */ swc1 $f24, 0x10($sp)
/* 3A0550 E009E630 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0554 E009E634 96650000 */ lhu $a1, ($s3)
/* 3A0558 E009E638 8EA20000 */ lw $v0, ($s5)
/* 3A055C E009E63C 00052980 */ sll $a1, $a1, 6
/* 3A0560 E009E640 00B02821 */ addu $a1, $a1, $s0
/* 3A0564 E009E644 0C080118 */ jal shim_guMtxF2L
/* 3A0568 E009E648 00452821 */ addu $a1, $v0, $a1
/* 3A056C E009E64C 3C06D838 */ lui $a2, 0xd838
/* 3A0570 E009E650 8E240000 */ lw $a0, ($s1)
/* 3A0574 E009E654 34C60002 */ ori $a2, $a2, 2
/* 3A0578 E009E658 0080282D */ daddu $a1, $a0, $zero
/* 3A057C E009E65C 24840008 */ addiu $a0, $a0, 8
/* 3A0580 E009E660 AE240000 */ sw $a0, ($s1)
/* 3A0584 E009E664 96620000 */ lhu $v0, ($s3)
/* 3A0588 E009E668 3C03DA38 */ lui $v1, 0xda38
/* 3A058C E009E66C ACA30000 */ sw $v1, ($a1)
/* 3A0590 E009E670 00571821 */ addu $v1, $v0, $s7
/* 3A0594 E009E674 3042FFFF */ andi $v0, $v0, 0xffff
/* 3A0598 E009E678 00021180 */ sll $v0, $v0, 6
/* 3A059C E009E67C A6630000 */ sh $v1, ($s3)
/* 3A05A0 E009E680 8EA30000 */ lw $v1, ($s5)
/* 3A05A4 E009E684 00501021 */ addu $v0, $v0, $s0
/* 3A05A8 E009E688 00621821 */ addu $v1, $v1, $v0
/* 3A05AC E009E68C 24820008 */ addiu $v0, $a0, 8
/* 3A05B0 E009E690 ACA30004 */ sw $v1, 4($a1)
/* 3A05B4 E009E694 3C03DE00 */ lui $v1, 0xde00
/* 3A05B8 E009E698 AE220000 */ sw $v0, ($s1)
/* 3A05BC E009E69C 3C020900 */ lui $v0, 0x900
/* 3A05C0 E009E6A0 244212A8 */ addiu $v0, $v0, 0x12a8
/* 3A05C4 E009E6A4 AC820004 */ sw $v0, 4($a0)
/* 3A05C8 E009E6A8 24820010 */ addiu $v0, $a0, 0x10
/* 3A05CC E009E6AC AC830000 */ sw $v1, ($a0)
/* 3A05D0 E009E6B0 AE220000 */ sw $v0, ($s1)
/* 3A05D4 E009E6B4 3C020900 */ lui $v0, 0x900
/* 3A05D8 E009E6B8 24421510 */ addiu $v0, $v0, 0x1510
/* 3A05DC E009E6BC AC82000C */ sw $v0, 0xc($a0)
/* 3A05E0 E009E6C0 24820018 */ addiu $v0, $a0, 0x18
/* 3A05E4 E009E6C4 AC830008 */ sw $v1, 8($a0)
/* 3A05E8 E009E6C8 AE220000 */ sw $v0, ($s1)
/* 3A05EC E009E6CC 24020040 */ addiu $v0, $zero, 0x40
/* 3A05F0 E009E6D0 AC820014 */ sw $v0, 0x14($a0)
/* 3A05F4 E009E6D4 3C020900 */ lui $v0, 0x900
/* 3A05F8 E009E6D8 24421200 */ addiu $v0, $v0, 0x1200
/* 3A05FC E009E6DC AC860010 */ sw $a2, 0x10($a0)
/* 3A0600 E009E6E0 AC830018 */ sw $v1, 0x18($a0)
/* 3A0604 E009E6E4 AC82001C */ sw $v0, 0x1c($a0)
/* 3A0608 E009E6E8 8FAD0130 */ lw $t5, 0x130($sp)
/* 3A060C E009E6EC 26940034 */ addiu $s4, $s4, 0x34
/* 3A0610 E009E6F0 8DA20008 */ lw $v0, 8($t5)
/* 3A0614 E009E6F4 24840020 */ addiu $a0, $a0, 0x20
/* 3A0618 E009E6F8 02E2102A */ slt $v0, $s7, $v0
/* 3A061C E009E6FC 104001A0 */ beqz $v0, .LE009ED80
/* 3A0620 E009E700 AE240000 */ sw $a0, ($s1)
/* 3A0624 E009E704 4600A586 */ mov.s $f22, $f20
/* 3A0628 E009E708 0220902D */ daddu $s2, $s1, $zero
/* 3A062C E009E70C 27B00058 */ addiu $s0, $sp, 0x58
/* 3A0630 E009E710 02A0B02D */ daddu $s6, $s5, $zero
/* 3A0634 E009E714 0260A82D */ daddu $s5, $s3, $zero
/* 3A0638 E009E718 3C130001 */ lui $s3, 1
/* 3A063C E009E71C 36731630 */ ori $s3, $s3, 0x1630
/* 3A0640 E009E720 3C1ED838 */ lui $fp, 0xd838
/* 3A0644 E009E724 37DE0002 */ ori $fp, $fp, 2
/* 3A0648 E009E728 2691002C */ addiu $s1, $s4, 0x2c
/* 3A064C E009E72C 2414000A */ addiu $s4, $zero, 0xa
/* 3A0650 E009E730 3C014270 */ lui $at, 0x4270
/* 3A0654 E009E734 4481E000 */ mtc1 $at, $f28
/* 3A0658 E009E738 3C014000 */ lui $at, 0x4000
/* 3A065C E009E73C 4481D800 */ mtc1 $at, $f27
/* 3A0660 E009E740 4480D000 */ mtc1 $zero, $f26
.LE009E744:
/* 3A0664 E009E744 C634FFFC */ lwc1 $f20, -4($s1)
/* 3A0668 E009E748 4616A032 */ c.eq.s $f20, $f22
/* 3A066C E009E74C 00000000 */ nop
/* 3A0670 E009E750 45030185 */ bc1tl .LE009ED68
/* 3A0674 E009E754 2694000A */ addiu $s4, $s4, 0xa
/* 3A0678 E009E758 3C0AFCFF */ lui $t2, 0xfcff
/* 3A067C E009E75C 354A97FF */ ori $t2, $t2, 0x97ff
/* 3A0680 E009E760 3C09FF2D */ lui $t1, 0xff2d
/* 3A0684 E009E764 3529FEFF */ ori $t1, $t1, 0xfeff
/* 3A0688 E009E768 8E480000 */ lw $t0, ($s2)
/* 3A068C E009E76C 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0690 E009E770 0100282D */ daddu $a1, $t0, $zero
/* 3A0694 E009E774 3C0DFA00 */ lui $t5, 0xfa00
/* 3A0698 E009E778 ACAD0000 */ sw $t5, ($a1)
/* 3A069C E009E77C 8E22FFE8 */ lw $v0, -0x18($s1)
/* 3A06A0 E009E780 8FAD00DC */ lw $t5, 0xdc($sp)
/* 3A06A4 E009E784 2403FF00 */ addiu $v1, $zero, -0x100
/* 3A06A8 E009E788 004D0018 */ mult $v0, $t5
/* 3A06AC E009E78C 4406B000 */ mfc1 $a2, $f22
/* 3A06B0 E009E790 4407B000 */ mfc1 $a3, $f22
/* 3A06B4 E009E794 25080008 */ addiu $t0, $t0, 8
/* 3A06B8 E009E798 AE480000 */ sw $t0, ($s2)
/* 3A06BC E009E79C 00001012 */ mflo $v0
/* 3A06C0 E009E7A0 00021203 */ sra $v0, $v0, 8
/* 3A06C4 E009E7A4 00431025 */ or $v0, $v0, $v1
/* 3A06C8 E009E7A8 ACA20004 */ sw $v0, 4($a1)
/* 3A06CC E009E7AC AD0A0000 */ sw $t2, ($t0)
/* 3A06D0 E009E7B0 AD090004 */ sw $t1, 4($t0)
/* 3A06D4 E009E7B4 E7B80010 */ swc1 $f24, 0x10($sp)
/* 3A06D8 E009E7B8 8E25FFF4 */ lw $a1, -0xc($s1)
/* 3A06DC E009E7BC 25080008 */ addiu $t0, $t0, 8
/* 3A06E0 E009E7C0 0C080104 */ jal shim_guRotateF
/* 3A06E4 E009E7C4 AE480000 */ sw $t0, ($s2)
/* 3A06E8 E009E7C8 8E250000 */ lw $a1, ($s1)
/* 3A06EC E009E7CC 4406B000 */ mfc1 $a2, $f22
/* 3A06F0 E009E7D0 4407B000 */ mfc1 $a3, $f22
/* 3A06F4 E009E7D4 0C080108 */ jal shim_guTranslateF
/* 3A06F8 E009E7D8 0200202D */ daddu $a0, $s0, $zero
/* 3A06FC E009E7DC 0200202D */ daddu $a0, $s0, $zero
/* 3A0700 E009E7E0 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0704 E009E7E4 0C080114 */ jal shim_guMtxCatF
/* 3A0708 E009E7E8 00A0302D */ daddu $a2, $a1, $zero
/* 3A070C E009E7EC 4405A000 */ mfc1 $a1, $f20
/* 3A0710 E009E7F0 4406A000 */ mfc1 $a2, $f20
/* 3A0714 E009E7F4 4407A000 */ mfc1 $a3, $f20
/* 3A0718 E009E7F8 0C080110 */ jal shim_guScaleF
/* 3A071C E009E7FC 0200202D */ daddu $a0, $s0, $zero
/* 3A0720 E009E800 0200202D */ daddu $a0, $s0, $zero
/* 3A0724 E009E804 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0728 E009E808 0C080114 */ jal shim_guMtxCatF
/* 3A072C E009E80C 00A0302D */ daddu $a2, $a1, $zero
/* 3A0730 E009E810 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0734 E009E814 96A50000 */ lhu $a1, ($s5)
/* 3A0738 E009E818 8EC20000 */ lw $v0, ($s6)
/* 3A073C E009E81C 00052980 */ sll $a1, $a1, 6
/* 3A0740 E009E820 00B32821 */ addu $a1, $a1, $s3
/* 3A0744 E009E824 0C080118 */ jal shim_guMtxF2L
/* 3A0748 E009E828 00452821 */ addu $a1, $v0, $a1
/* 3A074C E009E82C 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0750 E009E830 8E480000 */ lw $t0, ($s2)
/* 3A0754 E009E834 4406B000 */ mfc1 $a2, $f22
/* 3A0758 E009E838 4407B000 */ mfc1 $a3, $f22
/* 3A075C E009E83C 96A30000 */ lhu $v1, ($s5)
/* 3A0760 E009E840 0100282D */ daddu $a1, $t0, $zero
/* 3A0764 E009E844 25080008 */ addiu $t0, $t0, 8
/* 3A0768 E009E848 3C0DDA38 */ lui $t5, 0xda38
/* 3A076C E009E84C 24620001 */ addiu $v0, $v1, 1
/* 3A0770 E009E850 3063FFFF */ andi $v1, $v1, 0xffff
/* 3A0774 E009E854 00031980 */ sll $v1, $v1, 6
/* 3A0778 E009E858 AE480000 */ sw $t0, ($s2)
/* 3A077C E009E85C ACAD0000 */ sw $t5, ($a1)
/* 3A0780 E009E860 A6A20000 */ sh $v0, ($s5)
/* 3A0784 E009E864 8EC20000 */ lw $v0, ($s6)
/* 3A0788 E009E868 00731821 */ addu $v1, $v1, $s3
/* 3A078C E009E86C 00431021 */ addu $v0, $v0, $v1
/* 3A0790 E009E870 ACA20004 */ sw $v0, 4($a1)
/* 3A0794 E009E874 3C0DDE00 */ lui $t5, 0xde00
/* 3A0798 E009E878 25020008 */ addiu $v0, $t0, 8
/* 3A079C E009E87C AD0D0000 */ sw $t5, ($t0)
/* 3A07A0 E009E880 3C03E00A */ lui $v1, %hi(D_E009EDFC)
/* 3A07A4 E009E884 8C63EDFC */ lw $v1, %lo(D_E009EDFC)($v1)
/* 3A07A8 E009E888 240D0040 */ addiu $t5, $zero, 0x40
/* 3A07AC E009E88C AE420000 */ sw $v0, ($s2)
/* 3A07B0 E009E890 AD1E0008 */ sw $fp, 8($t0)
/* 3A07B4 E009E894 AD0D000C */ sw $t5, 0xc($t0)
/* 3A07B8 E009E898 AD030004 */ sw $v1, 4($t0)
/* 3A07BC E009E89C E7B80010 */ swc1 $f24, 0x10($sp)
/* 3A07C0 E009E8A0 8E25FFF4 */ lw $a1, -0xc($s1)
/* 3A07C4 E009E8A4 25080010 */ addiu $t0, $t0, 0x10
/* 3A07C8 E009E8A8 0C080104 */ jal shim_guRotateF
/* 3A07CC E009E8AC AE480000 */ sw $t0, ($s2)
/* 3A07D0 E009E8B0 C6220000 */ lwc1 $f2, ($s1)
/* 3A07D4 E009E8B4 3C0140A0 */ lui $at, 0x40a0
/* 3A07D8 E009E8B8 44810000 */ mtc1 $at, $f0
/* 3A07DC E009E8BC 00000000 */ nop
/* 3A07E0 E009E8C0 46001080 */ add.s $f2, $f2, $f0
/* 3A07E4 E009E8C4 4406B000 */ mfc1 $a2, $f22
/* 3A07E8 E009E8C8 4407B000 */ mfc1 $a3, $f22
/* 3A07EC E009E8CC 44051000 */ mfc1 $a1, $f2
/* 3A07F0 E009E8D0 0C080108 */ jal shim_guTranslateF
/* 3A07F4 E009E8D4 0200202D */ daddu $a0, $s0, $zero
/* 3A07F8 E009E8D8 0200202D */ daddu $a0, $s0, $zero
/* 3A07FC E009E8DC 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0800 E009E8E0 0C080114 */ jal shim_guMtxCatF
/* 3A0804 E009E8E4 00A0302D */ daddu $a2, $a1, $zero
/* 3A0808 E009E8E8 3C01E00A */ lui $at, %hi(D_E009EE28)
/* 3A080C E009E8EC D420EE28 */ ldc1 $f0, %lo(D_E009EE28)($at)
/* 3A0810 E009E8F0 4600A0A1 */ cvt.d.s $f2, $f20
/* 3A0814 E009E8F4 46220001 */ sub.d $f0, $f0, $f2
/* 3A0818 E009E8F8 46200020 */ cvt.s.d $f0, $f0
/* 3A081C E009E8FC 44050000 */ mfc1 $a1, $f0
/* 3A0820 E009E900 0200202D */ daddu $a0, $s0, $zero
/* 3A0824 E009E904 00A0302D */ daddu $a2, $a1, $zero
/* 3A0828 E009E908 0C080110 */ jal shim_guScaleF
/* 3A082C E009E90C 00A0382D */ daddu $a3, $a1, $zero
/* 3A0830 E009E910 0200202D */ daddu $a0, $s0, $zero
/* 3A0834 E009E914 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0838 E009E918 0C080114 */ jal shim_guMtxCatF
/* 3A083C E009E91C 00A0302D */ daddu $a2, $a1, $zero
/* 3A0840 E009E920 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0844 E009E924 96A50000 */ lhu $a1, ($s5)
/* 3A0848 E009E928 8EC20000 */ lw $v0, ($s6)
/* 3A084C E009E92C 00052980 */ sll $a1, $a1, 6
/* 3A0850 E009E930 00B32821 */ addu $a1, $a1, $s3
/* 3A0854 E009E934 0C080118 */ jal shim_guMtxF2L
/* 3A0858 E009E938 00452821 */ addu $a1, $v0, $a1
/* 3A085C E009E93C 3C0CFF00 */ lui $t4, 0xff00
/* 3A0860 E009E940 358CFF00 */ ori $t4, $t4, 0xff00
/* 3A0864 E009E944 3C0BFF80 */ lui $t3, 0xff80
/* 3A0868 E009E948 356BFF00 */ ori $t3, $t3, 0xff00
/* 3A086C E009E94C 3C0AFC50 */ lui $t2, 0xfc50
/* 3A0870 E009E950 354A96A1 */ ori $t2, $t2, 0x96a1
/* 3A0874 E009E954 3C09332D */ lui $t1, 0x332d
/* 3A0878 E009E958 3529FEFF */ ori $t1, $t1, 0xfeff
/* 3A087C E009E95C 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0880 E009E960 8E480000 */ lw $t0, ($s2)
/* 3A0884 E009E964 96A30000 */ lhu $v1, ($s5)
/* 3A0888 E009E968 3C014160 */ lui $at, 0x4160
/* 3A088C E009E96C 44810000 */ mtc1 $at, $f0
/* 3A0890 E009E970 0100282D */ daddu $a1, $t0, $zero
/* 3A0894 E009E974 25080008 */ addiu $t0, $t0, 8
/* 3A0898 E009E978 3C0DDA38 */ lui $t5, 0xda38
/* 3A089C E009E97C 24620001 */ addiu $v0, $v1, 1
/* 3A08A0 E009E980 3063FFFF */ andi $v1, $v1, 0xffff
/* 3A08A4 E009E984 00031980 */ sll $v1, $v1, 6
/* 3A08A8 E009E988 AE480000 */ sw $t0, ($s2)
/* 3A08AC E009E98C ACAD0000 */ sw $t5, ($a1)
/* 3A08B0 E009E990 A6A20000 */ sh $v0, ($s5)
/* 3A08B4 E009E994 8EC20000 */ lw $v0, ($s6)
/* 3A08B8 E009E998 00731821 */ addu $v1, $v1, $s3
/* 3A08BC E009E99C 00431021 */ addu $v0, $v0, $v1
/* 3A08C0 E009E9A0 ACA20004 */ sw $v0, 4($a1)
/* 3A08C4 E009E9A4 25020008 */ addiu $v0, $t0, 8
/* 3A08C8 E009E9A8 3C0DDE00 */ lui $t5, 0xde00
/* 3A08CC E009E9AC AE420000 */ sw $v0, ($s2)
/* 3A08D0 E009E9B0 25020010 */ addiu $v0, $t0, 0x10
/* 3A08D4 E009E9B4 AD0D0000 */ sw $t5, ($t0)
/* 3A08D8 E009E9B8 3C03E00A */ lui $v1, %hi(D_E009EDF8)
/* 3A08DC E009E9BC 8C63EDF8 */ lw $v1, %lo(D_E009EDF8)($v1)
/* 3A08E0 E009E9C0 240D0040 */ addiu $t5, $zero, 0x40
/* 3A08E4 E009E9C4 AE420000 */ sw $v0, ($s2)
/* 3A08E8 E009E9C8 25020018 */ addiu $v0, $t0, 0x18
/* 3A08EC E009E9CC AD0D000C */ sw $t5, 0xc($t0)
/* 3A08F0 E009E9D0 3C0DFA00 */ lui $t5, 0xfa00
/* 3A08F4 E009E9D4 AD1E0008 */ sw $fp, 8($t0)
/* 3A08F8 E009E9D8 AE420000 */ sw $v0, ($s2)
/* 3A08FC E009E9DC AD0D0010 */ sw $t5, 0x10($t0)
/* 3A0900 E009E9E0 AD030004 */ sw $v1, 4($t0)
/* 3A0904 E009E9E4 8E22FFE8 */ lw $v0, -0x18($s1)
/* 3A0908 E009E9E8 8FAD00DC */ lw $t5, 0xdc($sp)
/* 3A090C E009E9EC 3C03FB00 */ lui $v1, 0xfb00
/* 3A0910 E009E9F0 004D0018 */ mult $v0, $t5
/* 3A0914 E009E9F4 AD030018 */ sw $v1, 0x18($t0)
/* 3A0918 E009E9F8 AD0B001C */ sw $t3, 0x1c($t0)
/* 3A091C E009E9FC AD0A0020 */ sw $t2, 0x20($t0)
/* 3A0920 E009EA00 AD090024 */ sw $t1, 0x24($t0)
/* 3A0924 E009EA04 00001012 */ mflo $v0
/* 3A0928 E009EA08 00021243 */ sra $v0, $v0, 9
/* 3A092C E009EA0C 304200FF */ andi $v0, $v0, 0xff
/* 3A0930 E009EA10 004C1025 */ or $v0, $v0, $t4
/* 3A0934 E009EA14 AD020014 */ sw $v0, 0x14($t0)
/* 3A0938 E009EA18 C622FFF4 */ lwc1 $f2, -0xc($s1)
/* 3A093C E009EA1C 4406B000 */ mfc1 $a2, $f22
/* 3A0940 E009EA20 46001080 */ add.s $f2, $f2, $f0
/* 3A0944 E009EA24 4407B000 */ mfc1 $a3, $f22
/* 3A0948 E009EA28 25020020 */ addiu $v0, $t0, 0x20
/* 3A094C E009EA2C 44051000 */ mfc1 $a1, $f2
/* 3A0950 E009EA30 25080028 */ addiu $t0, $t0, 0x28
/* 3A0954 E009EA34 AE420000 */ sw $v0, ($s2)
/* 3A0958 E009EA38 AE480000 */ sw $t0, ($s2)
/* 3A095C E009EA3C 0C080104 */ jal shim_guRotateF
/* 3A0960 E009EA40 E7B80010 */ swc1 $f24, 0x10($sp)
/* 3A0964 E009EA44 3C02B60B */ lui $v0, 0xb60b
/* 3A0968 E009EA48 344260B7 */ ori $v0, $v0, 0x60b7
/* 3A096C E009EA4C 02820018 */ mult $s4, $v0
/* 3A0970 E009EA50 00141FC3 */ sra $v1, $s4, 0x1f
/* 3A0974 E009EA54 4406B000 */ mfc1 $a2, $f22
/* 3A0978 E009EA58 4407C000 */ mfc1 $a3, $f24
/* 3A097C E009EA5C 8FAD00D8 */ lw $t5, 0xd8($sp)
/* 3A0980 E009EA60 00001010 */ mfhi $v0
/* 3A0984 E009EA64 00541021 */ addu $v0, $v0, $s4
/* 3A0988 E009EA68 00021143 */ sra $v0, $v0, 5
/* 3A098C E009EA6C 00431023 */ subu $v0, $v0, $v1
/* 3A0990 E009EA70 00021840 */ sll $v1, $v0, 1
/* 3A0994 E009EA74 00621821 */ addu $v1, $v1, $v0
/* 3A0998 E009EA78 00031100 */ sll $v0, $v1, 4
/* 3A099C E009EA7C 00431023 */ subu $v0, $v0, $v1
/* 3A09A0 E009EA80 02821023 */ subu $v0, $s4, $v0
/* 3A09A4 E009EA84 004D1021 */ addu $v0, $v0, $t5
/* 3A09A8 E009EA88 44822000 */ mtc1 $v0, $f4
/* 3A09AC E009EA8C 00000000 */ nop
/* 3A09B0 E009EA90 46802120 */ cvt.s.w $f4, $f4
/* 3A09B4 E009EA94 44052000 */ mfc1 $a1, $f4
/* 3A09B8 E009EA98 0200202D */ daddu $a0, $s0, $zero
/* 3A09BC E009EA9C 0C080104 */ jal shim_guRotateF
/* 3A09C0 E009EAA0 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3A09C4 E009EAA4 0200202D */ daddu $a0, $s0, $zero
/* 3A09C8 E009EAA8 27A50018 */ addiu $a1, $sp, 0x18
/* 3A09CC E009EAAC 0C080114 */ jal shim_guMtxCatF
/* 3A09D0 E009EAB0 00A0302D */ daddu $a2, $a1, $zero
/* 3A09D4 E009EAB4 3C0541A0 */ lui $a1, 0x41a0
/* 3A09D8 E009EAB8 4406B000 */ mfc1 $a2, $f22
/* 3A09DC E009EABC 4407B000 */ mfc1 $a3, $f22
/* 3A09E0 E009EAC0 0C080108 */ jal shim_guTranslateF
/* 3A09E4 E009EAC4 0200202D */ daddu $a0, $s0, $zero
/* 3A09E8 E009EAC8 0200202D */ daddu $a0, $s0, $zero
/* 3A09EC E009EACC 27A50018 */ addiu $a1, $sp, 0x18
/* 3A09F0 E009EAD0 0C080114 */ jal shim_guMtxCatF
/* 3A09F4 E009EAD4 00A0302D */ daddu $a2, $a1, $zero
/* 3A09F8 E009EAD8 C6200000 */ lwc1 $f0, ($s1)
/* 3A09FC E009EADC 461C0001 */ sub.s $f0, $f0, $f28
/* 3A0A00 E009EAE0 3C01E00A */ lui $at, %hi(D_E009EE30)
/* 3A0A04 E009EAE4 D422EE30 */ ldc1 $f2, %lo(D_E009EE30)($at)
/* 3A0A08 E009EAE8 46000021 */ cvt.d.s $f0, $f0
/* 3A0A0C E009EAEC 46220002 */ mul.d $f0, $f0, $f2
/* 3A0A10 E009EAF0 00000000 */ nop
/* 3A0A14 E009EAF4 3C013FF0 */ lui $at, 0x3ff0
/* 3A0A18 E009EAF8 44811800 */ mtc1 $at, $f3
/* 3A0A1C E009EAFC 44801000 */ mtc1 $zero, $f2
/* 3A0A20 E009EB00 00000000 */ nop
/* 3A0A24 E009EB04 46220080 */ add.d $f2, $f0, $f2
/* 3A0A28 E009EB08 4620D001 */ sub.d $f0, $f26, $f0
/* 3A0A2C E009EB0C 4407C000 */ mfc1 $a3, $f24
/* 3A0A30 E009EB10 462010A0 */ cvt.s.d $f2, $f2
/* 3A0A34 E009EB14 46200020 */ cvt.s.d $f0, $f0
/* 3A0A38 E009EB18 44051000 */ mfc1 $a1, $f2
/* 3A0A3C E009EB1C 44060000 */ mfc1 $a2, $f0
/* 3A0A40 E009EB20 0C080110 */ jal shim_guScaleF
/* 3A0A44 E009EB24 0200202D */ daddu $a0, $s0, $zero
/* 3A0A48 E009EB28 0200202D */ daddu $a0, $s0, $zero
/* 3A0A4C E009EB2C 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0A50 E009EB30 0C080114 */ jal shim_guMtxCatF
/* 3A0A54 E009EB34 00A0302D */ daddu $a2, $a1, $zero
/* 3A0A58 E009EB38 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0A5C E009EB3C 96A50000 */ lhu $a1, ($s5)
/* 3A0A60 E009EB40 8EC20000 */ lw $v0, ($s6)
/* 3A0A64 E009EB44 00052980 */ sll $a1, $a1, 6
/* 3A0A68 E009EB48 00B32821 */ addu $a1, $a1, $s3
/* 3A0A6C E009EB4C 0C080118 */ jal shim_guMtxF2L
/* 3A0A70 E009EB50 00452821 */ addu $a1, $v0, $a1
/* 3A0A74 E009EB54 3C09FF40 */ lui $t1, 0xff40
/* 3A0A78 E009EB58 8E480000 */ lw $t0, ($s2)
/* 3A0A7C E009EB5C 4406B000 */ mfc1 $a2, $f22
/* 3A0A80 E009EB60 96A50000 */ lhu $a1, ($s5)
/* 3A0A84 E009EB64 0100202D */ daddu $a0, $t0, $zero
/* 3A0A88 E009EB68 25080008 */ addiu $t0, $t0, 8
/* 3A0A8C E009EB6C 3C0DDA38 */ lui $t5, 0xda38
/* 3A0A90 E009EB70 30A2FFFF */ andi $v0, $a1, 0xffff
/* 3A0A94 E009EB74 00021180 */ sll $v0, $v0, 6
/* 3A0A98 E009EB78 AC8D0000 */ sw $t5, ($a0)
/* 3A0A9C E009EB7C 8EC30000 */ lw $v1, ($s6)
/* 3A0AA0 E009EB80 00531021 */ addu $v0, $v0, $s3
/* 3A0AA4 E009EB84 00621821 */ addu $v1, $v1, $v0
/* 3A0AA8 E009EB88 AC830004 */ sw $v1, 4($a0)
/* 3A0AAC E009EB8C 3C0DDE00 */ lui $t5, 0xde00
/* 3A0AB0 E009EB90 AD0D0000 */ sw $t5, ($t0)
/* 3A0AB4 E009EB94 3C02E00A */ lui $v0, %hi(D_E009EDF4)
/* 3A0AB8 E009EB98 8C42EDF4 */ lw $v0, %lo(D_E009EDF4)($v0)
/* 3A0ABC E009EB9C 240D0040 */ addiu $t5, $zero, 0x40
/* 3A0AC0 E009EBA0 AD0D000C */ sw $t5, 0xc($t0)
/* 3A0AC4 E009EBA4 3C0DFA00 */ lui $t5, 0xfa00
/* 3A0AC8 E009EBA8 AD1E0008 */ sw $fp, 8($t0)
/* 3A0ACC E009EBAC AD0D0010 */ sw $t5, 0x10($t0)
/* 3A0AD0 E009EBB0 AD020004 */ sw $v0, 4($t0)
/* 3A0AD4 E009EBB4 8E22FFE8 */ lw $v0, -0x18($s1)
/* 3A0AD8 E009EBB8 35294000 */ ori $t1, $t1, 0x4000
/* 3A0ADC E009EBBC AE480000 */ sw $t0, ($s2)
/* 3A0AE0 E009EBC0 8FAD00DC */ lw $t5, 0xdc($sp)
/* 3A0AE4 E009EBC4 3C014208 */ lui $at, 0x4208
/* 3A0AE8 E009EBC8 44810000 */ mtc1 $at, $f0
/* 3A0AEC E009EBCC 004D0018 */ mult $v0, $t5
/* 3A0AF0 E009EBD0 24A50001 */ addiu $a1, $a1, 1
/* 3A0AF4 E009EBD4 A6A50000 */ sh $a1, ($s5)
/* 3A0AF8 E009EBD8 25020008 */ addiu $v0, $t0, 8
/* 3A0AFC E009EBDC AE420000 */ sw $v0, ($s2)
/* 3A0B00 E009EBE0 00001812 */ mflo $v1
/* 3A0B04 E009EBE4 00031203 */ sra $v0, $v1, 8
/* 3A0B08 E009EBE8 304200FF */ andi $v0, $v0, 0xff
/* 3A0B0C E009EBEC 00491025 */ or $v0, $v0, $t1
/* 3A0B10 E009EBF0 AD020014 */ sw $v0, 0x14($t0)
/* 3A0B14 E009EBF4 C622FFF4 */ lwc1 $f2, -0xc($s1)
/* 3A0B18 E009EBF8 25020010 */ addiu $v0, $t0, 0x10
/* 3A0B1C E009EBFC 46001080 */ add.s $f2, $f2, $f0
/* 3A0B20 E009EC00 AE420000 */ sw $v0, ($s2)
/* 3A0B24 E009EC04 C7A000D8 */ lwc1 $f0, 0xd8($sp)
/* 3A0B28 E009EC08 46800020 */ cvt.s.w $f0, $f0
/* 3A0B2C E009EC0C 46001080 */ add.s $f2, $f2, $f0
/* 3A0B30 E009EC10 4407B000 */ mfc1 $a3, $f22
/* 3A0B34 E009EC14 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0B38 E009EC18 44051000 */ mfc1 $a1, $f2
/* 3A0B3C E009EC1C 25080018 */ addiu $t0, $t0, 0x18
/* 3A0B40 E009EC20 AE480000 */ sw $t0, ($s2)
/* 3A0B44 E009EC24 0C080104 */ jal shim_guRotateF
/* 3A0B48 E009EC28 E7B80010 */ swc1 $f24, 0x10($sp)
/* 3A0B4C E009EC2C 001710C0 */ sll $v0, $s7, 3
/* 3A0B50 E009EC30 00571021 */ addu $v0, $v0, $s7
/* 3A0B54 E009EC34 00021080 */ sll $v0, $v0, 2
/* 3A0B58 E009EC38 00571023 */ subu $v0, $v0, $s7
/* 3A0B5C E009EC3C 44822000 */ mtc1 $v0, $f4
/* 3A0B60 E009EC40 00000000 */ nop
/* 3A0B64 E009EC44 46802120 */ cvt.s.w $f4, $f4
/* 3A0B68 E009EC48 4406B000 */ mfc1 $a2, $f22
/* 3A0B6C E009EC4C 4407C000 */ mfc1 $a3, $f24
/* 3A0B70 E009EC50 44052000 */ mfc1 $a1, $f4
/* 3A0B74 E009EC54 0200202D */ daddu $a0, $s0, $zero
/* 3A0B78 E009EC58 0C080104 */ jal shim_guRotateF
/* 3A0B7C E009EC5C E7B60010 */ swc1 $f22, 0x10($sp)
/* 3A0B80 E009EC60 0200202D */ daddu $a0, $s0, $zero
/* 3A0B84 E009EC64 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0B88 E009EC68 0C080114 */ jal shim_guMtxCatF
/* 3A0B8C E009EC6C 00A0302D */ daddu $a2, $a1, $zero
/* 3A0B90 E009EC70 3C054170 */ lui $a1, 0x4170
/* 3A0B94 E009EC74 4406B000 */ mfc1 $a2, $f22
/* 3A0B98 E009EC78 4407B000 */ mfc1 $a3, $f22
/* 3A0B9C E009EC7C 0C080108 */ jal shim_guTranslateF
/* 3A0BA0 E009EC80 0200202D */ daddu $a0, $s0, $zero
/* 3A0BA4 E009EC84 0200202D */ daddu $a0, $s0, $zero
/* 3A0BA8 E009EC88 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0BAC E009EC8C 0C080114 */ jal shim_guMtxCatF
/* 3A0BB0 E009EC90 00A0302D */ daddu $a2, $a1, $zero
/* 3A0BB4 E009EC94 C6200000 */ lwc1 $f0, ($s1)
/* 3A0BB8 E009EC98 461C0001 */ sub.s $f0, $f0, $f28
/* 3A0BBC E009EC9C 3C01E00A */ lui $at, %hi(D_E009EE38)
/* 3A0BC0 E009ECA0 D422EE38 */ ldc1 $f2, %lo(D_E009EE38)($at)
/* 3A0BC4 E009ECA4 46000021 */ cvt.d.s $f0, $f0
/* 3A0BC8 E009ECA8 46220002 */ mul.d $f0, $f0, $f2
/* 3A0BCC E009ECAC 00000000 */ nop
/* 3A0BD0 E009ECB0 463A0000 */ add.d $f0, $f0, $f26
/* 3A0BD4 E009ECB4 4406C000 */ mfc1 $a2, $f24
/* 3A0BD8 E009ECB8 4407C000 */ mfc1 $a3, $f24
/* 3A0BDC E009ECBC 46200020 */ cvt.s.d $f0, $f0
/* 3A0BE0 E009ECC0 44050000 */ mfc1 $a1, $f0
/* 3A0BE4 E009ECC4 0C080110 */ jal shim_guScaleF
/* 3A0BE8 E009ECC8 0200202D */ daddu $a0, $s0, $zero
/* 3A0BEC E009ECCC 0200202D */ daddu $a0, $s0, $zero
/* 3A0BF0 E009ECD0 27A50018 */ addiu $a1, $sp, 0x18
/* 3A0BF4 E009ECD4 0C080114 */ jal shim_guMtxCatF
/* 3A0BF8 E009ECD8 00A0302D */ daddu $a2, $a1, $zero
/* 3A0BFC E009ECDC 27A40018 */ addiu $a0, $sp, 0x18
/* 3A0C00 E009ECE0 96A50000 */ lhu $a1, ($s5)
/* 3A0C04 E009ECE4 8EC20000 */ lw $v0, ($s6)
/* 3A0C08 E009ECE8 00052980 */ sll $a1, $a1, 6
/* 3A0C0C E009ECEC 00B32821 */ addu $a1, $a1, $s3
/* 3A0C10 E009ECF0 0C080118 */ jal shim_guMtxF2L
/* 3A0C14 E009ECF4 00452821 */ addu $a1, $v0, $a1
/* 3A0C18 E009ECF8 8E440000 */ lw $a0, ($s2)
/* 3A0C1C E009ECFC 96A30000 */ lhu $v1, ($s5)
/* 3A0C20 E009ED00 0080282D */ daddu $a1, $a0, $zero
/* 3A0C24 E009ED04 24840008 */ addiu $a0, $a0, 8
/* 3A0C28 E009ED08 3C0DDA38 */ lui $t5, 0xda38
/* 3A0C2C E009ED0C 24620001 */ addiu $v0, $v1, 1
/* 3A0C30 E009ED10 3063FFFF */ andi $v1, $v1, 0xffff
/* 3A0C34 E009ED14 00031980 */ sll $v1, $v1, 6
/* 3A0C38 E009ED18 AE440000 */ sw $a0, ($s2)
/* 3A0C3C E009ED1C ACAD0000 */ sw $t5, ($a1)
/* 3A0C40 E009ED20 A6A20000 */ sh $v0, ($s5)
/* 3A0C44 E009ED24 8EC20000 */ lw $v0, ($s6)
/* 3A0C48 E009ED28 00731821 */ addu $v1, $v1, $s3
/* 3A0C4C E009ED2C 00431021 */ addu $v0, $v0, $v1
/* 3A0C50 E009ED30 ACA20004 */ sw $v0, 4($a1)
/* 3A0C54 E009ED34 24820008 */ addiu $v0, $a0, 8
/* 3A0C58 E009ED38 3C0DDE00 */ lui $t5, 0xde00
/* 3A0C5C E009ED3C AE420000 */ sw $v0, ($s2)
/* 3A0C60 E009ED40 24820010 */ addiu $v0, $a0, 0x10
/* 3A0C64 E009ED44 AC8D0000 */ sw $t5, ($a0)
/* 3A0C68 E009ED48 3C03E00A */ lui $v1, %hi(D_E009EDF0)
/* 3A0C6C E009ED4C 8C63EDF0 */ lw $v1, %lo(D_E009EDF0)($v1)
/* 3A0C70 E009ED50 240D0040 */ addiu $t5, $zero, 0x40
/* 3A0C74 E009ED54 AE420000 */ sw $v0, ($s2)
/* 3A0C78 E009ED58 AC9E0008 */ sw $fp, 8($a0)
/* 3A0C7C E009ED5C AC8D000C */ sw $t5, 0xc($a0)
/* 3A0C80 E009ED60 AC830004 */ sw $v1, 4($a0)
/* 3A0C84 E009ED64 2694000A */ addiu $s4, $s4, 0xa
.LE009ED68:
/* 3A0C88 E009ED68 8FAD0130 */ lw $t5, 0x130($sp)
/* 3A0C8C E009ED6C 26F70001 */ addiu $s7, $s7, 1
/* 3A0C90 E009ED70 8DA20008 */ lw $v0, 8($t5)
/* 3A0C94 E009ED74 02E2102A */ slt $v0, $s7, $v0
/* 3A0C98 E009ED78 1440FE72 */ bnez $v0, .LE009E744
/* 3A0C9C E009ED7C 26310034 */ addiu $s1, $s1, 0x34
.LE009ED80:
/* 3A0CA0 E009ED80 3C05D838 */ lui $a1, 0xd838
/* 3A0CA4 E009ED84 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3A0CA8 E009ED88 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3A0CAC E009ED8C 8C620000 */ lw $v0, ($v1)
/* 3A0CB0 E009ED90 34A50002 */ ori $a1, $a1, 2
/* 3A0CB4 E009ED94 0040202D */ daddu $a0, $v0, $zero
/* 3A0CB8 E009ED98 24420008 */ addiu $v0, $v0, 8
/* 3A0CBC E009ED9C AC620000 */ sw $v0, ($v1)
/* 3A0CC0 E009EDA0 24020040 */ addiu $v0, $zero, 0x40
/* 3A0CC4 E009EDA4 AC850000 */ sw $a1, ($a0)
/* 3A0CC8 E009EDA8 AC820004 */ sw $v0, 4($a0)
/* 3A0CCC E009EDAC 8FBF0104 */ lw $ra, 0x104($sp)
/* 3A0CD0 E009EDB0 8FBE0100 */ lw $fp, 0x100($sp)
/* 3A0CD4 E009EDB4 8FB700FC */ lw $s7, 0xfc($sp)
/* 3A0CD8 E009EDB8 8FB600F8 */ lw $s6, 0xf8($sp)
/* 3A0CDC E009EDBC 8FB500F4 */ lw $s5, 0xf4($sp)
/* 3A0CE0 E009EDC0 8FB400F0 */ lw $s4, 0xf0($sp)
/* 3A0CE4 E009EDC4 8FB300EC */ lw $s3, 0xec($sp)
/* 3A0CE8 E009EDC8 8FB200E8 */ lw $s2, 0xe8($sp)
/* 3A0CEC E009EDCC 8FB100E4 */ lw $s1, 0xe4($sp)
/* 3A0CF0 E009EDD0 8FB000E0 */ lw $s0, 0xe0($sp)
/* 3A0CF4 E009EDD4 D7BC0128 */ ldc1 $f28, 0x128($sp)
/* 3A0CF8 E009EDD8 D7BA0120 */ ldc1 $f26, 0x120($sp)
/* 3A0CFC E009EDDC D7B80118 */ ldc1 $f24, 0x118($sp)
/* 3A0D00 E009EDE0 D7B60110 */ ldc1 $f22, 0x110($sp)
/* 3A0D04 E009EDE4 D7B40108 */ ldc1 $f20, 0x108($sp)
/* 3A0D08 E009EDE8 03E00008 */ jr $ra
/* 3A0D0C E009EDEC 27BD0130 */ addiu $sp, $sp, 0x130

View File

@ -1,138 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E009EE00
.double 0.1
dlabel D_E009EE08
.double 0.4
.section .text
glabel radiating_energy_orb_main
/* 39FF20 E009E000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 39FF24 E009E004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 39FF28 E009E008 4485A000 */ mtc1 $a1, $f20
/* 39FF2C E009E00C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 39FF30 E009E010 4486B000 */ mtc1 $a2, $f22
/* 39FF34 E009E014 AFB1002C */ sw $s1, 0x2c($sp)
/* 39FF38 E009E018 0080882D */ daddu $s1, $a0, $zero
/* 39FF3C E009E01C F7B80050 */ sdc1 $f24, 0x50($sp)
/* 39FF40 E009E020 4487C000 */ mtc1 $a3, $f24
/* 39FF44 E009E024 27A40010 */ addiu $a0, $sp, 0x10
/* 39FF48 E009E028 AFB00028 */ sw $s0, 0x28($sp)
/* 39FF4C E009E02C 8FB0006C */ lw $s0, 0x6c($sp)
/* 39FF50 E009E030 3C02E00A */ lui $v0, %hi(radiating_energy_orb_init)
/* 39FF54 E009E034 2442E1DC */ addiu $v0, $v0, %lo(radiating_energy_orb_init)
/* 39FF58 E009E038 AFA20018 */ sw $v0, 0x18($sp)
/* 39FF5C E009E03C 3C02E00A */ lui $v0, %hi(radiating_energy_orb_update)
/* 39FF60 E009E040 2442E1E4 */ addiu $v0, $v0, %lo(radiating_energy_orb_update)
/* 39FF64 E009E044 AFA2001C */ sw $v0, 0x1c($sp)
/* 39FF68 E009E048 3C02E00A */ lui $v0, %hi(radiating_energy_orb_render)
/* 39FF6C E009E04C 2442E3DC */ addiu $v0, $v0, %lo(radiating_energy_orb_render)
/* 39FF70 E009E050 AFA20020 */ sw $v0, 0x20($sp)
/* 39FF74 E009E054 2402004F */ addiu $v0, $zero, 0x4f
/* 39FF78 E009E058 AFBF003C */ sw $ra, 0x3c($sp)
/* 39FF7C E009E05C AFB40038 */ sw $s4, 0x38($sp)
/* 39FF80 E009E060 AFB30034 */ sw $s3, 0x34($sp)
/* 39FF84 E009E064 AFB20030 */ sw $s2, 0x30($sp)
/* 39FF88 E009E068 AFA00010 */ sw $zero, 0x10($sp)
/* 39FF8C E009E06C AFA00024 */ sw $zero, 0x24($sp)
/* 39FF90 E009E070 0C080124 */ jal shim_create_effect_instance
/* 39FF94 E009E074 AFA20014 */ sw $v0, 0x14($sp)
/* 39FF98 E009E078 24040138 */ addiu $a0, $zero, 0x138
/* 39FF9C E009E07C 24130006 */ addiu $s3, $zero, 6
/* 39FFA0 E009E080 0040902D */ daddu $s2, $v0, $zero
/* 39FFA4 E009E084 0C08012C */ jal shim_general_heap_malloc
/* 39FFA8 E009E088 AE530008 */ sw $s3, 8($s2)
/* 39FFAC E009E08C 0040182D */ daddu $v1, $v0, $zero
/* 39FFB0 E009E090 14600003 */ bnez $v1, .LE009E0A0
/* 39FFB4 E009E094 AE43000C */ sw $v1, 0xc($s2)
.LE009E098:
/* 39FFB8 E009E098 08027826 */ j .LE009E098
/* 39FFBC E009E09C 00000000 */ nop
.LE009E0A0:
/* 39FFC0 E009E0A0 AC710004 */ sw $s1, 4($v1)
/* 39FFC4 E009E0A4 1E000004 */ bgtz $s0, .LE009E0B8
/* 39FFC8 E009E0A8 AC60001C */ sw $zero, 0x1c($v1)
/* 39FFCC E009E0AC 24020064 */ addiu $v0, $zero, 0x64
/* 39FFD0 E009E0B0 0802782F */ j .LE009E0BC
/* 39FFD4 E009E0B4 AC620018 */ sw $v0, 0x18($v1)
.LE009E0B8:
/* 39FFD8 E009E0B8 AC700018 */ sw $s0, 0x18($v1)
.LE009E0BC:
/* 39FFDC E009E0BC AC600014 */ sw $zero, 0x14($v1)
/* 39FFE0 E009E0C0 E4740008 */ swc1 $f20, 8($v1)
/* 39FFE4 E009E0C4 E476000C */ swc1 $f22, 0xc($v1)
/* 39FFE8 E009E0C8 E4780010 */ swc1 $f24, 0x10($v1)
/* 39FFEC E009E0CC 24110001 */ addiu $s1, $zero, 1
/* 39FFF0 E009E0D0 0233102A */ slt $v0, $s1, $s3
/* 39FFF4 E009E0D4 10400035 */ beqz $v0, .LE009E1AC
/* 39FFF8 E009E0D8 24630034 */ addiu $v1, $v1, 0x34
/* 39FFFC E009E0DC 3C146666 */ lui $s4, 0x6666
/* 3A0000 E009E0E0 36946667 */ ori $s4, $s4, 0x6667
/* 3A0004 E009E0E4 24700030 */ addiu $s0, $v1, 0x30
/* 3A0008 E009E0E8 3C01E00A */ lui $at, %hi(D_E009EE00)
/* 3A000C E009E0EC D434EE00 */ ldc1 $f20, %lo(D_E009EE00)($at)
/* 3A0010 E009E0F0 3C01E00A */ lui $at, %hi(D_E009EE08)
/* 3A0014 E009E0F4 D436EE08 */ ldc1 $f22, %lo(D_E009EE08)($at)
.LE009E0F8:
/* 3A0018 E009E0F8 0C080138 */ jal shim_rand_int
/* 3A001C E009E0FC 24040168 */ addiu $a0, $zero, 0x168
/* 3A0020 E009E100 00112840 */ sll $a1, $s1, 1
/* 3A0024 E009E104 00B40018 */ mult $a1, $s4
/* 3A0028 E009E108 2404000F */ addiu $a0, $zero, 0xf
/* 3A002C E009E10C 44820000 */ mtc1 $v0, $f0
/* 3A0030 E009E110 00000000 */ nop
/* 3A0034 E009E114 46800020 */ cvt.s.w $f0, $f0
/* 3A0038 E009E118 000517C3 */ sra $v0, $a1, 0x1f
/* 3A003C E009E11C E600FFF0 */ swc1 $f0, -0x10($s0)
/* 3A0040 E009E120 00004010 */ mfhi $t0
/* 3A0044 E009E124 000818C3 */ sra $v1, $t0, 3
/* 3A0048 E009E128 00621823 */ subu $v1, $v1, $v0
/* 3A004C E009E12C 00031080 */ sll $v0, $v1, 2
/* 3A0050 E009E130 00431021 */ addu $v0, $v0, $v1
/* 3A0054 E009E134 00021080 */ sll $v0, $v0, 2
/* 3A0058 E009E138 00A22823 */ subu $a1, $a1, $v0
/* 3A005C E009E13C 24A5003C */ addiu $a1, $a1, 0x3c
/* 3A0060 E009E140 44850000 */ mtc1 $a1, $f0
/* 3A0064 E009E144 00000000 */ nop
/* 3A0068 E009E148 46800020 */ cvt.s.w $f0, $f0
/* 3A006C E009E14C 0C080138 */ jal shim_rand_int
/* 3A0070 E009E150 E600FFFC */ swc1 $f0, -4($s0)
/* 3A0074 E009E154 44820000 */ mtc1 $v0, $f0
/* 3A0078 E009E158 00000000 */ nop
/* 3A007C E009E15C 46800021 */ cvt.d.w $f0, $f0
/* 3A0080 E009E160 46340002 */ mul.d $f0, $f0, $f20
/* 3A0084 E009E164 00000000 */ nop
/* 3A0088 E009E168 46360000 */ add.d $f0, $f0, $f22
/* 3A008C E009E16C 2404000A */ addiu $a0, $zero, 0xa
/* 3A0090 E009E170 46200020 */ cvt.s.d $f0, $f0
/* 3A0094 E009E174 0C080138 */ jal shim_rand_int
/* 3A0098 E009E178 E600FFF8 */ swc1 $f0, -8($s0)
/* 3A009C E009E17C 44820000 */ mtc1 $v0, $f0
/* 3A00A0 E009E180 00000000 */ nop
/* 3A00A4 E009E184 46800021 */ cvt.d.w $f0, $f0
/* 3A00A8 E009E188 46340002 */ mul.d $f0, $f0, $f20
/* 3A00AC E009E18C 00000000 */ nop
/* 3A00B0 E009E190 46340000 */ add.d $f0, $f0, $f20
/* 3A00B4 E009E194 26310001 */ addiu $s1, $s1, 1
/* 3A00B8 E009E198 0233102A */ slt $v0, $s1, $s3
/* 3A00BC E009E19C 46200020 */ cvt.s.d $f0, $f0
/* 3A00C0 E009E1A0 E6000000 */ swc1 $f0, ($s0)
/* 3A00C4 E009E1A4 1440FFD4 */ bnez $v0, .LE009E0F8
/* 3A00C8 E009E1A8 26100034 */ addiu $s0, $s0, 0x34
.LE009E1AC:
/* 3A00CC E009E1AC 0240102D */ daddu $v0, $s2, $zero
/* 3A00D0 E009E1B0 8FBF003C */ lw $ra, 0x3c($sp)
/* 3A00D4 E009E1B4 8FB40038 */ lw $s4, 0x38($sp)
/* 3A00D8 E009E1B8 8FB30034 */ lw $s3, 0x34($sp)
/* 3A00DC E009E1BC 8FB20030 */ lw $s2, 0x30($sp)
/* 3A00E0 E009E1C0 8FB1002C */ lw $s1, 0x2c($sp)
/* 3A00E4 E009E1C4 8FB00028 */ lw $s0, 0x28($sp)
/* 3A00E8 E009E1C8 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3A00EC E009E1CC D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3A00F0 E009E1D0 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3A00F4 E009E1D4 03E00008 */ jr $ra
/* 3A00F8 E009E1D8 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,148 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E009EE10
.double 0.1
dlabel D_E009EE18
.double 0.4
.section .text
glabel radiating_energy_orb_update
/* 3A0104 E009E1E4 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 3A0108 E009E1E8 AFB20018 */ sw $s2, 0x18($sp)
/* 3A010C E009E1EC 0080902D */ daddu $s2, $a0, $zero
/* 3A0110 E009E1F0 AFBF001C */ sw $ra, 0x1c($sp)
/* 3A0114 E009E1F4 AFB10014 */ sw $s1, 0x14($sp)
/* 3A0118 E009E1F8 AFB00010 */ sw $s0, 0x10($sp)
/* 3A011C E009E1FC F7BC0040 */ sdc1 $f28, 0x40($sp)
/* 3A0120 E009E200 F7BA0038 */ sdc1 $f26, 0x38($sp)
/* 3A0124 E009E204 F7B80030 */ sdc1 $f24, 0x30($sp)
/* 3A0128 E009E208 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 3A012C E009E20C F7B40020 */ sdc1 $f20, 0x20($sp)
/* 3A0130 E009E210 8E430000 */ lw $v1, ($s2)
/* 3A0134 E009E214 8E45000C */ lw $a1, 0xc($s2)
/* 3A0138 E009E218 30620010 */ andi $v0, $v1, 0x10
/* 3A013C E009E21C 10400005 */ beqz $v0, .LE009E234
/* 3A0140 E009E220 2402FFEF */ addiu $v0, $zero, -0x11
/* 3A0144 E009E224 00621024 */ and $v0, $v1, $v0
/* 3A0148 E009E228 AE420000 */ sw $v0, ($s2)
/* 3A014C E009E22C 2402001E */ addiu $v0, $zero, 0x1e
/* 3A0150 E009E230 ACA20018 */ sw $v0, 0x18($a1)
.LE009E234:
/* 3A0154 E009E234 8CA30018 */ lw $v1, 0x18($a1)
/* 3A0158 E009E238 28620064 */ slti $v0, $v1, 0x64
/* 3A015C E009E23C 10400002 */ beqz $v0, .LE009E248
/* 3A0160 E009E240 2462FFFF */ addiu $v0, $v1, -1
/* 3A0164 E009E244 ACA20018 */ sw $v0, 0x18($a1)
.LE009E248:
/* 3A0168 E009E248 8CA2001C */ lw $v0, 0x1c($a1)
/* 3A016C E009E24C 8CA40018 */ lw $a0, 0x18($a1)
/* 3A0170 E009E250 24430001 */ addiu $v1, $v0, 1
/* 3A0174 E009E254 04810005 */ bgez $a0, .LE009E26C
/* 3A0178 E009E258 ACA3001C */ sw $v1, 0x1c($a1)
/* 3A017C E009E25C 0C080128 */ jal shim_remove_effect
/* 3A0180 E009E260 0240202D */ daddu $a0, $s2, $zero
/* 3A0184 E009E264 080278EC */ j .LE009E3B0
/* 3A0188 E009E268 00000000 */ nop
.LE009E26C:
/* 3A018C E009E26C 28620015 */ slti $v0, $v1, 0x15
/* 3A0190 E009E270 10400003 */ beqz $v0, .LE009E280
/* 3A0194 E009E274 00031040 */ sll $v0, $v1, 1
/* 3A0198 E009E278 080278A4 */ j .LE009E290
/* 3A019C E009E27C 00431021 */ addu $v0, $v0, $v1
.LE009E280:
/* 3A01A0 E009E280 28820014 */ slti $v0, $a0, 0x14
/* 3A01A4 E009E284 10400004 */ beqz $v0, .LE009E298
/* 3A01A8 E009E288 00041040 */ sll $v0, $a0, 1
/* 3A01AC E009E28C 00441021 */ addu $v0, $v0, $a0
.LE009E290:
/* 3A01B0 E009E290 00021080 */ sll $v0, $v0, 2
/* 3A01B4 E009E294 ACA20014 */ sw $v0, 0x14($a1)
.LE009E298:
/* 3A01B8 E009E298 8E420008 */ lw $v0, 8($s2)
/* 3A01BC E009E29C 24110001 */ addiu $s1, $zero, 1
/* 3A01C0 E009E2A0 0222102A */ slt $v0, $s1, $v0
/* 3A01C4 E009E2A4 10400042 */ beqz $v0, .LE009E3B0
/* 3A01C8 E009E2A8 24A50034 */ addiu $a1, $a1, 0x34
/* 3A01CC E009E2AC 24B00020 */ addiu $s0, $a1, 0x20
/* 3A01D0 E009E2B0 3C01428C */ lui $at, 0x428c
/* 3A01D4 E009E2B4 4481E000 */ mtc1 $at, $f28
/* 3A01D8 E009E2B8 3C0142B4 */ lui $at, 0x42b4
/* 3A01DC E009E2BC 4481D000 */ mtc1 $at, $f26
/* 3A01E0 E009E2C0 3C014120 */ lui $at, 0x4120
/* 3A01E4 E009E2C4 4481C000 */ mtc1 $at, $f24
/* 3A01E8 E009E2C8 3C01437F */ lui $at, 0x437f
/* 3A01EC E009E2CC 4481B000 */ mtc1 $at, $f22
/* 3A01F0 E009E2D0 3C01E00A */ lui $at, %hi(D_E009EE10)
/* 3A01F4 E009E2D4 D434EE10 */ ldc1 $f20, %lo(D_E009EE10)($at)
.LE009E2D8:
/* 3A01F8 E009E2D8 C60C000C */ lwc1 $f12, 0xc($s0)
/* 3A01FC E009E2DC 461C6301 */ sub.s $f12, $f12, $f28
/* 3A0200 E009E2E0 461A6302 */ mul.s $f12, $f12, $f26
/* 3A0204 E009E2E4 00000000 */ nop
/* 3A0208 E009E2E8 0C080144 */ jal shim_cos_deg
/* 3A020C E009E2EC 46186303 */ div.s $f12, $f12, $f24
/* 3A0210 E009E2F0 46160002 */ mul.s $f0, $f0, $f22
/* 3A0214 E009E2F4 00000000 */ nop
/* 3A0218 E009E2F8 C604000C */ lwc1 $f4, 0xc($s0)
/* 3A021C E009E2FC C6020010 */ lwc1 $f2, 0x10($s0)
/* 3A0220 E009E300 46022100 */ add.s $f4, $f4, $f2
/* 3A0224 E009E304 3C0142A0 */ lui $at, 0x42a0
/* 3A0228 E009E308 44811000 */ mtc1 $at, $f2
/* 3A022C E009E30C E604000C */ swc1 $f4, 0xc($s0)
/* 3A0230 E009E310 4604103C */ c.lt.s $f2, $f4
/* 3A0234 E009E314 4600018D */ trunc.w.s $f6, $f0
/* 3A0238 E009E318 E606FFF4 */ swc1 $f6, -0xc($s0)
/* 3A023C E009E31C 4500001F */ bc1f .LE009E39C
/* 3A0240 E009E320 2404000F */ addiu $a0, $zero, 0xf
/* 3A0244 E009E324 3C014270 */ lui $at, 0x4270
/* 3A0248 E009E328 44810000 */ mtc1 $at, $f0
/* 3A024C E009E32C 0C080138 */ jal shim_rand_int
/* 3A0250 E009E330 E600000C */ swc1 $f0, 0xc($s0)
/* 3A0254 E009E334 44820000 */ mtc1 $v0, $f0
/* 3A0258 E009E338 00000000 */ nop
/* 3A025C E009E33C 46800021 */ cvt.d.w $f0, $f0
/* 3A0260 E009E340 46340002 */ mul.d $f0, $f0, $f20
/* 3A0264 E009E344 00000000 */ nop
/* 3A0268 E009E348 3C01E00A */ lui $at, %hi(D_E009EE18)
/* 3A026C E009E34C D422EE18 */ ldc1 $f2, %lo(D_E009EE18)($at)
/* 3A0270 E009E350 46220000 */ add.d $f0, $f0, $f2
/* 3A0274 E009E354 2404000A */ addiu $a0, $zero, 0xa
/* 3A0278 E009E358 46200020 */ cvt.s.d $f0, $f0
/* 3A027C E009E35C 0C080138 */ jal shim_rand_int
/* 3A0280 E009E360 E6000008 */ swc1 $f0, 8($s0)
/* 3A0284 E009E364 44820000 */ mtc1 $v0, $f0
/* 3A0288 E009E368 00000000 */ nop
/* 3A028C E009E36C 46800021 */ cvt.d.w $f0, $f0
/* 3A0290 E009E370 46340002 */ mul.d $f0, $f0, $f20
/* 3A0294 E009E374 00000000 */ nop
/* 3A0298 E009E378 46340000 */ add.d $f0, $f0, $f20
/* 3A029C E009E37C 24040168 */ addiu $a0, $zero, 0x168
/* 3A02A0 E009E380 46200020 */ cvt.s.d $f0, $f0
/* 3A02A4 E009E384 0C080138 */ jal shim_rand_int
/* 3A02A8 E009E388 E6000010 */ swc1 $f0, 0x10($s0)
/* 3A02AC E009E38C 44820000 */ mtc1 $v0, $f0
/* 3A02B0 E009E390 00000000 */ nop
/* 3A02B4 E009E394 46800020 */ cvt.s.w $f0, $f0
/* 3A02B8 E009E398 E6000000 */ swc1 $f0, ($s0)
.LE009E39C:
/* 3A02BC E009E39C 26310001 */ addiu $s1, $s1, 1
/* 3A02C0 E009E3A0 8E420008 */ lw $v0, 8($s2)
/* 3A02C4 E009E3A4 0222102A */ slt $v0, $s1, $v0
/* 3A02C8 E009E3A8 1440FFCB */ bnez $v0, .LE009E2D8
/* 3A02CC E009E3AC 26100034 */ addiu $s0, $s0, 0x34
.LE009E3B0:
/* 3A02D0 E009E3B0 8FBF001C */ lw $ra, 0x1c($sp)
/* 3A02D4 E009E3B4 8FB20018 */ lw $s2, 0x18($sp)
/* 3A02D8 E009E3B8 8FB10014 */ lw $s1, 0x14($sp)
/* 3A02DC E009E3BC 8FB00010 */ lw $s0, 0x10($sp)
/* 3A02E0 E009E3C0 D7BC0040 */ ldc1 $f28, 0x40($sp)
/* 3A02E4 E009E3C4 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* 3A02E8 E009E3C8 D7B80030 */ ldc1 $f24, 0x30($sp)
/* 3A02EC E009E3CC D7B60028 */ ldc1 $f22, 0x28($sp)
/* 3A02F0 E009E3D0 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 3A02F4 E009E3D4 03E00008 */ jr $ra
/* 3A02F8 E009E3D8 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,109 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E01166E8
/* 402D28 E01166E8 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 402D2C E01166EC AFB000A0 */ sw $s0, 0xa0($sp)
/* 402D30 E01166F0 AFBF00AC */ sw $ra, 0xac($sp)
/* 402D34 E01166F4 AFB200A8 */ sw $s2, 0xa8($sp)
/* 402D38 E01166F8 AFB100A4 */ sw $s1, 0xa4($sp)
/* 402D3C E01166FC F7B400B0 */ sdc1 $f20, 0xb0($sp)
/* 402D40 E0116700 1480000F */ bnez $a0, .LE0116740
/* 402D44 E0116704 00A0802D */ daddu $s0, $a1, $zero
/* 402D48 E0116708 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 402D4C E011670C 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 402D50 E0116710 00021880 */ sll $v1, $v0, 2
/* 402D54 E0116714 00621821 */ addu $v1, $v1, $v0
/* 402D58 E0116718 00031880 */ sll $v1, $v1, 2
/* 402D5C E011671C 00621823 */ subu $v1, $v1, $v0
/* 402D60 E0116720 000310C0 */ sll $v0, $v1, 3
/* 402D64 E0116724 00621821 */ addu $v1, $v1, $v0
/* 402D68 E0116728 000318C0 */ sll $v1, $v1, 3
/* 402D6C E011672C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 402D70 E0116730 00230821 */ addu $at, $at, $v1
/* 402D74 E0116734 C4261DEC */ lwc1 $f6, %lo(gCameras+0x6C)($at)
/* 402D78 E0116738 080459D1 */ j .LE0116744
/* 402D7C E011673C 00000000 */ nop
.LE0116740:
/* 402D80 E0116740 44803000 */ mtc1 $zero, $f6
.LE0116744:
/* 402D84 E0116744 C6000018 */ lwc1 $f0, 0x18($s0)
/* 402D88 E0116748 C6040020 */ lwc1 $f4, 0x20($s0)
/* 402D8C E011674C 3C014000 */ lui $at, 0x4000
/* 402D90 E0116750 44811000 */ mtc1 $at, $f2
/* 402D94 E0116754 E7A00010 */ swc1 $f0, 0x10($sp)
/* 402D98 E0116758 C6000004 */ lwc1 $f0, 4($s0)
/* 402D9C E011675C 4480A000 */ mtc1 $zero, $f20
/* 402DA0 E0116760 46020000 */ add.s $f0, $f0, $f2
/* 402DA4 E0116764 4405A000 */ mfc1 $a1, $f20
/* 402DA8 E0116768 27A40020 */ addiu $a0, $sp, 0x20
/* 402DAC E011676C E7A00014 */ swc1 $f0, 0x14($sp)
/* 402DB0 E0116770 C6000008 */ lwc1 $f0, 8($s0)
/* 402DB4 E0116774 46062101 */ sub.s $f4, $f4, $f6
/* 402DB8 E0116778 E7A00018 */ swc1 $f0, 0x18($sp)
/* 402DBC E011677C C600000C */ lwc1 $f0, 0xc($s0)
/* 402DC0 E0116780 4407A000 */ mfc1 $a3, $f20
/* 402DC4 E0116784 46020000 */ add.s $f0, $f0, $f2
/* 402DC8 E0116788 44062000 */ mfc1 $a2, $f4
/* 402DCC E011678C 3C120001 */ lui $s2, 1
/* 402DD0 E0116790 0C080180 */ jal shim_guPositionF
/* 402DD4 E0116794 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 402DD8 E0116798 4406A000 */ mfc1 $a2, $f20
/* 402DDC E011679C 4407A000 */ mfc1 $a3, $f20
/* 402DE0 E01167A0 3C013F80 */ lui $at, 0x3f80
/* 402DE4 E01167A4 44810000 */ mtc1 $at, $f0
/* 402DE8 E01167A8 36521630 */ ori $s2, $s2, 0x1630
/* 402DEC E01167AC E7A00010 */ swc1 $f0, 0x10($sp)
/* 402DF0 E01167B0 8E05001C */ lw $a1, 0x1c($s0)
/* 402DF4 E01167B4 27B00060 */ addiu $s0, $sp, 0x60
/* 402DF8 E01167B8 0C080104 */ jal shim_guRotateF
/* 402DFC E01167BC 0200202D */ daddu $a0, $s0, $zero
/* 402E00 E01167C0 0200202D */ daddu $a0, $s0, $zero
/* 402E04 E01167C4 27A50020 */ addiu $a1, $sp, 0x20
/* 402E08 E01167C8 0C080114 */ jal shim_guMtxCatF
/* 402E0C E01167CC 00A0302D */ daddu $a2, $a1, $zero
/* 402E10 E01167D0 0200202D */ daddu $a0, $s0, $zero
/* 402E14 E01167D4 4405A000 */ mfc1 $a1, $f20
/* 402E18 E01167D8 3C07C000 */ lui $a3, 0xc000
/* 402E1C E01167DC 0C080108 */ jal shim_guTranslateF
/* 402E20 E01167E0 00A0302D */ daddu $a2, $a1, $zero
/* 402E24 E01167E4 0200202D */ daddu $a0, $s0, $zero
/* 402E28 E01167E8 27A50020 */ addiu $a1, $sp, 0x20
/* 402E2C E01167EC 0C080114 */ jal shim_guMtxCatF
/* 402E30 E01167F0 00A0302D */ daddu $a2, $a1, $zero
/* 402E34 E01167F4 27A40020 */ addiu $a0, $sp, 0x20
/* 402E38 E01167F8 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 402E3C E01167FC 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 402E40 E0116800 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 402E44 E0116804 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 402E48 E0116808 96050000 */ lhu $a1, ($s0)
/* 402E4C E011680C 8E220000 */ lw $v0, ($s1)
/* 402E50 E0116810 00052980 */ sll $a1, $a1, 6
/* 402E54 E0116814 00B22821 */ addu $a1, $a1, $s2
/* 402E58 E0116818 0C080118 */ jal shim_guMtxF2L
/* 402E5C E011681C 00452821 */ addu $a1, $v0, $a1
/* 402E60 E0116820 3C05DA38 */ lui $a1, 0xda38
/* 402E64 E0116824 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 402E68 E0116828 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 402E6C E011682C 34A50002 */ ori $a1, $a1, 2
/* 402E70 E0116830 8C830000 */ lw $v1, ($a0)
/* 402E74 E0116834 96020000 */ lhu $v0, ($s0)
/* 402E78 E0116838 0060302D */ daddu $a2, $v1, $zero
/* 402E7C E011683C 24630008 */ addiu $v1, $v1, 8
/* 402E80 E0116840 AC830000 */ sw $v1, ($a0)
/* 402E84 E0116844 24430001 */ addiu $v1, $v0, 1
/* 402E88 E0116848 3042FFFF */ andi $v0, $v0, 0xffff
/* 402E8C E011684C 00021180 */ sll $v0, $v0, 6
/* 402E90 E0116850 ACC50000 */ sw $a1, ($a2)
/* 402E94 E0116854 A6030000 */ sh $v1, ($s0)
/* 402E98 E0116858 8E230000 */ lw $v1, ($s1)
/* 402E9C E011685C 00521021 */ addu $v0, $v0, $s2
/* 402EA0 E0116860 00621821 */ addu $v1, $v1, $v0
/* 402EA4 E0116864 ACC30004 */ sw $v1, 4($a2)
/* 402EA8 E0116868 8FBF00AC */ lw $ra, 0xac($sp)
/* 402EAC E011686C 8FB200A8 */ lw $s2, 0xa8($sp)
/* 402EB0 E0116870 8FB100A4 */ lw $s1, 0xa4($sp)
/* 402EB4 E0116874 8FB000A0 */ lw $s0, 0xa0($sp)
/* 402EB8 E0116878 D7B400B0 */ ldc1 $f20, 0xb0($sp)
/* 402EBC E011687C 03E00008 */ jr $ra
/* 402EC0 E0116880 27BD00B8 */ addiu $sp, $sp, 0xb8

View File

@ -1,373 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0116D90
.double 51.43
dlabel jtbl_E0116D98
.word LE0116370_4029B0, LE0116380_4029C0, LE0116598_402BD8, LE01165A8_402BE8, LE0116634_402C74, 0
dlabel D_E0116DB0
.double 0.0039215686
dlabel D_E0116DB8
.double 0.01
.section .text
glabel something_rotating_update
/* 4027CC E011618C 27BDFF88 */ addiu $sp, $sp, -0x78
/* 4027D0 E0116190 AFB40030 */ sw $s4, 0x30($sp)
/* 4027D4 E0116194 0080A02D */ daddu $s4, $a0, $zero
/* 4027D8 E0116198 AFBF0040 */ sw $ra, 0x40($sp)
/* 4027DC E011619C AFB7003C */ sw $s7, 0x3c($sp)
/* 4027E0 E01161A0 AFB60038 */ sw $s6, 0x38($sp)
/* 4027E4 E01161A4 AFB50034 */ sw $s5, 0x34($sp)
/* 4027E8 E01161A8 AFB3002C */ sw $s3, 0x2c($sp)
/* 4027EC E01161AC AFB20028 */ sw $s2, 0x28($sp)
/* 4027F0 E01161B0 AFB10024 */ sw $s1, 0x24($sp)
/* 4027F4 E01161B4 AFB00020 */ sw $s0, 0x20($sp)
/* 4027F8 E01161B8 F7BE0070 */ sdc1 $f30, 0x70($sp)
/* 4027FC E01161BC F7BC0068 */ sdc1 $f28, 0x68($sp)
/* 402800 E01161C0 F7BA0060 */ sdc1 $f26, 0x60($sp)
/* 402804 E01161C4 F7B80058 */ sdc1 $f24, 0x58($sp)
/* 402808 E01161C8 F7B60050 */ sdc1 $f22, 0x50($sp)
/* 40280C E01161CC F7B40048 */ sdc1 $f20, 0x48($sp)
/* 402810 E01161D0 8E91000C */ lw $s1, 0xc($s4)
/* 402814 E01161D4 8E830000 */ lw $v1, ($s4)
/* 402818 E01161D8 C6260004 */ lwc1 $f6, 4($s1)
/* 40281C E01161DC E7A60010 */ swc1 $f6, 0x10($sp)
/* 402820 E01161E0 C6260008 */ lwc1 $f6, 8($s1)
/* 402824 E01161E4 E7A60014 */ swc1 $f6, 0x14($sp)
/* 402828 E01161E8 C626000C */ lwc1 $f6, 0xc($s1)
/* 40282C E01161EC 30620010 */ andi $v0, $v1, 0x10
/* 402830 E01161F0 10400006 */ beqz $v0, .LE011620C
/* 402834 E01161F4 E7A60018 */ swc1 $f6, 0x18($sp)
/* 402838 E01161F8 2402FFEF */ addiu $v0, $zero, -0x11
/* 40283C E01161FC 00621024 */ and $v0, $v1, $v0
/* 402840 E0116200 AE820000 */ sw $v0, ($s4)
/* 402844 E0116204 24020020 */ addiu $v0, $zero, 0x20
/* 402848 E0116208 AE220010 */ sw $v0, 0x10($s1)
.LE011620C:
/* 40284C E011620C 8E230010 */ lw $v1, 0x10($s1)
/* 402850 E0116210 286203E8 */ slti $v0, $v1, 0x3e8
/* 402854 E0116214 10400002 */ beqz $v0, .LE0116220
/* 402858 E0116218 2462FFFF */ addiu $v0, $v1, -1
/* 40285C E011621C AE220010 */ sw $v0, 0x10($s1)
.LE0116220:
/* 402860 E0116220 8E220014 */ lw $v0, 0x14($s1)
/* 402864 E0116224 8E230010 */ lw $v1, 0x10($s1)
/* 402868 E0116228 24440001 */ addiu $a0, $v0, 1
/* 40286C E011622C 04610005 */ bgez $v1, .LE0116244
/* 402870 E0116230 AE240014 */ sw $a0, 0x14($s1)
/* 402874 E0116234 0C080128 */ jal shim_remove_effect
/* 402878 E0116238 0280202D */ daddu $a0, $s4, $zero
/* 40287C E011623C 08045997 */ j .LE011665C
/* 402880 E0116240 00000000 */ nop
.LE0116244:
/* 402884 E0116244 3C0142B4 */ lui $at, 0x42b4
/* 402888 E0116248 44810000 */ mtc1 $at, $f0
/* 40288C E011624C 24130001 */ addiu $s3, $zero, 1
/* 402890 E0116250 E6200020 */ swc1 $f0, 0x20($s1)
/* 402894 E0116254 26310030 */ addiu $s1, $s1, 0x30
/* 402898 E0116258 8E820008 */ lw $v0, 8($s4)
/* 40289C E011625C 0262102A */ slt $v0, $s3, $v0
/* 4028A0 E0116260 104000FE */ beqz $v0, .LE011665C
/* 4028A4 E0116264 46000786 */ mov.s $f30, $f0
/* 4028A8 E0116268 3C17E011 */ lui $s7, %hi(D_E0116CA4)
/* 4028AC E011626C 26F76CA4 */ addiu $s7, $s7, %lo(D_E0116CA4)
/* 4028B0 E0116270 3C16E011 */ lui $s6, %hi(D_E0116C8C)
/* 4028B4 E0116274 26D66C8C */ addiu $s6, $s6, %lo(D_E0116C8C)
/* 4028B8 E0116278 3C014080 */ lui $at, 0x4080
/* 4028BC E011627C 44811000 */ mtc1 $at, $f2
/* 4028C0 E0116280 44840000 */ mtc1 $a0, $f0
/* 4028C4 E0116284 00000000 */ nop
/* 4028C8 E0116288 46800020 */ cvt.s.w $f0, $f0
/* 4028CC E011628C 46020002 */ mul.s $f0, $f0, $f2
/* 4028D0 E0116290 00000000 */ nop
/* 4028D4 E0116294 3C158000 */ lui $s5, 0x8000
/* 4028D8 E0116298 26300014 */ addiu $s0, $s1, 0x14
/* 4028DC E011629C 0000902D */ daddu $s2, $zero, $zero
/* 4028E0 E01162A0 3C014F00 */ lui $at, 0x4f00
/* 4028E4 E01162A4 4481D000 */ mtc1 $at, $f26
/* 4028E8 E01162A8 46000721 */ cvt.d.s $f28, $f0
.LE01162AC:
/* 4028EC E01162AC 4493A000 */ mtc1 $s3, $f20
/* 4028F0 E01162B0 00000000 */ nop
/* 4028F4 E01162B4 4680A520 */ cvt.s.w $f20, $f20
/* 4028F8 E01162B8 3C01E011 */ lui $at, %hi(D_E0116D90)
/* 4028FC E01162BC D4206D90 */ ldc1 $f0, %lo(D_E0116D90)($at)
/* 402900 E01162C0 4600A521 */ cvt.d.s $f20, $f20
/* 402904 E01162C4 4620A502 */ mul.d $f20, $f20, $f0
/* 402908 E01162C8 00000000 */ nop
/* 40290C E01162CC 4634E500 */ add.d $f20, $f28, $f20
/* 402910 E01162D0 4620A520 */ cvt.s.d $f20, $f20
/* 402914 E01162D4 0C080140 */ jal shim_sin_deg
/* 402918 E01162D8 4600A306 */ mov.s $f12, $f20
/* 40291C E01162DC 4600F306 */ mov.s $f12, $f30
/* 402920 E01162E0 C6160018 */ lwc1 $f22, 0x18($s0)
/* 402924 E01162E4 0C080140 */ jal shim_sin_deg
/* 402928 E01162E8 46000606 */ mov.s $f24, $f0
/* 40292C E01162EC 4600B002 */ mul.s $f0, $f22, $f0
/* 402930 E01162F0 00000000 */ nop
/* 402934 E01162F4 46180002 */ mul.s $f0, $f0, $f24
/* 402938 E01162F8 00000000 */ nop
/* 40293C E01162FC C7A60010 */ lwc1 $f6, 0x10($sp)
/* 402940 E0116300 46003000 */ add.s $f0, $f6, $f0
/* 402944 E0116304 4600A306 */ mov.s $f12, $f20
/* 402948 E0116308 0C080144 */ jal shim_cos_deg
/* 40294C E011630C E600FFF0 */ swc1 $f0, -0x10($s0)
/* 402950 E0116310 4600B002 */ mul.s $f0, $f22, $f0
/* 402954 E0116314 00000000 */ nop
/* 402958 E0116318 C7A60014 */ lwc1 $f6, 0x14($sp)
/* 40295C E011631C 46003000 */ add.s $f0, $f6, $f0
/* 402960 E0116320 4600F306 */ mov.s $f12, $f30
/* 402964 E0116324 0C080144 */ jal shim_cos_deg
/* 402968 E0116328 E600FFF4 */ swc1 $f0, -0xc($s0)
/* 40296C E011632C 4600B582 */ mul.s $f22, $f22, $f0
/* 402970 E0116330 00000000 */ nop
/* 402974 E0116334 4618B582 */ mul.s $f22, $f22, $f24
/* 402978 E0116338 00000000 */ nop
/* 40297C E011633C C7A60018 */ lwc1 $f6, 0x18($sp)
/* 402980 E0116340 92020015 */ lbu $v0, 0x15($s0)
/* 402984 E0116344 46163580 */ add.s $f22, $f6, $f22
/* 402988 E0116348 2443FFFF */ addiu $v1, $v0, -1
/* 40298C E011634C 2C620005 */ sltiu $v0, $v1, 5
/* 402990 E0116350 104000B8 */ beqz $v0, LE0116634_402C74
/* 402994 E0116354 E616FFF8 */ swc1 $f22, -8($s0)
/* 402998 E0116358 00031080 */ sll $v0, $v1, 2
/* 40299C E011635C 3C01E011 */ lui $at, %hi(jtbl_E0116D98)
/* 4029A0 E0116360 00220821 */ addu $at, $at, $v0
/* 4029A4 E0116364 8C226D98 */ lw $v0, %lo(jtbl_E0116D98)($at)
/* 4029A8 E0116368 00400008 */ jr $v0
/* 4029AC E011636C 00000000 */ nop
dlabel LE0116370_4029B0
/* 4029B0 E0116370 92020015 */ lbu $v0, 0x15($s0)
/* 4029B4 E0116374 AE000000 */ sw $zero, ($s0)
/* 4029B8 E0116378 24420001 */ addiu $v0, $v0, 1
/* 4029BC E011637C A2020015 */ sb $v0, 0x15($s0)
dlabel LE0116380_4029C0
/* 4029C0 E0116380 8E040000 */ lw $a0, ($s0)
/* 4029C4 E0116384 28820029 */ slti $v0, $a0, 0x29
/* 4029C8 E0116388 10400004 */ beqz $v0, .LE011639C
/* 4029CC E011638C 00041040 */ sll $v0, $a0, 1
/* 4029D0 E0116390 00571021 */ addu $v0, $v0, $s7
/* 4029D4 E0116394 080458E8 */ j .LE01163A0
/* 4029D8 E0116398 84420000 */ lh $v0, ($v0)
.LE011639C:
/* 4029DC E011639C 86E20050 */ lh $v0, 0x50($s7)
.LE01163A0:
/* 4029E0 E01163A0 44820000 */ mtc1 $v0, $f0
/* 4029E4 E01163A4 00000000 */ nop
/* 4029E8 E01163A8 46800020 */ cvt.s.w $f0, $f0
/* 4029EC E01163AC 2882000D */ slti $v0, $a0, 0xd
/* 4029F0 E01163B0 10400006 */ beqz $v0, .LE01163CC
/* 4029F4 E01163B4 E600000C */ swc1 $f0, 0xc($s0)
/* 4029F8 E01163B8 3C02E011 */ lui $v0, %hi(D_E0116CF8)
/* 4029FC E01163BC 00441021 */ addu $v0, $v0, $a0
/* 402A00 E01163C0 90426CF8 */ lbu $v0, %lo(D_E0116CF8)($v0)
/* 402A04 E01163C4 080458F6 */ j .LE01163D8
/* 402A08 E01163C8 A2020010 */ sb $v0, 0x10($s0)
.LE01163CC:
/* 402A0C E01163CC 3C02E011 */ lui $v0, %hi(D_E0116D04)
/* 402A10 E01163D0 90426D04 */ lbu $v0, %lo(D_E0116D04)($v0)
/* 402A14 E01163D4 A2020010 */ sb $v0, 0x10($s0)
.LE01163D8:
/* 402A18 E01163D8 28820034 */ slti $v0, $a0, 0x34
/* 402A1C E01163DC 10400006 */ beqz $v0, .LE01163F8
/* 402A20 E01163E0 00000000 */ nop
/* 402A24 E01163E4 3C02E011 */ lui $v0, %hi(D_E0116D08)
/* 402A28 E01163E8 00441021 */ addu $v0, $v0, $a0
/* 402A2C E01163EC 90426D08 */ lbu $v0, %lo(D_E0116D08)($v0)
/* 402A30 E01163F0 08045901 */ j .LE0116404
/* 402A34 E01163F4 A2020011 */ sb $v0, 0x11($s0)
.LE01163F8:
/* 402A38 E01163F8 3C02E011 */ lui $v0, %hi(D_E0116D3B)
/* 402A3C E01163FC 90426D3B */ lbu $v0, %lo(D_E0116D3B)($v0)
/* 402A40 E0116400 A2020011 */ sb $v0, 0x11($s0)
.LE0116404:
/* 402A44 E0116404 28820030 */ slti $v0, $a0, 0x30
/* 402A48 E0116408 10400005 */ beqz $v0, .LE0116420
/* 402A4C E011640C 00000000 */ nop
/* 402A50 E0116410 3C02E011 */ lui $v0, %hi(D_E0116D3C)
/* 402A54 E0116414 00441021 */ addu $v0, $v0, $a0
/* 402A58 E0116418 0804590A */ j .LE0116428
/* 402A5C E011641C 90426D3C */ lbu $v0, %lo(D_E0116D3C)($v0)
.LE0116420:
/* 402A60 E0116420 3C02E011 */ lui $v0, %hi(D_E0116D6B)
/* 402A64 E0116424 90426D6B */ lbu $v0, %lo(D_E0116D6B)($v0)
.LE0116428:
/* 402A68 E0116428 44822000 */ mtc1 $v0, $f4
/* 402A6C E011642C 00000000 */ nop
/* 402A70 E0116430 46802120 */ cvt.s.w $f4, $f4
/* 402A74 E0116434 3C01E011 */ lui $at, %hi(D_E0116DB0)
/* 402A78 E0116438 D4226DB0 */ ldc1 $f2, %lo(D_E0116DB0)($at)
/* 402A7C E011643C 46002021 */ cvt.d.s $f0, $f4
/* 402A80 E0116440 46220002 */ mul.d $f0, $f0, $f2
/* 402A84 E0116444 00000000 */ nop
/* 402A88 E0116448 02561021 */ addu $v0, $s2, $s6
/* 402A8C E011644C 90420000 */ lbu $v0, ($v0)
/* 402A90 E0116450 46200120 */ cvt.s.d $f4, $f0
/* 402A94 E0116454 44820000 */ mtc1 $v0, $f0
/* 402A98 E0116458 00000000 */ nop
/* 402A9C E011645C 46800020 */ cvt.s.w $f0, $f0
/* 402AA0 E0116460 46002002 */ mul.s $f0, $f4, $f0
/* 402AA4 E0116464 00000000 */ nop
/* 402AA8 E0116468 4600D03E */ c.le.s $f26, $f0
/* 402AAC E011646C 00000000 */ nop
/* 402AB0 E0116470 45010005 */ bc1t .LE0116488
/* 402AB4 E0116474 26230026 */ addiu $v1, $s1, 0x26
/* 402AB8 E0116478 4600018D */ trunc.w.s $f6, $f0
/* 402ABC E011647C 44023000 */ mfc1 $v0, $f6
/* 402AC0 E0116480 08045928 */ j .LE01164A0
/* 402AC4 E0116484 A0620000 */ sb $v0, ($v1)
.LE0116488:
/* 402AC8 E0116488 461A0001 */ sub.s $f0, $f0, $f26
/* 402ACC E011648C 4600018D */ trunc.w.s $f6, $f0
/* 402AD0 E0116490 44023000 */ mfc1 $v0, $f6
/* 402AD4 E0116494 00000000 */ nop
/* 402AD8 E0116498 00551025 */ or $v0, $v0, $s5
/* 402ADC E011649C A0620000 */ sb $v0, ($v1)
.LE01164A0:
/* 402AE0 E01164A0 02561021 */ addu $v0, $s2, $s6
/* 402AE4 E01164A4 90420001 */ lbu $v0, 1($v0)
/* 402AE8 E01164A8 44820000 */ mtc1 $v0, $f0
/* 402AEC E01164AC 00000000 */ nop
/* 402AF0 E01164B0 46800020 */ cvt.s.w $f0, $f0
/* 402AF4 E01164B4 46002002 */ mul.s $f0, $f4, $f0
/* 402AF8 E01164B8 00000000 */ nop
/* 402AFC E01164BC 4600D03E */ c.le.s $f26, $f0
/* 402B00 E01164C0 00000000 */ nop
/* 402B04 E01164C4 45010005 */ bc1t .LE01164DC
/* 402B08 E01164C8 26230027 */ addiu $v1, $s1, 0x27
/* 402B0C E01164CC 4600018D */ trunc.w.s $f6, $f0
/* 402B10 E01164D0 44023000 */ mfc1 $v0, $f6
/* 402B14 E01164D4 0804593D */ j .LE01164F4
/* 402B18 E01164D8 A0620000 */ sb $v0, ($v1)
.LE01164DC:
/* 402B1C E01164DC 461A0001 */ sub.s $f0, $f0, $f26
/* 402B20 E01164E0 4600018D */ trunc.w.s $f6, $f0
/* 402B24 E01164E4 44023000 */ mfc1 $v0, $f6
/* 402B28 E01164E8 00000000 */ nop
/* 402B2C E01164EC 00551025 */ or $v0, $v0, $s5
/* 402B30 E01164F0 A0620000 */ sb $v0, ($v1)
.LE01164F4:
/* 402B34 E01164F4 02561021 */ addu $v0, $s2, $s6
/* 402B38 E01164F8 90420002 */ lbu $v0, 2($v0)
/* 402B3C E01164FC 44820000 */ mtc1 $v0, $f0
/* 402B40 E0116500 00000000 */ nop
/* 402B44 E0116504 46800020 */ cvt.s.w $f0, $f0
/* 402B48 E0116508 46002002 */ mul.s $f0, $f4, $f0
/* 402B4C E011650C 00000000 */ nop
/* 402B50 E0116510 4600D03E */ c.le.s $f26, $f0
/* 402B54 E0116514 00000000 */ nop
/* 402B58 E0116518 45010005 */ bc1t .LE0116530
/* 402B5C E011651C 26230028 */ addiu $v1, $s1, 0x28
/* 402B60 E0116520 4600018D */ trunc.w.s $f6, $f0
/* 402B64 E0116524 44023000 */ mfc1 $v0, $f6
/* 402B68 E0116528 08045952 */ j .LE0116548
/* 402B6C E011652C A0620000 */ sb $v0, ($v1)
.LE0116530:
/* 402B70 E0116530 461A0001 */ sub.s $f0, $f0, $f26
/* 402B74 E0116534 4600018D */ trunc.w.s $f6, $f0
/* 402B78 E0116538 44023000 */ mfc1 $v0, $f6
/* 402B7C E011653C 00000000 */ nop
/* 402B80 E0116540 00551025 */ or $v0, $v0, $s5
/* 402B84 E0116544 A0620000 */ sb $v0, ($v1)
.LE0116548:
/* 402B88 E0116548 28820018 */ slti $v0, $a0, 0x18
/* 402B8C E011654C 10400005 */ beqz $v0, .LE0116564
/* 402B90 E0116550 00000000 */ nop
/* 402B94 E0116554 3C02E011 */ lui $v0, %hi(D_E0116D6C)
/* 402B98 E0116558 00441021 */ addu $v0, $v0, $a0
/* 402B9C E011655C 0804595B */ j .LE011656C
/* 402BA0 E0116560 90426D6C */ lbu $v0, %lo(D_E0116D6C)($v0)
.LE0116564:
/* 402BA4 E0116564 3C02E011 */ lui $v0, %hi(D_E0116D83)
/* 402BA8 E0116568 90426D83 */ lbu $v0, %lo(D_E0116D83)($v0)
.LE011656C:
/* 402BAC E011656C 3C01E011 */ lui $at, %hi(D_E0116DB8)
/* 402BB0 E0116570 D4226DB8 */ ldc1 $f2, %lo(D_E0116DB8)($at)
/* 402BB4 E0116574 44820000 */ mtc1 $v0, $f0
/* 402BB8 E0116578 00000000 */ nop
/* 402BBC E011657C 46800020 */ cvt.s.w $f0, $f0
/* 402BC0 E0116580 46000021 */ cvt.d.s $f0, $f0
/* 402BC4 E0116584 46220002 */ mul.d $f0, $f0, $f2
/* 402BC8 E0116588 00000000 */ nop
/* 402BCC E011658C 46200020 */ cvt.s.d $f0, $f0
/* 402BD0 E0116590 0804598D */ j LE0116634_402C74
/* 402BD4 E0116594 E6000004 */ swc1 $f0, 4($s0)
dlabel LE0116598_402BD8
/* 402BD8 E0116598 92020015 */ lbu $v0, 0x15($s0)
/* 402BDC E011659C AE000000 */ sw $zero, ($s0)
/* 402BE0 E01165A0 24420001 */ addiu $v0, $v0, 1
/* 402BE4 E01165A4 A2020015 */ sb $v0, 0x15($s0)
dlabel LE01165A8_402BE8
/* 402BE8 E01165A8 8E040000 */ lw $a0, ($s0)
/* 402BEC E01165AC 28820012 */ slti $v0, $a0, 0x12
/* 402BF0 E01165B0 1040001C */ beqz $v0, .LE0116624
/* 402BF4 E01165B4 00041880 */ sll $v1, $a0, 2
/* 402BF8 E01165B8 00641821 */ addu $v1, $v1, $a0
/* 402BFC E01165BC 00031840 */ sll $v1, $v1, 1
/* 402C00 E01165C0 2402005A */ addiu $v0, $zero, 0x5a
/* 402C04 E01165C4 00431023 */ subu $v0, $v0, $v1
/* 402C08 E01165C8 44826000 */ mtc1 $v0, $f12
/* 402C0C E01165CC 00000000 */ nop
/* 402C10 E01165D0 46806320 */ cvt.s.w $f12, $f12
/* 402C14 E01165D4 0C080140 */ jal shim_sin_deg
/* 402C18 E01165D8 26520003 */ addiu $s2, $s2, 3
/* 402C1C E01165DC 3C013F80 */ lui $at, 0x3f80
/* 402C20 E01165E0 44811000 */ mtc1 $at, $f2
/* 402C24 E01165E4 00000000 */ nop
/* 402C28 E01165E8 46020000 */ add.s $f0, $f0, $f2
/* 402C2C E01165EC 3C014248 */ lui $at, 0x4248
/* 402C30 E01165F0 44811000 */ mtc1 $at, $f2
/* 402C34 E01165F4 00000000 */ nop
/* 402C38 E01165F8 46020002 */ mul.s $f0, $f0, $f2
/* 402C3C E01165FC 00000000 */ nop
/* 402C40 E0116600 3C013FE0 */ lui $at, 0x3fe0
/* 402C44 E0116604 44811800 */ mtc1 $at, $f3
/* 402C48 E0116608 44801000 */ mtc1 $zero, $f2
/* 402C4C E011660C 46000021 */ cvt.d.s $f0, $f0
/* 402C50 E0116610 46220002 */ mul.d $f0, $f0, $f2
/* 402C54 E0116614 00000000 */ nop
/* 402C58 E0116618 46200020 */ cvt.s.d $f0, $f0
/* 402C5C E011661C 0804598E */ j .LE0116638
/* 402C60 E0116620 E6000018 */ swc1 $f0, 0x18($s0)
.LE0116624:
/* 402C64 E0116624 92020015 */ lbu $v0, 0x15($s0)
/* 402C68 E0116628 AE000018 */ sw $zero, 0x18($s0)
/* 402C6C E011662C 24420001 */ addiu $v0, $v0, 1
/* 402C70 E0116630 A2020015 */ sb $v0, 0x15($s0)
dlabel LE0116634_402C74
/* 402C74 E0116634 26520003 */ addiu $s2, $s2, 3
.LE0116638:
/* 402C78 E0116638 26730001 */ addiu $s3, $s3, 1
/* 402C7C E011663C 8E020000 */ lw $v0, ($s0)
/* 402C80 E0116640 26310030 */ addiu $s1, $s1, 0x30
/* 402C84 E0116644 24420001 */ addiu $v0, $v0, 1
/* 402C88 E0116648 AE020000 */ sw $v0, ($s0)
/* 402C8C E011664C 8E820008 */ lw $v0, 8($s4)
/* 402C90 E0116650 0262102A */ slt $v0, $s3, $v0
/* 402C94 E0116654 1440FF15 */ bnez $v0, .LE01162AC
/* 402C98 E0116658 26100030 */ addiu $s0, $s0, 0x30
.LE011665C:
/* 402C9C E011665C 8FBF0040 */ lw $ra, 0x40($sp)
/* 402CA0 E0116660 8FB7003C */ lw $s7, 0x3c($sp)
/* 402CA4 E0116664 8FB60038 */ lw $s6, 0x38($sp)
/* 402CA8 E0116668 8FB50034 */ lw $s5, 0x34($sp)
/* 402CAC E011666C 8FB40030 */ lw $s4, 0x30($sp)
/* 402CB0 E0116670 8FB3002C */ lw $s3, 0x2c($sp)
/* 402CB4 E0116674 8FB20028 */ lw $s2, 0x28($sp)
/* 402CB8 E0116678 8FB10024 */ lw $s1, 0x24($sp)
/* 402CBC E011667C 8FB00020 */ lw $s0, 0x20($sp)
/* 402CC0 E0116680 D7BE0070 */ ldc1 $f30, 0x70($sp)
/* 402CC4 E0116684 D7BC0068 */ ldc1 $f28, 0x68($sp)
/* 402CC8 E0116688 D7BA0060 */ ldc1 $f26, 0x60($sp)
/* 402CCC E011668C D7B80058 */ ldc1 $f24, 0x58($sp)
/* 402CD0 E0116690 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 402CD4 E0116694 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 402CD8 E0116698 03E00008 */ jr $ra
/* 402CDC E011669C 27BD0078 */ addiu $sp, $sp, 0x78

View File

@ -1,176 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spiky_white_aura_appendGfx
/* 34E468 E0038748 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 34E46C E003874C AFB700B4 */ sw $s7, 0xb4($sp)
/* 34E470 E0038750 0080B82D */ daddu $s7, $a0, $zero
/* 34E474 E0038754 3C02DB06 */ lui $v0, 0xdb06
/* 34E478 E0038758 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 34E47C E003875C 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 34E480 E0038760 34420024 */ ori $v0, $v0, 0x24
/* 34E484 E0038764 AFBF00BC */ sw $ra, 0xbc($sp)
/* 34E488 E0038768 AFBE00B8 */ sw $fp, 0xb8($sp)
/* 34E48C E003876C AFB600B0 */ sw $s6, 0xb0($sp)
/* 34E490 E0038770 AFB500AC */ sw $s5, 0xac($sp)
/* 34E494 E0038774 AFB400A8 */ sw $s4, 0xa8($sp)
/* 34E498 E0038778 AFB300A4 */ sw $s3, 0xa4($sp)
/* 34E49C E003877C AFB200A0 */ sw $s2, 0xa0($sp)
/* 34E4A0 E0038780 AFB1009C */ sw $s1, 0x9c($sp)
/* 34E4A4 E0038784 AFB00098 */ sw $s0, 0x98($sp)
/* 34E4A8 E0038788 F7B600C8 */ sdc1 $f22, 0xc8($sp)
/* 34E4AC E003878C F7B400C0 */ sdc1 $f20, 0xc0($sp)
/* 34E4B0 E0038790 8CC40000 */ lw $a0, ($a2)
/* 34E4B4 E0038794 8EE7000C */ lw $a3, 0xc($s7)
/* 34E4B8 E0038798 0080282D */ daddu $a1, $a0, $zero
/* 34E4BC E003879C 24840008 */ addiu $a0, $a0, 8
/* 34E4C0 E00387A0 ACC40000 */ sw $a0, ($a2)
/* 34E4C4 E00387A4 ACA20000 */ sw $v0, ($a1)
/* 34E4C8 E00387A8 24820008 */ addiu $v0, $a0, 8
/* 34E4CC E00387AC ACC20000 */ sw $v0, ($a2)
/* 34E4D0 E00387B0 8EE30010 */ lw $v1, 0x10($s7)
/* 34E4D4 E00387B4 24820010 */ addiu $v0, $a0, 0x10
/* 34E4D8 E00387B8 ACC20000 */ sw $v0, ($a2)
/* 34E4DC E00387BC 8C62001C */ lw $v0, 0x1c($v1)
/* 34E4E0 E00387C0 3C038000 */ lui $v1, 0x8000
/* 34E4E4 E00387C4 00431021 */ addu $v0, $v0, $v1
/* 34E4E8 E00387C8 ACA20004 */ sw $v0, 4($a1)
/* 34E4EC E00387CC 3C02DE00 */ lui $v0, 0xde00
/* 34E4F0 E00387D0 AC820000 */ sw $v0, ($a0)
/* 34E4F4 E00387D4 3C020900 */ lui $v0, 0x900
/* 34E4F8 E00387D8 24420440 */ addiu $v0, $v0, 0x440
/* 34E4FC E00387DC AC820004 */ sw $v0, 4($a0)
/* 34E500 E00387E0 3C02FA00 */ lui $v0, 0xfa00
/* 34E504 E00387E4 AC820008 */ sw $v0, 8($a0)
/* 34E508 E00387E8 90E20027 */ lbu $v0, 0x27($a3)
/* 34E50C E00387EC 2403FF00 */ addiu $v1, $zero, -0x100
/* 34E510 E00387F0 00431025 */ or $v0, $v0, $v1
/* 34E514 E00387F4 AC82000C */ sw $v0, 0xc($a0)
/* 34E518 E00387F8 8EE20008 */ lw $v0, 8($s7)
/* 34E51C E00387FC 1840006B */ blez $v0, .LE00389AC
/* 34E520 E0038800 0000902D */ daddu $s2, $zero, $zero
/* 34E524 E0038804 27B10058 */ addiu $s1, $sp, 0x58
/* 34E528 E0038808 3C1E800B */ lui $fp, %hi(gCameras)
/* 34E52C E003880C 27DE1D80 */ addiu $fp, $fp, %lo(gCameras)
/* 34E530 E0038810 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 34E534 E0038814 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 34E538 E0038818 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 34E53C E003881C 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 34E540 E0038820 3C140001 */ lui $s4, 1
/* 34E544 E0038824 36941630 */ ori $s4, $s4, 0x1630
/* 34E548 E0038828 00C0982D */ daddu $s3, $a2, $zero
/* 34E54C E003882C 24F00020 */ addiu $s0, $a3, 0x20
/* 34E550 E0038830 4480A000 */ mtc1 $zero, $f20
/* 34E554 E0038834 3C013F80 */ lui $at, 0x3f80
/* 34E558 E0038838 4481B000 */ mtc1 $at, $f22
.LE003883C:
/* 34E55C E003883C 27A40018 */ addiu $a0, $sp, 0x18
/* 34E560 E0038840 8E05FFE4 */ lw $a1, -0x1c($s0)
/* 34E564 E0038844 8E06FFE8 */ lw $a2, -0x18($s0)
/* 34E568 E0038848 8E07FFEC */ lw $a3, -0x14($s0)
/* 34E56C E003884C 0C080108 */ jal shim_guTranslateF
/* 34E570 E0038850 26520001 */ addiu $s2, $s2, 1
/* 34E574 E0038854 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 34E578 E0038858 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 34E57C E003885C 4406A000 */ mfc1 $a2, $f20
/* 34E580 E0038860 00031080 */ sll $v0, $v1, 2
/* 34E584 E0038864 00431021 */ addu $v0, $v0, $v1
/* 34E588 E0038868 00021080 */ sll $v0, $v0, 2
/* 34E58C E003886C 00431023 */ subu $v0, $v0, $v1
/* 34E590 E0038870 000218C0 */ sll $v1, $v0, 3
/* 34E594 E0038874 00431021 */ addu $v0, $v0, $v1
/* 34E598 E0038878 000210C0 */ sll $v0, $v0, 3
/* 34E59C E003887C 005E1021 */ addu $v0, $v0, $fp
/* 34E5A0 E0038880 C440006C */ lwc1 $f0, 0x6c($v0)
/* 34E5A4 E0038884 4407B000 */ mfc1 $a3, $f22
/* 34E5A8 E0038888 46000007 */ neg.s $f0, $f0
/* 34E5AC E003888C 44050000 */ mfc1 $a1, $f0
/* 34E5B0 E0038890 0220202D */ daddu $a0, $s1, $zero
/* 34E5B4 E0038894 0C080104 */ jal shim_guRotateF
/* 34E5B8 E0038898 E7B40010 */ swc1 $f20, 0x10($sp)
/* 34E5BC E003889C 0220202D */ daddu $a0, $s1, $zero
/* 34E5C0 E00388A0 27A50018 */ addiu $a1, $sp, 0x18
/* 34E5C4 E00388A4 0C080114 */ jal shim_guMtxCatF
/* 34E5C8 E00388A8 00A0302D */ daddu $a2, $a1, $zero
/* 34E5CC E00388AC E7B60010 */ swc1 $f22, 0x10($sp)
/* 34E5D0 E00388B0 8E05FFFC */ lw $a1, -4($s0)
/* 34E5D4 E00388B4 4406A000 */ mfc1 $a2, $f20
/* 34E5D8 E00388B8 4407A000 */ mfc1 $a3, $f20
/* 34E5DC E00388BC 0C080104 */ jal shim_guRotateF
/* 34E5E0 E00388C0 0220202D */ daddu $a0, $s1, $zero
/* 34E5E4 E00388C4 0220202D */ daddu $a0, $s1, $zero
/* 34E5E8 E00388C8 27A50018 */ addiu $a1, $sp, 0x18
/* 34E5EC E00388CC 0C080114 */ jal shim_guMtxCatF
/* 34E5F0 E00388D0 00A0302D */ daddu $a2, $a1, $zero
/* 34E5F4 E00388D4 0220202D */ daddu $a0, $s1, $zero
/* 34E5F8 E00388D8 8E050000 */ lw $a1, ($s0)
/* 34E5FC E00388DC 26100030 */ addiu $s0, $s0, 0x30
/* 34E600 E00388E0 4407B000 */ mfc1 $a3, $f22
/* 34E604 E00388E4 0C080110 */ jal shim_guScaleF
/* 34E608 E00388E8 00A0302D */ daddu $a2, $a1, $zero
/* 34E60C E00388EC 0220202D */ daddu $a0, $s1, $zero
/* 34E610 E00388F0 27A50018 */ addiu $a1, $sp, 0x18
/* 34E614 E00388F4 0C080114 */ jal shim_guMtxCatF
/* 34E618 E00388F8 00A0302D */ daddu $a2, $a1, $zero
/* 34E61C E00388FC 27A40018 */ addiu $a0, $sp, 0x18
/* 34E620 E0038900 96A50000 */ lhu $a1, ($s5)
/* 34E624 E0038904 8EC20000 */ lw $v0, ($s6)
/* 34E628 E0038908 00052980 */ sll $a1, $a1, 6
/* 34E62C E003890C 00B42821 */ addu $a1, $a1, $s4
/* 34E630 E0038910 0C080118 */ jal shim_guMtxF2L
/* 34E634 E0038914 00452821 */ addu $a1, $v0, $a1
/* 34E638 E0038918 3C05D838 */ lui $a1, 0xd838
/* 34E63C E003891C 34A50002 */ ori $a1, $a1, 2
/* 34E640 E0038920 8E640000 */ lw $a0, ($s3)
/* 34E644 E0038924 3C02E700 */ lui $v0, 0xe700
/* 34E648 E0038928 0080182D */ daddu $v1, $a0, $zero
/* 34E64C E003892C 24840008 */ addiu $a0, $a0, 8
/* 34E650 E0038930 AE640000 */ sw $a0, ($s3)
/* 34E654 E0038934 AC620000 */ sw $v0, ($v1)
/* 34E658 E0038938 24820008 */ addiu $v0, $a0, 8
/* 34E65C E003893C AC600004 */ sw $zero, 4($v1)
/* 34E660 E0038940 AE620000 */ sw $v0, ($s3)
/* 34E664 E0038944 96A20000 */ lhu $v0, ($s5)
/* 34E668 E0038948 3C03DA38 */ lui $v1, 0xda38
/* 34E66C E003894C AC830000 */ sw $v1, ($a0)
/* 34E670 E0038950 24430001 */ addiu $v1, $v0, 1
/* 34E674 E0038954 3042FFFF */ andi $v0, $v0, 0xffff
/* 34E678 E0038958 00021180 */ sll $v0, $v0, 6
/* 34E67C E003895C A6A30000 */ sh $v1, ($s5)
/* 34E680 E0038960 8EC30000 */ lw $v1, ($s6)
/* 34E684 E0038964 00541021 */ addu $v0, $v0, $s4
/* 34E688 E0038968 00621821 */ addu $v1, $v1, $v0
/* 34E68C E003896C 24820010 */ addiu $v0, $a0, 0x10
/* 34E690 E0038970 AC830004 */ sw $v1, 4($a0)
/* 34E694 E0038974 AE620000 */ sw $v0, ($s3)
/* 34E698 E0038978 3C02DE00 */ lui $v0, 0xde00
/* 34E69C E003897C AC820008 */ sw $v0, 8($a0)
/* 34E6A0 E0038980 3C020900 */ lui $v0, 0x900
/* 34E6A4 E0038984 244204E8 */ addiu $v0, $v0, 0x4e8
/* 34E6A8 E0038988 AC82000C */ sw $v0, 0xc($a0)
/* 34E6AC E003898C 24020040 */ addiu $v0, $zero, 0x40
/* 34E6B0 E0038990 AC850010 */ sw $a1, 0x10($a0)
/* 34E6B4 E0038994 AC820014 */ sw $v0, 0x14($a0)
/* 34E6B8 E0038998 8EE20008 */ lw $v0, 8($s7)
/* 34E6BC E003899C 24840018 */ addiu $a0, $a0, 0x18
/* 34E6C0 E00389A0 0242102A */ slt $v0, $s2, $v0
/* 34E6C4 E00389A4 1440FFA5 */ bnez $v0, .LE003883C
/* 34E6C8 E00389A8 AE640000 */ sw $a0, ($s3)
.LE00389AC:
/* 34E6CC E00389AC 8FBF00BC */ lw $ra, 0xbc($sp)
/* 34E6D0 E00389B0 8FBE00B8 */ lw $fp, 0xb8($sp)
/* 34E6D4 E00389B4 8FB700B4 */ lw $s7, 0xb4($sp)
/* 34E6D8 E00389B8 8FB600B0 */ lw $s6, 0xb0($sp)
/* 34E6DC E00389BC 8FB500AC */ lw $s5, 0xac($sp)
/* 34E6E0 E00389C0 8FB400A8 */ lw $s4, 0xa8($sp)
/* 34E6E4 E00389C4 8FB300A4 */ lw $s3, 0xa4($sp)
/* 34E6E8 E00389C8 8FB200A0 */ lw $s2, 0xa0($sp)
/* 34E6EC E00389CC 8FB1009C */ lw $s1, 0x9c($sp)
/* 34E6F0 E00389D0 8FB00098 */ lw $s0, 0x98($sp)
/* 34E6F4 E00389D4 D7B600C8 */ ldc1 $f22, 0xc8($sp)
/* 34E6F8 E00389D8 D7B400C0 */ ldc1 $f20, 0xc0($sp)
/* 34E6FC E00389DC 03E00008 */ jr $ra
/* 34E700 E00389E0 27BD00D0 */ addiu $sp, $sp, 0xd0
/* 34E704 E00389E4 00000000 */ nop
/* 34E708 E00389E8 00000000 */ nop
/* 34E70C E00389EC 00000000 */ nop

View File

@ -1,287 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0038A20
.double 0.6
.section .text
glabel spiky_white_aura_main
/* 34DD20 E0038000 27BDFF38 */ addiu $sp, $sp, -0xc8
/* 34DD24 E0038004 F7BE00C0 */ sdc1 $f30, 0xc0($sp)
/* 34DD28 E0038008 4485F000 */ mtc1 $a1, $f30
/* 34DD2C E003800C F7B600A0 */ sdc1 $f22, 0xa0($sp)
/* 34DD30 E0038010 4480B000 */ mtc1 $zero, $f22
/* 34DD34 E0038014 3C013F80 */ lui $at, 0x3f80
/* 34DD38 E0038018 44816000 */ mtc1 $at, $f12
/* 34DD3C E003801C F7B800A8 */ sdc1 $f24, 0xa8($sp)
/* 34DD40 E0038020 3C01BF80 */ lui $at, 0xbf80
/* 34DD44 E0038024 4481C000 */ mtc1 $at, $f24
/* 34DD48 E0038028 AFBF0094 */ sw $ra, 0x94($sp)
/* 34DD4C E003802C AFBE0090 */ sw $fp, 0x90($sp)
/* 34DD50 E0038030 AFB7008C */ sw $s7, 0x8c($sp)
/* 34DD54 E0038034 AFB60088 */ sw $s6, 0x88($sp)
/* 34DD58 E0038038 AFB50084 */ sw $s5, 0x84($sp)
/* 34DD5C E003803C AFB40080 */ sw $s4, 0x80($sp)
/* 34DD60 E0038040 AFB3007C */ sw $s3, 0x7c($sp)
/* 34DD64 E0038044 AFB20078 */ sw $s2, 0x78($sp)
/* 34DD68 E0038048 AFB10074 */ sw $s1, 0x74($sp)
/* 34DD6C E003804C AFB00070 */ sw $s0, 0x70($sp)
/* 34DD70 E0038050 F7BC00B8 */ sdc1 $f28, 0xb8($sp)
/* 34DD74 E0038054 F7BA00B0 */ sdc1 $f26, 0xb0($sp)
/* 34DD78 E0038058 F7B40098 */ sdc1 $f20, 0x98($sp)
/* 34DD7C E003805C AFA400C8 */ sw $a0, 0xc8($sp)
/* 34DD80 E0038060 AFA600D0 */ sw $a2, 0xd0($sp)
/* 34DD84 E0038064 AFA700D4 */ sw $a3, 0xd4($sp)
/* 34DD88 E0038068 0C080154 */ jal shim_sqrtf
/* 34DD8C E003806C 46006706 */ mov.s $f28, $f12
/* 34DD90 E0038070 4600C303 */ div.s $f12, $f24, $f0
/* 34DD94 E0038074 46166682 */ mul.s $f26, $f12, $f22
/* 34DD98 E0038078 00000000 */ nop
/* 34DD9C E003807C 4600B506 */ mov.s $f20, $f22
/* 34DDA0 E0038080 27B00018 */ addiu $s0, $sp, 0x18
/* 34DDA4 E0038084 24150005 */ addiu $s5, $zero, 5
/* 34DDA8 E0038088 4600D586 */ mov.s $f22, $f26
/* 34DDAC E003808C 4614B032 */ c.eq.s $f22, $f20
/* 34DDB0 E0038090 00000000 */ nop
/* 34DDB4 E0038094 45010005 */ bc1t .LE00380AC
/* 34DDB8 E0038098 46006607 */ neg.s $f24, $f12
/* 34DDBC E003809C 46166003 */ div.s $f0, $f12, $f22
/* 34DDC0 E00380A0 4600E086 */ mov.s $f2, $f28
/* 34DDC4 E00380A4 0800E036 */ j .LE00380D8
/* 34DDC8 E00380A8 4600A106 */ mov.s $f4, $f20
.LE00380AC:
/* 34DDCC E00380AC 4614C032 */ c.eq.s $f24, $f20
/* 34DDD0 E00380B0 00000000 */ nop
/* 34DDD4 E00380B4 45010005 */ bc1t .LE00380CC
/* 34DDD8 E00380B8 4600B007 */ neg.s $f0, $f22
/* 34DDDC E00380BC 46180083 */ div.s $f2, $f0, $f24
/* 34DDE0 E00380C0 4600E006 */ mov.s $f0, $f28
/* 34DDE4 E00380C4 0800E036 */ j .LE00380D8
/* 34DDE8 E00380C8 4600A106 */ mov.s $f4, $f20
.LE00380CC:
/* 34DDEC E00380CC 46160103 */ div.s $f4, $f0, $f22
/* 34DDF0 E00380D0 4600A086 */ mov.s $f2, $f20
/* 34DDF4 E00380D4 4600E006 */ mov.s $f0, $f28
.LE00380D8:
/* 34DDF8 E00380D8 46000002 */ mul.s $f0, $f0, $f0
/* 34DDFC E00380DC 00000000 */ nop
/* 34DE00 E00380E0 46021082 */ mul.s $f2, $f2, $f2
/* 34DE04 E00380E4 00000000 */ nop
/* 34DE08 E00380E8 46042102 */ mul.s $f4, $f4, $f4
/* 34DE0C E00380EC 00000000 */ nop
/* 34DE10 E00380F0 46020000 */ add.s $f0, $f0, $f2
/* 34DE14 E00380F4 46040300 */ add.s $f12, $f0, $f4
/* 34DE18 E00380F8 44800000 */ mtc1 $zero, $f0
/* 34DE1C E00380FC 00000000 */ nop
/* 34DE20 E0038100 46006032 */ c.eq.s $f12, $f0
/* 34DE24 E0038104 00000000 */ nop
/* 34DE28 E0038108 450100B2 */ bc1t .LE00383D4
/* 34DE2C E003810C 00000000 */ nop
/* 34DE30 E0038110 0C080154 */ jal shim_sqrtf
/* 34DE34 E0038114 00000000 */ nop
/* 34DE38 E0038118 0200202D */ daddu $a0, $s0, $zero
/* 34DE3C E003811C 3C014190 */ lui $at, 0x4190
/* 34DE40 E0038120 44810000 */ mtc1 $at, $f0
/* 34DE44 E0038124 3C02E004 */ lui $v0, %hi(spiky_white_aura_init)
/* 34DE48 E0038128 2442841C */ addiu $v0, $v0, %lo(spiky_white_aura_init)
/* 34DE4C E003812C AC820008 */ sw $v0, 8($a0)
/* 34DE50 E0038130 4600D682 */ mul.s $f26, $f26, $f0
/* 34DE54 E0038134 00000000 */ nop
/* 34DE58 E0038138 3C02E004 */ lui $v0, %hi(spiky_white_aura_update)
/* 34DE5C E003813C 24428424 */ addiu $v0, $v0, %lo(spiky_white_aura_update)
/* 34DE60 E0038140 AC82000C */ sw $v0, 0xc($a0)
/* 34DE64 E0038144 3C02E004 */ lui $v0, %hi(spiky_white_aura_render)
/* 34DE68 E0038148 24428704 */ addiu $v0, $v0, %lo(spiky_white_aura_render)
/* 34DE6C E003814C AC820010 */ sw $v0, 0x10($a0)
/* 34DE70 E0038150 4600C602 */ mul.s $f24, $f24, $f0
/* 34DE74 E0038154 00000000 */ nop
/* 34DE78 E0038158 2402001C */ addiu $v0, $zero, 0x1c
/* 34DE7C E003815C AC800000 */ sw $zero, ($a0)
/* 34DE80 E0038160 AC800014 */ sw $zero, 0x14($a0)
/* 34DE84 E0038164 4600B582 */ mul.s $f22, $f22, $f0
/* 34DE88 E0038168 00000000 */ nop
/* 34DE8C E003816C 0C080124 */ jal shim_create_effect_instance
/* 34DE90 E0038170 AC820004 */ sw $v0, 4($a0)
/* 34DE94 E0038174 00152040 */ sll $a0, $s5, 1
/* 34DE98 E0038178 00952021 */ addu $a0, $a0, $s5
/* 34DE9C E003817C 00042100 */ sll $a0, $a0, 4
/* 34DEA0 E0038180 0040802D */ daddu $s0, $v0, $zero
/* 34DEA4 E0038184 0C08012C */ jal shim_general_heap_malloc
/* 34DEA8 E0038188 AE150008 */ sw $s5, 8($s0)
/* 34DEAC E003818C 0040902D */ daddu $s2, $v0, $zero
/* 34DEB0 E0038190 16400003 */ bnez $s2, .LE00381A0
/* 34DEB4 E0038194 AE12000C */ sw $s2, 0xc($s0)
.LE0038198:
/* 34DEB8 E0038198 0800E066 */ j .LE0038198
/* 34DEBC E003819C 00000000 */ nop
.LE00381A0:
/* 34DEC0 E00381A0 12A0008C */ beqz $s5, .LE00383D4
/* 34DEC4 E00381A4 0000A02D */ daddu $s4, $zero, $zero
/* 34DEC8 E00381A8 3C17800B */ lui $s7, %hi(gCameras)
/* 34DECC E00381AC 26F71D80 */ addiu $s7, $s7, %lo(gCameras)
/* 34DED0 E00381B0 3C168007 */ lui $s6, %hi(gCurrentCameraID)
/* 34DED4 E00381B4 26D67410 */ addiu $s6, $s6, %lo(gCurrentCameraID)
/* 34DED8 E00381B8 27BE0030 */ addiu $fp, $sp, 0x30
/* 34DEDC E00381BC 26B3FFFF */ addiu $s3, $s5, -1
/* 34DEE0 E00381C0 3C01E004 */ lui $at, %hi(D_E0038A20)
/* 34DEE4 E00381C4 D43C8A20 */ ldc1 $f28, %lo(D_E0038A20)($at)
/* 34DEE8 E00381C8 26500024 */ addiu $s0, $s2, 0x24
/* 34DEEC E00381CC 0280882D */ daddu $s1, $s4, $zero
.LE00381D0:
/* 34DEF0 E00381D0 8EC30000 */ lw $v1, ($s6)
/* 34DEF4 E00381D4 8FA800C8 */ lw $t0, 0xc8($sp)
/* 34DEF8 E00381D8 00031080 */ sll $v0, $v1, 2
/* 34DEFC E00381DC 00431021 */ addu $v0, $v0, $v1
/* 34DF00 E00381E0 00021080 */ sll $v0, $v0, 2
/* 34DF04 E00381E4 00431023 */ subu $v0, $v0, $v1
/* 34DF08 E00381E8 000218C0 */ sll $v1, $v0, 3
/* 34DF0C E00381EC 00431021 */ addu $v0, $v0, $v1
/* 34DF10 E00381F0 AE480000 */ sw $t0, ($s2)
/* 34DF14 E00381F4 E61EFFE0 */ swc1 $f30, -0x20($s0)
/* 34DF18 E00381F8 C7A600D0 */ lwc1 $f6, 0xd0($sp)
/* 34DF1C E00381FC 000210C0 */ sll $v0, $v0, 3
/* 34DF20 E0038200 E606FFE4 */ swc1 $f6, -0x1c($s0)
/* 34DF24 E0038204 C7A600D4 */ lwc1 $f6, 0xd4($sp)
/* 34DF28 E0038208 00571021 */ addu $v0, $v0, $s7
/* 34DF2C E003820C E606FFE8 */ swc1 $f6, -0x18($s0)
/* 34DF30 E0038210 0C080140 */ jal shim_sin_deg
/* 34DF34 E0038214 C44C006C */ lwc1 $f12, 0x6c($v0)
/* 34DF38 E0038218 8EC30000 */ lw $v1, ($s6)
/* 34DF3C E003821C 00031080 */ sll $v0, $v1, 2
/* 34DF40 E0038220 00431021 */ addu $v0, $v0, $v1
/* 34DF44 E0038224 00021080 */ sll $v0, $v0, 2
/* 34DF48 E0038228 00431023 */ subu $v0, $v0, $v1
/* 34DF4C E003822C 000218C0 */ sll $v1, $v0, 3
/* 34DF50 E0038230 00431021 */ addu $v0, $v0, $v1
/* 34DF54 E0038234 000210C0 */ sll $v0, $v0, 3
/* 34DF58 E0038238 00571021 */ addu $v0, $v0, $s7
/* 34DF5C E003823C C44C006C */ lwc1 $f12, 0x6c($v0)
/* 34DF60 E0038240 0C080144 */ jal shim_cos_deg
/* 34DF64 E0038244 46000506 */ mov.s $f20, $f0
/* 34DF68 E0038248 24020001 */ addiu $v0, $zero, 1
/* 34DF6C E003824C 12A20011 */ beq $s5, $v0, .LE0038294
/* 34DF70 E0038250 46000007 */ neg.s $f0, $f0
/* 34DF74 E0038254 16600002 */ bnez $s3, .LE0038260
/* 34DF78 E0038258 0233001A */ div $zero, $s1, $s3
/* 34DF7C E003825C 0007000D */ break 7
.LE0038260:
/* 34DF80 E0038260 2401FFFF */ addiu $at, $zero, -1
/* 34DF84 E0038264 16610004 */ bne $s3, $at, .LE0038278
/* 34DF88 E0038268 3C018000 */ lui $at, 0x8000
/* 34DF8C E003826C 16210002 */ bne $s1, $at, .LE0038278
/* 34DF90 E0038270 00000000 */ nop
/* 34DF94 E0038274 0006000D */ break 6
.LE0038278:
/* 34DF98 E0038278 00001012 */ mflo $v0
/* 34DF9C E003827C 2442FFCE */ addiu $v0, $v0, -0x32
/* 34DFA0 E0038280 44821000 */ mtc1 $v0, $f2
/* 34DFA4 E0038284 00000000 */ nop
/* 34DFA8 E0038288 468010A0 */ cvt.s.w $f2, $f2
/* 34DFAC E003828C 0800E0A7 */ j .LE003829C
/* 34DFB0 E0038290 03C0202D */ daddu $a0, $fp, $zero
.LE0038294:
/* 34DFB4 E0038294 44801000 */ mtc1 $zero, $f2
/* 34DFB8 E0038298 03C0202D */ daddu $a0, $fp, $zero
.LE003829C:
/* 34DFBC E003829C 44051000 */ mfc1 $a1, $f2
/* 34DFC0 E00382A0 4406A000 */ mfc1 $a2, $f20
/* 34DFC4 E00382A4 0000382D */ daddu $a3, $zero, $zero
/* 34DFC8 E00382A8 0C080104 */ jal shim_guRotateF
/* 34DFCC E00382AC E7A00010 */ swc1 $f0, 0x10($sp)
/* 34DFD0 E00382B0 16600002 */ bnez $s3, .LE00382BC
/* 34DFD4 E00382B4 0233001A */ div $zero, $s1, $s3
/* 34DFD8 E00382B8 0007000D */ break 7
.LE00382BC:
/* 34DFDC E00382BC 2401FFFF */ addiu $at, $zero, -1
/* 34DFE0 E00382C0 16610004 */ bne $s3, $at, .LE00382D4
/* 34DFE4 E00382C4 3C018000 */ lui $at, 0x8000
/* 34DFE8 E00382C8 16210002 */ bne $s1, $at, .LE00382D4
/* 34DFEC E00382CC 00000000 */ nop
/* 34DFF0 E00382D0 0006000D */ break 6
.LE00382D4:
/* 34DFF4 E00382D4 00001812 */ mflo $v1
/* 34DFF8 E00382D8 C7A00030 */ lwc1 $f0, 0x30($sp)
/* 34DFFC E00382DC 461A0002 */ mul.s $f0, $f0, $f26
/* 34E000 E00382E0 00000000 */ nop
/* 34E004 E00382E4 C7A40040 */ lwc1 $f4, 0x40($sp)
/* 34E008 E00382E8 46182102 */ mul.s $f4, $f4, $f24
/* 34E00C E00382EC 00000000 */ nop
/* 34E010 E00382F0 C7A20050 */ lwc1 $f2, 0x50($sp)
/* 34E014 E00382F4 46161082 */ mul.s $f2, $f2, $f22
/* 34E018 E00382F8 00000000 */ nop
/* 34E01C E00382FC 46040000 */ add.s $f0, $f0, $f4
/* 34E020 E0038300 46020000 */ add.s $f0, $f0, $f2
/* 34E024 E0038304 46000021 */ cvt.d.s $f0, $f0
/* 34E028 E0038308 463C0002 */ mul.d $f0, $f0, $f28
/* 34E02C E003830C 00000000 */ nop
/* 34E030 E0038310 46200020 */ cvt.s.d $f0, $f0
/* 34E034 E0038314 E600FFEC */ swc1 $f0, -0x14($s0)
/* 34E038 E0038318 C7A00034 */ lwc1 $f0, 0x34($sp)
/* 34E03C E003831C 461A0002 */ mul.s $f0, $f0, $f26
/* 34E040 E0038320 00000000 */ nop
/* 34E044 E0038324 C7A40044 */ lwc1 $f4, 0x44($sp)
/* 34E048 E0038328 46182102 */ mul.s $f4, $f4, $f24
/* 34E04C E003832C 00000000 */ nop
/* 34E050 E0038330 C7A20054 */ lwc1 $f2, 0x54($sp)
/* 34E054 E0038334 46161082 */ mul.s $f2, $f2, $f22
/* 34E058 E0038338 00000000 */ nop
/* 34E05C E003833C 46040000 */ add.s $f0, $f0, $f4
/* 34E060 E0038340 46020000 */ add.s $f0, $f0, $f2
/* 34E064 E0038344 E600FFF0 */ swc1 $f0, -0x10($s0)
/* 34E068 E0038348 C7A00038 */ lwc1 $f0, 0x38($sp)
/* 34E06C E003834C 461A0002 */ mul.s $f0, $f0, $f26
/* 34E070 E0038350 00000000 */ nop
/* 34E074 E0038354 C7A20048 */ lwc1 $f2, 0x48($sp)
/* 34E078 E0038358 46181082 */ mul.s $f2, $f2, $f24
/* 34E07C E003835C 00000000 */ nop
/* 34E080 E0038360 C7A40058 */ lwc1 $f4, 0x58($sp)
/* 34E084 E0038364 46162102 */ mul.s $f4, $f4, $f22
/* 34E088 E0038368 00000000 */ nop
/* 34E08C E003836C 26940001 */ addiu $s4, $s4, 1
/* 34E090 E0038370 26520030 */ addiu $s2, $s2, 0x30
/* 34E094 E0038374 26310064 */ addiu $s1, $s1, 0x64
/* 34E098 E0038378 46020000 */ add.s $f0, $f0, $f2
/* 34E09C E003837C 24020032 */ addiu $v0, $zero, 0x32
/* 34E0A0 E0038380 3C013F00 */ lui $at, 0x3f00
/* 34E0A4 E0038384 44811000 */ mtc1 $at, $f2
/* 34E0A8 E0038388 46040000 */ add.s $f0, $f0, $f4
/* 34E0AC E003838C E602FFFC */ swc1 $f2, -4($s0)
/* 34E0B0 E0038390 8FA800D8 */ lw $t0, 0xd8($sp)
/* 34E0B4 E0038394 46000021 */ cvt.d.s $f0, $f0
/* 34E0B8 E0038398 463C0002 */ mul.d $f0, $f0, $f28
/* 34E0BC E003839C 00000000 */ nop
/* 34E0C0 E00383A0 AE000008 */ sw $zero, 8($s0)
/* 34E0C4 E00383A4 AE000000 */ sw $zero, ($s0)
/* 34E0C8 E00383A8 AE080004 */ sw $t0, 4($s0)
/* 34E0CC E00383AC 00431023 */ subu $v0, $v0, $v1
/* 34E0D0 E00383B0 44821000 */ mtc1 $v0, $f2
/* 34E0D4 E00383B4 00000000 */ nop
/* 34E0D8 E00383B8 468010A0 */ cvt.s.w $f2, $f2
/* 34E0DC E00383BC 0295102A */ slt $v0, $s4, $s5
/* 34E0E0 E00383C0 E602FFF8 */ swc1 $f2, -8($s0)
/* 34E0E4 E00383C4 46200020 */ cvt.s.d $f0, $f0
/* 34E0E8 E00383C8 E600FFF4 */ swc1 $f0, -0xc($s0)
/* 34E0EC E00383CC 1440FF80 */ bnez $v0, .LE00381D0
/* 34E0F0 E00383D0 26100030 */ addiu $s0, $s0, 0x30
.LE00383D4:
/* 34E0F4 E00383D4 8FBF0094 */ lw $ra, 0x94($sp)
/* 34E0F8 E00383D8 8FBE0090 */ lw $fp, 0x90($sp)
/* 34E0FC E00383DC 8FB7008C */ lw $s7, 0x8c($sp)
/* 34E100 E00383E0 8FB60088 */ lw $s6, 0x88($sp)
/* 34E104 E00383E4 8FB50084 */ lw $s5, 0x84($sp)
/* 34E108 E00383E8 8FB40080 */ lw $s4, 0x80($sp)
/* 34E10C E00383EC 8FB3007C */ lw $s3, 0x7c($sp)
/* 34E110 E00383F0 8FB20078 */ lw $s2, 0x78($sp)
/* 34E114 E00383F4 8FB10074 */ lw $s1, 0x74($sp)
/* 34E118 E00383F8 8FB00070 */ lw $s0, 0x70($sp)
/* 34E11C E00383FC D7BE00C0 */ ldc1 $f30, 0xc0($sp)
/* 34E120 E0038400 D7BC00B8 */ ldc1 $f28, 0xb8($sp)
/* 34E124 E0038404 D7BA00B0 */ ldc1 $f26, 0xb0($sp)
/* 34E128 E0038408 D7B800A8 */ ldc1 $f24, 0xa8($sp)
/* 34E12C E003840C D7B600A0 */ ldc1 $f22, 0xa0($sp)
/* 34E130 E0038410 D7B40098 */ ldc1 $f20, 0x98($sp)
/* 34E134 E0038414 03E00008 */ jr $ra
/* 34E138 E0038418 27BD00C8 */ addiu $sp, $sp, 0xc8

View File

@ -1,209 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0038A28
.double 0.8
dlabel D_E0038A30
.double 0.7
dlabel D_E0038A38
.double 0.4
dlabel D_E0038A40
.double 0.6, 0.0
.section .text
glabel spiky_white_aura_update
/* 34E144 E0038424 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 34E148 E0038428 AFB40020 */ sw $s4, 0x20($sp)
/* 34E14C E003842C 0080A02D */ daddu $s4, $a0, $zero
/* 34E150 E0038430 AFBF0028 */ sw $ra, 0x28($sp)
/* 34E154 E0038434 AFB50024 */ sw $s5, 0x24($sp)
/* 34E158 E0038438 AFB3001C */ sw $s3, 0x1c($sp)
/* 34E15C E003843C AFB20018 */ sw $s2, 0x18($sp)
/* 34E160 E0038440 AFB10014 */ sw $s1, 0x14($sp)
/* 34E164 E0038444 AFB00010 */ sw $s0, 0x10($sp)
/* 34E168 E0038448 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 34E16C E003844C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 34E170 E0038450 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 34E174 E0038454 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 34E178 E0038458 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 34E17C E003845C 8E83000C */ lw $v1, 0xc($s4)
/* 34E180 E0038460 8C620028 */ lw $v0, 0x28($v1)
/* 34E184 E0038464 2442FFFF */ addiu $v0, $v0, -1
/* 34E188 E0038468 AC620028 */ sw $v0, 0x28($v1)
/* 34E18C E003846C 8C62002C */ lw $v0, 0x2c($v1)
/* 34E190 E0038470 8C640028 */ lw $a0, 0x28($v1)
/* 34E194 E0038474 24450001 */ addiu $a1, $v0, 1
/* 34E198 E0038478 04810005 */ bgez $a0, .LE0038490
/* 34E19C E003847C AC65002C */ sw $a1, 0x2c($v1)
/* 34E1A0 E0038480 0C080128 */ jal shim_remove_effect
/* 34E1A4 E0038484 0280202D */ daddu $a0, $s4, $zero
/* 34E1A8 E0038488 0800E1B3 */ j .LE00386CC
/* 34E1AC E003848C 00000000 */ nop
.LE0038490:
/* 34E1B0 E0038490 0000882D */ daddu $s1, $zero, $zero
/* 34E1B4 E0038494 0080982D */ daddu $s3, $a0, $zero
/* 34E1B8 E0038498 8E820008 */ lw $v0, 8($s4)
/* 34E1BC E003849C 1840008B */ blez $v0, .LE00386CC
/* 34E1C0 E00384A0 00A0902D */ daddu $s2, $a1, $zero
/* 34E1C4 E00384A4 241500FF */ addiu $s5, $zero, 0xff
/* 34E1C8 E00384A8 2470000C */ addiu $s0, $v1, 0xc
/* 34E1CC E00384AC 3C01E004 */ lui $at, %hi(D_E0038A28)
/* 34E1D0 E00384B0 D4388A28 */ ldc1 $f24, %lo(D_E0038A28)($at)
/* 34E1D4 E00384B4 3C0141F0 */ lui $at, 0x41f0
/* 34E1D8 E00384B8 4481D000 */ mtc1 $at, $f26
/* 34E1DC E00384BC 3C014040 */ lui $at, 0x4040
/* 34E1E0 E00384C0 4481E000 */ mtc1 $at, $f28
/* 34E1E4 E00384C4 3C01E004 */ lui $at, %hi(D_E0038A30)
/* 34E1E8 E00384C8 D4368A30 */ ldc1 $f22, %lo(D_E0038A30)($at)
.LE00384CC:
/* 34E1EC E00384CC 2A620006 */ slti $v0, $s3, 6
/* 34E1F0 E00384D0 14400037 */ bnez $v0, .LE00385B0
/* 34E1F4 E00384D4 2A620005 */ slti $v0, $s3, 5
/* 34E1F8 E00384D8 C6020004 */ lwc1 $f2, 4($s0)
/* 34E1FC E00384DC 460010A1 */ cvt.d.s $f2, $f2
/* 34E200 E00384E0 46381082 */ mul.d $f2, $f2, $f24
/* 34E204 E00384E4 00000000 */ nop
/* 34E208 E00384E8 C6000008 */ lwc1 $f0, 8($s0)
/* 34E20C E00384EC 46000021 */ cvt.d.s $f0, $f0
/* 34E210 E00384F0 46380002 */ mul.d $f0, $f0, $f24
/* 34E214 E00384F4 00000000 */ nop
/* 34E218 E00384F8 C604000C */ lwc1 $f4, 0xc($s0)
/* 34E21C E00384FC 46002121 */ cvt.d.s $f4, $f4
/* 34E220 E0038500 46382102 */ mul.d $f4, $f4, $f24
/* 34E224 E0038504 00000000 */ nop
/* 34E228 E0038508 8E030018 */ lw $v1, 0x18($s0)
/* 34E22C E003850C 3C01E004 */ lui $at, %hi(D_E0038A38)
/* 34E230 E0038510 D4268A38 */ ldc1 $f6, %lo(D_E0038A38)($at)
/* 34E234 E0038514 02A31023 */ subu $v0, $s5, $v1
/* 34E238 E0038518 44824000 */ mtc1 $v0, $f8
/* 34E23C E003851C 00000000 */ nop
/* 34E240 E0038520 46804221 */ cvt.d.w $f8, $f8
/* 34E244 E0038524 46264202 */ mul.d $f8, $f8, $f6
/* 34E248 E0038528 00000000 */ nop
/* 34E24C E003852C 462010A0 */ cvt.s.d $f2, $f2
/* 34E250 E0038530 46200020 */ cvt.s.d $f0, $f0
/* 34E254 E0038534 E6000008 */ swc1 $f0, 8($s0)
/* 34E258 E0038538 44830000 */ mtc1 $v1, $f0
/* 34E25C E003853C 00000000 */ nop
/* 34E260 E0038540 46800021 */ cvt.d.w $f0, $f0
/* 34E264 E0038544 46202120 */ cvt.s.d $f4, $f4
/* 34E268 E0038548 46280000 */ add.d $f0, $f0, $f8
/* 34E26C E003854C E6020004 */ swc1 $f2, 4($s0)
/* 34E270 E0038550 E604000C */ swc1 $f4, 0xc($s0)
/* 34E274 E0038554 4620028D */ trunc.w.d $f10, $f0
/* 34E278 E0038558 44035000 */ mfc1 $v1, $f10
/* 34E27C E003855C 00000000 */ nop
/* 34E280 E0038560 000317C2 */ srl $v0, $v1, 0x1f
/* 34E284 E0038564 00621021 */ addu $v0, $v1, $v0
/* 34E288 E0038568 00021043 */ sra $v0, $v0, 1
/* 34E28C E003856C 44826000 */ mtc1 $v0, $f12
/* 34E290 E0038570 00000000 */ nop
/* 34E294 E0038574 46806320 */ cvt.s.w $f12, $f12
/* 34E298 E0038578 0C080140 */ jal shim_sin_deg
/* 34E29C E003857C AE030018 */ sw $v1, 0x18($s0)
/* 34E2A0 E0038580 44926000 */ mtc1 $s2, $f12
/* 34E2A4 E0038584 00000000 */ nop
/* 34E2A8 E0038588 46806320 */ cvt.s.w $f12, $f12
/* 34E2AC E003858C 461A6302 */ mul.s $f12, $f12, $f26
/* 34E2B0 E0038590 00000000 */ nop
/* 34E2B4 E0038594 0C080140 */ jal shim_sin_deg
/* 34E2B8 E0038598 46000506 */ mov.s $f20, $f0
/* 34E2BC E003859C 461CA502 */ mul.s $f20, $f20, $f28
/* 34E2C0 E00385A0 00000000 */ nop
/* 34E2C4 E00385A4 4600A500 */ add.s $f20, $f20, $f0
/* 34E2C8 E00385A8 E6140014 */ swc1 $f20, 0x14($s0)
/* 34E2CC E00385AC 2A620005 */ slti $v0, $s3, 5
.LE00385B0:
/* 34E2D0 E00385B0 10400035 */ beqz $v0, .LE0038688
/* 34E2D4 E00385B4 00000000 */ nop
/* 34E2D8 E00385B8 3C01E004 */ lui $at, %hi(D_E0038A40)
/* 34E2DC E00385BC D4208A40 */ ldc1 $f0, %lo(D_E0038A40)($at)
/* 34E2E0 E00385C0 C6060018 */ lwc1 $f6, 0x18($s0)
/* 34E2E4 E00385C4 468031A1 */ cvt.d.w $f6, $f6
/* 34E2E8 E00385C8 46203182 */ mul.d $f6, $f6, $f0
/* 34E2EC E00385CC 00000000 */ nop
/* 34E2F0 E00385D0 C6040004 */ lwc1 $f4, 4($s0)
/* 34E2F4 E00385D4 46002121 */ cvt.d.s $f4, $f4
/* 34E2F8 E00385D8 46362102 */ mul.d $f4, $f4, $f22
/* 34E2FC E00385DC 00000000 */ nop
/* 34E300 E00385E0 C602000C */ lwc1 $f2, 0xc($s0)
/* 34E304 E00385E4 460010A1 */ cvt.d.s $f2, $f2
/* 34E308 E00385E8 46361082 */ mul.d $f2, $f2, $f22
/* 34E30C E00385EC 00000000 */ nop
/* 34E310 E00385F0 C6000008 */ lwc1 $f0, 8($s0)
/* 34E314 E00385F4 46000021 */ cvt.d.s $f0, $f0
/* 34E318 E00385F8 46360002 */ mul.d $f0, $f0, $f22
/* 34E31C E00385FC 00000000 */ nop
/* 34E320 E0038600 4620328D */ trunc.w.d $f10, $f6
/* 34E324 E0038604 E60A0018 */ swc1 $f10, 0x18($s0)
/* 34E328 E0038608 46202120 */ cvt.s.d $f4, $f4
/* 34E32C E003860C 8E030018 */ lw $v1, 0x18($s0)
/* 34E330 E0038610 462010A0 */ cvt.s.d $f2, $f2
/* 34E334 E0038614 E6040004 */ swc1 $f4, 4($s0)
/* 34E338 E0038618 E602000C */ swc1 $f2, 0xc($s0)
/* 34E33C E003861C 46200020 */ cvt.s.d $f0, $f0
/* 34E340 E0038620 000317C2 */ srl $v0, $v1, 0x1f
/* 34E344 E0038624 00621821 */ addu $v1, $v1, $v0
/* 34E348 E0038628 00031843 */ sra $v1, $v1, 1
/* 34E34C E003862C 44836000 */ mtc1 $v1, $f12
/* 34E350 E0038630 00000000 */ nop
/* 34E354 E0038634 46806320 */ cvt.s.w $f12, $f12
/* 34E358 E0038638 0C080140 */ jal shim_sin_deg
/* 34E35C E003863C E6000008 */ swc1 $f0, 8($s0)
/* 34E360 E0038640 44926000 */ mtc1 $s2, $f12
/* 34E364 E0038644 00000000 */ nop
/* 34E368 E0038648 46806320 */ cvt.s.w $f12, $f12
/* 34E36C E003864C 461A6302 */ mul.s $f12, $f12, $f26
/* 34E370 E0038650 00000000 */ nop
/* 34E374 E0038654 0C080140 */ jal shim_sin_deg
/* 34E378 E0038658 46000506 */ mov.s $f20, $f0
/* 34E37C E003865C 461CA502 */ mul.s $f20, $f20, $f28
/* 34E380 E0038660 00000000 */ nop
/* 34E384 E0038664 8E020018 */ lw $v0, 0x18($s0)
/* 34E388 E0038668 02A21023 */ subu $v0, $s5, $v0
/* 34E38C E003866C 4600A500 */ add.s $f20, $f20, $f0
/* 34E390 E0038670 44820000 */ mtc1 $v0, $f0
/* 34E394 E0038674 00000000 */ nop
/* 34E398 E0038678 46800020 */ cvt.s.w $f0, $f0
/* 34E39C E003867C 461A0003 */ div.s $f0, $f0, $f26
/* 34E3A0 E0038680 4600A500 */ add.s $f20, $f20, $f0
/* 34E3A4 E0038684 E6140014 */ swc1 $f20, 0x14($s0)
.LE0038688:
/* 34E3A8 E0038688 C606FFF8 */ lwc1 $f6, -8($s0)
/* 34E3AC E003868C C6000004 */ lwc1 $f0, 4($s0)
/* 34E3B0 E0038690 C604FFFC */ lwc1 $f4, -4($s0)
/* 34E3B4 E0038694 46003180 */ add.s $f6, $f6, $f0
/* 34E3B8 E0038698 C6000008 */ lwc1 $f0, 8($s0)
/* 34E3BC E003869C C602000C */ lwc1 $f2, 0xc($s0)
/* 34E3C0 E00386A0 46002100 */ add.s $f4, $f4, $f0
/* 34E3C4 E00386A4 C6000000 */ lwc1 $f0, ($s0)
/* 34E3C8 E00386A8 26310001 */ addiu $s1, $s1, 1
/* 34E3CC E00386AC 46020000 */ add.s $f0, $f0, $f2
/* 34E3D0 E00386B0 E606FFF8 */ swc1 $f6, -8($s0)
/* 34E3D4 E00386B4 E604FFFC */ swc1 $f4, -4($s0)
/* 34E3D8 E00386B8 E6000000 */ swc1 $f0, ($s0)
/* 34E3DC E00386BC 8E820008 */ lw $v0, 8($s4)
/* 34E3E0 E00386C0 0222102A */ slt $v0, $s1, $v0
/* 34E3E4 E00386C4 1440FF81 */ bnez $v0, .LE00384CC
/* 34E3E8 E00386C8 26100030 */ addiu $s0, $s0, 0x30
.LE00386CC:
/* 34E3EC E00386CC 8FBF0028 */ lw $ra, 0x28($sp)
/* 34E3F0 E00386D0 8FB50024 */ lw $s5, 0x24($sp)
/* 34E3F4 E00386D4 8FB40020 */ lw $s4, 0x20($sp)
/* 34E3F8 E00386D8 8FB3001C */ lw $s3, 0x1c($sp)
/* 34E3FC E00386DC 8FB20018 */ lw $s2, 0x18($sp)
/* 34E400 E00386E0 8FB10014 */ lw $s1, 0x14($sp)
/* 34E404 E00386E4 8FB00010 */ lw $s0, 0x10($sp)
/* 34E408 E00386E8 D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 34E40C E00386EC D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 34E410 E00386F0 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 34E414 E00386F4 D7B60038 */ ldc1 $f22, 0x38($sp)
/* 34E418 E00386F8 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 34E41C E00386FC 03E00008 */ jr $ra
/* 34E420 E0038700 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,109 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E0112330
/* 3FA180 E0112330 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 3FA184 E0112334 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3FA188 E0112338 AFBF00AC */ sw $ra, 0xac($sp)
/* 3FA18C E011233C AFB200A8 */ sw $s2, 0xa8($sp)
/* 3FA190 E0112340 AFB100A4 */ sw $s1, 0xa4($sp)
/* 3FA194 E0112344 F7B400B0 */ sdc1 $f20, 0xb0($sp)
/* 3FA198 E0112348 1480000F */ bnez $a0, .LE0112388
/* 3FA19C E011234C 00A0802D */ daddu $s0, $a1, $zero
/* 3FA1A0 E0112350 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3FA1A4 E0112354 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3FA1A8 E0112358 00021880 */ sll $v1, $v0, 2
/* 3FA1AC E011235C 00621821 */ addu $v1, $v1, $v0
/* 3FA1B0 E0112360 00031880 */ sll $v1, $v1, 2
/* 3FA1B4 E0112364 00621823 */ subu $v1, $v1, $v0
/* 3FA1B8 E0112368 000310C0 */ sll $v0, $v1, 3
/* 3FA1BC E011236C 00621821 */ addu $v1, $v1, $v0
/* 3FA1C0 E0112370 000318C0 */ sll $v1, $v1, 3
/* 3FA1C4 E0112374 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3FA1C8 E0112378 00230821 */ addu $at, $at, $v1
/* 3FA1CC E011237C C4261DEC */ lwc1 $f6, %lo(gCameras+0x6C)($at)
/* 3FA1D0 E0112380 080448E3 */ j .LE011238C
/* 3FA1D4 E0112384 00000000 */ nop
.LE0112388:
/* 3FA1D8 E0112388 44803000 */ mtc1 $zero, $f6
.LE011238C:
/* 3FA1DC E011238C C6000018 */ lwc1 $f0, 0x18($s0)
/* 3FA1E0 E0112390 C6040024 */ lwc1 $f4, 0x24($s0)
/* 3FA1E4 E0112394 3C014000 */ lui $at, 0x4000
/* 3FA1E8 E0112398 44811000 */ mtc1 $at, $f2
/* 3FA1EC E011239C E7A00010 */ swc1 $f0, 0x10($sp)
/* 3FA1F0 E01123A0 C6000004 */ lwc1 $f0, 4($s0)
/* 3FA1F4 E01123A4 4480A000 */ mtc1 $zero, $f20
/* 3FA1F8 E01123A8 46020000 */ add.s $f0, $f0, $f2
/* 3FA1FC E01123AC 4405A000 */ mfc1 $a1, $f20
/* 3FA200 E01123B0 27A40020 */ addiu $a0, $sp, 0x20
/* 3FA204 E01123B4 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3FA208 E01123B8 C6000008 */ lwc1 $f0, 8($s0)
/* 3FA20C E01123BC 46062101 */ sub.s $f4, $f4, $f6
/* 3FA210 E01123C0 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3FA214 E01123C4 C600000C */ lwc1 $f0, 0xc($s0)
/* 3FA218 E01123C8 4407A000 */ mfc1 $a3, $f20
/* 3FA21C E01123CC 46020000 */ add.s $f0, $f0, $f2
/* 3FA220 E01123D0 44062000 */ mfc1 $a2, $f4
/* 3FA224 E01123D4 3C120001 */ lui $s2, 1
/* 3FA228 E01123D8 0C080180 */ jal shim_guPositionF
/* 3FA22C E01123DC E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3FA230 E01123E0 4406A000 */ mfc1 $a2, $f20
/* 3FA234 E01123E4 4407A000 */ mfc1 $a3, $f20
/* 3FA238 E01123E8 3C013F80 */ lui $at, 0x3f80
/* 3FA23C E01123EC 44810000 */ mtc1 $at, $f0
/* 3FA240 E01123F0 36521630 */ ori $s2, $s2, 0x1630
/* 3FA244 E01123F4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3FA248 E01123F8 8E050020 */ lw $a1, 0x20($s0)
/* 3FA24C E01123FC 27B00060 */ addiu $s0, $sp, 0x60
/* 3FA250 E0112400 0C080104 */ jal shim_guRotateF
/* 3FA254 E0112404 0200202D */ daddu $a0, $s0, $zero
/* 3FA258 E0112408 0200202D */ daddu $a0, $s0, $zero
/* 3FA25C E011240C 27A50020 */ addiu $a1, $sp, 0x20
/* 3FA260 E0112410 0C080114 */ jal shim_guMtxCatF
/* 3FA264 E0112414 00A0302D */ daddu $a2, $a1, $zero
/* 3FA268 E0112418 0200202D */ daddu $a0, $s0, $zero
/* 3FA26C E011241C 4405A000 */ mfc1 $a1, $f20
/* 3FA270 E0112420 3C07C000 */ lui $a3, 0xc000
/* 3FA274 E0112424 0C080108 */ jal shim_guTranslateF
/* 3FA278 E0112428 00A0302D */ daddu $a2, $a1, $zero
/* 3FA27C E011242C 0200202D */ daddu $a0, $s0, $zero
/* 3FA280 E0112430 27A50020 */ addiu $a1, $sp, 0x20
/* 3FA284 E0112434 0C080114 */ jal shim_guMtxCatF
/* 3FA288 E0112438 00A0302D */ daddu $a2, $a1, $zero
/* 3FA28C E011243C 27A40020 */ addiu $a0, $sp, 0x20
/* 3FA290 E0112440 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3FA294 E0112444 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3FA298 E0112448 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 3FA29C E011244C 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 3FA2A0 E0112450 96050000 */ lhu $a1, ($s0)
/* 3FA2A4 E0112454 8E220000 */ lw $v0, ($s1)
/* 3FA2A8 E0112458 00052980 */ sll $a1, $a1, 6
/* 3FA2AC E011245C 00B22821 */ addu $a1, $a1, $s2
/* 3FA2B0 E0112460 0C080118 */ jal shim_guMtxF2L
/* 3FA2B4 E0112464 00452821 */ addu $a1, $v0, $a1
/* 3FA2B8 E0112468 3C05DA38 */ lui $a1, 0xda38
/* 3FA2BC E011246C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3FA2C0 E0112470 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3FA2C4 E0112474 34A50002 */ ori $a1, $a1, 2
/* 3FA2C8 E0112478 8C830000 */ lw $v1, ($a0)
/* 3FA2CC E011247C 96020000 */ lhu $v0, ($s0)
/* 3FA2D0 E0112480 0060302D */ daddu $a2, $v1, $zero
/* 3FA2D4 E0112484 24630008 */ addiu $v1, $v1, 8
/* 3FA2D8 E0112488 AC830000 */ sw $v1, ($a0)
/* 3FA2DC E011248C 24430001 */ addiu $v1, $v0, 1
/* 3FA2E0 E0112490 3042FFFF */ andi $v0, $v0, 0xffff
/* 3FA2E4 E0112494 00021180 */ sll $v0, $v0, 6
/* 3FA2E8 E0112498 ACC50000 */ sw $a1, ($a2)
/* 3FA2EC E011249C A6030000 */ sh $v1, ($s0)
/* 3FA2F0 E01124A0 8E230000 */ lw $v1, ($s1)
/* 3FA2F4 E01124A4 00521021 */ addu $v0, $v0, $s2
/* 3FA2F8 E01124A8 00621821 */ addu $v1, $v1, $v0
/* 3FA2FC E01124AC ACC30004 */ sw $v1, 4($a2)
/* 3FA300 E01124B0 8FBF00AC */ lw $ra, 0xac($sp)
/* 3FA304 E01124B4 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3FA308 E01124B8 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3FA30C E01124BC 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3FA310 E01124C0 D7B400B0 */ ldc1 $f20, 0xb0($sp)
/* 3FA314 E01124C4 03E00008 */ jr $ra
/* 3FA318 E01124C8 27BD00B8 */ addiu $sp, $sp, 0xb8

View File

@ -1,94 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spirit_card_appendGfx
/* 3FA31C E01124CC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 3FA320 E01124D0 3C06DB06 */ lui $a2, 0xdb06
/* 3FA324 E01124D4 AFB00010 */ sw $s0, 0x10($sp)
/* 3FA328 E01124D8 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 3FA32C E01124DC 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 3FA330 E01124E0 34C60024 */ ori $a2, $a2, 0x24
/* 3FA334 E01124E4 AFB3001C */ sw $s3, 0x1c($sp)
/* 3FA338 E01124E8 3C13E700 */ lui $s3, 0xe700
/* 3FA33C E01124EC AFBF0020 */ sw $ra, 0x20($sp)
/* 3FA340 E01124F0 AFB20018 */ sw $s2, 0x18($sp)
/* 3FA344 E01124F4 AFB10014 */ sw $s1, 0x14($sp)
/* 3FA348 E01124F8 8E030000 */ lw $v1, ($s0)
/* 3FA34C E01124FC 8C91000C */ lw $s1, 0xc($a0)
/* 3FA350 E0112500 0060102D */ daddu $v0, $v1, $zero
/* 3FA354 E0112504 24630008 */ addiu $v1, $v1, 8
/* 3FA358 E0112508 AE030000 */ sw $v1, ($s0)
/* 3FA35C E011250C 8E250000 */ lw $a1, ($s1)
/* 3FA360 E0112510 3C12DE00 */ lui $s2, 0xde00
/* 3FA364 E0112514 AC530000 */ sw $s3, ($v0)
/* 3FA368 E0112518 AC400004 */ sw $zero, 4($v0)
/* 3FA36C E011251C 24620008 */ addiu $v0, $v1, 8
/* 3FA370 E0112520 AE020000 */ sw $v0, ($s0)
/* 3FA374 E0112524 24620010 */ addiu $v0, $v1, 0x10
/* 3FA378 E0112528 AC660000 */ sw $a2, ($v1)
/* 3FA37C E011252C AE020000 */ sw $v0, ($s0)
/* 3FA380 E0112530 8C840010 */ lw $a0, 0x10($a0)
/* 3FA384 E0112534 24620018 */ addiu $v0, $v1, 0x18
/* 3FA388 E0112538 AE020000 */ sw $v0, ($s0)
/* 3FA38C E011253C 8C84001C */ lw $a0, 0x1c($a0)
/* 3FA390 E0112540 3C020900 */ lui $v0, 0x900
/* 3FA394 E0112544 244242E0 */ addiu $v0, $v0, 0x42e0
/* 3FA398 E0112548 AC62000C */ sw $v0, 0xc($v1)
/* 3FA39C E011254C 3C02FB00 */ lui $v0, 0xfb00
/* 3FA3A0 E0112550 AC620010 */ sw $v0, 0x10($v1)
/* 3FA3A4 E0112554 240200FF */ addiu $v0, $zero, 0xff
/* 3FA3A8 E0112558 AC620014 */ sw $v0, 0x14($v1)
/* 3FA3AC E011255C 3C028000 */ lui $v0, 0x8000
/* 3FA3B0 E0112560 28A50002 */ slti $a1, $a1, 2
/* 3FA3B4 E0112564 AC720008 */ sw $s2, 8($v1)
/* 3FA3B8 E0112568 00822021 */ addu $a0, $a0, $v0
/* 3FA3BC E011256C 10A00022 */ beqz $a1, .LE01125F8
/* 3FA3C0 E0112570 AC640004 */ sw $a0, 4($v1)
/* 3FA3C4 E0112574 0000202D */ daddu $a0, $zero, $zero
/* 3FA3C8 E0112578 0C0448CC */ jal func_E0112330
/* 3FA3CC E011257C 0220282D */ daddu $a1, $s1, $zero
/* 3FA3D0 E0112580 8E030000 */ lw $v1, ($s0)
/* 3FA3D4 E0112584 3C06D838 */ lui $a2, 0xd838
/* 3FA3D8 E0112588 0060282D */ daddu $a1, $v1, $zero
/* 3FA3DC E011258C 24630008 */ addiu $v1, $v1, 8
/* 3FA3E0 E0112590 AE030000 */ sw $v1, ($s0)
/* 3FA3E4 E0112594 ACB20000 */ sw $s2, ($a1)
/* 3FA3E8 E0112598 3C04E011 */ lui $a0, %hi(D_E0112638)
/* 3FA3EC E011259C 8C842638 */ lw $a0, %lo(D_E0112638)($a0)
/* 3FA3F0 E01125A0 24620008 */ addiu $v0, $v1, 8
/* 3FA3F4 E01125A4 AE020000 */ sw $v0, ($s0)
/* 3FA3F8 E01125A8 ACA40004 */ sw $a0, 4($a1)
/* 3FA3FC E01125AC AC720000 */ sw $s2, ($v1)
/* 3FA400 E01125B0 92220034 */ lbu $v0, 0x34($s1)
/* 3FA404 E01125B4 34C60002 */ ori $a2, $a2, 2
/* 3FA408 E01125B8 00021080 */ sll $v0, $v0, 2
/* 3FA40C E01125BC 3C04E011 */ lui $a0, %hi(D_E0112640)
/* 3FA410 E01125C0 00822021 */ addu $a0, $a0, $v0
/* 3FA414 E01125C4 8C842640 */ lw $a0, %lo(D_E0112640)($a0)
/* 3FA418 E01125C8 24620010 */ addiu $v0, $v1, 0x10
/* 3FA41C E01125CC AE020000 */ sw $v0, ($s0)
/* 3FA420 E01125D0 AC720008 */ sw $s2, 8($v1)
/* 3FA424 E01125D4 AC640004 */ sw $a0, 4($v1)
/* 3FA428 E01125D8 3C04E011 */ lui $a0, %hi(D_E0112630)
/* 3FA42C E01125DC 8C842630 */ lw $a0, %lo(D_E0112630)($a0)
/* 3FA430 E01125E0 24620018 */ addiu $v0, $v1, 0x18
/* 3FA434 E01125E4 AE020000 */ sw $v0, ($s0)
/* 3FA438 E01125E8 24020040 */ addiu $v0, $zero, 0x40
/* 3FA43C E01125EC AC660010 */ sw $a2, 0x10($v1)
/* 3FA440 E01125F0 AC620014 */ sw $v0, 0x14($v1)
/* 3FA444 E01125F4 AC64000C */ sw $a0, 0xc($v1)
.LE01125F8:
/* 3FA448 E01125F8 8E020000 */ lw $v0, ($s0)
/* 3FA44C E01125FC 0040182D */ daddu $v1, $v0, $zero
/* 3FA450 E0112600 24420008 */ addiu $v0, $v0, 8
/* 3FA454 E0112604 AE020000 */ sw $v0, ($s0)
/* 3FA458 E0112608 AC730000 */ sw $s3, ($v1)
/* 3FA45C E011260C AC600004 */ sw $zero, 4($v1)
/* 3FA460 E0112610 8FBF0020 */ lw $ra, 0x20($sp)
/* 3FA464 E0112614 8FB3001C */ lw $s3, 0x1c($sp)
/* 3FA468 E0112618 8FB20018 */ lw $s2, 0x18($sp)
/* 3FA46C E011261C 8FB10014 */ lw $s1, 0x14($sp)
/* 3FA470 E0112620 8FB00010 */ lw $s0, 0x10($sp)
/* 3FA474 E0112624 03E00008 */ jr $ra
/* 3FA478 E0112628 27BD0028 */ addiu $sp, $sp, 0x28
/* 3FA47C E011262C 00000000 */ nop

View File

@ -1,120 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spirit_card_main
/* 3F9E50 E0112000 27BDFF80 */ addiu $sp, $sp, -0x80
/* 3F9E54 E0112004 F7B80068 */ sdc1 $f24, 0x68($sp)
/* 3F9E58 E0112008 4485C000 */ mtc1 $a1, $f24
/* 3F9E5C E011200C F7BC0078 */ sdc1 $f28, 0x78($sp)
/* 3F9E60 E0112010 4486E000 */ mtc1 $a2, $f28
/* 3F9E64 E0112014 F7BA0070 */ sdc1 $f26, 0x70($sp)
/* 3F9E68 E0112018 4487D000 */ mtc1 $a3, $f26
/* 3F9E6C E011201C AFB20048 */ sw $s2, 0x48($sp)
/* 3F9E70 E0112020 0080902D */ daddu $s2, $a0, $zero
/* 3F9E74 E0112024 F7B40058 */ sdc1 $f20, 0x58($sp)
/* 3F9E78 E0112028 C7B40090 */ lwc1 $f20, 0x90($sp)
/* 3F9E7C E011202C 27A40028 */ addiu $a0, $sp, 0x28
/* 3F9E80 E0112030 AFB3004C */ sw $s3, 0x4c($sp)
/* 3F9E84 E0112034 8FB30094 */ lw $s3, 0x94($sp)
/* 3F9E88 E0112038 3C02E011 */ lui $v0, %hi(spirit_card_init)
/* 3F9E8C E011203C 244221B8 */ addiu $v0, $v0, %lo(spirit_card_init)
/* 3F9E90 E0112040 AFA20030 */ sw $v0, 0x30($sp)
/* 3F9E94 E0112044 3C02E011 */ lui $v0, %hi(spirit_card_update)
/* 3F9E98 E0112048 244221C0 */ addiu $v0, $v0, %lo(spirit_card_update)
/* 3F9E9C E011204C AFA20034 */ sw $v0, 0x34($sp)
/* 3F9EA0 E0112050 3C02E011 */ lui $v0, %hi(spirit_card_render)
/* 3F9EA4 E0112054 244222E8 */ addiu $v0, $v0, %lo(spirit_card_render)
/* 3F9EA8 E0112058 AFA20038 */ sw $v0, 0x38($sp)
/* 3F9EAC E011205C 2402007B */ addiu $v0, $zero, 0x7b
/* 3F9EB0 E0112060 AFBF0050 */ sw $ra, 0x50($sp)
/* 3F9EB4 E0112064 AFB10044 */ sw $s1, 0x44($sp)
/* 3F9EB8 E0112068 AFB00040 */ sw $s0, 0x40($sp)
/* 3F9EBC E011206C F7B60060 */ sdc1 $f22, 0x60($sp)
/* 3F9EC0 E0112070 AFA00028 */ sw $zero, 0x28($sp)
/* 3F9EC4 E0112074 AFA0003C */ sw $zero, 0x3c($sp)
/* 3F9EC8 E0112078 0C080124 */ jal shim_create_effect_instance
/* 3F9ECC E011207C AFA2002C */ sw $v0, 0x2c($sp)
/* 3F9ED0 E0112080 24040038 */ addiu $a0, $zero, 0x38
/* 3F9ED4 E0112084 24030001 */ addiu $v1, $zero, 1
/* 3F9ED8 E0112088 0040882D */ daddu $s1, $v0, $zero
/* 3F9EDC E011208C 0C08012C */ jal shim_general_heap_malloc
/* 3F9EE0 E0112090 AE230008 */ sw $v1, 8($s1)
/* 3F9EE4 E0112094 0040802D */ daddu $s0, $v0, $zero
/* 3F9EE8 E0112098 16000003 */ bnez $s0, .LE01120A8
/* 3F9EEC E011209C AE22000C */ sw $v0, 0xc($s1)
.LE01120A0:
/* 3F9EF0 E01120A0 08044828 */ j .LE01120A0
/* 3F9EF4 E01120A4 00000000 */ nop
.LE01120A8:
/* 3F9EF8 E01120A8 AE120000 */ sw $s2, ($s0)
/* 3F9EFC E01120AC 1E600004 */ bgtz $s3, .LE01120C0
/* 3F9F00 E01120B0 AE000014 */ sw $zero, 0x14($s0)
/* 3F9F04 E01120B4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3F9F08 E01120B8 08044831 */ j .LE01120C4
/* 3F9F0C E01120BC AE020010 */ sw $v0, 0x10($s0)
.LE01120C0:
/* 3F9F10 E01120C0 AE130010 */ sw $s3, 0x10($s0)
.LE01120C4:
/* 3F9F14 E01120C4 3C0141F0 */ lui $at, 0x41f0
/* 3F9F18 E01120C8 4481B000 */ mtc1 $at, $f22
/* 3F9F1C E01120CC E6180004 */ swc1 $f24, 4($s0)
/* 3F9F20 E01120D0 E61C0008 */ swc1 $f28, 8($s0)
/* 3F9F24 E01120D4 E61A000C */ swc1 $f26, 0xc($s0)
/* 3F9F28 E01120D8 E6140018 */ swc1 $f20, 0x18($s0)
/* 3F9F2C E01120DC AE000024 */ sw $zero, 0x24($s0)
/* 3F9F30 E01120E0 A2000034 */ sb $zero, 0x34($s0)
/* 3F9F34 E01120E4 1640000D */ bnez $s2, .LE011211C
/* 3F9F38 E01120E8 E6160020 */ swc1 $f22, 0x20($s0)
/* 3F9F3C E01120EC 0C080150 */ jal shim_load_effect
/* 3F9F40 E01120F0 24040024 */ addiu $a0, $zero, 0x24
/* 3F9F44 E01120F4 3C014040 */ lui $at, 0x4040
/* 3F9F48 E01120F8 44810000 */ mtc1 $at, $f0
/* 3F9F4C E01120FC 2402001E */ addiu $v0, $zero, 0x1e
/* 3F9F50 E0112100 AFA20014 */ sw $v0, 0x14($sp)
/* 3F9F54 E0112104 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3F9F58 E0112108 8E050004 */ lw $a1, 4($s0)
/* 3F9F5C E011210C 8E060008 */ lw $a2, 8($s0)
/* 3F9F60 E0112110 8E07000C */ lw $a3, 0xc($s0)
/* 3F9F64 E0112114 0C012000 */ jal ring_blast_main
/* 3F9F68 E0112118 24040001 */ addiu $a0, $zero, 1
.LE011211C:
/* 3F9F6C E011211C 2A420002 */ slti $v0, $s2, 2
/* 3F9F70 E0112120 50400018 */ beql $v0, $zero, .LE0112184
/* 3F9F74 E0112124 AE00001C */ sw $zero, 0x1c($s0)
/* 3F9F78 E0112128 0C080150 */ jal shim_load_effect
/* 3F9F7C E011212C 24040072 */ addiu $a0, $zero, 0x72
/* 3F9F80 E0112130 4616A102 */ mul.s $f4, $f20, $f22
/* 3F9F84 E0112134 00000000 */ nop
/* 3F9F88 E0112138 24040003 */ addiu $a0, $zero, 3
/* 3F9F8C E011213C 24020010 */ addiu $v0, $zero, 0x10
/* 3F9F90 E0112140 4405C000 */ mfc1 $a1, $f24
/* 3F9F94 E0112144 3C014248 */ lui $at, 0x4248
/* 3F9F98 E0112148 44810000 */ mtc1 $at, $f0
/* 3F9F9C E011214C 4604E701 */ sub.s $f28, $f28, $f4
/* 3F9FA0 E0112150 4407D000 */ mfc1 $a3, $f26
/* 3F9FA4 E0112154 3C013F80 */ lui $at, 0x3f80
/* 3F9FA8 E0112158 44811000 */ mtc1 $at, $f2
/* 3F9FAC E011215C 4406E000 */ mfc1 $a2, $f28
/* 3F9FB0 E0112160 4600A002 */ mul.s $f0, $f20, $f0
/* 3F9FB4 E0112164 00000000 */ nop
/* 3F9FB8 E0112168 AFA2001C */ sw $v0, 0x1c($sp)
/* 3F9FBC E011216C AFA00020 */ sw $zero, 0x20($sp)
/* 3F9FC0 E0112170 E7A20018 */ swc1 $f2, 0x18($sp)
/* 3F9FC4 E0112174 E7A40010 */ swc1 $f4, 0x10($sp)
/* 3F9FC8 E0112178 0C039000 */ jal misc_particles_main
/* 3F9FCC E011217C E7A00014 */ swc1 $f0, 0x14($sp)
/* 3F9FD0 E0112180 AE02001C */ sw $v0, 0x1c($s0)
.LE0112184:
/* 3F9FD4 E0112184 0220102D */ daddu $v0, $s1, $zero
/* 3F9FD8 E0112188 8FBF0050 */ lw $ra, 0x50($sp)
/* 3F9FDC E011218C 8FB3004C */ lw $s3, 0x4c($sp)
/* 3F9FE0 E0112190 8FB20048 */ lw $s2, 0x48($sp)
/* 3F9FE4 E0112194 8FB10044 */ lw $s1, 0x44($sp)
/* 3F9FE8 E0112198 8FB00040 */ lw $s0, 0x40($sp)
/* 3F9FEC E011219C D7BC0078 */ ldc1 $f28, 0x78($sp)
/* 3F9FF0 E01121A0 D7BA0070 */ ldc1 $f26, 0x70($sp)
/* 3F9FF4 E01121A4 D7B80068 */ ldc1 $f24, 0x68($sp)
/* 3F9FF8 E01121A8 D7B60060 */ ldc1 $f22, 0x60($sp)
/* 3F9FFC E01121AC D7B40058 */ ldc1 $f20, 0x58($sp)
/* 3FA000 E01121B0 03E00008 */ jr $ra
/* 3FA004 E01121B4 27BD0080 */ addiu $sp, $sp, 0x80

View File

@ -1,82 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel spirit_card_update
/* 3FA010 E01121C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3FA014 E01121C4 AFBF0014 */ sw $ra, 0x14($sp)
/* 3FA018 E01121C8 AFB00010 */ sw $s0, 0x10($sp)
/* 3FA01C E01121CC 8C830000 */ lw $v1, ($a0)
/* 3FA020 E01121D0 8C90000C */ lw $s0, 0xc($a0)
/* 3FA024 E01121D4 30620010 */ andi $v0, $v1, 0x10
/* 3FA028 E01121D8 10400005 */ beqz $v0, .LE01121F0
/* 3FA02C E01121DC 2402FFEF */ addiu $v0, $zero, -0x11
/* 3FA030 E01121E0 00621024 */ and $v0, $v1, $v0
/* 3FA034 E01121E4 AC820000 */ sw $v0, ($a0)
/* 3FA038 E01121E8 24020010 */ addiu $v0, $zero, 0x10
/* 3FA03C E01121EC AE020010 */ sw $v0, 0x10($s0)
.LE01121F0:
/* 3FA040 E01121F0 8E030010 */ lw $v1, 0x10($s0)
/* 3FA044 E01121F4 286203E8 */ slti $v0, $v1, 0x3e8
/* 3FA048 E01121F8 10400002 */ beqz $v0, .LE0112204
/* 3FA04C E01121FC 2462FFFF */ addiu $v0, $v1, -1
/* 3FA050 E0112200 AE020010 */ sw $v0, 0x10($s0)
.LE0112204:
/* 3FA054 E0112204 8E020014 */ lw $v0, 0x14($s0)
/* 3FA058 E0112208 8E030010 */ lw $v1, 0x10($s0)
/* 3FA05C E011220C 24420001 */ addiu $v0, $v0, 1
/* 3FA060 E0112210 0461000A */ bgez $v1, .LE011223C
/* 3FA064 E0112214 AE020014 */ sw $v0, 0x14($s0)
/* 3FA068 E0112218 0C080128 */ jal shim_remove_effect
/* 3FA06C E011221C 00000000 */ nop
/* 3FA070 E0112220 8E03001C */ lw $v1, 0x1c($s0)
/* 3FA074 E0112224 1060002C */ beqz $v1, .LE01122D8
/* 3FA078 E0112228 00000000 */ nop
/* 3FA07C E011222C 8C620000 */ lw $v0, ($v1)
/* 3FA080 E0112230 34420010 */ ori $v0, $v0, 0x10
/* 3FA084 E0112234 080448B6 */ j .LE01122D8
/* 3FA088 E0112238 AC620000 */ sw $v0, ($v1)
.LE011223C:
/* 3FA08C E011223C 28620010 */ slti $v0, $v1, 0x10
/* 3FA090 E0112240 14400025 */ bnez $v0, .LE01122D8
/* 3FA094 E0112244 00000000 */ nop
/* 3FA098 E0112248 8E02001C */ lw $v0, 0x1c($s0)
/* 3FA09C E011224C 10400022 */ beqz $v0, .LE01122D8
/* 3FA0A0 E0112250 00000000 */ nop
/* 3FA0A4 E0112254 C6000018 */ lwc1 $f0, 0x18($s0)
/* 3FA0A8 E0112258 3C0141F0 */ lui $at, 0x41f0
/* 3FA0AC E011225C 44812000 */ mtc1 $at, $f4
/* 3FA0B0 E0112260 00000000 */ nop
/* 3FA0B4 E0112264 46040002 */ mul.s $f0, $f0, $f4
/* 3FA0B8 E0112268 00000000 */ nop
/* 3FA0BC E011226C 8C42000C */ lw $v0, 0xc($v0)
/* 3FA0C0 E0112270 E4400010 */ swc1 $f0, 0x10($v0)
/* 3FA0C4 E0112274 C6020018 */ lwc1 $f2, 0x18($s0)
/* 3FA0C8 E0112278 3C014248 */ lui $at, 0x4248
/* 3FA0CC E011227C 44810000 */ mtc1 $at, $f0
/* 3FA0D0 E0112280 00000000 */ nop
/* 3FA0D4 E0112284 46001082 */ mul.s $f2, $f2, $f0
/* 3FA0D8 E0112288 00000000 */ nop
/* 3FA0DC E011228C 8E02001C */ lw $v0, 0x1c($s0)
/* 3FA0E0 E0112290 8C42000C */ lw $v0, 0xc($v0)
/* 3FA0E4 E0112294 E4420014 */ swc1 $f2, 0x14($v0)
/* 3FA0E8 E0112298 8E02001C */ lw $v0, 0x1c($s0)
/* 3FA0EC E011229C C6000004 */ lwc1 $f0, 4($s0)
/* 3FA0F0 E01122A0 8C42000C */ lw $v0, 0xc($v0)
/* 3FA0F4 E01122A4 E4400004 */ swc1 $f0, 4($v0)
/* 3FA0F8 E01122A8 C6000018 */ lwc1 $f0, 0x18($s0)
/* 3FA0FC E01122AC 46040002 */ mul.s $f0, $f0, $f4
/* 3FA100 E01122B0 00000000 */ nop
/* 3FA104 E01122B4 C6020008 */ lwc1 $f2, 8($s0)
/* 3FA108 E01122B8 8E02001C */ lw $v0, 0x1c($s0)
/* 3FA10C E01122BC 46001081 */ sub.s $f2, $f2, $f0
/* 3FA110 E01122C0 8C42000C */ lw $v0, 0xc($v0)
/* 3FA114 E01122C4 E4420008 */ swc1 $f2, 8($v0)
/* 3FA118 E01122C8 8E02001C */ lw $v0, 0x1c($s0)
/* 3FA11C E01122CC C600000C */ lwc1 $f0, 0xc($s0)
/* 3FA120 E01122D0 8C42000C */ lw $v0, 0xc($v0)
/* 3FA124 E01122D4 E440000C */ swc1 $f0, 0xc($v0)
.LE01122D8:
/* 3FA128 E01122D8 8FBF0014 */ lw $ra, 0x14($sp)
/* 3FA12C E01122DC 8FB00010 */ lw $s0, 0x10($sp)
/* 3FA130 E01122E0 03E00008 */ jr $ra
/* 3FA134 E01122E4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,132 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel squirt_main
/* 3B4790 E00B2000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3B4794 E00B2004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3B4798 E00B2008 4485A000 */ mtc1 $a1, $f20
/* 3B479C E00B200C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3B47A0 E00B2010 4486B000 */ mtc1 $a2, $f22
/* 3B47A4 E00B2014 AFB20030 */ sw $s2, 0x30($sp)
/* 3B47A8 E00B2018 0080902D */ daddu $s2, $a0, $zero
/* 3B47AC E00B201C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3B47B0 E00B2020 4487C000 */ mtc1 $a3, $f24
/* 3B47B4 E00B2024 27A40010 */ addiu $a0, $sp, 0x10
/* 3B47B8 E00B2028 AFB00028 */ sw $s0, 0x28($sp)
/* 3B47BC E00B202C 8FB00070 */ lw $s0, 0x70($sp)
/* 3B47C0 E00B2030 3C02E00B */ lui $v0, %hi(squirt_init)
/* 3B47C4 E00B2034 244221DC */ addiu $v0, $v0, %lo(squirt_init)
/* 3B47C8 E00B2038 AFA20018 */ sw $v0, 0x18($sp)
/* 3B47CC E00B203C 3C02E00B */ lui $v0, %hi(squirt_update)
/* 3B47D0 E00B2040 244221E4 */ addiu $v0, $v0, %lo(squirt_update)
/* 3B47D4 E00B2044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3B47D8 E00B2048 3C02E00B */ lui $v0, %hi(squirt_render)
/* 3B47DC E00B204C 24422460 */ addiu $v0, $v0, %lo(squirt_render)
/* 3B47E0 E00B2050 AFA20020 */ sw $v0, 0x20($sp)
/* 3B47E4 E00B2054 24020059 */ addiu $v0, $zero, 0x59
/* 3B47E8 E00B2058 AFBF0034 */ sw $ra, 0x34($sp)
/* 3B47EC E00B205C AFB1002C */ sw $s1, 0x2c($sp)
/* 3B47F0 E00B2060 AFA00010 */ sw $zero, 0x10($sp)
/* 3B47F4 E00B2064 AFA00024 */ sw $zero, 0x24($sp)
/* 3B47F8 E00B2068 0C080124 */ jal shim_create_effect_instance
/* 3B47FC E00B206C AFA20014 */ sw $v0, 0x14($sp)
/* 3B4800 E00B2070 240401E4 */ addiu $a0, $zero, 0x1e4
/* 3B4804 E00B2074 24030001 */ addiu $v1, $zero, 1
/* 3B4808 E00B2078 0040882D */ daddu $s1, $v0, $zero
/* 3B480C E00B207C 0C08012C */ jal shim_general_heap_malloc
/* 3B4810 E00B2080 AE230008 */ sw $v1, 8($s1)
/* 3B4814 E00B2084 0040182D */ daddu $v1, $v0, $zero
/* 3B4818 E00B2088 14600003 */ bnez $v1, .LE00B2098
/* 3B481C E00B208C AE22000C */ sw $v0, 0xc($s1)
.LE00B2090:
/* 3B4820 E00B2090 0802C824 */ j .LE00B2090
/* 3B4824 E00B2094 00000000 */ nop
.LE00B2098:
/* 3B4828 E00B2098 AC720000 */ sw $s2, ($v1)
/* 3B482C E00B209C 1E000003 */ bgtz $s0, .LE00B20AC
/* 3B4830 E00B20A0 AC600030 */ sw $zero, 0x30($v1)
/* 3B4834 E00B20A4 0802C82E */ j .LE00B20B8
/* 3B4838 E00B20A8 240203E8 */ addiu $v0, $zero, 0x3e8
.LE00B20AC:
/* 3B483C E00B20AC 16400002 */ bnez $s2, .LE00B20B8
/* 3B4840 E00B20B0 00101080 */ sll $v0, $s0, 2
/* 3B4844 E00B20B4 00101040 */ sll $v0, $s0, 1
.LE00B20B8:
/* 3B4848 E00B20B8 AC62002C */ sw $v0, 0x2c($v1)
/* 3B484C E00B20BC 16400003 */ bnez $s2, .LE00B20CC
/* 3B4850 E00B20C0 AC700028 */ sw $s0, 0x28($v1)
/* 3B4854 E00B20C4 0802C834 */ j .LE00B20D0
/* 3B4858 E00B20C8 240200C8 */ addiu $v0, $zero, 0xc8
.LE00B20CC:
/* 3B485C E00B20CC 240200FF */ addiu $v0, $zero, 0xff
.LE00B20D0:
/* 3B4860 E00B20D0 AC620040 */ sw $v0, 0x40($v1)
/* 3B4864 E00B20D4 0000282D */ daddu $a1, $zero, $zero
/* 3B4868 E00B20D8 3C014120 */ lui $at, 0x4120
/* 3B486C E00B20DC 44814000 */ mtc1 $at, $f8
/* 3B4870 E00B20E0 3C014000 */ lui $at, 0x4000
/* 3B4874 E00B20E4 44813000 */ mtc1 $at, $f6
/* 3B4878 E00B20E8 0060202D */ daddu $a0, $v1, $zero
/* 3B487C E00B20EC E4740010 */ swc1 $f20, 0x10($v1)
/* 3B4880 E00B20F0 E4760014 */ swc1 $f22, 0x14($v1)
/* 3B4884 E00B20F4 E4780018 */ swc1 $f24, 0x18($v1)
/* 3B4888 E00B20F8 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 3B488C E00B20FC 24060001 */ addiu $a2, $zero, 1
/* 3B4890 E00B2100 E460001C */ swc1 $f0, 0x1c($v1)
/* 3B4894 E00B2104 C7A00064 */ lwc1 $f0, 0x64($sp)
/* 3B4898 E00B2108 240200D2 */ addiu $v0, $zero, 0xd2
/* 3B489C E00B210C E4600020 */ swc1 $f0, 0x20($v1)
/* 3B48A0 E00B2110 C7A00068 */ lwc1 $f0, 0x68($sp)
/* 3B48A4 E00B2114 4600B086 */ mov.s $f2, $f22
/* 3B48A8 E00B2118 E4600024 */ swc1 $f0, 0x24($v1)
/* 3B48AC E00B211C C7A0006C */ lwc1 $f0, 0x6c($sp)
/* 3B48B0 E00B2120 4600C106 */ mov.s $f4, $f24
/* 3B48B4 E00B2124 AC620034 */ sw $v0, 0x34($v1)
/* 3B48B8 E00B2128 240200E6 */ addiu $v0, $zero, 0xe6
/* 3B48BC E00B212C AC620038 */ sw $v0, 0x38($v1)
/* 3B48C0 E00B2130 240200FF */ addiu $v0, $zero, 0xff
/* 3B48C4 E00B2134 AC62003C */ sw $v0, 0x3c($v1)
/* 3B48C8 E00B2138 2402001E */ addiu $v0, $zero, 0x1e
/* 3B48CC E00B213C AC620048 */ sw $v0, 0x48($v1)
/* 3B48D0 E00B2140 240200CD */ addiu $v0, $zero, 0xcd
/* 3B48D4 E00B2144 AC600044 */ sw $zero, 0x44($v1)
/* 3B48D8 E00B2148 AC62004C */ sw $v0, 0x4c($v1)
/* 3B48DC E00B214C AC600054 */ sw $zero, 0x54($v1)
/* 3B48E0 E00B2150 E4620008 */ swc1 $f2, 8($v1)
/* 3B48E4 E00B2154 E464000C */ swc1 $f4, 0xc($v1)
/* 3B48E8 E00B2158 E4600050 */ swc1 $f0, 0x50($v1)
/* 3B48EC E00B215C 4600A006 */ mov.s $f0, $f20
/* 3B48F0 E00B2160 E4600004 */ swc1 $f0, 4($v1)
.LE00B2164:
/* 3B48F4 E00B2164 E4880058 */ swc1 $f8, 0x58($a0)
/* 3B48F8 E00B2168 E4860088 */ swc1 $f6, 0x88($a0)
/* 3B48FC E00B216C 16400004 */ bnez $s2, .LE00B2180
/* 3B4900 E00B2170 AC8000B8 */ sw $zero, 0xb8($a0)
/* 3B4904 E00B2174 24A20001 */ addiu $v0, $a1, 1
/* 3B4908 E00B2178 0802C861 */ j .LE00B2184
/* 3B490C E00B217C AC820178 */ sw $v0, 0x178($a0)
.LE00B2180:
/* 3B4910 E00B2180 AC860178 */ sw $a2, 0x178($a0)
.LE00B2184:
/* 3B4914 E00B2184 C4600004 */ lwc1 $f0, 4($v1)
/* 3B4918 E00B2188 24C60005 */ addiu $a2, $a2, 5
/* 3B491C E00B218C E48000E8 */ swc1 $f0, 0xe8($a0)
/* 3B4920 E00B2190 C4600008 */ lwc1 $f0, 8($v1)
/* 3B4924 E00B2194 24A50001 */ addiu $a1, $a1, 1
/* 3B4928 E00B2198 E4800118 */ swc1 $f0, 0x118($a0)
/* 3B492C E00B219C C460000C */ lwc1 $f0, 0xc($v1)
/* 3B4930 E00B21A0 28A2000C */ slti $v0, $a1, 0xc
/* 3B4934 E00B21A4 AC8001A8 */ sw $zero, 0x1a8($a0)
/* 3B4938 E00B21A8 E4800148 */ swc1 $f0, 0x148($a0)
/* 3B493C E00B21AC 1440FFED */ bnez $v0, .LE00B2164
/* 3B4940 E00B21B0 24840004 */ addiu $a0, $a0, 4
/* 3B4944 E00B21B4 0220102D */ daddu $v0, $s1, $zero
/* 3B4948 E00B21B8 8FBF0034 */ lw $ra, 0x34($sp)
/* 3B494C E00B21BC 8FB20030 */ lw $s2, 0x30($sp)
/* 3B4950 E00B21C0 8FB1002C */ lw $s1, 0x2c($sp)
/* 3B4954 E00B21C4 8FB00028 */ lw $s0, 0x28($sp)
/* 3B4958 E00B21C8 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3B495C E00B21CC D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3B4960 E00B21D0 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3B4964 E00B21D4 03E00008 */ jr $ra
/* 3B4968 E00B21D8 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,174 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel squirt_update
/* 3B4974 E00B21E4 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 3B4978 E00B21E8 AFBF0028 */ sw $ra, 0x28($sp)
/* 3B497C E00B21EC AFB50024 */ sw $s5, 0x24($sp)
/* 3B4980 E00B21F0 AFB40020 */ sw $s4, 0x20($sp)
/* 3B4984 E00B21F4 AFB3001C */ sw $s3, 0x1c($sp)
/* 3B4988 E00B21F8 AFB20018 */ sw $s2, 0x18($sp)
/* 3B498C E00B21FC AFB10014 */ sw $s1, 0x14($sp)
/* 3B4990 E00B2200 AFB00010 */ sw $s0, 0x10($sp)
/* 3B4994 E00B2204 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 3B4998 E00B2208 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 3B499C E00B220C F7B40030 */ sdc1 $f20, 0x30($sp)
/* 3B49A0 E00B2210 8C830000 */ lw $v1, ($a0)
/* 3B49A4 E00B2214 8C90000C */ lw $s0, 0xc($a0)
/* 3B49A8 E00B2218 30620010 */ andi $v0, $v1, 0x10
/* 3B49AC E00B221C 8E140000 */ lw $s4, ($s0)
/* 3B49B0 E00B2220 10400005 */ beqz $v0, .LE00B2238
/* 3B49B4 E00B2224 2402FFEF */ addiu $v0, $zero, -0x11
/* 3B49B8 E00B2228 00621024 */ and $v0, $v1, $v0
/* 3B49BC E00B222C AC820000 */ sw $v0, ($a0)
/* 3B49C0 E00B2230 24020010 */ addiu $v0, $zero, 0x10
/* 3B49C4 E00B2234 AE02002C */ sw $v0, 0x2c($s0)
.LE00B2238:
/* 3B49C8 E00B2238 8E03002C */ lw $v1, 0x2c($s0)
/* 3B49CC E00B223C 286203E8 */ slti $v0, $v1, 0x3e8
/* 3B49D0 E00B2240 10400002 */ beqz $v0, .LE00B224C
/* 3B49D4 E00B2244 2462FFFF */ addiu $v0, $v1, -1
/* 3B49D8 E00B2248 AE02002C */ sw $v0, 0x2c($s0)
.LE00B224C:
/* 3B49DC E00B224C 8E020030 */ lw $v0, 0x30($s0)
/* 3B49E0 E00B2250 8E03002C */ lw $v1, 0x2c($s0)
/* 3B49E4 E00B2254 24420001 */ addiu $v0, $v0, 1
/* 3B49E8 E00B2258 04610005 */ bgez $v1, .LE00B2270
/* 3B49EC E00B225C AE020030 */ sw $v0, 0x30($s0)
/* 3B49F0 E00B2260 0C080128 */ jal shim_remove_effect
/* 3B49F4 E00B2264 00000000 */ nop
/* 3B49F8 E00B2268 0802C90C */ j .LE00B2430
/* 3B49FC E00B226C 00000000 */ nop
.LE00B2270:
/* 3B4A00 E00B2270 8E020054 */ lw $v0, 0x54($s0)
/* 3B4A04 E00B2274 8E130028 */ lw $s3, 0x28($s0)
/* 3B4A08 E00B2278 24420001 */ addiu $v0, $v0, 1
/* 3B4A0C E00B227C AE020054 */ sw $v0, 0x54($s0)
/* 3B4A10 E00B2280 2842000D */ slti $v0, $v0, 0xd
/* 3B4A14 E00B2284 14400003 */ bnez $v0, .LE00B2294
/* 3B4A18 E00B2288 0000902D */ daddu $s2, $zero, $zero
/* 3B4A1C E00B228C 2402000C */ addiu $v0, $zero, 0xc
/* 3B4A20 E00B2290 AE020054 */ sw $v0, 0x54($s0)
.LE00B2294:
/* 3B4A24 E00B2294 3C158000 */ lui $s5, 0x8000
/* 3B4A28 E00B2298 0200882D */ daddu $s1, $s0, $zero
/* 3B4A2C E00B229C 3C01437F */ lui $at, 0x437f
/* 3B4A30 E00B22A0 4481C000 */ mtc1 $at, $f24
/* 3B4A34 E00B22A4 3C014F00 */ lui $at, 0x4f00
/* 3B4A38 E00B22A8 4481B000 */ mtc1 $at, $f22
.LE00B22AC:
/* 3B4A3C E00B22AC 8E220178 */ lw $v0, 0x178($s1)
/* 3B4A40 E00B22B0 10400003 */ beqz $v0, .LE00B22C0
/* 3B4A44 E00B22B4 2442FFFF */ addiu $v0, $v0, -1
/* 3B4A48 E00B22B8 14400059 */ bnez $v0, .LE00B2420
/* 3B4A4C E00B22BC AE220178 */ sw $v0, 0x178($s1)
.LE00B22C0:
/* 3B4A50 E00B22C0 8E2201A8 */ lw $v0, 0x1a8($s1)
/* 3B4A54 E00B22C4 24420001 */ addiu $v0, $v0, 1
/* 3B4A58 E00B22C8 0040182D */ daddu $v1, $v0, $zero
/* 3B4A5C E00B22CC 0073102A */ slt $v0, $v1, $s3
/* 3B4A60 E00B22D0 14400002 */ bnez $v0, .LE00B22DC
/* 3B4A64 E00B22D4 AE2301A8 */ sw $v1, 0x1a8($s1)
/* 3B4A68 E00B22D8 0260182D */ daddu $v1, $s3, $zero
.LE00B22DC:
/* 3B4A6C E00B22DC 44831000 */ mtc1 $v1, $f2
/* 3B4A70 E00B22E0 00000000 */ nop
/* 3B4A74 E00B22E4 468010A0 */ cvt.s.w $f2, $f2
/* 3B4A78 E00B22E8 44930000 */ mtc1 $s3, $f0
/* 3B4A7C E00B22EC 00000000 */ nop
/* 3B4A80 E00B22F0 46800020 */ cvt.s.w $f0, $f0
/* 3B4A84 E00B22F4 16800017 */ bnez $s4, .LE00B2354
/* 3B4A88 E00B22F8 46001503 */ div.s $f20, $f2, $f0
/* 3B4A8C E00B22FC C600001C */ lwc1 $f0, 0x1c($s0)
/* 3B4A90 E00B2300 C6020010 */ lwc1 $f2, 0x10($s0)
/* 3B4A94 E00B2304 46020001 */ sub.s $f0, $f0, $f2
/* 3B4A98 E00B2308 46140002 */ mul.s $f0, $f0, $f20
/* 3B4A9C E00B230C 00000000 */ nop
/* 3B4AA0 E00B2310 46001080 */ add.s $f2, $f2, $f0
/* 3B4AA4 E00B2314 E62200E8 */ swc1 $f2, 0xe8($s1)
/* 3B4AA8 E00B2318 C6000020 */ lwc1 $f0, 0x20($s0)
/* 3B4AAC E00B231C C6020014 */ lwc1 $f2, 0x14($s0)
/* 3B4AB0 E00B2320 46020001 */ sub.s $f0, $f0, $f2
/* 3B4AB4 E00B2324 46140002 */ mul.s $f0, $f0, $f20
/* 3B4AB8 E00B2328 00000000 */ nop
/* 3B4ABC E00B232C 46001080 */ add.s $f2, $f2, $f0
/* 3B4AC0 E00B2330 E6220118 */ swc1 $f2, 0x118($s1)
/* 3B4AC4 E00B2334 C6000024 */ lwc1 $f0, 0x24($s0)
/* 3B4AC8 E00B2338 C6020018 */ lwc1 $f2, 0x18($s0)
/* 3B4ACC E00B233C 46020001 */ sub.s $f0, $f0, $f2
/* 3B4AD0 E00B2340 46140002 */ mul.s $f0, $f0, $f20
/* 3B4AD4 E00B2344 00000000 */ nop
/* 3B4AD8 E00B2348 46001080 */ add.s $f2, $f2, $f0
/* 3B4ADC E00B234C 0802C908 */ j .LE00B2420
/* 3B4AE0 E00B2350 E6220148 */ swc1 $f2, 0x148($s1)
.LE00B2354:
/* 3B4AE4 E00B2354 3C014334 */ lui $at, 0x4334
/* 3B4AE8 E00B2358 44816000 */ mtc1 $at, $f12
/* 3B4AEC E00B235C 00000000 */ nop
/* 3B4AF0 E00B2360 460CA302 */ mul.s $f12, $f20, $f12
/* 3B4AF4 E00B2364 00000000 */ nop
/* 3B4AF8 E00B2368 C600001C */ lwc1 $f0, 0x1c($s0)
/* 3B4AFC E00B236C C6020010 */ lwc1 $f2, 0x10($s0)
/* 3B4B00 E00B2370 46020001 */ sub.s $f0, $f0, $f2
/* 3B4B04 E00B2374 46140002 */ mul.s $f0, $f0, $f20
/* 3B4B08 E00B2378 00000000 */ nop
/* 3B4B0C E00B237C 46001080 */ add.s $f2, $f2, $f0
/* 3B4B10 E00B2380 0C080140 */ jal shim_sin_deg
/* 3B4B14 E00B2384 E62200E8 */ swc1 $f2, 0xe8($s1)
/* 3B4B18 E00B2388 3C0142F0 */ lui $at, 0x42f0
/* 3B4B1C E00B238C 44811000 */ mtc1 $at, $f2
/* 3B4B20 E00B2390 00000000 */ nop
/* 3B4B24 E00B2394 46020002 */ mul.s $f0, $f0, $f2
/* 3B4B28 E00B2398 00000000 */ nop
/* 3B4B2C E00B239C C6040020 */ lwc1 $f4, 0x20($s0)
/* 3B4B30 E00B23A0 C6060014 */ lwc1 $f6, 0x14($s0)
/* 3B4B34 E00B23A4 46062101 */ sub.s $f4, $f4, $f6
/* 3B4B38 E00B23A8 46142102 */ mul.s $f4, $f4, $f20
/* 3B4B3C E00B23AC 00000000 */ nop
/* 3B4B40 E00B23B0 46043180 */ add.s $f6, $f6, $f4
/* 3B4B44 E00B23B4 46003180 */ add.s $f6, $f6, $f0
/* 3B4B48 E00B23B8 4618A102 */ mul.s $f4, $f20, $f24
/* 3B4B4C E00B23BC 00000000 */ nop
/* 3B4B50 E00B23C0 E6260118 */ swc1 $f6, 0x118($s1)
/* 3B4B54 E00B23C4 C6000024 */ lwc1 $f0, 0x24($s0)
/* 3B4B58 E00B23C8 C6020018 */ lwc1 $f2, 0x18($s0)
/* 3B4B5C E00B23CC 46020001 */ sub.s $f0, $f0, $f2
/* 3B4B60 E00B23D0 46140002 */ mul.s $f0, $f0, $f20
/* 3B4B64 E00B23D4 00000000 */ nop
/* 3B4B68 E00B23D8 46001080 */ add.s $f2, $f2, $f0
/* 3B4B6C E00B23DC 02121021 */ addu $v0, $s0, $s2
/* 3B4B70 E00B23E0 4604C001 */ sub.s $f0, $f24, $f4
/* 3B4B74 E00B23E4 244201D8 */ addiu $v0, $v0, 0x1d8
/* 3B4B78 E00B23E8 4600B03E */ c.le.s $f22, $f0
/* 3B4B7C E00B23EC 00000000 */ nop
/* 3B4B80 E00B23F0 45010005 */ bc1t .LE00B2408
/* 3B4B84 E00B23F4 E6220148 */ swc1 $f2, 0x148($s1)
/* 3B4B88 E00B23F8 4600020D */ trunc.w.s $f8, $f0
/* 3B4B8C E00B23FC 44034000 */ mfc1 $v1, $f8
/* 3B4B90 E00B2400 0802C908 */ j .LE00B2420
/* 3B4B94 E00B2404 A0430000 */ sb $v1, ($v0)
.LE00B2408:
/* 3B4B98 E00B2408 46160001 */ sub.s $f0, $f0, $f22
/* 3B4B9C E00B240C 4600020D */ trunc.w.s $f8, $f0
/* 3B4BA0 E00B2410 44034000 */ mfc1 $v1, $f8
/* 3B4BA4 E00B2414 00000000 */ nop
/* 3B4BA8 E00B2418 00751825 */ or $v1, $v1, $s5
/* 3B4BAC E00B241C A0430000 */ sb $v1, ($v0)
.LE00B2420:
/* 3B4BB0 E00B2420 26520001 */ addiu $s2, $s2, 1
/* 3B4BB4 E00B2424 2A42000C */ slti $v0, $s2, 0xc
/* 3B4BB8 E00B2428 1440FFA0 */ bnez $v0, .LE00B22AC
/* 3B4BBC E00B242C 26310004 */ addiu $s1, $s1, 4
.LE00B2430:
/* 3B4BC0 E00B2430 8FBF0028 */ lw $ra, 0x28($sp)
/* 3B4BC4 E00B2434 8FB50024 */ lw $s5, 0x24($sp)
/* 3B4BC8 E00B2438 8FB40020 */ lw $s4, 0x20($sp)
/* 3B4BCC E00B243C 8FB3001C */ lw $s3, 0x1c($sp)
/* 3B4BD0 E00B2440 8FB20018 */ lw $s2, 0x18($sp)
/* 3B4BD4 E00B2444 8FB10014 */ lw $s1, 0x14($sp)
/* 3B4BD8 E00B2448 8FB00010 */ lw $s0, 0x10($sp)
/* 3B4BDC E00B244C D7B80040 */ ldc1 $f24, 0x40($sp)
/* 3B4BE0 E00B2450 D7B60038 */ ldc1 $f22, 0x38($sp)
/* 3B4BE4 E00B2454 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 3B4BE8 E00B2458 03E00008 */ jr $ra
/* 3B4BEC E00B245C 27BD0048 */ addiu $sp, $sp, 0x48

View File

@ -1,414 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel star_appendGfx
/* 332070 E001E730 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 332074 E001E734 3C03DB06 */ lui $v1, 0xdb06
/* 332078 E001E738 AFB700BC */ sw $s7, 0xbc($sp)
/* 33207C E001E73C 3C17800A */ lui $s7, %hi(gMasterGfxPos)
/* 332080 E001E740 26F7A66C */ addiu $s7, $s7, %lo(gMasterGfxPos)
/* 332084 E001E744 34630024 */ ori $v1, $v1, 0x24
/* 332088 E001E748 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 33208C E001E74C AFBE00C0 */ sw $fp, 0xc0($sp)
/* 332090 E001E750 AFB600B8 */ sw $s6, 0xb8($sp)
/* 332094 E001E754 AFB500B4 */ sw $s5, 0xb4($sp)
/* 332098 E001E758 AFB400B0 */ sw $s4, 0xb0($sp)
/* 33209C E001E75C AFB300AC */ sw $s3, 0xac($sp)
/* 3320A0 E001E760 AFB200A8 */ sw $s2, 0xa8($sp)
/* 3320A4 E001E764 AFB100A4 */ sw $s1, 0xa4($sp)
/* 3320A8 E001E768 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3320AC E001E76C F7B800D8 */ sdc1 $f24, 0xd8($sp)
/* 3320B0 E001E770 F7B600D0 */ sdc1 $f22, 0xd0($sp)
/* 3320B4 E001E774 F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 3320B8 E001E778 8EE60000 */ lw $a2, ($s7)
/* 3320BC E001E77C 4480A000 */ mtc1 $zero, $f20
/* 3320C0 E001E780 8C96000C */ lw $s6, 0xc($a0)
/* 3320C4 E001E784 00C0102D */ daddu $v0, $a2, $zero
/* 3320C8 E001E788 24C60008 */ addiu $a2, $a2, 8
/* 3320CC E001E78C C6D80240 */ lwc1 $f24, 0x240($s6)
/* 3320D0 E001E790 8EDE0038 */ lw $fp, 0x38($s6)
/* 3320D4 E001E794 8ED10244 */ lw $s1, 0x244($s6)
/* 3320D8 E001E798 8ED20248 */ lw $s2, 0x248($s6)
/* 3320DC E001E79C 8ED3024C */ lw $s3, 0x24c($s6)
/* 3320E0 E001E7A0 3C0EE700 */ lui $t6, 0xe700
/* 3320E4 E001E7A4 AC4E0000 */ sw $t6, ($v0)
/* 3320E8 E001E7A8 AC400004 */ sw $zero, 4($v0)
/* 3320EC E001E7AC ACC30000 */ sw $v1, ($a2)
/* 3320F0 E001E7B0 8C820010 */ lw $v0, 0x10($a0)
/* 3320F4 E001E7B4 3C048000 */ lui $a0, 0x8000
/* 3320F8 E001E7B8 4405A000 */ mfc1 $a1, $f20
/* 3320FC E001E7BC 4407A000 */ mfc1 $a3, $f20
/* 332100 E001E7C0 8C42001C */ lw $v0, 0x1c($v0)
/* 332104 E001E7C4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 332108 E001E7C8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 33210C E001E7CC 00441021 */ addu $v0, $v0, $a0
/* 332110 E001E7D0 ACC20004 */ sw $v0, 4($a2)
/* 332114 E001E7D4 00031080 */ sll $v0, $v1, 2
/* 332118 E001E7D8 00431021 */ addu $v0, $v0, $v1
/* 33211C E001E7DC 00021080 */ sll $v0, $v0, 2
/* 332120 E001E7E0 00431023 */ subu $v0, $v0, $v1
/* 332124 E001E7E4 000218C0 */ sll $v1, $v0, 3
/* 332128 E001E7E8 00431021 */ addu $v0, $v0, $v1
/* 33212C E001E7EC 000210C0 */ sll $v0, $v0, 3
/* 332130 E001E7F0 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 332134 E001E7F4 00220821 */ addu $at, $at, $v0
/* 332138 E001E7F8 C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 33213C E001E7FC E7B80010 */ swc1 $f24, 0x10($sp)
/* 332140 E001E800 C6C00004 */ lwc1 $f0, 4($s6)
/* 332144 E001E804 AEE60000 */ sw $a2, ($s7)
/* 332148 E001E808 24C60008 */ addiu $a2, $a2, 8
/* 33214C E001E80C E7A00014 */ swc1 $f0, 0x14($sp)
/* 332150 E001E810 C6C00008 */ lwc1 $f0, 8($s6)
/* 332154 E001E814 46001087 */ neg.s $f2, $f2
/* 332158 E001E818 AEE60000 */ sw $a2, ($s7)
/* 33215C E001E81C 44061000 */ mfc1 $a2, $f2
/* 332160 E001E820 3C150001 */ lui $s5, 1
/* 332164 E001E824 E7A00018 */ swc1 $f0, 0x18($sp)
/* 332168 E001E828 C6C0000C */ lwc1 $f0, 0xc($s6)
/* 33216C E001E82C 27A40020 */ addiu $a0, $sp, 0x20
/* 332170 E001E830 0C080180 */ jal shim_guPositionF
/* 332174 E001E834 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 332178 E001E838 36B51630 */ ori $s5, $s5, 0x1630
/* 33217C E001E83C 27B00060 */ addiu $s0, $sp, 0x60
/* 332180 E001E840 4406A000 */ mfc1 $a2, $f20
/* 332184 E001E844 3C013F80 */ lui $at, 0x3f80
/* 332188 E001E848 44810000 */ mtc1 $at, $f0
/* 33218C E001E84C 0200202D */ daddu $a0, $s0, $zero
/* 332190 E001E850 E7A00010 */ swc1 $f0, 0x10($sp)
/* 332194 E001E854 8EC50024 */ lw $a1, 0x24($s6)
/* 332198 E001E858 0C080104 */ jal shim_guRotateF
/* 33219C E001E85C 00C0382D */ daddu $a3, $a2, $zero
/* 3321A0 E001E860 0200202D */ daddu $a0, $s0, $zero
/* 3321A4 E001E864 27A50020 */ addiu $a1, $sp, 0x20
/* 3321A8 E001E868 0C080114 */ jal shim_guMtxCatF
/* 3321AC E001E86C 00A0302D */ daddu $a2, $a1, $zero
/* 3321B0 E001E870 27A40020 */ addiu $a0, $sp, 0x20
/* 3321B4 E001E874 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3321B8 E001E878 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3321BC E001E87C 3C14800A */ lui $s4, %hi(gDisplayContext)
/* 3321C0 E001E880 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext)
/* 3321C4 E001E884 96050000 */ lhu $a1, ($s0)
/* 3321C8 E001E888 8E820000 */ lw $v0, ($s4)
/* 3321CC E001E88C 00052980 */ sll $a1, $a1, 6
/* 3321D0 E001E890 00B52821 */ addu $a1, $a1, $s5
/* 3321D4 E001E894 0C080118 */ jal shim_guMtxF2L
/* 3321D8 E001E898 00452821 */ addu $a1, $v0, $a1
/* 3321DC E001E89C 3C05FA00 */ lui $a1, 0xfa00
/* 3321E0 E001E8A0 34A50050 */ ori $a1, $a1, 0x50
/* 3321E4 E001E8A4 3C067F7F */ lui $a2, 0x7f7f
/* 3321E8 E001E8A8 34C67F7F */ ori $a2, $a2, 0x7f7f
/* 3321EC E001E8AC 3C080900 */ lui $t0, 0x900
/* 3321F0 E001E8B0 25081530 */ addiu $t0, $t0, 0x1530
/* 3321F4 E001E8B4 3C03DA38 */ lui $v1, 0xda38
/* 3321F8 E001E8B8 00118E00 */ sll $s1, $s1, 0x18
/* 3321FC E001E8BC 325200FF */ andi $s2, $s2, 0xff
/* 332200 E001E8C0 00129400 */ sll $s2, $s2, 0x10
/* 332204 E001E8C4 02328825 */ or $s1, $s1, $s2
/* 332208 E001E8C8 327300FF */ andi $s3, $s3, 0xff
/* 33220C E001E8CC 00139A00 */ sll $s3, $s3, 8
/* 332210 E001E8D0 8EE70000 */ lw $a3, ($s7)
/* 332214 E001E8D4 02338825 */ or $s1, $s1, $s3
/* 332218 E001E8D8 00E0202D */ daddu $a0, $a3, $zero
/* 33221C E001E8DC 24E70008 */ addiu $a3, $a3, 8
/* 332220 E001E8E0 AEE70000 */ sw $a3, ($s7)
/* 332224 E001E8E4 96020000 */ lhu $v0, ($s0)
/* 332228 E001E8E8 363100FF */ ori $s1, $s1, 0xff
/* 33222C E001E8EC AC830000 */ sw $v1, ($a0)
/* 332230 E001E8F0 24430001 */ addiu $v1, $v0, 1
/* 332234 E001E8F4 3042FFFF */ andi $v0, $v0, 0xffff
/* 332238 E001E8F8 00021180 */ sll $v0, $v0, 6
/* 33223C E001E8FC A6030000 */ sh $v1, ($s0)
/* 332240 E001E900 8E830000 */ lw $v1, ($s4)
/* 332244 E001E904 00551021 */ addu $v0, $v0, $s5
/* 332248 E001E908 00621821 */ addu $v1, $v1, $v0
/* 33224C E001E90C 24E20008 */ addiu $v0, $a3, 8
/* 332250 E001E910 AC830004 */ sw $v1, 4($a0)
/* 332254 E001E914 AEE20000 */ sw $v0, ($s7)
/* 332258 E001E918 24E20010 */ addiu $v0, $a3, 0x10
/* 33225C E001E91C ACE50000 */ sw $a1, ($a3)
/* 332260 E001E920 ACF10004 */ sw $s1, 4($a3)
/* 332264 E001E924 AEE20000 */ sw $v0, ($s7)
/* 332268 E001E928 3C02FB00 */ lui $v0, 0xfb00
/* 33226C E001E92C ACE6000C */ sw $a2, 0xc($a3)
/* 332270 E001E930 3C06DE00 */ lui $a2, 0xde00
/* 332274 E001E934 ACE20008 */ sw $v0, 8($a3)
/* 332278 E001E938 ACE60010 */ sw $a2, 0x10($a3)
/* 33227C E001E93C 8EC20038 */ lw $v0, 0x38($s6)
/* 332280 E001E940 24E50018 */ addiu $a1, $a3, 0x18
/* 332284 E001E944 28420002 */ slti $v0, $v0, 2
/* 332288 E001E948 14400003 */ bnez $v0, .LE001E958
/* 33228C E001E94C AEE50000 */ sw $a1, ($s7)
/* 332290 E001E950 3C080900 */ lui $t0, 0x900
/* 332294 E001E954 25081650 */ addiu $t0, $t0, 0x1650
.LE001E958:
/* 332298 E001E958 3C02D838 */ lui $v0, 0xd838
/* 33229C E001E95C 34420002 */ ori $v0, $v0, 2
/* 3322A0 E001E960 02E0202D */ daddu $a0, $s7, $zero
/* 3322A4 E001E964 24E30020 */ addiu $v1, $a3, 0x20
/* 3322A8 E001E968 ACE80014 */ sw $t0, 0x14($a3)
/* 3322AC E001E96C AC830000 */ sw $v1, ($a0)
/* 3322B0 E001E970 ACE20018 */ sw $v0, 0x18($a3)
/* 3322B4 E001E974 24020040 */ addiu $v0, $zero, 0x40
/* 3322B8 E001E978 ACA20004 */ sw $v0, 4($a1)
/* 3322BC E001E97C 24E20028 */ addiu $v0, $a3, 0x28
/* 3322C0 E001E980 3C0FE700 */ lui $t7, 0xe700
/* 3322C4 E001E984 AC820000 */ sw $v0, ($a0)
/* 3322C8 E001E988 24020003 */ addiu $v0, $zero, 3
/* 3322CC E001E98C ACEF0020 */ sw $t7, 0x20($a3)
/* 3322D0 E001E990 17C20007 */ bne $fp, $v0, .LE001E9B0
/* 3322D4 E001E994 AC600004 */ sw $zero, 4($v1)
/* 3322D8 E001E998 24E20030 */ addiu $v0, $a3, 0x30
/* 3322DC E001E99C AC820000 */ sw $v0, ($a0)
/* 3322E0 E001E9A0 3C020900 */ lui $v0, 0x900
/* 3322E4 E001E9A4 244217D0 */ addiu $v0, $v0, 0x17d0
/* 3322E8 E001E9A8 08007A71 */ j .LE001E9C4
/* 3322EC E001E9AC AC660008 */ sw $a2, 8($v1)
.LE001E9B0:
/* 3322F0 E001E9B0 24E20030 */ addiu $v0, $a3, 0x30
/* 3322F4 E001E9B4 AEE20000 */ sw $v0, ($s7)
/* 3322F8 E001E9B8 3C020900 */ lui $v0, 0x900
/* 3322FC E001E9BC 24421780 */ addiu $v0, $v0, 0x1780
/* 332300 E001E9C0 AC660008 */ sw $a2, 8($v1)
.LE001E9C4:
/* 332304 E001E9C4 AC62000C */ sw $v0, 0xc($v1)
/* 332308 E001E9C8 8EC2003C */ lw $v0, 0x3c($s6)
/* 33230C E001E9CC 24420001 */ addiu $v0, $v0, 1
/* 332310 E001E9D0 AEC2003C */ sw $v0, 0x3c($s6)
/* 332314 E001E9D4 28420008 */ slti $v0, $v0, 8
/* 332318 E001E9D8 50400001 */ beql $v0, $zero, .LE001E9E0
/* 33231C E001E9DC AEC0003C */ sw $zero, 0x3c($s6)
.LE001E9E0:
/* 332320 E001E9E0 C6C0001C */ lwc1 $f0, 0x1c($s6)
/* 332324 E001E9E4 3C013F80 */ lui $at, 0x3f80
/* 332328 E001E9E8 4481B000 */ mtc1 $at, $f22
/* 33232C E001E9EC 00000000 */ nop
/* 332330 E001E9F0 4616003E */ c.le.s $f0, $f22
/* 332334 E001E9F4 00000000 */ nop
/* 332338 E001E9F8 450000C5 */ bc1f .LE001ED10
/* 33233C E001E9FC 00000000 */ nop
/* 332340 E001EA00 8EC2003C */ lw $v0, 0x3c($s6)
/* 332344 E001EA04 24440005 */ addiu $a0, $v0, 5
/* 332348 E001EA08 04810002 */ bgez $a0, .LE001EA14
/* 33234C E001EA0C 0080302D */ daddu $a2, $a0, $zero
/* 332350 E001EA10 2446000C */ addiu $a2, $v0, 0xc
.LE001EA14:
/* 332354 E001EA14 000688C3 */ sra $s1, $a2, 3
/* 332358 E001EA18 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 33235C E001EA1C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 332360 E001EA20 4480A000 */ mtc1 $zero, $f20
/* 332364 E001EA24 00031080 */ sll $v0, $v1, 2
/* 332368 E001EA28 00431021 */ addu $v0, $v0, $v1
/* 33236C E001EA2C 00021080 */ sll $v0, $v0, 2
/* 332370 E001EA30 00431023 */ subu $v0, $v0, $v1
/* 332374 E001EA34 000218C0 */ sll $v1, $v0, 3
/* 332378 E001EA38 00431021 */ addu $v0, $v0, $v1
/* 33237C E001EA3C 000210C0 */ sll $v0, $v0, 3
/* 332380 E001EA40 4405A000 */ mfc1 $a1, $f20
/* 332384 E001EA44 4407A000 */ mfc1 $a3, $f20
/* 332388 E001EA48 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 33238C E001EA4C 00220821 */ addu $at, $at, $v0
/* 332390 E001EA50 C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 332394 E001EA54 001110C0 */ sll $v0, $s1, 3
/* 332398 E001EA58 E7B80010 */ swc1 $f24, 0x10($sp)
/* 33239C E001EA5C C6C00004 */ lwc1 $f0, 4($s6)
/* 3323A0 E001EA60 46001087 */ neg.s $f2, $f2
/* 3323A4 E001EA64 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3323A8 E001EA68 C6C00008 */ lwc1 $f0, 8($s6)
/* 3323AC E001EA6C 44061000 */ mfc1 $a2, $f2
/* 3323B0 E001EA70 00828823 */ subu $s1, $a0, $v0
/* 3323B4 E001EA74 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3323B8 E001EA78 C6C0000C */ lwc1 $f0, 0xc($s6)
/* 3323BC E001EA7C 27A40020 */ addiu $a0, $sp, 0x20
/* 3323C0 E001EA80 0C080180 */ jal shim_guPositionF
/* 3323C4 E001EA84 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3323C8 E001EA88 27B00060 */ addiu $s0, $sp, 0x60
/* 3323CC E001EA8C 4406A000 */ mfc1 $a2, $f20
/* 3323D0 E001EA90 0200202D */ daddu $a0, $s0, $zero
/* 3323D4 E001EA94 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3323D8 E001EA98 8EC50020 */ lw $a1, 0x20($s6)
/* 3323DC E001EA9C 0C080104 */ jal shim_guRotateF
/* 3323E0 E001EAA0 00C0382D */ daddu $a3, $a2, $zero
/* 3323E4 E001EAA4 0200202D */ daddu $a0, $s0, $zero
/* 3323E8 E001EAA8 27A50020 */ addiu $a1, $sp, 0x20
/* 3323EC E001EAAC 0C080114 */ jal shim_guMtxCatF
/* 3323F0 E001EAB0 00A0302D */ daddu $a2, $a1, $zero
/* 3323F4 E001EAB4 8EC5003C */ lw $a1, 0x3c($s6)
/* 3323F8 E001EAB8 27A40020 */ addiu $a0, $sp, 0x20
/* 3323FC E001EABC 00052980 */ sll $a1, $a1, 6
/* 332400 E001EAC0 24A50040 */ addiu $a1, $a1, 0x40
/* 332404 E001EAC4 0C080118 */ jal shim_guMtxF2L
/* 332408 E001EAC8 02C52821 */ addu $a1, $s6, $a1
/* 33240C E001EACC 0000402D */ daddu $t0, $zero, $zero
/* 332410 E001EAD0 3C15800A */ lui $s5, %hi(gDisplayContext)
/* 332414 E001EAD4 26B5A674 */ addiu $s5, $s5, %lo(gDisplayContext)
/* 332418 E001EAD8 3C0D8007 */ lui $t5, %hi(gMatrixListPos)
/* 33241C E001EADC 25AD41F0 */ addiu $t5, $t5, %lo(gMatrixListPos)
/* 332420 E001EAE0 3C0C0001 */ lui $t4, 1
/* 332424 E001EAE4 358C1630 */ ori $t4, $t4, 0x1630
/* 332428 E001EAE8 3C0B800A */ lui $t3, %hi(gMasterGfxPos)
/* 33242C E001EAEC 256BA66C */ addiu $t3, $t3, %lo(gMasterGfxPos)
/* 332430 E001EAF0 3C13DA38 */ lui $s3, 0xda38
/* 332434 E001EAF4 3C100100 */ lui $s0, 0x100
/* 332438 E001EAF8 36102000 */ ori $s0, $s0, 0x2000
/* 33243C E001EAFC 3C14D838 */ lui $s4, 0xd838
/* 332440 E001EB00 36940002 */ ori $s4, $s4, 2
/* 332444 E001EB04 24120040 */ addiu $s2, $zero, 0x40
/* 332448 E001EB08 3C0A0900 */ lui $t2, 0x900
/* 33244C E001EB0C 254A1400 */ addiu $t2, $t2, 0x1400
/* 332450 E001EB10 24090002 */ addiu $t1, $zero, 2
.LE001EB14:
/* 332454 E001EB14 02282023 */ subu $a0, $s1, $t0
/* 332458 E001EB18 24830008 */ addiu $v1, $a0, 8
/* 33245C E001EB1C 04610002 */ bgez $v1, .LE001EB28
/* 332460 E001EB20 0060102D */ daddu $v0, $v1, $zero
/* 332464 E001EB24 2482000F */ addiu $v0, $a0, 0xf
.LE001EB28:
/* 332468 E001EB28 000210C3 */ sra $v0, $v0, 3
/* 33246C E001EB2C 000210C0 */ sll $v0, $v0, 3
/* 332470 E001EB30 00621023 */ subu $v0, $v1, $v0
/* 332474 E001EB34 00021180 */ sll $v0, $v0, 6
/* 332478 E001EB38 02C21021 */ addu $v0, $s6, $v0
/* 33247C E001EB3C 24440040 */ addiu $a0, $v0, 0x40
/* 332480 E001EB40 24450080 */ addiu $a1, $v0, 0x80
/* 332484 E001EB44 95A20000 */ lhu $v0, ($t5)
/* 332488 E001EB48 8EA30000 */ lw $v1, ($s5)
/* 33248C E001EB4C 00021180 */ sll $v0, $v0, 6
/* 332490 E001EB50 00621821 */ addu $v1, $v1, $v0
/* 332494 E001EB54 006C1821 */ addu $v1, $v1, $t4
.LE001EB58:
/* 332498 E001EB58 8C980000 */ lw $t8, ($a0)
/* 33249C E001EB5C 8C990004 */ lw $t9, 4($a0)
/* 3324A0 E001EB60 8C8E0008 */ lw $t6, 8($a0)
/* 3324A4 E001EB64 8C8F000C */ lw $t7, 0xc($a0)
/* 3324A8 E001EB68 AC780000 */ sw $t8, ($v1)
/* 3324AC E001EB6C AC790004 */ sw $t9, 4($v1)
/* 3324B0 E001EB70 AC6E0008 */ sw $t6, 8($v1)
/* 3324B4 E001EB74 AC6F000C */ sw $t7, 0xc($v1)
/* 3324B8 E001EB78 24840010 */ addiu $a0, $a0, 0x10
/* 3324BC E001EB7C 1485FFF6 */ bne $a0, $a1, .LE001EB58
/* 3324C0 E001EB80 24630010 */ addiu $v1, $v1, 0x10
/* 3324C4 E001EB84 3126007F */ andi $a2, $t1, 0x7f
/* 3324C8 E001EB88 25290002 */ addiu $t1, $t1, 2
/* 3324CC E001EB8C 25080001 */ addiu $t0, $t0, 1
/* 3324D0 E001EB90 00063040 */ sll $a2, $a2, 1
/* 3324D4 E001EB94 00D03025 */ or $a2, $a2, $s0
/* 3324D8 E001EB98 8D640000 */ lw $a0, ($t3)
/* 3324DC E001EB9C 95A50000 */ lhu $a1, ($t5)
/* 3324E0 E001EBA0 0080382D */ daddu $a3, $a0, $zero
/* 3324E4 E001EBA4 24840008 */ addiu $a0, $a0, 8
/* 3324E8 E001EBA8 30A2FFFF */ andi $v0, $a1, 0xffff
/* 3324EC E001EBAC 00021180 */ sll $v0, $v0, 6
/* 3324F0 E001EBB0 004C1021 */ addu $v0, $v0, $t4
/* 3324F4 E001EBB4 ACF30000 */ sw $s3, ($a3)
/* 3324F8 E001EBB8 8EA30000 */ lw $v1, ($s5)
/* 3324FC E001EBBC 24A50001 */ addiu $a1, $a1, 1
/* 332500 E001EBC0 00621821 */ addu $v1, $v1, $v0
/* 332504 E001EBC4 ACE30004 */ sw $v1, 4($a3)
/* 332508 E001EBC8 AC8A0004 */ sw $t2, 4($a0)
/* 33250C E001EBCC 254A0020 */ addiu $t2, $t2, 0x20
/* 332510 E001EBD0 24820008 */ addiu $v0, $a0, 8
/* 332514 E001EBD4 AD640000 */ sw $a0, ($t3)
/* 332518 E001EBD8 A5A50000 */ sh $a1, ($t5)
/* 33251C E001EBDC AD620000 */ sw $v0, ($t3)
/* 332520 E001EBE0 24820010 */ addiu $v0, $a0, 0x10
/* 332524 E001EBE4 AC860000 */ sw $a2, ($a0)
/* 332528 E001EBE8 AD620000 */ sw $v0, ($t3)
/* 33252C E001EBEC 29020005 */ slti $v0, $t0, 5
/* 332530 E001EBF0 AC940008 */ sw $s4, 8($a0)
/* 332534 E001EBF4 1440FFC7 */ bnez $v0, .LE001EB14
/* 332538 E001EBF8 AC92000C */ sw $s2, 0xc($a0)
/* 33253C E001EBFC 0000402D */ daddu $t0, $zero, $zero
/* 332540 E001EC00 3C0C800A */ lui $t4, %hi(gMasterGfxPos)
/* 332544 E001EC04 258CA66C */ addiu $t4, $t4, %lo(gMasterGfxPos)
/* 332548 E001EC08 3C0B0600 */ lui $t3, 0x600
/* 33254C E001EC0C 240A0001 */ addiu $t2, $zero, 1
/* 332550 E001EC10 3C0D0604 */ lui $t5, 0x604
/* 332554 E001EC14 35AD0602 */ ori $t5, $t5, 0x602
/* 332558 E001EC18 24070006 */ addiu $a3, $zero, 6
/* 33255C E001EC1C 24050004 */ addiu $a1, $zero, 4
/* 332560 E001EC20 0140302D */ daddu $a2, $t2, $zero
/* 332564 E001EC24 24090002 */ addiu $t1, $zero, 2
.LE001EC28:
/* 332568 E001EC28 8D840000 */ lw $a0, ($t4)
/* 33256C E001EC2C 24820008 */ addiu $v0, $a0, 8
/* 332570 E001EC30 AD820000 */ sw $v0, ($t4)
/* 332574 E001EC34 00081040 */ sll $v0, $t0, 1
/* 332578 E001EC38 14400004 */ bnez $v0, .LE001EC4C
/* 33257C E001EC3C 00000000 */ nop
/* 332580 E001EC40 00081440 */ sll $v0, $t0, 0x11
/* 332584 E001EC44 08007B1D */ j .LE001EC74
/* 332588 E001EC48 34420204 */ ori $v0, $v0, 0x204
.LE001EC4C:
/* 33258C E001EC4C 144A0003 */ bne $v0, $t2, .LE001EC5C
/* 332590 E001EC50 30A200FF */ andi $v0, $a1, 0xff
/* 332594 E001EC54 08007B1F */ j .LE001EC7C
/* 332598 E001EC58 AC8D0000 */ sw $t5, ($a0)
.LE001EC5C:
/* 33259C E001EC5C 00021400 */ sll $v0, $v0, 0x10
/* 3325A0 E001EC60 00081A80 */ sll $v1, $t0, 0xa
/* 3325A4 E001EC64 3063FC00 */ andi $v1, $v1, 0xfc00
/* 3325A8 E001EC68 00431025 */ or $v0, $v0, $v1
/* 3325AC E001EC6C 312300FF */ andi $v1, $t1, 0xff
/* 3325B0 E001EC70 00431025 */ or $v0, $v0, $v1
.LE001EC74:
/* 3325B4 E001EC74 004B1025 */ or $v0, $v0, $t3
/* 3325B8 E001EC78 AC820000 */ sw $v0, ($a0)
.LE001EC7C:
/* 3325BC E001EC7C 14C00004 */ bnez $a2, .LE001EC90
/* 3325C0 E001EC80 30E200FF */ andi $v0, $a3, 0xff
/* 3325C4 E001EC84 00021200 */ sll $v0, $v0, 8
/* 3325C8 E001EC88 08007B32 */ j .LE001ECC8
/* 3325CC E001EC8C 30A300FF */ andi $v1, $a1, 0xff
.LE001EC90:
/* 3325D0 E001EC90 14CA0008 */ bne $a2, $t2, .LE001ECB4
/* 3325D4 E001EC94 30A200FF */ andi $v0, $a1, 0xff
/* 3325D8 E001EC98 30E300FF */ andi $v1, $a3, 0xff
/* 3325DC E001EC9C 00031C00 */ sll $v1, $v1, 0x10
/* 3325E0 E001ECA0 00021200 */ sll $v0, $v0, 8
/* 3325E4 E001ECA4 00621825 */ or $v1, $v1, $v0
/* 3325E8 E001ECA8 34630002 */ ori $v1, $v1, 2
/* 3325EC E001ECAC 08007B34 */ j .LE001ECD0
/* 3325F0 E001ECB0 AC830004 */ sw $v1, 4($a0)
.LE001ECB4:
/* 3325F4 E001ECB4 00021400 */ sll $v0, $v0, 0x10
/* 3325F8 E001ECB8 00061A40 */ sll $v1, $a2, 9
/* 3325FC E001ECBC 3063FE00 */ andi $v1, $v1, 0xfe00
/* 332600 E001ECC0 00431025 */ or $v0, $v0, $v1
/* 332604 E001ECC4 30E300FF */ andi $v1, $a3, 0xff
.LE001ECC8:
/* 332608 E001ECC8 00431025 */ or $v0, $v0, $v1
/* 33260C E001ECCC AC820004 */ sw $v0, 4($a0)
.LE001ECD0:
/* 332610 E001ECD0 24E70004 */ addiu $a3, $a3, 4
/* 332614 E001ECD4 24A50004 */ addiu $a1, $a1, 4
/* 332618 E001ECD8 24C60002 */ addiu $a2, $a2, 2
/* 33261C E001ECDC 25080001 */ addiu $t0, $t0, 1
/* 332620 E001ECE0 29020004 */ slti $v0, $t0, 4
/* 332624 E001ECE4 1440FFD0 */ bnez $v0, .LE001EC28
/* 332628 E001ECE8 25290004 */ addiu $t1, $t1, 4
/* 33262C E001ECEC 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 332630 E001ECF0 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 332634 E001ECF4 8C620000 */ lw $v0, ($v1)
/* 332638 E001ECF8 0040202D */ daddu $a0, $v0, $zero
/* 33263C E001ECFC 24420008 */ addiu $v0, $v0, 8
/* 332640 E001ED00 AC620000 */ sw $v0, ($v1)
/* 332644 E001ED04 3C02E700 */ lui $v0, 0xe700
/* 332648 E001ED08 AC820000 */ sw $v0, ($a0)
/* 33264C E001ED0C AC800004 */ sw $zero, 4($a0)
.LE001ED10:
/* 332650 E001ED10 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 332654 E001ED14 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 332658 E001ED18 8FB700BC */ lw $s7, 0xbc($sp)
/* 33265C E001ED1C 8FB600B8 */ lw $s6, 0xb8($sp)
/* 332660 E001ED20 8FB500B4 */ lw $s5, 0xb4($sp)
/* 332664 E001ED24 8FB400B0 */ lw $s4, 0xb0($sp)
/* 332668 E001ED28 8FB300AC */ lw $s3, 0xac($sp)
/* 33266C E001ED2C 8FB200A8 */ lw $s2, 0xa8($sp)
/* 332670 E001ED30 8FB100A4 */ lw $s1, 0xa4($sp)
/* 332674 E001ED34 8FB000A0 */ lw $s0, 0xa0($sp)
/* 332678 E001ED38 D7B800D8 */ ldc1 $f24, 0xd8($sp)
/* 33267C E001ED3C D7B600D0 */ ldc1 $f22, 0xd0($sp)
/* 332680 E001ED40 D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 332684 E001ED44 03E00008 */ jr $ra
/* 332688 E001ED48 27BD00E0 */ addiu $sp, $sp, 0xe0
/* 33268C E001ED4C 00000000 */ nop

View File

@ -1,303 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel star_spirits_energy_appendGfx
/* 40CCAC E012270C 27BDFF70 */ addiu $sp, $sp, -0x90
/* 40CCB0 E0122710 0080402D */ daddu $t0, $a0, $zero
/* 40CCB4 E0122714 3C09DB06 */ lui $t1, 0xdb06
/* 40CCB8 E0122718 35290024 */ ori $t1, $t1, 0x24
/* 40CCBC E012271C 27A40020 */ addiu $a0, $sp, 0x20
/* 40CCC0 E0122720 AFB00060 */ sw $s0, 0x60($sp)
/* 40CCC4 E0122724 3C100001 */ lui $s0, 1
/* 40CCC8 E0122728 36101630 */ ori $s0, $s0, 0x1630
/* 40CCCC E012272C AFB40070 */ sw $s4, 0x70($sp)
/* 40CCD0 E0122730 0000A02D */ daddu $s4, $zero, $zero
/* 40CCD4 E0122734 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 40CCD8 E0122738 2442A674 */ addiu $v0, $v0, %lo(gDisplayContext)
/* 40CCDC E012273C AFBE0080 */ sw $fp, 0x80($sp)
/* 40CCE0 E0122740 0040F02D */ daddu $fp, $v0, $zero
/* 40CCE4 E0122744 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 40CCE8 E0122748 244241F0 */ addiu $v0, $v0, %lo(gMatrixListPos)
/* 40CCEC E012274C AFB50074 */ sw $s5, 0x74($sp)
/* 40CCF0 E0122750 0040A82D */ daddu $s5, $v0, $zero
/* 40CCF4 E0122754 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 40CCF8 E0122758 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 40CCFC E012275C AFB3006C */ sw $s3, 0x6c($sp)
/* 40CD00 E0122760 0040982D */ daddu $s3, $v0, $zero
/* 40CD04 E0122764 AFBF0084 */ sw $ra, 0x84($sp)
/* 40CD08 E0122768 AFB7007C */ sw $s7, 0x7c($sp)
/* 40CD0C E012276C AFB60078 */ sw $s6, 0x78($sp)
/* 40CD10 E0122770 AFB20068 */ sw $s2, 0x68($sp)
/* 40CD14 E0122774 AFB10064 */ sw $s1, 0x64($sp)
/* 40CD18 E0122778 F7B40088 */ sdc1 $f20, 0x88($sp)
/* 40CD1C E012277C 8C460000 */ lw $a2, ($v0)
/* 40CD20 E0122780 3C02E700 */ lui $v0, 0xe700
/* 40CD24 E0122784 44800000 */ mtc1 $zero, $f0
/* 40CD28 E0122788 8D11000C */ lw $s1, 0xc($t0)
/* 40CD2C E012278C 00C0182D */ daddu $v1, $a2, $zero
/* 40CD30 E0122790 8E370004 */ lw $s7, 4($s1)
/* 40CD34 E0122794 24C60008 */ addiu $a2, $a2, 8
/* 40CD38 E0122798 AC620000 */ sw $v0, ($v1)
/* 40CD3C E012279C AC600004 */ sw $zero, 4($v1)
/* 40CD40 E01227A0 ACC90000 */ sw $t1, ($a2)
/* 40CD44 E01227A4 8D020010 */ lw $v0, 0x10($t0)
/* 40CD48 E01227A8 3C088000 */ lui $t0, 0x8000
/* 40CD4C E01227AC 44050000 */ mfc1 $a1, $f0
/* 40CD50 E01227B0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 40CD54 E01227B4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 40CD58 E01227B8 8C42001C */ lw $v0, 0x1c($v0)
/* 40CD5C E01227BC 4485A000 */ mtc1 $a1, $f20
/* 40CD60 E01227C0 00481021 */ addu $v0, $v0, $t0
/* 40CD64 E01227C4 ACC20004 */ sw $v0, 4($a2)
/* 40CD68 E01227C8 00031080 */ sll $v0, $v1, 2
/* 40CD6C E01227CC 00431021 */ addu $v0, $v0, $v1
/* 40CD70 E01227D0 00021080 */ sll $v0, $v0, 2
/* 40CD74 E01227D4 00431023 */ subu $v0, $v0, $v1
/* 40CD78 E01227D8 000218C0 */ sll $v1, $v0, 3
/* 40CD7C E01227DC 00431021 */ addu $v0, $v0, $v1
/* 40CD80 E01227E0 000210C0 */ sll $v0, $v0, 3
/* 40CD84 E01227E4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 40CD88 E01227E8 00220821 */ addu $at, $at, $v0
/* 40CD8C E01227EC C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 40CD90 E01227F0 C620003C */ lwc1 $f0, 0x3c($s1)
/* 40CD94 E01227F4 3C160001 */ lui $s6, 1
/* 40CD98 E01227F8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 40CD9C E01227FC C6200008 */ lwc1 $f0, 8($s1)
/* 40CDA0 E0122800 36D61630 */ ori $s6, $s6, 0x1630
/* 40CDA4 E0122804 AE660000 */ sw $a2, ($s3)
/* 40CDA8 E0122808 24C60008 */ addiu $a2, $a2, 8
/* 40CDAC E012280C E7A00014 */ swc1 $f0, 0x14($sp)
/* 40CDB0 E0122810 C620000C */ lwc1 $f0, 0xc($s1)
/* 40CDB4 E0122814 46001087 */ neg.s $f2, $f2
/* 40CDB8 E0122818 AE660000 */ sw $a2, ($s3)
/* 40CDBC E012281C 44061000 */ mfc1 $a2, $f2
/* 40CDC0 E0122820 0220902D */ daddu $s2, $s1, $zero
/* 40CDC4 E0122824 E7A00018 */ swc1 $f0, 0x18($sp)
/* 40CDC8 E0122828 C6200010 */ lwc1 $f0, 0x10($s1)
/* 40CDCC E012282C 00A0382D */ daddu $a3, $a1, $zero
/* 40CDD0 E0122830 0C080180 */ jal shim_guPositionF
/* 40CDD4 E0122834 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 40CDD8 E0122838 27A40020 */ addiu $a0, $sp, 0x20
/* 40CDDC E012283C 96A50000 */ lhu $a1, ($s5)
/* 40CDE0 E0122840 8FC20000 */ lw $v0, ($fp)
/* 40CDE4 E0122844 00052980 */ sll $a1, $a1, 6
/* 40CDE8 E0122848 00B02821 */ addu $a1, $a1, $s0
/* 40CDEC E012284C 0C080118 */ jal shim_guMtxF2L
/* 40CDF0 E0122850 00452821 */ addu $a1, $v0, $a1
/* 40CDF4 E0122854 3C03DA38 */ lui $v1, 0xda38
/* 40CDF8 E0122858 34630002 */ ori $v1, $v1, 2
/* 40CDFC E012285C 8E650000 */ lw $a1, ($s3)
/* 40CE00 E0122860 96A20000 */ lhu $v0, ($s5)
/* 40CE04 E0122864 00A0202D */ daddu $a0, $a1, $zero
/* 40CE08 E0122868 24A50008 */ addiu $a1, $a1, 8
/* 40CE0C E012286C AE650000 */ sw $a1, ($s3)
/* 40CE10 E0122870 AC830000 */ sw $v1, ($a0)
/* 40CE14 E0122874 24430001 */ addiu $v1, $v0, 1
/* 40CE18 E0122878 3042FFFF */ andi $v0, $v0, 0xffff
/* 40CE1C E012287C 00021180 */ sll $v0, $v0, 6
/* 40CE20 E0122880 A6A30000 */ sh $v1, ($s5)
/* 40CE24 E0122884 8FC30000 */ lw $v1, ($fp)
/* 40CE28 E0122888 00501021 */ addu $v0, $v0, $s0
/* 40CE2C E012288C 00621821 */ addu $v1, $v1, $v0
/* 40CE30 E0122890 24A20008 */ addiu $v0, $a1, 8
/* 40CE34 E0122894 AC830004 */ sw $v1, 4($a0)
/* 40CE38 E0122898 AE620000 */ sw $v0, ($s3)
/* 40CE3C E012289C 3C02DE00 */ lui $v0, 0xde00
/* 40CE40 E01228A0 ACA20000 */ sw $v0, ($a1)
/* 40CE44 E01228A4 24A20010 */ addiu $v0, $a1, 0x10
/* 40CE48 E01228A8 AE620000 */ sw $v0, ($s3)
/* 40CE4C E01228AC 3C03E012 */ lui $v1, %hi(D_E0122BA4)
/* 40CE50 E01228B0 8C632BA4 */ lw $v1, %lo(D_E0122BA4)($v1)
/* 40CE54 E01228B4 3C02FB00 */ lui $v0, 0xfb00
/* 40CE58 E01228B8 ACA20008 */ sw $v0, 8($a1)
/* 40CE5C E01228BC ACA30004 */ sw $v1, 4($a1)
/* 40CE60 E01228C0 9222002F */ lbu $v0, 0x2f($s1)
/* 40CE64 E01228C4 92230033 */ lbu $v1, 0x33($s1)
/* 40CE68 E01228C8 92240037 */ lbu $a0, 0x37($s1)
/* 40CE6C E01228CC 00021600 */ sll $v0, $v0, 0x18
/* 40CE70 E01228D0 00031C00 */ sll $v1, $v1, 0x10
/* 40CE74 E01228D4 00431025 */ or $v0, $v0, $v1
/* 40CE78 E01228D8 00042200 */ sll $a0, $a0, 8
/* 40CE7C E01228DC 9223003B */ lbu $v1, 0x3b($s1)
/* 40CE80 E01228E0 00441025 */ or $v0, $v0, $a0
/* 40CE84 E01228E4 00431025 */ or $v0, $v0, $v1
/* 40CE88 E01228E8 ACA2000C */ sw $v0, 0xc($a1)
.LE01228EC:
/* 40CE8C E01228EC 24020001 */ addiu $v0, $zero, 1
/* 40CE90 E01228F0 16E20003 */ bne $s7, $v0, .LE0122900
/* 40CE94 E01228F4 24020002 */ addiu $v0, $zero, 2
/* 40CE98 E01228F8 52820047 */ beql $s4, $v0, .LE0122A18
/* 40CE9C E01228FC 26940001 */ addiu $s4, $s4, 1
.LE0122900:
/* 40CEA0 E0122900 C6400040 */ lwc1 $f0, 0x40($s2)
/* 40CEA4 E0122904 46140032 */ c.eq.s $f0, $f20
/* 40CEA8 E0122908 00000000 */ nop
/* 40CEAC E012290C 45010041 */ bc1t .LE0122A14
/* 40CEB0 E0122910 00148080 */ sll $s0, $s4, 2
/* 40CEB4 E0122914 8E420050 */ lw $v0, 0x50($s2)
/* 40CEB8 E0122918 5040003F */ beql $v0, $zero, .LE0122A18
/* 40CEBC E012291C 26940001 */ addiu $s4, $s4, 1
/* 40CEC0 E0122920 4405A000 */ mfc1 $a1, $f20
/* 40CEC4 E0122924 4406A000 */ mfc1 $a2, $f20
/* 40CEC8 E0122928 4407A000 */ mfc1 $a3, $f20
/* 40CECC E012292C 27A40020 */ addiu $a0, $sp, 0x20
/* 40CED0 E0122930 E7A00010 */ swc1 $f0, 0x10($sp)
/* 40CED4 E0122934 E7B40014 */ swc1 $f20, 0x14($sp)
/* 40CED8 E0122938 E7B40018 */ swc1 $f20, 0x18($sp)
/* 40CEDC E012293C 0C080180 */ jal shim_guPositionF
/* 40CEE0 E0122940 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 40CEE4 E0122944 27A40020 */ addiu $a0, $sp, 0x20
/* 40CEE8 E0122948 96A50000 */ lhu $a1, ($s5)
/* 40CEEC E012294C 8FC20000 */ lw $v0, ($fp)
/* 40CEF0 E0122950 00052980 */ sll $a1, $a1, 6
/* 40CEF4 E0122954 00B62821 */ addu $a1, $a1, $s6
/* 40CEF8 E0122958 0C080118 */ jal shim_guMtxF2L
/* 40CEFC E012295C 00452821 */ addu $a1, $v0, $a1
/* 40CF00 E0122960 3C08D838 */ lui $t0, 0xd838
/* 40CF04 E0122964 8E640000 */ lw $a0, ($s3)
/* 40CF08 E0122968 35080002 */ ori $t0, $t0, 2
/* 40CF0C E012296C 0080282D */ daddu $a1, $a0, $zero
/* 40CF10 E0122970 24840008 */ addiu $a0, $a0, 8
/* 40CF14 E0122974 AE640000 */ sw $a0, ($s3)
/* 40CF18 E0122978 96A20000 */ lhu $v0, ($s5)
/* 40CF1C E012297C 3C03DA38 */ lui $v1, 0xda38
/* 40CF20 E0122980 ACA30000 */ sw $v1, ($a1)
/* 40CF24 E0122984 24430001 */ addiu $v1, $v0, 1
/* 40CF28 E0122988 3042FFFF */ andi $v0, $v0, 0xffff
/* 40CF2C E012298C 00021180 */ sll $v0, $v0, 6
/* 40CF30 E0122990 A6A30000 */ sh $v1, ($s5)
/* 40CF34 E0122994 8FC30000 */ lw $v1, ($fp)
/* 40CF38 E0122998 00561021 */ addu $v0, $v0, $s6
/* 40CF3C E012299C 00621821 */ addu $v1, $v1, $v0
/* 40CF40 E01229A0 24820008 */ addiu $v0, $a0, 8
/* 40CF44 E01229A4 ACA30004 */ sw $v1, 4($a1)
/* 40CF48 E01229A8 AE620000 */ sw $v0, ($s3)
/* 40CF4C E01229AC 3C02FA00 */ lui $v0, 0xfa00
/* 40CF50 E01229B0 AC820000 */ sw $v0, ($a0)
/* 40CF54 E01229B4 9223001F */ lbu $v1, 0x1f($s1)
/* 40CF58 E01229B8 92250023 */ lbu $a1, 0x23($s1)
/* 40CF5C E01229BC 92260027 */ lbu $a2, 0x27($s1)
/* 40CF60 E01229C0 92470053 */ lbu $a3, 0x53($s2)
/* 40CF64 E01229C4 24820010 */ addiu $v0, $a0, 0x10
/* 40CF68 E01229C8 AE620000 */ sw $v0, ($s3)
/* 40CF6C E01229CC 3C02DE00 */ lui $v0, 0xde00
/* 40CF70 E01229D0 AC820008 */ sw $v0, 8($a0)
/* 40CF74 E01229D4 00031E00 */ sll $v1, $v1, 0x18
/* 40CF78 E01229D8 00052C00 */ sll $a1, $a1, 0x10
/* 40CF7C E01229DC 00651825 */ or $v1, $v1, $a1
/* 40CF80 E01229E0 00063200 */ sll $a2, $a2, 8
/* 40CF84 E01229E4 00661825 */ or $v1, $v1, $a2
/* 40CF88 E01229E8 00671825 */ or $v1, $v1, $a3
/* 40CF8C E01229EC AC830004 */ sw $v1, 4($a0)
/* 40CF90 E01229F0 3C03E012 */ lui $v1, %hi(D_E0122B90)
/* 40CF94 E01229F4 00701821 */ addu $v1, $v1, $s0
/* 40CF98 E01229F8 8C632B90 */ lw $v1, %lo(D_E0122B90)($v1)
/* 40CF9C E01229FC 24820018 */ addiu $v0, $a0, 0x18
/* 40CFA0 E0122A00 AE620000 */ sw $v0, ($s3)
/* 40CFA4 E0122A04 24020040 */ addiu $v0, $zero, 0x40
/* 40CFA8 E0122A08 AC880010 */ sw $t0, 0x10($a0)
/* 40CFAC E0122A0C AC820014 */ sw $v0, 0x14($a0)
/* 40CFB0 E0122A10 AC83000C */ sw $v1, 0xc($a0)
.LE0122A14:
/* 40CFB4 E0122A14 26940001 */ addiu $s4, $s4, 1
.LE0122A18:
/* 40CFB8 E0122A18 2A820004 */ slti $v0, $s4, 4
/* 40CFBC E0122A1C 1440FFB3 */ bnez $v0, .LE01228EC
/* 40CFC0 E0122A20 26520004 */ addiu $s2, $s2, 4
/* 40CFC4 E0122A24 3C05D838 */ lui $a1, 0xd838
/* 40CFC8 E0122A28 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 40CFCC E0122A2C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 40CFD0 E0122A30 8C620000 */ lw $v0, ($v1)
/* 40CFD4 E0122A34 34A50002 */ ori $a1, $a1, 2
/* 40CFD8 E0122A38 0040202D */ daddu $a0, $v0, $zero
/* 40CFDC E0122A3C 24420008 */ addiu $v0, $v0, 8
/* 40CFE0 E0122A40 AC620000 */ sw $v0, ($v1)
/* 40CFE4 E0122A44 24020040 */ addiu $v0, $zero, 0x40
/* 40CFE8 E0122A48 AC820004 */ sw $v0, 4($a0)
/* 40CFEC E0122A4C 26E2FFFE */ addiu $v0, $s7, -2
/* 40CFF0 E0122A50 2C420002 */ sltiu $v0, $v0, 2
/* 40CFF4 E0122A54 10400037 */ beqz $v0, .LE0122B34
/* 40CFF8 E0122A58 AC850000 */ sw $a1, ($a0)
/* 40CFFC E0122A5C 8E230070 */ lw $v1, 0x70($s1)
/* 40D000 E0122A60 24020001 */ addiu $v0, $zero, 1
/* 40D004 E0122A64 10620004 */ beq $v1, $v0, .LE0122A78
/* 40D008 E0122A68 0000382D */ daddu $a3, $zero, $zero
/* 40D00C E0122A6C 24020064 */ addiu $v0, $zero, 0x64
/* 40D010 E0122A70 1462000E */ bne $v1, $v0, .LE0122AAC
/* 40D014 E0122A74 24020005 */ addiu $v0, $zero, 5
.LE0122A78:
/* 40D018 E0122A78 8E230074 */ lw $v1, 0x74($s1)
/* 40D01C E0122A7C 28620003 */ slti $v0, $v1, 3
/* 40D020 E0122A80 14400008 */ bnez $v0, .LE0122AA4
/* 40D024 E0122A84 2862000B */ slti $v0, $v1, 0xb
/* 40D028 E0122A88 10400006 */ beqz $v0, .LE0122AA4
/* 40D02C E0122A8C 2462FFFE */ addiu $v0, $v1, -2
/* 40D030 E0122A90 00021900 */ sll $v1, $v0, 4
/* 40D034 E0122A94 00621823 */ subu $v1, $v1, $v0
/* 40D038 E0122A98 00031840 */ sll $v1, $v1, 1
/* 40D03C E0122A9C 240200FF */ addiu $v0, $zero, 0xff
/* 40D040 E0122AA0 00433823 */ subu $a3, $v0, $v1
.LE0122AA4:
/* 40D044 E0122AA4 8E230070 */ lw $v1, 0x70($s1)
/* 40D048 E0122AA8 24020005 */ addiu $v0, $zero, 5
.LE0122AAC:
/* 40D04C E0122AAC 1462000A */ bne $v1, $v0, .LE0122AD8
/* 40D050 E0122AB0 00000000 */ nop
/* 40D054 E0122AB4 8E230074 */ lw $v1, 0x74($s1)
/* 40D058 E0122AB8 18600007 */ blez $v1, .LE0122AD8
/* 40D05C E0122ABC 28620009 */ slti $v0, $v1, 9
/* 40D060 E0122AC0 10400005 */ beqz $v0, .LE0122AD8
/* 40D064 E0122AC4 00031100 */ sll $v0, $v1, 4
/* 40D068 E0122AC8 00431023 */ subu $v0, $v0, $v1
/* 40D06C E0122ACC 00021040 */ sll $v0, $v0, 1
/* 40D070 E0122AD0 240300FF */ addiu $v1, $zero, 0xff
/* 40D074 E0122AD4 00623823 */ subu $a3, $v1, $v0
.LE0122AD8:
/* 40D078 E0122AD8 18E00014 */ blez $a3, .LE0122B2C
/* 40D07C E0122ADC 3C06D0D0 */ lui $a2, 0xd0d0
/* 40D080 E0122AE0 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 40D084 E0122AE4 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 40D088 E0122AE8 34C6D000 */ ori $a2, $a2, 0xd000
/* 40D08C E0122AEC 8CA30000 */ lw $v1, ($a1)
/* 40D090 E0122AF0 3C02FA00 */ lui $v0, 0xfa00
/* 40D094 E0122AF4 0060202D */ daddu $a0, $v1, $zero
/* 40D098 E0122AF8 24630008 */ addiu $v1, $v1, 8
/* 40D09C E0122AFC ACA30000 */ sw $v1, ($a1)
/* 40D0A0 E0122B00 AC820000 */ sw $v0, ($a0)
/* 40D0A4 E0122B04 30E200FF */ andi $v0, $a3, 0xff
/* 40D0A8 E0122B08 00461025 */ or $v0, $v0, $a2
/* 40D0AC E0122B0C AC820004 */ sw $v0, 4($a0)
/* 40D0B0 E0122B10 3C02DE00 */ lui $v0, 0xde00
/* 40D0B4 E0122B14 AC620000 */ sw $v0, ($v1)
/* 40D0B8 E0122B18 3C04E012 */ lui $a0, %hi(D_E0122BA0)
/* 40D0BC E0122B1C 8C842BA0 */ lw $a0, %lo(D_E0122BA0)($a0)
/* 40D0C0 E0122B20 24620008 */ addiu $v0, $v1, 8
/* 40D0C4 E0122B24 ACA20000 */ sw $v0, ($a1)
/* 40D0C8 E0122B28 AC640004 */ sw $a0, 4($v1)
.LE0122B2C:
/* 40D0CC E0122B2C 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 40D0D0 E0122B30 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
.LE0122B34:
/* 40D0D4 E0122B34 8C620000 */ lw $v0, ($v1)
/* 40D0D8 E0122B38 0040202D */ daddu $a0, $v0, $zero
/* 40D0DC E0122B3C 24420008 */ addiu $v0, $v0, 8
/* 40D0E0 E0122B40 AC620000 */ sw $v0, ($v1)
/* 40D0E4 E0122B44 3C02E700 */ lui $v0, 0xe700
/* 40D0E8 E0122B48 AC820000 */ sw $v0, ($a0)
/* 40D0EC E0122B4C AC800004 */ sw $zero, 4($a0)
/* 40D0F0 E0122B50 8FBF0084 */ lw $ra, 0x84($sp)
/* 40D0F4 E0122B54 8FBE0080 */ lw $fp, 0x80($sp)
/* 40D0F8 E0122B58 8FB7007C */ lw $s7, 0x7c($sp)
/* 40D0FC E0122B5C 8FB60078 */ lw $s6, 0x78($sp)
/* 40D100 E0122B60 8FB50074 */ lw $s5, 0x74($sp)
/* 40D104 E0122B64 8FB40070 */ lw $s4, 0x70($sp)
/* 40D108 E0122B68 8FB3006C */ lw $s3, 0x6c($sp)
/* 40D10C E0122B6C 8FB20068 */ lw $s2, 0x68($sp)
/* 40D110 E0122B70 8FB10064 */ lw $s1, 0x64($sp)
/* 40D114 E0122B74 8FB00060 */ lw $s0, 0x60($sp)
/* 40D118 E0122B78 D7B40088 */ ldc1 $f20, 0x88($sp)
/* 40D11C E0122B7C 03E00008 */ jr $ra
/* 40D120 E0122B80 27BD0090 */ addiu $sp, $sp, 0x90
/* 40D124 E0122B84 00000000 */ nop
/* 40D128 E0122B88 00000000 */ nop
/* 40D12C E0122B8C 00000000 */ nop

View File

@ -1,103 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel star_spirits_energy_main
/* 40C5A0 E0122000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 40C5A4 E0122004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 40C5A8 E0122008 4485A000 */ mtc1 $a1, $f20
/* 40C5AC E012200C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 40C5B0 E0122010 4486B000 */ mtc1 $a2, $f22
/* 40C5B4 E0122014 AFB00028 */ sw $s0, 0x28($sp)
/* 40C5B8 E0122018 0080802D */ daddu $s0, $a0, $zero
/* 40C5BC E012201C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 40C5C0 E0122020 4487C000 */ mtc1 $a3, $f24
/* 40C5C4 E0122024 27A40010 */ addiu $a0, $sp, 0x10
/* 40C5C8 E0122028 AFB20030 */ sw $s2, 0x30($sp)
/* 40C5CC E012202C 8FB20064 */ lw $s2, 0x64($sp)
/* 40C5D0 E0122030 3C02E012 */ lui $v0, %hi(star_spirits_energy_init)
/* 40C5D4 E0122034 24422174 */ addiu $v0, $v0, %lo(star_spirits_energy_init)
/* 40C5D8 E0122038 AFA20018 */ sw $v0, 0x18($sp)
/* 40C5DC E012203C 3C02E012 */ lui $v0, %hi(star_spirits_energy_update)
/* 40C5E0 E0122040 2442217C */ addiu $v0, $v0, %lo(star_spirits_energy_update)
/* 40C5E4 E0122044 AFA2001C */ sw $v0, 0x1c($sp)
/* 40C5E8 E0122048 3C02E012 */ lui $v0, %hi(star_spirits_energy_render)
/* 40C5EC E012204C 244226C4 */ addiu $v0, $v0, %lo(star_spirits_energy_render)
/* 40C5F0 E0122050 AFA20020 */ sw $v0, 0x20($sp)
/* 40C5F4 E0122054 24020083 */ addiu $v0, $zero, 0x83
/* 40C5F8 E0122058 AFBF0034 */ sw $ra, 0x34($sp)
/* 40C5FC E012205C AFB1002C */ sw $s1, 0x2c($sp)
/* 40C600 E0122060 AFA00010 */ sw $zero, 0x10($sp)
/* 40C604 E0122064 AFA00024 */ sw $zero, 0x24($sp)
/* 40C608 E0122068 0C080124 */ jal shim_create_effect_instance
/* 40C60C E012206C AFA20014 */ sw $v0, 0x14($sp)
/* 40C610 E0122070 24040078 */ addiu $a0, $zero, 0x78
/* 40C614 E0122074 24030001 */ addiu $v1, $zero, 1
/* 40C618 E0122078 0040882D */ daddu $s1, $v0, $zero
/* 40C61C E012207C 0C08012C */ jal shim_general_heap_malloc
/* 40C620 E0122080 AE230008 */ sw $v1, 8($s1)
/* 40C624 E0122084 0040182D */ daddu $v1, $v0, $zero
/* 40C628 E0122088 14600003 */ bnez $v1, .LE0122098
/* 40C62C E012208C AE22000C */ sw $v0, 0xc($s1)
.LE0122090:
/* 40C630 E0122090 08048824 */ j .LE0122090
/* 40C634 E0122094 00000000 */ nop
.LE0122098:
/* 40C638 E0122098 3202FF00 */ andi $v0, $s0, 0xff00
/* 40C63C E012209C 321000FF */ andi $s0, $s0, 0xff
/* 40C640 E01220A0 AC620000 */ sw $v0, ($v1)
/* 40C644 E01220A4 AC700004 */ sw $s0, 4($v1)
/* 40C648 E01220A8 1E400004 */ bgtz $s2, .LE01220BC
/* 40C64C E01220AC AC600018 */ sw $zero, 0x18($v1)
/* 40C650 E01220B0 240203E8 */ addiu $v0, $zero, 0x3e8
/* 40C654 E01220B4 08048830 */ j .LE01220C0
/* 40C658 E01220B8 AC620014 */ sw $v0, 0x14($v1)
.LE01220BC:
/* 40C65C E01220BC AC720014 */ sw $s2, 0x14($v1)
.LE01220C0:
/* 40C660 E01220C0 3C013F80 */ lui $at, 0x3f80
/* 40C664 E01220C4 44811000 */ mtc1 $at, $f2
/* 40C668 E01220C8 240200FF */ addiu $v0, $zero, 0xff
/* 40C66C E01220CC AC620028 */ sw $v0, 0x28($v1)
/* 40C670 E01220D0 E4740008 */ swc1 $f20, 8($v1)
/* 40C674 E01220D4 E476000C */ swc1 $f22, 0xc($v1)
/* 40C678 E01220D8 E4780010 */ swc1 $f24, 0x10($v1)
/* 40C67C E01220DC C7A00060 */ lwc1 $f0, 0x60($sp)
/* 40C680 E01220E0 AC62001C */ sw $v0, 0x1c($v1)
/* 40C684 E01220E4 AC620020 */ sw $v0, 0x20($v1)
/* 40C688 E01220E8 AC620024 */ sw $v0, 0x24($v1)
/* 40C68C E01220EC AC62002C */ sw $v0, 0x2c($v1)
/* 40C690 E01220F0 AC620030 */ sw $v0, 0x30($v1)
/* 40C694 E01220F4 AC620034 */ sw $v0, 0x34($v1)
/* 40C698 E01220F8 AC620038 */ sw $v0, 0x38($v1)
/* 40C69C E01220FC AC620050 */ sw $v0, 0x50($v1)
/* 40C6A0 E0122100 24020003 */ addiu $v0, $zero, 3
/* 40C6A4 E0122104 AC600060 */ sw $zero, 0x60($v1)
/* 40C6A8 E0122108 AC600064 */ sw $zero, 0x64($v1)
/* 40C6AC E012210C AC600068 */ sw $zero, 0x68($v1)
/* 40C6B0 E0122110 AC60006C */ sw $zero, 0x6c($v1)
/* 40C6B4 E0122114 AC600044 */ sw $zero, 0x44($v1)
/* 40C6B8 E0122118 AC600048 */ sw $zero, 0x48($v1)
/* 40C6BC E012211C AC60004C */ sw $zero, 0x4c($v1)
/* 40C6C0 E0122120 AC600054 */ sw $zero, 0x54($v1)
/* 40C6C4 E0122124 AC600058 */ sw $zero, 0x58($v1)
/* 40C6C8 E0122128 AC60005C */ sw $zero, 0x5c($v1)
/* 40C6CC E012212C E460003C */ swc1 $f0, 0x3c($v1)
/* 40C6D0 E0122130 16020004 */ bne $s0, $v0, .LE0122144
/* 40C6D4 E0122134 E4620040 */ swc1 $f2, 0x40($v1)
/* 40C6D8 E0122138 24020001 */ addiu $v0, $zero, 1
/* 40C6DC E012213C 08048852 */ j .LE0122148
/* 40C6E0 E0122140 AC620070 */ sw $v0, 0x70($v1)
.LE0122144:
/* 40C6E4 E0122144 AC600070 */ sw $zero, 0x70($v1)
.LE0122148:
/* 40C6E8 E0122148 0220102D */ daddu $v0, $s1, $zero
/* 40C6EC E012214C AC600074 */ sw $zero, 0x74($v1)
/* 40C6F0 E0122150 8FBF0034 */ lw $ra, 0x34($sp)
/* 40C6F4 E0122154 8FB20030 */ lw $s2, 0x30($sp)
/* 40C6F8 E0122158 8FB1002C */ lw $s1, 0x2c($sp)
/* 40C6FC E012215C 8FB00028 */ lw $s0, 0x28($sp)
/* 40C700 E0122160 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 40C704 E0122164 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 40C708 E0122168 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 40C70C E012216C 03E00008 */ jr $ra
/* 40C710 E0122170 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E005E318
/* 3628D8 E005E318 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3628DC E005E31C AFBF0010 */ sw $ra, 0x10($sp)
/* 3628E0 E005E320 0C0178CD */ jal func_E005E334
/* 3628E4 E005E324 00000000 */ nop
/* 3628E8 E005E328 8FBF0010 */ lw $ra, 0x10($sp)
/* 3628EC E005E32C 03E00008 */ jr $ra
/* 3628F0 E005E330 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,214 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E005E334
/* 3628F4 E005E334 27BDFEF0 */ addiu $sp, $sp, -0x110
/* 3628F8 E005E338 AFBF0104 */ sw $ra, 0x104($sp)
/* 3628FC E005E33C AFBE0100 */ sw $fp, 0x100($sp)
/* 362900 E005E340 AFB700FC */ sw $s7, 0xfc($sp)
/* 362904 E005E344 AFB600F8 */ sw $s6, 0xf8($sp)
/* 362908 E005E348 AFB500F4 */ sw $s5, 0xf4($sp)
/* 36290C E005E34C AFB400F0 */ sw $s4, 0xf0($sp)
/* 362910 E005E350 AFB300EC */ sw $s3, 0xec($sp)
/* 362914 E005E354 AFB200E8 */ sw $s2, 0xe8($sp)
/* 362918 E005E358 AFB100E4 */ sw $s1, 0xe4($sp)
/* 36291C E005E35C AFB000E0 */ sw $s0, 0xe0($sp)
/* 362920 E005E360 F7B40108 */ sdc1 $f20, 0x108($sp)
/* 362924 E005E364 AFA40110 */ sw $a0, 0x110($sp)
/* 362928 E005E368 8C92000C */ lw $s2, 0xc($a0)
/* 36292C E005E36C 8E420028 */ lw $v0, 0x28($s2)
/* 362930 E005E370 104000B2 */ beqz $v0, .LE005E63C
/* 362934 E005E374 3C07DB06 */ lui $a3, 0xdb06
/* 362938 E005E378 34E70024 */ ori $a3, $a3, 0x24
/* 36293C E005E37C 27A40018 */ addiu $a0, $sp, 0x18
/* 362940 E005E380 3C110001 */ lui $s1, 1
/* 362944 E005E384 3C16800A */ lui $s6, %hi(gMasterGfxPos)
/* 362948 E005E388 26D6A66C */ addiu $s6, $s6, %lo(gMasterGfxPos)
/* 36294C E005E38C 8EC30000 */ lw $v1, ($s6)
/* 362950 E005E390 36311630 */ ori $s1, $s1, 0x1630
/* 362954 E005E394 0060282D */ daddu $a1, $v1, $zero
/* 362958 E005E398 24630008 */ addiu $v1, $v1, 8
/* 36295C E005E39C AEC30000 */ sw $v1, ($s6)
/* 362960 E005E3A0 3C08E006 */ lui $t0, %hi(D_E005E670)
/* 362964 E005E3A4 8D08E670 */ lw $t0, %lo(D_E005E670)($t0)
/* 362968 E005E3A8 3C06E006 */ lui $a2, %hi(D_E005E674)
/* 36296C E005E3AC 8CC6E674 */ lw $a2, %lo(D_E005E674)($a2)
/* 362970 E005E3B0 3C02E700 */ lui $v0, 0xe700
/* 362974 E005E3B4 AFA800D8 */ sw $t0, 0xd8($sp)
/* 362978 E005E3B8 ACA20000 */ sw $v0, ($a1)
/* 36297C E005E3BC 24620008 */ addiu $v0, $v1, 8
/* 362980 E005E3C0 ACA00004 */ sw $zero, 4($a1)
/* 362984 E005E3C4 AEC20000 */ sw $v0, ($s6)
/* 362988 E005E3C8 AC670000 */ sw $a3, ($v1)
/* 36298C E005E3CC 8FA80110 */ lw $t0, 0x110($sp)
/* 362990 E005E3D0 8D050010 */ lw $a1, 0x10($t0)
/* 362994 E005E3D4 24620010 */ addiu $v0, $v1, 0x10
/* 362998 E005E3D8 AEC20000 */ sw $v0, ($s6)
/* 36299C E005E3DC 8CA5001C */ lw $a1, 0x1c($a1)
/* 3629A0 E005E3E0 3C02DE00 */ lui $v0, 0xde00
/* 3629A4 E005E3E4 AC620008 */ sw $v0, 8($v1)
/* 3629A8 E005E3E8 3C028000 */ lui $v0, 0x8000
/* 3629AC E005E3EC AC66000C */ sw $a2, 0xc($v1)
/* 3629B0 E005E3F0 00A22821 */ addu $a1, $a1, $v0
/* 3629B4 E005E3F4 AC650004 */ sw $a1, 4($v1)
/* 3629B8 E005E3F8 8E450004 */ lw $a1, 4($s2)
/* 3629BC E005E3FC 8E460008 */ lw $a2, 8($s2)
/* 3629C0 E005E400 8E47000C */ lw $a3, 0xc($s2)
/* 3629C4 E005E404 4480A000 */ mtc1 $zero, $f20
/* 3629C8 E005E408 0C080108 */ jal shim_guTranslateF
/* 3629CC E005E40C 24140001 */ addiu $s4, $zero, 1
/* 3629D0 E005E410 27B30058 */ addiu $s3, $sp, 0x58
/* 3629D4 E005E414 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3629D8 E005E418 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3629DC E005E41C 4406A000 */ mfc1 $a2, $f20
/* 3629E0 E005E420 00031080 */ sll $v0, $v1, 2
/* 3629E4 E005E424 00431021 */ addu $v0, $v0, $v1
/* 3629E8 E005E428 00021080 */ sll $v0, $v0, 2
/* 3629EC E005E42C 00431023 */ subu $v0, $v0, $v1
/* 3629F0 E005E430 000218C0 */ sll $v1, $v0, 3
/* 3629F4 E005E434 00431021 */ addu $v0, $v0, $v1
/* 3629F8 E005E438 000210C0 */ sll $v0, $v0, 3
/* 3629FC E005E43C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 362A00 E005E440 00220821 */ addu $at, $at, $v0
/* 362A04 E005E444 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 362A08 E005E448 3C073F80 */ lui $a3, 0x3f80
/* 362A0C E005E44C 46000007 */ neg.s $f0, $f0
/* 362A10 E005E450 44050000 */ mfc1 $a1, $f0
/* 362A14 E005E454 0260202D */ daddu $a0, $s3, $zero
/* 362A18 E005E458 0C080104 */ jal shim_guRotateF
/* 362A1C E005E45C E7B40010 */ swc1 $f20, 0x10($sp)
/* 362A20 E005E460 0260202D */ daddu $a0, $s3, $zero
/* 362A24 E005E464 27A50018 */ addiu $a1, $sp, 0x18
/* 362A28 E005E468 27B00098 */ addiu $s0, $sp, 0x98
/* 362A2C E005E46C 0C080114 */ jal shim_guMtxCatF
/* 362A30 E005E470 0200302D */ daddu $a2, $s0, $zero
/* 362A34 E005E474 0200202D */ daddu $a0, $s0, $zero
/* 362A38 E005E478 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 362A3C E005E47C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 362A40 E005E480 3C17800A */ lui $s7, %hi(gDisplayContext)
/* 362A44 E005E484 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext)
/* 362A48 E005E488 96050000 */ lhu $a1, ($s0)
/* 362A4C E005E48C 8EE20000 */ lw $v0, ($s7)
/* 362A50 E005E490 00052980 */ sll $a1, $a1, 6
/* 362A54 E005E494 00B12821 */ addu $a1, $a1, $s1
/* 362A58 E005E498 0C080118 */ jal shim_guMtxF2L
/* 362A5C E005E49C 00452821 */ addu $a1, $v0, $a1
/* 362A60 E005E4A0 3C06DCDC */ lui $a2, 0xdcdc
/* 362A64 E005E4A4 8EC40000 */ lw $a0, ($s6)
/* 362A68 E005E4A8 34C628FF */ ori $a2, $a2, 0x28ff
/* 362A6C E005E4AC 0080282D */ daddu $a1, $a0, $zero
/* 362A70 E005E4B0 24840008 */ addiu $a0, $a0, 8
/* 362A74 E005E4B4 AEC40000 */ sw $a0, ($s6)
/* 362A78 E005E4B8 96020000 */ lhu $v0, ($s0)
/* 362A7C E005E4BC 3C03DA38 */ lui $v1, 0xda38
/* 362A80 E005E4C0 ACA30000 */ sw $v1, ($a1)
/* 362A84 E005E4C4 00541821 */ addu $v1, $v0, $s4
/* 362A88 E005E4C8 3042FFFF */ andi $v0, $v0, 0xffff
/* 362A8C E005E4CC 00021180 */ sll $v0, $v0, 6
/* 362A90 E005E4D0 A6030000 */ sh $v1, ($s0)
/* 362A94 E005E4D4 8EE30000 */ lw $v1, ($s7)
/* 362A98 E005E4D8 00511021 */ addu $v0, $v0, $s1
/* 362A9C E005E4DC 00621821 */ addu $v1, $v1, $v0
/* 362AA0 E005E4E0 3C02FA00 */ lui $v0, 0xfa00
/* 362AA4 E005E4E4 ACA30004 */ sw $v1, 4($a1)
/* 362AA8 E005E4E8 AC820000 */ sw $v0, ($a0)
/* 362AAC E005E4EC AC860004 */ sw $a2, 4($a0)
/* 362AB0 E005E4F0 8FA80110 */ lw $t0, 0x110($sp)
/* 362AB4 E005E4F4 2652002C */ addiu $s2, $s2, 0x2c
/* 362AB8 E005E4F8 8D020008 */ lw $v0, 8($t0)
/* 362ABC E005E4FC 24840008 */ addiu $a0, $a0, 8
/* 362AC0 E005E500 0282102A */ slt $v0, $s4, $v0
/* 362AC4 E005E504 10400042 */ beqz $v0, .LE005E610
/* 362AC8 E005E508 AEC40000 */ sw $a0, ($s6)
/* 362ACC E005E50C 0260A82D */ daddu $s5, $s3, $zero
/* 362AD0 E005E510 02E0F02D */ daddu $fp, $s7, $zero
/* 362AD4 E005E514 0200B82D */ daddu $s7, $s0, $zero
/* 362AD8 E005E518 3C130001 */ lui $s3, 1
/* 362ADC E005E51C 36731630 */ ori $s3, $s3, 0x1630
/* 362AE0 E005E520 02C0882D */ daddu $s1, $s6, $zero
/* 362AE4 E005E524 26500018 */ addiu $s0, $s2, 0x18
.LE005E528:
/* 362AE8 E005E528 8E05FFEC */ lw $a1, -0x14($s0)
/* 362AEC E005E52C 8E06FFF0 */ lw $a2, -0x10($s0)
/* 362AF0 E005E530 8E07FFF4 */ lw $a3, -0xc($s0)
/* 362AF4 E005E534 0C080108 */ jal shim_guTranslateF
/* 362AF8 E005E538 27A40018 */ addiu $a0, $sp, 0x18
/* 362AFC E005E53C 4406A000 */ mfc1 $a2, $f20
/* 362B00 E005E540 4407A000 */ mfc1 $a3, $f20
/* 362B04 E005E544 3C013F80 */ lui $at, 0x3f80
/* 362B08 E005E548 44810000 */ mtc1 $at, $f0
/* 362B0C E005E54C 26940001 */ addiu $s4, $s4, 1
/* 362B10 E005E550 E7A00010 */ swc1 $f0, 0x10($sp)
/* 362B14 E005E554 8E050000 */ lw $a1, ($s0)
/* 362B18 E005E558 0C080104 */ jal shim_guRotateF
/* 362B1C E005E55C 02A0202D */ daddu $a0, $s5, $zero
/* 362B20 E005E560 02A0202D */ daddu $a0, $s5, $zero
/* 362B24 E005E564 27A50018 */ addiu $a1, $sp, 0x18
/* 362B28 E005E568 0C080114 */ jal shim_guMtxCatF
/* 362B2C E005E56C 00A0302D */ daddu $a2, $a1, $zero
/* 362B30 E005E570 27A40018 */ addiu $a0, $sp, 0x18
/* 362B34 E005E574 96E50000 */ lhu $a1, ($s7)
/* 362B38 E005E578 8FC20000 */ lw $v0, ($fp)
/* 362B3C E005E57C 00052980 */ sll $a1, $a1, 6
/* 362B40 E005E580 00B32821 */ addu $a1, $a1, $s3
/* 362B44 E005E584 0C080118 */ jal shim_guMtxF2L
/* 362B48 E005E588 00452821 */ addu $a1, $v0, $a1
/* 362B4C E005E58C 3C06D838 */ lui $a2, 0xd838
/* 362B50 E005E590 8E240000 */ lw $a0, ($s1)
/* 362B54 E005E594 34C60002 */ ori $a2, $a2, 2
/* 362B58 E005E598 0080282D */ daddu $a1, $a0, $zero
/* 362B5C E005E59C 24840008 */ addiu $a0, $a0, 8
/* 362B60 E005E5A0 AE240000 */ sw $a0, ($s1)
/* 362B64 E005E5A4 96E20000 */ lhu $v0, ($s7)
/* 362B68 E005E5A8 3C03DA38 */ lui $v1, 0xda38
/* 362B6C E005E5AC ACA30000 */ sw $v1, ($a1)
/* 362B70 E005E5B0 24430001 */ addiu $v1, $v0, 1
/* 362B74 E005E5B4 3042FFFF */ andi $v0, $v0, 0xffff
/* 362B78 E005E5B8 00021180 */ sll $v0, $v0, 6
/* 362B7C E005E5BC A6E30000 */ sh $v1, ($s7)
/* 362B80 E005E5C0 8FC30000 */ lw $v1, ($fp)
/* 362B84 E005E5C4 00531021 */ addu $v0, $v0, $s3
/* 362B88 E005E5C8 00621821 */ addu $v1, $v1, $v0
/* 362B8C E005E5CC 24820008 */ addiu $v0, $a0, 8
/* 362B90 E005E5D0 ACA30004 */ sw $v1, 4($a1)
/* 362B94 E005E5D4 AE220000 */ sw $v0, ($s1)
/* 362B98 E005E5D8 3C02DE00 */ lui $v0, 0xde00
/* 362B9C E005E5DC AC820000 */ sw $v0, ($a0)
/* 362BA0 E005E5E0 8FA800D8 */ lw $t0, 0xd8($sp)
/* 362BA4 E005E5E4 24020040 */ addiu $v0, $zero, 0x40
/* 362BA8 E005E5E8 AC860008 */ sw $a2, 8($a0)
/* 362BAC E005E5EC AC82000C */ sw $v0, 0xc($a0)
/* 362BB0 E005E5F0 AC880004 */ sw $t0, 4($a0)
/* 362BB4 E005E5F4 8FA80110 */ lw $t0, 0x110($sp)
/* 362BB8 E005E5F8 2610002C */ addiu $s0, $s0, 0x2c
/* 362BBC E005E5FC 8D020008 */ lw $v0, 8($t0)
/* 362BC0 E005E600 24840010 */ addiu $a0, $a0, 0x10
/* 362BC4 E005E604 0282102A */ slt $v0, $s4, $v0
/* 362BC8 E005E608 1440FFC7 */ bnez $v0, .LE005E528
/* 362BCC E005E60C AE240000 */ sw $a0, ($s1)
.LE005E610:
/* 362BD0 E005E610 3C05D838 */ lui $a1, 0xd838
/* 362BD4 E005E614 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 362BD8 E005E618 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 362BDC E005E61C 8C620000 */ lw $v0, ($v1)
/* 362BE0 E005E620 34A50002 */ ori $a1, $a1, 2
/* 362BE4 E005E624 0040202D */ daddu $a0, $v0, $zero
/* 362BE8 E005E628 24420008 */ addiu $v0, $v0, 8
/* 362BEC E005E62C AC620000 */ sw $v0, ($v1)
/* 362BF0 E005E630 24020040 */ addiu $v0, $zero, 0x40
/* 362BF4 E005E634 AC850000 */ sw $a1, ($a0)
/* 362BF8 E005E638 AC820004 */ sw $v0, 4($a0)
.LE005E63C:
/* 362BFC E005E63C 8FBF0104 */ lw $ra, 0x104($sp)
/* 362C00 E005E640 8FBE0100 */ lw $fp, 0x100($sp)
/* 362C04 E005E644 8FB700FC */ lw $s7, 0xfc($sp)
/* 362C08 E005E648 8FB600F8 */ lw $s6, 0xf8($sp)
/* 362C0C E005E64C 8FB500F4 */ lw $s5, 0xf4($sp)
/* 362C10 E005E650 8FB400F0 */ lw $s4, 0xf0($sp)
/* 362C14 E005E654 8FB300EC */ lw $s3, 0xec($sp)
/* 362C18 E005E658 8FB200E8 */ lw $s2, 0xe8($sp)
/* 362C1C E005E65C 8FB100E4 */ lw $s1, 0xe4($sp)
/* 362C20 E005E660 8FB000E0 */ lw $s0, 0xe0($sp)
/* 362C24 E005E664 D7B40108 */ ldc1 $f20, 0x108($sp)
/* 362C28 E005E668 03E00008 */ jr $ra
/* 362C2C E005E66C 27BD0110 */ addiu $sp, $sp, 0x110

View File

@ -1,118 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel stars_orbiting_main
/* 3625C0 E005E000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3625C4 E005E004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3625C8 E005E008 4485A000 */ mtc1 $a1, $f20
/* 3625CC E005E00C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3625D0 E005E010 4486B000 */ mtc1 $a2, $f22
/* 3625D4 E005E014 AFB30034 */ sw $s3, 0x34($sp)
/* 3625D8 E005E018 0080982D */ daddu $s3, $a0, $zero
/* 3625DC E005E01C F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3625E0 E005E020 4487C000 */ mtc1 $a3, $f24
/* 3625E4 E005E024 27A40010 */ addiu $a0, $sp, 0x10
/* 3625E8 E005E028 AFB1002C */ sw $s1, 0x2c($sp)
/* 3625EC E005E02C 8FB1006C */ lw $s1, 0x6c($sp)
/* 3625F0 E005E030 3C02E006 */ lui $v0, %hi(stars_orbiting_init)
/* 3625F4 E005E034 2442E1B0 */ addiu $v0, $v0, %lo(stars_orbiting_init)
/* 3625F8 E005E038 AFA20018 */ sw $v0, 0x18($sp)
/* 3625FC E005E03C 3C02E006 */ lui $v0, %hi(stars_orbiting_update)
/* 362600 E005E040 2442E1B8 */ addiu $v0, $v0, %lo(stars_orbiting_update)
/* 362604 E005E044 AFA2001C */ sw $v0, 0x1c($sp)
/* 362608 E005E048 3C02E006 */ lui $v0, %hi(stars_orbiting_render)
/* 36260C E005E04C 2442E310 */ addiu $v0, $v0, %lo(stars_orbiting_render)
/* 362610 E005E050 AFA20020 */ sw $v0, 0x20($sp)
/* 362614 E005E054 3C02E006 */ lui $v0, %hi(func_E005E318)
/* 362618 E005E058 2442E318 */ addiu $v0, $v0, %lo(func_E005E318)
/* 36261C E005E05C AFA20024 */ sw $v0, 0x24($sp)
/* 362620 E005E060 2402002F */ addiu $v0, $zero, 0x2f
/* 362624 E005E064 AFBF0038 */ sw $ra, 0x38($sp)
/* 362628 E005E068 AFB20030 */ sw $s2, 0x30($sp)
/* 36262C E005E06C AFB00028 */ sw $s0, 0x28($sp)
/* 362630 E005E070 AFA00010 */ sw $zero, 0x10($sp)
/* 362634 E005E074 AFA20014 */ sw $v0, 0x14($sp)
/* 362638 E005E078 0C080124 */ jal shim_create_effect_instance
/* 36263C E005E07C 26310001 */ addiu $s1, $s1, 1
/* 362640 E005E080 00112040 */ sll $a0, $s1, 1
/* 362644 E005E084 00912021 */ addu $a0, $a0, $s1
/* 362648 E005E088 00042080 */ sll $a0, $a0, 2
/* 36264C E005E08C 00912023 */ subu $a0, $a0, $s1
/* 362650 E005E090 00042080 */ sll $a0, $a0, 2
/* 362654 E005E094 0040902D */ daddu $s2, $v0, $zero
/* 362658 E005E098 0C08012C */ jal shim_general_heap_malloc
/* 36265C E005E09C AE510008 */ sw $s1, 8($s2)
/* 362660 E005E0A0 0040802D */ daddu $s0, $v0, $zero
/* 362664 E005E0A4 16000003 */ bnez $s0, .LE005E0B4
/* 362668 E005E0A8 AE50000C */ sw $s0, 0xc($s2)
.LE005E0AC:
/* 36266C E005E0AC 0801782B */ j .LE005E0AC
/* 362670 E005E0B0 00000000 */ nop
.LE005E0B4:
/* 362674 E005E0B4 0200202D */ daddu $a0, $s0, $zero
/* 362678 E005E0B8 00112840 */ sll $a1, $s1, 1
/* 36267C E005E0BC 00B12821 */ addu $a1, $a1, $s1
/* 362680 E005E0C0 00052880 */ sll $a1, $a1, 2
/* 362684 E005E0C4 00B12823 */ subu $a1, $a1, $s1
/* 362688 E005E0C8 0C080130 */ jal shim_mem_clear
/* 36268C E005E0CC 00052880 */ sll $a1, $a1, 2
/* 362690 E005E0D0 24020001 */ addiu $v0, $zero, 1
/* 362694 E005E0D4 AE130000 */ sw $s3, ($s0)
/* 362698 E005E0D8 E6140004 */ swc1 $f20, 4($s0)
/* 36269C E005E0DC E6160008 */ swc1 $f22, 8($s0)
/* 3626A0 E005E0E0 E618000C */ swc1 $f24, 0xc($s0)
/* 3626A4 E005E0E4 AE000010 */ sw $zero, 0x10($s0)
/* 3626A8 E005E0E8 AE000024 */ sw $zero, 0x24($s0)
/* 3626AC E005E0EC C7A00068 */ lwc1 $f0, 0x68($sp)
/* 3626B0 E005E0F0 0040302D */ daddu $a2, $v0, $zero
/* 3626B4 E005E0F4 AE020028 */ sw $v0, 0x28($s0)
/* 3626B8 E005E0F8 00D1102A */ slt $v0, $a2, $s1
/* 3626BC E005E0FC E6000014 */ swc1 $f0, 0x14($s0)
/* 3626C0 E005E100 1040001F */ beqz $v0, .LE005E180
/* 3626C4 E005E104 2610002C */ addiu $s0, $s0, 0x2c
/* 3626C8 E005E108 2627FFFF */ addiu $a3, $s1, -1
/* 3626CC E005E10C 3C0141A0 */ lui $at, 0x41a0
/* 3626D0 E005E110 44811000 */ mtc1 $at, $f2
/* 3626D4 E005E114 26040024 */ addiu $a0, $s0, 0x24
/* 3626D8 E005E118 0000282D */ daddu $a1, $zero, $zero
.LE005E11C:
/* 3626DC E005E11C 14E00002 */ bnez $a3, .LE005E128
/* 3626E0 E005E120 00A7001A */ div $zero, $a1, $a3
/* 3626E4 E005E124 0007000D */ break 7
.LE005E128:
/* 3626E8 E005E128 2401FFFF */ addiu $at, $zero, -1
/* 3626EC E005E12C 14E10004 */ bne $a3, $at, .LE005E140
/* 3626F0 E005E130 3C018000 */ lui $at, 0x8000
/* 3626F4 E005E134 14A10002 */ bne $a1, $at, .LE005E140
/* 3626F8 E005E138 00000000 */ nop
/* 3626FC E005E13C 0006000D */ break 6
.LE005E140:
/* 362700 E005E140 00001812 */ mflo $v1
/* 362704 E005E144 24A50168 */ addiu $a1, $a1, 0x168
/* 362708 E005E148 24C60001 */ addiu $a2, $a2, 1
/* 36270C E005E14C 00D1102A */ slt $v0, $a2, $s1
/* 362710 E005E150 AC80FFE0 */ sw $zero, -0x20($a0)
/* 362714 E005E154 AC80FFE4 */ sw $zero, -0x1c($a0)
/* 362718 E005E158 AC80FFE8 */ sw $zero, -0x18($a0)
/* 36271C E005E15C E482FFF8 */ swc1 $f2, -8($a0)
/* 362720 E005E160 AC80FFFC */ sw $zero, -4($a0)
/* 362724 E005E164 44830000 */ mtc1 $v1, $f0
/* 362728 E005E168 00000000 */ nop
/* 36272C E005E16C 46800020 */ cvt.s.w $f0, $f0
/* 362730 E005E170 E480FFF4 */ swc1 $f0, -0xc($a0)
/* 362734 E005E174 AC830000 */ sw $v1, ($a0)
/* 362738 E005E178 1440FFE8 */ bnez $v0, .LE005E11C
/* 36273C E005E17C 2484002C */ addiu $a0, $a0, 0x2c
.LE005E180:
/* 362740 E005E180 8FA20070 */ lw $v0, 0x70($sp)
/* 362744 E005E184 AC520000 */ sw $s2, ($v0)
/* 362748 E005E188 8FBF0038 */ lw $ra, 0x38($sp)
/* 36274C E005E18C 8FB30034 */ lw $s3, 0x34($sp)
/* 362750 E005E190 8FB20030 */ lw $s2, 0x30($sp)
/* 362754 E005E194 8FB1002C */ lw $s1, 0x2c($sp)
/* 362758 E005E198 8FB00028 */ lw $s0, 0x28($sp)
/* 36275C E005E19C D7B80050 */ ldc1 $f24, 0x50($sp)
/* 362760 E005E1A0 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 362764 E005E1A4 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 362768 E005E1A8 03E00008 */ jr $ra
/* 36276C E005E1AC 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,100 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E005E680
.double 0.1, 0.0
.section .text
glabel stars_orbiting_update
/* 362778 E005E1B8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 36277C E005E1BC AFB20018 */ sw $s2, 0x18($sp)
/* 362780 E005E1C0 0080902D */ daddu $s2, $a0, $zero
/* 362784 E005E1C4 AFBF001C */ sw $ra, 0x1c($sp)
/* 362788 E005E1C8 AFB10014 */ sw $s1, 0x14($sp)
/* 36278C E005E1CC AFB00010 */ sw $s0, 0x10($sp)
/* 362790 E005E1D0 F7B60028 */ sdc1 $f22, 0x28($sp)
/* 362794 E005E1D4 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 362798 E005E1D8 8E43000C */ lw $v1, 0xc($s2)
/* 36279C E005E1DC 8C620028 */ lw $v0, 0x28($v1)
/* 3627A0 E005E1E0 10400043 */ beqz $v0, .LE005E2F0
/* 3627A4 E005E1E4 24110001 */ addiu $s1, $zero, 1
/* 3627A8 E005E1E8 C4620010 */ lwc1 $f2, 0x10($v1)
/* 3627AC E005E1EC C4600014 */ lwc1 $f0, 0x14($v1)
/* 3627B0 E005E1F0 46020001 */ sub.s $f0, $f0, $f2
/* 3627B4 E005E1F4 3C01E006 */ lui $at, %hi(D_E005E680)
/* 3627B8 E005E1F8 D424E680 */ ldc1 $f4, %lo(D_E005E680)($at)
/* 3627BC E005E1FC 46000021 */ cvt.d.s $f0, $f0
/* 3627C0 E005E200 46240002 */ mul.d $f0, $f0, $f4
/* 3627C4 E005E204 00000000 */ nop
/* 3627C8 E005E208 8C620024 */ lw $v0, 0x24($v1)
/* 3627CC E005E20C 460010A1 */ cvt.d.s $f2, $f2
/* 3627D0 E005E210 46201080 */ add.d $f2, $f2, $f0
/* 3627D4 E005E214 00511021 */ addu $v0, $v0, $s1
/* 3627D8 E005E218 AC620024 */ sw $v0, 0x24($v1)
/* 3627DC E005E21C 462010A0 */ cvt.s.d $f2, $f2
/* 3627E0 E005E220 E4620010 */ swc1 $f2, 0x10($v1)
/* 3627E4 E005E224 2463002C */ addiu $v1, $v1, 0x2c
/* 3627E8 E005E228 8E420008 */ lw $v0, 8($s2)
/* 3627EC E005E22C 0222102A */ slt $v0, $s1, $v0
/* 3627F0 E005E230 1040002F */ beqz $v0, .LE005E2F0
/* 3627F4 E005E234 46001586 */ mov.s $f22, $f2
/* 3627F8 E005E238 24700024 */ addiu $s0, $v1, 0x24
.LE005E23C:
/* 3627FC E005E23C C60C0000 */ lwc1 $f12, ($s0)
/* 362800 E005E240 0C080140 */ jal shim_sin_deg
/* 362804 E005E244 46806320 */ cvt.s.w $f12, $f12
/* 362808 E005E248 4600B002 */ mul.s $f0, $f22, $f0
/* 36280C E005E24C 00000000 */ nop
/* 362810 E005E250 C60C0000 */ lwc1 $f12, ($s0)
/* 362814 E005E254 46806320 */ cvt.s.w $f12, $f12
/* 362818 E005E258 0C080144 */ jal shim_cos_deg
/* 36281C E005E25C E600FFE0 */ swc1 $f0, -0x20($s0)
/* 362820 E005E260 C60CFFFC */ lwc1 $f12, -4($s0)
/* 362824 E005E264 0C080144 */ jal shim_cos_deg
/* 362828 E005E268 46000506 */ mov.s $f20, $f0
/* 36282C E005E26C 4614B502 */ mul.s $f20, $f22, $f20
/* 362830 E005E270 00000000 */ nop
/* 362834 E005E274 4600A502 */ mul.s $f20, $f20, $f0
/* 362838 E005E278 00000000 */ nop
/* 36283C E005E27C C60C0000 */ lwc1 $f12, ($s0)
/* 362840 E005E280 46806320 */ cvt.s.w $f12, $f12
/* 362844 E005E284 0C080144 */ jal shim_cos_deg
/* 362848 E005E288 E614FFE8 */ swc1 $f20, -0x18($s0)
/* 36284C E005E28C C60CFFFC */ lwc1 $f12, -4($s0)
/* 362850 E005E290 0C080140 */ jal shim_sin_deg
/* 362854 E005E294 46000506 */ mov.s $f20, $f0
/* 362858 E005E298 4614B502 */ mul.s $f20, $f22, $f20
/* 36285C E005E29C 00000000 */ nop
/* 362860 E005E2A0 C602FFF8 */ lwc1 $f2, -8($s0)
/* 362864 E005E2A4 8E030000 */ lw $v1, ($s0)
/* 362868 E005E2A8 4600A502 */ mul.s $f20, $f20, $f0
/* 36286C E005E2AC 00000000 */ nop
/* 362870 E005E2B0 AE00FFFC */ sw $zero, -4($s0)
/* 362874 E005E2B4 C600FFF4 */ lwc1 $f0, -0xc($s0)
/* 362878 E005E2B8 24620010 */ addiu $v0, $v1, 0x10
/* 36287C E005E2BC 46020000 */ add.s $f0, $f0, $f2
/* 362880 E005E2C0 AE020000 */ sw $v0, ($s0)
/* 362884 E005E2C4 28420169 */ slti $v0, $v0, 0x169
/* 362888 E005E2C8 E600FFF4 */ swc1 $f0, -0xc($s0)
/* 36288C E005E2CC 14400003 */ bnez $v0, .LE005E2DC
/* 362890 E005E2D0 E614FFE4 */ swc1 $f20, -0x1c($s0)
/* 362894 E005E2D4 2462FEA8 */ addiu $v0, $v1, -0x158
/* 362898 E005E2D8 AE020000 */ sw $v0, ($s0)
.LE005E2DC:
/* 36289C E005E2DC 26310001 */ addiu $s1, $s1, 1
/* 3628A0 E005E2E0 8E420008 */ lw $v0, 8($s2)
/* 3628A4 E005E2E4 0222102A */ slt $v0, $s1, $v0
/* 3628A8 E005E2E8 1440FFD4 */ bnez $v0, .LE005E23C
/* 3628AC E005E2EC 2610002C */ addiu $s0, $s0, 0x2c
.LE005E2F0:
/* 3628B0 E005E2F0 8FBF001C */ lw $ra, 0x1c($sp)
/* 3628B4 E005E2F4 8FB20018 */ lw $s2, 0x18($sp)
/* 3628B8 E005E2F8 8FB10014 */ lw $s1, 0x14($sp)
/* 3628BC E005E2FC 8FB00010 */ lw $s0, 0x10($sp)
/* 3628C0 E005E300 D7B60028 */ ldc1 $f22, 0x28($sp)
/* 3628C4 E005E304 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 3628C8 E005E308 03E00008 */ jr $ra
/* 3628CC E005E30C 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,333 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E00AC2A4
/* 3AF0C4 E00AC2A4 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 3AF0C8 E00AC2A8 0080482D */ daddu $t1, $a0, $zero
/* 3AF0CC E00AC2AC AFBF00C4 */ sw $ra, 0xc4($sp)
/* 3AF0D0 E00AC2B0 AFBE00C0 */ sw $fp, 0xc0($sp)
/* 3AF0D4 E00AC2B4 AFB700BC */ sw $s7, 0xbc($sp)
/* 3AF0D8 E00AC2B8 AFB600B8 */ sw $s6, 0xb8($sp)
/* 3AF0DC E00AC2BC AFB500B4 */ sw $s5, 0xb4($sp)
/* 3AF0E0 E00AC2C0 AFB400B0 */ sw $s4, 0xb0($sp)
/* 3AF0E4 E00AC2C4 AFB300AC */ sw $s3, 0xac($sp)
/* 3AF0E8 E00AC2C8 AFB200A8 */ sw $s2, 0xa8($sp)
/* 3AF0EC E00AC2CC AFB100A4 */ sw $s1, 0xa4($sp)
/* 3AF0F0 E00AC2D0 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3AF0F4 E00AC2D4 F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 3AF0F8 E00AC2D8 8D34000C */ lw $s4, 0xc($t1)
/* 3AF0FC E00AC2DC 44801000 */ mtc1 $zero, $f2
/* 3AF100 E00AC2E0 C6800028 */ lwc1 $f0, 0x28($s4)
/* 3AF104 E00AC2E4 8E9E001C */ lw $fp, 0x1c($s4)
/* 3AF108 E00AC2E8 8E970020 */ lw $s7, 0x20($s4)
/* 3AF10C E00AC2EC 46020032 */ c.eq.s $f0, $f2
/* 3AF110 E00AC2F0 00000000 */ nop
/* 3AF114 E00AC2F4 4501011F */ bc1t .LE00AC774
/* 3AF118 E00AC2F8 00000000 */ nop
/* 3AF11C E00AC2FC C680002C */ lwc1 $f0, 0x2c($s4)
/* 3AF120 E00AC300 46020032 */ c.eq.s $f0, $f2
/* 3AF124 E00AC304 00000000 */ nop
/* 3AF128 E00AC308 4501011A */ bc1t .LE00AC774
/* 3AF12C E00AC30C 3C08DB06 */ lui $t0, 0xdb06
/* 3AF130 E00AC310 35080024 */ ori $t0, $t0, 0x24
/* 3AF134 E00AC314 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 3AF138 E00AC318 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 3AF13C E00AC31C 3C02E700 */ lui $v0, 0xe700
/* 3AF140 E00AC320 8E660000 */ lw $a2, ($s3)
/* 3AF144 E00AC324 44051000 */ mfc1 $a1, $f2
/* 3AF148 E00AC328 00C0182D */ daddu $v1, $a2, $zero
/* 3AF14C E00AC32C 24C60008 */ addiu $a2, $a2, 8
/* 3AF150 E00AC330 AC620000 */ sw $v0, ($v1)
/* 3AF154 E00AC334 AC600004 */ sw $zero, 4($v1)
/* 3AF158 E00AC338 ACC80000 */ sw $t0, ($a2)
/* 3AF15C E00AC33C 8D220010 */ lw $v0, 0x10($t1)
/* 3AF160 E00AC340 3C088000 */ lui $t0, 0x8000
/* 3AF164 E00AC344 8C42001C */ lw $v0, 0x1c($v0)
/* 3AF168 E00AC348 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3AF16C E00AC34C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3AF170 E00AC350 00481021 */ addu $v0, $v0, $t0
/* 3AF174 E00AC354 ACC20004 */ sw $v0, 4($a2)
/* 3AF178 E00AC358 00031080 */ sll $v0, $v1, 2
/* 3AF17C E00AC35C 00431021 */ addu $v0, $v0, $v1
/* 3AF180 E00AC360 00021080 */ sll $v0, $v0, 2
/* 3AF184 E00AC364 00431023 */ subu $v0, $v0, $v1
/* 3AF188 E00AC368 000218C0 */ sll $v1, $v0, 3
/* 3AF18C E00AC36C 00431021 */ addu $v0, $v0, $v1
/* 3AF190 E00AC370 000210C0 */ sll $v0, $v0, 3
/* 3AF194 E00AC374 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3AF198 E00AC378 00220821 */ addu $at, $at, $v0
/* 3AF19C E00AC37C C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 3AF1A0 E00AC380 C6800010 */ lwc1 $f0, 0x10($s4)
/* 3AF1A4 E00AC384 27A40020 */ addiu $a0, $sp, 0x20
/* 3AF1A8 E00AC388 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3AF1AC E00AC38C C6800004 */ lwc1 $f0, 4($s4)
/* 3AF1B0 E00AC390 3C120001 */ lui $s2, 1
/* 3AF1B4 E00AC394 AE660000 */ sw $a2, ($s3)
/* 3AF1B8 E00AC398 24C60008 */ addiu $a2, $a2, 8
/* 3AF1BC E00AC39C E7A00014 */ swc1 $f0, 0x14($sp)
/* 3AF1C0 E00AC3A0 C6800008 */ lwc1 $f0, 8($s4)
/* 3AF1C4 E00AC3A4 46001087 */ neg.s $f2, $f2
/* 3AF1C8 E00AC3A8 AE660000 */ sw $a2, ($s3)
/* 3AF1CC E00AC3AC 44061000 */ mfc1 $a2, $f2
/* 3AF1D0 E00AC3B0 36521630 */ ori $s2, $s2, 0x1630
/* 3AF1D4 E00AC3B4 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3AF1D8 E00AC3B8 C680000C */ lwc1 $f0, 0xc($s4)
/* 3AF1DC E00AC3BC 00A0382D */ daddu $a3, $a1, $zero
/* 3AF1E0 E00AC3C0 0C080180 */ jal shim_guPositionF
/* 3AF1E4 E00AC3C4 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3AF1E8 E00AC3C8 27A40020 */ addiu $a0, $sp, 0x20
/* 3AF1EC E00AC3CC 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3AF1F0 E00AC3D0 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3AF1F4 E00AC3D4 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 3AF1F8 E00AC3D8 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 3AF1FC E00AC3DC 96050000 */ lhu $a1, ($s0)
/* 3AF200 E00AC3E0 8E220000 */ lw $v0, ($s1)
/* 3AF204 E00AC3E4 00052980 */ sll $a1, $a1, 6
/* 3AF208 E00AC3E8 00B22821 */ addu $a1, $a1, $s2
/* 3AF20C E00AC3EC 0C080118 */ jal shim_guMtxF2L
/* 3AF210 E00AC3F0 00452821 */ addu $a1, $v0, $a1
/* 3AF214 E00AC3F4 8E670000 */ lw $a3, ($s3)
/* 3AF218 E00AC3F8 00E0202D */ daddu $a0, $a3, $zero
/* 3AF21C E00AC3FC 24E70008 */ addiu $a3, $a3, 8
/* 3AF220 E00AC400 AE670000 */ sw $a3, ($s3)
/* 3AF224 E00AC404 96020000 */ lhu $v0, ($s0)
/* 3AF228 E00AC408 3C03DA38 */ lui $v1, 0xda38
/* 3AF22C E00AC40C AC830000 */ sw $v1, ($a0)
/* 3AF230 E00AC410 24430001 */ addiu $v1, $v0, 1
/* 3AF234 E00AC414 3042FFFF */ andi $v0, $v0, 0xffff
/* 3AF238 E00AC418 00021180 */ sll $v0, $v0, 6
/* 3AF23C E00AC41C A6030000 */ sh $v1, ($s0)
/* 3AF240 E00AC420 8E230000 */ lw $v1, ($s1)
/* 3AF244 E00AC424 00521021 */ addu $v0, $v0, $s2
/* 3AF248 E00AC428 00621821 */ addu $v1, $v1, $v0
/* 3AF24C E00AC42C AC830004 */ sw $v1, 4($a0)
/* 3AF250 E00AC430 8E830024 */ lw $v1, 0x24($s4)
/* 3AF254 E00AC434 240200FF */ addiu $v0, $zero, 0xff
/* 3AF258 E00AC438 54620011 */ bnel $v1, $v0, .LE00AC480
/* 3AF25C E00AC43C 3C05E200 */ lui $a1, 0xe200
/* 3AF260 E00AC440 3C04E200 */ lui $a0, 0xe200
/* 3AF264 E00AC444 3484001C */ ori $a0, $a0, 0x1c
/* 3AF268 E00AC448 3C030055 */ lui $v1, 0x55
/* 3AF26C E00AC44C 34631208 */ ori $v1, $v1, 0x1208
/* 3AF270 E00AC450 3C05FC12 */ lui $a1, 0xfc12
/* 3AF274 E00AC454 34A57E24 */ ori $a1, $a1, 0x7e24
/* 3AF278 E00AC458 24E20008 */ addiu $v0, $a3, 8
/* 3AF27C E00AC45C AE620000 */ sw $v0, ($s3)
/* 3AF280 E00AC460 24E20010 */ addiu $v0, $a3, 0x10
/* 3AF284 E00AC464 ACE40000 */ sw $a0, ($a3)
/* 3AF288 E00AC468 ACE30004 */ sw $v1, 4($a3)
/* 3AF28C E00AC46C AE620000 */ sw $v0, ($s3)
/* 3AF290 E00AC470 2402F3F9 */ addiu $v0, $zero, -0xc07
/* 3AF294 E00AC474 ACE50008 */ sw $a1, 8($a3)
/* 3AF298 E00AC478 0802B12F */ j .LE00AC4BC
/* 3AF29C E00AC47C ACE2000C */ sw $v0, 0xc($a3)
.LE00AC480:
/* 3AF2A0 E00AC480 34A5001C */ ori $a1, $a1, 0x1c
/* 3AF2A4 E00AC484 3C030050 */ lui $v1, 0x50
/* 3AF2A8 E00AC488 34634340 */ ori $v1, $v1, 0x4340
/* 3AF2AC E00AC48C 3C06FC12 */ lui $a2, 0xfc12
/* 3AF2B0 E00AC490 34C63224 */ ori $a2, $a2, 0x3224
/* 3AF2B4 E00AC494 3C04FF67 */ lui $a0, 0xff67
/* 3AF2B8 E00AC498 3484FFFF */ ori $a0, $a0, 0xffff
/* 3AF2BC E00AC49C 24E20008 */ addiu $v0, $a3, 8
/* 3AF2C0 E00AC4A0 AE620000 */ sw $v0, ($s3)
/* 3AF2C4 E00AC4A4 24E20010 */ addiu $v0, $a3, 0x10
/* 3AF2C8 E00AC4A8 ACE50000 */ sw $a1, ($a3)
/* 3AF2CC E00AC4AC ACE30004 */ sw $v1, 4($a3)
/* 3AF2D0 E00AC4B0 AE620000 */ sw $v0, ($s3)
/* 3AF2D4 E00AC4B4 ACE60008 */ sw $a2, 8($a3)
/* 3AF2D8 E00AC4B8 ACE4000C */ sw $a0, 0xc($a3)
.LE00AC4BC:
/* 3AF2DC E00AC4BC 27A40020 */ addiu $a0, $sp, 0x20
/* 3AF2E0 E00AC4C0 3C120001 */ lui $s2, 1
/* 3AF2E4 E00AC4C4 4480A000 */ mtc1 $zero, $f20
/* 3AF2E8 E00AC4C8 8E860040 */ lw $a2, 0x40($s4)
/* 3AF2EC E00AC4CC 4405A000 */ mfc1 $a1, $f20
/* 3AF2F0 E00AC4D0 4407A000 */ mfc1 $a3, $f20
/* 3AF2F4 E00AC4D4 0C080108 */ jal shim_guTranslateF
/* 3AF2F8 E00AC4D8 36521630 */ ori $s2, $s2, 0x1630
/* 3AF2FC E00AC4DC 27B00060 */ addiu $s0, $sp, 0x60
/* 3AF300 E00AC4E0 8E850028 */ lw $a1, 0x28($s4)
/* 3AF304 E00AC4E4 8E86002C */ lw $a2, 0x2c($s4)
/* 3AF308 E00AC4E8 3C073F80 */ lui $a3, 0x3f80
/* 3AF30C E00AC4EC 0C080110 */ jal shim_guScaleF
/* 3AF310 E00AC4F0 0200202D */ daddu $a0, $s0, $zero
/* 3AF314 E00AC4F4 0200202D */ daddu $a0, $s0, $zero
/* 3AF318 E00AC4F8 27A50020 */ addiu $a1, $sp, 0x20
/* 3AF31C E00AC4FC 0C080114 */ jal shim_guMtxCatF
/* 3AF320 E00AC500 00A0302D */ daddu $a2, $a1, $zero
/* 3AF324 E00AC504 27A40020 */ addiu $a0, $sp, 0x20
/* 3AF328 E00AC508 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3AF32C E00AC50C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3AF330 E00AC510 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 3AF334 E00AC514 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 3AF338 E00AC518 96050000 */ lhu $a1, ($s0)
/* 3AF33C E00AC51C 8E220000 */ lw $v0, ($s1)
/* 3AF340 E00AC520 00052980 */ sll $a1, $a1, 6
/* 3AF344 E00AC524 00B22821 */ addu $a1, $a1, $s2
/* 3AF348 E00AC528 0C080118 */ jal shim_guMtxF2L
/* 3AF34C E00AC52C 00452821 */ addu $a1, $v0, $a1
/* 3AF350 E00AC530 3C09D838 */ lui $t1, 0xd838
/* 3AF354 E00AC534 35290002 */ ori $t1, $t1, 2
/* 3AF358 E00AC538 27A40020 */ addiu $a0, $sp, 0x20
/* 3AF35C E00AC53C 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 3AF360 E00AC540 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 3AF364 E00AC544 3C13DA38 */ lui $s3, 0xda38
/* 3AF368 E00AC548 3C16DE00 */ lui $s6, 0xde00
/* 3AF36C E00AC54C 8EA80000 */ lw $t0, ($s5)
/* 3AF370 E00AC550 4405A000 */ mfc1 $a1, $f20
/* 3AF374 E00AC554 0100302D */ daddu $a2, $t0, $zero
/* 3AF378 E00AC558 25080008 */ addiu $t0, $t0, 8
/* 3AF37C E00AC55C AEA80000 */ sw $t0, ($s5)
/* 3AF380 E00AC560 96020000 */ lhu $v0, ($s0)
/* 3AF384 E00AC564 00A0382D */ daddu $a3, $a1, $zero
/* 3AF388 E00AC568 ACD30000 */ sw $s3, ($a2)
/* 3AF38C E00AC56C 24430001 */ addiu $v1, $v0, 1
/* 3AF390 E00AC570 3042FFFF */ andi $v0, $v0, 0xffff
/* 3AF394 E00AC574 00021180 */ sll $v0, $v0, 6
/* 3AF398 E00AC578 A6030000 */ sh $v1, ($s0)
/* 3AF39C E00AC57C 8E230000 */ lw $v1, ($s1)
/* 3AF3A0 E00AC580 00521021 */ addu $v0, $v0, $s2
/* 3AF3A4 E00AC584 00621821 */ addu $v1, $v1, $v0
/* 3AF3A8 E00AC588 25020008 */ addiu $v0, $t0, 8
/* 3AF3AC E00AC58C ACC30004 */ sw $v1, 4($a2)
/* 3AF3B0 E00AC590 AEA20000 */ sw $v0, ($s5)
/* 3AF3B4 E00AC594 25020010 */ addiu $v0, $t0, 0x10
/* 3AF3B8 E00AC598 001E3080 */ sll $a2, $fp, 2
/* 3AF3BC E00AC59C AD160000 */ sw $s6, ($t0)
/* 3AF3C0 E00AC5A0 AEA20000 */ sw $v0, ($s5)
/* 3AF3C4 E00AC5A4 3C03E00B */ lui $v1, %hi(D_E00AC7B0)
/* 3AF3C8 E00AC5A8 00661821 */ addu $v1, $v1, $a2
/* 3AF3CC E00AC5AC 8C63C7B0 */ lw $v1, %lo(D_E00AC7B0)($v1)
/* 3AF3D0 E00AC5B0 3C02FA00 */ lui $v0, 0xfa00
/* 3AF3D4 E00AC5B4 AD020008 */ sw $v0, 8($t0)
/* 3AF3D8 E00AC5B8 AD030004 */ sw $v1, 4($t0)
/* 3AF3DC E00AC5BC 92830027 */ lbu $v1, 0x27($s4)
/* 3AF3E0 E00AC5C0 25020018 */ addiu $v0, $t0, 0x18
/* 3AF3E4 E00AC5C4 AEA20000 */ sw $v0, ($s5)
/* 3AF3E8 E00AC5C8 AD160010 */ sw $s6, 0x10($t0)
/* 3AF3EC E00AC5CC AD03000C */ sw $v1, 0xc($t0)
/* 3AF3F0 E00AC5D0 3C03E00B */ lui $v1, %hi(D_E00AC7BC)
/* 3AF3F4 E00AC5D4 00661821 */ addu $v1, $v1, $a2
/* 3AF3F8 E00AC5D8 8C63C7BC */ lw $v1, %lo(D_E00AC7BC)($v1)
/* 3AF3FC E00AC5DC 25020020 */ addiu $v0, $t0, 0x20
/* 3AF400 E00AC5E0 AEA20000 */ sw $v0, ($s5)
/* 3AF404 E00AC5E4 24020040 */ addiu $v0, $zero, 0x40
/* 3AF408 E00AC5E8 AD02001C */ sw $v0, 0x1c($t0)
/* 3AF40C E00AC5EC 3C020900 */ lui $v0, 0x900
/* 3AF410 E00AC5F0 244228E0 */ addiu $v0, $v0, 0x28e0
/* 3AF414 E00AC5F4 AD090018 */ sw $t1, 0x18($t0)
/* 3AF418 E00AC5F8 AD160020 */ sw $s6, 0x20($t0)
/* 3AF41C E00AC5FC AD020024 */ sw $v0, 0x24($t0)
/* 3AF420 E00AC600 AD030014 */ sw $v1, 0x14($t0)
/* 3AF424 E00AC604 8E86003C */ lw $a2, 0x3c($s4)
/* 3AF428 E00AC608 25080028 */ addiu $t0, $t0, 0x28
/* 3AF42C E00AC60C 0C080108 */ jal shim_guTranslateF
/* 3AF430 E00AC610 AEA80000 */ sw $t0, ($s5)
/* 3AF434 E00AC614 27A40020 */ addiu $a0, $sp, 0x20
/* 3AF438 E00AC618 96050000 */ lhu $a1, ($s0)
/* 3AF43C E00AC61C 8E220000 */ lw $v0, ($s1)
/* 3AF440 E00AC620 00052980 */ sll $a1, $a1, 6
/* 3AF444 E00AC624 00B22821 */ addu $a1, $a1, $s2
/* 3AF448 E00AC628 0C080118 */ jal shim_guMtxF2L
/* 3AF44C E00AC62C 00452821 */ addu $a1, $v0, $a1
/* 3AF450 E00AC630 02E0302D */ daddu $a2, $s7, $zero
/* 3AF454 E00AC634 8EA50000 */ lw $a1, ($s5)
/* 3AF458 E00AC638 96020000 */ lhu $v0, ($s0)
/* 3AF45C E00AC63C 00A0202D */ daddu $a0, $a1, $zero
/* 3AF460 E00AC640 24A50008 */ addiu $a1, $a1, 8
/* 3AF464 E00AC644 24430001 */ addiu $v1, $v0, 1
/* 3AF468 E00AC648 3042FFFF */ andi $v0, $v0, 0xffff
/* 3AF46C E00AC64C 00021180 */ sll $v0, $v0, 6
/* 3AF470 E00AC650 AEA50000 */ sw $a1, ($s5)
/* 3AF474 E00AC654 AC930000 */ sw $s3, ($a0)
/* 3AF478 E00AC658 A6030000 */ sh $v1, ($s0)
/* 3AF47C E00AC65C 8E230000 */ lw $v1, ($s1)
/* 3AF480 E00AC660 00521021 */ addu $v0, $v0, $s2
/* 3AF484 E00AC664 00621821 */ addu $v1, $v1, $v0
/* 3AF488 E00AC668 06E10002 */ bgez $s7, .LE00AC674
/* 3AF48C E00AC66C AC830004 */ sw $v1, 4($a0)
/* 3AF490 E00AC670 00173023 */ negu $a2, $s7
.LE00AC674:
/* 3AF494 E00AC674 3C026666 */ lui $v0, 0x6666
/* 3AF498 E00AC678 34426667 */ ori $v0, $v0, 0x6667
/* 3AF49C E00AC67C 00C20018 */ mult $a2, $v0
/* 3AF4A0 E00AC680 24A20008 */ addiu $v0, $a1, 8
/* 3AF4A4 E00AC684 AEA20000 */ sw $v0, ($s5)
/* 3AF4A8 E00AC688 000617C3 */ sra $v0, $a2, 0x1f
/* 3AF4AC E00AC68C ACB60000 */ sw $s6, ($a1)
/* 3AF4B0 E00AC690 00005010 */ mfhi $t2
/* 3AF4B4 E00AC694 000A1883 */ sra $v1, $t2, 2
/* 3AF4B8 E00AC698 00621823 */ subu $v1, $v1, $v0
/* 3AF4BC E00AC69C 00031080 */ sll $v0, $v1, 2
/* 3AF4C0 E00AC6A0 00431021 */ addu $v0, $v0, $v1
/* 3AF4C4 E00AC6A4 00021040 */ sll $v0, $v0, 1
/* 3AF4C8 E00AC6A8 00C21023 */ subu $v0, $a2, $v0
/* 3AF4CC E00AC6AC 00021080 */ sll $v0, $v0, 2
/* 3AF4D0 E00AC6B0 3C03E00B */ lui $v1, %hi(D_E00AC7C8)
/* 3AF4D4 E00AC6B4 00621821 */ addu $v1, $v1, $v0
/* 3AF4D8 E00AC6B8 8C63C7C8 */ lw $v1, %lo(D_E00AC7C8)($v1)
/* 3AF4DC E00AC6BC 24A20010 */ addiu $v0, $a1, 0x10
/* 3AF4E0 E00AC6C0 AEA20000 */ sw $v0, ($s5)
/* 3AF4E4 E00AC6C4 3C020900 */ lui $v0, 0x900
/* 3AF4E8 E00AC6C8 244228C0 */ addiu $v0, $v0, 0x28c0
/* 3AF4EC E00AC6CC ACA2000C */ sw $v0, 0xc($a1)
/* 3AF4F0 E00AC6D0 3C02E00B */ lui $v0, %hi(D_E00AC7C8)
/* 3AF4F4 E00AC6D4 2442C7C8 */ addiu $v0, $v0, %lo(D_E00AC7C8)
/* 3AF4F8 E00AC6D8 ACB60008 */ sw $s6, 8($a1)
/* 3AF4FC E00AC6DC 06E00005 */ bltz $s7, .LE00AC6F4
/* 3AF500 E00AC6E0 ACA30004 */ sw $v1, 4($a1)
/* 3AF504 E00AC6E4 ACB60010 */ sw $s6, 0x10($a1)
/* 3AF508 E00AC6E8 8C43002C */ lw $v1, 0x2c($v0)
/* 3AF50C E00AC6EC 0802B1C0 */ j .LE00AC700
/* 3AF510 E00AC6F0 24A20018 */ addiu $v0, $a1, 0x18
.LE00AC6F4:
/* 3AF514 E00AC6F4 ACB60010 */ sw $s6, 0x10($a1)
/* 3AF518 E00AC6F8 8C430028 */ lw $v1, 0x28($v0)
/* 3AF51C E00AC6FC 24A20018 */ addiu $v0, $a1, 0x18
.LE00AC700:
/* 3AF520 E00AC700 AEA20000 */ sw $v0, ($s5)
/* 3AF524 E00AC704 ACA30014 */ sw $v1, 0x14($a1)
/* 3AF528 E00AC708 3C06D838 */ lui $a2, 0xd838
/* 3AF52C E00AC70C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3AF530 E00AC710 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3AF534 E00AC714 34C60002 */ ori $a2, $a2, 2
/* 3AF538 E00AC718 8C830000 */ lw $v1, ($a0)
/* 3AF53C E00AC71C 3C02DE00 */ lui $v0, 0xde00
/* 3AF540 E00AC720 0060282D */ daddu $a1, $v1, $zero
/* 3AF544 E00AC724 24630008 */ addiu $v1, $v1, 8
/* 3AF548 E00AC728 AC830000 */ sw $v1, ($a0)
/* 3AF54C E00AC72C ACA20000 */ sw $v0, ($a1)
/* 3AF550 E00AC730 3C020900 */ lui $v0, 0x900
/* 3AF554 E00AC734 244228A0 */ addiu $v0, $v0, 0x28a0
/* 3AF558 E00AC738 ACA20004 */ sw $v0, 4($a1)
/* 3AF55C E00AC73C 24620008 */ addiu $v0, $v1, 8
/* 3AF560 E00AC740 24050040 */ addiu $a1, $zero, 0x40
/* 3AF564 E00AC744 AC820000 */ sw $v0, ($a0)
/* 3AF568 E00AC748 24620010 */ addiu $v0, $v1, 0x10
/* 3AF56C E00AC74C AC660000 */ sw $a2, ($v1)
/* 3AF570 E00AC750 AC650004 */ sw $a1, 4($v1)
/* 3AF574 E00AC754 AC820000 */ sw $v0, ($a0)
/* 3AF578 E00AC758 24620018 */ addiu $v0, $v1, 0x18
/* 3AF57C E00AC75C AC660008 */ sw $a2, 8($v1)
/* 3AF580 E00AC760 AC65000C */ sw $a1, 0xc($v1)
/* 3AF584 E00AC764 AC820000 */ sw $v0, ($a0)
/* 3AF588 E00AC768 3C02E700 */ lui $v0, 0xe700
/* 3AF58C E00AC76C AC620010 */ sw $v0, 0x10($v1)
/* 3AF590 E00AC770 AC600014 */ sw $zero, 0x14($v1)
.LE00AC774:
/* 3AF594 E00AC774 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 3AF598 E00AC778 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 3AF59C E00AC77C 8FB700BC */ lw $s7, 0xbc($sp)
/* 3AF5A0 E00AC780 8FB600B8 */ lw $s6, 0xb8($sp)
/* 3AF5A4 E00AC784 8FB500B4 */ lw $s5, 0xb4($sp)
/* 3AF5A8 E00AC788 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3AF5AC E00AC78C 8FB300AC */ lw $s3, 0xac($sp)
/* 3AF5B0 E00AC790 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3AF5B4 E00AC794 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3AF5B8 E00AC798 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3AF5BC E00AC79C D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 3AF5C0 E00AC7A0 03E00008 */ jr $ra
/* 3AF5C4 E00AC7A4 27BD00D0 */ addiu $sp, $sp, 0xd0
/* 3AF5C8 E00AC7A8 00000000 */ nop
/* 3AF5CC E00AC7AC 00000000 */ nop

View File

@ -1,222 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel static_status_appendGfx
/* 3E0E54 E00E6524 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 3E0E58 E00E6528 AFBE00C8 */ sw $fp, 0xc8($sp)
/* 3E0E5C E00E652C 0080F02D */ daddu $fp, $a0, $zero
/* 3E0E60 E00E6530 3C06DB06 */ lui $a2, 0xdb06
/* 3E0E64 E00E6534 34C60024 */ ori $a2, $a2, 0x24
/* 3E0E68 E00E6538 27A40020 */ addiu $a0, $sp, 0x20
/* 3E0E6C E00E653C AFB200B0 */ sw $s2, 0xb0($sp)
/* 3E0E70 E00E6540 3C120001 */ lui $s2, 1
/* 3E0E74 E00E6544 36521630 */ ori $s2, $s2, 0x1630
/* 3E0E78 E00E6548 AFB600C0 */ sw $s6, 0xc0($sp)
/* 3E0E7C E00E654C 3C16800A */ lui $s6, %hi(gMasterGfxPos)
/* 3E0E80 E00E6550 26D6A66C */ addiu $s6, $s6, %lo(gMasterGfxPos)
/* 3E0E84 E00E6554 AFBF00CC */ sw $ra, 0xcc($sp)
/* 3E0E88 E00E6558 AFB700C4 */ sw $s7, 0xc4($sp)
/* 3E0E8C E00E655C AFB500BC */ sw $s5, 0xbc($sp)
/* 3E0E90 E00E6560 AFB400B8 */ sw $s4, 0xb8($sp)
/* 3E0E94 E00E6564 AFB300B4 */ sw $s3, 0xb4($sp)
/* 3E0E98 E00E6568 AFB100AC */ sw $s1, 0xac($sp)
/* 3E0E9C E00E656C AFB000A8 */ sw $s0, 0xa8($sp)
/* 3E0EA0 E00E6570 F7B400D0 */ sdc1 $f20, 0xd0($sp)
/* 3E0EA4 E00E6574 8EC50000 */ lw $a1, ($s6)
/* 3E0EA8 E00E6578 8FD4000C */ lw $s4, 0xc($fp)
/* 3E0EAC E00E657C 00A0182D */ daddu $v1, $a1, $zero
/* 3E0EB0 E00E6580 24A50008 */ addiu $a1, $a1, 8
/* 3E0EB4 E00E6584 AEC50000 */ sw $a1, ($s6)
/* 3E0EB8 E00E6588 8E880030 */ lw $t0, 0x30($s4)
/* 3E0EBC E00E658C 24150001 */ addiu $s5, $zero, 1
/* 3E0EC0 E00E6590 AFA800A0 */ sw $t0, 0xa0($sp)
/* 3E0EC4 E00E6594 8E930000 */ lw $s3, ($s4)
/* 3E0EC8 E00E6598 3C02E700 */ lui $v0, 0xe700
/* 3E0ECC E00E659C AC620000 */ sw $v0, ($v1)
/* 3E0ED0 E00E65A0 AC600004 */ sw $zero, 4($v1)
/* 3E0ED4 E00E65A4 ACA60000 */ sw $a2, ($a1)
/* 3E0ED8 E00E65A8 8FC30010 */ lw $v1, 0x10($fp)
/* 3E0EDC E00E65AC 24A20008 */ addiu $v0, $a1, 8
/* 3E0EE0 E00E65B0 AEC20000 */ sw $v0, ($s6)
/* 3E0EE4 E00E65B4 8C62001C */ lw $v0, 0x1c($v1)
/* 3E0EE8 E00E65B8 3C038000 */ lui $v1, 0x8000
/* 3E0EEC E00E65BC 00431021 */ addu $v0, $v0, $v1
/* 3E0EF0 E00E65C0 3C03800B */ lui $v1, %hi(gCameras)
/* 3E0EF4 E00E65C4 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3E0EF8 E00E65C8 ACA20004 */ sw $v0, 4($a1)
/* 3E0EFC E00E65CC 8E850004 */ lw $a1, 4($s4)
/* 3E0F00 E00E65D0 8E860008 */ lw $a2, 8($s4)
/* 3E0F04 E00E65D4 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3E0F08 E00E65D8 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3E0F0C E00E65DC 8E87000C */ lw $a3, 0xc($s4)
/* 3E0F10 E00E65E0 00028080 */ sll $s0, $v0, 2
/* 3E0F14 E00E65E4 02028021 */ addu $s0, $s0, $v0
/* 3E0F18 E00E65E8 00108080 */ sll $s0, $s0, 2
/* 3E0F1C E00E65EC 02028023 */ subu $s0, $s0, $v0
/* 3E0F20 E00E65F0 001010C0 */ sll $v0, $s0, 3
/* 3E0F24 E00E65F4 02028021 */ addu $s0, $s0, $v0
/* 3E0F28 E00E65F8 001080C0 */ sll $s0, $s0, 3
/* 3E0F2C E00E65FC 0C080108 */ jal shim_guTranslateF
/* 3E0F30 E00E6600 02038021 */ addu $s0, $s0, $v1
/* 3E0F34 E00E6604 27B10060 */ addiu $s1, $sp, 0x60
/* 3E0F38 E00E6608 0220202D */ daddu $a0, $s1, $zero
/* 3E0F3C E00E660C 8E850034 */ lw $a1, 0x34($s4)
/* 3E0F40 E00E6610 26940038 */ addiu $s4, $s4, 0x38
/* 3E0F44 E00E6614 00A0302D */ daddu $a2, $a1, $zero
/* 3E0F48 E00E6618 0C080110 */ jal shim_guScaleF
/* 3E0F4C E00E661C 00A0382D */ daddu $a3, $a1, $zero
/* 3E0F50 E00E6620 0220202D */ daddu $a0, $s1, $zero
/* 3E0F54 E00E6624 27A50020 */ addiu $a1, $sp, 0x20
/* 3E0F58 E00E6628 0C080114 */ jal shim_guMtxCatF
/* 3E0F5C E00E662C 00A0302D */ daddu $a2, $a1, $zero
/* 3E0F60 E00E6630 27A40020 */ addiu $a0, $sp, 0x20
/* 3E0F64 E00E6634 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3E0F68 E00E6638 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3E0F6C E00E663C 3C17800A */ lui $s7, %hi(gDisplayContext)
/* 3E0F70 E00E6640 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext)
/* 3E0F74 E00E6644 96250000 */ lhu $a1, ($s1)
/* 3E0F78 E00E6648 8EE20000 */ lw $v0, ($s7)
/* 3E0F7C E00E664C 00052980 */ sll $a1, $a1, 6
/* 3E0F80 E00E6650 00B22821 */ addu $a1, $a1, $s2
/* 3E0F84 E00E6654 0C080118 */ jal shim_guMtxF2L
/* 3E0F88 E00E6658 00452821 */ addu $a1, $v0, $a1
/* 3E0F8C E00E665C 3C03DA38 */ lui $v1, 0xda38
/* 3E0F90 E00E6660 34630002 */ ori $v1, $v1, 2
/* 3E0F94 E00E6664 3C06DA38 */ lui $a2, 0xda38
/* 3E0F98 E00E6668 00D53025 */ or $a2, $a2, $s5
/* 3E0F9C E00E666C 00139880 */ sll $s3, $s3, 2
/* 3E0FA0 E00E6670 8EC40000 */ lw $a0, ($s6)
/* 3E0FA4 E00E6674 96220000 */ lhu $v0, ($s1)
/* 3E0FA8 E00E6678 0080282D */ daddu $a1, $a0, $zero
/* 3E0FAC E00E667C 24840008 */ addiu $a0, $a0, 8
/* 3E0FB0 E00E6680 AEC40000 */ sw $a0, ($s6)
/* 3E0FB4 E00E6684 ACA30000 */ sw $v1, ($a1)
/* 3E0FB8 E00E6688 00551821 */ addu $v1, $v0, $s5
/* 3E0FBC E00E668C 3042FFFF */ andi $v0, $v0, 0xffff
/* 3E0FC0 E00E6690 00021180 */ sll $v0, $v0, 6
/* 3E0FC4 E00E6694 A6230000 */ sh $v1, ($s1)
/* 3E0FC8 E00E6698 8EE30000 */ lw $v1, ($s7)
/* 3E0FCC E00E669C 00521021 */ addu $v0, $v0, $s2
/* 3E0FD0 E00E66A0 00621821 */ addu $v1, $v1, $v0
/* 3E0FD4 E00E66A4 ACA30004 */ sw $v1, 4($a1)
/* 3E0FD8 E00E66A8 AC860000 */ sw $a2, ($a0)
/* 3E0FDC E00E66AC 8E030204 */ lw $v1, 0x204($s0)
/* 3E0FE0 E00E66B0 3C02DE00 */ lui $v0, 0xde00
/* 3E0FE4 E00E66B4 AC820008 */ sw $v0, 8($a0)
/* 3E0FE8 E00E66B8 AC830004 */ sw $v1, 4($a0)
/* 3E0FEC E00E66BC 3C03E00E */ lui $v1, %hi(D_E00E6888)
/* 3E0FF0 E00E66C0 00731821 */ addu $v1, $v1, $s3
/* 3E0FF4 E00E66C4 8C636888 */ lw $v1, %lo(D_E00E6888)($v1)
/* 3E0FF8 E00E66C8 24820008 */ addiu $v0, $a0, 8
/* 3E0FFC E00E66CC AEC20000 */ sw $v0, ($s6)
/* 3E1000 E00E66D0 AC83000C */ sw $v1, 0xc($a0)
/* 3E1004 E00E66D4 8FC20008 */ lw $v0, 8($fp)
/* 3E1008 E00E66D8 24840010 */ addiu $a0, $a0, 0x10
/* 3E100C E00E66DC 02A2102A */ slt $v0, $s5, $v0
/* 3E1010 E00E66E0 1040004C */ beqz $v0, .LE00E6814
/* 3E1014 E00E66E4 AEC40000 */ sw $a0, ($s6)
/* 3E1018 E00E66E8 4480A000 */ mtc1 $zero, $f20
/* 3E101C E00E66EC 0220902D */ daddu $s2, $s1, $zero
/* 3E1020 E00E66F0 3C110001 */ lui $s1, 1
/* 3E1024 E00E66F4 36311630 */ ori $s1, $s1, 0x1630
/* 3E1028 E00E66F8 02C0802D */ daddu $s0, $s6, $zero
/* 3E102C E00E66FC 3C02E00E */ lui $v0, %hi(D_E00E6880)
/* 3E1030 E00E6700 24426880 */ addiu $v0, $v0, %lo(D_E00E6880)
/* 3E1034 E00E6704 0262B021 */ addu $s6, $s3, $v0
/* 3E1038 E00E6708 26930030 */ addiu $s3, $s4, 0x30
.LE00E670C:
/* 3E103C E00E670C 8E62FFF0 */ lw $v0, -0x10($s3)
/* 3E1040 E00E6710 0442003C */ bltzl $v0, .LE00E6804
/* 3E1044 E00E6714 26B50001 */ addiu $s5, $s5, 1
/* 3E1048 E00E6718 C6600004 */ lwc1 $f0, 4($s3)
/* 3E104C E00E671C 4405A000 */ mfc1 $a1, $f20
/* 3E1050 E00E6720 4406A000 */ mfc1 $a2, $f20
/* 3E1054 E00E6724 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3E1058 E00E6728 C660FFD4 */ lwc1 $f0, -0x2c($s3)
/* 3E105C E00E672C E7A00014 */ swc1 $f0, 0x14($sp)
/* 3E1060 E00E6730 C660FFD8 */ lwc1 $f0, -0x28($s3)
/* 3E1064 E00E6734 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3E1068 E00E6738 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3E106C E00E673C 8E67FFF4 */ lw $a3, -0xc($s3)
/* 3E1070 E00E6740 0C080180 */ jal shim_guPositionF
/* 3E1074 E00E6744 27A40020 */ addiu $a0, $sp, 0x20
/* 3E1078 E00E6748 27A40020 */ addiu $a0, $sp, 0x20
/* 3E107C E00E674C 96450000 */ lhu $a1, ($s2)
/* 3E1080 E00E6750 8EE20000 */ lw $v0, ($s7)
/* 3E1084 E00E6754 00052980 */ sll $a1, $a1, 6
/* 3E1088 E00E6758 00B12821 */ addu $a1, $a1, $s1
/* 3E108C E00E675C 0C080118 */ jal shim_guMtxF2L
/* 3E1090 E00E6760 00452821 */ addu $a1, $v0, $a1
/* 3E1094 E00E6764 8E040000 */ lw $a0, ($s0)
/* 3E1098 E00E6768 3C06D838 */ lui $a2, 0xd838
/* 3E109C E00E676C 0080282D */ daddu $a1, $a0, $zero
/* 3E10A0 E00E6770 24840008 */ addiu $a0, $a0, 8
/* 3E10A4 E00E6774 AE040000 */ sw $a0, ($s0)
/* 3E10A8 E00E6778 96420000 */ lhu $v0, ($s2)
/* 3E10AC E00E677C 3C03DA38 */ lui $v1, 0xda38
/* 3E10B0 E00E6780 ACA30000 */ sw $v1, ($a1)
/* 3E10B4 E00E6784 24430001 */ addiu $v1, $v0, 1
/* 3E10B8 E00E6788 3042FFFF */ andi $v0, $v0, 0xffff
/* 3E10BC E00E678C 00021180 */ sll $v0, $v0, 6
/* 3E10C0 E00E6790 A6430000 */ sh $v1, ($s2)
/* 3E10C4 E00E6794 8EE30000 */ lw $v1, ($s7)
/* 3E10C8 E00E6798 00511021 */ addu $v0, $v0, $s1
/* 3E10CC E00E679C 00621821 */ addu $v1, $v1, $v0
/* 3E10D0 E00E67A0 3C02FA00 */ lui $v0, 0xfa00
/* 3E10D4 E00E67A4 ACA30004 */ sw $v1, 4($a1)
/* 3E10D8 E00E67A8 AC820000 */ sw $v0, ($a0)
/* 3E10DC E00E67AC 8E630000 */ lw $v1, ($s3)
/* 3E10E0 E00E67B0 24820008 */ addiu $v0, $a0, 8
/* 3E10E4 E00E67B4 AE020000 */ sw $v0, ($s0)
/* 3E10E8 E00E67B8 8FA800A0 */ lw $t0, 0xa0($sp)
/* 3E10EC E00E67BC 34C60002 */ ori $a2, $a2, 2
/* 3E10F0 E00E67C0 01030018 */ mult $t0, $v1
/* 3E10F4 E00E67C4 24820010 */ addiu $v0, $a0, 0x10
/* 3E10F8 E00E67C8 AE020000 */ sw $v0, ($s0)
/* 3E10FC E00E67CC 3C02DE00 */ lui $v0, 0xde00
/* 3E1100 E00E67D0 AC820008 */ sw $v0, 8($a0)
/* 3E1104 E00E67D4 00004012 */ mflo $t0
/* 3E1108 E00E67D8 00081203 */ sra $v0, $t0, 8
/* 3E110C E00E67DC 304200FF */ andi $v0, $v0, 0xff
/* 3E1110 E00E67E0 AC820004 */ sw $v0, 4($a0)
/* 3E1114 E00E67E4 8EC30000 */ lw $v1, ($s6)
/* 3E1118 E00E67E8 24820018 */ addiu $v0, $a0, 0x18
/* 3E111C E00E67EC AE020000 */ sw $v0, ($s0)
/* 3E1120 E00E67F0 24020040 */ addiu $v0, $zero, 0x40
/* 3E1124 E00E67F4 AC860010 */ sw $a2, 0x10($a0)
/* 3E1128 E00E67F8 AC820014 */ sw $v0, 0x14($a0)
/* 3E112C E00E67FC AC83000C */ sw $v1, 0xc($a0)
/* 3E1130 E00E6800 26B50001 */ addiu $s5, $s5, 1
.LE00E6804:
/* 3E1134 E00E6804 8FC20008 */ lw $v0, 8($fp)
/* 3E1138 E00E6808 02A2102A */ slt $v0, $s5, $v0
/* 3E113C E00E680C 1440FFBF */ bnez $v0, .LE00E670C
/* 3E1140 E00E6810 26730038 */ addiu $s3, $s3, 0x38
.LE00E6814:
/* 3E1144 E00E6814 3C05D838 */ lui $a1, 0xd838
/* 3E1148 E00E6818 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3E114C E00E681C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3E1150 E00E6820 8C620000 */ lw $v0, ($v1)
/* 3E1154 E00E6824 34A50002 */ ori $a1, $a1, 2
/* 3E1158 E00E6828 0040202D */ daddu $a0, $v0, $zero
/* 3E115C E00E682C 24420008 */ addiu $v0, $v0, 8
/* 3E1160 E00E6830 AC620000 */ sw $v0, ($v1)
/* 3E1164 E00E6834 24020040 */ addiu $v0, $zero, 0x40
/* 3E1168 E00E6838 AC850000 */ sw $a1, ($a0)
/* 3E116C E00E683C AC820004 */ sw $v0, 4($a0)
/* 3E1170 E00E6840 8FBF00CC */ lw $ra, 0xcc($sp)
/* 3E1174 E00E6844 8FBE00C8 */ lw $fp, 0xc8($sp)
/* 3E1178 E00E6848 8FB700C4 */ lw $s7, 0xc4($sp)
/* 3E117C E00E684C 8FB600C0 */ lw $s6, 0xc0($sp)
/* 3E1180 E00E6850 8FB500BC */ lw $s5, 0xbc($sp)
/* 3E1184 E00E6854 8FB400B8 */ lw $s4, 0xb8($sp)
/* 3E1188 E00E6858 8FB300B4 */ lw $s3, 0xb4($sp)
/* 3E118C E00E685C 8FB200B0 */ lw $s2, 0xb0($sp)
/* 3E1190 E00E6860 8FB100AC */ lw $s1, 0xac($sp)
/* 3E1194 E00E6864 8FB000A8 */ lw $s0, 0xa8($sp)
/* 3E1198 E00E6868 D7B400D0 */ ldc1 $f20, 0xd0($sp)
/* 3E119C E00E686C 03E00008 */ jr $ra
/* 3E11A0 E00E6870 27BD00D8 */ addiu $sp, $sp, 0xd8
/* 3E11A4 E00E6874 00000000 */ nop
/* 3E11A8 E00E6878 00000000 */ nop
/* 3E11AC E00E687C 00000000 */ nop

View File

@ -1,105 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel static_status_main
/* 3E0930 E00E6000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3E0934 E00E6004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3E0938 E00E6008 4485A000 */ mtc1 $a1, $f20
/* 3E093C E00E600C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3E0940 E00E6010 4486B000 */ mtc1 $a2, $f22
/* 3E0944 E00E6014 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3E0948 E00E6018 4487C000 */ mtc1 $a3, $f24
/* 3E094C E00E601C AFB30034 */ sw $s3, 0x34($sp)
/* 3E0950 E00E6020 0080982D */ daddu $s3, $a0, $zero
/* 3E0954 E00E6024 AFB00028 */ sw $s0, 0x28($sp)
/* 3E0958 E00E6028 8FB0006C */ lw $s0, 0x6c($sp)
/* 3E095C E00E602C 27A40010 */ addiu $a0, $sp, 0x10
/* 3E0960 E00E6030 AFB20030 */ sw $s2, 0x30($sp)
/* 3E0964 E00E6034 8FB20070 */ lw $s2, 0x70($sp)
/* 3E0968 E00E6038 3C02E00E */ lui $v0, %hi(static_status_init)
/* 3E096C E00E603C 2442617C */ addiu $v0, $v0, %lo(static_status_init)
/* 3E0970 E00E6040 AFA20018 */ sw $v0, 0x18($sp)
/* 3E0974 E00E6044 3C02E00E */ lui $v0, %hi(static_status_update)
/* 3E0978 E00E6048 24426184 */ addiu $v0, $v0, %lo(static_status_update)
/* 3E097C E00E604C AFA2001C */ sw $v0, 0x1c($sp)
/* 3E0980 E00E6050 3C02E00E */ lui $v0, %hi(static_status_render)
/* 3E0984 E00E6054 244264D4 */ addiu $v0, $v0, %lo(static_status_render)
/* 3E0988 E00E6058 AFA20020 */ sw $v0, 0x20($sp)
/* 3E098C E00E605C 24020073 */ addiu $v0, $zero, 0x73
/* 3E0990 E00E6060 AFBF0038 */ sw $ra, 0x38($sp)
/* 3E0994 E00E6064 AFB1002C */ sw $s1, 0x2c($sp)
/* 3E0998 E00E6068 AFA00010 */ sw $zero, 0x10($sp)
/* 3E099C E00E606C AFA00024 */ sw $zero, 0x24($sp)
/* 3E09A0 E00E6070 AFA20014 */ sw $v0, 0x14($sp)
/* 3E09A4 E00E6074 0C080124 */ jal shim_create_effect_instance
/* 3E09A8 E00E6078 26100001 */ addiu $s0, $s0, 1
/* 3E09AC E00E607C 001020C0 */ sll $a0, $s0, 3
/* 3E09B0 E00E6080 00902023 */ subu $a0, $a0, $s0
/* 3E09B4 E00E6084 000420C0 */ sll $a0, $a0, 3
/* 3E09B8 E00E6088 0040882D */ daddu $s1, $v0, $zero
/* 3E09BC E00E608C 0C08012C */ jal shim_general_heap_malloc
/* 3E09C0 E00E6090 AE300008 */ sw $s0, 8($s1)
/* 3E09C4 E00E6094 0040182D */ daddu $v1, $v0, $zero
/* 3E09C8 E00E6098 14600003 */ bnez $v1, .LE00E60A8
/* 3E09CC E00E609C AE23000C */ sw $v1, 0xc($s1)
.LE00E60A0:
/* 3E09D0 E00E60A0 08039828 */ j .LE00E60A0
/* 3E09D4 E00E60A4 00000000 */ nop
.LE00E60A8:
/* 3E09D8 E00E60A8 AC730000 */ sw $s3, ($v1)
/* 3E09DC E00E60AC 1E400004 */ bgtz $s2, .LE00E60C0
/* 3E09E0 E00E60B0 AC60002C */ sw $zero, 0x2c($v1)
/* 3E09E4 E00E60B4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3E09E8 E00E60B8 08039831 */ j .LE00E60C4
/* 3E09EC E00E60BC AC620028 */ sw $v0, 0x28($v1)
.LE00E60C0:
/* 3E09F0 E00E60C0 AC720028 */ sw $s2, 0x28($v1)
.LE00E60C4:
/* 3E09F4 E00E60C4 240200FF */ addiu $v0, $zero, 0xff
/* 3E09F8 E00E60C8 24040001 */ addiu $a0, $zero, 1
/* 3E09FC E00E60CC AC620030 */ sw $v0, 0x30($v1)
/* 3E0A00 E00E60D0 E4740004 */ swc1 $f20, 4($v1)
/* 3E0A04 E00E60D4 E4760008 */ swc1 $f22, 8($v1)
/* 3E0A08 E00E60D8 E478000C */ swc1 $f24, 0xc($v1)
/* 3E0A0C E00E60DC C7A00068 */ lwc1 $f0, 0x68($sp)
/* 3E0A10 E00E60E0 00131080 */ sll $v0, $s3, 2
/* 3E0A14 E00E60E4 E4600034 */ swc1 $f0, 0x34($v1)
/* 3E0A18 E00E60E8 3C01E00E */ lui $at, %hi(D_E00E6890)
/* 3E0A1C E00E60EC 00220821 */ addu $at, $at, $v0
/* 3E0A20 E00E60F0 C4226890 */ lwc1 $f2, %lo(D_E00E6890)($at)
/* 3E0A24 E00E60F4 468010A0 */ cvt.s.w $f2, $f2
/* 3E0A28 E00E60F8 3C013F00 */ lui $at, 0x3f00
/* 3E0A2C E00E60FC 44810000 */ mtc1 $at, $f0
/* 3E0A30 E00E6100 0090102A */ slt $v0, $a0, $s0
/* 3E0A34 E00E6104 46001082 */ mul.s $f2, $f2, $f0
/* 3E0A38 E00E6108 00000000 */ nop
/* 3E0A3C E00E610C 10400010 */ beqz $v0, .LE00E6150
/* 3E0A40 E00E6110 24630038 */ addiu $v1, $v1, 0x38
/* 3E0A44 E00E6114 3C01BF80 */ lui $at, 0xbf80
/* 3E0A48 E00E6118 44812000 */ mtc1 $at, $f4
.LE00E611C:
/* 3E0A4C E00E611C 30820001 */ andi $v0, $a0, 1
/* 3E0A50 E00E6120 44820000 */ mtc1 $v0, $f0
/* 3E0A54 E00E6124 00000000 */ nop
/* 3E0A58 E00E6128 46800020 */ cvt.s.w $f0, $f0
/* 3E0A5C E00E612C 46001002 */ mul.s $f0, $f2, $f0
/* 3E0A60 E00E6130 00000000 */ nop
/* 3E0A64 E00E6134 46002001 */ sub.s $f0, $f4, $f0
/* 3E0A68 E00E6138 24840001 */ addiu $a0, $a0, 1
/* 3E0A6C E00E613C 0090102A */ slt $v0, $a0, $s0
/* 3E0A70 E00E6140 4600018D */ trunc.w.s $f6, $f0
/* 3E0A74 E00E6144 E4660020 */ swc1 $f6, 0x20($v1)
/* 3E0A78 E00E6148 1440FFF4 */ bnez $v0, .LE00E611C
/* 3E0A7C E00E614C 24630038 */ addiu $v1, $v1, 0x38
.LE00E6150:
/* 3E0A80 E00E6150 0220102D */ daddu $v0, $s1, $zero
/* 3E0A84 E00E6154 8FBF0038 */ lw $ra, 0x38($sp)
/* 3E0A88 E00E6158 8FB30034 */ lw $s3, 0x34($sp)
/* 3E0A8C E00E615C 8FB20030 */ lw $s2, 0x30($sp)
/* 3E0A90 E00E6160 8FB1002C */ lw $s1, 0x2c($sp)
/* 3E0A94 E00E6164 8FB00028 */ lw $s0, 0x28($sp)
/* 3E0A98 E00E6168 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3E0A9C E00E616C D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3E0AA0 E00E6170 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3E0AA4 E00E6174 03E00008 */ jr $ra
/* 3E0AA8 E00E6178 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,238 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00E6990
.double 0.2, 0.0
.section .text
glabel static_status_update
/* 3E0AB4 E00E6184 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 3E0AB8 E00E6188 AFB20018 */ sw $s2, 0x18($sp)
/* 3E0ABC E00E618C 0080902D */ daddu $s2, $a0, $zero
/* 3E0AC0 E00E6190 AFBF0030 */ sw $ra, 0x30($sp)
/* 3E0AC4 E00E6194 AFB7002C */ sw $s7, 0x2c($sp)
/* 3E0AC8 E00E6198 AFB60028 */ sw $s6, 0x28($sp)
/* 3E0ACC E00E619C AFB50024 */ sw $s5, 0x24($sp)
/* 3E0AD0 E00E61A0 AFB40020 */ sw $s4, 0x20($sp)
/* 3E0AD4 E00E61A4 AFB3001C */ sw $s3, 0x1c($sp)
/* 3E0AD8 E00E61A8 AFB10014 */ sw $s1, 0x14($sp)
/* 3E0ADC E00E61AC AFB00010 */ sw $s0, 0x10($sp)
/* 3E0AE0 E00E61B0 F7BC0058 */ sdc1 $f28, 0x58($sp)
/* 3E0AE4 E00E61B4 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 3E0AE8 E00E61B8 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3E0AEC E00E61BC F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3E0AF0 E00E61C0 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3E0AF4 E00E61C4 8E430000 */ lw $v1, ($s2)
/* 3E0AF8 E00E61C8 8E45000C */ lw $a1, 0xc($s2)
/* 3E0AFC E00E61CC 30620010 */ andi $v0, $v1, 0x10
/* 3E0B00 E00E61D0 8CB30000 */ lw $s3, ($a1)
/* 3E0B04 E00E61D4 10400005 */ beqz $v0, .LE00E61EC
/* 3E0B08 E00E61D8 2402FFEF */ addiu $v0, $zero, -0x11
/* 3E0B0C E00E61DC 00621024 */ and $v0, $v1, $v0
/* 3E0B10 E00E61E0 AE420000 */ sw $v0, ($s2)
/* 3E0B14 E00E61E4 24020010 */ addiu $v0, $zero, 0x10
/* 3E0B18 E00E61E8 ACA20028 */ sw $v0, 0x28($a1)
.LE00E61EC:
/* 3E0B1C E00E61EC 8CA30028 */ lw $v1, 0x28($a1)
/* 3E0B20 E00E61F0 286203E8 */ slti $v0, $v1, 0x3e8
/* 3E0B24 E00E61F4 10400002 */ beqz $v0, .LE00E6200
/* 3E0B28 E00E61F8 2462FFFF */ addiu $v0, $v1, -1
/* 3E0B2C E00E61FC ACA20028 */ sw $v0, 0x28($a1)
.LE00E6200:
/* 3E0B30 E00E6200 8CA2002C */ lw $v0, 0x2c($a1)
/* 3E0B34 E00E6204 8CA40028 */ lw $a0, 0x28($a1)
/* 3E0B38 E00E6208 24420001 */ addiu $v0, $v0, 1
/* 3E0B3C E00E620C 04810005 */ bgez $a0, .LE00E6224
/* 3E0B40 E00E6210 ACA2002C */ sw $v0, 0x2c($a1)
/* 3E0B44 E00E6214 0C080128 */ jal shim_remove_effect
/* 3E0B48 E00E6218 0240202D */ daddu $a0, $s2, $zero
/* 3E0B4C E00E621C 08039925 */ j .LE00E6494
/* 3E0B50 E00E6220 00000000 */ nop
.LE00E6224:
/* 3E0B54 E00E6224 0040A82D */ daddu $s5, $v0, $zero
/* 3E0B58 E00E6228 28820010 */ slti $v0, $a0, 0x10
/* 3E0B5C E00E622C 10400002 */ beqz $v0, .LE00E6238
/* 3E0B60 E00E6230 00041100 */ sll $v0, $a0, 4
/* 3E0B64 E00E6234 ACA20030 */ sw $v0, 0x30($a1)
.LE00E6238:
/* 3E0B68 E00E6238 16600009 */ bnez $s3, .LE00E6260
/* 3E0B6C E00E623C 24A50038 */ addiu $a1, $a1, 0x38
/* 3E0B70 E00E6240 3C013DCC */ lui $at, 0x3dcc
/* 3E0B74 E00E6244 3421CCCD */ ori $at, $at, 0xcccd
/* 3E0B78 E00E6248 4481C000 */ mtc1 $at, $f24
/* 3E0B7C E00E624C 3C013E4C */ lui $at, 0x3e4c
/* 3E0B80 E00E6250 3421CCCD */ ori $at, $at, 0xcccd
/* 3E0B84 E00E6254 4481B000 */ mtc1 $at, $f22
/* 3E0B88 E00E6258 0803989D */ j .LE00E6274
/* 3E0B8C E00E625C 00000000 */ nop
.LE00E6260:
/* 3E0B90 E00E6260 3C013E4C */ lui $at, 0x3e4c
/* 3E0B94 E00E6264 3421CCCD */ ori $at, $at, 0xcccd
/* 3E0B98 E00E6268 4481B000 */ mtc1 $at, $f22
/* 3E0B9C E00E626C 00000000 */ nop
/* 3E0BA0 E00E6270 4600B606 */ mov.s $f24, $f22
.LE00E6274:
/* 3E0BA4 E00E6274 8E420008 */ lw $v0, 8($s2)
/* 3E0BA8 E00E6278 24110001 */ addiu $s1, $zero, 1
/* 3E0BAC E00E627C 0222102A */ slt $v0, $s1, $v0
/* 3E0BB0 E00E6280 10400084 */ beqz $v0, .LE00E6494
/* 3E0BB4 E00E6284 00131080 */ sll $v0, $s3, 2
/* 3E0BB8 E00E6288 3C03E00E */ lui $v1, %hi(D_E00E6890)
/* 3E0BBC E00E628C 24636890 */ addiu $v1, $v1, %lo(D_E00E6890)
/* 3E0BC0 E00E6290 0043A021 */ addu $s4, $v0, $v1
/* 3E0BC4 E00E6294 3C17E00E */ lui $s7, %hi(D_E00E6898)
/* 3E0BC8 E00E6298 26F76898 */ addiu $s7, $s7, %lo(D_E00E6898)
/* 3E0BCC E00E629C 3C16E00E */ lui $s6, %hi(D_E00E6910)
/* 3E0BD0 E00E62A0 26D66910 */ addiu $s6, $s6, %lo(D_E00E6910)
/* 3E0BD4 E00E62A4 24B00014 */ addiu $s0, $a1, 0x14
/* 3E0BD8 E00E62A8 3C014180 */ lui $at, 0x4180
/* 3E0BDC E00E62AC 4481E000 */ mtc1 $at, $f28
/* 3E0BE0 E00E62B0 3C01E00E */ lui $at, %hi(D_E00E6990)
/* 3E0BE4 E00E62B4 D43A6990 */ ldc1 $f26, %lo(D_E00E6990)($at)
.LE00E62B8:
/* 3E0BE8 E00E62B8 8E02000C */ lw $v0, 0xc($s0)
/* 3E0BEC E00E62BC 24420001 */ addiu $v0, $v0, 1
/* 3E0BF0 E00E62C0 AE02000C */ sw $v0, 0xc($s0)
/* 3E0BF4 E00E62C4 8E830000 */ lw $v1, ($s4)
/* 3E0BF8 E00E62C8 0043102A */ slt $v0, $v0, $v1
/* 3E0BFC E00E62CC 50400001 */ beql $v0, $zero, .LE00E62D4
/* 3E0C00 E00E62D0 AE00000C */ sw $zero, 0xc($s0)
.LE00E62D4:
/* 3E0C04 E00E62D4 8E02000C */ lw $v0, 0xc($s0)
/* 3E0C08 E00E62D8 0442006A */ bltzl $v0, .LE00E6484
/* 3E0C0C E00E62DC 26310001 */ addiu $s1, $s1, 1
/* 3E0C10 E00E62E0 1440002A */ bnez $v0, .LE00E638C
/* 3E0C14 E00E62E4 00000000 */ nop
/* 3E0C18 E00E62E8 3C0143B4 */ lui $at, 0x43b4
/* 3E0C1C E00E62EC 44810000 */ mtc1 $at, $f0
/* 3E0C20 E00E62F0 4491A000 */ mtc1 $s1, $f20
/* 3E0C24 E00E62F4 00000000 */ nop
/* 3E0C28 E00E62F8 4680A520 */ cvt.s.w $f20, $f20
/* 3E0C2C E00E62FC 4600A502 */ mul.s $f20, $f20, $f0
/* 3E0C30 E00E6300 00000000 */ nop
/* 3E0C34 E00E6304 8E420008 */ lw $v0, 8($s2)
/* 3E0C38 E00E6308 2442FFFF */ addiu $v0, $v0, -1
/* 3E0C3C E00E630C 44820000 */ mtc1 $v0, $f0
/* 3E0C40 E00E6310 00000000 */ nop
/* 3E0C44 E00E6314 46800020 */ cvt.s.w $f0, $f0
/* 3E0C48 E00E6318 4600A503 */ div.s $f20, $f20, $f0
/* 3E0C4C E00E631C 0C080140 */ jal shim_sin_deg
/* 3E0C50 E00E6320 4600A306 */ mov.s $f12, $f20
/* 3E0C54 E00E6324 461C0002 */ mul.s $f0, $f0, $f28
/* 3E0C58 E00E6328 00000000 */ nop
/* 3E0C5C E00E632C 4600A306 */ mov.s $f12, $f20
/* 3E0C60 E00E6330 0C080144 */ jal shim_cos_deg
/* 3E0C64 E00E6334 E600FFF0 */ swc1 $f0, -0x10($s0)
/* 3E0C68 E00E6338 461C0002 */ mul.s $f0, $f0, $f28
/* 3E0C6C E00E633C 00000000 */ nop
/* 3E0C70 E00E6340 C606FFF0 */ lwc1 $f6, -0x10($s0)
/* 3E0C74 E00E6344 46183182 */ mul.s $f6, $f6, $f24
/* 3E0C78 E00E6348 00000000 */ nop
/* 3E0C7C E00E634C E600FFF4 */ swc1 $f0, -0xc($s0)
/* 3E0C80 E00E6350 46000106 */ mov.s $f4, $f0
/* 3E0C84 E00E6354 46182102 */ mul.s $f4, $f4, $f24
/* 3E0C88 E00E6358 00000000 */ nop
/* 3E0C8C E00E635C 3C013F80 */ lui $at, 0x3f80
/* 3E0C90 E00E6360 44811000 */ mtc1 $at, $f2
/* 3E0C94 E00E6364 3C014234 */ lui $at, 0x4234
/* 3E0C98 E00E6368 44810000 */ mtc1 $at, $f0
/* 3E0C9C E00E636C 4600A507 */ neg.s $f20, $f20
/* 3E0CA0 E00E6370 AE000004 */ sw $zero, 4($s0)
/* 3E0CA4 E00E6374 AE000008 */ sw $zero, 8($s0)
/* 3E0CA8 E00E6378 4600A501 */ sub.s $f20, $f20, $f0
/* 3E0CAC E00E637C E6020020 */ swc1 $f2, 0x20($s0)
/* 3E0CB0 E00E6380 E606FFFC */ swc1 $f6, -4($s0)
/* 3E0CB4 E00E6384 E6140010 */ swc1 $f20, 0x10($s0)
/* 3E0CB8 E00E6388 E6040000 */ swc1 $f4, ($s0)
.LE00E638C:
/* 3E0CBC E00E638C 16600008 */ bnez $s3, .LE00E63B0
/* 3E0CC0 E00E6390 00000000 */ nop
/* 3E0CC4 E00E6394 8E02000C */ lw $v0, 0xc($s0)
/* 3E0CC8 E00E6398 3C03E00E */ lui $v1, %hi(D_E00E68F8)
/* 3E0CCC E00E639C 00621821 */ addu $v1, $v1, $v0
/* 3E0CD0 E00E63A0 906368F8 */ lbu $v1, %lo(D_E00E68F8)($v1)
/* 3E0CD4 E00E63A4 00021080 */ sll $v0, $v0, 2
/* 3E0CD8 E00E63A8 080398F2 */ j .LE00E63C8
/* 3E0CDC E00E63AC 00571021 */ addu $v0, $v0, $s7
.LE00E63B0:
/* 3E0CE0 E00E63B0 8E02000C */ lw $v0, 0xc($s0)
/* 3E0CE4 E00E63B4 3C03E00E */ lui $v1, %hi(D_E00E6970)
/* 3E0CE8 E00E63B8 00621821 */ addu $v1, $v1, $v0
/* 3E0CEC E00E63BC 90636970 */ lbu $v1, %lo(D_E00E6970)($v1)
/* 3E0CF0 E00E63C0 00021080 */ sll $v0, $v0, 2
/* 3E0CF4 E00E63C4 00561021 */ addu $v0, $v0, $s6
.LE00E63C8:
/* 3E0CF8 E00E63C8 AE03001C */ sw $v1, 0x1c($s0)
/* 3E0CFC E00E63CC C4400000 */ lwc1 $f0, ($v0)
/* 3E0D00 E00E63D0 32A30001 */ andi $v1, $s5, 1
/* 3E0D04 E00E63D4 32220001 */ andi $v0, $s1, 1
/* 3E0D08 E00E63D8 14620009 */ bne $v1, $v0, .LE00E6400
/* 3E0D0C E00E63DC E6000020 */ swc1 $f0, 0x20($s0)
/* 3E0D10 E00E63E0 C604FFF0 */ lwc1 $f4, -0x10($s0)
/* 3E0D14 E00E63E4 C600FFFC */ lwc1 $f0, -4($s0)
/* 3E0D18 E00E63E8 C602FFF4 */ lwc1 $f2, -0xc($s0)
/* 3E0D1C E00E63EC 46002100 */ add.s $f4, $f4, $f0
/* 3E0D20 E00E63F0 C6000000 */ lwc1 $f0, ($s0)
/* 3E0D24 E00E63F4 46001080 */ add.s $f2, $f2, $f0
/* 3E0D28 E00E63F8 08039911 */ j .LE00E6444
/* 3E0D2C E00E63FC E604FFF0 */ swc1 $f4, -0x10($s0)
.LE00E6400:
/* 3E0D30 E00E6400 C606FFFC */ lwc1 $f6, -4($s0)
/* 3E0D34 E00E6404 460031A1 */ cvt.d.s $f6, $f6
/* 3E0D38 E00E6408 463A3182 */ mul.d $f6, $f6, $f26
/* 3E0D3C E00E640C 00000000 */ nop
/* 3E0D40 E00E6410 C6040000 */ lwc1 $f4, ($s0)
/* 3E0D44 E00E6414 46002121 */ cvt.d.s $f4, $f4
/* 3E0D48 E00E6418 463A2102 */ mul.d $f4, $f4, $f26
/* 3E0D4C E00E641C 00000000 */ nop
/* 3E0D50 E00E6420 C600FFF0 */ lwc1 $f0, -0x10($s0)
/* 3E0D54 E00E6424 C602FFF4 */ lwc1 $f2, -0xc($s0)
/* 3E0D58 E00E6428 46000021 */ cvt.d.s $f0, $f0
/* 3E0D5C E00E642C 46260000 */ add.d $f0, $f0, $f6
/* 3E0D60 E00E6430 460010A1 */ cvt.d.s $f2, $f2
/* 3E0D64 E00E6434 46241080 */ add.d $f2, $f2, $f4
/* 3E0D68 E00E6438 46200020 */ cvt.s.d $f0, $f0
/* 3E0D6C E00E643C 462010A0 */ cvt.s.d $f2, $f2
/* 3E0D70 E00E6440 E600FFF0 */ swc1 $f0, -0x10($s0)
.LE00E6444:
/* 3E0D74 E00E6444 E602FFF4 */ swc1 $f2, -0xc($s0)
/* 3E0D78 E00E6448 C6040004 */ lwc1 $f4, 4($s0)
/* 3E0D7C E00E644C C606FFFC */ lwc1 $f6, -4($s0)
/* 3E0D80 E00E6450 46062101 */ sub.s $f4, $f4, $f6
/* 3E0D84 E00E6454 46162102 */ mul.s $f4, $f4, $f22
/* 3E0D88 E00E6458 00000000 */ nop
/* 3E0D8C E00E645C C6000008 */ lwc1 $f0, 8($s0)
/* 3E0D90 E00E6460 C6020000 */ lwc1 $f2, ($s0)
/* 3E0D94 E00E6464 46020001 */ sub.s $f0, $f0, $f2
/* 3E0D98 E00E6468 46160002 */ mul.s $f0, $f0, $f22
/* 3E0D9C E00E646C 00000000 */ nop
/* 3E0DA0 E00E6470 46043180 */ add.s $f6, $f6, $f4
/* 3E0DA4 E00E6474 46001080 */ add.s $f2, $f2, $f0
/* 3E0DA8 E00E6478 E606FFFC */ swc1 $f6, -4($s0)
/* 3E0DAC E00E647C E6020000 */ swc1 $f2, ($s0)
/* 3E0DB0 E00E6480 26310001 */ addiu $s1, $s1, 1
.LE00E6484:
/* 3E0DB4 E00E6484 8E420008 */ lw $v0, 8($s2)
/* 3E0DB8 E00E6488 0222102A */ slt $v0, $s1, $v0
/* 3E0DBC E00E648C 1440FF8A */ bnez $v0, .LE00E62B8
/* 3E0DC0 E00E6490 26100038 */ addiu $s0, $s0, 0x38
.LE00E6494:
/* 3E0DC4 E00E6494 8FBF0030 */ lw $ra, 0x30($sp)
/* 3E0DC8 E00E6498 8FB7002C */ lw $s7, 0x2c($sp)
/* 3E0DCC E00E649C 8FB60028 */ lw $s6, 0x28($sp)
/* 3E0DD0 E00E64A0 8FB50024 */ lw $s5, 0x24($sp)
/* 3E0DD4 E00E64A4 8FB40020 */ lw $s4, 0x20($sp)
/* 3E0DD8 E00E64A8 8FB3001C */ lw $s3, 0x1c($sp)
/* 3E0DDC E00E64AC 8FB20018 */ lw $s2, 0x18($sp)
/* 3E0DE0 E00E64B0 8FB10014 */ lw $s1, 0x14($sp)
/* 3E0DE4 E00E64B4 8FB00010 */ lw $s0, 0x10($sp)
/* 3E0DE8 E00E64B8 D7BC0058 */ ldc1 $f28, 0x58($sp)
/* 3E0DEC E00E64BC D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 3E0DF0 E00E64C0 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3E0DF4 E00E64C4 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3E0DF8 E00E64C8 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3E0DFC E00E64CC 03E00008 */ jr $ra
/* 3E0E00 E00E64D0 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,456 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00C4A98
.double 0.01
.section .text
glabel stop_watch_appendGfx
/* 3CB0F8 E00C4308 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 3CB0FC E00C430C 0080302D */ daddu $a2, $a0, $zero
/* 3CB100 E00C4310 3C07DB06 */ lui $a3, 0xdb06
/* 3CB104 E00C4314 34E70024 */ ori $a3, $a3, 0x24
/* 3CB108 E00C4318 27A40020 */ addiu $a0, $sp, 0x20
/* 3CB10C E00C431C 3C0F0001 */ lui $t7, 1
/* 3CB110 E00C4320 35EF1630 */ ori $t7, $t7, 0x1630
/* 3CB114 E00C4324 AFB600C8 */ sw $s6, 0xc8($sp)
/* 3CB118 E00C4328 0000B02D */ daddu $s6, $zero, $zero
/* 3CB11C E00C432C AFB200B8 */ sw $s2, 0xb8($sp)
/* 3CB120 E00C4330 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 3CB124 E00C4334 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 3CB128 E00C4338 AFB500C4 */ sw $s5, 0xc4($sp)
/* 3CB12C E00C433C 02C0A82D */ daddu $s5, $s6, $zero
/* 3CB130 E00C4340 AFBF00D4 */ sw $ra, 0xd4($sp)
/* 3CB134 E00C4344 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 3CB138 E00C4348 AFB700CC */ sw $s7, 0xcc($sp)
/* 3CB13C E00C434C AFB400C0 */ sw $s4, 0xc0($sp)
/* 3CB140 E00C4350 AFB300BC */ sw $s3, 0xbc($sp)
/* 3CB144 E00C4354 AFB100B4 */ sw $s1, 0xb4($sp)
/* 3CB148 E00C4358 AFB000B0 */ sw $s0, 0xb0($sp)
/* 3CB14C E00C435C F7B400D8 */ sdc1 $f20, 0xd8($sp)
/* 3CB150 E00C4360 AFAF00A8 */ sw $t7, 0xa8($sp)
/* 3CB154 E00C4364 8E450000 */ lw $a1, ($s2)
/* 3CB158 E00C4368 8CDE000C */ lw $fp, 0xc($a2)
/* 3CB15C E00C436C 00A0182D */ daddu $v1, $a1, $zero
/* 3CB160 E00C4370 24A50008 */ addiu $a1, $a1, 8
/* 3CB164 E00C4374 AE450000 */ sw $a1, ($s2)
/* 3CB168 E00C4378 8FD40014 */ lw $s4, 0x14($fp)
/* 3CB16C E00C437C 8FCF0024 */ lw $t7, 0x24($fp)
/* 3CB170 E00C4380 3C02E700 */ lui $v0, 0xe700
/* 3CB174 E00C4384 AFAF00A0 */ sw $t7, 0xa0($sp)
/* 3CB178 E00C4388 AC620000 */ sw $v0, ($v1)
/* 3CB17C E00C438C AC600004 */ sw $zero, 4($v1)
/* 3CB180 E00C4390 ACA70000 */ sw $a3, ($a1)
/* 3CB184 E00C4394 8CC30010 */ lw $v1, 0x10($a2)
/* 3CB188 E00C4398 24A20008 */ addiu $v0, $a1, 8
/* 3CB18C E00C439C AE420000 */ sw $v0, ($s2)
/* 3CB190 E00C43A0 8C62001C */ lw $v0, 0x1c($v1)
/* 3CB194 E00C43A4 3C038000 */ lui $v1, 0x8000
/* 3CB198 E00C43A8 00431021 */ addu $v0, $v0, $v1
/* 3CB19C E00C43AC 3C03800B */ lui $v1, %hi(gCameras)
/* 3CB1A0 E00C43B0 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3CB1A4 E00C43B4 ACA20004 */ sw $v0, 4($a1)
/* 3CB1A8 E00C43B8 8FC50004 */ lw $a1, 4($fp)
/* 3CB1AC E00C43BC 8FC60008 */ lw $a2, 8($fp)
/* 3CB1B0 E00C43C0 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3CB1B4 E00C43C4 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3CB1B8 E00C43C8 8FC7000C */ lw $a3, 0xc($fp)
/* 3CB1BC E00C43CC 00028080 */ sll $s0, $v0, 2
/* 3CB1C0 E00C43D0 02028021 */ addu $s0, $s0, $v0
/* 3CB1C4 E00C43D4 00108080 */ sll $s0, $s0, 2
/* 3CB1C8 E00C43D8 02028023 */ subu $s0, $s0, $v0
/* 3CB1CC E00C43DC 001010C0 */ sll $v0, $s0, 3
/* 3CB1D0 E00C43E0 02028021 */ addu $s0, $s0, $v0
/* 3CB1D4 E00C43E4 001080C0 */ sll $s0, $s0, 3
/* 3CB1D8 E00C43E8 0C080108 */ jal shim_guTranslateF
/* 3CB1DC E00C43EC 02038021 */ addu $s0, $s0, $v1
/* 3CB1E0 E00C43F0 27B10060 */ addiu $s1, $sp, 0x60
/* 3CB1E4 E00C43F4 8FC50028 */ lw $a1, 0x28($fp)
/* 3CB1E8 E00C43F8 0220202D */ daddu $a0, $s1, $zero
/* 3CB1EC E00C43FC 00A0302D */ daddu $a2, $a1, $zero
/* 3CB1F0 E00C4400 0C080110 */ jal shim_guScaleF
/* 3CB1F4 E00C4404 00A0382D */ daddu $a3, $a1, $zero
/* 3CB1F8 E00C4408 0220202D */ daddu $a0, $s1, $zero
/* 3CB1FC E00C440C 27A50020 */ addiu $a1, $sp, 0x20
/* 3CB200 E00C4410 0C080114 */ jal shim_guMtxCatF
/* 3CB204 E00C4414 00A0302D */ daddu $a2, $a1, $zero
/* 3CB208 E00C4418 27A40020 */ addiu $a0, $sp, 0x20
/* 3CB20C E00C441C 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3CB210 E00C4420 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3CB214 E00C4424 3C13800A */ lui $s3, %hi(gDisplayContext)
/* 3CB218 E00C4428 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext)
/* 3CB21C E00C442C 96250000 */ lhu $a1, ($s1)
/* 3CB220 E00C4430 8E620000 */ lw $v0, ($s3)
/* 3CB224 E00C4434 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 3CB228 E00C4438 00052980 */ sll $a1, $a1, 6
/* 3CB22C E00C443C 00AF2821 */ addu $a1, $a1, $t7
/* 3CB230 E00C4440 0C080118 */ jal shim_guMtxF2L
/* 3CB234 E00C4444 00452821 */ addu $a1, $v0, $a1
/* 3CB238 E00C4448 3C03DA38 */ lui $v1, 0xda38
/* 3CB23C E00C444C 34630002 */ ori $v1, $v1, 2
/* 3CB240 E00C4450 3C06DA38 */ lui $a2, 0xda38
/* 3CB244 E00C4454 34C60001 */ ori $a2, $a2, 1
/* 3CB248 E00C4458 00141080 */ sll $v0, $s4, 2
/* 3CB24C E00C445C 00541021 */ addu $v0, $v0, $s4
/* 3CB250 E00C4460 0002A040 */ sll $s4, $v0, 1
/* 3CB254 E00C4464 0280B82D */ daddu $s7, $s4, $zero
/* 3CB258 E00C4468 8E440000 */ lw $a0, ($s2)
/* 3CB25C E00C446C 96220000 */ lhu $v0, ($s1)
/* 3CB260 E00C4470 0080282D */ daddu $a1, $a0, $zero
/* 3CB264 E00C4474 24840008 */ addiu $a0, $a0, 8
/* 3CB268 E00C4478 248F0020 */ addiu $t7, $a0, 0x20
/* 3CB26C E00C447C AFAF00A4 */ sw $t7, 0xa4($sp)
/* 3CB270 E00C4480 AE440000 */ sw $a0, ($s2)
/* 3CB274 E00C4484 ACA30000 */ sw $v1, ($a1)
/* 3CB278 E00C4488 24430001 */ addiu $v1, $v0, 1
/* 3CB27C E00C448C 3042FFFF */ andi $v0, $v0, 0xffff
/* 3CB280 E00C4490 00021180 */ sll $v0, $v0, 6
/* 3CB284 E00C4494 A6230000 */ sh $v1, ($s1)
/* 3CB288 E00C4498 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 3CB28C E00C449C 8E630000 */ lw $v1, ($s3)
/* 3CB290 E00C44A0 004F1021 */ addu $v0, $v0, $t7
/* 3CB294 E00C44A4 00621821 */ addu $v1, $v1, $v0
/* 3CB298 E00C44A8 24820008 */ addiu $v0, $a0, 8
/* 3CB29C E00C44AC ACA30004 */ sw $v1, 4($a1)
/* 3CB2A0 E00C44B0 AE420000 */ sw $v0, ($s2)
/* 3CB2A4 E00C44B4 24820010 */ addiu $v0, $a0, 0x10
/* 3CB2A8 E00C44B8 AC860000 */ sw $a2, ($a0)
/* 3CB2AC E00C44BC AE420000 */ sw $v0, ($s2)
/* 3CB2B0 E00C44C0 8E030204 */ lw $v1, 0x204($s0)
/* 3CB2B4 E00C44C4 3C02DE00 */ lui $v0, 0xde00
/* 3CB2B8 E00C44C8 AC820008 */ sw $v0, 8($a0)
/* 3CB2BC E00C44CC 3C020900 */ lui $v0, 0x900
/* 3CB2C0 E00C44D0 24421000 */ addiu $v0, $v0, 0x1000
/* 3CB2C4 E00C44D4 AC82000C */ sw $v0, 0xc($a0)
/* 3CB2C8 E00C44D8 24820018 */ addiu $v0, $a0, 0x18
/* 3CB2CC E00C44DC AE420000 */ sw $v0, ($s2)
/* 3CB2D0 E00C44E0 3C02FB00 */ lui $v0, 0xfb00
/* 3CB2D4 E00C44E4 AC820010 */ sw $v0, 0x10($a0)
/* 3CB2D8 E00C44E8 AC830004 */ sw $v1, 4($a0)
/* 3CB2DC E00C44EC 93C3002F */ lbu $v1, 0x2f($fp)
/* 3CB2E0 E00C44F0 3C02DE01 */ lui $v0, 0xde01
/* 3CB2E4 E00C44F4 AC820018 */ sw $v0, 0x18($a0)
/* 3CB2E8 E00C44F8 24820220 */ addiu $v0, $a0, 0x220
/* 3CB2EC E00C44FC AC82001C */ sw $v0, 0x1c($a0)
/* 3CB2F0 E00C4500 AE420000 */ sw $v0, ($s2)
/* 3CB2F4 E00C4504 AC830014 */ sw $v1, 0x14($a0)
.LE00C4508:
/* 3CB2F8 E00C4508 00168140 */ sll $s0, $s6, 5
/* 3CB2FC E00C450C 44976000 */ mtc1 $s7, $f12
/* 3CB300 E00C4510 00000000 */ nop
/* 3CB304 E00C4514 46806320 */ cvt.s.w $f12, $f12
/* 3CB308 E00C4518 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 3CB30C E00C451C C7D40030 */ lwc1 $f20, 0x30($fp)
/* 3CB310 E00C4520 0C080140 */ jal shim_sin_deg
/* 3CB314 E00C4524 01F08021 */ addu $s0, $t7, $s0
/* 3CB318 E00C4528 3C0143FA */ lui $at, 0x43fa
/* 3CB31C E00C452C 44811000 */ mtc1 $at, $f2
/* 3CB320 E00C4530 00000000 */ nop
/* 3CB324 E00C4534 46020002 */ mul.s $f0, $f0, $f2
/* 3CB328 E00C4538 00000000 */ nop
/* 3CB32C E00C453C 46140002 */ mul.s $f0, $f0, $f20
/* 3CB330 E00C4540 00000000 */ nop
/* 3CB334 E00C4544 44946000 */ mtc1 $s4, $f12
/* 3CB338 E00C4548 00000000 */ nop
/* 3CB33C E00C454C 46806320 */ cvt.s.w $f12, $f12
/* 3CB340 E00C4550 4600010D */ trunc.w.s $f4, $f0
/* 3CB344 E00C4554 44112000 */ mfc1 $s1, $f4
/* 3CB348 E00C4558 0C080140 */ jal shim_sin_deg
/* 3CB34C E00C455C 26940006 */ addiu $s4, $s4, 6
/* 3CB350 E00C4560 3C014348 */ lui $at, 0x4348
/* 3CB354 E00C4564 44811000 */ mtc1 $at, $f2
/* 3CB358 E00C4568 26F7003C */ addiu $s7, $s7, 0x3c
/* 3CB35C E00C456C 46020002 */ mul.s $f0, $f0, $f2
/* 3CB360 E00C4570 00000000 */ nop
/* 3CB364 E00C4574 001619C0 */ sll $v1, $s6, 7
/* 3CB368 E00C4578 26D60001 */ addiu $s6, $s6, 1
/* 3CB36C E00C457C 2622F380 */ addiu $v0, $s1, -0xc80
/* 3CB370 E00C4580 26310C80 */ addiu $s1, $s1, 0xc80
/* 3CB374 E00C4584 46140002 */ mul.s $f0, $f0, $f20
/* 3CB378 E00C4588 00000000 */ nop
/* 3CB37C E00C458C A6020000 */ sh $v0, ($s0)
/* 3CB380 E00C4590 A6000004 */ sh $zero, 4($s0)
/* 3CB384 E00C4594 A6000008 */ sh $zero, 8($s0)
/* 3CB388 E00C4598 A603000A */ sh $v1, 0xa($s0)
/* 3CB38C E00C459C 4600010D */ trunc.w.s $f4, $f0
/* 3CB390 E00C45A0 44022000 */ mfc1 $v0, $f4
/* 3CB394 E00C45A4 00000000 */ nop
/* 3CB398 E00C45A8 02A21021 */ addu $v0, $s5, $v0
/* 3CB39C E00C45AC 2442F448 */ addiu $v0, $v0, -0xbb8
/* 3CB3A0 E00C45B0 A6020002 */ sh $v0, 2($s0)
/* 3CB3A4 E00C45B4 26100010 */ addiu $s0, $s0, 0x10
/* 3CB3A8 E00C45B8 26B50190 */ addiu $s5, $s5, 0x190
/* 3CB3AC E00C45BC A6020002 */ sh $v0, 2($s0)
/* 3CB3B0 E00C45C0 24020800 */ addiu $v0, $zero, 0x800
/* 3CB3B4 E00C45C4 A6020008 */ sh $v0, 8($s0)
/* 3CB3B8 E00C45C8 2AC20010 */ slti $v0, $s6, 0x10
/* 3CB3BC E00C45CC A6110000 */ sh $s1, ($s0)
/* 3CB3C0 E00C45D0 A6000004 */ sh $zero, 4($s0)
/* 3CB3C4 E00C45D4 1440FFCC */ bnez $v0, .LE00C4508
/* 3CB3C8 E00C45D8 A603000A */ sh $v1, 0xa($s0)
/* 3CB3CC E00C45DC 27A40020 */ addiu $a0, $sp, 0x20
/* 3CB3D0 E00C45E0 3C130001 */ lui $s3, 1
/* 3CB3D4 E00C45E4 36731630 */ ori $s3, $s3, 0x1630
/* 3CB3D8 E00C45E8 0000B02D */ daddu $s6, $zero, $zero
/* 3CB3DC E00C45EC 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 3CB3E0 E00C45F0 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 3CB3E4 E00C45F4 3C013C23 */ lui $at, 0x3c23
/* 3CB3E8 E00C45F8 3421D70A */ ori $at, $at, 0xd70a
/* 3CB3EC E00C45FC 44810000 */ mtc1 $at, $f0
/* 3CB3F0 E00C4600 8E020000 */ lw $v0, ($s0)
/* 3CB3F4 E00C4604 3C03DE01 */ lui $v1, 0xde01
/* 3CB3F8 E00C4608 AC430000 */ sw $v1, ($v0)
/* 3CB3FC E00C460C 244300A0 */ addiu $v1, $v0, 0xa0
/* 3CB400 E00C4610 AC430004 */ sw $v1, 4($v0)
/* 3CB404 E00C4614 24420008 */ addiu $v0, $v0, 8
/* 3CB408 E00C4618 44050000 */ mfc1 $a1, $f0
/* 3CB40C E00C461C 0040A82D */ daddu $s5, $v0, $zero
/* 3CB410 E00C4620 AE020000 */ sw $v0, ($s0)
/* 3CB414 E00C4624 00A0302D */ daddu $a2, $a1, $zero
/* 3CB418 E00C4628 0C080110 */ jal shim_guScaleF
/* 3CB41C E00C462C 00A0382D */ daddu $a3, $a1, $zero
/* 3CB420 E00C4630 27A40020 */ addiu $a0, $sp, 0x20
/* 3CB424 E00C4634 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3CB428 E00C4638 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3CB42C E00C463C 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 3CB430 E00C4640 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 3CB434 E00C4644 96250000 */ lhu $a1, ($s1)
/* 3CB438 E00C4648 8E420000 */ lw $v0, ($s2)
/* 3CB43C E00C464C 00052980 */ sll $a1, $a1, 6
/* 3CB440 E00C4650 00B32821 */ addu $a1, $a1, $s3
/* 3CB444 E00C4654 0C080118 */ jal shim_guMtxF2L
/* 3CB448 E00C4658 00452821 */ addu $a1, $v0, $a1
/* 3CB44C E00C465C 3C060102 */ lui $a2, 0x102
/* 3CB450 E00C4660 34C60040 */ ori $a2, $a2, 0x40
/* 3CB454 E00C4664 3C0B0600 */ lui $t3, 0x600
/* 3CB458 E00C4668 240A0001 */ addiu $t2, $zero, 1
/* 3CB45C E00C466C 3C0E0606 */ lui $t6, 0x606
/* 3CB460 E00C4670 35CE0402 */ ori $t6, $t6, 0x402
/* 3CB464 E00C4674 3C0D0002 */ lui $t5, 2
/* 3CB468 E00C4678 35AD0406 */ ori $t5, $t5, 0x406
/* 3CB46C E00C467C 3C0C0006 */ lui $t4, 6
/* 3CB470 E00C4680 358C0804 */ ori $t4, $t4, 0x804
/* 3CB474 E00C4684 24080004 */ addiu $t0, $zero, 4
/* 3CB478 E00C4688 8E040000 */ lw $a0, ($s0)
/* 3CB47C E00C468C 24090006 */ addiu $t1, $zero, 6
/* 3CB480 E00C4690 0080282D */ daddu $a1, $a0, $zero
/* 3CB484 E00C4694 24840008 */ addiu $a0, $a0, 8
/* 3CB488 E00C4698 AE040000 */ sw $a0, ($s0)
/* 3CB48C E00C469C 96220000 */ lhu $v0, ($s1)
/* 3CB490 E00C46A0 3C03DA38 */ lui $v1, 0xda38
/* 3CB494 E00C46A4 ACA30000 */ sw $v1, ($a1)
/* 3CB498 E00C46A8 004A1821 */ addu $v1, $v0, $t2
/* 3CB49C E00C46AC 3042FFFF */ andi $v0, $v0, 0xffff
/* 3CB4A0 E00C46B0 01221004 */ sllv $v0, $v0, $t1
/* 3CB4A4 E00C46B4 A6230000 */ sh $v1, ($s1)
/* 3CB4A8 E00C46B8 8E430000 */ lw $v1, ($s2)
/* 3CB4AC E00C46BC 00531021 */ addu $v0, $v0, $s3
/* 3CB4B0 E00C46C0 00621821 */ addu $v1, $v1, $v0
/* 3CB4B4 E00C46C4 24820008 */ addiu $v0, $a0, 8
/* 3CB4B8 E00C46C8 ACA30004 */ sw $v1, 4($a1)
/* 3CB4BC E00C46CC AE020000 */ sw $v0, ($s0)
/* 3CB4C0 E00C46D0 AC860000 */ sw $a2, ($a0)
/* 3CB4C4 E00C46D4 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 3CB4C8 E00C46D8 24070002 */ addiu $a3, $zero, 2
/* 3CB4CC E00C46DC AC8F0004 */ sw $t7, 4($a0)
.LE00C46E0:
/* 3CB4D0 E00C46E0 8E040000 */ lw $a0, ($s0)
/* 3CB4D4 E00C46E4 00162840 */ sll $a1, $s6, 1
/* 3CB4D8 E00C46E8 24820008 */ addiu $v0, $a0, 8
/* 3CB4DC E00C46EC 14A00004 */ bnez $a1, .LE00C4700
/* 3CB4E0 E00C46F0 AE020000 */ sw $v0, ($s0)
/* 3CB4E4 E00C46F4 00161440 */ sll $v0, $s6, 0x11
/* 3CB4E8 E00C46F8 080311CA */ j .LE00C4728
/* 3CB4EC E00C46FC 34420402 */ ori $v0, $v0, 0x402
.LE00C4700:
/* 3CB4F0 E00C4700 14AA0003 */ bne $a1, $t2, .LE00C4710
/* 3CB4F4 E00C4704 30E200FF */ andi $v0, $a3, 0xff
/* 3CB4F8 E00C4708 080311CC */ j .LE00C4730
/* 3CB4FC E00C470C AC8E0000 */ sw $t6, ($a0)
.LE00C4710:
/* 3CB500 E00C4710 00021400 */ sll $v0, $v0, 0x10
/* 3CB504 E00C4714 00161A80 */ sll $v1, $s6, 0xa
/* 3CB508 E00C4718 3063FC00 */ andi $v1, $v1, 0xfc00
/* 3CB50C E00C471C 00431025 */ or $v0, $v0, $v1
/* 3CB510 E00C4720 310300FF */ andi $v1, $t0, 0xff
/* 3CB514 E00C4724 00431025 */ or $v0, $v0, $v1
.LE00C4728:
/* 3CB518 E00C4728 004B1025 */ or $v0, $v0, $t3
/* 3CB51C E00C472C AC820000 */ sw $v0, ($a0)
.LE00C4730:
/* 3CB520 E00C4730 14A00003 */ bnez $a1, .LE00C4740
/* 3CB524 E00C4734 00000000 */ nop
/* 3CB528 E00C4738 080311DB */ j .LE00C476C
/* 3CB52C E00C473C AC8D0004 */ sw $t5, 4($a0)
.LE00C4740:
/* 3CB530 E00C4740 14AA0003 */ bne $a1, $t2, .LE00C4750
/* 3CB534 E00C4744 312200FF */ andi $v0, $t1, 0xff
/* 3CB538 E00C4748 080311DB */ j .LE00C476C
/* 3CB53C E00C474C AC8C0004 */ sw $t4, 4($a0)
.LE00C4750:
/* 3CB540 E00C4750 00021400 */ sll $v0, $v0, 0x10
/* 3CB544 E00C4754 30E300FF */ andi $v1, $a3, 0xff
/* 3CB548 E00C4758 00031A00 */ sll $v1, $v1, 8
/* 3CB54C E00C475C 00431025 */ or $v0, $v0, $v1
/* 3CB550 E00C4760 310300FF */ andi $v1, $t0, 0xff
/* 3CB554 E00C4764 00431025 */ or $v0, $v0, $v1
/* 3CB558 E00C4768 AC820004 */ sw $v0, 4($a0)
.LE00C476C:
/* 3CB55C E00C476C 25080004 */ addiu $t0, $t0, 4
/* 3CB560 E00C4770 24E70004 */ addiu $a3, $a3, 4
/* 3CB564 E00C4774 26D60001 */ addiu $s6, $s6, 1
/* 3CB568 E00C4778 2AC2000F */ slti $v0, $s6, 0xf
/* 3CB56C E00C477C 1440FFD8 */ bnez $v0, .LE00C46E0
/* 3CB570 E00C4780 25290004 */ addiu $t1, $t1, 4
/* 3CB574 E00C4784 3C03D838 */ lui $v1, 0xd838
/* 3CB578 E00C4788 34630002 */ ori $v1, $v1, 2
/* 3CB57C E00C478C 0000B02D */ daddu $s6, $zero, $zero
/* 3CB580 E00C4790 3C17E00C */ lui $s7, %hi(D_E00C49D0)
/* 3CB584 E00C4794 26F749D0 */ addiu $s7, $s7, %lo(D_E00C49D0)
/* 3CB588 E00C4798 3C14800A */ lui $s4, %hi(gDisplayContext)
/* 3CB58C E00C479C 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext)
/* 3CB590 E00C47A0 3C138007 */ lui $s3, %hi(gMatrixListPos)
/* 3CB594 E00C47A4 267341F0 */ addiu $s3, $s3, %lo(gMatrixListPos)
/* 3CB598 E00C47A8 3C120001 */ lui $s2, 1
/* 3CB59C E00C47AC 36521630 */ ori $s2, $s2, 0x1630
/* 3CB5A0 E00C47B0 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 3CB5A4 E00C47B4 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 3CB5A8 E00C47B8 0040882D */ daddu $s1, $v0, $zero
/* 3CB5AC E00C47BC 8E220000 */ lw $v0, ($s1)
/* 3CB5B0 E00C47C0 03C0802D */ daddu $s0, $fp, $zero
/* 3CB5B4 E00C47C4 0040202D */ daddu $a0, $v0, $zero
/* 3CB5B8 E00C47C8 24420008 */ addiu $v0, $v0, 8
/* 3CB5BC E00C47CC AE220000 */ sw $v0, ($s1)
/* 3CB5C0 E00C47D0 AC830000 */ sw $v1, ($a0)
/* 3CB5C4 E00C47D4 24030040 */ addiu $v1, $zero, 0x40
/* 3CB5C8 E00C47D8 AC830004 */ sw $v1, 4($a0)
/* 3CB5CC E00C47DC 24430008 */ addiu $v1, $v0, 8
/* 3CB5D0 E00C47E0 AE230000 */ sw $v1, ($s1)
/* 3CB5D4 E00C47E4 3C03DF00 */ lui $v1, 0xdf00
/* 3CB5D8 E00C47E8 AC430000 */ sw $v1, ($v0)
/* 3CB5DC E00C47EC AC400004 */ sw $zero, 4($v0)
.LE00C47F0:
/* 3CB5E0 E00C47F0 06C10002 */ bgez $s6, .LE00C47FC
/* 3CB5E4 E00C47F4 02C0102D */ daddu $v0, $s6, $zero
/* 3CB5E8 E00C47F8 26C20003 */ addiu $v0, $s6, 3
.LE00C47FC:
/* 3CB5EC E00C47FC 00021083 */ sra $v0, $v0, 2
/* 3CB5F0 E00C4800 00021080 */ sll $v0, $v0, 2
/* 3CB5F4 E00C4804 02C21023 */ subu $v0, $s6, $v0
/* 3CB5F8 E00C4808 00571021 */ addu $v0, $v0, $s7
/* 3CB5FC E00C480C 90420000 */ lbu $v0, ($v0)
/* 3CB600 E00C4810 3C01E00C */ lui $at, %hi(D_E00C4A98)
/* 3CB604 E00C4814 D4224A98 */ ldc1 $f2, %lo(D_E00C4A98)($at)
/* 3CB608 E00C4818 44820000 */ mtc1 $v0, $f0
/* 3CB60C E00C481C 00000000 */ nop
/* 3CB610 E00C4820 46800021 */ cvt.d.w $f0, $f0
/* 3CB614 E00C4824 46220002 */ mul.d $f0, $f0, $f2
/* 3CB618 E00C4828 00000000 */ nop
/* 3CB61C E00C482C 46200020 */ cvt.s.d $f0, $f0
/* 3CB620 E00C4830 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3CB624 E00C4834 C6000034 */ lwc1 $f0, 0x34($s0)
/* 3CB628 E00C4838 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3CB62C E00C483C C600005C */ lwc1 $f0, 0x5c($s0)
/* 3CB630 E00C4840 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3CB634 E00C4844 C6000084 */ lwc1 $f0, 0x84($s0)
/* 3CB638 E00C4848 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3CB63C E00C484C 8E0500AC */ lw $a1, 0xac($s0)
/* 3CB640 E00C4850 8E0600D4 */ lw $a2, 0xd4($s0)
/* 3CB644 E00C4854 8E0700FC */ lw $a3, 0xfc($s0)
/* 3CB648 E00C4858 0C080180 */ jal shim_guPositionF
/* 3CB64C E00C485C 27A40020 */ addiu $a0, $sp, 0x20
/* 3CB650 E00C4860 27A40020 */ addiu $a0, $sp, 0x20
/* 3CB654 E00C4864 96650000 */ lhu $a1, ($s3)
/* 3CB658 E00C4868 8E820000 */ lw $v0, ($s4)
/* 3CB65C E00C486C 00052980 */ sll $a1, $a1, 6
/* 3CB660 E00C4870 00B22821 */ addu $a1, $a1, $s2
/* 3CB664 E00C4874 0C080118 */ jal shim_guMtxF2L
/* 3CB668 E00C4878 00452821 */ addu $a1, $v0, $a1
/* 3CB66C E00C487C 3C088080 */ lui $t0, 0x8080
/* 3CB670 E00C4880 35088081 */ ori $t0, $t0, 0x8081
/* 3CB674 E00C4884 3C0AD838 */ lui $t2, 0xd838
/* 3CB678 E00C4888 3C02DA38 */ lui $v0, 0xda38
/* 3CB67C E00C488C 8E240000 */ lw $a0, ($s1)
/* 3CB680 E00C4890 96660000 */ lhu $a2, ($s3)
/* 3CB684 E00C4894 0080282D */ daddu $a1, $a0, $zero
/* 3CB688 E00C4898 24840008 */ addiu $a0, $a0, 8
/* 3CB68C E00C489C ACA20000 */ sw $v0, ($a1)
/* 3CB690 E00C48A0 30C2FFFF */ andi $v0, $a2, 0xffff
/* 3CB694 E00C48A4 00021180 */ sll $v0, $v0, 6
/* 3CB698 E00C48A8 00521021 */ addu $v0, $v0, $s2
/* 3CB69C E00C48AC 8E830000 */ lw $v1, ($s4)
/* 3CB6A0 E00C48B0 24C60001 */ addiu $a2, $a2, 1
/* 3CB6A4 E00C48B4 00621821 */ addu $v1, $v1, $v0
/* 3CB6A8 E00C48B8 3C02FA00 */ lui $v0, 0xfa00
/* 3CB6AC E00C48BC ACA30004 */ sw $v1, 4($a1)
/* 3CB6B0 E00C48C0 AC820000 */ sw $v0, ($a0)
/* 3CB6B4 E00C48C4 8E050124 */ lw $a1, 0x124($s0)
/* 3CB6B8 E00C48C8 24820008 */ addiu $v0, $a0, 8
/* 3CB6BC E00C48CC AE240000 */ sw $a0, ($s1)
/* 3CB6C0 E00C48D0 A6660000 */ sh $a2, ($s3)
/* 3CB6C4 E00C48D4 AE220000 */ sw $v0, ($s1)
/* 3CB6C8 E00C48D8 3C03E00C */ lui $v1, %hi(D_E00C49D4)
/* 3CB6CC E00C48DC 00761821 */ addu $v1, $v1, $s6
/* 3CB6D0 E00C48E0 906349D4 */ lbu $v1, %lo(D_E00C49D4)($v1)
/* 3CB6D4 E00C48E4 3C06E00C */ lui $a2, %hi(D_E00C49E8)
/* 3CB6D8 E00C48E8 00D63021 */ addu $a2, $a2, $s6
/* 3CB6DC E00C48EC 90C649E8 */ lbu $a2, %lo(D_E00C49E8)($a2)
/* 3CB6E0 E00C48F0 3C07E00C */ lui $a3, %hi(D_E00C49FC)
/* 3CB6E4 E00C48F4 00F63821 */ addu $a3, $a3, $s6
/* 3CB6E8 E00C48F8 90E749FC */ lbu $a3, %lo(D_E00C49FC)($a3)
/* 3CB6EC E00C48FC 24820010 */ addiu $v0, $a0, 0x10
/* 3CB6F0 E00C4900 AE220000 */ sw $v0, ($s1)
/* 3CB6F4 E00C4904 3C02DE00 */ lui $v0, 0xde00
/* 3CB6F8 E00C4908 AC820008 */ sw $v0, 8($a0)
/* 3CB6FC E00C490C 24820018 */ addiu $v0, $a0, 0x18
/* 3CB700 E00C4910 AC95000C */ sw $s5, 0xc($a0)
/* 3CB704 E00C4914 AE220000 */ sw $v0, ($s1)
/* 3CB708 E00C4918 8FAF00A0 */ lw $t7, 0xa0($sp)
/* 3CB70C E00C491C 354A0002 */ ori $t2, $t2, 2
/* 3CB710 E00C4920 01E50018 */ mult $t7, $a1
/* 3CB714 E00C4924 24090040 */ addiu $t1, $zero, 0x40
/* 3CB718 E00C4928 26100004 */ addiu $s0, $s0, 4
/* 3CB71C E00C492C 26D60001 */ addiu $s6, $s6, 1
/* 3CB720 E00C4930 AC8A0010 */ sw $t2, 0x10($a0)
/* 3CB724 E00C4934 00002812 */ mflo $a1
/* 3CB728 E00C4938 AC890014 */ sw $t1, 0x14($a0)
/* 3CB72C E00C493C 00031E00 */ sll $v1, $v1, 0x18
/* 3CB730 E00C4940 00A80018 */ mult $a1, $t0
/* 3CB734 E00C4944 00063400 */ sll $a2, $a2, 0x10
/* 3CB738 E00C4948 00661825 */ or $v1, $v1, $a2
/* 3CB73C E00C494C 00073A00 */ sll $a3, $a3, 8
/* 3CB740 E00C4950 00671825 */ or $v1, $v1, $a3
/* 3CB744 E00C4954 00001010 */ mfhi $v0
/* 3CB748 E00C4958 00451021 */ addu $v0, $v0, $a1
/* 3CB74C E00C495C 000211C3 */ sra $v0, $v0, 7
/* 3CB750 E00C4960 00052FC3 */ sra $a1, $a1, 0x1f
/* 3CB754 E00C4964 00451023 */ subu $v0, $v0, $a1
/* 3CB758 E00C4968 304200FF */ andi $v0, $v0, 0xff
/* 3CB75C E00C496C 00621825 */ or $v1, $v1, $v0
/* 3CB760 E00C4970 2AC2000A */ slti $v0, $s6, 0xa
/* 3CB764 E00C4974 1440FF9E */ bnez $v0, .LE00C47F0
/* 3CB768 E00C4978 AC830004 */ sw $v1, 4($a0)
/* 3CB76C E00C497C 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 3CB770 E00C4980 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 3CB774 E00C4984 8C430000 */ lw $v1, ($v0)
/* 3CB778 E00C4988 0060202D */ daddu $a0, $v1, $zero
/* 3CB77C E00C498C 24630008 */ addiu $v1, $v1, 8
/* 3CB780 E00C4990 AC430000 */ sw $v1, ($v0)
/* 3CB784 E00C4994 AC8A0000 */ sw $t2, ($a0)
/* 3CB788 E00C4998 AC890004 */ sw $t1, 4($a0)
/* 3CB78C E00C499C 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 3CB790 E00C49A0 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 3CB794 E00C49A4 8FB700CC */ lw $s7, 0xcc($sp)
/* 3CB798 E00C49A8 8FB600C8 */ lw $s6, 0xc8($sp)
/* 3CB79C E00C49AC 8FB500C4 */ lw $s5, 0xc4($sp)
/* 3CB7A0 E00C49B0 8FB400C0 */ lw $s4, 0xc0($sp)
/* 3CB7A4 E00C49B4 8FB300BC */ lw $s3, 0xbc($sp)
/* 3CB7A8 E00C49B8 8FB200B8 */ lw $s2, 0xb8($sp)
/* 3CB7AC E00C49BC 8FB100B4 */ lw $s1, 0xb4($sp)
/* 3CB7B0 E00C49C0 8FB000B0 */ lw $s0, 0xb0($sp)
/* 3CB7B4 E00C49C4 D7B400D8 */ ldc1 $f20, 0xd8($sp)
/* 3CB7B8 E00C49C8 03E00008 */ jr $ra
/* 3CB7BC E00C49CC 27BD00E0 */ addiu $sp, $sp, 0xe0

View File

@ -1,101 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel stop_watch_main
/* 3CADF0 E00C4000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3CADF4 E00C4004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3CADF8 E00C4008 4485A000 */ mtc1 $a1, $f20
/* 3CADFC E00C400C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3CAE00 E00C4010 4486B000 */ mtc1 $a2, $f22
/* 3CAE04 E00C4014 AFB20030 */ sw $s2, 0x30($sp)
/* 3CAE08 E00C4018 0080902D */ daddu $s2, $a0, $zero
/* 3CAE0C E00C401C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3CAE10 E00C4020 4487C000 */ mtc1 $a3, $f24
/* 3CAE14 E00C4024 27A40010 */ addiu $a0, $sp, 0x10
/* 3CAE18 E00C4028 AFB1002C */ sw $s1, 0x2c($sp)
/* 3CAE1C E00C402C 8FB10064 */ lw $s1, 0x64($sp)
/* 3CAE20 E00C4030 3C02E00C */ lui $v0, %hi(stop_watch_init)
/* 3CAE24 E00C4034 24424170 */ addiu $v0, $v0, %lo(stop_watch_init)
/* 3CAE28 E00C4038 AFA20018 */ sw $v0, 0x18($sp)
/* 3CAE2C E00C403C 3C02E00C */ lui $v0, %hi(stop_watch_update)
/* 3CAE30 E00C4040 24424178 */ addiu $v0, $v0, %lo(stop_watch_update)
/* 3CAE34 E00C4044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3CAE38 E00C4048 3C02E00C */ lui $v0, %hi(stop_watch_render)
/* 3CAE3C E00C404C 244242C4 */ addiu $v0, $v0, %lo(stop_watch_render)
/* 3CAE40 E00C4050 AFA20020 */ sw $v0, 0x20($sp)
/* 3CAE44 E00C4054 24020062 */ addiu $v0, $zero, 0x62
/* 3CAE48 E00C4058 AFBF0034 */ sw $ra, 0x34($sp)
/* 3CAE4C E00C405C AFB00028 */ sw $s0, 0x28($sp)
/* 3CAE50 E00C4060 AFA00010 */ sw $zero, 0x10($sp)
/* 3CAE54 E00C4064 AFA00024 */ sw $zero, 0x24($sp)
/* 3CAE58 E00C4068 0C080124 */ jal shim_create_effect_instance
/* 3CAE5C E00C406C AFA20014 */ sw $v0, 0x14($sp)
/* 3CAE60 E00C4070 24040174 */ addiu $a0, $zero, 0x174
/* 3CAE64 E00C4074 24030001 */ addiu $v1, $zero, 1
/* 3CAE68 E00C4078 0040802D */ daddu $s0, $v0, $zero
/* 3CAE6C E00C407C 0C08012C */ jal shim_general_heap_malloc
/* 3CAE70 E00C4080 AE030008 */ sw $v1, 8($s0)
/* 3CAE74 E00C4084 0040182D */ daddu $v1, $v0, $zero
/* 3CAE78 E00C4088 14600003 */ bnez $v1, .LE00C4098
/* 3CAE7C E00C408C AE02000C */ sw $v0, 0xc($s0)
.LE00C4090:
/* 3CAE80 E00C4090 08031024 */ j .LE00C4090
/* 3CAE84 E00C4094 00000000 */ nop
.LE00C4098:
/* 3CAE88 E00C4098 AC720000 */ sw $s2, ($v1)
/* 3CAE8C E00C409C 1E200004 */ bgtz $s1, .LE00C40B0
/* 3CAE90 E00C40A0 AC600014 */ sw $zero, 0x14($v1)
/* 3CAE94 E00C40A4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3CAE98 E00C40A8 0803102D */ j .LE00C40B4
/* 3CAE9C E00C40AC AC620010 */ sw $v0, 0x10($v1)
.LE00C40B0:
/* 3CAEA0 E00C40B0 AC710010 */ sw $s1, 0x10($v1)
.LE00C40B4:
/* 3CAEA4 E00C40B4 0000282D */ daddu $a1, $zero, $zero
/* 3CAEA8 E00C40B8 3C04E00C */ lui $a0, %hi(D_E00C4A10)
/* 3CAEAC E00C40BC 24844A10 */ addiu $a0, $a0, %lo(D_E00C4A10)
/* 3CAEB0 E00C40C0 AC600024 */ sw $zero, 0x24($v1)
/* 3CAEB4 E00C40C4 E4740004 */ swc1 $f20, 4($v1)
/* 3CAEB8 E00C40C8 E4760008 */ swc1 $f22, 8($v1)
/* 3CAEBC E00C40CC E478000C */ swc1 $f24, 0xc($v1)
/* 3CAEC0 E00C40D0 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 3CAEC4 E00C40D4 24020046 */ addiu $v0, $zero, 0x46
/* 3CAEC8 E00C40D8 AC620018 */ sw $v0, 0x18($v1)
/* 3CAECC E00C40DC 240200B4 */ addiu $v0, $zero, 0xb4
/* 3CAED0 E00C40E0 AC62001C */ sw $v0, 0x1c($v1)
/* 3CAED4 E00C40E4 E4600028 */ swc1 $f0, 0x28($v1)
/* 3CAED8 E00C40E8 3C013F80 */ lui $at, 0x3f80
/* 3CAEDC E00C40EC 44810000 */ mtc1 $at, $f0
/* 3CAEE0 E00C40F0 24020078 */ addiu $v0, $zero, 0x78
/* 3CAEE4 E00C40F4 AC620020 */ sw $v0, 0x20($v1)
/* 3CAEE8 E00C40F8 AC60002C */ sw $zero, 0x2c($v1)
/* 3CAEEC E00C40FC E4600030 */ swc1 $f0, 0x30($v1)
.LE00C4100:
/* 3CAEF0 E00C4100 C4800000 */ lwc1 $f0, ($a0)
/* 3CAEF4 E00C4104 46800020 */ cvt.s.w $f0, $f0
/* 3CAEF8 E00C4108 E4600034 */ swc1 $f0, 0x34($v1)
/* 3CAEFC E00C410C C4800004 */ lwc1 $f0, 4($a0)
/* 3CAF00 E00C4110 46800020 */ cvt.s.w $f0, $f0
/* 3CAF04 E00C4114 E460005C */ swc1 $f0, 0x5c($v1)
/* 3CAF08 E00C4118 AC600084 */ sw $zero, 0x84($v1)
/* 3CAF0C E00C411C AC6000AC */ sw $zero, 0xac($v1)
/* 3CAF10 E00C4120 AC6000D4 */ sw $zero, 0xd4($v1)
/* 3CAF14 E00C4124 AC6000FC */ sw $zero, 0xfc($v1)
/* 3CAF18 E00C4128 AC600124 */ sw $zero, 0x124($v1)
/* 3CAF1C E00C412C 8C820008 */ lw $v0, 8($a0)
/* 3CAF20 E00C4130 2484000C */ addiu $a0, $a0, 0xc
/* 3CAF24 E00C4134 24A50001 */ addiu $a1, $a1, 1
/* 3CAF28 E00C4138 AC62014C */ sw $v0, 0x14c($v1)
/* 3CAF2C E00C413C 28A2000A */ slti $v0, $a1, 0xa
/* 3CAF30 E00C4140 1440FFEF */ bnez $v0, .LE00C4100
/* 3CAF34 E00C4144 24630004 */ addiu $v1, $v1, 4
/* 3CAF38 E00C4148 0200102D */ daddu $v0, $s0, $zero
/* 3CAF3C E00C414C 8FBF0034 */ lw $ra, 0x34($sp)
/* 3CAF40 E00C4150 8FB20030 */ lw $s2, 0x30($sp)
/* 3CAF44 E00C4154 8FB1002C */ lw $s1, 0x2c($sp)
/* 3CAF48 E00C4158 8FB00028 */ lw $s0, 0x28($sp)
/* 3CAF4C E00C415C D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3CAF50 E00C4160 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3CAF54 E00C4164 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3CAF58 E00C4168 03E00008 */ jr $ra
/* 3CAF5C E00C416C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,106 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00C4A90
.double 0.05
.section .text
glabel stop_watch_update
/* 3CAF68 E00C4178 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3CAF6C E00C417C AFBF0010 */ sw $ra, 0x10($sp)
/* 3CAF70 E00C4180 8C850000 */ lw $a1, ($a0)
/* 3CAF74 E00C4184 8C83000C */ lw $v1, 0xc($a0)
/* 3CAF78 E00C4188 30A20010 */ andi $v0, $a1, 0x10
/* 3CAF7C E00C418C 10400005 */ beqz $v0, .LE00C41A4
/* 3CAF80 E00C4190 2402FFEF */ addiu $v0, $zero, -0x11
/* 3CAF84 E00C4194 00A21024 */ and $v0, $a1, $v0
/* 3CAF88 E00C4198 AC820000 */ sw $v0, ($a0)
/* 3CAF8C E00C419C 24020040 */ addiu $v0, $zero, 0x40
/* 3CAF90 E00C41A0 AC620010 */ sw $v0, 0x10($v1)
.LE00C41A4:
/* 3CAF94 E00C41A4 8C650010 */ lw $a1, 0x10($v1)
/* 3CAF98 E00C41A8 28A203E8 */ slti $v0, $a1, 0x3e8
/* 3CAF9C E00C41AC 10400002 */ beqz $v0, .LE00C41B8
/* 3CAFA0 E00C41B0 24A2FFFF */ addiu $v0, $a1, -1
/* 3CAFA4 E00C41B4 AC620010 */ sw $v0, 0x10($v1)
.LE00C41B8:
/* 3CAFA8 E00C41B8 8C620014 */ lw $v0, 0x14($v1)
/* 3CAFAC E00C41BC 8C650010 */ lw $a1, 0x10($v1)
/* 3CAFB0 E00C41C0 24420001 */ addiu $v0, $v0, 1
/* 3CAFB4 E00C41C4 04A10005 */ bgez $a1, .LE00C41DC
/* 3CAFB8 E00C41C8 AC620014 */ sw $v0, 0x14($v1)
/* 3CAFBC E00C41CC 0C080128 */ jal shim_remove_effect
/* 3CAFC0 E00C41D0 00000000 */ nop
/* 3CAFC4 E00C41D4 080310AE */ j .LE00C42B8
/* 3CAFC8 E00C41D8 00000000 */ nop
.LE00C41DC:
/* 3CAFCC E00C41DC 00A0202D */ daddu $a0, $a1, $zero
/* 3CAFD0 E00C41E0 0040282D */ daddu $a1, $v0, $zero
/* 3CAFD4 E00C41E4 28820040 */ slti $v0, $a0, 0x40
/* 3CAFD8 E00C41E8 1040000E */ beqz $v0, .LE00C4224
/* 3CAFDC E00C41EC 28820020 */ slti $v0, $a0, 0x20
/* 3CAFE0 E00C41F0 C4600030 */ lwc1 $f0, 0x30($v1)
/* 3CAFE4 E00C41F4 3C01E00C */ lui $at, %hi(D_E00C4A90)
/* 3CAFE8 E00C41F8 D4224A90 */ ldc1 $f2, %lo(D_E00C4A90)($at)
/* 3CAFEC E00C41FC 46000021 */ cvt.d.s $f0, $f0
/* 3CAFF0 E00C4200 46220001 */ sub.d $f0, $f0, $f2
/* 3CAFF4 E00C4204 44801000 */ mtc1 $zero, $f2
/* 3CAFF8 E00C4208 46200020 */ cvt.s.d $f0, $f0
/* 3CAFFC E00C420C 4602003C */ c.lt.s $f0, $f2
/* 3CB000 E00C4210 00000000 */ nop
/* 3CB004 E00C4214 45000003 */ bc1f .LE00C4224
/* 3CB008 E00C4218 E4600030 */ swc1 $f0, 0x30($v1)
/* 3CB00C E00C421C E4620030 */ swc1 $f2, 0x30($v1)
/* 3CB010 E00C4220 28820020 */ slti $v0, $a0, 0x20
.LE00C4224:
/* 3CB014 E00C4224 1040000B */ beqz $v0, .LE00C4254
/* 3CB018 E00C4228 28820010 */ slti $v0, $a0, 0x10
/* 3CB01C E00C422C 8C62002C */ lw $v0, 0x2c($v1)
/* 3CB020 E00C4230 24420080 */ addiu $v0, $v0, 0x80
/* 3CB024 E00C4234 AC62002C */ sw $v0, 0x2c($v1)
/* 3CB028 E00C4238 28420100 */ slti $v0, $v0, 0x100
/* 3CB02C E00C423C 54400004 */ bnel $v0, $zero, .LE00C4250
/* 3CB030 E00C4240 AC600030 */ sw $zero, 0x30($v1)
/* 3CB034 E00C4244 240200FF */ addiu $v0, $zero, 0xff
/* 3CB038 E00C4248 AC62002C */ sw $v0, 0x2c($v1)
/* 3CB03C E00C424C AC600030 */ sw $zero, 0x30($v1)
.LE00C4250:
/* 3CB040 E00C4250 28820010 */ slti $v0, $a0, 0x10
.LE00C4254:
/* 3CB044 E00C4254 10400002 */ beqz $v0, .LE00C4260
/* 3CB048 E00C4258 00041100 */ sll $v0, $a0, 4
/* 3CB04C E00C425C AC620024 */ sw $v0, 0x24($v1)
.LE00C4260:
/* 3CB050 E00C4260 28A20010 */ slti $v0, $a1, 0x10
/* 3CB054 E00C4264 10400003 */ beqz $v0, .LE00C4274
/* 3CB058 E00C4268 00051100 */ sll $v0, $a1, 4
/* 3CB05C E00C426C 2442000F */ addiu $v0, $v0, 0xf
/* 3CB060 E00C4270 AC620024 */ sw $v0, 0x24($v1)
.LE00C4274:
/* 3CB064 E00C4274 0000202D */ daddu $a0, $zero, $zero
/* 3CB068 E00C4278 240500FF */ addiu $a1, $zero, 0xff
.LE00C427C:
/* 3CB06C E00C427C 8C62014C */ lw $v0, 0x14c($v1)
/* 3CB070 E00C4280 10400003 */ beqz $v0, .LE00C4290
/* 3CB074 E00C4284 2442FFFF */ addiu $v0, $v0, -1
/* 3CB078 E00C4288 14400007 */ bnez $v0, .LE00C42A8
/* 3CB07C E00C428C AC62014C */ sw $v0, 0x14c($v1)
.LE00C4290:
/* 3CB080 E00C4290 8C620124 */ lw $v0, 0x124($v1)
/* 3CB084 E00C4294 24420008 */ addiu $v0, $v0, 8
/* 3CB088 E00C4298 AC620124 */ sw $v0, 0x124($v1)
/* 3CB08C E00C429C 28420100 */ slti $v0, $v0, 0x100
/* 3CB090 E00C42A0 50400001 */ beql $v0, $zero, .LE00C42A8
/* 3CB094 E00C42A4 AC650124 */ sw $a1, 0x124($v1)
.LE00C42A8:
/* 3CB098 E00C42A8 24840001 */ addiu $a0, $a0, 1
/* 3CB09C E00C42AC 2882000A */ slti $v0, $a0, 0xa
/* 3CB0A0 E00C42B0 1440FFF2 */ bnez $v0, .LE00C427C
/* 3CB0A4 E00C42B4 24630004 */ addiu $v1, $v1, 4
.LE00C42B8:
/* 3CB0A8 E00C42B8 8FBF0010 */ lw $ra, 0x10($sp)
/* 3CB0AC E00C42BC 03E00008 */ jr $ra
/* 3CB0B0 E00C42C0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -2832,7 +2832,28 @@ segments:
subsegments:
- [0x331940, c, star]
- [0x332690]
- [0x3326A0, bin] # star gfx
- name: effect_gfx_star
dir: effects/gfx
type: code
start: 0x3326A0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3326A0, c, star]
- start: 0x3326A0
type: .data
name: star
subsegments:
- [0x3326A0, ia8, D_09000000_3326A0, 64, 64]
- [0x3336A0, i4, D_09001000_3336A0, 32, 32]
- [0x3338A0, i4, D_09001200_3338A0, 32, 32]
- [0x333AA0, vtx, D_09001400_333AA0]
- [0x333B40, vtx, D_090014A0_333B40]
- [0x333B80, vtx, D_090014E0_333B80]
- [0x333BD0, gfx, D_09001530_333BD0]
- [0x333CF0, gfx, D_09001650_333CF0]
- [0x333E20, gfx, D_09001780_333E20]
- [0x333E70, gfx, D_090017D0_333E70]
- name: effect_emote
dir: effects
type: code
@ -3142,7 +3163,23 @@ segments:
subsegments:
- [0x34DD20, c, spiky_white_aura]
- [0x34E710, data]
- [0x34E770, bin] # spiky_white_aura gfx
- name: effect_gfx_spiky_white_aura
dir: effects/gfx
type: code
start: 0x34E770
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x34E770, c, spiky_white_aura]
- start: 0x34E770
type: .data
name: spiky_white_aura
subsegments:
- [0x34E770, i4, D_09000000_34E770, 64, 32]
- [0x34EB70, vtx, D_09000400_34EB70]
- [0x34EBB0, gfx, D_09000440_34EBB0]
- [0x34EC58, gfx, D_090004E8_34EC58]
- [0x34EC78]
- name: effect_smoke_impact
dir: effects
type: code
@ -3440,8 +3477,23 @@ segments:
vram: 0xE005E000
subsegments:
- [0x3625C0, c, stars_orbiting]
- [0x362C30, data]
- [0x362C50, bin] # stars_orbiting gfx
- [0x362C30]
- name: effect_gfx_stars_orbiting
dir: effects/gfx
type: code
start: 0x362C50
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x362C50, c, stars_orbiting]
- start: 0x362C50
type: .data
name: stars_orbiting
subsegments:
- [0x362C50, i4, D_09000000_362C50, 32, 64]
- [0x363050, vtx, D_09000400_363050]
- [0x363090, gfx, D_09000440_363090]
- [0x363140, gfx, D_090004F0_363140]
- name: effect_big_snowflakes
dir: effects
type: code
@ -4382,7 +4434,32 @@ segments:
subsegments:
- [0x39FF20, c, radiating_energy_orb]
- [0x3A0D10]
- [0x3A0D60, bin] # radiating_energy_orb gfx
- name: effect_gfx_radiating_energy_orb
dir: effects/gfx
type: code
start: 0x3A0D60
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3A0D60, c, radiating_energy_orb]
- start: 0x3A0D60
type: .data
name: radiating_energy_orb
subsegments:
- [0x3A0D60, i4, D_09000000_3A0D60, 16, 64]
- [0x3A0F60, i8, D_09000200_3A0F60, 64, 64]
- [0x3A1F60, gfx, D_09001200_3A1F60]
- [0x3A2008, gfx, D_090012A8_3A2008]
- [0x3A20B0, vtx, D_09001350_3A20B0]
- [0x3A20F0, vtx, D_09001390_3A20F0]
- [0x3A2130, vtx, D_090013D0_3A2130]
- [0x3A2170, vtx, D_09001410_3A2170]
- [0x3A21B0, vtx, D_09001450_3A21B0]
- [0x3A21F0, gfx, D_09001490_3A21F0]
- [0x3A2210, gfx, D_090014B0_3A2210]
- [0x3A2230, gfx, D_090014D0_3A2230]
- [0x3A2250, gfx, D_090014F0_3A2250]
- [0x3A2270, gfx, D_09001510_3A2270]
- name: effect_quizmo_answer
dir: effects
type: code
@ -4535,7 +4612,56 @@ segments:
subsegments:
- [0x3AEE20, c, stat_change]
- [0x3AF5D0]
- [0x3AF700, bin] # stat_change gfx
- name: effect_gfx_stat_change
dir: effects/gfx
type: code
start: 0x3AF700
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3AF700, c, stat_change]
- start: 0x3AF700
type: .data
name: stat_change
subsegments:
- [0x3AF700, i4, D_09000000_3AF700, 32, 32]
- [0x3AF900, i4, D_09000200_3AF900, 32, 32]
- [0x3AFB00, i4, D_09000400_3AFB00, 32, 32]
- [0x3AFD00, i4, D_09000600_3AFD00, 32, 32]
- [0x3AFF00, i4, D_09000800_3AFF00, 32, 32]
- [0x3B0100, i4, D_09000A00_3B0100, 32, 32]
- [0x3B0300, i4, D_09000C00_3B0300, 32, 32]
- [0x3B0500, i4, D_09000E00_3B0500, 32, 32]
- [0x3B0700, i4, D_09001000_3B0700, 32, 32]
- [0x3B0900, i4, D_09001200_3B0900, 32, 32]
- [0x3B0B00, i4, D_09001400_3B0B00, 32, 32]
- [0x3B0D00, i4, D_09001600_3B0D00, 32, 32]
- [0x3B0F00, rgba16, D_09001800_3B0F00, 32, 32]
- [0x3B1700, ci8, D_09002000_3B1700, 32, 32]
- [0x3B1B00, palette, D_09002000_3B1700]
- [0x3B1D00, vtx, D_09002600_3B1D00]
- [0x3B1D40, vtx, D_09002640_3B1D40]
- [0x3B1D80, vtx, D_09002680_3B1D80]
- [0x3B1DC0, vtx, D_090026C0_3B1DC0]
- [0x3B1E00, gfx, D_09002700_3B1E00]
- [0x3B1E98, gfx, D_09002798_3B1E98]
- [0x3B1F60, gfx, D_09002860_3B1F60]
- [0x3B1F80, gfx, D_09002880_3B1F80]
- [0x3B1FA0, gfx, D_090028A0_3B1FA0]
- [0x3B1FC0, gfx, D_090028C0_3B1FC0]
- [0x3B1FE0, gfx, D_090028E0_3B1FE0]
- [0x3B2050, gfx, D_09002950_3B2050]
- [0x3B2090, gfx, D_09002990_3B2090]
- [0x3B20D0, gfx, D_090029D0_3B20D0]
- [0x3B2110, gfx, D_09002A10_3B2110]
- [0x3B2150, gfx, D_09002A50_3B2150]
- [0x3B2190, gfx, D_09002A90_3B2190]
- [0x3B21D0, gfx, D_09002AD0_3B21D0]
- [0x3B2210, gfx, D_09002B10_3B2210]
- [0x3B2250, gfx, D_09002B50_3B2250]
- [0x3B2290, gfx, D_09002B90_3B2290]
- [0x3B22D0, gfx, D_09002BD0_3B22D0]
- [0x3B2310, gfx, D_09002C10_3B2310]
- name: effect_snaking_static
dir: effects
type: code
@ -4701,8 +4827,25 @@ segments:
vram: 0xE00C4000
subsegments:
- [0x3CADF0, c, stop_watch]
- [0x3CB7C0, data]
- [0x3CB890, bin] # stop_watch gfx
- [0x3CB7C0]
- name: effect_gfx_stop_watch
dir: effects/gfx
type: code
start: 0x3CB890
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3CB890, c, stop_watch]
- start: 0x3CB890
type: .data
name: stop_watch
subsegments:
- [0x3CB890, i4, D_09000000_3CB890, 64, 64]
- [0x3CC090, i4, D_09000800_3CC090, 64, 64]
- [0x3CC890, gfx, D_09001000_3CC890]
- [0x3CC978, vtx, D_090010E8_3CC978]
- [0x3CC9B8, gfx, D_09001128_3CC9B8]
- [0x3CC9D8]
- name: effect_effect_63
dir: effects
type: code
@ -5004,8 +5147,37 @@ segments:
vram: 0xE00E4000
subsegments:
- [0x3DE000, c, misc_particles]
- [0x3DED90, data]
- [0x3DEE60, bin] # misc_particles gfx
- [0x3DED90]
- name: effect_gfx_misc_particles
dir: effects/gfx
type: code
start: 0x3DEE60
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3DEE60, c, misc_particles]
- start: 0x3DEE60
type: .data
name: misc_particles
subsegments:
- [0x3DEE60, i8, D_09000000_3DEE60, 128, 32]
- [0x3DFE60, i4, D_09001000_3DFE60, 16, 16]
- [0x3DFEE0, i4, D_09001080_3DFEE0, 16, 16]
- [0x3DFF60, i4, D_09001100_3DFF60, 16, 16]
- [0x3DFFE0, ia8, D_09001180_3DFFE0, 32, 32]
- [0x3E03E0, gfx, D_09001580_3E03E0]
- [0x3E04D0, gfx, D_09001670_3E04D0]
- [0x3E05C8, gfx, D_09001768_3E05C8]
- [0x3E0678, gfx, D_09001818_3E0678]
- [0x3E0730, vtx, D_090018D0_3E0730]
- [0x3E0770, vtx, D_09001910_3E0770]
- [0x3E07B0, vtx, D_09001950_3E07B0]
- [0x3E07F0, vtx, D_09001990_3E07F0]
- [0x3E0830, vtx, D_090019D0_3E0830]
- [0x3E0880, gfx, D_09001A20_3E0880]
- [0x3E08A0, gfx, D_09001A40_3E08A0]
- [0x3E08C0, gfx, D_09001A60_3E08C0]
- [0x3E08E0, gfx, D_09001A80_3E08E0]
- name: effect_static_status
dir: effects
type: code
@ -5013,8 +5185,25 @@ segments:
vram: 0xE00E6000
subsegments:
- [0x3E0930, c, static_status]
- [0x3E11B0, data]
- [0x3E12D0, bin] # static_status gfx
- [0x3E11B0]
- name: effect_gfx_static_status
dir: effects/gfx
type: code
start: 0x3E12D0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3E12D0, c, static_status]
- start: 0x3E12D0
type: .data
name: static_status
subsegments:
- [0x3E12D0, ci4, D_09000000_3E12D0, 16, 16]
- [0x3E1350, palette, D_09000000_3E12D0]
- [0x3E1370] # padding
- [0x3E1550, gfx, D_09000280_3E1550]
- [0x3E1630, vtx, D_09000360_3E1630]
- [0x3E1670, gfx, D_090003A0_3E1670]
- name: effect_moving_cloud
dir: effects
type: code
@ -5447,7 +5636,7 @@ segments:
vram: 0xE0116000
subsegments:
- [0x402640, c, something_rotating]
- [0x4032A0, data]
- [0x4032A0]
- name: effect_breaking_junk
dir: effects
type: code
@ -5557,8 +5746,45 @@ segments:
vram: 0xE0122000
subsegments:
- [0x40C5A0, c, star_spirits_energy]
- [0x40D130, data]
- [0x40D290, bin] # star_spirits_energy gfx
- [0x40D130]
- name: effect_gfx_star_spirits_energy
dir: effects/gfx
type: code
start: 0x40D290
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x40D290, c, star_spirits_energy]
- start: 0x40D290
type: .data
name: star_spirits_energy
subsegments:
- [0x40D290, i4, D_09000000_40D290, 32, 32]
- [0x40D490, i4, D_09000200_40D490, 256, 32]
- [0x40E490, i4, D_09001200_40E490, 256, 32]
- [0x40F490, i4, D_09002200_40F490, 256, 32]
- [0x410490, i4, D_09003200_410490, 256, 32]
- [0x411490, i4, D_09004200_411490, 64, 64]
- [0x411C90, i4, D_09004A00_411C90, 64, 32]
- [0x412090, gfx, D_09004E00_412090]
- [0x4120F8, vtx, D_09004E68_4120F8]
- [0x412138, vtx, D_09004EA8_412138]
- [0x412178, vtx, D_09004EE8_412178]
- [0x4121B8, vtx, D_09004F28_4121B8]
- [0x4121F8, vtx, D_09004F68_4121F8]
- [0x412238, vtx, D_09004FA8_412238]
- [0x412278, vtx, D_09004FE8_412278]
- [0x4122B8, vtx, D_09005028_4122B8]
- [0x4122F8, vtx, D_09005068_4122F8]
- [0x412338, vtx, D_090050A8_412338]
- [0x412378, vtx, D_090050E8_412378]
- [0x4123B8, vtx, D_09005128_4123B8]
- [0x4123F8, gfx, D_09005168_4123F8]
- [0x412458, gfx, D_090051C8_412458]
- [0x412600, gfx, D_09005370_412600]
- [0x412660, gfx, D_090053D0_412660]
- [0x4126D0, gfx, D_09005440_4126D0]
- [0x412728]
- name: effect_pink_sparkles
dir: effects
type: code

View File

@ -44,6 +44,22 @@ D_090008F8 = 0x090008F8;
D_09000918 = 0x09000918;
D_090009E0 = 0x090009E0;
// effect_something_rotating
D_09003F98 = 0x09003F98;
D_09004010 = 0x09004010;
D_09004088 = 0x09004088;
D_09004100 = 0x09004100;
D_09004178 = 0x09004178;
D_090041F0 = 0x090041F0;
D_09004268 = 0x09004268;
D_09004360 = 0x09004360;
D_09004458 = 0x09004458;
D_09004508 = 0x09004508;
D_09004600 = 0x09004600;
// effect_spirit_card
D_090042E0 = 0x090042E0;
fx_sun_undeclared = fx_sun;
D_E007EC2F = 0xE007EC2F;