Some effect functions (#846)

This commit is contained in:
mrshigure 2022-11-02 05:51:32 -07:00 committed by GitHub
parent cf4eeecc13
commit 7a56814010
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
61 changed files with 2203 additions and 5366 deletions

View File

@ -554,8 +554,20 @@ typedef struct ExplosionFXData {
} ExplosionFXData; // size = 0x3C
typedef struct LensFlareFXData {
/* 0x00 */ char todo[0];
} LensFlareFXData; // 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 */ s32 unk_30;
} LensFlareFXData; // size = 0x34
typedef struct GotItemOutlineFXData {
/* 0x00 */ s32 unk_00;
@ -796,12 +808,38 @@ typedef struct FallingLeavesFXData {
} FallingLeavesFXData; // size = 0x34
typedef struct StarsSpreadFXData {
/* 0x00 */ char todo[0];
} StarsSpreadFXData; // size = unknown
/* 0x00 */ s16 unk_00;
/* 0x02 */ char unk_02[2];
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 unk_30;
} StarsSpreadFXData; // size = 0x34
typedef struct SteamBurstFXData {
/* 0x00 */ char todo[0];
} SteamBurstFXData; // size = unknown
/* 0x00 */ u16 unk_00;
/* 0x02 */ char unk_02[2];
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 unk_30;
} SteamBurstFXData; // size = 0x34
typedef struct StarsOrbitingFXData {
/* 0x00 */ s32 unk_00;
@ -1052,8 +1090,34 @@ typedef struct EnergyShockwaveFXData {
} EnergyShockwaveFXData; // size = 0x54
typedef struct ShimmerWaveFXData {
/* 0x00 */ char todo[0];
} ShimmerWaveFXData; // 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 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48;
/* 0x4C */ s32 unk_4C;
/* 0x50 */ s32 unk_50;
/* 0x54 */ s32 unk_54;
/* 0x58 */ s32 unk_58;
/* 0x5C */ s32 unk_5C;
/* 0x60 */ f32 unk_60;
/* 0x64 */ f32 unk_64;
/* 0x68 */ f32 unk_68;
} ShimmerWaveFXData; // size = 0x6C
typedef struct AuraFXData {
/* 0x00 */ s32 type;
@ -1669,8 +1733,31 @@ typedef struct WaterSplashFXData {
} WaterSplashFXData; // size = unknown
typedef struct SnowmanDollFXData {
/* 0x00 */ char todo[0];
} SnowmanDollFXData; // size = unknown
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 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 */ s32 unk_54;
/* 0x58 */ s32 unk_58;
/* 0x5C */ s32 unk_5C;
} SnowmanDollFXData; // size = 0x60
typedef struct FrightJarFXData {
/* 0x00 */ s32 unk_00;
@ -2221,12 +2308,30 @@ typedef struct ChapterChangeFXData {
} ChapterChangeFXData; // size = 0x58
typedef struct IceShardFXData {
/* 0x00 */ char unk_00[0x4C];
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ 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 */ 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;
} IceShardFXData; // size = ?
} IceShardFXData; // size = 0x5C
typedef struct SpiritCardFXData {
/* 0x00 */ s32 unk_00;
@ -2321,7 +2426,7 @@ typedef struct PartnerBuffFXData {
} PartnerBuffFXData; // size = 0x2C
typedef struct QuizmoAssistantFXData {
/* 0x00 */ char unk_00[0x4];
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f position;
/* 0x10 */ s32 vanishTimer;
/* 0x14 */ s32 lifetime;

View File

@ -58,7 +58,7 @@ void shattering_stones_main(s32, f32, f32, f32, f32);
void smoke_ring_main(s32, f32, f32, f32);
void damage_stars_main(s32, f32, f32, f32, f32, f32, f32, s32);
void explosion_main(s32, f32, f32, f32);
FX_MAIN(lens_flare_main);
void lens_flare_main(s32, f32, f32, f32, s32);
void got_item_outline_main(s32, f32, f32, f32, f32, EffectInstance**);
void spiky_white_aura_main(s32, f32, f32, f32, s32);
void smoke_impact_main(s32, f32, f32, f32, f32, s32, f32, s32);
@ -76,8 +76,8 @@ void sweat_main(s32, f32, f32, f32, f32, f32, s32);
void sleep_bubble_main(s32, f32, f32, f32, f32, f32, EffectInstance**);
FX_MAIN(windy_leaves_main);
void falling_leaves_main(s32, f32, f32, f32);
void stars_spread_main(s16, f32, f32, f32, s32, s32);
FX_MAIN(steam_burst_main);
void stars_spread_main(s32, f32, f32, f32, s32, s32);
void steam_burst_main(s32, f32, f32, f32, f32, s32);
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);
@ -127,7 +127,7 @@ EffectInstance* water_fountain_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(underwater_main);
EffectInstance* lightning_bolt_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
FX_MAIN(water_splash_main);
FX_MAIN(snowman_doll_main);
EffectInstance* snowman_doll_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fright_jar_main(s32, f32, f32, f32, f32, s32);
EffectInstance* stop_watch_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fx_63_main(s32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
@ -151,13 +151,13 @@ 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);
EffectInstance* ice_shard_main(s32, f32, f32, f32, f32, s32);
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);
EffectInstance* partner_buff_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(quizmo_assistant_main);
EffectInstance* quizmo_assistant_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(ice_pillar_main);
EffectInstance* sun_main(s32, f32, f32, f32, f32, s32);
EffectInstance* star_spirits_energy_main(s32, f32, f32, f32, f32, s32);

View File

@ -53,7 +53,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x17 */ FX_ENTRY(smoke_ring, effect_gfx_landing_dust),
/* 0x18 */ FX_ENTRY(damage_stars, effect_gfx_damage_stars),
/* 0x19 */ FX_ENTRY(explosion, effect_gfx_explosion),
/* 0x1A */ FX_ENTRY(lens_flare, _3451E0),
/* 0x1A */ FX_ENTRY(lens_flare, effect_gfx_lens_flare),
/* 0x1B */ FX_ENTRY(got_item_outline, effect_gfx_got_item_outline),
/* 0x1C */ FX_ENTRY(spiky_white_aura, effect_gfx_spiky_white_aura),
/* 0x1D */ FX_ENTRY(smoke_impact, effect_gfx_landing_dust),
@ -67,13 +67,13 @@ EffectTableEntry gEffectTable[] = {
/* 0x25 */ FX_ENTRY(shockwave, effect_gfx_shockwave),
/* 0x26 */ FX_ENTRY(music_note, effect_gfx_music_note),
/* 0x27 */ FX_ENTRY(smoke_burst, effect_gfx_landing_dust),
/* 0x28 */ FX_ENTRY(sweat, _35C550),
/* 0x28 */ FX_ENTRY(sweat, effect_gfx_sweat),
/* 0x29 */ FX_ENTRY(sleep_bubble, effect_gfx_sleep_bubble),
/* 0x2A */ {},
/* 0x2B */ FX_ENTRY(windy_leaves, effect_gfx_drop_leaves),
/* 0x2C */ FX_ENTRY(falling_leaves, effect_gfx_falling_leaves),
/* 0x2D */ FX_ENTRY(stars_spread, _360A30),
/* 0x2E */ FX_ENTRY(steam_burst, _361670),
/* 0x2D */ FX_ENTRY(stars_spread, effect_gfx_stars_spread),
/* 0x2E */ FX_ENTRY(steam_burst, effect_gfx_steam_burst),
/* 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),
@ -123,7 +123,7 @@ EffectTableEntry gEffectTable[] = {
/* 0x5D */ FX_ENTRY(underwater, _3B9A70),
/* 0x5E */ FX_ENTRY(lightning_bolt, effect_gfx_lightning_bolt),
/* 0x5F */ FX_ENTRY(water_splash, effect_gfx_water_splash),
/* 0x60 */ FX_ENTRY(snowman_doll, _3BD9A0),
/* 0x60 */ FX_ENTRY(snowman_doll, effect_gfx_snowman_doll),
/* 0x61 */ FX_ENTRY(fright_jar, effect_gfx_fright_jar),
/* 0x62 */ FX_ENTRY(stop_watch, effect_gfx_stop_watch),
/* 0x63 */ FX_ENTRY_NUMBERED(63, effect_gfx_effect_63),
@ -137,10 +137,10 @@ EffectTableEntry gEffectTable[] = {
/* 0x6B */ FX_ENTRY(energy_in_out, effect_gfx_energy_in_out),
/* 0x6C */ FX_ENTRY(tattle_window, _3D7040),
/* 0x6D */ FX_ENTRY(shiny_flare, effect_gfx_shiny_flare),
/* 0x6E */ FX_ENTRY(huff_puff_breath, _3D80C0),
/* 0x6E */ FX_ENTRY(huff_puff_breath, effect_gfx_huff_puff_breath),
/* 0x6F */ FX_ENTRY(cold_breath, effect_gfx_cold_breath),
/* 0x70 */ FX_ENTRY(embers, effect_gfx_embers),
/* 0x71 */ FX_ENTRY(hieroglyphs, _3DCD50),
/* 0x71 */ FX_ENTRY(hieroglyphs, effect_gfx_hieroglyphs),
/* 0x72 */ FX_ENTRY(misc_particles, effect_gfx_misc_particles),
/* 0x73 */ FX_ENTRY(static_status, effect_gfx_static_status),
/* 0x74 */ FX_ENTRY(moving_cloud, effect_gfx_moving_cloud),
@ -149,18 +149,18 @@ EffectTableEntry gEffectTable[] = {
/* 0x77 */ FX_ENTRY(firework_rocket, effect_gfx_firework_rocket),
/* 0x78 */ FX_ENTRY(peach_star_beam, effect_gfx_peach_star_beam),
/* 0x79 */ FX_ENTRY(chapter_change, effect_gfx_chapter_change),
/* 0x7A */ FX_ENTRY(ice_shard, _3F8CC0),
/* 0x7A */ FX_ENTRY(ice_shard, effect_gfx_ice_shard),
/* 0x7B */ FX_ENTRY(spirit_card, _3FA4B0),
/* 0x7C */ FX_ENTRY(lil_oink, effect_gfx_lil_oink),
/* 0x7D */ FX_ENTRY(something_rotating, _3FA4B0),
/* 0x7E */ FX_ENTRY(breaking_junk, effect_gfx_breaking_junk),
/* 0x7F */ FX_ENTRY(partner_buff, _404F40),
/* 0x80 */ FX_ENTRY(quizmo_assistant, _407080),
/* 0x80 */ FX_ENTRY(quizmo_assistant, effect_gfx_quizmo_assistant),
/* 0x81 */ FX_ENTRY(ice_pillar, _40A1C0),
/* 0x82 */ FX_ENTRY(sun, _40BBA0),
/* 0x82 */ FX_ENTRY(sun, effect_gfx_sun),
/* 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),
/* 0x85 */ FX_ENTRY(star_outline, effect_gfx_star_outline),
/* 0x86 */ FX_ENTRY_NUMBERED(86, effect_gfx_effect_86),
};

View File

@ -0,0 +1,3 @@
#include "effects/gfx/D_09000000_3DCD50.png.inc.c"
#include "effects/gfx/D_09001000_3DDD50.gfx.inc.c"
#include "effects/gfx/D_090010A8_3DDDF8.vtx.inc.c"

View File

@ -0,0 +1,12 @@
#include "effects/gfx/D_09000000_3D80C0.png.inc.c"
#include "effects/gfx/D_09000200_3D82C0.png.inc.c"
#include "effects/gfx/D_09000400_3D84C0.gfx.inc.c"
#include "effects/gfx/D_090004E8_3D85A8.vtx.inc.c"
#include "effects/gfx/D_09000528_3D85E8.vtx.inc.c"
#include "effects/gfx/D_09000548_3D8608.vtx.inc.c"
#include "effects/gfx/D_09000568_3D8628.vtx.inc.c"
#include "effects/gfx/D_090005E8_3D86A8.gfx.inc.c"
#include "effects/gfx/D_09000628_3D86E8.gfx.inc.c"

View File

@ -0,0 +1,9 @@
#include "effects/gfx/D_09000000_3F8CC0.png.inc.c"
#include "effects/gfx/D_09001000_3F9CC0.gfx.inc.c"
#include "effects/gfx/D_090010B8_3F9D78.vtx.inc.c"
#include "effects/gfx/D_090010F8_3F9DB8.vtx.inc.c"
#include "effects/gfx/D_09001148_3F9E08.gfx.inc.c"
#include "effects/gfx/D_09001168_3F9E28.gfx.inc.c"

View File

@ -0,0 +1,6 @@
#include "effects/gfx/D_09000000_3451E0.png.inc.c"
#include "effects/gfx/D_09000200_3453E0.vtx.inc.c"
#include "effects/gfx/D_09000240_345420.gfx.inc.c"
#include "effects/gfx/D_090002E0_3454C0.gfx.inc.c"

View File

@ -0,0 +1,33 @@
#include "common.h"
#include "effects/gfx/D_09000000_407080.png.inc.c"
#include "effects/gfx/D_09000000_407080.pal.inc.c"
u8 D_09000820_4078A0[0x1E0] = {};
#include "effects/gfx/D_09000A00_407A80.png.inc.c"
#include "effects/gfx/D_09000A00_407A80.pal.inc.c"
u8 D_09000E20_407EA0[0x1E0] = {};
#include "effects/gfx/D_09001000_408080.png.inc.c"
#include "effects/gfx/D_09001000_408080.pal.inc.c"
u8 D_09001820_4088A0[0x1E0] = {};
#include "effects/gfx/D_09001A00_408A80.png.inc.c"
#include "effects/gfx/D_09001A00_408A80.pal.inc.c"
u8 D_09002220_4092A0[0x1E0] = {};
#include "effects/gfx/D_09002400_409480.gfx.inc.c"
#include "effects/gfx/D_09002468_4094E8.vtx.inc.c"
#include "effects/gfx/D_090024A8_409528.vtx.inc.c"
#include "effects/gfx/D_090024E8_409568.vtx.inc.c"
#include "effects/gfx/D_09002528_4095A8.gfx.inc.c"
#include "effects/gfx/D_090025B8_409638.gfx.inc.c"
#include "effects/gfx/D_09002648_4096C8.gfx.inc.c"
#include "effects/gfx/D_090026D8_409758.gfx.inc.c"
#include "effects/gfx/D_090027F0_409870.gfx.inc.c"

View File

@ -0,0 +1,116 @@
#include "common.h"
#include "effects/gfx/D_09000000_3BD9A0.png.inc.c"
#include "effects/gfx/D_09000800_3BE1A0.gfx.inc.c"
#include "effects/gfx/D_09000878_3BE218.png.inc.c"
#include "effects/gfx/D_09000878_3BE218.pal.inc.c"
#include "effects/gfx/D_09000A98_3BE438.gfx.inc.c"
#include "effects/gfx/D_09000B40_3BE4E0.vtx.inc.c"
#include "effects/gfx/D_09000BC0_3BE560.vtx.inc.c"
#include "effects/gfx/D_09000BF0_3BE590.vtx.inc.c"
#include "effects/gfx/D_09000C60_3BE600.vtx.inc.c"
#include "effects/gfx/D_09000C90_3BE630.vtx.inc.c"
#include "effects/gfx/D_09000CB0_3BE650.vtx.inc.c"
#include "effects/gfx/D_09000CC0_3BE660.vtx.inc.c"
#include "effects/gfx/D_09000CE0_3BE680.vtx.inc.c"
#include "effects/gfx/D_09000D00_3BE6A0.vtx.inc.c"
#include "effects/gfx/D_09000D10_3BE6B0.vtx.inc.c"
#include "effects/gfx/D_09000D20_3BE6C0.vtx.inc.c"
#include "effects/gfx/D_09000D60_3BE700.vtx.inc.c"
#include "effects/gfx/D_09000DA0_3BE740.vtx.inc.c"
#include "effects/gfx/D_09000DE0_3BE780.vtx.inc.c"
#include "effects/gfx/D_09000E20_3BE7C0.vtx.inc.c"
#include "effects/gfx/D_09000E70_3BE810.vtx.inc.c"
#include "effects/gfx/D_09000F50_3BE8F0.vtx.inc.c"
#include "effects/gfx/D_09000FC0_3BE960.vtx.inc.c"
#include "effects/gfx/D_09001010_3BE9B0.vtx.inc.c"
#include "effects/gfx/D_09001100_3BEAA0.vtx.inc.c"
#include "effects/gfx/D_09001140_3BEAE0.vtx.inc.c"
#include "effects/gfx/D_09001270_3BEC10.vtx.inc.c"
#include "effects/gfx/D_09001390_3BED30.vtx.inc.c"
#include "effects/gfx/D_090013C0_3BED60.vtx.inc.c"
#include "effects/gfx/D_090013E0_3BED80.vtx.inc.c"
#include "effects/gfx/D_09001410_3BEDB0.vtx.inc.c"
#include "effects/gfx/D_09001430_3BEDD0.vtx.inc.c"
#include "effects/gfx/D_09001470_3BEE10.vtx.inc.c"
#include "effects/gfx/D_09001490_3BEE30.vtx.inc.c"
#include "effects/gfx/D_090014C0_3BEE60.vtx.inc.c"
#include "effects/gfx/D_090014F0_3BEE90.vtx.inc.c"
#include "effects/gfx/D_09001530_3BEED0.vtx.inc.c"
#include "effects/gfx/D_09001540_3BEEE0.vtx.inc.c"
#include "effects/gfx/D_09001550_3BEEF0.vtx.inc.c"
#include "effects/gfx/D_09001560_3BEF00.vtx.inc.c"
#include "effects/gfx/D_090015D0_3BEF70.vtx.inc.c"
#include "effects/gfx/D_090015E0_3BEF80.vtx.inc.c"
#include "effects/gfx/D_09001670_3BF010.vtx.inc.c"
#include "effects/gfx/D_09001720_3BF0C0.vtx.inc.c"
#include "effects/gfx/D_09001730_3BF0D0.vtx.inc.c"
#include "effects/gfx/D_09001770_3BF110.vtx.inc.c"
#include "effects/gfx/D_090017A0_3BF140.vtx.inc.c"
#include "effects/gfx/D_090017B0_3BF150.vtx.inc.c"
#include "effects/gfx/D_090017D0_3BF170.vtx.inc.c"
#include "effects/gfx/D_09001810_3BF1B0.vtx.inc.c"
#include "effects/gfx/D_090018C0_3BF260.vtx.inc.c"
#include "effects/gfx/D_09001910_3BF2B0.vtx.inc.c"
#include "effects/gfx/D_090019D0_3BF370.vtx.inc.c"
#include "effects/gfx/D_09001AD0_3BF470.vtx.inc.c"
#include "effects/gfx/D_09001B20_3BF4C0.vtx.inc.c"
#include "effects/gfx/D_09001B40_3BF4E0.vtx.inc.c"
#include "effects/gfx/D_09001B50_3BF4F0.vtx.inc.c"
#include "effects/gfx/D_09001B70_3BF510.vtx.inc.c"
#include "effects/gfx/D_09001B80_3BF520.vtx.inc.c"
#include "effects/gfx/D_09001B90_3BF530.vtx.inc.c"
#include "effects/gfx/D_09001BA0_3BF540.vtx.inc.c"
#include "effects/gfx/D_09001BB0_3BF550.vtx.inc.c"
#include "effects/gfx/D_09001BD0_3BF570.vtx.inc.c"
#include "effects/gfx/D_09001BF0_3BF590.vtx.inc.c"
#include "effects/gfx/D_09001C30_3BF5D0.vtx.inc.c"
#include "effects/gfx/D_09001C50_3BF5F0.vtx.inc.c"
#include "effects/gfx/D_09001CF0_3BF690.vtx.inc.c"
#include "effects/gfx/D_09001D50_3BF6F0.vtx.inc.c"
#include "effects/gfx/D_09001DC0_3BF760.vtx.inc.c"
#include "effects/gfx/D_09001E00_3BF7A0.vtx.inc.c"
#include "effects/gfx/D_09001E30_3BF7D0.vtx.inc.c"
#include "effects/gfx/D_09001E90_3BF830.vtx.inc.c"
#include "effects/gfx/D_09001ED0_3BF870.vtx.inc.c"
#include "effects/gfx/D_09001F30_3BF8D0.vtx.inc.c"
#include "effects/gfx/D_09001F60_3BF900.vtx.inc.c"
#include "effects/gfx/D_09001FA0_3BF940.vtx.inc.c"
#include "effects/gfx/D_09001FE0_3BF980.vtx.inc.c"
#include "effects/gfx/D_09002110_3BFAB0.vtx.inc.c"
#include "effects/gfx/D_09002130_3BFAD0.vtx.inc.c"
#include "effects/gfx/D_09002160_3BFB00.vtx.inc.c"
#include "effects/gfx/D_09002190_3BFB30.vtx.inc.c"
#include "effects/gfx/D_090021B0_3BFB50.vtx.inc.c"
#include "effects/gfx/D_09002340_3BFCE0.vtx.inc.c"
#include "effects/gfx/D_09002440_3BFDE0.vtx.inc.c"
#include "effects/gfx/D_09002450_3BFDF0.vtx.inc.c"
#include "effects/gfx/D_09002480_3BFE20.vtx.inc.c"
#include "effects/gfx/D_09002590_3BFF30.vtx.inc.c"
#include "effects/gfx/D_090025F0_3BFF90.vtx.inc.c"
#include "effects/gfx/D_09002650_3BFFF0.vtx.inc.c"
#include "effects/gfx/D_09002660_3C0000.vtx.inc.c"
#include "effects/gfx/D_09002690_3C0030.vtx.inc.c"
#include "effects/gfx/D_090027A0_3C0140.vtx.inc.c"
#include "effects/gfx/D_09002800_3C01A0.vtx.inc.c"
#include "effects/gfx/D_09002860_3C0200.gfx.inc.c"
#include "effects/gfx/D_090029A0_3C0340.gfx.inc.c"
#include "effects/gfx/D_09002AE0_3C0480.gfx.inc.c"
#include "effects/gfx/D_09002B68_3C0508.gfx.inc.c"
#include "effects/gfx/D_09002CE8_3C0688.gfx.inc.c"
#include "effects/gfx/D_09003148_3C0AE8.gfx.inc.c"
#include "effects/gfx/D_09003398_3C0D38.gfx.inc.c"
#include "effects/gfx/D_09003510_3C0EB0.gfx.inc.c"
#include "effects/gfx/D_09003730_3C10D0.gfx.inc.c"
#include "effects/gfx/D_09003778_3C1118.gfx.inc.c"
#include "effects/gfx/D_09003790_3C1130.gfx.inc.c"
u8 D_090037A0_3C1140[8] = {};
#include "effects/gfx/D_090037A8_3C1148.gfx.inc.c"
#include "effects/gfx/D_09003818_3C11B8.gfx.inc.c"

View File

@ -0,0 +1,9 @@
#include "effects/gfx/D_09000000_413FA0.png.inc.c"
#include "effects/gfx/D_09000800_4147A0.gfx.inc.c"
#include "effects/gfx/D_090008A0_414840.vtx.inc.c"
#include "effects/gfx/D_090009E0_414980.vtx.inc.c"
#include "effects/gfx/D_09000B20_414AC0.gfx.inc.c"
#include "effects/gfx/D_09000B90_414B30.gfx.inc.c"

View File

@ -0,0 +1,6 @@
#include "effects/gfx/D_09000000_360A30.png.inc.c"
#include "effects/gfx/D_09000400_360E30.vtx.inc.c"
#include "effects/gfx/D_09000440_360E70.gfx.inc.c"
#include "effects/gfx/D_090004F0_360F20.gfx.inc.c"

View File

@ -0,0 +1,5 @@
#include "effects/gfx/D_09000000_361670.png.inc.c"
#include "effects/gfx/D_09000E00_362470.gfx.inc.c"
#include "effects/gfx/D_09000EF0_362560.vtx.inc.c"
#include "effects/gfx/D_09000F30_3625A0.gfx.inc.c"

27
src/effects/gfx/sun.c Normal file
View File

@ -0,0 +1,27 @@
#include "common.h"
#include "effects/gfx/D_09000000_40BBA0.png.inc.c"
#include "effects/gfx/D_09000200_40BDA0.png.inc.c"
#include "effects/gfx/D_09000600_40C1A0.vtx.inc.c"
#include "effects/gfx/D_09000680_40C220.vtx.inc.c"
#include "effects/gfx/D_090006C0_40C260.vtx.inc.c"
#include "effects/gfx/D_09000700_40C2A0.vtx.inc.c"
#include "effects/gfx/D_09000780_40C320.vtx.inc.c"
#include "effects/gfx/D_090007C0_40C360.gfx.inc.c"
#include "effects/gfx/D_090007E8_40C388.gfx.inc.c"
#include "effects/gfx/D_09000808_40C3A8.gfx.inc.c"
#include "effects/gfx/D_09000828_40C3C8.gfx.inc.c"
#include "effects/gfx/D_09000850_40C3F0.gfx.inc.c"
#include "effects/gfx/D_09000870_40C410.gfx.inc.c"
#include "effects/gfx/D_09000880_40C420.gfx.inc.c"
u8 D_09000890_40C430[8] = {};
#include "effects/gfx/D_09000898_40C438.gfx.inc.c"
#include "effects/gfx/D_09000980_40C520.gfx.inc.c"
#include "effects/gfx/D_09000998_40C538.gfx.inc.c"
#include "effects/gfx/D_090009B0_40C550.gfx.inc.c"
#include "effects/gfx/D_090009C8_40C568.gfx.inc.c"
#include "effects/gfx/D_090009E0_40C580.gfx.inc.c"

10
src/effects/gfx/sweat.c Normal file
View File

@ -0,0 +1,10 @@
#include "effects/gfx/D_09000000_35C550.png.inc.c"
#include "effects/gfx/D_09000080_35C5D0.png.inc.c"
#include "effects/gfx/D_09000180_35C6D0.vtx.inc.c"
#include "effects/gfx/D_090001C0_35C710.vtx.inc.c"
#include "effects/gfx/D_09000200_35C750.gfx.inc.c"
#include "effects/gfx/D_090002C8_35C818.gfx.inc.c"
#include "effects/gfx/D_09000390_35C8E0.gfx.inc.c"
#include "effects/gfx/D_09000460_35C9B0.gfx.inc.c"

View File

@ -1,6 +1,26 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09001000_3DDD50[];
extern Vtx_t D_090010A8_3DDDF8[];
Gfx* D_E00E29F0[] = { D_09001000_3DDD50 };
u8 D_E00E29F4[] = {
120, 130, 140, 150, 160, 170, 180, 190, 200, 200,
190, 180, 170, 160, 150, 140, 130
};
u8 D_E00E2A08[] = {
170, 160, 150, 140, 130, 120, 130, 140, 150, 160,
170, 180, 190, 200, 200, 190, 180
};
u8 D_E00E2A1C[] = {
255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255
};
void hieroglyphs_init(EffectInstance* effect);
void hieroglyphs_update(EffectInstance* effect);
void hieroglyphs_render(EffectInstance* effect);
@ -92,4 +112,77 @@ void hieroglyphs_render(EffectInstance* effect) {
void func_E00E2210(void) {
}
INCLUDE_ASM(s32, "effects/hieroglyphs", hieroglyphs_appendGfx);
void hieroglyphs_appendGfx(void* effect) {
HieroglyphsFXData* data = ((EffectInstance*)effect)->data.hieroglyphs;
Camera* camera = &gCameras[gCurrentCameraID];
s32 lifeTime = data->lifeTime;
s32 unk_24 = data->unk_24;
Gfx* savedGfxPos;
Matrix4f sp20;
Matrix4f sp60;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp20, data->pos.x, data->pos.y, data->pos.z);
shim_guScaleF(sp60, data->unk_38, data->unk_38, data->unk_38);
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);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24);
gDPSetEnvColor(gMasterGfxPos++, data->unk_28, data->unk_2C, data->unk_30, data->unk_34);
gSPDisplayList(gMasterGfxPos++, D_E00E29F0[0]);
gSPBranchList(gMasterGfxPos, gMasterGfxPos + 52);
savedGfxPos = gMasterGfxPos + 1;
gDPSetTileSize(savedGfxPos, G_TX_RENDERTILE,
(lifeTime * 2 ) * 4, 0,
(lifeTime * 2 + 127) * 4, 31 * 4);
gMasterGfxPos += 2;
shim_guRotateF(sp20, 20.0f, 1.0f, 0.0f, 0.0f);
shim_guPositionF(sp60, 0.0f, shim_sin_deg(lifeTime * 8 + 78.75) * -30.0f, 0.0f, 1.0f, 6.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
for (i = 0; i < 16; i++) {
f32 angle = i * 48 + lifeTime * 8;
shim_guPositionF(sp20, 0.0f, shim_sin_deg(angle) * 30.0f, 6.0f, (f32) i * 0.01 + 1.0, 8.0f, 0.0f, 0.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPVertex(gMasterGfxPos++, &D_090010A8_3DDDF8[i * 2], 2, i * 2);
}
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 < 2; i++) {
s32 idx = (lifeTime + i * 4) % 17;
shim_guPositionF(sp20, 0.0f, 0.0f, -0x11A + i * 0x24, 1.0f, 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, D_E00E29F4[idx], D_E00E2A08[idx], D_E00E2A1C[idx], data->unk_24);
gDPSetEnvColor(gMasterGfxPos++, 255, 255, 255, 0);
gSPDisplayList(gMasterGfxPos++, savedGfxPos);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,6 +1,13 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000400_3D84C0[];
extern Gfx D_090005E8_3D86A8[];
extern Gfx D_09000628_3D86E8[];
Gfx* D_E00DC640[] = { D_09000628_3D86E8, D_090005E8_3D86A8 };
Gfx* D_E00DC648[] = { D_09000400_3D84C0, D_09000400_3D84C0 };
void huff_puff_breath_init(EffectInstance* effect);
void huff_puff_breath_update(EffectInstance* effect);
void huff_puff_breath_render(EffectInstance* effect);
@ -117,4 +124,32 @@ void huff_puff_breath_render(EffectInstance* effect) {
void func_E00DC2FC(void) {
}
INCLUDE_ASM(s32, "effects/huff_puff_breath", huff_puff_breath_appendGfx);
void huff_puff_breath_appendGfx(void* effect) {
HuffPuffBreathFXData* data = ((EffectInstance*)effect)->data.huffPuffBreath;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_24 = data->unk_24;
s32 unk_00 = data->unk_00;
s32 uls = data->unk_38 * 4.0f;
s32 ult = data->unk_40 * 4.0f;
Matrix4f sp18;
Matrix4f sp58;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, data->pos.x, data->pos.y, data->pos.z);
shim_guRotateF(sp58, data->unk_48, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, data->unk_4C, data->unk_4C, data->unk_4C);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24);
gDPSetEnvColor(gMasterGfxPos++, data->unk_28, data->unk_2C, data->unk_30, data->unk_34);
gSPDisplayList(gMasterGfxPos++, D_E00DC648[unk_00]);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, uls, ult, uls + 31 * 4, ult + 15 * 4);
gSPDisplayList(gMasterGfxPos++, D_E00DC640[unk_00]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,121 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09001000_3F9CC0[];
extern Gfx D_09001148_3F9E08[];
extern Gfx D_09001168_3F9E28[];
Gfx* D_E01108B0[] = { D_09001148_3F9E08 };
Gfx* D_E01108B4[] = { D_09001000_3F9CC0 };
void ice_shard_init(EffectInstance* effect);
void ice_shard_update(EffectInstance* effect);
void ice_shard_render(EffectInstance* effect);
void ice_shard_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/ice_shard", ice_shard_main);
EffectInstance* ice_shard_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
IceShardFXData* data;
s32 numParts = 1;
void ice_shard_init(void) {
bp.init = ice_shard_init;
bp.update = ice_shard_update;
bp.renderWorld = ice_shard_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_ICE_SHARD;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.iceShard = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.iceShard != NULL);
data->unk_00 = arg0;
data->unk_14 = 0;
if (arg5 <= 0) {
data->unk_10 = 1000;
} else {
data->unk_10 = arg5;
}
data->unk_24 = 255;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_38 = arg4;
data->unk_18 = 255;
data->unk_1C = 255;
data->unk_20 = 255;
data->unk_28 = 255;
data->unk_2C = 255;
data->unk_30 = 255;
data->unk_34 = 255;
data->unk_44 = 0;
data->unk_48 = (shim_rand_int(1) * 2 - 1) * 0.25 * (shim_rand_int(4) * 0.1 + 0.1);
data->unk_3C = shim_rand_int(359);
data->unk_4C = shim_rand_int(10) - 5;
data->unk_50 = shim_rand_int(10) - 5;
data->unk_54 = shim_rand_int(10) - 5;
data->unk_40 = shim_rand_int(40) - 20;
data->unk_58 = -0.1f;
return effect;
}
INCLUDE_ASM(s32, "effects/ice_shard", ice_shard_update);
void ice_shard_init(EffectInstance* effect) {
}
void ice_shard_update(EffectInstance* effect) {
IceShardFXData* data = effect->data.iceShard;
s32 unk_00 = data->unk_00;
if (effect->flags & EFFECT_INSTANCE_FLAGS_10) {
effect->flags &= ~EFFECT_INSTANCE_FLAGS_10;
data->unk_10 = 16;
}
if (data->unk_10 < 1000) {
data->unk_10--;
}
data->unk_14++;
if (data->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
if (data->unk_10 < 16) {
data->unk_24 = data->unk_10 * 16;
}
data->unk_44 += data->unk_48;
if (data->unk_44 < 0.0f) {
data->unk_44 += 1.0f;
}
if (data->unk_44 > 1.0f) {
data->unk_44 -= 1.0f;
}
data->unk_50 += data->unk_58;
data->unk_04 += data->unk_4C;
data->unk_08 += data->unk_50;
data->unk_0C += data->unk_54;
data->unk_3C += data->unk_40;
if (unk_00 >= 2 && data->unk_08 < 0.0f && data->unk_50 < 0.0f) {
data->unk_08 = 0.0f;
data->unk_50 *= -0.7;
}
}
void ice_shard_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +130,51 @@ void ice_shard_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/ice_shard", ice_shard_appendGfx);
void ice_shard_appendGfx(void* effect) {
IceShardFXData* data = ((EffectInstance*)effect)->data.iceShard;
s32 unk_24 = data->unk_24;
s32 unk_00 = data->unk_00;
s32 temp1;
s32 temp2;
s32 envAlpha;
Matrix4f sp20;
Matrix4f unused;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_38, data->unk_04, data->unk_08, data->unk_0C);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
shim_guRotateF(sp20, data->unk_3C, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E01108B4[0]);
temp1 = (unk_00 % 2) * 32;
temp2 = (s32) (data->unk_44 * 4.0f) * 32;
envAlpha = (data->unk_44 * 4.0f - (s32) data->unk_44 * 4) * 256.0f;
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(temp1 ) * 4, (temp2 ) * 4,
(temp1 + 31) * 4, (temp2 + 31) * 4);
gDPSetTileSize(gMasterGfxPos++, 1,
(temp1 ) * 4, (temp2 + 32) * 4,
(temp1 + 31) * 4, (temp2 + 63) * 4);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24);
gDPSetEnvColor(gMasterGfxPos++, data->unk_28, data->unk_2C, data->unk_30, envAlpha);
gSPDisplayList(gMasterGfxPos++, D_E01108B0[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
if (unk_00 % 2 == 1 && (s32) (data->unk_44 * 4.0f) == 3) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24 * envAlpha / 255);
gDPSetCombineLERP(gMasterGfxPos++, 0, 0, 0, PRIMITIVE, SHADE, 0, PRIMITIVE, 0, 0, 0, 0, PRIMITIVE, SHADE, 0, PRIMITIVE, 0);
gSPDisplayList(gMasterGfxPos++, D_09001168_3F9E28);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,95 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000240_345420[];
extern Gfx D_090002E0_3454C0[];
Gfx* D_E0034780[] = { D_090002E0_3454C0, D_090002E0_3454C0 };
Gfx* D_E0034788[] = { D_09000240_345420, D_09000240_345420 };
u8 D_E0034790[] = {
255, 255, 82,
255, 255, 82,
181, 148, 0,
181, 148, 0,
255, 255, 214,
255, 255, 214,
181, 148, 0,
181, 148, 0
};
void lens_flare_init(EffectInstance* effect);
void lens_flare_update(EffectInstance* effect);
void lens_flare_render(EffectInstance* effect);
void lens_flare_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/lens_flare", lens_flare_main);
void lens_flare_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4) {
EffectBlueprint bp;
EffectInstance* effect;
LensFlareFXData* data;
s32 numParts = 1;
void lens_flare_init(void) {
bp.init = lens_flare_init;
bp.update = lens_flare_update;
bp.renderWorld = lens_flare_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_LENS_FLARE;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.lensFlare = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.lensFlare != NULL);
data->unk_00 = arg0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_2C = arg4;
data->unk_30 = 0;
data->unk_24 = 0;
data->unk_10 = 0;
if (arg0 == 0) {
data->unk_14 = 30.0f;
} else {
data->unk_14 = 0;
}
data->unk_18 = 0;
data->unk_28 = 0;
data->unk_20 = 0;
data->unk_1C = 0.8f;
}
INCLUDE_ASM(s32, "effects/lens_flare", lens_flare_update);
void lens_flare_init(EffectInstance* effect) {
}
void lens_flare_update(EffectInstance* effect) {
LensFlareFXData* data = effect->data.lensFlare;
s32 unk_2C;
data->unk_2C--;
data->unk_30++;
if (data->unk_2C < 0) {
shim_remove_effect(effect);
return;
}
unk_2C = data->unk_2C;
if (data->unk_30 < 7) {
data->unk_24 += (218 - data->unk_24) * 0.5;
} else {
data->unk_24 *= 0.78;
}
data->unk_18 += data->unk_1C;
data->unk_1C += 0.29;
data->unk_10 += data->unk_14;
data->unk_14 *= 0.93;
data->unk_20 = shim_sin_deg(unk_2C * 50) * 0.5 + 0.9;
data->unk_28 = shim_sin_deg(unk_2C * 40) * 64.0f + 144.0f;
}
void lens_flare_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +104,57 @@ void lens_flare_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/lens_flare", lens_flare_appendGfx);
void lens_flare_appendGfx(void* effect) {
LensFlareFXData* data = ((EffectInstance*)effect)->data.lensFlare;
s32 unk_00 = data->unk_00;
s32 primA;
s32 idx;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_E0034788[unk_00]);
shim_guTranslateF(sp18, data->unk_04, data->unk_08, data->unk_0C);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp98);
primA = data->unk_28;
idx = data->unk_30 * 3;
if (unk_00 == 0) {
shim_guScaleF(sp58, data->unk_20, data->unk_20, data->unk_20);
shim_guMtxCatF(sp58, sp98, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
idx %= ARRAY_COUNT(D_E0034790);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E0034790[idx], D_E0034790[idx + 1], D_E0034790[idx + 2], primA);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E0034780[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
primA = data->unk_24;
if (primA > 255) {
primA = 255;
}
if (primA > 0) {
shim_guScaleF(sp58, data->unk_18, data->unk_18, data->unk_18);
shim_guMtxCatF(sp58, sp98, sp18);
shim_guRotateF(sp58, data->unk_10, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E0034790[idx], D_E0034790[idx + 1], D_E0034790[idx + 2], primA);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 255, primA);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E0034780[unk_00]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,14 +1,88 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09002400_409480[];
extern Gfx D_09002528_4095A8[];
extern Gfx D_090025B8_409638[];
extern Gfx D_09002648_4096C8[];
extern Gfx D_090026D8_409758[];
extern Gfx D_090027F0_409870[];
Gfx* D_E011C500[] = {
D_09002528_4095A8, D_090025B8_409638, D_09002648_4096C8,
D_090026D8_409758, D_090027F0_409870
};
Gfx* D_E011C514[] = { D_09002400_409480 };
s32 D_E011C518[] = { 1, 1, 2, 2, 2 };
s32 D_E011C52C[] = { 3, 3, 4, 4 };
void quizmo_assistant_init(EffectInstance* effect);
void quizmo_assistant_update(EffectInstance* effect);
void quizmo_assistant_render(EffectInstance* effect);
void quizmo_assistant_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/quizmo_assistant", quizmo_assistant_main);
EffectInstance* quizmo_assistant_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
EffectInstance* effect;
QuizmoAssistantFXData* data;
s32 numParts = 1;
void quizmo_assistant_init(void) {
bp.init = quizmo_assistant_init;
bp.update = quizmo_assistant_update;
bp.renderWorld = quizmo_assistant_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_QUIZMO_ASSISTANT;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.quizmoAssistant = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.quizmoAssistant != NULL);
data->unk_00 = arg0;
data->lifetime = 0;
if (arg5 <= 0) {
data->vanishTimer = 1000;
} else {
data->vanishTimer = arg5;
}
data->fadeInAmt = 255;
data->position.x = arg1;
data->position.y = arg2;
data->position.z = arg3;
data->anim = 0;
return effect;
}
INCLUDE_ASM(s32, "effects/quizmo_assistant", quizmo_assistant_update);
void quizmo_assistant_init(EffectInstance* effect) {
}
void quizmo_assistant_update(EffectInstance* effect) {
QuizmoAssistantFXData* data = effect->data.quizmoAssistant;
if (effect->flags & EFFECT_INSTANCE_FLAGS_10) {
effect->flags &= ~EFFECT_INSTANCE_FLAGS_10;
data->vanishTimer = 16;
}
if (data->vanishTimer < 1000) {
data->vanishTimer--;
}
data->lifetime++;
if (data->vanishTimer < 0) {
shim_remove_effect(effect);
return;
}
if (data->vanishTimer < 16) {
data->fadeInAmt = data->vanishTimer * 16;
}
}
void quizmo_assistant_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +97,44 @@ void quizmo_assistant_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/quizmo_assistant", quizmo_assistant_appendGfx);
void quizmo_assistant_appendGfx(void* effect) {
QuizmoAssistantFXData* data = ((EffectInstance*)effect)->data.quizmoAssistant;
s32 lifetime = data->lifetime;
s32 fadeInAmt = data->fadeInAmt;
s32 idx;
Matrix4f sp18;
Matrix4f sp58;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, data->position.x, data->position.y, data->position.z);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guTranslateF(sp58, 89.5f, 0.0f, 2.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, 5.0f / 7, 5.0f / 7, 5.0f / 7);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, fadeInAmt, fadeInAmt, fadeInAmt, 255);
gSPDisplayList(gMasterGfxPos++, D_E011C514[0]);
switch (data->anim) {
case 0:
idx = 0;
break;
case 1:
idx = D_E011C518[lifetime % ARRAY_COUNT(D_E011C518)];
break;
case 2:
default:
idx = D_E011C52C[lifetime % ARRAY_COUNT(D_E011C52C)];
break;
}
gSPDisplayList(gMasterGfxPos++, D_E011C500[idx]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,14 +1,175 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000F20_338EE0[];
extern Gfx D_090011C8_339188[];
extern Gfx D_090011E0_3391A0[];
extern Gfx D_090011F8_3391B8[];
extern Gfx D_09001210_3391D0[];
extern Gfx D_09001228_3391E8[];
extern Gfx D_09001240_339200[];
extern Gfx D_09001258_339218[];
extern Gfx D_09001270_339230[];
Gfx* D_E0074B60[] = {
D_09001210_3391D0, D_09001228_3391E8, D_09001240_339200, D_09001258_339218,
D_09001270_339230, D_090011C8_339188, D_090011E0_3391A0, D_090011F8_3391B8
};
f32 D_E0074B80[] = {
0.2f, 0.4f, 0.8f, 1.3f, 1.5f, 1.3f, 0.9f, 0.6f, 0.4f, 0.3f,
0.2f, 0.4f, 0.8f, 1.3f, 1.5f, 1.3f, 0.9f, 0.6f, 0.4f, 0.3f
};
s32 D_E0074BD0[] = {
0xC8FAFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFAC8, 0x00000000, 0x00000000, 0x00000000
};
void shimmer_wave_init(EffectInstance* effect);
void shimmer_wave_update(EffectInstance* effect);
void shimmer_wave_render(EffectInstance* effect);
void shimmer_wave_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/shimmer_wave", shimmer_wave_main);
EffectInstance* shimmer_wave_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
f32 arg5,
s32 arg6,
s32 arg7
) {
EffectBlueprint bp;
EffectInstance* effect;
ShimmerWaveFXData* part;
f32 one = 1.0f;
f32 temp;
s32 i;
void shimmer_wave_init(void) {
arg6++;
bp.init = shimmer_wave_init;
bp.update = shimmer_wave_update;
bp.renderWorld = shimmer_wave_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_SHIMMER_WAVE;
effect = shim_create_effect_instance(&bp);
effect->numParts = arg6;
part = effect->data.shimmerWave = shim_general_heap_malloc(arg6 * sizeof(*part));
ASSERT(effect->data.shimmerWave != NULL);
part->unk_00 = arg0;
part->unk_3C = 0;
if (arg7 <= 0) {
part->unk_38 = 1000;
} else {
part->unk_38 = arg7;
}
part->unk_4C = 255;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
part->unk_60 = one;
part->unk_10 = arg4;
part->unk_14 = arg5;
part->unk_40 = 255;
part->unk_44 = 255;
part->unk_48 = 255;
part->unk_50 = 255;
part->unk_54 = 255;
part->unk_58 = 127;
part->unk_5C = 255;
part++;
if (arg7 < 20) {
temp = 20.0f / (arg6 - 1);
} else {
temp = (f32) arg7 / (arg6 - 1);
}
for (i = 1; i < arg6; i++, part++) {
part->unk_30 = (s32) (-(f32) i * temp) - 1;
}
return effect;
}
INCLUDE_ASM(s32, "effects/shimmer_wave", shimmer_wave_update);
void shimmer_wave_init(EffectInstance* effect) {
}
void shimmer_wave_update(EffectInstance* effect) {
ShimmerWaveFXData* part = effect->data.shimmerWave;
f32 unk_10;
f32 unk_14;
s32 i;
if (effect->flags & EFFECT_INSTANCE_FLAGS_10) {
effect->flags &= ~EFFECT_INSTANCE_FLAGS_10;
part->unk_38 = 16;
}
if (part->unk_38 < 1000) {
part->unk_38--;
}
part->unk_3C++;
if (part->unk_38 < 0) {
shim_remove_effect(effect);
return;
}
if (part->unk_38 < 8) {
part->unk_4C = part->unk_38 * 32;
}
unk_10 = part->unk_10;
unk_14 = part->unk_14;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_30++;
if (part->unk_30 >= ARRAY_COUNT(D_E0074B80)) {
part->unk_30 = 0;
}
if (part->unk_30 >= 0) {
if (part->unk_30 == 0) {
f32 rand = shim_rand_int(359);
shim_rand_int(359);
part->unk_04 = unk_10 * shim_sin_deg(rand);
part->unk_08 = shim_rand_int(unk_14) - unk_14 * 0.5;
part->unk_0C = unk_10 * shim_cos_deg(rand);
part->unk_18 = shim_sin_deg(rand) * 15.0f;
part->unk_1C = part->unk_08 * 0.4;
part->unk_20 = shim_cos_deg(rand) * 15.0f;
part->unk_24 = part->unk_18 * 0.5;
part->unk_28 = part->unk_1C * 0.5;
part->unk_2C = part->unk_20 * 0.5;
part->unk_64 = shim_rand_int(15);
part->unk_68 = shim_rand_int(15);
part->unk_34 = 0.0f;
part->unk_4C = 255;
}
part->unk_60 = 2.0f * D_E0074B80[part->unk_30];
part->unk_34 += 4.0f;
part->unk_04 += part->unk_18;
part->unk_08 += part->unk_1C;
part->unk_0C += part->unk_20;
part->unk_64 += 0.2;
part->unk_68 += 0.6;
part->unk_18 += (part->unk_24 - part->unk_18) * 0.04;
part->unk_1C += (part->unk_28 - part->unk_1C) * 0.04;
part->unk_20 += (part->unk_2C - part->unk_20) * 0.04;
}
}
}
void shimmer_wave_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +184,61 @@ void shimmer_wave_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/shimmer_wave", shimmer_wave_appendGfx);
void shimmer_wave_appendGfx(void* effect) {
ShimmerWaveFXData* part = ((EffectInstance*)effect)->data.shimmerWave;
s32 unk_50 = part->unk_50;
s32 unk_54 = part->unk_54;
s32 unk_58 = part->unk_58;
f32 temp_4C = part->unk_4C / 255.0f;
Gfx* savedGfxPos;
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_60, part->unk_60, part->unk_60);
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);
gDPSetEnvColor(gMasterGfxPos++, part->unk_40, part->unk_44, part->unk_48, part->unk_5C);
gSPDisplayList(gMasterGfxPos++, D_09000F20_338EE0);
savedGfxPos = gMasterGfxPos;
gMasterGfxPos++;
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
if (part->unk_30 >= 0) {
shim_guPositionF(sp20, 0.0f, 0.0f, part->unk_34, part->unk_60 * temp_4C, part->unk_04, part->unk_08, part->unk_0C);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_50, unk_54, unk_58, part->unk_4C * temp_4C);
gSPDisplayList(gMasterGfxPos++, D_E0074B60[i & 7]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
gSPEndDisplayList(gMasterGfxPos++);
gSPBranchList(savedGfxPos, gMasterGfxPos);
gSPDisplayList(gMasterGfxPos++, savedGfxPos + 1);
shim_guRotateF(sp20, 120.0f, 0.0f, 1.0f, 0.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, savedGfxPos + 1);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
shim_guRotateF(sp20, -120.0f, 0.0f, 1.0f, 0.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, savedGfxPos + 1);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,274 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_090037A8_3C1148[];
extern Gfx D_09003818_3C11B8[];
s8 D_E00C0A10[] = {
100, 90, 82, 76, 72, 70, 74, 89, 103, 116,
118, 120, 120, 120, 120, 118, 114
};
s8 D_E00C0A21 = 110;
u8 D_E00C0A24[] = {
100, 90, 82, 76, 72, 70, 74, 89, 100, 108,
110, 108, 102, 96, 95, 96, 99, 101, 100, 100,
100, 100, 100, 100, 100, 100, 100
};
u8 D_E00C0A40[] = {
100, 90, 82, 76, 72, 70, 70, 70, 70, 70,
70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
70, 70, 70, 70, 70, 70, 70, 70, 70, 70,
70, 70, 74, 89, 103, 116, 118, 120, 120, 120,
120, 118, 114, 110
};
s8 D_E00C0A8C[] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x0A, 0x10, 0x16, 0x1C, 0x21, 0x26, 0x28, 0x29,
0x29, 0x28, 0x26, 0x21, 0x1C, 0x16, 0x10, 0x0A, 0x05, 0x01, 0x01, 0x05, 0x0A, 0x10, 0x16,
0x1C, 0x21, 0x26, 0x28, 0x29, 0x29, 0x28, 0x26, 0x21, 0x1C, 0x16, 0x10, 0x0A, 0x05, 0x01,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFF, 0x38, 0x00, 0xC8, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x4C, 0x00, 0xB4, 0x1E, 0x64,
0x64, 0x00, 0xFF, 0x60, 0x00, 0xA0, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x74, 0x00, 0x8C, 0x1E,
0x64, 0x64, 0x00, 0xFF, 0x88, 0x00, 0x78, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x9C, 0x00, 0x64,
0x1E, 0x64, 0x64, 0x00, 0xFF, 0xB0, 0x00, 0x50, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0xC4, 0x00,
0x3C, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0xD8, 0x00, 0x28, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0xEC,
0x00, 0x14, 0x1E, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x64, 0x64, 0x00, 0x00,
0x00, 0x00, 0x00, 0x1E, 0x78, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x82, 0x46, 0x00,
0x00, 0x00, 0x00, 0x00, 0x05, 0x87, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8A, 0x3E,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C,
0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x8C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
0x8C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8A, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,
0xFE, 0x87, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x82, 0x46, 0x00, 0x00, 0x00, 0x00,
0x00, 0xFC, 0x78, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x64, 0x64, 0x00, 0x00, 0x00,
0x00, 0x00, 0xFA, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x64, 0x64, 0x00, 0x00,
0x00, 0x00, 0x01, 0xF4, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x03, 0xEE, 0x64, 0x64, 0x00,
0x00, 0x00, 0x00, 0x05, 0xE6, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDC, 0x64, 0x64,
0x00, 0x00, 0x00, 0x00, 0x0F, 0xD0, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x14, 0xC2, 0x64,
0x64, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xB2, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0x1E, 0xA0,
0x64, 0x64, 0x00, 0x00, 0x08, 0x00, 0x1E, 0xA0, 0x64, 0x64, 0x00, 0x00, 0x0A, 0x00, 0x1E,
0xA0, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void snowman_doll_init(EffectInstance* effect);
void snowman_doll_update(EffectInstance* effect);
void snowman_doll_render(EffectInstance* effect);
void snowman_doll_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/snowman_doll", snowman_doll_main);
EffectInstance* snowman_doll_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
SnowmanDollFXData* data;
s32 numParts = 1;
void snowman_doll_init(void) {
bp.init = snowman_doll_init;
bp.update = snowman_doll_update;
bp.renderWorld = snowman_doll_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_SNOWMAN_DOLL;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.snowmanDoll = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.snowmanDoll != 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_30 = 0;
data->unk_34 = 200.0f;
data->unk_38 = 0;
data->unk_3C = 0;
data->unk_40 = 0;
data->unk_44 = 0;
data->unk_54 = 0;
data->unk_58 = 2;
data->unk_28 = arg4;
data->unk_5C = 0;
data->unk_18 = 200;
data->unk_1C = 220;
data->unk_20 = 240;
data->unk_2C = 0;
data->unk_40 = -8.0f;
data->unk_50 = -1.0f;
return effect;
}
INCLUDE_ASM(s32, "effects/snowman_doll", snowman_doll_update);
void snowman_doll_init(EffectInstance* effect) {
}
void snowman_doll_update(EffectInstance* effect) {
SnowmanDollFXData* data = effect->data.snowmanDoll;
s32 unk_14;
s32 unk_58;
if (effect->flags & EFFECT_INSTANCE_FLAGS_10) {
effect->flags &= ~EFFECT_INSTANCE_FLAGS_10;
data->unk_10 = 16;
}
if (data->unk_10 < 1000) {
data->unk_10--;
}
data->unk_14++;
if (data->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
unk_14 = data->unk_14;
if (data->unk_10 < 16) {
data->unk_24 = data->unk_10 * 16;
}
if (unk_14 < 16) {
data->unk_24 = unk_14 * 16 + 15;
}
if (data->unk_3C != 0.0f) {
f32 unk_40 = data->unk_40;
if (unk_40 < 0.0f) {
unk_40 = -unk_40;
}
if (data->unk_3C < 0.0f) {
data->unk_2C -= unk_40;
} else {
data->unk_2C += unk_40;
}
}
unk_58 = data->unk_58;
switch (unk_58) {
case 0:
data->unk_4C = (f32) D_E00C0A24[data->unk_54++] * 0.01;
data->unk_48 = 2.0f - data->unk_4C;
if (data->unk_54 >= ARRAY_COUNT(D_E00C0A24)) {
data->unk_58 = 2;
}
break;
case 1:
data->unk_4C = (f32) D_E00C0A10[data->unk_54++] * 0.01;
data->unk_48 = 2.0f - data->unk_4C;
if (data->unk_54 >= ARRAY_COUNT(D_E00C0A10) + 1) {
data->unk_58 = 2;
}
if (data->unk_54 >= 8) {
data->unk_30 += data->unk_3C;
data->unk_34 += data->unk_40;
data->unk_38 += data->unk_44;
data->unk_40 += -1.0f;
}
break;
case 3:
data->unk_4C = (f32) D_E00C0A40[data->unk_54++] * 0.01;
data->unk_48 = 2.0f - data->unk_4C;
data->unk_2C = D_E00C0A8C[data->unk_54++];
if (data->unk_54 >= ARRAY_COUNT(D_E00C0A40)) {
data->unk_58 = 2;
}
if (data->unk_54 >= 64) {
data->unk_30 += data->unk_3C;
data->unk_34 += data->unk_40;
data->unk_38 += data->unk_44;
data->unk_40 += -1.0f;
}
break;
case 2:
data->unk_30 += data->unk_3C;
data->unk_34 += data->unk_40;
data->unk_38 += data->unk_44;
data->unk_40 += data->unk_50;
data->unk_4C = (f32) D_E00C0A21 * 0.01;
data->unk_48 = 2.0f - data->unk_4C;
if (data->unk_34 < 0.0f) {
switch (data->unk_5C) {
case 0:
data->unk_58 = 0;
break;
case 1:
data->unk_58 = 1;
data->unk_3C = 2.0f;
data->unk_44 = 2.0f;
data->unk_40 = 10.0f;
break;
case 2:
data->unk_58 = 1;
data->unk_3C = 2.0f;
data->unk_44 = -2.0f;
data->unk_40 = 10.0f;
break;
case 3:
data->unk_58 = 1;
data->unk_3C = -2.0f;
data->unk_44 = -2.0f;
data->unk_40 = 10.0f;
break;
case 4:
data->unk_44 = 0.0f;
data->unk_58 = 1;
data->unk_3C = 10.0f;
data->unk_40 = 14.0f;
data->unk_50 = -1.0f;
break;
default:
data->unk_3C = 0.0f;
data->unk_40 = 0.0f;
data->unk_44 = 0.0f;
data->unk_34 = 0.0f;
data->unk_58 = unk_58;
break;
}
data->unk_34 = 0.0f;
data->unk_54 = 0;
data->unk_5C++;
}
break;
}
if ((unk_14 & 7) == 1) {
shim_load_effect(EFFECT_COLD_BREATH);
cold_breath_main(2,
data->unk_04 + data->unk_30 + shim_rand_int(60) - 30.0f,
data->unk_08 + data->unk_34 + shim_rand_int(100) + 50.0f,
data->unk_0C + data->unk_38,
4.0f, 40);
shim_load_effect(EFFECT_MISC_PARTICLES);
misc_particles_main(1,
data->unk_04 + data->unk_30,
data->unk_08 + data->unk_34 + 10.0f,
data->unk_0C + data->unk_38 + 60.0f,
60.0f, 100.0f, 2.0f, 10, 30);
}
}
void snowman_doll_render(EffectInstance* effect) {
RenderTask renderTask;
@ -26,4 +286,33 @@ void snowman_doll_render(EffectInstance* effect) {
void func_E00C0758(void) {
}
INCLUDE_ASM(s32, "effects/snowman_doll", snowman_doll_appendGfx);
void snowman_doll_appendGfx(void* effect) {
SnowmanDollFXData* data = ((EffectInstance*)effect)->data.snowmanDoll;
s32 unk_24 = data->unk_24;
Matrix4f sp18;
Matrix4f sp58;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp58, data->unk_28, data->unk_28, data->unk_28);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
shim_guTranslateF(sp18, data->unk_30, data->unk_34, data->unk_38);
shim_guScaleF(sp58, data->unk_48, data->unk_4C, data->unk_48);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, data->unk_2C, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, unk_24);
gSPDisplayList(gMasterGfxPos++, D_090037A8_3C1148);
gSPDisplayList(gMasterGfxPos++, D_09003818_3C11B8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,11 +1,18 @@
#include "common.h"
#include "effects_internal.h"
void star_outline_appendGfx(void* effect);
extern Gfx D_09000800_4147A0[];
extern Gfx D_09000B20_414AC0[];
extern Gfx D_09000B90_414B30[];
Gfx* D_E0126BC0[] = { D_09000B90_414B30 };
Gfx* D_E0126BC4[] = { D_09000B20_414AC0 };
Gfx* D_E0126BC8[] = { D_09000800_4147A0 };
void star_outline_init(EffectInstance* effect);
void star_outline_update(EffectInstance* effect);
void star_outline_render(EffectInstance* effect);
void star_outline_appendGfx(void* effect);
EffectInstance* star_outline_main(s32 arg0, f32 posX, f32 posY, f32 posZ, f32 arg4, s32 arg5) {
EffectBlueprint effectBp;
@ -137,4 +144,116 @@ void star_outline_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/star_outline", star_outline_appendGfx);
void star_outline_appendGfx(void* effect) {
StarOutlineFXData* data = ((EffectInstance*)effect)->data.starOutline;
s32 unk_18 = data->unk_18;
s32 unk_1C = data->unk_1C;
s32 unk_20 = data->unk_20;
s32 unk_24 = data->unk_24;
s32 unk_28 = data->unk_28;
s32 unk_2C = data->unk_2C;
s32 unk_30 = data->unk_30;
s32 unk_34 = data->unk_34;
Matrix4f sp20;
Matrix4f sp60;
if (unk_18 > 255) {
unk_18 = 255;
}
if (unk_1C > 255) {
unk_1C = 255;
}
if (unk_20 > 255) {
unk_20 = 255;
}
if (unk_24 > 255) {
unk_24 = 255;
}
if (unk_28 > 255) {
unk_28 = 255;
}
if (unk_2C > 255) {
unk_2C = 255;
}
if (unk_30 > 255) {
unk_30 = 255;
}
if (unk_34 > 255) {
unk_34 = 255;
}
if (unk_18 < 0) {
unk_18 = 0;
}
if (unk_1C < 0) {
unk_1C = 0;
}
if (unk_20 < 0) {
unk_20 = 0;
}
if (unk_24 < 0) {
unk_24 = 0;
}
if (unk_28 < 0) {
unk_28 = 0;
}
if (unk_2C < 0) {
unk_2C = 0;
}
if (unk_30 < 0) {
unk_30 = 0;
}
if (unk_34 < 0) {
unk_34 = 0;
}
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_E0126BC8[0]);
if (unk_34 != 0) {
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, (f32) ((f64) data->unk_54 * 0.4), data->pos.x, data->pos.y, data->pos.z);
shim_guPositionF(sp60, data->unk_48, data->unk_4C, data->unk_50, 1.0f, 0.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (data->unk_00 == 0) {
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2);
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_18, unk_1C, unk_20, unk_34 >> 1);
gDPSetEnvColor(gMasterGfxPos++, unk_28, unk_2C, unk_30, unk_34 >> 1);
gSPDisplayList(gMasterGfxPos++, D_E0126BC4[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, data->unk_38 * 0.4, data->pos.x, data->pos.y, data->pos.z);
shim_guPositionF(sp60, data->unk_3C.x, data->unk_3C.y, data->unk_3C.z, 1.0f, 0.0f, 0.0f, 0.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (unk_34 != 0) {
if (data->unk_00 == 0) {
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_ZB_CLD_SURF, G_RM_ZB_CLD_SURF2);
}
gSPDisplayList(gMasterGfxPos++, D_E0126BC4[0]);
}
if (data->unk_00 == 0) {
gDPSetRenderMode(gMasterGfxPos++, G_RM_AA_XLU_SURF, G_RM_AA_XLU_SURF2);
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2);
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_18, unk_1C, unk_20, unk_24);
gDPSetEnvColor(gMasterGfxPos++, unk_28, unk_2C, unk_30, unk_24);
gSPDisplayList(gMasterGfxPos++, D_E0126BC0[0]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,110 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000440_360E70[];
extern Gfx D_090004F0_360F20[];
void stars_spread_init(EffectInstance* effect);
void stars_spread_update(EffectInstance* effect);
void stars_spread_render(EffectInstance* effect);
void stars_spread_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/stars_spread", stars_spread_main);
void stars_spread_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
s32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
StarsSpreadFXData* part;
s32 i;
void stars_spread_init(void) {
arg4++;
bp.init = stars_spread_init;
bp.update = stars_spread_update;
bp.renderWorld = stars_spread_render;
bp.unk_00 = 0;
bp.unk_14 = 0;
bp.effectID = EFFECT_STARS_SPREAD;
effect = shim_create_effect_instance(&bp);
effect->numParts = arg4;
part = effect->data.starsSpread = shim_general_heap_malloc(arg4 * sizeof(*part));
ASSERT(effect->data.starsSpread != NULL);
shim_mem_clear(part, arg4 * sizeof(*part));
part->unk_24 = arg5;
part->unk_28 = 0;
part->unk_2C = arg5;
part->unk_00 = arg0;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
part++;
for (i = 1; i < arg4; i++, part++) {
part->unk_04 = 0;
part->unk_08 = 0;
part->unk_0C = 0;
part->unk_10 = shim_sin_deg((i - 1) * 360 / (arg4 - 1)) * 8.0;
part->unk_14 = shim_cos_deg((i - 1) * 360 / (arg4 - 1)) * 8.0;
part->unk_18 = 0;
part->unk_1C = 0;
part->unk_20 = 20.0f;
part->unk_30 = 1.0f;
}
}
INCLUDE_ASM(s32, "effects/stars_spread", stars_spread_update);
void stars_spread_init(EffectInstance* effect) {
}
void stars_spread_update(EffectInstance* effect) {
StarsSpreadFXData* part = effect->data.starsSpread;
s32 unk_24;
s32 unk_2C;
s32 i;
part->unk_28++;
part->unk_24--;
if (part->unk_24 < 0) {
shim_remove_effect(effect);
return;
}
unk_24 = part->unk_24;
unk_2C = part->unk_2C;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
if (unk_24 >= 6) {
part->unk_10 *= 0.8;
part->unk_14 *= 0.8;
part->unk_18 *= 0.8;
}
if (unk_24 < 5) {
part->unk_20 *= 0.8;
part->unk_10 *= 0.7;
part->unk_14 *= 0.7;
part->unk_18 *= 0.7;
}
if (unk_24 * 2 < unk_2C) {
part->unk_30 += -part->unk_30 * 0.2;
}
part->unk_04 += part->unk_10;
part->unk_08 += part->unk_14;
part->unk_0C = 0;
part->unk_1C += part->unk_20;
}
}
void stars_spread_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +119,38 @@ void stars_spread_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/stars_spread", stars_spread_appendGfx);
void stars_spread_appendGfx(void* effect) {
StarsSpreadFXData* part = ((EffectInstance*)effect)->data.starsSpread;
Gfx* dlist = D_090004F0_360F20;
Matrix4f sp18;
Matrix4f sp58;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09000440_360E70);
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_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 220, 220, 40, 230);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C);
shim_guRotateF(sp58, part->unk_1C, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guScaleF(sp58, part->unk_30, part->unk_30, 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

@ -1,14 +1,98 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000E00_362470[];
extern Gfx D_09000F30_3625A0[];
Gfx* D_E005C700[] = { D_09000F30_3625A0 };
Gfx* D_E005C704[] = { D_09000E00_362470 };
void steam_burst_init(EffectInstance* effect);
void steam_burst_update(EffectInstance* effect);
void steam_burst_render(EffectInstance* effect);
void steam_burst_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/steam_burst", steam_burst_main);
void steam_burst_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
SteamBurstFXData* part;
s32 numParts = 2;
s32 i;
void steam_burst_init(void) {
bp.init = steam_burst_init;
bp.update = steam_burst_update;
bp.renderWorld = steam_burst_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_STEAM_BURST;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
part = effect->data.steamBurst = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.steamBurst != NULL);
shim_mem_clear(part, numParts * sizeof(*part));
part->unk_24 = arg5;
part->unk_28 = 0;
part->unk_2C = arg5;
part->unk_30 = 0;
part->unk_00 = arg0;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
part->unk_1C = 10.0f;
part->unk_20 = 30.0f;
part++;
for (i = 1; i < numParts; i++, part++) {
f32 zero = 0.0f;
part->unk_04 = zero;
part->unk_08 = zero;
part->unk_0C = zero;
part->unk_10 = shim_sin_deg(0.0f);
part->unk_14 = 0.0f;
part->unk_18 = shim_cos_deg(0.0f);
}
}
INCLUDE_ASM(s32, "effects/steam_burst", steam_burst_update);
void steam_burst_init(EffectInstance* effect) {
}
void steam_burst_update(EffectInstance* effect) {
SteamBurstFXData* part = effect->data.steamBurst;
f32 unk_1C;
s32 i;
part->unk_30 = part->unk_28 * 7.0f / part->unk_2C;
part->unk_28++;
part->unk_24--;
if (part->unk_24 < 0) {
shim_remove_effect(effect);
return;
}
part->unk_1C += (part->unk_20 - part->unk_1C) * 0.1;
unk_1C = part->unk_1C;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_14 += 0.04;
part->unk_14 *= 0.9;
part->unk_04 = unk_1C * part->unk_10;
part->unk_08 += part->unk_14;
part->unk_0C = unk_1C * part->unk_18;
}
}
void steam_burst_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +107,53 @@ void steam_burst_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/steam_burst", steam_burst_appendGfx);
void steam_burst_appendGfx(void* effect) {
SteamBurstFXData* part = ((EffectInstance*)effect)->data.steamBurst;
s32 unk_30_s32 = part->unk_30;
s32 envAlpha = (part->unk_30 - unk_30_s32) * 256.0f;
s32 cond = (unk_30_s32 == 6);
Gfx* dlist = D_E005C700[part->unk_00];
Gfx* dlist2 = D_E005C704[part->unk_00];
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, dlist2);
shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp98);
shim_guMtxF2L(sp98, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 230, 222, 222, 130);
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, envAlpha);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE,
(unk_30_s32 * 32 ) * 4, 0,
(unk_30_s32 * 32 + 32) * 4, 32 * 4);
if (cond) {
gDPSetTileSize(gMasterGfxPos++, 1,
(unk_30_s32 * 32 + 32) * 4, 32 * 4,
(unk_30_s32 * 32 + 64) * 4, 64 * 4);
} else {
gDPSetTileSize(gMasterGfxPos++, 1,
(unk_30_s32 * 32 + 32) * 4, 0,
(unk_30_s32 * 32 + 64) * 4, 32 * 4);
}
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
shim_guTranslateF(sp18, part->unk_04, part->unk_08, part->unk_0C);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, dlist);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,25 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000898_40C438[];
extern Gfx D_09000980_40C520[];
extern Gfx D_09000998_40C538[];
extern Gfx D_090009B0_40C550[];
extern Gfx D_090009C8_40C568[];
extern Gfx D_090009E0_40C580[];
Gfx* D_E0120780[] = {
D_09000980_40C520, D_09000998_40C538, D_090009B0_40C550,
D_090009C8_40C568, D_090009E0_40C580
};
Gfx* D_E0120794[] = { D_09000898_40C438 };
void sun_init(EffectInstance* effect);
void sun_update(EffectInstance* effect);
void sun_render(EffectInstance* effect);
void sun_appendGfx(void* effect);
Gfx* D_E0120780[] = { (Gfx*) 0x09000980, (Gfx*) 0x09000998, (Gfx*) 0x090009B0, (Gfx*) 0x090009C8, (Gfx*) 0x090009E0 };
Gfx* D_E0120794[] = { (Gfx*) 0x09000898 };
EffectInstance* sun_main(s32 shineFromRight, f32 offsetX, f32 offsetY, f32 offsetZ, f32 arg4, s32 duration) {
EffectBlueprint bp;
EffectInstance* effect;

View File

@ -1,6 +1,11 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000200_35C750[];
extern Gfx D_090002C8_35C818[];
extern Gfx D_09000390_35C8E0[];
extern Gfx D_09000460_35C9B0[];
void sweat_init(EffectInstance* effect);
void sweat_update(EffectInstance* effect);
void sweat_render(EffectInstance* effect);
@ -76,4 +81,28 @@ void sweat_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/sweat", sweat_appendGfx);
void sweat_appendGfx(void* effect) {
SweatFXData* data = ((EffectInstance*)effect)->data.sweat;
Matrix4f sp18;
Matrix4f sp58;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, data->pos.x, data->pos.y, data->pos.z);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, data->unk_10, 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_LOAD | G_MTX_MODELVIEW);
if (data->unk_10 > 0.0f) {
gSPDisplayList(gMasterGfxPos++, data->unk_00 == 0 ? D_09000200_35C750 : D_090002C8_35C818);
} else {
gSPDisplayList(gMasterGfxPos++, data->unk_00 == 0 ? D_09000390_35C8E0 : D_09000460_35C9B0);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,18 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0034780
.word 0x090002E0, 0x090002E0
dlabel D_E0034788
.word 0x09000240, 0x09000240
dlabel D_E0034790
.byte 0xFF
dlabel D_E0034791
.byte 0xFF
dlabel D_E0034792
.byte 0x52, 0xFF, 0xFF, 0x52, 0xB5, 0x94, 0x00, 0xB5, 0x94, 0x00, 0xFF, 0xFF, 0xD6, 0xFF, 0xFF, 0xD6, 0xB5, 0x94, 0x00, 0xB5, 0x94, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E005C700
.word 0x09000F30
dlabel D_E005C704
.word 0x09000E00, 0x00000000, 0x00000000

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0074B60
.word 0x09001210, 0x09001228, 0x09001240, 0x09001258, 0x09001270, 0x090011C8, 0x090011E0, 0x090011F8
dlabel D_E0074B80
.word 0x3E4CCCCD, 0x3ECCCCCD, 0x3F4CCCCD, 0x3FA66666, 0x3FC00000, 0x3FA66666, 0x3F666666, 0x3F19999A, 0x3ECCCCCD, 0x3E99999A, 0x3E4CCCCD, 0x3ECCCCCD, 0x3F4CCCCD, 0x3FA66666, 0x3FC00000, 0x3FA66666, 0x3F666666, 0x3F19999A, 0x3ECCCCCD, 0x3E99999A, 0xC8FAFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFAC8, 0x00000000, 0x00000000, 0x00000000

View File

@ -1,18 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00C0A10
.byte 0x64, 0x5A, 0x52, 0x4C, 0x48, 0x46, 0x4A, 0x59, 0x67, 0x74, 0x76, 0x78, 0x78, 0x78, 0x78, 0x76, 0x72
dlabel D_E00C0A21
.byte 0x6E, 0x00, 0x00
dlabel D_E00C0A24
.byte 0x64, 0x5A, 0x52, 0x4C, 0x48, 0x46, 0x4A, 0x59, 0x64, 0x6C, 0x6E, 0x6C, 0x66, 0x60, 0x5F, 0x60, 0x63, 0x65, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x64, 0x00
dlabel D_E00C0A40
.byte 0x64, 0x5A, 0x52, 0x4C, 0x48, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x46, 0x4A, 0x59, 0x67, 0x74, 0x76, 0x78, 0x78, 0x78, 0x78, 0x76, 0x72, 0x6E, 0x00, 0x00
dlabel D_E00C0A8C
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x05, 0x0A, 0x10, 0x16, 0x1C, 0x21, 0x26, 0x28, 0x29, 0x29, 0x28, 0x26, 0x21, 0x1C, 0x16, 0x10, 0x0A, 0x05, 0x01, 0x01, 0x05, 0x0A, 0x10, 0x16, 0x1C, 0x21, 0x26, 0x28, 0x29, 0x29, 0x28, 0x26, 0x21, 0x1C, 0x16, 0x10, 0x0A, 0x05, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x38, 0x00, 0xC8, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x4C, 0x00, 0xB4, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x60, 0x00, 0xA0, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x74, 0x00, 0x8C, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x88, 0x00, 0x78, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0x9C, 0x00, 0x64, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0xB0, 0x00, 0x50, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0xC4, 0x00, 0x3C, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0xD8, 0x00, 0x28, 0x1E, 0x64, 0x64, 0x00, 0xFF, 0xEC, 0x00, 0x14, 0x1E, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x78, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x82, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x87, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x8A, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x8C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x8C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x8A, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x87, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0x82, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x78, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFA, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x01, 0xF4, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x03, 0xEE, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x05, 0xE6, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x0A, 0xDC, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xD0, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x14, 0xC2, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x1C, 0xB2, 0x64, 0x64, 0x00, 0x00, 0x05, 0x00, 0x1E, 0xA0, 0x64, 0x64, 0x00, 0x00, 0x08, 0x00, 0x1E, 0xA0, 0x64, 0x64, 0x00, 0x00, 0x0A, 0x00, 0x1E, 0xA0, 0x64, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00DC640
.word 0x09000628, 0x090005E8
dlabel D_E00DC648
.word 0x09000400, 0x09000400

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E00E29F0
.word 0x09001000
dlabel D_E00E29F4
.byte 0x78, 0x82, 0x8C, 0x96, 0xA0, 0xAA, 0xB4, 0xBE, 0xC8, 0xC8, 0xBE, 0xB4, 0xAA, 0xA0, 0x96, 0x8C, 0x82, 0x00, 0x00, 0x00
dlabel D_E00E2A08
.byte 0xAA, 0xA0, 0x96, 0x8C, 0x82, 0x78, 0x82, 0x8C, 0x96, 0xA0, 0xAA, 0xB4, 0xBE, 0xC8, 0xC8, 0xBE, 0xB4, 0x00, 0x00, 0x00
dlabel D_E00E2A1C
.byte 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00

View File

@ -1,9 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E01108B0
.word 0x09001148
dlabel D_E01108B4
.word 0x09001000, 0x00000000, 0x00000000

View File

@ -1,15 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E011C500
.word 0x09002528, 0x090025B8, 0x09002648, 0x090026D8, 0x090027F0
dlabel D_E011C514
.word 0x09002400
dlabel D_E011C518
.word 0x00000001, 0x00000001, 0x00000002, 0x00000002, 0x00000002
dlabel D_E011C52C
.word 0x00000003, 0x00000003, 0x00000004, 0x00000004, 0x00000000

View File

@ -1,12 +0,0 @@
.include "macro.inc"
.section .data
dlabel D_E0126BC0
.word 0x09000B90
dlabel D_E0126BC4
.word 0x09000B20
dlabel D_E0126BC8
.word 0x09000800, 0x00000000

View File

@ -1,526 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00E2A30
.double 78.75
dlabel D_E00E2A38
.double 0.01
.section .text
glabel hieroglyphs_appendGfx
/* 3DC528 E00E2218 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 3DC52C E00E221C 0080302D */ daddu $a2, $a0, $zero
/* 3DC530 E00E2220 3C07DB06 */ lui $a3, 0xdb06
/* 3DC534 E00E2224 34E70024 */ ori $a3, $a3, 0x24
/* 3DC538 E00E2228 27A40020 */ addiu $a0, $sp, 0x20
/* 3DC53C E00E222C AFB300BC */ sw $s3, 0xbc($sp)
/* 3DC540 E00E2230 3C130001 */ lui $s3, 1
/* 3DC544 E00E2234 3C028007 */ lui $v0, %hi(gMatrixListPos)
/* 3DC548 E00E2238 244241F0 */ addiu $v0, $v0, %lo(gMatrixListPos)
/* 3DC54C E00E223C AFB700CC */ sw $s7, 0xcc($sp)
/* 3DC550 E00E2240 0040B82D */ daddu $s7, $v0, $zero
/* 3DC554 E00E2244 3C0F0001 */ lui $t7, 1
/* 3DC558 E00E2248 35EF1630 */ ori $t7, $t7, 0x1630
/* 3DC55C E00E224C 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 3DC560 E00E2250 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 3DC564 E00E2254 AFB600C8 */ sw $s6, 0xc8($sp)
/* 3DC568 E00E2258 0040B02D */ daddu $s6, $v0, $zero
/* 3DC56C E00E225C AFBF00D4 */ sw $ra, 0xd4($sp)
/* 3DC570 E00E2260 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 3DC574 E00E2264 AFB500C4 */ sw $s5, 0xc4($sp)
/* 3DC578 E00E2268 AFB400C0 */ sw $s4, 0xc0($sp)
/* 3DC57C E00E226C AFB200B8 */ sw $s2, 0xb8($sp)
/* 3DC580 E00E2270 AFB100B4 */ sw $s1, 0xb4($sp)
/* 3DC584 E00E2274 AFB000B0 */ sw $s0, 0xb0($sp)
/* 3DC588 E00E2278 F7B600E0 */ sdc1 $f22, 0xe0($sp)
/* 3DC58C E00E227C F7B400D8 */ sdc1 $f20, 0xd8($sp)
/* 3DC590 E00E2280 AFAF00A8 */ sw $t7, 0xa8($sp)
/* 3DC594 E00E2284 8EC50000 */ lw $a1, ($s6)
/* 3DC598 E00E2288 8CD5000C */ lw $s5, 0xc($a2)
/* 3DC59C E00E228C 00A0182D */ daddu $v1, $a1, $zero
/* 3DC5A0 E00E2290 24A50008 */ addiu $a1, $a1, 8
/* 3DC5A4 E00E2294 AEC50000 */ sw $a1, ($s6)
/* 3DC5A8 E00E2298 8EAF0014 */ lw $t7, 0x14($s5)
/* 3DC5AC E00E229C 36731630 */ ori $s3, $s3, 0x1630
/* 3DC5B0 E00E22A0 AFAF00A0 */ sw $t7, 0xa0($sp)
/* 3DC5B4 E00E22A4 8EB10024 */ lw $s1, 0x24($s5)
/* 3DC5B8 E00E22A8 3C02E700 */ lui $v0, 0xe700
/* 3DC5BC E00E22AC AC620000 */ sw $v0, ($v1)
/* 3DC5C0 E00E22B0 AC600004 */ sw $zero, 4($v1)
/* 3DC5C4 E00E22B4 ACA70000 */ sw $a3, ($a1)
/* 3DC5C8 E00E22B8 8CC30010 */ lw $v1, 0x10($a2)
/* 3DC5CC E00E22BC 24A20008 */ addiu $v0, $a1, 8
/* 3DC5D0 E00E22C0 AEC20000 */ sw $v0, ($s6)
/* 3DC5D4 E00E22C4 8C62001C */ lw $v0, 0x1c($v1)
/* 3DC5D8 E00E22C8 3C038000 */ lui $v1, 0x8000
/* 3DC5DC E00E22CC 00431021 */ addu $v0, $v0, $v1
/* 3DC5E0 E00E22D0 3C03800B */ lui $v1, %hi(gCameras)
/* 3DC5E4 E00E22D4 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3DC5E8 E00E22D8 ACA20004 */ sw $v0, 4($a1)
/* 3DC5EC E00E22DC 8EA50004 */ lw $a1, 4($s5)
/* 3DC5F0 E00E22E0 8EA60008 */ lw $a2, 8($s5)
/* 3DC5F4 E00E22E4 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3DC5F8 E00E22E8 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3DC5FC E00E22EC 8EA7000C */ lw $a3, 0xc($s5)
/* 3DC600 E00E22F0 00028080 */ sll $s0, $v0, 2
/* 3DC604 E00E22F4 02028021 */ addu $s0, $s0, $v0
/* 3DC608 E00E22F8 00108080 */ sll $s0, $s0, 2
/* 3DC60C E00E22FC 02028023 */ subu $s0, $s0, $v0
/* 3DC610 E00E2300 001010C0 */ sll $v0, $s0, 3
/* 3DC614 E00E2304 02028021 */ addu $s0, $s0, $v0
/* 3DC618 E00E2308 001080C0 */ sll $s0, $s0, 3
/* 3DC61C E00E230C 0C080108 */ jal shim_guTranslateF
/* 3DC620 E00E2310 02038021 */ addu $s0, $s0, $v1
/* 3DC624 E00E2314 27B20060 */ addiu $s2, $sp, 0x60
/* 3DC628 E00E2318 8EA50038 */ lw $a1, 0x38($s5)
/* 3DC62C E00E231C 0240202D */ daddu $a0, $s2, $zero
/* 3DC630 E00E2320 00A0302D */ daddu $a2, $a1, $zero
/* 3DC634 E00E2324 0C080110 */ jal shim_guScaleF
/* 3DC638 E00E2328 00A0382D */ daddu $a3, $a1, $zero
/* 3DC63C E00E232C 0240202D */ daddu $a0, $s2, $zero
/* 3DC640 E00E2330 27A50020 */ addiu $a1, $sp, 0x20
/* 3DC644 E00E2334 0C080114 */ jal shim_guMtxCatF
/* 3DC648 E00E2338 00A0302D */ daddu $a2, $a1, $zero
/* 3DC64C E00E233C 27A40020 */ addiu $a0, $sp, 0x20
/* 3DC650 E00E2340 96E50000 */ lhu $a1, ($s7)
/* 3DC654 E00E2344 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3DC658 E00E2348 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3DC65C E00E234C 00052980 */ sll $a1, $a1, 6
/* 3DC660 E00E2350 00B32821 */ addu $a1, $a1, $s3
/* 3DC664 E00E2354 0C080118 */ jal shim_guMtxF2L
/* 3DC668 E00E2358 00452821 */ addu $a1, $v0, $a1
/* 3DC66C E00E235C 3C03DA38 */ lui $v1, 0xda38
/* 3DC670 E00E2360 34630002 */ ori $v1, $v1, 2
/* 3DC674 E00E2364 3C0ADA38 */ lui $t2, 0xda38
/* 3DC678 E00E2368 354A0001 */ ori $t2, $t2, 1
/* 3DC67C E00E236C 27A40020 */ addiu $a0, $sp, 0x20
/* 3DC680 E00E2370 323100FF */ andi $s1, $s1, 0xff
/* 3DC684 E00E2374 8EC80000 */ lw $t0, ($s6)
/* 3DC688 E00E2378 3C0541A0 */ lui $a1, 0x41a0
/* 3DC68C E00E237C 3C013F80 */ lui $at, 0x3f80
/* 3DC690 E00E2380 4481B000 */ mtc1 $at, $f22
/* 3DC694 E00E2384 4480A000 */ mtc1 $zero, $f20
/* 3DC698 E00E2388 96E20000 */ lhu $v0, ($s7)
/* 3DC69C E00E238C 0100482D */ daddu $t1, $t0, $zero
/* 3DC6A0 E00E2390 25080008 */ addiu $t0, $t0, 8
/* 3DC6A4 E00E2394 AEC80000 */ sw $t0, ($s6)
/* 3DC6A8 E00E2398 AD230000 */ sw $v1, ($t1)
/* 3DC6AC E00E239C 24430001 */ addiu $v1, $v0, 1
/* 3DC6B0 E00E23A0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3DC6B4 E00E23A4 00021180 */ sll $v0, $v0, 6
/* 3DC6B8 E00E23A8 4406B000 */ mfc1 $a2, $f22
/* 3DC6BC E00E23AC 00531021 */ addu $v0, $v0, $s3
/* 3DC6C0 E00E23B0 A6E30000 */ sh $v1, ($s7)
/* 3DC6C4 E00E23B4 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 3DC6C8 E00E23B8 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 3DC6CC E00E23BC 4407A000 */ mfc1 $a3, $f20
/* 3DC6D0 E00E23C0 00621821 */ addu $v1, $v1, $v0
/* 3DC6D4 E00E23C4 25020008 */ addiu $v0, $t0, 8
/* 3DC6D8 E00E23C8 AD230004 */ sw $v1, 4($t1)
/* 3DC6DC E00E23CC AEC20000 */ sw $v0, ($s6)
/* 3DC6E0 E00E23D0 25020010 */ addiu $v0, $t0, 0x10
/* 3DC6E4 E00E23D4 AD0A0000 */ sw $t2, ($t0)
/* 3DC6E8 E00E23D8 AEC20000 */ sw $v0, ($s6)
/* 3DC6EC E00E23DC 8E030204 */ lw $v1, 0x204($s0)
/* 3DC6F0 E00E23E0 3C02FA00 */ lui $v0, 0xfa00
/* 3DC6F4 E00E23E4 AD020008 */ sw $v0, 8($t0)
/* 3DC6F8 E00E23E8 AD030004 */ sw $v1, 4($t0)
/* 3DC6FC E00E23EC 92A2001B */ lbu $v0, 0x1b($s5)
/* 3DC700 E00E23F0 92A9001F */ lbu $t1, 0x1f($s5)
/* 3DC704 E00E23F4 92AA0023 */ lbu $t2, 0x23($s5)
/* 3DC708 E00E23F8 25030018 */ addiu $v1, $t0, 0x18
/* 3DC70C E00E23FC AEC30000 */ sw $v1, ($s6)
/* 3DC710 E00E2400 3C03FB00 */ lui $v1, 0xfb00
/* 3DC714 E00E2404 AD030010 */ sw $v1, 0x10($t0)
/* 3DC718 E00E2408 00021600 */ sll $v0, $v0, 0x18
/* 3DC71C E00E240C 00094C00 */ sll $t1, $t1, 0x10
/* 3DC720 E00E2410 00491025 */ or $v0, $v0, $t1
/* 3DC724 E00E2414 000A5200 */ sll $t2, $t2, 8
/* 3DC728 E00E2418 004A1025 */ or $v0, $v0, $t2
/* 3DC72C E00E241C 00511025 */ or $v0, $v0, $s1
/* 3DC730 E00E2420 AD02000C */ sw $v0, 0xc($t0)
/* 3DC734 E00E2424 92A3002B */ lbu $v1, 0x2b($s5)
/* 3DC738 E00E2428 92A9002F */ lbu $t1, 0x2f($s5)
/* 3DC73C E00E242C 92AA0033 */ lbu $t2, 0x33($s5)
/* 3DC740 E00E2430 92AB0037 */ lbu $t3, 0x37($s5)
/* 3DC744 E00E2434 25020020 */ addiu $v0, $t0, 0x20
/* 3DC748 E00E2438 AEC20000 */ sw $v0, ($s6)
/* 3DC74C E00E243C 3C02DE00 */ lui $v0, 0xde00
/* 3DC750 E00E2440 AD020018 */ sw $v0, 0x18($t0)
/* 3DC754 E00E2444 25020030 */ addiu $v0, $t0, 0x30
/* 3DC758 E00E2448 AEC20000 */ sw $v0, ($s6)
/* 3DC75C E00E244C 00031E00 */ sll $v1, $v1, 0x18
/* 3DC760 E00E2450 00094C00 */ sll $t1, $t1, 0x10
/* 3DC764 E00E2454 00691825 */ or $v1, $v1, $t1
/* 3DC768 E00E2458 000A5200 */ sll $t2, $t2, 8
/* 3DC76C E00E245C 006A1825 */ or $v1, $v1, $t2
/* 3DC770 E00E2460 006B1825 */ or $v1, $v1, $t3
/* 3DC774 E00E2464 AD030014 */ sw $v1, 0x14($t0)
/* 3DC778 E00E2468 3C09E00E */ lui $t1, %hi(D_E00E29F0)
/* 3DC77C E00E246C 8D2929F0 */ lw $t1, %lo(D_E00E29F0)($t1)
/* 3DC780 E00E2470 3C02DE01 */ lui $v0, 0xde01
/* 3DC784 E00E2474 AD020020 */ sw $v0, 0x20($t0)
/* 3DC788 E00E2478 250201C0 */ addiu $v0, $t0, 0x1c0
/* 3DC78C E00E247C AD020024 */ sw $v0, 0x24($t0)
/* 3DC790 E00E2480 8FAF00A0 */ lw $t7, 0xa0($sp)
/* 3DC794 E00E2484 3C03F200 */ lui $v1, 0xf200
/* 3DC798 E00E2488 000F80C0 */ sll $s0, $t7, 3
/* 3DC79C E00E248C 32020FFF */ andi $v0, $s0, 0xfff
/* 3DC7A0 E00E2490 00021300 */ sll $v0, $v0, 0xc
/* 3DC7A4 E00E2494 00431025 */ or $v0, $v0, $v1
/* 3DC7A8 E00E2498 AD020028 */ sw $v0, 0x28($t0)
/* 3DC7AC E00E249C 0200102D */ daddu $v0, $s0, $zero
/* 3DC7B0 E00E24A0 244201FC */ addiu $v0, $v0, 0x1fc
/* 3DC7B4 E00E24A4 30420FFF */ andi $v0, $v0, 0xfff
/* 3DC7B8 E00E24A8 00021300 */ sll $v0, $v0, 0xc
/* 3DC7BC E00E24AC 3442007C */ ori $v0, $v0, 0x7c
/* 3DC7C0 E00E24B0 AD02002C */ sw $v0, 0x2c($t0)
/* 3DC7C4 E00E24B4 AD09001C */ sw $t1, 0x1c($t0)
/* 3DC7C8 E00E24B8 25080028 */ addiu $t0, $t0, 0x28
/* 3DC7CC E00E24BC E7B40010 */ swc1 $f20, 0x10($sp)
/* 3DC7D0 E00E24C0 0C080104 */ jal shim_guRotateF
/* 3DC7D4 E00E24C4 AFA800A4 */ sw $t0, 0xa4($sp)
/* 3DC7D8 E00E24C8 3C01E00E */ lui $at, %hi(D_E00E2A30)
/* 3DC7DC E00E24CC D4202A30 */ ldc1 $f0, %lo(D_E00E2A30)($at)
/* 3DC7E0 E00E24D0 44906000 */ mtc1 $s0, $f12
/* 3DC7E4 E00E24D4 00000000 */ nop
/* 3DC7E8 E00E24D8 46806321 */ cvt.d.w $f12, $f12
/* 3DC7EC E00E24DC 46206300 */ add.d $f12, $f12, $f0
/* 3DC7F0 E00E24E0 0000A02D */ daddu $s4, $zero, $zero
/* 3DC7F4 E00E24E4 0C080140 */ jal shim_sin_deg
/* 3DC7F8 E00E24E8 46206320 */ cvt.s.d $f12, $f12
/* 3DC7FC E00E24EC 3C01C1F0 */ lui $at, 0xc1f0
/* 3DC800 E00E24F0 44811000 */ mtc1 $at, $f2
/* 3DC804 E00E24F4 3C1E0900 */ lui $fp, 0x900
/* 3DC808 E00E24F8 27DE10A8 */ addiu $fp, $fp, 0x10a8
/* 3DC80C E00E24FC 46020002 */ mul.s $f0, $f0, $f2
/* 3DC810 E00E2500 00000000 */ nop
/* 3DC814 E00E2504 24110002 */ addiu $s1, $zero, 2
/* 3DC818 E00E2508 4405A000 */ mfc1 $a1, $f20
/* 3DC81C E00E250C 4407A000 */ mfc1 $a3, $f20
/* 3DC820 E00E2510 3C0140C0 */ lui $at, 0x40c0
/* 3DC824 E00E2514 44812000 */ mtc1 $at, $f4
/* 3DC828 E00E2518 44060000 */ mfc1 $a2, $f0
/* 3DC82C E00E251C 0240202D */ daddu $a0, $s2, $zero
/* 3DC830 E00E2520 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3DC834 E00E2524 E7B40018 */ swc1 $f20, 0x18($sp)
/* 3DC838 E00E2528 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3DC83C E00E252C 0C080180 */ jal shim_guPositionF
/* 3DC840 E00E2530 E7A40014 */ swc1 $f4, 0x14($sp)
/* 3DC844 E00E2534 0240202D */ daddu $a0, $s2, $zero
/* 3DC848 E00E2538 27A50020 */ addiu $a1, $sp, 0x20
/* 3DC84C E00E253C 0C080114 */ jal shim_guMtxCatF
/* 3DC850 E00E2540 00A0302D */ daddu $a2, $a1, $zero
/* 3DC854 E00E2544 27A40020 */ addiu $a0, $sp, 0x20
/* 3DC858 E00E2548 96E50000 */ lhu $a1, ($s7)
/* 3DC85C E00E254C 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3DC860 E00E2550 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3DC864 E00E2554 00052980 */ sll $a1, $a1, 6
/* 3DC868 E00E2558 00B32821 */ addu $a1, $a1, $s3
/* 3DC86C E00E255C 0C080118 */ jal shim_guMtxF2L
/* 3DC870 E00E2560 00452821 */ addu $a1, $v0, $a1
/* 3DC874 E00E2564 8EC20000 */ lw $v0, ($s6)
/* 3DC878 E00E2568 0280802D */ daddu $s0, $s4, $zero
/* 3DC87C E00E256C 0040202D */ daddu $a0, $v0, $zero
/* 3DC880 E00E2570 24420008 */ addiu $v0, $v0, 8
/* 3DC884 E00E2574 AEC20000 */ sw $v0, ($s6)
/* 3DC888 E00E2578 96E20000 */ lhu $v0, ($s7)
/* 3DC88C E00E257C 3C03DA38 */ lui $v1, 0xda38
/* 3DC890 E00E2580 AC830000 */ sw $v1, ($a0)
/* 3DC894 E00E2584 24430001 */ addiu $v1, $v0, 1
/* 3DC898 E00E2588 3042FFFF */ andi $v0, $v0, 0xffff
/* 3DC89C E00E258C 00021180 */ sll $v0, $v0, 6
/* 3DC8A0 E00E2590 A6E30000 */ sh $v1, ($s7)
/* 3DC8A4 E00E2594 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 3DC8A8 E00E2598 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 3DC8AC E00E259C 00531021 */ addu $v0, $v0, $s3
/* 3DC8B0 E00E25A0 00621821 */ addu $v1, $v1, $v0
/* 3DC8B4 E00E25A4 AC830004 */ sw $v1, 4($a0)
.LE00E25A8:
/* 3DC8B8 E00E25A8 8FAF00A0 */ lw $t7, 0xa0($sp)
/* 3DC8BC E00E25AC 000F10C0 */ sll $v0, $t7, 3
/* 3DC8C0 E00E25B0 02021021 */ addu $v0, $s0, $v0
/* 3DC8C4 E00E25B4 44826000 */ mtc1 $v0, $f12
/* 3DC8C8 E00E25B8 00000000 */ nop
/* 3DC8CC E00E25BC 46806320 */ cvt.s.w $f12, $f12
/* 3DC8D0 E00E25C0 0C080140 */ jal shim_sin_deg
/* 3DC8D4 E00E25C4 26100030 */ addiu $s0, $s0, 0x30
/* 3DC8D8 E00E25C8 44941000 */ mtc1 $s4, $f2
/* 3DC8DC E00E25CC 00000000 */ nop
/* 3DC8E0 E00E25D0 468010A0 */ cvt.s.w $f2, $f2
/* 3DC8E4 E00E25D4 3C01E00E */ lui $at, %hi(D_E00E2A38)
/* 3DC8E8 E00E25D8 D4242A38 */ ldc1 $f4, %lo(D_E00E2A38)($at)
/* 3DC8EC E00E25DC 460010A1 */ cvt.d.s $f2, $f2
/* 3DC8F0 E00E25E0 46241082 */ mul.d $f2, $f2, $f4
/* 3DC8F4 E00E25E4 00000000 */ nop
/* 3DC8F8 E00E25E8 27A40020 */ addiu $a0, $sp, 0x20
/* 3DC8FC E00E25EC 3C0141F0 */ lui $at, 0x41f0
/* 3DC900 E00E25F0 44812000 */ mtc1 $at, $f4
/* 3DC904 E00E25F4 00000000 */ nop
/* 3DC908 E00E25F8 46040002 */ mul.s $f0, $f0, $f4
/* 3DC90C E00E25FC 00000000 */ nop
/* 3DC910 E00E2600 4405A000 */ mfc1 $a1, $f20
/* 3DC914 E00E2604 3C0740C0 */ lui $a3, 0x40c0
/* 3DC918 E00E2608 26940001 */ addiu $s4, $s4, 1
/* 3DC91C E00E260C E7B40018 */ swc1 $f20, 0x18($sp)
/* 3DC920 E00E2610 44060000 */ mfc1 $a2, $f0
/* 3DC924 E00E2614 3C013FF0 */ lui $at, 0x3ff0
/* 3DC928 E00E2618 44810800 */ mtc1 $at, $f1
/* 3DC92C E00E261C 44800000 */ mtc1 $zero, $f0
/* 3DC930 E00E2620 3C014100 */ lui $at, 0x4100
/* 3DC934 E00E2624 44812000 */ mtc1 $at, $f4
/* 3DC938 E00E2628 46201080 */ add.d $f2, $f2, $f0
/* 3DC93C E00E262C E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3DC940 E00E2630 E7A40014 */ swc1 $f4, 0x14($sp)
/* 3DC944 E00E2634 462010A0 */ cvt.s.d $f2, $f2
/* 3DC948 E00E2638 0C080180 */ jal shim_guPositionF
/* 3DC94C E00E263C E7A20010 */ swc1 $f2, 0x10($sp)
/* 3DC950 E00E2640 27A40020 */ addiu $a0, $sp, 0x20
/* 3DC954 E00E2644 96E50000 */ lhu $a1, ($s7)
/* 3DC958 E00E2648 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 3DC95C E00E264C 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 3DC960 E00E2650 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 3DC964 E00E2654 00052980 */ sll $a1, $a1, 6
/* 3DC968 E00E2658 00AF2821 */ addu $a1, $a1, $t7
/* 3DC96C E00E265C 0C080118 */ jal shim_guMtxF2L
/* 3DC970 E00E2660 00452821 */ addu $a1, $v0, $a1
/* 3DC974 E00E2664 3C02DA38 */ lui $v0, 0xda38
/* 3DC978 E00E2668 34420001 */ ori $v0, $v0, 1
/* 3DC97C E00E266C 3C080100 */ lui $t0, 0x100
/* 3DC980 E00E2670 35082000 */ ori $t0, $t0, 0x2000
/* 3DC984 E00E2674 3226007F */ andi $a2, $s1, 0x7f
/* 3DC988 E00E2678 26310002 */ addiu $s1, $s1, 2
/* 3DC98C E00E267C 00063040 */ sll $a2, $a2, 1
/* 3DC990 E00E2680 00C83025 */ or $a2, $a2, $t0
/* 3DC994 E00E2684 8EC40000 */ lw $a0, ($s6)
/* 3DC998 E00E2688 96E50000 */ lhu $a1, ($s7)
/* 3DC99C E00E268C 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 3DC9A0 E00E2690 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 3DC9A4 E00E2694 0080382D */ daddu $a3, $a0, $zero
/* 3DC9A8 E00E2698 24840008 */ addiu $a0, $a0, 8
/* 3DC9AC E00E269C ACE20000 */ sw $v0, ($a3)
/* 3DC9B0 E00E26A0 30A2FFFF */ andi $v0, $a1, 0xffff
/* 3DC9B4 E00E26A4 00021180 */ sll $v0, $v0, 6
/* 3DC9B8 E00E26A8 8FAF00A8 */ lw $t7, 0xa8($sp)
/* 3DC9BC E00E26AC 24A50001 */ addiu $a1, $a1, 1
/* 3DC9C0 E00E26B0 004F1021 */ addu $v0, $v0, $t7
/* 3DC9C4 E00E26B4 00621821 */ addu $v1, $v1, $v0
/* 3DC9C8 E00E26B8 ACE30004 */ sw $v1, 4($a3)
/* 3DC9CC E00E26BC AC9E0004 */ sw $fp, 4($a0)
/* 3DC9D0 E00E26C0 27DE0020 */ addiu $fp, $fp, 0x20
/* 3DC9D4 E00E26C4 24820008 */ addiu $v0, $a0, 8
/* 3DC9D8 E00E26C8 AEC40000 */ sw $a0, ($s6)
/* 3DC9DC E00E26CC A6E50000 */ sh $a1, ($s7)
/* 3DC9E0 E00E26D0 AEC20000 */ sw $v0, ($s6)
/* 3DC9E4 E00E26D4 2A820010 */ slti $v0, $s4, 0x10
/* 3DC9E8 E00E26D8 1440FFB3 */ bnez $v0, .LE00E25A8
/* 3DC9EC E00E26DC AC860000 */ sw $a2, ($a0)
/* 3DC9F0 E00E26E0 0000A02D */ daddu $s4, $zero, $zero
/* 3DC9F4 E00E26E4 3C0B800A */ lui $t3, %hi(gMasterGfxPos)
/* 3DC9F8 E00E26E8 256BA66C */ addiu $t3, $t3, %lo(gMasterGfxPos)
/* 3DC9FC E00E26EC 3C0A0600 */ lui $t2, 0x600
/* 3DCA00 E00E26F0 24090001 */ addiu $t1, $zero, 1
/* 3DCA04 E00E26F4 3C0E0606 */ lui $t6, 0x606
/* 3DCA08 E00E26F8 35CE0402 */ ori $t6, $t6, 0x402
/* 3DCA0C E00E26FC 3C0D0002 */ lui $t5, 2
/* 3DCA10 E00E2700 35AD0406 */ ori $t5, $t5, 0x406
/* 3DCA14 E00E2704 3C0C0006 */ lui $t4, 6
/* 3DCA18 E00E2708 358C0804 */ ori $t4, $t4, 0x804
/* 3DCA1C E00E270C 24070004 */ addiu $a3, $zero, 4
/* 3DCA20 E00E2710 24060002 */ addiu $a2, $zero, 2
/* 3DCA24 E00E2714 24080006 */ addiu $t0, $zero, 6
.LE00E2718:
/* 3DCA28 E00E2718 8D640000 */ lw $a0, ($t3)
/* 3DCA2C E00E271C 00142840 */ sll $a1, $s4, 1
/* 3DCA30 E00E2720 24820008 */ addiu $v0, $a0, 8
/* 3DCA34 E00E2724 14A00004 */ bnez $a1, .LE00E2738
/* 3DCA38 E00E2728 AD620000 */ sw $v0, ($t3)
/* 3DCA3C E00E272C 00141440 */ sll $v0, $s4, 0x11
/* 3DCA40 E00E2730 080389D8 */ j .LE00E2760
/* 3DCA44 E00E2734 34420402 */ ori $v0, $v0, 0x402
.LE00E2738:
/* 3DCA48 E00E2738 14A90003 */ bne $a1, $t1, .LE00E2748
/* 3DCA4C E00E273C 30C200FF */ andi $v0, $a2, 0xff
/* 3DCA50 E00E2740 080389DA */ j .LE00E2768
/* 3DCA54 E00E2744 AC8E0000 */ sw $t6, ($a0)
.LE00E2748:
/* 3DCA58 E00E2748 00021400 */ sll $v0, $v0, 0x10
/* 3DCA5C E00E274C 00141A80 */ sll $v1, $s4, 0xa
/* 3DCA60 E00E2750 3063FC00 */ andi $v1, $v1, 0xfc00
/* 3DCA64 E00E2754 00431025 */ or $v0, $v0, $v1
/* 3DCA68 E00E2758 30E300FF */ andi $v1, $a3, 0xff
/* 3DCA6C E00E275C 00431025 */ or $v0, $v0, $v1
.LE00E2760:
/* 3DCA70 E00E2760 004A1025 */ or $v0, $v0, $t2
/* 3DCA74 E00E2764 AC820000 */ sw $v0, ($a0)
.LE00E2768:
/* 3DCA78 E00E2768 14A00003 */ bnez $a1, .LE00E2778
/* 3DCA7C E00E276C 00000000 */ nop
/* 3DCA80 E00E2770 080389E9 */ j .LE00E27A4
/* 3DCA84 E00E2774 AC8D0004 */ sw $t5, 4($a0)
.LE00E2778:
/* 3DCA88 E00E2778 14A90003 */ bne $a1, $t1, .LE00E2788
/* 3DCA8C E00E277C 310200FF */ andi $v0, $t0, 0xff
/* 3DCA90 E00E2780 080389E9 */ j .LE00E27A4
/* 3DCA94 E00E2784 AC8C0004 */ sw $t4, 4($a0)
.LE00E2788:
/* 3DCA98 E00E2788 00021400 */ sll $v0, $v0, 0x10
/* 3DCA9C E00E278C 30C300FF */ andi $v1, $a2, 0xff
/* 3DCAA0 E00E2790 00031A00 */ sll $v1, $v1, 8
/* 3DCAA4 E00E2794 00431025 */ or $v0, $v0, $v1
/* 3DCAA8 E00E2798 30E300FF */ andi $v1, $a3, 0xff
/* 3DCAAC E00E279C 00431025 */ or $v0, $v0, $v1
/* 3DCAB0 E00E27A0 AC820004 */ sw $v0, 4($a0)
.LE00E27A4:
/* 3DCAB4 E00E27A4 24E70004 */ addiu $a3, $a3, 4
/* 3DCAB8 E00E27A8 24C60004 */ addiu $a2, $a2, 4
/* 3DCABC E00E27AC 26940001 */ addiu $s4, $s4, 1
/* 3DCAC0 E00E27B0 2A82000F */ slti $v0, $s4, 0xf
/* 3DCAC4 E00E27B4 1440FFD8 */ bnez $v0, .LE00E2718
/* 3DCAC8 E00E27B8 25080004 */ addiu $t0, $t0, 4
/* 3DCACC E00E27BC 3C03D838 */ lui $v1, 0xd838
/* 3DCAD0 E00E27C0 34630002 */ ori $v1, $v1, 2
/* 3DCAD4 E00E27C4 0000A02D */ daddu $s4, $zero, $zero
/* 3DCAD8 E00E27C8 3C1E800A */ lui $fp, %hi(gDisplayContext)
/* 3DCADC E00E27CC 27DEA674 */ addiu $fp, $fp, %lo(gDisplayContext)
/* 3DCAE0 E00E27D0 3C178007 */ lui $s7, %hi(gMatrixListPos)
/* 3DCAE4 E00E27D4 26F741F0 */ addiu $s7, $s7, %lo(gMatrixListPos)
/* 3DCAE8 E00E27D8 3C160001 */ lui $s6, 1
/* 3DCAEC E00E27DC 36D61630 */ ori $s6, $s6, 0x1630
/* 3DCAF0 E00E27E0 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 3DCAF4 E00E27E4 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 3DCAF8 E00E27E8 0040902D */ daddu $s2, $v0, $zero
/* 3DCAFC E00E27EC 2413FEE6 */ addiu $s3, $zero, -0x11a
/* 3DCB00 E00E27F0 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3DCB04 E00E27F4 8E420000 */ lw $v0, ($s2)
/* 3DCB08 E00E27F8 4480A000 */ mtc1 $zero, $f20
/* 3DCB0C E00E27FC 0040202D */ daddu $a0, $v0, $zero
/* 3DCB10 E00E2800 24420008 */ addiu $v0, $v0, 8
/* 3DCB14 E00E2804 AE420000 */ sw $v0, ($s2)
/* 3DCB18 E00E2808 AC830000 */ sw $v1, ($a0)
/* 3DCB1C E00E280C 24030040 */ addiu $v1, $zero, 0x40
/* 3DCB20 E00E2810 AC830004 */ sw $v1, 4($a0)
/* 3DCB24 E00E2814 24430008 */ addiu $v1, $v0, 8
/* 3DCB28 E00E2818 AE430000 */ sw $v1, ($s2)
/* 3DCB2C E00E281C 3C03DF00 */ lui $v1, 0xdf00
/* 3DCB30 E00E2820 AC430000 */ sw $v1, ($v0)
/* 3DCB34 E00E2824 AC400004 */ sw $zero, 4($v0)
.LE00E2828:
/* 3DCB38 E00E2828 3C027878 */ lui $v0, 0x7878
/* 3DCB3C E00E282C 34427879 */ ori $v0, $v0, 0x7879
/* 3DCB40 E00E2830 27A40020 */ addiu $a0, $sp, 0x20
/* 3DCB44 E00E2834 44933000 */ mtc1 $s3, $f6
/* 3DCB48 E00E2838 00000000 */ nop
/* 3DCB4C E00E283C 468031A0 */ cvt.s.w $f6, $f6
/* 3DCB50 E00E2840 26730024 */ addiu $s3, $s3, 0x24
/* 3DCB54 E00E2844 26940001 */ addiu $s4, $s4, 1
/* 3DCB58 E00E2848 02020018 */ mult $s0, $v0
/* 3DCB5C E00E284C 44073000 */ mfc1 $a3, $f6
/* 3DCB60 E00E2850 4405A000 */ mfc1 $a1, $f20
/* 3DCB64 E00E2854 4406A000 */ mfc1 $a2, $f20
/* 3DCB68 E00E2858 3C013F80 */ lui $at, 0x3f80
/* 3DCB6C E00E285C 44810000 */ mtc1 $at, $f0
/* 3DCB70 E00E2860 001017C3 */ sra $v0, $s0, 0x1f
/* 3DCB74 E00E2864 E7B40014 */ swc1 $f20, 0x14($sp)
/* 3DCB78 E00E2868 E7B40018 */ swc1 $f20, 0x18($sp)
/* 3DCB7C E00E286C E7B4001C */ swc1 $f20, 0x1c($sp)
/* 3DCB80 E00E2870 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3DCB84 E00E2874 00007810 */ mfhi $t7
/* 3DCB88 E00E2878 000F18C3 */ sra $v1, $t7, 3
/* 3DCB8C E00E287C 00628823 */ subu $s1, $v1, $v0
/* 3DCB90 E00E2880 00111100 */ sll $v0, $s1, 4
/* 3DCB94 E00E2884 00511021 */ addu $v0, $v0, $s1
/* 3DCB98 E00E2888 0C080180 */ jal shim_guPositionF
/* 3DCB9C E00E288C 02028823 */ subu $s1, $s0, $v0
/* 3DCBA0 E00E2890 27A40020 */ addiu $a0, $sp, 0x20
/* 3DCBA4 E00E2894 26100004 */ addiu $s0, $s0, 4
/* 3DCBA8 E00E2898 96E50000 */ lhu $a1, ($s7)
/* 3DCBAC E00E289C 8FC20000 */ lw $v0, ($fp)
/* 3DCBB0 E00E28A0 00052980 */ sll $a1, $a1, 6
/* 3DCBB4 E00E28A4 00B62821 */ addu $a1, $a1, $s6
/* 3DCBB8 E00E28A8 0C080118 */ jal shim_guMtxF2L
/* 3DCBBC E00E28AC 00452821 */ addu $a1, $v0, $a1
/* 3DCBC0 E00E28B0 3C09D838 */ lui $t1, 0xd838
/* 3DCBC4 E00E28B4 35290002 */ ori $t1, $t1, 2
/* 3DCBC8 E00E28B8 8E440000 */ lw $a0, ($s2)
/* 3DCBCC E00E28BC 3C03DA38 */ lui $v1, 0xda38
/* 3DCBD0 E00E28C0 0080282D */ daddu $a1, $a0, $zero
/* 3DCBD4 E00E28C4 24840008 */ addiu $a0, $a0, 8
/* 3DCBD8 E00E28C8 AE440000 */ sw $a0, ($s2)
/* 3DCBDC E00E28CC 96E20000 */ lhu $v0, ($s7)
/* 3DCBE0 E00E28D0 24080040 */ addiu $t0, $zero, 0x40
/* 3DCBE4 E00E28D4 ACA30000 */ sw $v1, ($a1)
/* 3DCBE8 E00E28D8 24430001 */ addiu $v1, $v0, 1
/* 3DCBEC E00E28DC 3042FFFF */ andi $v0, $v0, 0xffff
/* 3DCBF0 E00E28E0 00021180 */ sll $v0, $v0, 6
/* 3DCBF4 E00E28E4 A6E30000 */ sh $v1, ($s7)
/* 3DCBF8 E00E28E8 8FC30000 */ lw $v1, ($fp)
/* 3DCBFC E00E28EC 00561021 */ addu $v0, $v0, $s6
/* 3DCC00 E00E28F0 00621821 */ addu $v1, $v1, $v0
/* 3DCC04 E00E28F4 24820008 */ addiu $v0, $a0, 8
/* 3DCC08 E00E28F8 ACA30004 */ sw $v1, 4($a1)
/* 3DCC0C E00E28FC AE420000 */ sw $v0, ($s2)
/* 3DCC10 E00E2900 3C02FA00 */ lui $v0, 0xfa00
/* 3DCC14 E00E2904 AC820000 */ sw $v0, ($a0)
/* 3DCC18 E00E2908 3C03E00E */ lui $v1, %hi(D_E00E29F4)
/* 3DCC1C E00E290C 00711821 */ addu $v1, $v1, $s1
/* 3DCC20 E00E2910 906329F4 */ lbu $v1, %lo(D_E00E29F4)($v1)
/* 3DCC24 E00E2914 3C05E00E */ lui $a1, %hi(D_E00E2A08)
/* 3DCC28 E00E2918 00B12821 */ addu $a1, $a1, $s1
/* 3DCC2C E00E291C 90A52A08 */ lbu $a1, %lo(D_E00E2A08)($a1)
/* 3DCC30 E00E2920 3C06E00E */ lui $a2, %hi(D_E00E2A1C)
/* 3DCC34 E00E2924 00D13021 */ addu $a2, $a2, $s1
/* 3DCC38 E00E2928 90C62A1C */ lbu $a2, %lo(D_E00E2A1C)($a2)
/* 3DCC3C E00E292C 92A70027 */ lbu $a3, 0x27($s5)
/* 3DCC40 E00E2930 24820010 */ addiu $v0, $a0, 0x10
/* 3DCC44 E00E2934 AE420000 */ sw $v0, ($s2)
/* 3DCC48 E00E2938 3C02FB00 */ lui $v0, 0xfb00
/* 3DCC4C E00E293C AC820008 */ sw $v0, 8($a0)
/* 3DCC50 E00E2940 2402FF00 */ addiu $v0, $zero, -0x100
/* 3DCC54 E00E2944 AC82000C */ sw $v0, 0xc($a0)
/* 3DCC58 E00E2948 24820018 */ addiu $v0, $a0, 0x18
/* 3DCC5C E00E294C AE420000 */ sw $v0, ($s2)
/* 3DCC60 E00E2950 3C02DE00 */ lui $v0, 0xde00
/* 3DCC64 E00E2954 AC820010 */ sw $v0, 0x10($a0)
/* 3DCC68 E00E2958 24820020 */ addiu $v0, $a0, 0x20
/* 3DCC6C E00E295C 8FAF00A4 */ lw $t7, 0xa4($sp)
/* 3DCC70 E00E2960 00031E00 */ sll $v1, $v1, 0x18
/* 3DCC74 E00E2964 00052C00 */ sll $a1, $a1, 0x10
/* 3DCC78 E00E2968 00651825 */ or $v1, $v1, $a1
/* 3DCC7C E00E296C 00063200 */ sll $a2, $a2, 8
/* 3DCC80 E00E2970 00661825 */ or $v1, $v1, $a2
/* 3DCC84 E00E2974 00671825 */ or $v1, $v1, $a3
/* 3DCC88 E00E2978 AC8F0014 */ sw $t7, 0x14($a0)
/* 3DCC8C E00E297C AE420000 */ sw $v0, ($s2)
/* 3DCC90 E00E2980 2A820002 */ slti $v0, $s4, 2
/* 3DCC94 E00E2984 AC890018 */ sw $t1, 0x18($a0)
/* 3DCC98 E00E2988 AC88001C */ sw $t0, 0x1c($a0)
/* 3DCC9C E00E298C 1440FFA6 */ bnez $v0, .LE00E2828
/* 3DCCA0 E00E2990 AC830004 */ sw $v1, 4($a0)
/* 3DCCA4 E00E2994 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 3DCCA8 E00E2998 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 3DCCAC E00E299C 8C430000 */ lw $v1, ($v0)
/* 3DCCB0 E00E29A0 0060202D */ daddu $a0, $v1, $zero
/* 3DCCB4 E00E29A4 24630008 */ addiu $v1, $v1, 8
/* 3DCCB8 E00E29A8 AC430000 */ sw $v1, ($v0)
/* 3DCCBC E00E29AC AC890000 */ sw $t1, ($a0)
/* 3DCCC0 E00E29B0 AC880004 */ sw $t0, 4($a0)
/* 3DCCC4 E00E29B4 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 3DCCC8 E00E29B8 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 3DCCCC E00E29BC 8FB700CC */ lw $s7, 0xcc($sp)
/* 3DCCD0 E00E29C0 8FB600C8 */ lw $s6, 0xc8($sp)
/* 3DCCD4 E00E29C4 8FB500C4 */ lw $s5, 0xc4($sp)
/* 3DCCD8 E00E29C8 8FB400C0 */ lw $s4, 0xc0($sp)
/* 3DCCDC E00E29CC 8FB300BC */ lw $s3, 0xbc($sp)
/* 3DCCE0 E00E29D0 8FB200B8 */ lw $s2, 0xb8($sp)
/* 3DCCE4 E00E29D4 8FB100B4 */ lw $s1, 0xb4($sp)
/* 3DCCE8 E00E29D8 8FB000B0 */ lw $s0, 0xb0($sp)
/* 3DCCEC E00E29DC D7B600E0 */ ldc1 $f22, 0xe0($sp)
/* 3DCCF0 E00E29E0 D7B400D8 */ ldc1 $f20, 0xd8($sp)
/* 3DCCF4 E00E29E4 03E00008 */ jr $ra
/* 3DCCF8 E00E29E8 27BD00E8 */ addiu $sp, $sp, 0xe8
/* 3DCCFC E00E29EC 00000000 */ nop

View File

@ -1,211 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel huff_puff_breath_appendGfx
/* 3D7D74 E00DC304 27BDFF38 */ addiu $sp, $sp, -0xc8
/* 3D7D78 E00DC308 0080302D */ daddu $a2, $a0, $zero
/* 3D7D7C E00DC30C 3C07DB06 */ lui $a3, 0xdb06
/* 3D7D80 E00DC310 34E70024 */ ori $a3, $a3, 0x24
/* 3D7D84 E00DC314 27A40018 */ addiu $a0, $sp, 0x18
/* 3D7D88 E00DC318 AFB400B0 */ sw $s4, 0xb0($sp)
/* 3D7D8C E00DC31C 3C14800A */ lui $s4, %hi(gMasterGfxPos)
/* 3D7D90 E00DC320 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos)
/* 3D7D94 E00DC324 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 3D7D98 E00DC328 AFBE00C0 */ sw $fp, 0xc0($sp)
/* 3D7D9C E00DC32C AFB700BC */ sw $s7, 0xbc($sp)
/* 3D7DA0 E00DC330 AFB600B8 */ sw $s6, 0xb8($sp)
/* 3D7DA4 E00DC334 AFB500B4 */ sw $s5, 0xb4($sp)
/* 3D7DA8 E00DC338 AFB300AC */ sw $s3, 0xac($sp)
/* 3D7DAC E00DC33C AFB200A8 */ sw $s2, 0xa8($sp)
/* 3D7DB0 E00DC340 AFB100A4 */ sw $s1, 0xa4($sp)
/* 3D7DB4 E00DC344 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3D7DB8 E00DC348 8E850000 */ lw $a1, ($s4)
/* 3D7DBC E00DC34C 8CD2000C */ lw $s2, 0xc($a2)
/* 3D7DC0 E00DC350 3C014080 */ lui $at, 0x4080
/* 3D7DC4 E00DC354 44810000 */ mtc1 $at, $f0
/* 3D7DC8 E00DC358 00A0182D */ daddu $v1, $a1, $zero
/* 3D7DCC E00DC35C 24A50008 */ addiu $a1, $a1, 8
/* 3D7DD0 E00DC360 AE850000 */ sw $a1, ($s4)
/* 3D7DD4 E00DC364 8E570024 */ lw $s7, 0x24($s2)
/* 3D7DD8 E00DC368 8E4A0000 */ lw $t2, ($s2)
/* 3D7DDC E00DC36C 3C1E0001 */ lui $fp, 1
/* 3D7DE0 E00DC370 AFAA0098 */ sw $t2, 0x98($sp)
/* 3D7DE4 E00DC374 C6420038 */ lwc1 $f2, 0x38($s2)
/* 3D7DE8 E00DC378 C6440040 */ lwc1 $f4, 0x40($s2)
/* 3D7DEC E00DC37C 3C02E700 */ lui $v0, 0xe700
/* 3D7DF0 E00DC380 AC620000 */ sw $v0, ($v1)
/* 3D7DF4 E00DC384 AC600004 */ sw $zero, 4($v1)
/* 3D7DF8 E00DC388 ACA70000 */ sw $a3, ($a1)
/* 3D7DFC E00DC38C 8CC30010 */ lw $v1, 0x10($a2)
/* 3D7E00 E00DC390 46001082 */ mul.s $f2, $f2, $f0
/* 3D7E04 E00DC394 00000000 */ nop
/* 3D7E08 E00DC398 24A20008 */ addiu $v0, $a1, 8
/* 3D7E0C E00DC39C AE820000 */ sw $v0, ($s4)
/* 3D7E10 E00DC3A0 8C62001C */ lw $v0, 0x1c($v1)
/* 3D7E14 E00DC3A4 3C038000 */ lui $v1, 0x8000
/* 3D7E18 E00DC3A8 46002102 */ mul.s $f4, $f4, $f0
/* 3D7E1C E00DC3AC 00000000 */ nop
/* 3D7E20 E00DC3B0 00431021 */ addu $v0, $v0, $v1
/* 3D7E24 E00DC3B4 3C03800B */ lui $v1, %hi(gCameras)
/* 3D7E28 E00DC3B8 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3D7E2C E00DC3BC ACA20004 */ sw $v0, 4($a1)
/* 3D7E30 E00DC3C0 8E450004 */ lw $a1, 4($s2)
/* 3D7E34 E00DC3C4 8E460008 */ lw $a2, 8($s2)
/* 3D7E38 E00DC3C8 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3D7E3C E00DC3CC 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3D7E40 E00DC3D0 8E47000C */ lw $a3, 0xc($s2)
/* 3D7E44 E00DC3D4 00028880 */ sll $s1, $v0, 2
/* 3D7E48 E00DC3D8 02228821 */ addu $s1, $s1, $v0
/* 3D7E4C E00DC3DC 00118880 */ sll $s1, $s1, 2
/* 3D7E50 E00DC3E0 02228823 */ subu $s1, $s1, $v0
/* 3D7E54 E00DC3E4 001110C0 */ sll $v0, $s1, 3
/* 3D7E58 E00DC3E8 02228821 */ addu $s1, $s1, $v0
/* 3D7E5C E00DC3EC 001188C0 */ sll $s1, $s1, 3
/* 3D7E60 E00DC3F0 4600118D */ trunc.w.s $f6, $f2
/* 3D7E64 E00DC3F4 44133000 */ mfc1 $s3, $f6
/* 3D7E68 E00DC3F8 4600218D */ trunc.w.s $f6, $f4
/* 3D7E6C E00DC3FC 44163000 */ mfc1 $s6, $f6
/* 3D7E70 E00DC400 0C080108 */ jal shim_guTranslateF
/* 3D7E74 E00DC404 02238821 */ addu $s1, $s1, $v1
/* 3D7E78 E00DC408 37DE1630 */ ori $fp, $fp, 0x1630
/* 3D7E7C E00DC40C 3C013F80 */ lui $at, 0x3f80
/* 3D7E80 E00DC410 44810000 */ mtc1 $at, $f0
/* 3D7E84 E00DC414 27B00058 */ addiu $s0, $sp, 0x58
/* 3D7E88 E00DC418 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3D7E8C E00DC41C 44800000 */ mtc1 $zero, $f0
/* 3D7E90 E00DC420 0200202D */ daddu $a0, $s0, $zero
/* 3D7E94 E00DC424 44060000 */ mfc1 $a2, $f0
/* 3D7E98 E00DC428 8E450048 */ lw $a1, 0x48($s2)
/* 3D7E9C E00DC42C 0C080104 */ jal shim_guRotateF
/* 3D7EA0 E00DC430 00C0382D */ daddu $a3, $a2, $zero
/* 3D7EA4 E00DC434 0200202D */ daddu $a0, $s0, $zero
/* 3D7EA8 E00DC438 27A50018 */ addiu $a1, $sp, 0x18
/* 3D7EAC E00DC43C 0C080114 */ jal shim_guMtxCatF
/* 3D7EB0 E00DC440 00A0302D */ daddu $a2, $a1, $zero
/* 3D7EB4 E00DC444 8E45004C */ lw $a1, 0x4c($s2)
/* 3D7EB8 E00DC448 0200202D */ daddu $a0, $s0, $zero
/* 3D7EBC E00DC44C 00A0302D */ daddu $a2, $a1, $zero
/* 3D7EC0 E00DC450 0C080110 */ jal shim_guScaleF
/* 3D7EC4 E00DC454 00A0382D */ daddu $a3, $a1, $zero
/* 3D7EC8 E00DC458 0200202D */ daddu $a0, $s0, $zero
/* 3D7ECC E00DC45C 27A50018 */ addiu $a1, $sp, 0x18
/* 3D7ED0 E00DC460 0C080114 */ jal shim_guMtxCatF
/* 3D7ED4 E00DC464 00A0302D */ daddu $a2, $a1, $zero
/* 3D7ED8 E00DC468 27A40018 */ addiu $a0, $sp, 0x18
/* 3D7EDC E00DC46C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3D7EE0 E00DC470 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3D7EE4 E00DC474 3C15800A */ lui $s5, %hi(gDisplayContext)
/* 3D7EE8 E00DC478 26B5A674 */ addiu $s5, $s5, %lo(gDisplayContext)
/* 3D7EEC E00DC47C 96050000 */ lhu $a1, ($s0)
/* 3D7EF0 E00DC480 8EA20000 */ lw $v0, ($s5)
/* 3D7EF4 E00DC484 00052980 */ sll $a1, $a1, 6
/* 3D7EF8 E00DC488 00BE2821 */ addu $a1, $a1, $fp
/* 3D7EFC E00DC48C 0C080118 */ jal shim_guMtxF2L
/* 3D7F00 E00DC490 00452821 */ addu $a1, $v0, $a1
/* 3D7F04 E00DC494 3C03DA38 */ lui $v1, 0xda38
/* 3D7F08 E00DC498 34630002 */ ori $v1, $v1, 2
/* 3D7F0C E00DC49C 3C06DA38 */ lui $a2, 0xda38
/* 3D7F10 E00DC4A0 34C60001 */ ori $a2, $a2, 1
/* 3D7F14 E00DC4A4 3C09D838 */ lui $t1, 0xd838
/* 3D7F18 E00DC4A8 35290002 */ ori $t1, $t1, 2
/* 3D7F1C E00DC4AC 32F700FF */ andi $s7, $s7, 0xff
/* 3D7F20 E00DC4B0 3C08DE00 */ lui $t0, 0xde00
/* 3D7F24 E00DC4B4 8E850000 */ lw $a1, ($s4)
/* 3D7F28 E00DC4B8 96020000 */ lhu $v0, ($s0)
/* 3D7F2C E00DC4BC 00A0202D */ daddu $a0, $a1, $zero
/* 3D7F30 E00DC4C0 24A50008 */ addiu $a1, $a1, 8
/* 3D7F34 E00DC4C4 AE850000 */ sw $a1, ($s4)
/* 3D7F38 E00DC4C8 AC830000 */ sw $v1, ($a0)
/* 3D7F3C E00DC4CC 24430001 */ addiu $v1, $v0, 1
/* 3D7F40 E00DC4D0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D7F44 E00DC4D4 00021180 */ sll $v0, $v0, 6
/* 3D7F48 E00DC4D8 A6030000 */ sh $v1, ($s0)
/* 3D7F4C E00DC4DC 8EA30000 */ lw $v1, ($s5)
/* 3D7F50 E00DC4E0 005E1021 */ addu $v0, $v0, $fp
/* 3D7F54 E00DC4E4 00621821 */ addu $v1, $v1, $v0
/* 3D7F58 E00DC4E8 24A20008 */ addiu $v0, $a1, 8
/* 3D7F5C E00DC4EC AC830004 */ sw $v1, 4($a0)
/* 3D7F60 E00DC4F0 AE820000 */ sw $v0, ($s4)
/* 3D7F64 E00DC4F4 24A20010 */ addiu $v0, $a1, 0x10
/* 3D7F68 E00DC4F8 ACA60000 */ sw $a2, ($a1)
/* 3D7F6C E00DC4FC AE820000 */ sw $v0, ($s4)
/* 3D7F70 E00DC500 8E230204 */ lw $v1, 0x204($s1)
/* 3D7F74 E00DC504 3C02FA00 */ lui $v0, 0xfa00
/* 3D7F78 E00DC508 ACA20008 */ sw $v0, 8($a1)
/* 3D7F7C E00DC50C ACA30004 */ sw $v1, 4($a1)
/* 3D7F80 E00DC510 9242001B */ lbu $v0, 0x1b($s2)
/* 3D7F84 E00DC514 9244001F */ lbu $a0, 0x1f($s2)
/* 3D7F88 E00DC518 92460023 */ lbu $a2, 0x23($s2)
/* 3D7F8C E00DC51C 24A30018 */ addiu $v1, $a1, 0x18
/* 3D7F90 E00DC520 AE830000 */ sw $v1, ($s4)
/* 3D7F94 E00DC524 3C03FB00 */ lui $v1, 0xfb00
/* 3D7F98 E00DC528 ACA30010 */ sw $v1, 0x10($a1)
/* 3D7F9C E00DC52C 00021600 */ sll $v0, $v0, 0x18
/* 3D7FA0 E00DC530 00042400 */ sll $a0, $a0, 0x10
/* 3D7FA4 E00DC534 00441025 */ or $v0, $v0, $a0
/* 3D7FA8 E00DC538 00063200 */ sll $a2, $a2, 8
/* 3D7FAC E00DC53C 00461025 */ or $v0, $v0, $a2
/* 3D7FB0 E00DC540 00571025 */ or $v0, $v0, $s7
/* 3D7FB4 E00DC544 ACA2000C */ sw $v0, 0xc($a1)
/* 3D7FB8 E00DC548 9243002B */ lbu $v1, 0x2b($s2)
/* 3D7FBC E00DC54C 9244002F */ lbu $a0, 0x2f($s2)
/* 3D7FC0 E00DC550 92460033 */ lbu $a2, 0x33($s2)
/* 3D7FC4 E00DC554 92470037 */ lbu $a3, 0x37($s2)
/* 3D7FC8 E00DC558 24A20020 */ addiu $v0, $a1, 0x20
/* 3D7FCC E00DC55C AE820000 */ sw $v0, ($s4)
/* 3D7FD0 E00DC560 24A20028 */ addiu $v0, $a1, 0x28
/* 3D7FD4 E00DC564 ACA80018 */ sw $t0, 0x18($a1)
/* 3D7FD8 E00DC568 AE820000 */ sw $v0, ($s4)
/* 3D7FDC E00DC56C 32C20FFF */ andi $v0, $s6, 0xfff
/* 3D7FE0 E00DC570 26D6003C */ addiu $s6, $s6, 0x3c
/* 3D7FE4 E00DC574 32D60FFF */ andi $s6, $s6, 0xfff
/* 3D7FE8 E00DC578 00031E00 */ sll $v1, $v1, 0x18
/* 3D7FEC E00DC57C 00042400 */ sll $a0, $a0, 0x10
/* 3D7FF0 E00DC580 00641825 */ or $v1, $v1, $a0
/* 3D7FF4 E00DC584 00063200 */ sll $a2, $a2, 8
/* 3D7FF8 E00DC588 00661825 */ or $v1, $v1, $a2
/* 3D7FFC E00DC58C 00671825 */ or $v1, $v1, $a3
/* 3D8000 E00DC590 32640FFF */ andi $a0, $s3, 0xfff
/* 3D8004 E00DC594 00042300 */ sll $a0, $a0, 0xc
/* 3D8008 E00DC598 ACA30014 */ sw $v1, 0x14($a1)
/* 3D800C E00DC59C 3C03F200 */ lui $v1, 0xf200
/* 3D8010 E00DC5A0 00431025 */ or $v0, $v0, $v1
/* 3D8014 E00DC5A4 00822025 */ or $a0, $a0, $v0
/* 3D8018 E00DC5A8 2673007C */ addiu $s3, $s3, 0x7c
/* 3D801C E00DC5AC 32730FFF */ andi $s3, $s3, 0xfff
/* 3D8020 E00DC5B0 8FAA0098 */ lw $t2, 0x98($sp)
/* 3D8024 E00DC5B4 00139B00 */ sll $s3, $s3, 0xc
/* 3D8028 E00DC5B8 000A9080 */ sll $s2, $t2, 2
/* 3D802C E00DC5BC 3C03E00E */ lui $v1, %hi(D_E00DC648)
/* 3D8030 E00DC5C0 00721821 */ addu $v1, $v1, $s2
/* 3D8034 E00DC5C4 8C63C648 */ lw $v1, %lo(D_E00DC648)($v1)
/* 3D8038 E00DC5C8 02769825 */ or $s3, $s3, $s6
/* 3D803C E00DC5CC ACA40020 */ sw $a0, 0x20($a1)
/* 3D8040 E00DC5D0 ACB30024 */ sw $s3, 0x24($a1)
/* 3D8044 E00DC5D4 ACA80028 */ sw $t0, 0x28($a1)
/* 3D8048 E00DC5D8 ACA3001C */ sw $v1, 0x1c($a1)
/* 3D804C E00DC5DC 3C03E00E */ lui $v1, %hi(D_E00DC640)
/* 3D8050 E00DC5E0 00721821 */ addu $v1, $v1, $s2
/* 3D8054 E00DC5E4 8C63C640 */ lw $v1, %lo(D_E00DC640)($v1)
/* 3D8058 E00DC5E8 24A20030 */ addiu $v0, $a1, 0x30
/* 3D805C E00DC5EC AE820000 */ sw $v0, ($s4)
/* 3D8060 E00DC5F0 24A20038 */ addiu $v0, $a1, 0x38
/* 3D8064 E00DC5F4 ACA3002C */ sw $v1, 0x2c($a1)
/* 3D8068 E00DC5F8 AE820000 */ sw $v0, ($s4)
/* 3D806C E00DC5FC 24020040 */ addiu $v0, $zero, 0x40
/* 3D8070 E00DC600 ACA90030 */ sw $t1, 0x30($a1)
/* 3D8074 E00DC604 ACA20034 */ sw $v0, 0x34($a1)
/* 3D8078 E00DC608 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 3D807C E00DC60C 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 3D8080 E00DC610 8FB700BC */ lw $s7, 0xbc($sp)
/* 3D8084 E00DC614 8FB600B8 */ lw $s6, 0xb8($sp)
/* 3D8088 E00DC618 8FB500B4 */ lw $s5, 0xb4($sp)
/* 3D808C E00DC61C 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3D8090 E00DC620 8FB300AC */ lw $s3, 0xac($sp)
/* 3D8094 E00DC624 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3D8098 E00DC628 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3D809C E00DC62C 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3D80A0 E00DC630 03E00008 */ jr $ra
/* 3D80A4 E00DC634 27BD00C8 */ addiu $sp, $sp, 0xc8
/* 3D80A8 E00DC638 00000000 */ nop
/* 3D80AC E00DC63C 00000000 */ nop

View File

@ -1,311 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel ice_shard_appendGfx
/* 3F87DC E01103EC 27BDFF38 */ addiu $sp, $sp, -0xc8
/* 3F87E0 E01103F0 0080402D */ daddu $t0, $a0, $zero
/* 3F87E4 E01103F4 3C09DB06 */ lui $t1, 0xdb06
/* 3F87E8 E01103F8 35290024 */ ori $t1, $t1, 0x24
/* 3F87EC E01103FC AFB500B4 */ sw $s5, 0xb4($sp)
/* 3F87F0 E0110400 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 3F87F4 E0110404 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 3F87F8 E0110408 3C02E700 */ lui $v0, 0xe700
/* 3F87FC E011040C AFBF00BC */ sw $ra, 0xbc($sp)
/* 3F8800 E0110410 AFB600B8 */ sw $s6, 0xb8($sp)
/* 3F8804 E0110414 AFB400B0 */ sw $s4, 0xb0($sp)
/* 3F8808 E0110418 AFB300AC */ sw $s3, 0xac($sp)
/* 3F880C E011041C AFB200A8 */ sw $s2, 0xa8($sp)
/* 3F8810 E0110420 AFB100A4 */ sw $s1, 0xa4($sp)
/* 3F8814 E0110424 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3F8818 E0110428 F7B400C0 */ sdc1 $f20, 0xc0($sp)
/* 3F881C E011042C 8EA60000 */ lw $a2, ($s5)
/* 3F8820 E0110430 4480A000 */ mtc1 $zero, $f20
/* 3F8824 E0110434 8D14000C */ lw $s4, 0xc($t0)
/* 3F8828 E0110438 00C0182D */ daddu $v1, $a2, $zero
/* 3F882C E011043C 8E960024 */ lw $s6, 0x24($s4)
/* 3F8830 E0110440 8E930000 */ lw $s3, ($s4)
/* 3F8834 E0110444 24C60008 */ addiu $a2, $a2, 8
/* 3F8838 E0110448 AC620000 */ sw $v0, ($v1)
/* 3F883C E011044C AC600004 */ sw $zero, 4($v1)
/* 3F8840 E0110450 ACC90000 */ sw $t1, ($a2)
/* 3F8844 E0110454 8D020010 */ lw $v0, 0x10($t0)
/* 3F8848 E0110458 3C088000 */ lui $t0, 0x8000
/* 3F884C E011045C 4405A000 */ mfc1 $a1, $f20
/* 3F8850 E0110460 4407A000 */ mfc1 $a3, $f20
/* 3F8854 E0110464 8C42001C */ lw $v0, 0x1c($v0)
/* 3F8858 E0110468 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3F885C E011046C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3F8860 E0110470 00481021 */ addu $v0, $v0, $t0
/* 3F8864 E0110474 ACC20004 */ sw $v0, 4($a2)
/* 3F8868 E0110478 00031080 */ sll $v0, $v1, 2
/* 3F886C E011047C 00431021 */ addu $v0, $v0, $v1
/* 3F8870 E0110480 00021080 */ sll $v0, $v0, 2
/* 3F8874 E0110484 00431023 */ subu $v0, $v0, $v1
/* 3F8878 E0110488 000218C0 */ sll $v1, $v0, 3
/* 3F887C E011048C 00431021 */ addu $v0, $v0, $v1
/* 3F8880 E0110490 000210C0 */ sll $v0, $v0, 3
/* 3F8884 E0110494 C6800038 */ lwc1 $f0, 0x38($s4)
/* 3F8888 E0110498 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3F888C E011049C 00220821 */ addu $at, $at, $v0
/* 3F8890 E01104A0 C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 3F8894 E01104A4 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3F8898 E01104A8 C6800004 */ lwc1 $f0, 4($s4)
/* 3F889C E01104AC 27A40020 */ addiu $a0, $sp, 0x20
/* 3F88A0 E01104B0 AEA60000 */ sw $a2, ($s5)
/* 3F88A4 E01104B4 24C60008 */ addiu $a2, $a2, 8
/* 3F88A8 E01104B8 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3F88AC E01104BC C6800008 */ lwc1 $f0, 8($s4)
/* 3F88B0 E01104C0 46001087 */ neg.s $f2, $f2
/* 3F88B4 E01104C4 AEA60000 */ sw $a2, ($s5)
/* 3F88B8 E01104C8 44061000 */ mfc1 $a2, $f2
/* 3F88BC E01104CC 3C120001 */ lui $s2, 1
/* 3F88C0 E01104D0 E7A00018 */ swc1 $f0, 0x18($sp)
/* 3F88C4 E01104D4 C680000C */ lwc1 $f0, 0xc($s4)
/* 3F88C8 E01104D8 36521630 */ ori $s2, $s2, 0x1630
/* 3F88CC E01104DC 0C080180 */ jal shim_guPositionF
/* 3F88D0 E01104E0 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3F88D4 E01104E4 27A40020 */ addiu $a0, $sp, 0x20
/* 3F88D8 E01104E8 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3F88DC E01104EC 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3F88E0 E01104F0 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 3F88E4 E01104F4 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 3F88E8 E01104F8 96050000 */ lhu $a1, ($s0)
/* 3F88EC E01104FC 8E220000 */ lw $v0, ($s1)
/* 3F88F0 E0110500 00052980 */ sll $a1, $a1, 6
/* 3F88F4 E0110504 00B22821 */ addu $a1, $a1, $s2
/* 3F88F8 E0110508 0C080118 */ jal shim_guMtxF2L
/* 3F88FC E011050C 00452821 */ addu $a1, $v0, $a1
/* 3F8900 E0110510 3C02DA38 */ lui $v0, 0xda38
/* 3F8904 E0110514 34420002 */ ori $v0, $v0, 2
/* 3F8908 E0110518 27A40020 */ addiu $a0, $sp, 0x20
/* 3F890C E011051C 8EA90000 */ lw $t1, ($s5)
/* 3F8910 E0110520 4406A000 */ mfc1 $a2, $f20
/* 3F8914 E0110524 96080000 */ lhu $t0, ($s0)
/* 3F8918 E0110528 3C013F80 */ lui $at, 0x3f80
/* 3F891C E011052C 44810000 */ mtc1 $at, $f0
/* 3F8920 E0110530 00C0382D */ daddu $a3, $a2, $zero
/* 3F8924 E0110534 0120282D */ daddu $a1, $t1, $zero
/* 3F8928 E0110538 3103FFFF */ andi $v1, $t0, 0xffff
/* 3F892C E011053C 00031980 */ sll $v1, $v1, 6
/* 3F8930 E0110540 00721821 */ addu $v1, $v1, $s2
/* 3F8934 E0110544 ACA20000 */ sw $v0, ($a1)
/* 3F8938 E0110548 8E220000 */ lw $v0, ($s1)
/* 3F893C E011054C 25290008 */ addiu $t1, $t1, 8
/* 3F8940 E0110550 00431021 */ addu $v0, $v0, $v1
/* 3F8944 E0110554 ACA20004 */ sw $v0, 4($a1)
/* 3F8948 E0110558 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3F894C E011055C 8E85003C */ lw $a1, 0x3c($s4)
/* 3F8950 E0110560 25080001 */ addiu $t0, $t0, 1
/* 3F8954 E0110564 AEA90000 */ sw $t1, ($s5)
/* 3F8958 E0110568 0C080104 */ jal shim_guRotateF
/* 3F895C E011056C A6080000 */ sh $t0, ($s0)
/* 3F8960 E0110570 27A40020 */ addiu $a0, $sp, 0x20
/* 3F8964 E0110574 96050000 */ lhu $a1, ($s0)
/* 3F8968 E0110578 8E220000 */ lw $v0, ($s1)
/* 3F896C E011057C 00052980 */ sll $a1, $a1, 6
/* 3F8970 E0110580 00B22821 */ addu $a1, $a1, $s2
/* 3F8974 E0110584 0C080118 */ jal shim_guMtxF2L
/* 3F8978 E0110588 00452821 */ addu $a1, $v0, $a1
/* 3F897C E011058C 3C07D838 */ lui $a3, 0xd838
/* 3F8980 E0110590 3C03DA38 */ lui $v1, 0xda38
/* 3F8984 E0110594 3C0BDE00 */ lui $t3, 0xde00
/* 3F8988 E0110598 3C0CFA00 */ lui $t4, 0xfa00
/* 3F898C E011059C 8EA90000 */ lw $t1, ($s5)
/* 3F8990 E01105A0 3C014080 */ lui $at, 0x4080
/* 3F8994 E01105A4 44812000 */ mtc1 $at, $f4
/* 3F8998 E01105A8 0120202D */ daddu $a0, $t1, $zero
/* 3F899C E01105AC 25290008 */ addiu $t1, $t1, 8
/* 3F89A0 E01105B0 AEA90000 */ sw $t1, ($s5)
/* 3F89A4 E01105B4 96020000 */ lhu $v0, ($s0)
/* 3F89A8 E01105B8 3C06F200 */ lui $a2, 0xf200
/* 3F89AC E01105BC AC830000 */ sw $v1, ($a0)
/* 3F89B0 E01105C0 24430001 */ addiu $v1, $v0, 1
/* 3F89B4 E01105C4 3042FFFF */ andi $v0, $v0, 0xffff
/* 3F89B8 E01105C8 00021180 */ sll $v0, $v0, 6
/* 3F89BC E01105CC A6030000 */ sh $v1, ($s0)
/* 3F89C0 E01105D0 8E230000 */ lw $v1, ($s1)
/* 3F89C4 E01105D4 00521021 */ addu $v0, $v0, $s2
/* 3F89C8 E01105D8 00621821 */ addu $v1, $v1, $v0
/* 3F89CC E01105DC 25220008 */ addiu $v0, $t1, 8
/* 3F89D0 E01105E0 AC830004 */ sw $v1, 4($a0)
/* 3F89D4 E01105E4 AEA20000 */ sw $v0, ($s5)
/* 3F89D8 E01105E8 25220010 */ addiu $v0, $t1, 0x10
/* 3F89DC E01105EC AD2B0000 */ sw $t3, ($t1)
/* 3F89E0 E01105F0 AEA20000 */ sw $v0, ($s5)
/* 3F89E4 E01105F4 25220018 */ addiu $v0, $t1, 0x18
/* 3F89E8 E01105F8 AEA20000 */ sw $v0, ($s5)
/* 3F89EC E01105FC 3C03E011 */ lui $v1, %hi(D_E01108B4)
/* 3F89F0 E0110600 8C6308B4 */ lw $v1, %lo(D_E01108B4)($v1)
/* 3F89F4 E0110604 25220020 */ addiu $v0, $t1, 0x20
/* 3F89F8 E0110608 AEA20000 */ sw $v0, ($s5)
/* 3F89FC E011060C 001317C2 */ srl $v0, $s3, 0x1f
/* 3F8A00 E0110610 02621021 */ addu $v0, $s3, $v0
/* 3F8A04 E0110614 00021043 */ sra $v0, $v0, 1
/* 3F8A08 E0110618 00021040 */ sll $v0, $v0, 1
/* 3F8A0C E011061C 02629823 */ subu $s3, $s3, $v0
/* 3F8A10 E0110620 001329C0 */ sll $a1, $s3, 7
/* 3F8A14 E0110624 30A50FFF */ andi $a1, $a1, 0xfff
/* 3F8A18 E0110628 00052B00 */ sll $a1, $a1, 0xc
/* 3F8A1C E011062C AD230004 */ sw $v1, 4($t1)
/* 3F8A20 E0110630 C6800044 */ lwc1 $f0, 0x44($s4)
/* 3F8A24 E0110634 001319C0 */ sll $v1, $s3, 7
/* 3F8A28 E0110638 46040082 */ mul.s $f2, $f0, $f4
/* 3F8A2C E011063C 00000000 */ nop
/* 3F8A30 E0110640 3463007C */ ori $v1, $v1, 0x7c
/* 3F8A34 E0110644 30630FFF */ andi $v1, $v1, 0xfff
/* 3F8A38 E0110648 00031B00 */ sll $v1, $v1, 0xc
/* 3F8A3C E011064C AD2C0018 */ sw $t4, 0x18($t1)
/* 3F8A40 E0110650 4600118D */ trunc.w.s $f6, $f2
/* 3F8A44 E0110654 44043000 */ mfc1 $a0, $f6
/* 3F8A48 E0110658 00000000 */ nop
/* 3F8A4C E011065C 000411C0 */ sll $v0, $a0, 7
/* 3F8A50 E0110660 30420FFF */ andi $v0, $v0, 0xfff
/* 3F8A54 E0110664 00461025 */ or $v0, $v0, $a2
/* 3F8A58 E0110668 00A21025 */ or $v0, $a1, $v0
/* 3F8A5C E011066C 00042140 */ sll $a0, $a0, 5
/* 3F8A60 E0110670 AD220008 */ sw $v0, 8($t1)
/* 3F8A64 E0110674 2482001F */ addiu $v0, $a0, 0x1f
/* 3F8A68 E0110678 00021080 */ sll $v0, $v0, 2
/* 3F8A6C E011067C 30420FFF */ andi $v0, $v0, 0xfff
/* 3F8A70 E0110680 00621025 */ or $v0, $v1, $v0
/* 3F8A74 E0110684 AD22000C */ sw $v0, 0xc($t1)
/* 3F8A78 E0110688 24820020 */ addiu $v0, $a0, 0x20
/* 3F8A7C E011068C 00021080 */ sll $v0, $v0, 2
/* 3F8A80 E0110690 30420FFF */ andi $v0, $v0, 0xfff
/* 3F8A84 E0110694 00461025 */ or $v0, $v0, $a2
/* 3F8A88 E0110698 00A22825 */ or $a1, $a1, $v0
/* 3F8A8C E011069C 2484003F */ addiu $a0, $a0, 0x3f
/* 3F8A90 E01106A0 00042080 */ sll $a0, $a0, 2
/* 3F8A94 E01106A4 30840FFF */ andi $a0, $a0, 0xfff
/* 3F8A98 E01106A8 3C020100 */ lui $v0, 0x100
/* 3F8A9C E01106AC 00822025 */ or $a0, $a0, $v0
/* 3F8AA0 E01106B0 00641825 */ or $v1, $v1, $a0
/* 3F8AA4 E01106B4 AD250010 */ sw $a1, 0x10($t1)
/* 3F8AA8 E01106B8 AD230014 */ sw $v1, 0x14($t1)
/* 3F8AAC E01106BC 9283001B */ lbu $v1, 0x1b($s4)
/* 3F8AB0 E01106C0 9284001F */ lbu $a0, 0x1f($s4)
/* 3F8AB4 E01106C4 92850023 */ lbu $a1, 0x23($s4)
/* 3F8AB8 E01106C8 25220028 */ addiu $v0, $t1, 0x28
/* 3F8ABC E01106CC AEA20000 */ sw $v0, ($s5)
/* 3F8AC0 E01106D0 3C02FB00 */ lui $v0, 0xfb00
/* 3F8AC4 E01106D4 AD220020 */ sw $v0, 0x20($t1)
/* 3F8AC8 E01106D8 4600018D */ trunc.w.s $f6, $f0
/* 3F8ACC E01106DC 44023000 */ mfc1 $v0, $f6
/* 3F8AD0 E01106E0 00000000 */ nop
/* 3F8AD4 E01106E4 00021080 */ sll $v0, $v0, 2
/* 3F8AD8 E01106E8 44820000 */ mtc1 $v0, $f0
/* 3F8ADC E01106EC 00000000 */ nop
/* 3F8AE0 E01106F0 46800020 */ cvt.s.w $f0, $f0
/* 3F8AE4 E01106F4 32C200FF */ andi $v0, $s6, 0xff
/* 3F8AE8 E01106F8 46001081 */ sub.s $f2, $f2, $f0
/* 3F8AEC E01106FC 3C014380 */ lui $at, 0x4380
/* 3F8AF0 E0110700 44810000 */ mtc1 $at, $f0
/* 3F8AF4 E0110704 00031E00 */ sll $v1, $v1, 0x18
/* 3F8AF8 E0110708 00042400 */ sll $a0, $a0, 0x10
/* 3F8AFC E011070C 00641825 */ or $v1, $v1, $a0
/* 3F8B00 E0110710 00052A00 */ sll $a1, $a1, 8
/* 3F8B04 E0110714 00651825 */ or $v1, $v1, $a1
/* 3F8B08 E0110718 00621825 */ or $v1, $v1, $v0
/* 3F8B0C E011071C AD23001C */ sw $v1, 0x1c($t1)
/* 3F8B10 E0110720 9282002B */ lbu $v0, 0x2b($s4)
/* 3F8B14 E0110724 9283002F */ lbu $v1, 0x2f($s4)
/* 3F8B18 E0110728 92840033 */ lbu $a0, 0x33($s4)
/* 3F8B1C E011072C 34E70002 */ ori $a3, $a3, 2
/* 3F8B20 E0110730 AD2B0028 */ sw $t3, 0x28($t1)
/* 3F8B24 E0110734 00021600 */ sll $v0, $v0, 0x18
/* 3F8B28 E0110738 46001082 */ mul.s $f2, $f2, $f0
/* 3F8B2C E011073C 00000000 */ nop
/* 3F8B30 E0110740 00031C00 */ sll $v1, $v1, 0x10
/* 3F8B34 E0110744 00431025 */ or $v0, $v0, $v1
/* 3F8B38 E0110748 00042200 */ sll $a0, $a0, 8
/* 3F8B3C E011074C 00441025 */ or $v0, $v0, $a0
/* 3F8B40 E0110750 4600118D */ trunc.w.s $f6, $f2
/* 3F8B44 E0110754 440A3000 */ mfc1 $t2, $f6
/* 3F8B48 E0110758 00000000 */ nop
/* 3F8B4C E011075C 314300FF */ andi $v1, $t2, 0xff
/* 3F8B50 E0110760 00431025 */ or $v0, $v0, $v1
/* 3F8B54 E0110764 AD220024 */ sw $v0, 0x24($t1)
/* 3F8B58 E0110768 3C03E011 */ lui $v1, %hi(D_E01108B0)
/* 3F8B5C E011076C 8C6308B0 */ lw $v1, %lo(D_E01108B0)($v1)
/* 3F8B60 E0110770 25220030 */ addiu $v0, $t1, 0x30
/* 3F8B64 E0110774 AEA20000 */ sw $v0, ($s5)
/* 3F8B68 E0110778 25220038 */ addiu $v0, $t1, 0x38
/* 3F8B6C E011077C AD23002C */ sw $v1, 0x2c($t1)
/* 3F8B70 E0110780 AEA20000 */ sw $v0, ($s5)
/* 3F8B74 E0110784 24020040 */ addiu $v0, $zero, 0x40
/* 3F8B78 E0110788 AD220034 */ sw $v0, 0x34($t1)
/* 3F8B7C E011078C 24020001 */ addiu $v0, $zero, 1
/* 3F8B80 E0110790 16620030 */ bne $s3, $v0, .LE0110854
/* 3F8B84 E0110794 AD270030 */ sw $a3, 0x30($t1)
/* 3F8B88 E0110798 C6800044 */ lwc1 $f0, 0x44($s4)
/* 3F8B8C E011079C 46040002 */ mul.s $f0, $f0, $f4
/* 3F8B90 E01107A0 00000000 */ nop
/* 3F8B94 E01107A4 24020003 */ addiu $v0, $zero, 3
/* 3F8B98 E01107A8 4600018D */ trunc.w.s $f6, $f0
/* 3F8B9C E01107AC 44033000 */ mfc1 $v1, $f6
/* 3F8BA0 E01107B0 00000000 */ nop
/* 3F8BA4 E01107B4 14620028 */ bne $v1, $v0, .LE0110858
/* 3F8BA8 E01107B8 3C05D838 */ lui $a1, 0xd838
/* 3F8BAC E01107BC 3C088080 */ lui $t0, 0x8080
/* 3F8BB0 E01107C0 35088081 */ ori $t0, $t0, 0x8081
/* 3F8BB4 E01107C4 3C07FCFF */ lui $a3, 0xfcff
/* 3F8BB8 E01107C8 34E7C7FF */ ori $a3, $a3, 0xc7ff
/* 3F8BBC E01107CC 3C04FF8D */ lui $a0, 0xff8d
/* 3F8BC0 E01107D0 3484FEFF */ ori $a0, $a0, 0xfeff
/* 3F8BC4 E01107D4 25220040 */ addiu $v0, $t1, 0x40
/* 3F8BC8 E01107D8 AEA20000 */ sw $v0, ($s5)
/* 3F8BCC E01107DC AD2C0038 */ sw $t4, 0x38($t1)
/* 3F8BD0 E01107E0 9283001B */ lbu $v1, 0x1b($s4)
/* 3F8BD4 E01107E4 9285001F */ lbu $a1, 0x1f($s4)
/* 3F8BD8 E01107E8 92860023 */ lbu $a2, 0x23($s4)
/* 3F8BDC E01107EC 25220048 */ addiu $v0, $t1, 0x48
/* 3F8BE0 E01107F0 AEA20000 */ sw $v0, ($s5)
/* 3F8BE4 E01107F4 25220050 */ addiu $v0, $t1, 0x50
/* 3F8BE8 E01107F8 02CA0018 */ mult $s6, $t2
/* 3F8BEC E01107FC AD270040 */ sw $a3, 0x40($t1)
/* 3F8BF0 E0110800 AD240044 */ sw $a0, 0x44($t1)
/* 3F8BF4 E0110804 AEA20000 */ sw $v0, ($s5)
/* 3F8BF8 E0110808 3C020900 */ lui $v0, 0x900
/* 3F8BFC E011080C 24421168 */ addiu $v0, $v0, 0x1168
/* 3F8C00 E0110810 AD2B0048 */ sw $t3, 0x48($t1)
/* 3F8C04 E0110814 00002012 */ mflo $a0
/* 3F8C08 E0110818 AD22004C */ sw $v0, 0x4c($t1)
/* 3F8C0C E011081C 00031E00 */ sll $v1, $v1, 0x18
/* 3F8C10 E0110820 00880018 */ mult $a0, $t0
/* 3F8C14 E0110824 00052C00 */ sll $a1, $a1, 0x10
/* 3F8C18 E0110828 00651825 */ or $v1, $v1, $a1
/* 3F8C1C E011082C 00063200 */ sll $a2, $a2, 8
/* 3F8C20 E0110830 00661825 */ or $v1, $v1, $a2
/* 3F8C24 E0110834 00001010 */ mfhi $v0
/* 3F8C28 E0110838 00441021 */ addu $v0, $v0, $a0
/* 3F8C2C E011083C 000211C3 */ sra $v0, $v0, 7
/* 3F8C30 E0110840 000427C3 */ sra $a0, $a0, 0x1f
/* 3F8C34 E0110844 00441023 */ subu $v0, $v0, $a0
/* 3F8C38 E0110848 304200FF */ andi $v0, $v0, 0xff
/* 3F8C3C E011084C 00621825 */ or $v1, $v1, $v0
/* 3F8C40 E0110850 AD23003C */ sw $v1, 0x3c($t1)
.LE0110854:
/* 3F8C44 E0110854 3C05D838 */ lui $a1, 0xd838
.LE0110858:
/* 3F8C48 E0110858 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3F8C4C E011085C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3F8C50 E0110860 8C620000 */ lw $v0, ($v1)
/* 3F8C54 E0110864 34A50002 */ ori $a1, $a1, 2
/* 3F8C58 E0110868 0040202D */ daddu $a0, $v0, $zero
/* 3F8C5C E011086C 24420008 */ addiu $v0, $v0, 8
/* 3F8C60 E0110870 AC620000 */ sw $v0, ($v1)
/* 3F8C64 E0110874 24020040 */ addiu $v0, $zero, 0x40
/* 3F8C68 E0110878 AC850000 */ sw $a1, ($a0)
/* 3F8C6C E011087C AC820004 */ sw $v0, 4($a0)
/* 3F8C70 E0110880 8FBF00BC */ lw $ra, 0xbc($sp)
/* 3F8C74 E0110884 8FB600B8 */ lw $s6, 0xb8($sp)
/* 3F8C78 E0110888 8FB500B4 */ lw $s5, 0xb4($sp)
/* 3F8C7C E011088C 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3F8C80 E0110890 8FB300AC */ lw $s3, 0xac($sp)
/* 3F8C84 E0110894 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3F8C88 E0110898 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3F8C8C E011089C 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3F8C90 E01108A0 D7B400C0 */ ldc1 $f20, 0xc0($sp)
/* 3F8C94 E01108A4 03E00008 */ jr $ra
/* 3F8C98 E01108A8 27BD00C8 */ addiu $sp, $sp, 0xc8
/* 3F8C9C E01108AC 00000000 */ nop

View File

@ -1,152 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E01108C0
.double 0.1
.section .text
glabel ice_shard_main
/* 3F83F0 E0110000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3F83F4 E0110004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3F83F8 E0110008 4485A000 */ mtc1 $a1, $f20
/* 3F83FC E011000C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3F8400 E0110010 4486B000 */ mtc1 $a2, $f22
/* 3F8404 E0110014 AFB30034 */ sw $s3, 0x34($sp)
/* 3F8408 E0110018 0080982D */ daddu $s3, $a0, $zero
/* 3F840C E011001C F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3F8410 E0110020 4487C000 */ mtc1 $a3, $f24
/* 3F8414 E0110024 27A40010 */ addiu $a0, $sp, 0x10
/* 3F8418 E0110028 AFB00028 */ sw $s0, 0x28($sp)
/* 3F841C E011002C 8FB0006C */ lw $s0, 0x6c($sp)
/* 3F8420 E0110030 3C02E011 */ lui $v0, %hi(ice_shard_init)
/* 3F8424 E0110034 24420224 */ addiu $v0, $v0, %lo(ice_shard_init)
/* 3F8428 E0110038 AFA20018 */ sw $v0, 0x18($sp)
/* 3F842C E011003C 3C02E011 */ lui $v0, %hi(ice_shard_update)
/* 3F8430 E0110040 2442022C */ addiu $v0, $v0, %lo(ice_shard_update)
/* 3F8434 E0110044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3F8438 E0110048 3C02E011 */ lui $v0, %hi(ice_shard_render)
/* 3F843C E011004C 244203A4 */ addiu $v0, $v0, %lo(ice_shard_render)
/* 3F8440 E0110050 AFA20020 */ sw $v0, 0x20($sp)
/* 3F8444 E0110054 2402007A */ addiu $v0, $zero, 0x7a
/* 3F8448 E0110058 AFBF0038 */ sw $ra, 0x38($sp)
/* 3F844C E011005C AFB20030 */ sw $s2, 0x30($sp)
/* 3F8450 E0110060 AFB1002C */ sw $s1, 0x2c($sp)
/* 3F8454 E0110064 AFA00010 */ sw $zero, 0x10($sp)
/* 3F8458 E0110068 AFA00024 */ sw $zero, 0x24($sp)
/* 3F845C E011006C 0C080124 */ jal shim_create_effect_instance
/* 3F8460 E0110070 AFA20014 */ sw $v0, 0x14($sp)
/* 3F8464 E0110074 2404005C */ addiu $a0, $zero, 0x5c
/* 3F8468 E0110078 24030001 */ addiu $v1, $zero, 1
/* 3F846C E011007C 0040902D */ daddu $s2, $v0, $zero
/* 3F8470 E0110080 0C08012C */ jal shim_general_heap_malloc
/* 3F8474 E0110084 AE430008 */ sw $v1, 8($s2)
/* 3F8478 E0110088 0040882D */ daddu $s1, $v0, $zero
/* 3F847C E011008C 16200003 */ bnez $s1, .LE011009C
/* 3F8480 E0110090 AE42000C */ sw $v0, 0xc($s2)
.LE0110094:
/* 3F8484 E0110094 08044025 */ j .LE0110094
/* 3F8488 E0110098 00000000 */ nop
.LE011009C:
/* 3F848C E011009C AE330000 */ sw $s3, ($s1)
/* 3F8490 E01100A0 1E000004 */ bgtz $s0, .LE01100B4
/* 3F8494 E01100A4 AE200014 */ sw $zero, 0x14($s1)
/* 3F8498 E01100A8 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3F849C E01100AC 0804402E */ j .LE01100B8
/* 3F84A0 E01100B0 AE220010 */ sw $v0, 0x10($s1)
.LE01100B4:
/* 3F84A4 E01100B4 AE300010 */ sw $s0, 0x10($s1)
.LE01100B8:
/* 3F84A8 E01100B8 240200FF */ addiu $v0, $zero, 0xff
/* 3F84AC E01100BC AE220024 */ sw $v0, 0x24($s1)
/* 3F84B0 E01100C0 E6340004 */ swc1 $f20, 4($s1)
/* 3F84B4 E01100C4 E6360008 */ swc1 $f22, 8($s1)
/* 3F84B8 E01100C8 E638000C */ swc1 $f24, 0xc($s1)
/* 3F84BC E01100CC C7A00068 */ lwc1 $f0, 0x68($sp)
/* 3F84C0 E01100D0 24040001 */ addiu $a0, $zero, 1
/* 3F84C4 E01100D4 AE220018 */ sw $v0, 0x18($s1)
/* 3F84C8 E01100D8 AE22001C */ sw $v0, 0x1c($s1)
/* 3F84CC E01100DC AE220020 */ sw $v0, 0x20($s1)
/* 3F84D0 E01100E0 AE220028 */ sw $v0, 0x28($s1)
/* 3F84D4 E01100E4 AE22002C */ sw $v0, 0x2c($s1)
/* 3F84D8 E01100E8 AE220030 */ sw $v0, 0x30($s1)
/* 3F84DC E01100EC AE220034 */ sw $v0, 0x34($s1)
/* 3F84E0 E01100F0 AE200044 */ sw $zero, 0x44($s1)
/* 3F84E4 E01100F4 0C080138 */ jal shim_rand_int
/* 3F84E8 E01100F8 E6200038 */ swc1 $f0, 0x38($s1)
/* 3F84EC E01100FC 24040004 */ addiu $a0, $zero, 4
/* 3F84F0 E0110100 0C080138 */ jal shim_rand_int
/* 3F84F4 E0110104 0040802D */ daddu $s0, $v0, $zero
/* 3F84F8 E0110108 3C01E011 */ lui $at, %hi(D_E01108C0)
/* 3F84FC E011010C D42608C0 */ ldc1 $f6, %lo(D_E01108C0)($at)
/* 3F8500 E0110110 44821000 */ mtc1 $v0, $f2
/* 3F8504 E0110114 00000000 */ nop
/* 3F8508 E0110118 468010A1 */ cvt.d.w $f2, $f2
/* 3F850C E011011C 46261082 */ mul.d $f2, $f2, $f6
/* 3F8510 E0110120 00000000 */ nop
/* 3F8514 E0110124 00108040 */ sll $s0, $s0, 1
/* 3F8518 E0110128 2610FFFF */ addiu $s0, $s0, -1
/* 3F851C E011012C 3C013FD0 */ lui $at, 0x3fd0
/* 3F8520 E0110130 44812800 */ mtc1 $at, $f5
/* 3F8524 E0110134 44802000 */ mtc1 $zero, $f4
/* 3F8528 E0110138 44900000 */ mtc1 $s0, $f0
/* 3F852C E011013C 00000000 */ nop
/* 3F8530 E0110140 46800021 */ cvt.d.w $f0, $f0
/* 3F8534 E0110144 46240002 */ mul.d $f0, $f0, $f4
/* 3F8538 E0110148 00000000 */ nop
/* 3F853C E011014C 46261080 */ add.d $f2, $f2, $f6
/* 3F8540 E0110150 46220002 */ mul.d $f0, $f0, $f2
/* 3F8544 E0110154 00000000 */ nop
/* 3F8548 E0110158 24040167 */ addiu $a0, $zero, 0x167
/* 3F854C E011015C 46200020 */ cvt.s.d $f0, $f0
/* 3F8550 E0110160 0C080138 */ jal shim_rand_int
/* 3F8554 E0110164 E6200048 */ swc1 $f0, 0x48($s1)
/* 3F8558 E0110168 2404000A */ addiu $a0, $zero, 0xa
/* 3F855C E011016C 44820000 */ mtc1 $v0, $f0
/* 3F8560 E0110170 00000000 */ nop
/* 3F8564 E0110174 46800020 */ cvt.s.w $f0, $f0
/* 3F8568 E0110178 0C080138 */ jal shim_rand_int
/* 3F856C E011017C E620003C */ swc1 $f0, 0x3c($s1)
/* 3F8570 E0110180 2404000A */ addiu $a0, $zero, 0xa
/* 3F8574 E0110184 2442FFFB */ addiu $v0, $v0, -5
/* 3F8578 E0110188 44820000 */ mtc1 $v0, $f0
/* 3F857C E011018C 00000000 */ nop
/* 3F8580 E0110190 46800020 */ cvt.s.w $f0, $f0
/* 3F8584 E0110194 0C080138 */ jal shim_rand_int
/* 3F8588 E0110198 E620004C */ swc1 $f0, 0x4c($s1)
/* 3F858C E011019C 2404000A */ addiu $a0, $zero, 0xa
/* 3F8590 E01101A0 2442FFFB */ addiu $v0, $v0, -5
/* 3F8594 E01101A4 44820000 */ mtc1 $v0, $f0
/* 3F8598 E01101A8 00000000 */ nop
/* 3F859C E01101AC 46800020 */ cvt.s.w $f0, $f0
/* 3F85A0 E01101B0 0C080138 */ jal shim_rand_int
/* 3F85A4 E01101B4 E6200050 */ swc1 $f0, 0x50($s1)
/* 3F85A8 E01101B8 24040028 */ addiu $a0, $zero, 0x28
/* 3F85AC E01101BC 2442FFFB */ addiu $v0, $v0, -5
/* 3F85B0 E01101C0 44820000 */ mtc1 $v0, $f0
/* 3F85B4 E01101C4 00000000 */ nop
/* 3F85B8 E01101C8 46800020 */ cvt.s.w $f0, $f0
/* 3F85BC E01101CC 0C080138 */ jal shim_rand_int
/* 3F85C0 E01101D0 E6200054 */ swc1 $f0, 0x54($s1)
/* 3F85C4 E01101D4 2443FFEC */ addiu $v1, $v0, -0x14
/* 3F85C8 E01101D8 0240102D */ daddu $v0, $s2, $zero
/* 3F85CC E01101DC 3C01BDCC */ lui $at, 0xbdcc
/* 3F85D0 E01101E0 3421CCCD */ ori $at, $at, 0xcccd
/* 3F85D4 E01101E4 44811000 */ mtc1 $at, $f2
/* 3F85D8 E01101E8 44830000 */ mtc1 $v1, $f0
/* 3F85DC E01101EC 00000000 */ nop
/* 3F85E0 E01101F0 46800020 */ cvt.s.w $f0, $f0
/* 3F85E4 E01101F4 E6200040 */ swc1 $f0, 0x40($s1)
/* 3F85E8 E01101F8 E6220058 */ swc1 $f2, 0x58($s1)
/* 3F85EC E01101FC 8FBF0038 */ lw $ra, 0x38($sp)
/* 3F85F0 E0110200 8FB30034 */ lw $s3, 0x34($sp)
/* 3F85F4 E0110204 8FB20030 */ lw $s2, 0x30($sp)
/* 3F85F8 E0110208 8FB1002C */ lw $s1, 0x2c($sp)
/* 3F85FC E011020C 8FB00028 */ lw $s0, 0x28($sp)
/* 3F8600 E0110210 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3F8604 E0110214 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3F8608 E0110218 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3F860C E011021C 03E00008 */ jr $ra
/* 3F8610 E0110220 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,112 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E01108C8
.double -0.7
.section .text
glabel ice_shard_update
/* 3F861C E011022C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3F8620 E0110230 AFBF0010 */ sw $ra, 0x10($sp)
/* 3F8624 E0110234 8C850000 */ lw $a1, ($a0)
/* 3F8628 E0110238 8C83000C */ lw $v1, 0xc($a0)
/* 3F862C E011023C 30A20010 */ andi $v0, $a1, 0x10
/* 3F8630 E0110240 8C660000 */ lw $a2, ($v1)
/* 3F8634 E0110244 10400005 */ beqz $v0, .LE011025C
/* 3F8638 E0110248 2402FFEF */ addiu $v0, $zero, -0x11
/* 3F863C E011024C 00A21024 */ and $v0, $a1, $v0
/* 3F8640 E0110250 AC820000 */ sw $v0, ($a0)
/* 3F8644 E0110254 24020010 */ addiu $v0, $zero, 0x10
/* 3F8648 E0110258 AC620010 */ sw $v0, 0x10($v1)
.LE011025C:
/* 3F864C E011025C 8C650010 */ lw $a1, 0x10($v1)
/* 3F8650 E0110260 28A203E8 */ slti $v0, $a1, 0x3e8
/* 3F8654 E0110264 10400002 */ beqz $v0, .LE0110270
/* 3F8658 E0110268 24A2FFFF */ addiu $v0, $a1, -1
/* 3F865C E011026C AC620010 */ sw $v0, 0x10($v1)
.LE0110270:
/* 3F8660 E0110270 8C620014 */ lw $v0, 0x14($v1)
/* 3F8664 E0110274 8C650010 */ lw $a1, 0x10($v1)
/* 3F8668 E0110278 24420001 */ addiu $v0, $v0, 1
/* 3F866C E011027C 04A10005 */ bgez $a1, .LE0110294
/* 3F8670 E0110280 AC620014 */ sw $v0, 0x14($v1)
/* 3F8674 E0110284 0C080128 */ jal shim_remove_effect
/* 3F8678 E0110288 00000000 */ nop
/* 3F867C E011028C 080440E6 */ j .LE0110398
/* 3F8680 E0110290 00000000 */ nop
.LE0110294:
/* 3F8684 E0110294 28A20010 */ slti $v0, $a1, 0x10
/* 3F8688 E0110298 10400002 */ beqz $v0, .LE01102A4
/* 3F868C E011029C 00051100 */ sll $v0, $a1, 4
/* 3F8690 E01102A0 AC620024 */ sw $v0, 0x24($v1)
.LE01102A4:
/* 3F8694 E01102A4 C4620044 */ lwc1 $f2, 0x44($v1)
/* 3F8698 E01102A8 C4600048 */ lwc1 $f0, 0x48($v1)
/* 3F869C E01102AC 46001080 */ add.s $f2, $f2, $f0
/* 3F86A0 E01102B0 44805000 */ mtc1 $zero, $f10
/* 3F86A4 E01102B4 00000000 */ nop
/* 3F86A8 E01102B8 460A103C */ c.lt.s $f2, $f10
/* 3F86AC E01102BC 00000000 */ nop
/* 3F86B0 E01102C0 45000006 */ bc1f .LE01102DC
/* 3F86B4 E01102C4 E4620044 */ swc1 $f2, 0x44($v1)
/* 3F86B8 E01102C8 3C013F80 */ lui $at, 0x3f80
/* 3F86BC E01102CC 44810000 */ mtc1 $at, $f0
/* 3F86C0 E01102D0 00000000 */ nop
/* 3F86C4 E01102D4 46001000 */ add.s $f0, $f2, $f0
/* 3F86C8 E01102D8 E4600044 */ swc1 $f0, 0x44($v1)
.LE01102DC:
/* 3F86CC E01102DC C4600044 */ lwc1 $f0, 0x44($v1)
/* 3F86D0 E01102E0 3C013F80 */ lui $at, 0x3f80
/* 3F86D4 E01102E4 44811000 */ mtc1 $at, $f2
/* 3F86D8 E01102E8 00000000 */ nop
/* 3F86DC E01102EC 4600103C */ c.lt.s $f2, $f0
/* 3F86E0 E01102F0 00000000 */ nop
/* 3F86E4 E01102F4 45000003 */ bc1f .LE0110304
/* 3F86E8 E01102F8 00000000 */ nop
/* 3F86EC E01102FC 46020001 */ sub.s $f0, $f0, $f2
/* 3F86F0 E0110300 E4600044 */ swc1 $f0, 0x44($v1)
.LE0110304:
/* 3F86F4 E0110304 C4620050 */ lwc1 $f2, 0x50($v1)
/* 3F86F8 E0110308 C4600058 */ lwc1 $f0, 0x58($v1)
/* 3F86FC E011030C C4680004 */ lwc1 $f8, 4($v1)
/* 3F8700 E0110310 46001080 */ add.s $f2, $f2, $f0
/* 3F8704 E0110314 C460004C */ lwc1 $f0, 0x4c($v1)
/* 3F8708 E0110318 C466000C */ lwc1 $f6, 0xc($v1)
/* 3F870C E011031C 46004200 */ add.s $f8, $f8, $f0
/* 3F8710 E0110320 C4600054 */ lwc1 $f0, 0x54($v1)
/* 3F8714 E0110324 C464003C */ lwc1 $f4, 0x3c($v1)
/* 3F8718 E0110328 46003180 */ add.s $f6, $f6, $f0
/* 3F871C E011032C C4600040 */ lwc1 $f0, 0x40($v1)
/* 3F8720 E0110330 46002100 */ add.s $f4, $f4, $f0
/* 3F8724 E0110334 C4600008 */ lwc1 $f0, 8($v1)
/* 3F8728 E0110338 28C20002 */ slti $v0, $a2, 2
/* 3F872C E011033C E4620050 */ swc1 $f2, 0x50($v1)
/* 3F8730 E0110340 E4680004 */ swc1 $f8, 4($v1)
/* 3F8734 E0110344 46020000 */ add.s $f0, $f0, $f2
/* 3F8738 E0110348 E466000C */ swc1 $f6, 0xc($v1)
/* 3F873C E011034C E464003C */ swc1 $f4, 0x3c($v1)
/* 3F8740 E0110350 14400011 */ bnez $v0, .LE0110398
/* 3F8744 E0110354 E4600008 */ swc1 $f0, 8($v1)
/* 3F8748 E0110358 460A003C */ c.lt.s $f0, $f10
/* 3F874C E011035C 00000000 */ nop
/* 3F8750 E0110360 4500000D */ bc1f .LE0110398
/* 3F8754 E0110364 46001006 */ mov.s $f0, $f2
/* 3F8758 E0110368 460A003C */ c.lt.s $f0, $f10
/* 3F875C E011036C 00000000 */ nop
/* 3F8760 E0110370 45000009 */ bc1f .LE0110398
/* 3F8764 E0110374 00000000 */ nop
/* 3F8768 E0110378 3C01E011 */ lui $at, %hi(D_E01108C8)
/* 3F876C E011037C D42208C8 */ ldc1 $f2, %lo(D_E01108C8)($at)
/* 3F8770 E0110380 46000021 */ cvt.d.s $f0, $f0
/* 3F8774 E0110384 46220002 */ mul.d $f0, $f0, $f2
/* 3F8778 E0110388 00000000 */ nop
/* 3F877C E011038C E46A0008 */ swc1 $f10, 8($v1)
/* 3F8780 E0110390 46200020 */ cvt.s.d $f0, $f0
/* 3F8784 E0110394 E4600050 */ swc1 $f0, 0x50($v1)
.LE0110398:
/* 3F8788 E0110398 8FBF0010 */ lw $ra, 0x10($sp)
/* 3F878C E011039C 03E00008 */ jr $ra
/* 3F8790 E01103A0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,293 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .text
glabel lens_flare_appendGfx
/* 344D20 E0034310 27BDFEE8 */ addiu $sp, $sp, -0x118
/* 344D24 E0034314 3C03DB06 */ lui $v1, 0xdb06
/* 344D28 E0034318 AFB600F8 */ sw $s6, 0xf8($sp)
/* 344D2C E003431C 3C16800A */ lui $s6, %hi(gMasterGfxPos)
/* 344D30 E0034320 26D6A66C */ addiu $s6, $s6, %lo(gMasterGfxPos)
/* 344D34 E0034324 34630024 */ ori $v1, $v1, 0x24
/* 344D38 E0034328 AFBF0104 */ sw $ra, 0x104($sp)
/* 344D3C E003432C AFBE0100 */ sw $fp, 0x100($sp)
/* 344D40 E0034330 AFB700FC */ sw $s7, 0xfc($sp)
/* 344D44 E0034334 AFB500F4 */ sw $s5, 0xf4($sp)
/* 344D48 E0034338 AFB400F0 */ sw $s4, 0xf0($sp)
/* 344D4C E003433C AFB300EC */ sw $s3, 0xec($sp)
/* 344D50 E0034340 AFB200E8 */ sw $s2, 0xe8($sp)
/* 344D54 E0034344 AFB100E4 */ sw $s1, 0xe4($sp)
/* 344D58 E0034348 AFB000E0 */ sw $s0, 0xe0($sp)
/* 344D5C E003434C F7B60110 */ sdc1 $f22, 0x110($sp)
/* 344D60 E0034350 F7B40108 */ sdc1 $f20, 0x108($sp)
/* 344D64 E0034354 8EC80000 */ lw $t0, ($s6)
/* 344D68 E0034358 8C94000C */ lw $s4, 0xc($a0)
/* 344D6C E003435C 0100102D */ daddu $v0, $t0, $zero
/* 344D70 E0034360 25080008 */ addiu $t0, $t0, 8
/* 344D74 E0034364 8E900000 */ lw $s0, ($s4)
/* 344D78 E0034368 3C0BE700 */ lui $t3, 0xe700
/* 344D7C E003436C AC4B0000 */ sw $t3, ($v0)
/* 344D80 E0034370 AC400004 */ sw $zero, 4($v0)
/* 344D84 E0034374 AD030000 */ sw $v1, ($t0)
/* 344D88 E0034378 8C820010 */ lw $v0, 0x10($a0)
/* 344D8C E003437C 27A40018 */ addiu $a0, $sp, 0x18
/* 344D90 E0034380 AEC80000 */ sw $t0, ($s6)
/* 344D94 E0034384 8C43001C */ lw $v1, 0x1c($v0)
/* 344D98 E0034388 3C0BDE00 */ lui $t3, 0xde00
/* 344D9C E003438C 3C028000 */ lui $v0, 0x8000
/* 344DA0 E0034390 AD0B0008 */ sw $t3, 8($t0)
/* 344DA4 E0034394 00105880 */ sll $t3, $s0, 2
/* 344DA8 E0034398 00621821 */ addu $v1, $v1, $v0
/* 344DAC E003439C AD030004 */ sw $v1, 4($t0)
/* 344DB0 E00343A0 AFAB00D8 */ sw $t3, 0xd8($sp)
/* 344DB4 E00343A4 3C03E003 */ lui $v1, %hi(D_E0034788)
/* 344DB8 E00343A8 006B1821 */ addu $v1, $v1, $t3
/* 344DBC E00343AC 8C634788 */ lw $v1, %lo(D_E0034788)($v1)
/* 344DC0 E00343B0 25020008 */ addiu $v0, $t0, 8
/* 344DC4 E00343B4 AEC20000 */ sw $v0, ($s6)
/* 344DC8 E00343B8 AD03000C */ sw $v1, 0xc($t0)
/* 344DCC E00343BC 8E850004 */ lw $a1, 4($s4)
/* 344DD0 E00343C0 8E860008 */ lw $a2, 8($s4)
/* 344DD4 E00343C4 8E87000C */ lw $a3, 0xc($s4)
/* 344DD8 E00343C8 25080010 */ addiu $t0, $t0, 0x10
/* 344DDC E00343CC 0C080108 */ jal shim_guTranslateF
/* 344DE0 E00343D0 AEC80000 */ sw $t0, ($s6)
/* 344DE4 E00343D4 27B50058 */ addiu $s5, $sp, 0x58
/* 344DE8 E00343D8 4480A000 */ mtc1 $zero, $f20
/* 344DEC E00343DC 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 344DF0 E00343E0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 344DF4 E00343E4 3C013F80 */ lui $at, 0x3f80
/* 344DF8 E00343E8 4481B000 */ mtc1 $at, $f22
/* 344DFC E00343EC 00031080 */ sll $v0, $v1, 2
/* 344E00 E00343F0 00431021 */ addu $v0, $v0, $v1
/* 344E04 E00343F4 00021080 */ sll $v0, $v0, 2
/* 344E08 E00343F8 00431023 */ subu $v0, $v0, $v1
/* 344E0C E00343FC 000218C0 */ sll $v1, $v0, 3
/* 344E10 E0034400 00431021 */ addu $v0, $v0, $v1
/* 344E14 E0034404 000210C0 */ sll $v0, $v0, 3
/* 344E18 E0034408 4406A000 */ mfc1 $a2, $f20
/* 344E1C E003440C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 344E20 E0034410 00220821 */ addu $at, $at, $v0
/* 344E24 E0034414 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 344E28 E0034418 4407B000 */ mfc1 $a3, $f22
/* 344E2C E003441C 46000007 */ neg.s $f0, $f0
/* 344E30 E0034420 44050000 */ mfc1 $a1, $f0
/* 344E34 E0034424 02A0202D */ daddu $a0, $s5, $zero
/* 344E38 E0034428 0C080104 */ jal shim_guRotateF
/* 344E3C E003442C E7B40010 */ swc1 $f20, 0x10($sp)
/* 344E40 E0034430 02A0202D */ daddu $a0, $s5, $zero
/* 344E44 E0034434 27A50018 */ addiu $a1, $sp, 0x18
/* 344E48 E0034438 27BE0098 */ addiu $fp, $sp, 0x98
/* 344E4C E003443C 0C080114 */ jal shim_guMtxCatF
/* 344E50 E0034440 03C0302D */ daddu $a2, $fp, $zero
/* 344E54 E0034444 8E830030 */ lw $v1, 0x30($s4)
/* 344E58 E0034448 8E970028 */ lw $s7, 0x28($s4)
/* 344E5C E003444C 00031040 */ sll $v0, $v1, 1
/* 344E60 E0034450 16000054 */ bnez $s0, .LE00345A4
/* 344E64 E0034454 00439821 */ addu $s3, $v0, $v1
/* 344E68 E0034458 02A0202D */ daddu $a0, $s5, $zero
/* 344E6C E003445C 3C120001 */ lui $s2, 1
/* 344E70 E0034460 8E850020 */ lw $a1, 0x20($s4)
/* 344E74 E0034464 36521630 */ ori $s2, $s2, 0x1630
/* 344E78 E0034468 00A0302D */ daddu $a2, $a1, $zero
/* 344E7C E003446C 0C080110 */ jal shim_guScaleF
/* 344E80 E0034470 00A0382D */ daddu $a3, $a1, $zero
/* 344E84 E0034474 02A0202D */ daddu $a0, $s5, $zero
/* 344E88 E0034478 03C0282D */ daddu $a1, $fp, $zero
/* 344E8C E003447C 0C080114 */ jal shim_guMtxCatF
/* 344E90 E0034480 27A60018 */ addiu $a2, $sp, 0x18
/* 344E94 E0034484 27A40018 */ addiu $a0, $sp, 0x18
/* 344E98 E0034488 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 344E9C E003448C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 344EA0 E0034490 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 344EA4 E0034494 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 344EA8 E0034498 96050000 */ lhu $a1, ($s0)
/* 344EAC E003449C 8E220000 */ lw $v0, ($s1)
/* 344EB0 E00344A0 00052980 */ sll $a1, $a1, 6
/* 344EB4 E00344A4 00B22821 */ addu $a1, $a1, $s2
/* 344EB8 E00344A8 0C080118 */ jal shim_guMtxF2L
/* 344EBC E00344AC 00452821 */ addu $a1, $v0, $a1
/* 344EC0 E00344B0 3C022AAA */ lui $v0, 0x2aaa
/* 344EC4 E00344B4 3442AAAB */ ori $v0, $v0, 0xaaab
/* 344EC8 E00344B8 3C09D838 */ lui $t1, 0xd838
/* 344ECC E00344BC 35290002 */ ori $t1, $t1, 2
/* 344ED0 E00344C0 02620018 */ mult $s3, $v0
/* 344ED4 E00344C4 8EC50000 */ lw $a1, ($s6)
/* 344ED8 E00344C8 3C02FA00 */ lui $v0, 0xfa00
/* 344EDC E00344CC 00A0402D */ daddu $t0, $a1, $zero
/* 344EE0 E00344D0 24A50008 */ addiu $a1, $a1, 8
/* 344EE4 E00344D4 AEC50000 */ sw $a1, ($s6)
/* 344EE8 E00344D8 AD020000 */ sw $v0, ($t0)
/* 344EEC E00344DC 001317C3 */ sra $v0, $s3, 0x1f
/* 344EF0 E00344E0 96040000 */ lhu $a0, ($s0)
/* 344EF4 E00344E4 00005810 */ mfhi $t3
/* 344EF8 E00344E8 000B1883 */ sra $v1, $t3, 2
/* 344EFC E00344EC 00621823 */ subu $v1, $v1, $v0
/* 344F00 E00344F0 00031040 */ sll $v0, $v1, 1
/* 344F04 E00344F4 00431021 */ addu $v0, $v0, $v1
/* 344F08 E00344F8 000210C0 */ sll $v0, $v0, 3
/* 344F0C E00344FC 02629823 */ subu $s3, $s3, $v0
/* 344F10 E0034500 3C03E003 */ lui $v1, %hi(D_E0034790)
/* 344F14 E0034504 00731821 */ addu $v1, $v1, $s3
/* 344F18 E0034508 90634790 */ lbu $v1, %lo(D_E0034790)($v1)
/* 344F1C E003450C 3C06E003 */ lui $a2, %hi(D_E0034791)
/* 344F20 E0034510 00D33021 */ addu $a2, $a2, $s3
/* 344F24 E0034514 90C64791 */ lbu $a2, %lo(D_E0034791)($a2)
/* 344F28 E0034518 3C07E003 */ lui $a3, %hi(D_E0034792)
/* 344F2C E003451C 00F33821 */ addu $a3, $a3, $s3
/* 344F30 E0034520 90E74792 */ lbu $a3, %lo(D_E0034792)($a3)
/* 344F34 E0034524 24A20008 */ addiu $v0, $a1, 8
/* 344F38 E0034528 AEC20000 */ sw $v0, ($s6)
/* 344F3C E003452C 24820001 */ addiu $v0, $a0, 1
/* 344F40 E0034530 A6020000 */ sh $v0, ($s0)
/* 344F44 E0034534 24A20010 */ addiu $v0, $a1, 0x10
/* 344F48 E0034538 AEC20000 */ sw $v0, ($s6)
/* 344F4C E003453C 32E200FF */ andi $v0, $s7, 0xff
/* 344F50 E0034540 3084FFFF */ andi $a0, $a0, 0xffff
/* 344F54 E0034544 00042180 */ sll $a0, $a0, 6
/* 344F58 E0034548 00922021 */ addu $a0, $a0, $s2
/* 344F5C E003454C 00031E00 */ sll $v1, $v1, 0x18
/* 344F60 E0034550 00063400 */ sll $a2, $a2, 0x10
/* 344F64 E0034554 00661825 */ or $v1, $v1, $a2
/* 344F68 E0034558 00073A00 */ sll $a3, $a3, 8
/* 344F6C E003455C 00671825 */ or $v1, $v1, $a3
/* 344F70 E0034560 00621825 */ or $v1, $v1, $v0
/* 344F74 E0034564 3C02DA38 */ lui $v0, 0xda38
/* 344F78 E0034568 AD030004 */ sw $v1, 4($t0)
/* 344F7C E003456C ACA20000 */ sw $v0, ($a1)
/* 344F80 E0034570 8E220000 */ lw $v0, ($s1)
/* 344F84 E0034574 3C0BDE00 */ lui $t3, 0xde00
/* 344F88 E0034578 ACAB0008 */ sw $t3, 8($a1)
/* 344F8C E003457C 00441021 */ addu $v0, $v0, $a0
/* 344F90 E0034580 ACA20004 */ sw $v0, 4($a1)
/* 344F94 E0034584 3C03E003 */ lui $v1, %hi(D_E0034780)
/* 344F98 E0034588 8C634780 */ lw $v1, %lo(D_E0034780)($v1)
/* 344F9C E003458C 24A20018 */ addiu $v0, $a1, 0x18
/* 344FA0 E0034590 AEC20000 */ sw $v0, ($s6)
/* 344FA4 E0034594 24020040 */ addiu $v0, $zero, 0x40
/* 344FA8 E0034598 ACA90010 */ sw $t1, 0x10($a1)
/* 344FAC E003459C ACA20014 */ sw $v0, 0x14($a1)
/* 344FB0 E00345A0 ACA3000C */ sw $v1, 0xc($a1)
.LE00345A4:
/* 344FB4 E00345A4 8E970024 */ lw $s7, 0x24($s4)
/* 344FB8 E00345A8 2AE20100 */ slti $v0, $s7, 0x100
/* 344FBC E00345AC 50400001 */ beql $v0, $zero, .LE00345B4
/* 344FC0 E00345B0 241700FF */ addiu $s7, $zero, 0xff
.LE00345B4:
/* 344FC4 E00345B4 1AE0005A */ blez $s7, .LE0034720
/* 344FC8 E00345B8 02A0202D */ daddu $a0, $s5, $zero
/* 344FCC E00345BC 3C120001 */ lui $s2, 1
/* 344FD0 E00345C0 8E850018 */ lw $a1, 0x18($s4)
/* 344FD4 E00345C4 36521630 */ ori $s2, $s2, 0x1630
/* 344FD8 E00345C8 00A0302D */ daddu $a2, $a1, $zero
/* 344FDC E00345CC 0C080110 */ jal shim_guScaleF
/* 344FE0 E00345D0 00A0382D */ daddu $a3, $a1, $zero
/* 344FE4 E00345D4 02A0202D */ daddu $a0, $s5, $zero
/* 344FE8 E00345D8 03C0282D */ daddu $a1, $fp, $zero
/* 344FEC E00345DC 0C080114 */ jal shim_guMtxCatF
/* 344FF0 E00345E0 27A60018 */ addiu $a2, $sp, 0x18
/* 344FF4 E00345E4 4406A000 */ mfc1 $a2, $f20
/* 344FF8 E00345E8 02A0202D */ daddu $a0, $s5, $zero
/* 344FFC E00345EC E7B60010 */ swc1 $f22, 0x10($sp)
/* 345000 E00345F0 8E850010 */ lw $a1, 0x10($s4)
/* 345004 E00345F4 0C080104 */ jal shim_guRotateF
/* 345008 E00345F8 00C0382D */ daddu $a3, $a2, $zero
/* 34500C E00345FC 02A0202D */ daddu $a0, $s5, $zero
/* 345010 E0034600 27A50018 */ addiu $a1, $sp, 0x18
/* 345014 E0034604 0C080114 */ jal shim_guMtxCatF
/* 345018 E0034608 00A0302D */ daddu $a2, $a1, $zero
/* 34501C E003460C 27A40018 */ addiu $a0, $sp, 0x18
/* 345020 E0034610 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 345024 E0034614 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 345028 E0034618 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 34502C E003461C 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 345030 E0034620 96050000 */ lhu $a1, ($s0)
/* 345034 E0034624 8E220000 */ lw $v0, ($s1)
/* 345038 E0034628 00052980 */ sll $a1, $a1, 6
/* 34503C E003462C 00B22821 */ addu $a1, $a1, $s2
/* 345040 E0034630 0C080118 */ jal shim_guMtxF2L
/* 345044 E0034634 00452821 */ addu $a1, $v0, $a1
/* 345048 E0034638 3C0AD838 */ lui $t2, 0xd838
/* 34504C E003463C 8EC50000 */ lw $a1, ($s6)
/* 345050 E0034640 3C08FA00 */ lui $t0, 0xfa00
/* 345054 E0034644 00A0482D */ daddu $t1, $a1, $zero
/* 345058 E0034648 24A50008 */ addiu $a1, $a1, 8
/* 34505C E003464C AEC50000 */ sw $a1, ($s6)
/* 345060 E0034650 AD280000 */ sw $t0, ($t1)
/* 345064 E0034654 3C04E003 */ lui $a0, %hi(D_E0034790)
/* 345068 E0034658 00932021 */ addu $a0, $a0, $s3
/* 34506C E003465C 90844790 */ lbu $a0, %lo(D_E0034790)($a0)
/* 345070 E0034660 3C03E003 */ lui $v1, %hi(D_E0034791)
/* 345074 E0034664 00731821 */ addu $v1, $v1, $s3
/* 345078 E0034668 90634791 */ lbu $v1, %lo(D_E0034791)($v1)
/* 34507C E003466C 3C07E003 */ lui $a3, %hi(D_E0034792)
/* 345080 E0034670 00F33821 */ addu $a3, $a3, $s3
/* 345084 E0034674 90E74792 */ lbu $a3, %lo(D_E0034792)($a3)
/* 345088 E0034678 24A20008 */ addiu $v0, $a1, 8
/* 34508C E003467C AEC20000 */ sw $v0, ($s6)
/* 345090 E0034680 96060000 */ lhu $a2, ($s0)
/* 345094 E0034684 24A20010 */ addiu $v0, $a1, 0x10
/* 345098 E0034688 AEC20000 */ sw $v0, ($s6)
/* 34509C E003468C 24C20001 */ addiu $v0, $a2, 1
/* 3450A0 E0034690 A6020000 */ sh $v0, ($s0)
/* 3450A4 E0034694 24A20018 */ addiu $v0, $a1, 0x18
/* 3450A8 E0034698 00042600 */ sll $a0, $a0, 0x18
/* 3450AC E003469C 00031C00 */ sll $v1, $v1, 0x10
/* 3450B0 E00346A0 00832025 */ or $a0, $a0, $v1
/* 3450B4 E00346A4 00073A00 */ sll $a3, $a3, 8
/* 3450B8 E00346A8 00872025 */ or $a0, $a0, $a3
/* 3450BC E00346AC 32E300FF */ andi $v1, $s7, 0xff
/* 3450C0 E00346B0 00832025 */ or $a0, $a0, $v1
/* 3450C4 E00346B4 AEC20000 */ sw $v0, ($s6)
/* 3450C8 E00346B8 2402FF00 */ addiu $v0, $zero, -0x100
/* 3450CC E00346BC 00621825 */ or $v1, $v1, $v0
/* 3450D0 E00346C0 3C02DA38 */ lui $v0, 0xda38
/* 3450D4 E00346C4 30C6FFFF */ andi $a2, $a2, 0xffff
/* 3450D8 E00346C8 00063180 */ sll $a2, $a2, 6
/* 3450DC E00346CC 00D23021 */ addu $a2, $a2, $s2
/* 3450E0 E00346D0 AD240004 */ sw $a0, 4($t1)
/* 3450E4 E00346D4 ACA80000 */ sw $t0, ($a1)
/* 3450E8 E00346D8 ACA30004 */ sw $v1, 4($a1)
/* 3450EC E00346DC ACA20008 */ sw $v0, 8($a1)
/* 3450F0 E00346E0 8E220000 */ lw $v0, ($s1)
/* 3450F4 E00346E4 3C0BDE00 */ lui $t3, 0xde00
/* 3450F8 E00346E8 ACAB0010 */ sw $t3, 0x10($a1)
/* 3450FC E00346EC 00461021 */ addu $v0, $v0, $a2
/* 345100 E00346F0 ACA2000C */ sw $v0, 0xc($a1)
/* 345104 E00346F4 8FAB00D8 */ lw $t3, 0xd8($sp)
/* 345108 E00346F8 354A0002 */ ori $t2, $t2, 2
/* 34510C E00346FC 3C03E003 */ lui $v1, %hi(D_E0034780)
/* 345110 E0034700 006B1821 */ addu $v1, $v1, $t3
/* 345114 E0034704 8C634780 */ lw $v1, %lo(D_E0034780)($v1)
/* 345118 E0034708 24A20020 */ addiu $v0, $a1, 0x20
/* 34511C E003470C AEC20000 */ sw $v0, ($s6)
/* 345120 E0034710 24020040 */ addiu $v0, $zero, 0x40
/* 345124 E0034714 ACAA0018 */ sw $t2, 0x18($a1)
/* 345128 E0034718 ACA2001C */ sw $v0, 0x1c($a1)
/* 34512C E003471C ACA30014 */ sw $v1, 0x14($a1)
.LE0034720:
/* 345130 E0034720 8EC20000 */ lw $v0, ($s6)
/* 345134 E0034724 0040182D */ daddu $v1, $v0, $zero
/* 345138 E0034728 24420008 */ addiu $v0, $v0, 8
/* 34513C E003472C 3C0BE700 */ lui $t3, 0xe700
/* 345140 E0034730 AEC20000 */ sw $v0, ($s6)
/* 345144 E0034734 AC6B0000 */ sw $t3, ($v1)
/* 345148 E0034738 AC600004 */ sw $zero, 4($v1)
/* 34514C E003473C 8FBF0104 */ lw $ra, 0x104($sp)
/* 345150 E0034740 8FBE0100 */ lw $fp, 0x100($sp)
/* 345154 E0034744 8FB700FC */ lw $s7, 0xfc($sp)
/* 345158 E0034748 8FB600F8 */ lw $s6, 0xf8($sp)
/* 34515C E003474C 8FB500F4 */ lw $s5, 0xf4($sp)
/* 345160 E0034750 8FB400F0 */ lw $s4, 0xf0($sp)
/* 345164 E0034754 8FB300EC */ lw $s3, 0xec($sp)
/* 345168 E0034758 8FB200E8 */ lw $s2, 0xe8($sp)
/* 34516C E003475C 8FB100E4 */ lw $s1, 0xe4($sp)
/* 345170 E0034760 8FB000E0 */ lw $s0, 0xe0($sp)
/* 345174 E0034764 D7B60110 */ ldc1 $f22, 0x110($sp)
/* 345178 E0034768 D7B40108 */ ldc1 $f20, 0x108($sp)
/* 34517C E003476C 03E00008 */ jr $ra
/* 345180 E0034770 27BD0118 */ addiu $sp, $sp, 0x118
/* 345184 E0034774 00000000 */ nop
/* 345188 E0034778 00000000 */ nop
/* 34518C E003477C 00000000 */ nop

View File

@ -1,74 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel lens_flare_main
/* 344A10 E0034000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 344A14 E0034004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 344A18 E0034008 4485A000 */ mtc1 $a1, $f20
/* 344A1C E003400C AFB1002C */ sw $s1, 0x2c($sp)
/* 344A20 E0034010 0080882D */ daddu $s1, $a0, $zero
/* 344A24 E0034014 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 344A28 E0034018 4486B000 */ mtc1 $a2, $f22
/* 344A2C E003401C 27A40010 */ addiu $a0, $sp, 0x10
/* 344A30 E0034020 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 344A34 E0034024 4487C000 */ mtc1 $a3, $f24
/* 344A38 E0034028 3C02E003 */ lui $v0, %hi(lens_flare_init)
/* 344A3C E003402C 24424108 */ addiu $v0, $v0, %lo(lens_flare_init)
/* 344A40 E0034030 AFA20018 */ sw $v0, 0x18($sp)
/* 344A44 E0034034 3C02E003 */ lui $v0, %hi(lens_flare_update)
/* 344A48 E0034038 24424110 */ addiu $v0, $v0, %lo(lens_flare_update)
/* 344A4C E003403C AFA2001C */ sw $v0, 0x1c($sp)
/* 344A50 E0034040 3C02E003 */ lui $v0, %hi(lens_flare_render)
/* 344A54 E0034044 244242C8 */ addiu $v0, $v0, %lo(lens_flare_render)
/* 344A58 E0034048 AFA20020 */ sw $v0, 0x20($sp)
/* 344A5C E003404C 2402001A */ addiu $v0, $zero, 0x1a
/* 344A60 E0034050 AFBF0030 */ sw $ra, 0x30($sp)
/* 344A64 E0034054 AFB00028 */ sw $s0, 0x28($sp)
/* 344A68 E0034058 AFA00010 */ sw $zero, 0x10($sp)
/* 344A6C E003405C AFA00024 */ sw $zero, 0x24($sp)
/* 344A70 E0034060 0C080124 */ jal shim_create_effect_instance
/* 344A74 E0034064 AFA20014 */ sw $v0, 0x14($sp)
/* 344A78 E0034068 24040034 */ addiu $a0, $zero, 0x34
/* 344A7C E003406C 24030001 */ addiu $v1, $zero, 1
/* 344A80 E0034070 0040802D */ daddu $s0, $v0, $zero
/* 344A84 E0034074 0C08012C */ jal shim_general_heap_malloc
/* 344A88 E0034078 AE030008 */ sw $v1, 8($s0)
/* 344A8C E003407C 0040182D */ daddu $v1, $v0, $zero
/* 344A90 E0034080 14600003 */ bnez $v1, .LE0034090
/* 344A94 E0034084 AE02000C */ sw $v0, 0xc($s0)
.LE0034088:
/* 344A98 E0034088 0800D022 */ j .LE0034088
/* 344A9C E003408C 00000000 */ nop
.LE0034090:
/* 344AA0 E0034090 AC710000 */ sw $s1, ($v1)
/* 344AA4 E0034094 E4740004 */ swc1 $f20, 4($v1)
/* 344AA8 E0034098 E4760008 */ swc1 $f22, 8($v1)
/* 344AAC E003409C E478000C */ swc1 $f24, 0xc($v1)
/* 344AB0 E00340A0 8FA20060 */ lw $v0, 0x60($sp)
/* 344AB4 E00340A4 AC600030 */ sw $zero, 0x30($v1)
/* 344AB8 E00340A8 AC600024 */ sw $zero, 0x24($v1)
/* 344ABC E00340AC AC600010 */ sw $zero, 0x10($v1)
/* 344AC0 E00340B0 16200005 */ bnez $s1, .LE00340C8
/* 344AC4 E00340B4 AC62002C */ sw $v0, 0x2c($v1)
/* 344AC8 E00340B8 3C0141F0 */ lui $at, 0x41f0
/* 344ACC E00340BC 44810000 */ mtc1 $at, $f0
/* 344AD0 E00340C0 0800D033 */ j .LE00340CC
/* 344AD4 E00340C4 E4600014 */ swc1 $f0, 0x14($v1)
.LE00340C8:
/* 344AD8 E00340C8 AC600014 */ sw $zero, 0x14($v1)
.LE00340CC:
/* 344ADC E00340CC 3C013F4C */ lui $at, 0x3f4c
/* 344AE0 E00340D0 3421CCCD */ ori $at, $at, 0xcccd
/* 344AE4 E00340D4 44810000 */ mtc1 $at, $f0
/* 344AE8 E00340D8 AC600018 */ sw $zero, 0x18($v1)
/* 344AEC E00340DC AC600028 */ sw $zero, 0x28($v1)
/* 344AF0 E00340E0 AC600020 */ sw $zero, 0x20($v1)
/* 344AF4 E00340E4 E460001C */ swc1 $f0, 0x1c($v1)
/* 344AF8 E00340E8 8FBF0030 */ lw $ra, 0x30($sp)
/* 344AFC E00340EC 8FB1002C */ lw $s1, 0x2c($sp)
/* 344B00 E00340F0 8FB00028 */ lw $s0, 0x28($sp)
/* 344B04 E00340F4 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 344B08 E00340F8 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 344B0C E00340FC D7B40038 */ ldc1 $f20, 0x38($sp)
/* 344B10 E0034100 03E00008 */ jr $ra
/* 344B14 E0034104 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,134 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00347B0
.double 0.78
dlabel D_E00347B8
.double 0.93
dlabel D_E00347C0
.double 0.29
dlabel D_E00347C8
.double 0.9
.section .text
glabel lens_flare_update
/* 344B20 E0034110 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 344B24 E0034114 AFBF0018 */ sw $ra, 0x18($sp)
/* 344B28 E0034118 AFB10014 */ sw $s1, 0x14($sp)
/* 344B2C E003411C AFB00010 */ sw $s0, 0x10($sp)
/* 344B30 E0034120 8C90000C */ lw $s0, 0xc($a0)
/* 344B34 E0034124 8E02002C */ lw $v0, 0x2c($s0)
/* 344B38 E0034128 2442FFFF */ addiu $v0, $v0, -1
/* 344B3C E003412C AE02002C */ sw $v0, 0x2c($s0)
/* 344B40 E0034130 8E020030 */ lw $v0, 0x30($s0)
/* 344B44 E0034134 8E03002C */ lw $v1, 0x2c($s0)
/* 344B48 E0034138 24420001 */ addiu $v0, $v0, 1
/* 344B4C E003413C 04610005 */ bgez $v1, .LE0034154
/* 344B50 E0034140 AE020030 */ sw $v0, 0x30($s0)
/* 344B54 E0034144 0C080128 */ jal shim_remove_effect
/* 344B58 E0034148 00000000 */ nop
/* 344B5C E003414C 0800D0AD */ j .LE00342B4
/* 344B60 E0034150 00000000 */ nop
.LE0034154:
/* 344B64 E0034154 28420007 */ slti $v0, $v0, 7
/* 344B68 E0034158 10400011 */ beqz $v0, .LE00341A0
/* 344B6C E003415C 0060882D */ daddu $s1, $v1, $zero
/* 344B70 E0034160 240200DA */ addiu $v0, $zero, 0xda
/* 344B74 E0034164 8E030024 */ lw $v1, 0x24($s0)
/* 344B78 E0034168 3C013FE0 */ lui $at, 0x3fe0
/* 344B7C E003416C 44810800 */ mtc1 $at, $f1
/* 344B80 E0034170 44800000 */ mtc1 $zero, $f0
/* 344B84 E0034174 00431023 */ subu $v0, $v0, $v1
/* 344B88 E0034178 44821000 */ mtc1 $v0, $f2
/* 344B8C E003417C 00000000 */ nop
/* 344B90 E0034180 468010A1 */ cvt.d.w $f2, $f2
/* 344B94 E0034184 46201082 */ mul.d $f2, $f2, $f0
/* 344B98 E0034188 00000000 */ nop
/* 344B9C E003418C 44830000 */ mtc1 $v1, $f0
/* 344BA0 E0034190 00000000 */ nop
/* 344BA4 E0034194 46800021 */ cvt.d.w $f0, $f0
/* 344BA8 E0034198 0800D06E */ j .LE00341B8
/* 344BAC E003419C 46220000 */ add.d $f0, $f0, $f2
.LE00341A0:
/* 344BB0 E00341A0 3C01E003 */ lui $at, %hi(D_E00347B0)
/* 344BB4 E00341A4 D42247B0 */ ldc1 $f2, %lo(D_E00347B0)($at)
/* 344BB8 E00341A8 C6000024 */ lwc1 $f0, 0x24($s0)
/* 344BBC E00341AC 46800021 */ cvt.d.w $f0, $f0
/* 344BC0 E00341B0 46220002 */ mul.d $f0, $f0, $f2
/* 344BC4 E00341B4 00000000 */ nop
.LE00341B8:
/* 344BC8 E00341B8 4620028D */ trunc.w.d $f10, $f0
/* 344BCC E00341BC E60A0024 */ swc1 $f10, 0x24($s0)
/* 344BD0 E00341C0 00111040 */ sll $v0, $s1, 1
/* 344BD4 E00341C4 00511021 */ addu $v0, $v0, $s1
/* 344BD8 E00341C8 C6040014 */ lwc1 $f4, 0x14($s0)
/* 344BDC E00341CC 3C01E003 */ lui $at, %hi(D_E00347B8)
/* 344BE0 E00341D0 D42247B8 */ ldc1 $f2, %lo(D_E00347B8)($at)
/* 344BE4 E00341D4 46002121 */ cvt.d.s $f4, $f4
/* 344BE8 E00341D8 46222102 */ mul.d $f4, $f4, $f2
/* 344BEC E00341DC 00000000 */ nop
/* 344BF0 E00341E0 000210C0 */ sll $v0, $v0, 3
/* 344BF4 E00341E4 00511021 */ addu $v0, $v0, $s1
/* 344BF8 E00341E8 00021040 */ sll $v0, $v0, 1
/* 344BFC E00341EC C600001C */ lwc1 $f0, 0x1c($s0)
/* 344C00 E00341F0 C6060018 */ lwc1 $f6, 0x18($s0)
/* 344C04 E00341F4 C602001C */ lwc1 $f2, 0x1c($s0)
/* 344C08 E00341F8 C6080014 */ lwc1 $f8, 0x14($s0)
/* 344C0C E00341FC 46023180 */ add.s $f6, $f6, $f2
/* 344C10 E0034200 3C01E003 */ lui $at, %hi(D_E00347C0)
/* 344C14 E0034204 D42247C0 */ ldc1 $f2, %lo(D_E00347C0)($at)
/* 344C18 E0034208 46000021 */ cvt.d.s $f0, $f0
/* 344C1C E003420C 46220000 */ add.d $f0, $f0, $f2
/* 344C20 E0034210 C6020010 */ lwc1 $f2, 0x10($s0)
/* 344C24 E0034214 44826000 */ mtc1 $v0, $f12
/* 344C28 E0034218 00000000 */ nop
/* 344C2C E003421C 46806320 */ cvt.s.w $f12, $f12
/* 344C30 E0034220 46081080 */ add.s $f2, $f2, $f8
/* 344C34 E0034224 E6060018 */ swc1 $f6, 0x18($s0)
/* 344C38 E0034228 46200020 */ cvt.s.d $f0, $f0
/* 344C3C E003422C E600001C */ swc1 $f0, 0x1c($s0)
/* 344C40 E0034230 E6020010 */ swc1 $f2, 0x10($s0)
/* 344C44 E0034234 46202120 */ cvt.s.d $f4, $f4
/* 344C48 E0034238 0C080140 */ jal shim_sin_deg
/* 344C4C E003423C E6040014 */ swc1 $f4, 0x14($s0)
/* 344C50 E0034240 3C013FE0 */ lui $at, 0x3fe0
/* 344C54 E0034244 44811800 */ mtc1 $at, $f3
/* 344C58 E0034248 44801000 */ mtc1 $zero, $f2
/* 344C5C E003424C 46000021 */ cvt.d.s $f0, $f0
/* 344C60 E0034250 46220002 */ mul.d $f0, $f0, $f2
/* 344C64 E0034254 00000000 */ nop
/* 344C68 E0034258 00111080 */ sll $v0, $s1, 2
/* 344C6C E003425C 3C01E003 */ lui $at, %hi(D_E00347C8)
/* 344C70 E0034260 D42247C8 */ ldc1 $f2, %lo(D_E00347C8)($at)
/* 344C74 E0034264 00511021 */ addu $v0, $v0, $s1
/* 344C78 E0034268 46220000 */ add.d $f0, $f0, $f2
/* 344C7C E003426C 000210C0 */ sll $v0, $v0, 3
/* 344C80 E0034270 44826000 */ mtc1 $v0, $f12
/* 344C84 E0034274 00000000 */ nop
/* 344C88 E0034278 46806320 */ cvt.s.w $f12, $f12
/* 344C8C E003427C 46200020 */ cvt.s.d $f0, $f0
/* 344C90 E0034280 0C080140 */ jal shim_sin_deg
/* 344C94 E0034284 E6000020 */ swc1 $f0, 0x20($s0)
/* 344C98 E0034288 3C014280 */ lui $at, 0x4280
/* 344C9C E003428C 44811000 */ mtc1 $at, $f2
/* 344CA0 E0034290 00000000 */ nop
/* 344CA4 E0034294 46020002 */ mul.s $f0, $f0, $f2
/* 344CA8 E0034298 00000000 */ nop
/* 344CAC E003429C 3C014310 */ lui $at, 0x4310
/* 344CB0 E00342A0 44811000 */ mtc1 $at, $f2
/* 344CB4 E00342A4 00000000 */ nop
/* 344CB8 E00342A8 46020000 */ add.s $f0, $f0, $f2
/* 344CBC E00342AC 4600028D */ trunc.w.s $f10, $f0
/* 344CC0 E00342B0 E60A0028 */ swc1 $f10, 0x28($s0)
.LE00342B4:
/* 344CC4 E00342B4 8FBF0018 */ lw $ra, 0x18($sp)
/* 344CC8 E00342B8 8FB10014 */ lw $s1, 0x14($sp)
/* 344CCC E00342BC 8FB00010 */ lw $s0, 0x10($sp)
/* 344CD0 E00342C0 03E00008 */ jr $ra
/* 344CD4 E00342C4 27BD0020 */ addiu $sp, $sp, 0x20

View File

@ -1,215 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel quizmo_assistant_appendGfx
/* 406D04 E011C1C4 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 406D08 E011C1C8 0080302D */ daddu $a2, $a0, $zero
/* 406D0C E011C1CC 3C07DB06 */ lui $a3, 0xdb06
/* 406D10 E011C1D0 34E70024 */ ori $a3, $a3, 0x24
/* 406D14 E011C1D4 27A40018 */ addiu $a0, $sp, 0x18
/* 406D18 E011C1D8 AFB200A0 */ sw $s2, 0xa0($sp)
/* 406D1C E011C1DC 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 406D20 E011C1E0 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 406D24 E011C1E4 AFB500AC */ sw $s5, 0xac($sp)
/* 406D28 E011C1E8 AFBF00B4 */ sw $ra, 0xb4($sp)
/* 406D2C E011C1EC AFB600B0 */ sw $s6, 0xb0($sp)
/* 406D30 E011C1F0 AFB400A8 */ sw $s4, 0xa8($sp)
/* 406D34 E011C1F4 AFB300A4 */ sw $s3, 0xa4($sp)
/* 406D38 E011C1F8 AFB1009C */ sw $s1, 0x9c($sp)
/* 406D3C E011C1FC AFB00098 */ sw $s0, 0x98($sp)
/* 406D40 E011C200 F7B400B8 */ sdc1 $f20, 0xb8($sp)
/* 406D44 E011C204 8E450000 */ lw $a1, ($s2)
/* 406D48 E011C208 8CD4000C */ lw $s4, 0xc($a2)
/* 406D4C E011C20C 00A0182D */ daddu $v1, $a1, $zero
/* 406D50 E011C210 24A50008 */ addiu $a1, $a1, 8
/* 406D54 E011C214 AE450000 */ sw $a1, ($s2)
/* 406D58 E011C218 8E960014 */ lw $s6, 0x14($s4)
/* 406D5C E011C21C 8E910018 */ lw $s1, 0x18($s4)
/* 406D60 E011C220 3C02E700 */ lui $v0, 0xe700
/* 406D64 E011C224 AC620000 */ sw $v0, ($v1)
/* 406D68 E011C228 AC600004 */ sw $zero, 4($v1)
/* 406D6C E011C22C ACA70000 */ sw $a3, ($a1)
/* 406D70 E011C230 8CC30010 */ lw $v1, 0x10($a2)
/* 406D74 E011C234 24A20008 */ addiu $v0, $a1, 8
/* 406D78 E011C238 AE420000 */ sw $v0, ($s2)
/* 406D7C E011C23C 8C62001C */ lw $v0, 0x1c($v1)
/* 406D80 E011C240 3C038000 */ lui $v1, 0x8000
/* 406D84 E011C244 00431021 */ addu $v0, $v0, $v1
/* 406D88 E011C248 ACA20004 */ sw $v0, 4($a1)
/* 406D8C E011C24C 8E850004 */ lw $a1, 4($s4)
/* 406D90 E011C250 8E860008 */ lw $a2, 8($s4)
/* 406D94 E011C254 8E87000C */ lw $a3, 0xc($s4)
/* 406D98 E011C258 4480A000 */ mtc1 $zero, $f20
/* 406D9C E011C25C 0C080108 */ jal shim_guTranslateF
/* 406DA0 E011C260 3C150001 */ lui $s5, 1
/* 406DA4 E011C264 27B00058 */ addiu $s0, $sp, 0x58
/* 406DA8 E011C268 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 406DAC E011C26C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 406DB0 E011C270 4406A000 */ mfc1 $a2, $f20
/* 406DB4 E011C274 00031080 */ sll $v0, $v1, 2
/* 406DB8 E011C278 00431021 */ addu $v0, $v0, $v1
/* 406DBC E011C27C 00021080 */ sll $v0, $v0, 2
/* 406DC0 E011C280 00431023 */ subu $v0, $v0, $v1
/* 406DC4 E011C284 000218C0 */ sll $v1, $v0, 3
/* 406DC8 E011C288 00431021 */ addu $v0, $v0, $v1
/* 406DCC E011C28C 000210C0 */ sll $v0, $v0, 3
/* 406DD0 E011C290 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 406DD4 E011C294 00220821 */ addu $at, $at, $v0
/* 406DD8 E011C298 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 406DDC E011C29C 3C073F80 */ lui $a3, 0x3f80
/* 406DE0 E011C2A0 46000007 */ neg.s $f0, $f0
/* 406DE4 E011C2A4 44050000 */ mfc1 $a1, $f0
/* 406DE8 E011C2A8 0200202D */ daddu $a0, $s0, $zero
/* 406DEC E011C2AC 0C080104 */ jal shim_guRotateF
/* 406DF0 E011C2B0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 406DF4 E011C2B4 0200202D */ daddu $a0, $s0, $zero
/* 406DF8 E011C2B8 27A50018 */ addiu $a1, $sp, 0x18
/* 406DFC E011C2BC 0C080114 */ jal shim_guMtxCatF
/* 406E00 E011C2C0 00A0302D */ daddu $a2, $a1, $zero
/* 406E04 E011C2C4 3C0542B3 */ lui $a1, 0x42b3
/* 406E08 E011C2C8 4406A000 */ mfc1 $a2, $f20
/* 406E0C E011C2CC 3C074000 */ lui $a3, 0x4000
/* 406E10 E011C2D0 0C080108 */ jal shim_guTranslateF
/* 406E14 E011C2D4 0200202D */ daddu $a0, $s0, $zero
/* 406E18 E011C2D8 0200202D */ daddu $a0, $s0, $zero
/* 406E1C E011C2DC 27A50018 */ addiu $a1, $sp, 0x18
/* 406E20 E011C2E0 0C080114 */ jal shim_guMtxCatF
/* 406E24 E011C2E4 00A0302D */ daddu $a2, $a1, $zero
/* 406E28 E011C2E8 3C013F36 */ lui $at, 0x3f36
/* 406E2C E011C2EC 3421DB6E */ ori $at, $at, 0xdb6e
/* 406E30 E011C2F0 44810000 */ mtc1 $at, $f0
/* 406E34 E011C2F4 36B51630 */ ori $s5, $s5, 0x1630
/* 406E38 E011C2F8 44050000 */ mfc1 $a1, $f0
/* 406E3C E011C2FC 0200202D */ daddu $a0, $s0, $zero
/* 406E40 E011C300 00A0302D */ daddu $a2, $a1, $zero
/* 406E44 E011C304 0C080110 */ jal shim_guScaleF
/* 406E48 E011C308 00A0382D */ daddu $a3, $a1, $zero
/* 406E4C E011C30C 0200202D */ daddu $a0, $s0, $zero
/* 406E50 E011C310 27A50018 */ addiu $a1, $sp, 0x18
/* 406E54 E011C314 0C080114 */ jal shim_guMtxCatF
/* 406E58 E011C318 00A0302D */ daddu $a2, $a1, $zero
/* 406E5C E011C31C 27A40018 */ addiu $a0, $sp, 0x18
/* 406E60 E011C320 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 406E64 E011C324 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 406E68 E011C328 3C13800A */ lui $s3, %hi(gDisplayContext)
/* 406E6C E011C32C 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext)
/* 406E70 E011C330 96050000 */ lhu $a1, ($s0)
/* 406E74 E011C334 8E620000 */ lw $v0, ($s3)
/* 406E78 E011C338 00052980 */ sll $a1, $a1, 6
/* 406E7C E011C33C 00B52821 */ addu $a1, $a1, $s5
/* 406E80 E011C340 0C080118 */ jal shim_guMtxF2L
/* 406E84 E011C344 00452821 */ addu $a1, $v0, $a1
/* 406E88 E011C348 3C03DA38 */ lui $v1, 0xda38
/* 406E8C E011C34C 34630002 */ ori $v1, $v1, 2
/* 406E90 E011C350 323100FF */ andi $s1, $s1, 0xff
/* 406E94 E011C354 8E440000 */ lw $a0, ($s2)
/* 406E98 E011C358 96020000 */ lhu $v0, ($s0)
/* 406E9C E011C35C 0080282D */ daddu $a1, $a0, $zero
/* 406EA0 E011C360 24840008 */ addiu $a0, $a0, 8
/* 406EA4 E011C364 AE440000 */ sw $a0, ($s2)
/* 406EA8 E011C368 ACA30000 */ sw $v1, ($a1)
/* 406EAC E011C36C 24430001 */ addiu $v1, $v0, 1
/* 406EB0 E011C370 3042FFFF */ andi $v0, $v0, 0xffff
/* 406EB4 E011C374 00021180 */ sll $v0, $v0, 6
/* 406EB8 E011C378 A6030000 */ sh $v1, ($s0)
/* 406EBC E011C37C 8E630000 */ lw $v1, ($s3)
/* 406EC0 E011C380 00551021 */ addu $v0, $v0, $s5
/* 406EC4 E011C384 00621821 */ addu $v1, $v1, $v0
/* 406EC8 E011C388 24820008 */ addiu $v0, $a0, 8
/* 406ECC E011C38C ACA30004 */ sw $v1, 4($a1)
/* 406ED0 E011C390 AE420000 */ sw $v0, ($s2)
/* 406ED4 E011C394 3C02FA00 */ lui $v0, 0xfa00
/* 406ED8 E011C398 AC820000 */ sw $v0, ($a0)
/* 406EDC E011C39C 00111600 */ sll $v0, $s1, 0x18
/* 406EE0 E011C3A0 00111C00 */ sll $v1, $s1, 0x10
/* 406EE4 E011C3A4 00431025 */ or $v0, $v0, $v1
/* 406EE8 E011C3A8 00118A00 */ sll $s1, $s1, 8
/* 406EEC E011C3AC 00511025 */ or $v0, $v0, $s1
/* 406EF0 E011C3B0 344200FF */ ori $v0, $v0, 0xff
/* 406EF4 E011C3B4 AC820004 */ sw $v0, 4($a0)
/* 406EF8 E011C3B8 3C02DE00 */ lui $v0, 0xde00
/* 406EFC E011C3BC AC820008 */ sw $v0, 8($a0)
/* 406F00 E011C3C0 3C03E012 */ lui $v1, %hi(D_E011C514)
/* 406F04 E011C3C4 8C63C514 */ lw $v1, %lo(D_E011C514)($v1)
/* 406F08 E011C3C8 24820010 */ addiu $v0, $a0, 0x10
/* 406F0C E011C3CC AE420000 */ sw $v0, ($s2)
/* 406F10 E011C3D0 AC83000C */ sw $v1, 0xc($a0)
/* 406F14 E011C3D4 8E83001C */ lw $v1, 0x1c($s4)
/* 406F18 E011C3D8 24020001 */ addiu $v0, $zero, 1
/* 406F1C E011C3DC 10620007 */ beq $v1, $v0, .LE011C3FC
/* 406F20 E011C3E0 28620002 */ slti $v0, $v1, 2
/* 406F24 E011C3E4 10400015 */ beqz $v0, .LE011C43C
/* 406F28 E011C3E8 00000000 */ nop
/* 406F2C E011C3EC 14600013 */ bnez $v1, .LE011C43C
/* 406F30 E011C3F0 0000282D */ daddu $a1, $zero, $zero
/* 406F34 E011C3F4 0804711B */ j .LE011C46C
/* 406F38 E011C3F8 3C07D838 */ lui $a3, 0xd838
.LE011C3FC:
/* 406F3C E011C3FC 3C026666 */ lui $v0, 0x6666
/* 406F40 E011C400 34426667 */ ori $v0, $v0, 0x6667
/* 406F44 E011C404 02C20018 */ mult $s6, $v0
/* 406F48 E011C408 001617C3 */ sra $v0, $s6, 0x1f
/* 406F4C E011C40C 00004010 */ mfhi $t0
/* 406F50 E011C410 00081843 */ sra $v1, $t0, 1
/* 406F54 E011C414 00621823 */ subu $v1, $v1, $v0
/* 406F58 E011C418 00031080 */ sll $v0, $v1, 2
/* 406F5C E011C41C 00431021 */ addu $v0, $v0, $v1
/* 406F60 E011C420 02C21023 */ subu $v0, $s6, $v0
/* 406F64 E011C424 00021080 */ sll $v0, $v0, 2
/* 406F68 E011C428 3C05E012 */ lui $a1, %hi(D_E011C518)
/* 406F6C E011C42C 00A22821 */ addu $a1, $a1, $v0
/* 406F70 E011C430 8CA5C518 */ lw $a1, %lo(D_E011C518)($a1)
/* 406F74 E011C434 0804711B */ j .LE011C46C
/* 406F78 E011C438 3C07D838 */ lui $a3, 0xd838
.LE011C43C:
/* 406F7C E011C43C 06C10002 */ bgez $s6, .LE011C448
/* 406F80 E011C440 02C0102D */ daddu $v0, $s6, $zero
/* 406F84 E011C444 26C20003 */ addiu $v0, $s6, 3
.LE011C448:
/* 406F88 E011C448 00021083 */ sra $v0, $v0, 2
/* 406F8C E011C44C 00021080 */ sll $v0, $v0, 2
/* 406F90 E011C450 02C21023 */ subu $v0, $s6, $v0
/* 406F94 E011C454 00021080 */ sll $v0, $v0, 2
/* 406F98 E011C458 3C03E012 */ lui $v1, %hi(D_E011C52C)
/* 406F9C E011C45C 2463C52C */ addiu $v1, $v1, %lo(D_E011C52C)
/* 406FA0 E011C460 00431021 */ addu $v0, $v0, $v1
/* 406FA4 E011C464 8C450000 */ lw $a1, ($v0)
/* 406FA8 E011C468 3C07D838 */ lui $a3, 0xd838
.LE011C46C:
/* 406FAC E011C46C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 406FB0 E011C470 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 406FB4 E011C474 34E70002 */ ori $a3, $a3, 2
/* 406FB8 E011C478 8C830000 */ lw $v1, ($a0)
/* 406FBC E011C47C 3C02DE00 */ lui $v0, 0xde00
/* 406FC0 E011C480 0060302D */ daddu $a2, $v1, $zero
/* 406FC4 E011C484 24630008 */ addiu $v1, $v1, 8
/* 406FC8 E011C488 AC830000 */ sw $v1, ($a0)
/* 406FCC E011C48C ACC20000 */ sw $v0, ($a2)
/* 406FD0 E011C490 24620008 */ addiu $v0, $v1, 8
/* 406FD4 E011C494 AC820000 */ sw $v0, ($a0)
/* 406FD8 E011C498 00051080 */ sll $v0, $a1, 2
/* 406FDC E011C49C 3C05E012 */ lui $a1, %hi(D_E011C500)
/* 406FE0 E011C4A0 00A22821 */ addu $a1, $a1, $v0
/* 406FE4 E011C4A4 8CA5C500 */ lw $a1, %lo(D_E011C500)($a1)
/* 406FE8 E011C4A8 24620010 */ addiu $v0, $v1, 0x10
/* 406FEC E011C4AC AC820000 */ sw $v0, ($a0)
/* 406FF0 E011C4B0 24020040 */ addiu $v0, $zero, 0x40
/* 406FF4 E011C4B4 ACC50004 */ sw $a1, 4($a2)
/* 406FF8 E011C4B8 AC620004 */ sw $v0, 4($v1)
/* 406FFC E011C4BC 3C02E700 */ lui $v0, 0xe700
/* 407000 E011C4C0 AC670000 */ sw $a3, ($v1)
/* 407004 E011C4C4 AC620008 */ sw $v0, 8($v1)
/* 407008 E011C4C8 AC60000C */ sw $zero, 0xc($v1)
/* 40700C E011C4CC 8FBF00B4 */ lw $ra, 0xb4($sp)
/* 407010 E011C4D0 8FB600B0 */ lw $s6, 0xb0($sp)
/* 407014 E011C4D4 8FB500AC */ lw $s5, 0xac($sp)
/* 407018 E011C4D8 8FB400A8 */ lw $s4, 0xa8($sp)
/* 40701C E011C4DC 8FB300A4 */ lw $s3, 0xa4($sp)
/* 407020 E011C4E0 8FB200A0 */ lw $s2, 0xa0($sp)
/* 407024 E011C4E4 8FB1009C */ lw $s1, 0x9c($sp)
/* 407028 E011C4E8 8FB00098 */ lw $s0, 0x98($sp)
/* 40702C E011C4EC D7B400B8 */ ldc1 $f20, 0xb8($sp)
/* 407030 E011C4F0 03E00008 */ jr $ra
/* 407034 E011C4F4 27BD00C0 */ addiu $sp, $sp, 0xc0
/* 407038 E011C4F8 00000000 */ nop
/* 40703C E011C4FC 00000000 */ nop

View File

@ -1,69 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel quizmo_assistant_main
/* 406B40 E011C000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 406B44 E011C004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 406B48 E011C008 4485A000 */ mtc1 $a1, $f20
/* 406B4C E011C00C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 406B50 E011C010 4486B000 */ mtc1 $a2, $f22
/* 406B54 E011C014 AFB20030 */ sw $s2, 0x30($sp)
/* 406B58 E011C018 0080902D */ daddu $s2, $a0, $zero
/* 406B5C E011C01C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 406B60 E011C020 4487C000 */ mtc1 $a3, $f24
/* 406B64 E011C024 27A40010 */ addiu $a0, $sp, 0x10
/* 406B68 E011C028 AFB1002C */ sw $s1, 0x2c($sp)
/* 406B6C E011C02C 8FB10064 */ lw $s1, 0x64($sp)
/* 406B70 E011C030 3C02E012 */ lui $v0, %hi(quizmo_assistant_init)
/* 406B74 E011C034 2442C0F4 */ addiu $v0, $v0, %lo(quizmo_assistant_init)
/* 406B78 E011C038 AFA20018 */ sw $v0, 0x18($sp)
/* 406B7C E011C03C 3C02E012 */ lui $v0, %hi(quizmo_assistant_update)
/* 406B80 E011C040 2442C0FC */ addiu $v0, $v0, %lo(quizmo_assistant_update)
/* 406B84 E011C044 AFA2001C */ sw $v0, 0x1c($sp)
/* 406B88 E011C048 3C02E012 */ lui $v0, %hi(quizmo_assistant_render)
/* 406B8C E011C04C 2442C17C */ addiu $v0, $v0, %lo(quizmo_assistant_render)
/* 406B90 E011C050 AFA20020 */ sw $v0, 0x20($sp)
/* 406B94 E011C054 24020080 */ addiu $v0, $zero, 0x80
/* 406B98 E011C058 AFBF0034 */ sw $ra, 0x34($sp)
/* 406B9C E011C05C AFB00028 */ sw $s0, 0x28($sp)
/* 406BA0 E011C060 AFA00010 */ sw $zero, 0x10($sp)
/* 406BA4 E011C064 AFA00024 */ sw $zero, 0x24($sp)
/* 406BA8 E011C068 0C080124 */ jal shim_create_effect_instance
/* 406BAC E011C06C AFA20014 */ sw $v0, 0x14($sp)
/* 406BB0 E011C070 24040020 */ addiu $a0, $zero, 0x20
/* 406BB4 E011C074 24030001 */ addiu $v1, $zero, 1
/* 406BB8 E011C078 0040802D */ daddu $s0, $v0, $zero
/* 406BBC E011C07C 0C08012C */ jal shim_general_heap_malloc
/* 406BC0 E011C080 AE030008 */ sw $v1, 8($s0)
/* 406BC4 E011C084 0040202D */ daddu $a0, $v0, $zero
/* 406BC8 E011C088 14800003 */ bnez $a0, .LE011C098
/* 406BCC E011C08C AE02000C */ sw $v0, 0xc($s0)
.LE011C090:
/* 406BD0 E011C090 08047024 */ j .LE011C090
/* 406BD4 E011C094 00000000 */ nop
.LE011C098:
/* 406BD8 E011C098 AC920000 */ sw $s2, ($a0)
/* 406BDC E011C09C 1E200004 */ bgtz $s1, .LE011C0B0
/* 406BE0 E011C0A0 AC800014 */ sw $zero, 0x14($a0)
/* 406BE4 E011C0A4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 406BE8 E011C0A8 0804702D */ j .LE011C0B4
/* 406BEC E011C0AC AC820010 */ sw $v0, 0x10($a0)
.LE011C0B0:
/* 406BF0 E011C0B0 AC910010 */ sw $s1, 0x10($a0)
.LE011C0B4:
/* 406BF4 E011C0B4 0200102D */ daddu $v0, $s0, $zero
/* 406BF8 E011C0B8 240300FF */ addiu $v1, $zero, 0xff
/* 406BFC E011C0BC AC830018 */ sw $v1, 0x18($a0)
/* 406C00 E011C0C0 E4940004 */ swc1 $f20, 4($a0)
/* 406C04 E011C0C4 E4960008 */ swc1 $f22, 8($a0)
/* 406C08 E011C0C8 E498000C */ swc1 $f24, 0xc($a0)
/* 406C0C E011C0CC AC80001C */ sw $zero, 0x1c($a0)
/* 406C10 E011C0D0 8FBF0034 */ lw $ra, 0x34($sp)
/* 406C14 E011C0D4 8FB20030 */ lw $s2, 0x30($sp)
/* 406C18 E011C0D8 8FB1002C */ lw $s1, 0x2c($sp)
/* 406C1C E011C0DC 8FB00028 */ lw $s0, 0x28($sp)
/* 406C20 E011C0E0 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 406C24 E011C0E4 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 406C28 E011C0E8 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 406C2C E011C0EC 03E00008 */ jr $ra
/* 406C30 E011C0F0 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,40 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel quizmo_assistant_update
/* 406C3C E011C0FC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 406C40 E011C100 AFBF0010 */ sw $ra, 0x10($sp)
/* 406C44 E011C104 8C850000 */ lw $a1, ($a0)
/* 406C48 E011C108 8C83000C */ lw $v1, 0xc($a0)
/* 406C4C E011C10C 30A20010 */ andi $v0, $a1, 0x10
/* 406C50 E011C110 10400005 */ beqz $v0, .LE011C128
/* 406C54 E011C114 2402FFEF */ addiu $v0, $zero, -0x11
/* 406C58 E011C118 00A21024 */ and $v0, $a1, $v0
/* 406C5C E011C11C AC820000 */ sw $v0, ($a0)
/* 406C60 E011C120 24020010 */ addiu $v0, $zero, 0x10
/* 406C64 E011C124 AC620010 */ sw $v0, 0x10($v1)
.LE011C128:
/* 406C68 E011C128 8C650010 */ lw $a1, 0x10($v1)
/* 406C6C E011C12C 28A203E8 */ slti $v0, $a1, 0x3e8
/* 406C70 E011C130 10400002 */ beqz $v0, .LE011C13C
/* 406C74 E011C134 24A2FFFF */ addiu $v0, $a1, -1
/* 406C78 E011C138 AC620010 */ sw $v0, 0x10($v1)
.LE011C13C:
/* 406C7C E011C13C 8C620014 */ lw $v0, 0x14($v1)
/* 406C80 E011C140 8C650010 */ lw $a1, 0x10($v1)
/* 406C84 E011C144 24420001 */ addiu $v0, $v0, 1
/* 406C88 E011C148 04A10005 */ bgez $a1, .LE011C160
/* 406C8C E011C14C AC620014 */ sw $v0, 0x14($v1)
/* 406C90 E011C150 0C080128 */ jal shim_remove_effect
/* 406C94 E011C154 00000000 */ nop
/* 406C98 E011C158 0804705C */ j .LE011C170
/* 406C9C E011C15C 00000000 */ nop
.LE011C160:
/* 406CA0 E011C160 28A20010 */ slti $v0, $a1, 0x10
/* 406CA4 E011C164 10400002 */ beqz $v0, .LE011C170
/* 406CA8 E011C168 00051100 */ sll $v0, $a1, 4
/* 406CAC E011C16C AC620018 */ sw $v0, 0x18($v1)
.LE011C170:
/* 406CB0 E011C170 8FBF0010 */ lw $ra, 0x10($sp)
/* 406CB4 E011C174 03E00008 */ jr $ra
/* 406CB8 E011C178 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,361 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel shimmer_wave_appendGfx
/* 376A40 E00745E0 27BDFF10 */ addiu $sp, $sp, -0xf0
/* 376A44 E00745E4 3C06DB06 */ lui $a2, 0xdb06
/* 376A48 E00745E8 34C60024 */ ori $a2, $a2, 0x24
/* 376A4C E00745EC AFA400F0 */ sw $a0, 0xf0($sp)
/* 376A50 E00745F0 27A40020 */ addiu $a0, $sp, 0x20
/* 376A54 E00745F4 AFB100B4 */ sw $s1, 0xb4($sp)
/* 376A58 E00745F8 3C110001 */ lui $s1, 1
/* 376A5C E00745FC 36311630 */ ori $s1, $s1, 0x1630
/* 376A60 E0074600 AFB500C4 */ sw $s5, 0xc4($sp)
/* 376A64 E0074604 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 376A68 E0074608 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 376A6C E007460C AFBF00D4 */ sw $ra, 0xd4($sp)
/* 376A70 E0074610 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 376A74 E0074614 AFB700CC */ sw $s7, 0xcc($sp)
/* 376A78 E0074618 AFB600C8 */ sw $s6, 0xc8($sp)
/* 376A7C E007461C AFB400C0 */ sw $s4, 0xc0($sp)
/* 376A80 E0074620 AFB300BC */ sw $s3, 0xbc($sp)
/* 376A84 E0074624 AFB200B8 */ sw $s2, 0xb8($sp)
/* 376A88 E0074628 AFB000B0 */ sw $s0, 0xb0($sp)
/* 376A8C E007462C F7B800E8 */ sdc1 $f24, 0xe8($sp)
/* 376A90 E0074630 F7B600E0 */ sdc1 $f22, 0xe0($sp)
/* 376A94 E0074634 F7B400D8 */ sdc1 $f20, 0xd8($sp)
/* 376A98 E0074638 8EA50000 */ lw $a1, ($s5)
/* 376A9C E007463C 8FAA00F0 */ lw $t2, 0xf0($sp)
/* 376AA0 E0074640 00A0182D */ daddu $v1, $a1, $zero
/* 376AA4 E0074644 8D52000C */ lw $s2, 0xc($t2)
/* 376AA8 E0074648 24A50008 */ addiu $a1, $a1, 8
/* 376AAC E007464C AEA50000 */ sw $a1, ($s5)
/* 376AB0 E0074650 8E4A0050 */ lw $t2, 0x50($s2)
/* 376AB4 E0074654 C642004C */ lwc1 $f2, 0x4c($s2)
/* 376AB8 E0074658 468010A0 */ cvt.s.w $f2, $f2
/* 376ABC E007465C AFAA00A0 */ sw $t2, 0xa0($sp)
/* 376AC0 E0074660 8E4A0054 */ lw $t2, 0x54($s2)
/* 376AC4 E0074664 24130001 */ addiu $s3, $zero, 1
/* 376AC8 E0074668 AFAA00A4 */ sw $t2, 0xa4($sp)
/* 376ACC E007466C 8E4A0058 */ lw $t2, 0x58($s2)
/* 376AD0 E0074670 3C02E700 */ lui $v0, 0xe700
/* 376AD4 E0074674 AFAA00A8 */ sw $t2, 0xa8($sp)
/* 376AD8 E0074678 AC620000 */ sw $v0, ($v1)
/* 376ADC E007467C AC600004 */ sw $zero, 4($v1)
/* 376AE0 E0074680 ACA60000 */ sw $a2, ($a1)
/* 376AE4 E0074684 8FAA00F0 */ lw $t2, 0xf0($sp)
/* 376AE8 E0074688 3C01437F */ lui $at, 0x437f
/* 376AEC E007468C 44810000 */ mtc1 $at, $f0
/* 376AF0 E0074690 8D430010 */ lw $v1, 0x10($t2)
/* 376AF4 E0074694 24A20008 */ addiu $v0, $a1, 8
/* 376AF8 E0074698 AEA20000 */ sw $v0, ($s5)
/* 376AFC E007469C 8C62001C */ lw $v0, 0x1c($v1)
/* 376B00 E00746A0 3C038000 */ lui $v1, 0x8000
/* 376B04 E00746A4 00431021 */ addu $v0, $v0, $v1
/* 376B08 E00746A8 ACA20004 */ sw $v0, 4($a1)
/* 376B0C E00746AC 8E450004 */ lw $a1, 4($s2)
/* 376B10 E00746B0 8E460008 */ lw $a2, 8($s2)
/* 376B14 E00746B4 8E47000C */ lw $a3, 0xc($s2)
/* 376B18 E00746B8 0C080108 */ jal shim_guTranslateF
/* 376B1C E00746BC 46001503 */ div.s $f20, $f2, $f0
/* 376B20 E00746C0 27B00060 */ addiu $s0, $sp, 0x60
/* 376B24 E00746C4 8E450060 */ lw $a1, 0x60($s2)
/* 376B28 E00746C8 0200202D */ daddu $a0, $s0, $zero
/* 376B2C E00746CC 00A0302D */ daddu $a2, $a1, $zero
/* 376B30 E00746D0 0C080110 */ jal shim_guScaleF
/* 376B34 E00746D4 00A0382D */ daddu $a3, $a1, $zero
/* 376B38 E00746D8 0200202D */ daddu $a0, $s0, $zero
/* 376B3C E00746DC 27A50020 */ addiu $a1, $sp, 0x20
/* 376B40 E00746E0 0C080114 */ jal shim_guMtxCatF
/* 376B44 E00746E4 00A0302D */ daddu $a2, $a1, $zero
/* 376B48 E00746E8 27A40020 */ addiu $a0, $sp, 0x20
/* 376B4C E00746EC 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 376B50 E00746F0 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 376B54 E00746F4 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 376B58 E00746F8 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 376B5C E00746FC 96050000 */ lhu $a1, ($s0)
/* 376B60 E0074700 8EC20000 */ lw $v0, ($s6)
/* 376B64 E0074704 00052980 */ sll $a1, $a1, 6
/* 376B68 E0074708 00B12821 */ addu $a1, $a1, $s1
/* 376B6C E007470C 0C080118 */ jal shim_guMtxF2L
/* 376B70 E0074710 00452821 */ addu $a1, $v0, $a1
/* 376B74 E0074714 3C03DA38 */ lui $v1, 0xda38
/* 376B78 E0074718 34630002 */ ori $v1, $v1, 2
/* 376B7C E007471C 8EA40000 */ lw $a0, ($s5)
/* 376B80 E0074720 96020000 */ lhu $v0, ($s0)
/* 376B84 E0074724 0080282D */ daddu $a1, $a0, $zero
/* 376B88 E0074728 24840008 */ addiu $a0, $a0, 8
/* 376B8C E007472C AEA40000 */ sw $a0, ($s5)
/* 376B90 E0074730 ACA30000 */ sw $v1, ($a1)
/* 376B94 E0074734 00531821 */ addu $v1, $v0, $s3
/* 376B98 E0074738 3042FFFF */ andi $v0, $v0, 0xffff
/* 376B9C E007473C 00021180 */ sll $v0, $v0, 6
/* 376BA0 E0074740 00511021 */ addu $v0, $v0, $s1
/* 376BA4 E0074744 A6030000 */ sh $v1, ($s0)
/* 376BA8 E0074748 8EC30000 */ lw $v1, ($s6)
/* 376BAC E007474C 24870010 */ addiu $a3, $a0, 0x10
/* 376BB0 E0074750 00621821 */ addu $v1, $v1, $v0
/* 376BB4 E0074754 24820008 */ addiu $v0, $a0, 8
/* 376BB8 E0074758 ACA30004 */ sw $v1, 4($a1)
/* 376BBC E007475C AEA20000 */ sw $v0, ($s5)
/* 376BC0 E0074760 3C02FB00 */ lui $v0, 0xfb00
/* 376BC4 E0074764 AC820000 */ sw $v0, ($a0)
/* 376BC8 E0074768 92430043 */ lbu $v1, 0x43($s2)
/* 376BCC E007476C 92450047 */ lbu $a1, 0x47($s2)
/* 376BD0 E0074770 9246004B */ lbu $a2, 0x4b($s2)
/* 376BD4 E0074774 9248005F */ lbu $t0, 0x5f($s2)
/* 376BD8 E0074778 3C02DE00 */ lui $v0, 0xde00
/* 376BDC E007477C AEA70000 */ sw $a3, ($s5)
/* 376BE0 E0074780 AC820008 */ sw $v0, 8($a0)
/* 376BE4 E0074784 3C020900 */ lui $v0, 0x900
/* 376BE8 E0074788 24420F20 */ addiu $v0, $v0, 0xf20
/* 376BEC E007478C AC82000C */ sw $v0, 0xc($a0)
/* 376BF0 E0074790 24820018 */ addiu $v0, $a0, 0x18
/* 376BF4 E0074794 AEA20000 */ sw $v0, ($s5)
/* 376BF8 E0074798 00031E00 */ sll $v1, $v1, 0x18
/* 376BFC E007479C 00052C00 */ sll $a1, $a1, 0x10
/* 376C00 E00747A0 00651825 */ or $v1, $v1, $a1
/* 376C04 E00747A4 00063200 */ sll $a2, $a2, 8
/* 376C08 E00747A8 00661825 */ or $v1, $v1, $a2
/* 376C0C E00747AC 00681825 */ or $v1, $v1, $t0
/* 376C10 E00747B0 AC830004 */ sw $v1, 4($a0)
/* 376C14 E00747B4 8FAA00F0 */ lw $t2, 0xf0($sp)
/* 376C18 E00747B8 00E0A02D */ daddu $s4, $a3, $zero
/* 376C1C E00747BC 8D420008 */ lw $v0, 8($t2)
/* 376C20 E00747C0 0262102A */ slt $v0, $s3, $v0
/* 376C24 E00747C4 1040006E */ beqz $v0, .LE0074980
/* 376C28 E00747C8 2652006C */ addiu $s2, $s2, 0x6c
/* 376C2C E00747CC 02C0F02D */ daddu $fp, $s6, $zero
/* 376C30 E00747D0 0200B82D */ daddu $s7, $s0, $zero
/* 376C34 E00747D4 3C160001 */ lui $s6, 1
/* 376C38 E00747D8 36D61630 */ ori $s6, $s6, 0x1630
/* 376C3C E00747DC 02A0882D */ daddu $s1, $s5, $zero
/* 376C40 E00747E0 2650004C */ addiu $s0, $s2, 0x4c
/* 376C44 E00747E4 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 376C48 E00747E8 4480C000 */ mtc1 $zero, $f24
/* 376C4C E00747EC 000A1600 */ sll $v0, $t2, 0x18
/* 376C50 E00747F0 8FAA00A4 */ lw $t2, 0xa4($sp)
/* 376C54 E00747F4 3C014F00 */ lui $at, 0x4f00
/* 376C58 E00747F8 4481B000 */ mtc1 $at, $f22
/* 376C5C E00747FC 314300FF */ andi $v1, $t2, 0xff
/* 376C60 E0074800 00031C00 */ sll $v1, $v1, 0x10
/* 376C64 E0074804 8FAA00A8 */ lw $t2, 0xa8($sp)
/* 376C68 E0074808 00431025 */ or $v0, $v0, $v1
/* 376C6C E007480C 314300FF */ andi $v1, $t2, 0xff
/* 376C70 E0074810 00031A00 */ sll $v1, $v1, 8
/* 376C74 E0074814 0043A825 */ or $s5, $v0, $v1
.LE0074818:
/* 376C78 E0074818 8E02FFE4 */ lw $v0, -0x1c($s0)
/* 376C7C E007481C 04400052 */ bltz $v0, .LE0074968
/* 376C80 E0074820 00000000 */ nop
/* 376C84 E0074824 C6000014 */ lwc1 $f0, 0x14($s0)
/* 376C88 E0074828 46140002 */ mul.s $f0, $f0, $f20
/* 376C8C E007482C 00000000 */ nop
/* 376C90 E0074830 4405C000 */ mfc1 $a1, $f24
/* 376C94 E0074834 4406C000 */ mfc1 $a2, $f24
/* 376C98 E0074838 E7A00010 */ swc1 $f0, 0x10($sp)
/* 376C9C E007483C C600FFB8 */ lwc1 $f0, -0x48($s0)
/* 376CA0 E0074840 E7A00014 */ swc1 $f0, 0x14($sp)
/* 376CA4 E0074844 C600FFBC */ lwc1 $f0, -0x44($s0)
/* 376CA8 E0074848 E7A00018 */ swc1 $f0, 0x18($sp)
/* 376CAC E007484C C600FFC0 */ lwc1 $f0, -0x40($s0)
/* 376CB0 E0074850 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 376CB4 E0074854 8E07FFE8 */ lw $a3, -0x18($s0)
/* 376CB8 E0074858 0C080180 */ jal shim_guPositionF
/* 376CBC E007485C 27A40020 */ addiu $a0, $sp, 0x20
/* 376CC0 E0074860 27A40020 */ addiu $a0, $sp, 0x20
/* 376CC4 E0074864 96E50000 */ lhu $a1, ($s7)
/* 376CC8 E0074868 8FC20000 */ lw $v0, ($fp)
/* 376CCC E007486C 00052980 */ sll $a1, $a1, 6
/* 376CD0 E0074870 00B62821 */ addu $a1, $a1, $s6
/* 376CD4 E0074874 0C080118 */ jal shim_guMtxF2L
/* 376CD8 E0074878 00452821 */ addu $a1, $v0, $a1
/* 376CDC E007487C 8E240000 */ lw $a0, ($s1)
/* 376CE0 E0074880 0080302D */ daddu $a2, $a0, $zero
/* 376CE4 E0074884 24840008 */ addiu $a0, $a0, 8
/* 376CE8 E0074888 AE240000 */ sw $a0, ($s1)
/* 376CEC E007488C 96E50000 */ lhu $a1, ($s7)
/* 376CF0 E0074890 3C02DA38 */ lui $v0, 0xda38
/* 376CF4 E0074894 ACC20000 */ sw $v0, ($a2)
/* 376CF8 E0074898 8FC30000 */ lw $v1, ($fp)
/* 376CFC E007489C 30A2FFFF */ andi $v0, $a1, 0xffff
/* 376D00 E00748A0 00021180 */ sll $v0, $v0, 6
/* 376D04 E00748A4 00561021 */ addu $v0, $v0, $s6
/* 376D08 E00748A8 00621821 */ addu $v1, $v1, $v0
/* 376D0C E00748AC 3C02FA00 */ lui $v0, 0xfa00
/* 376D10 E00748B0 24A50001 */ addiu $a1, $a1, 1
/* 376D14 E00748B4 ACC30004 */ sw $v1, 4($a2)
/* 376D18 E00748B8 AC820000 */ sw $v0, ($a0)
/* 376D1C E00748BC C6000000 */ lwc1 $f0, ($s0)
/* 376D20 E00748C0 46800020 */ cvt.s.w $f0, $f0
/* 376D24 E00748C4 46140002 */ mul.s $f0, $f0, $f20
/* 376D28 E00748C8 00000000 */ nop
/* 376D2C E00748CC 24820008 */ addiu $v0, $a0, 8
/* 376D30 E00748D0 24840004 */ addiu $a0, $a0, 4
/* 376D34 E00748D4 A6E50000 */ sh $a1, ($s7)
/* 376D38 E00748D8 4600B03E */ c.le.s $f22, $f0
/* 376D3C E00748DC 00000000 */ nop
/* 376D40 E00748E0 45010005 */ bc1t .LE00748F8
/* 376D44 E00748E4 AE220000 */ sw $v0, ($s1)
/* 376D48 E00748E8 4600010D */ trunc.w.s $f4, $f0
/* 376D4C E00748EC 44052000 */ mfc1 $a1, $f4
/* 376D50 E00748F0 0801D245 */ j .LE0074914
/* 376D54 E00748F4 3C06D838 */ lui $a2, 0xd838
.LE00748F8:
/* 376D58 E00748F8 46160001 */ sub.s $f0, $f0, $f22
/* 376D5C E00748FC 3C028000 */ lui $v0, 0x8000
/* 376D60 E0074900 4600010D */ trunc.w.s $f4, $f0
/* 376D64 E0074904 44052000 */ mfc1 $a1, $f4
/* 376D68 E0074908 00000000 */ nop
/* 376D6C E007490C 00A22825 */ or $a1, $a1, $v0
/* 376D70 E0074910 3C06D838 */ lui $a2, 0xd838
.LE0074914:
/* 376D74 E0074914 34C60002 */ ori $a2, $a2, 2
/* 376D78 E0074918 30A200FF */ andi $v0, $a1, 0xff
/* 376D7C E007491C 8E230000 */ lw $v1, ($s1)
/* 376D80 E0074920 02A21025 */ or $v0, $s5, $v0
/* 376D84 E0074924 AC820000 */ sw $v0, ($a0)
/* 376D88 E0074928 3C02DE00 */ lui $v0, 0xde00
/* 376D8C E007492C 0060282D */ daddu $a1, $v1, $zero
/* 376D90 E0074930 24630008 */ addiu $v1, $v1, 8
/* 376D94 E0074934 AE230000 */ sw $v1, ($s1)
/* 376D98 E0074938 ACA20000 */ sw $v0, ($a1)
/* 376D9C E007493C 32620007 */ andi $v0, $s3, 7
/* 376DA0 E0074940 00021080 */ sll $v0, $v0, 2
/* 376DA4 E0074944 3C04E007 */ lui $a0, %hi(D_E0074B60)
/* 376DA8 E0074948 00822021 */ addu $a0, $a0, $v0
/* 376DAC E007494C 8C844B60 */ lw $a0, %lo(D_E0074B60)($a0)
/* 376DB0 E0074950 24620008 */ addiu $v0, $v1, 8
/* 376DB4 E0074954 AE220000 */ sw $v0, ($s1)
/* 376DB8 E0074958 24020040 */ addiu $v0, $zero, 0x40
/* 376DBC E007495C ACA40004 */ sw $a0, 4($a1)
/* 376DC0 E0074960 AC660000 */ sw $a2, ($v1)
/* 376DC4 E0074964 AC620004 */ sw $v0, 4($v1)
.LE0074968:
/* 376DC8 E0074968 8FAA00F0 */ lw $t2, 0xf0($sp)
/* 376DCC E007496C 26730001 */ addiu $s3, $s3, 1
/* 376DD0 E0074970 8D420008 */ lw $v0, 8($t2)
/* 376DD4 E0074974 0262102A */ slt $v0, $s3, $v0
/* 376DD8 E0074978 1440FFA7 */ bnez $v0, .LE0074818
/* 376DDC E007497C 2610006C */ addiu $s0, $s0, 0x6c
.LE0074980:
/* 376DE0 E0074980 27A40020 */ addiu $a0, $sp, 0x20
/* 376DE4 E0074984 3C150001 */ lui $s5, 1
/* 376DE8 E0074988 36B51630 */ ori $s5, $s5, 0x1630
/* 376DEC E007498C 3C1ED838 */ lui $fp, 0xd838
/* 376DF0 E0074990 37DE0002 */ ori $fp, $fp, 2
/* 376DF4 E0074994 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 376DF8 E0074998 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 376DFC E007499C 3C02DF00 */ lui $v0, 0xdf00
/* 376E00 E00749A0 3C16DE00 */ lui $s6, 0xde00
/* 376E04 E00749A4 8E030000 */ lw $v1, ($s0)
/* 376E08 E00749A8 3C0542F0 */ lui $a1, 0x42f0
/* 376E0C E00749AC 4480A000 */ mtc1 $zero, $f20
/* 376E10 E00749B0 3C013F80 */ lui $at, 0x3f80
/* 376E14 E00749B4 4481B000 */ mtc1 $at, $f22
/* 376E18 E00749B8 0060402D */ daddu $t0, $v1, $zero
/* 376E1C E00749BC 4406A000 */ mfc1 $a2, $f20
/* 376E20 E00749C0 4407B000 */ mfc1 $a3, $f22
/* 376E24 E00749C4 24630008 */ addiu $v1, $v1, 8
/* 376E28 E00749C8 AE030000 */ sw $v1, ($s0)
/* 376E2C E00749CC AD020000 */ sw $v0, ($t0)
/* 376E30 E00749D0 3C02DE01 */ lui $v0, 0xde01
/* 376E34 E00749D4 AD000004 */ sw $zero, 4($t0)
/* 376E38 E00749D8 AE820000 */ sw $v0, ($s4)
/* 376E3C E00749DC 24620008 */ addiu $v0, $v1, 8
/* 376E40 E00749E0 AE830004 */ sw $v1, 4($s4)
/* 376E44 E00749E4 26940008 */ addiu $s4, $s4, 8
/* 376E48 E00749E8 AE020000 */ sw $v0, ($s0)
/* 376E4C E00749EC AC760000 */ sw $s6, ($v1)
/* 376E50 E00749F0 AC740004 */ sw $s4, 4($v1)
/* 376E54 E00749F4 0C080104 */ jal shim_guRotateF
/* 376E58 E00749F8 E7B40010 */ swc1 $f20, 0x10($sp)
/* 376E5C E00749FC 27A40020 */ addiu $a0, $sp, 0x20
/* 376E60 E0074A00 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 376E64 E0074A04 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 376E68 E0074A08 3C13800A */ lui $s3, %hi(gDisplayContext)
/* 376E6C E0074A0C 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext)
/* 376E70 E0074A10 96250000 */ lhu $a1, ($s1)
/* 376E74 E0074A14 8E620000 */ lw $v0, ($s3)
/* 376E78 E0074A18 00052980 */ sll $a1, $a1, 6
/* 376E7C E0074A1C 00B52821 */ addu $a1, $a1, $s5
/* 376E80 E0074A20 0C080118 */ jal shim_guMtxF2L
/* 376E84 E0074A24 00452821 */ addu $a1, $v0, $a1
/* 376E88 E0074A28 27A40020 */ addiu $a0, $sp, 0x20
/* 376E8C E0074A2C 3C17DA38 */ lui $s7, 0xda38
/* 376E90 E0074A30 8E080000 */ lw $t0, ($s0)
/* 376E94 E0074A34 3C05C2F0 */ lui $a1, 0xc2f0
/* 376E98 E0074A38 4406A000 */ mfc1 $a2, $f20
/* 376E9C E0074A3C 4407B000 */ mfc1 $a3, $f22
/* 376EA0 E0074A40 0100482D */ daddu $t1, $t0, $zero
/* 376EA4 E0074A44 25080008 */ addiu $t0, $t0, 8
/* 376EA8 E0074A48 AE080000 */ sw $t0, ($s0)
/* 376EAC E0074A4C 96220000 */ lhu $v0, ($s1)
/* 376EB0 E0074A50 24120040 */ addiu $s2, $zero, 0x40
/* 376EB4 E0074A54 AD370000 */ sw $s7, ($t1)
/* 376EB8 E0074A58 24430001 */ addiu $v1, $v0, 1
/* 376EBC E0074A5C 3042FFFF */ andi $v0, $v0, 0xffff
/* 376EC0 E0074A60 00021180 */ sll $v0, $v0, 6
/* 376EC4 E0074A64 A6230000 */ sh $v1, ($s1)
/* 376EC8 E0074A68 8E630000 */ lw $v1, ($s3)
/* 376ECC E0074A6C 00551021 */ addu $v0, $v0, $s5
/* 376ED0 E0074A70 00621821 */ addu $v1, $v1, $v0
/* 376ED4 E0074A74 25020008 */ addiu $v0, $t0, 8
/* 376ED8 E0074A78 AD230004 */ sw $v1, 4($t1)
/* 376EDC E0074A7C AE020000 */ sw $v0, ($s0)
/* 376EE0 E0074A80 25020010 */ addiu $v0, $t0, 0x10
/* 376EE4 E0074A84 AD160000 */ sw $s6, ($t0)
/* 376EE8 E0074A88 AD140004 */ sw $s4, 4($t0)
/* 376EEC E0074A8C AE020000 */ sw $v0, ($s0)
/* 376EF0 E0074A90 AD1E0008 */ sw $fp, 8($t0)
/* 376EF4 E0074A94 AD12000C */ sw $s2, 0xc($t0)
/* 376EF8 E0074A98 0C080104 */ jal shim_guRotateF
/* 376EFC E0074A9C AFA60010 */ sw $a2, 0x10($sp)
/* 376F00 E0074AA0 27A40020 */ addiu $a0, $sp, 0x20
/* 376F04 E0074AA4 96250000 */ lhu $a1, ($s1)
/* 376F08 E0074AA8 8E620000 */ lw $v0, ($s3)
/* 376F0C E0074AAC 00052980 */ sll $a1, $a1, 6
/* 376F10 E0074AB0 00B52821 */ addu $a1, $a1, $s5
/* 376F14 E0074AB4 0C080118 */ jal shim_guMtxF2L
/* 376F18 E0074AB8 00452821 */ addu $a1, $v0, $a1
/* 376F1C E0074ABC 8E040000 */ lw $a0, ($s0)
/* 376F20 E0074AC0 96220000 */ lhu $v0, ($s1)
/* 376F24 E0074AC4 0080282D */ daddu $a1, $a0, $zero
/* 376F28 E0074AC8 24840008 */ addiu $a0, $a0, 8
/* 376F2C E0074ACC 24430001 */ addiu $v1, $v0, 1
/* 376F30 E0074AD0 3042FFFF */ andi $v0, $v0, 0xffff
/* 376F34 E0074AD4 00021180 */ sll $v0, $v0, 6
/* 376F38 E0074AD8 AE040000 */ sw $a0, ($s0)
/* 376F3C E0074ADC ACB70000 */ sw $s7, ($a1)
/* 376F40 E0074AE0 A6230000 */ sh $v1, ($s1)
/* 376F44 E0074AE4 8E630000 */ lw $v1, ($s3)
/* 376F48 E0074AE8 00551021 */ addu $v0, $v0, $s5
/* 376F4C E0074AEC 00621821 */ addu $v1, $v1, $v0
/* 376F50 E0074AF0 24820008 */ addiu $v0, $a0, 8
/* 376F54 E0074AF4 ACA30004 */ sw $v1, 4($a1)
/* 376F58 E0074AF8 AE020000 */ sw $v0, ($s0)
/* 376F5C E0074AFC 24820010 */ addiu $v0, $a0, 0x10
/* 376F60 E0074B00 AC960000 */ sw $s6, ($a0)
/* 376F64 E0074B04 AC940004 */ sw $s4, 4($a0)
/* 376F68 E0074B08 AE020000 */ sw $v0, ($s0)
/* 376F6C E0074B0C 24820018 */ addiu $v0, $a0, 0x18
/* 376F70 E0074B10 AC9E0008 */ sw $fp, 8($a0)
/* 376F74 E0074B14 AC92000C */ sw $s2, 0xc($a0)
/* 376F78 E0074B18 AE020000 */ sw $v0, ($s0)
/* 376F7C E0074B1C AC9E0010 */ sw $fp, 0x10($a0)
/* 376F80 E0074B20 AC920014 */ sw $s2, 0x14($a0)
/* 376F84 E0074B24 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 376F88 E0074B28 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 376F8C E0074B2C 8FB700CC */ lw $s7, 0xcc($sp)
/* 376F90 E0074B30 8FB600C8 */ lw $s6, 0xc8($sp)
/* 376F94 E0074B34 8FB500C4 */ lw $s5, 0xc4($sp)
/* 376F98 E0074B38 8FB400C0 */ lw $s4, 0xc0($sp)
/* 376F9C E0074B3C 8FB300BC */ lw $s3, 0xbc($sp)
/* 376FA0 E0074B40 8FB200B8 */ lw $s2, 0xb8($sp)
/* 376FA4 E0074B44 8FB100B4 */ lw $s1, 0xb4($sp)
/* 376FA8 E0074B48 8FB000B0 */ lw $s0, 0xb0($sp)
/* 376FAC E0074B4C D7B800E8 */ ldc1 $f24, 0xe8($sp)
/* 376FB0 E0074B50 D7B600E0 */ ldc1 $f22, 0xe0($sp)
/* 376FB4 E0074B54 D7B400D8 */ ldc1 $f20, 0xd8($sp)
/* 376FB8 E0074B58 03E00008 */ jr $ra
/* 376FBC E0074B5C 27BD00F0 */ addiu $sp, $sp, 0xf0

View File

@ -1,132 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel shimmer_wave_main
/* 376460 E0074000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 376464 E0074004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 376468 E0074008 4485A000 */ mtc1 $a1, $f20
/* 37646C E007400C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 376470 E0074010 4486B000 */ mtc1 $a2, $f22
/* 376474 E0074014 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 376478 E0074018 4487C000 */ mtc1 $a3, $f24
/* 37647C E007401C AFB30034 */ sw $s3, 0x34($sp)
/* 376480 E0074020 0080982D */ daddu $s3, $a0, $zero
/* 376484 E0074024 AFB00028 */ sw $s0, 0x28($sp)
/* 376488 E0074028 8FB00070 */ lw $s0, 0x70($sp)
/* 37648C E007402C 27A40010 */ addiu $a0, $sp, 0x10
/* 376490 E0074030 AFB20030 */ sw $s2, 0x30($sp)
/* 376494 E0074034 8FB20074 */ lw $s2, 0x74($sp)
/* 376498 E0074038 3C02E007 */ lui $v0, %hi(shimmer_wave_init)
/* 37649C E007403C 244241E0 */ addiu $v0, $v0, %lo(shimmer_wave_init)
/* 3764A0 E0074040 AFA20018 */ sw $v0, 0x18($sp)
/* 3764A4 E0074044 3C02E007 */ lui $v0, %hi(shimmer_wave_update)
/* 3764A8 E0074048 244241E8 */ addiu $v0, $v0, %lo(shimmer_wave_update)
/* 3764AC E007404C AFA2001C */ sw $v0, 0x1c($sp)
/* 3764B0 E0074050 3C02E007 */ lui $v0, %hi(shimmer_wave_render)
/* 3764B4 E0074054 24424598 */ addiu $v0, $v0, %lo(shimmer_wave_render)
/* 3764B8 E0074058 AFA20020 */ sw $v0, 0x20($sp)
/* 3764BC E007405C 2402003A */ addiu $v0, $zero, 0x3a
/* 3764C0 E0074060 AFBF0038 */ sw $ra, 0x38($sp)
/* 3764C4 E0074064 AFB1002C */ sw $s1, 0x2c($sp)
/* 3764C8 E0074068 AFA00010 */ sw $zero, 0x10($sp)
/* 3764CC E007406C AFA00024 */ sw $zero, 0x24($sp)
/* 3764D0 E0074070 AFA20014 */ sw $v0, 0x14($sp)
/* 3764D4 E0074074 0C080124 */ jal shim_create_effect_instance
/* 3764D8 E0074078 26100001 */ addiu $s0, $s0, 1
/* 3764DC E007407C 001020C0 */ sll $a0, $s0, 3
/* 3764E0 E0074080 00902023 */ subu $a0, $a0, $s0
/* 3764E4 E0074084 00042080 */ sll $a0, $a0, 2
/* 3764E8 E0074088 00902023 */ subu $a0, $a0, $s0
/* 3764EC E007408C 00042080 */ sll $a0, $a0, 2
/* 3764F0 E0074090 0040882D */ daddu $s1, $v0, $zero
/* 3764F4 E0074094 0C08012C */ jal shim_general_heap_malloc
/* 3764F8 E0074098 AE300008 */ sw $s0, 8($s1)
/* 3764FC E007409C 0040202D */ daddu $a0, $v0, $zero
/* 376500 E00740A0 14800003 */ bnez $a0, .LE00740B0
/* 376504 E00740A4 AE24000C */ sw $a0, 0xc($s1)
.LE00740A8:
/* 376508 E00740A8 0801D02A */ j .LE00740A8
/* 37650C E00740AC 00000000 */ nop
.LE00740B0:
/* 376510 E00740B0 AC930000 */ sw $s3, ($a0)
/* 376514 E00740B4 1E400004 */ bgtz $s2, .LE00740C8
/* 376518 E00740B8 AC80003C */ sw $zero, 0x3c($a0)
/* 37651C E00740BC 240203E8 */ addiu $v0, $zero, 0x3e8
/* 376520 E00740C0 0801D033 */ j .LE00740CC
/* 376524 E00740C4 AC820038 */ sw $v0, 0x38($a0)
.LE00740C8:
/* 376528 E00740C8 AC920038 */ sw $s2, 0x38($a0)
.LE00740CC:
/* 37652C E00740CC 3C013F80 */ lui $at, 0x3f80
/* 376530 E00740D0 44810000 */ mtc1 $at, $f0
/* 376534 E00740D4 240300FF */ addiu $v1, $zero, 0xff
/* 376538 E00740D8 AC83004C */ sw $v1, 0x4c($a0)
/* 37653C E00740DC E4940004 */ swc1 $f20, 4($a0)
/* 376540 E00740E0 E4960008 */ swc1 $f22, 8($a0)
/* 376544 E00740E4 E498000C */ swc1 $f24, 0xc($a0)
/* 376548 E00740E8 E4800060 */ swc1 $f0, 0x60($a0)
/* 37654C E00740EC C7A00068 */ lwc1 $f0, 0x68($sp)
/* 376550 E00740F0 E4800010 */ swc1 $f0, 0x10($a0)
/* 376554 E00740F4 C7A0006C */ lwc1 $f0, 0x6c($sp)
/* 376558 E00740F8 2402007F */ addiu $v0, $zero, 0x7f
/* 37655C E00740FC AC820058 */ sw $v0, 0x58($a0)
/* 376560 E0074100 2A420014 */ slti $v0, $s2, 0x14
/* 376564 E0074104 AC830040 */ sw $v1, 0x40($a0)
/* 376568 E0074108 AC830044 */ sw $v1, 0x44($a0)
/* 37656C E007410C AC830048 */ sw $v1, 0x48($a0)
/* 376570 E0074110 AC830050 */ sw $v1, 0x50($a0)
/* 376574 E0074114 AC830054 */ sw $v1, 0x54($a0)
/* 376578 E0074118 AC83005C */ sw $v1, 0x5c($a0)
/* 37657C E007411C E4800014 */ swc1 $f0, 0x14($a0)
/* 376580 E0074120 10400009 */ beqz $v0, .LE0074148
/* 376584 E0074124 2484006C */ addiu $a0, $a0, 0x6c
/* 376588 E0074128 2602FFFF */ addiu $v0, $s0, -1
/* 37658C E007412C 3C0141A0 */ lui $at, 0x41a0
/* 376590 E0074130 44811000 */ mtc1 $at, $f2
/* 376594 E0074134 44820000 */ mtc1 $v0, $f0
/* 376598 E0074138 00000000 */ nop
/* 37659C E007413C 46800020 */ cvt.s.w $f0, $f0
/* 3765A0 E0074140 0801D05A */ j .LE0074168
/* 3765A4 E0074144 46001083 */ div.s $f2, $f2, $f0
.LE0074148:
/* 3765A8 E0074148 44920000 */ mtc1 $s2, $f0
/* 3765AC E007414C 00000000 */ nop
/* 3765B0 E0074150 46800020 */ cvt.s.w $f0, $f0
/* 3765B4 E0074154 2602FFFF */ addiu $v0, $s0, -1
/* 3765B8 E0074158 44821000 */ mtc1 $v0, $f2
/* 3765BC E007415C 00000000 */ nop
/* 3765C0 E0074160 468010A0 */ cvt.s.w $f2, $f2
/* 3765C4 E0074164 46020083 */ div.s $f2, $f0, $f2
.LE0074168:
/* 3765C8 E0074168 24030001 */ addiu $v1, $zero, 1
/* 3765CC E007416C 0070102A */ slt $v0, $v1, $s0
/* 3765D0 E0074170 10400011 */ beqz $v0, .LE00741B8
/* 3765D4 E0074174 0220102D */ daddu $v0, $s1, $zero
.LE0074178:
/* 3765D8 E0074178 44830000 */ mtc1 $v1, $f0
/* 3765DC E007417C 00000000 */ nop
/* 3765E0 E0074180 46800020 */ cvt.s.w $f0, $f0
/* 3765E4 E0074184 46000007 */ neg.s $f0, $f0
/* 3765E8 E0074188 46020002 */ mul.s $f0, $f0, $f2
/* 3765EC E007418C 00000000 */ nop
/* 3765F0 E0074190 24630001 */ addiu $v1, $v1, 1
/* 3765F4 E0074194 4600010D */ trunc.w.s $f4, $f0
/* 3765F8 E0074198 44022000 */ mfc1 $v0, $f4
/* 3765FC E007419C 00000000 */ nop
/* 376600 E00741A0 2442FFFF */ addiu $v0, $v0, -1
/* 376604 E00741A4 AC820030 */ sw $v0, 0x30($a0)
/* 376608 E00741A8 0070102A */ slt $v0, $v1, $s0
/* 37660C E00741AC 1440FFF2 */ bnez $v0, .LE0074178
/* 376610 E00741B0 2484006C */ addiu $a0, $a0, 0x6c
/* 376614 E00741B4 0220102D */ daddu $v0, $s1, $zero
.LE00741B8:
/* 376618 E00741B8 8FBF0038 */ lw $ra, 0x38($sp)
/* 37661C E00741BC 8FB30034 */ lw $s3, 0x34($sp)
/* 376620 E00741C0 8FB20030 */ lw $s2, 0x30($sp)
/* 376624 E00741C4 8FB1002C */ lw $s1, 0x2c($sp)
/* 376628 E00741C8 8FB00028 */ lw $s0, 0x28($sp)
/* 37662C E00741CC D7B80050 */ ldc1 $f24, 0x50($sp)
/* 376630 E00741D0 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 376634 E00741D4 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 376638 E00741D8 03E00008 */ jr $ra
/* 37663C E00741DC 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,265 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0074BF0
.double 0.04
dlabel D_E0074BF8
.double 0.4
dlabel D_E0074C00
.double 0.2
dlabel D_E0074C08
.double 0.6
.section .text
glabel shimmer_wave_update
/* 376648 E00741E8 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 37664C E00741EC AFB20020 */ sw $s2, 0x20($sp)
/* 376650 E00741F0 0080902D */ daddu $s2, $a0, $zero
/* 376654 E00741F4 AFBF0028 */ sw $ra, 0x28($sp)
/* 376658 E00741F8 AFB30024 */ sw $s3, 0x24($sp)
/* 37665C E00741FC AFB1001C */ sw $s1, 0x1c($sp)
/* 376660 E0074200 AFB00018 */ sw $s0, 0x18($sp)
/* 376664 E0074204 F7BE0058 */ sdc1 $f30, 0x58($sp)
/* 376668 E0074208 F7BC0050 */ sdc1 $f28, 0x50($sp)
/* 37666C E007420C F7BA0048 */ sdc1 $f26, 0x48($sp)
/* 376670 E0074210 F7B80040 */ sdc1 $f24, 0x40($sp)
/* 376674 E0074214 F7B60038 */ sdc1 $f22, 0x38($sp)
/* 376678 E0074218 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 37667C E007421C 8E440000 */ lw $a0, ($s2)
/* 376680 E0074220 8E43000C */ lw $v1, 0xc($s2)
/* 376684 E0074224 30820010 */ andi $v0, $a0, 0x10
/* 376688 E0074228 10400005 */ beqz $v0, .LE0074240
/* 37668C E007422C 2402FFEF */ addiu $v0, $zero, -0x11
/* 376690 E0074230 00821024 */ and $v0, $a0, $v0
/* 376694 E0074234 AE420000 */ sw $v0, ($s2)
/* 376698 E0074238 24020010 */ addiu $v0, $zero, 0x10
/* 37669C E007423C AC620038 */ sw $v0, 0x38($v1)
.LE0074240:
/* 3766A0 E0074240 8C640038 */ lw $a0, 0x38($v1)
/* 3766A4 E0074244 288203E8 */ slti $v0, $a0, 0x3e8
/* 3766A8 E0074248 10400002 */ beqz $v0, .LE0074254
/* 3766AC E007424C 2482FFFF */ addiu $v0, $a0, -1
/* 3766B0 E0074250 AC620038 */ sw $v0, 0x38($v1)
.LE0074254:
/* 3766B4 E0074254 8C62003C */ lw $v0, 0x3c($v1)
/* 3766B8 E0074258 8C640038 */ lw $a0, 0x38($v1)
/* 3766BC E007425C 24420001 */ addiu $v0, $v0, 1
/* 3766C0 E0074260 04810005 */ bgez $a0, .LE0074278
/* 3766C4 E0074264 AC62003C */ sw $v0, 0x3c($v1)
/* 3766C8 E0074268 0C080128 */ jal shim_remove_effect
/* 3766CC E007426C 0240202D */ daddu $a0, $s2, $zero
/* 3766D0 E0074270 0801D159 */ j .LE0074564
/* 3766D4 E0074274 00000000 */ nop
.LE0074278:
/* 3766D8 E0074278 28820008 */ slti $v0, $a0, 8
/* 3766DC E007427C 10400002 */ beqz $v0, .LE0074288
/* 3766E0 E0074280 00041140 */ sll $v0, $a0, 5
/* 3766E4 E0074284 AC62004C */ sw $v0, 0x4c($v1)
.LE0074288:
/* 3766E8 E0074288 C47E0010 */ lwc1 $f30, 0x10($v1)
/* 3766EC E007428C C47C0014 */ lwc1 $f28, 0x14($v1)
/* 3766F0 E0074290 E7BC0010 */ swc1 $f28, 0x10($sp)
/* 3766F4 E0074294 8E420008 */ lw $v0, 8($s2)
/* 3766F8 E0074298 24110001 */ addiu $s1, $zero, 1
/* 3766FC E007429C 0222102A */ slt $v0, $s1, $v0
/* 376700 E00742A0 104000B0 */ beqz $v0, .LE0074564
/* 376704 E00742A4 2463006C */ addiu $v1, $v1, 0x6c
/* 376708 E00742A8 3C13E007 */ lui $s3, %hi(D_E0074B80)
/* 37670C E00742AC 26734B80 */ addiu $s3, $s3, %lo(D_E0074B80)
/* 376710 E00742B0 24700020 */ addiu $s0, $v1, 0x20
/* 376714 E00742B4 3C013FE0 */ lui $at, 0x3fe0
/* 376718 E00742B8 4481C800 */ mtc1 $at, $f25
/* 37671C E00742BC 4480C000 */ mtc1 $zero, $f24
/* 376720 E00742C0 3C01E007 */ lui $at, %hi(D_E0074BF0)
/* 376724 E00742C4 D43A4BF0 */ ldc1 $f26, %lo(D_E0074BF0)($at)
.LE00742C8:
/* 376728 E00742C8 8E020010 */ lw $v0, 0x10($s0)
/* 37672C E00742CC 24420001 */ addiu $v0, $v0, 1
/* 376730 E00742D0 AE020010 */ sw $v0, 0x10($s0)
/* 376734 E00742D4 28420014 */ slti $v0, $v0, 0x14
/* 376738 E00742D8 50400001 */ beql $v0, $zero, .LE00742E0
/* 37673C E00742DC AE000010 */ sw $zero, 0x10($s0)
.LE00742E0:
/* 376740 E00742E0 8E020010 */ lw $v0, 0x10($s0)
/* 376744 E00742E4 0442009B */ bltzl $v0, .LE0074554
/* 376748 E00742E8 26310001 */ addiu $s1, $s1, 1
/* 37674C E00742EC 14400055 */ bnez $v0, .LE0074444
/* 376750 E00742F0 00000000 */ nop
/* 376754 E00742F4 0C080138 */ jal shim_rand_int
/* 376758 E00742F8 24040167 */ addiu $a0, $zero, 0x167
/* 37675C E00742FC 4482A000 */ mtc1 $v0, $f20
/* 376760 E0074300 00000000 */ nop
/* 376764 E0074304 4680A520 */ cvt.s.w $f20, $f20
/* 376768 E0074308 0C080138 */ jal shim_rand_int
/* 37676C E007430C 24040167 */ addiu $a0, $zero, 0x167
/* 376770 E0074310 0C080140 */ jal shim_sin_deg
/* 376774 E0074314 4600A306 */ mov.s $f12, $f20
/* 376778 E0074318 4600F002 */ mul.s $f0, $f30, $f0
/* 37677C E007431C 00000000 */ nop
/* 376780 E0074320 C7BC0010 */ lwc1 $f28, 0x10($sp)
/* 376784 E0074324 4600E70D */ trunc.w.s $f28, $f28
/* 376788 E0074328 4404E000 */ mfc1 $a0, $f28
/* 37678C E007432C 0C080138 */ jal shim_rand_int
/* 376790 E0074330 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 376794 E0074334 C7BC0010 */ lwc1 $f28, 0x10($sp)
/* 376798 E0074338 4600E0A1 */ cvt.d.s $f2, $f28
/* 37679C E007433C 46381082 */ mul.d $f2, $f2, $f24
/* 3767A0 E0074340 00000000 */ nop
/* 3767A4 E0074344 44820000 */ mtc1 $v0, $f0
/* 3767A8 E0074348 00000000 */ nop
/* 3767AC E007434C 46800021 */ cvt.d.w $f0, $f0
/* 3767B0 E0074350 46220001 */ sub.d $f0, $f0, $f2
/* 3767B4 E0074354 4600A306 */ mov.s $f12, $f20
/* 3767B8 E0074358 46200020 */ cvt.s.d $f0, $f0
/* 3767BC E007435C 0C080144 */ jal shim_cos_deg
/* 3767C0 E0074360 E600FFE8 */ swc1 $f0, -0x18($s0)
/* 3767C4 E0074364 4600F002 */ mul.s $f0, $f30, $f0
/* 3767C8 E0074368 00000000 */ nop
/* 3767CC E007436C 4600A306 */ mov.s $f12, $f20
/* 3767D0 E0074370 0C080140 */ jal shim_sin_deg
/* 3767D4 E0074374 E600FFEC */ swc1 $f0, -0x14($s0)
/* 3767D8 E0074378 C602FFE8 */ lwc1 $f2, -0x18($s0)
/* 3767DC E007437C 3C01E007 */ lui $at, %hi(D_E0074BF8)
/* 3767E0 E0074380 D4244BF8 */ ldc1 $f4, %lo(D_E0074BF8)($at)
/* 3767E4 E0074384 460010A1 */ cvt.d.s $f2, $f2
/* 3767E8 E0074388 46241082 */ mul.d $f2, $f2, $f4
/* 3767EC E007438C 00000000 */ nop
/* 3767F0 E0074390 3C014170 */ lui $at, 0x4170
/* 3767F4 E0074394 4481E000 */ mtc1 $at, $f28
/* 3767F8 E0074398 00000000 */ nop
/* 3767FC E007439C 461C0002 */ mul.s $f0, $f0, $f28
/* 376800 E00743A0 00000000 */ nop
/* 376804 E00743A4 4600A306 */ mov.s $f12, $f20
/* 376808 E00743A8 E600FFF8 */ swc1 $f0, -8($s0)
/* 37680C E00743AC 462010A0 */ cvt.s.d $f2, $f2
/* 376810 E00743B0 0C080144 */ jal shim_cos_deg
/* 376814 E00743B4 E602FFFC */ swc1 $f2, -4($s0)
/* 376818 E00743B8 C604FFF8 */ lwc1 $f4, -8($s0)
/* 37681C E00743BC 46002121 */ cvt.d.s $f4, $f4
/* 376820 E00743C0 46382102 */ mul.d $f4, $f4, $f24
/* 376824 E00743C4 00000000 */ nop
/* 376828 E00743C8 C602FFFC */ lwc1 $f2, -4($s0)
/* 37682C E00743CC 460010A1 */ cvt.d.s $f2, $f2
/* 376830 E00743D0 46381082 */ mul.d $f2, $f2, $f24
/* 376834 E00743D4 00000000 */ nop
/* 376838 E00743D8 461C0002 */ mul.s $f0, $f0, $f28
/* 37683C E00743DC 00000000 */ nop
/* 376840 E00743E0 E6000000 */ swc1 $f0, ($s0)
/* 376844 E00743E4 46000021 */ cvt.d.s $f0, $f0
/* 376848 E00743E8 46380002 */ mul.d $f0, $f0, $f24
/* 37684C E00743EC 00000000 */ nop
/* 376850 E00743F0 2404000F */ addiu $a0, $zero, 0xf
/* 376854 E00743F4 46202120 */ cvt.s.d $f4, $f4
/* 376858 E00743F8 462010A0 */ cvt.s.d $f2, $f2
/* 37685C E00743FC E6040004 */ swc1 $f4, 4($s0)
/* 376860 E0074400 E6020008 */ swc1 $f2, 8($s0)
/* 376864 E0074404 46200020 */ cvt.s.d $f0, $f0
/* 376868 E0074408 0C080138 */ jal shim_rand_int
/* 37686C E007440C E600000C */ swc1 $f0, 0xc($s0)
/* 376870 E0074410 2404000F */ addiu $a0, $zero, 0xf
/* 376874 E0074414 44820000 */ mtc1 $v0, $f0
/* 376878 E0074418 00000000 */ nop
/* 37687C E007441C 46800020 */ cvt.s.w $f0, $f0
/* 376880 E0074420 0C080138 */ jal shim_rand_int
/* 376884 E0074424 E6000044 */ swc1 $f0, 0x44($s0)
/* 376888 E0074428 44820000 */ mtc1 $v0, $f0
/* 37688C E007442C 00000000 */ nop
/* 376890 E0074430 46800020 */ cvt.s.w $f0, $f0
/* 376894 E0074434 240200FF */ addiu $v0, $zero, 0xff
/* 376898 E0074438 E6000048 */ swc1 $f0, 0x48($s0)
/* 37689C E007443C AE000014 */ sw $zero, 0x14($s0)
/* 3768A0 E0074440 AE02002C */ sw $v0, 0x2c($s0)
.LE0074444:
/* 3768A4 E0074444 C610FFF8 */ lwc1 $f16, -8($s0)
/* 3768A8 E0074448 C60A0004 */ lwc1 $f10, 4($s0)
/* 3768AC E007444C 46105281 */ sub.s $f10, $f10, $f16
/* 3768B0 E0074450 460052A1 */ cvt.d.s $f10, $f10
/* 3768B4 E0074454 463A5282 */ mul.d $f10, $f10, $f26
/* 3768B8 E0074458 00000000 */ nop
/* 3768BC E007445C C60EFFFC */ lwc1 $f14, -4($s0)
/* 3768C0 E0074460 C60C0008 */ lwc1 $f12, 8($s0)
/* 3768C4 E0074464 460E6301 */ sub.s $f12, $f12, $f14
/* 3768C8 E0074468 46006321 */ cvt.d.s $f12, $f12
/* 3768CC E007446C 463A6302 */ mul.d $f12, $f12, $f26
/* 3768D0 E0074470 00000000 */ nop
/* 3768D4 E0074474 C6060000 */ lwc1 $f6, ($s0)
/* 3768D8 E0074478 C608000C */ lwc1 $f8, 0xc($s0)
/* 3768DC E007447C 46064201 */ sub.s $f8, $f8, $f6
/* 3768E0 E0074480 8E020010 */ lw $v0, 0x10($s0)
/* 3768E4 E0074484 46004221 */ cvt.d.s $f8, $f8
/* 3768E8 E0074488 463A4202 */ mul.d $f8, $f8, $f26
/* 3768EC E007448C 00000000 */ nop
/* 3768F0 E0074490 C6000014 */ lwc1 $f0, 0x14($s0)
/* 3768F4 E0074494 3C014080 */ lui $at, 0x4080
/* 3768F8 E0074498 44811000 */ mtc1 $at, $f2
/* 3768FC E007449C C614FFE4 */ lwc1 $f20, -0x1c($s0)
/* 376900 E00744A0 C612FFE8 */ lwc1 $f18, -0x18($s0)
/* 376904 E00744A4 C604FFEC */ lwc1 $f4, -0x14($s0)
/* 376908 E00744A8 00021080 */ sll $v0, $v0, 2
/* 37690C E00744AC 00531021 */ addu $v0, $v0, $s3
/* 376910 E00744B0 46020000 */ add.s $f0, $f0, $f2
/* 376914 E00744B4 C4560000 */ lwc1 $f22, ($v0)
/* 376918 E00744B8 C6020044 */ lwc1 $f2, 0x44($s0)
/* 37691C E00744BC 4616B580 */ add.s $f22, $f22, $f22
/* 376920 E00744C0 E6000014 */ swc1 $f0, 0x14($s0)
/* 376924 E00744C4 46008006 */ mov.s $f0, $f16
/* 376928 E00744C8 4600A500 */ add.s $f20, $f20, $f0
/* 37692C E00744CC 460010A1 */ cvt.d.s $f2, $f2
/* 376930 E00744D0 46007006 */ mov.s $f0, $f14
/* 376934 E00744D4 46009480 */ add.s $f18, $f18, $f0
/* 376938 E00744D8 46003006 */ mov.s $f0, $f6
/* 37693C E00744DC 46008421 */ cvt.d.s $f16, $f16
/* 376940 E00744E0 46002100 */ add.s $f4, $f4, $f0
/* 376944 E00744E4 460073A1 */ cvt.d.s $f14, $f14
/* 376948 E00744E8 460031A1 */ cvt.d.s $f6, $f6
/* 37694C E00744EC E604FFEC */ swc1 $f4, -0x14($s0)
/* 376950 E00744F0 3C01E007 */ lui $at, %hi(D_E0074C00)
/* 376954 E00744F4 D4244C00 */ ldc1 $f4, %lo(D_E0074C00)($at)
/* 376958 E00744F8 C6000048 */ lwc1 $f0, 0x48($s0)
/* 37695C E00744FC 46241080 */ add.d $f2, $f2, $f4
/* 376960 E0074500 3C01E007 */ lui $at, %hi(D_E0074C08)
/* 376964 E0074504 D4244C08 */ ldc1 $f4, %lo(D_E0074C08)($at)
/* 376968 E0074508 46000021 */ cvt.d.s $f0, $f0
/* 37696C E007450C E6160040 */ swc1 $f22, 0x40($s0)
/* 376970 E0074510 46240000 */ add.d $f0, $f0, $f4
/* 376974 E0074514 E614FFE4 */ swc1 $f20, -0x1c($s0)
/* 376978 E0074518 E612FFE8 */ swc1 $f18, -0x18($s0)
/* 37697C E007451C 462A8400 */ add.d $f16, $f16, $f10
/* 376980 E0074520 462010A0 */ cvt.s.d $f2, $f2
/* 376984 E0074524 E6020044 */ swc1 $f2, 0x44($s0)
/* 376988 E0074528 462C7380 */ add.d $f14, $f14, $f12
/* 37698C E007452C 46200020 */ cvt.s.d $f0, $f0
/* 376990 E0074530 E6000048 */ swc1 $f0, 0x48($s0)
/* 376994 E0074534 46283180 */ add.d $f6, $f6, $f8
/* 376998 E0074538 46208420 */ cvt.s.d $f16, $f16
/* 37699C E007453C 462073A0 */ cvt.s.d $f14, $f14
/* 3769A0 E0074540 462031A0 */ cvt.s.d $f6, $f6
/* 3769A4 E0074544 E610FFF8 */ swc1 $f16, -8($s0)
/* 3769A8 E0074548 E60EFFFC */ swc1 $f14, -4($s0)
/* 3769AC E007454C E6060000 */ swc1 $f6, ($s0)
/* 3769B0 E0074550 26310001 */ addiu $s1, $s1, 1
.LE0074554:
/* 3769B4 E0074554 8E420008 */ lw $v0, 8($s2)
/* 3769B8 E0074558 0222102A */ slt $v0, $s1, $v0
/* 3769BC E007455C 1440FF5A */ bnez $v0, .LE00742C8
/* 3769C0 E0074560 2610006C */ addiu $s0, $s0, 0x6c
.LE0074564:
/* 3769C4 E0074564 8FBF0028 */ lw $ra, 0x28($sp)
/* 3769C8 E0074568 8FB30024 */ lw $s3, 0x24($sp)
/* 3769CC E007456C 8FB20020 */ lw $s2, 0x20($sp)
/* 3769D0 E0074570 8FB1001C */ lw $s1, 0x1c($sp)
/* 3769D4 E0074574 8FB00018 */ lw $s0, 0x18($sp)
/* 3769D8 E0074578 D7BE0058 */ ldc1 $f30, 0x58($sp)
/* 3769DC E007457C D7BC0050 */ ldc1 $f28, 0x50($sp)
/* 3769E0 E0074580 D7BA0048 */ ldc1 $f26, 0x48($sp)
/* 3769E4 E0074584 D7B80040 */ ldc1 $f24, 0x40($sp)
/* 3769E8 E0074588 D7B60038 */ ldc1 $f22, 0x38($sp)
/* 3769EC E007458C D7B40030 */ ldc1 $f20, 0x30($sp)
/* 3769F0 E0074590 03E00008 */ jr $ra
/* 3769F4 E0074594 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,176 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel snowman_doll_appendGfx
/* 3BD4C0 E00C0760 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 3BD4C4 E00C0764 0080282D */ daddu $a1, $a0, $zero
/* 3BD4C8 E00C0768 3C06DB06 */ lui $a2, 0xdb06
/* 3BD4CC E00C076C 34C60024 */ ori $a2, $a2, 0x24
/* 3BD4D0 E00C0770 27A40018 */ addiu $a0, $sp, 0x18
/* 3BD4D4 E00C0774 AFB1009C */ sw $s1, 0x9c($sp)
/* 3BD4D8 E00C0778 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* 3BD4DC E00C077C 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* 3BD4E0 E00C0780 AFB500AC */ sw $s5, 0xac($sp)
/* 3BD4E4 E00C0784 3C150001 */ lui $s5, 1
/* 3BD4E8 E00C0788 3C02E700 */ lui $v0, 0xe700
/* 3BD4EC E00C078C AFBF00B4 */ sw $ra, 0xb4($sp)
/* 3BD4F0 E00C0790 AFB600B0 */ sw $s6, 0xb0($sp)
/* 3BD4F4 E00C0794 AFB400A8 */ sw $s4, 0xa8($sp)
/* 3BD4F8 E00C0798 AFB300A4 */ sw $s3, 0xa4($sp)
/* 3BD4FC E00C079C AFB200A0 */ sw $s2, 0xa0($sp)
/* 3BD500 E00C07A0 AFB00098 */ sw $s0, 0x98($sp)
/* 3BD504 E00C07A4 8E280000 */ lw $t0, ($s1)
/* 3BD508 E00C07A8 8CB0000C */ lw $s0, 0xc($a1)
/* 3BD50C E00C07AC 0100182D */ daddu $v1, $t0, $zero
/* 3BD510 E00C07B0 8E160024 */ lw $s6, 0x24($s0)
/* 3BD514 E00C07B4 25080008 */ addiu $t0, $t0, 8
/* 3BD518 E00C07B8 AC620000 */ sw $v0, ($v1)
/* 3BD51C E00C07BC AC600004 */ sw $zero, 4($v1)
/* 3BD520 E00C07C0 AD060000 */ sw $a2, ($t0)
/* 3BD524 E00C07C4 8CA20010 */ lw $v0, 0x10($a1)
/* 3BD528 E00C07C8 36B51630 */ ori $s5, $s5, 0x1630
/* 3BD52C E00C07CC AE280000 */ sw $t0, ($s1)
/* 3BD530 E00C07D0 8C42001C */ lw $v0, 0x1c($v0)
/* 3BD534 E00C07D4 3C038000 */ lui $v1, 0x8000
/* 3BD538 E00C07D8 00431021 */ addu $v0, $v0, $v1
/* 3BD53C E00C07DC AD020004 */ sw $v0, 4($t0)
/* 3BD540 E00C07E0 8E050004 */ lw $a1, 4($s0)
/* 3BD544 E00C07E4 8E060008 */ lw $a2, 8($s0)
/* 3BD548 E00C07E8 8E07000C */ lw $a3, 0xc($s0)
/* 3BD54C E00C07EC 25080008 */ addiu $t0, $t0, 8
/* 3BD550 E00C07F0 0C080108 */ jal shim_guTranslateF
/* 3BD554 E00C07F4 AE280000 */ sw $t0, ($s1)
/* 3BD558 E00C07F8 27B20058 */ addiu $s2, $sp, 0x58
/* 3BD55C E00C07FC 8E050028 */ lw $a1, 0x28($s0)
/* 3BD560 E00C0800 0240202D */ daddu $a0, $s2, $zero
/* 3BD564 E00C0804 00A0302D */ daddu $a2, $a1, $zero
/* 3BD568 E00C0808 0C080110 */ jal shim_guScaleF
/* 3BD56C E00C080C 00A0382D */ daddu $a3, $a1, $zero
/* 3BD570 E00C0810 0240202D */ daddu $a0, $s2, $zero
/* 3BD574 E00C0814 27A50018 */ addiu $a1, $sp, 0x18
/* 3BD578 E00C0818 0C080114 */ jal shim_guMtxCatF
/* 3BD57C E00C081C 00A0302D */ daddu $a2, $a1, $zero
/* 3BD580 E00C0820 27A40018 */ addiu $a0, $sp, 0x18
/* 3BD584 E00C0824 3C138007 */ lui $s3, %hi(gMatrixListPos)
/* 3BD588 E00C0828 267341F0 */ addiu $s3, $s3, %lo(gMatrixListPos)
/* 3BD58C E00C082C 3C14800A */ lui $s4, %hi(gDisplayContext)
/* 3BD590 E00C0830 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext)
/* 3BD594 E00C0834 96650000 */ lhu $a1, ($s3)
/* 3BD598 E00C0838 8E820000 */ lw $v0, ($s4)
/* 3BD59C E00C083C 00052980 */ sll $a1, $a1, 6
/* 3BD5A0 E00C0840 00B52821 */ addu $a1, $a1, $s5
/* 3BD5A4 E00C0844 0C080118 */ jal shim_guMtxF2L
/* 3BD5A8 E00C0848 00452821 */ addu $a1, $v0, $a1
/* 3BD5AC E00C084C 3C02DA38 */ lui $v0, 0xda38
/* 3BD5B0 E00C0850 34420002 */ ori $v0, $v0, 2
/* 3BD5B4 E00C0854 27A40018 */ addiu $a0, $sp, 0x18
/* 3BD5B8 E00C0858 8E280000 */ lw $t0, ($s1)
/* 3BD5BC E00C085C 96690000 */ lhu $t1, ($s3)
/* 3BD5C0 E00C0860 0100282D */ daddu $a1, $t0, $zero
/* 3BD5C4 E00C0864 ACA20000 */ sw $v0, ($a1)
/* 3BD5C8 E00C0868 3122FFFF */ andi $v0, $t1, 0xffff
/* 3BD5CC E00C086C 00021180 */ sll $v0, $v0, 6
/* 3BD5D0 E00C0870 00551021 */ addu $v0, $v0, $s5
/* 3BD5D4 E00C0874 8E830000 */ lw $v1, ($s4)
/* 3BD5D8 E00C0878 25080008 */ addiu $t0, $t0, 8
/* 3BD5DC E00C087C 00621821 */ addu $v1, $v1, $v0
/* 3BD5E0 E00C0880 ACA30004 */ sw $v1, 4($a1)
/* 3BD5E4 E00C0884 8E050030 */ lw $a1, 0x30($s0)
/* 3BD5E8 E00C0888 8E060034 */ lw $a2, 0x34($s0)
/* 3BD5EC E00C088C 8E070038 */ lw $a3, 0x38($s0)
/* 3BD5F0 E00C0890 25290001 */ addiu $t1, $t1, 1
/* 3BD5F4 E00C0894 AE280000 */ sw $t0, ($s1)
/* 3BD5F8 E00C0898 0C080108 */ jal shim_guTranslateF
/* 3BD5FC E00C089C A6690000 */ sh $t1, ($s3)
/* 3BD600 E00C08A0 0240202D */ daddu $a0, $s2, $zero
/* 3BD604 E00C08A4 8E050048 */ lw $a1, 0x48($s0)
/* 3BD608 E00C08A8 8E06004C */ lw $a2, 0x4c($s0)
/* 3BD60C E00C08AC 0C080110 */ jal shim_guScaleF
/* 3BD610 E00C08B0 00A0382D */ daddu $a3, $a1, $zero
/* 3BD614 E00C08B4 0240202D */ daddu $a0, $s2, $zero
/* 3BD618 E00C08B8 27A50018 */ addiu $a1, $sp, 0x18
/* 3BD61C E00C08BC 0C080114 */ jal shim_guMtxCatF
/* 3BD620 E00C08C0 00A0302D */ daddu $a2, $a1, $zero
/* 3BD624 E00C08C4 44800000 */ mtc1 $zero, $f0
/* 3BD628 E00C08C8 3C073F80 */ lui $a3, 0x3f80
/* 3BD62C E00C08CC E7A00010 */ swc1 $f0, 0x10($sp)
/* 3BD630 E00C08D0 8E05002C */ lw $a1, 0x2c($s0)
/* 3BD634 E00C08D4 44060000 */ mfc1 $a2, $f0
/* 3BD638 E00C08D8 0C080104 */ jal shim_guRotateF
/* 3BD63C E00C08DC 0240202D */ daddu $a0, $s2, $zero
/* 3BD640 E00C08E0 0240202D */ daddu $a0, $s2, $zero
/* 3BD644 E00C08E4 27A50018 */ addiu $a1, $sp, 0x18
/* 3BD648 E00C08E8 0C080114 */ jal shim_guMtxCatF
/* 3BD64C E00C08EC 00A0302D */ daddu $a2, $a1, $zero
/* 3BD650 E00C08F0 27A40018 */ addiu $a0, $sp, 0x18
/* 3BD654 E00C08F4 96650000 */ lhu $a1, ($s3)
/* 3BD658 E00C08F8 8E820000 */ lw $v0, ($s4)
/* 3BD65C E00C08FC 00052980 */ sll $a1, $a1, 6
/* 3BD660 E00C0900 00B52821 */ addu $a1, $a1, $s5
/* 3BD664 E00C0904 0C080118 */ jal shim_guMtxF2L
/* 3BD668 E00C0908 00452821 */ addu $a1, $v0, $a1
/* 3BD66C E00C090C 3C08D838 */ lui $t0, 0xd838
/* 3BD670 E00C0910 35080002 */ ori $t0, $t0, 2
/* 3BD674 E00C0914 8E240000 */ lw $a0, ($s1)
/* 3BD678 E00C0918 3C03DA38 */ lui $v1, 0xda38
/* 3BD67C E00C091C 0080282D */ daddu $a1, $a0, $zero
/* 3BD680 E00C0920 24840008 */ addiu $a0, $a0, 8
/* 3BD684 E00C0924 AE240000 */ sw $a0, ($s1)
/* 3BD688 E00C0928 96620000 */ lhu $v0, ($s3)
/* 3BD68C E00C092C 32D600FF */ andi $s6, $s6, 0xff
/* 3BD690 E00C0930 ACA30000 */ sw $v1, ($a1)
/* 3BD694 E00C0934 24430001 */ addiu $v1, $v0, 1
/* 3BD698 E00C0938 3042FFFF */ andi $v0, $v0, 0xffff
/* 3BD69C E00C093C 00021180 */ sll $v0, $v0, 6
/* 3BD6A0 E00C0940 A6630000 */ sh $v1, ($s3)
/* 3BD6A4 E00C0944 8E830000 */ lw $v1, ($s4)
/* 3BD6A8 E00C0948 00551021 */ addu $v0, $v0, $s5
/* 3BD6AC E00C094C 00621821 */ addu $v1, $v1, $v0
/* 3BD6B0 E00C0950 24820008 */ addiu $v0, $a0, 8
/* 3BD6B4 E00C0954 ACA30004 */ sw $v1, 4($a1)
/* 3BD6B8 E00C0958 AE220000 */ sw $v0, ($s1)
/* 3BD6BC E00C095C 3C02FA00 */ lui $v0, 0xfa00
/* 3BD6C0 E00C0960 AC820000 */ sw $v0, ($a0)
/* 3BD6C4 E00C0964 24820010 */ addiu $v0, $a0, 0x10
/* 3BD6C8 E00C0968 9203001B */ lbu $v1, 0x1b($s0)
/* 3BD6CC E00C096C 9206001F */ lbu $a2, 0x1f($s0)
/* 3BD6D0 E00C0970 92070023 */ lbu $a3, 0x23($s0)
/* 3BD6D4 E00C0974 3C05DE00 */ lui $a1, 0xde00
/* 3BD6D8 E00C0978 AE220000 */ sw $v0, ($s1)
/* 3BD6DC E00C097C 3C020900 */ lui $v0, 0x900
/* 3BD6E0 E00C0980 244237A8 */ addiu $v0, $v0, 0x37a8
/* 3BD6E4 E00C0984 AC82000C */ sw $v0, 0xc($a0)
/* 3BD6E8 E00C0988 24820018 */ addiu $v0, $a0, 0x18
/* 3BD6EC E00C098C AC850008 */ sw $a1, 8($a0)
/* 3BD6F0 E00C0990 AE220000 */ sw $v0, ($s1)
/* 3BD6F4 E00C0994 3C020900 */ lui $v0, 0x900
/* 3BD6F8 E00C0998 24423818 */ addiu $v0, $v0, 0x3818
/* 3BD6FC E00C099C AC820014 */ sw $v0, 0x14($a0)
/* 3BD700 E00C09A0 24820020 */ addiu $v0, $a0, 0x20
/* 3BD704 E00C09A4 AC850010 */ sw $a1, 0x10($a0)
/* 3BD708 E00C09A8 24050040 */ addiu $a1, $zero, 0x40
/* 3BD70C E00C09AC AE220000 */ sw $v0, ($s1)
/* 3BD710 E00C09B0 24820028 */ addiu $v0, $a0, 0x28
/* 3BD714 E00C09B4 AC880018 */ sw $t0, 0x18($a0)
/* 3BD718 E00C09B8 AC85001C */ sw $a1, 0x1c($a0)
/* 3BD71C E00C09BC AE220000 */ sw $v0, ($s1)
/* 3BD720 E00C09C0 AC880020 */ sw $t0, 0x20($a0)
/* 3BD724 E00C09C4 AC850024 */ sw $a1, 0x24($a0)
/* 3BD728 E00C09C8 00031E00 */ sll $v1, $v1, 0x18
/* 3BD72C E00C09CC 00063400 */ sll $a2, $a2, 0x10
/* 3BD730 E00C09D0 00661825 */ or $v1, $v1, $a2
/* 3BD734 E00C09D4 00073A00 */ sll $a3, $a3, 8
/* 3BD738 E00C09D8 00671825 */ or $v1, $v1, $a3
/* 3BD73C E00C09DC 00761825 */ or $v1, $v1, $s6
/* 3BD740 E00C09E0 AC830004 */ sw $v1, 4($a0)
/* 3BD744 E00C09E4 8FBF00B4 */ lw $ra, 0xb4($sp)
/* 3BD748 E00C09E8 8FB600B0 */ lw $s6, 0xb0($sp)
/* 3BD74C E00C09EC 8FB500AC */ lw $s5, 0xac($sp)
/* 3BD750 E00C09F0 8FB400A8 */ lw $s4, 0xa8($sp)
/* 3BD754 E00C09F4 8FB300A4 */ lw $s3, 0xa4($sp)
/* 3BD758 E00C09F8 8FB200A0 */ lw $s2, 0xa0($sp)
/* 3BD75C E00C09FC 8FB1009C */ lw $s1, 0x9c($sp)
/* 3BD760 E00C0A00 8FB00098 */ lw $s0, 0x98($sp)
/* 3BD764 E00C0A04 03E00008 */ jr $ra
/* 3BD768 E00C0A08 27BD00B8 */ addiu $sp, $sp, 0xb8
/* 3BD76C E00C0A0C 00000000 */ nop

View File

@ -1,94 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel snowman_doll_main
/* 3BCD60 E00C0000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3BCD64 E00C0004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3BCD68 E00C0008 4485A000 */ mtc1 $a1, $f20
/* 3BCD6C E00C000C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3BCD70 E00C0010 4486B000 */ mtc1 $a2, $f22
/* 3BCD74 E00C0014 AFB20030 */ sw $s2, 0x30($sp)
/* 3BCD78 E00C0018 0080902D */ daddu $s2, $a0, $zero
/* 3BCD7C E00C001C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3BCD80 E00C0020 4487C000 */ mtc1 $a3, $f24
/* 3BCD84 E00C0024 27A40010 */ addiu $a0, $sp, 0x10
/* 3BCD88 E00C0028 AFB1002C */ sw $s1, 0x2c($sp)
/* 3BCD8C E00C002C 8FB10064 */ lw $s1, 0x64($sp)
/* 3BCD90 E00C0030 3C02E00C */ lui $v0, %hi(snowman_doll_init)
/* 3BCD94 E00C0034 24420158 */ addiu $v0, $v0, %lo(snowman_doll_init)
/* 3BCD98 E00C0038 AFA20018 */ sw $v0, 0x18($sp)
/* 3BCD9C E00C003C 3C02E00C */ lui $v0, %hi(snowman_doll_update)
/* 3BCDA0 E00C0040 24420160 */ addiu $v0, $v0, %lo(snowman_doll_update)
/* 3BCDA4 E00C0044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3BCDA8 E00C0048 3C02E00C */ lui $v0, %hi(snowman_doll_render)
/* 3BCDAC E00C004C 24420710 */ addiu $v0, $v0, %lo(snowman_doll_render)
/* 3BCDB0 E00C0050 AFA20020 */ sw $v0, 0x20($sp)
/* 3BCDB4 E00C0054 24020060 */ addiu $v0, $zero, 0x60
/* 3BCDB8 E00C0058 AFBF0034 */ sw $ra, 0x34($sp)
/* 3BCDBC E00C005C AFB00028 */ sw $s0, 0x28($sp)
/* 3BCDC0 E00C0060 AFA00010 */ sw $zero, 0x10($sp)
/* 3BCDC4 E00C0064 AFA00024 */ sw $zero, 0x24($sp)
/* 3BCDC8 E00C0068 0C080124 */ jal shim_create_effect_instance
/* 3BCDCC E00C006C AFA20014 */ sw $v0, 0x14($sp)
/* 3BCDD0 E00C0070 24040060 */ addiu $a0, $zero, 0x60
/* 3BCDD4 E00C0074 24030001 */ addiu $v1, $zero, 1
/* 3BCDD8 E00C0078 0040802D */ daddu $s0, $v0, $zero
/* 3BCDDC E00C007C 0C08012C */ jal shim_general_heap_malloc
/* 3BCDE0 E00C0080 AE030008 */ sw $v1, 8($s0)
/* 3BCDE4 E00C0084 0040202D */ daddu $a0, $v0, $zero
/* 3BCDE8 E00C0088 14800003 */ bnez $a0, .LE00C0098
/* 3BCDEC E00C008C AE02000C */ sw $v0, 0xc($s0)
.LE00C0090:
/* 3BCDF0 E00C0090 08030024 */ j .LE00C0090
/* 3BCDF4 E00C0094 00000000 */ nop
.LE00C0098:
/* 3BCDF8 E00C0098 AC920000 */ sw $s2, ($a0)
/* 3BCDFC E00C009C 1E200004 */ bgtz $s1, .LE00C00B0
/* 3BCE00 E00C00A0 AC800014 */ sw $zero, 0x14($a0)
/* 3BCE04 E00C00A4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3BCE08 E00C00A8 0803002D */ j .LE00C00B4
/* 3BCE0C E00C00AC AC820010 */ sw $v0, 0x10($a0)
.LE00C00B0:
/* 3BCE10 E00C00B0 AC910010 */ sw $s1, 0x10($a0)
.LE00C00B4:
/* 3BCE14 E00C00B4 0200102D */ daddu $v0, $s0, $zero
/* 3BCE18 E00C00B8 24030002 */ addiu $v1, $zero, 2
/* 3BCE1C E00C00BC AC800024 */ sw $zero, 0x24($a0)
/* 3BCE20 E00C00C0 E4940004 */ swc1 $f20, 4($a0)
/* 3BCE24 E00C00C4 E4960008 */ swc1 $f22, 8($a0)
/* 3BCE28 E00C00C8 E498000C */ swc1 $f24, 0xc($a0)
/* 3BCE2C E00C00CC AC800030 */ sw $zero, 0x30($a0)
/* 3BCE30 E00C00D0 AC800038 */ sw $zero, 0x38($a0)
/* 3BCE34 E00C00D4 AC80003C */ sw $zero, 0x3c($a0)
/* 3BCE38 E00C00D8 AC800040 */ sw $zero, 0x40($a0)
/* 3BCE3C E00C00DC AC800044 */ sw $zero, 0x44($a0)
/* 3BCE40 E00C00E0 AC800054 */ sw $zero, 0x54($a0)
/* 3BCE44 E00C00E4 AC830058 */ sw $v1, 0x58($a0)
/* 3BCE48 E00C00E8 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 3BCE4C E00C00EC 3C01C100 */ lui $at, 0xc100
/* 3BCE50 E00C00F0 44811000 */ mtc1 $at, $f2
/* 3BCE54 E00C00F4 3C01BF80 */ lui $at, 0xbf80
/* 3BCE58 E00C00F8 44812000 */ mtc1 $at, $f4
/* 3BCE5C E00C00FC 240300C8 */ addiu $v1, $zero, 0xc8
/* 3BCE60 E00C0100 AC830018 */ sw $v1, 0x18($a0)
/* 3BCE64 E00C0104 240300DC */ addiu $v1, $zero, 0xdc
/* 3BCE68 E00C0108 AC83001C */ sw $v1, 0x1c($a0)
/* 3BCE6C E00C010C E4800028 */ swc1 $f0, 0x28($a0)
/* 3BCE70 E00C0110 3C014348 */ lui $at, 0x4348
/* 3BCE74 E00C0114 44810000 */ mtc1 $at, $f0
/* 3BCE78 E00C0118 240300F0 */ addiu $v1, $zero, 0xf0
/* 3BCE7C E00C011C AC80005C */ sw $zero, 0x5c($a0)
/* 3BCE80 E00C0120 AC830020 */ sw $v1, 0x20($a0)
/* 3BCE84 E00C0124 AC80002C */ sw $zero, 0x2c($a0)
/* 3BCE88 E00C0128 E4820040 */ swc1 $f2, 0x40($a0)
/* 3BCE8C E00C012C E4840050 */ swc1 $f4, 0x50($a0)
/* 3BCE90 E00C0130 E4800034 */ swc1 $f0, 0x34($a0)
/* 3BCE94 E00C0134 8FBF0034 */ lw $ra, 0x34($sp)
/* 3BCE98 E00C0138 8FB20030 */ lw $s2, 0x30($sp)
/* 3BCE9C E00C013C 8FB1002C */ lw $s1, 0x2c($sp)
/* 3BCEA0 E00C0140 8FB00028 */ lw $s0, 0x28($sp)
/* 3BCEA4 E00C0144 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3BCEA8 E00C0148 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3BCEAC E00C014C D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3BCEB0 E00C0150 03E00008 */ jr $ra
/* 3BCEB4 E00C0154 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,416 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00C0C00
.double 0.01
dlabel D_E00C0C08
.double 0.01
dlabel D_E00C0C10
.double 0.01
dlabel D_E00C0C18
.double 0.01
dlabel jtbl_E00C0C20
.word LE00C0500_3BD260, LE00C0508_3BD268, LE00C0518_3BD278, LE00C0548_3BD2A8, LE00C0570_3BD2D0, 0, 0, 0
.section .text
glabel snowman_doll_update
/* 3BCEC0 E00C0160 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 3BCEC4 E00C0164 AFBF002C */ sw $ra, 0x2c($sp)
/* 3BCEC8 E00C0168 AFB00028 */ sw $s0, 0x28($sp)
/* 3BCECC E00C016C F7B40030 */ sdc1 $f20, 0x30($sp)
/* 3BCED0 E00C0170 8C830000 */ lw $v1, ($a0)
/* 3BCED4 E00C0174 8C90000C */ lw $s0, 0xc($a0)
/* 3BCED8 E00C0178 30620010 */ andi $v0, $v1, 0x10
/* 3BCEDC E00C017C 10400005 */ beqz $v0, .LE00C0194
/* 3BCEE0 E00C0180 2402FFEF */ addiu $v0, $zero, -0x11
/* 3BCEE4 E00C0184 00621024 */ and $v0, $v1, $v0
/* 3BCEE8 E00C0188 AC820000 */ sw $v0, ($a0)
/* 3BCEEC E00C018C 24020010 */ addiu $v0, $zero, 0x10
/* 3BCEF0 E00C0190 AE020010 */ sw $v0, 0x10($s0)
.LE00C0194:
/* 3BCEF4 E00C0194 8E030010 */ lw $v1, 0x10($s0)
/* 3BCEF8 E00C0198 286203E8 */ slti $v0, $v1, 0x3e8
/* 3BCEFC E00C019C 10400002 */ beqz $v0, .LE00C01A8
/* 3BCF00 E00C01A0 2462FFFF */ addiu $v0, $v1, -1
/* 3BCF04 E00C01A4 AE020010 */ sw $v0, 0x10($s0)
.LE00C01A8:
/* 3BCF08 E00C01A8 8E020014 */ lw $v0, 0x14($s0)
/* 3BCF0C E00C01AC 8E050010 */ lw $a1, 0x10($s0)
/* 3BCF10 E00C01B0 24420001 */ addiu $v0, $v0, 1
/* 3BCF14 E00C01B4 04A10005 */ bgez $a1, .LE00C01CC
/* 3BCF18 E00C01B8 AE020014 */ sw $v0, 0x14($s0)
/* 3BCF1C E00C01BC 0C080128 */ jal shim_remove_effect
/* 3BCF20 E00C01C0 00000000 */ nop
/* 3BCF24 E00C01C4 080301BF */ j .LE00C06FC
/* 3BCF28 E00C01C8 00000000 */ nop
.LE00C01CC:
/* 3BCF2C E00C01CC 0040302D */ daddu $a2, $v0, $zero
/* 3BCF30 E00C01D0 28A20010 */ slti $v0, $a1, 0x10
/* 3BCF34 E00C01D4 10400002 */ beqz $v0, .LE00C01E0
/* 3BCF38 E00C01D8 00051100 */ sll $v0, $a1, 4
/* 3BCF3C E00C01DC AE020024 */ sw $v0, 0x24($s0)
.LE00C01E0:
/* 3BCF40 E00C01E0 28C20010 */ slti $v0, $a2, 0x10
/* 3BCF44 E00C01E4 10400003 */ beqz $v0, .LE00C01F4
/* 3BCF48 E00C01E8 00061100 */ sll $v0, $a2, 4
/* 3BCF4C E00C01EC 2442000F */ addiu $v0, $v0, 0xf
/* 3BCF50 E00C01F0 AE020024 */ sw $v0, 0x24($s0)
.LE00C01F4:
/* 3BCF54 E00C01F4 C604003C */ lwc1 $f4, 0x3c($s0)
/* 3BCF58 E00C01F8 44800000 */ mtc1 $zero, $f0
/* 3BCF5C E00C01FC 00000000 */ nop
/* 3BCF60 E00C0200 46002032 */ c.eq.s $f4, $f0
/* 3BCF64 E00C0204 00000000 */ nop
/* 3BCF68 E00C0208 45010010 */ bc1t .LE00C024C
/* 3BCF6C E00C020C 00000000 */ nop
/* 3BCF70 E00C0210 C6020040 */ lwc1 $f2, 0x40($s0)
/* 3BCF74 E00C0214 4600103C */ c.lt.s $f2, $f0
/* 3BCF78 E00C0218 00000000 */ nop
/* 3BCF7C E00C021C 45030001 */ bc1tl .LE00C0224
/* 3BCF80 E00C0220 46001087 */ neg.s $f2, $f2
.LE00C0224:
/* 3BCF84 E00C0224 4600203C */ c.lt.s $f4, $f0
/* 3BCF88 E00C0228 00000000 */ nop
/* 3BCF8C E00C022C 45000004 */ bc1f .LE00C0240
/* 3BCF90 E00C0230 00000000 */ nop
/* 3BCF94 E00C0234 C600002C */ lwc1 $f0, 0x2c($s0)
/* 3BCF98 E00C0238 08030092 */ j .LE00C0248
/* 3BCF9C E00C023C 46020001 */ sub.s $f0, $f0, $f2
.LE00C0240:
/* 3BCFA0 E00C0240 C600002C */ lwc1 $f0, 0x2c($s0)
/* 3BCFA4 E00C0244 46020000 */ add.s $f0, $f0, $f2
.LE00C0248:
/* 3BCFA8 E00C0248 E600002C */ swc1 $f0, 0x2c($s0)
.LE00C024C:
/* 3BCFAC E00C024C 8E040058 */ lw $a0, 0x58($s0)
/* 3BCFB0 E00C0250 24020001 */ addiu $v0, $zero, 1
/* 3BCFB4 E00C0254 10820028 */ beq $a0, $v0, .LE00C02F8
/* 3BCFB8 E00C0258 28820002 */ slti $v0, $a0, 2
/* 3BCFBC E00C025C 10400005 */ beqz $v0, .LE00C0274
/* 3BCFC0 E00C0260 24050002 */ addiu $a1, $zero, 2
/* 3BCFC4 E00C0264 10800009 */ beqz $a0, .LE00C028C
/* 3BCFC8 E00C0268 30C30007 */ andi $v1, $a2, 7
/* 3BCFCC E00C026C 08030175 */ j .LE00C05D4
/* 3BCFD0 E00C0270 24020001 */ addiu $v0, $zero, 1
.LE00C0274:
/* 3BCFD4 E00C0274 10850075 */ beq $a0, $a1, .LE00C044C
/* 3BCFD8 E00C0278 24020003 */ addiu $v0, $zero, 3
/* 3BCFDC E00C027C 1082003B */ beq $a0, $v0, .LE00C036C
/* 3BCFE0 E00C0280 30C30007 */ andi $v1, $a2, 7
/* 3BCFE4 E00C0284 08030175 */ j .LE00C05D4
/* 3BCFE8 E00C0288 24020001 */ addiu $v0, $zero, 1
.LE00C028C:
/* 3BCFEC E00C028C 8E030054 */ lw $v1, 0x54($s0)
/* 3BCFF0 E00C0290 3C02E00C */ lui $v0, %hi(D_E00C0A24)
/* 3BCFF4 E00C0294 00431021 */ addu $v0, $v0, $v1
/* 3BCFF8 E00C0298 90420A24 */ lbu $v0, %lo(D_E00C0A24)($v0)
/* 3BCFFC E00C029C 3C01E00C */ lui $at, %hi(D_E00C0C00)
/* 3BD000 E00C02A0 D4220C00 */ ldc1 $f2, %lo(D_E00C0C00)($at)
/* 3BD004 E00C02A4 44820000 */ mtc1 $v0, $f0
/* 3BD008 E00C02A8 00000000 */ nop
/* 3BD00C E00C02AC 46800020 */ cvt.s.w $f0, $f0
/* 3BD010 E00C02B0 46000021 */ cvt.d.s $f0, $f0
/* 3BD014 E00C02B4 46220002 */ mul.d $f0, $f0, $f2
/* 3BD018 E00C02B8 00000000 */ nop
/* 3BD01C E00C02BC 46200020 */ cvt.s.d $f0, $f0
/* 3BD020 E00C02C0 E600004C */ swc1 $f0, 0x4c($s0)
/* 3BD024 E00C02C4 46000086 */ mov.s $f2, $f0
/* 3BD028 E00C02C8 3C014000 */ lui $at, 0x4000
/* 3BD02C E00C02CC 44810000 */ mtc1 $at, $f0
/* 3BD030 E00C02D0 24630001 */ addiu $v1, $v1, 1
/* 3BD034 E00C02D4 AE030054 */ sw $v1, 0x54($s0)
/* 3BD038 E00C02D8 46020001 */ sub.s $f0, $f0, $f2
/* 3BD03C E00C02DC 0060102D */ daddu $v0, $v1, $zero
/* 3BD040 E00C02E0 2842001B */ slti $v0, $v0, 0x1b
/* 3BD044 E00C02E4 144000B9 */ bnez $v0, .LE00C05CC
/* 3BD048 E00C02E8 E6000048 */ swc1 $f0, 0x48($s0)
/* 3BD04C E00C02EC 24020002 */ addiu $v0, $zero, 2
/* 3BD050 E00C02F0 08030173 */ j .LE00C05CC
/* 3BD054 E00C02F4 AE020058 */ sw $v0, 0x58($s0)
.LE00C02F8:
/* 3BD058 E00C02F8 8E030054 */ lw $v1, 0x54($s0)
/* 3BD05C E00C02FC 3C02E00C */ lui $v0, %hi(D_E00C0A10)
/* 3BD060 E00C0300 00431021 */ addu $v0, $v0, $v1
/* 3BD064 E00C0304 80420A10 */ lb $v0, %lo(D_E00C0A10)($v0)
/* 3BD068 E00C0308 3C01E00C */ lui $at, %hi(D_E00C0C08)
/* 3BD06C E00C030C D4220C08 */ ldc1 $f2, %lo(D_E00C0C08)($at)
/* 3BD070 E00C0310 44820000 */ mtc1 $v0, $f0
/* 3BD074 E00C0314 00000000 */ nop
/* 3BD078 E00C0318 46800020 */ cvt.s.w $f0, $f0
/* 3BD07C E00C031C 46000021 */ cvt.d.s $f0, $f0
/* 3BD080 E00C0320 46220002 */ mul.d $f0, $f0, $f2
/* 3BD084 E00C0324 00000000 */ nop
/* 3BD088 E00C0328 46200020 */ cvt.s.d $f0, $f0
/* 3BD08C E00C032C E600004C */ swc1 $f0, 0x4c($s0)
/* 3BD090 E00C0330 46000086 */ mov.s $f2, $f0
/* 3BD094 E00C0334 3C014000 */ lui $at, 0x4000
/* 3BD098 E00C0338 44810000 */ mtc1 $at, $f0
/* 3BD09C E00C033C 24630001 */ addiu $v1, $v1, 1
/* 3BD0A0 E00C0340 AE030054 */ sw $v1, 0x54($s0)
/* 3BD0A4 E00C0344 46020001 */ sub.s $f0, $f0, $f2
/* 3BD0A8 E00C0348 0060102D */ daddu $v0, $v1, $zero
/* 3BD0AC E00C034C 28420012 */ slti $v0, $v0, 0x12
/* 3BD0B0 E00C0350 14400003 */ bnez $v0, .LE00C0360
/* 3BD0B4 E00C0354 E6000048 */ swc1 $f0, 0x48($s0)
/* 3BD0B8 E00C0358 24020002 */ addiu $v0, $zero, 2
/* 3BD0BC E00C035C AE020058 */ sw $v0, 0x58($s0)
.LE00C0360:
/* 3BD0C0 E00C0360 8E020054 */ lw $v0, 0x54($s0)
/* 3BD0C4 E00C0364 080300FF */ j .LE00C03FC
/* 3BD0C8 E00C0368 28420008 */ slti $v0, $v0, 8
.LE00C036C:
/* 3BD0CC E00C036C 8E030054 */ lw $v1, 0x54($s0)
/* 3BD0D0 E00C0370 3C02E00C */ lui $v0, %hi(D_E00C0A40)
/* 3BD0D4 E00C0374 00431021 */ addu $v0, $v0, $v1
/* 3BD0D8 E00C0378 90420A40 */ lbu $v0, %lo(D_E00C0A40)($v0)
/* 3BD0DC E00C037C 3C01E00C */ lui $at, %hi(D_E00C0C10)
/* 3BD0E0 E00C0380 D4220C10 */ ldc1 $f2, %lo(D_E00C0C10)($at)
/* 3BD0E4 E00C0384 44820000 */ mtc1 $v0, $f0
/* 3BD0E8 E00C0388 00000000 */ nop
/* 3BD0EC E00C038C 46800020 */ cvt.s.w $f0, $f0
/* 3BD0F0 E00C0390 46000021 */ cvt.d.s $f0, $f0
/* 3BD0F4 E00C0394 46220002 */ mul.d $f0, $f0, $f2
/* 3BD0F8 E00C0398 00000000 */ nop
/* 3BD0FC E00C039C 46200020 */ cvt.s.d $f0, $f0
/* 3BD100 E00C03A0 E600004C */ swc1 $f0, 0x4c($s0)
/* 3BD104 E00C03A4 46000086 */ mov.s $f2, $f0
/* 3BD108 E00C03A8 3C014000 */ lui $at, 0x4000
/* 3BD10C E00C03AC 44810000 */ mtc1 $at, $f0
/* 3BD110 E00C03B0 24630001 */ addiu $v1, $v1, 1
/* 3BD114 E00C03B4 46020001 */ sub.s $f0, $f0, $f2
/* 3BD118 E00C03B8 AE030054 */ sw $v1, 0x54($s0)
/* 3BD11C E00C03BC 0060102D */ daddu $v0, $v1, $zero
/* 3BD120 E00C03C0 E6000048 */ swc1 $f0, 0x48($s0)
/* 3BD124 E00C03C4 3C03E00C */ lui $v1, %hi(D_E00C0A8C)
/* 3BD128 E00C03C8 00621821 */ addu $v1, $v1, $v0
/* 3BD12C E00C03CC 80630A8C */ lb $v1, %lo(D_E00C0A8C)($v1)
/* 3BD130 E00C03D0 24420001 */ addiu $v0, $v0, 1
/* 3BD134 E00C03D4 AE020054 */ sw $v0, 0x54($s0)
/* 3BD138 E00C03D8 2842004A */ slti $v0, $v0, 0x4a
/* 3BD13C E00C03DC 44830000 */ mtc1 $v1, $f0
/* 3BD140 E00C03E0 00000000 */ nop
/* 3BD144 E00C03E4 46800020 */ cvt.s.w $f0, $f0
/* 3BD148 E00C03E8 14400002 */ bnez $v0, .LE00C03F4
/* 3BD14C E00C03EC E600002C */ swc1 $f0, 0x2c($s0)
/* 3BD150 E00C03F0 AE050058 */ sw $a1, 0x58($s0)
.LE00C03F4:
/* 3BD154 E00C03F4 8E020054 */ lw $v0, 0x54($s0)
/* 3BD158 E00C03F8 28420040 */ slti $v0, $v0, 0x40
.LE00C03FC:
/* 3BD15C E00C03FC 14400074 */ bnez $v0, .LE00C05D0
/* 3BD160 E00C0400 30C30007 */ andi $v1, $a2, 7
/* 3BD164 E00C0404 C6080030 */ lwc1 $f8, 0x30($s0)
/* 3BD168 E00C0408 C600003C */ lwc1 $f0, 0x3c($s0)
/* 3BD16C E00C040C C6060034 */ lwc1 $f6, 0x34($s0)
/* 3BD170 E00C0410 46004200 */ add.s $f8, $f8, $f0
/* 3BD174 E00C0414 C6000040 */ lwc1 $f0, 0x40($s0)
/* 3BD178 E00C0418 C6020038 */ lwc1 $f2, 0x38($s0)
/* 3BD17C E00C041C 46003180 */ add.s $f6, $f6, $f0
/* 3BD180 E00C0420 C6000044 */ lwc1 $f0, 0x44($s0)
/* 3BD184 E00C0424 3C01BF80 */ lui $at, 0xbf80
/* 3BD188 E00C0428 44812000 */ mtc1 $at, $f4
/* 3BD18C E00C042C 46001080 */ add.s $f2, $f2, $f0
/* 3BD190 E00C0430 C6000040 */ lwc1 $f0, 0x40($s0)
/* 3BD194 E00C0434 E6080030 */ swc1 $f8, 0x30($s0)
/* 3BD198 E00C0438 46040000 */ add.s $f0, $f0, $f4
/* 3BD19C E00C043C E6060034 */ swc1 $f6, 0x34($s0)
/* 3BD1A0 E00C0440 E6020038 */ swc1 $f2, 0x38($s0)
/* 3BD1A4 E00C0444 08030174 */ j .LE00C05D0
/* 3BD1A8 E00C0448 E6000040 */ swc1 $f0, 0x40($s0)
.LE00C044C:
/* 3BD1AC E00C044C 3C02E00C */ lui $v0, %hi(D_E00C0A21)
/* 3BD1B0 E00C0450 80420A21 */ lb $v0, %lo(D_E00C0A21)($v0)
/* 3BD1B4 E00C0454 3C01E00C */ lui $at, %hi(D_E00C0C18)
/* 3BD1B8 E00C0458 D4220C18 */ ldc1 $f2, %lo(D_E00C0C18)($at)
/* 3BD1BC E00C045C 44820000 */ mtc1 $v0, $f0
/* 3BD1C0 E00C0460 00000000 */ nop
/* 3BD1C4 E00C0464 46800020 */ cvt.s.w $f0, $f0
/* 3BD1C8 E00C0468 46000021 */ cvt.d.s $f0, $f0
/* 3BD1CC E00C046C 46220002 */ mul.d $f0, $f0, $f2
/* 3BD1D0 E00C0470 00000000 */ nop
/* 3BD1D4 E00C0474 C6060030 */ lwc1 $f6, 0x30($s0)
/* 3BD1D8 E00C0478 C602003C */ lwc1 $f2, 0x3c($s0)
/* 3BD1DC E00C047C C6040034 */ lwc1 $f4, 0x34($s0)
/* 3BD1E0 E00C0480 46023180 */ add.s $f6, $f6, $f2
/* 3BD1E4 E00C0484 C6020040 */ lwc1 $f2, 0x40($s0)
/* 3BD1E8 E00C0488 C6080038 */ lwc1 $f8, 0x38($s0)
/* 3BD1EC E00C048C 46022100 */ add.s $f4, $f4, $f2
/* 3BD1F0 E00C0490 C6020044 */ lwc1 $f2, 0x44($s0)
/* 3BD1F4 E00C0494 44805000 */ mtc1 $zero, $f10
/* 3BD1F8 E00C0498 46024200 */ add.s $f8, $f8, $f2
/* 3BD1FC E00C049C C6020050 */ lwc1 $f2, 0x50($s0)
/* 3BD200 E00C04A0 E6040034 */ swc1 $f4, 0x34($s0)
/* 3BD204 E00C04A4 C6040040 */ lwc1 $f4, 0x40($s0)
/* 3BD208 E00C04A8 E6060030 */ swc1 $f6, 0x30($s0)
/* 3BD20C E00C04AC 46022100 */ add.s $f4, $f4, $f2
/* 3BD210 E00C04B0 C6060034 */ lwc1 $f6, 0x34($s0)
/* 3BD214 E00C04B4 3C014000 */ lui $at, 0x4000
/* 3BD218 E00C04B8 44811000 */ mtc1 $at, $f2
/* 3BD21C E00C04BC 460A303C */ c.lt.s $f6, $f10
/* 3BD220 E00C04C0 E6080038 */ swc1 $f8, 0x38($s0)
/* 3BD224 E00C04C4 46200020 */ cvt.s.d $f0, $f0
/* 3BD228 E00C04C8 46001081 */ sub.s $f2, $f2, $f0
/* 3BD22C E00C04CC E6040040 */ swc1 $f4, 0x40($s0)
/* 3BD230 E00C04D0 E600004C */ swc1 $f0, 0x4c($s0)
/* 3BD234 E00C04D4 4500003D */ bc1f .LE00C05CC
/* 3BD238 E00C04D8 E6020048 */ swc1 $f2, 0x48($s0)
/* 3BD23C E00C04DC 8E03005C */ lw $v1, 0x5c($s0)
/* 3BD240 E00C04E0 2C620005 */ sltiu $v0, $v1, 5
/* 3BD244 E00C04E4 1040002F */ beqz $v0, .LE00C05A4
/* 3BD248 E00C04E8 00031080 */ sll $v0, $v1, 2
/* 3BD24C E00C04EC 3C01E00C */ lui $at, %hi(jtbl_E00C0C20)
/* 3BD250 E00C04F0 00220821 */ addu $at, $at, $v0
/* 3BD254 E00C04F4 8C220C20 */ lw $v0, %lo(jtbl_E00C0C20)($at)
/* 3BD258 E00C04F8 00400008 */ jr $v0
/* 3BD25C E00C04FC 00000000 */ nop
dlabel LE00C0500_3BD260
/* 3BD260 E00C0500 0803016E */ j .LE00C05B8
/* 3BD264 E00C0504 AE000058 */ sw $zero, 0x58($s0)
dlabel LE00C0508_3BD268
/* 3BD268 E00C0508 3C014000 */ lui $at, 0x4000
/* 3BD26C E00C050C 44810000 */ mtc1 $at, $f0
/* 3BD270 E00C0510 08030154 */ j .LE00C0550
/* 3BD274 E00C0514 00000000 */ nop
dlabel LE00C0518_3BD278
/* 3BD278 E00C0518 3C014000 */ lui $at, 0x4000
/* 3BD27C E00C051C 44810000 */ mtc1 $at, $f0
/* 3BD280 E00C0520 3C01C000 */ lui $at, 0xc000
/* 3BD284 E00C0524 44811000 */ mtc1 $at, $f2
/* 3BD288 E00C0528 3C014120 */ lui $at, 0x4120
/* 3BD28C E00C052C 44812000 */ mtc1 $at, $f4
/* 3BD290 E00C0530 24020001 */ addiu $v0, $zero, 1
/* 3BD294 E00C0534 AE020058 */ sw $v0, 0x58($s0)
/* 3BD298 E00C0538 E600003C */ swc1 $f0, 0x3c($s0)
/* 3BD29C E00C053C E6020044 */ swc1 $f2, 0x44($s0)
/* 3BD2A0 E00C0540 0803016E */ j .LE00C05B8
/* 3BD2A4 E00C0544 E6040040 */ swc1 $f4, 0x40($s0)
dlabel LE00C0548_3BD2A8
/* 3BD2A8 E00C0548 3C01C000 */ lui $at, 0xc000
/* 3BD2AC E00C054C 44810000 */ mtc1 $at, $f0
.LE00C0550:
/* 3BD2B0 E00C0550 3C014120 */ lui $at, 0x4120
/* 3BD2B4 E00C0554 44811000 */ mtc1 $at, $f2
/* 3BD2B8 E00C0558 24020001 */ addiu $v0, $zero, 1
/* 3BD2BC E00C055C AE020058 */ sw $v0, 0x58($s0)
/* 3BD2C0 E00C0560 E600003C */ swc1 $f0, 0x3c($s0)
/* 3BD2C4 E00C0564 E6000044 */ swc1 $f0, 0x44($s0)
/* 3BD2C8 E00C0568 0803016E */ j .LE00C05B8
/* 3BD2CC E00C056C E6020040 */ swc1 $f2, 0x40($s0)
dlabel LE00C0570_3BD2D0
/* 3BD2D0 E00C0570 3C014120 */ lui $at, 0x4120
/* 3BD2D4 E00C0574 44810000 */ mtc1 $at, $f0
/* 3BD2D8 E00C0578 3C014160 */ lui $at, 0x4160
/* 3BD2DC E00C057C 44811000 */ mtc1 $at, $f2
/* 3BD2E0 E00C0580 3C01BF80 */ lui $at, 0xbf80
/* 3BD2E4 E00C0584 44812000 */ mtc1 $at, $f4
/* 3BD2E8 E00C0588 24020001 */ addiu $v0, $zero, 1
/* 3BD2EC E00C058C AE000044 */ sw $zero, 0x44($s0)
/* 3BD2F0 E00C0590 AE020058 */ sw $v0, 0x58($s0)
/* 3BD2F4 E00C0594 E600003C */ swc1 $f0, 0x3c($s0)
/* 3BD2F8 E00C0598 E6020040 */ swc1 $f2, 0x40($s0)
/* 3BD2FC E00C059C 0803016E */ j .LE00C05B8
/* 3BD300 E00C05A0 E6040050 */ swc1 $f4, 0x50($s0)
.LE00C05A4:
/* 3BD304 E00C05A4 E60A003C */ swc1 $f10, 0x3c($s0)
/* 3BD308 E00C05A8 E60A0040 */ swc1 $f10, 0x40($s0)
/* 3BD30C E00C05AC E60A0044 */ swc1 $f10, 0x44($s0)
/* 3BD310 E00C05B0 E60A0034 */ swc1 $f10, 0x34($s0)
/* 3BD314 E00C05B4 AE040058 */ sw $a0, 0x58($s0)
.LE00C05B8:
/* 3BD318 E00C05B8 8E02005C */ lw $v0, 0x5c($s0)
/* 3BD31C E00C05BC AE000034 */ sw $zero, 0x34($s0)
/* 3BD320 E00C05C0 AE000054 */ sw $zero, 0x54($s0)
/* 3BD324 E00C05C4 24420001 */ addiu $v0, $v0, 1
/* 3BD328 E00C05C8 AE02005C */ sw $v0, 0x5c($s0)
.LE00C05CC:
/* 3BD32C E00C05CC 30C30007 */ andi $v1, $a2, 7
.LE00C05D0:
/* 3BD330 E00C05D0 24020001 */ addiu $v0, $zero, 1
.LE00C05D4:
/* 3BD334 E00C05D4 14620049 */ bne $v1, $v0, .LE00C06FC
/* 3BD338 E00C05D8 00000000 */ nop
/* 3BD33C E00C05DC 0C080150 */ jal shim_load_effect
/* 3BD340 E00C05E0 2404006F */ addiu $a0, $zero, 0x6f
/* 3BD344 E00C05E4 0C080138 */ jal shim_rand_int
/* 3BD348 E00C05E8 2404003C */ addiu $a0, $zero, 0x3c
/* 3BD34C E00C05EC C6140004 */ lwc1 $f20, 4($s0)
/* 3BD350 E00C05F0 C6000030 */ lwc1 $f0, 0x30($s0)
/* 3BD354 E00C05F4 4600A500 */ add.s $f20, $f20, $f0
/* 3BD358 E00C05F8 44820000 */ mtc1 $v0, $f0
/* 3BD35C E00C05FC 00000000 */ nop
/* 3BD360 E00C0600 46800020 */ cvt.s.w $f0, $f0
/* 3BD364 E00C0604 4600A500 */ add.s $f20, $f20, $f0
/* 3BD368 E00C0608 3C0141F0 */ lui $at, 0x41f0
/* 3BD36C E00C060C 44810000 */ mtc1 $at, $f0
/* 3BD370 E00C0610 24040064 */ addiu $a0, $zero, 0x64
/* 3BD374 E00C0614 0C080138 */ jal shim_rand_int
/* 3BD378 E00C0618 4600A501 */ sub.s $f20, $f20, $f0
/* 3BD37C E00C061C C602000C */ lwc1 $f2, 0xc($s0)
/* 3BD380 E00C0620 C6000038 */ lwc1 $f0, 0x38($s0)
/* 3BD384 E00C0624 46001080 */ add.s $f2, $f2, $f0
/* 3BD388 E00C0628 C6000034 */ lwc1 $f0, 0x34($s0)
/* 3BD38C E00C062C 44071000 */ mfc1 $a3, $f2
/* 3BD390 E00C0630 C6020008 */ lwc1 $f2, 8($s0)
/* 3BD394 E00C0634 46001080 */ add.s $f2, $f2, $f0
/* 3BD398 E00C0638 44820000 */ mtc1 $v0, $f0
/* 3BD39C E00C063C 00000000 */ nop
/* 3BD3A0 E00C0640 46800020 */ cvt.s.w $f0, $f0
/* 3BD3A4 E00C0644 46001080 */ add.s $f2, $f2, $f0
/* 3BD3A8 E00C0648 3C014248 */ lui $at, 0x4248
/* 3BD3AC E00C064C 44810000 */ mtc1 $at, $f0
/* 3BD3B0 E00C0650 24040002 */ addiu $a0, $zero, 2
/* 3BD3B4 E00C0654 46001080 */ add.s $f2, $f2, $f0
/* 3BD3B8 E00C0658 4405A000 */ mfc1 $a1, $f20
/* 3BD3BC E00C065C 3C014080 */ lui $at, 0x4080
/* 3BD3C0 E00C0660 44810000 */ mtc1 $at, $f0
/* 3BD3C4 E00C0664 44061000 */ mfc1 $a2, $f2
/* 3BD3C8 E00C0668 24020028 */ addiu $v0, $zero, 0x28
/* 3BD3CC E00C066C AFA20014 */ sw $v0, 0x14($sp)
/* 3BD3D0 E00C0670 0C037800 */ jal cold_breath_main
/* 3BD3D4 E00C0674 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3BD3D8 E00C0678 0C080150 */ jal shim_load_effect
/* 3BD3DC E00C067C 24040072 */ addiu $a0, $zero, 0x72
/* 3BD3E0 E00C0680 C6020004 */ lwc1 $f2, 4($s0)
/* 3BD3E4 E00C0684 C6000030 */ lwc1 $f0, 0x30($s0)
/* 3BD3E8 E00C0688 46001080 */ add.s $f2, $f2, $f0
/* 3BD3EC E00C068C 24040001 */ addiu $a0, $zero, 1
/* 3BD3F0 E00C0690 C6000034 */ lwc1 $f0, 0x34($s0)
/* 3BD3F4 E00C0694 44051000 */ mfc1 $a1, $f2
/* 3BD3F8 E00C0698 C6020008 */ lwc1 $f2, 8($s0)
/* 3BD3FC E00C069C C6080038 */ lwc1 $f8, 0x38($s0)
/* 3BD400 E00C06A0 46001080 */ add.s $f2, $f2, $f0
/* 3BD404 E00C06A4 C600000C */ lwc1 $f0, 0xc($s0)
/* 3BD408 E00C06A8 2402000A */ addiu $v0, $zero, 0xa
/* 3BD40C E00C06AC 46080000 */ add.s $f0, $f0, $f8
/* 3BD410 E00C06B0 3C014120 */ lui $at, 0x4120
/* 3BD414 E00C06B4 44812000 */ mtc1 $at, $f4
/* 3BD418 E00C06B8 3C014270 */ lui $at, 0x4270
/* 3BD41C E00C06BC 44813000 */ mtc1 $at, $f6
/* 3BD420 E00C06C0 46041080 */ add.s $f2, $f2, $f4
/* 3BD424 E00C06C4 AFA2001C */ sw $v0, 0x1c($sp)
/* 3BD428 E00C06C8 3C014000 */ lui $at, 0x4000
/* 3BD42C E00C06CC 44812000 */ mtc1 $at, $f4
/* 3BD430 E00C06D0 46060000 */ add.s $f0, $f0, $f6
/* 3BD434 E00C06D4 44061000 */ mfc1 $a2, $f2
/* 3BD438 E00C06D8 3C0142C8 */ lui $at, 0x42c8
/* 3BD43C E00C06DC 44811000 */ mtc1 $at, $f2
/* 3BD440 E00C06E0 44070000 */ mfc1 $a3, $f0
/* 3BD444 E00C06E4 2402001E */ addiu $v0, $zero, 0x1e
/* 3BD448 E00C06E8 AFA20020 */ sw $v0, 0x20($sp)
/* 3BD44C E00C06EC E7A60010 */ swc1 $f6, 0x10($sp)
/* 3BD450 E00C06F0 E7A40018 */ swc1 $f4, 0x18($sp)
/* 3BD454 E00C06F4 0C039000 */ jal misc_particles_main
/* 3BD458 E00C06F8 E7A20014 */ swc1 $f2, 0x14($sp)
.LE00C06FC:
/* 3BD45C E00C06FC 8FBF002C */ lw $ra, 0x2c($sp)
/* 3BD460 E00C0700 8FB00028 */ lw $s0, 0x28($sp)
/* 3BD464 E00C0704 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 3BD468 E00C0708 03E00008 */ jr $ra
/* 3BD46C E00C070C 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,475 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0126C30
.double 0.4
dlabel D_E0126C38
.double 0.4
.section .text
glabel star_outline_appendGfx
/* 41384C E01264EC 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 413850 E01264F0 0080302D */ daddu $a2, $a0, $zero
/* 413854 E01264F4 AFBF00D4 */ sw $ra, 0xd4($sp)
/* 413858 E01264F8 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 41385C E01264FC AFB700CC */ sw $s7, 0xcc($sp)
/* 413860 E0126500 AFB600C8 */ sw $s6, 0xc8($sp)
/* 413864 E0126504 AFB500C4 */ sw $s5, 0xc4($sp)
/* 413868 E0126508 AFB400C0 */ sw $s4, 0xc0($sp)
/* 41386C E012650C AFB300BC */ sw $s3, 0xbc($sp)
/* 413870 E0126510 AFB200B8 */ sw $s2, 0xb8($sp)
/* 413874 E0126514 AFB100B4 */ sw $s1, 0xb4($sp)
/* 413878 E0126518 AFB000B0 */ sw $s0, 0xb0($sp)
/* 41387C E012651C F7B400D8 */ sdc1 $f20, 0xd8($sp)
/* 413880 E0126520 8CD3000C */ lw $s3, 0xc($a2)
/* 413884 E0126524 8E690024 */ lw $t1, 0x24($s3)
/* 413888 E0126528 8E760018 */ lw $s6, 0x18($s3)
/* 41388C E012652C 8E77001C */ lw $s7, 0x1c($s3)
/* 413890 E0126530 8E7E0020 */ lw $fp, 0x20($s3)
/* 413894 E0126534 AFA900A0 */ sw $t1, 0xa0($sp)
/* 413898 E0126538 8E690028 */ lw $t1, 0x28($s3)
/* 41389C E012653C AFA900A4 */ sw $t1, 0xa4($sp)
/* 4138A0 E0126540 8E69002C */ lw $t1, 0x2c($s3)
/* 4138A4 E0126544 AFA900A8 */ sw $t1, 0xa8($sp)
/* 4138A8 E0126548 8E690030 */ lw $t1, 0x30($s3)
/* 4138AC E012654C 2AC20100 */ slti $v0, $s6, 0x100
/* 4138B0 E0126550 AFA900AC */ sw $t1, 0xac($sp)
/* 4138B4 E0126554 8E750034 */ lw $s5, 0x34($s3)
/* 4138B8 E0126558 50400001 */ beql $v0, $zero, .LE0126560
/* 4138BC E012655C 241600FF */ addiu $s6, $zero, 0xff
.LE0126560:
/* 4138C0 E0126560 2AE20100 */ slti $v0, $s7, 0x100
/* 4138C4 E0126564 50400001 */ beql $v0, $zero, .LE012656C
/* 4138C8 E0126568 241700FF */ addiu $s7, $zero, 0xff
.LE012656C:
/* 4138CC E012656C 2BC20100 */ slti $v0, $fp, 0x100
/* 4138D0 E0126570 50400001 */ beql $v0, $zero, .LE0126578
/* 4138D4 E0126574 241E00FF */ addiu $fp, $zero, 0xff
.LE0126578:
/* 4138D8 E0126578 8FA900A0 */ lw $t1, 0xa0($sp)
/* 4138DC E012657C 29220100 */ slti $v0, $t1, 0x100
/* 4138E0 E0126580 14400002 */ bnez $v0, .LE012658C
/* 4138E4 E0126584 240900FF */ addiu $t1, $zero, 0xff
/* 4138E8 E0126588 AFA900A0 */ sw $t1, 0xa0($sp)
.LE012658C:
/* 4138EC E012658C 8FA900A4 */ lw $t1, 0xa4($sp)
/* 4138F0 E0126590 29220100 */ slti $v0, $t1, 0x100
/* 4138F4 E0126594 14400002 */ bnez $v0, .LE01265A0
/* 4138F8 E0126598 240900FF */ addiu $t1, $zero, 0xff
/* 4138FC E012659C AFA900A4 */ sw $t1, 0xa4($sp)
.LE01265A0:
/* 413900 E01265A0 8FA900A8 */ lw $t1, 0xa8($sp)
/* 413904 E01265A4 29220100 */ slti $v0, $t1, 0x100
/* 413908 E01265A8 14400002 */ bnez $v0, .LE01265B4
/* 41390C E01265AC 240900FF */ addiu $t1, $zero, 0xff
/* 413910 E01265B0 AFA900A8 */ sw $t1, 0xa8($sp)
.LE01265B4:
/* 413914 E01265B4 8FA900AC */ lw $t1, 0xac($sp)
/* 413918 E01265B8 29220100 */ slti $v0, $t1, 0x100
/* 41391C E01265BC 14400003 */ bnez $v0, .LE01265CC
/* 413920 E01265C0 2AA20100 */ slti $v0, $s5, 0x100
/* 413924 E01265C4 240900FF */ addiu $t1, $zero, 0xff
/* 413928 E01265C8 AFA900AC */ sw $t1, 0xac($sp)
.LE01265CC:
/* 41392C E01265CC 50400001 */ beql $v0, $zero, .LE01265D4
/* 413930 E01265D0 241500FF */ addiu $s5, $zero, 0xff
.LE01265D4:
/* 413934 E01265D4 06C20001 */ bltzl $s6, .LE01265DC
/* 413938 E01265D8 0000B02D */ daddu $s6, $zero, $zero
.LE01265DC:
/* 41393C E01265DC 06E20001 */ bltzl $s7, .LE01265E4
/* 413940 E01265E0 0000B82D */ daddu $s7, $zero, $zero
.LE01265E4:
/* 413944 E01265E4 07C20001 */ bltzl $fp, .LE01265EC
/* 413948 E01265E8 0000F02D */ daddu $fp, $zero, $zero
.LE01265EC:
/* 41394C E01265EC 8FA900A0 */ lw $t1, 0xa0($sp)
/* 413950 E01265F0 05220001 */ bltzl $t1, .LE01265F8
/* 413954 E01265F4 AFA000A0 */ sw $zero, 0xa0($sp)
.LE01265F8:
/* 413958 E01265F8 8FA900A4 */ lw $t1, 0xa4($sp)
/* 41395C E01265FC 05220001 */ bltzl $t1, .LE0126604
/* 413960 E0126600 AFA000A4 */ sw $zero, 0xa4($sp)
.LE0126604:
/* 413964 E0126604 8FA900A8 */ lw $t1, 0xa8($sp)
/* 413968 E0126608 05220001 */ bltzl $t1, .LE0126610
/* 41396C E012660C AFA000A8 */ sw $zero, 0xa8($sp)
.LE0126610:
/* 413970 E0126610 8FA900AC */ lw $t1, 0xac($sp)
/* 413974 E0126614 05220001 */ bltzl $t1, .LE012661C
/* 413978 E0126618 AFA000AC */ sw $zero, 0xac($sp)
.LE012661C:
/* 41397C E012661C 06A20001 */ bltzl $s5, .LE0126624
/* 413980 E0126620 0000A82D */ daddu $s5, $zero, $zero
.LE0126624:
/* 413984 E0126624 3C05DB06 */ lui $a1, 0xdb06
/* 413988 E0126628 3C14800A */ lui $s4, %hi(gMasterGfxPos)
/* 41398C E012662C 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos)
/* 413990 E0126630 34A50024 */ ori $a1, $a1, 0x24
/* 413994 E0126634 8E840000 */ lw $a0, ($s4)
/* 413998 E0126638 3C02E700 */ lui $v0, 0xe700
/* 41399C E012663C 0080182D */ daddu $v1, $a0, $zero
/* 4139A0 E0126640 24840008 */ addiu $a0, $a0, 8
/* 4139A4 E0126644 AE840000 */ sw $a0, ($s4)
/* 4139A8 E0126648 AC620000 */ sw $v0, ($v1)
/* 4139AC E012664C AC600004 */ sw $zero, 4($v1)
/* 4139B0 E0126650 AC850000 */ sw $a1, ($a0)
/* 4139B4 E0126654 8CC30010 */ lw $v1, 0x10($a2)
/* 4139B8 E0126658 24820008 */ addiu $v0, $a0, 8
/* 4139BC E012665C AE820000 */ sw $v0, ($s4)
/* 4139C0 E0126660 8C63001C */ lw $v1, 0x1c($v1)
/* 4139C4 E0126664 3C02DE00 */ lui $v0, 0xde00
/* 4139C8 E0126668 AC820008 */ sw $v0, 8($a0)
/* 4139CC E012666C 3C028000 */ lui $v0, 0x8000
/* 4139D0 E0126670 00621821 */ addu $v1, $v1, $v0
/* 4139D4 E0126674 AC830004 */ sw $v1, 4($a0)
/* 4139D8 E0126678 3C03E012 */ lui $v1, %hi(D_E0126BC8)
/* 4139DC E012667C 8C636BC8 */ lw $v1, %lo(D_E0126BC8)($v1)
/* 4139E0 E0126680 24820010 */ addiu $v0, $a0, 0x10
/* 4139E4 E0126684 AE820000 */ sw $v0, ($s4)
/* 4139E8 E0126688 12A0008F */ beqz $s5, .LE01268C8
/* 4139EC E012668C AC83000C */ sw $v1, 0xc($a0)
/* 4139F0 E0126690 4480A000 */ mtc1 $zero, $f20
/* 4139F4 E0126694 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 4139F8 E0126698 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 4139FC E012669C C6600054 */ lwc1 $f0, 0x54($s3)
/* 413A00 E01266A0 3C01E012 */ lui $at, %hi(D_E0126C30)
/* 413A04 E01266A4 D4226C30 */ ldc1 $f2, %lo(D_E0126C30)($at)
/* 413A08 E01266A8 00031080 */ sll $v0, $v1, 2
/* 413A0C E01266AC 46000021 */ cvt.d.s $f0, $f0
/* 413A10 E01266B0 00431021 */ addu $v0, $v0, $v1
/* 413A14 E01266B4 00021080 */ sll $v0, $v0, 2
/* 413A18 E01266B8 46220002 */ mul.d $f0, $f0, $f2
/* 413A1C E01266BC 00000000 */ nop
/* 413A20 E01266C0 00431023 */ subu $v0, $v0, $v1
/* 413A24 E01266C4 000218C0 */ sll $v1, $v0, 3
/* 413A28 E01266C8 00431021 */ addu $v0, $v0, $v1
/* 413A2C E01266CC 000210C0 */ sll $v0, $v0, 3
/* 413A30 E01266D0 4405A000 */ mfc1 $a1, $f20
/* 413A34 E01266D4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 413A38 E01266D8 00220821 */ addu $at, $at, $v0
/* 413A3C E01266DC C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 413A40 E01266E0 4407A000 */ mfc1 $a3, $f20
/* 413A44 E01266E4 46001087 */ neg.s $f2, $f2
/* 413A48 E01266E8 44061000 */ mfc1 $a2, $f2
/* 413A4C E01266EC 46200020 */ cvt.s.d $f0, $f0
/* 413A50 E01266F0 E7A00010 */ swc1 $f0, 0x10($sp)
/* 413A54 E01266F4 C6600004 */ lwc1 $f0, 4($s3)
/* 413A58 E01266F8 E7A00014 */ swc1 $f0, 0x14($sp)
/* 413A5C E01266FC C6600008 */ lwc1 $f0, 8($s3)
/* 413A60 E0126700 27A40020 */ addiu $a0, $sp, 0x20
/* 413A64 E0126704 E7A00018 */ swc1 $f0, 0x18($sp)
/* 413A68 E0126708 C660000C */ lwc1 $f0, 0xc($s3)
/* 413A6C E012670C 3C120001 */ lui $s2, 1
/* 413A70 E0126710 0C080180 */ jal shim_guPositionF
/* 413A74 E0126714 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 413A78 E0126718 36521630 */ ori $s2, $s2, 0x1630
/* 413A7C E012671C 3C013F80 */ lui $at, 0x3f80
/* 413A80 E0126720 44810000 */ mtc1 $at, $f0
/* 413A84 E0126724 27B00060 */ addiu $s0, $sp, 0x60
/* 413A88 E0126728 E7B40014 */ swc1 $f20, 0x14($sp)
/* 413A8C E012672C E7B40018 */ swc1 $f20, 0x18($sp)
/* 413A90 E0126730 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 413A94 E0126734 E7A00010 */ swc1 $f0, 0x10($sp)
/* 413A98 E0126738 8E650048 */ lw $a1, 0x48($s3)
/* 413A9C E012673C 8E66004C */ lw $a2, 0x4c($s3)
/* 413AA0 E0126740 8E670050 */ lw $a3, 0x50($s3)
/* 413AA4 E0126744 0C080180 */ jal shim_guPositionF
/* 413AA8 E0126748 0200202D */ daddu $a0, $s0, $zero
/* 413AAC E012674C 0200202D */ daddu $a0, $s0, $zero
/* 413AB0 E0126750 27A50020 */ addiu $a1, $sp, 0x20
/* 413AB4 E0126754 0C080114 */ jal shim_guMtxCatF
/* 413AB8 E0126758 00A0302D */ daddu $a2, $a1, $zero
/* 413ABC E012675C 27A40020 */ addiu $a0, $sp, 0x20
/* 413AC0 E0126760 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 413AC4 E0126764 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 413AC8 E0126768 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 413ACC E012676C 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 413AD0 E0126770 96050000 */ lhu $a1, ($s0)
/* 413AD4 E0126774 8E220000 */ lw $v0, ($s1)
/* 413AD8 E0126778 00052980 */ sll $a1, $a1, 6
/* 413ADC E012677C 00B22821 */ addu $a1, $a1, $s2
/* 413AE0 E0126780 0C080118 */ jal shim_guMtxF2L
/* 413AE4 E0126784 00452821 */ addu $a1, $v0, $a1
/* 413AE8 E0126788 3C02DA38 */ lui $v0, 0xda38
/* 413AEC E012678C 34420002 */ ori $v0, $v0, 2
/* 413AF0 E0126790 8E860000 */ lw $a2, ($s4)
/* 413AF4 E0126794 96040000 */ lhu $a0, ($s0)
/* 413AF8 E0126798 00C0282D */ daddu $a1, $a2, $zero
/* 413AFC E012679C 24C60008 */ addiu $a2, $a2, 8
/* 413B00 E01267A0 AE860000 */ sw $a2, ($s4)
/* 413B04 E01267A4 ACA20000 */ sw $v0, ($a1)
/* 413B08 E01267A8 3082FFFF */ andi $v0, $a0, 0xffff
/* 413B0C E01267AC 00021180 */ sll $v0, $v0, 6
/* 413B10 E01267B0 8E230000 */ lw $v1, ($s1)
/* 413B14 E01267B4 00521021 */ addu $v0, $v0, $s2
/* 413B18 E01267B8 00621821 */ addu $v1, $v1, $v0
/* 413B1C E01267BC ACA30004 */ sw $v1, 4($a1)
/* 413B20 E01267C0 86620000 */ lh $v0, ($s3)
/* 413B24 E01267C4 24840001 */ addiu $a0, $a0, 1
/* 413B28 E01267C8 14400006 */ bnez $v0, .LE01267E4
/* 413B2C E01267CC A6040000 */ sh $a0, ($s0)
/* 413B30 E01267D0 3C04E200 */ lui $a0, 0xe200
/* 413B34 E01267D4 3484001C */ ori $a0, $a0, 0x1c
/* 413B38 E01267D8 3C030050 */ lui $v1, 0x50
/* 413B3C E01267DC 080499FD */ j .LE01267F4
/* 413B40 E01267E0 34634340 */ ori $v1, $v1, 0x4340
.LE01267E4:
/* 413B44 E01267E4 3C04E200 */ lui $a0, 0xe200
/* 413B48 E01267E8 3484001C */ ori $a0, $a0, 0x1c
/* 413B4C E01267EC 3C030050 */ lui $v1, 0x50
/* 413B50 E01267F0 34634B50 */ ori $v1, $v1, 0x4b50
.LE01267F4:
/* 413B54 E01267F4 24C20008 */ addiu $v0, $a2, 8
/* 413B58 E01267F8 AE820000 */ sw $v0, ($s4)
/* 413B5C E01267FC ACC40000 */ sw $a0, ($a2)
/* 413B60 E0126800 ACC30004 */ sw $v1, 4($a2)
/* 413B64 E0126804 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 413B68 E0126808 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 413B6C E012680C 3C02FA00 */ lui $v0, 0xfa00
/* 413B70 E0126810 00161E00 */ sll $v1, $s6, 0x18
/* 413B74 E0126814 00152843 */ sra $a1, $s5, 1
/* 413B78 E0126818 8CC40000 */ lw $a0, ($a2)
/* 413B7C E012681C 30A500FF */ andi $a1, $a1, 0xff
/* 413B80 E0126820 0080382D */ daddu $a3, $a0, $zero
/* 413B84 E0126824 24840008 */ addiu $a0, $a0, 8
/* 413B88 E0126828 ACC40000 */ sw $a0, ($a2)
/* 413B8C E012682C ACE20000 */ sw $v0, ($a3)
/* 413B90 E0126830 32E200FF */ andi $v0, $s7, 0xff
/* 413B94 E0126834 00021400 */ sll $v0, $v0, 0x10
/* 413B98 E0126838 00621825 */ or $v1, $v1, $v0
/* 413B9C E012683C 33C200FF */ andi $v0, $fp, 0xff
/* 413BA0 E0126840 00021200 */ sll $v0, $v0, 8
/* 413BA4 E0126844 00621825 */ or $v1, $v1, $v0
/* 413BA8 E0126848 00651825 */ or $v1, $v1, $a1
/* 413BAC E012684C 24820008 */ addiu $v0, $a0, 8
/* 413BB0 E0126850 ACE30004 */ sw $v1, 4($a3)
/* 413BB4 E0126854 ACC20000 */ sw $v0, ($a2)
/* 413BB8 E0126858 3C02FB00 */ lui $v0, 0xfb00
/* 413BBC E012685C AC820000 */ sw $v0, ($a0)
/* 413BC0 E0126860 8FA900A4 */ lw $t1, 0xa4($sp)
/* 413BC4 E0126864 3C08D838 */ lui $t0, 0xd838
/* 413BC8 E0126868 00091E00 */ sll $v1, $t1, 0x18
/* 413BCC E012686C 8FA900A8 */ lw $t1, 0xa8($sp)
/* 413BD0 E0126870 35080002 */ ori $t0, $t0, 2
/* 413BD4 E0126874 312200FF */ andi $v0, $t1, 0xff
/* 413BD8 E0126878 00021400 */ sll $v0, $v0, 0x10
/* 413BDC E012687C 8FA900AC */ lw $t1, 0xac($sp)
/* 413BE0 E0126880 00621825 */ or $v1, $v1, $v0
/* 413BE4 E0126884 312200FF */ andi $v0, $t1, 0xff
/* 413BE8 E0126888 00021200 */ sll $v0, $v0, 8
/* 413BEC E012688C 00621825 */ or $v1, $v1, $v0
/* 413BF0 E0126890 00651825 */ or $v1, $v1, $a1
/* 413BF4 E0126894 24820010 */ addiu $v0, $a0, 0x10
/* 413BF8 E0126898 AC830004 */ sw $v1, 4($a0)
/* 413BFC E012689C ACC20000 */ sw $v0, ($a2)
/* 413C00 E01268A0 3C02DE00 */ lui $v0, 0xde00
/* 413C04 E01268A4 AC820008 */ sw $v0, 8($a0)
/* 413C08 E01268A8 3C03E012 */ lui $v1, %hi(D_E0126BC4)
/* 413C0C E01268AC 8C636BC4 */ lw $v1, %lo(D_E0126BC4)($v1)
/* 413C10 E01268B0 24820018 */ addiu $v0, $a0, 0x18
/* 413C14 E01268B4 ACC20000 */ sw $v0, ($a2)
/* 413C18 E01268B8 24020040 */ addiu $v0, $zero, 0x40
/* 413C1C E01268BC AC880010 */ sw $t0, 0x10($a0)
/* 413C20 E01268C0 AC820014 */ sw $v0, 0x14($a0)
/* 413C24 E01268C4 AC83000C */ sw $v1, 0xc($a0)
.LE01268C8:
/* 413C28 E01268C8 4480A000 */ mtc1 $zero, $f20
/* 413C2C E01268CC 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 413C30 E01268D0 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 413C34 E01268D4 C6600038 */ lwc1 $f0, 0x38($s3)
/* 413C38 E01268D8 3C01E012 */ lui $at, %hi(D_E0126C38)
/* 413C3C E01268DC D4226C38 */ ldc1 $f2, %lo(D_E0126C38)($at)
/* 413C40 E01268E0 00031080 */ sll $v0, $v1, 2
/* 413C44 E01268E4 46000021 */ cvt.d.s $f0, $f0
/* 413C48 E01268E8 00431021 */ addu $v0, $v0, $v1
/* 413C4C E01268EC 00021080 */ sll $v0, $v0, 2
/* 413C50 E01268F0 46220002 */ mul.d $f0, $f0, $f2
/* 413C54 E01268F4 00000000 */ nop
/* 413C58 E01268F8 00431023 */ subu $v0, $v0, $v1
/* 413C5C E01268FC 000218C0 */ sll $v1, $v0, 3
/* 413C60 E0126900 00431021 */ addu $v0, $v0, $v1
/* 413C64 E0126904 000210C0 */ sll $v0, $v0, 3
/* 413C68 E0126908 4405A000 */ mfc1 $a1, $f20
/* 413C6C E012690C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 413C70 E0126910 00220821 */ addu $at, $at, $v0
/* 413C74 E0126914 C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 413C78 E0126918 4407A000 */ mfc1 $a3, $f20
/* 413C7C E012691C 46001087 */ neg.s $f2, $f2
/* 413C80 E0126920 44061000 */ mfc1 $a2, $f2
/* 413C84 E0126924 46200020 */ cvt.s.d $f0, $f0
/* 413C88 E0126928 E7A00010 */ swc1 $f0, 0x10($sp)
/* 413C8C E012692C C6600004 */ lwc1 $f0, 4($s3)
/* 413C90 E0126930 E7A00014 */ swc1 $f0, 0x14($sp)
/* 413C94 E0126934 C6600008 */ lwc1 $f0, 8($s3)
/* 413C98 E0126938 27A40020 */ addiu $a0, $sp, 0x20
/* 413C9C E012693C E7A00018 */ swc1 $f0, 0x18($sp)
/* 413CA0 E0126940 C660000C */ lwc1 $f0, 0xc($s3)
/* 413CA4 E0126944 3C120001 */ lui $s2, 1
/* 413CA8 E0126948 0C080180 */ jal shim_guPositionF
/* 413CAC E012694C E7A0001C */ swc1 $f0, 0x1c($sp)
/* 413CB0 E0126950 36521630 */ ori $s2, $s2, 0x1630
/* 413CB4 E0126954 3C013F80 */ lui $at, 0x3f80
/* 413CB8 E0126958 44810000 */ mtc1 $at, $f0
/* 413CBC E012695C 27B00060 */ addiu $s0, $sp, 0x60
/* 413CC0 E0126960 E7B40014 */ swc1 $f20, 0x14($sp)
/* 413CC4 E0126964 E7B40018 */ swc1 $f20, 0x18($sp)
/* 413CC8 E0126968 E7B4001C */ swc1 $f20, 0x1c($sp)
/* 413CCC E012696C E7A00010 */ swc1 $f0, 0x10($sp)
/* 413CD0 E0126970 8E65003C */ lw $a1, 0x3c($s3)
/* 413CD4 E0126974 8E660040 */ lw $a2, 0x40($s3)
/* 413CD8 E0126978 8E670044 */ lw $a3, 0x44($s3)
/* 413CDC E012697C 0C080180 */ jal shim_guPositionF
/* 413CE0 E0126980 0200202D */ daddu $a0, $s0, $zero
/* 413CE4 E0126984 0200202D */ daddu $a0, $s0, $zero
/* 413CE8 E0126988 27A50020 */ addiu $a1, $sp, 0x20
/* 413CEC E012698C 0C080114 */ jal shim_guMtxCatF
/* 413CF0 E0126990 00A0302D */ daddu $a2, $a1, $zero
/* 413CF4 E0126994 27A40020 */ addiu $a0, $sp, 0x20
/* 413CF8 E0126998 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 413CFC E012699C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 413D00 E01269A0 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 413D04 E01269A4 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 413D08 E01269A8 96050000 */ lhu $a1, ($s0)
/* 413D0C E01269AC 8E220000 */ lw $v0, ($s1)
/* 413D10 E01269B0 00052980 */ sll $a1, $a1, 6
/* 413D14 E01269B4 00B22821 */ addu $a1, $a1, $s2
/* 413D18 E01269B8 0C080118 */ jal shim_guMtxF2L
/* 413D1C E01269BC 00452821 */ addu $a1, $v0, $a1
/* 413D20 E01269C0 3C03DA38 */ lui $v1, 0xda38
/* 413D24 E01269C4 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 413D28 E01269C8 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 413D2C E01269CC 34630002 */ ori $v1, $v1, 2
/* 413D30 E01269D0 8CC50000 */ lw $a1, ($a2)
/* 413D34 E01269D4 96020000 */ lhu $v0, ($s0)
/* 413D38 E01269D8 00A0202D */ daddu $a0, $a1, $zero
/* 413D3C E01269DC 24A50008 */ addiu $a1, $a1, 8
/* 413D40 E01269E0 ACC50000 */ sw $a1, ($a2)
/* 413D44 E01269E4 AC830000 */ sw $v1, ($a0)
/* 413D48 E01269E8 24430001 */ addiu $v1, $v0, 1
/* 413D4C E01269EC 3042FFFF */ andi $v0, $v0, 0xffff
/* 413D50 E01269F0 00021180 */ sll $v0, $v0, 6
/* 413D54 E01269F4 A6030000 */ sh $v1, ($s0)
/* 413D58 E01269F8 8E230000 */ lw $v1, ($s1)
/* 413D5C E01269FC 00521021 */ addu $v0, $v0, $s2
/* 413D60 E0126A00 00621821 */ addu $v1, $v1, $v0
/* 413D64 E0126A04 12A0001A */ beqz $s5, .LE0126A70
/* 413D68 E0126A08 AC830004 */ sw $v1, 4($a0)
/* 413D6C E0126A0C 86620000 */ lh $v0, ($s3)
/* 413D70 E0126A10 14400005 */ bnez $v0, .LE0126A28
/* 413D74 E0126A14 3C04E200 */ lui $a0, 0xe200
/* 413D78 E0126A18 3484001C */ ori $a0, $a0, 0x1c
/* 413D7C E0126A1C 3C030050 */ lui $v1, 0x50
/* 413D80 E0126A20 08049A8D */ j .LE0126A34
/* 413D84 E0126A24 34634340 */ ori $v1, $v1, 0x4340
.LE0126A28:
/* 413D88 E0126A28 3484001C */ ori $a0, $a0, 0x1c
/* 413D8C E0126A2C 3C030050 */ lui $v1, 0x50
/* 413D90 E0126A30 34634B50 */ ori $v1, $v1, 0x4b50
.LE0126A34:
/* 413D94 E0126A34 24A20008 */ addiu $v0, $a1, 8
/* 413D98 E0126A38 ACC20000 */ sw $v0, ($a2)
/* 413D9C E0126A3C ACA40000 */ sw $a0, ($a1)
/* 413DA0 E0126A40 ACA30004 */ sw $v1, 4($a1)
/* 413DA4 E0126A44 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 413DA8 E0126A48 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 413DAC E0126A4C 8CA30000 */ lw $v1, ($a1)
/* 413DB0 E0126A50 3C02DE00 */ lui $v0, 0xde00
/* 413DB4 E0126A54 0060202D */ daddu $a0, $v1, $zero
/* 413DB8 E0126A58 AC820000 */ sw $v0, ($a0)
/* 413DBC E0126A5C 3C02E012 */ lui $v0, %hi(D_E0126BC4)
/* 413DC0 E0126A60 8C426BC4 */ lw $v0, %lo(D_E0126BC4)($v0)
/* 413DC4 E0126A64 24630008 */ addiu $v1, $v1, 8
/* 413DC8 E0126A68 ACA30000 */ sw $v1, ($a1)
/* 413DCC E0126A6C AC820004 */ sw $v0, 4($a0)
.LE0126A70:
/* 413DD0 E0126A70 86620000 */ lh $v0, ($s3)
/* 413DD4 E0126A74 14400008 */ bnez $v0, .LE0126A98
/* 413DD8 E0126A78 3C06E200 */ lui $a2, 0xe200
/* 413DDC E0126A7C 34C6001C */ ori $a2, $a2, 0x1c
/* 413DE0 E0126A80 3C050050 */ lui $a1, 0x50
/* 413DE4 E0126A84 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 413DE8 E0126A88 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 413DEC E0126A8C 8C820000 */ lw $v0, ($a0)
/* 413DF0 E0126A90 08049AAC */ j .LE0126AB0
/* 413DF4 E0126A94 34A541C8 */ ori $a1, $a1, 0x41c8
.LE0126A98:
/* 413DF8 E0126A98 34C6001C */ ori $a2, $a2, 0x1c
/* 413DFC E0126A9C 3C050050 */ lui $a1, 0x50
/* 413E00 E0126AA0 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 413E04 E0126AA4 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 413E08 E0126AA8 8C820000 */ lw $v0, ($a0)
/* 413E0C E0126AAC 34A549D8 */ ori $a1, $a1, 0x49d8
.LE0126AB0:
/* 413E10 E0126AB0 0040182D */ daddu $v1, $v0, $zero
/* 413E14 E0126AB4 24420008 */ addiu $v0, $v0, 8
/* 413E18 E0126AB8 AC820000 */ sw $v0, ($a0)
/* 413E1C E0126ABC AC660000 */ sw $a2, ($v1)
/* 413E20 E0126AC0 AC650004 */ sw $a1, 4($v1)
/* 413E24 E0126AC4 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 413E28 E0126AC8 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 413E2C E0126ACC 3C02FA00 */ lui $v0, 0xfa00
/* 413E30 E0126AD0 8CA40000 */ lw $a0, ($a1)
/* 413E34 E0126AD4 00161E00 */ sll $v1, $s6, 0x18
/* 413E38 E0126AD8 0080302D */ daddu $a2, $a0, $zero
/* 413E3C E0126ADC 24840008 */ addiu $a0, $a0, 8
/* 413E40 E0126AE0 ACA40000 */ sw $a0, ($a1)
/* 413E44 E0126AE4 ACC20000 */ sw $v0, ($a2)
/* 413E48 E0126AE8 32E200FF */ andi $v0, $s7, 0xff
/* 413E4C E0126AEC 00021400 */ sll $v0, $v0, 0x10
/* 413E50 E0126AF0 00621825 */ or $v1, $v1, $v0
/* 413E54 E0126AF4 33C200FF */ andi $v0, $fp, 0xff
/* 413E58 E0126AF8 00021200 */ sll $v0, $v0, 8
/* 413E5C E0126AFC 00621825 */ or $v1, $v1, $v0
/* 413E60 E0126B00 8FA900A0 */ lw $t1, 0xa0($sp)
/* 413E64 E0126B04 24820008 */ addiu $v0, $a0, 8
/* 413E68 E0126B08 312700FF */ andi $a3, $t1, 0xff
/* 413E6C E0126B0C 00671825 */ or $v1, $v1, $a3
/* 413E70 E0126B10 ACC30004 */ sw $v1, 4($a2)
/* 413E74 E0126B14 ACA20000 */ sw $v0, ($a1)
/* 413E78 E0126B18 3C02FB00 */ lui $v0, 0xfb00
/* 413E7C E0126B1C AC820000 */ sw $v0, ($a0)
/* 413E80 E0126B20 8FA900A4 */ lw $t1, 0xa4($sp)
/* 413E84 E0126B24 3C08D838 */ lui $t0, 0xd838
/* 413E88 E0126B28 00091E00 */ sll $v1, $t1, 0x18
/* 413E8C E0126B2C 8FA900A8 */ lw $t1, 0xa8($sp)
/* 413E90 E0126B30 35080002 */ ori $t0, $t0, 2
/* 413E94 E0126B34 312200FF */ andi $v0, $t1, 0xff
/* 413E98 E0126B38 00021400 */ sll $v0, $v0, 0x10
/* 413E9C E0126B3C 8FA900AC */ lw $t1, 0xac($sp)
/* 413EA0 E0126B40 00621825 */ or $v1, $v1, $v0
/* 413EA4 E0126B44 312200FF */ andi $v0, $t1, 0xff
/* 413EA8 E0126B48 00021200 */ sll $v0, $v0, 8
/* 413EAC E0126B4C 00621825 */ or $v1, $v1, $v0
/* 413EB0 E0126B50 00671825 */ or $v1, $v1, $a3
/* 413EB4 E0126B54 24820010 */ addiu $v0, $a0, 0x10
/* 413EB8 E0126B58 AC830004 */ sw $v1, 4($a0)
/* 413EBC E0126B5C ACA20000 */ sw $v0, ($a1)
/* 413EC0 E0126B60 3C02DE00 */ lui $v0, 0xde00
/* 413EC4 E0126B64 AC820008 */ sw $v0, 8($a0)
/* 413EC8 E0126B68 3C03E012 */ lui $v1, %hi(D_E0126BC0)
/* 413ECC E0126B6C 8C636BC0 */ lw $v1, %lo(D_E0126BC0)($v1)
/* 413ED0 E0126B70 24820018 */ addiu $v0, $a0, 0x18
/* 413ED4 E0126B74 ACA20000 */ sw $v0, ($a1)
/* 413ED8 E0126B78 24020040 */ addiu $v0, $zero, 0x40
/* 413EDC E0126B7C AC880010 */ sw $t0, 0x10($a0)
/* 413EE0 E0126B80 AC820014 */ sw $v0, 0x14($a0)
/* 413EE4 E0126B84 AC83000C */ sw $v1, 0xc($a0)
/* 413EE8 E0126B88 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 413EEC E0126B8C 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 413EF0 E0126B90 8FB700CC */ lw $s7, 0xcc($sp)
/* 413EF4 E0126B94 8FB600C8 */ lw $s6, 0xc8($sp)
/* 413EF8 E0126B98 8FB500C4 */ lw $s5, 0xc4($sp)
/* 413EFC E0126B9C 8FB400C0 */ lw $s4, 0xc0($sp)
/* 413F00 E0126BA0 8FB300BC */ lw $s3, 0xbc($sp)
/* 413F04 E0126BA4 8FB200B8 */ lw $s2, 0xb8($sp)
/* 413F08 E0126BA8 8FB100B4 */ lw $s1, 0xb4($sp)
/* 413F0C E0126BAC 8FB000B0 */ lw $s0, 0xb0($sp)
/* 413F10 E0126BB0 D7B400D8 */ ldc1 $f20, 0xd8($sp)
/* 413F14 E0126BB4 03E00008 */ jr $ra
/* 413F18 E0126BB8 27BD00E0 */ addiu $sp, $sp, 0xe0
/* 413F1C E0126BBC 00000000 */ nop

View File

@ -1,221 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel stars_spread_appendGfx
/* 3606B4 E005A3F4 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 3606B8 E005A3F8 AFBE00B8 */ sw $fp, 0xb8($sp)
/* 3606BC E005A3FC 0080F02D */ daddu $fp, $a0, $zero
/* 3606C0 E005A400 3C06DB06 */ lui $a2, 0xdb06
/* 3606C4 E005A404 34C60024 */ ori $a2, $a2, 0x24
/* 3606C8 E005A408 27A40018 */ addiu $a0, $sp, 0x18
/* 3606CC E005A40C AFB00098 */ sw $s0, 0x98($sp)
/* 3606D0 E005A410 3C100001 */ lui $s0, 1
/* 3606D4 E005A414 36101630 */ ori $s0, $s0, 0x1630
/* 3606D8 E005A418 AFB200A0 */ sw $s2, 0xa0($sp)
/* 3606DC E005A41C 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 3606E0 E005A420 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 3606E4 E005A424 3C02E700 */ lui $v0, 0xe700
/* 3606E8 E005A428 AFBF00BC */ sw $ra, 0xbc($sp)
/* 3606EC E005A42C AFB700B4 */ sw $s7, 0xb4($sp)
/* 3606F0 E005A430 AFB600B0 */ sw $s6, 0xb0($sp)
/* 3606F4 E005A434 AFB500AC */ sw $s5, 0xac($sp)
/* 3606F8 E005A438 AFB400A8 */ sw $s4, 0xa8($sp)
/* 3606FC E005A43C AFB300A4 */ sw $s3, 0xa4($sp)
/* 360700 E005A440 AFB1009C */ sw $s1, 0x9c($sp)
/* 360704 E005A444 F7B800D0 */ sdc1 $f24, 0xd0($sp)
/* 360708 E005A448 F7B600C8 */ sdc1 $f22, 0xc8($sp)
/* 36070C E005A44C F7B400C0 */ sdc1 $f20, 0xc0($sp)
/* 360710 E005A450 8E430000 */ lw $v1, ($s2)
/* 360714 E005A454 8FD3000C */ lw $s3, 0xc($fp)
/* 360718 E005A458 0060282D */ daddu $a1, $v1, $zero
/* 36071C E005A45C 24630008 */ addiu $v1, $v1, 8
/* 360720 E005A460 AE430000 */ sw $v1, ($s2)
/* 360724 E005A464 ACA20000 */ sw $v0, ($a1)
/* 360728 E005A468 24620008 */ addiu $v0, $v1, 8
/* 36072C E005A46C ACA00004 */ sw $zero, 4($a1)
/* 360730 E005A470 AE420000 */ sw $v0, ($s2)
/* 360734 E005A474 AC660000 */ sw $a2, ($v1)
/* 360738 E005A478 8FC50010 */ lw $a1, 0x10($fp)
/* 36073C E005A47C 24620010 */ addiu $v0, $v1, 0x10
/* 360740 E005A480 AE420000 */ sw $v0, ($s2)
/* 360744 E005A484 8CA5001C */ lw $a1, 0x1c($a1)
/* 360748 E005A488 3C02DE00 */ lui $v0, 0xde00
/* 36074C E005A48C AC620008 */ sw $v0, 8($v1)
/* 360750 E005A490 3C020900 */ lui $v0, 0x900
/* 360754 E005A494 24420440 */ addiu $v0, $v0, 0x440
/* 360758 E005A498 AC62000C */ sw $v0, 0xc($v1)
/* 36075C E005A49C 3C028000 */ lui $v0, 0x8000
/* 360760 E005A4A0 00A22821 */ addu $a1, $a1, $v0
/* 360764 E005A4A4 AC650004 */ sw $a1, 4($v1)
/* 360768 E005A4A8 8E650004 */ lw $a1, 4($s3)
/* 36076C E005A4AC 8E660008 */ lw $a2, 8($s3)
/* 360770 E005A4B0 8E67000C */ lw $a3, 0xc($s3)
/* 360774 E005A4B4 0C080108 */ jal shim_guTranslateF
/* 360778 E005A4B8 24140001 */ addiu $s4, $zero, 1
/* 36077C E005A4BC 27B10058 */ addiu $s1, $sp, 0x58
/* 360780 E005A4C0 4480A000 */ mtc1 $zero, $f20
/* 360784 E005A4C4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 360788 E005A4C8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 36078C E005A4CC 3C013F80 */ lui $at, 0x3f80
/* 360790 E005A4D0 4481C000 */ mtc1 $at, $f24
/* 360794 E005A4D4 00031080 */ sll $v0, $v1, 2
/* 360798 E005A4D8 00431021 */ addu $v0, $v0, $v1
/* 36079C E005A4DC 00021080 */ sll $v0, $v0, 2
/* 3607A0 E005A4E0 00431023 */ subu $v0, $v0, $v1
/* 3607A4 E005A4E4 000218C0 */ sll $v1, $v0, 3
/* 3607A8 E005A4E8 00431021 */ addu $v0, $v0, $v1
/* 3607AC E005A4EC 000210C0 */ sll $v0, $v0, 3
/* 3607B0 E005A4F0 4406A000 */ mfc1 $a2, $f20
/* 3607B4 E005A4F4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3607B8 E005A4F8 00220821 */ addu $at, $at, $v0
/* 3607BC E005A4FC C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 3607C0 E005A500 4407C000 */ mfc1 $a3, $f24
/* 3607C4 E005A504 46000007 */ neg.s $f0, $f0
/* 3607C8 E005A508 44050000 */ mfc1 $a1, $f0
/* 3607CC E005A50C 0220202D */ daddu $a0, $s1, $zero
/* 3607D0 E005A510 0C080104 */ jal shim_guRotateF
/* 3607D4 E005A514 E7B40010 */ swc1 $f20, 0x10($sp)
/* 3607D8 E005A518 0220202D */ daddu $a0, $s1, $zero
/* 3607DC E005A51C 27A50018 */ addiu $a1, $sp, 0x18
/* 3607E0 E005A520 0C080114 */ jal shim_guMtxCatF
/* 3607E4 E005A524 00A0302D */ daddu $a2, $a1, $zero
/* 3607E8 E005A528 27A40018 */ addiu $a0, $sp, 0x18
/* 3607EC E005A52C 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 3607F0 E005A530 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 3607F4 E005A534 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 3607F8 E005A538 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 3607FC E005A53C 96A50000 */ lhu $a1, ($s5)
/* 360800 E005A540 8EC20000 */ lw $v0, ($s6)
/* 360804 E005A544 00052980 */ sll $a1, $a1, 6
/* 360808 E005A548 00B02821 */ addu $a1, $a1, $s0
/* 36080C E005A54C 0C080118 */ jal shim_guMtxF2L
/* 360810 E005A550 00452821 */ addu $a1, $v0, $a1
/* 360814 E005A554 3C06DCDC */ lui $a2, 0xdcdc
/* 360818 E005A558 8E440000 */ lw $a0, ($s2)
/* 36081C E005A55C 34C628E6 */ ori $a2, $a2, 0x28e6
/* 360820 E005A560 0080282D */ daddu $a1, $a0, $zero
/* 360824 E005A564 24840008 */ addiu $a0, $a0, 8
/* 360828 E005A568 AE440000 */ sw $a0, ($s2)
/* 36082C E005A56C 96A20000 */ lhu $v0, ($s5)
/* 360830 E005A570 3C03DA38 */ lui $v1, 0xda38
/* 360834 E005A574 ACA30000 */ sw $v1, ($a1)
/* 360838 E005A578 00541821 */ addu $v1, $v0, $s4
/* 36083C E005A57C 3042FFFF */ andi $v0, $v0, 0xffff
/* 360840 E005A580 00021180 */ sll $v0, $v0, 6
/* 360844 E005A584 A6A30000 */ sh $v1, ($s5)
/* 360848 E005A588 8EC30000 */ lw $v1, ($s6)
/* 36084C E005A58C 00501021 */ addu $v0, $v0, $s0
/* 360850 E005A590 00621821 */ addu $v1, $v1, $v0
/* 360854 E005A594 24820008 */ addiu $v0, $a0, 8
/* 360858 E005A598 ACA30004 */ sw $v1, 4($a1)
/* 36085C E005A59C AE420000 */ sw $v0, ($s2)
/* 360860 E005A5A0 3C02FA00 */ lui $v0, 0xfa00
/* 360864 E005A5A4 AC820000 */ sw $v0, ($a0)
/* 360868 E005A5A8 AC860004 */ sw $a2, 4($a0)
/* 36086C E005A5AC 8FC20008 */ lw $v0, 8($fp)
/* 360870 E005A5B0 0282102A */ slt $v0, $s4, $v0
/* 360874 E005A5B4 10400049 */ beqz $v0, .LE005A6DC
/* 360878 E005A5B8 26730034 */ addiu $s3, $s3, 0x34
/* 36087C E005A5BC 4600A586 */ mov.s $f22, $f20
/* 360880 E005A5C0 4600C506 */ mov.s $f20, $f24
/* 360884 E005A5C4 02C0B82D */ daddu $s7, $s6, $zero
/* 360888 E005A5C8 02A0B02D */ daddu $s6, $s5, $zero
/* 36088C E005A5CC 3C150001 */ lui $s5, 1
/* 360890 E005A5D0 36B51630 */ ori $s5, $s5, 0x1630
/* 360894 E005A5D4 26700030 */ addiu $s0, $s3, 0x30
.LE005A5D8:
/* 360898 E005A5D8 27A40018 */ addiu $a0, $sp, 0x18
/* 36089C E005A5DC 8E05FFD4 */ lw $a1, -0x2c($s0)
/* 3608A0 E005A5E0 8E06FFD8 */ lw $a2, -0x28($s0)
/* 3608A4 E005A5E4 8E07FFDC */ lw $a3, -0x24($s0)
/* 3608A8 E005A5E8 0C080108 */ jal shim_guTranslateF
/* 3608AC E005A5EC 26940001 */ addiu $s4, $s4, 1
/* 3608B0 E005A5F0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 3608B4 E005A5F4 8E05FFEC */ lw $a1, -0x14($s0)
/* 3608B8 E005A5F8 4406B000 */ mfc1 $a2, $f22
/* 3608BC E005A5FC 4407B000 */ mfc1 $a3, $f22
/* 3608C0 E005A600 0C080104 */ jal shim_guRotateF
/* 3608C4 E005A604 0220202D */ daddu $a0, $s1, $zero
/* 3608C8 E005A608 0220202D */ daddu $a0, $s1, $zero
/* 3608CC E005A60C 27A50018 */ addiu $a1, $sp, 0x18
/* 3608D0 E005A610 0C080114 */ jal shim_guMtxCatF
/* 3608D4 E005A614 00A0302D */ daddu $a2, $a1, $zero
/* 3608D8 E005A618 0220202D */ daddu $a0, $s1, $zero
/* 3608DC E005A61C 8E050000 */ lw $a1, ($s0)
/* 3608E0 E005A620 26100034 */ addiu $s0, $s0, 0x34
/* 3608E4 E005A624 4407A000 */ mfc1 $a3, $f20
/* 3608E8 E005A628 0C080110 */ jal shim_guScaleF
/* 3608EC E005A62C 00A0302D */ daddu $a2, $a1, $zero
/* 3608F0 E005A630 0220202D */ daddu $a0, $s1, $zero
/* 3608F4 E005A634 27A50018 */ addiu $a1, $sp, 0x18
/* 3608F8 E005A638 0C080114 */ jal shim_guMtxCatF
/* 3608FC E005A63C 00A0302D */ daddu $a2, $a1, $zero
/* 360900 E005A640 27A40018 */ addiu $a0, $sp, 0x18
/* 360904 E005A644 96C50000 */ lhu $a1, ($s6)
/* 360908 E005A648 8EE20000 */ lw $v0, ($s7)
/* 36090C E005A64C 00052980 */ sll $a1, $a1, 6
/* 360910 E005A650 00B52821 */ addu $a1, $a1, $s5
/* 360914 E005A654 0C080118 */ jal shim_guMtxF2L
/* 360918 E005A658 00452821 */ addu $a1, $v0, $a1
/* 36091C E005A65C 3C06D838 */ lui $a2, 0xd838
/* 360920 E005A660 8E440000 */ lw $a0, ($s2)
/* 360924 E005A664 34C60002 */ ori $a2, $a2, 2
/* 360928 E005A668 0080282D */ daddu $a1, $a0, $zero
/* 36092C E005A66C 24840008 */ addiu $a0, $a0, 8
/* 360930 E005A670 AE440000 */ sw $a0, ($s2)
/* 360934 E005A674 96C20000 */ lhu $v0, ($s6)
/* 360938 E005A678 3C03DA38 */ lui $v1, 0xda38
/* 36093C E005A67C ACA30000 */ sw $v1, ($a1)
/* 360940 E005A680 24430001 */ addiu $v1, $v0, 1
/* 360944 E005A684 3042FFFF */ andi $v0, $v0, 0xffff
/* 360948 E005A688 00021180 */ sll $v0, $v0, 6
/* 36094C E005A68C A6C30000 */ sh $v1, ($s6)
/* 360950 E005A690 8EE30000 */ lw $v1, ($s7)
/* 360954 E005A694 00551021 */ addu $v0, $v0, $s5
/* 360958 E005A698 00621821 */ addu $v1, $v1, $v0
/* 36095C E005A69C 24820008 */ addiu $v0, $a0, 8
/* 360960 E005A6A0 ACA30004 */ sw $v1, 4($a1)
/* 360964 E005A6A4 AE420000 */ sw $v0, ($s2)
/* 360968 E005A6A8 3C02DE00 */ lui $v0, 0xde00
/* 36096C E005A6AC 3C080900 */ lui $t0, 0x900
/* 360970 E005A6B0 250804F0 */ addiu $t0, $t0, 0x4f0
/* 360974 E005A6B4 AC820000 */ sw $v0, ($a0)
/* 360978 E005A6B8 24020040 */ addiu $v0, $zero, 0x40
/* 36097C E005A6BC AC880004 */ sw $t0, 4($a0)
/* 360980 E005A6C0 AC860008 */ sw $a2, 8($a0)
/* 360984 E005A6C4 AC82000C */ sw $v0, 0xc($a0)
/* 360988 E005A6C8 8FC20008 */ lw $v0, 8($fp)
/* 36098C E005A6CC 24840010 */ addiu $a0, $a0, 0x10
/* 360990 E005A6D0 0282102A */ slt $v0, $s4, $v0
/* 360994 E005A6D4 1440FFC0 */ bnez $v0, .LE005A5D8
/* 360998 E005A6D8 AE440000 */ sw $a0, ($s2)
.LE005A6DC:
/* 36099C E005A6DC 3C05D838 */ lui $a1, 0xd838
/* 3609A0 E005A6E0 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3609A4 E005A6E4 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3609A8 E005A6E8 8C620000 */ lw $v0, ($v1)
/* 3609AC E005A6EC 34A50002 */ ori $a1, $a1, 2
/* 3609B0 E005A6F0 0040202D */ daddu $a0, $v0, $zero
/* 3609B4 E005A6F4 24420008 */ addiu $v0, $v0, 8
/* 3609B8 E005A6F8 AC620000 */ sw $v0, ($v1)
/* 3609BC E005A6FC 24020040 */ addiu $v0, $zero, 0x40
/* 3609C0 E005A700 AC850000 */ sw $a1, ($a0)
/* 3609C4 E005A704 AC820004 */ sw $v0, 4($a0)
/* 3609C8 E005A708 8FBF00BC */ lw $ra, 0xbc($sp)
/* 3609CC E005A70C 8FBE00B8 */ lw $fp, 0xb8($sp)
/* 3609D0 E005A710 8FB700B4 */ lw $s7, 0xb4($sp)
/* 3609D4 E005A714 8FB600B0 */ lw $s6, 0xb0($sp)
/* 3609D8 E005A718 8FB500AC */ lw $s5, 0xac($sp)
/* 3609DC E005A71C 8FB400A8 */ lw $s4, 0xa8($sp)
/* 3609E0 E005A720 8FB300A4 */ lw $s3, 0xa4($sp)
/* 3609E4 E005A724 8FB200A0 */ lw $s2, 0xa0($sp)
/* 3609E8 E005A728 8FB1009C */ lw $s1, 0x9c($sp)
/* 3609EC E005A72C 8FB00098 */ lw $s0, 0x98($sp)
/* 3609F0 E005A730 D7B800D0 */ ldc1 $f24, 0xd0($sp)
/* 3609F4 E005A734 D7B600C8 */ ldc1 $f22, 0xc8($sp)
/* 3609F8 E005A738 D7B400C0 */ ldc1 $f20, 0xc0($sp)
/* 3609FC E005A73C 03E00008 */ jr $ra
/* 360A00 E005A740 27BD00D8 */ addiu $sp, $sp, 0xd8
/* 360A04 E005A744 00000000 */ nop
/* 360A08 E005A748 00000000 */ nop
/* 360A0C E005A74C 00000000 */ nop

View File

@ -1,135 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel stars_spread_main
/* 3602C0 E005A000 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 3602C4 E005A004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3602C8 E005A008 4485A000 */ mtc1 $a1, $f20
/* 3602CC E005A00C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3602D0 E005A010 4486B000 */ mtc1 $a2, $f22
/* 3602D4 E005A014 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3602D8 E005A018 4487C000 */ mtc1 $a3, $f24
/* 3602DC E005A01C AFB40038 */ sw $s4, 0x38($sp)
/* 3602E0 E005A020 0080A02D */ daddu $s4, $a0, $zero
/* 3602E4 E005A024 AFB30034 */ sw $s3, 0x34($sp)
/* 3602E8 E005A028 8FB30070 */ lw $s3, 0x70($sp)
/* 3602EC E005A02C 27A40010 */ addiu $a0, $sp, 0x10
/* 3602F0 E005A030 AFB20030 */ sw $s2, 0x30($sp)
/* 3602F4 E005A034 8FB20074 */ lw $s2, 0x74($sp)
/* 3602F8 E005A038 3C02E006 */ lui $v0, %hi(stars_spread_init)
/* 3602FC E005A03C 2442A1F4 */ addiu $v0, $v0, %lo(stars_spread_init)
/* 360300 E005A040 AFA20018 */ sw $v0, 0x18($sp)
/* 360304 E005A044 3C02E006 */ lui $v0, %hi(stars_spread_update)
/* 360308 E005A048 2442A1FC */ addiu $v0, $v0, %lo(stars_spread_update)
/* 36030C E005A04C AFA2001C */ sw $v0, 0x1c($sp)
/* 360310 E005A050 3C02E006 */ lui $v0, %hi(stars_spread_render)
/* 360314 E005A054 2442A3B0 */ addiu $v0, $v0, %lo(stars_spread_render)
/* 360318 E005A058 AFA20020 */ sw $v0, 0x20($sp)
/* 36031C E005A05C 2402002D */ addiu $v0, $zero, 0x2d
/* 360320 E005A060 AFBF003C */ sw $ra, 0x3c($sp)
/* 360324 E005A064 AFB1002C */ sw $s1, 0x2c($sp)
/* 360328 E005A068 AFB00028 */ sw $s0, 0x28($sp)
/* 36032C E005A06C F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 360330 E005A070 AFA00010 */ sw $zero, 0x10($sp)
/* 360334 E005A074 AFA00024 */ sw $zero, 0x24($sp)
/* 360338 E005A078 AFA20014 */ sw $v0, 0x14($sp)
/* 36033C E005A07C 0C080124 */ jal shim_create_effect_instance
/* 360340 E005A080 26730001 */ addiu $s3, $s3, 1
/* 360344 E005A084 00132040 */ sll $a0, $s3, 1
/* 360348 E005A088 00932021 */ addu $a0, $a0, $s3
/* 36034C E005A08C 00042080 */ sll $a0, $a0, 2
/* 360350 E005A090 00932021 */ addu $a0, $a0, $s3
/* 360354 E005A094 00042080 */ sll $a0, $a0, 2
/* 360358 E005A098 0040802D */ daddu $s0, $v0, $zero
/* 36035C E005A09C 0C08012C */ jal shim_general_heap_malloc
/* 360360 E005A0A0 AE130008 */ sw $s3, 8($s0)
/* 360364 E005A0A4 0040882D */ daddu $s1, $v0, $zero
/* 360368 E005A0A8 16200003 */ bnez $s1, .LE005A0B8
/* 36036C E005A0AC AE11000C */ sw $s1, 0xc($s0)
.LE005A0B0:
/* 360370 E005A0B0 0801682C */ j .LE005A0B0
/* 360374 E005A0B4 00000000 */ nop
.LE005A0B8:
/* 360378 E005A0B8 0220202D */ daddu $a0, $s1, $zero
/* 36037C E005A0BC 00132840 */ sll $a1, $s3, 1
/* 360380 E005A0C0 00B32821 */ addu $a1, $a1, $s3
/* 360384 E005A0C4 00052880 */ sll $a1, $a1, 2
/* 360388 E005A0C8 00B32821 */ addu $a1, $a1, $s3
/* 36038C E005A0CC 0C080130 */ jal shim_mem_clear
/* 360390 E005A0D0 00052880 */ sll $a1, $a1, 2
/* 360394 E005A0D4 AE320024 */ sw $s2, 0x24($s1)
/* 360398 E005A0D8 AE200028 */ sw $zero, 0x28($s1)
/* 36039C E005A0DC AE32002C */ sw $s2, 0x2c($s1)
/* 3603A0 E005A0E0 A6340000 */ sh $s4, ($s1)
/* 3603A4 E005A0E4 E6340004 */ swc1 $f20, 4($s1)
/* 3603A8 E005A0E8 E6360008 */ swc1 $f22, 8($s1)
/* 3603AC E005A0EC E638000C */ swc1 $f24, 0xc($s1)
/* 3603B0 E005A0F0 24120001 */ addiu $s2, $zero, 1
/* 3603B4 E005A0F4 0253102A */ slt $v0, $s2, $s3
/* 3603B8 E005A0F8 10400032 */ beqz $v0, .LE005A1C4
/* 3603BC E005A0FC 26310034 */ addiu $s1, $s1, 0x34
/* 3603C0 E005A100 2674FFFF */ addiu $s4, $s3, -1
/* 3603C4 E005A104 26300030 */ addiu $s0, $s1, 0x30
/* 3603C8 E005A108 0000882D */ daddu $s1, $zero, $zero
/* 3603CC E005A10C 3C014020 */ lui $at, 0x4020
/* 3603D0 E005A110 4481B800 */ mtc1 $at, $f23
/* 3603D4 E005A114 4480B000 */ mtc1 $zero, $f22
/* 3603D8 E005A118 3C0141A0 */ lui $at, 0x41a0
/* 3603DC E005A11C 4481D000 */ mtc1 $at, $f26
/* 3603E0 E005A120 3C013F80 */ lui $at, 0x3f80
/* 3603E4 E005A124 4481C000 */ mtc1 $at, $f24
.LE005A128:
/* 3603E8 E005A128 16800002 */ bnez $s4, .LE005A134
/* 3603EC E005A12C 0234001A */ div $zero, $s1, $s4
/* 3603F0 E005A130 0007000D */ break 7
.LE005A134:
/* 3603F4 E005A134 2401FFFF */ addiu $at, $zero, -1
/* 3603F8 E005A138 16810004 */ bne $s4, $at, .LE005A14C
/* 3603FC E005A13C 3C018000 */ lui $at, 0x8000
/* 360400 E005A140 16210002 */ bne $s1, $at, .LE005A14C
/* 360404 E005A144 00000000 */ nop
/* 360408 E005A148 0006000D */ break 6
.LE005A14C:
/* 36040C E005A14C 00001812 */ mflo $v1
/* 360410 E005A150 AE00FFD4 */ sw $zero, -0x2c($s0)
/* 360414 E005A154 AE00FFD8 */ sw $zero, -0x28($s0)
/* 360418 E005A158 AE00FFDC */ sw $zero, -0x24($s0)
/* 36041C E005A15C 4483A000 */ mtc1 $v1, $f20
/* 360420 E005A160 00000000 */ nop
/* 360424 E005A164 4680A520 */ cvt.s.w $f20, $f20
/* 360428 E005A168 0C080140 */ jal shim_sin_deg
/* 36042C E005A16C 4600A306 */ mov.s $f12, $f20
/* 360430 E005A170 46000021 */ cvt.d.s $f0, $f0
/* 360434 E005A174 46360002 */ mul.d $f0, $f0, $f22
/* 360438 E005A178 00000000 */ nop
/* 36043C E005A17C 4600A306 */ mov.s $f12, $f20
/* 360440 E005A180 46200020 */ cvt.s.d $f0, $f0
/* 360444 E005A184 0C080144 */ jal shim_cos_deg
/* 360448 E005A188 E600FFE0 */ swc1 $f0, -0x20($s0)
/* 36044C E005A18C 46000021 */ cvt.d.s $f0, $f0
/* 360450 E005A190 46360002 */ mul.d $f0, $f0, $f22
/* 360454 E005A194 00000000 */ nop
/* 360458 E005A198 26310168 */ addiu $s1, $s1, 0x168
/* 36045C E005A19C 26520001 */ addiu $s2, $s2, 1
/* 360460 E005A1A0 0253102A */ slt $v0, $s2, $s3
/* 360464 E005A1A4 AE00FFE8 */ sw $zero, -0x18($s0)
/* 360468 E005A1A8 AE00FFEC */ sw $zero, -0x14($s0)
/* 36046C E005A1AC E61AFFF0 */ swc1 $f26, -0x10($s0)
/* 360470 E005A1B0 E6180000 */ swc1 $f24, ($s0)
/* 360474 E005A1B4 46200020 */ cvt.s.d $f0, $f0
/* 360478 E005A1B8 E600FFE4 */ swc1 $f0, -0x1c($s0)
/* 36047C E005A1BC 1440FFDA */ bnez $v0, .LE005A128
/* 360480 E005A1C0 26100034 */ addiu $s0, $s0, 0x34
.LE005A1C4:
/* 360484 E005A1C4 8FBF003C */ lw $ra, 0x3c($sp)
/* 360488 E005A1C8 8FB40038 */ lw $s4, 0x38($sp)
/* 36048C E005A1CC 8FB30034 */ lw $s3, 0x34($sp)
/* 360490 E005A1D0 8FB20030 */ lw $s2, 0x30($sp)
/* 360494 E005A1D4 8FB1002C */ lw $s1, 0x2c($sp)
/* 360498 E005A1D8 8FB00028 */ lw $s0, 0x28($sp)
/* 36049C E005A1DC D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 3604A0 E005A1E0 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3604A4 E005A1E4 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3604A8 E005A1E8 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3604AC E005A1EC 03E00008 */ jr $ra
/* 3604B0 E005A1F0 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,132 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E005A750
.double 0.8
dlabel D_E005A758
.double 0.7
dlabel D_E005A760
.double 0.2, 0.0
.section .text
glabel stars_spread_update
/* 3604BC E005A1FC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3604C0 E005A200 AFBF0010 */ sw $ra, 0x10($sp)
/* 3604C4 E005A204 8C85000C */ lw $a1, 0xc($a0)
/* 3604C8 E005A208 8CA20028 */ lw $v0, 0x28($a1)
/* 3604CC E005A20C 8CA30024 */ lw $v1, 0x24($a1)
/* 3604D0 E005A210 24420001 */ addiu $v0, $v0, 1
/* 3604D4 E005A214 2463FFFF */ addiu $v1, $v1, -1
/* 3604D8 E005A218 ACA20028 */ sw $v0, 0x28($a1)
/* 3604DC E005A21C 04610005 */ bgez $v1, .LE005A234
/* 3604E0 E005A220 ACA30024 */ sw $v1, 0x24($a1)
/* 3604E4 E005A224 0C080128 */ jal shim_remove_effect
/* 3604E8 E005A228 00000000 */ nop
/* 3604EC E005A22C 080168E9 */ j .LE005A3A4
/* 3604F0 E005A230 00000000 */ nop
.LE005A234:
/* 3604F4 E005A234 8CA7002C */ lw $a3, 0x2c($a1)
/* 3604F8 E005A238 8C820008 */ lw $v0, 8($a0)
/* 3604FC E005A23C 24060001 */ addiu $a2, $zero, 1
/* 360500 E005A240 00C2102A */ slt $v0, $a2, $v0
/* 360504 E005A244 10400057 */ beqz $v0, .LE005A3A4
/* 360508 E005A248 24A50034 */ addiu $a1, $a1, 0x34
/* 36050C E005A24C 28690006 */ slti $t1, $v1, 6
/* 360510 E005A250 28680005 */ slti $t0, $v1, 5
/* 360514 E005A254 00C31004 */ sllv $v0, $v1, $a2
/* 360518 E005A258 0047382A */ slt $a3, $v0, $a3
/* 36051C E005A25C 24A3001C */ addiu $v1, $a1, 0x1c
/* 360520 E005A260 3C01E006 */ lui $at, %hi(D_E005A750)
/* 360524 E005A264 D428A750 */ ldc1 $f8, %lo(D_E005A750)($at)
/* 360528 E005A268 3C01E006 */ lui $at, %hi(D_E005A758)
/* 36052C E005A26C D42AA758 */ ldc1 $f10, %lo(D_E005A758)($at)
/* 360530 E005A270 3C01E006 */ lui $at, %hi(D_E005A760)
/* 360534 E005A274 D42CA760 */ ldc1 $f12, %lo(D_E005A760)($at)
.LE005A278:
/* 360538 E005A278 15200013 */ bnez $t1, .LE005A2C8
/* 36053C E005A27C 00000000 */ nop
/* 360540 E005A280 C464FFF4 */ lwc1 $f4, -0xc($v1)
/* 360544 E005A284 46002121 */ cvt.d.s $f4, $f4
/* 360548 E005A288 46282102 */ mul.d $f4, $f4, $f8
/* 36054C E005A28C 00000000 */ nop
/* 360550 E005A290 C462FFF8 */ lwc1 $f2, -8($v1)
/* 360554 E005A294 460010A1 */ cvt.d.s $f2, $f2
/* 360558 E005A298 46281082 */ mul.d $f2, $f2, $f8
/* 36055C E005A29C 00000000 */ nop
/* 360560 E005A2A0 C460FFFC */ lwc1 $f0, -4($v1)
/* 360564 E005A2A4 46000021 */ cvt.d.s $f0, $f0
/* 360568 E005A2A8 46280002 */ mul.d $f0, $f0, $f8
/* 36056C E005A2AC 00000000 */ nop
/* 360570 E005A2B0 46202120 */ cvt.s.d $f4, $f4
/* 360574 E005A2B4 462010A0 */ cvt.s.d $f2, $f2
/* 360578 E005A2B8 46200020 */ cvt.s.d $f0, $f0
/* 36057C E005A2BC E464FFF4 */ swc1 $f4, -0xc($v1)
/* 360580 E005A2C0 E462FFF8 */ swc1 $f2, -8($v1)
/* 360584 E005A2C4 E460FFFC */ swc1 $f0, -4($v1)
.LE005A2C8:
/* 360588 E005A2C8 11000019 */ beqz $t0, .LE005A330
/* 36058C E005A2CC 00000000 */ nop
/* 360590 E005A2D0 C4660004 */ lwc1 $f6, 4($v1)
/* 360594 E005A2D4 460031A1 */ cvt.d.s $f6, $f6
/* 360598 E005A2D8 46283182 */ mul.d $f6, $f6, $f8
/* 36059C E005A2DC 00000000 */ nop
/* 3605A0 E005A2E0 C464FFF4 */ lwc1 $f4, -0xc($v1)
/* 3605A4 E005A2E4 46002121 */ cvt.d.s $f4, $f4
/* 3605A8 E005A2E8 462A2102 */ mul.d $f4, $f4, $f10
/* 3605AC E005A2EC 00000000 */ nop
/* 3605B0 E005A2F0 C462FFF8 */ lwc1 $f2, -8($v1)
/* 3605B4 E005A2F4 460010A1 */ cvt.d.s $f2, $f2
/* 3605B8 E005A2F8 462A1082 */ mul.d $f2, $f2, $f10
/* 3605BC E005A2FC 00000000 */ nop
/* 3605C0 E005A300 C460FFFC */ lwc1 $f0, -4($v1)
/* 3605C4 E005A304 46000021 */ cvt.d.s $f0, $f0
/* 3605C8 E005A308 462A0002 */ mul.d $f0, $f0, $f10
/* 3605CC E005A30C 00000000 */ nop
/* 3605D0 E005A310 462031A0 */ cvt.s.d $f6, $f6
/* 3605D4 E005A314 46202120 */ cvt.s.d $f4, $f4
/* 3605D8 E005A318 462010A0 */ cvt.s.d $f2, $f2
/* 3605DC E005A31C 46200020 */ cvt.s.d $f0, $f0
/* 3605E0 E005A320 E4660004 */ swc1 $f6, 4($v1)
/* 3605E4 E005A324 E464FFF4 */ swc1 $f4, -0xc($v1)
/* 3605E8 E005A328 E462FFF8 */ swc1 $f2, -8($v1)
/* 3605EC E005A32C E460FFFC */ swc1 $f0, -4($v1)
.LE005A330:
/* 3605F0 E005A330 10E0000A */ beqz $a3, .LE005A35C
/* 3605F4 E005A334 00000000 */ nop
/* 3605F8 E005A338 C4600014 */ lwc1 $f0, 0x14($v1)
/* 3605FC E005A33C 46000087 */ neg.s $f2, $f0
/* 360600 E005A340 460010A1 */ cvt.d.s $f2, $f2
/* 360604 E005A344 462C1082 */ mul.d $f2, $f2, $f12
/* 360608 E005A348 00000000 */ nop
/* 36060C E005A34C 46000021 */ cvt.d.s $f0, $f0
/* 360610 E005A350 46220000 */ add.d $f0, $f0, $f2
/* 360614 E005A354 46200020 */ cvt.s.d $f0, $f0
/* 360618 E005A358 E4600014 */ swc1 $f0, 0x14($v1)
.LE005A35C:
/* 36061C E005A35C C466FFE8 */ lwc1 $f6, -0x18($v1)
/* 360620 E005A360 C460FFF4 */ lwc1 $f0, -0xc($v1)
/* 360624 E005A364 C462FFEC */ lwc1 $f2, -0x14($v1)
/* 360628 E005A368 46003180 */ add.s $f6, $f6, $f0
/* 36062C E005A36C C460FFF8 */ lwc1 $f0, -8($v1)
/* 360630 E005A370 C4640004 */ lwc1 $f4, 4($v1)
/* 360634 E005A374 46001080 */ add.s $f2, $f2, $f0
/* 360638 E005A378 C4600000 */ lwc1 $f0, ($v1)
/* 36063C E005A37C 24C60001 */ addiu $a2, $a2, 1
/* 360640 E005A380 AC60FFF0 */ sw $zero, -0x10($v1)
/* 360644 E005A384 46040000 */ add.s $f0, $f0, $f4
/* 360648 E005A388 E466FFE8 */ swc1 $f6, -0x18($v1)
/* 36064C E005A38C E462FFEC */ swc1 $f2, -0x14($v1)
/* 360650 E005A390 E4600000 */ swc1 $f0, ($v1)
/* 360654 E005A394 8C820008 */ lw $v0, 8($a0)
/* 360658 E005A398 00C2102A */ slt $v0, $a2, $v0
/* 36065C E005A39C 1440FFB6 */ bnez $v0, .LE005A278
/* 360660 E005A3A0 24630034 */ addiu $v1, $v1, 0x34
.LE005A3A4:
/* 360664 E005A3A4 8FBF0010 */ lw $ra, 0x10($sp)
/* 360668 E005A3A8 03E00008 */ jr $ra
/* 36066C E005A3AC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,266 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel steam_burst_appendGfx
/* 361238 E005C2F8 27BDFEF8 */ addiu $sp, $sp, -0x108
/* 36123C E005C2FC AFBE0100 */ sw $fp, 0x100($sp)
/* 361240 E005C300 0080F02D */ daddu $fp, $a0, $zero
/* 361244 E005C304 3C08DB06 */ lui $t0, 0xdb06
/* 361248 E005C308 35080024 */ ori $t0, $t0, 0x24
/* 36124C E005C30C 27A40018 */ addiu $a0, $sp, 0x18
/* 361250 E005C310 AFB500F4 */ sw $s5, 0xf4($sp)
/* 361254 E005C314 3C150001 */ lui $s5, 1
/* 361258 E005C318 AFB700FC */ sw $s7, 0xfc($sp)
/* 36125C E005C31C 3C17800A */ lui $s7, %hi(gMasterGfxPos)
/* 361260 E005C320 26F7A66C */ addiu $s7, $s7, %lo(gMasterGfxPos)
/* 361264 E005C324 AFBF0104 */ sw $ra, 0x104($sp)
/* 361268 E005C328 AFB600F8 */ sw $s6, 0xf8($sp)
/* 36126C E005C32C AFB400F0 */ sw $s4, 0xf0($sp)
/* 361270 E005C330 AFB300EC */ sw $s3, 0xec($sp)
/* 361274 E005C334 AFB200E8 */ sw $s2, 0xe8($sp)
/* 361278 E005C338 AFB100E4 */ sw $s1, 0xe4($sp)
/* 36127C E005C33C AFB000E0 */ sw $s0, 0xe0($sp)
/* 361280 E005C340 8EE50000 */ lw $a1, ($s7)
/* 361284 E005C344 8FD6000C */ lw $s6, 0xc($fp)
/* 361288 E005C348 00A0302D */ daddu $a2, $a1, $zero
/* 36128C E005C34C 24A50008 */ addiu $a1, $a1, 8
/* 361290 E005C350 AEE50000 */ sw $a1, ($s7)
/* 361294 E005C354 96C30000 */ lhu $v1, ($s6)
/* 361298 E005C358 24A20008 */ addiu $v0, $a1, 8
/* 36129C E005C35C AEE20000 */ sw $v0, ($s7)
/* 3612A0 E005C360 C6C20030 */ lwc1 $f2, 0x30($s6)
/* 3612A4 E005C364 00031880 */ sll $v1, $v1, 2
/* 3612A8 E005C368 3C09E006 */ lui $t1, %hi(D_E005C700)
/* 3612AC E005C36C 01234821 */ addu $t1, $t1, $v1
/* 3612B0 E005C370 8D29C700 */ lw $t1, %lo(D_E005C700)($t1)
/* 3612B4 E005C374 36B51630 */ ori $s5, $s5, 0x1630
/* 3612B8 E005C378 AFA900D8 */ sw $t1, 0xd8($sp)
/* 3612BC E005C37C 3C07E006 */ lui $a3, %hi(D_E005C704)
/* 3612C0 E005C380 00E33821 */ addu $a3, $a3, $v1
/* 3612C4 E005C384 8CE7C704 */ lw $a3, %lo(D_E005C704)($a3)
/* 3612C8 E005C388 3C02E700 */ lui $v0, 0xe700
/* 3612CC E005C38C ACC20000 */ sw $v0, ($a2)
/* 3612D0 E005C390 ACC00004 */ sw $zero, 4($a2)
/* 3612D4 E005C394 ACA80000 */ sw $t0, ($a1)
/* 3612D8 E005C398 8FC30010 */ lw $v1, 0x10($fp)
/* 3612DC E005C39C 24A20010 */ addiu $v0, $a1, 0x10
/* 3612E0 E005C3A0 AEE20000 */ sw $v0, ($s7)
/* 3612E4 E005C3A4 3C02DE00 */ lui $v0, 0xde00
/* 3612E8 E005C3A8 4600110D */ trunc.w.s $f4, $f2
/* 3612EC E005C3AC 44132000 */ mfc1 $s3, $f4
/* 3612F0 E005C3B0 00000000 */ nop
/* 3612F4 E005C3B4 44930000 */ mtc1 $s3, $f0
/* 3612F8 E005C3B8 00000000 */ nop
/* 3612FC E005C3BC 46800020 */ cvt.s.w $f0, $f0
/* 361300 E005C3C0 3A740006 */ xori $s4, $s3, 6
/* 361304 E005C3C4 46001081 */ sub.s $f2, $f2, $f0
/* 361308 E005C3C8 3C014380 */ lui $at, 0x4380
/* 36130C E005C3CC 44810000 */ mtc1 $at, $f0
/* 361310 E005C3D0 8C63001C */ lw $v1, 0x1c($v1)
/* 361314 E005C3D4 ACA20008 */ sw $v0, 8($a1)
/* 361318 E005C3D8 3C028000 */ lui $v0, 0x8000
/* 36131C E005C3DC ACA7000C */ sw $a3, 0xc($a1)
/* 361320 E005C3E0 00621821 */ addu $v1, $v1, $v0
/* 361324 E005C3E4 46001082 */ mul.s $f2, $f2, $f0
/* 361328 E005C3E8 00000000 */ nop
/* 36132C E005C3EC ACA30004 */ sw $v1, 4($a1)
/* 361330 E005C3F0 8EC50004 */ lw $a1, 4($s6)
/* 361334 E005C3F4 8EC60008 */ lw $a2, 8($s6)
/* 361338 E005C3F8 8EC7000C */ lw $a3, 0xc($s6)
/* 36133C E005C3FC 4600110D */ trunc.w.s $f4, $f2
/* 361340 E005C400 44122000 */ mfc1 $s2, $f4
/* 361344 E005C404 0C080108 */ jal shim_guTranslateF
/* 361348 E005C408 2E940001 */ sltiu $s4, $s4, 1
/* 36134C E005C40C 27B00058 */ addiu $s0, $sp, 0x58
/* 361350 E005C410 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 361354 E005C414 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 361358 E005C418 44800000 */ mtc1 $zero, $f0
/* 36135C E005C41C 00031080 */ sll $v0, $v1, 2
/* 361360 E005C420 00431021 */ addu $v0, $v0, $v1
/* 361364 E005C424 00021080 */ sll $v0, $v0, 2
/* 361368 E005C428 00431023 */ subu $v0, $v0, $v1
/* 36136C E005C42C 000218C0 */ sll $v1, $v0, 3
/* 361370 E005C430 00431021 */ addu $v0, $v0, $v1
/* 361374 E005C434 000210C0 */ sll $v0, $v0, 3
/* 361378 E005C438 44060000 */ mfc1 $a2, $f0
/* 36137C E005C43C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 361380 E005C440 00220821 */ addu $at, $at, $v0
/* 361384 E005C444 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 361388 E005C448 3C073F80 */ lui $a3, 0x3f80
/* 36138C E005C44C 46000007 */ neg.s $f0, $f0
/* 361390 E005C450 44050000 */ mfc1 $a1, $f0
/* 361394 E005C454 0200202D */ daddu $a0, $s0, $zero
/* 361398 E005C458 0C080104 */ jal shim_guRotateF
/* 36139C E005C45C AFA60010 */ sw $a2, 0x10($sp)
/* 3613A0 E005C460 0200202D */ daddu $a0, $s0, $zero
/* 3613A4 E005C464 27A50018 */ addiu $a1, $sp, 0x18
/* 3613A8 E005C468 27B00098 */ addiu $s0, $sp, 0x98
/* 3613AC E005C46C 0C080114 */ jal shim_guMtxCatF
/* 3613B0 E005C470 0200302D */ daddu $a2, $s0, $zero
/* 3613B4 E005C474 0200202D */ daddu $a0, $s0, $zero
/* 3613B8 E005C478 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3613BC E005C47C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3613C0 E005C480 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 3613C4 E005C484 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 3613C8 E005C488 96050000 */ lhu $a1, ($s0)
/* 3613CC E005C48C 8E220000 */ lw $v0, ($s1)
/* 3613D0 E005C490 00052980 */ sll $a1, $a1, 6
/* 3613D4 E005C494 00B52821 */ addu $a1, $a1, $s5
/* 3613D8 E005C498 0C080118 */ jal shim_guMtxF2L
/* 3613DC E005C49C 00452821 */ addu $a1, $v0, $a1
/* 3613E0 E005C4A0 3C05E6DE */ lui $a1, 0xe6de
/* 3613E4 E005C4A4 34A5DE82 */ ori $a1, $a1, 0xde82
/* 3613E8 E005C4A8 8EE60000 */ lw $a2, ($s7)
/* 3613EC E005C4AC 3C03DA38 */ lui $v1, 0xda38
/* 3613F0 E005C4B0 00C0202D */ daddu $a0, $a2, $zero
/* 3613F4 E005C4B4 24C60008 */ addiu $a2, $a2, 8
/* 3613F8 E005C4B8 AEE60000 */ sw $a2, ($s7)
/* 3613FC E005C4BC 96020000 */ lhu $v0, ($s0)
/* 361400 E005C4C0 325200FF */ andi $s2, $s2, 0xff
/* 361404 E005C4C4 AC830000 */ sw $v1, ($a0)
/* 361408 E005C4C8 24430001 */ addiu $v1, $v0, 1
/* 36140C E005C4CC 3042FFFF */ andi $v0, $v0, 0xffff
/* 361410 E005C4D0 00021180 */ sll $v0, $v0, 6
/* 361414 E005C4D4 A6030000 */ sh $v1, ($s0)
/* 361418 E005C4D8 8E230000 */ lw $v1, ($s1)
/* 36141C E005C4DC 00551021 */ addu $v0, $v0, $s5
/* 361420 E005C4E0 00621821 */ addu $v1, $v1, $v0
/* 361424 E005C4E4 24C20008 */ addiu $v0, $a2, 8
/* 361428 E005C4E8 AC830004 */ sw $v1, 4($a0)
/* 36142C E005C4EC AEE20000 */ sw $v0, ($s7)
/* 361430 E005C4F0 3C02FA00 */ lui $v0, 0xfa00
/* 361434 E005C4F4 ACC20000 */ sw $v0, ($a2)
/* 361438 E005C4F8 24C20010 */ addiu $v0, $a2, 0x10
/* 36143C E005C4FC ACC50004 */ sw $a1, 4($a2)
/* 361440 E005C500 AEE20000 */ sw $v0, ($s7)
/* 361444 E005C504 3C02FB00 */ lui $v0, 0xfb00
/* 361448 E005C508 ACC20008 */ sw $v0, 8($a2)
/* 36144C E005C50C 24C20018 */ addiu $v0, $a2, 0x18
/* 361450 E005C510 ACD2000C */ sw $s2, 0xc($a2)
/* 361454 E005C514 AEE20000 */ sw $v0, ($s7)
/* 361458 E005C518 001311C0 */ sll $v0, $s3, 7
/* 36145C E005C51C 30420FFF */ andi $v0, $v0, 0xfff
/* 361460 E005C520 00021300 */ sll $v0, $v0, 0xc
/* 361464 E005C524 3C04F200 */ lui $a0, 0xf200
/* 361468 E005C528 00441025 */ or $v0, $v0, $a0
/* 36146C E005C52C 00139940 */ sll $s3, $s3, 5
/* 361470 E005C530 ACC20010 */ sw $v0, 0x10($a2)
/* 361474 E005C534 26620020 */ addiu $v0, $s3, 0x20
/* 361478 E005C538 00021080 */ sll $v0, $v0, 2
/* 36147C E005C53C 30420FFF */ andi $v0, $v0, 0xfff
/* 361480 E005C540 00022B00 */ sll $a1, $v0, 0xc
/* 361484 E005C544 34A20080 */ ori $v0, $a1, 0x80
/* 361488 E005C548 1280000F */ beqz $s4, .LE005C588
/* 36148C E005C54C ACC20014 */ sw $v0, 0x14($a2)
/* 361490 E005C550 0080182D */ daddu $v1, $a0, $zero
/* 361494 E005C554 34630080 */ ori $v1, $v1, 0x80
/* 361498 E005C558 3C040100 */ lui $a0, 0x100
/* 36149C E005C55C 34840100 */ ori $a0, $a0, 0x100
/* 3614A0 E005C560 24C20020 */ addiu $v0, $a2, 0x20
/* 3614A4 E005C564 00A31825 */ or $v1, $a1, $v1
/* 3614A8 E005C568 AEE20000 */ sw $v0, ($s7)
/* 3614AC E005C56C 26620040 */ addiu $v0, $s3, 0x40
/* 3614B0 E005C570 00021080 */ sll $v0, $v0, 2
/* 3614B4 E005C574 30420FFF */ andi $v0, $v0, 0xfff
/* 3614B8 E005C578 00021300 */ sll $v0, $v0, 0xc
/* 3614BC E005C57C 00441025 */ or $v0, $v0, $a0
/* 3614C0 E005C580 0801716D */ j .LE005C5B4
/* 3614C4 E005C584 ACC30018 */ sw $v1, 0x18($a2)
.LE005C588:
/* 3614C8 E005C588 3C030100 */ lui $v1, 0x100
/* 3614CC E005C58C 34630080 */ ori $v1, $v1, 0x80
/* 3614D0 E005C590 24C20020 */ addiu $v0, $a2, 0x20
/* 3614D4 E005C594 AEE20000 */ sw $v0, ($s7)
/* 3614D8 E005C598 00A41025 */ or $v0, $a1, $a0
/* 3614DC E005C59C ACC20018 */ sw $v0, 0x18($a2)
/* 3614E0 E005C5A0 26620040 */ addiu $v0, $s3, 0x40
/* 3614E4 E005C5A4 00021080 */ sll $v0, $v0, 2
/* 3614E8 E005C5A8 30420FFF */ andi $v0, $v0, 0xfff
/* 3614EC E005C5AC 00021300 */ sll $v0, $v0, 0xc
/* 3614F0 E005C5B0 00431025 */ or $v0, $v0, $v1
.LE005C5B4:
/* 3614F4 E005C5B4 ACC2001C */ sw $v0, 0x1c($a2)
/* 3614F8 E005C5B8 8FC20008 */ lw $v0, 8($fp)
/* 3614FC E005C5BC 24110001 */ addiu $s1, $zero, 1
/* 361500 E005C5C0 0222102A */ slt $v0, $s1, $v0
/* 361504 E005C5C4 10400037 */ beqz $v0, .LE005C6A4
/* 361508 E005C5C8 26D60034 */ addiu $s6, $s6, 0x34
/* 36150C E005C5CC 3C15800A */ lui $s5, %hi(gDisplayContext)
/* 361510 E005C5D0 26B5A674 */ addiu $s5, $s5, %lo(gDisplayContext)
/* 361514 E005C5D4 3C148007 */ lui $s4, %hi(gMatrixListPos)
/* 361518 E005C5D8 269441F0 */ addiu $s4, $s4, %lo(gMatrixListPos)
/* 36151C E005C5DC 3C130001 */ lui $s3, 1
/* 361520 E005C5E0 36731630 */ ori $s3, $s3, 0x1630
/* 361524 E005C5E4 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 361528 E005C5E8 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 36152C E005C5EC 26D0000C */ addiu $s0, $s6, 0xc
.LE005C5F0:
/* 361530 E005C5F0 27A40018 */ addiu $a0, $sp, 0x18
/* 361534 E005C5F4 26310001 */ addiu $s1, $s1, 1
/* 361538 E005C5F8 8E05FFF8 */ lw $a1, -8($s0)
/* 36153C E005C5FC 8E06FFFC */ lw $a2, -4($s0)
/* 361540 E005C600 8E070000 */ lw $a3, ($s0)
/* 361544 E005C604 0C080108 */ jal shim_guTranslateF
/* 361548 E005C608 26100034 */ addiu $s0, $s0, 0x34
/* 36154C E005C60C 27A40018 */ addiu $a0, $sp, 0x18
/* 361550 E005C610 96850000 */ lhu $a1, ($s4)
/* 361554 E005C614 8EA20000 */ lw $v0, ($s5)
/* 361558 E005C618 00052980 */ sll $a1, $a1, 6
/* 36155C E005C61C 00B32821 */ addu $a1, $a1, $s3
/* 361560 E005C620 0C080118 */ jal shim_guMtxF2L
/* 361564 E005C624 00452821 */ addu $a1, $v0, $a1
/* 361568 E005C628 3C06D838 */ lui $a2, 0xd838
/* 36156C E005C62C 8E440000 */ lw $a0, ($s2)
/* 361570 E005C630 34C60002 */ ori $a2, $a2, 2
/* 361574 E005C634 0080282D */ daddu $a1, $a0, $zero
/* 361578 E005C638 24840008 */ addiu $a0, $a0, 8
/* 36157C E005C63C AE440000 */ sw $a0, ($s2)
/* 361580 E005C640 96820000 */ lhu $v0, ($s4)
/* 361584 E005C644 3C03DA38 */ lui $v1, 0xda38
/* 361588 E005C648 ACA30000 */ sw $v1, ($a1)
/* 36158C E005C64C 24430001 */ addiu $v1, $v0, 1
/* 361590 E005C650 3042FFFF */ andi $v0, $v0, 0xffff
/* 361594 E005C654 00021180 */ sll $v0, $v0, 6
/* 361598 E005C658 A6830000 */ sh $v1, ($s4)
/* 36159C E005C65C 8EA30000 */ lw $v1, ($s5)
/* 3615A0 E005C660 00531021 */ addu $v0, $v0, $s3
/* 3615A4 E005C664 00621821 */ addu $v1, $v1, $v0
/* 3615A8 E005C668 24820008 */ addiu $v0, $a0, 8
/* 3615AC E005C66C ACA30004 */ sw $v1, 4($a1)
/* 3615B0 E005C670 AE420000 */ sw $v0, ($s2)
/* 3615B4 E005C674 3C02DE00 */ lui $v0, 0xde00
/* 3615B8 E005C678 AC820000 */ sw $v0, ($a0)
/* 3615BC E005C67C 8FA900D8 */ lw $t1, 0xd8($sp)
/* 3615C0 E005C680 24020040 */ addiu $v0, $zero, 0x40
/* 3615C4 E005C684 AC860008 */ sw $a2, 8($a0)
/* 3615C8 E005C688 AC82000C */ sw $v0, 0xc($a0)
/* 3615CC E005C68C AC890004 */ sw $t1, 4($a0)
/* 3615D0 E005C690 8FC20008 */ lw $v0, 8($fp)
/* 3615D4 E005C694 24840010 */ addiu $a0, $a0, 0x10
/* 3615D8 E005C698 0222102A */ slt $v0, $s1, $v0
/* 3615DC E005C69C 1440FFD4 */ bnez $v0, .LE005C5F0
/* 3615E0 E005C6A0 AE440000 */ sw $a0, ($s2)
.LE005C6A4:
/* 3615E4 E005C6A4 3C05D838 */ lui $a1, 0xd838
/* 3615E8 E005C6A8 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3615EC E005C6AC 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3615F0 E005C6B0 8C620000 */ lw $v0, ($v1)
/* 3615F4 E005C6B4 34A50002 */ ori $a1, $a1, 2
/* 3615F8 E005C6B8 0040202D */ daddu $a0, $v0, $zero
/* 3615FC E005C6BC 24420008 */ addiu $v0, $v0, 8
/* 361600 E005C6C0 AC620000 */ sw $v0, ($v1)
/* 361604 E005C6C4 24020040 */ addiu $v0, $zero, 0x40
/* 361608 E005C6C8 AC850000 */ sw $a1, ($a0)
/* 36160C E005C6CC AC820004 */ sw $v0, 4($a0)
/* 361610 E005C6D0 8FBF0104 */ lw $ra, 0x104($sp)
/* 361614 E005C6D4 8FBE0100 */ lw $fp, 0x100($sp)
/* 361618 E005C6D8 8FB700FC */ lw $s7, 0xfc($sp)
/* 36161C E005C6DC 8FB600F8 */ lw $s6, 0xf8($sp)
/* 361620 E005C6E0 8FB500F4 */ lw $s5, 0xf4($sp)
/* 361624 E005C6E4 8FB400F0 */ lw $s4, 0xf0($sp)
/* 361628 E005C6E8 8FB300EC */ lw $s3, 0xec($sp)
/* 36162C E005C6EC 8FB200E8 */ lw $s2, 0xe8($sp)
/* 361630 E005C6F0 8FB100E4 */ lw $s1, 0xe4($sp)
/* 361634 E005C6F4 8FB000E0 */ lw $s0, 0xe0($sp)
/* 361638 E005C6F8 03E00008 */ jr $ra
/* 36163C E005C6FC 27BD0108 */ addiu $sp, $sp, 0x108

View File

@ -1,102 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel steam_burst_main
/* 360F40 E005C000 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 360F44 E005C004 F7B40048 */ sdc1 $f20, 0x48($sp)
/* 360F48 E005C008 4485A000 */ mtc1 $a1, $f20
/* 360F4C E005C00C F7B60050 */ sdc1 $f22, 0x50($sp)
/* 360F50 E005C010 4486B000 */ mtc1 $a2, $f22
/* 360F54 E005C014 AFB5003C */ sw $s5, 0x3c($sp)
/* 360F58 E005C018 0080A82D */ daddu $s5, $a0, $zero
/* 360F5C E005C01C F7B80058 */ sdc1 $f24, 0x58($sp)
/* 360F60 E005C020 4487C000 */ mtc1 $a3, $f24
/* 360F64 E005C024 27A40010 */ addiu $a0, $sp, 0x10
/* 360F68 E005C028 AFB40038 */ sw $s4, 0x38($sp)
/* 360F6C E005C02C 8FB40074 */ lw $s4, 0x74($sp)
/* 360F70 E005C030 3C02E006 */ lui $v0, %hi(steam_burst_init)
/* 360F74 E005C034 2442C178 */ addiu $v0, $v0, %lo(steam_burst_init)
/* 360F78 E005C038 AFA20018 */ sw $v0, 0x18($sp)
/* 360F7C E005C03C 3C02E006 */ lui $v0, %hi(steam_burst_update)
/* 360F80 E005C040 2442C180 */ addiu $v0, $v0, %lo(steam_burst_update)
/* 360F84 E005C044 AFA2001C */ sw $v0, 0x1c($sp)
/* 360F88 E005C048 3C02E006 */ lui $v0, %hi(steam_burst_render)
/* 360F8C E005C04C 2442C2B4 */ addiu $v0, $v0, %lo(steam_burst_render)
/* 360F90 E005C050 AFA20020 */ sw $v0, 0x20($sp)
/* 360F94 E005C054 2402002E */ addiu $v0, $zero, 0x2e
/* 360F98 E005C058 AFBF0040 */ sw $ra, 0x40($sp)
/* 360F9C E005C05C AFB30034 */ sw $s3, 0x34($sp)
/* 360FA0 E005C060 AFB20030 */ sw $s2, 0x30($sp)
/* 360FA4 E005C064 AFB1002C */ sw $s1, 0x2c($sp)
/* 360FA8 E005C068 AFB00028 */ sw $s0, 0x28($sp)
/* 360FAC E005C06C AFA00010 */ sw $zero, 0x10($sp)
/* 360FB0 E005C070 AFA00024 */ sw $zero, 0x24($sp)
/* 360FB4 E005C074 0C080124 */ jal shim_create_effect_instance
/* 360FB8 E005C078 AFA20014 */ sw $v0, 0x14($sp)
/* 360FBC E005C07C 24040068 */ addiu $a0, $zero, 0x68
/* 360FC0 E005C080 24130002 */ addiu $s3, $zero, 2
/* 360FC4 E005C084 0040802D */ daddu $s0, $v0, $zero
/* 360FC8 E005C088 0C08012C */ jal shim_general_heap_malloc
/* 360FCC E005C08C AE130008 */ sw $s3, 8($s0)
/* 360FD0 E005C090 0040882D */ daddu $s1, $v0, $zero
/* 360FD4 E005C094 16200003 */ bnez $s1, .LE005C0A4
/* 360FD8 E005C098 AE11000C */ sw $s1, 0xc($s0)
.LE005C09C:
/* 360FDC E005C09C 08017027 */ j .LE005C09C
/* 360FE0 E005C0A0 00000000 */ nop
.LE005C0A4:
/* 360FE4 E005C0A4 0220202D */ daddu $a0, $s1, $zero
/* 360FE8 E005C0A8 00132840 */ sll $a1, $s3, 1
/* 360FEC E005C0AC 00B32821 */ addu $a1, $a1, $s3
/* 360FF0 E005C0B0 00052880 */ sll $a1, $a1, 2
/* 360FF4 E005C0B4 00B32821 */ addu $a1, $a1, $s3
/* 360FF8 E005C0B8 0C080130 */ jal shim_mem_clear
/* 360FFC E005C0BC 00052880 */ sll $a1, $a1, 2
/* 361000 E005C0C0 24120001 */ addiu $s2, $zero, 1
/* 361004 E005C0C4 3C014120 */ lui $at, 0x4120
/* 361008 E005C0C8 44810000 */ mtc1 $at, $f0
/* 36100C E005C0CC 3C0141F0 */ lui $at, 0x41f0
/* 361010 E005C0D0 44811000 */ mtc1 $at, $f2
/* 361014 E005C0D4 0253102A */ slt $v0, $s2, $s3
/* 361018 E005C0D8 AE340024 */ sw $s4, 0x24($s1)
/* 36101C E005C0DC AE200028 */ sw $zero, 0x28($s1)
/* 361020 E005C0E0 AE34002C */ sw $s4, 0x2c($s1)
/* 361024 E005C0E4 AE200030 */ sw $zero, 0x30($s1)
/* 361028 E005C0E8 A6350000 */ sh $s5, ($s1)
/* 36102C E005C0EC E6340004 */ swc1 $f20, 4($s1)
/* 361030 E005C0F0 E6360008 */ swc1 $f22, 8($s1)
/* 361034 E005C0F4 E638000C */ swc1 $f24, 0xc($s1)
/* 361038 E005C0F8 E620001C */ swc1 $f0, 0x1c($s1)
/* 36103C E005C0FC E6220020 */ swc1 $f2, 0x20($s1)
/* 361040 E005C100 10400011 */ beqz $v0, .LE005C148
/* 361044 E005C104 26310034 */ addiu $s1, $s1, 0x34
/* 361048 E005C108 4480A000 */ mtc1 $zero, $f20
/* 36104C E005C10C 26300018 */ addiu $s0, $s1, 0x18
.LE005C110:
/* 361050 E005C110 4600A306 */ mov.s $f12, $f20
/* 361054 E005C114 E614FFEC */ swc1 $f20, -0x14($s0)
/* 361058 E005C118 E614FFF0 */ swc1 $f20, -0x10($s0)
/* 36105C E005C11C 0C080140 */ jal shim_sin_deg
/* 361060 E005C120 E614FFF4 */ swc1 $f20, -0xc($s0)
/* 361064 E005C124 4600A306 */ mov.s $f12, $f20
/* 361068 E005C128 E600FFF8 */ swc1 $f0, -8($s0)
/* 36106C E005C12C 0C080144 */ jal shim_cos_deg
/* 361070 E005C130 E614FFFC */ swc1 $f20, -4($s0)
/* 361074 E005C134 26520001 */ addiu $s2, $s2, 1
/* 361078 E005C138 E6000000 */ swc1 $f0, ($s0)
/* 36107C E005C13C 0253102A */ slt $v0, $s2, $s3
/* 361080 E005C140 1440FFF3 */ bnez $v0, .LE005C110
/* 361084 E005C144 26100034 */ addiu $s0, $s0, 0x34
.LE005C148:
/* 361088 E005C148 8FBF0040 */ lw $ra, 0x40($sp)
/* 36108C E005C14C 8FB5003C */ lw $s5, 0x3c($sp)
/* 361090 E005C150 8FB40038 */ lw $s4, 0x38($sp)
/* 361094 E005C154 8FB30034 */ lw $s3, 0x34($sp)
/* 361098 E005C158 8FB20030 */ lw $s2, 0x30($sp)
/* 36109C E005C15C 8FB1002C */ lw $s1, 0x2c($sp)
/* 3610A0 E005C160 8FB00028 */ lw $s0, 0x28($sp)
/* 3610A4 E005C164 D7B80058 */ ldc1 $f24, 0x58($sp)
/* 3610A8 E005C168 D7B60050 */ ldc1 $f22, 0x50($sp)
/* 3610AC E005C16C D7B40048 */ ldc1 $f20, 0x48($sp)
/* 3610B0 E005C170 03E00008 */ jr $ra
/* 3610B4 E005C174 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,97 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E005C710
.double 0.1
dlabel D_E005C718
.double 0.04
dlabel D_E005C720
.double 0.9, 0.0
.section .text
glabel steam_burst_update
/* 3610C0 E005C180 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3610C4 E005C184 AFBF0010 */ sw $ra, 0x10($sp)
/* 3610C8 E005C188 8C85000C */ lw $a1, 0xc($a0)
/* 3610CC E005C18C 3C0140E0 */ lui $at, 0x40e0
/* 3610D0 E005C190 44810000 */ mtc1 $at, $f0
/* 3610D4 E005C194 8CA20028 */ lw $v0, 0x28($a1)
/* 3610D8 E005C198 8CA30024 */ lw $v1, 0x24($a1)
/* 3610DC E005C19C 44821000 */ mtc1 $v0, $f2
/* 3610E0 E005C1A0 00000000 */ nop
/* 3610E4 E005C1A4 468010A0 */ cvt.s.w $f2, $f2
/* 3610E8 E005C1A8 24420001 */ addiu $v0, $v0, 1
/* 3610EC E005C1AC 46001082 */ mul.s $f2, $f2, $f0
/* 3610F0 E005C1B0 00000000 */ nop
/* 3610F4 E005C1B4 2463FFFF */ addiu $v1, $v1, -1
/* 3610F8 E005C1B8 C4A0002C */ lwc1 $f0, 0x2c($a1)
/* 3610FC E005C1BC 46800020 */ cvt.s.w $f0, $f0
/* 361100 E005C1C0 ACA20028 */ sw $v0, 0x28($a1)
/* 361104 E005C1C4 ACA30024 */ sw $v1, 0x24($a1)
/* 361108 E005C1C8 46001083 */ div.s $f2, $f2, $f0
/* 36110C E005C1CC 04610005 */ bgez $v1, .LE005C1E4
/* 361110 E005C1D0 E4A20030 */ swc1 $f2, 0x30($a1)
/* 361114 E005C1D4 0C080128 */ jal shim_remove_effect
/* 361118 E005C1D8 00000000 */ nop
/* 36111C E005C1DC 080170AA */ j .LE005C2A8
/* 361120 E005C1E0 00000000 */ nop
.LE005C1E4:
/* 361124 E005C1E4 C4A2001C */ lwc1 $f2, 0x1c($a1)
/* 361128 E005C1E8 C4A00020 */ lwc1 $f0, 0x20($a1)
/* 36112C E005C1EC 46020001 */ sub.s $f0, $f0, $f2
/* 361130 E005C1F0 3C01E006 */ lui $at, %hi(D_E005C710)
/* 361134 E005C1F4 D424C710 */ ldc1 $f4, %lo(D_E005C710)($at)
/* 361138 E005C1F8 46000021 */ cvt.d.s $f0, $f0
/* 36113C E005C1FC 46240002 */ mul.d $f0, $f0, $f4
/* 361140 E005C200 00000000 */ nop
/* 361144 E005C204 460010A1 */ cvt.d.s $f2, $f2
/* 361148 E005C208 46201080 */ add.d $f2, $f2, $f0
/* 36114C E005C20C 24060001 */ addiu $a2, $zero, 1
/* 361150 E005C210 462010A0 */ cvt.s.d $f2, $f2
/* 361154 E005C214 E4A2001C */ swc1 $f2, 0x1c($a1)
/* 361158 E005C218 24A50034 */ addiu $a1, $a1, 0x34
/* 36115C E005C21C 8C820008 */ lw $v0, 8($a0)
/* 361160 E005C220 00C2102A */ slt $v0, $a2, $v0
/* 361164 E005C224 10400020 */ beqz $v0, .LE005C2A8
/* 361168 E005C228 46001206 */ mov.s $f8, $f2
/* 36116C E005C22C 24A3000C */ addiu $v1, $a1, 0xc
/* 361170 E005C230 3C01E006 */ lui $at, %hi(D_E005C718)
/* 361174 E005C234 D42CC718 */ ldc1 $f12, %lo(D_E005C718)($at)
/* 361178 E005C238 3C01E006 */ lui $at, %hi(D_E005C720)
/* 36117C E005C23C D42AC720 */ ldc1 $f10, %lo(D_E005C720)($at)
.LE005C240:
/* 361180 E005C240 C4600008 */ lwc1 $f0, 8($v1)
/* 361184 E005C244 46000021 */ cvt.d.s $f0, $f0
/* 361188 E005C248 462C0000 */ add.d $f0, $f0, $f12
/* 36118C E005C24C 46200020 */ cvt.s.d $f0, $f0
/* 361190 E005C250 46000021 */ cvt.d.s $f0, $f0
/* 361194 E005C254 462A0002 */ mul.d $f0, $f0, $f10
/* 361198 E005C258 00000000 */ nop
/* 36119C E005C25C C4660004 */ lwc1 $f6, 4($v1)
/* 3611A0 E005C260 46064182 */ mul.s $f6, $f8, $f6
/* 3611A4 E005C264 00000000 */ nop
/* 3611A8 E005C268 C464000C */ lwc1 $f4, 0xc($v1)
/* 3611AC E005C26C 46044102 */ mul.s $f4, $f8, $f4
/* 3611B0 E005C270 00000000 */ nop
/* 3611B4 E005C274 46200020 */ cvt.s.d $f0, $f0
/* 3611B8 E005C278 E4600008 */ swc1 $f0, 8($v1)
/* 3611BC E005C27C C460FFFC */ lwc1 $f0, -4($v1)
/* 3611C0 E005C280 C4620008 */ lwc1 $f2, 8($v1)
/* 3611C4 E005C284 24C60001 */ addiu $a2, $a2, 1
/* 3611C8 E005C288 46020000 */ add.s $f0, $f0, $f2
/* 3611CC E005C28C E466FFF8 */ swc1 $f6, -8($v1)
/* 3611D0 E005C290 E4640000 */ swc1 $f4, ($v1)
/* 3611D4 E005C294 E460FFFC */ swc1 $f0, -4($v1)
/* 3611D8 E005C298 8C820008 */ lw $v0, 8($a0)
/* 3611DC E005C29C 00C2102A */ slt $v0, $a2, $v0
/* 3611E0 E005C2A0 1440FFE7 */ bnez $v0, .LE005C240
/* 3611E4 E005C2A4 24630034 */ addiu $v1, $v1, 0x34
.LE005C2A8:
/* 3611E8 E005C2A8 8FBF0010 */ lw $ra, 0x10($sp)
/* 3611EC E005C2AC 03E00008 */ jr $ra
/* 3611F0 E005C2B0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,157 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel sweat_appendGfx
/* 35C2D8 E0050308 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 35C2DC E005030C 0080282D */ daddu $a1, $a0, $zero
/* 35C2E0 E0050310 3C06DB06 */ lui $a2, 0xdb06
/* 35C2E4 E0050314 34C60024 */ ori $a2, $a2, 0x24
/* 35C2E8 E0050318 27A40018 */ addiu $a0, $sp, 0x18
/* 35C2EC E005031C AFB400A8 */ sw $s4, 0xa8($sp)
/* 35C2F0 E0050320 3C14800A */ lui $s4, %hi(gMasterGfxPos)
/* 35C2F4 E0050324 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos)
/* 35C2F8 E0050328 AFB200A0 */ sw $s2, 0xa0($sp)
/* 35C2FC E005032C 3C120001 */ lui $s2, 1
/* 35C300 E0050330 3C02E700 */ lui $v0, 0xe700
/* 35C304 E0050334 AFBF00AC */ sw $ra, 0xac($sp)
/* 35C308 E0050338 AFB300A4 */ sw $s3, 0xa4($sp)
/* 35C30C E005033C AFB1009C */ sw $s1, 0x9c($sp)
/* 35C310 E0050340 AFB00098 */ sw $s0, 0x98($sp)
/* 35C314 E0050344 F7B600B8 */ sdc1 $f22, 0xb8($sp)
/* 35C318 E0050348 F7B400B0 */ sdc1 $f20, 0xb0($sp)
/* 35C31C E005034C 8E880000 */ lw $t0, ($s4)
/* 35C320 E0050350 8CB3000C */ lw $s3, 0xc($a1)
/* 35C324 E0050354 0100182D */ daddu $v1, $t0, $zero
/* 35C328 E0050358 25080008 */ addiu $t0, $t0, 8
/* 35C32C E005035C AC620000 */ sw $v0, ($v1)
/* 35C330 E0050360 AC600004 */ sw $zero, 4($v1)
/* 35C334 E0050364 AD060000 */ sw $a2, ($t0)
/* 35C338 E0050368 8CA20010 */ lw $v0, 0x10($a1)
/* 35C33C E005036C 36521630 */ ori $s2, $s2, 0x1630
/* 35C340 E0050370 AE880000 */ sw $t0, ($s4)
/* 35C344 E0050374 8C42001C */ lw $v0, 0x1c($v0)
/* 35C348 E0050378 3C038000 */ lui $v1, 0x8000
/* 35C34C E005037C 00431021 */ addu $v0, $v0, $v1
/* 35C350 E0050380 AD020004 */ sw $v0, 4($t0)
/* 35C354 E0050384 8E650004 */ lw $a1, 4($s3)
/* 35C358 E0050388 8E660008 */ lw $a2, 8($s3)
/* 35C35C E005038C 8E67000C */ lw $a3, 0xc($s3)
/* 35C360 E0050390 25080008 */ addiu $t0, $t0, 8
/* 35C364 E0050394 0C080108 */ jal shim_guTranslateF
/* 35C368 E0050398 AE880000 */ sw $t0, ($s4)
/* 35C36C E005039C 27B00058 */ addiu $s0, $sp, 0x58
/* 35C370 E00503A0 4480A000 */ mtc1 $zero, $f20
/* 35C374 E00503A4 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 35C378 E00503A8 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 35C37C E00503AC 3C013F80 */ lui $at, 0x3f80
/* 35C380 E00503B0 4481B000 */ mtc1 $at, $f22
/* 35C384 E00503B4 00031080 */ sll $v0, $v1, 2
/* 35C388 E00503B8 00431021 */ addu $v0, $v0, $v1
/* 35C38C E00503BC 00021080 */ sll $v0, $v0, 2
/* 35C390 E00503C0 00431023 */ subu $v0, $v0, $v1
/* 35C394 E00503C4 000218C0 */ sll $v1, $v0, 3
/* 35C398 E00503C8 00431021 */ addu $v0, $v0, $v1
/* 35C39C E00503CC 000210C0 */ sll $v0, $v0, 3
/* 35C3A0 E00503D0 4406A000 */ mfc1 $a2, $f20
/* 35C3A4 E00503D4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 35C3A8 E00503D8 00220821 */ addu $at, $at, $v0
/* 35C3AC E00503DC C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 35C3B0 E00503E0 4407B000 */ mfc1 $a3, $f22
/* 35C3B4 E00503E4 46000007 */ neg.s $f0, $f0
/* 35C3B8 E00503E8 44050000 */ mfc1 $a1, $f0
/* 35C3BC E00503EC 0200202D */ daddu $a0, $s0, $zero
/* 35C3C0 E00503F0 0C080104 */ jal shim_guRotateF
/* 35C3C4 E00503F4 E7B40010 */ swc1 $f20, 0x10($sp)
/* 35C3C8 E00503F8 0200202D */ daddu $a0, $s0, $zero
/* 35C3CC E00503FC 27A50018 */ addiu $a1, $sp, 0x18
/* 35C3D0 E0050400 0C080114 */ jal shim_guMtxCatF
/* 35C3D4 E0050404 00A0302D */ daddu $a2, $a1, $zero
/* 35C3D8 E0050408 E7B60010 */ swc1 $f22, 0x10($sp)
/* 35C3DC E005040C 8E650010 */ lw $a1, 0x10($s3)
/* 35C3E0 E0050410 4406A000 */ mfc1 $a2, $f20
/* 35C3E4 E0050414 4407A000 */ mfc1 $a3, $f20
/* 35C3E8 E0050418 0C080104 */ jal shim_guRotateF
/* 35C3EC E005041C 0200202D */ daddu $a0, $s0, $zero
/* 35C3F0 E0050420 0200202D */ daddu $a0, $s0, $zero
/* 35C3F4 E0050424 27A50018 */ addiu $a1, $sp, 0x18
/* 35C3F8 E0050428 0C080114 */ jal shim_guMtxCatF
/* 35C3FC E005042C 00A0302D */ daddu $a2, $a1, $zero
/* 35C400 E0050430 27A40018 */ addiu $a0, $sp, 0x18
/* 35C404 E0050434 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 35C408 E0050438 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 35C40C E005043C 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 35C410 E0050440 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 35C414 E0050444 96050000 */ lhu $a1, ($s0)
/* 35C418 E0050448 8E220000 */ lw $v0, ($s1)
/* 35C41C E005044C 00052980 */ sll $a1, $a1, 6
/* 35C420 E0050450 00B22821 */ addu $a1, $a1, $s2
/* 35C424 E0050454 0C080118 */ jal shim_guMtxF2L
/* 35C428 E0050458 00452821 */ addu $a1, $v0, $a1
/* 35C42C E005045C 3C02DA38 */ lui $v0, 0xda38
/* 35C430 E0050460 34420002 */ ori $v0, $v0, 2
/* 35C434 E0050464 8E860000 */ lw $a2, ($s4)
/* 35C438 E0050468 96040000 */ lhu $a0, ($s0)
/* 35C43C E005046C 00C0282D */ daddu $a1, $a2, $zero
/* 35C440 E0050470 24C60008 */ addiu $a2, $a2, 8
/* 35C444 E0050474 AE860000 */ sw $a2, ($s4)
/* 35C448 E0050478 ACA20000 */ sw $v0, ($a1)
/* 35C44C E005047C 3082FFFF */ andi $v0, $a0, 0xffff
/* 35C450 E0050480 00021180 */ sll $v0, $v0, 6
/* 35C454 E0050484 8E230000 */ lw $v1, ($s1)
/* 35C458 E0050488 00521021 */ addu $v0, $v0, $s2
/* 35C45C E005048C 00621821 */ addu $v1, $v1, $v0
/* 35C460 E0050490 ACA30004 */ sw $v1, 4($a1)
/* 35C464 E0050494 C6600010 */ lwc1 $f0, 0x10($s3)
/* 35C468 E0050498 24840001 */ addiu $a0, $a0, 1
/* 35C46C E005049C 4600A03C */ c.lt.s $f20, $f0
/* 35C470 E00504A0 00000000 */ nop
/* 35C474 E00504A4 4500000D */ bc1f .LE00504DC
/* 35C478 E00504A8 A6040000 */ sh $a0, ($s0)
/* 35C47C E00504AC 3C040900 */ lui $a0, 0x900
/* 35C480 E00504B0 248402C8 */ addiu $a0, $a0, 0x2c8
/* 35C484 E00504B4 3C02DE00 */ lui $v0, 0xde00
/* 35C488 E00504B8 ACC20000 */ sw $v0, ($a2)
/* 35C48C E00504BC 8E630000 */ lw $v1, ($s3)
/* 35C490 E00504C0 24C20008 */ addiu $v0, $a2, 8
/* 35C494 E00504C4 1460000F */ bnez $v1, .LE0050504
/* 35C498 E00504C8 AE820000 */ sw $v0, ($s4)
/* 35C49C E00504CC 3C040900 */ lui $a0, 0x900
/* 35C4A0 E00504D0 24840200 */ addiu $a0, $a0, 0x200
/* 35C4A4 E00504D4 08014142 */ j .LE0050508
/* 35C4A8 E00504D8 ACC40004 */ sw $a0, 4($a2)
.LE00504DC:
/* 35C4AC E00504DC 3C040900 */ lui $a0, 0x900
/* 35C4B0 E00504E0 24840460 */ addiu $a0, $a0, 0x460
/* 35C4B4 E00504E4 3C02DE00 */ lui $v0, 0xde00
/* 35C4B8 E00504E8 ACC20000 */ sw $v0, ($a2)
/* 35C4BC E00504EC 8E630000 */ lw $v1, ($s3)
/* 35C4C0 E00504F0 24C20008 */ addiu $v0, $a2, 8
/* 35C4C4 E00504F4 14600003 */ bnez $v1, .LE0050504
/* 35C4C8 E00504F8 AE820000 */ sw $v0, ($s4)
/* 35C4CC E00504FC 3C040900 */ lui $a0, 0x900
/* 35C4D0 E0050500 24840390 */ addiu $a0, $a0, 0x390
.LE0050504:
/* 35C4D4 E0050504 ACC40004 */ sw $a0, 4($a2)
.LE0050508:
/* 35C4D8 E0050508 3C05D838 */ lui $a1, 0xd838
/* 35C4DC E005050C 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 35C4E0 E0050510 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 35C4E4 E0050514 8C620000 */ lw $v0, ($v1)
/* 35C4E8 E0050518 34A50002 */ ori $a1, $a1, 2
/* 35C4EC E005051C 0040202D */ daddu $a0, $v0, $zero
/* 35C4F0 E0050520 24420008 */ addiu $v0, $v0, 8
/* 35C4F4 E0050524 AC620000 */ sw $v0, ($v1)
/* 35C4F8 E0050528 24020040 */ addiu $v0, $zero, 0x40
/* 35C4FC E005052C AC850000 */ sw $a1, ($a0)
/* 35C500 E0050530 AC820004 */ sw $v0, 4($a0)
/* 35C504 E0050534 8FBF00AC */ lw $ra, 0xac($sp)
/* 35C508 E0050538 8FB400A8 */ lw $s4, 0xa8($sp)
/* 35C50C E005053C 8FB300A4 */ lw $s3, 0xa4($sp)
/* 35C510 E0050540 8FB200A0 */ lw $s2, 0xa0($sp)
/* 35C514 E0050544 8FB1009C */ lw $s1, 0x9c($sp)
/* 35C518 E0050548 8FB00098 */ lw $s0, 0x98($sp)
/* 35C51C E005054C D7B600B8 */ ldc1 $f22, 0xb8($sp)
/* 35C520 E0050550 D7B400B0 */ ldc1 $f20, 0xb0($sp)
/* 35C524 E0050554 03E00008 */ jr $ra
/* 35C528 E0050558 27BD00C0 */ addiu $sp, $sp, 0xc0
/* 35C52C E005055C 00000000 */ nop

View File

@ -3287,8 +3287,23 @@ segments:
vram: 0xE0034000
subsegments:
- [0x344A10, c, lens_flare]
- [0x345190, data]
- [0x3451E0, bin] # lens_flare gfx
- [0x345190]
- name: effect_gfx_lens_flare
dir: effects/gfx
type: code
start: 0x3451E0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3451E0, c, lens_flare]
- start: 0x3451E0
type: .data
name: lens_flare
subsegments:
- [0x3451E0, i4, D_09000000_3451E0, 32, 32]
- [0x3453E0, vtx, D_09000200_3453E0]
- [0x345420, gfx, D_09000240_345420]
- [0x3454C0, gfx, D_090002E0_3454C0]
- name: effect_got_item_outline
dir: effects
type: code
@ -3618,7 +3633,26 @@ segments:
subsegments:
- [0x35BFD0, c, sweat]
- [0x35C530]
- [0x35C550, bin] # sweat gfx
- name: effect_gfx_sweat
dir: effects/gfx
type: code
start: 0x35C550
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x35C550, c, sweat]
- start: 0x35C550
type: .data
name: sweat
subsegments:
- [0x35C550, i4, D_09000000_35C550, 16, 16]
- [0x35C5D0, i4, D_09000080_35C5D0, 32, 16]
- [0x35C6D0, vtx, D_09000180_35C6D0]
- [0x35C710, vtx, D_090001C0_35C710]
- [0x35C750, gfx, D_09000200_35C750]
- [0x35C818, gfx, D_090002C8_35C818]
- [0x35C8E0, gfx, D_09000390_35C8E0]
- [0x35C9B0, gfx, D_09000460_35C9B0]
- name: effect_sleep_bubble
dir: effects
type: code
@ -3687,7 +3721,22 @@ segments:
subsegments:
- [0x3602C0, c, stars_spread]
- [0x360A10]
- [0x360A30, bin] # stars_spread gfx
- name: effect_gfx_stars_spread
dir: effects/gfx
type: code
start: 0x360A30
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x360A30, c, stars_spread]
- start: 0x360A30
type: .data
name: stars_spread
subsegments:
- [0x360A30, i4, D_09000000_360A30, 32, 64]
- [0x360E30, vtx, D_09000400_360E30]
- [0x360E70, gfx, D_09000440_360E70]
- [0x360F20, gfx, D_090004F0_360F20]
- name: effect_steam_burst
dir: effects
type: code
@ -3695,8 +3744,23 @@ segments:
vram: 0xE005C000
subsegments:
- [0x360F40, c, steam_burst]
- [0x361640, data]
- [0x361670, bin] # steam_burst gfx
- [0x361640]
- name: effect_gfx_steam_burst
dir: effects/gfx
type: code
start: 0x361670
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x361670, c, steam_burst]
- start: 0x361670
type: .data
name: steam_burst
subsegments:
- [0x361670, i4, D_09000000_361670, 224, 32]
- [0x362470, gfx, D_09000E00_362470]
- [0x362560, vtx, D_09000EF0_362560]
- [0x3625A0, gfx, D_09000F30_3625A0]
- name: effect_stars_orbiting
dir: effects
type: code
@ -4002,7 +4066,7 @@ segments:
vram: 0xE0074000
subsegments:
- [0x376460, c, shimmer_wave]
- [0x376FC0, data]
- [0x376FC0]
- name: effect_aura
dir: effects
type: code
@ -5043,8 +5107,126 @@ segments:
vram: 0xE00C0000
subsegments:
- [0x3BCD60, c, snowman_doll]
- [0x3BD770, data]
- [0x3BD9A0, bin] # snowman_doll gfx
- [0x3BD770]
- name: effect_gfx_snowman_doll
dir: effects/gfx
type: code
start: 0x3BD9A0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3BD9A0, c, snowman_doll]
- start: 0x3BD9A0
type: .data
name: snowman_doll
subsegments:
- [0x3BD9A0, ia8, D_09000000_3BD9A0, 32, 64]
- [0x3BE1A0, gfx, D_09000800_3BE1A0]
- [0x3BE218, ci4, D_09000878_3BE218, 32, 32]
- [0x3BE418, palette, D_09000878_3BE218]
- [0x3BE438, gfx, D_09000A98_3BE438]
- [0x3BE4E0, vtx, D_09000B40_3BE4E0]
- [0x3BE560, vtx, D_09000BC0_3BE560]
- [0x3BE590, vtx, D_09000BF0_3BE590]
- [0x3BE600, vtx, D_09000C60_3BE600]
- [0x3BE630, vtx, D_09000C90_3BE630]
- [0x3BE650, vtx, D_09000CB0_3BE650]
- [0x3BE660, vtx, D_09000CC0_3BE660]
- [0x3BE680, vtx, D_09000CE0_3BE680]
- [0x3BE6A0, vtx, D_09000D00_3BE6A0]
- [0x3BE6B0, vtx, D_09000D10_3BE6B0]
- [0x3BE6C0, vtx, D_09000D20_3BE6C0]
- [0x3BE700, vtx, D_09000D60_3BE700]
- [0x3BE740, vtx, D_09000DA0_3BE740]
- [0x3BE780, vtx, D_09000DE0_3BE780]
- [0x3BE7C0, vtx, D_09000E20_3BE7C0]
- [0x3BE810, vtx, D_09000E70_3BE810]
- [0x3BE8F0, vtx, D_09000F50_3BE8F0]
- [0x3BE960, vtx, D_09000FC0_3BE960]
- [0x3BE9B0, vtx, D_09001010_3BE9B0]
- [0x3BEAA0, vtx, D_09001100_3BEAA0]
- [0x3BEAE0, vtx, D_09001140_3BEAE0]
- [0x3BEC10, vtx, D_09001270_3BEC10]
- [0x3BED30, vtx, D_09001390_3BED30]
- [0x3BED60, vtx, D_090013C0_3BED60]
- [0x3BED80, vtx, D_090013E0_3BED80]
- [0x3BEDB0, vtx, D_09001410_3BEDB0]
- [0x3BEDD0, vtx, D_09001430_3BEDD0]
- [0x3BEE10, vtx, D_09001470_3BEE10]
- [0x3BEE30, vtx, D_09001490_3BEE30]
- [0x3BEE60, vtx, D_090014C0_3BEE60]
- [0x3BEE90, vtx, D_090014F0_3BEE90]
- [0x3BEED0, vtx, D_09001530_3BEED0]
- [0x3BEEE0, vtx, D_09001540_3BEEE0]
- [0x3BEEF0, vtx, D_09001550_3BEEF0]
- [0x3BEF00, vtx, D_09001560_3BEF00]
- [0x3BEF70, vtx, D_090015D0_3BEF70]
- [0x3BEF80, vtx, D_090015E0_3BEF80]
- [0x3BF010, vtx, D_09001670_3BF010]
- [0x3BF0C0, vtx, D_09001720_3BF0C0]
- [0x3BF0D0, vtx, D_09001730_3BF0D0]
- [0x3BF110, vtx, D_09001770_3BF110]
- [0x3BF140, vtx, D_090017A0_3BF140]
- [0x3BF150, vtx, D_090017B0_3BF150]
- [0x3BF170, vtx, D_090017D0_3BF170]
- [0x3BF1B0, vtx, D_09001810_3BF1B0]
- [0x3BF260, vtx, D_090018C0_3BF260]
- [0x3BF2B0, vtx, D_09001910_3BF2B0]
- [0x3BF370, vtx, D_090019D0_3BF370]
- [0x3BF470, vtx, D_09001AD0_3BF470]
- [0x3BF4C0, vtx, D_09001B20_3BF4C0]
- [0x3BF4E0, vtx, D_09001B40_3BF4E0]
- [0x3BF4F0, vtx, D_09001B50_3BF4F0]
- [0x3BF510, vtx, D_09001B70_3BF510]
- [0x3BF520, vtx, D_09001B80_3BF520]
- [0x3BF530, vtx, D_09001B90_3BF530]
- [0x3BF540, vtx, D_09001BA0_3BF540]
- [0x3BF550, vtx, D_09001BB0_3BF550]
- [0x3BF570, vtx, D_09001BD0_3BF570]
- [0x3BF590, vtx, D_09001BF0_3BF590]
- [0x3BF5D0, vtx, D_09001C30_3BF5D0]
- [0x3BF5F0, vtx, D_09001C50_3BF5F0]
- [0x3BF690, vtx, D_09001CF0_3BF690]
- [0x3BF6F0, vtx, D_09001D50_3BF6F0]
- [0x3BF760, vtx, D_09001DC0_3BF760]
- [0x3BF7A0, vtx, D_09001E00_3BF7A0]
- [0x3BF7D0, vtx, D_09001E30_3BF7D0]
- [0x3BF830, vtx, D_09001E90_3BF830]
- [0x3BF870, vtx, D_09001ED0_3BF870]
- [0x3BF8D0, vtx, D_09001F30_3BF8D0]
- [0x3BF900, vtx, D_09001F60_3BF900]
- [0x3BF940, vtx, D_09001FA0_3BF940]
- [0x3BF980, vtx, D_09001FE0_3BF980]
- [0x3BFAB0, vtx, D_09002110_3BFAB0]
- [0x3BFAD0, vtx, D_09002130_3BFAD0]
- [0x3BFB00, vtx, D_09002160_3BFB00]
- [0x3BFB30, vtx, D_09002190_3BFB30]
- [0x3BFB50, vtx, D_090021B0_3BFB50]
- [0x3BFCE0, vtx, D_09002340_3BFCE0]
- [0x3BFDE0, vtx, D_09002440_3BFDE0]
- [0x3BFDF0, vtx, D_09002450_3BFDF0]
- [0x3BFE20, vtx, D_09002480_3BFE20]
- [0x3BFF30, vtx, D_09002590_3BFF30]
- [0x3BFF90, vtx, D_090025F0_3BFF90]
- [0x3BFFF0, vtx, D_09002650_3BFFF0]
- [0x3C0000, vtx, D_09002660_3C0000]
- [0x3C0030, vtx, D_09002690_3C0030]
- [0x3C0140, vtx, D_090027A0_3C0140]
- [0x3C01A0, vtx, D_09002800_3C01A0]
- [0x3C0200, gfx, D_09002860_3C0200]
- [0x3C0340, gfx, D_090029A0_3C0340]
- [0x3C0480, gfx, D_09002AE0_3C0480]
- [0x3C0508, gfx, D_09002B68_3C0508]
- [0x3C0688, gfx, D_09002CE8_3C0688]
- [0x3C0AE8, gfx, D_09003148_3C0AE8]
- [0x3C0D38, gfx, D_09003398_3C0D38]
- [0x3C0EB0, gfx, D_09003510_3C0EB0]
- [0x3C10D0, gfx, D_09003730_3C10D0]
- [0x3C1118, gfx, D_09003778_3C1118]
- [0x3C1130, gfx, D_09003790_3C1130]
- [0x3C1140] # padding
- [0x3C1148, gfx, D_090037A8_3C1148]
- [0x3C11B8, gfx, D_09003818_3C11B8]
- name: effect_fright_jar
dir: effects
type: code
@ -5359,8 +5541,28 @@ segments:
vram: 0xE00DC000
subsegments:
- [0x3D7A70, c, huff_puff_breath]
- [0x3D80B0, data]
- [0x3D80C0, bin] # huff_puff_breath gfx
- [0x3D80B0]
- name: effect_gfx_huff_puff_breath
dir: effects/gfx
type: code
start: 0x3D80C0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3D80C0, c, huff_puff_breath]
- start: 0x3D80C0
type: .data
name: huff_puff_breath
subsegments:
- [0x3D80C0, i8, D_09000000_3D80C0, 32, 16]
- [0x3D82C0, i8, D_09000200_3D82C0, 32, 16]
- [0x3D84C0, gfx, D_09000400_3D84C0]
- [0x3D85A8, vtx, D_090004E8_3D85A8]
- [0x3D85E8, vtx, D_09000528_3D85E8]
- [0x3D8608, vtx, D_09000548_3D8608]
- [0x3D8628, vtx, D_09000568_3D8628]
- [0x3D86A8, gfx, D_090005E8_3D86A8]
- [0x3D86E8, gfx, D_09000628_3D86E8]
- name: effect_cold_breath
dir: effects
type: code
@ -5427,8 +5629,23 @@ segments:
vram: 0xE00E2000
subsegments:
- [0x3DC310, c, hieroglyphs]
- [0x3DCD00, data]
- [0x3DCD50, bin] # hieroglyphs gfx
- [0x3DCD00]
- name: effect_gfx_hieroglyphs
dir: effects/gfx
type: code
start: 0x3DCD50
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3DCD50, c, hieroglyphs]
- start: 0x3DCD50
type: .data
name: hieroglyphs
subsegments:
- [0x3DCD50, i8, D_09000000_3DCD50, 128, 32]
- [0x3DDD50, gfx, D_09001000_3DDD50]
- [0x3DDDF8, vtx, D_090010A8_3DDDF8]
- [0x3DDFF8]
- name: effect_misc_particles
dir: effects
type: code
@ -5716,8 +5933,25 @@ segments:
vram: 0xE0110000
subsegments:
- [0x3F83F0, c, ice_shard]
- [0x3F8CA0, data]
- [0x3F8CC0, bin] # ice_shard gfx
- [0x3F8CA0]
- name: effect_gfx_ice_shard
dir: effects/gfx
type: code
start: 0x3F8CC0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x3F8CC0, c, ice_shard]
- start: 0x3F8CC0
type: .data
name: ice_shard
subsegments:
- [0x3F8CC0, i4, D_09000000_3F8CC0, 64, 128]
- [0x3F9CC0, gfx, D_09001000_3F9CC0]
- [0x3F9D78, vtx, D_090010B8_3F9D78]
- [0x3F9DB8, vtx, D_090010F8_3F9DB8]
- [0x3F9E08, gfx, D_09001148_3F9E08]
- [0x3F9E28, gfx, D_09001168_3F9E28]
- name: effect_spirit_card
dir: effects
type: code
@ -6024,8 +6258,41 @@ segments:
vram: 0xE011C000
subsegments:
- [0x406B40, c, quizmo_assistant]
- [0x407040, data]
- [0x407080, bin] # quizmo_assistant gfx
- [0x407040]
- name: effect_gfx_quizmo_assistant
dir: effects/gfx
type: code
start: 0x407080
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x407080, c, quizmo_assistant]
- start: 0x407080
type: .data
name: quizmo_assistant
subsegments:
- [0x407080, ci4, D_09000000_407080, 64, 64]
- [0x407880, palette, D_09000000_407080]
- [0x4078A0] # padding
- [0x407A80, ci4, D_09000A00_407A80, 64, 32]
- [0x407E80, palette, D_09000A00_407A80]
- [0x407EA0] # padding
- [0x408080, ci4, D_09001000_408080, 64, 64]
- [0x408880, palette, D_09001000_408080]
- [0x4088A0] # padding
- [0x408A80, ci4, D_09001A00_408A80, 64, 64]
- [0x409280, palette, D_09001A00_408A80]
- [0x4092A0] # padding
- [0x409480, gfx, D_09002400_409480]
- [0x4094E8, vtx, D_09002468_4094E8]
- [0x409528, vtx, D_090024A8_409528]
- [0x409568, vtx, D_090024E8_409568]
- [0x4095A8, gfx, D_09002528_4095A8]
- [0x409638, gfx, D_090025B8_409638]
- [0x4096C8, gfx, D_09002648_4096C8]
- [0x409758, gfx, D_090026D8_409758]
- [0x409870, gfx, D_090027F0_409870]
- [0x409988]
- name: effect_ice_pillar
dir: effects
type: code
@ -6043,7 +6310,40 @@ segments:
subsegments:
- [0x40B3F0, c, sun]
- [0x40BB70]
- [0x40BBA0, bin] # sun gfx
- name: effect_gfx_sun
dir: effects/gfx
type: code
start: 0x40BBA0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x40BBA0, c, sun]
- start: 0x40BBA0
type: .data
name: sun
subsegments:
- [0x40BBA0, i4, D_09000000_40BBA0, 16, 64]
- [0x40BDA0, i4, D_09000200_40BDA0, 256, 8]
- [0x40C1A0, vtx, D_09000600_40C1A0]
- [0x40C220, vtx, D_09000680_40C220]
- [0x40C260, vtx, D_090006C0_40C260]
- [0x40C2A0, vtx, D_09000700_40C2A0]
- [0x40C320, vtx, D_09000780_40C320]
- [0x40C360, gfx, D_090007C0_40C360]
- [0x40C388, gfx, D_090007E8_40C388]
- [0x40C3A8, gfx, D_09000808_40C3A8]
- [0x40C3C8, gfx, D_09000828_40C3C8]
- [0x40C3F0, gfx, D_09000850_40C3F0]
- [0x40C410, gfx, D_09000870_40C410]
- [0x40C420, gfx, D_09000880_40C420]
- [0x40C430] # padding
- [0x40C438, gfx, D_09000898_40C438]
- [0x40C520, gfx, D_09000980_40C520]
- [0x40C538, gfx, D_09000998_40C538]
- [0x40C550, gfx, D_090009B0_40C550]
- [0x40C568, gfx, D_090009C8_40C568]
- [0x40C580, gfx, D_090009E0_40C580]
- [0x40C598]
- name: effect_star_spirits_energy
dir: effects
type: code
@ -6105,8 +6405,25 @@ segments:
vram: 0xE0126000
subsegments:
- [0x413360, c, star_outline]
- [0x413F20, data]
- [0x413FA0, bin] # star_outline gfx
- [0x413F20]
- name: effect_gfx_star_outline
dir: effects/gfx
type: code
start: 0x413FA0
vram: 0x09000000
symbol_name_format: $VRAM_$ROM
subsegments:
- [0x413FA0, c, star_outline]
- start: 0x413FA0
type: .data
name: star_outline
subsegments:
- [0x413FA0, i4, D_09000000_413FA0, 64, 64]
- [0x4147A0, gfx, D_09000800_4147A0]
- [0x414840, vtx, D_090008A0_414840]
- [0x414980, vtx, D_090009E0_414980]
- [0x414AC0, gfx, D_09000B20_414AC0]
- [0x414B30, gfx, D_09000B90_414B30]
- name: effect_effect_86
dir: effects
type: code