Matching effects and some world/area_kkj functions (#756)

* Matching effects and some world/area_kkj functions

* Partially addressed PR comments

* Partially addressed PR comments

* Added EVT_FIXED_TO_FLOAT macro
This commit is contained in:
mrshigure 2022-09-04 21:53:21 -07:00 committed by GitHub
parent 1a8c131880
commit cc2d6996b8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 921 additions and 2243 deletions

View File

@ -422,8 +422,25 @@ typedef struct DropLeavesFXData {
} DropLeavesFXData; // size = unknown } DropLeavesFXData; // size = unknown
typedef struct DustFXData { typedef struct DustFXData {
/* 0x00 */ char todo[0]; /* 0x00 */ s32 unk_00;
} DustFXData; // size = unknown /* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ f32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44;
} DustFXData; // size = 0x48
typedef struct ShatteringStonesFXData { typedef struct ShatteringStonesFXData {
/* 0x00 */ char todo[0]; /* 0x00 */ char todo[0];
@ -709,9 +726,12 @@ typedef struct AuraFXData {
typedef struct BulbGlowFXData { typedef struct BulbGlowFXData {
/* 0x00 */ s32 unk_00; /* 0x00 */ s32 unk_00;
/* 0x04 */ Vec3f pos; /* 0x04 */ Vec3f pos;
/* 0x10 */ char unk_10[0x4]; /* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14; /* 0x14 */ s32 unk_14;
} BulbGlowFXData; // size = ? /* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
} BulbGlowFXData; // size = 0x24
typedef struct Effect3DFXData { typedef struct Effect3DFXData {
/* 0x00 */ s32 unk_00; /* 0x00 */ s32 unk_00;
@ -875,16 +895,46 @@ typedef struct BalloonFXData {
} BalloonFXData; // size = 0x24 } BalloonFXData; // size = 0x24
typedef struct FloatingRockFXData { typedef struct FloatingRockFXData {
/* 0x00 */ char unk_00[0xC]; /* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C; /* 0x0C */ f32 unk_0C;
/* 0x10 */ char unk_10[0x20]; /* 0x10 */ f32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ f32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ f32 unk_2C;
/* 0x30 */ Vec3f unk_30; /* 0x30 */ Vec3f unk_30;
/* 0x3C */ char todo[0]; /* 0x3C */ f32 unk_3C;
} FloatingRockFXData; // size = 0x?? /* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48;
/* 0x4C */ s32 unk_4C;
} FloatingRockFXData; // size = 0x50
typedef struct ChompDropFXData { typedef struct ChompDropFXData {
/* 0x00 */ char todo[0]; /* 0x00 */ s32 unk_00;
} ChompDropFXData; // size = unknown /* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ f32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ f32 unk_24;
/* 0x28 */ f32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44;
} ChompDropFXData; // size = 0x48
typedef struct QuizmoStageFXData { typedef struct QuizmoStageFXData {
/* 0x00 */ char unk_00[0x4]; /* 0x00 */ char unk_00[0x4];
@ -1161,15 +1211,24 @@ typedef struct HuffPuffBreathFXData {
} HuffPuffBreathFXData; // size = ? } HuffPuffBreathFXData; // size = ?
typedef struct ColdBreathFXData { typedef struct ColdBreathFXData {
/* 0x00 */ char unk_00[0x18]; /* 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; /* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C; /* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20; /* 0x20 */ s32 unk_20;
/* 0x24 */ char unk_24[0x4]; /* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28; // TODO: Vec3i color? /* 0x28 */ s32 unk_28; // TODO: Vec3i color?
/* 0x2C */ s32 unk_2C; /* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30; /* 0x30 */ s32 unk_30;
} ColdBreathFXData; // size = ? /* 0x34 */ s32 unk_34;
/* 0x38 */ f32 unk_38;
/* 0x3C */ f32 unk_3C;
/* 0x40 */ f32 unk_40;
} ColdBreathFXData; // size = 0x44
typedef struct EmbersFXData { typedef struct EmbersFXData {
/* 0x00 */ char todo[0]; /* 0x00 */ char todo[0];
@ -1257,8 +1316,29 @@ typedef struct PeachStarBeamFXData {
} PeachStarBeamFXData; // size = 0x13C } PeachStarBeamFXData; // size = 0x13C
typedef struct ChapterChangeFXData { typedef struct ChapterChangeFXData {
/* 0x00 */ char todo[0]; /* 0x00 */ s32 unk_00;
} ChapterChangeFXData; // size = unknown /* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ f32 unk_10;
/* 0x14 */ f32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ s32 unk_34;
/* 0x38 */ s32 unk_38;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ s32 unk_40;
/* 0x44 */ s32 unk_44;
/* 0x48 */ s32 unk_48;
/* 0x4C */ s32 unk_4C;
/* 0x50 */ f32 unk_50;
/* 0x54 */ s32 unk_54;
} ChapterChangeFXData; // size = 0x58
typedef struct IceShardFXData { typedef struct IceShardFXData {
/* 0x00 */ char unk_00[0x4C]; /* 0x00 */ char unk_00[0x4C];

View File

@ -52,7 +52,7 @@ FX_MAIN(sparkles_main);
EffectInstance* shape_spell_main(s32, f32, f32, f32, f32, f32, f32, s32); EffectInstance* shape_spell_main(s32, f32, f32, f32, f32, f32, f32, s32);
FX_MAIN(gather_energy_pink_main); FX_MAIN(gather_energy_pink_main);
FX_MAIN(drop_leaves_main); FX_MAIN(drop_leaves_main);
FX_MAIN(dust_main); EffectInstance* dust_main(s32, f32, f32, f32, s32);
FX_MAIN(shattering_stones_main); FX_MAIN(shattering_stones_main);
FX_MAIN(smoke_ring_main); FX_MAIN(smoke_ring_main);
FX_MAIN(damage_stars_main); FX_MAIN(damage_stars_main);
@ -90,7 +90,7 @@ FX_MAIN(shimmer_burst_main);
FX_MAIN(energy_shockwave_main); FX_MAIN(energy_shockwave_main);
FX_MAIN(shimmer_wave_main); FX_MAIN(shimmer_wave_main);
void aura_main(s32, f32, f32, f32, f32, EffectInstance**); void aura_main(s32, f32, f32, f32, f32, EffectInstance**);
FX_MAIN(bulb_glow_main); void bulb_glow_main(s32, f32, f32, f32, f32, EffectInstance**);
FX_MAIN(fx_3D_main); FX_MAIN(fx_3D_main);
void blast_main(s32, f32, f32, f32, f32, s32); void blast_main(s32, f32, f32, f32, f32, s32);
EffectInstance* fire_flower_main(s32, f32, f32, f32, s32); EffectInstance* fire_flower_main(s32, f32, f32, f32, s32);
@ -106,8 +106,8 @@ EffectInstance* attack_result_text_main(s32, f32, f32, f32, f32, s32);
EffectInstance* small_gold_sparkle_main(s32, f32, f32, f32, f32); EffectInstance* small_gold_sparkle_main(s32, f32, f32, f32, f32);
FX_MAIN(flashing_box_shockwave_main); FX_MAIN(flashing_box_shockwave_main);
EffectInstance* balloon_main(s32, f32, f32, f32, f32, s32); EffectInstance* balloon_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(floating_rock_main); EffectInstance* floating_rock_main(s32, f32, f32, f32, f32, f32, f32, f32, s32);
FX_MAIN(chomp_drop_main); EffectInstance* chomp_drop_main(s32, f32, f32, f32, f32, s32, f32, s32, f32, s32);
FX_MAIN(quizmo_stage_main); FX_MAIN(quizmo_stage_main);
FX_MAIN(radiating_energy_orb_main); FX_MAIN(radiating_energy_orb_main);
FX_MAIN(quizmo_answer_main); FX_MAIN(quizmo_answer_main);
@ -140,7 +140,7 @@ FX_MAIN(energy_in_out_main);
EffectInstance* tattle_window_main(s32, f32, f32, f32, f32, s32); EffectInstance* tattle_window_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(shiny_flare_main); FX_MAIN(shiny_flare_main);
FX_MAIN(huff_puff_breath_main); FX_MAIN(huff_puff_breath_main);
FX_MAIN(cold_breath_main); EffectInstance* cold_breath_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(embers_main); FX_MAIN(embers_main);
FX_MAIN(hieroglyphs_main); FX_MAIN(hieroglyphs_main);
FX_MAIN(misc_particles_main); FX_MAIN(misc_particles_main);
@ -149,7 +149,7 @@ FX_MAIN(moving_cloud_main);
FX_MAIN(fx_75_main); FX_MAIN(fx_75_main);
FX_MAIN(firework_rocket_main); FX_MAIN(firework_rocket_main);
EffectInstance* peach_star_beam_main(s32, f32, f32, f32, f32, s32); EffectInstance* peach_star_beam_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(chapter_change_main); EffectInstance* chapter_change_main(s32, f32, f32, f32, f32, s32);
FX_MAIN(ice_shard_main); FX_MAIN(ice_shard_main);
FX_MAIN(spirit_card_main); FX_MAIN(spirit_card_main);
FX_MAIN(lil_oink_main); FX_MAIN(lil_oink_main);

View File

@ -20,6 +20,7 @@
// This fixes an issue with fixed point numbers not being correct. Potentially a truncation vs round difference. // This fixes an issue with fixed point numbers not being correct. Potentially a truncation vs round difference.
#define EVT_FLOAT_ROUND(x) ((x)>=0?(f64)((x) + 0.9):(f64)(x)) #define EVT_FLOAT_ROUND(x) ((x)>=0?(f64)((x) + 0.9):(f64)(x))
#define EVT_FLOAT(DOUBLE) (((Bytecode)EVT_FLOAT_ROUND((DOUBLE * 1024.0f)) + -230000000)) #define EVT_FLOAT(DOUBLE) (((Bytecode)EVT_FLOAT_ROUND((DOUBLE * 1024.0f)) + -230000000))
#define EVT_FIXED_TO_FLOAT(x) ({f32 var = x + 230000000; var /= 1024.0f; var;})
/// Address/pointer constant. /// Address/pointer constant.
#define EVT_ADDR(sym) (((Bytecode) &((sym)))) #define EVT_ADDR(sym) (((Bytecode) &((sym))))

View File

@ -1,14 +1,93 @@
#include "common.h" #include "common.h"
#include "effects_internal.h" #include "effects_internal.h"
extern s32 D_E00789A8;
void bulb_glow_init(EffectInstance* effect);
void bulb_glow_update(EffectInstance* effect);
void bulb_glow_render(EffectInstance* effect);
void bulb_glow_appendGfx(void* effect); void bulb_glow_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/bulb_glow", bulb_glow_main); void bulb_glow_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, EffectInstance** outEffect) {
EffectBlueprint bp;
EffectInstance* effect;
BulbGlowFXData* data;
s32 numParts = 1;
void bulb_glow_init(void) { bp.init = bulb_glow_init;
bp.update = bulb_glow_update;
bp.renderWorld = bulb_glow_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_BULB_GLOW;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.bulbGlow = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.bulbGlow != NULL);
data->unk_00 = arg0 & 0xFF;
if (arg0 < 256) {
data->unk_14 = 100;
} else {
data->unk_14 = 80;
}
data->unk_18 = 0;
data->unk_10 = 127;
data->pos.x = arg1;
data->pos.y = arg2;
data->pos.z = arg3;
data->unk_1C = D_E00789A8;
D_E00789A8++;
if (D_E00789A8 >= 16) {
D_E00789A8 = 0;
} }
INCLUDE_ASM(s32, "effects/bulb_glow", bulb_glow_update); data->unk_20 = shim_rand_int(7);
*outEffect = effect;
}
void bulb_glow_init(EffectInstance* effect) {
}
void bulb_glow_update(EffectInstance* effect) {
BulbGlowFXData* data = effect->data.bulbGlow;
s32 unk18;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_14 = 10;
}
data->unk_18++;
if (data->unk_14 < 100) {
data->unk_14--;
}
if (data->unk_14 < 0) {
shim_remove_effect(effect);
return;
}
unk18 = data->unk_18;
if (data->unk_00 == 0) {
if (unk18 < 11) {
data->unk_10 = (unk18 * 6) + 4;
} else {
data->unk_10 = 64;
}
if (unk18 & 1) {
data->unk_10 *= 0.6;
}
if (unk18 >= 15) {
data->unk_00 = 4;
data->unk_10 = 127;
}
}
}
void bulb_glow_render(EffectInstance* effect) { void bulb_glow_render(EffectInstance* effect) {
BulbGlowFXData* data = effect->data.bulbGlow; BulbGlowFXData* data = effect->data.bulbGlow;

View File

@ -1,16 +1,91 @@
#include "common.h" #include "common.h"
#include "effects_internal.h" #include "effects_internal.h"
extern s32 D_E010E750[];
void chapter_change_init(EffectInstance* effect);
void chapter_change_update(EffectInstance* effect);
void chapter_change_render(EffectInstance* effect);
void chapter_change_appendGfx(void* effect); void chapter_change_appendGfx(void* effect);
s32 shim_get_msg_width(s32, u16);
INCLUDE_ASM(s32, "effects/chapter_change", func_E010E000); INCLUDE_ASM(s32, "effects/chapter_change", func_E010E000);
INCLUDE_ASM(s32, "effects/chapter_change", chapter_change_main); EffectInstance* chapter_change_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
ChapterChangeFXData* data;
EffectInstance* effect;
s32 numParts = 1;
void chapter_change_init(void) { bp.init = chapter_change_init;
bp.update = chapter_change_update;
bp.renderWorld = chapter_change_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_CHAPTER_CHANGE;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.chapterChange = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.chapterChange != NULL);
data->unk_00 = arg0;
data->unk_1C = 0;
if (arg5 <= 0) {
data->unk_18 = 1000;
} else {
data->unk_18 = arg5;
}
data->unk_10 = arg1;
data->unk_04 = arg1;
data->unk_14 = arg2;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_50 = arg4;
data->unk_20 = 255;
data->unk_24 = 255;
data->unk_28 = 255;
data->unk_2C = 255;
data->unk_30 = 0;
data->unk_34 = 0;
data->unk_38 = 0;
if (arg0 == 0 || arg0 - 10 < 9U) {
data->unk_3C = 0;
} else {
data->unk_3C = 255;
}
data->unk_54 = D_E010E750[arg0];
if (data->unk_54 >= 0) {
data->unk_40 = 160;
data->unk_44 = 160;
data->unk_48 = shim_get_msg_width(data->unk_54, 0);
data->unk_4C = 24;
} }
INCLUDE_ASM(s32, "effects/chapter_change", chapter_change_update); return effect;
}
void chapter_change_init(EffectInstance* effect) {
}
void chapter_change_update(EffectInstance* effect) {
ChapterChangeFXData* data = effect->data.chapterChange;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_18 = 0x10;
}
if (data->unk_18 < 1000) {
data->unk_18--;
}
data->unk_1C++;
if (data->unk_18 < 0) {
shim_remove_effect(effect);
}
}
void chapter_change_render(EffectInstance* effect) { void chapter_change_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;

View File

@ -1,14 +1,116 @@
#include "common.h" #include "common.h"
#include "effects_internal.h" #include "effects_internal.h"
void chomp_drop_init(EffectInstance* effect);
void chomp_drop_update(EffectInstance* effect);
void chomp_drop_render(EffectInstance* effect);
void chomp_drop_appendGfx(void* effect); void chomp_drop_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/chomp_drop", chomp_drop_main); EffectInstance* chomp_drop_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5, f32 arg6, s32 arg7, f32 arg8, s32 arg9) {
EffectBlueprint bp;
EffectInstance* effect;
ChompDropFXData* data;
s32 numParts = 1;
void chomp_drop_init(void) { bp.init = chomp_drop_init;
bp.update = chomp_drop_update;
bp.renderWorld = chomp_drop_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_CHOMP_DROP;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.chompDrop = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.chompDrop != NULL);
data->unk_00 = arg0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_28 = arg8;
data->unk_14 = arg4;
data->unk_1C = arg5;
data->unk_18 = arg6;
data->unk_34 = 1.0f;
data->unk_20 = arg7;
data->unk_38 = shim_rand_int(0x168);
data->unk_40 = arg9;
data->unk_44 = 0;
data->unk_3C = arg5;
data->unk_24 = arg4;
data->unk_10 = 0;
data->unk_2C = 0;
return effect;
} }
INCLUDE_ASM(s32, "effects/chomp_drop", chomp_drop_update); void chomp_drop_init(EffectInstance* effect) {
}
void chomp_drop_update(EffectInstance* effect) {
ChompDropFXData* data = effect->data.chompDrop;
s32 unk40;
data->unk_40--;
data->unk_44++;
if (data->unk_40 < 0) {
shim_remove_effect(effect);
return;
}
unk40 = data->unk_40;
switch (data->unk_2C) {
case 0:
data->unk_24 += (data->unk_18 - data->unk_24) * data->unk_28;
data->unk_3C += (data->unk_20 - data->unk_3C) * data->unk_28;
data->unk_34 -= 0.02;
if (data->unk_34 < 0.0f) {
data->unk_30 = 10;
data->unk_34 = 0.0f;
data->unk_10 = 0.0f;
data->unk_2C = 1;
}
break;
case 1:
data->unk_30--;
if (data->unk_30 <= 0) {
data->unk_2C = 2;
data->unk_30 = 10;
}
break;
case 2:
data->unk_30--;
if (data->unk_30 <= 0) {
data->unk_2C = 3;
}
break;
case 3:
data->unk_10 -= 1.0f;
data->unk_08 += data->unk_10;
if (data->unk_08 < 0.0f) {
data->unk_08 = 0.0f;
shim_load_effect(EFFECT_DUST);
dust_main(2, data->unk_04 + 5.0f, data->unk_08, data->unk_0C, 30);
dust_main(2, data->unk_04 - 5.0f, data->unk_08, data->unk_0C, 30);
data->unk_2C = 4;
data->unk_30 = 20;
}
break;
case 4:
data->unk_30--;
if (data->unk_30 <= 0) {
data->unk_2C = 5;
}
break;
case 5:
if (unk40 < 10) {
data->unk_3C = unk40 * 25;
}
data->unk_34 -= 0.05;
break;
}
}
void chomp_drop_render(EffectInstance* effect) { void chomp_drop_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;

View File

@ -1,14 +1,104 @@
#include "common.h" #include "common.h"
#include "effects_internal.h" #include "effects_internal.h"
extern s32 D_E00DE810[];
extern s32 D_E00DE84C[];
extern s8 D_E00DE858[];
extern u8 D_E00DE8B4[];
extern u8 D_E00DE910[];
extern u8 D_E00DE96C[];
void cold_breath_init(EffectInstance* effect);
void cold_breath_render(EffectInstance* effect);
void cold_breath_update(EffectInstance* effect);
void cold_breath_appendGfx(void* effect); void cold_breath_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/cold_breath", cold_breath_main); EffectInstance* cold_breath_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
EffectBlueprint bp;
EffectInstance* effect;
ColdBreathFXData* data;
s32 numParts = 1;
void cold_breath_init(void) { bp.init = cold_breath_init;
bp.update = cold_breath_update;
bp.renderWorld = cold_breath_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_COLD_BREATH;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.coldBreath = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.coldBreath != 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_40 = arg4;
data->unk_18 = 255;
data->unk_1C = 255;
data->unk_20 = 255;
data->unk_28 = 255;
data->unk_2C = 255;
data->unk_30 = 255;
data->unk_34 = 255;
data->unk_38 = 0;
data->unk_3C = 0;
return effect;
} }
INCLUDE_ASM(s32, "effects/cold_breath", cold_breath_update); void cold_breath_init(EffectInstance* effect) {
}
void cold_breath_update(EffectInstance* effect) {
ColdBreathFXData* data = effect->data.coldBreath;
s32 unk00 = data->unk_00;
if (effect->flags & 0x10) {
effect->flags &= ~0x10;
data->unk_10 = 0x10;
}
if (data->unk_10 < 1000) {
data->unk_10--;
}
data->unk_14++;
if (data->unk_10 < 0) {
shim_remove_effect(effect);
return;
}
if (data->unk_10 < 16) {
data->unk_24 = data->unk_10 * 16;
}
if (unk00 < 2) {
if (unk00 >= 0) {
data->unk_3C += 0.02;
}
}
data->unk_08 += data->unk_3C;
if (data->unk_3C > 0.5) {
data->unk_3C = 0.5f;
}
if (data->unk_3C < -1.5) {
data->unk_3C = -1.5f;
}
data->unk_38 += 1.0f;
}
void cold_breath_render(EffectInstance* effect) { void cold_breath_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;
@ -23,4 +113,63 @@ void cold_breath_render(EffectInstance* effect) {
retTask->renderMode |= RENDER_TASK_FLAG_2; retTask->renderMode |= RENDER_TASK_FLAG_2;
} }
INCLUDE_ASM(s32, "effects/cold_breath", cold_breath_appendGfx); void cold_breath_appendGfx(void* effect) {
ColdBreathFXData* data = ((EffectInstance*)effect)->data.coldBreath;
Camera* camera = &gCameras[gCurrentCameraID];
s32 unk14 = data->unk_14;
s32 unk24 = data->unk_24;
s32 unk00 = data->unk_00;
Matrix4f sp20;
Matrix4f sp60;
s32 unkIndex;
f32 temp1;
f32 temp2;
f32 temp3;
f32 temp_f32;
s32 temp_s32;
s32 envAlpha;
s32 cond;
gDPPipeSync(gMasterGfxPos++);
gSPSegment(gMasterGfxPos++, 0x09, VIRTUAL_TO_PHYSICAL(((EffectInstance*)effect)->graphics->data));
shim_guTranslateF(sp20, data->unk_04, data->unk_08, data->unk_0C);
shim_guScaleF(sp60, data->unk_40, data->unk_40, data->unk_40);
shim_guMtxCatF(sp60, sp20, sp20);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPMatrix(gMasterGfxPos++, camera->unkMatrix, G_MTX_NOPUSH | G_MTX_MUL | G_MTX_MODELVIEW);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, data->unk_18, data->unk_1C, data->unk_20, 0.5 * unk24);
gDPSetAlphaDither(gMasterGfxPos++, G_AD_NOISE);
gSPDisplayList(gMasterGfxPos++, D_E00DE84C[unk00]);
unkIndex = (unk14 < 30 ? unk14 : 29) + unk00 * 30;
temp1 = D_E00DE96C[unkIndex];
temp2 = D_E00DE8B4[unkIndex];
temp3 = D_E00DE858[unkIndex];
shim_guPositionF(sp20, 0.0f, 0.0f, -temp1, temp2 * 0.01f, temp3, 0.0f, 0.0f);
shim_guMtxF2L(sp20, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMasterGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_MUL | G_MTX_MODELVIEW);
temp_f32 = D_E00DE910[unkIndex] * 5.0f / 256.0f;
temp_s32 = temp_f32;
envAlpha = (temp_f32 - temp_s32) * 256.0f;
cond = temp_s32 >= 4;
if (temp_s32 < 5) {
if (cond) {
gDPSetTileSize(gMasterGfxPos++, 1, 0, 0, 0, 0);
} else {
gDPSetTileSize(gMasterGfxPos++, 1, 0, 0, 31 << 2, 127 << 2);
}
gDPSetEnvColor(gMasterGfxPos++, data->unk_28, data->unk_2C, data->unk_30, envAlpha);
gSPDisplayList(gMasterGfxPos++, D_E00DE810[unk00 * 5 + temp_s32]);
}
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gSPPopMatrix(gMasterGfxPos++, G_MTX_MODELVIEW);
gDPSetAlphaDither(gMasterGfxPos++, G_AD_DISABLE);
gDPPipeSync(gMasterGfxPos++);
}

View File

@ -3,12 +3,109 @@
void dust_appendGfx(void* effect); void dust_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/dust", dust_main); void dust_init(EffectInstance* effect);
void dust_render(EffectInstance* effect);
void dust_update(EffectInstance* effect);
void dust_init(void) { EffectInstance* dust_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s32 arg4) {
EffectBlueprint bp;
EffectBlueprint* bpPtr = &bp;
EffectInstance* effect;
DustFXData* part;
s32 numParts;
s32 i;
if (arg0 < 2) {
numParts = 5;
} else {
numParts = 4;
} }
INCLUDE_ASM(s32, "effects/dust", dust_update); bp.init = dust_init;
bp.update = dust_update;
bp.renderWorld = dust_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_DUST;
effect = shim_create_effect_instance(bpPtr);
effect->numParts = numParts;
part = effect->data.dust = shim_general_heap_malloc(numParts * sizeof(*part));
ASSERT(effect->data.dust != NULL);
part->unk_00 = arg0;
part->unk_04 = arg1;
part->unk_08 = arg2;
part->unk_0C = arg3;
part->unk_2C = arg4;
part->unk_18 = 255;
part->unk_30 = 160;
part->unk_34 = 160;
part->unk_38 = 140;
part->unk_3C = 160;
part->unk_40 = 160;
part->unk_44 = 140;
part++;
for (i = 1; i < numParts; i++, part++) {
part->unk_04 = shim_rand_int(200) - 100;
part->unk_08 = shim_rand_int(50);
part->unk_0C = 0;
part->unk_14 = 0;
part->unk_1C = 1.0f;
part->unk_20 = 1.0f;
part->unk_10 = -1.0f;
part->unk_24 = shim_rand_int(10) / 200;
switch (arg0) {
case 0:
part->unk_28 = part->unk_24 * 0.1;
break;
case 1:
part->unk_28 = part->unk_24 * 0.2;
break;
default:
part->unk_24 = 0.4f;
part->unk_28 = 0.4f;
part->unk_10 = 0;
part->unk_04 = (shim_rand_int(40) - 20) * 0.1;
part->unk_08 = (shim_rand_int(40) - 20) * 0.1;
break;
}
}
return effect;
}
void dust_init(EffectInstance* effect) {
}
void dust_update(EffectInstance* effect) {
s32 i;
s32 unk00;
DustFXData* part = effect->data.dust;
part->unk_2C--;
if (part->unk_2C < 0) {
shim_remove_effect(effect);
return;
}
unk00 = part->unk_00;
if (part->unk_2C < 24) {
part->unk_18 *= 0.9;
}
part++;
for (i = 1; i < effect->numParts; i++, part++) {
part->unk_10 += part->unk_14;
part->unk_08 += part->unk_10;
if (unk00 < 2) {
part->unk_24 += 0.005;
}
part->unk_1C += part->unk_24;
part->unk_20 += part->unk_28;
}
}
void dust_render(EffectInstance* effect) { void dust_render(EffectInstance* effect) {
RenderTask renderTask; RenderTask renderTask;

View File

@ -1,14 +1,86 @@
#include "common.h" #include "common.h"
#include "effects_internal.h" #include "effects_internal.h"
void floating_rock_init(EffectInstance* effect);
void floating_rock_update(EffectInstance* effect);
void floating_rock_render(EffectInstance* effect);
void floating_rock_appendGfx(void* effect); void floating_rock_appendGfx(void* effect);
INCLUDE_ASM(s32, "effects/floating_rock", floating_rock_main); EffectInstance* floating_rock_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, f32 arg5, f32 arg6, f32 arg7, s32 arg8) {
EffectBlueprint bp;
EffectInstance* effect;
FloatingRockFXData* data;
s32 numParts = 1;
void floating_rock_init(void) { bp.init = floating_rock_init;
bp.update = floating_rock_update;
bp.renderWorld = floating_rock_render;
bp.unk_00 = 0;
bp.unk_14 = NULL;
bp.effectID = EFFECT_FLOATING_ROCK;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;
data = effect->data.floatingRock = shim_general_heap_malloc(numParts * sizeof(*data));
ASSERT(effect->data.floatingRock != NULL);
data->unk_00 = arg0;
data->unk_04 = arg1;
data->unk_08 = arg2;
data->unk_0C = arg3;
data->unk_10 = arg4;
data->unk_18 = arg5;
data->unk_20 = arg6;
data->unk_48 = arg8;
data->unk_4C = 0;
data->unk_14 = 0;
data->unk_1C = 0;
data->unk_24 = 0;
data->unk_28 = shim_rand_int(360);
data->unk_2C = shim_rand_int(360);
data->unk_30.x = 0;
data->unk_44 = 255;
data->unk_40 = 0;
data->unk_30.z = 20.0f;
data->unk_30.y = -20.0f;
data->unk_3C = 2.0f * arg7;
return effect;
} }
INCLUDE_ASM(s32, "effects/floating_rock", floating_rock_update); void floating_rock_init(EffectInstance* effect) {
}
void floating_rock_update(EffectInstance* effect) {
FloatingRockFXData* data = effect->data.floatingRock;
s32 unk48;
data->unk_48--;
data->unk_4C++;
if (data->unk_48 < 0) {
shim_remove_effect(effect);
return;
}
unk48 = data->unk_48;
if (data->unk_08 != data->unk_10) {
data->unk_18 += data->unk_20;
data->unk_08 += data->unk_18;
data->unk_24 += data->unk_30.x;
data->unk_2C += data->unk_30.z;
data->unk_28 += data->unk_30.y;
if (data->unk_08 <= data->unk_10) {
data->unk_08 = data->unk_10;
shim_load_effect(EFFECT_DUST);
dust_main(2, data->unk_04, data->unk_08, data->unk_0C, 20);
data->unk_48 = 30;
}
}
if (unk48 < 10) {
data->unk_44 *= 0.8;
}
}
void floating_rock_render(EffectInstance *effect) { void floating_rock_render(EffectInstance *effect) {
FloatingRockFXData* effect76 = effect->data.floatingRock; FloatingRockFXData* effect76 = effect->data.floatingRock;

View File

@ -1,3 +1,20 @@
#include "kkj_15.h" #include "kkj_15.h"
INCLUDE_ASM(s32, "world/area_kkj/kkj_15/AE58D0", func_80240340_AE58D0); ApiStatus func_80240340_AE58D0(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_safe(-4);
f32 var = EVT_FIXED_TO_FLOAT(script->varTable[2]);
f32 angle;
f32 mag;
mag = dist2D(50.0f, -200.0f, script->varTable[7], script->varTable[8]);
angle = clamp_angle(atan2(50.0f, -200.0f, script->varTable[7], script->varTable[8]) - var);
gPlayerStatus.position.x = 50.0f + mag * sin_deg(angle);
gPlayerStatus.position.z = -200.0f - mag * cos_deg(angle);
mag = dist2D(50.0f, -200.0f, script->varTable[9], script->varTable[10]);
angle = clamp_angle(atan2(50.0f, -200.0f, script->varTable[9], script->varTable[10]) - var);
npc->pos.x = 50.0f + mag * sin_deg(angle);
npc->pos.z = -200.0f - mag * cos_deg(angle);
return ApiStatus_DONE2;
}

View File

@ -6,7 +6,10 @@
#include "world/common/GetPeachDisguise.inc.c" #include "world/common/GetPeachDisguise.inc.c"
INCLUDE_ASM(s32, "world/area_kkj/kkj_16/AEDC60", func_80240EF4_AEE304); ApiStatus func_80240EF4_AEE304(Evt* script, s32 isInitialCall) {
gGameStatusPtr->peachFlags |= 8;
return ApiStatus_DONE2;
}
#define NAMESPACE dup_kkj_16 #define NAMESPACE dup_kkj_16
#include "world/common/UnkGooberFunc50.inc.c" #include "world/common/UnkGooberFunc50.inc.c"

View File

@ -1,6 +1,8 @@
#include "kkj_17.h" #include "kkj_17.h"
#include "hud_element.h"
extern s32 D_8024092C_AF258C[5]; extern s32 D_8024092C_AF258C[5];
extern IconHudScriptPair gItemHudScripts[];
static char* N(exit_str_0) = "kkj_11"; static char* N(exit_str_0) = "kkj_11";
static char* N(exit_str_1) = ""; static char* N(exit_str_1) = "";
@ -13,7 +15,87 @@ static char* N(exit_str_1) = "";
#include "world/common/CheckItemFlags40.inc.c" #include "world/common/CheckItemFlags40.inc.c"
INCLUDE_ASM(s32, "world/area_kkj/kkj_17/AF1C60", func_802402BC_AF1F1C); ApiStatus func_802402BC_AF1F1C(Evt* script, s32 isInitialCall) {
PopupMenu *menu;
s32 numEntries;
s32 index;
s32 temp;
s32 var1;
s32 var2;
s32 i;
if (isInitialCall) {
menu = heap_malloc(sizeof(*menu));
script->functionTempPtr[2] = menu;
script->varTable[10] = script->varTable[0];
if (script->varTable[0] == 0) {
script->varTable[1] = GSWF(484);
script->varTable[2] = GSWF(489);
menu->popupType = POPUP_MENU_USEKEY;
} else {
script->varTable[1] = GSWF(489);
script->varTable[2] = GSWF(494);
menu->popupType = POPUP_MENU_TAKE_FROM_CHEST;
}
numEntries = 0;
for (i = 0; i < ARRAY_COUNT(D_8024092C_AF258C); i++) {
var1 = evt_get_variable(NULL, script->varTable[1] + i);
var2 = evt_get_variable(NULL, script->varTable[2] + i);
if ((var1 != 0) && (var2 == 0)) {
ItemData* item = &gItemTable[D_8024092C_AF258C[i]];
IconHudScriptPair* itemHudScripts = &gItemHudScripts[item->hudElemID];
menu->ptrIcon[numEntries] = itemHudScripts->enabled;
menu->userIndex[numEntries] = i;
menu->enabled[numEntries] = TRUE;
menu->nameMsg[numEntries] = item->nameMsg;
menu->descMsg[numEntries] = item->shortDescMsg;
numEntries++;
}
}
if (numEntries == 0) {
script->varTable[0] = 0;
return ApiStatus_DONE1;
}
menu->numEntries = numEntries;
menu->initialPos = 0;
create_popup_menu(menu);
script->functionTemp[0] = 0;
}
menu = script->functionTempPtr[2];
if (script->functionTemp[0] == 0) {
script->functionTemp[1] = menu->result;
if (script->functionTemp[1] == 0) {
return ApiStatus_BLOCK;
}
hide_popup_menu();
}
script->functionTemp[0]++;
if (script->functionTemp[0] < 15) {
return ApiStatus_BLOCK;
}
destroy_popup_menu();
temp = script->functionTemp[1];
if (temp == 255) {
script->varTable[0] = -1;
} else {
index = menu->userIndex[temp - 1];
script->varTable[0] = D_8024092C_AF258C[index];
if (script->varTable[10] == 0) {
evt_set_variable(NULL, script->varTable[2] + index, 1);
}
heap_free(script->functionTempPtr[2]);
}
return ApiStatus_DONE2;
}
ApiStatus func_80240500_AF2160(Evt* script, s32 isInitialCall) { ApiStatus func_80240500_AF2160(Evt* script, s32 isInitialCall) {
s32* ptr = D_8024092C_AF258C; s32* ptr = D_8024092C_AF258C;

View File

@ -7,4 +7,9 @@ static char* N(exit_str_3) = "";
#include "world/common/atomic/TexturePan.inc.c" #include "world/common/atomic/TexturePan.inc.c"
INCLUDE_ASM(s32, "world/area_kkj/kkj_18/AF2CA0", func_8024030C_AF2FAC); ApiStatus func_8024030C_AF2FAC(Evt* script, s32 isInitialCall) {
gGameStatusPtr->peachFlags &= ~0x1;
gPlayerData.currentPartner = script->varTable[0];
return ApiStatus_DONE2;
}

View File

@ -1,11 +1,20 @@
#include "kkj_19.h" #include "kkj_19.h"
static char* N(exit_str_0) = "kkj_10"; typedef struct {
static char* N(exit_str_1) = "kkj_00"; /* 0x00 */ s32 itemID;
/* 0x04 */ s32 flagIndex;
/* 0x08 */ s32 overrideDescMsg;
} UnkStruct; // size = 0x0C
extern UnkStruct D_80240E10_AF8760[];
extern s32 D_80240E88_AF87D8; extern s32 D_80240E88_AF87D8;
extern s32 D_80240E8C_AF87DC; extern s32 D_80240E8C_AF87DC;
extern s32 D_80240E90_AF87E0; extern s32 D_80240E90_AF87E0;
extern EvtScript D_80240E94_AF87E4;
extern MenuWindowBP D_80240EF0_AF8840[2];
static char* N(exit_str_0) = "kkj_10";
static char* N(exit_str_1) = "kkj_00";
// Needs data migration, matching otherwise // Needs data migration, matching otherwise
#ifdef NON_MATCHING #ifdef NON_MATCHING
@ -49,4 +58,19 @@ INCLUDE_ASM(s32, "world/area_kkj/kkj_19/AF7950", func_802400E4_AF7A34);
INCLUDE_ASM(s32, "world/area_kkj/kkj_19/AF7950", func_80240178_AF7AC8); INCLUDE_ASM(s32, "world/area_kkj/kkj_19/AF7950", func_80240178_AF7AC8);
INCLUDE_ASM(s32, "world/area_kkj/kkj_19/AF7950", func_802401FC_AF7B4C); ApiStatus func_802401FC_AF7B4C(Evt* script, s32 isInitialCall) {
s32 i;
D_80240E88_AF87D8 = 0;
D_80240E8C_AF87DC = 0;
D_80240E90_AF87E0 = 0;
get_generic_entity(create_generic_entity_frontUI(func_80240068_AF79B8, NULL));
setup_pause_menu_tab(D_80240EF0_AF8840, ARRAY_COUNT(D_80240EF0_AF8840));
for (i = 0; i < 10; i++) {
bind_trigger_1(&D_80240E94_AF87E4, TRIGGER_FLOOR_TOUCH, D_80240E10_AF8760[i].flagIndex, i, 0, 3);
}
return ApiStatus_DONE2;
}

View File

@ -1,16 +1,39 @@
#include "kkj_23.h" #include "kkj_23.h"
INCLUDE_ASM(s32, "world/area_kkj/kkj_23/B028A0", func_80240020_B028A0); ApiStatus func_80240020_B028A0(Evt* script, s32 isInitialCall) {
gGameStatusPtr->peachFlags &= ~0x1;
gPlayerData.currentPartner = script->varTable[0];
INCLUDE_ASM(s32, "world/area_kkj/kkj_23/B028A0", func_80240048_B028C8); return ApiStatus_DONE2;
}
INCLUDE_ASM(s32, "world/area_kkj/kkj_23/B028A0", func_80240080_B02900); ApiStatus func_80240048_B028C8(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
gPlayerStatus.unk_0D = evt_get_float_variable(script, *args++);
return ApiStatus_DONE2;
}
ApiStatus func_80240080_B02900(Evt* script, s32 isInitialCall) {
Npc *npc = get_npc_safe(1);
f32 x = npc->pos.x;
f32 y = npc->pos.y;
f32 z = npc->pos.z;
sfx_adjust_env_sound_pos(SOUND_23D, 0, x, y, z);
script->varTable[0] = y;
return ApiStatus_DONE2;
}
#include "world/common/atomic/UnkPhysicsFuncs.inc.c" #include "world/common/atomic/UnkPhysicsFuncs.inc.c"
#include "world/common/GetPeachDisguise.inc.c" #include "world/common/GetPeachDisguise.inc.c"
INCLUDE_ASM(s32, "world/area_kkj/kkj_23/B028A0", func_80240784_B03004); ApiStatus func_80240784_B03004(Evt* script, s32 isInitialCall) {
gGameStatusPtr->peachFlags |= 8;
return ApiStatus_DONE2;
}
#include "world/common/UnkGooberFunc50.inc.c" #include "world/common/UnkGooberFunc50.inc.c"

View File

@ -1,5 +1,23 @@
#include "kkj_23.h" #include "kkj_23.h"
#include "effects.h"
INCLUDE_ASM(s32, "world/area_kkj/kkj_23/B03190", func_80240910_B03190); void func_800E63A4(s32);
INCLUDE_ASM(s32, "world/area_kkj/kkj_23/B03190", func_802409AC_B0322C); ApiStatus func_80240910_B03190(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);
s32 var3 = evt_get_variable(script, *args++);
effect->data.lightning->unk_30 = var1;
effect->data.lightning->unk_34 = var2;
effect->data.lightning->unk_38 = var3;
return ApiStatus_DONE2;
}
ApiStatus func_802409AC_B0322C(Evt* script, s32 isInitialCall) {
func_800E63A4(0);
return ApiStatus_DONE2;
}

View File

@ -110,7 +110,19 @@ ApiStatus func_80240B8C_B0758C(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2; return ApiStatus_DONE2;
} }
INCLUDE_ASM(s32, "world/area_kkj/kkj_25/B06D10", func_80240BA0_B075A0); ApiStatus func_80240BA0_B075A0(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
EffectInstance* effect = (EffectInstance*) evt_get_variable(script, *args++);
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);
s32 var3 = evt_get_variable(script, *args++);
effect->data.starsOrbiting->pos.x = var1;
effect->data.starsOrbiting->pos.y = var2;
effect->data.starsOrbiting->pos.z = var3;
return ApiStatus_DONE2;
}
ApiStatus func_80240C60_B07660(Evt* script, s32 isInitialCall) { ApiStatus func_80240C60_B07660(Evt* script, s32 isInitialCall) {
EffectInstance* effect; EffectInstance* effect;

View File

@ -1,7 +1,32 @@
#include "kkj_27.h" #include "kkj_27.h"
INCLUDE_ASM(s32, "world/area_kkj/kkj_27/B14080", func_80240310_B14080); extern s32 D_80240B00_B14870;
INCLUDE_ASM(s32, "world/area_kkj/kkj_27/B14080", func_8024041C_B1418C); ApiStatus func_80240310_B14080(Evt* script, s32 isInitialCall) {
f32 var = EVT_FIXED_TO_FLOAT(script->varTable[2]);
f32 angle;
f32 mag;
INCLUDE_ASM(s32, "world/area_kkj/kkj_27/B14080", func_80240448_B141B8); mag = dist2D(-250.0f, 0.0f, script->varTable[9], script->varTable[10]);
angle = atan2(-250.0f, 0.0f, script->varTable[9], script->varTable[10]);
angle = clamp_angle(angle - var);
gPlayerStatus.position.x = -250.0f + mag * sin_deg(angle);
gPlayerStatus.position.z = 0.0f - mag * cos_deg(angle);
return ApiStatus_DONE2;
}
ApiStatus func_8024041C_B1418C(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
D_80240B00_B14870 = evt_get_variable(script, *args++);
return ApiStatus_DONE2;
}
void func_80240448_B141B8(void) {
if (D_80240B00_B14870 > 0) {
gDPSetCombineLERP(gMasterGfxPos++, TEXEL0, 0, SHADE, 0, 0, 0, 0, PRIMITIVE, TEXEL0, 0, SHADE, 0, 0, 0, 0, PRIMITIVE);
gDPSetPrimColor(gMasterGfxPos++, 0, 0, 0, 0, 0, D_80240B00_B14870);
}
}

View File

@ -1,81 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel bulb_glow_main
/* 37A3F0 E0078000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 37A3F4 E0078004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 37A3F8 E0078008 4485A000 */ mtc1 $a1, $f20
/* 37A3FC E007800C AFB20030 */ sw $s2, 0x30($sp)
/* 37A400 E0078010 0080902D */ daddu $s2, $a0, $zero
/* 37A404 E0078014 F7B60040 */ sdc1 $f22, 0x40($sp)
/* 37A408 E0078018 4486B000 */ mtc1 $a2, $f22
/* 37A40C E007801C 27A40010 */ addiu $a0, $sp, 0x10
/* 37A410 E0078020 F7B80048 */ sdc1 $f24, 0x48($sp)
/* 37A414 E0078024 4487C000 */ mtc1 $a3, $f24
/* 37A418 E0078028 3C02E008 */ lui $v0, %hi(bulb_glow_init)
/* 37A41C E007802C 24428124 */ addiu $v0, $v0, %lo(bulb_glow_init)
/* 37A420 E0078030 AFA20018 */ sw $v0, 0x18($sp)
/* 37A424 E0078034 3C02E008 */ lui $v0, %hi(bulb_glow_update)
/* 37A428 E0078038 2442812C */ addiu $v0, $v0, %lo(bulb_glow_update)
/* 37A42C E007803C AFA2001C */ sw $v0, 0x1c($sp)
/* 37A430 E0078040 3C02E008 */ lui $v0, %hi(bulb_glow_render)
/* 37A434 E0078044 24428210 */ addiu $v0, $v0, %lo(bulb_glow_render)
/* 37A438 E0078048 AFA20020 */ sw $v0, 0x20($sp)
/* 37A43C E007804C 2402003C */ addiu $v0, $zero, 0x3c
/* 37A440 E0078050 AFBF0034 */ sw $ra, 0x34($sp)
/* 37A444 E0078054 AFB1002C */ sw $s1, 0x2c($sp)
/* 37A448 E0078058 AFB00028 */ sw $s0, 0x28($sp)
/* 37A44C E007805C AFA00010 */ sw $zero, 0x10($sp)
/* 37A450 E0078060 AFA00024 */ sw $zero, 0x24($sp)
/* 37A454 E0078064 0C080124 */ jal shim_create_effect_instance
/* 37A458 E0078068 AFA20014 */ sw $v0, 0x14($sp)
/* 37A45C E007806C 24040024 */ addiu $a0, $zero, 0x24
/* 37A460 E0078070 24030001 */ addiu $v1, $zero, 1
/* 37A464 E0078074 0040882D */ daddu $s1, $v0, $zero
/* 37A468 E0078078 0C08012C */ jal shim_general_heap_malloc
/* 37A46C E007807C AE230008 */ sw $v1, 8($s1)
/* 37A470 E0078080 0040802D */ daddu $s0, $v0, $zero
/* 37A474 E0078084 16000003 */ bnez $s0, .LE0078094
/* 37A478 E0078088 AE22000C */ sw $v0, 0xc($s1)
.LE007808C:
/* 37A47C E007808C 0801E023 */ j .LE007808C
/* 37A480 E0078090 00000000 */ nop
.LE0078094:
/* 37A484 E0078094 324200FF */ andi $v0, $s2, 0xff
/* 37A488 E0078098 AE020000 */ sw $v0, ($s0)
/* 37A48C E007809C 2A420100 */ slti $v0, $s2, 0x100
/* 37A490 E00780A0 14400002 */ bnez $v0, .LE00780AC
/* 37A494 E00780A4 24020064 */ addiu $v0, $zero, 0x64
/* 37A498 E00780A8 24020050 */ addiu $v0, $zero, 0x50
.LE00780AC:
/* 37A49C E00780AC AE020014 */ sw $v0, 0x14($s0)
/* 37A4A0 E00780B0 3C04E008 */ lui $a0, %hi(D_E00789A8)
/* 37A4A4 E00780B4 248489A8 */ addiu $a0, $a0, %lo(D_E00789A8)
/* 37A4A8 E00780B8 AE000018 */ sw $zero, 0x18($s0)
/* 37A4AC E00780BC 8C820000 */ lw $v0, ($a0)
/* 37A4B0 E00780C0 2403007F */ addiu $v1, $zero, 0x7f
/* 37A4B4 E00780C4 AE030010 */ sw $v1, 0x10($s0)
/* 37A4B8 E00780C8 E6140004 */ swc1 $f20, 4($s0)
/* 37A4BC E00780CC E6160008 */ swc1 $f22, 8($s0)
/* 37A4C0 E00780D0 E618000C */ swc1 $f24, 0xc($s0)
/* 37A4C4 E00780D4 AE02001C */ sw $v0, 0x1c($s0)
/* 37A4C8 E00780D8 24420001 */ addiu $v0, $v0, 1
/* 37A4CC E00780DC AC820000 */ sw $v0, ($a0)
/* 37A4D0 E00780E0 28420010 */ slti $v0, $v0, 0x10
/* 37A4D4 E00780E4 50400001 */ beql $v0, $zero, .LE00780EC
/* 37A4D8 E00780E8 AC800000 */ sw $zero, ($a0)
.LE00780EC:
/* 37A4DC E00780EC 0C080138 */ jal shim_rand_int
/* 37A4E0 E00780F0 24040007 */ addiu $a0, $zero, 7
/* 37A4E4 E00780F4 AE020020 */ sw $v0, 0x20($s0)
/* 37A4E8 E00780F8 8FA20064 */ lw $v0, 0x64($sp)
/* 37A4EC E00780FC AC510000 */ sw $s1, ($v0)
/* 37A4F0 E0078100 8FBF0034 */ lw $ra, 0x34($sp)
/* 37A4F4 E0078104 8FB20030 */ lw $s2, 0x30($sp)
/* 37A4F8 E0078108 8FB1002C */ lw $s1, 0x2c($sp)
/* 37A4FC E007810C 8FB00028 */ lw $s0, 0x28($sp)
/* 37A500 E0078110 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 37A504 E0078114 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 37A508 E0078118 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 37A50C E007811C 03E00008 */ jr $ra
/* 37A510 E0078120 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,75 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00789D0
.double 0.6, 0.0
.section .text
glabel bulb_glow_update
/* 37A51C E007812C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 37A520 E0078130 AFBF0010 */ sw $ra, 0x10($sp)
/* 37A524 E0078134 8C850000 */ lw $a1, ($a0)
/* 37A528 E0078138 8C83000C */ lw $v1, 0xc($a0)
/* 37A52C E007813C 30A20010 */ andi $v0, $a1, 0x10
/* 37A530 E0078140 10400005 */ beqz $v0, .LE0078158
/* 37A534 E0078144 2402FFEF */ addiu $v0, $zero, -0x11
/* 37A538 E0078148 00A21024 */ and $v0, $a1, $v0
/* 37A53C E007814C AC820000 */ sw $v0, ($a0)
/* 37A540 E0078150 2402000A */ addiu $v0, $zero, 0xa
/* 37A544 E0078154 AC620014 */ sw $v0, 0x14($v1)
.LE0078158:
/* 37A548 E0078158 8C620018 */ lw $v0, 0x18($v1)
/* 37A54C E007815C 8C650014 */ lw $a1, 0x14($v1)
/* 37A550 E0078160 24420001 */ addiu $v0, $v0, 1
/* 37A554 E0078164 AC620018 */ sw $v0, 0x18($v1)
/* 37A558 E0078168 28A20064 */ slti $v0, $a1, 0x64
/* 37A55C E007816C 10400002 */ beqz $v0, .LE0078178
/* 37A560 E0078170 24A2FFFF */ addiu $v0, $a1, -1
/* 37A564 E0078174 AC620014 */ sw $v0, 0x14($v1)
.LE0078178:
/* 37A568 E0078178 8C620014 */ lw $v0, 0x14($v1)
/* 37A56C E007817C 04410005 */ bgez $v0, .LE0078194
/* 37A570 E0078180 00000000 */ nop
/* 37A574 E0078184 0C080128 */ jal shim_remove_effect
/* 37A578 E0078188 00000000 */ nop
/* 37A57C E007818C 0801E081 */ j .LE0078204
/* 37A580 E0078190 00000000 */ nop
.LE0078194:
/* 37A584 E0078194 8C620000 */ lw $v0, ($v1)
/* 37A588 E0078198 8C640018 */ lw $a0, 0x18($v1)
/* 37A58C E007819C 14400019 */ bnez $v0, .LE0078204
/* 37A590 E00781A0 2882000B */ slti $v0, $a0, 0xb
/* 37A594 E00781A4 10400005 */ beqz $v0, .LE00781BC
/* 37A598 E00781A8 00041040 */ sll $v0, $a0, 1
/* 37A59C E00781AC 00441021 */ addu $v0, $v0, $a0
/* 37A5A0 E00781B0 00021040 */ sll $v0, $v0, 1
/* 37A5A4 E00781B4 0801E070 */ j .LE00781C0
/* 37A5A8 E00781B8 24420004 */ addiu $v0, $v0, 4
.LE00781BC:
/* 37A5AC E00781BC 24020040 */ addiu $v0, $zero, 0x40
.LE00781C0:
/* 37A5B0 E00781C0 AC620010 */ sw $v0, 0x10($v1)
/* 37A5B4 E00781C4 30820001 */ andi $v0, $a0, 1
/* 37A5B8 E00781C8 10400009 */ beqz $v0, .LE00781F0
/* 37A5BC E00781CC 2882000F */ slti $v0, $a0, 0xf
/* 37A5C0 E00781D0 3C01E008 */ lui $at, %hi(D_E00789D0)
/* 37A5C4 E00781D4 D42289D0 */ ldc1 $f2, %lo(D_E00789D0)($at)
/* 37A5C8 E00781D8 C4600010 */ lwc1 $f0, 0x10($v1)
/* 37A5CC E00781DC 46800021 */ cvt.d.w $f0, $f0
/* 37A5D0 E00781E0 46220002 */ mul.d $f0, $f0, $f2
/* 37A5D4 E00781E4 00000000 */ nop
/* 37A5D8 E00781E8 4620010D */ trunc.w.d $f4, $f0
/* 37A5DC E00781EC E4640010 */ swc1 $f4, 0x10($v1)
.LE00781F0:
/* 37A5E0 E00781F0 14400004 */ bnez $v0, .LE0078204
/* 37A5E4 E00781F4 24020004 */ addiu $v0, $zero, 4
/* 37A5E8 E00781F8 AC620000 */ sw $v0, ($v1)
/* 37A5EC E00781FC 2402007F */ addiu $v0, $zero, 0x7f
/* 37A5F0 E0078200 AC620010 */ sw $v0, 0x10($v1)
.LE0078204:
/* 37A5F4 E0078204 8FBF0010 */ lw $ra, 0x10($sp)
/* 37A5F8 E0078208 03E00008 */ jr $ra
/* 37A5FC E007820C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,104 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel chapter_change_main
/* 3EB80C E010E32C 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 3EB810 E010E330 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3EB814 E010E334 4485A000 */ mtc1 $a1, $f20
/* 3EB818 E010E338 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3EB81C E010E33C 4486B000 */ mtc1 $a2, $f22
/* 3EB820 E010E340 AFB20030 */ sw $s2, 0x30($sp)
/* 3EB824 E010E344 0080902D */ daddu $s2, $a0, $zero
/* 3EB828 E010E348 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3EB82C E010E34C 4487C000 */ mtc1 $a3, $f24
/* 3EB830 E010E350 27A40010 */ addiu $a0, $sp, 0x10
/* 3EB834 E010E354 AFB30034 */ sw $s3, 0x34($sp)
/* 3EB838 E010E358 8FB3006C */ lw $s3, 0x6c($sp)
/* 3EB83C E010E35C 3C02E011 */ lui $v0, %hi(chapter_change_init)
/* 3EB840 E010E360 2442E4A0 */ addiu $v0, $v0, %lo(chapter_change_init)
/* 3EB844 E010E364 AFA20018 */ sw $v0, 0x18($sp)
/* 3EB848 E010E368 3C02E011 */ lui $v0, %hi(chapter_change_update)
/* 3EB84C E010E36C 2442E4A8 */ addiu $v0, $v0, %lo(chapter_change_update)
/* 3EB850 E010E370 AFA2001C */ sw $v0, 0x1c($sp)
/* 3EB854 E010E374 3C02E011 */ lui $v0, %hi(chapter_change_render)
/* 3EB858 E010E378 2442E510 */ addiu $v0, $v0, %lo(chapter_change_render)
/* 3EB85C E010E37C AFA20020 */ sw $v0, 0x20($sp)
/* 3EB860 E010E380 24020079 */ addiu $v0, $zero, 0x79
/* 3EB864 E010E384 AFBF0038 */ sw $ra, 0x38($sp)
/* 3EB868 E010E388 AFB1002C */ sw $s1, 0x2c($sp)
/* 3EB86C E010E38C AFB00028 */ sw $s0, 0x28($sp)
/* 3EB870 E010E390 AFA00010 */ sw $zero, 0x10($sp)
/* 3EB874 E010E394 AFA00024 */ sw $zero, 0x24($sp)
/* 3EB878 E010E398 0C080124 */ jal shim_create_effect_instance
/* 3EB87C E010E39C AFA20014 */ sw $v0, 0x14($sp)
/* 3EB880 E010E3A0 24040058 */ addiu $a0, $zero, 0x58
/* 3EB884 E010E3A4 24030001 */ addiu $v1, $zero, 1
/* 3EB888 E010E3A8 0040882D */ daddu $s1, $v0, $zero
/* 3EB88C E010E3AC 0C08012C */ jal shim_general_heap_malloc
/* 3EB890 E010E3B0 AE230008 */ sw $v1, 8($s1)
/* 3EB894 E010E3B4 0040802D */ daddu $s0, $v0, $zero
/* 3EB898 E010E3B8 16000003 */ bnez $s0, .LE010E3C8
/* 3EB89C E010E3BC AE22000C */ sw $v0, 0xc($s1)
.LE010E3C0:
/* 3EB8A0 E010E3C0 080438F0 */ j .LE010E3C0
/* 3EB8A4 E010E3C4 00000000 */ nop
.LE010E3C8:
/* 3EB8A8 E010E3C8 AE120000 */ sw $s2, ($s0)
/* 3EB8AC E010E3CC 1E600004 */ bgtz $s3, .LE010E3E0
/* 3EB8B0 E010E3D0 AE00001C */ sw $zero, 0x1c($s0)
/* 3EB8B4 E010E3D4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3EB8B8 E010E3D8 080438F9 */ j .LE010E3E4
/* 3EB8BC E010E3DC AE020018 */ sw $v0, 0x18($s0)
.LE010E3E0:
/* 3EB8C0 E010E3E0 AE130018 */ sw $s3, 0x18($s0)
.LE010E3E4:
/* 3EB8C4 E010E3E4 E6140010 */ swc1 $f20, 0x10($s0)
/* 3EB8C8 E010E3E8 E6140004 */ swc1 $f20, 4($s0)
/* 3EB8CC E010E3EC E6160014 */ swc1 $f22, 0x14($s0)
/* 3EB8D0 E010E3F0 E6160008 */ swc1 $f22, 8($s0)
/* 3EB8D4 E010E3F4 E618000C */ swc1 $f24, 0xc($s0)
/* 3EB8D8 E010E3F8 C7A00068 */ lwc1 $f0, 0x68($sp)
/* 3EB8DC E010E3FC 240300FF */ addiu $v1, $zero, 0xff
/* 3EB8E0 E010E400 AE030020 */ sw $v1, 0x20($s0)
/* 3EB8E4 E010E404 AE030024 */ sw $v1, 0x24($s0)
/* 3EB8E8 E010E408 AE030028 */ sw $v1, 0x28($s0)
/* 3EB8EC E010E40C AE03002C */ sw $v1, 0x2c($s0)
/* 3EB8F0 E010E410 AE000030 */ sw $zero, 0x30($s0)
/* 3EB8F4 E010E414 AE000034 */ sw $zero, 0x34($s0)
/* 3EB8F8 E010E418 AE000038 */ sw $zero, 0x38($s0)
/* 3EB8FC E010E41C 12400005 */ beqz $s2, .LE010E434
/* 3EB900 E010E420 E6000050 */ swc1 $f0, 0x50($s0)
/* 3EB904 E010E424 2642FFF6 */ addiu $v0, $s2, -0xa
/* 3EB908 E010E428 2C420009 */ sltiu $v0, $v0, 9
/* 3EB90C E010E42C 50400002 */ beql $v0, $zero, .LE010E438
/* 3EB910 E010E430 AE03003C */ sw $v1, 0x3c($s0)
.LE010E434:
/* 3EB914 E010E434 AE00003C */ sw $zero, 0x3c($s0)
.LE010E438:
/* 3EB918 E010E438 00121080 */ sll $v0, $s2, 2
/* 3EB91C E010E43C 3C01E011 */ lui $at, %hi(D_E010E750)
/* 3EB920 E010E440 00220821 */ addu $at, $at, $v0
/* 3EB924 E010E444 8C22E750 */ lw $v0, %lo(D_E010E750)($at)
/* 3EB928 E010E448 0440000A */ bltz $v0, .LE010E474
/* 3EB92C E010E44C AE020054 */ sw $v0, 0x54($s0)
/* 3EB930 E010E450 0040202D */ daddu $a0, $v0, $zero
/* 3EB934 E010E454 240200A0 */ addiu $v0, $zero, 0xa0
/* 3EB938 E010E458 0000282D */ daddu $a1, $zero, $zero
/* 3EB93C E010E45C AE020040 */ sw $v0, 0x40($s0)
/* 3EB940 E010E460 0C080198 */ jal shim_get_msg_width
/* 3EB944 E010E464 AE020044 */ sw $v0, 0x44($s0)
/* 3EB948 E010E468 AE020048 */ sw $v0, 0x48($s0)
/* 3EB94C E010E46C 24020018 */ addiu $v0, $zero, 0x18
/* 3EB950 E010E470 AE02004C */ sw $v0, 0x4c($s0)
.LE010E474:
/* 3EB954 E010E474 0220102D */ daddu $v0, $s1, $zero
/* 3EB958 E010E478 8FBF0038 */ lw $ra, 0x38($sp)
/* 3EB95C E010E47C 8FB30034 */ lw $s3, 0x34($sp)
/* 3EB960 E010E480 8FB20030 */ lw $s2, 0x30($sp)
/* 3EB964 E010E484 8FB1002C */ lw $s1, 0x2c($sp)
/* 3EB968 E010E488 8FB00028 */ lw $s0, 0x28($sp)
/* 3EB96C E010E48C D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3EB970 E010E490 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3EB974 E010E494 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3EB978 E010E498 03E00008 */ jr $ra
/* 3EB97C E010E49C 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,33 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel chapter_change_update
/* 3EB988 E010E4A8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3EB98C E010E4AC AFBF0010 */ sw $ra, 0x10($sp)
/* 3EB990 E010E4B0 8C830000 */ lw $v1, ($a0)
/* 3EB994 E010E4B4 8C85000C */ lw $a1, 0xc($a0)
/* 3EB998 E010E4B8 30620010 */ andi $v0, $v1, 0x10
/* 3EB99C E010E4BC 10400005 */ beqz $v0, .LE010E4D4
/* 3EB9A0 E010E4C0 2402FFEF */ addiu $v0, $zero, -0x11
/* 3EB9A4 E010E4C4 00621024 */ and $v0, $v1, $v0
/* 3EB9A8 E010E4C8 AC820000 */ sw $v0, ($a0)
/* 3EB9AC E010E4CC 24020010 */ addiu $v0, $zero, 0x10
/* 3EB9B0 E010E4D0 ACA20018 */ sw $v0, 0x18($a1)
.LE010E4D4:
/* 3EB9B4 E010E4D4 8CA30018 */ lw $v1, 0x18($a1)
/* 3EB9B8 E010E4D8 286203E8 */ slti $v0, $v1, 0x3e8
/* 3EB9BC E010E4DC 10400002 */ beqz $v0, .LE010E4E8
/* 3EB9C0 E010E4E0 2462FFFF */ addiu $v0, $v1, -1
/* 3EB9C4 E010E4E4 ACA20018 */ sw $v0, 0x18($a1)
.LE010E4E8:
/* 3EB9C8 E010E4E8 8CA2001C */ lw $v0, 0x1c($a1)
/* 3EB9CC E010E4EC 8CA30018 */ lw $v1, 0x18($a1)
/* 3EB9D0 E010E4F0 24420001 */ addiu $v0, $v0, 1
/* 3EB9D4 E010E4F4 04610003 */ bgez $v1, .LE010E504
/* 3EB9D8 E010E4F8 ACA2001C */ sw $v0, 0x1c($a1)
/* 3EB9DC E010E4FC 0C080128 */ jal shim_remove_effect
/* 3EB9E0 E010E500 00000000 */ nop
.LE010E504:
/* 3EB9E4 E010E504 8FBF0010 */ lw $ra, 0x10($sp)
/* 3EB9E8 E010E508 03E00008 */ jr $ra
/* 3EB9EC E010E50C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,84 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel chomp_drop_main
/* 3965B0 E009A000 27BDFFA0 */ addiu $sp, $sp, -0x60
/* 3965B4 E009A004 F7B60048 */ sdc1 $f22, 0x48($sp)
/* 3965B8 E009A008 4485B000 */ mtc1 $a1, $f22
/* 3965BC E009A00C F7B80050 */ sdc1 $f24, 0x50($sp)
/* 3965C0 E009A010 4486C000 */ mtc1 $a2, $f24
/* 3965C4 E009A014 F7BA0058 */ sdc1 $f26, 0x58($sp)
/* 3965C8 E009A018 4487D000 */ mtc1 $a3, $f26
/* 3965CC E009A01C AFB30034 */ sw $s3, 0x34($sp)
/* 3965D0 E009A020 0080982D */ daddu $s3, $a0, $zero
/* 3965D4 E009A024 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 3965D8 E009A028 C7B40070 */ lwc1 $f20, 0x70($sp)
/* 3965DC E009A02C 27A40010 */ addiu $a0, $sp, 0x10
/* 3965E0 E009A030 AFB20030 */ sw $s2, 0x30($sp)
/* 3965E4 E009A034 8FB20074 */ lw $s2, 0x74($sp)
/* 3965E8 E009A038 3C02E00A */ lui $v0, %hi(chomp_drop_init)
/* 3965EC E009A03C 2442A138 */ addiu $v0, $v0, %lo(chomp_drop_init)
/* 3965F0 E009A040 AFA20018 */ sw $v0, 0x18($sp)
/* 3965F4 E009A044 3C02E00A */ lui $v0, %hi(chomp_drop_update)
/* 3965F8 E009A048 2442A140 */ addiu $v0, $v0, %lo(chomp_drop_update)
/* 3965FC E009A04C AFA2001C */ sw $v0, 0x1c($sp)
/* 396600 E009A050 3C02E00A */ lui $v0, %hi(chomp_drop_render)
/* 396604 E009A054 2442A398 */ addiu $v0, $v0, %lo(chomp_drop_render)
/* 396608 E009A058 AFA20020 */ sw $v0, 0x20($sp)
/* 39660C E009A05C 2402004D */ addiu $v0, $zero, 0x4d
/* 396610 E009A060 AFBF0038 */ sw $ra, 0x38($sp)
/* 396614 E009A064 AFB1002C */ sw $s1, 0x2c($sp)
/* 396618 E009A068 AFB00028 */ sw $s0, 0x28($sp)
/* 39661C E009A06C AFA00010 */ sw $zero, 0x10($sp)
/* 396620 E009A070 AFA00024 */ sw $zero, 0x24($sp)
/* 396624 E009A074 0C080124 */ jal shim_create_effect_instance
/* 396628 E009A078 AFA20014 */ sw $v0, 0x14($sp)
/* 39662C E009A07C 24040048 */ addiu $a0, $zero, 0x48
/* 396630 E009A080 24030001 */ addiu $v1, $zero, 1
/* 396634 E009A084 0040882D */ daddu $s1, $v0, $zero
/* 396638 E009A088 0C08012C */ jal shim_general_heap_malloc
/* 39663C E009A08C AE230008 */ sw $v1, 8($s1)
/* 396640 E009A090 0040802D */ daddu $s0, $v0, $zero
/* 396644 E009A094 16000003 */ bnez $s0, .LE009A0A4
/* 396648 E009A098 AE22000C */ sw $v0, 0xc($s1)
.LE009A09C:
/* 39664C E009A09C 08026827 */ j .LE009A09C
/* 396650 E009A0A0 00000000 */ nop
.LE009A0A4:
/* 396654 E009A0A4 3C013F80 */ lui $at, 0x3f80
/* 396658 E009A0A8 44811000 */ mtc1 $at, $f2
/* 39665C E009A0AC AE130000 */ sw $s3, ($s0)
/* 396660 E009A0B0 E6160004 */ swc1 $f22, 4($s0)
/* 396664 E009A0B4 E6180008 */ swc1 $f24, 8($s0)
/* 396668 E009A0B8 E61A000C */ swc1 $f26, 0xc($s0)
/* 39666C E009A0BC C7A00080 */ lwc1 $f0, 0x80($sp)
/* 396670 E009A0C0 E6140014 */ swc1 $f20, 0x14($s0)
/* 396674 E009A0C4 AE12001C */ sw $s2, 0x1c($s0)
/* 396678 E009A0C8 E6000028 */ swc1 $f0, 0x28($s0)
/* 39667C E009A0CC C7A00078 */ lwc1 $f0, 0x78($sp)
/* 396680 E009A0D0 E6000018 */ swc1 $f0, 0x18($s0)
/* 396684 E009A0D4 8FA2007C */ lw $v0, 0x7c($sp)
/* 396688 E009A0D8 24040168 */ addiu $a0, $zero, 0x168
/* 39668C E009A0DC E6020034 */ swc1 $f2, 0x34($s0)
/* 396690 E009A0E0 0C080138 */ jal shim_rand_int
/* 396694 E009A0E4 AE020020 */ sw $v0, 0x20($s0)
/* 396698 E009A0E8 AE020038 */ sw $v0, 0x38($s0)
/* 39669C E009A0EC 8FA30084 */ lw $v1, 0x84($sp)
/* 3966A0 E009A0F0 0220102D */ daddu $v0, $s1, $zero
/* 3966A4 E009A0F4 AE000044 */ sw $zero, 0x44($s0)
/* 3966A8 E009A0F8 AE12003C */ sw $s2, 0x3c($s0)
/* 3966AC E009A0FC E6140024 */ swc1 $f20, 0x24($s0)
/* 3966B0 E009A100 AE000010 */ sw $zero, 0x10($s0)
/* 3966B4 E009A104 AE00002C */ sw $zero, 0x2c($s0)
/* 3966B8 E009A108 AE030040 */ sw $v1, 0x40($s0)
/* 3966BC E009A10C 8FBF0038 */ lw $ra, 0x38($sp)
/* 3966C0 E009A110 8FB30034 */ lw $s3, 0x34($sp)
/* 3966C4 E009A114 8FB20030 */ lw $s2, 0x30($sp)
/* 3966C8 E009A118 8FB1002C */ lw $s1, 0x2c($sp)
/* 3966CC E009A11C 8FB00028 */ lw $s0, 0x28($sp)
/* 3966D0 E009A120 D7BA0058 */ ldc1 $f26, 0x58($sp)
/* 3966D4 E009A124 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 3966D8 E009A128 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 3966DC E009A12C D7B40040 */ ldc1 $f20, 0x40($sp)
/* 3966E0 E009A130 03E00008 */ jr $ra
/* 3966E4 E009A134 27BD0060 */ addiu $sp, $sp, 0x60

View File

@ -1,176 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel jtbl_E009AA60
.word LE009A1AC_39675C, LE009A24C_3967FC, LE009A270_396820, LE009A28C_39683C, LE009A32C_3968DC, LE009A348_3968F8
dlabel D_E009AA78
.double 0.02
dlabel D_E009AA80
.double 0.05, 0.0
.section .text
glabel chomp_drop_update
/* 3966F0 E009A140 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 3966F4 E009A144 AFBF0020 */ sw $ra, 0x20($sp)
/* 3966F8 E009A148 AFB1001C */ sw $s1, 0x1c($sp)
/* 3966FC E009A14C AFB00018 */ sw $s0, 0x18($sp)
/* 396700 E009A150 F7B40028 */ sdc1 $f20, 0x28($sp)
/* 396704 E009A154 8C91000C */ lw $s1, 0xc($a0)
/* 396708 E009A158 8E220040 */ lw $v0, 0x40($s1)
/* 39670C E009A15C 2442FFFF */ addiu $v0, $v0, -1
/* 396710 E009A160 AE220040 */ sw $v0, 0x40($s1)
/* 396714 E009A164 8E220044 */ lw $v0, 0x44($s1)
/* 396718 E009A168 8E230040 */ lw $v1, 0x40($s1)
/* 39671C E009A16C 24420001 */ addiu $v0, $v0, 1
/* 396720 E009A170 04610005 */ bgez $v1, .LE009A188
/* 396724 E009A174 AE220044 */ sw $v0, 0x44($s1)
/* 396728 E009A178 0C080128 */ jal shim_remove_effect
/* 39672C E009A17C 00000000 */ nop
/* 396730 E009A180 080268E0 */ j .LE009A380
/* 396734 E009A184 00000000 */ nop
.LE009A188:
/* 396738 E009A188 8E24002C */ lw $a0, 0x2c($s1)
/* 39673C E009A18C 2C820006 */ sltiu $v0, $a0, 6
/* 396740 E009A190 1040007B */ beqz $v0, .LE009A380
/* 396744 E009A194 00041080 */ sll $v0, $a0, 2
/* 396748 E009A198 3C01E00A */ lui $at, %hi(jtbl_E009AA60)
/* 39674C E009A19C 00220821 */ addu $at, $at, $v0
/* 396750 E009A1A0 8C22AA60 */ lw $v0, %lo(jtbl_E009AA60)($at)
/* 396754 E009A1A4 00400008 */ jr $v0
/* 396758 E009A1A8 00000000 */ nop
dlabel LE009A1AC_39675C
/* 39675C E009A1AC 8E23003C */ lw $v1, 0x3c($s1)
/* 396760 E009A1B0 8E220020 */ lw $v0, 0x20($s1)
/* 396764 E009A1B4 C6200028 */ lwc1 $f0, 0x28($s1)
/* 396768 E009A1B8 00431023 */ subu $v0, $v0, $v1
/* 39676C E009A1BC 44822000 */ mtc1 $v0, $f4
/* 396770 E009A1C0 00000000 */ nop
/* 396774 E009A1C4 46802120 */ cvt.s.w $f4, $f4
/* 396778 E009A1C8 46002102 */ mul.s $f4, $f4, $f0
/* 39677C E009A1CC 00000000 */ nop
/* 396780 E009A1D0 C6220018 */ lwc1 $f2, 0x18($s1)
/* 396784 E009A1D4 C6260024 */ lwc1 $f6, 0x24($s1)
/* 396788 E009A1D8 46061081 */ sub.s $f2, $f2, $f6
/* 39678C E009A1DC 46001082 */ mul.s $f2, $f2, $f0
/* 396790 E009A1E0 00000000 */ nop
/* 396794 E009A1E4 C6200034 */ lwc1 $f0, 0x34($s1)
/* 396798 E009A1E8 46023180 */ add.s $f6, $f6, $f2
/* 39679C E009A1EC 3C01E00A */ lui $at, %hi(D_E009AA78)
/* 3967A0 E009A1F0 D422AA78 */ ldc1 $f2, %lo(D_E009AA78)($at)
/* 3967A4 E009A1F4 46000021 */ cvt.d.s $f0, $f0
/* 3967A8 E009A1F8 46220001 */ sub.d $f0, $f0, $f2
/* 3967AC E009A1FC 44804000 */ mtc1 $zero, $f8
/* 3967B0 E009A200 44831000 */ mtc1 $v1, $f2
/* 3967B4 E009A204 00000000 */ nop
/* 3967B8 E009A208 468010A0 */ cvt.s.w $f2, $f2
/* 3967BC E009A20C 46041080 */ add.s $f2, $f2, $f4
/* 3967C0 E009A210 E6260024 */ swc1 $f6, 0x24($s1)
/* 3967C4 E009A214 46200020 */ cvt.s.d $f0, $f0
/* 3967C8 E009A218 4600128D */ trunc.w.s $f10, $f2
/* 3967CC E009A21C E62A003C */ swc1 $f10, 0x3c($s1)
/* 3967D0 E009A220 4608003C */ c.lt.s $f0, $f8
/* 3967D4 E009A224 00000000 */ nop
/* 3967D8 E009A228 45000055 */ bc1f .LE009A380
/* 3967DC E009A22C E6200034 */ swc1 $f0, 0x34($s1)
/* 3967E0 E009A230 2402000A */ addiu $v0, $zero, 0xa
/* 3967E4 E009A234 AE220030 */ sw $v0, 0x30($s1)
/* 3967E8 E009A238 24020001 */ addiu $v0, $zero, 1
/* 3967EC E009A23C E6280034 */ swc1 $f8, 0x34($s1)
/* 3967F0 E009A240 E6280010 */ swc1 $f8, 0x10($s1)
/* 3967F4 E009A244 080268E0 */ j .LE009A380
/* 3967F8 E009A248 AE22002C */ sw $v0, 0x2c($s1)
dlabel LE009A24C_3967FC
/* 3967FC E009A24C 8E220030 */ lw $v0, 0x30($s1)
/* 396800 E009A250 2442FFFF */ addiu $v0, $v0, -1
/* 396804 E009A254 1C40004A */ bgtz $v0, .LE009A380
/* 396808 E009A258 AE220030 */ sw $v0, 0x30($s1)
/* 39680C E009A25C 24020002 */ addiu $v0, $zero, 2
/* 396810 E009A260 AE22002C */ sw $v0, 0x2c($s1)
/* 396814 E009A264 2402000A */ addiu $v0, $zero, 0xa
/* 396818 E009A268 080268E0 */ j .LE009A380
/* 39681C E009A26C AE220030 */ sw $v0, 0x30($s1)
dlabel LE009A270_396820
/* 396820 E009A270 8E220030 */ lw $v0, 0x30($s1)
/* 396824 E009A274 2442FFFF */ addiu $v0, $v0, -1
/* 396828 E009A278 1C400041 */ bgtz $v0, .LE009A380
/* 39682C E009A27C AE220030 */ sw $v0, 0x30($s1)
/* 396830 E009A280 24020003 */ addiu $v0, $zero, 3
/* 396834 E009A284 080268E0 */ j .LE009A380
/* 396838 E009A288 AE22002C */ sw $v0, 0x2c($s1)
dlabel LE009A28C_39683C
/* 39683C E009A28C C6200010 */ lwc1 $f0, 0x10($s1)
/* 396840 E009A290 3C013F80 */ lui $at, 0x3f80
/* 396844 E009A294 44811000 */ mtc1 $at, $f2
/* 396848 E009A298 00000000 */ nop
/* 39684C E009A29C 46020001 */ sub.s $f0, $f0, $f2
/* 396850 E009A2A0 C6220008 */ lwc1 $f2, 8($s1)
/* 396854 E009A2A4 44802000 */ mtc1 $zero, $f4
/* 396858 E009A2A8 46001080 */ add.s $f2, $f2, $f0
/* 39685C E009A2AC E6200010 */ swc1 $f0, 0x10($s1)
/* 396860 E009A2B0 4604103C */ c.lt.s $f2, $f4
/* 396864 E009A2B4 00000000 */ nop
/* 396868 E009A2B8 45000031 */ bc1f .LE009A380
/* 39686C E009A2BC E6220008 */ swc1 $f2, 8($s1)
/* 396870 E009A2C0 24040015 */ addiu $a0, $zero, 0x15
/* 396874 E009A2C4 0C080150 */ jal shim_load_effect
/* 396878 E009A2C8 E6240008 */ swc1 $f4, 8($s1)
/* 39687C E009A2CC C6200004 */ lwc1 $f0, 4($s1)
/* 396880 E009A2D0 3C0140A0 */ lui $at, 0x40a0
/* 396884 E009A2D4 4481A000 */ mtc1 $at, $f20
/* 396888 E009A2D8 2410001E */ addiu $s0, $zero, 0x1e
/* 39688C E009A2DC AFB00010 */ sw $s0, 0x10($sp)
/* 396890 E009A2E0 46140000 */ add.s $f0, $f0, $f20
/* 396894 E009A2E4 8E260008 */ lw $a2, 8($s1)
/* 396898 E009A2E8 8E27000C */ lw $a3, 0xc($s1)
/* 39689C E009A2EC 44050000 */ mfc1 $a1, $f0
/* 3968A0 E009A2F0 0C00A800 */ jal dust_main
/* 3968A4 E009A2F4 24040002 */ addiu $a0, $zero, 2
/* 3968A8 E009A2F8 C6200004 */ lwc1 $f0, 4($s1)
/* 3968AC E009A2FC AFB00010 */ sw $s0, 0x10($sp)
/* 3968B0 E009A300 46140001 */ sub.s $f0, $f0, $f20
/* 3968B4 E009A304 8E260008 */ lw $a2, 8($s1)
/* 3968B8 E009A308 8E27000C */ lw $a3, 0xc($s1)
/* 3968BC E009A30C 44050000 */ mfc1 $a1, $f0
/* 3968C0 E009A310 0C00A800 */ jal dust_main
/* 3968C4 E009A314 24040002 */ addiu $a0, $zero, 2
/* 3968C8 E009A318 24020004 */ addiu $v0, $zero, 4
/* 3968CC E009A31C AE22002C */ sw $v0, 0x2c($s1)
/* 3968D0 E009A320 24020014 */ addiu $v0, $zero, 0x14
/* 3968D4 E009A324 080268E0 */ j .LE009A380
/* 3968D8 E009A328 AE220030 */ sw $v0, 0x30($s1)
dlabel LE009A32C_3968DC
/* 3968DC E009A32C 8E220030 */ lw $v0, 0x30($s1)
/* 3968E0 E009A330 2442FFFF */ addiu $v0, $v0, -1
/* 3968E4 E009A334 1C400012 */ bgtz $v0, .LE009A380
/* 3968E8 E009A338 AE220030 */ sw $v0, 0x30($s1)
/* 3968EC E009A33C 24020005 */ addiu $v0, $zero, 5
/* 3968F0 E009A340 080268E0 */ j .LE009A380
/* 3968F4 E009A344 AE22002C */ sw $v0, 0x2c($s1)
dlabel LE009A348_3968F8
/* 3968F8 E009A348 2862000A */ slti $v0, $v1, 0xa
/* 3968FC E009A34C 10400005 */ beqz $v0, .LE009A364
/* 396900 E009A350 00031040 */ sll $v0, $v1, 1
/* 396904 E009A354 00431021 */ addu $v0, $v0, $v1
/* 396908 E009A358 000210C0 */ sll $v0, $v0, 3
/* 39690C E009A35C 00431021 */ addu $v0, $v0, $v1
/* 396910 E009A360 AE22003C */ sw $v0, 0x3c($s1)
.LE009A364:
/* 396914 E009A364 C6200034 */ lwc1 $f0, 0x34($s1)
/* 396918 E009A368 3C01E00A */ lui $at, %hi(D_E009AA80)
/* 39691C E009A36C D422AA80 */ ldc1 $f2, %lo(D_E009AA80)($at)
/* 396920 E009A370 46000021 */ cvt.d.s $f0, $f0
/* 396924 E009A374 46220001 */ sub.d $f0, $f0, $f2
/* 396928 E009A378 46200020 */ cvt.s.d $f0, $f0
/* 39692C E009A37C E6200034 */ swc1 $f0, 0x34($s1)
.LE009A380:
/* 396930 E009A380 8FBF0020 */ lw $ra, 0x20($sp)
/* 396934 E009A384 8FB1001C */ lw $s1, 0x1c($sp)
/* 396938 E009A388 8FB00018 */ lw $s0, 0x18($sp)
/* 39693C E009A38C D7B40028 */ ldc1 $f20, 0x28($sp)
/* 396940 E009A390 03E00008 */ jr $ra
/* 396944 E009A394 27BD0030 */ addiu $sp, $sp, 0x30

View File

@ -1,358 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .text
glabel cold_breath_appendGfx
/* 3D89C8 E00DE2A8 27BDFF38 */ addiu $sp, $sp, -0xc8
/* 3D89CC E00DE2AC 0080302D */ daddu $a2, $a0, $zero
/* 3D89D0 E00DE2B0 3C07DB06 */ lui $a3, 0xdb06
/* 3D89D4 E00DE2B4 34E70024 */ ori $a3, $a3, 0x24
/* 3D89D8 E00DE2B8 27A40020 */ addiu $a0, $sp, 0x20
/* 3D89DC E00DE2BC AFB400B0 */ sw $s4, 0xb0($sp)
/* 3D89E0 E00DE2C0 3C140001 */ lui $s4, 1
/* 3D89E4 E00DE2C4 AFB200A8 */ sw $s2, 0xa8($sp)
/* 3D89E8 E00DE2C8 3C12800A */ lui $s2, %hi(gMasterGfxPos)
/* 3D89EC E00DE2CC 2652A66C */ addiu $s2, $s2, %lo(gMasterGfxPos)
/* 3D89F0 E00DE2D0 36941630 */ ori $s4, $s4, 0x1630
/* 3D89F4 E00DE2D4 AFBF00C4 */ sw $ra, 0xc4($sp)
/* 3D89F8 E00DE2D8 AFBE00C0 */ sw $fp, 0xc0($sp)
/* 3D89FC E00DE2DC AFB700BC */ sw $s7, 0xbc($sp)
/* 3D8A00 E00DE2E0 AFB600B8 */ sw $s6, 0xb8($sp)
/* 3D8A04 E00DE2E4 AFB500B4 */ sw $s5, 0xb4($sp)
/* 3D8A08 E00DE2E8 AFB300AC */ sw $s3, 0xac($sp)
/* 3D8A0C E00DE2EC AFB100A4 */ sw $s1, 0xa4($sp)
/* 3D8A10 E00DE2F0 AFB000A0 */ sw $s0, 0xa0($sp)
/* 3D8A14 E00DE2F4 8E430000 */ lw $v1, ($s2)
/* 3D8A18 E00DE2F8 8CD6000C */ lw $s6, 0xc($a2)
/* 3D8A1C E00DE2FC 0060282D */ daddu $a1, $v1, $zero
/* 3D8A20 E00DE300 24630008 */ addiu $v1, $v1, 8
/* 3D8A24 E00DE304 AE430000 */ sw $v1, ($s2)
/* 3D8A28 E00DE308 8EDE0014 */ lw $fp, 0x14($s6)
/* 3D8A2C E00DE30C 8ED50024 */ lw $s5, 0x24($s6)
/* 3D8A30 E00DE310 8ED70000 */ lw $s7, ($s6)
/* 3D8A34 E00DE314 3C02E700 */ lui $v0, 0xe700
/* 3D8A38 E00DE318 ACA20000 */ sw $v0, ($a1)
/* 3D8A3C E00DE31C ACA00004 */ sw $zero, 4($a1)
/* 3D8A40 E00DE320 AC670000 */ sw $a3, ($v1)
/* 3D8A44 E00DE324 8CC50010 */ lw $a1, 0x10($a2)
/* 3D8A48 E00DE328 24620008 */ addiu $v0, $v1, 8
/* 3D8A4C E00DE32C AE420000 */ sw $v0, ($s2)
/* 3D8A50 E00DE330 8CA2001C */ lw $v0, 0x1c($a1)
/* 3D8A54 E00DE334 3C0A8000 */ lui $t2, 0x8000
/* 3D8A58 E00DE338 004A1021 */ addu $v0, $v0, $t2
/* 3D8A5C E00DE33C AC620004 */ sw $v0, 4($v1)
/* 3D8A60 E00DE340 3C03800B */ lui $v1, %hi(gCameras)
/* 3D8A64 E00DE344 24631D80 */ addiu $v1, $v1, %lo(gCameras)
/* 3D8A68 E00DE348 8EC50004 */ lw $a1, 4($s6)
/* 3D8A6C E00DE34C 8EC60008 */ lw $a2, 8($s6)
/* 3D8A70 E00DE350 3C028007 */ lui $v0, %hi(gCurrentCameraID)
/* 3D8A74 E00DE354 8C427410 */ lw $v0, %lo(gCurrentCameraID)($v0)
/* 3D8A78 E00DE358 8EC7000C */ lw $a3, 0xc($s6)
/* 3D8A7C E00DE35C 00028080 */ sll $s0, $v0, 2
/* 3D8A80 E00DE360 02028021 */ addu $s0, $s0, $v0
/* 3D8A84 E00DE364 00108080 */ sll $s0, $s0, 2
/* 3D8A88 E00DE368 02028023 */ subu $s0, $s0, $v0
/* 3D8A8C E00DE36C 001010C0 */ sll $v0, $s0, 3
/* 3D8A90 E00DE370 02028021 */ addu $s0, $s0, $v0
/* 3D8A94 E00DE374 001080C0 */ sll $s0, $s0, 3
/* 3D8A98 E00DE378 0C080108 */ jal shim_guTranslateF
/* 3D8A9C E00DE37C 02038021 */ addu $s0, $s0, $v1
/* 3D8AA0 E00DE380 27B10060 */ addiu $s1, $sp, 0x60
/* 3D8AA4 E00DE384 8EC50040 */ lw $a1, 0x40($s6)
/* 3D8AA8 E00DE388 0220202D */ daddu $a0, $s1, $zero
/* 3D8AAC E00DE38C 00A0302D */ daddu $a2, $a1, $zero
/* 3D8AB0 E00DE390 0C080110 */ jal shim_guScaleF
/* 3D8AB4 E00DE394 00A0382D */ daddu $a3, $a1, $zero
/* 3D8AB8 E00DE398 0220202D */ daddu $a0, $s1, $zero
/* 3D8ABC E00DE39C 27A50020 */ addiu $a1, $sp, 0x20
/* 3D8AC0 E00DE3A0 0C080114 */ jal shim_guMtxCatF
/* 3D8AC4 E00DE3A4 00A0302D */ daddu $a2, $a1, $zero
/* 3D8AC8 E00DE3A8 27A40020 */ addiu $a0, $sp, 0x20
/* 3D8ACC E00DE3AC 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3D8AD0 E00DE3B0 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3D8AD4 E00DE3B4 3C13800A */ lui $s3, %hi(gDisplayContext)
/* 3D8AD8 E00DE3B8 2673A674 */ addiu $s3, $s3, %lo(gDisplayContext)
/* 3D8ADC E00DE3BC 96250000 */ lhu $a1, ($s1)
/* 3D8AE0 E00DE3C0 8E620000 */ lw $v0, ($s3)
/* 3D8AE4 E00DE3C4 00052980 */ sll $a1, $a1, 6
/* 3D8AE8 E00DE3C8 00B42821 */ addu $a1, $a1, $s4
/* 3D8AEC E00DE3CC 0C080118 */ jal shim_guMtxF2L
/* 3D8AF0 E00DE3D0 00452821 */ addu $a1, $v0, $a1
/* 3D8AF4 E00DE3D4 3C03DA38 */ lui $v1, 0xda38
/* 3D8AF8 E00DE3D8 34630002 */ ori $v1, $v1, 2
/* 3D8AFC E00DE3DC 3C06DA38 */ lui $a2, 0xda38
/* 3D8B00 E00DE3E0 34C60001 */ ori $a2, $a2, 1
/* 3D8B04 E00DE3E4 44950000 */ mtc1 $s5, $f0
/* 3D8B08 E00DE3E8 00000000 */ nop
/* 3D8B0C E00DE3EC 46800021 */ cvt.d.w $f0, $f0
/* 3D8B10 E00DE3F0 8E440000 */ lw $a0, ($s2)
/* 3D8B14 E00DE3F4 96220000 */ lhu $v0, ($s1)
/* 3D8B18 E00DE3F8 3C013FE0 */ lui $at, 0x3fe0
/* 3D8B1C E00DE3FC 44811800 */ mtc1 $at, $f3
/* 3D8B20 E00DE400 44801000 */ mtc1 $zero, $f2
/* 3D8B24 E00DE404 0080282D */ daddu $a1, $a0, $zero
/* 3D8B28 E00DE408 24840008 */ addiu $a0, $a0, 8
/* 3D8B2C E00DE40C AE440000 */ sw $a0, ($s2)
/* 3D8B30 E00DE410 ACA30000 */ sw $v1, ($a1)
/* 3D8B34 E00DE414 24430001 */ addiu $v1, $v0, 1
/* 3D8B38 E00DE418 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D8B3C E00DE41C 00021180 */ sll $v0, $v0, 6
/* 3D8B40 E00DE420 00541021 */ addu $v0, $v0, $s4
/* 3D8B44 E00DE424 2487000C */ addiu $a3, $a0, 0xc
/* 3D8B48 E00DE428 46220002 */ mul.d $f0, $f0, $f2
/* 3D8B4C E00DE42C 00000000 */ nop
/* 3D8B50 E00DE430 A6230000 */ sh $v1, ($s1)
/* 3D8B54 E00DE434 8E630000 */ lw $v1, ($s3)
/* 3D8B58 E00DE438 3C0141E0 */ lui $at, 0x41e0
/* 3D8B5C E00DE43C 44811800 */ mtc1 $at, $f3
/* 3D8B60 E00DE440 44801000 */ mtc1 $zero, $f2
/* 3D8B64 E00DE444 00621821 */ addu $v1, $v1, $v0
/* 3D8B68 E00DE448 24820008 */ addiu $v0, $a0, 8
/* 3D8B6C E00DE44C ACA30004 */ sw $v1, 4($a1)
/* 3D8B70 E00DE450 AE420000 */ sw $v0, ($s2)
/* 3D8B74 E00DE454 24820010 */ addiu $v0, $a0, 0x10
/* 3D8B78 E00DE458 AC860000 */ sw $a2, ($a0)
/* 3D8B7C E00DE45C AE420000 */ sw $v0, ($s2)
/* 3D8B80 E00DE460 8E030204 */ lw $v1, 0x204($s0)
/* 3D8B84 E00DE464 3C02FA00 */ lui $v0, 0xfa00
/* 3D8B88 E00DE468 AC820008 */ sw $v0, 8($a0)
/* 3D8B8C E00DE46C AC830004 */ sw $v1, 4($a0)
/* 3D8B90 E00DE470 92C4001B */ lbu $a0, 0x1b($s6)
/* 3D8B94 E00DE474 92C2001F */ lbu $v0, 0x1f($s6)
/* 3D8B98 E00DE478 92C30023 */ lbu $v1, 0x23($s6)
/* 3D8B9C E00DE47C 00042600 */ sll $a0, $a0, 0x18
/* 3D8BA0 E00DE480 00021400 */ sll $v0, $v0, 0x10
/* 3D8BA4 E00DE484 00822025 */ or $a0, $a0, $v0
/* 3D8BA8 E00DE488 00031A00 */ sll $v1, $v1, 8
/* 3D8BAC E00DE48C 4620103E */ c.le.d $f2, $f0
/* 3D8BB0 E00DE490 00000000 */ nop
/* 3D8BB4 E00DE494 45010005 */ bc1t .LE00DE4AC
/* 3D8BB8 E00DE498 00832025 */ or $a0, $a0, $v1
/* 3D8BBC E00DE49C 4620010D */ trunc.w.d $f4, $f0
/* 3D8BC0 E00DE4A0 44022000 */ mfc1 $v0, $f4
/* 3D8BC4 E00DE4A4 08037931 */ j .LE00DE4C4
/* 3D8BC8 E00DE4A8 3C05E300 */ lui $a1, 0xe300
.LE00DE4AC:
/* 3D8BCC E00DE4AC 46220001 */ sub.d $f0, $f0, $f2
/* 3D8BD0 E00DE4B0 4620010D */ trunc.w.d $f4, $f0
/* 3D8BD4 E00DE4B4 44022000 */ mfc1 $v0, $f4
/* 3D8BD8 E00DE4B8 3C0A8000 */ lui $t2, 0x8000
/* 3D8BDC E00DE4BC 004A1025 */ or $v0, $v0, $t2
/* 3D8BE0 E00DE4C0 3C05E300 */ lui $a1, 0xe300
.LE00DE4C4:
/* 3D8BE4 E00DE4C4 34A51A01 */ ori $a1, $a1, 0x1a01
/* 3D8BE8 E00DE4C8 03C0302D */ daddu $a2, $fp, $zero
/* 3D8BEC E00DE4CC 3C14800A */ lui $s4, %hi(gMasterGfxPos)
/* 3D8BF0 E00DE4D0 2694A66C */ addiu $s4, $s4, %lo(gMasterGfxPos)
/* 3D8BF4 E00DE4D4 304200FF */ andi $v0, $v0, 0xff
/* 3D8BF8 E00DE4D8 8E830000 */ lw $v1, ($s4)
/* 3D8BFC E00DE4DC 00821025 */ or $v0, $a0, $v0
/* 3D8C00 E00DE4E0 ACE20000 */ sw $v0, ($a3)
/* 3D8C04 E00DE4E4 24020020 */ addiu $v0, $zero, 0x20
/* 3D8C08 E00DE4E8 0060202D */ daddu $a0, $v1, $zero
/* 3D8C0C E00DE4EC 24630008 */ addiu $v1, $v1, 8
/* 3D8C10 E00DE4F0 AE830000 */ sw $v1, ($s4)
/* 3D8C14 E00DE4F4 AC820004 */ sw $v0, 4($a0)
/* 3D8C18 E00DE4F8 3C02DE00 */ lui $v0, 0xde00
/* 3D8C1C E00DE4FC AC850000 */ sw $a1, ($a0)
/* 3D8C20 E00DE500 AC620000 */ sw $v0, ($v1)
/* 3D8C24 E00DE504 00171080 */ sll $v0, $s7, 2
/* 3D8C28 E00DE508 3C04E00E */ lui $a0, %hi(D_E00DE84C)
/* 3D8C2C E00DE50C 00822021 */ addu $a0, $a0, $v0
/* 3D8C30 E00DE510 8C84E84C */ lw $a0, %lo(D_E00DE84C)($a0)
/* 3D8C34 E00DE514 24620008 */ addiu $v0, $v1, 8
/* 3D8C38 E00DE518 AE820000 */ sw $v0, ($s4)
/* 3D8C3C E00DE51C 28C2001E */ slti $v0, $a2, 0x1e
/* 3D8C40 E00DE520 14400002 */ bnez $v0, .LE00DE52C
/* 3D8C44 E00DE524 AC640004 */ sw $a0, 4($v1)
/* 3D8C48 E00DE528 2406001D */ addiu $a2, $zero, 0x1d
.LE00DE52C:
/* 3D8C4C E00DE52C 27A40020 */ addiu $a0, $sp, 0x20
/* 3D8C50 E00DE530 3C130001 */ lui $s3, 1
/* 3D8C54 E00DE534 00178100 */ sll $s0, $s7, 4
/* 3D8C58 E00DE538 02178023 */ subu $s0, $s0, $s7
/* 3D8C5C E00DE53C 00108040 */ sll $s0, $s0, 1
/* 3D8C60 E00DE540 00D08021 */ addu $s0, $a2, $s0
/* 3D8C64 E00DE544 36731630 */ ori $s3, $s3, 0x1630
/* 3D8C68 E00DE548 3C02E00E */ lui $v0, %hi(D_E00DE96C)
/* 3D8C6C E00DE54C 00501021 */ addu $v0, $v0, $s0
/* 3D8C70 E00DE550 9042E96C */ lbu $v0, %lo(D_E00DE96C)($v0)
/* 3D8C74 E00DE554 44801000 */ mtc1 $zero, $f2
/* 3D8C78 E00DE558 44820000 */ mtc1 $v0, $f0
/* 3D8C7C E00DE55C 00000000 */ nop
/* 3D8C80 E00DE560 46800020 */ cvt.s.w $f0, $f0
/* 3D8C84 E00DE564 46000007 */ neg.s $f0, $f0
/* 3D8C88 E00DE568 44070000 */ mfc1 $a3, $f0
/* 3D8C8C E00DE56C 44051000 */ mfc1 $a1, $f2
/* 3D8C90 E00DE570 3C02E00E */ lui $v0, %hi(D_E00DE8B4)
/* 3D8C94 E00DE574 00501021 */ addu $v0, $v0, $s0
/* 3D8C98 E00DE578 9042E8B4 */ lbu $v0, %lo(D_E00DE8B4)($v0)
/* 3D8C9C E00DE57C 3C013C23 */ lui $at, 0x3c23
/* 3D8CA0 E00DE580 3421D70A */ ori $at, $at, 0xd70a
/* 3D8CA4 E00DE584 44810000 */ mtc1 $at, $f0
/* 3D8CA8 E00DE588 00A0302D */ daddu $a2, $a1, $zero
/* 3D8CAC E00DE58C 44821000 */ mtc1 $v0, $f2
/* 3D8CB0 E00DE590 00000000 */ nop
/* 3D8CB4 E00DE594 468010A0 */ cvt.s.w $f2, $f2
/* 3D8CB8 E00DE598 3C02E00E */ lui $v0, %hi(D_E00DE858)
/* 3D8CBC E00DE59C 00501021 */ addu $v0, $v0, $s0
/* 3D8CC0 E00DE5A0 8042E858 */ lb $v0, %lo(D_E00DE858)($v0)
/* 3D8CC4 E00DE5A4 46001082 */ mul.s $f2, $f2, $f0
/* 3D8CC8 E00DE5A8 00000000 */ nop
/* 3D8CCC E00DE5AC AFA50018 */ sw $a1, 0x18($sp)
/* 3D8CD0 E00DE5B0 AFA5001C */ sw $a1, 0x1c($sp)
/* 3D8CD4 E00DE5B4 44820000 */ mtc1 $v0, $f0
/* 3D8CD8 E00DE5B8 00000000 */ nop
/* 3D8CDC E00DE5BC 46800020 */ cvt.s.w $f0, $f0
/* 3D8CE0 E00DE5C0 E7A00014 */ swc1 $f0, 0x14($sp)
/* 3D8CE4 E00DE5C4 0C080180 */ jal shim_guPositionF
/* 3D8CE8 E00DE5C8 E7A20010 */ swc1 $f2, 0x10($sp)
/* 3D8CEC E00DE5CC 27A40020 */ addiu $a0, $sp, 0x20
/* 3D8CF0 E00DE5D0 3C118007 */ lui $s1, %hi(gMatrixListPos)
/* 3D8CF4 E00DE5D4 263141F0 */ addiu $s1, $s1, %lo(gMatrixListPos)
/* 3D8CF8 E00DE5D8 3C12800A */ lui $s2, %hi(gDisplayContext)
/* 3D8CFC E00DE5DC 2652A674 */ addiu $s2, $s2, %lo(gDisplayContext)
/* 3D8D00 E00DE5E0 96250000 */ lhu $a1, ($s1)
/* 3D8D04 E00DE5E4 8E420000 */ lw $v0, ($s2)
/* 3D8D08 E00DE5E8 00052980 */ sll $a1, $a1, 6
/* 3D8D0C E00DE5EC 00B32821 */ addu $a1, $a1, $s3
/* 3D8D10 E00DE5F0 0C080118 */ jal shim_guMtxF2L
/* 3D8D14 E00DE5F4 00452821 */ addu $a1, $v0, $a1
/* 3D8D18 E00DE5F8 8E850000 */ lw $a1, ($s4)
/* 3D8D1C E00DE5FC 00A0202D */ daddu $a0, $a1, $zero
/* 3D8D20 E00DE600 24A50008 */ addiu $a1, $a1, 8
/* 3D8D24 E00DE604 AE850000 */ sw $a1, ($s4)
/* 3D8D28 E00DE608 96220000 */ lhu $v0, ($s1)
/* 3D8D2C E00DE60C 3C03DA38 */ lui $v1, 0xda38
/* 3D8D30 E00DE610 AC830000 */ sw $v1, ($a0)
/* 3D8D34 E00DE614 24430001 */ addiu $v1, $v0, 1
/* 3D8D38 E00DE618 3042FFFF */ andi $v0, $v0, 0xffff
/* 3D8D3C E00DE61C 00021180 */ sll $v0, $v0, 6
/* 3D8D40 E00DE620 A6230000 */ sh $v1, ($s1)
/* 3D8D44 E00DE624 8E430000 */ lw $v1, ($s2)
/* 3D8D48 E00DE628 00531021 */ addu $v0, $v0, $s3
/* 3D8D4C E00DE62C 00621821 */ addu $v1, $v1, $v0
/* 3D8D50 E00DE630 AC830004 */ sw $v1, 4($a0)
/* 3D8D54 E00DE634 3C02E00E */ lui $v0, %hi(D_E00DE910)
/* 3D8D58 E00DE638 00501021 */ addu $v0, $v0, $s0
/* 3D8D5C E00DE63C 9042E910 */ lbu $v0, %lo(D_E00DE910)($v0)
/* 3D8D60 E00DE640 3C0140A0 */ lui $at, 0x40a0
/* 3D8D64 E00DE644 44811000 */ mtc1 $at, $f2
/* 3D8D68 E00DE648 44820000 */ mtc1 $v0, $f0
/* 3D8D6C E00DE64C 00000000 */ nop
/* 3D8D70 E00DE650 46800020 */ cvt.s.w $f0, $f0
/* 3D8D74 E00DE654 46020002 */ mul.s $f0, $f0, $f2
/* 3D8D78 E00DE658 00000000 */ nop
/* 3D8D7C E00DE65C 3C013B80 */ lui $at, 0x3b80
/* 3D8D80 E00DE660 44811000 */ mtc1 $at, $f2
/* 3D8D84 E00DE664 00000000 */ nop
/* 3D8D88 E00DE668 46020002 */ mul.s $f0, $f0, $f2
/* 3D8D8C E00DE66C 00000000 */ nop
/* 3D8D90 E00DE670 4600010D */ trunc.w.s $f4, $f0
/* 3D8D94 E00DE674 44082000 */ mfc1 $t0, $f4
/* 3D8D98 E00DE678 00000000 */ nop
/* 3D8D9C E00DE67C 44881000 */ mtc1 $t0, $f2
/* 3D8DA0 E00DE680 00000000 */ nop
/* 3D8DA4 E00DE684 468010A0 */ cvt.s.w $f2, $f2
/* 3D8DA8 E00DE688 46020001 */ sub.s $f0, $f0, $f2
/* 3D8DAC E00DE68C 3C014380 */ lui $at, 0x4380
/* 3D8DB0 E00DE690 44811000 */ mtc1 $at, $f2
/* 3D8DB4 E00DE694 00000000 */ nop
/* 3D8DB8 E00DE698 46020002 */ mul.s $f0, $f0, $f2
/* 3D8DBC E00DE69C 00000000 */ nop
/* 3D8DC0 E00DE6A0 29020004 */ slti $v0, $t0, 4
/* 3D8DC4 E00DE6A4 38430001 */ xori $v1, $v0, 1
/* 3D8DC8 E00DE6A8 29020005 */ slti $v0, $t0, 5
/* 3D8DCC E00DE6AC 4600010D */ trunc.w.s $f4, $f0
/* 3D8DD0 E00DE6B0 44092000 */ mfc1 $t1, $f4
/* 3D8DD4 E00DE6B4 1040002F */ beqz $v0, .LE00DE774
/* 3D8DD8 E00DE6B8 3C06D838 */ lui $a2, 0xd838
/* 3D8DDC E00DE6BC 10600006 */ beqz $v1, .LE00DE6D8
/* 3D8DE0 E00DE6C0 24A20008 */ addiu $v0, $a1, 8
/* 3D8DE4 E00DE6C4 AE820000 */ sw $v0, ($s4)
/* 3D8DE8 E00DE6C8 3C02F200 */ lui $v0, 0xf200
/* 3D8DEC E00DE6CC ACA20000 */ sw $v0, ($a1)
/* 3D8DF0 E00DE6D0 080379BC */ j .LE00DE6F0
/* 3D8DF4 E00DE6D4 3C020100 */ lui $v0, 0x100
.LE00DE6D8:
/* 3D8DF8 E00DE6D8 3C020107 */ lui $v0, 0x107
/* 3D8DFC E00DE6DC 3442C1FC */ ori $v0, $v0, 0xc1fc
/* 3D8E00 E00DE6E0 24A30008 */ addiu $v1, $a1, 8
/* 3D8E04 E00DE6E4 AE830000 */ sw $v1, ($s4)
/* 3D8E08 E00DE6E8 3C03F200 */ lui $v1, 0xf200
/* 3D8E0C E00DE6EC ACA30000 */ sw $v1, ($a1)
.LE00DE6F0:
/* 3D8E10 E00DE6F0 ACA20004 */ sw $v0, 4($a1)
/* 3D8E14 E00DE6F4 3C06800A */ lui $a2, %hi(gMasterGfxPos)
/* 3D8E18 E00DE6F8 24C6A66C */ addiu $a2, $a2, %lo(gMasterGfxPos)
/* 3D8E1C E00DE6FC 8CC50000 */ lw $a1, ($a2)
/* 3D8E20 E00DE700 3C02FB00 */ lui $v0, 0xfb00
/* 3D8E24 E00DE704 00A0382D */ daddu $a3, $a1, $zero
/* 3D8E28 E00DE708 24A50008 */ addiu $a1, $a1, 8
/* 3D8E2C E00DE70C ACC50000 */ sw $a1, ($a2)
/* 3D8E30 E00DE710 ACE20000 */ sw $v0, ($a3)
/* 3D8E34 E00DE714 92C2002B */ lbu $v0, 0x2b($s6)
/* 3D8E38 E00DE718 92C4002F */ lbu $a0, 0x2f($s6)
/* 3D8E3C E00DE71C 92C30033 */ lbu $v1, 0x33($s6)
/* 3D8E40 E00DE720 00021600 */ sll $v0, $v0, 0x18
/* 3D8E44 E00DE724 00042400 */ sll $a0, $a0, 0x10
/* 3D8E48 E00DE728 00441025 */ or $v0, $v0, $a0
/* 3D8E4C E00DE72C 00031A00 */ sll $v1, $v1, 8
/* 3D8E50 E00DE730 00431025 */ or $v0, $v0, $v1
/* 3D8E54 E00DE734 312300FF */ andi $v1, $t1, 0xff
/* 3D8E58 E00DE738 00431025 */ or $v0, $v0, $v1
/* 3D8E5C E00DE73C ACE20004 */ sw $v0, 4($a3)
/* 3D8E60 E00DE740 3C02DE00 */ lui $v0, 0xde00
/* 3D8E64 E00DE744 ACA20000 */ sw $v0, ($a1)
/* 3D8E68 E00DE748 00171080 */ sll $v0, $s7, 2
/* 3D8E6C E00DE74C 00571021 */ addu $v0, $v0, $s7
/* 3D8E70 E00DE750 00481021 */ addu $v0, $v0, $t0
/* 3D8E74 E00DE754 00021080 */ sll $v0, $v0, 2
/* 3D8E78 E00DE758 3C03E00E */ lui $v1, %hi(D_E00DE810)
/* 3D8E7C E00DE75C 00621821 */ addu $v1, $v1, $v0
/* 3D8E80 E00DE760 8C63E810 */ lw $v1, %lo(D_E00DE810)($v1)
/* 3D8E84 E00DE764 24A20008 */ addiu $v0, $a1, 8
/* 3D8E88 E00DE768 ACC20000 */ sw $v0, ($a2)
/* 3D8E8C E00DE76C ACA30004 */ sw $v1, 4($a1)
/* 3D8E90 E00DE770 3C06D838 */ lui $a2, 0xd838
.LE00DE774:
/* 3D8E94 E00DE774 34C60002 */ ori $a2, $a2, 2
/* 3D8E98 E00DE778 3C07E300 */ lui $a3, 0xe300
/* 3D8E9C E00DE77C 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* 3D8EA0 E00DE780 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* 3D8EA4 E00DE784 34E71A01 */ ori $a3, $a3, 0x1a01
/* 3D8EA8 E00DE788 8C820000 */ lw $v0, ($a0)
/* 3D8EAC E00DE78C 24050040 */ addiu $a1, $zero, 0x40
/* 3D8EB0 E00DE790 0040182D */ daddu $v1, $v0, $zero
/* 3D8EB4 E00DE794 24420008 */ addiu $v0, $v0, 8
/* 3D8EB8 E00DE798 AC820000 */ sw $v0, ($a0)
/* 3D8EBC E00DE79C AC660000 */ sw $a2, ($v1)
/* 3D8EC0 E00DE7A0 AC650004 */ sw $a1, 4($v1)
/* 3D8EC4 E00DE7A4 24430008 */ addiu $v1, $v0, 8
/* 3D8EC8 E00DE7A8 AC830000 */ sw $v1, ($a0)
/* 3D8ECC E00DE7AC 24430010 */ addiu $v1, $v0, 0x10
/* 3D8ED0 E00DE7B0 AC460000 */ sw $a2, ($v0)
/* 3D8ED4 E00DE7B4 AC450004 */ sw $a1, 4($v0)
/* 3D8ED8 E00DE7B8 AC830000 */ sw $v1, ($a0)
/* 3D8EDC E00DE7BC 24030030 */ addiu $v1, $zero, 0x30
/* 3D8EE0 E00DE7C0 AC43000C */ sw $v1, 0xc($v0)
/* 3D8EE4 E00DE7C4 24430018 */ addiu $v1, $v0, 0x18
/* 3D8EE8 E00DE7C8 AC470008 */ sw $a3, 8($v0)
/* 3D8EEC E00DE7CC AC830000 */ sw $v1, ($a0)
/* 3D8EF0 E00DE7D0 3C03E700 */ lui $v1, 0xe700
/* 3D8EF4 E00DE7D4 AC430010 */ sw $v1, 0x10($v0)
/* 3D8EF8 E00DE7D8 AC400014 */ sw $zero, 0x14($v0)
/* 3D8EFC E00DE7DC 8FBF00C4 */ lw $ra, 0xc4($sp)
/* 3D8F00 E00DE7E0 8FBE00C0 */ lw $fp, 0xc0($sp)
/* 3D8F04 E00DE7E4 8FB700BC */ lw $s7, 0xbc($sp)
/* 3D8F08 E00DE7E8 8FB600B8 */ lw $s6, 0xb8($sp)
/* 3D8F0C E00DE7EC 8FB500B4 */ lw $s5, 0xb4($sp)
/* 3D8F10 E00DE7F0 8FB400B0 */ lw $s4, 0xb0($sp)
/* 3D8F14 E00DE7F4 8FB300AC */ lw $s3, 0xac($sp)
/* 3D8F18 E00DE7F8 8FB200A8 */ lw $s2, 0xa8($sp)
/* 3D8F1C E00DE7FC 8FB100A4 */ lw $s1, 0xa4($sp)
/* 3D8F20 E00DE800 8FB000A0 */ lw $s0, 0xa0($sp)
/* 3D8F24 E00DE804 03E00008 */ jr $ra
/* 3D8F28 E00DE808 27BD00C8 */ addiu $sp, $sp, 0xc8
/* 3D8F2C E00DE80C 00000000 */ nop

View File

@ -1,79 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel cold_breath_main
/* 3D8720 E00DE000 27BDFFB0 */ addiu $sp, $sp, -0x50
/* 3D8724 E00DE004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 3D8728 E00DE008 4485A000 */ mtc1 $a1, $f20
/* 3D872C E00DE00C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 3D8730 E00DE010 4486B000 */ mtc1 $a2, $f22
/* 3D8734 E00DE014 AFB20030 */ sw $s2, 0x30($sp)
/* 3D8738 E00DE018 0080902D */ daddu $s2, $a0, $zero
/* 3D873C E00DE01C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 3D8740 E00DE020 4487C000 */ mtc1 $a3, $f24
/* 3D8744 E00DE024 27A40010 */ addiu $a0, $sp, 0x10
/* 3D8748 E00DE028 AFB1002C */ sw $s1, 0x2c($sp)
/* 3D874C E00DE02C 8FB10064 */ lw $s1, 0x64($sp)
/* 3D8750 E00DE030 3C02E00E */ lui $v0, %hi(cold_breath_init)
/* 3D8754 E00DE034 2442E11C */ addiu $v0, $v0, %lo(cold_breath_init)
/* 3D8758 E00DE038 AFA20018 */ sw $v0, 0x18($sp)
/* 3D875C E00DE03C 3C02E00E */ lui $v0, %hi(cold_breath_update)
/* 3D8760 E00DE040 2442E124 */ addiu $v0, $v0, %lo(cold_breath_update)
/* 3D8764 E00DE044 AFA2001C */ sw $v0, 0x1c($sp)
/* 3D8768 E00DE048 3C02E00E */ lui $v0, %hi(cold_breath_render)
/* 3D876C E00DE04C 2442E260 */ addiu $v0, $v0, %lo(cold_breath_render)
/* 3D8770 E00DE050 AFA20020 */ sw $v0, 0x20($sp)
/* 3D8774 E00DE054 2402006F */ addiu $v0, $zero, 0x6f
/* 3D8778 E00DE058 AFBF0034 */ sw $ra, 0x34($sp)
/* 3D877C E00DE05C AFB00028 */ sw $s0, 0x28($sp)
/* 3D8780 E00DE060 AFA00010 */ sw $zero, 0x10($sp)
/* 3D8784 E00DE064 AFA00024 */ sw $zero, 0x24($sp)
/* 3D8788 E00DE068 0C080124 */ jal shim_create_effect_instance
/* 3D878C E00DE06C AFA20014 */ sw $v0, 0x14($sp)
/* 3D8790 E00DE070 24040044 */ addiu $a0, $zero, 0x44
/* 3D8794 E00DE074 24030001 */ addiu $v1, $zero, 1
/* 3D8798 E00DE078 0040802D */ daddu $s0, $v0, $zero
/* 3D879C E00DE07C 0C08012C */ jal shim_general_heap_malloc
/* 3D87A0 E00DE080 AE030008 */ sw $v1, 8($s0)
/* 3D87A4 E00DE084 0040202D */ daddu $a0, $v0, $zero
/* 3D87A8 E00DE088 14800003 */ bnez $a0, .LE00DE098
/* 3D87AC E00DE08C AE02000C */ sw $v0, 0xc($s0)
.LE00DE090:
/* 3D87B0 E00DE090 08037824 */ j .LE00DE090
/* 3D87B4 E00DE094 00000000 */ nop
.LE00DE098:
/* 3D87B8 E00DE098 AC920000 */ sw $s2, ($a0)
/* 3D87BC E00DE09C 1E200004 */ bgtz $s1, .LE00DE0B0
/* 3D87C0 E00DE0A0 AC800014 */ sw $zero, 0x14($a0)
/* 3D87C4 E00DE0A4 240203E8 */ addiu $v0, $zero, 0x3e8
/* 3D87C8 E00DE0A8 0803782D */ j .LE00DE0B4
/* 3D87CC E00DE0AC AC820010 */ sw $v0, 0x10($a0)
.LE00DE0B0:
/* 3D87D0 E00DE0B0 AC910010 */ sw $s1, 0x10($a0)
.LE00DE0B4:
/* 3D87D4 E00DE0B4 240300FF */ addiu $v1, $zero, 0xff
/* 3D87D8 E00DE0B8 AC830024 */ sw $v1, 0x24($a0)
/* 3D87DC E00DE0BC E4940004 */ swc1 $f20, 4($a0)
/* 3D87E0 E00DE0C0 E4960008 */ swc1 $f22, 8($a0)
/* 3D87E4 E00DE0C4 E498000C */ swc1 $f24, 0xc($a0)
/* 3D87E8 E00DE0C8 C7A00060 */ lwc1 $f0, 0x60($sp)
/* 3D87EC E00DE0CC 0200102D */ daddu $v0, $s0, $zero
/* 3D87F0 E00DE0D0 AC830018 */ sw $v1, 0x18($a0)
/* 3D87F4 E00DE0D4 AC83001C */ sw $v1, 0x1c($a0)
/* 3D87F8 E00DE0D8 AC830020 */ sw $v1, 0x20($a0)
/* 3D87FC E00DE0DC AC830028 */ sw $v1, 0x28($a0)
/* 3D8800 E00DE0E0 AC83002C */ sw $v1, 0x2c($a0)
/* 3D8804 E00DE0E4 AC830030 */ sw $v1, 0x30($a0)
/* 3D8808 E00DE0E8 AC830034 */ sw $v1, 0x34($a0)
/* 3D880C E00DE0EC AC800038 */ sw $zero, 0x38($a0)
/* 3D8810 E00DE0F0 AC80003C */ sw $zero, 0x3c($a0)
/* 3D8814 E00DE0F4 E4800040 */ swc1 $f0, 0x40($a0)
/* 3D8818 E00DE0F8 8FBF0034 */ lw $ra, 0x34($sp)
/* 3D881C E00DE0FC 8FB20030 */ lw $s2, 0x30($sp)
/* 3D8820 E00DE100 8FB1002C */ lw $s1, 0x2c($sp)
/* 3D8824 E00DE104 8FB00028 */ lw $s0, 0x28($sp)
/* 3D8828 E00DE108 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 3D882C E00DE10C D7B60040 */ ldc1 $f22, 0x40($sp)
/* 3D8830 E00DE110 D7B40038 */ ldc1 $f20, 0x38($sp)
/* 3D8834 E00DE114 03E00008 */ jr $ra
/* 3D8838 E00DE118 27BD0050 */ addiu $sp, $sp, 0x50

View File

@ -1,98 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E00DE9D0
.double 0.02, 0.0
.section .text
glabel cold_breath_update
/* 3D8844 E00DE124 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 3D8848 E00DE128 AFBF0010 */ sw $ra, 0x10($sp)
/* 3D884C E00DE12C 8C850000 */ lw $a1, ($a0)
/* 3D8850 E00DE130 8C83000C */ lw $v1, 0xc($a0)
/* 3D8854 E00DE134 30A20010 */ andi $v0, $a1, 0x10
/* 3D8858 E00DE138 8C660000 */ lw $a2, ($v1)
/* 3D885C E00DE13C 10400005 */ beqz $v0, .LE00DE154
/* 3D8860 E00DE140 2402FFEF */ addiu $v0, $zero, -0x11
/* 3D8864 E00DE144 00A21024 */ and $v0, $a1, $v0
/* 3D8868 E00DE148 AC820000 */ sw $v0, ($a0)
/* 3D886C E00DE14C 24020010 */ addiu $v0, $zero, 0x10
/* 3D8870 E00DE150 AC620010 */ sw $v0, 0x10($v1)
.LE00DE154:
/* 3D8874 E00DE154 8C650010 */ lw $a1, 0x10($v1)
/* 3D8878 E00DE158 28A203E8 */ slti $v0, $a1, 0x3e8
/* 3D887C E00DE15C 10400002 */ beqz $v0, .LE00DE168
/* 3D8880 E00DE160 24A2FFFF */ addiu $v0, $a1, -1
/* 3D8884 E00DE164 AC620010 */ sw $v0, 0x10($v1)
.LE00DE168:
/* 3D8888 E00DE168 8C620014 */ lw $v0, 0x14($v1)
/* 3D888C E00DE16C 8C650010 */ lw $a1, 0x10($v1)
/* 3D8890 E00DE170 24420001 */ addiu $v0, $v0, 1
/* 3D8894 E00DE174 04A10005 */ bgez $a1, .LE00DE18C
/* 3D8898 E00DE178 AC620014 */ sw $v0, 0x14($v1)
/* 3D889C E00DE17C 0C080128 */ jal shim_remove_effect
/* 3D88A0 E00DE180 00000000 */ nop
/* 3D88A4 E00DE184 08037895 */ j .LE00DE254
/* 3D88A8 E00DE188 00000000 */ nop
.LE00DE18C:
/* 3D88AC E00DE18C 28A20010 */ slti $v0, $a1, 0x10
/* 3D88B0 E00DE190 10400002 */ beqz $v0, .LE00DE19C
/* 3D88B4 E00DE194 00051100 */ sll $v0, $a1, 4
/* 3D88B8 E00DE198 AC620024 */ sw $v0, 0x24($v1)
.LE00DE19C:
/* 3D88BC E00DE19C 28C20002 */ slti $v0, $a2, 2
/* 3D88C0 E00DE1A0 1040000A */ beqz $v0, .LE00DE1CC
/* 3D88C4 E00DE1A4 00000000 */ nop
/* 3D88C8 E00DE1A8 04C00008 */ bltz $a2, .LE00DE1CC
/* 3D88CC E00DE1AC 00000000 */ nop
/* 3D88D0 E00DE1B0 C460003C */ lwc1 $f0, 0x3c($v1)
/* 3D88D4 E00DE1B4 3C01E00E */ lui $at, %hi(D_E00DE9D0)
/* 3D88D8 E00DE1B8 D422E9D0 */ ldc1 $f2, %lo(D_E00DE9D0)($at)
/* 3D88DC E00DE1BC 46000021 */ cvt.d.s $f0, $f0
/* 3D88E0 E00DE1C0 46220000 */ add.d $f0, $f0, $f2
/* 3D88E4 E00DE1C4 46200020 */ cvt.s.d $f0, $f0
/* 3D88E8 E00DE1C8 E460003C */ swc1 $f0, 0x3c($v1)
.LE00DE1CC:
/* 3D88EC E00DE1CC C4640008 */ lwc1 $f4, 8($v1)
/* 3D88F0 E00DE1D0 C460003C */ lwc1 $f0, 0x3c($v1)
/* 3D88F4 E00DE1D4 46002100 */ add.s $f4, $f4, $f0
/* 3D88F8 E00DE1D8 3C013FE0 */ lui $at, 0x3fe0
/* 3D88FC E00DE1DC 44811800 */ mtc1 $at, $f3
/* 3D8900 E00DE1E0 44801000 */ mtc1 $zero, $f2
/* 3D8904 E00DE1E4 46000021 */ cvt.d.s $f0, $f0
/* 3D8908 E00DE1E8 4620103C */ c.lt.d $f2, $f0
/* 3D890C E00DE1EC 00000000 */ nop
/* 3D8910 E00DE1F0 45000005 */ bc1f .LE00DE208
/* 3D8914 E00DE1F4 E4640008 */ swc1 $f4, 8($v1)
/* 3D8918 E00DE1F8 3C013F00 */ lui $at, 0x3f00
/* 3D891C E00DE1FC 44810000 */ mtc1 $at, $f0
/* 3D8920 E00DE200 00000000 */ nop
/* 3D8924 E00DE204 E460003C */ swc1 $f0, 0x3c($v1)
.LE00DE208:
/* 3D8928 E00DE208 C460003C */ lwc1 $f0, 0x3c($v1)
/* 3D892C E00DE20C 3C01BFF8 */ lui $at, 0xbff8
/* 3D8930 E00DE210 44811800 */ mtc1 $at, $f3
/* 3D8934 E00DE214 44801000 */ mtc1 $zero, $f2
/* 3D8938 E00DE218 46000021 */ cvt.d.s $f0, $f0
/* 3D893C E00DE21C 4622003C */ c.lt.d $f0, $f2
/* 3D8940 E00DE220 00000000 */ nop
/* 3D8944 E00DE224 45000005 */ bc1f .LE00DE23C
/* 3D8948 E00DE228 00000000 */ nop
/* 3D894C E00DE22C 3C01BFC0 */ lui $at, 0xbfc0
/* 3D8950 E00DE230 44810000 */ mtc1 $at, $f0
/* 3D8954 E00DE234 00000000 */ nop
/* 3D8958 E00DE238 E460003C */ swc1 $f0, 0x3c($v1)
.LE00DE23C:
/* 3D895C E00DE23C C4600038 */ lwc1 $f0, 0x38($v1)
/* 3D8960 E00DE240 3C013F80 */ lui $at, 0x3f80
/* 3D8964 E00DE244 44811000 */ mtc1 $at, $f2
/* 3D8968 E00DE248 00000000 */ nop
/* 3D896C E00DE24C 46020000 */ add.s $f0, $f0, $f2
/* 3D8970 E00DE250 E4600038 */ swc1 $f0, 0x38($v1)
.LE00DE254:
/* 3D8974 E00DE254 8FBF0010 */ lw $ra, 0x10($sp)
/* 3D8978 E00DE258 03E00008 */ jr $ra
/* 3D897C E00DE25C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,185 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E002A720
.double 0.1
dlabel D_E002A728
.double 0.2
.section .text
glabel dust_main
/* 33E8C0 E002A000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 33E8C4 E002A004 F7B40040 */ sdc1 $f20, 0x40($sp)
/* 33E8C8 E002A008 4485A000 */ mtc1 $a1, $f20
/* 33E8CC E002A00C AFB40038 */ sw $s4, 0x38($sp)
/* 33E8D0 E002A010 0080A02D */ daddu $s4, $a0, $zero
/* 33E8D4 E002A014 AFB20030 */ sw $s2, 0x30($sp)
/* 33E8D8 E002A018 24120004 */ addiu $s2, $zero, 4
/* 33E8DC E002A01C F7B60048 */ sdc1 $f22, 0x48($sp)
/* 33E8E0 E002A020 4486B000 */ mtc1 $a2, $f22
/* 33E8E4 E002A024 27A40010 */ addiu $a0, $sp, 0x10
/* 33E8E8 E002A028 F7B80050 */ sdc1 $f24, 0x50($sp)
/* 33E8EC E002A02C 4487C000 */ mtc1 $a3, $f24
/* 33E8F0 E002A030 2A820002 */ slti $v0, $s4, 2
/* 33E8F4 E002A034 AFBF003C */ sw $ra, 0x3c($sp)
/* 33E8F8 E002A038 AFB30034 */ sw $s3, 0x34($sp)
/* 33E8FC E002A03C AFB1002C */ sw $s1, 0x2c($sp)
/* 33E900 E002A040 10400002 */ beqz $v0, .LE002A04C
/* 33E904 E002A044 AFB00028 */ sw $s0, 0x28($sp)
/* 33E908 E002A048 24120005 */ addiu $s2, $zero, 5
.LE002A04C:
/* 33E90C E002A04C 3C02E003 */ lui $v0, %hi(dust_init)
/* 33E910 E002A050 2442A284 */ addiu $v0, $v0, %lo(dust_init)
/* 33E914 E002A054 AFA20018 */ sw $v0, 0x18($sp)
/* 33E918 E002A058 3C02E003 */ lui $v0, %hi(dust_update)
/* 33E91C E002A05C 2442A28C */ addiu $v0, $v0, %lo(dust_update)
/* 33E920 E002A060 AFA2001C */ sw $v0, 0x1c($sp)
/* 33E924 E002A064 3C02E003 */ lui $v0, %hi(dust_render)
/* 33E928 E002A068 2442A380 */ addiu $v0, $v0, %lo(dust_render)
/* 33E92C E002A06C AFA20020 */ sw $v0, 0x20($sp)
/* 33E930 E002A070 24020015 */ addiu $v0, $zero, 0x15
/* 33E934 E002A074 AFA00010 */ sw $zero, 0x10($sp)
/* 33E938 E002A078 AFA00024 */ sw $zero, 0x24($sp)
/* 33E93C E002A07C 0C080124 */ jal shim_create_effect_instance
/* 33E940 E002A080 AFA20014 */ sw $v0, 0x14($sp)
/* 33E944 E002A084 001220C0 */ sll $a0, $s2, 3
/* 33E948 E002A088 00922021 */ addu $a0, $a0, $s2
/* 33E94C E002A08C 000420C0 */ sll $a0, $a0, 3
/* 33E950 E002A090 0040982D */ daddu $s3, $v0, $zero
/* 33E954 E002A094 0C08012C */ jal shim_general_heap_malloc
/* 33E958 E002A098 AE720008 */ sw $s2, 8($s3)
/* 33E95C E002A09C 0040202D */ daddu $a0, $v0, $zero
/* 33E960 E002A0A0 14800003 */ bnez $a0, .LE002A0B0
/* 33E964 E002A0A4 AE64000C */ sw $a0, 0xc($s3)
.LE002A0A8:
/* 33E968 E002A0A8 0800A82A */ j .LE002A0A8
/* 33E96C E002A0AC 00000000 */ nop
.LE002A0B0:
/* 33E970 E002A0B0 2403008C */ addiu $v1, $zero, 0x8c
/* 33E974 E002A0B4 AC940000 */ sw $s4, ($a0)
/* 33E978 E002A0B8 E4940004 */ swc1 $f20, 4($a0)
/* 33E97C E002A0BC E4960008 */ swc1 $f22, 8($a0)
/* 33E980 E002A0C0 E498000C */ swc1 $f24, 0xc($a0)
/* 33E984 E002A0C4 8FA20068 */ lw $v0, 0x68($sp)
/* 33E988 E002A0C8 24110001 */ addiu $s1, $zero, 1
/* 33E98C E002A0CC AC830038 */ sw $v1, 0x38($a0)
/* 33E990 E002A0D0 AC830044 */ sw $v1, 0x44($a0)
/* 33E994 E002A0D4 AC82002C */ sw $v0, 0x2c($a0)
/* 33E998 E002A0D8 240200FF */ addiu $v0, $zero, 0xff
/* 33E99C E002A0DC AC820018 */ sw $v0, 0x18($a0)
/* 33E9A0 E002A0E0 240200A0 */ addiu $v0, $zero, 0xa0
/* 33E9A4 E002A0E4 AC820030 */ sw $v0, 0x30($a0)
/* 33E9A8 E002A0E8 AC820034 */ sw $v0, 0x34($a0)
/* 33E9AC E002A0EC AC82003C */ sw $v0, 0x3c($a0)
/* 33E9B0 E002A0F0 AC820040 */ sw $v0, 0x40($a0)
/* 33E9B4 E002A0F4 0232102A */ slt $v0, $s1, $s2
/* 33E9B8 E002A0F8 10400056 */ beqz $v0, .LE002A254
/* 33E9BC E002A0FC 24840048 */ addiu $a0, $a0, 0x48
/* 33E9C0 E002A100 24900008 */ addiu $s0, $a0, 8
/* 33E9C4 E002A104 3C013F80 */ lui $at, 0x3f80
/* 33E9C8 E002A108 4481C000 */ mtc1 $at, $f24
/* 33E9CC E002A10C 3C01E003 */ lui $at, %hi(D_E002A720)
/* 33E9D0 E002A110 D434A720 */ ldc1 $f20, %lo(D_E002A720)($at)
/* 33E9D4 E002A114 3C013ECC */ lui $at, 0x3ecc
/* 33E9D8 E002A118 3421CCCD */ ori $at, $at, 0xcccd
/* 33E9DC E002A11C 4481B000 */ mtc1 $at, $f22
.LE002A120:
/* 33E9E0 E002A120 0C080138 */ jal shim_rand_int
/* 33E9E4 E002A124 240400C8 */ addiu $a0, $zero, 0xc8
/* 33E9E8 E002A128 24040032 */ addiu $a0, $zero, 0x32
/* 33E9EC E002A12C 2442FF9C */ addiu $v0, $v0, -0x64
/* 33E9F0 E002A130 44820000 */ mtc1 $v0, $f0
/* 33E9F4 E002A134 00000000 */ nop
/* 33E9F8 E002A138 46800020 */ cvt.s.w $f0, $f0
/* 33E9FC E002A13C 0C080138 */ jal shim_rand_int
/* 33EA00 E002A140 E600FFFC */ swc1 $f0, -4($s0)
/* 33EA04 E002A144 2404000A */ addiu $a0, $zero, 0xa
/* 33EA08 E002A148 3C01BF80 */ lui $at, 0xbf80
/* 33EA0C E002A14C 44811000 */ mtc1 $at, $f2
/* 33EA10 E002A150 44820000 */ mtc1 $v0, $f0
/* 33EA14 E002A154 00000000 */ nop
/* 33EA18 E002A158 46800020 */ cvt.s.w $f0, $f0
/* 33EA1C E002A15C E6000000 */ swc1 $f0, ($s0)
/* 33EA20 E002A160 AE000004 */ sw $zero, 4($s0)
/* 33EA24 E002A164 AE00000C */ sw $zero, 0xc($s0)
/* 33EA28 E002A168 E6180014 */ swc1 $f24, 0x14($s0)
/* 33EA2C E002A16C E6180018 */ swc1 $f24, 0x18($s0)
/* 33EA30 E002A170 0C080138 */ jal shim_rand_int
/* 33EA34 E002A174 E6020008 */ swc1 $f2, 8($s0)
/* 33EA38 E002A178 3C0351EB */ lui $v1, 0x51eb
/* 33EA3C E002A17C 3463851F */ ori $v1, $v1, 0x851f
/* 33EA40 E002A180 00430018 */ mult $v0, $v1
/* 33EA44 E002A184 000217C3 */ sra $v0, $v0, 0x1f
/* 33EA48 E002A188 00004010 */ mfhi $t0
/* 33EA4C E002A18C 00081983 */ sra $v1, $t0, 6
/* 33EA50 E002A190 00621823 */ subu $v1, $v1, $v0
/* 33EA54 E002A194 44830000 */ mtc1 $v1, $f0
/* 33EA58 E002A198 00000000 */ nop
/* 33EA5C E002A19C 46800020 */ cvt.s.w $f0, $f0
/* 33EA60 E002A1A0 12800006 */ beqz $s4, .LE002A1BC
/* 33EA64 E002A1A4 E600001C */ swc1 $f0, 0x1c($s0)
/* 33EA68 E002A1A8 24020001 */ addiu $v0, $zero, 1
/* 33EA6C E002A1AC 12820008 */ beq $s4, $v0, .LE002A1D0
/* 33EA70 E002A1B0 24040028 */ addiu $a0, $zero, 0x28
/* 33EA74 E002A1B4 0800A87C */ j .LE002A1F0
/* 33EA78 E002A1B8 E616001C */ swc1 $f22, 0x1c($s0)
.LE002A1BC:
/* 33EA7C E002A1BC 46000021 */ cvt.d.s $f0, $f0
/* 33EA80 E002A1C0 46340002 */ mul.d $f0, $f0, $f20
/* 33EA84 E002A1C4 00000000 */ nop
/* 33EA88 E002A1C8 0800A87A */ j .LE002A1E8
/* 33EA8C E002A1CC 46200020 */ cvt.s.d $f0, $f0
.LE002A1D0:
/* 33EA90 E002A1D0 3C01E003 */ lui $at, %hi(D_E002A728)
/* 33EA94 E002A1D4 D422A728 */ ldc1 $f2, %lo(D_E002A728)($at)
/* 33EA98 E002A1D8 46000021 */ cvt.d.s $f0, $f0
/* 33EA9C E002A1DC 46220002 */ mul.d $f0, $f0, $f2
/* 33EAA0 E002A1E0 00000000 */ nop
/* 33EAA4 E002A1E4 46200020 */ cvt.s.d $f0, $f0
.LE002A1E8:
/* 33EAA8 E002A1E8 0800A891 */ j .LE002A244
/* 33EAAC E002A1EC E6000020 */ swc1 $f0, 0x20($s0)
.LE002A1F0:
/* 33EAB0 E002A1F0 E6160020 */ swc1 $f22, 0x20($s0)
/* 33EAB4 E002A1F4 0C080138 */ jal shim_rand_int
/* 33EAB8 E002A1F8 AE000008 */ sw $zero, 8($s0)
/* 33EABC E002A1FC 2442FFEC */ addiu $v0, $v0, -0x14
/* 33EAC0 E002A200 44820000 */ mtc1 $v0, $f0
/* 33EAC4 E002A204 00000000 */ nop
/* 33EAC8 E002A208 46800021 */ cvt.d.w $f0, $f0
/* 33EACC E002A20C 46340002 */ mul.d $f0, $f0, $f20
/* 33EAD0 E002A210 00000000 */ nop
/* 33EAD4 E002A214 24040028 */ addiu $a0, $zero, 0x28
/* 33EAD8 E002A218 46200020 */ cvt.s.d $f0, $f0
/* 33EADC E002A21C 0C080138 */ jal shim_rand_int
/* 33EAE0 E002A220 E600FFFC */ swc1 $f0, -4($s0)
/* 33EAE4 E002A224 2442FFEC */ addiu $v0, $v0, -0x14
/* 33EAE8 E002A228 44820000 */ mtc1 $v0, $f0
/* 33EAEC E002A22C 00000000 */ nop
/* 33EAF0 E002A230 46800021 */ cvt.d.w $f0, $f0
/* 33EAF4 E002A234 46340002 */ mul.d $f0, $f0, $f20
/* 33EAF8 E002A238 00000000 */ nop
/* 33EAFC E002A23C 46200020 */ cvt.s.d $f0, $f0
/* 33EB00 E002A240 E6000000 */ swc1 $f0, ($s0)
.LE002A244:
/* 33EB04 E002A244 26310001 */ addiu $s1, $s1, 1
/* 33EB08 E002A248 0232102A */ slt $v0, $s1, $s2
/* 33EB0C E002A24C 1440FFB4 */ bnez $v0, .LE002A120
/* 33EB10 E002A250 26100048 */ addiu $s0, $s0, 0x48
.LE002A254:
/* 33EB14 E002A254 0260102D */ daddu $v0, $s3, $zero
/* 33EB18 E002A258 8FBF003C */ lw $ra, 0x3c($sp)
/* 33EB1C E002A25C 8FB40038 */ lw $s4, 0x38($sp)
/* 33EB20 E002A260 8FB30034 */ lw $s3, 0x34($sp)
/* 33EB24 E002A264 8FB20030 */ lw $s2, 0x30($sp)
/* 33EB28 E002A268 8FB1002C */ lw $s1, 0x2c($sp)
/* 33EB2C E002A26C 8FB00028 */ lw $s0, 0x28($sp)
/* 33EB30 E002A270 D7B80050 */ ldc1 $f24, 0x50($sp)
/* 33EB34 E002A274 D7B60048 */ ldc1 $f22, 0x48($sp)
/* 33EB38 E002A278 D7B40040 */ ldc1 $f20, 0x40($sp)
/* 33EB3C E002A27C 03E00008 */ jr $ra
/* 33EB40 E002A280 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,80 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E002A730
.double 0.9
dlabel D_E002A738
.double 0.005
.section .text
glabel dust_update
/* 33EB4C E002A28C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 33EB50 E002A290 AFBF0010 */ sw $ra, 0x10($sp)
/* 33EB54 E002A294 8C83000C */ lw $v1, 0xc($a0)
/* 33EB58 E002A298 8C62002C */ lw $v0, 0x2c($v1)
/* 33EB5C E002A29C 2442FFFF */ addiu $v0, $v0, -1
/* 33EB60 E002A2A0 04410005 */ bgez $v0, .LE002A2B8
/* 33EB64 E002A2A4 AC62002C */ sw $v0, 0x2c($v1)
/* 33EB68 E002A2A8 0C080128 */ jal shim_remove_effect
/* 33EB6C E002A2AC 00000000 */ nop
/* 33EB70 E002A2B0 0800A8DD */ j .LE002A374
/* 33EB74 E002A2B4 00000000 */ nop
.LE002A2B8:
/* 33EB78 E002A2B8 8C660000 */ lw $a2, ($v1)
/* 33EB7C E002A2BC 28420018 */ slti $v0, $v0, 0x18
/* 33EB80 E002A2C0 10400009 */ beqz $v0, .LE002A2E8
/* 33EB84 E002A2C4 00000000 */ nop
/* 33EB88 E002A2C8 3C01E003 */ lui $at, %hi(D_E002A730)
/* 33EB8C E002A2CC D422A730 */ ldc1 $f2, %lo(D_E002A730)($at)
/* 33EB90 E002A2D0 C4600018 */ lwc1 $f0, 0x18($v1)
/* 33EB94 E002A2D4 46800021 */ cvt.d.w $f0, $f0
/* 33EB98 E002A2D8 46220002 */ mul.d $f0, $f0, $f2
/* 33EB9C E002A2DC 00000000 */ nop
/* 33EBA0 E002A2E0 4620020D */ trunc.w.d $f8, $f0
/* 33EBA4 E002A2E4 E4680018 */ swc1 $f8, 0x18($v1)
.LE002A2E8:
/* 33EBA8 E002A2E8 8C820008 */ lw $v0, 8($a0)
/* 33EBAC E002A2EC 24050001 */ addiu $a1, $zero, 1
/* 33EBB0 E002A2F0 00A2102A */ slt $v0, $a1, $v0
/* 33EBB4 E002A2F4 1040001F */ beqz $v0, .LE002A374
/* 33EBB8 E002A2F8 24630048 */ addiu $v1, $v1, 0x48
/* 33EBBC E002A2FC 28C60002 */ slti $a2, $a2, 2
/* 33EBC0 E002A300 3C01E003 */ lui $at, %hi(D_E002A738)
/* 33EBC4 E002A304 D426A738 */ ldc1 $f6, %lo(D_E002A738)($at)
/* 33EBC8 E002A308 24630020 */ addiu $v1, $v1, 0x20
.LE002A30C:
/* 33EBCC E002A30C C460FFF0 */ lwc1 $f0, -0x10($v1)
/* 33EBD0 E002A310 C462FFF4 */ lwc1 $f2, -0xc($v1)
/* 33EBD4 E002A314 46020000 */ add.s $f0, $f0, $f2
/* 33EBD8 E002A318 C462FFE8 */ lwc1 $f2, -0x18($v1)
/* 33EBDC E002A31C 46001080 */ add.s $f2, $f2, $f0
/* 33EBE0 E002A320 E460FFF0 */ swc1 $f0, -0x10($v1)
/* 33EBE4 E002A324 10C00006 */ beqz $a2, .LE002A340
/* 33EBE8 E002A328 E462FFE8 */ swc1 $f2, -0x18($v1)
/* 33EBEC E002A32C C4600004 */ lwc1 $f0, 4($v1)
/* 33EBF0 E002A330 46000021 */ cvt.d.s $f0, $f0
/* 33EBF4 E002A334 46260000 */ add.d $f0, $f0, $f6
/* 33EBF8 E002A338 46200020 */ cvt.s.d $f0, $f0
/* 33EBFC E002A33C E4600004 */ swc1 $f0, 4($v1)
.LE002A340:
/* 33EC00 E002A340 C464FFFC */ lwc1 $f4, -4($v1)
/* 33EC04 E002A344 C4600004 */ lwc1 $f0, 4($v1)
/* 33EC08 E002A348 C4620000 */ lwc1 $f2, ($v1)
/* 33EC0C E002A34C 46002100 */ add.s $f4, $f4, $f0
/* 33EC10 E002A350 C4600008 */ lwc1 $f0, 8($v1)
/* 33EC14 E002A354 46001080 */ add.s $f2, $f2, $f0
/* 33EC18 E002A358 24A50001 */ addiu $a1, $a1, 1
/* 33EC1C E002A35C E464FFFC */ swc1 $f4, -4($v1)
/* 33EC20 E002A360 E4620000 */ swc1 $f2, ($v1)
/* 33EC24 E002A364 8C820008 */ lw $v0, 8($a0)
/* 33EC28 E002A368 00A2102A */ slt $v0, $a1, $v0
/* 33EC2C E002A36C 1440FFE7 */ bnez $v0, .LE002A30C
/* 33EC30 E002A370 24630048 */ addiu $v1, $v1, 0x48
.LE002A374:
/* 33EC34 E002A374 8FBF0010 */ lw $ra, 0x10($sp)
/* 33EC38 E002A378 03E00008 */ jr $ra
/* 33EC3C E002A37C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,96 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel floating_rock_main
/* 395BB0 E0098000 27BDFFA8 */ addiu $sp, $sp, -0x58
/* 395BB4 E0098004 F7B40038 */ sdc1 $f20, 0x38($sp)
/* 395BB8 E0098008 4485A000 */ mtc1 $a1, $f20
/* 395BBC E009800C F7B60040 */ sdc1 $f22, 0x40($sp)
/* 395BC0 E0098010 4486B000 */ mtc1 $a2, $f22
/* 395BC4 E0098014 AFB20030 */ sw $s2, 0x30($sp)
/* 395BC8 E0098018 0080902D */ daddu $s2, $a0, $zero
/* 395BCC E009801C F7B80048 */ sdc1 $f24, 0x48($sp)
/* 395BD0 E0098020 4487C000 */ mtc1 $a3, $f24
/* 395BD4 E0098024 27A40010 */ addiu $a0, $sp, 0x10
/* 395BD8 E0098028 F7BA0050 */ sdc1 $f26, 0x50($sp)
/* 395BDC E009802C C7BA0074 */ lwc1 $f26, 0x74($sp)
/* 395BE0 E0098030 3C02E00A */ lui $v0, %hi(floating_rock_init)
/* 395BE4 E0098034 24428168 */ addiu $v0, $v0, %lo(floating_rock_init)
/* 395BE8 E0098038 AFA20018 */ sw $v0, 0x18($sp)
/* 395BEC E009803C 3C02E00A */ lui $v0, %hi(floating_rock_update)
/* 395BF0 E0098040 24428170 */ addiu $v0, $v0, %lo(floating_rock_update)
/* 395BF4 E0098044 AFA2001C */ sw $v0, 0x1c($sp)
/* 395BF8 E0098048 3C02E00A */ lui $v0, %hi(floating_rock_render)
/* 395BFC E009804C 2442829C */ addiu $v0, $v0, %lo(floating_rock_render)
/* 395C00 E0098050 AFA20020 */ sw $v0, 0x20($sp)
/* 395C04 E0098054 2402004C */ addiu $v0, $zero, 0x4c
/* 395C08 E0098058 AFBF0034 */ sw $ra, 0x34($sp)
/* 395C0C E009805C AFB1002C */ sw $s1, 0x2c($sp)
/* 395C10 E0098060 AFB00028 */ sw $s0, 0x28($sp)
/* 395C14 E0098064 AFA00010 */ sw $zero, 0x10($sp)
/* 395C18 E0098068 AFA00024 */ sw $zero, 0x24($sp)
/* 395C1C E009806C 0C080124 */ jal shim_create_effect_instance
/* 395C20 E0098070 AFA20014 */ sw $v0, 0x14($sp)
/* 395C24 E0098074 24040050 */ addiu $a0, $zero, 0x50
/* 395C28 E0098078 24030001 */ addiu $v1, $zero, 1
/* 395C2C E009807C 0040882D */ daddu $s1, $v0, $zero
/* 395C30 E0098080 0C08012C */ jal shim_general_heap_malloc
/* 395C34 E0098084 AE230008 */ sw $v1, 8($s1)
/* 395C38 E0098088 0040802D */ daddu $s0, $v0, $zero
/* 395C3C E009808C 16000003 */ bnez $s0, .LE009809C
/* 395C40 E0098090 AE22000C */ sw $v0, 0xc($s1)
.LE0098094:
/* 395C44 E0098094 08026025 */ j .LE0098094
/* 395C48 E0098098 00000000 */ nop
.LE009809C:
/* 395C4C E009809C AE120000 */ sw $s2, ($s0)
/* 395C50 E00980A0 E6140004 */ swc1 $f20, 4($s0)
/* 395C54 E00980A4 E6160008 */ swc1 $f22, 8($s0)
/* 395C58 E00980A8 E618000C */ swc1 $f24, 0xc($s0)
/* 395C5C E00980AC C7A00068 */ lwc1 $f0, 0x68($sp)
/* 395C60 E00980B0 E6000010 */ swc1 $f0, 0x10($s0)
/* 395C64 E00980B4 C7A0006C */ lwc1 $f0, 0x6c($sp)
/* 395C68 E00980B8 E6000018 */ swc1 $f0, 0x18($s0)
/* 395C6C E00980BC C7A00070 */ lwc1 $f0, 0x70($sp)
/* 395C70 E00980C0 E6000020 */ swc1 $f0, 0x20($s0)
/* 395C74 E00980C4 8FA20078 */ lw $v0, 0x78($sp)
/* 395C78 E00980C8 24040168 */ addiu $a0, $zero, 0x168
/* 395C7C E00980CC AE00004C */ sw $zero, 0x4c($s0)
/* 395C80 E00980D0 AE000014 */ sw $zero, 0x14($s0)
/* 395C84 E00980D4 AE00001C */ sw $zero, 0x1c($s0)
/* 395C88 E00980D8 AE000024 */ sw $zero, 0x24($s0)
/* 395C8C E00980DC 0C080138 */ jal shim_rand_int
/* 395C90 E00980E0 AE020048 */ sw $v0, 0x48($s0)
/* 395C94 E00980E4 24040168 */ addiu $a0, $zero, 0x168
/* 395C98 E00980E8 44820000 */ mtc1 $v0, $f0
/* 395C9C E00980EC 00000000 */ nop
/* 395CA0 E00980F0 46800020 */ cvt.s.w $f0, $f0
/* 395CA4 E00980F4 0C080138 */ jal shim_rand_int
/* 395CA8 E00980F8 E6000028 */ swc1 $f0, 0x28($s0)
/* 395CAC E00980FC 44820000 */ mtc1 $v0, $f0
/* 395CB0 E0098100 00000000 */ nop
/* 395CB4 E0098104 46800020 */ cvt.s.w $f0, $f0
/* 395CB8 E0098108 0220102D */ daddu $v0, $s1, $zero
/* 395CBC E009810C 240300FF */ addiu $v1, $zero, 0xff
/* 395CC0 E0098110 E600002C */ swc1 $f0, 0x2c($s0)
/* 395CC4 E0098114 3C0141A0 */ lui $at, 0x41a0
/* 395CC8 E0098118 44810000 */ mtc1 $at, $f0
/* 395CCC E009811C 3C01C1A0 */ lui $at, 0xc1a0
/* 395CD0 E0098120 44811000 */ mtc1 $at, $f2
/* 395CD4 E0098124 461AD100 */ add.s $f4, $f26, $f26
/* 395CD8 E0098128 AE000030 */ sw $zero, 0x30($s0)
/* 395CDC E009812C AE030044 */ sw $v1, 0x44($s0)
/* 395CE0 E0098130 AE000040 */ sw $zero, 0x40($s0)
/* 395CE4 E0098134 E6000038 */ swc1 $f0, 0x38($s0)
/* 395CE8 E0098138 E6020034 */ swc1 $f2, 0x34($s0)
/* 395CEC E009813C E604003C */ swc1 $f4, 0x3c($s0)
/* 395CF0 E0098140 8FBF0034 */ lw $ra, 0x34($sp)
/* 395CF4 E0098144 8FB20030 */ lw $s2, 0x30($sp)
/* 395CF8 E0098148 8FB1002C */ lw $s1, 0x2c($sp)
/* 395CFC E009814C 8FB00028 */ lw $s0, 0x28($sp)
/* 395D00 E0098150 D7BA0050 */ ldc1 $f26, 0x50($sp)
/* 395D04 E0098154 D7B80048 */ ldc1 $f24, 0x48($sp)
/* 395D08 E0098158 D7B60040 */ ldc1 $f22, 0x40($sp)
/* 395D0C E009815C D7B40038 */ ldc1 $f20, 0x38($sp)
/* 395D10 E0098160 03E00008 */ jr $ra
/* 395D14 E0098164 27BD0058 */ addiu $sp, $sp, 0x58

View File

@ -1,89 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
.section .rodata
dlabel D_E0098530
.double 0.8, 0.0
.section .text
glabel floating_rock_update
/* 395D20 E0098170 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 395D24 E0098174 AFBF0020 */ sw $ra, 0x20($sp)
/* 395D28 E0098178 AFB1001C */ sw $s1, 0x1c($sp)
/* 395D2C E009817C AFB00018 */ sw $s0, 0x18($sp)
/* 395D30 E0098180 8C90000C */ lw $s0, 0xc($a0)
/* 395D34 E0098184 8E020048 */ lw $v0, 0x48($s0)
/* 395D38 E0098188 2442FFFF */ addiu $v0, $v0, -1
/* 395D3C E009818C AE020048 */ sw $v0, 0x48($s0)
/* 395D40 E0098190 8E02004C */ lw $v0, 0x4c($s0)
/* 395D44 E0098194 8E030048 */ lw $v1, 0x48($s0)
/* 395D48 E0098198 24420001 */ addiu $v0, $v0, 1
/* 395D4C E009819C 04610005 */ bgez $v1, .LE00981B4
/* 395D50 E00981A0 AE02004C */ sw $v0, 0x4c($s0)
/* 395D54 E00981A4 0C080128 */ jal shim_remove_effect
/* 395D58 E00981A8 00000000 */ nop
/* 395D5C E00981AC 080260A2 */ j .LE0098288
/* 395D60 E00981B0 00000000 */ nop
.LE00981B4:
/* 395D64 E00981B4 C6020008 */ lwc1 $f2, 8($s0)
/* 395D68 E00981B8 C6000010 */ lwc1 $f0, 0x10($s0)
/* 395D6C E00981BC 46001032 */ c.eq.s $f2, $f0
/* 395D70 E00981C0 00000000 */ nop
/* 395D74 E00981C4 45010025 */ bc1t .LE009825C
/* 395D78 E00981C8 0060882D */ daddu $s1, $v1, $zero
/* 395D7C E00981CC C6020018 */ lwc1 $f2, 0x18($s0)
/* 395D80 E00981D0 C6000020 */ lwc1 $f0, 0x20($s0)
/* 395D84 E00981D4 C6080024 */ lwc1 $f8, 0x24($s0)
/* 395D88 E00981D8 C606002C */ lwc1 $f6, 0x2c($s0)
/* 395D8C E00981DC 46001080 */ add.s $f2, $f2, $f0
/* 395D90 E00981E0 C60A0038 */ lwc1 $f10, 0x38($s0)
/* 395D94 E00981E4 C6040030 */ lwc1 $f4, 0x30($s0)
/* 395D98 E00981E8 460A3180 */ add.s $f6, $f6, $f10
/* 395D9C E00981EC C6000008 */ lwc1 $f0, 8($s0)
/* 395DA0 E00981F0 C60A0010 */ lwc1 $f10, 0x10($s0)
/* 395DA4 E00981F4 46020000 */ add.s $f0, $f0, $f2
/* 395DA8 E00981F8 E6020018 */ swc1 $f2, 0x18($s0)
/* 395DAC E00981FC C6020034 */ lwc1 $f2, 0x34($s0)
/* 395DB0 E0098200 46044200 */ add.s $f8, $f8, $f4
/* 395DB4 E0098204 E6000008 */ swc1 $f0, 8($s0)
/* 395DB8 E0098208 C6000028 */ lwc1 $f0, 0x28($s0)
/* 395DBC E009820C C6040008 */ lwc1 $f4, 8($s0)
/* 395DC0 E0098210 46020000 */ add.s $f0, $f0, $f2
/* 395DC4 E0098214 E6080024 */ swc1 $f8, 0x24($s0)
/* 395DC8 E0098218 E606002C */ swc1 $f6, 0x2c($s0)
/* 395DCC E009821C 460A203E */ c.le.s $f4, $f10
/* 395DD0 E0098220 00000000 */ nop
/* 395DD4 E0098224 4500000D */ bc1f .LE009825C
/* 395DD8 E0098228 E6000028 */ swc1 $f0, 0x28($s0)
/* 395DDC E009822C 24040015 */ addiu $a0, $zero, 0x15
/* 395DE0 E0098230 0C080150 */ jal shim_load_effect
/* 395DE4 E0098234 E60A0008 */ swc1 $f10, 8($s0)
/* 395DE8 E0098238 24020014 */ addiu $v0, $zero, 0x14
/* 395DEC E009823C AFA20010 */ sw $v0, 0x10($sp)
/* 395DF0 E0098240 8E050004 */ lw $a1, 4($s0)
/* 395DF4 E0098244 8E060008 */ lw $a2, 8($s0)
/* 395DF8 E0098248 8E07000C */ lw $a3, 0xc($s0)
/* 395DFC E009824C 0C00A800 */ jal dust_main
/* 395E00 E0098250 24040002 */ addiu $a0, $zero, 2
/* 395E04 E0098254 2402001E */ addiu $v0, $zero, 0x1e
/* 395E08 E0098258 AE020048 */ sw $v0, 0x48($s0)
.LE009825C:
/* 395E0C E009825C 2A22000A */ slti $v0, $s1, 0xa
/* 395E10 E0098260 10400009 */ beqz $v0, .LE0098288
/* 395E14 E0098264 00000000 */ nop
/* 395E18 E0098268 3C01E00A */ lui $at, %hi(D_E0098530)
/* 395E1C E009826C D4228530 */ ldc1 $f2, %lo(D_E0098530)($at)
/* 395E20 E0098270 C6000044 */ lwc1 $f0, 0x44($s0)
/* 395E24 E0098274 46800021 */ cvt.d.w $f0, $f0
/* 395E28 E0098278 46220002 */ mul.d $f0, $f0, $f2
/* 395E2C E009827C 00000000 */ nop
/* 395E30 E0098280 4620030D */ trunc.w.d $f12, $f0
/* 395E34 E0098284 E60C0044 */ swc1 $f12, 0x44($s0)
.LE0098288:
/* 395E38 E0098288 8FBF0020 */ lw $ra, 0x20($sp)
/* 395E3C E009828C 8FB1001C */ lw $s1, 0x1c($sp)
/* 395E40 E0098290 8FB00018 */ lw $s0, 0x18($sp)
/* 395E44 E0098294 03E00008 */ jr $ra
/* 395E48 E0098298 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,116 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240340_AE58D0
/* AE58D0 80240340 27BDFFB8 */ addiu $sp, $sp, -0x48
/* AE58D4 80240344 AFB00010 */ sw $s0, 0x10($sp)
/* AE58D8 80240348 0080802D */ daddu $s0, $a0, $zero
/* AE58DC 8024034C AFBF001C */ sw $ra, 0x1c($sp)
/* AE58E0 80240350 AFB20018 */ sw $s2, 0x18($sp)
/* AE58E4 80240354 AFB10014 */ sw $s1, 0x14($sp)
/* AE58E8 80240358 F7BC0040 */ sdc1 $f28, 0x40($sp)
/* AE58EC 8024035C F7BA0038 */ sdc1 $f26, 0x38($sp)
/* AE58F0 80240360 F7B80030 */ sdc1 $f24, 0x30($sp)
/* AE58F4 80240364 F7B60028 */ sdc1 $f22, 0x28($sp)
/* AE58F8 80240368 F7B40020 */ sdc1 $f20, 0x20($sp)
/* AE58FC 8024036C 0C00EAD2 */ jal get_npc_safe
/* AE5900 80240370 2404FFFC */ addiu $a0, $zero, -4
/* AE5904 80240374 3C040DB5 */ lui $a0, 0xdb5
/* AE5908 80240378 34848580 */ ori $a0, $a0, 0x8580
/* AE590C 8024037C C60200A0 */ lwc1 $f2, 0xa0($s0)
/* AE5910 80240380 468010A0 */ cvt.s.w $f2, $f2
/* AE5914 80240384 44061000 */ mfc1 $a2, $f2
/* AE5918 80240388 C60200A4 */ lwc1 $f2, 0xa4($s0)
/* AE591C 8024038C 468010A0 */ cvt.s.w $f2, $f2
/* AE5920 80240390 0040902D */ daddu $s2, $v0, $zero
/* AE5924 80240394 8E03008C */ lw $v1, 0x8c($s0)
/* AE5928 80240398 44071000 */ mfc1 $a3, $f2
/* AE592C 8024039C 3C014248 */ lui $at, 0x4248
/* AE5930 802403A0 4481B000 */ mtc1 $at, $f22
/* AE5934 802403A4 3C01C348 */ lui $at, 0xc348
/* AE5938 802403A8 4481A000 */ mtc1 $at, $f20
/* AE593C 802403AC 3C013A80 */ lui $at, 0x3a80
/* AE5940 802403B0 44810000 */ mtc1 $at, $f0
/* AE5944 802403B4 00641821 */ addu $v1, $v1, $a0
/* AE5948 802403B8 4483C000 */ mtc1 $v1, $f24
/* AE594C 802403BC 00000000 */ nop
/* AE5950 802403C0 4680C620 */ cvt.s.w $f24, $f24
/* AE5954 802403C4 4600B306 */ mov.s $f12, $f22
/* AE5958 802403C8 4600C602 */ mul.s $f24, $f24, $f0
/* AE595C 802403CC 00000000 */ nop
/* AE5960 802403D0 0C00A7B5 */ jal dist2D
/* AE5964 802403D4 4600A386 */ mov.s $f14, $f20
/* AE5968 802403D8 46000706 */ mov.s $f28, $f0
/* AE596C 802403DC 4600B306 */ mov.s $f12, $f22
/* AE5970 802403E0 C60200A0 */ lwc1 $f2, 0xa0($s0)
/* AE5974 802403E4 468010A0 */ cvt.s.w $f2, $f2
/* AE5978 802403E8 44061000 */ mfc1 $a2, $f2
/* AE597C 802403EC C60200A4 */ lwc1 $f2, 0xa4($s0)
/* AE5980 802403F0 468010A0 */ cvt.s.w $f2, $f2
/* AE5984 802403F4 44071000 */ mfc1 $a3, $f2
/* AE5988 802403F8 0C00A720 */ jal atan2
/* AE598C 802403FC 4600A386 */ mov.s $f14, $f20
/* AE5990 80240400 0C00A6C9 */ jal clamp_angle
/* AE5994 80240404 46180301 */ sub.s $f12, $f0, $f24
/* AE5998 80240408 46000686 */ mov.s $f26, $f0
/* AE599C 8024040C 0C00A8BB */ jal sin_deg
/* AE59A0 80240410 4600D306 */ mov.s $f12, $f26
/* AE59A4 80240414 4600E002 */ mul.s $f0, $f28, $f0
/* AE59A8 80240418 00000000 */ nop
/* AE59AC 8024041C 46160000 */ add.s $f0, $f0, $f22
/* AE59B0 80240420 4600D306 */ mov.s $f12, $f26
/* AE59B4 80240424 3C118011 */ lui $s1, %hi(gPlayerStatus)
/* AE59B8 80240428 2631EFC8 */ addiu $s1, $s1, %lo(gPlayerStatus)
/* AE59BC 8024042C 0C00A8D4 */ jal cos_deg
/* AE59C0 80240430 E6200028 */ swc1 $f0, 0x28($s1)
/* AE59C4 80240434 4600E002 */ mul.s $f0, $f28, $f0
/* AE59C8 80240438 00000000 */ nop
/* AE59CC 8024043C 4600A001 */ sub.s $f0, $f20, $f0
/* AE59D0 80240440 4600B306 */ mov.s $f12, $f22
/* AE59D4 80240444 E6200030 */ swc1 $f0, 0x30($s1)
/* AE59D8 80240448 C60200A8 */ lwc1 $f2, 0xa8($s0)
/* AE59DC 8024044C 468010A0 */ cvt.s.w $f2, $f2
/* AE59E0 80240450 44061000 */ mfc1 $a2, $f2
/* AE59E4 80240454 C60200AC */ lwc1 $f2, 0xac($s0)
/* AE59E8 80240458 468010A0 */ cvt.s.w $f2, $f2
/* AE59EC 8024045C 44071000 */ mfc1 $a3, $f2
/* AE59F0 80240460 0C00A7B5 */ jal dist2D
/* AE59F4 80240464 4600A386 */ mov.s $f14, $f20
/* AE59F8 80240468 46000706 */ mov.s $f28, $f0
/* AE59FC 8024046C 4600B306 */ mov.s $f12, $f22
/* AE5A00 80240470 C60200A8 */ lwc1 $f2, 0xa8($s0)
/* AE5A04 80240474 468010A0 */ cvt.s.w $f2, $f2
/* AE5A08 80240478 44061000 */ mfc1 $a2, $f2
/* AE5A0C 8024047C C60200AC */ lwc1 $f2, 0xac($s0)
/* AE5A10 80240480 468010A0 */ cvt.s.w $f2, $f2
/* AE5A14 80240484 44071000 */ mfc1 $a3, $f2
/* AE5A18 80240488 0C00A720 */ jal atan2
/* AE5A1C 8024048C 4600A386 */ mov.s $f14, $f20
/* AE5A20 80240490 0C00A6C9 */ jal clamp_angle
/* AE5A24 80240494 46180301 */ sub.s $f12, $f0, $f24
/* AE5A28 80240498 46000686 */ mov.s $f26, $f0
/* AE5A2C 8024049C 0C00A8BB */ jal sin_deg
/* AE5A30 802404A0 4600D306 */ mov.s $f12, $f26
/* AE5A34 802404A4 4600E002 */ mul.s $f0, $f28, $f0
/* AE5A38 802404A8 00000000 */ nop
/* AE5A3C 802404AC 46160000 */ add.s $f0, $f0, $f22
/* AE5A40 802404B0 4600D306 */ mov.s $f12, $f26
/* AE5A44 802404B4 0C00A8D4 */ jal cos_deg
/* AE5A48 802404B8 E6400038 */ swc1 $f0, 0x38($s2)
/* AE5A4C 802404BC 4600E002 */ mul.s $f0, $f28, $f0
/* AE5A50 802404C0 00000000 */ nop
/* AE5A54 802404C4 4600A501 */ sub.s $f20, $f20, $f0
/* AE5A58 802404C8 E6540040 */ swc1 $f20, 0x40($s2)
/* AE5A5C 802404CC 8FBF001C */ lw $ra, 0x1c($sp)
/* AE5A60 802404D0 8FB20018 */ lw $s2, 0x18($sp)
/* AE5A64 802404D4 8FB10014 */ lw $s1, 0x14($sp)
/* AE5A68 802404D8 8FB00010 */ lw $s0, 0x10($sp)
/* AE5A6C 802404DC D7BC0040 */ ldc1 $f28, 0x40($sp)
/* AE5A70 802404E0 D7BA0038 */ ldc1 $f26, 0x38($sp)
/* AE5A74 802404E4 D7B80030 */ ldc1 $f24, 0x30($sp)
/* AE5A78 802404E8 D7B60028 */ ldc1 $f22, 0x28($sp)
/* AE5A7C 802404EC D7B40020 */ ldc1 $f20, 0x20($sp)
/* AE5A80 802404F0 24020002 */ addiu $v0, $zero, 2
/* AE5A84 802404F4 03E00008 */ jr $ra
/* AE5A88 802404F8 27BD0048 */ addiu $sp, $sp, 0x48
/* AE5A8C 802404FC 00000000 */ nop

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240EF4_AEE304
/* AEE304 80240EF4 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* AEE308 80240EF8 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* AEE30C 80240EFC 9062007E */ lbu $v0, 0x7e($v1)
/* AEE310 80240F00 34420008 */ ori $v0, $v0, 8
/* AEE314 80240F04 A062007E */ sb $v0, 0x7e($v1)
/* AEE318 80240F08 03E00008 */ jr $ra
/* AEE31C 80240F0C 24020002 */ addiu $v0, $zero, 2

View File

@ -1,162 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802402BC_AF1F1C
/* AF1F1C 802402BC 27BDFFC8 */ addiu $sp, $sp, -0x38
/* AF1F20 802402C0 AFB3001C */ sw $s3, 0x1c($sp)
/* AF1F24 802402C4 0080982D */ daddu $s3, $a0, $zero
/* AF1F28 802402C8 AFBF0034 */ sw $ra, 0x34($sp)
/* AF1F2C 802402CC AFBE0030 */ sw $fp, 0x30($sp)
/* AF1F30 802402D0 AFB7002C */ sw $s7, 0x2c($sp)
/* AF1F34 802402D4 AFB60028 */ sw $s6, 0x28($sp)
/* AF1F38 802402D8 AFB50024 */ sw $s5, 0x24($sp)
/* AF1F3C 802402DC AFB40020 */ sw $s4, 0x20($sp)
/* AF1F40 802402E0 AFB20018 */ sw $s2, 0x18($sp)
/* AF1F44 802402E4 AFB10014 */ sw $s1, 0x14($sp)
/* AF1F48 802402E8 10A0004C */ beqz $a1, .L8024041C
/* AF1F4C 802402EC AFB00010 */ sw $s0, 0x10($sp)
/* AF1F50 802402F0 0C00AB39 */ jal heap_malloc
/* AF1F54 802402F4 24040330 */ addiu $a0, $zero, 0x330
/* AF1F58 802402F8 8E630084 */ lw $v1, 0x84($s3)
/* AF1F5C 802402FC 0040A82D */ daddu $s5, $v0, $zero
/* AF1F60 80240300 AE750078 */ sw $s5, 0x78($s3)
/* AF1F64 80240304 0060202D */ daddu $a0, $v1, $zero
/* AF1F68 80240308 14800008 */ bnez $a0, .L8024032C
/* AF1F6C 8024030C AE6300AC */ sw $v1, 0xac($s3)
/* AF1F70 80240310 3C03F840 */ lui $v1, 0xf840
/* AF1F74 80240314 34635D64 */ ori $v1, $v1, 0x5d64
/* AF1F78 80240318 3C02F840 */ lui $v0, 0xf840
/* AF1F7C 8024031C 34425D69 */ ori $v0, $v0, 0x5d69
/* AF1F80 80240320 AE62008C */ sw $v0, 0x8c($s3)
/* AF1F84 80240324 080900D1 */ j .L80240344
/* AF1F88 80240328 2402000C */ addiu $v0, $zero, 0xc
.L8024032C:
/* AF1F8C 8024032C 3C03F840 */ lui $v1, 0xf840
/* AF1F90 80240330 34635D69 */ ori $v1, $v1, 0x5d69
/* AF1F94 80240334 3C02F840 */ lui $v0, 0xf840
/* AF1F98 80240338 34425D6E */ ori $v0, $v0, 0x5d6e
/* AF1F9C 8024033C AE62008C */ sw $v0, 0x8c($s3)
/* AF1FA0 80240340 24020009 */ addiu $v0, $zero, 9
.L80240344:
/* AF1FA4 80240344 AE630088 */ sw $v1, 0x88($s3)
/* AF1FA8 80240348 AEA20318 */ sw $v0, 0x318($s5)
/* AF1FAC 8024034C 0000B02D */ daddu $s6, $zero, $zero
/* AF1FB0 80240350 02C0902D */ daddu $s2, $s6, $zero
/* AF1FB4 80240354 3C1E8009 */ lui $fp, %hi(gItemHudScripts)
/* AF1FB8 80240358 27DEA680 */ addiu $fp, $fp, %lo(gItemHudScripts)
/* AF1FBC 8024035C 24170001 */ addiu $s7, $zero, 1
/* AF1FC0 80240360 3C148024 */ lui $s4, %hi(D_8024092C_AF258C)
/* AF1FC4 80240364 2694092C */ addiu $s4, $s4, %lo(D_8024092C_AF258C)
/* AF1FC8 80240368 02A0882D */ daddu $s1, $s5, $zero
.L8024036C:
/* AF1FCC 8024036C 8E650088 */ lw $a1, 0x88($s3)
/* AF1FD0 80240370 0000202D */ daddu $a0, $zero, $zero
/* AF1FD4 80240374 0C0B1EAF */ jal evt_get_variable
/* AF1FD8 80240378 00B22821 */ addu $a1, $a1, $s2
/* AF1FDC 8024037C 0000202D */ daddu $a0, $zero, $zero
/* AF1FE0 80240380 8E65008C */ lw $a1, 0x8c($s3)
/* AF1FE4 80240384 0040802D */ daddu $s0, $v0, $zero
/* AF1FE8 80240388 0C0B1EAF */ jal evt_get_variable
/* AF1FEC 8024038C 00B22821 */ addu $a1, $a1, $s2
/* AF1FF0 80240390 52000016 */ beql $s0, $zero, .L802403EC
/* AF1FF4 80240394 26520001 */ addiu $s2, $s2, 1
/* AF1FF8 80240398 54400014 */ bnel $v0, $zero, .L802403EC
/* AF1FFC 8024039C 26520001 */ addiu $s2, $s2, 1
/* AF2000 802403A0 8E830000 */ lw $v1, ($s4)
/* AF2004 802403A4 3C078008 */ lui $a3, %hi(gItemTable)
/* AF2008 802403A8 24E778E0 */ addiu $a3, $a3, %lo(gItemTable)
/* AF200C 802403AC 00031940 */ sll $v1, $v1, 5
/* AF2010 802403B0 00671821 */ addu $v1, $v1, $a3
/* AF2014 802403B4 84620004 */ lh $v0, 4($v1)
/* AF2018 802403B8 000210C0 */ sll $v0, $v0, 3
/* AF201C 802403BC 005E1021 */ addu $v0, $v0, $fp
/* AF2020 802403C0 8C420000 */ lw $v0, ($v0)
/* AF2024 802403C4 AE320108 */ sw $s2, 0x108($s1)
/* AF2028 802403C8 AE37018C */ sw $s7, 0x18c($s1)
/* AF202C 802403CC AE220000 */ sw $v0, ($s1)
/* AF2030 802403D0 8C620000 */ lw $v0, ($v1)
/* AF2034 802403D4 AE220084 */ sw $v0, 0x84($s1)
/* AF2038 802403D8 8C620014 */ lw $v0, 0x14($v1)
/* AF203C 802403DC 26D60001 */ addiu $s6, $s6, 1
/* AF2040 802403E0 AE220294 */ sw $v0, 0x294($s1)
/* AF2044 802403E4 26310004 */ addiu $s1, $s1, 4
/* AF2048 802403E8 26520001 */ addiu $s2, $s2, 1
.L802403EC:
/* AF204C 802403EC 2A420005 */ slti $v0, $s2, 5
/* AF2050 802403F0 1440FFDE */ bnez $v0, .L8024036C
/* AF2054 802403F4 26940004 */ addiu $s4, $s4, 4
/* AF2058 802403F8 16C00004 */ bnez $s6, .L8024040C
/* AF205C 802403FC 02A0202D */ daddu $a0, $s5, $zero
/* AF2060 80240400 AE600084 */ sw $zero, 0x84($s3)
/* AF2064 80240404 08090134 */ j .L802404D0
/* AF2068 80240408 24020001 */ addiu $v0, $zero, 1
.L8024040C:
/* AF206C 8024040C AC960324 */ sw $s6, 0x324($a0)
/* AF2070 80240410 0C03D390 */ jal create_popup_menu
/* AF2074 80240414 AC800328 */ sw $zero, 0x328($a0)
/* AF2078 80240418 AE600070 */ sw $zero, 0x70($s3)
.L8024041C:
/* AF207C 8024041C 8E620070 */ lw $v0, 0x70($s3)
/* AF2080 80240420 8E750078 */ lw $s5, 0x78($s3)
/* AF2084 80240424 14400008 */ bnez $v0, .L80240448
/* AF2088 80240428 24420001 */ addiu $v0, $v0, 1
/* AF208C 8024042C 86A2032C */ lh $v0, 0x32c($s5)
/* AF2090 80240430 10400009 */ beqz $v0, .L80240458
/* AF2094 80240434 AE620074 */ sw $v0, 0x74($s3)
/* AF2098 80240438 0C03C4EC */ jal hide_popup_menu
/* AF209C 8024043C 00000000 */ nop
/* AF20A0 80240440 8E620070 */ lw $v0, 0x70($s3)
/* AF20A4 80240444 24420001 */ addiu $v0, $v0, 1
.L80240448:
/* AF20A8 80240448 AE620070 */ sw $v0, 0x70($s3)
/* AF20AC 8024044C 2842000F */ slti $v0, $v0, 0xf
/* AF20B0 80240450 10400003 */ beqz $v0, .L80240460
/* AF20B4 80240454 00000000 */ nop
.L80240458:
/* AF20B8 80240458 08090134 */ j .L802404D0
/* AF20BC 8024045C 0000102D */ daddu $v0, $zero, $zero
.L80240460:
/* AF20C0 80240460 0C03C54E */ jal destroy_popup_menu
/* AF20C4 80240464 00000000 */ nop
/* AF20C8 80240468 8E630074 */ lw $v1, 0x74($s3)
/* AF20CC 8024046C 240200FF */ addiu $v0, $zero, 0xff
/* AF20D0 80240470 14620004 */ bne $v1, $v0, .L80240484
/* AF20D4 80240474 2462FFFF */ addiu $v0, $v1, -1
/* AF20D8 80240478 2402FFFF */ addiu $v0, $zero, -1
/* AF20DC 8024047C 08090133 */ j .L802404CC
/* AF20E0 80240480 AE620084 */ sw $v0, 0x84($s3)
.L80240484:
/* AF20E4 80240484 00021080 */ sll $v0, $v0, 2
/* AF20E8 80240488 02A21021 */ addu $v0, $s5, $v0
/* AF20EC 8024048C 8C460108 */ lw $a2, 0x108($v0)
/* AF20F0 80240490 8E6300AC */ lw $v1, 0xac($s3)
/* AF20F4 80240494 00061080 */ sll $v0, $a2, 2
/* AF20F8 80240498 3C018024 */ lui $at, %hi(D_8024092C_AF258C)
/* AF20FC 8024049C 00220821 */ addu $at, $at, $v0
/* AF2100 802404A0 8C22092C */ lw $v0, %lo(D_8024092C_AF258C)($at)
/* AF2104 802404A4 14600006 */ bnez $v1, .L802404C0
/* AF2108 802404A8 AE620084 */ sw $v0, 0x84($s3)
/* AF210C 802404AC 8E65008C */ lw $a1, 0x8c($s3)
/* AF2110 802404B0 0000202D */ daddu $a0, $zero, $zero
/* AF2114 802404B4 00A62821 */ addu $a1, $a1, $a2
/* AF2118 802404B8 0C0B2026 */ jal evt_set_variable
/* AF211C 802404BC 24060001 */ addiu $a2, $zero, 1
.L802404C0:
/* AF2120 802404C0 8E640078 */ lw $a0, 0x78($s3)
/* AF2124 802404C4 0C00AB4B */ jal heap_free
/* AF2128 802404C8 00000000 */ nop
.L802404CC:
/* AF212C 802404CC 24020002 */ addiu $v0, $zero, 2
.L802404D0:
/* AF2130 802404D0 8FBF0034 */ lw $ra, 0x34($sp)
/* AF2134 802404D4 8FBE0030 */ lw $fp, 0x30($sp)
/* AF2138 802404D8 8FB7002C */ lw $s7, 0x2c($sp)
/* AF213C 802404DC 8FB60028 */ lw $s6, 0x28($sp)
/* AF2140 802404E0 8FB50024 */ lw $s5, 0x24($sp)
/* AF2144 802404E4 8FB40020 */ lw $s4, 0x20($sp)
/* AF2148 802404E8 8FB3001C */ lw $s3, 0x1c($sp)
/* AF214C 802404EC 8FB20018 */ lw $s2, 0x18($sp)
/* AF2150 802404F0 8FB10014 */ lw $s1, 0x14($sp)
/* AF2154 802404F4 8FB00010 */ lw $s0, 0x10($sp)
/* AF2158 802404F8 03E00008 */ jr $ra
/* AF215C 802404FC 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,17 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024030C_AF2FAC
/* AF2FAC 8024030C 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* AF2FB0 80240310 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* AF2FB4 80240314 9043007E */ lbu $v1, 0x7e($v0)
/* AF2FB8 80240318 306300FE */ andi $v1, $v1, 0xfe
/* AF2FBC 8024031C A043007E */ sb $v1, 0x7e($v0)
/* AF2FC0 80240320 90820087 */ lbu $v0, 0x87($a0)
/* AF2FC4 80240324 3C018011 */ lui $at, %hi(gPlayerData+0x12)
/* AF2FC8 80240328 A022F2A2 */ sb $v0, %lo(gPlayerData+0x12)($at)
/* AF2FCC 8024032C 03E00008 */ jr $ra
/* AF2FD0 80240330 24020002 */ addiu $v0, $zero, 2
/* AF2FD4 80240334 00000000 */ nop
/* AF2FD8 80240338 00000000 */ nop
/* AF2FDC 8024033C 00000000 */ nop

View File

@ -1,50 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802401FC_AF7B4C
/* AF7B4C 802401FC 27BDFFD8 */ addiu $sp, $sp, -0x28
/* AF7B50 80240200 3C048024 */ lui $a0, %hi(func_80240068_AF79B8)
/* AF7B54 80240204 24840068 */ addiu $a0, $a0, %lo(func_80240068_AF79B8)
/* AF7B58 80240208 AFBF0024 */ sw $ra, 0x24($sp)
/* AF7B5C 8024020C AFB20020 */ sw $s2, 0x20($sp)
/* AF7B60 80240210 AFB1001C */ sw $s1, 0x1c($sp)
/* AF7B64 80240214 AFB00018 */ sw $s0, 0x18($sp)
/* AF7B68 80240218 3C018024 */ lui $at, %hi(D_80240E88_AF87D8)
/* AF7B6C 8024021C AC200E88 */ sw $zero, %lo(D_80240E88_AF87D8)($at)
/* AF7B70 80240220 3C018024 */ lui $at, %hi(D_80240E8C_AF87DC)
/* AF7B74 80240224 AC200E8C */ sw $zero, %lo(D_80240E8C_AF87DC)($at)
/* AF7B78 80240228 3C018024 */ lui $at, %hi(D_80240E90_AF87E0)
/* AF7B7C 8024022C AC200E90 */ sw $zero, %lo(D_80240E90_AF87E0)($at)
/* AF7B80 80240230 0C048C8F */ jal create_generic_entity_frontUI
/* AF7B84 80240234 0000282D */ daddu $a1, $zero, $zero
/* AF7B88 80240238 0C048D8F */ jal get_generic_entity
/* AF7B8C 8024023C 0040202D */ daddu $a0, $v0, $zero
/* AF7B90 80240240 3C048024 */ lui $a0, %hi(D_80240EF0_AF8840)
/* AF7B94 80240244 24840EF0 */ addiu $a0, $a0, %lo(D_80240EF0_AF8840)
/* AF7B98 80240248 0C051FCC */ jal setup_pause_menu_tab
/* AF7B9C 8024024C 24050002 */ addiu $a1, $zero, 2
/* AF7BA0 80240250 0000802D */ daddu $s0, $zero, $zero
/* AF7BA4 80240254 24120003 */ addiu $s2, $zero, 3
/* AF7BA8 80240258 3C118024 */ lui $s1, %hi(D_80240E10_AF8760)
/* AF7BAC 8024025C 26310E10 */ addiu $s1, $s1, %lo(D_80240E10_AF8760)
.L80240260:
/* AF7BB0 80240260 3C048024 */ lui $a0, %hi(D_80240E94_AF87E4)
/* AF7BB4 80240264 24840E94 */ addiu $a0, $a0, %lo(D_80240E94_AF87E4)
/* AF7BB8 80240268 24050080 */ addiu $a1, $zero, 0x80
/* AF7BBC 8024026C AFA00010 */ sw $zero, 0x10($sp)
/* AF7BC0 80240270 AFB20014 */ sw $s2, 0x14($sp)
/* AF7BC4 80240274 8E260004 */ lw $a2, 4($s1)
/* AF7BC8 80240278 2631000C */ addiu $s1, $s1, 0xc
/* AF7BCC 8024027C 0200382D */ daddu $a3, $s0, $zero
/* AF7BD0 80240280 0C0B10AA */ jal bind_trigger_1
/* AF7BD4 80240284 26100001 */ addiu $s0, $s0, 1
/* AF7BD8 80240288 2A02000A */ slti $v0, $s0, 0xa
/* AF7BDC 8024028C 1440FFF4 */ bnez $v0, .L80240260
/* AF7BE0 80240290 24020002 */ addiu $v0, $zero, 2
/* AF7BE4 80240294 8FBF0024 */ lw $ra, 0x24($sp)
/* AF7BE8 80240298 8FB20020 */ lw $s2, 0x20($sp)
/* AF7BEC 8024029C 8FB1001C */ lw $s1, 0x1c($sp)
/* AF7BF0 802402A0 8FB00018 */ lw $s0, 0x18($sp)
/* AF7BF4 802402A4 03E00008 */ jr $ra
/* AF7BF8 802402A8 27BD0028 */ addiu $sp, $sp, 0x28
/* AF7BFC 802402AC 00000000 */ nop

View File

@ -1,14 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240020_B028A0
/* B028A0 80240020 3C028007 */ lui $v0, %hi(gGameStatusPtr)
/* B028A4 80240024 8C42419C */ lw $v0, %lo(gGameStatusPtr)($v0)
/* B028A8 80240028 9043007E */ lbu $v1, 0x7e($v0)
/* B028AC 8024002C 306300FE */ andi $v1, $v1, 0xfe
/* B028B0 80240030 A043007E */ sb $v1, 0x7e($v0)
/* B028B4 80240034 90820087 */ lbu $v0, 0x87($a0)
/* B028B8 80240038 3C018011 */ lui $at, %hi(gPlayerData+0x12)
/* B028BC 8024003C A022F2A2 */ sb $v0, %lo(gPlayerData+0x12)($at)
/* B028C0 80240040 03E00008 */ jr $ra
/* B028C4 80240044 24020002 */ addiu $v0, $zero, 2

View File

@ -1,18 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240048_B028C8
/* B028C8 80240048 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B028CC 8024004C AFBF0010 */ sw $ra, 0x10($sp)
/* B028D0 80240050 8C82000C */ lw $v0, 0xc($a0)
/* B028D4 80240054 0C0B210B */ jal evt_get_float_variable
/* B028D8 80240058 8C450000 */ lw $a1, ($v0)
/* B028DC 8024005C 8FBF0010 */ lw $ra, 0x10($sp)
/* B028E0 80240060 4600008D */ trunc.w.s $f2, $f0
/* B028E4 80240064 44021000 */ mfc1 $v0, $f2
/* B028E8 80240068 00000000 */ nop
/* B028EC 8024006C 3C018011 */ lui $at, %hi(gPlayerStatus+0xD)
/* B028F0 80240070 A022EFD5 */ sb $v0, %lo(gPlayerStatus+0xD)($at)
/* B028F4 80240074 24020002 */ addiu $v0, $zero, 2
/* B028F8 80240078 03E00008 */ jr $ra
/* B028FC 8024007C 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,28 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240080_B02900
/* B02900 80240080 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B02904 80240084 AFB00018 */ sw $s0, 0x18($sp)
/* B02908 80240088 0080802D */ daddu $s0, $a0, $zero
/* B0290C 8024008C AFBF001C */ sw $ra, 0x1c($sp)
/* B02910 80240090 F7B40020 */ sdc1 $f20, 0x20($sp)
/* B02914 80240094 0C00EAD2 */ jal get_npc_safe
/* B02918 80240098 24040001 */ addiu $a0, $zero, 1
/* B0291C 8024009C 2404023D */ addiu $a0, $zero, 0x23d
/* B02920 802400A0 C4420038 */ lwc1 $f2, 0x38($v0)
/* B02924 802400A4 C454003C */ lwc1 $f20, 0x3c($v0)
/* B02928 802400A8 C4400040 */ lwc1 $f0, 0x40($v0)
/* B0292C 802400AC 44061000 */ mfc1 $a2, $f2
/* B02930 802400B0 4407A000 */ mfc1 $a3, $f20
/* B02934 802400B4 0000282D */ daddu $a1, $zero, $zero
/* B02938 802400B8 0C05267B */ jal sfx_adjust_env_sound_pos
/* B0293C 802400BC E7A00010 */ swc1 $f0, 0x10($sp)
/* B02940 802400C0 4600A10D */ trunc.w.s $f4, $f20
/* B02944 802400C4 E6040084 */ swc1 $f4, 0x84($s0)
/* B02948 802400C8 8FBF001C */ lw $ra, 0x1c($sp)
/* B0294C 802400CC 8FB00018 */ lw $s0, 0x18($sp)
/* B02950 802400D0 D7B40020 */ ldc1 $f20, 0x20($sp)
/* B02954 802400D4 24020002 */ addiu $v0, $zero, 2
/* B02958 802400D8 03E00008 */ jr $ra
/* B0295C 802400DC 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,11 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240784_B03004
/* B03004 80240784 3C038007 */ lui $v1, %hi(gGameStatusPtr)
/* B03008 80240788 8C63419C */ lw $v1, %lo(gGameStatusPtr)($v1)
/* B0300C 8024078C 9062007E */ lbu $v0, 0x7e($v1)
/* B03010 80240790 34420008 */ ori $v0, $v0, 8
/* B03014 80240794 A062007E */ sb $v0, 0x7e($v1)
/* B03018 80240798 03E00008 */ jr $ra
/* B0301C 8024079C 24020002 */ addiu $v0, $zero, 2

View File

@ -1,43 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240910_B03190
/* B03190 80240910 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B03194 80240914 AFB10014 */ sw $s1, 0x14($sp)
/* B03198 80240918 0080882D */ daddu $s1, $a0, $zero
/* B0319C 8024091C AFBF0020 */ sw $ra, 0x20($sp)
/* B031A0 80240920 AFB3001C */ sw $s3, 0x1c($sp)
/* B031A4 80240924 AFB20018 */ sw $s2, 0x18($sp)
/* B031A8 80240928 AFB00010 */ sw $s0, 0x10($sp)
/* B031AC 8024092C 8E30000C */ lw $s0, 0xc($s1)
/* B031B0 80240930 8E050000 */ lw $a1, ($s0)
/* B031B4 80240934 0C0B1EAF */ jal evt_get_variable
/* B031B8 80240938 26100004 */ addiu $s0, $s0, 4
/* B031BC 8024093C 8E050000 */ lw $a1, ($s0)
/* B031C0 80240940 26100004 */ addiu $s0, $s0, 4
/* B031C4 80240944 0220202D */ daddu $a0, $s1, $zero
/* B031C8 80240948 0C0B1EAF */ jal evt_get_variable
/* B031CC 8024094C 0040902D */ daddu $s2, $v0, $zero
/* B031D0 80240950 8E050000 */ lw $a1, ($s0)
/* B031D4 80240954 26100004 */ addiu $s0, $s0, 4
/* B031D8 80240958 0220202D */ daddu $a0, $s1, $zero
/* B031DC 8024095C 0C0B1EAF */ jal evt_get_variable
/* B031E0 80240960 0040982D */ daddu $s3, $v0, $zero
/* B031E4 80240964 0220202D */ daddu $a0, $s1, $zero
/* B031E8 80240968 8E050000 */ lw $a1, ($s0)
/* B031EC 8024096C 0C0B1EAF */ jal evt_get_variable
/* B031F0 80240970 0040802D */ daddu $s0, $v0, $zero
/* B031F4 80240974 8E43000C */ lw $v1, 0xc($s2)
/* B031F8 80240978 AC730030 */ sw $s3, 0x30($v1)
/* B031FC 8024097C 8E43000C */ lw $v1, 0xc($s2)
/* B03200 80240980 AC700034 */ sw $s0, 0x34($v1)
/* B03204 80240984 8E43000C */ lw $v1, 0xc($s2)
/* B03208 80240988 AC620038 */ sw $v0, 0x38($v1)
/* B0320C 8024098C 8FBF0020 */ lw $ra, 0x20($sp)
/* B03210 80240990 8FB3001C */ lw $s3, 0x1c($sp)
/* B03214 80240994 8FB20018 */ lw $s2, 0x18($sp)
/* B03218 80240998 8FB10014 */ lw $s1, 0x14($sp)
/* B0321C 8024099C 8FB00010 */ lw $s0, 0x10($sp)
/* B03220 802409A0 24020002 */ addiu $v0, $zero, 2
/* B03224 802409A4 03E00008 */ jr $ra
/* B03228 802409A8 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,13 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_802409AC_B0322C
/* B0322C 802409AC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B03230 802409B0 AFBF0010 */ sw $ra, 0x10($sp)
/* B03234 802409B4 0C0398E9 */ jal func_800E63A4
/* B03238 802409B8 0000202D */ daddu $a0, $zero, $zero
/* B0323C 802409BC 8FBF0010 */ lw $ra, 0x10($sp)
/* B03240 802409C0 24020002 */ addiu $v0, $zero, 2
/* B03244 802409C4 03E00008 */ jr $ra
/* B03248 802409C8 27BD0018 */ addiu $sp, $sp, 0x18
/* B0324C 802409CC 00000000 */ nop

View File

@ -1,52 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240BA0_B075A0
/* B075A0 80240BA0 27BDFFD8 */ addiu $sp, $sp, -0x28
/* B075A4 80240BA4 AFB10014 */ sw $s1, 0x14($sp)
/* B075A8 80240BA8 0080882D */ daddu $s1, $a0, $zero
/* B075AC 80240BAC AFBF0020 */ sw $ra, 0x20($sp)
/* B075B0 80240BB0 AFB3001C */ sw $s3, 0x1c($sp)
/* B075B4 80240BB4 AFB20018 */ sw $s2, 0x18($sp)
/* B075B8 80240BB8 AFB00010 */ sw $s0, 0x10($sp)
/* B075BC 80240BBC 8E30000C */ lw $s0, 0xc($s1)
/* B075C0 80240BC0 8E050000 */ lw $a1, ($s0)
/* B075C4 80240BC4 0C0B1EAF */ jal evt_get_variable
/* B075C8 80240BC8 26100004 */ addiu $s0, $s0, 4
/* B075CC 80240BCC 8E050000 */ lw $a1, ($s0)
/* B075D0 80240BD0 26100004 */ addiu $s0, $s0, 4
/* B075D4 80240BD4 0220202D */ daddu $a0, $s1, $zero
/* B075D8 80240BD8 0C0B1EAF */ jal evt_get_variable
/* B075DC 80240BDC 0040902D */ daddu $s2, $v0, $zero
/* B075E0 80240BE0 8E050000 */ lw $a1, ($s0)
/* B075E4 80240BE4 26100004 */ addiu $s0, $s0, 4
/* B075E8 80240BE8 0220202D */ daddu $a0, $s1, $zero
/* B075EC 80240BEC 0C0B1EAF */ jal evt_get_variable
/* B075F0 80240BF0 0040982D */ daddu $s3, $v0, $zero
/* B075F4 80240BF4 0220202D */ daddu $a0, $s1, $zero
/* B075F8 80240BF8 8E050000 */ lw $a1, ($s0)
/* B075FC 80240BFC 0C0B1EAF */ jal evt_get_variable
/* B07600 80240C00 0040802D */ daddu $s0, $v0, $zero
/* B07604 80240C04 8E43000C */ lw $v1, 0xc($s2)
/* B07608 80240C08 44930000 */ mtc1 $s3, $f0
/* B0760C 80240C0C 00000000 */ nop
/* B07610 80240C10 46800020 */ cvt.s.w $f0, $f0
/* B07614 80240C14 E4600004 */ swc1 $f0, 4($v1)
/* B07618 80240C18 8E43000C */ lw $v1, 0xc($s2)
/* B0761C 80240C1C 44900000 */ mtc1 $s0, $f0
/* B07620 80240C20 00000000 */ nop
/* B07624 80240C24 46800020 */ cvt.s.w $f0, $f0
/* B07628 80240C28 E4600008 */ swc1 $f0, 8($v1)
/* B0762C 80240C2C 8E43000C */ lw $v1, 0xc($s2)
/* B07630 80240C30 44820000 */ mtc1 $v0, $f0
/* B07634 80240C34 00000000 */ nop
/* B07638 80240C38 46800020 */ cvt.s.w $f0, $f0
/* B0763C 80240C3C E460000C */ swc1 $f0, 0xc($v1)
/* B07640 80240C40 8FBF0020 */ lw $ra, 0x20($sp)
/* B07644 80240C44 8FB3001C */ lw $s3, 0x1c($sp)
/* B07648 80240C48 8FB20018 */ lw $s2, 0x18($sp)
/* B0764C 80240C4C 8FB10014 */ lw $s1, 0x14($sp)
/* B07650 80240C50 8FB00010 */ lw $s0, 0x10($sp)
/* B07654 80240C54 24020002 */ addiu $v0, $zero, 2
/* B07658 80240C58 03E00008 */ jr $ra
/* B0765C 80240C5C 27BD0028 */ addiu $sp, $sp, 0x28

View File

@ -1,71 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240310_B14080
/* B14080 80240310 27BDFFC8 */ addiu $sp, $sp, -0x38
/* B14084 80240314 AFB00010 */ sw $s0, 0x10($sp)
/* B14088 80240318 0080802D */ daddu $s0, $a0, $zero
/* B1408C 8024031C 3C030DB5 */ lui $v1, 0xdb5
/* B14090 80240320 34638580 */ ori $v1, $v1, 0x8580
/* B14094 80240324 AFBF0014 */ sw $ra, 0x14($sp)
/* B14098 80240328 F7BA0030 */ sdc1 $f26, 0x30($sp)
/* B1409C 8024032C F7B80028 */ sdc1 $f24, 0x28($sp)
/* B140A0 80240330 F7B60020 */ sdc1 $f22, 0x20($sp)
/* B140A4 80240334 F7B40018 */ sdc1 $f20, 0x18($sp)
/* B140A8 80240338 C60200A8 */ lwc1 $f2, 0xa8($s0)
/* B140AC 8024033C 468010A0 */ cvt.s.w $f2, $f2
/* B140B0 80240340 44061000 */ mfc1 $a2, $f2
/* B140B4 80240344 C60200AC */ lwc1 $f2, 0xac($s0)
/* B140B8 80240348 468010A0 */ cvt.s.w $f2, $f2
/* B140BC 8024034C 8E02008C */ lw $v0, 0x8c($s0)
/* B140C0 80240350 44071000 */ mfc1 $a3, $f2
/* B140C4 80240354 3C01C37A */ lui $at, 0xc37a
/* B140C8 80240358 4481D000 */ mtc1 $at, $f26
/* B140CC 8024035C 4480C000 */ mtc1 $zero, $f24
/* B140D0 80240360 3C013A80 */ lui $at, 0x3a80
/* B140D4 80240364 44810000 */ mtc1 $at, $f0
/* B140D8 80240368 00431021 */ addu $v0, $v0, $v1
/* B140DC 8024036C 4482A000 */ mtc1 $v0, $f20
/* B140E0 80240370 00000000 */ nop
/* B140E4 80240374 4680A520 */ cvt.s.w $f20, $f20
/* B140E8 80240378 4600D306 */ mov.s $f12, $f26
/* B140EC 8024037C 4600A502 */ mul.s $f20, $f20, $f0
/* B140F0 80240380 00000000 */ nop
/* B140F4 80240384 0C00A7B5 */ jal dist2D
/* B140F8 80240388 4600C386 */ mov.s $f14, $f24
/* B140FC 8024038C 4600D306 */ mov.s $f12, $f26
/* B14100 80240390 4600C386 */ mov.s $f14, $f24
/* B14104 80240394 C60200A8 */ lwc1 $f2, 0xa8($s0)
/* B14108 80240398 468010A0 */ cvt.s.w $f2, $f2
/* B1410C 8024039C 44061000 */ mfc1 $a2, $f2
/* B14110 802403A0 C60200AC */ lwc1 $f2, 0xac($s0)
/* B14114 802403A4 468010A0 */ cvt.s.w $f2, $f2
/* B14118 802403A8 44071000 */ mfc1 $a3, $f2
/* B1411C 802403AC 0C00A720 */ jal atan2
/* B14120 802403B0 46000586 */ mov.s $f22, $f0
/* B14124 802403B4 0C00A6C9 */ jal clamp_angle
/* B14128 802403B8 46140301 */ sub.s $f12, $f0, $f20
/* B1412C 802403BC 46000506 */ mov.s $f20, $f0
/* B14130 802403C0 0C00A8BB */ jal sin_deg
/* B14134 802403C4 4600A306 */ mov.s $f12, $f20
/* B14138 802403C8 4600B002 */ mul.s $f0, $f22, $f0
/* B1413C 802403CC 00000000 */ nop
/* B14140 802403D0 461A0000 */ add.s $f0, $f0, $f26
/* B14144 802403D4 4600A306 */ mov.s $f12, $f20
/* B14148 802403D8 3C108011 */ lui $s0, %hi(gPlayerStatus)
/* B1414C 802403DC 2610EFC8 */ addiu $s0, $s0, %lo(gPlayerStatus)
/* B14150 802403E0 0C00A8D4 */ jal cos_deg
/* B14154 802403E4 E6000028 */ swc1 $f0, 0x28($s0)
/* B14158 802403E8 4600B582 */ mul.s $f22, $f22, $f0
/* B1415C 802403EC 00000000 */ nop
/* B14160 802403F0 4616C601 */ sub.s $f24, $f24, $f22
/* B14164 802403F4 E6180030 */ swc1 $f24, 0x30($s0)
/* B14168 802403F8 8FBF0014 */ lw $ra, 0x14($sp)
/* B1416C 802403FC 8FB00010 */ lw $s0, 0x10($sp)
/* B14170 80240400 D7BA0030 */ ldc1 $f26, 0x30($sp)
/* B14174 80240404 D7B80028 */ ldc1 $f24, 0x28($sp)
/* B14178 80240408 D7B60020 */ ldc1 $f22, 0x20($sp)
/* B1417C 8024040C D7B40018 */ ldc1 $f20, 0x18($sp)
/* B14180 80240410 24020002 */ addiu $v0, $zero, 2
/* B14184 80240414 03E00008 */ jr $ra
/* B14188 80240418 27BD0038 */ addiu $sp, $sp, 0x38

View File

@ -1,15 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_8024041C_B1418C
/* B1418C 8024041C 27BDFFE8 */ addiu $sp, $sp, -0x18
/* B14190 80240420 AFBF0010 */ sw $ra, 0x10($sp)
/* B14194 80240424 8C82000C */ lw $v0, 0xc($a0)
/* B14198 80240428 0C0B1EAF */ jal evt_get_variable
/* B1419C 8024042C 8C450000 */ lw $a1, ($v0)
/* B141A0 80240430 8FBF0010 */ lw $ra, 0x10($sp)
/* B141A4 80240434 3C018024 */ lui $at, %hi(D_80240B00_B14870)
/* B141A8 80240438 AC220B00 */ sw $v0, %lo(D_80240B00_B14870)($at)
/* B141AC 8024043C 24020002 */ addiu $v0, $zero, 2
/* B141B0 80240440 03E00008 */ jr $ra
/* B141B4 80240444 27BD0018 */ addiu $sp, $sp, 0x18

View File

@ -1,27 +0,0 @@
.set noat # allow manual use of $at
.set noreorder # don't insert nops after branches
glabel func_80240448_B141B8
/* B141B8 80240448 3C068024 */ lui $a2, %hi(D_80240B00_B14870)
/* B141BC 8024044C 8CC60B00 */ lw $a2, %lo(D_80240B00_B14870)($a2)
/* B141C0 80240450 18C00011 */ blez $a2, .L80240498
/* B141C4 80240454 3C02FC12 */ lui $v0, 0xfc12
/* B141C8 80240458 3C04800A */ lui $a0, %hi(gMasterGfxPos)
/* B141CC 8024045C 2484A66C */ addiu $a0, $a0, %lo(gMasterGfxPos)
/* B141D0 80240460 8C830000 */ lw $v1, ($a0)
/* B141D4 80240464 34427E24 */ ori $v0, $v0, 0x7e24
/* B141D8 80240468 0060282D */ daddu $a1, $v1, $zero
/* B141DC 8024046C 24630008 */ addiu $v1, $v1, 8
/* B141E0 80240470 AC830000 */ sw $v1, ($a0)
/* B141E4 80240474 ACA20000 */ sw $v0, ($a1)
/* B141E8 80240478 2402F7FB */ addiu $v0, $zero, -0x805
/* B141EC 8024047C ACA20004 */ sw $v0, 4($a1)
/* B141F0 80240480 24620008 */ addiu $v0, $v1, 8
/* B141F4 80240484 AC820000 */ sw $v0, ($a0)
/* B141F8 80240488 3C02FA00 */ lui $v0, 0xfa00
/* B141FC 8024048C AC620000 */ sw $v0, ($v1)
/* B14200 80240490 30C200FF */ andi $v0, $a2, 0xff
/* B14204 80240494 AC620004 */ sw $v0, 4($v1)
.L80240498:
/* B14208 80240498 03E00008 */ jr $ra
/* B1420C 8024049C 00000000 */ nop