[Effects] Matched 29 functions (#789)

* [Effects] Matched 29 functions

* Fixing a warning

* Addressed PR feedback
This commit is contained in:
mrshigure 2022-09-27 11:10:05 -07:00 committed by GitHub
parent dda4b25e35
commit 70590f890e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
51 changed files with 1804 additions and 6140 deletions

View File

@ -430,7 +430,7 @@ typedef struct GatherEnergyPinkFXData {
/* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48;
/* 0x4C */ s32 unk_4C;
/* 0x50 */ s32 unk_50;
/* 0x50 */ f32 unk_50;
/* 0x54 */ f32 unk_54;
/* 0x58 */ f32 unk_58;
/* 0x5C */ f32 unk_5C;
@ -496,19 +496,34 @@ typedef struct DamageStarsFXData {
} DamageStarsFXData; // size = 0x30
typedef struct ExplosionFXData {
/* 0x00 */ char todo[0];
} ExplosionFXData; // size = unknown
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ char unk_10[0x10];
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
} ExplosionFXData; // size = 0x3C
typedef struct LensFlareFXData {
/* 0x00 */ char todo[0];
} LensFlareFXData; // size = unknown
typedef struct GotItemOutlineFXData {
/* 0x00 */ char unk_00[0x14];
/* 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 */ char unk_18[0x18];
/* 0x30 */ s32 unk_30;
} GotItemOutlineFXData; // size = ???
/* 0x18 */ f32 unk_18;
/* 0x1C */ s32 unk_1C;
} GotItemOutlineFXData; // size = 0x20
typedef struct SpikyWhiteAuraFXData {
/* 0x00 */ char todo[0];
@ -786,8 +801,29 @@ typedef struct ShimmerBurstFXData {
} ShimmerBurstFXData; // size = unknown
typedef struct EnergyShockwaveFXData {
/* 0x00 */ char todo[0];
} EnergyShockwaveFXData; // size = unknown
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ char unk_10[0xC];
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
/* 0x44 */ f32 unk_44;
/* 0x48 */ f32 unk_48;
/* 0x4C */ f32 unk_4C;
/* 0x50 */ u8 unk_50;
/* 0x51 */ u8 unk_51;
/* 0x52 */ s8 unk_52;
/* 0x53 */ char unk_53[1];
} EnergyShockwaveFXData; // size = 0x54
typedef struct ShimmerWaveFXData {
/* 0x00 */ char todo[0];
@ -882,11 +918,11 @@ typedef struct FireFlowerFXData {
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ Vec3i unk_40;
} FireFlowerFXData; // size = 0x4C
@ -931,8 +967,29 @@ typedef struct BombetteBreakingFXData {
} BombetteBreakingFXData;
typedef struct FireworkFXData {
/* 0x00 */ char todo[0];
} FireworkFXData; // 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 */ char unk_18[4];
/* 0x1C */ f32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ u8 unk_3C;
/* 0x3D */ u8 unk_3D;
/* 0x3E */ u8 unk_3E;
/* 0x3F */ u8 unk_3F;
/* 0x40 */ u8 unk_40;
/* 0x41 */ u8 unk_41;
/* 0x42 */ char unk_42[2];
} FireworkFXData; // size = 0x44
typedef struct ConfettiFXData {
/* 0x00 */ s32 unk_00;
@ -989,7 +1046,7 @@ typedef struct GatherMagicFXData {
/* 0x1C */ s32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ char unk_28[0x4];
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
@ -1031,8 +1088,21 @@ typedef struct SmallGoldSparkleFXData {
typedef struct FlashingBoxShockwaveFXData {
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f pos;
/* 0x10 */ char todo[0];
} FlashingBoxShockwaveFXData; // size = unknown
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44;
} FlashingBoxShockwaveFXData; // size = 0x48
typedef struct BalloonFXData {
/* 0x00 */ s32 unk_00;
@ -1127,7 +1197,9 @@ typedef struct EnergyOrbWaveFXData {
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ char unk_20[0xC];
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ f32 scale;
/* 0x34 */ f32 unk_34;
@ -1244,8 +1316,18 @@ typedef struct SnowmanDollFXData {
} SnowmanDollFXData; // size = unknown
typedef struct FrightJarFXData {
/* 0x00 */ char todo[0];
} FrightJarFXData; // 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;
} FrightJarFXData; // size = 0x2C
typedef struct StopWatchFXData {
/* 0x00 */ char todo[0];
@ -1356,22 +1438,45 @@ typedef struct RedImpactFXData {
} RedImpactFXData; // size = unknown
typedef struct FloatingCloudPuffFXData {
/* 0x00 */ char todo[0];
} FloatingCloudPuffFXData; // 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 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
} FloatingCloudPuffFXData; // size = 0x3C
typedef struct Effect6AFXData {
/* 0x00 */ char todo[0];
} Effect6AFXData; // size = unknown
typedef struct EnergyInOutFXData {
/* 0x00 */ char unk_00[0x4];
/* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f pos;
/* 0x10 */ char unk_10[0x24];
/* 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 */ f32 scale;
/* 0x38 */ char unk_38[0xC];
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
/* 0x44 */ f32 unk_44;
/* 0x38 */ char todo[0];
} EnergyInOutFXData; // size = unknown
} EnergyInOutFXData; // size = 0x48
typedef struct Effect6BFXData {
/* 0x00 */ s32 unk_00;

View File

@ -24,6 +24,7 @@ void shim_guScaleF(float mf[4][4], float x, float y, float z);
void shim_guRotateF(float mf[4][4], float a, float x, float y, float z);
void shim_guTranslate(Mtx *m, float x, float y, float z);
void shim_guTranslateF(float mf[4][4], float x, float y, float z);
void shim_guPerspectiveF(f32 mf[4][4], u16* perspNorm, f32 fovy, f32 aspect, f32 near, f32 far, f32 scale);
void shim_guPositionF(float mf[4][4], float r, float p, float h, float s, float x, float y, float z);
void shim_guOrthoF(float mf[4][4], float l, float r, float b, float t, float n, float f, float scale);
void shim_mem_clear(void* data, s32 numBytes);
@ -58,7 +59,7 @@ FX_MAIN(smoke_ring_main);
FX_MAIN(damage_stars_main);
FX_MAIN(explosion_main);
FX_MAIN(lens_flare_main);
FX_MAIN(got_item_outline_main);
void got_item_outline_main(s32, f32, f32, f32, f32, EffectInstance**);
FX_MAIN(spiky_white_aura_main);
FX_MAIN(smoke_impact_main);
void damage_indicator_main(s32, f32, f32, f32, f32, f32, s32, EffectInstance**);
@ -75,7 +76,7 @@ FX_MAIN(sweat_main);
void sleep_bubble_main(s32, f32, f32, f32, f32, f32, EffectInstance**);
FX_MAIN(windy_leaves_main);
void falling_leaves_main(s32, f32, f32, f32);
FX_MAIN(stars_spread_main);
void stars_spread_main(s16, f32, f32, f32, s32, s32);
FX_MAIN(steam_burst_main);
FX_MAIN(stars_orbiting_main);
void big_snowflakes_main(s32, f32, f32, f32);
@ -87,8 +88,8 @@ FX_MAIN(light_rays_main);
FX_MAIN(lightning_main);
EffectInstance* fire_breath_main(s32, f32, f32, f32, f32, f32, f32, s32, s32, s32);
FX_MAIN(shimmer_burst_main);
FX_MAIN(energy_shockwave_main);
FX_MAIN(shimmer_wave_main);
void energy_shockwave_main(s32, f32, f32, f32, f32, s32);
EffectInstance* shimmer_wave_main(s32, f32, f32, f32, f32, f32, s32, s32);
void aura_main(s32, f32, f32, f32, f32, EffectInstance**);
void bulb_glow_main(s32, f32, f32, f32, f32, EffectInstance**);
void fx_3D_main(s32, f32, f32, f32, f32, f32, f32, s32, EffectInstance**);
@ -101,10 +102,10 @@ FX_MAIN(firework_main);
FX_MAIN(confetti_main);
FX_MAIN(snowfall_main);
FX_MAIN(fx_46_main);
EffectInstance* gather_magic_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5);
EffectInstance* gather_magic_main(s32, f32, f32, f32, f32, s32);
EffectInstance* attack_result_text_main(s32, f32, f32, f32, f32, s32);
EffectInstance* small_gold_sparkle_main(s32, f32, f32, f32, f32);
FX_MAIN(flashing_box_shockwave_main);
EffectInstance* flashing_box_shockwave_main(s32, f32, f32, f32, f32, f32);
EffectInstance* balloon_main(s32, f32, f32, f32, f32, s32);
EffectInstance* floating_rock_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
EffectInstance* chomp_drop_main(s32, f32, f32, f32, f32, s32, f32, s32, f32, s32);
@ -127,7 +128,7 @@ FX_MAIN(underwater_main);
FX_MAIN(lightning_bolt_main);
FX_MAIN(water_splash_main);
FX_MAIN(snowman_doll_main);
FX_MAIN(fright_jar_main);
EffectInstance* fright_jar_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(stop_watch_main);
EffectInstance* fx_63_main(s32, f32, f32, f32, f32, f32, f32, f32, s32, s32);
EffectInstance* throw_spiny_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
@ -135,7 +136,7 @@ EffectInstance* fx_65_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(tubba_heart_attack_main);
FX_MAIN(whirlwind_main);
FX_MAIN(red_impact_main);
FX_MAIN(floating_cloud_puff_main);
EffectInstance* floating_cloud_puff_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(energy_in_out_main);
EffectInstance* tattle_window_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(shiny_flare_main);

View File

@ -81,10 +81,8 @@ EffectInstance* chapter_change_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32
} else {
data->unk_18 = arg5;
}
data->unk_10 = arg1;
data->unk_04 = arg1;
data->unk_14 = arg2;
data->unk_08 = arg2;
data->unk_04 = data->unk_10 = arg1;
data->unk_08 = data->unk_14 = arg2;
data->unk_0C = arg3;
data->unk_50 = arg4;
data->unk_20 = 255;
@ -94,7 +92,7 @@ EffectInstance* chapter_change_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32
data->unk_30 = 0;
data->unk_34 = 0;
data->unk_38 = 0;
if (arg0 == 0 || arg0 - 10 < 9U) {
if (arg0 == 0 || (arg0 >= 10 && arg0 <= 18)) {
data->unk_3C = 0;
} else {
data->unk_3C = 255;

View File

@ -39,19 +39,19 @@ u8 D_E003CCD0[] = {
0x9B, 0x91, 0x82, 0x6E, 0x55, 0x37, 0x19, 0x00
};
Color_RGB8 D_E003CCF8[] = {
{ 254, 172, 172 },
{ 254, 172, 213 },
{ 254, 180, 154 },
{ 213, 180, 254 },
{ 180, 180, 254 },
{ 180, 221, 254 },
{ 180, 254, 254 },
{ 180, 254, 213 },
{ 180, 254, 180 },
{ 213, 254, 180 },
{ 254, 254, 180 },
{ 254, 213, 172 }
u8 D_E003CCF8[] = {
254, 172, 172,
254, 172, 213,
254, 180, 154,
213, 180, 254,
180, 180, 254,
180, 221, 254,
180, 254, 254,
180, 254, 213,
180, 254, 180,
213, 254, 180,
254, 254, 180,
254, 213, 172
};
f32 D_E003CD1C[] = {
@ -189,30 +189,28 @@ void func_E003C47C(EffectInstance* effect) {
func_E003C498(effect);
}
#ifdef NON_MATCHING
void func_E003C498(EffectInstance* effect) {
DamageIndicatorFXData* part = effect->data.damageIndicator;
Matrix4f sp20;
Matrix4f sp60;
DamageIndicatorFXData* part = effect->data;
s32 i;
s32 numParts;
s32 spA0;
s32 spA4;
s32 spA8;
s32 lastPartIdx;
s32 numParts = part->numParts;
s32 i;
spA8 = part->numParts;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, OS_PHYSICAL_TO_K0(effect->graphics->data));
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(effect->graphics->data));
shim_guTranslateF(sp20, part->unk_04.x, part->unk_04.y, part->unk_04.z);
shim_guRotateF(sp60, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.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);
numParts = effect->numParts;
spA0 = part->unk_34 - 1;
spA4 = numParts - 1;
part = &((DamageIndicatorFXData*)effect->data)[numParts - 1];
lastPartIdx = effect->numParts - 1;
part = &(effect->data.damageIndicator)[effect->numParts - 1];
if (part->alpha == 255) {
gDPSetRenderMode(gMasterGfxPos++, G_RM_AA_TEX_EDGE, G_RM_AA_TEX_EDGE2);
@ -221,45 +219,57 @@ void func_E003C498(EffectInstance* effect) {
gDPSetRenderMode(gMasterGfxPos++, G_RM_CLD_SURF, G_RM_CLD_SURF2);
gDPSetCombineLERP(gMasterGfxPos++, 1, 0, SHADE, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0, 1, 0, SHADE, PRIMITIVE, PRIMITIVE, 0, TEXEL0, 0);
}
for (i = 1; i < effect->numParts; i++, part--) {
s32 index = (i + spA0);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E003CCF8[index % 12].r, D_E003CCF8[index % 12].g, D_E003CCF8[index % 12].b, part->alpha);
for(i = 1; i < effect->numParts; i++, part--) {
s32 rIdx = ((i + spA0) % 12) * 3;
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E003CCF8[rIdx], D_E003CCF8[rIdx + 1], D_E003CCF8[rIdx + 2], part->alpha);
gSPDisplayList(gMasterGfxPos++, D_09001D40_351F60);
if (i == spA4) {
if (i == lastPartIdx) {
shim_guPositionF(sp20, 0.0f, 0.0f, 0.0f, part->unk_38, part->unk_10.x, part->unk_10.y, part->unk_10.z);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09002150_352370);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
shim_guPositionF(sp20, 0.0f, 0.0f, 0.0f, part->unk_38, (part->unk_10.x + part->unk_04.x) * 0.5, (part->unk_10.y + part->unk_04.y) * 0.5, (part->unk_10.z + part->unk_04.z) * 0.5);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09002160_352380);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPDisplayList(gMasterGfxPos++, D_09001D40_351F60);
shim_guTranslateF(sp20, part->unk_04.x, part->unk_04.y, part->unk_04.z);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
shim_guScaleF(sp20, part->unk_38, part->unk_38, 1.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (i == spA4) {
gSPDisplayList(gMasterGfxPos++, &D_09002170_352390);
shim_guScaleF(sp20, part->unk_38, part->unk_38, 1.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
if (i == lastPartIdx) {
gSPDisplayList(gMasterGfxPos++, D_09002170_352390);
} else {
gSPDisplayList(gMasterGfxPos++, &D_09002180_3523A0);
gSPDisplayList(gMasterGfxPos++, D_09002180_3523A0);
}
if (i == spA4) {
if (i == lastPartIdx) {
gSPDisplayList(gMasterGfxPos++, D_090021A8_3523C8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090021E0_352400);
if (spA8 < 10) {
gSPDisplayList(gMasterGfxPos++, D_09001DE0_352000);
if (numParts < 10) {
gSPDisplayList(gMasterGfxPos++, D_E003CCA0[i]);
gSPDisplayList(gMasterGfxPos++, D_090021C0_3523E0);
} else {
s32 temp = spA8 % 10;
s32 temp2 = spA8 / 10;
s32 temp = numParts % 10;
s32 temp2 = numParts / 10;
gSPDisplayList(gMasterGfxPos++, D_E003CCA0[temp]);
gSPDisplayList(gMasterGfxPos++, D_09002200_352420);
gSPDisplayList(gMasterGfxPos++, D_E003CCA0[temp2]);
@ -269,10 +279,9 @@ void func_E003C498(EffectInstance* effect) {
gSPDisplayList(gMasterGfxPos++, D_09002190_3523B0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
#else
INCLUDE_ASM(s32, "effects/damage_indicator", func_E003C498);
#endif

View File

@ -1,6 +1,10 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_090004C0[];
extern Gfx D_090005E0[];
extern u8 D_E0030E90[];
void damage_stars_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/damage_stars", damage_stars_main);
@ -73,4 +77,39 @@ void damage_stars_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/damage_stars", damage_stars_appendGfx);
void damage_stars_appendGfx(void* effect) {
DamageStarsFXData* part = ((EffectInstance*)effect)->data.damageStars;
Matrix4f sp18;
Matrix4f sp58;
s32 baseIdx;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_090004C0);
baseIdx = (part->unk_2C - 1) * 3;
baseIdx %= 36;
for (i = 0; i < ((EffectInstance*)effect)->numParts; i++, part++) {
s32 rIdx = baseIdx + i * 3;
s32 gIdx = baseIdx + 1 + i * 3;
s32 bIdx = baseIdx + 2 + i * 3;
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E0030E90[rIdx % 36], D_E0030E90[gIdx % 36], D_E0030E90[bIdx % 36], part->unk_24);
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);
shim_guRotateF(sp18, part->unk_1C, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090005E0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}

View File

@ -165,7 +165,7 @@ void fx_3D_update(EffectInstance* effect) {
}
}
if (unk_5C - 4 < 3U) {
if (unk_5C >= 4 && unk_5C <= 6) {
part->unk_14 += part->unk_2C;
part->unk_18 += part->unk_30;
part->unk_1C += part->unk_34;

View File

@ -1,6 +1,11 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000200[];
extern Gfx D_09000688[];
extern Gfx D_09000808[];
extern Gfx* D_E00D6E40[];
void energy_in_out_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/energy_in_out", energy_in_out_main);
@ -8,7 +13,63 @@ INCLUDE_ASM(s32, "effects/energy_in_out", energy_in_out_main);
void energy_in_out_init(void) {
}
INCLUDE_ASM(s32, "effects/energy_in_out", energy_in_out_update);
void energy_in_out_update(EffectInstance* effect) {
EnergyInOutFXData* part = effect->data.energyInOut;
s32 unk_10;
s32 unk_14;
f32 angle;
s32 i;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
part->unk_10 = 16;
}
if (part->unk_10 < 1000) {
part->unk_10--;
}
part->unk_14++;
if (part->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
unk_10 = part->unk_10;
unk_14 = part->unk_14;
if (unk_10 < 16) {
part->unk_24 = unk_10 * 16;
}
if (unk_14 < 16) {
part->unk_24 = unk_14 * 16 + 15;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_14++;
if (part->unk_14 >= part->unk_10) {
part->unk_14 = 0;
if (part->unk_38 < 0.0f) {
part->pos.x = -part->unk_10 * part->unk_38;
} else {
part->pos.x = 0.0f;
}
part->unk_3C = shim_rand_int(359);
}
part->pos.x += part->unk_38;
part->unk_3C += part->unk_40;
angle = (part->unk_14 * 180) / part->unk_10;
if (angle < 0.0f || angle > 180.0f) {
part->unk_24 = 0;
} else {
part->unk_24 = shim_sin_deg(angle) * 255.0f;
}
}
}
void energy_in_out_render(EffectInstance* effect) {
RenderTask renderTask;
@ -25,4 +86,51 @@ void energy_in_out_render(EffectInstance* effect) {
void func_E00D6978(void) {
}
INCLUDE_ASM(s32, "effects/energy_in_out", energy_in_out_appendGfx);
void energy_in_out_appendGfx(void* effect) {
EnergyInOutFXData* part = ((EffectInstance*)effect)->data.energyInOut;
s32 unk_24 = part->unk_24;
s32 unk_00 = part->unk_00;
f32 scale = part->scale * part->unk_44;
s32 unk_18 = part->unk_18;
s32 unk_1C = part->unk_1C;
s32 unk_20 = part->unk_20;
f32 unk_38 = part->unk_38;
Matrix4f sp20;
Matrix4f sp60;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guPositionF(sp20, 0.0f, -gCameras[gCurrentCameraID].currentYaw, 0.0f, scale, part->pos.x, part->pos.y, part->pos.z);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, part->unk_18, part->unk_1C, part->unk_20, unk_24);
gDPSetEnvColor(gMasterGfxPos++, part->unk_28, part->unk_2C, part->unk_30, 0);
gSPDisplayList(gMasterGfxPos++, D_09000200);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
f32 scale = part->scale;
gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_18, unk_1C, unk_20, (unk_24 * part->unk_24) / 255);
shim_guRotateF(sp20, part->unk_3C, 0.0f, 0.0f, 1.0f);
shim_guTranslateF(sp60, part->pos.x + unk_38, 0.0f, 0.0f);
shim_guMtxCatF(sp60, sp20, sp20);
if (D_E00D6E40[unk_00] == D_09000688 || D_E00D6E40[unk_00] == D_09000808) {
shim_guScaleF(sp60, scale, 1.0f, 1.0f);
} else {
shim_guScaleF(sp60, scale, scale, 1.0f);
}
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E00D6E40[unk_00]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,6 +1,12 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09001000[];
extern Gfx D_090010A8[];
extern Gfx D_090011D0[];
extern Gfx D_090011F0[];
extern Gfx D_09001210[];
void energy_orb_wave_init(EffectInstance* effect);
void energy_orb_wave_update(EffectInstance* effect);
void energy_orb_wave_render(EffectInstance* effect);
@ -96,4 +102,52 @@ void energy_orb_wave_render(EffectInstance* effect) {
void func_E00A4648(void) {
}
INCLUDE_ASM(s32, "effects/energy_orb_wave", energy_orb_wave_appendGfx);
void energy_orb_wave_appendGfx(void* effect) {
EnergyOrbWaveFXData* data = ((EffectInstance*)effect)->data.energyOrbWave;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_14 = data->unk_14;
s32 unk_2C = data->unk_2C;
s32 unk_00 = data->unk_00;
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_guScaleF(sp58, data->scale, data->scale, data->scale);
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_20, data->unk_24, data->unk_28, unk_2C);
gDPSetColorDither(gMasterGfxPos++, G_CD_BAYER);
gDPSetAlphaDither(gMasterGfxPos++, G_AD_PATTERN);
if (unk_00 < 3) {
gSPDisplayList(gMasterGfxPos++, D_09001000);
shim_guRotateF(sp18, unk_14, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090011D0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPSetColorDither(gMasterGfxPos++, G_CD_MAGICSQ);
shim_guRotateF(sp18, -unk_14 * 8, 0.0f, 0.0f, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090011F0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
} else {
gSPDisplayList(gMasterGfxPos++, D_090010A8);
gSPDisplayList(gMasterGfxPos++, D_09001210);
}
gDPSetColorDither(gMasterGfxPos++, G_CD_DISABLE);
gDPSetAlphaDither(gMasterGfxPos++, G_AD_DISABLE);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,126 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000DC0[];
extern Gfx D_09000E60[];
void energy_shockwave_init(EffectInstance* effect);
void energy_shockwave_update(EffectInstance* effect);
void energy_shockwave_render(EffectInstance* effect);
void energy_shockwave_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/energy_shockwave", energy_shockwave_main);
void energy_shockwave_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
EnergyShockwaveFXData* data;
s32 numParts = 31;
void energy_shockwave_init(void) {
bp.init = energy_shockwave_init;
bp.update = energy_shockwave_update;
bp.renderWorld = energy_shockwave_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_ENERGY_SHOCKWAVE;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.energyShockwave = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.energyShockwave != NULL);
data->unk_00 = arg0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_20 = arg4 * 0.1;
data->unk_24 = 255;
data->unk_28 = arg5;
data->unk_2C = 0;
data->unk_30 = 0;
data->unk_34 = 0;
data->unk_38 = 0;
data->unk_3C = 0;
data->unk_40 = -1.1f;
data->unk_44 = 0;
data->unk_48 = 0.4f;
data->unk_4C = 1.0f;
data->unk_1C = 0;
data->unk_50 = 255;
data->unk_51 = 255;
data->unk_52 = 64;
}
INCLUDE_ASM(s32, "effects/energy_shockwave", energy_shockwave_update);
void energy_shockwave_init(EffectInstance* effect) {
}
void energy_shockwave_update(EffectInstance* effect) {
EnergyShockwaveFXData* data = effect->data.energyShockwave;
s32 unk_28;
s32 unk_2C;
f32 angle;
data->unk_28--;
data->unk_2C++;
unk_28 = data->unk_28;
unk_2C = data->unk_2C;
if (unk_28 < 0) {
shim_remove_effect(effect);
return;
}
if (unk_2C % 2) {
angle = func_E0200044(360, unk_2C);
shim_sin_deg(angle);
shim_cos_deg(angle);
shim_load_effect(58);
shimmer_wave_main(0, data->unk_04, data->unk_08, data->unk_0C, unk_2C * 8, 10.0f, 10, 20);
}
data->unk_1C += data->unk_20;
if (unk_28 < 10) {
data->unk_24 = unk_28 * 25;
}
data->unk_30 += data->unk_40;
data->unk_34 += data->unk_44;
data->unk_38 += data->unk_48;
data->unk_3C += data->unk_4C;
if (data->unk_30 > 128.0f) {
data->unk_30 -= 128.0f;
}
if (data->unk_34 > 128.0f) {
data->unk_34 -= 128.0f;
}
if (data->unk_38 > 128.0f) {
data->unk_38 -= 128.0f;
}
if (data->unk_3C > 128.0f) {
data->unk_3C -= 128.0f;
}
if (data->unk_30 < 0.0f) {
data->unk_30 += 128.0f;
}
if (data->unk_34 < 0.0f) {
data->unk_34 += 128.0f;
}
if (data->unk_38 < 0.0f) {
data->unk_38 += 128.0f;
}
if (data->unk_3C < 0.0f) {
data->unk_3C += 128.0f;
}
}
void energy_shockwave_render(EffectInstance* effect) {
RenderTask renderTask;
@ -23,4 +135,36 @@ void energy_shockwave_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/energy_shockwave", energy_shockwave_appendGfx);
void energy_shockwave_appendGfx(void* effect) {
EnergyShockwaveFXData* data = ((EffectInstance*)effect)->data.energyShockwave;
Matrix4f sp10;
Matrix4f sp50;
s32 uls;
s32 ult;
s32 uls2;
s32 ult2;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09000E60);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 179, 30, data->unk_24);
gDPSetEnvColor(gMasterGfxPos++, data->unk_50, data->unk_51, data->unk_52, 128);
uls = data->unk_30 * 4;
ult = data->unk_34 * 4;
uls2 = data->unk_38 * 4;
ult2 = data->unk_3C * 4;
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, uls, ult, uls + 252, ult + 252);
gDPSetTileSize(gMasterGfxPos++, 1, uls2, ult2, uls2 + 124, ult2 + 124);
shim_guTranslateF(sp10, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp50, data->unk_1C, data->unk_1C, data->unk_1C);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000DC0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,6 +1,11 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000840[];
extern Gfx D_090008F0[];
extern Gfx D_09000910[];
extern Gfx* D_E00328B0[];
void explosion_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/explosion", explosion_main);
@ -22,4 +27,70 @@ void explosion_render(EffectInstance* effect) {
retTask = shim_queue_render_task(&renderTask);
}
INCLUDE_ASM(s32, "effects/explosion", explosion_appendGfx);
void explosion_appendGfx(void* effect) {
ExplosionFXData* part = ((EffectInstance*)effect)->data.explosion;
s32 unk_34 = part->unk_34;
Matrix4f sp18;
Matrix4f sp58;
s32 primAlpha;
s32 primB;
s32 cond;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
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]);
part++;
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
if (part->unk_00 != -1) {
gSPDisplayList(gMasterGfxPos++, D_09000840);
shim_guScaleF(sp18, part->unk_20, part->unk_20, 1.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 240, part->unk_38);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_090008F0);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
part++;
gSPDisplayList(gMasterGfxPos++, D_09000910);
shim_guScaleF(sp18, part->unk_20, part->unk_20, part->unk_20);
shim_guRotateF(sp58, part->unk_28, 0.0f, 0.0f, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
switch (unk_34) {
default:
primAlpha = part->unk_38;
break;
case 2:
primAlpha = 255;
break;
case 1:
primAlpha = 192;
break;
}
cond = (unk_34 < 3); // required to match
if (!cond && unk_34 < 8) {
primB = unk_34 * 16 + 128;
} else {
primB = 255;
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, primB, primAlpha);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E00328B0[unk_34 % 3]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -59,7 +59,9 @@ void falling_leaves_update(EffectInstance* effect) {
f32 temp;
s32 i;
if (part->unk_2C - 5 < 10U && unk_00 == 0 && gPlayerStatus.actionState == ACTION_STATE_IDLE) {
if (part->unk_2C >= 5 && part->unk_2C <= 14 &&
unk_00 == 0 && gPlayerStatus.actionState == ACTION_STATE_IDLE)
{
return;
}

View File

@ -1,13 +1,21 @@
#include "common.h"
#include "effects_internal.h"
extern char D_09000000[][0x200];
extern Gfx D_09000D40[];
extern Gfx D_09000DE0[];
extern Gfx D_09000EB8[];
extern Gfx D_09000ED8[];
extern Gfx D_09000EF8[];
extern s8 D_E007EC2F[];
s32 D_E007EC30[] = { 0x323C4650, 0x5A646964 };
void fire_flower_appendGfx(void* effect);
void fire_flower_init(EffectInstance* effect);
void fire_flower_update(EffectInstance* effect);
void fire_flower_render(EffectInstance* effect);
s32 D_E007EC30[] = { 0x323C4650, 0x5A646964 };
EffectInstance* fire_flower_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
@ -70,7 +78,113 @@ EffectInstance* fire_flower_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg
void fire_flower_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/fire_flower", fire_flower_update);
void fire_flower_update(EffectInstance* effect) {
FireFlowerFXData* part = effect->data.fireFlower;
s32 unk_04;
s32 unk_40X;
s32 i;
part->unk_40.y++;
part->unk_40.x++;
unk_04 = part->unk_04;
unk_40X = part->unk_40.x;
if (unk_04 == 7) {
shim_remove_effect(effect);
return;
}
switch (unk_04) {
case 0:
shim_load_effect(45);
stars_spread_main(0, part->pos.x - 10.0f, part->pos.y, part->pos.z, 7, 20);
part->unk_34 = 0;
part->unk_38 = 0;
part->unk_40.x = 0;
part->unk_04++;
break;
case 1:
if (unk_40X >= 8) {
part->unk_40.x = 0;
part->unk_04++;
} else {
part->unk_30 = D_E007EC2F[unk_40X] * 0.01;
part->unk_34 = 0;
part->unk_38 = 0;
}
break;
case 2:
if (unk_40X >= 2) {
part->unk_40.x = 0;
part->unk_04++;
} else {
part->unk_34 = 1;
}
break;
case 3:
if (unk_40X >= 15) {
part->unk_40.x = 0;
part->unk_04++;
} else {
part->unk_34 = 2;
}
break;
case 4:
if (unk_40X >= 45) {
part->unk_40.x = 0;
part->unk_04++;
} else {
part->unk_34 = 3;
part->unk_2C = 0;
if (unk_40X % 2) {
part->unk_30 = 1.0f;
} else {
part->unk_30 = 1.05f;
}
}
break;
case 5:
if (unk_40X >= 10) {
part->unk_40.x = 0;
part->unk_04++;
} else {
part->unk_34 = 0;
part->unk_2C = -10.0f;
}
break;
case 6:
part->unk_28 += 36.0f;
part->unk_34 = 0;
part->unk_3C *= 0.9;
if (part->unk_28 >= 720.0f) {
part->unk_28 = 720.0f;
part->unk_04++;
}
break;
}
unk_04 = part->unk_04;
part++;
if (unk_04 == 4 || unk_04 == 5 || unk_04 == 6) {
for (i = 1; i < effect->numParts; i++, part++) {
if (part->unk_40.z <= 0 || --part->unk_40.z <= 0) {
part->unk_18 += part->unk_20;
part->pos.x += part->unk_14;
part->pos.y += part->unk_18;
part->pos.z += part->unk_1C;
if (unk_04 == 4 && part->pos.x > 200.0f) {
part->pos.x = 0;
part->pos.y = 0;
part->unk_18 = 0;
part->pos.z = 0;
}
}
}
}
}
void fire_flower_render(EffectInstance* effect) {
RenderTask renderTask;
@ -85,4 +199,74 @@ void fire_flower_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/fire_flower", fire_flower_appendGfx);
void fire_flower_appendGfx(void* effect) {
FireFlowerFXData* part = ((EffectInstance*)effect)->data.fireFlower;
s32 unk_34 = part->unk_34;
f32 unk_30 = part->unk_30;
s32 unk_04 = part->unk_04;
f32 unk_28 = part->unk_28;
f32 unk_2C = part->unk_2C;
Matrix4f sp18;
Matrix4f sp58;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, part->pos.x, part->pos.y, part->pos.z);
shim_guRotateF(sp58, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp58, sp18, 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, 255, 0, 0, part->unk_3C);
gDPSetEnvColor(gMasterGfxPos++, 255, 0, 0, part->unk_38);
if ((u32) (unk_04 - 4) < 3U) {
shim_guTranslateF(sp18, 0.0f, 16.0f, 0.0f);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000DE0);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
if (part->unk_40.z == 0) {
shim_guRotateF(sp18, part->unk_24, 0.0f, 0.0f, 1.0f);
shim_guTranslateF(sp58, part->pos.x, part->pos.y, part->pos.z);
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++, part->unk_00 != 0 ? D_09000ED8 : D_09000EB8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPDisplayList(gMasterGfxPos++, D_09000D40);
gDPLoadTextureTile_4b(
gMasterGfxPos++, D_09000000[3 - unk_34],
G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0,
G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP,
5, 5, G_TX_NOLOD, G_TX_NOLOD);
gDPLoadMultiTile_4b(
gMasterGfxPos++, D_09000000[2 - unk_34],
0x0080, 1, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0,
G_TX_MIRROR | G_TX_WRAP, G_TX_MIRROR | G_TX_WRAP,
5, 5, G_TX_NOLOD, G_TX_NOLOD);
shim_guTranslateF(sp18, unk_2C, 0.0f, 0.0f);
shim_guScaleF(sp58, unk_30, unk_30, unk_30);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guRotateF(sp58, unk_28, 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);
gSPDisplayList(gMasterGfxPos++, D_09000EF8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,16 +1,58 @@
#include "common.h"
#include "effects_internal.h"
extern u8 D_E0086AC0[];
extern u8 D_E0086AC4[];
extern u8 D_E0086AD4[];
void func_E00863B4(void);
INCLUDE_ASM(s32, "effects/firework", firework_main);
void firework_init(void) {
}
INCLUDE_ASM(s32, "effects/firework", firework_update);
void firework_update(EffectInstance* effect) {
FireworkFXData* part = effect->data.firework;
s32 unk_00 = part->unk_00;
s32 unk_34;
s32 idx;
s32 i;
part->unk_30--;
part->unk_34++;
if (part->unk_30 < 0) {
shim_remove_effect(effect);
return;
}
unk_34 = part->unk_34;
if (D_E0086AC0[unk_00] >= unk_34) {
part->unk_38 = D_E0086AC4[unk_34 - 1] / 256.0f;
} else {
part->unk_38 = 1.0f;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
if (D_E0086AC0[unk_00] >= unk_34) {
idx = unk_34 - 1;
} else {
idx = 12;
}
part->unk_04 = D_E0086AD4[idx];
part->unk_08 = 0;
part->unk_0C = 0;
}
}
void firework_render(void) {
}
INCLUDE_ASM(s32, "effects/firework", func_E0086398);
void func_E0086398(void) {
func_E00863B4();
}
INCLUDE_ASM(s32, "effects/firework", func_E00863B4);

View File

@ -1,14 +1,126 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000600[];
extern Gfx D_090008E8[];
extern Gfx D_09000950[];
extern Gfx D_09000FF8[];
void flashing_box_shockwave_init(EffectInstance* effect);
void flashing_box_shockwave_update(EffectInstance* effect);
void flashing_box_shockwave_render(EffectInstance* effect);
void flashing_box_shockwave_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/flashing_box_shockwave", flashing_box_shockwave_main);
EffectInstance* flashing_box_shockwave_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
f32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
FlashingBoxShockwaveFXData* data;
s32 numParts = 1;
void flashing_box_shockwave_init(void) {
bp.init = flashing_box_shockwave_init;
bp.update = flashing_box_shockwave_update;
bp.renderWorld = flashing_box_shockwave_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_FLASHING_BOX_SHOCKWAVE;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.flashingBoxShockwave = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.flashingBoxShockwave != NULL);
data->unk_1C = 30;
data->unk_10 = 255;
data->unk_14 = 255;
data->unk_18 = 255;
data->unk_00 = arg0;
data->unk_20 = 0;
data->pos.x = arg1;
data->pos.y = arg2;
data->pos.z = arg3;
if (arg0 == 2) {
data->unk_24 = 1.0f;
} else {
data->unk_24 = 0;
}
data->unk_28 = arg4 * 0.5;
data->unk_2C = arg5 * 0.5;
switch (arg0) {
case 0:
case 1:
case 3:
data->unk_30 = 255;
data->unk_34 = 255;
data->unk_38 = 0;
data->unk_3C = 255;
data->unk_40 = 255;
data->unk_44 = 255;
break;
default:
data->unk_30 = 70;
data->unk_34 = 180;
data->unk_38 = 120;
data->unk_3C = 255;
data->unk_40 = 255;
data->unk_44 = 255;
break;
}
return effect;
}
INCLUDE_ASM(s32, "effects/flashing_box_shockwave", flashing_box_shockwave_update);
void flashing_box_shockwave_init(EffectInstance* effect) {
}
void flashing_box_shockwave_update(EffectInstance* effect) {
FlashingBoxShockwaveFXData* data = effect->data.flashingBoxShockwave;
s32 unk_00 = data->unk_00;
s32 unk_1C;
s32 unk_20;
if (data->unk_1C < 100) {
data->unk_1C--;
}
data->unk_20++;
if (data->unk_1C < 0) {
shim_remove_effect(effect);
return;
}
unk_1C = data->unk_1C;
unk_20 = data->unk_20;
if (unk_00 == 2) {
if (unk_20 < 21) {
data->unk_24 *= 1.1;
}
} else {
data->unk_24 += (8.0 - data->unk_24) * 0.05;
}
data->unk_14 *= 0.9;
if (unk_1C < 5) {
data->unk_18 *= 0.8;
}
if (unk_20 >= 7) {
data->unk_10 -= 13;
if (data->unk_10 < 0) {
data->unk_10 = 0;
}
}
}
void flashing_box_shockwave_render(EffectInstance* effect) {
RenderTask renderTask;
@ -22,4 +134,53 @@ void flashing_box_shockwave_render(EffectInstance* effect) {
retTask = shim_queue_render_task(&renderTask);
}
INCLUDE_ASM(s32, "effects/flashing_box_shockwave", flashing_box_shockwave_appendGfx);
void flashing_box_shockwave_appendGfx(void* effect) {
FlashingBoxShockwaveFXData* data = ((EffectInstance*)effect)->data.flashingBoxShockwave;
s32 unk_00 = data->unk_00;
s32 unk_20 = data->unk_20;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
shim_guRotateF(sp98, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
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_guMtxCatF(sp98, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_30, data->unk_34, data->unk_38, data->unk_18);
gDPSetEnvColor(gMasterGfxPos++, data->unk_3C, data->unk_40, data->unk_44, 0);
if ((unk_00 == 0 || unk_00 == 1) && unk_20 % 2) {
shim_guScaleF(sp18, data->unk_28, data->unk_2C, 15.0f / 14);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000600);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, unk_20 * 8, unk_20 * 8, unk_20 * 8 + 128, unk_20 * 8 + 128);
gSPDisplayList(gMasterGfxPos++, D_090008E8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
if (unk_00 >= 1 && unk_00 <= 3) {
if (unk_00 == 1) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 0, data->unk_14);
}
shim_guTranslateF(sp18, 0.0f, data->unk_2C, 0.0f);
shim_guScaleF(sp58, data->unk_24 * 0.25, data->unk_24 * 0.25, 1.0f);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000950);
gSPDisplayList(gMasterGfxPos++, D_09000FF8);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,105 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000080[];
extern Gfx D_09000168[];
extern u8 D_E00D2500[];
extern u8 D_E00D2508[];
void floating_cloud_puff_init(EffectInstance* effect);
void floating_cloud_puff_update(EffectInstance* effect);
void floating_cloud_puff_render(EffectInstance* effect);
void floating_cloud_puff_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/floating_cloud_puff", floating_cloud_puff_main);
EffectInstance* floating_cloud_puff_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
FloatingCloudPuffFXData* data;
s32 numParts = 1;
void floating_cloud_puff_init(void) {
bp.init = floating_cloud_puff_init;
bp.update = floating_cloud_puff_update;
bp.renderWorld = floating_cloud_puff_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_FLOATING_CLOUD_PUFF;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.floatingCloudPuff = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.floatingCloudPuff != 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_34 = arg4;
data->unk_18 = 255;
data->unk_1C = 255;
data->unk_20 = 255;
data->unk_28 = 10;
data->unk_2C = 10;
data->unk_30 = 120;
return effect;
}
void floating_cloud_puff_init(EffectInstance* effect) {
}
// Needs data migration, matching otherwise
#ifdef NON_MATCHING
void floating_cloud_puff_update(EffectInstance* effect) {
FloatingCloudPuffFXData* data = effect->data.floatingCloudPuff;
s32 unk_14;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_10 = 16;
}
if (data->unk_10 < 1000) {
data->unk_10--;
}
data->unk_14++;
if (data->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
unk_14 = data->unk_14;
if (data->unk_10 < 16) {
data->unk_24 = data->unk_10 * 16;
}
data->unk_08 += 0.6;
if (unk_14 < 7) {
data->unk_38 = D_E00D2500[unk_14] * 0.01;
} else {
data->unk_38 = D_E00D2508[(unk_14 - 7) % 7] * 0.01;
}
}
#else
INCLUDE_ASM(s32, "effects/floating_cloud_puff", floating_cloud_puff_update);
#endif
void floating_cloud_puff_render(EffectInstance* effect) {
RenderTask renderTask;
@ -26,4 +117,27 @@ void floating_cloud_puff_render(EffectInstance* effect) {
void func_E00D227C(void) {
}
INCLUDE_ASM(s32, "effects/floating_cloud_puff", floating_cloud_puff_appendGfx);
void floating_cloud_puff_appendGfx(void* effect) {
FloatingCloudPuffFXData* data = ((EffectInstance*)effect)->data.floatingCloudPuff;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_24 = data->unk_24;
f32 scale = data->unk_34 * data->unk_38;
Matrix4f sp10;
Matrix4f sp50;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp10, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp50, scale, scale, scale);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
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, 0);
gSPDisplayList(gMasterGfxPos++, D_09000080);
gSPDisplayList(gMasterGfxPos++, D_09000168);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,6 +1,9 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000450[];
extern Gfx* D_E0098510[];
void floating_rock_init(EffectInstance* effect);
void floating_rock_update(EffectInstance* effect);
void floating_rock_render(EffectInstance* effect);
@ -96,4 +99,28 @@ void floating_rock_render(EffectInstance *effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/floating_rock", floating_rock_appendGfx);
void floating_rock_appendGfx(void* effect) {
FloatingRockFXData* data = ((EffectInstance*)effect)->data.floatingRock;
s32 unk_44 = data->unk_44;
Matrix4f sp20;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guPositionF(sp20, data->unk_24, data->unk_2C, data->unk_28, data->unk_3C, 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_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 215, 215, 110, unk_44);
if (unk_44 != 255) {
gDPSetRenderMode(gMasterGfxPos++, G_RM_AA_ZB_XLU_SURF, G_RM_AA_ZB_XLU_SURF2);
} else {
gDPSetRenderMode(gMasterGfxPos++, G_RM_AA_ZB_OPA_SURF, G_RM_AA_ZB_OPA_SURF2);
}
gSPDisplayList(gMasterGfxPos++, D_09000450);
gSPDisplayList(gMasterGfxPos++, D_E0098510[data->unk_00]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,14 +1,96 @@
#include "common.h"
#include "effects_internal.h"
extern s32 D_09000000;
extern s32 D_09002020;
extern Vtx D_09004040[][22];
extern Gfx D_09008BE0[];
extern u8 D_E00C2990[];
void fright_jar_init(EffectInstance* effect);
void fright_jar_update(EffectInstance* effect);
void fright_jar_render(EffectInstance* effect);
void fright_jar_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/fright_jar", fright_jar_main);
EffectInstance* fright_jar_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
s32 arg5
) {
EffectBlueprint bp;
EffectInstance* effect;
FrightJarFXData* data;
s32 numParts = 1;
void fright_jar_init(void) {
bp.init = fright_jar_init;
bp.update = fright_jar_update;
bp.renderWorld = fright_jar_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_FRIGHT_JAR;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.frightJar = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.frightJar != 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_18 = 70;
data->unk_1C = 180;
data->unk_20 = 120;
data->unk_28 = arg4 * 0.1;
return effect;
}
INCLUDE_ASM(s32, "effects/fright_jar", fright_jar_update);
void fright_jar_init(EffectInstance* effect) {
}
void fright_jar_update(EffectInstance* effect) {
FrightJarFXData* data = effect->data.frightJar;
s32 unk_10;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_10 = 16;
}
if (data->unk_10 < 1000) {
data->unk_10--;
}
data->unk_14++;
if (data->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
unk_10 = data->unk_10;
if (data->unk_14 < 16) {
data->unk_24 = data->unk_14 * 16 + 15;
} else {
data->unk_24 = 255;
}
if (unk_10 < 16) {
data->unk_24 = unk_10 * 16;
}
}
void fright_jar_render(EffectInstance* effect) {
RenderTask renderTask;
@ -26,4 +108,110 @@ void fright_jar_render(EffectInstance* effect) {
void func_E00C2214(void) {
}
INCLUDE_ASM(s32, "effects/fright_jar", fright_jar_appendGfx);
void fright_jar_appendGfx(void* effect) {
FrightJarFXData* data = ((EffectInstance*)effect)->data.frightJar;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk_14 = data->unk_14;
s32 unk_24 = data->unk_24;
u32 alpha;
s32 idx;
Matrix4f sp10;
Matrix4f sp50;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp10, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp50, -data->unk_28, data->unk_28, data->unk_28);
shim_guMtxCatF(sp50, sp10, sp10);
shim_guMtxF2L(sp10, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09008BE0);
idx = 54 - unk_14;
if (idx < 0) {
idx = 0;
}
gSPVertex(gMasterGfxPos++, &D_09004040[idx], 22, 0);
alpha = D_E00C2990[unk_14 % 16];
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, alpha);
for (i = 0; i < 10; i++) {
s32 temp1;
f32 temp2;
f32 temp3;
if (i < 5) {
temp1 = i * 12;
} else {
temp1 = i * 12 + 4;
}
temp2 = i * 0.1f;
temp3 = unk_24 * (1.0f - temp2) * 2.0f;
if (temp3 > 255.0f) {
temp3 = 255.0f;
}
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, temp3);
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 64, &D_09002020);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 8, 0, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, 0, temp1 * 4, 254, (temp1 + 15) * 4);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 8, 0, G_TX_RENDERTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, temp1 * 4, 508, (temp1 + 15) * 4);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, temp2 * 128.0f * 4.0f, 2000, 2000);
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 64, &D_09000000);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_8b, 8, 0x80, G_TX_LOADTILE, 0, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, 0, temp1 * 4, 254, (temp1 + 15) * 4);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_CI, G_IM_SIZ_4b, 8, 0x80, 1, 1, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14, G_TX_NOMIRROR | G_TX_CLAMP, 7, 14);
gDPSetTileSize(gMasterGfxPos++, 1, 0, temp1 * 4, 508, (temp1 + 15) * 4);
gDPSetTileSize(gMasterGfxPos++, 1, 0, temp2 * 128.0f * 4.0f, 2000, 2000);
switch (i) {
case 0:
gSP2Triangles(gMasterGfxPos++, 0, 1, 2, 0, 0, 2, 3, 0);
break;
case 1:
gSP2Triangles(gMasterGfxPos++, 1, 4, 5, 0, 1, 5, 2, 0);
break;
case 2:
gSP2Triangles(gMasterGfxPos++, 4, 6, 7, 0, 4, 7, 5, 0);
break;
case 3:
gSP2Triangles(gMasterGfxPos++, 6, 8, 9, 0, 6, 9, 7, 0);
break;
case 4:
gSP2Triangles(gMasterGfxPos++, 8, 10, 11, 0, 8, 11, 9, 0);
break;
case 5:
gSP2Triangles(gMasterGfxPos++, 10, 12, 13, 0, 10, 13, 11, 0);
break;
case 6:
gSP2Triangles(gMasterGfxPos++, 12, 14, 15, 0, 12, 15, 13, 0);
break;
case 7:
gSP2Triangles(gMasterGfxPos++, 14, 16, 17, 0, 14, 17, 15, 0);
break;
case 8:
gSP2Triangles(gMasterGfxPos++, 16, 18, 19, 0, 16, 19, 17, 0);
break;
case 9:
gSP2Triangles(gMasterGfxPos++, 18, 20, 21, 0, 18, 21, 19, 0);
break;
}
gDPPipeSync(gMasterGfxPos++);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,9 +1,13 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx* D_E00269F0[];
extern Gfx* D_E00269F8[];
extern u8 D_E0026A00[];
void gather_energy_pink_init(EffectInstance* effect);
void gather_energy_pink_render(EffectInstance* effect);
void gather_energy_pink_update(EffectInstance* effect);
void gather_energy_pink_render(EffectInstance* effect);
void gather_energy_pink_appendGfx(void* effect);
void gather_energy_pink_main(s32 type, f32 posX, f32 posY, f32 posZ, f32 scale, s32 duration) {
@ -65,7 +69,71 @@ void gather_energy_pink_main(s32 type, f32 posX, f32 posY, f32 posZ, f32 scale,
void gather_energy_pink_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/gather_energy_pink", gather_energy_pink_update);
void gather_energy_pink_update(EffectInstance* effect) {
GatherEnergyPinkFXData* part = effect->data.gatherEnergyPink;
s32 unk_28;
s32 unk_2C;
f32 sp28;
f32 sp2C;
f32 sp30;
f32 sp34;
s32 i;
part->unk_28--;
part->unk_2C++;
if (part->unk_28 < 0) {
shim_remove_effect(effect);
return;
}
unk_28 = part->unk_28;
unk_2C = part->unk_2C;
if (unk_2C < 11) {
part->unk_24 = (unk_2C * 255) / 10;
}
if (unk_28 < 6) {
part->unk_24 = (unk_28 * 255) / 6;
}
if (unk_28 < 10 && part->unk_00 == 0) {
part->unk_1C *= 0.7;
}
if (part->unk_00 == 1) {
part->unk_1C += (part->unk_20 + shim_sin_deg(unk_28 * 10) * 0.1 * part->unk_20 - part->unk_1C) * 0.4;
} else {
part->unk_1C += (part->unk_20 + shim_sin_deg(unk_28 * 10) * 0.1 * part->unk_20 - part->unk_1C) * 0.3;
}
shim_transform_point(&gCameras[gCurrentCameraID].perspectiveMatrix[0], part->posA.x, part->posA.y, part->posA.z, 1.0f, &sp28, &sp2C, &sp30, &sp34);
sp34 = 1.0f / sp34;
sp28 *= sp34;
sp2C *= sp34;
sp30 *= sp34;
part->posB.x = sp28;
part->posB.y = sp2C;
part->posB.z = 0;
for (i = 0; i < effect->numParts; i++, part++) {
part->unk_30 += part->unk_34;
part->unk_38 += part->unk_3C;
part->unk_40 += part->unk_44;
part->unk_48 += part->unk_4C;
part->unk_58 += part->unk_5C;
part->unk_50 += part->unk_54;
if (part->unk_40 < 0) {
part->unk_40 += 256;
}
if (part->unk_48 < 0) {
part->unk_48 += 256;
}
}
}
void gather_energy_pink_render(EffectInstance* effect) {
RenderTask renderTask;
@ -80,4 +148,72 @@ void gather_energy_pink_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/gather_energy_pink", gather_energy_pink_appendGfx);
void gather_energy_pink_appendGfx(void* effect) {
GatherEnergyPinkFXData* part = ((EffectInstance*)effect)->data.gatherEnergyPink;
s32 unk_00 = part->unk_00;
Gfx* dlist = D_E00269F8[unk_00];
Gfx* dlist2 = D_E00269F0[unk_00];
Camera* camera = &gCameras[gCurrentCameraID];
Matrix4f sp20;
Matrix4f sp60;
Matrix4f unused;
u16 perspNorm;
s32 alpha;
s32 idx;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, dlist);
shim_guTranslateF(sp20, part->posB.x, part->posB.y, part->posB.z);
shim_guScaleF(sp60, part->unk_1C, part->unk_1C, 1.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guPerspectiveF(sp60, &perspNorm, unk_00 == 1 ? 130.0f : 30.0f, (f32) camera->viewportW / camera->viewportH, 4.0f, 16384.0f, 1.0f);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
switch (unk_00) {
case 1:
shim_guTranslateF(sp20, 0.0f, 0.0f, -70.0f);
break;
case 0:
shim_guTranslateF(sp20, 0.0f, 0.0f, -80.0f);
break;
}
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
idx = part->unk_2C * 3;
alpha = part->unk_24;
for (i = 0; i < ((EffectInstance*)effect)->numParts; i++, part++) {
s32 tempX;
s32 tempY;
s32 tempX2;
s32 tempY2;
idx += 30;
idx %= 24;
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, alpha / 2);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, D_E0026A00[idx], 0, D_E0026A00[idx + 2], alpha);
tempX = part->unk_30;
tempY = part->unk_40;
tempX2 = part->unk_38;
tempY2 = part->unk_48;
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, tempX, tempY, tempX + 256, tempY + 256);
gDPSetTileSize(gMasterGfxPos++, 1, tempX2, tempY2, tempX2 + 256, tempY2 + 256);
gSPDisplayList(gMasterGfxPos++, dlist2);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCameraID], G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_PROJECTION);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -1,6 +1,9 @@
#include "common.h"
#include "effects_internal.h"
extern Gfx D_09000080[];
extern Gfx* D_E008E890[];
void gather_magic_appendGfx(void* effect);
void gather_magic_init(EffectInstance* effect);
void gather_magic_update(EffectInstance* effect);
@ -70,7 +73,67 @@ EffectInstance* gather_magic_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 ar
void gather_magic_init(EffectInstance* effect) {
}
INCLUDE_ASM(s32, "effects/gather_magic", gather_magic_update);
void gather_magic_update(EffectInstance* effect) {
GatherMagicFXData* part = effect->data.gatherMagic;
s32 unk_1C;
s32 i;
if (part->unk_18 < 100) {
part->unk_18--;
}
part->unk_1C++;
if (part->unk_18 < 0) {
shim_remove_effect(effect);
return;
}
unk_1C = part->unk_1C;
if (unk_1C < 21) {
part->unk_14 = unk_1C * 12;
} else {
part->unk_14 = 255;
}
if (unk_1C % 2) {
part->unk_14 *= 0.5;
}
unk_1C = part->unk_1C;
part++;
for (i = 1; i < effect->numParts; i++, part++) {
f32 unk_20 = part->unk_20;
f32 unk_2C = part->unk_2C;
f32 unk_24 = part->unk_24;
f32 sin_20 = shim_sin_deg(unk_20);
f32 cos_20 = shim_cos_deg(unk_20);
f32 sin_24 = shim_sin_deg(unk_24);
f32 cos_24 = shim_cos_deg(unk_24);
part->unk_08 = unk_2C * sin_20 * cos_24;
part->unk_0C = unk_2C * cos_20 * cos_24;
part->unk_10 = unk_2C * sin_24;
part->unk_14 = ((100.0f - part->unk_2C) * 255.0f * 2.0f) / 100.0f;
if (part->unk_14 >= 256) {
part->unk_14 = 255;
}
part->unk_28 = part->unk_2C / 80.0f + 0.2;
part->unk_2C -= (i & 3) * 2 + 2;
if (part->unk_2C < 0.0f) {
part->unk_2C = 0.0f;
part->unk_28 = 0.0f;
}
part->unk_20 += (unk_1C % 2) ? 5.0f : 2.0f;
part->unk_24 += (unk_1C % 2) ? 2.0f : 5.0f;
}
}
void gather_magic_render(EffectInstance* effect) {
RenderTask renderTask;
@ -85,4 +148,45 @@ void gather_magic_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2;
}
INCLUDE_ASM(s32, "effects/gather_magic", gather_magic_appendGfx);
void gather_magic_appendGfx(void* effect) {
GatherMagicFXData* part = ((EffectInstance*)effect)->data.gatherMagic;
s32 unk_30 = part->unk_30;
s32 unk_34 = part->unk_34;
s32 unk_38 = part->unk_38;
Matrix4f sp18;
Matrix4f sp58;
Matrix4f sp98;
s32 i;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp18, part->unk_08, part->unk_0C, part->unk_10);
shim_guRotateF(sp98, -gCameras[gCurrentCameraID].currentYaw, 0.0f, 1.0f, 0.0f);
shim_guMtxCatF(sp98, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_09000080);
gDPSetEnvColor(gMasterGfxPos++, part->unk_3C, part->unk_40, part->unk_44, 0);
part++;
for (i = 1; i < ((EffectInstance*)effect)->numParts; i++, part++) {
f32 scale = part->unk_28;
if (scale != 0.0f) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, unk_30, unk_34, unk_38, part->unk_14);
shim_guTranslateF(sp18, part->unk_08, part->unk_0C, part->unk_10);
shim_guScaleF(sp58, scale, scale, scale);
shim_guMtxCatF(sp58, sp18, sp18);
shim_guMtxF2L(sp18, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gSPDisplayList(gMasterGfxPos++, D_E008E890[i & 1]);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,14 +1,87 @@
#include "common.h"
#include "effects_internal.h"
extern char D_09000000[][0x1000];
extern char D_09004000[][0x1000];
extern Gfx D_09008100[];
extern Gfx* D_E0036630[];
extern u8 D_E0036640[];
extern u8 D_E0036648[];
void got_item_outline_init(EffectInstance* effect);
void got_item_outline_update(EffectInstance* effect);
void got_item_outline_render(EffectInstance* effect);
void got_item_outline_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/got_item_outline", got_item_outline_main);
void got_item_outline_main(
s32 arg0,
f32 arg1,
f32 arg2,
f32 arg3,
f32 arg4,
EffectInstance** outEffect
) {
EffectBlueprint bp;
EffectInstance* effect;
GotItemOutlineFXData* data;
s32 numParts = 1;
void got_item_outline_init(void) {
bp.init = got_item_outline_init;
bp.update = got_item_outline_update;
bp.renderWorld = got_item_outline_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_GOT_ITEM_OUTLINE;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.gotItemOutline = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.gotItemOutline != NULL);
data->unk_14 = 100;
data->unk_00 = arg0;
data->unk_10 = 0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_1C = 255;
*outEffect = effect;
}
INCLUDE_ASM(s32, "effects/got_item_outline", got_item_outline_update);
void got_item_outline_init(EffectInstance* effect) {
}
void got_item_outline_update(EffectInstance* effect) {
GotItemOutlineFXData* data = effect->data.gotItemOutline;
s32 unk_10;
if (data->unk_14 < 100) {
data->unk_14--;
if (data->unk_14 < 0) {
shim_remove_effect(effect);
return;
}
}
data->unk_10++;
unk_10 = data->unk_10;
if (data->unk_14 < 6) {
data->unk_18 = D_E0036648[5 - data->unk_14] / 150.0f;
data->unk_1C /= 2;
} else {
if (unk_10 < 7) {
data->unk_18 = D_E0036640[unk_10 - 1] / 150.0f;
} else {
data->unk_18 = 1.0f;
}
if (unk_10 >= 7) {
data->unk_10 = 7;
}
}
}
void got_item_outline_render(EffectInstance* effect) {
RenderTask renderTask;
@ -26,4 +99,65 @@ void got_item_outline_render(EffectInstance* effect) {
void func_E003621C(void) {
}
INCLUDE_ASM(s32, "effects/got_item_outline", got_item_outline_appendGfx);
void got_item_outline_appendGfx(void* effect) {
GotItemOutlineFXData* data = ((EffectInstance*)effect)->data.gotItemOutline;
s32 unk_00 = data->unk_00;
f32 unk_18 = data->unk_18;
Matrix4f sp18;
Matrix4f sp58;
s32 i;
if (unk_18 != 0.0f) {
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
gSPDisplayList(gMasterGfxPos++, D_09008100);
if (unk_00 == 0) {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 255, data->unk_1C);
gDPSetEnvColor(gMasterGfxPos++, 0, 0, 0, 255);
} else {
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 255, 255, 255, data->unk_1C);
gDPSetEnvColor(gMasterGfxPos++, 255, 255, 0, 255);
}
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, sp18);
shim_guTranslateF(sp58, 0.0f, 0.0f, -2.0f);
shim_guMtxCatF(sp58, sp18, sp18);
unk_18 *= 0.6;
shim_guScaleF(sp58, unk_18, unk_18, 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);
for (i = 0; i < 4; i++) {
char* temp;
if (unk_00 == 0) {
temp = D_09000000[i];
} else {
temp = D_09004000[i];
}
gDPSetTextureImage(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_8b, 128, temp);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0, G_TX_LOADTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPLoadSync(gMasterGfxPos++);
gDPLoadTile(gMasterGfxPos++, G_TX_LOADTILE, 0, 0, 508, 124);
gDPPipeSync(gMasterGfxPos++);
gDPSetTile(gMasterGfxPos++, G_IM_FMT_IA, G_IM_SIZ_8b, 16, 0, G_TX_RENDERTILE, 0,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD);
gDPSetTileSize(gMasterGfxPos++, G_TX_RENDERTILE, 0, 0, 508, 124);
gSPDisplayList(gMasterGfxPos++, D_E0036630[i]);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMasterGfxPos++);
}
}

View File

@ -143,8 +143,8 @@ ApiStatus func_802D7B74(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*)evt_get_variable(script, *args++);
// function is never called, so the effect type is assumed
effect->data.gotItemOutline->unk_30 = 5;
// function is never called, so the effect type can't be inferred
effect->data.any[12] = 5;
return ApiStatus_DONE2;
}

View File

@ -1,528 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E003C498
/* 34F958 E003C498 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 34F95C E003C49C 3C05DB06 */ lui $a1, 0xdb06
/* 34F960 E003C4A0 34A50024 */ ori $a1, $a1, 0x24
/* 34F964 E003C4A4 AFA400E8 */ sw $a0, 0xe8($sp)
/* 34F968 E003C4A8 27A40020 */ addiu $a0, $sp, 0x20
/* 34F96C E003C4AC AFB300BC */ sw $s3, 0xbc($sp)
/* 34F970 E003C4B0 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 34F974 E003C4B4 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 34F978 E003C4B8 8FAA00E8 */ lw $t2, 0xe8($sp)
/* 34F97C E003C4BC 3C02E700 */ lui $v0, 0xe700
/* 34F980 E003C4C0 AFBF00D4 */ sw $ra, 0xd4($sp)
/* 34F984 E003C4C4 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 34F988 E003C4C8 AFB700CC */ sw $s7, 0xcc($sp)
/* 34F98C E003C4CC AFB600C8 */ sw $s6, 0xc8($sp)
/* 34F990 E003C4D0 AFB500C4 */ sw $s5, 0xc4($sp)
/* 34F994 E003C4D4 AFB400C0 */ sw $s4, 0xc0($sp)
/* 34F998 E003C4D8 AFB200B8 */ sw $s2, 0xb8($sp)
/* 34F99C E003C4DC AFB100B4 */ sw $s1, 0xb4($sp)
/* 34F9A0 E003C4E0 AFB000B0 */ sw $s0, 0xb0($sp)
/* 34F9A4 E003C4E4 F7B600E0 */ sdc1 $f22, 0xe0($sp)
/* 34F9A8 E003C4E8 F7B400D8 */ sdc1 $f20, 0xd8($sp)
/* 34F9AC E003C4EC 8E680000 */ lw $t0, ($s3)
/* 34F9B0 E003C4F0 8D54000C */ lw $s4, 0xc($t2)
/* 34F9B4 E003C4F4 0100182D */ daddu $v1, $t0, $zero
/* 34F9B8 E003C4F8 8E8A003C */ lw $t2, 0x3c($s4)
/* 34F9BC E003C4FC 25080008 */ addiu $t0, $t0, 8
/* 34F9C0 E003C500 AFAA00A8 */ sw $t2, 0xa8($sp)
/* 34F9C4 E003C504 AC620000 */ sw $v0, ($v1)
/* 34F9C8 E003C508 AC600004 */ sw $zero, 4($v1)
/* 34F9CC E003C50C AD050000 */ sw $a1, ($t0)
/* 34F9D0 E003C510 8FAA00E8 */ lw $t2, 0xe8($sp)
/* 34F9D4 E003C514 3C120001 */ lui $s2, 1
/* 34F9D8 E003C518 8D420010 */ lw $v0, 0x10($t2)
/* 34F9DC E003C51C 36521630 */ ori $s2, $s2, 0x1630
/* 34F9E0 E003C520 AE680000 */ sw $t0, ($s3)
/* 34F9E4 E003C524 8C42001C */ lw $v0, 0x1c($v0)
/* 34F9E8 E003C528 3C038000 */ lui $v1, 0x8000
/* 34F9EC E003C52C 00431021 */ addu $v0, $v0, $v1
/* 34F9F0 E003C530 AD020004 */ sw $v0, 4($t0)
/* 34F9F4 E003C534 8E850004 */ lw $a1, 4($s4)
/* 34F9F8 E003C538 8E860008 */ lw $a2, 8($s4)
/* 34F9FC E003C53C 8E87000C */ lw $a3, 0xc($s4)
/* 34FA00 E003C540 25080008 */ addiu $t0, $t0, 8
/* 34FA04 E003C544 0C080108 */ jal shim_guTranslateF
/* 34FA08 E003C548 AE680000 */ sw $t0, ($s3)
/* 34FA0C E003C54C 27B00060 */ addiu $s0, $sp, 0x60
/* 34FA10 E003C550 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 34FA14 E003C554 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 34FA18 E003C558 44800000 */ mtc1 $zero, $f0
/* 34FA1C E003C55C 00031080 */ sll $v0, $v1, 2
/* 34FA20 E003C560 00431021 */ addu $v0, $v0, $v1
/* 34FA24 E003C564 00021080 */ sll $v0, $v0, 2
/* 34FA28 E003C568 00431023 */ subu $v0, $v0, $v1
/* 34FA2C E003C56C 000218C0 */ sll $v1, $v0, 3
/* 34FA30 E003C570 00431021 */ addu $v0, $v0, $v1
/* 34FA34 E003C574 000210C0 */ sll $v0, $v0, 3
/* 34FA38 E003C578 44060000 */ mfc1 $a2, $f0
/* 34FA3C E003C57C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 34FA40 E003C580 00220821 */ addu $at, $at, $v0
/* 34FA44 E003C584 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 34FA48 E003C588 3C073F80 */ lui $a3, 0x3f80
/* 34FA4C E003C58C 46000007 */ neg.s $f0, $f0
/* 34FA50 E003C590 44050000 */ mfc1 $a1, $f0
/* 34FA54 E003C594 0200202D */ daddu $a0, $s0, $zero
/* 34FA58 E003C598 0C080104 */ jal shim_guRotateF
/* 34FA5C E003C59C AFA60010 */ sw $a2, 0x10($sp)
/* 34FA60 E003C5A0 0200202D */ daddu $a0, $s0, $zero
/* 34FA64 E003C5A4 27A50020 */ addiu $a1, $sp, 0x20
/* 34FA68 E003C5A8 0C080114 */ jal shim_guMtxCatF
/* 34FA6C E003C5AC 00A0302D */ daddu $a2, $a1, $zero
/* 34FA70 E003C5B0 27A40020 */ addiu $a0, $sp, 0x20
/* 34FA74 E003C5B4 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 34FA78 E003C5B8 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 34FA7C E003C5BC 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 34FA80 E003C5C0 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 34FA84 E003C5C4 96050000 */ lhu $a1, ($s0)
/* 34FA88 E003C5C8 8E220000 */ lw $v0, ($s1)
/* 34FA8C E003C5CC 00052980 */ sll $a1, $a1, 6
/* 34FA90 E003C5D0 00B22821 */ addu $a1, $a1, $s2
/* 34FA94 E003C5D4 0C080118 */ jal shim_guMtxF2L
/* 34FA98 E003C5D8 00452821 */ addu $a1, $v0, $a1
/* 34FA9C E003C5DC 8E670000 */ lw $a3, ($s3)
/* 34FAA0 E003C5E0 00E0282D */ daddu $a1, $a3, $zero
/* 34FAA4 E003C5E4 24E70008 */ addiu $a3, $a3, 8
/* 34FAA8 E003C5E8 AE670000 */ sw $a3, ($s3)
/* 34FAAC E003C5EC 96040000 */ lhu $a0, ($s0)
/* 34FAB0 E003C5F0 3C02DA38 */ lui $v0, 0xda38
/* 34FAB4 E003C5F4 ACA20000 */ sw $v0, ($a1)
/* 34FAB8 E003C5F8 8E230000 */ lw $v1, ($s1)
/* 34FABC E003C5FC 3082FFFF */ andi $v0, $a0, 0xffff
/* 34FAC0 E003C600 00021180 */ sll $v0, $v0, 6
/* 34FAC4 E003C604 00521021 */ addu $v0, $v0, $s2
/* 34FAC8 E003C608 00621821 */ addu $v1, $v1, $v0
/* 34FACC E003C60C ACA30004 */ sw $v1, 4($a1)
/* 34FAD0 E003C610 8FAA00E8 */ lw $t2, 0xe8($sp)
/* 34FAD4 E003C614 8D450008 */ lw $a1, 8($t2)
/* 34FAD8 E003C618 24840001 */ addiu $a0, $a0, 1
/* 34FADC E003C61C A6040000 */ sh $a0, ($s0)
/* 34FAE0 E003C620 8D43000C */ lw $v1, 0xc($t2)
/* 34FAE4 E003C624 8E840034 */ lw $a0, 0x34($s4)
/* 34FAE8 E003C628 00051180 */ sll $v0, $a1, 6
/* 34FAEC E003C62C 2442FFC0 */ addiu $v0, $v0, -0x40
/* 34FAF0 E003C630 0062A021 */ addu $s4, $v1, $v0
/* 34FAF4 E003C634 2484FFFF */ addiu $a0, $a0, -1
/* 34FAF8 E003C638 24A5FFFF */ addiu $a1, $a1, -1
/* 34FAFC E003C63C AFA400A0 */ sw $a0, 0xa0($sp)
/* 34FB00 E003C640 AFA500A4 */ sw $a1, 0xa4($sp)
/* 34FB04 E003C644 8E83002C */ lw $v1, 0x2c($s4)
/* 34FB08 E003C648 240200FF */ addiu $v0, $zero, 0xff
/* 34FB0C E003C64C 14620005 */ bne $v1, $v0, .LE003C664
/* 34FB10 E003C650 3C05E200 */ lui $a1, 0xe200
/* 34FB14 E003C654 34A5001C */ ori $a1, $a1, 0x1c
/* 34FB18 E003C658 3C030055 */ lui $v1, 0x55
/* 34FB1C E003C65C 0800F19C */ j .LE003C670
/* 34FB20 E003C660 34633048 */ ori $v1, $v1, 0x3048
.LE003C664:
/* 34FB24 E003C664 34A5001C */ ori $a1, $a1, 0x1c
/* 34FB28 E003C668 3C030050 */ lui $v1, 0x50
/* 34FB2C E003C66C 34634340 */ ori $v1, $v1, 0x4340
.LE003C670:
/* 34FB30 E003C670 3C06FC62 */ lui $a2, 0xfc62
/* 34FB34 E003C674 34C632C4 */ ori $a2, $a2, 0x32c4
/* 34FB38 E003C678 3C04FF65 */ lui $a0, 0xff65
/* 34FB3C E003C67C 3484FEFF */ ori $a0, $a0, 0xfeff
/* 34FB40 E003C680 24E20008 */ addiu $v0, $a3, 8
/* 34FB44 E003C684 AE620000 */ sw $v0, ($s3)
/* 34FB48 E003C688 24E20010 */ addiu $v0, $a3, 0x10
/* 34FB4C E003C68C ACE50000 */ sw $a1, ($a3)
/* 34FB50 E003C690 ACE30004 */ sw $v1, 4($a3)
/* 34FB54 E003C694 AE620000 */ sw $v0, ($s3)
/* 34FB58 E003C698 ACE60008 */ sw $a2, 8($a3)
/* 34FB5C E003C69C ACE4000C */ sw $a0, 0xc($a3)
/* 34FB60 E003C6A0 8FAA00E8 */ lw $t2, 0xe8($sp)
/* 34FB64 E003C6A4 8D420008 */ lw $v0, 8($t2)
/* 34FB68 E003C6A8 24120001 */ addiu $s2, $zero, 1
/* 34FB6C E003C6AC 0242102A */ slt $v0, $s2, $v0
/* 34FB70 E003C6B0 10400161 */ beqz $v0, .LE003CC38
/* 34FB74 E003C6B4 3C15DE00 */ lui $s5, 0xde00
/* 34FB78 E003C6B8 3C10800A */ lui $s0, %hi(gMasterGfxPos)
/* 34FB7C E003C6BC 2610A66C */ addiu $s0, $s0, %lo(gMasterGfxPos)
/* 34FB80 E003C6C0 3C17800A */ lui $s7, %hi(gDisplayContext)
/* 34FB84 E003C6C4 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext)
/* 34FB88 E003C6C8 3C168007 */ lui $s6, %hi(gMatrixListPos)
/* 34FB8C E003C6CC 26D641F0 */ addiu $s6, $s6, %lo(gMatrixListPos)
/* 34FB90 E003C6D0 3C130001 */ lui $s3, 1
/* 34FB94 E003C6D4 36731630 */ ori $s3, $s3, 0x1630
/* 34FB98 E003C6D8 3C1ED838 */ lui $fp, 0xd838
/* 34FB9C E003C6DC 37DE0002 */ ori $fp, $fp, 2
/* 34FBA0 E003C6E0 26910038 */ addiu $s1, $s4, 0x38
/* 34FBA4 E003C6E4 4480A000 */ mtc1 $zero, $f20
/* 34FBA8 E003C6E8 3C013FE0 */ lui $at, 0x3fe0
/* 34FBAC E003C6EC 4481B800 */ mtc1 $at, $f23
/* 34FBB0 E003C6F0 4480B000 */ mtc1 $zero, $f22
.LE003C6F4:
/* 34FBB4 E003C6F4 3C022AAA */ lui $v0, 0x2aaa
/* 34FBB8 E003C6F8 3442AAAB */ ori $v0, $v0, 0xaaab
/* 34FBBC E003C6FC 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 34FBC0 E003C700 8E060000 */ lw $a2, ($s0)
/* 34FBC4 E003C704 024A2021 */ addu $a0, $s2, $t2
/* 34FBC8 E003C708 00C0402D */ daddu $t0, $a2, $zero
/* 34FBCC E003C70C 24C60008 */ addiu $a2, $a2, 8
/* 34FBD0 E003C710 00820018 */ mult $a0, $v0
/* 34FBD4 E003C714 3C02FA00 */ lui $v0, 0xfa00
/* 34FBD8 E003C718 AE060000 */ sw $a2, ($s0)
/* 34FBDC E003C71C AD020000 */ sw $v0, ($t0)
/* 34FBE0 E003C720 000417C3 */ sra $v0, $a0, 0x1f
/* 34FBE4 E003C724 9227FFF7 */ lbu $a3, -9($s1)
/* 34FBE8 E003C728 00005010 */ mfhi $t2
/* 34FBEC E003C72C 000A1843 */ sra $v1, $t2, 1
/* 34FBF0 E003C730 00621823 */ subu $v1, $v1, $v0
/* 34FBF4 E003C734 00031040 */ sll $v0, $v1, 1
/* 34FBF8 E003C738 00431021 */ addu $v0, $v0, $v1
/* 34FBFC E003C73C 00021080 */ sll $v0, $v0, 2
/* 34FC00 E003C740 00822023 */ subu $a0, $a0, $v0
/* 34FC04 E003C744 00041040 */ sll $v0, $a0, 1
/* 34FC08 E003C748 00441021 */ addu $v0, $v0, $a0
/* 34FC0C E003C74C 3C0AE004 */ lui $t2, %hi(D_E003CCF8)
/* 34FC10 E003C750 254ACCF8 */ addiu $t2, $t2, %lo(D_E003CCF8)
/* 34FC14 E003C754 004A1821 */ addu $v1, $v0, $t2
/* 34FC18 E003C758 0060202D */ daddu $a0, $v1, $zero
/* 34FC1C E003C75C 0060102D */ daddu $v0, $v1, $zero
/* 34FC20 E003C760 90630000 */ lbu $v1, ($v1)
/* 34FC24 E003C764 90840001 */ lbu $a0, 1($a0)
/* 34FC28 E003C768 90450002 */ lbu $a1, 2($v0)
/* 34FC2C E003C76C 24C20008 */ addiu $v0, $a2, 8
/* 34FC30 E003C770 AE020000 */ sw $v0, ($s0)
/* 34FC34 E003C774 00031E00 */ sll $v1, $v1, 0x18
/* 34FC38 E003C778 00042400 */ sll $a0, $a0, 0x10
/* 34FC3C E003C77C 00641825 */ or $v1, $v1, $a0
/* 34FC40 E003C780 00052A00 */ sll $a1, $a1, 8
/* 34FC44 E003C784 00651825 */ or $v1, $v1, $a1
/* 34FC48 E003C788 00671825 */ or $v1, $v1, $a3
/* 34FC4C E003C78C AD030004 */ sw $v1, 4($t0)
/* 34FC50 E003C790 3C0A0900 */ lui $t2, 0x900
/* 34FC54 E003C794 254A1D40 */ addiu $t2, $t2, 0x1d40
/* 34FC58 E003C798 ACD50000 */ sw $s5, ($a2)
/* 34FC5C E003C79C ACCA0004 */ sw $t2, 4($a2)
/* 34FC60 E003C7A0 8FAA00A4 */ lw $t2, 0xa4($sp)
/* 34FC64 E003C7A4 164A006E */ bne $s2, $t2, .LE003C960
/* 34FC68 E003C7A8 27A40020 */ addiu $a0, $sp, 0x20
/* 34FC6C E003C7AC C6200000 */ lwc1 $f0, ($s1)
/* 34FC70 E003C7B0 4405A000 */ mfc1 $a1, $f20
/* 34FC74 E003C7B4 4406A000 */ mfc1 $a2, $f20
/* 34FC78 E003C7B8 4407A000 */ mfc1 $a3, $f20
/* 34FC7C E003C7BC E7A00010 */ swc1 $f0, 0x10($sp)
/* 34FC80 E003C7C0 C620FFD8 */ lwc1 $f0, -0x28($s1)
/* 34FC84 E003C7C4 E7A00014 */ swc1 $f0, 0x14($sp)
/* 34FC88 E003C7C8 C620FFDC */ lwc1 $f0, -0x24($s1)
/* 34FC8C E003C7CC E7A00018 */ swc1 $f0, 0x18($sp)
/* 34FC90 E003C7D0 C620FFE0 */ lwc1 $f0, -0x20($s1)
/* 34FC94 E003C7D4 0C080180 */ jal shim_guPositionF
/* 34FC98 E003C7D8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 34FC9C E003C7DC 27A40020 */ addiu $a0, $sp, 0x20
/* 34FCA0 E003C7E0 96C50000 */ lhu $a1, ($s6)
/* 34FCA4 E003C7E4 8EE20000 */ lw $v0, ($s7)
/* 34FCA8 E003C7E8 00052980 */ sll $a1, $a1, 6
/* 34FCAC E003C7EC 00B32821 */ addu $a1, $a1, $s3
/* 34FCB0 E003C7F0 0C080118 */ jal shim_guMtxF2L
/* 34FCB4 E003C7F4 00452821 */ addu $a1, $v0, $a1
/* 34FCB8 E003C7F8 8E080000 */ lw $t0, ($s0)
/* 34FCBC E003C7FC 96C90000 */ lhu $t1, ($s6)
/* 34FCC0 E003C800 0100202D */ daddu $a0, $t0, $zero
/* 34FCC4 E003C804 25080008 */ addiu $t0, $t0, 8
/* 34FCC8 E003C808 3C0ADA38 */ lui $t2, 0xda38
/* 34FCCC E003C80C 3122FFFF */ andi $v0, $t1, 0xffff
/* 34FCD0 E003C810 00021180 */ sll $v0, $v0, 6
/* 34FCD4 E003C814 AC8A0000 */ sw $t2, ($a0)
/* 34FCD8 E003C818 8EE30000 */ lw $v1, ($s7)
/* 34FCDC E003C81C 00531021 */ addu $v0, $v0, $s3
/* 34FCE0 E003C820 00621821 */ addu $v1, $v1, $v0
/* 34FCE4 E003C824 3C020900 */ lui $v0, 0x900
/* 34FCE8 E003C828 24422150 */ addiu $v0, $v0, 0x2150
/* 34FCEC E003C82C AC830004 */ sw $v1, 4($a0)
/* 34FCF0 E003C830 240A0040 */ addiu $t2, $zero, 0x40
/* 34FCF4 E003C834 AD150000 */ sw $s5, ($t0)
/* 34FCF8 E003C838 AD020004 */ sw $v0, 4($t0)
/* 34FCFC E003C83C AD1E0008 */ sw $fp, 8($t0)
/* 34FD00 E003C840 AD0A000C */ sw $t2, 0xc($t0)
/* 34FD04 E003C844 C6200000 */ lwc1 $f0, ($s1)
/* 34FD08 E003C848 E7A00010 */ swc1 $f0, 0x10($sp)
/* 34FD0C E003C84C C620FFD8 */ lwc1 $f0, -0x28($s1)
/* 34FD10 E003C850 C622FFCC */ lwc1 $f2, -0x34($s1)
/* 34FD14 E003C854 46020000 */ add.s $f0, $f0, $f2
/* 34FD18 E003C858 46000021 */ cvt.d.s $f0, $f0
/* 34FD1C E003C85C 46360002 */ mul.d $f0, $f0, $f22
/* 34FD20 E003C860 00000000 */ nop
/* 34FD24 E003C864 46200020 */ cvt.s.d $f0, $f0
/* 34FD28 E003C868 E7A00014 */ swc1 $f0, 0x14($sp)
/* 34FD2C E003C86C C620FFDC */ lwc1 $f0, -0x24($s1)
/* 34FD30 E003C870 C622FFD0 */ lwc1 $f2, -0x30($s1)
/* 34FD34 E003C874 46020000 */ add.s $f0, $f0, $f2
/* 34FD38 E003C878 46000021 */ cvt.d.s $f0, $f0
/* 34FD3C E003C87C 46360002 */ mul.d $f0, $f0, $f22
/* 34FD40 E003C880 00000000 */ nop
/* 34FD44 E003C884 4405A000 */ mfc1 $a1, $f20
/* 34FD48 E003C888 46200020 */ cvt.s.d $f0, $f0
/* 34FD4C E003C88C E7A00018 */ swc1 $f0, 0x18($sp)
/* 34FD50 E003C890 C620FFE0 */ lwc1 $f0, -0x20($s1)
/* 34FD54 E003C894 C622FFD4 */ lwc1 $f2, -0x2c($s1)
/* 34FD58 E003C898 4406A000 */ mfc1 $a2, $f20
/* 34FD5C E003C89C 46020000 */ add.s $f0, $f0, $f2
/* 34FD60 E003C8A0 4407A000 */ mfc1 $a3, $f20
/* 34FD64 E003C8A4 25290001 */ addiu $t1, $t1, 1
/* 34FD68 E003C8A8 46000021 */ cvt.d.s $f0, $f0
/* 34FD6C E003C8AC 46360002 */ mul.d $f0, $f0, $f22
/* 34FD70 E003C8B0 00000000 */ nop
/* 34FD74 E003C8B4 27A40020 */ addiu $a0, $sp, 0x20
/* 34FD78 E003C8B8 25020008 */ addiu $v0, $t0, 8
/* 34FD7C E003C8BC AE080000 */ sw $t0, ($s0)
/* 34FD80 E003C8C0 25080010 */ addiu $t0, $t0, 0x10
/* 34FD84 E003C8C4 A6C90000 */ sh $t1, ($s6)
/* 34FD88 E003C8C8 AE020000 */ sw $v0, ($s0)
/* 34FD8C E003C8CC AE080000 */ sw $t0, ($s0)
/* 34FD90 E003C8D0 46200020 */ cvt.s.d $f0, $f0
/* 34FD94 E003C8D4 0C080180 */ jal shim_guPositionF
/* 34FD98 E003C8D8 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 34FD9C E003C8DC 27A40020 */ addiu $a0, $sp, 0x20
/* 34FDA0 E003C8E0 96C50000 */ lhu $a1, ($s6)
/* 34FDA4 E003C8E4 8EE20000 */ lw $v0, ($s7)
/* 34FDA8 E003C8E8 00052980 */ sll $a1, $a1, 6
/* 34FDAC E003C8EC 00B32821 */ addu $a1, $a1, $s3
/* 34FDB0 E003C8F0 0C080118 */ jal shim_guMtxF2L
/* 34FDB4 E003C8F4 00452821 */ addu $a1, $v0, $a1
/* 34FDB8 E003C8F8 8E040000 */ lw $a0, ($s0)
/* 34FDBC E003C8FC 96C30000 */ lhu $v1, ($s6)
/* 34FDC0 E003C900 0080282D */ daddu $a1, $a0, $zero
/* 34FDC4 E003C904 24840008 */ addiu $a0, $a0, 8
/* 34FDC8 E003C908 3C0ADA38 */ lui $t2, 0xda38
/* 34FDCC E003C90C 24620001 */ addiu $v0, $v1, 1
/* 34FDD0 E003C910 3063FFFF */ andi $v1, $v1, 0xffff
/* 34FDD4 E003C914 00031980 */ sll $v1, $v1, 6
/* 34FDD8 E003C918 AE040000 */ sw $a0, ($s0)
/* 34FDDC E003C91C ACAA0000 */ sw $t2, ($a1)
/* 34FDE0 E003C920 A6C20000 */ sh $v0, ($s6)
/* 34FDE4 E003C924 8EE20000 */ lw $v0, ($s7)
/* 34FDE8 E003C928 00731821 */ addu $v1, $v1, $s3
/* 34FDEC E003C92C 00431021 */ addu $v0, $v0, $v1
/* 34FDF0 E003C930 ACA20004 */ sw $v0, 4($a1)
/* 34FDF4 E003C934 24820008 */ addiu $v0, $a0, 8
/* 34FDF8 E003C938 AE020000 */ sw $v0, ($s0)
/* 34FDFC E003C93C 3C020900 */ lui $v0, 0x900
/* 34FE00 E003C940 24422160 */ addiu $v0, $v0, 0x2160
/* 34FE04 E003C944 AC820004 */ sw $v0, 4($a0)
/* 34FE08 E003C948 24820010 */ addiu $v0, $a0, 0x10
/* 34FE0C E003C94C 240A0040 */ addiu $t2, $zero, 0x40
/* 34FE10 E003C950 AC950000 */ sw $s5, ($a0)
/* 34FE14 E003C954 AE020000 */ sw $v0, ($s0)
/* 34FE18 E003C958 AC9E0008 */ sw $fp, 8($a0)
/* 34FE1C E003C95C AC8A000C */ sw $t2, 0xc($a0)
.LE003C960:
/* 34FE20 E003C960 8E030000 */ lw $v1, ($s0)
/* 34FE24 E003C964 27A40020 */ addiu $a0, $sp, 0x20
/* 34FE28 E003C968 0060102D */ daddu $v0, $v1, $zero
/* 34FE2C E003C96C 3C0A0900 */ lui $t2, 0x900
/* 34FE30 E003C970 254A1D40 */ addiu $t2, $t2, 0x1d40
/* 34FE34 E003C974 AC550000 */ sw $s5, ($v0)
/* 34FE38 E003C978 AC4A0004 */ sw $t2, 4($v0)
/* 34FE3C E003C97C 8E25FFCC */ lw $a1, -0x34($s1)
/* 34FE40 E003C980 8E26FFD0 */ lw $a2, -0x30($s1)
/* 34FE44 E003C984 8E27FFD4 */ lw $a3, -0x2c($s1)
/* 34FE48 E003C988 24630008 */ addiu $v1, $v1, 8
/* 34FE4C E003C98C 0C080108 */ jal shim_guTranslateF
/* 34FE50 E003C990 AE030000 */ sw $v1, ($s0)
/* 34FE54 E003C994 27A40020 */ addiu $a0, $sp, 0x20
/* 34FE58 E003C998 96C50000 */ lhu $a1, ($s6)
/* 34FE5C E003C99C 8EE20000 */ lw $v0, ($s7)
/* 34FE60 E003C9A0 00052980 */ sll $a1, $a1, 6
/* 34FE64 E003C9A4 00B32821 */ addu $a1, $a1, $s3
/* 34FE68 E003C9A8 0C080118 */ jal shim_guMtxF2L
/* 34FE6C E003C9AC 00452821 */ addu $a1, $v0, $a1
/* 34FE70 E003C9B0 27A40020 */ addiu $a0, $sp, 0x20
/* 34FE74 E003C9B4 8E060000 */ lw $a2, ($s0)
/* 34FE78 E003C9B8 3C073F80 */ lui $a3, 0x3f80
/* 34FE7C E003C9BC 96C80000 */ lhu $t0, ($s6)
/* 34FE80 E003C9C0 00C0282D */ daddu $a1, $a2, $zero
/* 34FE84 E003C9C4 3C0ADA38 */ lui $t2, 0xda38
/* 34FE88 E003C9C8 3102FFFF */ andi $v0, $t0, 0xffff
/* 34FE8C E003C9CC 00021180 */ sll $v0, $v0, 6
/* 34FE90 E003C9D0 00531021 */ addu $v0, $v0, $s3
/* 34FE94 E003C9D4 ACAA0000 */ sw $t2, ($a1)
/* 34FE98 E003C9D8 8EE30000 */ lw $v1, ($s7)
/* 34FE9C E003C9DC 24C60008 */ addiu $a2, $a2, 8
/* 34FEA0 E003C9E0 00621821 */ addu $v1, $v1, $v0
/* 34FEA4 E003C9E4 ACA30004 */ sw $v1, 4($a1)
/* 34FEA8 E003C9E8 8E250000 */ lw $a1, ($s1)
/* 34FEAC E003C9EC 25080001 */ addiu $t0, $t0, 1
/* 34FEB0 E003C9F0 AE060000 */ sw $a2, ($s0)
/* 34FEB4 E003C9F4 A6C80000 */ sh $t0, ($s6)
/* 34FEB8 E003C9F8 0C080110 */ jal shim_guScaleF
/* 34FEBC E003C9FC 00A0302D */ daddu $a2, $a1, $zero
/* 34FEC0 E003CA00 27A40020 */ addiu $a0, $sp, 0x20
/* 34FEC4 E003CA04 96C50000 */ lhu $a1, ($s6)
/* 34FEC8 E003CA08 8EE20000 */ lw $v0, ($s7)
/* 34FECC E003CA0C 00052980 */ sll $a1, $a1, 6
/* 34FED0 E003CA10 00B32821 */ addu $a1, $a1, $s3
/* 34FED4 E003CA14 0C080118 */ jal shim_guMtxF2L
/* 34FED8 E003CA18 00452821 */ addu $a1, $v0, $a1
/* 34FEDC E003CA1C 8E050000 */ lw $a1, ($s0)
/* 34FEE0 E003CA20 96C30000 */ lhu $v1, ($s6)
/* 34FEE4 E003CA24 00A0202D */ daddu $a0, $a1, $zero
/* 34FEE8 E003CA28 24A50008 */ addiu $a1, $a1, 8
/* 34FEEC E003CA2C 3C0ADA38 */ lui $t2, 0xda38
/* 34FEF0 E003CA30 24620001 */ addiu $v0, $v1, 1
/* 34FEF4 E003CA34 3063FFFF */ andi $v1, $v1, 0xffff
/* 34FEF8 E003CA38 00031980 */ sll $v1, $v1, 6
/* 34FEFC E003CA3C AE050000 */ sw $a1, ($s0)
/* 34FF00 E003CA40 AC8A0000 */ sw $t2, ($a0)
/* 34FF04 E003CA44 A6C20000 */ sh $v0, ($s6)
/* 34FF08 E003CA48 8EE20000 */ lw $v0, ($s7)
/* 34FF0C E003CA4C 00731821 */ addu $v1, $v1, $s3
/* 34FF10 E003CA50 00431021 */ addu $v0, $v0, $v1
/* 34FF14 E003CA54 AC820004 */ sw $v0, 4($a0)
/* 34FF18 E003CA58 8FAA00A4 */ lw $t2, 0xa4($sp)
/* 34FF1C E003CA5C 164A0006 */ bne $s2, $t2, .LE003CA78
/* 34FF20 E003CA60 24A20008 */ addiu $v0, $a1, 8
/* 34FF24 E003CA64 AE020000 */ sw $v0, ($s0)
/* 34FF28 E003CA68 3C020900 */ lui $v0, 0x900
/* 34FF2C E003CA6C 24422170 */ addiu $v0, $v0, 0x2170
/* 34FF30 E003CA70 0800F2A2 */ j .LE003CA88
/* 34FF34 E003CA74 ACB50000 */ sw $s5, ($a1)
.LE003CA78:
/* 34FF38 E003CA78 AE020000 */ sw $v0, ($s0)
/* 34FF3C E003CA7C 3C020900 */ lui $v0, 0x900
/* 34FF40 E003CA80 24422180 */ addiu $v0, $v0, 0x2180
/* 34FF44 E003CA84 ACB50000 */ sw $s5, ($a1)
.LE003CA88:
/* 34FF48 E003CA88 ACA20004 */ sw $v0, 4($a1)
/* 34FF4C E003CA8C 8FAA00A4 */ lw $t2, 0xa4($sp)
/* 34FF50 E003CA90 164A0050 */ bne $s2, $t2, .LE003CBD4
/* 34FF54 E003CA94 240A0040 */ addiu $t2, $zero, 0x40
/* 34FF58 E003CA98 8E050000 */ lw $a1, ($s0)
/* 34FF5C E003CA9C 3C020900 */ lui $v0, 0x900
/* 34FF60 E003CAA0 244221A8 */ addiu $v0, $v0, 0x21a8
/* 34FF64 E003CAA4 00A0182D */ daddu $v1, $a1, $zero
/* 34FF68 E003CAA8 24A50008 */ addiu $a1, $a1, 8
/* 34FF6C E003CAAC AE050000 */ sw $a1, ($s0)
/* 34FF70 E003CAB0 AC620004 */ sw $v0, 4($v1)
/* 34FF74 E003CAB4 24A20008 */ addiu $v0, $a1, 8
/* 34FF78 E003CAB8 AC750000 */ sw $s5, ($v1)
/* 34FF7C E003CABC AE020000 */ sw $v0, ($s0)
/* 34FF80 E003CAC0 24A20010 */ addiu $v0, $a1, 0x10
/* 34FF84 E003CAC4 ACBE0000 */ sw $fp, ($a1)
/* 34FF88 E003CAC8 ACAA0004 */ sw $t2, 4($a1)
/* 34FF8C E003CACC AE020000 */ sw $v0, ($s0)
/* 34FF90 E003CAD0 3C020900 */ lui $v0, 0x900
/* 34FF94 E003CAD4 24421DE0 */ addiu $v0, $v0, 0x1de0
/* 34FF98 E003CAD8 ACB50008 */ sw $s5, 8($a1)
/* 34FF9C E003CADC ACA2000C */ sw $v0, 0xc($a1)
/* 34FFA0 E003CAE0 8FAA00A8 */ lw $t2, 0xa8($sp)
/* 34FFA4 E003CAE4 2942000A */ slti $v0, $t2, 0xa
/* 34FFA8 E003CAE8 10400010 */ beqz $v0, .LE003CB2C
/* 34FFAC E003CAEC 24A20018 */ addiu $v0, $a1, 0x18
/* 34FFB0 E003CAF0 AE020000 */ sw $v0, ($s0)
/* 34FFB4 E003CAF4 00121080 */ sll $v0, $s2, 2
/* 34FFB8 E003CAF8 3C0AE004 */ lui $t2, %hi(D_E003CCA0)
/* 34FFBC E003CAFC 254ACCA0 */ addiu $t2, $t2, %lo(D_E003CCA0)
/* 34FFC0 E003CB00 004A1021 */ addu $v0, $v0, $t2
/* 34FFC4 E003CB04 ACB50010 */ sw $s5, 0x10($a1)
/* 34FFC8 E003CB08 8C430000 */ lw $v1, ($v0)
/* 34FFCC E003CB0C 24A20020 */ addiu $v0, $a1, 0x20
/* 34FFD0 E003CB10 AE020000 */ sw $v0, ($s0)
/* 34FFD4 E003CB14 3C020900 */ lui $v0, 0x900
/* 34FFD8 E003CB18 244221C0 */ addiu $v0, $v0, 0x21c0
/* 34FFDC E003CB1C ACB50018 */ sw $s5, 0x18($a1)
/* 34FFE0 E003CB20 ACA2001C */ sw $v0, 0x1c($a1)
/* 34FFE4 E003CB24 0800F301 */ j .LE003CC04
/* 34FFE8 E003CB28 ACA30014 */ sw $v1, 0x14($a1)
.LE003CB2C:
/* 34FFEC E003CB2C 3C036666 */ lui $v1, 0x6666
/* 34FFF0 E003CB30 34636667 */ ori $v1, $v1, 0x6667
/* 34FFF4 E003CB34 8FAA00A8 */ lw $t2, 0xa8($sp)
/* 34FFF8 E003CB38 01430018 */ mult $t2, $v1
/* 34FFFC E003CB3C AE020000 */ sw $v0, ($s0)
/* 350000 E003CB40 24A20020 */ addiu $v0, $a1, 0x20
/* 350004 E003CB44 ACB50010 */ sw $s5, 0x10($a1)
/* 350008 E003CB48 AE020000 */ sw $v0, ($s0)
/* 35000C E003CB4C 00005010 */ mfhi $t2
/* 350010 E003CB50 000A1883 */ sra $v1, $t2, 2
/* 350014 E003CB54 8FAA00A8 */ lw $t2, 0xa8($sp)
/* 350018 E003CB58 000A17C3 */ sra $v0, $t2, 0x1f
/* 35001C E003CB5C 00621023 */ subu $v0, $v1, $v0
/* 350020 E003CB60 0040182D */ daddu $v1, $v0, $zero
/* 350024 E003CB64 00031080 */ sll $v0, $v1, 2
/* 350028 E003CB68 00431021 */ addu $v0, $v0, $v1
/* 35002C E003CB6C 00021040 */ sll $v0, $v0, 1
/* 350030 E003CB70 01421023 */ subu $v0, $t2, $v0
/* 350034 E003CB74 00021080 */ sll $v0, $v0, 2
/* 350038 E003CB78 3C0AE004 */ lui $t2, %hi(D_E003CCA0)
/* 35003C E003CB7C 254ACCA0 */ addiu $t2, $t2, %lo(D_E003CCA0)
/* 350040 E003CB80 004A1021 */ addu $v0, $v0, $t2
/* 350044 E003CB84 8C440000 */ lw $a0, ($v0)
/* 350048 E003CB88 24A20028 */ addiu $v0, $a1, 0x28
/* 35004C E003CB8C AE020000 */ sw $v0, ($s0)
/* 350050 E003CB90 3C020900 */ lui $v0, 0x900
/* 350054 E003CB94 24422200 */ addiu $v0, $v0, 0x2200
/* 350058 E003CB98 00031880 */ sll $v1, $v1, 2
/* 35005C E003CB9C 006A1821 */ addu $v1, $v1, $t2
/* 350060 E003CBA0 ACB50018 */ sw $s5, 0x18($a1)
/* 350064 E003CBA4 ACA2001C */ sw $v0, 0x1c($a1)
/* 350068 E003CBA8 ACB50020 */ sw $s5, 0x20($a1)
/* 35006C E003CBAC ACA40014 */ sw $a0, 0x14($a1)
/* 350070 E003CBB0 8C630000 */ lw $v1, ($v1)
/* 350074 E003CBB4 24A20030 */ addiu $v0, $a1, 0x30
/* 350078 E003CBB8 AE020000 */ sw $v0, ($s0)
/* 35007C E003CBBC 3C020900 */ lui $v0, 0x900
/* 350080 E003CBC0 244221E0 */ addiu $v0, $v0, 0x21e0
/* 350084 E003CBC4 ACB50028 */ sw $s5, 0x28($a1)
/* 350088 E003CBC8 ACA2002C */ sw $v0, 0x2c($a1)
/* 35008C E003CBCC 0800F301 */ j .LE003CC04
/* 350090 E003CBD0 ACA30024 */ sw $v1, 0x24($a1)
.LE003CBD4:
/* 350094 E003CBD4 8E030000 */ lw $v1, ($s0)
/* 350098 E003CBD8 3C020900 */ lui $v0, 0x900
/* 35009C E003CBDC 24422190 */ addiu $v0, $v0, 0x2190
/* 3500A0 E003CBE0 0060202D */ daddu $a0, $v1, $zero
/* 3500A4 E003CBE4 24630008 */ addiu $v1, $v1, 8
/* 3500A8 E003CBE8 AE030000 */ sw $v1, ($s0)
/* 3500AC E003CBEC AC820004 */ sw $v0, 4($a0)
/* 3500B0 E003CBF0 24620008 */ addiu $v0, $v1, 8
/* 3500B4 E003CBF4 AC950000 */ sw $s5, ($a0)
/* 3500B8 E003CBF8 AE020000 */ sw $v0, ($s0)
/* 3500BC E003CBFC AC7E0000 */ sw $fp, ($v1)
/* 3500C0 E003CC00 AC6A0004 */ sw $t2, 4($v1)
.LE003CC04:
/* 3500C4 E003CC04 8E020000 */ lw $v0, ($s0)
/* 3500C8 E003CC08 26520001 */ addiu $s2, $s2, 1
/* 3500CC E003CC0C 0040182D */ daddu $v1, $v0, $zero
/* 3500D0 E003CC10 240A0040 */ addiu $t2, $zero, 0x40
/* 3500D4 E003CC14 AC7E0000 */ sw $fp, ($v1)
/* 3500D8 E003CC18 AC6A0004 */ sw $t2, 4($v1)
/* 3500DC E003CC1C 8FAA00E8 */ lw $t2, 0xe8($sp)
/* 3500E0 E003CC20 2631FFC0 */ addiu $s1, $s1, -0x40
/* 3500E4 E003CC24 8D430008 */ lw $v1, 8($t2)
/* 3500E8 E003CC28 24420008 */ addiu $v0, $v0, 8
/* 3500EC E003CC2C 0243182A */ slt $v1, $s2, $v1
/* 3500F0 E003CC30 1460FEB0 */ bnez $v1, .LE003C6F4
/* 3500F4 E003CC34 AE020000 */ sw $v0, ($s0)
.LE003CC38:
/* 3500F8 E003CC38 3C05D838 */ lui $a1, 0xd838
/* 3500FC E003CC3C 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 350100 E003CC40 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 350104 E003CC44 8C620000 */ lw $v0, ($v1)
/* 350108 E003CC48 34A50002 */ ori $a1, $a1, 2
/* 35010C E003CC4C 0040202D */ daddu $a0, $v0, $zero
/* 350110 E003CC50 24420008 */ addiu $v0, $v0, 8
/* 350114 E003CC54 AC620000 */ sw $v0, ($v1)
/* 350118 E003CC58 24020040 */ addiu $v0, $zero, 0x40
/* 35011C E003CC5C AC850000 */ sw $a1, ($a0)
/* 350120 E003CC60 AC820004 */ sw $v0, 4($a0)
/* 350124 E003CC64 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 350128 E003CC68 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 35012C E003CC6C 8FB700CC */ lw $s7, 0xcc($sp)
/* 350130 E003CC70 8FB600C8 */ lw $s6, 0xc8($sp)
/* 350134 E003CC74 8FB500C4 */ lw $s5, 0xc4($sp)
/* 350138 E003CC78 8FB400C0 */ lw $s4, 0xc0($sp)
/* 35013C E003CC7C 8FB300BC */ lw $s3, 0xbc($sp)
/* 350140 E003CC80 8FB200B8 */ lw $s2, 0xb8($sp)
/* 350144 E003CC84 8FB100B4 */ lw $s1, 0xb4($sp)
/* 350148 E003CC88 8FB000B0 */ lw $s0, 0xb0($sp)
/* 35014C E003CC8C D7B600E0 */ ldc1 $f22, 0xe0($sp)
/* 350150 E003CC90 D7B400D8 */ ldc1 $f20, 0xd8($sp)
/* 350154 E003CC94 03E00008 */ jr $ra
/* 350158 E003CC98 27BD00E8 */ addiu $sp, $sp, 0xe8
/* 35015C E003CC9C 00000000 */ nop

View File

@ -1,272 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel damage_stars_appendGfx
/* 342BA8 E0030A68 27BDFF20 */ addiu $sp, $sp, -0xe0
/* 342BAC E0030A6C 3C05DB06 */ lui $a1, 0xdb06
/* 342BB0 E0030A70 34A50024 */ ori $a1, $a1, 0x24
/* 342BB4 E0030A74 3C09800A */ lui $t1, %hi(gMasterGfxPos)
/* 342BB8 E0030A78 2529A66C */ addiu $t1, $t1, %lo(gMasterGfxPos)
/* 342BBC E0030A7C 3C0638E3 */ lui $a2, 0x38e3
/* 342BC0 E0030A80 3C02E700 */ lui $v0, 0xe700
/* 342BC4 E0030A84 AFBF00CC */ sw $ra, 0xcc($sp)
/* 342BC8 E0030A88 AFBE00C8 */ sw $fp, 0xc8($sp)
/* 342BCC E0030A8C AFB700C4 */ sw $s7, 0xc4($sp)
/* 342BD0 E0030A90 AFB600C0 */ sw $s6, 0xc0($sp)
/* 342BD4 E0030A94 AFB500BC */ sw $s5, 0xbc($sp)
/* 342BD8 E0030A98 AFB400B8 */ sw $s4, 0xb8($sp)
/* 342BDC E0030A9C AFB300B4 */ sw $s3, 0xb4($sp)
/* 342BE0 E0030AA0 AFB200B0 */ sw $s2, 0xb0($sp)
/* 342BE4 E0030AA4 AFB100AC */ sw $s1, 0xac($sp)
/* 342BE8 E0030AA8 AFB000A8 */ sw $s0, 0xa8($sp)
/* 342BEC E0030AAC F7B600D8 */ sdc1 $f22, 0xd8($sp)
/* 342BF0 E0030AB0 F7B400D0 */ sdc1 $f20, 0xd0($sp)
/* 342BF4 E0030AB4 AFA400E0 */ sw $a0, 0xe0($sp)
/* 342BF8 E0030AB8 8D240000 */ lw $a0, ($t1)
/* 342BFC E0030ABC 8FAA00E0 */ lw $t2, 0xe0($sp)
/* 342C00 E0030AC0 0080182D */ daddu $v1, $a0, $zero
/* 342C04 E0030AC4 8D47000C */ lw $a3, 0xc($t2)
/* 342C08 E0030AC8 24840008 */ addiu $a0, $a0, 8
/* 342C0C E0030ACC AC620000 */ sw $v0, ($v1)
/* 342C10 E0030AD0 AC600004 */ sw $zero, 4($v1)
/* 342C14 E0030AD4 AC850000 */ sw $a1, ($a0)
/* 342C18 E0030AD8 8D420010 */ lw $v0, 0x10($t2)
/* 342C1C E0030ADC 34C68E39 */ ori $a2, $a2, 0x8e39
/* 342C20 E0030AE0 8C43001C */ lw $v1, 0x1c($v0)
/* 342C24 E0030AE4 3C02DE00 */ lui $v0, 0xde00
/* 342C28 E0030AE8 AC820008 */ sw $v0, 8($a0)
/* 342C2C E0030AEC 3C020900 */ lui $v0, 0x900
/* 342C30 E0030AF0 244204C0 */ addiu $v0, $v0, 0x4c0
/* 342C34 E0030AF4 AC82000C */ sw $v0, 0xc($a0)
/* 342C38 E0030AF8 3C028000 */ lui $v0, 0x8000
/* 342C3C E0030AFC 00621821 */ addu $v1, $v1, $v0
/* 342C40 E0030B00 AC830004 */ sw $v1, 4($a0)
/* 342C44 E0030B04 8CE2002C */ lw $v0, 0x2c($a3)
/* 342C48 E0030B08 0000A82D */ daddu $s5, $zero, $zero
/* 342C4C E0030B0C AD240000 */ sw $a0, ($t1)
/* 342C50 E0030B10 2442FFFF */ addiu $v0, $v0, -1
/* 342C54 E0030B14 00021840 */ sll $v1, $v0, 1
/* 342C58 E0030B18 0062A021 */ addu $s4, $v1, $v0
/* 342C5C E0030B1C 24820008 */ addiu $v0, $a0, 8
/* 342C60 E0030B20 02860018 */ mult $s4, $a2
/* 342C64 E0030B24 24840010 */ addiu $a0, $a0, 0x10
/* 342C68 E0030B28 AD220000 */ sw $v0, ($t1)
/* 342C6C E0030B2C 001417C3 */ sra $v0, $s4, 0x1f
/* 342C70 E0030B30 AD240000 */ sw $a0, ($t1)
/* 342C74 E0030B34 00005010 */ mfhi $t2
/* 342C78 E0030B38 000A18C3 */ sra $v1, $t2, 3
/* 342C7C E0030B3C 00621823 */ subu $v1, $v1, $v0
/* 342C80 E0030B40 000310C0 */ sll $v0, $v1, 3
/* 342C84 E0030B44 00431021 */ addu $v0, $v0, $v1
/* 342C88 E0030B48 8FAA00E0 */ lw $t2, 0xe0($sp)
/* 342C8C E0030B4C 00021080 */ sll $v0, $v0, 2
/* 342C90 E0030B50 8D430008 */ lw $v1, 8($t2)
/* 342C94 E0030B54 186000BE */ blez $v1, .LE0030E50
/* 342C98 E0030B58 0282A023 */ subu $s4, $s4, $v0
/* 342C9C E0030B5C 0120882D */ daddu $s1, $t1, $zero
/* 342CA0 E0030B60 3C0A38E3 */ lui $t2, 0x38e3
/* 342CA4 E0030B64 354A8E39 */ ori $t2, $t2, 0x8e39
/* 342CA8 E0030B68 AFAA0098 */ sw $t2, 0x98($sp)
/* 342CAC E0030B6C 27AA0058 */ addiu $t2, $sp, 0x58
/* 342CB0 E0030B70 3C168007 */ lui $s6, %hi(gMatrixListPos)
/* 342CB4 E0030B74 26D641F0 */ addiu $s6, $s6, %lo(gMatrixListPos)
/* 342CB8 E0030B78 3C130001 */ lui $s3, 1
/* 342CBC E0030B7C 36731630 */ ori $s3, $s3, 0x1630
/* 342CC0 E0030B80 AFAA009C */ sw $t2, 0x9c($sp)
/* 342CC4 E0030B84 3C0AD838 */ lui $t2, 0xd838
/* 342CC8 E0030B88 354A0002 */ ori $t2, $t2, 2
/* 342CCC E0030B8C 24F0001C */ addiu $s0, $a3, 0x1c
/* 342CD0 E0030B90 241E0002 */ addiu $fp, $zero, 2
/* 342CD4 E0030B94 24170001 */ addiu $s7, $zero, 1
/* 342CD8 E0030B98 4480A000 */ mtc1 $zero, $f20
/* 342CDC E0030B9C 3C013F80 */ lui $at, 0x3f80
/* 342CE0 E0030BA0 4481B000 */ mtc1 $at, $f22
/* 342CE4 E0030BA4 0280902D */ daddu $s2, $s4, $zero
/* 342CE8 E0030BA8 AFAA00A0 */ sw $t2, 0xa0($sp)
.LE0030BAC:
/* 342CEC E0030BAC 27A40018 */ addiu $a0, $sp, 0x18
/* 342CF0 E0030BB0 029E3821 */ addu $a3, $s4, $fp
/* 342CF4 E0030BB4 02973021 */ addu $a2, $s4, $s7
/* 342CF8 E0030BB8 8E220000 */ lw $v0, ($s1)
/* 342CFC E0030BBC 8FAA0098 */ lw $t2, 0x98($sp)
/* 342D00 E0030BC0 0040402D */ daddu $t0, $v0, $zero
/* 342D04 E0030BC4 24420008 */ addiu $v0, $v0, 8
/* 342D08 E0030BC8 024A0018 */ mult $s2, $t2
/* 342D0C E0030BCC AE220000 */ sw $v0, ($s1)
/* 342D10 E0030BD0 3C02FA00 */ lui $v0, 0xfa00
/* 342D14 E0030BD4 AD020000 */ sw $v0, ($t0)
/* 342D18 E0030BD8 001217C3 */ sra $v0, $s2, 0x1f
/* 342D1C E0030BDC 00005010 */ mfhi $t2
/* 342D20 E0030BE0 000A18C3 */ sra $v1, $t2, 3
/* 342D24 E0030BE4 00621823 */ subu $v1, $v1, $v0
/* 342D28 E0030BE8 000328C0 */ sll $a1, $v1, 3
/* 342D2C E0030BEC 00A32821 */ addu $a1, $a1, $v1
/* 342D30 E0030BF0 00052880 */ sll $a1, $a1, 2
/* 342D34 E0030BF4 8FAA0098 */ lw $t2, 0x98($sp)
/* 342D38 E0030BF8 02452823 */ subu $a1, $s2, $a1
/* 342D3C E0030BFC 00CA0018 */ mult $a2, $t2
/* 342D40 E0030C00 000617C3 */ sra $v0, $a2, 0x1f
/* 342D44 E0030C04 3C0AE003 */ lui $t2, %hi(D_E0030E90)
/* 342D48 E0030C08 254A0E90 */ addiu $t2, $t2, %lo(D_E0030E90)
/* 342D4C E0030C0C 00AA2821 */ addu $a1, $a1, $t2
/* 342D50 E0030C10 90A50000 */ lbu $a1, ($a1)
/* 342D54 E0030C14 00005010 */ mfhi $t2
/* 342D58 E0030C18 000A18C3 */ sra $v1, $t2, 3
/* 342D5C E0030C1C 00621823 */ subu $v1, $v1, $v0
/* 342D60 E0030C20 000310C0 */ sll $v0, $v1, 3
/* 342D64 E0030C24 00431021 */ addu $v0, $v0, $v1
/* 342D68 E0030C28 00021080 */ sll $v0, $v0, 2
/* 342D6C E0030C2C 00C23023 */ subu $a2, $a2, $v0
/* 342D70 E0030C30 3C0AE003 */ lui $t2, %hi(D_E0030E90)
/* 342D74 E0030C34 254A0E90 */ addiu $t2, $t2, %lo(D_E0030E90)
/* 342D78 E0030C38 00CA3021 */ addu $a2, $a2, $t2
/* 342D7C E0030C3C 8FAA0098 */ lw $t2, 0x98($sp)
/* 342D80 E0030C40 00052E00 */ sll $a1, $a1, 0x18
/* 342D84 E0030C44 00EA0018 */ mult $a3, $t2
/* 342D88 E0030C48 90C60000 */ lbu $a2, ($a2)
/* 342D8C E0030C4C 000717C3 */ sra $v0, $a3, 0x1f
/* 342D90 E0030C50 00063400 */ sll $a2, $a2, 0x10
/* 342D94 E0030C54 00A62825 */ or $a1, $a1, $a2
/* 342D98 E0030C58 00005010 */ mfhi $t2
/* 342D9C E0030C5C 000A18C3 */ sra $v1, $t2, 3
/* 342DA0 E0030C60 00621823 */ subu $v1, $v1, $v0
/* 342DA4 E0030C64 000310C0 */ sll $v0, $v1, 3
/* 342DA8 E0030C68 00431021 */ addu $v0, $v0, $v1
/* 342DAC E0030C6C 00021080 */ sll $v0, $v0, 2
/* 342DB0 E0030C70 00E23823 */ subu $a3, $a3, $v0
/* 342DB4 E0030C74 3C0AE003 */ lui $t2, %hi(D_E0030E90)
/* 342DB8 E0030C78 254A0E90 */ addiu $t2, $t2, %lo(D_E0030E90)
/* 342DBC E0030C7C 00EA3821 */ addu $a3, $a3, $t2
/* 342DC0 E0030C80 90E20000 */ lbu $v0, ($a3)
/* 342DC4 E0030C84 9203000B */ lbu $v1, 0xb($s0)
/* 342DC8 E0030C88 00021200 */ sll $v0, $v0, 8
/* 342DCC E0030C8C 00A22825 */ or $a1, $a1, $v0
/* 342DD0 E0030C90 00A32825 */ or $a1, $a1, $v1
/* 342DD4 E0030C94 AD050004 */ sw $a1, 4($t0)
/* 342DD8 E0030C98 8E05FFE8 */ lw $a1, -0x18($s0)
/* 342DDC E0030C9C 8E06FFEC */ lw $a2, -0x14($s0)
/* 342DE0 E0030CA0 8E07FFF0 */ lw $a3, -0x10($s0)
/* 342DE4 E0030CA4 0C080108 */ jal shim_guTranslateF
/* 342DE8 E0030CA8 27DE0003 */ addiu $fp, $fp, 3
/* 342DEC E0030CAC 3C0A800B */ lui $t2, %hi(gCameras)
/* 342DF0 E0030CB0 254A1D80 */ addiu $t2, $t2, %lo(gCameras)
/* 342DF4 E0030CB4 4406A000 */ mfc1 $a2, $f20
/* 342DF8 E0030CB8 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 342DFC E0030CBC 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 342E00 E0030CC0 4407B000 */ mfc1 $a3, $f22
/* 342E04 E0030CC4 00031080 */ sll $v0, $v1, 2
/* 342E08 E0030CC8 00431021 */ addu $v0, $v0, $v1
/* 342E0C E0030CCC 00021080 */ sll $v0, $v0, 2
/* 342E10 E0030CD0 00431023 */ subu $v0, $v0, $v1
/* 342E14 E0030CD4 000218C0 */ sll $v1, $v0, 3
/* 342E18 E0030CD8 00431021 */ addu $v0, $v0, $v1
/* 342E1C E0030CDC 000210C0 */ sll $v0, $v0, 3
/* 342E20 E0030CE0 004A1021 */ addu $v0, $v0, $t2
/* 342E24 E0030CE4 C440006C */ lwc1 $f0, 0x6c($v0)
/* 342E28 E0030CE8 8FA4009C */ lw $a0, 0x9c($sp)
/* 342E2C E0030CEC 46000007 */ neg.s $f0, $f0
/* 342E30 E0030CF0 44050000 */ mfc1 $a1, $f0
/* 342E34 E0030CF4 26F70003 */ addiu $s7, $s7, 3
/* 342E38 E0030CF8 0C080104 */ jal shim_guRotateF
/* 342E3C E0030CFC E7B40010 */ swc1 $f20, 0x10($sp)
/* 342E40 E0030D00 27A50018 */ addiu $a1, $sp, 0x18
/* 342E44 E0030D04 8FA4009C */ lw $a0, 0x9c($sp)
/* 342E48 E0030D08 0C080114 */ jal shim_guMtxCatF
/* 342E4C E0030D0C 00A0302D */ daddu $a2, $a1, $zero
/* 342E50 E0030D10 27A40018 */ addiu $a0, $sp, 0x18
/* 342E54 E0030D14 96C50000 */ lhu $a1, ($s6)
/* 342E58 E0030D18 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 342E5C E0030D1C 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 342E60 E0030D20 00052980 */ sll $a1, $a1, 6
/* 342E64 E0030D24 00B32821 */ addu $a1, $a1, $s3
/* 342E68 E0030D28 0C080118 */ jal shim_guMtxF2L
/* 342E6C E0030D2C 00452821 */ addu $a1, $v0, $a1
/* 342E70 E0030D30 27A40018 */ addiu $a0, $sp, 0x18
/* 342E74 E0030D34 8E290000 */ lw $t1, ($s1)
/* 342E78 E0030D38 4406A000 */ mfc1 $a2, $f20
/* 342E7C E0030D3C 4407A000 */ mfc1 $a3, $f20
/* 342E80 E0030D40 96C80000 */ lhu $t0, ($s6)
/* 342E84 E0030D44 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 342E88 E0030D48 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 342E8C E0030D4C 0120282D */ daddu $a1, $t1, $zero
/* 342E90 E0030D50 3C0ADA38 */ lui $t2, 0xda38
/* 342E94 E0030D54 3102FFFF */ andi $v0, $t0, 0xffff
/* 342E98 E0030D58 00021180 */ sll $v0, $v0, 6
/* 342E9C E0030D5C 00531021 */ addu $v0, $v0, $s3
/* 342EA0 E0030D60 00621821 */ addu $v1, $v1, $v0
/* 342EA4 E0030D64 25290008 */ addiu $t1, $t1, 8
/* 342EA8 E0030D68 ACAA0000 */ sw $t2, ($a1)
/* 342EAC E0030D6C ACA30004 */ sw $v1, 4($a1)
/* 342EB0 E0030D70 E7B60010 */ swc1 $f22, 0x10($sp)
/* 342EB4 E0030D74 8E050000 */ lw $a1, ($s0)
/* 342EB8 E0030D78 25080001 */ addiu $t0, $t0, 1
/* 342EBC E0030D7C AE290000 */ sw $t1, ($s1)
/* 342EC0 E0030D80 0C080104 */ jal shim_guRotateF
/* 342EC4 E0030D84 A6C80000 */ sh $t0, ($s6)
/* 342EC8 E0030D88 27A40018 */ addiu $a0, $sp, 0x18
/* 342ECC E0030D8C 96C50000 */ lhu $a1, ($s6)
/* 342ED0 E0030D90 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 342ED4 E0030D94 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 342ED8 E0030D98 00052980 */ sll $a1, $a1, 6
/* 342EDC E0030D9C 00B32821 */ addu $a1, $a1, $s3
/* 342EE0 E0030DA0 0C080118 */ jal shim_guMtxF2L
/* 342EE4 E0030DA4 00452821 */ addu $a1, $v0, $a1
/* 342EE8 E0030DA8 8E240000 */ lw $a0, ($s1)
/* 342EEC E0030DAC 96C30000 */ lhu $v1, ($s6)
/* 342EF0 E0030DB0 0080282D */ daddu $a1, $a0, $zero
/* 342EF4 E0030DB4 24840008 */ addiu $a0, $a0, 8
/* 342EF8 E0030DB8 3C0ADA38 */ lui $t2, 0xda38
/* 342EFC E0030DBC 24620001 */ addiu $v0, $v1, 1
/* 342F00 E0030DC0 3063FFFF */ andi $v1, $v1, 0xffff
/* 342F04 E0030DC4 00031980 */ sll $v1, $v1, 6
/* 342F08 E0030DC8 AE240000 */ sw $a0, ($s1)
/* 342F0C E0030DCC ACAA0000 */ sw $t2, ($a1)
/* 342F10 E0030DD0 A6C20000 */ sh $v0, ($s6)
/* 342F14 E0030DD4 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 342F18 E0030DD8 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 342F1C E0030DDC 00731821 */ addu $v1, $v1, $s3
/* 342F20 E0030DE0 00431021 */ addu $v0, $v0, $v1
/* 342F24 E0030DE4 ACA20004 */ sw $v0, 4($a1)
/* 342F28 E0030DE8 24820008 */ addiu $v0, $a0, 8
/* 342F2C E0030DEC AE220000 */ sw $v0, ($s1)
/* 342F30 E0030DF0 3C02DE00 */ lui $v0, 0xde00
/* 342F34 E0030DF4 AC820000 */ sw $v0, ($a0)
/* 342F38 E0030DF8 3C020900 */ lui $v0, 0x900
/* 342F3C E0030DFC 244205E0 */ addiu $v0, $v0, 0x5e0
/* 342F40 E0030E00 AC820004 */ sw $v0, 4($a0)
/* 342F44 E0030E04 24820010 */ addiu $v0, $a0, 0x10
/* 342F48 E0030E08 AE220000 */ sw $v0, ($s1)
/* 342F4C E0030E0C 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 342F50 E0030E10 26B50001 */ addiu $s5, $s5, 1
/* 342F54 E0030E14 AC8A0008 */ sw $t2, 8($a0)
/* 342F58 E0030E18 240A0040 */ addiu $t2, $zero, 0x40
/* 342F5C E0030E1C AC8A000C */ sw $t2, 0xc($a0)
/* 342F60 E0030E20 8FAA00A0 */ lw $t2, 0xa0($sp)
/* 342F64 E0030E24 26520003 */ addiu $s2, $s2, 3
/* 342F68 E0030E28 AC8A0010 */ sw $t2, 0x10($a0)
/* 342F6C E0030E2C 240A0040 */ addiu $t2, $zero, 0x40
/* 342F70 E0030E30 AC8A0014 */ sw $t2, 0x14($a0)
/* 342F74 E0030E34 8FAA00E0 */ lw $t2, 0xe0($sp)
/* 342F78 E0030E38 26100030 */ addiu $s0, $s0, 0x30
/* 342F7C E0030E3C 8D420008 */ lw $v0, 8($t2)
/* 342F80 E0030E40 24840018 */ addiu $a0, $a0, 0x18
/* 342F84 E0030E44 02A2102A */ slt $v0, $s5, $v0
/* 342F88 E0030E48 1440FF58 */ bnez $v0, .LE0030BAC
/* 342F8C E0030E4C AE240000 */ sw $a0, ($s1)
.LE0030E50:
/* 342F90 E0030E50 8FBF00CC */ lw $ra, 0xcc($sp)
/* 342F94 E0030E54 8FBE00C8 */ lw $fp, 0xc8($sp)
/* 342F98 E0030E58 8FB700C4 */ lw $s7, 0xc4($sp)
/* 342F9C E0030E5C 8FB600C0 */ lw $s6, 0xc0($sp)
/* 342FA0 E0030E60 8FB500BC */ lw $s5, 0xbc($sp)
/* 342FA4 E0030E64 8FB400B8 */ lw $s4, 0xb8($sp)
/* 342FA8 E0030E68 8FB300B4 */ lw $s3, 0xb4($sp)
/* 342FAC E0030E6C 8FB200B0 */ lw $s2, 0xb0($sp)
/* 342FB0 E0030E70 8FB100AC */ lw $s1, 0xac($sp)
/* 342FB4 E0030E74 8FB000A8 */ lw $s0, 0xa8($sp)
/* 342FB8 E0030E78 D7B600D8 */ ldc1 $f22, 0xd8($sp)
/* 342FBC E0030E7C D7B400D0 */ ldc1 $f20, 0xd0($sp)
/* 342FC0 E0030E80 03E00008 */ jr $ra
/* 342FC4 E0030E84 27BD00E0 */ addiu $sp, $sp, 0xe0
/* 342FC8 E0030E88 00000000 */ nop
/* 342FCC E0030E8C 00000000 */ nop

View File

@ -1,313 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel energy_in_out_appendGfx
/* 3D59A0 E00D6980 27BDFF08 */ addiu $sp, $sp, -0xf8
/* 3D59A4 E00D6984 3C08DB06 */ lui $t0, 0xdb06
/* 3D59A8 E00D6988 AFB200B8 */ sw $s2, 0xb8($sp)
/* 3D59AC E00D698C 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 3D59B0 E00D6990 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 3D59B4 E00D6994 AFBF00D4 */ sw $ra, 0xd4($sp)
/* 3D59B8 E00D6998 AFBE00D0 */ sw $fp, 0xd0($sp)
/* 3D59BC E00D699C AFB700CC */ sw $s7, 0xcc($sp)
/* 3D59C0 E00D69A0 AFB600C8 */ sw $s6, 0xc8($sp)
/* 3D59C4 E00D69A4 AFB500C4 */ sw $s5, 0xc4($sp)
/* 3D59C8 E00D69A8 AFB400C0 */ sw $s4, 0xc0($sp)
/* 3D59CC E00D69AC AFB300BC */ sw $s3, 0xbc($sp)
/* 3D59D0 E00D69B0 AFB100B4 */ sw $s1, 0xb4($sp)
/* 3D59D4 E00D69B4 AFB000B0 */ sw $s0, 0xb0($sp)
/* 3D59D8 E00D69B8 F7BA00F0 */ sdc1 $f26, 0xf0($sp)
/* 3D59DC E00D69BC F7B800E8 */ sdc1 $f24, 0xe8($sp)
/* 3D59E0 E00D69C0 F7B600E0 */ sdc1 $f22, 0xe0($sp)
/* 3D59E4 E00D69C4 F7B400D8 */ sdc1 $f20, 0xd8($sp)
/* 3D59E8 E00D69C8 AFA400F8 */ sw $a0, 0xf8($sp)
/* 3D59EC E00D69CC 8E460000 */ lw $a2, ($s2)
/* 3D59F0 E00D69D0 8FA900F8 */ lw $t1, 0xf8($sp)
/* 3D59F4 E00D69D4 4480A000 */ mtc1 $zero, $f20
/* 3D59F8 E00D69D8 8D31000C */ lw $s1, 0xc($t1)
/* 3D59FC E00D69DC 4405A000 */ mfc1 $a1, $f20
/* 3D5A00 E00D69E0 4407A000 */ mfc1 $a3, $f20
/* 3D5A04 E00D69E4 8E290024 */ lw $t1, 0x24($s1)
/* 3D5A08 E00D69E8 35080024 */ ori $t0, $t0, 0x24
/* 3D5A0C E00D69EC AFA900A0 */ sw $t1, 0xa0($sp)
/* 3D5A10 E00D69F0 8E290000 */ lw $t1, ($s1)
/* 3D5A14 E00D69F4 3C02E700 */ lui $v0, 0xe700
/* 3D5A18 E00D69F8 AFA900A4 */ sw $t1, 0xa4($sp)
/* 3D5A1C E00D69FC C6200034 */ lwc1 $f0, 0x34($s1)
/* 3D5A20 E00D6A00 C6220044 */ lwc1 $f2, 0x44($s1)
/* 3D5A24 E00D6A04 8E360018 */ lw $s6, 0x18($s1)
/* 3D5A28 E00D6A08 8E3E001C */ lw $fp, 0x1c($s1)
/* 3D5A2C E00D6A0C 8E290020 */ lw $t1, 0x20($s1)
/* 3D5A30 E00D6A10 00C0182D */ daddu $v1, $a2, $zero
/* 3D5A34 E00D6A14 AFA900A8 */ sw $t1, 0xa8($sp)
/* 3D5A38 E00D6A18 C63A0038 */ lwc1 $f26, 0x38($s1)
/* 3D5A3C E00D6A1C 24C60008 */ addiu $a2, $a2, 8
/* 3D5A40 E00D6A20 AC620000 */ sw $v0, ($v1)
/* 3D5A44 E00D6A24 AC600004 */ sw $zero, 4($v1)
/* 3D5A48 E00D6A28 ACC80000 */ sw $t0, ($a2)
/* 3D5A4C E00D6A2C 8FA900F8 */ lw $t1, 0xf8($sp)
/* 3D5A50 E00D6A30 3C088000 */ lui $t0, 0x8000
/* 3D5A54 E00D6A34 8D220010 */ lw $v0, 0x10($t1)
/* 3D5A58 E00D6A38 46020002 */ mul.s $f0, $f0, $f2
/* 3D5A5C E00D6A3C 00000000 */ nop
/* 3D5A60 E00D6A40 8C42001C */ lw $v0, 0x1c($v0)
/* 3D5A64 E00D6A44 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 3D5A68 E00D6A48 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 3D5A6C E00D6A4C 00481021 */ addu $v0, $v0, $t0
/* 3D5A70 E00D6A50 ACC20004 */ sw $v0, 4($a2)
/* 3D5A74 E00D6A54 00031080 */ sll $v0, $v1, 2
/* 3D5A78 E00D6A58 00431021 */ addu $v0, $v0, $v1
/* 3D5A7C E00D6A5C 00021080 */ sll $v0, $v0, 2
/* 3D5A80 E00D6A60 00431023 */ subu $v0, $v0, $v1
/* 3D5A84 E00D6A64 000218C0 */ sll $v1, $v0, 3
/* 3D5A88 E00D6A68 00431021 */ addu $v0, $v0, $v1
/* 3D5A8C E00D6A6C 000210C0 */ sll $v0, $v0, 3
/* 3D5A90 E00D6A70 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 3D5A94 E00D6A74 00220821 */ addu $at, $at, $v0
/* 3D5A98 E00D6A78 C4221DEC */ lwc1 $f2, %lo(gCameras+0x6C)($at)
/* 3D5A9C E00D6A7C 27A40020 */ addiu $a0, $sp, 0x20
/* 3D5AA0 E00D6A80 E7A00010 */ swc1 $f0, 0x10($sp)
/* 3D5AA4 E00D6A84 C6200004 */ lwc1 $f0, 4($s1)
/* 3D5AA8 E00D6A88 3C100001 */ lui $s0, 1
/* 3D5AAC E00D6A8C AE460000 */ sw $a2, ($s2)
/* 3D5AB0 E00D6A90 24C60008 */ addiu $a2, $a2, 8
/* 3D5AB4 E00D6A94 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3D5AB8 E00D6A98 C6200008 */ lwc1 $f0, 8($s1)
/* 3D5ABC E00D6A9C 46001087 */ neg.s $f2, $f2
/* 3D5AC0 E00D6AA0 AE460000 */ sw $a2, ($s2)
/* 3D5AC4 E00D6AA4 44061000 */ mfc1 $a2, $f2
/* 3D5AC8 E00D6AA8 36101630 */ ori $s0, $s0, 0x1630
/* 3D5ACC E00D6AAC E7A00018 */ swc1 $f0, 0x18($sp)
/* 3D5AD0 E00D6AB0 C620000C */ lwc1 $f0, 0xc($s1)
/* 3D5AD4 E00D6AB4 24140001 */ addiu $s4, $zero, 1
/* 3D5AD8 E00D6AB8 0C080180 */ jal shim_guPositionF
/* 3D5ADC E00D6ABC E7A0001C */ swc1 $f0, 0x1c($sp)
/* 3D5AE0 E00D6AC0 27A40020 */ addiu $a0, $sp, 0x20
/* 3D5AE4 E00D6AC4 3C158007 */ lui $s5, %hi(gMatrixListPos)
/* 3D5AE8 E00D6AC8 26B541F0 */ addiu $s5, $s5, %lo(gMatrixListPos)
/* 3D5AEC E00D6ACC 3C17800A */ lui $s7, %hi(gDisplayContext)
/* 3D5AF0 E00D6AD0 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext)
/* 3D5AF4 E00D6AD4 96A50000 */ lhu $a1, ($s5)
/* 3D5AF8 E00D6AD8 8EE20000 */ lw $v0, ($s7)
/* 3D5AFC E00D6ADC 00052980 */ sll $a1, $a1, 6
/* 3D5B00 E00D6AE0 00B02821 */ addu $a1, $a1, $s0
/* 3D5B04 E00D6AE4 0C080118 */ jal shim_guMtxF2L
/* 3D5B08 E00D6AE8 00452821 */ addu $a1, $v0, $a1
/* 3D5B0C E00D6AEC 3C03DA38 */ lui $v1, 0xda38
/* 3D5B10 E00D6AF0 34630002 */ ori $v1, $v1, 2
/* 3D5B14 E00D6AF4 8E440000 */ lw $a0, ($s2)
/* 3D5B18 E00D6AF8 96A20000 */ lhu $v0, ($s5)
/* 3D5B1C E00D6AFC 0080282D */ daddu $a1, $a0, $zero
/* 3D5B20 E00D6B00 24840008 */ addiu $a0, $a0, 8
/* 3D5B24 E00D6B04 AE440000 */ sw $a0, ($s2)
/* 3D5B28 E00D6B08 ACA30000 */ sw $v1, ($a1)
/* 3D5B2C E00D6B0C 00541821 */ addu $v1, $v0, $s4
/* 3D5B30 E00D6B10 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D5B34 E00D6B14 00021180 */ sll $v0, $v0, 6
/* 3D5B38 E00D6B18 A6A30000 */ sh $v1, ($s5)
/* 3D5B3C E00D6B1C 8EE30000 */ lw $v1, ($s7)
/* 3D5B40 E00D6B20 00501021 */ addu $v0, $v0, $s0
/* 3D5B44 E00D6B24 00621821 */ addu $v1, $v1, $v0
/* 3D5B48 E00D6B28 24820008 */ addiu $v0, $a0, 8
/* 3D5B4C E00D6B2C ACA30004 */ sw $v1, 4($a1)
/* 3D5B50 E00D6B30 AE420000 */ sw $v0, ($s2)
/* 3D5B54 E00D6B34 3C02FA00 */ lui $v0, 0xfa00
/* 3D5B58 E00D6B38 AC820000 */ sw $v0, ($a0)
/* 3D5B5C E00D6B3C 9222001B */ lbu $v0, 0x1b($s1)
/* 3D5B60 E00D6B40 9225001F */ lbu $a1, 0x1f($s1)
/* 3D5B64 E00D6B44 92260023 */ lbu $a2, 0x23($s1)
/* 3D5B68 E00D6B48 24830010 */ addiu $v1, $a0, 0x10
/* 3D5B6C E00D6B4C AE430000 */ sw $v1, ($s2)
/* 3D5B70 E00D6B50 3C03FB00 */ lui $v1, 0xfb00
/* 3D5B74 E00D6B54 AC830008 */ sw $v1, 8($a0)
/* 3D5B78 E00D6B58 8FA900A0 */ lw $t1, 0xa0($sp)
/* 3D5B7C E00D6B5C 00021600 */ sll $v0, $v0, 0x18
/* 3D5B80 E00D6B60 00052C00 */ sll $a1, $a1, 0x10
/* 3D5B84 E00D6B64 00451025 */ or $v0, $v0, $a1
/* 3D5B88 E00D6B68 00063200 */ sll $a2, $a2, 8
/* 3D5B8C E00D6B6C 00461025 */ or $v0, $v0, $a2
/* 3D5B90 E00D6B70 312300FF */ andi $v1, $t1, 0xff
/* 3D5B94 E00D6B74 00431025 */ or $v0, $v0, $v1
/* 3D5B98 E00D6B78 AC820004 */ sw $v0, 4($a0)
/* 3D5B9C E00D6B7C 9223002B */ lbu $v1, 0x2b($s1)
/* 3D5BA0 E00D6B80 9225002F */ lbu $a1, 0x2f($s1)
/* 3D5BA4 E00D6B84 92260033 */ lbu $a2, 0x33($s1)
/* 3D5BA8 E00D6B88 3C02DE00 */ lui $v0, 0xde00
/* 3D5BAC E00D6B8C AC820010 */ sw $v0, 0x10($a0)
/* 3D5BB0 E00D6B90 3C020900 */ lui $v0, 0x900
/* 3D5BB4 E00D6B94 24420200 */ addiu $v0, $v0, 0x200
/* 3D5BB8 E00D6B98 AC820014 */ sw $v0, 0x14($a0)
/* 3D5BBC E00D6B9C 00031E00 */ sll $v1, $v1, 0x18
/* 3D5BC0 E00D6BA0 00052C00 */ sll $a1, $a1, 0x10
/* 3D5BC4 E00D6BA4 00651825 */ or $v1, $v1, $a1
/* 3D5BC8 E00D6BA8 00063200 */ sll $a2, $a2, 8
/* 3D5BCC E00D6BAC 00661825 */ or $v1, $v1, $a2
/* 3D5BD0 E00D6BB0 AC83000C */ sw $v1, 0xc($a0)
/* 3D5BD4 E00D6BB4 8FA900F8 */ lw $t1, 0xf8($sp)
/* 3D5BD8 E00D6BB8 26310048 */ addiu $s1, $s1, 0x48
/* 3D5BDC E00D6BBC 8D220008 */ lw $v0, 8($t1)
/* 3D5BE0 E00D6BC0 24840018 */ addiu $a0, $a0, 0x18
/* 3D5BE4 E00D6BC4 0282102A */ slt $v0, $s4, $v0
/* 3D5BE8 E00D6BC8 10400080 */ beqz $v0, .LE00D6DCC
/* 3D5BEC E00D6BCC AE440000 */ sw $a0, ($s2)
/* 3D5BF0 E00D6BD0 0240982D */ daddu $s3, $s2, $zero
/* 3D5BF4 E00D6BD4 00161E00 */ sll $v1, $s6, 0x18
/* 3D5BF8 E00D6BD8 33C200FF */ andi $v0, $fp, 0xff
/* 3D5BFC E00D6BDC 00021400 */ sll $v0, $v0, 0x10
/* 3D5C00 E00D6BE0 00621825 */ or $v1, $v1, $v0
/* 3D5C04 E00D6BE4 4600A606 */ mov.s $f24, $f20
/* 3D5C08 E00D6BE8 27B20060 */ addiu $s2, $sp, 0x60
/* 3D5C0C E00D6BEC 02E0F02D */ daddu $fp, $s7, $zero
/* 3D5C10 E00D6BF0 02A0B82D */ daddu $s7, $s5, $zero
/* 3D5C14 E00D6BF4 3C150001 */ lui $s5, 1
/* 3D5C18 E00D6BF8 36B51630 */ ori $s5, $s5, 0x1630
/* 3D5C1C E00D6BFC 26300004 */ addiu $s0, $s1, 4
/* 3D5C20 E00D6C00 8FA900A8 */ lw $t1, 0xa8($sp)
/* 3D5C24 E00D6C04 3C013F80 */ lui $at, 0x3f80
/* 3D5C28 E00D6C08 4481B000 */ mtc1 $at, $f22
/* 3D5C2C E00D6C0C 312200FF */ andi $v0, $t1, 0xff
/* 3D5C30 E00D6C10 00021200 */ sll $v0, $v0, 8
/* 3D5C34 E00D6C14 8FA900A4 */ lw $t1, 0xa4($sp)
/* 3D5C38 E00D6C18 00621825 */ or $v1, $v1, $v0
/* 3D5C3C E00D6C1C AFA300AC */ sw $v1, 0xac($sp)
/* 3D5C40 E00D6C20 3C03E00D */ lui $v1, %hi(D_E00D6E40)
/* 3D5C44 E00D6C24 24636E40 */ addiu $v1, $v1, %lo(D_E00D6E40)
/* 3D5C48 E00D6C28 00091080 */ sll $v0, $t1, 2
/* 3D5C4C E00D6C2C 0043B021 */ addu $s6, $v0, $v1
.LE00D6C30:
/* 3D5C50 E00D6C30 3C02FA00 */ lui $v0, 0xfa00
/* 3D5C54 E00D6C34 8E680000 */ lw $t0, ($s3)
/* 3D5C58 E00D6C38 C6140030 */ lwc1 $f20, 0x30($s0)
/* 3D5C5C E00D6C3C 0100282D */ daddu $a1, $t0, $zero
/* 3D5C60 E00D6C40 ACA20000 */ sw $v0, ($a1)
/* 3D5C64 E00D6C44 8E030020 */ lw $v1, 0x20($s0)
/* 3D5C68 E00D6C48 8FA900A0 */ lw $t1, 0xa0($sp)
/* 3D5C6C E00D6C4C 01230018 */ mult $t1, $v1
/* 3D5C70 E00D6C50 00001812 */ mflo $v1
/* 3D5C74 E00D6C54 3C028080 */ lui $v0, 0x8080
/* 3D5C78 E00D6C58 34428081 */ ori $v0, $v0, 0x8081
/* 3D5C7C E00D6C5C 00620018 */ mult $v1, $v0
/* 3D5C80 E00D6C60 27A40020 */ addiu $a0, $sp, 0x20
/* 3D5C84 E00D6C64 4406C000 */ mfc1 $a2, $f24
/* 3D5C88 E00D6C68 4407C000 */ mfc1 $a3, $f24
/* 3D5C8C E00D6C6C 8FA900AC */ lw $t1, 0xac($sp)
/* 3D5C90 E00D6C70 00001010 */ mfhi $v0
/* 3D5C94 E00D6C74 00431021 */ addu $v0, $v0, $v1
/* 3D5C98 E00D6C78 000211C3 */ sra $v0, $v0, 7
/* 3D5C9C E00D6C7C 00031FC3 */ sra $v1, $v1, 0x1f
/* 3D5CA0 E00D6C80 00431023 */ subu $v0, $v0, $v1
/* 3D5CA4 E00D6C84 304200FF */ andi $v0, $v0, 0xff
/* 3D5CA8 E00D6C88 01221025 */ or $v0, $t1, $v0
/* 3D5CAC E00D6C8C ACA20004 */ sw $v0, 4($a1)
/* 3D5CB0 E00D6C90 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3D5CB4 E00D6C94 8E050038 */ lw $a1, 0x38($s0)
/* 3D5CB8 E00D6C98 25080008 */ addiu $t0, $t0, 8
/* 3D5CBC E00D6C9C 0C080104 */ jal shim_guRotateF
/* 3D5CC0 E00D6CA0 AE680000 */ sw $t0, ($s3)
/* 3D5CC4 E00D6CA4 C6000000 */ lwc1 $f0, ($s0)
/* 3D5CC8 E00D6CA8 461A0000 */ add.s $f0, $f0, $f26
/* 3D5CCC E00D6CAC 4406C000 */ mfc1 $a2, $f24
/* 3D5CD0 E00D6CB0 4407C000 */ mfc1 $a3, $f24
/* 3D5CD4 E00D6CB4 44050000 */ mfc1 $a1, $f0
/* 3D5CD8 E00D6CB8 0C080108 */ jal shim_guTranslateF
/* 3D5CDC E00D6CBC 0240202D */ daddu $a0, $s2, $zero
/* 3D5CE0 E00D6CC0 0240202D */ daddu $a0, $s2, $zero
/* 3D5CE4 E00D6CC4 27A50020 */ addiu $a1, $sp, 0x20
/* 3D5CE8 E00D6CC8 0C080114 */ jal shim_guMtxCatF
/* 3D5CEC E00D6CCC 00A0302D */ daddu $a2, $a1, $zero
/* 3D5CF0 E00D6CD0 8EC30000 */ lw $v1, ($s6)
/* 3D5CF4 E00D6CD4 3C020900 */ lui $v0, 0x900
/* 3D5CF8 E00D6CD8 24420688 */ addiu $v0, $v0, 0x688
/* 3D5CFC E00D6CDC 10620005 */ beq $v1, $v0, .LE00D6CF4
/* 3D5D00 E00D6CE0 00000000 */ nop
/* 3D5D04 E00D6CE4 3C020900 */ lui $v0, 0x900
/* 3D5D08 E00D6CE8 24420808 */ addiu $v0, $v0, 0x808
/* 3D5D0C E00D6CEC 14620006 */ bne $v1, $v0, .LE00D6D08
/* 3D5D10 E00D6CF0 0240202D */ daddu $a0, $s2, $zero
.LE00D6CF4:
/* 3D5D14 E00D6CF4 4405A000 */ mfc1 $a1, $f20
/* 3D5D18 E00D6CF8 4406B000 */ mfc1 $a2, $f22
/* 3D5D1C E00D6CFC 4407B000 */ mfc1 $a3, $f22
/* 3D5D20 E00D6D00 08035B45 */ j .LE00D6D14
/* 3D5D24 E00D6D04 0240202D */ daddu $a0, $s2, $zero
.LE00D6D08:
/* 3D5D28 E00D6D08 4405A000 */ mfc1 $a1, $f20
/* 3D5D2C E00D6D0C 4407B000 */ mfc1 $a3, $f22
/* 3D5D30 E00D6D10 00A0302D */ daddu $a2, $a1, $zero
.LE00D6D14:
/* 3D5D34 E00D6D14 0C080110 */ jal shim_guScaleF
/* 3D5D38 E00D6D18 26940001 */ addiu $s4, $s4, 1
/* 3D5D3C E00D6D1C 27A40060 */ addiu $a0, $sp, 0x60
/* 3D5D40 E00D6D20 27A50020 */ addiu $a1, $sp, 0x20
/* 3D5D44 E00D6D24 0C080114 */ jal shim_guMtxCatF
/* 3D5D48 E00D6D28 00A0302D */ daddu $a2, $a1, $zero
/* 3D5D4C E00D6D2C 27A40020 */ addiu $a0, $sp, 0x20
/* 3D5D50 E00D6D30 96E50000 */ lhu $a1, ($s7)
/* 3D5D54 E00D6D34 8FC20000 */ lw $v0, ($fp)
/* 3D5D58 E00D6D38 00052980 */ sll $a1, $a1, 6
/* 3D5D5C E00D6D3C 00B52821 */ addu $a1, $a1, $s5
/* 3D5D60 E00D6D40 0C080118 */ jal shim_guMtxF2L
/* 3D5D64 E00D6D44 00452821 */ addu $a1, $v0, $a1
/* 3D5D68 E00D6D48 3C06D838 */ lui $a2, 0xd838
/* 3D5D6C E00D6D4C 8E640000 */ lw $a0, ($s3)
/* 3D5D70 E00D6D50 34C60002 */ ori $a2, $a2, 2
/* 3D5D74 E00D6D54 0080282D */ daddu $a1, $a0, $zero
/* 3D5D78 E00D6D58 24840008 */ addiu $a0, $a0, 8
/* 3D5D7C E00D6D5C AE640000 */ sw $a0, ($s3)
/* 3D5D80 E00D6D60 96E20000 */ lhu $v0, ($s7)
/* 3D5D84 E00D6D64 3C03DA38 */ lui $v1, 0xda38
/* 3D5D88 E00D6D68 ACA30000 */ sw $v1, ($a1)
/* 3D5D8C E00D6D6C 24430001 */ addiu $v1, $v0, 1
/* 3D5D90 E00D6D70 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D5D94 E00D6D74 00021180 */ sll $v0, $v0, 6
/* 3D5D98 E00D6D78 A6E30000 */ sh $v1, ($s7)
/* 3D5D9C E00D6D7C 8FC30000 */ lw $v1, ($fp)
/* 3D5DA0 E00D6D80 00551021 */ addu $v0, $v0, $s5
/* 3D5DA4 E00D6D84 00621821 */ addu $v1, $v1, $v0
/* 3D5DA8 E00D6D88 3C02DE00 */ lui $v0, 0xde00
/* 3D5DAC E00D6D8C ACA30004 */ sw $v1, 4($a1)
/* 3D5DB0 E00D6D90 AC820000 */ sw $v0, ($a0)
/* 3D5DB4 E00D6D94 8EC30000 */ lw $v1, ($s6)
/* 3D5DB8 E00D6D98 24820008 */ addiu $v0, $a0, 8
/* 3D5DBC E00D6D9C AE620000 */ sw $v0, ($s3)
/* 3D5DC0 E00D6DA0 24020040 */ addiu $v0, $zero, 0x40
/* 3D5DC4 E00D6DA4 AC860008 */ sw $a2, 8($a0)
/* 3D5DC8 E00D6DA8 AC82000C */ sw $v0, 0xc($a0)
/* 3D5DCC E00D6DAC AC830004 */ sw $v1, 4($a0)
/* 3D5DD0 E00D6DB0 8FA900F8 */ lw $t1, 0xf8($sp)
/* 3D5DD4 E00D6DB4 26100048 */ addiu $s0, $s0, 0x48
/* 3D5DD8 E00D6DB8 8D220008 */ lw $v0, 8($t1)
/* 3D5DDC E00D6DBC 24840010 */ addiu $a0, $a0, 0x10
/* 3D5DE0 E00D6DC0 0282102A */ slt $v0, $s4, $v0
/* 3D5DE4 E00D6DC4 1440FF9A */ bnez $v0, .LE00D6C30
/* 3D5DE8 E00D6DC8 AE640000 */ sw $a0, ($s3)
.LE00D6DCC:
/* 3D5DEC E00D6DCC 3C05D838 */ lui $a1, 0xd838
/* 3D5DF0 E00D6DD0 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3D5DF4 E00D6DD4 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3D5DF8 E00D6DD8 8C620000 */ lw $v0, ($v1)
/* 3D5DFC E00D6DDC 34A50002 */ ori $a1, $a1, 2
/* 3D5E00 E00D6DE0 0040202D */ daddu $a0, $v0, $zero
/* 3D5E04 E00D6DE4 24420008 */ addiu $v0, $v0, 8
/* 3D5E08 E00D6DE8 AC620000 */ sw $v0, ($v1)
/* 3D5E0C E00D6DEC 24020040 */ addiu $v0, $zero, 0x40
/* 3D5E10 E00D6DF0 AC850000 */ sw $a1, ($a0)
/* 3D5E14 E00D6DF4 AC820004 */ sw $v0, 4($a0)
/* 3D5E18 E00D6DF8 8FBF00D4 */ lw $ra, 0xd4($sp)
/* 3D5E1C E00D6DFC 8FBE00D0 */ lw $fp, 0xd0($sp)
/* 3D5E20 E00D6E00 8FB700CC */ lw $s7, 0xcc($sp)
/* 3D5E24 E00D6E04 8FB600C8 */ lw $s6, 0xc8($sp)
/* 3D5E28 E00D6E08 8FB500C4 */ lw $s5, 0xc4($sp)
/* 3D5E2C E00D6E0C 8FB400C0 */ lw $s4, 0xc0($sp)
/* 3D5E30 E00D6E10 8FB300BC */ lw $s3, 0xbc($sp)
/* 3D5E34 E00D6E14 8FB200B8 */ lw $s2, 0xb8($sp)
/* 3D5E38 E00D6E18 8FB100B4 */ lw $s1, 0xb4($sp)
/* 3D5E3C E00D6E1C 8FB000B0 */ lw $s0, 0xb0($sp)
/* 3D5E40 E00D6E20 D7BA00F0 */ ldc1 $f26, 0xf0($sp)
/* 3D5E44 E00D6E24 D7B800E8 */ ldc1 $f24, 0xe8($sp)
/* 3D5E48 E00D6E28 D7B600E0 */ ldc1 $f22, 0xe0($sp)
/* 3D5E4C E00D6E2C D7B400D8 */ ldc1 $f20, 0xd8($sp)
/* 3D5E50 E00D6E30 03E00008 */ jr $ra
/* 3D5E54 E00D6E34 27BD00F8 */ addiu $sp, $sp, 0xf8
/* 3D5E58 E00D6E38 00000000 */ nop
/* 3D5E5C E00D6E3C 00000000 */ nop

View File

@ -1,154 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel energy_in_out_update
/* 3D5740 E00D6720 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 3D5744 E00D6724 AFB20018 */ sw $s2, 0x18($sp)
/* 3D5748 E00D6728 0080902D */ daddu $s2, $a0, $zero
/* 3D574C E00D672C AFBF001C */ sw $ra, 0x1c($sp)
/* 3D5750 E00D6730 AFB10014 */ sw $s1, 0x14($sp)
/* 3D5754 E00D6734 AFB00010 */ sw $s0, 0x10($sp)
/* 3D5758 E00D6738 F7B40020 */ sdc1 $f20, 0x20($sp)
/* 3D575C E00D673C 8E430000 */ lw $v1, ($s2)
/* 3D5760 E00D6740 8E44000C */ lw $a0, 0xc($s2)
/* 3D5764 E00D6744 30620010 */ andi $v0, $v1, 0x10
/* 3D5768 E00D6748 10400005 */ beqz $v0, .LE00D6760
/* 3D576C E00D674C 2402FFEF */ addiu $v0, $zero, -0x11
/* 3D5770 E00D6750 00621024 */ and $v0, $v1, $v0
/* 3D5774 E00D6754 AE420000 */ sw $v0, ($s2)
/* 3D5778 E00D6758 24020010 */ addiu $v0, $zero, 0x10
/* 3D577C E00D675C AC820010 */ sw $v0, 0x10($a0)
.LE00D6760:
/* 3D5780 E00D6760 8C830010 */ lw $v1, 0x10($a0)
/* 3D5784 E00D6764 286203E8 */ slti $v0, $v1, 0x3e8
/* 3D5788 E00D6768 10400002 */ beqz $v0, .LE00D6774
/* 3D578C E00D676C 2462FFFF */ addiu $v0, $v1, -1
/* 3D5790 E00D6770 AC820010 */ sw $v0, 0x10($a0)
.LE00D6774:
/* 3D5794 E00D6774 8C820014 */ lw $v0, 0x14($a0)
/* 3D5798 E00D6778 8C830010 */ lw $v1, 0x10($a0)
/* 3D579C E00D677C 24450001 */ addiu $a1, $v0, 1
/* 3D57A0 E00D6780 04610005 */ bgez $v1, .LE00D6798
/* 3D57A4 E00D6784 AC850014 */ sw $a1, 0x14($a0)
/* 3D57A8 E00D6788 0C080128 */ jal shim_remove_effect
/* 3D57AC E00D678C 0240202D */ daddu $a0, $s2, $zero
/* 3D57B0 E00D6790 08035A48 */ j .LE00D6920
/* 3D57B4 E00D6794 00000000 */ nop
.LE00D6798:
/* 3D57B8 E00D6798 28620010 */ slti $v0, $v1, 0x10
/* 3D57BC E00D679C 10400002 */ beqz $v0, .LE00D67A8
/* 3D57C0 E00D67A0 00031100 */ sll $v0, $v1, 4
/* 3D57C4 E00D67A4 AC820024 */ sw $v0, 0x24($a0)
.LE00D67A8:
/* 3D57C8 E00D67A8 28A20010 */ slti $v0, $a1, 0x10
/* 3D57CC E00D67AC 10400003 */ beqz $v0, .LE00D67BC
/* 3D57D0 E00D67B0 00051100 */ sll $v0, $a1, 4
/* 3D57D4 E00D67B4 2442000F */ addiu $v0, $v0, 0xf
/* 3D57D8 E00D67B8 AC820024 */ sw $v0, 0x24($a0)
.LE00D67BC:
/* 3D57DC E00D67BC 8E420008 */ lw $v0, 8($s2)
/* 3D57E0 E00D67C0 24110001 */ addiu $s1, $zero, 1
/* 3D57E4 E00D67C4 0222102A */ slt $v0, $s1, $v0
/* 3D57E8 E00D67C8 10400055 */ beqz $v0, .LE00D6920
/* 3D57EC E00D67CC 24840048 */ addiu $a0, $a0, 0x48
/* 3D57F0 E00D67D0 4480A000 */ mtc1 $zero, $f20
/* 3D57F4 E00D67D4 24900024 */ addiu $s0, $a0, 0x24
.LE00D67D8:
/* 3D57F8 E00D67D8 8E02FFF0 */ lw $v0, -0x10($s0)
/* 3D57FC E00D67DC 8E03FFEC */ lw $v1, -0x14($s0)
/* 3D5800 E00D67E0 24420001 */ addiu $v0, $v0, 1
/* 3D5804 E00D67E4 AE02FFF0 */ sw $v0, -0x10($s0)
/* 3D5808 E00D67E8 0043102A */ slt $v0, $v0, $v1
/* 3D580C E00D67EC 14400016 */ bnez $v0, .LE00D6848
/* 3D5810 E00D67F0 00000000 */ nop
/* 3D5814 E00D67F4 C6020014 */ lwc1 $f2, 0x14($s0)
/* 3D5818 E00D67F8 4614103C */ c.lt.s $f2, $f20
/* 3D581C E00D67FC 00000000 */ nop
/* 3D5820 E00D6800 4500000A */ bc1f .LE00D682C
/* 3D5824 E00D6804 AE00FFF0 */ sw $zero, -0x10($s0)
/* 3D5828 E00D6808 0060102D */ daddu $v0, $v1, $zero
/* 3D582C E00D680C 00021023 */ negu $v0, $v0
/* 3D5830 E00D6810 44820000 */ mtc1 $v0, $f0
/* 3D5834 E00D6814 00000000 */ nop
/* 3D5838 E00D6818 46800020 */ cvt.s.w $f0, $f0
/* 3D583C E00D681C 46020002 */ mul.s $f0, $f0, $f2
/* 3D5840 E00D6820 00000000 */ nop
/* 3D5844 E00D6824 08035A0C */ j .LE00D6830
/* 3D5848 E00D6828 E600FFE0 */ swc1 $f0, -0x20($s0)
.LE00D682C:
/* 3D584C E00D682C E614FFE0 */ swc1 $f20, -0x20($s0)
.LE00D6830:
/* 3D5850 E00D6830 0C080138 */ jal shim_rand_int
/* 3D5854 E00D6834 24040167 */ addiu $a0, $zero, 0x167
/* 3D5858 E00D6838 44820000 */ mtc1 $v0, $f0
/* 3D585C E00D683C 00000000 */ nop
/* 3D5860 E00D6840 46800020 */ cvt.s.w $f0, $f0
/* 3D5864 E00D6844 E6000018 */ swc1 $f0, 0x18($s0)
.LE00D6848:
/* 3D5868 E00D6848 8E03FFF0 */ lw $v1, -0x10($s0)
/* 3D586C E00D684C 00031040 */ sll $v0, $v1, 1
/* 3D5870 E00D6850 00431021 */ addu $v0, $v0, $v1
/* 3D5874 E00D6854 00021900 */ sll $v1, $v0, 4
/* 3D5878 E00D6858 00621823 */ subu $v1, $v1, $v0
/* 3D587C E00D685C 8E02FFEC */ lw $v0, -0x14($s0)
/* 3D5880 E00D6860 00031880 */ sll $v1, $v1, 2
/* 3D5884 E00D6864 14400002 */ bnez $v0, .LE00D6870
/* 3D5888 E00D6868 0062001A */ div $zero, $v1, $v0
/* 3D588C E00D686C 0007000D */ break 7
.LE00D6870:
/* 3D5890 E00D6870 2401FFFF */ addiu $at, $zero, -1
/* 3D5894 E00D6874 14410004 */ bne $v0, $at, .LE00D6888
/* 3D5898 E00D6878 3C018000 */ lui $at, 0x8000
/* 3D589C E00D687C 14610002 */ bne $v1, $at, .LE00D6888
/* 3D58A0 E00D6880 00000000 */ nop
/* 3D58A4 E00D6884 0006000D */ break 6
.LE00D6888:
/* 3D58A8 E00D6888 00001812 */ mflo $v1
/* 3D58AC E00D688C C604FFE0 */ lwc1 $f4, -0x20($s0)
/* 3D58B0 E00D6890 C6000014 */ lwc1 $f0, 0x14($s0)
/* 3D58B4 E00D6894 C6020018 */ lwc1 $f2, 0x18($s0)
/* 3D58B8 E00D6898 46002100 */ add.s $f4, $f4, $f0
/* 3D58BC E00D689C C600001C */ lwc1 $f0, 0x1c($s0)
/* 3D58C0 E00D68A0 46001080 */ add.s $f2, $f2, $f0
/* 3D58C4 E00D68A4 E604FFE0 */ swc1 $f4, -0x20($s0)
/* 3D58C8 E00D68A8 44836000 */ mtc1 $v1, $f12
/* 3D58CC E00D68AC 00000000 */ nop
/* 3D58D0 E00D68B0 46806320 */ cvt.s.w $f12, $f12
/* 3D58D4 E00D68B4 4614603C */ c.lt.s $f12, $f20
/* 3D58D8 E00D68B8 00000000 */ nop
/* 3D58DC E00D68BC 45010008 */ bc1t .LE00D68E0
/* 3D58E0 E00D68C0 E6020018 */ swc1 $f2, 0x18($s0)
/* 3D58E4 E00D68C4 3C014334 */ lui $at, 0x4334
/* 3D58E8 E00D68C8 44810000 */ mtc1 $at, $f0
/* 3D58EC E00D68CC 00000000 */ nop
/* 3D58F0 E00D68D0 460C003C */ c.lt.s $f0, $f12
/* 3D58F4 E00D68D4 00000000 */ nop
/* 3D58F8 E00D68D8 45000003 */ bc1f .LE00D68E8
/* 3D58FC E00D68DC 00000000 */ nop
.LE00D68E0:
/* 3D5900 E00D68E0 08035A43 */ j .LE00D690C
/* 3D5904 E00D68E4 AE000000 */ sw $zero, ($s0)
.LE00D68E8:
/* 3D5908 E00D68E8 0C080140 */ jal shim_sin_deg
/* 3D590C E00D68EC 00000000 */ nop
/* 3D5910 E00D68F0 3C01437F */ lui $at, 0x437f
/* 3D5914 E00D68F4 44811000 */ mtc1 $at, $f2
/* 3D5918 E00D68F8 00000000 */ nop
/* 3D591C E00D68FC 46020002 */ mul.s $f0, $f0, $f2
/* 3D5920 E00D6900 00000000 */ nop
/* 3D5924 E00D6904 4600018D */ trunc.w.s $f6, $f0
/* 3D5928 E00D6908 E6060000 */ swc1 $f6, ($s0)
.LE00D690C:
/* 3D592C E00D690C 26310001 */ addiu $s1, $s1, 1
/* 3D5930 E00D6910 8E420008 */ lw $v0, 8($s2)
/* 3D5934 E00D6914 0222102A */ slt $v0, $s1, $v0
/* 3D5938 E00D6918 1440FFAF */ bnez $v0, .LE00D67D8
/* 3D593C E00D691C 26100048 */ addiu $s0, $s0, 0x48
.LE00D6920:
/* 3D5940 E00D6920 8FBF001C */ lw $ra, 0x1c($sp)
/* 3D5944 E00D6924 8FB20018 */ lw $s2, 0x18($sp)
/* 3D5948 E00D6928 8FB10014 */ lw $s1, 0x14($sp)
/* 3D594C E00D692C 8FB00010 */ lw $s0, 0x10($sp)
/* 3D5950 E00D6930 D7B40020 */ ldc1 $f20, 0x20($sp)
/* 3D5954 E00D6934 03E00008 */ jr $ra
/* 3D5958 E00D6938 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,294 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel energy_orb_wave_appendGfx
/* 3A3E30 E00A4650 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 3A3E34 E00A4654 0080302D */ daddu $a2, $a0, $zero
/* 3A3E38 E00A4658 3C07DB06 */ lui $a3, 0xdb06
/* 3A3E3C E00A465C 34E70024 */ ori $a3, $a3, 0x24
/* 3A3E40 E00A4660 27A40018 */ addiu $a0, $sp, 0x18
/* 3A3E44 E00A4664 AFB700BC */ sw $s7, 0xbc($sp)
/* 3A3E48 E00A4668 3C170001 */ lui $s7, 1
/* 3A3E4C E00A466C 3C0AE300 */ lui $t2, 0xe300
/* 3A3E50 E00A4670 AFB500B4 */ sw $s5, 0xb4($sp)
/* 3A3E54 E00A4674 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 3A3E58 E00A4678 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 3A3E5C E00A467C AFBF00C4 */ sw $ra, 0xc4($sp)
/* 3A3E60 E00A4680 AFBE00C0 */ sw $fp, 0xc0($sp)
/* 3A3E64 E00A4684 AFB600B8 */ sw $s6, 0xb8($sp)
/* 3A3E68 E00A4688 AFB400B0 */ sw $s4, 0xb0($sp)
/* 3A3E6C E00A468C AFB300AC */ sw $s3, 0xac($sp)
/* 3A3E70 E00A4690 AFB200A8 */ sw $s2, 0xa8($sp)
/* 3A3E74 E00A4694 AFB100A4 */ sw $s1, 0xa4($sp)
/* 3A3E78 E00A4698 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3A3E7C E00A469C F7B600D0 */ sdc1 $f22, 0xd0($sp)
/* 3A3E80 E00A46A0 F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 3A3E84 E00A46A4 8EA50000 */ lw $a1, ($s5)
/* 3A3E88 E00A46A8 354A1801 */ ori $t2, $t2, 0x1801
/* 3A3E8C E00A46AC AFAA009C */ sw $t2, 0x9c($sp)
/* 3A3E90 E00A46B0 8CD2000C */ lw $s2, 0xc($a2)
/* 3A3E94 E00A46B4 00A0182D */ daddu $v1, $a1, $zero
/* 3A3E98 E00A46B8 24A50008 */ addiu $a1, $a1, 8
/* 3A3E9C E00A46BC AEA50000 */ sw $a1, ($s5)
/* 3A3EA0 E00A46C0 8E4A0014 */ lw $t2, 0x14($s2)
/* 3A3EA4 E00A46C4 36F71630 */ ori $s7, $s7, 0x1630
/* 3A3EA8 E00A46C8 AFAA0098 */ sw $t2, 0x98($sp)
/* 3A3EAC E00A46CC 8E53002C */ lw $s3, 0x2c($s2)
/* 3A3EB0 E00A46D0 8E540000 */ lw $s4, ($s2)
/* 3A3EB4 E00A46D4 3C02E700 */ lui $v0, 0xe700
/* 3A3EB8 E00A46D8 AC620000 */ sw $v0, ($v1)
/* 3A3EBC E00A46DC AC600004 */ sw $zero, 4($v1)
/* 3A3EC0 E00A46E0 ACA70000 */ sw $a3, ($a1)
/* 3A3EC4 E00A46E4 8CC30010 */ lw $v1, 0x10($a2)
/* 3A3EC8 E00A46E8 24A20008 */ addiu $v0, $a1, 8
/* 3A3ECC E00A46EC AEA20000 */ sw $v0, ($s5)
/* 3A3ED0 E00A46F0 8C62001C */ lw $v0, 0x1c($v1)
/* 3A3ED4 E00A46F4 3C038000 */ lui $v1, 0x8000
/* 3A3ED8 E00A46F8 00431021 */ addu $v0, $v0, $v1
/* 3A3EDC E00A46FC 3C03800B */ lui $v1, %hi(gCameras)
/* 3A3EE0 E00A4700 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3A3EE4 E00A4704 ACA20004 */ sw $v0, 4($a1)
/* 3A3EE8 E00A4708 8E450004 */ lw $a1, 4($s2)
/* 3A3EEC E00A470C 8E460008 */ lw $a2, 8($s2)
/* 3A3EF0 E00A4710 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3A3EF4 E00A4714 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3A3EF8 E00A4718 8E47000C */ lw $a3, 0xc($s2)
/* 3A3EFC E00A471C 00028080 */ sll $s0, $v0, 2
/* 3A3F00 E00A4720 02028021 */ addu $s0, $s0, $v0
/* 3A3F04 E00A4724 00108080 */ sll $s0, $s0, 2
/* 3A3F08 E00A4728 02028023 */ subu $s0, $s0, $v0
/* 3A3F0C E00A472C 001010C0 */ sll $v0, $s0, 3
/* 3A3F10 E00A4730 02028021 */ addu $s0, $s0, $v0
/* 3A3F14 E00A4734 001080C0 */ sll $s0, $s0, 3
/* 3A3F18 E00A4738 0C080108 */ jal shim_guTranslateF
/* 3A3F1C E00A473C 02038021 */ addu $s0, $s0, $v1
/* 3A3F20 E00A4740 27B10058 */ addiu $s1, $sp, 0x58
/* 3A3F24 E00A4744 8E450030 */ lw $a1, 0x30($s2)
/* 3A3F28 E00A4748 0220202D */ daddu $a0, $s1, $zero
/* 3A3F2C E00A474C 00A0302D */ daddu $a2, $a1, $zero
/* 3A3F30 E00A4750 0C080110 */ jal shim_guScaleF
/* 3A3F34 E00A4754 00A0382D */ daddu $a3, $a1, $zero
/* 3A3F38 E00A4758 0220202D */ daddu $a0, $s1, $zero
/* 3A3F3C E00A475C 27A50018 */ addiu $a1, $sp, 0x18
/* 3A3F40 E00A4760 0C080114 */ jal shim_guMtxCatF
/* 3A3F44 E00A4764 00A0302D */ daddu $a2, $a1, $zero
/* 3A3F48 E00A4768 27A40018 */ addiu $a0, $sp, 0x18
/* 3A3F4C E00A476C 3C168007 */ lui $s6, %hi(gMatrixListPos)
/* 3A3F50 E00A4770 26D641F0 */ addiu $s6, $s6, %lo(gMatrixListPos)
/* 3A3F54 E00A4774 3C1E800A */ lui $fp, %hi(gDisplayContext)
/* 3A3F58 E00A4778 27DEA674 */ addiu $fp, $fp, %lo(gDisplayContext)
/* 3A3F5C E00A477C 96C50000 */ lhu $a1, ($s6)
/* 3A3F60 E00A4780 8FC20000 */ lw $v0, ($fp)
/* 3A3F64 E00A4784 00052980 */ sll $a1, $a1, 6
/* 3A3F68 E00A4788 00B72821 */ addu $a1, $a1, $s7
/* 3A3F6C E00A478C 0C080118 */ jal shim_guMtxF2L
/* 3A3F70 E00A4790 00452821 */ addu $a1, $v0, $a1
/* 3A3F74 E00A4794 3C03DA38 */ lui $v1, 0xda38
/* 3A3F78 E00A4798 34630002 */ ori $v1, $v1, 2
/* 3A3F7C E00A479C 3C05DA38 */ lui $a1, 0xda38
/* 3A3F80 E00A47A0 34A50001 */ ori $a1, $a1, 1
/* 3A3F84 E00A47A4 3C06E300 */ lui $a2, 0xe300
/* 3A3F88 E00A47A8 34C61A01 */ ori $a2, $a2, 0x1a01
/* 3A3F8C E00A47AC 327300FF */ andi $s3, $s3, 0xff
/* 3A3F90 E00A47B0 2A940003 */ slti $s4, $s4, 3
/* 3A3F94 E00A47B4 8EA80000 */ lw $t0, ($s5)
/* 3A3F98 E00A47B8 96C20000 */ lhu $v0, ($s6)
/* 3A3F9C E00A47BC 0100202D */ daddu $a0, $t0, $zero
/* 3A3FA0 E00A47C0 25080008 */ addiu $t0, $t0, 8
/* 3A3FA4 E00A47C4 AEA80000 */ sw $t0, ($s5)
/* 3A3FA8 E00A47C8 AC830000 */ sw $v1, ($a0)
/* 3A3FAC E00A47CC 24430001 */ addiu $v1, $v0, 1
/* 3A3FB0 E00A47D0 3042FFFF */ andi $v0, $v0, 0xffff
/* 3A3FB4 E00A47D4 00021180 */ sll $v0, $v0, 6
/* 3A3FB8 E00A47D8 A6C30000 */ sh $v1, ($s6)
/* 3A3FBC E00A47DC 8FC30000 */ lw $v1, ($fp)
/* 3A3FC0 E00A47E0 00571021 */ addu $v0, $v0, $s7
/* 3A3FC4 E00A47E4 00621821 */ addu $v1, $v1, $v0
/* 3A3FC8 E00A47E8 25020008 */ addiu $v0, $t0, 8
/* 3A3FCC E00A47EC AC830004 */ sw $v1, 4($a0)
/* 3A3FD0 E00A47F0 AEA20000 */ sw $v0, ($s5)
/* 3A3FD4 E00A47F4 25020010 */ addiu $v0, $t0, 0x10
/* 3A3FD8 E00A47F8 AD050000 */ sw $a1, ($t0)
/* 3A3FDC E00A47FC AEA20000 */ sw $v0, ($s5)
/* 3A3FE0 E00A4800 8E030204 */ lw $v1, 0x204($s0)
/* 3A3FE4 E00A4804 3C02FA00 */ lui $v0, 0xfa00
/* 3A3FE8 E00A4808 AD020008 */ sw $v0, 8($t0)
/* 3A3FEC E00A480C AD030004 */ sw $v1, 4($t0)
/* 3A3FF0 E00A4810 92430023 */ lbu $v1, 0x23($s2)
/* 3A3FF4 E00A4814 92440027 */ lbu $a0, 0x27($s2)
/* 3A3FF8 E00A4818 9245002B */ lbu $a1, 0x2b($s2)
/* 3A3FFC E00A481C 25020018 */ addiu $v0, $t0, 0x18
/* 3A4000 E00A4820 AEA20000 */ sw $v0, ($s5)
/* 3A4004 E00A4824 8FAA009C */ lw $t2, 0x9c($sp)
/* 3A4008 E00A4828 25020020 */ addiu $v0, $t0, 0x20
/* 3A400C E00A482C AD0A0010 */ sw $t2, 0x10($t0)
/* 3A4010 E00A4830 240A0040 */ addiu $t2, $zero, 0x40
/* 3A4014 E00A4834 00031E00 */ sll $v1, $v1, 0x18
/* 3A4018 E00A4838 00042400 */ sll $a0, $a0, 0x10
/* 3A401C E00A483C 00641825 */ or $v1, $v1, $a0
/* 3A4020 E00A4840 00052A00 */ sll $a1, $a1, 8
/* 3A4024 E00A4844 00651825 */ or $v1, $v1, $a1
/* 3A4028 E00A4848 00731825 */ or $v1, $v1, $s3
/* 3A402C E00A484C AD0A0014 */ sw $t2, 0x14($t0)
/* 3A4030 E00A4850 AEA20000 */ sw $v0, ($s5)
/* 3A4034 E00A4854 AD060018 */ sw $a2, 0x18($t0)
/* 3A4038 E00A4858 AD00001C */ sw $zero, 0x1c($t0)
/* 3A403C E00A485C 12800068 */ beqz $s4, .LE00A4A00
/* 3A4040 E00A4860 AD03000C */ sw $v1, 0xc($t0)
/* 3A4044 E00A4864 27A40018 */ addiu $a0, $sp, 0x18
/* 3A4048 E00A4868 C7A00098 */ lwc1 $f0, 0x98($sp)
/* 3A404C E00A486C 46800020 */ cvt.s.w $f0, $f0
/* 3A4050 E00A4870 3C12D838 */ lui $s2, 0xd838
/* 3A4054 E00A4874 36520002 */ ori $s2, $s2, 2
/* 3A4058 E00A4878 25020028 */ addiu $v0, $t0, 0x28
/* 3A405C E00A487C 44050000 */ mfc1 $a1, $f0
/* 3A4060 E00A4880 4480A000 */ mtc1 $zero, $f20
/* 3A4064 E00A4884 3C013F80 */ lui $at, 0x3f80
/* 3A4068 E00A4888 4481B000 */ mtc1 $at, $f22
/* 3A406C E00A488C 3C10DE00 */ lui $s0, 0xde00
/* 3A4070 E00A4890 AEA20000 */ sw $v0, ($s5)
/* 3A4074 E00A4894 4406A000 */ mfc1 $a2, $f20
/* 3A4078 E00A4898 4407A000 */ mfc1 $a3, $f20
/* 3A407C E00A489C 3C020900 */ lui $v0, 0x900
/* 3A4080 E00A48A0 24421000 */ addiu $v0, $v0, 0x1000
/* 3A4084 E00A48A4 AD100020 */ sw $s0, 0x20($t0)
/* 3A4088 E00A48A8 AD020024 */ sw $v0, 0x24($t0)
/* 3A408C E00A48AC 0C080104 */ jal shim_guRotateF
/* 3A4090 E00A48B0 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3A4094 E00A48B4 27A40018 */ addiu $a0, $sp, 0x18
/* 3A4098 E00A48B8 96C50000 */ lhu $a1, ($s6)
/* 3A409C E00A48BC 8FC20000 */ lw $v0, ($fp)
/* 3A40A0 E00A48C0 00052980 */ sll $a1, $a1, 6
/* 3A40A4 E00A48C4 00B72821 */ addu $a1, $a1, $s7
/* 3A40A8 E00A48C8 0C080118 */ jal shim_guMtxF2L
/* 3A40AC E00A48CC 00452821 */ addu $a1, $v0, $a1
/* 3A40B0 E00A48D0 27A40018 */ addiu $a0, $sp, 0x18
/* 3A40B4 E00A48D4 8FAA0098 */ lw $t2, 0x98($sp)
/* 3A40B8 E00A48D8 8EA80000 */ lw $t0, ($s5)
/* 3A40BC E00A48DC 4406A000 */ mfc1 $a2, $f20
/* 3A40C0 E00A48E0 000A1023 */ negu $v0, $t2
/* 3A40C4 E00A48E4 000210C0 */ sll $v0, $v0, 3
/* 3A40C8 E00A48E8 44820000 */ mtc1 $v0, $f0
/* 3A40CC E00A48EC 00000000 */ nop
/* 3A40D0 E00A48F0 46800020 */ cvt.s.w $f0, $f0
/* 3A40D4 E00A48F4 0100482D */ daddu $t1, $t0, $zero
/* 3A40D8 E00A48F8 44050000 */ mfc1 $a1, $f0
/* 3A40DC E00A48FC 25080008 */ addiu $t0, $t0, 8
/* 3A40E0 E00A4900 AEA80000 */ sw $t0, ($s5)
/* 3A40E4 E00A4904 96C20000 */ lhu $v0, ($s6)
/* 3A40E8 E00A4908 3C11DA38 */ lui $s1, 0xda38
/* 3A40EC E00A490C AD310000 */ sw $s1, ($t1)
/* 3A40F0 E00A4910 24430001 */ addiu $v1, $v0, 1
/* 3A40F4 E00A4914 3042FFFF */ andi $v0, $v0, 0xffff
/* 3A40F8 E00A4918 00021180 */ sll $v0, $v0, 6
/* 3A40FC E00A491C A6C30000 */ sh $v1, ($s6)
/* 3A4100 E00A4920 8FC30000 */ lw $v1, ($fp)
/* 3A4104 E00A4924 00571021 */ addu $v0, $v0, $s7
/* 3A4108 E00A4928 00621821 */ addu $v1, $v1, $v0
/* 3A410C E00A492C 25020008 */ addiu $v0, $t0, 8
/* 3A4110 E00A4930 AD230004 */ sw $v1, 4($t1)
/* 3A4114 E00A4934 AEA20000 */ sw $v0, ($s5)
/* 3A4118 E00A4938 3C020900 */ lui $v0, 0x900
/* 3A411C E00A493C 244211D0 */ addiu $v0, $v0, 0x11d0
/* 3A4120 E00A4940 AD020004 */ sw $v0, 4($t0)
/* 3A4124 E00A4944 25020010 */ addiu $v0, $t0, 0x10
/* 3A4128 E00A4948 240A0040 */ addiu $t2, $zero, 0x40
/* 3A412C E00A494C AD100000 */ sw $s0, ($t0)
/* 3A4130 E00A4950 AEA20000 */ sw $v0, ($s5)
/* 3A4134 E00A4954 25020018 */ addiu $v0, $t0, 0x18
/* 3A4138 E00A4958 AD120008 */ sw $s2, 8($t0)
/* 3A413C E00A495C AD0A000C */ sw $t2, 0xc($t0)
/* 3A4140 E00A4960 AEA20000 */ sw $v0, ($s5)
/* 3A4144 E00A4964 8FAA009C */ lw $t2, 0x9c($sp)
/* 3A4148 E00A4968 00C0382D */ daddu $a3, $a2, $zero
/* 3A414C E00A496C AD0A0010 */ sw $t2, 0x10($t0)
/* 3A4150 E00A4970 AD000014 */ sw $zero, 0x14($t0)
/* 3A4154 E00A4974 0C080104 */ jal shim_guRotateF
/* 3A4158 E00A4978 E7B60010 */ swc1 $f22, 0x10($sp)
/* 3A415C E00A497C 27A40018 */ addiu $a0, $sp, 0x18
/* 3A4160 E00A4980 96C50000 */ lhu $a1, ($s6)
/* 3A4164 E00A4984 8FC20000 */ lw $v0, ($fp)
/* 3A4168 E00A4988 00052980 */ sll $a1, $a1, 6
/* 3A416C E00A498C 00B72821 */ addu $a1, $a1, $s7
/* 3A4170 E00A4990 0C080118 */ jal shim_guMtxF2L
/* 3A4174 E00A4994 00452821 */ addu $a1, $v0, $a1
/* 3A4178 E00A4998 8EA40000 */ lw $a0, ($s5)
/* 3A417C E00A499C 96C20000 */ lhu $v0, ($s6)
/* 3A4180 E00A49A0 0080282D */ daddu $a1, $a0, $zero
/* 3A4184 E00A49A4 24840008 */ addiu $a0, $a0, 8
/* 3A4188 E00A49A8 24430001 */ addiu $v1, $v0, 1
/* 3A418C E00A49AC 3042FFFF */ andi $v0, $v0, 0xffff
/* 3A4190 E00A49B0 00021180 */ sll $v0, $v0, 6
/* 3A4194 E00A49B4 AEA40000 */ sw $a0, ($s5)
/* 3A4198 E00A49B8 ACB10000 */ sw $s1, ($a1)
/* 3A419C E00A49BC A6C30000 */ sh $v1, ($s6)
/* 3A41A0 E00A49C0 8FC30000 */ lw $v1, ($fp)
/* 3A41A4 E00A49C4 00571021 */ addu $v0, $v0, $s7
/* 3A41A8 E00A49C8 00621821 */ addu $v1, $v1, $v0
/* 3A41AC E00A49CC 24820008 */ addiu $v0, $a0, 8
/* 3A41B0 E00A49D0 ACA30004 */ sw $v1, 4($a1)
/* 3A41B4 E00A49D4 AEA20000 */ sw $v0, ($s5)
/* 3A41B8 E00A49D8 3C020900 */ lui $v0, 0x900
/* 3A41BC E00A49DC 244211F0 */ addiu $v0, $v0, 0x11f0
/* 3A41C0 E00A49E0 AC820004 */ sw $v0, 4($a0)
/* 3A41C4 E00A49E4 24820010 */ addiu $v0, $a0, 0x10
/* 3A41C8 E00A49E8 240A0040 */ addiu $t2, $zero, 0x40
/* 3A41CC E00A49EC AC900000 */ sw $s0, ($a0)
/* 3A41D0 E00A49F0 AEA20000 */ sw $v0, ($s5)
/* 3A41D4 E00A49F4 AC920008 */ sw $s2, 8($a0)
/* 3A41D8 E00A49F8 0802928D */ j .LE00A4A34
/* 3A41DC E00A49FC AC8A000C */ sw $t2, 0xc($a0)
.LE00A4A00:
/* 3A41E0 E00A4A00 25020028 */ addiu $v0, $t0, 0x28
/* 3A41E4 E00A4A04 3C03DE00 */ lui $v1, 0xde00
/* 3A41E8 E00A4A08 AEA20000 */ sw $v0, ($s5)
/* 3A41EC E00A4A0C 3C020900 */ lui $v0, 0x900
/* 3A41F0 E00A4A10 244210A8 */ addiu $v0, $v0, 0x10a8
/* 3A41F4 E00A4A14 AD020024 */ sw $v0, 0x24($t0)
/* 3A41F8 E00A4A18 25020030 */ addiu $v0, $t0, 0x30
/* 3A41FC E00A4A1C AD030020 */ sw $v1, 0x20($t0)
/* 3A4200 E00A4A20 AEA20000 */ sw $v0, ($s5)
/* 3A4204 E00A4A24 3C020900 */ lui $v0, 0x900
/* 3A4208 E00A4A28 24421210 */ addiu $v0, $v0, 0x1210
/* 3A420C E00A4A2C AD030028 */ sw $v1, 0x28($t0)
/* 3A4210 E00A4A30 AD02002C */ sw $v0, 0x2c($t0)
.LE00A4A34:
/* 3A4214 E00A4A34 3C02E300 */ lui $v0, 0xe300
/* 3A4218 E00A4A38 34421801 */ ori $v0, $v0, 0x1801
/* 3A421C E00A4A3C 3C06E300 */ lui $a2, 0xe300
/* 3A4220 E00A4A40 34C61A01 */ ori $a2, $a2, 0x1a01
/* 3A4224 E00A4A44 3C07D838 */ lui $a3, 0xd838
/* 3A4228 E00A4A48 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3A422C E00A4A4C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3A4230 E00A4A50 8C830000 */ lw $v1, ($a0)
/* 3A4234 E00A4A54 34E70002 */ ori $a3, $a3, 2
/* 3A4238 E00A4A58 0060282D */ daddu $a1, $v1, $zero
/* 3A423C E00A4A5C 24630008 */ addiu $v1, $v1, 8
/* 3A4240 E00A4A60 AC830000 */ sw $v1, ($a0)
/* 3A4244 E00A4A64 ACA20000 */ sw $v0, ($a1)
/* 3A4248 E00A4A68 240200C0 */ addiu $v0, $zero, 0xc0
/* 3A424C E00A4A6C ACA20004 */ sw $v0, 4($a1)
/* 3A4250 E00A4A70 24620008 */ addiu $v0, $v1, 8
/* 3A4254 E00A4A74 AC820000 */ sw $v0, ($a0)
/* 3A4258 E00A4A78 24020030 */ addiu $v0, $zero, 0x30
/* 3A425C E00A4A7C AC620004 */ sw $v0, 4($v1)
/* 3A4260 E00A4A80 24620010 */ addiu $v0, $v1, 0x10
/* 3A4264 E00A4A84 AC660000 */ sw $a2, ($v1)
/* 3A4268 E00A4A88 AC820000 */ sw $v0, ($a0)
/* 3A426C E00A4A8C 24020040 */ addiu $v0, $zero, 0x40
/* 3A4270 E00A4A90 AC670008 */ sw $a3, 8($v1)
/* 3A4274 E00A4A94 AC62000C */ sw $v0, 0xc($v1)
/* 3A4278 E00A4A98 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 3A427C E00A4A9C 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 3A4280 E00A4AA0 8FB700BC */ lw $s7, 0xbc($sp)
/* 3A4284 E00A4AA4 8FB600B8 */ lw $s6, 0xb8($sp)
/* 3A4288 E00A4AA8 8FB500B4 */ lw $s5, 0xb4($sp)
/* 3A428C E00A4AAC 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3A4290 E00A4AB0 8FB300AC */ lw $s3, 0xac($sp)
/* 3A4294 E00A4AB4 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3A4298 E00A4AB8 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3A429C E00A4ABC 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3A42A0 E00A4AC0 D7B600D0 */ ldc1 $f22, 0xd0($sp)
/* 3A42A4 E00A4AC4 D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 3A42A8 E00A4AC8 03E00008 */ jr $ra
/* 3A42AC E00A4ACC 27BD00D8 */ addiu $sp, $sp, 0xd8

View File

@ -1,187 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel energy_shockwave_appendGfx
/* 375224 E00723D4 27BDFF50 */ addiu $sp, $sp, -0xb0
/* 375228 E00723D8 3C03DB06 */ lui $v1, 0xdb06
/* 37522C E00723DC 34630024 */ ori $v1, $v1, 0x24
/* 375230 E00723E0 3C05FFB3 */ lui $a1, 0xffb3
/* 375234 E00723E4 AFB10094 */ sw $s1, 0x94($sp)
/* 375238 E00723E8 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* 37523C E00723EC 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* 375240 E00723F0 34A51E00 */ ori $a1, $a1, 0x1e00
/* 375244 E00723F4 AFB500A4 */ sw $s5, 0xa4($sp)
/* 375248 E00723F8 3C15E700 */ lui $s5, 0xe700
/* 37524C E00723FC AFBF00A8 */ sw $ra, 0xa8($sp)
/* 375250 E0072400 AFB400A0 */ sw $s4, 0xa0($sp)
/* 375254 E0072404 AFB3009C */ sw $s3, 0x9c($sp)
/* 375258 E0072408 AFB20098 */ sw $s2, 0x98($sp)
/* 37525C E007240C AFB00090 */ sw $s0, 0x90($sp)
/* 375260 E0072410 8E280000 */ lw $t0, ($s1)
/* 375264 E0072414 3C014080 */ lui $at, 0x4080
/* 375268 E0072418 44812000 */ mtc1 $at, $f4
/* 37526C E007241C 0100102D */ daddu $v0, $t0, $zero
/* 375270 E0072420 25080008 */ addiu $t0, $t0, 8
/* 375274 E0072424 AE280000 */ sw $t0, ($s1)
/* 375278 E0072428 8C90000C */ lw $s0, 0xc($a0)
/* 37527C E007242C 3C14DE00 */ lui $s4, 0xde00
/* 375280 E0072430 AC550000 */ sw $s5, ($v0)
/* 375284 E0072434 AC400004 */ sw $zero, 4($v0)
/* 375288 E0072438 25020008 */ addiu $v0, $t0, 8
/* 37528C E007243C AE220000 */ sw $v0, ($s1)
/* 375290 E0072440 25020010 */ addiu $v0, $t0, 0x10
/* 375294 E0072444 AD030000 */ sw $v1, ($t0)
/* 375298 E0072448 AE220000 */ sw $v0, ($s1)
/* 37529C E007244C 8C830010 */ lw $v1, 0x10($a0)
/* 3752A0 E0072450 25020018 */ addiu $v0, $t0, 0x18
/* 3752A4 E0072454 AE220000 */ sw $v0, ($s1)
/* 3752A8 E0072458 8C63001C */ lw $v1, 0x1c($v1)
/* 3752AC E007245C 3C020900 */ lui $v0, 0x900
/* 3752B0 E0072460 24420E60 */ addiu $v0, $v0, 0xe60
/* 3752B4 E0072464 AD02000C */ sw $v0, 0xc($t0)
/* 3752B8 E0072468 3C02FA00 */ lui $v0, 0xfa00
/* 3752BC E007246C AD020010 */ sw $v0, 0x10($t0)
/* 3752C0 E0072470 3C028000 */ lui $v0, 0x8000
/* 3752C4 E0072474 AD140008 */ sw $s4, 8($t0)
/* 3752C8 E0072478 00621821 */ addu $v1, $v1, $v0
/* 3752CC E007247C AD030004 */ sw $v1, 4($t0)
/* 3752D0 E0072480 92030027 */ lbu $v1, 0x27($s0)
/* 3752D4 E0072484 25020020 */ addiu $v0, $t0, 0x20
/* 3752D8 E0072488 AE220000 */ sw $v0, ($s1)
/* 3752DC E007248C 3C02FB00 */ lui $v0, 0xfb00
/* 3752E0 E0072490 AD020018 */ sw $v0, 0x18($t0)
/* 3752E4 E0072494 00651825 */ or $v1, $v1, $a1
/* 3752E8 E0072498 AD030014 */ sw $v1, 0x14($t0)
/* 3752EC E007249C 92020050 */ lbu $v0, 0x50($s0)
/* 3752F0 E00724A0 92040051 */ lbu $a0, 0x51($s0)
/* 3752F4 E00724A4 92030052 */ lbu $v1, 0x52($s0)
/* 3752F8 E00724A8 00021600 */ sll $v0, $v0, 0x18
/* 3752FC E00724AC 00042400 */ sll $a0, $a0, 0x10
/* 375300 E00724B0 00441025 */ or $v0, $v0, $a0
/* 375304 E00724B4 00031A00 */ sll $v1, $v1, 8
/* 375308 E00724B8 00431025 */ or $v0, $v0, $v1
/* 37530C E00724BC 34420080 */ ori $v0, $v0, 0x80
/* 375310 E00724C0 AD02001C */ sw $v0, 0x1c($t0)
/* 375314 E00724C4 C6020030 */ lwc1 $f2, 0x30($s0)
/* 375318 E00724C8 46041082 */ mul.s $f2, $f2, $f4
/* 37531C E00724CC 00000000 */ nop
/* 375320 E00724D0 3C130001 */ lui $s3, 1
/* 375324 E00724D4 36731630 */ ori $s3, $s3, 0x1630
/* 375328 E00724D8 C6000034 */ lwc1 $f0, 0x34($s0)
/* 37532C E00724DC 3C07F200 */ lui $a3, 0xf200
/* 375330 E00724E0 46040002 */ mul.s $f0, $f0, $f4
/* 375334 E00724E4 00000000 */ nop
/* 375338 E00724E8 27A40010 */ addiu $a0, $sp, 0x10
/* 37533C E00724EC 25020028 */ addiu $v0, $t0, 0x28
/* 375340 E00724F0 AE220000 */ sw $v0, ($s1)
/* 375344 E00724F4 4600118D */ trunc.w.s $f6, $f2
/* 375348 E00724F8 44023000 */ mfc1 $v0, $f6
/* 37534C E00724FC 4600018D */ trunc.w.s $f6, $f0
/* 375350 E0072500 44063000 */ mfc1 $a2, $f6
/* 375354 E0072504 30450FFF */ andi $a1, $v0, 0xfff
/* 375358 E0072508 00052B00 */ sll $a1, $a1, 0xc
/* 37535C E007250C 30C30FFF */ andi $v1, $a2, 0xfff
/* 375360 E0072510 00671825 */ or $v1, $v1, $a3
/* 375364 E0072514 00A32825 */ or $a1, $a1, $v1
/* 375368 E0072518 244200FC */ addiu $v0, $v0, 0xfc
/* 37536C E007251C C6000038 */ lwc1 $f0, 0x38($s0)
/* 375370 E0072520 30420FFF */ andi $v0, $v0, 0xfff
/* 375374 E0072524 46040002 */ mul.s $f0, $f0, $f4
/* 375378 E0072528 00000000 */ nop
/* 37537C E007252C 00021300 */ sll $v0, $v0, 0xc
/* 375380 E0072530 24C600FC */ addiu $a2, $a2, 0xfc
/* 375384 E0072534 C602003C */ lwc1 $f2, 0x3c($s0)
/* 375388 E0072538 30C60FFF */ andi $a2, $a2, 0xfff
/* 37538C E007253C 46041082 */ mul.s $f2, $f2, $f4
/* 375390 E0072540 00000000 */ nop
/* 375394 E0072544 00461025 */ or $v0, $v0, $a2
/* 375398 E0072548 AD050020 */ sw $a1, 0x20($t0)
/* 37539C E007254C AD020024 */ sw $v0, 0x24($t0)
/* 3753A0 E0072550 4600018D */ trunc.w.s $f6, $f0
/* 3753A4 E0072554 44053000 */ mfc1 $a1, $f6
/* 3753A8 E0072558 4600118D */ trunc.w.s $f6, $f2
/* 3753AC E007255C 44063000 */ mfc1 $a2, $f6
/* 3753B0 E0072560 30A30FFF */ andi $v1, $a1, 0xfff
/* 3753B4 E0072564 00031B00 */ sll $v1, $v1, 0xc
/* 3753B8 E0072568 30C20FFF */ andi $v0, $a2, 0xfff
/* 3753BC E007256C 00471025 */ or $v0, $v0, $a3
/* 3753C0 E0072570 00621825 */ or $v1, $v1, $v0
/* 3753C4 E0072574 24A5007C */ addiu $a1, $a1, 0x7c
/* 3753C8 E0072578 30A50FFF */ andi $a1, $a1, 0xfff
/* 3753CC E007257C 00052B00 */ sll $a1, $a1, 0xc
/* 3753D0 E0072580 24C6007C */ addiu $a2, $a2, 0x7c
/* 3753D4 E0072584 30C60FFF */ andi $a2, $a2, 0xfff
/* 3753D8 E0072588 3C020100 */ lui $v0, 0x100
/* 3753DC E007258C 00C23025 */ or $a2, $a2, $v0
/* 3753E0 E0072590 00A62825 */ or $a1, $a1, $a2
/* 3753E4 E0072594 AD030028 */ sw $v1, 0x28($t0)
/* 3753E8 E0072598 AD05002C */ sw $a1, 0x2c($t0)
/* 3753EC E007259C 8E050004 */ lw $a1, 4($s0)
/* 3753F0 E00725A0 8E060008 */ lw $a2, 8($s0)
/* 3753F4 E00725A4 8E07000C */ lw $a3, 0xc($s0)
/* 3753F8 E00725A8 25080030 */ addiu $t0, $t0, 0x30
/* 3753FC E00725AC 0C080108 */ jal shim_guTranslateF
/* 375400 E00725B0 AE280000 */ sw $t0, ($s1)
/* 375404 E00725B4 8E05001C */ lw $a1, 0x1c($s0)
/* 375408 E00725B8 27B00050 */ addiu $s0, $sp, 0x50
/* 37540C E00725BC 0200202D */ daddu $a0, $s0, $zero
/* 375410 E00725C0 00A0302D */ daddu $a2, $a1, $zero
/* 375414 E00725C4 0C080110 */ jal shim_guScaleF
/* 375418 E00725C8 00A0382D */ daddu $a3, $a1, $zero
/* 37541C E00725CC 0200202D */ daddu $a0, $s0, $zero
/* 375420 E00725D0 27A50010 */ addiu $a1, $sp, 0x10
/* 375424 E00725D4 0C080114 */ jal shim_guMtxCatF
/* 375428 E00725D8 00A0302D */ daddu $a2, $a1, $zero
/* 37542C E00725DC 27A40010 */ addiu $a0, $sp, 0x10
/* 375430 E00725E0 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 375434 E00725E4 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 375438 E00725E8 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 37543C E00725EC 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 375440 E00725F0 96050000 */ lhu $a1, ($s0)
/* 375444 E00725F4 8E420000 */ lw $v0, ($s2)
/* 375448 E00725F8 00052980 */ sll $a1, $a1, 6
/* 37544C E00725FC 00B32821 */ addu $a1, $a1, $s3
/* 375450 E0072600 0C080118 */ jal shim_guMtxF2L
/* 375454 E0072604 00452821 */ addu $a1, $v0, $a1
/* 375458 E0072608 3C06D838 */ lui $a2, 0xd838
/* 37545C E007260C 8E240000 */ lw $a0, ($s1)
/* 375460 E0072610 34C60002 */ ori $a2, $a2, 2
/* 375464 E0072614 0080282D */ daddu $a1, $a0, $zero
/* 375468 E0072618 24840008 */ addiu $a0, $a0, 8
/* 37546C E007261C AE240000 */ sw $a0, ($s1)
/* 375470 E0072620 96020000 */ lhu $v0, ($s0)
/* 375474 E0072624 3C03DA38 */ lui $v1, 0xda38
/* 375478 E0072628 ACA30000 */ sw $v1, ($a1)
/* 37547C E007262C 24430001 */ addiu $v1, $v0, 1
/* 375480 E0072630 3042FFFF */ andi $v0, $v0, 0xffff
/* 375484 E0072634 00021180 */ sll $v0, $v0, 6
/* 375488 E0072638 A6030000 */ sh $v1, ($s0)
/* 37548C E007263C 8E430000 */ lw $v1, ($s2)
/* 375490 E0072640 00531021 */ addu $v0, $v0, $s3
/* 375494 E0072644 00621821 */ addu $v1, $v1, $v0
/* 375498 E0072648 24820008 */ addiu $v0, $a0, 8
/* 37549C E007264C ACA30004 */ sw $v1, 4($a1)
/* 3754A0 E0072650 AE220000 */ sw $v0, ($s1)
/* 3754A4 E0072654 3C020900 */ lui $v0, 0x900
/* 3754A8 E0072658 24420DC0 */ addiu $v0, $v0, 0xdc0
/* 3754AC E007265C AC820004 */ sw $v0, 4($a0)
/* 3754B0 E0072660 24820010 */ addiu $v0, $a0, 0x10
/* 3754B4 E0072664 AC940000 */ sw $s4, ($a0)
/* 3754B8 E0072668 AE220000 */ sw $v0, ($s1)
/* 3754BC E007266C 24020040 */ addiu $v0, $zero, 0x40
/* 3754C0 E0072670 AC82000C */ sw $v0, 0xc($a0)
/* 3754C4 E0072674 24820018 */ addiu $v0, $a0, 0x18
/* 3754C8 E0072678 AC860008 */ sw $a2, 8($a0)
/* 3754CC E007267C AE220000 */ sw $v0, ($s1)
/* 3754D0 E0072680 AC950010 */ sw $s5, 0x10($a0)
/* 3754D4 E0072684 AC800014 */ sw $zero, 0x14($a0)
/* 3754D8 E0072688 8FBF00A8 */ lw $ra, 0xa8($sp)
/* 3754DC E007268C 8FB500A4 */ lw $s5, 0xa4($sp)
/* 3754E0 E0072690 8FB400A0 */ lw $s4, 0xa0($sp)
/* 3754E4 E0072694 8FB3009C */ lw $s3, 0x9c($sp)
/* 3754E8 E0072698 8FB20098 */ lw $s2, 0x98($sp)
/* 3754EC E007269C 8FB10094 */ lw $s1, 0x94($sp)
/* 3754F0 E00726A0 8FB00090 */ lw $s0, 0x90($sp)
/* 3754F4 E00726A4 03E00008 */ jr $ra
/* 3754F8 E00726A8 27BD00B0 */ addiu $sp, $sp, 0xb0
/* 3754FC E00726AC 00000000 */ nop

View File

@ -1,95 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00726B0
.double 0.1, 0.0
.section .text
glabel energy_shockwave_main
/* 374E50 E0072000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 374E54 E0072004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 374E58 E0072008 4485A000 */ mtc1 $a1, $f20
/* 374E5C E007200C AFB1002C */ sw $s1, 0x2c($sp)
/* 374E60 E0072010 0080882D */ daddu $s1, $a0, $zero
/* 374E64 E0072014 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 374E68 E0072018 4486B000 */ mtc1 $a2, $f22
/* 374E6C E007201C 27A40010 */ addiu $a0, $sp, 0x10
/* 374E70 E0072020 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 374E74 E0072024 4487C000 */ mtc1 $a3, $f24
/* 374E78 E0072028 3C02E007 */ lui $v0, %hi(energy_shockwave_init)
/* 374E7C E007202C 24422148 */ addiu $v0, $v0, %lo(energy_shockwave_init)
/* 374E80 E0072030 AFA20018 */ sw $v0, 0x18($sp)
/* 374E84 E0072034 3C02E007 */ lui $v0, %hi(energy_shockwave_update)
/* 374E88 E0072038 24422150 */ addiu $v0, $v0, %lo(energy_shockwave_update)
/* 374E8C E007203C AFA2001C */ sw $v0, 0x1c($sp)
/* 374E90 E0072040 3C02E007 */ lui $v0, %hi(energy_shockwave_render)
/* 374E94 E0072044 2442238C */ addiu $v0, $v0, %lo(energy_shockwave_render)
/* 374E98 E0072048 AFA20020 */ sw $v0, 0x20($sp)
/* 374E9C E007204C 24020039 */ addiu $v0, $zero, 0x39
/* 374EA0 E0072050 AFBF0030 */ sw $ra, 0x30($sp)
/* 374EA4 E0072054 AFB00028 */ sw $s0, 0x28($sp)
/* 374EA8 E0072058 AFA00010 */ sw $zero, 0x10($sp)
/* 374EAC E007205C AFA00024 */ sw $zero, 0x24($sp)
/* 374EB0 E0072060 0C080124 */ jal shim_create_effect_instance
/* 374EB4 E0072064 AFA20014 */ sw $v0, 0x14($sp)
/* 374EB8 E0072068 24040A2C */ addiu $a0, $zero, 0xa2c
/* 374EBC E007206C 2403001F */ addiu $v1, $zero, 0x1f
/* 374EC0 E0072070 0040802D */ daddu $s0, $v0, $zero
/* 374EC4 E0072074 0C08012C */ jal shim_general_heap_malloc
/* 374EC8 E0072078 AE030008 */ sw $v1, 8($s0)
/* 374ECC E007207C 0040202D */ daddu $a0, $v0, $zero
/* 374ED0 E0072080 14800003 */ bnez $a0, .LE0072090
/* 374ED4 E0072084 AE02000C */ sw $v0, 0xc($s0)
.LE0072088:
/* 374ED8 E0072088 0801C822 */ j .LE0072088
/* 374EDC E007208C 00000000 */ nop
.LE0072090:
/* 374EE0 E0072090 240300FF */ addiu $v1, $zero, 0xff
/* 374EE4 E0072094 AC910000 */ sw $s1, ($a0)
/* 374EE8 E0072098 E4940004 */ swc1 $f20, 4($a0)
/* 374EEC E007209C E4960008 */ swc1 $f22, 8($a0)
/* 374EF0 E00720A0 E498000C */ swc1 $f24, 0xc($a0)
/* 374EF4 E00720A4 AC830024 */ sw $v1, 0x24($a0)
/* 374EF8 E00720A8 8FA20064 */ lw $v0, 0x64($sp)
/* 374EFC E00720AC 3C01E007 */ lui $at, %hi(D_E00726B0)
/* 374F00 E00720B0 D42226B0 */ ldc1 $f2, %lo(D_E00726B0)($at)
/* 374F04 E00720B4 AC80002C */ sw $zero, 0x2c($a0)
/* 374F08 E00720B8 AC800030 */ sw $zero, 0x30($a0)
/* 374F0C E00720BC AC800034 */ sw $zero, 0x34($a0)
/* 374F10 E00720C0 AC800038 */ sw $zero, 0x38($a0)
/* 374F14 E00720C4 AC80003C */ sw $zero, 0x3c($a0)
/* 374F18 E00720C8 AC800044 */ sw $zero, 0x44($a0)
/* 374F1C E00720CC AC80001C */ sw $zero, 0x1c($a0)
/* 374F20 E00720D0 A0830050 */ sb $v1, 0x50($a0)
/* 374F24 E00720D4 A0830051 */ sb $v1, 0x51($a0)
/* 374F28 E00720D8 AC820028 */ sw $v0, 0x28($a0)
/* 374F2C E00720DC C7A00060 */ lwc1 $f0, 0x60($sp)
/* 374F30 E00720E0 3C013ECC */ lui $at, 0x3ecc
/* 374F34 E00720E4 3421CCCD */ ori $at, $at, 0xcccd
/* 374F38 E00720E8 44812000 */ mtc1 $at, $f4
/* 374F3C E00720EC 46000021 */ cvt.d.s $f0, $f0
/* 374F40 E00720F0 46220002 */ mul.d $f0, $f0, $f2
/* 374F44 E00720F4 00000000 */ nop
/* 374F48 E00720F8 3C013F80 */ lui $at, 0x3f80
/* 374F4C E00720FC 44813000 */ mtc1 $at, $f6
/* 374F50 E0072100 3C01BF8C */ lui $at, 0xbf8c
/* 374F54 E0072104 3421CCCD */ ori $at, $at, 0xcccd
/* 374F58 E0072108 44811000 */ mtc1 $at, $f2
/* 374F5C E007210C 24020040 */ addiu $v0, $zero, 0x40
/* 374F60 E0072110 A0820052 */ sb $v0, 0x52($a0)
/* 374F64 E0072114 E4840048 */ swc1 $f4, 0x48($a0)
/* 374F68 E0072118 E486004C */ swc1 $f6, 0x4c($a0)
/* 374F6C E007211C E4820040 */ swc1 $f2, 0x40($a0)
/* 374F70 E0072120 46200020 */ cvt.s.d $f0, $f0
/* 374F74 E0072124 E4800020 */ swc1 $f0, 0x20($a0)
/* 374F78 E0072128 8FBF0030 */ lw $ra, 0x30($sp)
/* 374F7C E007212C 8FB1002C */ lw $s1, 0x2c($sp)
/* 374F80 E0072130 8FB00028 */ lw $s0, 0x28($sp)
/* 374F84 E0072134 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 374F88 E0072138 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 374F8C E007213C D7B40038 */ ldc1 $f20, 0x38($sp)
/* 374F90 E0072140 03E00008 */ jr $ra
/* 374F94 E0072144 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,158 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel energy_shockwave_update
/* 374FA0 E0072150 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 374FA4 E0072154 AFBF002C */ sw $ra, 0x2c($sp)
/* 374FA8 E0072158 AFB20028 */ sw $s2, 0x28($sp)
/* 374FAC E007215C AFB10024 */ sw $s1, 0x24($sp)
/* 374FB0 E0072160 AFB00020 */ sw $s0, 0x20($sp)
/* 374FB4 E0072164 F7B40030 */ sdc1 $f20, 0x30($sp)
/* 374FB8 E0072168 8C90000C */ lw $s0, 0xc($a0)
/* 374FBC E007216C 8E020028 */ lw $v0, 0x28($s0)
/* 374FC0 E0072170 2442FFFF */ addiu $v0, $v0, -1
/* 374FC4 E0072174 AE020028 */ sw $v0, 0x28($s0)
/* 374FC8 E0072178 8E02002C */ lw $v0, 0x2c($s0)
/* 374FCC E007217C 8E120028 */ lw $s2, 0x28($s0)
/* 374FD0 E0072180 24510001 */ addiu $s1, $v0, 1
/* 374FD4 E0072184 06410005 */ bgez $s2, .LE007219C
/* 374FD8 E0072188 AE11002C */ sw $s1, 0x2c($s0)
/* 374FDC E007218C 0C080128 */ jal shim_remove_effect
/* 374FE0 E0072190 00000000 */ nop
/* 374FE4 E0072194 0801C8DC */ j .LE0072370
/* 374FE8 E0072198 00000000 */ nop
.LE007219C:
/* 374FEC E007219C 32220001 */ andi $v0, $s1, 1
/* 374FF0 E00721A0 1040001E */ beqz $v0, .LE007221C
/* 374FF4 E00721A4 00000000 */ nop
/* 374FF8 E00721A8 24040168 */ addiu $a0, $zero, 0x168
/* 374FFC E00721AC 0C080011 */ jal func_E0200044
/* 375000 E00721B0 0220282D */ daddu $a1, $s1, $zero
/* 375004 E00721B4 4482A000 */ mtc1 $v0, $f20
/* 375008 E00721B8 00000000 */ nop
/* 37500C E00721BC 4680A520 */ cvt.s.w $f20, $f20
/* 375010 E00721C0 0C080140 */ jal shim_sin_deg
/* 375014 E00721C4 4600A306 */ mov.s $f12, $f20
/* 375018 E00721C8 0C080144 */ jal shim_cos_deg
/* 37501C E00721CC 4600A306 */ mov.s $f12, $f20
/* 375020 E00721D0 0C080150 */ jal shim_load_effect
/* 375024 E00721D4 2404003A */ addiu $a0, $zero, 0x3a
/* 375028 E00721D8 001110C0 */ sll $v0, $s1, 3
/* 37502C E00721DC 44820000 */ mtc1 $v0, $f0
/* 375030 E00721E0 00000000 */ nop
/* 375034 E00721E4 46800020 */ cvt.s.w $f0, $f0
/* 375038 E00721E8 E7A00010 */ swc1 $f0, 0x10($sp)
/* 37503C E00721EC 3C014120 */ lui $at, 0x4120
/* 375040 E00721F0 44810000 */ mtc1 $at, $f0
/* 375044 E00721F4 2402000A */ addiu $v0, $zero, 0xa
/* 375048 E00721F8 AFA20018 */ sw $v0, 0x18($sp)
/* 37504C E00721FC 24020014 */ addiu $v0, $zero, 0x14
/* 375050 E0072200 AFA2001C */ sw $v0, 0x1c($sp)
/* 375054 E0072204 E7A00014 */ swc1 $f0, 0x14($sp)
/* 375058 E0072208 8E050004 */ lw $a1, 4($s0)
/* 37505C E007220C 8E060008 */ lw $a2, 8($s0)
/* 375060 E0072210 8E07000C */ lw $a3, 0xc($s0)
/* 375064 E0072214 0C01D000 */ jal shimmer_wave_main
/* 375068 E0072218 0000202D */ daddu $a0, $zero, $zero
.LE007221C:
/* 37506C E007221C C600001C */ lwc1 $f0, 0x1c($s0)
/* 375070 E0072220 C6020020 */ lwc1 $f2, 0x20($s0)
/* 375074 E0072224 46020000 */ add.s $f0, $f0, $f2
/* 375078 E0072228 2A42000A */ slti $v0, $s2, 0xa
/* 37507C E007222C 10400006 */ beqz $v0, .LE0072248
/* 375080 E0072230 E600001C */ swc1 $f0, 0x1c($s0)
/* 375084 E0072234 00121040 */ sll $v0, $s2, 1
/* 375088 E0072238 00521021 */ addu $v0, $v0, $s2
/* 37508C E007223C 000210C0 */ sll $v0, $v0, 3
/* 375090 E0072240 00521021 */ addu $v0, $v0, $s2
/* 375094 E0072244 AE020024 */ sw $v0, 0x24($s0)
.LE0072248:
/* 375098 E0072248 C6020030 */ lwc1 $f2, 0x30($s0)
/* 37509C E007224C C6000040 */ lwc1 $f0, 0x40($s0)
/* 3750A0 E0072250 C6060034 */ lwc1 $f6, 0x34($s0)
/* 3750A4 E0072254 46001080 */ add.s $f2, $f2, $f0
/* 3750A8 E0072258 C6000044 */ lwc1 $f0, 0x44($s0)
/* 3750AC E007225C C6040038 */ lwc1 $f4, 0x38($s0)
/* 3750B0 E0072260 46003180 */ add.s $f6, $f6, $f0
/* 3750B4 E0072264 C6000048 */ lwc1 $f0, 0x48($s0)
/* 3750B8 E0072268 46002100 */ add.s $f4, $f4, $f0
/* 3750BC E007226C C600003C */ lwc1 $f0, 0x3c($s0)
/* 3750C0 E0072270 E6020030 */ swc1 $f2, 0x30($s0)
/* 3750C4 E0072274 C602004C */ lwc1 $f2, 0x4c($s0)
/* 3750C8 E0072278 3C014300 */ lui $at, 0x4300
/* 3750CC E007227C 44814000 */ mtc1 $at, $f8
/* 3750D0 E0072280 46020000 */ add.s $f0, $f0, $f2
/* 3750D4 E0072284 C60A0030 */ lwc1 $f10, 0x30($s0)
/* 3750D8 E0072288 460A403C */ c.lt.s $f8, $f10
/* 3750DC E007228C E6060034 */ swc1 $f6, 0x34($s0)
/* 3750E0 E0072290 E6040038 */ swc1 $f4, 0x38($s0)
/* 3750E4 E0072294 45000003 */ bc1f .LE00722A4
/* 3750E8 E0072298 E600003C */ swc1 $f0, 0x3c($s0)
/* 3750EC E007229C 46085001 */ sub.s $f0, $f10, $f8
/* 3750F0 E00722A0 E6000030 */ swc1 $f0, 0x30($s0)
.LE00722A4:
/* 3750F4 E00722A4 C6000034 */ lwc1 $f0, 0x34($s0)
/* 3750F8 E00722A8 4600403C */ c.lt.s $f8, $f0
/* 3750FC E00722AC 00000000 */ nop
/* 375100 E00722B0 45000003 */ bc1f .LE00722C0
/* 375104 E00722B4 00000000 */ nop
/* 375108 E00722B8 46080001 */ sub.s $f0, $f0, $f8
/* 37510C E00722BC E6000034 */ swc1 $f0, 0x34($s0)
.LE00722C0:
/* 375110 E00722C0 C6000038 */ lwc1 $f0, 0x38($s0)
/* 375114 E00722C4 4600403C */ c.lt.s $f8, $f0
/* 375118 E00722C8 00000000 */ nop
/* 37511C E00722CC 45000003 */ bc1f .LE00722DC
/* 375120 E00722D0 00000000 */ nop
/* 375124 E00722D4 46080001 */ sub.s $f0, $f0, $f8
/* 375128 E00722D8 E6000038 */ swc1 $f0, 0x38($s0)
.LE00722DC:
/* 37512C E00722DC C600003C */ lwc1 $f0, 0x3c($s0)
/* 375130 E00722E0 4600403C */ c.lt.s $f8, $f0
/* 375134 E00722E4 00000000 */ nop
/* 375138 E00722E8 45000003 */ bc1f .LE00722F8
/* 37513C E00722EC 00000000 */ nop
/* 375140 E00722F0 46080001 */ sub.s $f0, $f0, $f8
/* 375144 E00722F4 E600003C */ swc1 $f0, 0x3c($s0)
.LE00722F8:
/* 375148 E00722F8 C6000030 */ lwc1 $f0, 0x30($s0)
/* 37514C E00722FC 44801000 */ mtc1 $zero, $f2
/* 375150 E0072300 00000000 */ nop
/* 375154 E0072304 4602003C */ c.lt.s $f0, $f2
/* 375158 E0072308 00000000 */ nop
/* 37515C E007230C 45000003 */ bc1f .LE007231C
/* 375160 E0072310 00000000 */ nop
/* 375164 E0072314 46080000 */ add.s $f0, $f0, $f8
/* 375168 E0072318 E6000030 */ swc1 $f0, 0x30($s0)
.LE007231C:
/* 37516C E007231C C6000034 */ lwc1 $f0, 0x34($s0)
/* 375170 E0072320 4602003C */ c.lt.s $f0, $f2
/* 375174 E0072324 00000000 */ nop
/* 375178 E0072328 45000003 */ bc1f .LE0072338
/* 37517C E007232C 00000000 */ nop
/* 375180 E0072330 46080000 */ add.s $f0, $f0, $f8
/* 375184 E0072334 E6000034 */ swc1 $f0, 0x34($s0)
.LE0072338:
/* 375188 E0072338 C6000038 */ lwc1 $f0, 0x38($s0)
/* 37518C E007233C 4602003C */ c.lt.s $f0, $f2
/* 375190 E0072340 00000000 */ nop
/* 375194 E0072344 45000003 */ bc1f .LE0072354
/* 375198 E0072348 00000000 */ nop
/* 37519C E007234C 46080000 */ add.s $f0, $f0, $f8
/* 3751A0 E0072350 E6000038 */ swc1 $f0, 0x38($s0)
.LE0072354:
/* 3751A4 E0072354 C600003C */ lwc1 $f0, 0x3c($s0)
/* 3751A8 E0072358 4602003C */ c.lt.s $f0, $f2
/* 3751AC E007235C 00000000 */ nop
/* 3751B0 E0072360 45000003 */ bc1f .LE0072370
/* 3751B4 E0072364 00000000 */ nop
/* 3751B8 E0072368 46080000 */ add.s $f0, $f0, $f8
/* 3751BC E007236C E600003C */ swc1 $f0, 0x3c($s0)
.LE0072370:
/* 3751C0 E0072370 8FBF002C */ lw $ra, 0x2c($sp)
/* 3751C4 E0072374 8FB20028 */ lw $s2, 0x28($sp)
/* 3751C8 E0072378 8FB10024 */ lw $s1, 0x24($sp)
/* 3751CC E007237C 8FB00020 */ lw $s0, 0x20($sp)
/* 3751D0 E0072380 D7B40030 */ ldc1 $f20, 0x30($sp)
/* 3751D4 E0072384 03E00008 */ jr $ra
/* 3751D8 E0072388 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,286 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel explosion_appendGfx
/* 343ADC E003245C 27BDFF30 */ addiu $sp, $sp, -0xd0
/* 343AE0 E0032460 0080302D */ daddu $a2, $a0, $zero
/* 343AE4 E0032464 3C07DB06 */ lui $a3, 0xdb06
/* 343AE8 E0032468 34E70024 */ ori $a3, $a3, 0x24
/* 343AEC E003246C 27A40018 */ addiu $a0, $sp, 0x18
/* 343AF0 E0032470 AFB600B0 */ sw $s6, 0xb0($sp)
/* 343AF4 E0032474 3C160001 */ lui $s6, 1
/* 343AF8 E0032478 36D61630 */ ori $s6, $s6, 0x1630
/* 343AFC E003247C AFB200A0 */ sw $s2, 0xa0($sp)
/* 343B00 E0032480 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 343B04 E0032484 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 343B08 E0032488 AFBF00B8 */ sw $ra, 0xb8($sp)
/* 343B0C E003248C AFB700B4 */ sw $s7, 0xb4($sp)
/* 343B10 E0032490 AFB500AC */ sw $s5, 0xac($sp)
/* 343B14 E0032494 AFB400A8 */ sw $s4, 0xa8($sp)
/* 343B18 E0032498 AFB300A4 */ sw $s3, 0xa4($sp)
/* 343B1C E003249C AFB1009C */ sw $s1, 0x9c($sp)
/* 343B20 E00324A0 AFB00098 */ sw $s0, 0x98($sp)
/* 343B24 E00324A4 F7B600C8 */ sdc1 $f22, 0xc8($sp)
/* 343B28 E00324A8 F7B400C0 */ sdc1 $f20, 0xc0($sp)
/* 343B2C E00324AC 8E450000 */ lw $a1, ($s2)
/* 343B30 E00324B0 8CD1000C */ lw $s1, 0xc($a2)
/* 343B34 E00324B4 00A0182D */ daddu $v1, $a1, $zero
/* 343B38 E00324B8 24A50008 */ addiu $a1, $a1, 8
/* 343B3C E00324BC AE450000 */ sw $a1, ($s2)
/* 343B40 E00324C0 8E330034 */ lw $s3, 0x34($s1)
/* 343B44 E00324C4 3C02E700 */ lui $v0, 0xe700
/* 343B48 E00324C8 AC620000 */ sw $v0, ($v1)
/* 343B4C E00324CC AC600004 */ sw $zero, 4($v1)
/* 343B50 E00324D0 ACA70000 */ sw $a3, ($a1)
/* 343B54 E00324D4 8CC30010 */ lw $v1, 0x10($a2)
/* 343B58 E00324D8 24A20008 */ addiu $v0, $a1, 8
/* 343B5C E00324DC AE420000 */ sw $v0, ($s2)
/* 343B60 E00324E0 8C62001C */ lw $v0, 0x1c($v1)
/* 343B64 E00324E4 3C038000 */ lui $v1, 0x8000
/* 343B68 E00324E8 00431021 */ addu $v0, $v0, $v1
/* 343B6C E00324EC ACA20004 */ sw $v0, 4($a1)
/* 343B70 E00324F0 8E250004 */ lw $a1, 4($s1)
/* 343B74 E00324F4 8E260008 */ lw $a2, 8($s1)
/* 343B78 E00324F8 8E27000C */ lw $a3, 0xc($s1)
/* 343B7C E00324FC 0C080108 */ jal shim_guTranslateF
/* 343B80 E0032500 2631003C */ addiu $s1, $s1, 0x3c
/* 343B84 E0032504 27B50058 */ addiu $s5, $sp, 0x58
/* 343B88 E0032508 4480B000 */ mtc1 $zero, $f22
/* 343B8C E003250C 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 343B90 E0032510 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 343B94 E0032514 3C013F80 */ lui $at, 0x3f80
/* 343B98 E0032518 4481A000 */ mtc1 $at, $f20
/* 343B9C E003251C 00031080 */ sll $v0, $v1, 2
/* 343BA0 E0032520 00431021 */ addu $v0, $v0, $v1
/* 343BA4 E0032524 00021080 */ sll $v0, $v0, 2
/* 343BA8 E0032528 00431023 */ subu $v0, $v0, $v1
/* 343BAC E003252C 000218C0 */ sll $v1, $v0, 3
/* 343BB0 E0032530 00431021 */ addu $v0, $v0, $v1
/* 343BB4 E0032534 000210C0 */ sll $v0, $v0, 3
/* 343BB8 E0032538 4406B000 */ mfc1 $a2, $f22
/* 343BBC E003253C 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 343BC0 E0032540 00220821 */ addu $at, $at, $v0
/* 343BC4 E0032544 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 343BC8 E0032548 4407A000 */ mfc1 $a3, $f20
/* 343BCC E003254C 46000007 */ neg.s $f0, $f0
/* 343BD0 E0032550 44050000 */ mfc1 $a1, $f0
/* 343BD4 E0032554 02A0202D */ daddu $a0, $s5, $zero
/* 343BD8 E0032558 0C080104 */ jal shim_guRotateF
/* 343BDC E003255C E7B60010 */ swc1 $f22, 0x10($sp)
/* 343BE0 E0032560 02A0202D */ daddu $a0, $s5, $zero
/* 343BE4 E0032564 27A50018 */ addiu $a1, $sp, 0x18
/* 343BE8 E0032568 0C080114 */ jal shim_guMtxCatF
/* 343BEC E003256C 00A0302D */ daddu $a2, $a1, $zero
/* 343BF0 E0032570 27A40018 */ addiu $a0, $sp, 0x18
/* 343BF4 E0032574 3C148007 */ lui $s4, %hi(gMatrixListPos)
/* 343BF8 E0032578 269441F0 */ addiu $s4, $s4, %lo(gMatrixListPos)
/* 343BFC E003257C 3C17800A */ lui $s7, %hi(gDisplayContext)
/* 343C00 E0032580 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext)
/* 343C04 E0032584 96850000 */ lhu $a1, ($s4)
/* 343C08 E0032588 8EE20000 */ lw $v0, ($s7)
/* 343C0C E003258C 00052980 */ sll $a1, $a1, 6
/* 343C10 E0032590 00B62821 */ addu $a1, $a1, $s6
/* 343C14 E0032594 0C080118 */ jal shim_guMtxF2L
/* 343C18 E0032598 00452821 */ addu $a1, $v0, $a1
/* 343C1C E003259C 3C03DA38 */ lui $v1, 0xda38
/* 343C20 E00325A0 34630002 */ ori $v1, $v1, 2
/* 343C24 E00325A4 8E460000 */ lw $a2, ($s2)
/* 343C28 E00325A8 96820000 */ lhu $v0, ($s4)
/* 343C2C E00325AC 00C0202D */ daddu $a0, $a2, $zero
/* 343C30 E00325B0 24C60008 */ addiu $a2, $a2, 8
/* 343C34 E00325B4 AE460000 */ sw $a2, ($s2)
/* 343C38 E00325B8 AC830000 */ sw $v1, ($a0)
/* 343C3C E00325BC 24430001 */ addiu $v1, $v0, 1
/* 343C40 E00325C0 3042FFFF */ andi $v0, $v0, 0xffff
/* 343C44 E00325C4 00021180 */ sll $v0, $v0, 6
/* 343C48 E00325C8 A6830000 */ sh $v1, ($s4)
/* 343C4C E00325CC 8EE30000 */ lw $v1, ($s7)
/* 343C50 E00325D0 00561021 */ addu $v0, $v0, $s6
/* 343C54 E00325D4 00621821 */ addu $v1, $v1, $v0
/* 343C58 E00325D8 AC830004 */ sw $v1, 4($a0)
/* 343C5C E00325DC 8E230000 */ lw $v1, ($s1)
/* 343C60 E00325E0 2402FFFF */ addiu $v0, $zero, -1
/* 343C64 E00325E4 10620037 */ beq $v1, $v0, .LE00326C4
/* 343C68 E00325E8 27A40018 */ addiu $a0, $sp, 0x18
/* 343C6C E00325EC 3C10DE00 */ lui $s0, 0xde00
/* 343C70 E00325F0 3C020900 */ lui $v0, 0x900
/* 343C74 E00325F4 24420840 */ addiu $v0, $v0, 0x840
/* 343C78 E00325F8 ACD00000 */ sw $s0, ($a2)
/* 343C7C E00325FC ACC20004 */ sw $v0, 4($a2)
/* 343C80 E0032600 8E250020 */ lw $a1, 0x20($s1)
/* 343C84 E0032604 4407A000 */ mfc1 $a3, $f20
/* 343C88 E0032608 24C20008 */ addiu $v0, $a2, 8
/* 343C8C E003260C AE420000 */ sw $v0, ($s2)
/* 343C90 E0032610 0C080110 */ jal shim_guScaleF
/* 343C94 E0032614 00A0302D */ daddu $a2, $a1, $zero
/* 343C98 E0032618 27A40018 */ addiu $a0, $sp, 0x18
/* 343C9C E003261C 96850000 */ lhu $a1, ($s4)
/* 343CA0 E0032620 8EE20000 */ lw $v0, ($s7)
/* 343CA4 E0032624 00052980 */ sll $a1, $a1, 6
/* 343CA8 E0032628 00B62821 */ addu $a1, $a1, $s6
/* 343CAC E003262C 0C080118 */ jal shim_guMtxF2L
/* 343CB0 E0032630 00452821 */ addu $a1, $v0, $a1
/* 343CB4 E0032634 3C07D838 */ lui $a3, 0xd838
/* 343CB8 E0032638 34E70002 */ ori $a3, $a3, 2
/* 343CBC E003263C 8E440000 */ lw $a0, ($s2)
/* 343CC0 E0032640 3C02FA00 */ lui $v0, 0xfa00
/* 343CC4 E0032644 0080302D */ daddu $a2, $a0, $zero
/* 343CC8 E0032648 24840008 */ addiu $a0, $a0, 8
/* 343CCC E003264C AE440000 */ sw $a0, ($s2)
/* 343CD0 E0032650 ACC20000 */ sw $v0, ($a2)
/* 343CD4 E0032654 9225003B */ lbu $a1, 0x3b($s1)
/* 343CD8 E0032658 96830000 */ lhu $v1, ($s4)
/* 343CDC E003265C 24820008 */ addiu $v0, $a0, 8
/* 343CE0 E0032660 AE420000 */ sw $v0, ($s2)
/* 343CE4 E0032664 24620001 */ addiu $v0, $v1, 1
/* 343CE8 E0032668 A6820000 */ sh $v0, ($s4)
/* 343CEC E003266C 24820010 */ addiu $v0, $a0, 0x10
/* 343CF0 E0032670 AE420000 */ sw $v0, ($s2)
/* 343CF4 E0032674 24820018 */ addiu $v0, $a0, 0x18
/* 343CF8 E0032678 AE420000 */ sw $v0, ($s2)
/* 343CFC E003267C 2402F000 */ addiu $v0, $zero, -0x1000
/* 343D00 E0032680 00A22825 */ or $a1, $a1, $v0
/* 343D04 E0032684 3C02DA38 */ lui $v0, 0xda38
/* 343D08 E0032688 3063FFFF */ andi $v1, $v1, 0xffff
/* 343D0C E003268C 00031980 */ sll $v1, $v1, 6
/* 343D10 E0032690 ACC50004 */ sw $a1, 4($a2)
/* 343D14 E0032694 AC820000 */ sw $v0, ($a0)
/* 343D18 E0032698 8EE20000 */ lw $v0, ($s7)
/* 343D1C E003269C 00761821 */ addu $v1, $v1, $s6
/* 343D20 E00326A0 AC900008 */ sw $s0, 8($a0)
/* 343D24 E00326A4 AC870010 */ sw $a3, 0x10($a0)
/* 343D28 E00326A8 00431021 */ addu $v0, $v0, $v1
/* 343D2C E00326AC AC820004 */ sw $v0, 4($a0)
/* 343D30 E00326B0 3C020900 */ lui $v0, 0x900
/* 343D34 E00326B4 244208F0 */ addiu $v0, $v0, 0x8f0
/* 343D38 E00326B8 AC82000C */ sw $v0, 0xc($a0)
/* 343D3C E00326BC 24020040 */ addiu $v0, $zero, 0x40
/* 343D40 E00326C0 AC820014 */ sw $v0, 0x14($a0)
.LE00326C4:
/* 343D44 E00326C4 2631003C */ addiu $s1, $s1, 0x3c
/* 343D48 E00326C8 27A40018 */ addiu $a0, $sp, 0x18
/* 343D4C E00326CC 8E430000 */ lw $v1, ($s2)
/* 343D50 E00326D0 3C02DE00 */ lui $v0, 0xde00
/* 343D54 E00326D4 0060282D */ daddu $a1, $v1, $zero
/* 343D58 E00326D8 ACA20000 */ sw $v0, ($a1)
/* 343D5C E00326DC 3C020900 */ lui $v0, 0x900
/* 343D60 E00326E0 24420910 */ addiu $v0, $v0, 0x910
/* 343D64 E00326E4 ACA20004 */ sw $v0, 4($a1)
/* 343D68 E00326E8 8E250020 */ lw $a1, 0x20($s1)
/* 343D6C E00326EC 24630008 */ addiu $v1, $v1, 8
/* 343D70 E00326F0 AE430000 */ sw $v1, ($s2)
/* 343D74 E00326F4 00A0302D */ daddu $a2, $a1, $zero
/* 343D78 E00326F8 0C080110 */ jal shim_guScaleF
/* 343D7C E00326FC 00A0382D */ daddu $a3, $a1, $zero
/* 343D80 E0032700 4406B000 */ mfc1 $a2, $f22
/* 343D84 E0032704 02A0202D */ daddu $a0, $s5, $zero
/* 343D88 E0032708 E7B40010 */ swc1 $f20, 0x10($sp)
/* 343D8C E003270C 8E250028 */ lw $a1, 0x28($s1)
/* 343D90 E0032710 0C080104 */ jal shim_guRotateF
/* 343D94 E0032714 00C0382D */ daddu $a3, $a2, $zero
/* 343D98 E0032718 02A0202D */ daddu $a0, $s5, $zero
/* 343D9C E003271C 27A50018 */ addiu $a1, $sp, 0x18
/* 343DA0 E0032720 0C080114 */ jal shim_guMtxCatF
/* 343DA4 E0032724 00A0302D */ daddu $a2, $a1, $zero
/* 343DA8 E0032728 27A40018 */ addiu $a0, $sp, 0x18
/* 343DAC E003272C 96850000 */ lhu $a1, ($s4)
/* 343DB0 E0032730 8EE20000 */ lw $v0, ($s7)
/* 343DB4 E0032734 00052980 */ sll $a1, $a1, 6
/* 343DB8 E0032738 00B62821 */ addu $a1, $a1, $s6
/* 343DBC E003273C 0C080118 */ jal shim_guMtxF2L
/* 343DC0 E0032740 00452821 */ addu $a1, $v0, $a1
/* 343DC4 E0032744 24020001 */ addiu $v0, $zero, 1
/* 343DC8 E0032748 12620006 */ beq $s3, $v0, .LE0032764
/* 343DCC E003274C 24020002 */ addiu $v0, $zero, 2
/* 343DD0 E0032750 12620005 */ beq $s3, $v0, .LE0032768
/* 343DD4 E0032754 240400FF */ addiu $a0, $zero, 0xff
/* 343DD8 E0032758 8E240038 */ lw $a0, 0x38($s1)
/* 343DDC E003275C 0800C9DB */ j .LE003276C
/* 343DE0 E0032760 2A620003 */ slti $v0, $s3, 3
.LE0032764:
/* 343DE4 E0032764 240400C0 */ addiu $a0, $zero, 0xc0
.LE0032768:
/* 343DE8 E0032768 2A620003 */ slti $v0, $s3, 3
.LE003276C:
/* 343DEC E003276C 14400005 */ bnez $v0, .LE0032784
/* 343DF0 E0032770 240300FF */ addiu $v1, $zero, 0xff
/* 343DF4 E0032774 2A620008 */ slti $v0, $s3, 8
/* 343DF8 E0032778 10400002 */ beqz $v0, .LE0032784
/* 343DFC E003277C 00131100 */ sll $v0, $s3, 4
/* 343E00 E0032780 24430080 */ addiu $v1, $v0, 0x80
.LE0032784:
/* 343E04 E0032784 3C080001 */ lui $t0, 1
/* 343E08 E0032788 35081630 */ ori $t0, $t0, 0x1630
/* 343E0C E003278C 3C0A5555 */ lui $t2, 0x5555
/* 343E10 E0032790 354A5556 */ ori $t2, $t2, 0x5556
/* 343E14 E0032794 3C09D838 */ lui $t1, 0xd838
/* 343E18 E0032798 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 343E1C E003279C 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 343E20 E00327A0 35290002 */ ori $t1, $t1, 2
/* 343E24 E00327A4 3C02FA00 */ lui $v0, 0xfa00
/* 343E28 E00327A8 306300FF */ andi $v1, $v1, 0xff
/* 343E2C E00327AC 00031A00 */ sll $v1, $v1, 8
/* 343E30 E00327B0 8CC50000 */ lw $a1, ($a2)
/* 343E34 E00327B4 026A0018 */ mult $s3, $t2
/* 343E38 E00327B8 00A0382D */ daddu $a3, $a1, $zero
/* 343E3C E00327BC 24A50008 */ addiu $a1, $a1, 8
/* 343E40 E00327C0 ACC50000 */ sw $a1, ($a2)
/* 343E44 E00327C4 ACE20000 */ sw $v0, ($a3)
/* 343E48 E00327C8 308200FF */ andi $v0, $a0, 0xff
/* 343E4C E00327CC 3C04FFFF */ lui $a0, 0xffff
/* 343E50 E00327D0 00441025 */ or $v0, $v0, $a0
/* 343E54 E00327D4 00621825 */ or $v1, $v1, $v0
/* 343E58 E00327D8 24A20008 */ addiu $v0, $a1, 8
/* 343E5C E00327DC 3C048007 */ lui $a0, %hi(gMatrixListPos)
/* 343E60 E00327E0 248441F0 */ addiu $a0, $a0, %lo(gMatrixListPos)
/* 343E64 E00327E4 ACE30004 */ sw $v1, 4($a3)
/* 343E68 E00327E8 ACC20000 */ sw $v0, ($a2)
/* 343E6C E00327EC 94820000 */ lhu $v0, ($a0)
/* 343E70 E00327F0 3C03DA38 */ lui $v1, 0xda38
/* 343E74 E00327F4 ACA30000 */ sw $v1, ($a1)
/* 343E78 E00327F8 24430001 */ addiu $v1, $v0, 1
/* 343E7C E00327FC 3042FFFF */ andi $v0, $v0, 0xffff
/* 343E80 E0032800 00021180 */ sll $v0, $v0, 6
/* 343E84 E0032804 A4830000 */ sh $v1, ($a0)
/* 343E88 E0032808 3C03800A */ lui $v1, %hi(gDisplayContext)
/* 343E8C E003280C 8C63A674 */ lw $v1, %lo(gDisplayContext)($v1)
/* 343E90 E0032810 00481021 */ addu $v0, $v0, $t0
/* 343E94 E0032814 00621821 */ addu $v1, $v1, $v0
/* 343E98 E0032818 24A20010 */ addiu $v0, $a1, 0x10
/* 343E9C E003281C ACA30004 */ sw $v1, 4($a1)
/* 343EA0 E0032820 ACC20000 */ sw $v0, ($a2)
/* 343EA4 E0032824 3C02DE00 */ lui $v0, 0xde00
/* 343EA8 E0032828 ACA20008 */ sw $v0, 8($a1)
/* 343EAC E003282C 24A20018 */ addiu $v0, $a1, 0x18
/* 343EB0 E0032830 00131FC3 */ sra $v1, $s3, 0x1f
/* 343EB4 E0032834 ACC20000 */ sw $v0, ($a2)
/* 343EB8 E0032838 00005810 */ mfhi $t3
/* 343EBC E003283C 01631823 */ subu $v1, $t3, $v1
/* 343EC0 E0032840 00031040 */ sll $v0, $v1, 1
/* 343EC4 E0032844 00431021 */ addu $v0, $v0, $v1
/* 343EC8 E0032848 02621023 */ subu $v0, $s3, $v0
/* 343ECC E003284C 00021080 */ sll $v0, $v0, 2
/* 343ED0 E0032850 3C03E003 */ lui $v1, %hi(D_E00328B0)
/* 343ED4 E0032854 00621821 */ addu $v1, $v1, $v0
/* 343ED8 E0032858 8C6328B0 */ lw $v1, %lo(D_E00328B0)($v1)
/* 343EDC E003285C 24A20020 */ addiu $v0, $a1, 0x20
/* 343EE0 E0032860 ACC20000 */ sw $v0, ($a2)
/* 343EE4 E0032864 24020040 */ addiu $v0, $zero, 0x40
/* 343EE8 E0032868 ACA90010 */ sw $t1, 0x10($a1)
/* 343EEC E003286C ACA20014 */ sw $v0, 0x14($a1)
/* 343EF0 E0032870 ACA90018 */ sw $t1, 0x18($a1)
/* 343EF4 E0032874 ACA2001C */ sw $v0, 0x1c($a1)
/* 343EF8 E0032878 ACA3000C */ sw $v1, 0xc($a1)
/* 343EFC E003287C 8FBF00B8 */ lw $ra, 0xb8($sp)
/* 343F00 E0032880 8FB700B4 */ lw $s7, 0xb4($sp)
/* 343F04 E0032884 8FB600B0 */ lw $s6, 0xb0($sp)
/* 343F08 E0032888 8FB500AC */ lw $s5, 0xac($sp)
/* 343F0C E003288C 8FB400A8 */ lw $s4, 0xa8($sp)
/* 343F10 E0032890 8FB300A4 */ lw $s3, 0xa4($sp)
/* 343F14 E0032894 8FB200A0 */ lw $s2, 0xa0($sp)
/* 343F18 E0032898 8FB1009C */ lw $s1, 0x9c($sp)
/* 343F1C E003289C 8FB00098 */ lw $s0, 0x98($sp)
/* 343F20 E00328A0 D7B600C8 */ ldc1 $f22, 0xc8($sp)
/* 343F24 E00328A4 D7B400C0 */ ldc1 $f20, 0xc0($sp)
/* 343F28 E00328A8 03E00008 */ jr $ra
/* 343F2C E00328AC 27BD00D0 */ addiu $sp, $sp, 0xd0

View File

@ -1,450 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fire_flower_appendGfx
/* 37FC6C E007E54C 27BDFF18 */ addiu $sp, $sp, -0xe8
/* 37FC70 E007E550 3C06DB06 */ lui $a2, 0xdb06
/* 37FC74 E007E554 34C60024 */ ori $a2, $a2, 0x24
/* 37FC78 E007E558 AFA400E8 */ sw $a0, 0xe8($sp)
/* 37FC7C E007E55C 27A40018 */ addiu $a0, $sp, 0x18
/* 37FC80 E007E560 AFB600B8 */ sw $s6, 0xb8($sp)
/* 37FC84 E007E564 3C16800A */ lui $s6, %hi(gMasterGfxPos)
/* 37FC88 E007E568 26D6A66C */ addiu $s6, $s6, %lo(gMasterGfxPos)
/* 37FC8C E007E56C AFBF00C4 */ sw $ra, 0xc4($sp)
/* 37FC90 E007E570 AFBE00C0 */ sw $fp, 0xc0($sp)
/* 37FC94 E007E574 AFB700BC */ sw $s7, 0xbc($sp)
/* 37FC98 E007E578 AFB500B4 */ sw $s5, 0xb4($sp)
/* 37FC9C E007E57C AFB400B0 */ sw $s4, 0xb0($sp)
/* 37FCA0 E007E580 AFB300AC */ sw $s3, 0xac($sp)
/* 37FCA4 E007E584 AFB200A8 */ sw $s2, 0xa8($sp)
/* 37FCA8 E007E588 AFB100A4 */ sw $s1, 0xa4($sp)
/* 37FCAC E007E58C AFB000A0 */ sw $s0, 0xa0($sp)
/* 37FCB0 E007E590 F7BA00E0 */ sdc1 $f26, 0xe0($sp)
/* 37FCB4 E007E594 F7B800D8 */ sdc1 $f24, 0xd8($sp)
/* 37FCB8 E007E598 F7B600D0 */ sdc1 $f22, 0xd0($sp)
/* 37FCBC E007E59C F7B400C8 */ sdc1 $f20, 0xc8($sp)
/* 37FCC0 E007E5A0 8EC50000 */ lw $a1, ($s6)
/* 37FCC4 E007E5A4 8FB900E8 */ lw $t9, 0xe8($sp)
/* 37FCC8 E007E5A8 00A0182D */ daddu $v1, $a1, $zero
/* 37FCCC E007E5AC 8F31000C */ lw $s1, 0xc($t9)
/* 37FCD0 E007E5B0 24A50008 */ addiu $a1, $a1, 8
/* 37FCD4 E007E5B4 AEC50000 */ sw $a1, ($s6)
/* 37FCD8 E007E5B8 8E390034 */ lw $t9, 0x34($s1)
/* 37FCDC E007E5BC 3C140001 */ lui $s4, 1
/* 37FCE0 E007E5C0 AFB90098 */ sw $t9, 0x98($sp)
/* 37FCE4 E007E5C4 C6380030 */ lwc1 $f24, 0x30($s1)
/* 37FCE8 E007E5C8 8E300004 */ lw $s0, 4($s1)
/* 37FCEC E007E5CC C63A0028 */ lwc1 $f26, 0x28($s1)
/* 37FCF0 E007E5D0 C636002C */ lwc1 $f22, 0x2c($s1)
/* 37FCF4 E007E5D4 3C02E700 */ lui $v0, 0xe700
/* 37FCF8 E007E5D8 AC620000 */ sw $v0, ($v1)
/* 37FCFC E007E5DC AC600004 */ sw $zero, 4($v1)
/* 37FD00 E007E5E0 ACA60000 */ sw $a2, ($a1)
/* 37FD04 E007E5E4 8FB900E8 */ lw $t9, 0xe8($sp)
/* 37FD08 E007E5E8 8F230010 */ lw $v1, 0x10($t9)
/* 37FD0C E007E5EC 24A20008 */ addiu $v0, $a1, 8
/* 37FD10 E007E5F0 AEC20000 */ sw $v0, ($s6)
/* 37FD14 E007E5F4 8C62001C */ lw $v0, 0x1c($v1)
/* 37FD18 E007E5F8 3C038000 */ lui $v1, 0x8000
/* 37FD1C E007E5FC 00431021 */ addu $v0, $v0, $v1
/* 37FD20 E007E600 ACA20004 */ sw $v0, 4($a1)
/* 37FD24 E007E604 8E250008 */ lw $a1, 8($s1)
/* 37FD28 E007E608 8E26000C */ lw $a2, 0xc($s1)
/* 37FD2C E007E60C 8E270010 */ lw $a3, 0x10($s1)
/* 37FD30 E007E610 4480A000 */ mtc1 $zero, $f20
/* 37FD34 E007E614 0C080108 */ jal shim_guTranslateF
/* 37FD38 E007E618 36941630 */ ori $s4, $s4, 0x1630
/* 37FD3C E007E61C 27B50058 */ addiu $s5, $sp, 0x58
/* 37FD40 E007E620 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 37FD44 E007E624 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 37FD48 E007E628 4406A000 */ mfc1 $a2, $f20
/* 37FD4C E007E62C 00031080 */ sll $v0, $v1, 2
/* 37FD50 E007E630 00431021 */ addu $v0, $v0, $v1
/* 37FD54 E007E634 00021080 */ sll $v0, $v0, 2
/* 37FD58 E007E638 00431023 */ subu $v0, $v0, $v1
/* 37FD5C E007E63C 000218C0 */ sll $v1, $v0, 3
/* 37FD60 E007E640 00431021 */ addu $v0, $v0, $v1
/* 37FD64 E007E644 000210C0 */ sll $v0, $v0, 3
/* 37FD68 E007E648 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 37FD6C E007E64C 00220821 */ addu $at, $at, $v0
/* 37FD70 E007E650 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 37FD74 E007E654 3C073F80 */ lui $a3, 0x3f80
/* 37FD78 E007E658 46000007 */ neg.s $f0, $f0
/* 37FD7C E007E65C 44050000 */ mfc1 $a1, $f0
/* 37FD80 E007E660 02A0202D */ daddu $a0, $s5, $zero
/* 37FD84 E007E664 0C080104 */ jal shim_guRotateF
/* 37FD88 E007E668 E7B40010 */ swc1 $f20, 0x10($sp)
/* 37FD8C E007E66C 02A0202D */ daddu $a0, $s5, $zero
/* 37FD90 E007E670 27A50018 */ addiu $a1, $sp, 0x18
/* 37FD94 E007E674 0C080114 */ jal shim_guMtxCatF
/* 37FD98 E007E678 00A0302D */ daddu $a2, $a1, $zero
/* 37FD9C E007E67C 27A40018 */ addiu $a0, $sp, 0x18
/* 37FDA0 E007E680 3C138007 */ lui $s3, %hi(gMatrixListPos)
/* 37FDA4 E007E684 267341F0 */ addiu $s3, $s3, %lo(gMatrixListPos)
/* 37FDA8 E007E688 3C17800A */ lui $s7, %hi(gDisplayContext)
/* 37FDAC E007E68C 26F7A674 */ addiu $s7, $s7, %lo(gDisplayContext)
/* 37FDB0 E007E690 96650000 */ lhu $a1, ($s3)
/* 37FDB4 E007E694 8EE20000 */ lw $v0, ($s7)
/* 37FDB8 E007E698 00052980 */ sll $a1, $a1, 6
/* 37FDBC E007E69C 00B42821 */ addu $a1, $a1, $s4
/* 37FDC0 E007E6A0 0C080118 */ jal shim_guMtxF2L
/* 37FDC4 E007E6A4 00452821 */ addu $a1, $v0, $a1
/* 37FDC8 E007E6A8 3C03DA38 */ lui $v1, 0xda38
/* 37FDCC E007E6AC 34630002 */ ori $v1, $v1, 2
/* 37FDD0 E007E6B0 2610FFFC */ addiu $s0, $s0, -4
/* 37FDD4 E007E6B4 8EC40000 */ lw $a0, ($s6)
/* 37FDD8 E007E6B8 96620000 */ lhu $v0, ($s3)
/* 37FDDC E007E6BC 0080282D */ daddu $a1, $a0, $zero
/* 37FDE0 E007E6C0 24840008 */ addiu $a0, $a0, 8
/* 37FDE4 E007E6C4 AEC40000 */ sw $a0, ($s6)
/* 37FDE8 E007E6C8 ACA30000 */ sw $v1, ($a1)
/* 37FDEC E007E6CC 24430001 */ addiu $v1, $v0, 1
/* 37FDF0 E007E6D0 3042FFFF */ andi $v0, $v0, 0xffff
/* 37FDF4 E007E6D4 00021180 */ sll $v0, $v0, 6
/* 37FDF8 E007E6D8 A6630000 */ sh $v1, ($s3)
/* 37FDFC E007E6DC 8EE30000 */ lw $v1, ($s7)
/* 37FE00 E007E6E0 00541021 */ addu $v0, $v0, $s4
/* 37FE04 E007E6E4 00621821 */ addu $v1, $v1, $v0
/* 37FE08 E007E6E8 24820008 */ addiu $v0, $a0, 8
/* 37FE0C E007E6EC ACA30004 */ sw $v1, 4($a1)
/* 37FE10 E007E6F0 AEC20000 */ sw $v0, ($s6)
/* 37FE14 E007E6F4 3C02FA00 */ lui $v0, 0xfa00
/* 37FE18 E007E6F8 AC820000 */ sw $v0, ($a0)
/* 37FE1C E007E6FC 9223003F */ lbu $v1, 0x3f($s1)
/* 37FE20 E007E700 24820010 */ addiu $v0, $a0, 0x10
/* 37FE24 E007E704 AEC20000 */ sw $v0, ($s6)
/* 37FE28 E007E708 3C02FB00 */ lui $v0, 0xfb00
/* 37FE2C E007E70C 3C05FF00 */ lui $a1, 0xff00
/* 37FE30 E007E710 AC820008 */ sw $v0, 8($a0)
/* 37FE34 E007E714 00651825 */ or $v1, $v1, $a1
/* 37FE38 E007E718 AC830004 */ sw $v1, 4($a0)
/* 37FE3C E007E71C 9222003B */ lbu $v0, 0x3b($s1)
/* 37FE40 E007E720 2E100003 */ sltiu $s0, $s0, 3
/* 37FE44 E007E724 00451025 */ or $v0, $v0, $a1
/* 37FE48 E007E728 1200007F */ beqz $s0, .LE007E928
/* 37FE4C E007E72C AC82000C */ sw $v0, 0xc($a0)
/* 37FE50 E007E730 4405A000 */ mfc1 $a1, $f20
/* 37FE54 E007E734 3C064180 */ lui $a2, 0x4180
/* 37FE58 E007E738 4407A000 */ mfc1 $a3, $f20
/* 37FE5C E007E73C 0C080108 */ jal shim_guTranslateF
/* 37FE60 E007E740 27A40018 */ addiu $a0, $sp, 0x18
/* 37FE64 E007E744 27A40018 */ addiu $a0, $sp, 0x18
/* 37FE68 E007E748 96650000 */ lhu $a1, ($s3)
/* 37FE6C E007E74C 8EE20000 */ lw $v0, ($s7)
/* 37FE70 E007E750 00052980 */ sll $a1, $a1, 6
/* 37FE74 E007E754 00B42821 */ addu $a1, $a1, $s4
/* 37FE78 E007E758 0C080118 */ jal shim_guMtxF2L
/* 37FE7C E007E75C 00452821 */ addu $a1, $v0, $a1
/* 37FE80 E007E760 8EC40000 */ lw $a0, ($s6)
/* 37FE84 E007E764 24120001 */ addiu $s2, $zero, 1
/* 37FE88 E007E768 0080282D */ daddu $a1, $a0, $zero
/* 37FE8C E007E76C 24840008 */ addiu $a0, $a0, 8
/* 37FE90 E007E770 AEC40000 */ sw $a0, ($s6)
/* 37FE94 E007E774 96620000 */ lhu $v0, ($s3)
/* 37FE98 E007E778 3C03DA38 */ lui $v1, 0xda38
/* 37FE9C E007E77C ACA30000 */ sw $v1, ($a1)
/* 37FEA0 E007E780 00521821 */ addu $v1, $v0, $s2
/* 37FEA4 E007E784 3042FFFF */ andi $v0, $v0, 0xffff
/* 37FEA8 E007E788 00021180 */ sll $v0, $v0, 6
/* 37FEAC E007E78C A6630000 */ sh $v1, ($s3)
/* 37FEB0 E007E790 8EE30000 */ lw $v1, ($s7)
/* 37FEB4 E007E794 00541021 */ addu $v0, $v0, $s4
/* 37FEB8 E007E798 00621821 */ addu $v1, $v1, $v0
/* 37FEBC E007E79C 3C02DE00 */ lui $v0, 0xde00
/* 37FEC0 E007E7A0 ACA30004 */ sw $v1, 4($a1)
/* 37FEC4 E007E7A4 AC820000 */ sw $v0, ($a0)
/* 37FEC8 E007E7A8 3C020900 */ lui $v0, 0x900
/* 37FECC E007E7AC 24420DE0 */ addiu $v0, $v0, 0xde0
/* 37FED0 E007E7B0 AC820004 */ sw $v0, 4($a0)
/* 37FED4 E007E7B4 8FB900E8 */ lw $t9, 0xe8($sp)
/* 37FED8 E007E7B8 2631004C */ addiu $s1, $s1, 0x4c
/* 37FEDC E007E7BC 8F220008 */ lw $v0, 8($t9)
/* 37FEE0 E007E7C0 24840008 */ addiu $a0, $a0, 8
/* 37FEE4 E007E7C4 0242102A */ slt $v0, $s2, $v0
/* 37FEE8 E007E7C8 1040004C */ beqz $v0, .LE007E8FC
/* 37FEEC E007E7CC AEC40000 */ sw $a0, ($s6)
/* 37FEF0 E007E7D0 02E0F02D */ daddu $fp, $s7, $zero
/* 37FEF4 E007E7D4 0260B82D */ daddu $s7, $s3, $zero
/* 37FEF8 E007E7D8 3C140001 */ lui $s4, 1
/* 37FEFC E007E7DC 36941630 */ ori $s4, $s4, 0x1630
/* 37FF00 E007E7E0 02C0982D */ daddu $s3, $s6, $zero
/* 37FF04 E007E7E4 26300010 */ addiu $s0, $s1, 0x10
.LE007E7E8:
/* 37FF08 E007E7E8 8E020038 */ lw $v0, 0x38($s0)
/* 37FF0C E007E7EC 5440003D */ bnel $v0, $zero, .LE007E8E4
/* 37FF10 E007E7F0 26520001 */ addiu $s2, $s2, 1
/* 37FF14 E007E7F4 3C013F80 */ lui $at, 0x3f80
/* 37FF18 E007E7F8 44810000 */ mtc1 $at, $f0
/* 37FF1C E007E7FC 4406A000 */ mfc1 $a2, $f20
/* 37FF20 E007E800 4407A000 */ mfc1 $a3, $f20
/* 37FF24 E007E804 E7A00010 */ swc1 $f0, 0x10($sp)
/* 37FF28 E007E808 8E050014 */ lw $a1, 0x14($s0)
/* 37FF2C E007E80C 0C080104 */ jal shim_guRotateF
/* 37FF30 E007E810 27A40018 */ addiu $a0, $sp, 0x18
/* 37FF34 E007E814 8E05FFF8 */ lw $a1, -8($s0)
/* 37FF38 E007E818 8E06FFFC */ lw $a2, -4($s0)
/* 37FF3C E007E81C 8E070000 */ lw $a3, ($s0)
/* 37FF40 E007E820 0C080108 */ jal shim_guTranslateF
/* 37FF44 E007E824 02A0202D */ daddu $a0, $s5, $zero
/* 37FF48 E007E828 02A0202D */ daddu $a0, $s5, $zero
/* 37FF4C E007E82C 27A50018 */ addiu $a1, $sp, 0x18
/* 37FF50 E007E830 0C080114 */ jal shim_guMtxCatF
/* 37FF54 E007E834 00A0302D */ daddu $a2, $a1, $zero
/* 37FF58 E007E838 27A40018 */ addiu $a0, $sp, 0x18
/* 37FF5C E007E83C 96E50000 */ lhu $a1, ($s7)
/* 37FF60 E007E840 8FC20000 */ lw $v0, ($fp)
/* 37FF64 E007E844 00052980 */ sll $a1, $a1, 6
/* 37FF68 E007E848 00B42821 */ addu $a1, $a1, $s4
/* 37FF6C E007E84C 0C080118 */ jal shim_guMtxF2L
/* 37FF70 E007E850 00452821 */ addu $a1, $v0, $a1
/* 37FF74 E007E854 8E650000 */ lw $a1, ($s3)
/* 37FF78 E007E858 3C060900 */ lui $a2, 0x900
/* 37FF7C E007E85C 24C60EB8 */ addiu $a2, $a2, 0xeb8
/* 37FF80 E007E860 00A0202D */ daddu $a0, $a1, $zero
/* 37FF84 E007E864 24A50008 */ addiu $a1, $a1, 8
/* 37FF88 E007E868 AE650000 */ sw $a1, ($s3)
/* 37FF8C E007E86C 96E20000 */ lhu $v0, ($s7)
/* 37FF90 E007E870 3C03DA38 */ lui $v1, 0xda38
/* 37FF94 E007E874 AC830000 */ sw $v1, ($a0)
/* 37FF98 E007E878 24430001 */ addiu $v1, $v0, 1
/* 37FF9C E007E87C 3042FFFF */ andi $v0, $v0, 0xffff
/* 37FFA0 E007E880 00021180 */ sll $v0, $v0, 6
/* 37FFA4 E007E884 A6E30000 */ sh $v1, ($s7)
/* 37FFA8 E007E888 8FC30000 */ lw $v1, ($fp)
/* 37FFAC E007E88C 00541021 */ addu $v0, $v0, $s4
/* 37FFB0 E007E890 00621821 */ addu $v1, $v1, $v0
/* 37FFB4 E007E894 3C02DE00 */ lui $v0, 0xde00
/* 37FFB8 E007E898 AC830004 */ sw $v1, 4($a0)
/* 37FFBC E007E89C ACA20000 */ sw $v0, ($a1)
/* 37FFC0 E007E8A0 8E230000 */ lw $v1, ($s1)
/* 37FFC4 E007E8A4 24A20008 */ addiu $v0, $a1, 8
/* 37FFC8 E007E8A8 10600003 */ beqz $v1, .LE007E8B8
/* 37FFCC E007E8AC AE620000 */ sw $v0, ($s3)
/* 37FFD0 E007E8B0 3C060900 */ lui $a2, 0x900
/* 37FFD4 E007E8B4 24C60ED8 */ addiu $a2, $a2, 0xed8
.LE007E8B8:
/* 37FFD8 E007E8B8 3C04D838 */ lui $a0, 0xd838
/* 37FFDC E007E8BC 8E620000 */ lw $v0, ($s3)
/* 37FFE0 E007E8C0 34840002 */ ori $a0, $a0, 2
/* 37FFE4 E007E8C4 ACA60004 */ sw $a2, 4($a1)
/* 37FFE8 E007E8C8 0040182D */ daddu $v1, $v0, $zero
/* 37FFEC E007E8CC 24420008 */ addiu $v0, $v0, 8
/* 37FFF0 E007E8D0 AE620000 */ sw $v0, ($s3)
/* 37FFF4 E007E8D4 24020040 */ addiu $v0, $zero, 0x40
/* 37FFF8 E007E8D8 AC640000 */ sw $a0, ($v1)
/* 37FFFC E007E8DC AC620004 */ sw $v0, 4($v1)
/* 380000 E007E8E0 26520001 */ addiu $s2, $s2, 1
.LE007E8E4:
/* 380004 E007E8E4 8FB900E8 */ lw $t9, 0xe8($sp)
/* 380008 E007E8E8 2610004C */ addiu $s0, $s0, 0x4c
/* 38000C E007E8EC 8F220008 */ lw $v0, 8($t9)
/* 380010 E007E8F0 0242102A */ slt $v0, $s2, $v0
/* 380014 E007E8F4 1440FFBC */ bnez $v0, .LE007E7E8
/* 380018 E007E8F8 2631004C */ addiu $s1, $s1, 0x4c
.LE007E8FC:
/* 38001C E007E8FC 3C05D838 */ lui $a1, 0xd838
/* 380020 E007E900 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 380024 E007E904 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 380028 E007E908 8C620000 */ lw $v0, ($v1)
/* 38002C E007E90C 34A50002 */ ori $a1, $a1, 2
/* 380030 E007E910 0040202D */ daddu $a0, $v0, $zero
/* 380034 E007E914 24420008 */ addiu $v0, $v0, 8
/* 380038 E007E918 AC620000 */ sw $v0, ($v1)
/* 38003C E007E91C 24020040 */ addiu $v0, $zero, 0x40
/* 380040 E007E920 AC850000 */ sw $a1, ($a0)
/* 380044 E007E924 AC820004 */ sw $v0, 4($a0)
.LE007E928:
/* 380048 E007E928 3C0DFD48 */ lui $t5, 0xfd48
/* 38004C E007E92C 35AD000F */ ori $t5, $t5, 0xf
/* 380050 E007E930 3C09F548 */ lui $t1, 0xf548
/* 380054 E007E934 35290400 */ ori $t1, $t1, 0x400
/* 380058 E007E938 3C0E0705 */ lui $t6, 0x705
/* 38005C E007E93C 35CE4150 */ ori $t6, $t6, 0x4150
/* 380060 E007E940 3C0F0703 */ lui $t7, 0x703
/* 380064 E007E944 35EFE07C */ ori $t7, $t7, 0xe07c
/* 380068 E007E948 3C12F540 */ lui $s2, 0xf540
/* 38006C E007E94C 36520400 */ ori $s2, $s2, 0x400
/* 380070 E007E950 3C100005 */ lui $s0, 5
/* 380074 E007E954 36104150 */ ori $s0, $s0, 0x4150
/* 380078 E007E958 3C130007 */ lui $s3, 7
/* 38007C E007E95C 3673C07C */ ori $s3, $s3, 0xc07c
/* 380080 E007E960 3C14F548 */ lui $s4, 0xf548
/* 380084 E007E964 36940480 */ ori $s4, $s4, 0x480
/* 380088 E007E968 3C17F540 */ lui $s7, 0xf540
/* 38008C E007E96C 36F70480 */ ori $s7, $s7, 0x480
/* 380090 E007E970 3C160105 */ lui $s6, 0x105
/* 380094 E007E974 36D64150 */ ori $s6, $s6, 0x4150
/* 380098 E007E978 3C180107 */ lui $t8, 0x107
/* 38009C E007E97C 3718C07C */ ori $t8, $t8, 0xc07c
/* 3800A0 E007E980 27A40018 */ addiu $a0, $sp, 0x18
/* 3800A4 E007E984 3C1E0001 */ lui $fp, 1
/* 3800A8 E007E988 37DE1630 */ ori $fp, $fp, 0x1630
/* 3800AC E007E98C 3C11800A */ lui $s1, %hi(gMasterGfxPos)
/* 3800B0 E007E990 2631A66C */ addiu $s1, $s1, %lo(gMasterGfxPos)
/* 3800B4 E007E994 3C15DE00 */ lui $s5, 0xde00
/* 3800B8 E007E998 3C020900 */ lui $v0, 0x900
/* 3800BC E007E99C 24420D40 */ addiu $v0, $v0, 0xd40
/* 3800C0 E007E9A0 3C0C0900 */ lui $t4, 0x900
/* 3800C4 E007E9A4 258C0000 */ addiu $t4, $t4, 0
/* 3800C8 E007E9A8 3C0BE600 */ lui $t3, 0xe600
/* 3800CC E007E9AC 3C0AF400 */ lui $t2, 0xf400
/* 3800D0 E007E9B0 8E230000 */ lw $v1, ($s1)
/* 3800D4 E007E9B4 4480A000 */ mtc1 $zero, $f20
/* 3800D8 E007E9B8 4405B000 */ mfc1 $a1, $f22
/* 3800DC E007E9BC 0060402D */ daddu $t0, $v1, $zero
/* 3800E0 E007E9C0 24630008 */ addiu $v1, $v1, 8
/* 3800E4 E007E9C4 AE230000 */ sw $v1, ($s1)
/* 3800E8 E007E9C8 AD020004 */ sw $v0, 4($t0)
/* 3800EC E007E9CC 24620008 */ addiu $v0, $v1, 8
/* 3800F0 E007E9D0 AD150000 */ sw $s5, ($t0)
/* 3800F4 E007E9D4 AE220000 */ sw $v0, ($s1)
/* 3800F8 E007E9D8 24020003 */ addiu $v0, $zero, 3
/* 3800FC E007E9DC 4406A000 */ mfc1 $a2, $f20
/* 380100 E007E9E0 3C08F200 */ lui $t0, 0xf200
/* 380104 E007E9E4 AC6D0000 */ sw $t5, ($v1)
/* 380108 E007E9E8 8FB90098 */ lw $t9, 0x98($sp)
/* 38010C E007E9EC 4407A000 */ mfc1 $a3, $f20
/* 380110 E007E9F0 00591023 */ subu $v0, $v0, $t9
/* 380114 E007E9F4 00021240 */ sll $v0, $v0, 9
/* 380118 E007E9F8 004C1021 */ addu $v0, $v0, $t4
/* 38011C E007E9FC AC620004 */ sw $v0, 4($v1)
/* 380120 E007EA00 24620010 */ addiu $v0, $v1, 0x10
/* 380124 E007EA04 AE220000 */ sw $v0, ($s1)
/* 380128 E007EA08 24620018 */ addiu $v0, $v1, 0x18
/* 38012C E007EA0C AC690008 */ sw $t1, 8($v1)
/* 380130 E007EA10 AC6E000C */ sw $t6, 0xc($v1)
/* 380134 E007EA14 AE220000 */ sw $v0, ($s1)
/* 380138 E007EA18 24620020 */ addiu $v0, $v1, 0x20
/* 38013C E007EA1C AC6B0010 */ sw $t3, 0x10($v1)
/* 380140 E007EA20 AC600014 */ sw $zero, 0x14($v1)
/* 380144 E007EA24 AE220000 */ sw $v0, ($s1)
/* 380148 E007EA28 24620028 */ addiu $v0, $v1, 0x28
/* 38014C E007EA2C 3C09E700 */ lui $t1, 0xe700
/* 380150 E007EA30 AC6A0018 */ sw $t2, 0x18($v1)
/* 380154 E007EA34 AC6F001C */ sw $t7, 0x1c($v1)
/* 380158 E007EA38 AE220000 */ sw $v0, ($s1)
/* 38015C E007EA3C 24620030 */ addiu $v0, $v1, 0x30
/* 380160 E007EA40 AC690020 */ sw $t1, 0x20($v1)
/* 380164 E007EA44 AC600024 */ sw $zero, 0x24($v1)
/* 380168 E007EA48 AE220000 */ sw $v0, ($s1)
/* 38016C E007EA4C 24620038 */ addiu $v0, $v1, 0x38
/* 380170 E007EA50 AC720028 */ sw $s2, 0x28($v1)
/* 380174 E007EA54 AC70002C */ sw $s0, 0x2c($v1)
/* 380178 E007EA58 AE220000 */ sw $v0, ($s1)
/* 38017C E007EA5C 24620040 */ addiu $v0, $v1, 0x40
/* 380180 E007EA60 AC680030 */ sw $t0, 0x30($v1)
/* 380184 E007EA64 AC730034 */ sw $s3, 0x34($v1)
/* 380188 E007EA68 AE220000 */ sw $v0, ($s1)
/* 38018C E007EA6C 24020002 */ addiu $v0, $zero, 2
/* 380190 E007EA70 AC6D0038 */ sw $t5, 0x38($v1)
/* 380194 E007EA74 00591023 */ subu $v0, $v0, $t9
/* 380198 E007EA78 00021240 */ sll $v0, $v0, 9
/* 38019C E007EA7C 004C1021 */ addu $v0, $v0, $t4
/* 3801A0 E007EA80 AC62003C */ sw $v0, 0x3c($v1)
/* 3801A4 E007EA84 24620048 */ addiu $v0, $v1, 0x48
/* 3801A8 E007EA88 AE220000 */ sw $v0, ($s1)
/* 3801AC E007EA8C 24620050 */ addiu $v0, $v1, 0x50
/* 3801B0 E007EA90 AC740040 */ sw $s4, 0x40($v1)
/* 3801B4 E007EA94 AC6E0044 */ sw $t6, 0x44($v1)
/* 3801B8 E007EA98 AE220000 */ sw $v0, ($s1)
/* 3801BC E007EA9C 24620058 */ addiu $v0, $v1, 0x58
/* 3801C0 E007EAA0 AC6B0048 */ sw $t3, 0x48($v1)
/* 3801C4 E007EAA4 AC60004C */ sw $zero, 0x4c($v1)
/* 3801C8 E007EAA8 AE220000 */ sw $v0, ($s1)
/* 3801CC E007EAAC 24620060 */ addiu $v0, $v1, 0x60
/* 3801D0 E007EAB0 AC6A0050 */ sw $t2, 0x50($v1)
/* 3801D4 E007EAB4 AC6F0054 */ sw $t7, 0x54($v1)
/* 3801D8 E007EAB8 AE220000 */ sw $v0, ($s1)
/* 3801DC E007EABC 24620068 */ addiu $v0, $v1, 0x68
/* 3801E0 E007EAC0 AC690058 */ sw $t1, 0x58($v1)
/* 3801E4 E007EAC4 AC60005C */ sw $zero, 0x5c($v1)
/* 3801E8 E007EAC8 AE220000 */ sw $v0, ($s1)
/* 3801EC E007EACC 24620070 */ addiu $v0, $v1, 0x70
/* 3801F0 E007EAD0 AC770060 */ sw $s7, 0x60($v1)
/* 3801F4 E007EAD4 AC760064 */ sw $s6, 0x64($v1)
/* 3801F8 E007EAD8 AE220000 */ sw $v0, ($s1)
/* 3801FC E007EADC AC680068 */ sw $t0, 0x68($v1)
/* 380200 E007EAE0 0C080108 */ jal shim_guTranslateF
/* 380204 E007EAE4 AC78006C */ sw $t8, 0x6c($v1)
/* 380208 E007EAE8 27B00058 */ addiu $s0, $sp, 0x58
/* 38020C E007EAEC 4405C000 */ mfc1 $a1, $f24
/* 380210 E007EAF0 0200202D */ daddu $a0, $s0, $zero
/* 380214 E007EAF4 00A0302D */ daddu $a2, $a1, $zero
/* 380218 E007EAF8 0C080110 */ jal shim_guScaleF
/* 38021C E007EAFC 00A0382D */ daddu $a3, $a1, $zero
/* 380220 E007EB00 0200202D */ daddu $a0, $s0, $zero
/* 380224 E007EB04 27A50018 */ addiu $a1, $sp, 0x18
/* 380228 E007EB08 0C080114 */ jal shim_guMtxCatF
/* 38022C E007EB0C 00A0302D */ daddu $a2, $a1, $zero
/* 380230 E007EB10 4405D000 */ mfc1 $a1, $f26
/* 380234 E007EB14 4406A000 */ mfc1 $a2, $f20
/* 380238 E007EB18 3C073F80 */ lui $a3, 0x3f80
/* 38023C E007EB1C 0200202D */ daddu $a0, $s0, $zero
/* 380240 E007EB20 0C080104 */ jal shim_guRotateF
/* 380244 E007EB24 AFA60010 */ sw $a2, 0x10($sp)
/* 380248 E007EB28 0200202D */ daddu $a0, $s0, $zero
/* 38024C E007EB2C 27A50018 */ addiu $a1, $sp, 0x18
/* 380250 E007EB30 0C080114 */ jal shim_guMtxCatF
/* 380254 E007EB34 00A0302D */ daddu $a2, $a1, $zero
/* 380258 E007EB38 27A40018 */ addiu $a0, $sp, 0x18
/* 38025C E007EB3C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 380260 E007EB40 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 380264 E007EB44 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 380268 E007EB48 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 38026C E007EB4C 96050000 */ lhu $a1, ($s0)
/* 380270 E007EB50 8E420000 */ lw $v0, ($s2)
/* 380274 E007EB54 00052980 */ sll $a1, $a1, 6
/* 380278 E007EB58 00BE2821 */ addu $a1, $a1, $fp
/* 38027C E007EB5C 0C080118 */ jal shim_guMtxF2L
/* 380280 E007EB60 00452821 */ addu $a1, $v0, $a1
/* 380284 E007EB64 3C06D838 */ lui $a2, 0xd838
/* 380288 E007EB68 8E240000 */ lw $a0, ($s1)
/* 38028C E007EB6C 34C60002 */ ori $a2, $a2, 2
/* 380290 E007EB70 0080282D */ daddu $a1, $a0, $zero
/* 380294 E007EB74 24840008 */ addiu $a0, $a0, 8
/* 380298 E007EB78 AE240000 */ sw $a0, ($s1)
/* 38029C E007EB7C 96020000 */ lhu $v0, ($s0)
/* 3802A0 E007EB80 3C03DA38 */ lui $v1, 0xda38
/* 3802A4 E007EB84 ACA30000 */ sw $v1, ($a1)
/* 3802A8 E007EB88 24430001 */ addiu $v1, $v0, 1
/* 3802AC E007EB8C 3042FFFF */ andi $v0, $v0, 0xffff
/* 3802B0 E007EB90 00021180 */ sll $v0, $v0, 6
/* 3802B4 E007EB94 A6030000 */ sh $v1, ($s0)
/* 3802B8 E007EB98 8E430000 */ lw $v1, ($s2)
/* 3802BC E007EB9C 005E1021 */ addu $v0, $v0, $fp
/* 3802C0 E007EBA0 00621821 */ addu $v1, $v1, $v0
/* 3802C4 E007EBA4 24820008 */ addiu $v0, $a0, 8
/* 3802C8 E007EBA8 ACA30004 */ sw $v1, 4($a1)
/* 3802CC E007EBAC AE220000 */ sw $v0, ($s1)
/* 3802D0 E007EBB0 3C020900 */ lui $v0, 0x900
/* 3802D4 E007EBB4 24420EF8 */ addiu $v0, $v0, 0xef8
/* 3802D8 E007EBB8 AC820004 */ sw $v0, 4($a0)
/* 3802DC E007EBBC 24820010 */ addiu $v0, $a0, 0x10
/* 3802E0 E007EBC0 24030040 */ addiu $v1, $zero, 0x40
/* 3802E4 E007EBC4 AC950000 */ sw $s5, ($a0)
/* 3802E8 E007EBC8 AE220000 */ sw $v0, ($s1)
/* 3802EC E007EBCC 24820018 */ addiu $v0, $a0, 0x18
/* 3802F0 E007EBD0 AC860008 */ sw $a2, 8($a0)
/* 3802F4 E007EBD4 AC83000C */ sw $v1, 0xc($a0)
/* 3802F8 E007EBD8 AE220000 */ sw $v0, ($s1)
/* 3802FC E007EBDC AC860010 */ sw $a2, 0x10($a0)
/* 380300 E007EBE0 AC830014 */ sw $v1, 0x14($a0)
/* 380304 E007EBE4 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 380308 E007EBE8 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 38030C E007EBEC 8FB700BC */ lw $s7, 0xbc($sp)
/* 380310 E007EBF0 8FB600B8 */ lw $s6, 0xb8($sp)
/* 380314 E007EBF4 8FB500B4 */ lw $s5, 0xb4($sp)
/* 380318 E007EBF8 8FB400B0 */ lw $s4, 0xb0($sp)
/* 38031C E007EBFC 8FB300AC */ lw $s3, 0xac($sp)
/* 380320 E007EC00 8FB200A8 */ lw $s2, 0xa8($sp)
/* 380324 E007EC04 8FB100A4 */ lw $s1, 0xa4($sp)
/* 380328 E007EC08 8FB000A0 */ lw $s0, 0xa0($sp)
/* 38032C E007EC0C D7BA00E0 */ ldc1 $f26, 0xe0($sp)
/* 380330 E007EC10 D7B800D8 */ ldc1 $f24, 0xd8($sp)
/* 380334 E007EC14 D7B600D0 */ ldc1 $f22, 0xd0($sp)
/* 380338 E007EC18 D7B400C8 */ ldc1 $f20, 0xc8($sp)
/* 38033C E007EC1C 03E00008 */ jr $ra
/* 380340 E007EC20 27BD00E8 */ addiu $sp, $sp, 0xe8
/* 380344 E007EC24 00000000 */ nop
/* 380348 E007EC28 00000000 */ nop
/* 38034C E007EC2C 00000000 */ nop

View File

@ -1,231 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_E007EC48
.word LE007E270_37F990, LE007E2C0_37F9E0, LE007E314_37FA34, LE007E334_37FA54, LE007E354_37FA74, LE007E3A0_37FAC0, LE007E3C8_37FAE8, 0
dlabel D_E007EC68
.double 0.01
dlabel D_E007EC70
.double 0.9, 0.0
.section .text
glabel fire_flower_update
/* 37F924 E007E204 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 37F928 E007E208 AFB1001C */ sw $s1, 0x1c($sp)
/* 37F92C E007E20C 0080882D */ daddu $s1, $a0, $zero
/* 37F930 E007E210 AFBF0020 */ sw $ra, 0x20($sp)
/* 37F934 E007E214 AFB00018 */ sw $s0, 0x18($sp)
/* 37F938 E007E218 8E30000C */ lw $s0, 0xc($s1)
/* 37F93C E007E21C 8E050004 */ lw $a1, 4($s0)
/* 37F940 E007E220 8E020044 */ lw $v0, 0x44($s0)
/* 37F944 E007E224 8E030040 */ lw $v1, 0x40($s0)
/* 37F948 E007E228 24420001 */ addiu $v0, $v0, 1
/* 37F94C E007E22C 24630001 */ addiu $v1, $v1, 1
/* 37F950 E007E230 AE020044 */ sw $v0, 0x44($s0)
/* 37F954 E007E234 24020007 */ addiu $v0, $zero, 7
/* 37F958 E007E238 14A20005 */ bne $a1, $v0, .LE007E250
/* 37F95C E007E23C AE030040 */ sw $v1, 0x40($s0)
/* 37F960 E007E240 0C080128 */ jal shim_remove_effect
/* 37F964 E007E244 00000000 */ nop
/* 37F968 E007E248 0801F93D */ j .LE007E4F4
/* 37F96C E007E24C 00000000 */ nop
.LE007E250:
/* 37F970 E007E250 2CA20007 */ sltiu $v0, $a1, 7
/* 37F974 E007E254 10400075 */ beqz $v0, .LE007E42C
/* 37F978 E007E258 00051080 */ sll $v0, $a1, 2
/* 37F97C E007E25C 3C01E008 */ lui $at, %hi(jtbl_E007EC48)
/* 37F980 E007E260 00220821 */ addu $at, $at, $v0
/* 37F984 E007E264 8C22EC48 */ lw $v0, %lo(jtbl_E007EC48)($at)
/* 37F988 E007E268 00400008 */ jr $v0
/* 37F98C E007E26C 00000000 */ nop
dlabel LE007E270_37F990
/* 37F990 E007E270 0C080150 */ jal shim_load_effect
/* 37F994 E007E274 2404002D */ addiu $a0, $zero, 0x2d
/* 37F998 E007E278 C6020008 */ lwc1 $f2, 8($s0)
/* 37F99C E007E27C 3C014120 */ lui $at, 0x4120
/* 37F9A0 E007E280 44810000 */ mtc1 $at, $f0
/* 37F9A4 E007E284 24020007 */ addiu $v0, $zero, 7
/* 37F9A8 E007E288 AFA20010 */ sw $v0, 0x10($sp)
/* 37F9AC E007E28C 24020014 */ addiu $v0, $zero, 0x14
/* 37F9B0 E007E290 AFA20014 */ sw $v0, 0x14($sp)
/* 37F9B4 E007E294 46001081 */ sub.s $f2, $f2, $f0
/* 37F9B8 E007E298 8E06000C */ lw $a2, 0xc($s0)
/* 37F9BC E007E29C 8E070010 */ lw $a3, 0x10($s0)
/* 37F9C0 E007E2A0 44051000 */ mfc1 $a1, $f2
/* 37F9C4 E007E2A4 0C016800 */ jal stars_spread_main
/* 37F9C8 E007E2A8 0000202D */ daddu $a0, $zero, $zero
/* 37F9CC E007E2AC 8E020004 */ lw $v0, 4($s0)
/* 37F9D0 E007E2B0 AE000034 */ sw $zero, 0x34($s0)
/* 37F9D4 E007E2B4 AE000038 */ sw $zero, 0x38($s0)
/* 37F9D8 E007E2B8 0801F909 */ j .LE007E424
/* 37F9DC E007E2BC AE000040 */ sw $zero, 0x40($s0)
dlabel LE007E2C0_37F9E0
/* 37F9E0 E007E2C0 28620008 */ slti $v0, $v1, 8
/* 37F9E4 E007E2C4 14400004 */ bnez $v0, .LE007E2D8
/* 37F9E8 E007E2C8 00000000 */ nop
/* 37F9EC E007E2CC 8E020004 */ lw $v0, 4($s0)
/* 37F9F0 E007E2D0 0801F909 */ j .LE007E424
/* 37F9F4 E007E2D4 AE000040 */ sw $zero, 0x40($s0)
.LE007E2D8:
/* 37F9F8 E007E2D8 3C02E008 */ lui $v0, %hi(D_E007EC2F)
/* 37F9FC E007E2DC 00431021 */ addu $v0, $v0, $v1
/* 37FA00 E007E2E0 8042EC2F */ lb $v0, %lo(D_E007EC2F)($v0)
/* 37FA04 E007E2E4 3C01E008 */ lui $at, %hi(D_E007EC68)
/* 37FA08 E007E2E8 D422EC68 */ ldc1 $f2, %lo(D_E007EC68)($at)
/* 37FA0C E007E2EC 44820000 */ mtc1 $v0, $f0
/* 37FA10 E007E2F0 00000000 */ nop
/* 37FA14 E007E2F4 46800021 */ cvt.d.w $f0, $f0
/* 37FA18 E007E2F8 46220002 */ mul.d $f0, $f0, $f2
/* 37FA1C E007E2FC 00000000 */ nop
/* 37FA20 E007E300 AE000034 */ sw $zero, 0x34($s0)
/* 37FA24 E007E304 AE000038 */ sw $zero, 0x38($s0)
/* 37FA28 E007E308 46200020 */ cvt.s.d $f0, $f0
/* 37FA2C E007E30C 0801F90B */ j .LE007E42C
/* 37FA30 E007E310 E6000030 */ swc1 $f0, 0x30($s0)
dlabel LE007E314_37FA34
/* 37FA34 E007E314 28620002 */ slti $v0, $v1, 2
/* 37FA38 E007E318 14400004 */ bnez $v0, .LE007E32C
/* 37FA3C E007E31C 24020001 */ addiu $v0, $zero, 1
/* 37FA40 E007E320 8E020004 */ lw $v0, 4($s0)
/* 37FA44 E007E324 0801F909 */ j .LE007E424
/* 37FA48 E007E328 AE000040 */ sw $zero, 0x40($s0)
.LE007E32C:
/* 37FA4C E007E32C 0801F90B */ j .LE007E42C
/* 37FA50 E007E330 AE020034 */ sw $v0, 0x34($s0)
dlabel LE007E334_37FA54
/* 37FA54 E007E334 2862000F */ slti $v0, $v1, 0xf
/* 37FA58 E007E338 14400004 */ bnez $v0, .LE007E34C
/* 37FA5C E007E33C 24020002 */ addiu $v0, $zero, 2
/* 37FA60 E007E340 8E020004 */ lw $v0, 4($s0)
/* 37FA64 E007E344 0801F909 */ j .LE007E424
/* 37FA68 E007E348 AE000040 */ sw $zero, 0x40($s0)
.LE007E34C:
/* 37FA6C E007E34C 0801F90B */ j .LE007E42C
/* 37FA70 E007E350 AE020034 */ sw $v0, 0x34($s0)
dlabel LE007E354_37FA74
/* 37FA74 E007E354 2862002D */ slti $v0, $v1, 0x2d
/* 37FA78 E007E358 14400004 */ bnez $v0, .LE007E36C
/* 37FA7C E007E35C 24020003 */ addiu $v0, $zero, 3
/* 37FA80 E007E360 8E020004 */ lw $v0, 4($s0)
/* 37FA84 E007E364 0801F909 */ j .LE007E424
/* 37FA88 E007E368 AE000040 */ sw $zero, 0x40($s0)
.LE007E36C:
/* 37FA8C E007E36C AE020034 */ sw $v0, 0x34($s0)
/* 37FA90 E007E370 30620001 */ andi $v0, $v1, 1
/* 37FA94 E007E374 10400005 */ beqz $v0, .LE007E38C
/* 37FA98 E007E378 AE00002C */ sw $zero, 0x2c($s0)
/* 37FA9C E007E37C 3C013F80 */ lui $at, 0x3f80
/* 37FAA0 E007E380 44810000 */ mtc1 $at, $f0
/* 37FAA4 E007E384 0801F90B */ j .LE007E42C
/* 37FAA8 E007E388 E6000030 */ swc1 $f0, 0x30($s0)
.LE007E38C:
/* 37FAAC E007E38C 3C013F86 */ lui $at, 0x3f86
/* 37FAB0 E007E390 34216666 */ ori $at, $at, 0x6666
/* 37FAB4 E007E394 44810000 */ mtc1 $at, $f0
/* 37FAB8 E007E398 0801F90B */ j .LE007E42C
/* 37FABC E007E39C E6000030 */ swc1 $f0, 0x30($s0)
dlabel LE007E3A0_37FAC0
/* 37FAC0 E007E3A0 2862000A */ slti $v0, $v1, 0xa
/* 37FAC4 E007E3A4 54400004 */ bnel $v0, $zero, .LE007E3B8
/* 37FAC8 E007E3A8 AE000034 */ sw $zero, 0x34($s0)
/* 37FACC E007E3AC 8E020004 */ lw $v0, 4($s0)
/* 37FAD0 E007E3B0 0801F909 */ j .LE007E424
/* 37FAD4 E007E3B4 AE000040 */ sw $zero, 0x40($s0)
.LE007E3B8:
/* 37FAD8 E007E3B8 3C01C120 */ lui $at, 0xc120
/* 37FADC E007E3BC 44810000 */ mtc1 $at, $f0
/* 37FAE0 E007E3C0 0801F90B */ j .LE007E42C
/* 37FAE4 E007E3C4 E600002C */ swc1 $f0, 0x2c($s0)
dlabel LE007E3C8_37FAE8
/* 37FAE8 E007E3C8 C6040028 */ lwc1 $f4, 0x28($s0)
/* 37FAEC E007E3CC 3C014210 */ lui $at, 0x4210
/* 37FAF0 E007E3D0 44810000 */ mtc1 $at, $f0
/* 37FAF4 E007E3D4 00000000 */ nop
/* 37FAF8 E007E3D8 46002100 */ add.s $f4, $f4, $f0
/* 37FAFC E007E3DC 3C01E008 */ lui $at, %hi(D_E007EC70)
/* 37FB00 E007E3E0 D422EC70 */ ldc1 $f2, %lo(D_E007EC70)($at)
/* 37FB04 E007E3E4 C600003C */ lwc1 $f0, 0x3c($s0)
/* 37FB08 E007E3E8 46800021 */ cvt.d.w $f0, $f0
/* 37FB0C E007E3EC 46220002 */ mul.d $f0, $f0, $f2
/* 37FB10 E007E3F0 00000000 */ nop
/* 37FB14 E007E3F4 E6040028 */ swc1 $f4, 0x28($s0)
/* 37FB18 E007E3F8 46002086 */ mov.s $f2, $f4
/* 37FB1C E007E3FC 3C014434 */ lui $at, 0x4434
/* 37FB20 E007E400 44812000 */ mtc1 $at, $f4
/* 37FB24 E007E404 AE000034 */ sw $zero, 0x34($s0)
/* 37FB28 E007E408 4602203E */ c.le.s $f4, $f2
/* 37FB2C E007E40C 4620028D */ trunc.w.d $f10, $f0
/* 37FB30 E007E410 E60A003C */ swc1 $f10, 0x3c($s0)
/* 37FB34 E007E414 45000005 */ bc1f .LE007E42C
/* 37FB38 E007E418 00000000 */ nop
/* 37FB3C E007E41C 8E020004 */ lw $v0, 4($s0)
/* 37FB40 E007E420 E6040028 */ swc1 $f4, 0x28($s0)
.LE007E424:
/* 37FB44 E007E424 24420001 */ addiu $v0, $v0, 1
/* 37FB48 E007E428 AE020004 */ sw $v0, 4($s0)
.LE007E42C:
/* 37FB4C E007E42C 8E050004 */ lw $a1, 4($s0)
/* 37FB50 E007E430 24A2FFFC */ addiu $v0, $a1, -4
/* 37FB54 E007E434 2C420003 */ sltiu $v0, $v0, 3
/* 37FB58 E007E438 1040002E */ beqz $v0, .LE007E4F4
/* 37FB5C E007E43C 2610004C */ addiu $s0, $s0, 0x4c
/* 37FB60 E007E440 8E220008 */ lw $v0, 8($s1)
/* 37FB64 E007E444 24040001 */ addiu $a0, $zero, 1
/* 37FB68 E007E448 0082102A */ slt $v0, $a0, $v0
/* 37FB6C E007E44C 10400029 */ beqz $v0, .LE007E4F4
/* 37FB70 E007E450 00000000 */ nop
/* 37FB74 E007E454 24060004 */ addiu $a2, $zero, 4
/* 37FB78 E007E458 3C014348 */ lui $at, 0x4348
/* 37FB7C E007E45C 44814000 */ mtc1 $at, $f8
/* 37FB80 E007E460 26030010 */ addiu $v1, $s0, 0x10
.LE007E464:
/* 37FB84 E007E464 8C620038 */ lw $v0, 0x38($v1)
/* 37FB88 E007E468 18400003 */ blez $v0, .LE007E478
/* 37FB8C E007E46C 2442FFFF */ addiu $v0, $v0, -1
/* 37FB90 E007E470 1C40001B */ bgtz $v0, .LE007E4E0
/* 37FB94 E007E474 AC620038 */ sw $v0, 0x38($v1)
.LE007E478:
/* 37FB98 E007E478 C4620008 */ lwc1 $f2, 8($v1)
/* 37FB9C E007E47C C4600010 */ lwc1 $f0, 0x10($v1)
/* 37FBA0 E007E480 C466FFF8 */ lwc1 $f6, -8($v1)
/* 37FBA4 E007E484 46001080 */ add.s $f2, $f2, $f0
/* 37FBA8 E007E488 C4600004 */ lwc1 $f0, 4($v1)
/* 37FBAC E007E48C C4640000 */ lwc1 $f4, ($v1)
/* 37FBB0 E007E490 46003180 */ add.s $f6, $f6, $f0
/* 37FBB4 E007E494 C460000C */ lwc1 $f0, 0xc($v1)
/* 37FBB8 E007E498 46002100 */ add.s $f4, $f4, $f0
/* 37FBBC E007E49C E4620008 */ swc1 $f2, 8($v1)
/* 37FBC0 E007E4A0 C462FFFC */ lwc1 $f2, -4($v1)
/* 37FBC4 E007E4A4 C4600008 */ lwc1 $f0, 8($v1)
/* 37FBC8 E007E4A8 46001080 */ add.s $f2, $f2, $f0
/* 37FBCC E007E4AC E466FFF8 */ swc1 $f6, -8($v1)
/* 37FBD0 E007E4B0 E4640000 */ swc1 $f4, ($v1)
/* 37FBD4 E007E4B4 14A6000A */ bne $a1, $a2, .LE007E4E0
/* 37FBD8 E007E4B8 E462FFFC */ swc1 $f2, -4($v1)
/* 37FBDC E007E4BC 46003006 */ mov.s $f0, $f6
/* 37FBE0 E007E4C0 4600403C */ c.lt.s $f8, $f0
/* 37FBE4 E007E4C4 00000000 */ nop
/* 37FBE8 E007E4C8 45020006 */ bc1fl .LE007E4E4
/* 37FBEC E007E4CC 24840001 */ addiu $a0, $a0, 1
/* 37FBF0 E007E4D0 AC60FFF8 */ sw $zero, -8($v1)
/* 37FBF4 E007E4D4 AC60FFFC */ sw $zero, -4($v1)
/* 37FBF8 E007E4D8 AC600008 */ sw $zero, 8($v1)
/* 37FBFC E007E4DC AC600000 */ sw $zero, ($v1)
.LE007E4E0:
/* 37FC00 E007E4E0 24840001 */ addiu $a0, $a0, 1
.LE007E4E4:
/* 37FC04 E007E4E4 8E220008 */ lw $v0, 8($s1)
/* 37FC08 E007E4E8 0082102A */ slt $v0, $a0, $v0
/* 37FC0C E007E4EC 1440FFDD */ bnez $v0, .LE007E464
/* 37FC10 E007E4F0 2463004C */ addiu $v1, $v1, 0x4c
.LE007E4F4:
/* 37FC14 E007E4F4 8FBF0020 */ lw $ra, 0x20($sp)
/* 37FC18 E007E4F8 8FB1001C */ lw $s1, 0x1c($sp)
/* 37FC1C E007E4FC 8FB00018 */ lw $s0, 0x18($sp)
/* 37FC20 E007E500 03E00008 */ jr $ra
/* 37FC24 E007E504 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,82 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .text
glabel firework_update
/* 389AC8 E0086278 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 389ACC E008627C AFBF0010 */ sw $ra, 0x10($sp)
/* 389AD0 E0086280 8C83000C */ lw $v1, 0xc($a0)
/* 389AD4 E0086284 8C620030 */ lw $v0, 0x30($v1)
/* 389AD8 E0086288 8C660034 */ lw $a2, 0x34($v1)
/* 389ADC E008628C 8C680000 */ lw $t0, ($v1)
/* 389AE0 E0086290 2442FFFF */ addiu $v0, $v0, -1
/* 389AE4 E0086294 24C50001 */ addiu $a1, $a2, 1
/* 389AE8 E0086298 AC620030 */ sw $v0, 0x30($v1)
/* 389AEC E008629C 04410005 */ bgez $v0, .LE00862B4
/* 389AF0 E00862A0 AC650034 */ sw $a1, 0x34($v1)
/* 389AF4 E00862A4 0C080128 */ jal shim_remove_effect
/* 389AF8 E00862A8 00000000 */ nop
/* 389AFC E00862AC 080218E1 */ j .LE0086384
/* 389B00 E00862B0 00000000 */ nop
.LE00862B4:
/* 389B04 E00862B4 3C02E008 */ lui $v0, %hi(D_E0086AC0)
/* 389B08 E00862B8 00481021 */ addu $v0, $v0, $t0
/* 389B0C E00862BC 90426AC0 */ lbu $v0, %lo(D_E0086AC0)($v0)
/* 389B10 E00862C0 00A0382D */ daddu $a3, $a1, $zero
/* 389B14 E00862C4 0047102A */ slt $v0, $v0, $a3
/* 389B18 E00862C8 1440000D */ bnez $v0, .LE0086300
/* 389B1C E00862CC 00000000 */ nop
/* 389B20 E00862D0 3C02E008 */ lui $v0, %hi(D_E0086AC4)
/* 389B24 E00862D4 00461021 */ addu $v0, $v0, $a2
/* 389B28 E00862D8 90426AC4 */ lbu $v0, %lo(D_E0086AC4)($v0)
/* 389B2C E00862DC 3C013B80 */ lui $at, 0x3b80
/* 389B30 E00862E0 44811000 */ mtc1 $at, $f2
/* 389B34 E00862E4 44820000 */ mtc1 $v0, $f0
/* 389B38 E00862E8 00000000 */ nop
/* 389B3C E00862EC 46800020 */ cvt.s.w $f0, $f0
/* 389B40 E00862F0 46020002 */ mul.s $f0, $f0, $f2
/* 389B44 E00862F4 00000000 */ nop
/* 389B48 E00862F8 080218C4 */ j .LE0086310
/* 389B4C E00862FC E4600038 */ swc1 $f0, 0x38($v1)
.LE0086300:
/* 389B50 E0086300 3C013F80 */ lui $at, 0x3f80
/* 389B54 E0086304 44810000 */ mtc1 $at, $f0
/* 389B58 E0086308 00000000 */ nop
/* 389B5C E008630C E4600038 */ swc1 $f0, 0x38($v1)
.LE0086310:
/* 389B60 E0086310 8C820008 */ lw $v0, 8($a0)
/* 389B64 E0086314 24060001 */ addiu $a2, $zero, 1
/* 389B68 E0086318 00C2102A */ slt $v0, $a2, $v0
/* 389B6C E008631C 10400019 */ beqz $v0, .LE0086384
/* 389B70 E0086320 24630044 */ addiu $v1, $v1, 0x44
/* 389B74 E0086324 3C02E008 */ lui $v0, %hi(D_E0086AC0)
/* 389B78 E0086328 24426AC0 */ addiu $v0, $v0, %lo(D_E0086AC0)
/* 389B7C E008632C 01024021 */ addu $t0, $t0, $v0
/* 389B80 E0086330 3C09E008 */ lui $t1, %hi(D_E0086AD4)
/* 389B84 E0086334 25296AD4 */ addiu $t1, $t1, %lo(D_E0086AD4)
/* 389B88 E0086338 2465000C */ addiu $a1, $v1, 0xc
.LE008633C:
/* 389B8C E008633C 91020000 */ lbu $v0, ($t0)
/* 389B90 E0086340 0047102A */ slt $v0, $v0, $a3
/* 389B94 E0086344 14400002 */ bnez $v0, .LE0086350
/* 389B98 E0086348 2403000C */ addiu $v1, $zero, 0xc
/* 389B9C E008634C 24E3FFFF */ addiu $v1, $a3, -1
.LE0086350:
/* 389BA0 E0086350 00691021 */ addu $v0, $v1, $t1
/* 389BA4 E0086354 90420000 */ lbu $v0, ($v0)
/* 389BA8 E0086358 24C60001 */ addiu $a2, $a2, 1
/* 389BAC E008635C ACA0FFFC */ sw $zero, -4($a1)
/* 389BB0 E0086360 ACA00000 */ sw $zero, ($a1)
/* 389BB4 E0086364 44820000 */ mtc1 $v0, $f0
/* 389BB8 E0086368 00000000 */ nop
/* 389BBC E008636C 46800020 */ cvt.s.w $f0, $f0
/* 389BC0 E0086370 E4A0FFF8 */ swc1 $f0, -8($a1)
/* 389BC4 E0086374 8C820008 */ lw $v0, 8($a0)
/* 389BC8 E0086378 00C2102A */ slt $v0, $a2, $v0
/* 389BCC E008637C 1440FFEF */ bnez $v0, .LE008633C
/* 389BD0 E0086380 24A50044 */ addiu $a1, $a1, 0x44
.LE0086384:
/* 389BD4 E0086384 8FBF0010 */ lw $ra, 0x10($sp)
/* 389BD8 E0086388 03E00008 */ jr $ra
/* 389BDC E008638C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_E0086398
/* 389BE8 E0086398 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 389BEC E008639C AFBF0010 */ sw $ra, 0x10($sp)
/* 389BF0 E00863A0 0C0218ED */ jal func_E00863B4
/* 389BF4 E00863A4 00000000 */ nop
/* 389BF8 E00863A8 8FBF0010 */ lw $ra, 0x10($sp)
/* 389BFC E00863AC 03E00008 */ jr $ra
/* 389C00 E00863B0 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,309 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel flashing_box_shockwave_appendGfx
/* 392BCC E00942FC 27BDFF08 */ addiu $sp, $sp, -0xf8
/* 392BD0 E0094300 AFB000D8 */ sw $s0, 0xd8($sp)
/* 392BD4 E0094304 0080802D */ daddu $s0, $a0, $zero
/* 392BD8 E0094308 AFB100DC */ sw $s1, 0xdc($sp)
/* 392BDC E009430C 27B10098 */ addiu $s1, $sp, 0x98
/* 392BE0 E0094310 3C073F80 */ lui $a3, 0x3f80
/* 392BE4 E0094314 44800000 */ mtc1 $zero, $f0
/* 392BE8 E0094318 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 392BEC E009431C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 392BF0 E0094320 0220202D */ daddu $a0, $s1, $zero
/* 392BF4 E0094324 AFB400E8 */ sw $s4, 0xe8($sp)
/* 392BF8 E0094328 3C140001 */ lui $s4, 1
/* 392BFC E009432C AFBF00F4 */ sw $ra, 0xf4($sp)
/* 392C00 E0094330 AFB600F0 */ sw $s6, 0xf0($sp)
/* 392C04 E0094334 AFB500EC */ sw $s5, 0xec($sp)
/* 392C08 E0094338 AFB300E4 */ sw $s3, 0xe4($sp)
/* 392C0C E009433C AFB200E0 */ sw $s2, 0xe0($sp)
/* 392C10 E0094340 8E12000C */ lw $s2, 0xc($s0)
/* 392C14 E0094344 00031080 */ sll $v0, $v1, 2
/* 392C18 E0094348 00431021 */ addu $v0, $v0, $v1
/* 392C1C E009434C 00021080 */ sll $v0, $v0, 2
/* 392C20 E0094350 00431023 */ subu $v0, $v0, $v1
/* 392C24 E0094354 000218C0 */ sll $v1, $v0, 3
/* 392C28 E0094358 00431021 */ addu $v0, $v0, $v1
/* 392C2C E009435C 000210C0 */ sll $v0, $v0, 3
/* 392C30 E0094360 44060000 */ mfc1 $a2, $f0
/* 392C34 E0094364 8E550000 */ lw $s5, ($s2)
/* 392C38 E0094368 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 392C3C E009436C 00220821 */ addu $at, $at, $v0
/* 392C40 E0094370 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 392C44 E0094374 8E560020 */ lw $s6, 0x20($s2)
/* 392C48 E0094378 46000007 */ neg.s $f0, $f0
/* 392C4C E009437C 44050000 */ mfc1 $a1, $f0
/* 392C50 E0094380 36941630 */ ori $s4, $s4, 0x1630
/* 392C54 E0094384 0C080104 */ jal shim_guRotateF
/* 392C58 E0094388 AFA60010 */ sw $a2, 0x10($sp)
/* 392C5C E009438C 3C04DB06 */ lui $a0, 0xdb06
/* 392C60 E0094390 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 392C64 E0094394 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 392C68 E0094398 34840024 */ ori $a0, $a0, 0x24
/* 392C6C E009439C 8E680000 */ lw $t0, ($s3)
/* 392C70 E00943A0 3C02E700 */ lui $v0, 0xe700
/* 392C74 E00943A4 0100182D */ daddu $v1, $t0, $zero
/* 392C78 E00943A8 25080008 */ addiu $t0, $t0, 8
/* 392C7C E00943AC AC620000 */ sw $v0, ($v1)
/* 392C80 E00943B0 AC600004 */ sw $zero, 4($v1)
/* 392C84 E00943B4 AD040000 */ sw $a0, ($t0)
/* 392C88 E00943B8 8E020010 */ lw $v0, 0x10($s0)
/* 392C8C E00943BC 27A40018 */ addiu $a0, $sp, 0x18
/* 392C90 E00943C0 AE680000 */ sw $t0, ($s3)
/* 392C94 E00943C4 8C42001C */ lw $v0, 0x1c($v0)
/* 392C98 E00943C8 3C038000 */ lui $v1, 0x8000
/* 392C9C E00943CC 00431021 */ addu $v0, $v0, $v1
/* 392CA0 E00943D0 AD020004 */ sw $v0, 4($t0)
/* 392CA4 E00943D4 8E450004 */ lw $a1, 4($s2)
/* 392CA8 E00943D8 8E460008 */ lw $a2, 8($s2)
/* 392CAC E00943DC 8E47000C */ lw $a3, 0xc($s2)
/* 392CB0 E00943E0 25080008 */ addiu $t0, $t0, 8
/* 392CB4 E00943E4 0C080108 */ jal shim_guTranslateF
/* 392CB8 E00943E8 AE680000 */ sw $t0, ($s3)
/* 392CBC E00943EC 0220202D */ daddu $a0, $s1, $zero
/* 392CC0 E00943F0 27A50018 */ addiu $a1, $sp, 0x18
/* 392CC4 E00943F4 0C080114 */ jal shim_guMtxCatF
/* 392CC8 E00943F8 00A0302D */ daddu $a2, $a1, $zero
/* 392CCC E00943FC 27A40018 */ addiu $a0, $sp, 0x18
/* 392CD0 E0094400 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 392CD4 E0094404 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 392CD8 E0094408 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 392CDC E009440C 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 392CE0 E0094410 96050000 */ lhu $a1, ($s0)
/* 392CE4 E0094414 8E220000 */ lw $v0, ($s1)
/* 392CE8 E0094418 00052980 */ sll $a1, $a1, 6
/* 392CEC E009441C 00B42821 */ addu $a1, $a1, $s4
/* 392CF0 E0094420 0C080118 */ jal shim_guMtxF2L
/* 392CF4 E0094424 00452821 */ addu $a1, $v0, $a1
/* 392CF8 E0094428 3C03DA38 */ lui $v1, 0xda38
/* 392CFC E009442C 34630002 */ ori $v1, $v1, 2
/* 392D00 E0094430 8E660000 */ lw $a2, ($s3)
/* 392D04 E0094434 96020000 */ lhu $v0, ($s0)
/* 392D08 E0094438 00C0202D */ daddu $a0, $a2, $zero
/* 392D0C E009443C 24C60008 */ addiu $a2, $a2, 8
/* 392D10 E0094440 AE660000 */ sw $a2, ($s3)
/* 392D14 E0094444 AC830000 */ sw $v1, ($a0)
/* 392D18 E0094448 24430001 */ addiu $v1, $v0, 1
/* 392D1C E009444C 3042FFFF */ andi $v0, $v0, 0xffff
/* 392D20 E0094450 00021180 */ sll $v0, $v0, 6
/* 392D24 E0094454 A6030000 */ sh $v1, ($s0)
/* 392D28 E0094458 8E230000 */ lw $v1, ($s1)
/* 392D2C E009445C 00541021 */ addu $v0, $v0, $s4
/* 392D30 E0094460 00621821 */ addu $v1, $v1, $v0
/* 392D34 E0094464 24C20008 */ addiu $v0, $a2, 8
/* 392D38 E0094468 AC830004 */ sw $v1, 4($a0)
/* 392D3C E009446C AE620000 */ sw $v0, ($s3)
/* 392D40 E0094470 3C02FA00 */ lui $v0, 0xfa00
/* 392D44 E0094474 ACC20000 */ sw $v0, ($a2)
/* 392D48 E0094478 92420033 */ lbu $v0, 0x33($s2)
/* 392D4C E009447C 92440037 */ lbu $a0, 0x37($s2)
/* 392D50 E0094480 9245003B */ lbu $a1, 0x3b($s2)
/* 392D54 E0094484 9247001B */ lbu $a3, 0x1b($s2)
/* 392D58 E0094488 24C30010 */ addiu $v1, $a2, 0x10
/* 392D5C E009448C AE630000 */ sw $v1, ($s3)
/* 392D60 E0094490 3C03FB00 */ lui $v1, 0xfb00
/* 392D64 E0094494 ACC30008 */ sw $v1, 8($a2)
/* 392D68 E0094498 00021600 */ sll $v0, $v0, 0x18
/* 392D6C E009449C 00042400 */ sll $a0, $a0, 0x10
/* 392D70 E00944A0 00441025 */ or $v0, $v0, $a0
/* 392D74 E00944A4 00052A00 */ sll $a1, $a1, 8
/* 392D78 E00944A8 00451025 */ or $v0, $v0, $a1
/* 392D7C E00944AC 00471025 */ or $v0, $v0, $a3
/* 392D80 E00944B0 ACC20004 */ sw $v0, 4($a2)
/* 392D84 E00944B4 9242003F */ lbu $v0, 0x3f($s2)
/* 392D88 E00944B8 92440043 */ lbu $a0, 0x43($s2)
/* 392D8C E00944BC 92430047 */ lbu $v1, 0x47($s2)
/* 392D90 E00944C0 00021600 */ sll $v0, $v0, 0x18
/* 392D94 E00944C4 00042400 */ sll $a0, $a0, 0x10
/* 392D98 E00944C8 00441025 */ or $v0, $v0, $a0
/* 392D9C E00944CC 00031A00 */ sll $v1, $v1, 8
/* 392DA0 E00944D0 00431025 */ or $v0, $v0, $v1
/* 392DA4 E00944D4 ACC2000C */ sw $v0, 0xc($a2)
/* 392DA8 E00944D8 2EA20002 */ sltiu $v0, $s5, 2
/* 392DAC E00944DC 10400041 */ beqz $v0, .LE00945E4
/* 392DB0 E00944E0 32C20001 */ andi $v0, $s6, 1
/* 392DB4 E00944E4 10400040 */ beqz $v0, .LE00945E8
/* 392DB8 E00944E8 26A2FFFF */ addiu $v0, $s5, -1
/* 392DBC E00944EC 8E450028 */ lw $a1, 0x28($s2)
/* 392DC0 E00944F0 8E46002C */ lw $a2, 0x2c($s2)
/* 392DC4 E00944F4 3C073F89 */ lui $a3, 0x3f89
/* 392DC8 E00944F8 34E72492 */ ori $a3, $a3, 0x2492
/* 392DCC E00944FC 0C080110 */ jal shim_guScaleF
/* 392DD0 E0094500 27A40018 */ addiu $a0, $sp, 0x18
/* 392DD4 E0094504 27A40018 */ addiu $a0, $sp, 0x18
/* 392DD8 E0094508 96050000 */ lhu $a1, ($s0)
/* 392DDC E009450C 8E220000 */ lw $v0, ($s1)
/* 392DE0 E0094510 00052980 */ sll $a1, $a1, 6
/* 392DE4 E0094514 00B42821 */ addu $a1, $a1, $s4
/* 392DE8 E0094518 0C080118 */ jal shim_guMtxF2L
/* 392DEC E009451C 00452821 */ addu $a1, $v0, $a1
/* 392DF0 E0094520 3C08D838 */ lui $t0, 0xd838
/* 392DF4 E0094524 35080002 */ ori $t0, $t0, 2
/* 392DF8 E0094528 3C03DA38 */ lui $v1, 0xda38
/* 392DFC E009452C 8E660000 */ lw $a2, ($s3)
/* 392E00 E0094530 3C07DE00 */ lui $a3, 0xde00
/* 392E04 E0094534 00C0202D */ daddu $a0, $a2, $zero
/* 392E08 E0094538 24C60008 */ addiu $a2, $a2, 8
/* 392E0C E009453C AE660000 */ sw $a2, ($s3)
/* 392E10 E0094540 96020000 */ lhu $v0, ($s0)
/* 392E14 E0094544 3C05F200 */ lui $a1, 0xf200
/* 392E18 E0094548 AC830000 */ sw $v1, ($a0)
/* 392E1C E009454C 24430001 */ addiu $v1, $v0, 1
/* 392E20 E0094550 3042FFFF */ andi $v0, $v0, 0xffff
/* 392E24 E0094554 00021180 */ sll $v0, $v0, 6
/* 392E28 E0094558 A6030000 */ sh $v1, ($s0)
/* 392E2C E009455C 8E230000 */ lw $v1, ($s1)
/* 392E30 E0094560 00541021 */ addu $v0, $v0, $s4
/* 392E34 E0094564 00621821 */ addu $v1, $v1, $v0
/* 392E38 E0094568 24C20008 */ addiu $v0, $a2, 8
/* 392E3C E009456C AC830004 */ sw $v1, 4($a0)
/* 392E40 E0094570 AE620000 */ sw $v0, ($s3)
/* 392E44 E0094574 3C020900 */ lui $v0, 0x900
/* 392E48 E0094578 24420600 */ addiu $v0, $v0, 0x600
/* 392E4C E009457C ACC20004 */ sw $v0, 4($a2)
/* 392E50 E0094580 24C20010 */ addiu $v0, $a2, 0x10
/* 392E54 E0094584 001618C0 */ sll $v1, $s6, 3
/* 392E58 E0094588 ACC70000 */ sw $a3, ($a2)
/* 392E5C E009458C AE620000 */ sw $v0, ($s3)
/* 392E60 E0094590 30620FFF */ andi $v0, $v1, 0xfff
/* 392E64 E0094594 00022300 */ sll $a0, $v0, 0xc
/* 392E68 E0094598 00451025 */ or $v0, $v0, $a1
/* 392E6C E009459C 00822025 */ or $a0, $a0, $v0
/* 392E70 E00945A0 24630080 */ addiu $v1, $v1, 0x80
/* 392E74 E00945A4 30630FFF */ andi $v1, $v1, 0xfff
/* 392E78 E00945A8 00031300 */ sll $v0, $v1, 0xc
/* 392E7C E00945AC 00431025 */ or $v0, $v0, $v1
/* 392E80 E00945B0 ACC2000C */ sw $v0, 0xc($a2)
/* 392E84 E00945B4 24C20018 */ addiu $v0, $a2, 0x18
/* 392E88 E00945B8 ACC40008 */ sw $a0, 8($a2)
/* 392E8C E00945BC AE620000 */ sw $v0, ($s3)
/* 392E90 E00945C0 3C020900 */ lui $v0, 0x900
/* 392E94 E00945C4 244208E8 */ addiu $v0, $v0, 0x8e8
/* 392E98 E00945C8 ACC20014 */ sw $v0, 0x14($a2)
/* 392E9C E00945CC 24C20020 */ addiu $v0, $a2, 0x20
/* 392EA0 E00945D0 ACC70010 */ sw $a3, 0x10($a2)
/* 392EA4 E00945D4 AE620000 */ sw $v0, ($s3)
/* 392EA8 E00945D8 24020040 */ addiu $v0, $zero, 0x40
/* 392EAC E00945DC ACC80018 */ sw $t0, 0x18($a2)
/* 392EB0 E00945E0 ACC2001C */ sw $v0, 0x1c($a2)
.LE00945E4:
/* 392EB4 E00945E4 26A2FFFF */ addiu $v0, $s5, -1
.LE00945E8:
/* 392EB8 E00945E8 2C420003 */ sltiu $v0, $v0, 3
/* 392EBC E00945EC 10400059 */ beqz $v0, .LE0094754
/* 392EC0 E00945F0 24020001 */ addiu $v0, $zero, 1
/* 392EC4 E00945F4 16A2000D */ bne $s5, $v0, .LE009462C
/* 392EC8 E00945F8 00000000 */ nop
/* 392ECC E00945FC 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 392ED0 E0094600 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 392ED4 E0094604 8C620000 */ lw $v0, ($v1)
/* 392ED8 E0094608 0040202D */ daddu $a0, $v0, $zero
/* 392EDC E009460C 24420008 */ addiu $v0, $v0, 8
/* 392EE0 E0094610 AC620000 */ sw $v0, ($v1)
/* 392EE4 E0094614 3C02FA00 */ lui $v0, 0xfa00
/* 392EE8 E0094618 AC820000 */ sw $v0, ($a0)
/* 392EEC E009461C 92420017 */ lbu $v0, 0x17($s2)
/* 392EF0 E0094620 3C03FFFF */ lui $v1, 0xffff
/* 392EF4 E0094624 00431025 */ or $v0, $v0, $v1
/* 392EF8 E0094628 AC820004 */ sw $v0, 4($a0)
.LE009462C:
/* 392EFC E009462C 44800000 */ mtc1 $zero, $f0
/* 392F00 E0094630 27A40018 */ addiu $a0, $sp, 0x18
/* 392F04 E0094634 44050000 */ mfc1 $a1, $f0
/* 392F08 E0094638 8E46002C */ lw $a2, 0x2c($s2)
/* 392F0C E009463C 0C080108 */ jal shim_guTranslateF
/* 392F10 E0094640 00A0382D */ daddu $a3, $a1, $zero
/* 392F14 E0094644 C6400024 */ lwc1 $f0, 0x24($s2)
/* 392F18 E0094648 3C013FD0 */ lui $at, 0x3fd0
/* 392F1C E009464C 44811800 */ mtc1 $at, $f3
/* 392F20 E0094650 44801000 */ mtc1 $zero, $f2
/* 392F24 E0094654 46000021 */ cvt.d.s $f0, $f0
/* 392F28 E0094658 46220002 */ mul.d $f0, $f0, $f2
/* 392F2C E009465C 00000000 */ nop
/* 392F30 E0094660 3C120001 */ lui $s2, 1
/* 392F34 E0094664 36521630 */ ori $s2, $s2, 0x1630
/* 392F38 E0094668 27B00058 */ addiu $s0, $sp, 0x58
/* 392F3C E009466C 0200202D */ daddu $a0, $s0, $zero
/* 392F40 E0094670 46200020 */ cvt.s.d $f0, $f0
/* 392F44 E0094674 44050000 */ mfc1 $a1, $f0
/* 392F48 E0094678 3C073F80 */ lui $a3, 0x3f80
/* 392F4C E009467C 0C080110 */ jal shim_guScaleF
/* 392F50 E0094680 00A0302D */ daddu $a2, $a1, $zero
/* 392F54 E0094684 0200202D */ daddu $a0, $s0, $zero
/* 392F58 E0094688 27A50018 */ addiu $a1, $sp, 0x18
/* 392F5C E009468C 0C080114 */ jal shim_guMtxCatF
/* 392F60 E0094690 00A0302D */ daddu $a2, $a1, $zero
/* 392F64 E0094694 27A40018 */ addiu $a0, $sp, 0x18
/* 392F68 E0094698 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 392F6C E009469C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 392F70 E00946A0 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 392F74 E00946A4 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 392F78 E00946A8 96050000 */ lhu $a1, ($s0)
/* 392F7C E00946AC 8E220000 */ lw $v0, ($s1)
/* 392F80 E00946B0 00052980 */ sll $a1, $a1, 6
/* 392F84 E00946B4 00B22821 */ addu $a1, $a1, $s2
/* 392F88 E00946B8 0C080118 */ jal shim_guMtxF2L
/* 392F8C E00946BC 00452821 */ addu $a1, $v0, $a1
/* 392F90 E00946C0 3C07D838 */ lui $a3, 0xd838
/* 392F94 E00946C4 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 392F98 E00946C8 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 392F9C E00946CC 8CA40000 */ lw $a0, ($a1)
/* 392FA0 E00946D0 34E70002 */ ori $a3, $a3, 2
/* 392FA4 E00946D4 0080302D */ daddu $a2, $a0, $zero
/* 392FA8 E00946D8 24840008 */ addiu $a0, $a0, 8
/* 392FAC E00946DC ACA40000 */ sw $a0, ($a1)
/* 392FB0 E00946E0 96020000 */ lhu $v0, ($s0)
/* 392FB4 E00946E4 3C03DA38 */ lui $v1, 0xda38
/* 392FB8 E00946E8 ACC30000 */ sw $v1, ($a2)
/* 392FBC E00946EC 24430001 */ addiu $v1, $v0, 1
/* 392FC0 E00946F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 392FC4 E00946F4 00021180 */ sll $v0, $v0, 6
/* 392FC8 E00946F8 A6030000 */ sh $v1, ($s0)
/* 392FCC E00946FC 8E230000 */ lw $v1, ($s1)
/* 392FD0 E0094700 00521021 */ addu $v0, $v0, $s2
/* 392FD4 E0094704 00621821 */ addu $v1, $v1, $v0
/* 392FD8 E0094708 24820008 */ addiu $v0, $a0, 8
/* 392FDC E009470C ACC30004 */ sw $v1, 4($a2)
/* 392FE0 E0094710 3C03DE00 */ lui $v1, 0xde00
/* 392FE4 E0094714 ACA20000 */ sw $v0, ($a1)
/* 392FE8 E0094718 3C020900 */ lui $v0, 0x900
/* 392FEC E009471C 24420950 */ addiu $v0, $v0, 0x950
/* 392FF0 E0094720 AC820004 */ sw $v0, 4($a0)
/* 392FF4 E0094724 24820010 */ addiu $v0, $a0, 0x10
/* 392FF8 E0094728 AC830000 */ sw $v1, ($a0)
/* 392FFC E009472C ACA20000 */ sw $v0, ($a1)
/* 393000 E0094730 3C020900 */ lui $v0, 0x900
/* 393004 E0094734 24420FF8 */ addiu $v0, $v0, 0xff8
/* 393008 E0094738 AC82000C */ sw $v0, 0xc($a0)
/* 39300C E009473C 24820018 */ addiu $v0, $a0, 0x18
/* 393010 E0094740 AC830008 */ sw $v1, 8($a0)
/* 393014 E0094744 ACA20000 */ sw $v0, ($a1)
/* 393018 E0094748 24020040 */ addiu $v0, $zero, 0x40
/* 39301C E009474C AC870010 */ sw $a3, 0x10($a0)
/* 393020 E0094750 AC820014 */ sw $v0, 0x14($a0)
.LE0094754:
/* 393024 E0094754 3C05D838 */ lui $a1, 0xd838
/* 393028 E0094758 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 39302C E009475C 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 393030 E0094760 8C620000 */ lw $v0, ($v1)
/* 393034 E0094764 34A50002 */ ori $a1, $a1, 2
/* 393038 E0094768 0040202D */ daddu $a0, $v0, $zero
/* 39303C E009476C 24420008 */ addiu $v0, $v0, 8
/* 393040 E0094770 AC620000 */ sw $v0, ($v1)
/* 393044 E0094774 24020040 */ addiu $v0, $zero, 0x40
/* 393048 E0094778 AC850000 */ sw $a1, ($a0)
/* 39304C E009477C AC820004 */ sw $v0, 4($a0)
/* 393050 E0094780 8FBF00F4 */ lw $ra, 0xf4($sp)
/* 393054 E0094784 8FB600F0 */ lw $s6, 0xf0($sp)
/* 393058 E0094788 8FB500EC */ lw $s5, 0xec($sp)
/* 39305C E009478C 8FB400E8 */ lw $s4, 0xe8($sp)
/* 393060 E0094790 8FB300E4 */ lw $s3, 0xe4($sp)
/* 393064 E0094794 8FB200E0 */ lw $s2, 0xe0($sp)
/* 393068 E0094798 8FB100DC */ lw $s1, 0xdc($sp)
/* 39306C E009479C 8FB000D8 */ lw $s0, 0xd8($sp)
/* 393070 E00947A0 03E00008 */ jr $ra
/* 393074 E00947A4 27BD00F8 */ addiu $sp, $sp, 0xf8
/* 393078 E00947A8 00000000 */ nop
/* 39307C E00947AC 00000000 */ nop

View File

@ -1,112 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel flashing_box_shockwave_main
/* 3928D0 E0094000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3928D4 E0094004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3928D8 E0094008 4485A000 */ mtc1 $a1, $f20
/* 3928DC E009400C AFB1002C */ sw $s1, 0x2c($sp)
/* 3928E0 E0094010 0080882D */ daddu $s1, $a0, $zero
/* 3928E4 E0094014 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3928E8 E0094018 4486B000 */ mtc1 $a2, $f22
/* 3928EC E009401C 27A40010 */ addiu $a0, $sp, 0x10
/* 3928F0 E0094020 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3928F4 E0094024 4487C000 */ mtc1 $a3, $f24
/* 3928F8 E0094028 3C02E009 */ lui $v0, %hi(flashing_box_shockwave_init)
/* 3928FC E009402C 24424190 */ addiu $v0, $v0, %lo(flashing_box_shockwave_init)
/* 392900 E0094030 AFA20018 */ sw $v0, 0x18($sp)
/* 392904 E0094034 3C02E009 */ lui $v0, %hi(flashing_box_shockwave_update)
/* 392908 E0094038 24424198 */ addiu $v0, $v0, %lo(flashing_box_shockwave_update)
/* 39290C E009403C AFA2001C */ sw $v0, 0x1c($sp)
/* 392910 E0094040 3C02E009 */ lui $v0, %hi(flashing_box_shockwave_render)
/* 392914 E0094044 244242C0 */ addiu $v0, $v0, %lo(flashing_box_shockwave_render)
/* 392918 E0094048 AFA20020 */ sw $v0, 0x20($sp)
/* 39291C E009404C 2402004A */ addiu $v0, $zero, 0x4a
/* 392920 E0094050 AFBF0030 */ sw $ra, 0x30($sp)
/* 392924 E0094054 AFB00028 */ sw $s0, 0x28($sp)
/* 392928 E0094058 AFA00010 */ sw $zero, 0x10($sp)
/* 39292C E009405C AFA00024 */ sw $zero, 0x24($sp)
/* 392930 E0094060 0C080124 */ jal shim_create_effect_instance
/* 392934 E0094064 AFA20014 */ sw $v0, 0x14($sp)
/* 392938 E0094068 24040048 */ addiu $a0, $zero, 0x48
/* 39293C E009406C 24030001 */ addiu $v1, $zero, 1
/* 392940 E0094070 0040802D */ daddu $s0, $v0, $zero
/* 392944 E0094074 0C08012C */ jal shim_general_heap_malloc
/* 392948 E0094078 AE030008 */ sw $v1, 8($s0)
/* 39294C E009407C 0040182D */ daddu $v1, $v0, $zero
/* 392950 E0094080 14600003 */ bnez $v1, .LE0094090
/* 392954 E0094084 AE02000C */ sw $v0, 0xc($s0)
.LE0094088:
/* 392958 E0094088 08025022 */ j .LE0094088
/* 39295C E009408C 00000000 */ nop
.LE0094090:
/* 392960 E0094090 2402001E */ addiu $v0, $zero, 0x1e
/* 392964 E0094094 AC62001C */ sw $v0, 0x1c($v1)
/* 392968 E0094098 240200FF */ addiu $v0, $zero, 0xff
/* 39296C E009409C AC620010 */ sw $v0, 0x10($v1)
/* 392970 E00940A0 AC620014 */ sw $v0, 0x14($v1)
/* 392974 E00940A4 AC620018 */ sw $v0, 0x18($v1)
/* 392978 E00940A8 24020002 */ addiu $v0, $zero, 2
/* 39297C E00940AC AC710000 */ sw $s1, ($v1)
/* 392980 E00940B0 AC600020 */ sw $zero, 0x20($v1)
/* 392984 E00940B4 E4740004 */ swc1 $f20, 4($v1)
/* 392988 E00940B8 E4760008 */ swc1 $f22, 8($v1)
/* 39298C E00940BC 16220005 */ bne $s1, $v0, .LE00940D4
/* 392990 E00940C0 E478000C */ swc1 $f24, 0xc($v1)
/* 392994 E00940C4 3C013F80 */ lui $at, 0x3f80
/* 392998 E00940C8 44810000 */ mtc1 $at, $f0
/* 39299C E00940CC 08025036 */ j .LE00940D8
/* 3929A0 E00940D0 E4600024 */ swc1 $f0, 0x24($v1)
.LE00940D4:
/* 3929A4 E00940D4 AC600024 */ sw $zero, 0x24($v1)
.LE00940D8:
/* 3929A8 E00940D8 C7A20060 */ lwc1 $f2, 0x60($sp)
/* 3929AC E00940DC 3C013FE0 */ lui $at, 0x3fe0
/* 3929B0 E00940E0 44812800 */ mtc1 $at, $f5
/* 3929B4 E00940E4 44802000 */ mtc1 $zero, $f4
/* 3929B8 E00940E8 460010A1 */ cvt.d.s $f2, $f2
/* 3929BC E00940EC 46241082 */ mul.d $f2, $f2, $f4
/* 3929C0 E00940F0 00000000 */ nop
/* 3929C4 E00940F4 C7A00064 */ lwc1 $f0, 0x64($sp)
/* 3929C8 E00940F8 46000021 */ cvt.d.s $f0, $f0
/* 3929CC E00940FC 46240002 */ mul.d $f0, $f0, $f4
/* 3929D0 E0094100 00000000 */ nop
/* 3929D4 E0094104 462010A0 */ cvt.s.d $f2, $f2
/* 3929D8 E0094108 46200020 */ cvt.s.d $f0, $f0
/* 3929DC E009410C E4620028 */ swc1 $f2, 0x28($v1)
/* 3929E0 E0094110 0620000C */ bltz $s1, .LE0094144
/* 3929E4 E0094114 E460002C */ swc1 $f0, 0x2c($v1)
/* 3929E8 E0094118 2A220002 */ slti $v0, $s1, 2
/* 3929EC E009411C 14400005 */ bnez $v0, .LE0094134
/* 3929F0 E0094120 240200FF */ addiu $v0, $zero, 0xff
/* 3929F4 E0094124 24020003 */ addiu $v0, $zero, 3
/* 3929F8 E0094128 16220007 */ bne $s1, $v0, .LE0094148
/* 3929FC E009412C 24020046 */ addiu $v0, $zero, 0x46
/* 392A00 E0094130 240200FF */ addiu $v0, $zero, 0xff
.LE0094134:
/* 392A04 E0094134 AC620030 */ sw $v0, 0x30($v1)
/* 392A08 E0094138 AC620034 */ sw $v0, 0x34($v1)
/* 392A0C E009413C 08025058 */ j .LE0094160
/* 392A10 E0094140 AC600038 */ sw $zero, 0x38($v1)
.LE0094144:
/* 392A14 E0094144 24020046 */ addiu $v0, $zero, 0x46
.LE0094148:
/* 392A18 E0094148 AC620030 */ sw $v0, 0x30($v1)
/* 392A1C E009414C 240200B4 */ addiu $v0, $zero, 0xb4
/* 392A20 E0094150 AC620034 */ sw $v0, 0x34($v1)
/* 392A24 E0094154 24020078 */ addiu $v0, $zero, 0x78
/* 392A28 E0094158 AC620038 */ sw $v0, 0x38($v1)
/* 392A2C E009415C 240200FF */ addiu $v0, $zero, 0xff
.LE0094160:
/* 392A30 E0094160 AC62003C */ sw $v0, 0x3c($v1)
/* 392A34 E0094164 AC620040 */ sw $v0, 0x40($v1)
/* 392A38 E0094168 AC620044 */ sw $v0, 0x44($v1)
/* 392A3C E009416C 0200102D */ daddu $v0, $s0, $zero
/* 392A40 E0094170 8FBF0030 */ lw $ra, 0x30($sp)
/* 392A44 E0094174 8FB1002C */ lw $s1, 0x2c($sp)
/* 392A48 E0094178 8FB00028 */ lw $s0, 0x28($sp)
/* 392A4C E009417C D7B80048 */ ldc1 $f24, 0x48($sp)
/* 392A50 E0094180 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 392A54 E0094184 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 392A58 E0094188 03E00008 */ jr $ra
/* 392A5C E009418C 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,101 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00947B0
.double 1.1
dlabel D_E00947B8
.double 0.05
dlabel D_E00947C0
.double 0.9
dlabel D_E00947C8
.double 0.8
.section .text
glabel flashing_box_shockwave_update
/* 392A68 E0094198 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 392A6C E009419C AFBF0010 */ sw $ra, 0x10($sp)
/* 392A70 E00941A0 8C83000C */ lw $v1, 0xc($a0)
/* 392A74 E00941A4 8C65001C */ lw $a1, 0x1c($v1)
/* 392A78 E00941A8 8C660000 */ lw $a2, ($v1)
/* 392A7C E00941AC 28A20064 */ slti $v0, $a1, 0x64
/* 392A80 E00941B0 10400002 */ beqz $v0, .LE00941BC
/* 392A84 E00941B4 24A2FFFF */ addiu $v0, $a1, -1
/* 392A88 E00941B8 AC62001C */ sw $v0, 0x1c($v1)
.LE00941BC:
/* 392A8C E00941BC 8C620020 */ lw $v0, 0x20($v1)
/* 392A90 E00941C0 8C65001C */ lw $a1, 0x1c($v1)
/* 392A94 E00941C4 24420001 */ addiu $v0, $v0, 1
/* 392A98 E00941C8 04A10005 */ bgez $a1, .LE00941E0
/* 392A9C E00941CC AC620020 */ sw $v0, 0x20($v1)
/* 392AA0 E00941D0 0C080128 */ jal shim_remove_effect
/* 392AA4 E00941D4 00000000 */ nop
/* 392AA8 E00941D8 080250AD */ j .LE00942B4
/* 392AAC E00941DC 00000000 */ nop
.LE00941E0:
/* 392AB0 E00941E0 0040202D */ daddu $a0, $v0, $zero
/* 392AB4 E00941E4 24020002 */ addiu $v0, $zero, 2
/* 392AB8 E00941E8 14C2000B */ bne $a2, $v0, .LE0094218
/* 392ABC E00941EC 28820015 */ slti $v0, $a0, 0x15
/* 392AC0 E00941F0 10400016 */ beqz $v0, .LE009424C
/* 392AC4 E00941F4 00000000 */ nop
/* 392AC8 E00941F8 C4600024 */ lwc1 $f0, 0x24($v1)
/* 392ACC E00941FC 3C01E009 */ lui $at, %hi(D_E00947B0)
/* 392AD0 E0094200 D42247B0 */ ldc1 $f2, %lo(D_E00947B0)($at)
/* 392AD4 E0094204 46000021 */ cvt.d.s $f0, $f0
/* 392AD8 E0094208 46220002 */ mul.d $f0, $f0, $f2
/* 392ADC E009420C 00000000 */ nop
/* 392AE0 E0094210 08025092 */ j .LE0094248
/* 392AE4 E0094214 46200020 */ cvt.s.d $f0, $f0
.LE0094218:
/* 392AE8 E0094218 C4600024 */ lwc1 $f0, 0x24($v1)
/* 392AEC E009421C 3C014020 */ lui $at, 0x4020
/* 392AF0 E0094220 44811800 */ mtc1 $at, $f3
/* 392AF4 E0094224 44801000 */ mtc1 $zero, $f2
/* 392AF8 E0094228 46000021 */ cvt.d.s $f0, $f0
/* 392AFC E009422C 46201081 */ sub.d $f2, $f2, $f0
/* 392B00 E0094230 3C01E009 */ lui $at, %hi(D_E00947B8)
/* 392B04 E0094234 D42447B8 */ ldc1 $f4, %lo(D_E00947B8)($at)
/* 392B08 E0094238 46241082 */ mul.d $f2, $f2, $f4
/* 392B0C E009423C 00000000 */ nop
/* 392B10 E0094240 46220000 */ add.d $f0, $f0, $f2
/* 392B14 E0094244 46200020 */ cvt.s.d $f0, $f0
.LE0094248:
/* 392B18 E0094248 E4600024 */ swc1 $f0, 0x24($v1)
.LE009424C:
/* 392B1C E009424C 3C01E009 */ lui $at, %hi(D_E00947C0)
/* 392B20 E0094250 D42247C0 */ ldc1 $f2, %lo(D_E00947C0)($at)
/* 392B24 E0094254 C4600014 */ lwc1 $f0, 0x14($v1)
/* 392B28 E0094258 46800021 */ cvt.d.w $f0, $f0
/* 392B2C E009425C 46220002 */ mul.d $f0, $f0, $f2
/* 392B30 E0094260 00000000 */ nop
/* 392B34 E0094264 28A20005 */ slti $v0, $a1, 5
/* 392B38 E0094268 4620018D */ trunc.w.d $f6, $f0
/* 392B3C E009426C E4660014 */ swc1 $f6, 0x14($v1)
/* 392B40 E0094270 10400009 */ beqz $v0, .LE0094298
/* 392B44 E0094274 28820007 */ slti $v0, $a0, 7
/* 392B48 E0094278 3C01E009 */ lui $at, %hi(D_E00947C8)
/* 392B4C E009427C D42247C8 */ ldc1 $f2, %lo(D_E00947C8)($at)
/* 392B50 E0094280 C4600018 */ lwc1 $f0, 0x18($v1)
/* 392B54 E0094284 46800021 */ cvt.d.w $f0, $f0
/* 392B58 E0094288 46220002 */ mul.d $f0, $f0, $f2
/* 392B5C E009428C 00000000 */ nop
/* 392B60 E0094290 4620018D */ trunc.w.d $f6, $f0
/* 392B64 E0094294 E4660018 */ swc1 $f6, 0x18($v1)
.LE0094298:
/* 392B68 E0094298 14400006 */ bnez $v0, .LE00942B4
/* 392B6C E009429C 00000000 */ nop
/* 392B70 E00942A0 8C620010 */ lw $v0, 0x10($v1)
/* 392B74 E00942A4 2442FFF3 */ addiu $v0, $v0, -0xd
/* 392B78 E00942A8 04410002 */ bgez $v0, .LE00942B4
/* 392B7C E00942AC AC620010 */ sw $v0, 0x10($v1)
/* 392B80 E00942B0 AC600010 */ sw $zero, 0x10($v1)
.LE00942B4:
/* 392B84 E00942B4 8FBF0010 */ lw $ra, 0x10($sp)
/* 392B88 E00942B8 03E00008 */ jr $ra
/* 392B8C E00942BC 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,163 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel floating_cloud_puff_appendGfx
/* 3D4BF4 E00D2284 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 3D4BF8 E00D2288 0080302D */ daddu $a2, $a0, $zero
/* 3D4BFC E00D228C 3C07DB06 */ lui $a3, 0xdb06
/* 3D4C00 E00D2290 34E70024 */ ori $a3, $a3, 0x24
/* 3D4C04 E00D2294 27A40010 */ addiu $a0, $sp, 0x10
/* 3D4C08 E00D2298 AFB600A8 */ sw $s6, 0xa8($sp)
/* 3D4C0C E00D229C 3C160001 */ lui $s6, 1
/* 3D4C10 E00D22A0 AFB3009C */ sw $s3, 0x9c($sp)
/* 3D4C14 E00D22A4 3C13800A */ lui $s3, %hi(gMasterGfxPos)
/* 3D4C18 E00D22A8 2673A66C */ addiu $s3, $s3, %lo(gMasterGfxPos)
/* 3D4C1C E00D22AC 36D61630 */ ori $s6, $s6, 0x1630
/* 3D4C20 E00D22B0 AFBF00AC */ sw $ra, 0xac($sp)
/* 3D4C24 E00D22B4 AFB500A4 */ sw $s5, 0xa4($sp)
/* 3D4C28 E00D22B8 AFB400A0 */ sw $s4, 0xa0($sp)
/* 3D4C2C E00D22BC AFB20098 */ sw $s2, 0x98($sp)
/* 3D4C30 E00D22C0 AFB10094 */ sw $s1, 0x94($sp)
/* 3D4C34 E00D22C4 AFB00090 */ sw $s0, 0x90($sp)
/* 3D4C38 E00D22C8 F7B400B0 */ sdc1 $f20, 0xb0($sp)
/* 3D4C3C E00D22CC 8E650000 */ lw $a1, ($s3)
/* 3D4C40 E00D22D0 8CD2000C */ lw $s2, 0xc($a2)
/* 3D4C44 E00D22D4 00A0182D */ daddu $v1, $a1, $zero
/* 3D4C48 E00D22D8 24A50008 */ addiu $a1, $a1, 8
/* 3D4C4C E00D22DC AE650000 */ sw $a1, ($s3)
/* 3D4C50 E00D22E0 8E550024 */ lw $s5, 0x24($s2)
/* 3D4C54 E00D22E4 C6540034 */ lwc1 $f20, 0x34($s2)
/* 3D4C58 E00D22E8 C6400038 */ lwc1 $f0, 0x38($s2)
/* 3D4C5C E00D22EC 3C02E700 */ lui $v0, 0xe700
/* 3D4C60 E00D22F0 AC620000 */ sw $v0, ($v1)
/* 3D4C64 E00D22F4 AC600004 */ sw $zero, 4($v1)
/* 3D4C68 E00D22F8 ACA70000 */ sw $a3, ($a1)
/* 3D4C6C E00D22FC 8CC30010 */ lw $v1, 0x10($a2)
/* 3D4C70 E00D2300 24A20008 */ addiu $v0, $a1, 8
/* 3D4C74 E00D2304 AE620000 */ sw $v0, ($s3)
/* 3D4C78 E00D2308 8C62001C */ lw $v0, 0x1c($v1)
/* 3D4C7C E00D230C 3C038000 */ lui $v1, 0x8000
/* 3D4C80 E00D2310 4600A502 */ mul.s $f20, $f20, $f0
/* 3D4C84 E00D2314 00000000 */ nop
/* 3D4C88 E00D2318 00431021 */ addu $v0, $v0, $v1
/* 3D4C8C E00D231C 3C03800B */ lui $v1, %hi(gCameras)
/* 3D4C90 E00D2320 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3D4C94 E00D2324 ACA20004 */ sw $v0, 4($a1)
/* 3D4C98 E00D2328 8E450004 */ lw $a1, 4($s2)
/* 3D4C9C E00D232C 8E460008 */ lw $a2, 8($s2)
/* 3D4CA0 E00D2330 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3D4CA4 E00D2334 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3D4CA8 E00D2338 8E47000C */ lw $a3, 0xc($s2)
/* 3D4CAC E00D233C 00028880 */ sll $s1, $v0, 2
/* 3D4CB0 E00D2340 02228821 */ addu $s1, $s1, $v0
/* 3D4CB4 E00D2344 00118880 */ sll $s1, $s1, 2
/* 3D4CB8 E00D2348 02228823 */ subu $s1, $s1, $v0
/* 3D4CBC E00D234C 001110C0 */ sll $v0, $s1, 3
/* 3D4CC0 E00D2350 02228821 */ addu $s1, $s1, $v0
/* 3D4CC4 E00D2354 001188C0 */ sll $s1, $s1, 3
/* 3D4CC8 E00D2358 0C080108 */ jal shim_guTranslateF
/* 3D4CCC E00D235C 02238821 */ addu $s1, $s1, $v1
/* 3D4CD0 E00D2360 27B00050 */ addiu $s0, $sp, 0x50
/* 3D4CD4 E00D2364 4405A000 */ mfc1 $a1, $f20
/* 3D4CD8 E00D2368 0200202D */ daddu $a0, $s0, $zero
/* 3D4CDC E00D236C 00A0302D */ daddu $a2, $a1, $zero
/* 3D4CE0 E00D2370 0C080110 */ jal shim_guScaleF
/* 3D4CE4 E00D2374 00A0382D */ daddu $a3, $a1, $zero
/* 3D4CE8 E00D2378 0200202D */ daddu $a0, $s0, $zero
/* 3D4CEC E00D237C 27A50010 */ addiu $a1, $sp, 0x10
/* 3D4CF0 E00D2380 0C080114 */ jal shim_guMtxCatF
/* 3D4CF4 E00D2384 00A0302D */ daddu $a2, $a1, $zero
/* 3D4CF8 E00D2388 27A40010 */ addiu $a0, $sp, 0x10
/* 3D4CFC E00D238C 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 3D4D00 E00D2390 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 3D4D04 E00D2394 3C14800A */ lui $s4, %hi(gDisplayContext)
/* 3D4D08 E00D2398 2694A674 */ addiu $s4, $s4, %lo(gDisplayContext)
/* 3D4D0C E00D239C 96050000 */ lhu $a1, ($s0)
/* 3D4D10 E00D23A0 8E820000 */ lw $v0, ($s4)
/* 3D4D14 E00D23A4 00052980 */ sll $a1, $a1, 6
/* 3D4D18 E00D23A8 00B62821 */ addu $a1, $a1, $s6
/* 3D4D1C E00D23AC 0C080118 */ jal shim_guMtxF2L
/* 3D4D20 E00D23B0 00452821 */ addu $a1, $v0, $a1
/* 3D4D24 E00D23B4 3C03DA38 */ lui $v1, 0xda38
/* 3D4D28 E00D23B8 34630002 */ ori $v1, $v1, 2
/* 3D4D2C E00D23BC 3C06DA38 */ lui $a2, 0xda38
/* 3D4D30 E00D23C0 34C60001 */ ori $a2, $a2, 1
/* 3D4D34 E00D23C4 3C08D838 */ lui $t0, 0xd838
/* 3D4D38 E00D23C8 35080002 */ ori $t0, $t0, 2
/* 3D4D3C E00D23CC 32B500FF */ andi $s5, $s5, 0xff
/* 3D4D40 E00D23D0 8E640000 */ lw $a0, ($s3)
/* 3D4D44 E00D23D4 96020000 */ lhu $v0, ($s0)
/* 3D4D48 E00D23D8 0080282D */ daddu $a1, $a0, $zero
/* 3D4D4C E00D23DC 24840008 */ addiu $a0, $a0, 8
/* 3D4D50 E00D23E0 AE640000 */ sw $a0, ($s3)
/* 3D4D54 E00D23E4 ACA30000 */ sw $v1, ($a1)
/* 3D4D58 E00D23E8 24430001 */ addiu $v1, $v0, 1
/* 3D4D5C E00D23EC 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D4D60 E00D23F0 00021180 */ sll $v0, $v0, 6
/* 3D4D64 E00D23F4 A6030000 */ sh $v1, ($s0)
/* 3D4D68 E00D23F8 8E830000 */ lw $v1, ($s4)
/* 3D4D6C E00D23FC 00561021 */ addu $v0, $v0, $s6
/* 3D4D70 E00D2400 00621821 */ addu $v1, $v1, $v0
/* 3D4D74 E00D2404 24820008 */ addiu $v0, $a0, 8
/* 3D4D78 E00D2408 ACA30004 */ sw $v1, 4($a1)
/* 3D4D7C E00D240C AE620000 */ sw $v0, ($s3)
/* 3D4D80 E00D2410 24820010 */ addiu $v0, $a0, 0x10
/* 3D4D84 E00D2414 AC860000 */ sw $a2, ($a0)
/* 3D4D88 E00D2418 AE620000 */ sw $v0, ($s3)
/* 3D4D8C E00D241C 8E230204 */ lw $v1, 0x204($s1)
/* 3D4D90 E00D2420 3C02FA00 */ lui $v0, 0xfa00
/* 3D4D94 E00D2424 AC820008 */ sw $v0, 8($a0)
/* 3D4D98 E00D2428 AC830004 */ sw $v1, 4($a0)
/* 3D4D9C E00D242C 9242001B */ lbu $v0, 0x1b($s2)
/* 3D4DA0 E00D2430 9245001F */ lbu $a1, 0x1f($s2)
/* 3D4DA4 E00D2434 92460023 */ lbu $a2, 0x23($s2)
/* 3D4DA8 E00D2438 24830018 */ addiu $v1, $a0, 0x18
/* 3D4DAC E00D243C AE630000 */ sw $v1, ($s3)
/* 3D4DB0 E00D2440 3C03FB00 */ lui $v1, 0xfb00
/* 3D4DB4 E00D2444 AC830010 */ sw $v1, 0x10($a0)
/* 3D4DB8 E00D2448 00021600 */ sll $v0, $v0, 0x18
/* 3D4DBC E00D244C 00052C00 */ sll $a1, $a1, 0x10
/* 3D4DC0 E00D2450 00451025 */ or $v0, $v0, $a1
/* 3D4DC4 E00D2454 00063200 */ sll $a2, $a2, 8
/* 3D4DC8 E00D2458 00461025 */ or $v0, $v0, $a2
/* 3D4DCC E00D245C 00551025 */ or $v0, $v0, $s5
/* 3D4DD0 E00D2460 AC82000C */ sw $v0, 0xc($a0)
/* 3D4DD4 E00D2464 24820020 */ addiu $v0, $a0, 0x20
/* 3D4DD8 E00D2468 9243002B */ lbu $v1, 0x2b($s2)
/* 3D4DDC E00D246C 9246002F */ lbu $a2, 0x2f($s2)
/* 3D4DE0 E00D2470 92470033 */ lbu $a3, 0x33($s2)
/* 3D4DE4 E00D2474 3C05DE00 */ lui $a1, 0xde00
/* 3D4DE8 E00D2478 AE620000 */ sw $v0, ($s3)
/* 3D4DEC E00D247C 3C020900 */ lui $v0, 0x900
/* 3D4DF0 E00D2480 24420080 */ addiu $v0, $v0, 0x80
/* 3D4DF4 E00D2484 AC82001C */ sw $v0, 0x1c($a0)
/* 3D4DF8 E00D2488 24820028 */ addiu $v0, $a0, 0x28
/* 3D4DFC E00D248C AC850018 */ sw $a1, 0x18($a0)
/* 3D4E00 E00D2490 AE620000 */ sw $v0, ($s3)
/* 3D4E04 E00D2494 3C020900 */ lui $v0, 0x900
/* 3D4E08 E00D2498 24420168 */ addiu $v0, $v0, 0x168
/* 3D4E0C E00D249C AC820024 */ sw $v0, 0x24($a0)
/* 3D4E10 E00D24A0 24820030 */ addiu $v0, $a0, 0x30
/* 3D4E14 E00D24A4 AC850020 */ sw $a1, 0x20($a0)
/* 3D4E18 E00D24A8 AE620000 */ sw $v0, ($s3)
/* 3D4E1C E00D24AC 24020040 */ addiu $v0, $zero, 0x40
/* 3D4E20 E00D24B0 AC880028 */ sw $t0, 0x28($a0)
/* 3D4E24 E00D24B4 AC82002C */ sw $v0, 0x2c($a0)
/* 3D4E28 E00D24B8 00031E00 */ sll $v1, $v1, 0x18
/* 3D4E2C E00D24BC 00063400 */ sll $a2, $a2, 0x10
/* 3D4E30 E00D24C0 00661825 */ or $v1, $v1, $a2
/* 3D4E34 E00D24C4 00073A00 */ sll $a3, $a3, 8
/* 3D4E38 E00D24C8 00671825 */ or $v1, $v1, $a3
/* 3D4E3C E00D24CC AC830014 */ sw $v1, 0x14($a0)
/* 3D4E40 E00D24D0 8FBF00AC */ lw $ra, 0xac($sp)
/* 3D4E44 E00D24D4 8FB600A8 */ lw $s6, 0xa8($sp)
/* 3D4E48 E00D24D8 8FB500A4 */ lw $s5, 0xa4($sp)
/* 3D4E4C E00D24DC 8FB400A0 */ lw $s4, 0xa0($sp)
/* 3D4E50 E00D24E0 8FB3009C */ lw $s3, 0x9c($sp)
/* 3D4E54 E00D24E4 8FB20098 */ lw $s2, 0x98($sp)
/* 3D4E58 E00D24E8 8FB10094 */ lw $s1, 0x94($sp)
/* 3D4E5C E00D24EC 8FB00090 */ lw $s0, 0x90($sp)
/* 3D4E60 E00D24F0 D7B400B0 */ ldc1 $f20, 0xb0($sp)
/* 3D4E64 E00D24F4 03E00008 */ jr $ra
/* 3D4E68 E00D24F8 27BD00B8 */ addiu $sp, $sp, 0xb8
/* 3D4E6C E00D24FC 00000000 */ nop

View File

@ -1,78 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel floating_cloud_puff_main
/* 3D4970 E00D2000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3D4974 E00D2004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3D4978 E00D2008 4485A000 */ mtc1 $a1, $f20
/* 3D497C E00D200C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3D4980 E00D2010 4486B000 */ mtc1 $a2, $f22
/* 3D4984 E00D2014 AFB20030 */ sw $s2, 0x30($sp)
/* 3D4988 E00D2018 0080902D */ daddu $s2, $a0, $zero
/* 3D498C E00D201C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3D4990 E00D2020 4487C000 */ mtc1 $a3, $f24
/* 3D4994 E00D2024 27A40010 */ addiu $a0, $sp, 0x10
/* 3D4998 E00D2028 AFB1002C */ sw $s1, 0x2c($sp)
/* 3D499C E00D202C 8FB10064 */ lw $s1, 0x64($sp)
/* 3D49A0 E00D2030 3C02E00D */ lui $v0, %hi(floating_cloud_puff_init)
/* 3D49A4 E00D2034 24422118 */ addiu $v0, $v0, %lo(floating_cloud_puff_init)
/* 3D49A8 E00D2038 AFA20018 */ sw $v0, 0x18($sp)
/* 3D49AC E00D203C 3C02E00D */ lui $v0, %hi(floating_cloud_puff_update)
/* 3D49B0 E00D2040 24422120 */ addiu $v0, $v0, %lo(floating_cloud_puff_update)
/* 3D49B4 E00D2044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3D49B8 E00D2048 3C02E00D */ lui $v0, %hi(floating_cloud_puff_render)
/* 3D49BC E00D204C 24422234 */ addiu $v0, $v0, %lo(floating_cloud_puff_render)
/* 3D49C0 E00D2050 AFA20020 */ sw $v0, 0x20($sp)
/* 3D49C4 E00D2054 24020069 */ addiu $v0, $zero, 0x69
/* 3D49C8 E00D2058 AFBF0034 */ sw $ra, 0x34($sp)
/* 3D49CC E00D205C AFB00028 */ sw $s0, 0x28($sp)
/* 3D49D0 E00D2060 AFA00010 */ sw $zero, 0x10($sp)
/* 3D49D4 E00D2064 AFA00024 */ sw $zero, 0x24($sp)
/* 3D49D8 E00D2068 0C080124 */ jal shim_create_effect_instance
/* 3D49DC E00D206C AFA20014 */ sw $v0, 0x14($sp)
/* 3D49E0 E00D2070 2404003C */ addiu $a0, $zero, 0x3c
/* 3D49E4 E00D2074 24030001 */ addiu $v1, $zero, 1
/* 3D49E8 E00D2078 0040802D */ daddu $s0, $v0, $zero
/* 3D49EC E00D207C 0C08012C */ jal shim_general_heap_malloc
/* 3D49F0 E00D2080 AE030008 */ sw $v1, 8($s0)
/* 3D49F4 E00D2084 0040202D */ daddu $a0, $v0, $zero
/* 3D49F8 E00D2088 14800003 */ bnez $a0, .LE00D2098
/* 3D49FC E00D208C AE02000C */ sw $v0, 0xc($s0)
.LE00D2090:
/* 3D4A00 E00D2090 08034824 */ j .LE00D2090
/* 3D4A04 E00D2094 00000000 */ nop
.LE00D2098:
/* 3D4A08 E00D2098 AC920000 */ sw $s2, ($a0)
/* 3D4A0C E00D209C 1E200004 */ bgtz $s1, .LE00D20B0
/* 3D4A10 E00D20A0 AC800014 */ sw $zero, 0x14($a0)
/* 3D4A14 E00D20A4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3D4A18 E00D20A8 0803482D */ j .LE00D20B4
/* 3D4A1C E00D20AC AC820010 */ sw $v0, 0x10($a0)
.LE00D20B0:
/* 3D4A20 E00D20B0 AC910010 */ sw $s1, 0x10($a0)
.LE00D20B4:
/* 3D4A24 E00D20B4 240300FF */ addiu $v1, $zero, 0xff
/* 3D4A28 E00D20B8 AC830024 */ sw $v1, 0x24($a0)
/* 3D4A2C E00D20BC E4940004 */ swc1 $f20, 4($a0)
/* 3D4A30 E00D20C0 E4960008 */ swc1 $f22, 8($a0)
/* 3D4A34 E00D20C4 E498000C */ swc1 $f24, 0xc($a0)
/* 3D4A38 E00D20C8 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 3D4A3C E00D20CC 0200102D */ daddu $v0, $s0, $zero
/* 3D4A40 E00D20D0 AC830018 */ sw $v1, 0x18($a0)
/* 3D4A44 E00D20D4 AC83001C */ sw $v1, 0x1c($a0)
/* 3D4A48 E00D20D8 AC830020 */ sw $v1, 0x20($a0)
/* 3D4A4C E00D20DC 2403000A */ addiu $v1, $zero, 0xa
/* 3D4A50 E00D20E0 AC830028 */ sw $v1, 0x28($a0)
/* 3D4A54 E00D20E4 AC83002C */ sw $v1, 0x2c($a0)
/* 3D4A58 E00D20E8 24030078 */ addiu $v1, $zero, 0x78
/* 3D4A5C E00D20EC AC830030 */ sw $v1, 0x30($a0)
/* 3D4A60 E00D20F0 E4800034 */ swc1 $f0, 0x34($a0)
/* 3D4A64 E00D20F4 8FBF0034 */ lw $ra, 0x34($sp)
/* 3D4A68 E00D20F8 8FB20030 */ lw $s2, 0x30($sp)
/* 3D4A6C E00D20FC 8FB1002C */ lw $s1, 0x2c($sp)
/* 3D4A70 E00D2100 8FB00028 */ lw $s0, 0x28($sp)
/* 3D4A74 E00D2104 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3D4A78 E00D2108 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3D4A7C E00D210C D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3D4A80 E00D2110 03E00008 */ jr $ra
/* 3D4A84 E00D2114 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,143 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel floating_rock_appendGfx
/* 395E9C E00982EC 27BDFF80 */ addiu $sp, $sp, -0x80
/* 395EA0 E00982F0 3C05DB06 */ lui $a1, 0xdb06
/* 395EA4 E00982F4 AFB50074 */ sw $s5, 0x74($sp)
/* 395EA8 E00982F8 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 395EAC E00982FC 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 395EB0 E0098300 34A50024 */ ori $a1, $a1, 0x24
/* 395EB4 E0098304 3C02E700 */ lui $v0, 0xe700
/* 395EB8 E0098308 AFBF0078 */ sw $ra, 0x78($sp)
/* 395EBC E009830C AFB40070 */ sw $s4, 0x70($sp)
/* 395EC0 E0098310 AFB3006C */ sw $s3, 0x6c($sp)
/* 395EC4 E0098314 AFB20068 */ sw $s2, 0x68($sp)
/* 395EC8 E0098318 AFB10064 */ sw $s1, 0x64($sp)
/* 395ECC E009831C AFB00060 */ sw $s0, 0x60($sp)
/* 395ED0 E0098320 8EA80000 */ lw $t0, ($s5)
/* 395ED4 E0098324 8C94000C */ lw $s4, 0xc($a0)
/* 395ED8 E0098328 0100182D */ daddu $v1, $t0, $zero
/* 395EDC E009832C 8E930044 */ lw $s3, 0x44($s4)
/* 395EE0 E0098330 25080008 */ addiu $t0, $t0, 8
/* 395EE4 E0098334 AC620000 */ sw $v0, ($v1)
/* 395EE8 E0098338 AC600004 */ sw $zero, 4($v1)
/* 395EEC E009833C AD050000 */ sw $a1, ($t0)
/* 395EF0 E0098340 8C820010 */ lw $v0, 0x10($a0)
/* 395EF4 E0098344 8C42001C */ lw $v0, 0x1c($v0)
/* 395EF8 E0098348 3C038000 */ lui $v1, 0x8000
/* 395EFC E009834C 00431021 */ addu $v0, $v0, $v1
/* 395F00 E0098350 AD020004 */ sw $v0, 4($t0)
/* 395F04 E0098354 C680003C */ lwc1 $f0, 0x3c($s4)
/* 395F08 E0098358 E7A00010 */ swc1 $f0, 0x10($sp)
/* 395F0C E009835C C6800004 */ lwc1 $f0, 4($s4)
/* 395F10 E0098360 3C120001 */ lui $s2, 1
/* 395F14 E0098364 E7A00014 */ swc1 $f0, 0x14($sp)
/* 395F18 E0098368 C6800008 */ lwc1 $f0, 8($s4)
/* 395F1C E009836C 36521630 */ ori $s2, $s2, 0x1630
/* 395F20 E0098370 E7A00018 */ swc1 $f0, 0x18($sp)
/* 395F24 E0098374 C680000C */ lwc1 $f0, 0xc($s4)
/* 395F28 E0098378 27A40020 */ addiu $a0, $sp, 0x20
/* 395F2C E009837C AEA80000 */ sw $t0, ($s5)
/* 395F30 E0098380 E7A0001C */ swc1 $f0, 0x1c($sp)
/* 395F34 E0098384 8E850024 */ lw $a1, 0x24($s4)
/* 395F38 E0098388 8E86002C */ lw $a2, 0x2c($s4)
/* 395F3C E009838C 8E870028 */ lw $a3, 0x28($s4)
/* 395F40 E0098390 25080008 */ addiu $t0, $t0, 8
/* 395F44 E0098394 0C080180 */ jal shim_guPositionF
/* 395F48 E0098398 AEA80000 */ sw $t0, ($s5)
/* 395F4C E009839C 27A40020 */ addiu $a0, $sp, 0x20
/* 395F50 E00983A0 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 395F54 E00983A4 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 395F58 E00983A8 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 395F5C E00983AC 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 395F60 E00983B0 96050000 */ lhu $a1, ($s0)
/* 395F64 E00983B4 8E220000 */ lw $v0, ($s1)
/* 395F68 E00983B8 00052980 */ sll $a1, $a1, 6
/* 395F6C E00983BC 00B22821 */ addu $a1, $a1, $s2
/* 395F70 E00983C0 0C080118 */ jal shim_guMtxF2L
/* 395F74 E00983C4 00452821 */ addu $a1, $v0, $a1
/* 395F78 E00983C8 3C05D7D7 */ lui $a1, 0xd7d7
/* 395F7C E00983CC 8EA60000 */ lw $a2, ($s5)
/* 395F80 E00983D0 34A56E00 */ ori $a1, $a1, 0x6e00
/* 395F84 E00983D4 00C0202D */ daddu $a0, $a2, $zero
/* 395F88 E00983D8 24C60008 */ addiu $a2, $a2, 8
/* 395F8C E00983DC AEA60000 */ sw $a2, ($s5)
/* 395F90 E00983E0 96020000 */ lhu $v0, ($s0)
/* 395F94 E00983E4 3C03DA38 */ lui $v1, 0xda38
/* 395F98 E00983E8 AC830000 */ sw $v1, ($a0)
/* 395F9C E00983EC 24430001 */ addiu $v1, $v0, 1
/* 395FA0 E00983F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 395FA4 E00983F4 00021180 */ sll $v0, $v0, 6
/* 395FA8 E00983F8 A6030000 */ sh $v1, ($s0)
/* 395FAC E00983FC 8E230000 */ lw $v1, ($s1)
/* 395FB0 E0098400 00521021 */ addu $v0, $v0, $s2
/* 395FB4 E0098404 00621821 */ addu $v1, $v1, $v0
/* 395FB8 E0098408 24C20008 */ addiu $v0, $a2, 8
/* 395FBC E009840C AC830004 */ sw $v1, 4($a0)
/* 395FC0 E0098410 AEA20000 */ sw $v0, ($s5)
/* 395FC4 E0098414 3C02FA00 */ lui $v0, 0xfa00
/* 395FC8 E0098418 ACC20000 */ sw $v0, ($a2)
/* 395FCC E009841C 326200FF */ andi $v0, $s3, 0xff
/* 395FD0 E0098420 00451025 */ or $v0, $v0, $a1
/* 395FD4 E0098424 ACC20004 */ sw $v0, 4($a2)
/* 395FD8 E0098428 240200FF */ addiu $v0, $zero, 0xff
/* 395FDC E009842C 12620005 */ beq $s3, $v0, .LE0098444
/* 395FE0 E0098430 3C04E200 */ lui $a0, 0xe200
/* 395FE4 E0098434 3484001C */ ori $a0, $a0, 0x1c
/* 395FE8 E0098438 3C030050 */ lui $v1, 0x50
/* 395FEC E009843C 08026114 */ j .LE0098450
/* 395FF0 E0098440 346349D8 */ ori $v1, $v1, 0x49d8
.LE0098444:
/* 395FF4 E0098444 3484001C */ ori $a0, $a0, 0x1c
/* 395FF8 E0098448 3C030055 */ lui $v1, 0x55
/* 395FFC E009844C 34632078 */ ori $v1, $v1, 0x2078
.LE0098450:
/* 396000 E0098450 24C20010 */ addiu $v0, $a2, 0x10
/* 396004 E0098454 AEA20000 */ sw $v0, ($s5)
/* 396008 E0098458 ACC40008 */ sw $a0, 8($a2)
/* 39600C E009845C ACC3000C */ sw $v1, 0xc($a2)
/* 396010 E0098460 3C07D838 */ lui $a3, 0xd838
/* 396014 E0098464 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 396018 E0098468 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 39601C E009846C 34E70002 */ ori $a3, $a3, 2
/* 396020 E0098470 3C06DE00 */ lui $a2, 0xde00
/* 396024 E0098474 8CA40000 */ lw $a0, ($a1)
/* 396028 E0098478 3C020900 */ lui $v0, 0x900
/* 39602C E009847C 24420450 */ addiu $v0, $v0, 0x450
/* 396030 E0098480 0080182D */ daddu $v1, $a0, $zero
/* 396034 E0098484 24840008 */ addiu $a0, $a0, 8
/* 396038 E0098488 ACA40000 */ sw $a0, ($a1)
/* 39603C E009848C AC620004 */ sw $v0, 4($v1)
/* 396040 E0098490 24820008 */ addiu $v0, $a0, 8
/* 396044 E0098494 AC660000 */ sw $a2, ($v1)
/* 396048 E0098498 ACA20000 */ sw $v0, ($a1)
/* 39604C E009849C AC860000 */ sw $a2, ($a0)
/* 396050 E00984A0 8E820000 */ lw $v0, ($s4)
/* 396054 E00984A4 24830010 */ addiu $v1, $a0, 0x10
/* 396058 E00984A8 ACA30000 */ sw $v1, ($a1)
/* 39605C E00984AC 00021080 */ sll $v0, $v0, 2
/* 396060 E00984B0 3C03E00A */ lui $v1, %hi(D_E0098510)
/* 396064 E00984B4 00621821 */ addu $v1, $v1, $v0
/* 396068 E00984B8 8C638510 */ lw $v1, %lo(D_E0098510)($v1)
/* 39606C E00984BC 24820018 */ addiu $v0, $a0, 0x18
/* 396070 E00984C0 ACA20000 */ sw $v0, ($a1)
/* 396074 E00984C4 24020040 */ addiu $v0, $zero, 0x40
/* 396078 E00984C8 AC82000C */ sw $v0, 0xc($a0)
/* 39607C E00984CC 3C02E700 */ lui $v0, 0xe700
/* 396080 E00984D0 AC870008 */ sw $a3, 8($a0)
/* 396084 E00984D4 AC820010 */ sw $v0, 0x10($a0)
/* 396088 E00984D8 AC800014 */ sw $zero, 0x14($a0)
/* 39608C E00984DC AC830004 */ sw $v1, 4($a0)
/* 396090 E00984E0 8FBF0078 */ lw $ra, 0x78($sp)
/* 396094 E00984E4 8FB50074 */ lw $s5, 0x74($sp)
/* 396098 E00984E8 8FB40070 */ lw $s4, 0x70($sp)
/* 39609C E00984EC 8FB3006C */ lw $s3, 0x6c($sp)
/* 3960A0 E00984F0 8FB20068 */ lw $s2, 0x68($sp)
/* 3960A4 E00984F4 8FB10064 */ lw $s1, 0x64($sp)
/* 3960A8 E00984F8 8FB00060 */ lw $s0, 0x60($sp)
/* 3960AC E00984FC 03E00008 */ jr $ra
/* 3960B0 E0098500 27BD0080 */ addiu $sp, $sp, 0x80
/* 3960B4 E0098504 00000000 */ nop
/* 3960B8 E0098508 00000000 */ nop
/* 3960BC E009850C 00000000 */ nop

View File

@ -1,511 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_E00C29A8
.word LE00C27F0_3C19C0, LE00C2818_3C19E8, LE00C2830_3C1A00, LE00C2848_3C1A18, LE00C2860_3C1A30, LE00C2878_3C1A48, LE00C2890_3C1A60, LE00C28A8_3C1A78, LE00C28C0_3C1A90, LE00C28D8_3C1AA8
.section .text
glabel fright_jar_appendGfx
/* 3C13EC E00C221C 27BDFF40 */ addiu $sp, $sp, -0xc0
/* 3C13F0 E00C2220 0080302D */ daddu $a2, $a0, $zero
/* 3C13F4 E00C2224 3C07DB06 */ lui $a3, 0xdb06
/* 3C13F8 E00C2228 34E70024 */ ori $a3, $a3, 0x24
/* 3C13FC E00C222C 27A40010 */ addiu $a0, $sp, 0x10
/* 3C1400 E00C2230 AFB300A4 */ sw $s3, 0xa4($sp)
/* 3C1404 E00C2234 3C130001 */ lui $s3, 1
/* 3C1408 E00C2238 AFB400A8 */ sw $s4, 0xa8($sp)
/* 3C140C E00C223C 3C14800A */ lui $s4, %hi(gMasterGfxPos)
/* 3C1410 E00C2240 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos)
/* 3C1414 E00C2244 AFBF00B8 */ sw $ra, 0xb8($sp)
/* 3C1418 E00C2248 AFB700B4 */ sw $s7, 0xb4($sp)
/* 3C141C E00C224C AFB600B0 */ sw $s6, 0xb0($sp)
/* 3C1420 E00C2250 AFB500AC */ sw $s5, 0xac($sp)
/* 3C1424 E00C2254 AFB200A0 */ sw $s2, 0xa0($sp)
/* 3C1428 E00C2258 AFB1009C */ sw $s1, 0x9c($sp)
/* 3C142C E00C225C AFB00098 */ sw $s0, 0x98($sp)
/* 3C1430 E00C2260 8E850000 */ lw $a1, ($s4)
/* 3C1434 E00C2264 8CD6000C */ lw $s6, 0xc($a2)
/* 3C1438 E00C2268 00A0182D */ daddu $v1, $a1, $zero
/* 3C143C E00C226C 24A50008 */ addiu $a1, $a1, 8
/* 3C1440 E00C2270 AE850000 */ sw $a1, ($s4)
/* 3C1444 E00C2274 8ED50014 */ lw $s5, 0x14($s6)
/* 3C1448 E00C2278 8ED70024 */ lw $s7, 0x24($s6)
/* 3C144C E00C227C 3C02E700 */ lui $v0, 0xe700
/* 3C1450 E00C2280 AFB70090 */ sw $s7, 0x90($sp)
/* 3C1454 E00C2284 AC620000 */ sw $v0, ($v1)
/* 3C1458 E00C2288 AC600004 */ sw $zero, 4($v1)
/* 3C145C E00C228C ACA70000 */ sw $a3, ($a1)
/* 3C1460 E00C2290 8CC30010 */ lw $v1, 0x10($a2)
/* 3C1464 E00C2294 24A20008 */ addiu $v0, $a1, 8
/* 3C1468 E00C2298 AE820000 */ sw $v0, ($s4)
/* 3C146C E00C229C 8C62001C */ lw $v0, 0x1c($v1)
/* 3C1470 E00C22A0 3C038000 */ lui $v1, 0x8000
/* 3C1474 E00C22A4 00431021 */ addu $v0, $v0, $v1
/* 3C1478 E00C22A8 3C03800B */ lui $v1, %hi(gCameras)
/* 3C147C E00C22AC 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3C1480 E00C22B0 ACA20004 */ sw $v0, 4($a1)
/* 3C1484 E00C22B4 8EC50004 */ lw $a1, 4($s6)
/* 3C1488 E00C22B8 8EC60008 */ lw $a2, 8($s6)
/* 3C148C E00C22BC 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3C1490 E00C22C0 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3C1494 E00C22C4 8EC7000C */ lw $a3, 0xc($s6)
/* 3C1498 E00C22C8 00028080 */ sll $s0, $v0, 2
/* 3C149C E00C22CC 02028021 */ addu $s0, $s0, $v0
/* 3C14A0 E00C22D0 00108080 */ sll $s0, $s0, 2
/* 3C14A4 E00C22D4 02028023 */ subu $s0, $s0, $v0
/* 3C14A8 E00C22D8 001010C0 */ sll $v0, $s0, 3
/* 3C14AC E00C22DC 02028021 */ addu $s0, $s0, $v0
/* 3C14B0 E00C22E0 001080C0 */ sll $s0, $s0, 3
/* 3C14B4 E00C22E4 0C080108 */ jal shim_guTranslateF
/* 3C14B8 E00C22E8 02038021 */ addu $s0, $s0, $v1
/* 3C14BC E00C22EC C6C00028 */ lwc1 $f0, 0x28($s6)
/* 3C14C0 E00C22F0 36731630 */ ori $s3, $s3, 0x1630
/* 3C14C4 E00C22F4 44060000 */ mfc1 $a2, $f0
/* 3C14C8 E00C22F8 27B10050 */ addiu $s1, $sp, 0x50
/* 3C14CC E00C22FC 44867000 */ mtc1 $a2, $f14
/* 3C14D0 E00C2300 0220202D */ daddu $a0, $s1, $zero
/* 3C14D4 E00C2304 46007387 */ neg.s $f14, $f14
/* 3C14D8 E00C2308 44057000 */ mfc1 $a1, $f14
/* 3C14DC E00C230C 0C080110 */ jal shim_guScaleF
/* 3C14E0 E00C2310 00C0382D */ daddu $a3, $a2, $zero
/* 3C14E4 E00C2314 0220202D */ daddu $a0, $s1, $zero
/* 3C14E8 E00C2318 27A50010 */ addiu $a1, $sp, 0x10
/* 3C14EC E00C231C 0C080114 */ jal shim_guMtxCatF
/* 3C14F0 E00C2320 00A0302D */ daddu $a2, $a1, $zero
/* 3C14F4 E00C2324 27A40010 */ addiu $a0, $sp, 0x10
/* 3C14F8 E00C2328 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3C14FC E00C232C 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3C1500 E00C2330 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 3C1504 E00C2334 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 3C1508 E00C2338 96250000 */ lhu $a1, ($s1)
/* 3C150C E00C233C 8E420000 */ lw $v0, ($s2)
/* 3C1510 E00C2340 00052980 */ sll $a1, $a1, 6
/* 3C1514 E00C2344 00B32821 */ addu $a1, $a1, $s3
/* 3C1518 E00C2348 0C080118 */ jal shim_guMtxF2L
/* 3C151C E00C234C 00452821 */ addu $a1, $v0, $a1
/* 3C1520 E00C2350 3C03DA38 */ lui $v1, 0xda38
/* 3C1524 E00C2354 34630002 */ ori $v1, $v1, 2
/* 3C1528 E00C2358 3C05DA38 */ lui $a1, 0xda38
/* 3C152C E00C235C 34A50001 */ ori $a1, $a1, 1
/* 3C1530 E00C2360 24020036 */ addiu $v0, $zero, 0x36
/* 3C1534 E00C2364 00553823 */ subu $a3, $v0, $s5
/* 3C1538 E00C2368 8E860000 */ lw $a2, ($s4)
/* 3C153C E00C236C 96220000 */ lhu $v0, ($s1)
/* 3C1540 E00C2370 00C0202D */ daddu $a0, $a2, $zero
/* 3C1544 E00C2374 24C60008 */ addiu $a2, $a2, 8
/* 3C1548 E00C2378 AE860000 */ sw $a2, ($s4)
/* 3C154C E00C237C AC830000 */ sw $v1, ($a0)
/* 3C1550 E00C2380 24430001 */ addiu $v1, $v0, 1
/* 3C1554 E00C2384 3042FFFF */ andi $v0, $v0, 0xffff
/* 3C1558 E00C2388 00021180 */ sll $v0, $v0, 6
/* 3C155C E00C238C A6230000 */ sh $v1, ($s1)
/* 3C1560 E00C2390 8E430000 */ lw $v1, ($s2)
/* 3C1564 E00C2394 00531021 */ addu $v0, $v0, $s3
/* 3C1568 E00C2398 00621821 */ addu $v1, $v1, $v0
/* 3C156C E00C239C 24C20008 */ addiu $v0, $a2, 8
/* 3C1570 E00C23A0 AC830004 */ sw $v1, 4($a0)
/* 3C1574 E00C23A4 AE820000 */ sw $v0, ($s4)
/* 3C1578 E00C23A8 24C20010 */ addiu $v0, $a2, 0x10
/* 3C157C E00C23AC ACC50000 */ sw $a1, ($a2)
/* 3C1580 E00C23B0 AE820000 */ sw $v0, ($s4)
/* 3C1584 E00C23B4 8E030204 */ lw $v1, 0x204($s0)
/* 3C1588 E00C23B8 3C02DE00 */ lui $v0, 0xde00
/* 3C158C E00C23BC ACC20008 */ sw $v0, 8($a2)
/* 3C1590 E00C23C0 3C020901 */ lui $v0, 0x901
/* 3C1594 E00C23C4 24428BE0 */ addiu $v0, $v0, -0x7420
/* 3C1598 E00C23C8 ACC2000C */ sw $v0, 0xc($a2)
/* 3C159C E00C23CC 04E10002 */ bgez $a3, .LE00C23D8
/* 3C15A0 E00C23D0 ACC30004 */ sw $v1, 4($a2)
/* 3C15A4 E00C23D4 0000382D */ daddu $a3, $zero, $zero
.LE00C23D8:
/* 3C15A8 E00C23D8 3C030101 */ lui $v1, 0x101
/* 3C15AC E00C23DC 3463602C */ ori $v1, $v1, 0x602c
/* 3C15B0 E00C23E0 02A0202D */ daddu $a0, $s5, $zero
/* 3C15B4 E00C23E4 24C20018 */ addiu $v0, $a2, 0x18
/* 3C15B8 E00C23E8 AE820000 */ sw $v0, ($s4)
/* 3C15BC E00C23EC ACC30010 */ sw $v1, 0x10($a2)
/* 3C15C0 E00C23F0 3C030900 */ lui $v1, 0x900
/* 3C15C4 E00C23F4 24634040 */ addiu $v1, $v1, 0x4040
/* 3C15C8 E00C23F8 00071040 */ sll $v0, $a3, 1
/* 3C15CC E00C23FC 00471021 */ addu $v0, $v0, $a3
/* 3C15D0 E00C2400 00021080 */ sll $v0, $v0, 2
/* 3C15D4 E00C2404 00471023 */ subu $v0, $v0, $a3
/* 3C15D8 E00C2408 00021140 */ sll $v0, $v0, 5
/* 3C15DC E00C240C 00431021 */ addu $v0, $v0, $v1
/* 3C15E0 E00C2410 06A10002 */ bgez $s5, .LE00C241C
/* 3C15E4 E00C2414 ACC20014 */ sw $v0, 0x14($a2)
/* 3C15E8 E00C2418 26A4000F */ addiu $a0, $s5, 0xf
.LE00C241C:
/* 3C15EC E00C241C 0000602D */ daddu $t4, $zero, $zero
/* 3C15F0 E00C2420 0280482D */ daddu $t1, $s4, $zero
/* 3C15F4 E00C2424 3C148000 */ lui $s4, 0x8000
/* 3C15F8 E00C2428 3C12FD48 */ lui $s2, 0xfd48
/* 3C15FC E00C242C 3652003F */ ori $s2, $s2, 0x3f
/* 3C1600 E00C2430 3C110709 */ lui $s1, 0x709
/* 3C1604 E00C2434 3631FA7E */ ori $s1, $s1, 0xfa7e
/* 3C1608 E00C2438 3C19E600 */ lui $t9, 0xe600
/* 3C160C E00C243C 3C18F400 */ lui $t8, 0xf400
/* 3C1610 E00C2440 3C10070F */ lui $s0, 0x70f
/* 3C1614 E00C2444 3610E000 */ ori $s0, $s0, 0xe000
/* 3C1618 E00C2448 3C13E700 */ lui $s3, 0xe700
/* 3C161C E00C244C 3C0FF200 */ lui $t7, 0xf200
/* 3C1620 E00C2450 0180702D */ daddu $t6, $t4, $zero
/* 3C1624 E00C2454 0180682D */ daddu $t5, $t4, $zero
/* 3C1628 E00C2458 00041103 */ sra $v0, $a0, 4
/* 3C162C E00C245C 00021100 */ sll $v0, $v0, 4
/* 3C1630 E00C2460 02A21023 */ subu $v0, $s5, $v0
/* 3C1634 E00C2464 3C03E00C */ lui $v1, %hi(D_E00C2990)
/* 3C1638 E00C2468 24632990 */ addiu $v1, $v1, %lo(D_E00C2990)
/* 3C163C E00C246C 00431021 */ addu $v0, $v0, $v1
/* 3C1640 E00C2470 3C01437F */ lui $at, 0x437f
/* 3C1644 E00C2474 44816000 */ mtc1 $at, $f12
/* 3C1648 E00C2478 3C014F00 */ lui $at, 0x4f00
/* 3C164C E00C247C 44813000 */ mtc1 $at, $f6
/* 3C1650 E00C2480 3C014300 */ lui $at, 0x4300
/* 3C1654 E00C2484 44815000 */ mtc1 $at, $f10
/* 3C1658 E00C2488 3C014080 */ lui $at, 0x4080
/* 3C165C E00C248C 44814000 */ mtc1 $at, $f8
/* 3C1660 E00C2490 90430000 */ lbu $v1, ($v0)
/* 3C1664 E00C2494 24C20020 */ addiu $v0, $a2, 0x20
/* 3C1668 E00C2498 AD220000 */ sw $v0, ($t1)
/* 3C166C E00C249C 3C02FB00 */ lui $v0, 0xfb00
/* 3C1670 E00C24A0 ACC20018 */ sw $v0, 0x18($a2)
/* 3C1674 E00C24A4 ACC3001C */ sw $v1, 0x1c($a2)
.LE00C24A8:
/* 3C1678 E00C24A8 29820005 */ slti $v0, $t4, 5
/* 3C167C E00C24AC 14400002 */ bnez $v0, .LE00C24B8
/* 3C1680 E00C24B0 000D5880 */ sll $t3, $t5, 2
/* 3C1684 E00C24B4 25CB0004 */ addiu $t3, $t6, 4
.LE00C24B8:
/* 3C1688 E00C24B8 3C013DCC */ lui $at, 0x3dcc
/* 3C168C E00C24BC 3421CCCD */ ori $at, $at, 0xcccd
/* 3C1690 E00C24C0 44811000 */ mtc1 $at, $f2
/* 3C1694 E00C24C4 448C0000 */ mtc1 $t4, $f0
/* 3C1698 E00C24C8 00000000 */ nop
/* 3C169C E00C24CC 46800020 */ cvt.s.w $f0, $f0
/* 3C16A0 E00C24D0 46020102 */ mul.s $f4, $f0, $f2
/* 3C16A4 E00C24D4 00000000 */ nop
/* 3C16A8 E00C24D8 3C013F80 */ lui $at, 0x3f80
/* 3C16AC E00C24DC 44811000 */ mtc1 $at, $f2
/* 3C16B0 E00C24E0 00000000 */ nop
/* 3C16B4 E00C24E4 46041081 */ sub.s $f2, $f2, $f4
/* 3C16B8 E00C24E8 C7A00090 */ lwc1 $f0, 0x90($sp)
/* 3C16BC E00C24EC 46800020 */ cvt.s.w $f0, $f0
/* 3C16C0 E00C24F0 46020002 */ mul.s $f0, $f0, $f2
/* 3C16C4 E00C24F4 00000000 */ nop
/* 3C16C8 E00C24F8 46000000 */ add.s $f0, $f0, $f0
/* 3C16CC E00C24FC 4600603C */ c.lt.s $f12, $f0
/* 3C16D0 E00C2500 00000000 */ nop
/* 3C16D4 E00C2504 45030001 */ bc1tl .LE00C250C
/* 3C16D8 E00C2508 46006006 */ mov.s $f0, $f12
.LE00C250C:
/* 3C16DC E00C250C 8D220000 */ lw $v0, ($t1)
/* 3C16E0 E00C2510 4600303E */ c.le.s $f6, $f0
/* 3C16E4 E00C2514 0040182D */ daddu $v1, $v0, $zero
/* 3C16E8 E00C2518 24420008 */ addiu $v0, $v0, 8
/* 3C16EC E00C251C AD220000 */ sw $v0, ($t1)
/* 3C16F0 E00C2520 3C02FA00 */ lui $v0, 0xfa00
/* 3C16F4 E00C2524 246A0004 */ addiu $t2, $v1, 4
/* 3C16F8 E00C2528 AC620000 */ sw $v0, ($v1)
/* 3C16FC E00C252C 92C4001B */ lbu $a0, 0x1b($s6)
/* 3C1700 E00C2530 92C3001F */ lbu $v1, 0x1f($s6)
/* 3C1704 E00C2534 92C20023 */ lbu $v0, 0x23($s6)
/* 3C1708 E00C2538 00042600 */ sll $a0, $a0, 0x18
/* 3C170C E00C253C 00031C00 */ sll $v1, $v1, 0x10
/* 3C1710 E00C2540 00832025 */ or $a0, $a0, $v1
/* 3C1714 E00C2544 00021200 */ sll $v0, $v0, 8
/* 3C1718 E00C2548 45010005 */ bc1t .LE00C2560
/* 3C171C E00C254C 00822025 */ or $a0, $a0, $v0
/* 3C1720 E00C2550 4600038D */ trunc.w.s $f14, $f0
/* 3C1724 E00C2554 44027000 */ mfc1 $v0, $f14
/* 3C1728 E00C2558 0803095E */ j .LE00C2578
/* 3C172C E00C255C 3C05F548 */ lui $a1, 0xf548
.LE00C2560:
/* 3C1730 E00C2560 46060001 */ sub.s $f0, $f0, $f6
/* 3C1734 E00C2564 4600038D */ trunc.w.s $f14, $f0
/* 3C1738 E00C2568 44027000 */ mfc1 $v0, $f14
/* 3C173C E00C256C 00000000 */ nop
/* 3C1740 E00C2570 00541025 */ or $v0, $v0, $s4
/* 3C1744 E00C2574 3C05F548 */ lui $a1, 0xf548
.LE00C2578:
/* 3C1748 E00C2578 34A51000 */ ori $a1, $a1, 0x1000
/* 3C174C E00C257C 3C07F540 */ lui $a3, 0xf540
/* 3C1750 E00C2580 34E71000 */ ori $a3, $a3, 0x1000
/* 3C1754 E00C2584 3C060009 */ lui $a2, 9
/* 3C1758 E00C2588 34C6FA7E */ ori $a2, $a2, 0xfa7e
/* 3C175C E00C258C 3C08001F */ lui $t0, 0x1f
/* 3C1760 E00C2590 3508C000 */ ori $t0, $t0, 0xc000
/* 3C1764 E00C2594 304200FF */ andi $v0, $v0, 0xff
/* 3C1768 E00C2598 8D230000 */ lw $v1, ($t1)
/* 3C176C E00C259C 00821025 */ or $v0, $a0, $v0
/* 3C1770 E00C25A0 AD420000 */ sw $v0, ($t2)
/* 3C1774 E00C25A4 3C020900 */ lui $v0, 0x900
/* 3C1778 E00C25A8 24422020 */ addiu $v0, $v0, 0x2020
/* 3C177C E00C25AC 460A2002 */ mul.s $f0, $f4, $f10
/* 3C1780 E00C25B0 00000000 */ nop
/* 3C1784 E00C25B4 0060202D */ daddu $a0, $v1, $zero
/* 3C1788 E00C25B8 24630008 */ addiu $v1, $v1, 8
/* 3C178C E00C25BC AD230000 */ sw $v1, ($t1)
/* 3C1790 E00C25C0 AC820004 */ sw $v0, 4($a0)
/* 3C1794 E00C25C4 24620008 */ addiu $v0, $v1, 8
/* 3C1798 E00C25C8 AC920000 */ sw $s2, ($a0)
/* 3C179C E00C25CC AD220000 */ sw $v0, ($t1)
/* 3C17A0 E00C25D0 24620010 */ addiu $v0, $v1, 0x10
/* 3C17A4 E00C25D4 AC650000 */ sw $a1, ($v1)
/* 3C17A8 E00C25D8 AC710004 */ sw $s1, 4($v1)
/* 3C17AC E00C25DC AD220000 */ sw $v0, ($t1)
/* 3C17B0 E00C25E0 24620018 */ addiu $v0, $v1, 0x18
/* 3C17B4 E00C25E4 000B2880 */ sll $a1, $t3, 2
/* 3C17B8 E00C25E8 30A50FFF */ andi $a1, $a1, 0xfff
/* 3C17BC E00C25EC AC790008 */ sw $t9, 8($v1)
/* 3C17C0 E00C25F0 AC60000C */ sw $zero, 0xc($v1)
/* 3C17C4 E00C25F4 AD220000 */ sw $v0, ($t1)
/* 3C17C8 E00C25F8 00B81025 */ or $v0, $a1, $t8
/* 3C17CC E00C25FC 2564000F */ addiu $a0, $t3, 0xf
/* 3C17D0 E00C2600 00042080 */ sll $a0, $a0, 2
/* 3C17D4 E00C2604 30840FFF */ andi $a0, $a0, 0xfff
/* 3C17D8 E00C2608 AC620010 */ sw $v0, 0x10($v1)
/* 3C17DC E00C260C 00901025 */ or $v0, $a0, $s0
/* 3C17E0 E00C2610 AC620014 */ sw $v0, 0x14($v1)
/* 3C17E4 E00C2614 24620020 */ addiu $v0, $v1, 0x20
/* 3C17E8 E00C2618 AD220000 */ sw $v0, ($t1)
/* 3C17EC E00C261C 24620028 */ addiu $v0, $v1, 0x28
/* 3C17F0 E00C2620 AC730018 */ sw $s3, 0x18($v1)
/* 3C17F4 E00C2624 AC60001C */ sw $zero, 0x1c($v1)
/* 3C17F8 E00C2628 AD220000 */ sw $v0, ($t1)
/* 3C17FC E00C262C 24620030 */ addiu $v0, $v1, 0x30
/* 3C1800 E00C2630 00AF2825 */ or $a1, $a1, $t7
/* 3C1804 E00C2634 00882025 */ or $a0, $a0, $t0
/* 3C1808 E00C2638 AC670020 */ sw $a3, 0x20($v1)
/* 3C180C E00C263C AC660024 */ sw $a2, 0x24($v1)
/* 3C1810 E00C2640 AD220000 */ sw $v0, ($t1)
/* 3C1814 E00C2644 AC650028 */ sw $a1, 0x28($v1)
/* 3C1818 E00C2648 46080002 */ mul.s $f0, $f0, $f8
/* 3C181C E00C264C 00000000 */ nop
/* 3C1820 E00C2650 AC64002C */ sw $a0, 0x2c($v1)
/* 3C1824 E00C2654 24630038 */ addiu $v1, $v1, 0x38
/* 3C1828 E00C2658 0040502D */ daddu $t2, $v0, $zero
/* 3C182C E00C265C 4600303E */ c.le.s $f6, $f0
/* 3C1830 E00C2660 00000000 */ nop
/* 3C1834 E00C2664 45010005 */ bc1t .LE00C267C
/* 3C1838 E00C2668 AD230000 */ sw $v1, ($t1)
/* 3C183C E00C266C 4600038D */ trunc.w.s $f14, $f0
/* 3C1840 E00C2670 44027000 */ mfc1 $v0, $f14
/* 3C1844 E00C2674 080309A5 */ j .LE00C2694
/* 3C1848 E00C2678 3C04007D */ lui $a0, 0x7d
.LE00C267C:
/* 3C184C E00C267C 46060001 */ sub.s $f0, $f0, $f6
/* 3C1850 E00C2680 4600038D */ trunc.w.s $f14, $f0
/* 3C1854 E00C2684 44027000 */ mfc1 $v0, $f14
/* 3C1858 E00C2688 00000000 */ nop
/* 3C185C E00C268C 00541025 */ or $v0, $v0, $s4
/* 3C1860 E00C2690 3C04007D */ lui $a0, 0x7d
.LE00C2694:
/* 3C1864 E00C2694 348407D0 */ ori $a0, $a0, 0x7d0
/* 3C1868 E00C2698 3C05F548 */ lui $a1, 0xf548
/* 3C186C E00C269C 34A51080 */ ori $a1, $a1, 0x1080
/* 3C1870 E00C26A0 3C07F540 */ lui $a3, 0xf540
/* 3C1874 E00C26A4 34E71080 */ ori $a3, $a3, 0x1080
/* 3C1878 E00C26A8 3C060119 */ lui $a2, 0x119
/* 3C187C E00C26AC 34C6FA7E */ ori $a2, $a2, 0xfa7e
/* 3C1880 E00C26B0 3C08011F */ lui $t0, 0x11f
/* 3C1884 E00C26B4 3508C000 */ ori $t0, $t0, 0xc000
/* 3C1888 E00C26B8 30420FFF */ andi $v0, $v0, 0xfff
/* 3C188C E00C26BC 8D230000 */ lw $v1, ($t1)
/* 3C1890 E00C26C0 004F1025 */ or $v0, $v0, $t7
/* 3C1894 E00C26C4 AD420000 */ sw $v0, ($t2)
/* 3C1898 E00C26C8 3C020900 */ lui $v0, 0x900
/* 3C189C E00C26CC 24420000 */ addiu $v0, $v0, 0
/* 3C18A0 E00C26D0 460A2002 */ mul.s $f0, $f4, $f10
/* 3C18A4 E00C26D4 00000000 */ nop
/* 3C18A8 E00C26D8 AD440004 */ sw $a0, 4($t2)
/* 3C18AC E00C26DC 0060202D */ daddu $a0, $v1, $zero
/* 3C18B0 E00C26E0 24630008 */ addiu $v1, $v1, 8
/* 3C18B4 E00C26E4 AD230000 */ sw $v1, ($t1)
/* 3C18B8 E00C26E8 AC820004 */ sw $v0, 4($a0)
/* 3C18BC E00C26EC 24620008 */ addiu $v0, $v1, 8
/* 3C18C0 E00C26F0 AC920000 */ sw $s2, ($a0)
/* 3C18C4 E00C26F4 AD220000 */ sw $v0, ($t1)
/* 3C18C8 E00C26F8 24620010 */ addiu $v0, $v1, 0x10
/* 3C18CC E00C26FC AC650000 */ sw $a1, ($v1)
/* 3C18D0 E00C2700 AC710004 */ sw $s1, 4($v1)
/* 3C18D4 E00C2704 AD220000 */ sw $v0, ($t1)
/* 3C18D8 E00C2708 24620018 */ addiu $v0, $v1, 0x18
/* 3C18DC E00C270C 000B2880 */ sll $a1, $t3, 2
/* 3C18E0 E00C2710 30A50FFF */ andi $a1, $a1, 0xfff
/* 3C18E4 E00C2714 AC790008 */ sw $t9, 8($v1)
/* 3C18E8 E00C2718 AC60000C */ sw $zero, 0xc($v1)
/* 3C18EC E00C271C AD220000 */ sw $v0, ($t1)
/* 3C18F0 E00C2720 00B81025 */ or $v0, $a1, $t8
/* 3C18F4 E00C2724 2564000F */ addiu $a0, $t3, 0xf
/* 3C18F8 E00C2728 00042080 */ sll $a0, $a0, 2
/* 3C18FC E00C272C 30840FFF */ andi $a0, $a0, 0xfff
/* 3C1900 E00C2730 AC620010 */ sw $v0, 0x10($v1)
/* 3C1904 E00C2734 00901025 */ or $v0, $a0, $s0
/* 3C1908 E00C2738 AC620014 */ sw $v0, 0x14($v1)
/* 3C190C E00C273C 24620020 */ addiu $v0, $v1, 0x20
/* 3C1910 E00C2740 AD220000 */ sw $v0, ($t1)
/* 3C1914 E00C2744 24620028 */ addiu $v0, $v1, 0x28
/* 3C1918 E00C2748 AC730018 */ sw $s3, 0x18($v1)
/* 3C191C E00C274C AC60001C */ sw $zero, 0x1c($v1)
/* 3C1920 E00C2750 AD220000 */ sw $v0, ($t1)
/* 3C1924 E00C2754 24620030 */ addiu $v0, $v1, 0x30
/* 3C1928 E00C2758 00AF2825 */ or $a1, $a1, $t7
/* 3C192C E00C275C 00882025 */ or $a0, $a0, $t0
/* 3C1930 E00C2760 AC670020 */ sw $a3, 0x20($v1)
/* 3C1934 E00C2764 AC660024 */ sw $a2, 0x24($v1)
/* 3C1938 E00C2768 AD220000 */ sw $v0, ($t1)
/* 3C193C E00C276C AC650028 */ sw $a1, 0x28($v1)
/* 3C1940 E00C2770 46080002 */ mul.s $f0, $f0, $f8
/* 3C1944 E00C2774 00000000 */ nop
/* 3C1948 E00C2778 AC64002C */ sw $a0, 0x2c($v1)
/* 3C194C E00C277C 24630038 */ addiu $v1, $v1, 0x38
/* 3C1950 E00C2780 0040202D */ daddu $a0, $v0, $zero
/* 3C1954 E00C2784 4600303E */ c.le.s $f6, $f0
/* 3C1958 E00C2788 00000000 */ nop
/* 3C195C E00C278C 45010005 */ bc1t .LE00C27A4
/* 3C1960 E00C2790 AD230000 */ sw $v1, ($t1)
/* 3C1964 E00C2794 4600038D */ trunc.w.s $f14, $f0
/* 3C1968 E00C2798 44037000 */ mfc1 $v1, $f14
/* 3C196C E00C279C 080309EF */ j .LE00C27BC
/* 3C1970 E00C27A0 3C02017D */ lui $v0, 0x17d
.LE00C27A4:
/* 3C1974 E00C27A4 46060001 */ sub.s $f0, $f0, $f6
/* 3C1978 E00C27A8 4600038D */ trunc.w.s $f14, $f0
/* 3C197C E00C27AC 44037000 */ mfc1 $v1, $f14
/* 3C1980 E00C27B0 00000000 */ nop
/* 3C1984 E00C27B4 00741825 */ or $v1, $v1, $s4
/* 3C1988 E00C27B8 3C02017D */ lui $v0, 0x17d
.LE00C27BC:
/* 3C198C E00C27BC 344207D0 */ ori $v0, $v0, 0x7d0
/* 3C1990 E00C27C0 30630FFF */ andi $v1, $v1, 0xfff
/* 3C1994 E00C27C4 006F1825 */ or $v1, $v1, $t7
/* 3C1998 E00C27C8 AC820004 */ sw $v0, 4($a0)
/* 3C199C E00C27CC 2D82000A */ sltiu $v0, $t4, 0xa
/* 3C19A0 E00C27D0 1040004B */ beqz $v0, .LE00C2900
/* 3C19A4 E00C27D4 AC830000 */ sw $v1, ($a0)
/* 3C19A8 E00C27D8 000C1080 */ sll $v0, $t4, 2
/* 3C19AC E00C27DC 3C01E00C */ lui $at, %hi(jtbl_E00C29A8)
/* 3C19B0 E00C27E0 00220821 */ addu $at, $at, $v0
/* 3C19B4 E00C27E4 8C2229A8 */ lw $v0, %lo(jtbl_E00C29A8)($at)
/* 3C19B8 E00C27E8 00400008 */ jr $v0
/* 3C19BC E00C27EC 00000000 */ nop
dlabel LE00C27F0_3C19C0
/* 3C19C0 E00C27F0 3C040600 */ lui $a0, 0x600
/* 3C19C4 E00C27F4 8D220000 */ lw $v0, ($t1)
/* 3C19C8 E00C27F8 34840204 */ ori $a0, $a0, 0x204
/* 3C19CC E00C27FC 0040182D */ daddu $v1, $v0, $zero
/* 3C19D0 E00C2800 24420008 */ addiu $v0, $v0, 8
/* 3C19D4 E00C2804 AD220000 */ sw $v0, ($t1)
/* 3C19D8 E00C2808 24020406 */ addiu $v0, $zero, 0x406
/* 3C19DC E00C280C AC640000 */ sw $a0, ($v1)
/* 3C19E0 E00C2810 08030A40 */ j .LE00C2900
/* 3C19E4 E00C2814 AC620004 */ sw $v0, 4($v1)
dlabel LE00C2818_3C19E8
/* 3C19E8 E00C2818 3C050602 */ lui $a1, 0x602
/* 3C19EC E00C281C 34A5080A */ ori $a1, $a1, 0x80a
/* 3C19F0 E00C2820 3C040002 */ lui $a0, 2
/* 3C19F4 E00C2824 8D220000 */ lw $v0, ($t1)
/* 3C19F8 E00C2828 08030A3B */ j .LE00C28EC
/* 3C19FC E00C282C 34840A04 */ ori $a0, $a0, 0xa04
dlabel LE00C2830_3C1A00
/* 3C1A00 E00C2830 3C050608 */ lui $a1, 0x608
/* 3C1A04 E00C2834 34A50C0E */ ori $a1, $a1, 0xc0e
/* 3C1A08 E00C2838 3C040008 */ lui $a0, 8
/* 3C1A0C E00C283C 8D220000 */ lw $v0, ($t1)
/* 3C1A10 E00C2840 08030A3B */ j .LE00C28EC
/* 3C1A14 E00C2844 34840E0A */ ori $a0, $a0, 0xe0a
dlabel LE00C2848_3C1A18
/* 3C1A18 E00C2848 3C05060C */ lui $a1, 0x60c
/* 3C1A1C E00C284C 34A51012 */ ori $a1, $a1, 0x1012
/* 3C1A20 E00C2850 3C04000C */ lui $a0, 0xc
/* 3C1A24 E00C2854 8D220000 */ lw $v0, ($t1)
/* 3C1A28 E00C2858 08030A3B */ j .LE00C28EC
/* 3C1A2C E00C285C 3484120E */ ori $a0, $a0, 0x120e
dlabel LE00C2860_3C1A30
/* 3C1A30 E00C2860 3C050610 */ lui $a1, 0x610
/* 3C1A34 E00C2864 34A51416 */ ori $a1, $a1, 0x1416
/* 3C1A38 E00C2868 3C040010 */ lui $a0, 0x10
/* 3C1A3C E00C286C 8D220000 */ lw $v0, ($t1)
/* 3C1A40 E00C2870 08030A3B */ j .LE00C28EC
/* 3C1A44 E00C2874 34841612 */ ori $a0, $a0, 0x1612
dlabel LE00C2878_3C1A48
/* 3C1A48 E00C2878 3C050614 */ lui $a1, 0x614
/* 3C1A4C E00C287C 34A5181A */ ori $a1, $a1, 0x181a
/* 3C1A50 E00C2880 3C040014 */ lui $a0, 0x14
/* 3C1A54 E00C2884 8D220000 */ lw $v0, ($t1)
/* 3C1A58 E00C2888 08030A3B */ j .LE00C28EC
/* 3C1A5C E00C288C 34841A16 */ ori $a0, $a0, 0x1a16
dlabel LE00C2890_3C1A60
/* 3C1A60 E00C2890 3C050618 */ lui $a1, 0x618
/* 3C1A64 E00C2894 34A51C1E */ ori $a1, $a1, 0x1c1e
/* 3C1A68 E00C2898 3C040018 */ lui $a0, 0x18
/* 3C1A6C E00C289C 8D220000 */ lw $v0, ($t1)
/* 3C1A70 E00C28A0 08030A3B */ j .LE00C28EC
/* 3C1A74 E00C28A4 34841E1A */ ori $a0, $a0, 0x1e1a
dlabel LE00C28A8_3C1A78
/* 3C1A78 E00C28A8 3C05061C */ lui $a1, 0x61c
/* 3C1A7C E00C28AC 34A52022 */ ori $a1, $a1, 0x2022
/* 3C1A80 E00C28B0 3C04001C */ lui $a0, 0x1c
/* 3C1A84 E00C28B4 8D220000 */ lw $v0, ($t1)
/* 3C1A88 E00C28B8 08030A3B */ j .LE00C28EC
/* 3C1A8C E00C28BC 3484221E */ ori $a0, $a0, 0x221e
dlabel LE00C28C0_3C1A90
/* 3C1A90 E00C28C0 3C050620 */ lui $a1, 0x620
/* 3C1A94 E00C28C4 34A52426 */ ori $a1, $a1, 0x2426
/* 3C1A98 E00C28C8 3C040020 */ lui $a0, 0x20
/* 3C1A9C E00C28CC 8D220000 */ lw $v0, ($t1)
/* 3C1AA0 E00C28D0 08030A3B */ j .LE00C28EC
/* 3C1AA4 E00C28D4 34842622 */ ori $a0, $a0, 0x2622
dlabel LE00C28D8_3C1AA8
/* 3C1AA8 E00C28D8 3C050624 */ lui $a1, 0x624
/* 3C1AAC E00C28DC 34A5282A */ ori $a1, $a1, 0x282a
/* 3C1AB0 E00C28E0 3C040024 */ lui $a0, 0x24
/* 3C1AB4 E00C28E4 8D220000 */ lw $v0, ($t1)
/* 3C1AB8 E00C28E8 34842A26 */ ori $a0, $a0, 0x2a26
.LE00C28EC:
/* 3C1ABC E00C28EC 0040182D */ daddu $v1, $v0, $zero
/* 3C1AC0 E00C28F0 24420008 */ addiu $v0, $v0, 8
/* 3C1AC4 E00C28F4 AD220000 */ sw $v0, ($t1)
/* 3C1AC8 E00C28F8 AC650000 */ sw $a1, ($v1)
/* 3C1ACC E00C28FC AC640004 */ sw $a0, 4($v1)
.LE00C2900:
/* 3C1AD0 E00C2900 25CE000C */ addiu $t6, $t6, 0xc
/* 3C1AD4 E00C2904 25AD0003 */ addiu $t5, $t5, 3
/* 3C1AD8 E00C2908 8D220000 */ lw $v0, ($t1)
/* 3C1ADC E00C290C 258C0001 */ addiu $t4, $t4, 1
/* 3C1AE0 E00C2910 0040182D */ daddu $v1, $v0, $zero
/* 3C1AE4 E00C2914 24420008 */ addiu $v0, $v0, 8
/* 3C1AE8 E00C2918 AD220000 */ sw $v0, ($t1)
/* 3C1AEC E00C291C 2982000A */ slti $v0, $t4, 0xa
/* 3C1AF0 E00C2920 AC730000 */ sw $s3, ($v1)
/* 3C1AF4 E00C2924 1440FEE0 */ bnez $v0, .LE00C24A8
/* 3C1AF8 E00C2928 AC600004 */ sw $zero, 4($v1)
/* 3C1AFC E00C292C 3C05D838 */ lui $a1, 0xd838
/* 3C1B00 E00C2930 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 3C1B04 E00C2934 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 3C1B08 E00C2938 8C620000 */ lw $v0, ($v1)
/* 3C1B0C E00C293C 34A50002 */ ori $a1, $a1, 2
/* 3C1B10 E00C2940 0040202D */ daddu $a0, $v0, $zero
/* 3C1B14 E00C2944 24420008 */ addiu $v0, $v0, 8
/* 3C1B18 E00C2948 AC620000 */ sw $v0, ($v1)
/* 3C1B1C E00C294C 24020040 */ addiu $v0, $zero, 0x40
/* 3C1B20 E00C2950 AC850000 */ sw $a1, ($a0)
/* 3C1B24 E00C2954 AC820004 */ sw $v0, 4($a0)
/* 3C1B28 E00C2958 8FBF00B8 */ lw $ra, 0xb8($sp)
/* 3C1B2C E00C295C 8FB700B4 */ lw $s7, 0xb4($sp)
/* 3C1B30 E00C2960 8FB600B0 */ lw $s6, 0xb0($sp)
/* 3C1B34 E00C2964 8FB500AC */ lw $s5, 0xac($sp)
/* 3C1B38 E00C2968 8FB400A8 */ lw $s4, 0xa8($sp)
/* 3C1B3C E00C296C 8FB300A4 */ lw $s3, 0xa4($sp)
/* 3C1B40 E00C2970 8FB200A0 */ lw $s2, 0xa0($sp)
/* 3C1B44 E00C2974 8FB1009C */ lw $s1, 0x9c($sp)
/* 3C1B48 E00C2978 8FB00098 */ lw $s0, 0x98($sp)
/* 3C1B4C E00C297C 03E00008 */ jr $ra
/* 3C1B50 E00C2980 27BD00C0 */ addiu $sp, $sp, 0xc0
/* 3C1B54 E00C2984 00000000 */ nop
/* 3C1B58 E00C2988 00000000 */ nop
/* 3C1B5C E00C298C 00000000 */ nop

View File

@ -1,88 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00C29A0
.double 0.1
.section .text
glabel fright_jar_main
/* 3C11D0 E00C2000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3C11D4 E00C2004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3C11D8 E00C2008 4485A000 */ mtc1 $a1, $f20
/* 3C11DC E00C200C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3C11E0 E00C2010 4486B000 */ mtc1 $a2, $f22
/* 3C11E4 E00C2014 AFB20030 */ sw $s2, 0x30($sp)
/* 3C11E8 E00C2018 0080902D */ daddu $s2, $a0, $zero
/* 3C11EC E00C201C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3C11F0 E00C2020 4487C000 */ mtc1 $a3, $f24
/* 3C11F4 E00C2024 27A40010 */ addiu $a0, $sp, 0x10
/* 3C11F8 E00C2028 AFB1002C */ sw $s1, 0x2c($sp)
/* 3C11FC E00C202C 8FB10064 */ lw $s1, 0x64($sp)
/* 3C1200 E00C2030 3C02E00C */ lui $v0, %hi(fright_jar_init)
/* 3C1204 E00C2034 24422124 */ addiu $v0, $v0, %lo(fright_jar_init)
/* 3C1208 E00C2038 AFA20018 */ sw $v0, 0x18($sp)
/* 3C120C E00C203C 3C02E00C */ lui $v0, %hi(fright_jar_update)
/* 3C1210 E00C2040 2442212C */ addiu $v0, $v0, %lo(fright_jar_update)
/* 3C1214 E00C2044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3C1218 E00C2048 3C02E00C */ lui $v0, %hi(fright_jar_render)
/* 3C121C E00C204C 244221CC */ addiu $v0, $v0, %lo(fright_jar_render)
/* 3C1220 E00C2050 AFA20020 */ sw $v0, 0x20($sp)
/* 3C1224 E00C2054 24020061 */ addiu $v0, $zero, 0x61
/* 3C1228 E00C2058 AFBF0034 */ sw $ra, 0x34($sp)
/* 3C122C E00C205C AFB00028 */ sw $s0, 0x28($sp)
/* 3C1230 E00C2060 AFA00010 */ sw $zero, 0x10($sp)
/* 3C1234 E00C2064 AFA00024 */ sw $zero, 0x24($sp)
/* 3C1238 E00C2068 0C080124 */ jal shim_create_effect_instance
/* 3C123C E00C206C AFA20014 */ sw $v0, 0x14($sp)
/* 3C1240 E00C2070 2404002C */ addiu $a0, $zero, 0x2c
/* 3C1244 E00C2074 24030001 */ addiu $v1, $zero, 1
/* 3C1248 E00C2078 0040802D */ daddu $s0, $v0, $zero
/* 3C124C E00C207C 0C08012C */ jal shim_general_heap_malloc
/* 3C1250 E00C2080 AE030008 */ sw $v1, 8($s0)
/* 3C1254 E00C2084 0040202D */ daddu $a0, $v0, $zero
/* 3C1258 E00C2088 14800003 */ bnez $a0, .LE00C2098
/* 3C125C E00C208C AE02000C */ sw $v0, 0xc($s0)
.LE00C2090:
/* 3C1260 E00C2090 08030824 */ j .LE00C2090
/* 3C1264 E00C2094 00000000 */ nop
.LE00C2098:
/* 3C1268 E00C2098 AC920000 */ sw $s2, ($a0)
/* 3C126C E00C209C 1E200004 */ bgtz $s1, .LE00C20B0
/* 3C1270 E00C20A0 AC800014 */ sw $zero, 0x14($a0)
/* 3C1274 E00C20A4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3C1278 E00C20A8 0803082D */ j .LE00C20B4
/* 3C127C E00C20AC AC820010 */ sw $v0, 0x10($a0)
.LE00C20B0:
/* 3C1280 E00C20B0 AC910010 */ sw $s1, 0x10($a0)
.LE00C20B4:
/* 3C1284 E00C20B4 0200102D */ daddu $v0, $s0, $zero
/* 3C1288 E00C20B8 AC800024 */ sw $zero, 0x24($a0)
/* 3C128C E00C20BC E4940004 */ swc1 $f20, 4($a0)
/* 3C1290 E00C20C0 E4960008 */ swc1 $f22, 8($a0)
/* 3C1294 E00C20C4 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 3C1298 E00C20C8 3C01E00C */ lui $at, %hi(D_E00C29A0)
/* 3C129C E00C20CC D42229A0 */ ldc1 $f2, %lo(D_E00C29A0)($at)
/* 3C12A0 E00C20D0 46000021 */ cvt.d.s $f0, $f0
/* 3C12A4 E00C20D4 46220002 */ mul.d $f0, $f0, $f2
/* 3C12A8 E00C20D8 00000000 */ nop
/* 3C12AC E00C20DC 24030046 */ addiu $v1, $zero, 0x46
/* 3C12B0 E00C20E0 AC830018 */ sw $v1, 0x18($a0)
/* 3C12B4 E00C20E4 240300B4 */ addiu $v1, $zero, 0xb4
/* 3C12B8 E00C20E8 AC83001C */ sw $v1, 0x1c($a0)
/* 3C12BC E00C20EC 24030078 */ addiu $v1, $zero, 0x78
/* 3C12C0 E00C20F0 E498000C */ swc1 $f24, 0xc($a0)
/* 3C12C4 E00C20F4 AC830020 */ sw $v1, 0x20($a0)
/* 3C12C8 E00C20F8 46200020 */ cvt.s.d $f0, $f0
/* 3C12CC E00C20FC E4800028 */ swc1 $f0, 0x28($a0)
/* 3C12D0 E00C2100 8FBF0034 */ lw $ra, 0x34($sp)
/* 3C12D4 E00C2104 8FB20030 */ lw $s2, 0x30($sp)
/* 3C12D8 E00C2108 8FB1002C */ lw $s1, 0x2c($sp)
/* 3C12DC E00C210C 8FB00028 */ lw $s0, 0x28($sp)
/* 3C12E0 E00C2110 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3C12E4 E00C2114 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3C12E8 E00C2118 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3C12EC E00C211C 03E00008 */ jr $ra
/* 3C12F0 E00C2120 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,50 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel fright_jar_update
/* 3C12FC E00C212C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3C1300 E00C2130 AFBF0010 */ sw $ra, 0x10($sp)
/* 3C1304 E00C2134 8C830000 */ lw $v1, ($a0)
/* 3C1308 E00C2138 8C85000C */ lw $a1, 0xc($a0)
/* 3C130C E00C213C 30620010 */ andi $v0, $v1, 0x10
/* 3C1310 E00C2140 10400005 */ beqz $v0, .LE00C2158
/* 3C1314 E00C2144 2402FFEF */ addiu $v0, $zero, -0x11
/* 3C1318 E00C2148 00621024 */ and $v0, $v1, $v0
/* 3C131C E00C214C AC820000 */ sw $v0, ($a0)
/* 3C1320 E00C2150 24020010 */ addiu $v0, $zero, 0x10
/* 3C1324 E00C2154 ACA20010 */ sw $v0, 0x10($a1)
.LE00C2158:
/* 3C1328 E00C2158 8CA30010 */ lw $v1, 0x10($a1)
/* 3C132C E00C215C 286203E8 */ slti $v0, $v1, 0x3e8
/* 3C1330 E00C2160 10400002 */ beqz $v0, .LE00C216C
/* 3C1334 E00C2164 2462FFFF */ addiu $v0, $v1, -1
/* 3C1338 E00C2168 ACA20010 */ sw $v0, 0x10($a1)
.LE00C216C:
/* 3C133C E00C216C 8CA20014 */ lw $v0, 0x14($a1)
/* 3C1340 E00C2170 8CA60010 */ lw $a2, 0x10($a1)
/* 3C1344 E00C2174 24430001 */ addiu $v1, $v0, 1
/* 3C1348 E00C2178 04C10005 */ bgez $a2, .LE00C2190
/* 3C134C E00C217C ACA30014 */ sw $v1, 0x14($a1)
/* 3C1350 E00C2180 0C080128 */ jal shim_remove_effect
/* 3C1354 E00C2184 00000000 */ nop
/* 3C1358 E00C2188 08030870 */ j .LE00C21C0
/* 3C135C E00C218C 00000000 */ nop
.LE00C2190:
/* 3C1360 E00C2190 28620010 */ slti $v0, $v1, 0x10
/* 3C1364 E00C2194 10400004 */ beqz $v0, .LE00C21A8
/* 3C1368 E00C2198 00C0202D */ daddu $a0, $a2, $zero
/* 3C136C E00C219C 00031100 */ sll $v0, $v1, 4
/* 3C1370 E00C21A0 0803086B */ j .LE00C21AC
/* 3C1374 E00C21A4 2442000F */ addiu $v0, $v0, 0xf
.LE00C21A8:
/* 3C1378 E00C21A8 240200FF */ addiu $v0, $zero, 0xff
.LE00C21AC:
/* 3C137C E00C21AC ACA20024 */ sw $v0, 0x24($a1)
/* 3C1380 E00C21B0 28820010 */ slti $v0, $a0, 0x10
/* 3C1384 E00C21B4 10400002 */ beqz $v0, .LE00C21C0
/* 3C1388 E00C21B8 00041100 */ sll $v0, $a0, 4
/* 3C138C E00C21BC ACA20024 */ sw $v0, 0x24($a1)
.LE00C21C0:
/* 3C1390 E00C21C0 8FBF0010 */ lw $ra, 0x10($sp)
/* 3C1394 E00C21C4 03E00008 */ jr $ra
/* 3C1398 E00C21C8 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,329 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel gather_energy_pink_appendGfx
/* 33B674 E00264F4 27BDFEE8 */ addiu $sp, $sp, -0x118
/* 33B678 E00264F8 AFB70104 */ sw $s7, 0x104($sp)
/* 33B67C E00264FC 0080B82D */ daddu $s7, $a0, $zero
/* 33B680 E0026500 3C07DB06 */ lui $a3, 0xdb06
/* 33B684 E0026504 34E70024 */ ori $a3, $a3, 0x24
/* 33B688 E0026508 AFB500FC */ sw $s5, 0xfc($sp)
/* 33B68C E002650C 3C15800A */ lui $s5, %hi(gMasterGfxPos)
/* 33B690 E0026510 26B5A66C */ addiu $s5, $s5, %lo(gMasterGfxPos)
/* 33B694 E0026514 27A40020 */ addiu $a0, $sp, 0x20
/* 33B698 E0026518 3C08800B */ lui $t0, %hi(gCameras)
/* 33B69C E002651C 25081D80 */ addiu $t0, $t0, %lo(gCameras)
/* 33B6A0 E0026520 AFBF010C */ sw $ra, 0x10c($sp)
/* 33B6A4 E0026524 AFBE0108 */ sw $fp, 0x108($sp)
/* 33B6A8 E0026528 AFB60100 */ sw $s6, 0x100($sp)
/* 33B6AC E002652C AFB400F8 */ sw $s4, 0xf8($sp)
/* 33B6B0 E0026530 AFB300F4 */ sw $s3, 0xf4($sp)
/* 33B6B4 E0026534 AFB200F0 */ sw $s2, 0xf0($sp)
/* 33B6B8 E0026538 AFB100EC */ sw $s1, 0xec($sp)
/* 33B6BC E002653C AFB000E8 */ sw $s0, 0xe8($sp)
/* 33B6C0 E0026540 F7B40110 */ sdc1 $f20, 0x110($sp)
/* 33B6C4 E0026544 8EA50000 */ lw $a1, ($s5)
/* 33B6C8 E0026548 8EF3000C */ lw $s3, 0xc($s7)
/* 33B6CC E002654C 00A0182D */ daddu $v1, $a1, $zero
/* 33B6D0 E0026550 24A50008 */ addiu $a1, $a1, 8
/* 33B6D4 E0026554 AEA50000 */ sw $a1, ($s5)
/* 33B6D8 E0026558 8E740000 */ lw $s4, ($s3)
/* 33B6DC E002655C 24A20008 */ addiu $v0, $a1, 8
/* 33B6E0 E0026560 AEA20000 */ sw $v0, ($s5)
/* 33B6E4 E0026564 00141080 */ sll $v0, $s4, 2
/* 33B6E8 E0026568 3C06E002 */ lui $a2, %hi(D_E00269F8)
/* 33B6EC E002656C 00C23021 */ addu $a2, $a2, $v0
/* 33B6F0 E0026570 8CC669F8 */ lw $a2, %lo(D_E00269F8)($a2)
/* 33B6F4 E0026574 3C1EE002 */ lui $fp, %hi(D_E00269F0)
/* 33B6F8 E0026578 03C2F021 */ addu $fp, $fp, $v0
/* 33B6FC E002657C 8FDE69F0 */ lw $fp, %lo(D_E00269F0)($fp)
/* 33B700 E0026580 3C02E700 */ lui $v0, 0xe700
/* 33B704 E0026584 AC620000 */ sw $v0, ($v1)
/* 33B708 E0026588 AC600004 */ sw $zero, 4($v1)
/* 33B70C E002658C ACA70000 */ sw $a3, ($a1)
/* 33B710 E0026590 8EE30010 */ lw $v1, 0x10($s7)
/* 33B714 E0026594 24A20010 */ addiu $v0, $a1, 0x10
/* 33B718 E0026598 AEA20000 */ sw $v0, ($s5)
/* 33B71C E002659C 8C63001C */ lw $v1, 0x1c($v1)
/* 33B720 E00265A0 3C02DE00 */ lui $v0, 0xde00
/* 33B724 E00265A4 ACA20008 */ sw $v0, 8($a1)
/* 33B728 E00265A8 3C028000 */ lui $v0, 0x8000
/* 33B72C E00265AC ACA6000C */ sw $a2, 0xc($a1)
/* 33B730 E00265B0 00621821 */ addu $v1, $v1, $v0
/* 33B734 E00265B4 ACA30004 */ sw $v1, 4($a1)
/* 33B738 E00265B8 8E650010 */ lw $a1, 0x10($s3)
/* 33B73C E00265BC 8E660014 */ lw $a2, 0x14($s3)
/* 33B740 E00265C0 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 33B744 E00265C4 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 33B748 E00265C8 8E670018 */ lw $a3, 0x18($s3)
/* 33B74C E00265CC 00031080 */ sll $v0, $v1, 2
/* 33B750 E00265D0 00431021 */ addu $v0, $v0, $v1
/* 33B754 E00265D4 00021080 */ sll $v0, $v0, 2
/* 33B758 E00265D8 00431023 */ subu $v0, $v0, $v1
/* 33B75C E00265DC 000218C0 */ sll $v1, $v0, 3
/* 33B760 E00265E0 00431021 */ addu $v0, $v0, $v1
/* 33B764 E00265E4 000210C0 */ sll $v0, $v0, 3
/* 33B768 E00265E8 0C080108 */ jal shim_guTranslateF
/* 33B76C E00265EC 00488821 */ addu $s1, $v0, $t0
/* 33B770 E00265F0 27B00060 */ addiu $s0, $sp, 0x60
/* 33B774 E00265F4 0200202D */ daddu $a0, $s0, $zero
/* 33B778 E00265F8 3C013F80 */ lui $at, 0x3f80
/* 33B77C E00265FC 4481A000 */ mtc1 $at, $f20
/* 33B780 E0026600 8E65001C */ lw $a1, 0x1c($s3)
/* 33B784 E0026604 4407A000 */ mfc1 $a3, $f20
/* 33B788 E0026608 0C080110 */ jal shim_guScaleF
/* 33B78C E002660C 00A0302D */ daddu $a2, $a1, $zero
/* 33B790 E0026610 0200202D */ daddu $a0, $s0, $zero
/* 33B794 E0026614 27A50020 */ addiu $a1, $sp, 0x20
/* 33B798 E0026618 0C080114 */ jal shim_guMtxCatF
/* 33B79C E002661C 00A0302D */ daddu $a2, $a1, $zero
/* 33B7A0 E0026620 24160001 */ addiu $s6, $zero, 1
/* 33B7A4 E0026624 3C0141F0 */ lui $at, 0x41f0
/* 33B7A8 E0026628 44810000 */ mtc1 $at, $f0
/* 33B7AC E002662C 16960003 */ bne $s4, $s6, .LE002663C
/* 33B7B0 E0026630 27A500E0 */ addiu $a1, $sp, 0xe0
/* 33B7B4 E0026634 3C014302 */ lui $at, 0x4302
/* 33B7B8 E0026638 44810000 */ mtc1 $at, $f0
.LE002663C:
/* 33B7BC E002663C 0200202D */ daddu $a0, $s0, $zero
/* 33B7C0 E0026640 3C120001 */ lui $s2, 1
/* 33B7C4 E0026644 44060000 */ mfc1 $a2, $f0
/* 33B7C8 E0026648 8622000A */ lh $v0, 0xa($s1)
/* 33B7CC E002664C 8623000C */ lh $v1, 0xc($s1)
/* 33B7D0 E0026650 3C014080 */ lui $at, 0x4080
/* 33B7D4 E0026654 44811000 */ mtc1 $at, $f2
/* 33B7D8 E0026658 3C014680 */ lui $at, 0x4680
/* 33B7DC E002665C 44812000 */ mtc1 $at, $f4
/* 33B7E0 E0026660 44823000 */ mtc1 $v0, $f6
/* 33B7E4 E0026664 00000000 */ nop
/* 33B7E8 E0026668 468031A0 */ cvt.s.w $f6, $f6
/* 33B7EC E002666C 44830000 */ mtc1 $v1, $f0
/* 33B7F0 E0026670 00000000 */ nop
/* 33B7F4 E0026674 46800020 */ cvt.s.w $f0, $f0
/* 33B7F8 E0026678 46003183 */ div.s $f6, $f6, $f0
/* 33B7FC E002667C 44073000 */ mfc1 $a3, $f6
/* 33B800 E0026680 36521630 */ ori $s2, $s2, 0x1630
/* 33B804 E0026684 E7B40018 */ swc1 $f20, 0x18($sp)
/* 33B808 E0026688 E7A20010 */ swc1 $f2, 0x10($sp)
/* 33B80C E002668C 0C080160 */ jal shim_guPerspectiveF
/* 33B810 E0026690 E7A40014 */ swc1 $f4, 0x14($sp)
/* 33B814 E0026694 0200202D */ daddu $a0, $s0, $zero
/* 33B818 E0026698 27A50020 */ addiu $a1, $sp, 0x20
/* 33B81C E002669C 0C080114 */ jal shim_guMtxCatF
/* 33B820 E00266A0 00A0302D */ daddu $a2, $a1, $zero
/* 33B824 E00266A4 27A40020 */ addiu $a0, $sp, 0x20
/* 33B828 E00266A8 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 33B82C E00266AC 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 33B830 E00266B0 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 33B834 E00266B4 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 33B838 E00266B8 96050000 */ lhu $a1, ($s0)
/* 33B83C E00266BC 8E220000 */ lw $v0, ($s1)
/* 33B840 E00266C0 00052980 */ sll $a1, $a1, 6
/* 33B844 E00266C4 00B22821 */ addu $a1, $a1, $s2
/* 33B848 E00266C8 0C080118 */ jal shim_guMtxF2L
/* 33B84C E00266CC 00452821 */ addu $a1, $v0, $a1
/* 33B850 E00266D0 3C04DA38 */ lui $a0, 0xda38
/* 33B854 E00266D4 34840007 */ ori $a0, $a0, 7
/* 33B858 E00266D8 8EA30000 */ lw $v1, ($s5)
/* 33B85C E00266DC 96020000 */ lhu $v0, ($s0)
/* 33B860 E00266E0 0060282D */ daddu $a1, $v1, $zero
/* 33B864 E00266E4 24630008 */ addiu $v1, $v1, 8
/* 33B868 E00266E8 AEA30000 */ sw $v1, ($s5)
/* 33B86C E00266EC 24430001 */ addiu $v1, $v0, 1
/* 33B870 E00266F0 3042FFFF */ andi $v0, $v0, 0xffff
/* 33B874 E00266F4 00021180 */ sll $v0, $v0, 6
/* 33B878 E00266F8 ACA40000 */ sw $a0, ($a1)
/* 33B87C E00266FC A6030000 */ sh $v1, ($s0)
/* 33B880 E0026700 8E230000 */ lw $v1, ($s1)
/* 33B884 E0026704 00521021 */ addu $v0, $v0, $s2
/* 33B888 E0026708 00621821 */ addu $v1, $v1, $v0
/* 33B88C E002670C 12800009 */ beqz $s4, .LE0026734
/* 33B890 E0026710 ACA30004 */ sw $v1, 4($a1)
/* 33B894 E0026714 1696000E */ bne $s4, $s6, .LE0026750
/* 33B898 E0026718 3C120001 */ lui $s2, 1
/* 33B89C E002671C 44800000 */ mtc1 $zero, $f0
/* 33B8A0 E0026720 00000000 */ nop
/* 33B8A4 E0026724 44050000 */ mfc1 $a1, $f0
/* 33B8A8 E0026728 3C07C28C */ lui $a3, 0xc28c
/* 33B8AC E002672C 080099D1 */ j .LE0026744
/* 33B8B0 E0026730 27A40020 */ addiu $a0, $sp, 0x20
.LE0026734:
/* 33B8B4 E0026734 44800000 */ mtc1 $zero, $f0
/* 33B8B8 E0026738 27A40020 */ addiu $a0, $sp, 0x20
/* 33B8BC E002673C 44050000 */ mfc1 $a1, $f0
/* 33B8C0 E0026740 3C07C2A0 */ lui $a3, 0xc2a0
.LE0026744:
/* 33B8C4 E0026744 0C080108 */ jal shim_guTranslateF
/* 33B8C8 E0026748 00A0302D */ daddu $a2, $a1, $zero
/* 33B8CC E002674C 3C120001 */ lui $s2, 1
.LE0026750:
/* 33B8D0 E0026750 36521630 */ ori $s2, $s2, 0x1630
/* 33B8D4 E0026754 27A40020 */ addiu $a0, $sp, 0x20
/* 33B8D8 E0026758 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 33B8DC E002675C 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 33B8E0 E0026760 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 33B8E4 E0026764 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 33B8E8 E0026768 96050000 */ lhu $a1, ($s0)
/* 33B8EC E002676C 8E220000 */ lw $v0, ($s1)
/* 33B8F0 E0026770 00052980 */ sll $a1, $a1, 6
/* 33B8F4 E0026774 00B22821 */ addu $a1, $a1, $s2
/* 33B8F8 E0026778 0C080118 */ jal shim_guMtxF2L
/* 33B8FC E002677C 00452821 */ addu $a1, $v0, $a1
/* 33B900 E0026780 3C03DA38 */ lui $v1, 0xda38
/* 33B904 E0026784 34630002 */ ori $v1, $v1, 2
/* 33B908 E0026788 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 33B90C E002678C 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 33B910 E0026790 8CC20000 */ lw $v0, ($a2)
/* 33B914 E0026794 96040000 */ lhu $a0, ($s0)
/* 33B918 E0026798 0040282D */ daddu $a1, $v0, $zero
/* 33B91C E002679C 24420008 */ addiu $v0, $v0, 8
/* 33B920 E00267A0 ACC20000 */ sw $v0, ($a2)
/* 33B924 E00267A4 3082FFFF */ andi $v0, $a0, 0xffff
/* 33B928 E00267A8 00021180 */ sll $v0, $v0, 6
/* 33B92C E00267AC ACA30000 */ sw $v1, ($a1)
/* 33B930 E00267B0 8E230000 */ lw $v1, ($s1)
/* 33B934 E00267B4 00521021 */ addu $v0, $v0, $s2
/* 33B938 E00267B8 00621821 */ addu $v1, $v1, $v0
/* 33B93C E00267BC ACA30004 */ sw $v1, 4($a1)
/* 33B940 E00267C0 8E63002C */ lw $v1, 0x2c($s3)
/* 33B944 E00267C4 24840001 */ addiu $a0, $a0, 1
/* 33B948 E00267C8 A6040000 */ sh $a0, ($s0)
/* 33B94C E00267CC 00031040 */ sll $v0, $v1, 1
/* 33B950 E00267D0 00434821 */ addu $t1, $v0, $v1
/* 33B954 E00267D4 8EE20008 */ lw $v0, 8($s7)
/* 33B958 E00267D8 8E630024 */ lw $v1, 0x24($s3)
/* 33B95C E00267DC 18400059 */ blez $v0, .LE0026944
/* 33B960 E00267E0 0000602D */ daddu $t4, $zero, $zero
/* 33B964 E00267E4 3C112AAA */ lui $s1, 0x2aaa
/* 33B968 E00267E8 3631AAAB */ ori $s1, $s1, 0xaaab
/* 33B96C E00267EC 00C0582D */ daddu $t3, $a2, $zero
/* 33B970 E00267F0 3C14FB00 */ lui $s4, 0xfb00
/* 33B974 E00267F4 000317C2 */ srl $v0, $v1, 0x1f
/* 33B978 E00267F8 00621021 */ addu $v0, $v1, $v0
/* 33B97C E00267FC 00021043 */ sra $v0, $v0, 1
/* 33B980 E0026800 305000FF */ andi $s0, $v0, 0xff
/* 33B984 E0026804 3C12FA00 */ lui $s2, 0xfa00
/* 33B988 E0026808 3C0EE002 */ lui $t6, %hi(D_E0026A00)
/* 33B98C E002680C 25CE6A00 */ addiu $t6, $t6, %lo(D_E0026A00)
/* 33B990 E0026810 306F00FF */ andi $t7, $v1, 0xff
/* 33B994 E0026814 3C0DF200 */ lui $t5, 0xf200
/* 33B998 E0026818 266A0048 */ addiu $t2, $s3, 0x48
.LE002681C:
/* 33B99C E002681C 2529001E */ addiu $t1, $t1, 0x1e
/* 33B9A0 E0026820 258C0001 */ addiu $t4, $t4, 1
/* 33B9A4 E0026824 8D660000 */ lw $a2, ($t3)
/* 33B9A8 E0026828 01310018 */ mult $t1, $s1
/* 33B9AC E002682C 00C0102D */ daddu $v0, $a2, $zero
/* 33B9B0 E0026830 24C60008 */ addiu $a2, $a2, 8
/* 33B9B4 E0026834 AD660000 */ sw $a2, ($t3)
/* 33B9B8 E0026838 AC540000 */ sw $s4, ($v0)
/* 33B9BC E002683C AC500004 */ sw $s0, 4($v0)
/* 33B9C0 E0026840 24C20008 */ addiu $v0, $a2, 8
/* 33B9C4 E0026844 AD620000 */ sw $v0, ($t3)
/* 33B9C8 E0026848 000917C3 */ sra $v0, $t1, 0x1f
/* 33B9CC E002684C ACD20000 */ sw $s2, ($a2)
/* 33B9D0 E0026850 0000C010 */ mfhi $t8
/* 33B9D4 E0026854 00181883 */ sra $v1, $t8, 2
/* 33B9D8 E0026858 00621823 */ subu $v1, $v1, $v0
/* 33B9DC E002685C 00031040 */ sll $v0, $v1, 1
/* 33B9E0 E0026860 00431021 */ addu $v0, $v0, $v1
/* 33B9E4 E0026864 000210C0 */ sll $v0, $v0, 3
/* 33B9E8 E0026868 01224823 */ subu $t1, $t1, $v0
/* 33B9EC E002686C 012E1021 */ addu $v0, $t1, $t6
/* 33B9F0 E0026870 0040202D */ daddu $a0, $v0, $zero
/* 33B9F4 E0026874 90430000 */ lbu $v1, ($v0)
/* 33B9F8 E0026878 90840002 */ lbu $a0, 2($a0)
/* 33B9FC E002687C 24C20010 */ addiu $v0, $a2, 0x10
/* 33BA00 E0026880 AD620000 */ sw $v0, ($t3)
/* 33BA04 E0026884 24C20018 */ addiu $v0, $a2, 0x18
/* 33BA08 E0026888 AD620000 */ sw $v0, ($t3)
/* 33BA0C E002688C 24C20020 */ addiu $v0, $a2, 0x20
/* 33BA10 E0026890 AD620000 */ sw $v0, ($t3)
/* 33BA14 E0026894 00031E00 */ sll $v1, $v1, 0x18
/* 33BA18 E0026898 00042200 */ sll $a0, $a0, 8
/* 33BA1C E002689C 00641825 */ or $v1, $v1, $a0
/* 33BA20 E00268A0 006F1825 */ or $v1, $v1, $t7
/* 33BA24 E00268A4 ACC30004 */ sw $v1, 4($a2)
/* 33BA28 E00268A8 8D44FFE8 */ lw $a0, -0x18($t2)
/* 33BA2C E00268AC 8D47FFF8 */ lw $a3, -8($t2)
/* 33BA30 E00268B0 8D45FFF0 */ lw $a1, -0x10($t2)
/* 33BA34 E00268B4 8D480000 */ lw $t0, ($t2)
/* 33BA38 E00268B8 3C02DE00 */ lui $v0, 0xde00
/* 33BA3C E00268BC ACC20018 */ sw $v0, 0x18($a2)
/* 33BA40 E00268C0 ACDE001C */ sw $fp, 0x1c($a2)
/* 33BA44 E00268C4 30830FFF */ andi $v1, $a0, 0xfff
/* 33BA48 E00268C8 00031B00 */ sll $v1, $v1, 0xc
/* 33BA4C E00268CC 30E20FFF */ andi $v0, $a3, 0xfff
/* 33BA50 E00268D0 004D1025 */ or $v0, $v0, $t5
/* 33BA54 E00268D4 00621825 */ or $v1, $v1, $v0
/* 33BA58 E00268D8 24840100 */ addiu $a0, $a0, 0x100
/* 33BA5C E00268DC 30840FFF */ andi $a0, $a0, 0xfff
/* 33BA60 E00268E0 00042300 */ sll $a0, $a0, 0xc
/* 33BA64 E00268E4 24E70100 */ addiu $a3, $a3, 0x100
/* 33BA68 E00268E8 30E70FFF */ andi $a3, $a3, 0xfff
/* 33BA6C E00268EC 00872025 */ or $a0, $a0, $a3
/* 33BA70 E00268F0 ACC30008 */ sw $v1, 8($a2)
/* 33BA74 E00268F4 30A30FFF */ andi $v1, $a1, 0xfff
/* 33BA78 E00268F8 00031B00 */ sll $v1, $v1, 0xc
/* 33BA7C E00268FC 31020FFF */ andi $v0, $t0, 0xfff
/* 33BA80 E0026900 004D1025 */ or $v0, $v0, $t5
/* 33BA84 E0026904 00621825 */ or $v1, $v1, $v0
/* 33BA88 E0026908 24A50100 */ addiu $a1, $a1, 0x100
/* 33BA8C E002690C 30A50FFF */ andi $a1, $a1, 0xfff
/* 33BA90 E0026910 00052B00 */ sll $a1, $a1, 0xc
/* 33BA94 E0026914 25080100 */ addiu $t0, $t0, 0x100
/* 33BA98 E0026918 31080FFF */ andi $t0, $t0, 0xfff
/* 33BA9C E002691C 3C020100 */ lui $v0, 0x100
/* 33BAA0 E0026920 01024025 */ or $t0, $t0, $v0
/* 33BAA4 E0026924 00A82825 */ or $a1, $a1, $t0
/* 33BAA8 E0026928 ACC4000C */ sw $a0, 0xc($a2)
/* 33BAAC E002692C ACC30010 */ sw $v1, 0x10($a2)
/* 33BAB0 E0026930 ACC50014 */ sw $a1, 0x14($a2)
/* 33BAB4 E0026934 8EE20008 */ lw $v0, 8($s7)
/* 33BAB8 E0026938 0182102A */ slt $v0, $t4, $v0
/* 33BABC E002693C 1440FFB7 */ bnez $v0, .LE002681C
/* 33BAC0 E0026940 254A0060 */ addiu $t2, $t2, 0x60
.LE0026944:
/* 33BAC4 E0026944 3C02D838 */ lui $v0, 0xd838
/* 33BAC8 E0026948 34420002 */ ori $v0, $v0, 2
/* 33BACC E002694C 3C05800A */ lui $a1, %hi(gMasterGfxPos)
/* 33BAD0 E0026950 24A5A66C */ addiu $a1, $a1, %lo(gMasterGfxPos)
/* 33BAD4 E0026954 8CA40000 */ lw $a0, ($a1)
/* 33BAD8 E0026958 3C06DA38 */ lui $a2, 0xda38
/* 33BADC E002695C 0080182D */ daddu $v1, $a0, $zero
/* 33BAE0 E0026960 24840008 */ addiu $a0, $a0, 8
/* 33BAE4 E0026964 ACA40000 */ sw $a0, ($a1)
/* 33BAE8 E0026968 AC620000 */ sw $v0, ($v1)
/* 33BAEC E002696C 24020040 */ addiu $v0, $zero, 0x40
/* 33BAF0 E0026970 AC620004 */ sw $v0, 4($v1)
/* 33BAF4 E0026974 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 33BAF8 E0026978 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 33BAFC E002697C 24820008 */ addiu $v0, $a0, 8
/* 33BB00 E0026980 ACA20000 */ sw $v0, ($a1)
/* 33BB04 E0026984 3C02800A */ lui $v0, %hi(gDisplayContext)
/* 33BB08 E0026988 8C42A674 */ lw $v0, %lo(gDisplayContext)($v0)
/* 33BB0C E002698C 34C60007 */ ori $a2, $a2, 7
/* 33BB10 E0026990 AC860000 */ sw $a2, ($a0)
/* 33BB14 E0026994 00031980 */ sll $v1, $v1, 6
/* 33BB18 E0026998 24630030 */ addiu $v1, $v1, 0x30
/* 33BB1C E002699C 00431021 */ addu $v0, $v0, $v1
/* 33BB20 E00269A0 AC820004 */ sw $v0, 4($a0)
/* 33BB24 E00269A4 24820010 */ addiu $v0, $a0, 0x10
/* 33BB28 E00269A8 ACA20000 */ sw $v0, ($a1)
/* 33BB2C E00269AC 3C02E700 */ lui $v0, 0xe700
/* 33BB30 E00269B0 AC820008 */ sw $v0, 8($a0)
/* 33BB34 E00269B4 AC80000C */ sw $zero, 0xc($a0)
/* 33BB38 E00269B8 8FBF010C */ lw $ra, 0x10c($sp)
/* 33BB3C E00269BC 8FBE0108 */ lw $fp, 0x108($sp)
/* 33BB40 E00269C0 8FB70104 */ lw $s7, 0x104($sp)
/* 33BB44 E00269C4 8FB60100 */ lw $s6, 0x100($sp)
/* 33BB48 E00269C8 8FB500FC */ lw $s5, 0xfc($sp)
/* 33BB4C E00269CC 8FB400F8 */ lw $s4, 0xf8($sp)
/* 33BB50 E00269D0 8FB300F4 */ lw $s3, 0xf4($sp)
/* 33BB54 E00269D4 8FB200F0 */ lw $s2, 0xf0($sp)
/* 33BB58 E00269D8 8FB100EC */ lw $s1, 0xec($sp)
/* 33BB5C E00269DC 8FB000E8 */ lw $s0, 0xe8($sp)
/* 33BB60 E00269E0 D7B40110 */ ldc1 $f20, 0x110($sp)
/* 33BB64 E00269E4 03E00008 */ jr $ra
/* 33BB68 E00269E8 27BD0118 */ addiu $sp, $sp, 0x118
/* 33BB6C E00269EC 00000000 */ nop

View File

@ -1,234 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0026A28
.double 0.7
dlabel D_E0026A30
.double 0.1
dlabel D_E0026A38
.double 0.4
dlabel D_E0026A40
.double 0.1
dlabel D_E0026A48
.double 0.3
.section .text
glabel gather_energy_pink_update
/* 33B30C E002618C 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 33B310 E0026190 AFB1003C */ sw $s1, 0x3c($sp)
/* 33B314 E0026194 0080882D */ daddu $s1, $a0, $zero
/* 33B318 E0026198 AFBF0040 */ sw $ra, 0x40($sp)
/* 33B31C E002619C AFB00038 */ sw $s0, 0x38($sp)
/* 33B320 E00261A0 F7B40048 */ sdc1 $f20, 0x48($sp)
/* 33B324 E00261A4 8E30000C */ lw $s0, 0xc($s1)
/* 33B328 E00261A8 8E020028 */ lw $v0, 0x28($s0)
/* 33B32C E00261AC 2442FFFF */ addiu $v0, $v0, -1
/* 33B330 E00261B0 AE020028 */ sw $v0, 0x28($s0)
/* 33B334 E00261B4 8E02002C */ lw $v0, 0x2c($s0)
/* 33B338 E00261B8 8E030028 */ lw $v1, 0x28($s0)
/* 33B33C E00261BC 24440001 */ addiu $a0, $v0, 1
/* 33B340 E00261C0 04610005 */ bgez $v1, .LE00261D8
/* 33B344 E00261C4 AE04002C */ sw $a0, 0x2c($s0)
/* 33B348 E00261C8 0C080128 */ jal shim_remove_effect
/* 33B34C E00261CC 0220202D */ daddu $a0, $s1, $zero
/* 33B350 E00261D0 08009926 */ j .LE0026498
/* 33B354 E00261D4 00000000 */ nop
.LE00261D8:
/* 33B358 E00261D8 2882000B */ slti $v0, $a0, 0xb
/* 33B35C E00261DC 1040000B */ beqz $v0, .LE002620C
/* 33B360 E00261E0 0060282D */ daddu $a1, $v1, $zero
/* 33B364 E00261E4 3C036666 */ lui $v1, 0x6666
/* 33B368 E00261E8 34636667 */ ori $v1, $v1, 0x6667
/* 33B36C E00261EC 00041200 */ sll $v0, $a0, 8
/* 33B370 E00261F0 00441023 */ subu $v0, $v0, $a0
/* 33B374 E00261F4 00430018 */ mult $v0, $v1
/* 33B378 E00261F8 000217C3 */ sra $v0, $v0, 0x1f
/* 33B37C E00261FC 00004010 */ mfhi $t0
/* 33B380 E0026200 00081883 */ sra $v1, $t0, 2
/* 33B384 E0026204 00621823 */ subu $v1, $v1, $v0
/* 33B388 E0026208 AE030024 */ sw $v1, 0x24($s0)
.LE002620C:
/* 33B38C E002620C 28A20006 */ slti $v0, $a1, 6
/* 33B390 E0026210 10400009 */ beqz $v0, .LE0026238
/* 33B394 E0026214 3C032AAA */ lui $v1, 0x2aaa
/* 33B398 E0026218 3463AAAB */ ori $v1, $v1, 0xaaab
/* 33B39C E002621C 00051200 */ sll $v0, $a1, 8
/* 33B3A0 E0026220 00451023 */ subu $v0, $v0, $a1
/* 33B3A4 E0026224 00430018 */ mult $v0, $v1
/* 33B3A8 E0026228 000217C3 */ sra $v0, $v0, 0x1f
/* 33B3AC E002622C 00004010 */ mfhi $t0
/* 33B3B0 E0026230 01021023 */ subu $v0, $t0, $v0
/* 33B3B4 E0026234 AE020024 */ sw $v0, 0x24($s0)
.LE0026238:
/* 33B3B8 E0026238 28A2000A */ slti $v0, $a1, 0xa
/* 33B3BC E002623C 1040000C */ beqz $v0, .LE0026270
/* 33B3C0 E0026240 00000000 */ nop
/* 33B3C4 E0026244 8E020000 */ lw $v0, ($s0)
/* 33B3C8 E0026248 14400009 */ bnez $v0, .LE0026270
/* 33B3CC E002624C 00000000 */ nop
/* 33B3D0 E0026250 C600001C */ lwc1 $f0, 0x1c($s0)
/* 33B3D4 E0026254 3C01E002 */ lui $at, %hi(D_E0026A28)
/* 33B3D8 E0026258 D4226A28 */ ldc1 $f2, %lo(D_E0026A28)($at)
/* 33B3DC E002625C 46000021 */ cvt.d.s $f0, $f0
/* 33B3E0 E0026260 46220002 */ mul.d $f0, $f0, $f2
/* 33B3E4 E0026264 00000000 */ nop
/* 33B3E8 E0026268 46200020 */ cvt.s.d $f0, $f0
/* 33B3EC E002626C E600001C */ swc1 $f0, 0x1c($s0)
.LE0026270:
/* 33B3F0 E0026270 8E030000 */ lw $v1, ($s0)
/* 33B3F4 E0026274 24020001 */ addiu $v0, $zero, 1
/* 33B3F8 E0026278 14620017 */ bne $v1, $v0, .LE00262D8
/* 33B3FC E002627C 00051080 */ sll $v0, $a1, 2
/* 33B400 E0026280 00451021 */ addu $v0, $v0, $a1
/* 33B404 E0026284 00021040 */ sll $v0, $v0, 1
/* 33B408 E0026288 44826000 */ mtc1 $v0, $f12
/* 33B40C E002628C 00000000 */ nop
/* 33B410 E0026290 0C080140 */ jal shim_sin_deg
/* 33B414 E0026294 46806320 */ cvt.s.w $f12, $f12
/* 33B418 E0026298 3C01E002 */ lui $at, %hi(D_E0026A30)
/* 33B41C E002629C D4226A30 */ ldc1 $f2, %lo(D_E0026A30)($at)
/* 33B420 E00262A0 46000021 */ cvt.d.s $f0, $f0
/* 33B424 E00262A4 46220002 */ mul.d $f0, $f0, $f2
/* 33B428 E00262A8 00000000 */ nop
/* 33B42C E00262AC C6020020 */ lwc1 $f2, 0x20($s0)
/* 33B430 E00262B0 460010A1 */ cvt.d.s $f2, $f2
/* 33B434 E00262B4 46220002 */ mul.d $f0, $f0, $f2
/* 33B438 E00262B8 00000000 */ nop
/* 33B43C E00262BC C604001C */ lwc1 $f4, 0x1c($s0)
/* 33B440 E00262C0 46201080 */ add.d $f2, $f2, $f0
/* 33B444 E00262C4 46002121 */ cvt.d.s $f4, $f4
/* 33B448 E00262C8 3C01E002 */ lui $at, %hi(D_E0026A38)
/* 33B44C E00262CC D4206A38 */ ldc1 $f0, %lo(D_E0026A38)($at)
/* 33B450 E00262D0 080098CB */ j .LE002632C
/* 33B454 E00262D4 46241081 */ sub.d $f2, $f2, $f4
.LE00262D8:
/* 33B458 E00262D8 00451021 */ addu $v0, $v0, $a1
/* 33B45C E00262DC 00021040 */ sll $v0, $v0, 1
/* 33B460 E00262E0 44826000 */ mtc1 $v0, $f12
/* 33B464 E00262E4 00000000 */ nop
/* 33B468 E00262E8 0C080140 */ jal shim_sin_deg
/* 33B46C E00262EC 46806320 */ cvt.s.w $f12, $f12
/* 33B470 E00262F0 3C01E002 */ lui $at, %hi(D_E0026A40)
/* 33B474 E00262F4 D4226A40 */ ldc1 $f2, %lo(D_E0026A40)($at)
/* 33B478 E00262F8 46000021 */ cvt.d.s $f0, $f0
/* 33B47C E00262FC 46220002 */ mul.d $f0, $f0, $f2
/* 33B480 E0026300 00000000 */ nop
/* 33B484 E0026304 C6020020 */ lwc1 $f2, 0x20($s0)
/* 33B488 E0026308 460010A1 */ cvt.d.s $f2, $f2
/* 33B48C E002630C 46220002 */ mul.d $f0, $f0, $f2
/* 33B490 E0026310 00000000 */ nop
/* 33B494 E0026314 C604001C */ lwc1 $f4, 0x1c($s0)
/* 33B498 E0026318 46201080 */ add.d $f2, $f2, $f0
/* 33B49C E002631C 46002121 */ cvt.d.s $f4, $f4
/* 33B4A0 E0026320 46241081 */ sub.d $f2, $f2, $f4
/* 33B4A4 E0026324 3C01E002 */ lui $at, %hi(D_E0026A48)
/* 33B4A8 E0026328 D4206A48 */ ldc1 $f0, %lo(D_E0026A48)($at)
.LE002632C:
/* 33B4AC E002632C 46201082 */ mul.d $f2, $f2, $f0
/* 33B4B0 E0026330 00000000 */ nop
/* 33B4B4 E0026334 46222100 */ add.d $f4, $f4, $f2
/* 33B4B8 E0026338 46202120 */ cvt.s.d $f4, $f4
/* 33B4BC E002633C E604001C */ swc1 $f4, 0x1c($s0)
/* 33B4C0 E0026340 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 33B4C4 E0026344 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 33B4C8 E0026348 3C013F80 */ lui $at, 0x3f80
/* 33B4CC E002634C 4481A000 */ mtc1 $at, $f20
/* 33B4D0 E0026350 27A20028 */ addiu $v0, $sp, 0x28
/* 33B4D4 E0026354 AFA20014 */ sw $v0, 0x14($sp)
/* 33B4D8 E0026358 27A2002C */ addiu $v0, $sp, 0x2c
/* 33B4DC E002635C AFA20018 */ sw $v0, 0x18($sp)
/* 33B4E0 E0026360 27A20030 */ addiu $v0, $sp, 0x30
/* 33B4E4 E0026364 AFA2001C */ sw $v0, 0x1c($sp)
/* 33B4E8 E0026368 27A20034 */ addiu $v0, $sp, 0x34
/* 33B4EC E002636C AFA20020 */ sw $v0, 0x20($sp)
/* 33B4F0 E0026370 00032080 */ sll $a0, $v1, 2
/* 33B4F4 E0026374 00832021 */ addu $a0, $a0, $v1
/* 33B4F8 E0026378 00042080 */ sll $a0, $a0, 2
/* 33B4FC E002637C 00832023 */ subu $a0, $a0, $v1
/* 33B500 E0026380 000410C0 */ sll $v0, $a0, 3
/* 33B504 E0026384 00822021 */ addu $a0, $a0, $v0
/* 33B508 E0026388 000420C0 */ sll $a0, $a0, 3
/* 33B50C E002638C 3C02800B */ lui $v0, %hi(gCameras+0xD4)
/* 33B510 E0026390 24421E54 */ addiu $v0, $v0, %lo(gCameras+0xD4)
/* 33B514 E0026394 E7B40010 */ swc1 $f20, 0x10($sp)
/* 33B518 E0026398 8E050004 */ lw $a1, 4($s0)
/* 33B51C E002639C 8E060008 */ lw $a2, 8($s0)
/* 33B520 E00263A0 8E07000C */ lw $a3, 0xc($s0)
/* 33B524 E00263A4 0C080168 */ jal shim_transform_point
/* 33B528 E00263A8 00822021 */ addu $a0, $a0, $v0
/* 33B52C E00263AC C7A00034 */ lwc1 $f0, 0x34($sp)
/* 33B530 E00263B0 C7A40028 */ lwc1 $f4, 0x28($sp)
/* 33B534 E00263B4 4600A503 */ div.s $f20, $f20, $f0
/* 33B538 E00263B8 46142102 */ mul.s $f4, $f4, $f20
/* 33B53C E00263BC 00000000 */ nop
/* 33B540 E00263C0 C7A0002C */ lwc1 $f0, 0x2c($sp)
/* 33B544 E00263C4 46140002 */ mul.s $f0, $f0, $f20
/* 33B548 E00263C8 00000000 */ nop
/* 33B54C E00263CC C7A20030 */ lwc1 $f2, 0x30($sp)
/* 33B550 E00263D0 46141082 */ mul.s $f2, $f2, $f20
/* 33B554 E00263D4 00000000 */ nop
/* 33B558 E00263D8 AE000018 */ sw $zero, 0x18($s0)
/* 33B55C E00263DC E6040010 */ swc1 $f4, 0x10($s0)
/* 33B560 E00263E0 E6000014 */ swc1 $f0, 0x14($s0)
/* 33B564 E00263E4 8E220008 */ lw $v0, 8($s1)
/* 33B568 E00263E8 0000382D */ daddu $a3, $zero, $zero
/* 33B56C E00263EC E7B40034 */ swc1 $f20, 0x34($sp)
/* 33B570 E00263F0 E7A40028 */ swc1 $f4, 0x28($sp)
/* 33B574 E00263F4 E7A0002C */ swc1 $f0, 0x2c($sp)
/* 33B578 E00263F8 18400027 */ blez $v0, .LE0026498
/* 33B57C E00263FC E7A20030 */ swc1 $f2, 0x30($sp)
/* 33B580 E0026400 26060048 */ addiu $a2, $s0, 0x48
.LE0026404:
/* 33B584 E0026404 8CC2FFE8 */ lw $v0, -0x18($a2)
/* 33B588 E0026408 8CC3FFEC */ lw $v1, -0x14($a2)
/* 33B58C E002640C 8CC4FFF4 */ lw $a0, -0xc($a2)
/* 33B590 E0026410 8CC5FFFC */ lw $a1, -4($a2)
/* 33B594 E0026414 C4C40010 */ lwc1 $f4, 0x10($a2)
/* 33B598 E0026418 C4C00014 */ lwc1 $f0, 0x14($a2)
/* 33B59C E002641C C4C2000C */ lwc1 $f2, 0xc($a2)
/* 33B5A0 E0026420 00431021 */ addu $v0, $v0, $v1
/* 33B5A4 E0026424 8CC3FFF8 */ lw $v1, -8($a2)
/* 33B5A8 E0026428 46002100 */ add.s $f4, $f4, $f0
/* 33B5AC E002642C ACC2FFE8 */ sw $v0, -0x18($a2)
/* 33B5B0 E0026430 8CC2FFF0 */ lw $v0, -0x10($a2)
/* 33B5B4 E0026434 00651821 */ addu $v1, $v1, $a1
/* 33B5B8 E0026438 ACC3FFF8 */ sw $v1, -8($a2)
/* 33B5BC E002643C 8CC30000 */ lw $v1, ($a2)
/* 33B5C0 E0026440 00441021 */ addu $v0, $v0, $a0
/* 33B5C4 E0026444 ACC2FFF0 */ sw $v0, -0x10($a2)
/* 33B5C8 E0026448 8CC20004 */ lw $v0, 4($a2)
/* 33B5CC E002644C C4C00008 */ lwc1 $f0, 8($a2)
/* 33B5D0 E0026450 00621821 */ addu $v1, $v1, $v0
/* 33B5D4 E0026454 8CC2FFF8 */ lw $v0, -8($a2)
/* 33B5D8 E0026458 46020000 */ add.s $f0, $f0, $f2
/* 33B5DC E002645C ACC30000 */ sw $v1, ($a2)
/* 33B5E0 E0026460 E4C40010 */ swc1 $f4, 0x10($a2)
/* 33B5E4 E0026464 04410003 */ bgez $v0, .LE0026474
/* 33B5E8 E0026468 E4C00008 */ swc1 $f0, 8($a2)
/* 33B5EC E002646C 24420100 */ addiu $v0, $v0, 0x100
/* 33B5F0 E0026470 ACC2FFF8 */ sw $v0, -8($a2)
.LE0026474:
/* 33B5F4 E0026474 8CC20000 */ lw $v0, ($a2)
/* 33B5F8 E0026478 04410003 */ bgez $v0, .LE0026488
/* 33B5FC E002647C 24E70001 */ addiu $a3, $a3, 1
/* 33B600 E0026480 24420100 */ addiu $v0, $v0, 0x100
/* 33B604 E0026484 ACC20000 */ sw $v0, ($a2)
.LE0026488:
/* 33B608 E0026488 8E220008 */ lw $v0, 8($s1)
/* 33B60C E002648C 00E2102A */ slt $v0, $a3, $v0
/* 33B610 E0026490 1440FFDC */ bnez $v0, .LE0026404
/* 33B614 E0026494 24C60060 */ addiu $a2, $a2, 0x60
.LE0026498:
/* 33B618 E0026498 8FBF0040 */ lw $ra, 0x40($sp)
/* 33B61C E002649C 8FB1003C */ lw $s1, 0x3c($sp)
/* 33B620 E00264A0 8FB00038 */ lw $s0, 0x38($sp)
/* 33B624 E00264A4 D7B40048 */ ldc1 $f20, 0x48($sp)
/* 33B628 E00264A8 03E00008 */ jr $ra
/* 33B62C E00264AC 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,243 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel gather_magic_appendGfx
/* 38F340 E008E4E0 27BDFEF8 */ addiu $sp, $sp, -0x108
/* 38F344 E008E4E4 3C05DB06 */ lui $a1, 0xdb06
/* 38F348 E008E4E8 34A50024 */ ori $a1, $a1, 0x24
/* 38F34C E008E4EC AFA40108 */ sw $a0, 0x108($sp)
/* 38F350 E008E4F0 27A40018 */ addiu $a0, $sp, 0x18
/* 38F354 E008E4F4 AFB100DC */ sw $s1, 0xdc($sp)
/* 38F358 E008E4F8 3C110001 */ lui $s1, 1
/* 38F35C E008E4FC 36311630 */ ori $s1, $s1, 0x1630
/* 38F360 E008E500 AFB400E8 */ sw $s4, 0xe8($sp)
/* 38F364 E008E504 3C14800A */ lui $s4, %hi(gMasterGfxPos)
/* 38F368 E008E508 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos)
/* 38F36C E008E50C 8FA90108 */ lw $t1, 0x108($sp)
/* 38F370 E008E510 3C02E700 */ lui $v0, 0xe700
/* 38F374 E008E514 AFBF00FC */ sw $ra, 0xfc($sp)
/* 38F378 E008E518 AFBE00F8 */ sw $fp, 0xf8($sp)
/* 38F37C E008E51C AFB700F4 */ sw $s7, 0xf4($sp)
/* 38F380 E008E520 AFB600F0 */ sw $s6, 0xf0($sp)
/* 38F384 E008E524 AFB500EC */ sw $s5, 0xec($sp)
/* 38F388 E008E528 AFB300E4 */ sw $s3, 0xe4($sp)
/* 38F38C E008E52C AFB200E0 */ sw $s2, 0xe0($sp)
/* 38F390 E008E530 AFB000D8 */ sw $s0, 0xd8($sp)
/* 38F394 E008E534 F7B40100 */ sdc1 $f20, 0x100($sp)
/* 38F398 E008E538 8E880000 */ lw $t0, ($s4)
/* 38F39C E008E53C 8D32000C */ lw $s2, 0xc($t1)
/* 38F3A0 E008E540 0100182D */ daddu $v1, $t0, $zero
/* 38F3A4 E008E544 8E550030 */ lw $s5, 0x30($s2)
/* 38F3A8 E008E548 8E570034 */ lw $s7, 0x34($s2)
/* 38F3AC E008E54C 8E5E0038 */ lw $fp, 0x38($s2)
/* 38F3B0 E008E550 25080008 */ addiu $t0, $t0, 8
/* 38F3B4 E008E554 AC620000 */ sw $v0, ($v1)
/* 38F3B8 E008E558 AC600004 */ sw $zero, 4($v1)
/* 38F3BC E008E55C AD050000 */ sw $a1, ($t0)
/* 38F3C0 E008E560 8D220010 */ lw $v0, 0x10($t1)
/* 38F3C4 E008E564 24130001 */ addiu $s3, $zero, 1
/* 38F3C8 E008E568 AE880000 */ sw $t0, ($s4)
/* 38F3CC E008E56C 8C42001C */ lw $v0, 0x1c($v0)
/* 38F3D0 E008E570 3C038000 */ lui $v1, 0x8000
/* 38F3D4 E008E574 00431021 */ addu $v0, $v0, $v1
/* 38F3D8 E008E578 AD020004 */ sw $v0, 4($t0)
/* 38F3DC E008E57C 8E450008 */ lw $a1, 8($s2)
/* 38F3E0 E008E580 8E46000C */ lw $a2, 0xc($s2)
/* 38F3E4 E008E584 8E470010 */ lw $a3, 0x10($s2)
/* 38F3E8 E008E588 25080008 */ addiu $t0, $t0, 8
/* 38F3EC E008E58C 0C080108 */ jal shim_guTranslateF
/* 38F3F0 E008E590 AE880000 */ sw $t0, ($s4)
/* 38F3F4 E008E594 27B00098 */ addiu $s0, $sp, 0x98
/* 38F3F8 E008E598 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 38F3FC E008E59C 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 38F400 E008E5A0 44800000 */ mtc1 $zero, $f0
/* 38F404 E008E5A4 00031080 */ sll $v0, $v1, 2
/* 38F408 E008E5A8 00431021 */ addu $v0, $v0, $v1
/* 38F40C E008E5AC 00021080 */ sll $v0, $v0, 2
/* 38F410 E008E5B0 00431023 */ subu $v0, $v0, $v1
/* 38F414 E008E5B4 000218C0 */ sll $v1, $v0, 3
/* 38F418 E008E5B8 00431021 */ addu $v0, $v0, $v1
/* 38F41C E008E5BC 000210C0 */ sll $v0, $v0, 3
/* 38F420 E008E5C0 44060000 */ mfc1 $a2, $f0
/* 38F424 E008E5C4 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 38F428 E008E5C8 00220821 */ addu $at, $at, $v0
/* 38F42C E008E5CC C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 38F430 E008E5D0 3C073F80 */ lui $a3, 0x3f80
/* 38F434 E008E5D4 46000007 */ neg.s $f0, $f0
/* 38F438 E008E5D8 44050000 */ mfc1 $a1, $f0
/* 38F43C E008E5DC 0200202D */ daddu $a0, $s0, $zero
/* 38F440 E008E5E0 0C080104 */ jal shim_guRotateF
/* 38F444 E008E5E4 AFA60010 */ sw $a2, 0x10($sp)
/* 38F448 E008E5E8 0200202D */ daddu $a0, $s0, $zero
/* 38F44C E008E5EC 27A50018 */ addiu $a1, $sp, 0x18
/* 38F450 E008E5F0 0C080114 */ jal shim_guMtxCatF
/* 38F454 E008E5F4 00A0302D */ daddu $a2, $a1, $zero
/* 38F458 E008E5F8 27A40018 */ addiu $a0, $sp, 0x18
/* 38F45C E008E5FC 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 38F460 E008E600 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 38F464 E008E604 3C16800A */ lui $s6, %hi(gDisplayContext)
/* 38F468 E008E608 26D6A674 */ addiu $s6, $s6, %lo(gDisplayContext)
/* 38F46C E008E60C 96050000 */ lhu $a1, ($s0)
/* 38F470 E008E610 8EC20000 */ lw $v0, ($s6)
/* 38F474 E008E614 00052980 */ sll $a1, $a1, 6
/* 38F478 E008E618 00B12821 */ addu $a1, $a1, $s1
/* 38F47C E008E61C 0C080118 */ jal shim_guMtxF2L
/* 38F480 E008E620 00452821 */ addu $a1, $v0, $a1
/* 38F484 E008E624 3C03DA38 */ lui $v1, 0xda38
/* 38F488 E008E628 34630002 */ ori $v1, $v1, 2
/* 38F48C E008E62C 8E850000 */ lw $a1, ($s4)
/* 38F490 E008E630 96020000 */ lhu $v0, ($s0)
/* 38F494 E008E634 00A0202D */ daddu $a0, $a1, $zero
/* 38F498 E008E638 24A50008 */ addiu $a1, $a1, 8
/* 38F49C E008E63C AE850000 */ sw $a1, ($s4)
/* 38F4A0 E008E640 AC830000 */ sw $v1, ($a0)
/* 38F4A4 E008E644 00531821 */ addu $v1, $v0, $s3
/* 38F4A8 E008E648 3042FFFF */ andi $v0, $v0, 0xffff
/* 38F4AC E008E64C 00021180 */ sll $v0, $v0, 6
/* 38F4B0 E008E650 A6030000 */ sh $v1, ($s0)
/* 38F4B4 E008E654 8EC30000 */ lw $v1, ($s6)
/* 38F4B8 E008E658 00511021 */ addu $v0, $v0, $s1
/* 38F4BC E008E65C 00621821 */ addu $v1, $v1, $v0
/* 38F4C0 E008E660 24A20008 */ addiu $v0, $a1, 8
/* 38F4C4 E008E664 AC830004 */ sw $v1, 4($a0)
/* 38F4C8 E008E668 AE820000 */ sw $v0, ($s4)
/* 38F4CC E008E66C 3C02DE00 */ lui $v0, 0xde00
/* 38F4D0 E008E670 ACA20000 */ sw $v0, ($a1)
/* 38F4D4 E008E674 3C020900 */ lui $v0, 0x900
/* 38F4D8 E008E678 24420080 */ addiu $v0, $v0, 0x80
/* 38F4DC E008E67C ACA20004 */ sw $v0, 4($a1)
/* 38F4E0 E008E680 24A20010 */ addiu $v0, $a1, 0x10
/* 38F4E4 E008E684 AE820000 */ sw $v0, ($s4)
/* 38F4E8 E008E688 3C02FB00 */ lui $v0, 0xfb00
/* 38F4EC E008E68C ACA20008 */ sw $v0, 8($a1)
/* 38F4F0 E008E690 9242003F */ lbu $v0, 0x3f($s2)
/* 38F4F4 E008E694 92440043 */ lbu $a0, 0x43($s2)
/* 38F4F8 E008E698 92430047 */ lbu $v1, 0x47($s2)
/* 38F4FC E008E69C 00021600 */ sll $v0, $v0, 0x18
/* 38F500 E008E6A0 00042400 */ sll $a0, $a0, 0x10
/* 38F504 E008E6A4 00441025 */ or $v0, $v0, $a0
/* 38F508 E008E6A8 00031A00 */ sll $v1, $v1, 8
/* 38F50C E008E6AC 00431025 */ or $v0, $v0, $v1
/* 38F510 E008E6B0 ACA2000C */ sw $v0, 0xc($a1)
/* 38F514 E008E6B4 8FA90108 */ lw $t1, 0x108($sp)
/* 38F518 E008E6B8 8D220008 */ lw $v0, 8($t1)
/* 38F51C E008E6BC 0262102A */ slt $v0, $s3, $v0
/* 38F520 E008E6C0 1040005A */ beqz $v0, .LE008E82C
/* 38F524 E008E6C4 26520048 */ addiu $s2, $s2, 0x48
/* 38F528 E008E6C8 0280882D */ daddu $s1, $s4, $zero
/* 38F52C E008E6CC 00151600 */ sll $v0, $s5, 0x18
/* 38F530 E008E6D0 32E300FF */ andi $v1, $s7, 0xff
/* 38F534 E008E6D4 00031C00 */ sll $v1, $v1, 0x10
/* 38F538 E008E6D8 00431025 */ or $v0, $v0, $v1
/* 38F53C E008E6DC 33C300FF */ andi $v1, $fp, 0xff
/* 38F540 E008E6E0 00031A00 */ sll $v1, $v1, 8
/* 38F544 E008E6E4 0043F025 */ or $fp, $v0, $v1
/* 38F548 E008E6E8 27B50058 */ addiu $s5, $sp, 0x58
/* 38F54C E008E6EC 02C0B82D */ daddu $s7, $s6, $zero
/* 38F550 E008E6F0 0200B02D */ daddu $s6, $s0, $zero
/* 38F554 E008E6F4 3C140001 */ lui $s4, 1
/* 38F558 E008E6F8 36941630 */ ori $s4, $s4, 0x1630
/* 38F55C E008E6FC 26500010 */ addiu $s0, $s2, 0x10
.LE008E700:
/* 38F560 E008E700 C6140018 */ lwc1 $f20, 0x18($s0)
/* 38F564 E008E704 44800000 */ mtc1 $zero, $f0
/* 38F568 E008E708 00000000 */ nop
/* 38F56C E008E70C 4600A032 */ c.eq.s $f20, $f0
/* 38F570 E008E710 00000000 */ nop
/* 38F574 E008E714 4501003F */ bc1t .LE008E814
/* 38F578 E008E718 00000000 */ nop
/* 38F57C E008E71C 8E220000 */ lw $v0, ($s1)
/* 38F580 E008E720 0040182D */ daddu $v1, $v0, $zero
/* 38F584 E008E724 24420008 */ addiu $v0, $v0, 8
/* 38F588 E008E728 AE220000 */ sw $v0, ($s1)
/* 38F58C E008E72C 3C02FA00 */ lui $v0, 0xfa00
/* 38F590 E008E730 AC620000 */ sw $v0, ($v1)
/* 38F594 E008E734 92020007 */ lbu $v0, 7($s0)
/* 38F598 E008E738 03C21025 */ or $v0, $fp, $v0
/* 38F59C E008E73C AC620004 */ sw $v0, 4($v1)
/* 38F5A0 E008E740 8E05FFF8 */ lw $a1, -8($s0)
/* 38F5A4 E008E744 8E06FFFC */ lw $a2, -4($s0)
/* 38F5A8 E008E748 8E070000 */ lw $a3, ($s0)
/* 38F5AC E008E74C 0C080108 */ jal shim_guTranslateF
/* 38F5B0 E008E750 27A40018 */ addiu $a0, $sp, 0x18
/* 38F5B4 E008E754 4405A000 */ mfc1 $a1, $f20
/* 38F5B8 E008E758 02A0202D */ daddu $a0, $s5, $zero
/* 38F5BC E008E75C 00A0302D */ daddu $a2, $a1, $zero
/* 38F5C0 E008E760 0C080110 */ jal shim_guScaleF
/* 38F5C4 E008E764 00A0382D */ daddu $a3, $a1, $zero
/* 38F5C8 E008E768 02A0202D */ daddu $a0, $s5, $zero
/* 38F5CC E008E76C 27A50018 */ addiu $a1, $sp, 0x18
/* 38F5D0 E008E770 0C080114 */ jal shim_guMtxCatF
/* 38F5D4 E008E774 00A0302D */ daddu $a2, $a1, $zero
/* 38F5D8 E008E778 27A40018 */ addiu $a0, $sp, 0x18
/* 38F5DC E008E77C 96C50000 */ lhu $a1, ($s6)
/* 38F5E0 E008E780 8EE20000 */ lw $v0, ($s7)
/* 38F5E4 E008E784 00052980 */ sll $a1, $a1, 6
/* 38F5E8 E008E788 00B42821 */ addu $a1, $a1, $s4
/* 38F5EC E008E78C 0C080118 */ jal shim_guMtxF2L
/* 38F5F0 E008E790 00452821 */ addu $a1, $v0, $a1
/* 38F5F4 E008E794 3C06D838 */ lui $a2, 0xd838
/* 38F5F8 E008E798 8E240000 */ lw $a0, ($s1)
/* 38F5FC E008E79C 34C60002 */ ori $a2, $a2, 2
/* 38F600 E008E7A0 0080282D */ daddu $a1, $a0, $zero
/* 38F604 E008E7A4 24840008 */ addiu $a0, $a0, 8
/* 38F608 E008E7A8 AE240000 */ sw $a0, ($s1)
/* 38F60C E008E7AC 96C20000 */ lhu $v0, ($s6)
/* 38F610 E008E7B0 3C03DA38 */ lui $v1, 0xda38
/* 38F614 E008E7B4 ACA30000 */ sw $v1, ($a1)
/* 38F618 E008E7B8 24430001 */ addiu $v1, $v0, 1
/* 38F61C E008E7BC 3042FFFF */ andi $v0, $v0, 0xffff
/* 38F620 E008E7C0 00021180 */ sll $v0, $v0, 6
/* 38F624 E008E7C4 A6C30000 */ sh $v1, ($s6)
/* 38F628 E008E7C8 8EE30000 */ lw $v1, ($s7)
/* 38F62C E008E7CC 00541021 */ addu $v0, $v0, $s4
/* 38F630 E008E7D0 00621821 */ addu $v1, $v1, $v0
/* 38F634 E008E7D4 24820008 */ addiu $v0, $a0, 8
/* 38F638 E008E7D8 ACA30004 */ sw $v1, 4($a1)
/* 38F63C E008E7DC AE220000 */ sw $v0, ($s1)
/* 38F640 E008E7E0 3C02DE00 */ lui $v0, 0xde00
/* 38F644 E008E7E4 AC820000 */ sw $v0, ($a0)
/* 38F648 E008E7E8 32620001 */ andi $v0, $s3, 1
/* 38F64C E008E7EC 00021080 */ sll $v0, $v0, 2
/* 38F650 E008E7F0 3C03E009 */ lui $v1, %hi(D_E008E890)
/* 38F654 E008E7F4 00621821 */ addu $v1, $v1, $v0
/* 38F658 E008E7F8 8C63E890 */ lw $v1, %lo(D_E008E890)($v1)
/* 38F65C E008E7FC 24820010 */ addiu $v0, $a0, 0x10
/* 38F660 E008E800 AE220000 */ sw $v0, ($s1)
/* 38F664 E008E804 24020040 */ addiu $v0, $zero, 0x40
/* 38F668 E008E808 AC860008 */ sw $a2, 8($a0)
/* 38F66C E008E80C AC82000C */ sw $v0, 0xc($a0)
/* 38F670 E008E810 AC830004 */ sw $v1, 4($a0)
.LE008E814:
/* 38F674 E008E814 8FA90108 */ lw $t1, 0x108($sp)
/* 38F678 E008E818 26730001 */ addiu $s3, $s3, 1
/* 38F67C E008E81C 8D220008 */ lw $v0, 8($t1)
/* 38F680 E008E820 0262102A */ slt $v0, $s3, $v0
/* 38F684 E008E824 1440FFB6 */ bnez $v0, .LE008E700
/* 38F688 E008E828 26100048 */ addiu $s0, $s0, 0x48
.LE008E82C:
/* 38F68C E008E82C 3C05D838 */ lui $a1, 0xd838
/* 38F690 E008E830 3C03800A */ lui $v1, %hi(gMasterGfxPos)
/* 38F694 E008E834 2463A66C */ addiu $v1, $v1, %lo(gMasterGfxPos)
/* 38F698 E008E838 8C620000 */ lw $v0, ($v1)
/* 38F69C E008E83C 34A50002 */ ori $a1, $a1, 2
/* 38F6A0 E008E840 0040202D */ daddu $a0, $v0, $zero
/* 38F6A4 E008E844 24420008 */ addiu $v0, $v0, 8
/* 38F6A8 E008E848 AC620000 */ sw $v0, ($v1)
/* 38F6AC E008E84C 24020040 */ addiu $v0, $zero, 0x40
/* 38F6B0 E008E850 AC850000 */ sw $a1, ($a0)
/* 38F6B4 E008E854 AC820004 */ sw $v0, 4($a0)
/* 38F6B8 E008E858 8FBF00FC */ lw $ra, 0xfc($sp)
/* 38F6BC E008E85C 8FBE00F8 */ lw $fp, 0xf8($sp)
/* 38F6C0 E008E860 8FB700F4 */ lw $s7, 0xf4($sp)
/* 38F6C4 E008E864 8FB600F0 */ lw $s6, 0xf0($sp)
/* 38F6C8 E008E868 8FB500EC */ lw $s5, 0xec($sp)
/* 38F6CC E008E86C 8FB400E8 */ lw $s4, 0xe8($sp)
/* 38F6D0 E008E870 8FB300E4 */ lw $s3, 0xe4($sp)
/* 38F6D4 E008E874 8FB200E0 */ lw $s2, 0xe0($sp)
/* 38F6D8 E008E878 8FB100DC */ lw $s1, 0xdc($sp)
/* 38F6DC E008E87C 8FB000D8 */ lw $s0, 0xd8($sp)
/* 38F6E0 E008E880 D7B40100 */ ldc1 $f20, 0x100($sp)
/* 38F6E4 E008E884 03E00008 */ jr $ra
/* 38F6E8 E008E888 27BD0108 */ addiu $sp, $sp, 0x108
/* 38F6EC E008E88C 00000000 */ nop

View File

@ -1,188 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E008E8A0
.double 0.2, 0.0
.section .text
glabel gather_magic_update
/* 38F064 E008E204 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 38F068 E008E208 AFB3001C */ sw $s3, 0x1c($sp)
/* 38F06C E008E20C 0080982D */ daddu $s3, $a0, $zero
/* 38F070 E008E210 AFBF0020 */ sw $ra, 0x20($sp)
/* 38F074 E008E214 AFB20018 */ sw $s2, 0x18($sp)
/* 38F078 E008E218 AFB10014 */ sw $s1, 0x14($sp)
/* 38F07C E008E21C AFB00010 */ sw $s0, 0x10($sp)
/* 38F080 E008E220 F7BE0050 */ sdc1 $f30, 0x50($sp)
/* 38F084 E008E224 F7BC0048 */ sdc1 $f28, 0x48($sp)
/* 38F088 E008E228 F7BA0040 */ sdc1 $f26, 0x40($sp)
/* 38F08C E008E22C F7B80038 */ sdc1 $f24, 0x38($sp)
/* 38F090 E008E230 F7B60030 */ sdc1 $f22, 0x30($sp)
/* 38F094 E008E234 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 38F098 E008E238 8E64000C */ lw $a0, 0xc($s3)
/* 38F09C E008E23C 8C830018 */ lw $v1, 0x18($a0)
/* 38F0A0 E008E240 28620064 */ slti $v0, $v1, 0x64
/* 38F0A4 E008E244 10400002 */ beqz $v0, .LE008E250
/* 38F0A8 E008E248 2462FFFF */ addiu $v0, $v1, -1
/* 38F0AC E008E24C AC820018 */ sw $v0, 0x18($a0)
.LE008E250:
/* 38F0B0 E008E250 8C82001C */ lw $v0, 0x1c($a0)
/* 38F0B4 E008E254 8C830018 */ lw $v1, 0x18($a0)
/* 38F0B8 E008E258 24420001 */ addiu $v0, $v0, 1
/* 38F0BC E008E25C 04610005 */ bgez $v1, .LE008E274
/* 38F0C0 E008E260 AC82001C */ sw $v0, 0x1c($a0)
/* 38F0C4 E008E264 0C080128 */ jal shim_remove_effect
/* 38F0C8 E008E268 0260202D */ daddu $a0, $s3, $zero
/* 38F0CC E008E26C 08023919 */ j .LE008E464
/* 38F0D0 E008E270 00000000 */ nop
.LE008E274:
/* 38F0D4 E008E274 0040182D */ daddu $v1, $v0, $zero
/* 38F0D8 E008E278 28620015 */ slti $v0, $v1, 0x15
/* 38F0DC E008E27C 10400004 */ beqz $v0, .LE008E290
/* 38F0E0 E008E280 00031040 */ sll $v0, $v1, 1
/* 38F0E4 E008E284 00431021 */ addu $v0, $v0, $v1
/* 38F0E8 E008E288 080238A5 */ j .LE008E294
/* 38F0EC E008E28C 00021080 */ sll $v0, $v0, 2
.LE008E290:
/* 38F0F0 E008E290 240200FF */ addiu $v0, $zero, 0xff
.LE008E294:
/* 38F0F4 E008E294 AC820014 */ sw $v0, 0x14($a0)
/* 38F0F8 E008E298 30620001 */ andi $v0, $v1, 1
/* 38F0FC E008E29C 1040000A */ beqz $v0, .LE008E2C8
/* 38F100 E008E2A0 00000000 */ nop
/* 38F104 E008E2A4 3C013FE0 */ lui $at, 0x3fe0
/* 38F108 E008E2A8 44811800 */ mtc1 $at, $f3
/* 38F10C E008E2AC 44801000 */ mtc1 $zero, $f2
/* 38F110 E008E2B0 C4800014 */ lwc1 $f0, 0x14($a0)
/* 38F114 E008E2B4 46800021 */ cvt.d.w $f0, $f0
/* 38F118 E008E2B8 46220002 */ mul.d $f0, $f0, $f2
/* 38F11C E008E2BC 00000000 */ nop
/* 38F120 E008E2C0 4620018D */ trunc.w.d $f6, $f0
/* 38F124 E008E2C4 E4860014 */ swc1 $f6, 0x14($a0)
.LE008E2C8:
/* 38F128 E008E2C8 8C83001C */ lw $v1, 0x1c($a0)
/* 38F12C E008E2CC 8E620008 */ lw $v0, 8($s3)
/* 38F130 E008E2D0 24110001 */ addiu $s1, $zero, 1
/* 38F134 E008E2D4 0222102A */ slt $v0, $s1, $v0
/* 38F138 E008E2D8 10400062 */ beqz $v0, .LE008E464
/* 38F13C E008E2DC 24840048 */ addiu $a0, $a0, 0x48
/* 38F140 E008E2E0 00719024 */ and $s2, $v1, $s1
/* 38F144 E008E2E4 24900024 */ addiu $s0, $a0, 0x24
/* 38F148 E008E2E8 4480E000 */ mtc1 $zero, $f28
/* 38F14C E008E2EC 3C014000 */ lui $at, 0x4000
/* 38F150 E008E2F0 4481F000 */ mtc1 $at, $f30
.LE008E2F4:
/* 38F154 E008E2F4 C614FFFC */ lwc1 $f20, -4($s0)
/* 38F158 E008E2F8 C6180008 */ lwc1 $f24, 8($s0)
/* 38F15C E008E2FC C61A0000 */ lwc1 $f26, ($s0)
/* 38F160 E008E300 0C080140 */ jal shim_sin_deg
/* 38F164 E008E304 4600A306 */ mov.s $f12, $f20
/* 38F168 E008E308 4600A306 */ mov.s $f12, $f20
/* 38F16C E008E30C 0C080144 */ jal shim_cos_deg
/* 38F170 E008E310 46000586 */ mov.s $f22, $f0
/* 38F174 E008E314 4600D306 */ mov.s $f12, $f26
/* 38F178 E008E318 0C080140 */ jal shim_sin_deg
/* 38F17C E008E31C 46000506 */ mov.s $f20, $f0
/* 38F180 E008E320 4600D306 */ mov.s $f12, $f26
/* 38F184 E008E324 0C080144 */ jal shim_cos_deg
/* 38F188 E008E328 46000686 */ mov.s $f26, $f0
/* 38F18C E008E32C 4616C582 */ mul.s $f22, $f24, $f22
/* 38F190 E008E330 00000000 */ nop
/* 38F194 E008E334 4614C502 */ mul.s $f20, $f24, $f20
/* 38F198 E008E338 00000000 */ nop
/* 38F19C E008E33C 461AC602 */ mul.s $f24, $f24, $f26
/* 38F1A0 E008E340 00000000 */ nop
/* 38F1A4 E008E344 4600B582 */ mul.s $f22, $f22, $f0
/* 38F1A8 E008E348 00000000 */ nop
/* 38F1AC E008E34C 4600A502 */ mul.s $f20, $f20, $f0
/* 38F1B0 E008E350 00000000 */ nop
/* 38F1B4 E008E354 3C0142C8 */ lui $at, 0x42c8
/* 38F1B8 E008E358 44813000 */ mtc1 $at, $f6
/* 38F1BC E008E35C C6000008 */ lwc1 $f0, 8($s0)
/* 38F1C0 E008E360 46003001 */ sub.s $f0, $f6, $f0
/* 38F1C4 E008E364 3C01437F */ lui $at, 0x437f
/* 38F1C8 E008E368 44811000 */ mtc1 $at, $f2
/* 38F1CC E008E36C 00000000 */ nop
/* 38F1D0 E008E370 46020002 */ mul.s $f0, $f0, $f2
/* 38F1D4 E008E374 00000000 */ nop
/* 38F1D8 E008E378 E618FFEC */ swc1 $f24, -0x14($s0)
/* 38F1DC E008E37C 46000000 */ add.s $f0, $f0, $f0
/* 38F1E0 E008E380 E616FFE4 */ swc1 $f22, -0x1c($s0)
/* 38F1E4 E008E384 E614FFE8 */ swc1 $f20, -0x18($s0)
/* 38F1E8 E008E388 46060003 */ div.s $f0, $f0, $f6
/* 38F1EC E008E38C 4600018D */ trunc.w.s $f6, $f0
/* 38F1F0 E008E390 44023000 */ mfc1 $v0, $f6
/* 38F1F4 E008E394 00000000 */ nop
/* 38F1F8 E008E398 AE02FFF0 */ sw $v0, -0x10($s0)
/* 38F1FC E008E39C 28420100 */ slti $v0, $v0, 0x100
/* 38F200 E008E3A0 14400004 */ bnez $v0, .LE008E3B4
/* 38F204 E008E3A4 32220003 */ andi $v0, $s1, 3
/* 38F208 E008E3A8 240200FF */ addiu $v0, $zero, 0xff
/* 38F20C E008E3AC AE02FFF0 */ sw $v0, -0x10($s0)
/* 38F210 E008E3B0 32220003 */ andi $v0, $s1, 3
.LE008E3B4:
/* 38F214 E008E3B4 00021040 */ sll $v0, $v0, 1
/* 38F218 E008E3B8 C6000008 */ lwc1 $f0, 8($s0)
/* 38F21C E008E3BC 3C0142A0 */ lui $at, 0x42a0
/* 38F220 E008E3C0 44811000 */ mtc1 $at, $f2
/* 38F224 E008E3C4 24420002 */ addiu $v0, $v0, 2
/* 38F228 E008E3C8 46020003 */ div.s $f0, $f0, $f2
/* 38F22C E008E3CC 3C01E009 */ lui $at, %hi(D_E008E8A0)
/* 38F230 E008E3D0 D422E8A0 */ ldc1 $f2, %lo(D_E008E8A0)($at)
/* 38F234 E008E3D4 46000021 */ cvt.d.s $f0, $f0
/* 38F238 E008E3D8 46220000 */ add.d $f0, $f0, $f2
/* 38F23C E008E3DC C6040008 */ lwc1 $f4, 8($s0)
/* 38F240 E008E3E0 44821000 */ mtc1 $v0, $f2
/* 38F244 E008E3E4 00000000 */ nop
/* 38F248 E008E3E8 468010A0 */ cvt.s.w $f2, $f2
/* 38F24C E008E3EC 46022101 */ sub.s $f4, $f4, $f2
/* 38F250 E008E3F0 46200020 */ cvt.s.d $f0, $f0
/* 38F254 E008E3F4 461C203C */ c.lt.s $f4, $f28
/* 38F258 E008E3F8 E6000004 */ swc1 $f0, 4($s0)
/* 38F25C E008E3FC 45000003 */ bc1f .LE008E40C
/* 38F260 E008E400 E6040008 */ swc1 $f4, 8($s0)
/* 38F264 E008E404 E61C0008 */ swc1 $f28, 8($s0)
/* 38F268 E008E408 E61C0004 */ swc1 $f28, 4($s0)
.LE008E40C:
/* 38F26C E008E40C C600FFFC */ lwc1 $f0, -4($s0)
/* 38F270 E008E410 52400005 */ beql $s2, $zero, .LE008E428
/* 38F274 E008E414 461E0000 */ add.s $f0, $f0, $f30
/* 38F278 E008E418 3C0140A0 */ lui $at, 0x40a0
/* 38F27C E008E41C 44813000 */ mtc1 $at, $f6
/* 38F280 E008E420 00000000 */ nop
/* 38F284 E008E424 46060000 */ add.s $f0, $f0, $f6
.LE008E428:
/* 38F288 E008E428 E600FFFC */ swc1 $f0, -4($s0)
/* 38F28C E008E42C 12400003 */ beqz $s2, .LE008E43C
/* 38F290 E008E430 C6000000 */ lwc1 $f0, ($s0)
/* 38F294 E008E434 08023913 */ j .LE008E44C
/* 38F298 E008E438 461E0000 */ add.s $f0, $f0, $f30
.LE008E43C:
/* 38F29C E008E43C 3C0140A0 */ lui $at, 0x40a0
/* 38F2A0 E008E440 44813000 */ mtc1 $at, $f6
/* 38F2A4 E008E444 00000000 */ nop
/* 38F2A8 E008E448 46060000 */ add.s $f0, $f0, $f6
.LE008E44C:
/* 38F2AC E008E44C E6000000 */ swc1 $f0, ($s0)
/* 38F2B0 E008E450 26310001 */ addiu $s1, $s1, 1
/* 38F2B4 E008E454 8E620008 */ lw $v0, 8($s3)
/* 38F2B8 E008E458 0222102A */ slt $v0, $s1, $v0
/* 38F2BC E008E45C 1440FFA5 */ bnez $v0, .LE008E2F4
/* 38F2C0 E008E460 26100048 */ addiu $s0, $s0, 0x48
.LE008E464:
/* 38F2C4 E008E464 8FBF0020 */ lw $ra, 0x20($sp)
/* 38F2C8 E008E468 8FB3001C */ lw $s3, 0x1c($sp)
/* 38F2CC E008E46C 8FB20018 */ lw $s2, 0x18($sp)
/* 38F2D0 E008E470 8FB10014 */ lw $s1, 0x14($sp)
/* 38F2D4 E008E474 8FB00010 */ lw $s0, 0x10($sp)
/* 38F2D8 E008E478 D7BE0050 */ ldc1 $f30, 0x50($sp)
/* 38F2DC E008E47C D7BC0048 */ ldc1 $f28, 0x48($sp)
/* 38F2E0 E008E480 D7BA0040 */ ldc1 $f26, 0x40($sp)
/* 38F2E4 E008E484 D7B80038 */ ldc1 $f24, 0x38($sp)
/* 38F2E8 E008E488 D7B60030 */ ldc1 $f22, 0x30($sp)
/* 38F2EC E008E48C D7B40028 */ ldc1 $f20, 0x28($sp)
/* 38F2F0 E008E490 03E00008 */ jr $ra
/* 38F2F4 E008E494 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,275 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0036650
.double 0.6, 0.0
.section .text
glabel got_item_outline_appendGfx
/* 345704 E0036224 27BDFF28 */ addiu $sp, $sp, -0xd8
/* 345708 E0036228 0080402D */ daddu $t0, $a0, $zero
/* 34570C E003622C AFBF00B8 */ sw $ra, 0xb8($sp)
/* 345710 E0036230 AFB700B4 */ sw $s7, 0xb4($sp)
/* 345714 E0036234 AFB600B0 */ sw $s6, 0xb0($sp)
/* 345718 E0036238 AFB500AC */ sw $s5, 0xac($sp)
/* 34571C E003623C AFB400A8 */ sw $s4, 0xa8($sp)
/* 345720 E0036240 AFB300A4 */ sw $s3, 0xa4($sp)
/* 345724 E0036244 AFB200A0 */ sw $s2, 0xa0($sp)
/* 345728 E0036248 AFB1009C */ sw $s1, 0x9c($sp)
/* 34572C E003624C AFB00098 */ sw $s0, 0x98($sp)
/* 345730 E0036250 F7B800D0 */ sdc1 $f24, 0xd0($sp)
/* 345734 E0036254 F7B600C8 */ sdc1 $f22, 0xc8($sp)
/* 345738 E0036258 F7B400C0 */ sdc1 $f20, 0xc0($sp)
/* 34573C E003625C 8D07000C */ lw $a3, 0xc($t0)
/* 345740 E0036260 44800000 */ mtc1 $zero, $f0
/* 345744 E0036264 C4F80018 */ lwc1 $f24, 0x18($a3)
/* 345748 E0036268 8CF30000 */ lw $s3, ($a3)
/* 34574C E003626C 4600C032 */ c.eq.s $f24, $f0
/* 345750 E0036270 00000000 */ nop
/* 345754 E0036274 450100E0 */ bc1t .LE00365F8
/* 345758 E0036278 3C04DB06 */ lui $a0, 0xdb06
/* 34575C E003627C 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 345760 E0036280 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 345764 E0036284 34840024 */ ori $a0, $a0, 0x24
/* 345768 E0036288 8CC50000 */ lw $a1, ($a2)
/* 34576C E003628C 3C02E700 */ lui $v0, 0xe700
/* 345770 E0036290 00A0182D */ daddu $v1, $a1, $zero
/* 345774 E0036294 24A50008 */ addiu $a1, $a1, 8
/* 345778 E0036298 ACC50000 */ sw $a1, ($a2)
/* 34577C E003629C AC620000 */ sw $v0, ($v1)
/* 345780 E00362A0 24A20008 */ addiu $v0, $a1, 8
/* 345784 E00362A4 AC600004 */ sw $zero, 4($v1)
/* 345788 E00362A8 ACC20000 */ sw $v0, ($a2)
/* 34578C E00362AC ACA40000 */ sw $a0, ($a1)
/* 345790 E00362B0 8D030010 */ lw $v1, 0x10($t0)
/* 345794 E00362B4 24A20010 */ addiu $v0, $a1, 0x10
/* 345798 E00362B8 ACC20000 */ sw $v0, ($a2)
/* 34579C E00362BC 8C63001C */ lw $v1, 0x1c($v1)
/* 3457A0 E00362C0 3C02DE00 */ lui $v0, 0xde00
/* 3457A4 E00362C4 ACA20008 */ sw $v0, 8($a1)
/* 3457A8 E00362C8 3C020901 */ lui $v0, 0x901
/* 3457AC E00362CC 24428100 */ addiu $v0, $v0, -0x7f00
/* 3457B0 E00362D0 ACA2000C */ sw $v0, 0xc($a1)
/* 3457B4 E00362D4 3C028000 */ lui $v0, 0x8000
/* 3457B8 E00362D8 00621821 */ addu $v1, $v1, $v0
/* 3457BC E00362DC 1660000E */ bnez $s3, .LE0036318
/* 3457C0 E00362E0 ACA30004 */ sw $v1, 4($a1)
/* 3457C4 E00362E4 24A20018 */ addiu $v0, $a1, 0x18
/* 3457C8 E00362E8 ACC20000 */ sw $v0, ($a2)
/* 3457CC E00362EC 3C02FA00 */ lui $v0, 0xfa00
/* 3457D0 E00362F0 ACA20010 */ sw $v0, 0x10($a1)
/* 3457D4 E00362F4 90E3001F */ lbu $v1, 0x1f($a3)
/* 3457D8 E00362F8 24A20020 */ addiu $v0, $a1, 0x20
/* 3457DC E00362FC ACC20000 */ sw $v0, ($a2)
/* 3457E0 E0036300 3C02FB00 */ lui $v0, 0xfb00
/* 3457E4 E0036304 ACA20018 */ sw $v0, 0x18($a1)
/* 3457E8 E0036308 240200FF */ addiu $v0, $zero, 0xff
/* 3457EC E003630C ACA2001C */ sw $v0, 0x1c($a1)
/* 3457F0 E0036310 0800D8D3 */ j .LE003634C
/* 3457F4 E0036314 2402FF00 */ addiu $v0, $zero, -0x100
.LE0036318:
/* 3457F8 E0036318 3C04FFFF */ lui $a0, 0xffff
/* 3457FC E003631C 348400FF */ ori $a0, $a0, 0xff
/* 345800 E0036320 24A20018 */ addiu $v0, $a1, 0x18
/* 345804 E0036324 ACC20000 */ sw $v0, ($a2)
/* 345808 E0036328 3C02FA00 */ lui $v0, 0xfa00
/* 34580C E003632C ACA20010 */ sw $v0, 0x10($a1)
/* 345810 E0036330 90E3001F */ lbu $v1, 0x1f($a3)
/* 345814 E0036334 24A20020 */ addiu $v0, $a1, 0x20
/* 345818 E0036338 ACC20000 */ sw $v0, ($a2)
/* 34581C E003633C 3C02FB00 */ lui $v0, 0xfb00
/* 345820 E0036340 ACA20018 */ sw $v0, 0x18($a1)
/* 345824 E0036344 2402FF00 */ addiu $v0, $zero, -0x100
/* 345828 E0036348 ACA4001C */ sw $a0, 0x1c($a1)
.LE003634C:
/* 34582C E003634C 00621825 */ or $v1, $v1, $v0
/* 345830 E0036350 ACA30014 */ sw $v1, 0x14($a1)
/* 345834 E0036354 8CE50004 */ lw $a1, 4($a3)
/* 345838 E0036358 8CE60008 */ lw $a2, 8($a3)
/* 34583C E003635C 8CE7000C */ lw $a3, 0xc($a3)
/* 345840 E0036360 0C080108 */ jal shim_guTranslateF
/* 345844 E0036364 27A40018 */ addiu $a0, $sp, 0x18
/* 345848 E0036368 27B00058 */ addiu $s0, $sp, 0x58
/* 34584C E003636C 4480A000 */ mtc1 $zero, $f20
/* 345850 E0036370 3C038007 */ lui $v1, %hi(gCurrentCameraID)
/* 345854 E0036374 8C637410 */ lw $v1, %lo(gCurrentCameraID)($v1)
/* 345858 E0036378 3C013F80 */ lui $at, 0x3f80
/* 34585C E003637C 4481B000 */ mtc1 $at, $f22
/* 345860 E0036380 00031080 */ sll $v0, $v1, 2
/* 345864 E0036384 00431021 */ addu $v0, $v0, $v1
/* 345868 E0036388 00021080 */ sll $v0, $v0, 2
/* 34586C E003638C 00431023 */ subu $v0, $v0, $v1
/* 345870 E0036390 000218C0 */ sll $v1, $v0, 3
/* 345874 E0036394 00431021 */ addu $v0, $v0, $v1
/* 345878 E0036398 000210C0 */ sll $v0, $v0, 3
/* 34587C E003639C 4406A000 */ mfc1 $a2, $f20
/* 345880 E00363A0 3C01800B */ lui $at, %hi(gCameras+0x6C)
/* 345884 E00363A4 00220821 */ addu $at, $at, $v0
/* 345888 E00363A8 C4201DEC */ lwc1 $f0, %lo(gCameras+0x6C)($at)
/* 34588C E00363AC 4407B000 */ mfc1 $a3, $f22
/* 345890 E00363B0 46000007 */ neg.s $f0, $f0
/* 345894 E00363B4 44050000 */ mfc1 $a1, $f0
/* 345898 E00363B8 0200202D */ daddu $a0, $s0, $zero
/* 34589C E00363BC 0C080104 */ jal shim_guRotateF
/* 3458A0 E00363C0 E7B40010 */ swc1 $f20, 0x10($sp)
/* 3458A4 E00363C4 0200202D */ daddu $a0, $s0, $zero
/* 3458A8 E00363C8 27A50018 */ addiu $a1, $sp, 0x18
/* 3458AC E00363CC 0C080114 */ jal shim_guMtxCatF
/* 3458B0 E00363D0 00A0302D */ daddu $a2, $a1, $zero
/* 3458B4 E00363D4 0200202D */ daddu $a0, $s0, $zero
/* 3458B8 E00363D8 4405A000 */ mfc1 $a1, $f20
/* 3458BC E00363DC 3C07C000 */ lui $a3, 0xc000
/* 3458C0 E00363E0 0C080108 */ jal shim_guTranslateF
/* 3458C4 E00363E4 00A0302D */ daddu $a2, $a1, $zero
/* 3458C8 E00363E8 0200202D */ daddu $a0, $s0, $zero
/* 3458CC E00363EC 27A50018 */ addiu $a1, $sp, 0x18
/* 3458D0 E00363F0 0C080114 */ jal shim_guMtxCatF
/* 3458D4 E00363F4 00A0302D */ daddu $a2, $a1, $zero
/* 3458D8 E00363F8 3C01E003 */ lui $at, %hi(D_E0036650)
/* 3458DC E00363FC D4226650 */ ldc1 $f2, %lo(D_E0036650)($at)
/* 3458E0 E0036400 4600C021 */ cvt.d.s $f0, $f24
/* 3458E4 E0036404 46220002 */ mul.d $f0, $f0, $f2
/* 3458E8 E0036408 00000000 */ nop
/* 3458EC E003640C 3C120001 */ lui $s2, 1
/* 3458F0 E0036410 36521630 */ ori $s2, $s2, 0x1630
/* 3458F4 E0036414 0200202D */ daddu $a0, $s0, $zero
/* 3458F8 E0036418 46200620 */ cvt.s.d $f24, $f0
/* 3458FC E003641C 4405C000 */ mfc1 $a1, $f24
/* 345900 E0036420 4407B000 */ mfc1 $a3, $f22
/* 345904 E0036424 0C080110 */ jal shim_guScaleF
/* 345908 E0036428 00A0302D */ daddu $a2, $a1, $zero
/* 34590C E003642C 0200202D */ daddu $a0, $s0, $zero
/* 345910 E0036430 27A50018 */ addiu $a1, $sp, 0x18
/* 345914 E0036434 0C080114 */ jal shim_guMtxCatF
/* 345918 E0036438 00A0302D */ daddu $a2, $a1, $zero
/* 34591C E003643C 27A40018 */ addiu $a0, $sp, 0x18
/* 345920 E0036440 3C108007 */ lui $s0, %hi(gMatrixListPos)
/* 345924 E0036444 261041F0 */ addiu $s0, $s0, %lo(gMatrixListPos)
/* 345928 E0036448 3C11800A */ lui $s1, %hi(gDisplayContext)
/* 34592C E003644C 2631A674 */ addiu $s1, $s1, %lo(gDisplayContext)
/* 345930 E0036450 96050000 */ lhu $a1, ($s0)
/* 345934 E0036454 8E220000 */ lw $v0, ($s1)
/* 345938 E0036458 00052980 */ sll $a1, $a1, 6
/* 34593C E003645C 00B22821 */ addu $a1, $a1, $s2
/* 345940 E0036460 0C080118 */ jal shim_guMtxF2L
/* 345944 E0036464 00452821 */ addu $a1, $v0, $a1
/* 345948 E0036468 3C05DA38 */ lui $a1, 0xda38
/* 34594C E003646C 34A50002 */ ori $a1, $a1, 2
/* 345950 E0036470 0000482D */ daddu $t1, $zero, $zero
/* 345954 E0036474 3C170900 */ lui $s7, 0x900
/* 345958 E0036478 26F70000 */ addiu $s7, $s7, 0
/* 34595C E003647C 3C160900 */ lui $s6, 0x900
/* 345960 E0036480 26D64000 */ addiu $s6, $s6, 0x4000
/* 345964 E0036484 3C02800A */ lui $v0, %hi(gMasterGfxPos)
/* 345968 E0036488 2442A66C */ addiu $v0, $v0, %lo(gMasterGfxPos)
/* 34596C E003648C 0040302D */ daddu $a2, $v0, $zero
/* 345970 E0036490 3C0DFD68 */ lui $t5, 0xfd68
/* 345974 E0036494 35AD007F */ ori $t5, $t5, 0x7f
/* 345978 E0036498 3C0AF568 */ lui $t2, 0xf568
/* 34597C E003649C 354A2000 */ ori $t2, $t2, 0x2000
/* 345980 E00364A0 3C150700 */ lui $s5, 0x700
/* 345984 E00364A4 3C14E600 */ lui $s4, 0xe600
/* 345988 E00364A8 3C19F400 */ lui $t9, 0xf400
/* 34598C E00364AC 3C0C071F */ lui $t4, 0x71f
/* 345990 E00364B0 358CC07C */ ori $t4, $t4, 0xc07c
/* 345994 E00364B4 3C18E700 */ lui $t8, 0xe700
/* 345998 E00364B8 3C0FF200 */ lui $t7, 0xf200
/* 34599C E00364BC 3C0B001F */ lui $t3, 0x1f
/* 3459A0 E00364C0 356BC07C */ ori $t3, $t3, 0xc07c
/* 3459A4 E00364C4 3C0EDE00 */ lui $t6, 0xde00
/* 3459A8 E00364C8 3C08E003 */ lui $t0, %hi(D_E0036630)
/* 3459AC E00364CC 25086630 */ addiu $t0, $t0, %lo(D_E0036630)
/* 3459B0 E00364D0 0120382D */ daddu $a3, $t1, $zero
/* 3459B4 E00364D4 8CC30000 */ lw $v1, ($a2)
/* 3459B8 E00364D8 96020000 */ lhu $v0, ($s0)
/* 3459BC E00364DC 0060202D */ daddu $a0, $v1, $zero
/* 3459C0 E00364E0 24630008 */ addiu $v1, $v1, 8
/* 3459C4 E00364E4 ACC30000 */ sw $v1, ($a2)
/* 3459C8 E00364E8 24430001 */ addiu $v1, $v0, 1
/* 3459CC E00364EC 3042FFFF */ andi $v0, $v0, 0xffff
/* 3459D0 E00364F0 00021180 */ sll $v0, $v0, 6
/* 3459D4 E00364F4 AC850000 */ sw $a1, ($a0)
/* 3459D8 E00364F8 A6030000 */ sh $v1, ($s0)
/* 3459DC E00364FC 8E230000 */ lw $v1, ($s1)
/* 3459E0 E0036500 00521021 */ addu $v0, $v0, $s2
/* 3459E4 E0036504 00621821 */ addu $v1, $v1, $v0
/* 3459E8 E0036508 AC830004 */ sw $v1, 4($a0)
.LE003650C:
/* 3459EC E003650C 16600002 */ bnez $s3, .LE0036518
/* 3459F0 E0036510 00F62021 */ addu $a0, $a3, $s6
/* 3459F4 E0036514 00F72021 */ addu $a0, $a3, $s7
.LE0036518:
/* 3459F8 E0036518 24E71000 */ addiu $a3, $a3, 0x1000
/* 3459FC E003651C 8CC30000 */ lw $v1, ($a2)
/* 345A00 E0036520 25290001 */ addiu $t1, $t1, 1
/* 345A04 E0036524 0060102D */ daddu $v0, $v1, $zero
/* 345A08 E0036528 24630008 */ addiu $v1, $v1, 8
/* 345A0C E003652C AC4D0000 */ sw $t5, ($v0)
/* 345A10 E0036530 AC440004 */ sw $a0, 4($v0)
/* 345A14 E0036534 AC6A0000 */ sw $t2, ($v1)
/* 345A18 E0036538 AC750004 */ sw $s5, 4($v1)
/* 345A1C E003653C AC740008 */ sw $s4, 8($v1)
/* 345A20 E0036540 AC60000C */ sw $zero, 0xc($v1)
/* 345A24 E0036544 AC790010 */ sw $t9, 0x10($v1)
/* 345A28 E0036548 AC6C0014 */ sw $t4, 0x14($v1)
/* 345A2C E003654C AC780018 */ sw $t8, 0x18($v1)
/* 345A30 E0036550 AC60001C */ sw $zero, 0x1c($v1)
/* 345A34 E0036554 AC6A0020 */ sw $t2, 0x20($v1)
/* 345A38 E0036558 AC600024 */ sw $zero, 0x24($v1)
/* 345A3C E003655C AC6F0028 */ sw $t7, 0x28($v1)
/* 345A40 E0036560 AC6B002C */ sw $t3, 0x2c($v1)
/* 345A44 E0036564 AC6E0030 */ sw $t6, 0x30($v1)
/* 345A48 E0036568 8D040000 */ lw $a0, ($t0)
/* 345A4C E003656C 25080004 */ addiu $t0, $t0, 4
/* 345A50 E0036570 24620008 */ addiu $v0, $v1, 8
/* 345A54 E0036574 ACC30000 */ sw $v1, ($a2)
/* 345A58 E0036578 ACC20000 */ sw $v0, ($a2)
/* 345A5C E003657C 24620010 */ addiu $v0, $v1, 0x10
/* 345A60 E0036580 ACC20000 */ sw $v0, ($a2)
/* 345A64 E0036584 24620018 */ addiu $v0, $v1, 0x18
/* 345A68 E0036588 ACC20000 */ sw $v0, ($a2)
/* 345A6C E003658C 24620020 */ addiu $v0, $v1, 0x20
/* 345A70 E0036590 ACC20000 */ sw $v0, ($a2)
/* 345A74 E0036594 24620028 */ addiu $v0, $v1, 0x28
/* 345A78 E0036598 ACC20000 */ sw $v0, ($a2)
/* 345A7C E003659C 24620030 */ addiu $v0, $v1, 0x30
/* 345A80 E00365A0 ACC20000 */ sw $v0, ($a2)
/* 345A84 E00365A4 24620038 */ addiu $v0, $v1, 0x38
/* 345A88 E00365A8 ACC20000 */ sw $v0, ($a2)
/* 345A8C E00365AC 29220004 */ slti $v0, $t1, 4
/* 345A90 E00365B0 1440FFD6 */ bnez $v0, .LE003650C
/* 345A94 E00365B4 AC640034 */ sw $a0, 0x34($v1)
/* 345A98 E00365B8 3C03D838 */ lui $v1, 0xd838
/* 345A9C E00365BC 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 345AA0 E00365C0 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 345AA4 E00365C4 8C820000 */ lw $v0, ($a0)
/* 345AA8 E00365C8 34630002 */ ori $v1, $v1, 2
/* 345AAC E00365CC 0040282D */ daddu $a1, $v0, $zero
/* 345AB0 E00365D0 24420008 */ addiu $v0, $v0, 8
/* 345AB4 E00365D4 AC820000 */ sw $v0, ($a0)
/* 345AB8 E00365D8 ACA30000 */ sw $v1, ($a1)
/* 345ABC E00365DC 24030040 */ addiu $v1, $zero, 0x40
/* 345AC0 E00365E0 ACA30004 */ sw $v1, 4($a1)
/* 345AC4 E00365E4 24430008 */ addiu $v1, $v0, 8
/* 345AC8 E00365E8 AC830000 */ sw $v1, ($a0)
/* 345ACC E00365EC 3C03E700 */ lui $v1, 0xe700
/* 345AD0 E00365F0 AC430000 */ sw $v1, ($v0)
/* 345AD4 E00365F4 AC400004 */ sw $zero, 4($v0)
.LE00365F8:
/* 345AD8 E00365F8 8FBF00B8 */ lw $ra, 0xb8($sp)
/* 345ADC E00365FC 8FB700B4 */ lw $s7, 0xb4($sp)
/* 345AE0 E0036600 8FB600B0 */ lw $s6, 0xb0($sp)
/* 345AE4 E0036604 8FB500AC */ lw $s5, 0xac($sp)
/* 345AE8 E0036608 8FB400A8 */ lw $s4, 0xa8($sp)
/* 345AEC E003660C 8FB300A4 */ lw $s3, 0xa4($sp)
/* 345AF0 E0036610 8FB200A0 */ lw $s2, 0xa0($sp)
/* 345AF4 E0036614 8FB1009C */ lw $s1, 0x9c($sp)
/* 345AF8 E0036618 8FB00098 */ lw $s0, 0x98($sp)
/* 345AFC E003661C D7B800D0 */ ldc1 $f24, 0xd0($sp)
/* 345B00 E0036620 D7B600C8 */ ldc1 $f22, 0xc8($sp)
/* 345B04 E0036624 D7B400C0 */ ldc1 $f20, 0xc0($sp)
/* 345B08 E0036628 03E00008 */ jr $ra
/* 345B0C E003662C 27BD00D8 */ addiu $sp, $sp, 0xd8

View File

@ -1,61 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel got_item_outline_main
/* 3454E0 E0036000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3454E4 E0036004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3454E8 E0036008 4485A000 */ mtc1 $a1, $f20
/* 3454EC E003600C AFB1002C */ sw $s1, 0x2c($sp)
/* 3454F0 E0036010 0080882D */ daddu $s1, $a0, $zero
/* 3454F4 E0036014 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3454F8 E0036018 4486B000 */ mtc1 $a2, $f22
/* 3454FC E003601C 27A40010 */ addiu $a0, $sp, 0x10
/* 345500 E0036020 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 345504 E0036024 4487C000 */ mtc1 $a3, $f24
/* 345508 E0036028 3C02E003 */ lui $v0, %hi(got_item_outline_init)
/* 34550C E003602C 244260DC */ addiu $v0, $v0, %lo(got_item_outline_init)
/* 345510 E0036030 AFA20018 */ sw $v0, 0x18($sp)
/* 345514 E0036034 3C02E003 */ lui $v0, %hi(got_item_outline_update)
/* 345518 E0036038 244260E4 */ addiu $v0, $v0, %lo(got_item_outline_update)
/* 34551C E003603C AFA2001C */ sw $v0, 0x1c($sp)
/* 345520 E0036040 3C02E003 */ lui $v0, %hi(got_item_outline_render)
/* 345524 E0036044 244261D8 */ addiu $v0, $v0, %lo(got_item_outline_render)
/* 345528 E0036048 AFA20020 */ sw $v0, 0x20($sp)
/* 34552C E003604C 2402001B */ addiu $v0, $zero, 0x1b
/* 345530 E0036050 AFBF0030 */ sw $ra, 0x30($sp)
/* 345534 E0036054 AFB00028 */ sw $s0, 0x28($sp)
/* 345538 E0036058 AFA00010 */ sw $zero, 0x10($sp)
/* 34553C E003605C AFA00024 */ sw $zero, 0x24($sp)
/* 345540 E0036060 0C080124 */ jal shim_create_effect_instance
/* 345544 E0036064 AFA20014 */ sw $v0, 0x14($sp)
/* 345548 E0036068 24040020 */ addiu $a0, $zero, 0x20
/* 34554C E003606C 24030001 */ addiu $v1, $zero, 1
/* 345550 E0036070 0040802D */ daddu $s0, $v0, $zero
/* 345554 E0036074 0C08012C */ jal shim_general_heap_malloc
/* 345558 E0036078 AE030008 */ sw $v1, 8($s0)
/* 34555C E003607C 0040182D */ daddu $v1, $v0, $zero
/* 345560 E0036080 14600003 */ bnez $v1, .LE0036090
/* 345564 E0036084 AE02000C */ sw $v0, 0xc($s0)
.LE0036088:
/* 345568 E0036088 0800D822 */ j .LE0036088
/* 34556C E003608C 00000000 */ nop
.LE0036090:
/* 345570 E0036090 24020064 */ addiu $v0, $zero, 0x64
/* 345574 E0036094 AC620014 */ sw $v0, 0x14($v1)
/* 345578 E0036098 240200FF */ addiu $v0, $zero, 0xff
/* 34557C E003609C AC710000 */ sw $s1, ($v1)
/* 345580 E00360A0 AC600010 */ sw $zero, 0x10($v1)
/* 345584 E00360A4 E4740004 */ swc1 $f20, 4($v1)
/* 345588 E00360A8 E4760008 */ swc1 $f22, 8($v1)
/* 34558C E00360AC E478000C */ swc1 $f24, 0xc($v1)
/* 345590 E00360B0 AC62001C */ sw $v0, 0x1c($v1)
/* 345594 E00360B4 8FA20064 */ lw $v0, 0x64($sp)
/* 345598 E00360B8 AC500000 */ sw $s0, ($v0)
/* 34559C E00360BC 8FBF0030 */ lw $ra, 0x30($sp)
/* 3455A0 E00360C0 8FB1002C */ lw $s1, 0x2c($sp)
/* 3455A4 E00360C4 8FB00028 */ lw $s0, 0x28($sp)
/* 3455A8 E00360C8 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3455AC E00360CC D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3455B0 E00360D0 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3455B4 E00360D4 03E00008 */ jr $ra
/* 3455B8 E00360D8 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,72 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .text
glabel got_item_outline_update
/* 3455C4 E00360E4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3455C8 E00360E8 AFBF0010 */ sw $ra, 0x10($sp)
/* 3455CC E00360EC 8C85000C */ lw $a1, 0xc($a0)
/* 3455D0 E00360F0 8CA30014 */ lw $v1, 0x14($a1)
/* 3455D4 E00360F4 28620064 */ slti $v0, $v1, 0x64
/* 3455D8 E00360F8 10400007 */ beqz $v0, .LE0036118
/* 3455DC E00360FC 2462FFFF */ addiu $v0, $v1, -1
/* 3455E0 E0036100 04410005 */ bgez $v0, .LE0036118
/* 3455E4 E0036104 ACA20014 */ sw $v0, 0x14($a1)
/* 3455E8 E0036108 0C080128 */ jal shim_remove_effect
/* 3455EC E003610C 00000000 */ nop
/* 3455F0 E0036110 0800D873 */ j .LE00361CC
/* 3455F4 E0036114 00000000 */ nop
.LE0036118:
/* 3455F8 E0036118 8CA40010 */ lw $a0, 0x10($a1)
/* 3455FC E003611C 8CA30014 */ lw $v1, 0x14($a1)
/* 345600 E0036120 24820001 */ addiu $v0, $a0, 1
/* 345604 E0036124 0040302D */ daddu $a2, $v0, $zero
/* 345608 E0036128 ACA20010 */ sw $v0, 0x10($a1)
/* 34560C E003612C 28620006 */ slti $v0, $v1, 6
/* 345610 E0036130 10400012 */ beqz $v0, .LE003617C
/* 345614 E0036134 24020005 */ addiu $v0, $zero, 5
/* 345618 E0036138 00431023 */ subu $v0, $v0, $v1
/* 34561C E003613C 3C01E003 */ lui $at, %hi(D_E0036648)
/* 345620 E0036140 00220821 */ addu $at, $at, $v0
/* 345624 E0036144 90226648 */ lbu $v0, %lo(D_E0036648)($at)
/* 345628 E0036148 3C014316 */ lui $at, 0x4316
/* 34562C E003614C 44811000 */ mtc1 $at, $f2
/* 345630 E0036150 44820000 */ mtc1 $v0, $f0
/* 345634 E0036154 00000000 */ nop
/* 345638 E0036158 46800020 */ cvt.s.w $f0, $f0
/* 34563C E003615C 8CA2001C */ lw $v0, 0x1c($a1)
/* 345640 E0036160 46020003 */ div.s $f0, $f0, $f2
/* 345644 E0036164 E4A00018 */ swc1 $f0, 0x18($a1)
/* 345648 E0036168 00021FC2 */ srl $v1, $v0, 0x1f
/* 34564C E003616C 00431021 */ addu $v0, $v0, $v1
/* 345650 E0036170 00021043 */ sra $v0, $v0, 1
/* 345654 E0036174 0800D873 */ j .LE00361CC
/* 345658 E0036178 ACA2001C */ sw $v0, 0x1c($a1)
.LE003617C:
/* 34565C E003617C 28C20007 */ slti $v0, $a2, 7
/* 345660 E0036180 1040000B */ beqz $v0, .LE00361B0
/* 345664 E0036184 00000000 */ nop
/* 345668 E0036188 3C02E003 */ lui $v0, %hi(D_E0036640)
/* 34566C E003618C 00441021 */ addu $v0, $v0, $a0
/* 345670 E0036190 90426640 */ lbu $v0, %lo(D_E0036640)($v0)
/* 345674 E0036194 3C014316 */ lui $at, 0x4316
/* 345678 E0036198 44811000 */ mtc1 $at, $f2
/* 34567C E003619C 44820000 */ mtc1 $v0, $f0
/* 345680 E00361A0 00000000 */ nop
/* 345684 E00361A4 46800020 */ cvt.s.w $f0, $f0
/* 345688 E00361A8 0800D86E */ j .LE00361B8
/* 34568C E00361AC 46020003 */ div.s $f0, $f0, $f2
.LE00361B0:
/* 345690 E00361B0 3C013F80 */ lui $at, 0x3f80
/* 345694 E00361B4 44810000 */ mtc1 $at, $f0
.LE00361B8:
/* 345698 E00361B8 28C20007 */ slti $v0, $a2, 7
/* 34569C E00361BC 14400003 */ bnez $v0, .LE00361CC
/* 3456A0 E00361C0 E4A00018 */ swc1 $f0, 0x18($a1)
/* 3456A4 E00361C4 24020007 */ addiu $v0, $zero, 7
/* 3456A8 E00361C8 ACA20010 */ sw $v0, 0x10($a1)
.LE00361CC:
/* 3456AC E00361CC 8FBF0010 */ lw $ra, 0x10($sp)
/* 3456B0 E00361D0 03E00008 */ jr $ra
/* 3456B4 E00361D4 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -87,6 +87,10 @@ D_090018F8 = 0x090018F8;
D_09001918 = 0x09001918;
D_09001938 = 0x09001938;
// effect_damage_stars
D_090004C0 = 0x090004C0;
D_090005E0 = 0x090005E0;
// effect_drop_leaves
D_09001180 = 0x09001180;
D_09001230 = 0x09001230;
@ -101,10 +105,67 @@ D_09000E58 = 0x09000E58;
// effect_ending_decals
D_09001E40 = 0x09001E40;
// effect_energy_in_out
D_09000200 = 0x09000200;
D_09000688 = 0x09000688;
D_09000808 = 0x09000808;
// effect_energy_orb_wave
D_09001000 = 0x09001000;
D_090010A8 = 0x090010A8;
D_090011D0 = 0x090011D0;
D_090011F0 = 0x090011F0;
D_09001210 = 0x09001210;
// effect_energy_shockwave
D_09000DC0 = 0x09000DC0;
D_09000E60 = 0x09000E60;
// effect_explosion
D_09000840 = 0x09000840;
D_090008F0 = 0x090008F0;
D_09000910 = 0x09000910;
// effect_falling_leaves
D_09001100 = 0x09001100;
D_090011B0 = 0x090011B0;
// effect_fire_flower
D_09000000 = 0x09000000;
D_09000D40 = 0x09000D40;
D_09000DE0 = 0x09000DE0;
D_09000EB8 = 0x09000EB8;
D_09000ED8 = 0x09000ED8;
D_09000EF8 = 0x09000EF8;
D_09000000 = 0x09000000;
// effect_flashing_box_shockwave
D_09000600 = 0x09000600;
D_090008E8 = 0x090008E8;
D_09000950 = 0x09000950;
D_09000FF8 = 0x09000FF8;
// effect_floating_cloud
D_09000080 = 0x09000080;
D_09000168 = 0x09000168;
// effect_floating_rock
D_09000450 = 0x09000450;
// effect_fright_jar
D_09000000 = 0x09000000;
D_09002020 = 0x09002020;
D_09004040 = 0x09004040;
D_09008BE0 = 0x09008BE0;
// effect_gather_magic
D_09000080 = 0x09000080;
// effect_got_item_outline
D_09000000 = 0x09000000;
D_09004000 = 0x09004000;
D_09008100 = 0x09008100;
// effect_green_impact
D_09000540 = 0x09000540;